From 5058e68789af72c9b44566695b373abe3dba81d6 Mon Sep 17 00:00:00 2001 From: fzaninotto Date: Tue, 2 Jul 2024 11:01:20 +0200 Subject: [PATCH] update to v5.0.3 --- assets/DealList-BjMDZCR4.js | 75 ++++ assets/DealList-BjMDZCR4.js.map | 1 + assets/DealList-Y3-0NLEV.js | 75 ---- assets/DealList-Y3-0NLEV.js.map | 1 - assets/index-43HxY5vD.js | 324 ------------------ assets/index-Db7Ww11U.js | 314 +++++++++++++++++ ...-43HxY5vD.js.map => index-Db7Ww11U.js.map} | 2 +- assets/web-vitals-OEzE0HkN.js | 2 - assets/web-vitals-OEzE0HkN.js.map | 1 - index.html | 2 +- 10 files changed, 392 insertions(+), 405 deletions(-) create mode 100644 assets/DealList-BjMDZCR4.js create mode 100644 assets/DealList-BjMDZCR4.js.map delete mode 100644 assets/DealList-Y3-0NLEV.js delete mode 100644 assets/DealList-Y3-0NLEV.js.map delete mode 100644 assets/index-43HxY5vD.js create mode 100644 assets/index-Db7Ww11U.js rename assets/{index-43HxY5vD.js.map => index-Db7Ww11U.js.map} (50%) delete mode 100644 assets/web-vitals-OEzE0HkN.js delete mode 100644 assets/web-vitals-OEzE0HkN.js.map diff --git a/assets/DealList-BjMDZCR4.js b/assets/DealList-BjMDZCR4.js new file mode 100644 index 0000000..3d8be51 --- /dev/null +++ b/assets/DealList-BjMDZCR4.js @@ -0,0 +1,75 @@ +var yo=Object.defineProperty;var o=(e,t)=>yo(e,"name",{value:t,configurable:!0});import{u as xo,r as I,j as v,T as Do,c as Io,I as So,F as wo,s as Co,a as Eo,b as Ao,d as Po,e as Xn,f as Dt,g as Ro,S as Oo,C as Bo,h as No,_ as Qn,i as de,R as P,k as dn,l as To,m as Tt,n as Lo,o as Lt,B as L,p as Mo,q as It,L as Fo,t as V,v as Zn,w as Mt,x as er,y as un,z as Go,A as $o,D as jo,E as Wo,G as Ft,H as tr,J as _o,K as Uo,M as Vo,N as ko,O as St,P as Ho,Q as qo,U as zo,V as Yo,W as Ko,X as Jo,Y as Xo,Z as Qo,$ as Zo,a0 as ei,a1 as ti,a2 as ni,a3 as ri,a4 as oi,a5 as ii,a6 as si,a7 as ai,a8 as pn,a9 as li,aa as ci,ab as di,ac as ui,ad as pi}from"./index-Db7Ww11U.js";function Ee(e){"@babel/helpers - typeof";return Ee=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ee(e)}o(Ee,"_typeof");function fi(e,t){if(Ee(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||"default");if(Ee(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}o(fi,"toPrimitive");function gi(e){var t=fi(e,"string");return Ee(t)=="symbol"?t:t+""}o(gi,"toPropertyKey");const mi=o(({className:e,defaultValue:t=null,format:n=hi,helperText:r,label:i,margin:s,onChange:a,onBlur:l,onFocus:c,parse:p,resource:f,source:u,step:d="any",min:g,max:m,validate:h,variant:b,inputProps:x,disabled:D,readOnly:w,...S})=>{const{field:A,fieldState:{error:E,invalid:O},id:T,isRequired:M}=xo({defaultValue:t,onBlur:l,resource:f,source:u,validate:h,disabled:D,readOnly:w,...S}),{onBlur:B}=A,N={...x,step:d,min:g,max:m},[_,H]=I.useState(n(A.value)),te=I.useRef(!1);I.useEffect(()=>{if(!te.current){const W=n(A.value);H(F=>F!==W?W:F)}},[A.value,n]);const K=o(W=>{if(a&&a(W),typeof W.target>"u"||typeof W.target.value>"u")return;const F=W.target;H(F.value);const se=F.valueAsNumber!==void 0&&F.valueAsNumber!==null&&!isNaN(F.valueAsNumber)?p?p(F.valueAsNumber):F.valueAsNumber:p?p(F.value):bi(F.value);A.onChange(se)},"handleChange"),Fe=o(W=>{c&&c(W),te.current=!0},"handleFocus"),ye=o(()=>{B&&B(),te.current=!1;const W=n(A.value);H(F=>F!==W?W:F)},"handleBlur"),ie=r!==!1||O,{ref:Ge,...$e}=A;return v.jsx(Do,{id:T,...$e,inputRef:Ge,value:_,onChange:K,onFocus:Fe,onBlur:ye,className:Io("ra-input",`ra-input-${u}`,e),type:"number",size:"small",variant:b,error:O,disabled:D||w,readOnly:w,helperText:ie?v.jsx(So,{error:E==null?void 0:E.message,helperText:r}):null,label:v.jsx(wo,{label:i,source:u,resource:f,isRequired:M}),margin:s,inputProps:{...N,readOnly:w},...Co(S)})},"NumberInput"),bi=o(e=>{if(e==null||e==="")return null;const t=parseFloat(e);return isNaN(t)?0:t},"convertStringToNumber"),hi=o(e=>e==null||isNaN(e)?"":e.toString(),"convertNumberToString"),vi=o(e=>{const{label:t,...n}=e,r=Eo();if(t)throw new Error(" isn't designed to be used with a label prop. Use if you need a label.");return v.jsx(xi,{hiddenLabel:!0,label:"",resettable:!0,placeholder:r("ra.action.search"),InputProps:{endAdornment:v.jsx(Ao,{position:"end",children:v.jsx(Po,{color:"disabled"})})},size:"small",...n})},"SearchInput"),yi="RaSearchInput",xi=Xn(Dt,{name:yi,overridesResolver:o((e,t)=>t.root,"overridesResolver")})({marginTop:0}),Di=o(e=>{const{children:t,className:n,component:r=Si,sx:i,toolbar:s=wi,...a}=e;return v.jsxs(Ro,{...a,children:[v.jsx(r,{className:n,sx:i,children:v.jsx(Oo,{alignItems:"flex-start",...Ci(e),children:t})}),s!==!1?s:null]})},"SimpleForm"),Ii="RaSimpleForm",Si=Xn(Bo,{name:Ii,overridesResolver:o((e,t)=>t.root,"overridesResolver")})(({theme:e})=>({[e.breakpoints.down("sm")]:{paddingBottom:"5em"}})),wi=v.jsx(No,{}),Ci=o(({children:e,className:t,component:n,criteriaMode:r,defaultValues:i,delayError:s,onSubmit:a,record:l,resource:c,reValidateMode:p,sx:f,toolbar:u,validate:d,resetOptions:g,resolver:m,sanitizeEmptyValues:h,shouldFocusError:b,shouldUnregister:x,shouldUseNativeValidation:D,warnWhenUnsavedChanges:w,...S})=>S,"sanitizeRestProps");function Ei(e,t,n){return t=gi(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}o(Ei,"_defineProperty");function fn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}o(fn,"ownKeys");function gn(e){for(var t=1;t"u"&&(n=t,t=void 0),typeof n<"u"){if(typeof n!="function")throw new Error(k(1));return n(nr)(e,t)}if(typeof e!="function")throw new Error(k(2));var i=e,s=t,a=[],l=a,c=!1;function p(){l===a&&(l=a.slice())}o(p,"ensureCanMutateNextListeners");function f(){if(c)throw new Error(k(3));return s}o(f,"getState");function u(h){if(typeof h!="function")throw new Error(k(4));if(c)throw new Error(k(5));var b=!0;return p(),l.push(h),o(function(){if(b){if(c)throw new Error(k(6));b=!1,p();var D=l.indexOf(h);l.splice(D,1),a=null}},"unsubscribe")}o(u,"subscribe");function d(h){if(!Ai(h))throw new Error(k(7));if(typeof h.type>"u")throw new Error(k(8));if(c)throw new Error(k(9));try{c=!0,s=i(s,h)}finally{c=!1}for(var b=a=l,x=0;x"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?Fi:Mi;ir.useSyncExternalStore=ue.useSyncExternalStore!==void 0?ue.useSyncExternalStore:Gi;or.exports=ir;var sr=or.exports,$i={};/** + * @license React + * use-sync-external-store-shim/with-selector.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var Xe=I,ji=sr;function Wi(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}o(Wi,"p");var _i=typeof Object.is=="function"?Object.is:Wi,Ui=ji.useSyncExternalStore,Vi=Xe.useRef,ki=Xe.useEffect,Hi=Xe.useMemo,qi=Xe.useDebugValue;$i.useSyncExternalStoreWithSelector=function(e,t,n,r,i){var s=Vi(null);if(s.current===null){var a={hasValue:!1,value:null};s.current=a}else a=s.current;s=Hi(function(){function c(g){if(!p){if(p=!0,f=g,g=r(g),i!==void 0&&a.hasValue){var m=a.value;if(i(m,g))return u=m}return u=g}if(m=u,_i(f,g))return m;var h=r(g);return i!==void 0&&i(m,h)?m:(f=g,u=h)}o(c,"a");var p=!1,f,u,d=n===void 0?null:n;return[function(){return c(t())},d===null?void 0:function(){return c(d())}]},[t,n,r,i]);var l=Ui(e,s[0],s[1]);return ki(function(){a.hasValue=!0,a.value=l},[l]),qi(l),l};function zi(e){e()}o(zi,"defaultNoopBatch");let ar=zi;const Yi=o(e=>ar=e,"setBatch"),Ki=o(()=>ar,"getBatch"),yn=Symbol.for(`react-redux-context-${I.version}`),xn=globalThis;function Ji(){let e=xn[yn];return e||(e=I.createContext(null),xn[yn]=e),e}o(Ji,"getContext");const lr=new Proxy({},new Proxy({},{get(e,t){const n=Ji();return(r,...i)=>Reflect[t](n,...i)}})),Xi=o(()=>{throw new Error("uSES not initialized!")},"notInitialized"),Qi=["initMapStateToProps","initMapDispatchToProps","initMergeProps"];function Zi(e,t,n,r,{areStatesEqual:i,areOwnPropsEqual:s,areStatePropsEqual:a}){let l=!1,c,p,f,u,d;function g(D,w){return c=D,p=w,f=e(c,p),u=t(r,p),d=n(f,u,p),l=!0,d}o(g,"handleFirstCall");function m(){return f=e(c,p),t.dependsOnOwnProps&&(u=t(r,p)),d=n(f,u,p),d}o(m,"handleNewPropsAndNewState");function h(){return e.dependsOnOwnProps&&(f=e(c,p)),t.dependsOnOwnProps&&(u=t(r,p)),d=n(f,u,p),d}o(h,"handleNewProps");function b(){const D=e(c,p),w=!a(D,f);return f=D,w&&(d=n(f,u,p)),d}o(b,"handleNewState");function x(D,w){const S=!s(w,p),A=!i(D,c,w,p);return c=D,p=w,S&&A?m():S?h():A?b():d}return o(x,"handleSubsequentCalls"),o(function(w,S){return l?x(w,S):g(w,S)},"pureFinalPropsSelector")}o(Zi,"pureFinalPropsSelectorFactory");function es(e,t){let{initMapStateToProps:n,initMapDispatchToProps:r,initMergeProps:i}=t,s=Qn(t,Qi);const a=n(e,s),l=r(e,s),c=i(e,s);return Zi(a,l,c,e,s)}o(es,"finalPropsSelectorFactory");function ts(e,t){const n={};for(const r in e){const i=e[r];typeof i=="function"&&(n[r]=(...s)=>t(i(...s)))}return n}o(ts,"bindActionCreators");function wt(e){return o(function(n){const r=e(n);function i(){return r}return o(i,"constantSelector"),i.dependsOnOwnProps=!1,i},"initConstantSelector")}o(wt,"wrapMapToPropsConstant");function Dn(e){return e.dependsOnOwnProps?!!e.dependsOnOwnProps:e.length!==1}o(Dn,"getDependsOnOwnProps");function cr(e,t){return o(function(r,{displayName:i}){const s=o(function(l,c){return s.dependsOnOwnProps?s.mapToProps(l,c):s.mapToProps(l,void 0)},"mapToPropsProxy");return s.dependsOnOwnProps=!0,s.mapToProps=o(function(l,c){s.mapToProps=e,s.dependsOnOwnProps=Dn(e);let p=s(l,c);return typeof p=="function"&&(s.mapToProps=p,s.dependsOnOwnProps=Dn(p),p=s(l,c)),p},"detectFactoryAndVerify"),s},"initProxySelector")}o(cr,"wrapMapToPropsFunc");function Gt(e,t){return(n,r)=>{throw new Error(`Invalid value of type ${typeof e} for ${t} argument when connecting component ${r.wrappedComponentName}.`)}}o(Gt,"createInvalidArgFactory");function ns(e){return e&&typeof e=="object"?wt(t=>ts(e,t)):e?typeof e=="function"?cr(e):Gt(e,"mapDispatchToProps"):wt(t=>({dispatch:t}))}o(ns,"mapDispatchToPropsFactory");function rs(e){return e?typeof e=="function"?cr(e):Gt(e,"mapStateToProps"):wt(()=>({}))}o(rs,"mapStateToPropsFactory");function os(e,t,n){return de({},n,e,t)}o(os,"defaultMergeProps");function is(e){return o(function(n,{displayName:r,areMergedPropsEqual:i}){let s=!1,a;return o(function(c,p,f){const u=e(c,p,f);return s?i(u,a)||(a=u):(s=!0,a=u),a},"mergePropsProxy")},"initMergePropsProxy")}o(is,"wrapMergePropsFunc");function ss(e){return e?typeof e=="function"?is(e):Gt(e,"mergeProps"):()=>os}o(ss,"mergePropsFactory");function as(){const e=Ki();let t=null,n=null;return{clear(){t=null,n=null},notify(){e(()=>{let r=t;for(;r;)r.callback(),r=r.next})},get(){let r=[],i=t;for(;i;)r.push(i),i=i.next;return r},subscribe(r){let i=!0,s=n={callback:r,next:null,prev:n};return s.prev?s.prev.next=s:t=s,o(function(){!i||t===null||(i=!1,s.next?s.next.prev=s.prev:n=s.prev,s.prev?s.prev.next=s.next:t=s.next)},"unsubscribe")}}}o(as,"createListenerCollection");const In={notify(){},get:o(()=>[],"get")};function dr(e,t){let n,r=In;function i(u){return c(),r.subscribe(u)}o(i,"addNestedSub");function s(){r.notify()}o(s,"notifyNestedSubs");function a(){f.onStateChange&&f.onStateChange()}o(a,"handleChangeWrapper");function l(){return!!n}o(l,"isSubscribed");function c(){n||(n=t?t.addNestedSub(a):e.subscribe(a),r=as())}o(c,"trySubscribe");function p(){n&&(n(),n=void 0,r.clear(),r=In)}o(p,"tryUnsubscribe");const f={addNestedSub:i,notifyNestedSubs:s,handleChangeWrapper:a,isSubscribed:l,trySubscribe:c,tryUnsubscribe:p,getListeners:o(()=>r,"getListeners")};return f}o(dr,"createSubscription");const ls=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",ke=ls?I.useLayoutEffect:I.useEffect;function Sn(e,t){return e===t?e!==0||t!==0||1/e===1/t:e!==e&&t!==t}o(Sn,"is");function dt(e,t){if(Sn(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;const n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let i=0;i{ur=e},"initializeConnect"),us=[null,null];function ps(e,t,n){ke(()=>e(...t),n)}o(ps,"useIsomorphicLayoutEffectWithArgs");function fs(e,t,n,r,i,s){e.current=r,n.current=!1,i.current&&(i.current=null,s())}o(fs,"captureWrapperProps");function gs(e,t,n,r,i,s,a,l,c,p,f){if(!e)return()=>{};let u=!1,d=null;const g=o(()=>{if(u||!l.current)return;const h=t.getState();let b,x;try{b=r(h,i.current)}catch(D){x=D,d=D}x||(d=null),b===s.current?a.current||p():(s.current=b,c.current=b,a.current=!0,f())},"checkForUpdates");return n.onStateChange=g,n.trySubscribe(),g(),o(()=>{if(u=!0,n.tryUnsubscribe(),n.onStateChange=null,d)throw d},"unsubscribeWrapper")}o(gs,"subscribeUpdates");function ms(e,t){return e===t}o(ms,"strictEqual");function pr(e,t,n,{pure:r,areStatesEqual:i=ms,areOwnPropsEqual:s=dt,areStatePropsEqual:a=dt,areMergedPropsEqual:l=dt,forwardRef:c=!1,context:p=lr}={}){const f=p,u=rs(e),d=ns(t),g=ss(n),m=!!e;return o(b=>{const x=b.displayName||b.name||"Component",D=`Connect(${x})`,w={shouldHandleStateChanges:m,displayName:D,wrappedComponentName:x,WrappedComponent:b,initMapStateToProps:u,initMapDispatchToProps:d,initMergeProps:g,areStatesEqual:i,areStatePropsEqual:a,areOwnPropsEqual:s,areMergedPropsEqual:l};function S(O){const[T,M,B]=I.useMemo(()=>{const{reactReduxForwardedRef:ee}=O,xe=Qn(O,cs);return[O.context,ee,xe]},[O]),N=I.useMemo(()=>T&&T.Consumer&&To.isContextConsumer(P.createElement(T.Consumer,null))?T:f,[T,f]),_=I.useContext(N),H=!!O.store&&!!O.store.getState&&!!O.store.dispatch,te=!!_&&!!_.store,K=H?O.store:_.store,Fe=te?_.getServerState:K.getState,ye=I.useMemo(()=>es(K.dispatch,w),[K]),[ie,Ge]=I.useMemo(()=>{if(!m)return us;const ee=dr(K,H?void 0:_.subscription),xe=ee.notifyNestedSubs.bind(ee);return[ee,xe]},[K,H,_]),$e=I.useMemo(()=>H?_:de({},_,{subscription:ie}),[H,_,ie]),W=I.useRef(),F=I.useRef(B),se=I.useRef(),ln=I.useRef(!1);I.useRef(!1);const it=I.useRef(!1),st=I.useRef();ke(()=>(it.current=!0,()=>{it.current=!1}),[]);const cn=I.useMemo(()=>o(()=>se.current&&B===F.current?se.current:ye(K.getState(),B),"selector"),[K,B]),vo=I.useMemo(()=>o(xe=>ie?gs(m,K,ie,ye,F,W,ln,it,se,Ge,xe):()=>{},"subscribe"),[ie]);ps(fs,[F,W,ln,B,se,Ge]);let je;try{je=ur(vo,cn,Fe?()=>ye(Fe(),B):cn)}catch(ee){throw st.current&&(ee.message+=` +The error may be correlated with this previous error: +${st.current.stack} + +`),ee}ke(()=>{st.current=void 0,se.current=void 0,W.current=je});const at=I.useMemo(()=>P.createElement(b,de({},je,{ref:M})),[M,b,je]);return I.useMemo(()=>m?P.createElement(N.Provider,{value:$e},at):at,[N,at,$e])}o(S,"ConnectFunction");const E=P.memo(S);if(E.WrappedComponent=b,E.displayName=S.displayName=D,c){const T=P.forwardRef(o(function(B,N){return P.createElement(E,de({},B,{reactReduxForwardedRef:N}))},"forwardConnectRef"));return T.displayName=D,T.WrappedComponent=b,dn(T,b)}return dn(E,b)},"wrapWithConnect")}o(pr,"connect");function bs({store:e,context:t,children:n,serverState:r,stabilityCheck:i="once",noopCheck:s="once"}){const a=I.useMemo(()=>{const p=dr(e);return{store:e,subscription:p,getServerState:r?()=>r:void 0,stabilityCheck:i,noopCheck:s}},[e,r,i,s]),l=I.useMemo(()=>e.getState(),[e]);ke(()=>{const{subscription:p}=a;return p.onStateChange=p.notifyNestedSubs,p.trySubscribe(),l!==e.getState()&&p.notifyNestedSubs(),()=>{p.tryUnsubscribe(),p.onStateChange=void 0}},[a,l]);const c=t||lr;return P.createElement(c.Provider,{value:a},n)}o(bs,"Provider");ds(sr.useSyncExternalStore);Yi(Tt.unstable_batchedUpdates);function hs(e,t){if(e.length!==t.length)return!1;for(var n=0;n{const s=Cs(n,i.options);return e.addEventListener(i.eventName,i.fn,s),o(function(){e.removeEventListener(i.eventName,i.fn,s)},"unbind")});return o(function(){r.forEach(s=>{s()})},"unbindAll")}o(X,"bindEvents");const Es="Invariant failed",on=class on extends Error{};o(on,"RbdInvariant");let pe=on;pe.prototype.toString=o(function(){return this.message},"toString");function y(e,t){throw new pe(Es)}o(y,"invariant");const sn=class sn extends P.Component{constructor(){super(...arguments),this.callbacks=null,this.unbind=ne,this.onWindowError=t=>{const n=this.getCallbacks();n.isDragging()&&n.tryAbort(),t.error instanceof pe&&t.preventDefault()},this.getCallbacks=()=>{if(!this.callbacks)throw new Error("Unable to find AppCallbacks in ");return this.callbacks},this.setCallbacks=t=>{this.callbacks=t}}componentDidMount(){this.unbind=X(window,[{eventName:"error",fn:this.onWindowError}])}componentDidCatch(t){if(t instanceof pe){this.setState({});return}throw t}componentWillUnmount(){this.unbind()}render(){return this.props.children(this.setCallbacks)}};o(sn,"ErrorBoundary");let Ct=sn;const As=` + Press space bar to start a drag. + When dragging you can use the arrow keys to move the item around and escape to cancel. + Some screen readers may require you to be in focus mode or to use your pass through key +`,ze=o(e=>e+1,"position"),Ps=o(e=>` + You have lifted an item in position ${ze(e.source.index)} +`,"onDragStart"),hr=o((e,t)=>{const n=e.droppableId===t.droppableId,r=ze(e.index),i=ze(t.index);return n?` + You have moved the item from position ${r} + to position ${i} + `:` + You have moved the item from position ${r} + in list ${e.droppableId} + to list ${t.droppableId} + in position ${i} + `},"withLocation"),vr=o((e,t,n)=>t.droppableId===n.droppableId?` + The item ${e} + has been combined with ${n.draggableId}`:` + The item ${e} + in list ${t.droppableId} + has been combined with ${n.draggableId} + in list ${n.droppableId} + `,"withCombine"),Rs=o(e=>{const t=e.destination;if(t)return hr(e.source,t);const n=e.combine;return n?vr(e.draggableId,e.source,n):"You are over an area that cannot be dropped on"},"onDragUpdate"),En=o(e=>` + The item has returned to its starting position + of ${ze(e.index)} +`,"returnedToStart"),Os=o(e=>{if(e.reason==="CANCEL")return` + Movement cancelled. + ${En(e.source)} + `;const t=e.destination,n=e.combine;return t?` + You have dropped the item. + ${hr(e.source,t)} + `:n?` + You have dropped the item. + ${vr(e.draggableId,e.source,n)} + `:` + The item has been dropped while not over a drop area. + ${En(e.source)} + `},"onDragEnd"),Bs={dragHandleUsageInstructions:As,onDragStart:Ps,onDragUpdate:Rs,onDragEnd:Os};var Ve=Bs;const $={x:0,y:0},j=o((e,t)=>({x:e.x+t.x,y:e.y+t.y}),"add"),q=o((e,t)=>({x:e.x-t.x,y:e.y-t.y}),"subtract"),re=o((e,t)=>e.x===t.x&&e.y===t.y,"isEqual$1"),be=o(e=>({x:e.x!==0?-e.x:0,y:e.y!==0?-e.y:0}),"negate"),ce=o(function(e,t,n){return n===void 0&&(n=0),e==="x"?{x:t,y:n}:{x:n,y:t}},"patch"),Pe=o((e,t)=>Math.sqrt((t.x-e.x)**2+(t.y-e.y)**2),"distance"),An=o((e,t)=>Math.min(...t.map(n=>Pe(e,n))),"closest$1"),yr=o(e=>t=>({x:e(t.x),y:e(t.y)}),"apply");var Ns=o((e,t)=>{const n=Z({top:Math.max(t.top,e.top),right:Math.min(t.right,e.right),bottom:Math.min(t.bottom,e.bottom),left:Math.max(t.left,e.left)});return n.width<=0||n.height<=0?null:n},"executeClip");const Le=o((e,t)=>({top:e.top+t.y,left:e.left+t.x,bottom:e.bottom+t.y,right:e.right+t.x}),"offsetByPosition"),Pn=o(e=>[{x:e.left,y:e.top},{x:e.right,y:e.top},{x:e.left,y:e.bottom},{x:e.right,y:e.bottom}],"getCorners"),Ts={top:0,right:0,bottom:0,left:0},Ls=o((e,t)=>t?Le(e,t.scroll.diff.displacement):e,"scroll$1"),Ms=o((e,t,n)=>n&&n.increasedBy?{...e,[t.end]:e[t.end]+n.increasedBy[t.line]}:e,"increase"),Fs=o((e,t)=>t&&t.shouldClipSubject?Ns(t.pageMarginBox,e):Z(e),"clip");var fe=o(e=>{let{page:t,withPlaceholder:n,axis:r,frame:i}=e;const s=Ls(t.marginBox,i),a=Ms(s,r,n),l=Fs(a,i);return{page:t,withPlaceholder:n,active:l}},"getSubject"),Wt=o((e,t)=>{e.frame||y();const n=e.frame,r=q(t,n.scroll.initial),i=be(r),s={...n,scroll:{initial:n.scroll.initial,current:t,diff:{value:r,displacement:i},max:n.scroll.max}},a=fe({page:e.subject.page,withPlaceholder:e.subject.withPlaceholder,axis:e.axis,frame:s});return{...e,frame:s,subject:a}},"scrollDroppable");const xr=G(e=>e.reduce((t,n)=>(t[n.descriptor.id]=n,t),{})),Dr=G(e=>e.reduce((t,n)=>(t[n.descriptor.id]=n,t),{})),Qe=G(e=>Object.values(e)),Gs=G(e=>Object.values(e));var he=G((e,t)=>Gs(t).filter(r=>e===r.descriptor.droppableId).sort((r,i)=>r.descriptor.index-i.descriptor.index));function _t(e){return e.at&&e.at.type==="REORDER"?e.at.destination:null}o(_t,"tryGetDestination");function Ze(e){return e.at&&e.at.type==="COMBINE"?e.at.combine:null}o(Ze,"tryGetCombine");var et=G((e,t)=>t.filter(n=>n.descriptor.id!==e.descriptor.id)),$s=o(e=>{let{isMovingForward:t,draggable:n,destination:r,insideDestination:i,previousImpact:s}=e;if(!r.isCombineEnabled||!_t(s))return null;function l(m){const h={type:"COMBINE",combine:{draggableId:m,droppableId:r.descriptor.id}};return{...s,at:h}}o(l,"getImpact");const c=s.displaced.all,p=c.length?c[0]:null;if(t)return p?l(p):null;const f=et(n,i);if(!p){if(!f.length)return null;const m=f[f.length-1];return l(m.descriptor.id)}const u=f.findIndex(m=>m.descriptor.id===p);u===-1&&y();const d=u-1;if(d<0)return null;const g=f[d];return l(g.descriptor.id)},"moveToNextCombine"),ve=o((e,t)=>e.descriptor.droppableId===t.descriptor.id,"isHomeOf");const Ir={point:$,value:0},Re={invisible:{},visible:{},all:[]},js={displaced:Re,displacedBy:Ir,at:null};var Ws=js,Q=o((e,t)=>n=>e<=n&&n<=t,"isWithin"),Sr=o(e=>{const t=Q(e.top,e.bottom),n=Q(e.left,e.right);return r=>{if(t(r.top)&&t(r.bottom)&&n(r.left)&&n(r.right))return!0;const s=t(r.top)||t(r.bottom),a=n(r.left)||n(r.right);if(s&&a)return!0;const c=r.tope.bottom,p=r.lefte.right;return c&&p?!0:c&&a||p&&s}},"isPartiallyVisibleThroughFrame"),_s=o(e=>{const t=Q(e.top,e.bottom),n=Q(e.left,e.right);return r=>t(r.top)&&t(r.bottom)&&n(r.left)&&n(r.right)},"isTotallyVisibleThroughFrame");const Ut={direction:"vertical",line:"y",crossAxisLine:"x",start:"top",end:"bottom",size:"height",crossAxisStart:"left",crossAxisEnd:"right",crossAxisSize:"width"},wr={direction:"horizontal",line:"x",crossAxisLine:"y",start:"left",end:"right",size:"width",crossAxisStart:"top",crossAxisEnd:"bottom",crossAxisSize:"height"};var Us=o(e=>t=>{const n=Q(t.top,t.bottom),r=Q(t.left,t.right);return i=>e===Ut?n(i.top)&&n(i.bottom):r(i.left)&&r(i.right)},"isTotallyVisibleThroughFrameOnAxis");const Vs=o((e,t)=>{const n=t.frame?t.frame.scroll.diff.displacement:$;return Le(e,n)},"getDroppableDisplaced"),ks=o((e,t,n)=>t.subject.active?n(t.subject.active)(e):!1,"isVisibleInDroppable"),Hs=o((e,t,n)=>n(t)(e),"isVisibleInViewport"),Vt=o(e=>{let{target:t,destination:n,viewport:r,withDroppableDisplacement:i,isVisibleThroughFrameFn:s}=e;const a=i?Vs(t,n):t;return ks(a,n,s)&&Hs(a,r,s)},"isVisible$1"),qs=o(e=>Vt({...e,isVisibleThroughFrameFn:Sr}),"isPartiallyVisible"),Cr=o(e=>Vt({...e,isVisibleThroughFrameFn:_s}),"isTotallyVisible"),zs=o(e=>Vt({...e,isVisibleThroughFrameFn:Us(e.destination.axis)}),"isTotallyVisibleOnAxis"),Ys=o((e,t,n)=>{if(typeof n=="boolean")return n;if(!t)return!0;const{invisible:r,visible:i}=t;if(r[e])return!1;const s=i[e];return s?s.shouldAnimate:!0},"getShouldAnimate");function Ks(e,t){const n=e.page.marginBox,r={top:t.point.y,right:0,bottom:0,left:t.point.x};return Z($t(n,r))}o(Ks,"getTarget");function Oe(e){let{afterDragging:t,destination:n,displacedBy:r,viewport:i,forceShouldAnimate:s,last:a}=e;return t.reduce(o(function(c,p){const f=Ks(p,r),u=p.descriptor.id;if(c.all.push(u),!qs({target:f,destination:n,viewport:i,withDroppableDisplacement:!0}))return c.invisible[p.descriptor.id]=!0,c;const g=Ys(u,a,s),m={draggableId:u,shouldAnimate:g};return c.visible[u]=m,c},"process2"),{all:[],visible:{},invisible:{}})}o(Oe,"getDisplacementGroups");function Js(e,t){if(!e.length)return 0;const n=e[e.length-1].descriptor.index;return t.inHomeList?n:n+1}o(Js,"getIndexOfLastItem");function Rn(e){let{insideDestination:t,inHomeList:n,displacedBy:r,destination:i}=e;const s=Js(t,{inHomeList:n});return{displaced:Re,displacedBy:r,at:{type:"REORDER",destination:{droppableId:i.descriptor.id,index:s}}}}o(Rn,"goAtEnd");function Ye(e){let{draggable:t,insideDestination:n,destination:r,viewport:i,displacedBy:s,last:a,index:l,forceShouldAnimate:c}=e;const p=ve(t,r);if(l==null)return Rn({insideDestination:n,inHomeList:p,displacedBy:s,destination:r});const f=n.find(h=>h.descriptor.index===l);if(!f)return Rn({insideDestination:n,inHomeList:p,displacedBy:s,destination:r});const u=et(t,n),d=n.indexOf(f),g=u.slice(d);return{displaced:Oe({afterDragging:g,destination:r,displacedBy:s,last:a,viewport:i.frame,forceShouldAnimate:c}),displacedBy:s,at:{type:"REORDER",destination:{droppableId:r.descriptor.id,index:l}}}}o(Ye,"calculateReorderImpact");function oe(e,t){return!!t.effected[e]}o(oe,"didStartAfterCritical");var Xs=o(e=>{let{isMovingForward:t,destination:n,draggables:r,combine:i,afterCritical:s}=e;if(!n.isCombineEnabled)return null;const a=i.draggableId,c=r[a].descriptor.index;return oe(a,s)?t?c:c-1:t?c+1:c},"fromCombine"),Qs=o(e=>{let{isMovingForward:t,isInHomeList:n,insideDestination:r,location:i}=e;if(!r.length)return null;const s=i.index,a=t?s+1:s-1,l=r[0].descriptor.index,c=r[r.length-1].descriptor.index,p=n?c:c+1;return ap?null:a},"fromReorder"),Zs=o(e=>{let{isMovingForward:t,isInHomeList:n,draggable:r,draggables:i,destination:s,insideDestination:a,previousImpact:l,viewport:c,afterCritical:p}=e;const f=l.at;if(f||y(),f.type==="REORDER"){const d=Qs({isMovingForward:t,isInHomeList:n,location:f.destination,insideDestination:a});return d==null?null:Ye({draggable:r,insideDestination:a,destination:s,viewport:c,last:l.displaced,displacedBy:l.displacedBy,index:d})}const u=Xs({isMovingForward:t,destination:s,displaced:l.displaced,draggables:i,combine:f.combine,afterCritical:p});return u==null?null:Ye({draggable:r,insideDestination:a,destination:s,viewport:c,last:l.displaced,displacedBy:l.displacedBy,index:u})},"moveToNextIndex"),ea=o(e=>{let{displaced:t,afterCritical:n,combineWith:r,displacedBy:i}=e;const s=!!(t.visible[r]||t.invisible[r]);return oe(r,n)?s?$:be(i.point):s?i.point:$},"getCombinedItemDisplacement"),ta=o(e=>{let{afterCritical:t,impact:n,draggables:r}=e;const i=Ze(n);i||y();const s=i.draggableId,a=r[s].page.borderBox.center,l=ea({displaced:n.displaced,afterCritical:t,combineWith:s,displacedBy:n.displacedBy});return j(a,l)},"whenCombining");const Er=o((e,t)=>t.margin[e.start]+t.borderBox[e.size]/2,"distanceFromStartToBorderBoxCenter"),na=o((e,t)=>t.margin[e.end]+t.borderBox[e.size]/2,"distanceFromEndToBorderBoxCenter"),kt=o((e,t,n)=>t[e.crossAxisStart]+n.margin[e.crossAxisStart]+n.borderBox[e.crossAxisSize]/2,"getCrossAxisBorderBoxCenter"),On=o(e=>{let{axis:t,moveRelativeTo:n,isMoving:r}=e;return ce(t.line,n.marginBox[t.end]+Er(t,r),kt(t,n.marginBox,r))},"goAfter"),Bn=o(e=>{let{axis:t,moveRelativeTo:n,isMoving:r}=e;return ce(t.line,n.marginBox[t.start]-na(t,r),kt(t,n.marginBox,r))},"goBefore"),ra=o(e=>{let{axis:t,moveInto:n,isMoving:r}=e;return ce(t.line,n.contentBox[t.start]+Er(t,r),kt(t,n.contentBox,r))},"goIntoStart");var oa=o(e=>{let{impact:t,draggable:n,draggables:r,droppable:i,afterCritical:s}=e;const a=he(i.descriptor.id,r),l=n.page,c=i.axis;if(!a.length)return ra({axis:c,moveInto:i.page,isMoving:l});const{displaced:p,displacedBy:f}=t,u=p.all[0];if(u){const g=r[u];if(oe(u,s))return Bn({axis:c,moveRelativeTo:g.page,isMoving:l});const m=He(g.page,f.point);return Bn({axis:c,moveRelativeTo:m,isMoving:l})}const d=a[a.length-1];if(d.descriptor.id===n.descriptor.id)return l.borderBox.center;if(oe(d.descriptor.id,s)){const g=He(d.page,be(s.displacedBy.point));return On({axis:c,moveRelativeTo:g,isMoving:l})}return On({axis:c,moveRelativeTo:d.page,isMoving:l})},"whenReordering"),Et=o((e,t)=>{const n=e.frame;return n?j(t,n.scroll.diff.displacement):t},"withDroppableDisplacement");const ia=o(e=>{let{impact:t,draggable:n,droppable:r,draggables:i,afterCritical:s}=e;const a=n.page.borderBox.center,l=t.at;return!r||!l?a:l.type==="REORDER"?oa({impact:t,draggable:n,draggables:i,droppable:r,afterCritical:s}):ta({impact:t,draggables:i,afterCritical:s})},"getResultWithoutDroppableDisplacement");var tt=o(e=>{const t=ia(e),n=e.droppable;return n?Et(n,t):t},"getPageBorderBoxCenterFromImpact"),Ar=o((e,t)=>{const n=q(t,e.scroll.initial),r=be(n);return{frame:Z({top:t.y,bottom:t.y+e.frame.height,left:t.x,right:t.x+e.frame.width}),scroll:{initial:e.scroll.initial,max:e.scroll.max,current:t,diff:{value:n,displacement:r}}}},"scrollViewport");function Nn(e,t){return e.map(n=>t[n])}o(Nn,"getDraggables$1");function sa(e,t){for(let n=0;n{let{impact:t,viewport:n,destination:r,draggables:i,maxScrollChange:s}=e;const a=Ar(n,j(n.scroll.current,s)),l=r.frame?Wt(r,j(r.frame.scroll.current,s)):r,c=t.displaced,p=Oe({afterDragging:Nn(c.all,i),destination:r,displacedBy:t.displacedBy,viewport:a.frame,last:c,forceShouldAnimate:!1}),f=Oe({afterDragging:Nn(c.all,i),destination:l,displacedBy:t.displacedBy,viewport:n.frame,last:c,forceShouldAnimate:!1}),u={},d={},g=[c,p,f];return c.all.forEach(h=>{const b=sa(h,g);if(b){d[h]=b;return}u[h]=!0}),{...t,displaced:{all:c.all,invisible:u,visible:d}}},"speculativelyIncrease"),la=o((e,t)=>j(e.scroll.diff.displacement,t),"withViewportDisplacement"),Ht=o(e=>{let{pageBorderBoxCenter:t,draggable:n,viewport:r}=e;const i=la(r,t),s=q(i,n.page.borderBox.center);return j(n.client.borderBox.center,s)},"getClientFromPageBorderBoxCenter"),Pr=o(e=>{let{draggable:t,destination:n,newPageBorderBoxCenter:r,viewport:i,withDroppableDisplacement:s,onlyOnMainAxis:a=!1}=e;const l=q(r,t.page.borderBox.center),p={target:Le(t.page.borderBox,l),destination:n,withDroppableDisplacement:s,viewport:i};return a?zs(p):Cr(p)},"isTotallyVisibleInNewLocation"),ca=o(e=>{let{isMovingForward:t,draggable:n,destination:r,draggables:i,previousImpact:s,viewport:a,previousPageBorderBoxCenter:l,previousClientSelection:c,afterCritical:p}=e;if(!r.isEnabled)return null;const f=he(r.descriptor.id,i),u=ve(n,r),d=$s({isMovingForward:t,draggable:n,destination:r,insideDestination:f,previousImpact:s})||Zs({isMovingForward:t,isInHomeList:u,draggable:n,draggables:i,destination:r,insideDestination:f,previousImpact:s,viewport:a,afterCritical:p});if(!d)return null;const g=tt({impact:d,draggable:n,droppable:r,draggables:i,afterCritical:p});if(Pr({draggable:n,destination:r,newPageBorderBoxCenter:g,viewport:a.frame,withDroppableDisplacement:!1,onlyOnMainAxis:!0}))return{clientSelection:Ht({pageBorderBoxCenter:g,draggable:n,viewport:a}),impact:d,scrollJumpRequest:null};const h=q(g,l),b=aa({impact:d,viewport:a,destination:r,draggables:i,maxScrollChange:h});return{clientSelection:c,impact:b,scrollJumpRequest:h}},"moveToNextPlace");const U=o(e=>{const t=e.subject.active;return t||y(),t},"getKnownActive");var da=o(e=>{let{isMovingForward:t,pageBorderBoxCenter:n,source:r,droppables:i,viewport:s}=e;const a=r.subject.active;if(!a)return null;const l=r.axis,c=Q(a[l.start],a[l.end]),p=Qe(i).filter(u=>u!==r).filter(u=>u.isEnabled).filter(u=>!!u.subject.active).filter(u=>Sr(s.frame)(U(u))).filter(u=>{const d=U(u);return t?a[l.crossAxisEnd]{const d=U(u),g=Q(d[l.start],d[l.end]);return c(d[l.start])||c(d[l.end])||g(a[l.start])||g(a[l.end])}).sort((u,d)=>{const g=U(u)[l.crossAxisStart],m=U(d)[l.crossAxisStart];return t?g-m:m-g}).filter((u,d,g)=>U(u)[l.crossAxisStart]===U(g[0])[l.crossAxisStart]);if(!p.length)return null;if(p.length===1)return p[0];const f=p.filter(u=>Q(U(u)[l.start],U(u)[l.end])(n[l.line]));return f.length===1?f[0]:f.length>1?f.sort((u,d)=>U(u)[l.start]-U(d)[l.start])[0]:p.sort((u,d)=>{const g=An(n,Pn(U(u))),m=An(n,Pn(U(d)));return g!==m?g-m:U(u)[l.start]-U(d)[l.start]})[0]},"getBestCrossAxisDroppable");const Tn=o((e,t)=>{const n=e.page.borderBox.center;return oe(e.descriptor.id,t)?q(n,t.displacedBy.point):n},"getCurrentPageBorderBoxCenter"),ua=o((e,t)=>{const n=e.page.borderBox;return oe(e.descriptor.id,t)?Le(n,be(t.displacedBy.point)):n},"getCurrentPageBorderBox");var pa=o(e=>{let{pageBorderBoxCenter:t,viewport:n,destination:r,insideDestination:i,afterCritical:s}=e;return i.filter(l=>Cr({target:ua(l,s),destination:r,viewport:n.frame,withDroppableDisplacement:!0})).sort((l,c)=>{const p=Pe(t,Et(r,Tn(l,s))),f=Pe(t,Et(r,Tn(c,s)));return p{const r=e.axis;if(e.descriptor.mode==="virtual")return ce(r.line,t[r.line]);const i=e.subject.page.contentBox[r.size],c=he(e.descriptor.id,n).reduce((p,f)=>p+f.client.marginBox[r.size],0)+t[r.line]-i;return c<=0?null:ce(r.line,c)},"getRequiredGrowthForPlaceholder"),Rr=o((e,t)=>({...e,scroll:{...e.scroll,max:t}}),"withMaxScroll"),Or=o((e,t,n)=>{const r=e.frame;ve(t,e)&&y(),e.subject.withPlaceholder&&y();const i=Me(e.axis,t.displaceBy).point,s=fa(e,i,n),a={placeholderSize:i,increasedBy:s,oldFrameMaxScroll:e.frame?e.frame.scroll.max:null};if(!r){const f=fe({page:e.subject.page,withPlaceholder:a,axis:e.axis,frame:e.frame});return{...e,subject:f}}const l=s?j(r.scroll.max,s):r.scroll.max,c=Rr(r,l),p=fe({page:e.subject.page,withPlaceholder:a,axis:e.axis,frame:c});return{...e,subject:p,frame:c}},"addPlaceholder"),ga=o(e=>{const t=e.subject.withPlaceholder;t||y();const n=e.frame;if(!n){const a=fe({page:e.subject.page,axis:e.axis,frame:null,withPlaceholder:null});return{...e,subject:a}}const r=t.oldFrameMaxScroll;r||y();const i=Rr(n,r),s=fe({page:e.subject.page,axis:e.axis,frame:i,withPlaceholder:null});return{...e,subject:s,frame:i}},"removePlaceholder");var ma=o(e=>{let{previousPageBorderBoxCenter:t,moveRelativeTo:n,insideDestination:r,draggable:i,draggables:s,destination:a,viewport:l,afterCritical:c}=e;if(!n){if(r.length)return null;const d={displaced:Re,displacedBy:Ir,at:{type:"REORDER",destination:{droppableId:a.descriptor.id,index:0}}},g=tt({impact:d,draggable:i,droppable:a,draggables:s,afterCritical:c}),m=ve(i,a)?a:Or(a,i,s);return Pr({draggable:i,destination:m,newPageBorderBoxCenter:g,viewport:l.frame,withDroppableDisplacement:!1,onlyOnMainAxis:!0})?d:null}const p=t[a.axis.line]<=n.page.borderBox.center[a.axis.line],f=(()=>{const d=n.descriptor.index;return n.descriptor.id===i.descriptor.id||p?d:d+1})(),u=Me(a.axis,i.displaceBy);return Ye({draggable:i,insideDestination:r,destination:a,viewport:l,displacedBy:u,last:Re,index:f})},"moveToNewDroppable"),ba=o(e=>{let{isMovingForward:t,previousPageBorderBoxCenter:n,draggable:r,isOver:i,draggables:s,droppables:a,viewport:l,afterCritical:c}=e;const p=da({isMovingForward:t,pageBorderBoxCenter:n,source:i,droppables:a,viewport:l});if(!p)return null;const f=he(p.descriptor.id,s),u=pa({pageBorderBoxCenter:n,viewport:l,destination:p,insideDestination:f,afterCritical:c}),d=ma({previousPageBorderBoxCenter:n,destination:p,draggable:r,draggables:s,moveRelativeTo:u,insideDestination:f,viewport:l,afterCritical:c});if(!d)return null;const g=tt({impact:d,draggable:r,droppable:p,draggables:s,afterCritical:c});return{clientSelection:Ht({pageBorderBoxCenter:g,draggable:r,viewport:l}),impact:d,scrollJumpRequest:null}},"moveCrossAxis"),z=o(e=>{const t=e.at;return t?t.type==="REORDER"?t.destination.droppableId:t.combine.droppableId:null},"whatIsDraggedOver");const ha=o((e,t)=>{const n=z(e);return n?t[n]:null},"getDroppableOver$1");var va=o(e=>{let{state:t,type:n}=e;const r=ha(t.impact,t.dimensions.droppables),i=!!r,s=t.dimensions.droppables[t.critical.droppable.id],a=r||s,l=a.axis.direction,c=l==="vertical"&&(n==="MOVE_UP"||n==="MOVE_DOWN")||l==="horizontal"&&(n==="MOVE_LEFT"||n==="MOVE_RIGHT");if(c&&!i)return null;const p=n==="MOVE_DOWN"||n==="MOVE_RIGHT",f=t.dimensions.draggables[t.critical.draggable.id],u=t.current.page.borderBoxCenter,{draggables:d,droppables:g}=t.dimensions;return c?ca({isMovingForward:p,previousPageBorderBoxCenter:u,draggable:f,destination:a,draggables:d,viewport:t.viewport,previousClientSelection:t.current.client.selection,previousImpact:t.impact,afterCritical:t.afterCritical}):ba({isMovingForward:p,previousPageBorderBoxCenter:u,draggable:f,isOver:a,draggables:d,droppables:g,viewport:t.viewport,afterCritical:t.afterCritical})},"moveInDirection");function le(e){return e.phase==="DRAGGING"||e.phase==="COLLECTING"}o(le,"isMovementAllowed");function Br(e){const t=Q(e.top,e.bottom),n=Q(e.left,e.right);return o(function(i){return t(i.y)&&n(i.x)},"run")}o(Br,"isPositionInFrame");function ya(e,t){return e.leftt.left&&e.topt.top}o(ya,"getHasOverlap");function xa(e){let{pageBorderBox:t,draggable:n,candidates:r}=e;const i=n.page.borderBox.center,s=r.map(a=>{const l=a.axis,c=ce(a.axis.line,t.center[l.line],a.page.borderBox.center[l.crossAxisLine]);return{id:a.descriptor.id,distance:Pe(i,c)}}).sort((a,l)=>l.distance-a.distance);return s[0]?s[0].id:null}o(xa,"getFurthestAway");function Da(e){let{pageBorderBox:t,draggable:n,droppables:r}=e;const i=Qe(r).filter(s=>{if(!s.isEnabled)return!1;const a=s.subject.active;if(!a||!ya(t,a))return!1;if(Br(a)(t.center))return!0;const l=s.axis,c=a.center[l.crossAxisLine],p=t[l.crossAxisStart],f=t[l.crossAxisEnd],u=Q(a[l.crossAxisStart],a[l.crossAxisEnd]),d=u(p),g=u(f);return!d&&!g?!0:d?pc});return i.length?i.length===1?i[0].descriptor.id:xa({pageBorderBox:t,draggable:n,candidates:i}):null}o(Da,"getDroppableOver");const Nr=o((e,t)=>Z(Le(e,t)),"offsetRectByPosition");var Ia=o((e,t)=>{const n=e.frame;return n?Nr(t,n.scroll.diff.value):t},"withDroppableScroll");function Tr(e){let{displaced:t,id:n}=e;return!!(t.visible[n]||t.invisible[n])}o(Tr,"getIsDisplaced");function Sa(e){let{draggable:t,closest:n,inHomeList:r}=e;return n?r&&n.descriptor.index>t.descriptor.index?n.descriptor.index-1:n.descriptor.index:null}o(Sa,"atIndex");var wa=o(e=>{let{pageBorderBoxWithDroppableScroll:t,draggable:n,destination:r,insideDestination:i,last:s,viewport:a,afterCritical:l}=e;const c=r.axis,p=Me(r.axis,n.displaceBy),f=p.value,u=t[c.start],d=t[c.end],m=et(n,i).find(b=>{const x=b.descriptor.id,D=b.page.borderBox.center[c.line],w=oe(x,l),S=Tr({displaced:s,id:x});return w?S?d<=D:u{let{draggable:t,pageBorderBoxWithDroppableScroll:n,previousImpact:r,destination:i,insideDestination:s,afterCritical:a}=e;if(!i.isCombineEnabled)return null;const l=i.axis,c=Me(i.axis,t.displaceBy),p=c.value,f=n[l.start],u=n[l.end],g=et(t,s).find(h=>{const b=h.descriptor.id,x=h.page.borderBox,w=x[l.size]/Ca,S=oe(b,a),A=Tr({displaced:r.displaced,id:b});return S?A?u>x[l.start]+w&&ux[l.start]-p+w&&fx[l.start]+p+w&&ux[l.start]+w&&f{let{pageOffset:t,draggable:n,draggables:r,droppables:i,previousImpact:s,viewport:a,afterCritical:l}=e;const c=Nr(n.page.borderBox,t),p=Da({pageBorderBox:c,draggable:n,droppables:i});if(!p)return Ws;const f=i[p],u=he(f.descriptor.id,r),d=Ia(f,c);return Ea({pageBorderBoxWithDroppableScroll:d,draggable:n,previousImpact:s,destination:f,insideDestination:u,afterCritical:l})||wa({pageBorderBoxWithDroppableScroll:d,draggable:n,destination:f,insideDestination:u,last:s.displaced,viewport:a,afterCritical:l})},"getDragImpact"),qt=o((e,t)=>({...e,[t.descriptor.id]:t}),"patchDroppableMap");const Aa=o(e=>{let{previousImpact:t,impact:n,droppables:r}=e;const i=z(t),s=z(n);if(!i||i===s)return r;const a=r[i];if(!a.subject.withPlaceholder)return r;const l=ga(a);return qt(r,l)},"clearUnusedPlaceholder");var Pa=o(e=>{let{draggable:t,draggables:n,droppables:r,previousImpact:i,impact:s}=e;const a=Aa({previousImpact:i,impact:s,droppables:r}),l=z(s);if(!l)return a;const c=r[l];if(ve(t,c)||c.subject.withPlaceholder)return a;const p=Or(c,t,n);return qt(a,p)},"recomputePlaceholders"),we=o(e=>{let{state:t,clientSelection:n,dimensions:r,viewport:i,impact:s,scrollJumpRequest:a}=e;const l=i||t.viewport,c=r||t.dimensions,p=n||t.current.client.selection,f=q(p,t.initial.client.selection),u={offset:f,selection:p,borderBoxCenter:j(t.initial.client.borderBoxCenter,f)},d={selection:j(u.selection,l.scroll.current),borderBoxCenter:j(u.borderBoxCenter,l.scroll.current),offset:j(u.offset,l.scroll.diff.value)},g={client:u,page:d};if(t.phase==="COLLECTING")return{...t,dimensions:c,viewport:l,current:g};const m=c.draggables[t.critical.draggable.id],h=s||Lr({pageOffset:d.offset,draggable:m,draggables:c.draggables,droppables:c.droppables,previousImpact:t.impact,viewport:l,afterCritical:t.afterCritical}),b=Pa({draggable:m,impact:h,previousImpact:t.impact,draggables:c.draggables,droppables:c.droppables});return{...t,current:g,dimensions:{draggables:c.draggables,droppables:b},impact:h,viewport:l,scrollJumpRequest:a||null,forceShouldAnimate:a?!1:null}},"update");function Ra(e,t){return e.map(n=>t[n])}o(Ra,"getDraggables");var Mr=o(e=>{let{impact:t,viewport:n,draggables:r,destination:i,forceShouldAnimate:s}=e;const a=t.displaced,l=Ra(a.all,r),c=Oe({afterDragging:l,destination:i,displacedBy:t.displacedBy,viewport:n.frame,forceShouldAnimate:s,last:a});return{...t,displaced:c}},"recompute"),Fr=o(e=>{let{impact:t,draggable:n,droppable:r,draggables:i,viewport:s,afterCritical:a}=e;const l=tt({impact:t,draggable:n,draggables:i,droppable:r,afterCritical:a});return Ht({pageBorderBoxCenter:l,draggable:n,viewport:s})},"getClientBorderBoxCenter"),Gr=o(e=>{let{state:t,dimensions:n,viewport:r}=e;t.movementMode!=="SNAP"&&y();const i=t.impact,s=r||t.viewport,a=n||t.dimensions,{draggables:l,droppables:c}=a,p=l[t.critical.draggable.id],f=z(i);f||y();const u=c[f],d=Mr({impact:i,viewport:s,destination:u,draggables:l}),g=Fr({impact:d,draggable:p,droppable:u,draggables:l,viewport:s,afterCritical:t.afterCritical});return we({impact:d,clientSelection:g,state:t,dimensions:a,viewport:s})},"refreshSnap"),Oa=o(e=>({index:e.index,droppableId:e.droppableId}),"getHomeLocation"),$r=o(e=>{let{draggable:t,home:n,draggables:r,viewport:i}=e;const s=Me(n.axis,t.displaceBy),a=he(n.descriptor.id,r),l=a.indexOf(t);l===-1&&y();const c=a.slice(l+1),p=c.reduce((g,m)=>(g[m.descriptor.id]=!0,g),{}),f={inVirtualList:n.descriptor.mode==="virtual",displacedBy:s,effected:p};return{impact:{displaced:Oe({afterDragging:c,destination:n,displacedBy:s,last:null,viewport:i.frame,forceShouldAnimate:!1}),displacedBy:s,at:{type:"REORDER",destination:Oa(t.descriptor)}},afterCritical:f}},"getLiftEffect"),Ba=o((e,t)=>({draggables:e.draggables,droppables:qt(e.droppables,t)}),"patchDimensionMap"),Na=o(e=>{let{draggable:t,offset:n,initialWindowScroll:r}=e;const i=He(t.client,n),s=qe(i,r);return{...t,placeholder:{...t.placeholder,client:i},client:i,page:s}},"offsetDraggable"),Ta=o(e=>{const t=e.frame;return t||y(),t},"getFrame"),La=o(e=>{let{additions:t,updatedDroppables:n,viewport:r}=e;const i=r.scroll.diff.value;return t.map(s=>{const a=s.descriptor.droppableId,l=n[a],p=Ta(l).scroll.diff.value,f=j(i,p);return Na({draggable:s,offset:f,initialWindowScroll:r.scroll.initial})})},"adjustAdditionsForScrollChanges"),Ma=o(e=>{let{state:t,published:n}=e;const r=n.modified.map(D=>{const w=t.dimensions.droppables[D.droppableId];return Wt(w,D.scroll)}),i={...t.dimensions.droppables,...xr(r)},s=Dr(La({additions:n.additions,updatedDroppables:i,viewport:t.viewport})),a={...t.dimensions.draggables,...s};n.removals.forEach(D=>{delete a[D]});const l={droppables:i,draggables:a},c=z(t.impact),p=c?l.droppables[c]:null,f=l.draggables[t.critical.draggable.id],u=l.droppables[t.critical.droppable.id],{impact:d,afterCritical:g}=$r({draggable:f,home:u,draggables:a,viewport:t.viewport}),m=p&&p.isCombineEnabled?t.impact:d,h=Lr({pageOffset:t.current.page.offset,draggable:l.draggables[t.critical.draggable.id],draggables:l.draggables,droppables:l.droppables,previousImpact:m,viewport:t.viewport,afterCritical:g}),b={...t,phase:"DRAGGING",impact:h,onLiftImpact:d,dimensions:l,afterCritical:g,forceShouldAnimate:!1};return t.phase==="COLLECTING"?b:{...b,phase:"DROP_PENDING",reason:t.reason,isWaiting:!1}},"publishWhileDraggingInVirtual");const At=o(e=>e.movementMode==="SNAP","isSnapping"),pt=o((e,t,n)=>{const r=Ba(e.dimensions,t);return!At(e)||n?we({state:e,dimensions:r}):Gr({state:e,dimensions:r})},"postDroppableChange");function ft(e){return e.isDragging&&e.movementMode==="SNAP"?{...e,scrollJumpRequest:null}:e}o(ft,"removeScrollJumpRequest");const Ln={phase:"IDLE",completed:null,shouldFlush:!1};var Fa=o(function(e,t){if(e===void 0&&(e=Ln),t.type==="FLUSH")return{...Ln,shouldFlush:!0};if(t.type==="INITIAL_PUBLISH"){e.phase!=="IDLE"&&y();const{critical:n,clientSelection:r,viewport:i,dimensions:s,movementMode:a}=t.payload,l=s.draggables[n.draggable.id],c=s.droppables[n.droppable.id],p={selection:r,borderBoxCenter:l.client.borderBox.center,offset:$},f={client:p,page:{selection:j(p.selection,i.scroll.initial),borderBoxCenter:j(p.selection,i.scroll.initial),offset:j(p.selection,i.scroll.diff.value)}},u=Qe(s.droppables).every(h=>!h.isFixedOnPage),{impact:d,afterCritical:g}=$r({draggable:l,home:c,draggables:s.draggables,viewport:i});return{phase:"DRAGGING",isDragging:!0,critical:n,movementMode:a,dimensions:s,initial:f,current:f,isWindowScrollAllowed:u,impact:d,afterCritical:g,onLiftImpact:d,viewport:i,scrollJumpRequest:null,forceShouldAnimate:null}}if(t.type==="COLLECTION_STARTING")return e.phase==="COLLECTING"||e.phase==="DROP_PENDING"?e:(e.phase!=="DRAGGING"&&y(),{...e,phase:"COLLECTING"});if(t.type==="PUBLISH_WHILE_DRAGGING")return e.phase==="COLLECTING"||e.phase==="DROP_PENDING"||y(),Ma({state:e,published:t.payload});if(t.type==="MOVE"){if(e.phase==="DROP_PENDING")return e;le(e)||y();const{client:n}=t.payload;return re(n,e.current.client.selection)?e:we({state:e,clientSelection:n,impact:At(e)?e.impact:null})}if(t.type==="UPDATE_DROPPABLE_SCROLL"){if(e.phase==="DROP_PENDING"||e.phase==="COLLECTING")return ft(e);le(e)||y();const{id:n,newScroll:r}=t.payload,i=e.dimensions.droppables[n];if(!i)return e;const s=Wt(i,r);return pt(e,s,!1)}if(t.type==="UPDATE_DROPPABLE_IS_ENABLED"){if(e.phase==="DROP_PENDING")return e;le(e)||y();const{id:n,isEnabled:r}=t.payload,i=e.dimensions.droppables[n];i||y(),i.isEnabled===r&&y();const s={...i,isEnabled:r};return pt(e,s,!0)}if(t.type==="UPDATE_DROPPABLE_IS_COMBINE_ENABLED"){if(e.phase==="DROP_PENDING")return e;le(e)||y();const{id:n,isCombineEnabled:r}=t.payload,i=e.dimensions.droppables[n];i||y(),i.isCombineEnabled===r&&y();const s={...i,isCombineEnabled:r};return pt(e,s,!0)}if(t.type==="MOVE_BY_WINDOW_SCROLL"){if(e.phase==="DROP_PENDING"||e.phase==="DROP_ANIMATING")return e;le(e)||y(),e.isWindowScrollAllowed||y();const n=t.payload.newScroll;if(re(e.viewport.scroll.current,n))return ft(e);const r=Ar(e.viewport,n);return At(e)?Gr({state:e,viewport:r}):we({state:e,viewport:r})}if(t.type==="UPDATE_VIEWPORT_MAX_SCROLL"){if(!le(e))return e;const n=t.payload.maxScroll;if(re(n,e.viewport.scroll.max))return e;const r={...e.viewport,scroll:{...e.viewport.scroll,max:n}};return{...e,viewport:r}}if(t.type==="MOVE_UP"||t.type==="MOVE_DOWN"||t.type==="MOVE_LEFT"||t.type==="MOVE_RIGHT"){if(e.phase==="COLLECTING"||e.phase==="DROP_PENDING")return e;e.phase!=="DRAGGING"&&y();const n=va({state:e,type:t.type});return n?we({state:e,impact:n.impact,clientSelection:n.clientSelection,scrollJumpRequest:n.scrollJumpRequest}):e}if(t.type==="DROP_PENDING"){const n=t.payload.reason;return e.phase!=="COLLECTING"&&y(),{...e,phase:"DROP_PENDING",isWaiting:!0,reason:n}}if(t.type==="DROP_ANIMATE"){const{completed:n,dropDuration:r,newHomeClientOffset:i}=t.payload;return e.phase==="DRAGGING"||e.phase==="DROP_PENDING"||y(),{phase:"DROP_ANIMATING",completed:n,dropDuration:r,newHomeClientOffset:i,dimensions:e.dimensions}}if(t.type==="DROP_COMPLETE"){const{completed:n}=t.payload;return{phase:"IDLE",completed:n,shouldFlush:!1}}return e},"reducer");const Ga=o(e=>({type:"BEFORE_INITIAL_CAPTURE",payload:e}),"beforeInitialCapture"),$a=o(e=>({type:"LIFT",payload:e}),"lift$1"),ja=o(e=>({type:"INITIAL_PUBLISH",payload:e}),"initialPublish"),Wa=o(e=>({type:"PUBLISH_WHILE_DRAGGING",payload:e}),"publishWhileDragging"),_a=o(()=>({type:"COLLECTION_STARTING",payload:null}),"collectionStarting"),Ua=o(e=>({type:"UPDATE_DROPPABLE_SCROLL",payload:e}),"updateDroppableScroll"),Va=o(e=>({type:"UPDATE_DROPPABLE_IS_ENABLED",payload:e}),"updateDroppableIsEnabled"),ka=o(e=>({type:"UPDATE_DROPPABLE_IS_COMBINE_ENABLED",payload:e}),"updateDroppableIsCombineEnabled"),jr=o(e=>({type:"MOVE",payload:e}),"move"),Ha=o(e=>({type:"MOVE_BY_WINDOW_SCROLL",payload:e}),"moveByWindowScroll"),qa=o(e=>({type:"UPDATE_VIEWPORT_MAX_SCROLL",payload:e}),"updateViewportMaxScroll"),za=o(()=>({type:"MOVE_UP",payload:null}),"moveUp"),Ya=o(()=>({type:"MOVE_DOWN",payload:null}),"moveDown"),Ka=o(()=>({type:"MOVE_RIGHT",payload:null}),"moveRight"),Ja=o(()=>({type:"MOVE_LEFT",payload:null}),"moveLeft"),zt=o(()=>({type:"FLUSH",payload:null}),"flush"),Xa=o(e=>({type:"DROP_ANIMATE",payload:e}),"animateDrop"),Yt=o(e=>({type:"DROP_COMPLETE",payload:e}),"completeDrop"),Wr=o(e=>({type:"DROP",payload:e}),"drop$1"),Qa=o(e=>({type:"DROP_PENDING",payload:e}),"dropPending"),_r=o(()=>({type:"DROP_ANIMATION_FINISHED",payload:null}),"dropAnimationFinished");var Za=o(e=>t=>{let{getState:n,dispatch:r}=t;return i=>s=>{if(s.type!=="LIFT"){i(s);return}const{id:a,clientSelection:l,movementMode:c}=s.payload,p=n();p.phase==="DROP_ANIMATING"&&r(Yt({completed:p.completed})),n().phase!=="IDLE"&&y(),r(zt()),r(Ga({draggableId:a,movementMode:c}));const u={draggableId:a,scrollOptions:{shouldPublishImmediately:c==="SNAP"}},{critical:d,dimensions:g,viewport:m}=e.startPublishing(u);r(ja({critical:d,dimensions:g,clientSelection:l,movementMode:c,viewport:m}))}},"lift"),el=o(e=>()=>t=>n=>{n.type==="INITIAL_PUBLISH"&&e.dragging(),n.type==="DROP_ANIMATE"&&e.dropping(n.payload.completed.result.reason),(n.type==="FLUSH"||n.type==="DROP_COMPLETE")&&e.resting(),t(n)},"style");const Kt={outOfTheWay:"cubic-bezier(0.2, 0, 0, 1)",drop:"cubic-bezier(.2,1,.1,1)"},Be={opacity:{drop:0,combining:.7},scale:{drop:.75}},Ur={outOfTheWay:.2,minDropTime:.33,maxDropTime:.55},ae=`${Ur.outOfTheWay}s ${Kt.outOfTheWay}`,Ce={fluid:`opacity ${ae}`,snap:`transform ${ae}, opacity ${ae}`,drop:o(e=>{const t=`${e}s ${Kt.drop}`;return`transform ${t}, opacity ${t}`},"drop"),outOfTheWay:`transform ${ae}`,placeholder:`height ${ae}, width ${ae}, margin ${ae}`},Mn=o(e=>re(e,$)?void 0:`translate(${e.x}px, ${e.y}px)`,"moveTo"),Pt={moveTo:Mn,drop:o((e,t)=>{const n=Mn(e);if(n)return t?`${n} scale(${Be.scale.drop})`:n},"drop")},{minDropTime:Rt,maxDropTime:Vr}=Ur,tl=Vr-Rt,Fn=1500,nl=.6;var rl=o(e=>{let{current:t,destination:n,reason:r}=e;const i=Pe(t,n);if(i<=0)return Rt;if(i>=Fn)return Vr;const s=i/Fn,a=Rt+tl*s,l=r==="CANCEL"?a*nl:a;return Number(l.toFixed(2))},"getDropDuration"),ol=o(e=>{let{impact:t,draggable:n,dimensions:r,viewport:i,afterCritical:s}=e;const{draggables:a,droppables:l}=r,c=z(t),p=c?l[c]:null,f=l[n.descriptor.droppableId],u=Fr({impact:t,draggable:n,draggables:a,afterCritical:s,droppable:p||f,viewport:i});return q(u,n.client.borderBox.center)},"getNewHomeClientOffset"),il=o(e=>{let{draggables:t,reason:n,lastImpact:r,home:i,viewport:s,onLiftImpact:a}=e;return!r.at||n!=="DROP"?{impact:Mr({draggables:t,impact:a,destination:i,viewport:s,forceShouldAnimate:!0}),didDropInsideDroppable:!1}:r.at.type==="REORDER"?{impact:r,didDropInsideDroppable:!0}:{impact:{...r,displaced:Re},didDropInsideDroppable:!0}},"getDropImpact");const sl=o(e=>{let{getState:t,dispatch:n}=e;return r=>i=>{if(i.type!=="DROP"){r(i);return}const s=t(),a=i.payload.reason;if(s.phase==="COLLECTING"){n(Qa({reason:a}));return}if(s.phase==="IDLE")return;s.phase==="DROP_PENDING"&&s.isWaiting&&y(),s.phase==="DRAGGING"||s.phase==="DROP_PENDING"||y();const c=s.critical,p=s.dimensions,f=p.draggables[s.critical.draggable.id],{impact:u,didDropInsideDroppable:d}=il({reason:a,lastImpact:s.impact,afterCritical:s.afterCritical,onLiftImpact:s.onLiftImpact,home:s.dimensions.droppables[s.critical.droppable.id],viewport:s.viewport,draggables:s.dimensions.draggables}),g=d?_t(u):null,m=d?Ze(u):null,h={index:c.draggable.index,droppableId:c.droppable.id},b={draggableId:f.descriptor.id,type:f.descriptor.type,source:h,reason:a,mode:s.movementMode,destination:g,combine:m},x=ol({impact:u,draggable:f,dimensions:p,viewport:s.viewport,afterCritical:s.afterCritical}),D={critical:s.critical,afterCritical:s.afterCritical,result:b,impact:u};if(!(!re(s.current.client.offset,x)||!!b.combine)){n(Yt({completed:D}));return}const S=rl({current:s.current.client.offset,destination:x,reason:a});n(Xa({newHomeClientOffset:x,dropDuration:S,completed:D}))}},"dropMiddleware");var al=sl,kr=o(()=>({x:window.pageXOffset,y:window.pageYOffset}),"getWindowScroll");function ll(e){return{eventName:"scroll",options:{passive:!0,capture:!1},fn:o(t=>{t.target!==window&&t.target!==window.document||e()},"fn")}}o(ll,"getWindowScrollBinding");function cl(e){let{onWindowScroll:t}=e;function n(){t(kr())}o(n,"updateScroll");const r=Ae(n),i=ll(r);let s=ne;function a(){return s!==ne}o(a,"isActive2");function l(){a()&&y(),s=X(window,[i])}o(l,"start2");function c(){a()||y(),r.cancel(),s(),s=ne}return o(c,"stop"),{start:l,stop:c,isActive:a}}o(cl,"getScrollListener");const dl=o(e=>e.type==="DROP_COMPLETE"||e.type==="DROP_ANIMATE"||e.type==="FLUSH","shouldEnd"),ul=o(e=>{const t=cl({onWindowScroll:o(n=>{e.dispatch(Ha({newScroll:n}))},"onWindowScroll")});return n=>r=>{!t.isActive()&&r.type==="INITIAL_PUBLISH"&&t.start(),t.isActive()&&dl(r)&&t.stop(),n(r)}},"scrollListener");var pl=ul,fl=o(e=>{let t=!1,n=!1;const r=setTimeout(()=>{n=!0}),i=o(s=>{t||n||(t=!0,e(s),clearTimeout(r))},"result");return i.wasCalled=()=>t,i},"getExpiringAnnounce"),gl=o(()=>{const e=[],t=o(i=>{const s=e.findIndex(l=>l.timerId===i);s===-1&&y();const[a]=e.splice(s,1);a.callback()},"execute2");return{add:o(i=>{const s=setTimeout(()=>t(s)),a={timerId:s,callback:i};e.push(a)},"add2"),flush:o(()=>{if(!e.length)return;const i=[...e];e.length=0,i.forEach(s=>{clearTimeout(s.timerId),s.callback()})},"flush2")}},"getAsyncMarshal");const ml=o((e,t)=>e==null&&t==null?!0:e==null||t==null?!1:e.droppableId===t.droppableId&&e.index===t.index,"areLocationsEqual"),bl=o((e,t)=>e==null&&t==null?!0:e==null||t==null?!1:e.draggableId===t.draggableId&&e.droppableId===t.droppableId,"isCombineEqual"),hl=o((e,t)=>{if(e===t)return!0;const n=e.draggable.id===t.draggable.id&&e.draggable.droppableId===t.draggable.droppableId&&e.draggable.type===t.draggable.type&&e.draggable.index===t.draggable.index,r=e.droppable.id===t.droppable.id&&e.droppable.type===t.droppable.type;return n&&r},"isCriticalEqual"),De=o((e,t)=>{t()},"withTimings"),We=o((e,t)=>({draggableId:e.draggable.id,type:e.droppable.type,source:{droppableId:e.droppable.id,index:e.draggable.index},mode:t}),"getDragStart");function gt(e,t,n,r){if(!e){n(r(t));return}const i=fl(n);e(t,{announce:i}),i.wasCalled()||n(r(t))}o(gt,"execute");var vl=o((e,t)=>{const n=gl();let r=null;const i=o((u,d)=>{r&&y(),De("onBeforeCapture",()=>{const g=e().onBeforeCapture;g&&g({draggableId:u,mode:d})})},"beforeCapture"),s=o((u,d)=>{r&&y(),De("onBeforeDragStart",()=>{const g=e().onBeforeDragStart;g&&g(We(u,d))})},"beforeStart"),a=o((u,d)=>{r&&y();const g=We(u,d);r={mode:d,lastCritical:u,lastLocation:g.source,lastCombine:null},n.add(()=>{De("onDragStart",()=>gt(e().onDragStart,g,t,Ve.onDragStart))})},"start2"),l=o((u,d)=>{const g=_t(d),m=Ze(d);r||y();const h=!hl(u,r.lastCritical);h&&(r.lastCritical=u);const b=!ml(r.lastLocation,g);b&&(r.lastLocation=g);const x=!bl(r.lastCombine,m);if(x&&(r.lastCombine=m),!h&&!b&&!x)return;const D={...We(u,r.mode),combine:m,destination:g};n.add(()=>{De("onDragUpdate",()=>gt(e().onDragUpdate,D,t,Ve.onDragUpdate))})},"update2"),c=o(()=>{r||y(),n.flush()},"flush2"),p=o(u=>{r||y(),r=null,De("onDragEnd",()=>gt(e().onDragEnd,u,t,Ve.onDragEnd))},"drop2");return{beforeCapture:i,beforeStart:s,start:a,update:l,flush:c,drop:p,abort:o(()=>{if(!r)return;const u={...We(r.lastCritical,r.mode),combine:null,destination:null,reason:"CANCEL"};p(u)},"abort")}},"getPublisher"),yl=o((e,t)=>{const n=vl(e,t);return r=>i=>s=>{if(s.type==="BEFORE_INITIAL_CAPTURE"){n.beforeCapture(s.payload.draggableId,s.payload.movementMode);return}if(s.type==="INITIAL_PUBLISH"){const l=s.payload.critical;n.beforeStart(l,s.payload.movementMode),i(s),n.start(l,s.payload.movementMode);return}if(s.type==="DROP_COMPLETE"){const l=s.payload.completed.result;n.flush(),i(s),n.drop(l);return}if(i(s),s.type==="FLUSH"){n.abort();return}const a=r.getState();a.phase==="DRAGGING"&&n.update(a.critical,a.impact)}},"responders");const xl=o(e=>t=>n=>{if(n.type!=="DROP_ANIMATION_FINISHED"){t(n);return}const r=e.getState();r.phase!=="DROP_ANIMATING"&&y(),e.dispatch(Yt({completed:r.completed}))},"dropAnimationFinishMiddleware");var Dl=xl;const Il=o(e=>{let t=null,n=null;function r(){n&&(cancelAnimationFrame(n),n=null),t&&(t(),t=null)}return o(r,"clear"),i=>s=>{if((s.type==="FLUSH"||s.type==="DROP_COMPLETE"||s.type==="DROP_ANIMATION_FINISHED")&&r(),i(s),s.type!=="DROP_ANIMATE")return;const a={eventName:"scroll",options:{capture:!0,passive:!1,once:!0},fn:o(function(){e.getState().phase==="DROP_ANIMATING"&&e.dispatch(_r())},"flushDropAnimation")};n=requestAnimationFrame(()=>{n=null,t=X(window,[a])})}},"dropAnimationFlushOnScrollMiddleware");var Sl=Il,wl=o(e=>()=>t=>n=>{(n.type==="DROP_COMPLETE"||n.type==="FLUSH"||n.type==="DROP_ANIMATE")&&e.stopPublishing(),t(n)},"dimensionMarshalStopper"),Cl=o(e=>{let t=!1;return()=>n=>r=>{if(r.type==="INITIAL_PUBLISH"){t=!0,e.tryRecordFocus(r.payload.critical.draggable.id),n(r),e.tryRestoreFocusRecorded();return}if(n(r),!!t){if(r.type==="FLUSH"){t=!1,e.tryRestoreFocusRecorded();return}if(r.type==="DROP_COMPLETE"){t=!1;const i=r.payload.completed.result;i.combine&&e.tryShiftRecord(i.draggableId,i.combine.draggableId),e.tryRestoreFocusRecorded()}}}},"focus");const El=o(e=>e.type==="DROP_COMPLETE"||e.type==="DROP_ANIMATE"||e.type==="FLUSH","shouldStop");var Al=o(e=>t=>n=>r=>{if(El(r)){e.stop(),n(r);return}if(r.type==="INITIAL_PUBLISH"){n(r);const i=t.getState();i.phase!=="DRAGGING"&&y(),e.start(i);return}n(r),e.scroll(t.getState())},"autoScroll");const Pl=o(e=>t=>n=>{if(t(n),n.type!=="PUBLISH_WHILE_DRAGGING")return;const r=e.getState();r.phase==="DROP_PENDING"&&(r.isWaiting||e.dispatch(Wr({reason:r.reason})))},"pendingDrop");var Rl=Pl;const Ol=rr;var Bl=o(e=>{let{dimensionMarshal:t,focusMarshal:n,styleMarshal:r,getResponders:i,announce:s,autoScroller:a}=e;return nr(Fa,Ol(Pi(el(r),wl(t),Za(t),al,Dl,Sl,Rl,Al(a),pl,Cl(n),yl(i,s))))},"createStore");const mt=o(()=>({additions:{},removals:{},modified:{}}),"clean$1");function Nl(e){let{registry:t,callbacks:n}=e,r=mt(),i=null;const s=o(()=>{i||(n.collectionStarting(),i=requestAnimationFrame(()=>{i=null;const{additions:p,removals:f,modified:u}=r,d=Object.keys(p).map(h=>t.draggable.getById(h).getDimension($)).sort((h,b)=>h.descriptor.index-b.descriptor.index),g=Object.keys(u).map(h=>{const x=t.droppable.getById(h).callbacks.getScrollWhileDragging();return{droppableId:h,scroll:x}}),m={additions:d,removals:Object.keys(f),modified:g};r=mt(),n.publish(m)}))},"collect");return{add:o(p=>{const f=p.descriptor.id;r.additions[f]=p,r.modified[p.descriptor.droppableId]=!0,r.removals[f]&&delete r.removals[f],s()},"add2"),remove:o(p=>{const f=p.descriptor;r.removals[f.id]=!0,r.modified[f.droppableId]=!0,r.additions[f.id]&&delete r.additions[f.id],s()},"remove"),stop:o(()=>{i&&(cancelAnimationFrame(i),i=null,r=mt())},"stop")}}o(Nl,"createPublisher");var Hr=o(e=>{let{scrollHeight:t,scrollWidth:n,height:r,width:i}=e;const s=q({x:n,y:t},{x:i,y:r});return{x:Math.max(0,s.x),y:Math.max(0,s.y)}},"getMaxScroll"),qr=o(()=>{const e=document.documentElement;return e||y(),e},"getDocumentElement"),zr=o(()=>{const e=qr();return Hr({scrollHeight:e.scrollHeight,scrollWidth:e.scrollWidth,width:e.clientWidth,height:e.clientHeight})},"getMaxWindowScroll"),Tl=o(()=>{const e=kr(),t=zr(),n=e.y,r=e.x,i=qr(),s=i.clientWidth,a=i.clientHeight,l=r+s,c=n+a;return{frame:Z({top:n,left:r,right:l,bottom:c}),scroll:{initial:e,current:e,max:t,diff:{value:$,displacement:$}}}},"getViewport"),Ll=o(e=>{let{critical:t,scrollOptions:n,registry:r}=e;const i=Tl(),s=i.scroll.current,a=t.droppable,l=r.droppable.getAllByType(a.type).map(u=>u.callbacks.getDimensionAndWatchScroll(s,n)),c=r.draggable.getAllByType(t.draggable.type).map(u=>u.getDimension(s));return{dimensions:{draggables:Dr(c),droppables:xr(l)},critical:t,viewport:i}},"getInitialPublish");function Gn(e,t,n){return!(n.descriptor.id===t.id||n.descriptor.type!==t.type||e.droppable.getById(n.descriptor.droppableId).descriptor.mode!=="virtual")}o(Gn,"shouldPublishUpdate");var Ml=o((e,t)=>{let n=null;const r=Nl({callbacks:{publish:t.publishWhileDragging,collectionStarting:t.collectionStarting},registry:e}),i=o((d,g)=>{e.droppable.exists(d)||y(),n&&t.updateDroppableIsEnabled({id:d,isEnabled:g})},"updateDroppableIsEnabled2"),s=o((d,g)=>{n&&(e.droppable.exists(d)||y(),t.updateDroppableIsCombineEnabled({id:d,isCombineEnabled:g}))},"updateDroppableIsCombineEnabled2"),a=o((d,g)=>{n&&(e.droppable.exists(d)||y(),t.updateDroppableScroll({id:d,newScroll:g}))},"updateDroppableScroll2"),l=o((d,g)=>{n&&e.droppable.getById(d).callbacks.scroll(g)},"scrollDroppable2"),c=o(()=>{if(!n)return;r.stop();const d=n.critical.droppable;e.droppable.getAllByType(d.type).forEach(g=>g.callbacks.dragStopped()),n.unsubscribe(),n=null},"stopPublishing"),p=o(d=>{n||y();const g=n.critical.draggable;d.type==="ADDITION"&&Gn(e,g,d.value)&&r.add(d.value),d.type==="REMOVAL"&&Gn(e,g,d.value)&&r.remove(d.value)},"subscriber");return{updateDroppableIsEnabled:i,updateDroppableIsCombineEnabled:s,scrollDroppable:l,updateDroppableScroll:a,startPublishing:o(d=>{n&&y();const g=e.draggable.getById(d.draggableId),m=e.droppable.getById(g.descriptor.droppableId),h={draggable:g.descriptor,droppable:m.descriptor},b=e.subscribe(p);return n={critical:h,unsubscribe:b},Ll({critical:h,registry:e,scrollOptions:d.scrollOptions})},"startPublishing"),stopPublishing:c}},"createDimensionMarshal"),Yr=o((e,t)=>e.phase==="IDLE"?!0:e.phase!=="DROP_ANIMATING"||e.completed.result.draggableId===t?!1:e.completed.result.reason==="DROP","canStartDrag"),Fl=o(e=>{window.scrollBy(e.x,e.y)},"scrollWindow");const Gl=G(e=>Qe(e).filter(t=>!(!t.isEnabled||!t.frame))),$l=o((e,t)=>Gl(t).find(r=>(r.frame||y(),Br(r.frame.pageMarginBox)(e)))||null,"getScrollableDroppableOver");var jl=o(e=>{let{center:t,destination:n,droppables:r}=e;if(n){const s=r[n];return s.frame?s:null}return $l(t,r)},"getBestScrollableDroppable");const Ne={startFromPercentage:.25,maxScrollAtPercentage:.05,maxPixelScroll:28,ease:o(e=>e**2,"ease"),durationDampening:{stopDampeningAt:1200,accelerateAt:360},disabled:!1};var Wl=o(function(e,t,n){n===void 0&&(n=o(()=>Ne,"getAutoScrollerOptions"));const r=n(),i=e[t.size]*r.startFromPercentage,s=e[t.size]*r.maxScrollAtPercentage;return{startScrollingFrom:i,maxScrollValueAt:s}},"getDistanceThresholds"),Kr=o(e=>{let{startOfRange:t,endOfRange:n,current:r}=e;const i=n-t;return i===0?0:(r-t)/i},"getPercentage"),Jt=1,_l=o(function(e,t,n){n===void 0&&(n=o(()=>Ne,"getAutoScrollerOptions"));const r=n();if(e>t.startScrollingFrom)return 0;if(e<=t.maxScrollValueAt)return r.maxPixelScroll;if(e===t.startScrollingFrom)return Jt;const s=1-Kr({startOfRange:t.maxScrollValueAt,endOfRange:t.startScrollingFrom,current:e}),a=r.maxPixelScroll*r.ease(s);return Math.ceil(a)},"getValueFromDistance"),Ul=o((e,t,n)=>{const r=n(),i=r.durationDampening.accelerateAt,s=r.durationDampening.stopDampeningAt,a=t,l=s,p=Date.now()-a;if(p>=s)return e;if(p{let{distanceToEdge:t,thresholds:n,dragStartTime:r,shouldUseTimeDampening:i,getAutoScrollerOptions:s}=e;const a=_l(t,n,s);return a===0?0:i?Math.max(Ul(a,r,s),Jt):a},"getValue"),jn=o(e=>{let{container:t,distanceToEdges:n,dragStartTime:r,axis:i,shouldUseTimeDampening:s,getAutoScrollerOptions:a}=e;const l=Wl(t,i,a);return n[i.end]{let{container:t,subject:n,proposedScroll:r}=e;const i=n.height>t.height,s=n.width>t.width;return!s&&!i?r:s&&i?null:{x:s?0:r.x,y:i?0:r.y}},"adjustForSizeLimits");const kl=yr(e=>e===0?0:e);var Jr=o(e=>{let{dragStartTime:t,container:n,subject:r,center:i,shouldUseTimeDampening:s,getAutoScrollerOptions:a}=e;const l={top:i.y-n.top,right:n.right-i.x,bottom:n.bottom-i.y,left:i.x-n.left},c=jn({container:n,distanceToEdges:l,dragStartTime:t,axis:Ut,shouldUseTimeDampening:s,getAutoScrollerOptions:a}),p=jn({container:n,distanceToEdges:l,dragStartTime:t,axis:wr,shouldUseTimeDampening:s,getAutoScrollerOptions:a}),f=kl({x:p,y:c});if(re(f,$))return null;const u=Vl({container:n,subject:r,proposedScroll:f});return u?re(u,$)?null:u:null},"getScroll$1");const Hl=yr(e=>e===0?0:e>0?1:-1),Xt=(()=>{const e=o((t,n)=>t<0?t:t>n?t-n:0,"getRemainder");return t=>{let{current:n,max:r,change:i}=t;const s=j(n,i),a={x:e(s.x,r.x),y:e(s.y,r.y)};return re(a,$)?null:a}})(),Xr=o(e=>{let{max:t,current:n,change:r}=e;const i={x:Math.max(n.x,t.x),y:Math.max(n.y,t.y)},s=Hl(r),a=Xt({max:i,current:n,change:s});return!a||s.x!==0&&a.x===0||s.y!==0&&a.y===0},"canPartiallyScroll"),Qt=o((e,t)=>Xr({current:e.scroll.current,max:e.scroll.max,change:t}),"canScrollWindow"),ql=o((e,t)=>{if(!Qt(e,t))return null;const n=e.scroll.max,r=e.scroll.current;return Xt({current:r,max:n,change:t})},"getWindowOverlap"),Zt=o((e,t)=>{const n=e.frame;return n?Xr({current:n.scroll.current,max:n.scroll.max,change:t}):!1},"canScrollDroppable"),zl=o((e,t)=>{const n=e.frame;return!n||!Zt(e,t)?null:Xt({current:n.scroll.current,max:n.scroll.max,change:t})},"getDroppableOverlap");var Yl=o(e=>{let{viewport:t,subject:n,center:r,dragStartTime:i,shouldUseTimeDampening:s,getAutoScrollerOptions:a}=e;const l=Jr({dragStartTime:i,container:t.frame,subject:n,center:r,shouldUseTimeDampening:s,getAutoScrollerOptions:a});return l&&Qt(t,l)?l:null},"getWindowScrollChange"),Kl=o(e=>{let{droppable:t,subject:n,center:r,dragStartTime:i,shouldUseTimeDampening:s,getAutoScrollerOptions:a}=e;const l=t.frame;if(!l)return null;const c=Jr({dragStartTime:i,container:l.pageMarginBox,subject:n,center:r,shouldUseTimeDampening:s,getAutoScrollerOptions:a});return c&&Zt(t,c)?c:null},"getDroppableScrollChange"),Wn=o(e=>{let{state:t,dragStartTime:n,shouldUseTimeDampening:r,scrollWindow:i,scrollDroppable:s,getAutoScrollerOptions:a}=e;const l=t.current.page.borderBoxCenter,p=t.dimensions.draggables[t.critical.draggable.id].page.marginBox;if(t.isWindowScrollAllowed){const d=t.viewport,g=Yl({dragStartTime:n,viewport:d,subject:p,center:l,shouldUseTimeDampening:r,getAutoScrollerOptions:a});if(g){i(g);return}}const f=jl({center:l,destination:z(t.impact),droppables:t.dimensions.droppables});if(!f)return;const u=Kl({dragStartTime:n,droppable:f,subject:p,center:l,shouldUseTimeDampening:r,getAutoScrollerOptions:a});u&&s(f.descriptor.id,u)},"scroll"),Jl=o(e=>{let{scrollWindow:t,scrollDroppable:n,getAutoScrollerOptions:r=o(()=>Ne,"getAutoScrollerOptions")}=e;const i=Ae(t),s=Ae(n);let a=null;const l=o(f=>{a||y();const{shouldUseTimeDampening:u,dragStartTime:d}=a;Wn({state:f,scrollWindow:i,scrollDroppable:s,dragStartTime:d,shouldUseTimeDampening:u,getAutoScrollerOptions:r})},"tryScroll");return{start:o(f=>{a&&y();const u=Date.now();let d=!1;const g=o(()=>{d=!0},"fakeScrollCallback");Wn({state:f,dragStartTime:0,shouldUseTimeDampening:!1,scrollWindow:g,scrollDroppable:g,getAutoScrollerOptions:r}),a={dragStartTime:u,shouldUseTimeDampening:d},d&&l(f)},"start$1"),stop:o(()=>{a&&(i.cancel(),s.cancel(),a=null)},"stop"),scroll:l}},"createFluidScroller"),Xl=o(e=>{let{move:t,scrollDroppable:n,scrollWindow:r}=e;const i=o((c,p)=>{const f=j(c.current.client.selection,p);t({client:f})},"moveByOffset"),s=o((c,p)=>{if(!Zt(c,p))return p;const f=zl(c,p);if(!f)return n(c.descriptor.id,p),null;const u=q(p,f);return n(c.descriptor.id,u),q(p,u)},"scrollDroppableAsMuchAsItCan"),a=o((c,p,f)=>{if(!c||!Qt(p,f))return f;const u=ql(p,f);if(!u)return r(f),null;const d=q(f,u);return r(d),q(f,d)},"scrollWindowAsMuchAsItCan");return o(c=>{const p=c.scrollJumpRequest;if(!p)return;const f=z(c.impact);f||y();const u=s(c.dimensions.droppables[f],p);if(!u)return;const d=c.viewport,g=a(c.isWindowScrollAllowed,d,u);g&&i(c,g)},"jumpScroller")},"createJumpScroller"),Ql=o(e=>{let{scrollDroppable:t,scrollWindow:n,move:r,getAutoScrollerOptions:i}=e;const s=Jl({scrollWindow:n,scrollDroppable:t,getAutoScrollerOptions:i}),a=Xl({move:r,scrollWindow:n,scrollDroppable:t});return{scroll:o(p=>{if(!(i().disabled||p.phase!=="DRAGGING")){if(p.movementMode==="FLUID"){s.scroll(p);return}p.scrollJumpRequest&&a(p)}},"scroll2"),start:s.start,stop:s.stop}},"createAutoScroller");const ge="data-rfd",me=(()=>{const e=`${ge}-drag-handle`;return{base:e,draggableId:`${e}-draggable-id`,contextId:`${e}-context-id`}})(),Ot=(()=>{const e=`${ge}-draggable`;return{base:e,contextId:`${e}-context-id`,id:`${e}-id`}})(),Zl=(()=>{const e=`${ge}-droppable`;return{base:e,contextId:`${e}-context-id`,id:`${e}-id`}})(),_n={contextId:`${ge}-scroll-container-context-id`},ec=o(e=>t=>`[${t}="${e}"]`,"makeGetSelector"),Ie=o((e,t)=>e.map(n=>{const r=n.styles[t];return r?`${n.selector} { ${r} }`:""}).join(" "),"getStyles"),tc="pointer-events: none;";var nc=o(e=>{const t=ec(e),n=(()=>{const l=` + cursor: -webkit-grab; + cursor: grab; + `;return{selector:t(me.contextId),styles:{always:` + -webkit-touch-callout: none; + -webkit-tap-highlight-color: rgba(0,0,0,0); + touch-action: manipulation; + `,resting:l,dragging:tc,dropAnimating:l}}})(),r=(()=>{const l=` + transition: ${Ce.outOfTheWay}; + `;return{selector:t(Ot.contextId),styles:{dragging:l,dropAnimating:l,userCancel:l}}})(),i={selector:t(Zl.contextId),styles:{always:"overflow-anchor: none;"}},a=[r,n,i,{selector:"body",styles:{dragging:` + cursor: grabbing; + cursor: -webkit-grabbing; + user-select: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + overflow-anchor: none; + `}}];return{always:Ie(a,"always"),resting:Ie(a,"resting"),dragging:Ie(a,"dragging"),dropAnimating:Ie(a,"dropAnimating"),userCancel:Ie(a,"userCancel")}},"getStyles$1");const rc=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u"?I.useLayoutEffect:I.useEffect;var Y=rc;const bt=o(()=>{const e=document.querySelector("head");return e||y(),e},"getHead"),Un=o(e=>{const t=document.createElement("style");return e&&t.setAttribute("nonce",e),t.type="text/css",t},"createStyleEl");function oc(e,t){const n=R(()=>nc(e),[e]),r=I.useRef(null),i=I.useRef(null),s=C(G(u=>{const d=i.current;d||y(),d.textContent=u}),[]),a=C(u=>{const d=r.current;d||y(),d.textContent=u},[]);Y(()=>{!r.current&&!i.current||y();const u=Un(t),d=Un(t);return r.current=u,i.current=d,u.setAttribute(`${ge}-always`,e),d.setAttribute(`${ge}-dynamic`,e),bt().appendChild(u),bt().appendChild(d),a(n.always),s(n.resting),()=>{const g=o(m=>{const h=m.current;h||y(),bt().removeChild(h),m.current=null},"remove");g(r),g(i)}},[t,a,s,n.always,n.resting,e]);const l=C(()=>s(n.dragging),[s,n.dragging]),c=C(u=>{if(u==="DROP"){s(n.dropAnimating);return}s(n.userCancel)},[s,n.dropAnimating,n.userCancel]),p=C(()=>{i.current&&s(n.resting)},[s,n.resting]);return R(()=>({dragging:l,dropping:c,resting:p}),[l,c,p])}o(oc,"useStyleMarshal");function Qr(e,t){return Array.from(e.querySelectorAll(t))}o(Qr,"querySelectorAll");var Zr=o(e=>{var t;return((t=e==null?void 0:e.ownerDocument)==null?void 0:t.defaultView)||window},"getWindowFromEl");function nt(e){return e instanceof Zr(e).HTMLElement}o(nt,"isHtmlElement");function ic(e,t){const n=`[${me.contextId}="${e}"]`,r=Qr(document,n);if(!r.length)return null;const i=r.find(s=>s.getAttribute(me.draggableId)===t);return!i||!nt(i)?null:i}o(ic,"findDragHandle");function sc(e){const t=I.useRef({}),n=I.useRef(null),r=I.useRef(null),i=I.useRef(!1),s=C(o(function(d,g){const m={id:d,focus:g};return t.current[d]=m,o(function(){const b=t.current;b[d]!==m&&delete b[d]},"unregister")},"register2"),[]),a=C(o(function(d){const g=ic(e,d);g&&g!==document.activeElement&&g.focus()},"tryGiveFocus2"),[e]),l=C(o(function(d,g){n.current===d&&(n.current=g)},"tryShiftRecord2"),[]),c=C(o(function(){r.current||i.current&&(r.current=requestAnimationFrame(()=>{r.current=null;const d=n.current;d&&a(d)}))},"tryRestoreFocusRecorded2"),[a]),p=C(o(function(d){n.current=null;const g=document.activeElement;g&&g.getAttribute(me.draggableId)===d&&(n.current=d)},"tryRecordFocus2"),[]);return Y(()=>(i.current=!0,o(function(){i.current=!1;const d=r.current;d&&cancelAnimationFrame(d)},"clearFrameOnUnmount")),[]),R(()=>({register:s,tryRecordFocus:p,tryRestoreFocusRecorded:c,tryShiftRecord:l}),[s,p,c,l])}o(sc,"useFocusMarshal");function ac(){const e={draggables:{},droppables:{}},t=[];function n(u){return t.push(u),o(function(){const g=t.indexOf(u);g!==-1&&t.splice(g,1)},"unsubscribe")}o(n,"subscribe");function r(u){t.length&&t.forEach(d=>d(u))}o(r,"notify");function i(u){return e.draggables[u]||null}o(i,"findDraggableById");function s(u){const d=i(u);return d||y(),d}o(s,"getDraggableById");const a={register:o(u=>{e.draggables[u.descriptor.id]=u,r({type:"ADDITION",value:u})},"register"),update:o((u,d)=>{const g=e.draggables[d.descriptor.id];g&&g.uniqueId===u.uniqueId&&(delete e.draggables[d.descriptor.id],e.draggables[u.descriptor.id]=u)},"update"),unregister:o(u=>{const d=u.descriptor.id,g=i(d);g&&u.uniqueId===g.uniqueId&&(delete e.draggables[d],e.droppables[u.descriptor.droppableId]&&r({type:"REMOVAL",value:u}))},"unregister"),getById:s,findById:i,exists:o(u=>!!i(u),"exists"),getAllByType:o(u=>Object.values(e.draggables).filter(d=>d.descriptor.type===u),"getAllByType")};function l(u){return e.droppables[u]||null}o(l,"findDroppableById");function c(u){const d=l(u);return d||y(),d}o(c,"getDroppableById");const p={register:o(u=>{e.droppables[u.descriptor.id]=u},"register"),unregister:o(u=>{const d=l(u.descriptor.id);d&&u.uniqueId===d.uniqueId&&delete e.droppables[u.descriptor.id]},"unregister"),getById:c,findById:l,exists:o(u=>!!l(u),"exists"),getAllByType:o(u=>Object.values(e.droppables).filter(d=>d.descriptor.type===u),"getAllByType")};function f(){e.draggables={},e.droppables={},t.length=0}return o(f,"clean2"),{draggable:a,droppable:p,subscribe:n,clean:f}}o(ac,"createRegistry");function lc(){const e=R(ac,[]);return I.useEffect(()=>o(function(){P.version.startsWith("16")||P.version.startsWith("17")?requestAnimationFrame(e.clean):e.clean()},"unmount"),[e]),e}o(lc,"useRegistry");var en=P.createContext(null),Ke=o(()=>{const e=document.body;return e||y(),e},"getBodyElement");const cc={position:"absolute",width:"1px",height:"1px",margin:"-1px",border:"0",padding:"0",overflow:"hidden",clip:"rect(0 0 0 0)","clip-path":"inset(100%)"};var dc=cc;const uc=o(e=>`rfd-announcement-${e}`,"getId");function pc(e){const t=R(()=>uc(e),[e]),n=I.useRef(null);return I.useEffect(o(function(){const s=document.createElement("div");return n.current=s,s.id=t,s.setAttribute("aria-live","assertive"),s.setAttribute("aria-atomic","true"),de(s.style,dc),Ke().appendChild(s),o(function(){setTimeout(o(function(){const c=Ke();c.contains(s)&&c.removeChild(s),s===n.current&&(n.current=null)},"remove"))},"cleanup")},"setup"),[t]),C(i=>{const s=n.current;if(s){s.textContent=i;return}},[])}o(pc,"useAnnouncer");let fc=0;const eo={separator:"::"};function gc(e,t){return t===void 0&&(t=eo),R(()=>`${e}${t.separator}${fc++}`,[t.separator,e])}o(gc,"useDeprecatedUniqueId");function mc(e,t){t===void 0&&(t=eo);const n=P.useId();return R(()=>`${e}${t.separator}${n}`,[t.separator,e,n])}o(mc,"useUniqueId");var tn="useId"in P?mc:gc;function bc(e){let{contextId:t,uniqueId:n}=e;return`rfd-hidden-text-${t}-${n}`}o(bc,"getElementId");function hc(e){let{contextId:t,text:n}=e;const r=tn("hidden-text",{separator:"-"}),i=R(()=>bc({contextId:t,uniqueId:r}),[r,t]);return I.useEffect(o(function(){const a=document.createElement("div");return a.id=i,a.textContent=n,a.style.display="none",Ke().appendChild(a),o(function(){const c=Ke();c.contains(a)&&c.removeChild(a)},"unmount")},"mount"),[i,n]),i}o(hc,"useHiddenTextElement");var rt=P.createContext(null);function to(e){const t=I.useRef(e);return I.useEffect(()=>{t.current=e}),t}o(to,"usePrevious");function vc(){let e=null;function t(){return!!e}o(t,"isClaimed");function n(a){return a===e}o(n,"isActive2");function r(a){e&&y();const l={abandon:a};return e=l,l}o(r,"claim");function i(){e||y(),e=null}o(i,"release");function s(){e&&(e.abandon(),i())}return o(s,"tryAbandon"),{isClaimed:t,isActive:n,claim:r,release:i,tryAbandon:s}}o(vc,"create");function Te(e){return e.phase==="IDLE"||e.phase==="DROP_ANIMATING"?!1:e.isDragging}o(Te,"isDragging");const yc=9,xc=13,nn=27,no=32,Dc=33,Ic=34,Sc=35,wc=36,Cc=37,Ec=38,Ac=39,Pc=40,Rc={[xc]:!0,[yc]:!0};var ro=o(e=>{Rc[e.keyCode]&&e.preventDefault()},"preventStandardKeyEvents");const Oc=(()=>{const e="visibilitychange";return typeof document>"u"?e:[e,`ms${e}`,`webkit${e}`,`moz${e}`,`o${e}`].find(r=>`on${r}`in document)||e})();var ot=Oc;const oo=0,Vn=5;function Bc(e,t){return Math.abs(t.x-e.x)>=Vn||Math.abs(t.y-e.y)>=Vn}o(Bc,"isSloppyClickThresholdExceeded");const kn={type:"IDLE"};function Nc(e){let{cancel:t,completed:n,getPhase:r,setPhase:i}=e;return[{eventName:"mousemove",fn:o(s=>{const{button:a,clientX:l,clientY:c}=s;if(a!==oo)return;const p={x:l,y:c},f=r();if(f.type==="DRAGGING"){s.preventDefault(),f.actions.move(p);return}f.type!=="PENDING"&&y();const u=f.point;if(!Bc(u,p))return;s.preventDefault();const d=f.actions.fluidLift(p);i({type:"DRAGGING",actions:d})},"fn")},{eventName:"mouseup",fn:o(s=>{const a=r();if(a.type!=="DRAGGING"){t();return}s.preventDefault(),a.actions.drop({shouldBlockNextClick:!0}),n()},"fn")},{eventName:"mousedown",fn:o(s=>{r().type==="DRAGGING"&&s.preventDefault(),t()},"fn")},{eventName:"keydown",fn:o(s=>{if(r().type==="PENDING"){t();return}if(s.keyCode===nn){s.preventDefault(),t();return}ro(s)},"fn")},{eventName:"resize",fn:t},{eventName:"scroll",options:{passive:!0,capture:!1},fn:o(()=>{r().type==="PENDING"&&t()},"fn")},{eventName:"webkitmouseforcedown",fn:o(s=>{const a=r();if(a.type==="IDLE"&&y(),a.actions.shouldRespectForcePress()){t();return}s.preventDefault()},"fn")},{eventName:ot,fn:t}]}o(Nc,"getCaptureBindings");function Tc(e){const t=I.useRef(kn),n=I.useRef(ne),r=R(()=>({eventName:"mousedown",fn:o(function(u){if(u.defaultPrevented||u.button!==oo||u.ctrlKey||u.metaKey||u.shiftKey||u.altKey)return;const d=e.findClosestDraggableId(u);if(!d)return;const g=e.tryGetLock(d,a,{sourceEvent:u});if(!g)return;u.preventDefault();const m={x:u.clientX,y:u.clientY};n.current(),p(g,m)},"onMouseDown")}),[e]),i=R(()=>({eventName:"webkitmouseforcewillbegin",fn:o(f=>{if(f.defaultPrevented)return;const u=e.findClosestDraggableId(f);if(!u)return;const d=e.findOptionsForDraggable(u);d&&(d.shouldRespectForcePress||e.canGetLock(u)&&f.preventDefault())},"fn")}),[e]),s=C(o(function(){const u={passive:!1,capture:!0};n.current=X(window,[i,r],u)},"listenForCapture2"),[i,r]),a=C(()=>{t.current.type!=="IDLE"&&(t.current=kn,n.current(),s())},[s]),l=C(()=>{const f=t.current;a(),f.type==="DRAGGING"&&f.actions.cancel({shouldBlockNextClick:!0}),f.type==="PENDING"&&f.actions.abort()},[a]),c=C(o(function(){const u={capture:!0,passive:!1},d=Nc({cancel:l,completed:a,getPhase:o(()=>t.current,"getPhase"),setPhase:o(g=>{t.current=g},"setPhase")});n.current=X(window,d,u)},"bindCapturingEvents2"),[l,a]),p=C(o(function(u,d){t.current.type!=="IDLE"&&y(),t.current={type:"PENDING",point:d,actions:u},c()},"startPendingDrag2"),[c]);Y(o(function(){return s(),o(function(){n.current()},"unmount")},"mount"),[s])}o(Tc,"useMouseSensor");function Lc(){}o(Lc,"noop$1");const Mc={[Ic]:!0,[Dc]:!0,[wc]:!0,[Sc]:!0};function Fc(e,t){function n(){t(),e.cancel()}o(n,"cancel");function r(){t(),e.drop()}return o(r,"drop2"),[{eventName:"keydown",fn:o(i=>{if(i.keyCode===nn){i.preventDefault(),n();return}if(i.keyCode===no){i.preventDefault(),r();return}if(i.keyCode===Pc){i.preventDefault(),e.moveDown();return}if(i.keyCode===Ec){i.preventDefault(),e.moveUp();return}if(i.keyCode===Ac){i.preventDefault(),e.moveRight();return}if(i.keyCode===Cc){i.preventDefault(),e.moveLeft();return}if(Mc[i.keyCode]){i.preventDefault();return}ro(i)},"fn")},{eventName:"mousedown",fn:n},{eventName:"mouseup",fn:n},{eventName:"click",fn:n},{eventName:"touchstart",fn:n},{eventName:"resize",fn:n},{eventName:"wheel",fn:n,options:{passive:!0}},{eventName:ot,fn:n}]}o(Fc,"getDraggingBindings");function Gc(e){const t=I.useRef(Lc),n=R(()=>({eventName:"keydown",fn:o(function(s){if(s.defaultPrevented||s.keyCode!==no)return;const a=e.findClosestDraggableId(s);if(!a)return;const l=e.tryGetLock(a,f,{sourceEvent:s});if(!l)return;s.preventDefault();let c=!0;const p=l.snapLift();t.current();function f(){c||y(),c=!1,t.current(),r()}o(f,"stop"),t.current=X(window,Fc(p,f),{capture:!0,passive:!1})},"onKeyDown")}),[e]),r=C(o(function(){const s={passive:!1,capture:!0};t.current=X(window,[n],s)},"tryStartCapture"),[n]);Y(o(function(){return r(),o(function(){t.current()},"unmount")},"mount"),[r])}o(Gc,"useKeyboardSensor");const ht={type:"IDLE"},$c=120,jc=.15;function Wc(e){let{cancel:t,getPhase:n}=e;return[{eventName:"orientationchange",fn:t},{eventName:"resize",fn:t},{eventName:"contextmenu",fn:o(r=>{r.preventDefault()},"fn")},{eventName:"keydown",fn:o(r=>{if(n().type!=="DRAGGING"){t();return}r.keyCode===nn&&r.preventDefault(),t()},"fn")},{eventName:ot,fn:t}]}o(Wc,"getWindowBindings");function _c(e){let{cancel:t,completed:n,getPhase:r}=e;return[{eventName:"touchmove",options:{capture:!1},fn:o(i=>{const s=r();if(s.type!=="DRAGGING"){t();return}s.hasMoved=!0;const{clientX:a,clientY:l}=i.touches[0],c={x:a,y:l};i.preventDefault(),s.actions.move(c)},"fn")},{eventName:"touchend",fn:o(i=>{const s=r();if(s.type!=="DRAGGING"){t();return}i.preventDefault(),s.actions.drop({shouldBlockNextClick:!0}),n()},"fn")},{eventName:"touchcancel",fn:o(i=>{if(r().type!=="DRAGGING"){t();return}i.preventDefault(),t()},"fn")},{eventName:"touchforcechange",fn:o(i=>{const s=r();s.type==="IDLE"&&y();const a=i.touches[0];if(!a||!(a.force>=jc))return;const c=s.actions.shouldRespectForcePress();if(s.type==="PENDING"){c&&t();return}if(c){if(s.hasMoved){i.preventDefault();return}t();return}i.preventDefault()},"fn")},{eventName:ot,fn:t}]}o(_c,"getHandleBindings");function Uc(e){const t=I.useRef(ht),n=I.useRef(ne),r=C(o(function(){return t.current},"getPhase2"),[]),i=C(o(function(g){t.current=g},"setPhase2"),[]),s=R(()=>({eventName:"touchstart",fn:o(function(g){if(g.defaultPrevented)return;const m=e.findClosestDraggableId(g);if(!m)return;const h=e.tryGetLock(m,l,{sourceEvent:g});if(!h)return;const b=g.touches[0],{clientX:x,clientY:D}=b,w={x,y:D};n.current(),u(h,w)},"onTouchStart")}),[e]),a=C(o(function(){const g={capture:!0,passive:!1};n.current=X(window,[s],g)},"listenForCapture2"),[s]),l=C(()=>{const d=t.current;d.type!=="IDLE"&&(d.type==="PENDING"&&clearTimeout(d.longPressTimerId),i(ht),n.current(),a())},[a,i]),c=C(()=>{const d=t.current;l(),d.type==="DRAGGING"&&d.actions.cancel({shouldBlockNextClick:!0}),d.type==="PENDING"&&d.actions.abort()},[l]),p=C(o(function(){const g={capture:!0,passive:!1},m={cancel:c,completed:l,getPhase:r},h=X(window,_c(m),g),b=X(window,Wc(m),g);n.current=o(function(){h(),b()},"unbindAll")},"bindCapturingEvents2"),[c,r,l]),f=C(o(function(){const g=r();g.type!=="PENDING"&&y();const m=g.actions.fluidLift(g.point);i({type:"DRAGGING",actions:m,hasMoved:!1})},"startDragging2"),[r,i]),u=C(o(function(g,m){r().type!=="IDLE"&&y();const h=setTimeout(f,$c);i({type:"PENDING",point:m,actions:g,longPressTimerId:h}),p()},"startPendingDrag2"),[p,r,i,f]);Y(o(function(){return a(),o(function(){n.current();const m=r();m.type==="PENDING"&&(clearTimeout(m.longPressTimerId),i(ht))},"unmount")},"mount"),[r,a,i]),Y(o(function(){return X(window,[{eventName:"touchmove",fn:o(()=>{},"fn"),options:{capture:!1,passive:!1}}])},"webkitHack"),[])}o(Uc,"useTouchSensor");const Vc=["input","button","textarea","select","option","optgroup","video","audio"];function io(e,t){if(t==null)return!1;if(Vc.includes(t.tagName.toLowerCase()))return!0;const r=t.getAttribute("contenteditable");return r==="true"||r===""?!0:t===e?!1:io(e,t.parentElement)}o(io,"isAnInteractiveElement");function kc(e,t){const n=t.target;return nt(n)?io(e,n):!1}o(kc,"isEventInInteractiveElement");var Hc=o(e=>Z(e.getBoundingClientRect()).center,"getBorderBoxCenterPosition");function qc(e){return e instanceof Zr(e).Element}o(qc,"isElement");const zc=(()=>{const e="matches";return typeof document>"u"?e:[e,"msMatchesSelector","webkitMatchesSelector"].find(r=>r in Element.prototype)||e})();function so(e,t){return e==null?null:e[zc](t)?e:so(e.parentElement,t)}o(so,"closestPonyfill");function Yc(e,t){return e.closest?e.closest(t):so(e,t)}o(Yc,"closest");function Kc(e){return`[${me.contextId}="${e}"]`}o(Kc,"getSelector");function Jc(e,t){const n=t.target;if(!qc(n))return null;const r=Kc(e),i=Yc(n,r);return!i||!nt(i)?null:i}o(Jc,"findClosestDragHandleFromEvent");function Xc(e,t){const n=Jc(e,t);return n?n.getAttribute(me.draggableId):null}o(Xc,"tryGetClosestDraggableIdFromEvent");function Qc(e,t){const n=`[${Ot.contextId}="${e}"]`,i=Qr(document,n).find(s=>s.getAttribute(Ot.id)===t);return!i||!nt(i)?null:i}o(Qc,"findDraggable");function Zc(e){e.preventDefault()}o(Zc,"preventDefault");function _e(e){let{expected:t,phase:n,isLockActive:r,shouldWarn:i}=e;return!(!r()||t!==n)}o(_e,"isActive");function ao(e){let{lockAPI:t,store:n,registry:r,draggableId:i}=e;if(t.isClaimed())return!1;const s=r.draggable.findById(i);return!(!s||!s.options.isEnabled||!Yr(n.getState(),i))}o(ao,"canStart");function ed(e){let{lockAPI:t,contextId:n,store:r,registry:i,draggableId:s,forceSensorStop:a,sourceEvent:l}=e;if(!ao({lockAPI:t,store:r,registry:i,draggableId:s}))return null;const p=i.draggable.getById(s),f=Qc(n,p.descriptor.id);if(!f||l&&!p.options.canDragInteractiveElements&&kc(f,l))return null;const u=t.claim(a||ne);let d="PRE_DRAG";function g(){return p.options.shouldRespectForcePress}o(g,"getShouldRespectForcePress");function m(){return t.isActive(u)}o(m,"isLockActive");function h(E,O){_e({expected:E,phase:d,isLockActive:m,shouldWarn:!0})&&r.dispatch(O())}o(h,"tryDispatch");const b=h.bind(null,"DRAGGING");function x(E){function O(){t.release(),d="COMPLETED"}o(O,"completed"),d!=="PRE_DRAG"&&(O(),y()),r.dispatch($a(E.liftActionArgs)),d="DRAGGING";function T(M,B){if(B===void 0&&(B={shouldBlockNextClick:!1}),E.cleanup(),B.shouldBlockNextClick){const N=X(window,[{eventName:"click",fn:Zc,options:{once:!0,passive:!1,capture:!0}}]);setTimeout(N)}O(),r.dispatch(Wr({reason:M}))}return o(T,"finish2"),{isActive:o(()=>_e({expected:"DRAGGING",phase:d,isLockActive:m,shouldWarn:!1}),"isActive"),shouldRespectForcePress:g,drop:o(M=>T("DROP",M),"drop"),cancel:o(M=>T("CANCEL",M),"cancel"),...E.actions}}o(x,"lift2");function D(E){const O=Ae(M=>{b(()=>jr({client:M}))});return{...x({liftActionArgs:{id:s,clientSelection:E,movementMode:"FLUID"},cleanup:o(()=>O.cancel(),"cleanup"),actions:{move:O}}),move:O}}o(D,"fluidLift");function w(){const E={moveUp:o(()=>b(za),"moveUp"),moveRight:o(()=>b(Ka),"moveRight"),moveDown:o(()=>b(Ya),"moveDown"),moveLeft:o(()=>b(Ja),"moveLeft")};return x({liftActionArgs:{id:s,clientSelection:Hc(f),movementMode:"SNAP"},cleanup:ne,actions:E})}o(w,"snapLift");function S(){_e({expected:"PRE_DRAG",phase:d,isLockActive:m,shouldWarn:!0})&&t.release()}return o(S,"abortPreDrag"),{isActive:o(()=>_e({expected:"PRE_DRAG",phase:d,isLockActive:m,shouldWarn:!1}),"isActive"),shouldRespectForcePress:g,fluidLift:D,snapLift:w,abort:S}}o(ed,"tryStart");const td=[Tc,Gc,Uc];function nd(e){let{contextId:t,store:n,registry:r,customSensors:i,enableDefaultSensors:s}=e;const a=[...s?td:[],...i||[]],l=I.useState(()=>vc())[0],c=C(o(function(x,D){Te(x)&&!Te(D)&&l.tryAbandon()},"tryAbandonLock2"),[l]);Y(o(function(){let x=n.getState();return n.subscribe(()=>{const w=n.getState();c(x,w),x=w})},"listenToStore"),[l,n,c]),Y(()=>l.tryAbandon,[l.tryAbandon]);const p=C(b=>ao({lockAPI:l,registry:r,store:n,draggableId:b}),[l,r,n]),f=C((b,x,D)=>ed({lockAPI:l,registry:r,contextId:t,store:n,draggableId:b,forceSensorStop:x||null,sourceEvent:D&&D.sourceEvent?D.sourceEvent:null}),[t,l,r,n]),u=C(b=>Xc(t,b),[t]),d=C(b=>{const x=r.draggable.findById(b);return x?x.options:null},[r.draggable]),g=C(o(function(){l.isClaimed()&&(l.tryAbandon(),n.getState().phase!=="IDLE"&&n.dispatch(zt()))},"tryReleaseLock2"),[l,n]),m=C(()=>l.isClaimed(),[l]),h=R(()=>({canGetLock:p,tryGetLock:f,findClosestDraggableId:u,findOptionsForDraggable:d,tryReleaseLock:g,isLockClaimed:m}),[p,f,u,d,g,m]);for(let b=0;b({onBeforeCapture:o(t=>{const n=o(()=>{e.onBeforeCapture&&e.onBeforeCapture(t)},"onBeforeCapureCallback");P.version.startsWith("16")||P.version.startsWith("17")?n():Tt.flushSync(n)},"onBeforeCapture"),onBeforeDragStart:e.onBeforeDragStart,onDragStart:e.onDragStart,onDragEnd:e.onDragEnd,onDragUpdate:e.onDragUpdate}),"createResponders"),od=o(e=>({...Ne,...e.autoScrollerOptions,durationDampening:{...Ne.durationDampening,...e.autoScrollerOptions}}),"createAutoScrollerOptions");function Se(e){return e.current||y(),e.current}o(Se,"getStore");function id(e){const{contextId:t,setCallbacks:n,sensors:r,nonce:i,dragHandleUsageInstructions:s}=e,a=I.useRef(null),l=to(e),c=C(()=>rd(l.current),[l]),p=C(()=>od(l.current),[l]),f=pc(t),u=hc({contextId:t,text:s}),d=oc(t,i),g=C(B=>{Se(a).dispatch(B)},[]),m=R(()=>vn({publishWhileDragging:Wa,updateDroppableScroll:Ua,updateDroppableIsEnabled:Va,updateDroppableIsCombineEnabled:ka,collectionStarting:_a},g),[g]),h=lc(),b=R(()=>Ml(h,m),[h,m]),x=R(()=>Ql({scrollWindow:Fl,scrollDroppable:b.scrollDroppable,getAutoScrollerOptions:p,...vn({move:jr},g)}),[b.scrollDroppable,g,p]),D=sc(t),w=R(()=>Bl({announce:f,autoScroller:x,dimensionMarshal:b,focusMarshal:D,getResponders:c,styleMarshal:d}),[f,x,b,D,c,d]);a.current=w;const S=C(()=>{const B=Se(a);B.getState().phase!=="IDLE"&&B.dispatch(zt())},[]),A=C(()=>{const B=Se(a).getState();return B.phase==="DROP_ANIMATING"?!0:B.phase==="IDLE"?!1:B.isDragging},[]),E=R(()=>({isDragging:A,tryAbort:S}),[A,S]);n(E);const O=C(B=>Yr(Se(a).getState(),B),[]),T=C(()=>le(Se(a).getState()),[]),M=R(()=>({marshal:b,focus:D,contextId:t,canLift:O,isMovementAllowed:T,dragHandleUsageInstructionsId:u,registry:h}),[t,b,u,D,O,T,h]);return nd({contextId:t,store:w,registry:h,customSensors:r||null,enableDefaultSensors:e.enableDefaultSensors!==!1}),I.useEffect(()=>S,[S]),P.createElement(rt.Provider,{value:M},P.createElement(bs,{context:en,store:w},e.children))}o(id,"App");let sd=0;function ad(){return R(()=>`${sd++}`,[])}o(ad,"useDeprecatedUniqueContextId");function ld(){return P.useId()}o(ld,"useUniqueContextId");var cd="useId"in P?ld:ad;function dd(e){const t=cd(),n=e.dragHandleUsageInstructions||Ve.dragHandleUsageInstructions;return P.createElement(Ct,null,r=>P.createElement(id,{nonce:e.nonce,contextId:t,setCallbacks:r,dragHandleUsageInstructions:n,enableDefaultSensors:e.enableDefaultSensors,sensors:e.sensors,onBeforeCapture:e.onBeforeCapture,onBeforeDragStart:e.onBeforeDragStart,onDragStart:e.onDragStart,onDragUpdate:e.onDragUpdate,onDragEnd:e.onDragEnd,autoScrollerOptions:e.autoScrollerOptions},e.children))}o(dd,"DragDropContext");const Hn={dragging:5e3,dropAnimating:4500},ud=o((e,t)=>t?Ce.drop(t.duration):e?Ce.snap:Ce.fluid,"getDraggingTransition"),pd=o((e,t)=>{if(e)return t?Be.opacity.drop:Be.opacity.combining},"getDraggingOpacity"),fd=o(e=>e.forceShouldAnimate!=null?e.forceShouldAnimate:e.mode==="SNAP","getShouldDraggingAnimate");function gd(e){const n=e.dimension.client,{offset:r,combineWith:i,dropping:s}=e,a=!!i,l=fd(e),c=!!s,p=c?Pt.drop(r,a):Pt.moveTo(r);return{position:"fixed",top:n.marginBox.top,left:n.marginBox.left,boxSizing:"border-box",width:n.borderBox.width,height:n.borderBox.height,transition:ud(l,s),transform:p,opacity:pd(a,c),zIndex:c?Hn.dropAnimating:Hn.dragging,pointerEvents:"none"}}o(gd,"getDraggingStyle");function md(e){return{transform:Pt.moveTo(e.offset),transition:e.shouldAnimateDisplacement?void 0:"none"}}o(md,"getSecondaryStyle");function bd(e){return e.type==="DRAGGING"?gd(e):md(e)}o(bd,"getStyle$1");function hd(e,t,n){n===void 0&&(n=$);const r=window.getComputedStyle(t),i=t.getBoundingClientRect(),s=gr(i,r),a=qe(s,n),l={client:s,tagName:t.tagName.toLowerCase(),display:r.display},c={x:s.marginBox.width,y:s.marginBox.height};return{descriptor:e,placeholder:l,displaceBy:c,client:s,page:a}}o(hd,"getDimension$1");function vd(e){const t=tn("draggable"),{descriptor:n,registry:r,getDraggableRef:i,canDragInteractiveElements:s,shouldRespectForcePress:a,isEnabled:l}=e,c=R(()=>({canDragInteractiveElements:s,shouldRespectForcePress:a,isEnabled:l}),[s,l,a]),p=C(g=>{const m=i();return m||y(),hd(n,m,g)},[n,i]),f=R(()=>({uniqueId:t,descriptor:n,options:c,getDimension:p}),[n,p,c,t]),u=I.useRef(f),d=I.useRef(!0);Y(()=>(r.draggable.register(u.current),()=>r.draggable.unregister(u.current)),[r.draggable]),Y(()=>{if(d.current){d.current=!1;return}const g=u.current;u.current=f,r.draggable.update(f,g)},[f,r.draggable])}o(vd,"useDraggablePublisher");var rn=P.createContext(null);function Je(e){const t=I.useContext(e);return t||y(),t}o(Je,"useRequiredContext");function yd(e){e.preventDefault()}o(yd,"preventHtml5Dnd");const xd=o(e=>{const t=I.useRef(null),n=C(function(E){E===void 0&&(E=null),t.current=E},[]),r=C(()=>t.current,[]),{contextId:i,dragHandleUsageInstructionsId:s,registry:a}=Je(rt),{type:l,droppableId:c}=Je(rn),p=R(()=>({id:e.draggableId,index:e.index,type:l,droppableId:c}),[e.draggableId,e.index,l,c]),{children:f,draggableId:u,isEnabled:d,shouldRespectForcePress:g,canDragInteractiveElements:m,isClone:h,mapped:b,dropAnimationFinished:x}=e;if(!h){const E=R(()=>({descriptor:p,registry:a,getDraggableRef:r,canDragInteractiveElements:m,shouldRespectForcePress:g,isEnabled:d}),[p,a,r,m,g,d]);vd(E)}const D=R(()=>d?{tabIndex:0,role:"button","aria-describedby":s,"data-rfd-drag-handle-draggable-id":u,"data-rfd-drag-handle-context-id":i,draggable:!1,onDragStart:yd}:null,[i,s,u,d]),w=C(E=>{b.type==="DRAGGING"&&b.dropping&&E.propertyName==="transform"&&(P.version.startsWith("16")||P.version.startsWith("17")?x():Tt.flushSync(x))},[x,b]),S=R(()=>{const E=bd(b),O=b.type==="DRAGGING"&&b.dropping?w:void 0;return{innerRef:n,draggableProps:{"data-rfd-draggable-context-id":i,"data-rfd-draggable-id":u,style:E,onTransitionEnd:O},dragHandleProps:D}},[i,D,u,b,w,n]),A=R(()=>({draggableId:p.id,type:p.type,source:{index:p.index,droppableId:p.droppableId}}),[p.droppableId,p.id,p.index,p.type]);return P.createElement(P.Fragment,null,f(S,b.snapshot,A))},"Draggable");var Dd=xd,lo=o((e,t)=>e===t,"isStrictEqual"),co=o(e=>{const{combine:t,destination:n}=e;return n?n.droppableId:t?t.droppableId:null},"whatIsDraggedOverFromResult");const Id=o(e=>e.combine?e.combine.draggableId:null,"getCombineWithFromResult"),Sd=o(e=>e.at&&e.at.type==="COMBINE"?e.at.combine.draggableId:null,"getCombineWithFromImpact");function wd(){const e=G((i,s)=>({x:i,y:s})),t=G(function(i,s,a,l,c){return a===void 0&&(a=null),l===void 0&&(l=null),c===void 0&&(c=null),{isDragging:!0,isClone:s,isDropAnimating:!!c,dropAnimation:c,mode:i,draggingOver:a,combineWith:l,combineTargetFor:null}}),n=G(function(i,s,a,l,c,p,f){return c===void 0&&(c=null),p===void 0&&(p=null),f===void 0&&(f=null),{mapped:{type:"DRAGGING",dropping:null,draggingOver:c,combineWith:p,mode:s,offset:i,dimension:a,forceShouldAnimate:f,snapshot:t(s,l,c,p,null)}}});return o((i,s)=>{if(Te(i)){if(i.critical.draggable.id!==s.draggableId)return null;const a=i.current.client.offset,l=i.dimensions.draggables[s.draggableId],c=z(i.impact),p=Sd(i.impact),f=i.forceShouldAnimate;return n(e(a.x,a.y),i.movementMode,l,s.isClone,c,p,f)}if(i.phase==="DROP_ANIMATING"){const a=i.completed;if(a.result.draggableId!==s.draggableId)return null;const l=s.isClone,c=i.dimensions.draggables[s.draggableId],p=a.result,f=p.mode,u=co(p),d=Id(p),m={duration:i.dropDuration,curve:Kt.drop,moveTo:i.newHomeClientOffset,opacity:d?Be.opacity.drop:null,scale:d?Be.scale.drop:null};return{mapped:{type:"DRAGGING",offset:i.newHomeClientOffset,dimension:c,dropping:m,draggingOver:u,combineWith:d,mode:f,forceShouldAnimate:null,snapshot:t(f,l,u,d,m)}}}return null},"selector")}o(wd,"getDraggableSelector");function uo(e){return e===void 0&&(e=null),{isDragging:!1,isDropAnimating:!1,isClone:!1,dropAnimation:null,mode:null,draggingOver:null,combineTargetFor:e,combineWith:null}}o(uo,"getSecondarySnapshot");const Cd={mapped:{type:"SECONDARY",offset:$,combineTargetFor:null,shouldAnimateDisplacement:!0,snapshot:uo(null)}};function Ed(){const e=G((a,l)=>({x:a,y:l})),t=G(uo),n=G(function(a,l,c){return l===void 0&&(l=null),{mapped:{type:"SECONDARY",offset:a,combineTargetFor:l,shouldAnimateDisplacement:c,snapshot:t(l)}}}),r=o(a=>a?n($,a,!0):null,"getFallback"),i=o((a,l,c,p)=>{const f=c.displaced.visible[a],u=!!(p.inVirtualList&&p.effected[a]),d=Ze(c),g=d&&d.draggableId===a?l:null;if(!f){if(!u)return r(g);if(c.displaced.invisible[a])return null;const b=be(p.displacedBy.point),x=e(b.x,b.y);return n(x,g,!0)}if(u)return r(g);const m=c.displacedBy.point,h=e(m.x,m.y);return n(h,g,f.shouldAnimate)},"getProps");return o((a,l)=>{if(Te(a))return a.critical.draggable.id===l.draggableId?null:i(l.draggableId,a.critical.draggable.id,a.impact,a.afterCritical);if(a.phase==="DROP_ANIMATING"){const c=a.completed;return c.result.draggableId===l.draggableId?null:i(l.draggableId,c.result.draggableId,c.impact,c.afterCritical)}return null},"selector")}o(Ed,"getSecondarySelector");const Ad=o(()=>{const e=wd(),t=Ed();return o((r,i)=>e(r,i)||t(r,i)||Cd,"selector")},"makeMapStateToProps$1"),Pd={dropAnimationFinished:_r},Rd=pr(Ad,Pd,null,{context:en,areStatePropsEqual:lo})(Dd);var Od=Rd;function po(e){return Je(rn).isUsingCloneFor===e.draggableId&&!e.isClone?null:P.createElement(Od,e)}o(po,"PrivateDraggable");function Bd(e){const t=typeof e.isDragDisabled=="boolean"?!e.isDragDisabled:!0,n=!!e.disableInteractiveElementBlocking,r=!!e.shouldRespectForcePress;return P.createElement(po,de({},e,{isClone:!1,isEnabled:t,canDragInteractiveElements:n,shouldRespectForcePress:r}))}o(Bd,"PublicDraggable");const fo=o(e=>t=>e===t,"isEqual"),Nd=fo("scroll"),Td=fo("auto"),qn=o((e,t)=>t(e.overflowX)||t(e.overflowY),"isEither"),Ld=o(e=>{const t=window.getComputedStyle(e),n={overflowX:t.overflowX,overflowY:t.overflowY};return qn(n,Nd)||qn(n,Td)},"isElementScrollable"),Md=o(()=>!1,"isBodyScrollable"),go=o(e=>e==null?null:e===document.body?Md()?e:null:e===document.documentElement?null:Ld(e)?e:go(e.parentElement),"getClosestScrollable");var Fd=go,Bt=o(e=>({x:e.scrollLeft,y:e.scrollTop}),"getScroll");const mo=o(e=>e?window.getComputedStyle(e).position==="fixed"?!0:mo(e.parentElement):!1,"getIsFixed");var Gd=o(e=>{const t=Fd(e),n=mo(e);return{closestScrollable:t,isFixedOnPage:n}},"getEnv"),$d=o(e=>{let{descriptor:t,isEnabled:n,isCombineEnabled:r,isFixedOnPage:i,direction:s,client:a,page:l,closest:c}=e;const p=(()=>{if(!c)return null;const{scrollSize:g,client:m}=c,h=Hr({scrollHeight:g.scrollHeight,scrollWidth:g.scrollWidth,height:m.paddingBox.height,width:m.paddingBox.width});return{pageMarginBox:c.page.marginBox,frameClient:m,scrollSize:g,shouldClipSubject:c.shouldClipSubject,scroll:{initial:c.scroll,current:c.scroll,max:h,diff:{value:$,displacement:$}}}})(),f=s==="vertical"?Ut:wr,u=fe({page:l,withPlaceholder:null,axis:f,frame:p});return{descriptor:t,isCombineEnabled:r,isFixedOnPage:i,axis:f,isEnabled:n,client:a,page:l,frame:p,subject:u}},"getDroppableDimension");const jd=o((e,t)=>{const n=mr(e);if(!t||e!==t)return n;const r=n.paddingBox.top-t.scrollTop,i=n.paddingBox.left-t.scrollLeft,s=r+t.scrollHeight,a=i+t.scrollWidth,c=$t({top:r,right:a,bottom:s,left:i},n.border);return jt({borderBox:c,margin:n.margin,border:n.border,padding:n.padding})},"getClient");var Wd=o(e=>{let{ref:t,descriptor:n,env:r,windowScroll:i,direction:s,isDropDisabled:a,isCombineEnabled:l,shouldClipSubject:c}=e;const p=r.closestScrollable,f=jd(t,p),u=qe(f,i),d=(()=>{if(!p)return null;const m=mr(p),h={scrollHeight:p.scrollHeight,scrollWidth:p.scrollWidth};return{client:m,page:qe(m,i),scroll:Bt(p),scrollSize:h,shouldClipSubject:c}})();return $d({descriptor:n,isEnabled:!a,isCombineEnabled:l,isFixedOnPage:r.isFixedOnPage,direction:s,client:f,page:u,closest:d})},"getDimension");const _d={passive:!1},Ud={passive:!0};var zn=o(e=>e.shouldPublishImmediately?_d:Ud,"getListenerOptions");const Ue=o(e=>e&&e.env.closestScrollable||null,"getClosestScrollableFromDrag");function Vd(e){const t=I.useRef(null),n=Je(rt),r=tn("droppable"),{registry:i,marshal:s}=n,a=to(e),l=R(()=>({id:e.droppableId,type:e.type,mode:e.mode}),[e.droppableId,e.mode,e.type]),c=I.useRef(l),p=R(()=>G((S,A)=>{t.current||y();const E={x:S,y:A};s.updateDroppableScroll(l.id,E)}),[l.id,s]),f=C(()=>{const S=t.current;return!S||!S.env.closestScrollable?$:Bt(S.env.closestScrollable)},[]),u=C(()=>{const S=f();p(S.x,S.y)},[f,p]),d=R(()=>Ae(u),[u]),g=C(()=>{const S=t.current,A=Ue(S);if(S&&A||y(),S.scrollOptions.shouldPublishImmediately){u();return}d()},[d,u]),m=C((S,A)=>{t.current&&y();const E=a.current,O=E.getDroppableRef();O||y();const T=Gd(O),M={ref:O,descriptor:l,env:T,scrollOptions:A};t.current=M;const B=Wd({ref:O,descriptor:l,env:T,windowScroll:S,direction:E.direction,isDropDisabled:E.isDropDisabled,isCombineEnabled:E.isCombineEnabled,shouldClipSubject:!E.ignoreContainerClipping}),N=T.closestScrollable;return N&&(N.setAttribute(_n.contextId,n.contextId),N.addEventListener("scroll",g,zn(M.scrollOptions))),B},[n.contextId,l,g,a]),h=C(()=>{const S=t.current,A=Ue(S);return S&&A||y(),Bt(A)},[]),b=C(()=>{const S=t.current;S||y();const A=Ue(S);t.current=null,A&&(d.cancel(),A.removeAttribute(_n.contextId),A.removeEventListener("scroll",g,zn(S.scrollOptions)))},[g,d]),x=C(S=>{const A=t.current;A||y();const E=Ue(A);E||y(),E.scrollTop+=S.y,E.scrollLeft+=S.x},[]),D=R(()=>({getDimensionAndWatchScroll:m,getScrollWhileDragging:h,dragStopped:b,scroll:x}),[b,m,h,x]),w=R(()=>({uniqueId:r,descriptor:l,callbacks:D}),[D,l,r]);Y(()=>(c.current=w.descriptor,i.droppable.register(w),()=>{t.current&&b(),i.droppable.unregister(w)}),[D,l,b,w,s,i.droppable]),Y(()=>{t.current&&s.updateDroppableIsEnabled(c.current.id,!e.isDropDisabled)},[e.isDropDisabled,s]),Y(()=>{t.current&&s.updateDroppableIsCombineEnabled(c.current.id,e.isCombineEnabled)},[e.isCombineEnabled,s])}o(Vd,"useDroppablePublisher");function vt(){}o(vt,"noop");const Yn={width:0,height:0,margin:Ts},kd=o(e=>{let{isAnimatingOpenOnMount:t,placeholder:n,animate:r}=e;return t||r==="close"?Yn:{height:n.client.borderBox.height,width:n.client.borderBox.width,margin:n.client.margin}},"getSize"),Hd=o(e=>{let{isAnimatingOpenOnMount:t,placeholder:n,animate:r}=e;const i=kd({isAnimatingOpenOnMount:t,placeholder:n,animate:r});return{display:n.display,boxSizing:"border-box",width:i.width,height:i.height,marginTop:i.margin.top,marginRight:i.margin.right,marginBottom:i.margin.bottom,marginLeft:i.margin.left,flexShrink:"0",flexGrow:"0",pointerEvents:"none",transition:r!=="none"?Ce.placeholder:null}},"getStyle"),qd=o(e=>{const t=I.useRef(null),n=C(()=>{t.current&&(clearTimeout(t.current),t.current=null)},[]),{animate:r,onTransitionEnd:i,onClose:s,contextId:a}=e,[l,c]=I.useState(e.animate==="open");I.useEffect(()=>l?r!=="open"?(n(),c(!1),vt):t.current?vt:(t.current=setTimeout(()=>{t.current=null,c(!1)}),n):vt,[r,l,n]);const p=C(u=>{u.propertyName==="height"&&(i(),r==="close"&&s())},[r,s,i]),f=Hd({isAnimatingOpenOnMount:l,animate:e.animate,placeholder:e.placeholder});return P.createElement(e.placeholder.tagName,{style:f,"data-rfd-placeholder-context-id":a,onTransitionEnd:p,ref:e.innerRef})},"Placeholder");var zd=P.memo(qd);const an=class an extends P.PureComponent{constructor(){super(...arguments),this.state={isVisible:!!this.props.on,data:this.props.on,animate:this.props.shouldAnimate&&this.props.on?"open":"none"},this.onClose=()=>{this.state.animate==="close"&&this.setState({isVisible:!1})}}static getDerivedStateFromProps(t,n){return t.shouldAnimate?t.on?{isVisible:!0,data:t.on,animate:"open"}:n.isVisible?{isVisible:!0,data:n.data,animate:"close"}:{isVisible:!1,animate:"close",data:null}:{isVisible:!!t.on,data:t.on,animate:"none"}}render(){if(!this.state.isVisible)return null;const t={onClose:this.onClose,data:this.state.data,animate:this.state.animate};return this.props.children(t)}};o(an,"AnimateInOut");let Nt=an;const Yd=o(e=>{const t=I.useContext(rt);t||y();const{contextId:n,isMovementAllowed:r}=t,i=I.useRef(null),s=I.useRef(null),{children:a,droppableId:l,type:c,mode:p,direction:f,ignoreContainerClipping:u,isDropDisabled:d,isCombineEnabled:g,snapshot:m,useClone:h,updateViewportMaxScroll:b,getContainerForClone:x}=e,D=C(()=>i.current,[]),w=C(function(N){N===void 0&&(N=null),i.current=N},[]);C(()=>s.current,[]);const S=C(function(N){N===void 0&&(N=null),s.current=N},[]),A=C(()=>{r()&&b({maxScroll:zr()})},[r,b]);Vd({droppableId:l,type:c,mode:p,direction:f,isDropDisabled:d,isCombineEnabled:g,ignoreContainerClipping:u,getDroppableRef:D});const E=R(()=>P.createElement(Nt,{on:e.placeholder,shouldAnimate:e.shouldAnimatePlaceholder},N=>{let{onClose:_,data:H,animate:te}=N;return P.createElement(zd,{placeholder:H,onClose:_,innerRef:S,animate:te,contextId:n,onTransitionEnd:A})}),[n,A,e.placeholder,e.shouldAnimatePlaceholder,S]),O=R(()=>({innerRef:w,placeholder:E,droppableProps:{"data-rfd-droppable-id":l,"data-rfd-droppable-context-id":n}}),[n,l,E,w]),T=h?h.dragging.draggableId:null,M=R(()=>({droppableId:l,type:c,isUsingCloneFor:T}),[l,T,c]);function B(){if(!h)return null;const{dragging:N,render:_}=h,H=P.createElement(po,{draggableId:N.draggableId,index:N.source.index,isClone:!0,isEnabled:!0,shouldRespectForcePress:!1,canDragInteractiveElements:!0},(te,K)=>_(te,K,N));return Lo.createPortal(H,x())}return o(B,"getClone"),P.createElement(rn.Provider,{value:M},a(O,m),B())},"Droppable");var Kd=Yd;function Jd(){return document.body||y(),document.body}o(Jd,"getBody");const Kn={mode:"standard",type:"DEFAULT",direction:"vertical",isDropDisabled:!1,isCombineEnabled:!1,ignoreContainerClipping:!1,renderClone:null,getContainerForClone:Jd},bo=o(e=>{let t={...e},n;for(n in Kn)e[n]===void 0&&(t={...t,[n]:Kn[n]});return t},"attachDefaultPropsToOwnProps"),yt=o((e,t)=>e===t.droppable.type,"isMatchingType"),Jn=o((e,t)=>t.draggables[e.draggable.id],"getDraggable"),Xd=o(()=>{const e={placeholder:null,shouldAnimatePlaceholder:!0,snapshot:{isDraggingOver:!1,draggingOverWith:null,draggingFromThisWith:null,isUsingPlaceholder:!1},useClone:null},t={...e,shouldAnimatePlaceholder:!1},n=G(s=>({draggableId:s.id,type:s.type,source:{index:s.index,droppableId:s.droppableId}})),r=G((s,a,l,c,p,f)=>{const u=p.descriptor.id;if(p.descriptor.droppableId===s){const m=f?{render:f,dragging:n(p.descriptor)}:null,h={isDraggingOver:l,draggingOverWith:l?u:null,draggingFromThisWith:u,isUsingPlaceholder:!0};return{placeholder:p.placeholder,shouldAnimatePlaceholder:!1,snapshot:h,useClone:m}}if(!a)return t;if(!c)return e;const g={isDraggingOver:l,draggingOverWith:u,draggingFromThisWith:null,isUsingPlaceholder:!0};return{placeholder:p.placeholder,shouldAnimatePlaceholder:!0,snapshot:g,useClone:null}});return o((s,a)=>{const l=bo(a),c=l.droppableId,p=l.type,f=!l.isDropDisabled,u=l.renderClone;if(Te(s)){const d=s.critical;if(!yt(p,d))return t;const g=Jn(d,s.dimensions),m=z(s.impact)===c;return r(c,f,m,m,g,u)}if(s.phase==="DROP_ANIMATING"){const d=s.completed;if(!yt(p,d.critical))return t;const g=Jn(d.critical,s.dimensions);return r(c,f,co(d.result)===c,z(d.impact)===c,g,u)}if(s.phase==="IDLE"&&s.completed&&!s.shouldFlush){const d=s.completed;if(!yt(p,d.critical))return t;const g=z(d.impact)===c,m=!!(d.impact.at&&d.impact.at.type==="COMBINE"),h=d.critical.droppable.id===c;return g?m?e:t:h?e:t}return t},"selector")},"makeMapStateToProps"),Qd={updateViewportMaxScroll:qa},Zd=pr(Xd,Qd,(e,t,n)=>({...bo(n),...e,...t}),{context:en,areStatePropsEqual:lo})(Kd);var eu=Zd;const tu=o(({deal:e,index:t})=>{const n=Lt();if(!e)return null;const r=o(()=>{n(`/deals/${e.id}/show`)},"handleClick");return v.jsx(Bd,{draggableId:String(e.id),index:t,children:o((i,s)=>v.jsx(L,{sx:{marginBottom:1},...i.draggableProps,...i.dragHandleProps,ref:i.innerRef,onClick:r,children:v.jsx(Mo,{style:{opacity:s.isDragging?.9:1,transform:s.isDragging?"rotate(-2deg)":""},elevation:s.isDragging?3:1,children:v.jsxs(L,{padding:1,display:"flex",children:[v.jsx(It,{source:"company_id",record:e,reference:"companies",children:v.jsx(Fo,{size:"small"})}),v.jsxs(L,{sx:{marginLeft:1},children:[v.jsx(V,{variant:"body2",gutterBottom:!0,children:e.name}),v.jsxs(V,{variant:"caption",color:"textSecondary",children:[e.amount.toLocaleString("en-US",{notation:"compact",style:"currency",currency:"USD",currencyDisplay:"narrowSymbol",minimumSignificantDigits:3}),", ",e.type]})]})]})})}),"children")})},"DealCard"),nu=o(({stage:e,deals:t})=>v.jsxs(L,{sx:{flex:1,paddingTop:"8px",paddingBottom:"16px",bgcolor:"#eaeaee","&:first-child":{paddingLeft:"5px",borderTopLeftRadius:5},"&:last-child":{paddingRight:"5px",borderTopRightRadius:5}},children:[v.jsx(V,{align:"center",variant:"subtitle1",children:Zn[e]}),v.jsx(eu,{droppableId:e,children:o((n,r)=>v.jsxs(L,{ref:n.innerRef,...n.droppableProps,className:r.isDraggingOver?" isDraggingOver":"",sx:{display:"flex",flexDirection:"column",borderRadius:5,padding:"5px","&.isDraggingOver":{bgcolor:"#dadadf"}},children:[t.map((i,s)=>v.jsx(tu,{deal:i,index:s},i.id)),n.placeholder]}),"children")})]}),"DealColumn"),ru=o(()=>{const{data:e,isPending:t,refetch:n}=Mt(),r=er(),[i,s]=I.useState(un([]));if(I.useEffect(()=>{if(e){const l=un(e);Go(l,i)||s(l)}},[e]),t)return null;const a=o(l=>{const{destination:c,source:p}=l;if(!c||c.droppableId===p.droppableId&&c.index===p.index)return;const f=p.droppableId,u=c.droppableId,d=i[f][p.index],g=i[u][c.index]??{stage:u,index:void 0};s(ou(d,{stage:f,index:p.index},{stage:u,index:c.index},i)),iu(d,g,r).then(()=>{n()})},"onDragEnd");return v.jsx(dd,{onDragEnd:a,children:v.jsx(L,{display:"flex",children:$o.map(l=>v.jsx(nu,{stage:l,deals:i[l]},l))})})},"DealListContent"),ou=o((e,t,n,r)=>{if(t.stage===n.stage){const i=r[t.stage];return i.splice(t.index,1),i.splice(n.index??i.length+1,0,e),{...r,[n.stage]:i}}else{const i=r[t.stage],s=r[n.stage];return i.splice(t.index,1),s.splice(n.index??s.length+1,0,e),{...r,[t.stage]:i,[n.stage]:s}}},"updateDealStageLocal"),iu=o(async(e,t,n)=>{if(e.stage===t.stage){const{data:r}=await n.getList("deals",{sort:{field:"index",order:"ASC"},pagination:{page:1,perPage:100},filter:{stage:e.stage}}),i=t.index??r.length+1;e.index>i?await Promise.all([...r.filter(s=>s.index>=i&&s.indexn.update("deals",{id:s.id,data:{index:s.index+1},previousData:s})),n.update("deals",{id:e.id,data:{index:i},previousData:e})]):await Promise.all([...r.filter(s=>s.index<=i&&s.index>e.index).map(s=>n.update("deals",{id:s.id,data:{index:s.index-1},previousData:s})),n.update("deals",{id:e.id,data:{index:i},previousData:e})])}else{const[{data:r},{data:i}]=await Promise.all([n.getList("deals",{sort:{field:"index",order:"ASC"},pagination:{page:1,perPage:100},filter:{stage:e.stage}}),n.getList("deals",{sort:{field:"index",order:"ASC"},pagination:{page:1,perPage:100},filter:{stage:t.stage}})]),s=t.index??i.length+1;await Promise.all([...r.filter(a=>a.index>e.index).map(a=>n.update("deals",{id:a.id,data:{index:a.index-1},previousData:a})),...i.filter(a=>a.index>=s).map(a=>n.update("deals",{id:a.id,data:{index:a.index+1},previousData:a})),n.update("deals",{id:e.id,data:{index:s,stage:t.stage},previousData:e})])}},"updateDealStage"),su=["Other","Copywriting","Print project","UI Design","Website design"],ho=su.map(e=>({id:e,name:e})),xt=jo(),au=o(({open:e})=>{const t=Lt(),n=er(),{data:r}=Mt(),i=o(()=>{t("/deals")},"handleClose"),s=Wo(),a=o(async c=>{if(!r){t("/deals");return}const p=r.filter(d=>d.stage===c.stage&&d.id!==c.id);await Promise.all(p.map(async d=>n.update("deals",{id:d.id,data:{index:d.index+1},previousData:d})));const f=p.reduce((d,g)=>({...d,[g.id]:{...g,index:g.index+1}}),{}),u=Date.now();s.setQueriesData({queryKey:["deals","getList"]},d=>d&&{...d,data:d.data.map(g=>f[g.id]||g)},{updatedAt:u}),t("/deals")},"onSuccess"),{identity:l}=Ft();return v.jsx(tr,{open:e,onClose:i,children:v.jsx(_o,{resource:"deals",mutationOptions:{onSuccess:a},sx:{width:500,"& .RaCreate-main":{mt:0}},children:v.jsxs(Di,{defaultValues:{index:0,sales_id:l&&(l==null?void 0:l.id),start_at:new Date().toISOString(),contact_ids:[]},children:[v.jsx(Dt,{source:"name",label:"Deal name",validate:xt}),v.jsx(Dt,{source:"description",multiline:!0,rows:3}),v.jsx(Uo,{source:"company_id",reference:"companies",children:v.jsx(Vo,{optionText:"name",validate:xt})}),v.jsx(ko,{source:"start_at",defaultValue:new Date,fullWidth:!0}),v.jsx(St,{source:"stage",choices:Ho,validate:xt,defaultValue:"opportunity"}),v.jsx(St,{source:"type",choices:ho}),v.jsx(mi,{source:"amount",defaultValue:0})]})})})},"DealCreate"),lu=o(()=>{const{data:e,error:t,isPending:n}=Mt();return n||t?v.jsx("div",{style:{height:"2em"}}):v.jsx(L,{component:"ul",sx:{listStyle:"none",padding:0,margin:0,display:"inline-block"},children:e.map(r=>v.jsx(L,{component:"li",sx:{display:"inline","&:after":{content:'", "'},"&:last-child:after":{content:'""'}},children:v.jsxs(qo,{component:zo,to:`/contacts/${r.id}/show`,variant:"subtitle1",children:[r.first_name," ",r.last_name]})},r.id))})},"ContactList"),cu=o(({open:e,id:t})=>{const n=Lt(),r=o(()=>{n("list","deals")},"handleClose");return v.jsx(tr,{open:e,onClose:r,fullWidth:!0,maxWidth:"md",sx:{".MuiDialog-paper":{position:"absolute",top:50}},children:v.jsx(Yo,{children:t?v.jsx(Ko,{id:t,children:v.jsx(du,{})}):null})})},"DealShow"),du=o(()=>{const e=Jo();return e?v.jsx("div",{children:v.jsxs(L,{display:"flex",children:[v.jsxs(L,{width:100,display:"flex",flexDirection:"column",alignItems:"center",children:[v.jsx(It,{source:"company_id",reference:"companies",link:"show",children:v.jsx(Xo,{})}),v.jsx(It,{source:"company_id",reference:"companies",link:"show",children:v.jsx(Qo,{source:"name",align:"center",component:"div"})})]}),v.jsxs(L,{ml:2,flex:"1",children:[v.jsx(V,{variant:"h5",children:e.name}),v.jsxs(L,{display:"flex",mt:2,children:[v.jsxs(L,{display:"flex",mr:5,flexDirection:"column",children:[v.jsx(V,{color:"textSecondary",variant:"body2",children:"Start"}),v.jsx(V,{variant:"subtitle1",children:Zo(e.start_at,"PP")})]}),v.jsxs(L,{display:"flex",mr:5,flexDirection:"column",children:[v.jsx(V,{color:"textSecondary",variant:"body2",children:"Budget"}),v.jsx(V,{variant:"subtitle1",children:e.amount.toLocaleString("en-US",{notation:"compact",style:"currency",currency:"USD",currencyDisplay:"narrowSymbol",minimumSignificantDigits:3})})]}),v.jsxs(L,{display:"flex",mr:5,flexDirection:"column",children:[v.jsx(V,{color:"textSecondary",variant:"body2",children:"Type"}),v.jsx(V,{variant:"subtitle1",children:e.type})]}),v.jsxs(L,{display:"flex",mr:5,flexDirection:"column",children:[v.jsx(V,{color:"textSecondary",variant:"body2",children:"Stage"}),v.jsx(V,{variant:"subtitle1",children:Zn[e.stage]})]})]}),v.jsx(L,{mt:2,mb:2,children:v.jsxs(L,{display:"flex",mr:5,flexDirection:"column",minHeight:48,children:[v.jsx(V,{color:"textSecondary",variant:"body2",children:"Contacts"}),v.jsx(ei,{source:"contact_ids",reference:"contacts",children:v.jsx(lu,{})})]})}),v.jsxs(L,{mt:2,mb:2,style:{whiteSpace:"pre-line"},children:[v.jsx(V,{color:"textSecondary",variant:"body2",children:"Description"}),v.jsx(V,{children:e.description})]}),v.jsx(ti,{}),v.jsx(L,{mt:2,children:v.jsx(ni,{target:"deal_id",reference:"dealNotes",sort:{field:"date",order:"DESC"},children:v.jsx(ri,{reference:"deals"})})})]})]})}):null},"DealShowContent"),uu=o(e=>{const{filterValues:t,displayedFilters:n,setFilters:r}=oi(),{identity:i}=Ft(),s=o(()=>{const a={...t};typeof t.sales_id<"u"?delete a.sales_id:a.sales_id=i&&(i==null?void 0:i.id),r(a,n)},"handleChange");return v.jsx(L,{sx:{marginBottom:1,marginLeft:1},children:v.jsx(ii,{control:v.jsx(si,{checked:typeof t.sales_id<"u",onChange:s,color:"primary",name:"checkedC"}),label:"Only companies I manage"})})},"OnlyMineInput"),hu=o(()=>{const{identity:e}=Ft(),t=ai(),n=pn("/deals/create",t.pathname),r=pn("/deals/:id/show",t.pathname);return e?v.jsxs(v.Fragment,{children:[v.jsxs(li,{perPage:100,sort:{field:"index",order:"ASC"},filters:pu,filterDefaultValues:{sales_id:e&&(e==null?void 0:e.id)},actions:v.jsx(fu,{}),pagination:!1,component:"div",children:[v.jsx(ru,{}),v.jsx(au,{open:!!n})]}),v.jsx(cu,{open:!!r,id:r==null?void 0:r.params.id})]}):null},"DealList"),pu=[v.jsx(vi,{source:"q",alwaysOn:!0}),v.jsx(uu,{source:"sales_id",alwaysOn:!0}),v.jsx(St,{source:"type",choices:ho})],fu=o(()=>v.jsxs(ci,{children:[v.jsx(di,{}),v.jsx(ui,{}),v.jsx(pi,{variant:"contained",label:"New Deal",sx:{marginLeft:2}})]}),"DealActions");export{hu as default}; +//# sourceMappingURL=DealList-BjMDZCR4.js.map diff --git a/assets/DealList-BjMDZCR4.js.map b/assets/DealList-BjMDZCR4.js.map new file mode 100644 index 0000000..9f61015 --- /dev/null +++ b/assets/DealList-BjMDZCR4.js.map @@ -0,0 +1 @@ +{"version":3,"file":"DealList-BjMDZCR4.js","sources":["../../../../node_modules/@babel/runtime/helpers/esm/typeof.js","../../../../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../../../../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../../../../packages/ra-ui-materialui/src/input/NumberInput.tsx","../../../../packages/ra-ui-materialui/src/input/SearchInput.tsx","../../../../packages/ra-ui-materialui/src/form/SimpleForm.tsx","../../../../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../../../../node_modules/@babel/runtime/helpers/esm/objectSpread2.js","../../../../node_modules/redux/es/redux.js","../../../../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js","../../../../node_modules/use-sync-external-store/shim/index.js","../../../../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js","../../../../node_modules/react-redux/es/utils/batch.js","../../../../node_modules/react-redux/es/components/Context.js","../../../../node_modules/react-redux/es/utils/useSyncExternalStore.js","../../../../node_modules/react-redux/es/connect/selectorFactory.js","../../../../node_modules/react-redux/es/utils/bindActionCreators.js","../../../../node_modules/react-redux/es/connect/wrapMapToProps.js","../../../../node_modules/react-redux/es/connect/invalidArgFactory.js","../../../../node_modules/react-redux/es/connect/mapDispatchToProps.js","../../../../node_modules/react-redux/es/connect/mapStateToProps.js","../../../../node_modules/react-redux/es/connect/mergeProps.js","../../../../node_modules/react-redux/es/utils/Subscription.js","../../../../node_modules/react-redux/es/utils/useIsomorphicLayoutEffect.js","../../../../node_modules/react-redux/es/utils/shallowEqual.js","../../../../node_modules/react-redux/es/components/connect.js","../../../../node_modules/react-redux/es/components/Provider.js","../../../../node_modules/react-redux/es/index.js","../../../../node_modules/use-memo-one/dist/use-memo-one.esm.js","../../../../node_modules/tiny-invariant/dist/esm/tiny-invariant.js","../../../../node_modules/css-box-model/dist/css-box-model.esm.js","../../../../node_modules/memoize-one/dist/memoize-one.esm.js","../../../../node_modules/raf-schd/dist/raf-schd.esm.js","../../../../node_modules/@hello-pangea/dnd/dist/dnd.esm.js","../../src/deals/DealCard.tsx","../../src/deals/DealColumn.tsx","../../src/deals/DealListContent.tsx","../../src/deals/types.ts","../../src/deals/DealCreate.tsx","../../src/deals/ContactList.tsx","../../src/deals/DealShow.tsx","../../src/deals/OnlyMineInput.tsx","../../src/deals/DealList.tsx"],"sourcesContent":["export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}","import _typeof from \"./typeof.js\";\nexport default function toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}","import * as React from 'react';\nimport clsx from 'clsx';\nimport TextField, { TextFieldProps } from '@mui/material/TextField';\nimport { useInput, FieldTitle } from 'ra-core';\n\nimport { CommonInputProps } from './CommonInputProps';\nimport { InputHelperText } from './InputHelperText';\nimport { sanitizeInputRestProps } from './sanitizeInputRestProps';\n\n/**\n * An Input component for a number\n *\n * @example\n * \n *\n * You can customize the `step` props (which defaults to \"any\")\n * @example\n * \n *\n */\nexport const NumberInput = ({\n className,\n defaultValue = null,\n format = convertNumberToString,\n helperText,\n label,\n margin,\n onChange,\n onBlur,\n onFocus,\n parse,\n resource,\n source,\n step = 'any',\n min,\n max,\n validate,\n variant,\n inputProps: overrideInputProps,\n disabled,\n readOnly,\n ...rest\n}: NumberInputProps) => {\n const {\n field,\n fieldState: { error, invalid },\n id,\n isRequired,\n } = useInput({\n defaultValue,\n onBlur,\n resource,\n source,\n validate,\n disabled,\n readOnly,\n ...rest,\n });\n const { onBlur: onBlurFromField } = field;\n\n const inputProps = { ...overrideInputProps, step, min, max };\n\n // This is a controlled input that renders directly the string typed by the user.\n // This string is converted to a number on change, and stored in the form state,\n // but that number is not not displayed.\n // This is to allow transitory values like '1.0' that will lead to '1.02'\n\n // text typed by the user and displayed in the input, unparsed\n const [value, setValue] = React.useState(format(field.value));\n\n const hasFocus = React.useRef(false);\n\n // update the input text when the record changes\n React.useEffect(() => {\n if (!hasFocus.current) {\n const stringValue = format(field.value);\n setValue(value => (value !== stringValue ? stringValue : value));\n }\n }, [field.value, format]); // eslint-disable-line react-hooks/exhaustive-deps\n\n // update the input text when the user types in the input\n const handleChange = (event: React.ChangeEvent) => {\n if (onChange) {\n onChange(event);\n }\n if (\n typeof event.target === 'undefined' ||\n typeof event.target.value === 'undefined'\n ) {\n return;\n }\n const target = event.target;\n setValue(target.value);\n const newValue =\n target.valueAsNumber !== undefined &&\n target.valueAsNumber !== null &&\n !isNaN(target.valueAsNumber)\n ? parse\n ? parse(target.valueAsNumber)\n : target.valueAsNumber\n : parse\n ? parse(target.value)\n : convertStringToNumber(target.value);\n field.onChange(newValue);\n };\n\n const handleFocus = (event: React.FocusEvent) => {\n if (onFocus) {\n onFocus(event);\n }\n hasFocus.current = true;\n };\n\n const handleBlur = () => {\n if (onBlurFromField) {\n onBlurFromField();\n }\n hasFocus.current = false;\n const stringValue = format(field.value);\n setValue(value => (value !== stringValue ? stringValue : value));\n };\n\n const renderHelperText = helperText !== false || invalid;\n\n const { ref, ...fieldWithoutRef } = field;\n return (\n \n ) : null\n }\n label={\n \n }\n margin={margin}\n inputProps={{ ...inputProps, readOnly }}\n {...sanitizeInputRestProps(rest)}\n />\n );\n};\n\nexport interface NumberInputProps\n extends CommonInputProps,\n Omit<\n TextFieldProps,\n | 'label'\n | 'helperText'\n | 'defaultValue'\n | 'onChange'\n | 'onBlur'\n | 'type'\n > {\n step?: string | number;\n min?: string | number;\n max?: string | number;\n}\n\nconst convertStringToNumber = value => {\n if (value == null || value === '') {\n return null;\n }\n const float = parseFloat(value);\n\n return isNaN(float) ? 0 : float;\n};\n\nconst convertNumberToString = value =>\n value == null || isNaN(value) ? '' : value.toString();\n","import * as React from 'react';\nimport { styled } from '@mui/material/styles';\nimport SearchIcon from '@mui/icons-material/Search';\nimport { InputAdornment } from '@mui/material';\nimport { useTranslate } from 'ra-core';\n\nimport { CommonInputProps } from './CommonInputProps';\nimport { TextInput, TextInputProps } from './TextInput';\n\nexport const SearchInput = (props: SearchInputProps) => {\n const { label, ...rest } = props;\n\n const translate = useTranslate();\n\n if (label) {\n throw new Error(\n \" isn't designed to be used with a label prop. Use if you need a label.\"\n );\n }\n\n return (\n \n \n \n ),\n }}\n size=\"small\"\n {...rest}\n />\n );\n};\n\nexport type SearchInputProps = CommonInputProps & TextInputProps;\n\nconst PREFIX = 'RaSearchInput';\n\nconst StyledTextInput = styled(TextInput, {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})({\n marginTop: 0,\n});\n","import * as React from 'react';\nimport { ReactElement, ReactNode } from 'react';\nimport { Form, FormProps } from 'ra-core';\nimport { Stack, CardContent, SxProps, StackProps } from '@mui/material';\nimport { styled } from '@mui/material/styles';\n\nimport { Toolbar } from './Toolbar';\n\n/**\n * Form with a one column layout, one input per line.\n *\n * Pass input components as children.\n *\n * @example\n *\n * import * as React from \"react\";\n * import { Create, Edit, SimpleForm, TextInput, DateInput, ReferenceManyField, Datagrid, TextField, DateField, EditButton } from 'react-admin';\n * import RichTextInput from 'ra-input-rich-text';\n *\n * export const PostCreate = () => (\n * \n * \n * \n * \n * \n * \n * \n * \n * );\n *\n * @typedef {Object} Props the props you can use (other props are injected by Create or Edit)\n * @prop {ReactElement[]} children Input elements\n * @prop {Object} defaultValues\n * @prop {Function} validate\n * @prop {ReactElement} toolbar The element displayed at the bottom of the form, containing the SaveButton\n *\n * @param {Props} props\n */\nexport const SimpleForm = (props: SimpleFormProps) => {\n const {\n children,\n className,\n component: Component = DefaultComponent,\n sx,\n toolbar = DefaultToolbar,\n ...rest\n } = props;\n return (\n
\n \n \n {children}\n \n \n {toolbar !== false ? toolbar : null}\n
\n );\n};\n\nexport interface SimpleFormProps\n extends Omit,\n Omit {\n children: ReactNode;\n className?: string;\n component?: React.ComponentType;\n defaultValues?: any;\n toolbar?: ReactElement | false;\n sx?: SxProps;\n}\n\nconst PREFIX = 'RaSimpleForm';\n\nconst DefaultComponent = styled(CardContent, {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme }) => ({\n [theme.breakpoints.down('sm')]: {\n paddingBottom: '5em',\n },\n}));\n\nconst DefaultToolbar = ;\n\n/* eslint-disable @typescript-eslint/no-unused-vars */\nconst sanitizeRestProps = ({\n children,\n className,\n component,\n criteriaMode,\n defaultValues,\n delayError,\n onSubmit,\n record,\n resource,\n reValidateMode,\n sx,\n toolbar,\n validate,\n resetOptions,\n resolver,\n sanitizeEmptyValues,\n shouldFocusError,\n shouldUnregister,\n shouldUseNativeValidation,\n warnWhenUnsavedChanges,\n ...props\n}: SimpleFormProps) => props;\n/* eslint-enable @typescript-eslint/no-unused-vars */\n","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","import defineProperty from \"./defineProperty.js\";\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nexport default function _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}","import _objectSpread from '@babel/runtime/helpers/esm/objectSpread2';\n\n/**\n * Adapted from React: https://github.com/facebook/react/blob/master/packages/shared/formatProdErrorMessage.js\n *\n * Do not require this module directly! Use normal throw error calls. These messages will be replaced with error codes\n * during build.\n * @param {number} code\n */\nfunction formatProdErrorMessage(code) {\n return \"Minified Redux error #\" + code + \"; visit https://redux.js.org/Errors?code=\" + code + \" for the full message or \" + 'use the non-minified dev environment for full errors. ';\n}\n\n// Inlined version of the `symbol-observable` polyfill\nvar $$observable = (function () {\n return typeof Symbol === 'function' && Symbol.observable || '@@observable';\n})();\n\n/**\n * These are private action types reserved by Redux.\n * For any unknown actions, you must return the current state.\n * If the current state is undefined, you must return the initial state.\n * Do not reference these action types directly in your code.\n */\nvar randomString = function randomString() {\n return Math.random().toString(36).substring(7).split('').join('.');\n};\n\nvar ActionTypes = {\n INIT: \"@@redux/INIT\" + randomString(),\n REPLACE: \"@@redux/REPLACE\" + randomString(),\n PROBE_UNKNOWN_ACTION: function PROBE_UNKNOWN_ACTION() {\n return \"@@redux/PROBE_UNKNOWN_ACTION\" + randomString();\n }\n};\n\n/**\n * @param {any} obj The object to inspect.\n * @returns {boolean} True if the argument appears to be a plain object.\n */\nfunction isPlainObject(obj) {\n if (typeof obj !== 'object' || obj === null) return false;\n var proto = obj;\n\n while (Object.getPrototypeOf(proto) !== null) {\n proto = Object.getPrototypeOf(proto);\n }\n\n return Object.getPrototypeOf(obj) === proto;\n}\n\n// Inlined / shortened version of `kindOf` from https://github.com/jonschlinkert/kind-of\nfunction miniKindOf(val) {\n if (val === void 0) return 'undefined';\n if (val === null) return 'null';\n var type = typeof val;\n\n switch (type) {\n case 'boolean':\n case 'string':\n case 'number':\n case 'symbol':\n case 'function':\n {\n return type;\n }\n }\n\n if (Array.isArray(val)) return 'array';\n if (isDate(val)) return 'date';\n if (isError(val)) return 'error';\n var constructorName = ctorName(val);\n\n switch (constructorName) {\n case 'Symbol':\n case 'Promise':\n case 'WeakMap':\n case 'WeakSet':\n case 'Map':\n case 'Set':\n return constructorName;\n } // other\n\n\n return type.slice(8, -1).toLowerCase().replace(/\\s/g, '');\n}\n\nfunction ctorName(val) {\n return typeof val.constructor === 'function' ? val.constructor.name : null;\n}\n\nfunction isError(val) {\n return val instanceof Error || typeof val.message === 'string' && val.constructor && typeof val.constructor.stackTraceLimit === 'number';\n}\n\nfunction isDate(val) {\n if (val instanceof Date) return true;\n return typeof val.toDateString === 'function' && typeof val.getDate === 'function' && typeof val.setDate === 'function';\n}\n\nfunction kindOf(val) {\n var typeOfVal = typeof val;\n\n if (process.env.NODE_ENV !== 'production') {\n typeOfVal = miniKindOf(val);\n }\n\n return typeOfVal;\n}\n\n/**\n * @deprecated\n *\n * **We recommend using the `configureStore` method\n * of the `@reduxjs/toolkit` package**, which replaces `createStore`.\n *\n * Redux Toolkit is our recommended approach for writing Redux logic today,\n * including store setup, reducers, data fetching, and more.\n *\n * **For more details, please read this Redux docs page:**\n * **https://redux.js.org/introduction/why-rtk-is-redux-today**\n *\n * `configureStore` from Redux Toolkit is an improved version of `createStore` that\n * simplifies setup and helps avoid common bugs.\n *\n * You should not be using the `redux` core package by itself today, except for learning purposes.\n * The `createStore` method from the core `redux` package will not be removed, but we encourage\n * all users to migrate to using Redux Toolkit for all Redux code.\n *\n * If you want to use `createStore` without this visual deprecation warning, use\n * the `legacy_createStore` import instead:\n *\n * `import { legacy_createStore as createStore} from 'redux'`\n *\n */\n\nfunction createStore(reducer, preloadedState, enhancer) {\n var _ref2;\n\n if (typeof preloadedState === 'function' && typeof enhancer === 'function' || typeof enhancer === 'function' && typeof arguments[3] === 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(0) : 'It looks like you are passing several store enhancers to ' + 'createStore(). This is not supported. Instead, compose them ' + 'together to a single function. See https://redux.js.org/tutorials/fundamentals/part-4-store#creating-a-store-with-enhancers for an example.');\n }\n\n if (typeof preloadedState === 'function' && typeof enhancer === 'undefined') {\n enhancer = preloadedState;\n preloadedState = undefined;\n }\n\n if (typeof enhancer !== 'undefined') {\n if (typeof enhancer !== 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(1) : \"Expected the enhancer to be a function. Instead, received: '\" + kindOf(enhancer) + \"'\");\n }\n\n return enhancer(createStore)(reducer, preloadedState);\n }\n\n if (typeof reducer !== 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(2) : \"Expected the root reducer to be a function. Instead, received: '\" + kindOf(reducer) + \"'\");\n }\n\n var currentReducer = reducer;\n var currentState = preloadedState;\n var currentListeners = [];\n var nextListeners = currentListeners;\n var isDispatching = false;\n /**\n * This makes a shallow copy of currentListeners so we can use\n * nextListeners as a temporary list while dispatching.\n *\n * This prevents any bugs around consumers calling\n * subscribe/unsubscribe in the middle of a dispatch.\n */\n\n function ensureCanMutateNextListeners() {\n if (nextListeners === currentListeners) {\n nextListeners = currentListeners.slice();\n }\n }\n /**\n * Reads the state tree managed by the store.\n *\n * @returns {any} The current state tree of your application.\n */\n\n\n function getState() {\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(3) : 'You may not call store.getState() while the reducer is executing. ' + 'The reducer has already received the state as an argument. ' + 'Pass it down from the top reducer instead of reading it from the store.');\n }\n\n return currentState;\n }\n /**\n * Adds a change listener. It will be called any time an action is dispatched,\n * and some part of the state tree may potentially have changed. You may then\n * call `getState()` to read the current state tree inside the callback.\n *\n * You may call `dispatch()` from a change listener, with the following\n * caveats:\n *\n * 1. The subscriptions are snapshotted just before every `dispatch()` call.\n * If you subscribe or unsubscribe while the listeners are being invoked, this\n * will not have any effect on the `dispatch()` that is currently in progress.\n * However, the next `dispatch()` call, whether nested or not, will use a more\n * recent snapshot of the subscription list.\n *\n * 2. The listener should not expect to see all state changes, as the state\n * might have been updated multiple times during a nested `dispatch()` before\n * the listener is called. It is, however, guaranteed that all subscribers\n * registered before the `dispatch()` started will be called with the latest\n * state by the time it exits.\n *\n * @param {Function} listener A callback to be invoked on every dispatch.\n * @returns {Function} A function to remove this change listener.\n */\n\n\n function subscribe(listener) {\n if (typeof listener !== 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(4) : \"Expected the listener to be a function. Instead, received: '\" + kindOf(listener) + \"'\");\n }\n\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(5) : 'You may not call store.subscribe() while the reducer is executing. ' + 'If you would like to be notified after the store has been updated, subscribe from a ' + 'component and invoke store.getState() in the callback to access the latest state. ' + 'See https://redux.js.org/api/store#subscribelistener for more details.');\n }\n\n var isSubscribed = true;\n ensureCanMutateNextListeners();\n nextListeners.push(listener);\n return function unsubscribe() {\n if (!isSubscribed) {\n return;\n }\n\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(6) : 'You may not unsubscribe from a store listener while the reducer is executing. ' + 'See https://redux.js.org/api/store#subscribelistener for more details.');\n }\n\n isSubscribed = false;\n ensureCanMutateNextListeners();\n var index = nextListeners.indexOf(listener);\n nextListeners.splice(index, 1);\n currentListeners = null;\n };\n }\n /**\n * Dispatches an action. It is the only way to trigger a state change.\n *\n * The `reducer` function, used to create the store, will be called with the\n * current state tree and the given `action`. Its return value will\n * be considered the **next** state of the tree, and the change listeners\n * will be notified.\n *\n * The base implementation only supports plain object actions. If you want to\n * dispatch a Promise, an Observable, a thunk, or something else, you need to\n * wrap your store creating function into the corresponding middleware. For\n * example, see the documentation for the `redux-thunk` package. Even the\n * middleware will eventually dispatch plain object actions using this method.\n *\n * @param {Object} action A plain object representing “what changed”. It is\n * a good idea to keep actions serializable so you can record and replay user\n * sessions, or use the time travelling `redux-devtools`. An action must have\n * a `type` property which may not be `undefined`. It is a good idea to use\n * string constants for action types.\n *\n * @returns {Object} For convenience, the same action object you dispatched.\n *\n * Note that, if you use a custom middleware, it may wrap `dispatch()` to\n * return something else (for example, a Promise you can await).\n */\n\n\n function dispatch(action) {\n if (!isPlainObject(action)) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(7) : \"Actions must be plain objects. Instead, the actual type was: '\" + kindOf(action) + \"'. You may need to add middleware to your store setup to handle dispatching other values, such as 'redux-thunk' to handle dispatching functions. See https://redux.js.org/tutorials/fundamentals/part-4-store#middleware and https://redux.js.org/tutorials/fundamentals/part-6-async-logic#using-the-redux-thunk-middleware for examples.\");\n }\n\n if (typeof action.type === 'undefined') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(8) : 'Actions may not have an undefined \"type\" property. You may have misspelled an action type string constant.');\n }\n\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(9) : 'Reducers may not dispatch actions.');\n }\n\n try {\n isDispatching = true;\n currentState = currentReducer(currentState, action);\n } finally {\n isDispatching = false;\n }\n\n var listeners = currentListeners = nextListeners;\n\n for (var i = 0; i < listeners.length; i++) {\n var listener = listeners[i];\n listener();\n }\n\n return action;\n }\n /**\n * Replaces the reducer currently used by the store to calculate the state.\n *\n * You might need this if your app implements code splitting and you want to\n * load some of the reducers dynamically. You might also need this if you\n * implement a hot reloading mechanism for Redux.\n *\n * @param {Function} nextReducer The reducer for the store to use instead.\n * @returns {void}\n */\n\n\n function replaceReducer(nextReducer) {\n if (typeof nextReducer !== 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(10) : \"Expected the nextReducer to be a function. Instead, received: '\" + kindOf(nextReducer));\n }\n\n currentReducer = nextReducer; // This action has a similiar effect to ActionTypes.INIT.\n // Any reducers that existed in both the new and old rootReducer\n // will receive the previous state. This effectively populates\n // the new state tree with any relevant data from the old one.\n\n dispatch({\n type: ActionTypes.REPLACE\n });\n }\n /**\n * Interoperability point for observable/reactive libraries.\n * @returns {observable} A minimal observable of state changes.\n * For more information, see the observable proposal:\n * https://github.com/tc39/proposal-observable\n */\n\n\n function observable() {\n var _ref;\n\n var outerSubscribe = subscribe;\n return _ref = {\n /**\n * The minimal observable subscription method.\n * @param {Object} observer Any object that can be used as an observer.\n * The observer object should have a `next` method.\n * @returns {subscription} An object with an `unsubscribe` method that can\n * be used to unsubscribe the observable from the store, and prevent further\n * emission of values from the observable.\n */\n subscribe: function subscribe(observer) {\n if (typeof observer !== 'object' || observer === null) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(11) : \"Expected the observer to be an object. Instead, received: '\" + kindOf(observer) + \"'\");\n }\n\n function observeState() {\n if (observer.next) {\n observer.next(getState());\n }\n }\n\n observeState();\n var unsubscribe = outerSubscribe(observeState);\n return {\n unsubscribe: unsubscribe\n };\n }\n }, _ref[$$observable] = function () {\n return this;\n }, _ref;\n } // When a store is created, an \"INIT\" action is dispatched so that every\n // reducer returns their initial state. This effectively populates\n // the initial state tree.\n\n\n dispatch({\n type: ActionTypes.INIT\n });\n return _ref2 = {\n dispatch: dispatch,\n subscribe: subscribe,\n getState: getState,\n replaceReducer: replaceReducer\n }, _ref2[$$observable] = observable, _ref2;\n}\n/**\n * Creates a Redux store that holds the state tree.\n *\n * **We recommend using `configureStore` from the\n * `@reduxjs/toolkit` package**, which replaces `createStore`:\n * **https://redux.js.org/introduction/why-rtk-is-redux-today**\n *\n * The only way to change the data in the store is to call `dispatch()` on it.\n *\n * There should only be a single store in your app. To specify how different\n * parts of the state tree respond to actions, you may combine several reducers\n * into a single reducer function by using `combineReducers`.\n *\n * @param {Function} reducer A function that returns the next state tree, given\n * the current state tree and the action to handle.\n *\n * @param {any} [preloadedState] The initial state. You may optionally specify it\n * to hydrate the state from the server in universal apps, or to restore a\n * previously serialized user session.\n * If you use `combineReducers` to produce the root reducer function, this must be\n * an object with the same shape as `combineReducers` keys.\n *\n * @param {Function} [enhancer] The store enhancer. You may optionally specify it\n * to enhance the store with third-party capabilities such as middleware,\n * time travel, persistence, etc. The only store enhancer that ships with Redux\n * is `applyMiddleware()`.\n *\n * @returns {Store} A Redux store that lets you read the state, dispatch actions\n * and subscribe to changes.\n */\n\nvar legacy_createStore = createStore;\n\n/**\n * Prints a warning in the console if it exists.\n *\n * @param {String} message The warning message.\n * @returns {void}\n */\nfunction warning(message) {\n /* eslint-disable no-console */\n if (typeof console !== 'undefined' && typeof console.error === 'function') {\n console.error(message);\n }\n /* eslint-enable no-console */\n\n\n try {\n // This error was thrown as a convenience so that if you enable\n // \"break on all exceptions\" in your console,\n // it would pause the execution at this line.\n throw new Error(message);\n } catch (e) {} // eslint-disable-line no-empty\n\n}\n\nfunction getUnexpectedStateShapeWarningMessage(inputState, reducers, action, unexpectedKeyCache) {\n var reducerKeys = Object.keys(reducers);\n var argumentName = action && action.type === ActionTypes.INIT ? 'preloadedState argument passed to createStore' : 'previous state received by the reducer';\n\n if (reducerKeys.length === 0) {\n return 'Store does not have a valid reducer. Make sure the argument passed ' + 'to combineReducers is an object whose values are reducers.';\n }\n\n if (!isPlainObject(inputState)) {\n return \"The \" + argumentName + \" has unexpected type of \\\"\" + kindOf(inputState) + \"\\\". Expected argument to be an object with the following \" + (\"keys: \\\"\" + reducerKeys.join('\", \"') + \"\\\"\");\n }\n\n var unexpectedKeys = Object.keys(inputState).filter(function (key) {\n return !reducers.hasOwnProperty(key) && !unexpectedKeyCache[key];\n });\n unexpectedKeys.forEach(function (key) {\n unexpectedKeyCache[key] = true;\n });\n if (action && action.type === ActionTypes.REPLACE) return;\n\n if (unexpectedKeys.length > 0) {\n return \"Unexpected \" + (unexpectedKeys.length > 1 ? 'keys' : 'key') + \" \" + (\"\\\"\" + unexpectedKeys.join('\", \"') + \"\\\" found in \" + argumentName + \". \") + \"Expected to find one of the known reducer keys instead: \" + (\"\\\"\" + reducerKeys.join('\", \"') + \"\\\". Unexpected keys will be ignored.\");\n }\n}\n\nfunction assertReducerShape(reducers) {\n Object.keys(reducers).forEach(function (key) {\n var reducer = reducers[key];\n var initialState = reducer(undefined, {\n type: ActionTypes.INIT\n });\n\n if (typeof initialState === 'undefined') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(12) : \"The slice reducer for key \\\"\" + key + \"\\\" returned undefined during initialization. \" + \"If the state passed to the reducer is undefined, you must \" + \"explicitly return the initial state. The initial state may \" + \"not be undefined. If you don't want to set a value for this reducer, \" + \"you can use null instead of undefined.\");\n }\n\n if (typeof reducer(undefined, {\n type: ActionTypes.PROBE_UNKNOWN_ACTION()\n }) === 'undefined') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(13) : \"The slice reducer for key \\\"\" + key + \"\\\" returned undefined when probed with a random type. \" + (\"Don't try to handle '\" + ActionTypes.INIT + \"' or other actions in \\\"redux/*\\\" \") + \"namespace. They are considered private. Instead, you must return the \" + \"current state for any unknown actions, unless it is undefined, \" + \"in which case you must return the initial state, regardless of the \" + \"action type. The initial state may not be undefined, but can be null.\");\n }\n });\n}\n/**\n * Turns an object whose values are different reducer functions, into a single\n * reducer function. It will call every child reducer, and gather their results\n * into a single state object, whose keys correspond to the keys of the passed\n * reducer functions.\n *\n * @param {Object} reducers An object whose values correspond to different\n * reducer functions that need to be combined into one. One handy way to obtain\n * it is to use ES6 `import * as reducers` syntax. The reducers may never return\n * undefined for any action. Instead, they should return their initial state\n * if the state passed to them was undefined, and the current state for any\n * unrecognized action.\n *\n * @returns {Function} A reducer function that invokes every reducer inside the\n * passed object, and builds a state object with the same shape.\n */\n\n\nfunction combineReducers(reducers) {\n var reducerKeys = Object.keys(reducers);\n var finalReducers = {};\n\n for (var i = 0; i < reducerKeys.length; i++) {\n var key = reducerKeys[i];\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof reducers[key] === 'undefined') {\n warning(\"No reducer provided for key \\\"\" + key + \"\\\"\");\n }\n }\n\n if (typeof reducers[key] === 'function') {\n finalReducers[key] = reducers[key];\n }\n }\n\n var finalReducerKeys = Object.keys(finalReducers); // This is used to make sure we don't warn about the same\n // keys multiple times.\n\n var unexpectedKeyCache;\n\n if (process.env.NODE_ENV !== 'production') {\n unexpectedKeyCache = {};\n }\n\n var shapeAssertionError;\n\n try {\n assertReducerShape(finalReducers);\n } catch (e) {\n shapeAssertionError = e;\n }\n\n return function combination(state, action) {\n if (state === void 0) {\n state = {};\n }\n\n if (shapeAssertionError) {\n throw shapeAssertionError;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n var warningMessage = getUnexpectedStateShapeWarningMessage(state, finalReducers, action, unexpectedKeyCache);\n\n if (warningMessage) {\n warning(warningMessage);\n }\n }\n\n var hasChanged = false;\n var nextState = {};\n\n for (var _i = 0; _i < finalReducerKeys.length; _i++) {\n var _key = finalReducerKeys[_i];\n var reducer = finalReducers[_key];\n var previousStateForKey = state[_key];\n var nextStateForKey = reducer(previousStateForKey, action);\n\n if (typeof nextStateForKey === 'undefined') {\n var actionType = action && action.type;\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(14) : \"When called with an action of type \" + (actionType ? \"\\\"\" + String(actionType) + \"\\\"\" : '(unknown type)') + \", the slice reducer for key \\\"\" + _key + \"\\\" returned undefined. \" + \"To ignore an action, you must explicitly return the previous state. \" + \"If you want this reducer to hold no value, you can return null instead of undefined.\");\n }\n\n nextState[_key] = nextStateForKey;\n hasChanged = hasChanged || nextStateForKey !== previousStateForKey;\n }\n\n hasChanged = hasChanged || finalReducerKeys.length !== Object.keys(state).length;\n return hasChanged ? nextState : state;\n };\n}\n\nfunction bindActionCreator(actionCreator, dispatch) {\n return function () {\n return dispatch(actionCreator.apply(this, arguments));\n };\n}\n/**\n * Turns an object whose values are action creators, into an object with the\n * same keys, but with every function wrapped into a `dispatch` call so they\n * may be invoked directly. This is just a convenience method, as you can call\n * `store.dispatch(MyActionCreators.doSomething())` yourself just fine.\n *\n * For convenience, you can also pass an action creator as the first argument,\n * and get a dispatch wrapped function in return.\n *\n * @param {Function|Object} actionCreators An object whose values are action\n * creator functions. One handy way to obtain it is to use ES6 `import * as`\n * syntax. You may also pass a single function.\n *\n * @param {Function} dispatch The `dispatch` function available on your Redux\n * store.\n *\n * @returns {Function|Object} The object mimicking the original object, but with\n * every action creator wrapped into the `dispatch` call. If you passed a\n * function as `actionCreators`, the return value will also be a single\n * function.\n */\n\n\nfunction bindActionCreators(actionCreators, dispatch) {\n if (typeof actionCreators === 'function') {\n return bindActionCreator(actionCreators, dispatch);\n }\n\n if (typeof actionCreators !== 'object' || actionCreators === null) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(16) : \"bindActionCreators expected an object or a function, but instead received: '\" + kindOf(actionCreators) + \"'. \" + \"Did you write \\\"import ActionCreators from\\\" instead of \\\"import * as ActionCreators from\\\"?\");\n }\n\n var boundActionCreators = {};\n\n for (var key in actionCreators) {\n var actionCreator = actionCreators[key];\n\n if (typeof actionCreator === 'function') {\n boundActionCreators[key] = bindActionCreator(actionCreator, dispatch);\n }\n }\n\n return boundActionCreators;\n}\n\n/**\n * Composes single-argument functions from right to left. The rightmost\n * function can take multiple arguments as it provides the signature for\n * the resulting composite function.\n *\n * @param {...Function} funcs The functions to compose.\n * @returns {Function} A function obtained by composing the argument functions\n * from right to left. For example, compose(f, g, h) is identical to doing\n * (...args) => f(g(h(...args))).\n */\nfunction compose() {\n for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) {\n funcs[_key] = arguments[_key];\n }\n\n if (funcs.length === 0) {\n return function (arg) {\n return arg;\n };\n }\n\n if (funcs.length === 1) {\n return funcs[0];\n }\n\n return funcs.reduce(function (a, b) {\n return function () {\n return a(b.apply(void 0, arguments));\n };\n });\n}\n\n/**\n * Creates a store enhancer that applies middleware to the dispatch method\n * of the Redux store. This is handy for a variety of tasks, such as expressing\n * asynchronous actions in a concise manner, or logging every action payload.\n *\n * See `redux-thunk` package as an example of the Redux middleware.\n *\n * Because middleware is potentially asynchronous, this should be the first\n * store enhancer in the composition chain.\n *\n * Note that each middleware will be given the `dispatch` and `getState` functions\n * as named arguments.\n *\n * @param {...Function} middlewares The middleware chain to be applied.\n * @returns {Function} A store enhancer applying the middleware.\n */\n\nfunction applyMiddleware() {\n for (var _len = arguments.length, middlewares = new Array(_len), _key = 0; _key < _len; _key++) {\n middlewares[_key] = arguments[_key];\n }\n\n return function (createStore) {\n return function () {\n var store = createStore.apply(void 0, arguments);\n\n var _dispatch = function dispatch() {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(15) : 'Dispatching while constructing your middleware is not allowed. ' + 'Other middleware would not be applied to this dispatch.');\n };\n\n var middlewareAPI = {\n getState: store.getState,\n dispatch: function dispatch() {\n return _dispatch.apply(void 0, arguments);\n }\n };\n var chain = middlewares.map(function (middleware) {\n return middleware(middlewareAPI);\n });\n _dispatch = compose.apply(void 0, chain)(store.dispatch);\n return _objectSpread(_objectSpread({}, store), {}, {\n dispatch: _dispatch\n });\n };\n };\n}\n\nexport { ActionTypes as __DO_NOT_USE__ActionTypes, applyMiddleware, bindActionCreators, combineReducers, compose, createStore, legacy_createStore };\n","/**\n * @license React\n * use-sync-external-store-shim.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var e=require(\"react\");function h(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var k=\"function\"===typeof Object.is?Object.is:h,l=e.useState,m=e.useEffect,n=e.useLayoutEffect,p=e.useDebugValue;function q(a,b){var d=b(),f=l({inst:{value:d,getSnapshot:b}}),c=f[0].inst,g=f[1];n(function(){c.value=d;c.getSnapshot=b;r(c)&&g({inst:c})},[a,d,b]);m(function(){r(c)&&g({inst:c});return a(function(){r(c)&&g({inst:c})})},[a]);p(d);return d}\nfunction r(a){var b=a.getSnapshot;a=a.value;try{var d=b();return!k(a,d)}catch(f){return!0}}function t(a,b){return b()}var u=\"undefined\"===typeof window||\"undefined\"===typeof window.document||\"undefined\"===typeof window.document.createElement?t:q;exports.useSyncExternalStore=void 0!==e.useSyncExternalStore?e.useSyncExternalStore:u;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim.production.min.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim.development.js');\n}\n","/**\n * @license React\n * use-sync-external-store-shim/with-selector.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var h=require(\"react\"),n=require(\"use-sync-external-store/shim\");function p(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var q=\"function\"===typeof Object.is?Object.is:p,r=n.useSyncExternalStore,t=h.useRef,u=h.useEffect,v=h.useMemo,w=h.useDebugValue;\nexports.useSyncExternalStoreWithSelector=function(a,b,e,l,g){var c=t(null);if(null===c.current){var f={hasValue:!1,value:null};c.current=f}else f=c.current;c=v(function(){function a(a){if(!c){c=!0;d=a;a=l(a);if(void 0!==g&&f.hasValue){var b=f.value;if(g(b,a))return k=b}return k=a}b=k;if(q(d,a))return b;var e=l(a);if(void 0!==g&&g(b,e))return b;d=a;return k=e}var c=!1,d,k,m=void 0===e?null:e;return[function(){return a(b())},null===m?void 0:function(){return a(m())}]},[b,e,l,g]);var d=r(a,c[0],c[1]);\nu(function(){f.hasValue=!0;f.value=d},[d]);w(d);return d};\n","// Default to a dummy \"batch\" implementation that just runs the callback\nfunction defaultNoopBatch(callback) {\n callback();\n}\n\nlet batch = defaultNoopBatch; // Allow injecting another batching function later\n\nexport const setBatch = newBatch => batch = newBatch; // Supply a getter just to skip dealing with ESM bindings\n\nexport const getBatch = () => batch;","import { createContext, version as ReactVersion } from 'react';\nconst ContextKey = Symbol.for(`react-redux-context-${ReactVersion}`);\nconst gT = globalThis;\n\nfunction getContext() {\n let realContext = gT[ContextKey];\n\n if (!realContext) {\n realContext = createContext(null);\n\n if (process.env.NODE_ENV !== 'production') {\n realContext.displayName = 'ReactRedux';\n }\n\n gT[ContextKey] = realContext;\n }\n\n return realContext;\n}\n\nexport const ReactReduxContext = /*#__PURE__*/new Proxy({}, /*#__PURE__*/new Proxy({}, {\n get(_, handler) {\n const target = getContext(); // @ts-ignore\n\n return (_target, ...args) => Reflect[handler](target, ...args);\n }\n\n}));\nexport default ReactReduxContext;","export const notInitialized = () => {\n throw new Error('uSES not initialized!');\n};","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"initMapStateToProps\", \"initMapDispatchToProps\", \"initMergeProps\"];\nimport verifySubselectors from './verifySubselectors';\nexport function pureFinalPropsSelectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch, {\n areStatesEqual,\n areOwnPropsEqual,\n areStatePropsEqual\n}) {\n let hasRunAtLeastOnce = false;\n let state;\n let ownProps;\n let stateProps;\n let dispatchProps;\n let mergedProps;\n\n function handleFirstCall(firstState, firstOwnProps) {\n state = firstState;\n ownProps = firstOwnProps;\n stateProps = mapStateToProps(state, ownProps);\n dispatchProps = mapDispatchToProps(dispatch, ownProps);\n mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n hasRunAtLeastOnce = true;\n return mergedProps;\n }\n\n function handleNewPropsAndNewState() {\n stateProps = mapStateToProps(state, ownProps);\n if (mapDispatchToProps.dependsOnOwnProps) dispatchProps = mapDispatchToProps(dispatch, ownProps);\n mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n return mergedProps;\n }\n\n function handleNewProps() {\n if (mapStateToProps.dependsOnOwnProps) stateProps = mapStateToProps(state, ownProps);\n if (mapDispatchToProps.dependsOnOwnProps) dispatchProps = mapDispatchToProps(dispatch, ownProps);\n mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n return mergedProps;\n }\n\n function handleNewState() {\n const nextStateProps = mapStateToProps(state, ownProps);\n const statePropsChanged = !areStatePropsEqual(nextStateProps, stateProps);\n stateProps = nextStateProps;\n if (statePropsChanged) mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n return mergedProps;\n }\n\n function handleSubsequentCalls(nextState, nextOwnProps) {\n const propsChanged = !areOwnPropsEqual(nextOwnProps, ownProps);\n const stateChanged = !areStatesEqual(nextState, state, nextOwnProps, ownProps);\n state = nextState;\n ownProps = nextOwnProps;\n if (propsChanged && stateChanged) return handleNewPropsAndNewState();\n if (propsChanged) return handleNewProps();\n if (stateChanged) return handleNewState();\n return mergedProps;\n }\n\n return function pureFinalPropsSelector(nextState, nextOwnProps) {\n return hasRunAtLeastOnce ? handleSubsequentCalls(nextState, nextOwnProps) : handleFirstCall(nextState, nextOwnProps);\n };\n}\n// TODO: Add more comments\n// The selector returned by selectorFactory will memoize its results,\n// allowing connect's shouldComponentUpdate to return false if final\n// props have not changed.\nexport default function finalPropsSelectorFactory(dispatch, _ref) {\n let {\n initMapStateToProps,\n initMapDispatchToProps,\n initMergeProps\n } = _ref,\n options = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n const mapStateToProps = initMapStateToProps(dispatch, options);\n const mapDispatchToProps = initMapDispatchToProps(dispatch, options);\n const mergeProps = initMergeProps(dispatch, options);\n\n if (process.env.NODE_ENV !== 'production') {\n verifySubselectors(mapStateToProps, mapDispatchToProps, mergeProps);\n }\n\n return pureFinalPropsSelectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch, options);\n}","export default function bindActionCreators(actionCreators, dispatch) {\n const boundActionCreators = {};\n\n for (const key in actionCreators) {\n const actionCreator = actionCreators[key];\n\n if (typeof actionCreator === 'function') {\n boundActionCreators[key] = (...args) => dispatch(actionCreator(...args));\n }\n }\n\n return boundActionCreators;\n}","import verifyPlainObject from '../utils/verifyPlainObject';\nexport function wrapMapToPropsConstant( // * Note:\n// It seems that the dispatch argument\n// could be a dispatch function in some cases (ex: whenMapDispatchToPropsIsMissing)\n// and a state object in some others (ex: whenMapStateToPropsIsMissing)\n// eslint-disable-next-line no-unused-vars\ngetConstant) {\n return function initConstantSelector(dispatch) {\n const constant = getConstant(dispatch);\n\n function constantSelector() {\n return constant;\n }\n\n constantSelector.dependsOnOwnProps = false;\n return constantSelector;\n };\n} // dependsOnOwnProps is used by createMapToPropsProxy to determine whether to pass props as args\n// to the mapToProps function being wrapped. It is also used by makePurePropsSelector to determine\n// whether mapToProps needs to be invoked when props have changed.\n//\n// A length of one signals that mapToProps does not depend on props from the parent component.\n// A length of zero is assumed to mean mapToProps is getting args via arguments or ...args and\n// therefore not reporting its length accurately..\n// TODO Can this get pulled out so that we can subscribe directly to the store if we don't need ownProps?\n\nexport function getDependsOnOwnProps(mapToProps) {\n return mapToProps.dependsOnOwnProps ? Boolean(mapToProps.dependsOnOwnProps) : mapToProps.length !== 1;\n} // Used by whenMapStateToPropsIsFunction and whenMapDispatchToPropsIsFunction,\n// this function wraps mapToProps in a proxy function which does several things:\n//\n// * Detects whether the mapToProps function being called depends on props, which\n// is used by selectorFactory to decide if it should reinvoke on props changes.\n//\n// * On first call, handles mapToProps if returns another function, and treats that\n// new function as the true mapToProps for subsequent calls.\n//\n// * On first call, verifies the first result is a plain object, in order to warn\n// the developer that their mapToProps function is not returning a valid result.\n//\n\nexport function wrapMapToPropsFunc(mapToProps, methodName) {\n return function initProxySelector(dispatch, {\n displayName\n }) {\n const proxy = function mapToPropsProxy(stateOrDispatch, ownProps) {\n return proxy.dependsOnOwnProps ? proxy.mapToProps(stateOrDispatch, ownProps) : proxy.mapToProps(stateOrDispatch, undefined);\n }; // allow detectFactoryAndVerify to get ownProps\n\n\n proxy.dependsOnOwnProps = true;\n\n proxy.mapToProps = function detectFactoryAndVerify(stateOrDispatch, ownProps) {\n proxy.mapToProps = mapToProps;\n proxy.dependsOnOwnProps = getDependsOnOwnProps(mapToProps);\n let props = proxy(stateOrDispatch, ownProps);\n\n if (typeof props === 'function') {\n proxy.mapToProps = props;\n proxy.dependsOnOwnProps = getDependsOnOwnProps(props);\n props = proxy(stateOrDispatch, ownProps);\n }\n\n if (process.env.NODE_ENV !== 'production') verifyPlainObject(props, displayName, methodName);\n return props;\n };\n\n return proxy;\n };\n}","export function createInvalidArgFactory(arg, name) {\n return (dispatch, options) => {\n throw new Error(`Invalid value of type ${typeof arg} for ${name} argument when connecting component ${options.wrappedComponentName}.`);\n };\n}","import bindActionCreators from '../utils/bindActionCreators';\nimport { wrapMapToPropsConstant, wrapMapToPropsFunc } from './wrapMapToProps';\nimport { createInvalidArgFactory } from './invalidArgFactory';\nexport function mapDispatchToPropsFactory(mapDispatchToProps) {\n return mapDispatchToProps && typeof mapDispatchToProps === 'object' ? wrapMapToPropsConstant(dispatch => // @ts-ignore\n bindActionCreators(mapDispatchToProps, dispatch)) : !mapDispatchToProps ? wrapMapToPropsConstant(dispatch => ({\n dispatch\n })) : typeof mapDispatchToProps === 'function' ? // @ts-ignore\n wrapMapToPropsFunc(mapDispatchToProps, 'mapDispatchToProps') : createInvalidArgFactory(mapDispatchToProps, 'mapDispatchToProps');\n}","import { wrapMapToPropsConstant, wrapMapToPropsFunc } from './wrapMapToProps';\nimport { createInvalidArgFactory } from './invalidArgFactory';\nexport function mapStateToPropsFactory(mapStateToProps) {\n return !mapStateToProps ? wrapMapToPropsConstant(() => ({})) : typeof mapStateToProps === 'function' ? // @ts-ignore\n wrapMapToPropsFunc(mapStateToProps, 'mapStateToProps') : createInvalidArgFactory(mapStateToProps, 'mapStateToProps');\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport verifyPlainObject from '../utils/verifyPlainObject';\nimport { createInvalidArgFactory } from './invalidArgFactory';\nexport function defaultMergeProps(stateProps, dispatchProps, ownProps) {\n // @ts-ignore\n return _extends({}, ownProps, stateProps, dispatchProps);\n}\nexport function wrapMergePropsFunc(mergeProps) {\n return function initMergePropsProxy(dispatch, {\n displayName,\n areMergedPropsEqual\n }) {\n let hasRunOnce = false;\n let mergedProps;\n return function mergePropsProxy(stateProps, dispatchProps, ownProps) {\n const nextMergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n\n if (hasRunOnce) {\n if (!areMergedPropsEqual(nextMergedProps, mergedProps)) mergedProps = nextMergedProps;\n } else {\n hasRunOnce = true;\n mergedProps = nextMergedProps;\n if (process.env.NODE_ENV !== 'production') verifyPlainObject(mergedProps, displayName, 'mergeProps');\n }\n\n return mergedProps;\n };\n };\n}\nexport function mergePropsFactory(mergeProps) {\n return !mergeProps ? () => defaultMergeProps : typeof mergeProps === 'function' ? wrapMergePropsFunc(mergeProps) : createInvalidArgFactory(mergeProps, 'mergeProps');\n}","import { getBatch } from './batch'; // encapsulates the subscription logic for connecting a component to the redux store, as\n// well as nesting subscriptions of descendant components, so that we can ensure the\n// ancestor components re-render before descendants\n\nfunction createListenerCollection() {\n const batch = getBatch();\n let first = null;\n let last = null;\n return {\n clear() {\n first = null;\n last = null;\n },\n\n notify() {\n batch(() => {\n let listener = first;\n\n while (listener) {\n listener.callback();\n listener = listener.next;\n }\n });\n },\n\n get() {\n let listeners = [];\n let listener = first;\n\n while (listener) {\n listeners.push(listener);\n listener = listener.next;\n }\n\n return listeners;\n },\n\n subscribe(callback) {\n let isSubscribed = true;\n let listener = last = {\n callback,\n next: null,\n prev: last\n };\n\n if (listener.prev) {\n listener.prev.next = listener;\n } else {\n first = listener;\n }\n\n return function unsubscribe() {\n if (!isSubscribed || first === null) return;\n isSubscribed = false;\n\n if (listener.next) {\n listener.next.prev = listener.prev;\n } else {\n last = listener.prev;\n }\n\n if (listener.prev) {\n listener.prev.next = listener.next;\n } else {\n first = listener.next;\n }\n };\n }\n\n };\n}\n\nconst nullListeners = {\n notify() {},\n\n get: () => []\n};\nexport function createSubscription(store, parentSub) {\n let unsubscribe;\n let listeners = nullListeners;\n\n function addNestedSub(listener) {\n trySubscribe();\n return listeners.subscribe(listener);\n }\n\n function notifyNestedSubs() {\n listeners.notify();\n }\n\n function handleChangeWrapper() {\n if (subscription.onStateChange) {\n subscription.onStateChange();\n }\n }\n\n function isSubscribed() {\n return Boolean(unsubscribe);\n }\n\n function trySubscribe() {\n if (!unsubscribe) {\n unsubscribe = parentSub ? parentSub.addNestedSub(handleChangeWrapper) : store.subscribe(handleChangeWrapper);\n listeners = createListenerCollection();\n }\n }\n\n function tryUnsubscribe() {\n if (unsubscribe) {\n unsubscribe();\n unsubscribe = undefined;\n listeners.clear();\n listeners = nullListeners;\n }\n }\n\n const subscription = {\n addNestedSub,\n notifyNestedSubs,\n handleChangeWrapper,\n isSubscribed,\n trySubscribe,\n tryUnsubscribe,\n getListeners: () => listeners\n };\n return subscription;\n}","import { useEffect, useLayoutEffect } from 'react'; // React currently throws a warning when using useLayoutEffect on the server.\n// To get around it, we can conditionally useEffect on the server (no-op) and\n// useLayoutEffect in the browser. We need useLayoutEffect to ensure the store\n// subscription callback always has the selector from the latest render commit\n// available, otherwise a store update may happen between render and the effect,\n// which may cause missed updates; we also must ensure the store subscription\n// is created synchronously, otherwise a store update may occur before the\n// subscription is created and an inconsistent state may be observed\n// Matches logic in React's `shared/ExecutionEnvironment` file\n\nexport const canUseDOM = !!(typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined');\nexport const useIsomorphicLayoutEffect = canUseDOM ? useLayoutEffect : useEffect;","function is(x, y) {\n if (x === y) {\n return x !== 0 || y !== 0 || 1 / x === 1 / y;\n } else {\n return x !== x && y !== y;\n }\n}\n\nexport default function shallowEqual(objA, objB) {\n if (is(objA, objB)) return true;\n\n if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {\n return false;\n }\n\n const keysA = Object.keys(objA);\n const keysB = Object.keys(objB);\n if (keysA.length !== keysB.length) return false;\n\n for (let i = 0; i < keysA.length; i++) {\n if (!Object.prototype.hasOwnProperty.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) {\n return false;\n }\n }\n\n return true;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"reactReduxForwardedRef\"];\n\n/* eslint-disable valid-jsdoc, @typescript-eslint/no-unused-vars */\nimport hoistStatics from 'hoist-non-react-statics';\nimport React, { useContext, useMemo, useRef } from 'react';\nimport { isValidElementType, isContextConsumer } from 'react-is';\nimport defaultSelectorFactory from '../connect/selectorFactory';\nimport { mapDispatchToPropsFactory } from '../connect/mapDispatchToProps';\nimport { mapStateToPropsFactory } from '../connect/mapStateToProps';\nimport { mergePropsFactory } from '../connect/mergeProps';\nimport { createSubscription } from '../utils/Subscription';\nimport { useIsomorphicLayoutEffect } from '../utils/useIsomorphicLayoutEffect';\nimport shallowEqual from '../utils/shallowEqual';\nimport warning from '../utils/warning';\nimport { ReactReduxContext } from './Context';\nimport { notInitialized } from '../utils/useSyncExternalStore';\nlet useSyncExternalStore = notInitialized;\nexport const initializeConnect = fn => {\n useSyncExternalStore = fn;\n}; // Define some constant arrays just to avoid re-creating these\n\nconst EMPTY_ARRAY = [null, 0];\nconst NO_SUBSCRIPTION_ARRAY = [null, null]; // Attempts to stringify whatever not-really-a-component value we were given\n// for logging in an error message\n\nconst stringifyComponent = Comp => {\n try {\n return JSON.stringify(Comp);\n } catch (err) {\n return String(Comp);\n }\n};\n\n// This is \"just\" a `useLayoutEffect`, but with two modifications:\n// - we need to fall back to `useEffect` in SSR to avoid annoying warnings\n// - we extract this to a separate function to avoid closing over values\n// and causing memory leaks\nfunction useIsomorphicLayoutEffectWithArgs(effectFunc, effectArgs, dependencies) {\n useIsomorphicLayoutEffect(() => effectFunc(...effectArgs), dependencies);\n} // Effect callback, extracted: assign the latest props values to refs for later usage\n\n\nfunction captureWrapperProps(lastWrapperProps, lastChildProps, renderIsScheduled, wrapperProps, // actualChildProps: unknown,\nchildPropsFromStoreUpdate, notifyNestedSubs) {\n // We want to capture the wrapper props and child props we used for later comparisons\n lastWrapperProps.current = wrapperProps;\n renderIsScheduled.current = false; // If the render was from a store update, clear out that reference and cascade the subscriber update\n\n if (childPropsFromStoreUpdate.current) {\n childPropsFromStoreUpdate.current = null;\n notifyNestedSubs();\n }\n} // Effect callback, extracted: subscribe to the Redux store or nearest connected ancestor,\n// check for updates after dispatched actions, and trigger re-renders.\n\n\nfunction subscribeUpdates(shouldHandleStateChanges, store, subscription, childPropsSelector, lastWrapperProps, lastChildProps, renderIsScheduled, isMounted, childPropsFromStoreUpdate, notifyNestedSubs, // forceComponentUpdateDispatch: React.Dispatch,\nadditionalSubscribeListener) {\n // If we're not subscribed to the store, nothing to do here\n if (!shouldHandleStateChanges) return () => {}; // Capture values for checking if and when this component unmounts\n\n let didUnsubscribe = false;\n let lastThrownError = null; // We'll run this callback every time a store subscription update propagates to this component\n\n const checkForUpdates = () => {\n if (didUnsubscribe || !isMounted.current) {\n // Don't run stale listeners.\n // Redux doesn't guarantee unsubscriptions happen until next dispatch.\n return;\n } // TODO We're currently calling getState ourselves here, rather than letting `uSES` do it\n\n\n const latestStoreState = store.getState();\n let newChildProps, error;\n\n try {\n // Actually run the selector with the most recent store state and wrapper props\n // to determine what the child props should be\n newChildProps = childPropsSelector(latestStoreState, lastWrapperProps.current);\n } catch (e) {\n error = e;\n lastThrownError = e;\n }\n\n if (!error) {\n lastThrownError = null;\n } // If the child props haven't changed, nothing to do here - cascade the subscription update\n\n\n if (newChildProps === lastChildProps.current) {\n if (!renderIsScheduled.current) {\n notifyNestedSubs();\n }\n } else {\n // Save references to the new child props. Note that we track the \"child props from store update\"\n // as a ref instead of a useState/useReducer because we need a way to determine if that value has\n // been processed. If this went into useState/useReducer, we couldn't clear out the value without\n // forcing another re-render, which we don't want.\n lastChildProps.current = newChildProps;\n childPropsFromStoreUpdate.current = newChildProps;\n renderIsScheduled.current = true; // TODO This is hacky and not how `uSES` is meant to be used\n // Trigger the React `useSyncExternalStore` subscriber\n\n additionalSubscribeListener();\n }\n }; // Actually subscribe to the nearest connected ancestor (or store)\n\n\n subscription.onStateChange = checkForUpdates;\n subscription.trySubscribe(); // Pull data from the store after first render in case the store has\n // changed since we began.\n\n checkForUpdates();\n\n const unsubscribeWrapper = () => {\n didUnsubscribe = true;\n subscription.tryUnsubscribe();\n subscription.onStateChange = null;\n\n if (lastThrownError) {\n // It's possible that we caught an error due to a bad mapState function, but the\n // parent re-rendered without this component and we're about to unmount.\n // This shouldn't happen as long as we do top-down subscriptions correctly, but\n // if we ever do those wrong, this throw will surface the error in our tests.\n // In that case, throw the error from here so it doesn't get lost.\n throw lastThrownError;\n }\n };\n\n return unsubscribeWrapper;\n} // Reducer initial state creation for our update reducer\n\n\nconst initStateUpdates = () => EMPTY_ARRAY;\n\nfunction strictEqual(a, b) {\n return a === b;\n}\n/**\r\n * Infers the type of props that a connector will inject into a component.\r\n */\n\n\nlet hasWarnedAboutDeprecatedPureOption = false;\n/**\r\n * Connects a React component to a Redux store.\r\n *\r\n * - Without arguments, just wraps the component, without changing the behavior / props\r\n *\r\n * - If 2 params are passed (3rd param, mergeProps, is skipped), default behavior\r\n * is to override ownProps (as stated in the docs), so what remains is everything that's\r\n * not a state or dispatch prop\r\n *\r\n * - When 3rd param is passed, we don't know if ownProps propagate and whether they\r\n * should be valid component props, because it depends on mergeProps implementation.\r\n * As such, it is the user's responsibility to extend ownProps interface from state or\r\n * dispatch props or both when applicable\r\n *\r\n * @param mapStateToProps A function that extracts values from state\r\n * @param mapDispatchToProps Setup for dispatching actions\r\n * @param mergeProps Optional callback to merge state and dispatch props together\r\n * @param options Options for configuring the connection\r\n *\r\n */\n\nfunction connect(mapStateToProps, mapDispatchToProps, mergeProps, {\n // The `pure` option has been removed, so TS doesn't like us destructuring this to check its existence.\n // @ts-ignore\n pure,\n areStatesEqual = strictEqual,\n areOwnPropsEqual = shallowEqual,\n areStatePropsEqual = shallowEqual,\n areMergedPropsEqual = shallowEqual,\n // use React's forwardRef to expose a ref of the wrapped component\n forwardRef = false,\n // the context consumer to use\n context = ReactReduxContext\n} = {}) {\n if (process.env.NODE_ENV !== 'production') {\n if (pure !== undefined && !hasWarnedAboutDeprecatedPureOption) {\n hasWarnedAboutDeprecatedPureOption = true;\n warning('The `pure` option has been removed. `connect` is now always a \"pure/memoized\" component');\n }\n }\n\n const Context = context;\n const initMapStateToProps = mapStateToPropsFactory(mapStateToProps);\n const initMapDispatchToProps = mapDispatchToPropsFactory(mapDispatchToProps);\n const initMergeProps = mergePropsFactory(mergeProps);\n const shouldHandleStateChanges = Boolean(mapStateToProps);\n\n const wrapWithConnect = WrappedComponent => {\n if (process.env.NODE_ENV !== 'production' && !isValidElementType(WrappedComponent)) {\n throw new Error(`You must pass a component to the function returned by connect. Instead received ${stringifyComponent(WrappedComponent)}`);\n }\n\n const wrappedComponentName = WrappedComponent.displayName || WrappedComponent.name || 'Component';\n const displayName = `Connect(${wrappedComponentName})`;\n const selectorFactoryOptions = {\n shouldHandleStateChanges,\n displayName,\n wrappedComponentName,\n WrappedComponent,\n // @ts-ignore\n initMapStateToProps,\n // @ts-ignore\n initMapDispatchToProps,\n initMergeProps,\n areStatesEqual,\n areStatePropsEqual,\n areOwnPropsEqual,\n areMergedPropsEqual\n };\n\n function ConnectFunction(props) {\n const [propsContext, reactReduxForwardedRef, wrapperProps] = useMemo(() => {\n // Distinguish between actual \"data\" props that were passed to the wrapper component,\n // and values needed to control behavior (forwarded refs, alternate context instances).\n // To maintain the wrapperProps object reference, memoize this destructuring.\n const {\n reactReduxForwardedRef\n } = props,\n wrapperProps = _objectWithoutPropertiesLoose(props, _excluded);\n\n return [props.context, reactReduxForwardedRef, wrapperProps];\n }, [props]);\n const ContextToUse = useMemo(() => {\n // Users may optionally pass in a custom context instance to use instead of our ReactReduxContext.\n // Memoize the check that determines which context instance we should use.\n return propsContext && propsContext.Consumer && // @ts-ignore\n isContextConsumer( /*#__PURE__*/React.createElement(propsContext.Consumer, null)) ? propsContext : Context;\n }, [propsContext, Context]); // Retrieve the store and ancestor subscription via context, if available\n\n const contextValue = useContext(ContextToUse); // The store _must_ exist as either a prop or in context.\n // We'll check to see if it _looks_ like a Redux store first.\n // This allows us to pass through a `store` prop that is just a plain value.\n\n const didStoreComeFromProps = Boolean(props.store) && Boolean(props.store.getState) && Boolean(props.store.dispatch);\n const didStoreComeFromContext = Boolean(contextValue) && Boolean(contextValue.store);\n\n if (process.env.NODE_ENV !== 'production' && !didStoreComeFromProps && !didStoreComeFromContext) {\n throw new Error(`Could not find \"store\" in the context of ` + `\"${displayName}\". Either wrap the root component in a , ` + `or pass a custom React context provider to and the corresponding ` + `React context consumer to ${displayName} in connect options.`);\n } // Based on the previous check, one of these must be true\n\n\n const store = didStoreComeFromProps ? props.store : contextValue.store;\n const getServerState = didStoreComeFromContext ? contextValue.getServerState : store.getState;\n const childPropsSelector = useMemo(() => {\n // The child props selector needs the store reference as an input.\n // Re-create this selector whenever the store changes.\n return defaultSelectorFactory(store.dispatch, selectorFactoryOptions);\n }, [store]);\n const [subscription, notifyNestedSubs] = useMemo(() => {\n if (!shouldHandleStateChanges) return NO_SUBSCRIPTION_ARRAY; // This Subscription's source should match where store came from: props vs. context. A component\n // connected to the store via props shouldn't use subscription from context, or vice versa.\n\n const subscription = createSubscription(store, didStoreComeFromProps ? undefined : contextValue.subscription); // `notifyNestedSubs` is duplicated to handle the case where the component is unmounted in\n // the middle of the notification loop, where `subscription` will then be null. This can\n // probably be avoided if Subscription's listeners logic is changed to not call listeners\n // that have been unsubscribed in the middle of the notification loop.\n\n const notifyNestedSubs = subscription.notifyNestedSubs.bind(subscription);\n return [subscription, notifyNestedSubs];\n }, [store, didStoreComeFromProps, contextValue]); // Determine what {store, subscription} value should be put into nested context, if necessary,\n // and memoize that value to avoid unnecessary context updates.\n\n const overriddenContextValue = useMemo(() => {\n if (didStoreComeFromProps) {\n // This component is directly subscribed to a store from props.\n // We don't want descendants reading from this store - pass down whatever\n // the existing context value is from the nearest connected ancestor.\n return contextValue;\n } // Otherwise, put this component's subscription instance into context, so that\n // connected descendants won't update until after this component is done\n\n\n return _extends({}, contextValue, {\n subscription\n });\n }, [didStoreComeFromProps, contextValue, subscription]); // Set up refs to coordinate values between the subscription effect and the render logic\n\n const lastChildProps = useRef();\n const lastWrapperProps = useRef(wrapperProps);\n const childPropsFromStoreUpdate = useRef();\n const renderIsScheduled = useRef(false);\n const isProcessingDispatch = useRef(false);\n const isMounted = useRef(false);\n const latestSubscriptionCallbackError = useRef();\n useIsomorphicLayoutEffect(() => {\n isMounted.current = true;\n return () => {\n isMounted.current = false;\n };\n }, []);\n const actualChildPropsSelector = useMemo(() => {\n const selector = () => {\n // Tricky logic here:\n // - This render may have been triggered by a Redux store update that produced new child props\n // - However, we may have gotten new wrapper props after that\n // If we have new child props, and the same wrapper props, we know we should use the new child props as-is.\n // But, if we have new wrapper props, those might change the child props, so we have to recalculate things.\n // So, we'll use the child props from store update only if the wrapper props are the same as last time.\n if (childPropsFromStoreUpdate.current && wrapperProps === lastWrapperProps.current) {\n return childPropsFromStoreUpdate.current;\n } // TODO We're reading the store directly in render() here. Bad idea?\n // This will likely cause Bad Things (TM) to happen in Concurrent Mode.\n // Note that we do this because on renders _not_ caused by store updates, we need the latest store state\n // to determine what the child props should be.\n\n\n return childPropsSelector(store.getState(), wrapperProps);\n };\n\n return selector;\n }, [store, wrapperProps]); // We need this to execute synchronously every time we re-render. However, React warns\n // about useLayoutEffect in SSR, so we try to detect environment and fall back to\n // just useEffect instead to avoid the warning, since neither will run anyway.\n\n const subscribeForReact = useMemo(() => {\n const subscribe = reactListener => {\n if (!subscription) {\n return () => {};\n }\n\n return subscribeUpdates(shouldHandleStateChanges, store, subscription, // @ts-ignore\n childPropsSelector, lastWrapperProps, lastChildProps, renderIsScheduled, isMounted, childPropsFromStoreUpdate, notifyNestedSubs, reactListener);\n };\n\n return subscribe;\n }, [subscription]);\n useIsomorphicLayoutEffectWithArgs(captureWrapperProps, [lastWrapperProps, lastChildProps, renderIsScheduled, wrapperProps, childPropsFromStoreUpdate, notifyNestedSubs]);\n let actualChildProps;\n\n try {\n actualChildProps = useSyncExternalStore( // TODO We're passing through a big wrapper that does a bunch of extra side effects besides subscribing\n subscribeForReact, // TODO This is incredibly hacky. We've already processed the store update and calculated new child props,\n // TODO and we're just passing that through so it triggers a re-render for us rather than relying on `uSES`.\n actualChildPropsSelector, getServerState ? () => childPropsSelector(getServerState(), wrapperProps) : actualChildPropsSelector);\n } catch (err) {\n if (latestSubscriptionCallbackError.current) {\n ;\n err.message += `\\nThe error may be correlated with this previous error:\\n${latestSubscriptionCallbackError.current.stack}\\n\\n`;\n }\n\n throw err;\n }\n\n useIsomorphicLayoutEffect(() => {\n latestSubscriptionCallbackError.current = undefined;\n childPropsFromStoreUpdate.current = undefined;\n lastChildProps.current = actualChildProps;\n }); // Now that all that's done, we can finally try to actually render the child component.\n // We memoize the elements for the rendered child component as an optimization.\n\n const renderedWrappedComponent = useMemo(() => {\n return (\n /*#__PURE__*/\n // @ts-ignore\n React.createElement(WrappedComponent, _extends({}, actualChildProps, {\n ref: reactReduxForwardedRef\n }))\n );\n }, [reactReduxForwardedRef, WrappedComponent, actualChildProps]); // If React sees the exact same element reference as last time, it bails out of re-rendering\n // that child, same as if it was wrapped in React.memo() or returned false from shouldComponentUpdate.\n\n const renderedChild = useMemo(() => {\n if (shouldHandleStateChanges) {\n // If this component is subscribed to store updates, we need to pass its own\n // subscription instance down to our descendants. That means rendering the same\n // Context instance, and putting a different value into the context.\n return /*#__PURE__*/React.createElement(ContextToUse.Provider, {\n value: overriddenContextValue\n }, renderedWrappedComponent);\n }\n\n return renderedWrappedComponent;\n }, [ContextToUse, renderedWrappedComponent, overriddenContextValue]);\n return renderedChild;\n }\n\n const _Connect = React.memo(ConnectFunction);\n\n // Add a hacky cast to get the right output type\n const Connect = _Connect;\n Connect.WrappedComponent = WrappedComponent;\n Connect.displayName = ConnectFunction.displayName = displayName;\n\n if (forwardRef) {\n const _forwarded = React.forwardRef(function forwardConnectRef(props, ref) {\n // @ts-ignore\n return /*#__PURE__*/React.createElement(Connect, _extends({}, props, {\n reactReduxForwardedRef: ref\n }));\n });\n\n const forwarded = _forwarded;\n forwarded.displayName = displayName;\n forwarded.WrappedComponent = WrappedComponent;\n return hoistStatics(forwarded, WrappedComponent);\n }\n\n return hoistStatics(Connect, WrappedComponent);\n };\n\n return wrapWithConnect;\n}\n\nexport default connect;","import React, { useMemo } from 'react';\nimport { ReactReduxContext } from './Context';\nimport { createSubscription } from '../utils/Subscription';\nimport { useIsomorphicLayoutEffect } from '../utils/useIsomorphicLayoutEffect';\n\nfunction Provider({\n store,\n context,\n children,\n serverState,\n stabilityCheck = 'once',\n noopCheck = 'once'\n}) {\n const contextValue = useMemo(() => {\n const subscription = createSubscription(store);\n return {\n store,\n subscription,\n getServerState: serverState ? () => serverState : undefined,\n stabilityCheck,\n noopCheck\n };\n }, [store, serverState, stabilityCheck, noopCheck]);\n const previousState = useMemo(() => store.getState(), [store]);\n useIsomorphicLayoutEffect(() => {\n const {\n subscription\n } = contextValue;\n subscription.onStateChange = subscription.notifyNestedSubs;\n subscription.trySubscribe();\n\n if (previousState !== store.getState()) {\n subscription.notifyNestedSubs();\n }\n\n return () => {\n subscription.tryUnsubscribe();\n subscription.onStateChange = undefined;\n };\n }, [contextValue, previousState]);\n const Context = context || ReactReduxContext; // @ts-ignore 'AnyAction' is assignable to the constraint of type 'A', but 'A' could be instantiated with a different subtype\n\n return /*#__PURE__*/React.createElement(Context.Provider, {\n value: contextValue\n }, children);\n}\n\nexport default Provider;","// The primary entry point assumes we're working with standard ReactDOM/RN, but\n// older versions that do not include `useSyncExternalStore` (React 16.9 - 17.x).\n// Because of that, the useSyncExternalStore compat shim is needed.\nimport { useSyncExternalStore } from 'use-sync-external-store/shim';\nimport { useSyncExternalStoreWithSelector } from 'use-sync-external-store/shim/with-selector';\nimport { unstable_batchedUpdates as batch } from './utils/reactBatchedUpdates';\nimport { setBatch } from './utils/batch';\nimport { initializeUseSelector } from './hooks/useSelector';\nimport { initializeConnect } from './components/connect';\ninitializeUseSelector(useSyncExternalStoreWithSelector);\ninitializeConnect(useSyncExternalStore); // Enable batched updates in our subscriptions for use\n// with standard React renderers (ReactDOM, React Native)\n\nsetBatch(batch);\nexport { batch };\nexport * from './exports';","import { useState, useRef, useEffect } from 'react';\n\nfunction areInputsEqual(newInputs, lastInputs) {\n if (newInputs.length !== lastInputs.length) {\n return false;\n }\n\n for (var i = 0; i < newInputs.length; i++) {\n if (newInputs[i] !== lastInputs[i]) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction useMemoOne(getResult, inputs) {\n var initial = useState(function () {\n return {\n inputs: inputs,\n result: getResult()\n };\n })[0];\n var isFirstRun = useRef(true);\n var committed = useRef(initial);\n var useCache = isFirstRun.current || Boolean(inputs && committed.current.inputs && areInputsEqual(inputs, committed.current.inputs));\n var cache = useCache ? committed.current : {\n inputs: inputs,\n result: getResult()\n };\n useEffect(function () {\n isFirstRun.current = false;\n committed.current = cache;\n }, [cache]);\n return cache.result;\n}\nfunction useCallbackOne(callback, inputs) {\n return useMemoOne(function () {\n return callback;\n }, inputs);\n}\nvar useMemo = useMemoOne;\nvar useCallback = useCallbackOne;\n\nexport { useCallback, useCallbackOne, useMemo, useMemoOne };\n","var isProduction = process.env.NODE_ENV === 'production';\nvar prefix = 'Invariant failed';\nfunction invariant(condition, message) {\n if (condition) {\n return;\n }\n if (isProduction) {\n throw new Error(prefix);\n }\n var provided = typeof message === 'function' ? message() : message;\n var value = provided ? \"\".concat(prefix, \": \").concat(provided) : prefix;\n throw new Error(value);\n}\n\nexport { invariant as default };\n","import invariant from 'tiny-invariant';\n\nvar getRect = function getRect(_ref) {\n var top = _ref.top,\n right = _ref.right,\n bottom = _ref.bottom,\n left = _ref.left;\n var width = right - left;\n var height = bottom - top;\n var rect = {\n top: top,\n right: right,\n bottom: bottom,\n left: left,\n width: width,\n height: height,\n x: left,\n y: top,\n center: {\n x: (right + left) / 2,\n y: (bottom + top) / 2\n }\n };\n return rect;\n};\nvar expand = function expand(target, expandBy) {\n return {\n top: target.top - expandBy.top,\n left: target.left - expandBy.left,\n bottom: target.bottom + expandBy.bottom,\n right: target.right + expandBy.right\n };\n};\nvar shrink = function shrink(target, shrinkBy) {\n return {\n top: target.top + shrinkBy.top,\n left: target.left + shrinkBy.left,\n bottom: target.bottom - shrinkBy.bottom,\n right: target.right - shrinkBy.right\n };\n};\n\nvar shift = function shift(target, shiftBy) {\n return {\n top: target.top + shiftBy.y,\n left: target.left + shiftBy.x,\n bottom: target.bottom + shiftBy.y,\n right: target.right + shiftBy.x\n };\n};\n\nvar noSpacing = {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n};\nvar createBox = function createBox(_ref2) {\n var borderBox = _ref2.borderBox,\n _ref2$margin = _ref2.margin,\n margin = _ref2$margin === void 0 ? noSpacing : _ref2$margin,\n _ref2$border = _ref2.border,\n border = _ref2$border === void 0 ? noSpacing : _ref2$border,\n _ref2$padding = _ref2.padding,\n padding = _ref2$padding === void 0 ? noSpacing : _ref2$padding;\n var marginBox = getRect(expand(borderBox, margin));\n var paddingBox = getRect(shrink(borderBox, border));\n var contentBox = getRect(shrink(paddingBox, padding));\n return {\n marginBox: marginBox,\n borderBox: getRect(borderBox),\n paddingBox: paddingBox,\n contentBox: contentBox,\n margin: margin,\n border: border,\n padding: padding\n };\n};\n\nvar parse = function parse(raw) {\n var value = raw.slice(0, -2);\n var suffix = raw.slice(-2);\n\n if (suffix !== 'px') {\n return 0;\n }\n\n var result = Number(value);\n !!isNaN(result) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Could not parse value [raw: \" + raw + \", without suffix: \" + value + \"]\") : invariant(false) : void 0;\n return result;\n};\n\nvar getWindowScroll = function getWindowScroll() {\n return {\n x: window.pageXOffset,\n y: window.pageYOffset\n };\n};\n\nvar offset = function offset(original, change) {\n var borderBox = original.borderBox,\n border = original.border,\n margin = original.margin,\n padding = original.padding;\n var shifted = shift(borderBox, change);\n return createBox({\n borderBox: shifted,\n border: border,\n margin: margin,\n padding: padding\n });\n};\nvar withScroll = function withScroll(original, scroll) {\n if (scroll === void 0) {\n scroll = getWindowScroll();\n }\n\n return offset(original, scroll);\n};\nvar calculateBox = function calculateBox(borderBox, styles) {\n var margin = {\n top: parse(styles.marginTop),\n right: parse(styles.marginRight),\n bottom: parse(styles.marginBottom),\n left: parse(styles.marginLeft)\n };\n var padding = {\n top: parse(styles.paddingTop),\n right: parse(styles.paddingRight),\n bottom: parse(styles.paddingBottom),\n left: parse(styles.paddingLeft)\n };\n var border = {\n top: parse(styles.borderTopWidth),\n right: parse(styles.borderRightWidth),\n bottom: parse(styles.borderBottomWidth),\n left: parse(styles.borderLeftWidth)\n };\n return createBox({\n borderBox: borderBox,\n margin: margin,\n padding: padding,\n border: border\n });\n};\nvar getBox = function getBox(el) {\n var borderBox = el.getBoundingClientRect();\n var styles = window.getComputedStyle(el);\n return calculateBox(borderBox, styles);\n};\n\nexport { calculateBox, createBox, expand, getBox, getRect, offset, shrink, withScroll };\n","var safeIsNaN = Number.isNaN ||\n function ponyfill(value) {\n return typeof value === 'number' && value !== value;\n };\nfunction isEqual(first, second) {\n if (first === second) {\n return true;\n }\n if (safeIsNaN(first) && safeIsNaN(second)) {\n return true;\n }\n return false;\n}\nfunction areInputsEqual(newInputs, lastInputs) {\n if (newInputs.length !== lastInputs.length) {\n return false;\n }\n for (var i = 0; i < newInputs.length; i++) {\n if (!isEqual(newInputs[i], lastInputs[i])) {\n return false;\n }\n }\n return true;\n}\n\nfunction memoizeOne(resultFn, isEqual) {\n if (isEqual === void 0) { isEqual = areInputsEqual; }\n var cache = null;\n function memoized() {\n var newArgs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n newArgs[_i] = arguments[_i];\n }\n if (cache && cache.lastThis === this && isEqual(newArgs, cache.lastArgs)) {\n return cache.lastResult;\n }\n var lastResult = resultFn.apply(this, newArgs);\n cache = {\n lastResult: lastResult,\n lastArgs: newArgs,\n lastThis: this,\n };\n return lastResult;\n }\n memoized.clear = function clear() {\n cache = null;\n };\n return memoized;\n}\n\nexport { memoizeOne as default };\n","var rafSchd = function rafSchd(fn) {\n var lastArgs = [];\n var frameId = null;\n\n var wrapperFn = function wrapperFn() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n lastArgs = args;\n\n if (frameId) {\n return;\n }\n\n frameId = requestAnimationFrame(function () {\n frameId = null;\n fn.apply(void 0, lastArgs);\n });\n };\n\n wrapperFn.cancel = function () {\n if (!frameId) {\n return;\n }\n\n cancelAnimationFrame(frameId);\n frameId = null;\n };\n\n return wrapperFn;\n};\n\nexport default rafSchd;\n","import React, { useLayoutEffect as useLayoutEffect$1, useEffect, useRef, useState, useContext } from 'react';\nimport ReactDOM, { flushSync } from 'react-dom';\nimport { createStore as createStore$1, applyMiddleware, compose, bindActionCreators } from 'redux';\nimport { Provider, connect } from 'react-redux';\nimport { useMemo, useCallback } from 'use-memo-one';\nimport { getRect, expand, offset, withScroll, calculateBox, getBox, createBox } from 'css-box-model';\nimport memoizeOne from 'memoize-one';\nimport rafSchd from 'raf-schd';\nimport _extends from '@babel/runtime/helpers/esm/extends';\n\nconst isProduction$1 = process.env.NODE_ENV === 'production';\nconst spacesAndTabs = /[ \\t]{2,}/g;\nconst lineStartWithSpaces = /^[ \\t]*/gm;\nconst clean$2 = value => value.replace(spacesAndTabs, ' ').replace(lineStartWithSpaces, '').trim();\nconst getDevMessage = message => clean$2(`\n %c@hello-pangea/dnd\n\n %c${clean$2(message)}\n\n %c👷‍ This is a development only message. It will be removed in production builds.\n`);\nconst getFormattedMessage = message => [getDevMessage(message), 'color: #00C584; font-size: 1.2em; font-weight: bold;', 'line-height: 1.5', 'color: #723874;'];\nconst isDisabledFlag = '__@hello-pangea/dnd-disable-dev-warnings';\nfunction log(type, message) {\n if (isProduction$1) {\n return;\n }\n if (typeof window !== 'undefined' && window[isDisabledFlag]) {\n return;\n }\n console[type](...getFormattedMessage(message));\n}\nconst warning = log.bind(null, 'warn');\nconst error = log.bind(null, 'error');\n\nfunction noop$2() {}\n\nfunction getOptions(shared, fromBinding) {\n return {\n ...shared,\n ...fromBinding\n };\n}\nfunction bindEvents(el, bindings, sharedOptions) {\n const unbindings = bindings.map(binding => {\n const options = getOptions(sharedOptions, binding.options);\n el.addEventListener(binding.eventName, binding.fn, options);\n return function unbind() {\n el.removeEventListener(binding.eventName, binding.fn, options);\n };\n });\n return function unbindAll() {\n unbindings.forEach(unbind => {\n unbind();\n });\n };\n}\n\nconst isProduction = process.env.NODE_ENV === 'production';\nconst prefix$1 = 'Invariant failed';\nclass RbdInvariant extends Error {}\nRbdInvariant.prototype.toString = function toString() {\n return this.message;\n};\nfunction invariant(condition, message) {\n if (condition) {\n return;\n }\n if (isProduction) {\n throw new RbdInvariant(prefix$1);\n } else {\n throw new RbdInvariant(`${prefix$1}: ${message || ''}`);\n }\n}\n\nclass ErrorBoundary extends React.Component {\n constructor() {\n super(...arguments);\n this.callbacks = null;\n this.unbind = noop$2;\n this.onWindowError = event => {\n const callbacks = this.getCallbacks();\n if (callbacks.isDragging()) {\n callbacks.tryAbort();\n process.env.NODE_ENV !== \"production\" ? warning(`\n An error was caught by our window 'error' event listener while a drag was occurring.\n The active drag has been aborted.\n `) : void 0;\n }\n const err = event.error;\n if (err instanceof RbdInvariant) {\n event.preventDefault();\n if (process.env.NODE_ENV !== 'production') {\n error(err.message);\n }\n }\n };\n this.getCallbacks = () => {\n if (!this.callbacks) {\n throw new Error('Unable to find AppCallbacks in ');\n }\n return this.callbacks;\n };\n this.setCallbacks = callbacks => {\n this.callbacks = callbacks;\n };\n }\n componentDidMount() {\n this.unbind = bindEvents(window, [{\n eventName: 'error',\n fn: this.onWindowError\n }]);\n }\n componentDidCatch(err) {\n if (err instanceof RbdInvariant) {\n if (process.env.NODE_ENV !== 'production') {\n error(err.message);\n }\n this.setState({});\n return;\n }\n throw err;\n }\n componentWillUnmount() {\n this.unbind();\n }\n render() {\n return this.props.children(this.setCallbacks);\n }\n}\n\nconst dragHandleUsageInstructions = `\n Press space bar to start a drag.\n When dragging you can use the arrow keys to move the item around and escape to cancel.\n Some screen readers may require you to be in focus mode or to use your pass through key\n`;\nconst position = index => index + 1;\nconst onDragStart = start => `\n You have lifted an item in position ${position(start.source.index)}\n`;\nconst withLocation = (source, destination) => {\n const isInHomeList = source.droppableId === destination.droppableId;\n const startPosition = position(source.index);\n const endPosition = position(destination.index);\n if (isInHomeList) {\n return `\n You have moved the item from position ${startPosition}\n to position ${endPosition}\n `;\n }\n return `\n You have moved the item from position ${startPosition}\n in list ${source.droppableId}\n to list ${destination.droppableId}\n in position ${endPosition}\n `;\n};\nconst withCombine = (id, source, combine) => {\n const inHomeList = source.droppableId === combine.droppableId;\n if (inHomeList) {\n return `\n The item ${id}\n has been combined with ${combine.draggableId}`;\n }\n return `\n The item ${id}\n in list ${source.droppableId}\n has been combined with ${combine.draggableId}\n in list ${combine.droppableId}\n `;\n};\nconst onDragUpdate = update => {\n const location = update.destination;\n if (location) {\n return withLocation(update.source, location);\n }\n const combine = update.combine;\n if (combine) {\n return withCombine(update.draggableId, update.source, combine);\n }\n return 'You are over an area that cannot be dropped on';\n};\nconst returnedToStart = source => `\n The item has returned to its starting position\n of ${position(source.index)}\n`;\nconst onDragEnd = result => {\n if (result.reason === 'CANCEL') {\n return `\n Movement cancelled.\n ${returnedToStart(result.source)}\n `;\n }\n const location = result.destination;\n const combine = result.combine;\n if (location) {\n return `\n You have dropped the item.\n ${withLocation(result.source, location)}\n `;\n }\n if (combine) {\n return `\n You have dropped the item.\n ${withCombine(result.draggableId, result.source, combine)}\n `;\n }\n return `\n The item has been dropped while not over a drop area.\n ${returnedToStart(result.source)}\n `;\n};\nconst preset = {\n dragHandleUsageInstructions,\n onDragStart,\n onDragUpdate,\n onDragEnd\n};\nvar preset$1 = preset;\n\nconst origin = {\n x: 0,\n y: 0\n};\nconst add = (point1, point2) => ({\n x: point1.x + point2.x,\n y: point1.y + point2.y\n});\nconst subtract = (point1, point2) => ({\n x: point1.x - point2.x,\n y: point1.y - point2.y\n});\nconst isEqual$1 = (point1, point2) => point1.x === point2.x && point1.y === point2.y;\nconst negate = point => ({\n x: point.x !== 0 ? -point.x : 0,\n y: point.y !== 0 ? -point.y : 0\n});\nconst patch = function (line, value, otherValue) {\n if (otherValue === void 0) {\n otherValue = 0;\n }\n if (line === 'x') {\n return {\n x: value,\n y: otherValue\n };\n }\n return {\n x: otherValue,\n y: value\n };\n};\nconst distance = (point1, point2) => Math.sqrt((point2.x - point1.x) ** 2 + (point2.y - point1.y) ** 2);\nconst closest$1 = (target, points) => Math.min(...points.map(point => distance(target, point)));\nconst apply = fn => point => ({\n x: fn(point.x),\n y: fn(point.y)\n});\n\nvar executeClip = ((frame, subject) => {\n const result = getRect({\n top: Math.max(subject.top, frame.top),\n right: Math.min(subject.right, frame.right),\n bottom: Math.min(subject.bottom, frame.bottom),\n left: Math.max(subject.left, frame.left)\n });\n if (result.width <= 0 || result.height <= 0) {\n return null;\n }\n return result;\n});\n\nconst offsetByPosition = (spacing, point) => ({\n top: spacing.top + point.y,\n left: spacing.left + point.x,\n bottom: spacing.bottom + point.y,\n right: spacing.right + point.x\n});\nconst getCorners = spacing => [{\n x: spacing.left,\n y: spacing.top\n}, {\n x: spacing.right,\n y: spacing.top\n}, {\n x: spacing.left,\n y: spacing.bottom\n}, {\n x: spacing.right,\n y: spacing.bottom\n}];\nconst noSpacing = {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n};\n\nconst scroll$1 = (target, frame) => {\n if (!frame) {\n return target;\n }\n return offsetByPosition(target, frame.scroll.diff.displacement);\n};\nconst increase = (target, axis, withPlaceholder) => {\n if (withPlaceholder && withPlaceholder.increasedBy) {\n return {\n ...target,\n [axis.end]: target[axis.end] + withPlaceholder.increasedBy[axis.line]\n };\n }\n return target;\n};\nconst clip = (target, frame) => {\n if (frame && frame.shouldClipSubject) {\n return executeClip(frame.pageMarginBox, target);\n }\n return getRect(target);\n};\nvar getSubject = (_ref => {\n let {\n page,\n withPlaceholder,\n axis,\n frame\n } = _ref;\n const scrolled = scroll$1(page.marginBox, frame);\n const increased = increase(scrolled, axis, withPlaceholder);\n const clipped = clip(increased, frame);\n return {\n page,\n withPlaceholder,\n active: clipped\n };\n});\n\nvar scrollDroppable = ((droppable, newScroll) => {\n !droppable.frame ? process.env.NODE_ENV !== \"production\" ? invariant(false) : invariant(false) : void 0;\n const scrollable = droppable.frame;\n const scrollDiff = subtract(newScroll, scrollable.scroll.initial);\n const scrollDisplacement = negate(scrollDiff);\n const frame = {\n ...scrollable,\n scroll: {\n initial: scrollable.scroll.initial,\n current: newScroll,\n diff: {\n value: scrollDiff,\n displacement: scrollDisplacement\n },\n max: scrollable.scroll.max\n }\n };\n const subject = getSubject({\n page: droppable.subject.page,\n withPlaceholder: droppable.subject.withPlaceholder,\n axis: droppable.axis,\n frame\n });\n const result = {\n ...droppable,\n frame,\n subject\n };\n return result;\n});\n\nconst toDroppableMap = memoizeOne(droppables => droppables.reduce((previous, current) => {\n previous[current.descriptor.id] = current;\n return previous;\n}, {}));\nconst toDraggableMap = memoizeOne(draggables => draggables.reduce((previous, current) => {\n previous[current.descriptor.id] = current;\n return previous;\n}, {}));\nconst toDroppableList = memoizeOne(droppables => Object.values(droppables));\nconst toDraggableList = memoizeOne(draggables => Object.values(draggables));\n\nvar getDraggablesInsideDroppable = memoizeOne((droppableId, draggables) => {\n const result = toDraggableList(draggables).filter(draggable => droppableId === draggable.descriptor.droppableId).sort((a, b) => a.descriptor.index - b.descriptor.index);\n return result;\n});\n\nfunction tryGetDestination(impact) {\n if (impact.at && impact.at.type === 'REORDER') {\n return impact.at.destination;\n }\n return null;\n}\nfunction tryGetCombine(impact) {\n if (impact.at && impact.at.type === 'COMBINE') {\n return impact.at.combine;\n }\n return null;\n}\n\nvar removeDraggableFromList = memoizeOne((remove, list) => list.filter(item => item.descriptor.id !== remove.descriptor.id));\n\nvar moveToNextCombine = (_ref => {\n let {\n isMovingForward,\n draggable,\n destination,\n insideDestination,\n previousImpact\n } = _ref;\n if (!destination.isCombineEnabled) {\n return null;\n }\n const location = tryGetDestination(previousImpact);\n if (!location) {\n return null;\n }\n function getImpact(target) {\n const at = {\n type: 'COMBINE',\n combine: {\n draggableId: target,\n droppableId: destination.descriptor.id\n }\n };\n return {\n ...previousImpact,\n at\n };\n }\n const all = previousImpact.displaced.all;\n const closestId = all.length ? all[0] : null;\n if (isMovingForward) {\n return closestId ? getImpact(closestId) : null;\n }\n const withoutDraggable = removeDraggableFromList(draggable, insideDestination);\n if (!closestId) {\n if (!withoutDraggable.length) {\n return null;\n }\n const last = withoutDraggable[withoutDraggable.length - 1];\n return getImpact(last.descriptor.id);\n }\n const indexOfClosest = withoutDraggable.findIndex(d => d.descriptor.id === closestId);\n !(indexOfClosest !== -1) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Could not find displaced item in set') : invariant(false) : void 0;\n const proposedIndex = indexOfClosest - 1;\n if (proposedIndex < 0) {\n return null;\n }\n const before = withoutDraggable[proposedIndex];\n return getImpact(before.descriptor.id);\n});\n\nvar isHomeOf = ((draggable, destination) => draggable.descriptor.droppableId === destination.descriptor.id);\n\nconst noDisplacedBy = {\n point: origin,\n value: 0\n};\nconst emptyGroups = {\n invisible: {},\n visible: {},\n all: []\n};\nconst noImpact = {\n displaced: emptyGroups,\n displacedBy: noDisplacedBy,\n at: null\n};\nvar noImpact$1 = noImpact;\n\nvar isWithin = ((lowerBound, upperBound) => value => lowerBound <= value && value <= upperBound);\n\nvar isPartiallyVisibleThroughFrame = (frame => {\n const isWithinVertical = isWithin(frame.top, frame.bottom);\n const isWithinHorizontal = isWithin(frame.left, frame.right);\n return subject => {\n const isContained = isWithinVertical(subject.top) && isWithinVertical(subject.bottom) && isWithinHorizontal(subject.left) && isWithinHorizontal(subject.right);\n if (isContained) {\n return true;\n }\n const isPartiallyVisibleVertically = isWithinVertical(subject.top) || isWithinVertical(subject.bottom);\n const isPartiallyVisibleHorizontally = isWithinHorizontal(subject.left) || isWithinHorizontal(subject.right);\n const isPartiallyContained = isPartiallyVisibleVertically && isPartiallyVisibleHorizontally;\n if (isPartiallyContained) {\n return true;\n }\n const isBiggerVertically = subject.top < frame.top && subject.bottom > frame.bottom;\n const isBiggerHorizontally = subject.left < frame.left && subject.right > frame.right;\n const isTargetBiggerThanFrame = isBiggerVertically && isBiggerHorizontally;\n if (isTargetBiggerThanFrame) {\n return true;\n }\n const isTargetBiggerOnOneAxis = isBiggerVertically && isPartiallyVisibleHorizontally || isBiggerHorizontally && isPartiallyVisibleVertically;\n return isTargetBiggerOnOneAxis;\n };\n});\n\nvar isTotallyVisibleThroughFrame = (frame => {\n const isWithinVertical = isWithin(frame.top, frame.bottom);\n const isWithinHorizontal = isWithin(frame.left, frame.right);\n return subject => {\n const isContained = isWithinVertical(subject.top) && isWithinVertical(subject.bottom) && isWithinHorizontal(subject.left) && isWithinHorizontal(subject.right);\n return isContained;\n };\n});\n\nconst vertical = {\n direction: 'vertical',\n line: 'y',\n crossAxisLine: 'x',\n start: 'top',\n end: 'bottom',\n size: 'height',\n crossAxisStart: 'left',\n crossAxisEnd: 'right',\n crossAxisSize: 'width'\n};\nconst horizontal = {\n direction: 'horizontal',\n line: 'x',\n crossAxisLine: 'y',\n start: 'left',\n end: 'right',\n size: 'width',\n crossAxisStart: 'top',\n crossAxisEnd: 'bottom',\n crossAxisSize: 'height'\n};\n\nvar isTotallyVisibleThroughFrameOnAxis = (axis => frame => {\n const isWithinVertical = isWithin(frame.top, frame.bottom);\n const isWithinHorizontal = isWithin(frame.left, frame.right);\n return subject => {\n if (axis === vertical) {\n return isWithinVertical(subject.top) && isWithinVertical(subject.bottom);\n }\n return isWithinHorizontal(subject.left) && isWithinHorizontal(subject.right);\n };\n});\n\nconst getDroppableDisplaced = (target, destination) => {\n const displacement = destination.frame ? destination.frame.scroll.diff.displacement : origin;\n return offsetByPosition(target, displacement);\n};\nconst isVisibleInDroppable = (target, destination, isVisibleThroughFrameFn) => {\n if (!destination.subject.active) {\n return false;\n }\n return isVisibleThroughFrameFn(destination.subject.active)(target);\n};\nconst isVisibleInViewport = (target, viewport, isVisibleThroughFrameFn) => isVisibleThroughFrameFn(viewport)(target);\nconst isVisible$1 = _ref => {\n let {\n target: toBeDisplaced,\n destination,\n viewport,\n withDroppableDisplacement,\n isVisibleThroughFrameFn\n } = _ref;\n const displacedTarget = withDroppableDisplacement ? getDroppableDisplaced(toBeDisplaced, destination) : toBeDisplaced;\n return isVisibleInDroppable(displacedTarget, destination, isVisibleThroughFrameFn) && isVisibleInViewport(displacedTarget, viewport, isVisibleThroughFrameFn);\n};\nconst isPartiallyVisible = args => isVisible$1({\n ...args,\n isVisibleThroughFrameFn: isPartiallyVisibleThroughFrame\n});\nconst isTotallyVisible = args => isVisible$1({\n ...args,\n isVisibleThroughFrameFn: isTotallyVisibleThroughFrame\n});\nconst isTotallyVisibleOnAxis = args => isVisible$1({\n ...args,\n isVisibleThroughFrameFn: isTotallyVisibleThroughFrameOnAxis(args.destination.axis)\n});\n\nconst getShouldAnimate = (id, last, forceShouldAnimate) => {\n if (typeof forceShouldAnimate === 'boolean') {\n return forceShouldAnimate;\n }\n if (!last) {\n return true;\n }\n const {\n invisible,\n visible\n } = last;\n if (invisible[id]) {\n return false;\n }\n const previous = visible[id];\n return previous ? previous.shouldAnimate : true;\n};\nfunction getTarget(draggable, displacedBy) {\n const marginBox = draggable.page.marginBox;\n const expandBy = {\n top: displacedBy.point.y,\n right: 0,\n bottom: 0,\n left: displacedBy.point.x\n };\n return getRect(expand(marginBox, expandBy));\n}\nfunction getDisplacementGroups(_ref) {\n let {\n afterDragging,\n destination,\n displacedBy,\n viewport,\n forceShouldAnimate,\n last\n } = _ref;\n return afterDragging.reduce(function process(groups, draggable) {\n const target = getTarget(draggable, displacedBy);\n const id = draggable.descriptor.id;\n groups.all.push(id);\n const isVisible = isPartiallyVisible({\n target,\n destination,\n viewport,\n withDroppableDisplacement: true\n });\n if (!isVisible) {\n groups.invisible[draggable.descriptor.id] = true;\n return groups;\n }\n const shouldAnimate = getShouldAnimate(id, last, forceShouldAnimate);\n const displacement = {\n draggableId: id,\n shouldAnimate\n };\n groups.visible[id] = displacement;\n return groups;\n }, {\n all: [],\n visible: {},\n invisible: {}\n });\n}\n\nfunction getIndexOfLastItem(draggables, options) {\n if (!draggables.length) {\n return 0;\n }\n const indexOfLastItem = draggables[draggables.length - 1].descriptor.index;\n return options.inHomeList ? indexOfLastItem : indexOfLastItem + 1;\n}\nfunction goAtEnd(_ref) {\n let {\n insideDestination,\n inHomeList,\n displacedBy,\n destination\n } = _ref;\n const newIndex = getIndexOfLastItem(insideDestination, {\n inHomeList\n });\n return {\n displaced: emptyGroups,\n displacedBy,\n at: {\n type: 'REORDER',\n destination: {\n droppableId: destination.descriptor.id,\n index: newIndex\n }\n }\n };\n}\nfunction calculateReorderImpact(_ref2) {\n let {\n draggable,\n insideDestination,\n destination,\n viewport,\n displacedBy,\n last,\n index,\n forceShouldAnimate\n } = _ref2;\n const inHomeList = isHomeOf(draggable, destination);\n if (index == null) {\n return goAtEnd({\n insideDestination,\n inHomeList,\n displacedBy,\n destination\n });\n }\n const match = insideDestination.find(item => item.descriptor.index === index);\n if (!match) {\n return goAtEnd({\n insideDestination,\n inHomeList,\n displacedBy,\n destination\n });\n }\n const withoutDragging = removeDraggableFromList(draggable, insideDestination);\n const sliceFrom = insideDestination.indexOf(match);\n const impacted = withoutDragging.slice(sliceFrom);\n const displaced = getDisplacementGroups({\n afterDragging: impacted,\n destination,\n displacedBy,\n last,\n viewport: viewport.frame,\n forceShouldAnimate\n });\n return {\n displaced,\n displacedBy,\n at: {\n type: 'REORDER',\n destination: {\n droppableId: destination.descriptor.id,\n index\n }\n }\n };\n}\n\nfunction didStartAfterCritical(draggableId, afterCritical) {\n return Boolean(afterCritical.effected[draggableId]);\n}\n\nvar fromCombine = (_ref => {\n let {\n isMovingForward,\n destination,\n draggables,\n combine,\n afterCritical\n } = _ref;\n if (!destination.isCombineEnabled) {\n return null;\n }\n const combineId = combine.draggableId;\n const combineWith = draggables[combineId];\n const combineWithIndex = combineWith.descriptor.index;\n const didCombineWithStartAfterCritical = didStartAfterCritical(combineId, afterCritical);\n if (didCombineWithStartAfterCritical) {\n if (isMovingForward) {\n return combineWithIndex;\n }\n return combineWithIndex - 1;\n }\n if (isMovingForward) {\n return combineWithIndex + 1;\n }\n return combineWithIndex;\n});\n\nvar fromReorder = (_ref => {\n let {\n isMovingForward,\n isInHomeList,\n insideDestination,\n location\n } = _ref;\n if (!insideDestination.length) {\n return null;\n }\n const currentIndex = location.index;\n const proposedIndex = isMovingForward ? currentIndex + 1 : currentIndex - 1;\n const firstIndex = insideDestination[0].descriptor.index;\n const lastIndex = insideDestination[insideDestination.length - 1].descriptor.index;\n const upperBound = isInHomeList ? lastIndex : lastIndex + 1;\n if (proposedIndex < firstIndex) {\n return null;\n }\n if (proposedIndex > upperBound) {\n return null;\n }\n return proposedIndex;\n});\n\nvar moveToNextIndex = (_ref => {\n let {\n isMovingForward,\n isInHomeList,\n draggable,\n draggables,\n destination,\n insideDestination,\n previousImpact,\n viewport,\n afterCritical\n } = _ref;\n const wasAt = previousImpact.at;\n !wasAt ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot move in direction without previous impact location') : invariant(false) : void 0;\n if (wasAt.type === 'REORDER') {\n const newIndex = fromReorder({\n isMovingForward,\n isInHomeList,\n location: wasAt.destination,\n insideDestination\n });\n if (newIndex == null) {\n return null;\n }\n return calculateReorderImpact({\n draggable,\n insideDestination,\n destination,\n viewport,\n last: previousImpact.displaced,\n displacedBy: previousImpact.displacedBy,\n index: newIndex\n });\n }\n const newIndex = fromCombine({\n isMovingForward,\n destination,\n displaced: previousImpact.displaced,\n draggables,\n combine: wasAt.combine,\n afterCritical\n });\n if (newIndex == null) {\n return null;\n }\n return calculateReorderImpact({\n draggable,\n insideDestination,\n destination,\n viewport,\n last: previousImpact.displaced,\n displacedBy: previousImpact.displacedBy,\n index: newIndex\n });\n});\n\nvar getCombinedItemDisplacement = (_ref => {\n let {\n displaced,\n afterCritical,\n combineWith,\n displacedBy\n } = _ref;\n const isDisplaced = Boolean(displaced.visible[combineWith] || displaced.invisible[combineWith]);\n if (didStartAfterCritical(combineWith, afterCritical)) {\n return isDisplaced ? origin : negate(displacedBy.point);\n }\n return isDisplaced ? displacedBy.point : origin;\n});\n\nvar whenCombining = (_ref => {\n let {\n afterCritical,\n impact,\n draggables\n } = _ref;\n const combine = tryGetCombine(impact);\n !combine ? process.env.NODE_ENV !== \"production\" ? invariant(false) : invariant(false) : void 0;\n const combineWith = combine.draggableId;\n const center = draggables[combineWith].page.borderBox.center;\n const displaceBy = getCombinedItemDisplacement({\n displaced: impact.displaced,\n afterCritical,\n combineWith,\n displacedBy: impact.displacedBy\n });\n return add(center, displaceBy);\n});\n\nconst distanceFromStartToBorderBoxCenter = (axis, box) => box.margin[axis.start] + box.borderBox[axis.size] / 2;\nconst distanceFromEndToBorderBoxCenter = (axis, box) => box.margin[axis.end] + box.borderBox[axis.size] / 2;\nconst getCrossAxisBorderBoxCenter = (axis, target, isMoving) => target[axis.crossAxisStart] + isMoving.margin[axis.crossAxisStart] + isMoving.borderBox[axis.crossAxisSize] / 2;\nconst goAfter = _ref => {\n let {\n axis,\n moveRelativeTo,\n isMoving\n } = _ref;\n return patch(axis.line, moveRelativeTo.marginBox[axis.end] + distanceFromStartToBorderBoxCenter(axis, isMoving), getCrossAxisBorderBoxCenter(axis, moveRelativeTo.marginBox, isMoving));\n};\nconst goBefore = _ref2 => {\n let {\n axis,\n moveRelativeTo,\n isMoving\n } = _ref2;\n return patch(axis.line, moveRelativeTo.marginBox[axis.start] - distanceFromEndToBorderBoxCenter(axis, isMoving), getCrossAxisBorderBoxCenter(axis, moveRelativeTo.marginBox, isMoving));\n};\nconst goIntoStart = _ref3 => {\n let {\n axis,\n moveInto,\n isMoving\n } = _ref3;\n return patch(axis.line, moveInto.contentBox[axis.start] + distanceFromStartToBorderBoxCenter(axis, isMoving), getCrossAxisBorderBoxCenter(axis, moveInto.contentBox, isMoving));\n};\n\nvar whenReordering = (_ref => {\n let {\n impact,\n draggable,\n draggables,\n droppable,\n afterCritical\n } = _ref;\n const insideDestination = getDraggablesInsideDroppable(droppable.descriptor.id, draggables);\n const draggablePage = draggable.page;\n const axis = droppable.axis;\n if (!insideDestination.length) {\n return goIntoStart({\n axis,\n moveInto: droppable.page,\n isMoving: draggablePage\n });\n }\n const {\n displaced,\n displacedBy\n } = impact;\n const closestAfter = displaced.all[0];\n if (closestAfter) {\n const closest = draggables[closestAfter];\n if (didStartAfterCritical(closestAfter, afterCritical)) {\n return goBefore({\n axis,\n moveRelativeTo: closest.page,\n isMoving: draggablePage\n });\n }\n const withDisplacement = offset(closest.page, displacedBy.point);\n return goBefore({\n axis,\n moveRelativeTo: withDisplacement,\n isMoving: draggablePage\n });\n }\n const last = insideDestination[insideDestination.length - 1];\n if (last.descriptor.id === draggable.descriptor.id) {\n return draggablePage.borderBox.center;\n }\n if (didStartAfterCritical(last.descriptor.id, afterCritical)) {\n const page = offset(last.page, negate(afterCritical.displacedBy.point));\n return goAfter({\n axis,\n moveRelativeTo: page,\n isMoving: draggablePage\n });\n }\n return goAfter({\n axis,\n moveRelativeTo: last.page,\n isMoving: draggablePage\n });\n});\n\nvar withDroppableDisplacement = ((droppable, point) => {\n const frame = droppable.frame;\n if (!frame) {\n return point;\n }\n return add(point, frame.scroll.diff.displacement);\n});\n\nconst getResultWithoutDroppableDisplacement = _ref => {\n let {\n impact,\n draggable,\n droppable,\n draggables,\n afterCritical\n } = _ref;\n const original = draggable.page.borderBox.center;\n const at = impact.at;\n if (!droppable) {\n return original;\n }\n if (!at) {\n return original;\n }\n if (at.type === 'REORDER') {\n return whenReordering({\n impact,\n draggable,\n draggables,\n droppable,\n afterCritical\n });\n }\n return whenCombining({\n impact,\n draggables,\n afterCritical\n });\n};\nvar getPageBorderBoxCenterFromImpact = (args => {\n const withoutDisplacement = getResultWithoutDroppableDisplacement(args);\n const droppable = args.droppable;\n const withDisplacement = droppable ? withDroppableDisplacement(droppable, withoutDisplacement) : withoutDisplacement;\n return withDisplacement;\n});\n\nvar scrollViewport = ((viewport, newScroll) => {\n const diff = subtract(newScroll, viewport.scroll.initial);\n const displacement = negate(diff);\n const frame = getRect({\n top: newScroll.y,\n bottom: newScroll.y + viewport.frame.height,\n left: newScroll.x,\n right: newScroll.x + viewport.frame.width\n });\n const updated = {\n frame,\n scroll: {\n initial: viewport.scroll.initial,\n max: viewport.scroll.max,\n current: newScroll,\n diff: {\n value: diff,\n displacement\n }\n }\n };\n return updated;\n});\n\nfunction getDraggables$1(ids, draggables) {\n return ids.map(id => draggables[id]);\n}\nfunction tryGetVisible(id, groups) {\n for (let i = 0; i < groups.length; i++) {\n const displacement = groups[i].visible[id];\n if (displacement) {\n return displacement;\n }\n }\n return null;\n}\nvar speculativelyIncrease = (_ref => {\n let {\n impact,\n viewport,\n destination,\n draggables,\n maxScrollChange\n } = _ref;\n const scrolledViewport = scrollViewport(viewport, add(viewport.scroll.current, maxScrollChange));\n const scrolledDroppable = destination.frame ? scrollDroppable(destination, add(destination.frame.scroll.current, maxScrollChange)) : destination;\n const last = impact.displaced;\n const withViewportScroll = getDisplacementGroups({\n afterDragging: getDraggables$1(last.all, draggables),\n destination,\n displacedBy: impact.displacedBy,\n viewport: scrolledViewport.frame,\n last,\n forceShouldAnimate: false\n });\n const withDroppableScroll = getDisplacementGroups({\n afterDragging: getDraggables$1(last.all, draggables),\n destination: scrolledDroppable,\n displacedBy: impact.displacedBy,\n viewport: viewport.frame,\n last,\n forceShouldAnimate: false\n });\n const invisible = {};\n const visible = {};\n const groups = [last, withViewportScroll, withDroppableScroll];\n last.all.forEach(id => {\n const displacement = tryGetVisible(id, groups);\n if (displacement) {\n visible[id] = displacement;\n return;\n }\n invisible[id] = true;\n });\n const newImpact = {\n ...impact,\n displaced: {\n all: last.all,\n invisible,\n visible\n }\n };\n return newImpact;\n});\n\nvar withViewportDisplacement = ((viewport, point) => add(viewport.scroll.diff.displacement, point));\n\nvar getClientFromPageBorderBoxCenter = (_ref => {\n let {\n pageBorderBoxCenter,\n draggable,\n viewport\n } = _ref;\n const withoutPageScrollChange = withViewportDisplacement(viewport, pageBorderBoxCenter);\n const offset = subtract(withoutPageScrollChange, draggable.page.borderBox.center);\n return add(draggable.client.borderBox.center, offset);\n});\n\nvar isTotallyVisibleInNewLocation = (_ref => {\n let {\n draggable,\n destination,\n newPageBorderBoxCenter,\n viewport,\n withDroppableDisplacement,\n onlyOnMainAxis = false\n } = _ref;\n const changeNeeded = subtract(newPageBorderBoxCenter, draggable.page.borderBox.center);\n const shifted = offsetByPosition(draggable.page.borderBox, changeNeeded);\n const args = {\n target: shifted,\n destination,\n withDroppableDisplacement,\n viewport\n };\n return onlyOnMainAxis ? isTotallyVisibleOnAxis(args) : isTotallyVisible(args);\n});\n\nvar moveToNextPlace = (_ref => {\n let {\n isMovingForward,\n draggable,\n destination,\n draggables,\n previousImpact,\n viewport,\n previousPageBorderBoxCenter,\n previousClientSelection,\n afterCritical\n } = _ref;\n if (!destination.isEnabled) {\n return null;\n }\n const insideDestination = getDraggablesInsideDroppable(destination.descriptor.id, draggables);\n const isInHomeList = isHomeOf(draggable, destination);\n const impact = moveToNextCombine({\n isMovingForward,\n draggable,\n destination,\n insideDestination,\n previousImpact\n }) || moveToNextIndex({\n isMovingForward,\n isInHomeList,\n draggable,\n draggables,\n destination,\n insideDestination,\n previousImpact,\n viewport,\n afterCritical\n });\n if (!impact) {\n return null;\n }\n const pageBorderBoxCenter = getPageBorderBoxCenterFromImpact({\n impact,\n draggable,\n droppable: destination,\n draggables,\n afterCritical\n });\n const isVisibleInNewLocation = isTotallyVisibleInNewLocation({\n draggable,\n destination,\n newPageBorderBoxCenter: pageBorderBoxCenter,\n viewport: viewport.frame,\n withDroppableDisplacement: false,\n onlyOnMainAxis: true\n });\n if (isVisibleInNewLocation) {\n const clientSelection = getClientFromPageBorderBoxCenter({\n pageBorderBoxCenter,\n draggable,\n viewport\n });\n return {\n clientSelection,\n impact,\n scrollJumpRequest: null\n };\n }\n const distance = subtract(pageBorderBoxCenter, previousPageBorderBoxCenter);\n const cautious = speculativelyIncrease({\n impact,\n viewport,\n destination,\n draggables,\n maxScrollChange: distance\n });\n return {\n clientSelection: previousClientSelection,\n impact: cautious,\n scrollJumpRequest: distance\n };\n});\n\nconst getKnownActive = droppable => {\n const rect = droppable.subject.active;\n !rect ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot get clipped area from droppable') : invariant(false) : void 0;\n return rect;\n};\nvar getBestCrossAxisDroppable = (_ref => {\n let {\n isMovingForward,\n pageBorderBoxCenter,\n source,\n droppables,\n viewport\n } = _ref;\n const active = source.subject.active;\n if (!active) {\n return null;\n }\n const axis = source.axis;\n const isBetweenSourceClipped = isWithin(active[axis.start], active[axis.end]);\n const candidates = toDroppableList(droppables).filter(droppable => droppable !== source).filter(droppable => droppable.isEnabled).filter(droppable => Boolean(droppable.subject.active)).filter(droppable => isPartiallyVisibleThroughFrame(viewport.frame)(getKnownActive(droppable))).filter(droppable => {\n const activeOfTarget = getKnownActive(droppable);\n if (isMovingForward) {\n return active[axis.crossAxisEnd] < activeOfTarget[axis.crossAxisEnd];\n }\n return activeOfTarget[axis.crossAxisStart] < active[axis.crossAxisStart];\n }).filter(droppable => {\n const activeOfTarget = getKnownActive(droppable);\n const isBetweenDestinationClipped = isWithin(activeOfTarget[axis.start], activeOfTarget[axis.end]);\n return isBetweenSourceClipped(activeOfTarget[axis.start]) || isBetweenSourceClipped(activeOfTarget[axis.end]) || isBetweenDestinationClipped(active[axis.start]) || isBetweenDestinationClipped(active[axis.end]);\n }).sort((a, b) => {\n const first = getKnownActive(a)[axis.crossAxisStart];\n const second = getKnownActive(b)[axis.crossAxisStart];\n if (isMovingForward) {\n return first - second;\n }\n return second - first;\n }).filter((droppable, index, array) => getKnownActive(droppable)[axis.crossAxisStart] === getKnownActive(array[0])[axis.crossAxisStart]);\n if (!candidates.length) {\n return null;\n }\n if (candidates.length === 1) {\n return candidates[0];\n }\n const contains = candidates.filter(droppable => {\n const isWithinDroppable = isWithin(getKnownActive(droppable)[axis.start], getKnownActive(droppable)[axis.end]);\n return isWithinDroppable(pageBorderBoxCenter[axis.line]);\n });\n if (contains.length === 1) {\n return contains[0];\n }\n if (contains.length > 1) {\n return contains.sort((a, b) => getKnownActive(a)[axis.start] - getKnownActive(b)[axis.start])[0];\n }\n return candidates.sort((a, b) => {\n const first = closest$1(pageBorderBoxCenter, getCorners(getKnownActive(a)));\n const second = closest$1(pageBorderBoxCenter, getCorners(getKnownActive(b)));\n if (first !== second) {\n return first - second;\n }\n return getKnownActive(a)[axis.start] - getKnownActive(b)[axis.start];\n })[0];\n});\n\nconst getCurrentPageBorderBoxCenter = (draggable, afterCritical) => {\n const original = draggable.page.borderBox.center;\n return didStartAfterCritical(draggable.descriptor.id, afterCritical) ? subtract(original, afterCritical.displacedBy.point) : original;\n};\nconst getCurrentPageBorderBox = (draggable, afterCritical) => {\n const original = draggable.page.borderBox;\n return didStartAfterCritical(draggable.descriptor.id, afterCritical) ? offsetByPosition(original, negate(afterCritical.displacedBy.point)) : original;\n};\n\nvar getClosestDraggable = (_ref => {\n let {\n pageBorderBoxCenter,\n viewport,\n destination,\n insideDestination,\n afterCritical\n } = _ref;\n const sorted = insideDestination.filter(draggable => isTotallyVisible({\n target: getCurrentPageBorderBox(draggable, afterCritical),\n destination,\n viewport: viewport.frame,\n withDroppableDisplacement: true\n })).sort((a, b) => {\n const distanceToA = distance(pageBorderBoxCenter, withDroppableDisplacement(destination, getCurrentPageBorderBoxCenter(a, afterCritical)));\n const distanceToB = distance(pageBorderBoxCenter, withDroppableDisplacement(destination, getCurrentPageBorderBoxCenter(b, afterCritical)));\n if (distanceToA < distanceToB) {\n return -1;\n }\n if (distanceToB < distanceToA) {\n return 1;\n }\n return a.descriptor.index - b.descriptor.index;\n });\n return sorted[0] || null;\n});\n\nvar getDisplacedBy = memoizeOne(function getDisplacedBy(axis, displaceBy) {\n const displacement = displaceBy[axis.line];\n return {\n value: displacement,\n point: patch(axis.line, displacement)\n };\n});\n\nconst getRequiredGrowthForPlaceholder = (droppable, placeholderSize, draggables) => {\n const axis = droppable.axis;\n if (droppable.descriptor.mode === 'virtual') {\n return patch(axis.line, placeholderSize[axis.line]);\n }\n const availableSpace = droppable.subject.page.contentBox[axis.size];\n const insideDroppable = getDraggablesInsideDroppable(droppable.descriptor.id, draggables);\n const spaceUsed = insideDroppable.reduce((sum, dimension) => sum + dimension.client.marginBox[axis.size], 0);\n const requiredSpace = spaceUsed + placeholderSize[axis.line];\n const needsToGrowBy = requiredSpace - availableSpace;\n if (needsToGrowBy <= 0) {\n return null;\n }\n return patch(axis.line, needsToGrowBy);\n};\nconst withMaxScroll = (frame, max) => ({\n ...frame,\n scroll: {\n ...frame.scroll,\n max\n }\n});\nconst addPlaceholder = (droppable, draggable, draggables) => {\n const frame = droppable.frame;\n !!isHomeOf(draggable, droppable) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Should not add placeholder space to home list') : invariant(false) : void 0;\n !!droppable.subject.withPlaceholder ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot add placeholder size to a subject when it already has one') : invariant(false) : void 0;\n const placeholderSize = getDisplacedBy(droppable.axis, draggable.displaceBy).point;\n const requiredGrowth = getRequiredGrowthForPlaceholder(droppable, placeholderSize, draggables);\n const added = {\n placeholderSize,\n increasedBy: requiredGrowth,\n oldFrameMaxScroll: droppable.frame ? droppable.frame.scroll.max : null\n };\n if (!frame) {\n const subject = getSubject({\n page: droppable.subject.page,\n withPlaceholder: added,\n axis: droppable.axis,\n frame: droppable.frame\n });\n return {\n ...droppable,\n subject\n };\n }\n const maxScroll = requiredGrowth ? add(frame.scroll.max, requiredGrowth) : frame.scroll.max;\n const newFrame = withMaxScroll(frame, maxScroll);\n const subject = getSubject({\n page: droppable.subject.page,\n withPlaceholder: added,\n axis: droppable.axis,\n frame: newFrame\n });\n return {\n ...droppable,\n subject,\n frame: newFrame\n };\n};\nconst removePlaceholder = droppable => {\n const added = droppable.subject.withPlaceholder;\n !added ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot remove placeholder form subject when there was none') : invariant(false) : void 0;\n const frame = droppable.frame;\n if (!frame) {\n const subject = getSubject({\n page: droppable.subject.page,\n axis: droppable.axis,\n frame: null,\n withPlaceholder: null\n });\n return {\n ...droppable,\n subject\n };\n }\n const oldMaxScroll = added.oldFrameMaxScroll;\n !oldMaxScroll ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Expected droppable with frame to have old max frame scroll when removing placeholder') : invariant(false) : void 0;\n const newFrame = withMaxScroll(frame, oldMaxScroll);\n const subject = getSubject({\n page: droppable.subject.page,\n axis: droppable.axis,\n frame: newFrame,\n withPlaceholder: null\n });\n return {\n ...droppable,\n subject,\n frame: newFrame\n };\n};\n\nvar moveToNewDroppable = (_ref => {\n let {\n previousPageBorderBoxCenter,\n moveRelativeTo,\n insideDestination,\n draggable,\n draggables,\n destination,\n viewport,\n afterCritical\n } = _ref;\n if (!moveRelativeTo) {\n if (insideDestination.length) {\n return null;\n }\n const proposed = {\n displaced: emptyGroups,\n displacedBy: noDisplacedBy,\n at: {\n type: 'REORDER',\n destination: {\n droppableId: destination.descriptor.id,\n index: 0\n }\n }\n };\n const proposedPageBorderBoxCenter = getPageBorderBoxCenterFromImpact({\n impact: proposed,\n draggable,\n droppable: destination,\n draggables,\n afterCritical\n });\n const withPlaceholder = isHomeOf(draggable, destination) ? destination : addPlaceholder(destination, draggable, draggables);\n const isVisibleInNewLocation = isTotallyVisibleInNewLocation({\n draggable,\n destination: withPlaceholder,\n newPageBorderBoxCenter: proposedPageBorderBoxCenter,\n viewport: viewport.frame,\n withDroppableDisplacement: false,\n onlyOnMainAxis: true\n });\n return isVisibleInNewLocation ? proposed : null;\n }\n const isGoingBeforeTarget = Boolean(previousPageBorderBoxCenter[destination.axis.line] <= moveRelativeTo.page.borderBox.center[destination.axis.line]);\n const proposedIndex = (() => {\n const relativeTo = moveRelativeTo.descriptor.index;\n if (moveRelativeTo.descriptor.id === draggable.descriptor.id) {\n return relativeTo;\n }\n if (isGoingBeforeTarget) {\n return relativeTo;\n }\n return relativeTo + 1;\n })();\n const displacedBy = getDisplacedBy(destination.axis, draggable.displaceBy);\n return calculateReorderImpact({\n draggable,\n insideDestination,\n destination,\n viewport,\n displacedBy,\n last: emptyGroups,\n index: proposedIndex\n });\n});\n\nvar moveCrossAxis = (_ref => {\n let {\n isMovingForward,\n previousPageBorderBoxCenter,\n draggable,\n isOver,\n draggables,\n droppables,\n viewport,\n afterCritical\n } = _ref;\n const destination = getBestCrossAxisDroppable({\n isMovingForward,\n pageBorderBoxCenter: previousPageBorderBoxCenter,\n source: isOver,\n droppables,\n viewport\n });\n if (!destination) {\n return null;\n }\n const insideDestination = getDraggablesInsideDroppable(destination.descriptor.id, draggables);\n const moveRelativeTo = getClosestDraggable({\n pageBorderBoxCenter: previousPageBorderBoxCenter,\n viewport,\n destination,\n insideDestination,\n afterCritical\n });\n const impact = moveToNewDroppable({\n previousPageBorderBoxCenter,\n destination,\n draggable,\n draggables,\n moveRelativeTo,\n insideDestination,\n viewport,\n afterCritical\n });\n if (!impact) {\n return null;\n }\n const pageBorderBoxCenter = getPageBorderBoxCenterFromImpact({\n impact,\n draggable,\n droppable: destination,\n draggables,\n afterCritical\n });\n const clientSelection = getClientFromPageBorderBoxCenter({\n pageBorderBoxCenter,\n draggable,\n viewport\n });\n return {\n clientSelection,\n impact,\n scrollJumpRequest: null\n };\n});\n\nvar whatIsDraggedOver = (impact => {\n const at = impact.at;\n if (!at) {\n return null;\n }\n if (at.type === 'REORDER') {\n return at.destination.droppableId;\n }\n return at.combine.droppableId;\n});\n\nconst getDroppableOver$1 = (impact, droppables) => {\n const id = whatIsDraggedOver(impact);\n return id ? droppables[id] : null;\n};\nvar moveInDirection = (_ref => {\n let {\n state,\n type\n } = _ref;\n const isActuallyOver = getDroppableOver$1(state.impact, state.dimensions.droppables);\n const isMainAxisMovementAllowed = Boolean(isActuallyOver);\n const home = state.dimensions.droppables[state.critical.droppable.id];\n const isOver = isActuallyOver || home;\n const direction = isOver.axis.direction;\n const isMovingOnMainAxis = direction === 'vertical' && (type === 'MOVE_UP' || type === 'MOVE_DOWN') || direction === 'horizontal' && (type === 'MOVE_LEFT' || type === 'MOVE_RIGHT');\n if (isMovingOnMainAxis && !isMainAxisMovementAllowed) {\n return null;\n }\n const isMovingForward = type === 'MOVE_DOWN' || type === 'MOVE_RIGHT';\n const draggable = state.dimensions.draggables[state.critical.draggable.id];\n const previousPageBorderBoxCenter = state.current.page.borderBoxCenter;\n const {\n draggables,\n droppables\n } = state.dimensions;\n return isMovingOnMainAxis ? moveToNextPlace({\n isMovingForward,\n previousPageBorderBoxCenter,\n draggable,\n destination: isOver,\n draggables,\n viewport: state.viewport,\n previousClientSelection: state.current.client.selection,\n previousImpact: state.impact,\n afterCritical: state.afterCritical\n }) : moveCrossAxis({\n isMovingForward,\n previousPageBorderBoxCenter,\n draggable,\n isOver,\n draggables,\n droppables,\n viewport: state.viewport,\n afterCritical: state.afterCritical\n });\n});\n\nfunction isMovementAllowed(state) {\n return state.phase === 'DRAGGING' || state.phase === 'COLLECTING';\n}\n\nfunction isPositionInFrame(frame) {\n const isWithinVertical = isWithin(frame.top, frame.bottom);\n const isWithinHorizontal = isWithin(frame.left, frame.right);\n return function run(point) {\n return isWithinVertical(point.y) && isWithinHorizontal(point.x);\n };\n}\n\nfunction getHasOverlap(first, second) {\n return first.left < second.right && first.right > second.left && first.top < second.bottom && first.bottom > second.top;\n}\nfunction getFurthestAway(_ref) {\n let {\n pageBorderBox,\n draggable,\n candidates\n } = _ref;\n const startCenter = draggable.page.borderBox.center;\n const sorted = candidates.map(candidate => {\n const axis = candidate.axis;\n const target = patch(candidate.axis.line, pageBorderBox.center[axis.line], candidate.page.borderBox.center[axis.crossAxisLine]);\n return {\n id: candidate.descriptor.id,\n distance: distance(startCenter, target)\n };\n }).sort((a, b) => b.distance - a.distance);\n return sorted[0] ? sorted[0].id : null;\n}\nfunction getDroppableOver(_ref2) {\n let {\n pageBorderBox,\n draggable,\n droppables\n } = _ref2;\n const candidates = toDroppableList(droppables).filter(item => {\n if (!item.isEnabled) {\n return false;\n }\n const active = item.subject.active;\n if (!active) {\n return false;\n }\n if (!getHasOverlap(pageBorderBox, active)) {\n return false;\n }\n if (isPositionInFrame(active)(pageBorderBox.center)) {\n return true;\n }\n const axis = item.axis;\n const childCenter = active.center[axis.crossAxisLine];\n const crossAxisStart = pageBorderBox[axis.crossAxisStart];\n const crossAxisEnd = pageBorderBox[axis.crossAxisEnd];\n const isContained = isWithin(active[axis.crossAxisStart], active[axis.crossAxisEnd]);\n const isStartContained = isContained(crossAxisStart);\n const isEndContained = isContained(crossAxisEnd);\n if (!isStartContained && !isEndContained) {\n return true;\n }\n if (isStartContained) {\n return crossAxisStart < childCenter;\n }\n return crossAxisEnd > childCenter;\n });\n if (!candidates.length) {\n return null;\n }\n if (candidates.length === 1) {\n return candidates[0].descriptor.id;\n }\n return getFurthestAway({\n pageBorderBox,\n draggable,\n candidates\n });\n}\n\nconst offsetRectByPosition = (rect, point) => getRect(offsetByPosition(rect, point));\n\nvar withDroppableScroll = ((droppable, area) => {\n const frame = droppable.frame;\n if (!frame) {\n return area;\n }\n return offsetRectByPosition(area, frame.scroll.diff.value);\n});\n\nfunction getIsDisplaced(_ref) {\n let {\n displaced,\n id\n } = _ref;\n return Boolean(displaced.visible[id] || displaced.invisible[id]);\n}\n\nfunction atIndex(_ref) {\n let {\n draggable,\n closest,\n inHomeList\n } = _ref;\n if (!closest) {\n return null;\n }\n if (!inHomeList) {\n return closest.descriptor.index;\n }\n if (closest.descriptor.index > draggable.descriptor.index) {\n return closest.descriptor.index - 1;\n }\n return closest.descriptor.index;\n}\nvar getReorderImpact = (_ref2 => {\n let {\n pageBorderBoxWithDroppableScroll: targetRect,\n draggable,\n destination,\n insideDestination,\n last,\n viewport,\n afterCritical\n } = _ref2;\n const axis = destination.axis;\n const displacedBy = getDisplacedBy(destination.axis, draggable.displaceBy);\n const displacement = displacedBy.value;\n const targetStart = targetRect[axis.start];\n const targetEnd = targetRect[axis.end];\n const withoutDragging = removeDraggableFromList(draggable, insideDestination);\n const closest = withoutDragging.find(child => {\n const id = child.descriptor.id;\n const childCenter = child.page.borderBox.center[axis.line];\n const didStartAfterCritical$1 = didStartAfterCritical(id, afterCritical);\n const isDisplaced = getIsDisplaced({\n displaced: last,\n id\n });\n if (didStartAfterCritical$1) {\n if (isDisplaced) {\n return targetEnd <= childCenter;\n }\n return targetStart < childCenter - displacement;\n }\n if (isDisplaced) {\n return targetEnd <= childCenter + displacement;\n }\n return targetStart < childCenter;\n }) || null;\n const newIndex = atIndex({\n draggable,\n closest,\n inHomeList: isHomeOf(draggable, destination)\n });\n return calculateReorderImpact({\n draggable,\n insideDestination,\n destination,\n viewport,\n last,\n displacedBy,\n index: newIndex\n });\n});\n\nconst combineThresholdDivisor = 4;\nvar getCombineImpact = (_ref => {\n let {\n draggable,\n pageBorderBoxWithDroppableScroll: targetRect,\n previousImpact,\n destination,\n insideDestination,\n afterCritical\n } = _ref;\n if (!destination.isCombineEnabled) {\n return null;\n }\n const axis = destination.axis;\n const displacedBy = getDisplacedBy(destination.axis, draggable.displaceBy);\n const displacement = displacedBy.value;\n const targetStart = targetRect[axis.start];\n const targetEnd = targetRect[axis.end];\n const withoutDragging = removeDraggableFromList(draggable, insideDestination);\n const combineWith = withoutDragging.find(child => {\n const id = child.descriptor.id;\n const childRect = child.page.borderBox;\n const childSize = childRect[axis.size];\n const threshold = childSize / combineThresholdDivisor;\n const didStartAfterCritical$1 = didStartAfterCritical(id, afterCritical);\n const isDisplaced = getIsDisplaced({\n displaced: previousImpact.displaced,\n id\n });\n if (didStartAfterCritical$1) {\n if (isDisplaced) {\n return targetEnd > childRect[axis.start] + threshold && targetEnd < childRect[axis.end] - threshold;\n }\n return targetStart > childRect[axis.start] - displacement + threshold && targetStart < childRect[axis.end] - displacement - threshold;\n }\n if (isDisplaced) {\n return targetEnd > childRect[axis.start] + displacement + threshold && targetEnd < childRect[axis.end] + displacement - threshold;\n }\n return targetStart > childRect[axis.start] + threshold && targetStart < childRect[axis.end] - threshold;\n });\n if (!combineWith) {\n return null;\n }\n const impact = {\n displacedBy,\n displaced: previousImpact.displaced,\n at: {\n type: 'COMBINE',\n combine: {\n draggableId: combineWith.descriptor.id,\n droppableId: destination.descriptor.id\n }\n }\n };\n return impact;\n});\n\nvar getDragImpact = (_ref => {\n let {\n pageOffset,\n draggable,\n draggables,\n droppables,\n previousImpact,\n viewport,\n afterCritical\n } = _ref;\n const pageBorderBox = offsetRectByPosition(draggable.page.borderBox, pageOffset);\n const destinationId = getDroppableOver({\n pageBorderBox,\n draggable,\n droppables\n });\n if (!destinationId) {\n return noImpact$1;\n }\n const destination = droppables[destinationId];\n const insideDestination = getDraggablesInsideDroppable(destination.descriptor.id, draggables);\n const pageBorderBoxWithDroppableScroll = withDroppableScroll(destination, pageBorderBox);\n return getCombineImpact({\n pageBorderBoxWithDroppableScroll,\n draggable,\n previousImpact,\n destination,\n insideDestination,\n afterCritical\n }) || getReorderImpact({\n pageBorderBoxWithDroppableScroll,\n draggable,\n destination,\n insideDestination,\n last: previousImpact.displaced,\n viewport,\n afterCritical\n });\n});\n\nvar patchDroppableMap = ((droppables, updated) => ({\n ...droppables,\n [updated.descriptor.id]: updated\n}));\n\nconst clearUnusedPlaceholder = _ref => {\n let {\n previousImpact,\n impact,\n droppables\n } = _ref;\n const last = whatIsDraggedOver(previousImpact);\n const now = whatIsDraggedOver(impact);\n if (!last) {\n return droppables;\n }\n if (last === now) {\n return droppables;\n }\n const lastDroppable = droppables[last];\n if (!lastDroppable.subject.withPlaceholder) {\n return droppables;\n }\n const updated = removePlaceholder(lastDroppable);\n return patchDroppableMap(droppables, updated);\n};\nvar recomputePlaceholders = (_ref2 => {\n let {\n draggable,\n draggables,\n droppables,\n previousImpact,\n impact\n } = _ref2;\n const cleaned = clearUnusedPlaceholder({\n previousImpact,\n impact,\n droppables\n });\n const isOver = whatIsDraggedOver(impact);\n if (!isOver) {\n return cleaned;\n }\n const droppable = droppables[isOver];\n if (isHomeOf(draggable, droppable)) {\n return cleaned;\n }\n if (droppable.subject.withPlaceholder) {\n return cleaned;\n }\n const patched = addPlaceholder(droppable, draggable, draggables);\n return patchDroppableMap(cleaned, patched);\n});\n\nvar update = (_ref => {\n let {\n state,\n clientSelection: forcedClientSelection,\n dimensions: forcedDimensions,\n viewport: forcedViewport,\n impact: forcedImpact,\n scrollJumpRequest\n } = _ref;\n const viewport = forcedViewport || state.viewport;\n const dimensions = forcedDimensions || state.dimensions;\n const clientSelection = forcedClientSelection || state.current.client.selection;\n const offset = subtract(clientSelection, state.initial.client.selection);\n const client = {\n offset,\n selection: clientSelection,\n borderBoxCenter: add(state.initial.client.borderBoxCenter, offset)\n };\n const page = {\n selection: add(client.selection, viewport.scroll.current),\n borderBoxCenter: add(client.borderBoxCenter, viewport.scroll.current),\n offset: add(client.offset, viewport.scroll.diff.value)\n };\n const current = {\n client,\n page\n };\n if (state.phase === 'COLLECTING') {\n return {\n ...state,\n dimensions,\n viewport,\n current\n };\n }\n const draggable = dimensions.draggables[state.critical.draggable.id];\n const newImpact = forcedImpact || getDragImpact({\n pageOffset: page.offset,\n draggable,\n draggables: dimensions.draggables,\n droppables: dimensions.droppables,\n previousImpact: state.impact,\n viewport,\n afterCritical: state.afterCritical\n });\n const withUpdatedPlaceholders = recomputePlaceholders({\n draggable,\n impact: newImpact,\n previousImpact: state.impact,\n draggables: dimensions.draggables,\n droppables: dimensions.droppables\n });\n const result = {\n ...state,\n current,\n dimensions: {\n draggables: dimensions.draggables,\n droppables: withUpdatedPlaceholders\n },\n impact: newImpact,\n viewport,\n scrollJumpRequest: scrollJumpRequest || null,\n forceShouldAnimate: scrollJumpRequest ? false : null\n };\n return result;\n});\n\nfunction getDraggables(ids, draggables) {\n return ids.map(id => draggables[id]);\n}\nvar recompute = (_ref => {\n let {\n impact,\n viewport,\n draggables,\n destination,\n forceShouldAnimate\n } = _ref;\n const last = impact.displaced;\n const afterDragging = getDraggables(last.all, draggables);\n const displaced = getDisplacementGroups({\n afterDragging,\n destination,\n displacedBy: impact.displacedBy,\n viewport: viewport.frame,\n forceShouldAnimate,\n last\n });\n return {\n ...impact,\n displaced\n };\n});\n\nvar getClientBorderBoxCenter = (_ref => {\n let {\n impact,\n draggable,\n droppable,\n draggables,\n viewport,\n afterCritical\n } = _ref;\n const pageBorderBoxCenter = getPageBorderBoxCenterFromImpact({\n impact,\n draggable,\n draggables,\n droppable,\n afterCritical\n });\n return getClientFromPageBorderBoxCenter({\n pageBorderBoxCenter,\n draggable,\n viewport\n });\n});\n\nvar refreshSnap = (_ref => {\n let {\n state,\n dimensions: forcedDimensions,\n viewport: forcedViewport\n } = _ref;\n !(state.movementMode === 'SNAP') ? process.env.NODE_ENV !== \"production\" ? invariant(false) : invariant(false) : void 0;\n const needsVisibilityCheck = state.impact;\n const viewport = forcedViewport || state.viewport;\n const dimensions = forcedDimensions || state.dimensions;\n const {\n draggables,\n droppables\n } = dimensions;\n const draggable = draggables[state.critical.draggable.id];\n const isOver = whatIsDraggedOver(needsVisibilityCheck);\n !isOver ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Must be over a destination in SNAP movement mode') : invariant(false) : void 0;\n const destination = droppables[isOver];\n const impact = recompute({\n impact: needsVisibilityCheck,\n viewport,\n destination,\n draggables\n });\n const clientSelection = getClientBorderBoxCenter({\n impact,\n draggable,\n droppable: destination,\n draggables,\n viewport,\n afterCritical: state.afterCritical\n });\n return update({\n impact,\n clientSelection,\n state,\n dimensions,\n viewport\n });\n});\n\nvar getHomeLocation = (descriptor => ({\n index: descriptor.index,\n droppableId: descriptor.droppableId\n}));\n\nvar getLiftEffect = (_ref => {\n let {\n draggable,\n home,\n draggables,\n viewport\n } = _ref;\n const displacedBy = getDisplacedBy(home.axis, draggable.displaceBy);\n const insideHome = getDraggablesInsideDroppable(home.descriptor.id, draggables);\n const rawIndex = insideHome.indexOf(draggable);\n !(rawIndex !== -1) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Expected draggable to be inside home list') : invariant(false) : void 0;\n const afterDragging = insideHome.slice(rawIndex + 1);\n const effected = afterDragging.reduce((previous, item) => {\n previous[item.descriptor.id] = true;\n return previous;\n }, {});\n const afterCritical = {\n inVirtualList: home.descriptor.mode === 'virtual',\n displacedBy,\n effected\n };\n const displaced = getDisplacementGroups({\n afterDragging,\n destination: home,\n displacedBy,\n last: null,\n viewport: viewport.frame,\n forceShouldAnimate: false\n });\n const impact = {\n displaced,\n displacedBy,\n at: {\n type: 'REORDER',\n destination: getHomeLocation(draggable.descriptor)\n }\n };\n return {\n impact,\n afterCritical\n };\n});\n\nvar patchDimensionMap = ((dimensions, updated) => ({\n draggables: dimensions.draggables,\n droppables: patchDroppableMap(dimensions.droppables, updated)\n}));\n\nconst start = key => {\n if (process.env.NODE_ENV !== 'production') {\n {\n return;\n }\n }\n};\nconst finish = key => {\n if (process.env.NODE_ENV !== 'production') {\n {\n return;\n }\n }\n};\n\nvar offsetDraggable = (_ref => {\n let {\n draggable,\n offset: offset$1,\n initialWindowScroll\n } = _ref;\n const client = offset(draggable.client, offset$1);\n const page = withScroll(client, initialWindowScroll);\n const moved = {\n ...draggable,\n placeholder: {\n ...draggable.placeholder,\n client\n },\n client,\n page\n };\n return moved;\n});\n\nvar getFrame = (droppable => {\n const frame = droppable.frame;\n !frame ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Expected Droppable to have a frame') : invariant(false) : void 0;\n return frame;\n});\n\nvar adjustAdditionsForScrollChanges = (_ref => {\n let {\n additions,\n updatedDroppables,\n viewport\n } = _ref;\n const windowScrollChange = viewport.scroll.diff.value;\n return additions.map(draggable => {\n const droppableId = draggable.descriptor.droppableId;\n const modified = updatedDroppables[droppableId];\n const frame = getFrame(modified);\n const droppableScrollChange = frame.scroll.diff.value;\n const totalChange = add(windowScrollChange, droppableScrollChange);\n const moved = offsetDraggable({\n draggable,\n offset: totalChange,\n initialWindowScroll: viewport.scroll.initial\n });\n return moved;\n });\n});\n\nconst timingsKey = 'Processing dynamic changes';\nvar publishWhileDraggingInVirtual = (_ref => {\n let {\n state,\n published\n } = _ref;\n start(timingsKey);\n const withScrollChange = published.modified.map(update => {\n const existing = state.dimensions.droppables[update.droppableId];\n const scrolled = scrollDroppable(existing, update.scroll);\n return scrolled;\n });\n const droppables = {\n ...state.dimensions.droppables,\n ...toDroppableMap(withScrollChange)\n };\n const updatedAdditions = toDraggableMap(adjustAdditionsForScrollChanges({\n additions: published.additions,\n updatedDroppables: droppables,\n viewport: state.viewport\n }));\n const draggables = {\n ...state.dimensions.draggables,\n ...updatedAdditions\n };\n published.removals.forEach(id => {\n delete draggables[id];\n });\n const dimensions = {\n droppables,\n draggables\n };\n const wasOverId = whatIsDraggedOver(state.impact);\n const wasOver = wasOverId ? dimensions.droppables[wasOverId] : null;\n const draggable = dimensions.draggables[state.critical.draggable.id];\n const home = dimensions.droppables[state.critical.droppable.id];\n const {\n impact: onLiftImpact,\n afterCritical\n } = getLiftEffect({\n draggable,\n home,\n draggables,\n viewport: state.viewport\n });\n const previousImpact = wasOver && wasOver.isCombineEnabled ? state.impact : onLiftImpact;\n const impact = getDragImpact({\n pageOffset: state.current.page.offset,\n draggable: dimensions.draggables[state.critical.draggable.id],\n draggables: dimensions.draggables,\n droppables: dimensions.droppables,\n previousImpact,\n viewport: state.viewport,\n afterCritical\n });\n finish(timingsKey);\n const draggingState = {\n ...state,\n phase: 'DRAGGING',\n impact,\n onLiftImpact,\n dimensions,\n afterCritical,\n forceShouldAnimate: false\n };\n if (state.phase === 'COLLECTING') {\n return draggingState;\n }\n const dropPending = {\n ...draggingState,\n phase: 'DROP_PENDING',\n reason: state.reason,\n isWaiting: false\n };\n return dropPending;\n});\n\nconst isSnapping = state => state.movementMode === 'SNAP';\nconst postDroppableChange = (state, updated, isEnabledChanging) => {\n const dimensions = patchDimensionMap(state.dimensions, updated);\n if (!isSnapping(state) || isEnabledChanging) {\n return update({\n state,\n dimensions\n });\n }\n return refreshSnap({\n state,\n dimensions\n });\n};\nfunction removeScrollJumpRequest(state) {\n if (state.isDragging && state.movementMode === 'SNAP') {\n return {\n ...state,\n scrollJumpRequest: null\n };\n }\n return state;\n}\nconst idle$2 = {\n phase: 'IDLE',\n completed: null,\n shouldFlush: false\n};\nvar reducer = (function (state, action) {\n if (state === void 0) {\n state = idle$2;\n }\n if (action.type === 'FLUSH') {\n return {\n ...idle$2,\n shouldFlush: true\n };\n }\n if (action.type === 'INITIAL_PUBLISH') {\n !(state.phase === 'IDLE') ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'INITIAL_PUBLISH must come after a IDLE phase') : invariant(false) : void 0;\n const {\n critical,\n clientSelection,\n viewport,\n dimensions,\n movementMode\n } = action.payload;\n const draggable = dimensions.draggables[critical.draggable.id];\n const home = dimensions.droppables[critical.droppable.id];\n const client = {\n selection: clientSelection,\n borderBoxCenter: draggable.client.borderBox.center,\n offset: origin\n };\n const initial = {\n client,\n page: {\n selection: add(client.selection, viewport.scroll.initial),\n borderBoxCenter: add(client.selection, viewport.scroll.initial),\n offset: add(client.selection, viewport.scroll.diff.value)\n }\n };\n const isWindowScrollAllowed = toDroppableList(dimensions.droppables).every(item => !item.isFixedOnPage);\n const {\n impact,\n afterCritical\n } = getLiftEffect({\n draggable,\n home,\n draggables: dimensions.draggables,\n viewport\n });\n const result = {\n phase: 'DRAGGING',\n isDragging: true,\n critical,\n movementMode,\n dimensions,\n initial,\n current: initial,\n isWindowScrollAllowed,\n impact,\n afterCritical,\n onLiftImpact: impact,\n viewport,\n scrollJumpRequest: null,\n forceShouldAnimate: null\n };\n return result;\n }\n if (action.type === 'COLLECTION_STARTING') {\n if (state.phase === 'COLLECTING' || state.phase === 'DROP_PENDING') {\n return state;\n }\n !(state.phase === 'DRAGGING') ? process.env.NODE_ENV !== \"production\" ? invariant(false, `Collection cannot start from phase ${state.phase}`) : invariant(false) : void 0;\n const result = {\n ...state,\n phase: 'COLLECTING'\n };\n return result;\n }\n if (action.type === 'PUBLISH_WHILE_DRAGGING') {\n !(state.phase === 'COLLECTING' || state.phase === 'DROP_PENDING') ? process.env.NODE_ENV !== \"production\" ? invariant(false, `Unexpected ${action.type} received in phase ${state.phase}`) : invariant(false) : void 0;\n return publishWhileDraggingInVirtual({\n state,\n published: action.payload\n });\n }\n if (action.type === 'MOVE') {\n if (state.phase === 'DROP_PENDING') {\n return state;\n }\n !isMovementAllowed(state) ? process.env.NODE_ENV !== \"production\" ? invariant(false, `${action.type} not permitted in phase ${state.phase}`) : invariant(false) : void 0;\n const {\n client: clientSelection\n } = action.payload;\n if (isEqual$1(clientSelection, state.current.client.selection)) {\n return state;\n }\n return update({\n state,\n clientSelection,\n impact: isSnapping(state) ? state.impact : null\n });\n }\n if (action.type === 'UPDATE_DROPPABLE_SCROLL') {\n if (state.phase === 'DROP_PENDING') {\n return removeScrollJumpRequest(state);\n }\n if (state.phase === 'COLLECTING') {\n return removeScrollJumpRequest(state);\n }\n !isMovementAllowed(state) ? process.env.NODE_ENV !== \"production\" ? invariant(false, `${action.type} not permitted in phase ${state.phase}`) : invariant(false) : void 0;\n const {\n id,\n newScroll\n } = action.payload;\n const target = state.dimensions.droppables[id];\n if (!target) {\n return state;\n }\n const scrolled = scrollDroppable(target, newScroll);\n return postDroppableChange(state, scrolled, false);\n }\n if (action.type === 'UPDATE_DROPPABLE_IS_ENABLED') {\n if (state.phase === 'DROP_PENDING') {\n return state;\n }\n !isMovementAllowed(state) ? process.env.NODE_ENV !== \"production\" ? invariant(false, `Attempting to move in an unsupported phase ${state.phase}`) : invariant(false) : void 0;\n const {\n id,\n isEnabled\n } = action.payload;\n const target = state.dimensions.droppables[id];\n !target ? process.env.NODE_ENV !== \"production\" ? invariant(false, `Cannot find Droppable[id: ${id}] to toggle its enabled state`) : invariant(false) : void 0;\n !(target.isEnabled !== isEnabled) ? process.env.NODE_ENV !== \"production\" ? invariant(false, `Trying to set droppable isEnabled to ${String(isEnabled)}\n but it is already ${String(target.isEnabled)}`) : invariant(false) : void 0;\n const updated = {\n ...target,\n isEnabled\n };\n return postDroppableChange(state, updated, true);\n }\n if (action.type === 'UPDATE_DROPPABLE_IS_COMBINE_ENABLED') {\n if (state.phase === 'DROP_PENDING') {\n return state;\n }\n !isMovementAllowed(state) ? process.env.NODE_ENV !== \"production\" ? invariant(false, `Attempting to move in an unsupported phase ${state.phase}`) : invariant(false) : void 0;\n const {\n id,\n isCombineEnabled\n } = action.payload;\n const target = state.dimensions.droppables[id];\n !target ? process.env.NODE_ENV !== \"production\" ? invariant(false, `Cannot find Droppable[id: ${id}] to toggle its isCombineEnabled state`) : invariant(false) : void 0;\n !(target.isCombineEnabled !== isCombineEnabled) ? process.env.NODE_ENV !== \"production\" ? invariant(false, `Trying to set droppable isCombineEnabled to ${String(isCombineEnabled)}\n but it is already ${String(target.isCombineEnabled)}`) : invariant(false) : void 0;\n const updated = {\n ...target,\n isCombineEnabled\n };\n return postDroppableChange(state, updated, true);\n }\n if (action.type === 'MOVE_BY_WINDOW_SCROLL') {\n if (state.phase === 'DROP_PENDING' || state.phase === 'DROP_ANIMATING') {\n return state;\n }\n !isMovementAllowed(state) ? process.env.NODE_ENV !== \"production\" ? invariant(false, `Cannot move by window in phase ${state.phase}`) : invariant(false) : void 0;\n !state.isWindowScrollAllowed ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Window scrolling is currently not supported for fixed lists') : invariant(false) : void 0;\n const newScroll = action.payload.newScroll;\n if (isEqual$1(state.viewport.scroll.current, newScroll)) {\n return removeScrollJumpRequest(state);\n }\n const viewport = scrollViewport(state.viewport, newScroll);\n if (isSnapping(state)) {\n return refreshSnap({\n state,\n viewport\n });\n }\n return update({\n state,\n viewport\n });\n }\n if (action.type === 'UPDATE_VIEWPORT_MAX_SCROLL') {\n if (!isMovementAllowed(state)) {\n return state;\n }\n const maxScroll = action.payload.maxScroll;\n if (isEqual$1(maxScroll, state.viewport.scroll.max)) {\n return state;\n }\n const withMaxScroll = {\n ...state.viewport,\n scroll: {\n ...state.viewport.scroll,\n max: maxScroll\n }\n };\n return {\n ...state,\n viewport: withMaxScroll\n };\n }\n if (action.type === 'MOVE_UP' || action.type === 'MOVE_DOWN' || action.type === 'MOVE_LEFT' || action.type === 'MOVE_RIGHT') {\n if (state.phase === 'COLLECTING' || state.phase === 'DROP_PENDING') {\n return state;\n }\n !(state.phase === 'DRAGGING') ? process.env.NODE_ENV !== \"production\" ? invariant(false, `${action.type} received while not in DRAGGING phase`) : invariant(false) : void 0;\n const result = moveInDirection({\n state,\n type: action.type\n });\n if (!result) {\n return state;\n }\n return update({\n state,\n impact: result.impact,\n clientSelection: result.clientSelection,\n scrollJumpRequest: result.scrollJumpRequest\n });\n }\n if (action.type === 'DROP_PENDING') {\n const reason = action.payload.reason;\n !(state.phase === 'COLLECTING') ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Can only move into the DROP_PENDING phase from the COLLECTING phase') : invariant(false) : void 0;\n const newState = {\n ...state,\n phase: 'DROP_PENDING',\n isWaiting: true,\n reason\n };\n return newState;\n }\n if (action.type === 'DROP_ANIMATE') {\n const {\n completed,\n dropDuration,\n newHomeClientOffset\n } = action.payload;\n !(state.phase === 'DRAGGING' || state.phase === 'DROP_PENDING') ? process.env.NODE_ENV !== \"production\" ? invariant(false, `Cannot animate drop from phase ${state.phase}`) : invariant(false) : void 0;\n const result = {\n phase: 'DROP_ANIMATING',\n completed,\n dropDuration,\n newHomeClientOffset,\n dimensions: state.dimensions\n };\n return result;\n }\n if (action.type === 'DROP_COMPLETE') {\n const {\n completed\n } = action.payload;\n return {\n phase: 'IDLE',\n completed,\n shouldFlush: false\n };\n }\n return state;\n});\n\nconst beforeInitialCapture = args => ({\n type: 'BEFORE_INITIAL_CAPTURE',\n payload: args\n});\nconst lift$1 = args => ({\n type: 'LIFT',\n payload: args\n});\nconst initialPublish = args => ({\n type: 'INITIAL_PUBLISH',\n payload: args\n});\nconst publishWhileDragging = args => ({\n type: 'PUBLISH_WHILE_DRAGGING',\n payload: args\n});\nconst collectionStarting = () => ({\n type: 'COLLECTION_STARTING',\n payload: null\n});\nconst updateDroppableScroll = args => ({\n type: 'UPDATE_DROPPABLE_SCROLL',\n payload: args\n});\nconst updateDroppableIsEnabled = args => ({\n type: 'UPDATE_DROPPABLE_IS_ENABLED',\n payload: args\n});\nconst updateDroppableIsCombineEnabled = args => ({\n type: 'UPDATE_DROPPABLE_IS_COMBINE_ENABLED',\n payload: args\n});\nconst move = args => ({\n type: 'MOVE',\n payload: args\n});\nconst moveByWindowScroll = args => ({\n type: 'MOVE_BY_WINDOW_SCROLL',\n payload: args\n});\nconst updateViewportMaxScroll = args => ({\n type: 'UPDATE_VIEWPORT_MAX_SCROLL',\n payload: args\n});\nconst moveUp = () => ({\n type: 'MOVE_UP',\n payload: null\n});\nconst moveDown = () => ({\n type: 'MOVE_DOWN',\n payload: null\n});\nconst moveRight = () => ({\n type: 'MOVE_RIGHT',\n payload: null\n});\nconst moveLeft = () => ({\n type: 'MOVE_LEFT',\n payload: null\n});\nconst flush = () => ({\n type: 'FLUSH',\n payload: null\n});\nconst animateDrop = args => ({\n type: 'DROP_ANIMATE',\n payload: args\n});\nconst completeDrop = args => ({\n type: 'DROP_COMPLETE',\n payload: args\n});\nconst drop$1 = args => ({\n type: 'DROP',\n payload: args\n});\nconst dropPending = args => ({\n type: 'DROP_PENDING',\n payload: args\n});\nconst dropAnimationFinished = () => ({\n type: 'DROP_ANIMATION_FINISHED',\n payload: null\n});\n\nfunction checkIndexes(insideDestination) {\n if (insideDestination.length <= 1) {\n return;\n }\n const indexes = insideDestination.map(d => d.descriptor.index);\n const errors = {};\n for (let i = 1; i < indexes.length; i++) {\n const current = indexes[i];\n const previous = indexes[i - 1];\n if (current !== previous + 1) {\n errors[current] = true;\n }\n }\n if (!Object.keys(errors).length) {\n return;\n }\n const formatted = indexes.map(index => {\n const hasError = Boolean(errors[index]);\n return hasError ? `[🔥${index}]` : `${index}`;\n }).join(', ');\n process.env.NODE_ENV !== \"production\" ? warning(`\n Detected non-consecutive indexes.\n\n (This can cause unexpected bugs)\n\n ${formatted}\n `) : void 0;\n}\nfunction validateDimensions(critical, dimensions) {\n if (process.env.NODE_ENV !== 'production') {\n const insideDestination = getDraggablesInsideDroppable(critical.droppable.id, dimensions.draggables);\n checkIndexes(insideDestination);\n }\n}\n\nvar lift = (marshal => _ref => {\n let {\n getState,\n dispatch\n } = _ref;\n return next => action => {\n if (action.type !== 'LIFT') {\n next(action);\n return;\n }\n const {\n id,\n clientSelection,\n movementMode\n } = action.payload;\n const initial = getState();\n if (initial.phase === 'DROP_ANIMATING') {\n dispatch(completeDrop({\n completed: initial.completed\n }));\n }\n !(getState().phase === 'IDLE') ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Unexpected phase to start a drag') : invariant(false) : void 0;\n dispatch(flush());\n dispatch(beforeInitialCapture({\n draggableId: id,\n movementMode\n }));\n const scrollOptions = {\n shouldPublishImmediately: movementMode === 'SNAP'\n };\n const request = {\n draggableId: id,\n scrollOptions\n };\n const {\n critical,\n dimensions,\n viewport\n } = marshal.startPublishing(request);\n validateDimensions(critical, dimensions);\n dispatch(initialPublish({\n critical,\n dimensions,\n clientSelection,\n movementMode,\n viewport\n }));\n };\n});\n\nvar style = (marshal => () => next => action => {\n if (action.type === 'INITIAL_PUBLISH') {\n marshal.dragging();\n }\n if (action.type === 'DROP_ANIMATE') {\n marshal.dropping(action.payload.completed.result.reason);\n }\n if (action.type === 'FLUSH' || action.type === 'DROP_COMPLETE') {\n marshal.resting();\n }\n next(action);\n});\n\nconst curves = {\n outOfTheWay: 'cubic-bezier(0.2, 0, 0, 1)',\n drop: 'cubic-bezier(.2,1,.1,1)'\n};\nconst combine = {\n opacity: {\n drop: 0,\n combining: 0.7\n },\n scale: {\n drop: 0.75\n }\n};\nconst timings = {\n outOfTheWay: 0.2,\n minDropTime: 0.33,\n maxDropTime: 0.55\n};\nconst outOfTheWayTiming = `${timings.outOfTheWay}s ${curves.outOfTheWay}`;\nconst transitions = {\n fluid: `opacity ${outOfTheWayTiming}`,\n snap: `transform ${outOfTheWayTiming}, opacity ${outOfTheWayTiming}`,\n drop: duration => {\n const timing = `${duration}s ${curves.drop}`;\n return `transform ${timing}, opacity ${timing}`;\n },\n outOfTheWay: `transform ${outOfTheWayTiming}`,\n placeholder: `height ${outOfTheWayTiming}, width ${outOfTheWayTiming}, margin ${outOfTheWayTiming}`\n};\nconst moveTo = offset => isEqual$1(offset, origin) ? undefined : `translate(${offset.x}px, ${offset.y}px)`;\nconst transforms = {\n moveTo,\n drop: (offset, isCombining) => {\n const translate = moveTo(offset);\n if (!translate) {\n return undefined;\n }\n if (!isCombining) {\n return translate;\n }\n return `${translate} scale(${combine.scale.drop})`;\n }\n};\n\nconst {\n minDropTime,\n maxDropTime\n} = timings;\nconst dropTimeRange = maxDropTime - minDropTime;\nconst maxDropTimeAtDistance = 1500;\nconst cancelDropModifier = 0.6;\nvar getDropDuration = (_ref => {\n let {\n current,\n destination,\n reason\n } = _ref;\n const distance$1 = distance(current, destination);\n if (distance$1 <= 0) {\n return minDropTime;\n }\n if (distance$1 >= maxDropTimeAtDistance) {\n return maxDropTime;\n }\n const percentage = distance$1 / maxDropTimeAtDistance;\n const duration = minDropTime + dropTimeRange * percentage;\n const withDuration = reason === 'CANCEL' ? duration * cancelDropModifier : duration;\n return Number(withDuration.toFixed(2));\n});\n\nvar getNewHomeClientOffset = (_ref => {\n let {\n impact,\n draggable,\n dimensions,\n viewport,\n afterCritical\n } = _ref;\n const {\n draggables,\n droppables\n } = dimensions;\n const droppableId = whatIsDraggedOver(impact);\n const destination = droppableId ? droppables[droppableId] : null;\n const home = droppables[draggable.descriptor.droppableId];\n const newClientCenter = getClientBorderBoxCenter({\n impact,\n draggable,\n draggables,\n afterCritical,\n droppable: destination || home,\n viewport\n });\n const offset = subtract(newClientCenter, draggable.client.borderBox.center);\n return offset;\n});\n\nvar getDropImpact = (_ref => {\n let {\n draggables,\n reason,\n lastImpact,\n home,\n viewport,\n onLiftImpact\n } = _ref;\n if (!lastImpact.at || reason !== 'DROP') {\n const recomputedHomeImpact = recompute({\n draggables,\n impact: onLiftImpact,\n destination: home,\n viewport,\n forceShouldAnimate: true\n });\n return {\n impact: recomputedHomeImpact,\n didDropInsideDroppable: false\n };\n }\n if (lastImpact.at.type === 'REORDER') {\n return {\n impact: lastImpact,\n didDropInsideDroppable: true\n };\n }\n const withoutMovement = {\n ...lastImpact,\n displaced: emptyGroups\n };\n return {\n impact: withoutMovement,\n didDropInsideDroppable: true\n };\n});\n\nconst dropMiddleware = _ref => {\n let {\n getState,\n dispatch\n } = _ref;\n return next => action => {\n if (action.type !== 'DROP') {\n next(action);\n return;\n }\n const state = getState();\n const reason = action.payload.reason;\n if (state.phase === 'COLLECTING') {\n dispatch(dropPending({\n reason\n }));\n return;\n }\n if (state.phase === 'IDLE') {\n return;\n }\n const isWaitingForDrop = state.phase === 'DROP_PENDING' && state.isWaiting;\n !!isWaitingForDrop ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'A DROP action occurred while DROP_PENDING and still waiting') : invariant(false) : void 0;\n !(state.phase === 'DRAGGING' || state.phase === 'DROP_PENDING') ? process.env.NODE_ENV !== \"production\" ? invariant(false, `Cannot drop in phase: ${state.phase}`) : invariant(false) : void 0;\n const critical = state.critical;\n const dimensions = state.dimensions;\n const draggable = dimensions.draggables[state.critical.draggable.id];\n const {\n impact,\n didDropInsideDroppable\n } = getDropImpact({\n reason,\n lastImpact: state.impact,\n afterCritical: state.afterCritical,\n onLiftImpact: state.onLiftImpact,\n home: state.dimensions.droppables[state.critical.droppable.id],\n viewport: state.viewport,\n draggables: state.dimensions.draggables\n });\n const destination = didDropInsideDroppable ? tryGetDestination(impact) : null;\n const combine = didDropInsideDroppable ? tryGetCombine(impact) : null;\n const source = {\n index: critical.draggable.index,\n droppableId: critical.droppable.id\n };\n const result = {\n draggableId: draggable.descriptor.id,\n type: draggable.descriptor.type,\n source,\n reason,\n mode: state.movementMode,\n destination,\n combine\n };\n const newHomeClientOffset = getNewHomeClientOffset({\n impact,\n draggable,\n dimensions,\n viewport: state.viewport,\n afterCritical: state.afterCritical\n });\n const completed = {\n critical: state.critical,\n afterCritical: state.afterCritical,\n result,\n impact\n };\n const isAnimationRequired = !isEqual$1(state.current.client.offset, newHomeClientOffset) || Boolean(result.combine);\n if (!isAnimationRequired) {\n dispatch(completeDrop({\n completed\n }));\n return;\n }\n const dropDuration = getDropDuration({\n current: state.current.client.offset,\n destination: newHomeClientOffset,\n reason\n });\n const args = {\n newHomeClientOffset,\n dropDuration,\n completed\n };\n dispatch(animateDrop(args));\n };\n};\nvar drop = dropMiddleware;\n\nvar getWindowScroll = (() => ({\n x: window.pageXOffset,\n y: window.pageYOffset\n}));\n\nfunction getWindowScrollBinding(update) {\n return {\n eventName: 'scroll',\n options: {\n passive: true,\n capture: false\n },\n fn: event => {\n if (event.target !== window && event.target !== window.document) {\n return;\n }\n update();\n }\n };\n}\nfunction getScrollListener(_ref) {\n let {\n onWindowScroll\n } = _ref;\n function updateScroll() {\n onWindowScroll(getWindowScroll());\n }\n const scheduled = rafSchd(updateScroll);\n const binding = getWindowScrollBinding(scheduled);\n let unbind = noop$2;\n function isActive() {\n return unbind !== noop$2;\n }\n function start() {\n !!isActive() ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot start scroll listener when already active') : invariant(false) : void 0;\n unbind = bindEvents(window, [binding]);\n }\n function stop() {\n !isActive() ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot stop scroll listener when not active') : invariant(false) : void 0;\n scheduled.cancel();\n unbind();\n unbind = noop$2;\n }\n return {\n start,\n stop,\n isActive\n };\n}\n\nconst shouldEnd = action => action.type === 'DROP_COMPLETE' || action.type === 'DROP_ANIMATE' || action.type === 'FLUSH';\nconst scrollListener = store => {\n const listener = getScrollListener({\n onWindowScroll: newScroll => {\n store.dispatch(moveByWindowScroll({\n newScroll\n }));\n }\n });\n return next => action => {\n if (!listener.isActive() && action.type === 'INITIAL_PUBLISH') {\n listener.start();\n }\n if (listener.isActive() && shouldEnd(action)) {\n listener.stop();\n }\n next(action);\n };\n};\nvar scrollListener$1 = scrollListener;\n\nvar getExpiringAnnounce = (announce => {\n let wasCalled = false;\n let isExpired = false;\n const timeoutId = setTimeout(() => {\n isExpired = true;\n });\n const result = message => {\n if (wasCalled) {\n process.env.NODE_ENV !== \"production\" ? warning('Announcement already made. Not making a second announcement') : void 0;\n return;\n }\n if (isExpired) {\n process.env.NODE_ENV !== \"production\" ? warning(`\n Announcements cannot be made asynchronously.\n Default message has already been announced.\n `) : void 0;\n return;\n }\n wasCalled = true;\n announce(message);\n clearTimeout(timeoutId);\n };\n result.wasCalled = () => wasCalled;\n return result;\n});\n\nvar getAsyncMarshal = (() => {\n const entries = [];\n const execute = timerId => {\n const index = entries.findIndex(item => item.timerId === timerId);\n !(index !== -1) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Could not find timer') : invariant(false) : void 0;\n const [entry] = entries.splice(index, 1);\n entry.callback();\n };\n const add = fn => {\n const timerId = setTimeout(() => execute(timerId));\n const entry = {\n timerId,\n callback: fn\n };\n entries.push(entry);\n };\n const flush = () => {\n if (!entries.length) {\n return;\n }\n const shallow = [...entries];\n entries.length = 0;\n shallow.forEach(entry => {\n clearTimeout(entry.timerId);\n entry.callback();\n });\n };\n return {\n add,\n flush\n };\n});\n\nconst areLocationsEqual = (first, second) => {\n if (first == null && second == null) {\n return true;\n }\n if (first == null || second == null) {\n return false;\n }\n return first.droppableId === second.droppableId && first.index === second.index;\n};\nconst isCombineEqual = (first, second) => {\n if (first == null && second == null) {\n return true;\n }\n if (first == null || second == null) {\n return false;\n }\n return first.draggableId === second.draggableId && first.droppableId === second.droppableId;\n};\nconst isCriticalEqual = (first, second) => {\n if (first === second) {\n return true;\n }\n const isDraggableEqual = first.draggable.id === second.draggable.id && first.draggable.droppableId === second.draggable.droppableId && first.draggable.type === second.draggable.type && first.draggable.index === second.draggable.index;\n const isDroppableEqual = first.droppable.id === second.droppable.id && first.droppable.type === second.droppable.type;\n return isDraggableEqual && isDroppableEqual;\n};\n\nconst withTimings = (key, fn) => {\n start();\n fn();\n finish();\n};\nconst getDragStart = (critical, mode) => ({\n draggableId: critical.draggable.id,\n type: critical.droppable.type,\n source: {\n droppableId: critical.droppable.id,\n index: critical.draggable.index\n },\n mode\n});\nfunction execute(responder, data, announce, getDefaultMessage) {\n if (!responder) {\n announce(getDefaultMessage(data));\n return;\n }\n const willExpire = getExpiringAnnounce(announce);\n const provided = {\n announce: willExpire\n };\n responder(data, provided);\n if (!willExpire.wasCalled()) {\n announce(getDefaultMessage(data));\n }\n}\nvar getPublisher = ((getResponders, announce) => {\n const asyncMarshal = getAsyncMarshal();\n let dragging = null;\n const beforeCapture = (draggableId, mode) => {\n !!dragging ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot fire onBeforeCapture as a drag start has already been published') : invariant(false) : void 0;\n withTimings('onBeforeCapture', () => {\n const fn = getResponders().onBeforeCapture;\n if (fn) {\n const before = {\n draggableId,\n mode\n };\n fn(before);\n }\n });\n };\n const beforeStart = (critical, mode) => {\n !!dragging ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot fire onBeforeDragStart as a drag start has already been published') : invariant(false) : void 0;\n withTimings('onBeforeDragStart', () => {\n const fn = getResponders().onBeforeDragStart;\n if (fn) {\n fn(getDragStart(critical, mode));\n }\n });\n };\n const start = (critical, mode) => {\n !!dragging ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot fire onBeforeDragStart as a drag start has already been published') : invariant(false) : void 0;\n const data = getDragStart(critical, mode);\n dragging = {\n mode,\n lastCritical: critical,\n lastLocation: data.source,\n lastCombine: null\n };\n asyncMarshal.add(() => {\n withTimings('onDragStart', () => execute(getResponders().onDragStart, data, announce, preset$1.onDragStart));\n });\n };\n const update = (critical, impact) => {\n const location = tryGetDestination(impact);\n const combine = tryGetCombine(impact);\n !dragging ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot fire onDragMove when onDragStart has not been called') : invariant(false) : void 0;\n const hasCriticalChanged = !isCriticalEqual(critical, dragging.lastCritical);\n if (hasCriticalChanged) {\n dragging.lastCritical = critical;\n }\n const hasLocationChanged = !areLocationsEqual(dragging.lastLocation, location);\n if (hasLocationChanged) {\n dragging.lastLocation = location;\n }\n const hasGroupingChanged = !isCombineEqual(dragging.lastCombine, combine);\n if (hasGroupingChanged) {\n dragging.lastCombine = combine;\n }\n if (!hasCriticalChanged && !hasLocationChanged && !hasGroupingChanged) {\n return;\n }\n const data = {\n ...getDragStart(critical, dragging.mode),\n combine,\n destination: location\n };\n asyncMarshal.add(() => {\n withTimings('onDragUpdate', () => execute(getResponders().onDragUpdate, data, announce, preset$1.onDragUpdate));\n });\n };\n const flush = () => {\n !dragging ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Can only flush responders while dragging') : invariant(false) : void 0;\n asyncMarshal.flush();\n };\n const drop = result => {\n !dragging ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot fire onDragEnd when there is no matching onDragStart') : invariant(false) : void 0;\n dragging = null;\n withTimings('onDragEnd', () => execute(getResponders().onDragEnd, result, announce, preset$1.onDragEnd));\n };\n const abort = () => {\n if (!dragging) {\n return;\n }\n const result = {\n ...getDragStart(dragging.lastCritical, dragging.mode),\n combine: null,\n destination: null,\n reason: 'CANCEL'\n };\n drop(result);\n };\n return {\n beforeCapture,\n beforeStart,\n start,\n update,\n flush,\n drop,\n abort\n };\n});\n\nvar responders = ((getResponders, announce) => {\n const publisher = getPublisher(getResponders, announce);\n return store => next => action => {\n if (action.type === 'BEFORE_INITIAL_CAPTURE') {\n publisher.beforeCapture(action.payload.draggableId, action.payload.movementMode);\n return;\n }\n if (action.type === 'INITIAL_PUBLISH') {\n const critical = action.payload.critical;\n publisher.beforeStart(critical, action.payload.movementMode);\n next(action);\n publisher.start(critical, action.payload.movementMode);\n return;\n }\n if (action.type === 'DROP_COMPLETE') {\n const result = action.payload.completed.result;\n publisher.flush();\n next(action);\n publisher.drop(result);\n return;\n }\n next(action);\n if (action.type === 'FLUSH') {\n publisher.abort();\n return;\n }\n const state = store.getState();\n if (state.phase === 'DRAGGING') {\n publisher.update(state.critical, state.impact);\n }\n };\n});\n\nconst dropAnimationFinishMiddleware = store => next => action => {\n if (action.type !== 'DROP_ANIMATION_FINISHED') {\n next(action);\n return;\n }\n const state = store.getState();\n !(state.phase === 'DROP_ANIMATING') ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot finish a drop animating when no drop is occurring') : invariant(false) : void 0;\n store.dispatch(completeDrop({\n completed: state.completed\n }));\n};\nvar dropAnimationFinish = dropAnimationFinishMiddleware;\n\nconst dropAnimationFlushOnScrollMiddleware = store => {\n let unbind = null;\n let frameId = null;\n function clear() {\n if (frameId) {\n cancelAnimationFrame(frameId);\n frameId = null;\n }\n if (unbind) {\n unbind();\n unbind = null;\n }\n }\n return next => action => {\n if (action.type === 'FLUSH' || action.type === 'DROP_COMPLETE' || action.type === 'DROP_ANIMATION_FINISHED') {\n clear();\n }\n next(action);\n if (action.type !== 'DROP_ANIMATE') {\n return;\n }\n const binding = {\n eventName: 'scroll',\n options: {\n capture: true,\n passive: false,\n once: true\n },\n fn: function flushDropAnimation() {\n const state = store.getState();\n if (state.phase === 'DROP_ANIMATING') {\n store.dispatch(dropAnimationFinished());\n }\n }\n };\n frameId = requestAnimationFrame(() => {\n frameId = null;\n unbind = bindEvents(window, [binding]);\n });\n };\n};\nvar dropAnimationFlushOnScroll = dropAnimationFlushOnScrollMiddleware;\n\nvar dimensionMarshalStopper = (marshal => () => next => action => {\n if (action.type === 'DROP_COMPLETE' || action.type === 'FLUSH' || action.type === 'DROP_ANIMATE') {\n marshal.stopPublishing();\n }\n next(action);\n});\n\nvar focus = (marshal => {\n let isWatching = false;\n return () => next => action => {\n if (action.type === 'INITIAL_PUBLISH') {\n isWatching = true;\n marshal.tryRecordFocus(action.payload.critical.draggable.id);\n next(action);\n marshal.tryRestoreFocusRecorded();\n return;\n }\n next(action);\n if (!isWatching) {\n return;\n }\n if (action.type === 'FLUSH') {\n isWatching = false;\n marshal.tryRestoreFocusRecorded();\n return;\n }\n if (action.type === 'DROP_COMPLETE') {\n isWatching = false;\n const result = action.payload.completed.result;\n if (result.combine) {\n marshal.tryShiftRecord(result.draggableId, result.combine.draggableId);\n }\n marshal.tryRestoreFocusRecorded();\n }\n };\n});\n\nconst shouldStop = action => action.type === 'DROP_COMPLETE' || action.type === 'DROP_ANIMATE' || action.type === 'FLUSH';\nvar autoScroll = (autoScroller => store => next => action => {\n if (shouldStop(action)) {\n autoScroller.stop();\n next(action);\n return;\n }\n if (action.type === 'INITIAL_PUBLISH') {\n next(action);\n const state = store.getState();\n !(state.phase === 'DRAGGING') ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Expected phase to be DRAGGING after INITIAL_PUBLISH') : invariant(false) : void 0;\n autoScroller.start(state);\n return;\n }\n next(action);\n autoScroller.scroll(store.getState());\n});\n\nconst pendingDrop = store => next => action => {\n next(action);\n if (action.type !== 'PUBLISH_WHILE_DRAGGING') {\n return;\n }\n const postActionState = store.getState();\n if (postActionState.phase !== 'DROP_PENDING') {\n return;\n }\n if (postActionState.isWaiting) {\n return;\n }\n store.dispatch(drop$1({\n reason: postActionState.reason\n }));\n};\nvar pendingDrop$1 = pendingDrop;\n\nconst composeEnhancers = process.env.NODE_ENV !== 'production' && typeof window !== 'undefined' && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ ? window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__({\n name: '@hello-pangea/dnd'\n}) : compose;\nvar createStore = (_ref => {\n let {\n dimensionMarshal,\n focusMarshal,\n styleMarshal,\n getResponders,\n announce,\n autoScroller\n } = _ref;\n return createStore$1(reducer, composeEnhancers(applyMiddleware(style(styleMarshal), dimensionMarshalStopper(dimensionMarshal), lift(dimensionMarshal), drop, dropAnimationFinish, dropAnimationFlushOnScroll, pendingDrop$1, autoScroll(autoScroller), scrollListener$1, focus(focusMarshal), responders(getResponders, announce))));\n});\n\nconst clean$1 = () => ({\n additions: {},\n removals: {},\n modified: {}\n});\nfunction createPublisher(_ref) {\n let {\n registry,\n callbacks\n } = _ref;\n let staging = clean$1();\n let frameId = null;\n const collect = () => {\n if (frameId) {\n return;\n }\n callbacks.collectionStarting();\n frameId = requestAnimationFrame(() => {\n frameId = null;\n start();\n const {\n additions,\n removals,\n modified\n } = staging;\n const added = Object.keys(additions).map(id => registry.draggable.getById(id).getDimension(origin)).sort((a, b) => a.descriptor.index - b.descriptor.index);\n const updated = Object.keys(modified).map(id => {\n const entry = registry.droppable.getById(id);\n const scroll = entry.callbacks.getScrollWhileDragging();\n return {\n droppableId: id,\n scroll\n };\n });\n const result = {\n additions: added,\n removals: Object.keys(removals),\n modified: updated\n };\n staging = clean$1();\n finish();\n callbacks.publish(result);\n });\n };\n const add = entry => {\n const id = entry.descriptor.id;\n staging.additions[id] = entry;\n staging.modified[entry.descriptor.droppableId] = true;\n if (staging.removals[id]) {\n delete staging.removals[id];\n }\n collect();\n };\n const remove = entry => {\n const descriptor = entry.descriptor;\n staging.removals[descriptor.id] = true;\n staging.modified[descriptor.droppableId] = true;\n if (staging.additions[descriptor.id]) {\n delete staging.additions[descriptor.id];\n }\n collect();\n };\n const stop = () => {\n if (!frameId) {\n return;\n }\n cancelAnimationFrame(frameId);\n frameId = null;\n staging = clean$1();\n };\n return {\n add,\n remove,\n stop\n };\n}\n\nvar getMaxScroll = (_ref => {\n let {\n scrollHeight,\n scrollWidth,\n height,\n width\n } = _ref;\n const maxScroll = subtract({\n x: scrollWidth,\n y: scrollHeight\n }, {\n x: width,\n y: height\n });\n const adjustedMaxScroll = {\n x: Math.max(0, maxScroll.x),\n y: Math.max(0, maxScroll.y)\n };\n return adjustedMaxScroll;\n});\n\nvar getDocumentElement = (() => {\n const doc = document.documentElement;\n !doc ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot find document.documentElement') : invariant(false) : void 0;\n return doc;\n});\n\nvar getMaxWindowScroll = (() => {\n const doc = getDocumentElement();\n const maxScroll = getMaxScroll({\n scrollHeight: doc.scrollHeight,\n scrollWidth: doc.scrollWidth,\n width: doc.clientWidth,\n height: doc.clientHeight\n });\n return maxScroll;\n});\n\nvar getViewport = (() => {\n const scroll = getWindowScroll();\n const maxScroll = getMaxWindowScroll();\n const top = scroll.y;\n const left = scroll.x;\n const doc = getDocumentElement();\n const width = doc.clientWidth;\n const height = doc.clientHeight;\n const right = left + width;\n const bottom = top + height;\n const frame = getRect({\n top,\n left,\n right,\n bottom\n });\n const viewport = {\n frame,\n scroll: {\n initial: scroll,\n current: scroll,\n max: maxScroll,\n diff: {\n value: origin,\n displacement: origin\n }\n }\n };\n return viewport;\n});\n\nvar getInitialPublish = (_ref => {\n let {\n critical,\n scrollOptions,\n registry\n } = _ref;\n start();\n const viewport = getViewport();\n const windowScroll = viewport.scroll.current;\n const home = critical.droppable;\n const droppables = registry.droppable.getAllByType(home.type).map(entry => entry.callbacks.getDimensionAndWatchScroll(windowScroll, scrollOptions));\n const draggables = registry.draggable.getAllByType(critical.draggable.type).map(entry => entry.getDimension(windowScroll));\n const dimensions = {\n draggables: toDraggableMap(draggables),\n droppables: toDroppableMap(droppables)\n };\n finish();\n const result = {\n dimensions,\n critical,\n viewport\n };\n return result;\n});\n\nfunction shouldPublishUpdate(registry, dragging, entry) {\n if (entry.descriptor.id === dragging.id) {\n return false;\n }\n if (entry.descriptor.type !== dragging.type) {\n return false;\n }\n const home = registry.droppable.getById(entry.descriptor.droppableId);\n if (home.descriptor.mode !== 'virtual') {\n process.env.NODE_ENV !== \"production\" ? warning(`\n You are attempting to add or remove a Draggable [id: ${entry.descriptor.id}]\n while a drag is occurring. This is only supported for virtual lists.\n\n See https://github.com/hello-pangea/dnd/blob/main/docs/patterns/virtual-lists.md\n `) : void 0;\n return false;\n }\n return true;\n}\nvar createDimensionMarshal = ((registry, callbacks) => {\n let collection = null;\n const publisher = createPublisher({\n callbacks: {\n publish: callbacks.publishWhileDragging,\n collectionStarting: callbacks.collectionStarting\n },\n registry\n });\n const updateDroppableIsEnabled = (id, isEnabled) => {\n !registry.droppable.exists(id) ? process.env.NODE_ENV !== \"production\" ? invariant(false, `Cannot update is enabled flag of Droppable ${id} as it is not registered`) : invariant(false) : void 0;\n if (!collection) {\n return;\n }\n callbacks.updateDroppableIsEnabled({\n id,\n isEnabled\n });\n };\n const updateDroppableIsCombineEnabled = (id, isCombineEnabled) => {\n if (!collection) {\n return;\n }\n !registry.droppable.exists(id) ? process.env.NODE_ENV !== \"production\" ? invariant(false, `Cannot update isCombineEnabled flag of Droppable ${id} as it is not registered`) : invariant(false) : void 0;\n callbacks.updateDroppableIsCombineEnabled({\n id,\n isCombineEnabled\n });\n };\n const updateDroppableScroll = (id, newScroll) => {\n if (!collection) {\n return;\n }\n !registry.droppable.exists(id) ? process.env.NODE_ENV !== \"production\" ? invariant(false, `Cannot update the scroll on Droppable ${id} as it is not registered`) : invariant(false) : void 0;\n callbacks.updateDroppableScroll({\n id,\n newScroll\n });\n };\n const scrollDroppable = (id, change) => {\n if (!collection) {\n return;\n }\n registry.droppable.getById(id).callbacks.scroll(change);\n };\n const stopPublishing = () => {\n if (!collection) {\n return;\n }\n publisher.stop();\n const home = collection.critical.droppable;\n registry.droppable.getAllByType(home.type).forEach(entry => entry.callbacks.dragStopped());\n collection.unsubscribe();\n collection = null;\n };\n const subscriber = event => {\n !collection ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Should only be subscribed when a collection is occurring') : invariant(false) : void 0;\n const dragging = collection.critical.draggable;\n if (event.type === 'ADDITION') {\n if (shouldPublishUpdate(registry, dragging, event.value)) {\n publisher.add(event.value);\n }\n }\n if (event.type === 'REMOVAL') {\n if (shouldPublishUpdate(registry, dragging, event.value)) {\n publisher.remove(event.value);\n }\n }\n };\n const startPublishing = request => {\n !!collection ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot start capturing critical dimensions as there is already a collection') : invariant(false) : void 0;\n const entry = registry.draggable.getById(request.draggableId);\n const home = registry.droppable.getById(entry.descriptor.droppableId);\n const critical = {\n draggable: entry.descriptor,\n droppable: home.descriptor\n };\n const unsubscribe = registry.subscribe(subscriber);\n collection = {\n critical,\n unsubscribe\n };\n return getInitialPublish({\n critical,\n registry,\n scrollOptions: request.scrollOptions\n });\n };\n const marshal = {\n updateDroppableIsEnabled,\n updateDroppableIsCombineEnabled,\n scrollDroppable,\n updateDroppableScroll,\n startPublishing,\n stopPublishing\n };\n return marshal;\n});\n\nvar canStartDrag = ((state, id) => {\n if (state.phase === 'IDLE') {\n return true;\n }\n if (state.phase !== 'DROP_ANIMATING') {\n return false;\n }\n if (state.completed.result.draggableId === id) {\n return false;\n }\n return state.completed.result.reason === 'DROP';\n});\n\nvar scrollWindow = (change => {\n window.scrollBy(change.x, change.y);\n});\n\nconst getScrollableDroppables = memoizeOne(droppables => toDroppableList(droppables).filter(droppable => {\n if (!droppable.isEnabled) {\n return false;\n }\n if (!droppable.frame) {\n return false;\n }\n return true;\n}));\nconst getScrollableDroppableOver = (target, droppables) => {\n const maybe = getScrollableDroppables(droppables).find(droppable => {\n !droppable.frame ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Invalid result') : invariant(false) : void 0;\n return isPositionInFrame(droppable.frame.pageMarginBox)(target);\n }) || null;\n return maybe;\n};\nvar getBestScrollableDroppable = (_ref => {\n let {\n center,\n destination,\n droppables\n } = _ref;\n if (destination) {\n const dimension = droppables[destination];\n if (!dimension.frame) {\n return null;\n }\n return dimension;\n }\n const dimension = getScrollableDroppableOver(center, droppables);\n return dimension;\n});\n\nconst defaultAutoScrollerOptions = {\n startFromPercentage: 0.25,\n maxScrollAtPercentage: 0.05,\n maxPixelScroll: 28,\n ease: percentage => percentage ** 2,\n durationDampening: {\n stopDampeningAt: 1200,\n accelerateAt: 360\n },\n disabled: false\n};\n\nvar getDistanceThresholds = (function (container, axis, getAutoScrollerOptions) {\n if (getAutoScrollerOptions === void 0) {\n getAutoScrollerOptions = () => defaultAutoScrollerOptions;\n }\n const autoScrollerOptions = getAutoScrollerOptions();\n const startScrollingFrom = container[axis.size] * autoScrollerOptions.startFromPercentage;\n const maxScrollValueAt = container[axis.size] * autoScrollerOptions.maxScrollAtPercentage;\n const thresholds = {\n startScrollingFrom,\n maxScrollValueAt\n };\n return thresholds;\n});\n\nvar getPercentage = (_ref => {\n let {\n startOfRange,\n endOfRange,\n current\n } = _ref;\n const range = endOfRange - startOfRange;\n if (range === 0) {\n process.env.NODE_ENV !== \"production\" ? warning(`\n Detected distance range of 0 in the fluid auto scroller\n This is unexpected and would cause a divide by 0 issue.\n Not allowing an auto scroll\n `) : void 0;\n return 0;\n }\n const currentInRange = current - startOfRange;\n const percentage = currentInRange / range;\n return percentage;\n});\n\nvar minScroll = 1;\n\nvar getValueFromDistance = (function (distanceToEdge, thresholds, getAutoScrollerOptions) {\n if (getAutoScrollerOptions === void 0) {\n getAutoScrollerOptions = () => defaultAutoScrollerOptions;\n }\n const autoScrollerOptions = getAutoScrollerOptions();\n if (distanceToEdge > thresholds.startScrollingFrom) {\n return 0;\n }\n if (distanceToEdge <= thresholds.maxScrollValueAt) {\n return autoScrollerOptions.maxPixelScroll;\n }\n if (distanceToEdge === thresholds.startScrollingFrom) {\n return minScroll;\n }\n const percentageFromMaxScrollValueAt = getPercentage({\n startOfRange: thresholds.maxScrollValueAt,\n endOfRange: thresholds.startScrollingFrom,\n current: distanceToEdge\n });\n const percentageFromStartScrollingFrom = 1 - percentageFromMaxScrollValueAt;\n const scroll = autoScrollerOptions.maxPixelScroll * autoScrollerOptions.ease(percentageFromStartScrollingFrom);\n return Math.ceil(scroll);\n});\n\nvar dampenValueByTime = ((proposedScroll, dragStartTime, getAutoScrollerOptions) => {\n const autoScrollerOptions = getAutoScrollerOptions();\n const accelerateAt = autoScrollerOptions.durationDampening.accelerateAt;\n const stopAt = autoScrollerOptions.durationDampening.stopDampeningAt;\n const startOfRange = dragStartTime;\n const endOfRange = stopAt;\n const now = Date.now();\n const runTime = now - startOfRange;\n if (runTime >= stopAt) {\n return proposedScroll;\n }\n if (runTime < accelerateAt) {\n return minScroll;\n }\n const betweenAccelerateAtAndStopAtPercentage = getPercentage({\n startOfRange: accelerateAt,\n endOfRange,\n current: runTime\n });\n const scroll = proposedScroll * autoScrollerOptions.ease(betweenAccelerateAtAndStopAtPercentage);\n return Math.ceil(scroll);\n});\n\nvar getValue = (_ref => {\n let {\n distanceToEdge,\n thresholds,\n dragStartTime,\n shouldUseTimeDampening,\n getAutoScrollerOptions\n } = _ref;\n const scroll = getValueFromDistance(distanceToEdge, thresholds, getAutoScrollerOptions);\n if (scroll === 0) {\n return 0;\n }\n if (!shouldUseTimeDampening) {\n return scroll;\n }\n return Math.max(dampenValueByTime(scroll, dragStartTime, getAutoScrollerOptions), minScroll);\n});\n\nvar getScrollOnAxis = (_ref => {\n let {\n container,\n distanceToEdges,\n dragStartTime,\n axis,\n shouldUseTimeDampening,\n getAutoScrollerOptions\n } = _ref;\n const thresholds = getDistanceThresholds(container, axis, getAutoScrollerOptions);\n const isCloserToEnd = distanceToEdges[axis.end] < distanceToEdges[axis.start];\n if (isCloserToEnd) {\n return getValue({\n distanceToEdge: distanceToEdges[axis.end],\n thresholds,\n dragStartTime,\n shouldUseTimeDampening,\n getAutoScrollerOptions\n });\n }\n return -1 * getValue({\n distanceToEdge: distanceToEdges[axis.start],\n thresholds,\n dragStartTime,\n shouldUseTimeDampening,\n getAutoScrollerOptions\n });\n});\n\nvar adjustForSizeLimits = (_ref => {\n let {\n container,\n subject,\n proposedScroll\n } = _ref;\n const isTooBigVertically = subject.height > container.height;\n const isTooBigHorizontally = subject.width > container.width;\n if (!isTooBigHorizontally && !isTooBigVertically) {\n return proposedScroll;\n }\n if (isTooBigHorizontally && isTooBigVertically) {\n return null;\n }\n return {\n x: isTooBigHorizontally ? 0 : proposedScroll.x,\n y: isTooBigVertically ? 0 : proposedScroll.y\n };\n});\n\nconst clean = apply(value => value === 0 ? 0 : value);\nvar getScroll$1 = (_ref => {\n let {\n dragStartTime,\n container,\n subject,\n center,\n shouldUseTimeDampening,\n getAutoScrollerOptions\n } = _ref;\n const distanceToEdges = {\n top: center.y - container.top,\n right: container.right - center.x,\n bottom: container.bottom - center.y,\n left: center.x - container.left\n };\n const y = getScrollOnAxis({\n container,\n distanceToEdges,\n dragStartTime,\n axis: vertical,\n shouldUseTimeDampening,\n getAutoScrollerOptions\n });\n const x = getScrollOnAxis({\n container,\n distanceToEdges,\n dragStartTime,\n axis: horizontal,\n shouldUseTimeDampening,\n getAutoScrollerOptions\n });\n const required = clean({\n x,\n y\n });\n if (isEqual$1(required, origin)) {\n return null;\n }\n const limited = adjustForSizeLimits({\n container,\n subject,\n proposedScroll: required\n });\n if (!limited) {\n return null;\n }\n return isEqual$1(limited, origin) ? null : limited;\n});\n\nconst smallestSigned = apply(value => {\n if (value === 0) {\n return 0;\n }\n return value > 0 ? 1 : -1;\n});\nconst getOverlap = (() => {\n const getRemainder = (target, max) => {\n if (target < 0) {\n return target;\n }\n if (target > max) {\n return target - max;\n }\n return 0;\n };\n return _ref => {\n let {\n current,\n max,\n change\n } = _ref;\n const targetScroll = add(current, change);\n const overlap = {\n x: getRemainder(targetScroll.x, max.x),\n y: getRemainder(targetScroll.y, max.y)\n };\n if (isEqual$1(overlap, origin)) {\n return null;\n }\n return overlap;\n };\n})();\nconst canPartiallyScroll = _ref2 => {\n let {\n max: rawMax,\n current,\n change\n } = _ref2;\n const max = {\n x: Math.max(current.x, rawMax.x),\n y: Math.max(current.y, rawMax.y)\n };\n const smallestChange = smallestSigned(change);\n const overlap = getOverlap({\n max,\n current,\n change: smallestChange\n });\n if (!overlap) {\n return true;\n }\n if (smallestChange.x !== 0 && overlap.x === 0) {\n return true;\n }\n if (smallestChange.y !== 0 && overlap.y === 0) {\n return true;\n }\n return false;\n};\nconst canScrollWindow = (viewport, change) => canPartiallyScroll({\n current: viewport.scroll.current,\n max: viewport.scroll.max,\n change\n});\nconst getWindowOverlap = (viewport, change) => {\n if (!canScrollWindow(viewport, change)) {\n return null;\n }\n const max = viewport.scroll.max;\n const current = viewport.scroll.current;\n return getOverlap({\n current,\n max,\n change\n });\n};\nconst canScrollDroppable = (droppable, change) => {\n const frame = droppable.frame;\n if (!frame) {\n return false;\n }\n return canPartiallyScroll({\n current: frame.scroll.current,\n max: frame.scroll.max,\n change\n });\n};\nconst getDroppableOverlap = (droppable, change) => {\n const frame = droppable.frame;\n if (!frame) {\n return null;\n }\n if (!canScrollDroppable(droppable, change)) {\n return null;\n }\n return getOverlap({\n current: frame.scroll.current,\n max: frame.scroll.max,\n change\n });\n};\n\nvar getWindowScrollChange = (_ref => {\n let {\n viewport,\n subject,\n center,\n dragStartTime,\n shouldUseTimeDampening,\n getAutoScrollerOptions\n } = _ref;\n const scroll = getScroll$1({\n dragStartTime,\n container: viewport.frame,\n subject,\n center,\n shouldUseTimeDampening,\n getAutoScrollerOptions\n });\n return scroll && canScrollWindow(viewport, scroll) ? scroll : null;\n});\n\nvar getDroppableScrollChange = (_ref => {\n let {\n droppable,\n subject,\n center,\n dragStartTime,\n shouldUseTimeDampening,\n getAutoScrollerOptions\n } = _ref;\n const frame = droppable.frame;\n if (!frame) {\n return null;\n }\n const scroll = getScroll$1({\n dragStartTime,\n container: frame.pageMarginBox,\n subject,\n center,\n shouldUseTimeDampening,\n getAutoScrollerOptions\n });\n return scroll && canScrollDroppable(droppable, scroll) ? scroll : null;\n});\n\nvar scroll = (_ref => {\n let {\n state,\n dragStartTime,\n shouldUseTimeDampening,\n scrollWindow,\n scrollDroppable,\n getAutoScrollerOptions\n } = _ref;\n const center = state.current.page.borderBoxCenter;\n const draggable = state.dimensions.draggables[state.critical.draggable.id];\n const subject = draggable.page.marginBox;\n if (state.isWindowScrollAllowed) {\n const viewport = state.viewport;\n const change = getWindowScrollChange({\n dragStartTime,\n viewport,\n subject,\n center,\n shouldUseTimeDampening,\n getAutoScrollerOptions\n });\n if (change) {\n scrollWindow(change);\n return;\n }\n }\n const droppable = getBestScrollableDroppable({\n center,\n destination: whatIsDraggedOver(state.impact),\n droppables: state.dimensions.droppables\n });\n if (!droppable) {\n return;\n }\n const change = getDroppableScrollChange({\n dragStartTime,\n droppable,\n subject,\n center,\n shouldUseTimeDampening,\n getAutoScrollerOptions\n });\n if (change) {\n scrollDroppable(droppable.descriptor.id, change);\n }\n});\n\nvar createFluidScroller = (_ref => {\n let {\n scrollWindow,\n scrollDroppable,\n getAutoScrollerOptions = () => defaultAutoScrollerOptions\n } = _ref;\n const scheduleWindowScroll = rafSchd(scrollWindow);\n const scheduleDroppableScroll = rafSchd(scrollDroppable);\n let dragging = null;\n const tryScroll = state => {\n !dragging ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot fluid scroll if not dragging') : invariant(false) : void 0;\n const {\n shouldUseTimeDampening,\n dragStartTime\n } = dragging;\n scroll({\n state,\n scrollWindow: scheduleWindowScroll,\n scrollDroppable: scheduleDroppableScroll,\n dragStartTime,\n shouldUseTimeDampening,\n getAutoScrollerOptions\n });\n };\n const start$1 = state => {\n start();\n !!dragging ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot start auto scrolling when already started') : invariant(false) : void 0;\n const dragStartTime = Date.now();\n let wasScrollNeeded = false;\n const fakeScrollCallback = () => {\n wasScrollNeeded = true;\n };\n scroll({\n state,\n dragStartTime: 0,\n shouldUseTimeDampening: false,\n scrollWindow: fakeScrollCallback,\n scrollDroppable: fakeScrollCallback,\n getAutoScrollerOptions\n });\n dragging = {\n dragStartTime,\n shouldUseTimeDampening: wasScrollNeeded\n };\n finish();\n if (wasScrollNeeded) {\n tryScroll(state);\n }\n };\n const stop = () => {\n if (!dragging) {\n return;\n }\n scheduleWindowScroll.cancel();\n scheduleDroppableScroll.cancel();\n dragging = null;\n };\n return {\n start: start$1,\n stop,\n scroll: tryScroll\n };\n});\n\nvar createJumpScroller = (_ref => {\n let {\n move,\n scrollDroppable,\n scrollWindow\n } = _ref;\n const moveByOffset = (state, offset) => {\n const client = add(state.current.client.selection, offset);\n move({\n client\n });\n };\n const scrollDroppableAsMuchAsItCan = (droppable, change) => {\n if (!canScrollDroppable(droppable, change)) {\n return change;\n }\n const overlap = getDroppableOverlap(droppable, change);\n if (!overlap) {\n scrollDroppable(droppable.descriptor.id, change);\n return null;\n }\n const whatTheDroppableCanScroll = subtract(change, overlap);\n scrollDroppable(droppable.descriptor.id, whatTheDroppableCanScroll);\n const remainder = subtract(change, whatTheDroppableCanScroll);\n return remainder;\n };\n const scrollWindowAsMuchAsItCan = (isWindowScrollAllowed, viewport, change) => {\n if (!isWindowScrollAllowed) {\n return change;\n }\n if (!canScrollWindow(viewport, change)) {\n return change;\n }\n const overlap = getWindowOverlap(viewport, change);\n if (!overlap) {\n scrollWindow(change);\n return null;\n }\n const whatTheWindowCanScroll = subtract(change, overlap);\n scrollWindow(whatTheWindowCanScroll);\n const remainder = subtract(change, whatTheWindowCanScroll);\n return remainder;\n };\n const jumpScroller = state => {\n const request = state.scrollJumpRequest;\n if (!request) {\n return;\n }\n const destination = whatIsDraggedOver(state.impact);\n !destination ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot perform a jump scroll when there is no destination') : invariant(false) : void 0;\n const droppableRemainder = scrollDroppableAsMuchAsItCan(state.dimensions.droppables[destination], request);\n if (!droppableRemainder) {\n return;\n }\n const viewport = state.viewport;\n const windowRemainder = scrollWindowAsMuchAsItCan(state.isWindowScrollAllowed, viewport, droppableRemainder);\n if (!windowRemainder) {\n return;\n }\n moveByOffset(state, windowRemainder);\n };\n return jumpScroller;\n});\n\nvar createAutoScroller = (_ref => {\n let {\n scrollDroppable,\n scrollWindow,\n move,\n getAutoScrollerOptions\n } = _ref;\n const fluidScroller = createFluidScroller({\n scrollWindow,\n scrollDroppable,\n getAutoScrollerOptions\n });\n const jumpScroll = createJumpScroller({\n move,\n scrollWindow,\n scrollDroppable\n });\n const scroll = state => {\n const autoScrollerOptions = getAutoScrollerOptions();\n if (autoScrollerOptions.disabled || state.phase !== 'DRAGGING') {\n return;\n }\n if (state.movementMode === 'FLUID') {\n fluidScroller.scroll(state);\n return;\n }\n if (!state.scrollJumpRequest) {\n return;\n }\n jumpScroll(state);\n };\n const scroller = {\n scroll,\n start: fluidScroller.start,\n stop: fluidScroller.stop\n };\n return scroller;\n});\n\nconst prefix = 'data-rfd';\nconst dragHandle = (() => {\n const base = `${prefix}-drag-handle`;\n return {\n base,\n draggableId: `${base}-draggable-id`,\n contextId: `${base}-context-id`\n };\n})();\nconst draggable = (() => {\n const base = `${prefix}-draggable`;\n return {\n base,\n contextId: `${base}-context-id`,\n id: `${base}-id`\n };\n})();\nconst droppable = (() => {\n const base = `${prefix}-droppable`;\n return {\n base,\n contextId: `${base}-context-id`,\n id: `${base}-id`\n };\n})();\nconst scrollContainer = {\n contextId: `${prefix}-scroll-container-context-id`\n};\n\nconst makeGetSelector = context => attribute => `[${attribute}=\"${context}\"]`;\nconst getStyles = (rules, property) => rules.map(rule => {\n const value = rule.styles[property];\n if (!value) {\n return '';\n }\n return `${rule.selector} { ${value} }`;\n}).join(' ');\nconst noPointerEvents = 'pointer-events: none;';\nvar getStyles$1 = (contextId => {\n const getSelector = makeGetSelector(contextId);\n const dragHandle$1 = (() => {\n const grabCursor = `\n cursor: -webkit-grab;\n cursor: grab;\n `;\n return {\n selector: getSelector(dragHandle.contextId),\n styles: {\n always: `\n -webkit-touch-callout: none;\n -webkit-tap-highlight-color: rgba(0,0,0,0);\n touch-action: manipulation;\n `,\n resting: grabCursor,\n dragging: noPointerEvents,\n dropAnimating: grabCursor\n }\n };\n })();\n const draggable$1 = (() => {\n const transition = `\n transition: ${transitions.outOfTheWay};\n `;\n return {\n selector: getSelector(draggable.contextId),\n styles: {\n dragging: transition,\n dropAnimating: transition,\n userCancel: transition\n }\n };\n })();\n const droppable$1 = {\n selector: getSelector(droppable.contextId),\n styles: {\n always: `overflow-anchor: none;`\n }\n };\n const body = {\n selector: 'body',\n styles: {\n dragging: `\n cursor: grabbing;\n cursor: -webkit-grabbing;\n user-select: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n overflow-anchor: none;\n `\n }\n };\n const rules = [draggable$1, dragHandle$1, droppable$1, body];\n return {\n always: getStyles(rules, 'always'),\n resting: getStyles(rules, 'resting'),\n dragging: getStyles(rules, 'dragging'),\n dropAnimating: getStyles(rules, 'dropAnimating'),\n userCancel: getStyles(rules, 'userCancel')\n };\n});\n\nconst useIsomorphicLayoutEffect = typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined' ? useLayoutEffect$1 : useEffect;\nvar useLayoutEffect = useIsomorphicLayoutEffect;\n\nconst getHead = () => {\n const head = document.querySelector('head');\n !head ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot find the head to append a style to') : invariant(false) : void 0;\n return head;\n};\nconst createStyleEl = nonce => {\n const el = document.createElement('style');\n if (nonce) {\n el.setAttribute('nonce', nonce);\n }\n el.type = 'text/css';\n return el;\n};\nfunction useStyleMarshal(contextId, nonce) {\n const styles = useMemo(() => getStyles$1(contextId), [contextId]);\n const alwaysRef = useRef(null);\n const dynamicRef = useRef(null);\n const setDynamicStyle = useCallback(memoizeOne(proposed => {\n const el = dynamicRef.current;\n !el ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot set dynamic style element if it is not set') : invariant(false) : void 0;\n el.textContent = proposed;\n }), []);\n const setAlwaysStyle = useCallback(proposed => {\n const el = alwaysRef.current;\n !el ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot set dynamic style element if it is not set') : invariant(false) : void 0;\n el.textContent = proposed;\n }, []);\n useLayoutEffect(() => {\n !(!alwaysRef.current && !dynamicRef.current) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'style elements already mounted') : invariant(false) : void 0;\n const always = createStyleEl(nonce);\n const dynamic = createStyleEl(nonce);\n alwaysRef.current = always;\n dynamicRef.current = dynamic;\n always.setAttribute(`${prefix}-always`, contextId);\n dynamic.setAttribute(`${prefix}-dynamic`, contextId);\n getHead().appendChild(always);\n getHead().appendChild(dynamic);\n setAlwaysStyle(styles.always);\n setDynamicStyle(styles.resting);\n return () => {\n const remove = ref => {\n const current = ref.current;\n !current ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot unmount ref as it is not set') : invariant(false) : void 0;\n getHead().removeChild(current);\n ref.current = null;\n };\n remove(alwaysRef);\n remove(dynamicRef);\n };\n }, [nonce, setAlwaysStyle, setDynamicStyle, styles.always, styles.resting, contextId]);\n const dragging = useCallback(() => setDynamicStyle(styles.dragging), [setDynamicStyle, styles.dragging]);\n const dropping = useCallback(reason => {\n if (reason === 'DROP') {\n setDynamicStyle(styles.dropAnimating);\n return;\n }\n setDynamicStyle(styles.userCancel);\n }, [setDynamicStyle, styles.dropAnimating, styles.userCancel]);\n const resting = useCallback(() => {\n if (!dynamicRef.current) {\n return;\n }\n setDynamicStyle(styles.resting);\n }, [setDynamicStyle, styles.resting]);\n const marshal = useMemo(() => ({\n dragging,\n dropping,\n resting\n }), [dragging, dropping, resting]);\n return marshal;\n}\n\nfunction querySelectorAll(parentNode, selector) {\n return Array.from(parentNode.querySelectorAll(selector));\n}\n\nvar getWindowFromEl = (el => el?.ownerDocument?.defaultView || window);\n\nfunction isHtmlElement(el) {\n return el instanceof getWindowFromEl(el).HTMLElement;\n}\n\nfunction findDragHandle(contextId, draggableId) {\n const selector = `[${dragHandle.contextId}=\"${contextId}\"]`;\n const possible = querySelectorAll(document, selector);\n if (!possible.length) {\n process.env.NODE_ENV !== \"production\" ? warning(`Unable to find any drag handles in the context \"${contextId}\"`) : void 0;\n return null;\n }\n const handle = possible.find(el => {\n return el.getAttribute(dragHandle.draggableId) === draggableId;\n });\n if (!handle) {\n process.env.NODE_ENV !== \"production\" ? warning(`Unable to find drag handle with id \"${draggableId}\" as no handle with a matching id was found`) : void 0;\n return null;\n }\n if (!isHtmlElement(handle)) {\n process.env.NODE_ENV !== \"production\" ? warning('drag handle needs to be a HTMLElement') : void 0;\n return null;\n }\n return handle;\n}\n\nfunction useFocusMarshal(contextId) {\n const entriesRef = useRef({});\n const recordRef = useRef(null);\n const restoreFocusFrameRef = useRef(null);\n const isMountedRef = useRef(false);\n const register = useCallback(function register(id, focus) {\n const entry = {\n id,\n focus\n };\n entriesRef.current[id] = entry;\n return function unregister() {\n const entries = entriesRef.current;\n const current = entries[id];\n if (current !== entry) {\n delete entries[id];\n }\n };\n }, []);\n const tryGiveFocus = useCallback(function tryGiveFocus(tryGiveFocusTo) {\n const handle = findDragHandle(contextId, tryGiveFocusTo);\n if (handle && handle !== document.activeElement) {\n handle.focus();\n }\n }, [contextId]);\n const tryShiftRecord = useCallback(function tryShiftRecord(previous, redirectTo) {\n if (recordRef.current === previous) {\n recordRef.current = redirectTo;\n }\n }, []);\n const tryRestoreFocusRecorded = useCallback(function tryRestoreFocusRecorded() {\n if (restoreFocusFrameRef.current) {\n return;\n }\n if (!isMountedRef.current) {\n return;\n }\n restoreFocusFrameRef.current = requestAnimationFrame(() => {\n restoreFocusFrameRef.current = null;\n const record = recordRef.current;\n if (record) {\n tryGiveFocus(record);\n }\n });\n }, [tryGiveFocus]);\n const tryRecordFocus = useCallback(function tryRecordFocus(id) {\n recordRef.current = null;\n const focused = document.activeElement;\n if (!focused) {\n return;\n }\n if (focused.getAttribute(dragHandle.draggableId) !== id) {\n return;\n }\n recordRef.current = id;\n }, []);\n useLayoutEffect(() => {\n isMountedRef.current = true;\n return function clearFrameOnUnmount() {\n isMountedRef.current = false;\n const frameId = restoreFocusFrameRef.current;\n if (frameId) {\n cancelAnimationFrame(frameId);\n }\n };\n }, []);\n const marshal = useMemo(() => ({\n register,\n tryRecordFocus,\n tryRestoreFocusRecorded,\n tryShiftRecord\n }), [register, tryRecordFocus, tryRestoreFocusRecorded, tryShiftRecord]);\n return marshal;\n}\n\nfunction createRegistry() {\n const entries = {\n draggables: {},\n droppables: {}\n };\n const subscribers = [];\n function subscribe(cb) {\n subscribers.push(cb);\n return function unsubscribe() {\n const index = subscribers.indexOf(cb);\n if (index === -1) {\n return;\n }\n subscribers.splice(index, 1);\n };\n }\n function notify(event) {\n if (subscribers.length) {\n subscribers.forEach(cb => cb(event));\n }\n }\n function findDraggableById(id) {\n return entries.draggables[id] || null;\n }\n function getDraggableById(id) {\n const entry = findDraggableById(id);\n !entry ? process.env.NODE_ENV !== \"production\" ? invariant(false, `Cannot find draggable entry with id [${id}]`) : invariant(false) : void 0;\n return entry;\n }\n const draggableAPI = {\n register: entry => {\n entries.draggables[entry.descriptor.id] = entry;\n notify({\n type: 'ADDITION',\n value: entry\n });\n },\n update: (entry, last) => {\n const current = entries.draggables[last.descriptor.id];\n if (!current) {\n return;\n }\n if (current.uniqueId !== entry.uniqueId) {\n return;\n }\n delete entries.draggables[last.descriptor.id];\n entries.draggables[entry.descriptor.id] = entry;\n },\n unregister: entry => {\n const draggableId = entry.descriptor.id;\n const current = findDraggableById(draggableId);\n if (!current) {\n return;\n }\n if (entry.uniqueId !== current.uniqueId) {\n return;\n }\n delete entries.draggables[draggableId];\n if (entries.droppables[entry.descriptor.droppableId]) {\n notify({\n type: 'REMOVAL',\n value: entry\n });\n }\n },\n getById: getDraggableById,\n findById: findDraggableById,\n exists: id => Boolean(findDraggableById(id)),\n getAllByType: type => Object.values(entries.draggables).filter(entry => entry.descriptor.type === type)\n };\n function findDroppableById(id) {\n return entries.droppables[id] || null;\n }\n function getDroppableById(id) {\n const entry = findDroppableById(id);\n !entry ? process.env.NODE_ENV !== \"production\" ? invariant(false, `Cannot find droppable entry with id [${id}]`) : invariant(false) : void 0;\n return entry;\n }\n const droppableAPI = {\n register: entry => {\n entries.droppables[entry.descriptor.id] = entry;\n },\n unregister: entry => {\n const current = findDroppableById(entry.descriptor.id);\n if (!current) {\n return;\n }\n if (entry.uniqueId !== current.uniqueId) {\n return;\n }\n delete entries.droppables[entry.descriptor.id];\n },\n getById: getDroppableById,\n findById: findDroppableById,\n exists: id => Boolean(findDroppableById(id)),\n getAllByType: type => Object.values(entries.droppables).filter(entry => entry.descriptor.type === type)\n };\n function clean() {\n entries.draggables = {};\n entries.droppables = {};\n subscribers.length = 0;\n }\n return {\n draggable: draggableAPI,\n droppable: droppableAPI,\n subscribe,\n clean\n };\n}\n\nfunction useRegistry() {\n const registry = useMemo(createRegistry, []);\n useEffect(() => {\n return function unmount() {\n if (React.version.startsWith('16') || React.version.startsWith('17')) {\n requestAnimationFrame(registry.clean);\n } else {\n registry.clean();\n }\n };\n }, [registry]);\n return registry;\n}\n\nvar StoreContext = React.createContext(null);\n\nvar getBodyElement = (() => {\n const body = document.body;\n !body ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot find document.body') : invariant(false) : void 0;\n return body;\n});\n\nconst visuallyHidden = {\n position: 'absolute',\n width: '1px',\n height: '1px',\n margin: '-1px',\n border: '0',\n padding: '0',\n overflow: 'hidden',\n clip: 'rect(0 0 0 0)',\n 'clip-path': 'inset(100%)'\n};\nvar visuallyHidden$1 = visuallyHidden;\n\nconst getId = contextId => `rfd-announcement-${contextId}`;\nfunction useAnnouncer(contextId) {\n const id = useMemo(() => getId(contextId), [contextId]);\n const ref = useRef(null);\n useEffect(function setup() {\n const el = document.createElement('div');\n ref.current = el;\n el.id = id;\n el.setAttribute('aria-live', 'assertive');\n el.setAttribute('aria-atomic', 'true');\n _extends(el.style, visuallyHidden$1);\n getBodyElement().appendChild(el);\n return function cleanup() {\n setTimeout(function remove() {\n const body = getBodyElement();\n if (body.contains(el)) {\n body.removeChild(el);\n }\n if (el === ref.current) {\n ref.current = null;\n }\n });\n };\n }, [id]);\n const announce = useCallback(message => {\n const el = ref.current;\n if (el) {\n el.textContent = message;\n return;\n }\n process.env.NODE_ENV !== \"production\" ? warning(`\n A screen reader message was trying to be announced but it was unable to do so.\n This can occur if you unmount your in your onDragEnd.\n Consider calling provided.announce() before the unmount so that the instruction will\n not be lost for users relying on a screen reader.\n\n Message not passed to screen reader:\n\n \"${message}\"\n `) : void 0;\n }, []);\n return announce;\n}\n\nlet count$1 = 0;\nconst defaults = {\n separator: '::'\n};\nfunction resetDeprecatedUniqueId() {\n count$1 = 0;\n}\nfunction useDeprecatedUniqueId(prefix, options) {\n if (options === void 0) {\n options = defaults;\n }\n return useMemo(() => `${prefix}${options.separator}${count$1++}`, [options.separator, prefix]);\n}\nfunction useUniqueId(prefix, options) {\n if (options === void 0) {\n options = defaults;\n }\n const id = React.useId();\n return useMemo(() => `${prefix}${options.separator}${id}`, [options.separator, prefix, id]);\n}\nvar useUniqueId$1 = 'useId' in React ? useUniqueId : useDeprecatedUniqueId;\n\nfunction getElementId(_ref) {\n let {\n contextId,\n uniqueId\n } = _ref;\n return `rfd-hidden-text-${contextId}-${uniqueId}`;\n}\nfunction useHiddenTextElement(_ref2) {\n let {\n contextId,\n text\n } = _ref2;\n const uniqueId = useUniqueId$1('hidden-text', {\n separator: '-'\n });\n const id = useMemo(() => getElementId({\n contextId,\n uniqueId\n }), [uniqueId, contextId]);\n useEffect(function mount() {\n const el = document.createElement('div');\n el.id = id;\n el.textContent = text;\n el.style.display = 'none';\n getBodyElement().appendChild(el);\n return function unmount() {\n const body = getBodyElement();\n if (body.contains(el)) {\n body.removeChild(el);\n }\n };\n }, [id, text]);\n return id;\n}\n\nvar AppContext = React.createContext(null);\n\nvar peerDependencies = {\n\treact: \"^16.8.5 || ^17.0.0 || ^18.0.0\",\n\t\"react-dom\": \"^16.8.5 || ^17.0.0 || ^18.0.0\"\n};\n\nconst semver = /(\\d+)\\.(\\d+)\\.(\\d+)/;\nconst getVersion = value => {\n const result = semver.exec(value);\n !(result != null) ? process.env.NODE_ENV !== \"production\" ? invariant(false, `Unable to parse React version ${value}`) : invariant(false) : void 0;\n const major = Number(result[1]);\n const minor = Number(result[2]);\n const patch = Number(result[3]);\n return {\n major,\n minor,\n patch,\n raw: value\n };\n};\nconst isSatisfied = (expected, actual) => {\n if (actual.major > expected.major) {\n return true;\n }\n if (actual.major < expected.major) {\n return false;\n }\n if (actual.minor > expected.minor) {\n return true;\n }\n if (actual.minor < expected.minor) {\n return false;\n }\n return actual.patch >= expected.patch;\n};\nvar checkReactVersion = ((peerDepValue, actualValue) => {\n const peerDep = getVersion(peerDepValue);\n const actual = getVersion(actualValue);\n if (isSatisfied(peerDep, actual)) {\n return;\n }\n process.env.NODE_ENV !== \"production\" ? warning(`\n React version: [${actual.raw}]\n does not satisfy expected peer dependency version: [${peerDep.raw}]\n\n This can result in run time bugs, and even fatal crashes\n `) : void 0;\n});\n\nconst suffix = `\n We expect a html5 doctype: \n This is to ensure consistent browser layout and measurement\n\n More information: https://github.com/hello-pangea/dnd/blob/main/docs/guides/doctype.md\n`;\nvar checkDoctype = (doc => {\n const doctype = doc.doctype;\n if (!doctype) {\n process.env.NODE_ENV !== \"production\" ? warning(`\n No found.\n\n ${suffix}\n `) : void 0;\n return;\n }\n if (doctype.name.toLowerCase() !== 'html') {\n process.env.NODE_ENV !== \"production\" ? warning(`\n Unexpected found: (${doctype.name})\n\n ${suffix}\n `) : void 0;\n }\n if (doctype.publicId !== '') {\n process.env.NODE_ENV !== \"production\" ? warning(`\n Unexpected publicId found: (${doctype.publicId})\n A html5 doctype does not have a publicId\n\n ${suffix}\n `) : void 0;\n }\n});\n\nfunction useDev(useHook) {\n if (process.env.NODE_ENV !== 'production') {\n useHook();\n }\n}\n\nfunction useDevSetupWarning(fn, inputs) {\n useDev(() => {\n useEffect(() => {\n try {\n fn();\n } catch (e) {\n error(`\n A setup problem was encountered.\n\n > ${e.message}\n `);\n }\n }, inputs);\n });\n}\n\nfunction useStartupValidation() {\n useDevSetupWarning(() => {\n checkReactVersion(peerDependencies.react, React.version);\n checkDoctype(document);\n }, []);\n}\n\nfunction usePrevious(current) {\n const ref = useRef(current);\n useEffect(() => {\n ref.current = current;\n });\n return ref;\n}\n\nfunction create() {\n let lock = null;\n function isClaimed() {\n return Boolean(lock);\n }\n function isActive(value) {\n return value === lock;\n }\n function claim(abandon) {\n !!lock ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot claim lock as it is already claimed') : invariant(false) : void 0;\n const newLock = {\n abandon\n };\n lock = newLock;\n return newLock;\n }\n function release() {\n !lock ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot release lock when there is no lock') : invariant(false) : void 0;\n lock = null;\n }\n function tryAbandon() {\n if (lock) {\n lock.abandon();\n release();\n }\n }\n return {\n isClaimed,\n isActive,\n claim,\n release,\n tryAbandon\n };\n}\n\nfunction isDragging(state) {\n if (state.phase === 'IDLE' || state.phase === 'DROP_ANIMATING') {\n return false;\n }\n return state.isDragging;\n}\n\nconst tab = 9;\nconst enter = 13;\nconst escape = 27;\nconst space = 32;\nconst pageUp = 33;\nconst pageDown = 34;\nconst end = 35;\nconst home = 36;\nconst arrowLeft = 37;\nconst arrowUp = 38;\nconst arrowRight = 39;\nconst arrowDown = 40;\n\nconst preventedKeys = {\n [enter]: true,\n [tab]: true\n};\nvar preventStandardKeyEvents = (event => {\n if (preventedKeys[event.keyCode]) {\n event.preventDefault();\n }\n});\n\nconst supportedEventName = (() => {\n const base = 'visibilitychange';\n if (typeof document === 'undefined') {\n return base;\n }\n const candidates = [base, `ms${base}`, `webkit${base}`, `moz${base}`, `o${base}`];\n const supported = candidates.find(eventName => `on${eventName}` in document);\n return supported || base;\n})();\nvar supportedPageVisibilityEventName = supportedEventName;\n\nconst primaryButton = 0;\nconst sloppyClickThreshold = 5;\nfunction isSloppyClickThresholdExceeded(original, current) {\n return Math.abs(current.x - original.x) >= sloppyClickThreshold || Math.abs(current.y - original.y) >= sloppyClickThreshold;\n}\nconst idle$1 = {\n type: 'IDLE'\n};\nfunction getCaptureBindings(_ref) {\n let {\n cancel,\n completed,\n getPhase,\n setPhase\n } = _ref;\n return [{\n eventName: 'mousemove',\n fn: event => {\n const {\n button,\n clientX,\n clientY\n } = event;\n if (button !== primaryButton) {\n return;\n }\n const point = {\n x: clientX,\n y: clientY\n };\n const phase = getPhase();\n if (phase.type === 'DRAGGING') {\n event.preventDefault();\n phase.actions.move(point);\n return;\n }\n !(phase.type === 'PENDING') ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot be IDLE') : invariant(false) : void 0;\n const pending = phase.point;\n if (!isSloppyClickThresholdExceeded(pending, point)) {\n return;\n }\n event.preventDefault();\n const actions = phase.actions.fluidLift(point);\n setPhase({\n type: 'DRAGGING',\n actions\n });\n }\n }, {\n eventName: 'mouseup',\n fn: event => {\n const phase = getPhase();\n if (phase.type !== 'DRAGGING') {\n cancel();\n return;\n }\n event.preventDefault();\n phase.actions.drop({\n shouldBlockNextClick: true\n });\n completed();\n }\n }, {\n eventName: 'mousedown',\n fn: event => {\n if (getPhase().type === 'DRAGGING') {\n event.preventDefault();\n }\n cancel();\n }\n }, {\n eventName: 'keydown',\n fn: event => {\n const phase = getPhase();\n if (phase.type === 'PENDING') {\n cancel();\n return;\n }\n if (event.keyCode === escape) {\n event.preventDefault();\n cancel();\n return;\n }\n preventStandardKeyEvents(event);\n }\n }, {\n eventName: 'resize',\n fn: cancel\n }, {\n eventName: 'scroll',\n options: {\n passive: true,\n capture: false\n },\n fn: () => {\n if (getPhase().type === 'PENDING') {\n cancel();\n }\n }\n }, {\n eventName: 'webkitmouseforcedown',\n fn: event => {\n const phase = getPhase();\n !(phase.type !== 'IDLE') ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Unexpected phase') : invariant(false) : void 0;\n if (phase.actions.shouldRespectForcePress()) {\n cancel();\n return;\n }\n event.preventDefault();\n }\n }, {\n eventName: supportedPageVisibilityEventName,\n fn: cancel\n }];\n}\nfunction useMouseSensor(api) {\n const phaseRef = useRef(idle$1);\n const unbindEventsRef = useRef(noop$2);\n const startCaptureBinding = useMemo(() => ({\n eventName: 'mousedown',\n fn: function onMouseDown(event) {\n if (event.defaultPrevented) {\n return;\n }\n if (event.button !== primaryButton) {\n return;\n }\n if (event.ctrlKey || event.metaKey || event.shiftKey || event.altKey) {\n return;\n }\n const draggableId = api.findClosestDraggableId(event);\n if (!draggableId) {\n return;\n }\n const actions = api.tryGetLock(draggableId, stop, {\n sourceEvent: event\n });\n if (!actions) {\n return;\n }\n event.preventDefault();\n const point = {\n x: event.clientX,\n y: event.clientY\n };\n unbindEventsRef.current();\n startPendingDrag(actions, point);\n }\n }), [api]);\n const preventForcePressBinding = useMemo(() => ({\n eventName: 'webkitmouseforcewillbegin',\n fn: event => {\n if (event.defaultPrevented) {\n return;\n }\n const id = api.findClosestDraggableId(event);\n if (!id) {\n return;\n }\n const options = api.findOptionsForDraggable(id);\n if (!options) {\n return;\n }\n if (options.shouldRespectForcePress) {\n return;\n }\n if (!api.canGetLock(id)) {\n return;\n }\n event.preventDefault();\n }\n }), [api]);\n const listenForCapture = useCallback(function listenForCapture() {\n const options = {\n passive: false,\n capture: true\n };\n unbindEventsRef.current = bindEvents(window, [preventForcePressBinding, startCaptureBinding], options);\n }, [preventForcePressBinding, startCaptureBinding]);\n const stop = useCallback(() => {\n const current = phaseRef.current;\n if (current.type === 'IDLE') {\n return;\n }\n phaseRef.current = idle$1;\n unbindEventsRef.current();\n listenForCapture();\n }, [listenForCapture]);\n const cancel = useCallback(() => {\n const phase = phaseRef.current;\n stop();\n if (phase.type === 'DRAGGING') {\n phase.actions.cancel({\n shouldBlockNextClick: true\n });\n }\n if (phase.type === 'PENDING') {\n phase.actions.abort();\n }\n }, [stop]);\n const bindCapturingEvents = useCallback(function bindCapturingEvents() {\n const options = {\n capture: true,\n passive: false\n };\n const bindings = getCaptureBindings({\n cancel,\n completed: stop,\n getPhase: () => phaseRef.current,\n setPhase: phase => {\n phaseRef.current = phase;\n }\n });\n unbindEventsRef.current = bindEvents(window, bindings, options);\n }, [cancel, stop]);\n const startPendingDrag = useCallback(function startPendingDrag(actions, point) {\n !(phaseRef.current.type === 'IDLE') ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Expected to move from IDLE to PENDING drag') : invariant(false) : void 0;\n phaseRef.current = {\n type: 'PENDING',\n point,\n actions\n };\n bindCapturingEvents();\n }, [bindCapturingEvents]);\n useLayoutEffect(function mount() {\n listenForCapture();\n return function unmount() {\n unbindEventsRef.current();\n };\n }, [listenForCapture]);\n}\n\nfunction noop$1() {}\nconst scrollJumpKeys = {\n [pageDown]: true,\n [pageUp]: true,\n [home]: true,\n [end]: true\n};\nfunction getDraggingBindings(actions, stop) {\n function cancel() {\n stop();\n actions.cancel();\n }\n function drop() {\n stop();\n actions.drop();\n }\n return [{\n eventName: 'keydown',\n fn: event => {\n if (event.keyCode === escape) {\n event.preventDefault();\n cancel();\n return;\n }\n if (event.keyCode === space) {\n event.preventDefault();\n drop();\n return;\n }\n if (event.keyCode === arrowDown) {\n event.preventDefault();\n actions.moveDown();\n return;\n }\n if (event.keyCode === arrowUp) {\n event.preventDefault();\n actions.moveUp();\n return;\n }\n if (event.keyCode === arrowRight) {\n event.preventDefault();\n actions.moveRight();\n return;\n }\n if (event.keyCode === arrowLeft) {\n event.preventDefault();\n actions.moveLeft();\n return;\n }\n if (scrollJumpKeys[event.keyCode]) {\n event.preventDefault();\n return;\n }\n preventStandardKeyEvents(event);\n }\n }, {\n eventName: 'mousedown',\n fn: cancel\n }, {\n eventName: 'mouseup',\n fn: cancel\n }, {\n eventName: 'click',\n fn: cancel\n }, {\n eventName: 'touchstart',\n fn: cancel\n }, {\n eventName: 'resize',\n fn: cancel\n }, {\n eventName: 'wheel',\n fn: cancel,\n options: {\n passive: true\n }\n }, {\n eventName: supportedPageVisibilityEventName,\n fn: cancel\n }];\n}\nfunction useKeyboardSensor(api) {\n const unbindEventsRef = useRef(noop$1);\n const startCaptureBinding = useMemo(() => ({\n eventName: 'keydown',\n fn: function onKeyDown(event) {\n if (event.defaultPrevented) {\n return;\n }\n if (event.keyCode !== space) {\n return;\n }\n const draggableId = api.findClosestDraggableId(event);\n if (!draggableId) {\n return;\n }\n const preDrag = api.tryGetLock(draggableId, stop, {\n sourceEvent: event\n });\n if (!preDrag) {\n return;\n }\n event.preventDefault();\n let isCapturing = true;\n const actions = preDrag.snapLift();\n unbindEventsRef.current();\n function stop() {\n !isCapturing ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot stop capturing a keyboard drag when not capturing') : invariant(false) : void 0;\n isCapturing = false;\n unbindEventsRef.current();\n listenForCapture();\n }\n unbindEventsRef.current = bindEvents(window, getDraggingBindings(actions, stop), {\n capture: true,\n passive: false\n });\n }\n }), [api]);\n const listenForCapture = useCallback(function tryStartCapture() {\n const options = {\n passive: false,\n capture: true\n };\n unbindEventsRef.current = bindEvents(window, [startCaptureBinding], options);\n }, [startCaptureBinding]);\n useLayoutEffect(function mount() {\n listenForCapture();\n return function unmount() {\n unbindEventsRef.current();\n };\n }, [listenForCapture]);\n}\n\nconst idle = {\n type: 'IDLE'\n};\nconst timeForLongPress = 120;\nconst forcePressThreshold = 0.15;\nfunction getWindowBindings(_ref) {\n let {\n cancel,\n getPhase\n } = _ref;\n return [{\n eventName: 'orientationchange',\n fn: cancel\n }, {\n eventName: 'resize',\n fn: cancel\n }, {\n eventName: 'contextmenu',\n fn: event => {\n event.preventDefault();\n }\n }, {\n eventName: 'keydown',\n fn: event => {\n if (getPhase().type !== 'DRAGGING') {\n cancel();\n return;\n }\n if (event.keyCode === escape) {\n event.preventDefault();\n }\n cancel();\n }\n }, {\n eventName: supportedPageVisibilityEventName,\n fn: cancel\n }];\n}\nfunction getHandleBindings(_ref2) {\n let {\n cancel,\n completed,\n getPhase\n } = _ref2;\n return [{\n eventName: 'touchmove',\n options: {\n capture: false\n },\n fn: event => {\n const phase = getPhase();\n if (phase.type !== 'DRAGGING') {\n cancel();\n return;\n }\n phase.hasMoved = true;\n const {\n clientX,\n clientY\n } = event.touches[0];\n const point = {\n x: clientX,\n y: clientY\n };\n event.preventDefault();\n phase.actions.move(point);\n }\n }, {\n eventName: 'touchend',\n fn: event => {\n const phase = getPhase();\n if (phase.type !== 'DRAGGING') {\n cancel();\n return;\n }\n event.preventDefault();\n phase.actions.drop({\n shouldBlockNextClick: true\n });\n completed();\n }\n }, {\n eventName: 'touchcancel',\n fn: event => {\n if (getPhase().type !== 'DRAGGING') {\n cancel();\n return;\n }\n event.preventDefault();\n cancel();\n }\n }, {\n eventName: 'touchforcechange',\n fn: event => {\n const phase = getPhase();\n !(phase.type !== 'IDLE') ? process.env.NODE_ENV !== \"production\" ? invariant(false) : invariant(false) : void 0;\n const touch = event.touches[0];\n if (!touch) {\n return;\n }\n const isForcePress = touch.force >= forcePressThreshold;\n if (!isForcePress) {\n return;\n }\n const shouldRespect = phase.actions.shouldRespectForcePress();\n if (phase.type === 'PENDING') {\n if (shouldRespect) {\n cancel();\n }\n return;\n }\n if (shouldRespect) {\n if (phase.hasMoved) {\n event.preventDefault();\n return;\n }\n cancel();\n return;\n }\n event.preventDefault();\n }\n }, {\n eventName: supportedPageVisibilityEventName,\n fn: cancel\n }];\n}\nfunction useTouchSensor(api) {\n const phaseRef = useRef(idle);\n const unbindEventsRef = useRef(noop$2);\n const getPhase = useCallback(function getPhase() {\n return phaseRef.current;\n }, []);\n const setPhase = useCallback(function setPhase(phase) {\n phaseRef.current = phase;\n }, []);\n const startCaptureBinding = useMemo(() => ({\n eventName: 'touchstart',\n fn: function onTouchStart(event) {\n if (event.defaultPrevented) {\n return;\n }\n const draggableId = api.findClosestDraggableId(event);\n if (!draggableId) {\n return;\n }\n const actions = api.tryGetLock(draggableId, stop, {\n sourceEvent: event\n });\n if (!actions) {\n return;\n }\n const touch = event.touches[0];\n const {\n clientX,\n clientY\n } = touch;\n const point = {\n x: clientX,\n y: clientY\n };\n unbindEventsRef.current();\n startPendingDrag(actions, point);\n }\n }), [api]);\n const listenForCapture = useCallback(function listenForCapture() {\n const options = {\n capture: true,\n passive: false\n };\n unbindEventsRef.current = bindEvents(window, [startCaptureBinding], options);\n }, [startCaptureBinding]);\n const stop = useCallback(() => {\n const current = phaseRef.current;\n if (current.type === 'IDLE') {\n return;\n }\n if (current.type === 'PENDING') {\n clearTimeout(current.longPressTimerId);\n }\n setPhase(idle);\n unbindEventsRef.current();\n listenForCapture();\n }, [listenForCapture, setPhase]);\n const cancel = useCallback(() => {\n const phase = phaseRef.current;\n stop();\n if (phase.type === 'DRAGGING') {\n phase.actions.cancel({\n shouldBlockNextClick: true\n });\n }\n if (phase.type === 'PENDING') {\n phase.actions.abort();\n }\n }, [stop]);\n const bindCapturingEvents = useCallback(function bindCapturingEvents() {\n const options = {\n capture: true,\n passive: false\n };\n const args = {\n cancel,\n completed: stop,\n getPhase\n };\n const unbindTarget = bindEvents(window, getHandleBindings(args), options);\n const unbindWindow = bindEvents(window, getWindowBindings(args), options);\n unbindEventsRef.current = function unbindAll() {\n unbindTarget();\n unbindWindow();\n };\n }, [cancel, getPhase, stop]);\n const startDragging = useCallback(function startDragging() {\n const phase = getPhase();\n !(phase.type === 'PENDING') ? process.env.NODE_ENV !== \"production\" ? invariant(false, `Cannot start dragging from phase ${phase.type}`) : invariant(false) : void 0;\n const actions = phase.actions.fluidLift(phase.point);\n setPhase({\n type: 'DRAGGING',\n actions,\n hasMoved: false\n });\n }, [getPhase, setPhase]);\n const startPendingDrag = useCallback(function startPendingDrag(actions, point) {\n !(getPhase().type === 'IDLE') ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Expected to move from IDLE to PENDING drag') : invariant(false) : void 0;\n const longPressTimerId = setTimeout(startDragging, timeForLongPress);\n setPhase({\n type: 'PENDING',\n point,\n actions,\n longPressTimerId\n });\n bindCapturingEvents();\n }, [bindCapturingEvents, getPhase, setPhase, startDragging]);\n useLayoutEffect(function mount() {\n listenForCapture();\n return function unmount() {\n unbindEventsRef.current();\n const phase = getPhase();\n if (phase.type === 'PENDING') {\n clearTimeout(phase.longPressTimerId);\n setPhase(idle);\n }\n };\n }, [getPhase, listenForCapture, setPhase]);\n useLayoutEffect(function webkitHack() {\n const unbind = bindEvents(window, [{\n eventName: 'touchmove',\n fn: () => {},\n options: {\n capture: false,\n passive: false\n }\n }]);\n return unbind;\n }, []);\n}\n\nfunction useValidateSensorHooks(sensorHooks) {\n useDev(() => {\n const previousRef = usePrevious(sensorHooks);\n useDevSetupWarning(() => {\n !(previousRef.current.length === sensorHooks.length) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot change the amount of sensor hooks after mounting') : invariant(false) : void 0;\n });\n });\n}\n\nconst interactiveTagNames = ['input', 'button', 'textarea', 'select', 'option', 'optgroup', 'video', 'audio'];\nfunction isAnInteractiveElement(parent, current) {\n if (current == null) {\n return false;\n }\n const hasAnInteractiveTag = interactiveTagNames.includes(current.tagName.toLowerCase());\n if (hasAnInteractiveTag) {\n return true;\n }\n const attribute = current.getAttribute('contenteditable');\n if (attribute === 'true' || attribute === '') {\n return true;\n }\n if (current === parent) {\n return false;\n }\n return isAnInteractiveElement(parent, current.parentElement);\n}\nfunction isEventInInteractiveElement(draggable, event) {\n const target = event.target;\n if (!isHtmlElement(target)) {\n return false;\n }\n return isAnInteractiveElement(draggable, target);\n}\n\nvar getBorderBoxCenterPosition = (el => getRect(el.getBoundingClientRect()).center);\n\nfunction isElement(el) {\n return el instanceof getWindowFromEl(el).Element;\n}\n\nconst supportedMatchesName = (() => {\n const base = 'matches';\n if (typeof document === 'undefined') {\n return base;\n }\n const candidates = [base, 'msMatchesSelector', 'webkitMatchesSelector'];\n const value = candidates.find(name => name in Element.prototype);\n return value || base;\n})();\nfunction closestPonyfill(el, selector) {\n if (el == null) {\n return null;\n }\n if (el[supportedMatchesName](selector)) {\n return el;\n }\n return closestPonyfill(el.parentElement, selector);\n}\nfunction closest(el, selector) {\n if (el.closest) {\n return el.closest(selector);\n }\n return closestPonyfill(el, selector);\n}\n\nfunction getSelector(contextId) {\n return `[${dragHandle.contextId}=\"${contextId}\"]`;\n}\nfunction findClosestDragHandleFromEvent(contextId, event) {\n const target = event.target;\n if (!isElement(target)) {\n process.env.NODE_ENV !== \"production\" ? warning('event.target must be a Element') : void 0;\n return null;\n }\n const selector = getSelector(contextId);\n const handle = closest(target, selector);\n if (!handle) {\n return null;\n }\n if (!isHtmlElement(handle)) {\n process.env.NODE_ENV !== \"production\" ? warning('drag handle must be a HTMLElement') : void 0;\n return null;\n }\n return handle;\n}\nfunction tryGetClosestDraggableIdFromEvent(contextId, event) {\n const handle = findClosestDragHandleFromEvent(contextId, event);\n if (!handle) {\n return null;\n }\n return handle.getAttribute(dragHandle.draggableId);\n}\n\nfunction findDraggable(contextId, draggableId) {\n const selector = `[${draggable.contextId}=\"${contextId}\"]`;\n const possible = querySelectorAll(document, selector);\n const draggable$1 = possible.find(el => {\n return el.getAttribute(draggable.id) === draggableId;\n });\n if (!draggable$1) {\n return null;\n }\n if (!isHtmlElement(draggable$1)) {\n process.env.NODE_ENV !== \"production\" ? warning('Draggable element is not a HTMLElement') : void 0;\n return null;\n }\n return draggable$1;\n}\n\nfunction preventDefault(event) {\n event.preventDefault();\n}\nfunction isActive(_ref) {\n let {\n expected,\n phase,\n isLockActive,\n shouldWarn\n } = _ref;\n if (!isLockActive()) {\n if (shouldWarn) {\n process.env.NODE_ENV !== \"production\" ? warning(`\n Cannot perform action.\n The sensor no longer has an action lock.\n\n Tips:\n\n - Throw away your action handlers when forceStop() is called\n - Check actions.isActive() if you really need to\n `) : void 0;\n }\n return false;\n }\n if (expected !== phase) {\n if (shouldWarn) {\n process.env.NODE_ENV !== \"production\" ? warning(`\n Cannot perform action.\n The actions you used belong to an outdated phase\n\n Current phase: ${expected}\n You called an action from outdated phase: ${phase}\n\n Tips:\n\n - Do not use preDragActions actions after calling preDragActions.lift()\n `) : void 0;\n }\n return false;\n }\n return true;\n}\nfunction canStart(_ref2) {\n let {\n lockAPI,\n store,\n registry,\n draggableId\n } = _ref2;\n if (lockAPI.isClaimed()) {\n return false;\n }\n const entry = registry.draggable.findById(draggableId);\n if (!entry) {\n process.env.NODE_ENV !== \"production\" ? warning(`Unable to find draggable with id: ${draggableId}`) : void 0;\n return false;\n }\n if (!entry.options.isEnabled) {\n return false;\n }\n if (!canStartDrag(store.getState(), draggableId)) {\n return false;\n }\n return true;\n}\nfunction tryStart(_ref3) {\n let {\n lockAPI,\n contextId,\n store,\n registry,\n draggableId,\n forceSensorStop,\n sourceEvent\n } = _ref3;\n const shouldStart = canStart({\n lockAPI,\n store,\n registry,\n draggableId\n });\n if (!shouldStart) {\n return null;\n }\n const entry = registry.draggable.getById(draggableId);\n const el = findDraggable(contextId, entry.descriptor.id);\n if (!el) {\n process.env.NODE_ENV !== \"production\" ? warning(`Unable to find draggable element with id: ${draggableId}`) : void 0;\n return null;\n }\n if (sourceEvent && !entry.options.canDragInteractiveElements && isEventInInteractiveElement(el, sourceEvent)) {\n return null;\n }\n const lock = lockAPI.claim(forceSensorStop || noop$2);\n let phase = 'PRE_DRAG';\n function getShouldRespectForcePress() {\n return entry.options.shouldRespectForcePress;\n }\n function isLockActive() {\n return lockAPI.isActive(lock);\n }\n function tryDispatch(expected, getAction) {\n if (isActive({\n expected,\n phase,\n isLockActive,\n shouldWarn: true\n })) {\n store.dispatch(getAction());\n }\n }\n const tryDispatchWhenDragging = tryDispatch.bind(null, 'DRAGGING');\n function lift(args) {\n function completed() {\n lockAPI.release();\n phase = 'COMPLETED';\n }\n if (phase !== 'PRE_DRAG') {\n completed();\n process.env.NODE_ENV !== \"production\" ? invariant(false, `Cannot lift in phase ${phase}`) : invariant(false) ;\n }\n store.dispatch(lift$1(args.liftActionArgs));\n phase = 'DRAGGING';\n function finish(reason, options) {\n if (options === void 0) {\n options = {\n shouldBlockNextClick: false\n };\n }\n args.cleanup();\n if (options.shouldBlockNextClick) {\n const unbind = bindEvents(window, [{\n eventName: 'click',\n fn: preventDefault,\n options: {\n once: true,\n passive: false,\n capture: true\n }\n }]);\n setTimeout(unbind);\n }\n completed();\n store.dispatch(drop$1({\n reason\n }));\n }\n return {\n isActive: () => isActive({\n expected: 'DRAGGING',\n phase,\n isLockActive,\n shouldWarn: false\n }),\n shouldRespectForcePress: getShouldRespectForcePress,\n drop: options => finish('DROP', options),\n cancel: options => finish('CANCEL', options),\n ...args.actions\n };\n }\n function fluidLift(clientSelection) {\n const move$1 = rafSchd(client => {\n tryDispatchWhenDragging(() => move({\n client\n }));\n });\n const api = lift({\n liftActionArgs: {\n id: draggableId,\n clientSelection,\n movementMode: 'FLUID'\n },\n cleanup: () => move$1.cancel(),\n actions: {\n move: move$1\n }\n });\n return {\n ...api,\n move: move$1\n };\n }\n function snapLift() {\n const actions = {\n moveUp: () => tryDispatchWhenDragging(moveUp),\n moveRight: () => tryDispatchWhenDragging(moveRight),\n moveDown: () => tryDispatchWhenDragging(moveDown),\n moveLeft: () => tryDispatchWhenDragging(moveLeft)\n };\n return lift({\n liftActionArgs: {\n id: draggableId,\n clientSelection: getBorderBoxCenterPosition(el),\n movementMode: 'SNAP'\n },\n cleanup: noop$2,\n actions\n });\n }\n function abortPreDrag() {\n const shouldRelease = isActive({\n expected: 'PRE_DRAG',\n phase,\n isLockActive,\n shouldWarn: true\n });\n if (shouldRelease) {\n lockAPI.release();\n }\n }\n const preDrag = {\n isActive: () => isActive({\n expected: 'PRE_DRAG',\n phase,\n isLockActive,\n shouldWarn: false\n }),\n shouldRespectForcePress: getShouldRespectForcePress,\n fluidLift,\n snapLift,\n abort: abortPreDrag\n };\n return preDrag;\n}\nconst defaultSensors = [useMouseSensor, useKeyboardSensor, useTouchSensor];\nfunction useSensorMarshal(_ref4) {\n let {\n contextId,\n store,\n registry,\n customSensors,\n enableDefaultSensors\n } = _ref4;\n const useSensors = [...(enableDefaultSensors ? defaultSensors : []), ...(customSensors || [])];\n const lockAPI = useState(() => create())[0];\n const tryAbandonLock = useCallback(function tryAbandonLock(previous, current) {\n if (isDragging(previous) && !isDragging(current)) {\n lockAPI.tryAbandon();\n }\n }, [lockAPI]);\n useLayoutEffect(function listenToStore() {\n let previous = store.getState();\n const unsubscribe = store.subscribe(() => {\n const current = store.getState();\n tryAbandonLock(previous, current);\n previous = current;\n });\n return unsubscribe;\n }, [lockAPI, store, tryAbandonLock]);\n useLayoutEffect(() => {\n return lockAPI.tryAbandon;\n }, [lockAPI.tryAbandon]);\n const canGetLock = useCallback(draggableId => {\n return canStart({\n lockAPI,\n registry,\n store,\n draggableId\n });\n }, [lockAPI, registry, store]);\n const tryGetLock = useCallback((draggableId, forceStop, options) => tryStart({\n lockAPI,\n registry,\n contextId,\n store,\n draggableId,\n forceSensorStop: forceStop || null,\n sourceEvent: options && options.sourceEvent ? options.sourceEvent : null\n }), [contextId, lockAPI, registry, store]);\n const findClosestDraggableId = useCallback(event => tryGetClosestDraggableIdFromEvent(contextId, event), [contextId]);\n const findOptionsForDraggable = useCallback(id => {\n const entry = registry.draggable.findById(id);\n return entry ? entry.options : null;\n }, [registry.draggable]);\n const tryReleaseLock = useCallback(function tryReleaseLock() {\n if (!lockAPI.isClaimed()) {\n return;\n }\n lockAPI.tryAbandon();\n if (store.getState().phase !== 'IDLE') {\n store.dispatch(flush());\n }\n }, [lockAPI, store]);\n const isLockClaimed = useCallback(() => lockAPI.isClaimed(), [lockAPI]);\n const api = useMemo(() => ({\n canGetLock,\n tryGetLock,\n findClosestDraggableId,\n findOptionsForDraggable,\n tryReleaseLock,\n isLockClaimed\n }), [canGetLock, tryGetLock, findClosestDraggableId, findOptionsForDraggable, tryReleaseLock, isLockClaimed]);\n useValidateSensorHooks(useSensors);\n for (let i = 0; i < useSensors.length; i++) {\n useSensors[i](api);\n }\n}\n\nconst createResponders = props => ({\n onBeforeCapture: t => {\n const onBeforeCapureCallback = () => {\n if (props.onBeforeCapture) {\n props.onBeforeCapture(t);\n }\n };\n if (React.version.startsWith('16') || React.version.startsWith('17')) {\n onBeforeCapureCallback();\n } else {\n flushSync(onBeforeCapureCallback);\n }\n },\n onBeforeDragStart: props.onBeforeDragStart,\n onDragStart: props.onDragStart,\n onDragEnd: props.onDragEnd,\n onDragUpdate: props.onDragUpdate\n});\nconst createAutoScrollerOptions = props => ({\n ...defaultAutoScrollerOptions,\n ...props.autoScrollerOptions,\n durationDampening: {\n ...defaultAutoScrollerOptions.durationDampening,\n ...props.autoScrollerOptions\n }\n});\nfunction getStore(lazyRef) {\n !lazyRef.current ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Could not find store from lazy ref') : invariant(false) : void 0;\n return lazyRef.current;\n}\nfunction App(props) {\n const {\n contextId,\n setCallbacks,\n sensors,\n nonce,\n dragHandleUsageInstructions\n } = props;\n const lazyStoreRef = useRef(null);\n useStartupValidation();\n const lastPropsRef = usePrevious(props);\n const getResponders = useCallback(() => {\n return createResponders(lastPropsRef.current);\n }, [lastPropsRef]);\n const getAutoScrollerOptions = useCallback(() => {\n return createAutoScrollerOptions(lastPropsRef.current);\n }, [lastPropsRef]);\n const announce = useAnnouncer(contextId);\n const dragHandleUsageInstructionsId = useHiddenTextElement({\n contextId,\n text: dragHandleUsageInstructions\n });\n const styleMarshal = useStyleMarshal(contextId, nonce);\n const lazyDispatch = useCallback(action => {\n getStore(lazyStoreRef).dispatch(action);\n }, []);\n const marshalCallbacks = useMemo(() => bindActionCreators({\n publishWhileDragging,\n updateDroppableScroll,\n updateDroppableIsEnabled,\n updateDroppableIsCombineEnabled,\n collectionStarting\n }, lazyDispatch), [lazyDispatch]);\n const registry = useRegistry();\n const dimensionMarshal = useMemo(() => {\n return createDimensionMarshal(registry, marshalCallbacks);\n }, [registry, marshalCallbacks]);\n const autoScroller = useMemo(() => createAutoScroller({\n scrollWindow,\n scrollDroppable: dimensionMarshal.scrollDroppable,\n getAutoScrollerOptions,\n ...bindActionCreators({\n move\n }, lazyDispatch)\n }), [dimensionMarshal.scrollDroppable, lazyDispatch, getAutoScrollerOptions]);\n const focusMarshal = useFocusMarshal(contextId);\n const store = useMemo(() => createStore({\n announce,\n autoScroller,\n dimensionMarshal,\n focusMarshal,\n getResponders,\n styleMarshal\n }), [announce, autoScroller, dimensionMarshal, focusMarshal, getResponders, styleMarshal]);\n if (process.env.NODE_ENV !== 'production') {\n if (lazyStoreRef.current && lazyStoreRef.current !== store) {\n process.env.NODE_ENV !== \"production\" ? warning('unexpected store change') : void 0;\n }\n }\n lazyStoreRef.current = store;\n const tryResetStore = useCallback(() => {\n const current = getStore(lazyStoreRef);\n const state = current.getState();\n if (state.phase !== 'IDLE') {\n current.dispatch(flush());\n }\n }, []);\n const isDragging = useCallback(() => {\n const state = getStore(lazyStoreRef).getState();\n if (state.phase === 'DROP_ANIMATING') {\n return true;\n }\n if (state.phase === 'IDLE') {\n return false;\n }\n return state.isDragging;\n }, []);\n const appCallbacks = useMemo(() => ({\n isDragging,\n tryAbort: tryResetStore\n }), [isDragging, tryResetStore]);\n setCallbacks(appCallbacks);\n const getCanLift = useCallback(id => canStartDrag(getStore(lazyStoreRef).getState(), id), []);\n const getIsMovementAllowed = useCallback(() => isMovementAllowed(getStore(lazyStoreRef).getState()), []);\n const appContext = useMemo(() => ({\n marshal: dimensionMarshal,\n focus: focusMarshal,\n contextId,\n canLift: getCanLift,\n isMovementAllowed: getIsMovementAllowed,\n dragHandleUsageInstructionsId,\n registry\n }), [contextId, dimensionMarshal, dragHandleUsageInstructionsId, focusMarshal, getCanLift, getIsMovementAllowed, registry]);\n useSensorMarshal({\n contextId,\n store,\n registry,\n customSensors: sensors || null,\n enableDefaultSensors: props.enableDefaultSensors !== false\n });\n useEffect(() => {\n return tryResetStore;\n }, [tryResetStore]);\n return React.createElement(AppContext.Provider, {\n value: appContext\n }, React.createElement(Provider, {\n context: StoreContext,\n store: store\n }, props.children));\n}\n\nlet count = 0;\nfunction resetDeprecatedUniqueContextId() {\n count = 0;\n}\nfunction useDeprecatedUniqueContextId() {\n return useMemo(() => `${count++}`, []);\n}\nfunction useUniqueContextId() {\n return React.useId();\n}\nvar useUniqueContextId$1 = 'useId' in React ? useUniqueContextId : useDeprecatedUniqueContextId;\n\nfunction resetServerContext() {\n if ('useId' in React) {\n process.env.NODE_ENV !== \"production\" ? warning(`It is not necessary to call resetServerContext when using React 18+`) : void 0;\n return;\n }\n resetDeprecatedUniqueContextId();\n resetDeprecatedUniqueId();\n}\nfunction DragDropContext(props) {\n const contextId = useUniqueContextId$1();\n const dragHandleUsageInstructions = props.dragHandleUsageInstructions || preset$1.dragHandleUsageInstructions;\n return React.createElement(ErrorBoundary, null, setCallbacks => React.createElement(App, {\n nonce: props.nonce,\n contextId: contextId,\n setCallbacks: setCallbacks,\n dragHandleUsageInstructions: dragHandleUsageInstructions,\n enableDefaultSensors: props.enableDefaultSensors,\n sensors: props.sensors,\n onBeforeCapture: props.onBeforeCapture,\n onBeforeDragStart: props.onBeforeDragStart,\n onDragStart: props.onDragStart,\n onDragUpdate: props.onDragUpdate,\n onDragEnd: props.onDragEnd,\n autoScrollerOptions: props.autoScrollerOptions\n }, props.children));\n}\n\nconst zIndexOptions = {\n dragging: 5000,\n dropAnimating: 4500\n};\nconst getDraggingTransition = (shouldAnimateDragMovement, dropping) => {\n if (dropping) {\n return transitions.drop(dropping.duration);\n }\n if (shouldAnimateDragMovement) {\n return transitions.snap;\n }\n return transitions.fluid;\n};\nconst getDraggingOpacity = (isCombining, isDropAnimating) => {\n if (!isCombining) {\n return undefined;\n }\n return isDropAnimating ? combine.opacity.drop : combine.opacity.combining;\n};\nconst getShouldDraggingAnimate = dragging => {\n if (dragging.forceShouldAnimate != null) {\n return dragging.forceShouldAnimate;\n }\n return dragging.mode === 'SNAP';\n};\nfunction getDraggingStyle(dragging) {\n const dimension = dragging.dimension;\n const box = dimension.client;\n const {\n offset,\n combineWith,\n dropping\n } = dragging;\n const isCombining = Boolean(combineWith);\n const shouldAnimate = getShouldDraggingAnimate(dragging);\n const isDropAnimating = Boolean(dropping);\n const transform = isDropAnimating ? transforms.drop(offset, isCombining) : transforms.moveTo(offset);\n const style = {\n position: 'fixed',\n top: box.marginBox.top,\n left: box.marginBox.left,\n boxSizing: 'border-box',\n width: box.borderBox.width,\n height: box.borderBox.height,\n transition: getDraggingTransition(shouldAnimate, dropping),\n transform,\n opacity: getDraggingOpacity(isCombining, isDropAnimating),\n zIndex: isDropAnimating ? zIndexOptions.dropAnimating : zIndexOptions.dragging,\n pointerEvents: 'none'\n };\n return style;\n}\nfunction getSecondaryStyle(secondary) {\n return {\n transform: transforms.moveTo(secondary.offset),\n transition: secondary.shouldAnimateDisplacement ? undefined : 'none'\n };\n}\nfunction getStyle$1(mapped) {\n return mapped.type === 'DRAGGING' ? getDraggingStyle(mapped) : getSecondaryStyle(mapped);\n}\n\nfunction getDimension$1(descriptor, el, windowScroll) {\n if (windowScroll === void 0) {\n windowScroll = origin;\n }\n const computedStyles = window.getComputedStyle(el);\n const borderBox = el.getBoundingClientRect();\n const client = calculateBox(borderBox, computedStyles);\n const page = withScroll(client, windowScroll);\n const placeholder = {\n client,\n tagName: el.tagName.toLowerCase(),\n display: computedStyles.display\n };\n const displaceBy = {\n x: client.marginBox.width,\n y: client.marginBox.height\n };\n const dimension = {\n descriptor,\n placeholder,\n displaceBy,\n client,\n page\n };\n return dimension;\n}\n\nfunction useDraggablePublisher(args) {\n const uniqueId = useUniqueId$1('draggable');\n const {\n descriptor,\n registry,\n getDraggableRef,\n canDragInteractiveElements,\n shouldRespectForcePress,\n isEnabled\n } = args;\n const options = useMemo(() => ({\n canDragInteractiveElements,\n shouldRespectForcePress,\n isEnabled\n }), [canDragInteractiveElements, isEnabled, shouldRespectForcePress]);\n const getDimension = useCallback(windowScroll => {\n const el = getDraggableRef();\n !el ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot get dimension when no ref is set') : invariant(false) : void 0;\n return getDimension$1(descriptor, el, windowScroll);\n }, [descriptor, getDraggableRef]);\n const entry = useMemo(() => ({\n uniqueId,\n descriptor,\n options,\n getDimension\n }), [descriptor, getDimension, options, uniqueId]);\n const publishedRef = useRef(entry);\n const isFirstPublishRef = useRef(true);\n useLayoutEffect(() => {\n registry.draggable.register(publishedRef.current);\n return () => registry.draggable.unregister(publishedRef.current);\n }, [registry.draggable]);\n useLayoutEffect(() => {\n if (isFirstPublishRef.current) {\n isFirstPublishRef.current = false;\n return;\n }\n const last = publishedRef.current;\n publishedRef.current = entry;\n registry.draggable.update(entry, last);\n }, [entry, registry.draggable]);\n}\n\nvar DroppableContext = React.createContext(null);\n\nfunction checkIsValidInnerRef(el) {\n !(el && isHtmlElement(el)) ? process.env.NODE_ENV !== \"production\" ? invariant(false, `\n provided.innerRef has not been provided with a HTMLElement.\n\n You can find a guide on using the innerRef callback functions at:\n https://github.com/hello-pangea/dnd/blob/main/docs/guides/using-inner-ref.md\n `) : invariant(false) : void 0;\n}\n\nfunction useValidation$1(props, contextId, getRef) {\n useDevSetupWarning(() => {\n function prefix(id) {\n return `Draggable[id: ${id}]: `;\n }\n const id = props.draggableId;\n !id ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Draggable requires a draggableId') : invariant(false) : void 0;\n !(typeof id === 'string') ? process.env.NODE_ENV !== \"production\" ? invariant(false, `Draggable requires a [string] draggableId.\n Provided: [type: ${typeof id}] (value: ${id})`) : invariant(false) : void 0;\n !Number.isInteger(props.index) ? process.env.NODE_ENV !== \"production\" ? invariant(false, `${prefix(id)} requires an integer index prop`) : invariant(false) : void 0;\n if (props.mapped.type === 'DRAGGING') {\n return;\n }\n checkIsValidInnerRef(getRef());\n if (props.isEnabled) {\n !findDragHandle(contextId, id) ? process.env.NODE_ENV !== \"production\" ? invariant(false, `${prefix(id)} Unable to find drag handle`) : invariant(false) : void 0;\n }\n });\n}\nfunction useClonePropValidation(isClone) {\n useDev(() => {\n const initialRef = useRef(isClone);\n useDevSetupWarning(() => {\n !(isClone === initialRef.current) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Draggable isClone prop value changed during component life') : invariant(false) : void 0;\n }, [isClone]);\n });\n}\n\nfunction useRequiredContext(Context) {\n const result = useContext(Context);\n !result ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Could not find required context') : invariant(false) : void 0;\n return result;\n}\n\nfunction preventHtml5Dnd(event) {\n event.preventDefault();\n}\nconst Draggable = props => {\n const ref = useRef(null);\n const setRef = useCallback(function (el) {\n if (el === void 0) {\n el = null;\n }\n ref.current = el;\n }, []);\n const getRef = useCallback(() => ref.current, []);\n const {\n contextId,\n dragHandleUsageInstructionsId,\n registry\n } = useRequiredContext(AppContext);\n const {\n type,\n droppableId\n } = useRequiredContext(DroppableContext);\n const descriptor = useMemo(() => ({\n id: props.draggableId,\n index: props.index,\n type,\n droppableId\n }), [props.draggableId, props.index, type, droppableId]);\n const {\n children,\n draggableId,\n isEnabled,\n shouldRespectForcePress,\n canDragInteractiveElements,\n isClone,\n mapped,\n dropAnimationFinished: dropAnimationFinishedAction\n } = props;\n useValidation$1(props, contextId, getRef);\n useClonePropValidation(isClone);\n if (!isClone) {\n const forPublisher = useMemo(() => ({\n descriptor,\n registry,\n getDraggableRef: getRef,\n canDragInteractiveElements,\n shouldRespectForcePress,\n isEnabled\n }), [descriptor, registry, getRef, canDragInteractiveElements, shouldRespectForcePress, isEnabled]);\n useDraggablePublisher(forPublisher);\n }\n const dragHandleProps = useMemo(() => isEnabled ? {\n tabIndex: 0,\n role: 'button',\n 'aria-describedby': dragHandleUsageInstructionsId,\n 'data-rfd-drag-handle-draggable-id': draggableId,\n 'data-rfd-drag-handle-context-id': contextId,\n draggable: false,\n onDragStart: preventHtml5Dnd\n } : null, [contextId, dragHandleUsageInstructionsId, draggableId, isEnabled]);\n const onMoveEnd = useCallback(event => {\n if (mapped.type !== 'DRAGGING') {\n return;\n }\n if (!mapped.dropping) {\n return;\n }\n if (event.propertyName !== 'transform') {\n return;\n }\n if (React.version.startsWith('16') || React.version.startsWith('17')) {\n dropAnimationFinishedAction();\n } else {\n flushSync(dropAnimationFinishedAction);\n }\n }, [dropAnimationFinishedAction, mapped]);\n const provided = useMemo(() => {\n const style = getStyle$1(mapped);\n const onTransitionEnd = mapped.type === 'DRAGGING' && mapped.dropping ? onMoveEnd : undefined;\n const result = {\n innerRef: setRef,\n draggableProps: {\n 'data-rfd-draggable-context-id': contextId,\n 'data-rfd-draggable-id': draggableId,\n style,\n onTransitionEnd\n },\n dragHandleProps\n };\n return result;\n }, [contextId, dragHandleProps, draggableId, mapped, onMoveEnd, setRef]);\n const rubric = useMemo(() => ({\n draggableId: descriptor.id,\n type: descriptor.type,\n source: {\n index: descriptor.index,\n droppableId: descriptor.droppableId\n }\n }), [descriptor.droppableId, descriptor.id, descriptor.index, descriptor.type]);\n return React.createElement(React.Fragment, null, children(provided, mapped.snapshot, rubric));\n};\nvar Draggable$1 = Draggable;\n\nvar isStrictEqual = ((a, b) => a === b);\n\nvar whatIsDraggedOverFromResult = (result => {\n const {\n combine,\n destination\n } = result;\n if (destination) {\n return destination.droppableId;\n }\n if (combine) {\n return combine.droppableId;\n }\n return null;\n});\n\nconst getCombineWithFromResult = result => {\n return result.combine ? result.combine.draggableId : null;\n};\nconst getCombineWithFromImpact = impact => {\n return impact.at && impact.at.type === 'COMBINE' ? impact.at.combine.draggableId : null;\n};\nfunction getDraggableSelector() {\n const memoizedOffset = memoizeOne((x, y) => ({\n x,\n y\n }));\n const getMemoizedSnapshot = memoizeOne(function (mode, isClone, draggingOver, combineWith, dropping) {\n if (draggingOver === void 0) {\n draggingOver = null;\n }\n if (combineWith === void 0) {\n combineWith = null;\n }\n if (dropping === void 0) {\n dropping = null;\n }\n return {\n isDragging: true,\n isClone,\n isDropAnimating: Boolean(dropping),\n dropAnimation: dropping,\n mode,\n draggingOver,\n combineWith,\n combineTargetFor: null\n };\n });\n const getMemoizedProps = memoizeOne(function (offset, mode, dimension, isClone, draggingOver, combineWith, forceShouldAnimate) {\n if (draggingOver === void 0) {\n draggingOver = null;\n }\n if (combineWith === void 0) {\n combineWith = null;\n }\n if (forceShouldAnimate === void 0) {\n forceShouldAnimate = null;\n }\n return {\n mapped: {\n type: 'DRAGGING',\n dropping: null,\n draggingOver,\n combineWith,\n mode,\n offset,\n dimension,\n forceShouldAnimate,\n snapshot: getMemoizedSnapshot(mode, isClone, draggingOver, combineWith, null)\n }\n };\n });\n const selector = (state, ownProps) => {\n if (isDragging(state)) {\n if (state.critical.draggable.id !== ownProps.draggableId) {\n return null;\n }\n const offset = state.current.client.offset;\n const dimension = state.dimensions.draggables[ownProps.draggableId];\n const draggingOver = whatIsDraggedOver(state.impact);\n const combineWith = getCombineWithFromImpact(state.impact);\n const forceShouldAnimate = state.forceShouldAnimate;\n return getMemoizedProps(memoizedOffset(offset.x, offset.y), state.movementMode, dimension, ownProps.isClone, draggingOver, combineWith, forceShouldAnimate);\n }\n if (state.phase === 'DROP_ANIMATING') {\n const completed = state.completed;\n if (completed.result.draggableId !== ownProps.draggableId) {\n return null;\n }\n const isClone = ownProps.isClone;\n const dimension = state.dimensions.draggables[ownProps.draggableId];\n const result = completed.result;\n const mode = result.mode;\n const draggingOver = whatIsDraggedOverFromResult(result);\n const combineWith = getCombineWithFromResult(result);\n const duration = state.dropDuration;\n const dropping = {\n duration,\n curve: curves.drop,\n moveTo: state.newHomeClientOffset,\n opacity: combineWith ? combine.opacity.drop : null,\n scale: combineWith ? combine.scale.drop : null\n };\n return {\n mapped: {\n type: 'DRAGGING',\n offset: state.newHomeClientOffset,\n dimension,\n dropping,\n draggingOver,\n combineWith,\n mode,\n forceShouldAnimate: null,\n snapshot: getMemoizedSnapshot(mode, isClone, draggingOver, combineWith, dropping)\n }\n };\n }\n return null;\n };\n return selector;\n}\nfunction getSecondarySnapshot(combineTargetFor) {\n if (combineTargetFor === void 0) {\n combineTargetFor = null;\n }\n return {\n isDragging: false,\n isDropAnimating: false,\n isClone: false,\n dropAnimation: null,\n mode: null,\n draggingOver: null,\n combineTargetFor,\n combineWith: null\n };\n}\nconst atRest = {\n mapped: {\n type: 'SECONDARY',\n offset: origin,\n combineTargetFor: null,\n shouldAnimateDisplacement: true,\n snapshot: getSecondarySnapshot(null)\n }\n};\nfunction getSecondarySelector() {\n const memoizedOffset = memoizeOne((x, y) => ({\n x,\n y\n }));\n const getMemoizedSnapshot = memoizeOne(getSecondarySnapshot);\n const getMemoizedProps = memoizeOne(function (offset, combineTargetFor, shouldAnimateDisplacement) {\n if (combineTargetFor === void 0) {\n combineTargetFor = null;\n }\n return {\n mapped: {\n type: 'SECONDARY',\n offset,\n combineTargetFor,\n shouldAnimateDisplacement,\n snapshot: getMemoizedSnapshot(combineTargetFor)\n }\n };\n });\n const getFallback = combineTargetFor => {\n return combineTargetFor ? getMemoizedProps(origin, combineTargetFor, true) : null;\n };\n const getProps = (ownId, draggingId, impact, afterCritical) => {\n const visualDisplacement = impact.displaced.visible[ownId];\n const isAfterCriticalInVirtualList = Boolean(afterCritical.inVirtualList && afterCritical.effected[ownId]);\n const combine = tryGetCombine(impact);\n const combineTargetFor = combine && combine.draggableId === ownId ? draggingId : null;\n if (!visualDisplacement) {\n if (!isAfterCriticalInVirtualList) {\n return getFallback(combineTargetFor);\n }\n if (impact.displaced.invisible[ownId]) {\n return null;\n }\n const change = negate(afterCritical.displacedBy.point);\n const offset = memoizedOffset(change.x, change.y);\n return getMemoizedProps(offset, combineTargetFor, true);\n }\n if (isAfterCriticalInVirtualList) {\n return getFallback(combineTargetFor);\n }\n const displaceBy = impact.displacedBy.point;\n const offset = memoizedOffset(displaceBy.x, displaceBy.y);\n return getMemoizedProps(offset, combineTargetFor, visualDisplacement.shouldAnimate);\n };\n const selector = (state, ownProps) => {\n if (isDragging(state)) {\n if (state.critical.draggable.id === ownProps.draggableId) {\n return null;\n }\n return getProps(ownProps.draggableId, state.critical.draggable.id, state.impact, state.afterCritical);\n }\n if (state.phase === 'DROP_ANIMATING') {\n const completed = state.completed;\n if (completed.result.draggableId === ownProps.draggableId) {\n return null;\n }\n return getProps(ownProps.draggableId, completed.result.draggableId, completed.impact, completed.afterCritical);\n }\n return null;\n };\n return selector;\n}\nconst makeMapStateToProps$1 = () => {\n const draggingSelector = getDraggableSelector();\n const secondarySelector = getSecondarySelector();\n const selector = (state, ownProps) => draggingSelector(state, ownProps) || secondarySelector(state, ownProps) || atRest;\n return selector;\n};\nconst mapDispatchToProps$1 = {\n dropAnimationFinished: dropAnimationFinished\n};\nconst ConnectedDraggable = connect(makeMapStateToProps$1, mapDispatchToProps$1, null, {\n context: StoreContext,\n areStatePropsEqual: isStrictEqual\n})(Draggable$1);\nvar ConnectedDraggable$1 = ConnectedDraggable;\n\nfunction PrivateDraggable(props) {\n const droppableContext = useRequiredContext(DroppableContext);\n const isUsingCloneFor = droppableContext.isUsingCloneFor;\n if (isUsingCloneFor === props.draggableId && !props.isClone) {\n return null;\n }\n return React.createElement(ConnectedDraggable$1, props);\n}\nfunction PublicDraggable(props) {\n const isEnabled = typeof props.isDragDisabled === 'boolean' ? !props.isDragDisabled : true;\n const canDragInteractiveElements = Boolean(props.disableInteractiveElementBlocking);\n const shouldRespectForcePress = Boolean(props.shouldRespectForcePress);\n return React.createElement(PrivateDraggable, _extends({}, props, {\n isClone: false,\n isEnabled: isEnabled,\n canDragInteractiveElements: canDragInteractiveElements,\n shouldRespectForcePress: shouldRespectForcePress\n }));\n}\n\nconst isEqual = base => value => base === value;\nconst isScroll = isEqual('scroll');\nconst isAuto = isEqual('auto');\nconst isVisible = isEqual('visible');\nconst isEither = (overflow, fn) => fn(overflow.overflowX) || fn(overflow.overflowY);\nconst isBoth = (overflow, fn) => fn(overflow.overflowX) && fn(overflow.overflowY);\nconst isElementScrollable = el => {\n const style = window.getComputedStyle(el);\n const overflow = {\n overflowX: style.overflowX,\n overflowY: style.overflowY\n };\n return isEither(overflow, isScroll) || isEither(overflow, isAuto);\n};\nconst isBodyScrollable = () => {\n if (process.env.NODE_ENV === 'production') {\n return false;\n }\n const body = getBodyElement();\n const html = document.documentElement;\n !html ? process.env.NODE_ENV !== \"production\" ? invariant(false) : invariant(false) : void 0;\n if (!isElementScrollable(body)) {\n return false;\n }\n const htmlStyle = window.getComputedStyle(html);\n const htmlOverflow = {\n overflowX: htmlStyle.overflowX,\n overflowY: htmlStyle.overflowY\n };\n if (isBoth(htmlOverflow, isVisible)) {\n return false;\n }\n process.env.NODE_ENV !== \"production\" ? warning(`\n We have detected that your element might be a scroll container.\n We have found no reliable way of detecting whether the element is a scroll container.\n Under most circumstances a scroll bar will be on the element (document.documentElement)\n\n Because we cannot determine if the is a scroll container, and generally it is not one,\n we will be treating the as *not* a scroll container\n\n More information: https://github.com/hello-pangea/dnd/blob/main/docs/guides/how-we-detect-scroll-containers.md\n `) : void 0;\n return false;\n};\nconst getClosestScrollable = el => {\n if (el == null) {\n return null;\n }\n if (el === document.body) {\n return isBodyScrollable() ? el : null;\n }\n if (el === document.documentElement) {\n return null;\n }\n if (!isElementScrollable(el)) {\n return getClosestScrollable(el.parentElement);\n }\n return el;\n};\nvar getClosestScrollable$1 = getClosestScrollable;\n\nvar checkForNestedScrollContainers = (scrollable => {\n if (!scrollable) {\n return;\n }\n const anotherScrollParent = getClosestScrollable$1(scrollable.parentElement);\n if (!anotherScrollParent) {\n return;\n }\n process.env.NODE_ENV !== \"production\" ? warning(`\n Droppable: unsupported nested scroll container detected.\n A Droppable can only have one scroll parent (which can be itself)\n Nested scroll containers are currently not supported.\n\n We hope to support nested scroll containers soon: https://github.com/atlassian/react-beautiful-dnd/issues/131\n `) : void 0;\n});\n\nvar getScroll = (el => ({\n x: el.scrollLeft,\n y: el.scrollTop\n}));\n\nconst getIsFixed = el => {\n if (!el) {\n return false;\n }\n const style = window.getComputedStyle(el);\n if (style.position === 'fixed') {\n return true;\n }\n return getIsFixed(el.parentElement);\n};\nvar getEnv = (start => {\n const closestScrollable = getClosestScrollable$1(start);\n const isFixedOnPage = getIsFixed(start);\n return {\n closestScrollable,\n isFixedOnPage\n };\n});\n\nvar getDroppableDimension = (_ref => {\n let {\n descriptor,\n isEnabled,\n isCombineEnabled,\n isFixedOnPage,\n direction,\n client,\n page,\n closest\n } = _ref;\n const frame = (() => {\n if (!closest) {\n return null;\n }\n const {\n scrollSize,\n client: frameClient\n } = closest;\n const maxScroll = getMaxScroll({\n scrollHeight: scrollSize.scrollHeight,\n scrollWidth: scrollSize.scrollWidth,\n height: frameClient.paddingBox.height,\n width: frameClient.paddingBox.width\n });\n return {\n pageMarginBox: closest.page.marginBox,\n frameClient,\n scrollSize,\n shouldClipSubject: closest.shouldClipSubject,\n scroll: {\n initial: closest.scroll,\n current: closest.scroll,\n max: maxScroll,\n diff: {\n value: origin,\n displacement: origin\n }\n }\n };\n })();\n const axis = direction === 'vertical' ? vertical : horizontal;\n const subject = getSubject({\n page,\n withPlaceholder: null,\n axis,\n frame\n });\n const dimension = {\n descriptor,\n isCombineEnabled,\n isFixedOnPage,\n axis,\n isEnabled,\n client,\n page,\n frame,\n subject\n };\n return dimension;\n});\n\nconst getClient = (targetRef, closestScrollable) => {\n const base = getBox(targetRef);\n if (!closestScrollable) {\n return base;\n }\n if (targetRef !== closestScrollable) {\n return base;\n }\n const top = base.paddingBox.top - closestScrollable.scrollTop;\n const left = base.paddingBox.left - closestScrollable.scrollLeft;\n const bottom = top + closestScrollable.scrollHeight;\n const right = left + closestScrollable.scrollWidth;\n const paddingBox = {\n top,\n right,\n bottom,\n left\n };\n const borderBox = expand(paddingBox, base.border);\n const client = createBox({\n borderBox,\n margin: base.margin,\n border: base.border,\n padding: base.padding\n });\n return client;\n};\nvar getDimension = (_ref => {\n let {\n ref,\n descriptor,\n env,\n windowScroll,\n direction,\n isDropDisabled,\n isCombineEnabled,\n shouldClipSubject\n } = _ref;\n const closestScrollable = env.closestScrollable;\n const client = getClient(ref, closestScrollable);\n const page = withScroll(client, windowScroll);\n const closest = (() => {\n if (!closestScrollable) {\n return null;\n }\n const frameClient = getBox(closestScrollable);\n const scrollSize = {\n scrollHeight: closestScrollable.scrollHeight,\n scrollWidth: closestScrollable.scrollWidth\n };\n return {\n client: frameClient,\n page: withScroll(frameClient, windowScroll),\n scroll: getScroll(closestScrollable),\n scrollSize,\n shouldClipSubject\n };\n })();\n const dimension = getDroppableDimension({\n descriptor,\n isEnabled: !isDropDisabled,\n isCombineEnabled,\n isFixedOnPage: env.isFixedOnPage,\n direction,\n client,\n page,\n closest\n });\n return dimension;\n});\n\nconst immediate = {\n passive: false\n};\nconst delayed = {\n passive: true\n};\nvar getListenerOptions = (options => options.shouldPublishImmediately ? immediate : delayed);\n\nconst getClosestScrollableFromDrag = dragging => dragging && dragging.env.closestScrollable || null;\nfunction useDroppablePublisher(args) {\n const whileDraggingRef = useRef(null);\n const appContext = useRequiredContext(AppContext);\n const uniqueId = useUniqueId$1('droppable');\n const {\n registry,\n marshal\n } = appContext;\n const previousRef = usePrevious(args);\n const descriptor = useMemo(() => ({\n id: args.droppableId,\n type: args.type,\n mode: args.mode\n }), [args.droppableId, args.mode, args.type]);\n const publishedDescriptorRef = useRef(descriptor);\n const memoizedUpdateScroll = useMemo(() => memoizeOne((x, y) => {\n !whileDraggingRef.current ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Can only update scroll when dragging') : invariant(false) : void 0;\n const scroll = {\n x,\n y\n };\n marshal.updateDroppableScroll(descriptor.id, scroll);\n }), [descriptor.id, marshal]);\n const getClosestScroll = useCallback(() => {\n const dragging = whileDraggingRef.current;\n if (!dragging || !dragging.env.closestScrollable) {\n return origin;\n }\n return getScroll(dragging.env.closestScrollable);\n }, []);\n const updateScroll = useCallback(() => {\n const scroll = getClosestScroll();\n memoizedUpdateScroll(scroll.x, scroll.y);\n }, [getClosestScroll, memoizedUpdateScroll]);\n const scheduleScrollUpdate = useMemo(() => rafSchd(updateScroll), [updateScroll]);\n const onClosestScroll = useCallback(() => {\n const dragging = whileDraggingRef.current;\n const closest = getClosestScrollableFromDrag(dragging);\n !(dragging && closest) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Could not find scroll options while scrolling') : invariant(false) : void 0;\n const options = dragging.scrollOptions;\n if (options.shouldPublishImmediately) {\n updateScroll();\n return;\n }\n scheduleScrollUpdate();\n }, [scheduleScrollUpdate, updateScroll]);\n const getDimensionAndWatchScroll = useCallback((windowScroll, options) => {\n !!whileDraggingRef.current ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot collect a droppable while a drag is occurring') : invariant(false) : void 0;\n const previous = previousRef.current;\n const ref = previous.getDroppableRef();\n !ref ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot collect without a droppable ref') : invariant(false) : void 0;\n const env = getEnv(ref);\n const dragging = {\n ref,\n descriptor,\n env,\n scrollOptions: options\n };\n whileDraggingRef.current = dragging;\n const dimension = getDimension({\n ref,\n descriptor,\n env,\n windowScroll,\n direction: previous.direction,\n isDropDisabled: previous.isDropDisabled,\n isCombineEnabled: previous.isCombineEnabled,\n shouldClipSubject: !previous.ignoreContainerClipping\n });\n const scrollable = env.closestScrollable;\n if (scrollable) {\n scrollable.setAttribute(scrollContainer.contextId, appContext.contextId);\n scrollable.addEventListener('scroll', onClosestScroll, getListenerOptions(dragging.scrollOptions));\n if (process.env.NODE_ENV !== 'production') {\n checkForNestedScrollContainers(scrollable);\n }\n }\n return dimension;\n }, [appContext.contextId, descriptor, onClosestScroll, previousRef]);\n const getScrollWhileDragging = useCallback(() => {\n const dragging = whileDraggingRef.current;\n const closest = getClosestScrollableFromDrag(dragging);\n !(dragging && closest) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Can only recollect Droppable client for Droppables that have a scroll container') : invariant(false) : void 0;\n return getScroll(closest);\n }, []);\n const dragStopped = useCallback(() => {\n const dragging = whileDraggingRef.current;\n !dragging ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot stop drag when no active drag') : invariant(false) : void 0;\n const closest = getClosestScrollableFromDrag(dragging);\n whileDraggingRef.current = null;\n if (!closest) {\n return;\n }\n scheduleScrollUpdate.cancel();\n closest.removeAttribute(scrollContainer.contextId);\n closest.removeEventListener('scroll', onClosestScroll, getListenerOptions(dragging.scrollOptions));\n }, [onClosestScroll, scheduleScrollUpdate]);\n const scroll = useCallback(change => {\n const dragging = whileDraggingRef.current;\n !dragging ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot scroll when there is no drag') : invariant(false) : void 0;\n const closest = getClosestScrollableFromDrag(dragging);\n !closest ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot scroll a droppable with no closest scrollable') : invariant(false) : void 0;\n closest.scrollTop += change.y;\n closest.scrollLeft += change.x;\n }, []);\n const callbacks = useMemo(() => {\n return {\n getDimensionAndWatchScroll,\n getScrollWhileDragging,\n dragStopped,\n scroll\n };\n }, [dragStopped, getDimensionAndWatchScroll, getScrollWhileDragging, scroll]);\n const entry = useMemo(() => ({\n uniqueId,\n descriptor,\n callbacks\n }), [callbacks, descriptor, uniqueId]);\n useLayoutEffect(() => {\n publishedDescriptorRef.current = entry.descriptor;\n registry.droppable.register(entry);\n return () => {\n if (whileDraggingRef.current) {\n process.env.NODE_ENV !== \"production\" ? warning('Unsupported: changing the droppableId or type of a Droppable during a drag') : void 0;\n dragStopped();\n }\n registry.droppable.unregister(entry);\n };\n }, [callbacks, descriptor, dragStopped, entry, marshal, registry.droppable]);\n useLayoutEffect(() => {\n if (!whileDraggingRef.current) {\n return;\n }\n marshal.updateDroppableIsEnabled(publishedDescriptorRef.current.id, !args.isDropDisabled);\n }, [args.isDropDisabled, marshal]);\n useLayoutEffect(() => {\n if (!whileDraggingRef.current) {\n return;\n }\n marshal.updateDroppableIsCombineEnabled(publishedDescriptorRef.current.id, args.isCombineEnabled);\n }, [args.isCombineEnabled, marshal]);\n}\n\nfunction noop() {}\nconst empty = {\n width: 0,\n height: 0,\n margin: noSpacing\n};\nconst getSize = _ref => {\n let {\n isAnimatingOpenOnMount,\n placeholder,\n animate\n } = _ref;\n if (isAnimatingOpenOnMount) {\n return empty;\n }\n if (animate === 'close') {\n return empty;\n }\n return {\n height: placeholder.client.borderBox.height,\n width: placeholder.client.borderBox.width,\n margin: placeholder.client.margin\n };\n};\nconst getStyle = _ref2 => {\n let {\n isAnimatingOpenOnMount,\n placeholder,\n animate\n } = _ref2;\n const size = getSize({\n isAnimatingOpenOnMount,\n placeholder,\n animate\n });\n return {\n display: placeholder.display,\n boxSizing: 'border-box',\n width: size.width,\n height: size.height,\n marginTop: size.margin.top,\n marginRight: size.margin.right,\n marginBottom: size.margin.bottom,\n marginLeft: size.margin.left,\n flexShrink: '0',\n flexGrow: '0',\n pointerEvents: 'none',\n transition: animate !== 'none' ? transitions.placeholder : null\n };\n};\nconst Placeholder = props => {\n const animateOpenTimerRef = useRef(null);\n const tryClearAnimateOpenTimer = useCallback(() => {\n if (!animateOpenTimerRef.current) {\n return;\n }\n clearTimeout(animateOpenTimerRef.current);\n animateOpenTimerRef.current = null;\n }, []);\n const {\n animate,\n onTransitionEnd,\n onClose,\n contextId\n } = props;\n const [isAnimatingOpenOnMount, setIsAnimatingOpenOnMount] = useState(props.animate === 'open');\n useEffect(() => {\n if (!isAnimatingOpenOnMount) {\n return noop;\n }\n if (animate !== 'open') {\n tryClearAnimateOpenTimer();\n setIsAnimatingOpenOnMount(false);\n return noop;\n }\n if (animateOpenTimerRef.current) {\n return noop;\n }\n animateOpenTimerRef.current = setTimeout(() => {\n animateOpenTimerRef.current = null;\n setIsAnimatingOpenOnMount(false);\n });\n return tryClearAnimateOpenTimer;\n }, [animate, isAnimatingOpenOnMount, tryClearAnimateOpenTimer]);\n const onSizeChangeEnd = useCallback(event => {\n if (event.propertyName !== 'height') {\n return;\n }\n onTransitionEnd();\n if (animate === 'close') {\n onClose();\n }\n }, [animate, onClose, onTransitionEnd]);\n const style = getStyle({\n isAnimatingOpenOnMount,\n animate: props.animate,\n placeholder: props.placeholder\n });\n return React.createElement(props.placeholder.tagName, {\n style,\n 'data-rfd-placeholder-context-id': contextId,\n onTransitionEnd: onSizeChangeEnd,\n ref: props.innerRef\n });\n};\nvar Placeholder$1 = React.memo(Placeholder);\n\nfunction isBoolean(value) {\n return typeof value === 'boolean';\n}\nfunction runChecks(args, checks) {\n checks.forEach(check => check(args));\n}\nconst shared = [function required(_ref) {\n let {\n props\n } = _ref;\n !props.droppableId ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'A Droppable requires a droppableId prop') : invariant(false) : void 0;\n !(typeof props.droppableId === 'string') ? process.env.NODE_ENV !== \"production\" ? invariant(false, `A Droppable requires a [string] droppableId. Provided: [${typeof props.droppableId}]`) : invariant(false) : void 0;\n}, function boolean(_ref2) {\n let {\n props\n } = _ref2;\n !isBoolean(props.isDropDisabled) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'isDropDisabled must be a boolean') : invariant(false) : void 0;\n !isBoolean(props.isCombineEnabled) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'isCombineEnabled must be a boolean') : invariant(false) : void 0;\n !isBoolean(props.ignoreContainerClipping) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'ignoreContainerClipping must be a boolean') : invariant(false) : void 0;\n}, function ref(_ref3) {\n let {\n getDroppableRef\n } = _ref3;\n checkIsValidInnerRef(getDroppableRef());\n}];\nconst standard = [function placeholder(_ref4) {\n let {\n props,\n getPlaceholderRef\n } = _ref4;\n if (!props.placeholder) {\n return;\n }\n const ref = getPlaceholderRef();\n if (ref) {\n return;\n }\n process.env.NODE_ENV !== \"production\" ? warning(`\n Droppable setup issue [droppableId: \"${props.droppableId}\"]:\n DroppableProvided > placeholder could not be found.\n\n Please be sure to add the {provided.placeholder} React Node as a child of your Droppable.\n More information: https://github.com/hello-pangea/dnd/blob/main/docs/api/droppable.md\n `) : void 0;\n}];\nconst virtual = [function hasClone(_ref5) {\n let {\n props\n } = _ref5;\n !props.renderClone ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Must provide a clone render function (renderClone) for virtual lists') : invariant(false) : void 0;\n}, function hasNoPlaceholder(_ref6) {\n let {\n getPlaceholderRef\n } = _ref6;\n !!getPlaceholderRef() ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Expected virtual list to not have a placeholder') : invariant(false) : void 0;\n}];\nfunction useValidation(args) {\n useDevSetupWarning(() => {\n runChecks(args, shared);\n if (args.props.mode === 'standard') {\n runChecks(args, standard);\n }\n if (args.props.mode === 'virtual') {\n runChecks(args, virtual);\n }\n });\n}\n\nclass AnimateInOut extends React.PureComponent {\n constructor() {\n super(...arguments);\n this.state = {\n isVisible: Boolean(this.props.on),\n data: this.props.on,\n animate: this.props.shouldAnimate && this.props.on ? 'open' : 'none'\n };\n this.onClose = () => {\n if (this.state.animate !== 'close') {\n return;\n }\n this.setState({\n isVisible: false\n });\n };\n }\n static getDerivedStateFromProps(props, state) {\n if (!props.shouldAnimate) {\n return {\n isVisible: Boolean(props.on),\n data: props.on,\n animate: 'none'\n };\n }\n if (props.on) {\n return {\n isVisible: true,\n data: props.on,\n animate: 'open'\n };\n }\n if (state.isVisible) {\n return {\n isVisible: true,\n data: state.data,\n animate: 'close'\n };\n }\n return {\n isVisible: false,\n animate: 'close',\n data: null\n };\n }\n render() {\n if (!this.state.isVisible) {\n return null;\n }\n const provided = {\n onClose: this.onClose,\n data: this.state.data,\n animate: this.state.animate\n };\n return this.props.children(provided);\n }\n}\n\nconst Droppable = props => {\n const appContext = useContext(AppContext);\n !appContext ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Could not find app context') : invariant(false) : void 0;\n const {\n contextId,\n isMovementAllowed\n } = appContext;\n const droppableRef = useRef(null);\n const placeholderRef = useRef(null);\n const {\n children,\n droppableId,\n type,\n mode,\n direction,\n ignoreContainerClipping,\n isDropDisabled,\n isCombineEnabled,\n snapshot,\n useClone,\n updateViewportMaxScroll,\n getContainerForClone\n } = props;\n const getDroppableRef = useCallback(() => droppableRef.current, []);\n const setDroppableRef = useCallback(function (value) {\n if (value === void 0) {\n value = null;\n }\n droppableRef.current = value;\n }, []);\n const getPlaceholderRef = useCallback(() => placeholderRef.current, []);\n const setPlaceholderRef = useCallback(function (value) {\n if (value === void 0) {\n value = null;\n }\n placeholderRef.current = value;\n }, []);\n useValidation({\n props,\n getDroppableRef,\n getPlaceholderRef\n });\n const onPlaceholderTransitionEnd = useCallback(() => {\n if (isMovementAllowed()) {\n updateViewportMaxScroll({\n maxScroll: getMaxWindowScroll()\n });\n }\n }, [isMovementAllowed, updateViewportMaxScroll]);\n useDroppablePublisher({\n droppableId,\n type,\n mode,\n direction,\n isDropDisabled,\n isCombineEnabled,\n ignoreContainerClipping,\n getDroppableRef\n });\n const placeholder = useMemo(() => React.createElement(AnimateInOut, {\n on: props.placeholder,\n shouldAnimate: props.shouldAnimatePlaceholder\n }, _ref => {\n let {\n onClose,\n data,\n animate\n } = _ref;\n return React.createElement(Placeholder$1, {\n placeholder: data,\n onClose: onClose,\n innerRef: setPlaceholderRef,\n animate: animate,\n contextId: contextId,\n onTransitionEnd: onPlaceholderTransitionEnd\n });\n }), [contextId, onPlaceholderTransitionEnd, props.placeholder, props.shouldAnimatePlaceholder, setPlaceholderRef]);\n const provided = useMemo(() => ({\n innerRef: setDroppableRef,\n placeholder,\n droppableProps: {\n 'data-rfd-droppable-id': droppableId,\n 'data-rfd-droppable-context-id': contextId\n }\n }), [contextId, droppableId, placeholder, setDroppableRef]);\n const isUsingCloneFor = useClone ? useClone.dragging.draggableId : null;\n const droppableContext = useMemo(() => ({\n droppableId,\n type,\n isUsingCloneFor\n }), [droppableId, isUsingCloneFor, type]);\n function getClone() {\n if (!useClone) {\n return null;\n }\n const {\n dragging,\n render\n } = useClone;\n const node = React.createElement(PrivateDraggable, {\n draggableId: dragging.draggableId,\n index: dragging.source.index,\n isClone: true,\n isEnabled: true,\n shouldRespectForcePress: false,\n canDragInteractiveElements: true\n }, (draggableProvided, draggableSnapshot) => render(draggableProvided, draggableSnapshot, dragging));\n return ReactDOM.createPortal(node, getContainerForClone());\n }\n return React.createElement(DroppableContext.Provider, {\n value: droppableContext\n }, children(provided, snapshot), getClone());\n};\nvar Droppable$1 = Droppable;\n\nfunction getBody() {\n !document.body ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'document.body is not ready') : invariant(false) : void 0;\n return document.body;\n}\nconst defaultProps = {\n mode: 'standard',\n type: 'DEFAULT',\n direction: 'vertical',\n isDropDisabled: false,\n isCombineEnabled: false,\n ignoreContainerClipping: false,\n renderClone: null,\n getContainerForClone: getBody\n};\nconst attachDefaultPropsToOwnProps = ownProps => {\n let mergedProps = {\n ...ownProps\n };\n let defaultPropKey;\n for (defaultPropKey in defaultProps) {\n if (ownProps[defaultPropKey] === undefined) {\n mergedProps = {\n ...mergedProps,\n [defaultPropKey]: defaultProps[defaultPropKey]\n };\n }\n }\n return mergedProps;\n};\nconst isMatchingType = (type, critical) => type === critical.droppable.type;\nconst getDraggable = (critical, dimensions) => dimensions.draggables[critical.draggable.id];\nconst makeMapStateToProps = () => {\n const idleWithAnimation = {\n placeholder: null,\n shouldAnimatePlaceholder: true,\n snapshot: {\n isDraggingOver: false,\n draggingOverWith: null,\n draggingFromThisWith: null,\n isUsingPlaceholder: false\n },\n useClone: null\n };\n const idleWithoutAnimation = {\n ...idleWithAnimation,\n shouldAnimatePlaceholder: false\n };\n const getDraggableRubric = memoizeOne(descriptor => ({\n draggableId: descriptor.id,\n type: descriptor.type,\n source: {\n index: descriptor.index,\n droppableId: descriptor.droppableId\n }\n }));\n const getMapProps = memoizeOne((id, isEnabled, isDraggingOverForConsumer, isDraggingOverForImpact, dragging, renderClone) => {\n const draggableId = dragging.descriptor.id;\n const isHome = dragging.descriptor.droppableId === id;\n if (isHome) {\n const useClone = renderClone ? {\n render: renderClone,\n dragging: getDraggableRubric(dragging.descriptor)\n } : null;\n const snapshot = {\n isDraggingOver: isDraggingOverForConsumer,\n draggingOverWith: isDraggingOverForConsumer ? draggableId : null,\n draggingFromThisWith: draggableId,\n isUsingPlaceholder: true\n };\n return {\n placeholder: dragging.placeholder,\n shouldAnimatePlaceholder: false,\n snapshot,\n useClone\n };\n }\n if (!isEnabled) {\n return idleWithoutAnimation;\n }\n if (!isDraggingOverForImpact) {\n return idleWithAnimation;\n }\n const snapshot = {\n isDraggingOver: isDraggingOverForConsumer,\n draggingOverWith: draggableId,\n draggingFromThisWith: null,\n isUsingPlaceholder: true\n };\n return {\n placeholder: dragging.placeholder,\n shouldAnimatePlaceholder: true,\n snapshot,\n useClone: null\n };\n });\n const selector = (state, ownProps) => {\n const ownPropsWithDefaultProps = attachDefaultPropsToOwnProps(ownProps);\n const id = ownPropsWithDefaultProps.droppableId;\n const type = ownPropsWithDefaultProps.type;\n const isEnabled = !ownPropsWithDefaultProps.isDropDisabled;\n const renderClone = ownPropsWithDefaultProps.renderClone;\n if (isDragging(state)) {\n const critical = state.critical;\n if (!isMatchingType(type, critical)) {\n return idleWithoutAnimation;\n }\n const dragging = getDraggable(critical, state.dimensions);\n const isDraggingOver = whatIsDraggedOver(state.impact) === id;\n return getMapProps(id, isEnabled, isDraggingOver, isDraggingOver, dragging, renderClone);\n }\n if (state.phase === 'DROP_ANIMATING') {\n const completed = state.completed;\n if (!isMatchingType(type, completed.critical)) {\n return idleWithoutAnimation;\n }\n const dragging = getDraggable(completed.critical, state.dimensions);\n return getMapProps(id, isEnabled, whatIsDraggedOverFromResult(completed.result) === id, whatIsDraggedOver(completed.impact) === id, dragging, renderClone);\n }\n if (state.phase === 'IDLE' && state.completed && !state.shouldFlush) {\n const completed = state.completed;\n if (!isMatchingType(type, completed.critical)) {\n return idleWithoutAnimation;\n }\n const wasOver = whatIsDraggedOver(completed.impact) === id;\n const wasCombining = Boolean(completed.impact.at && completed.impact.at.type === 'COMBINE');\n const isHome = completed.critical.droppable.id === id;\n if (wasOver) {\n return wasCombining ? idleWithAnimation : idleWithoutAnimation;\n }\n if (isHome) {\n return idleWithAnimation;\n }\n return idleWithoutAnimation;\n }\n return idleWithoutAnimation;\n };\n return selector;\n};\nconst mapDispatchToProps = {\n updateViewportMaxScroll: updateViewportMaxScroll\n};\nconst ConnectedDroppable = connect(makeMapStateToProps, mapDispatchToProps, (stateProps, dispatchProps, ownProps) => {\n return {\n ...attachDefaultPropsToOwnProps(ownProps),\n ...stateProps,\n ...dispatchProps\n };\n}, {\n context: StoreContext,\n areStatePropsEqual: isStrictEqual\n})(Droppable$1);\nvar ConnectedDroppable$1 = ConnectedDroppable;\n\nexport { DragDropContext, PublicDraggable as Draggable, ConnectedDroppable$1 as Droppable, resetServerContext, useKeyboardSensor, useMouseSensor, useTouchSensor };\n","import * as React from 'react';\nimport { ReferenceField, useRedirect } from 'react-admin';\nimport { Box, Card, Typography } from '@mui/material';\nimport { Draggable } from '@hello-pangea/dnd';\n\nimport { LogoField } from '../companies/LogoField';\nimport { Deal } from '../types';\n\nexport const DealCard = ({ deal, index }: { deal: Deal; index: number }) => {\n const redirect = useRedirect();\n if (!deal) return null;\n\n const handleClick = () => {\n redirect(`/deals/${deal.id}/show`);\n };\n\n return (\n \n {(provided, snapshot) => (\n \n \n \n \n \n \n \n \n {deal.name}\n \n \n {deal.amount.toLocaleString('en-US', {\n notation: 'compact',\n style: 'currency',\n currency: 'USD',\n currencyDisplay: 'narrowSymbol',\n minimumSignificantDigits: 3,\n })}\n , {deal.type}\n \n \n \n \n \n )}\n \n );\n};\n","import { Droppable } from '@hello-pangea/dnd';\nimport { Box, Typography } from '@mui/material';\n\nimport { Deal } from '../types';\nimport { DealCard } from './DealCard';\nimport { stageNames } from './stages';\n\nexport const DealColumn = ({\n stage,\n deals,\n}: {\n stage: string;\n deals: Deal[];\n}) => (\n \n \n {/* @ts-ignore */}\n {stageNames[stage]}\n \n \n {(droppableProvided, snapshot) => (\n \n {deals.map((deal, index) => (\n \n ))}\n {droppableProvided.placeholder}\n \n )}\n \n \n);\n","import { DragDropContext, OnDragEndResponder } from '@hello-pangea/dnd';\nimport { Box } from '@mui/material';\nimport isEqual from 'lodash/isEqual';\nimport { useEffect, useState } from 'react';\nimport { DataProvider, useDataProvider, useListContext } from 'react-admin';\n\nimport { Deal } from '../types';\nimport { DealColumn } from './DealColumn';\nimport { DealsByStage, getDealsByStage, stages } from './stages';\n\nexport const DealListContent = () => {\n const { data: unorderedDeals, isPending, refetch } = useListContext();\n const dataProvider = useDataProvider();\n\n const [dealsByStage, setDealsByStage] = useState(\n getDealsByStage([])\n );\n\n useEffect(() => {\n if (unorderedDeals) {\n const newDealsByStage = getDealsByStage(unorderedDeals);\n if (!isEqual(newDealsByStage, dealsByStage)) {\n setDealsByStage(newDealsByStage);\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [unorderedDeals]);\n\n if (isPending) return null;\n\n const onDragEnd: OnDragEndResponder = result => {\n const { destination, source } = result;\n\n if (!destination) {\n return;\n }\n\n if (\n destination.droppableId === source.droppableId &&\n destination.index === source.index\n ) {\n return;\n }\n\n const sourceStage = source.droppableId;\n const destinationStage = destination.droppableId;\n const sourceDeal = dealsByStage[sourceStage][source.index]!;\n const destinationDeal = dealsByStage[destinationStage][\n destination.index\n ] ?? {\n stage: destinationStage,\n index: undefined, // undefined if dropped after the last item\n };\n\n // compute local state change synchronously\n setDealsByStage(\n updateDealStageLocal(\n sourceDeal,\n { stage: sourceStage, index: source.index },\n { stage: destinationStage, index: destination.index },\n dealsByStage\n )\n );\n\n // persist the changes\n updateDealStage(sourceDeal, destinationDeal, dataProvider).then(() => {\n refetch();\n });\n };\n\n return (\n \n \n {stages.map(stage => (\n \n ))}\n \n \n );\n};\n\nconst updateDealStageLocal = (\n sourceDeal: Deal,\n source: { stage: string; index: number },\n destination: {\n stage: string;\n index?: number; // undefined if dropped after the last item\n },\n dealsByStage: DealsByStage\n) => {\n if (source.stage === destination.stage) {\n // moving deal inside the same column\n const column = dealsByStage[source.stage];\n column.splice(source.index, 1);\n column.splice(destination.index ?? column.length + 1, 0, sourceDeal);\n return {\n ...dealsByStage,\n [destination.stage]: column,\n };\n } else {\n // moving deal across columns\n const sourceColumn = dealsByStage[source.stage];\n const destinationColumn = dealsByStage[destination.stage];\n sourceColumn.splice(source.index, 1);\n destinationColumn.splice(\n destination.index ?? destinationColumn.length + 1,\n 0,\n sourceDeal\n );\n return {\n ...dealsByStage,\n [source.stage]: sourceColumn,\n [destination.stage]: destinationColumn,\n };\n }\n};\n\nconst updateDealStage = async (\n source: Deal,\n destination: {\n stage: string;\n index?: number; // undefined if dropped after the last item\n },\n dataProvider: DataProvider\n) => {\n if (source.stage === destination.stage) {\n // moving deal inside the same column\n // Fetch all the deals in this stage (because the list may be filtered, but we need to update even non-filtered deals)\n const { data: columnDeals } = await dataProvider.getList('deals', {\n sort: { field: 'index', order: 'ASC' },\n pagination: { page: 1, perPage: 100 },\n filter: { stage: source.stage },\n });\n const destinationIndex = destination.index ?? columnDeals.length + 1;\n\n if (source.index > destinationIndex) {\n // deal moved up, eg\n // dest src\n // <------\n // [4, 7, 23, 5]\n await Promise.all([\n // for all deals between destinationIndex and source.index, increase the index\n ...columnDeals\n .filter(\n deal =>\n deal.index >= destinationIndex &&\n deal.index < source.index\n )\n .map(deal =>\n dataProvider.update('deals', {\n id: deal.id,\n data: { index: deal.index + 1 },\n previousData: deal,\n })\n ),\n // for the deal that was moved, update its index\n dataProvider.update('deals', {\n id: source.id,\n data: { index: destinationIndex },\n previousData: source,\n }),\n ]);\n } else {\n // deal moved down, e.g\n // src dest\n // ------>\n // [4, 7, 23, 5]\n await Promise.all([\n // for all deals between source.index and destinationIndex, decrease the index\n ...columnDeals\n .filter(\n deal =>\n deal.index <= destinationIndex &&\n deal.index > source.index\n )\n .map(deal =>\n dataProvider.update('deals', {\n id: deal.id,\n data: { index: deal.index - 1 },\n previousData: deal,\n })\n ),\n // for the deal that was moved, update its index\n dataProvider.update('deals', {\n id: source.id,\n data: { index: destinationIndex },\n previousData: source,\n }),\n ]);\n }\n } else {\n // moving deal across columns\n // Fetch all the deals in both stages (because the list may be filtered, but we need to update even non-filtered deals)\n const [{ data: sourceDeals }, { data: destinationDeals }] =\n await Promise.all([\n dataProvider.getList('deals', {\n sort: { field: 'index', order: 'ASC' },\n pagination: { page: 1, perPage: 100 },\n filter: { stage: source.stage },\n }),\n dataProvider.getList('deals', {\n sort: { field: 'index', order: 'ASC' },\n pagination: { page: 1, perPage: 100 },\n filter: { stage: destination.stage },\n }),\n ]);\n const destinationIndex =\n destination.index ?? destinationDeals.length + 1;\n\n await Promise.all([\n // decrease index on the deals after the source index in the source columns\n ...sourceDeals\n .filter(deal => deal.index > source.index)\n .map(deal =>\n dataProvider.update('deals', {\n id: deal.id,\n data: { index: deal.index - 1 },\n previousData: deal,\n })\n ),\n // increase index on the deals after the destination index in the destination columns\n ...destinationDeals\n .filter(deal => deal.index >= destinationIndex)\n .map(deal =>\n dataProvider.update('deals', {\n id: deal.id,\n data: { index: deal.index + 1 },\n previousData: deal,\n })\n ),\n // change the dragged deal to take the destination index and column\n dataProvider.update('deals', {\n id: source.id,\n data: {\n index: destinationIndex,\n stage: destination.stage,\n },\n previousData: source,\n }),\n ]);\n }\n};\n","export const types = [\n 'Other',\n 'Copywriting',\n 'Print project',\n 'UI Design',\n 'Website design',\n];\n\nexport const typeChoices = types.map(type => ({ id: type, name: type }));\n","import * as React from 'react';\nimport {\n Create,\n SimpleForm,\n TextInput,\n SelectInput,\n NumberInput,\n ReferenceInput,\n AutocompleteInput,\n required,\n useRedirect,\n useDataProvider,\n useGetIdentity,\n useListContext,\n GetListResult,\n DateInput,\n} from 'react-admin';\nimport { Dialog } from '@mui/material';\nimport { useQueryClient } from '@tanstack/react-query';\nimport { stageChoices } from './stages';\nimport { typeChoices } from './types';\nimport { Deal } from '../types';\n\nconst validateRequired = required();\n\nexport const DealCreate = ({ open }: { open: boolean }) => {\n const redirect = useRedirect();\n const dataProvider = useDataProvider();\n const { data: allDeals } = useListContext();\n\n const handleClose = () => {\n redirect('/deals');\n };\n\n const queryClient = useQueryClient();\n\n const onSuccess = async (deal: Deal) => {\n if (!allDeals) {\n redirect('/deals');\n return;\n }\n // increase the index of all deals in the same stage as the new deal\n // first, get the list of deals in the same stage\n const deals = allDeals.filter(\n (d: Deal) => d.stage === deal.stage && d.id !== deal.id\n );\n // update the actual deals in the database\n await Promise.all(\n deals.map(async oldDeal =>\n dataProvider.update('deals', {\n id: oldDeal.id,\n data: { index: oldDeal.index + 1 },\n previousData: oldDeal,\n })\n )\n );\n // refresh the list of deals in the cache as we used dataProvider.update(),\n // which does not update the cache\n const dealsById = deals.reduce(\n (acc, d) => ({\n ...acc,\n [d.id]: { ...d, index: d.index + 1 },\n }),\n {} as { [key: string]: Deal }\n );\n const now = Date.now();\n queryClient.setQueriesData(\n { queryKey: ['deals', 'getList'] },\n res => {\n if (!res) return res;\n return {\n ...res,\n data: res.data.map((d: Deal) => dealsById[d.id] || d),\n };\n },\n { updatedAt: now }\n );\n redirect('/deals');\n };\n\n const { identity } = useGetIdentity();\n\n return (\n \n \n resource=\"deals\"\n mutationOptions={{ onSuccess }}\n sx={{ width: 500, '& .RaCreate-main': { mt: 0 } }}\n >\n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\n","import * as React from 'react';\nimport { useListContext } from 'react-admin';\nimport { Box, Link } from '@mui/material';\nimport { Link as RouterLink } from 'react-router-dom';\n\nexport const ContactList = () => {\n const { data, error, isPending } = useListContext();\n\n if (isPending || error) return
;\n return (\n \n {data.map(contact => (\n \n \n {contact.first_name} {contact.last_name}\n \n \n ))}\n \n );\n};\n","import * as React from 'react';\nimport {\n ShowBase,\n TextField,\n ReferenceField,\n ReferenceManyField,\n ReferenceArrayField,\n useRecordContext,\n useRedirect,\n} from 'react-admin';\nimport { Box, Dialog, DialogContent, Typography, Divider } from '@mui/material';\nimport { format } from 'date-fns';\n\nimport { CompanyAvatar } from '../companies/CompanyAvatar';\nimport { NotesIterator } from '../notes';\nimport { ContactList } from './ContactList';\nimport { stageNames } from './stages';\n\nexport const DealShow = ({ open, id }: { open: boolean; id?: string }) => {\n const redirect = useRedirect();\n\n const handleClose = () => {\n redirect('list', 'deals');\n };\n\n return (\n \n \n {!!id ? (\n \n \n \n ) : null}\n \n \n );\n};\n\nconst DealShowContent = () => {\n const record = useRecordContext();\n if (!record) return null;\n return (\n
\n \n \n \n \n \n \n \n \n \n \n {record.name}\n\n \n \n \n Start\n \n \n {format(record.start_at, 'PP')}\n \n \n\n \n \n Budget\n \n \n {record.amount.toLocaleString('en-US', {\n notation: 'compact',\n style: 'currency',\n currency: 'USD',\n currencyDisplay: 'narrowSymbol',\n minimumSignificantDigits: 3,\n })}\n \n \n\n \n \n Type\n \n \n {record.type}\n \n \n\n \n \n Stage\n \n \n {/* @ts-ignore */}\n {stageNames[record.stage]}\n \n \n \n\n \n \n \n Contacts\n \n \n \n \n \n \n\n \n \n Description\n \n {record.description}\n \n\n \n\n \n \n \n \n \n \n \n
\n );\n};\n","import * as React from 'react';\nimport { useListFilterContext, useGetIdentity } from 'react-admin';\nimport { Box, Switch, FormControlLabel } from '@mui/material';\n\nexport const OnlyMineInput = (_: { alwaysOn: boolean; source: string }) => {\n const { filterValues, displayedFilters, setFilters } =\n useListFilterContext();\n const { identity } = useGetIdentity();\n\n const handleChange = () => {\n const newFilterValues = { ...filterValues };\n if (typeof filterValues.sales_id !== 'undefined') {\n delete newFilterValues.sales_id;\n } else {\n newFilterValues.sales_id = identity && identity?.id;\n }\n setFilters(newFilterValues, displayedFilters);\n };\n return (\n \n \n }\n label=\"Only companies I manage\"\n />\n \n );\n};\n","import * as React from 'react';\nimport {\n CreateButton,\n ExportButton,\n FilterButton,\n List,\n SearchInput,\n SelectInput,\n TopToolbar,\n useGetIdentity,\n} from 'react-admin';\nimport { matchPath, useLocation } from 'react-router';\n\nimport { DealListContent } from './DealListContent';\nimport { DealCreate } from './DealCreate';\nimport { DealShow } from './DealShow';\nimport { OnlyMineInput } from './OnlyMineInput';\nimport { typeChoices } from './types';\n\nconst DealList = () => {\n const { identity } = useGetIdentity();\n const location = useLocation();\n const matchCreate = matchPath('/deals/create', location.pathname);\n const matchShow = matchPath('/deals/:id/show', location.pathname);\n if (!identity) return null;\n return (\n <>\n }\n pagination={false}\n component=\"div\"\n >\n \n \n \n \n \n );\n};\n\nconst dealFilters = [\n ,\n ,\n ,\n];\n\nconst DealActions = () => {\n return (\n \n \n \n \n \n );\n};\n\nexport default DealList;\n"],"names":["_typeof","o","__name","toPrimitive","t","r","e","i","toPropertyKey","NumberInput","className","defaultValue","format","convertNumberToString","helperText","label","margin","onChange","onBlur","onFocus","parse","resource","source","step","min","max","validate","variant","overrideInputProps","disabled","readOnly","rest","field","error","invalid","id","isRequired","useInput","onBlurFromField","inputProps","value","setValue","React.useState","hasFocus","React.useRef","React.useEffect","stringValue","handleChange","event","target","newValue","convertStringToNumber","handleFocus","handleBlur","renderHelperText","ref","fieldWithoutRef","jsx","TextField","clsx","InputHelperText","FieldTitle","sanitizeInputRestProps","float","SearchInput","props","translate","useTranslate","StyledTextInput","InputAdornment","SearchIcon","PREFIX","styled","TextInput","styles","SimpleForm","children","Component","DefaultComponent","sx","toolbar","DefaultToolbar","jsxs","Form","Stack","sanitizeRestProps","CardContent","theme","Toolbar","component","criteriaMode","defaultValues","delayError","onSubmit","record","reValidateMode","resetOptions","resolver","sanitizeEmptyValues","shouldFocusError","shouldUnregister","shouldUseNativeValidation","warnWhenUnsavedChanges","_defineProperty","obj","key","ownKeys","_objectSpread2","defineProperty","formatProdErrorMessage","code","$$observable","randomString","ActionTypes","isPlainObject","proto","createStore","reducer","preloadedState","enhancer","_ref2","currentReducer","currentState","currentListeners","nextListeners","isDispatching","ensureCanMutateNextListeners","getState","subscribe","listener","isSubscribed","index","dispatch","action","listeners","replaceReducer","nextReducer","observable","_ref","outerSubscribe","observer","observeState","unsubscribe","bindActionCreator","actionCreator","bindActionCreators","actionCreators","boundActionCreators","compose","_len","funcs","_key","arg","a","b","applyMiddleware","middlewares","store","_dispatch","middlewareAPI","chain","middleware","_objectSpread","require$$0","h","k","l","m","n","p","q","d","f","c","g","u","useSyncExternalStoreShim_production_min","shimModule","require$$1","v","w","withSelector_production_min","defaultNoopBatch","callback","batch","setBatch","newBatch","getBatch","ContextKey","ReactVersion","gT","getContext","realContext","createContext","ReactReduxContext","_","handler","_target","args","notInitialized","_excluded","pureFinalPropsSelectorFactory","mapStateToProps","mapDispatchToProps","mergeProps","areStatesEqual","areOwnPropsEqual","areStatePropsEqual","hasRunAtLeastOnce","state","ownProps","stateProps","dispatchProps","mergedProps","handleFirstCall","firstState","firstOwnProps","handleNewPropsAndNewState","handleNewProps","handleNewState","nextStateProps","statePropsChanged","handleSubsequentCalls","nextState","nextOwnProps","propsChanged","stateChanged","finalPropsSelectorFactory","initMapStateToProps","initMapDispatchToProps","initMergeProps","options","_objectWithoutPropertiesLoose","wrapMapToPropsConstant","getConstant","constant","constantSelector","getDependsOnOwnProps","mapToProps","wrapMapToPropsFunc","methodName","displayName","proxy","stateOrDispatch","createInvalidArgFactory","name","mapDispatchToPropsFactory","mapStateToPropsFactory","defaultMergeProps","_extends","wrapMergePropsFunc","areMergedPropsEqual","hasRunOnce","nextMergedProps","mergePropsFactory","createListenerCollection","first","last","nullListeners","createSubscription","parentSub","addNestedSub","trySubscribe","notifyNestedSubs","handleChangeWrapper","subscription","tryUnsubscribe","canUseDOM","useIsomorphicLayoutEffect","useLayoutEffect","useEffect","is","x","y","shallowEqual","objA","objB","keysA","keysB","useSyncExternalStore","initializeConnect","fn","NO_SUBSCRIPTION_ARRAY","useIsomorphicLayoutEffectWithArgs","effectFunc","effectArgs","dependencies","captureWrapperProps","lastWrapperProps","lastChildProps","renderIsScheduled","wrapperProps","childPropsFromStoreUpdate","subscribeUpdates","shouldHandleStateChanges","childPropsSelector","isMounted","additionalSubscribeListener","didUnsubscribe","lastThrownError","checkForUpdates","latestStoreState","newChildProps","strictEqual","connect","pure","forwardRef","context","Context","WrappedComponent","wrappedComponentName","selectorFactoryOptions","ConnectFunction","propsContext","reactReduxForwardedRef","useMemo","ContextToUse","isContextConsumer","contextValue","useContext","didStoreComeFromProps","didStoreComeFromContext","getServerState","defaultSelectorFactory","overriddenContextValue","useRef","latestSubscriptionCallbackError","actualChildPropsSelector","subscribeForReact","reactListener","actualChildProps","err","renderedWrappedComponent","React","Connect","forwarded","hoistStatics","Provider","serverState","stabilityCheck","noopCheck","previousState","areInputsEqual","newInputs","lastInputs","useMemoOne","getResult","inputs","initial","useState","isFirstRun","committed","useCache","cache","useCallbackOne","useCallback","prefix","invariant","condition","message","getRect","top","right","bottom","left","width","height","rect","expand","expandBy","shrink","shrinkBy","shift","shiftBy","noSpacing","createBox","borderBox","_ref2$margin","_ref2$border","border","_ref2$padding","padding","marginBox","paddingBox","contentBox","raw","suffix","result","getWindowScroll","offset","original","change","shifted","withScroll","scroll","calculateBox","getBox","el","safeIsNaN","isEqual","second","memoizeOne","resultFn","memoized","newArgs","_i","lastResult","rafSchd","lastArgs","frameId","wrapperFn","log","type","noop$2","getOptions","shared","fromBinding","bindEvents","bindings","sharedOptions","unbindings","binding","unbind","prefix$1","_RbdInvariant","RbdInvariant","_ErrorBoundary","callbacks","ErrorBoundary","dragHandleUsageInstructions","position","onDragStart","start","withLocation","destination","isInHomeList","startPosition","endPosition","withCombine","combine","onDragUpdate","update","location","returnedToStart","onDragEnd","preset","preset$1","origin","add","point1","point2","subtract","isEqual$1","negate","point","patch","line","otherValue","distance","closest$1","points","apply","executeClip","frame","subject","offsetByPosition","spacing","getCorners","scroll$1","increase","axis","withPlaceholder","clip","getSubject","page","scrolled","increased","clipped","scrollDroppable","droppable","newScroll","scrollable","scrollDiff","scrollDisplacement","toDroppableMap","droppables","previous","current","toDraggableMap","draggables","toDroppableList","toDraggableList","getDraggablesInsideDroppable","droppableId","draggable","tryGetDestination","impact","tryGetCombine","removeDraggableFromList","remove","list","item","moveToNextCombine","isMovingForward","insideDestination","previousImpact","getImpact","at","all","closestId","withoutDraggable","indexOfClosest","proposedIndex","before","isHomeOf","noDisplacedBy","emptyGroups","noImpact","noImpact$1","isWithin","lowerBound","upperBound","isPartiallyVisibleThroughFrame","isWithinVertical","isWithinHorizontal","isPartiallyVisibleVertically","isPartiallyVisibleHorizontally","isBiggerVertically","isBiggerHorizontally","isTotallyVisibleThroughFrame","vertical","horizontal","isTotallyVisibleThroughFrameOnAxis","getDroppableDisplaced","displacement","isVisibleInDroppable","isVisibleThroughFrameFn","isVisibleInViewport","viewport","isVisible$1","toBeDisplaced","withDroppableDisplacement","displacedTarget","isPartiallyVisible","isTotallyVisible","isTotallyVisibleOnAxis","getShouldAnimate","forceShouldAnimate","invisible","visible","getTarget","displacedBy","getDisplacementGroups","afterDragging","groups","shouldAnimate","getIndexOfLastItem","indexOfLastItem","goAtEnd","inHomeList","newIndex","calculateReorderImpact","match","withoutDragging","sliceFrom","impacted","didStartAfterCritical","draggableId","afterCritical","fromCombine","combineId","combineWithIndex","fromReorder","currentIndex","firstIndex","lastIndex","moveToNextIndex","wasAt","getCombinedItemDisplacement","displaced","combineWith","isDisplaced","whenCombining","center","displaceBy","distanceFromStartToBorderBoxCenter","box","distanceFromEndToBorderBoxCenter","getCrossAxisBorderBoxCenter","isMoving","goAfter","moveRelativeTo","goBefore","goIntoStart","_ref3","moveInto","whenReordering","draggablePage","closestAfter","closest","withDisplacement","getResultWithoutDroppableDisplacement","getPageBorderBoxCenterFromImpact","withoutDisplacement","scrollViewport","diff","getDraggables$1","ids","tryGetVisible","speculativelyIncrease","maxScrollChange","scrolledViewport","scrolledDroppable","withViewportScroll","withDroppableScroll","withViewportDisplacement","getClientFromPageBorderBoxCenter","pageBorderBoxCenter","withoutPageScrollChange","isTotallyVisibleInNewLocation","newPageBorderBoxCenter","onlyOnMainAxis","changeNeeded","moveToNextPlace","previousPageBorderBoxCenter","previousClientSelection","cautious","getKnownActive","getBestCrossAxisDroppable","active","isBetweenSourceClipped","candidates","activeOfTarget","isBetweenDestinationClipped","array","contains","getCurrentPageBorderBoxCenter","getCurrentPageBorderBox","getClosestDraggable","distanceToA","distanceToB","getDisplacedBy","getRequiredGrowthForPlaceholder","placeholderSize","availableSpace","needsToGrowBy","sum","dimension","withMaxScroll","addPlaceholder","requiredGrowth","added","maxScroll","newFrame","removePlaceholder","oldMaxScroll","moveToNewDroppable","proposed","proposedPageBorderBoxCenter","isGoingBeforeTarget","relativeTo","moveCrossAxis","isOver","whatIsDraggedOver","getDroppableOver$1","moveInDirection","isActuallyOver","isMainAxisMovementAllowed","home","direction","isMovingOnMainAxis","isMovementAllowed","isPositionInFrame","getHasOverlap","getFurthestAway","pageBorderBox","startCenter","sorted","candidate","getDroppableOver","childCenter","crossAxisStart","crossAxisEnd","isContained","isStartContained","isEndContained","offsetRectByPosition","area","getIsDisplaced","atIndex","getReorderImpact","targetRect","targetStart","targetEnd","child","didStartAfterCritical$1","combineThresholdDivisor","getCombineImpact","childRect","threshold","getDragImpact","pageOffset","destinationId","pageBorderBoxWithDroppableScroll","patchDroppableMap","updated","clearUnusedPlaceholder","now","lastDroppable","recomputePlaceholders","cleaned","patched","forcedClientSelection","forcedDimensions","forcedViewport","forcedImpact","scrollJumpRequest","dimensions","clientSelection","client","newImpact","withUpdatedPlaceholders","getDraggables","recompute","getClientBorderBoxCenter","refreshSnap","needsVisibilityCheck","getHomeLocation","descriptor","getLiftEffect","insideHome","rawIndex","effected","patchDimensionMap","offsetDraggable","offset$1","initialWindowScroll","getFrame","adjustAdditionsForScrollChanges","additions","updatedDroppables","windowScrollChange","modified","droppableScrollChange","totalChange","publishWhileDraggingInVirtual","published","withScrollChange","existing","updatedAdditions","wasOverId","wasOver","onLiftImpact","draggingState","isSnapping","postDroppableChange","isEnabledChanging","removeScrollJumpRequest","idle$2","critical","movementMode","isWindowScrollAllowed","isEnabled","isCombineEnabled","reason","completed","dropDuration","newHomeClientOffset","beforeInitialCapture","lift$1","initialPublish","publishWhileDragging","collectionStarting","updateDroppableScroll","updateDroppableIsEnabled","updateDroppableIsCombineEnabled","move","moveByWindowScroll","updateViewportMaxScroll","moveUp","moveDown","moveRight","moveLeft","flush","animateDrop","completeDrop","drop$1","dropPending","dropAnimationFinished","lift","next","request","marshal","style","curves","timings","outOfTheWayTiming","transitions","duration","timing","moveTo","transforms","isCombining","minDropTime","maxDropTime","dropTimeRange","maxDropTimeAtDistance","cancelDropModifier","getDropDuration","distance$1","percentage","withDuration","getNewHomeClientOffset","newClientCenter","getDropImpact","lastImpact","dropMiddleware","didDropInsideDroppable","drop","getWindowScrollBinding","getScrollListener","onWindowScroll","updateScroll","scheduled","isActive","stop","shouldEnd","scrollListener","scrollListener$1","getExpiringAnnounce","announce","wasCalled","isExpired","timeoutId","getAsyncMarshal","entries","execute","timerId","entry","shallow","areLocationsEqual","isCombineEqual","isCriticalEqual","isDraggableEqual","isDroppableEqual","withTimings","getDragStart","mode","responder","data","getDefaultMessage","willExpire","getPublisher","getResponders","asyncMarshal","dragging","beforeCapture","beforeStart","hasCriticalChanged","hasLocationChanged","hasGroupingChanged","responders","publisher","dropAnimationFinishMiddleware","dropAnimationFinish","dropAnimationFlushOnScrollMiddleware","clear","dropAnimationFlushOnScroll","dimensionMarshalStopper","focus","isWatching","shouldStop","autoScroll","autoScroller","pendingDrop","postActionState","pendingDrop$1","composeEnhancers","dimensionMarshal","focusMarshal","styleMarshal","createStore$1","clean$1","createPublisher","registry","staging","collect","removals","getMaxScroll","scrollHeight","scrollWidth","getDocumentElement","doc","getMaxWindowScroll","getViewport","getInitialPublish","scrollOptions","windowScroll","shouldPublishUpdate","createDimensionMarshal","collection","stopPublishing","subscriber","canStartDrag","scrollWindow","getScrollableDroppables","getScrollableDroppableOver","getBestScrollableDroppable","defaultAutoScrollerOptions","getDistanceThresholds","container","getAutoScrollerOptions","autoScrollerOptions","startScrollingFrom","maxScrollValueAt","getPercentage","startOfRange","endOfRange","range","minScroll","getValueFromDistance","distanceToEdge","thresholds","percentageFromStartScrollingFrom","dampenValueByTime","proposedScroll","dragStartTime","accelerateAt","stopAt","runTime","betweenAccelerateAtAndStopAtPercentage","getValue","shouldUseTimeDampening","getScrollOnAxis","distanceToEdges","adjustForSizeLimits","isTooBigVertically","isTooBigHorizontally","clean","getScroll$1","required","limited","smallestSigned","getOverlap","getRemainder","targetScroll","overlap","canPartiallyScroll","rawMax","smallestChange","canScrollWindow","getWindowOverlap","canScrollDroppable","getDroppableOverlap","getWindowScrollChange","getDroppableScrollChange","createFluidScroller","scheduleWindowScroll","scheduleDroppableScroll","tryScroll","wasScrollNeeded","fakeScrollCallback","createJumpScroller","moveByOffset","scrollDroppableAsMuchAsItCan","whatTheDroppableCanScroll","scrollWindowAsMuchAsItCan","whatTheWindowCanScroll","droppableRemainder","windowRemainder","createAutoScroller","fluidScroller","jumpScroll","dragHandle","base","scrollContainer","makeGetSelector","attribute","getStyles","rules","property","rule","noPointerEvents","getStyles$1","contextId","getSelector","dragHandle$1","grabCursor","draggable$1","transition","droppable$1","useLayoutEffect$1","getHead","head","createStyleEl","nonce","useStyleMarshal","alwaysRef","dynamicRef","setDynamicStyle","setAlwaysStyle","always","dynamic","dropping","resting","querySelectorAll","parentNode","selector","getWindowFromEl","_a","isHtmlElement","findDragHandle","possible","handle","useFocusMarshal","entriesRef","recordRef","restoreFocusFrameRef","isMountedRef","register","tryGiveFocus","tryGiveFocusTo","tryShiftRecord","redirectTo","tryRestoreFocusRecorded","tryRecordFocus","focused","createRegistry","subscribers","cb","notify","findDraggableById","getDraggableById","draggableAPI","findDroppableById","getDroppableById","droppableAPI","useRegistry","StoreContext","getBodyElement","body","visuallyHidden","visuallyHidden$1","getId","useAnnouncer","count$1","defaults","useDeprecatedUniqueId","useUniqueId","useUniqueId$1","getElementId","uniqueId","useHiddenTextElement","text","AppContext","usePrevious","create","lock","isClaimed","claim","abandon","newLock","release","tryAbandon","isDragging","tab","enter","escape","space","pageUp","pageDown","end","arrowLeft","arrowUp","arrowRight","arrowDown","preventedKeys","preventStandardKeyEvents","supportedEventName","eventName","supportedPageVisibilityEventName","primaryButton","sloppyClickThreshold","isSloppyClickThresholdExceeded","idle$1","getCaptureBindings","cancel","getPhase","setPhase","button","clientX","clientY","phase","pending","actions","useMouseSensor","api","phaseRef","unbindEventsRef","startCaptureBinding","startPendingDrag","preventForcePressBinding","listenForCapture","bindCapturingEvents","noop$1","scrollJumpKeys","getDraggingBindings","useKeyboardSensor","preDrag","isCapturing","idle","timeForLongPress","forcePressThreshold","getWindowBindings","getHandleBindings","touch","shouldRespect","useTouchSensor","unbindTarget","unbindWindow","startDragging","longPressTimerId","interactiveTagNames","isAnInteractiveElement","parent","isEventInInteractiveElement","getBorderBoxCenterPosition","isElement","supportedMatchesName","closestPonyfill","findClosestDragHandleFromEvent","tryGetClosestDraggableIdFromEvent","findDraggable","preventDefault","expected","isLockActive","shouldWarn","canStart","lockAPI","tryStart","forceSensorStop","sourceEvent","getShouldRespectForcePress","tryDispatch","getAction","tryDispatchWhenDragging","finish","fluidLift","move$1","snapLift","abortPreDrag","defaultSensors","useSensorMarshal","_ref4","customSensors","enableDefaultSensors","useSensors","tryAbandonLock","canGetLock","tryGetLock","forceStop","findClosestDraggableId","findOptionsForDraggable","tryReleaseLock","isLockClaimed","createResponders","onBeforeCapureCallback","flushSync","createAutoScrollerOptions","getStore","lazyRef","App","setCallbacks","sensors","lazyStoreRef","lastPropsRef","dragHandleUsageInstructionsId","lazyDispatch","marshalCallbacks","tryResetStore","appCallbacks","getCanLift","getIsMovementAllowed","appContext","count","useDeprecatedUniqueContextId","useUniqueContextId","useUniqueContextId$1","DragDropContext","zIndexOptions","getDraggingTransition","shouldAnimateDragMovement","getDraggingOpacity","isDropAnimating","getShouldDraggingAnimate","getDraggingStyle","transform","getSecondaryStyle","secondary","getStyle$1","mapped","getDimension$1","computedStyles","placeholder","useDraggablePublisher","getDraggableRef","canDragInteractiveElements","shouldRespectForcePress","getDimension","publishedRef","isFirstPublishRef","DroppableContext","useRequiredContext","preventHtml5Dnd","Draggable","setRef","getRef","isClone","dropAnimationFinishedAction","forPublisher","dragHandleProps","onMoveEnd","provided","onTransitionEnd","rubric","Draggable$1","isStrictEqual","whatIsDraggedOverFromResult","getCombineWithFromResult","getCombineWithFromImpact","getDraggableSelector","memoizedOffset","getMemoizedSnapshot","draggingOver","getMemoizedProps","getSecondarySnapshot","combineTargetFor","atRest","getSecondarySelector","shouldAnimateDisplacement","getFallback","getProps","ownId","draggingId","visualDisplacement","isAfterCriticalInVirtualList","makeMapStateToProps$1","draggingSelector","secondarySelector","mapDispatchToProps$1","ConnectedDraggable","ConnectedDraggable$1","PrivateDraggable","PublicDraggable","isScroll","isAuto","isEither","overflow","isElementScrollable","isBodyScrollable","getClosestScrollable","getClosestScrollable$1","getScroll","getIsFixed","getEnv","closestScrollable","isFixedOnPage","getDroppableDimension","scrollSize","frameClient","getClient","targetRef","env","isDropDisabled","shouldClipSubject","immediate","delayed","getListenerOptions","getClosestScrollableFromDrag","useDroppablePublisher","whileDraggingRef","previousRef","publishedDescriptorRef","memoizedUpdateScroll","getClosestScroll","scheduleScrollUpdate","onClosestScroll","getDimensionAndWatchScroll","getScrollWhileDragging","dragStopped","noop","empty","getSize","isAnimatingOpenOnMount","animate","getStyle","size","Placeholder","animateOpenTimerRef","tryClearAnimateOpenTimer","onClose","setIsAnimatingOpenOnMount","onSizeChangeEnd","Placeholder$1","_AnimateInOut","AnimateInOut","Droppable","droppableRef","placeholderRef","ignoreContainerClipping","snapshot","useClone","getContainerForClone","getDroppableRef","setDroppableRef","setPlaceholderRef","onPlaceholderTransitionEnd","isUsingCloneFor","droppableContext","getClone","render","node","draggableProvided","draggableSnapshot","ReactDOM","Droppable$1","getBody","defaultProps","attachDefaultPropsToOwnProps","defaultPropKey","isMatchingType","getDraggable","makeMapStateToProps","idleWithAnimation","idleWithoutAnimation","getDraggableRubric","getMapProps","isDraggingOverForConsumer","isDraggingOverForImpact","renderClone","ownPropsWithDefaultProps","isDraggingOver","wasCombining","isHome","ConnectedDroppable","ConnectedDroppable$1","DealCard","deal","redirect","useRedirect","handleClick","Box","Card","ReferenceField","LogoField","Typography","DealColumn","stage","deals","stageNames","droppableProvided","DealListContent","unorderedDeals","isPending","refetch","useListContext","dataProvider","useDataProvider","dealsByStage","setDealsByStage","getDealsByStage","newDealsByStage","sourceStage","destinationStage","sourceDeal","destinationDeal","updateDealStageLocal","updateDealStage","stages","column","sourceColumn","destinationColumn","columnDeals","destinationIndex","sourceDeals","destinationDeals","types","typeChoices","validateRequired","DealCreate","open","allDeals","handleClose","queryClient","useQueryClient","onSuccess","oldDeal","dealsById","acc","res","identity","useGetIdentity","Dialog","Create","ReferenceInput","AutocompleteInput","DateInput","SelectInput","stageChoices","ContactList","contact","Link","RouterLink","DealShow","DialogContent","ShowBase","DealShowContent","useRecordContext","CompanyAvatar","ReferenceArrayField","Divider","ReferenceManyField","NotesIterator","OnlyMineInput","filterValues","displayedFilters","setFilters","useListFilterContext","newFilterValues","FormControlLabel","Switch","DealList","useLocation","matchCreate","matchPath","matchShow","Fragment","List","dealFilters","DealActions","TopToolbar","FilterButton","ExportButton","CreateButton"],"mappings":"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","x_google_ignoreList":[0,1,2,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33]} \ No newline at end of file diff --git a/assets/DealList-Y3-0NLEV.js b/assets/DealList-Y3-0NLEV.js deleted file mode 100644 index ed7c013..0000000 --- a/assets/DealList-Y3-0NLEV.js +++ /dev/null @@ -1,75 +0,0 @@ -var yo=Object.defineProperty;var s=(e,t)=>yo(e,"name",{value:t,configurable:!0});import{u as xo,r as I,j as v,T as Do,c as Io,I as So,F as wo,s as Co,a as Eo,b as Ao,d as Po,e as Xn,f as Dt,g as Ro,S as Oo,C as Bo,h as No,_ as Qn,i as ce,R as A,k as dn,l as To,p as Tt,m as Lo,n as Lt,B as L,o as Mo,q as It,L as Fo,t as V,v as Zn,w as Mt,x as er,y as un,z as Go,A as $o,D as jo,E as Wo,G as Ft,H as tr,J as _o,K as Uo,M as Vo,N as ko,O as St,P as Ho,Q as qo,U as zo,V as Yo,W as Ko,X as Jo,Y as Xo,Z as Qo,$ as Zo,a0 as ei,a1 as ti,a2 as ni,a3 as ri,a4 as oi,a5 as ii,a6 as si,a7 as ai,a8 as pn,a9 as li,aa as ci,ab as di,ac as ui,ad as pi}from"./index-43HxY5vD.js";const fi=s(({className:e,defaultValue:t=null,format:n=mi,helperText:r,label:o,margin:i,onChange:a,onBlur:l,onFocus:c,parse:p,resource:f,source:u,step:d="any",min:g,max:m,validate:h,variant:b,inputProps:x,...D})=>{const{field:w,fieldState:{error:S,invalid:P},id:E,isRequired:O}=xo({defaultValue:t,onBlur:l,resource:f,source:u,validate:h,...D}),{onBlur:T}=w,M={...x,step:d,min:g,max:m},[N,B]=I.useState(n(w.value)),$=I.useRef(!1);I.useEffect(()=>{if(!$.current){const _=n(w.value);B(j=>j!==_?_:j)}},[w.value,n]);const Q=s(_=>{if(a&&a(_),typeof _.target>"u"||typeof _.target.value>"u")return;const j=_.target;B(j.value);const ye=j.valueAsNumber!==void 0&&j.valueAsNumber!==null&&!isNaN(j.valueAsNumber)?p?p(j.valueAsNumber):j.valueAsNumber:p?p(j.value):gi(j.value);w.onChange(ye)},"handleChange"),oe=s(_=>{c&&c(_),$.current=!0},"handleFocus"),Y=s(()=>{T&&T(),$.current=!1;const _=n(w.value);B(j=>j!==_?_:j)},"handleBlur"),Ge=r!==!1||P,{ref:ve,...ie}=w;return v.jsx(Do,{id:E,...ie,inputRef:ve,value:N,onChange:Q,onFocus:oe,onBlur:Y,className:Io("ra-input",`ra-input-${u}`,e),type:"number",size:"small",variant:b,error:P,helperText:Ge?v.jsx(So,{error:S==null?void 0:S.message,helperText:r}):null,label:v.jsx(wo,{label:o,source:u,resource:f,isRequired:O}),margin:i,inputProps:M,...Co(D)})},"NumberInput"),gi=s(e=>{if(e==null||e==="")return null;const t=parseFloat(e);return isNaN(t)?0:t},"convertStringToNumber"),mi=s(e=>e==null||isNaN(e)?"":e.toString(),"convertNumberToString"),bi=s(e=>{const{label:t,...n}=e,r=Eo();if(t)throw new Error(" isn't designed to be used with a label prop. Use if you need a label.");return v.jsx(vi,{hiddenLabel:!0,label:"",resettable:!0,placeholder:r("ra.action.search"),InputProps:{endAdornment:v.jsx(Ao,{position:"end",children:v.jsx(Po,{color:"disabled"})})},size:"small",...n})},"SearchInput"),hi="RaSearchInput",vi=Xn(Dt,{name:hi,overridesResolver:(e,t)=>t.root})({marginTop:0}),yi=s(e=>{const{children:t,className:n,component:r=Di,sx:o,toolbar:i=Ii,...a}=e;return v.jsxs(Ro,{...a,children:[v.jsx(r,{className:n,sx:o,children:v.jsx(Oo,{alignItems:"flex-start",...Si(e),children:t})}),i!==!1?i:null]})},"SimpleForm"),xi="RaSimpleForm",Di=Xn(Bo,{name:xi,overridesResolver:(e,t)=>t.root})(({theme:e})=>({[e.breakpoints.down("sm")]:{paddingBottom:"5em"}})),Ii=v.jsx(No,{}),Si=s(({children:e,className:t,component:n,criteriaMode:r,defaultValues:o,delayError:i,onSubmit:a,record:l,resource:c,reValidateMode:p,sx:f,toolbar:u,validate:d,resetOptions:g,resolver:m,sanitizeEmptyValues:h,shouldFocusError:b,shouldUnregister:x,shouldUseNativeValidation:D,warnWhenUnsavedChanges:w,...S})=>S,"sanitizeRestProps");function Ae(e){"@babel/helpers - typeof";return Ae=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ae(e)}s(Ae,"_typeof");function wi(e,t){if(Ae(e)!=="object"||e===null)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||"default");if(Ae(r)!=="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}s(wi,"_toPrimitive");function Ci(e){var t=wi(e,"string");return Ae(t)==="symbol"?t:String(t)}s(Ci,"_toPropertyKey");function Ei(e,t,n){return t=Ci(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}s(Ei,"_defineProperty");function fn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}s(fn,"ownKeys");function gn(e){for(var t=1;t"u"&&(n=t,t=void 0),typeof n<"u"){if(typeof n!="function")throw new Error(k(1));return n(nr)(e,t)}if(typeof e!="function")throw new Error(k(2));var o=e,i=t,a=[],l=a,c=!1;function p(){l===a&&(l=a.slice())}s(p,"ensureCanMutateNextListeners");function f(){if(c)throw new Error(k(3));return i}s(f,"getState");function u(h){if(typeof h!="function")throw new Error(k(4));if(c)throw new Error(k(5));var b=!0;return p(),l.push(h),s(function(){if(b){if(c)throw new Error(k(6));b=!1,p();var D=l.indexOf(h);l.splice(D,1),a=null}},"unsubscribe")}s(u,"subscribe");function d(h){if(!Ai(h))throw new Error(k(7));if(typeof h.type>"u")throw new Error(k(8));if(c)throw new Error(k(9));try{c=!0,i=o(i,h)}finally{c=!1}for(var b=a=l,x=0;x"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?Fi:Mi;ir.useSyncExternalStore=de.useSyncExternalStore!==void 0?de.useSyncExternalStore:Gi;or.exports=ir;var sr=or.exports,$i={};/** - * @license React - * use-sync-external-store-shim/with-selector.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var Je=I,ji=sr;function Wi(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}s(Wi,"p");var _i=typeof Object.is=="function"?Object.is:Wi,Ui=ji.useSyncExternalStore,Vi=Je.useRef,ki=Je.useEffect,Hi=Je.useMemo,qi=Je.useDebugValue;$i.useSyncExternalStoreWithSelector=function(e,t,n,r,o){var i=Vi(null);if(i.current===null){var a={hasValue:!1,value:null};i.current=a}else a=i.current;i=Hi(function(){function c(g){if(!p){if(p=!0,f=g,g=r(g),o!==void 0&&a.hasValue){var m=a.value;if(o(m,g))return u=m}return u=g}if(m=u,_i(f,g))return m;var h=r(g);return o!==void 0&&o(m,h)?m:(f=g,u=h)}s(c,"a");var p=!1,f,u,d=n===void 0?null:n;return[function(){return c(t())},d===null?void 0:function(){return c(d())}]},[t,n,r,o]);var l=Ui(e,i[0],i[1]);return ki(function(){a.hasValue=!0,a.value=l},[l]),qi(l),l};function zi(e){e()}s(zi,"defaultNoopBatch");let ar=zi;const Yi=s(e=>ar=e,"setBatch"),Ki=s(()=>ar,"getBatch"),yn=Symbol.for(`react-redux-context-${I.version}`),xn=globalThis;function Ji(){let e=xn[yn];return e||(e=I.createContext(null),xn[yn]=e),e}s(Ji,"getContext");const lr=new Proxy({},new Proxy({},{get(e,t){const n=Ji();return(r,...o)=>Reflect[t](n,...o)}})),Xi=s(()=>{throw new Error("uSES not initialized!")},"notInitialized"),Qi=["initMapStateToProps","initMapDispatchToProps","initMergeProps"];function Zi(e,t,n,r,{areStatesEqual:o,areOwnPropsEqual:i,areStatePropsEqual:a}){let l=!1,c,p,f,u,d;function g(D,w){return c=D,p=w,f=e(c,p),u=t(r,p),d=n(f,u,p),l=!0,d}s(g,"handleFirstCall");function m(){return f=e(c,p),t.dependsOnOwnProps&&(u=t(r,p)),d=n(f,u,p),d}s(m,"handleNewPropsAndNewState");function h(){return e.dependsOnOwnProps&&(f=e(c,p)),t.dependsOnOwnProps&&(u=t(r,p)),d=n(f,u,p),d}s(h,"handleNewProps");function b(){const D=e(c,p),w=!a(D,f);return f=D,w&&(d=n(f,u,p)),d}s(b,"handleNewState");function x(D,w){const S=!i(w,p),P=!o(D,c,w,p);return c=D,p=w,S&&P?m():S?h():P?b():d}return s(x,"handleSubsequentCalls"),s(function(w,S){return l?x(w,S):g(w,S)},"pureFinalPropsSelector")}s(Zi,"pureFinalPropsSelectorFactory");function es(e,t){let{initMapStateToProps:n,initMapDispatchToProps:r,initMergeProps:o}=t,i=Qn(t,Qi);const a=n(e,i),l=r(e,i),c=o(e,i);return Zi(a,l,c,e,i)}s(es,"finalPropsSelectorFactory");function ts(e,t){const n={};for(const r in e){const o=e[r];typeof o=="function"&&(n[r]=(...i)=>t(o(...i)))}return n}s(ts,"bindActionCreators");function wt(e){return s(function(n){const r=e(n);function o(){return r}return s(o,"constantSelector"),o.dependsOnOwnProps=!1,o},"initConstantSelector")}s(wt,"wrapMapToPropsConstant");function Dn(e){return e.dependsOnOwnProps?!!e.dependsOnOwnProps:e.length!==1}s(Dn,"getDependsOnOwnProps");function cr(e,t){return s(function(r,{displayName:o}){const i=s(function(l,c){return i.dependsOnOwnProps?i.mapToProps(l,c):i.mapToProps(l,void 0)},"mapToPropsProxy");return i.dependsOnOwnProps=!0,i.mapToProps=s(function(l,c){i.mapToProps=e,i.dependsOnOwnProps=Dn(e);let p=i(l,c);return typeof p=="function"&&(i.mapToProps=p,i.dependsOnOwnProps=Dn(p),p=i(l,c)),p},"detectFactoryAndVerify"),i},"initProxySelector")}s(cr,"wrapMapToPropsFunc");function Gt(e,t){return(n,r)=>{throw new Error(`Invalid value of type ${typeof e} for ${t} argument when connecting component ${r.wrappedComponentName}.`)}}s(Gt,"createInvalidArgFactory");function ns(e){return e&&typeof e=="object"?wt(t=>ts(e,t)):e?typeof e=="function"?cr(e):Gt(e,"mapDispatchToProps"):wt(t=>({dispatch:t}))}s(ns,"mapDispatchToPropsFactory");function rs(e){return e?typeof e=="function"?cr(e):Gt(e,"mapStateToProps"):wt(()=>({}))}s(rs,"mapStateToPropsFactory");function os(e,t,n){return ce({},n,e,t)}s(os,"defaultMergeProps");function is(e){return s(function(n,{displayName:r,areMergedPropsEqual:o}){let i=!1,a;return s(function(c,p,f){const u=e(c,p,f);return i?o(u,a)||(a=u):(i=!0,a=u),a},"mergePropsProxy")},"initMergePropsProxy")}s(is,"wrapMergePropsFunc");function ss(e){return e?typeof e=="function"?is(e):Gt(e,"mergeProps"):()=>os}s(ss,"mergePropsFactory");function as(){const e=Ki();let t=null,n=null;return{clear(){t=null,n=null},notify(){e(()=>{let r=t;for(;r;)r.callback(),r=r.next})},get(){let r=[],o=t;for(;o;)r.push(o),o=o.next;return r},subscribe(r){let o=!0,i=n={callback:r,next:null,prev:n};return i.prev?i.prev.next=i:t=i,s(function(){!o||t===null||(o=!1,i.next?i.next.prev=i.prev:n=i.prev,i.prev?i.prev.next=i.next:t=i.next)},"unsubscribe")}}}s(as,"createListenerCollection");const In={notify(){},get:()=>[]};function dr(e,t){let n,r=In;function o(u){return c(),r.subscribe(u)}s(o,"addNestedSub");function i(){r.notify()}s(i,"notifyNestedSubs");function a(){f.onStateChange&&f.onStateChange()}s(a,"handleChangeWrapper");function l(){return!!n}s(l,"isSubscribed");function c(){n||(n=t?t.addNestedSub(a):e.subscribe(a),r=as())}s(c,"trySubscribe");function p(){n&&(n(),n=void 0,r.clear(),r=In)}s(p,"tryUnsubscribe");const f={addNestedSub:o,notifyNestedSubs:i,handleChangeWrapper:a,isSubscribed:l,trySubscribe:c,tryUnsubscribe:p,getListeners:()=>r};return f}s(dr,"createSubscription");const ls=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",Ve=ls?I.useLayoutEffect:I.useEffect;function Sn(e,t){return e===t?e!==0||t!==0||1/e===1/t:e!==e&&t!==t}s(Sn,"is");function dt(e,t){if(Sn(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;const n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let o=0;o{ur=e},"initializeConnect"),us=[null,null];function ps(e,t,n){Ve(()=>e(...t),n)}s(ps,"useIsomorphicLayoutEffectWithArgs");function fs(e,t,n,r,o,i){e.current=r,n.current=!1,o.current&&(o.current=null,i())}s(fs,"captureWrapperProps");function gs(e,t,n,r,o,i,a,l,c,p,f){if(!e)return()=>{};let u=!1,d=null;const g=s(()=>{if(u||!l.current)return;const h=t.getState();let b,x;try{b=r(h,o.current)}catch(D){x=D,d=D}x||(d=null),b===i.current?a.current||p():(i.current=b,c.current=b,a.current=!0,f())},"checkForUpdates");return n.onStateChange=g,n.trySubscribe(),g(),s(()=>{if(u=!0,n.tryUnsubscribe(),n.onStateChange=null,d)throw d},"unsubscribeWrapper")}s(gs,"subscribeUpdates");function ms(e,t){return e===t}s(ms,"strictEqual");function pr(e,t,n,{pure:r,areStatesEqual:o=ms,areOwnPropsEqual:i=dt,areStatePropsEqual:a=dt,areMergedPropsEqual:l=dt,forwardRef:c=!1,context:p=lr}={}){const f=p,u=rs(e),d=ns(t),g=ss(n),m=!!e;return s(b=>{const x=b.displayName||b.name||"Component",D=`Connect(${x})`,w={shouldHandleStateChanges:m,displayName:D,wrappedComponentName:x,WrappedComponent:b,initMapStateToProps:u,initMapDispatchToProps:d,initMergeProps:g,areStatesEqual:o,areStatePropsEqual:a,areOwnPropsEqual:i,areMergedPropsEqual:l};function S(O){const[T,M,N]=I.useMemo(()=>{const{reactReduxForwardedRef:ee}=O,De=Qn(O,cs);return[O.context,ee,De]},[O]),B=I.useMemo(()=>T&&T.Consumer&&To.isContextConsumer(A.createElement(T.Consumer,null))?T:f,[T,f]),$=I.useContext(B),Q=!!O.store&&!!O.store.getState&&!!O.store.dispatch,oe=!!$&&!!$.store,Y=Q?O.store:$.store,Ge=oe?$.getServerState:Y.getState,ve=I.useMemo(()=>es(Y.dispatch,w),[Y]),[ie,_]=I.useMemo(()=>{if(!m)return us;const ee=dr(Y,Q?void 0:$.subscription),De=ee.notifyNestedSubs.bind(ee);return[ee,De]},[Y,Q,$]),j=I.useMemo(()=>Q?$:ce({},$,{subscription:ie}),[Q,$,ie]),ye=I.useRef(),ot=I.useRef(N),xe=I.useRef(),ln=I.useRef(!1);I.useRef(!1);const it=I.useRef(!1),st=I.useRef();Ve(()=>(it.current=!0,()=>{it.current=!1}),[]);const cn=I.useMemo(()=>s(()=>xe.current&&N===ot.current?xe.current:ve(Y.getState(),N),"selector"),[Y,N]),vo=I.useMemo(()=>s(De=>ie?gs(m,Y,ie,ve,ot,ye,ln,it,xe,_,De):()=>{},"subscribe"),[ie]);ps(fs,[ot,ye,ln,N,xe,_]);let $e;try{$e=ur(vo,cn,Ge?()=>ve(Ge(),N):cn)}catch(ee){throw st.current&&(ee.message+=` -The error may be correlated with this previous error: -${st.current.stack} - -`),ee}Ve(()=>{st.current=void 0,xe.current=void 0,ye.current=$e});const at=I.useMemo(()=>A.createElement(b,ce({},$e,{ref:M})),[M,b,$e]);return I.useMemo(()=>m?A.createElement(B.Provider,{value:j},at):at,[B,at,j])}s(S,"ConnectFunction");const E=A.memo(S);if(E.WrappedComponent=b,E.displayName=S.displayName=D,c){const T=A.forwardRef(s(function(N,B){return A.createElement(E,ce({},N,{reactReduxForwardedRef:B}))},"forwardConnectRef"));return T.displayName=D,T.WrappedComponent=b,dn(T,b)}return dn(E,b)},"wrapWithConnect")}s(pr,"connect");function bs({store:e,context:t,children:n,serverState:r,stabilityCheck:o="once",noopCheck:i="once"}){const a=I.useMemo(()=>{const p=dr(e);return{store:e,subscription:p,getServerState:r?()=>r:void 0,stabilityCheck:o,noopCheck:i}},[e,r,o,i]),l=I.useMemo(()=>e.getState(),[e]);Ve(()=>{const{subscription:p}=a;return p.onStateChange=p.notifyNestedSubs,p.trySubscribe(),l!==e.getState()&&p.notifyNestedSubs(),()=>{p.tryUnsubscribe(),p.onStateChange=void 0}},[a,l]);const c=t||lr;return A.createElement(c.Provider,{value:a},n)}s(bs,"Provider");ds(sr.useSyncExternalStore);Yi(Tt.unstable_batchedUpdates);function hs(e,t){if(e.length!==t.length)return!1;for(var n=0;n{const i=Cs(n,o.options);return e.addEventListener(o.eventName,o.fn,i),s(function(){e.removeEventListener(o.eventName,o.fn,i)},"unbind")});return s(function(){r.forEach(i=>{i()})},"unbindAll")}s(J,"bindEvents");const Es="Invariant failed",on=class on extends Error{};s(on,"RbdInvariant");let ue=on;ue.prototype.toString=s(function(){return this.message},"toString");function y(e,t){if(!e)throw new ue(Es)}s(y,"invariant");const sn=class sn extends A.Component{constructor(){super(...arguments),this.callbacks=null,this.unbind=te,this.onWindowError=t=>{const n=this.getCallbacks();n.isDragging()&&n.tryAbort(),t.error instanceof ue&&t.preventDefault()},this.getCallbacks=()=>{if(!this.callbacks)throw new Error("Unable to find AppCallbacks in ");return this.callbacks},this.setCallbacks=t=>{this.callbacks=t}}componentDidMount(){this.unbind=J(window,[{eventName:"error",fn:this.onWindowError}])}componentDidCatch(t){if(t instanceof ue){this.setState({});return}throw t}componentWillUnmount(){this.unbind()}render(){return this.props.children(this.setCallbacks)}};s(sn,"ErrorBoundary");let Ct=sn;const As=` - Press space bar to start a drag. - When dragging you can use the arrow keys to move the item around and escape to cancel. - Some screen readers may require you to be in focus mode or to use your pass through key -`,qe=s(e=>e+1,"position"),Ps=s(e=>` - You have lifted an item in position ${qe(e.source.index)} -`,"onDragStart"),hr=s((e,t)=>{const n=e.droppableId===t.droppableId,r=qe(e.index),o=qe(t.index);return n?` - You have moved the item from position ${r} - to position ${o} - `:` - You have moved the item from position ${r} - in list ${e.droppableId} - to list ${t.droppableId} - in position ${o} - `},"withLocation"),vr=s((e,t,n)=>t.droppableId===n.droppableId?` - The item ${e} - has been combined with ${n.draggableId}`:` - The item ${e} - in list ${t.droppableId} - has been combined with ${n.draggableId} - in list ${n.droppableId} - `,"withCombine"),Rs=s(e=>{const t=e.destination;if(t)return hr(e.source,t);const n=e.combine;return n?vr(e.draggableId,e.source,n):"You are over an area that cannot be dropped on"},"onDragUpdate"),En=s(e=>` - The item has returned to its starting position - of ${qe(e.index)} -`,"returnedToStart"),Os=s(e=>{if(e.reason==="CANCEL")return` - Movement cancelled. - ${En(e.source)} - `;const t=e.destination,n=e.combine;return t?` - You have dropped the item. - ${hr(e.source,t)} - `:n?` - You have dropped the item. - ${vr(e.draggableId,e.source,n)} - `:` - The item has been dropped while not over a drop area. - ${En(e.source)} - `},"onDragEnd"),Bs={dragHandleUsageInstructions:As,onDragStart:Ps,onDragUpdate:Rs,onDragEnd:Os};var Ue=Bs;const G={x:0,y:0},W=s((e,t)=>({x:e.x+t.x,y:e.y+t.y}),"add"),H=s((e,t)=>({x:e.x-t.x,y:e.y-t.y}),"subtract"),ne=s((e,t)=>e.x===t.x&&e.y===t.y,"isEqual$1"),me=s(e=>({x:e.x!==0?-e.x:0,y:e.y!==0?-e.y:0}),"negate"),le=s(function(e,t,n){return n===void 0&&(n=0),e==="x"?{x:t,y:n}:{x:n,y:t}},"patch"),Re=s((e,t)=>Math.sqrt((t.x-e.x)**2+(t.y-e.y)**2),"distance"),An=s((e,t)=>Math.min(...t.map(n=>Re(e,n))),"closest$1"),yr=s(e=>t=>({x:e(t.x),y:e(t.y)}),"apply");var Ns=s((e,t)=>{const n=Z({top:Math.max(t.top,e.top),right:Math.min(t.right,e.right),bottom:Math.min(t.bottom,e.bottom),left:Math.max(t.left,e.left)});return n.width<=0||n.height<=0?null:n},"executeClip");const Me=s((e,t)=>({top:e.top+t.y,left:e.left+t.x,bottom:e.bottom+t.y,right:e.right+t.x}),"offsetByPosition"),Pn=s(e=>[{x:e.left,y:e.top},{x:e.right,y:e.top},{x:e.left,y:e.bottom},{x:e.right,y:e.bottom}],"getCorners"),Ts={top:0,right:0,bottom:0,left:0},Ls=s((e,t)=>t?Me(e,t.scroll.diff.displacement):e,"scroll$1"),Ms=s((e,t,n)=>n&&n.increasedBy?{...e,[t.end]:e[t.end]+n.increasedBy[t.line]}:e,"increase"),Fs=s((e,t)=>t&&t.shouldClipSubject?Ns(t.pageMarginBox,e):Z(e),"clip");var pe=s(e=>{let{page:t,withPlaceholder:n,axis:r,frame:o}=e;const i=Ls(t.marginBox,o),a=Ms(i,r,n),l=Fs(a,o);return{page:t,withPlaceholder:n,active:l}},"getSubject"),Wt=s((e,t)=>{e.frame||y(!1);const n=e.frame,r=H(t,n.scroll.initial),o=me(r),i={...n,scroll:{initial:n.scroll.initial,current:t,diff:{value:r,displacement:o},max:n.scroll.max}},a=pe({page:e.subject.page,withPlaceholder:e.subject.withPlaceholder,axis:e.axis,frame:i});return{...e,frame:i,subject:a}},"scrollDroppable");const xr=F(e=>e.reduce((t,n)=>(t[n.descriptor.id]=n,t),{})),Dr=F(e=>e.reduce((t,n)=>(t[n.descriptor.id]=n,t),{})),Xe=F(e=>Object.values(e)),Gs=F(e=>Object.values(e));var be=F((e,t)=>Gs(t).filter(r=>e===r.descriptor.droppableId).sort((r,o)=>r.descriptor.index-o.descriptor.index));function _t(e){return e.at&&e.at.type==="REORDER"?e.at.destination:null}s(_t,"tryGetDestination");function Qe(e){return e.at&&e.at.type==="COMBINE"?e.at.combine:null}s(Qe,"tryGetCombine");var Ze=F((e,t)=>t.filter(n=>n.descriptor.id!==e.descriptor.id)),$s=s(e=>{let{isMovingForward:t,draggable:n,destination:r,insideDestination:o,previousImpact:i}=e;if(!r.isCombineEnabled||!_t(i))return null;function l(m){const h={type:"COMBINE",combine:{draggableId:m,droppableId:r.descriptor.id}};return{...i,at:h}}s(l,"getImpact");const c=i.displaced.all,p=c.length?c[0]:null;if(t)return p?l(p):null;const f=Ze(n,o);if(!p){if(!f.length)return null;const m=f[f.length-1];return l(m.descriptor.id)}const u=f.findIndex(m=>m.descriptor.id===p);u===-1&&y(!1);const d=u-1;if(d<0)return null;const g=f[d];return l(g.descriptor.id)},"moveToNextCombine"),he=s((e,t)=>e.descriptor.droppableId===t.descriptor.id,"isHomeOf");const Ir={point:G,value:0},Oe={invisible:{},visible:{},all:[]},js={displaced:Oe,displacedBy:Ir,at:null};var Ws=js,X=s((e,t)=>n=>e<=n&&n<=t,"isWithin"),Sr=s(e=>{const t=X(e.top,e.bottom),n=X(e.left,e.right);return r=>{if(t(r.top)&&t(r.bottom)&&n(r.left)&&n(r.right))return!0;const i=t(r.top)||t(r.bottom),a=n(r.left)||n(r.right);if(i&&a)return!0;const c=r.tope.bottom,p=r.lefte.right;return c&&p?!0:c&&a||p&&i}},"isPartiallyVisibleThroughFrame"),_s=s(e=>{const t=X(e.top,e.bottom),n=X(e.left,e.right);return r=>t(r.top)&&t(r.bottom)&&n(r.left)&&n(r.right)},"isTotallyVisibleThroughFrame");const Ut={direction:"vertical",line:"y",crossAxisLine:"x",start:"top",end:"bottom",size:"height",crossAxisStart:"left",crossAxisEnd:"right",crossAxisSize:"width"},wr={direction:"horizontal",line:"x",crossAxisLine:"y",start:"left",end:"right",size:"width",crossAxisStart:"top",crossAxisEnd:"bottom",crossAxisSize:"height"};var Us=s(e=>t=>{const n=X(t.top,t.bottom),r=X(t.left,t.right);return o=>e===Ut?n(o.top)&&n(o.bottom):r(o.left)&&r(o.right)},"isTotallyVisibleThroughFrameOnAxis");const Vs=s((e,t)=>{const n=t.frame?t.frame.scroll.diff.displacement:G;return Me(e,n)},"getDroppableDisplaced"),ks=s((e,t,n)=>t.subject.active?n(t.subject.active)(e):!1,"isVisibleInDroppable"),Hs=s((e,t,n)=>n(t)(e),"isVisibleInViewport"),Vt=s(e=>{let{target:t,destination:n,viewport:r,withDroppableDisplacement:o,isVisibleThroughFrameFn:i}=e;const a=o?Vs(t,n):t;return ks(a,n,i)&&Hs(a,r,i)},"isVisible$1"),qs=s(e=>Vt({...e,isVisibleThroughFrameFn:Sr}),"isPartiallyVisible"),Cr=s(e=>Vt({...e,isVisibleThroughFrameFn:_s}),"isTotallyVisible"),zs=s(e=>Vt({...e,isVisibleThroughFrameFn:Us(e.destination.axis)}),"isTotallyVisibleOnAxis"),Ys=s((e,t,n)=>{if(typeof n=="boolean")return n;if(!t)return!0;const{invisible:r,visible:o}=t;if(r[e])return!1;const i=o[e];return i?i.shouldAnimate:!0},"getShouldAnimate");function Ks(e,t){const n=e.page.marginBox,r={top:t.point.y,right:0,bottom:0,left:t.point.x};return Z($t(n,r))}s(Ks,"getTarget");function Be(e){let{afterDragging:t,destination:n,displacedBy:r,viewport:o,forceShouldAnimate:i,last:a}=e;return t.reduce(s(function(c,p){const f=Ks(p,r),u=p.descriptor.id;if(c.all.push(u),!qs({target:f,destination:n,viewport:o,withDroppableDisplacement:!0}))return c.invisible[p.descriptor.id]=!0,c;const g=Ys(u,a,i),m={draggableId:u,shouldAnimate:g};return c.visible[u]=m,c},"process2"),{all:[],visible:{},invisible:{}})}s(Be,"getDisplacementGroups");function Js(e,t){if(!e.length)return 0;const n=e[e.length-1].descriptor.index;return t.inHomeList?n:n+1}s(Js,"getIndexOfLastItem");function Rn(e){let{insideDestination:t,inHomeList:n,displacedBy:r,destination:o}=e;const i=Js(t,{inHomeList:n});return{displaced:Oe,displacedBy:r,at:{type:"REORDER",destination:{droppableId:o.descriptor.id,index:i}}}}s(Rn,"goAtEnd");function ze(e){let{draggable:t,insideDestination:n,destination:r,viewport:o,displacedBy:i,last:a,index:l,forceShouldAnimate:c}=e;const p=he(t,r);if(l==null)return Rn({insideDestination:n,inHomeList:p,displacedBy:i,destination:r});const f=n.find(h=>h.descriptor.index===l);if(!f)return Rn({insideDestination:n,inHomeList:p,displacedBy:i,destination:r});const u=Ze(t,n),d=n.indexOf(f),g=u.slice(d);return{displaced:Be({afterDragging:g,destination:r,displacedBy:i,last:a,viewport:o.frame,forceShouldAnimate:c}),displacedBy:i,at:{type:"REORDER",destination:{droppableId:r.descriptor.id,index:l}}}}s(ze,"calculateReorderImpact");function re(e,t){return!!t.effected[e]}s(re,"didStartAfterCritical");var Xs=s(e=>{let{isMovingForward:t,destination:n,draggables:r,combine:o,afterCritical:i}=e;if(!n.isCombineEnabled)return null;const a=o.draggableId,c=r[a].descriptor.index;return re(a,i)?t?c:c-1:t?c+1:c},"fromCombine"),Qs=s(e=>{let{isMovingForward:t,isInHomeList:n,insideDestination:r,location:o}=e;if(!r.length)return null;const i=o.index,a=t?i+1:i-1,l=r[0].descriptor.index,c=r[r.length-1].descriptor.index,p=n?c:c+1;return ap?null:a},"fromReorder"),Zs=s(e=>{let{isMovingForward:t,isInHomeList:n,draggable:r,draggables:o,destination:i,insideDestination:a,previousImpact:l,viewport:c,afterCritical:p}=e;const f=l.at;if(f||y(!1),f.type==="REORDER"){const d=Qs({isMovingForward:t,isInHomeList:n,location:f.destination,insideDestination:a});return d==null?null:ze({draggable:r,insideDestination:a,destination:i,viewport:c,last:l.displaced,displacedBy:l.displacedBy,index:d})}const u=Xs({isMovingForward:t,destination:i,displaced:l.displaced,draggables:o,combine:f.combine,afterCritical:p});return u==null?null:ze({draggable:r,insideDestination:a,destination:i,viewport:c,last:l.displaced,displacedBy:l.displacedBy,index:u})},"moveToNextIndex"),ea=s(e=>{let{displaced:t,afterCritical:n,combineWith:r,displacedBy:o}=e;const i=!!(t.visible[r]||t.invisible[r]);return re(r,n)?i?G:me(o.point):i?o.point:G},"getCombinedItemDisplacement"),ta=s(e=>{let{afterCritical:t,impact:n,draggables:r}=e;const o=Qe(n);o||y(!1);const i=o.draggableId,a=r[i].page.borderBox.center,l=ea({displaced:n.displaced,afterCritical:t,combineWith:i,displacedBy:n.displacedBy});return W(a,l)},"whenCombining");const Er=s((e,t)=>t.margin[e.start]+t.borderBox[e.size]/2,"distanceFromStartToBorderBoxCenter"),na=s((e,t)=>t.margin[e.end]+t.borderBox[e.size]/2,"distanceFromEndToBorderBoxCenter"),kt=s((e,t,n)=>t[e.crossAxisStart]+n.margin[e.crossAxisStart]+n.borderBox[e.crossAxisSize]/2,"getCrossAxisBorderBoxCenter"),On=s(e=>{let{axis:t,moveRelativeTo:n,isMoving:r}=e;return le(t.line,n.marginBox[t.end]+Er(t,r),kt(t,n.marginBox,r))},"goAfter"),Bn=s(e=>{let{axis:t,moveRelativeTo:n,isMoving:r}=e;return le(t.line,n.marginBox[t.start]-na(t,r),kt(t,n.marginBox,r))},"goBefore"),ra=s(e=>{let{axis:t,moveInto:n,isMoving:r}=e;return le(t.line,n.contentBox[t.start]+Er(t,r),kt(t,n.contentBox,r))},"goIntoStart");var oa=s(e=>{let{impact:t,draggable:n,draggables:r,droppable:o,afterCritical:i}=e;const a=be(o.descriptor.id,r),l=n.page,c=o.axis;if(!a.length)return ra({axis:c,moveInto:o.page,isMoving:l});const{displaced:p,displacedBy:f}=t,u=p.all[0];if(u){const g=r[u];if(re(u,i))return Bn({axis:c,moveRelativeTo:g.page,isMoving:l});const m=ke(g.page,f.point);return Bn({axis:c,moveRelativeTo:m,isMoving:l})}const d=a[a.length-1];if(d.descriptor.id===n.descriptor.id)return l.borderBox.center;if(re(d.descriptor.id,i)){const g=ke(d.page,me(i.displacedBy.point));return On({axis:c,moveRelativeTo:g,isMoving:l})}return On({axis:c,moveRelativeTo:d.page,isMoving:l})},"whenReordering"),Et=s((e,t)=>{const n=e.frame;return n?W(t,n.scroll.diff.displacement):t},"withDroppableDisplacement");const ia=s(e=>{let{impact:t,draggable:n,droppable:r,draggables:o,afterCritical:i}=e;const a=n.page.borderBox.center,l=t.at;return!r||!l?a:l.type==="REORDER"?oa({impact:t,draggable:n,draggables:o,droppable:r,afterCritical:i}):ta({impact:t,draggables:o,afterCritical:i})},"getResultWithoutDroppableDisplacement");var et=s(e=>{const t=ia(e),n=e.droppable;return n?Et(n,t):t},"getPageBorderBoxCenterFromImpact"),Ar=s((e,t)=>{const n=H(t,e.scroll.initial),r=me(n);return{frame:Z({top:t.y,bottom:t.y+e.frame.height,left:t.x,right:t.x+e.frame.width}),scroll:{initial:e.scroll.initial,max:e.scroll.max,current:t,diff:{value:n,displacement:r}}}},"scrollViewport");function Nn(e,t){return e.map(n=>t[n])}s(Nn,"getDraggables$1");function sa(e,t){for(let n=0;n{let{impact:t,viewport:n,destination:r,draggables:o,maxScrollChange:i}=e;const a=Ar(n,W(n.scroll.current,i)),l=r.frame?Wt(r,W(r.frame.scroll.current,i)):r,c=t.displaced,p=Be({afterDragging:Nn(c.all,o),destination:r,displacedBy:t.displacedBy,viewport:a.frame,last:c,forceShouldAnimate:!1}),f=Be({afterDragging:Nn(c.all,o),destination:l,displacedBy:t.displacedBy,viewport:n.frame,last:c,forceShouldAnimate:!1}),u={},d={},g=[c,p,f];return c.all.forEach(h=>{const b=sa(h,g);if(b){d[h]=b;return}u[h]=!0}),{...t,displaced:{all:c.all,invisible:u,visible:d}}},"speculativelyIncrease"),la=s((e,t)=>W(e.scroll.diff.displacement,t),"withViewportDisplacement"),Ht=s(e=>{let{pageBorderBoxCenter:t,draggable:n,viewport:r}=e;const o=la(r,t),i=H(o,n.page.borderBox.center);return W(n.client.borderBox.center,i)},"getClientFromPageBorderBoxCenter"),Pr=s(e=>{let{draggable:t,destination:n,newPageBorderBoxCenter:r,viewport:o,withDroppableDisplacement:i,onlyOnMainAxis:a=!1}=e;const l=H(r,t.page.borderBox.center),p={target:Me(t.page.borderBox,l),destination:n,withDroppableDisplacement:i,viewport:o};return a?zs(p):Cr(p)},"isTotallyVisibleInNewLocation"),ca=s(e=>{let{isMovingForward:t,draggable:n,destination:r,draggables:o,previousImpact:i,viewport:a,previousPageBorderBoxCenter:l,previousClientSelection:c,afterCritical:p}=e;if(!r.isEnabled)return null;const f=be(r.descriptor.id,o),u=he(n,r),d=$s({isMovingForward:t,draggable:n,destination:r,insideDestination:f,previousImpact:i})||Zs({isMovingForward:t,isInHomeList:u,draggable:n,draggables:o,destination:r,insideDestination:f,previousImpact:i,viewport:a,afterCritical:p});if(!d)return null;const g=et({impact:d,draggable:n,droppable:r,draggables:o,afterCritical:p});if(Pr({draggable:n,destination:r,newPageBorderBoxCenter:g,viewport:a.frame,withDroppableDisplacement:!1,onlyOnMainAxis:!0}))return{clientSelection:Ht({pageBorderBoxCenter:g,draggable:n,viewport:a}),impact:d,scrollJumpRequest:null};const h=H(g,l),b=aa({impact:d,viewport:a,destination:r,draggables:o,maxScrollChange:h});return{clientSelection:c,impact:b,scrollJumpRequest:h}},"moveToNextPlace");const U=s(e=>{const t=e.subject.active;return t||y(!1),t},"getKnownActive");var da=s(e=>{let{isMovingForward:t,pageBorderBoxCenter:n,source:r,droppables:o,viewport:i}=e;const a=r.subject.active;if(!a)return null;const l=r.axis,c=X(a[l.start],a[l.end]),p=Xe(o).filter(u=>u!==r).filter(u=>u.isEnabled).filter(u=>!!u.subject.active).filter(u=>Sr(i.frame)(U(u))).filter(u=>{const d=U(u);return t?a[l.crossAxisEnd]{const d=U(u),g=X(d[l.start],d[l.end]);return c(d[l.start])||c(d[l.end])||g(a[l.start])||g(a[l.end])}).sort((u,d)=>{const g=U(u)[l.crossAxisStart],m=U(d)[l.crossAxisStart];return t?g-m:m-g}).filter((u,d,g)=>U(u)[l.crossAxisStart]===U(g[0])[l.crossAxisStart]);if(!p.length)return null;if(p.length===1)return p[0];const f=p.filter(u=>X(U(u)[l.start],U(u)[l.end])(n[l.line]));return f.length===1?f[0]:f.length>1?f.sort((u,d)=>U(u)[l.start]-U(d)[l.start])[0]:p.sort((u,d)=>{const g=An(n,Pn(U(u))),m=An(n,Pn(U(d)));return g!==m?g-m:U(u)[l.start]-U(d)[l.start]})[0]},"getBestCrossAxisDroppable");const Tn=s((e,t)=>{const n=e.page.borderBox.center;return re(e.descriptor.id,t)?H(n,t.displacedBy.point):n},"getCurrentPageBorderBoxCenter"),ua=s((e,t)=>{const n=e.page.borderBox;return re(e.descriptor.id,t)?Me(n,me(t.displacedBy.point)):n},"getCurrentPageBorderBox");var pa=s(e=>{let{pageBorderBoxCenter:t,viewport:n,destination:r,insideDestination:o,afterCritical:i}=e;return o.filter(l=>Cr({target:ua(l,i),destination:r,viewport:n.frame,withDroppableDisplacement:!0})).sort((l,c)=>{const p=Re(t,Et(r,Tn(l,i))),f=Re(t,Et(r,Tn(c,i)));return p{const r=e.axis;if(e.descriptor.mode==="virtual")return le(r.line,t[r.line]);const o=e.subject.page.contentBox[r.size],c=be(e.descriptor.id,n).reduce((p,f)=>p+f.client.marginBox[r.size],0)+t[r.line]-o;return c<=0?null:le(r.line,c)},"getRequiredGrowthForPlaceholder"),Rr=s((e,t)=>({...e,scroll:{...e.scroll,max:t}}),"withMaxScroll"),Or=s((e,t,n)=>{const r=e.frame;he(t,e)&&y(!1),e.subject.withPlaceholder&&y(!1);const o=Fe(e.axis,t.displaceBy).point,i=fa(e,o,n),a={placeholderSize:o,increasedBy:i,oldFrameMaxScroll:e.frame?e.frame.scroll.max:null};if(!r){const f=pe({page:e.subject.page,withPlaceholder:a,axis:e.axis,frame:e.frame});return{...e,subject:f}}const l=i?W(r.scroll.max,i):r.scroll.max,c=Rr(r,l),p=pe({page:e.subject.page,withPlaceholder:a,axis:e.axis,frame:c});return{...e,subject:p,frame:c}},"addPlaceholder"),ga=s(e=>{const t=e.subject.withPlaceholder;t||y(!1);const n=e.frame;if(!n){const a=pe({page:e.subject.page,axis:e.axis,frame:null,withPlaceholder:null});return{...e,subject:a}}const r=t.oldFrameMaxScroll;r||y(!1);const o=Rr(n,r),i=pe({page:e.subject.page,axis:e.axis,frame:o,withPlaceholder:null});return{...e,subject:i,frame:o}},"removePlaceholder");var ma=s(e=>{let{previousPageBorderBoxCenter:t,moveRelativeTo:n,insideDestination:r,draggable:o,draggables:i,destination:a,viewport:l,afterCritical:c}=e;if(!n){if(r.length)return null;const d={displaced:Oe,displacedBy:Ir,at:{type:"REORDER",destination:{droppableId:a.descriptor.id,index:0}}},g=et({impact:d,draggable:o,droppable:a,draggables:i,afterCritical:c}),m=he(o,a)?a:Or(a,o,i);return Pr({draggable:o,destination:m,newPageBorderBoxCenter:g,viewport:l.frame,withDroppableDisplacement:!1,onlyOnMainAxis:!0})?d:null}const p=t[a.axis.line]<=n.page.borderBox.center[a.axis.line],f=(()=>{const d=n.descriptor.index;return n.descriptor.id===o.descriptor.id||p?d:d+1})(),u=Fe(a.axis,o.displaceBy);return ze({draggable:o,insideDestination:r,destination:a,viewport:l,displacedBy:u,last:Oe,index:f})},"moveToNewDroppable"),ba=s(e=>{let{isMovingForward:t,previousPageBorderBoxCenter:n,draggable:r,isOver:o,draggables:i,droppables:a,viewport:l,afterCritical:c}=e;const p=da({isMovingForward:t,pageBorderBoxCenter:n,source:o,droppables:a,viewport:l});if(!p)return null;const f=be(p.descriptor.id,i),u=pa({pageBorderBoxCenter:n,viewport:l,destination:p,insideDestination:f,afterCritical:c}),d=ma({previousPageBorderBoxCenter:n,destination:p,draggable:r,draggables:i,moveRelativeTo:u,insideDestination:f,viewport:l,afterCritical:c});if(!d)return null;const g=et({impact:d,draggable:r,droppable:p,draggables:i,afterCritical:c});return{clientSelection:Ht({pageBorderBoxCenter:g,draggable:r,viewport:l}),impact:d,scrollJumpRequest:null}},"moveCrossAxis"),q=s(e=>{const t=e.at;return t?t.type==="REORDER"?t.destination.droppableId:t.combine.droppableId:null},"whatIsDraggedOver");const ha=s((e,t)=>{const n=q(e);return n?t[n]:null},"getDroppableOver$1");var va=s(e=>{let{state:t,type:n}=e;const r=ha(t.impact,t.dimensions.droppables),o=!!r,i=t.dimensions.droppables[t.critical.droppable.id],a=r||i,l=a.axis.direction,c=l==="vertical"&&(n==="MOVE_UP"||n==="MOVE_DOWN")||l==="horizontal"&&(n==="MOVE_LEFT"||n==="MOVE_RIGHT");if(c&&!o)return null;const p=n==="MOVE_DOWN"||n==="MOVE_RIGHT",f=t.dimensions.draggables[t.critical.draggable.id],u=t.current.page.borderBoxCenter,{draggables:d,droppables:g}=t.dimensions;return c?ca({isMovingForward:p,previousPageBorderBoxCenter:u,draggable:f,destination:a,draggables:d,viewport:t.viewport,previousClientSelection:t.current.client.selection,previousImpact:t.impact,afterCritical:t.afterCritical}):ba({isMovingForward:p,previousPageBorderBoxCenter:u,draggable:f,isOver:a,draggables:d,droppables:g,viewport:t.viewport,afterCritical:t.afterCritical})},"moveInDirection");function ae(e){return e.phase==="DRAGGING"||e.phase==="COLLECTING"}s(ae,"isMovementAllowed");function Br(e){const t=X(e.top,e.bottom),n=X(e.left,e.right);return s(function(o){return t(o.y)&&n(o.x)},"run")}s(Br,"isPositionInFrame");function ya(e,t){return e.leftt.left&&e.topt.top}s(ya,"getHasOverlap");function xa(e){let{pageBorderBox:t,draggable:n,candidates:r}=e;const o=n.page.borderBox.center,i=r.map(a=>{const l=a.axis,c=le(a.axis.line,t.center[l.line],a.page.borderBox.center[l.crossAxisLine]);return{id:a.descriptor.id,distance:Re(o,c)}}).sort((a,l)=>l.distance-a.distance);return i[0]?i[0].id:null}s(xa,"getFurthestAway");function Da(e){let{pageBorderBox:t,draggable:n,droppables:r}=e;const o=Xe(r).filter(i=>{if(!i.isEnabled)return!1;const a=i.subject.active;if(!a||!ya(t,a))return!1;if(Br(a)(t.center))return!0;const l=i.axis,c=a.center[l.crossAxisLine],p=t[l.crossAxisStart],f=t[l.crossAxisEnd],u=X(a[l.crossAxisStart],a[l.crossAxisEnd]),d=u(p),g=u(f);return!d&&!g?!0:d?pc});return o.length?o.length===1?o[0].descriptor.id:xa({pageBorderBox:t,draggable:n,candidates:o}):null}s(Da,"getDroppableOver");const Nr=s((e,t)=>Z(Me(e,t)),"offsetRectByPosition");var Ia=s((e,t)=>{const n=e.frame;return n?Nr(t,n.scroll.diff.value):t},"withDroppableScroll");function Tr(e){let{displaced:t,id:n}=e;return!!(t.visible[n]||t.invisible[n])}s(Tr,"getIsDisplaced");function Sa(e){let{draggable:t,closest:n,inHomeList:r}=e;return n?r&&n.descriptor.index>t.descriptor.index?n.descriptor.index-1:n.descriptor.index:null}s(Sa,"atIndex");var wa=s(e=>{let{pageBorderBoxWithDroppableScroll:t,draggable:n,destination:r,insideDestination:o,last:i,viewport:a,afterCritical:l}=e;const c=r.axis,p=Fe(r.axis,n.displaceBy),f=p.value,u=t[c.start],d=t[c.end],m=Ze(n,o).find(b=>{const x=b.descriptor.id,D=b.page.borderBox.center[c.line],w=re(x,l),S=Tr({displaced:i,id:x});return w?S?d<=D:u{let{draggable:t,pageBorderBoxWithDroppableScroll:n,previousImpact:r,destination:o,insideDestination:i,afterCritical:a}=e;if(!o.isCombineEnabled)return null;const l=o.axis,c=Fe(o.axis,t.displaceBy),p=c.value,f=n[l.start],u=n[l.end],g=Ze(t,i).find(h=>{const b=h.descriptor.id,x=h.page.borderBox,w=x[l.size]/Ca,S=re(b,a),P=Tr({displaced:r.displaced,id:b});return S?P?u>x[l.start]+w&&ux[l.start]-p+w&&fx[l.start]+p+w&&ux[l.start]+w&&f{let{pageOffset:t,draggable:n,draggables:r,droppables:o,previousImpact:i,viewport:a,afterCritical:l}=e;const c=Nr(n.page.borderBox,t),p=Da({pageBorderBox:c,draggable:n,droppables:o});if(!p)return Ws;const f=o[p],u=be(f.descriptor.id,r),d=Ia(f,c);return Ea({pageBorderBoxWithDroppableScroll:d,draggable:n,previousImpact:i,destination:f,insideDestination:u,afterCritical:l})||wa({pageBorderBoxWithDroppableScroll:d,draggable:n,destination:f,insideDestination:u,last:i.displaced,viewport:a,afterCritical:l})},"getDragImpact"),qt=s((e,t)=>({...e,[t.descriptor.id]:t}),"patchDroppableMap");const Aa=s(e=>{let{previousImpact:t,impact:n,droppables:r}=e;const o=q(t),i=q(n);if(!o||o===i)return r;const a=r[o];if(!a.subject.withPlaceholder)return r;const l=ga(a);return qt(r,l)},"clearUnusedPlaceholder");var Pa=s(e=>{let{draggable:t,draggables:n,droppables:r,previousImpact:o,impact:i}=e;const a=Aa({previousImpact:o,impact:i,droppables:r}),l=q(i);if(!l)return a;const c=r[l];if(he(t,c)||c.subject.withPlaceholder)return a;const p=Or(c,t,n);return qt(a,p)},"recomputePlaceholders"),Ce=s(e=>{let{state:t,clientSelection:n,dimensions:r,viewport:o,impact:i,scrollJumpRequest:a}=e;const l=o||t.viewport,c=r||t.dimensions,p=n||t.current.client.selection,f=H(p,t.initial.client.selection),u={offset:f,selection:p,borderBoxCenter:W(t.initial.client.borderBoxCenter,f)},d={selection:W(u.selection,l.scroll.current),borderBoxCenter:W(u.borderBoxCenter,l.scroll.current),offset:W(u.offset,l.scroll.diff.value)},g={client:u,page:d};if(t.phase==="COLLECTING")return{...t,dimensions:c,viewport:l,current:g};const m=c.draggables[t.critical.draggable.id],h=i||Lr({pageOffset:d.offset,draggable:m,draggables:c.draggables,droppables:c.droppables,previousImpact:t.impact,viewport:l,afterCritical:t.afterCritical}),b=Pa({draggable:m,impact:h,previousImpact:t.impact,draggables:c.draggables,droppables:c.droppables});return{...t,current:g,dimensions:{draggables:c.draggables,droppables:b},impact:h,viewport:l,scrollJumpRequest:a||null,forceShouldAnimate:a?!1:null}},"update");function Ra(e,t){return e.map(n=>t[n])}s(Ra,"getDraggables");var Mr=s(e=>{let{impact:t,viewport:n,draggables:r,destination:o,forceShouldAnimate:i}=e;const a=t.displaced,l=Ra(a.all,r),c=Be({afterDragging:l,destination:o,displacedBy:t.displacedBy,viewport:n.frame,forceShouldAnimate:i,last:a});return{...t,displaced:c}},"recompute"),Fr=s(e=>{let{impact:t,draggable:n,droppable:r,draggables:o,viewport:i,afterCritical:a}=e;const l=et({impact:t,draggable:n,draggables:o,droppable:r,afterCritical:a});return Ht({pageBorderBoxCenter:l,draggable:n,viewport:i})},"getClientBorderBoxCenter"),Gr=s(e=>{let{state:t,dimensions:n,viewport:r}=e;t.movementMode!=="SNAP"&&y(!1);const o=t.impact,i=r||t.viewport,a=n||t.dimensions,{draggables:l,droppables:c}=a,p=l[t.critical.draggable.id],f=q(o);f||y(!1);const u=c[f],d=Mr({impact:o,viewport:i,destination:u,draggables:l}),g=Fr({impact:d,draggable:p,droppable:u,draggables:l,viewport:i,afterCritical:t.afterCritical});return Ce({impact:d,clientSelection:g,state:t,dimensions:a,viewport:i})},"refreshSnap"),Oa=s(e=>({index:e.index,droppableId:e.droppableId}),"getHomeLocation"),$r=s(e=>{let{draggable:t,home:n,draggables:r,viewport:o}=e;const i=Fe(n.axis,t.displaceBy),a=be(n.descriptor.id,r),l=a.indexOf(t);l===-1&&y(!1);const c=a.slice(l+1),p=c.reduce((g,m)=>(g[m.descriptor.id]=!0,g),{}),f={inVirtualList:n.descriptor.mode==="virtual",displacedBy:i,effected:p};return{impact:{displaced:Be({afterDragging:c,destination:n,displacedBy:i,last:null,viewport:o.frame,forceShouldAnimate:!1}),displacedBy:i,at:{type:"REORDER",destination:Oa(t.descriptor)}},afterCritical:f}},"getLiftEffect"),Ba=s((e,t)=>({draggables:e.draggables,droppables:qt(e.droppables,t)}),"patchDimensionMap"),Na=s(e=>{let{draggable:t,offset:n,initialWindowScroll:r}=e;const o=ke(t.client,n),i=He(o,r);return{...t,placeholder:{...t.placeholder,client:o},client:o,page:i}},"offsetDraggable"),Ta=s(e=>{const t=e.frame;return t||y(!1),t},"getFrame"),La=s(e=>{let{additions:t,updatedDroppables:n,viewport:r}=e;const o=r.scroll.diff.value;return t.map(i=>{const a=i.descriptor.droppableId,l=n[a],p=Ta(l).scroll.diff.value,f=W(o,p);return Na({draggable:i,offset:f,initialWindowScroll:r.scroll.initial})})},"adjustAdditionsForScrollChanges"),Ma=s(e=>{let{state:t,published:n}=e;const r=n.modified.map(D=>{const w=t.dimensions.droppables[D.droppableId];return Wt(w,D.scroll)}),o={...t.dimensions.droppables,...xr(r)},i=Dr(La({additions:n.additions,updatedDroppables:o,viewport:t.viewport})),a={...t.dimensions.draggables,...i};n.removals.forEach(D=>{delete a[D]});const l={droppables:o,draggables:a},c=q(t.impact),p=c?l.droppables[c]:null,f=l.draggables[t.critical.draggable.id],u=l.droppables[t.critical.droppable.id],{impact:d,afterCritical:g}=$r({draggable:f,home:u,draggables:a,viewport:t.viewport}),m=p&&p.isCombineEnabled?t.impact:d,h=Lr({pageOffset:t.current.page.offset,draggable:l.draggables[t.critical.draggable.id],draggables:l.draggables,droppables:l.droppables,previousImpact:m,viewport:t.viewport,afterCritical:g}),b={...t,phase:"DRAGGING",impact:h,onLiftImpact:d,dimensions:l,afterCritical:g,forceShouldAnimate:!1};return t.phase==="COLLECTING"?b:{...b,phase:"DROP_PENDING",reason:t.reason,isWaiting:!1}},"publishWhileDraggingInVirtual");const At=s(e=>e.movementMode==="SNAP","isSnapping"),pt=s((e,t,n)=>{const r=Ba(e.dimensions,t);return!At(e)||n?Ce({state:e,dimensions:r}):Gr({state:e,dimensions:r})},"postDroppableChange");function ft(e){return e.isDragging&&e.movementMode==="SNAP"?{...e,scrollJumpRequest:null}:e}s(ft,"removeScrollJumpRequest");const Ln={phase:"IDLE",completed:null,shouldFlush:!1};var Fa=s(function(e,t){if(e===void 0&&(e=Ln),t.type==="FLUSH")return{...Ln,shouldFlush:!0};if(t.type==="INITIAL_PUBLISH"){e.phase!=="IDLE"&&y(!1);const{critical:n,clientSelection:r,viewport:o,dimensions:i,movementMode:a}=t.payload,l=i.draggables[n.draggable.id],c=i.droppables[n.droppable.id],p={selection:r,borderBoxCenter:l.client.borderBox.center,offset:G},f={client:p,page:{selection:W(p.selection,o.scroll.initial),borderBoxCenter:W(p.selection,o.scroll.initial),offset:W(p.selection,o.scroll.diff.value)}},u=Xe(i.droppables).every(h=>!h.isFixedOnPage),{impact:d,afterCritical:g}=$r({draggable:l,home:c,draggables:i.draggables,viewport:o});return{phase:"DRAGGING",isDragging:!0,critical:n,movementMode:a,dimensions:i,initial:f,current:f,isWindowScrollAllowed:u,impact:d,afterCritical:g,onLiftImpact:d,viewport:o,scrollJumpRequest:null,forceShouldAnimate:null}}if(t.type==="COLLECTION_STARTING")return e.phase==="COLLECTING"||e.phase==="DROP_PENDING"?e:(e.phase!=="DRAGGING"&&y(!1),{...e,phase:"COLLECTING"});if(t.type==="PUBLISH_WHILE_DRAGGING")return e.phase==="COLLECTING"||e.phase==="DROP_PENDING"||y(!1),Ma({state:e,published:t.payload});if(t.type==="MOVE"){if(e.phase==="DROP_PENDING")return e;ae(e)||y(!1);const{client:n}=t.payload;return ne(n,e.current.client.selection)?e:Ce({state:e,clientSelection:n,impact:At(e)?e.impact:null})}if(t.type==="UPDATE_DROPPABLE_SCROLL"){if(e.phase==="DROP_PENDING"||e.phase==="COLLECTING")return ft(e);ae(e)||y(!1);const{id:n,newScroll:r}=t.payload,o=e.dimensions.droppables[n];if(!o)return e;const i=Wt(o,r);return pt(e,i,!1)}if(t.type==="UPDATE_DROPPABLE_IS_ENABLED"){if(e.phase==="DROP_PENDING")return e;ae(e)||y(!1);const{id:n,isEnabled:r}=t.payload,o=e.dimensions.droppables[n];o||y(!1),o.isEnabled===r&&y(!1);const i={...o,isEnabled:r};return pt(e,i,!0)}if(t.type==="UPDATE_DROPPABLE_IS_COMBINE_ENABLED"){if(e.phase==="DROP_PENDING")return e;ae(e)||y(!1);const{id:n,isCombineEnabled:r}=t.payload,o=e.dimensions.droppables[n];o||y(!1),o.isCombineEnabled===r&&y(!1);const i={...o,isCombineEnabled:r};return pt(e,i,!0)}if(t.type==="MOVE_BY_WINDOW_SCROLL"){if(e.phase==="DROP_PENDING"||e.phase==="DROP_ANIMATING")return e;ae(e)||y(!1),e.isWindowScrollAllowed||y(!1);const n=t.payload.newScroll;if(ne(e.viewport.scroll.current,n))return ft(e);const r=Ar(e.viewport,n);return At(e)?Gr({state:e,viewport:r}):Ce({state:e,viewport:r})}if(t.type==="UPDATE_VIEWPORT_MAX_SCROLL"){if(!ae(e))return e;const n=t.payload.maxScroll;if(ne(n,e.viewport.scroll.max))return e;const r={...e.viewport,scroll:{...e.viewport.scroll,max:n}};return{...e,viewport:r}}if(t.type==="MOVE_UP"||t.type==="MOVE_DOWN"||t.type==="MOVE_LEFT"||t.type==="MOVE_RIGHT"){if(e.phase==="COLLECTING"||e.phase==="DROP_PENDING")return e;e.phase!=="DRAGGING"&&y(!1);const n=va({state:e,type:t.type});return n?Ce({state:e,impact:n.impact,clientSelection:n.clientSelection,scrollJumpRequest:n.scrollJumpRequest}):e}if(t.type==="DROP_PENDING"){const n=t.payload.reason;return e.phase!=="COLLECTING"&&y(!1),{...e,phase:"DROP_PENDING",isWaiting:!0,reason:n}}if(t.type==="DROP_ANIMATE"){const{completed:n,dropDuration:r,newHomeClientOffset:o}=t.payload;return e.phase==="DRAGGING"||e.phase==="DROP_PENDING"||y(!1),{phase:"DROP_ANIMATING",completed:n,dropDuration:r,newHomeClientOffset:o,dimensions:e.dimensions}}if(t.type==="DROP_COMPLETE"){const{completed:n}=t.payload;return{phase:"IDLE",completed:n,shouldFlush:!1}}return e},"reducer");const Ga=s(e=>({type:"BEFORE_INITIAL_CAPTURE",payload:e}),"beforeInitialCapture"),$a=s(e=>({type:"LIFT",payload:e}),"lift$1"),ja=s(e=>({type:"INITIAL_PUBLISH",payload:e}),"initialPublish"),Wa=s(e=>({type:"PUBLISH_WHILE_DRAGGING",payload:e}),"publishWhileDragging"),_a=s(()=>({type:"COLLECTION_STARTING",payload:null}),"collectionStarting"),Ua=s(e=>({type:"UPDATE_DROPPABLE_SCROLL",payload:e}),"updateDroppableScroll"),Va=s(e=>({type:"UPDATE_DROPPABLE_IS_ENABLED",payload:e}),"updateDroppableIsEnabled"),ka=s(e=>({type:"UPDATE_DROPPABLE_IS_COMBINE_ENABLED",payload:e}),"updateDroppableIsCombineEnabled"),jr=s(e=>({type:"MOVE",payload:e}),"move"),Ha=s(e=>({type:"MOVE_BY_WINDOW_SCROLL",payload:e}),"moveByWindowScroll"),qa=s(e=>({type:"UPDATE_VIEWPORT_MAX_SCROLL",payload:e}),"updateViewportMaxScroll"),za=s(()=>({type:"MOVE_UP",payload:null}),"moveUp"),Ya=s(()=>({type:"MOVE_DOWN",payload:null}),"moveDown"),Ka=s(()=>({type:"MOVE_RIGHT",payload:null}),"moveRight"),Ja=s(()=>({type:"MOVE_LEFT",payload:null}),"moveLeft"),zt=s(()=>({type:"FLUSH",payload:null}),"flush"),Xa=s(e=>({type:"DROP_ANIMATE",payload:e}),"animateDrop"),Yt=s(e=>({type:"DROP_COMPLETE",payload:e}),"completeDrop"),Wr=s(e=>({type:"DROP",payload:e}),"drop$1"),Qa=s(e=>({type:"DROP_PENDING",payload:e}),"dropPending"),_r=s(()=>({type:"DROP_ANIMATION_FINISHED",payload:null}),"dropAnimationFinished");var Za=s(e=>t=>{let{getState:n,dispatch:r}=t;return o=>i=>{if(i.type!=="LIFT"){o(i);return}const{id:a,clientSelection:l,movementMode:c}=i.payload,p=n();p.phase==="DROP_ANIMATING"&&r(Yt({completed:p.completed})),n().phase!=="IDLE"&&y(!1),r(zt()),r(Ga({draggableId:a,movementMode:c}));const u={draggableId:a,scrollOptions:{shouldPublishImmediately:c==="SNAP"}},{critical:d,dimensions:g,viewport:m}=e.startPublishing(u);r(ja({critical:d,dimensions:g,clientSelection:l,movementMode:c,viewport:m}))}},"lift"),el=s(e=>()=>t=>n=>{n.type==="INITIAL_PUBLISH"&&e.dragging(),n.type==="DROP_ANIMATE"&&e.dropping(n.payload.completed.result.reason),(n.type==="FLUSH"||n.type==="DROP_COMPLETE")&&e.resting(),t(n)},"style");const Kt={outOfTheWay:"cubic-bezier(0.2, 0, 0, 1)",drop:"cubic-bezier(.2,1,.1,1)"},Ne={opacity:{drop:0,combining:.7},scale:{drop:.75}},Ur={outOfTheWay:.2,minDropTime:.33,maxDropTime:.55},se=`${Ur.outOfTheWay}s ${Kt.outOfTheWay}`,Ee={fluid:`opacity ${se}`,snap:`transform ${se}, opacity ${se}`,drop:e=>{const t=`${e}s ${Kt.drop}`;return`transform ${t}, opacity ${t}`},outOfTheWay:`transform ${se}`,placeholder:`height ${se}, width ${se}, margin ${se}`},Mn=s(e=>ne(e,G)?void 0:`translate(${e.x}px, ${e.y}px)`,"moveTo"),Pt={moveTo:Mn,drop:(e,t)=>{const n=Mn(e);if(n)return t?`${n} scale(${Ne.scale.drop})`:n}},{minDropTime:Rt,maxDropTime:Vr}=Ur,tl=Vr-Rt,Fn=1500,nl=.6;var rl=s(e=>{let{current:t,destination:n,reason:r}=e;const o=Re(t,n);if(o<=0)return Rt;if(o>=Fn)return Vr;const i=o/Fn,a=Rt+tl*i,l=r==="CANCEL"?a*nl:a;return Number(l.toFixed(2))},"getDropDuration"),ol=s(e=>{let{impact:t,draggable:n,dimensions:r,viewport:o,afterCritical:i}=e;const{draggables:a,droppables:l}=r,c=q(t),p=c?l[c]:null,f=l[n.descriptor.droppableId],u=Fr({impact:t,draggable:n,draggables:a,afterCritical:i,droppable:p||f,viewport:o});return H(u,n.client.borderBox.center)},"getNewHomeClientOffset"),il=s(e=>{let{draggables:t,reason:n,lastImpact:r,home:o,viewport:i,onLiftImpact:a}=e;return!r.at||n!=="DROP"?{impact:Mr({draggables:t,impact:a,destination:o,viewport:i,forceShouldAnimate:!0}),didDropInsideDroppable:!1}:r.at.type==="REORDER"?{impact:r,didDropInsideDroppable:!0}:{impact:{...r,displaced:Oe},didDropInsideDroppable:!0}},"getDropImpact");const sl=s(e=>{let{getState:t,dispatch:n}=e;return r=>o=>{if(o.type!=="DROP"){r(o);return}const i=t(),a=o.payload.reason;if(i.phase==="COLLECTING"){n(Qa({reason:a}));return}if(i.phase==="IDLE")return;i.phase==="DROP_PENDING"&&i.isWaiting&&y(!1),i.phase==="DRAGGING"||i.phase==="DROP_PENDING"||y(!1);const c=i.critical,p=i.dimensions,f=p.draggables[i.critical.draggable.id],{impact:u,didDropInsideDroppable:d}=il({reason:a,lastImpact:i.impact,afterCritical:i.afterCritical,onLiftImpact:i.onLiftImpact,home:i.dimensions.droppables[i.critical.droppable.id],viewport:i.viewport,draggables:i.dimensions.draggables}),g=d?_t(u):null,m=d?Qe(u):null,h={index:c.draggable.index,droppableId:c.droppable.id},b={draggableId:f.descriptor.id,type:f.descriptor.type,source:h,reason:a,mode:i.movementMode,destination:g,combine:m},x=ol({impact:u,draggable:f,dimensions:p,viewport:i.viewport,afterCritical:i.afterCritical}),D={critical:i.critical,afterCritical:i.afterCritical,result:b,impact:u};if(!(!ne(i.current.client.offset,x)||!!b.combine)){n(Yt({completed:D}));return}const S=rl({current:i.current.client.offset,destination:x,reason:a});n(Xa({newHomeClientOffset:x,dropDuration:S,completed:D}))}},"dropMiddleware");var al=sl,kr=s(()=>({x:window.pageXOffset,y:window.pageYOffset}),"getWindowScroll");function ll(e){return{eventName:"scroll",options:{passive:!0,capture:!1},fn:t=>{t.target!==window&&t.target!==window.document||e()}}}s(ll,"getWindowScrollBinding");function cl(e){let{onWindowScroll:t}=e;function n(){t(kr())}s(n,"updateScroll");const r=Pe(n),o=ll(r);let i=te;function a(){return i!==te}s(a,"isActive2");function l(){a()&&y(!1),i=J(window,[o])}s(l,"start2");function c(){a()||y(!1),r.cancel(),i(),i=te}return s(c,"stop"),{start:l,stop:c,isActive:a}}s(cl,"getScrollListener");const dl=s(e=>e.type==="DROP_COMPLETE"||e.type==="DROP_ANIMATE"||e.type==="FLUSH","shouldEnd"),ul=s(e=>{const t=cl({onWindowScroll:n=>{e.dispatch(Ha({newScroll:n}))}});return n=>r=>{!t.isActive()&&r.type==="INITIAL_PUBLISH"&&t.start(),t.isActive()&&dl(r)&&t.stop(),n(r)}},"scrollListener");var pl=ul,fl=s(e=>{let t=!1,n=!1;const r=setTimeout(()=>{n=!0}),o=s(i=>{t||n||(t=!0,e(i),clearTimeout(r))},"result");return o.wasCalled=()=>t,o},"getExpiringAnnounce"),gl=s(()=>{const e=[],t=s(o=>{const i=e.findIndex(l=>l.timerId===o);i===-1&&y(!1);const[a]=e.splice(i,1);a.callback()},"execute2");return{add:s(o=>{const i=setTimeout(()=>t(i)),a={timerId:i,callback:o};e.push(a)},"add2"),flush:s(()=>{if(!e.length)return;const o=[...e];e.length=0,o.forEach(i=>{clearTimeout(i.timerId),i.callback()})},"flush2")}},"getAsyncMarshal");const ml=s((e,t)=>e==null&&t==null?!0:e==null||t==null?!1:e.droppableId===t.droppableId&&e.index===t.index,"areLocationsEqual"),bl=s((e,t)=>e==null&&t==null?!0:e==null||t==null?!1:e.draggableId===t.draggableId&&e.droppableId===t.droppableId,"isCombineEqual"),hl=s((e,t)=>{if(e===t)return!0;const n=e.draggable.id===t.draggable.id&&e.draggable.droppableId===t.draggable.droppableId&&e.draggable.type===t.draggable.type&&e.draggable.index===t.draggable.index,r=e.droppable.id===t.droppable.id&&e.droppable.type===t.droppable.type;return n&&r},"isCriticalEqual"),Ie=s((e,t)=>{t()},"withTimings"),je=s((e,t)=>({draggableId:e.draggable.id,type:e.droppable.type,source:{droppableId:e.droppable.id,index:e.draggable.index},mode:t}),"getDragStart");function gt(e,t,n,r){if(!e){n(r(t));return}const o=fl(n);e(t,{announce:o}),o.wasCalled()||n(r(t))}s(gt,"execute");var vl=s((e,t)=>{const n=gl();let r=null;const o=s((u,d)=>{r&&y(!1),Ie("onBeforeCapture",()=>{const g=e().onBeforeCapture;g&&g({draggableId:u,mode:d})})},"beforeCapture"),i=s((u,d)=>{r&&y(!1),Ie("onBeforeDragStart",()=>{const g=e().onBeforeDragStart;g&&g(je(u,d))})},"beforeStart"),a=s((u,d)=>{r&&y(!1);const g=je(u,d);r={mode:d,lastCritical:u,lastLocation:g.source,lastCombine:null},n.add(()=>{Ie("onDragStart",()=>gt(e().onDragStart,g,t,Ue.onDragStart))})},"start2"),l=s((u,d)=>{const g=_t(d),m=Qe(d);r||y(!1);const h=!hl(u,r.lastCritical);h&&(r.lastCritical=u);const b=!ml(r.lastLocation,g);b&&(r.lastLocation=g);const x=!bl(r.lastCombine,m);if(x&&(r.lastCombine=m),!h&&!b&&!x)return;const D={...je(u,r.mode),combine:m,destination:g};n.add(()=>{Ie("onDragUpdate",()=>gt(e().onDragUpdate,D,t,Ue.onDragUpdate))})},"update2"),c=s(()=>{r||y(!1),n.flush()},"flush2"),p=s(u=>{r||y(!1),r=null,Ie("onDragEnd",()=>gt(e().onDragEnd,u,t,Ue.onDragEnd))},"drop2");return{beforeCapture:o,beforeStart:i,start:a,update:l,flush:c,drop:p,abort:s(()=>{if(!r)return;const u={...je(r.lastCritical,r.mode),combine:null,destination:null,reason:"CANCEL"};p(u)},"abort")}},"getPublisher"),yl=s((e,t)=>{const n=vl(e,t);return r=>o=>i=>{if(i.type==="BEFORE_INITIAL_CAPTURE"){n.beforeCapture(i.payload.draggableId,i.payload.movementMode);return}if(i.type==="INITIAL_PUBLISH"){const l=i.payload.critical;n.beforeStart(l,i.payload.movementMode),o(i),n.start(l,i.payload.movementMode);return}if(i.type==="DROP_COMPLETE"){const l=i.payload.completed.result;n.flush(),o(i),n.drop(l);return}if(o(i),i.type==="FLUSH"){n.abort();return}const a=r.getState();a.phase==="DRAGGING"&&n.update(a.critical,a.impact)}},"responders");const xl=s(e=>t=>n=>{if(n.type!=="DROP_ANIMATION_FINISHED"){t(n);return}const r=e.getState();r.phase!=="DROP_ANIMATING"&&y(!1),e.dispatch(Yt({completed:r.completed}))},"dropAnimationFinishMiddleware");var Dl=xl;const Il=s(e=>{let t=null,n=null;function r(){n&&(cancelAnimationFrame(n),n=null),t&&(t(),t=null)}return s(r,"clear"),o=>i=>{if((i.type==="FLUSH"||i.type==="DROP_COMPLETE"||i.type==="DROP_ANIMATION_FINISHED")&&r(),o(i),i.type!=="DROP_ANIMATE")return;const a={eventName:"scroll",options:{capture:!0,passive:!1,once:!0},fn:s(function(){e.getState().phase==="DROP_ANIMATING"&&e.dispatch(_r())},"flushDropAnimation")};n=requestAnimationFrame(()=>{n=null,t=J(window,[a])})}},"dropAnimationFlushOnScrollMiddleware");var Sl=Il,wl=s(e=>()=>t=>n=>{(n.type==="DROP_COMPLETE"||n.type==="FLUSH"||n.type==="DROP_ANIMATE")&&e.stopPublishing(),t(n)},"dimensionMarshalStopper"),Cl=s(e=>{let t=!1;return()=>n=>r=>{if(r.type==="INITIAL_PUBLISH"){t=!0,e.tryRecordFocus(r.payload.critical.draggable.id),n(r),e.tryRestoreFocusRecorded();return}if(n(r),!!t){if(r.type==="FLUSH"){t=!1,e.tryRestoreFocusRecorded();return}if(r.type==="DROP_COMPLETE"){t=!1;const o=r.payload.completed.result;o.combine&&e.tryShiftRecord(o.draggableId,o.combine.draggableId),e.tryRestoreFocusRecorded()}}}},"focus");const El=s(e=>e.type==="DROP_COMPLETE"||e.type==="DROP_ANIMATE"||e.type==="FLUSH","shouldStop");var Al=s(e=>t=>n=>r=>{if(El(r)){e.stop(),n(r);return}if(r.type==="INITIAL_PUBLISH"){n(r);const o=t.getState();o.phase!=="DRAGGING"&&y(!1),e.start(o);return}n(r),e.scroll(t.getState())},"autoScroll");const Pl=s(e=>t=>n=>{if(t(n),n.type!=="PUBLISH_WHILE_DRAGGING")return;const r=e.getState();r.phase==="DROP_PENDING"&&(r.isWaiting||e.dispatch(Wr({reason:r.reason})))},"pendingDrop");var Rl=Pl;const Ol=rr;var Bl=s(e=>{let{dimensionMarshal:t,focusMarshal:n,styleMarshal:r,getResponders:o,announce:i,autoScroller:a}=e;return nr(Fa,Ol(Pi(el(r),wl(t),Za(t),al,Dl,Sl,Rl,Al(a),pl,Cl(n),yl(o,i))))},"createStore");const mt=s(()=>({additions:{},removals:{},modified:{}}),"clean$1");function Nl(e){let{registry:t,callbacks:n}=e,r=mt(),o=null;const i=s(()=>{o||(n.collectionStarting(),o=requestAnimationFrame(()=>{o=null;const{additions:p,removals:f,modified:u}=r,d=Object.keys(p).map(h=>t.draggable.getById(h).getDimension(G)).sort((h,b)=>h.descriptor.index-b.descriptor.index),g=Object.keys(u).map(h=>{const x=t.droppable.getById(h).callbacks.getScrollWhileDragging();return{droppableId:h,scroll:x}}),m={additions:d,removals:Object.keys(f),modified:g};r=mt(),n.publish(m)}))},"collect");return{add:s(p=>{const f=p.descriptor.id;r.additions[f]=p,r.modified[p.descriptor.droppableId]=!0,r.removals[f]&&delete r.removals[f],i()},"add2"),remove:s(p=>{const f=p.descriptor;r.removals[f.id]=!0,r.modified[f.droppableId]=!0,r.additions[f.id]&&delete r.additions[f.id],i()},"remove"),stop:s(()=>{o&&(cancelAnimationFrame(o),o=null,r=mt())},"stop")}}s(Nl,"createPublisher");var Hr=s(e=>{let{scrollHeight:t,scrollWidth:n,height:r,width:o}=e;const i=H({x:n,y:t},{x:o,y:r});return{x:Math.max(0,i.x),y:Math.max(0,i.y)}},"getMaxScroll"),qr=s(()=>{const e=document.documentElement;return e||y(!1),e},"getDocumentElement"),zr=s(()=>{const e=qr();return Hr({scrollHeight:e.scrollHeight,scrollWidth:e.scrollWidth,width:e.clientWidth,height:e.clientHeight})},"getMaxWindowScroll"),Tl=s(()=>{const e=kr(),t=zr(),n=e.y,r=e.x,o=qr(),i=o.clientWidth,a=o.clientHeight,l=r+i,c=n+a;return{frame:Z({top:n,left:r,right:l,bottom:c}),scroll:{initial:e,current:e,max:t,diff:{value:G,displacement:G}}}},"getViewport"),Ll=s(e=>{let{critical:t,scrollOptions:n,registry:r}=e;const o=Tl(),i=o.scroll.current,a=t.droppable,l=r.droppable.getAllByType(a.type).map(u=>u.callbacks.getDimensionAndWatchScroll(i,n)),c=r.draggable.getAllByType(t.draggable.type).map(u=>u.getDimension(i));return{dimensions:{draggables:Dr(c),droppables:xr(l)},critical:t,viewport:o}},"getInitialPublish");function Gn(e,t,n){return!(n.descriptor.id===t.id||n.descriptor.type!==t.type||e.droppable.getById(n.descriptor.droppableId).descriptor.mode!=="virtual")}s(Gn,"shouldPublishUpdate");var Ml=s((e,t)=>{let n=null;const r=Nl({callbacks:{publish:t.publishWhileDragging,collectionStarting:t.collectionStarting},registry:e}),o=s((d,g)=>{e.droppable.exists(d)||y(!1),n&&t.updateDroppableIsEnabled({id:d,isEnabled:g})},"updateDroppableIsEnabled2"),i=s((d,g)=>{n&&(e.droppable.exists(d)||y(!1),t.updateDroppableIsCombineEnabled({id:d,isCombineEnabled:g}))},"updateDroppableIsCombineEnabled2"),a=s((d,g)=>{n&&(e.droppable.exists(d)||y(!1),t.updateDroppableScroll({id:d,newScroll:g}))},"updateDroppableScroll2"),l=s((d,g)=>{n&&e.droppable.getById(d).callbacks.scroll(g)},"scrollDroppable2"),c=s(()=>{if(!n)return;r.stop();const d=n.critical.droppable;e.droppable.getAllByType(d.type).forEach(g=>g.callbacks.dragStopped()),n.unsubscribe(),n=null},"stopPublishing"),p=s(d=>{n||y(!1);const g=n.critical.draggable;d.type==="ADDITION"&&Gn(e,g,d.value)&&r.add(d.value),d.type==="REMOVAL"&&Gn(e,g,d.value)&&r.remove(d.value)},"subscriber");return{updateDroppableIsEnabled:o,updateDroppableIsCombineEnabled:i,scrollDroppable:l,updateDroppableScroll:a,startPublishing:s(d=>{n&&y(!1);const g=e.draggable.getById(d.draggableId),m=e.droppable.getById(g.descriptor.droppableId),h={draggable:g.descriptor,droppable:m.descriptor},b=e.subscribe(p);return n={critical:h,unsubscribe:b},Ll({critical:h,registry:e,scrollOptions:d.scrollOptions})},"startPublishing"),stopPublishing:c}},"createDimensionMarshal"),Yr=s((e,t)=>e.phase==="IDLE"?!0:e.phase!=="DROP_ANIMATING"||e.completed.result.draggableId===t?!1:e.completed.result.reason==="DROP","canStartDrag"),Fl=s(e=>{window.scrollBy(e.x,e.y)},"scrollWindow");const Gl=F(e=>Xe(e).filter(t=>!(!t.isEnabled||!t.frame))),$l=s((e,t)=>Gl(t).find(r=>(r.frame||y(!1),Br(r.frame.pageMarginBox)(e)))||null,"getScrollableDroppableOver");var jl=s(e=>{let{center:t,destination:n,droppables:r}=e;if(n){const i=r[n];return i.frame?i:null}return $l(t,r)},"getBestScrollableDroppable");const Te={startFromPercentage:.25,maxScrollAtPercentage:.05,maxPixelScroll:28,ease:e=>e**2,durationDampening:{stopDampeningAt:1200,accelerateAt:360},disabled:!1};var Wl=s(function(e,t,n){n===void 0&&(n=s(()=>Te,"getAutoScrollerOptions"));const r=n(),o=e[t.size]*r.startFromPercentage,i=e[t.size]*r.maxScrollAtPercentage;return{startScrollingFrom:o,maxScrollValueAt:i}},"getDistanceThresholds"),Kr=s(e=>{let{startOfRange:t,endOfRange:n,current:r}=e;const o=n-t;return o===0?0:(r-t)/o},"getPercentage"),Jt=1,_l=s(function(e,t,n){n===void 0&&(n=s(()=>Te,"getAutoScrollerOptions"));const r=n();if(e>t.startScrollingFrom)return 0;if(e<=t.maxScrollValueAt)return r.maxPixelScroll;if(e===t.startScrollingFrom)return Jt;const i=1-Kr({startOfRange:t.maxScrollValueAt,endOfRange:t.startScrollingFrom,current:e}),a=r.maxPixelScroll*r.ease(i);return Math.ceil(a)},"getValueFromDistance"),Ul=s((e,t,n)=>{const r=n(),o=r.durationDampening.accelerateAt,i=r.durationDampening.stopDampeningAt,a=t,l=i,p=Date.now()-a;if(p>=i)return e;if(p{let{distanceToEdge:t,thresholds:n,dragStartTime:r,shouldUseTimeDampening:o,getAutoScrollerOptions:i}=e;const a=_l(t,n,i);return a===0?0:o?Math.max(Ul(a,r,i),Jt):a},"getValue"),jn=s(e=>{let{container:t,distanceToEdges:n,dragStartTime:r,axis:o,shouldUseTimeDampening:i,getAutoScrollerOptions:a}=e;const l=Wl(t,o,a);return n[o.end]{let{container:t,subject:n,proposedScroll:r}=e;const o=n.height>t.height,i=n.width>t.width;return!i&&!o?r:i&&o?null:{x:i?0:r.x,y:o?0:r.y}},"adjustForSizeLimits");const kl=yr(e=>e===0?0:e);var Jr=s(e=>{let{dragStartTime:t,container:n,subject:r,center:o,shouldUseTimeDampening:i,getAutoScrollerOptions:a}=e;const l={top:o.y-n.top,right:n.right-o.x,bottom:n.bottom-o.y,left:o.x-n.left},c=jn({container:n,distanceToEdges:l,dragStartTime:t,axis:Ut,shouldUseTimeDampening:i,getAutoScrollerOptions:a}),p=jn({container:n,distanceToEdges:l,dragStartTime:t,axis:wr,shouldUseTimeDampening:i,getAutoScrollerOptions:a}),f=kl({x:p,y:c});if(ne(f,G))return null;const u=Vl({container:n,subject:r,proposedScroll:f});return u?ne(u,G)?null:u:null},"getScroll$1");const Hl=yr(e=>e===0?0:e>0?1:-1),Xt=(()=>{const e=s((t,n)=>t<0?t:t>n?t-n:0,"getRemainder");return t=>{let{current:n,max:r,change:o}=t;const i=W(n,o),a={x:e(i.x,r.x),y:e(i.y,r.y)};return ne(a,G)?null:a}})(),Xr=s(e=>{let{max:t,current:n,change:r}=e;const o={x:Math.max(n.x,t.x),y:Math.max(n.y,t.y)},i=Hl(r),a=Xt({max:o,current:n,change:i});return!a||i.x!==0&&a.x===0||i.y!==0&&a.y===0},"canPartiallyScroll"),Qt=s((e,t)=>Xr({current:e.scroll.current,max:e.scroll.max,change:t}),"canScrollWindow"),ql=s((e,t)=>{if(!Qt(e,t))return null;const n=e.scroll.max,r=e.scroll.current;return Xt({current:r,max:n,change:t})},"getWindowOverlap"),Zt=s((e,t)=>{const n=e.frame;return n?Xr({current:n.scroll.current,max:n.scroll.max,change:t}):!1},"canScrollDroppable"),zl=s((e,t)=>{const n=e.frame;return!n||!Zt(e,t)?null:Xt({current:n.scroll.current,max:n.scroll.max,change:t})},"getDroppableOverlap");var Yl=s(e=>{let{viewport:t,subject:n,center:r,dragStartTime:o,shouldUseTimeDampening:i,getAutoScrollerOptions:a}=e;const l=Jr({dragStartTime:o,container:t.frame,subject:n,center:r,shouldUseTimeDampening:i,getAutoScrollerOptions:a});return l&&Qt(t,l)?l:null},"getWindowScrollChange"),Kl=s(e=>{let{droppable:t,subject:n,center:r,dragStartTime:o,shouldUseTimeDampening:i,getAutoScrollerOptions:a}=e;const l=t.frame;if(!l)return null;const c=Jr({dragStartTime:o,container:l.pageMarginBox,subject:n,center:r,shouldUseTimeDampening:i,getAutoScrollerOptions:a});return c&&Zt(t,c)?c:null},"getDroppableScrollChange"),Wn=s(e=>{let{state:t,dragStartTime:n,shouldUseTimeDampening:r,scrollWindow:o,scrollDroppable:i,getAutoScrollerOptions:a}=e;const l=t.current.page.borderBoxCenter,p=t.dimensions.draggables[t.critical.draggable.id].page.marginBox;if(t.isWindowScrollAllowed){const d=t.viewport,g=Yl({dragStartTime:n,viewport:d,subject:p,center:l,shouldUseTimeDampening:r,getAutoScrollerOptions:a});if(g){o(g);return}}const f=jl({center:l,destination:q(t.impact),droppables:t.dimensions.droppables});if(!f)return;const u=Kl({dragStartTime:n,droppable:f,subject:p,center:l,shouldUseTimeDampening:r,getAutoScrollerOptions:a});u&&i(f.descriptor.id,u)},"scroll"),Jl=s(e=>{let{scrollWindow:t,scrollDroppable:n,getAutoScrollerOptions:r=s(()=>Te,"getAutoScrollerOptions")}=e;const o=Pe(t),i=Pe(n);let a=null;const l=s(f=>{a||y(!1);const{shouldUseTimeDampening:u,dragStartTime:d}=a;Wn({state:f,scrollWindow:o,scrollDroppable:i,dragStartTime:d,shouldUseTimeDampening:u,getAutoScrollerOptions:r})},"tryScroll");return{start:s(f=>{a&&y(!1);const u=Date.now();let d=!1;const g=s(()=>{d=!0},"fakeScrollCallback");Wn({state:f,dragStartTime:0,shouldUseTimeDampening:!1,scrollWindow:g,scrollDroppable:g,getAutoScrollerOptions:r}),a={dragStartTime:u,shouldUseTimeDampening:d},d&&l(f)},"start$1"),stop:s(()=>{a&&(o.cancel(),i.cancel(),a=null)},"stop"),scroll:l}},"createFluidScroller"),Xl=s(e=>{let{move:t,scrollDroppable:n,scrollWindow:r}=e;const o=s((c,p)=>{const f=W(c.current.client.selection,p);t({client:f})},"moveByOffset"),i=s((c,p)=>{if(!Zt(c,p))return p;const f=zl(c,p);if(!f)return n(c.descriptor.id,p),null;const u=H(p,f);return n(c.descriptor.id,u),H(p,u)},"scrollDroppableAsMuchAsItCan"),a=s((c,p,f)=>{if(!c||!Qt(p,f))return f;const u=ql(p,f);if(!u)return r(f),null;const d=H(f,u);return r(d),H(f,d)},"scrollWindowAsMuchAsItCan");return s(c=>{const p=c.scrollJumpRequest;if(!p)return;const f=q(c.impact);f||y(!1);const u=i(c.dimensions.droppables[f],p);if(!u)return;const d=c.viewport,g=a(c.isWindowScrollAllowed,d,u);g&&o(c,g)},"jumpScroller")},"createJumpScroller"),Ql=s(e=>{let{scrollDroppable:t,scrollWindow:n,move:r,getAutoScrollerOptions:o}=e;const i=Jl({scrollWindow:n,scrollDroppable:t,getAutoScrollerOptions:o}),a=Xl({move:r,scrollWindow:n,scrollDroppable:t});return{scroll:s(p=>{if(!(o().disabled||p.phase!=="DRAGGING")){if(p.movementMode==="FLUID"){i.scroll(p);return}p.scrollJumpRequest&&a(p)}},"scroll2"),start:i.start,stop:i.stop}},"createAutoScroller");const fe="data-rfd",ge=(()=>{const e=`${fe}-drag-handle`;return{base:e,draggableId:`${e}-draggable-id`,contextId:`${e}-context-id`}})(),Ot=(()=>{const e=`${fe}-draggable`;return{base:e,contextId:`${e}-context-id`,id:`${e}-id`}})(),Zl=(()=>{const e=`${fe}-droppable`;return{base:e,contextId:`${e}-context-id`,id:`${e}-id`}})(),_n={contextId:`${fe}-scroll-container-context-id`},ec=s(e=>t=>`[${t}="${e}"]`,"makeGetSelector"),Se=s((e,t)=>e.map(n=>{const r=n.styles[t];return r?`${n.selector} { ${r} }`:""}).join(" "),"getStyles"),tc="pointer-events: none;";var nc=s(e=>{const t=ec(e),n=(()=>{const l=` - cursor: -webkit-grab; - cursor: grab; - `;return{selector:t(ge.contextId),styles:{always:` - -webkit-touch-callout: none; - -webkit-tap-highlight-color: rgba(0,0,0,0); - touch-action: manipulation; - `,resting:l,dragging:tc,dropAnimating:l}}})(),r=(()=>{const l=` - transition: ${Ee.outOfTheWay}; - `;return{selector:t(Ot.contextId),styles:{dragging:l,dropAnimating:l,userCancel:l}}})(),o={selector:t(Zl.contextId),styles:{always:"overflow-anchor: none;"}},a=[r,n,o,{selector:"body",styles:{dragging:` - cursor: grabbing; - cursor: -webkit-grabbing; - user-select: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - overflow-anchor: none; - `}}];return{always:Se(a,"always"),resting:Se(a,"resting"),dragging:Se(a,"dragging"),dropAnimating:Se(a,"dropAnimating"),userCancel:Se(a,"userCancel")}},"getStyles$1");const rc=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u"?I.useLayoutEffect:I.useEffect;var z=rc;const bt=s(()=>{const e=document.querySelector("head");return e||y(!1),e},"getHead"),Un=s(e=>{const t=document.createElement("style");return e&&t.setAttribute("nonce",e),t.type="text/css",t},"createStyleEl");function oc(e,t){const n=R(()=>nc(e),[e]),r=I.useRef(null),o=I.useRef(null),i=C(F(u=>{const d=o.current;d||y(!1),d.textContent=u}),[]),a=C(u=>{const d=r.current;d||y(!1),d.textContent=u},[]);z(()=>{!r.current&&!o.current||y(!1);const u=Un(t),d=Un(t);return r.current=u,o.current=d,u.setAttribute(`${fe}-always`,e),d.setAttribute(`${fe}-dynamic`,e),bt().appendChild(u),bt().appendChild(d),a(n.always),i(n.resting),()=>{const g=s(m=>{const h=m.current;h||y(!1),bt().removeChild(h),m.current=null},"remove");g(r),g(o)}},[t,a,i,n.always,n.resting,e]);const l=C(()=>i(n.dragging),[i,n.dragging]),c=C(u=>{if(u==="DROP"){i(n.dropAnimating);return}i(n.userCancel)},[i,n.dropAnimating,n.userCancel]),p=C(()=>{o.current&&i(n.resting)},[i,n.resting]);return R(()=>({dragging:l,dropping:c,resting:p}),[l,c,p])}s(oc,"useStyleMarshal");function Qr(e,t){return Array.from(e.querySelectorAll(t))}s(Qr,"querySelectorAll");var Zr=s(e=>{var t;return((t=e==null?void 0:e.ownerDocument)==null?void 0:t.defaultView)||window},"getWindowFromEl");function tt(e){return e instanceof Zr(e).HTMLElement}s(tt,"isHtmlElement");function ic(e,t){const n=`[${ge.contextId}="${e}"]`,r=Qr(document,n);if(!r.length)return null;const o=r.find(i=>i.getAttribute(ge.draggableId)===t);return!o||!tt(o)?null:o}s(ic,"findDragHandle");function sc(e){const t=I.useRef({}),n=I.useRef(null),r=I.useRef(null),o=I.useRef(!1),i=C(s(function(d,g){const m={id:d,focus:g};return t.current[d]=m,s(function(){const b=t.current;b[d]!==m&&delete b[d]},"unregister")},"register2"),[]),a=C(s(function(d){const g=ic(e,d);g&&g!==document.activeElement&&g.focus()},"tryGiveFocus2"),[e]),l=C(s(function(d,g){n.current===d&&(n.current=g)},"tryShiftRecord2"),[]),c=C(s(function(){r.current||o.current&&(r.current=requestAnimationFrame(()=>{r.current=null;const d=n.current;d&&a(d)}))},"tryRestoreFocusRecorded2"),[a]),p=C(s(function(d){n.current=null;const g=document.activeElement;g&&g.getAttribute(ge.draggableId)===d&&(n.current=d)},"tryRecordFocus2"),[]);return z(()=>(o.current=!0,s(function(){o.current=!1;const d=r.current;d&&cancelAnimationFrame(d)},"clearFrameOnUnmount")),[]),R(()=>({register:i,tryRecordFocus:p,tryRestoreFocusRecorded:c,tryShiftRecord:l}),[i,p,c,l])}s(sc,"useFocusMarshal");function ac(){const e={draggables:{},droppables:{}},t=[];function n(u){return t.push(u),s(function(){const g=t.indexOf(u);g!==-1&&t.splice(g,1)},"unsubscribe")}s(n,"subscribe");function r(u){t.length&&t.forEach(d=>d(u))}s(r,"notify");function o(u){return e.draggables[u]||null}s(o,"findDraggableById");function i(u){const d=o(u);return d||y(!1),d}s(i,"getDraggableById");const a={register:u=>{e.draggables[u.descriptor.id]=u,r({type:"ADDITION",value:u})},update:(u,d)=>{const g=e.draggables[d.descriptor.id];g&&g.uniqueId===u.uniqueId&&(delete e.draggables[d.descriptor.id],e.draggables[u.descriptor.id]=u)},unregister:u=>{const d=u.descriptor.id,g=o(d);g&&u.uniqueId===g.uniqueId&&(delete e.draggables[d],e.droppables[u.descriptor.droppableId]&&r({type:"REMOVAL",value:u}))},getById:i,findById:o,exists:u=>!!o(u),getAllByType:u=>Object.values(e.draggables).filter(d=>d.descriptor.type===u)};function l(u){return e.droppables[u]||null}s(l,"findDroppableById");function c(u){const d=l(u);return d||y(!1),d}s(c,"getDroppableById");const p={register:u=>{e.droppables[u.descriptor.id]=u},unregister:u=>{const d=l(u.descriptor.id);d&&u.uniqueId===d.uniqueId&&delete e.droppables[u.descriptor.id]},getById:c,findById:l,exists:u=>!!l(u),getAllByType:u=>Object.values(e.droppables).filter(d=>d.descriptor.type===u)};function f(){e.draggables={},e.droppables={},t.length=0}return s(f,"clean2"),{draggable:a,droppable:p,subscribe:n,clean:f}}s(ac,"createRegistry");function lc(){const e=R(ac,[]);return I.useEffect(()=>s(function(){A.version.startsWith("16")||A.version.startsWith("17")?requestAnimationFrame(e.clean):e.clean()},"unmount"),[e]),e}s(lc,"useRegistry");var en=A.createContext(null),Ye=s(()=>{const e=document.body;return e||y(!1),e},"getBodyElement");const cc={position:"absolute",width:"1px",height:"1px",margin:"-1px",border:"0",padding:"0",overflow:"hidden",clip:"rect(0 0 0 0)","clip-path":"inset(100%)"};var dc=cc;const uc=s(e=>`rfd-announcement-${e}`,"getId");function pc(e){const t=R(()=>uc(e),[e]),n=I.useRef(null);return I.useEffect(s(function(){const i=document.createElement("div");return n.current=i,i.id=t,i.setAttribute("aria-live","assertive"),i.setAttribute("aria-atomic","true"),ce(i.style,dc),Ye().appendChild(i),s(function(){setTimeout(s(function(){const c=Ye();c.contains(i)&&c.removeChild(i),i===n.current&&(n.current=null)},"remove"))},"cleanup")},"setup"),[t]),C(o=>{const i=n.current;if(i){i.textContent=o;return}},[])}s(pc,"useAnnouncer");let fc=0;const eo={separator:"::"};function gc(e,t){return t===void 0&&(t=eo),R(()=>`${e}${t.separator}${fc++}`,[t.separator,e])}s(gc,"useDeprecatedUniqueId");function mc(e,t){t===void 0&&(t=eo);const n=A.useId();return R(()=>`${e}${t.separator}${n}`,[t.separator,e,n])}s(mc,"useUniqueId");var tn="useId"in A?mc:gc;function bc(e){let{contextId:t,uniqueId:n}=e;return`rfd-hidden-text-${t}-${n}`}s(bc,"getElementId");function hc(e){let{contextId:t,text:n}=e;const r=tn("hidden-text",{separator:"-"}),o=R(()=>bc({contextId:t,uniqueId:r}),[r,t]);return I.useEffect(s(function(){const a=document.createElement("div");return a.id=o,a.textContent=n,a.style.display="none",Ye().appendChild(a),s(function(){const c=Ye();c.contains(a)&&c.removeChild(a)},"unmount")},"mount"),[o,n]),o}s(hc,"useHiddenTextElement");var nt=A.createContext(null);function to(e){const t=I.useRef(e);return I.useEffect(()=>{t.current=e}),t}s(to,"usePrevious");function vc(){let e=null;function t(){return!!e}s(t,"isClaimed");function n(a){return a===e}s(n,"isActive2");function r(a){e&&y(!1);const l={abandon:a};return e=l,l}s(r,"claim");function o(){e||y(!1),e=null}s(o,"release");function i(){e&&(e.abandon(),o())}return s(i,"tryAbandon"),{isClaimed:t,isActive:n,claim:r,release:o,tryAbandon:i}}s(vc,"create");function Le(e){return e.phase==="IDLE"||e.phase==="DROP_ANIMATING"?!1:e.isDragging}s(Le,"isDragging");const yc=9,xc=13,nn=27,no=32,Dc=33,Ic=34,Sc=35,wc=36,Cc=37,Ec=38,Ac=39,Pc=40,Rc={[xc]:!0,[yc]:!0};var ro=s(e=>{Rc[e.keyCode]&&e.preventDefault()},"preventStandardKeyEvents");const Oc=(()=>{const e="visibilitychange";return typeof document>"u"?e:[e,`ms${e}`,`webkit${e}`,`moz${e}`,`o${e}`].find(r=>`on${r}`in document)||e})();var rt=Oc;const oo=0,Vn=5;function Bc(e,t){return Math.abs(t.x-e.x)>=Vn||Math.abs(t.y-e.y)>=Vn}s(Bc,"isSloppyClickThresholdExceeded");const kn={type:"IDLE"};function Nc(e){let{cancel:t,completed:n,getPhase:r,setPhase:o}=e;return[{eventName:"mousemove",fn:i=>{const{button:a,clientX:l,clientY:c}=i;if(a!==oo)return;const p={x:l,y:c},f=r();if(f.type==="DRAGGING"){i.preventDefault(),f.actions.move(p);return}f.type!=="PENDING"&&y(!1);const u=f.point;if(!Bc(u,p))return;i.preventDefault();const d=f.actions.fluidLift(p);o({type:"DRAGGING",actions:d})}},{eventName:"mouseup",fn:i=>{const a=r();if(a.type!=="DRAGGING"){t();return}i.preventDefault(),a.actions.drop({shouldBlockNextClick:!0}),n()}},{eventName:"mousedown",fn:i=>{r().type==="DRAGGING"&&i.preventDefault(),t()}},{eventName:"keydown",fn:i=>{if(r().type==="PENDING"){t();return}if(i.keyCode===nn){i.preventDefault(),t();return}ro(i)}},{eventName:"resize",fn:t},{eventName:"scroll",options:{passive:!0,capture:!1},fn:()=>{r().type==="PENDING"&&t()}},{eventName:"webkitmouseforcedown",fn:i=>{const a=r();if(a.type==="IDLE"&&y(!1),a.actions.shouldRespectForcePress()){t();return}i.preventDefault()}},{eventName:rt,fn:t}]}s(Nc,"getCaptureBindings");function Tc(e){const t=I.useRef(kn),n=I.useRef(te),r=R(()=>({eventName:"mousedown",fn:s(function(u){if(u.defaultPrevented||u.button!==oo||u.ctrlKey||u.metaKey||u.shiftKey||u.altKey)return;const d=e.findClosestDraggableId(u);if(!d)return;const g=e.tryGetLock(d,a,{sourceEvent:u});if(!g)return;u.preventDefault();const m={x:u.clientX,y:u.clientY};n.current(),p(g,m)},"onMouseDown")}),[e]),o=R(()=>({eventName:"webkitmouseforcewillbegin",fn:f=>{if(f.defaultPrevented)return;const u=e.findClosestDraggableId(f);if(!u)return;const d=e.findOptionsForDraggable(u);d&&(d.shouldRespectForcePress||e.canGetLock(u)&&f.preventDefault())}}),[e]),i=C(s(function(){const u={passive:!1,capture:!0};n.current=J(window,[o,r],u)},"listenForCapture2"),[o,r]),a=C(()=>{t.current.type!=="IDLE"&&(t.current=kn,n.current(),i())},[i]),l=C(()=>{const f=t.current;a(),f.type==="DRAGGING"&&f.actions.cancel({shouldBlockNextClick:!0}),f.type==="PENDING"&&f.actions.abort()},[a]),c=C(s(function(){const u={capture:!0,passive:!1},d=Nc({cancel:l,completed:a,getPhase:()=>t.current,setPhase:g=>{t.current=g}});n.current=J(window,d,u)},"bindCapturingEvents2"),[l,a]),p=C(s(function(u,d){t.current.type!=="IDLE"&&y(!1),t.current={type:"PENDING",point:d,actions:u},c()},"startPendingDrag2"),[c]);z(s(function(){return i(),s(function(){n.current()},"unmount")},"mount"),[i])}s(Tc,"useMouseSensor");function Lc(){}s(Lc,"noop$1");const Mc={[Ic]:!0,[Dc]:!0,[wc]:!0,[Sc]:!0};function Fc(e,t){function n(){t(),e.cancel()}s(n,"cancel");function r(){t(),e.drop()}return s(r,"drop2"),[{eventName:"keydown",fn:o=>{if(o.keyCode===nn){o.preventDefault(),n();return}if(o.keyCode===no){o.preventDefault(),r();return}if(o.keyCode===Pc){o.preventDefault(),e.moveDown();return}if(o.keyCode===Ec){o.preventDefault(),e.moveUp();return}if(o.keyCode===Ac){o.preventDefault(),e.moveRight();return}if(o.keyCode===Cc){o.preventDefault(),e.moveLeft();return}if(Mc[o.keyCode]){o.preventDefault();return}ro(o)}},{eventName:"mousedown",fn:n},{eventName:"mouseup",fn:n},{eventName:"click",fn:n},{eventName:"touchstart",fn:n},{eventName:"resize",fn:n},{eventName:"wheel",fn:n,options:{passive:!0}},{eventName:rt,fn:n}]}s(Fc,"getDraggingBindings");function Gc(e){const t=I.useRef(Lc),n=R(()=>({eventName:"keydown",fn:s(function(i){if(i.defaultPrevented||i.keyCode!==no)return;const a=e.findClosestDraggableId(i);if(!a)return;const l=e.tryGetLock(a,f,{sourceEvent:i});if(!l)return;i.preventDefault();let c=!0;const p=l.snapLift();t.current();function f(){c||y(!1),c=!1,t.current(),r()}s(f,"stop"),t.current=J(window,Fc(p,f),{capture:!0,passive:!1})},"onKeyDown")}),[e]),r=C(s(function(){const i={passive:!1,capture:!0};t.current=J(window,[n],i)},"tryStartCapture"),[n]);z(s(function(){return r(),s(function(){t.current()},"unmount")},"mount"),[r])}s(Gc,"useKeyboardSensor");const ht={type:"IDLE"},$c=120,jc=.15;function Wc(e){let{cancel:t,getPhase:n}=e;return[{eventName:"orientationchange",fn:t},{eventName:"resize",fn:t},{eventName:"contextmenu",fn:r=>{r.preventDefault()}},{eventName:"keydown",fn:r=>{if(n().type!=="DRAGGING"){t();return}r.keyCode===nn&&r.preventDefault(),t()}},{eventName:rt,fn:t}]}s(Wc,"getWindowBindings");function _c(e){let{cancel:t,completed:n,getPhase:r}=e;return[{eventName:"touchmove",options:{capture:!1},fn:o=>{const i=r();if(i.type!=="DRAGGING"){t();return}i.hasMoved=!0;const{clientX:a,clientY:l}=o.touches[0],c={x:a,y:l};o.preventDefault(),i.actions.move(c)}},{eventName:"touchend",fn:o=>{const i=r();if(i.type!=="DRAGGING"){t();return}o.preventDefault(),i.actions.drop({shouldBlockNextClick:!0}),n()}},{eventName:"touchcancel",fn:o=>{if(r().type!=="DRAGGING"){t();return}o.preventDefault(),t()}},{eventName:"touchforcechange",fn:o=>{const i=r();i.type==="IDLE"&&y(!1);const a=o.touches[0];if(!a||!(a.force>=jc))return;const c=i.actions.shouldRespectForcePress();if(i.type==="PENDING"){c&&t();return}if(c){if(i.hasMoved){o.preventDefault();return}t();return}o.preventDefault()}},{eventName:rt,fn:t}]}s(_c,"getHandleBindings");function Uc(e){const t=I.useRef(ht),n=I.useRef(te),r=C(s(function(){return t.current},"getPhase2"),[]),o=C(s(function(g){t.current=g},"setPhase2"),[]),i=R(()=>({eventName:"touchstart",fn:s(function(g){if(g.defaultPrevented)return;const m=e.findClosestDraggableId(g);if(!m)return;const h=e.tryGetLock(m,l,{sourceEvent:g});if(!h)return;const b=g.touches[0],{clientX:x,clientY:D}=b,w={x,y:D};n.current(),u(h,w)},"onTouchStart")}),[e]),a=C(s(function(){const g={capture:!0,passive:!1};n.current=J(window,[i],g)},"listenForCapture2"),[i]),l=C(()=>{const d=t.current;d.type!=="IDLE"&&(d.type==="PENDING"&&clearTimeout(d.longPressTimerId),o(ht),n.current(),a())},[a,o]),c=C(()=>{const d=t.current;l(),d.type==="DRAGGING"&&d.actions.cancel({shouldBlockNextClick:!0}),d.type==="PENDING"&&d.actions.abort()},[l]),p=C(s(function(){const g={capture:!0,passive:!1},m={cancel:c,completed:l,getPhase:r},h=J(window,_c(m),g),b=J(window,Wc(m),g);n.current=s(function(){h(),b()},"unbindAll")},"bindCapturingEvents2"),[c,r,l]),f=C(s(function(){const g=r();g.type!=="PENDING"&&y(!1);const m=g.actions.fluidLift(g.point);o({type:"DRAGGING",actions:m,hasMoved:!1})},"startDragging2"),[r,o]),u=C(s(function(g,m){r().type!=="IDLE"&&y(!1);const h=setTimeout(f,$c);o({type:"PENDING",point:m,actions:g,longPressTimerId:h}),p()},"startPendingDrag2"),[p,r,o,f]);z(s(function(){return a(),s(function(){n.current();const m=r();m.type==="PENDING"&&(clearTimeout(m.longPressTimerId),o(ht))},"unmount")},"mount"),[r,a,o]),z(s(function(){return J(window,[{eventName:"touchmove",fn:()=>{},options:{capture:!1,passive:!1}}])},"webkitHack"),[])}s(Uc,"useTouchSensor");const Vc=["input","button","textarea","select","option","optgroup","video","audio"];function io(e,t){if(t==null)return!1;if(Vc.includes(t.tagName.toLowerCase()))return!0;const r=t.getAttribute("contenteditable");return r==="true"||r===""?!0:t===e?!1:io(e,t.parentElement)}s(io,"isAnInteractiveElement");function kc(e,t){const n=t.target;return tt(n)?io(e,n):!1}s(kc,"isEventInInteractiveElement");var Hc=s(e=>Z(e.getBoundingClientRect()).center,"getBorderBoxCenterPosition");function qc(e){return e instanceof Zr(e).Element}s(qc,"isElement");const zc=(()=>{const e="matches";return typeof document>"u"?e:[e,"msMatchesSelector","webkitMatchesSelector"].find(r=>r in Element.prototype)||e})();function so(e,t){return e==null?null:e[zc](t)?e:so(e.parentElement,t)}s(so,"closestPonyfill");function Yc(e,t){return e.closest?e.closest(t):so(e,t)}s(Yc,"closest");function Kc(e){return`[${ge.contextId}="${e}"]`}s(Kc,"getSelector");function Jc(e,t){const n=t.target;if(!qc(n))return null;const r=Kc(e),o=Yc(n,r);return!o||!tt(o)?null:o}s(Jc,"findClosestDragHandleFromEvent");function Xc(e,t){const n=Jc(e,t);return n?n.getAttribute(ge.draggableId):null}s(Xc,"tryGetClosestDraggableIdFromEvent");function Qc(e,t){const n=`[${Ot.contextId}="${e}"]`,o=Qr(document,n).find(i=>i.getAttribute(Ot.id)===t);return!o||!tt(o)?null:o}s(Qc,"findDraggable");function Zc(e){e.preventDefault()}s(Zc,"preventDefault");function We(e){let{expected:t,phase:n,isLockActive:r,shouldWarn:o}=e;return!(!r()||t!==n)}s(We,"isActive");function ao(e){let{lockAPI:t,store:n,registry:r,draggableId:o}=e;if(t.isClaimed())return!1;const i=r.draggable.findById(o);return!(!i||!i.options.isEnabled||!Yr(n.getState(),o))}s(ao,"canStart");function ed(e){let{lockAPI:t,contextId:n,store:r,registry:o,draggableId:i,forceSensorStop:a,sourceEvent:l}=e;if(!ao({lockAPI:t,store:r,registry:o,draggableId:i}))return null;const p=o.draggable.getById(i),f=Qc(n,p.descriptor.id);if(!f||l&&!p.options.canDragInteractiveElements&&kc(f,l))return null;const u=t.claim(a||te);let d="PRE_DRAG";function g(){return p.options.shouldRespectForcePress}s(g,"getShouldRespectForcePress");function m(){return t.isActive(u)}s(m,"isLockActive");function h(E,O){We({expected:E,phase:d,isLockActive:m,shouldWarn:!0})&&r.dispatch(O())}s(h,"tryDispatch");const b=h.bind(null,"DRAGGING");function x(E){function O(){t.release(),d="COMPLETED"}s(O,"completed"),d!=="PRE_DRAG"&&(O(),y(!1)),r.dispatch($a(E.liftActionArgs)),d="DRAGGING";function T(M,N){if(N===void 0&&(N={shouldBlockNextClick:!1}),E.cleanup(),N.shouldBlockNextClick){const B=J(window,[{eventName:"click",fn:Zc,options:{once:!0,passive:!1,capture:!0}}]);setTimeout(B)}O(),r.dispatch(Wr({reason:M}))}return s(T,"finish2"),{isActive:()=>We({expected:"DRAGGING",phase:d,isLockActive:m,shouldWarn:!1}),shouldRespectForcePress:g,drop:M=>T("DROP",M),cancel:M=>T("CANCEL",M),...E.actions}}s(x,"lift2");function D(E){const O=Pe(M=>{b(()=>jr({client:M}))});return{...x({liftActionArgs:{id:i,clientSelection:E,movementMode:"FLUID"},cleanup:()=>O.cancel(),actions:{move:O}}),move:O}}s(D,"fluidLift");function w(){const E={moveUp:()=>b(za),moveRight:()=>b(Ka),moveDown:()=>b(Ya),moveLeft:()=>b(Ja)};return x({liftActionArgs:{id:i,clientSelection:Hc(f),movementMode:"SNAP"},cleanup:te,actions:E})}s(w,"snapLift");function S(){We({expected:"PRE_DRAG",phase:d,isLockActive:m,shouldWarn:!0})&&t.release()}return s(S,"abortPreDrag"),{isActive:()=>We({expected:"PRE_DRAG",phase:d,isLockActive:m,shouldWarn:!1}),shouldRespectForcePress:g,fluidLift:D,snapLift:w,abort:S}}s(ed,"tryStart");const td=[Tc,Gc,Uc];function nd(e){let{contextId:t,store:n,registry:r,customSensors:o,enableDefaultSensors:i}=e;const a=[...i?td:[],...o||[]],l=I.useState(()=>vc())[0],c=C(s(function(x,D){Le(x)&&!Le(D)&&l.tryAbandon()},"tryAbandonLock2"),[l]);z(s(function(){let x=n.getState();return n.subscribe(()=>{const w=n.getState();c(x,w),x=w})},"listenToStore"),[l,n,c]),z(()=>l.tryAbandon,[l.tryAbandon]);const p=C(b=>ao({lockAPI:l,registry:r,store:n,draggableId:b}),[l,r,n]),f=C((b,x,D)=>ed({lockAPI:l,registry:r,contextId:t,store:n,draggableId:b,forceSensorStop:x||null,sourceEvent:D&&D.sourceEvent?D.sourceEvent:null}),[t,l,r,n]),u=C(b=>Xc(t,b),[t]),d=C(b=>{const x=r.draggable.findById(b);return x?x.options:null},[r.draggable]),g=C(s(function(){l.isClaimed()&&(l.tryAbandon(),n.getState().phase!=="IDLE"&&n.dispatch(zt()))},"tryReleaseLock2"),[l,n]),m=C(()=>l.isClaimed(),[l]),h=R(()=>({canGetLock:p,tryGetLock:f,findClosestDraggableId:u,findOptionsForDraggable:d,tryReleaseLock:g,isLockClaimed:m}),[p,f,u,d,g,m]);for(let b=0;b({onBeforeCapture:t=>{const n=s(()=>{e.onBeforeCapture&&e.onBeforeCapture(t)},"onBeforeCapureCallback");A.version.startsWith("16")||A.version.startsWith("17")?n():Tt.flushSync(n)},onBeforeDragStart:e.onBeforeDragStart,onDragStart:e.onDragStart,onDragEnd:e.onDragEnd,onDragUpdate:e.onDragUpdate}),"createResponders"),od=s(e=>({...Te,...e.autoScrollerOptions,durationDampening:{...Te.durationDampening,...e.autoScrollerOptions}}),"createAutoScrollerOptions");function we(e){return e.current||y(!1),e.current}s(we,"getStore");function id(e){const{contextId:t,setCallbacks:n,sensors:r,nonce:o,dragHandleUsageInstructions:i}=e,a=I.useRef(null),l=to(e),c=C(()=>rd(l.current),[l]),p=C(()=>od(l.current),[l]),f=pc(t),u=hc({contextId:t,text:i}),d=oc(t,o),g=C(N=>{we(a).dispatch(N)},[]),m=R(()=>vn({publishWhileDragging:Wa,updateDroppableScroll:Ua,updateDroppableIsEnabled:Va,updateDroppableIsCombineEnabled:ka,collectionStarting:_a},g),[g]),h=lc(),b=R(()=>Ml(h,m),[h,m]),x=R(()=>Ql({scrollWindow:Fl,scrollDroppable:b.scrollDroppable,getAutoScrollerOptions:p,...vn({move:jr},g)}),[b.scrollDroppable,g,p]),D=sc(t),w=R(()=>Bl({announce:f,autoScroller:x,dimensionMarshal:b,focusMarshal:D,getResponders:c,styleMarshal:d}),[f,x,b,D,c,d]);a.current=w;const S=C(()=>{const N=we(a);N.getState().phase!=="IDLE"&&N.dispatch(zt())},[]),P=C(()=>{const N=we(a).getState();return N.phase==="DROP_ANIMATING"?!0:N.phase==="IDLE"?!1:N.isDragging},[]),E=R(()=>({isDragging:P,tryAbort:S}),[P,S]);n(E);const O=C(N=>Yr(we(a).getState(),N),[]),T=C(()=>ae(we(a).getState()),[]),M=R(()=>({marshal:b,focus:D,contextId:t,canLift:O,isMovementAllowed:T,dragHandleUsageInstructionsId:u,registry:h}),[t,b,u,D,O,T,h]);return nd({contextId:t,store:w,registry:h,customSensors:r||null,enableDefaultSensors:e.enableDefaultSensors!==!1}),I.useEffect(()=>S,[S]),A.createElement(nt.Provider,{value:M},A.createElement(bs,{context:en,store:w},e.children))}s(id,"App");let sd=0;function ad(){return R(()=>`${sd++}`,[])}s(ad,"useDeprecatedUniqueContextId");function ld(){return A.useId()}s(ld,"useUniqueContextId");var cd="useId"in A?ld:ad;function dd(e){const t=cd(),n=e.dragHandleUsageInstructions||Ue.dragHandleUsageInstructions;return A.createElement(Ct,null,r=>A.createElement(id,{nonce:e.nonce,contextId:t,setCallbacks:r,dragHandleUsageInstructions:n,enableDefaultSensors:e.enableDefaultSensors,sensors:e.sensors,onBeforeCapture:e.onBeforeCapture,onBeforeDragStart:e.onBeforeDragStart,onDragStart:e.onDragStart,onDragUpdate:e.onDragUpdate,onDragEnd:e.onDragEnd,autoScrollerOptions:e.autoScrollerOptions},e.children))}s(dd,"DragDropContext");const Hn={dragging:5e3,dropAnimating:4500},ud=s((e,t)=>t?Ee.drop(t.duration):e?Ee.snap:Ee.fluid,"getDraggingTransition"),pd=s((e,t)=>{if(e)return t?Ne.opacity.drop:Ne.opacity.combining},"getDraggingOpacity"),fd=s(e=>e.forceShouldAnimate!=null?e.forceShouldAnimate:e.mode==="SNAP","getShouldDraggingAnimate");function gd(e){const n=e.dimension.client,{offset:r,combineWith:o,dropping:i}=e,a=!!o,l=fd(e),c=!!i,p=c?Pt.drop(r,a):Pt.moveTo(r);return{position:"fixed",top:n.marginBox.top,left:n.marginBox.left,boxSizing:"border-box",width:n.borderBox.width,height:n.borderBox.height,transition:ud(l,i),transform:p,opacity:pd(a,c),zIndex:c?Hn.dropAnimating:Hn.dragging,pointerEvents:"none"}}s(gd,"getDraggingStyle");function md(e){return{transform:Pt.moveTo(e.offset),transition:e.shouldAnimateDisplacement?void 0:"none"}}s(md,"getSecondaryStyle");function bd(e){return e.type==="DRAGGING"?gd(e):md(e)}s(bd,"getStyle$1");function hd(e,t,n){n===void 0&&(n=G);const r=window.getComputedStyle(t),o=t.getBoundingClientRect(),i=gr(o,r),a=He(i,n),l={client:i,tagName:t.tagName.toLowerCase(),display:r.display},c={x:i.marginBox.width,y:i.marginBox.height};return{descriptor:e,placeholder:l,displaceBy:c,client:i,page:a}}s(hd,"getDimension$1");function vd(e){const t=tn("draggable"),{descriptor:n,registry:r,getDraggableRef:o,canDragInteractiveElements:i,shouldRespectForcePress:a,isEnabled:l}=e,c=R(()=>({canDragInteractiveElements:i,shouldRespectForcePress:a,isEnabled:l}),[i,l,a]),p=C(g=>{const m=o();return m||y(!1),hd(n,m,g)},[n,o]),f=R(()=>({uniqueId:t,descriptor:n,options:c,getDimension:p}),[n,p,c,t]),u=I.useRef(f),d=I.useRef(!0);z(()=>(r.draggable.register(u.current),()=>r.draggable.unregister(u.current)),[r.draggable]),z(()=>{if(d.current){d.current=!1;return}const g=u.current;u.current=f,r.draggable.update(f,g)},[f,r.draggable])}s(vd,"useDraggablePublisher");var rn=A.createContext(null);function Ke(e){const t=I.useContext(e);return t||y(!1),t}s(Ke,"useRequiredContext");function yd(e){e.preventDefault()}s(yd,"preventHtml5Dnd");const xd=s(e=>{const t=I.useRef(null),n=C(function(E){E===void 0&&(E=null),t.current=E},[]),r=C(()=>t.current,[]),{contextId:o,dragHandleUsageInstructionsId:i,registry:a}=Ke(nt),{type:l,droppableId:c}=Ke(rn),p=R(()=>({id:e.draggableId,index:e.index,type:l,droppableId:c}),[e.draggableId,e.index,l,c]),{children:f,draggableId:u,isEnabled:d,shouldRespectForcePress:g,canDragInteractiveElements:m,isClone:h,mapped:b,dropAnimationFinished:x}=e;if(!h){const E=R(()=>({descriptor:p,registry:a,getDraggableRef:r,canDragInteractiveElements:m,shouldRespectForcePress:g,isEnabled:d}),[p,a,r,m,g,d]);vd(E)}const D=R(()=>d?{tabIndex:0,role:"button","aria-describedby":i,"data-rfd-drag-handle-draggable-id":u,"data-rfd-drag-handle-context-id":o,draggable:!1,onDragStart:yd}:null,[o,i,u,d]),w=C(E=>{b.type==="DRAGGING"&&b.dropping&&E.propertyName==="transform"&&(A.version.startsWith("16")||A.version.startsWith("17")?x():Tt.flushSync(x))},[x,b]),S=R(()=>{const E=bd(b),O=b.type==="DRAGGING"&&b.dropping?w:void 0;return{innerRef:n,draggableProps:{"data-rfd-draggable-context-id":o,"data-rfd-draggable-id":u,style:E,onTransitionEnd:O},dragHandleProps:D}},[o,D,u,b,w,n]),P=R(()=>({draggableId:p.id,type:p.type,source:{index:p.index,droppableId:p.droppableId}}),[p.droppableId,p.id,p.index,p.type]);return A.createElement(A.Fragment,null,f(S,b.snapshot,P))},"Draggable");var Dd=xd,lo=s((e,t)=>e===t,"isStrictEqual"),co=s(e=>{const{combine:t,destination:n}=e;return n?n.droppableId:t?t.droppableId:null},"whatIsDraggedOverFromResult");const Id=s(e=>e.combine?e.combine.draggableId:null,"getCombineWithFromResult"),Sd=s(e=>e.at&&e.at.type==="COMBINE"?e.at.combine.draggableId:null,"getCombineWithFromImpact");function wd(){const e=F((o,i)=>({x:o,y:i})),t=F(function(o,i,a,l,c){return a===void 0&&(a=null),l===void 0&&(l=null),c===void 0&&(c=null),{isDragging:!0,isClone:i,isDropAnimating:!!c,dropAnimation:c,mode:o,draggingOver:a,combineWith:l,combineTargetFor:null}}),n=F(function(o,i,a,l,c,p,f){return c===void 0&&(c=null),p===void 0&&(p=null),f===void 0&&(f=null),{mapped:{type:"DRAGGING",dropping:null,draggingOver:c,combineWith:p,mode:i,offset:o,dimension:a,forceShouldAnimate:f,snapshot:t(i,l,c,p,null)}}});return s((o,i)=>{if(Le(o)){if(o.critical.draggable.id!==i.draggableId)return null;const a=o.current.client.offset,l=o.dimensions.draggables[i.draggableId],c=q(o.impact),p=Sd(o.impact),f=o.forceShouldAnimate;return n(e(a.x,a.y),o.movementMode,l,i.isClone,c,p,f)}if(o.phase==="DROP_ANIMATING"){const a=o.completed;if(a.result.draggableId!==i.draggableId)return null;const l=i.isClone,c=o.dimensions.draggables[i.draggableId],p=a.result,f=p.mode,u=co(p),d=Id(p),m={duration:o.dropDuration,curve:Kt.drop,moveTo:o.newHomeClientOffset,opacity:d?Ne.opacity.drop:null,scale:d?Ne.scale.drop:null};return{mapped:{type:"DRAGGING",offset:o.newHomeClientOffset,dimension:c,dropping:m,draggingOver:u,combineWith:d,mode:f,forceShouldAnimate:null,snapshot:t(f,l,u,d,m)}}}return null},"selector")}s(wd,"getDraggableSelector");function uo(e){return e===void 0&&(e=null),{isDragging:!1,isDropAnimating:!1,isClone:!1,dropAnimation:null,mode:null,draggingOver:null,combineTargetFor:e,combineWith:null}}s(uo,"getSecondarySnapshot");const Cd={mapped:{type:"SECONDARY",offset:G,combineTargetFor:null,shouldAnimateDisplacement:!0,snapshot:uo(null)}};function Ed(){const e=F((a,l)=>({x:a,y:l})),t=F(uo),n=F(function(a,l,c){return l===void 0&&(l=null),{mapped:{type:"SECONDARY",offset:a,combineTargetFor:l,shouldAnimateDisplacement:c,snapshot:t(l)}}}),r=s(a=>a?n(G,a,!0):null,"getFallback"),o=s((a,l,c,p)=>{const f=c.displaced.visible[a],u=!!(p.inVirtualList&&p.effected[a]),d=Qe(c),g=d&&d.draggableId===a?l:null;if(!f){if(!u)return r(g);if(c.displaced.invisible[a])return null;const b=me(p.displacedBy.point),x=e(b.x,b.y);return n(x,g,!0)}if(u)return r(g);const m=c.displacedBy.point,h=e(m.x,m.y);return n(h,g,f.shouldAnimate)},"getProps");return s((a,l)=>{if(Le(a))return a.critical.draggable.id===l.draggableId?null:o(l.draggableId,a.critical.draggable.id,a.impact,a.afterCritical);if(a.phase==="DROP_ANIMATING"){const c=a.completed;return c.result.draggableId===l.draggableId?null:o(l.draggableId,c.result.draggableId,c.impact,c.afterCritical)}return null},"selector")}s(Ed,"getSecondarySelector");const Ad=s(()=>{const e=wd(),t=Ed();return s((r,o)=>e(r,o)||t(r,o)||Cd,"selector")},"makeMapStateToProps$1"),Pd={dropAnimationFinished:_r},Rd=pr(Ad,Pd,null,{context:en,areStatePropsEqual:lo})(Dd);var Od=Rd;function po(e){return Ke(rn).isUsingCloneFor===e.draggableId&&!e.isClone?null:A.createElement(Od,e)}s(po,"PrivateDraggable");function Bd(e){const t=typeof e.isDragDisabled=="boolean"?!e.isDragDisabled:!0,n=!!e.disableInteractiveElementBlocking,r=!!e.shouldRespectForcePress;return A.createElement(po,ce({},e,{isClone:!1,isEnabled:t,canDragInteractiveElements:n,shouldRespectForcePress:r}))}s(Bd,"PublicDraggable");const fo=s(e=>t=>e===t,"isEqual"),Nd=fo("scroll"),Td=fo("auto"),qn=s((e,t)=>t(e.overflowX)||t(e.overflowY),"isEither"),Ld=s(e=>{const t=window.getComputedStyle(e),n={overflowX:t.overflowX,overflowY:t.overflowY};return qn(n,Nd)||qn(n,Td)},"isElementScrollable"),Md=s(()=>!1,"isBodyScrollable"),go=s(e=>e==null?null:e===document.body?Md()?e:null:e===document.documentElement?null:Ld(e)?e:go(e.parentElement),"getClosestScrollable");var Fd=go,Bt=s(e=>({x:e.scrollLeft,y:e.scrollTop}),"getScroll");const mo=s(e=>e?window.getComputedStyle(e).position==="fixed"?!0:mo(e.parentElement):!1,"getIsFixed");var Gd=s(e=>{const t=Fd(e),n=mo(e);return{closestScrollable:t,isFixedOnPage:n}},"getEnv"),$d=s(e=>{let{descriptor:t,isEnabled:n,isCombineEnabled:r,isFixedOnPage:o,direction:i,client:a,page:l,closest:c}=e;const p=(()=>{if(!c)return null;const{scrollSize:g,client:m}=c,h=Hr({scrollHeight:g.scrollHeight,scrollWidth:g.scrollWidth,height:m.paddingBox.height,width:m.paddingBox.width});return{pageMarginBox:c.page.marginBox,frameClient:m,scrollSize:g,shouldClipSubject:c.shouldClipSubject,scroll:{initial:c.scroll,current:c.scroll,max:h,diff:{value:G,displacement:G}}}})(),f=i==="vertical"?Ut:wr,u=pe({page:l,withPlaceholder:null,axis:f,frame:p});return{descriptor:t,isCombineEnabled:r,isFixedOnPage:o,axis:f,isEnabled:n,client:a,page:l,frame:p,subject:u}},"getDroppableDimension");const jd=s((e,t)=>{const n=mr(e);if(!t||e!==t)return n;const r=n.paddingBox.top-t.scrollTop,o=n.paddingBox.left-t.scrollLeft,i=r+t.scrollHeight,a=o+t.scrollWidth,c=$t({top:r,right:a,bottom:i,left:o},n.border);return jt({borderBox:c,margin:n.margin,border:n.border,padding:n.padding})},"getClient");var Wd=s(e=>{let{ref:t,descriptor:n,env:r,windowScroll:o,direction:i,isDropDisabled:a,isCombineEnabled:l,shouldClipSubject:c}=e;const p=r.closestScrollable,f=jd(t,p),u=He(f,o),d=(()=>{if(!p)return null;const m=mr(p),h={scrollHeight:p.scrollHeight,scrollWidth:p.scrollWidth};return{client:m,page:He(m,o),scroll:Bt(p),scrollSize:h,shouldClipSubject:c}})();return $d({descriptor:n,isEnabled:!a,isCombineEnabled:l,isFixedOnPage:r.isFixedOnPage,direction:i,client:f,page:u,closest:d})},"getDimension");const _d={passive:!1},Ud={passive:!0};var zn=s(e=>e.shouldPublishImmediately?_d:Ud,"getListenerOptions");const _e=s(e=>e&&e.env.closestScrollable||null,"getClosestScrollableFromDrag");function Vd(e){const t=I.useRef(null),n=Ke(nt),r=tn("droppable"),{registry:o,marshal:i}=n,a=to(e),l=R(()=>({id:e.droppableId,type:e.type,mode:e.mode}),[e.droppableId,e.mode,e.type]),c=I.useRef(l),p=R(()=>F((S,P)=>{t.current||y(!1);const E={x:S,y:P};i.updateDroppableScroll(l.id,E)}),[l.id,i]),f=C(()=>{const S=t.current;return!S||!S.env.closestScrollable?G:Bt(S.env.closestScrollable)},[]),u=C(()=>{const S=f();p(S.x,S.y)},[f,p]),d=R(()=>Pe(u),[u]),g=C(()=>{const S=t.current,P=_e(S);if(S&&P||y(!1),S.scrollOptions.shouldPublishImmediately){u();return}d()},[d,u]),m=C((S,P)=>{t.current&&y(!1);const E=a.current,O=E.getDroppableRef();O||y(!1);const T=Gd(O),M={ref:O,descriptor:l,env:T,scrollOptions:P};t.current=M;const N=Wd({ref:O,descriptor:l,env:T,windowScroll:S,direction:E.direction,isDropDisabled:E.isDropDisabled,isCombineEnabled:E.isCombineEnabled,shouldClipSubject:!E.ignoreContainerClipping}),B=T.closestScrollable;return B&&(B.setAttribute(_n.contextId,n.contextId),B.addEventListener("scroll",g,zn(M.scrollOptions))),N},[n.contextId,l,g,a]),h=C(()=>{const S=t.current,P=_e(S);return S&&P||y(!1),Bt(P)},[]),b=C(()=>{const S=t.current;S||y(!1);const P=_e(S);t.current=null,P&&(d.cancel(),P.removeAttribute(_n.contextId),P.removeEventListener("scroll",g,zn(S.scrollOptions)))},[g,d]),x=C(S=>{const P=t.current;P||y(!1);const E=_e(P);E||y(!1),E.scrollTop+=S.y,E.scrollLeft+=S.x},[]),D=R(()=>({getDimensionAndWatchScroll:m,getScrollWhileDragging:h,dragStopped:b,scroll:x}),[b,m,h,x]),w=R(()=>({uniqueId:r,descriptor:l,callbacks:D}),[D,l,r]);z(()=>(c.current=w.descriptor,o.droppable.register(w),()=>{t.current&&b(),o.droppable.unregister(w)}),[D,l,b,w,i,o.droppable]),z(()=>{t.current&&i.updateDroppableIsEnabled(c.current.id,!e.isDropDisabled)},[e.isDropDisabled,i]),z(()=>{t.current&&i.updateDroppableIsCombineEnabled(c.current.id,e.isCombineEnabled)},[e.isCombineEnabled,i])}s(Vd,"useDroppablePublisher");function vt(){}s(vt,"noop");const Yn={width:0,height:0,margin:Ts},kd=s(e=>{let{isAnimatingOpenOnMount:t,placeholder:n,animate:r}=e;return t||r==="close"?Yn:{height:n.client.borderBox.height,width:n.client.borderBox.width,margin:n.client.margin}},"getSize"),Hd=s(e=>{let{isAnimatingOpenOnMount:t,placeholder:n,animate:r}=e;const o=kd({isAnimatingOpenOnMount:t,placeholder:n,animate:r});return{display:n.display,boxSizing:"border-box",width:o.width,height:o.height,marginTop:o.margin.top,marginRight:o.margin.right,marginBottom:o.margin.bottom,marginLeft:o.margin.left,flexShrink:"0",flexGrow:"0",pointerEvents:"none",transition:r!=="none"?Ee.placeholder:null}},"getStyle"),qd=s(e=>{const t=I.useRef(null),n=C(()=>{t.current&&(clearTimeout(t.current),t.current=null)},[]),{animate:r,onTransitionEnd:o,onClose:i,contextId:a}=e,[l,c]=I.useState(e.animate==="open");I.useEffect(()=>l?r!=="open"?(n(),c(!1),vt):t.current?vt:(t.current=setTimeout(()=>{t.current=null,c(!1)}),n):vt,[r,l,n]);const p=C(u=>{u.propertyName==="height"&&(o(),r==="close"&&i())},[r,i,o]),f=Hd({isAnimatingOpenOnMount:l,animate:e.animate,placeholder:e.placeholder});return A.createElement(e.placeholder.tagName,{style:f,"data-rfd-placeholder-context-id":a,onTransitionEnd:p,ref:e.innerRef})},"Placeholder");var zd=A.memo(qd);const an=class an extends A.PureComponent{constructor(){super(...arguments),this.state={isVisible:!!this.props.on,data:this.props.on,animate:this.props.shouldAnimate&&this.props.on?"open":"none"},this.onClose=()=>{this.state.animate==="close"&&this.setState({isVisible:!1})}}static getDerivedStateFromProps(t,n){return t.shouldAnimate?t.on?{isVisible:!0,data:t.on,animate:"open"}:n.isVisible?{isVisible:!0,data:n.data,animate:"close"}:{isVisible:!1,animate:"close",data:null}:{isVisible:!!t.on,data:t.on,animate:"none"}}render(){if(!this.state.isVisible)return null;const t={onClose:this.onClose,data:this.state.data,animate:this.state.animate};return this.props.children(t)}};s(an,"AnimateInOut");let Nt=an;const Yd=s(e=>{const t=I.useContext(nt);t||y(!1);const{contextId:n,isMovementAllowed:r}=t,o=I.useRef(null),i=I.useRef(null),{children:a,droppableId:l,type:c,mode:p,direction:f,ignoreContainerClipping:u,isDropDisabled:d,isCombineEnabled:g,snapshot:m,useClone:h,updateViewportMaxScroll:b,getContainerForClone:x}=e,D=C(()=>o.current,[]),w=C(function(B){B===void 0&&(B=null),o.current=B},[]);C(()=>i.current,[]);const S=C(function(B){B===void 0&&(B=null),i.current=B},[]),P=C(()=>{r()&&b({maxScroll:zr()})},[r,b]);Vd({droppableId:l,type:c,mode:p,direction:f,isDropDisabled:d,isCombineEnabled:g,ignoreContainerClipping:u,getDroppableRef:D});const E=R(()=>A.createElement(Nt,{on:e.placeholder,shouldAnimate:e.shouldAnimatePlaceholder},B=>{let{onClose:$,data:Q,animate:oe}=B;return A.createElement(zd,{placeholder:Q,onClose:$,innerRef:S,animate:oe,contextId:n,onTransitionEnd:P})}),[n,P,e.placeholder,e.shouldAnimatePlaceholder,S]),O=R(()=>({innerRef:w,placeholder:E,droppableProps:{"data-rfd-droppable-id":l,"data-rfd-droppable-context-id":n}}),[n,l,E,w]),T=h?h.dragging.draggableId:null,M=R(()=>({droppableId:l,type:c,isUsingCloneFor:T}),[l,T,c]);function N(){if(!h)return null;const{dragging:B,render:$}=h,Q=A.createElement(po,{draggableId:B.draggableId,index:B.source.index,isClone:!0,isEnabled:!0,shouldRespectForcePress:!1,canDragInteractiveElements:!0},(oe,Y)=>$(oe,Y,B));return Lo.createPortal(Q,x())}return s(N,"getClone"),A.createElement(rn.Provider,{value:M},a(O,m),N())},"Droppable");var Kd=Yd;function Jd(){return document.body||y(!1),document.body}s(Jd,"getBody");const Kn={mode:"standard",type:"DEFAULT",direction:"vertical",isDropDisabled:!1,isCombineEnabled:!1,ignoreContainerClipping:!1,renderClone:null,getContainerForClone:Jd},bo=s(e=>{let t={...e},n;for(n in Kn)e[n]===void 0&&(t={...t,[n]:Kn[n]});return t},"attachDefaultPropsToOwnProps"),yt=s((e,t)=>e===t.droppable.type,"isMatchingType"),Jn=s((e,t)=>t.draggables[e.draggable.id],"getDraggable"),Xd=s(()=>{const e={placeholder:null,shouldAnimatePlaceholder:!0,snapshot:{isDraggingOver:!1,draggingOverWith:null,draggingFromThisWith:null,isUsingPlaceholder:!1},useClone:null},t={...e,shouldAnimatePlaceholder:!1},n=F(i=>({draggableId:i.id,type:i.type,source:{index:i.index,droppableId:i.droppableId}})),r=F((i,a,l,c,p,f)=>{const u=p.descriptor.id;if(p.descriptor.droppableId===i){const m=f?{render:f,dragging:n(p.descriptor)}:null,h={isDraggingOver:l,draggingOverWith:l?u:null,draggingFromThisWith:u,isUsingPlaceholder:!0};return{placeholder:p.placeholder,shouldAnimatePlaceholder:!1,snapshot:h,useClone:m}}if(!a)return t;if(!c)return e;const g={isDraggingOver:l,draggingOverWith:u,draggingFromThisWith:null,isUsingPlaceholder:!0};return{placeholder:p.placeholder,shouldAnimatePlaceholder:!0,snapshot:g,useClone:null}});return s((i,a)=>{const l=bo(a),c=l.droppableId,p=l.type,f=!l.isDropDisabled,u=l.renderClone;if(Le(i)){const d=i.critical;if(!yt(p,d))return t;const g=Jn(d,i.dimensions),m=q(i.impact)===c;return r(c,f,m,m,g,u)}if(i.phase==="DROP_ANIMATING"){const d=i.completed;if(!yt(p,d.critical))return t;const g=Jn(d.critical,i.dimensions);return r(c,f,co(d.result)===c,q(d.impact)===c,g,u)}if(i.phase==="IDLE"&&i.completed&&!i.shouldFlush){const d=i.completed;if(!yt(p,d.critical))return t;const g=q(d.impact)===c,m=!!(d.impact.at&&d.impact.at.type==="COMBINE"),h=d.critical.droppable.id===c;return g?m?e:t:h?e:t}return t},"selector")},"makeMapStateToProps"),Qd={updateViewportMaxScroll:qa},Zd=pr(Xd,Qd,(e,t,n)=>({...bo(n),...e,...t}),{context:en,areStatePropsEqual:lo})(Kd);var eu=Zd;const tu=s(({deal:e,index:t})=>{const n=Lt();if(!e)return null;const r=s(()=>{n(`/deals/${e.id}/show`)},"handleClick");return v.jsx(Bd,{draggableId:String(e.id),index:t,children:(o,i)=>v.jsx(L,{sx:{marginBottom:1},...o.draggableProps,...o.dragHandleProps,ref:o.innerRef,onClick:r,children:v.jsx(Mo,{style:{opacity:i.isDragging?.9:1,transform:i.isDragging?"rotate(-2deg)":""},elevation:i.isDragging?3:1,children:v.jsxs(L,{padding:1,display:"flex",children:[v.jsx(It,{source:"company_id",record:e,reference:"companies",children:v.jsx(Fo,{size:"small"})}),v.jsxs(L,{sx:{marginLeft:1},children:[v.jsx(V,{variant:"body2",gutterBottom:!0,children:e.name}),v.jsxs(V,{variant:"caption",color:"textSecondary",children:[e.amount.toLocaleString("en-US",{notation:"compact",style:"currency",currency:"USD",currencyDisplay:"narrowSymbol",minimumSignificantDigits:3}),", ",e.type]})]})]})})})})},"DealCard"),nu=s(({stage:e,deals:t})=>v.jsxs(L,{sx:{flex:1,paddingTop:"8px",paddingBottom:"16px",bgcolor:"#eaeaee","&:first-child":{paddingLeft:"5px",borderTopLeftRadius:5},"&:last-child":{paddingRight:"5px",borderTopRightRadius:5}},children:[v.jsx(V,{align:"center",variant:"subtitle1",children:Zn[e]}),v.jsx(eu,{droppableId:e,children:(n,r)=>v.jsxs(L,{ref:n.innerRef,...n.droppableProps,className:r.isDraggingOver?" isDraggingOver":"",sx:{display:"flex",flexDirection:"column",borderRadius:5,padding:"5px","&.isDraggingOver":{bgcolor:"#dadadf"}},children:[t.map((o,i)=>v.jsx(tu,{deal:o,index:i},o.id)),n.placeholder]})})]}),"DealColumn"),ru=s(()=>{const{data:e,isPending:t,refetch:n}=Mt(),r=er(),[o,i]=I.useState(un([]));if(I.useEffect(()=>{if(e){const l=un(e);Go(l,o)||i(l)}},[e]),t)return null;const a=s(l=>{const{destination:c,source:p}=l;if(!c||c.droppableId===p.droppableId&&c.index===p.index)return;const f=p.droppableId,u=c.droppableId,d=o[f][p.index],g=o[u][c.index]??{stage:u,index:void 0};i(ou(d,{stage:f,index:p.index},{stage:u,index:c.index},o)),iu(d,g,r).then(()=>{n()})},"onDragEnd");return v.jsx(dd,{onDragEnd:a,children:v.jsx(L,{display:"flex",children:$o.map(l=>v.jsx(nu,{stage:l,deals:o[l]},l))})})},"DealListContent"),ou=s((e,t,n,r)=>{if(t.stage===n.stage){const o=r[t.stage];return o.splice(t.index,1),o.splice(n.index??o.length+1,0,e),{...r,[n.stage]:o}}else{const o=r[t.stage],i=r[n.stage];return o.splice(t.index,1),i.splice(n.index??i.length+1,0,e),{...r,[t.stage]:o,[n.stage]:i}}},"updateDealStageLocal"),iu=s(async(e,t,n)=>{if(e.stage===t.stage){const{data:r}=await n.getList("deals",{sort:{field:"index",order:"ASC"},pagination:{page:1,perPage:100},filter:{stage:e.stage}}),o=t.index??r.length+1;e.index>o?await Promise.all([...r.filter(i=>i.index>=o&&i.indexn.update("deals",{id:i.id,data:{index:i.index+1},previousData:i})),n.update("deals",{id:e.id,data:{index:o},previousData:e})]):await Promise.all([...r.filter(i=>i.index<=o&&i.index>e.index).map(i=>n.update("deals",{id:i.id,data:{index:i.index-1},previousData:i})),n.update("deals",{id:e.id,data:{index:o},previousData:e})])}else{const[{data:r},{data:o}]=await Promise.all([n.getList("deals",{sort:{field:"index",order:"ASC"},pagination:{page:1,perPage:100},filter:{stage:e.stage}}),n.getList("deals",{sort:{field:"index",order:"ASC"},pagination:{page:1,perPage:100},filter:{stage:t.stage}})]),i=t.index??o.length+1;await Promise.all([...r.filter(a=>a.index>e.index).map(a=>n.update("deals",{id:a.id,data:{index:a.index-1},previousData:a})),...o.filter(a=>a.index>=i).map(a=>n.update("deals",{id:a.id,data:{index:a.index+1},previousData:a})),n.update("deals",{id:e.id,data:{index:i,stage:t.stage},previousData:e})])}},"updateDealStage"),su=["Other","Copywriting","Print project","UI Design","Website design"],ho=su.map(e=>({id:e,name:e})),xt=jo(),au=s(({open:e})=>{const t=Lt(),n=er(),{data:r}=Mt(),o=s(()=>{t("/deals")},"handleClose"),i=Wo(),a=s(async c=>{if(!r){t("/deals");return}const p=r.filter(d=>d.stage===c.stage&&d.id!==c.id);await Promise.all(p.map(async d=>n.update("deals",{id:d.id,data:{index:d.index+1},previousData:d})));const f=p.reduce((d,g)=>({...d,[g.id]:{...g,index:g.index+1}}),{}),u=Date.now();i.setQueriesData({queryKey:["deals","getList"]},d=>d&&{...d,data:d.data.map(g=>f[g.id]||g)},{updatedAt:u}),t("/deals")},"onSuccess"),{identity:l}=Ft();return v.jsx(tr,{open:e,onClose:o,children:v.jsx(_o,{resource:"deals",mutationOptions:{onSuccess:a},sx:{width:500,"& .RaCreate-main":{mt:0}},children:v.jsxs(yi,{defaultValues:{index:0,sales_id:l&&(l==null?void 0:l.id),start_at:new Date().toISOString(),contact_ids:[]},children:[v.jsx(Dt,{source:"name",label:"Deal name",validate:xt}),v.jsx(Dt,{source:"description",multiline:!0,rows:3}),v.jsx(Uo,{source:"company_id",reference:"companies",children:v.jsx(Vo,{optionText:"name",validate:xt})}),v.jsx(ko,{source:"start_at",defaultValue:new Date,fullWidth:!0}),v.jsx(St,{source:"stage",choices:Ho,validate:xt,defaultValue:"opportunity"}),v.jsx(St,{source:"type",choices:ho}),v.jsx(fi,{source:"amount",defaultValue:0})]})})})},"DealCreate"),lu=s(()=>{const{data:e,error:t,isPending:n}=Mt();return n||t?v.jsx("div",{style:{height:"2em"}}):v.jsx(L,{component:"ul",sx:{listStyle:"none",padding:0,margin:0,display:"inline-block"},children:e.map(r=>v.jsx(L,{component:"li",sx:{display:"inline","&:after":{content:'", "'},"&:last-child:after":{content:'""'}},children:v.jsxs(qo,{component:zo,to:`/contacts/${r.id}/show`,variant:"subtitle1",children:[r.first_name," ",r.last_name]})},r.id))})},"ContactList"),cu=s(({open:e,id:t})=>{const n=Lt(),r=s(()=>{n("list","deals")},"handleClose");return v.jsx(tr,{open:e,onClose:r,fullWidth:!0,maxWidth:"md",sx:{".MuiDialog-paper":{position:"absolute",top:50}},children:v.jsx(Yo,{children:t?v.jsx(Ko,{id:t,children:v.jsx(du,{})}):null})})},"DealShow"),du=s(()=>{const e=Jo();return e?v.jsx("div",{children:v.jsxs(L,{display:"flex",children:[v.jsxs(L,{width:100,display:"flex",flexDirection:"column",alignItems:"center",children:[v.jsx(It,{source:"company_id",reference:"companies",link:"show",children:v.jsx(Xo,{})}),v.jsx(It,{source:"company_id",reference:"companies",link:"show",children:v.jsx(Qo,{source:"name",align:"center",component:"div"})})]}),v.jsxs(L,{ml:2,flex:"1",children:[v.jsx(V,{variant:"h5",children:e.name}),v.jsxs(L,{display:"flex",mt:2,children:[v.jsxs(L,{display:"flex",mr:5,flexDirection:"column",children:[v.jsx(V,{color:"textSecondary",variant:"body2",children:"Start"}),v.jsx(V,{variant:"subtitle1",children:Zo(e.start_at,"PP")})]}),v.jsxs(L,{display:"flex",mr:5,flexDirection:"column",children:[v.jsx(V,{color:"textSecondary",variant:"body2",children:"Budget"}),v.jsx(V,{variant:"subtitle1",children:e.amount.toLocaleString("en-US",{notation:"compact",style:"currency",currency:"USD",currencyDisplay:"narrowSymbol",minimumSignificantDigits:3})})]}),v.jsxs(L,{display:"flex",mr:5,flexDirection:"column",children:[v.jsx(V,{color:"textSecondary",variant:"body2",children:"Type"}),v.jsx(V,{variant:"subtitle1",children:e.type})]}),v.jsxs(L,{display:"flex",mr:5,flexDirection:"column",children:[v.jsx(V,{color:"textSecondary",variant:"body2",children:"Stage"}),v.jsx(V,{variant:"subtitle1",children:Zn[e.stage]})]})]}),v.jsx(L,{mt:2,mb:2,children:v.jsxs(L,{display:"flex",mr:5,flexDirection:"column",minHeight:48,children:[v.jsx(V,{color:"textSecondary",variant:"body2",children:"Contacts"}),v.jsx(ei,{source:"contact_ids",reference:"contacts",children:v.jsx(lu,{})})]})}),v.jsxs(L,{mt:2,mb:2,style:{whiteSpace:"pre-line"},children:[v.jsx(V,{color:"textSecondary",variant:"body2",children:"Description"}),v.jsx(V,{children:e.description})]}),v.jsx(ti,{}),v.jsx(L,{mt:2,children:v.jsx(ni,{target:"deal_id",reference:"dealNotes",sort:{field:"date",order:"DESC"},children:v.jsx(ri,{reference:"deals"})})})]})]})}):null},"DealShowContent"),uu=s(e=>{const{filterValues:t,displayedFilters:n,setFilters:r}=oi(),{identity:o}=Ft(),i=s(()=>{const a={...t};typeof t.sales_id<"u"?delete a.sales_id:a.sales_id=o&&(o==null?void 0:o.id),r(a,n)},"handleChange");return v.jsx(L,{sx:{marginBottom:1,marginLeft:1},children:v.jsx(ii,{control:v.jsx(si,{checked:typeof t.sales_id<"u",onChange:i,color:"primary",name:"checkedC"}),label:"Only companies I manage"})})},"OnlyMineInput"),hu=s(()=>{const{identity:e}=Ft(),t=ai(),n=pn("/deals/create",t.pathname),r=pn("/deals/:id/show",t.pathname);return e?v.jsxs(v.Fragment,{children:[v.jsxs(li,{perPage:100,sort:{field:"index",order:"ASC"},filters:pu,filterDefaultValues:{sales_id:e&&(e==null?void 0:e.id)},actions:v.jsx(fu,{}),pagination:!1,component:"div",children:[v.jsx(ru,{}),v.jsx(au,{open:!!n})]}),v.jsx(cu,{open:!!r,id:r==null?void 0:r.params.id})]}):null},"DealList"),pu=[v.jsx(bi,{source:"q",alwaysOn:!0}),v.jsx(uu,{source:"sales_id",alwaysOn:!0}),v.jsx(St,{source:"type",choices:ho})],fu=s(()=>v.jsxs(ci,{children:[v.jsx(di,{}),v.jsx(ui,{}),v.jsx(pi,{variant:"contained",label:"New Deal",sx:{marginLeft:2}})]}),"DealActions");export{hu as default}; -//# sourceMappingURL=DealList-Y3-0NLEV.js.map diff --git a/assets/DealList-Y3-0NLEV.js.map b/assets/DealList-Y3-0NLEV.js.map deleted file mode 100644 index 3dfc487..0000000 --- a/assets/DealList-Y3-0NLEV.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"DealList-Y3-0NLEV.js","sources":["../../../../packages/ra-ui-materialui/src/input/NumberInput.tsx","../../../../packages/ra-ui-materialui/src/input/SearchInput.tsx","../../../../packages/ra-ui-materialui/src/form/SimpleForm.tsx","../../../../node_modules/@babel/runtime/helpers/esm/typeof.js","../../../../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../../../../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../../../../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../../../../node_modules/@babel/runtime/helpers/esm/objectSpread2.js","../../../../node_modules/redux/es/redux.js","../../../../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js","../../../../node_modules/use-sync-external-store/shim/index.js","../../../../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js","../../../../node_modules/react-redux/es/utils/batch.js","../../../../node_modules/react-redux/es/components/Context.js","../../../../node_modules/react-redux/es/utils/useSyncExternalStore.js","../../../../node_modules/react-redux/es/connect/selectorFactory.js","../../../../node_modules/react-redux/es/utils/bindActionCreators.js","../../../../node_modules/react-redux/es/connect/wrapMapToProps.js","../../../../node_modules/react-redux/es/connect/invalidArgFactory.js","../../../../node_modules/react-redux/es/connect/mapDispatchToProps.js","../../../../node_modules/react-redux/es/connect/mapStateToProps.js","../../../../node_modules/react-redux/es/connect/mergeProps.js","../../../../node_modules/react-redux/es/utils/Subscription.js","../../../../node_modules/react-redux/es/utils/useIsomorphicLayoutEffect.js","../../../../node_modules/react-redux/es/utils/shallowEqual.js","../../../../node_modules/react-redux/es/components/connect.js","../../../../node_modules/react-redux/es/components/Provider.js","../../../../node_modules/react-redux/es/index.js","../../../../node_modules/use-memo-one/dist/use-memo-one.esm.js","../../../../node_modules/tiny-invariant/dist/esm/tiny-invariant.js","../../../../node_modules/css-box-model/dist/css-box-model.esm.js","../../../../node_modules/memoize-one/dist/memoize-one.esm.js","../../../../node_modules/raf-schd/dist/raf-schd.esm.js","../../../../node_modules/@hello-pangea/dnd/dist/dnd.esm.js","../../src/deals/DealCard.tsx","../../src/deals/DealColumn.tsx","../../src/deals/DealListContent.tsx","../../src/deals/types.ts","../../src/deals/DealCreate.tsx","../../src/deals/ContactList.tsx","../../src/deals/DealShow.tsx","../../src/deals/OnlyMineInput.tsx","../../src/deals/DealList.tsx"],"sourcesContent":["import * as React from 'react';\nimport clsx from 'clsx';\nimport TextField, { TextFieldProps } from '@mui/material/TextField';\nimport { useInput, FieldTitle } from 'ra-core';\n\nimport { CommonInputProps } from './CommonInputProps';\nimport { InputHelperText } from './InputHelperText';\nimport { sanitizeInputRestProps } from './sanitizeInputRestProps';\n\n/**\n * An Input component for a number\n *\n * @example\n * \n *\n * You can customize the `step` props (which defaults to \"any\")\n * @example\n * \n *\n */\nexport const NumberInput = ({\n className,\n defaultValue = null,\n format = convertNumberToString,\n helperText,\n label,\n margin,\n onChange,\n onBlur,\n onFocus,\n parse,\n resource,\n source,\n step = 'any',\n min,\n max,\n validate,\n variant,\n inputProps: overrideInputProps,\n ...rest\n}: NumberInputProps) => {\n const {\n field,\n fieldState: { error, invalid },\n id,\n isRequired,\n } = useInput({\n defaultValue,\n onBlur,\n resource,\n source,\n validate,\n ...rest,\n });\n const { onBlur: onBlurFromField } = field;\n\n const inputProps = { ...overrideInputProps, step, min, max };\n\n // This is a controlled input that renders directly the string typed by the user.\n // This string is converted to a number on change, and stored in the form state,\n // but that number is not not displayed.\n // This is to allow transitory values like '1.0' that will lead to '1.02'\n\n // text typed by the user and displayed in the input, unparsed\n const [value, setValue] = React.useState(format(field.value));\n\n const hasFocus = React.useRef(false);\n\n // update the input text when the record changes\n React.useEffect(() => {\n if (!hasFocus.current) {\n const stringValue = format(field.value);\n setValue(value => (value !== stringValue ? stringValue : value));\n }\n }, [field.value, format]); // eslint-disable-line react-hooks/exhaustive-deps\n\n // update the input text when the user types in the input\n const handleChange = (event: React.ChangeEvent) => {\n if (onChange) {\n onChange(event);\n }\n if (\n typeof event.target === 'undefined' ||\n typeof event.target.value === 'undefined'\n ) {\n return;\n }\n const target = event.target;\n setValue(target.value);\n const newValue =\n target.valueAsNumber !== undefined &&\n target.valueAsNumber !== null &&\n !isNaN(target.valueAsNumber)\n ? parse\n ? parse(target.valueAsNumber)\n : target.valueAsNumber\n : parse\n ? parse(target.value)\n : convertStringToNumber(target.value);\n field.onChange(newValue);\n };\n\n const handleFocus = (event: React.FocusEvent) => {\n if (onFocus) {\n onFocus(event);\n }\n hasFocus.current = true;\n };\n\n const handleBlur = () => {\n if (onBlurFromField) {\n onBlurFromField();\n }\n hasFocus.current = false;\n const stringValue = format(field.value);\n setValue(value => (value !== stringValue ? stringValue : value));\n };\n\n const renderHelperText = helperText !== false || invalid;\n\n const { ref, ...fieldWithoutRef } = field;\n return (\n \n ) : null\n }\n label={\n \n }\n margin={margin}\n inputProps={inputProps}\n {...sanitizeInputRestProps(rest)}\n />\n );\n};\n\nexport interface NumberInputProps\n extends CommonInputProps,\n Omit<\n TextFieldProps,\n | 'label'\n | 'helperText'\n | 'defaultValue'\n | 'onChange'\n | 'onBlur'\n | 'type'\n > {\n step?: string | number;\n min?: string | number;\n max?: string | number;\n}\n\nconst convertStringToNumber = value => {\n if (value == null || value === '') {\n return null;\n }\n const float = parseFloat(value);\n\n return isNaN(float) ? 0 : float;\n};\n\nconst convertNumberToString = value =>\n value == null || isNaN(value) ? '' : value.toString();\n","import * as React from 'react';\nimport { styled } from '@mui/material/styles';\nimport SearchIcon from '@mui/icons-material/Search';\nimport { InputAdornment } from '@mui/material';\nimport { useTranslate } from 'ra-core';\n\nimport { CommonInputProps } from './CommonInputProps';\nimport { TextInput, TextInputProps } from './TextInput';\n\nexport const SearchInput = (props: SearchInputProps) => {\n const { label, ...rest } = props;\n\n const translate = useTranslate();\n\n if (label) {\n throw new Error(\n \" isn't designed to be used with a label prop. Use if you need a label.\"\n );\n }\n\n return (\n \n \n \n ),\n }}\n size=\"small\"\n {...rest}\n />\n );\n};\n\nexport type SearchInputProps = CommonInputProps & TextInputProps;\n\nconst PREFIX = 'RaSearchInput';\n\nconst StyledTextInput = styled(TextInput, {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})({\n marginTop: 0,\n});\n","import * as React from 'react';\nimport { ReactElement, ReactNode } from 'react';\nimport { Form, FormProps } from 'ra-core';\nimport { Stack, CardContent, SxProps, StackProps } from '@mui/material';\nimport { styled } from '@mui/material/styles';\n\nimport { Toolbar } from './Toolbar';\n\n/**\n * Form with a one column layout, one input per line.\n *\n * Pass input components as children.\n *\n * @example\n *\n * import * as React from \"react\";\n * import { Create, Edit, SimpleForm, TextInput, DateInput, ReferenceManyField, Datagrid, TextField, DateField, EditButton } from 'react-admin';\n * import RichTextInput from 'ra-input-rich-text';\n *\n * export const PostCreate = () => (\n * \n * \n * \n * \n * \n * \n * \n * \n * );\n *\n * @typedef {Object} Props the props you can use (other props are injected by Create or Edit)\n * @prop {ReactElement[]} children Input elements\n * @prop {Object} defaultValues\n * @prop {Function} validate\n * @prop {ReactElement} toolbar The element displayed at the bottom of the form, containing the SaveButton\n *\n * @param {Props} props\n */\nexport const SimpleForm = (props: SimpleFormProps) => {\n const {\n children,\n className,\n component: Component = DefaultComponent,\n sx,\n toolbar = DefaultToolbar,\n ...rest\n } = props;\n return (\n
\n \n \n {children}\n \n \n {toolbar !== false ? toolbar : null}\n
\n );\n};\n\nexport interface SimpleFormProps\n extends Omit,\n Omit {\n children: ReactNode;\n className?: string;\n component?: React.ComponentType;\n defaultValues?: any;\n toolbar?: ReactElement | false;\n sx?: SxProps;\n}\n\nconst PREFIX = 'RaSimpleForm';\n\nconst DefaultComponent = styled(CardContent, {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme }) => ({\n [theme.breakpoints.down('sm')]: {\n paddingBottom: '5em',\n },\n}));\n\nconst DefaultToolbar = ;\n\n/* eslint-disable @typescript-eslint/no-unused-vars */\nconst sanitizeRestProps = ({\n children,\n className,\n component,\n criteriaMode,\n defaultValues,\n delayError,\n onSubmit,\n record,\n resource,\n reValidateMode,\n sx,\n toolbar,\n validate,\n resetOptions,\n resolver,\n sanitizeEmptyValues,\n shouldFocusError,\n shouldUnregister,\n shouldUseNativeValidation,\n warnWhenUnsavedChanges,\n ...props\n}: SimpleFormProps) => props;\n/* eslint-enable @typescript-eslint/no-unused-vars */\n","export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}","import _typeof from \"./typeof.js\";\nexport default function _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","import defineProperty from \"./defineProperty.js\";\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nexport default function _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}","import _objectSpread from '@babel/runtime/helpers/esm/objectSpread2';\n\n/**\n * Adapted from React: https://github.com/facebook/react/blob/master/packages/shared/formatProdErrorMessage.js\n *\n * Do not require this module directly! Use normal throw error calls. These messages will be replaced with error codes\n * during build.\n * @param {number} code\n */\nfunction formatProdErrorMessage(code) {\n return \"Minified Redux error #\" + code + \"; visit https://redux.js.org/Errors?code=\" + code + \" for the full message or \" + 'use the non-minified dev environment for full errors. ';\n}\n\n// Inlined version of the `symbol-observable` polyfill\nvar $$observable = (function () {\n return typeof Symbol === 'function' && Symbol.observable || '@@observable';\n})();\n\n/**\n * These are private action types reserved by Redux.\n * For any unknown actions, you must return the current state.\n * If the current state is undefined, you must return the initial state.\n * Do not reference these action types directly in your code.\n */\nvar randomString = function randomString() {\n return Math.random().toString(36).substring(7).split('').join('.');\n};\n\nvar ActionTypes = {\n INIT: \"@@redux/INIT\" + randomString(),\n REPLACE: \"@@redux/REPLACE\" + randomString(),\n PROBE_UNKNOWN_ACTION: function PROBE_UNKNOWN_ACTION() {\n return \"@@redux/PROBE_UNKNOWN_ACTION\" + randomString();\n }\n};\n\n/**\n * @param {any} obj The object to inspect.\n * @returns {boolean} True if the argument appears to be a plain object.\n */\nfunction isPlainObject(obj) {\n if (typeof obj !== 'object' || obj === null) return false;\n var proto = obj;\n\n while (Object.getPrototypeOf(proto) !== null) {\n proto = Object.getPrototypeOf(proto);\n }\n\n return Object.getPrototypeOf(obj) === proto;\n}\n\n// Inlined / shortened version of `kindOf` from https://github.com/jonschlinkert/kind-of\nfunction miniKindOf(val) {\n if (val === void 0) return 'undefined';\n if (val === null) return 'null';\n var type = typeof val;\n\n switch (type) {\n case 'boolean':\n case 'string':\n case 'number':\n case 'symbol':\n case 'function':\n {\n return type;\n }\n }\n\n if (Array.isArray(val)) return 'array';\n if (isDate(val)) return 'date';\n if (isError(val)) return 'error';\n var constructorName = ctorName(val);\n\n switch (constructorName) {\n case 'Symbol':\n case 'Promise':\n case 'WeakMap':\n case 'WeakSet':\n case 'Map':\n case 'Set':\n return constructorName;\n } // other\n\n\n return type.slice(8, -1).toLowerCase().replace(/\\s/g, '');\n}\n\nfunction ctorName(val) {\n return typeof val.constructor === 'function' ? val.constructor.name : null;\n}\n\nfunction isError(val) {\n return val instanceof Error || typeof val.message === 'string' && val.constructor && typeof val.constructor.stackTraceLimit === 'number';\n}\n\nfunction isDate(val) {\n if (val instanceof Date) return true;\n return typeof val.toDateString === 'function' && typeof val.getDate === 'function' && typeof val.setDate === 'function';\n}\n\nfunction kindOf(val) {\n var typeOfVal = typeof val;\n\n if (process.env.NODE_ENV !== 'production') {\n typeOfVal = miniKindOf(val);\n }\n\n return typeOfVal;\n}\n\n/**\n * @deprecated\n *\n * **We recommend using the `configureStore` method\n * of the `@reduxjs/toolkit` package**, which replaces `createStore`.\n *\n * Redux Toolkit is our recommended approach for writing Redux logic today,\n * including store setup, reducers, data fetching, and more.\n *\n * **For more details, please read this Redux docs page:**\n * **https://redux.js.org/introduction/why-rtk-is-redux-today**\n *\n * `configureStore` from Redux Toolkit is an improved version of `createStore` that\n * simplifies setup and helps avoid common bugs.\n *\n * You should not be using the `redux` core package by itself today, except for learning purposes.\n * The `createStore` method from the core `redux` package will not be removed, but we encourage\n * all users to migrate to using Redux Toolkit for all Redux code.\n *\n * If you want to use `createStore` without this visual deprecation warning, use\n * the `legacy_createStore` import instead:\n *\n * `import { legacy_createStore as createStore} from 'redux'`\n *\n */\n\nfunction createStore(reducer, preloadedState, enhancer) {\n var _ref2;\n\n if (typeof preloadedState === 'function' && typeof enhancer === 'function' || typeof enhancer === 'function' && typeof arguments[3] === 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(0) : 'It looks like you are passing several store enhancers to ' + 'createStore(). This is not supported. Instead, compose them ' + 'together to a single function. See https://redux.js.org/tutorials/fundamentals/part-4-store#creating-a-store-with-enhancers for an example.');\n }\n\n if (typeof preloadedState === 'function' && typeof enhancer === 'undefined') {\n enhancer = preloadedState;\n preloadedState = undefined;\n }\n\n if (typeof enhancer !== 'undefined') {\n if (typeof enhancer !== 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(1) : \"Expected the enhancer to be a function. Instead, received: '\" + kindOf(enhancer) + \"'\");\n }\n\n return enhancer(createStore)(reducer, preloadedState);\n }\n\n if (typeof reducer !== 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(2) : \"Expected the root reducer to be a function. Instead, received: '\" + kindOf(reducer) + \"'\");\n }\n\n var currentReducer = reducer;\n var currentState = preloadedState;\n var currentListeners = [];\n var nextListeners = currentListeners;\n var isDispatching = false;\n /**\n * This makes a shallow copy of currentListeners so we can use\n * nextListeners as a temporary list while dispatching.\n *\n * This prevents any bugs around consumers calling\n * subscribe/unsubscribe in the middle of a dispatch.\n */\n\n function ensureCanMutateNextListeners() {\n if (nextListeners === currentListeners) {\n nextListeners = currentListeners.slice();\n }\n }\n /**\n * Reads the state tree managed by the store.\n *\n * @returns {any} The current state tree of your application.\n */\n\n\n function getState() {\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(3) : 'You may not call store.getState() while the reducer is executing. ' + 'The reducer has already received the state as an argument. ' + 'Pass it down from the top reducer instead of reading it from the store.');\n }\n\n return currentState;\n }\n /**\n * Adds a change listener. It will be called any time an action is dispatched,\n * and some part of the state tree may potentially have changed. You may then\n * call `getState()` to read the current state tree inside the callback.\n *\n * You may call `dispatch()` from a change listener, with the following\n * caveats:\n *\n * 1. The subscriptions are snapshotted just before every `dispatch()` call.\n * If you subscribe or unsubscribe while the listeners are being invoked, this\n * will not have any effect on the `dispatch()` that is currently in progress.\n * However, the next `dispatch()` call, whether nested or not, will use a more\n * recent snapshot of the subscription list.\n *\n * 2. The listener should not expect to see all state changes, as the state\n * might have been updated multiple times during a nested `dispatch()` before\n * the listener is called. It is, however, guaranteed that all subscribers\n * registered before the `dispatch()` started will be called with the latest\n * state by the time it exits.\n *\n * @param {Function} listener A callback to be invoked on every dispatch.\n * @returns {Function} A function to remove this change listener.\n */\n\n\n function subscribe(listener) {\n if (typeof listener !== 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(4) : \"Expected the listener to be a function. Instead, received: '\" + kindOf(listener) + \"'\");\n }\n\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(5) : 'You may not call store.subscribe() while the reducer is executing. ' + 'If you would like to be notified after the store has been updated, subscribe from a ' + 'component and invoke store.getState() in the callback to access the latest state. ' + 'See https://redux.js.org/api/store#subscribelistener for more details.');\n }\n\n var isSubscribed = true;\n ensureCanMutateNextListeners();\n nextListeners.push(listener);\n return function unsubscribe() {\n if (!isSubscribed) {\n return;\n }\n\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(6) : 'You may not unsubscribe from a store listener while the reducer is executing. ' + 'See https://redux.js.org/api/store#subscribelistener for more details.');\n }\n\n isSubscribed = false;\n ensureCanMutateNextListeners();\n var index = nextListeners.indexOf(listener);\n nextListeners.splice(index, 1);\n currentListeners = null;\n };\n }\n /**\n * Dispatches an action. It is the only way to trigger a state change.\n *\n * The `reducer` function, used to create the store, will be called with the\n * current state tree and the given `action`. Its return value will\n * be considered the **next** state of the tree, and the change listeners\n * will be notified.\n *\n * The base implementation only supports plain object actions. If you want to\n * dispatch a Promise, an Observable, a thunk, or something else, you need to\n * wrap your store creating function into the corresponding middleware. For\n * example, see the documentation for the `redux-thunk` package. Even the\n * middleware will eventually dispatch plain object actions using this method.\n *\n * @param {Object} action A plain object representing “what changed”. It is\n * a good idea to keep actions serializable so you can record and replay user\n * sessions, or use the time travelling `redux-devtools`. An action must have\n * a `type` property which may not be `undefined`. It is a good idea to use\n * string constants for action types.\n *\n * @returns {Object} For convenience, the same action object you dispatched.\n *\n * Note that, if you use a custom middleware, it may wrap `dispatch()` to\n * return something else (for example, a Promise you can await).\n */\n\n\n function dispatch(action) {\n if (!isPlainObject(action)) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(7) : \"Actions must be plain objects. Instead, the actual type was: '\" + kindOf(action) + \"'. You may need to add middleware to your store setup to handle dispatching other values, such as 'redux-thunk' to handle dispatching functions. See https://redux.js.org/tutorials/fundamentals/part-4-store#middleware and https://redux.js.org/tutorials/fundamentals/part-6-async-logic#using-the-redux-thunk-middleware for examples.\");\n }\n\n if (typeof action.type === 'undefined') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(8) : 'Actions may not have an undefined \"type\" property. You may have misspelled an action type string constant.');\n }\n\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(9) : 'Reducers may not dispatch actions.');\n }\n\n try {\n isDispatching = true;\n currentState = currentReducer(currentState, action);\n } finally {\n isDispatching = false;\n }\n\n var listeners = currentListeners = nextListeners;\n\n for (var i = 0; i < listeners.length; i++) {\n var listener = listeners[i];\n listener();\n }\n\n return action;\n }\n /**\n * Replaces the reducer currently used by the store to calculate the state.\n *\n * You might need this if your app implements code splitting and you want to\n * load some of the reducers dynamically. You might also need this if you\n * implement a hot reloading mechanism for Redux.\n *\n * @param {Function} nextReducer The reducer for the store to use instead.\n * @returns {void}\n */\n\n\n function replaceReducer(nextReducer) {\n if (typeof nextReducer !== 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(10) : \"Expected the nextReducer to be a function. Instead, received: '\" + kindOf(nextReducer));\n }\n\n currentReducer = nextReducer; // This action has a similiar effect to ActionTypes.INIT.\n // Any reducers that existed in both the new and old rootReducer\n // will receive the previous state. This effectively populates\n // the new state tree with any relevant data from the old one.\n\n dispatch({\n type: ActionTypes.REPLACE\n });\n }\n /**\n * Interoperability point for observable/reactive libraries.\n * @returns {observable} A minimal observable of state changes.\n * For more information, see the observable proposal:\n * https://github.com/tc39/proposal-observable\n */\n\n\n function observable() {\n var _ref;\n\n var outerSubscribe = subscribe;\n return _ref = {\n /**\n * The minimal observable subscription method.\n * @param {Object} observer Any object that can be used as an observer.\n * The observer object should have a `next` method.\n * @returns {subscription} An object with an `unsubscribe` method that can\n * be used to unsubscribe the observable from the store, and prevent further\n * emission of values from the observable.\n */\n subscribe: function subscribe(observer) {\n if (typeof observer !== 'object' || observer === null) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(11) : \"Expected the observer to be an object. Instead, received: '\" + kindOf(observer) + \"'\");\n }\n\n function observeState() {\n if (observer.next) {\n observer.next(getState());\n }\n }\n\n observeState();\n var unsubscribe = outerSubscribe(observeState);\n return {\n unsubscribe: unsubscribe\n };\n }\n }, _ref[$$observable] = function () {\n return this;\n }, _ref;\n } // When a store is created, an \"INIT\" action is dispatched so that every\n // reducer returns their initial state. This effectively populates\n // the initial state tree.\n\n\n dispatch({\n type: ActionTypes.INIT\n });\n return _ref2 = {\n dispatch: dispatch,\n subscribe: subscribe,\n getState: getState,\n replaceReducer: replaceReducer\n }, _ref2[$$observable] = observable, _ref2;\n}\n/**\n * Creates a Redux store that holds the state tree.\n *\n * **We recommend using `configureStore` from the\n * `@reduxjs/toolkit` package**, which replaces `createStore`:\n * **https://redux.js.org/introduction/why-rtk-is-redux-today**\n *\n * The only way to change the data in the store is to call `dispatch()` on it.\n *\n * There should only be a single store in your app. To specify how different\n * parts of the state tree respond to actions, you may combine several reducers\n * into a single reducer function by using `combineReducers`.\n *\n * @param {Function} reducer A function that returns the next state tree, given\n * the current state tree and the action to handle.\n *\n * @param {any} [preloadedState] The initial state. You may optionally specify it\n * to hydrate the state from the server in universal apps, or to restore a\n * previously serialized user session.\n * If you use `combineReducers` to produce the root reducer function, this must be\n * an object with the same shape as `combineReducers` keys.\n *\n * @param {Function} [enhancer] The store enhancer. You may optionally specify it\n * to enhance the store with third-party capabilities such as middleware,\n * time travel, persistence, etc. The only store enhancer that ships with Redux\n * is `applyMiddleware()`.\n *\n * @returns {Store} A Redux store that lets you read the state, dispatch actions\n * and subscribe to changes.\n */\n\nvar legacy_createStore = createStore;\n\n/**\n * Prints a warning in the console if it exists.\n *\n * @param {String} message The warning message.\n * @returns {void}\n */\nfunction warning(message) {\n /* eslint-disable no-console */\n if (typeof console !== 'undefined' && typeof console.error === 'function') {\n console.error(message);\n }\n /* eslint-enable no-console */\n\n\n try {\n // This error was thrown as a convenience so that if you enable\n // \"break on all exceptions\" in your console,\n // it would pause the execution at this line.\n throw new Error(message);\n } catch (e) {} // eslint-disable-line no-empty\n\n}\n\nfunction getUnexpectedStateShapeWarningMessage(inputState, reducers, action, unexpectedKeyCache) {\n var reducerKeys = Object.keys(reducers);\n var argumentName = action && action.type === ActionTypes.INIT ? 'preloadedState argument passed to createStore' : 'previous state received by the reducer';\n\n if (reducerKeys.length === 0) {\n return 'Store does not have a valid reducer. Make sure the argument passed ' + 'to combineReducers is an object whose values are reducers.';\n }\n\n if (!isPlainObject(inputState)) {\n return \"The \" + argumentName + \" has unexpected type of \\\"\" + kindOf(inputState) + \"\\\". Expected argument to be an object with the following \" + (\"keys: \\\"\" + reducerKeys.join('\", \"') + \"\\\"\");\n }\n\n var unexpectedKeys = Object.keys(inputState).filter(function (key) {\n return !reducers.hasOwnProperty(key) && !unexpectedKeyCache[key];\n });\n unexpectedKeys.forEach(function (key) {\n unexpectedKeyCache[key] = true;\n });\n if (action && action.type === ActionTypes.REPLACE) return;\n\n if (unexpectedKeys.length > 0) {\n return \"Unexpected \" + (unexpectedKeys.length > 1 ? 'keys' : 'key') + \" \" + (\"\\\"\" + unexpectedKeys.join('\", \"') + \"\\\" found in \" + argumentName + \". \") + \"Expected to find one of the known reducer keys instead: \" + (\"\\\"\" + reducerKeys.join('\", \"') + \"\\\". Unexpected keys will be ignored.\");\n }\n}\n\nfunction assertReducerShape(reducers) {\n Object.keys(reducers).forEach(function (key) {\n var reducer = reducers[key];\n var initialState = reducer(undefined, {\n type: ActionTypes.INIT\n });\n\n if (typeof initialState === 'undefined') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(12) : \"The slice reducer for key \\\"\" + key + \"\\\" returned undefined during initialization. \" + \"If the state passed to the reducer is undefined, you must \" + \"explicitly return the initial state. The initial state may \" + \"not be undefined. If you don't want to set a value for this reducer, \" + \"you can use null instead of undefined.\");\n }\n\n if (typeof reducer(undefined, {\n type: ActionTypes.PROBE_UNKNOWN_ACTION()\n }) === 'undefined') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(13) : \"The slice reducer for key \\\"\" + key + \"\\\" returned undefined when probed with a random type. \" + (\"Don't try to handle '\" + ActionTypes.INIT + \"' or other actions in \\\"redux/*\\\" \") + \"namespace. They are considered private. Instead, you must return the \" + \"current state for any unknown actions, unless it is undefined, \" + \"in which case you must return the initial state, regardless of the \" + \"action type. The initial state may not be undefined, but can be null.\");\n }\n });\n}\n/**\n * Turns an object whose values are different reducer functions, into a single\n * reducer function. It will call every child reducer, and gather their results\n * into a single state object, whose keys correspond to the keys of the passed\n * reducer functions.\n *\n * @param {Object} reducers An object whose values correspond to different\n * reducer functions that need to be combined into one. One handy way to obtain\n * it is to use ES6 `import * as reducers` syntax. The reducers may never return\n * undefined for any action. Instead, they should return their initial state\n * if the state passed to them was undefined, and the current state for any\n * unrecognized action.\n *\n * @returns {Function} A reducer function that invokes every reducer inside the\n * passed object, and builds a state object with the same shape.\n */\n\n\nfunction combineReducers(reducers) {\n var reducerKeys = Object.keys(reducers);\n var finalReducers = {};\n\n for (var i = 0; i < reducerKeys.length; i++) {\n var key = reducerKeys[i];\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof reducers[key] === 'undefined') {\n warning(\"No reducer provided for key \\\"\" + key + \"\\\"\");\n }\n }\n\n if (typeof reducers[key] === 'function') {\n finalReducers[key] = reducers[key];\n }\n }\n\n var finalReducerKeys = Object.keys(finalReducers); // This is used to make sure we don't warn about the same\n // keys multiple times.\n\n var unexpectedKeyCache;\n\n if (process.env.NODE_ENV !== 'production') {\n unexpectedKeyCache = {};\n }\n\n var shapeAssertionError;\n\n try {\n assertReducerShape(finalReducers);\n } catch (e) {\n shapeAssertionError = e;\n }\n\n return function combination(state, action) {\n if (state === void 0) {\n state = {};\n }\n\n if (shapeAssertionError) {\n throw shapeAssertionError;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n var warningMessage = getUnexpectedStateShapeWarningMessage(state, finalReducers, action, unexpectedKeyCache);\n\n if (warningMessage) {\n warning(warningMessage);\n }\n }\n\n var hasChanged = false;\n var nextState = {};\n\n for (var _i = 0; _i < finalReducerKeys.length; _i++) {\n var _key = finalReducerKeys[_i];\n var reducer = finalReducers[_key];\n var previousStateForKey = state[_key];\n var nextStateForKey = reducer(previousStateForKey, action);\n\n if (typeof nextStateForKey === 'undefined') {\n var actionType = action && action.type;\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(14) : \"When called with an action of type \" + (actionType ? \"\\\"\" + String(actionType) + \"\\\"\" : '(unknown type)') + \", the slice reducer for key \\\"\" + _key + \"\\\" returned undefined. \" + \"To ignore an action, you must explicitly return the previous state. \" + \"If you want this reducer to hold no value, you can return null instead of undefined.\");\n }\n\n nextState[_key] = nextStateForKey;\n hasChanged = hasChanged || nextStateForKey !== previousStateForKey;\n }\n\n hasChanged = hasChanged || finalReducerKeys.length !== Object.keys(state).length;\n return hasChanged ? nextState : state;\n };\n}\n\nfunction bindActionCreator(actionCreator, dispatch) {\n return function () {\n return dispatch(actionCreator.apply(this, arguments));\n };\n}\n/**\n * Turns an object whose values are action creators, into an object with the\n * same keys, but with every function wrapped into a `dispatch` call so they\n * may be invoked directly. This is just a convenience method, as you can call\n * `store.dispatch(MyActionCreators.doSomething())` yourself just fine.\n *\n * For convenience, you can also pass an action creator as the first argument,\n * and get a dispatch wrapped function in return.\n *\n * @param {Function|Object} actionCreators An object whose values are action\n * creator functions. One handy way to obtain it is to use ES6 `import * as`\n * syntax. You may also pass a single function.\n *\n * @param {Function} dispatch The `dispatch` function available on your Redux\n * store.\n *\n * @returns {Function|Object} The object mimicking the original object, but with\n * every action creator wrapped into the `dispatch` call. If you passed a\n * function as `actionCreators`, the return value will also be a single\n * function.\n */\n\n\nfunction bindActionCreators(actionCreators, dispatch) {\n if (typeof actionCreators === 'function') {\n return bindActionCreator(actionCreators, dispatch);\n }\n\n if (typeof actionCreators !== 'object' || actionCreators === null) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(16) : \"bindActionCreators expected an object or a function, but instead received: '\" + kindOf(actionCreators) + \"'. \" + \"Did you write \\\"import ActionCreators from\\\" instead of \\\"import * as ActionCreators from\\\"?\");\n }\n\n var boundActionCreators = {};\n\n for (var key in actionCreators) {\n var actionCreator = actionCreators[key];\n\n if (typeof actionCreator === 'function') {\n boundActionCreators[key] = bindActionCreator(actionCreator, dispatch);\n }\n }\n\n return boundActionCreators;\n}\n\n/**\n * Composes single-argument functions from right to left. The rightmost\n * function can take multiple arguments as it provides the signature for\n * the resulting composite function.\n *\n * @param {...Function} funcs The functions to compose.\n * @returns {Function} A function obtained by composing the argument functions\n * from right to left. For example, compose(f, g, h) is identical to doing\n * (...args) => f(g(h(...args))).\n */\nfunction compose() {\n for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) {\n funcs[_key] = arguments[_key];\n }\n\n if (funcs.length === 0) {\n return function (arg) {\n return arg;\n };\n }\n\n if (funcs.length === 1) {\n return funcs[0];\n }\n\n return funcs.reduce(function (a, b) {\n return function () {\n return a(b.apply(void 0, arguments));\n };\n });\n}\n\n/**\n * Creates a store enhancer that applies middleware to the dispatch method\n * of the Redux store. This is handy for a variety of tasks, such as expressing\n * asynchronous actions in a concise manner, or logging every action payload.\n *\n * See `redux-thunk` package as an example of the Redux middleware.\n *\n * Because middleware is potentially asynchronous, this should be the first\n * store enhancer in the composition chain.\n *\n * Note that each middleware will be given the `dispatch` and `getState` functions\n * as named arguments.\n *\n * @param {...Function} middlewares The middleware chain to be applied.\n * @returns {Function} A store enhancer applying the middleware.\n */\n\nfunction applyMiddleware() {\n for (var _len = arguments.length, middlewares = new Array(_len), _key = 0; _key < _len; _key++) {\n middlewares[_key] = arguments[_key];\n }\n\n return function (createStore) {\n return function () {\n var store = createStore.apply(void 0, arguments);\n\n var _dispatch = function dispatch() {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(15) : 'Dispatching while constructing your middleware is not allowed. ' + 'Other middleware would not be applied to this dispatch.');\n };\n\n var middlewareAPI = {\n getState: store.getState,\n dispatch: function dispatch() {\n return _dispatch.apply(void 0, arguments);\n }\n };\n var chain = middlewares.map(function (middleware) {\n return middleware(middlewareAPI);\n });\n _dispatch = compose.apply(void 0, chain)(store.dispatch);\n return _objectSpread(_objectSpread({}, store), {}, {\n dispatch: _dispatch\n });\n };\n };\n}\n\nexport { ActionTypes as __DO_NOT_USE__ActionTypes, applyMiddleware, bindActionCreators, combineReducers, compose, createStore, legacy_createStore };\n","/**\n * @license React\n * use-sync-external-store-shim.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var e=require(\"react\");function h(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var k=\"function\"===typeof Object.is?Object.is:h,l=e.useState,m=e.useEffect,n=e.useLayoutEffect,p=e.useDebugValue;function q(a,b){var d=b(),f=l({inst:{value:d,getSnapshot:b}}),c=f[0].inst,g=f[1];n(function(){c.value=d;c.getSnapshot=b;r(c)&&g({inst:c})},[a,d,b]);m(function(){r(c)&&g({inst:c});return a(function(){r(c)&&g({inst:c})})},[a]);p(d);return d}\nfunction r(a){var b=a.getSnapshot;a=a.value;try{var d=b();return!k(a,d)}catch(f){return!0}}function t(a,b){return b()}var u=\"undefined\"===typeof window||\"undefined\"===typeof window.document||\"undefined\"===typeof window.document.createElement?t:q;exports.useSyncExternalStore=void 0!==e.useSyncExternalStore?e.useSyncExternalStore:u;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim.production.min.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim.development.js');\n}\n","/**\n * @license React\n * use-sync-external-store-shim/with-selector.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var h=require(\"react\"),n=require(\"use-sync-external-store/shim\");function p(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var q=\"function\"===typeof Object.is?Object.is:p,r=n.useSyncExternalStore,t=h.useRef,u=h.useEffect,v=h.useMemo,w=h.useDebugValue;\nexports.useSyncExternalStoreWithSelector=function(a,b,e,l,g){var c=t(null);if(null===c.current){var f={hasValue:!1,value:null};c.current=f}else f=c.current;c=v(function(){function a(a){if(!c){c=!0;d=a;a=l(a);if(void 0!==g&&f.hasValue){var b=f.value;if(g(b,a))return k=b}return k=a}b=k;if(q(d,a))return b;var e=l(a);if(void 0!==g&&g(b,e))return b;d=a;return k=e}var c=!1,d,k,m=void 0===e?null:e;return[function(){return a(b())},null===m?void 0:function(){return a(m())}]},[b,e,l,g]);var d=r(a,c[0],c[1]);\nu(function(){f.hasValue=!0;f.value=d},[d]);w(d);return d};\n","// Default to a dummy \"batch\" implementation that just runs the callback\nfunction defaultNoopBatch(callback) {\n callback();\n}\n\nlet batch = defaultNoopBatch; // Allow injecting another batching function later\n\nexport const setBatch = newBatch => batch = newBatch; // Supply a getter just to skip dealing with ESM bindings\n\nexport const getBatch = () => batch;","import { createContext, version as ReactVersion } from 'react';\nconst ContextKey = Symbol.for(`react-redux-context-${ReactVersion}`);\nconst gT = globalThis;\n\nfunction getContext() {\n let realContext = gT[ContextKey];\n\n if (!realContext) {\n realContext = createContext(null);\n\n if (process.env.NODE_ENV !== 'production') {\n realContext.displayName = 'ReactRedux';\n }\n\n gT[ContextKey] = realContext;\n }\n\n return realContext;\n}\n\nexport const ReactReduxContext = /*#__PURE__*/new Proxy({}, /*#__PURE__*/new Proxy({}, {\n get(_, handler) {\n const target = getContext(); // @ts-ignore\n\n return (_target, ...args) => Reflect[handler](target, ...args);\n }\n\n}));\nexport default ReactReduxContext;","export const notInitialized = () => {\n throw new Error('uSES not initialized!');\n};","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"initMapStateToProps\", \"initMapDispatchToProps\", \"initMergeProps\"];\nimport verifySubselectors from './verifySubselectors';\nexport function pureFinalPropsSelectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch, {\n areStatesEqual,\n areOwnPropsEqual,\n areStatePropsEqual\n}) {\n let hasRunAtLeastOnce = false;\n let state;\n let ownProps;\n let stateProps;\n let dispatchProps;\n let mergedProps;\n\n function handleFirstCall(firstState, firstOwnProps) {\n state = firstState;\n ownProps = firstOwnProps;\n stateProps = mapStateToProps(state, ownProps);\n dispatchProps = mapDispatchToProps(dispatch, ownProps);\n mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n hasRunAtLeastOnce = true;\n return mergedProps;\n }\n\n function handleNewPropsAndNewState() {\n stateProps = mapStateToProps(state, ownProps);\n if (mapDispatchToProps.dependsOnOwnProps) dispatchProps = mapDispatchToProps(dispatch, ownProps);\n mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n return mergedProps;\n }\n\n function handleNewProps() {\n if (mapStateToProps.dependsOnOwnProps) stateProps = mapStateToProps(state, ownProps);\n if (mapDispatchToProps.dependsOnOwnProps) dispatchProps = mapDispatchToProps(dispatch, ownProps);\n mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n return mergedProps;\n }\n\n function handleNewState() {\n const nextStateProps = mapStateToProps(state, ownProps);\n const statePropsChanged = !areStatePropsEqual(nextStateProps, stateProps);\n stateProps = nextStateProps;\n if (statePropsChanged) mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n return mergedProps;\n }\n\n function handleSubsequentCalls(nextState, nextOwnProps) {\n const propsChanged = !areOwnPropsEqual(nextOwnProps, ownProps);\n const stateChanged = !areStatesEqual(nextState, state, nextOwnProps, ownProps);\n state = nextState;\n ownProps = nextOwnProps;\n if (propsChanged && stateChanged) return handleNewPropsAndNewState();\n if (propsChanged) return handleNewProps();\n if (stateChanged) return handleNewState();\n return mergedProps;\n }\n\n return function pureFinalPropsSelector(nextState, nextOwnProps) {\n return hasRunAtLeastOnce ? handleSubsequentCalls(nextState, nextOwnProps) : handleFirstCall(nextState, nextOwnProps);\n };\n}\n// TODO: Add more comments\n// The selector returned by selectorFactory will memoize its results,\n// allowing connect's shouldComponentUpdate to return false if final\n// props have not changed.\nexport default function finalPropsSelectorFactory(dispatch, _ref) {\n let {\n initMapStateToProps,\n initMapDispatchToProps,\n initMergeProps\n } = _ref,\n options = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n const mapStateToProps = initMapStateToProps(dispatch, options);\n const mapDispatchToProps = initMapDispatchToProps(dispatch, options);\n const mergeProps = initMergeProps(dispatch, options);\n\n if (process.env.NODE_ENV !== 'production') {\n verifySubselectors(mapStateToProps, mapDispatchToProps, mergeProps);\n }\n\n return pureFinalPropsSelectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch, options);\n}","export default function bindActionCreators(actionCreators, dispatch) {\n const boundActionCreators = {};\n\n for (const key in actionCreators) {\n const actionCreator = actionCreators[key];\n\n if (typeof actionCreator === 'function') {\n boundActionCreators[key] = (...args) => dispatch(actionCreator(...args));\n }\n }\n\n return boundActionCreators;\n}","import verifyPlainObject from '../utils/verifyPlainObject';\nexport function wrapMapToPropsConstant( // * Note:\n// It seems that the dispatch argument\n// could be a dispatch function in some cases (ex: whenMapDispatchToPropsIsMissing)\n// and a state object in some others (ex: whenMapStateToPropsIsMissing)\n// eslint-disable-next-line no-unused-vars\ngetConstant) {\n return function initConstantSelector(dispatch) {\n const constant = getConstant(dispatch);\n\n function constantSelector() {\n return constant;\n }\n\n constantSelector.dependsOnOwnProps = false;\n return constantSelector;\n };\n} // dependsOnOwnProps is used by createMapToPropsProxy to determine whether to pass props as args\n// to the mapToProps function being wrapped. It is also used by makePurePropsSelector to determine\n// whether mapToProps needs to be invoked when props have changed.\n//\n// A length of one signals that mapToProps does not depend on props from the parent component.\n// A length of zero is assumed to mean mapToProps is getting args via arguments or ...args and\n// therefore not reporting its length accurately..\n// TODO Can this get pulled out so that we can subscribe directly to the store if we don't need ownProps?\n\nexport function getDependsOnOwnProps(mapToProps) {\n return mapToProps.dependsOnOwnProps ? Boolean(mapToProps.dependsOnOwnProps) : mapToProps.length !== 1;\n} // Used by whenMapStateToPropsIsFunction and whenMapDispatchToPropsIsFunction,\n// this function wraps mapToProps in a proxy function which does several things:\n//\n// * Detects whether the mapToProps function being called depends on props, which\n// is used by selectorFactory to decide if it should reinvoke on props changes.\n//\n// * On first call, handles mapToProps if returns another function, and treats that\n// new function as the true mapToProps for subsequent calls.\n//\n// * On first call, verifies the first result is a plain object, in order to warn\n// the developer that their mapToProps function is not returning a valid result.\n//\n\nexport function wrapMapToPropsFunc(mapToProps, methodName) {\n return function initProxySelector(dispatch, {\n displayName\n }) {\n const proxy = function mapToPropsProxy(stateOrDispatch, ownProps) {\n return proxy.dependsOnOwnProps ? proxy.mapToProps(stateOrDispatch, ownProps) : proxy.mapToProps(stateOrDispatch, undefined);\n }; // allow detectFactoryAndVerify to get ownProps\n\n\n proxy.dependsOnOwnProps = true;\n\n proxy.mapToProps = function detectFactoryAndVerify(stateOrDispatch, ownProps) {\n proxy.mapToProps = mapToProps;\n proxy.dependsOnOwnProps = getDependsOnOwnProps(mapToProps);\n let props = proxy(stateOrDispatch, ownProps);\n\n if (typeof props === 'function') {\n proxy.mapToProps = props;\n proxy.dependsOnOwnProps = getDependsOnOwnProps(props);\n props = proxy(stateOrDispatch, ownProps);\n }\n\n if (process.env.NODE_ENV !== 'production') verifyPlainObject(props, displayName, methodName);\n return props;\n };\n\n return proxy;\n };\n}","export function createInvalidArgFactory(arg, name) {\n return (dispatch, options) => {\n throw new Error(`Invalid value of type ${typeof arg} for ${name} argument when connecting component ${options.wrappedComponentName}.`);\n };\n}","import bindActionCreators from '../utils/bindActionCreators';\nimport { wrapMapToPropsConstant, wrapMapToPropsFunc } from './wrapMapToProps';\nimport { createInvalidArgFactory } from './invalidArgFactory';\nexport function mapDispatchToPropsFactory(mapDispatchToProps) {\n return mapDispatchToProps && typeof mapDispatchToProps === 'object' ? wrapMapToPropsConstant(dispatch => // @ts-ignore\n bindActionCreators(mapDispatchToProps, dispatch)) : !mapDispatchToProps ? wrapMapToPropsConstant(dispatch => ({\n dispatch\n })) : typeof mapDispatchToProps === 'function' ? // @ts-ignore\n wrapMapToPropsFunc(mapDispatchToProps, 'mapDispatchToProps') : createInvalidArgFactory(mapDispatchToProps, 'mapDispatchToProps');\n}","import { wrapMapToPropsConstant, wrapMapToPropsFunc } from './wrapMapToProps';\nimport { createInvalidArgFactory } from './invalidArgFactory';\nexport function mapStateToPropsFactory(mapStateToProps) {\n return !mapStateToProps ? wrapMapToPropsConstant(() => ({})) : typeof mapStateToProps === 'function' ? // @ts-ignore\n wrapMapToPropsFunc(mapStateToProps, 'mapStateToProps') : createInvalidArgFactory(mapStateToProps, 'mapStateToProps');\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport verifyPlainObject from '../utils/verifyPlainObject';\nimport { createInvalidArgFactory } from './invalidArgFactory';\nexport function defaultMergeProps(stateProps, dispatchProps, ownProps) {\n // @ts-ignore\n return _extends({}, ownProps, stateProps, dispatchProps);\n}\nexport function wrapMergePropsFunc(mergeProps) {\n return function initMergePropsProxy(dispatch, {\n displayName,\n areMergedPropsEqual\n }) {\n let hasRunOnce = false;\n let mergedProps;\n return function mergePropsProxy(stateProps, dispatchProps, ownProps) {\n const nextMergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n\n if (hasRunOnce) {\n if (!areMergedPropsEqual(nextMergedProps, mergedProps)) mergedProps = nextMergedProps;\n } else {\n hasRunOnce = true;\n mergedProps = nextMergedProps;\n if (process.env.NODE_ENV !== 'production') verifyPlainObject(mergedProps, displayName, 'mergeProps');\n }\n\n return mergedProps;\n };\n };\n}\nexport function mergePropsFactory(mergeProps) {\n return !mergeProps ? () => defaultMergeProps : typeof mergeProps === 'function' ? wrapMergePropsFunc(mergeProps) : createInvalidArgFactory(mergeProps, 'mergeProps');\n}","import { getBatch } from './batch'; // encapsulates the subscription logic for connecting a component to the redux store, as\n// well as nesting subscriptions of descendant components, so that we can ensure the\n// ancestor components re-render before descendants\n\nfunction createListenerCollection() {\n const batch = getBatch();\n let first = null;\n let last = null;\n return {\n clear() {\n first = null;\n last = null;\n },\n\n notify() {\n batch(() => {\n let listener = first;\n\n while (listener) {\n listener.callback();\n listener = listener.next;\n }\n });\n },\n\n get() {\n let listeners = [];\n let listener = first;\n\n while (listener) {\n listeners.push(listener);\n listener = listener.next;\n }\n\n return listeners;\n },\n\n subscribe(callback) {\n let isSubscribed = true;\n let listener = last = {\n callback,\n next: null,\n prev: last\n };\n\n if (listener.prev) {\n listener.prev.next = listener;\n } else {\n first = listener;\n }\n\n return function unsubscribe() {\n if (!isSubscribed || first === null) return;\n isSubscribed = false;\n\n if (listener.next) {\n listener.next.prev = listener.prev;\n } else {\n last = listener.prev;\n }\n\n if (listener.prev) {\n listener.prev.next = listener.next;\n } else {\n first = listener.next;\n }\n };\n }\n\n };\n}\n\nconst nullListeners = {\n notify() {},\n\n get: () => []\n};\nexport function createSubscription(store, parentSub) {\n let unsubscribe;\n let listeners = nullListeners;\n\n function addNestedSub(listener) {\n trySubscribe();\n return listeners.subscribe(listener);\n }\n\n function notifyNestedSubs() {\n listeners.notify();\n }\n\n function handleChangeWrapper() {\n if (subscription.onStateChange) {\n subscription.onStateChange();\n }\n }\n\n function isSubscribed() {\n return Boolean(unsubscribe);\n }\n\n function trySubscribe() {\n if (!unsubscribe) {\n unsubscribe = parentSub ? parentSub.addNestedSub(handleChangeWrapper) : store.subscribe(handleChangeWrapper);\n listeners = createListenerCollection();\n }\n }\n\n function tryUnsubscribe() {\n if (unsubscribe) {\n unsubscribe();\n unsubscribe = undefined;\n listeners.clear();\n listeners = nullListeners;\n }\n }\n\n const subscription = {\n addNestedSub,\n notifyNestedSubs,\n handleChangeWrapper,\n isSubscribed,\n trySubscribe,\n tryUnsubscribe,\n getListeners: () => listeners\n };\n return subscription;\n}","import { useEffect, useLayoutEffect } from 'react'; // React currently throws a warning when using useLayoutEffect on the server.\n// To get around it, we can conditionally useEffect on the server (no-op) and\n// useLayoutEffect in the browser. We need useLayoutEffect to ensure the store\n// subscription callback always has the selector from the latest render commit\n// available, otherwise a store update may happen between render and the effect,\n// which may cause missed updates; we also must ensure the store subscription\n// is created synchronously, otherwise a store update may occur before the\n// subscription is created and an inconsistent state may be observed\n// Matches logic in React's `shared/ExecutionEnvironment` file\n\nexport const canUseDOM = !!(typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined');\nexport const useIsomorphicLayoutEffect = canUseDOM ? useLayoutEffect : useEffect;","function is(x, y) {\n if (x === y) {\n return x !== 0 || y !== 0 || 1 / x === 1 / y;\n } else {\n return x !== x && y !== y;\n }\n}\n\nexport default function shallowEqual(objA, objB) {\n if (is(objA, objB)) return true;\n\n if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {\n return false;\n }\n\n const keysA = Object.keys(objA);\n const keysB = Object.keys(objB);\n if (keysA.length !== keysB.length) return false;\n\n for (let i = 0; i < keysA.length; i++) {\n if (!Object.prototype.hasOwnProperty.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) {\n return false;\n }\n }\n\n return true;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"reactReduxForwardedRef\"];\n\n/* eslint-disable valid-jsdoc, @typescript-eslint/no-unused-vars */\nimport hoistStatics from 'hoist-non-react-statics';\nimport React, { useContext, useMemo, useRef } from 'react';\nimport { isValidElementType, isContextConsumer } from 'react-is';\nimport defaultSelectorFactory from '../connect/selectorFactory';\nimport { mapDispatchToPropsFactory } from '../connect/mapDispatchToProps';\nimport { mapStateToPropsFactory } from '../connect/mapStateToProps';\nimport { mergePropsFactory } from '../connect/mergeProps';\nimport { createSubscription } from '../utils/Subscription';\nimport { useIsomorphicLayoutEffect } from '../utils/useIsomorphicLayoutEffect';\nimport shallowEqual from '../utils/shallowEqual';\nimport warning from '../utils/warning';\nimport { ReactReduxContext } from './Context';\nimport { notInitialized } from '../utils/useSyncExternalStore';\nlet useSyncExternalStore = notInitialized;\nexport const initializeConnect = fn => {\n useSyncExternalStore = fn;\n}; // Define some constant arrays just to avoid re-creating these\n\nconst EMPTY_ARRAY = [null, 0];\nconst NO_SUBSCRIPTION_ARRAY = [null, null]; // Attempts to stringify whatever not-really-a-component value we were given\n// for logging in an error message\n\nconst stringifyComponent = Comp => {\n try {\n return JSON.stringify(Comp);\n } catch (err) {\n return String(Comp);\n }\n};\n\n// This is \"just\" a `useLayoutEffect`, but with two modifications:\n// - we need to fall back to `useEffect` in SSR to avoid annoying warnings\n// - we extract this to a separate function to avoid closing over values\n// and causing memory leaks\nfunction useIsomorphicLayoutEffectWithArgs(effectFunc, effectArgs, dependencies) {\n useIsomorphicLayoutEffect(() => effectFunc(...effectArgs), dependencies);\n} // Effect callback, extracted: assign the latest props values to refs for later usage\n\n\nfunction captureWrapperProps(lastWrapperProps, lastChildProps, renderIsScheduled, wrapperProps, // actualChildProps: unknown,\nchildPropsFromStoreUpdate, notifyNestedSubs) {\n // We want to capture the wrapper props and child props we used for later comparisons\n lastWrapperProps.current = wrapperProps;\n renderIsScheduled.current = false; // If the render was from a store update, clear out that reference and cascade the subscriber update\n\n if (childPropsFromStoreUpdate.current) {\n childPropsFromStoreUpdate.current = null;\n notifyNestedSubs();\n }\n} // Effect callback, extracted: subscribe to the Redux store or nearest connected ancestor,\n// check for updates after dispatched actions, and trigger re-renders.\n\n\nfunction subscribeUpdates(shouldHandleStateChanges, store, subscription, childPropsSelector, lastWrapperProps, lastChildProps, renderIsScheduled, isMounted, childPropsFromStoreUpdate, notifyNestedSubs, // forceComponentUpdateDispatch: React.Dispatch,\nadditionalSubscribeListener) {\n // If we're not subscribed to the store, nothing to do here\n if (!shouldHandleStateChanges) return () => {}; // Capture values for checking if and when this component unmounts\n\n let didUnsubscribe = false;\n let lastThrownError = null; // We'll run this callback every time a store subscription update propagates to this component\n\n const checkForUpdates = () => {\n if (didUnsubscribe || !isMounted.current) {\n // Don't run stale listeners.\n // Redux doesn't guarantee unsubscriptions happen until next dispatch.\n return;\n } // TODO We're currently calling getState ourselves here, rather than letting `uSES` do it\n\n\n const latestStoreState = store.getState();\n let newChildProps, error;\n\n try {\n // Actually run the selector with the most recent store state and wrapper props\n // to determine what the child props should be\n newChildProps = childPropsSelector(latestStoreState, lastWrapperProps.current);\n } catch (e) {\n error = e;\n lastThrownError = e;\n }\n\n if (!error) {\n lastThrownError = null;\n } // If the child props haven't changed, nothing to do here - cascade the subscription update\n\n\n if (newChildProps === lastChildProps.current) {\n if (!renderIsScheduled.current) {\n notifyNestedSubs();\n }\n } else {\n // Save references to the new child props. Note that we track the \"child props from store update\"\n // as a ref instead of a useState/useReducer because we need a way to determine if that value has\n // been processed. If this went into useState/useReducer, we couldn't clear out the value without\n // forcing another re-render, which we don't want.\n lastChildProps.current = newChildProps;\n childPropsFromStoreUpdate.current = newChildProps;\n renderIsScheduled.current = true; // TODO This is hacky and not how `uSES` is meant to be used\n // Trigger the React `useSyncExternalStore` subscriber\n\n additionalSubscribeListener();\n }\n }; // Actually subscribe to the nearest connected ancestor (or store)\n\n\n subscription.onStateChange = checkForUpdates;\n subscription.trySubscribe(); // Pull data from the store after first render in case the store has\n // changed since we began.\n\n checkForUpdates();\n\n const unsubscribeWrapper = () => {\n didUnsubscribe = true;\n subscription.tryUnsubscribe();\n subscription.onStateChange = null;\n\n if (lastThrownError) {\n // It's possible that we caught an error due to a bad mapState function, but the\n // parent re-rendered without this component and we're about to unmount.\n // This shouldn't happen as long as we do top-down subscriptions correctly, but\n // if we ever do those wrong, this throw will surface the error in our tests.\n // In that case, throw the error from here so it doesn't get lost.\n throw lastThrownError;\n }\n };\n\n return unsubscribeWrapper;\n} // Reducer initial state creation for our update reducer\n\n\nconst initStateUpdates = () => EMPTY_ARRAY;\n\nfunction strictEqual(a, b) {\n return a === b;\n}\n/**\r\n * Infers the type of props that a connector will inject into a component.\r\n */\n\n\nlet hasWarnedAboutDeprecatedPureOption = false;\n/**\r\n * Connects a React component to a Redux store.\r\n *\r\n * - Without arguments, just wraps the component, without changing the behavior / props\r\n *\r\n * - If 2 params are passed (3rd param, mergeProps, is skipped), default behavior\r\n * is to override ownProps (as stated in the docs), so what remains is everything that's\r\n * not a state or dispatch prop\r\n *\r\n * - When 3rd param is passed, we don't know if ownProps propagate and whether they\r\n * should be valid component props, because it depends on mergeProps implementation.\r\n * As such, it is the user's responsibility to extend ownProps interface from state or\r\n * dispatch props or both when applicable\r\n *\r\n * @param mapStateToProps A function that extracts values from state\r\n * @param mapDispatchToProps Setup for dispatching actions\r\n * @param mergeProps Optional callback to merge state and dispatch props together\r\n * @param options Options for configuring the connection\r\n *\r\n */\n\nfunction connect(mapStateToProps, mapDispatchToProps, mergeProps, {\n // The `pure` option has been removed, so TS doesn't like us destructuring this to check its existence.\n // @ts-ignore\n pure,\n areStatesEqual = strictEqual,\n areOwnPropsEqual = shallowEqual,\n areStatePropsEqual = shallowEqual,\n areMergedPropsEqual = shallowEqual,\n // use React's forwardRef to expose a ref of the wrapped component\n forwardRef = false,\n // the context consumer to use\n context = ReactReduxContext\n} = {}) {\n if (process.env.NODE_ENV !== 'production') {\n if (pure !== undefined && !hasWarnedAboutDeprecatedPureOption) {\n hasWarnedAboutDeprecatedPureOption = true;\n warning('The `pure` option has been removed. `connect` is now always a \"pure/memoized\" component');\n }\n }\n\n const Context = context;\n const initMapStateToProps = mapStateToPropsFactory(mapStateToProps);\n const initMapDispatchToProps = mapDispatchToPropsFactory(mapDispatchToProps);\n const initMergeProps = mergePropsFactory(mergeProps);\n const shouldHandleStateChanges = Boolean(mapStateToProps);\n\n const wrapWithConnect = WrappedComponent => {\n if (process.env.NODE_ENV !== 'production' && !isValidElementType(WrappedComponent)) {\n throw new Error(`You must pass a component to the function returned by connect. Instead received ${stringifyComponent(WrappedComponent)}`);\n }\n\n const wrappedComponentName = WrappedComponent.displayName || WrappedComponent.name || 'Component';\n const displayName = `Connect(${wrappedComponentName})`;\n const selectorFactoryOptions = {\n shouldHandleStateChanges,\n displayName,\n wrappedComponentName,\n WrappedComponent,\n // @ts-ignore\n initMapStateToProps,\n // @ts-ignore\n initMapDispatchToProps,\n initMergeProps,\n areStatesEqual,\n areStatePropsEqual,\n areOwnPropsEqual,\n areMergedPropsEqual\n };\n\n function ConnectFunction(props) {\n const [propsContext, reactReduxForwardedRef, wrapperProps] = useMemo(() => {\n // Distinguish between actual \"data\" props that were passed to the wrapper component,\n // and values needed to control behavior (forwarded refs, alternate context instances).\n // To maintain the wrapperProps object reference, memoize this destructuring.\n const {\n reactReduxForwardedRef\n } = props,\n wrapperProps = _objectWithoutPropertiesLoose(props, _excluded);\n\n return [props.context, reactReduxForwardedRef, wrapperProps];\n }, [props]);\n const ContextToUse = useMemo(() => {\n // Users may optionally pass in a custom context instance to use instead of our ReactReduxContext.\n // Memoize the check that determines which context instance we should use.\n return propsContext && propsContext.Consumer && // @ts-ignore\n isContextConsumer( /*#__PURE__*/React.createElement(propsContext.Consumer, null)) ? propsContext : Context;\n }, [propsContext, Context]); // Retrieve the store and ancestor subscription via context, if available\n\n const contextValue = useContext(ContextToUse); // The store _must_ exist as either a prop or in context.\n // We'll check to see if it _looks_ like a Redux store first.\n // This allows us to pass through a `store` prop that is just a plain value.\n\n const didStoreComeFromProps = Boolean(props.store) && Boolean(props.store.getState) && Boolean(props.store.dispatch);\n const didStoreComeFromContext = Boolean(contextValue) && Boolean(contextValue.store);\n\n if (process.env.NODE_ENV !== 'production' && !didStoreComeFromProps && !didStoreComeFromContext) {\n throw new Error(`Could not find \"store\" in the context of ` + `\"${displayName}\". Either wrap the root component in a , ` + `or pass a custom React context provider to and the corresponding ` + `React context consumer to ${displayName} in connect options.`);\n } // Based on the previous check, one of these must be true\n\n\n const store = didStoreComeFromProps ? props.store : contextValue.store;\n const getServerState = didStoreComeFromContext ? contextValue.getServerState : store.getState;\n const childPropsSelector = useMemo(() => {\n // The child props selector needs the store reference as an input.\n // Re-create this selector whenever the store changes.\n return defaultSelectorFactory(store.dispatch, selectorFactoryOptions);\n }, [store]);\n const [subscription, notifyNestedSubs] = useMemo(() => {\n if (!shouldHandleStateChanges) return NO_SUBSCRIPTION_ARRAY; // This Subscription's source should match where store came from: props vs. context. A component\n // connected to the store via props shouldn't use subscription from context, or vice versa.\n\n const subscription = createSubscription(store, didStoreComeFromProps ? undefined : contextValue.subscription); // `notifyNestedSubs` is duplicated to handle the case where the component is unmounted in\n // the middle of the notification loop, where `subscription` will then be null. This can\n // probably be avoided if Subscription's listeners logic is changed to not call listeners\n // that have been unsubscribed in the middle of the notification loop.\n\n const notifyNestedSubs = subscription.notifyNestedSubs.bind(subscription);\n return [subscription, notifyNestedSubs];\n }, [store, didStoreComeFromProps, contextValue]); // Determine what {store, subscription} value should be put into nested context, if necessary,\n // and memoize that value to avoid unnecessary context updates.\n\n const overriddenContextValue = useMemo(() => {\n if (didStoreComeFromProps) {\n // This component is directly subscribed to a store from props.\n // We don't want descendants reading from this store - pass down whatever\n // the existing context value is from the nearest connected ancestor.\n return contextValue;\n } // Otherwise, put this component's subscription instance into context, so that\n // connected descendants won't update until after this component is done\n\n\n return _extends({}, contextValue, {\n subscription\n });\n }, [didStoreComeFromProps, contextValue, subscription]); // Set up refs to coordinate values between the subscription effect and the render logic\n\n const lastChildProps = useRef();\n const lastWrapperProps = useRef(wrapperProps);\n const childPropsFromStoreUpdate = useRef();\n const renderIsScheduled = useRef(false);\n const isProcessingDispatch = useRef(false);\n const isMounted = useRef(false);\n const latestSubscriptionCallbackError = useRef();\n useIsomorphicLayoutEffect(() => {\n isMounted.current = true;\n return () => {\n isMounted.current = false;\n };\n }, []);\n const actualChildPropsSelector = useMemo(() => {\n const selector = () => {\n // Tricky logic here:\n // - This render may have been triggered by a Redux store update that produced new child props\n // - However, we may have gotten new wrapper props after that\n // If we have new child props, and the same wrapper props, we know we should use the new child props as-is.\n // But, if we have new wrapper props, those might change the child props, so we have to recalculate things.\n // So, we'll use the child props from store update only if the wrapper props are the same as last time.\n if (childPropsFromStoreUpdate.current && wrapperProps === lastWrapperProps.current) {\n return childPropsFromStoreUpdate.current;\n } // TODO We're reading the store directly in render() here. Bad idea?\n // This will likely cause Bad Things (TM) to happen in Concurrent Mode.\n // Note that we do this because on renders _not_ caused by store updates, we need the latest store state\n // to determine what the child props should be.\n\n\n return childPropsSelector(store.getState(), wrapperProps);\n };\n\n return selector;\n }, [store, wrapperProps]); // We need this to execute synchronously every time we re-render. However, React warns\n // about useLayoutEffect in SSR, so we try to detect environment and fall back to\n // just useEffect instead to avoid the warning, since neither will run anyway.\n\n const subscribeForReact = useMemo(() => {\n const subscribe = reactListener => {\n if (!subscription) {\n return () => {};\n }\n\n return subscribeUpdates(shouldHandleStateChanges, store, subscription, // @ts-ignore\n childPropsSelector, lastWrapperProps, lastChildProps, renderIsScheduled, isMounted, childPropsFromStoreUpdate, notifyNestedSubs, reactListener);\n };\n\n return subscribe;\n }, [subscription]);\n useIsomorphicLayoutEffectWithArgs(captureWrapperProps, [lastWrapperProps, lastChildProps, renderIsScheduled, wrapperProps, childPropsFromStoreUpdate, notifyNestedSubs]);\n let actualChildProps;\n\n try {\n actualChildProps = useSyncExternalStore( // TODO We're passing through a big wrapper that does a bunch of extra side effects besides subscribing\n subscribeForReact, // TODO This is incredibly hacky. We've already processed the store update and calculated new child props,\n // TODO and we're just passing that through so it triggers a re-render for us rather than relying on `uSES`.\n actualChildPropsSelector, getServerState ? () => childPropsSelector(getServerState(), wrapperProps) : actualChildPropsSelector);\n } catch (err) {\n if (latestSubscriptionCallbackError.current) {\n ;\n err.message += `\\nThe error may be correlated with this previous error:\\n${latestSubscriptionCallbackError.current.stack}\\n\\n`;\n }\n\n throw err;\n }\n\n useIsomorphicLayoutEffect(() => {\n latestSubscriptionCallbackError.current = undefined;\n childPropsFromStoreUpdate.current = undefined;\n lastChildProps.current = actualChildProps;\n }); // Now that all that's done, we can finally try to actually render the child component.\n // We memoize the elements for the rendered child component as an optimization.\n\n const renderedWrappedComponent = useMemo(() => {\n return (\n /*#__PURE__*/\n // @ts-ignore\n React.createElement(WrappedComponent, _extends({}, actualChildProps, {\n ref: reactReduxForwardedRef\n }))\n );\n }, [reactReduxForwardedRef, WrappedComponent, actualChildProps]); // If React sees the exact same element reference as last time, it bails out of re-rendering\n // that child, same as if it was wrapped in React.memo() or returned false from shouldComponentUpdate.\n\n const renderedChild = useMemo(() => {\n if (shouldHandleStateChanges) {\n // If this component is subscribed to store updates, we need to pass its own\n // subscription instance down to our descendants. That means rendering the same\n // Context instance, and putting a different value into the context.\n return /*#__PURE__*/React.createElement(ContextToUse.Provider, {\n value: overriddenContextValue\n }, renderedWrappedComponent);\n }\n\n return renderedWrappedComponent;\n }, [ContextToUse, renderedWrappedComponent, overriddenContextValue]);\n return renderedChild;\n }\n\n const _Connect = React.memo(ConnectFunction);\n\n // Add a hacky cast to get the right output type\n const Connect = _Connect;\n Connect.WrappedComponent = WrappedComponent;\n Connect.displayName = ConnectFunction.displayName = displayName;\n\n if (forwardRef) {\n const _forwarded = React.forwardRef(function forwardConnectRef(props, ref) {\n // @ts-ignore\n return /*#__PURE__*/React.createElement(Connect, _extends({}, props, {\n reactReduxForwardedRef: ref\n }));\n });\n\n const forwarded = _forwarded;\n forwarded.displayName = displayName;\n forwarded.WrappedComponent = WrappedComponent;\n return hoistStatics(forwarded, WrappedComponent);\n }\n\n return hoistStatics(Connect, WrappedComponent);\n };\n\n return wrapWithConnect;\n}\n\nexport default connect;","import React, { useMemo } from 'react';\nimport { ReactReduxContext } from './Context';\nimport { createSubscription } from '../utils/Subscription';\nimport { useIsomorphicLayoutEffect } from '../utils/useIsomorphicLayoutEffect';\n\nfunction Provider({\n store,\n context,\n children,\n serverState,\n stabilityCheck = 'once',\n noopCheck = 'once'\n}) {\n const contextValue = useMemo(() => {\n const subscription = createSubscription(store);\n return {\n store,\n subscription,\n getServerState: serverState ? () => serverState : undefined,\n stabilityCheck,\n noopCheck\n };\n }, [store, serverState, stabilityCheck, noopCheck]);\n const previousState = useMemo(() => store.getState(), [store]);\n useIsomorphicLayoutEffect(() => {\n const {\n subscription\n } = contextValue;\n subscription.onStateChange = subscription.notifyNestedSubs;\n subscription.trySubscribe();\n\n if (previousState !== store.getState()) {\n subscription.notifyNestedSubs();\n }\n\n return () => {\n subscription.tryUnsubscribe();\n subscription.onStateChange = undefined;\n };\n }, [contextValue, previousState]);\n const Context = context || ReactReduxContext; // @ts-ignore 'AnyAction' is assignable to the constraint of type 'A', but 'A' could be instantiated with a different subtype\n\n return /*#__PURE__*/React.createElement(Context.Provider, {\n value: contextValue\n }, children);\n}\n\nexport default Provider;","// The primary entry point assumes we're working with standard ReactDOM/RN, but\n// older versions that do not include `useSyncExternalStore` (React 16.9 - 17.x).\n// Because of that, the useSyncExternalStore compat shim is needed.\nimport { useSyncExternalStore } from 'use-sync-external-store/shim';\nimport { useSyncExternalStoreWithSelector } from 'use-sync-external-store/shim/with-selector';\nimport { unstable_batchedUpdates as batch } from './utils/reactBatchedUpdates';\nimport { setBatch } from './utils/batch';\nimport { initializeUseSelector } from './hooks/useSelector';\nimport { initializeConnect } from './components/connect';\ninitializeUseSelector(useSyncExternalStoreWithSelector);\ninitializeConnect(useSyncExternalStore); // Enable batched updates in our subscriptions for use\n// with standard React renderers (ReactDOM, React Native)\n\nsetBatch(batch);\nexport { batch };\nexport * from './exports';","import { useState, useRef, useEffect } from 'react';\n\nfunction areInputsEqual(newInputs, lastInputs) {\n if (newInputs.length !== lastInputs.length) {\n return false;\n }\n\n for (var i = 0; i < newInputs.length; i++) {\n if (newInputs[i] !== lastInputs[i]) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction useMemoOne(getResult, inputs) {\n var initial = useState(function () {\n return {\n inputs: inputs,\n result: getResult()\n };\n })[0];\n var isFirstRun = useRef(true);\n var committed = useRef(initial);\n var useCache = isFirstRun.current || Boolean(inputs && committed.current.inputs && areInputsEqual(inputs, committed.current.inputs));\n var cache = useCache ? committed.current : {\n inputs: inputs,\n result: getResult()\n };\n useEffect(function () {\n isFirstRun.current = false;\n committed.current = cache;\n }, [cache]);\n return cache.result;\n}\nfunction useCallbackOne(callback, inputs) {\n return useMemoOne(function () {\n return callback;\n }, inputs);\n}\nvar useMemo = useMemoOne;\nvar useCallback = useCallbackOne;\n\nexport { useCallback, useCallbackOne, useMemo, useMemoOne };\n","var isProduction = process.env.NODE_ENV === 'production';\nvar prefix = 'Invariant failed';\nfunction invariant(condition, message) {\n if (condition) {\n return;\n }\n if (isProduction) {\n throw new Error(prefix);\n }\n var provided = typeof message === 'function' ? message() : message;\n var value = provided ? \"\".concat(prefix, \": \").concat(provided) : prefix;\n throw new Error(value);\n}\n\nexport { invariant as default };\n","import invariant from 'tiny-invariant';\n\nvar getRect = function getRect(_ref) {\n var top = _ref.top,\n right = _ref.right,\n bottom = _ref.bottom,\n left = _ref.left;\n var width = right - left;\n var height = bottom - top;\n var rect = {\n top: top,\n right: right,\n bottom: bottom,\n left: left,\n width: width,\n height: height,\n x: left,\n y: top,\n center: {\n x: (right + left) / 2,\n y: (bottom + top) / 2\n }\n };\n return rect;\n};\nvar expand = function expand(target, expandBy) {\n return {\n top: target.top - expandBy.top,\n left: target.left - expandBy.left,\n bottom: target.bottom + expandBy.bottom,\n right: target.right + expandBy.right\n };\n};\nvar shrink = function shrink(target, shrinkBy) {\n return {\n top: target.top + shrinkBy.top,\n left: target.left + shrinkBy.left,\n bottom: target.bottom - shrinkBy.bottom,\n right: target.right - shrinkBy.right\n };\n};\n\nvar shift = function shift(target, shiftBy) {\n return {\n top: target.top + shiftBy.y,\n left: target.left + shiftBy.x,\n bottom: target.bottom + shiftBy.y,\n right: target.right + shiftBy.x\n };\n};\n\nvar noSpacing = {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n};\nvar createBox = function createBox(_ref2) {\n var borderBox = _ref2.borderBox,\n _ref2$margin = _ref2.margin,\n margin = _ref2$margin === void 0 ? noSpacing : _ref2$margin,\n _ref2$border = _ref2.border,\n border = _ref2$border === void 0 ? noSpacing : _ref2$border,\n _ref2$padding = _ref2.padding,\n padding = _ref2$padding === void 0 ? noSpacing : _ref2$padding;\n var marginBox = getRect(expand(borderBox, margin));\n var paddingBox = getRect(shrink(borderBox, border));\n var contentBox = getRect(shrink(paddingBox, padding));\n return {\n marginBox: marginBox,\n borderBox: getRect(borderBox),\n paddingBox: paddingBox,\n contentBox: contentBox,\n margin: margin,\n border: border,\n padding: padding\n };\n};\n\nvar parse = function parse(raw) {\n var value = raw.slice(0, -2);\n var suffix = raw.slice(-2);\n\n if (suffix !== 'px') {\n return 0;\n }\n\n var result = Number(value);\n !!isNaN(result) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Could not parse value [raw: \" + raw + \", without suffix: \" + value + \"]\") : invariant(false) : void 0;\n return result;\n};\n\nvar getWindowScroll = function getWindowScroll() {\n return {\n x: window.pageXOffset,\n y: window.pageYOffset\n };\n};\n\nvar offset = function offset(original, change) {\n var borderBox = original.borderBox,\n border = original.border,\n margin = original.margin,\n padding = original.padding;\n var shifted = shift(borderBox, change);\n return createBox({\n borderBox: shifted,\n border: border,\n margin: margin,\n padding: padding\n });\n};\nvar withScroll = function withScroll(original, scroll) {\n if (scroll === void 0) {\n scroll = getWindowScroll();\n }\n\n return offset(original, scroll);\n};\nvar calculateBox = function calculateBox(borderBox, styles) {\n var margin = {\n top: parse(styles.marginTop),\n right: parse(styles.marginRight),\n bottom: parse(styles.marginBottom),\n left: parse(styles.marginLeft)\n };\n var padding = {\n top: parse(styles.paddingTop),\n right: parse(styles.paddingRight),\n bottom: parse(styles.paddingBottom),\n left: parse(styles.paddingLeft)\n };\n var border = {\n top: parse(styles.borderTopWidth),\n right: parse(styles.borderRightWidth),\n bottom: parse(styles.borderBottomWidth),\n left: parse(styles.borderLeftWidth)\n };\n return createBox({\n borderBox: borderBox,\n margin: margin,\n padding: padding,\n border: border\n });\n};\nvar getBox = function getBox(el) {\n var borderBox = el.getBoundingClientRect();\n var styles = window.getComputedStyle(el);\n return calculateBox(borderBox, styles);\n};\n\nexport { calculateBox, createBox, expand, getBox, getRect, offset, shrink, withScroll };\n","var safeIsNaN = Number.isNaN ||\n function ponyfill(value) {\n return typeof value === 'number' && value !== value;\n };\nfunction isEqual(first, second) {\n if (first === second) {\n return true;\n }\n if (safeIsNaN(first) && safeIsNaN(second)) {\n return true;\n }\n return false;\n}\nfunction areInputsEqual(newInputs, lastInputs) {\n if (newInputs.length !== lastInputs.length) {\n return false;\n }\n for (var i = 0; i < newInputs.length; i++) {\n if (!isEqual(newInputs[i], lastInputs[i])) {\n return false;\n }\n }\n return true;\n}\n\nfunction memoizeOne(resultFn, isEqual) {\n if (isEqual === void 0) { isEqual = areInputsEqual; }\n var cache = null;\n function memoized() {\n var newArgs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n newArgs[_i] = arguments[_i];\n }\n if (cache && cache.lastThis === this && isEqual(newArgs, cache.lastArgs)) {\n return cache.lastResult;\n }\n var lastResult = resultFn.apply(this, newArgs);\n cache = {\n lastResult: lastResult,\n lastArgs: newArgs,\n lastThis: this,\n };\n return lastResult;\n }\n memoized.clear = function clear() {\n cache = null;\n };\n return memoized;\n}\n\nexport { memoizeOne as default };\n","var rafSchd = function rafSchd(fn) {\n var lastArgs = [];\n var frameId = null;\n\n var wrapperFn = function wrapperFn() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n lastArgs = args;\n\n if (frameId) {\n return;\n }\n\n frameId = requestAnimationFrame(function () {\n frameId = null;\n fn.apply(void 0, lastArgs);\n });\n };\n\n wrapperFn.cancel = function () {\n if (!frameId) {\n return;\n }\n\n cancelAnimationFrame(frameId);\n frameId = null;\n };\n\n return wrapperFn;\n};\n\nexport default rafSchd;\n","import React, { useLayoutEffect as useLayoutEffect$1, useEffect, useRef, useState, useContext } from 'react';\nimport ReactDOM, { flushSync } from 'react-dom';\nimport { createStore as createStore$1, applyMiddleware, compose, bindActionCreators } from 'redux';\nimport { Provider, connect } from 'react-redux';\nimport { useMemo, useCallback } from 'use-memo-one';\nimport { getRect, expand, offset, withScroll, calculateBox, getBox, createBox } from 'css-box-model';\nimport memoizeOne from 'memoize-one';\nimport rafSchd from 'raf-schd';\nimport _extends from '@babel/runtime/helpers/esm/extends';\n\nconst isProduction$1 = process.env.NODE_ENV === 'production';\nconst spacesAndTabs = /[ \\t]{2,}/g;\nconst lineStartWithSpaces = /^[ \\t]*/gm;\nconst clean$2 = value => value.replace(spacesAndTabs, ' ').replace(lineStartWithSpaces, '').trim();\nconst getDevMessage = message => clean$2(`\n %c@hello-pangea/dnd\n\n %c${clean$2(message)}\n\n %c👷‍ This is a development only message. It will be removed in production builds.\n`);\nconst getFormattedMessage = message => [getDevMessage(message), 'color: #00C584; font-size: 1.2em; font-weight: bold;', 'line-height: 1.5', 'color: #723874;'];\nconst isDisabledFlag = '__@hello-pangea/dnd-disable-dev-warnings';\nfunction log(type, message) {\n if (isProduction$1) {\n return;\n }\n if (typeof window !== 'undefined' && window[isDisabledFlag]) {\n return;\n }\n console[type](...getFormattedMessage(message));\n}\nconst warning = log.bind(null, 'warn');\nconst error = log.bind(null, 'error');\n\nfunction noop$2() {}\n\nfunction getOptions(shared, fromBinding) {\n return {\n ...shared,\n ...fromBinding\n };\n}\nfunction bindEvents(el, bindings, sharedOptions) {\n const unbindings = bindings.map(binding => {\n const options = getOptions(sharedOptions, binding.options);\n el.addEventListener(binding.eventName, binding.fn, options);\n return function unbind() {\n el.removeEventListener(binding.eventName, binding.fn, options);\n };\n });\n return function unbindAll() {\n unbindings.forEach(unbind => {\n unbind();\n });\n };\n}\n\nconst isProduction = process.env.NODE_ENV === 'production';\nconst prefix$1 = 'Invariant failed';\nclass RbdInvariant extends Error {}\nRbdInvariant.prototype.toString = function toString() {\n return this.message;\n};\nfunction invariant(condition, message) {\n if (condition) {\n return;\n }\n if (isProduction) {\n throw new RbdInvariant(prefix$1);\n } else {\n throw new RbdInvariant(`${prefix$1}: ${message || ''}`);\n }\n}\n\nclass ErrorBoundary extends React.Component {\n constructor() {\n super(...arguments);\n this.callbacks = null;\n this.unbind = noop$2;\n this.onWindowError = event => {\n const callbacks = this.getCallbacks();\n if (callbacks.isDragging()) {\n callbacks.tryAbort();\n process.env.NODE_ENV !== \"production\" ? warning(`\n An error was caught by our window 'error' event listener while a drag was occurring.\n The active drag has been aborted.\n `) : void 0;\n }\n const err = event.error;\n if (err instanceof RbdInvariant) {\n event.preventDefault();\n if (process.env.NODE_ENV !== 'production') {\n error(err.message);\n }\n }\n };\n this.getCallbacks = () => {\n if (!this.callbacks) {\n throw new Error('Unable to find AppCallbacks in ');\n }\n return this.callbacks;\n };\n this.setCallbacks = callbacks => {\n this.callbacks = callbacks;\n };\n }\n componentDidMount() {\n this.unbind = bindEvents(window, [{\n eventName: 'error',\n fn: this.onWindowError\n }]);\n }\n componentDidCatch(err) {\n if (err instanceof RbdInvariant) {\n if (process.env.NODE_ENV !== 'production') {\n error(err.message);\n }\n this.setState({});\n return;\n }\n throw err;\n }\n componentWillUnmount() {\n this.unbind();\n }\n render() {\n return this.props.children(this.setCallbacks);\n }\n}\n\nconst dragHandleUsageInstructions = `\n Press space bar to start a drag.\n When dragging you can use the arrow keys to move the item around and escape to cancel.\n Some screen readers may require you to be in focus mode or to use your pass through key\n`;\nconst position = index => index + 1;\nconst onDragStart = start => `\n You have lifted an item in position ${position(start.source.index)}\n`;\nconst withLocation = (source, destination) => {\n const isInHomeList = source.droppableId === destination.droppableId;\n const startPosition = position(source.index);\n const endPosition = position(destination.index);\n if (isInHomeList) {\n return `\n You have moved the item from position ${startPosition}\n to position ${endPosition}\n `;\n }\n return `\n You have moved the item from position ${startPosition}\n in list ${source.droppableId}\n to list ${destination.droppableId}\n in position ${endPosition}\n `;\n};\nconst withCombine = (id, source, combine) => {\n const inHomeList = source.droppableId === combine.droppableId;\n if (inHomeList) {\n return `\n The item ${id}\n has been combined with ${combine.draggableId}`;\n }\n return `\n The item ${id}\n in list ${source.droppableId}\n has been combined with ${combine.draggableId}\n in list ${combine.droppableId}\n `;\n};\nconst onDragUpdate = update => {\n const location = update.destination;\n if (location) {\n return withLocation(update.source, location);\n }\n const combine = update.combine;\n if (combine) {\n return withCombine(update.draggableId, update.source, combine);\n }\n return 'You are over an area that cannot be dropped on';\n};\nconst returnedToStart = source => `\n The item has returned to its starting position\n of ${position(source.index)}\n`;\nconst onDragEnd = result => {\n if (result.reason === 'CANCEL') {\n return `\n Movement cancelled.\n ${returnedToStart(result.source)}\n `;\n }\n const location = result.destination;\n const combine = result.combine;\n if (location) {\n return `\n You have dropped the item.\n ${withLocation(result.source, location)}\n `;\n }\n if (combine) {\n return `\n You have dropped the item.\n ${withCombine(result.draggableId, result.source, combine)}\n `;\n }\n return `\n The item has been dropped while not over a drop area.\n ${returnedToStart(result.source)}\n `;\n};\nconst preset = {\n dragHandleUsageInstructions,\n onDragStart,\n onDragUpdate,\n onDragEnd\n};\nvar preset$1 = preset;\n\nconst origin = {\n x: 0,\n y: 0\n};\nconst add = (point1, point2) => ({\n x: point1.x + point2.x,\n y: point1.y + point2.y\n});\nconst subtract = (point1, point2) => ({\n x: point1.x - point2.x,\n y: point1.y - point2.y\n});\nconst isEqual$1 = (point1, point2) => point1.x === point2.x && point1.y === point2.y;\nconst negate = point => ({\n x: point.x !== 0 ? -point.x : 0,\n y: point.y !== 0 ? -point.y : 0\n});\nconst patch = function (line, value, otherValue) {\n if (otherValue === void 0) {\n otherValue = 0;\n }\n if (line === 'x') {\n return {\n x: value,\n y: otherValue\n };\n }\n return {\n x: otherValue,\n y: value\n };\n};\nconst distance = (point1, point2) => Math.sqrt((point2.x - point1.x) ** 2 + (point2.y - point1.y) ** 2);\nconst closest$1 = (target, points) => Math.min(...points.map(point => distance(target, point)));\nconst apply = fn => point => ({\n x: fn(point.x),\n y: fn(point.y)\n});\n\nvar executeClip = ((frame, subject) => {\n const result = getRect({\n top: Math.max(subject.top, frame.top),\n right: Math.min(subject.right, frame.right),\n bottom: Math.min(subject.bottom, frame.bottom),\n left: Math.max(subject.left, frame.left)\n });\n if (result.width <= 0 || result.height <= 0) {\n return null;\n }\n return result;\n});\n\nconst offsetByPosition = (spacing, point) => ({\n top: spacing.top + point.y,\n left: spacing.left + point.x,\n bottom: spacing.bottom + point.y,\n right: spacing.right + point.x\n});\nconst getCorners = spacing => [{\n x: spacing.left,\n y: spacing.top\n}, {\n x: spacing.right,\n y: spacing.top\n}, {\n x: spacing.left,\n y: spacing.bottom\n}, {\n x: spacing.right,\n y: spacing.bottom\n}];\nconst noSpacing = {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n};\n\nconst scroll$1 = (target, frame) => {\n if (!frame) {\n return target;\n }\n return offsetByPosition(target, frame.scroll.diff.displacement);\n};\nconst increase = (target, axis, withPlaceholder) => {\n if (withPlaceholder && withPlaceholder.increasedBy) {\n return {\n ...target,\n [axis.end]: target[axis.end] + withPlaceholder.increasedBy[axis.line]\n };\n }\n return target;\n};\nconst clip = (target, frame) => {\n if (frame && frame.shouldClipSubject) {\n return executeClip(frame.pageMarginBox, target);\n }\n return getRect(target);\n};\nvar getSubject = (_ref => {\n let {\n page,\n withPlaceholder,\n axis,\n frame\n } = _ref;\n const scrolled = scroll$1(page.marginBox, frame);\n const increased = increase(scrolled, axis, withPlaceholder);\n const clipped = clip(increased, frame);\n return {\n page,\n withPlaceholder,\n active: clipped\n };\n});\n\nvar scrollDroppable = ((droppable, newScroll) => {\n !droppable.frame ? process.env.NODE_ENV !== \"production\" ? invariant(false) : invariant(false) : void 0;\n const scrollable = droppable.frame;\n const scrollDiff = subtract(newScroll, scrollable.scroll.initial);\n const scrollDisplacement = negate(scrollDiff);\n const frame = {\n ...scrollable,\n scroll: {\n initial: scrollable.scroll.initial,\n current: newScroll,\n diff: {\n value: scrollDiff,\n displacement: scrollDisplacement\n },\n max: scrollable.scroll.max\n }\n };\n const subject = getSubject({\n page: droppable.subject.page,\n withPlaceholder: droppable.subject.withPlaceholder,\n axis: droppable.axis,\n frame\n });\n const result = {\n ...droppable,\n frame,\n subject\n };\n return result;\n});\n\nconst toDroppableMap = memoizeOne(droppables => droppables.reduce((previous, current) => {\n previous[current.descriptor.id] = current;\n return previous;\n}, {}));\nconst toDraggableMap = memoizeOne(draggables => draggables.reduce((previous, current) => {\n previous[current.descriptor.id] = current;\n return previous;\n}, {}));\nconst toDroppableList = memoizeOne(droppables => Object.values(droppables));\nconst toDraggableList = memoizeOne(draggables => Object.values(draggables));\n\nvar getDraggablesInsideDroppable = memoizeOne((droppableId, draggables) => {\n const result = toDraggableList(draggables).filter(draggable => droppableId === draggable.descriptor.droppableId).sort((a, b) => a.descriptor.index - b.descriptor.index);\n return result;\n});\n\nfunction tryGetDestination(impact) {\n if (impact.at && impact.at.type === 'REORDER') {\n return impact.at.destination;\n }\n return null;\n}\nfunction tryGetCombine(impact) {\n if (impact.at && impact.at.type === 'COMBINE') {\n return impact.at.combine;\n }\n return null;\n}\n\nvar removeDraggableFromList = memoizeOne((remove, list) => list.filter(item => item.descriptor.id !== remove.descriptor.id));\n\nvar moveToNextCombine = (_ref => {\n let {\n isMovingForward,\n draggable,\n destination,\n insideDestination,\n previousImpact\n } = _ref;\n if (!destination.isCombineEnabled) {\n return null;\n }\n const location = tryGetDestination(previousImpact);\n if (!location) {\n return null;\n }\n function getImpact(target) {\n const at = {\n type: 'COMBINE',\n combine: {\n draggableId: target,\n droppableId: destination.descriptor.id\n }\n };\n return {\n ...previousImpact,\n at\n };\n }\n const all = previousImpact.displaced.all;\n const closestId = all.length ? all[0] : null;\n if (isMovingForward) {\n return closestId ? getImpact(closestId) : null;\n }\n const withoutDraggable = removeDraggableFromList(draggable, insideDestination);\n if (!closestId) {\n if (!withoutDraggable.length) {\n return null;\n }\n const last = withoutDraggable[withoutDraggable.length - 1];\n return getImpact(last.descriptor.id);\n }\n const indexOfClosest = withoutDraggable.findIndex(d => d.descriptor.id === closestId);\n !(indexOfClosest !== -1) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Could not find displaced item in set') : invariant(false) : void 0;\n const proposedIndex = indexOfClosest - 1;\n if (proposedIndex < 0) {\n return null;\n }\n const before = withoutDraggable[proposedIndex];\n return getImpact(before.descriptor.id);\n});\n\nvar isHomeOf = ((draggable, destination) => draggable.descriptor.droppableId === destination.descriptor.id);\n\nconst noDisplacedBy = {\n point: origin,\n value: 0\n};\nconst emptyGroups = {\n invisible: {},\n visible: {},\n all: []\n};\nconst noImpact = {\n displaced: emptyGroups,\n displacedBy: noDisplacedBy,\n at: null\n};\nvar noImpact$1 = noImpact;\n\nvar isWithin = ((lowerBound, upperBound) => value => lowerBound <= value && value <= upperBound);\n\nvar isPartiallyVisibleThroughFrame = (frame => {\n const isWithinVertical = isWithin(frame.top, frame.bottom);\n const isWithinHorizontal = isWithin(frame.left, frame.right);\n return subject => {\n const isContained = isWithinVertical(subject.top) && isWithinVertical(subject.bottom) && isWithinHorizontal(subject.left) && isWithinHorizontal(subject.right);\n if (isContained) {\n return true;\n }\n const isPartiallyVisibleVertically = isWithinVertical(subject.top) || isWithinVertical(subject.bottom);\n const isPartiallyVisibleHorizontally = isWithinHorizontal(subject.left) || isWithinHorizontal(subject.right);\n const isPartiallyContained = isPartiallyVisibleVertically && isPartiallyVisibleHorizontally;\n if (isPartiallyContained) {\n return true;\n }\n const isBiggerVertically = subject.top < frame.top && subject.bottom > frame.bottom;\n const isBiggerHorizontally = subject.left < frame.left && subject.right > frame.right;\n const isTargetBiggerThanFrame = isBiggerVertically && isBiggerHorizontally;\n if (isTargetBiggerThanFrame) {\n return true;\n }\n const isTargetBiggerOnOneAxis = isBiggerVertically && isPartiallyVisibleHorizontally || isBiggerHorizontally && isPartiallyVisibleVertically;\n return isTargetBiggerOnOneAxis;\n };\n});\n\nvar isTotallyVisibleThroughFrame = (frame => {\n const isWithinVertical = isWithin(frame.top, frame.bottom);\n const isWithinHorizontal = isWithin(frame.left, frame.right);\n return subject => {\n const isContained = isWithinVertical(subject.top) && isWithinVertical(subject.bottom) && isWithinHorizontal(subject.left) && isWithinHorizontal(subject.right);\n return isContained;\n };\n});\n\nconst vertical = {\n direction: 'vertical',\n line: 'y',\n crossAxisLine: 'x',\n start: 'top',\n end: 'bottom',\n size: 'height',\n crossAxisStart: 'left',\n crossAxisEnd: 'right',\n crossAxisSize: 'width'\n};\nconst horizontal = {\n direction: 'horizontal',\n line: 'x',\n crossAxisLine: 'y',\n start: 'left',\n end: 'right',\n size: 'width',\n crossAxisStart: 'top',\n crossAxisEnd: 'bottom',\n crossAxisSize: 'height'\n};\n\nvar isTotallyVisibleThroughFrameOnAxis = (axis => frame => {\n const isWithinVertical = isWithin(frame.top, frame.bottom);\n const isWithinHorizontal = isWithin(frame.left, frame.right);\n return subject => {\n if (axis === vertical) {\n return isWithinVertical(subject.top) && isWithinVertical(subject.bottom);\n }\n return isWithinHorizontal(subject.left) && isWithinHorizontal(subject.right);\n };\n});\n\nconst getDroppableDisplaced = (target, destination) => {\n const displacement = destination.frame ? destination.frame.scroll.diff.displacement : origin;\n return offsetByPosition(target, displacement);\n};\nconst isVisibleInDroppable = (target, destination, isVisibleThroughFrameFn) => {\n if (!destination.subject.active) {\n return false;\n }\n return isVisibleThroughFrameFn(destination.subject.active)(target);\n};\nconst isVisibleInViewport = (target, viewport, isVisibleThroughFrameFn) => isVisibleThroughFrameFn(viewport)(target);\nconst isVisible$1 = _ref => {\n let {\n target: toBeDisplaced,\n destination,\n viewport,\n withDroppableDisplacement,\n isVisibleThroughFrameFn\n } = _ref;\n const displacedTarget = withDroppableDisplacement ? getDroppableDisplaced(toBeDisplaced, destination) : toBeDisplaced;\n return isVisibleInDroppable(displacedTarget, destination, isVisibleThroughFrameFn) && isVisibleInViewport(displacedTarget, viewport, isVisibleThroughFrameFn);\n};\nconst isPartiallyVisible = args => isVisible$1({\n ...args,\n isVisibleThroughFrameFn: isPartiallyVisibleThroughFrame\n});\nconst isTotallyVisible = args => isVisible$1({\n ...args,\n isVisibleThroughFrameFn: isTotallyVisibleThroughFrame\n});\nconst isTotallyVisibleOnAxis = args => isVisible$1({\n ...args,\n isVisibleThroughFrameFn: isTotallyVisibleThroughFrameOnAxis(args.destination.axis)\n});\n\nconst getShouldAnimate = (id, last, forceShouldAnimate) => {\n if (typeof forceShouldAnimate === 'boolean') {\n return forceShouldAnimate;\n }\n if (!last) {\n return true;\n }\n const {\n invisible,\n visible\n } = last;\n if (invisible[id]) {\n return false;\n }\n const previous = visible[id];\n return previous ? previous.shouldAnimate : true;\n};\nfunction getTarget(draggable, displacedBy) {\n const marginBox = draggable.page.marginBox;\n const expandBy = {\n top: displacedBy.point.y,\n right: 0,\n bottom: 0,\n left: displacedBy.point.x\n };\n return getRect(expand(marginBox, expandBy));\n}\nfunction getDisplacementGroups(_ref) {\n let {\n afterDragging,\n destination,\n displacedBy,\n viewport,\n forceShouldAnimate,\n last\n } = _ref;\n return afterDragging.reduce(function process(groups, draggable) {\n const target = getTarget(draggable, displacedBy);\n const id = draggable.descriptor.id;\n groups.all.push(id);\n const isVisible = isPartiallyVisible({\n target,\n destination,\n viewport,\n withDroppableDisplacement: true\n });\n if (!isVisible) {\n groups.invisible[draggable.descriptor.id] = true;\n return groups;\n }\n const shouldAnimate = getShouldAnimate(id, last, forceShouldAnimate);\n const displacement = {\n draggableId: id,\n shouldAnimate\n };\n groups.visible[id] = displacement;\n return groups;\n }, {\n all: [],\n visible: {},\n invisible: {}\n });\n}\n\nfunction getIndexOfLastItem(draggables, options) {\n if (!draggables.length) {\n return 0;\n }\n const indexOfLastItem = draggables[draggables.length - 1].descriptor.index;\n return options.inHomeList ? indexOfLastItem : indexOfLastItem + 1;\n}\nfunction goAtEnd(_ref) {\n let {\n insideDestination,\n inHomeList,\n displacedBy,\n destination\n } = _ref;\n const newIndex = getIndexOfLastItem(insideDestination, {\n inHomeList\n });\n return {\n displaced: emptyGroups,\n displacedBy,\n at: {\n type: 'REORDER',\n destination: {\n droppableId: destination.descriptor.id,\n index: newIndex\n }\n }\n };\n}\nfunction calculateReorderImpact(_ref2) {\n let {\n draggable,\n insideDestination,\n destination,\n viewport,\n displacedBy,\n last,\n index,\n forceShouldAnimate\n } = _ref2;\n const inHomeList = isHomeOf(draggable, destination);\n if (index == null) {\n return goAtEnd({\n insideDestination,\n inHomeList,\n displacedBy,\n destination\n });\n }\n const match = insideDestination.find(item => item.descriptor.index === index);\n if (!match) {\n return goAtEnd({\n insideDestination,\n inHomeList,\n displacedBy,\n destination\n });\n }\n const withoutDragging = removeDraggableFromList(draggable, insideDestination);\n const sliceFrom = insideDestination.indexOf(match);\n const impacted = withoutDragging.slice(sliceFrom);\n const displaced = getDisplacementGroups({\n afterDragging: impacted,\n destination,\n displacedBy,\n last,\n viewport: viewport.frame,\n forceShouldAnimate\n });\n return {\n displaced,\n displacedBy,\n at: {\n type: 'REORDER',\n destination: {\n droppableId: destination.descriptor.id,\n index\n }\n }\n };\n}\n\nfunction didStartAfterCritical(draggableId, afterCritical) {\n return Boolean(afterCritical.effected[draggableId]);\n}\n\nvar fromCombine = (_ref => {\n let {\n isMovingForward,\n destination,\n draggables,\n combine,\n afterCritical\n } = _ref;\n if (!destination.isCombineEnabled) {\n return null;\n }\n const combineId = combine.draggableId;\n const combineWith = draggables[combineId];\n const combineWithIndex = combineWith.descriptor.index;\n const didCombineWithStartAfterCritical = didStartAfterCritical(combineId, afterCritical);\n if (didCombineWithStartAfterCritical) {\n if (isMovingForward) {\n return combineWithIndex;\n }\n return combineWithIndex - 1;\n }\n if (isMovingForward) {\n return combineWithIndex + 1;\n }\n return combineWithIndex;\n});\n\nvar fromReorder = (_ref => {\n let {\n isMovingForward,\n isInHomeList,\n insideDestination,\n location\n } = _ref;\n if (!insideDestination.length) {\n return null;\n }\n const currentIndex = location.index;\n const proposedIndex = isMovingForward ? currentIndex + 1 : currentIndex - 1;\n const firstIndex = insideDestination[0].descriptor.index;\n const lastIndex = insideDestination[insideDestination.length - 1].descriptor.index;\n const upperBound = isInHomeList ? lastIndex : lastIndex + 1;\n if (proposedIndex < firstIndex) {\n return null;\n }\n if (proposedIndex > upperBound) {\n return null;\n }\n return proposedIndex;\n});\n\nvar moveToNextIndex = (_ref => {\n let {\n isMovingForward,\n isInHomeList,\n draggable,\n draggables,\n destination,\n insideDestination,\n previousImpact,\n viewport,\n afterCritical\n } = _ref;\n const wasAt = previousImpact.at;\n !wasAt ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot move in direction without previous impact location') : invariant(false) : void 0;\n if (wasAt.type === 'REORDER') {\n const newIndex = fromReorder({\n isMovingForward,\n isInHomeList,\n location: wasAt.destination,\n insideDestination\n });\n if (newIndex == null) {\n return null;\n }\n return calculateReorderImpact({\n draggable,\n insideDestination,\n destination,\n viewport,\n last: previousImpact.displaced,\n displacedBy: previousImpact.displacedBy,\n index: newIndex\n });\n }\n const newIndex = fromCombine({\n isMovingForward,\n destination,\n displaced: previousImpact.displaced,\n draggables,\n combine: wasAt.combine,\n afterCritical\n });\n if (newIndex == null) {\n return null;\n }\n return calculateReorderImpact({\n draggable,\n insideDestination,\n destination,\n viewport,\n last: previousImpact.displaced,\n displacedBy: previousImpact.displacedBy,\n index: newIndex\n });\n});\n\nvar getCombinedItemDisplacement = (_ref => {\n let {\n displaced,\n afterCritical,\n combineWith,\n displacedBy\n } = _ref;\n const isDisplaced = Boolean(displaced.visible[combineWith] || displaced.invisible[combineWith]);\n if (didStartAfterCritical(combineWith, afterCritical)) {\n return isDisplaced ? origin : negate(displacedBy.point);\n }\n return isDisplaced ? displacedBy.point : origin;\n});\n\nvar whenCombining = (_ref => {\n let {\n afterCritical,\n impact,\n draggables\n } = _ref;\n const combine = tryGetCombine(impact);\n !combine ? process.env.NODE_ENV !== \"production\" ? invariant(false) : invariant(false) : void 0;\n const combineWith = combine.draggableId;\n const center = draggables[combineWith].page.borderBox.center;\n const displaceBy = getCombinedItemDisplacement({\n displaced: impact.displaced,\n afterCritical,\n combineWith,\n displacedBy: impact.displacedBy\n });\n return add(center, displaceBy);\n});\n\nconst distanceFromStartToBorderBoxCenter = (axis, box) => box.margin[axis.start] + box.borderBox[axis.size] / 2;\nconst distanceFromEndToBorderBoxCenter = (axis, box) => box.margin[axis.end] + box.borderBox[axis.size] / 2;\nconst getCrossAxisBorderBoxCenter = (axis, target, isMoving) => target[axis.crossAxisStart] + isMoving.margin[axis.crossAxisStart] + isMoving.borderBox[axis.crossAxisSize] / 2;\nconst goAfter = _ref => {\n let {\n axis,\n moveRelativeTo,\n isMoving\n } = _ref;\n return patch(axis.line, moveRelativeTo.marginBox[axis.end] + distanceFromStartToBorderBoxCenter(axis, isMoving), getCrossAxisBorderBoxCenter(axis, moveRelativeTo.marginBox, isMoving));\n};\nconst goBefore = _ref2 => {\n let {\n axis,\n moveRelativeTo,\n isMoving\n } = _ref2;\n return patch(axis.line, moveRelativeTo.marginBox[axis.start] - distanceFromEndToBorderBoxCenter(axis, isMoving), getCrossAxisBorderBoxCenter(axis, moveRelativeTo.marginBox, isMoving));\n};\nconst goIntoStart = _ref3 => {\n let {\n axis,\n moveInto,\n isMoving\n } = _ref3;\n return patch(axis.line, moveInto.contentBox[axis.start] + distanceFromStartToBorderBoxCenter(axis, isMoving), getCrossAxisBorderBoxCenter(axis, moveInto.contentBox, isMoving));\n};\n\nvar whenReordering = (_ref => {\n let {\n impact,\n draggable,\n draggables,\n droppable,\n afterCritical\n } = _ref;\n const insideDestination = getDraggablesInsideDroppable(droppable.descriptor.id, draggables);\n const draggablePage = draggable.page;\n const axis = droppable.axis;\n if (!insideDestination.length) {\n return goIntoStart({\n axis,\n moveInto: droppable.page,\n isMoving: draggablePage\n });\n }\n const {\n displaced,\n displacedBy\n } = impact;\n const closestAfter = displaced.all[0];\n if (closestAfter) {\n const closest = draggables[closestAfter];\n if (didStartAfterCritical(closestAfter, afterCritical)) {\n return goBefore({\n axis,\n moveRelativeTo: closest.page,\n isMoving: draggablePage\n });\n }\n const withDisplacement = offset(closest.page, displacedBy.point);\n return goBefore({\n axis,\n moveRelativeTo: withDisplacement,\n isMoving: draggablePage\n });\n }\n const last = insideDestination[insideDestination.length - 1];\n if (last.descriptor.id === draggable.descriptor.id) {\n return draggablePage.borderBox.center;\n }\n if (didStartAfterCritical(last.descriptor.id, afterCritical)) {\n const page = offset(last.page, negate(afterCritical.displacedBy.point));\n return goAfter({\n axis,\n moveRelativeTo: page,\n isMoving: draggablePage\n });\n }\n return goAfter({\n axis,\n moveRelativeTo: last.page,\n isMoving: draggablePage\n });\n});\n\nvar withDroppableDisplacement = ((droppable, point) => {\n const frame = droppable.frame;\n if (!frame) {\n return point;\n }\n return add(point, frame.scroll.diff.displacement);\n});\n\nconst getResultWithoutDroppableDisplacement = _ref => {\n let {\n impact,\n draggable,\n droppable,\n draggables,\n afterCritical\n } = _ref;\n const original = draggable.page.borderBox.center;\n const at = impact.at;\n if (!droppable) {\n return original;\n }\n if (!at) {\n return original;\n }\n if (at.type === 'REORDER') {\n return whenReordering({\n impact,\n draggable,\n draggables,\n droppable,\n afterCritical\n });\n }\n return whenCombining({\n impact,\n draggables,\n afterCritical\n });\n};\nvar getPageBorderBoxCenterFromImpact = (args => {\n const withoutDisplacement = getResultWithoutDroppableDisplacement(args);\n const droppable = args.droppable;\n const withDisplacement = droppable ? withDroppableDisplacement(droppable, withoutDisplacement) : withoutDisplacement;\n return withDisplacement;\n});\n\nvar scrollViewport = ((viewport, newScroll) => {\n const diff = subtract(newScroll, viewport.scroll.initial);\n const displacement = negate(diff);\n const frame = getRect({\n top: newScroll.y,\n bottom: newScroll.y + viewport.frame.height,\n left: newScroll.x,\n right: newScroll.x + viewport.frame.width\n });\n const updated = {\n frame,\n scroll: {\n initial: viewport.scroll.initial,\n max: viewport.scroll.max,\n current: newScroll,\n diff: {\n value: diff,\n displacement\n }\n }\n };\n return updated;\n});\n\nfunction getDraggables$1(ids, draggables) {\n return ids.map(id => draggables[id]);\n}\nfunction tryGetVisible(id, groups) {\n for (let i = 0; i < groups.length; i++) {\n const displacement = groups[i].visible[id];\n if (displacement) {\n return displacement;\n }\n }\n return null;\n}\nvar speculativelyIncrease = (_ref => {\n let {\n impact,\n viewport,\n destination,\n draggables,\n maxScrollChange\n } = _ref;\n const scrolledViewport = scrollViewport(viewport, add(viewport.scroll.current, maxScrollChange));\n const scrolledDroppable = destination.frame ? scrollDroppable(destination, add(destination.frame.scroll.current, maxScrollChange)) : destination;\n const last = impact.displaced;\n const withViewportScroll = getDisplacementGroups({\n afterDragging: getDraggables$1(last.all, draggables),\n destination,\n displacedBy: impact.displacedBy,\n viewport: scrolledViewport.frame,\n last,\n forceShouldAnimate: false\n });\n const withDroppableScroll = getDisplacementGroups({\n afterDragging: getDraggables$1(last.all, draggables),\n destination: scrolledDroppable,\n displacedBy: impact.displacedBy,\n viewport: viewport.frame,\n last,\n forceShouldAnimate: false\n });\n const invisible = {};\n const visible = {};\n const groups = [last, withViewportScroll, withDroppableScroll];\n last.all.forEach(id => {\n const displacement = tryGetVisible(id, groups);\n if (displacement) {\n visible[id] = displacement;\n return;\n }\n invisible[id] = true;\n });\n const newImpact = {\n ...impact,\n displaced: {\n all: last.all,\n invisible,\n visible\n }\n };\n return newImpact;\n});\n\nvar withViewportDisplacement = ((viewport, point) => add(viewport.scroll.diff.displacement, point));\n\nvar getClientFromPageBorderBoxCenter = (_ref => {\n let {\n pageBorderBoxCenter,\n draggable,\n viewport\n } = _ref;\n const withoutPageScrollChange = withViewportDisplacement(viewport, pageBorderBoxCenter);\n const offset = subtract(withoutPageScrollChange, draggable.page.borderBox.center);\n return add(draggable.client.borderBox.center, offset);\n});\n\nvar isTotallyVisibleInNewLocation = (_ref => {\n let {\n draggable,\n destination,\n newPageBorderBoxCenter,\n viewport,\n withDroppableDisplacement,\n onlyOnMainAxis = false\n } = _ref;\n const changeNeeded = subtract(newPageBorderBoxCenter, draggable.page.borderBox.center);\n const shifted = offsetByPosition(draggable.page.borderBox, changeNeeded);\n const args = {\n target: shifted,\n destination,\n withDroppableDisplacement,\n viewport\n };\n return onlyOnMainAxis ? isTotallyVisibleOnAxis(args) : isTotallyVisible(args);\n});\n\nvar moveToNextPlace = (_ref => {\n let {\n isMovingForward,\n draggable,\n destination,\n draggables,\n previousImpact,\n viewport,\n previousPageBorderBoxCenter,\n previousClientSelection,\n afterCritical\n } = _ref;\n if (!destination.isEnabled) {\n return null;\n }\n const insideDestination = getDraggablesInsideDroppable(destination.descriptor.id, draggables);\n const isInHomeList = isHomeOf(draggable, destination);\n const impact = moveToNextCombine({\n isMovingForward,\n draggable,\n destination,\n insideDestination,\n previousImpact\n }) || moveToNextIndex({\n isMovingForward,\n isInHomeList,\n draggable,\n draggables,\n destination,\n insideDestination,\n previousImpact,\n viewport,\n afterCritical\n });\n if (!impact) {\n return null;\n }\n const pageBorderBoxCenter = getPageBorderBoxCenterFromImpact({\n impact,\n draggable,\n droppable: destination,\n draggables,\n afterCritical\n });\n const isVisibleInNewLocation = isTotallyVisibleInNewLocation({\n draggable,\n destination,\n newPageBorderBoxCenter: pageBorderBoxCenter,\n viewport: viewport.frame,\n withDroppableDisplacement: false,\n onlyOnMainAxis: true\n });\n if (isVisibleInNewLocation) {\n const clientSelection = getClientFromPageBorderBoxCenter({\n pageBorderBoxCenter,\n draggable,\n viewport\n });\n return {\n clientSelection,\n impact,\n scrollJumpRequest: null\n };\n }\n const distance = subtract(pageBorderBoxCenter, previousPageBorderBoxCenter);\n const cautious = speculativelyIncrease({\n impact,\n viewport,\n destination,\n draggables,\n maxScrollChange: distance\n });\n return {\n clientSelection: previousClientSelection,\n impact: cautious,\n scrollJumpRequest: distance\n };\n});\n\nconst getKnownActive = droppable => {\n const rect = droppable.subject.active;\n !rect ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot get clipped area from droppable') : invariant(false) : void 0;\n return rect;\n};\nvar getBestCrossAxisDroppable = (_ref => {\n let {\n isMovingForward,\n pageBorderBoxCenter,\n source,\n droppables,\n viewport\n } = _ref;\n const active = source.subject.active;\n if (!active) {\n return null;\n }\n const axis = source.axis;\n const isBetweenSourceClipped = isWithin(active[axis.start], active[axis.end]);\n const candidates = toDroppableList(droppables).filter(droppable => droppable !== source).filter(droppable => droppable.isEnabled).filter(droppable => Boolean(droppable.subject.active)).filter(droppable => isPartiallyVisibleThroughFrame(viewport.frame)(getKnownActive(droppable))).filter(droppable => {\n const activeOfTarget = getKnownActive(droppable);\n if (isMovingForward) {\n return active[axis.crossAxisEnd] < activeOfTarget[axis.crossAxisEnd];\n }\n return activeOfTarget[axis.crossAxisStart] < active[axis.crossAxisStart];\n }).filter(droppable => {\n const activeOfTarget = getKnownActive(droppable);\n const isBetweenDestinationClipped = isWithin(activeOfTarget[axis.start], activeOfTarget[axis.end]);\n return isBetweenSourceClipped(activeOfTarget[axis.start]) || isBetweenSourceClipped(activeOfTarget[axis.end]) || isBetweenDestinationClipped(active[axis.start]) || isBetweenDestinationClipped(active[axis.end]);\n }).sort((a, b) => {\n const first = getKnownActive(a)[axis.crossAxisStart];\n const second = getKnownActive(b)[axis.crossAxisStart];\n if (isMovingForward) {\n return first - second;\n }\n return second - first;\n }).filter((droppable, index, array) => getKnownActive(droppable)[axis.crossAxisStart] === getKnownActive(array[0])[axis.crossAxisStart]);\n if (!candidates.length) {\n return null;\n }\n if (candidates.length === 1) {\n return candidates[0];\n }\n const contains = candidates.filter(droppable => {\n const isWithinDroppable = isWithin(getKnownActive(droppable)[axis.start], getKnownActive(droppable)[axis.end]);\n return isWithinDroppable(pageBorderBoxCenter[axis.line]);\n });\n if (contains.length === 1) {\n return contains[0];\n }\n if (contains.length > 1) {\n return contains.sort((a, b) => getKnownActive(a)[axis.start] - getKnownActive(b)[axis.start])[0];\n }\n return candidates.sort((a, b) => {\n const first = closest$1(pageBorderBoxCenter, getCorners(getKnownActive(a)));\n const second = closest$1(pageBorderBoxCenter, getCorners(getKnownActive(b)));\n if (first !== second) {\n return first - second;\n }\n return getKnownActive(a)[axis.start] - getKnownActive(b)[axis.start];\n })[0];\n});\n\nconst getCurrentPageBorderBoxCenter = (draggable, afterCritical) => {\n const original = draggable.page.borderBox.center;\n return didStartAfterCritical(draggable.descriptor.id, afterCritical) ? subtract(original, afterCritical.displacedBy.point) : original;\n};\nconst getCurrentPageBorderBox = (draggable, afterCritical) => {\n const original = draggable.page.borderBox;\n return didStartAfterCritical(draggable.descriptor.id, afterCritical) ? offsetByPosition(original, negate(afterCritical.displacedBy.point)) : original;\n};\n\nvar getClosestDraggable = (_ref => {\n let {\n pageBorderBoxCenter,\n viewport,\n destination,\n insideDestination,\n afterCritical\n } = _ref;\n const sorted = insideDestination.filter(draggable => isTotallyVisible({\n target: getCurrentPageBorderBox(draggable, afterCritical),\n destination,\n viewport: viewport.frame,\n withDroppableDisplacement: true\n })).sort((a, b) => {\n const distanceToA = distance(pageBorderBoxCenter, withDroppableDisplacement(destination, getCurrentPageBorderBoxCenter(a, afterCritical)));\n const distanceToB = distance(pageBorderBoxCenter, withDroppableDisplacement(destination, getCurrentPageBorderBoxCenter(b, afterCritical)));\n if (distanceToA < distanceToB) {\n return -1;\n }\n if (distanceToB < distanceToA) {\n return 1;\n }\n return a.descriptor.index - b.descriptor.index;\n });\n return sorted[0] || null;\n});\n\nvar getDisplacedBy = memoizeOne(function getDisplacedBy(axis, displaceBy) {\n const displacement = displaceBy[axis.line];\n return {\n value: displacement,\n point: patch(axis.line, displacement)\n };\n});\n\nconst getRequiredGrowthForPlaceholder = (droppable, placeholderSize, draggables) => {\n const axis = droppable.axis;\n if (droppable.descriptor.mode === 'virtual') {\n return patch(axis.line, placeholderSize[axis.line]);\n }\n const availableSpace = droppable.subject.page.contentBox[axis.size];\n const insideDroppable = getDraggablesInsideDroppable(droppable.descriptor.id, draggables);\n const spaceUsed = insideDroppable.reduce((sum, dimension) => sum + dimension.client.marginBox[axis.size], 0);\n const requiredSpace = spaceUsed + placeholderSize[axis.line];\n const needsToGrowBy = requiredSpace - availableSpace;\n if (needsToGrowBy <= 0) {\n return null;\n }\n return patch(axis.line, needsToGrowBy);\n};\nconst withMaxScroll = (frame, max) => ({\n ...frame,\n scroll: {\n ...frame.scroll,\n max\n }\n});\nconst addPlaceholder = (droppable, draggable, draggables) => {\n const frame = droppable.frame;\n !!isHomeOf(draggable, droppable) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Should not add placeholder space to home list') : invariant(false) : void 0;\n !!droppable.subject.withPlaceholder ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot add placeholder size to a subject when it already has one') : invariant(false) : void 0;\n const placeholderSize = getDisplacedBy(droppable.axis, draggable.displaceBy).point;\n const requiredGrowth = getRequiredGrowthForPlaceholder(droppable, placeholderSize, draggables);\n const added = {\n placeholderSize,\n increasedBy: requiredGrowth,\n oldFrameMaxScroll: droppable.frame ? droppable.frame.scroll.max : null\n };\n if (!frame) {\n const subject = getSubject({\n page: droppable.subject.page,\n withPlaceholder: added,\n axis: droppable.axis,\n frame: droppable.frame\n });\n return {\n ...droppable,\n subject\n };\n }\n const maxScroll = requiredGrowth ? add(frame.scroll.max, requiredGrowth) : frame.scroll.max;\n const newFrame = withMaxScroll(frame, maxScroll);\n const subject = getSubject({\n page: droppable.subject.page,\n withPlaceholder: added,\n axis: droppable.axis,\n frame: newFrame\n });\n return {\n ...droppable,\n subject,\n frame: newFrame\n };\n};\nconst removePlaceholder = droppable => {\n const added = droppable.subject.withPlaceholder;\n !added ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot remove placeholder form subject when there was none') : invariant(false) : void 0;\n const frame = droppable.frame;\n if (!frame) {\n const subject = getSubject({\n page: droppable.subject.page,\n axis: droppable.axis,\n frame: null,\n withPlaceholder: null\n });\n return {\n ...droppable,\n subject\n };\n }\n const oldMaxScroll = added.oldFrameMaxScroll;\n !oldMaxScroll ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Expected droppable with frame to have old max frame scroll when removing placeholder') : invariant(false) : void 0;\n const newFrame = withMaxScroll(frame, oldMaxScroll);\n const subject = getSubject({\n page: droppable.subject.page,\n axis: droppable.axis,\n frame: newFrame,\n withPlaceholder: null\n });\n return {\n ...droppable,\n subject,\n frame: newFrame\n };\n};\n\nvar moveToNewDroppable = (_ref => {\n let {\n previousPageBorderBoxCenter,\n moveRelativeTo,\n insideDestination,\n draggable,\n draggables,\n destination,\n viewport,\n afterCritical\n } = _ref;\n if (!moveRelativeTo) {\n if (insideDestination.length) {\n return null;\n }\n const proposed = {\n displaced: emptyGroups,\n displacedBy: noDisplacedBy,\n at: {\n type: 'REORDER',\n destination: {\n droppableId: destination.descriptor.id,\n index: 0\n }\n }\n };\n const proposedPageBorderBoxCenter = getPageBorderBoxCenterFromImpact({\n impact: proposed,\n draggable,\n droppable: destination,\n draggables,\n afterCritical\n });\n const withPlaceholder = isHomeOf(draggable, destination) ? destination : addPlaceholder(destination, draggable, draggables);\n const isVisibleInNewLocation = isTotallyVisibleInNewLocation({\n draggable,\n destination: withPlaceholder,\n newPageBorderBoxCenter: proposedPageBorderBoxCenter,\n viewport: viewport.frame,\n withDroppableDisplacement: false,\n onlyOnMainAxis: true\n });\n return isVisibleInNewLocation ? proposed : null;\n }\n const isGoingBeforeTarget = Boolean(previousPageBorderBoxCenter[destination.axis.line] <= moveRelativeTo.page.borderBox.center[destination.axis.line]);\n const proposedIndex = (() => {\n const relativeTo = moveRelativeTo.descriptor.index;\n if (moveRelativeTo.descriptor.id === draggable.descriptor.id) {\n return relativeTo;\n }\n if (isGoingBeforeTarget) {\n return relativeTo;\n }\n return relativeTo + 1;\n })();\n const displacedBy = getDisplacedBy(destination.axis, draggable.displaceBy);\n return calculateReorderImpact({\n draggable,\n insideDestination,\n destination,\n viewport,\n displacedBy,\n last: emptyGroups,\n index: proposedIndex\n });\n});\n\nvar moveCrossAxis = (_ref => {\n let {\n isMovingForward,\n previousPageBorderBoxCenter,\n draggable,\n isOver,\n draggables,\n droppables,\n viewport,\n afterCritical\n } = _ref;\n const destination = getBestCrossAxisDroppable({\n isMovingForward,\n pageBorderBoxCenter: previousPageBorderBoxCenter,\n source: isOver,\n droppables,\n viewport\n });\n if (!destination) {\n return null;\n }\n const insideDestination = getDraggablesInsideDroppable(destination.descriptor.id, draggables);\n const moveRelativeTo = getClosestDraggable({\n pageBorderBoxCenter: previousPageBorderBoxCenter,\n viewport,\n destination,\n insideDestination,\n afterCritical\n });\n const impact = moveToNewDroppable({\n previousPageBorderBoxCenter,\n destination,\n draggable,\n draggables,\n moveRelativeTo,\n insideDestination,\n viewport,\n afterCritical\n });\n if (!impact) {\n return null;\n }\n const pageBorderBoxCenter = getPageBorderBoxCenterFromImpact({\n impact,\n draggable,\n droppable: destination,\n draggables,\n afterCritical\n });\n const clientSelection = getClientFromPageBorderBoxCenter({\n pageBorderBoxCenter,\n draggable,\n viewport\n });\n return {\n clientSelection,\n impact,\n scrollJumpRequest: null\n };\n});\n\nvar whatIsDraggedOver = (impact => {\n const at = impact.at;\n if (!at) {\n return null;\n }\n if (at.type === 'REORDER') {\n return at.destination.droppableId;\n }\n return at.combine.droppableId;\n});\n\nconst getDroppableOver$1 = (impact, droppables) => {\n const id = whatIsDraggedOver(impact);\n return id ? droppables[id] : null;\n};\nvar moveInDirection = (_ref => {\n let {\n state,\n type\n } = _ref;\n const isActuallyOver = getDroppableOver$1(state.impact, state.dimensions.droppables);\n const isMainAxisMovementAllowed = Boolean(isActuallyOver);\n const home = state.dimensions.droppables[state.critical.droppable.id];\n const isOver = isActuallyOver || home;\n const direction = isOver.axis.direction;\n const isMovingOnMainAxis = direction === 'vertical' && (type === 'MOVE_UP' || type === 'MOVE_DOWN') || direction === 'horizontal' && (type === 'MOVE_LEFT' || type === 'MOVE_RIGHT');\n if (isMovingOnMainAxis && !isMainAxisMovementAllowed) {\n return null;\n }\n const isMovingForward = type === 'MOVE_DOWN' || type === 'MOVE_RIGHT';\n const draggable = state.dimensions.draggables[state.critical.draggable.id];\n const previousPageBorderBoxCenter = state.current.page.borderBoxCenter;\n const {\n draggables,\n droppables\n } = state.dimensions;\n return isMovingOnMainAxis ? moveToNextPlace({\n isMovingForward,\n previousPageBorderBoxCenter,\n draggable,\n destination: isOver,\n draggables,\n viewport: state.viewport,\n previousClientSelection: state.current.client.selection,\n previousImpact: state.impact,\n afterCritical: state.afterCritical\n }) : moveCrossAxis({\n isMovingForward,\n previousPageBorderBoxCenter,\n draggable,\n isOver,\n draggables,\n droppables,\n viewport: state.viewport,\n afterCritical: state.afterCritical\n });\n});\n\nfunction isMovementAllowed(state) {\n return state.phase === 'DRAGGING' || state.phase === 'COLLECTING';\n}\n\nfunction isPositionInFrame(frame) {\n const isWithinVertical = isWithin(frame.top, frame.bottom);\n const isWithinHorizontal = isWithin(frame.left, frame.right);\n return function run(point) {\n return isWithinVertical(point.y) && isWithinHorizontal(point.x);\n };\n}\n\nfunction getHasOverlap(first, second) {\n return first.left < second.right && first.right > second.left && first.top < second.bottom && first.bottom > second.top;\n}\nfunction getFurthestAway(_ref) {\n let {\n pageBorderBox,\n draggable,\n candidates\n } = _ref;\n const startCenter = draggable.page.borderBox.center;\n const sorted = candidates.map(candidate => {\n const axis = candidate.axis;\n const target = patch(candidate.axis.line, pageBorderBox.center[axis.line], candidate.page.borderBox.center[axis.crossAxisLine]);\n return {\n id: candidate.descriptor.id,\n distance: distance(startCenter, target)\n };\n }).sort((a, b) => b.distance - a.distance);\n return sorted[0] ? sorted[0].id : null;\n}\nfunction getDroppableOver(_ref2) {\n let {\n pageBorderBox,\n draggable,\n droppables\n } = _ref2;\n const candidates = toDroppableList(droppables).filter(item => {\n if (!item.isEnabled) {\n return false;\n }\n const active = item.subject.active;\n if (!active) {\n return false;\n }\n if (!getHasOverlap(pageBorderBox, active)) {\n return false;\n }\n if (isPositionInFrame(active)(pageBorderBox.center)) {\n return true;\n }\n const axis = item.axis;\n const childCenter = active.center[axis.crossAxisLine];\n const crossAxisStart = pageBorderBox[axis.crossAxisStart];\n const crossAxisEnd = pageBorderBox[axis.crossAxisEnd];\n const isContained = isWithin(active[axis.crossAxisStart], active[axis.crossAxisEnd]);\n const isStartContained = isContained(crossAxisStart);\n const isEndContained = isContained(crossAxisEnd);\n if (!isStartContained && !isEndContained) {\n return true;\n }\n if (isStartContained) {\n return crossAxisStart < childCenter;\n }\n return crossAxisEnd > childCenter;\n });\n if (!candidates.length) {\n return null;\n }\n if (candidates.length === 1) {\n return candidates[0].descriptor.id;\n }\n return getFurthestAway({\n pageBorderBox,\n draggable,\n candidates\n });\n}\n\nconst offsetRectByPosition = (rect, point) => getRect(offsetByPosition(rect, point));\n\nvar withDroppableScroll = ((droppable, area) => {\n const frame = droppable.frame;\n if (!frame) {\n return area;\n }\n return offsetRectByPosition(area, frame.scroll.diff.value);\n});\n\nfunction getIsDisplaced(_ref) {\n let {\n displaced,\n id\n } = _ref;\n return Boolean(displaced.visible[id] || displaced.invisible[id]);\n}\n\nfunction atIndex(_ref) {\n let {\n draggable,\n closest,\n inHomeList\n } = _ref;\n if (!closest) {\n return null;\n }\n if (!inHomeList) {\n return closest.descriptor.index;\n }\n if (closest.descriptor.index > draggable.descriptor.index) {\n return closest.descriptor.index - 1;\n }\n return closest.descriptor.index;\n}\nvar getReorderImpact = (_ref2 => {\n let {\n pageBorderBoxWithDroppableScroll: targetRect,\n draggable,\n destination,\n insideDestination,\n last,\n viewport,\n afterCritical\n } = _ref2;\n const axis = destination.axis;\n const displacedBy = getDisplacedBy(destination.axis, draggable.displaceBy);\n const displacement = displacedBy.value;\n const targetStart = targetRect[axis.start];\n const targetEnd = targetRect[axis.end];\n const withoutDragging = removeDraggableFromList(draggable, insideDestination);\n const closest = withoutDragging.find(child => {\n const id = child.descriptor.id;\n const childCenter = child.page.borderBox.center[axis.line];\n const didStartAfterCritical$1 = didStartAfterCritical(id, afterCritical);\n const isDisplaced = getIsDisplaced({\n displaced: last,\n id\n });\n if (didStartAfterCritical$1) {\n if (isDisplaced) {\n return targetEnd <= childCenter;\n }\n return targetStart < childCenter - displacement;\n }\n if (isDisplaced) {\n return targetEnd <= childCenter + displacement;\n }\n return targetStart < childCenter;\n }) || null;\n const newIndex = atIndex({\n draggable,\n closest,\n inHomeList: isHomeOf(draggable, destination)\n });\n return calculateReorderImpact({\n draggable,\n insideDestination,\n destination,\n viewport,\n last,\n displacedBy,\n index: newIndex\n });\n});\n\nconst combineThresholdDivisor = 4;\nvar getCombineImpact = (_ref => {\n let {\n draggable,\n pageBorderBoxWithDroppableScroll: targetRect,\n previousImpact,\n destination,\n insideDestination,\n afterCritical\n } = _ref;\n if (!destination.isCombineEnabled) {\n return null;\n }\n const axis = destination.axis;\n const displacedBy = getDisplacedBy(destination.axis, draggable.displaceBy);\n const displacement = displacedBy.value;\n const targetStart = targetRect[axis.start];\n const targetEnd = targetRect[axis.end];\n const withoutDragging = removeDraggableFromList(draggable, insideDestination);\n const combineWith = withoutDragging.find(child => {\n const id = child.descriptor.id;\n const childRect = child.page.borderBox;\n const childSize = childRect[axis.size];\n const threshold = childSize / combineThresholdDivisor;\n const didStartAfterCritical$1 = didStartAfterCritical(id, afterCritical);\n const isDisplaced = getIsDisplaced({\n displaced: previousImpact.displaced,\n id\n });\n if (didStartAfterCritical$1) {\n if (isDisplaced) {\n return targetEnd > childRect[axis.start] + threshold && targetEnd < childRect[axis.end] - threshold;\n }\n return targetStart > childRect[axis.start] - displacement + threshold && targetStart < childRect[axis.end] - displacement - threshold;\n }\n if (isDisplaced) {\n return targetEnd > childRect[axis.start] + displacement + threshold && targetEnd < childRect[axis.end] + displacement - threshold;\n }\n return targetStart > childRect[axis.start] + threshold && targetStart < childRect[axis.end] - threshold;\n });\n if (!combineWith) {\n return null;\n }\n const impact = {\n displacedBy,\n displaced: previousImpact.displaced,\n at: {\n type: 'COMBINE',\n combine: {\n draggableId: combineWith.descriptor.id,\n droppableId: destination.descriptor.id\n }\n }\n };\n return impact;\n});\n\nvar getDragImpact = (_ref => {\n let {\n pageOffset,\n draggable,\n draggables,\n droppables,\n previousImpact,\n viewport,\n afterCritical\n } = _ref;\n const pageBorderBox = offsetRectByPosition(draggable.page.borderBox, pageOffset);\n const destinationId = getDroppableOver({\n pageBorderBox,\n draggable,\n droppables\n });\n if (!destinationId) {\n return noImpact$1;\n }\n const destination = droppables[destinationId];\n const insideDestination = getDraggablesInsideDroppable(destination.descriptor.id, draggables);\n const pageBorderBoxWithDroppableScroll = withDroppableScroll(destination, pageBorderBox);\n return getCombineImpact({\n pageBorderBoxWithDroppableScroll,\n draggable,\n previousImpact,\n destination,\n insideDestination,\n afterCritical\n }) || getReorderImpact({\n pageBorderBoxWithDroppableScroll,\n draggable,\n destination,\n insideDestination,\n last: previousImpact.displaced,\n viewport,\n afterCritical\n });\n});\n\nvar patchDroppableMap = ((droppables, updated) => ({\n ...droppables,\n [updated.descriptor.id]: updated\n}));\n\nconst clearUnusedPlaceholder = _ref => {\n let {\n previousImpact,\n impact,\n droppables\n } = _ref;\n const last = whatIsDraggedOver(previousImpact);\n const now = whatIsDraggedOver(impact);\n if (!last) {\n return droppables;\n }\n if (last === now) {\n return droppables;\n }\n const lastDroppable = droppables[last];\n if (!lastDroppable.subject.withPlaceholder) {\n return droppables;\n }\n const updated = removePlaceholder(lastDroppable);\n return patchDroppableMap(droppables, updated);\n};\nvar recomputePlaceholders = (_ref2 => {\n let {\n draggable,\n draggables,\n droppables,\n previousImpact,\n impact\n } = _ref2;\n const cleaned = clearUnusedPlaceholder({\n previousImpact,\n impact,\n droppables\n });\n const isOver = whatIsDraggedOver(impact);\n if (!isOver) {\n return cleaned;\n }\n const droppable = droppables[isOver];\n if (isHomeOf(draggable, droppable)) {\n return cleaned;\n }\n if (droppable.subject.withPlaceholder) {\n return cleaned;\n }\n const patched = addPlaceholder(droppable, draggable, draggables);\n return patchDroppableMap(cleaned, patched);\n});\n\nvar update = (_ref => {\n let {\n state,\n clientSelection: forcedClientSelection,\n dimensions: forcedDimensions,\n viewport: forcedViewport,\n impact: forcedImpact,\n scrollJumpRequest\n } = _ref;\n const viewport = forcedViewport || state.viewport;\n const dimensions = forcedDimensions || state.dimensions;\n const clientSelection = forcedClientSelection || state.current.client.selection;\n const offset = subtract(clientSelection, state.initial.client.selection);\n const client = {\n offset,\n selection: clientSelection,\n borderBoxCenter: add(state.initial.client.borderBoxCenter, offset)\n };\n const page = {\n selection: add(client.selection, viewport.scroll.current),\n borderBoxCenter: add(client.borderBoxCenter, viewport.scroll.current),\n offset: add(client.offset, viewport.scroll.diff.value)\n };\n const current = {\n client,\n page\n };\n if (state.phase === 'COLLECTING') {\n return {\n ...state,\n dimensions,\n viewport,\n current\n };\n }\n const draggable = dimensions.draggables[state.critical.draggable.id];\n const newImpact = forcedImpact || getDragImpact({\n pageOffset: page.offset,\n draggable,\n draggables: dimensions.draggables,\n droppables: dimensions.droppables,\n previousImpact: state.impact,\n viewport,\n afterCritical: state.afterCritical\n });\n const withUpdatedPlaceholders = recomputePlaceholders({\n draggable,\n impact: newImpact,\n previousImpact: state.impact,\n draggables: dimensions.draggables,\n droppables: dimensions.droppables\n });\n const result = {\n ...state,\n current,\n dimensions: {\n draggables: dimensions.draggables,\n droppables: withUpdatedPlaceholders\n },\n impact: newImpact,\n viewport,\n scrollJumpRequest: scrollJumpRequest || null,\n forceShouldAnimate: scrollJumpRequest ? false : null\n };\n return result;\n});\n\nfunction getDraggables(ids, draggables) {\n return ids.map(id => draggables[id]);\n}\nvar recompute = (_ref => {\n let {\n impact,\n viewport,\n draggables,\n destination,\n forceShouldAnimate\n } = _ref;\n const last = impact.displaced;\n const afterDragging = getDraggables(last.all, draggables);\n const displaced = getDisplacementGroups({\n afterDragging,\n destination,\n displacedBy: impact.displacedBy,\n viewport: viewport.frame,\n forceShouldAnimate,\n last\n });\n return {\n ...impact,\n displaced\n };\n});\n\nvar getClientBorderBoxCenter = (_ref => {\n let {\n impact,\n draggable,\n droppable,\n draggables,\n viewport,\n afterCritical\n } = _ref;\n const pageBorderBoxCenter = getPageBorderBoxCenterFromImpact({\n impact,\n draggable,\n draggables,\n droppable,\n afterCritical\n });\n return getClientFromPageBorderBoxCenter({\n pageBorderBoxCenter,\n draggable,\n viewport\n });\n});\n\nvar refreshSnap = (_ref => {\n let {\n state,\n dimensions: forcedDimensions,\n viewport: forcedViewport\n } = _ref;\n !(state.movementMode === 'SNAP') ? process.env.NODE_ENV !== \"production\" ? invariant(false) : invariant(false) : void 0;\n const needsVisibilityCheck = state.impact;\n const viewport = forcedViewport || state.viewport;\n const dimensions = forcedDimensions || state.dimensions;\n const {\n draggables,\n droppables\n } = dimensions;\n const draggable = draggables[state.critical.draggable.id];\n const isOver = whatIsDraggedOver(needsVisibilityCheck);\n !isOver ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Must be over a destination in SNAP movement mode') : invariant(false) : void 0;\n const destination = droppables[isOver];\n const impact = recompute({\n impact: needsVisibilityCheck,\n viewport,\n destination,\n draggables\n });\n const clientSelection = getClientBorderBoxCenter({\n impact,\n draggable,\n droppable: destination,\n draggables,\n viewport,\n afterCritical: state.afterCritical\n });\n return update({\n impact,\n clientSelection,\n state,\n dimensions,\n viewport\n });\n});\n\nvar getHomeLocation = (descriptor => ({\n index: descriptor.index,\n droppableId: descriptor.droppableId\n}));\n\nvar getLiftEffect = (_ref => {\n let {\n draggable,\n home,\n draggables,\n viewport\n } = _ref;\n const displacedBy = getDisplacedBy(home.axis, draggable.displaceBy);\n const insideHome = getDraggablesInsideDroppable(home.descriptor.id, draggables);\n const rawIndex = insideHome.indexOf(draggable);\n !(rawIndex !== -1) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Expected draggable to be inside home list') : invariant(false) : void 0;\n const afterDragging = insideHome.slice(rawIndex + 1);\n const effected = afterDragging.reduce((previous, item) => {\n previous[item.descriptor.id] = true;\n return previous;\n }, {});\n const afterCritical = {\n inVirtualList: home.descriptor.mode === 'virtual',\n displacedBy,\n effected\n };\n const displaced = getDisplacementGroups({\n afterDragging,\n destination: home,\n displacedBy,\n last: null,\n viewport: viewport.frame,\n forceShouldAnimate: false\n });\n const impact = {\n displaced,\n displacedBy,\n at: {\n type: 'REORDER',\n destination: getHomeLocation(draggable.descriptor)\n }\n };\n return {\n impact,\n afterCritical\n };\n});\n\nvar patchDimensionMap = ((dimensions, updated) => ({\n draggables: dimensions.draggables,\n droppables: patchDroppableMap(dimensions.droppables, updated)\n}));\n\nconst start = key => {\n if (process.env.NODE_ENV !== 'production') {\n {\n return;\n }\n }\n};\nconst finish = key => {\n if (process.env.NODE_ENV !== 'production') {\n {\n return;\n }\n }\n};\n\nvar offsetDraggable = (_ref => {\n let {\n draggable,\n offset: offset$1,\n initialWindowScroll\n } = _ref;\n const client = offset(draggable.client, offset$1);\n const page = withScroll(client, initialWindowScroll);\n const moved = {\n ...draggable,\n placeholder: {\n ...draggable.placeholder,\n client\n },\n client,\n page\n };\n return moved;\n});\n\nvar getFrame = (droppable => {\n const frame = droppable.frame;\n !frame ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Expected Droppable to have a frame') : invariant(false) : void 0;\n return frame;\n});\n\nvar adjustAdditionsForScrollChanges = (_ref => {\n let {\n additions,\n updatedDroppables,\n viewport\n } = _ref;\n const windowScrollChange = viewport.scroll.diff.value;\n return additions.map(draggable => {\n const droppableId = draggable.descriptor.droppableId;\n const modified = updatedDroppables[droppableId];\n const frame = getFrame(modified);\n const droppableScrollChange = frame.scroll.diff.value;\n const totalChange = add(windowScrollChange, droppableScrollChange);\n const moved = offsetDraggable({\n draggable,\n offset: totalChange,\n initialWindowScroll: viewport.scroll.initial\n });\n return moved;\n });\n});\n\nconst timingsKey = 'Processing dynamic changes';\nvar publishWhileDraggingInVirtual = (_ref => {\n let {\n state,\n published\n } = _ref;\n start(timingsKey);\n const withScrollChange = published.modified.map(update => {\n const existing = state.dimensions.droppables[update.droppableId];\n const scrolled = scrollDroppable(existing, update.scroll);\n return scrolled;\n });\n const droppables = {\n ...state.dimensions.droppables,\n ...toDroppableMap(withScrollChange)\n };\n const updatedAdditions = toDraggableMap(adjustAdditionsForScrollChanges({\n additions: published.additions,\n updatedDroppables: droppables,\n viewport: state.viewport\n }));\n const draggables = {\n ...state.dimensions.draggables,\n ...updatedAdditions\n };\n published.removals.forEach(id => {\n delete draggables[id];\n });\n const dimensions = {\n droppables,\n draggables\n };\n const wasOverId = whatIsDraggedOver(state.impact);\n const wasOver = wasOverId ? dimensions.droppables[wasOverId] : null;\n const draggable = dimensions.draggables[state.critical.draggable.id];\n const home = dimensions.droppables[state.critical.droppable.id];\n const {\n impact: onLiftImpact,\n afterCritical\n } = getLiftEffect({\n draggable,\n home,\n draggables,\n viewport: state.viewport\n });\n const previousImpact = wasOver && wasOver.isCombineEnabled ? state.impact : onLiftImpact;\n const impact = getDragImpact({\n pageOffset: state.current.page.offset,\n draggable: dimensions.draggables[state.critical.draggable.id],\n draggables: dimensions.draggables,\n droppables: dimensions.droppables,\n previousImpact,\n viewport: state.viewport,\n afterCritical\n });\n finish(timingsKey);\n const draggingState = {\n ...state,\n phase: 'DRAGGING',\n impact,\n onLiftImpact,\n dimensions,\n afterCritical,\n forceShouldAnimate: false\n };\n if (state.phase === 'COLLECTING') {\n return draggingState;\n }\n const dropPending = {\n ...draggingState,\n phase: 'DROP_PENDING',\n reason: state.reason,\n isWaiting: false\n };\n return dropPending;\n});\n\nconst isSnapping = state => state.movementMode === 'SNAP';\nconst postDroppableChange = (state, updated, isEnabledChanging) => {\n const dimensions = patchDimensionMap(state.dimensions, updated);\n if (!isSnapping(state) || isEnabledChanging) {\n return update({\n state,\n dimensions\n });\n }\n return refreshSnap({\n state,\n dimensions\n });\n};\nfunction removeScrollJumpRequest(state) {\n if (state.isDragging && state.movementMode === 'SNAP') {\n return {\n ...state,\n scrollJumpRequest: null\n };\n }\n return state;\n}\nconst idle$2 = {\n phase: 'IDLE',\n completed: null,\n shouldFlush: false\n};\nvar reducer = (function (state, action) {\n if (state === void 0) {\n state = idle$2;\n }\n if (action.type === 'FLUSH') {\n return {\n ...idle$2,\n shouldFlush: true\n };\n }\n if (action.type === 'INITIAL_PUBLISH') {\n !(state.phase === 'IDLE') ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'INITIAL_PUBLISH must come after a IDLE phase') : invariant(false) : void 0;\n const {\n critical,\n clientSelection,\n viewport,\n dimensions,\n movementMode\n } = action.payload;\n const draggable = dimensions.draggables[critical.draggable.id];\n const home = dimensions.droppables[critical.droppable.id];\n const client = {\n selection: clientSelection,\n borderBoxCenter: draggable.client.borderBox.center,\n offset: origin\n };\n const initial = {\n client,\n page: {\n selection: add(client.selection, viewport.scroll.initial),\n borderBoxCenter: add(client.selection, viewport.scroll.initial),\n offset: add(client.selection, viewport.scroll.diff.value)\n }\n };\n const isWindowScrollAllowed = toDroppableList(dimensions.droppables).every(item => !item.isFixedOnPage);\n const {\n impact,\n afterCritical\n } = getLiftEffect({\n draggable,\n home,\n draggables: dimensions.draggables,\n viewport\n });\n const result = {\n phase: 'DRAGGING',\n isDragging: true,\n critical,\n movementMode,\n dimensions,\n initial,\n current: initial,\n isWindowScrollAllowed,\n impact,\n afterCritical,\n onLiftImpact: impact,\n viewport,\n scrollJumpRequest: null,\n forceShouldAnimate: null\n };\n return result;\n }\n if (action.type === 'COLLECTION_STARTING') {\n if (state.phase === 'COLLECTING' || state.phase === 'DROP_PENDING') {\n return state;\n }\n !(state.phase === 'DRAGGING') ? process.env.NODE_ENV !== \"production\" ? invariant(false, `Collection cannot start from phase ${state.phase}`) : invariant(false) : void 0;\n const result = {\n ...state,\n phase: 'COLLECTING'\n };\n return result;\n }\n if (action.type === 'PUBLISH_WHILE_DRAGGING') {\n !(state.phase === 'COLLECTING' || state.phase === 'DROP_PENDING') ? process.env.NODE_ENV !== \"production\" ? invariant(false, `Unexpected ${action.type} received in phase ${state.phase}`) : invariant(false) : void 0;\n return publishWhileDraggingInVirtual({\n state,\n published: action.payload\n });\n }\n if (action.type === 'MOVE') {\n if (state.phase === 'DROP_PENDING') {\n return state;\n }\n !isMovementAllowed(state) ? process.env.NODE_ENV !== \"production\" ? invariant(false, `${action.type} not permitted in phase ${state.phase}`) : invariant(false) : void 0;\n const {\n client: clientSelection\n } = action.payload;\n if (isEqual$1(clientSelection, state.current.client.selection)) {\n return state;\n }\n return update({\n state,\n clientSelection,\n impact: isSnapping(state) ? state.impact : null\n });\n }\n if (action.type === 'UPDATE_DROPPABLE_SCROLL') {\n if (state.phase === 'DROP_PENDING') {\n return removeScrollJumpRequest(state);\n }\n if (state.phase === 'COLLECTING') {\n return removeScrollJumpRequest(state);\n }\n !isMovementAllowed(state) ? process.env.NODE_ENV !== \"production\" ? invariant(false, `${action.type} not permitted in phase ${state.phase}`) : invariant(false) : void 0;\n const {\n id,\n newScroll\n } = action.payload;\n const target = state.dimensions.droppables[id];\n if (!target) {\n return state;\n }\n const scrolled = scrollDroppable(target, newScroll);\n return postDroppableChange(state, scrolled, false);\n }\n if (action.type === 'UPDATE_DROPPABLE_IS_ENABLED') {\n if (state.phase === 'DROP_PENDING') {\n return state;\n }\n !isMovementAllowed(state) ? process.env.NODE_ENV !== \"production\" ? invariant(false, `Attempting to move in an unsupported phase ${state.phase}`) : invariant(false) : void 0;\n const {\n id,\n isEnabled\n } = action.payload;\n const target = state.dimensions.droppables[id];\n !target ? process.env.NODE_ENV !== \"production\" ? invariant(false, `Cannot find Droppable[id: ${id}] to toggle its enabled state`) : invariant(false) : void 0;\n !(target.isEnabled !== isEnabled) ? process.env.NODE_ENV !== \"production\" ? invariant(false, `Trying to set droppable isEnabled to ${String(isEnabled)}\n but it is already ${String(target.isEnabled)}`) : invariant(false) : void 0;\n const updated = {\n ...target,\n isEnabled\n };\n return postDroppableChange(state, updated, true);\n }\n if (action.type === 'UPDATE_DROPPABLE_IS_COMBINE_ENABLED') {\n if (state.phase === 'DROP_PENDING') {\n return state;\n }\n !isMovementAllowed(state) ? process.env.NODE_ENV !== \"production\" ? invariant(false, `Attempting to move in an unsupported phase ${state.phase}`) : invariant(false) : void 0;\n const {\n id,\n isCombineEnabled\n } = action.payload;\n const target = state.dimensions.droppables[id];\n !target ? process.env.NODE_ENV !== \"production\" ? invariant(false, `Cannot find Droppable[id: ${id}] to toggle its isCombineEnabled state`) : invariant(false) : void 0;\n !(target.isCombineEnabled !== isCombineEnabled) ? process.env.NODE_ENV !== \"production\" ? invariant(false, `Trying to set droppable isCombineEnabled to ${String(isCombineEnabled)}\n but it is already ${String(target.isCombineEnabled)}`) : invariant(false) : void 0;\n const updated = {\n ...target,\n isCombineEnabled\n };\n return postDroppableChange(state, updated, true);\n }\n if (action.type === 'MOVE_BY_WINDOW_SCROLL') {\n if (state.phase === 'DROP_PENDING' || state.phase === 'DROP_ANIMATING') {\n return state;\n }\n !isMovementAllowed(state) ? process.env.NODE_ENV !== \"production\" ? invariant(false, `Cannot move by window in phase ${state.phase}`) : invariant(false) : void 0;\n !state.isWindowScrollAllowed ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Window scrolling is currently not supported for fixed lists') : invariant(false) : void 0;\n const newScroll = action.payload.newScroll;\n if (isEqual$1(state.viewport.scroll.current, newScroll)) {\n return removeScrollJumpRequest(state);\n }\n const viewport = scrollViewport(state.viewport, newScroll);\n if (isSnapping(state)) {\n return refreshSnap({\n state,\n viewport\n });\n }\n return update({\n state,\n viewport\n });\n }\n if (action.type === 'UPDATE_VIEWPORT_MAX_SCROLL') {\n if (!isMovementAllowed(state)) {\n return state;\n }\n const maxScroll = action.payload.maxScroll;\n if (isEqual$1(maxScroll, state.viewport.scroll.max)) {\n return state;\n }\n const withMaxScroll = {\n ...state.viewport,\n scroll: {\n ...state.viewport.scroll,\n max: maxScroll\n }\n };\n return {\n ...state,\n viewport: withMaxScroll\n };\n }\n if (action.type === 'MOVE_UP' || action.type === 'MOVE_DOWN' || action.type === 'MOVE_LEFT' || action.type === 'MOVE_RIGHT') {\n if (state.phase === 'COLLECTING' || state.phase === 'DROP_PENDING') {\n return state;\n }\n !(state.phase === 'DRAGGING') ? process.env.NODE_ENV !== \"production\" ? invariant(false, `${action.type} received while not in DRAGGING phase`) : invariant(false) : void 0;\n const result = moveInDirection({\n state,\n type: action.type\n });\n if (!result) {\n return state;\n }\n return update({\n state,\n impact: result.impact,\n clientSelection: result.clientSelection,\n scrollJumpRequest: result.scrollJumpRequest\n });\n }\n if (action.type === 'DROP_PENDING') {\n const reason = action.payload.reason;\n !(state.phase === 'COLLECTING') ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Can only move into the DROP_PENDING phase from the COLLECTING phase') : invariant(false) : void 0;\n const newState = {\n ...state,\n phase: 'DROP_PENDING',\n isWaiting: true,\n reason\n };\n return newState;\n }\n if (action.type === 'DROP_ANIMATE') {\n const {\n completed,\n dropDuration,\n newHomeClientOffset\n } = action.payload;\n !(state.phase === 'DRAGGING' || state.phase === 'DROP_PENDING') ? process.env.NODE_ENV !== \"production\" ? invariant(false, `Cannot animate drop from phase ${state.phase}`) : invariant(false) : void 0;\n const result = {\n phase: 'DROP_ANIMATING',\n completed,\n dropDuration,\n newHomeClientOffset,\n dimensions: state.dimensions\n };\n return result;\n }\n if (action.type === 'DROP_COMPLETE') {\n const {\n completed\n } = action.payload;\n return {\n phase: 'IDLE',\n completed,\n shouldFlush: false\n };\n }\n return state;\n});\n\nconst beforeInitialCapture = args => ({\n type: 'BEFORE_INITIAL_CAPTURE',\n payload: args\n});\nconst lift$1 = args => ({\n type: 'LIFT',\n payload: args\n});\nconst initialPublish = args => ({\n type: 'INITIAL_PUBLISH',\n payload: args\n});\nconst publishWhileDragging = args => ({\n type: 'PUBLISH_WHILE_DRAGGING',\n payload: args\n});\nconst collectionStarting = () => ({\n type: 'COLLECTION_STARTING',\n payload: null\n});\nconst updateDroppableScroll = args => ({\n type: 'UPDATE_DROPPABLE_SCROLL',\n payload: args\n});\nconst updateDroppableIsEnabled = args => ({\n type: 'UPDATE_DROPPABLE_IS_ENABLED',\n payload: args\n});\nconst updateDroppableIsCombineEnabled = args => ({\n type: 'UPDATE_DROPPABLE_IS_COMBINE_ENABLED',\n payload: args\n});\nconst move = args => ({\n type: 'MOVE',\n payload: args\n});\nconst moveByWindowScroll = args => ({\n type: 'MOVE_BY_WINDOW_SCROLL',\n payload: args\n});\nconst updateViewportMaxScroll = args => ({\n type: 'UPDATE_VIEWPORT_MAX_SCROLL',\n payload: args\n});\nconst moveUp = () => ({\n type: 'MOVE_UP',\n payload: null\n});\nconst moveDown = () => ({\n type: 'MOVE_DOWN',\n payload: null\n});\nconst moveRight = () => ({\n type: 'MOVE_RIGHT',\n payload: null\n});\nconst moveLeft = () => ({\n type: 'MOVE_LEFT',\n payload: null\n});\nconst flush = () => ({\n type: 'FLUSH',\n payload: null\n});\nconst animateDrop = args => ({\n type: 'DROP_ANIMATE',\n payload: args\n});\nconst completeDrop = args => ({\n type: 'DROP_COMPLETE',\n payload: args\n});\nconst drop$1 = args => ({\n type: 'DROP',\n payload: args\n});\nconst dropPending = args => ({\n type: 'DROP_PENDING',\n payload: args\n});\nconst dropAnimationFinished = () => ({\n type: 'DROP_ANIMATION_FINISHED',\n payload: null\n});\n\nfunction checkIndexes(insideDestination) {\n if (insideDestination.length <= 1) {\n return;\n }\n const indexes = insideDestination.map(d => d.descriptor.index);\n const errors = {};\n for (let i = 1; i < indexes.length; i++) {\n const current = indexes[i];\n const previous = indexes[i - 1];\n if (current !== previous + 1) {\n errors[current] = true;\n }\n }\n if (!Object.keys(errors).length) {\n return;\n }\n const formatted = indexes.map(index => {\n const hasError = Boolean(errors[index]);\n return hasError ? `[🔥${index}]` : `${index}`;\n }).join(', ');\n process.env.NODE_ENV !== \"production\" ? warning(`\n Detected non-consecutive indexes.\n\n (This can cause unexpected bugs)\n\n ${formatted}\n `) : void 0;\n}\nfunction validateDimensions(critical, dimensions) {\n if (process.env.NODE_ENV !== 'production') {\n const insideDestination = getDraggablesInsideDroppable(critical.droppable.id, dimensions.draggables);\n checkIndexes(insideDestination);\n }\n}\n\nvar lift = (marshal => _ref => {\n let {\n getState,\n dispatch\n } = _ref;\n return next => action => {\n if (action.type !== 'LIFT') {\n next(action);\n return;\n }\n const {\n id,\n clientSelection,\n movementMode\n } = action.payload;\n const initial = getState();\n if (initial.phase === 'DROP_ANIMATING') {\n dispatch(completeDrop({\n completed: initial.completed\n }));\n }\n !(getState().phase === 'IDLE') ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Unexpected phase to start a drag') : invariant(false) : void 0;\n dispatch(flush());\n dispatch(beforeInitialCapture({\n draggableId: id,\n movementMode\n }));\n const scrollOptions = {\n shouldPublishImmediately: movementMode === 'SNAP'\n };\n const request = {\n draggableId: id,\n scrollOptions\n };\n const {\n critical,\n dimensions,\n viewport\n } = marshal.startPublishing(request);\n validateDimensions(critical, dimensions);\n dispatch(initialPublish({\n critical,\n dimensions,\n clientSelection,\n movementMode,\n viewport\n }));\n };\n});\n\nvar style = (marshal => () => next => action => {\n if (action.type === 'INITIAL_PUBLISH') {\n marshal.dragging();\n }\n if (action.type === 'DROP_ANIMATE') {\n marshal.dropping(action.payload.completed.result.reason);\n }\n if (action.type === 'FLUSH' || action.type === 'DROP_COMPLETE') {\n marshal.resting();\n }\n next(action);\n});\n\nconst curves = {\n outOfTheWay: 'cubic-bezier(0.2, 0, 0, 1)',\n drop: 'cubic-bezier(.2,1,.1,1)'\n};\nconst combine = {\n opacity: {\n drop: 0,\n combining: 0.7\n },\n scale: {\n drop: 0.75\n }\n};\nconst timings = {\n outOfTheWay: 0.2,\n minDropTime: 0.33,\n maxDropTime: 0.55\n};\nconst outOfTheWayTiming = `${timings.outOfTheWay}s ${curves.outOfTheWay}`;\nconst transitions = {\n fluid: `opacity ${outOfTheWayTiming}`,\n snap: `transform ${outOfTheWayTiming}, opacity ${outOfTheWayTiming}`,\n drop: duration => {\n const timing = `${duration}s ${curves.drop}`;\n return `transform ${timing}, opacity ${timing}`;\n },\n outOfTheWay: `transform ${outOfTheWayTiming}`,\n placeholder: `height ${outOfTheWayTiming}, width ${outOfTheWayTiming}, margin ${outOfTheWayTiming}`\n};\nconst moveTo = offset => isEqual$1(offset, origin) ? undefined : `translate(${offset.x}px, ${offset.y}px)`;\nconst transforms = {\n moveTo,\n drop: (offset, isCombining) => {\n const translate = moveTo(offset);\n if (!translate) {\n return undefined;\n }\n if (!isCombining) {\n return translate;\n }\n return `${translate} scale(${combine.scale.drop})`;\n }\n};\n\nconst {\n minDropTime,\n maxDropTime\n} = timings;\nconst dropTimeRange = maxDropTime - minDropTime;\nconst maxDropTimeAtDistance = 1500;\nconst cancelDropModifier = 0.6;\nvar getDropDuration = (_ref => {\n let {\n current,\n destination,\n reason\n } = _ref;\n const distance$1 = distance(current, destination);\n if (distance$1 <= 0) {\n return minDropTime;\n }\n if (distance$1 >= maxDropTimeAtDistance) {\n return maxDropTime;\n }\n const percentage = distance$1 / maxDropTimeAtDistance;\n const duration = minDropTime + dropTimeRange * percentage;\n const withDuration = reason === 'CANCEL' ? duration * cancelDropModifier : duration;\n return Number(withDuration.toFixed(2));\n});\n\nvar getNewHomeClientOffset = (_ref => {\n let {\n impact,\n draggable,\n dimensions,\n viewport,\n afterCritical\n } = _ref;\n const {\n draggables,\n droppables\n } = dimensions;\n const droppableId = whatIsDraggedOver(impact);\n const destination = droppableId ? droppables[droppableId] : null;\n const home = droppables[draggable.descriptor.droppableId];\n const newClientCenter = getClientBorderBoxCenter({\n impact,\n draggable,\n draggables,\n afterCritical,\n droppable: destination || home,\n viewport\n });\n const offset = subtract(newClientCenter, draggable.client.borderBox.center);\n return offset;\n});\n\nvar getDropImpact = (_ref => {\n let {\n draggables,\n reason,\n lastImpact,\n home,\n viewport,\n onLiftImpact\n } = _ref;\n if (!lastImpact.at || reason !== 'DROP') {\n const recomputedHomeImpact = recompute({\n draggables,\n impact: onLiftImpact,\n destination: home,\n viewport,\n forceShouldAnimate: true\n });\n return {\n impact: recomputedHomeImpact,\n didDropInsideDroppable: false\n };\n }\n if (lastImpact.at.type === 'REORDER') {\n return {\n impact: lastImpact,\n didDropInsideDroppable: true\n };\n }\n const withoutMovement = {\n ...lastImpact,\n displaced: emptyGroups\n };\n return {\n impact: withoutMovement,\n didDropInsideDroppable: true\n };\n});\n\nconst dropMiddleware = _ref => {\n let {\n getState,\n dispatch\n } = _ref;\n return next => action => {\n if (action.type !== 'DROP') {\n next(action);\n return;\n }\n const state = getState();\n const reason = action.payload.reason;\n if (state.phase === 'COLLECTING') {\n dispatch(dropPending({\n reason\n }));\n return;\n }\n if (state.phase === 'IDLE') {\n return;\n }\n const isWaitingForDrop = state.phase === 'DROP_PENDING' && state.isWaiting;\n !!isWaitingForDrop ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'A DROP action occurred while DROP_PENDING and still waiting') : invariant(false) : void 0;\n !(state.phase === 'DRAGGING' || state.phase === 'DROP_PENDING') ? process.env.NODE_ENV !== \"production\" ? invariant(false, `Cannot drop in phase: ${state.phase}`) : invariant(false) : void 0;\n const critical = state.critical;\n const dimensions = state.dimensions;\n const draggable = dimensions.draggables[state.critical.draggable.id];\n const {\n impact,\n didDropInsideDroppable\n } = getDropImpact({\n reason,\n lastImpact: state.impact,\n afterCritical: state.afterCritical,\n onLiftImpact: state.onLiftImpact,\n home: state.dimensions.droppables[state.critical.droppable.id],\n viewport: state.viewport,\n draggables: state.dimensions.draggables\n });\n const destination = didDropInsideDroppable ? tryGetDestination(impact) : null;\n const combine = didDropInsideDroppable ? tryGetCombine(impact) : null;\n const source = {\n index: critical.draggable.index,\n droppableId: critical.droppable.id\n };\n const result = {\n draggableId: draggable.descriptor.id,\n type: draggable.descriptor.type,\n source,\n reason,\n mode: state.movementMode,\n destination,\n combine\n };\n const newHomeClientOffset = getNewHomeClientOffset({\n impact,\n draggable,\n dimensions,\n viewport: state.viewport,\n afterCritical: state.afterCritical\n });\n const completed = {\n critical: state.critical,\n afterCritical: state.afterCritical,\n result,\n impact\n };\n const isAnimationRequired = !isEqual$1(state.current.client.offset, newHomeClientOffset) || Boolean(result.combine);\n if (!isAnimationRequired) {\n dispatch(completeDrop({\n completed\n }));\n return;\n }\n const dropDuration = getDropDuration({\n current: state.current.client.offset,\n destination: newHomeClientOffset,\n reason\n });\n const args = {\n newHomeClientOffset,\n dropDuration,\n completed\n };\n dispatch(animateDrop(args));\n };\n};\nvar drop = dropMiddleware;\n\nvar getWindowScroll = (() => ({\n x: window.pageXOffset,\n y: window.pageYOffset\n}));\n\nfunction getWindowScrollBinding(update) {\n return {\n eventName: 'scroll',\n options: {\n passive: true,\n capture: false\n },\n fn: event => {\n if (event.target !== window && event.target !== window.document) {\n return;\n }\n update();\n }\n };\n}\nfunction getScrollListener(_ref) {\n let {\n onWindowScroll\n } = _ref;\n function updateScroll() {\n onWindowScroll(getWindowScroll());\n }\n const scheduled = rafSchd(updateScroll);\n const binding = getWindowScrollBinding(scheduled);\n let unbind = noop$2;\n function isActive() {\n return unbind !== noop$2;\n }\n function start() {\n !!isActive() ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot start scroll listener when already active') : invariant(false) : void 0;\n unbind = bindEvents(window, [binding]);\n }\n function stop() {\n !isActive() ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot stop scroll listener when not active') : invariant(false) : void 0;\n scheduled.cancel();\n unbind();\n unbind = noop$2;\n }\n return {\n start,\n stop,\n isActive\n };\n}\n\nconst shouldEnd = action => action.type === 'DROP_COMPLETE' || action.type === 'DROP_ANIMATE' || action.type === 'FLUSH';\nconst scrollListener = store => {\n const listener = getScrollListener({\n onWindowScroll: newScroll => {\n store.dispatch(moveByWindowScroll({\n newScroll\n }));\n }\n });\n return next => action => {\n if (!listener.isActive() && action.type === 'INITIAL_PUBLISH') {\n listener.start();\n }\n if (listener.isActive() && shouldEnd(action)) {\n listener.stop();\n }\n next(action);\n };\n};\nvar scrollListener$1 = scrollListener;\n\nvar getExpiringAnnounce = (announce => {\n let wasCalled = false;\n let isExpired = false;\n const timeoutId = setTimeout(() => {\n isExpired = true;\n });\n const result = message => {\n if (wasCalled) {\n process.env.NODE_ENV !== \"production\" ? warning('Announcement already made. Not making a second announcement') : void 0;\n return;\n }\n if (isExpired) {\n process.env.NODE_ENV !== \"production\" ? warning(`\n Announcements cannot be made asynchronously.\n Default message has already been announced.\n `) : void 0;\n return;\n }\n wasCalled = true;\n announce(message);\n clearTimeout(timeoutId);\n };\n result.wasCalled = () => wasCalled;\n return result;\n});\n\nvar getAsyncMarshal = (() => {\n const entries = [];\n const execute = timerId => {\n const index = entries.findIndex(item => item.timerId === timerId);\n !(index !== -1) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Could not find timer') : invariant(false) : void 0;\n const [entry] = entries.splice(index, 1);\n entry.callback();\n };\n const add = fn => {\n const timerId = setTimeout(() => execute(timerId));\n const entry = {\n timerId,\n callback: fn\n };\n entries.push(entry);\n };\n const flush = () => {\n if (!entries.length) {\n return;\n }\n const shallow = [...entries];\n entries.length = 0;\n shallow.forEach(entry => {\n clearTimeout(entry.timerId);\n entry.callback();\n });\n };\n return {\n add,\n flush\n };\n});\n\nconst areLocationsEqual = (first, second) => {\n if (first == null && second == null) {\n return true;\n }\n if (first == null || second == null) {\n return false;\n }\n return first.droppableId === second.droppableId && first.index === second.index;\n};\nconst isCombineEqual = (first, second) => {\n if (first == null && second == null) {\n return true;\n }\n if (first == null || second == null) {\n return false;\n }\n return first.draggableId === second.draggableId && first.droppableId === second.droppableId;\n};\nconst isCriticalEqual = (first, second) => {\n if (first === second) {\n return true;\n }\n const isDraggableEqual = first.draggable.id === second.draggable.id && first.draggable.droppableId === second.draggable.droppableId && first.draggable.type === second.draggable.type && first.draggable.index === second.draggable.index;\n const isDroppableEqual = first.droppable.id === second.droppable.id && first.droppable.type === second.droppable.type;\n return isDraggableEqual && isDroppableEqual;\n};\n\nconst withTimings = (key, fn) => {\n start();\n fn();\n finish();\n};\nconst getDragStart = (critical, mode) => ({\n draggableId: critical.draggable.id,\n type: critical.droppable.type,\n source: {\n droppableId: critical.droppable.id,\n index: critical.draggable.index\n },\n mode\n});\nfunction execute(responder, data, announce, getDefaultMessage) {\n if (!responder) {\n announce(getDefaultMessage(data));\n return;\n }\n const willExpire = getExpiringAnnounce(announce);\n const provided = {\n announce: willExpire\n };\n responder(data, provided);\n if (!willExpire.wasCalled()) {\n announce(getDefaultMessage(data));\n }\n}\nvar getPublisher = ((getResponders, announce) => {\n const asyncMarshal = getAsyncMarshal();\n let dragging = null;\n const beforeCapture = (draggableId, mode) => {\n !!dragging ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot fire onBeforeCapture as a drag start has already been published') : invariant(false) : void 0;\n withTimings('onBeforeCapture', () => {\n const fn = getResponders().onBeforeCapture;\n if (fn) {\n const before = {\n draggableId,\n mode\n };\n fn(before);\n }\n });\n };\n const beforeStart = (critical, mode) => {\n !!dragging ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot fire onBeforeDragStart as a drag start has already been published') : invariant(false) : void 0;\n withTimings('onBeforeDragStart', () => {\n const fn = getResponders().onBeforeDragStart;\n if (fn) {\n fn(getDragStart(critical, mode));\n }\n });\n };\n const start = (critical, mode) => {\n !!dragging ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot fire onBeforeDragStart as a drag start has already been published') : invariant(false) : void 0;\n const data = getDragStart(critical, mode);\n dragging = {\n mode,\n lastCritical: critical,\n lastLocation: data.source,\n lastCombine: null\n };\n asyncMarshal.add(() => {\n withTimings('onDragStart', () => execute(getResponders().onDragStart, data, announce, preset$1.onDragStart));\n });\n };\n const update = (critical, impact) => {\n const location = tryGetDestination(impact);\n const combine = tryGetCombine(impact);\n !dragging ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot fire onDragMove when onDragStart has not been called') : invariant(false) : void 0;\n const hasCriticalChanged = !isCriticalEqual(critical, dragging.lastCritical);\n if (hasCriticalChanged) {\n dragging.lastCritical = critical;\n }\n const hasLocationChanged = !areLocationsEqual(dragging.lastLocation, location);\n if (hasLocationChanged) {\n dragging.lastLocation = location;\n }\n const hasGroupingChanged = !isCombineEqual(dragging.lastCombine, combine);\n if (hasGroupingChanged) {\n dragging.lastCombine = combine;\n }\n if (!hasCriticalChanged && !hasLocationChanged && !hasGroupingChanged) {\n return;\n }\n const data = {\n ...getDragStart(critical, dragging.mode),\n combine,\n destination: location\n };\n asyncMarshal.add(() => {\n withTimings('onDragUpdate', () => execute(getResponders().onDragUpdate, data, announce, preset$1.onDragUpdate));\n });\n };\n const flush = () => {\n !dragging ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Can only flush responders while dragging') : invariant(false) : void 0;\n asyncMarshal.flush();\n };\n const drop = result => {\n !dragging ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot fire onDragEnd when there is no matching onDragStart') : invariant(false) : void 0;\n dragging = null;\n withTimings('onDragEnd', () => execute(getResponders().onDragEnd, result, announce, preset$1.onDragEnd));\n };\n const abort = () => {\n if (!dragging) {\n return;\n }\n const result = {\n ...getDragStart(dragging.lastCritical, dragging.mode),\n combine: null,\n destination: null,\n reason: 'CANCEL'\n };\n drop(result);\n };\n return {\n beforeCapture,\n beforeStart,\n start,\n update,\n flush,\n drop,\n abort\n };\n});\n\nvar responders = ((getResponders, announce) => {\n const publisher = getPublisher(getResponders, announce);\n return store => next => action => {\n if (action.type === 'BEFORE_INITIAL_CAPTURE') {\n publisher.beforeCapture(action.payload.draggableId, action.payload.movementMode);\n return;\n }\n if (action.type === 'INITIAL_PUBLISH') {\n const critical = action.payload.critical;\n publisher.beforeStart(critical, action.payload.movementMode);\n next(action);\n publisher.start(critical, action.payload.movementMode);\n return;\n }\n if (action.type === 'DROP_COMPLETE') {\n const result = action.payload.completed.result;\n publisher.flush();\n next(action);\n publisher.drop(result);\n return;\n }\n next(action);\n if (action.type === 'FLUSH') {\n publisher.abort();\n return;\n }\n const state = store.getState();\n if (state.phase === 'DRAGGING') {\n publisher.update(state.critical, state.impact);\n }\n };\n});\n\nconst dropAnimationFinishMiddleware = store => next => action => {\n if (action.type !== 'DROP_ANIMATION_FINISHED') {\n next(action);\n return;\n }\n const state = store.getState();\n !(state.phase === 'DROP_ANIMATING') ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot finish a drop animating when no drop is occurring') : invariant(false) : void 0;\n store.dispatch(completeDrop({\n completed: state.completed\n }));\n};\nvar dropAnimationFinish = dropAnimationFinishMiddleware;\n\nconst dropAnimationFlushOnScrollMiddleware = store => {\n let unbind = null;\n let frameId = null;\n function clear() {\n if (frameId) {\n cancelAnimationFrame(frameId);\n frameId = null;\n }\n if (unbind) {\n unbind();\n unbind = null;\n }\n }\n return next => action => {\n if (action.type === 'FLUSH' || action.type === 'DROP_COMPLETE' || action.type === 'DROP_ANIMATION_FINISHED') {\n clear();\n }\n next(action);\n if (action.type !== 'DROP_ANIMATE') {\n return;\n }\n const binding = {\n eventName: 'scroll',\n options: {\n capture: true,\n passive: false,\n once: true\n },\n fn: function flushDropAnimation() {\n const state = store.getState();\n if (state.phase === 'DROP_ANIMATING') {\n store.dispatch(dropAnimationFinished());\n }\n }\n };\n frameId = requestAnimationFrame(() => {\n frameId = null;\n unbind = bindEvents(window, [binding]);\n });\n };\n};\nvar dropAnimationFlushOnScroll = dropAnimationFlushOnScrollMiddleware;\n\nvar dimensionMarshalStopper = (marshal => () => next => action => {\n if (action.type === 'DROP_COMPLETE' || action.type === 'FLUSH' || action.type === 'DROP_ANIMATE') {\n marshal.stopPublishing();\n }\n next(action);\n});\n\nvar focus = (marshal => {\n let isWatching = false;\n return () => next => action => {\n if (action.type === 'INITIAL_PUBLISH') {\n isWatching = true;\n marshal.tryRecordFocus(action.payload.critical.draggable.id);\n next(action);\n marshal.tryRestoreFocusRecorded();\n return;\n }\n next(action);\n if (!isWatching) {\n return;\n }\n if (action.type === 'FLUSH') {\n isWatching = false;\n marshal.tryRestoreFocusRecorded();\n return;\n }\n if (action.type === 'DROP_COMPLETE') {\n isWatching = false;\n const result = action.payload.completed.result;\n if (result.combine) {\n marshal.tryShiftRecord(result.draggableId, result.combine.draggableId);\n }\n marshal.tryRestoreFocusRecorded();\n }\n };\n});\n\nconst shouldStop = action => action.type === 'DROP_COMPLETE' || action.type === 'DROP_ANIMATE' || action.type === 'FLUSH';\nvar autoScroll = (autoScroller => store => next => action => {\n if (shouldStop(action)) {\n autoScroller.stop();\n next(action);\n return;\n }\n if (action.type === 'INITIAL_PUBLISH') {\n next(action);\n const state = store.getState();\n !(state.phase === 'DRAGGING') ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Expected phase to be DRAGGING after INITIAL_PUBLISH') : invariant(false) : void 0;\n autoScroller.start(state);\n return;\n }\n next(action);\n autoScroller.scroll(store.getState());\n});\n\nconst pendingDrop = store => next => action => {\n next(action);\n if (action.type !== 'PUBLISH_WHILE_DRAGGING') {\n return;\n }\n const postActionState = store.getState();\n if (postActionState.phase !== 'DROP_PENDING') {\n return;\n }\n if (postActionState.isWaiting) {\n return;\n }\n store.dispatch(drop$1({\n reason: postActionState.reason\n }));\n};\nvar pendingDrop$1 = pendingDrop;\n\nconst composeEnhancers = process.env.NODE_ENV !== 'production' && typeof window !== 'undefined' && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ ? window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__({\n name: '@hello-pangea/dnd'\n}) : compose;\nvar createStore = (_ref => {\n let {\n dimensionMarshal,\n focusMarshal,\n styleMarshal,\n getResponders,\n announce,\n autoScroller\n } = _ref;\n return createStore$1(reducer, composeEnhancers(applyMiddleware(style(styleMarshal), dimensionMarshalStopper(dimensionMarshal), lift(dimensionMarshal), drop, dropAnimationFinish, dropAnimationFlushOnScroll, pendingDrop$1, autoScroll(autoScroller), scrollListener$1, focus(focusMarshal), responders(getResponders, announce))));\n});\n\nconst clean$1 = () => ({\n additions: {},\n removals: {},\n modified: {}\n});\nfunction createPublisher(_ref) {\n let {\n registry,\n callbacks\n } = _ref;\n let staging = clean$1();\n let frameId = null;\n const collect = () => {\n if (frameId) {\n return;\n }\n callbacks.collectionStarting();\n frameId = requestAnimationFrame(() => {\n frameId = null;\n start();\n const {\n additions,\n removals,\n modified\n } = staging;\n const added = Object.keys(additions).map(id => registry.draggable.getById(id).getDimension(origin)).sort((a, b) => a.descriptor.index - b.descriptor.index);\n const updated = Object.keys(modified).map(id => {\n const entry = registry.droppable.getById(id);\n const scroll = entry.callbacks.getScrollWhileDragging();\n return {\n droppableId: id,\n scroll\n };\n });\n const result = {\n additions: added,\n removals: Object.keys(removals),\n modified: updated\n };\n staging = clean$1();\n finish();\n callbacks.publish(result);\n });\n };\n const add = entry => {\n const id = entry.descriptor.id;\n staging.additions[id] = entry;\n staging.modified[entry.descriptor.droppableId] = true;\n if (staging.removals[id]) {\n delete staging.removals[id];\n }\n collect();\n };\n const remove = entry => {\n const descriptor = entry.descriptor;\n staging.removals[descriptor.id] = true;\n staging.modified[descriptor.droppableId] = true;\n if (staging.additions[descriptor.id]) {\n delete staging.additions[descriptor.id];\n }\n collect();\n };\n const stop = () => {\n if (!frameId) {\n return;\n }\n cancelAnimationFrame(frameId);\n frameId = null;\n staging = clean$1();\n };\n return {\n add,\n remove,\n stop\n };\n}\n\nvar getMaxScroll = (_ref => {\n let {\n scrollHeight,\n scrollWidth,\n height,\n width\n } = _ref;\n const maxScroll = subtract({\n x: scrollWidth,\n y: scrollHeight\n }, {\n x: width,\n y: height\n });\n const adjustedMaxScroll = {\n x: Math.max(0, maxScroll.x),\n y: Math.max(0, maxScroll.y)\n };\n return adjustedMaxScroll;\n});\n\nvar getDocumentElement = (() => {\n const doc = document.documentElement;\n !doc ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot find document.documentElement') : invariant(false) : void 0;\n return doc;\n});\n\nvar getMaxWindowScroll = (() => {\n const doc = getDocumentElement();\n const maxScroll = getMaxScroll({\n scrollHeight: doc.scrollHeight,\n scrollWidth: doc.scrollWidth,\n width: doc.clientWidth,\n height: doc.clientHeight\n });\n return maxScroll;\n});\n\nvar getViewport = (() => {\n const scroll = getWindowScroll();\n const maxScroll = getMaxWindowScroll();\n const top = scroll.y;\n const left = scroll.x;\n const doc = getDocumentElement();\n const width = doc.clientWidth;\n const height = doc.clientHeight;\n const right = left + width;\n const bottom = top + height;\n const frame = getRect({\n top,\n left,\n right,\n bottom\n });\n const viewport = {\n frame,\n scroll: {\n initial: scroll,\n current: scroll,\n max: maxScroll,\n diff: {\n value: origin,\n displacement: origin\n }\n }\n };\n return viewport;\n});\n\nvar getInitialPublish = (_ref => {\n let {\n critical,\n scrollOptions,\n registry\n } = _ref;\n start();\n const viewport = getViewport();\n const windowScroll = viewport.scroll.current;\n const home = critical.droppable;\n const droppables = registry.droppable.getAllByType(home.type).map(entry => entry.callbacks.getDimensionAndWatchScroll(windowScroll, scrollOptions));\n const draggables = registry.draggable.getAllByType(critical.draggable.type).map(entry => entry.getDimension(windowScroll));\n const dimensions = {\n draggables: toDraggableMap(draggables),\n droppables: toDroppableMap(droppables)\n };\n finish();\n const result = {\n dimensions,\n critical,\n viewport\n };\n return result;\n});\n\nfunction shouldPublishUpdate(registry, dragging, entry) {\n if (entry.descriptor.id === dragging.id) {\n return false;\n }\n if (entry.descriptor.type !== dragging.type) {\n return false;\n }\n const home = registry.droppable.getById(entry.descriptor.droppableId);\n if (home.descriptor.mode !== 'virtual') {\n process.env.NODE_ENV !== \"production\" ? warning(`\n You are attempting to add or remove a Draggable [id: ${entry.descriptor.id}]\n while a drag is occurring. This is only supported for virtual lists.\n\n See https://github.com/hello-pangea/dnd/blob/main/docs/patterns/virtual-lists.md\n `) : void 0;\n return false;\n }\n return true;\n}\nvar createDimensionMarshal = ((registry, callbacks) => {\n let collection = null;\n const publisher = createPublisher({\n callbacks: {\n publish: callbacks.publishWhileDragging,\n collectionStarting: callbacks.collectionStarting\n },\n registry\n });\n const updateDroppableIsEnabled = (id, isEnabled) => {\n !registry.droppable.exists(id) ? process.env.NODE_ENV !== \"production\" ? invariant(false, `Cannot update is enabled flag of Droppable ${id} as it is not registered`) : invariant(false) : void 0;\n if (!collection) {\n return;\n }\n callbacks.updateDroppableIsEnabled({\n id,\n isEnabled\n });\n };\n const updateDroppableIsCombineEnabled = (id, isCombineEnabled) => {\n if (!collection) {\n return;\n }\n !registry.droppable.exists(id) ? process.env.NODE_ENV !== \"production\" ? invariant(false, `Cannot update isCombineEnabled flag of Droppable ${id} as it is not registered`) : invariant(false) : void 0;\n callbacks.updateDroppableIsCombineEnabled({\n id,\n isCombineEnabled\n });\n };\n const updateDroppableScroll = (id, newScroll) => {\n if (!collection) {\n return;\n }\n !registry.droppable.exists(id) ? process.env.NODE_ENV !== \"production\" ? invariant(false, `Cannot update the scroll on Droppable ${id} as it is not registered`) : invariant(false) : void 0;\n callbacks.updateDroppableScroll({\n id,\n newScroll\n });\n };\n const scrollDroppable = (id, change) => {\n if (!collection) {\n return;\n }\n registry.droppable.getById(id).callbacks.scroll(change);\n };\n const stopPublishing = () => {\n if (!collection) {\n return;\n }\n publisher.stop();\n const home = collection.critical.droppable;\n registry.droppable.getAllByType(home.type).forEach(entry => entry.callbacks.dragStopped());\n collection.unsubscribe();\n collection = null;\n };\n const subscriber = event => {\n !collection ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Should only be subscribed when a collection is occurring') : invariant(false) : void 0;\n const dragging = collection.critical.draggable;\n if (event.type === 'ADDITION') {\n if (shouldPublishUpdate(registry, dragging, event.value)) {\n publisher.add(event.value);\n }\n }\n if (event.type === 'REMOVAL') {\n if (shouldPublishUpdate(registry, dragging, event.value)) {\n publisher.remove(event.value);\n }\n }\n };\n const startPublishing = request => {\n !!collection ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot start capturing critical dimensions as there is already a collection') : invariant(false) : void 0;\n const entry = registry.draggable.getById(request.draggableId);\n const home = registry.droppable.getById(entry.descriptor.droppableId);\n const critical = {\n draggable: entry.descriptor,\n droppable: home.descriptor\n };\n const unsubscribe = registry.subscribe(subscriber);\n collection = {\n critical,\n unsubscribe\n };\n return getInitialPublish({\n critical,\n registry,\n scrollOptions: request.scrollOptions\n });\n };\n const marshal = {\n updateDroppableIsEnabled,\n updateDroppableIsCombineEnabled,\n scrollDroppable,\n updateDroppableScroll,\n startPublishing,\n stopPublishing\n };\n return marshal;\n});\n\nvar canStartDrag = ((state, id) => {\n if (state.phase === 'IDLE') {\n return true;\n }\n if (state.phase !== 'DROP_ANIMATING') {\n return false;\n }\n if (state.completed.result.draggableId === id) {\n return false;\n }\n return state.completed.result.reason === 'DROP';\n});\n\nvar scrollWindow = (change => {\n window.scrollBy(change.x, change.y);\n});\n\nconst getScrollableDroppables = memoizeOne(droppables => toDroppableList(droppables).filter(droppable => {\n if (!droppable.isEnabled) {\n return false;\n }\n if (!droppable.frame) {\n return false;\n }\n return true;\n}));\nconst getScrollableDroppableOver = (target, droppables) => {\n const maybe = getScrollableDroppables(droppables).find(droppable => {\n !droppable.frame ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Invalid result') : invariant(false) : void 0;\n return isPositionInFrame(droppable.frame.pageMarginBox)(target);\n }) || null;\n return maybe;\n};\nvar getBestScrollableDroppable = (_ref => {\n let {\n center,\n destination,\n droppables\n } = _ref;\n if (destination) {\n const dimension = droppables[destination];\n if (!dimension.frame) {\n return null;\n }\n return dimension;\n }\n const dimension = getScrollableDroppableOver(center, droppables);\n return dimension;\n});\n\nconst defaultAutoScrollerOptions = {\n startFromPercentage: 0.25,\n maxScrollAtPercentage: 0.05,\n maxPixelScroll: 28,\n ease: percentage => percentage ** 2,\n durationDampening: {\n stopDampeningAt: 1200,\n accelerateAt: 360\n },\n disabled: false\n};\n\nvar getDistanceThresholds = (function (container, axis, getAutoScrollerOptions) {\n if (getAutoScrollerOptions === void 0) {\n getAutoScrollerOptions = () => defaultAutoScrollerOptions;\n }\n const autoScrollerOptions = getAutoScrollerOptions();\n const startScrollingFrom = container[axis.size] * autoScrollerOptions.startFromPercentage;\n const maxScrollValueAt = container[axis.size] * autoScrollerOptions.maxScrollAtPercentage;\n const thresholds = {\n startScrollingFrom,\n maxScrollValueAt\n };\n return thresholds;\n});\n\nvar getPercentage = (_ref => {\n let {\n startOfRange,\n endOfRange,\n current\n } = _ref;\n const range = endOfRange - startOfRange;\n if (range === 0) {\n process.env.NODE_ENV !== \"production\" ? warning(`\n Detected distance range of 0 in the fluid auto scroller\n This is unexpected and would cause a divide by 0 issue.\n Not allowing an auto scroll\n `) : void 0;\n return 0;\n }\n const currentInRange = current - startOfRange;\n const percentage = currentInRange / range;\n return percentage;\n});\n\nvar minScroll = 1;\n\nvar getValueFromDistance = (function (distanceToEdge, thresholds, getAutoScrollerOptions) {\n if (getAutoScrollerOptions === void 0) {\n getAutoScrollerOptions = () => defaultAutoScrollerOptions;\n }\n const autoScrollerOptions = getAutoScrollerOptions();\n if (distanceToEdge > thresholds.startScrollingFrom) {\n return 0;\n }\n if (distanceToEdge <= thresholds.maxScrollValueAt) {\n return autoScrollerOptions.maxPixelScroll;\n }\n if (distanceToEdge === thresholds.startScrollingFrom) {\n return minScroll;\n }\n const percentageFromMaxScrollValueAt = getPercentage({\n startOfRange: thresholds.maxScrollValueAt,\n endOfRange: thresholds.startScrollingFrom,\n current: distanceToEdge\n });\n const percentageFromStartScrollingFrom = 1 - percentageFromMaxScrollValueAt;\n const scroll = autoScrollerOptions.maxPixelScroll * autoScrollerOptions.ease(percentageFromStartScrollingFrom);\n return Math.ceil(scroll);\n});\n\nvar dampenValueByTime = ((proposedScroll, dragStartTime, getAutoScrollerOptions) => {\n const autoScrollerOptions = getAutoScrollerOptions();\n const accelerateAt = autoScrollerOptions.durationDampening.accelerateAt;\n const stopAt = autoScrollerOptions.durationDampening.stopDampeningAt;\n const startOfRange = dragStartTime;\n const endOfRange = stopAt;\n const now = Date.now();\n const runTime = now - startOfRange;\n if (runTime >= stopAt) {\n return proposedScroll;\n }\n if (runTime < accelerateAt) {\n return minScroll;\n }\n const betweenAccelerateAtAndStopAtPercentage = getPercentage({\n startOfRange: accelerateAt,\n endOfRange,\n current: runTime\n });\n const scroll = proposedScroll * autoScrollerOptions.ease(betweenAccelerateAtAndStopAtPercentage);\n return Math.ceil(scroll);\n});\n\nvar getValue = (_ref => {\n let {\n distanceToEdge,\n thresholds,\n dragStartTime,\n shouldUseTimeDampening,\n getAutoScrollerOptions\n } = _ref;\n const scroll = getValueFromDistance(distanceToEdge, thresholds, getAutoScrollerOptions);\n if (scroll === 0) {\n return 0;\n }\n if (!shouldUseTimeDampening) {\n return scroll;\n }\n return Math.max(dampenValueByTime(scroll, dragStartTime, getAutoScrollerOptions), minScroll);\n});\n\nvar getScrollOnAxis = (_ref => {\n let {\n container,\n distanceToEdges,\n dragStartTime,\n axis,\n shouldUseTimeDampening,\n getAutoScrollerOptions\n } = _ref;\n const thresholds = getDistanceThresholds(container, axis, getAutoScrollerOptions);\n const isCloserToEnd = distanceToEdges[axis.end] < distanceToEdges[axis.start];\n if (isCloserToEnd) {\n return getValue({\n distanceToEdge: distanceToEdges[axis.end],\n thresholds,\n dragStartTime,\n shouldUseTimeDampening,\n getAutoScrollerOptions\n });\n }\n return -1 * getValue({\n distanceToEdge: distanceToEdges[axis.start],\n thresholds,\n dragStartTime,\n shouldUseTimeDampening,\n getAutoScrollerOptions\n });\n});\n\nvar adjustForSizeLimits = (_ref => {\n let {\n container,\n subject,\n proposedScroll\n } = _ref;\n const isTooBigVertically = subject.height > container.height;\n const isTooBigHorizontally = subject.width > container.width;\n if (!isTooBigHorizontally && !isTooBigVertically) {\n return proposedScroll;\n }\n if (isTooBigHorizontally && isTooBigVertically) {\n return null;\n }\n return {\n x: isTooBigHorizontally ? 0 : proposedScroll.x,\n y: isTooBigVertically ? 0 : proposedScroll.y\n };\n});\n\nconst clean = apply(value => value === 0 ? 0 : value);\nvar getScroll$1 = (_ref => {\n let {\n dragStartTime,\n container,\n subject,\n center,\n shouldUseTimeDampening,\n getAutoScrollerOptions\n } = _ref;\n const distanceToEdges = {\n top: center.y - container.top,\n right: container.right - center.x,\n bottom: container.bottom - center.y,\n left: center.x - container.left\n };\n const y = getScrollOnAxis({\n container,\n distanceToEdges,\n dragStartTime,\n axis: vertical,\n shouldUseTimeDampening,\n getAutoScrollerOptions\n });\n const x = getScrollOnAxis({\n container,\n distanceToEdges,\n dragStartTime,\n axis: horizontal,\n shouldUseTimeDampening,\n getAutoScrollerOptions\n });\n const required = clean({\n x,\n y\n });\n if (isEqual$1(required, origin)) {\n return null;\n }\n const limited = adjustForSizeLimits({\n container,\n subject,\n proposedScroll: required\n });\n if (!limited) {\n return null;\n }\n return isEqual$1(limited, origin) ? null : limited;\n});\n\nconst smallestSigned = apply(value => {\n if (value === 0) {\n return 0;\n }\n return value > 0 ? 1 : -1;\n});\nconst getOverlap = (() => {\n const getRemainder = (target, max) => {\n if (target < 0) {\n return target;\n }\n if (target > max) {\n return target - max;\n }\n return 0;\n };\n return _ref => {\n let {\n current,\n max,\n change\n } = _ref;\n const targetScroll = add(current, change);\n const overlap = {\n x: getRemainder(targetScroll.x, max.x),\n y: getRemainder(targetScroll.y, max.y)\n };\n if (isEqual$1(overlap, origin)) {\n return null;\n }\n return overlap;\n };\n})();\nconst canPartiallyScroll = _ref2 => {\n let {\n max: rawMax,\n current,\n change\n } = _ref2;\n const max = {\n x: Math.max(current.x, rawMax.x),\n y: Math.max(current.y, rawMax.y)\n };\n const smallestChange = smallestSigned(change);\n const overlap = getOverlap({\n max,\n current,\n change: smallestChange\n });\n if (!overlap) {\n return true;\n }\n if (smallestChange.x !== 0 && overlap.x === 0) {\n return true;\n }\n if (smallestChange.y !== 0 && overlap.y === 0) {\n return true;\n }\n return false;\n};\nconst canScrollWindow = (viewport, change) => canPartiallyScroll({\n current: viewport.scroll.current,\n max: viewport.scroll.max,\n change\n});\nconst getWindowOverlap = (viewport, change) => {\n if (!canScrollWindow(viewport, change)) {\n return null;\n }\n const max = viewport.scroll.max;\n const current = viewport.scroll.current;\n return getOverlap({\n current,\n max,\n change\n });\n};\nconst canScrollDroppable = (droppable, change) => {\n const frame = droppable.frame;\n if (!frame) {\n return false;\n }\n return canPartiallyScroll({\n current: frame.scroll.current,\n max: frame.scroll.max,\n change\n });\n};\nconst getDroppableOverlap = (droppable, change) => {\n const frame = droppable.frame;\n if (!frame) {\n return null;\n }\n if (!canScrollDroppable(droppable, change)) {\n return null;\n }\n return getOverlap({\n current: frame.scroll.current,\n max: frame.scroll.max,\n change\n });\n};\n\nvar getWindowScrollChange = (_ref => {\n let {\n viewport,\n subject,\n center,\n dragStartTime,\n shouldUseTimeDampening,\n getAutoScrollerOptions\n } = _ref;\n const scroll = getScroll$1({\n dragStartTime,\n container: viewport.frame,\n subject,\n center,\n shouldUseTimeDampening,\n getAutoScrollerOptions\n });\n return scroll && canScrollWindow(viewport, scroll) ? scroll : null;\n});\n\nvar getDroppableScrollChange = (_ref => {\n let {\n droppable,\n subject,\n center,\n dragStartTime,\n shouldUseTimeDampening,\n getAutoScrollerOptions\n } = _ref;\n const frame = droppable.frame;\n if (!frame) {\n return null;\n }\n const scroll = getScroll$1({\n dragStartTime,\n container: frame.pageMarginBox,\n subject,\n center,\n shouldUseTimeDampening,\n getAutoScrollerOptions\n });\n return scroll && canScrollDroppable(droppable, scroll) ? scroll : null;\n});\n\nvar scroll = (_ref => {\n let {\n state,\n dragStartTime,\n shouldUseTimeDampening,\n scrollWindow,\n scrollDroppable,\n getAutoScrollerOptions\n } = _ref;\n const center = state.current.page.borderBoxCenter;\n const draggable = state.dimensions.draggables[state.critical.draggable.id];\n const subject = draggable.page.marginBox;\n if (state.isWindowScrollAllowed) {\n const viewport = state.viewport;\n const change = getWindowScrollChange({\n dragStartTime,\n viewport,\n subject,\n center,\n shouldUseTimeDampening,\n getAutoScrollerOptions\n });\n if (change) {\n scrollWindow(change);\n return;\n }\n }\n const droppable = getBestScrollableDroppable({\n center,\n destination: whatIsDraggedOver(state.impact),\n droppables: state.dimensions.droppables\n });\n if (!droppable) {\n return;\n }\n const change = getDroppableScrollChange({\n dragStartTime,\n droppable,\n subject,\n center,\n shouldUseTimeDampening,\n getAutoScrollerOptions\n });\n if (change) {\n scrollDroppable(droppable.descriptor.id, change);\n }\n});\n\nvar createFluidScroller = (_ref => {\n let {\n scrollWindow,\n scrollDroppable,\n getAutoScrollerOptions = () => defaultAutoScrollerOptions\n } = _ref;\n const scheduleWindowScroll = rafSchd(scrollWindow);\n const scheduleDroppableScroll = rafSchd(scrollDroppable);\n let dragging = null;\n const tryScroll = state => {\n !dragging ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot fluid scroll if not dragging') : invariant(false) : void 0;\n const {\n shouldUseTimeDampening,\n dragStartTime\n } = dragging;\n scroll({\n state,\n scrollWindow: scheduleWindowScroll,\n scrollDroppable: scheduleDroppableScroll,\n dragStartTime,\n shouldUseTimeDampening,\n getAutoScrollerOptions\n });\n };\n const start$1 = state => {\n start();\n !!dragging ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot start auto scrolling when already started') : invariant(false) : void 0;\n const dragStartTime = Date.now();\n let wasScrollNeeded = false;\n const fakeScrollCallback = () => {\n wasScrollNeeded = true;\n };\n scroll({\n state,\n dragStartTime: 0,\n shouldUseTimeDampening: false,\n scrollWindow: fakeScrollCallback,\n scrollDroppable: fakeScrollCallback,\n getAutoScrollerOptions\n });\n dragging = {\n dragStartTime,\n shouldUseTimeDampening: wasScrollNeeded\n };\n finish();\n if (wasScrollNeeded) {\n tryScroll(state);\n }\n };\n const stop = () => {\n if (!dragging) {\n return;\n }\n scheduleWindowScroll.cancel();\n scheduleDroppableScroll.cancel();\n dragging = null;\n };\n return {\n start: start$1,\n stop,\n scroll: tryScroll\n };\n});\n\nvar createJumpScroller = (_ref => {\n let {\n move,\n scrollDroppable,\n scrollWindow\n } = _ref;\n const moveByOffset = (state, offset) => {\n const client = add(state.current.client.selection, offset);\n move({\n client\n });\n };\n const scrollDroppableAsMuchAsItCan = (droppable, change) => {\n if (!canScrollDroppable(droppable, change)) {\n return change;\n }\n const overlap = getDroppableOverlap(droppable, change);\n if (!overlap) {\n scrollDroppable(droppable.descriptor.id, change);\n return null;\n }\n const whatTheDroppableCanScroll = subtract(change, overlap);\n scrollDroppable(droppable.descriptor.id, whatTheDroppableCanScroll);\n const remainder = subtract(change, whatTheDroppableCanScroll);\n return remainder;\n };\n const scrollWindowAsMuchAsItCan = (isWindowScrollAllowed, viewport, change) => {\n if (!isWindowScrollAllowed) {\n return change;\n }\n if (!canScrollWindow(viewport, change)) {\n return change;\n }\n const overlap = getWindowOverlap(viewport, change);\n if (!overlap) {\n scrollWindow(change);\n return null;\n }\n const whatTheWindowCanScroll = subtract(change, overlap);\n scrollWindow(whatTheWindowCanScroll);\n const remainder = subtract(change, whatTheWindowCanScroll);\n return remainder;\n };\n const jumpScroller = state => {\n const request = state.scrollJumpRequest;\n if (!request) {\n return;\n }\n const destination = whatIsDraggedOver(state.impact);\n !destination ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot perform a jump scroll when there is no destination') : invariant(false) : void 0;\n const droppableRemainder = scrollDroppableAsMuchAsItCan(state.dimensions.droppables[destination], request);\n if (!droppableRemainder) {\n return;\n }\n const viewport = state.viewport;\n const windowRemainder = scrollWindowAsMuchAsItCan(state.isWindowScrollAllowed, viewport, droppableRemainder);\n if (!windowRemainder) {\n return;\n }\n moveByOffset(state, windowRemainder);\n };\n return jumpScroller;\n});\n\nvar createAutoScroller = (_ref => {\n let {\n scrollDroppable,\n scrollWindow,\n move,\n getAutoScrollerOptions\n } = _ref;\n const fluidScroller = createFluidScroller({\n scrollWindow,\n scrollDroppable,\n getAutoScrollerOptions\n });\n const jumpScroll = createJumpScroller({\n move,\n scrollWindow,\n scrollDroppable\n });\n const scroll = state => {\n const autoScrollerOptions = getAutoScrollerOptions();\n if (autoScrollerOptions.disabled || state.phase !== 'DRAGGING') {\n return;\n }\n if (state.movementMode === 'FLUID') {\n fluidScroller.scroll(state);\n return;\n }\n if (!state.scrollJumpRequest) {\n return;\n }\n jumpScroll(state);\n };\n const scroller = {\n scroll,\n start: fluidScroller.start,\n stop: fluidScroller.stop\n };\n return scroller;\n});\n\nconst prefix = 'data-rfd';\nconst dragHandle = (() => {\n const base = `${prefix}-drag-handle`;\n return {\n base,\n draggableId: `${base}-draggable-id`,\n contextId: `${base}-context-id`\n };\n})();\nconst draggable = (() => {\n const base = `${prefix}-draggable`;\n return {\n base,\n contextId: `${base}-context-id`,\n id: `${base}-id`\n };\n})();\nconst droppable = (() => {\n const base = `${prefix}-droppable`;\n return {\n base,\n contextId: `${base}-context-id`,\n id: `${base}-id`\n };\n})();\nconst scrollContainer = {\n contextId: `${prefix}-scroll-container-context-id`\n};\n\nconst makeGetSelector = context => attribute => `[${attribute}=\"${context}\"]`;\nconst getStyles = (rules, property) => rules.map(rule => {\n const value = rule.styles[property];\n if (!value) {\n return '';\n }\n return `${rule.selector} { ${value} }`;\n}).join(' ');\nconst noPointerEvents = 'pointer-events: none;';\nvar getStyles$1 = (contextId => {\n const getSelector = makeGetSelector(contextId);\n const dragHandle$1 = (() => {\n const grabCursor = `\n cursor: -webkit-grab;\n cursor: grab;\n `;\n return {\n selector: getSelector(dragHandle.contextId),\n styles: {\n always: `\n -webkit-touch-callout: none;\n -webkit-tap-highlight-color: rgba(0,0,0,0);\n touch-action: manipulation;\n `,\n resting: grabCursor,\n dragging: noPointerEvents,\n dropAnimating: grabCursor\n }\n };\n })();\n const draggable$1 = (() => {\n const transition = `\n transition: ${transitions.outOfTheWay};\n `;\n return {\n selector: getSelector(draggable.contextId),\n styles: {\n dragging: transition,\n dropAnimating: transition,\n userCancel: transition\n }\n };\n })();\n const droppable$1 = {\n selector: getSelector(droppable.contextId),\n styles: {\n always: `overflow-anchor: none;`\n }\n };\n const body = {\n selector: 'body',\n styles: {\n dragging: `\n cursor: grabbing;\n cursor: -webkit-grabbing;\n user-select: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n overflow-anchor: none;\n `\n }\n };\n const rules = [draggable$1, dragHandle$1, droppable$1, body];\n return {\n always: getStyles(rules, 'always'),\n resting: getStyles(rules, 'resting'),\n dragging: getStyles(rules, 'dragging'),\n dropAnimating: getStyles(rules, 'dropAnimating'),\n userCancel: getStyles(rules, 'userCancel')\n };\n});\n\nconst useIsomorphicLayoutEffect = typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined' ? useLayoutEffect$1 : useEffect;\nvar useLayoutEffect = useIsomorphicLayoutEffect;\n\nconst getHead = () => {\n const head = document.querySelector('head');\n !head ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot find the head to append a style to') : invariant(false) : void 0;\n return head;\n};\nconst createStyleEl = nonce => {\n const el = document.createElement('style');\n if (nonce) {\n el.setAttribute('nonce', nonce);\n }\n el.type = 'text/css';\n return el;\n};\nfunction useStyleMarshal(contextId, nonce) {\n const styles = useMemo(() => getStyles$1(contextId), [contextId]);\n const alwaysRef = useRef(null);\n const dynamicRef = useRef(null);\n const setDynamicStyle = useCallback(memoizeOne(proposed => {\n const el = dynamicRef.current;\n !el ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot set dynamic style element if it is not set') : invariant(false) : void 0;\n el.textContent = proposed;\n }), []);\n const setAlwaysStyle = useCallback(proposed => {\n const el = alwaysRef.current;\n !el ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot set dynamic style element if it is not set') : invariant(false) : void 0;\n el.textContent = proposed;\n }, []);\n useLayoutEffect(() => {\n !(!alwaysRef.current && !dynamicRef.current) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'style elements already mounted') : invariant(false) : void 0;\n const always = createStyleEl(nonce);\n const dynamic = createStyleEl(nonce);\n alwaysRef.current = always;\n dynamicRef.current = dynamic;\n always.setAttribute(`${prefix}-always`, contextId);\n dynamic.setAttribute(`${prefix}-dynamic`, contextId);\n getHead().appendChild(always);\n getHead().appendChild(dynamic);\n setAlwaysStyle(styles.always);\n setDynamicStyle(styles.resting);\n return () => {\n const remove = ref => {\n const current = ref.current;\n !current ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot unmount ref as it is not set') : invariant(false) : void 0;\n getHead().removeChild(current);\n ref.current = null;\n };\n remove(alwaysRef);\n remove(dynamicRef);\n };\n }, [nonce, setAlwaysStyle, setDynamicStyle, styles.always, styles.resting, contextId]);\n const dragging = useCallback(() => setDynamicStyle(styles.dragging), [setDynamicStyle, styles.dragging]);\n const dropping = useCallback(reason => {\n if (reason === 'DROP') {\n setDynamicStyle(styles.dropAnimating);\n return;\n }\n setDynamicStyle(styles.userCancel);\n }, [setDynamicStyle, styles.dropAnimating, styles.userCancel]);\n const resting = useCallback(() => {\n if (!dynamicRef.current) {\n return;\n }\n setDynamicStyle(styles.resting);\n }, [setDynamicStyle, styles.resting]);\n const marshal = useMemo(() => ({\n dragging,\n dropping,\n resting\n }), [dragging, dropping, resting]);\n return marshal;\n}\n\nfunction querySelectorAll(parentNode, selector) {\n return Array.from(parentNode.querySelectorAll(selector));\n}\n\nvar getWindowFromEl = (el => el?.ownerDocument?.defaultView || window);\n\nfunction isHtmlElement(el) {\n return el instanceof getWindowFromEl(el).HTMLElement;\n}\n\nfunction findDragHandle(contextId, draggableId) {\n const selector = `[${dragHandle.contextId}=\"${contextId}\"]`;\n const possible = querySelectorAll(document, selector);\n if (!possible.length) {\n process.env.NODE_ENV !== \"production\" ? warning(`Unable to find any drag handles in the context \"${contextId}\"`) : void 0;\n return null;\n }\n const handle = possible.find(el => {\n return el.getAttribute(dragHandle.draggableId) === draggableId;\n });\n if (!handle) {\n process.env.NODE_ENV !== \"production\" ? warning(`Unable to find drag handle with id \"${draggableId}\" as no handle with a matching id was found`) : void 0;\n return null;\n }\n if (!isHtmlElement(handle)) {\n process.env.NODE_ENV !== \"production\" ? warning('drag handle needs to be a HTMLElement') : void 0;\n return null;\n }\n return handle;\n}\n\nfunction useFocusMarshal(contextId) {\n const entriesRef = useRef({});\n const recordRef = useRef(null);\n const restoreFocusFrameRef = useRef(null);\n const isMountedRef = useRef(false);\n const register = useCallback(function register(id, focus) {\n const entry = {\n id,\n focus\n };\n entriesRef.current[id] = entry;\n return function unregister() {\n const entries = entriesRef.current;\n const current = entries[id];\n if (current !== entry) {\n delete entries[id];\n }\n };\n }, []);\n const tryGiveFocus = useCallback(function tryGiveFocus(tryGiveFocusTo) {\n const handle = findDragHandle(contextId, tryGiveFocusTo);\n if (handle && handle !== document.activeElement) {\n handle.focus();\n }\n }, [contextId]);\n const tryShiftRecord = useCallback(function tryShiftRecord(previous, redirectTo) {\n if (recordRef.current === previous) {\n recordRef.current = redirectTo;\n }\n }, []);\n const tryRestoreFocusRecorded = useCallback(function tryRestoreFocusRecorded() {\n if (restoreFocusFrameRef.current) {\n return;\n }\n if (!isMountedRef.current) {\n return;\n }\n restoreFocusFrameRef.current = requestAnimationFrame(() => {\n restoreFocusFrameRef.current = null;\n const record = recordRef.current;\n if (record) {\n tryGiveFocus(record);\n }\n });\n }, [tryGiveFocus]);\n const tryRecordFocus = useCallback(function tryRecordFocus(id) {\n recordRef.current = null;\n const focused = document.activeElement;\n if (!focused) {\n return;\n }\n if (focused.getAttribute(dragHandle.draggableId) !== id) {\n return;\n }\n recordRef.current = id;\n }, []);\n useLayoutEffect(() => {\n isMountedRef.current = true;\n return function clearFrameOnUnmount() {\n isMountedRef.current = false;\n const frameId = restoreFocusFrameRef.current;\n if (frameId) {\n cancelAnimationFrame(frameId);\n }\n };\n }, []);\n const marshal = useMemo(() => ({\n register,\n tryRecordFocus,\n tryRestoreFocusRecorded,\n tryShiftRecord\n }), [register, tryRecordFocus, tryRestoreFocusRecorded, tryShiftRecord]);\n return marshal;\n}\n\nfunction createRegistry() {\n const entries = {\n draggables: {},\n droppables: {}\n };\n const subscribers = [];\n function subscribe(cb) {\n subscribers.push(cb);\n return function unsubscribe() {\n const index = subscribers.indexOf(cb);\n if (index === -1) {\n return;\n }\n subscribers.splice(index, 1);\n };\n }\n function notify(event) {\n if (subscribers.length) {\n subscribers.forEach(cb => cb(event));\n }\n }\n function findDraggableById(id) {\n return entries.draggables[id] || null;\n }\n function getDraggableById(id) {\n const entry = findDraggableById(id);\n !entry ? process.env.NODE_ENV !== \"production\" ? invariant(false, `Cannot find draggable entry with id [${id}]`) : invariant(false) : void 0;\n return entry;\n }\n const draggableAPI = {\n register: entry => {\n entries.draggables[entry.descriptor.id] = entry;\n notify({\n type: 'ADDITION',\n value: entry\n });\n },\n update: (entry, last) => {\n const current = entries.draggables[last.descriptor.id];\n if (!current) {\n return;\n }\n if (current.uniqueId !== entry.uniqueId) {\n return;\n }\n delete entries.draggables[last.descriptor.id];\n entries.draggables[entry.descriptor.id] = entry;\n },\n unregister: entry => {\n const draggableId = entry.descriptor.id;\n const current = findDraggableById(draggableId);\n if (!current) {\n return;\n }\n if (entry.uniqueId !== current.uniqueId) {\n return;\n }\n delete entries.draggables[draggableId];\n if (entries.droppables[entry.descriptor.droppableId]) {\n notify({\n type: 'REMOVAL',\n value: entry\n });\n }\n },\n getById: getDraggableById,\n findById: findDraggableById,\n exists: id => Boolean(findDraggableById(id)),\n getAllByType: type => Object.values(entries.draggables).filter(entry => entry.descriptor.type === type)\n };\n function findDroppableById(id) {\n return entries.droppables[id] || null;\n }\n function getDroppableById(id) {\n const entry = findDroppableById(id);\n !entry ? process.env.NODE_ENV !== \"production\" ? invariant(false, `Cannot find droppable entry with id [${id}]`) : invariant(false) : void 0;\n return entry;\n }\n const droppableAPI = {\n register: entry => {\n entries.droppables[entry.descriptor.id] = entry;\n },\n unregister: entry => {\n const current = findDroppableById(entry.descriptor.id);\n if (!current) {\n return;\n }\n if (entry.uniqueId !== current.uniqueId) {\n return;\n }\n delete entries.droppables[entry.descriptor.id];\n },\n getById: getDroppableById,\n findById: findDroppableById,\n exists: id => Boolean(findDroppableById(id)),\n getAllByType: type => Object.values(entries.droppables).filter(entry => entry.descriptor.type === type)\n };\n function clean() {\n entries.draggables = {};\n entries.droppables = {};\n subscribers.length = 0;\n }\n return {\n draggable: draggableAPI,\n droppable: droppableAPI,\n subscribe,\n clean\n };\n}\n\nfunction useRegistry() {\n const registry = useMemo(createRegistry, []);\n useEffect(() => {\n return function unmount() {\n if (React.version.startsWith('16') || React.version.startsWith('17')) {\n requestAnimationFrame(registry.clean);\n } else {\n registry.clean();\n }\n };\n }, [registry]);\n return registry;\n}\n\nvar StoreContext = React.createContext(null);\n\nvar getBodyElement = (() => {\n const body = document.body;\n !body ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot find document.body') : invariant(false) : void 0;\n return body;\n});\n\nconst visuallyHidden = {\n position: 'absolute',\n width: '1px',\n height: '1px',\n margin: '-1px',\n border: '0',\n padding: '0',\n overflow: 'hidden',\n clip: 'rect(0 0 0 0)',\n 'clip-path': 'inset(100%)'\n};\nvar visuallyHidden$1 = visuallyHidden;\n\nconst getId = contextId => `rfd-announcement-${contextId}`;\nfunction useAnnouncer(contextId) {\n const id = useMemo(() => getId(contextId), [contextId]);\n const ref = useRef(null);\n useEffect(function setup() {\n const el = document.createElement('div');\n ref.current = el;\n el.id = id;\n el.setAttribute('aria-live', 'assertive');\n el.setAttribute('aria-atomic', 'true');\n _extends(el.style, visuallyHidden$1);\n getBodyElement().appendChild(el);\n return function cleanup() {\n setTimeout(function remove() {\n const body = getBodyElement();\n if (body.contains(el)) {\n body.removeChild(el);\n }\n if (el === ref.current) {\n ref.current = null;\n }\n });\n };\n }, [id]);\n const announce = useCallback(message => {\n const el = ref.current;\n if (el) {\n el.textContent = message;\n return;\n }\n process.env.NODE_ENV !== \"production\" ? warning(`\n A screen reader message was trying to be announced but it was unable to do so.\n This can occur if you unmount your in your onDragEnd.\n Consider calling provided.announce() before the unmount so that the instruction will\n not be lost for users relying on a screen reader.\n\n Message not passed to screen reader:\n\n \"${message}\"\n `) : void 0;\n }, []);\n return announce;\n}\n\nlet count$1 = 0;\nconst defaults = {\n separator: '::'\n};\nfunction resetDeprecatedUniqueId() {\n count$1 = 0;\n}\nfunction useDeprecatedUniqueId(prefix, options) {\n if (options === void 0) {\n options = defaults;\n }\n return useMemo(() => `${prefix}${options.separator}${count$1++}`, [options.separator, prefix]);\n}\nfunction useUniqueId(prefix, options) {\n if (options === void 0) {\n options = defaults;\n }\n const id = React.useId();\n return useMemo(() => `${prefix}${options.separator}${id}`, [options.separator, prefix, id]);\n}\nvar useUniqueId$1 = 'useId' in React ? useUniqueId : useDeprecatedUniqueId;\n\nfunction getElementId(_ref) {\n let {\n contextId,\n uniqueId\n } = _ref;\n return `rfd-hidden-text-${contextId}-${uniqueId}`;\n}\nfunction useHiddenTextElement(_ref2) {\n let {\n contextId,\n text\n } = _ref2;\n const uniqueId = useUniqueId$1('hidden-text', {\n separator: '-'\n });\n const id = useMemo(() => getElementId({\n contextId,\n uniqueId\n }), [uniqueId, contextId]);\n useEffect(function mount() {\n const el = document.createElement('div');\n el.id = id;\n el.textContent = text;\n el.style.display = 'none';\n getBodyElement().appendChild(el);\n return function unmount() {\n const body = getBodyElement();\n if (body.contains(el)) {\n body.removeChild(el);\n }\n };\n }, [id, text]);\n return id;\n}\n\nvar AppContext = React.createContext(null);\n\nvar peerDependencies = {\n\treact: \"^16.8.5 || ^17.0.0 || ^18.0.0\",\n\t\"react-dom\": \"^16.8.5 || ^17.0.0 || ^18.0.0\"\n};\n\nconst semver = /(\\d+)\\.(\\d+)\\.(\\d+)/;\nconst getVersion = value => {\n const result = semver.exec(value);\n !(result != null) ? process.env.NODE_ENV !== \"production\" ? invariant(false, `Unable to parse React version ${value}`) : invariant(false) : void 0;\n const major = Number(result[1]);\n const minor = Number(result[2]);\n const patch = Number(result[3]);\n return {\n major,\n minor,\n patch,\n raw: value\n };\n};\nconst isSatisfied = (expected, actual) => {\n if (actual.major > expected.major) {\n return true;\n }\n if (actual.major < expected.major) {\n return false;\n }\n if (actual.minor > expected.minor) {\n return true;\n }\n if (actual.minor < expected.minor) {\n return false;\n }\n return actual.patch >= expected.patch;\n};\nvar checkReactVersion = ((peerDepValue, actualValue) => {\n const peerDep = getVersion(peerDepValue);\n const actual = getVersion(actualValue);\n if (isSatisfied(peerDep, actual)) {\n return;\n }\n process.env.NODE_ENV !== \"production\" ? warning(`\n React version: [${actual.raw}]\n does not satisfy expected peer dependency version: [${peerDep.raw}]\n\n This can result in run time bugs, and even fatal crashes\n `) : void 0;\n});\n\nconst suffix = `\n We expect a html5 doctype: \n This is to ensure consistent browser layout and measurement\n\n More information: https://github.com/hello-pangea/dnd/blob/main/docs/guides/doctype.md\n`;\nvar checkDoctype = (doc => {\n const doctype = doc.doctype;\n if (!doctype) {\n process.env.NODE_ENV !== \"production\" ? warning(`\n No found.\n\n ${suffix}\n `) : void 0;\n return;\n }\n if (doctype.name.toLowerCase() !== 'html') {\n process.env.NODE_ENV !== \"production\" ? warning(`\n Unexpected found: (${doctype.name})\n\n ${suffix}\n `) : void 0;\n }\n if (doctype.publicId !== '') {\n process.env.NODE_ENV !== \"production\" ? warning(`\n Unexpected publicId found: (${doctype.publicId})\n A html5 doctype does not have a publicId\n\n ${suffix}\n `) : void 0;\n }\n});\n\nfunction useDev(useHook) {\n if (process.env.NODE_ENV !== 'production') {\n useHook();\n }\n}\n\nfunction useDevSetupWarning(fn, inputs) {\n useDev(() => {\n useEffect(() => {\n try {\n fn();\n } catch (e) {\n error(`\n A setup problem was encountered.\n\n > ${e.message}\n `);\n }\n }, inputs);\n });\n}\n\nfunction useStartupValidation() {\n useDevSetupWarning(() => {\n checkReactVersion(peerDependencies.react, React.version);\n checkDoctype(document);\n }, []);\n}\n\nfunction usePrevious(current) {\n const ref = useRef(current);\n useEffect(() => {\n ref.current = current;\n });\n return ref;\n}\n\nfunction create() {\n let lock = null;\n function isClaimed() {\n return Boolean(lock);\n }\n function isActive(value) {\n return value === lock;\n }\n function claim(abandon) {\n !!lock ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot claim lock as it is already claimed') : invariant(false) : void 0;\n const newLock = {\n abandon\n };\n lock = newLock;\n return newLock;\n }\n function release() {\n !lock ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot release lock when there is no lock') : invariant(false) : void 0;\n lock = null;\n }\n function tryAbandon() {\n if (lock) {\n lock.abandon();\n release();\n }\n }\n return {\n isClaimed,\n isActive,\n claim,\n release,\n tryAbandon\n };\n}\n\nfunction isDragging(state) {\n if (state.phase === 'IDLE' || state.phase === 'DROP_ANIMATING') {\n return false;\n }\n return state.isDragging;\n}\n\nconst tab = 9;\nconst enter = 13;\nconst escape = 27;\nconst space = 32;\nconst pageUp = 33;\nconst pageDown = 34;\nconst end = 35;\nconst home = 36;\nconst arrowLeft = 37;\nconst arrowUp = 38;\nconst arrowRight = 39;\nconst arrowDown = 40;\n\nconst preventedKeys = {\n [enter]: true,\n [tab]: true\n};\nvar preventStandardKeyEvents = (event => {\n if (preventedKeys[event.keyCode]) {\n event.preventDefault();\n }\n});\n\nconst supportedEventName = (() => {\n const base = 'visibilitychange';\n if (typeof document === 'undefined') {\n return base;\n }\n const candidates = [base, `ms${base}`, `webkit${base}`, `moz${base}`, `o${base}`];\n const supported = candidates.find(eventName => `on${eventName}` in document);\n return supported || base;\n})();\nvar supportedPageVisibilityEventName = supportedEventName;\n\nconst primaryButton = 0;\nconst sloppyClickThreshold = 5;\nfunction isSloppyClickThresholdExceeded(original, current) {\n return Math.abs(current.x - original.x) >= sloppyClickThreshold || Math.abs(current.y - original.y) >= sloppyClickThreshold;\n}\nconst idle$1 = {\n type: 'IDLE'\n};\nfunction getCaptureBindings(_ref) {\n let {\n cancel,\n completed,\n getPhase,\n setPhase\n } = _ref;\n return [{\n eventName: 'mousemove',\n fn: event => {\n const {\n button,\n clientX,\n clientY\n } = event;\n if (button !== primaryButton) {\n return;\n }\n const point = {\n x: clientX,\n y: clientY\n };\n const phase = getPhase();\n if (phase.type === 'DRAGGING') {\n event.preventDefault();\n phase.actions.move(point);\n return;\n }\n !(phase.type === 'PENDING') ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot be IDLE') : invariant(false) : void 0;\n const pending = phase.point;\n if (!isSloppyClickThresholdExceeded(pending, point)) {\n return;\n }\n event.preventDefault();\n const actions = phase.actions.fluidLift(point);\n setPhase({\n type: 'DRAGGING',\n actions\n });\n }\n }, {\n eventName: 'mouseup',\n fn: event => {\n const phase = getPhase();\n if (phase.type !== 'DRAGGING') {\n cancel();\n return;\n }\n event.preventDefault();\n phase.actions.drop({\n shouldBlockNextClick: true\n });\n completed();\n }\n }, {\n eventName: 'mousedown',\n fn: event => {\n if (getPhase().type === 'DRAGGING') {\n event.preventDefault();\n }\n cancel();\n }\n }, {\n eventName: 'keydown',\n fn: event => {\n const phase = getPhase();\n if (phase.type === 'PENDING') {\n cancel();\n return;\n }\n if (event.keyCode === escape) {\n event.preventDefault();\n cancel();\n return;\n }\n preventStandardKeyEvents(event);\n }\n }, {\n eventName: 'resize',\n fn: cancel\n }, {\n eventName: 'scroll',\n options: {\n passive: true,\n capture: false\n },\n fn: () => {\n if (getPhase().type === 'PENDING') {\n cancel();\n }\n }\n }, {\n eventName: 'webkitmouseforcedown',\n fn: event => {\n const phase = getPhase();\n !(phase.type !== 'IDLE') ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Unexpected phase') : invariant(false) : void 0;\n if (phase.actions.shouldRespectForcePress()) {\n cancel();\n return;\n }\n event.preventDefault();\n }\n }, {\n eventName: supportedPageVisibilityEventName,\n fn: cancel\n }];\n}\nfunction useMouseSensor(api) {\n const phaseRef = useRef(idle$1);\n const unbindEventsRef = useRef(noop$2);\n const startCaptureBinding = useMemo(() => ({\n eventName: 'mousedown',\n fn: function onMouseDown(event) {\n if (event.defaultPrevented) {\n return;\n }\n if (event.button !== primaryButton) {\n return;\n }\n if (event.ctrlKey || event.metaKey || event.shiftKey || event.altKey) {\n return;\n }\n const draggableId = api.findClosestDraggableId(event);\n if (!draggableId) {\n return;\n }\n const actions = api.tryGetLock(draggableId, stop, {\n sourceEvent: event\n });\n if (!actions) {\n return;\n }\n event.preventDefault();\n const point = {\n x: event.clientX,\n y: event.clientY\n };\n unbindEventsRef.current();\n startPendingDrag(actions, point);\n }\n }), [api]);\n const preventForcePressBinding = useMemo(() => ({\n eventName: 'webkitmouseforcewillbegin',\n fn: event => {\n if (event.defaultPrevented) {\n return;\n }\n const id = api.findClosestDraggableId(event);\n if (!id) {\n return;\n }\n const options = api.findOptionsForDraggable(id);\n if (!options) {\n return;\n }\n if (options.shouldRespectForcePress) {\n return;\n }\n if (!api.canGetLock(id)) {\n return;\n }\n event.preventDefault();\n }\n }), [api]);\n const listenForCapture = useCallback(function listenForCapture() {\n const options = {\n passive: false,\n capture: true\n };\n unbindEventsRef.current = bindEvents(window, [preventForcePressBinding, startCaptureBinding], options);\n }, [preventForcePressBinding, startCaptureBinding]);\n const stop = useCallback(() => {\n const current = phaseRef.current;\n if (current.type === 'IDLE') {\n return;\n }\n phaseRef.current = idle$1;\n unbindEventsRef.current();\n listenForCapture();\n }, [listenForCapture]);\n const cancel = useCallback(() => {\n const phase = phaseRef.current;\n stop();\n if (phase.type === 'DRAGGING') {\n phase.actions.cancel({\n shouldBlockNextClick: true\n });\n }\n if (phase.type === 'PENDING') {\n phase.actions.abort();\n }\n }, [stop]);\n const bindCapturingEvents = useCallback(function bindCapturingEvents() {\n const options = {\n capture: true,\n passive: false\n };\n const bindings = getCaptureBindings({\n cancel,\n completed: stop,\n getPhase: () => phaseRef.current,\n setPhase: phase => {\n phaseRef.current = phase;\n }\n });\n unbindEventsRef.current = bindEvents(window, bindings, options);\n }, [cancel, stop]);\n const startPendingDrag = useCallback(function startPendingDrag(actions, point) {\n !(phaseRef.current.type === 'IDLE') ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Expected to move from IDLE to PENDING drag') : invariant(false) : void 0;\n phaseRef.current = {\n type: 'PENDING',\n point,\n actions\n };\n bindCapturingEvents();\n }, [bindCapturingEvents]);\n useLayoutEffect(function mount() {\n listenForCapture();\n return function unmount() {\n unbindEventsRef.current();\n };\n }, [listenForCapture]);\n}\n\nfunction noop$1() {}\nconst scrollJumpKeys = {\n [pageDown]: true,\n [pageUp]: true,\n [home]: true,\n [end]: true\n};\nfunction getDraggingBindings(actions, stop) {\n function cancel() {\n stop();\n actions.cancel();\n }\n function drop() {\n stop();\n actions.drop();\n }\n return [{\n eventName: 'keydown',\n fn: event => {\n if (event.keyCode === escape) {\n event.preventDefault();\n cancel();\n return;\n }\n if (event.keyCode === space) {\n event.preventDefault();\n drop();\n return;\n }\n if (event.keyCode === arrowDown) {\n event.preventDefault();\n actions.moveDown();\n return;\n }\n if (event.keyCode === arrowUp) {\n event.preventDefault();\n actions.moveUp();\n return;\n }\n if (event.keyCode === arrowRight) {\n event.preventDefault();\n actions.moveRight();\n return;\n }\n if (event.keyCode === arrowLeft) {\n event.preventDefault();\n actions.moveLeft();\n return;\n }\n if (scrollJumpKeys[event.keyCode]) {\n event.preventDefault();\n return;\n }\n preventStandardKeyEvents(event);\n }\n }, {\n eventName: 'mousedown',\n fn: cancel\n }, {\n eventName: 'mouseup',\n fn: cancel\n }, {\n eventName: 'click',\n fn: cancel\n }, {\n eventName: 'touchstart',\n fn: cancel\n }, {\n eventName: 'resize',\n fn: cancel\n }, {\n eventName: 'wheel',\n fn: cancel,\n options: {\n passive: true\n }\n }, {\n eventName: supportedPageVisibilityEventName,\n fn: cancel\n }];\n}\nfunction useKeyboardSensor(api) {\n const unbindEventsRef = useRef(noop$1);\n const startCaptureBinding = useMemo(() => ({\n eventName: 'keydown',\n fn: function onKeyDown(event) {\n if (event.defaultPrevented) {\n return;\n }\n if (event.keyCode !== space) {\n return;\n }\n const draggableId = api.findClosestDraggableId(event);\n if (!draggableId) {\n return;\n }\n const preDrag = api.tryGetLock(draggableId, stop, {\n sourceEvent: event\n });\n if (!preDrag) {\n return;\n }\n event.preventDefault();\n let isCapturing = true;\n const actions = preDrag.snapLift();\n unbindEventsRef.current();\n function stop() {\n !isCapturing ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot stop capturing a keyboard drag when not capturing') : invariant(false) : void 0;\n isCapturing = false;\n unbindEventsRef.current();\n listenForCapture();\n }\n unbindEventsRef.current = bindEvents(window, getDraggingBindings(actions, stop), {\n capture: true,\n passive: false\n });\n }\n }), [api]);\n const listenForCapture = useCallback(function tryStartCapture() {\n const options = {\n passive: false,\n capture: true\n };\n unbindEventsRef.current = bindEvents(window, [startCaptureBinding], options);\n }, [startCaptureBinding]);\n useLayoutEffect(function mount() {\n listenForCapture();\n return function unmount() {\n unbindEventsRef.current();\n };\n }, [listenForCapture]);\n}\n\nconst idle = {\n type: 'IDLE'\n};\nconst timeForLongPress = 120;\nconst forcePressThreshold = 0.15;\nfunction getWindowBindings(_ref) {\n let {\n cancel,\n getPhase\n } = _ref;\n return [{\n eventName: 'orientationchange',\n fn: cancel\n }, {\n eventName: 'resize',\n fn: cancel\n }, {\n eventName: 'contextmenu',\n fn: event => {\n event.preventDefault();\n }\n }, {\n eventName: 'keydown',\n fn: event => {\n if (getPhase().type !== 'DRAGGING') {\n cancel();\n return;\n }\n if (event.keyCode === escape) {\n event.preventDefault();\n }\n cancel();\n }\n }, {\n eventName: supportedPageVisibilityEventName,\n fn: cancel\n }];\n}\nfunction getHandleBindings(_ref2) {\n let {\n cancel,\n completed,\n getPhase\n } = _ref2;\n return [{\n eventName: 'touchmove',\n options: {\n capture: false\n },\n fn: event => {\n const phase = getPhase();\n if (phase.type !== 'DRAGGING') {\n cancel();\n return;\n }\n phase.hasMoved = true;\n const {\n clientX,\n clientY\n } = event.touches[0];\n const point = {\n x: clientX,\n y: clientY\n };\n event.preventDefault();\n phase.actions.move(point);\n }\n }, {\n eventName: 'touchend',\n fn: event => {\n const phase = getPhase();\n if (phase.type !== 'DRAGGING') {\n cancel();\n return;\n }\n event.preventDefault();\n phase.actions.drop({\n shouldBlockNextClick: true\n });\n completed();\n }\n }, {\n eventName: 'touchcancel',\n fn: event => {\n if (getPhase().type !== 'DRAGGING') {\n cancel();\n return;\n }\n event.preventDefault();\n cancel();\n }\n }, {\n eventName: 'touchforcechange',\n fn: event => {\n const phase = getPhase();\n !(phase.type !== 'IDLE') ? process.env.NODE_ENV !== \"production\" ? invariant(false) : invariant(false) : void 0;\n const touch = event.touches[0];\n if (!touch) {\n return;\n }\n const isForcePress = touch.force >= forcePressThreshold;\n if (!isForcePress) {\n return;\n }\n const shouldRespect = phase.actions.shouldRespectForcePress();\n if (phase.type === 'PENDING') {\n if (shouldRespect) {\n cancel();\n }\n return;\n }\n if (shouldRespect) {\n if (phase.hasMoved) {\n event.preventDefault();\n return;\n }\n cancel();\n return;\n }\n event.preventDefault();\n }\n }, {\n eventName: supportedPageVisibilityEventName,\n fn: cancel\n }];\n}\nfunction useTouchSensor(api) {\n const phaseRef = useRef(idle);\n const unbindEventsRef = useRef(noop$2);\n const getPhase = useCallback(function getPhase() {\n return phaseRef.current;\n }, []);\n const setPhase = useCallback(function setPhase(phase) {\n phaseRef.current = phase;\n }, []);\n const startCaptureBinding = useMemo(() => ({\n eventName: 'touchstart',\n fn: function onTouchStart(event) {\n if (event.defaultPrevented) {\n return;\n }\n const draggableId = api.findClosestDraggableId(event);\n if (!draggableId) {\n return;\n }\n const actions = api.tryGetLock(draggableId, stop, {\n sourceEvent: event\n });\n if (!actions) {\n return;\n }\n const touch = event.touches[0];\n const {\n clientX,\n clientY\n } = touch;\n const point = {\n x: clientX,\n y: clientY\n };\n unbindEventsRef.current();\n startPendingDrag(actions, point);\n }\n }), [api]);\n const listenForCapture = useCallback(function listenForCapture() {\n const options = {\n capture: true,\n passive: false\n };\n unbindEventsRef.current = bindEvents(window, [startCaptureBinding], options);\n }, [startCaptureBinding]);\n const stop = useCallback(() => {\n const current = phaseRef.current;\n if (current.type === 'IDLE') {\n return;\n }\n if (current.type === 'PENDING') {\n clearTimeout(current.longPressTimerId);\n }\n setPhase(idle);\n unbindEventsRef.current();\n listenForCapture();\n }, [listenForCapture, setPhase]);\n const cancel = useCallback(() => {\n const phase = phaseRef.current;\n stop();\n if (phase.type === 'DRAGGING') {\n phase.actions.cancel({\n shouldBlockNextClick: true\n });\n }\n if (phase.type === 'PENDING') {\n phase.actions.abort();\n }\n }, [stop]);\n const bindCapturingEvents = useCallback(function bindCapturingEvents() {\n const options = {\n capture: true,\n passive: false\n };\n const args = {\n cancel,\n completed: stop,\n getPhase\n };\n const unbindTarget = bindEvents(window, getHandleBindings(args), options);\n const unbindWindow = bindEvents(window, getWindowBindings(args), options);\n unbindEventsRef.current = function unbindAll() {\n unbindTarget();\n unbindWindow();\n };\n }, [cancel, getPhase, stop]);\n const startDragging = useCallback(function startDragging() {\n const phase = getPhase();\n !(phase.type === 'PENDING') ? process.env.NODE_ENV !== \"production\" ? invariant(false, `Cannot start dragging from phase ${phase.type}`) : invariant(false) : void 0;\n const actions = phase.actions.fluidLift(phase.point);\n setPhase({\n type: 'DRAGGING',\n actions,\n hasMoved: false\n });\n }, [getPhase, setPhase]);\n const startPendingDrag = useCallback(function startPendingDrag(actions, point) {\n !(getPhase().type === 'IDLE') ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Expected to move from IDLE to PENDING drag') : invariant(false) : void 0;\n const longPressTimerId = setTimeout(startDragging, timeForLongPress);\n setPhase({\n type: 'PENDING',\n point,\n actions,\n longPressTimerId\n });\n bindCapturingEvents();\n }, [bindCapturingEvents, getPhase, setPhase, startDragging]);\n useLayoutEffect(function mount() {\n listenForCapture();\n return function unmount() {\n unbindEventsRef.current();\n const phase = getPhase();\n if (phase.type === 'PENDING') {\n clearTimeout(phase.longPressTimerId);\n setPhase(idle);\n }\n };\n }, [getPhase, listenForCapture, setPhase]);\n useLayoutEffect(function webkitHack() {\n const unbind = bindEvents(window, [{\n eventName: 'touchmove',\n fn: () => {},\n options: {\n capture: false,\n passive: false\n }\n }]);\n return unbind;\n }, []);\n}\n\nfunction useValidateSensorHooks(sensorHooks) {\n useDev(() => {\n const previousRef = usePrevious(sensorHooks);\n useDevSetupWarning(() => {\n !(previousRef.current.length === sensorHooks.length) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot change the amount of sensor hooks after mounting') : invariant(false) : void 0;\n });\n });\n}\n\nconst interactiveTagNames = ['input', 'button', 'textarea', 'select', 'option', 'optgroup', 'video', 'audio'];\nfunction isAnInteractiveElement(parent, current) {\n if (current == null) {\n return false;\n }\n const hasAnInteractiveTag = interactiveTagNames.includes(current.tagName.toLowerCase());\n if (hasAnInteractiveTag) {\n return true;\n }\n const attribute = current.getAttribute('contenteditable');\n if (attribute === 'true' || attribute === '') {\n return true;\n }\n if (current === parent) {\n return false;\n }\n return isAnInteractiveElement(parent, current.parentElement);\n}\nfunction isEventInInteractiveElement(draggable, event) {\n const target = event.target;\n if (!isHtmlElement(target)) {\n return false;\n }\n return isAnInteractiveElement(draggable, target);\n}\n\nvar getBorderBoxCenterPosition = (el => getRect(el.getBoundingClientRect()).center);\n\nfunction isElement(el) {\n return el instanceof getWindowFromEl(el).Element;\n}\n\nconst supportedMatchesName = (() => {\n const base = 'matches';\n if (typeof document === 'undefined') {\n return base;\n }\n const candidates = [base, 'msMatchesSelector', 'webkitMatchesSelector'];\n const value = candidates.find(name => name in Element.prototype);\n return value || base;\n})();\nfunction closestPonyfill(el, selector) {\n if (el == null) {\n return null;\n }\n if (el[supportedMatchesName](selector)) {\n return el;\n }\n return closestPonyfill(el.parentElement, selector);\n}\nfunction closest(el, selector) {\n if (el.closest) {\n return el.closest(selector);\n }\n return closestPonyfill(el, selector);\n}\n\nfunction getSelector(contextId) {\n return `[${dragHandle.contextId}=\"${contextId}\"]`;\n}\nfunction findClosestDragHandleFromEvent(contextId, event) {\n const target = event.target;\n if (!isElement(target)) {\n process.env.NODE_ENV !== \"production\" ? warning('event.target must be a Element') : void 0;\n return null;\n }\n const selector = getSelector(contextId);\n const handle = closest(target, selector);\n if (!handle) {\n return null;\n }\n if (!isHtmlElement(handle)) {\n process.env.NODE_ENV !== \"production\" ? warning('drag handle must be a HTMLElement') : void 0;\n return null;\n }\n return handle;\n}\nfunction tryGetClosestDraggableIdFromEvent(contextId, event) {\n const handle = findClosestDragHandleFromEvent(contextId, event);\n if (!handle) {\n return null;\n }\n return handle.getAttribute(dragHandle.draggableId);\n}\n\nfunction findDraggable(contextId, draggableId) {\n const selector = `[${draggable.contextId}=\"${contextId}\"]`;\n const possible = querySelectorAll(document, selector);\n const draggable$1 = possible.find(el => {\n return el.getAttribute(draggable.id) === draggableId;\n });\n if (!draggable$1) {\n return null;\n }\n if (!isHtmlElement(draggable$1)) {\n process.env.NODE_ENV !== \"production\" ? warning('Draggable element is not a HTMLElement') : void 0;\n return null;\n }\n return draggable$1;\n}\n\nfunction preventDefault(event) {\n event.preventDefault();\n}\nfunction isActive(_ref) {\n let {\n expected,\n phase,\n isLockActive,\n shouldWarn\n } = _ref;\n if (!isLockActive()) {\n if (shouldWarn) {\n process.env.NODE_ENV !== \"production\" ? warning(`\n Cannot perform action.\n The sensor no longer has an action lock.\n\n Tips:\n\n - Throw away your action handlers when forceStop() is called\n - Check actions.isActive() if you really need to\n `) : void 0;\n }\n return false;\n }\n if (expected !== phase) {\n if (shouldWarn) {\n process.env.NODE_ENV !== \"production\" ? warning(`\n Cannot perform action.\n The actions you used belong to an outdated phase\n\n Current phase: ${expected}\n You called an action from outdated phase: ${phase}\n\n Tips:\n\n - Do not use preDragActions actions after calling preDragActions.lift()\n `) : void 0;\n }\n return false;\n }\n return true;\n}\nfunction canStart(_ref2) {\n let {\n lockAPI,\n store,\n registry,\n draggableId\n } = _ref2;\n if (lockAPI.isClaimed()) {\n return false;\n }\n const entry = registry.draggable.findById(draggableId);\n if (!entry) {\n process.env.NODE_ENV !== \"production\" ? warning(`Unable to find draggable with id: ${draggableId}`) : void 0;\n return false;\n }\n if (!entry.options.isEnabled) {\n return false;\n }\n if (!canStartDrag(store.getState(), draggableId)) {\n return false;\n }\n return true;\n}\nfunction tryStart(_ref3) {\n let {\n lockAPI,\n contextId,\n store,\n registry,\n draggableId,\n forceSensorStop,\n sourceEvent\n } = _ref3;\n const shouldStart = canStart({\n lockAPI,\n store,\n registry,\n draggableId\n });\n if (!shouldStart) {\n return null;\n }\n const entry = registry.draggable.getById(draggableId);\n const el = findDraggable(contextId, entry.descriptor.id);\n if (!el) {\n process.env.NODE_ENV !== \"production\" ? warning(`Unable to find draggable element with id: ${draggableId}`) : void 0;\n return null;\n }\n if (sourceEvent && !entry.options.canDragInteractiveElements && isEventInInteractiveElement(el, sourceEvent)) {\n return null;\n }\n const lock = lockAPI.claim(forceSensorStop || noop$2);\n let phase = 'PRE_DRAG';\n function getShouldRespectForcePress() {\n return entry.options.shouldRespectForcePress;\n }\n function isLockActive() {\n return lockAPI.isActive(lock);\n }\n function tryDispatch(expected, getAction) {\n if (isActive({\n expected,\n phase,\n isLockActive,\n shouldWarn: true\n })) {\n store.dispatch(getAction());\n }\n }\n const tryDispatchWhenDragging = tryDispatch.bind(null, 'DRAGGING');\n function lift(args) {\n function completed() {\n lockAPI.release();\n phase = 'COMPLETED';\n }\n if (phase !== 'PRE_DRAG') {\n completed();\n process.env.NODE_ENV !== \"production\" ? invariant(false, `Cannot lift in phase ${phase}`) : invariant(false) ;\n }\n store.dispatch(lift$1(args.liftActionArgs));\n phase = 'DRAGGING';\n function finish(reason, options) {\n if (options === void 0) {\n options = {\n shouldBlockNextClick: false\n };\n }\n args.cleanup();\n if (options.shouldBlockNextClick) {\n const unbind = bindEvents(window, [{\n eventName: 'click',\n fn: preventDefault,\n options: {\n once: true,\n passive: false,\n capture: true\n }\n }]);\n setTimeout(unbind);\n }\n completed();\n store.dispatch(drop$1({\n reason\n }));\n }\n return {\n isActive: () => isActive({\n expected: 'DRAGGING',\n phase,\n isLockActive,\n shouldWarn: false\n }),\n shouldRespectForcePress: getShouldRespectForcePress,\n drop: options => finish('DROP', options),\n cancel: options => finish('CANCEL', options),\n ...args.actions\n };\n }\n function fluidLift(clientSelection) {\n const move$1 = rafSchd(client => {\n tryDispatchWhenDragging(() => move({\n client\n }));\n });\n const api = lift({\n liftActionArgs: {\n id: draggableId,\n clientSelection,\n movementMode: 'FLUID'\n },\n cleanup: () => move$1.cancel(),\n actions: {\n move: move$1\n }\n });\n return {\n ...api,\n move: move$1\n };\n }\n function snapLift() {\n const actions = {\n moveUp: () => tryDispatchWhenDragging(moveUp),\n moveRight: () => tryDispatchWhenDragging(moveRight),\n moveDown: () => tryDispatchWhenDragging(moveDown),\n moveLeft: () => tryDispatchWhenDragging(moveLeft)\n };\n return lift({\n liftActionArgs: {\n id: draggableId,\n clientSelection: getBorderBoxCenterPosition(el),\n movementMode: 'SNAP'\n },\n cleanup: noop$2,\n actions\n });\n }\n function abortPreDrag() {\n const shouldRelease = isActive({\n expected: 'PRE_DRAG',\n phase,\n isLockActive,\n shouldWarn: true\n });\n if (shouldRelease) {\n lockAPI.release();\n }\n }\n const preDrag = {\n isActive: () => isActive({\n expected: 'PRE_DRAG',\n phase,\n isLockActive,\n shouldWarn: false\n }),\n shouldRespectForcePress: getShouldRespectForcePress,\n fluidLift,\n snapLift,\n abort: abortPreDrag\n };\n return preDrag;\n}\nconst defaultSensors = [useMouseSensor, useKeyboardSensor, useTouchSensor];\nfunction useSensorMarshal(_ref4) {\n let {\n contextId,\n store,\n registry,\n customSensors,\n enableDefaultSensors\n } = _ref4;\n const useSensors = [...(enableDefaultSensors ? defaultSensors : []), ...(customSensors || [])];\n const lockAPI = useState(() => create())[0];\n const tryAbandonLock = useCallback(function tryAbandonLock(previous, current) {\n if (isDragging(previous) && !isDragging(current)) {\n lockAPI.tryAbandon();\n }\n }, [lockAPI]);\n useLayoutEffect(function listenToStore() {\n let previous = store.getState();\n const unsubscribe = store.subscribe(() => {\n const current = store.getState();\n tryAbandonLock(previous, current);\n previous = current;\n });\n return unsubscribe;\n }, [lockAPI, store, tryAbandonLock]);\n useLayoutEffect(() => {\n return lockAPI.tryAbandon;\n }, [lockAPI.tryAbandon]);\n const canGetLock = useCallback(draggableId => {\n return canStart({\n lockAPI,\n registry,\n store,\n draggableId\n });\n }, [lockAPI, registry, store]);\n const tryGetLock = useCallback((draggableId, forceStop, options) => tryStart({\n lockAPI,\n registry,\n contextId,\n store,\n draggableId,\n forceSensorStop: forceStop || null,\n sourceEvent: options && options.sourceEvent ? options.sourceEvent : null\n }), [contextId, lockAPI, registry, store]);\n const findClosestDraggableId = useCallback(event => tryGetClosestDraggableIdFromEvent(contextId, event), [contextId]);\n const findOptionsForDraggable = useCallback(id => {\n const entry = registry.draggable.findById(id);\n return entry ? entry.options : null;\n }, [registry.draggable]);\n const tryReleaseLock = useCallback(function tryReleaseLock() {\n if (!lockAPI.isClaimed()) {\n return;\n }\n lockAPI.tryAbandon();\n if (store.getState().phase !== 'IDLE') {\n store.dispatch(flush());\n }\n }, [lockAPI, store]);\n const isLockClaimed = useCallback(() => lockAPI.isClaimed(), [lockAPI]);\n const api = useMemo(() => ({\n canGetLock,\n tryGetLock,\n findClosestDraggableId,\n findOptionsForDraggable,\n tryReleaseLock,\n isLockClaimed\n }), [canGetLock, tryGetLock, findClosestDraggableId, findOptionsForDraggable, tryReleaseLock, isLockClaimed]);\n useValidateSensorHooks(useSensors);\n for (let i = 0; i < useSensors.length; i++) {\n useSensors[i](api);\n }\n}\n\nconst createResponders = props => ({\n onBeforeCapture: t => {\n const onBeforeCapureCallback = () => {\n if (props.onBeforeCapture) {\n props.onBeforeCapture(t);\n }\n };\n if (React.version.startsWith('16') || React.version.startsWith('17')) {\n onBeforeCapureCallback();\n } else {\n flushSync(onBeforeCapureCallback);\n }\n },\n onBeforeDragStart: props.onBeforeDragStart,\n onDragStart: props.onDragStart,\n onDragEnd: props.onDragEnd,\n onDragUpdate: props.onDragUpdate\n});\nconst createAutoScrollerOptions = props => ({\n ...defaultAutoScrollerOptions,\n ...props.autoScrollerOptions,\n durationDampening: {\n ...defaultAutoScrollerOptions.durationDampening,\n ...props.autoScrollerOptions\n }\n});\nfunction getStore(lazyRef) {\n !lazyRef.current ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Could not find store from lazy ref') : invariant(false) : void 0;\n return lazyRef.current;\n}\nfunction App(props) {\n const {\n contextId,\n setCallbacks,\n sensors,\n nonce,\n dragHandleUsageInstructions\n } = props;\n const lazyStoreRef = useRef(null);\n useStartupValidation();\n const lastPropsRef = usePrevious(props);\n const getResponders = useCallback(() => {\n return createResponders(lastPropsRef.current);\n }, [lastPropsRef]);\n const getAutoScrollerOptions = useCallback(() => {\n return createAutoScrollerOptions(lastPropsRef.current);\n }, [lastPropsRef]);\n const announce = useAnnouncer(contextId);\n const dragHandleUsageInstructionsId = useHiddenTextElement({\n contextId,\n text: dragHandleUsageInstructions\n });\n const styleMarshal = useStyleMarshal(contextId, nonce);\n const lazyDispatch = useCallback(action => {\n getStore(lazyStoreRef).dispatch(action);\n }, []);\n const marshalCallbacks = useMemo(() => bindActionCreators({\n publishWhileDragging,\n updateDroppableScroll,\n updateDroppableIsEnabled,\n updateDroppableIsCombineEnabled,\n collectionStarting\n }, lazyDispatch), [lazyDispatch]);\n const registry = useRegistry();\n const dimensionMarshal = useMemo(() => {\n return createDimensionMarshal(registry, marshalCallbacks);\n }, [registry, marshalCallbacks]);\n const autoScroller = useMemo(() => createAutoScroller({\n scrollWindow,\n scrollDroppable: dimensionMarshal.scrollDroppable,\n getAutoScrollerOptions,\n ...bindActionCreators({\n move\n }, lazyDispatch)\n }), [dimensionMarshal.scrollDroppable, lazyDispatch, getAutoScrollerOptions]);\n const focusMarshal = useFocusMarshal(contextId);\n const store = useMemo(() => createStore({\n announce,\n autoScroller,\n dimensionMarshal,\n focusMarshal,\n getResponders,\n styleMarshal\n }), [announce, autoScroller, dimensionMarshal, focusMarshal, getResponders, styleMarshal]);\n if (process.env.NODE_ENV !== 'production') {\n if (lazyStoreRef.current && lazyStoreRef.current !== store) {\n process.env.NODE_ENV !== \"production\" ? warning('unexpected store change') : void 0;\n }\n }\n lazyStoreRef.current = store;\n const tryResetStore = useCallback(() => {\n const current = getStore(lazyStoreRef);\n const state = current.getState();\n if (state.phase !== 'IDLE') {\n current.dispatch(flush());\n }\n }, []);\n const isDragging = useCallback(() => {\n const state = getStore(lazyStoreRef).getState();\n if (state.phase === 'DROP_ANIMATING') {\n return true;\n }\n if (state.phase === 'IDLE') {\n return false;\n }\n return state.isDragging;\n }, []);\n const appCallbacks = useMemo(() => ({\n isDragging,\n tryAbort: tryResetStore\n }), [isDragging, tryResetStore]);\n setCallbacks(appCallbacks);\n const getCanLift = useCallback(id => canStartDrag(getStore(lazyStoreRef).getState(), id), []);\n const getIsMovementAllowed = useCallback(() => isMovementAllowed(getStore(lazyStoreRef).getState()), []);\n const appContext = useMemo(() => ({\n marshal: dimensionMarshal,\n focus: focusMarshal,\n contextId,\n canLift: getCanLift,\n isMovementAllowed: getIsMovementAllowed,\n dragHandleUsageInstructionsId,\n registry\n }), [contextId, dimensionMarshal, dragHandleUsageInstructionsId, focusMarshal, getCanLift, getIsMovementAllowed, registry]);\n useSensorMarshal({\n contextId,\n store,\n registry,\n customSensors: sensors || null,\n enableDefaultSensors: props.enableDefaultSensors !== false\n });\n useEffect(() => {\n return tryResetStore;\n }, [tryResetStore]);\n return React.createElement(AppContext.Provider, {\n value: appContext\n }, React.createElement(Provider, {\n context: StoreContext,\n store: store\n }, props.children));\n}\n\nlet count = 0;\nfunction resetDeprecatedUniqueContextId() {\n count = 0;\n}\nfunction useDeprecatedUniqueContextId() {\n return useMemo(() => `${count++}`, []);\n}\nfunction useUniqueContextId() {\n return React.useId();\n}\nvar useUniqueContextId$1 = 'useId' in React ? useUniqueContextId : useDeprecatedUniqueContextId;\n\nfunction resetServerContext() {\n if ('useId' in React) {\n process.env.NODE_ENV !== \"production\" ? warning(`It is not necessary to call resetServerContext when using React 18+`) : void 0;\n return;\n }\n resetDeprecatedUniqueContextId();\n resetDeprecatedUniqueId();\n}\nfunction DragDropContext(props) {\n const contextId = useUniqueContextId$1();\n const dragHandleUsageInstructions = props.dragHandleUsageInstructions || preset$1.dragHandleUsageInstructions;\n return React.createElement(ErrorBoundary, null, setCallbacks => React.createElement(App, {\n nonce: props.nonce,\n contextId: contextId,\n setCallbacks: setCallbacks,\n dragHandleUsageInstructions: dragHandleUsageInstructions,\n enableDefaultSensors: props.enableDefaultSensors,\n sensors: props.sensors,\n onBeforeCapture: props.onBeforeCapture,\n onBeforeDragStart: props.onBeforeDragStart,\n onDragStart: props.onDragStart,\n onDragUpdate: props.onDragUpdate,\n onDragEnd: props.onDragEnd,\n autoScrollerOptions: props.autoScrollerOptions\n }, props.children));\n}\n\nconst zIndexOptions = {\n dragging: 5000,\n dropAnimating: 4500\n};\nconst getDraggingTransition = (shouldAnimateDragMovement, dropping) => {\n if (dropping) {\n return transitions.drop(dropping.duration);\n }\n if (shouldAnimateDragMovement) {\n return transitions.snap;\n }\n return transitions.fluid;\n};\nconst getDraggingOpacity = (isCombining, isDropAnimating) => {\n if (!isCombining) {\n return undefined;\n }\n return isDropAnimating ? combine.opacity.drop : combine.opacity.combining;\n};\nconst getShouldDraggingAnimate = dragging => {\n if (dragging.forceShouldAnimate != null) {\n return dragging.forceShouldAnimate;\n }\n return dragging.mode === 'SNAP';\n};\nfunction getDraggingStyle(dragging) {\n const dimension = dragging.dimension;\n const box = dimension.client;\n const {\n offset,\n combineWith,\n dropping\n } = dragging;\n const isCombining = Boolean(combineWith);\n const shouldAnimate = getShouldDraggingAnimate(dragging);\n const isDropAnimating = Boolean(dropping);\n const transform = isDropAnimating ? transforms.drop(offset, isCombining) : transforms.moveTo(offset);\n const style = {\n position: 'fixed',\n top: box.marginBox.top,\n left: box.marginBox.left,\n boxSizing: 'border-box',\n width: box.borderBox.width,\n height: box.borderBox.height,\n transition: getDraggingTransition(shouldAnimate, dropping),\n transform,\n opacity: getDraggingOpacity(isCombining, isDropAnimating),\n zIndex: isDropAnimating ? zIndexOptions.dropAnimating : zIndexOptions.dragging,\n pointerEvents: 'none'\n };\n return style;\n}\nfunction getSecondaryStyle(secondary) {\n return {\n transform: transforms.moveTo(secondary.offset),\n transition: secondary.shouldAnimateDisplacement ? undefined : 'none'\n };\n}\nfunction getStyle$1(mapped) {\n return mapped.type === 'DRAGGING' ? getDraggingStyle(mapped) : getSecondaryStyle(mapped);\n}\n\nfunction getDimension$1(descriptor, el, windowScroll) {\n if (windowScroll === void 0) {\n windowScroll = origin;\n }\n const computedStyles = window.getComputedStyle(el);\n const borderBox = el.getBoundingClientRect();\n const client = calculateBox(borderBox, computedStyles);\n const page = withScroll(client, windowScroll);\n const placeholder = {\n client,\n tagName: el.tagName.toLowerCase(),\n display: computedStyles.display\n };\n const displaceBy = {\n x: client.marginBox.width,\n y: client.marginBox.height\n };\n const dimension = {\n descriptor,\n placeholder,\n displaceBy,\n client,\n page\n };\n return dimension;\n}\n\nfunction useDraggablePublisher(args) {\n const uniqueId = useUniqueId$1('draggable');\n const {\n descriptor,\n registry,\n getDraggableRef,\n canDragInteractiveElements,\n shouldRespectForcePress,\n isEnabled\n } = args;\n const options = useMemo(() => ({\n canDragInteractiveElements,\n shouldRespectForcePress,\n isEnabled\n }), [canDragInteractiveElements, isEnabled, shouldRespectForcePress]);\n const getDimension = useCallback(windowScroll => {\n const el = getDraggableRef();\n !el ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot get dimension when no ref is set') : invariant(false) : void 0;\n return getDimension$1(descriptor, el, windowScroll);\n }, [descriptor, getDraggableRef]);\n const entry = useMemo(() => ({\n uniqueId,\n descriptor,\n options,\n getDimension\n }), [descriptor, getDimension, options, uniqueId]);\n const publishedRef = useRef(entry);\n const isFirstPublishRef = useRef(true);\n useLayoutEffect(() => {\n registry.draggable.register(publishedRef.current);\n return () => registry.draggable.unregister(publishedRef.current);\n }, [registry.draggable]);\n useLayoutEffect(() => {\n if (isFirstPublishRef.current) {\n isFirstPublishRef.current = false;\n return;\n }\n const last = publishedRef.current;\n publishedRef.current = entry;\n registry.draggable.update(entry, last);\n }, [entry, registry.draggable]);\n}\n\nvar DroppableContext = React.createContext(null);\n\nfunction checkIsValidInnerRef(el) {\n !(el && isHtmlElement(el)) ? process.env.NODE_ENV !== \"production\" ? invariant(false, `\n provided.innerRef has not been provided with a HTMLElement.\n\n You can find a guide on using the innerRef callback functions at:\n https://github.com/hello-pangea/dnd/blob/main/docs/guides/using-inner-ref.md\n `) : invariant(false) : void 0;\n}\n\nfunction useValidation$1(props, contextId, getRef) {\n useDevSetupWarning(() => {\n function prefix(id) {\n return `Draggable[id: ${id}]: `;\n }\n const id = props.draggableId;\n !id ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Draggable requires a draggableId') : invariant(false) : void 0;\n !(typeof id === 'string') ? process.env.NODE_ENV !== \"production\" ? invariant(false, `Draggable requires a [string] draggableId.\n Provided: [type: ${typeof id}] (value: ${id})`) : invariant(false) : void 0;\n !Number.isInteger(props.index) ? process.env.NODE_ENV !== \"production\" ? invariant(false, `${prefix(id)} requires an integer index prop`) : invariant(false) : void 0;\n if (props.mapped.type === 'DRAGGING') {\n return;\n }\n checkIsValidInnerRef(getRef());\n if (props.isEnabled) {\n !findDragHandle(contextId, id) ? process.env.NODE_ENV !== \"production\" ? invariant(false, `${prefix(id)} Unable to find drag handle`) : invariant(false) : void 0;\n }\n });\n}\nfunction useClonePropValidation(isClone) {\n useDev(() => {\n const initialRef = useRef(isClone);\n useDevSetupWarning(() => {\n !(isClone === initialRef.current) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Draggable isClone prop value changed during component life') : invariant(false) : void 0;\n }, [isClone]);\n });\n}\n\nfunction useRequiredContext(Context) {\n const result = useContext(Context);\n !result ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Could not find required context') : invariant(false) : void 0;\n return result;\n}\n\nfunction preventHtml5Dnd(event) {\n event.preventDefault();\n}\nconst Draggable = props => {\n const ref = useRef(null);\n const setRef = useCallback(function (el) {\n if (el === void 0) {\n el = null;\n }\n ref.current = el;\n }, []);\n const getRef = useCallback(() => ref.current, []);\n const {\n contextId,\n dragHandleUsageInstructionsId,\n registry\n } = useRequiredContext(AppContext);\n const {\n type,\n droppableId\n } = useRequiredContext(DroppableContext);\n const descriptor = useMemo(() => ({\n id: props.draggableId,\n index: props.index,\n type,\n droppableId\n }), [props.draggableId, props.index, type, droppableId]);\n const {\n children,\n draggableId,\n isEnabled,\n shouldRespectForcePress,\n canDragInteractiveElements,\n isClone,\n mapped,\n dropAnimationFinished: dropAnimationFinishedAction\n } = props;\n useValidation$1(props, contextId, getRef);\n useClonePropValidation(isClone);\n if (!isClone) {\n const forPublisher = useMemo(() => ({\n descriptor,\n registry,\n getDraggableRef: getRef,\n canDragInteractiveElements,\n shouldRespectForcePress,\n isEnabled\n }), [descriptor, registry, getRef, canDragInteractiveElements, shouldRespectForcePress, isEnabled]);\n useDraggablePublisher(forPublisher);\n }\n const dragHandleProps = useMemo(() => isEnabled ? {\n tabIndex: 0,\n role: 'button',\n 'aria-describedby': dragHandleUsageInstructionsId,\n 'data-rfd-drag-handle-draggable-id': draggableId,\n 'data-rfd-drag-handle-context-id': contextId,\n draggable: false,\n onDragStart: preventHtml5Dnd\n } : null, [contextId, dragHandleUsageInstructionsId, draggableId, isEnabled]);\n const onMoveEnd = useCallback(event => {\n if (mapped.type !== 'DRAGGING') {\n return;\n }\n if (!mapped.dropping) {\n return;\n }\n if (event.propertyName !== 'transform') {\n return;\n }\n if (React.version.startsWith('16') || React.version.startsWith('17')) {\n dropAnimationFinishedAction();\n } else {\n flushSync(dropAnimationFinishedAction);\n }\n }, [dropAnimationFinishedAction, mapped]);\n const provided = useMemo(() => {\n const style = getStyle$1(mapped);\n const onTransitionEnd = mapped.type === 'DRAGGING' && mapped.dropping ? onMoveEnd : undefined;\n const result = {\n innerRef: setRef,\n draggableProps: {\n 'data-rfd-draggable-context-id': contextId,\n 'data-rfd-draggable-id': draggableId,\n style,\n onTransitionEnd\n },\n dragHandleProps\n };\n return result;\n }, [contextId, dragHandleProps, draggableId, mapped, onMoveEnd, setRef]);\n const rubric = useMemo(() => ({\n draggableId: descriptor.id,\n type: descriptor.type,\n source: {\n index: descriptor.index,\n droppableId: descriptor.droppableId\n }\n }), [descriptor.droppableId, descriptor.id, descriptor.index, descriptor.type]);\n return React.createElement(React.Fragment, null, children(provided, mapped.snapshot, rubric));\n};\nvar Draggable$1 = Draggable;\n\nvar isStrictEqual = ((a, b) => a === b);\n\nvar whatIsDraggedOverFromResult = (result => {\n const {\n combine,\n destination\n } = result;\n if (destination) {\n return destination.droppableId;\n }\n if (combine) {\n return combine.droppableId;\n }\n return null;\n});\n\nconst getCombineWithFromResult = result => {\n return result.combine ? result.combine.draggableId : null;\n};\nconst getCombineWithFromImpact = impact => {\n return impact.at && impact.at.type === 'COMBINE' ? impact.at.combine.draggableId : null;\n};\nfunction getDraggableSelector() {\n const memoizedOffset = memoizeOne((x, y) => ({\n x,\n y\n }));\n const getMemoizedSnapshot = memoizeOne(function (mode, isClone, draggingOver, combineWith, dropping) {\n if (draggingOver === void 0) {\n draggingOver = null;\n }\n if (combineWith === void 0) {\n combineWith = null;\n }\n if (dropping === void 0) {\n dropping = null;\n }\n return {\n isDragging: true,\n isClone,\n isDropAnimating: Boolean(dropping),\n dropAnimation: dropping,\n mode,\n draggingOver,\n combineWith,\n combineTargetFor: null\n };\n });\n const getMemoizedProps = memoizeOne(function (offset, mode, dimension, isClone, draggingOver, combineWith, forceShouldAnimate) {\n if (draggingOver === void 0) {\n draggingOver = null;\n }\n if (combineWith === void 0) {\n combineWith = null;\n }\n if (forceShouldAnimate === void 0) {\n forceShouldAnimate = null;\n }\n return {\n mapped: {\n type: 'DRAGGING',\n dropping: null,\n draggingOver,\n combineWith,\n mode,\n offset,\n dimension,\n forceShouldAnimate,\n snapshot: getMemoizedSnapshot(mode, isClone, draggingOver, combineWith, null)\n }\n };\n });\n const selector = (state, ownProps) => {\n if (isDragging(state)) {\n if (state.critical.draggable.id !== ownProps.draggableId) {\n return null;\n }\n const offset = state.current.client.offset;\n const dimension = state.dimensions.draggables[ownProps.draggableId];\n const draggingOver = whatIsDraggedOver(state.impact);\n const combineWith = getCombineWithFromImpact(state.impact);\n const forceShouldAnimate = state.forceShouldAnimate;\n return getMemoizedProps(memoizedOffset(offset.x, offset.y), state.movementMode, dimension, ownProps.isClone, draggingOver, combineWith, forceShouldAnimate);\n }\n if (state.phase === 'DROP_ANIMATING') {\n const completed = state.completed;\n if (completed.result.draggableId !== ownProps.draggableId) {\n return null;\n }\n const isClone = ownProps.isClone;\n const dimension = state.dimensions.draggables[ownProps.draggableId];\n const result = completed.result;\n const mode = result.mode;\n const draggingOver = whatIsDraggedOverFromResult(result);\n const combineWith = getCombineWithFromResult(result);\n const duration = state.dropDuration;\n const dropping = {\n duration,\n curve: curves.drop,\n moveTo: state.newHomeClientOffset,\n opacity: combineWith ? combine.opacity.drop : null,\n scale: combineWith ? combine.scale.drop : null\n };\n return {\n mapped: {\n type: 'DRAGGING',\n offset: state.newHomeClientOffset,\n dimension,\n dropping,\n draggingOver,\n combineWith,\n mode,\n forceShouldAnimate: null,\n snapshot: getMemoizedSnapshot(mode, isClone, draggingOver, combineWith, dropping)\n }\n };\n }\n return null;\n };\n return selector;\n}\nfunction getSecondarySnapshot(combineTargetFor) {\n if (combineTargetFor === void 0) {\n combineTargetFor = null;\n }\n return {\n isDragging: false,\n isDropAnimating: false,\n isClone: false,\n dropAnimation: null,\n mode: null,\n draggingOver: null,\n combineTargetFor,\n combineWith: null\n };\n}\nconst atRest = {\n mapped: {\n type: 'SECONDARY',\n offset: origin,\n combineTargetFor: null,\n shouldAnimateDisplacement: true,\n snapshot: getSecondarySnapshot(null)\n }\n};\nfunction getSecondarySelector() {\n const memoizedOffset = memoizeOne((x, y) => ({\n x,\n y\n }));\n const getMemoizedSnapshot = memoizeOne(getSecondarySnapshot);\n const getMemoizedProps = memoizeOne(function (offset, combineTargetFor, shouldAnimateDisplacement) {\n if (combineTargetFor === void 0) {\n combineTargetFor = null;\n }\n return {\n mapped: {\n type: 'SECONDARY',\n offset,\n combineTargetFor,\n shouldAnimateDisplacement,\n snapshot: getMemoizedSnapshot(combineTargetFor)\n }\n };\n });\n const getFallback = combineTargetFor => {\n return combineTargetFor ? getMemoizedProps(origin, combineTargetFor, true) : null;\n };\n const getProps = (ownId, draggingId, impact, afterCritical) => {\n const visualDisplacement = impact.displaced.visible[ownId];\n const isAfterCriticalInVirtualList = Boolean(afterCritical.inVirtualList && afterCritical.effected[ownId]);\n const combine = tryGetCombine(impact);\n const combineTargetFor = combine && combine.draggableId === ownId ? draggingId : null;\n if (!visualDisplacement) {\n if (!isAfterCriticalInVirtualList) {\n return getFallback(combineTargetFor);\n }\n if (impact.displaced.invisible[ownId]) {\n return null;\n }\n const change = negate(afterCritical.displacedBy.point);\n const offset = memoizedOffset(change.x, change.y);\n return getMemoizedProps(offset, combineTargetFor, true);\n }\n if (isAfterCriticalInVirtualList) {\n return getFallback(combineTargetFor);\n }\n const displaceBy = impact.displacedBy.point;\n const offset = memoizedOffset(displaceBy.x, displaceBy.y);\n return getMemoizedProps(offset, combineTargetFor, visualDisplacement.shouldAnimate);\n };\n const selector = (state, ownProps) => {\n if (isDragging(state)) {\n if (state.critical.draggable.id === ownProps.draggableId) {\n return null;\n }\n return getProps(ownProps.draggableId, state.critical.draggable.id, state.impact, state.afterCritical);\n }\n if (state.phase === 'DROP_ANIMATING') {\n const completed = state.completed;\n if (completed.result.draggableId === ownProps.draggableId) {\n return null;\n }\n return getProps(ownProps.draggableId, completed.result.draggableId, completed.impact, completed.afterCritical);\n }\n return null;\n };\n return selector;\n}\nconst makeMapStateToProps$1 = () => {\n const draggingSelector = getDraggableSelector();\n const secondarySelector = getSecondarySelector();\n const selector = (state, ownProps) => draggingSelector(state, ownProps) || secondarySelector(state, ownProps) || atRest;\n return selector;\n};\nconst mapDispatchToProps$1 = {\n dropAnimationFinished: dropAnimationFinished\n};\nconst ConnectedDraggable = connect(makeMapStateToProps$1, mapDispatchToProps$1, null, {\n context: StoreContext,\n areStatePropsEqual: isStrictEqual\n})(Draggable$1);\nvar ConnectedDraggable$1 = ConnectedDraggable;\n\nfunction PrivateDraggable(props) {\n const droppableContext = useRequiredContext(DroppableContext);\n const isUsingCloneFor = droppableContext.isUsingCloneFor;\n if (isUsingCloneFor === props.draggableId && !props.isClone) {\n return null;\n }\n return React.createElement(ConnectedDraggable$1, props);\n}\nfunction PublicDraggable(props) {\n const isEnabled = typeof props.isDragDisabled === 'boolean' ? !props.isDragDisabled : true;\n const canDragInteractiveElements = Boolean(props.disableInteractiveElementBlocking);\n const shouldRespectForcePress = Boolean(props.shouldRespectForcePress);\n return React.createElement(PrivateDraggable, _extends({}, props, {\n isClone: false,\n isEnabled: isEnabled,\n canDragInteractiveElements: canDragInteractiveElements,\n shouldRespectForcePress: shouldRespectForcePress\n }));\n}\n\nconst isEqual = base => value => base === value;\nconst isScroll = isEqual('scroll');\nconst isAuto = isEqual('auto');\nconst isVisible = isEqual('visible');\nconst isEither = (overflow, fn) => fn(overflow.overflowX) || fn(overflow.overflowY);\nconst isBoth = (overflow, fn) => fn(overflow.overflowX) && fn(overflow.overflowY);\nconst isElementScrollable = el => {\n const style = window.getComputedStyle(el);\n const overflow = {\n overflowX: style.overflowX,\n overflowY: style.overflowY\n };\n return isEither(overflow, isScroll) || isEither(overflow, isAuto);\n};\nconst isBodyScrollable = () => {\n if (process.env.NODE_ENV === 'production') {\n return false;\n }\n const body = getBodyElement();\n const html = document.documentElement;\n !html ? process.env.NODE_ENV !== \"production\" ? invariant(false) : invariant(false) : void 0;\n if (!isElementScrollable(body)) {\n return false;\n }\n const htmlStyle = window.getComputedStyle(html);\n const htmlOverflow = {\n overflowX: htmlStyle.overflowX,\n overflowY: htmlStyle.overflowY\n };\n if (isBoth(htmlOverflow, isVisible)) {\n return false;\n }\n process.env.NODE_ENV !== \"production\" ? warning(`\n We have detected that your element might be a scroll container.\n We have found no reliable way of detecting whether the element is a scroll container.\n Under most circumstances a scroll bar will be on the element (document.documentElement)\n\n Because we cannot determine if the is a scroll container, and generally it is not one,\n we will be treating the as *not* a scroll container\n\n More information: https://github.com/hello-pangea/dnd/blob/main/docs/guides/how-we-detect-scroll-containers.md\n `) : void 0;\n return false;\n};\nconst getClosestScrollable = el => {\n if (el == null) {\n return null;\n }\n if (el === document.body) {\n return isBodyScrollable() ? el : null;\n }\n if (el === document.documentElement) {\n return null;\n }\n if (!isElementScrollable(el)) {\n return getClosestScrollable(el.parentElement);\n }\n return el;\n};\nvar getClosestScrollable$1 = getClosestScrollable;\n\nvar checkForNestedScrollContainers = (scrollable => {\n if (!scrollable) {\n return;\n }\n const anotherScrollParent = getClosestScrollable$1(scrollable.parentElement);\n if (!anotherScrollParent) {\n return;\n }\n process.env.NODE_ENV !== \"production\" ? warning(`\n Droppable: unsupported nested scroll container detected.\n A Droppable can only have one scroll parent (which can be itself)\n Nested scroll containers are currently not supported.\n\n We hope to support nested scroll containers soon: https://github.com/atlassian/react-beautiful-dnd/issues/131\n `) : void 0;\n});\n\nvar getScroll = (el => ({\n x: el.scrollLeft,\n y: el.scrollTop\n}));\n\nconst getIsFixed = el => {\n if (!el) {\n return false;\n }\n const style = window.getComputedStyle(el);\n if (style.position === 'fixed') {\n return true;\n }\n return getIsFixed(el.parentElement);\n};\nvar getEnv = (start => {\n const closestScrollable = getClosestScrollable$1(start);\n const isFixedOnPage = getIsFixed(start);\n return {\n closestScrollable,\n isFixedOnPage\n };\n});\n\nvar getDroppableDimension = (_ref => {\n let {\n descriptor,\n isEnabled,\n isCombineEnabled,\n isFixedOnPage,\n direction,\n client,\n page,\n closest\n } = _ref;\n const frame = (() => {\n if (!closest) {\n return null;\n }\n const {\n scrollSize,\n client: frameClient\n } = closest;\n const maxScroll = getMaxScroll({\n scrollHeight: scrollSize.scrollHeight,\n scrollWidth: scrollSize.scrollWidth,\n height: frameClient.paddingBox.height,\n width: frameClient.paddingBox.width\n });\n return {\n pageMarginBox: closest.page.marginBox,\n frameClient,\n scrollSize,\n shouldClipSubject: closest.shouldClipSubject,\n scroll: {\n initial: closest.scroll,\n current: closest.scroll,\n max: maxScroll,\n diff: {\n value: origin,\n displacement: origin\n }\n }\n };\n })();\n const axis = direction === 'vertical' ? vertical : horizontal;\n const subject = getSubject({\n page,\n withPlaceholder: null,\n axis,\n frame\n });\n const dimension = {\n descriptor,\n isCombineEnabled,\n isFixedOnPage,\n axis,\n isEnabled,\n client,\n page,\n frame,\n subject\n };\n return dimension;\n});\n\nconst getClient = (targetRef, closestScrollable) => {\n const base = getBox(targetRef);\n if (!closestScrollable) {\n return base;\n }\n if (targetRef !== closestScrollable) {\n return base;\n }\n const top = base.paddingBox.top - closestScrollable.scrollTop;\n const left = base.paddingBox.left - closestScrollable.scrollLeft;\n const bottom = top + closestScrollable.scrollHeight;\n const right = left + closestScrollable.scrollWidth;\n const paddingBox = {\n top,\n right,\n bottom,\n left\n };\n const borderBox = expand(paddingBox, base.border);\n const client = createBox({\n borderBox,\n margin: base.margin,\n border: base.border,\n padding: base.padding\n });\n return client;\n};\nvar getDimension = (_ref => {\n let {\n ref,\n descriptor,\n env,\n windowScroll,\n direction,\n isDropDisabled,\n isCombineEnabled,\n shouldClipSubject\n } = _ref;\n const closestScrollable = env.closestScrollable;\n const client = getClient(ref, closestScrollable);\n const page = withScroll(client, windowScroll);\n const closest = (() => {\n if (!closestScrollable) {\n return null;\n }\n const frameClient = getBox(closestScrollable);\n const scrollSize = {\n scrollHeight: closestScrollable.scrollHeight,\n scrollWidth: closestScrollable.scrollWidth\n };\n return {\n client: frameClient,\n page: withScroll(frameClient, windowScroll),\n scroll: getScroll(closestScrollable),\n scrollSize,\n shouldClipSubject\n };\n })();\n const dimension = getDroppableDimension({\n descriptor,\n isEnabled: !isDropDisabled,\n isCombineEnabled,\n isFixedOnPage: env.isFixedOnPage,\n direction,\n client,\n page,\n closest\n });\n return dimension;\n});\n\nconst immediate = {\n passive: false\n};\nconst delayed = {\n passive: true\n};\nvar getListenerOptions = (options => options.shouldPublishImmediately ? immediate : delayed);\n\nconst getClosestScrollableFromDrag = dragging => dragging && dragging.env.closestScrollable || null;\nfunction useDroppablePublisher(args) {\n const whileDraggingRef = useRef(null);\n const appContext = useRequiredContext(AppContext);\n const uniqueId = useUniqueId$1('droppable');\n const {\n registry,\n marshal\n } = appContext;\n const previousRef = usePrevious(args);\n const descriptor = useMemo(() => ({\n id: args.droppableId,\n type: args.type,\n mode: args.mode\n }), [args.droppableId, args.mode, args.type]);\n const publishedDescriptorRef = useRef(descriptor);\n const memoizedUpdateScroll = useMemo(() => memoizeOne((x, y) => {\n !whileDraggingRef.current ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Can only update scroll when dragging') : invariant(false) : void 0;\n const scroll = {\n x,\n y\n };\n marshal.updateDroppableScroll(descriptor.id, scroll);\n }), [descriptor.id, marshal]);\n const getClosestScroll = useCallback(() => {\n const dragging = whileDraggingRef.current;\n if (!dragging || !dragging.env.closestScrollable) {\n return origin;\n }\n return getScroll(dragging.env.closestScrollable);\n }, []);\n const updateScroll = useCallback(() => {\n const scroll = getClosestScroll();\n memoizedUpdateScroll(scroll.x, scroll.y);\n }, [getClosestScroll, memoizedUpdateScroll]);\n const scheduleScrollUpdate = useMemo(() => rafSchd(updateScroll), [updateScroll]);\n const onClosestScroll = useCallback(() => {\n const dragging = whileDraggingRef.current;\n const closest = getClosestScrollableFromDrag(dragging);\n !(dragging && closest) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Could not find scroll options while scrolling') : invariant(false) : void 0;\n const options = dragging.scrollOptions;\n if (options.shouldPublishImmediately) {\n updateScroll();\n return;\n }\n scheduleScrollUpdate();\n }, [scheduleScrollUpdate, updateScroll]);\n const getDimensionAndWatchScroll = useCallback((windowScroll, options) => {\n !!whileDraggingRef.current ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot collect a droppable while a drag is occurring') : invariant(false) : void 0;\n const previous = previousRef.current;\n const ref = previous.getDroppableRef();\n !ref ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot collect without a droppable ref') : invariant(false) : void 0;\n const env = getEnv(ref);\n const dragging = {\n ref,\n descriptor,\n env,\n scrollOptions: options\n };\n whileDraggingRef.current = dragging;\n const dimension = getDimension({\n ref,\n descriptor,\n env,\n windowScroll,\n direction: previous.direction,\n isDropDisabled: previous.isDropDisabled,\n isCombineEnabled: previous.isCombineEnabled,\n shouldClipSubject: !previous.ignoreContainerClipping\n });\n const scrollable = env.closestScrollable;\n if (scrollable) {\n scrollable.setAttribute(scrollContainer.contextId, appContext.contextId);\n scrollable.addEventListener('scroll', onClosestScroll, getListenerOptions(dragging.scrollOptions));\n if (process.env.NODE_ENV !== 'production') {\n checkForNestedScrollContainers(scrollable);\n }\n }\n return dimension;\n }, [appContext.contextId, descriptor, onClosestScroll, previousRef]);\n const getScrollWhileDragging = useCallback(() => {\n const dragging = whileDraggingRef.current;\n const closest = getClosestScrollableFromDrag(dragging);\n !(dragging && closest) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Can only recollect Droppable client for Droppables that have a scroll container') : invariant(false) : void 0;\n return getScroll(closest);\n }, []);\n const dragStopped = useCallback(() => {\n const dragging = whileDraggingRef.current;\n !dragging ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot stop drag when no active drag') : invariant(false) : void 0;\n const closest = getClosestScrollableFromDrag(dragging);\n whileDraggingRef.current = null;\n if (!closest) {\n return;\n }\n scheduleScrollUpdate.cancel();\n closest.removeAttribute(scrollContainer.contextId);\n closest.removeEventListener('scroll', onClosestScroll, getListenerOptions(dragging.scrollOptions));\n }, [onClosestScroll, scheduleScrollUpdate]);\n const scroll = useCallback(change => {\n const dragging = whileDraggingRef.current;\n !dragging ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot scroll when there is no drag') : invariant(false) : void 0;\n const closest = getClosestScrollableFromDrag(dragging);\n !closest ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot scroll a droppable with no closest scrollable') : invariant(false) : void 0;\n closest.scrollTop += change.y;\n closest.scrollLeft += change.x;\n }, []);\n const callbacks = useMemo(() => {\n return {\n getDimensionAndWatchScroll,\n getScrollWhileDragging,\n dragStopped,\n scroll\n };\n }, [dragStopped, getDimensionAndWatchScroll, getScrollWhileDragging, scroll]);\n const entry = useMemo(() => ({\n uniqueId,\n descriptor,\n callbacks\n }), [callbacks, descriptor, uniqueId]);\n useLayoutEffect(() => {\n publishedDescriptorRef.current = entry.descriptor;\n registry.droppable.register(entry);\n return () => {\n if (whileDraggingRef.current) {\n process.env.NODE_ENV !== \"production\" ? warning('Unsupported: changing the droppableId or type of a Droppable during a drag') : void 0;\n dragStopped();\n }\n registry.droppable.unregister(entry);\n };\n }, [callbacks, descriptor, dragStopped, entry, marshal, registry.droppable]);\n useLayoutEffect(() => {\n if (!whileDraggingRef.current) {\n return;\n }\n marshal.updateDroppableIsEnabled(publishedDescriptorRef.current.id, !args.isDropDisabled);\n }, [args.isDropDisabled, marshal]);\n useLayoutEffect(() => {\n if (!whileDraggingRef.current) {\n return;\n }\n marshal.updateDroppableIsCombineEnabled(publishedDescriptorRef.current.id, args.isCombineEnabled);\n }, [args.isCombineEnabled, marshal]);\n}\n\nfunction noop() {}\nconst empty = {\n width: 0,\n height: 0,\n margin: noSpacing\n};\nconst getSize = _ref => {\n let {\n isAnimatingOpenOnMount,\n placeholder,\n animate\n } = _ref;\n if (isAnimatingOpenOnMount) {\n return empty;\n }\n if (animate === 'close') {\n return empty;\n }\n return {\n height: placeholder.client.borderBox.height,\n width: placeholder.client.borderBox.width,\n margin: placeholder.client.margin\n };\n};\nconst getStyle = _ref2 => {\n let {\n isAnimatingOpenOnMount,\n placeholder,\n animate\n } = _ref2;\n const size = getSize({\n isAnimatingOpenOnMount,\n placeholder,\n animate\n });\n return {\n display: placeholder.display,\n boxSizing: 'border-box',\n width: size.width,\n height: size.height,\n marginTop: size.margin.top,\n marginRight: size.margin.right,\n marginBottom: size.margin.bottom,\n marginLeft: size.margin.left,\n flexShrink: '0',\n flexGrow: '0',\n pointerEvents: 'none',\n transition: animate !== 'none' ? transitions.placeholder : null\n };\n};\nconst Placeholder = props => {\n const animateOpenTimerRef = useRef(null);\n const tryClearAnimateOpenTimer = useCallback(() => {\n if (!animateOpenTimerRef.current) {\n return;\n }\n clearTimeout(animateOpenTimerRef.current);\n animateOpenTimerRef.current = null;\n }, []);\n const {\n animate,\n onTransitionEnd,\n onClose,\n contextId\n } = props;\n const [isAnimatingOpenOnMount, setIsAnimatingOpenOnMount] = useState(props.animate === 'open');\n useEffect(() => {\n if (!isAnimatingOpenOnMount) {\n return noop;\n }\n if (animate !== 'open') {\n tryClearAnimateOpenTimer();\n setIsAnimatingOpenOnMount(false);\n return noop;\n }\n if (animateOpenTimerRef.current) {\n return noop;\n }\n animateOpenTimerRef.current = setTimeout(() => {\n animateOpenTimerRef.current = null;\n setIsAnimatingOpenOnMount(false);\n });\n return tryClearAnimateOpenTimer;\n }, [animate, isAnimatingOpenOnMount, tryClearAnimateOpenTimer]);\n const onSizeChangeEnd = useCallback(event => {\n if (event.propertyName !== 'height') {\n return;\n }\n onTransitionEnd();\n if (animate === 'close') {\n onClose();\n }\n }, [animate, onClose, onTransitionEnd]);\n const style = getStyle({\n isAnimatingOpenOnMount,\n animate: props.animate,\n placeholder: props.placeholder\n });\n return React.createElement(props.placeholder.tagName, {\n style,\n 'data-rfd-placeholder-context-id': contextId,\n onTransitionEnd: onSizeChangeEnd,\n ref: props.innerRef\n });\n};\nvar Placeholder$1 = React.memo(Placeholder);\n\nfunction isBoolean(value) {\n return typeof value === 'boolean';\n}\nfunction runChecks(args, checks) {\n checks.forEach(check => check(args));\n}\nconst shared = [function required(_ref) {\n let {\n props\n } = _ref;\n !props.droppableId ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'A Droppable requires a droppableId prop') : invariant(false) : void 0;\n !(typeof props.droppableId === 'string') ? process.env.NODE_ENV !== \"production\" ? invariant(false, `A Droppable requires a [string] droppableId. Provided: [${typeof props.droppableId}]`) : invariant(false) : void 0;\n}, function boolean(_ref2) {\n let {\n props\n } = _ref2;\n !isBoolean(props.isDropDisabled) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'isDropDisabled must be a boolean') : invariant(false) : void 0;\n !isBoolean(props.isCombineEnabled) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'isCombineEnabled must be a boolean') : invariant(false) : void 0;\n !isBoolean(props.ignoreContainerClipping) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'ignoreContainerClipping must be a boolean') : invariant(false) : void 0;\n}, function ref(_ref3) {\n let {\n getDroppableRef\n } = _ref3;\n checkIsValidInnerRef(getDroppableRef());\n}];\nconst standard = [function placeholder(_ref4) {\n let {\n props,\n getPlaceholderRef\n } = _ref4;\n if (!props.placeholder) {\n return;\n }\n const ref = getPlaceholderRef();\n if (ref) {\n return;\n }\n process.env.NODE_ENV !== \"production\" ? warning(`\n Droppable setup issue [droppableId: \"${props.droppableId}\"]:\n DroppableProvided > placeholder could not be found.\n\n Please be sure to add the {provided.placeholder} React Node as a child of your Droppable.\n More information: https://github.com/hello-pangea/dnd/blob/main/docs/api/droppable.md\n `) : void 0;\n}];\nconst virtual = [function hasClone(_ref5) {\n let {\n props\n } = _ref5;\n !props.renderClone ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Must provide a clone render function (renderClone) for virtual lists') : invariant(false) : void 0;\n}, function hasNoPlaceholder(_ref6) {\n let {\n getPlaceholderRef\n } = _ref6;\n !!getPlaceholderRef() ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Expected virtual list to not have a placeholder') : invariant(false) : void 0;\n}];\nfunction useValidation(args) {\n useDevSetupWarning(() => {\n runChecks(args, shared);\n if (args.props.mode === 'standard') {\n runChecks(args, standard);\n }\n if (args.props.mode === 'virtual') {\n runChecks(args, virtual);\n }\n });\n}\n\nclass AnimateInOut extends React.PureComponent {\n constructor() {\n super(...arguments);\n this.state = {\n isVisible: Boolean(this.props.on),\n data: this.props.on,\n animate: this.props.shouldAnimate && this.props.on ? 'open' : 'none'\n };\n this.onClose = () => {\n if (this.state.animate !== 'close') {\n return;\n }\n this.setState({\n isVisible: false\n });\n };\n }\n static getDerivedStateFromProps(props, state) {\n if (!props.shouldAnimate) {\n return {\n isVisible: Boolean(props.on),\n data: props.on,\n animate: 'none'\n };\n }\n if (props.on) {\n return {\n isVisible: true,\n data: props.on,\n animate: 'open'\n };\n }\n if (state.isVisible) {\n return {\n isVisible: true,\n data: state.data,\n animate: 'close'\n };\n }\n return {\n isVisible: false,\n animate: 'close',\n data: null\n };\n }\n render() {\n if (!this.state.isVisible) {\n return null;\n }\n const provided = {\n onClose: this.onClose,\n data: this.state.data,\n animate: this.state.animate\n };\n return this.props.children(provided);\n }\n}\n\nconst Droppable = props => {\n const appContext = useContext(AppContext);\n !appContext ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Could not find app context') : invariant(false) : void 0;\n const {\n contextId,\n isMovementAllowed\n } = appContext;\n const droppableRef = useRef(null);\n const placeholderRef = useRef(null);\n const {\n children,\n droppableId,\n type,\n mode,\n direction,\n ignoreContainerClipping,\n isDropDisabled,\n isCombineEnabled,\n snapshot,\n useClone,\n updateViewportMaxScroll,\n getContainerForClone\n } = props;\n const getDroppableRef = useCallback(() => droppableRef.current, []);\n const setDroppableRef = useCallback(function (value) {\n if (value === void 0) {\n value = null;\n }\n droppableRef.current = value;\n }, []);\n const getPlaceholderRef = useCallback(() => placeholderRef.current, []);\n const setPlaceholderRef = useCallback(function (value) {\n if (value === void 0) {\n value = null;\n }\n placeholderRef.current = value;\n }, []);\n useValidation({\n props,\n getDroppableRef,\n getPlaceholderRef\n });\n const onPlaceholderTransitionEnd = useCallback(() => {\n if (isMovementAllowed()) {\n updateViewportMaxScroll({\n maxScroll: getMaxWindowScroll()\n });\n }\n }, [isMovementAllowed, updateViewportMaxScroll]);\n useDroppablePublisher({\n droppableId,\n type,\n mode,\n direction,\n isDropDisabled,\n isCombineEnabled,\n ignoreContainerClipping,\n getDroppableRef\n });\n const placeholder = useMemo(() => React.createElement(AnimateInOut, {\n on: props.placeholder,\n shouldAnimate: props.shouldAnimatePlaceholder\n }, _ref => {\n let {\n onClose,\n data,\n animate\n } = _ref;\n return React.createElement(Placeholder$1, {\n placeholder: data,\n onClose: onClose,\n innerRef: setPlaceholderRef,\n animate: animate,\n contextId: contextId,\n onTransitionEnd: onPlaceholderTransitionEnd\n });\n }), [contextId, onPlaceholderTransitionEnd, props.placeholder, props.shouldAnimatePlaceholder, setPlaceholderRef]);\n const provided = useMemo(() => ({\n innerRef: setDroppableRef,\n placeholder,\n droppableProps: {\n 'data-rfd-droppable-id': droppableId,\n 'data-rfd-droppable-context-id': contextId\n }\n }), [contextId, droppableId, placeholder, setDroppableRef]);\n const isUsingCloneFor = useClone ? useClone.dragging.draggableId : null;\n const droppableContext = useMemo(() => ({\n droppableId,\n type,\n isUsingCloneFor\n }), [droppableId, isUsingCloneFor, type]);\n function getClone() {\n if (!useClone) {\n return null;\n }\n const {\n dragging,\n render\n } = useClone;\n const node = React.createElement(PrivateDraggable, {\n draggableId: dragging.draggableId,\n index: dragging.source.index,\n isClone: true,\n isEnabled: true,\n shouldRespectForcePress: false,\n canDragInteractiveElements: true\n }, (draggableProvided, draggableSnapshot) => render(draggableProvided, draggableSnapshot, dragging));\n return ReactDOM.createPortal(node, getContainerForClone());\n }\n return React.createElement(DroppableContext.Provider, {\n value: droppableContext\n }, children(provided, snapshot), getClone());\n};\nvar Droppable$1 = Droppable;\n\nfunction getBody() {\n !document.body ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'document.body is not ready') : invariant(false) : void 0;\n return document.body;\n}\nconst defaultProps = {\n mode: 'standard',\n type: 'DEFAULT',\n direction: 'vertical',\n isDropDisabled: false,\n isCombineEnabled: false,\n ignoreContainerClipping: false,\n renderClone: null,\n getContainerForClone: getBody\n};\nconst attachDefaultPropsToOwnProps = ownProps => {\n let mergedProps = {\n ...ownProps\n };\n let defaultPropKey;\n for (defaultPropKey in defaultProps) {\n if (ownProps[defaultPropKey] === undefined) {\n mergedProps = {\n ...mergedProps,\n [defaultPropKey]: defaultProps[defaultPropKey]\n };\n }\n }\n return mergedProps;\n};\nconst isMatchingType = (type, critical) => type === critical.droppable.type;\nconst getDraggable = (critical, dimensions) => dimensions.draggables[critical.draggable.id];\nconst makeMapStateToProps = () => {\n const idleWithAnimation = {\n placeholder: null,\n shouldAnimatePlaceholder: true,\n snapshot: {\n isDraggingOver: false,\n draggingOverWith: null,\n draggingFromThisWith: null,\n isUsingPlaceholder: false\n },\n useClone: null\n };\n const idleWithoutAnimation = {\n ...idleWithAnimation,\n shouldAnimatePlaceholder: false\n };\n const getDraggableRubric = memoizeOne(descriptor => ({\n draggableId: descriptor.id,\n type: descriptor.type,\n source: {\n index: descriptor.index,\n droppableId: descriptor.droppableId\n }\n }));\n const getMapProps = memoizeOne((id, isEnabled, isDraggingOverForConsumer, isDraggingOverForImpact, dragging, renderClone) => {\n const draggableId = dragging.descriptor.id;\n const isHome = dragging.descriptor.droppableId === id;\n if (isHome) {\n const useClone = renderClone ? {\n render: renderClone,\n dragging: getDraggableRubric(dragging.descriptor)\n } : null;\n const snapshot = {\n isDraggingOver: isDraggingOverForConsumer,\n draggingOverWith: isDraggingOverForConsumer ? draggableId : null,\n draggingFromThisWith: draggableId,\n isUsingPlaceholder: true\n };\n return {\n placeholder: dragging.placeholder,\n shouldAnimatePlaceholder: false,\n snapshot,\n useClone\n };\n }\n if (!isEnabled) {\n return idleWithoutAnimation;\n }\n if (!isDraggingOverForImpact) {\n return idleWithAnimation;\n }\n const snapshot = {\n isDraggingOver: isDraggingOverForConsumer,\n draggingOverWith: draggableId,\n draggingFromThisWith: null,\n isUsingPlaceholder: true\n };\n return {\n placeholder: dragging.placeholder,\n shouldAnimatePlaceholder: true,\n snapshot,\n useClone: null\n };\n });\n const selector = (state, ownProps) => {\n const ownPropsWithDefaultProps = attachDefaultPropsToOwnProps(ownProps);\n const id = ownPropsWithDefaultProps.droppableId;\n const type = ownPropsWithDefaultProps.type;\n const isEnabled = !ownPropsWithDefaultProps.isDropDisabled;\n const renderClone = ownPropsWithDefaultProps.renderClone;\n if (isDragging(state)) {\n const critical = state.critical;\n if (!isMatchingType(type, critical)) {\n return idleWithoutAnimation;\n }\n const dragging = getDraggable(critical, state.dimensions);\n const isDraggingOver = whatIsDraggedOver(state.impact) === id;\n return getMapProps(id, isEnabled, isDraggingOver, isDraggingOver, dragging, renderClone);\n }\n if (state.phase === 'DROP_ANIMATING') {\n const completed = state.completed;\n if (!isMatchingType(type, completed.critical)) {\n return idleWithoutAnimation;\n }\n const dragging = getDraggable(completed.critical, state.dimensions);\n return getMapProps(id, isEnabled, whatIsDraggedOverFromResult(completed.result) === id, whatIsDraggedOver(completed.impact) === id, dragging, renderClone);\n }\n if (state.phase === 'IDLE' && state.completed && !state.shouldFlush) {\n const completed = state.completed;\n if (!isMatchingType(type, completed.critical)) {\n return idleWithoutAnimation;\n }\n const wasOver = whatIsDraggedOver(completed.impact) === id;\n const wasCombining = Boolean(completed.impact.at && completed.impact.at.type === 'COMBINE');\n const isHome = completed.critical.droppable.id === id;\n if (wasOver) {\n return wasCombining ? idleWithAnimation : idleWithoutAnimation;\n }\n if (isHome) {\n return idleWithAnimation;\n }\n return idleWithoutAnimation;\n }\n return idleWithoutAnimation;\n };\n return selector;\n};\nconst mapDispatchToProps = {\n updateViewportMaxScroll: updateViewportMaxScroll\n};\nconst ConnectedDroppable = connect(makeMapStateToProps, mapDispatchToProps, (stateProps, dispatchProps, ownProps) => {\n return {\n ...attachDefaultPropsToOwnProps(ownProps),\n ...stateProps,\n ...dispatchProps\n };\n}, {\n context: StoreContext,\n areStatePropsEqual: isStrictEqual\n})(Droppable$1);\nvar ConnectedDroppable$1 = ConnectedDroppable;\n\nexport { DragDropContext, PublicDraggable as Draggable, ConnectedDroppable$1 as Droppable, resetServerContext, useKeyboardSensor, useMouseSensor, useTouchSensor };\n","import * as React from 'react';\nimport { ReferenceField, useRedirect } from 'react-admin';\nimport { Box, Card, Typography } from '@mui/material';\nimport { Draggable } from '@hello-pangea/dnd';\n\nimport { LogoField } from '../companies/LogoField';\nimport { Deal } from '../types';\n\nexport const DealCard = ({ deal, index }: { deal: Deal; index: number }) => {\n const redirect = useRedirect();\n if (!deal) return null;\n\n const handleClick = () => {\n redirect(`/deals/${deal.id}/show`);\n };\n\n return (\n \n {(provided, snapshot) => (\n \n \n \n \n \n \n \n \n {deal.name}\n \n \n {deal.amount.toLocaleString('en-US', {\n notation: 'compact',\n style: 'currency',\n currency: 'USD',\n currencyDisplay: 'narrowSymbol',\n minimumSignificantDigits: 3,\n })}\n , {deal.type}\n \n \n \n \n \n )}\n \n );\n};\n","import { Droppable } from '@hello-pangea/dnd';\nimport { Box, Typography } from '@mui/material';\n\nimport { Deal } from '../types';\nimport { DealCard } from './DealCard';\nimport { stageNames } from './stages';\n\nexport const DealColumn = ({\n stage,\n deals,\n}: {\n stage: string;\n deals: Deal[];\n}) => (\n \n \n {/* @ts-ignore */}\n {stageNames[stage]}\n \n \n {(droppableProvided, snapshot) => (\n \n {deals.map((deal, index) => (\n \n ))}\n {droppableProvided.placeholder}\n \n )}\n \n \n);\n","import { DragDropContext, OnDragEndResponder } from '@hello-pangea/dnd';\nimport { Box } from '@mui/material';\nimport isEqual from 'lodash/isEqual';\nimport { useEffect, useState } from 'react';\nimport { DataProvider, useDataProvider, useListContext } from 'react-admin';\n\nimport { Deal } from '../types';\nimport { DealColumn } from './DealColumn';\nimport { DealsByStage, getDealsByStage, stages } from './stages';\n\nexport const DealListContent = () => {\n const { data: unorderedDeals, isPending, refetch } = useListContext();\n const dataProvider = useDataProvider();\n\n const [dealsByStage, setDealsByStage] = useState(\n getDealsByStage([])\n );\n\n useEffect(() => {\n if (unorderedDeals) {\n const newDealsByStage = getDealsByStage(unorderedDeals);\n if (!isEqual(newDealsByStage, dealsByStage)) {\n setDealsByStage(newDealsByStage);\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [unorderedDeals]);\n\n if (isPending) return null;\n\n const onDragEnd: OnDragEndResponder = result => {\n const { destination, source } = result;\n\n if (!destination) {\n return;\n }\n\n if (\n destination.droppableId === source.droppableId &&\n destination.index === source.index\n ) {\n return;\n }\n\n const sourceStage = source.droppableId;\n const destinationStage = destination.droppableId;\n const sourceDeal = dealsByStage[sourceStage][source.index]!;\n const destinationDeal = dealsByStage[destinationStage][\n destination.index\n ] ?? {\n stage: destinationStage,\n index: undefined, // undefined if dropped after the last item\n };\n\n // compute local state change synchronously\n setDealsByStage(\n updateDealStageLocal(\n sourceDeal,\n { stage: sourceStage, index: source.index },\n { stage: destinationStage, index: destination.index },\n dealsByStage\n )\n );\n\n // persist the changes\n updateDealStage(sourceDeal, destinationDeal, dataProvider).then(() => {\n refetch();\n });\n };\n\n return (\n \n \n {stages.map(stage => (\n \n ))}\n \n \n );\n};\n\nconst updateDealStageLocal = (\n sourceDeal: Deal,\n source: { stage: string; index: number },\n destination: {\n stage: string;\n index?: number; // undefined if dropped after the last item\n },\n dealsByStage: DealsByStage\n) => {\n if (source.stage === destination.stage) {\n // moving deal inside the same column\n const column = dealsByStage[source.stage];\n column.splice(source.index, 1);\n column.splice(destination.index ?? column.length + 1, 0, sourceDeal);\n return {\n ...dealsByStage,\n [destination.stage]: column,\n };\n } else {\n // moving deal across columns\n const sourceColumn = dealsByStage[source.stage];\n const destinationColumn = dealsByStage[destination.stage];\n sourceColumn.splice(source.index, 1);\n destinationColumn.splice(\n destination.index ?? destinationColumn.length + 1,\n 0,\n sourceDeal\n );\n return {\n ...dealsByStage,\n [source.stage]: sourceColumn,\n [destination.stage]: destinationColumn,\n };\n }\n};\n\nconst updateDealStage = async (\n source: Deal,\n destination: {\n stage: string;\n index?: number; // undefined if dropped after the last item\n },\n dataProvider: DataProvider\n) => {\n if (source.stage === destination.stage) {\n // moving deal inside the same column\n // Fetch all the deals in this stage (because the list may be filtered, but we need to update even non-filtered deals)\n const { data: columnDeals } = await dataProvider.getList('deals', {\n sort: { field: 'index', order: 'ASC' },\n pagination: { page: 1, perPage: 100 },\n filter: { stage: source.stage },\n });\n const destinationIndex = destination.index ?? columnDeals.length + 1;\n\n if (source.index > destinationIndex) {\n // deal moved up, eg\n // dest src\n // <------\n // [4, 7, 23, 5]\n await Promise.all([\n // for all deals between destinationIndex and source.index, increase the index\n ...columnDeals\n .filter(\n deal =>\n deal.index >= destinationIndex &&\n deal.index < source.index\n )\n .map(deal =>\n dataProvider.update('deals', {\n id: deal.id,\n data: { index: deal.index + 1 },\n previousData: deal,\n })\n ),\n // for the deal that was moved, update its index\n dataProvider.update('deals', {\n id: source.id,\n data: { index: destinationIndex },\n previousData: source,\n }),\n ]);\n } else {\n // deal moved down, e.g\n // src dest\n // ------>\n // [4, 7, 23, 5]\n await Promise.all([\n // for all deals between source.index and destinationIndex, decrease the index\n ...columnDeals\n .filter(\n deal =>\n deal.index <= destinationIndex &&\n deal.index > source.index\n )\n .map(deal =>\n dataProvider.update('deals', {\n id: deal.id,\n data: { index: deal.index - 1 },\n previousData: deal,\n })\n ),\n // for the deal that was moved, update its index\n dataProvider.update('deals', {\n id: source.id,\n data: { index: destinationIndex },\n previousData: source,\n }),\n ]);\n }\n } else {\n // moving deal across columns\n // Fetch all the deals in both stages (because the list may be filtered, but we need to update even non-filtered deals)\n const [\n { data: sourceDeals },\n { data: destinationDeals },\n ] = await Promise.all([\n dataProvider.getList('deals', {\n sort: { field: 'index', order: 'ASC' },\n pagination: { page: 1, perPage: 100 },\n filter: { stage: source.stage },\n }),\n dataProvider.getList('deals', {\n sort: { field: 'index', order: 'ASC' },\n pagination: { page: 1, perPage: 100 },\n filter: { stage: destination.stage },\n }),\n ]);\n const destinationIndex =\n destination.index ?? destinationDeals.length + 1;\n\n await Promise.all([\n // decrease index on the deals after the source index in the source columns\n ...sourceDeals\n .filter(deal => deal.index > source.index)\n .map(deal =>\n dataProvider.update('deals', {\n id: deal.id,\n data: { index: deal.index - 1 },\n previousData: deal,\n })\n ),\n // increase index on the deals after the destination index in the destination columns\n ...destinationDeals\n .filter(deal => deal.index >= destinationIndex)\n .map(deal =>\n dataProvider.update('deals', {\n id: deal.id,\n data: { index: deal.index + 1 },\n previousData: deal,\n })\n ),\n // change the dragged deal to take the destination index and column\n dataProvider.update('deals', {\n id: source.id,\n data: {\n index: destinationIndex,\n stage: destination.stage,\n },\n previousData: source,\n }),\n ]);\n }\n};\n","export const types = [\n 'Other',\n 'Copywriting',\n 'Print project',\n 'UI Design',\n 'Website design',\n];\n\nexport const typeChoices = types.map(type => ({ id: type, name: type }));\n","import * as React from 'react';\nimport {\n Create,\n SimpleForm,\n TextInput,\n SelectInput,\n NumberInput,\n ReferenceInput,\n AutocompleteInput,\n required,\n useRedirect,\n useDataProvider,\n useGetIdentity,\n useListContext,\n GetListResult,\n DateInput,\n} from 'react-admin';\nimport { Dialog } from '@mui/material';\nimport { useQueryClient } from '@tanstack/react-query';\nimport { stageChoices } from './stages';\nimport { typeChoices } from './types';\nimport { Deal } from '../types';\n\nconst validateRequired = required();\n\nexport const DealCreate = ({ open }: { open: boolean }) => {\n const redirect = useRedirect();\n const dataProvider = useDataProvider();\n const { data: allDeals } = useListContext();\n\n const handleClose = () => {\n redirect('/deals');\n };\n\n const queryClient = useQueryClient();\n\n const onSuccess = async (deal: Deal) => {\n if (!allDeals) {\n redirect('/deals');\n return;\n }\n // increase the index of all deals in the same stage as the new deal\n // first, get the list of deals in the same stage\n const deals = allDeals.filter(\n (d: Deal) => d.stage === deal.stage && d.id !== deal.id\n );\n // update the actual deals in the database\n await Promise.all(\n deals.map(async oldDeal =>\n dataProvider.update('deals', {\n id: oldDeal.id,\n data: { index: oldDeal.index + 1 },\n previousData: oldDeal,\n })\n )\n );\n // refresh the list of deals in the cache as we used dataProvider.update(),\n // which does not update the cache\n const dealsById = deals.reduce(\n (acc, d) => ({\n ...acc,\n [d.id]: { ...d, index: d.index + 1 },\n }),\n {} as { [key: string]: Deal }\n );\n const now = Date.now();\n queryClient.setQueriesData(\n { queryKey: ['deals', 'getList'] },\n res => {\n if (!res) return res;\n return {\n ...res,\n data: res.data.map((d: Deal) => dealsById[d.id] || d),\n };\n },\n { updatedAt: now }\n );\n redirect('/deals');\n };\n\n const { identity } = useGetIdentity();\n\n return (\n \n \n resource=\"deals\"\n mutationOptions={{ onSuccess }}\n sx={{ width: 500, '& .RaCreate-main': { mt: 0 } }}\n >\n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\n","import * as React from 'react';\nimport { useListContext } from 'react-admin';\nimport { Box, Link } from '@mui/material';\nimport { Link as RouterLink } from 'react-router-dom';\n\nexport const ContactList = () => {\n const { data, error, isPending } = useListContext();\n\n if (isPending || error) return
;\n return (\n \n {data.map(contact => (\n \n \n {contact.first_name} {contact.last_name}\n \n \n ))}\n \n );\n};\n","import * as React from 'react';\nimport {\n ShowBase,\n TextField,\n ReferenceField,\n ReferenceManyField,\n ReferenceArrayField,\n useRecordContext,\n useRedirect,\n} from 'react-admin';\nimport { Box, Dialog, DialogContent, Typography, Divider } from '@mui/material';\nimport { format } from 'date-fns';\n\nimport { CompanyAvatar } from '../companies/CompanyAvatar';\nimport { NotesIterator } from '../notes';\nimport { ContactList } from './ContactList';\nimport { stageNames } from './stages';\n\nexport const DealShow = ({ open, id }: { open: boolean; id?: string }) => {\n const redirect = useRedirect();\n\n const handleClose = () => {\n redirect('list', 'deals');\n };\n\n return (\n \n \n {!!id ? (\n \n \n \n ) : null}\n \n \n );\n};\n\nconst DealShowContent = () => {\n const record = useRecordContext();\n if (!record) return null;\n return (\n
\n \n \n \n \n \n \n \n \n \n \n {record.name}\n\n \n \n \n Start\n \n \n {format(record.start_at, 'PP')}\n \n \n\n \n \n Budget\n \n \n {record.amount.toLocaleString('en-US', {\n notation: 'compact',\n style: 'currency',\n currency: 'USD',\n currencyDisplay: 'narrowSymbol',\n minimumSignificantDigits: 3,\n })}\n \n \n\n \n \n Type\n \n \n {record.type}\n \n \n\n \n \n Stage\n \n \n {/* @ts-ignore */}\n {stageNames[record.stage]}\n \n \n \n\n \n \n \n Contacts\n \n \n \n \n \n \n\n \n \n Description\n \n {record.description}\n \n\n \n\n \n \n \n \n \n \n \n
\n );\n};\n","import * as React from 'react';\nimport { useListFilterContext, useGetIdentity } from 'react-admin';\nimport { Box, Switch, FormControlLabel } from '@mui/material';\n\nexport const OnlyMineInput = (_: { alwaysOn: boolean; source: string }) => {\n const {\n filterValues,\n displayedFilters,\n setFilters,\n } = useListFilterContext();\n const { identity } = useGetIdentity();\n\n const handleChange = () => {\n const newFilterValues = { ...filterValues };\n if (typeof filterValues.sales_id !== 'undefined') {\n delete newFilterValues.sales_id;\n } else {\n newFilterValues.sales_id = identity && identity?.id;\n }\n setFilters(newFilterValues, displayedFilters);\n };\n return (\n \n \n }\n label=\"Only companies I manage\"\n />\n \n );\n};\n","import * as React from 'react';\nimport {\n CreateButton,\n ExportButton,\n FilterButton,\n List,\n SearchInput,\n SelectInput,\n TopToolbar,\n useGetIdentity,\n} from 'react-admin';\nimport { matchPath, useLocation } from 'react-router';\n\nimport { DealListContent } from './DealListContent';\nimport { DealCreate } from './DealCreate';\nimport { DealShow } from './DealShow';\nimport { OnlyMineInput } from './OnlyMineInput';\nimport { typeChoices } from './types';\n\nconst DealList = () => {\n const { identity } = useGetIdentity();\n const location = useLocation();\n const matchCreate = matchPath('/deals/create', location.pathname);\n const matchShow = matchPath('/deals/:id/show', location.pathname);\n if (!identity) return null;\n return (\n <>\n }\n pagination={false}\n component=\"div\"\n >\n \n \n \n \n \n );\n};\n\nconst dealFilters = [\n ,\n ,\n ,\n];\n\nconst DealActions = () => {\n return (\n \n \n \n \n \n );\n};\n\nexport default DealList;\n"],"names":["NumberInput","__name","className","defaultValue","format","convertNumberToString","helperText","label","margin","onChange","onBlur","onFocus","parse","resource","source","step","min","max","validate","variant","overrideInputProps","rest","field","error","invalid","id","isRequired","useInput","onBlurFromField","inputProps","value","setValue","React.useState","hasFocus","React.useRef","React.useEffect","stringValue","handleChange","event","target","newValue","convertStringToNumber","handleFocus","handleBlur","renderHelperText","ref","fieldWithoutRef","jsx","TextField","clsx","InputHelperText","FieldTitle","sanitizeInputRestProps","float","SearchInput","props","translate","useTranslate","StyledTextInput","InputAdornment","SearchIcon","PREFIX","styled","TextInput","styles","SimpleForm","children","Component","DefaultComponent","sx","toolbar","DefaultToolbar","jsxs","Form","Stack","sanitizeRestProps","CardContent","theme","Toolbar","component","criteriaMode","defaultValues","delayError","onSubmit","record","reValidateMode","resetOptions","resolver","sanitizeEmptyValues","shouldFocusError","shouldUnregister","shouldUseNativeValidation","warnWhenUnsavedChanges","_typeof","o","_toPrimitive","input","hint","prim","res","_toPropertyKey","arg","key","toPrimitive","_defineProperty","obj","toPropertyKey","ownKeys","r","t","_objectSpread2","defineProperty","formatProdErrorMessage","code","$$observable","randomString","ActionTypes","isPlainObject","proto","createStore","reducer","preloadedState","enhancer","_ref2","currentReducer","currentState","currentListeners","nextListeners","isDispatching","ensureCanMutateNextListeners","getState","subscribe","listener","isSubscribed","index","dispatch","action","listeners","i","replaceReducer","nextReducer","observable","_ref","outerSubscribe","observer","observeState","unsubscribe","bindActionCreator","actionCreator","bindActionCreators","actionCreators","boundActionCreators","compose","_len","funcs","_key","a","b","applyMiddleware","middlewares","store","_dispatch","middlewareAPI","chain","middleware","_objectSpread","e","require$$0","h","k","l","m","n","p","q","d","f","c","g","u","useSyncExternalStoreShim_production_min","shimModule","require$$1","v","w","withSelector_production_min","defaultNoopBatch","callback","batch","setBatch","newBatch","getBatch","ContextKey","ReactVersion","gT","getContext","realContext","createContext","ReactReduxContext","_","handler","_target","args","notInitialized","_excluded","pureFinalPropsSelectorFactory","mapStateToProps","mapDispatchToProps","mergeProps","areStatesEqual","areOwnPropsEqual","areStatePropsEqual","hasRunAtLeastOnce","state","ownProps","stateProps","dispatchProps","mergedProps","handleFirstCall","firstState","firstOwnProps","handleNewPropsAndNewState","handleNewProps","handleNewState","nextStateProps","statePropsChanged","handleSubsequentCalls","nextState","nextOwnProps","propsChanged","stateChanged","finalPropsSelectorFactory","initMapStateToProps","initMapDispatchToProps","initMergeProps","options","_objectWithoutPropertiesLoose","wrapMapToPropsConstant","getConstant","constant","constantSelector","getDependsOnOwnProps","mapToProps","wrapMapToPropsFunc","methodName","displayName","proxy","stateOrDispatch","createInvalidArgFactory","name","mapDispatchToPropsFactory","mapStateToPropsFactory","defaultMergeProps","_extends","wrapMergePropsFunc","areMergedPropsEqual","hasRunOnce","nextMergedProps","mergePropsFactory","createListenerCollection","first","last","nullListeners","createSubscription","parentSub","addNestedSub","trySubscribe","notifyNestedSubs","handleChangeWrapper","subscription","tryUnsubscribe","canUseDOM","useIsomorphicLayoutEffect","useLayoutEffect","useEffect","is","x","y","shallowEqual","objA","objB","keysA","keysB","useSyncExternalStore","initializeConnect","fn","NO_SUBSCRIPTION_ARRAY","useIsomorphicLayoutEffectWithArgs","effectFunc","effectArgs","dependencies","captureWrapperProps","lastWrapperProps","lastChildProps","renderIsScheduled","wrapperProps","childPropsFromStoreUpdate","subscribeUpdates","shouldHandleStateChanges","childPropsSelector","isMounted","additionalSubscribeListener","didUnsubscribe","lastThrownError","checkForUpdates","latestStoreState","newChildProps","strictEqual","connect","pure","forwardRef","context","Context","WrappedComponent","wrappedComponentName","selectorFactoryOptions","ConnectFunction","propsContext","reactReduxForwardedRef","useMemo","ContextToUse","isContextConsumer","contextValue","useContext","didStoreComeFromProps","didStoreComeFromContext","getServerState","defaultSelectorFactory","overriddenContextValue","useRef","latestSubscriptionCallbackError","actualChildPropsSelector","subscribeForReact","reactListener","actualChildProps","err","renderedWrappedComponent","React","Connect","forwarded","hoistStatics","Provider","serverState","stabilityCheck","noopCheck","previousState","areInputsEqual","newInputs","lastInputs","useMemoOne","getResult","inputs","initial","useState","isFirstRun","committed","useCache","cache","useCallbackOne","useCallback","prefix","invariant","condition","message","getRect","top","right","bottom","left","width","height","rect","expand","expandBy","shrink","shrinkBy","shift","shiftBy","noSpacing","createBox","borderBox","_ref2$margin","_ref2$border","border","_ref2$padding","padding","marginBox","paddingBox","contentBox","raw","suffix","result","getWindowScroll","offset","original","change","shifted","withScroll","scroll","calculateBox","getBox","el","safeIsNaN","isEqual","second","memoizeOne","resultFn","memoized","newArgs","_i","lastResult","rafSchd","lastArgs","frameId","wrapperFn","log","type","noop$2","getOptions","shared","fromBinding","bindEvents","bindings","sharedOptions","unbindings","binding","unbind","prefix$1","_RbdInvariant","RbdInvariant","_ErrorBoundary","callbacks","ErrorBoundary","dragHandleUsageInstructions","position","onDragStart","start","withLocation","destination","isInHomeList","startPosition","endPosition","withCombine","combine","onDragUpdate","update","location","returnedToStart","onDragEnd","preset","preset$1","origin","add","point1","point2","subtract","isEqual$1","negate","point","patch","line","otherValue","distance","closest$1","points","apply","executeClip","frame","subject","offsetByPosition","spacing","getCorners","scroll$1","increase","axis","withPlaceholder","clip","getSubject","page","scrolled","increased","clipped","scrollDroppable","droppable","newScroll","scrollable","scrollDiff","scrollDisplacement","toDroppableMap","droppables","previous","current","toDraggableMap","draggables","toDroppableList","toDraggableList","getDraggablesInsideDroppable","droppableId","draggable","tryGetDestination","impact","tryGetCombine","removeDraggableFromList","remove","list","item","moveToNextCombine","isMovingForward","insideDestination","previousImpact","getImpact","at","all","closestId","withoutDraggable","indexOfClosest","proposedIndex","before","isHomeOf","noDisplacedBy","emptyGroups","noImpact","noImpact$1","isWithin","lowerBound","upperBound","isPartiallyVisibleThroughFrame","isWithinVertical","isWithinHorizontal","isPartiallyVisibleVertically","isPartiallyVisibleHorizontally","isBiggerVertically","isBiggerHorizontally","isTotallyVisibleThroughFrame","vertical","horizontal","isTotallyVisibleThroughFrameOnAxis","getDroppableDisplaced","displacement","isVisibleInDroppable","isVisibleThroughFrameFn","isVisibleInViewport","viewport","isVisible$1","toBeDisplaced","withDroppableDisplacement","displacedTarget","isPartiallyVisible","isTotallyVisible","isTotallyVisibleOnAxis","getShouldAnimate","forceShouldAnimate","invisible","visible","getTarget","displacedBy","getDisplacementGroups","afterDragging","groups","shouldAnimate","getIndexOfLastItem","indexOfLastItem","goAtEnd","inHomeList","newIndex","calculateReorderImpact","match","withoutDragging","sliceFrom","impacted","didStartAfterCritical","draggableId","afterCritical","fromCombine","combineId","combineWithIndex","fromReorder","currentIndex","firstIndex","lastIndex","moveToNextIndex","wasAt","getCombinedItemDisplacement","displaced","combineWith","isDisplaced","whenCombining","center","displaceBy","distanceFromStartToBorderBoxCenter","box","distanceFromEndToBorderBoxCenter","getCrossAxisBorderBoxCenter","isMoving","goAfter","moveRelativeTo","goBefore","goIntoStart","_ref3","moveInto","whenReordering","draggablePage","closestAfter","closest","withDisplacement","getResultWithoutDroppableDisplacement","getPageBorderBoxCenterFromImpact","withoutDisplacement","scrollViewport","diff","getDraggables$1","ids","tryGetVisible","speculativelyIncrease","maxScrollChange","scrolledViewport","scrolledDroppable","withViewportScroll","withDroppableScroll","withViewportDisplacement","getClientFromPageBorderBoxCenter","pageBorderBoxCenter","withoutPageScrollChange","isTotallyVisibleInNewLocation","newPageBorderBoxCenter","onlyOnMainAxis","changeNeeded","moveToNextPlace","previousPageBorderBoxCenter","previousClientSelection","cautious","getKnownActive","getBestCrossAxisDroppable","active","isBetweenSourceClipped","candidates","activeOfTarget","isBetweenDestinationClipped","array","contains","getCurrentPageBorderBoxCenter","getCurrentPageBorderBox","getClosestDraggable","distanceToA","distanceToB","getDisplacedBy","getRequiredGrowthForPlaceholder","placeholderSize","availableSpace","needsToGrowBy","sum","dimension","withMaxScroll","addPlaceholder","requiredGrowth","added","maxScroll","newFrame","removePlaceholder","oldMaxScroll","moveToNewDroppable","proposed","proposedPageBorderBoxCenter","isGoingBeforeTarget","relativeTo","moveCrossAxis","isOver","whatIsDraggedOver","getDroppableOver$1","moveInDirection","isActuallyOver","isMainAxisMovementAllowed","home","direction","isMovingOnMainAxis","isMovementAllowed","isPositionInFrame","getHasOverlap","getFurthestAway","pageBorderBox","startCenter","sorted","candidate","getDroppableOver","childCenter","crossAxisStart","crossAxisEnd","isContained","isStartContained","isEndContained","offsetRectByPosition","area","getIsDisplaced","atIndex","getReorderImpact","targetRect","targetStart","targetEnd","child","didStartAfterCritical$1","combineThresholdDivisor","getCombineImpact","childRect","threshold","getDragImpact","pageOffset","destinationId","pageBorderBoxWithDroppableScroll","patchDroppableMap","updated","clearUnusedPlaceholder","now","lastDroppable","recomputePlaceholders","cleaned","patched","forcedClientSelection","forcedDimensions","forcedViewport","forcedImpact","scrollJumpRequest","dimensions","clientSelection","client","newImpact","withUpdatedPlaceholders","getDraggables","recompute","getClientBorderBoxCenter","refreshSnap","needsVisibilityCheck","getHomeLocation","descriptor","getLiftEffect","insideHome","rawIndex","effected","patchDimensionMap","offsetDraggable","offset$1","initialWindowScroll","getFrame","adjustAdditionsForScrollChanges","additions","updatedDroppables","windowScrollChange","modified","droppableScrollChange","totalChange","publishWhileDraggingInVirtual","published","withScrollChange","existing","updatedAdditions","wasOverId","wasOver","onLiftImpact","draggingState","isSnapping","postDroppableChange","isEnabledChanging","removeScrollJumpRequest","idle$2","critical","movementMode","isWindowScrollAllowed","isEnabled","isCombineEnabled","reason","completed","dropDuration","newHomeClientOffset","beforeInitialCapture","lift$1","initialPublish","publishWhileDragging","collectionStarting","updateDroppableScroll","updateDroppableIsEnabled","updateDroppableIsCombineEnabled","move","moveByWindowScroll","updateViewportMaxScroll","moveUp","moveDown","moveRight","moveLeft","flush","animateDrop","completeDrop","drop$1","dropPending","dropAnimationFinished","lift","next","request","marshal","style","curves","timings","outOfTheWayTiming","transitions","duration","timing","moveTo","transforms","isCombining","minDropTime","maxDropTime","dropTimeRange","maxDropTimeAtDistance","cancelDropModifier","getDropDuration","distance$1","percentage","withDuration","getNewHomeClientOffset","newClientCenter","getDropImpact","lastImpact","dropMiddleware","didDropInsideDroppable","drop","getWindowScrollBinding","getScrollListener","onWindowScroll","updateScroll","scheduled","isActive","stop","shouldEnd","scrollListener","scrollListener$1","getExpiringAnnounce","announce","wasCalled","isExpired","timeoutId","getAsyncMarshal","entries","execute","timerId","entry","shallow","areLocationsEqual","isCombineEqual","isCriticalEqual","isDraggableEqual","isDroppableEqual","withTimings","getDragStart","mode","responder","data","getDefaultMessage","willExpire","getPublisher","getResponders","asyncMarshal","dragging","beforeCapture","beforeStart","hasCriticalChanged","hasLocationChanged","hasGroupingChanged","responders","publisher","dropAnimationFinishMiddleware","dropAnimationFinish","dropAnimationFlushOnScrollMiddleware","clear","dropAnimationFlushOnScroll","dimensionMarshalStopper","focus","isWatching","shouldStop","autoScroll","autoScroller","pendingDrop","postActionState","pendingDrop$1","composeEnhancers","dimensionMarshal","focusMarshal","styleMarshal","createStore$1","clean$1","createPublisher","registry","staging","collect","removals","getMaxScroll","scrollHeight","scrollWidth","getDocumentElement","doc","getMaxWindowScroll","getViewport","getInitialPublish","scrollOptions","windowScroll","shouldPublishUpdate","createDimensionMarshal","collection","stopPublishing","subscriber","canStartDrag","scrollWindow","getScrollableDroppables","getScrollableDroppableOver","getBestScrollableDroppable","defaultAutoScrollerOptions","getDistanceThresholds","container","getAutoScrollerOptions","autoScrollerOptions","startScrollingFrom","maxScrollValueAt","getPercentage","startOfRange","endOfRange","range","minScroll","getValueFromDistance","distanceToEdge","thresholds","percentageFromStartScrollingFrom","dampenValueByTime","proposedScroll","dragStartTime","accelerateAt","stopAt","runTime","betweenAccelerateAtAndStopAtPercentage","getValue","shouldUseTimeDampening","getScrollOnAxis","distanceToEdges","adjustForSizeLimits","isTooBigVertically","isTooBigHorizontally","clean","getScroll$1","required","limited","smallestSigned","getOverlap","getRemainder","targetScroll","overlap","canPartiallyScroll","rawMax","smallestChange","canScrollWindow","getWindowOverlap","canScrollDroppable","getDroppableOverlap","getWindowScrollChange","getDroppableScrollChange","createFluidScroller","scheduleWindowScroll","scheduleDroppableScroll","tryScroll","wasScrollNeeded","fakeScrollCallback","createJumpScroller","moveByOffset","scrollDroppableAsMuchAsItCan","whatTheDroppableCanScroll","scrollWindowAsMuchAsItCan","whatTheWindowCanScroll","droppableRemainder","windowRemainder","createAutoScroller","fluidScroller","jumpScroll","dragHandle","base","scrollContainer","makeGetSelector","attribute","getStyles","rules","property","rule","noPointerEvents","getStyles$1","contextId","getSelector","dragHandle$1","grabCursor","draggable$1","transition","droppable$1","useLayoutEffect$1","getHead","head","createStyleEl","nonce","useStyleMarshal","alwaysRef","dynamicRef","setDynamicStyle","setAlwaysStyle","always","dynamic","dropping","resting","querySelectorAll","parentNode","selector","getWindowFromEl","_a","isHtmlElement","findDragHandle","possible","handle","useFocusMarshal","entriesRef","recordRef","restoreFocusFrameRef","isMountedRef","register","tryGiveFocus","tryGiveFocusTo","tryShiftRecord","redirectTo","tryRestoreFocusRecorded","tryRecordFocus","focused","createRegistry","subscribers","cb","notify","findDraggableById","getDraggableById","draggableAPI","findDroppableById","getDroppableById","droppableAPI","useRegistry","StoreContext","getBodyElement","body","visuallyHidden","visuallyHidden$1","getId","useAnnouncer","count$1","defaults","useDeprecatedUniqueId","useUniqueId","useUniqueId$1","getElementId","uniqueId","useHiddenTextElement","text","AppContext","usePrevious","create","lock","isClaimed","claim","abandon","newLock","release","tryAbandon","isDragging","tab","enter","escape","space","pageUp","pageDown","end","arrowLeft","arrowUp","arrowRight","arrowDown","preventedKeys","preventStandardKeyEvents","supportedEventName","eventName","supportedPageVisibilityEventName","primaryButton","sloppyClickThreshold","isSloppyClickThresholdExceeded","idle$1","getCaptureBindings","cancel","getPhase","setPhase","button","clientX","clientY","phase","pending","actions","useMouseSensor","api","phaseRef","unbindEventsRef","startCaptureBinding","startPendingDrag","preventForcePressBinding","listenForCapture","bindCapturingEvents","noop$1","scrollJumpKeys","getDraggingBindings","useKeyboardSensor","preDrag","isCapturing","idle","timeForLongPress","forcePressThreshold","getWindowBindings","getHandleBindings","touch","shouldRespect","useTouchSensor","unbindTarget","unbindWindow","startDragging","longPressTimerId","interactiveTagNames","isAnInteractiveElement","parent","isEventInInteractiveElement","getBorderBoxCenterPosition","isElement","supportedMatchesName","closestPonyfill","findClosestDragHandleFromEvent","tryGetClosestDraggableIdFromEvent","findDraggable","preventDefault","expected","isLockActive","shouldWarn","canStart","lockAPI","tryStart","forceSensorStop","sourceEvent","getShouldRespectForcePress","tryDispatch","getAction","tryDispatchWhenDragging","finish","fluidLift","move$1","snapLift","abortPreDrag","defaultSensors","useSensorMarshal","_ref4","customSensors","enableDefaultSensors","useSensors","tryAbandonLock","canGetLock","tryGetLock","forceStop","findClosestDraggableId","findOptionsForDraggable","tryReleaseLock","isLockClaimed","createResponders","onBeforeCapureCallback","flushSync","createAutoScrollerOptions","getStore","lazyRef","App","setCallbacks","sensors","lazyStoreRef","lastPropsRef","dragHandleUsageInstructionsId","lazyDispatch","marshalCallbacks","tryResetStore","appCallbacks","getCanLift","getIsMovementAllowed","appContext","count","useDeprecatedUniqueContextId","useUniqueContextId","useUniqueContextId$1","DragDropContext","zIndexOptions","getDraggingTransition","shouldAnimateDragMovement","getDraggingOpacity","isDropAnimating","getShouldDraggingAnimate","getDraggingStyle","transform","getSecondaryStyle","secondary","getStyle$1","mapped","getDimension$1","computedStyles","placeholder","useDraggablePublisher","getDraggableRef","canDragInteractiveElements","shouldRespectForcePress","getDimension","publishedRef","isFirstPublishRef","DroppableContext","useRequiredContext","preventHtml5Dnd","Draggable","setRef","getRef","isClone","dropAnimationFinishedAction","forPublisher","dragHandleProps","onMoveEnd","provided","onTransitionEnd","rubric","Draggable$1","isStrictEqual","whatIsDraggedOverFromResult","getCombineWithFromResult","getCombineWithFromImpact","getDraggableSelector","memoizedOffset","getMemoizedSnapshot","draggingOver","getMemoizedProps","getSecondarySnapshot","combineTargetFor","atRest","getSecondarySelector","shouldAnimateDisplacement","getFallback","getProps","ownId","draggingId","visualDisplacement","isAfterCriticalInVirtualList","makeMapStateToProps$1","draggingSelector","secondarySelector","mapDispatchToProps$1","ConnectedDraggable","ConnectedDraggable$1","PrivateDraggable","PublicDraggable","isScroll","isAuto","isEither","overflow","isElementScrollable","isBodyScrollable","getClosestScrollable","getClosestScrollable$1","getScroll","getIsFixed","getEnv","closestScrollable","isFixedOnPage","getDroppableDimension","scrollSize","frameClient","getClient","targetRef","env","isDropDisabled","shouldClipSubject","immediate","delayed","getListenerOptions","getClosestScrollableFromDrag","useDroppablePublisher","whileDraggingRef","previousRef","publishedDescriptorRef","memoizedUpdateScroll","getClosestScroll","scheduleScrollUpdate","onClosestScroll","getDimensionAndWatchScroll","getScrollWhileDragging","dragStopped","noop","empty","getSize","isAnimatingOpenOnMount","animate","getStyle","size","Placeholder","animateOpenTimerRef","tryClearAnimateOpenTimer","onClose","setIsAnimatingOpenOnMount","onSizeChangeEnd","Placeholder$1","_AnimateInOut","AnimateInOut","Droppable","droppableRef","placeholderRef","ignoreContainerClipping","snapshot","useClone","getContainerForClone","getDroppableRef","setDroppableRef","setPlaceholderRef","onPlaceholderTransitionEnd","isUsingCloneFor","droppableContext","getClone","render","node","draggableProvided","draggableSnapshot","ReactDOM","Droppable$1","getBody","defaultProps","attachDefaultPropsToOwnProps","defaultPropKey","isMatchingType","getDraggable","makeMapStateToProps","idleWithAnimation","idleWithoutAnimation","getDraggableRubric","getMapProps","isDraggingOverForConsumer","isDraggingOverForImpact","renderClone","ownPropsWithDefaultProps","isDraggingOver","wasCombining","isHome","ConnectedDroppable","ConnectedDroppable$1","DealCard","deal","redirect","useRedirect","handleClick","Box","Card","ReferenceField","LogoField","Typography","DealColumn","stage","deals","stageNames","droppableProvided","DealListContent","unorderedDeals","isPending","refetch","useListContext","dataProvider","useDataProvider","dealsByStage","setDealsByStage","getDealsByStage","newDealsByStage","sourceStage","destinationStage","sourceDeal","destinationDeal","updateDealStageLocal","updateDealStage","stages","column","sourceColumn","destinationColumn","columnDeals","destinationIndex","sourceDeals","destinationDeals","types","typeChoices","validateRequired","DealCreate","open","allDeals","handleClose","queryClient","useQueryClient","onSuccess","oldDeal","dealsById","acc","identity","useGetIdentity","Dialog","Create","ReferenceInput","AutocompleteInput","DateInput","SelectInput","stageChoices","ContactList","contact","Link","RouterLink","DealShow","DialogContent","ShowBase","DealShowContent","useRecordContext","CompanyAvatar","ReferenceArrayField","Divider","ReferenceManyField","NotesIterator","OnlyMineInput","filterValues","displayedFilters","setFilters","useListFilterContext","newFilterValues","FormControlLabel","Switch","DealList","useLocation","matchCreate","matchPath","matchShow","Fragment","List","dealFilters","DealActions","TopToolbar","FilterButton","ExportButton","CreateButton"],"mappings":"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","x_google_ignoreList":[3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33]} \ No newline at end of file diff --git a/assets/index-43HxY5vD.js b/assets/index-43HxY5vD.js deleted file mode 100644 index 90798be..0000000 --- a/assets/index-43HxY5vD.js +++ /dev/null @@ -1,324 +0,0 @@ -"use client";var MP=Object.defineProperty;var FQ=(e,t,n)=>t in e?MP(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var i=(e,t)=>MP(e,"name",{value:t,configurable:!0});var nt=(e,t,n)=>(FQ(e,typeof t!="symbol"?t+"":t,n),n),Rw=(e,t,n)=>{if(!t.has(e))throw TypeError("Cannot "+n)};var ee=(e,t,n)=>(Rw(e,t,"read from private field"),n?n.call(e):t.get(e)),ct=(e,t,n)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,n)},qe=(e,t,n,r)=>(Rw(e,t,"write to private field"),r?r.call(e,n):t.set(e,n),n);var Gg=(e,t,n,r)=>({set _(a){qe(e,t,a,n)},get _(){return ee(e,t,r)}}),$t=(e,t,n)=>(Rw(e,t,"access private method"),n);function bL(e,t){for(var n=0;nr[a]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}i(bL,"_mergeNamespaces");i(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const a of document.querySelectorAll('link[rel="modulepreload"]'))r(a);new MutationObserver(a=>{for(const o of a)if(o.type==="childList")for(const s of o.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&r(s)}).observe(document,{childList:!0,subtree:!0});function n(a){const o={};return a.integrity&&(o.integrity=a.integrity),a.referrerPolicy&&(o.referrerPolicy=a.referrerPolicy),a.crossOrigin==="use-credentials"?o.credentials="include":a.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}i(n,"getFetchOpts");function r(a){if(a.ep)return;a.ep=!0;const o=n(a);fetch(a.href,o)}i(r,"processPreload")},"polyfill")();var Wp=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Gt(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}i(Gt,"getDefaultExportFromCjs");function zi(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var n=i(function r(){return this instanceof r?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)},"a");n.prototype=t.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(e).forEach(function(r){var a=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(n,r,a.get?a:{enumerable:!0,get:function(){return e[r]}})}),n}i(zi,"getAugmentedNamespace");var xL={exports:{}},M0={},wL={exports:{}},It={};/** - * @license React - * react.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var Yh=Symbol.for("react.element"),BQ=Symbol.for("react.portal"),WQ=Symbol.for("react.fragment"),UQ=Symbol.for("react.strict_mode"),HQ=Symbol.for("react.profiler"),qQ=Symbol.for("react.provider"),VQ=Symbol.for("react.context"),GQ=Symbol.for("react.forward_ref"),KQ=Symbol.for("react.suspense"),JQ=Symbol.for("react.memo"),YQ=Symbol.for("react.lazy"),OP=Symbol.iterator;function QQ(e){return e===null||typeof e!="object"?null:(e=OP&&e[OP]||e["@@iterator"],typeof e=="function"?e:null)}i(QQ,"A$7");var CL={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},SL=Object.assign,jL={};function kf(e,t,n){this.props=e,this.context=t,this.refs=jL,this.updater=n||CL}i(kf,"E$4");kf.prototype.isReactComponent={};kf.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): 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")};kf.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function _L(){}i(_L,"F$2");_L.prototype=kf.prototype;function lk(e,t,n){this.props=e,this.context=t,this.refs=jL,this.updater=n||CL}i(lk,"G$1");var uk=lk.prototype=new _L;uk.constructor=lk;SL(uk,kf.prototype);uk.isPureReactComponent=!0;var zP=Array.isArray,kL=Object.prototype.hasOwnProperty,dk={current:null},$L={key:!0,ref:!0,__self:!0,__source:!0};function EL(e,t,n){var r,a={},o=null,s=null;if(t!=null)for(r in t.ref!==void 0&&(s=t.ref),t.key!==void 0&&(o=""+t.key),t)kL.call(t,r)&&!$L.hasOwnProperty(r)&&(a[r]=t[r]);var c=arguments.length-2;if(c===1)a.children=n;else if(1>>1,ue=L[se];if(0>>1;se<_e;){var le=2*(se+1)-1,V=L[le],q=le+1,Y=L[q];if(0>a(V,K))qa(Y,V)?(L[se]=Y,L[q]=K,se=q):(L[se]=V,L[le]=K,se=le);else if(qa(Y,K))L[se]=Y,L[q]=K,se=q;else break e}}return B}i(r,"k");function a(L,B){var K=L.sortIndex-B.sortIndex;return K!==0?K:L.id-B.id}if(i(a,"g"),typeof performance=="object"&&typeof performance.now=="function"){var o=performance;e.unstable_now=function(){return o.now()}}else{var s=Date,c=s.now();e.unstable_now=function(){return s.now()-c}}var l=[],u=[],d=1,f=null,m=3,g=!1,h=!1,y=!1,b=typeof setTimeout=="function"?setTimeout:null,x=typeof clearTimeout=="function"?clearTimeout:null,w=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function C(L){for(var B=n(u);B!==null;){if(B.callback===null)r(u);else if(B.startTime<=L)r(u),B.sortIndex=B.expirationTime,t(l,B);else break;B=n(u)}}i(C,"G");function j(L){if(y=!1,C(L),!h)if(n(l)!==null)h=!0,H(_);else{var B=n(u);B!==null&&F(j,B.startTime-L)}}i(j,"H");function _(L,B){h=!1,y&&(y=!1,x($),$=-1),g=!0;var K=m;try{for(C(B),f=n(l);f!==null&&(!(f.expirationTime>B)||L&&!R());){var se=f.callback;if(typeof se=="function"){f.callback=null,m=f.priorityLevel;var ue=se(f.expirationTime<=B);B=e.unstable_now(),typeof ue=="function"?f.callback=ue:f===n(l)&&r(l),C(B)}else r(l);f=n(l)}if(f!==null)var _e=!0;else{var le=n(u);le!==null&&F(j,le.startTime-B),_e=!1}return _e}finally{f=null,m=K,g=!1}}i(_,"J");var S=!1,k=null,$=-1,E=5,P=-1;function R(){return!(e.unstable_now()-PL||125se?(L.sortIndex=K,t(u,L),n(l)===null&&L===n(u)&&(y?(x($),$=-1):y=!0,F(j,K-se))):(L.sortIndex=ue,t(l,L),h||g||(h=!0,H(_))),L},e.unstable_shouldYield=R,e.unstable_wrapCallback=function(L){var B=m;return function(){var K=m;m=B;try{return L.apply(this,arguments)}finally{m=K}}}})(ML);TL.exports=ML;var cX=TL.exports;/** - * @license React - * react-dom.profiling.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error);var OL=v,ga=cX;function Te(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),ES=Object.prototype.hasOwnProperty,lX=/^[: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]*$/,LP={},DP={};function uX(e){return ES.call(DP,e)?!0:ES.call(LP,e)?!1:lX.test(e)?DP[e]=!0:(LP[e]=!0,!1)}i(uX,"na");function dX(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}i(dX,"oa");function fX(e,t,n,r){if(t===null||typeof t>"u"||dX(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}i(fX,"pa");function Qr(e,t,n,r,a,o,s){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=a,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=o,this.removeEmptyString=s}i(Qr,"qa");var $r={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){$r[e]=new Qr(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];$r[t]=new Qr(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){$r[e]=new Qr(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){$r[e]=new Qr(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){$r[e]=new Qr(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){$r[e]=new Qr(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){$r[e]=new Qr(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){$r[e]=new Qr(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){$r[e]=new Qr(e,5,!1,e.toLowerCase(),null,!1,!1)});var pk=/[\-:]([a-z])/g;function mk(e){return e[1].toUpperCase()}i(mk,"ta");"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(pk,mk);$r[t]=new Qr(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(pk,mk);$r[t]=new Qr(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(pk,mk);$r[t]=new Qr(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){$r[e]=new Qr(e,1,!1,e.toLowerCase(),null,!1,!1)});$r.xlinkHref=new Qr("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){$r[e]=new Qr(e,1,!1,e.toLowerCase(),null,!0,!0)});function hk(e,t,n,r){var a=$r.hasOwnProperty(t)?$r[t]:null;(a!==null?a.type!==0:r||!(2c||a[s]!==o[c]){var l=` -`+a[s].replace(" at new "," at ");return e.displayName&&l.includes("")&&(l=l.replace("",e.displayName)),l}while(1<=s&&0<=c);break}}}finally{Tw=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?Up(e):""}i(Mw,"Oa");function pX(e){switch(e.tag){case 5:return Up(e.type);case 16:return Up("Lazy");case 13:return Up("Suspense");case 19:return Up("SuspenseList");case 0:case 2:case 15:return e=Mw(e.type,!1),e;case 11:return e=Mw(e.type.render,!1),e;case 1:return e=Mw(e.type,!0),e;default:return""}}i(pX,"Pa");function TS(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Ru:return"Fragment";case Eu:return"Portal";case RS:return"Profiler";case gk:return"StrictMode";case AS:return"Suspense";case PS:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case LL:return(e.displayName||"Context")+".Consumer";case IL:return(e._context.displayName||"Context")+".Provider";case vk:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case yk:return t=e.displayName||null,t!==null?t:TS(e.type)||"Memo";case zs:t=e._payload,e=e._init;try{return TS(e(t))}catch{}}return null}i(TS,"Qa");function mX(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return TS(t);case 8:return t===gk?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}i(mX,"Ra");function pc(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}i(pc,"Sa");function NL(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}i(NL,"Ta");function hX(e){var t=NL(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var a=n.get,o=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return a.call(this)},set:function(s){r=""+s,o.call(this,s)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(s){r=""+s},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}i(hX,"Ua");function Yg(e){e._valueTracker||(e._valueTracker=hX(e))}i(Yg,"Va");function FL(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=NL(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}i(FL,"Wa");function Iy(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}}i(Iy,"Xa");function MS(e,t){var n=t.checked;return kn({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}i(MS,"Ya");function FP(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=pc(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}i(FP,"Za");function BL(e,t){t=t.checked,t!=null&&hk(e,"checked",t,!1)}i(BL,"$a");function OS(e,t){BL(e,t);var n=pc(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?zS(e,t.type,n):t.hasOwnProperty("defaultValue")&&zS(e,t.type,pc(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}i(OS,"ab");function BP(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}i(BP,"cb");function zS(e,t,n){(t!=="number"||Iy(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}i(zS,"bb");var Hp=Array.isArray;function Yu(e,t,n,r){if(e=e.options,t){t={};for(var a=0;a"+t.valueOf().toString()+"",t=Qg.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function $m(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}i($m,"nb");var em={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},gX=["Webkit","ms","Moz","O"];Object.keys(em).forEach(function(e){gX.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),em[t]=em[e]})});function qL(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||em.hasOwnProperty(e)&&em[e]?(""+t).trim():t+"px"}i(qL,"rb");function VL(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,a=qL(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,a):e[n]=a}}i(VL,"sb");var vX=kn({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function DS(e,t){if(t){if(vX[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(Te(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(Te(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(Te(61))}if(t.style!=null&&typeof t.style!="object")throw Error(Te(62))}}i(DS,"ub");function NS(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";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}}i(NS,"vb");var FS=null;function bk(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}i(bk,"xb");var BS=null,Qu=null,Xu=null;function HP(e){if(e=Zh(e)){if(typeof BS!="function")throw Error(Te(280));var t=e.stateNode;t&&(t=N0(t),BS(e.stateNode,e.type,t))}}i(HP,"Bb");function GL(e){Qu?Xu?Xu.push(e):Xu=[e]:Qu=e}i(GL,"Eb");function KL(){if(Qu){var e=Qu,t=Xu;if(Xu=Qu=null,HP(e),t)for(e=0;en;n++){var r=MX(t);e.set(t,r),t*=2}return e}i(RX,"pc");function GP(){Xe!==null&&typeof Xe.markCommitStopped=="function"&&Xe.markCommitStopped()}i(GP,"rc");function Rm(e){Xe!==null&&typeof Xe.markComponentRenderStarted=="function"&&Xe.markComponentRenderStarted(e)}i(Rm,"sc");function Bd(){Xe!==null&&typeof Xe.markComponentRenderStopped=="function"&&Xe.markComponentRenderStopped()}i(Bd,"tc");function nD(e){Xe!==null&&typeof Xe.markComponentLayoutEffectUnmountStarted=="function"&&Xe.markComponentLayoutEffectUnmountStarted(e)}i(nD,"uc");function rD(){Xe!==null&&typeof Xe.markComponentLayoutEffectUnmountStopped=="function"&&Xe.markComponentLayoutEffectUnmountStopped()}i(rD,"vc");function aD(e){Xe!==null&&typeof Xe.markRenderStarted=="function"&&Xe.markRenderStarted(e)}i(aD,"wc");function oD(){Xe!==null&&typeof Xe.markRenderStopped=="function"&&Xe.markRenderStopped()}i(oD,"xc");function Ny(e,t){Xe!==null&&typeof Xe.markStateUpdateScheduled=="function"&&Xe.markStateUpdateScheduled(e,t)}i(Ny,"yc");var Aa=Math.clz32?Math.clz32:TX,AX=Math.log,PX=Math.LN2;function TX(e){return e>>>=0,e===0?32:31-(AX(e)/PX|0)|0}i(TX,"zc");function MX(e){if(e&1)return"Sync";if(e&2)return"InputContinuousHydration";if(e&4)return"InputContinuous";if(e&8)return"DefaultHydration";if(e&16)return"Default";if(e&32)return"TransitionHydration";if(e&4194240)return"Transition";if(e&130023424)return"Retry";if(e&134217728)return"SelectiveHydration";if(e&268435456)return"IdleHydration";if(e&536870912)return"Idle";if(e&1073741824)return"Offscreen"}i(MX,"qc");var Xg=64,Zg=4194304;function qp(e){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: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 e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}i(qp,"Fc");function Fy(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,a=e.suspendedLanes,o=e.pingedLanes,s=n&268435455;if(s!==0){var c=s&~a;c!==0?r=qp(c):(o&=s,o!==0&&(r=qp(o)))}else s=n&~a,s!==0?r=qp(s):o!==0&&(r=qp(o));if(r===0)return 0;if(t!==0&&t!==r&&!(t&a)&&(a=r&-r,o=t&-t,a>=o||a===16&&(o&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}i(zw,"Lc");function Qh(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Aa(t),e[t]=n}i(Qh,"Mc");function IX(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=nm),eT=" ",tT=!1;function yD(e,t){switch(e){case"keyup":return uZ.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}i(yD,"ue$2");function bD(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}i(bD,"ve$2");var Au=!1;function fZ(e,t){switch(e){case"compositionend":return bD(t);case"keypress":return t.which!==32?null:(tT=!0,eT);case"textInput":return e=t.data,e===eT&&tT?null:e;default:return null}}i(fZ,"xe$1");function pZ(e,t){if(Au)return e==="compositionend"||!Ek&&yD(e,t)?(e=gD(),Bv=_k=Js=null,Au=!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)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=oT(n)}}i(iT,"Ye");function SD(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?SD(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}i(SD,"Ze$1");function jD(){for(var e=window,t=Iy();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Iy(e.document)}return t}i(jD,"$e$2");function Rk(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")}i(Rk,"af");function CZ(e){var t=jD(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&SD(n.ownerDocument.documentElement,n)){if(r!==null&&Rk(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var a=n.textContent.length,o=Math.min(r.start,a);r=r.end===void 0?o:Math.min(r.end,a),!e.extend&&o>r&&(a=r,r=o,o=a),a=iT(n,o);var s=iT(n,r);a&&s&&(e.rangeCount!==1||e.anchorNode!==a.node||e.anchorOffset!==a.offset||e.focusNode!==s.node||e.focusOffset!==s.offset)&&(t=t.createRange(),t.setStart(a.node,a.offset),e.removeAllRanges(),o>r?(e.addRange(t),e.extend(s.node,s.offset)):(t.setEnd(s.node,s.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,Pu=null,GS=null,am=null,KS=!1;function sT(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;KS||Pu==null||Pu!==Iy(r)||(r=Pu,"selectionStart"in r&&Rk(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}),am&&Om(am,r)||(am=r,r=Uy(GS,"onSelect"),0Ou||(e.current=ej[Ou],ej[Ou]=null,Ou--)}i(bn,"G");function mn(e,t){Ou++,ej[Ou]=e.current,e.current=t}i(mn,"H$1");var mc={},Ir=wc(mc),ua=wc(!1),Sl=mc;function Wd(e,t){var n=e.type.contextTypes;if(!n)return mc;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var a={},o;for(o in n)a[o]=t[o];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=a),a}i(Wd,"lg");function da(e){return e=e.childContextTypes,e!=null}i(da,"mg");function qy(){bn(ua),bn(Ir)}i(qy,"ng");function mT(e,t,n){if(Ir.current!==mc)throw Error(Te(168));mn(Ir,t),mn(ua,n)}i(mT,"og");function MD(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var a in r)if(!(a in t))throw Error(Te(108,mX(e)||"Unknown",a));return kn({},n,r)}i(MD,"pg");function Vy(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||mc,Sl=Ir.current,mn(Ir,e),mn(ua,ua.current),!0}i(Vy,"qg");function hT(e,t,n){var r=e.stateNode;if(!r)throw Error(Te(169));n?(e=MD(e,t,Sl),r.__reactInternalMemoizedMergedChildContext=e,bn(ua),bn(Ir),mn(Ir,e)):bn(ua),mn(ua,n)}i(hT,"rg");var Ji=null,F0=!1,Gw=!1;function OD(e){Ji===null?Ji=[e]:Ji.push(e)}i(OD,"vg");function OZ(e){F0=!0,OD(e)}i(OZ,"wg");function Cc(){if(!Gw&&Ji!==null){Gw=!0;var e=0,t=tn;try{var n=Ji;for(tn=1;e>=s,a-=s,ns=1<<32-Aa(t)+a|n<$?(E=k,k=null):E=k.sibling;var P=m(x,k,C[$],j);if(P===null){k===null&&(k=E);break}e&&k&&P.alternate===null&&t(x,k),w=o(P,w,$),S===null?_=P:S.sibling=P,S=P,k=E}if($===C.length)return n(x,k),jn&&Ic(x,$),_;if(k===null){for(;$$?(E=k,k=null):E=k.sibling;var R=m(x,k,P.value,j);if(R===null){k===null&&(k=E);break}e&&k&&R.alternate===null&&t(x,k),w=o(R,w,$),S===null?_=R:S.sibling=R,S=R,k=E}if(P.done)return n(x,k),jn&&Ic(x,$),_;if(k===null){for(;!P.done;$++,P=C.next())P=f(x,P.value,j),P!==null&&(w=o(P,w,$),S===null?_=P:S.sibling=P,S=P);return jn&&Ic(x,$),_}for(k=r(x,k);!P.done;$++,P=C.next())P=g(k,x,$,P.value,j),P!==null&&(e&&P.alternate!==null&&k.delete(P.key===null?$:P.key),w=o(P,w,$),S===null?_=P:S.sibling=P,S=P);return e&&k.forEach(function(T){return t(x,T)}),jn&&Ic(x,$),_}i(y,"w");function b(x,w,C,j){if(typeof C=="object"&&C!==null&&C.type===Ru&&C.key===null&&(C=C.props.children),typeof C=="object"&&C!==null){switch(C.$$typeof){case Jg:e:{for(var _=C.key,S=w;S!==null;){if(S.key===_){if(_=C.type,_===Ru){if(S.tag===7){n(x,S.sibling),w=a(S,C.props.children),w.return=x,x=w;break e}}else if(S.elementType===_||typeof _=="object"&&_!==null&&_.$$typeof===zs&&CT(_)===S.type){n(x,S.sibling),w=a(S,C.props),w.ref=hp(x,S,C),w.return=x,x=w;break e}n(x,S);break}else t(x,S);S=S.sibling}C.type===Ru?(w=hl(C.props.children,x.mode,j,C.key),w.return=x,x=w):(j=Qv(C.type,C.key,C.props,null,x.mode,j),j.ref=hp(x,w,C),j.return=x,x=j)}return s(x);case Eu:e:{for(S=C.key;w!==null;){if(w.key===S)if(w.tag===4&&w.stateNode.containerInfo===C.containerInfo&&w.stateNode.implementation===C.implementation){n(x,w.sibling),w=a(w,C.children||[]),w.return=x,x=w;break e}else{n(x,w);break}else t(x,w);w=w.sibling}w=n2(C,x.mode,j),w.return=x,x=w}return s(x);case zs:return S=C._init,b(x,w,S(C._payload),j)}if(Hp(C))return h(x,w,C,j);if(up(C))return y(x,w,C,j);iv(x,C)}return typeof C=="string"&&C!==""||typeof C=="number"?(C=""+C,w!==null&&w.tag===6?(n(x,w.sibling),w=a(w,C),w.return=x,x=w):(n(x,w),w=t2(C,x.mode,j),w.return=x,x=w),s(x)):n(x,w)}return i(b,"C"),b}i(WD,"Kh");var Hd=WD(!0),UD=WD(!1),eg={},yi=wc(eg),Dm=wc(eg),Nm=wc(eg);function Vc(e){if(e===eg)throw Error(Te(174));return e}i(Vc,"Wh");function Dk(e,t){switch(mn(Nm,t),mn(Dm,e),mn(yi,eg),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:LS(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=LS(t,e)}bn(yi),mn(yi,t)}i(Dk,"Xh");function qd(){bn(yi),bn(Dm),bn(Nm)}i(qd,"Yh");function HD(e){Vc(Nm.current);var t=Vc(yi.current),n=LS(t,e.type);t!==n&&(mn(Dm,e),mn(yi,n))}i(HD,"Zh");function Nk(e){Dm.current===e&&(bn(yi),bn(Dm))}i(Nk,"$h");var $n=wc(0);function Xy(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)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}i(Xy,"ai$1");var Kw=[];function Fk(){for(var e=0;en?n:4,e(!0);var r=Jw.transition;Jw.transition={};try{e(!1),t()}finally{tn=n,Jw.transition=r}}i(LZ,"Vi");function iN(){return fo().memoizedState}i(iN,"Wi$1");function DZ(e,t,n){var r=cc(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},sN(e))cN(t,n);else if(n=DD(e,t,n,r),n!==null){var a=Gr();zo(n,e,r,a),lN(n,t,r)}Ny(e,r)}i(DZ,"Xi$1");function NZ(e,t,n){var r=cc(e),a={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(sN(e))cN(t,a);else{var o=e.alternate;if(e.lanes===0&&(o===null||o.lanes===0)&&(o=t.lastRenderedReducer,o!==null))try{var s=t.lastRenderedState,c=o(s,n);if(a.hasEagerState=!0,a.eagerState=c,Io(c,s)){var l=t.interleaved;l===null?(a.next=a,Ik(t)):(a.next=l.next,l.next=a),t.interleaved=a;return}}catch{}finally{}n=DD(e,t,a,r),n!==null&&(a=Gr(),zo(n,e,r,a),lN(n,t,r))}Ny(e,r)}i(NZ,"Gi$1");function sN(e){var t=e.alternate;return e===Rn||t!==null&&t===Rn}i(sN,"Yi");function cN(e,t){om=Zy=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}i(cN,"Zi$1");function lN(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Ck(e,n)}}i(lN,"$i$1");var eb={readContext:uo,useCallback:Rr,useContext:Rr,useEffect:Rr,useImperativeHandle:Rr,useInsertionEffect:Rr,useLayoutEffect:Rr,useMemo:Rr,useReducer:Rr,useRef:Rr,useState:Rr,useDebugValue:Rr,useDeferredValue:Rr,useTransition:Rr,useMutableSource:Rr,useSyncExternalStore:Rr,useId:Rr,unstable_isNewReconciler:!1},FZ={readContext:uo,useCallback:function(e,t){return Qo().memoizedState=[e,t===void 0?null:t],e},useContext:uo,useEffect:jT,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,qv(4194308,4,tN.bind(null,t,e),n)},useLayoutEffect:function(e,t){return qv(4194308,4,e,t)},useInsertionEffect:function(e,t){return qv(4,2,e,t)},useMemo:function(e,t){var n=Qo();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Qo();return t=n!==void 0?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=DZ.bind(null,Rn,e),[r.memoizedState,e]},useRef:function(e){var t=Qo();return e={current:e},t.memoizedState=e},useState:ST,useDebugValue:qk,useDeferredValue:function(e){return Qo().memoizedState=e},useTransition:function(){var e=ST(!1),t=e[0];return e=LZ.bind(null,e[1]),Qo().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=Rn,a=Qo();if(jn){if(n===void 0)throw Error(Te(407));n=n()}else{if(n=t(),mr===null)throw Error(Te(349));_l&30||GD(r,t,n)}a.memoizedState=n;var o={value:n,getSnapshot:t};return a.queue=o,jT(JD.bind(null,r,o,e),[e]),r.flags|=2048,Wm(9,KD.bind(null,r,o,n,t),void 0,null),n},useId:function(){var e=Qo(),t=mr.identifierPrefix;if(jn){var n=rs,r=ns;n=(r&~(1<<32-Aa(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=Fm++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=s.createElement(n,{is:r.is}):(e=s.createElement(n),n==="select"&&(s=e,r.multiple?s.multiple=!0:r.size&&(s.size=r.size))):e=s.createElementNS(e,n),e[di]=t,e[Lm]=r,yN(e,t,!1,!1),t.stateNode=e;e:{switch(s=NS(n,r),n){case"dialog":gn("cancel",e),gn("close",e),a=r;break;case"iframe":case"object":case"embed":gn("load",e),a=r;break;case"video":case"audio":for(a=0;aJd&&(t.flags|=128,r=!0,gp(o,!1),t.lanes=4194304)}else{if(!r)if(e=Xy(s),e!==null){if(t.flags|=128,r=!0,e=e.updateQueue,e!==null&&(t.updateQueue=e,t.flags|=4),gp(o,!0),o.tail===null&&o.tailMode==="hidden"&&!s.alternate&&!jn)return wr(t),null}else 2*Bn()-o.renderingStartTime>Jd&&n!==1073741824&&(t.flags|=128,r=!0,gp(o,!1),t.lanes=4194304);o.isBackwards?(s.sibling=t.child,t.child=s):(e=o.last,e!==null?e.sibling=s:t.child=s,o.last=s)}return o.tail!==null?(t=o.tail,o.rendering=t,o.tail=t.sibling,o.renderingStartTime=Bn(),t.sibling=null,e=$n.current,mn($n,r?e&1|2:e&1),t):(wr(t),null);case 22:case 23:return Qk(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?Wr&1073741824&&(wr(t),t.subtreeFlags&6&&(t.flags|=8192)):wr(t),null;case 24:return null;case 25:return null}throw Error(Te(156,t.tag))}i(MT,"lk");function GZ(e,t){switch(Pk(t),t.tag){case 1:return da(t.type)&&qy(),e=t.flags,e&65536?(t.flags=e&-65537|128,t.mode&2&&ij(t),t):null;case 3:return qd(),bn(ua),bn(Ir),Fk(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return Nk(t),null;case 13:if(bn($n),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(Te(340));Ud()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t.mode&2&&ij(t),t):null;case 19:return bn($n),null;case 4:return qd(),null;case 10:return zk(t.type._context),null;case 22:case 23:return Qk(),null;case 24:return null;default:return null}}i(GZ,"pk");var cv=!1,Mr=!1,KZ=typeof WeakSet=="function"?WeakSet:Set,ot=null,Gd=null,Kd=null;function wN(e,t){if(t.props=e.memoizedProps,t.state=e.memoizedState,e.mode&2)try{xi(),t.componentWillUnmount()}finally{bi(e)}else t.componentWillUnmount()}i(wN,"vk");function Du(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{if(e.mode&2)try{xi(),n(null)}finally{bi(e)}else n(null)}catch(r){Sn(e,t,r)}else n.current=null}i(Du,"wk");function Kv(e,t,n){try{n()}catch(r){Sn(e,t,r)}}i(Kv,"xk");var OT=!1;function JZ(e,t){if(JS=By,e=jD(),Rk(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var a=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break e}var s=0,c=-1,l=-1,u=0,d=0,f=e,m=null;t:for(;;){for(var g;f!==n||a!==0&&f.nodeType!==3||(c=s+a),f!==o||r!==0&&f.nodeType!==3||(l=s+r),f.nodeType===3&&(s+=f.nodeValue.length),(g=f.firstChild)!==null;)m=f,f=g;for(;;){if(f===e)break t;if(m===n&&++u===a&&(c=s),m===o&&++d===r&&(l=s),(g=f.nextSibling)!==null)break;f=m,m=f.parentNode}f=g}n=c===-1||l===-1?null:{start:c,end:l}}else n=null}n=n||{start:0,end:0}}else n=null;for(YS={focusedElem:e,selectionRange:n},By=!1,ot=t;ot!==null;)if(t=ot,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,ot=e;else for(;ot!==null;){t=ot;try{var h=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(h!==null){var y=h.memoizedProps,b=h.memoizedState,x=t.stateNode,w=x.getSnapshotBeforeUpdate(t.elementType===t.type?y:_o(t.type,y),b);x.__reactInternalSnapshotBeforeUpdate=w}break;case 3:var C=t.stateNode.containerInfo;C.nodeType===1?C.textContent="":C.nodeType===9&&C.documentElement&&C.removeChild(C.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(Te(163))}}catch(j){Sn(t,t.return,j)}if(e=t.sibling,e!==null){e.return=t.return,ot=e;break}ot=t.return}return h=OT,OT=!1,h}i(JZ,"zk");function es(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var a=r=r.next;do{if((a.tag&e)===e){var o=a.destroy;a.destroy=void 0,o!==void 0&&(e&8?Xe!==null&&typeof Xe.markComponentPassiveEffectUnmountStarted=="function"&&Xe.markComponentPassiveEffectUnmountStarted(t):e&4&&nD(t),Kv(t,n,o),e&8?Xe!==null&&typeof Xe.markComponentPassiveEffectUnmountStopped=="function"&&Xe.markComponentPassiveEffectUnmountStopped():e&4&&rD())}a=a.next}while(a!==r)}}i(es,"Ak");function kl(e,t){var n=t.updateQueue;if(n=n!==null?n.lastEffect:null,n!==null){var r=n=n.next;do{if((r.tag&e)===e){e&8?Xe!==null&&typeof Xe.markComponentPassiveEffectMountStarted=="function"&&Xe.markComponentPassiveEffectMountStarted(t):e&4&&Xe!==null&&typeof Xe.markComponentLayoutEffectMountStarted=="function"&&Xe.markComponentLayoutEffectMountStarted(t);var a=r.create;r.destroy=a(),e&8?Xe!==null&&typeof Xe.markComponentPassiveEffectMountStopped=="function"&&Xe.markComponentPassiveEffectMountStopped():e&4&&Xe!==null&&typeof Xe.markComponentLayoutEffectMountStopped=="function"&&Xe.markComponentLayoutEffectMountStopped()}r=r.next}while(r!==n)}}i(kl,"Bk");function pj(e){var t=e.ref;if(t!==null){var n=e.stateNode;if(typeof t=="function")if(e.mode&2)try{xi(),t(n)}finally{bi(e)}else t(n);else t.current=n}}i(pj,"Ck");function CN(e){var t=e.alternate;t!==null&&(e.alternate=null,CN(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[di],delete t[Lm],delete t[ZS],delete t[TZ],delete t[MZ])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}i(CN,"Dk");function SN(e){return e.tag===5||e.tag===3||e.tag===4}i(SN,"Ek");function zT(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||SN(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.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}i(zT,"Fk");function mj(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Hy));else if(r!==4&&(e=e.child,e!==null))for(mj(e,t,n),e=e.sibling;e!==null;)mj(e,t,n),e=e.sibling}i(mj,"Gk");function hj(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(hj(e,t,n),e=e.sibling;e!==null;)hj(e,t,n),e=e.sibling}i(hj,"Hk");var jr=null,$o=!1;function Rs(e,t,n){for(n=n.child;n!==null;)jN(e,t,n),n=n.sibling}i(Rs,"Jk");function jN(e,t,n){if(vi&&typeof vi.onCommitFiberUnmount=="function")try{vi.onCommitFiberUnmount(z0,n)}catch{}switch(n.tag){case 5:Mr||Du(n,t);case 6:var r=jr,a=$o;jr=null,Rs(e,t,n),jr=r,$o=a,jr!==null&&($o?(e=jr,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):jr.removeChild(n.stateNode));break;case 18:jr!==null&&($o?(e=jr,n=n.stateNode,e.nodeType===8?Vw(e.parentNode,n):e.nodeType===1&&Vw(e,n),Tm(e)):Vw(jr,n.stateNode));break;case 4:r=jr,a=$o,jr=n.stateNode.containerInfo,$o=!0,Rs(e,t,n),jr=r,$o=a;break;case 0:case 11:case 14:case 15:if(!Mr&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){a=r=r.next;do{var o=a,s=o.destroy;o=o.tag,s!==void 0&&(o&2?Kv(n,t,s):o&4&&(nD(n),n.mode&2?(xi(),Kv(n,t,s),bi(n)):Kv(n,t,s),rD())),a=a.next}while(a!==r)}Rs(e,t,n);break;case 1:if(!Mr&&(Du(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{wN(n,r)}catch(c){Sn(n,t,c)}Rs(e,t,n);break;case 21:Rs(e,t,n);break;case 22:n.mode&1?(Mr=(r=Mr)||n.memoizedState!==null,Rs(e,t,n),Mr=r):Rs(e,t,n);break;default:Rs(e,t,n)}}i(jN,"Kk");function IT(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new KZ),t.forEach(function(r){var a=iee.bind(null,e,r);if(!n.has(r)){if(n.add(r),No)if(Gd!==null&&Kd!==null)tg(Kd,Gd);else throw Error(Te(413));r.then(a,a)}})}}i(IT,"Lk");function YZ(e,t,n){Gd=n,Kd=e,_N(t,e),Kd=Gd=null}i(YZ,"Nk");function So(e,t){var n=t.deletions;if(n!==null)for(var r=0;ra&&(a=s),r&=~o;if(r=a,r=Bn()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*XZ(r/1960))-r,10e.actualStartTime&&(e.actualStartTime=Ta()),t=wj(t,e,Wr),rb(e,!0)):t=wj(t,e,Wr),e.memoizedProps=e.pendingProps,t===null?PN(e):er=t,Gk.current=null}i(AN,"Il");function PN(e){var t=e;do{var n=t.alternate;if(e=t.return,t.flags&32768){if(n=GZ(n,t),n!==null){n.flags&=32767,er=n;return}if(t.mode&2){for(rb(t,!1),n=t.actualDuration,r=t.child;r!==null;)n+=r.actualDuration,r=r.sibling;t.actualDuration=n}if(e!==null)e.flags|=32768,e.subtreeFlags=0,e.deletions=null;else{ir=6,er=null;return}}else{if(!(t.mode&2))n=MT(n,t,Wr);else{var r=t;fl=Ta(),0>r.actualStartTime&&(r.actualStartTime=Ta()),n=MT(n,t,Wr),rb(t,!1)}if(n!==null){er=n;return}}if(t=t.sibling,t!==null){er=t;return}er=t=e}while(t!==null);ir===0&&(ir=5)}i(PN,"Gl");function Lc(e,t,n){var r=tn,a=so.transition;try{so.transition=null,tn=1,nee(e,t,n,r)}finally{so.transition=a,tn=r}return null}i(Lc,"Dl");function nee(e,t,n,r){do ml();while(Ys!==null);if(Ut&6)throw Error(Te(327));n=e.finishedWork;var a=e.finishedLanes;if(Xe!==null&&typeof Xe.markCommitStarted=="function"&&Xe.markCommitStarted(a),n===null)return GP(),null;if(e.finishedWork=null,e.finishedLanes=0,n===e.current)throw Error(Te(177));e.callbackNode=null,e.callbackPriority=0;var o=n.lanes|n.childLanes;if(IX(e,o),e===mr&&(er=mr=null,Un=0),!(n.subtreeFlags&2064)&&!(n.flags&2064)||Fu||(Fu=!0,Zk(Cl,function(){return ml(),null})),o=(n.flags&15990)!==0,n.subtreeFlags&15990||o){o=so.transition,so.transition=null;var s=tn;tn=1;var c=Ut;Ut|=4,Gk.current=null,JZ(e,n),tb=Ta(),YZ(e,n,a),CZ(YS),By=!!JS,YS=JS=null,e.current=n,Xe!==null&&typeof Xe.markLayoutEffectsStarted=="function"&&Xe.markLayoutEffectsStarted(a),QZ(n,e,a),Xe!==null&&typeof Xe.markLayoutEffectsStopped=="function"&&Xe.markLayoutEffectsStopped(),jX(),Ut=c,tn=s,so.transition=o}else e.current=n,tb=Ta();if(Fu&&(Fu=!1,Ys=e,sm=a),o=e.pendingLanes,o===0&&(sc=null),$X(n.stateNode,r),No&&e.memoizedUpdaters.clear(),fa(e,Bn()),t!==null)for(r=e.onRecoverableError,n=0;ne?16:e,Ys===null)var r=!1;else{e=Ys;var a=sm;if(Ys=null,sm=0,Ut&6)throw Error(Te(331));for(Xe!==null&&typeof Xe.markPassiveEffectsStarted=="function"&&Xe.markPassiveEffectsStarted(a),a=Ut,Ut|=4,ot=e.current;ot!==null;){var o=ot,s=o.child;if(ot.flags&16){var c=o.deletions;if(c!==null){for(var l=0;lBn()-Jk?pl(e,0):Kk|=n),fa(e,t)}i(aee,"wj");function TN(e,t){t===0&&(e.mode&1?(t=Zg,Zg<<=1,!(Zg&130023424)&&(Zg=4194304)):t=1);var n=Gr();e=fs(e,t),e!==null&&(Qh(e,t,n),fa(e,n))}i(TN,"Ml");function oee(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),TN(e,n)}i(oee,"bk");function iee(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,a=e.memoizedState;a!==null&&(n=a.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(Te(314))}r!==null&&r.delete(t),TN(e,n)}i(iee,"Mk");var wj;wj=i(function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||ua.current)la=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return la=!1,VZ(e,t,n);la=!!(e.flags&131072)}else la=!1,jn&&t.flags&1048576&&zD(t,Ky,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;Gv(e,t),e=t.pendingProps;var a=Wd(t,Ir.current);ed(t,n),Rm(t),a=Wk(null,t,r,e,a,n);var o=Uk();return Bd(),t.flags|=1,typeof a=="object"&&a!==null&&typeof a.render=="function"&&a.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,da(r)?(o=!0,Vy(t)):o=!1,t.memoizedState=a.state!==null&&a.state!==void 0?a.state:null,Lk(t),a.updater=B0,t.stateNode=a,a._reactInternals=t,oj(t,r,e,n),t=lj(null,t,r,!0,o,n)):(t.tag=0,jn&&o&&Ak(t),Br(null,t,a,n),t=t.child),t;case 16:r=t.elementType;e:{switch(Gv(e,t),e=t.pendingProps,a=r._init,r=a(r._payload),t.type=r,a=t.tag=cee(r),e=_o(r,e),a){case 0:t=cj(null,t,r,e,n);break e;case 1:t=AT(null,t,r,e,n);break e;case 11:t=ET(null,t,r,e,n);break e;case 14:t=RT(null,t,r,_o(r.type,e),n);break e}throw Error(Te(306,r,""))}return t;case 0:return r=t.type,a=t.pendingProps,a=t.elementType===r?a:_o(r,a),cj(e,t,r,a,n);case 1:return r=t.type,a=t.pendingProps,a=t.elementType===r?a:_o(r,a),AT(e,t,r,a,n);case 3:e:{if(hN(t),e===null)throw Error(Te(387));r=t.pendingProps,o=t.memoizedState,a=o.element,ND(e,t),Qy(t,r,null,n);var s=t.memoizedState;if(r=s.element,o.isDehydrated)if(o={element:r,isDehydrated:!1,cache:s.cache,pendingSuspenseBoundaries:s.pendingSuspenseBoundaries,transitions:s.transitions},t.updateQueue.baseState=o,t.memoizedState=o,t.flags&256){a=Vd(Error(Te(423)),t),t=PT(e,t,r,n,a);break e}else if(r!==a){a=Vd(Error(Te(424)),t),t=PT(e,t,r,n,a);break e}else for(ka=oc(t.stateNode.containerInfo.firstChild),Pa=t,jn=!0,Ro=null,n=UD(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(Ud(),r===a){t=ps(e,t,n);break e}Br(e,t,r,n)}t=t.child}return t;case 5:return HD(t),e===null&&nj(t),r=t.type,a=t.pendingProps,o=e!==null?e.memoizedProps:null,s=a.children,QS(r,a)?s=null:o!==null&&QS(r,o)&&(t.flags|=32),mN(e,t),Br(e,t,s,n),t.child;case 6:return e===null&&nj(t),null;case 13:return gN(e,t,n);case 4:return Dk(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=Hd(t,null,r,n):Br(e,t,r,n),t.child;case 11:return r=t.type,a=t.pendingProps,a=t.elementType===r?a:_o(r,a),ET(e,t,r,a,n);case 7:return Br(e,t,t.pendingProps,n),t.child;case 8:return Br(e,t,t.pendingProps.children,n),t.child;case 12:return t.flags|=4,r=t.stateNode,r.effectDuration=0,r.passiveEffectDuration=0,Br(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,a=t.pendingProps,o=t.memoizedProps,s=a.value,mn(Jy,r._currentValue),r._currentValue=s,o!==null)if(Io(o.value,s)){if(o.children===a.children&&!ua.current){t=ps(e,t,n);break e}}else for(o=t.child,o!==null&&(o.return=t);o!==null;){var c=o.dependencies;if(c!==null){s=o.child;for(var l=c.firstContext;l!==null;){if(l.context===r){if(o.tag===1){l=is(-1,n&-n),l.tag=2;var u=o.updateQueue;if(u!==null){u=u.shared;var d=u.pending;d===null?l.next=l:(l.next=d.next,d.next=l),u.pending=l}}o.lanes|=n,l=o.alternate,l!==null&&(l.lanes|=n),rj(o.return,n,t),c.lanes|=n;break}l=l.next}}else if(o.tag===10)s=o.type===t.type?null:o.child;else if(o.tag===18){if(s=o.return,s===null)throw Error(Te(341));s.lanes|=n,c=s.alternate,c!==null&&(c.lanes|=n),rj(s,n,t),s=o.sibling}else s=o.child;if(s!==null)s.return=o;else for(s=o;s!==null;){if(s===t){s=null;break}if(o=s.sibling,o!==null){o.return=s.return,s=o;break}s=s.return}o=s}Br(e,t,a.children,n),t=t.child}return t;case 9:return a=t.type,r=t.pendingProps.children,ed(t,n),a=uo(a),Rm(t),r=r(a),Bd(),t.flags|=1,Br(e,t,r,n),t.child;case 14:return r=t.type,a=_o(r,t.pendingProps),a=_o(r.type,a),RT(e,t,r,a,n);case 15:return fN(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,a=t.pendingProps,a=t.elementType===r?a:_o(r,a),Gv(e,t),t.tag=1,da(r)?(e=!0,Vy(t)):e=!1,ed(t,n),BD(t,r,a),oj(t,r,a,n),lj(null,t,r,!0,e,n);case 19:return vN(e,t,n);case 22:return pN(e,t,n)}throw Error(Te(156,t.tag))},"Jl");function tg(e,t){No&&e.memoizedUpdaters.forEach(function(n){sD(e,n,t)})}i(tg,"xj");function Zk(e,t){return tD(e,t)}i(Zk,"sl");function see(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,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,this.actualDuration=0,this.actualStartTime=-1,this.treeBaseDuration=this.selfBaseDuration=0}i(see,"Ol");function oo(e,t,n,r){return new see(e,t,n,r)}i(oo,"Pg");function e$(e){return e=e.prototype,!(!e||!e.isReactComponent)}i(e$,"Fj");function cee(e){if(typeof e=="function")return e$(e)?1:0;if(e!=null){if(e=e.$$typeof,e===vk)return 11;if(e===yk)return 14}return 2}i(cee,"Nl");function lc(e,t){var n=e.alternate;return n===null?(n=oo(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null,n.actualDuration=0,n.actualStartTime=-1),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n.selfBaseDuration=e.selfBaseDuration,n.treeBaseDuration=e.treeBaseDuration,n}i(lc,"Lh");function Qv(e,t,n,r,a,o){var s=2;if(r=e,typeof e=="function")e$(e)&&(s=1);else if(typeof e=="string")s=5;else e:switch(e){case Ru:return hl(n.children,a,o,t);case gk:s=8,a|=8;break;case RS:return e=oo(12,n,t,a|2),e.elementType=RS,e.lanes=o,e.stateNode={effectDuration:0,passiveEffectDuration:0},e;case AS:return e=oo(13,n,t,a),e.elementType=AS,e.lanes=o,e;case PS:return e=oo(19,n,t,a),e.elementType=PS,e.lanes=o,e;case DL:return q0(n,a,o,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case IL:s=10;break e;case LL:s=9;break e;case vk:s=11;break e;case yk:s=14;break e;case zs:s=16,r=null;break e}throw Error(Te(130,e==null?e:typeof e,""))}return t=oo(s,n,t,a),t.elementType=e,t.type=r,t.lanes=o,t}i(Qv,"Nh");function hl(e,t,n,r){return e=oo(7,e,r,t),e.lanes=n,e}i(hl,"Ph");function q0(e,t,n,r){return e=oo(22,e,r,t),e.elementType=DL,e.lanes=n,e.stateNode={isHidden:!1},e}i(q0,"Wj");function t2(e,t,n){return e=oo(6,e,null,t),e.lanes=n,e}i(t2,"Mh");function n2(e,t,n){return t=oo(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}i(n2,"Oh");function lee(e,t,n,r,a){for(this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=zw(0),this.expirationTimes=zw(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=zw(0),this.identifierPrefix=r,this.onRecoverableError=a,this.mutableSourceEagerHydrationData=null,this.passiveEffectDuration=this.effectDuration=0,this.memoizedUpdaters=new Set,e=this.pendingUpdatersLaneMap=[],t=0;31>t;t++)e.push(new Set)}i(lee,"Pl");function t$(e,t,n,r,a,o,s,c,l){return e=new lee(e,t,n,c,l),t===1?(t=1,o===!0&&(t|=8)):t=0,No&&(t|=2),o=oo(3,null,null,t),e.current=o,o.stateNode=e,o.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Lk(o),e}i(t$,"Ql");function uee(e,t,n){var r=3"u")return!1;var t=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(t.isDisabled||!t.supportsFiber)return!0;try{e=kn({},e,{getLaneLabelMap:RX,injectProfilingHooks:EX}),z0=t.inject(e),vi=t}catch{}return!!t.checkDCE})({bundleType:vp.bundleType,version:vp.version,rendererPackageName:vp.rendererPackageName,rendererConfig:vp.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:xs.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return e=ZL(e),e===null?null:e.stateNode},findFiberByHostInstance:vp.findFiberByHostInstance||dee,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.2.0-next-9e3b772b8-20220608"});Da.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=pee;Da.createPortal=function(e,t){var n=2"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(IN)}catch(e){console.error(e)}}i(IN,"checkDCE");IN(),PL.exports=Da;var Rf=PL.exports;const Gp=Gt(Rf),mee=bL({__proto__:null,default:Gp},[Rf]);var LN,HT=Rf;LN=HT.createRoot,HT.hydrateRoot;const o$=v.createContext(void 0);o$.displayName="AuthContext";const Y0={loginUrl:"/login",afterLoginUrl:"/"},ws=i(()=>v.useContext(o$),"useAuthProvider");var kh,Af=(kh=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(t){return this.listeners.add(t),this.onSubscribe(),()=>{this.listeners.delete(t),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},i(kh,"Subscribable"),kh),Yd=typeof window>"u"||"Deno"in window;function Ka(){}i(Ka,"noop$f");function hee(e,t){return typeof e=="function"?e(t):e}i(hee,"functionalUpdate");function Cj(e){return typeof e=="number"&&e>=0&&e!==1/0}i(Cj,"isValidTimeout");function DN(e,t){return Math.max(e+(t||0)-Date.now(),0)}i(DN,"timeUntilStale");function qT(e,t){const{type:n="all",exact:r,fetchStatus:a,predicate:o,queryKey:s,stale:c}=e;if(s){if(r){if(t.queryHash!==i$(s,t.options))return!1}else if(!Hm(t.queryKey,s))return!1}if(n!=="all"){const l=t.isActive();if(n==="active"&&!l||n==="inactive"&&l)return!1}return!(typeof c=="boolean"&&t.isStale()!==c||typeof a<"u"&&a!==t.state.fetchStatus||o&&!o(t))}i(qT,"matchQuery");function VT(e,t){const{exact:n,status:r,predicate:a,mutationKey:o}=e;if(o){if(!t.options.mutationKey)return!1;if(n){if(Rl(t.options.mutationKey)!==Rl(o))return!1}else if(!Hm(t.options.mutationKey,o))return!1}return!(r&&t.state.status!==r||a&&!a(t))}i(VT,"matchMutation");function i$(e,t){return((t==null?void 0:t.queryKeyHashFn)||Rl)(e)}i(i$,"hashQueryKeyByOptions");function Rl(e){return JSON.stringify(e,(t,n)=>Sj(n)?Object.keys(n).sort().reduce((r,a)=>(r[a]=n[a],r),{}):n)}i(Rl,"hashKey");function Hm(e,t){return e===t?!0:typeof e!=typeof t?!1:e&&t&&typeof e=="object"&&typeof t=="object"?!Object.keys(t).some(n=>!Hm(e[n],t[n])):!1}i(Hm,"partialMatchKey");function NN(e,t){if(e===t)return e;const n=GT(e)&>(t);if(n||Sj(e)&&Sj(t)){const r=n?e.length:Object.keys(e).length,a=n?t:Object.keys(t),o=a.length,s=n?[]:{};let c=0;for(let l=0;l"u")return!0;const n=t.prototype;return!(!KT(n)||!n.hasOwnProperty("isPrototypeOf"))}i(Sj,"isPlainObject$5");function KT(e){return Object.prototype.toString.call(e)==="[object Object]"}i(KT,"hasObjectPrototype");function FN(e){return new Promise(t=>{setTimeout(t,e)})}i(FN,"sleep");function JT(e){FN(0).then(e)}i(JT,"scheduleMicrotask");function jj(e,t,n){return typeof n.structuralSharing=="function"?n.structuralSharing(e,t):n.structuralSharing!==!1?NN(e,t):t}i(jj,"replaceData");function gee(e,t,n=0){const r=[...e,t];return n&&r.length>n?r.slice(1):r}i(gee,"addToEnd");function vee(e,t,n=0){const r=[t,...e];return n&&r.length>n?r.slice(0,-1):r}i(vee,"addToStart");var rl,Bs,jd,$h,yee=($h=class extends Af{constructor(){super();ct(this,rl,void 0);ct(this,Bs,void 0);ct(this,jd,void 0);qe(this,jd,n=>{if(!Yd&&window.addEventListener){const r=i(()=>n(),"listener");return window.addEventListener("visibilitychange",r,!1),()=>{window.removeEventListener("visibilitychange",r)}}})}onSubscribe(){ee(this,Bs)||this.setEventListener(ee(this,jd))}onUnsubscribe(){var n;this.hasListeners()||((n=ee(this,Bs))==null||n.call(this),qe(this,Bs,void 0))}setEventListener(n){var r;qe(this,jd,n),(r=ee(this,Bs))==null||r.call(this),qe(this,Bs,n(a=>{typeof a=="boolean"?this.setFocused(a):this.onFocus()}))}setFocused(n){ee(this,rl)!==n&&(qe(this,rl,n),this.onFocus())}onFocus(){this.listeners.forEach(n=>{n()})}isFocused(){var n;return typeof ee(this,rl)=="boolean"?ee(this,rl):((n=globalThis.document)==null?void 0:n.visibilityState)!=="hidden"}},rl=new WeakMap,Bs=new WeakMap,jd=new WeakMap,i($h,"FocusManager"),$h),lb=new yee,_d,Ws,kd,Eh,bee=(Eh=class extends Af{constructor(){super();ct(this,_d,!0);ct(this,Ws,void 0);ct(this,kd,void 0);qe(this,kd,n=>{if(!Yd&&window.addEventListener){const r=i(()=>n(!0),"onlineListener"),a=i(()=>n(!1),"offlineListener");return window.addEventListener("online",r,!1),window.addEventListener("offline",a,!1),()=>{window.removeEventListener("online",r),window.removeEventListener("offline",a)}}})}onSubscribe(){ee(this,Ws)||this.setEventListener(ee(this,kd))}onUnsubscribe(){var n;this.hasListeners()||((n=ee(this,Ws))==null||n.call(this),qe(this,Ws,void 0))}setEventListener(n){var r;qe(this,kd,n),(r=ee(this,Ws))==null||r.call(this),qe(this,Ws,n(this.setOnline.bind(this)))}setOnline(n){ee(this,_d)!==n&&(qe(this,_d,n),this.listeners.forEach(a=>{a(n)}))}isOnline(){return ee(this,_d)}},_d=new WeakMap,Ws=new WeakMap,kd=new WeakMap,i(Eh,"OnlineManager"),Eh),ub=new bee;function xee(e){return Math.min(1e3*2**e,3e4)}i(xee,"defaultRetryDelay");function Q0(e){return(e??"online")==="online"?ub.isOnline():!0}i(Q0,"canFetch");var Rh,BN=(Rh=class{constructor(t){this.revert=t==null?void 0:t.revert,this.silent=t==null?void 0:t.silent}},i(Rh,"CancelledError"),Rh);function r2(e){return e instanceof BN}i(r2,"isCancelledError");function WN(e){let t=!1,n=0,r=!1,a,o,s;const c=new Promise((b,x)=>{o=b,s=x}),l=i(b=>{var x;r||(g(new BN(b)),(x=e.abort)==null||x.call(e))},"cancel"),u=i(()=>{t=!0},"cancelRetry"),d=i(()=>{t=!1},"continueRetry"),f=i(()=>!lb.isFocused()||e.networkMode!=="always"&&!ub.isOnline(),"shouldPause"),m=i(b=>{var x;r||(r=!0,(x=e.onSuccess)==null||x.call(e,b),a==null||a(),o(b))},"resolve"),g=i(b=>{var x;r||(r=!0,(x=e.onError)==null||x.call(e,b),a==null||a(),s(b))},"reject"),h=i(()=>new Promise(b=>{var x;a=i(w=>{const C=r||!f();return C&&b(w),C},"continueFn"),(x=e.onPause)==null||x.call(e)}).then(()=>{var b;a=void 0,r||(b=e.onContinue)==null||b.call(e)}),"pause"),y=i(()=>{if(r)return;let b;try{b=e.fn()}catch(x){b=Promise.reject(x)}Promise.resolve(b).then(m).catch(x=>{var S;if(r)return;const w=e.retry??(Yd?0:3),C=e.retryDelay??xee,j=typeof C=="function"?C(n,x):C,_=w===!0||typeof w=="number"&&n{if(f())return h()}).then(()=>{t?g(x):y()})})},"run");return Q0(e.networkMode)?y():h().then(y),{promise:c,cancel:l,continue:()=>(a==null?void 0:a())?c:Promise.resolve(),cancelRetry:u,continueRetry:d}}i(WN,"createRetryer");function wee(){let e=[],t=0,n=i(d=>{d()},"notifyFn"),r=i(d=>{d()},"batchNotifyFn");const a=i(d=>{let f;t++;try{f=d()}finally{t--,t||c()}return f},"batch"),o=i(d=>{t?e.push(d):JT(()=>{n(d)})},"schedule"),s=i(d=>(...f)=>{o(()=>{d(...f)})},"batchCalls"),c=i(()=>{const d=e;e=[],d.length&&JT(()=>{r(()=>{d.forEach(f=>{n(f)})})})},"flush");return{batch:a,batchCalls:s,schedule:o,setNotifyFunction:i(d=>{n=d},"setNotifyFunction"),setBatchNotifyFunction:i(d=>{r=d},"setBatchNotifyFunction")}}i(wee,"createNotifyManager");var Wn=wee(),al,Ah,UN=(Ah=class{constructor(){ct(this,al,void 0)}destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),Cj(this.gcTime)&&qe(this,al,setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(t){this.gcTime=Math.max(this.gcTime||0,t??(Yd?1/0:5*60*1e3))}clearGcTimeout(){ee(this,al)&&(clearTimeout(ee(this,al)),qe(this,al,void 0))}},al=new WeakMap,i(Ah,"Removable"),Ah),$d,Ed,Ha,Us,qa,dr,Ph,ol,Rd,Xv,ko,qi,Th,Cee=(Th=class extends UN{constructor(n){super();ct(this,Rd);ct(this,ko);ct(this,$d,void 0);ct(this,Ed,void 0);ct(this,Ha,void 0);ct(this,Us,void 0);ct(this,qa,void 0);ct(this,dr,void 0);ct(this,Ph,void 0);ct(this,ol,void 0);qe(this,ol,!1),qe(this,Ph,n.defaultOptions),$t(this,Rd,Xv).call(this,n.options),qe(this,dr,[]),qe(this,Ha,n.cache),this.queryKey=n.queryKey,this.queryHash=n.queryHash,qe(this,$d,n.state||See(this.options)),this.state=ee(this,$d),this.scheduleGc()}get meta(){return this.options.meta}optionalRemove(){!ee(this,dr).length&&this.state.fetchStatus==="idle"&&ee(this,Ha).remove(this)}setData(n,r){const a=jj(this.state.data,n,this.options);return $t(this,ko,qi).call(this,{data:a,type:"success",dataUpdatedAt:r==null?void 0:r.updatedAt,manual:r==null?void 0:r.manual}),a}setState(n,r){$t(this,ko,qi).call(this,{type:"setState",state:n,setStateOptions:r})}cancel(n){var a;const r=ee(this,Us);return(a=ee(this,qa))==null||a.cancel(n),r?r.then(Ka).catch(Ka):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(ee(this,$d))}isActive(){return ee(this,dr).some(n=>n.options.enabled!==!1)}isDisabled(){return this.getObserversCount()>0&&!this.isActive()}isStale(){return this.state.isInvalidated||!this.state.dataUpdatedAt||ee(this,dr).some(n=>n.getCurrentResult().isStale)}isStaleByTime(n=0){return this.state.isInvalidated||!this.state.dataUpdatedAt||!DN(this.state.dataUpdatedAt,n)}onFocus(){var r;const n=ee(this,dr).find(a=>a.shouldFetchOnWindowFocus());n==null||n.refetch({cancelRefetch:!1}),(r=ee(this,qa))==null||r.continue()}onOnline(){var r;const n=ee(this,dr).find(a=>a.shouldFetchOnReconnect());n==null||n.refetch({cancelRefetch:!1}),(r=ee(this,qa))==null||r.continue()}addObserver(n){ee(this,dr).includes(n)||(ee(this,dr).push(n),this.clearGcTimeout(),ee(this,Ha).notify({type:"observerAdded",query:this,observer:n}))}removeObserver(n){ee(this,dr).includes(n)&&(qe(this,dr,ee(this,dr).filter(r=>r!==n)),ee(this,dr).length||(ee(this,qa)&&(ee(this,ol)?ee(this,qa).cancel({revert:!0}):ee(this,qa).cancelRetry()),this.scheduleGc()),ee(this,Ha).notify({type:"observerRemoved",query:this,observer:n}))}getObserversCount(){return ee(this,dr).length}invalidate(){this.state.isInvalidated||$t(this,ko,qi).call(this,{type:"invalidate"})}fetch(n,r){var d,f,m,g;if(this.state.fetchStatus!=="idle"){if(this.state.dataUpdatedAt&&(r!=null&&r.cancelRefetch))this.cancel({silent:!0});else if(ee(this,Us))return(d=ee(this,qa))==null||d.continueRetry(),ee(this,Us)}if(n&&$t(this,Rd,Xv).call(this,n),!this.options.queryFn){const h=ee(this,dr).find(y=>y.options.queryFn);h&&$t(this,Rd,Xv).call(this,h.options)}const a=new AbortController,o={queryKey:this.queryKey,meta:this.meta},s=i(h=>{Object.defineProperty(h,"signal",{enumerable:!0,get:()=>(qe(this,ol,!0),a.signal)})},"addSignalProperty");s(o);const c=i(()=>this.options.queryFn?(qe(this,ol,!1),this.options.persister?this.options.persister(this.options.queryFn,o,this):this.options.queryFn(o)):Promise.reject(new Error(`Missing queryFn: '${this.options.queryHash}'`)),"fetchFn"),l={fetchOptions:r,options:this.options,queryKey:this.queryKey,state:this.state,fetchFn:c};s(l),(f=this.options.behavior)==null||f.onFetch(l,this),qe(this,Ed,this.state),(this.state.fetchStatus==="idle"||this.state.fetchMeta!==((m=l.fetchOptions)==null?void 0:m.meta))&&$t(this,ko,qi).call(this,{type:"fetch",meta:(g=l.fetchOptions)==null?void 0:g.meta});const u=i(h=>{var y,b,x,w;r2(h)&&h.silent||$t(this,ko,qi).call(this,{type:"error",error:h}),r2(h)||((b=(y=ee(this,Ha).config).onError)==null||b.call(y,h,this),(w=(x=ee(this,Ha).config).onSettled)==null||w.call(x,this.state.data,h,this)),this.isFetchingOptimistic||this.scheduleGc(),this.isFetchingOptimistic=!1},"onError");return qe(this,qa,WN({fn:l.fetchFn,abort:a.abort.bind(a),onSuccess:h=>{var y,b,x,w;if(typeof h>"u"){u(new Error(`${this.queryHash} data is undefined`));return}this.setData(h),(b=(y=ee(this,Ha).config).onSuccess)==null||b.call(y,h,this),(w=(x=ee(this,Ha).config).onSettled)==null||w.call(x,h,this.state.error,this),this.isFetchingOptimistic||this.scheduleGc(),this.isFetchingOptimistic=!1},onError:u,onFail:(h,y)=>{$t(this,ko,qi).call(this,{type:"failed",failureCount:h,error:y})},onPause:()=>{$t(this,ko,qi).call(this,{type:"pause"})},onContinue:()=>{$t(this,ko,qi).call(this,{type:"continue"})},retry:l.options.retry,retryDelay:l.options.retryDelay,networkMode:l.options.networkMode})),qe(this,Us,ee(this,qa).promise),ee(this,Us)}},$d=new WeakMap,Ed=new WeakMap,Ha=new WeakMap,Us=new WeakMap,qa=new WeakMap,dr=new WeakMap,Ph=new WeakMap,ol=new WeakMap,Rd=new WeakSet,Xv=i(function(n){this.options={...ee(this,Ph),...n},this.updateGcTime(this.options.gcTime)},"#setOptions"),ko=new WeakSet,qi=i(function(n){const r=i(a=>{switch(n.type){case"failed":return{...a,fetchFailureCount:n.failureCount,fetchFailureReason:n.error};case"pause":return{...a,fetchStatus:"paused"};case"continue":return{...a,fetchStatus:"fetching"};case"fetch":return{...a,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:n.meta??null,fetchStatus:Q0(this.options.networkMode)?"fetching":"paused",...!a.dataUpdatedAt&&{error:null,status:"pending"}};case"success":return{...a,data:n.data,dataUpdateCount:a.dataUpdateCount+1,dataUpdatedAt:n.dataUpdatedAt??Date.now(),error:null,isInvalidated:!1,status:"success",...!n.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};case"error":const o=n.error;return r2(o)&&o.revert&&ee(this,Ed)?{...ee(this,Ed),fetchStatus:"idle"}:{...a,error:o,errorUpdateCount:a.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:a.fetchFailureCount+1,fetchFailureReason:o,fetchStatus:"idle",status:"error"};case"invalidate":return{...a,isInvalidated:!0};case"setState":return{...a,...n.state}}},"reducer");this.state=r(this.state),Wn.batch(()=>{ee(this,dr).forEach(a=>{a.onQueryUpdate()}),ee(this,Ha).notify({query:this,type:"updated",action:n})})},"#dispatch"),i(Th,"Query"),Th);function See(e){const t=typeof e.initialData=="function"?e.initialData():e.initialData,n=typeof t<"u",r=n?typeof e.initialDataUpdatedAt=="function"?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:n?r??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:n?"success":"pending",fetchStatus:"idle"}}i(See,"getDefaultState$1");var ni,Mh,jee=(Mh=class extends Af{constructor(n={}){super();ct(this,ni,void 0);this.config=n,qe(this,ni,new Map)}build(n,r,a){const o=r.queryKey,s=r.queryHash??i$(o,r);let c=this.get(s);return c||(c=new Cee({cache:this,queryKey:o,queryHash:s,options:n.defaultQueryOptions(r),state:a,defaultOptions:n.getQueryDefaults(o)}),this.add(c)),c}add(n){ee(this,ni).has(n.queryHash)||(ee(this,ni).set(n.queryHash,n),this.notify({type:"added",query:n}))}remove(n){const r=ee(this,ni).get(n.queryHash);r&&(n.destroy(),r===n&&ee(this,ni).delete(n.queryHash),this.notify({type:"removed",query:n}))}clear(){Wn.batch(()=>{this.getAll().forEach(n=>{this.remove(n)})})}get(n){return ee(this,ni).get(n)}getAll(){return[...ee(this,ni).values()]}find(n){const r={exact:!0,...n};return this.getAll().find(a=>qT(r,a))}findAll(n={}){const r=this.getAll();return Object.keys(n).length>0?r.filter(a=>qT(n,a)):r}notify(n){Wn.batch(()=>{this.listeners.forEach(r=>{r(n)})})}onFocus(){Wn.batch(()=>{this.getAll().forEach(n=>{n.onFocus()})})}onOnline(){Wn.batch(()=>{this.getAll().forEach(n=>{n.onOnline()})})}},ni=new WeakMap,i(Mh,"QueryCache"),Mh),ri,Oh,Ca,Ad,ai,Ms,zh,_ee=(zh=class extends UN{constructor(n){super();ct(this,ai);ct(this,ri,void 0);ct(this,Oh,void 0);ct(this,Ca,void 0);ct(this,Ad,void 0);this.mutationId=n.mutationId,qe(this,Oh,n.defaultOptions),qe(this,Ca,n.mutationCache),qe(this,ri,[]),this.state=n.state||HN(),this.setOptions(n.options),this.scheduleGc()}setOptions(n){this.options={...ee(this,Oh),...n},this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(n){ee(this,ri).includes(n)||(ee(this,ri).push(n),this.clearGcTimeout(),ee(this,Ca).notify({type:"observerAdded",mutation:this,observer:n}))}removeObserver(n){qe(this,ri,ee(this,ri).filter(r=>r!==n)),this.scheduleGc(),ee(this,Ca).notify({type:"observerRemoved",mutation:this,observer:n})}optionalRemove(){ee(this,ri).length||(this.state.status==="pending"?this.scheduleGc():ee(this,Ca).remove(this))}continue(){var n;return((n=ee(this,Ad))==null?void 0:n.continue())??this.execute(this.state.variables)}async execute(n){var o,s,c,l,u,d,f,m,g,h,y,b,x,w,C,j,_,S,k,$;const r=i(()=>(qe(this,Ad,WN({fn:()=>this.options.mutationFn?this.options.mutationFn(n):Promise.reject(new Error("No mutationFn found")),onFail:(E,P)=>{$t(this,ai,Ms).call(this,{type:"failed",failureCount:E,error:P})},onPause:()=>{$t(this,ai,Ms).call(this,{type:"pause"})},onContinue:()=>{$t(this,ai,Ms).call(this,{type:"continue"})},retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode})),ee(this,Ad).promise),"executeMutation"),a=this.state.status==="pending";try{if(!a){$t(this,ai,Ms).call(this,{type:"pending",variables:n}),await((s=(o=ee(this,Ca).config).onMutate)==null?void 0:s.call(o,n,this));const P=await((l=(c=this.options).onMutate)==null?void 0:l.call(c,n));P!==this.state.context&&$t(this,ai,Ms).call(this,{type:"pending",context:P,variables:n})}const E=await r();return await((d=(u=ee(this,Ca).config).onSuccess)==null?void 0:d.call(u,E,n,this.state.context,this)),await((m=(f=this.options).onSuccess)==null?void 0:m.call(f,E,n,this.state.context)),await((h=(g=ee(this,Ca).config).onSettled)==null?void 0:h.call(g,E,null,this.state.variables,this.state.context,this)),await((b=(y=this.options).onSettled)==null?void 0:b.call(y,E,null,n,this.state.context)),$t(this,ai,Ms).call(this,{type:"success",data:E}),E}catch(E){try{throw await((w=(x=ee(this,Ca).config).onError)==null?void 0:w.call(x,E,n,this.state.context,this)),await((j=(C=this.options).onError)==null?void 0:j.call(C,E,n,this.state.context)),await((S=(_=ee(this,Ca).config).onSettled)==null?void 0:S.call(_,void 0,E,this.state.variables,this.state.context,this)),await(($=(k=this.options).onSettled)==null?void 0:$.call(k,void 0,E,n,this.state.context)),E}finally{$t(this,ai,Ms).call(this,{type:"error",error:E})}}}},ri=new WeakMap,Oh=new WeakMap,Ca=new WeakMap,Ad=new WeakMap,ai=new WeakSet,Ms=i(function(n){const r=i(a=>{switch(n.type){case"failed":return{...a,failureCount:n.failureCount,failureReason:n.error};case"pause":return{...a,isPaused:!0};case"continue":return{...a,isPaused:!1};case"pending":return{...a,context:n.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:!Q0(this.options.networkMode),status:"pending",variables:n.variables,submittedAt:Date.now()};case"success":return{...a,data:n.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...a,data:void 0,error:n.error,failureCount:a.failureCount+1,failureReason:n.error,isPaused:!1,status:"error"}}},"reducer");this.state=r(this.state),Wn.batch(()=>{ee(this,ri).forEach(a=>{a.onMutationUpdate(n)}),ee(this,Ca).notify({mutation:this,type:"updated",action:n})})},"#dispatch"),i(zh,"Mutation"),zh);function HN(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}i(HN,"getDefaultState");var Va,Ih,il,Lh,kee=(Lh=class extends Af{constructor(n={}){super();ct(this,Va,void 0);ct(this,Ih,void 0);ct(this,il,void 0);this.config=n,qe(this,Va,[]),qe(this,Ih,0)}build(n,r,a){const o=new _ee({mutationCache:this,mutationId:++Gg(this,Ih)._,options:n.defaultMutationOptions(r),state:a});return this.add(o),o}add(n){ee(this,Va).push(n),this.notify({type:"added",mutation:n})}remove(n){qe(this,Va,ee(this,Va).filter(r=>r!==n)),this.notify({type:"removed",mutation:n})}clear(){Wn.batch(()=>{ee(this,Va).forEach(n=>{this.remove(n)})})}getAll(){return ee(this,Va)}find(n){const r={exact:!0,...n};return ee(this,Va).find(a=>VT(r,a))}findAll(n={}){return ee(this,Va).filter(r=>VT(n,r))}notify(n){Wn.batch(()=>{this.listeners.forEach(r=>{r(n)})})}resumePausedMutations(){return qe(this,il,(ee(this,il)??Promise.resolve()).then(()=>{const n=ee(this,Va).filter(r=>r.state.isPaused);return Wn.batch(()=>n.reduce((r,a)=>r.then(()=>a.continue().catch(Ka)),Promise.resolve()))}).then(()=>{qe(this,il,void 0)})),ee(this,il)}},Va=new WeakMap,Ih=new WeakMap,il=new WeakMap,i(Lh,"MutationCache"),Lh);function $ee(e){return{onFetch:(t,n)=>{const r=i(async()=>{var h,y,b,x,w;const a=t.options,o=(b=(y=(h=t.fetchOptions)==null?void 0:h.meta)==null?void 0:y.fetchMore)==null?void 0:b.direction,s=((x=t.state.data)==null?void 0:x.pages)||[],c=((w=t.state.data)==null?void 0:w.pageParams)||[],l={pages:[],pageParams:[]};let u=!1;const d=i(C=>{Object.defineProperty(C,"signal",{enumerable:!0,get:()=>(t.signal.aborted?u=!0:t.signal.addEventListener("abort",()=>{u=!0}),t.signal)})},"addSignalProperty"),f=t.options.queryFn||(()=>Promise.reject(new Error(`Missing queryFn: '${t.options.queryHash}'`))),m=i(async(C,j,_)=>{if(u)return Promise.reject();if(j==null&&C.pages.length)return Promise.resolve(C);const S={queryKey:t.queryKey,pageParam:j,direction:_?"backward":"forward",meta:t.options.meta};d(S);const k=await f(S),{maxPages:$}=t.options,E=_?vee:gee;return{pages:E(C.pages,k,$),pageParams:E(C.pageParams,j,$)}},"fetchPage");let g;if(o&&s.length){const C=o==="backward",j=C?Eee:YT,_={pages:s,pageParams:c},S=j(a,_);g=await m(_,S,C)}else{g=await m(l,c[0]??a.initialPageParam);const C=e??s.length;for(let j=1;j{var a,o;return(o=(a=t.options).persister)==null?void 0:o.call(a,r,{queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},n)}:t.fetchFn=r}}}i($ee,"infiniteQueryBehavior");function YT(e,{pages:t,pageParams:n}){const r=t.length-1;return e.getNextPageParam(t[r],t,n[r],n)}i(YT,"getNextPageParam");function Eee(e,{pages:t,pageParams:n}){var r;return(r=e.getPreviousPageParam)==null?void 0:r.call(e,t[0],t,n[0],n)}i(Eee,"getPreviousPageParam");var ar,Hs,qs,Pd,Td,Vs,Md,Od,Dh,Ree=(Dh=class{constructor(t={}){ct(this,ar,void 0);ct(this,Hs,void 0);ct(this,qs,void 0);ct(this,Pd,void 0);ct(this,Td,void 0);ct(this,Vs,void 0);ct(this,Md,void 0);ct(this,Od,void 0);qe(this,ar,t.queryCache||new jee),qe(this,Hs,t.mutationCache||new kee),qe(this,qs,t.defaultOptions||{}),qe(this,Pd,new Map),qe(this,Td,new Map),qe(this,Vs,0)}mount(){Gg(this,Vs)._++,ee(this,Vs)===1&&(qe(this,Md,lb.subscribe(()=>{lb.isFocused()&&(this.resumePausedMutations(),ee(this,ar).onFocus())})),qe(this,Od,ub.subscribe(()=>{ub.isOnline()&&(this.resumePausedMutations(),ee(this,ar).onOnline())})))}unmount(){var t,n;Gg(this,Vs)._--,ee(this,Vs)===0&&((t=ee(this,Md))==null||t.call(this),qe(this,Md,void 0),(n=ee(this,Od))==null||n.call(this),qe(this,Od,void 0))}isFetching(t){return ee(this,ar).findAll({...t,fetchStatus:"fetching"}).length}isMutating(t){return ee(this,Hs).findAll({...t,status:"pending"}).length}getQueryData(t){var n;return(n=ee(this,ar).find({queryKey:t}))==null?void 0:n.state.data}ensureQueryData(t){const n=this.getQueryData(t.queryKey);return n!==void 0?Promise.resolve(n):this.fetchQuery(t)}getQueriesData(t){return this.getQueryCache().findAll(t).map(({queryKey:n,state:r})=>{const a=r.data;return[n,a]})}setQueryData(t,n,r){const a=ee(this,ar).find({queryKey:t}),o=a==null?void 0:a.state.data,s=hee(n,o);if(typeof s>"u")return;const c=this.defaultQueryOptions({queryKey:t});return ee(this,ar).build(this,c).setData(s,{...r,manual:!0})}setQueriesData(t,n,r){return Wn.batch(()=>this.getQueryCache().findAll(t).map(({queryKey:a})=>[a,this.setQueryData(a,n,r)]))}getQueryState(t){var n;return(n=ee(this,ar).find({queryKey:t}))==null?void 0:n.state}removeQueries(t){const n=ee(this,ar);Wn.batch(()=>{n.findAll(t).forEach(r=>{n.remove(r)})})}resetQueries(t,n){const r=ee(this,ar),a={type:"active",...t};return Wn.batch(()=>(r.findAll(t).forEach(o=>{o.reset()}),this.refetchQueries(a,n)))}cancelQueries(t={},n={}){const r={revert:!0,...n},a=Wn.batch(()=>ee(this,ar).findAll(t).map(o=>o.cancel(r)));return Promise.all(a).then(Ka).catch(Ka)}invalidateQueries(t={},n={}){return Wn.batch(()=>{if(ee(this,ar).findAll(t).forEach(a=>{a.invalidate()}),t.refetchType==="none")return Promise.resolve();const r={...t,type:t.refetchType??t.type??"active"};return this.refetchQueries(r,n)})}refetchQueries(t={},n){const r={...n,cancelRefetch:(n==null?void 0:n.cancelRefetch)??!0},a=Wn.batch(()=>ee(this,ar).findAll(t).filter(o=>!o.isDisabled()).map(o=>{let s=o.fetch(void 0,r);return r.throwOnError||(s=s.catch(Ka)),o.state.fetchStatus==="paused"?Promise.resolve():s}));return Promise.all(a).then(Ka)}fetchQuery(t){const n=this.defaultQueryOptions(t);typeof n.retry>"u"&&(n.retry=!1);const r=ee(this,ar).build(this,n);return r.isStaleByTime(n.staleTime)?r.fetch(n):Promise.resolve(r.state.data)}prefetchQuery(t){return this.fetchQuery(t).then(Ka).catch(Ka)}fetchInfiniteQuery(t){return t.behavior=$ee(t.pages),this.fetchQuery(t)}prefetchInfiniteQuery(t){return this.fetchInfiniteQuery(t).then(Ka).catch(Ka)}resumePausedMutations(){return ee(this,Hs).resumePausedMutations()}getQueryCache(){return ee(this,ar)}getMutationCache(){return ee(this,Hs)}getDefaultOptions(){return ee(this,qs)}setDefaultOptions(t){qe(this,qs,t)}setQueryDefaults(t,n){ee(this,Pd).set(Rl(t),{queryKey:t,defaultOptions:n})}getQueryDefaults(t){const n=[...ee(this,Pd).values()];let r={};return n.forEach(a=>{Hm(t,a.queryKey)&&(r={...r,...a.defaultOptions})}),r}setMutationDefaults(t,n){ee(this,Td).set(Rl(t),{mutationKey:t,defaultOptions:n})}getMutationDefaults(t){const n=[...ee(this,Td).values()];let r={};return n.forEach(a=>{Hm(t,a.mutationKey)&&(r={...r,...a.defaultOptions})}),r}defaultQueryOptions(t){if(t!=null&&t._defaulted)return t;const n={...ee(this,qs).queries,...(t==null?void 0:t.queryKey)&&this.getQueryDefaults(t.queryKey),...t,_defaulted:!0};return n.queryHash||(n.queryHash=i$(n.queryKey,n)),typeof n.refetchOnReconnect>"u"&&(n.refetchOnReconnect=n.networkMode!=="always"),typeof n.throwOnError>"u"&&(n.throwOnError=!!n.suspense),typeof n.networkMode>"u"&&n.persister&&(n.networkMode="offlineFirst"),n}defaultMutationOptions(t){return t!=null&&t._defaulted?t:{...ee(this,qs).mutations,...(t==null?void 0:t.mutationKey)&&this.getMutationDefaults(t.mutationKey),...t,_defaulted:!0}}clear(){ee(this,ar).clear(),ee(this,Hs).clear()}},ar=new WeakMap,Hs=new WeakMap,qs=new WeakMap,Pd=new WeakMap,Td=new WeakMap,Vs=new WeakMap,Md=new WeakMap,Od=new WeakMap,i(Dh,"QueryClient"),Dh),ra,dn,zd,Tr,sl,Id,oi,Nh,Ld,Dd,cl,ll,Gs,ul,dl,Kp,Fh,_j,Bh,kj,Wh,$j,Uh,Ej,Hh,Rj,qh,Aj,Vh,Pj,$0,qN,Gh,Aee=(Gh=class extends Af{constructor(n,r){super();ct(this,dl);ct(this,Fh);ct(this,Bh);ct(this,Wh);ct(this,Uh);ct(this,Hh);ct(this,qh);ct(this,Vh);ct(this,$0);ct(this,ra,void 0);ct(this,dn,void 0);ct(this,zd,void 0);ct(this,Tr,void 0);ct(this,sl,void 0);ct(this,Id,void 0);ct(this,oi,void 0);ct(this,Nh,void 0);ct(this,Ld,void 0);ct(this,Dd,void 0);ct(this,cl,void 0);ct(this,ll,void 0);ct(this,Gs,void 0);ct(this,ul,void 0);qe(this,dn,void 0),qe(this,zd,void 0),qe(this,Tr,void 0),qe(this,ul,new Set),qe(this,ra,n),this.options=r,qe(this,oi,null),this.bindMethods(),this.setOptions(r)}bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(ee(this,dn).addObserver(this),QT(ee(this,dn),this.options)?$t(this,dl,Kp).call(this):this.updateResult(),$t(this,Uh,Ej).call(this))}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return Tj(ee(this,dn),this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return Tj(ee(this,dn),this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,$t(this,Hh,Rj).call(this),$t(this,qh,Aj).call(this),ee(this,dn).removeObserver(this)}setOptions(n,r){const a=this.options,o=ee(this,dn);if(this.options=ee(this,ra).defaultQueryOptions(n),cb(a,this.options)||ee(this,ra).getQueryCache().notify({type:"observerOptionsUpdated",query:ee(this,dn),observer:this}),typeof this.options.enabled<"u"&&typeof this.options.enabled!="boolean")throw new Error("Expected enabled to be a boolean");this.options.queryKey||(this.options.queryKey=a.queryKey),$t(this,Vh,Pj).call(this);const s=this.hasListeners();s&&XT(ee(this,dn),o,this.options,a)&&$t(this,dl,Kp).call(this),this.updateResult(r),s&&(ee(this,dn)!==o||this.options.enabled!==a.enabled||this.options.staleTime!==a.staleTime)&&$t(this,Fh,_j).call(this);const c=$t(this,Bh,kj).call(this);s&&(ee(this,dn)!==o||this.options.enabled!==a.enabled||c!==ee(this,Gs))&&$t(this,Wh,$j).call(this,c)}getOptimisticResult(n){const r=ee(this,ra).getQueryCache().build(ee(this,ra),n),a=this.createResult(r,n);return Tee(this,a)&&(qe(this,Tr,a),qe(this,Id,this.options),qe(this,sl,ee(this,dn).state)),a}getCurrentResult(){return ee(this,Tr)}trackResult(n){const r={};return Object.keys(n).forEach(a=>{Object.defineProperty(r,a,{configurable:!1,enumerable:!0,get:()=>(ee(this,ul).add(a),n[a])})}),r}getCurrentQuery(){return ee(this,dn)}refetch({...n}={}){return this.fetch({...n})}fetchOptimistic(n){const r=ee(this,ra).defaultQueryOptions(n),a=ee(this,ra).getQueryCache().build(ee(this,ra),r);return a.isFetchingOptimistic=!0,a.fetch().then(()=>this.createResult(a,r))}fetch(n){return $t(this,dl,Kp).call(this,{...n,cancelRefetch:n.cancelRefetch??!0}).then(()=>(this.updateResult(),ee(this,Tr)))}createResult(n,r){var k;const a=ee(this,dn),o=this.options,s=ee(this,Tr),c=ee(this,sl),l=ee(this,Id),d=n!==a?n.state:ee(this,zd),{state:f}=n;let{error:m,errorUpdatedAt:g,fetchStatus:h,status:y}=f,b=!1,x;if(r._optimisticResults){const $=this.hasListeners(),E=!$&&QT(n,r),P=$&&XT(n,a,r,o);(E||P)&&(h=Q0(n.options.networkMode)?"fetching":"paused",f.dataUpdatedAt||(y="pending")),r._optimisticResults==="isRestoring"&&(h="idle")}if(r.select&&typeof f.data<"u")if(s&&f.data===(c==null?void 0:c.data)&&r.select===ee(this,Nh))x=ee(this,Ld);else try{qe(this,Nh,r.select),x=r.select(f.data),x=jj(s==null?void 0:s.data,x,r),qe(this,Ld,x),qe(this,oi,null)}catch($){qe(this,oi,$)}else x=f.data;if(typeof r.placeholderData<"u"&&typeof x>"u"&&y==="pending"){let $;if(s!=null&&s.isPlaceholderData&&r.placeholderData===(l==null?void 0:l.placeholderData))$=s.data;else if($=typeof r.placeholderData=="function"?r.placeholderData((k=ee(this,Dd))==null?void 0:k.state.data,ee(this,Dd)):r.placeholderData,r.select&&typeof $<"u")try{$=r.select($),qe(this,oi,null)}catch(E){qe(this,oi,E)}typeof $<"u"&&(y="success",x=jj(s==null?void 0:s.data,$,r),b=!0)}ee(this,oi)&&(m=ee(this,oi),x=ee(this,Ld),g=Date.now(),y="error");const w=h==="fetching",C=y==="pending",j=y==="error",_=C&&w;return{status:y,fetchStatus:h,isPending:C,isSuccess:y==="success",isError:j,isInitialLoading:_,isLoading:_,data:x,dataUpdatedAt:f.dataUpdatedAt,error:m,errorUpdatedAt:g,failureCount:f.fetchFailureCount,failureReason:f.fetchFailureReason,errorUpdateCount:f.errorUpdateCount,isFetched:f.dataUpdateCount>0||f.errorUpdateCount>0,isFetchedAfterMount:f.dataUpdateCount>d.dataUpdateCount||f.errorUpdateCount>d.errorUpdateCount,isFetching:w,isRefetching:w&&!C,isLoadingError:j&&f.dataUpdatedAt===0,isPaused:h==="paused",isPlaceholderData:b,isRefetchError:j&&f.dataUpdatedAt!==0,isStale:s$(n,r),refetch:this.refetch}}updateResult(n){const r=ee(this,Tr),a=this.createResult(ee(this,dn),this.options);if(qe(this,sl,ee(this,dn).state),qe(this,Id,this.options),ee(this,sl).data!==void 0&&qe(this,Dd,ee(this,dn)),cb(a,r))return;qe(this,Tr,a);const o={},s=i(()=>{if(!r)return!0;const{notifyOnChangeProps:c}=this.options,l=typeof c=="function"?c():c;if(l==="all"||!l&&!ee(this,ul).size)return!0;const u=new Set(l??ee(this,ul));return this.options.throwOnError&&u.add("error"),Object.keys(ee(this,Tr)).some(d=>{const f=d;return ee(this,Tr)[f]!==r[f]&&u.has(f)})},"shouldNotifyListeners");(n==null?void 0:n.listeners)!==!1&&s()&&(o.listeners=!0),$t(this,$0,qN).call(this,{...o,...n})}onQueryUpdate(){this.updateResult(),this.hasListeners()&&$t(this,Uh,Ej).call(this)}},ra=new WeakMap,dn=new WeakMap,zd=new WeakMap,Tr=new WeakMap,sl=new WeakMap,Id=new WeakMap,oi=new WeakMap,Nh=new WeakMap,Ld=new WeakMap,Dd=new WeakMap,cl=new WeakMap,ll=new WeakMap,Gs=new WeakMap,ul=new WeakMap,dl=new WeakSet,Kp=i(function(n){$t(this,Vh,Pj).call(this);let r=ee(this,dn).fetch(this.options,n);return n!=null&&n.throwOnError||(r=r.catch(Ka)),r},"#executeFetch"),Fh=new WeakSet,_j=i(function(){if($t(this,Hh,Rj).call(this),Yd||ee(this,Tr).isStale||!Cj(this.options.staleTime))return;const r=DN(ee(this,Tr).dataUpdatedAt,this.options.staleTime)+1;qe(this,cl,setTimeout(()=>{ee(this,Tr).isStale||this.updateResult()},r))},"#updateStaleTimeout"),Bh=new WeakSet,kj=i(function(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(ee(this,dn)):this.options.refetchInterval)??!1},"#computeRefetchInterval"),Wh=new WeakSet,$j=i(function(n){$t(this,qh,Aj).call(this),qe(this,Gs,n),!(Yd||this.options.enabled===!1||!Cj(ee(this,Gs))||ee(this,Gs)===0)&&qe(this,ll,setInterval(()=>{(this.options.refetchIntervalInBackground||lb.isFocused())&&$t(this,dl,Kp).call(this)},ee(this,Gs)))},"#updateRefetchInterval"),Uh=new WeakSet,Ej=i(function(){$t(this,Fh,_j).call(this),$t(this,Wh,$j).call(this,$t(this,Bh,kj).call(this))},"#updateTimers"),Hh=new WeakSet,Rj=i(function(){ee(this,cl)&&(clearTimeout(ee(this,cl)),qe(this,cl,void 0))},"#clearStaleTimeout"),qh=new WeakSet,Aj=i(function(){ee(this,ll)&&(clearInterval(ee(this,ll)),qe(this,ll,void 0))},"#clearRefetchInterval"),Vh=new WeakSet,Pj=i(function(){const n=ee(this,ra).getQueryCache().build(ee(this,ra),this.options);if(n===ee(this,dn))return;const r=ee(this,dn);qe(this,dn,n),qe(this,zd,n.state),this.hasListeners()&&(r==null||r.removeObserver(this),n.addObserver(this))},"#updateQuery"),$0=new WeakSet,qN=i(function(n){Wn.batch(()=>{n.listeners&&this.listeners.forEach(r=>{r(ee(this,Tr))}),ee(this,ra).getQueryCache().notify({query:ee(this,dn),type:"observerResultsUpdated"})})},"#notify"),i(Gh,"QueryObserver"),Gh);function Pee(e,t){return t.enabled!==!1&&!e.state.dataUpdatedAt&&!(e.state.status==="error"&&t.retryOnMount===!1)}i(Pee,"shouldLoadOnMount");function QT(e,t){return Pee(e,t)||e.state.dataUpdatedAt>0&&Tj(e,t,t.refetchOnMount)}i(QT,"shouldFetchOnMount");function Tj(e,t,n){if(t.enabled!==!1){const r=typeof n=="function"?n(e):n;return r==="always"||r!==!1&&s$(e,t)}return!1}i(Tj,"shouldFetchOn");function XT(e,t,n,r){return n.enabled!==!1&&(e!==t||r.enabled===!1)&&(!n.suspense||e.state.status!=="error")&&s$(e,n)}i(XT,"shouldFetchOptionally");function s$(e,t){return e.isStaleByTime(t.staleTime)}i(s$,"isStale");function Tee(e,t){return!cb(e.getCurrentResult(),t)}i(Tee,"shouldAssignObserverCurrentProperties");var Ks,Fr,Ga,Zi,Nd,Zv,Kh,Mj,Jh,Mee=(Jh=class extends Af{constructor(n,r){super();ct(this,Nd);ct(this,Kh);ct(this,Ks,void 0);ct(this,Fr,void 0);ct(this,Ga,void 0);ct(this,Zi,void 0);qe(this,Fr,void 0),qe(this,Ks,n),this.setOptions(r),this.bindMethods(),$t(this,Nd,Zv).call(this)}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(n){var a;const r=this.options;this.options=ee(this,Ks).defaultMutationOptions(n),cb(r,this.options)||ee(this,Ks).getMutationCache().notify({type:"observerOptionsUpdated",mutation:ee(this,Ga),observer:this}),(a=ee(this,Ga))==null||a.setOptions(this.options)}onUnsubscribe(){var n;this.hasListeners()||(n=ee(this,Ga))==null||n.removeObserver(this)}onMutationUpdate(n){$t(this,Nd,Zv).call(this),$t(this,Kh,Mj).call(this,n)}getCurrentResult(){return ee(this,Fr)}reset(){qe(this,Ga,void 0),$t(this,Nd,Zv).call(this),$t(this,Kh,Mj).call(this)}mutate(n,r){var a;return qe(this,Zi,r),(a=ee(this,Ga))==null||a.removeObserver(this),qe(this,Ga,ee(this,Ks).getMutationCache().build(ee(this,Ks),this.options)),ee(this,Ga).addObserver(this),ee(this,Ga).execute(n)}},Ks=new WeakMap,Fr=new WeakMap,Ga=new WeakMap,Zi=new WeakMap,Nd=new WeakSet,Zv=i(function(){var r;const n=((r=ee(this,Ga))==null?void 0:r.state)??HN();qe(this,Fr,{...n,isPending:n.status==="pending",isSuccess:n.status==="success",isError:n.status==="error",isIdle:n.status==="idle",mutate:this.mutate,reset:this.reset})},"#updateResult"),Kh=new WeakSet,Mj=i(function(n){Wn.batch(()=>{var r,a,o,s,c,l,u,d;ee(this,Zi)&&this.hasListeners()&&((n==null?void 0:n.type)==="success"?((a=(r=ee(this,Zi)).onSuccess)==null||a.call(r,n.data,ee(this,Fr).variables,ee(this,Fr).context),(s=(o=ee(this,Zi)).onSettled)==null||s.call(o,n.data,null,ee(this,Fr).variables,ee(this,Fr).context)):(n==null?void 0:n.type)==="error"&&((l=(c=ee(this,Zi)).onError)==null||l.call(c,n.error,ee(this,Fr).variables,ee(this,Fr).context),(d=(u=ee(this,Zi)).onSettled)==null||d.call(u,void 0,n.error,ee(this,Fr).variables,ee(this,Fr).context))),this.listeners.forEach(f=>{f(ee(this,Fr))})})},"#notify"),i(Jh,"MutationObserver"),Jh),VN=v.createContext(void 0),Fa=i(e=>{const t=v.useContext(VN);if(e)return e;if(!t)throw new Error("No QueryClient set, use QueryClientProvider to set one");return t},"useQueryClient"),Oee=i(({client:e,children:t})=>(v.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),v.createElement(VN.Provider,{value:e},t)),"QueryClientProvider"),GN=v.createContext(!1),zee=i(()=>v.useContext(GN),"useIsRestoring");GN.Provider;function Iee(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}i(Iee,"createValue");var Lee=v.createContext(Iee()),Dee=i(()=>v.useContext(Lee),"useQueryErrorResetBoundary");function KN(e,t){return typeof e=="function"?e(...t):!!e}i(KN,"shouldThrowError");var Nee=i((e,t)=>{(e.suspense||e.throwOnError)&&(t.isReset()||(e.retryOnMount=!1))},"ensurePreventErrorBoundaryRetry"),Fee=i(e=>{v.useEffect(()=>{e.clearReset()},[e])},"useClearResetErrorBoundary"),Bee=i(({result:e,errorResetBoundary:t,throwOnError:n,query:r})=>e.isError&&!t.isReset()&&!e.isFetching&&KN(n,[e.error,r]),"getHasError"),Wee=i(e=>{e.suspense&&typeof e.staleTime!="number"&&(e.staleTime=1e3)},"ensureStaleTime"),Uee=i((e,t)=>(e==null?void 0:e.suspense)&&t.isPending,"shouldSuspend"),Hee=i((e,t,n)=>t.fetchOptimistic(e).catch(()=>{n.clearReset()}),"fetchOptimistic");function qee(e,t,n){const r=Fa(n),a=zee(),o=Dee(),s=r.defaultQueryOptions(e);s._optimisticResults=a?"isRestoring":"optimistic",Wee(s),Nee(s,o),Fee(o);const[c]=v.useState(()=>new t(r,s)),l=c.getOptimisticResult(s);if(v.useSyncExternalStore(v.useCallback(u=>{const d=a?()=>{}:c.subscribe(Wn.batchCalls(u));return c.updateResult(),d},[c,a]),()=>c.getCurrentResult(),()=>c.getCurrentResult()),v.useEffect(()=>{c.setOptions(s,{listeners:!1})},[s,c]),Uee(s,l))throw Hee(s,c,o);if(Bee({result:l,errorResetBoundary:o,throwOnError:s.throwOnError,query:c.getCurrentQuery()}))throw l.error;return s.notifyOnChangeProps?l:c.trackResult(l)}i(qee,"useBaseQuery");function Cs(e,t){return qee(e,Aee,t)}i(Cs,"useQuery");function X0(e,t){const n=Fa(t),[r]=v.useState(()=>new Mee(n,e));v.useEffect(()=>{r.setOptions(e)},[r,e]);const a=v.useSyncExternalStore(v.useCallback(s=>r.subscribe(Wn.batchCalls(s)),[r]),()=>r.getCurrentResult(),()=>r.getCurrentResult()),o=v.useCallback((s,c)=>{r.mutate(s,c).catch(Vee)},[r]);if(a.error&&KN(r.options.throwOnError,[a.error]))throw a.error;return{...a,mutate:o,mutateAsync:a.mutate}}i(X0,"useMutation");function Vee(){}i(Vee,"noop$e");/** - * @remix-run/router v1.15.0 - * - * Copyright (c) Remix Software Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE.md file in the root directory of this source tree. - * - * @license MIT - */function On(){return On=Object.assign?Object.assign.bind():function(e){for(var t=1;t"u")throw new Error(t)}i(Rt,"invariant");function hc(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}i(hc,"warning$1");function Kee(){return Math.random().toString(36).substr(2,8)}i(Kee,"createKey");function eM(e,t){return{usr:e.state,key:e.key,idx:t}}i(eM,"getHistoryState");function qm(e,t,n,r){return n===void 0&&(n=null),On({pathname:typeof e=="string"?e:e.pathname,search:"",hash:""},typeof t=="string"?Ii(t):t,{state:n,key:t&&t.key||r||Kee()})}i(qm,"createLocation");function Al(e){let{pathname:t="/",search:n="",hash:r=""}=e;return n&&n!=="?"&&(t+=n.charAt(0)==="?"?n:"?"+n),r&&r!=="#"&&(t+=r.charAt(0)==="#"?r:"#"+r),t}i(Al,"createPath");function Ii(e){let t={};if(e){let n=e.indexOf("#");n>=0&&(t.hash=e.substr(n),e=e.substr(0,n));let r=e.indexOf("?");r>=0&&(t.search=e.substr(r),e=e.substr(0,r)),e&&(t.pathname=e)}return t}i(Ii,"parsePath");function Jee(e,t,n,r){r===void 0&&(r={});let{window:a=document.defaultView,v5Compat:o=!1}=r,s=a.history,c=Dn.Pop,l=null,u=d();u==null&&(u=0,s.replaceState(On({},s.state,{idx:u}),""));function d(){return(s.state||{idx:null}).idx}i(d,"getIndex");function f(){c=Dn.Pop;let b=d(),x=b==null?null:b-u;u=b,l&&l({action:c,location:y.location,delta:x})}i(f,"handlePop");function m(b,x){c=Dn.Push;let w=qm(y.location,b,x);n&&n(w,b),u=d()+1;let C=eM(w,u),j=y.createHref(w);try{s.pushState(C,"",j)}catch(_){if(_ instanceof DOMException&&_.name==="DataCloneError")throw _;a.location.assign(j)}o&&l&&l({action:c,location:y.location,delta:1})}i(m,"push");function g(b,x){c=Dn.Replace;let w=qm(y.location,b,x);n&&n(w,b),u=d();let C=eM(w,u),j=y.createHref(w);s.replaceState(C,"",j),o&&l&&l({action:c,location:y.location,delta:0})}i(g,"replace");function h(b){let x=a.location.origin!=="null"?a.location.origin:a.location.href,w=typeof b=="string"?b:Al(b);return Rt(x,"No window.location.(origin|href) available to create URL for href: "+w),new URL(w,x)}i(h,"createURL");let y={get action(){return c},get location(){return e(a,s)},listen(b){if(l)throw new Error("A history only accepts one active listener");return a.addEventListener(ZT,f),l=b,()=>{a.removeEventListener(ZT,f),l=null}},createHref(b){return t(a,b)},createURL:h,encodeLocation(b){let x=h(b);return{pathname:x.pathname,search:x.search,hash:x.hash}},push:m,replace:g,go(b){return s.go(b)}};return y}i(Jee,"getUrlBasedHistory");var Mn;(function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"})(Mn||(Mn={}));const Yee=new Set(["lazy","caseSensitive","path","id","index","children"]);function Qee(e){return e.index===!0}i(Qee,"isIndexRoute");function Oj(e,t,n,r){return n===void 0&&(n=[]),r===void 0&&(r={}),e.map((a,o)=>{let s=[...n,o],c=typeof a.id=="string"?a.id:s.join("-");if(Rt(a.index!==!0||!a.children,"Cannot specify children on an index route"),Rt(!r[c],'Found a route id collision on id "'+c+`". Route id's must be globally unique within Data Router usages`),Qee(a)){let l=On({},a,t(a),{id:c});return r[c]=l,l}else{let l=On({},a,t(a),{id:c,children:void 0});return r[c]=l,a.children&&(l.children=Oj(a.children,t,s,r)),l}})}i(Oj,"convertRoutesToDataRoutes");function Bu(e,t,n){n===void 0&&(n="/");let r=typeof t=="string"?Ii(t):t,a=gc(r.pathname||"/",n);if(a==null)return null;let o=JN(e);Zee(o);let s=null;for(let c=0;s==null&&c{let l={relativePath:c===void 0?o.path||"":c,caseSensitive:o.caseSensitive===!0,childrenIndex:s,route:o};l.relativePath.startsWith("/")&&(Rt(l.relativePath.startsWith(r),'Absolute route path "'+l.relativePath+'" nested under path '+('"'+r+'" is not valid. An absolute child route path ')+"must start with the combined path of all its parent routes."),l.relativePath=l.relativePath.slice(r.length));let u=ss([r,l.relativePath]),d=n.concat(l);o.children&&o.children.length>0&&(Rt(o.index!==!0,"Index routes must not have child routes. Please remove "+('all child routes from route path "'+u+'".')),JN(o.children,t,d,u)),!(o.path==null&&!o.index)&&t.push({path:u,score:ite(u,o.index),routesMeta:d})},"flattenRoute");return e.forEach((o,s)=>{var c;if(o.path===""||!((c=o.path)!=null&&c.includes("?")))a(o,s);else for(let l of YN(o.path))a(o,s,l)}),t}i(JN,"flattenRoutes");function YN(e){let t=e.split("/");if(t.length===0)return[];let[n,...r]=t,a=n.endsWith("?"),o=n.replace(/\?$/,"");if(r.length===0)return a?[o,""]:[o];let s=YN(r.join("/")),c=[];return c.push(...s.map(l=>l===""?o:[o,l].join("/"))),a&&c.push(...s),c.map(l=>e.startsWith("/")&&l===""?"/":l)}i(YN,"explodeOptionalSegments");function Zee(e){e.sort((t,n)=>t.score!==n.score?n.score-t.score:ste(t.routesMeta.map(r=>r.childrenIndex),n.routesMeta.map(r=>r.childrenIndex)))}i(Zee,"rankRouteBranches");const ete=/^:[\w-]+$/,tte=3,nte=2,rte=1,ate=10,ote=-2,tM=i(e=>e==="*","isSplat");function ite(e,t){let n=e.split("/"),r=n.length;return n.some(tM)&&(r+=ote),t&&(r+=nte),n.filter(a=>!tM(a)).reduce((a,o)=>a+(ete.test(o)?tte:o===""?rte:ate),r)}i(ite,"computeScore");function ste(e,t){return e.length===t.length&&e.slice(0,-1).every((r,a)=>r===t[a])?e[e.length-1]-t[t.length-1]:0}i(ste,"compareIndexes");function cte(e,t){let{routesMeta:n}=e,r={},a="/",o=[];for(let s=0;s{let{paramName:m,isOptional:g}=d;if(m==="*"){let y=c[f]||"";s=o.slice(0,o.length-y.length).replace(/(.)\/+$/,"$1")}const h=c[f];return g&&!h?u[m]=void 0:u[m]=dte(h||"",m),u},{}),pathname:o,pathnameBase:s,pattern:e}}i(lm,"matchPath");function lte(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!0),hc(e==="*"||!e.endsWith("*")||e.endsWith("/*"),'Route path "'+e+'" will be treated as if it were '+('"'+e.replace(/\*$/,"/*")+'" because the `*` character must ')+"always follow a `/` in the pattern. To get rid of this warning, "+('please change the route path to "'+e.replace(/\*$/,"/*")+'".'));let r=[],a="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(s,c,l)=>(r.push({paramName:c,isOptional:l!=null}),l?"/?([^\\/]+)?":"/([^\\/]+)"));return e.endsWith("*")?(r.push({paramName:"*"}),a+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?a+="\\/*$":e!==""&&e!=="/"&&(a+="(?:(?=\\/|$))"),[new RegExp(a,t?void 0:"i"),r]}i(lte,"compilePath");function ute(e){try{return decodeURI(e)}catch(t){return hc(!1,'The URL path "'+e+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent '+("encoding ("+t+").")),e}}i(ute,"safelyDecodeURI");function dte(e,t){try{return decodeURIComponent(e)}catch(n){return hc(!1,'The value for the URL param "'+t+'" will not be decoded because'+(' the string "'+e+'" is a malformed URL segment. This is probably')+(" due to a bad percent encoding ("+n+").")),e}}i(dte,"safelyDecodeURIComponent");function gc(e,t){if(t==="/")return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=t.endsWith("/")?t.length-1:t.length,r=e.charAt(n);return r&&r!=="/"?null:e.slice(n)||"/"}i(gc,"stripBasename");function fte(e,t){t===void 0&&(t="/");let{pathname:n,search:r="",hash:a=""}=typeof e=="string"?Ii(e):e;return{pathname:n?n.startsWith("/")?n:pte(n,t):t,search:hte(r),hash:gte(a)}}i(fte,"resolvePath");function pte(e,t){let n=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(a=>{a===".."?n.length>1&&n.pop():a!=="."&&n.push(a)}),n.length>1?n.join("/"):"/"}i(pte,"resolvePathname");function a2(e,t,n,r){return"Cannot include a '"+e+"' character in a manually specified "+("`to."+t+"` field ["+JSON.stringify(r)+"]. Please separate it out to the ")+("`to."+n+"` field. Alternatively you may provide the full path as ")+'a string in and the router will parse it for you.'}i(a2,"getInvalidPathError");function QN(e){return e.filter((t,n)=>n===0||t.route.path&&t.route.path.length>0)}i(QN,"getPathContributingMatches");function Z0(e,t){let n=QN(e);return t?n.map((r,a)=>a===e.length-1?r.pathname:r.pathnameBase):n.map(r=>r.pathnameBase)}i(Z0,"getResolveToMatches");function ex(e,t,n,r){r===void 0&&(r=!1);let a;typeof e=="string"?a=Ii(e):(a=On({},e),Rt(!a.pathname||!a.pathname.includes("?"),a2("?","pathname","search",a)),Rt(!a.pathname||!a.pathname.includes("#"),a2("#","pathname","hash",a)),Rt(!a.search||!a.search.includes("#"),a2("#","search","hash",a)));let o=e===""||a.pathname==="",s=o?"/":a.pathname,c;if(s==null)c=n;else{let f=t.length-1;if(!r&&s.startsWith("..")){let m=s.split("/");for(;m[0]==="..";)m.shift(),f-=1;a.pathname=m.join("/")}c=f>=0?t[f]:"/"}let l=fte(a,c),u=s&&s!=="/"&&s.endsWith("/"),d=(o||s===".")&&n.endsWith("/");return!l.pathname.endsWith("/")&&(u||d)&&(l.pathname+="/"),l}i(ex,"resolveTo");const ss=i(e=>e.join("/").replace(/\/\/+/g,"/"),"joinPaths"),mte=i(e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),"normalizePathname"),hte=i(e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,"normalizeSearch"),gte=i(e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e,"normalizeHash"),AA=class AA{constructor(t,n,r,a){a===void 0&&(a=!1),this.status=t,this.statusText=n||"",this.internal=a,r instanceof Error?(this.data=r.toString(),this.error=r):this.data=r}};i(AA,"ErrorResponseImpl");let Vm=AA;function XN(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}i(XN,"isRouteErrorResponse");const ZN=["post","put","patch","delete"],vte=new Set(ZN),yte=["get",...ZN],bte=new Set(yte),xte=new Set([301,302,303,307,308]),wte=new Set([307,308]),o2={state:"idle",location:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},Cte={state:"idle",data:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},xu={state:"unblocked",proceed:void 0,reset:void 0,location:void 0},eF=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Ste=i(e=>({hasErrorBoundary:!!e.hasErrorBoundary}),"defaultMapRouteProperties"),tF="remix-router-transitions";function jte(e){const t=e.window?e.window:typeof window<"u"?window:void 0,n=typeof t<"u"&&typeof t.document<"u"&&typeof t.document.createElement<"u",r=!n;Rt(e.routes.length>0,"You must provide a non-empty routes array to createRouter");let a;if(e.mapRouteProperties)a=e.mapRouteProperties;else if(e.detectErrorBoundary){let re=e.detectErrorBoundary;a=i(oe=>({hasErrorBoundary:re(oe)}),"mapRouteProperties")}else a=Ste;let o={},s=Oj(e.routes,a,void 0,o),c,l=e.basename||"/",u=On({v7_fetcherPersist:!1,v7_normalizeFormMethod:!1,v7_partialHydration:!1,v7_prependBasename:!1,v7_relativeSplatPath:!1},e.future),d=null,f=new Set,m=null,g=null,h=null,y=e.hydrationData!=null,b=Bu(s,e.history.location,l),x=null;if(b==null){let re=Ja(404,{pathname:e.history.location.pathname}),{matches:oe,route:ye}=lM(s);b=oe,x={[ye.id]:re}}let w,C=b.some(re=>re.route.lazy),j=b.some(re=>re.route.loader);if(C)w=!1;else if(!j)w=!0;else if(u.v7_partialHydration){let re=e.hydrationData?e.hydrationData.loaderData:null,oe=e.hydrationData?e.hydrationData.errors:null;w=b.every(ye=>ye.route.loader&&ye.route.loader.hydrate!==!0&&(re&&re[ye.route.id]!==void 0||oe&&oe[ye.route.id]!==void 0))}else w=e.hydrationData!=null;let _,S={historyAction:e.history.action,location:e.history.location,matches:b,initialized:w,navigation:o2,restoreScrollPosition:e.hydrationData!=null?!1:null,preventScrollReset:!1,revalidation:"idle",loaderData:e.hydrationData&&e.hydrationData.loaderData||{},actionData:e.hydrationData&&e.hydrationData.actionData||null,errors:e.hydrationData&&e.hydrationData.errors||x,fetchers:new Map,blockers:new Map},k=Dn.Pop,$=!1,E,P=!1,R=new Map,T=null,M=!1,I=!1,z=[],H=[],F=new Map,L=0,B=-1,K=new Map,se=new Set,ue=new Map,_e=new Map,le=new Set,V=new Map,q=new Map,Y=!1;function O(){if(d=e.history.listen(re=>{let{action:oe,location:ye,delta:Ie}=re;if(Y){Y=!1;return}hc(q.size===0||Ie!=null,"You are trying to use a blocker on a POP navigation to a location that was not created by @remix-run/router. This will fail silently in production. This can happen if you are navigating outside the router via `window.history.pushState`/`window.location.hash` instead of using router navigation APIs. This can also happen if you are using createHashRouter and the user manually changes the URL.");let He=be({currentLocation:S.location,nextLocation:ye,historyAction:oe});if(He&&Ie!=null){Y=!0,e.history.go(Ie*-1),ce(He,{state:"blocked",location:ye,proceed(){ce(He,{state:"proceeding",proceed:void 0,reset:void 0,location:ye}),e.history.go(Ie)},reset(){let ut=new Map(S.blockers);ut.set(He,xu),J({blockers:ut})}});return}return he(oe,ye)}),n){zte(t,R);let re=i(()=>Ite(t,R),"_saveAppliedTransitions");t.addEventListener("pagehide",re),T=i(()=>t.removeEventListener("pagehide",re),"removePageHideEventListener")}return S.initialized||he(Dn.Pop,S.location,{initialHydration:!0}),_}i(O,"initialize");function D(){d&&d(),T&&T(),f.clear(),E&&E.abort(),S.fetchers.forEach((re,oe)=>it(oe)),S.blockers.forEach((re,oe)=>ae(oe))}i(D,"dispose");function Z(re){return f.add(re),()=>f.delete(re)}i(Z,"subscribe");function J(re,oe){oe===void 0&&(oe={}),S=On({},S,re);let ye=[],Ie=[];u.v7_fetcherPersist&&S.fetchers.forEach((He,ut)=>{He.state==="idle"&&(le.has(ut)?Ie.push(ut):ye.push(ut))}),[...f].forEach(He=>He(S,{deletedFetchers:Ie,unstable_viewTransitionOpts:oe.viewTransitionOpts,unstable_flushSync:oe.flushSync===!0})),u.v7_fetcherPersist&&(ye.forEach(He=>S.fetchers.delete(He)),Ie.forEach(He=>it(He)))}i(J,"updateState");function U(re,oe,ye){var Ie,He;let{flushSync:ut}=ye===void 0?{}:ye,Ve=S.actionData!=null&&S.navigation.formMethod!=null&&Eo(S.navigation.formMethod)&&S.navigation.state==="loading"&&((Ie=re.state)==null?void 0:Ie._isRedirect)!==!0,Ne;oe.actionData?Object.keys(oe.actionData).length>0?Ne=oe.actionData:Ne=null:Ve?Ne=S.actionData:Ne=null;let ze=oe.loaderData?cM(S.loaderData,oe.loaderData,oe.matches||[],oe.errors):S.loaderData,dt=S.blockers;dt.size>0&&(dt=new Map(dt),dt.forEach((Ce,Fe)=>dt.set(Fe,xu)));let St=$===!0||S.navigation.formMethod!=null&&Eo(S.navigation.formMethod)&&((He=re.state)==null?void 0:He._isRedirect)!==!0;c&&(s=c,c=void 0),M||k===Dn.Pop||(k===Dn.Push?e.history.push(re,re.state):k===Dn.Replace&&e.history.replace(re,re.state));let ke;if(k===Dn.Pop){let Ce=R.get(S.location.pathname);Ce&&Ce.has(re.pathname)?ke={currentLocation:S.location,nextLocation:re}:R.has(re.pathname)&&(ke={currentLocation:re,nextLocation:S.location})}else if(P){let Ce=R.get(S.location.pathname);Ce?Ce.add(re.pathname):(Ce=new Set([re.pathname]),R.set(S.location.pathname,Ce)),ke={currentLocation:S.location,nextLocation:re}}J(On({},oe,{actionData:Ne,loaderData:ze,historyAction:k,location:re,initialized:!0,navigation:o2,revalidation:"idle",restoreScrollPosition:wt(re,oe.matches||S.matches),preventScrollReset:St,blockers:dt}),{viewTransitionOpts:ke,flushSync:ut===!0}),k=Dn.Pop,$=!1,P=!1,M=!1,I=!1,z=[],H=[]}i(U,"completeNavigation");async function ne(re,oe){if(typeof re=="number"){e.history.go(re);return}let ye=zj(S.location,S.matches,l,u.v7_prependBasename,re,u.v7_relativeSplatPath,oe==null?void 0:oe.fromRouteId,oe==null?void 0:oe.relative),{path:Ie,submission:He,error:ut}=nM(u.v7_normalizeFormMethod,!1,ye,oe),Ve=S.location,Ne=qm(S.location,Ie,oe&&oe.state);Ne=On({},Ne,e.history.encodeLocation(Ne));let ze=oe&&oe.replace!=null?oe.replace:void 0,dt=Dn.Push;ze===!0?dt=Dn.Replace:ze===!1||He!=null&&Eo(He.formMethod)&&He.formAction===S.location.pathname+S.location.search&&(dt=Dn.Replace);let St=oe&&"preventScrollReset"in oe?oe.preventScrollReset===!0:void 0,ke=(oe&&oe.unstable_flushSync)===!0,Ce=be({currentLocation:Ve,nextLocation:Ne,historyAction:dt});if(Ce){ce(Ce,{state:"blocked",location:Ne,proceed(){ce(Ce,{state:"proceeding",proceed:void 0,reset:void 0,location:Ne}),ne(re,oe)},reset(){let Fe=new Map(S.blockers);Fe.set(Ce,xu),J({blockers:Fe})}});return}return await he(dt,Ne,{submission:He,pendingError:ut,preventScrollReset:St,replace:oe&&oe.replace,enableViewTransition:oe&&oe.unstable_viewTransition,flushSync:ke})}i(ne,"navigate");function ie(){if(Re(),J({revalidation:"loading"}),S.navigation.state!=="submitting"){if(S.navigation.state==="idle"){he(S.historyAction,S.location,{startUninterruptedRevalidation:!0});return}he(k||S.historyAction,S.navigation.location,{overrideNavigation:S.navigation})}}i(ie,"revalidate");async function he(re,oe,ye){E&&E.abort(),E=null,k=re,M=(ye&&ye.startUninterruptedRevalidation)===!0,kt(S.location,S.matches),$=(ye&&ye.preventScrollReset)===!0,P=(ye&&ye.enableViewTransition)===!0;let Ie=c||s,He=ye&&ye.overrideNavigation,ut=Bu(Ie,oe,l),Ve=(ye&&ye.flushSync)===!0;if(!ut){let Fe=Ja(404,{pathname:oe.pathname}),{matches:lt,route:rt}=lM(Ie);Ue(),U(oe,{matches:lt,loaderData:{},errors:{[rt.id]:Fe}},{flushSync:Ve});return}if(S.initialized&&!I&&Rte(S.location,oe)&&!(ye&&ye.submission&&Eo(ye.submission.formMethod))){U(oe,{matches:ut},{flushSync:Ve});return}E=new AbortController;let Ne=bp(e.history,oe,E.signal,ye&&ye.submission),ze,dt;if(ye&&ye.pendingError)dt={[um(ut).route.id]:ye.pendingError};else if(ye&&ye.submission&&Eo(ye.submission.formMethod)){let Fe=await N(Ne,oe,ye.submission,ut,{replace:ye.replace,flushSync:Ve});if(Fe.shortCircuited)return;ze=Fe.pendingActionData,dt=Fe.pendingActionError,He=i2(oe,ye.submission),Ve=!1,Ne=new Request(Ne.url,{signal:Ne.signal})}let{shortCircuited:St,loaderData:ke,errors:Ce}=await Q(Ne,oe,ut,He,ye&&ye.submission,ye&&ye.fetcherSubmission,ye&&ye.replace,ye&&ye.initialHydration===!0,Ve,ze,dt);St||(E=null,U(oe,On({matches:ut},ze?{actionData:ze}:{},{loaderData:ke,errors:Ce})))}i(he,"startNavigation");async function N(re,oe,ye,Ie,He){He===void 0&&(He={}),Re();let ut=Mte(oe,ye);J({navigation:ut},{flushSync:He.flushSync===!0});let Ve,Ne=Lj(Ie,oe);if(!Ne.route.action&&!Ne.route.lazy)Ve={type:Mn.error,error:Ja(405,{method:re.method,pathname:oe.pathname,routeId:Ne.route.id})};else if(Ve=await yp("action",re,Ne,Ie,o,a,l,u.v7_relativeSplatPath),re.signal.aborted)return{shortCircuited:!0};if(Kc(Ve)){let ze;return He&&He.replace!=null?ze=He.replace:ze=Ve.location===S.location.pathname+S.location.search,await pe(S,Ve,{submission:ye,replace:ze}),{shortCircuited:!0}}if(Wu(Ve)){let ze=um(Ie,Ne.route.id);return(He&&He.replace)!==!0&&(k=Dn.Push),{pendingActionData:{},pendingActionError:{[ze.route.id]:Ve.error}}}if(Gc(Ve))throw Ja(400,{type:"defer-action"});return{pendingActionData:{[Ne.route.id]:Ve.data}}}i(N,"handleAction");async function Q(re,oe,ye,Ie,He,ut,Ve,Ne,ze,dt,St){let ke=Ie||i2(oe,He),Ce=He||ut||fM(ke),Fe=c||s,[lt,rt]=rM(e.history,S,ye,Ce,oe,u.v7_partialHydration&&Ne===!0,I,z,H,le,ue,se,Fe,l,dt,St);if(Ue(Bt=>!(ye&&ye.some(xn=>xn.route.id===Bt))||lt&<.some(xn=>xn.route.id===Bt)),B=++L,lt.length===0&&rt.length===0){let Bt=yt();return U(oe,On({matches:ye,loaderData:{},errors:St||null},dt?{actionData:dt}:{},Bt?{fetchers:new Map(S.fetchers)}:{}),{flushSync:ze}),{shortCircuited:!0}}if(!M&&(!u.v7_partialHydration||!Ne)){rt.forEach(xn=>{let Jo=S.fetchers.get(xn.key),Vg=xp(void 0,Jo?Jo.data:void 0);S.fetchers.set(xn.key,Vg)});let Bt=dt||S.actionData;J(On({navigation:ke},Bt?Object.keys(Bt).length===0?{actionData:null}:{actionData:Bt}:{},rt.length>0?{fetchers:new Map(S.fetchers)}:{}),{flushSync:ze})}rt.forEach(Bt=>{F.has(Bt.key)&&Se(Bt.key),Bt.controller&&F.set(Bt.key,Bt.controller)});let Nt=i(()=>rt.forEach(Bt=>Se(Bt.key)),"abortPendingFetchRevalidations");E&&E.signal.addEventListener("abort",Nt);let{results:Ft,loaderResults:me,fetcherResults:ge}=await xe(S.matches,ye,lt,rt,re);if(re.signal.aborted)return{shortCircuited:!0};E&&E.signal.removeEventListener("abort",Nt),rt.forEach(Bt=>F.delete(Bt.key));let Le=uM(Ft);if(Le){if(Le.idx>=lt.length){let Bt=rt[Le.idx-lt.length].key;se.add(Bt)}return await pe(S,Le.result,{replace:Ve}),{shortCircuited:!0}}let{loaderData:Ae,errors:st}=sM(S,ye,lt,me,St,rt,ge,V);V.forEach((Bt,xn)=>{Bt.subscribe(Jo=>{(Jo||Bt.done)&&V.delete(xn)})});let et=yt(),Ee=jt(B),Kt=et||Ee||rt.length>0;return On({loaderData:Ae,errors:st},Kt?{fetchers:new Map(S.fetchers)}:{})}i(Q,"handleLoaders");function X(re,oe,ye,Ie){if(r)throw new Error("router.fetch() was called during the server render, but it shouldn't be. You are likely calling a useFetcher() method in the body of your component. Try moving it to a useEffect or a callback.");F.has(re)&&Se(re);let He=(Ie&&Ie.unstable_flushSync)===!0,ut=c||s,Ve=zj(S.location,S.matches,l,u.v7_prependBasename,ye,u.v7_relativeSplatPath,oe,Ie==null?void 0:Ie.relative),Ne=Bu(ut,Ve,l);if(!Ne){Je(re,oe,Ja(404,{pathname:Ve}),{flushSync:He});return}let{path:ze,submission:dt,error:St}=nM(u.v7_normalizeFormMethod,!0,Ve,Ie);if(St){Je(re,oe,St,{flushSync:He});return}let ke=Lj(Ne,ze);if($=(Ie&&Ie.preventScrollReset)===!0,dt&&Eo(dt.formMethod)){we(re,oe,ze,ke,Ne,He,dt);return}ue.set(re,{routeId:oe,path:ze}),fe(re,oe,ze,ke,Ne,He,dt)}i(X,"fetch");async function we(re,oe,ye,Ie,He,ut,Ve){if(Re(),ue.delete(re),!Ie.route.action&&!Ie.route.lazy){let xn=Ja(405,{method:Ve.formMethod,pathname:ye,routeId:oe});Je(re,oe,xn,{flushSync:ut});return}let Ne=S.fetchers.get(re);Me(re,Ote(Ve,Ne),{flushSync:ut});let ze=new AbortController,dt=bp(e.history,ye,ze.signal,Ve);F.set(re,ze);let St=L,ke=await yp("action",dt,Ie,He,o,a,l,u.v7_relativeSplatPath);if(dt.signal.aborted){F.get(re)===ze&&F.delete(re);return}if(u.v7_fetcherPersist&&le.has(re)){if(Kc(ke)||Wu(ke)){Me(re,Os(void 0));return}}else{if(Kc(ke))if(F.delete(re),B>St){Me(re,Os(void 0));return}else return se.add(re),Me(re,xp(Ve)),pe(S,ke,{fetcherSubmission:Ve});if(Wu(ke)){Je(re,oe,ke.error);return}}if(Gc(ke))throw Ja(400,{type:"defer-action"});let Ce=S.navigation.location||S.location,Fe=bp(e.history,Ce,ze.signal),lt=c||s,rt=S.navigation.state!=="idle"?Bu(lt,S.navigation.location,l):S.matches;Rt(rt,"Didn't find any matches after fetcher action");let Nt=++L;K.set(re,Nt);let Ft=xp(Ve,ke.data);S.fetchers.set(re,Ft);let[me,ge]=rM(e.history,S,rt,Ve,Ce,!1,I,z,H,le,ue,se,lt,l,{[Ie.route.id]:ke.data},void 0);ge.filter(xn=>xn.key!==re).forEach(xn=>{let Jo=xn.key,Vg=S.fetchers.get(Jo),NQ=xp(void 0,Vg?Vg.data:void 0);S.fetchers.set(Jo,NQ),F.has(Jo)&&Se(Jo),xn.controller&&F.set(Jo,xn.controller)}),J({fetchers:new Map(S.fetchers)});let Le=i(()=>ge.forEach(xn=>Se(xn.key)),"abortPendingFetchRevalidations");ze.signal.addEventListener("abort",Le);let{results:Ae,loaderResults:st,fetcherResults:et}=await xe(S.matches,rt,me,ge,Fe);if(ze.signal.aborted)return;ze.signal.removeEventListener("abort",Le),K.delete(re),F.delete(re),ge.forEach(xn=>F.delete(xn.key));let Ee=uM(Ae);if(Ee){if(Ee.idx>=me.length){let xn=ge[Ee.idx-me.length].key;se.add(xn)}return pe(S,Ee.result)}let{loaderData:Kt,errors:Bt}=sM(S,S.matches,me,st,void 0,ge,et,V);if(S.fetchers.has(re)){let xn=Os(ke.data);S.fetchers.set(re,xn)}jt(Nt),S.navigation.state==="loading"&&Nt>B?(Rt(k,"Expected pending action"),E&&E.abort(),U(S.navigation.location,{matches:rt,loaderData:Kt,errors:Bt,fetchers:new Map(S.fetchers)})):(J({errors:Bt,loaderData:cM(S.loaderData,Kt,rt,Bt),fetchers:new Map(S.fetchers)}),I=!1)}i(we,"handleFetcherAction");async function fe(re,oe,ye,Ie,He,ut,Ve){let Ne=S.fetchers.get(re);Me(re,xp(Ve,Ne?Ne.data:void 0),{flushSync:ut});let ze=new AbortController,dt=bp(e.history,ye,ze.signal);F.set(re,ze);let St=L,ke=await yp("loader",dt,Ie,He,o,a,l,u.v7_relativeSplatPath);if(Gc(ke)&&(ke=await aF(ke,dt.signal,!0)||ke),F.get(re)===ze&&F.delete(re),!dt.signal.aborted){if(le.has(re)){Me(re,Os(void 0));return}if(Kc(ke))if(B>St){Me(re,Os(void 0));return}else{se.add(re),await pe(S,ke);return}if(Wu(ke)){Je(re,oe,ke.error);return}Rt(!Gc(ke),"Unhandled fetcher deferred data"),Me(re,Os(ke.data))}}i(fe,"handleFetcherLoader");async function pe(re,oe,ye){let{submission:Ie,fetcherSubmission:He,replace:ut}=ye===void 0?{}:ye;oe.revalidate&&(I=!0);let Ve=qm(re.location,oe.location,{_isRedirect:!0});if(Rt(Ve,"Expected a location on the redirect navigation"),n){let Ce=!1;if(oe.reloadDocument)Ce=!0;else if(eF.test(oe.location)){const Fe=e.history.createURL(oe.location);Ce=Fe.origin!==t.location.origin||gc(Fe.pathname,l)==null}if(Ce){ut?t.location.replace(oe.location):t.location.assign(oe.location);return}}E=null;let Ne=ut===!0?Dn.Replace:Dn.Push,{formMethod:ze,formAction:dt,formEncType:St}=re.navigation;!Ie&&!He&&ze&&dt&&St&&(Ie=fM(re.navigation));let ke=Ie||He;if(wte.has(oe.status)&&ke&&Eo(ke.formMethod))await he(Ne,Ve,{submission:On({},ke,{formAction:oe.location}),preventScrollReset:$});else{let Ce=i2(Ve,Ie);await he(Ne,Ve,{overrideNavigation:Ce,fetcherSubmission:He,preventScrollReset:$})}}i(pe,"startRedirectNavigation");async function xe(re,oe,ye,Ie,He){let ut=await Promise.all([...ye.map(ze=>yp("loader",He,ze,oe,o,a,l,u.v7_relativeSplatPath)),...Ie.map(ze=>ze.matches&&ze.match&&ze.controller?yp("loader",bp(e.history,ze.path,ze.controller.signal),ze.match,ze.matches,o,a,l,u.v7_relativeSplatPath):{type:Mn.error,error:Ja(404,{pathname:ze.path})})]),Ve=ut.slice(0,ye.length),Ne=ut.slice(ye.length);return await Promise.all([dM(re,ye,Ve,Ve.map(()=>He.signal),!1,S.loaderData),dM(re,Ie.map(ze=>ze.match),Ne,Ie.map(ze=>ze.controller?ze.controller.signal:null),!0)]),{results:ut,loaderResults:Ve,fetcherResults:Ne}}i(xe,"callLoadersAndMaybeResolveData");function Re(){I=!0,z.push(...Ue()),ue.forEach((re,oe)=>{F.has(oe)&&(H.push(oe),Se(oe))})}i(Re,"interruptActiveLoads");function Me(re,oe,ye){ye===void 0&&(ye={}),S.fetchers.set(re,oe),J({fetchers:new Map(S.fetchers)},{flushSync:(ye&&ye.flushSync)===!0})}i(Me,"updateFetcherState");function Je(re,oe,ye,Ie){Ie===void 0&&(Ie={});let He=um(S.matches,oe);it(re),J({errors:{[He.route.id]:ye},fetchers:new Map(S.fetchers)},{flushSync:(Ie&&Ie.flushSync)===!0})}i(Je,"setFetcherError");function pt(re){return u.v7_fetcherPersist&&(_e.set(re,(_e.get(re)||0)+1),le.has(re)&&le.delete(re)),S.fetchers.get(re)||Cte}i(pt,"getFetcher");function it(re){let oe=S.fetchers.get(re);F.has(re)&&!(oe&&oe.state==="loading"&&K.has(re))&&Se(re),ue.delete(re),K.delete(re),se.delete(re),le.delete(re),S.fetchers.delete(re)}i(it,"deleteFetcher");function De(re){if(u.v7_fetcherPersist){let oe=(_e.get(re)||0)-1;oe<=0?(_e.delete(re),le.add(re)):_e.set(re,oe)}else it(re);J({fetchers:new Map(S.fetchers)})}i(De,"deleteFetcherAndUpdateState");function Se(re){let oe=F.get(re);Rt(oe,"Expected fetch controller: "+re),oe.abort(),F.delete(re)}i(Se,"abortFetcher");function We(re){for(let oe of re){let ye=pt(oe),Ie=Os(ye.data);S.fetchers.set(oe,Ie)}}i(We,"markFetchersDone");function yt(){let re=[],oe=!1;for(let ye of se){let Ie=S.fetchers.get(ye);Rt(Ie,"Expected fetcher: "+ye),Ie.state==="loading"&&(se.delete(ye),re.push(ye),oe=!0)}return We(re),oe}i(yt,"markFetchRedirectsDone");function jt(re){let oe=[];for(let[ye,Ie]of K)if(Ie0}i(jt,"abortStaleFetchLoads");function G(re,oe){let ye=S.blockers.get(re)||xu;return q.get(re)!==oe&&q.set(re,oe),ye}i(G,"getBlocker");function ae(re){S.blockers.delete(re),q.delete(re)}i(ae,"deleteBlocker");function ce(re,oe){let ye=S.blockers.get(re)||xu;Rt(ye.state==="unblocked"&&oe.state==="blocked"||ye.state==="blocked"&&oe.state==="blocked"||ye.state==="blocked"&&oe.state==="proceeding"||ye.state==="blocked"&&oe.state==="unblocked"||ye.state==="proceeding"&&oe.state==="unblocked","Invalid blocker state transition: "+ye.state+" -> "+oe.state);let Ie=new Map(S.blockers);Ie.set(re,oe),J({blockers:Ie})}i(ce,"updateBlocker");function be(re){let{currentLocation:oe,nextLocation:ye,historyAction:Ie}=re;if(q.size===0)return;q.size>1&&hc(!1,"A router only supports one blocker at a time");let He=Array.from(q.entries()),[ut,Ve]=He[He.length-1],Ne=S.blockers.get(ut);if(!(Ne&&Ne.state==="proceeding")&&Ve({currentLocation:oe,nextLocation:ye,historyAction:Ie}))return ut}i(be,"shouldBlockNavigation");function Ue(re){let oe=[];return V.forEach((ye,Ie)=>{(!re||re(Ie))&&(ye.cancel(),oe.push(Ie),V.delete(Ie))}),oe}i(Ue,"cancelActiveDeferreds");function Oe(re,oe,ye){if(m=re,h=oe,g=ye||null,!y&&S.navigation===o2){y=!0;let Ie=wt(S.location,S.matches);Ie!=null&&J({restoreScrollPosition:Ie})}return()=>{m=null,h=null,g=null}}i(Oe,"enableScrollRestoration");function ft(re,oe){return g&&g(re,oe.map(Ie=>Xee(Ie,S.loaderData)))||re.key}i(ft,"getScrollKey");function kt(re,oe){if(m&&h){let ye=ft(re,oe);m[ye]=h()}}i(kt,"saveScrollPosition");function wt(re,oe){if(m){let ye=ft(re,oe),Ie=m[ye];if(typeof Ie=="number")return Ie}return null}i(wt,"getSavedScrollPosition");function Dt(re){o={},c=Oj(re,a,void 0,o)}return i(Dt,"_internalSetRoutes"),_={get basename(){return l},get future(){return u},get state(){return S},get routes(){return s},get window(){return t},initialize:O,subscribe:Z,enableScrollRestoration:Oe,navigate:ne,fetch:X,revalidate:ie,createHref:re=>e.history.createHref(re),encodeLocation:re=>e.history.encodeLocation(re),getFetcher:pt,deleteFetcher:De,dispose:D,getBlocker:G,deleteBlocker:ae,_internalFetchControllers:F,_internalActiveDeferreds:V,_internalSetRoutes:Dt},_}i(jte,"createRouter");function _te(e){return e!=null&&("formData"in e&&e.formData!=null||"body"in e&&e.body!==void 0)}i(_te,"isSubmissionNavigation");function zj(e,t,n,r,a,o,s,c){let l,u;if(s){l=[];for(let f of t)if(l.push(f),f.route.id===s){u=f;break}}else l=t,u=t[t.length-1];let d=ex(a||".",Z0(l,o),gc(e.pathname,n)||e.pathname,c==="path");return a==null&&(d.search=e.search,d.hash=e.hash),(a==null||a===""||a===".")&&u&&u.route.index&&!c$(d.search)&&(d.search=d.search?d.search.replace(/^\?/,"?index&"):"?index"),r&&n!=="/"&&(d.pathname=d.pathname==="/"?n:ss([n,d.pathname])),Al(d)}i(zj,"normalizeTo");function nM(e,t,n,r){if(!r||!_te(r))return{path:n};if(r.formMethod&&!Tte(r.formMethod))return{path:n,error:Ja(405,{method:r.formMethod})};let a=i(()=>({path:n,error:Ja(400,{type:"invalid-body"})}),"getInvalidBodyError"),o=r.formMethod||"get",s=e?o.toUpperCase():o.toLowerCase(),c=rF(n);if(r.body!==void 0){if(r.formEncType==="text/plain"){if(!Eo(s))return a();let m=typeof r.body=="string"?r.body:r.body instanceof FormData||r.body instanceof URLSearchParams?Array.from(r.body.entries()).reduce((g,h)=>{let[y,b]=h;return""+g+y+"="+b+` -`},""):String(r.body);return{path:n,submission:{formMethod:s,formAction:c,formEncType:r.formEncType,formData:void 0,json:void 0,text:m}}}else if(r.formEncType==="application/json"){if(!Eo(s))return a();try{let m=typeof r.body=="string"?JSON.parse(r.body):r.body;return{path:n,submission:{formMethod:s,formAction:c,formEncType:r.formEncType,formData:void 0,json:m,text:void 0}}}catch{return a()}}}Rt(typeof FormData=="function","FormData is not available in this environment");let l,u;if(r.formData)l=Ij(r.formData),u=r.formData;else if(r.body instanceof FormData)l=Ij(r.body),u=r.body;else if(r.body instanceof URLSearchParams)l=r.body,u=iM(l);else if(r.body==null)l=new URLSearchParams,u=new FormData;else try{l=new URLSearchParams(r.body),u=iM(l)}catch{return a()}let d={formMethod:s,formAction:c,formEncType:r&&r.formEncType||"application/x-www-form-urlencoded",formData:u,json:void 0,text:void 0};if(Eo(d.formMethod))return{path:n,submission:d};let f=Ii(n);return t&&f.search&&c$(f.search)&&l.append("index",""),f.search="?"+l,{path:Al(f),submission:d}}i(nM,"normalizeNavigateOptions");function kte(e,t){let n=e;if(t){let r=e.findIndex(a=>a.route.id===t);r>=0&&(n=e.slice(0,r))}return n}i(kte,"getLoaderMatchesUntilBoundary");function rM(e,t,n,r,a,o,s,c,l,u,d,f,m,g,h,y){let b=y?Object.values(y)[0]:h?Object.values(h)[0]:void 0,x=e.createURL(t.location),w=e.createURL(a),C=y?Object.keys(y)[0]:void 0,_=kte(n,C).filter((k,$)=>{let{route:E}=k;if(E.lazy)return!0;if(E.loader==null)return!1;if(o)return E.loader.hydrate?!0:t.loaderData[E.id]===void 0&&(!t.errors||t.errors[E.id]===void 0);if($te(t.loaderData,t.matches[$],k)||c.some(T=>T===k.route.id))return!0;let P=t.matches[$],R=k;return aM(k,On({currentUrl:x,currentParams:P.params,nextUrl:w,nextParams:R.params},r,{actionResult:b,defaultShouldRevalidate:s||x.pathname+x.search===w.pathname+w.search||x.search!==w.search||nF(P,R)}))}),S=[];return d.forEach((k,$)=>{if(o||!n.some(M=>M.route.id===k.routeId)||u.has($))return;let E=Bu(m,k.path,g);if(!E){S.push({key:$,routeId:k.routeId,path:k.path,matches:null,match:null,controller:null});return}let P=t.fetchers.get($),R=Lj(E,k.path),T=!1;f.has($)?T=!1:l.includes($)?T=!0:P&&P.state!=="idle"&&P.data===void 0?T=s:T=aM(R,On({currentUrl:x,currentParams:t.matches[t.matches.length-1].params,nextUrl:w,nextParams:n[n.length-1].params},r,{actionResult:b,defaultShouldRevalidate:s})),T&&S.push({key:$,routeId:k.routeId,path:k.path,matches:E,match:R,controller:new AbortController})}),[_,S]}i(rM,"getMatchesToLoad");function $te(e,t,n){let r=!t||n.route.id!==t.route.id,a=e[n.route.id]===void 0;return r||a}i($te,"isNewLoader");function nF(e,t){let n=e.route.path;return e.pathname!==t.pathname||n!=null&&n.endsWith("*")&&e.params["*"]!==t.params["*"]}i(nF,"isNewRouteInstance");function aM(e,t){if(e.route.shouldRevalidate){let n=e.route.shouldRevalidate(t);if(typeof n=="boolean")return n}return t.defaultShouldRevalidate}i(aM,"shouldRevalidateLoader");async function oM(e,t,n){if(!e.lazy)return;let r=await e.lazy();if(!e.lazy)return;let a=n[e.id];Rt(a,"No route found in manifest");let o={};for(let s in r){let l=a[s]!==void 0&&s!=="hasErrorBoundary";hc(!l,'Route "'+a.id+'" has a static property "'+s+'" defined but its lazy function is also returning a value for this property. '+('The lazy route property "'+s+'" will be ignored.')),!l&&!Yee.has(s)&&(o[s]=r[s])}Object.assign(a,o),Object.assign(a,On({},t(a),{lazy:void 0}))}i(oM,"loadLazyRouteModule");async function yp(e,t,n,r,a,o,s,c,l){l===void 0&&(l={});let u,d,f,m=i(y=>{let b,x=new Promise((w,C)=>b=C);return f=i(()=>b(),"onReject"),t.signal.addEventListener("abort",f),Promise.race([y({request:t,params:n.params,context:l.requestContext}),x])},"runHandler");try{let y=n.route[e];if(n.route.lazy)if(y){let b,x=await Promise.all([m(y).catch(w=>{b=w}),oM(n.route,o,a)]);if(b)throw b;d=x[0]}else if(await oM(n.route,o,a),y=n.route[e],y)d=await m(y);else if(e==="action"){let b=new URL(t.url),x=b.pathname+b.search;throw Ja(405,{method:t.method,pathname:x,routeId:n.route.id})}else return{type:Mn.data,data:void 0};else if(y)d=await m(y);else{let b=new URL(t.url),x=b.pathname+b.search;throw Ja(404,{pathname:x})}Rt(d!==void 0,"You defined "+(e==="action"?"an action":"a loader")+" for route "+('"'+n.route.id+"\" but didn't return anything from your `"+e+"` ")+"function. Please return a value or `null`.")}catch(y){u=Mn.error,d=y}finally{f&&t.signal.removeEventListener("abort",f)}if(Pte(d)){let y=d.status;if(xte.has(y)){let x=d.headers.get("Location");if(Rt(x,"Redirects returned/thrown from loaders/actions must have a Location header"),!eF.test(x))x=zj(new URL(t.url),r.slice(0,r.indexOf(n)+1),s,!0,x,c);else if(!l.isStaticRequest){let w=new URL(t.url),C=x.startsWith("//")?new URL(w.protocol+x):new URL(x),j=gc(C.pathname,s)!=null;C.origin===w.origin&&j&&(x=C.pathname+C.search+C.hash)}if(l.isStaticRequest)throw d.headers.set("Location",x),d;return{type:Mn.redirect,status:y,location:x,revalidate:d.headers.get("X-Remix-Revalidate")!==null,reloadDocument:d.headers.get("X-Remix-Reload-Document")!==null}}if(l.isRouteRequest)throw{type:u===Mn.error?Mn.error:Mn.data,response:d};let b;try{let x=d.headers.get("Content-Type");x&&/\bapplication\/json\b/.test(x)?d.body==null?b=null:b=await d.json():b=await d.text()}catch(x){return{type:Mn.error,error:x}}return u===Mn.error?{type:u,error:new Vm(y,d.statusText,b),headers:d.headers}:{type:Mn.data,data:b,statusCode:d.status,headers:d.headers}}if(u===Mn.error)return{type:u,error:d};if(Ate(d)){var g,h;return{type:Mn.deferred,deferredData:d,statusCode:(g=d.init)==null?void 0:g.status,headers:((h=d.init)==null?void 0:h.headers)&&new Headers(d.init.headers)}}return{type:Mn.data,data:d}}i(yp,"callLoaderOrAction");function bp(e,t,n,r){let a=e.createURL(rF(t)).toString(),o={signal:n};if(r&&Eo(r.formMethod)){let{formMethod:s,formEncType:c}=r;o.method=s.toUpperCase(),c==="application/json"?(o.headers=new Headers({"Content-Type":c}),o.body=JSON.stringify(r.json)):c==="text/plain"?o.body=r.text:c==="application/x-www-form-urlencoded"&&r.formData?o.body=Ij(r.formData):o.body=r.formData}return new Request(a,o)}i(bp,"createClientSideRequest");function Ij(e){let t=new URLSearchParams;for(let[n,r]of e.entries())t.append(n,typeof r=="string"?r:r.name);return t}i(Ij,"convertFormDataToSearchParams");function iM(e){let t=new FormData;for(let[n,r]of e.entries())t.append(n,r);return t}i(iM,"convertSearchParamsToFormData");function Ete(e,t,n,r,a){let o={},s=null,c,l=!1,u={};return n.forEach((d,f)=>{let m=t[f].route.id;if(Rt(!Kc(d),"Cannot handle redirect results in processLoaderData"),Wu(d)){let g=um(e,m),h=d.error;r&&(h=Object.values(r)[0],r=void 0),s=s||{},s[g.route.id]==null&&(s[g.route.id]=h),o[m]=void 0,l||(l=!0,c=XN(d.error)?d.error.status:500),d.headers&&(u[m]=d.headers)}else Gc(d)?(a.set(m,d.deferredData),o[m]=d.deferredData.data):o[m]=d.data,d.statusCode!=null&&d.statusCode!==200&&!l&&(c=d.statusCode),d.headers&&(u[m]=d.headers)}),r&&(s=r,o[Object.keys(r)[0]]=void 0),{loaderData:o,errors:s,statusCode:c||200,loaderHeaders:u}}i(Ete,"processRouteLoaderData");function sM(e,t,n,r,a,o,s,c){let{loaderData:l,errors:u}=Ete(t,n,r,a,c);for(let d=0;dr.route.id===t)+1):[...e]).reverse().find(r=>r.route.hasErrorBoundary===!0)||e[0]}i(um,"findNearestBoundary");function lM(e){let t=e.length===1?e[0]:e.find(n=>n.index||!n.path||n.path==="/")||{id:"__shim-error-route__"};return{matches:[{params:{},pathname:"",pathnameBase:"",route:t}],route:t}}i(lM,"getShortCircuitMatches");function Ja(e,t){let{pathname:n,routeId:r,method:a,type:o}=t===void 0?{}:t,s="Unknown Server Error",c="Unknown @remix-run/router error";return e===400?(s="Bad Request",a&&n&&r?c="You made a "+a+' request to "'+n+'" but '+('did not provide a `loader` for route "'+r+'", ')+"so there is no way to handle the request.":o==="defer-action"?c="defer() is not supported in actions":o==="invalid-body"&&(c="Unable to encode submission body")):e===403?(s="Forbidden",c='Route "'+r+'" does not match URL "'+n+'"'):e===404?(s="Not Found",c='No route matches URL "'+n+'"'):e===405&&(s="Method Not Allowed",a&&n&&r?c="You made a "+a.toUpperCase()+' request to "'+n+'" but '+('did not provide an `action` for route "'+r+'", ')+"so there is no way to handle the request.":a&&(c='Invalid request method "'+a.toUpperCase()+'"')),new Vm(e||500,s,new Error(c),!0)}i(Ja,"getInternalRouterError");function uM(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(Kc(n))return{result:n,idx:t}}}i(uM,"findRedirect");function rF(e){let t=typeof e=="string"?Ii(e):e;return Al(On({},t,{hash:""}))}i(rF,"stripHashFromPath");function Rte(e,t){return e.pathname!==t.pathname||e.search!==t.search?!1:e.hash===""?t.hash!=="":e.hash===t.hash?!0:t.hash!==""}i(Rte,"isHashChangeOnly");function Gc(e){return e.type===Mn.deferred}i(Gc,"isDeferredResult");function Wu(e){return e.type===Mn.error}i(Wu,"isErrorResult");function Kc(e){return(e&&e.type)===Mn.redirect}i(Kc,"isRedirectResult");function Ate(e){let t=e;return t&&typeof t=="object"&&typeof t.data=="object"&&typeof t.subscribe=="function"&&typeof t.cancel=="function"&&typeof t.resolveData=="function"}i(Ate,"isDeferredData");function Pte(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.headers=="object"&&typeof e.body<"u"}i(Pte,"isResponse");function Tte(e){return bte.has(e.toLowerCase())}i(Tte,"isValidMethod");function Eo(e){return vte.has(e.toLowerCase())}i(Eo,"isMutationMethod");async function dM(e,t,n,r,a,o){for(let s=0;sf.route.id===l.route.id),d=u!=null&&!nF(u,l)&&(o&&o[l.route.id])!==void 0;if(Gc(c)&&(a||d)){let f=r[s];Rt(f,"Expected an AbortSignal for revalidating fetcher deferred result"),await aF(c,f,a).then(m=>{m&&(n[s]=m||n[s])})}}}i(dM,"resolveDeferredResults");async function aF(e,t,n){if(n===void 0&&(n=!1),!await e.deferredData.resolveData(t)){if(n)try{return{type:Mn.data,data:e.deferredData.unwrappedData}}catch(a){return{type:Mn.error,error:a}}return{type:Mn.data,data:e.deferredData.data}}}i(aF,"resolveDeferredData");function c$(e){return new URLSearchParams(e).getAll("index").some(t=>t==="")}i(c$,"hasNakedIndexQuery");function Lj(e,t){let n=typeof t=="string"?Ii(t).search:t.search;if(e[e.length-1].route.index&&c$(n||""))return e[e.length-1];let r=QN(e);return r[r.length-1]}i(Lj,"getTargetMatch");function fM(e){let{formMethod:t,formAction:n,formEncType:r,text:a,formData:o,json:s}=e;if(!(!t||!n||!r)){if(a!=null)return{formMethod:t,formAction:n,formEncType:r,formData:void 0,json:void 0,text:a};if(o!=null)return{formMethod:t,formAction:n,formEncType:r,formData:o,json:void 0,text:void 0};if(s!==void 0)return{formMethod:t,formAction:n,formEncType:r,formData:void 0,json:s,text:void 0}}}i(fM,"getSubmissionFromNavigation");function i2(e,t){return t?{state:"loading",location:e,formMethod:t.formMethod,formAction:t.formAction,formEncType:t.formEncType,formData:t.formData,json:t.json,text:t.text}:{state:"loading",location:e,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0}}i(i2,"getLoadingNavigation");function Mte(e,t){return{state:"submitting",location:e,formMethod:t.formMethod,formAction:t.formAction,formEncType:t.formEncType,formData:t.formData,json:t.json,text:t.text}}i(Mte,"getSubmittingNavigation");function xp(e,t){return e?{state:"loading",formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text,data:t}:{state:"loading",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:t}}i(xp,"getLoadingFetcher");function Ote(e,t){return{state:"submitting",formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text,data:t?t.data:void 0}}i(Ote,"getSubmittingFetcher");function Os(e){return{state:"idle",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:e}}i(Os,"getDoneFetcher");function zte(e,t){try{let n=e.sessionStorage.getItem(tF);if(n){let r=JSON.parse(n);for(let[a,o]of Object.entries(r||{}))o&&Array.isArray(o)&&t.set(a,new Set(o||[]))}}catch{}}i(zte,"restoreAppliedTransitions");function Ite(e,t){if(t.size>0){let n={};for(let[r,a]of t)n[r]=[...a];try{e.sessionStorage.setItem(tF,JSON.stringify(n))}catch(r){hc(!1,"Failed to save applied view transitions in sessionStorage ("+r+").")}}}i(Ite,"persistAppliedTransitions");/** - * React Router v6.22.0 - * - * Copyright (c) Remix Software Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE.md file in the root directory of this source tree. - * - * @license MIT - */function Pl(){return Pl=Object.assign?Object.assign.bind():function(e){for(var t=1;tlm(e,t),[t,e])}i(Dte,"useMatch");function iF(e){v.useContext(Sc).static||v.useLayoutEffect(e)}i(iF,"useIsomorphicLayoutEffect");function Li(){let{isDataRoute:e}=v.useContext(Ss);return e?Jte():Nte()}i(Li,"useNavigate");function Nte(){jc()||Rt(!1);let e=v.useContext(ng),{basename:t,future:n,navigator:r}=v.useContext(Sc),{matches:a}=v.useContext(Ss),{pathname:o}=Er(),s=JSON.stringify(Z0(a,n.v7_relativeSplatPath)),c=v.useRef(!1);return iF(()=>{c.current=!0}),v.useCallback(function(u,d){if(d===void 0&&(d={}),!c.current)return;if(typeof u=="number"){r.go(u);return}let f=ex(u,JSON.parse(s),o,d.relative==="path");e==null&&t!=="/"&&(f.pathname=f.pathname==="/"?t:ss([t,f.pathname])),(d.replace?r.replace:r.push)(f,d.state,d)},[t,r,s,o,e])}i(Nte,"useNavigateUnstable");function sF(){let{matches:e}=v.useContext(Ss),t=e[e.length-1];return t?t.params:{}}i(sF,"useParams");function cF(e,t){let{relative:n}=t===void 0?{}:t,{future:r}=v.useContext(Sc),{matches:a}=v.useContext(Ss),{pathname:o}=Er(),s=JSON.stringify(Z0(a,r.v7_relativeSplatPath));return v.useMemo(()=>ex(e,JSON.parse(s),o,n==="path"),[e,s,o,n])}i(cF,"useResolvedPath");function Fte(e,t){return lF(e,t)}i(Fte,"useRoutes");function lF(e,t,n,r){jc()||Rt(!1);let{navigator:a}=v.useContext(Sc),{matches:o}=v.useContext(Ss),s=o[o.length-1],c=s?s.params:{};s&&s.pathname;let l=s?s.pathnameBase:"/";s&&s.route;let u=Er(),d;if(t){var f;let b=typeof t=="string"?Ii(t):t;l==="/"||(f=b.pathname)!=null&&f.startsWith(l)||Rt(!1),d=b}else d=u;let m=d.pathname||"/",g=l==="/"?m:m.slice(l.length)||"/",h=Bu(e,{pathname:g}),y=Hte(h&&h.map(b=>Object.assign({},b,{params:Object.assign({},c,b.params),pathname:ss([l,a.encodeLocation?a.encodeLocation(b.pathname).pathname:b.pathname]),pathnameBase:b.pathnameBase==="/"?l:ss([l,a.encodeLocation?a.encodeLocation(b.pathnameBase).pathname:b.pathnameBase])})),o,n,r);return t&&y?v.createElement(tx.Provider,{value:{location:Pl({pathname:"/",search:"",hash:"",state:null,key:"default"},d),navigationType:Dn.Pop}},y):y}i(lF,"useRoutesImpl");function Bte(){let e=Vte(),t=XN(e)?e.status+" "+e.statusText:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null,a={padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"};return v.createElement(v.Fragment,null,v.createElement("h2",null,"Unexpected Application Error!"),v.createElement("h3",{style:{fontStyle:"italic"}},t),n?v.createElement("pre",{style:a},n):null,null)}i(Bte,"DefaultErrorComponent");const Wte=v.createElement(Bte,null),PA=class PA extends v.Component{constructor(t){super(t),this.state={location:t.location,revalidation:t.revalidation,error:t.error}}static getDerivedStateFromError(t){return{error:t}}static getDerivedStateFromProps(t,n){return n.location!==t.location||n.revalidation!=="idle"&&t.revalidation==="idle"?{error:t.error,location:t.location,revalidation:t.revalidation}:{error:t.error!==void 0?t.error:n.error,location:n.location,revalidation:t.revalidation||n.revalidation}}componentDidCatch(t,n){console.error("React Router caught the following error during render",t,n)}render(){return this.state.error!==void 0?v.createElement(Ss.Provider,{value:this.props.routeContext},v.createElement(oF.Provider,{value:this.state.error,children:this.props.component})):this.props.children}};i(PA,"RenderErrorBoundary");let Dj=PA;function Ute(e){let{routeContext:t,match:n,children:r}=e,a=v.useContext(ng);return a&&a.static&&a.staticContext&&(n.route.errorElement||n.route.ErrorBoundary)&&(a.staticContext._deepestRenderedBoundaryId=n.route.id),v.createElement(Ss.Provider,{value:t},r)}i(Ute,"RenderedRoute");function Hte(e,t,n,r){var a;if(t===void 0&&(t=[]),n===void 0&&(n=null),r===void 0&&(r=null),e==null){var o;if((o=n)!=null&&o.errors)e=n.matches;else return null}let s=e,c=(a=n)==null?void 0:a.errors;if(c!=null){let d=s.findIndex(f=>f.route.id&&(c==null?void 0:c[f.route.id]));d>=0||Rt(!1),s=s.slice(0,Math.min(s.length,d+1))}let l=!1,u=-1;if(n&&r&&r.v7_partialHydration)for(let d=0;d=0?s=s.slice(0,u+1):s=[s[0]];break}}}return s.reduceRight((d,f,m)=>{let g,h=!1,y=null,b=null;n&&(g=c&&f.route.id?c[f.route.id]:void 0,y=f.route.errorElement||Wte,l&&(u<0&&m===0?(Yte("route-fallback",!1),h=!0,b=null):u===m&&(h=!0,b=f.route.hydrateFallbackElement||null)));let x=t.concat(s.slice(0,m+1)),w=i(()=>{let C;return g?C=y:h?C=b:f.route.Component?C=v.createElement(f.route.Component,null):f.route.element?C=f.route.element:C=d,v.createElement(Ute,{match:f,routeContext:{outlet:d,matches:x,isDataRoute:n!=null},children:C})},"getChildren");return n&&(f.route.ErrorBoundary||f.route.errorElement||m===0)?v.createElement(Dj,{location:n.location,revalidation:n.revalidation,component:y,error:g,children:w(),routeContext:{outlet:null,matches:x,isDataRoute:!0}}):w()},null)}i(Hte,"_renderMatches");var u$=function(e){return e.UseBlocker="useBlocker",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e}(u$||{}),Gm=function(e){return e.UseBlocker="useBlocker",e.UseLoaderData="useLoaderData",e.UseActionData="useActionData",e.UseRouteError="useRouteError",e.UseNavigation="useNavigation",e.UseRouteLoaderData="useRouteLoaderData",e.UseMatches="useMatches",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e.UseRouteId="useRouteId",e}(Gm||{});function uF(e){let t=v.useContext(ng);return t||Rt(!1),t}i(uF,"useDataRouterContext");function dF(e){let t=v.useContext(l$);return t||Rt(!1),t}i(dF,"useDataRouterState");function qte(e){let t=v.useContext(Ss);return t||Rt(!1),t}i(qte,"useRouteContext");function fF(e){let t=qte(),n=t.matches[t.matches.length-1];return n.route.id||Rt(!1),n.route.id}i(fF,"useCurrentRouteId");function Vte(){var e;let t=v.useContext(oF),n=dF(Gm.UseRouteError),r=fF(Gm.UseRouteError);return t!==void 0?t:(e=n.errors)==null?void 0:e[r]}i(Vte,"useRouteError");let Gte=0;function Kte(e){let{router:t,basename:n}=uF(u$.UseBlocker),r=dF(Gm.UseBlocker),[a,o]=v.useState(""),s=v.useCallback(c=>{if(typeof e!="function")return!!e;if(n==="/")return e(c);let{currentLocation:l,nextLocation:u,historyAction:d}=c;return e({currentLocation:Pl({},l,{pathname:gc(l.pathname,n)||l.pathname}),nextLocation:Pl({},u,{pathname:gc(u.pathname,n)||u.pathname}),historyAction:d})},[n,e]);return v.useEffect(()=>{let c=String(++Gte);return o(c),()=>t.deleteBlocker(c)},[t]),v.useEffect(()=>{a!==""&&t.getBlocker(a,s)},[t,a,s]),a&&r.blockers.has(a)?r.blockers.get(a):xu}i(Kte,"useBlocker");function Jte(){let{router:e}=uF(u$.UseNavigateStable),t=fF(Gm.UseNavigateStable),n=v.useRef(!1);return iF(()=>{n.current=!0}),v.useCallback(function(a,o){o===void 0&&(o={}),n.current&&(typeof a=="number"?e.navigate(a):e.navigate(a,Pl({fromRouteId:t},o)))},[e,t])}i(Jte,"useNavigateStable");const pM={};function Yte(e,t,n){!t&&!pM[e]&&(pM[e]=!0)}i(Yte,"warningOnce");function Qte(e){let{to:t,replace:n,state:r,relative:a}=e;jc()||Rt(!1);let{future:o,static:s}=v.useContext(Sc),{matches:c}=v.useContext(Ss),{pathname:l}=Er(),u=Li(),d=ex(t,Z0(c,o.v7_relativeSplatPath),l,a==="path"),f=JSON.stringify(d);return v.useEffect(()=>u(JSON.parse(f),{replace:n,state:r,relative:a}),[u,f,a,n,r]),null}i(Qte,"Navigate");function ca(e){Rt(!1)}i(ca,"Route");function Xte(e){let{basename:t="/",children:n=null,location:r,navigationType:a=Dn.Pop,navigator:o,static:s=!1,future:c}=e;jc()&&Rt(!1);let l=t.replace(/^\/*/,"/"),u=v.useMemo(()=>({basename:l,navigator:o,static:s,future:Pl({v7_relativeSplatPath:!1},c)}),[l,c,o,s]);typeof r=="string"&&(r=Ii(r));let{pathname:d="/",search:f="",hash:m="",state:g=null,key:h="default"}=r,y=v.useMemo(()=>{let b=gc(d,l);return b==null?null:{location:{pathname:b,search:f,hash:m,state:g,key:h},navigationType:a}},[l,d,f,m,g,h,a]);return y==null?null:v.createElement(Sc.Provider,{value:u},v.createElement(tx.Provider,{children:n,value:y}))}i(Xte,"Router");function Uu(e){let{children:t,location:n}=e;return Fte(Nj(t),n)}i(Uu,"Routes");new Promise(()=>{});function Nj(e,t){t===void 0&&(t=[]);let n=[];return v.Children.forEach(e,(r,a)=>{if(!v.isValidElement(r))return;let o=[...t,a];if(r.type===v.Fragment){n.push.apply(n,Nj(r.props.children,o));return}r.type!==ca&&Rt(!1),!r.props.index||!r.props.children||Rt(!1);let s={id:r.props.id||o.join("-"),caseSensitive:r.props.caseSensitive,element:r.props.element,Component:r.props.Component,index:r.props.index,path:r.props.path,loader:r.props.loader,action:r.props.action,errorElement:r.props.errorElement,ErrorBoundary:r.props.ErrorBoundary,hasErrorBoundary:r.props.ErrorBoundary!=null||r.props.errorElement!=null,shouldRevalidate:r.props.shouldRevalidate,handle:r.props.handle,lazy:r.props.lazy};r.props.children&&(s.children=Nj(r.props.children,o)),n.push(s)}),n}i(Nj,"createRoutesFromChildren");function Zte(e){let t={hasErrorBoundary:e.ErrorBoundary!=null||e.errorElement!=null};return e.Component&&Object.assign(t,{element:v.createElement(e.Component),Component:void 0}),e.HydrateFallback&&Object.assign(t,{hydrateFallbackElement:v.createElement(e.HydrateFallback),HydrateFallback:void 0}),e.ErrorBoundary&&Object.assign(t,{errorElement:v.createElement(e.ErrorBoundary),ErrorBoundary:void 0}),t}i(Zte,"mapRouteProperties");/** - * React Router DOM v6.22.0 - * - * Copyright (c) Remix Software Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE.md file in the root directory of this source tree. - * - * @license MIT - */function Km(){return Km=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&(n[a]=e[a]);return n}i(ene,"_objectWithoutPropertiesLoose$6");function tne(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}i(tne,"isModifiedEvent");function nne(e,t){return e.button===0&&(!t||t==="_self")&&!tne(e)}i(nne,"shouldProcessLinkClick");const rne=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","unstable_viewTransition"],ane="6";try{window.__reactRouterVersion=ane}catch{}function one(e,t){return jte({basename:t==null?void 0:t.basename,future:Km({},t==null?void 0:t.future,{v7_prependBasename:!0}),history:Gee({window:t==null?void 0:t.window}),hydrationData:(t==null?void 0:t.hydrationData)||ine(),routes:e,mapRouteProperties:Zte,window:t==null?void 0:t.window}).initialize()}i(one,"createHashRouter");function ine(){var e;let t=(e=window)==null?void 0:e.__staticRouterHydrationData;return t&&t.errors&&(t=Km({},t,{errors:sne(t.errors)})),t}i(ine,"parseHydrationData");function sne(e){if(!e)return null;let t=Object.entries(e),n={};for(let[r,a]of t)if(a&&a.__type==="RouteErrorResponse")n[r]=new Vm(a.status,a.statusText,a.data,a.internal===!0);else if(a&&a.__type==="Error"){if(a.__subType){let o=window[a.__subType];if(typeof o=="function")try{let s=new o(a.message);s.stack="",n[r]=s}catch{}}if(n[r]==null){let o=new Error(a.message);o.stack="",n[r]=o}}else n[r]=a;return n}i(sne,"deserializeErrors");const cne=v.createContext({isTransitioning:!1}),lne=v.createContext(new Map),une="startTransition",mM=RL[une],dne="flushSync",hM=mee[dne];function fne(e){mM?mM(e):e()}i(fne,"startTransitionSafe");function wp(e){hM?hM(e):e()}i(wp,"flushSyncSafe");const TA=class TA{constructor(){this.status="pending",this.promise=new Promise((t,n)=>{this.resolve=r=>{this.status==="pending"&&(this.status="resolved",t(r))},this.reject=r=>{this.status==="pending"&&(this.status="rejected",n(r))}})}};i(TA,"Deferred");let Fj=TA;function pne(e){let{fallbackElement:t,router:n,future:r}=e,[a,o]=v.useState(n.state),[s,c]=v.useState(),[l,u]=v.useState({isTransitioning:!1}),[d,f]=v.useState(),[m,g]=v.useState(),[h,y]=v.useState(),b=v.useRef(new Map),{v7_startTransition:x}=r||{},w=v.useCallback(k=>{x?fne(k):k()},[x]),C=v.useCallback((k,$)=>{let{deletedFetchers:E,unstable_flushSync:P,unstable_viewTransitionOpts:R}=$;E.forEach(M=>b.current.delete(M)),k.fetchers.forEach((M,I)=>{M.data!==void 0&&b.current.set(I,M.data)});let T=n.window==null||typeof n.window.document.startViewTransition!="function";if(!R||T){P?wp(()=>o(k)):w(()=>o(k));return}if(P){wp(()=>{m&&(d&&d.resolve(),m.skipTransition()),u({isTransitioning:!0,flushSync:!0,currentLocation:R.currentLocation,nextLocation:R.nextLocation})});let M=n.window.document.startViewTransition(()=>{wp(()=>o(k))});M.finished.finally(()=>{wp(()=>{f(void 0),g(void 0),c(void 0),u({isTransitioning:!1})})}),wp(()=>g(M));return}m?(d&&d.resolve(),m.skipTransition(),y({state:k,currentLocation:R.currentLocation,nextLocation:R.nextLocation})):(c(k),u({isTransitioning:!0,flushSync:!1,currentLocation:R.currentLocation,nextLocation:R.nextLocation}))},[n.window,m,d,b,w]);v.useLayoutEffect(()=>n.subscribe(C),[n,C]),v.useEffect(()=>{l.isTransitioning&&!l.flushSync&&f(new Fj)},[l]),v.useEffect(()=>{if(d&&s&&n.window){let k=s,$=d.promise,E=n.window.document.startViewTransition(async()=>{w(()=>o(k)),await $});E.finished.finally(()=>{f(void 0),g(void 0),c(void 0),u({isTransitioning:!1})}),g(E)}},[w,s,d,n.window]),v.useEffect(()=>{d&&s&&a.location.key===s.location.key&&d.resolve()},[d,m,a.location,s]),v.useEffect(()=>{!l.isTransitioning&&h&&(c(h.state),u({isTransitioning:!0,flushSync:!1,currentLocation:h.currentLocation,nextLocation:h.nextLocation}),y(void 0))},[l.isTransitioning,h]),v.useEffect(()=>{},[]);let j=v.useMemo(()=>({createHref:n.createHref,encodeLocation:n.encodeLocation,go:k=>n.navigate(k),push:(k,$,E)=>n.navigate(k,{state:$,preventScrollReset:E==null?void 0:E.preventScrollReset}),replace:(k,$,E)=>n.navigate(k,{replace:!0,state:$,preventScrollReset:E==null?void 0:E.preventScrollReset})}),[n]),_=n.basename||"/",S=v.useMemo(()=>({router:n,navigator:j,static:!1,basename:_}),[n,j,_]);return v.createElement(v.Fragment,null,v.createElement(ng.Provider,{value:S},v.createElement(l$.Provider,{value:a},v.createElement(lne.Provider,{value:b.current},v.createElement(cne.Provider,{value:l},v.createElement(Xte,{basename:_,location:a.location,navigationType:a.historyAction,navigator:j,future:{v7_relativeSplatPath:n.future.v7_relativeSplatPath}},a.initialized||n.future.v7_partialHydration?v.createElement(mne,{routes:n.routes,future:n.future,state:a}):t))))),null)}i(pne,"RouterProvider");function mne(e){let{routes:t,future:n,state:r}=e;return lF(t,void 0,r,n)}i(mne,"DataRoutes");const hne=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",gne=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,zr=v.forwardRef(i(function(t,n){let{onClick:r,relative:a,reloadDocument:o,replace:s,state:c,target:l,to:u,preventScrollReset:d,unstable_viewTransition:f}=t,m=ene(t,rne),{basename:g}=v.useContext(Sc),h,y=!1;if(typeof u=="string"&&gne.test(u)&&(h=u,hne))try{let C=new URL(window.location.href),j=u.startsWith("//")?new URL(C.protocol+u):new URL(u),_=gc(j.pathname,g);j.origin===C.origin&&_!=null?u=_+j.search+j.hash:y=!0}catch{}let b=Lte(u,{relative:a}),x=vne(u,{replace:s,state:c,target:l,preventScrollReset:d,relative:a,unstable_viewTransition:f});function w(C){r&&r(C),C.defaultPrevented||x(C)}return i(w,"handleClick"),v.createElement("a",Km({},m,{href:h||b,onClick:y||o?r:w,ref:n,target:l}))},"LinkWithRef"));var gM;(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher",e.useViewTransitionState="useViewTransitionState"})(gM||(gM={}));var vM;(function(e){e.UseFetcher="useFetcher",e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"})(vM||(vM={}));function vne(e,t){let{target:n,replace:r,state:a,preventScrollReset:o,relative:s,unstable_viewTransition:c}=t===void 0?{}:t,l=Li(),u=Er(),d=cF(e,{relative:s});return v.useCallback(f=>{if(nne(f,n)){f.preventDefault();let m=r!==void 0?r:Al(u)===Al(d);l(e,{replace:m,state:a,preventScrollReset:o,relative:s,unstable_viewTransition:c})}},[u,l,d,r,a,n,e,o,s,c])}i(vne,"useLinkClickHandler");const yne="RaStore",bne=i(()=>{if(typeof window>"u"||window.localStorage==null)return!1;try{return window.localStorage.setItem("test","test"),window.localStorage.removeItem("test"),!0}catch{return!1}},"testLocalStorage");let Bj=bne();const pF=i((e="1",t="")=>{const n=`${yne}${t}`,r=n.length,a={},o=i((c,l)=>{Object.keys(a).forEach(u=>{a[u]&&a[u].key===c&&a[u].callback(l)})},"publish"),s=i(c=>{var d;if(((d=c.key)==null?void 0:d.substring(0,r))!==n)return;const l=c.key.substring(r+1),u=c.newValue?yM(c.newValue):void 0;Object.keys(a).forEach(f=>{a[f]&&a[f].key===l&&(u===null?a[f].callback(void 0):a[f].callback(u??void 0))})},"onLocalStorageChange");return{setup:()=>{if(Bj){const c=Ui().getItem(`${n}.version`);if(c&&c!==e){const l=Ui();Object.keys(l).forEach(u=>{u.startsWith(n)&&l.removeItem(u)})}Ui().setItem(`${n}.version`,e),window.addEventListener("storage",s)}},teardown:()=>{Bj&&window.removeEventListener("storage",s)},getItem(c,l){const u=Ui().getItem(`${n}.${c}`);return u==null?l:yM(u)},setItem(c,l){l===void 0?Ui().removeItem(`${n}.${c}`):Ui().setItem(`${n}.${c}`,JSON.stringify(l)),o(c,l)},removeItem(c){Ui().removeItem(`${n}.${c}`),o(c,void 0)},removeItems(c){const l=Ui();Object.keys(l).forEach(u=>{if(u.startsWith(`${n}.${c}`)){l.removeItem(u);const d=u.substring(r+1);o(d,void 0)}})},reset(){const c=Ui();Object.keys(c).forEach(l=>{if(l.startsWith(n)){c.removeItem(l);const u=l.substring(r+1);o(u,void 0)}})},subscribe:(c,l)=>{const u=Math.random().toString();return a[u]={key:c,callback:l},()=>{delete a[u]}}}},"localStorageStore"),yM=i(e=>{try{return JSON.parse(e)}catch{return e}},"tryParse"),MA=class MA{constructor(){this.valuesMap=new Map}getItem(t){return this.valuesMap.has(t)?String(this.valuesMap.get(t)):null}setItem(t,n){this.valuesMap.set(t,n)}removeItem(t){this.valuesMap.delete(t)}removeItems(t){this.valuesMap.forEach((n,r)=>{r.startsWith(t)&&this.valuesMap.delete(r)})}clear(){this.valuesMap.clear()}key(t){if(arguments.length===0)throw new TypeError("Failed to execute 'key' on 'Storage': 1 argument required, but only 0 present.");return Array.from(this.valuesMap.keys())[t]}get length(){return this.valuesMap.size}};i(MA,"LocalStorageShim");let Wj=MA;const xne=new Wj,Ui=i(()=>Bj?window.localStorage:xne,"getStorage");var wne=typeof Wp=="object"&&Wp&&Wp.Object===Object&&Wp,mF=wne,Cne=mF,Sne=typeof self=="object"&&self&&self.Object===Object&&self,jne=Cne||Sne||Function("return this")(),Fo=jne,_ne=Fo,kne=_ne.Symbol,Pf=kne,bM=Pf,hF=Object.prototype,$ne=hF.hasOwnProperty,Ene=hF.toString,Cp=bM?bM.toStringTag:void 0;function Rne(e){var t=$ne.call(e,Cp),n=e[Cp];try{e[Cp]=void 0;var r=!0}catch{}var a=Ene.call(e);return r&&(t?e[Cp]=n:delete e[Cp]),a}i(Rne,"getRawTag$1");var Ane=Rne,Pne=Object.prototype,Tne=Pne.toString;function Mne(e){return Tne.call(e)}i(Mne,"objectToString$1");var One=Mne,xM=Pf,zne=Ane,Ine=One,Lne="[object Null]",Dne="[object Undefined]",wM=xM?xM.toStringTag:void 0;function Nne(e){return e==null?e===void 0?Dne:Lne:wM&&wM in Object(e)?zne(e):Ine(e)}i(Nne,"baseGetTag$8");var _c=Nne;function Fne(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}i(Fne,"isObject$f");var yo=Fne,Bne=_c,Wne=yo,Une="[object AsyncFunction]",Hne="[object Function]",qne="[object GeneratorFunction]",Vne="[object Proxy]";function Gne(e){if(!Wne(e))return!1;var t=Bne(e);return t==Hne||t==qne||t==Une||t==Vne}i(Gne,"isFunction$6");var nx=Gne;const gF=Gt(nx);var Kne=Fo,Jne=Kne["__core-js_shared__"],Yne=Jne,s2=Yne,CM=function(){var e=/[^.]+$/.exec(s2&&s2.keys&&s2.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function Qne(e){return!!CM&&CM in e}i(Qne,"isMasked$1");var Xne=Qne,Zne=Function.prototype,ere=Zne.toString;function tre(e){if(e!=null){try{return ere.call(e)}catch{}try{return e+""}catch{}}return""}i(tre,"toSource$2");var vF=tre,nre=nx,rre=Xne,are=yo,ore=vF,ire=/[\\^$.*+?()[\]{}|]/g,sre=/^\[object .+?Constructor\]$/,cre=Function.prototype,lre=Object.prototype,ure=cre.toString,dre=lre.hasOwnProperty,fre=RegExp("^"+ure.call(dre).replace(ire,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function pre(e){if(!are(e)||rre(e))return!1;var t=nre(e)?fre:sre;return t.test(ore(e))}i(pre,"baseIsNative$1");var mre=pre;function hre(e,t){return e==null?void 0:e[t]}i(hre,"getValue$2");var gre=hre,vre=mre,yre=gre;function bre(e,t){var n=yre(e,t);return vre(n)?n:void 0}i(bre,"getNative$7");var ql=bre,xre=ql,wre=function(){try{var e=xre(Object,"defineProperty");return e({},"",{}),e}catch{}}(),yF=wre,SM=yF;function Cre(e,t,n){t=="__proto__"&&SM?SM(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}i(Cre,"baseAssignValue$3");var d$=Cre;function Sre(e,t){return e===t||e!==e&&t!==t}i(Sre,"eq$6");var Tf=Sre,jre=d$,_re=Tf,kre=Object.prototype,$re=kre.hasOwnProperty;function Ere(e,t,n){var r=e[t];(!($re.call(e,t)&&_re(r,n))||n===void 0&&!(t in e))&&jre(e,t,n)}i(Ere,"assignValue$3");var f$=Ere,Rre=Array.isArray,xa=Rre;function Are(e){return e!=null&&typeof e=="object"}i(Are,"isObjectLike$b");var Bo=Are,Pre=_c,Tre=Bo,Mre="[object Symbol]";function Ore(e){return typeof e=="symbol"||Tre(e)&&Pre(e)==Mre}i(Ore,"isSymbol$6");var rg=Ore,zre=xa,Ire=rg,Lre=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Dre=/^\w*$/;function Nre(e,t){if(zre(e))return!1;var n=typeof e;return n=="number"||n=="symbol"||n=="boolean"||e==null||Ire(e)?!0:Dre.test(e)||!Lre.test(e)||t!=null&&e in Object(t)}i(Nre,"isKey$4");var p$=Nre,Fre=ql,Bre=Fre(Object,"create"),rx=Bre,jM=rx;function Wre(){this.__data__=jM?jM(null):{},this.size=0}i(Wre,"hashClear$1");var Ure=Wre;function Hre(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}i(Hre,"hashDelete$1");var qre=Hre,Vre=rx,Gre="__lodash_hash_undefined__",Kre=Object.prototype,Jre=Kre.hasOwnProperty;function Yre(e){var t=this.__data__;if(Vre){var n=t[e];return n===Gre?void 0:n}return Jre.call(t,e)?t[e]:void 0}i(Yre,"hashGet$1");var Qre=Yre,Xre=rx,Zre=Object.prototype,eae=Zre.hasOwnProperty;function tae(e){var t=this.__data__;return Xre?t[e]!==void 0:eae.call(t,e)}i(tae,"hashHas$1");var nae=tae,rae=rx,aae="__lodash_hash_undefined__";function oae(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=rae&&t===void 0?aae:t,this}i(oae,"hashSet$1");var iae=oae,sae=Ure,cae=qre,lae=Qre,uae=nae,dae=iae;function Mf(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t-1}i(kae,"listCacheHas$1");var $ae=kae,Eae=ax;function Rae(e,t){var n=this.__data__,r=Eae(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}i(Rae,"listCacheSet$1");var Aae=Rae,Pae=mae,Tae=wae,Mae=jae,Oae=$ae,zae=Aae;function Of(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t-1&&e%1==0&&ea?0:a+t),n=n>a?a:n,n<0&&(n+=a),a=t>n?0:n-t>>>0,t>>>=0;for(var o=Array(a);++r{const t={},n=i((r,a)=>{Object.keys(t).forEach(o=>{t[o]&&t[o].key===r&&t[o].callback(a)})},"publish");return{setup:()=>{},teardown:()=>{Object.keys(e).forEach(r=>delete e[r])},getItem(r,a){return Ct(e,r,a)},setItem(r,a){$a(e,r,a),n(r,a)},removeItem(r){ey(e,r),n(r,void 0)},removeItems(r){const a=AM(e);Object.keys(a).forEach(o=>{o.startsWith(r)&&(ey(e,o),n(o,void 0))})},reset(){const r=AM(e);Object.keys(r).forEach(a=>{ey(e,a),n(a,void 0)})},subscribe:(r,a)=>{const o=Math.random().toString();return t[o]={key:r,callback:a},()=>{delete t[o]}}}},"memoryStore"),AM=i(e=>{var t={};function n(r,a){if(Object(r)!==r)t[a]=r;else if(Array.isArray(r))t[a]=r;else{var o=!0;for(var s in r)o=!1,n(r[s],a?a+"."+s:s);o&&a&&(t[a]={})}}return i(n,"doFlatten"),n(e,""),t},"flatten$2"),mie=$F(),EF=v.createContext(mie),hie=i(({value:e,children:t})=>(v.useEffect(()=>(e.setup(),()=>{e.teardown()}),[e]),p.jsx(EF.Provider,{value:e,children:t})),"StoreContextProvider"),cx=i(()=>v.useContext(EF),"useStoreContext");var gie=ox;function vie(){this.__data__=new gie,this.size=0}i(vie,"stackClear$1");var yie=vie;function bie(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}i(bie,"stackDelete$1");var xie=bie;function wie(e){return this.__data__.get(e)}i(wie,"stackGet$1");var Cie=wie;function Sie(e){return this.__data__.has(e)}i(Sie,"stackHas$1");var jie=Sie,_ie=ox,kie=m$,$ie=h$,Eie=200;function Rie(e,t){var n=this.__data__;if(n instanceof _ie){var r=n.__data__;if(!kie||r.lengthc))return!1;var u=o.get(e),d=o.get(t);if(u&&d)return u==t&&d==e;var f=-1,m=!0,g=n&Xie?new Kie:void 0;for(o.set(e,t),o.set(t,e);++f-1&&e%1==0&&e<=Kse}i(Jse,"isLength$3");var C$=Jse,Yse=_c,Qse=C$,Xse=Bo,Zse="[object Arguments]",ece="[object Array]",tce="[object Boolean]",nce="[object Date]",rce="[object Error]",ace="[object Function]",oce="[object Map]",ice="[object Number]",sce="[object Object]",cce="[object RegExp]",lce="[object Set]",uce="[object String]",dce="[object WeakMap]",fce="[object ArrayBuffer]",pce="[object DataView]",mce="[object Float32Array]",hce="[object Float64Array]",gce="[object Int8Array]",vce="[object Int16Array]",yce="[object Int32Array]",bce="[object Uint8Array]",xce="[object Uint8ClampedArray]",wce="[object Uint16Array]",Cce="[object Uint32Array]",vn={};vn[mce]=vn[hce]=vn[gce]=vn[vce]=vn[yce]=vn[bce]=vn[xce]=vn[wce]=vn[Cce]=!0;vn[Zse]=vn[ece]=vn[fce]=vn[tce]=vn[pce]=vn[nce]=vn[rce]=vn[ace]=vn[oce]=vn[ice]=vn[sce]=vn[cce]=vn[lce]=vn[uce]=vn[dce]=!1;function Sce(e){return Xse(e)&&Qse(e.length)&&!!vn[Yse(e)]}i(Sce,"baseIsTypedArray$1");var jce=Sce;function _ce(e){return function(t){return e(t)}}i(_ce,"baseUnary$5");var ig=_ce,pb={exports:{}};pb.exports;(function(e,t){var n=mF,r=t&&!t.nodeType&&t,a=r&&!0&&e&&!e.nodeType&&e,o=a&&a.exports===r,s=o&&n.process,c=function(){try{var l=a&&a.require&&a.require("util").types;return l||s&&s.binding&&s.binding("util")}catch{}}();e.exports=c})(pb,pb.exports);var fx=pb.exports,kce=jce,$ce=ig,IM=fx,LM=IM&&IM.isTypedArray,Ece=LM?$ce(LM):kce,S$=Ece,Rce=Ise,Ace=ux,Pce=xa,Tce=dx,Mce=sx,Oce=S$,zce=Object.prototype,Ice=zce.hasOwnProperty;function Lce(e,t){var n=Pce(e),r=!n&&Ace(e),a=!n&&!r&&Tce(e),o=!n&&!r&&!a&&Oce(e),s=n||r||a||o,c=s?Rce(e.length,String):[],l=c.length;for(var u in e)(t||Ice.call(e,u))&&!(s&&(u=="length"||a&&(u=="offset"||u=="parent")||o&&(u=="buffer"||u=="byteLength"||u=="byteOffset")||Mce(u,l)))&&c.push(u);return c}i(Lce,"arrayLikeKeys$2");var zF=Lce,Dce=Object.prototype;function Nce(e){var t=e&&e.constructor,n=typeof t=="function"&&t.prototype||Dce;return e===n}i(Nce,"isPrototype$3");var j$=Nce;function Fce(e,t){return function(n){return e(t(n))}}i(Fce,"overArg$2");var IF=Fce,Bce=IF,Wce=Bce(Object.keys,Object),Uce=Wce,Hce=j$,qce=Uce,Vce=Object.prototype,Gce=Vce.hasOwnProperty;function Kce(e){if(!Hce(e))return qce(e);var t=[];for(var n in Object(e))Gce.call(e,n)&&n!="constructor"&&t.push(n);return t}i(Kce,"baseKeys$1");var Jce=Kce,Yce=nx,Qce=C$;function Xce(e){return e!=null&&Qce(e.length)&&!Yce(e)}i(Xce,"isArrayLike$6");var Nf=Xce,Zce=zF,ele=Jce,tle=Nf;function nle(e){return tle(e)?Zce(e):ele(e)}i(nle,"keys$6");var sg=nle,rle=PF,ale=w$,ole=sg;function ile(e){return rle(e,ole,ale)}i(ile,"getAllKeys$2");var LF=ile,DM=LF,sle=1,cle=Object.prototype,lle=cle.hasOwnProperty;function ule(e,t,n,r,a,o){var s=n&sle,c=DM(e),l=c.length,u=DM(t),d=u.length;if(l!=d&&!s)return!1;for(var f=l;f--;){var m=c[f];if(!(s?m in t:lle.call(t,m)))return!1}var g=o.get(e),h=o.get(t);if(g&&h)return g==t&&h==e;var y=!0;o.set(e,t),o.set(t,e);for(var b=s;++fe&&t?String.prototype.replace.call(e,qle,function(n,r){return!t.hasOwnProperty(r)||t[r]==null?n:t[r]}):e,"substituteTokens"),qle=/%\{(.*?)\}/g,Vle={translate:(e,t)=>t!=null&&t._?QM(t._,t):QM(e,t),changeLocale:()=>Promise.resolve(),getLocale:()=>"en"},k$=v.createContext(Vle);k$.displayName="I18nContext";const BF=v.createContext(()=>{}),WF=v.createContext({notifications:[],addNotification:()=>{},takeNotification:()=>{},resetNotifications:()=>{},setNotifications:()=>{}}),Gle=i(({children:e})=>{const[t,n]=v.useState([]),r=v.useCallback(c=>{n(l=>[...l,c])},[]),a=v.useCallback(()=>{if(t.length===0)return;const[c,...l]=t;return n(l),c},[t]),o=v.useCallback(()=>{n([])},[]),s=v.useMemo(()=>({notifications:t,addNotification:r,takeNotification:a,resetNotifications:o,setNotifications:n}),[t]);return p.jsx(WF.Provider,{value:s,children:p.jsx(BF.Provider,{value:r,children:e})})},"NotificationContextProvider"),Kle=i(()=>v.useContext(BF),"useAddNotificationContext"),UF=i(()=>v.useContext(WF),"useNotificationContext"),Gn=i(()=>{const e=Kle();return v.useCallback((t,n={})=>{const{type:r="info",...a}=n;e({message:t,type:r,notificationOptions:a})},[e])},"useNotify"),Jle=i(({value:e=Yle,children:t})=>{const[n]=xo("locale"),r=Gn(),[a,o]=v.useState(0),[s,c]=v.useState(n===e.getLocale());return v.useEffect(()=>{n&&e.getLocale()!==n?new Promise(l=>{l(e.changeLocale(n))}).then(()=>{o(l=>l+1),c(!0)}).catch(l=>{c(!0),r("ra.notification.i18n_error",{type:"error"}),console.error(l)}):c(!0)},[e,n,r]),s?p.jsx(k$.Provider,{value:e,children:t},a):null},"I18nContextProvider"),Yle={translate:e=>e,changeLocale:()=>Promise.resolve(),getLocale:()=>"en"};var Qle=d$,Xle=Tf;function Zle(e,t,n){(n!==void 0&&!Xle(e[t],n)||n===void 0&&!(t in e))&&Qle(e,t,n)}i(Zle,"assignMergeValue$2");var HF=Zle;function eue(e){return function(t,n,r){for(var a=-1,o=Object(t),s=r(t),c=s.length;c--;){var l=s[e?c:++a];if(n(o[l],l,o)===!1)break}return t}}i(eue,"createBaseFor$1");var tue=eue,nue=tue,rue=nue(),qF=rue,mb={exports:{}};mb.exports;(function(e,t){var n=Fo,r=t&&!t.nodeType&&t,a=r&&!0&&e&&!e.nodeType&&e,o=a&&a.exports===r,s=o?n.Buffer:void 0,c=s?s.allocUnsafe:void 0;function l(u,d){if(d)return u.slice();var f=u.length,m=c?c(f):new u.constructor(f);return u.copy(m),m}i(l,"cloneBuffer"),e.exports=l})(mb,mb.exports);var VF=mb.exports,XM=AF;function aue(e){var t=new e.constructor(e.byteLength);return new XM(t).set(new XM(e)),t}i(aue,"cloneArrayBuffer$3");var $$=aue,oue=$$;function iue(e,t){var n=t?oue(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}i(iue,"cloneTypedArray$2");var GF=iue;function sue(e,t){var n=-1,r=e.length;for(t||(t=Array(r));++n0){if(++t>=Ede)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}i(Pde,"shortOut$1");var Tde=Pde,Mde=$de,Ode=Tde,zde=Ode(Mde),e9=zde,Ide=hx,Lde=ZF,Dde=e9;function Nde(e,t){return Dde(Lde(e,t,Ide),e+"")}i(Nde,"baseRest$6");var Uf=Nde,Fde=Tf,Bde=Nf,Wde=sx,Ude=yo;function Hde(e,t,n){if(!Ude(n))return!1;var r=typeof t;return(r=="number"?Bde(n)&&Wde(t,n.length):r=="string"&&t in n)?Fde(n[t],e):!1}i(Hde,"isIterateeCall$3");var P$=Hde,qde=Uf,Vde=P$;function Gde(e){return qde(function(t,n){var r=-1,a=n.length,o=a>1?n[a-1]:void 0,s=a>2?n[2]:void 0;for(o=e.length>3&&typeof o=="function"?(a--,o):void 0,s&&Vde(n[0],n[1],s)&&(o=a<3?void 0:o,a=1),t=Object(t);++rv.useContext(k$),"useI18nProvider"),t9=i(()=>{const e=M$(),t=v.useMemo(()=>e.getLocale(),[e]);return xo("locale",t)},"useLocaleState"),Zde=i(()=>{const[e]=t9();return e},"useLocale"),n9=i(e=>{const t=M$(),n=v.useMemo(()=>t!=null&&t.getLocales?t==null?void 0:t.getLocales():[],[t]);return(e==null?void 0:e.locales)??n},"useLocales"),at=i(()=>{const e=M$(),t=v.useCallback((n,r)=>e.translate(n,r),[e]);return e?t:efe},"useTranslate"),efe=i(e=>e,"identity$5"),r9=v.createContext(""),tfe=i(({children:e,basename:t})=>p.jsx(r9.Provider,{value:t,children:e}),"BasenameContextProvider"),nfe=i(({basename:e="",children:t})=>{const n=jc(),r=n?rfe:afe;return p.jsx(tfe,{basename:n?e:"",children:p.jsx(r,{basename:e,children:t})})},"AdminRouter"),rfe=i(({children:e})=>p.jsx(p.Fragment,{children:e}),"DummyRouter"),afe=i(({children:e,basename:t})=>{const n=one([{path:"*",element:p.jsx(p.Fragment,{children:e})}],{basename:t});return p.jsx(pne,{router:n})},"InternalRouter");var ofe=Fo,ife=i(function(){return ofe.Date.now()},"now$1"),sfe=ife,cfe=/\s/;function lfe(e){for(var t=e.length;t--&&cfe.test(e.charAt(t)););return t}i(lfe,"trimmedEndIndex$1");var ufe=lfe,dfe=ufe,ffe=/^\s+/;function pfe(e){return e&&e.slice(0,dfe(e)+1).replace(ffe,"")}i(pfe,"baseTrim$1");var mfe=pfe,hfe=mfe,i4=yo,gfe=rg,s4=NaN,vfe=/^[-+]0x[0-9a-f]+$/i,yfe=/^0b[01]+$/i,bfe=/^0o[0-7]+$/i,xfe=parseInt;function wfe(e){if(typeof e=="number")return e;if(gfe(e))return s4;if(i4(e)){var t=typeof e.valueOf=="function"?e.valueOf():e;e=i4(t)?t+"":t}if(typeof e!="string")return e===0?e:+e;e=hfe(e);var n=yfe.test(e);return n||bfe.test(e)?xfe(e.slice(2),n?2:8):vfe.test(e)?s4:+e}i(wfe,"toNumber$1");var Cfe=wfe,Sfe=yo,u2=sfe,c4=Cfe,jfe="Expected a function",_fe=Math.max,kfe=Math.min;function $fe(e,t,n){var r,a,o,s,c,l,u=0,d=!1,f=!1,m=!0;if(typeof e!="function")throw new TypeError(jfe);t=c4(t)||0,Sfe(n)&&(d=!!n.leading,f="maxWait"in n,o=f?_fe(c4(n.maxWait)||0,t):o,m="trailing"in n?!!n.trailing:m);function g(S){var k=r,$=a;return r=a=void 0,u=S,s=e.apply($,k),s}i(g,"invokeFunc");function h(S){return u=S,c=setTimeout(x,t),d?g(S):s}i(h,"leadingEdge");function y(S){var k=S-l,$=S-u,E=t-k;return f?kfe(E,o-$):E}i(y,"remainingWait");function b(S){var k=S-l,$=S-u;return l===void 0||k>=t||k<0||f&&$>=o}i(b,"shouldInvoke");function x(){var S=u2();if(b(S))return w(S);c=setTimeout(x,y(S))}i(x,"timerExpired");function w(S){return c=void 0,m&&r?g(S):(r=a=void 0,s)}i(w,"trailingEdge");function C(){c!==void 0&&clearTimeout(c),u=0,r=l=a=c=void 0}i(C,"cancel");function j(){return c===void 0?s:w(u2())}i(j,"flush");function _(){var S=u2(),k=b(S);if(r=arguments,a=this,l=S,k){if(c===void 0)return h(l);if(f)return clearTimeout(c),c=setTimeout(x,t),g(l)}return c===void 0&&(c=setTimeout(x,t)),s}return i(_,"debounced"),_.cancel=C,_.flush=j,_}i($fe,"debounce$2");var Efe=$fe;const cg=Gt(Efe),Rfe=i((e,t=250)=>{const[n,r]=Afe(e,t),a=Er();v.useEffect(()=>{var o;n!=null&&((o=a.state)==null?void 0:o._scrollToTop)!==!0&&(r(void 0),window.scrollTo(0,n))},[])},"useRestoreScrollPosition"),Afe=i((e,t=250)=>{const[n,r]=xo(e);return v.useEffect(()=>{if(typeof window>"u")return;const a=cg(()=>{r(window.scrollY)},t);return window.addEventListener("scroll",a),()=>{window.removeEventListener("scroll",a)}},[t,r]),[n,r]},"useTrackScrollPosition"),Pfe=i(({children:e,storeKey:t,debounce:n=250})=>(Rfe(t,n),e),"RestoreScrollPosition"),kc=i(()=>v.useContext(r9),"useBasename"),Wo=i(()=>{const e=kc();return v.useCallback(({resource:t,id:n,type:r})=>{if(["list","create","edit","show"].includes(r)&&!t)throw new Error("Cannot create a link without a resource. You must provide the resource name.");switch(r){case"list":return ii(`${e}/${t}`);case"create":return ii(`${e}/${t}/create`);case"edit":return n==null?ii(`${e}/${t}`):ii(`${e}/${t}/${encodeURIComponent(n)}`);case"show":return n==null?ii(`${e}/${t}`):ii(`${e}/${t}/${encodeURIComponent(n)}/show`);default:return r}},[e])},"useCreatePath"),ii=i(e=>e.replace("//","/"),"removeDoubleSlashes"),Hf=i(()=>{const e=Li(),t=kc(),n=Wo();return v.useCallback((r,a="",o,s,c={})=>{if(r)if(typeof r=="function"){const l=r(a,o,s),u=typeof l=="string"?`${t}/${l}`:{pathname:`${t}/${l.pathname}`,...l};e(u,{state:{_scrollToTop:!0,...c}});return}else if(typeof r=="string"&&r.startsWith("http")&&window){window.location.href=r;return}else{e(n({resource:a,id:o,type:r}),{state:r==="list"?c:{_scrollToTop:!0,...c}});return}else return},[e,t,n])},"useRedirect"),a9=i(e=>{const{pathname:t}=Er(),n=v.useRef(t);v.useEffect(()=>{t!==n.current&&e()},[t,e])},"useResetErrorBoundaryOnLocationChange"),Tfe=i(()=>{const e=Er();v.useEffect(()=>{var t;(t=e.state)!=null&&t._scrollToTop&&typeof window<"u"&&typeof window.scrollTo=="function"&&window.scrollTo(0,0)},[e])},"useScrollToTop"),Mfe="GET_LIST",Ofe="GET_ONE",zfe="GET_MANY",Ife="GET_MANY_REFERENCE",Lfe="CREATE",Dfe="UPDATE",Nfe="UPDATE_MANY",Ffe="DELETE",Bfe="DELETE_MANY";const Wfe=["getList","getMany","getManyReference"],knt=[...Wfe,"updateMany","deleteMany"];const O$={create:async()=>{throw new Error("create is not implemented")},delete:async()=>{throw new Error("delete not implemented")},deleteMany:async()=>{throw new Error("deleteMany is not implemented")},getList:async()=>{throw new Error("getList is not implemented")},getMany:async()=>{throw new Error("getMany is not implemented")},getManyReference:async()=>{throw new Error("getManyReference is not implemented")},getOne:async()=>{throw new Error("getOne is not implemented")},update:async()=>{throw new Error("update not implemented")},updateMany:async()=>{throw new Error("updateMany not implemented")}},l4={create:Lfe,delete:Ffe,deleteMany:Bfe,getList:Mfe,getMany:zfe,getManyReference:Ife,getOne:Ofe,update:Dfe,updateMany:Nfe},Ufe=i(e=>new Proxy(O$,{get(n,r){return(a,o)=>{if(Object.keys(l4).includes(r.toString())){const s=l4[r.toString()];return e(s,a,o)}return e(r.toString(),a,o)}},apply(n,r,a){return e.apply(e,a)}}),"convertLegacyDataProvider"),o9=v.createContext(null);o9.displayName="DataProviderContext";const i9=o9,E0=class E0 extends Error{constructor(t,n,r=null){super(t),this.message=t,this.status=n,this.body=r,Object.setPrototypeOf(this,E0.prototype),this.name=this.constructor.name,typeof Error.captureStackTrace=="function"?Error.captureStackTrace(this,this.constructor):this.stack=new Error(t).stack,this.stack=new Error().stack}};i(E0,"HttpError");let Kj=E0;const Hfe=Kj,s9="%[a-f0-9]{2}",u4=new RegExp("("+s9+")|([^%]+?)","gi"),d4=new RegExp("("+s9+")+","gi");function Jj(e,t){try{return[decodeURIComponent(e.join(""))]}catch{}if(e.length===1)return e;t=t||1;const n=e.slice(0,t),r=e.slice(t);return Array.prototype.concat.call([],Jj(n),Jj(r))}i(Jj,"decodeComponents");function qfe(e){try{return decodeURIComponent(e)}catch{let t=e.match(u4)||[];for(let n=1;ne==null,"isNullOrUndefined$1"),Yfe=i(e=>encodeURIComponent(e).replaceAll(/[!'()*]/g,t=>`%${t.charCodeAt(0).toString(16).toUpperCase()}`),"strictUriEncode"),Yj=Symbol("encodeFragmentIdentifier");function Qfe(e){switch(e.arrayFormat){case"index":return t=>(n,r)=>{const a=n.length;return r===void 0||e.skipNull&&r===null||e.skipEmptyString&&r===""?n:r===null?[...n,[Qn(t,e),"[",a,"]"].join("")]:[...n,[Qn(t,e),"[",Qn(a,e),"]=",Qn(r,e)].join("")]};case"bracket":return t=>(n,r)=>r===void 0||e.skipNull&&r===null||e.skipEmptyString&&r===""?n:r===null?[...n,[Qn(t,e),"[]"].join("")]:[...n,[Qn(t,e),"[]=",Qn(r,e)].join("")];case"colon-list-separator":return t=>(n,r)=>r===void 0||e.skipNull&&r===null||e.skipEmptyString&&r===""?n:r===null?[...n,[Qn(t,e),":list="].join("")]:[...n,[Qn(t,e),":list=",Qn(r,e)].join("")];case"comma":case"separator":case"bracket-separator":{const t=e.arrayFormat==="bracket-separator"?"[]=":"=";return n=>(r,a)=>a===void 0||e.skipNull&&a===null||e.skipEmptyString&&a===""?r:(a=a===null?"":a,r.length===0?[[Qn(n,e),t,Qn(a,e)].join("")]:[[r,Qn(a,e)].join(e.arrayFormatSeparator)])}default:return t=>(n,r)=>r===void 0||e.skipNull&&r===null||e.skipEmptyString&&r===""?n:r===null?[...n,Qn(t,e)]:[...n,[Qn(t,e),"=",Qn(r,e)].join("")]}}i(Qfe,"encoderForArrayFormat");function Xfe(e){let t;switch(e.arrayFormat){case"index":return(n,r,a)=>{if(t=/\[(\d*)]$/.exec(n),n=n.replace(/\[\d*]$/,""),!t){a[n]=r;return}a[n]===void 0&&(a[n]={}),a[n][t[1]]=r};case"bracket":return(n,r,a)=>{if(t=/(\[])$/.exec(n),n=n.replace(/\[]$/,""),!t){a[n]=r;return}if(a[n]===void 0){a[n]=[r];return}a[n]=[...a[n],r]};case"colon-list-separator":return(n,r,a)=>{if(t=/(:list)$/.exec(n),n=n.replace(/:list$/,""),!t){a[n]=r;return}if(a[n]===void 0){a[n]=[r];return}a[n]=[...a[n],r]};case"comma":case"separator":return(n,r,a)=>{const o=typeof r=="string"&&r.includes(e.arrayFormatSeparator),s=typeof r=="string"&&!o&&Yi(r,e).includes(e.arrayFormatSeparator);r=s?Yi(r,e):r;const c=o||s?r.split(e.arrayFormatSeparator).map(l=>Yi(l,e)):r===null?r:Yi(r,e);a[n]=c};case"bracket-separator":return(n,r,a)=>{const o=/(\[])$/.test(n);if(n=n.replace(/\[]$/,""),!o){a[n]=r&&Yi(r,e);return}const s=r===null?[]:r.split(e.arrayFormatSeparator).map(c=>Yi(c,e));if(a[n]===void 0){a[n]=s;return}a[n]=[...a[n],...s]};default:return(n,r,a)=>{if(a[n]===void 0){a[n]=r;return}a[n]=[...[a[n]].flat(),r]}}}i(Xfe,"parserForArrayFormat");function l9(e){if(typeof e!="string"||e.length!==1)throw new TypeError("arrayFormatSeparator must be single character string")}i(l9,"validateArrayFormatSeparator");function Qn(e,t){return t.encode?t.strict?Yfe(e):encodeURIComponent(e):e}i(Qn,"encode");function Yi(e,t){return t.decode?Gfe(e):e}i(Yi,"decode");function u9(e){return Array.isArray(e)?e.sort():typeof e=="object"?u9(Object.keys(e)).sort((t,n)=>Number(t)-Number(n)).map(t=>e[t]):e}i(u9,"keysSorter");function d9(e){const t=e.indexOf("#");return t!==-1&&(e=e.slice(0,t)),e}i(d9,"removeHash");function Zfe(e){let t="";const n=e.indexOf("#");return n!==-1&&(t=e.slice(n)),t}i(Zfe,"getHash");function f4(e,t){return t.parseNumbers&&!Number.isNaN(Number(e))&&typeof e=="string"&&e.trim()!==""?e=Number(e):t.parseBooleans&&e!==null&&(e.toLowerCase()==="true"||e.toLowerCase()==="false")&&(e=e.toLowerCase()==="true"),e}i(f4,"parseValue");function z$(e){e=d9(e);const t=e.indexOf("?");return t===-1?"":e.slice(t+1)}i(z$,"extract");function I$(e,t){t={decode:!0,sort:!0,arrayFormat:"none",arrayFormatSeparator:",",parseNumbers:!1,parseBooleans:!1,...t},l9(t.arrayFormatSeparator);const n=Xfe(t),r=Object.create(null);if(typeof e!="string"||(e=e.trim().replace(/^[?#&]/,""),!e))return r;for(const a of e.split("&")){if(a==="")continue;const o=t.decode?a.replaceAll("+"," "):a;let[s,c]=c9(o,"=");s===void 0&&(s=o),c=c===void 0?null:["comma","separator","bracket-separator"].includes(t.arrayFormat)?c:Yi(c,t),n(Yi(s,t),c,r)}for(const[a,o]of Object.entries(r))if(typeof o=="object"&&o!==null)for(const[s,c]of Object.entries(o))o[s]=f4(c,t);else r[a]=f4(o,t);return t.sort===!1?r:(t.sort===!0?Object.keys(r).sort():Object.keys(r).sort(t.sort)).reduce((a,o)=>{const s=r[o];return a[o]=s&&typeof s=="object"&&!Array.isArray(s)?u9(s):s,a},Object.create(null))}i(I$,"parse$3");function f9(e,t){if(!e)return"";t={encode:!0,strict:!0,arrayFormat:"none",arrayFormatSeparator:",",...t},l9(t.arrayFormatSeparator);const n=i(s=>t.skipNull&&Jfe(e[s])||t.skipEmptyString&&e[s]==="","shouldFilter"),r=Qfe(t),a={};for(const[s,c]of Object.entries(e))n(s)||(a[s]=c);const o=Object.keys(a);return t.sort!==!1&&o.sort(t.sort),o.map(s=>{const c=e[s];return c===void 0?"":c===null?Qn(s,t):Array.isArray(c)?c.length===0&&t.arrayFormat==="bracket-separator"?Qn(s,t)+"[]":c.reduce(r(s),[]).join("&"):Qn(s,t)+"="+Qn(c,t)}).filter(s=>s.length>0).join("&")}i(f9,"stringify$2");function p9(e,t){var a;t={decode:!0,...t};let[n,r]=c9(e,"#");return n===void 0&&(n=e),{url:((a=n==null?void 0:n.split("?"))==null?void 0:a[0])??"",query:I$(z$(e),t),...t&&t.parseFragmentIdentifier&&r?{fragmentIdentifier:Yi(r,t)}:{}}}i(p9,"parseUrl");function m9(e,t){t={encode:!0,strict:!0,[Yj]:!0,...t};const n=d9(e.url).split("?")[0]||"",r=z$(e.url),a={...I$(r,{sort:!1}),...e.query};let o=f9(a,t);o&&(o=`?${o}`);let s=Zfe(e.url);if(typeof e.fragmentIdentifier=="string"){const c=new URL(n);c.hash=e.fragmentIdentifier,s=t[Yj]?c.hash:`#${e.fragmentIdentifier}`}return`${n}${o}${s}`}i(m9,"stringifyUrl");function h9(e,t,n){n={parseFragmentIdentifier:!0,[Yj]:!1,...n};const{url:r,query:a,fragmentIdentifier:o}=p9(e,n);return m9({url:r,query:Kfe(a,t),fragmentIdentifier:o},n)}i(h9,"pick$1");function epe(e,t,n){const r=Array.isArray(t)?a=>!t.includes(a):(a,o)=>!t(a,o);return h9(e,r,n)}i(epe,"exclude");const gx=Object.freeze(Object.defineProperty({__proto__:null,exclude:epe,extract:z$,parse:I$,parseUrl:p9,pick:h9,stringify:f9,stringifyUrl:m9},Symbol.toStringTag,{value:"Module"})),tpe=i(e=>{if(!e)return!1;const t=Array.isArray(e),n=typeof Buffer<"u"&&Buffer.isBuffer(e),r=Object.prototype.toString.call(e)==="[object Object]",a=!!Object.keys(e).length;return!t&&!n&&r&&a},"isValidObject"),g9=i((e,t=[])=>tpe(e)?Object.assign({},...Object.keys(e).map(n=>g9(e[n],t.concat([n])))):t.length?{[t.join(".")]:e}:e,"flattenObject");var v9={exports:{}};(function(e){var t=Object.prototype.hasOwnProperty,n="~";function r(){}i(r,"Events"),Object.create&&(r.prototype=Object.create(null),new r().__proto__||(n=!1));function a(l,u,d){this.fn=l,this.context=u,this.once=d||!1}i(a,"EE");function o(l,u,d,f,m){if(typeof d!="function")throw new TypeError("The listener must be a function");var g=new a(d,f||l,m),h=n?n+u:u;return l._events[h]?l._events[h].fn?l._events[h]=[l._events[h],g]:l._events[h].push(g):(l._events[h]=g,l._eventsCount++),l}i(o,"addListener");function s(l,u){--l._eventsCount===0?l._events=new r:delete l._events[u]}i(s,"clearEvent");function c(){this._events=new r,this._eventsCount=0}i(c,"EventEmitter"),c.prototype.eventNames=i(function(){var u=[],d,f;if(this._eventsCount===0)return u;for(f in d=this._events)t.call(d,f)&&u.push(n?f.slice(1):f);return Object.getOwnPropertySymbols?u.concat(Object.getOwnPropertySymbols(d)):u},"eventNames"),c.prototype.listeners=i(function(u){var d=n?n+u:u,f=this._events[d];if(!f)return[];if(f.fn)return[f.fn];for(var m=0,g=f.length,h=new Array(g);m({...e,getList:async function(n,r){let a=r;a=await an({name:"beforeGetList",params:a,dataProvider:e,handlers:t,resource:n});let o=await e.getList(n,a);return o=await an({name:"afterGetList",params:o,dataProvider:e,handlers:t,resource:n}),o.data=await Promise.all(o.data.map(s=>an({name:"afterRead",params:s,dataProvider:e,handlers:t,resource:n}))),o},getOne:async function(n,r){let a=r;a=await an({name:"beforeGetOne",params:a,dataProvider:e,handlers:t,resource:n});let o=await e.getOne(n,a);return o=await an({name:"afterGetOne",params:o,dataProvider:e,handlers:t,resource:n}),o.data=await an({name:"afterRead",params:o.data,dataProvider:e,handlers:t,resource:n}),o},getMany:async function(n,r){let a=r;a=await an({name:"beforeGetMany",params:a,dataProvider:e,handlers:t,resource:n});let o=await e.getMany(n,a);return o=await an({name:"afterGetMany",params:o,dataProvider:e,handlers:t,resource:n}),o.data=await Promise.all(o.data.map(s=>an({name:"afterRead",params:s,dataProvider:e,handlers:t,resource:n}))),o},getManyReference:async function(n,r){let a=r;a=await an({name:"beforeGetManyReference",params:a,dataProvider:e,handlers:t,resource:n});let o=await e.getManyReference(n,a);return o=await an({name:"afterGetManyReference",params:o,dataProvider:e,handlers:t,resource:n}),o.data=await Promise.all(o.data.map(s=>an({name:"afterRead",params:s,dataProvider:e,handlers:t,resource:n}))),o},update:async function(n,r){let a=r;a=await an({name:"beforeUpdate",params:a,dataProvider:e,handlers:t,resource:n}),a.data=await an({name:"beforeSave",params:a.data,dataProvider:e,handlers:t,resource:n});let o=await e.update(n,a);return o=await an({name:"afterUpdate",params:o,dataProvider:e,handlers:t,resource:n}),o.data=await an({name:"afterSave",params:o.data,dataProvider:e,handlers:t,resource:n}),o},create:async function(n,r){let a=r;a=await an({name:"beforeCreate",params:a,dataProvider:e,handlers:t,resource:n}),a.data=await an({name:"beforeSave",params:a.data,dataProvider:e,handlers:t,resource:n});let o=await e.create(n,a);return o=await an({name:"afterCreate",params:o,dataProvider:e,handlers:t,resource:n}),o.data=await an({name:"afterSave",params:o.data,dataProvider:e,handlers:t,resource:n}),o},delete:async function(n,r){let a=r;a=await an({name:"beforeDelete",params:a,dataProvider:e,handlers:t,resource:n});let o=await e.delete(n,a);return o=await an({name:"afterDelete",params:o,dataProvider:e,handlers:t,resource:n}),o},updateMany:async function(n,r){let a=r;a=await an({name:"beforeUpdateMany",params:a,dataProvider:e,handlers:t,resource:n}),a.data=await an({name:"beforeSave",params:a.data,dataProvider:e,handlers:t,resource:n});let o=await e.updateMany(n,a);if(o=await an({name:"afterUpdateMany",params:o,dataProvider:e,handlers:t,resource:n}),t.filter(c=>(c.resource===n||c.resource==="*")&&c.afterSave).length>0){const{data:c}=await e.getMany(n,{ids:o.data});await Promise.all(c.map(l=>an({name:"afterSave",params:l,dataProvider:e,handlers:t,resource:n})))}return o},deleteMany:async function(n,r){let a=r;a=await an({name:"beforeDeleteMany",params:a,dataProvider:e,handlers:t,resource:n});let o=await e.deleteMany(n,a);return o=await an({name:"afterDeleteMany",params:o,dataProvider:e,handlers:t,resource:n}),o}}),"withLifecycleCallbacks"),an=i(async function({name:e,params:t,dataProvider:n,handlers:r,resource:a}){let o=t;const s=r.filter(c=>(c.resource===a||c.resource==="*")&&c[e]);for(let c of s){const l=c[e];if(Array.isArray(l))for(let u of l??[])o=await u(o,n,a);else o=await l(o,n,a)}return o},"applyCallbacks");let d2;const y9=i(()=>{const e=ws(),t=Jf(),n=Gn(),r=Li();return v.useCallback(o=>e?e.checkError(o).then(()=>!1).catch(async s=>{const c=(s==null?void 0:s.logoutUser)??!0;if(d2)return!0;d2=setTimeout(()=>{d2=void 0},0);const l=s&&s.redirectTo!=null?s.redirectTo:o&&o.redirectTo?o.redirectTo:void 0;return!(s&&s.message===!1||o&&o.message===!1||l!=null&&l.startsWith("http"))&&e.checkAuth({}).then(()=>{c?n(p4(s,"ra.notification.logged_out"),{type:"error"}):n(p4(s,"ra.notification.not_authorized"),{type:"error"})}).catch(()=>{}),c?t({},l):l.startsWith("http")?window.location.href=l:r(l),!0}):ope(),[e,t,n,r])},"useLogoutIfAccessDenied"),ope=i(()=>Promise.resolve(!1),"logoutIfAccessDeniedWithoutProvider"),p4=i((e,t)=>typeof e=="string"?e:typeof e>"u"||!e.message?t:e.message,"getErrorMessage$2"),ipe=["getList","getMany","getManyReference"],Di=i(()=>{const e=v.useContext(i9)||O$,t=y9();return v.useMemo(()=>new Proxy(e,{get:(r,a)=>{if(!(typeof a=="symbol"||a==="then"))return(...o)=>{const s=a.toString();if(typeof e[s]!="function")throw new Error(`Unknown dataProvider function: ${s}`);try{return e[s].apply(e,o).then(c=>c).catch(c=>t(c).then(l=>{if(l)return{data:ipe.includes(s)?[]:{}};throw c}))}catch{throw new Error("The dataProvider threw an error. It should return a rejected Promise instead.")}}}}),[e,t])},"useDataProvider"),spe=i(()=>{const e=Fa(),t=At.useRef(!1),n=At.useRef(e.isFetching()>0),r=At.useRef(e.isMutating()>0),[a,o]=At.useState(n.current||r.current);return At.useEffect(()=>{t.current=!0;const s=e.getQueryCache().subscribe(Wn.batchCalls(()=>{t.current&&(n.current=e.isFetching()>0,o(n.current||r.current))})),c=e.getMutationCache().subscribe(Wn.batchCalls(()=>{t.current&&(r.current=e.isMutating()>0,o(n.current||r.current))}));return()=>{t.current=!1,s(),c()}},[e]),a},"useLoading"),lg=i(()=>{const e=Fa();return v.useCallback(()=>{e.invalidateQueries()},[e])},"useRefresh"),b9=i((e,{id:t,meta:n},r={})=>{const a=Di(),{onError:o=f2,onSuccess:s=f2,onSettled:c=f2,...l}=r,u=Ot(s),d=Ot(o),f=Ot(c),m=Cs({queryKey:[e,"getOne",{id:String(t),meta:n}],queryFn:({signal:g})=>a.getOne(e,{id:t,meta:n,signal:g}).then(({data:h})=>h),...l});return v.useEffect(()=>{m.data===void 0||m.isFetching||u(m.data)},[u,m.data,m.isFetching]),v.useEffect(()=>{m.error==null||m.isFetching||d(m.error)},[d,m.error,m.isFetching]),v.useEffect(()=>{m.status==="pending"||m.isFetching||f(m.data,m.error)},[f,m.data,m.error,m.status,m.isFetching]),m},"useGetOne"),f2=i(()=>{},"noop$d"),cpe=100,_i=i((e,t={},n={})=>{const{pagination:r={page:1,perPage:25},sort:a={field:"id",order:"DESC"},filter:o={},meta:s}=t,c=Di(),l=Fa(),{onError:u=p2,onSuccess:d=p2,onSettled:f=p2,...m}=n,g=Ot(d),h=Ot(u),y=Ot(f),b=Cs({queryKey:[e,"getList",{pagination:r,sort:a,filter:o,meta:s}],queryFn:({signal:C})=>c.getList(e,{pagination:r,sort:a,filter:o,meta:s,signal:C}).then(({data:j,total:_,pageInfo:S})=>({data:j,total:_,pageInfo:S})),...m}),x=v.useRef(s),w=v.useRef(e);return v.useEffect(()=>{x.current=s},[s]),v.useEffect(()=>{w.current=e},[e]),v.useEffect(()=>{var C;b.data===void 0||b.isFetching||((C=b.data)!=null&&C.data&&b.data.data.length<=cpe&&b.data.data.forEach(j=>{l.setQueryData([w.current,"getOne",{id:String(j.id),meta:x.current}],_=>_??j)}),g(b.data))},[g,l,b.data,b.isFetching]),v.useEffect(()=>{b.error==null||b.isFetching||h(b.error)},[h,b.error,b.isFetching]),v.useEffect(()=>{b.status==="pending"||b.isFetching||y(b.data,b.error)},[y,b.data,b.error,b.status,b.isFetching]),v.useMemo(()=>{var C,j,_;return b.data?{...b,data:(C=b.data)==null?void 0:C.data,total:(j=b.data)==null?void 0:j.total,pageInfo:(_=b.data)==null?void 0:_.pageInfo}:b},[b])},"useGetList"),p2=i(()=>{},"noop$c"),lpe=i((e,t={},n={})=>{const{ids:r,meta:a}=t,o=Di(),s=Fa(),c=s.getQueryCache(),{onError:l=m2,onSuccess:u=m2,onSettled:d=m2,...f}=n,m=Ot(u),g=Ot(l),h=Ot(d),y=Cs({queryKey:[e,"getMany",{ids:!r||r.length===0?[]:r.map(w=>String(w)),meta:a}],queryFn:({signal:w})=>!r||r.length===0?Promise.resolve([]):o.getMany(e,{ids:r,meta:a,signal:w}).then(({data:C})=>C),placeholderData:()=>{const w=!r||r.length===0?[]:r.map(C=>{var _,S;const j=Rl([e,"getOne",{id:String(C),meta:a}]);return(S=(_=c.get(j))==null?void 0:_.state)==null?void 0:S.data});if(!w.some(C=>C===void 0))return w},retry:!1,...f}),b=v.useRef(a),x=v.useRef(e);return v.useEffect(()=>{b.current=a},[a]),v.useEffect(()=>{x.current=e},[e]),v.useEffect(()=>{y.data===void 0||y.isFetching||(y.data.forEach(w=>{s.setQueryData([x.current,"getOne",{id:String(w.id),meta:b.current}],C=>C??w)}),m(y.data))},[s,m,y.data,y.isFetching]),v.useEffect(()=>{y.error==null||y.isFetching||g(y.error)},[g,y.error,y.isFetching]),v.useEffect(()=>{y.status==="pending"||y.isFetching||h(y.data,y.error)},[h,y.data,y.error,y.status,y.isFetching]),y},"useGetMany"),m2=i(()=>{},"noop$b");var m4=Pf,upe=ux,dpe=xa,h4=m4?m4.isConcatSpreadable:void 0;function fpe(e){return dpe(e)||upe(e)||!!(h4&&e&&e[h4])}i(fpe,"isFlattenable$1");var ppe=fpe,mpe=x$,hpe=ppe;function x9(e,t,n,r,a){var o=-1,s=e.length;for(n||(n=hpe),a||(a=[]);++o0&&n(c)?t>1?x9(c,t-1,n,r,a):mpe(a,c):r||(a[a.length]=c)}return a}i(x9,"baseFlatten$4");var vx=x9;function gpe(e,t,n,r){for(var a=e.length,o=n+(r?1:-1);r?o--:++o-1}i(Epe,"arrayIncludes$2");var w9=Epe;function Rpe(e,t,n){for(var r=-1,a=e==null?0:e.length;++r=Upe){var u=t?null:Bpe(e);if(u)return Wpe(u);s=!1,a=Fpe,l=new Lpe}else l=t?[]:c;e:for(;++r{const r=Di(),a=Fa(),o=a.getQueryCache(),{onError:s=g2,onSuccess:c=g2,onSettled:l=g2,...u}=n,d=Ot(c),f=Ot(s),m=Ot(l),{ids:g,meta:h}=t,y=v.useMemo(()=>{const C=(Array.isArray(g)?g:[g]).map(j=>{var S,k;const _=Rl([e,"getOne",{id:String(j),meta:h}]);return(k=(S=o.get(_))==null?void 0:S.state)==null?void 0:k.data});if(!C.some(j=>j===void 0))return C},[g,o,e,h]),b=Cs({queryKey:[e,"getMany",{ids:(Array.isArray(g)?g:[g]).map(C=>String(C)),meta:h}],queryFn:({signal:C})=>new Promise((j,_)=>!g||g.length===0?j([]):Xpe({resource:e,ids:g,meta:h,resolve:j,reject:_,dataProvider:r,queryClient:a,signal:C})),placeholderData:y,retry:!1,...u}),x=v.useRef(h),w=v.useRef(e);return v.useEffect(()=>{x.current=h},[h]),v.useEffect(()=>{w.current=e},[e]),v.useEffect(()=>{b.data===void 0||b.isFetching||((b.data??[]).forEach(C=>{a.setQueryData([w.current,"getOne",{id:String(C.id),meta:x.current}],j=>j??C)}),d(b.data))},[a,d,b.data,b.isFetching]),v.useEffect(()=>{b.error==null||b.isFetching||f(b.error)},[f,b.error,b.isFetching]),v.useEffect(()=>{b.status==="pending"||b.isFetching||m(b.data,b.error)},[m,b.data,b.error,b.status,b.isFetching]),b},"useGetManyAggregate"),Qpe=i(e=>{let t=[],n=null;return r=>{t.push(r),n&&clearTimeout(n),n=setTimeout(()=>{n=null,e([...t]),t=[]},0)}},"batch"),Xpe=Qpe(e=>{const t=e[0].dataProvider,n=e[0].queryClient,r=e.reduce((a,o)=>(a[o.resource]||(a[o.resource]=[]),a[o.resource].push(o),a),{});Object.keys(r).forEach(a=>{const o=r[a],s=o.reduce((u,{ids:d})=>j9(u,d),[]).filter(u=>u!=null&&u!==""),c=o.reduce((u,{meta:d})=>d||u,void 0);if(s.length===0){o.forEach(({resolve:u})=>{u([])});return}const l=o.find(({ids:u,signal:d})=>JSON.stringify(u)===JSON.stringify(s)&&!d.aborted);if(l){const{dataProvider:u,resource:d,ids:f,meta:m,signal:g}=l;u.getMany(d,{ids:f,meta:m,signal:g}).then(({data:h})=>h).then(h=>{o.forEach(({ids:y,resolve:b})=>{b(h.filter(x=>y.map(w=>String(w)).includes(String(x.id))))})},h=>{o.forEach(({reject:y})=>{y(h)})});return}n.fetchQuery({queryKey:[a,"getMany",{ids:s.map(u=>String(u)),meta:c}],queryFn:({signal:u})=>t.getMany(a,{ids:s,meta:c,signal:u}).then(({data:d})=>d)}).then(u=>{o.forEach(({ids:d,resolve:f})=>{f(u.filter(m=>d.map(g=>String(g)).includes(String(m.id))))})}).catch(u=>o.forEach(({reject:d})=>d(u)))})}),g2=i(()=>{},"noop$8"),Zpe=i((e,t={},n={})=>{const{target:r,id:a,pagination:o={page:1,perPage:25},sort:s={field:"id",order:"DESC"},filter:c={},meta:l}=t,u=Di(),d=Fa(),{onError:f=v2,onSuccess:m=v2,onSettled:g=v2,...h}=n,y=Ot(m),b=Ot(f),x=Ot(g),w=Cs({queryKey:[e,"getManyReference",{target:r,id:a,pagination:o,sort:s,filter:c,meta:l}],queryFn:({signal:C})=>!r||a==null?Promise.reject(new Error("target and id are required")):u.getManyReference(e,{target:r,id:a,pagination:o,sort:s,filter:c,meta:l,signal:C}).then(({data:j,total:_,pageInfo:S})=>({data:j,total:_,pageInfo:S})),...h});return v.useEffect(()=>{var C,j;w.data!==void 0&&((j=(C=w.data)==null?void 0:C.data)==null||j.forEach(_=>{d.setQueryData([e,"getOne",{id:String(_.id),meta:l}],S=>S??_)}),y(w.data))},[d,l,y,e,w.data]),v.useEffect(()=>{w.error!=null&&b(w.error)},[b,w.error]),v.useEffect(()=>{w.status!=="pending"&&x(w.data,w.error)},[x,w.data,w.error,w.status]),v.useMemo(()=>{var C,j,_;return w.data?{...w,data:(C=w.data)==null?void 0:C.data,total:(j=w.data)==null?void 0:j.total,pageInfo:(_=w.data)==null?void 0:_.pageInfo}:w},[w])},"useGetManyReference"),v2=i(()=>{},"noop$7");function g4(e,t){return e===t?e!==0||t!==0||1/e===1/t:e!==e&&t!==t}i(g4,"is$1");const yx=i((e,t)=>{if(g4(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;const n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let a=0;ae&&Object.prototype.toString.call(e)==="[object Object]","isObject$4"),tme=i(e=>e instanceof Date?!1:e===""||e===null||e===void 0||yx(e,{}),"isEmpty$6"),ki=i(e=>Object.keys(e).reduce((t,n)=>{let r=e[n];return eme(e[n])&&(r=ki(e[n])),tme(r)?t:{...t,[n]:r}},{}),"removeEmpty"),v4=i((e,t)=>Object.keys(e).reduce((n,r)=>r!==t?Object.assign({},n,{[r]:e[r]}):n,{}),"removeKey"),k9=i((e,t)=>{const n=t.split(".");if(n.length===1)return v4(e,t);const r=n[0];if(e[r]===void 0)return e;const a=k9(e[r],n.slice(1).join("."));return Object.keys(a).length===0?v4(e,r):Object.assign({},e,{[r]:a})},"deepRemoveKey"),L$="SET_SORT",uc="ASC",Qj="DESC",hb="SET_PAGE",D$="SET_PER_PAGE",Ym="SET_FILTER",N$="SHOW_FILTER",F$="HIDE_FILTER",nme=i(e=>e===Qj?uc:Qj,"oppositeOrder"),gb=i((e,t)=>{switch(t.type){case L$:return t.payload.field===e.sort?{...e,order:nme(e.order),page:1}:{...e,sort:t.payload.field,order:t.payload.order||uc,page:1};case hb:return{...e,page:t.payload};case D$:return{...e,page:1,perPage:t.payload};case Ym:return{...e,page:1,filter:t.payload.filter,displayedFilters:t.payload.displayedFilters?t.payload.displayedFilters:e.displayedFilters};case N$:return e.displayedFilters&&e.displayedFilters[t.payload.filterName]?e:{...e,filter:typeof t.payload.defaultValue<"u"?$a(e.filter,t.payload.filterName,t.payload.defaultValue):e.filter,displayedFilters:{...e.displayedFilters,[t.payload.filterName]:!0}};case F$:return{...e,filter:ki(k9(e.filter,t.payload)),displayedFilters:e.displayedFilters?Object.keys(e.displayedFilters).reduce((n,r)=>r!==t.payload?{...n,[r]:!0}:n,{}):e.displayedFilters};default:return e}},"queryReducer"),rme=i((e,t)=>{switch(t.type){case"SET_SORT":return t.payload;case"SET_SORT_FIELD":{const n=t.payload,r=e.field===n&&e.order===uc?Qj:uc;return{field:n,order:r}}case"SET_SORT_ORDER":{const n=t.payload;if(!e.field)throw new Error("cannot change the order on an undefined sort field");return{field:e.field,order:n}}default:return e}},"sortReducer"),ame={field:"",order:"ASC"},$9=i((e=ame)=>{const[t,n]=v.useReducer(rme,e),r=v.useRef(!0);return v.useEffect(()=>{if(r.current){r.current=!1;return}n({type:"SET_SORT",payload:e})},[e.field,e.order]),{setSort:v.useCallback(a=>n({type:"SET_SORT",payload:a}),[n]),setSortField:v.useCallback(a=>n({type:"SET_SORT_FIELD",payload:a}),[n]),setSortOrder:v.useCallback(a=>n({type:"SET_SORT_ORDER",payload:a}),[n]),sort:t}},"useSortState"),ome=i((e,t)=>({...e,...t}),"paginationReducer"),ime={page:1,perPage:25},E9=i((e={})=>{const[t,n]=v.useReducer(ome,{...ime,...e}),r=v.useRef(!0),a=v.useCallback(s=>n({perPage:s,page:1}),[]),o=v.useCallback(s=>n({page:s}),[]);return v.useEffect(()=>{if(r.current){r.current=!1;return}a(e.perPage||25)},[e.perPage,a]),{page:t.page,perPage:t.perPage,pagination:t,setPage:o,setPerPage:a,setPagination:n}},"usePaginationState"),R9=i((e,t,n)=>{const r=Object.keys(n),a=t.filter(o=>!r.includes(o));if(a.length>0)throw new Error(`<${e}> component is not properly configured, some essential props are missing. -Be sure to pass the props from the parent. Example: - -const My${e} = props => ( - <${e} {...props}> -); - -The missing props are: ${a.join(", ")}`)},"useCheckMinimumRequiredProps"),A9=i(e=>{const{record:t,redirect:n="list",onClick:r,mutationOptions:a={}}=e,{meta:o,...s}=a,c=Lt(e),l=Gn(),u=X9(c),d=Hf(),[f,{isPending:m}]=sE(c,void 0,{onSuccess:()=>{l("ra.notification.deleted",{type:"info",messageArgs:{smart_count:1},undoable:!0}),t&&u([t.id]),d(n,c)},onError:h=>{l(typeof h=="string"?h:h.message||"ra.notification.http_error",{type:"error",messageArgs:{_:typeof h=="string"?h:h&&h.message?h.message:void 0}})}}),g=v.useCallback(h=>{if(h.stopPropagation(),!t)throw new Error("The record cannot be deleted because no record has been passed");f(c,{id:t.id,previousData:t,meta:o},{mutationMode:"undoable",...s}),typeof r=="function"&&r(h)},[f,o,s,r,t,c]);return{isPending:m,isLoading:m,handleDelete:g}},"useDeleteWithUndoController"),sme=i(e=>{const{record:t,redirect:n="list",mutationMode:r,onClick:a,mutationOptions:o={}}=e,{meta:s,...c}=o,l=Lt(e),[u,d]=v.useState(!1),f=Gn(),m=X9(l),g=Hf(),[h,{isPending:y}]=sE(l,void 0,{onSuccess:()=>{d(!1),f("ra.notification.deleted",{type:"info",messageArgs:{smart_count:1},undoable:r==="undoable"}),t&&m([t.id]),g(n,l)},onError:C=>{d(!1),f(typeof C=="string"?C:C.message||"ra.notification.http_error",{type:"error",messageArgs:{_:typeof C=="string"?C:C&&C.message?C.message:void 0}})}}),b=i(C=>{d(!0),C.stopPropagation()},"handleDialogOpen"),x=i(C=>{d(!1),C.stopPropagation()},"handleDialogClose"),w=v.useCallback(C=>{if(C.stopPropagation(),!t)throw new Error("The record cannot be deleted because no record has been passed");h(l,{id:t.id,previousData:t,meta:s},{mutationMode:r,...c}),typeof a=="function"&&a(C)},[h,s,r,c,a,t,l]);return{open:u,isPending:y,isLoading:y,handleDialogOpen:b,handleDialogClose:x,handleDelete:w}},"useDeleteWithConfirmController"),P9=v.createContext({}),T9=i(({children:e,value:t})=>p.jsx(P9.Provider,{value:t,children:e}),"SaveContextProvider");var cme=og,lme=SF,ume=If;function dme(e,t,n){for(var r=-1,a=t.length,o={};++rv.useMemo(()=>ug(e,["save","saving","mutationMode","registerMutationMiddleware","unregisterMutationMiddleware"]),[e.save,e.saving,e.mutationMode,e.registerMutationMiddleware,e.unregisterMutationMiddleware]),"usePickSaveContext"),B$=i(e=>v.useContext(P9),"useSaveContext"),L9=i(()=>{const e=v.useRef([]),t=v.useCallback(o=>{e.current.push(o)},[]),n=v.useCallback(o=>{e.current=e.current.filter(s=>s!==o)},[]),r=v.useCallback((o,...s)=>{let c=e.current.length-1;const l=i((...u)=>(c--,c>=0?e.current[c](...u,l):o(...u)),"next");return e.current.length>0?e.current[c](...s,l):o(...s)},[]);return v.useMemo(()=>({registerMutationMiddleware:t,mutateWithMiddlewares:r,unregisterMutationMiddleware:n}),[t,r,n])},"useMutationMiddlewares"),Fme=i((e={})=>{const{disableAuthentication:t,record:n,redirect:r,transform:a,mutationOptions:o={}}=e;Yf({enabled:!t});const s=Lt(e);if(!s)throw new Error("useCreateController requires a non-empty resource prop or context");const{hasEdit:c,hasShow:l}=Ac(e),u=r??Wme(l,c),d=Er(),f=at(),m=Gn(),g=Hf(),h=n??Bme(d)??void 0,{onSuccess:y,onError:b,meta:x,...w}=o,{registerMutationMiddleware:C,mutateWithMiddlewares:j,unregisterMutationMiddleware:_}=L9(),[S,{isPending:k}]=_x(s,void 0,{onSuccess:async(R,T,M)=>{if(y)return y(R,T,M);m("ra.notification.created",{type:"info",messageArgs:{smart_count:1}}),g(u,s,R.id,R)},onError:(R,T,M)=>{var H;if(b)return b(R,T,M);const I=(H=R==null?void 0:R.body)==null?void 0:H.errors;!!I&&Object.keys(I).length>0||m(typeof R=="string"?R:R.message||"ra.notification.http_error",{type:"error",messageArgs:{_:typeof R=="string"?R:R instanceof Error||typeof R=="object"&&R!==null&&R.hasOwnProperty("message")?R.message:void 0}})},...w,returnPromise:!0,mutateWithMiddlewares:j}),$=v.useCallback((R,{transform:T,meta:M,...I}={})=>Promise.resolve(T?T(R):a?a(R):R).then(async z=>{var H;try{await S(s,{data:z,meta:M??x},I)}catch(F){if((F instanceof Hfe||typeof F=="object"&&F!==null&&F.hasOwnProperty("body"))&&((H=F.body)==null?void 0:H.errors)!=null)return F.body.errors}}),[S,x,s,a]),E=Kf(),P=f("ra.page.create",{name:E(s,1)});return{isFetching:!1,isLoading:!1,isPending:k,saving:k,defaultTitle:P,save:$,resource:s,record:h,redirect:u,registerMutationMiddleware:C,unregisterMutationMiddleware:_}},"useCreateController"),Bme=i(({state:e,search:t})=>{if(e&&e.record)return e.record;if(t)try{const n=gx.parse(t);if(n.source){if(Array.isArray(n.source)){console.error(`Failed to parse location search parameter '${t}'. To pre-fill some fields in the Create form, pass a stringified source parameter (e.g. '?source={"title":"foo"}')`);return}return JSON.parse(n.source)}}catch{console.error(`Failed to parse location search parameter '${t}'. To pre-fill some fields in the Create form, pass a stringified source parameter (e.g. '?source={"title":"foo"}')`)}return null},"getRecordFromLocation"),Wme=i((e,t)=>t?"edit":e?"show":"list","getDefaultRedirectRoute"),W$=v.createContext(void 0);W$.displayName="RecordContext";const Kr=i(({children:e,value:t})=>p.jsx(W$.Provider,{value:t,children:e}),"RecordContextProvider"),U$=v.createContext(null);U$.displayName="CreateContext";const Ume=i(({children:e,value:t})=>p.jsx(U$.Provider,{value:t,children:p.jsx(T9,{value:{...I9(t),mutationMode:"pessimistic"},children:p.jsx(Kr,{value:t&&t.record,children:e})})}),"CreateContextProvider"),H$=i(({children:e,...t})=>{const n=Fme(t),r=p.jsx(Ume,{value:n,children:e});return t.resource?p.jsx(Uo,{value:t.resource,children:r}):r},"CreateBase"),Hme=i(()=>{const e=v.useContext(U$);if(!e)throw new Error("useCreateContext must be used inside a CreateContextProvider");return e},"useCreateContext"),qme=i((e={})=>{const{disableAuthentication:t,id:n,mutationMode:r="undoable",mutationOptions:a={},queryOptions:o={},redirect:s=Vme,transform:c}=e;Yf({enabled:!t});const l=Lt(e);if(!l)throw new Error("useEditController requires a non-empty resource prop or context");const u=Vl(l),d=at(),f=Gn(),m=Hf(),g=lg(),{id:h}=sF();if(!h&&!n)throw new Error("useEditController requires an id prop or a route with an /:id? parameter.");const y=n??decodeURIComponent(h),{meta:b,...x}=o,{meta:w,onSuccess:C,onError:j,..._}=a,{registerMutationMiddleware:S,mutateWithMiddlewares:k,unregisterMutationMiddleware:$}=L9(),{data:E,error:P,isLoading:R,isFetching:T,isPending:M,refetch:I}=b9(l,{id:y,meta:b},{onError:()=>{f("ra.notification.item_doesnt_exist",{type:"error"}),m("list",l),g()},refetchOnReconnect:!1,refetchOnWindowFocus:!1,retry:!1,...x});if(E&&E.id&&E.id!=y)throw new Error(`useEditController: Fetched record's id attribute (${E.id}) must match the requested 'id' (${y})`);const z=Kf(),H=u(E),F=d("ra.page.edit",{name:z(l,1),id:y,record:E,recordRepresentation:typeof H=="string"?H:""}),L={id:y,previousData:E},[B,{isPending:K}]=hg(l,L,{onSuccess:async(ue,_e,le)=>{if(C)return C(ue,_e,le);f("ra.notification.updated",{type:"info",messageArgs:{smart_count:1},undoable:r==="undoable"}),m(s,l,ue.id,ue)},onError:(ue,_e,le)=>{var Y;if(j)return j(ue,_e,le);const V=(Y=ue==null?void 0:ue.body)==null?void 0:Y.errors;(!(!!V&&Object.keys(V).length>0)||r!=="pessimistic")&&f(typeof ue=="string"?ue:ue.message||"ra.notification.http_error",{type:"error",messageArgs:{_:typeof ue=="string"?ue:ue instanceof Error||typeof ue=="object"&&ue!==null&&ue.hasOwnProperty("message")?ue.message:void 0}})},..._,mutationMode:r,returnPromise:r==="pessimistic",mutateWithMiddlewares:k}),se=v.useCallback((ue,{onSuccess:_e,onError:le,transform:V,meta:q}={})=>Promise.resolve(V?V(ue,{previousData:L.previousData}):c?c(ue,{previousData:L.previousData}):ue).then(async Y=>{var O;try{await B(l,{id:y,data:Y,meta:q??w},{onError:le,onSuccess:_e})}catch(D){if(((O=D.body)==null?void 0:O.errors)!=null)return D.body.errors}}),[y,w,l,c,B,L.previousData]);return{defaultTitle:F,error:P,isFetching:T,isLoading:R,isPending:M,mutationMode:r,record:E,redirect:s,refetch:I,registerMutationMiddleware:S,resource:l,save:se,saving:K,unregisterMutationMiddleware:$}},"useEditController"),Vme="list",sn=i(e=>{const t=v.useContext(W$);return e&&e.record||t},"useRecordContext"),Gme=i(({value:e,children:t})=>e?p.jsx(Kr,{value:e,children:t}):t,"OptionalRecordContextProvider"),D9=i(e=>{const t=sn(e),n=Lt(e),r=Vl(n);return p.jsx(p.Fragment,{children:r(t)})},"RecordRepresentation"),q$=v.createContext(null);q$.displayName="EditContext";const Kme=i(({children:e,value:t})=>p.jsx(q$.Provider,{value:t,children:p.jsx(T9,{value:I9(t),children:p.jsx(Kr,{value:t&&t.record,children:e})})}),"EditContextProvider"),N9=i(({children:e,...t})=>{const n=qme(t),r=p.jsx(Kme,{value:n,children:e});return t.resource?p.jsx(Uo,{value:t.resource,children:r}):r},"EditBase"),F9=i(()=>{const e=v.useContext(q$);if(!e)throw new Error("useEditContext must be used inside an EditContextProvider");return e},"useEditContext"),B9=v.createContext(null),Jme=B9.Provider,Yme=i(()=>{const e=v.useContext(B9);if(!e)throw new Error("useReferenceFieldContext must be used inside a ReferenceFieldContextProvider");return e},"useReferenceFieldContext"),W9=i(({reference:e,id:t,options:n={}})=>{const{meta:r,...a}=n,{data:o,error:s,isLoading:c,isFetching:l,isPending:u,refetch:d}=_9(e,{ids:[t],meta:r},a);return{referenceRecord:s?void 0:o?o[0]:void 0,refetch:d,error:s,isLoading:c,isFetching:l,isPending:u}},"useReference"),Qme=i(e=>{const{link:t="edit",reference:n,queryOptions:r}=e;if(!n)throw new Error('useReferenceFieldController: missing reference prop. You must provide a reference, e.g. reference="posts".');const a=Fi(e),o=W9({reference:n,id:a,options:{...r,enabled:((r==null?void 0:r.enabled)==null||(r==null?void 0:r.enabled)===!0)&&a!=null}}),s=Wo(),c=Ac({resource:n});return v.useMemo(()=>({...o,link:o.referenceRecord!=null?t===!1||t==="edit"&&!c.hasEdit||t==="show"&&!c.hasShow?!1:s({resource:n,id:o.referenceRecord.id,type:typeof t=="function"?t(o.referenceRecord,n):t}):void 0}),[s,t,n,o,c])},"useReferenceFieldController"),Xme=i(e=>{const{children:t}=e,n=Qme(e);return p.jsx(Uo,{value:e.reference,children:p.jsx(Jme,{value:n,children:p.jsx(Kr,{value:n.referenceRecord,children:t})})})},"ReferenceFieldBase");var U9=` -`,Ni={};Ni.isFunction=function(e){var t={};return e&&t.toString.call(e)==="[object Function]"};Ni.isArray=function(e){return Array.isArray(e)};Ni.isObject=function(e){return e instanceof Object};Ni.isString=function(e){return typeof e=="string"};Ni.isNumber=function(e){return typeof e=="number"};Ni.isBoolean=function(e){return typeof e=="boolean"};Ni.isDate=function(e){return e instanceof Date};var Zme=U9,ehe=Ni,the=i(function(t,n){if(!t||!ehe.isArray(t))throw new TypeError('Invalid params "rows" for joinRows. Must be an array of string.');var r=t.join(n||Zme||` -`);return r},"joinRows"),H9=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},nhe=function(){function e(t,n){for(var r=0;r"u"?"undefined":H9(n)){case"string":return[{item:r,value:this._handleString(n,r)}];case"number":return[{item:r,value:this._handleNumber(n,r)}];case"boolean":return[{item:r,value:this._handleBoolean.bind(this)(n,r)}]}return this.checkComplex(n,r)},"check")},{key:"_handleObject",value:i(function(n){var r=[];for(var a in n){var o=n[a],s=this.check(o,a,a,n);r=r.concat(s)}return r},"_handleObject")},{key:"_handleArray",value:i(function(n){for(var r=this,a=[],o,s=0;s0&&!u.item&&o===void 0&&(o=u);a=a.concat(l)}}return a},"_handleArray")},{key:"_handleBoolean",value:i(function(n){var r;return n?r=this._options.booleanTrueString||"true":r=this._options.booleanFalseString||"false",r},"_handleBoolean")},{key:"_handleString",value:i(function(n){return n},"_handleString")},{key:"_handleNumber",value:i(function(n){return n},"_handleNumber")},{key:"_handleDate",value:i(function(n){return n.toLocaleDateString()},"_handleDate")}]),e}(),ohe=ahe,ihe=typeof window>"u"?Wp:window;function she(e,t){if(e instanceof ihe[t])return!0;switch(typeof e>"u"?"undefined":H9(e)){case"string":return t==="String";case"boolean":return t==="Boolean";case"number":return t==="Number"}return!1}i(she,"isInstanceOfTypeName");var b2,y4;function che(){return y4||(y4=1,b2=i(function(t,n,r){var a=` -`;if(typeof t!="string")throw new TypeError('Invalid param "textDelimiter", must be a string.');if(typeof n!="string")throw new TypeError('Invalid param "rowDelimiter", must be a string.');var o=new RegExp("\\"+t,"g"),s=t+t,c=t==='"'?function(l){return l.indexOf(n)>=0||l.indexOf(a)>=0||l.indexOf('"')>=0}:function(l){return l.indexOf(n)>=0||l.indexOf(a)>=0};return function(l){return r&&(l=""+l),l.replace&&(l=l.replace(o,s),(r||c(l))&&(l=t+l+t)),l}},"escapedDelimiters")),b2}i(che,"requireEscapeDelimiters");var lhe=function(){function e(t,n){for(var r=0;r0&&(f=f.concat(Array(m).join(".").split("."))),r&&this._options.fillGaps&&(f=f.map(o)),a.push(f.join(this._options.rowDelimiter)),r=f}}catch(g){c=!0,l=g}finally{try{!s&&u.return&&u.return()}finally{if(c)throw l}}return a},"_checkRows")},{key:"_parseArray",value:i(function(n,r){var a=this;this._headers=this._headers||[];var o=[],s=void 0,c=i(function(b){var x=a._headers.indexOf(b);return x===-1&&(a._headers.push(b),x=a._headers.indexOf(b)),x},"getHeaderIndex");s=i(function(b){var x=[],w=i(function(I){return x.push(I.map(function(z){return z??""}))},"fillAndPush"),C=i(function(){return new Array(a._headers.length).fill(null)},"newRow"),j={},_=C(),S=!0,k=!1,$=void 0;try{for(var E=b[Symbol.iterator](),P;!(S=(P=E.next()).done);S=!0){var R=P.value,T=c(R.item);if(_[T]!=null&&(w(_),_=C()),j[T]=j[T]||0,a._options.fillTopRow&&j[T]0&&w(_),o=o.concat(a._checkRows(x))},"fillRows");var l=!0,u=!1,d=void 0;try{for(var f=n[Symbol.iterator](),m;!(l=(m=f.next()).done);l=!0){var g=m.value,h=a._handler.check(g,a._options.mainPathItem,g,n);s(h)}}catch(y){u=!0,d=y}finally{try{!l&&f.return&&f.return()}finally{if(u)throw d}}return!r&&a._options.includeHeaders&&o.unshift(this.headers),b4(o,a._options.endOfLine)},"_parseArray")},{key:"_parseObject",value:i(function(n){var r=this,a=[],o=[],s=void 0,c=[[],[]];s=i(function(f){var m=f.value||f.value===0?f.value.toString():r._options.undefinedString;if(m=r._escape(m),r._options.verticalOutput){var g=[f.item,m];a.push(g.join(r._options.rowDelimiter))}else c[0].push(f.item),c[1].push(m)},"fillRows");for(var l in n){var u="";this._options.mainPathItem&&(u=this._options.mainPathItem+this._options.headerPathString),o=this._handler.check(n[l],u+l,l,n),o.forEach(s)}return this._options.verticalOutput||(a.push(c[0].join(this._options.rowDelimiter)),a.push(c[1].join(this._options.rowDelimiter))),b4(a,this._options.endOfLine)},"_parseObject")},{key:"headers",get:i(function(){var n=this,r=this._headers;return this._options.rename&&this._options.rename.length>0&&(r=r.map(function(a){return n._options.rename[n._options.headers.indexOf(a)]||a})),this._options.forceTextDelimiter&&(r=r.map(function(a){return""+n._options.textDelimiter+a+n._options.textDelimiter})),this._options.mapHeaders&&(r=r.map(this._options.mapHeaders)),r.join(this._options.rowDelimiter)},"get")}]),e}(),phe=fhe,mhe=i(function(e){throw new Error("jsonexport called without third argument as a callback and is required")},"Stream$1"),hhe=mhe,w4=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},C4=phe,S4=hhe,ghe=U9,vhe=i(function(){var e={headers:[],rename:[],headerPathString:".",rowDelimiter:",",textDelimiter:'"',arrayPathString:";",undefinedString:"",endOfLine:ghe,mainPathItem:null,booleanTrueString:null,booleanFalseString:null,includeHeaders:!0,fillGaps:!1,verticalOutput:!0,forceTextDelimiter:!1},t=void 0,n=void 0,r=void 0;if(arguments.length===3){var a=Array.prototype.slice.call(arguments);t=a[0],n=a[1],r=a[2]}else if(arguments.length===2){var o=void 0,s=Array.prototype.slice.call(arguments);t=s[0],o=s[1],typeof o=="function"?r=o:(typeof o>"u"?"undefined":w4(o))==="object"&&(n=o)}else if(arguments.length===1){var c=Array.prototype.slice.call(arguments),l=c[0];if((typeof l>"u"?"undefined":w4(l))==="object"){var u=Object.keys(e),d=Object.keys(l),f=d.every(function(h){return u.includes(h)});d.length>0&&f?n=l:t=l}else t=l}else return new S4(new C4(e));var m=Object.assign({},e,n),g=new C4(m);return t?new Promise(function(h,y){g.parse(t,function(b,x){if(r)return r(b,x);if(b)return y(b);if(y)return h(x)})}):new S4},"dist");const yhe=Gt(vhe),bhe=i((e,t="export")=>{const n=document.createElement("a");n.style.display="none",document.body.appendChild(n);const r=new Blob([e],{type:"text/csv;charset=utf-8"});window.navigator&&window.navigator.msSaveOrOpenBlob?window.navigator.msSaveOrOpenBlob(r,`${t}.csv`):(n.setAttribute("href",URL.createObjectURL(r)),n.setAttribute("download",`${t}.csv`),n.click())},"downloadCSV"),xhe=i((e,t,n,r)=>yhe(e,(a,o)=>bhe(o,r)),"defaultExporter"),whe=xhe,Che=i(e=>(t,n,r)=>e.getMany(r,{ids:She(t,n)}).then(({data:a})=>a.reduce((o,s)=>(o[s.id]=s,o),{})),"fetchRelatedRecords"),She=i((e,t)=>Array.from(new Set(e.filter(n=>n[t]!=null).map(n=>n[t]).reduce((n,r)=>n.concat(r),[]))),"getRelatedIds"),bx=i(e=>{const{resource:t="",disableSyncWithStore:n=!1}=e,r=`${t}.selectedIds`,[a,o]=v.useState(x2),[s,c]=xo(r,x2),l=Qye(r),u=n?a:s,d=n?o:c,f=v.useCallback(()=>{n?o(x2):l()},[n,l]),m=v.useMemo(()=>({select:g=>{g&&d([...g])},unselect(g){!g||g.length===0||d(h=>Array.isArray(h)?h.filter(y=>!g.includes(y)):[])},toggle:g=>{typeof g>"u"||d(h=>{if(!Array.isArray(h))return[...h];const y=h.indexOf(g);return y>-1?[...h.slice(0,y),...h.slice(y+1)]:[...h,g]})},clearSelection:()=>{f()}}),[d,f]);return[u,m]},"useRecordSelection"),x2=[];var jhe=lx,_he=_$,khe=1,$he=2;function Ehe(e,t,n,r){var a=n.length,o=a,s=!r;if(e==null)return!o;for(e=Object(e);a--;){var c=n[a];if(s&&c[2]?c[1]!==e[c[0]]:!(c[0]in e))return!1}for(;++a(r.current=!0,()=>{r.current=!1}),[]);const a=v.useCallback(o=>{if(r.current)return n(o)},[r,n]);return[t,a]}i(to,"useSafeSetState");function Pge(e){const t=v.useRef();return v.useEffect(()=>{t.current=e}),t.current}i(Pge,"usePrevious");function qf(e=0,t=""){const[n,r]=to(!1);return v.useEffect(()=>{r(!1);let a=setTimeout(()=>{r(!0)},e);return()=>{clearTimeout(a)}},[t,e,r]),n}i(qf,"useTimeout$1");function Tge(){const e=v.useRef(!0);return v.useEffect(()=>(e.current=!0,()=>{e.current=!1}),[]),e}i(Tge,"useIsMounted$1");const Mge=i(({debounce:e=500,disableSyncWithLocation:t=!1,filterDefaultValues:n,perPage:r=10,resource:a,sort:o=Dge,storeKey:s=`${a}.listParams`})=>{const c=Er(),l=Li(),[u,d]=v.useState($4),[f,m]=xo(s||`${a}.listParams`,$4),g=v.useRef(),h=Tge(),y=s===!1,b=[c.search,a,s,JSON.stringify(t||y?u:f),JSON.stringify(n),JSON.stringify(o),r,t],x=t?{}:zge(c),w=v.useMemo(()=>Lge({queryFromLocation:x,params:t||y?u:f,filterDefaultValues:n,sort:o,perPage:r}),b);v.useEffect(()=>{Object.keys(x).length>0&&!y&&m(w)},[c.search]);const C=v.useCallback(M=>{h.current&&(g.current?g.current=gb(g.current,M):(g.current=gb(w,M),setTimeout(()=>{g.current&&(t?d(g.current):l({search:`?${gx.stringify({...g.current,filter:JSON.stringify(g.current.filter),displayedFilters:JSON.stringify(g.current.displayedFilters)})}`},{state:{_scrollToTop:M.type===hb}}),g.current=void 0)},0)))},[...b,l]),j=v.useCallback(M=>C({type:L$,payload:M}),[C]),_=v.useCallback(M=>C({type:hb,payload:M}),[C]),S=v.useCallback(M=>C({type:D$,payload:M}),[C]),k=w.filter||k4,$=w.displayedFilters||k4,E=cg((M,I)=>{C({type:Ym,payload:{filter:ki(M),displayedFilters:I}})},e),P=v.useCallback((M,I=void 0,z=!1)=>z?E(M,I):C({type:Ym,payload:{filter:ki(M),displayedFilters:I}}),[C]),R=v.useCallback(M=>{C({type:F$,payload:M})},[C]),T=v.useCallback((M,I)=>{C({type:N$,payload:{filterName:M,defaultValue:I}})},[C]);return[{filterValues:k,requestSignature:b,...w,displayedFilters:$},{changeParams:C,setPage:_,setPerPage:S,setSort:j,setFilters:P,hideFilter:R,showFilter:T}]},"useListParams"),Oge=["page","perPage","sort","order","filter","displayedFilters"],j4=i((e,t)=>{if(e[t]&&typeof e[t]=="string")try{e[t]=JSON.parse(e[t])}catch{delete e[t]}},"parseObject"),zge=i(({search:e})=>{const t=G$(gx.parse(e),(n,r)=>Oge.indexOf(r)!==-1);return j4(t,"filter"),j4(t,"displayedFilters"),t},"parseQueryFromLocation"),Ige=i(e=>e&&e.filter&&(Object.keys(e.filter).length>0||e.order!=null||e.page!==1||e.perPage!=null||e.sort!=null),"hasCustomParams$1"),Lge=i(({queryFromLocation:e,params:t,filterDefaultValues:n,sort:r,perPage:a})=>{const o=Object.keys(e).length>0?e:Ige(t)?{...t}:{filter:n||{}};return o.sort||(o.sort=r.field,o.order=r.order),o.perPage==null&&(o.perPage=a),o.page==null&&(o.page=1),{...o,page:_4(o.page,1),perPage:_4(o.perPage,10)}},"getQuery$1"),_4=i((e,t)=>{if(typeof e>"u")return t;const n=typeof e=="string"?parseInt(e,10):e;return isNaN(n)?t:n},"getNumberOrDefault$1"),k4={},Dge={field:"id",order:uc},$4={},wx=v.createContext(null);wx.displayName="ListContext";const K$=v.createContext(void 0),Nge=i(e=>v.useMemo(()=>ug(e,["displayedFilters","filterValues","hideFilter","setFilters","showFilter","resource"]),[e.displayedFilters,e.filterValues,e.hideFilter,e.setFilters,e.showFilter]),"usePickFilterContext");K$.displayName="ListFilterContext";const J$=v.createContext(void 0),Fge=i(e=>v.useMemo(()=>ug(e,["sort","setSort","resource"]),[e.sort,e.setSort]),"usePickSortContext");J$.displayName="ListSortContext";const Y$=v.createContext(void 0);Y$.displayName="ListPaginationContext";const Bge=i(e=>v.useMemo(()=>ug(e,["isLoading","isPending","hasPreviousPage","hasNextPage","page","perPage","setPage","setPerPage","total","resource"]),[e.isLoading,e.isPending,e.hasPreviousPage,e.hasNextPage,e.page,e.perPage,e.setPage,e.setPerPage,e.total]),"usePickPaginationContext"),dg=i(({value:e,children:t})=>p.jsx(wx.Provider,{value:e,children:p.jsx(K$.Provider,{value:Nge(e),children:p.jsx(J$.Provider,{value:Fge(e),children:p.jsx(Y$.Provider,{value:Bge(e),children:t})})})}),"ListContextProvider"),Wge=i((e={})=>{const{debounce:t=500,disableAuthentication:n,disableSyncWithLocation:r,exporter:a=whe,filter:o,filterDefaultValues:s,perPage:c=10,queryOptions:l={},sort:u=Uge,storeKey:d}=e;Yf({enabled:!n});const f=Lt(e),{meta:m,...g}=l;if(!f)throw new Error("useListController requires a non-empty resource prop or context");if(o&&v.isValidElement(o))throw new Error("useListController received a React element as `filter` props. If you intended to set the list filter elements, use the `filters` (with an s) prop instead. The `filter` prop is internal and should not be set by the developer.");const h=at(),y=Gn(),[b,x]=Mge({debounce:t,disableSyncWithLocation:r,filterDefaultValues:s,perPage:c,resource:f,sort:u,storeKey:d}),[w,C]=bx({resource:f,disableSyncWithStore:d===!1}),{data:j,pageInfo:_,total:S,error:k,isLoading:$,isFetching:E,isPending:P,refetch:R}=_i(f,{pagination:{page:b.page,perPage:b.perPage},sort:{field:b.sort,order:b.order},filter:{...b.filter,...o},meta:m},{placeholderData:z=>z,retry:!1,onError:z=>y((z==null?void 0:z.message)||"ra.notification.http_error",{type:"error",messageArgs:{_:z==null?void 0:z.message}}),...g});v.useEffect(()=>{if(b.page<=0||!E&&b.page>1&&(j==null||(j==null?void 0:j.length)===0)){x.setPage(1);return}if(S==null)return;const z=Math.ceil(S/b.perPage)||1;!E&&b.page>z&&x.setPage(z)},[E,b.page,b.perPage,j,x,S]);const T=v.useMemo(()=>({field:b.sort,order:b.order}),[b.sort,b.order]),M=Kf(),I=h("ra.page.list",{name:M(f,2)});return{sort:T,data:j,defaultTitle:I,displayedFilters:b.displayedFilters,error:k,exporter:a,filter:o,filterValues:b.filterValues,hideFilter:x.hideFilter,isFetching:E,isLoading:$,isPending:P,onSelect:C.select,onToggleItem:C.toggle,onUnselectItems:C.clearSelection,page:b.page,perPage:b.perPage,refetch:R,resource:f,selectedIds:w,setFilters:x.setFilters,setPage:x.setPage,setPerPage:x.setPerPage,setSort:x.setSort,showFilter:x.showFilter,total:S,hasNextPage:_?_.hasNextPage:S!=null?b.page*b.perPage1}},"useListController"),Uge={field:"id",order:uc},Hge=["sort","data","defaultTitle","displayedFilters","error","exporter","filterValues","hasNextPage","hasPreviousPage","hideFilter","isFetching","isLoading","isPending","onSelect","onToggleItem","onUnselectItems","page","perPage","refetch","refresh","resource","selectedIds","setFilters","setPage","setPerPage","setSort","showFilter","total","totalPages"],Tl=i(e=>Object.keys(e).filter(t=>!Hge.includes(t)).reduce((t,n)=>({...t,[n]:e[n]}),{}),"sanitizeListRestProps"),J9=i(({children:e,...t})=>p.jsx(Uo,{value:t.resource,children:p.jsx(dg,{value:Wge(t),children:e})}),"ListBase"),qge=i((e,t,n=!1)=>{const[r,a]=xo(`${e}.datagrid.expanded`,[]),o=Array.isArray(r)?r.map(c=>c==t).indexOf(!0)!==-1:!1,s=v.useCallback(()=>{a(c=>{if(!Array.isArray(c))return[t];const l=c.findIndex(u=>u==t);return l>-1?n?[]:[...c.slice(0,l),...c.slice(l+1)]:n?[t]:[...c,t]})},[a,t,n]);return[o,s]},"useExpanded"),Vge=i((e,t)=>{const[n,r]=xo(`${e}.datagrid.expanded`,[]),a=Array.isArray(n)?n.some(s=>t.some(c=>c==s)):!1,o=v.useCallback(()=>{const s=n.filter(c=>!t.some(l=>l==c));r(a?s:s.concat(t))},[n,r,a,t]);return[a,o]},"useExpandAll"),Gge=i(()=>{throw new Error("refetch is not available for a ListContext built from useList based on local data")},"refetch"),Cx=i(e=>{const{data:t,error:n,filter:r=Kge,isFetching:a=!1,isLoading:o=!1,isPending:s=!1,page:c=1,perPage:l=1e3,sort:u,filterCallback:d=i(se=>!!se,"filterCallback")}=e,f=Lt(e),[m,g]=to(a),[h,y]=to(o),[b,x]=to(s),[w,C]=to(()=>({data:t,total:t?t.length:void 0})),{page:j,setPage:_,perPage:S,setPerPage:k}=E9({page:c,perPage:l}),{sort:$,setSort:E}=$9(u),P=v.useCallback(se=>{E(se),_(1)},[_,E]),[R,T]=bx(f?{resource:f}:{disableSyncWithStore:!0}),M=v.useRef(r),[I,z]=to({}),[H,F]=to(r),L=v.useCallback(se=>{z(ue=>{const{[se]:_e,...le}=ue;return le}),F(ue=>{const{[se]:_e,...le}=ue;return le})},[z,F]),B=v.useCallback((se,ue)=>{z(_e=>({..._e,[se]:!0})),F(_e=>ki({..._e,[se]:ue}))},[z,F]),K=v.useCallback((se,ue=void 0)=>{F(ki(se)),ue&&z(ue),_(1)},[z,F,_]);return v.useEffect(()=>{pa(r,M.current)||(M.current=r,F(r))}),v.useEffect(()=>{if(o||!t)return;let se=t;if(H){const _e=g9(H);se=t.filter(le=>Object.entries(_e).every(([V,q])=>{const Y=Ct(le,V);return Array.isArray(Y)?Array.isArray(q)?Y.some(D=>q.includes(D)):Y.includes(q):Array.isArray(q)?q.includes(Y):V==="q"?Object.keys(le).some(D=>typeof le[D]=="string"&&le[D].toLowerCase().includes(q.toLowerCase())):q==Y})).filter(d)}const ue=se.length;$.field&&(se=se.sort((_e,le)=>Ct(_e,$.field)>Ct(le,$.field)?$.order==="ASC"?1:-1:Ct(_e,$.field){a!==m&&g(a)},[a,m,g]),v.useEffect(()=>{o!==h&&y(o)},[o,h,y]),v.useEffect(()=>{s!==b&&x(s)},[s,b,x]),{sort:$,data:b?void 0:(w==null?void 0:w.data)??[],defaultTitle:"",error:n??null,displayedFilters:I,filterValues:H,hasNextPage:(w==null?void 0:w.total)==null?!1:j*S1,hideFilter:L,isFetching:m,isLoading:h,isPending:b,onSelect:T.select,onToggleItem:T.toggle,onUnselectItems:T.clearSelection,page:j,perPage:S,resource:"",refetch:Gge,selectedIds:R,setFilters:K,setPage:_,setPerPage:k,setSort:P,showFilter:B,total:w==null?void 0:w.total}},"useList"),Kge={},Kn=i(()=>{const e=v.useContext(wx);if(!e)throw new Error("useListContext must be used inside a ListContextProvider");return e},"useListContext");var Jge=Uf,Yge=Tf,Qge=P$,Xge=Wf,Y9=Object.prototype,Zge=Y9.hasOwnProperty,eve=Jge(function(e,t){e=Object(e);var n=-1,r=t.length,a=r>2?t[2]:void 0;for(a&&Qge(t[0],t[1],a)&&(r=1);++n{const t=v.useContext(wx);return v.useMemo(()=>Q$({},e!=null?nve(e):{},t),[t,e])},"useListContextWithProps"),nve=i(({sort:e,data:t,defaultTitle:n,displayedFilters:r,exporter:a,filterValues:o,hasCreate:s,hideFilter:c,isFetching:l,isLoading:u,isPending:d,onSelect:f,onToggleItem:m,onUnselectItems:g,page:h,perPage:y,refetch:b,resource:x,selectedIds:w,setFilters:C,setPage:j,setPerPage:_,setSort:S,showFilter:k,total:$})=>({sort:e,data:t,defaultTitle:n,displayedFilters:r,exporter:a,filterValues:o,hasCreate:s,hideFilter:c,isFetching:l,isLoading:u,isPending:d,onSelect:f,onToggleItem:m,onUnselectItems:g,page:h,perPage:y,refetch:b,resource:x,selectedIds:w,setFilters:C,setPage:j,setPerPage:_,setSort:S,showFilter:k,total:$}),"extractListContextProps"),Q9=i(()=>{const e=v.useContext(K$);if(!e)throw new Error("useListFilterContext must be used inside a ListFilterContextProvider");return e},"useListFilterContext"),rve=i(()=>{const e=v.useContext(Y$);if(!e)throw new Error("useListPaginationContext must be used inside a ListPaginationContextProvider");return e},"useListPaginationContext"),ave=i(()=>{const e=v.useContext(J$);if(!e)throw new Error("useListSortContext must be used inside a ListSortContextProvider");return e},"useListSortContext"),X9=i(e=>{const[,{unselect:t}]=bx(e?{resource:e}:{disableSyncWithStore:!0});return v.useCallback(n=>{t(n)},[t])},"useUnselect"),ove=[],ive={},sve=i(e=>{const{filter:t=ive,page:n=1,perPage:r=1e3,record:a,reference:o,sort:s,source:c,queryOptions:l={}}=e,u=Gn(),d=Ct(a,c),{meta:f,...m}=l,g=Array.isArray(d)?d:ove,{data:h,error:y,isLoading:b,isFetching:x,isPending:w,refetch:C}=_9(o,{ids:g,meta:f},{onError:_=>u(typeof _=="string"?_:_.message||"ra.notification.http_error",{type:"error",messageArgs:{_:typeof _=="string"?_:_&&_.message?_.message:void 0}}),...m});return{...Cx({data:h,error:y,filter:t,isFetching:x,isLoading:b,isPending:w,page:n,perPage:r,sort:s}),defaultTitle:void 0,refetch:C,resource:o}},"useReferenceArrayFieldController"),cve={},lve=i(e=>{const{debounce:t=500,reference:n,record:r,target:a,filter:o=cve,source:s="id",page:c,perPage:l,sort:u={field:"id",order:"DESC"},queryOptions:d={}}=e,f=Gn(),m=Lt(e),{meta:g,...h}=d,{page:y,setPage:b,perPage:x,setPerPage:w}=E9({page:c,perPage:l}),{sort:C,setSort:j}=$9(u),_=v.useCallback(V=>{j(V),b(1)},[b,j]),[S,k]=bx({resource:`${m}.${r==null?void 0:r.id}.${n}`}),$=v.useRef(o),[E,P]=to({}),[R,T]=to(o),M=v.useCallback(V=>{P(q=>{const{[V]:Y,...O}=q;return O}),T(q=>{const{[V]:Y,...O}=q;return O})},[P,T]),I=v.useCallback((V,q)=>{P(Y=>({...Y,[V]:!0})),T(Y=>({...Y,[V]:q}))},[P,T]),z=v.useCallback(cg((V,q)=>{T(ki(V)),P(q),b(1)},t),[P,T,b]),H=v.useCallback((V,q,Y=!1)=>{Y?z(V,q):(T(ki(V)),P(q),b(1))},[P,T,b,z]);v.useEffect(()=>{pa(o,$.current)||($.current=o,T(o))});const{data:F,total:L,pageInfo:B,error:K,isFetching:se,isLoading:ue,isPending:_e,refetch:le}=Zpe(n,{target:a,id:Ct(r,s),pagination:{page:y,perPage:x},sort:C,filter:R,meta:g},{enabled:Ct(r,s)!=null,placeholderData:V=>V,onError:V=>f(typeof V=="string"?V:V.message||"ra.notification.http_error",{type:"error",messageArgs:{_:typeof V=="string"?V:V&&V.message?V.message:void 0}}),...h});return{sort:C,data:F,defaultTitle:void 0,displayedFilters:E,error:K,filterValues:R,hideFilter:M,isFetching:se,isLoading:ue,isPending:_e,onSelect:k.select,onToggleItem:k.toggle,onUnselectItems:k.clearSelection,page:y,perPage:x,refetch:le,resource:n,selectedIds:S,setFilters:H,setPage:b,setPerPage:w,hasNextPage:B?B.hasNextPage:L!=null?y*x1,setSort:_,showFilter:I,total:L}},"useReferenceManyFieldController");var fg=i(e=>e.type==="checkbox","isCheckBoxInput"),Hu=i(e=>e instanceof Date,"isDateObject$1"),Ur=i(e=>e==null,"isNullOrUndefined");const Z9=i(e=>typeof e=="object","isObjectType");var cr=i(e=>!Ur(e)&&!Array.isArray(e)&&Z9(e)&&!Hu(e),"isObject$2"),e7=i(e=>cr(e)&&e.target?fg(e.target)?e.target.checked:e.target.value:e,"getEventValue"),uve=i(e=>e.substring(0,e.search(/\.\d+(\.|$)/))||e,"getNodeParentName"),t7=i((e,t)=>e.has(uve(t)),"isNameInFieldArray"),dve=i(e=>{const t=e.constructor&&e.constructor.prototype;return cr(t)&&t.hasOwnProperty("isPrototypeOf")},"isPlainObject$2"),X$=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function Qi(e){let t;const n=Array.isArray(e);if(e instanceof Date)t=new Date(e);else if(e instanceof Set)t=new Set(e);else if(!(X$&&(e instanceof Blob||e instanceof FileList))&&(n||cr(e)))if(t=n?[]:{},!Array.isArray(e)&&!dve(e))t=e;else for(const r in e)t[r]=Qi(e[r]);else return e;return t}i(Qi,"cloneObject");var pg=i(e=>Array.isArray(e)?e.filter(Boolean):[],"compact"),Fn=i(e=>e===void 0,"isUndefined"),tt=i((e,t,n)=>{if(!t||!cr(e))return n;const r=pg(t.split(/[,[\].]+?/)).reduce((a,o)=>Ur(a)?a:a[o],e);return Fn(r)||r===e?Fn(e[t])?n:e[t]:r},"get");const vb={BLUR:"blur",FOCUS_OUT:"focusout",CHANGE:"change"},To={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},Hi={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"},n7=At.createContext(null),Vf=i(()=>At.useContext(n7),"useFormContext"),Z$=i(e=>{const{children:t,...n}=e;return At.createElement(n7.Provider,{value:n},t)},"FormProvider");var r7=i((e,t,n,r=!0)=>{const a={defaultValues:t._defaultValues};for(const o in e)Object.defineProperty(a,o,{get:()=>{const s=o;return t._proxyFormState[s]!==To.all&&(t._proxyFormState[s]=!r||To.all),n&&(n[s]=!0),e[s]}});return a},"getProxyFormState"),Ya=i(e=>cr(e)&&!Object.keys(e).length,"isEmptyObject$1"),a7=i((e,t,n,r)=>{n(e);const{name:a,...o}=e;return Ya(o)||Object.keys(o).length>=Object.keys(t).length||Object.keys(o).find(s=>t[s]===(!r||To.all))},"shouldRenderFormState"),ty=i(e=>Array.isArray(e)?e:[e],"convertToArrayPayload"),o7=i((e,t,n)=>n&&t?e===t:!e||!t||e===t||ty(e).some(r=>r&&(r.startsWith(t)||t.startsWith(r))),"shouldSubscribeByName");function eE(e){const t=At.useRef(e);t.current=e,At.useEffect(()=>{const n=!e.disabled&&t.current.subject&&t.current.subject.subscribe({next:t.current.next});return()=>{n&&n.unsubscribe()}},[e.disabled])}i(eE,"useSubscribe");function jx(e){const t=Vf(),{control:n=t.control,disabled:r,name:a,exact:o}=e||{},[s,c]=At.useState(n._formState),l=At.useRef(!0),u=At.useRef({isDirty:!1,isLoading:!1,dirtyFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1}),d=At.useRef(a);return d.current=a,eE({disabled:r,next:f=>l.current&&o7(d.current,f.name,o)&&a7(f,u.current,n._updateFormState)&&c({...n._formState,...f}),subject:n._subjects.state}),At.useEffect(()=>(l.current=!0,u.current.isValid&&n._updateValid(!0),()=>{l.current=!1}),[n]),r7(s,n,u.current,!1)}i(jx,"useFormState");var hi=i(e=>typeof e=="string","isString$4"),i7=i((e,t,n,r,a)=>hi(e)?(r&&t.watch.add(e),tt(n,e,a)):Array.isArray(e)?e.map(o=>(r&&t.watch.add(o),tt(n,o))):(r&&(t.watchAll=!0),n),"generateWatchOutput");function s7(e){const t=Vf(),{control:n=t.control,name:r,defaultValue:a,disabled:o,exact:s}=e||{},c=At.useRef(r);c.current=r,eE({disabled:o,subject:n._subjects.values,next:d=>{o7(c.current,d.name,s)&&u(Qi(i7(c.current,n._names,d.values||n._formValues,!1,a)))}});const[l,u]=At.useState(n._getWatch(r,a));return At.useEffect(()=>n._removeUnmounted()),l}i(s7,"useWatch");var tE=i(e=>/^\w*$/.test(e),"isKey"),c7=i(e=>pg(e.replace(/["|']|\]/g,"").split(/\.|\[/)),"stringToPath$1");function pn(e,t,n){let r=-1;const a=tE(t)?[t]:c7(t),o=a.length,s=o-1;for(;++r{const u=r._options.shouldUnregister||a,d=i((f,m)=>{const g=tt(r._fields,f);g&&(g._f.mount=m)},"updateMounted");if(d(n,!0),u){const f=Qi(tt(r._options.defaultValues,n));pn(r._defaultValues,n,f),Fn(tt(r._formValues,n))&&pn(r._formValues,n,f)}return()=>{(o?u&&!r._state.action:u)?r.unregister(n):d(n,!1)}},[n,r,o,a]),{field:{name:n,value:s,onChange:At.useCallback(u=>l.current.onChange({target:{value:e7(u),name:n},type:vb.CHANGE}),[n]),onBlur:At.useCallback(()=>l.current.onBlur({target:{value:tt(r._formValues,n),name:n},type:vb.BLUR}),[n,r]),ref:u=>{const d=tt(r._fields,n);d&&u&&(d._f.ref={focus:()=>u.focus(),select:()=>u.select(),setCustomValidity:f=>u.setCustomValidity(f),reportValidity:()=>u.reportValidity()})}},formState:c,fieldState:Object.defineProperties({},{invalid:{enumerable:!0,get:()=>!!tt(c.errors,n)},isDirty:{enumerable:!0,get:()=>!!tt(c.dirtyFields,n)},isTouched:{enumerable:!0,get:()=>!!tt(c.touchedFields,n)},error:{enumerable:!0,get:()=>tt(c.errors,n)}})}}i(fve,"useController");var pve=i((e,t,n,r,a)=>t?{...n[e],types:{...n[e]&&n[e].types?n[e].types:{},[r]:a||!0}}:{},"appendErrors");const Xj=i((e,t,n)=>{for(const r of n||Object.keys(e)){const a=tt(e,r);if(a){const{_f:o,...s}=a;if(o&&t(o.name)){if(o.ref.focus){o.ref.focus();break}else if(o.refs&&o.refs[0].focus){o.refs[0].focus();break}}else cr(s)&&Xj(s,t)}}},"focusFieldBy");var E4=i(e=>({isOnSubmit:!e||e===To.onSubmit,isOnBlur:e===To.onBlur,isOnChange:e===To.onChange,isOnAll:e===To.all,isOnTouch:e===To.onTouched}),"getValidationModes"),R4=i((e,t,n)=>!n&&(t.watchAll||t.watch.has(e)||[...t.watch].some(r=>e.startsWith(r)&&/^\.\w+/.test(e.slice(r.length)))),"isWatched"),mve=i((e,t,n)=>{const r=pg(tt(e,n));return pn(r,"root",t[n]),pn(e,n,r),e},"updateFieldArrayRootError"),nd=i(e=>typeof e=="boolean","isBoolean$1"),nE=i(e=>e.type==="file","isFileInput"),Qs=i(e=>typeof e=="function","isFunction$2"),yb=i(e=>{if(!X$)return!1;const t=e?e.ownerDocument:0;return e instanceof(t&&t.defaultView?t.defaultView.HTMLElement:HTMLElement)},"isHTMLElement$2"),ny=i(e=>hi(e),"isMessage"),rE=i(e=>e.type==="radio","isRadioInput"),bb=i(e=>e instanceof RegExp,"isRegex");const A4={value:!1,isValid:!1},P4={value:!0,isValid:!0};var l7=i(e=>{if(Array.isArray(e)){if(e.length>1){const t=e.filter(n=>n&&n.checked&&!n.disabled).map(n=>n.value);return{value:t,isValid:!!t.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!Fn(e[0].attributes.value)?Fn(e[0].value)||e[0].value===""?P4:{value:e[0].value,isValid:!0}:P4:A4}return A4},"getCheckboxValue");const T4={isValid:!1,value:null};var u7=i(e=>Array.isArray(e)?e.reduce((t,n)=>n&&n.checked&&!n.disabled?{isValid:!0,value:n.value}:t,T4):T4,"getRadioValue");function M4(e,t,n="validate"){if(ny(e)||Array.isArray(e)&&e.every(ny)||nd(e)&&!e)return{type:n,message:ny(e)?e:"",ref:t}}i(M4,"getValidateError");var iu=i(e=>cr(e)&&!bb(e)?e:{value:e,message:""},"getValueAndMessage"),O4=i(async(e,t,n,r,a)=>{const{ref:o,refs:s,required:c,maxLength:l,minLength:u,min:d,max:f,pattern:m,validate:g,name:h,valueAsNumber:y,mount:b,disabled:x}=e._f,w=tt(t,h);if(!b||x)return{};const C=s?s[0]:o,j=i(T=>{r&&C.reportValidity&&(C.setCustomValidity(nd(T)?"":T||""),C.reportValidity())},"setCustomValidity"),_={},S=rE(o),k=fg(o),$=S||k,E=(y||nE(o))&&Fn(o.value)&&Fn(w)||yb(o)&&o.value===""||w===""||Array.isArray(w)&&!w.length,P=pve.bind(null,h,n,_),R=i((T,M,I,z=Hi.maxLength,H=Hi.minLength)=>{const F=T?M:I;_[h]={type:T?z:H,message:F,ref:o,...P(T?z:H,F)}},"getMinMaxMessage");if(a?!Array.isArray(w)||!w.length:c&&(!$&&(E||Ur(w))||nd(w)&&!w||k&&!l7(s).isValid||S&&!u7(s).isValid)){const{value:T,message:M}=ny(c)?{value:!!c,message:c}:iu(c);if(T&&(_[h]={type:Hi.required,message:M,ref:C,...P(Hi.required,M)},!n))return j(M),_}if(!E&&(!Ur(d)||!Ur(f))){let T,M;const I=iu(f),z=iu(d);if(!Ur(w)&&!isNaN(w)){const H=o.valueAsNumber||w&&+w;Ur(I.value)||(T=H>I.value),Ur(z.value)||(M=Hnew Date(new Date().toDateString()+" "+K),"convertTimeToDate"),L=o.type=="time",B=o.type=="week";hi(I.value)&&w&&(T=L?F(w)>F(I.value):B?w>I.value:H>new Date(I.value)),hi(z.value)&&w&&(M=L?F(w)+T.value,z=!Ur(M.value)&&w.length<+M.value;if((I||z)&&(R(I,T.message,M.message),!n))return j(_[h].message),_}if(m&&!E&&hi(w)){const{value:T,message:M}=iu(m);if(bb(T)&&!w.match(T)&&(_[h]={type:Hi.pattern,message:M,ref:o,...P(Hi.pattern,M)},!n))return j(M),_}if(g){if(Qs(g)){const T=await g(w,t),M=M4(T,C);if(M&&(_[h]={...M,...P(Hi.validate,M.message)},!n))return j(M.message),_}else if(cr(g)){let T={};for(const M in g){if(!Ya(T)&&!n)break;const I=M4(await g[M](w,t),C,M);I&&(T={...I,...P(M,I.message)},j(I.message),n&&(_[h]=T))}if(!Ya(T)&&(_[h]={ref:C,...T},!n))return _}}return j(!0),_},"validateField");function hve(e,t){const n=t.slice(0,-1).length;let r=0;for(;r{for(const o of e)o.next&&o.next(a)},"next"),subscribe:i(a=>(e.push(a),{unsubscribe:()=>{e=e.filter(o=>o!==a)}}),"subscribe"),unsubscribe:i(()=>{e=[]},"unsubscribe")}}i(w2,"createSubject");var xb=i(e=>Ur(e)||!Z9(e),"isPrimitive$2");function Jc(e,t){if(xb(e)||xb(t))return e===t;if(Hu(e)&&Hu(t))return e.getTime()===t.getTime();const n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(const a of n){const o=e[a];if(!r.includes(a))return!1;if(a!=="ref"){const s=t[a];if(Hu(o)&&Hu(s)||cr(o)&&cr(s)||Array.isArray(o)&&Array.isArray(s)?!Jc(o,s):o!==s)return!1}}return!0}i(Jc,"deepEqual");var d7=i(e=>e.type==="select-multiple","isMultipleSelect"),vve=i(e=>rE(e)||fg(e),"isRadioOrCheckbox"),C2=i(e=>yb(e)&&e.isConnected,"live"),f7=i(e=>{for(const t in e)if(Qs(e[t]))return!0;return!1},"objectHasFunction");function wb(e,t={}){const n=Array.isArray(e);if(cr(e)||n)for(const r in e)Array.isArray(e[r])||cr(e[r])&&!f7(e[r])?(t[r]=Array.isArray(e[r])?[]:{},wb(e[r],t[r])):Ur(e[r])||(t[r]=!0);return t}i(wb,"markFieldsDirty");function p7(e,t,n){const r=Array.isArray(e);if(cr(e)||r)for(const a in e)Array.isArray(e[a])||cr(e[a])&&!f7(e[a])?Fn(t)||xb(n[a])?n[a]=Array.isArray(e[a])?wb(e[a],[]):{...wb(e[a])}:p7(e[a],Ur(t)?{}:t[a],n[a]):n[a]=!Jc(e[a],t[a]);return n}i(p7,"getDirtyFieldsFromDefaultValues");var S2=i((e,t)=>p7(e,t,wb(t)),"getDirtyFields"),m7=i((e,{valueAsNumber:t,valueAsDate:n,setValueAs:r})=>Fn(e)?e:t?e===""?NaN:e&&+e:n&&hi(e)?new Date(e):r?r(e):e,"getFieldValueAs");function j2(e){const t=e.ref;if(!(e.refs?e.refs.every(n=>n.disabled):t.disabled))return nE(t)?t.files:rE(t)?u7(e.refs).value:d7(t)?[...t.selectedOptions].map(({value:n})=>n):fg(t)?l7(e.refs).value:m7(Fn(t.value)?e.ref.value:t.value,e)}i(j2,"getFieldValue");var yve=i((e,t,n,r)=>{const a={};for(const o of e){const s=tt(t,o);s&&pn(a,o,s._f)}return{criteriaMode:n,names:[...e],fields:a,shouldUseNativeValidation:r}},"getResolverOptions"),Sp=i(e=>Fn(e)?e:bb(e)?e.source:cr(e)?bb(e.value)?e.value.source:e.value:e,"getRuleValue"),bve=i(e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate),"hasValidation");function z4(e,t,n){const r=tt(e,n);if(r||tE(n))return{error:r,name:n};const a=n.split(".");for(;a.length;){const o=a.join("."),s=tt(t,o),c=tt(e,o);if(s&&!Array.isArray(s)&&n!==o)return{name:n};if(c&&c.type)return{name:o,error:c};a.pop()}return{name:n}}i(z4,"schemaErrorLookup");var xve=i((e,t,n,r,a)=>a.isOnAll?!1:!n&&a.isOnTouch?!(t||e):(n?r.isOnBlur:a.isOnBlur)?!e:(n?r.isOnChange:a.isOnChange)?e:!0,"skipValidation"),wve=i((e,t)=>!pg(tt(e,t)).length&&Cr(e,t),"unsetEmptyArray");const Cve={mode:To.onSubmit,reValidateMode:To.onChange,shouldFocusError:!0};function Sve(e={},t){let n={...Cve,...e},r={submitCount:0,isDirty:!1,isLoading:Qs(n.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},errors:{}},a={},o=cr(n.defaultValues)||cr(n.values)?Qi(n.defaultValues||n.values)||{}:{},s=n.shouldUnregister?{}:Qi(o),c={action:!1,mount:!1,watch:!1},l={mount:new Set,unMount:new Set,array:new Set,watch:new Set},u,d=0;const f={isDirty:!1,dirtyFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},m={values:w2(),array:w2(),state:w2()},g=e.resetOptions&&e.resetOptions.keepDirtyValues,h=E4(n.mode),y=E4(n.reValidateMode),b=n.criteriaMode===To.all,x=i(N=>Q=>{clearTimeout(d),d=setTimeout(N,Q)},"debounce"),w=i(async N=>{if(f.isValid||N){const Q=n.resolver?Ya((await E()).errors):await R(a,!0);Q!==r.isValid&&m.state.next({isValid:Q})}},"_updateValid"),C=i(N=>f.isValidating&&m.state.next({isValidating:N}),"_updateIsValidating"),j=i((N,Q=[],X,we,fe=!0,pe=!0)=>{if(we&&X){if(c.action=!0,pe&&Array.isArray(tt(a,N))){const xe=X(tt(a,N),we.argA,we.argB);fe&&pn(a,N,xe)}if(pe&&Array.isArray(tt(r.errors,N))){const xe=X(tt(r.errors,N),we.argA,we.argB);fe&&pn(r.errors,N,xe),wve(r.errors,N)}if(f.touchedFields&&pe&&Array.isArray(tt(r.touchedFields,N))){const xe=X(tt(r.touchedFields,N),we.argA,we.argB);fe&&pn(r.touchedFields,N,xe)}f.dirtyFields&&(r.dirtyFields=S2(o,s)),m.state.next({name:N,isDirty:M(N,Q),dirtyFields:r.dirtyFields,errors:r.errors,isValid:r.isValid})}else pn(s,N,Q)},"_updateFieldArray"),_=i((N,Q)=>{pn(r.errors,N,Q),m.state.next({errors:r.errors})},"updateErrors"),S=i((N,Q,X,we)=>{const fe=tt(a,N);if(fe){const pe=tt(s,N,Fn(X)?tt(o,N):X);Fn(pe)||we&&we.defaultChecked||Q?pn(s,N,Q?pe:j2(fe._f)):H(N,pe),c.mount&&w()}},"updateValidAndValue"),k=i((N,Q,X,we,fe)=>{let pe=!1,xe=!1;const Re={name:N};if(!X||we){f.isDirty&&(xe=r.isDirty,r.isDirty=Re.isDirty=M(),pe=xe!==Re.isDirty);const Me=Jc(tt(o,N),Q);xe=tt(r.dirtyFields,N),Me?Cr(r.dirtyFields,N):pn(r.dirtyFields,N,!0),Re.dirtyFields=r.dirtyFields,pe=pe||f.dirtyFields&&xe!==!Me}if(X){const Me=tt(r.touchedFields,N);Me||(pn(r.touchedFields,N,X),Re.touchedFields=r.touchedFields,pe=pe||f.touchedFields&&Me!==X)}return pe&&fe&&m.state.next(Re),pe?Re:{}},"updateTouchAndDirty"),$=i((N,Q,X,we)=>{const fe=tt(r.errors,N),pe=f.isValid&&nd(Q)&&r.isValid!==Q;if(e.delayError&&X?(u=x(()=>_(N,X)),u(e.delayError)):(clearTimeout(d),u=null,X?pn(r.errors,N,X):Cr(r.errors,N)),(X?!Jc(fe,X):fe)||!Ya(we)||pe){const xe={...we,...pe&&nd(Q)?{isValid:Q}:{},errors:r.errors,name:N};r={...r,...xe},m.state.next(xe)}C(!1)},"shouldRenderByError"),E=i(async N=>n.resolver(s,n.context,yve(N||l.mount,a,n.criteriaMode,n.shouldUseNativeValidation)),"_executeSchema"),P=i(async N=>{const{errors:Q}=await E();if(N)for(const X of N){const we=tt(Q,X);we?pn(r.errors,X,we):Cr(r.errors,X)}else r.errors=Q;return Q},"executeSchemaAndUpdateState"),R=i(async(N,Q,X={valid:!0})=>{for(const we in N){const fe=N[we];if(fe){const{_f:pe,...xe}=fe;if(pe){const Re=l.array.has(pe.name),Me=await O4(fe,s,b,n.shouldUseNativeValidation&&!Q,Re);if(Me[pe.name]&&(X.valid=!1,Q))break;!Q&&(tt(Me,pe.name)?Re?mve(r.errors,Me,pe.name):pn(r.errors,pe.name,Me[pe.name]):Cr(r.errors,pe.name))}xe&&await R(xe,Q,X)}}return X.valid},"executeBuiltInValidation"),T=i(()=>{for(const N of l.unMount){const Q=tt(a,N);Q&&(Q._f.refs?Q._f.refs.every(X=>!C2(X)):!C2(Q._f.ref))&&q(N)}l.unMount=new Set},"_removeUnmounted"),M=i((N,Q)=>(N&&Q&&pn(s,N,Q),!Jc(se(),o)),"_getDirty"),I=i((N,Q,X)=>i7(N,l,{...c.mount?s:Fn(Q)?o:hi(N)?{[N]:Q}:Q},X,Q),"_getWatch"),z=i(N=>pg(tt(c.mount?s:o,N,e.shouldUnregister?tt(o,N,[]):[])),"_getFieldArray"),H=i((N,Q,X={})=>{const we=tt(a,N);let fe=Q;if(we){const pe=we._f;pe&&(!pe.disabled&&pn(s,N,m7(Q,pe)),fe=yb(pe.ref)&&Ur(Q)?"":Q,d7(pe.ref)?[...pe.ref.options].forEach(xe=>xe.selected=fe.includes(xe.value)):pe.refs?fg(pe.ref)?pe.refs.length>1?pe.refs.forEach(xe=>(!xe.defaultChecked||!xe.disabled)&&(xe.checked=Array.isArray(fe)?!!fe.find(Re=>Re===xe.value):fe===xe.value)):pe.refs[0]&&(pe.refs[0].checked=!!fe):pe.refs.forEach(xe=>xe.checked=xe.value===fe):nE(pe.ref)?pe.ref.value="":(pe.ref.value=fe,pe.ref.type||m.values.next({name:N,values:{...s}})))}(X.shouldDirty||X.shouldTouch)&&k(N,fe,X.shouldTouch,X.shouldDirty,!0),X.shouldValidate&&K(N)},"setFieldValue"),F=i((N,Q,X)=>{for(const we in Q){const fe=Q[we],pe=`${N}.${we}`,xe=tt(a,pe);(l.array.has(N)||!xb(fe)||xe&&!xe._f)&&!Hu(fe)?F(pe,fe,X):H(pe,fe,X)}},"setValues"),L=i((N,Q,X={})=>{const we=tt(a,N),fe=l.array.has(N),pe=Qi(Q);pn(s,N,pe),fe?(m.array.next({name:N,values:{...s}}),(f.isDirty||f.dirtyFields)&&X.shouldDirty&&m.state.next({name:N,dirtyFields:S2(o,s),isDirty:M(N,pe)})):we&&!we._f&&!Ur(pe)?F(N,pe,X):H(N,pe,X),R4(N,l)&&m.state.next({...r}),m.values.next({name:N,values:{...s}}),!c.mount&&t()},"setValue"),B=i(async N=>{const Q=N.target;let X=Q.name,we=!0;const fe=tt(a,X),pe=i(()=>Q.type?j2(fe._f):e7(N),"getCurrentFieldValue");if(fe){let xe,Re;const Me=pe(),Je=N.type===vb.BLUR||N.type===vb.FOCUS_OUT,pt=!bve(fe._f)&&!n.resolver&&!tt(r.errors,X)&&!fe._f.deps||xve(Je,tt(r.touchedFields,X),r.isSubmitted,y,h),it=R4(X,l,Je);pn(s,X,Me),Je?(fe._f.onBlur&&fe._f.onBlur(N),u&&u(0)):fe._f.onChange&&fe._f.onChange(N);const De=k(X,Me,Je,!1),Se=!Ya(De)||it;if(!Je&&m.values.next({name:X,type:N.type,values:{...s}}),pt)return f.isValid&&w(),Se&&m.state.next({name:X,...it?{}:De});if(!Je&&it&&m.state.next({...r}),C(!0),n.resolver){const{errors:We}=await E([X]),yt=z4(r.errors,a,X),jt=z4(We,a,yt.name||X);xe=jt.error,X=jt.name,Re=Ya(We)}else xe=(await O4(fe,s,b,n.shouldUseNativeValidation))[X],we=isNaN(Me)||Me===tt(s,X,Me),we&&(xe?Re=!1:f.isValid&&(Re=await R(a,!0)));we&&(fe._f.deps&&K(fe._f.deps),$(X,Re,xe,De))}},"onChange"),K=i(async(N,Q={})=>{let X,we;const fe=ty(N);if(C(!0),n.resolver){const pe=await P(Fn(N)?N:fe);X=Ya(pe),we=N?!fe.some(xe=>tt(pe,xe)):X}else N?(we=(await Promise.all(fe.map(async pe=>{const xe=tt(a,pe);return await R(xe&&xe._f?{[pe]:xe}:xe)}))).every(Boolean),!(!we&&!r.isValid)&&w()):we=X=await R(a);return m.state.next({...!hi(N)||f.isValid&&X!==r.isValid?{}:{name:N},...n.resolver||!N?{isValid:X}:{},errors:r.errors,isValidating:!1}),Q.shouldFocus&&!we&&Xj(a,pe=>pe&&tt(r.errors,pe),N?fe:l.mount),we},"trigger"),se=i(N=>{const Q={...o,...c.mount?s:{}};return Fn(N)?Q:hi(N)?tt(Q,N):N.map(X=>tt(Q,X))},"getValues"),ue=i((N,Q)=>({invalid:!!tt((Q||r).errors,N),isDirty:!!tt((Q||r).dirtyFields,N),isTouched:!!tt((Q||r).touchedFields,N),error:tt((Q||r).errors,N)}),"getFieldState"),_e=i(N=>{N&&ty(N).forEach(Q=>Cr(r.errors,Q)),m.state.next({errors:N?r.errors:{}})},"clearErrors"),le=i((N,Q,X)=>{const we=(tt(a,N,{_f:{}})._f||{}).ref;pn(r.errors,N,{...Q,ref:we}),m.state.next({name:N,errors:r.errors,isValid:!1}),X&&X.shouldFocus&&we&&we.focus&&we.focus()},"setError"),V=i((N,Q)=>Qs(N)?m.values.subscribe({next:X=>N(I(void 0,Q),X)}):I(N,Q,!0),"watch"),q=i((N,Q={})=>{for(const X of N?ty(N):l.mount)l.mount.delete(X),l.array.delete(X),Q.keepValue||(Cr(a,X),Cr(s,X)),!Q.keepError&&Cr(r.errors,X),!Q.keepDirty&&Cr(r.dirtyFields,X),!Q.keepTouched&&Cr(r.touchedFields,X),!n.shouldUnregister&&!Q.keepDefaultValue&&Cr(o,X);m.values.next({values:{...s}}),m.state.next({...r,...Q.keepDirty?{isDirty:M()}:{}}),!Q.keepIsValid&&w()},"unregister"),Y=i((N,Q={})=>{let X=tt(a,N);const we=nd(Q.disabled);return pn(a,N,{...X||{},_f:{...X&&X._f?X._f:{ref:{name:N}},name:N,mount:!0,...Q}}),l.mount.add(N),X?we&&pn(s,N,Q.disabled?void 0:tt(s,N,j2(X._f))):S(N,!0,Q.value),{...we?{disabled:Q.disabled}:{},...n.shouldUseNativeValidation?{required:!!Q.required,min:Sp(Q.min),max:Sp(Q.max),minLength:Sp(Q.minLength),maxLength:Sp(Q.maxLength),pattern:Sp(Q.pattern)}:{},name:N,onChange:B,onBlur:B,ref:fe=>{if(fe){Y(N,Q),X=tt(a,N);const pe=Fn(fe.value)&&fe.querySelectorAll&&fe.querySelectorAll("input,select,textarea")[0]||fe,xe=vve(pe),Re=X._f.refs||[];if(xe?Re.find(Me=>Me===pe):pe===X._f.ref)return;pn(a,N,{_f:{...X._f,...xe?{refs:[...Re.filter(C2),pe,...Array.isArray(tt(o,N))?[{}]:[]],ref:{type:pe.type,name:N}}:{ref:pe}}}),S(N,!1,void 0,pe)}else X=tt(a,N,{}),X._f&&(X._f.mount=!1),(n.shouldUnregister||Q.shouldUnregister)&&!(t7(l.array,N)&&c.action)&&l.unMount.add(N)}}},"register"),O=i(()=>n.shouldFocusError&&Xj(a,N=>N&&tt(r.errors,N),l.mount),"_focusError"),D=i((N,Q)=>async X=>{X&&(X.preventDefault&&X.preventDefault(),X.persist&&X.persist());let we=Qi(s);if(m.state.next({isSubmitting:!0}),n.resolver){const{errors:fe,values:pe}=await E();r.errors=fe,we=pe}else await R(a);Cr(r.errors,"root"),Ya(r.errors)?(m.state.next({errors:{}}),await N(we,X)):(Q&&await Q({...r.errors},X),O(),setTimeout(O)),m.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:Ya(r.errors),submitCount:r.submitCount+1,errors:r.errors})},"handleSubmit"),Z=i((N,Q={})=>{tt(a,N)&&(Fn(Q.defaultValue)?L(N,tt(o,N)):(L(N,Q.defaultValue),pn(o,N,Q.defaultValue)),Q.keepTouched||Cr(r.touchedFields,N),Q.keepDirty||(Cr(r.dirtyFields,N),r.isDirty=Q.defaultValue?M(N,tt(o,N)):M()),Q.keepError||(Cr(r.errors,N),f.isValid&&w()),m.state.next({...r}))},"resetField"),J=i((N,Q={})=>{const X=N||o,we=Qi(X),fe=N&&!Ya(N)?we:o;if(Q.keepDefaultValues||(o=X),!Q.keepValues){if(Q.keepDirtyValues||g)for(const pe of l.mount)tt(r.dirtyFields,pe)?pn(fe,pe,tt(s,pe)):L(pe,tt(fe,pe));else{if(X$&&Fn(N))for(const pe of l.mount){const xe=tt(a,pe);if(xe&&xe._f){const Re=Array.isArray(xe._f.refs)?xe._f.refs[0]:xe._f.ref;if(yb(Re)){const Me=Re.closest("form");if(Me){Me.reset();break}}}}a={}}s=e.shouldUnregister?Q.keepDefaultValues?Qi(o):{}:we,m.array.next({values:{...fe}}),m.values.next({values:{...fe}})}l={mount:new Set,unMount:new Set,array:new Set,watch:new Set,watchAll:!1,focus:""},!c.mount&&t(),c.mount=!f.isValid||!!Q.keepIsValid,c.watch=!!e.shouldUnregister,m.state.next({submitCount:Q.keepSubmitCount?r.submitCount:0,isDirty:Q.keepDirty?r.isDirty:!!(Q.keepDefaultValues&&!Jc(N,o)),isSubmitted:Q.keepIsSubmitted?r.isSubmitted:!1,dirtyFields:Q.keepDirtyValues?r.dirtyFields:Q.keepDefaultValues&&N?S2(o,N):{},touchedFields:Q.keepTouched?r.touchedFields:{},errors:Q.keepErrors?r.errors:{},isSubmitting:!1,isSubmitSuccessful:!1})},"_reset"),U=i((N,Q)=>J(Qs(N)?N(s):N,Q),"reset");return{control:{register:Y,unregister:q,getFieldState:ue,_executeSchema:E,_getWatch:I,_getDirty:M,_updateValid:w,_removeUnmounted:T,_updateFieldArray:j,_getFieldArray:z,_reset:J,_resetDefaultValues:i(()=>Qs(n.defaultValues)&&n.defaultValues().then(N=>{U(N,n.resetOptions),m.state.next({isLoading:!1})}),"_resetDefaultValues"),_updateFormState:i(N=>{r={...r,...N}},"_updateFormState"),_subjects:m,_proxyFormState:f,get _fields(){return a},get _formValues(){return s},get _state(){return c},set _state(N){c=N},get _defaultValues(){return o},get _names(){return l},set _names(N){l=N},get _formState(){return r},set _formState(N){r=N},get _options(){return n},set _options(N){n={...n,...N}}},trigger:K,register:Y,handleSubmit:D,watch:V,setValue:L,getValues:se,reset:U,resetField:Z,clearErrors:_e,unregister:q,setError:le,setFocus:i((N,Q={})=>{const X=tt(a,N),we=X&&X._f;if(we){const fe=we.refs?we.refs[0]:we.ref;fe.focus&&(fe.focus(),Q.shouldSelect&&fe.select())}},"setFocus"),getFieldState:ue}}i(Sve,"createFormControl");function aE(e={}){const t=At.useRef(),[n,r]=At.useState({isDirty:!1,isValidating:!1,isLoading:Qs(e.defaultValues),isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,submitCount:0,dirtyFields:{},touchedFields:{},errors:{},defaultValues:Qs(e.defaultValues)?void 0:e.defaultValues});t.current||(t.current={...Sve(e,()=>r(o=>({...o}))),formState:n});const a=t.current.control;return a._options=e,eE({subject:a._subjects.state,next:o=>{a7(o,a._proxyFormState,a._updateFormState,!0)&&r({...a._formState})}}),At.useEffect(()=>{e.values&&!Jc(e.values,a._defaultValues)?a._reset(e.values,a._options.resetOptions):a._resetDefaultValues()},[e.values,a]),At.useEffect(()=>{a._state.mount||(a._updateValid(),a._state.mount=!0),a._state.watch&&(a._state.watch=!1,a._subjects.state.next({...a._formState})),a._removeUnmounted()}),t.current.formState=r7(n,a),t.current}i(aE,"useForm");const jve=i(({resource:e,filter:t,sort:n=$ve,page:r=1,perPage:a=10,debounce:o=500})=>{const[s,c]=v.useState(Eve),l=v.useRef(),u=[e,JSON.stringify(s),JSON.stringify(t),JSON.stringify(n),r,a],d=v.useMemo(()=>_ve({params:s,filterDefaultValues:t,sort:n,page:r,perPage:a}),u),f=v.useCallback(_=>{if(l.current)l.current=gb(l.current,_);else{const S=gb(d,_);l.current=S,setTimeout(()=>{c(S),l.current=void 0},0)}},u),m=v.useCallback(_=>f({type:L$,payload:_}),u),g=v.useCallback(_=>f({type:hb,payload:_}),u),h=v.useCallback(_=>f({type:D$,payload:_}),u),y=d.filter||L4,b=d.displayedFilters||L4,x=v.useRef(cg((_,S=void 0)=>{f({type:Ym,payload:{filter:ki(_),displayedFilters:S}})},o));v.useEffect(()=>()=>{x.current.cancel()},[]);const w=v.useCallback((_,S=void 0,k=!1)=>{k?x.current(_,S):f({type:Ym,payload:{filter:ki(_),displayedFilters:S}})},u),C=v.useCallback(_=>{f({type:F$,payload:_})},u),j=v.useCallback((_,S)=>{f({type:N$,payload:{filterName:_,defaultValue:S}})},u);return[{filterValues:y,requestSignature:u,...d,displayedFilters:b},{changeParams:f,setPage:g,setPerPage:h,setSort:m,setFilters:w,hideFilter:C,showFilter:j}]},"useReferenceParams"),_ve=i(({params:e,filterDefaultValues:t,sort:n,page:r,perPage:a})=>{const o=kve(e)?{...e}:{filter:t||{}};return o.sort||(o.sort=n.field,o.order=n.order),o.page==null&&(o.page=r),o.perPage==null&&(o.perPage=a),o.page==null&&(o.page=1),{...o,page:I4(o.page,1),perPage:I4(o.perPage,10)}},"getQuery"),kve=i(e=>e&&e.filter&&(Object.keys(e.filter).length>0||e.order!=null||e.page!==1||e.perPage!=null||e.sort!=null),"hasCustomParams"),I4=i((e,t)=>{if(typeof e>"u")return t;const n=typeof e=="string"?parseInt(e,10):e;return isNaN(n)?t:n},"getNumberOrDefault"),L4={},$ve={field:"id",order:uc},Eve={},Rve=i(e=>{const{debounce:t,enableGetChoices:n,filter:r,page:a=1,perPage:o=25,sort:s,queryOptions:c={},reference:l,source:u}=e,{meta:d,...f}=c,[m,g]=jve({resource:l,page:a,perPage:o,sort:s,debounce:t,filter:r}),h=s7({name:u}),y=n?n(m.filterValues):!0,{data:b=[],total:x,pageInfo:w,isFetching:C,isLoading:j,isPending:_,error:S,refetch:k}=_i(l,{pagination:{page:m.page,perPage:m.perPage},sort:{field:m.sort,order:m.order},filter:{...m.filter,...r},meta:d},{enabled:y,placeholderData:se=>se,...f}),{referenceRecord:$,refetch:E,error:P,isLoading:R,isFetching:T,isPending:M}=W9({id:h,reference:l,options:{enabled:h!=null&&h!=="",meta:d,...f}}),I=h!=null&&h!==""&&M||_,[z,H]=v.useState(void 0);v.useEffect(()=>{H($)},[$]);let F,L;!z||b.find(se=>se.id===z.id)?(F=b,L=x):(F=[z,...b],L=x==null?void 0:x+1);const B=v.useCallback(()=>{k(),E()},[k,E]);return{sort:v.useMemo(()=>({field:m.sort,order:m.order}),[m.sort,m.order]),allChoices:F,availableChoices:b,selectedChoices:z?[z]:[],displayedFilters:m.displayedFilters,error:P||S,filter:m.filter,filterValues:m.filterValues,hideFilter:g.hideFilter,isFetching:T||C,isLoading:R||j,isPending:I,page:m.page,perPage:m.perPage,refetch:B,resource:l,setFilters:g.setFilters,setPage:g.setPage,setPerPage:g.setPerPage,setSort:g.setSort,showFilter:g.showFilter,source:u,total:L,hasNextPage:w?w.hasNextPage:x!=null?m.page*m.perPage1,isFromReference:!0}},"useReferenceInputController"),h7=v.createContext(void 0),D4="@@react-admin@@",Ave=i(e=>{const{error:t}=e;let n=t;const r=at();if(typeof t=="string"&&t.startsWith(D4)&&(n=JSON.parse(t.substring(D4.length))),n.message){const{message:a,args:o}=n;return p.jsx(p.Fragment,{children:r(a,{_:a,...o})})}return p.jsx(p.Fragment,{children:r(n,{_:n})})},"ValidationError"),Pve=Ave,Tve=i(e=>async t=>{const n=await e(t);if(!n||Cb(n))return{values:t,errors:{}};const r=Zj(n);return!r||Cb(r)?{values:t,errors:{}}:{values:{},errors:r}},"getSimpleValidationResolver"),Zj=i(e=>Object.keys(e).reduce((t,n)=>{if(Array.isArray(e[n])){let r=!1;const a=e[n].map(o=>(Cb(o)||(r=!0),Zj(o)));return r?{...t,[n]:a}:t}return Cb(e[n])?t:typeof e[n]=="object"&&!g7(e[n])?{...t,[n]:Zj(e[n])}:{...t,[n]:Mve(e[n])}},{}),"transformErrorFields"),Mve=i(e=>({type:"manual",message:g7(e)?e:{message:e}}),"addTypeAndMessage"),g7=i(e=>Object.keys(e).includes("message")&&Object.keys(e).includes("args"),"isRaTranslationObj"),Cb=i(e=>Object.getOwnPropertyNames(e).length===0,"isEmptyObject"),v7=v.createContext(void 0),Ove=i(({children:e,value:t})=>p.jsx(v7.Provider,{value:t,children:e}),"ChoicesContextProvider"),y7=i((e={})=>{const t=v.useContext(v7),{data:n,...r}=Cx({data:e.choices,isLoading:e.isLoading??!1,isPending:e.isPending??!1,isFetching:e.isFetching??!1,error:e.error,perPage:1/0});return v.useMemo(()=>e.choices||!t?{allChoices:n,availableChoices:e.availableChoices??n,selectedChoices:e.selectedChoices??n,displayedFilters:e.selectedChoices??r.displayedFilters,error:e.error,filter:e.filter??r.filter,filterValues:e.filterValues??r.filterValues,hasNextPage:e.hasNextPage??r.hasNextPage,hasPreviousPage:e.hasPreviousPage??r.hasPreviousPage,hideFilter:e.hideFilter??r.hideFilter,isLoading:r.isLoading??!1,isPending:r.isPending??!1,isFetching:r.isFetching??!1,page:e.page??r.page,perPage:e.perPage??r.perPage,refetch:e.refetch??r.refetch,resource:e.resource??r.resource,setFilters:e.setFilters??r.setFilters,setPage:e.setPage??r.setPage,setPerPage:e.setPerPage??r.setPerPage,setSort:e.setSort??r.setSort,showFilter:e.showFilter??r.showFilter,sort:e.sort??r.sort,source:e.source,total:e.total??r.total,isFromReference:!1}:t,[t,n,r,e])},"useChoicesContext"),b7=i(({children:e})=>{const t=v.useRef({}),n=v.useRef({}),r=v.useMemo(()=>({subscribe:(a,o)=>(n.current[a]||(n.current[a]=[]),n.current[a].push(o),()=>{n.current[a]=n.current[a].filter(s=>s!==o)}),getGroupFields:a=>t.current[a]||[],registerGroup:a=>{t.current[a]=t.current[a]||[]},unregisterGroup:a=>{delete t[a]},registerField:(a,o)=>{o!=null&&((t.current[o]||[]).includes(a)||(t.current[o]=[...t.current[o]||[],a],n.current[o]&&n.current[o].forEach(s=>s())))},unregisterField:(a,o)=>{if(o!=null)if(!t.current[o])console.warn(`Invalid form group ${o}`);else{const s=new Set(t.current[o]);s.delete(a),t.current[o]=Array.from(s),n.current[o]&&n.current[o].forEach(c=>c())}}}),[]);return p.jsx(h7.Provider,{value:r,children:e})},"FormGroupsProvider"),zve=i((e,t,n)=>{const r=at(),{isSubmitSuccessful:a,dirtyFields:o}=jx(n?{control:n}:void 0),s=Object.keys(o).length>0,[c,l]=v.useState(!1),u=!e||!s||a,d=Kte(({currentLocation:f,nextLocation:m})=>{if(u)return!1;const g=t||f.pathname,h=m.pathname.startsWith(g),y=m.pathname.startsWith(`${g}/show`);return!(h&&!y)});v.useEffect(()=>{if(d.state==="blocked"){if(u){d.proceed();return}l(!0)}},[d.state]),v.useEffect(()=>{c&&(window.confirm(r("ra.message.unsaved_changes"))?d.proceed&&d.proceed():d.reset&&d.reset()),l(!1)},[c,r]),v.useEffect(()=>{const f=i(m=>{m.preventDefault(),m.returnValue=!0},"beforeunload");if(!u)return window.addEventListener("beforeunload",f),()=>{window.removeEventListener("beforeunload",f)}},[u])},"useWarnWhenUnsavedChanges"),Ive=i(({enable:e=!0,formRootPathName:t,formControl:n})=>(zve(e,t,n),null),"WarnWhenUnsavedChanges");function Lve(e,t){return T$({},Dve(e,t),t)}i(Lve,"getFormInitialValues");function Dve(e,t){return typeof e=="object"?e:typeof e=="function"?e(t):{}}i(Dve,"getValues");const x7=i((e,t)=>{const n=i((r,a)=>{Object.entries(r).forEach(([o,s])=>{if(typeof s=="object"){n(s,`${a}${o}.`);return}t(`${a}${o}`,{type:"server",message:s.toString()})})},"setErrorFromObject");n(e,"")},"setSubmissionErrors"),Nve=i((e,t=!0)=>{const{submitCount:n,errors:r}=jx(e?{control:e}:void 0),a=v.useRef(n),o=Gn();v.useEffect(()=>{var s,c;if(n>a.current&&t&&(a.current=n,Object.keys(r).length>0)){const l=typeof((c=(s=r.root)==null?void 0:s.serverError)==null?void 0:c.message)=="string"?r.root.serverError.message:void 0;o(l||"ra.message.invalid_form",{type:"error"})}},[r,n,o,t])},"useNotifyIsFormInvalid"),Fve=i((e,t={})=>{const n={};return Object.keys(e).forEach(r=>{e[r]==null||e[r]===""?t.hasOwnProperty(r)&&(n[r]=null):n[r]=e[r]}),n},"sanitizeEmptyValues"),Bve=i(e=>{const{criteriaMode:t="firstError",defaultValues:n,formRootPathname:r,resolver:a,reValidateMode:o="onChange",onSubmit:s,sanitizeEmptyValues:c,validate:l,disableInvalidFormNotification:u,...d}=e,f=sn(e),m=B$(),g=v.useMemo(()=>Lve(n,f),[JSON.stringify({defaultValues:typeof n=="function"?"function":n,record:f})]),h=a||(l?Tve(l):void 0),y=aE({criteriaMode:t,values:g,reValidateMode:o,resolver:h,...d}),b=v.useRef(y);Nve(y.control,!u);const x=v.useCallback(async(C,j)=>{let _;const S=c?Fve(C,f):C;s&&(_=await s(S,j)),s==null&&(m!=null&&m.save)&&(_=await m.save(S,j)),_!=null&&x7(_,b.current.setError)},[s,m,c,f]),w=v.useCallback(C=>{C.defaultPrevented||(C.stopPropagation(),y.handleSubmit(x)(C))},[y,x]);return{form:y,handleSubmit:x,formHandleSubmit:w}},"useAugmentedForm");function Gf(e){const{children:t,id:n,className:r,noValidate:a=!1,formRootPathname:o,warnWhenUnsavedChanges:s,WarnWhenUnsavedChangesComponent:c=Ive}=e,l=sn(e),u=Lt(e),{form:d,formHandleSubmit:f}=Bve(e),m=v.useMemo(()=>({getSource:y=>y,getLabel:y=>`resources.${u}.fields.${y}`}),[u]),g=v.useContext(ng),h=v.useContext(l$);return p.jsx(Gme,{value:l,children:p.jsx(z7,{value:m,children:p.jsx(Z$,{...d,children:p.jsxs(b7,{children:[p.jsx("form",{onSubmit:f,noValidate:a,id:n,className:r,children:t}),s&&g&&h&&p.jsx(c,{enable:!0,formRootPathName:o,formControl:d.control})]})})})})}i(Gf,"Form");const Wve=/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,$c=i(e=>typeof e>"u"||e===null||e===""||Array.isArray(e)&&e.length===0,"isEmpty$5");function Uve(e){return e?e.hasOwnProperty("message"):!1}i(Uve,"isValidationErrorMessageWithArgs");const Ec=i((e,t,n,r)=>typeof e=="function"?e({args:t,value:n,values:r}):t?{message:e,args:t}:e,"getMessage"),Rc=i(e=>wF(e,(...t)=>JSON.stringify(t)),"memoize$2"),Hve=i(e=>typeof e=="function","isFunction$1"),qve=i((e,t)=>(n,r,a)=>{const o=e(n,r,a);return o?typeof o=="string"||Uve(o)?o:o.then(s=>s||t(n,r,a)):t(n,r,a)},"combine2Validators"),Vve=i((...e)=>(Array.isArray(e[0])?e[0]:e).filter(Hve).reduce(qve,()=>null),"composeValidators"),cs=Rc((e="ra.validation.required")=>Object.assign((t,n)=>$c(t)?Ec(e,void 0,t,n):void 0,{isRequired:!0}));Rc((e,t="ra.validation.minLength")=>(n,r)=>!$c(n)&&n.length(n,r)=>!$c(n)&&n.length>e?Ec(t,{max:e},n,r):void 0);Rc((e,t="ra.validation.minValue")=>(n,r)=>!$c(n)&&n(n,r)=>!$c(n)&&n>e?Ec(t,{max:e},n,r):void 0);Rc((e="ra.validation.number")=>(t,n)=>!$c(t)&&isNaN(Number(t))?Ec(e,void 0,t,n):void 0);const Gve=wF((e,t="ra.validation.regex")=>(n,r)=>!$c(n)&&typeof n=="string"&&!e.test(n)?Ec(t,{pattern:e},n,r):void 0,(e,t)=>e.toString()+t),Kve=Rc((e="ra.validation.email")=>Gve(Wve,e)),Jve=i(({args:e})=>({message:"ra.validation.oneOf",args:e}),"oneOfTypeMessage");Rc((e,t=Jve)=>(n,r)=>!$c(n)&&e.indexOf(n)===-1?Ec(t,{list:e},n,r):void 0);const Yve=v.createContext(null),Qve=i(()=>v.useContext(h7),"useFormGroups"),Xve=i(({inputProps:e,isArrayInput:t,fieldArrayInputControl:n})=>{const{defaultValue:r,source:a}=e,o=J7(a),s=sn(e),{getValues:c,resetField:l,getFieldState:u,formState:d,reset:f}=Vf(),m=Ct(s,o),g=Ct(c(),o),{isDirty:h}=u(o,d);v.useEffect(()=>{if(r==null||g!=null||m!=null||h)return;if(o.split(".").some(b=>Zve.test(b))){const b=o.split(".").slice(0,-1).join(".");if(Ct(c(),b)==null)return}if(t){if(!n)throw new Error("useApplyInputDefaultValues: No fieldArrayInputControl passed in props for array input usage");n.replace(r),f({},{keepValues:!0});return}l(o,{defaultValue:r})})},"useApplyInputDefaultValues"),Zve=/^\d+$/,oE=i(({optionText:e="name",optionValue:t="id",disableValue:n="disabled",translateChoice:r=!0})=>{const a=at(),o=v.useCallback(l=>{if(v.isValidElement(e))return p.jsx(Kr,{value:l,children:e});const u=typeof e=="function"?e(l):Ct(l,e);return v.isValidElement(u)?u:r?a(String(u),{_:u}):String(u)},[e,a,r]),s=v.useCallback(l=>Ct(l,t),[t]),c=v.useCallback(l=>Ct(l,n),[n]);return{getChoiceText:o,getChoiceValue:s,getDisableValue:c}},"useChoices"),eye=i(()=>v.useContext(Yve),"useFormGroupContext"),tye=i(e=>e&&e.isRequired?!0:Array.isArray(e)?e.some(t=>t.isRequired):!1,"isRequired"),nye=i(e=>e??"","defaultFormat"),rye=i(e=>e===""?null:e,"defaultParse"),mg=i(e=>{const{defaultValue:t,format:n=nye,id:r,isRequired:a,name:o,onBlur:s,onChange:c,parse:l=rye,source:u,validate:d,...f}=e,m=J7(u),g=o||m,h=eye(),y=Qve(),b=sn(),x=v.useId();!u&&e.label==null,v.useEffect(()=>{if(!(!y||h==null))return y.registerField(m,h),()=>{y.unregisterField(m,h)}},[y,h,m]);const w=Array.isArray(d)?Vve(d):d,{field:C,fieldState:j,formState:_}=fve({name:g,defaultValue:Ct(b,m,t),rules:{validate:async(E,P)=>{if(!w)return!0;const R=await w(E,P,e);return R?`@@react-admin@@${JSON.stringify(R)}`:!0}},...f,disabled:f.disabled||void 0});Xve({inputProps:e});const S=Ot((...E)=>{C.onBlur(),s&&s(...E)}),k=Ot((...E)=>{var R,T,M,I;const P=e.type==="checkbox"&&((T=(R=E[0])==null?void 0:R.target)==null?void 0:T.value)==="on"?E[0].target.checked:((I=(M=E[0])==null?void 0:M.target)==null?void 0:I.value)??E[0];C.onChange(l?l(P):P),c&&c(...E)}),$={...C,value:n?n(C.value):C.value,onBlur:S,onChange:k};return{id:r||x,field:$,fieldState:j,formState:_,isRequired:a||tye(d)}},"useInput"),aye=i(({allowCreate:e,choices:t,createText:n="ra.action.create",createValue:r="@@create",limitChoicesToValue:a,matchSuggestion:o,optionText:s,optionValue:c,selectedItem:l,suggestionLimit:u=0,translateChoice:d})=>{const f=at(),{getChoiceText:m,getChoiceValue:g}=oE({optionText:s,optionValue:c,translateChoice:d}),h=v.useCallback(sye({allowCreate:e,choices:t,createText:n,createValue:r,getChoiceText:m,getChoiceValue:g,limitChoicesToValue:a,matchSuggestion:o,optionText:s,optionValue:c,selectedItem:l,suggestionLimit:u}),[e,t,n,r,m,g,a,o,s,c,l,u,f]);return{getChoiceText:m,getChoiceValue:g,getSuggestions:h}},"useSuggestions"),oye=i(e=>e?e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"):"","escapeRegExp"),iye=i(e=>(t,n,r=!1)=>{const a=e(n),o=v.isValidElement(a),s=oye(t);return o?!1:a&&!!a.match(new RegExp(r?`^${s}$`:s,"i"))},"defaultMatchSuggestion"),sye=i(({allowCreate:e=!1,choices:t=[],createText:n="ra.action.create",createValue:r="@@create",optionText:a="name",optionValue:o="id",getChoiceText:s,getChoiceValue:c,limitChoicesToValue:l=!1,matchSuggestion:u=iye(s),selectedItem:d,suggestionLimit:f=0})=>m=>{let g=[];d&&!Array.isArray(d)&&u(m,d)?l?g=t.filter(b=>c(b)===c(d)):g=[...t]:g=t.filter(b=>u(m,b)||d!=null&&(Array.isArray(d)?d.some(x=>c(b)===c(x)):c(b)===c(d))),g=cye(g,f);const h=g.some(b=>u(m,b,!0));if(e){const b=d&&!Array.isArray(d)?u(m,d,!0):!1;!h&&!b&&g.push(lye({optionText:a,optionValue:o,text:n,value:r}))}return g.filter((b,x)=>g.indexOf(b)===x)},"getSuggestionsFactory"),cye=i((e,t=0)=>Number.isInteger(t)&&t>0?e.slice(0,t):e,"limitSuggestions"),lye=i(({optionText:e="name",optionValue:t="id",text:n="",value:r=null})=>{const a={};return $a(a,t,r),typeof e=="string"&&$a(a,e,n),a},"getSuggestion"),uye=i(e=>{const{children:t,reference:n,sort:r={field:"id",order:"DESC"},filter:a={}}=e,o=Rve({...e,sort:r,filter:a});return p.jsx(Uo,{value:n,children:p.jsx(Ove,{value:o,children:t})})},"ReferenceInputBase"),dye=i((e={})=>{const{disableAuthentication:t,id:n,queryOptions:r={}}=e;Yf({enabled:!t});const a=Lt(e);if(!a)throw new Error("useShowController requires a non-empty resource prop or context");const o=Vl(a),s=at(),c=Gn(),l=Hf(),u=lg(),{id:d}=sF();if(!d&&!n)throw new Error("useShowController requires an id prop or a route with an /:id? parameter.");const f=n??decodeURIComponent(d),{meta:m,...g}=r,{data:h,error:y,isLoading:b,isFetching:x,isPending:w,refetch:C}=b9(a,{id:f,meta:m},{onError:()=>{c("ra.notification.item_doesnt_exist",{type:"error"}),l("list",a),u()},retry:!1,...g});if(h&&h.id&&h.id!=f)throw new Error(`useShowController: Fetched record's id attribute (${h.id}) must match the requested 'id' (${f})`);const j=Kf(),_=o(h);return{defaultTitle:s("ra.page.show",{name:j(a,1),id:f,record:h,recordRepresentation:typeof _=="string"?_:""}),error:y,isLoading:b,isFetching:x,isPending:w,record:h,refetch:C,resource:a}},"useShowController"),iE=v.createContext(null);iE.displayName="ShowContext";const fye=i(({children:e,value:t})=>p.jsx(iE.Provider,{value:t,children:p.jsx(Kr,{value:t&&t.record,children:e})}),"ShowContextProvider"),w7=i(({children:e,...t})=>{const n=dye(t),r=p.jsx(fye,{value:n,children:e});return t.resource?p.jsx(Uo,{value:t.resource,children:r}):r},"ShowBase"),C7=i(()=>{const e=v.useContext(iE);if(!e)throw new Error("useShowContext must be used inside a ShowContextProvider");return e},"useShowContext"),_x=i((e,t={},n={})=>{const r=Di(),a=Fa(),o=v.useRef(t),s=v.useRef(!1),c=v.useRef(!1),l=v.useRef(!1),{mutateWithMiddlewares:u,...d}=n,f=X0({mutationFn:({resource:h=e,data:y=o.current.data,meta:b=o.current.meta}={})=>{if(!h)throw new Error("useCreate mutation requires a non-empty resource");if(!y)throw new Error("useCreate mutation requires a non-empty data object");return u?u(r.create.bind(r),h,{data:y,meta:b}).then(({data:x})=>x):r.create(h,{data:y,meta:b}).then(({data:x})=>x)},...d,onError:(h,y,b)=>{if(n.onError&&!s.current)return n.onError(h,y,b)},onSuccess:(h,y={},b)=>{const{resource:x=e}=y;a.setQueryData([x,"getOne",{id:String(h.id)}],h),a.invalidateQueries({queryKey:[x,"getList"]}),a.invalidateQueries({queryKey:[x,"getInfiniteList"]}),a.invalidateQueries({queryKey:[x,"getMany"]}),a.invalidateQueries({queryKey:[x,"getManyReference"]}),n.onSuccess&&!c.current&&n.onSuccess(h,y,b)},onSettled:(h,y,b,x)=>{if(n.onSettled&&!l.current)return n.onSettled(h,y,b,x)}}),m=i((h=e,y={},b={})=>{const{returnPromise:x=n.returnPromise,...w}=b;return s.current=!!w.onError,c.current=!!w.onSuccess,l.current=!!w.onSettled,x?f.mutateAsync({resource:h,...y},w):f.mutate({resource:h,...y},w)},"create"),g=v.useMemo(()=>({isLoading:f.isPending,...f}),[f]);return[Ot(m),g]},"useCreate"),hg=i((e,t={},n={})=>{const r=Di(),a=Fa(),{id:o,data:s,meta:c}=t,{mutationMode:l="pessimistic",mutateWithMiddlewares:u,...d}=n,f=v.useRef(l),m=v.useRef(t),g=v.useRef([]),h=v.useRef(),y=v.useRef(),b=v.useRef(!1),x=i(({resource:_,id:S,data:k})=>{const $=Date.now(),E=f.current==="undoable"?$+5*1e3:$,P=i(R=>{if(!R)return R;const T=R.findIndex(M=>M.id==S);return T===-1?R:[...R.slice(0,T),{...R[T],...k},...R.slice(T+1)]},"updateColl");a.setQueryData([_,"getOne",{id:String(S),meta:c}],R=>({...R,...k}),{updatedAt:E}),a.setQueriesData({queryKey:[_,"getList"]},R=>R&&R.data?{...R,data:P(R.data)}:R,{updatedAt:E}),a.setQueriesData({queryKey:[_,"getInfiniteList"]},R=>R&&R.pages?{...R,pages:R.pages.map(T=>({...T,data:P(T.data)}))}:R,{updatedAt:E}),a.setQueriesData({queryKey:[_,"getMany"]},R=>R&&R.length>0?P(R):R,{updatedAt:E}),a.setQueriesData({queryKey:[_,"getManyReference"]},R=>R&&R.data?{data:P(R.data),total:R.total}:R,{updatedAt:E})},"updateCache"),w=X0({mutationFn:({resource:_=e,id:S=m.current.id,data:k=m.current.data,meta:$=m.current.meta,previousData:E=m.current.previousData}={})=>{if(!_)throw new Error("useUpdate mutation requires a non-empty resource");if(!S)throw new Error("useUpdate mutation requires a non-empty id");if(!k)throw new Error("useUpdate mutation requires a non-empty data object");return u?u(r.update.bind(r),_,{id:S,data:k,previousData:E,meta:$}).then(({data:P})=>P):r.update(_,{id:S,data:k,previousData:E,meta:$}).then(({data:P})=>P)},...d,onMutate:async _=>{if(d.onMutate){const S=await d.onMutate(_)||{};return{snapshot:g.current,...S}}else return{snapshot:g.current}},onError:(_,S={},k)=>{if((f.current==="optimistic"||f.current==="undoable")&&k.snapshot.forEach(([$,E])=>{a.setQueryData($,E)}),h.current)return h.current(_,S,k);if(d.onError)return d.onError(_,S,k)},onSuccess:(_,S={},k)=>{if(f.current==="pessimistic"){const{resource:$=e,id:E=o}=S;x({resource:$,id:E,data:_}),d.onSuccess&&!b.current&&d.onSuccess(_,S,k)}},onSettled:(_,S,k={},$)=>{if((f.current==="optimistic"||f.current==="undoable")&&$.snapshot.forEach(([E])=>{a.invalidateQueries({queryKey:E})}),y.current)return y.current(_,S,k,$);if(d.onSettled)return d.onSettled(_,S,k,$)}}),C=i(async(_=e,S={},k={})=>{const{mutationMode:$,returnPromise:E=d.returnPromise,onError:P,onSettled:R,onSuccess:T,...M}=k;if(b.current=!!T,h.current=P,y.current=R,m.current=t,$&&(f.current=$),E&&f.current!=="pessimistic"&&console.warn("The returnPromise parameter can only be used if the mutationMode is set to pessimistic"),f.current==="pessimistic")return E?w.mutateAsync({resource:_,...S},{onSuccess:T,...M}):w.mutate({resource:_,...S},{onSuccess:T,...M});const{id:I=o,data:z=s,meta:H=c}=S,F=a.getQueryData([_,"getOne",{id:String(I),meta:H}]),L=[[_,"getOne",{id:String(I),meta:H}],[_,"getList"],[_,"getInfiniteList"],[_,"getMany"],[_,"getManyReference"]];if(g.current=L.reduce((B,K)=>B.concat(a.getQueriesData({queryKey:K})),[]),await Promise.all(g.current.map(([B])=>a.cancelQueries({queryKey:B}))),x({resource:_,id:I,data:z}),setTimeout(()=>{T?T({...F,...z},{resource:_,...S},{snapshot:g.current}):d.onSuccess&&!b.current&&d.onSuccess({...F,...z},{resource:_,...S},{snapshot:g.current})},0),f.current==="optimistic")return w.mutate({resource:_,...S});Jm.once("end",({isUndo:B})=>{B?g.current.forEach(([K,se])=>{a.setQueryData(K,se)}):w.mutate({resource:_,...S})})},"update"),j=v.useMemo(()=>({isLoading:w.isPending,...w}),[w]);return[Ot(C),j]},"useUpdate"),sE=i((e,t={},n={})=>{const r=Di(),a=Fa(),{id:o,previousData:s}=t,{mutationMode:c="pessimistic",...l}=n,u=v.useRef(c),d=v.useRef(t),f=v.useRef([]),m=v.useRef(!1),g=v.useRef(!1),h=v.useRef(!1),y=i(({resource:C,id:j})=>{const _=Date.now(),S=u.current==="undoable"?_+5*1e3:_,k=i($=>{if(!$)return $;const E=$.findIndex(P=>P.id==j);return E===-1?$:[...$.slice(0,E),...$.slice(E+1)]},"updateColl");a.setQueriesData({queryKey:[C,"getList"]},$=>{if(!$||!$.data)return $;const E=k($.data);return E.length<$.data.length?{data:E,total:$.total?$.total-1:void 0,pageInfo:$.pageInfo}:$},{updatedAt:S}),a.setQueriesData({queryKey:[C,"getInfiniteList"]},$=>!$||!$.pages?$:{...$,pages:$.pages.map(E=>{const P=k(E.data);return P.length$&&$.length>0?k($):$,{updatedAt:S}),a.setQueriesData({queryKey:[C,"getManyReference"]},$=>{if(!$||!$.data)return $;const E=k($.data);return E.length<$.data.length?{data:E,total:$.total-1}:$},{updatedAt:S})},"updateCache"),b=X0({mutationFn:({resource:C=e,id:j=d.current.id,previousData:_=d.current.previousData,meta:S=d.current.meta}={})=>{if(!C)throw new Error("useDelete mutation requires a non-empty resource");if(!j)throw new Error("useDelete mutation requires a non-empty id");return r.delete(C,{id:j,previousData:_,meta:S}).then(({data:k})=>k)},...l,onMutate:async C=>{if(l.onMutate){const j=await l.onMutate(C)||{};return{snapshot:f.current,...j}}else return{snapshot:f.current}},onError:(C,j={},_)=>{if((u.current==="optimistic"||u.current==="undoable")&&_.snapshot.forEach(([S,k])=>{a.setQueryData(S,k)}),l.onError&&!m.current)return l.onError(C,j,_)},onSuccess:(C,j={},_)=>{if(u.current==="pessimistic"){const{resource:S=e,id:k=o}=j;y({resource:S,id:k}),l.onSuccess&&!g.current&&l.onSuccess(C,j,_)}},onSettled:(C,j,_={},S)=>{if((u.current==="optimistic"||u.current==="undoable")&&S.snapshot.forEach(([k])=>{a.invalidateQueries({queryKey:k})}),l.onSettled&&!h.current)return l.onSettled(C,j,_,S)}}),x=i(async(C=e,j={},_={})=>{const{mutationMode:S,...k}=_;if(m.current=!!_.onError,g.current=!!_.onSuccess,h.current=!!_.onSettled,d.current=t,S&&(u.current=S),u.current==="pessimistic")return b.mutate({resource:C,...j},k);const{id:$=o,previousData:E=s}=j,P=[[C,"getList"],[C,"getInfiniteList"],[C,"getMany"],[C,"getManyReference"]];if(f.current=P.reduce((R,T)=>R.concat(a.getQueriesData({queryKey:T})),[]),await Promise.all(f.current.map(([R])=>a.cancelQueries({queryKey:R}))),y({resource:C,id:$}),setTimeout(()=>{_.onSuccess?_.onSuccess(E,{resource:C,...j},{snapshot:f.current}):l.onSuccess&&l.onSuccess(E,{resource:C,...j},{snapshot:f.current})},0),u.current==="optimistic")return b.mutate({resource:C,...j},{onSettled:_.onSettled,onError:_.onError});Jm.once("end",({isUndo:R})=>{R?f.current.forEach(([T,M])=>{a.setQueryData(T,M)}):b.mutate({resource:C,...j},{onSettled:_.onSettled,onError:_.onError})})},"mutate"),w=v.useMemo(()=>({isLoading:b.isPending,...b}),[b]);return[Ot(x),w]},"useDelete"),S7=i((e,t={},n={})=>{const r=Di(),a=Fa(),{ids:o}=t,{mutationMode:s="pessimistic",...c}=n,l=v.useRef(s),u=v.useRef({}),d=v.useRef([]),f=v.useRef(!1),m=v.useRef(!1),g=v.useRef(!1),h=i(({resource:w,ids:C})=>{const j=Date.now(),_=l.current==="undoable"?j+5*1e3:j,S=i(k=>{if(!k)return k;let $=[...k];return C.forEach(E=>{const P=$.findIndex(R=>R.id==E);P!==-1&&($=[...$.slice(0,P),...$.slice(P+1)])}),$},"updateColl");a.setQueriesData({queryKey:[w,"getList"]},k=>{if(!k||!k.data)return k;const $=S(k.data);return $.length!k||!k.pages?k:{...k,pages:k.pages.map($=>{const E=S($.data);return E.length<$.data.length?{...$,data:E,total:$.total?$.total-($.data.length-E.length):void 0,pageInfo:$.pageInfo}:$})},{updatedAt:_}),a.setQueriesData({queryKey:[w,"getMany"]},k=>k&&k.length>0?S(k):k,{updatedAt:_}),a.setQueriesData({queryKey:[w,"getManyReference"]},k=>{if(!k||!k.data)return k;const $=S(k.data);if(!($.length{if(!w)throw new Error("useDeleteMany mutation requires a non-empty resource");if(!C)throw new Error("useDeleteMany mutation requires an array of ids");return C.length===0?Promise.resolve([]):r.deleteMany(w,{ids:C,meta:j}).then(({data:_})=>_||[])},...c,onMutate:async w=>{if(c.onMutate){const C=await c.onMutate(w)||{};return{snapshot:d.current,...C}}else return{snapshot:d.current}},onError:(w,C={},j)=>{if((l.current==="optimistic"||l.current==="undoable")&&j.snapshot.forEach(([_,S])=>{a.setQueryData(_,S)}),c.onError&&!f.current)return c.onError(w,C,j)},onSuccess:(w,C={},j)=>{if(l.current==="pessimistic"){const{resource:_=e,ids:S=o}=C;h({resource:_,ids:S}),c.onSuccess&&!m.current&&c.onSuccess(w,C,j)}},onSettled:(w,C,j={},_)=>{if((l.current==="optimistic"||l.current==="undoable")&&_.snapshot.forEach(([S])=>{a.invalidateQueries({queryKey:S})}),c.onSettled&&!g.current)return c.onSettled(w,C,j,_)}}),b=i(async(w=e,C={},j={})=>{const{mutationMode:_,...S}=j;if(f.current=!!j.onError,m.current=!!j.onSuccess,g.current=!!j.onSettled,u.current=t,_&&(l.current=_),l.current==="pessimistic")return y.mutate({resource:w,...C},{onSuccess:S.onSuccess,onSettled:S.onSettled,onError:S.onError});const{ids:k=o}=C;if(!k)throw new Error("useDeleteMany mutation requires an array of ids");const $=[[w,"getList"],[w,"getInfiniteList"],[w,"getMany"],[w,"getManyReference"]];if(d.current=$.reduce((E,P)=>E.concat(a.getQueriesData({queryKey:P})),[]),await Promise.all(d.current.map(([E])=>a.cancelQueries({queryKey:E}))),h({resource:w,ids:k}),setTimeout(()=>{S.onSuccess?S.onSuccess(k,{resource:w,...C},{snapshot:d.current}):c.onSuccess&&c.onSuccess(k,{resource:w,...C},{snapshot:d.current})},0),l.current==="optimistic")return y.mutate({resource:w,...C},{onSettled:S.onSettled,onError:S.onError});Jm.once("end",({isUndo:E})=>{E?d.current.forEach(([P,R])=>{a.setQueryData(P,R)}):y.mutate({resource:w,...C},{onSettled:S.onSettled,onError:S.onError})})},"mutate"),x=v.useMemo(()=>({isLoading:y.isPending,...y}),[y]);return[Ot(b),x]},"useDeleteMany"),j7=v.createContext(void 0),pye=i(({children:e})=>{const[t,n]=v.useState(!1),[r,a]=v.useState(null),[o,s]=v.useState(null),[c,l]=v.useState(null),[u,d]=v.useState(null),[f,m]=v.useState(),g=v.useCallback(()=>n(!0),[]),h=v.useCallback(()=>{n(!1),a(null)},[]),y=v.useCallback((x,w)=>{d(x),m(w)},[]),b=v.useMemo(()=>({editor:r,setEditor:a,preferenceKey:o,setPreferenceKey:s,title:u,titleOptions:f,setTitle:y,isEnabled:t,disable:h,enable:g,path:c,setPath:l}),[h,g,r,o,t,c,l,u,f,y]);return p.jsx(j7.Provider,{value:b,children:e})},"PreferencesEditorContextProvider"),_7=v.createContext({definitions:{},register:()=>{},unregister:()=>{}}),mye=i(({definitions:e={},children:t})=>{const[n,r]=v.useState(e),a=v.useCallback(c=>{r(l=>pa(l[c.name],c)?l:{...l,[c.name]:c})},[]),o=v.useCallback(c=>{r(l=>{const{[c.name]:u,...d}=l;return d})},[]),s=v.useMemo(()=>({definitions:n,register:a,unregister:o}),[n]);return p.jsx(_7.Provider,{value:s,children:t})},"ResourceDefinitionContextProvider"),hye=$F(),gye=i(e=>{const{authProvider:t,basename:n,dataProvider:r=O$,i18nProvider:a,store:o=hye,children:s,queryClient:c}=e;if(!r)throw new Error(`Missing dataProvider prop. -React-admin requires a valid dataProvider function to work.`);const l=v.useMemo(()=>c||new Ree,[c]),u=v.useMemo(()=>t instanceof Function?dbe(t):t,[t]),d=v.useMemo(()=>r instanceof Function?Ufe(r):r,[r]);return p.jsx(o$.Provider,{value:u,children:p.jsx(i9.Provider,{value:d,children:p.jsx(hie,{value:o,children:p.jsx(pye,{children:p.jsx(Oee,{client:l,children:p.jsx(nfe,{basename:n,children:p.jsx(Jle,{value:a,children:p.jsx(Gle,{children:p.jsx(mye,{children:s})})})})})})})})})},"CoreAdminContext"),vye=v.createContext(null),_2={didCatch:!1,error:null},OA=class OA extends v.Component{constructor(t){super(t),this.resetErrorBoundary=this.resetErrorBoundary.bind(this),this.state=_2}static getDerivedStateFromError(t){return{didCatch:!0,error:t}}resetErrorBoundary(){const{error:t}=this.state;if(t!==null){for(var n,r,a=arguments.length,o=new Array(a),s=0;s0&&arguments[0]!==void 0?arguments[0]:[],t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];return e.length!==t.length||e.some((n,r)=>!Object.is(n,t[r]))}i(yye,"hasArrayChanged");const k7=i(()=>v.useContext(_7),"useResourceDefinitionContext"),bye=i(e=>{const{permissions:t,isPending:n}=X7(),[r,a]=xye(e,t,n);return Cye(r.resources,t),{customRoutesWithLayout:r.customRoutesWithLayout,customRoutesWithoutLayout:r.customRoutesWithoutLayout,status:a,resources:r.resources}},"useConfigureAdminRouterFromChildren"),xye=i((e,t,n)=>{const r=Jf(),[a,o,s]=wye(Jp(e)),[c,l]=to(()=>Sye({children:e,...a}));if(!c)throw new Error("Status should be defined");return v.useEffect(()=>{const u=i(async f=>{try{const m=f(t);m!=null&&m.then?m.then(g=>{s(Jp(g)),l("ready")}):(s(Jp(m)),l("ready"))}catch(m){console.error(m),r()}},"resolveChildFunction");n||i(async()=>{const f=$7(e),m=Jp(e);o(m),l(f?"loading":m.resources.length>0||m.customRoutesWithLayout.length>0||m.customRoutesWithoutLayout.length>0?"ready":"empty"),f&&u(f)},"updateFromChildren")()},[e,r,n,s,t,o,l]),[a,c]},"useRoutesAndResourcesFromChildren"),wye=i(e=>{const[t,n]=v.useState(e),r=v.useCallback(a=>{n(o=>({customRoutesWithLayout:o.customRoutesWithLayout.concat(a.customRoutesWithLayout),customRoutesWithoutLayout:o.customRoutesWithoutLayout.concat(a.customRoutesWithoutLayout),resources:o.resources.concat(a.resources)}))},[]);return[t,n,r]},"useRoutesAndResourcesState"),Cye=i((e,t)=>{const{register:n,unregister:r}=k7();v.useEffect(()=>(e.forEach(a=>{if(typeof a.type.registerResource=="function"){const o=a.type.registerResource(a.props,t);n(o)}else throw new Error("When using a custom Resource element, it must have a static registerResource method accepting its props and returning a ResourceDefinition")}),()=>{e.forEach(a=>{if(typeof a.type.registerResource=="function"){const o=a.type.registerResource(a.props,t);r(o)}else throw new Error("When using a custom Resource element, it must have a static registerResource method accepting its props and returning a ResourceDefinition")})}),[t,n,e,r])},"useRegisterResources"),Sye=i(({children:e,resources:t,customRoutesWithLayout:n,customRoutesWithoutLayout:r})=>$7(e)?"loading":t.length>0||n.length>0||r.length>0?"ready":"empty","getStatus"),$7=i(e=>{const n=(Array.isArray(e)?e:[e]).filter(r=>typeof r=="function");if(n.length>1)throw new Error("You can only provide one function child to AdminRouter");return n.length===0?null:n[0]},"getSingleChildFunction"),Jp=i(e=>{const t=[],n=[],r=[];return typeof e=="function"?{customRoutesWithLayout:[],customRoutesWithoutLayout:[],resources:[]}:(v.Children.forEach(e,a=>{if(v.isValidElement(a)){if(a.type===v.Fragment){const o=Jp(a.props.children);t.push(...o.customRoutesWithLayout),n.push(...o.customRoutesWithoutLayout),r.push(...o.resources)}if(a.type.raName==="CustomRoutes"){const o=a;o.props.noLayout?n.push(o.props.children):t.push(o.props.children)}else a.type.raName==="Resource"&&r.push(a)}}),{customRoutesWithLayout:t,customRoutesWithoutLayout:n,resources:r})},"getRoutesAndResourceFromNodes"),E7=v.createContext(!1),jye=E7.Provider,_ye=i(()=>v.useContext(E7),"useHasDashboard"),kye=i(e=>{Tfe();const t=Wo(),{customRoutesWithLayout:n,customRoutesWithoutLayout:r,status:a,resources:o}=bye(e.children),{layout:s,catchAll:c,dashboard:l,loading:u,requireAuth:d,ready:f}=e,[m,g]=v.useState(d),[h,y]=v.useState(d),b=Z7();if(v.useEffect(()=>{d&&b(void 0,!1).then(()=>{g(!1)}).catch(()=>{}).finally(()=>{y(!1)})},[b,d]),a==="empty"){if(!f)throw new Error("The admin is empty. Please provide an empty component, or pass Resource or CustomRoutes as children.");return p.jsx(f,{})}return a==="loading"||h?p.jsxs(Uu,{children:[r,p.jsx(ca,{path:"*",element:p.jsx("div",{style:{height:"100vh"},children:p.jsx(u,{})})})]}):m?p.jsxs(Uu,{children:[r,p.jsx(ca,{path:"*",element:p.jsx(fbe,{})})]}):p.jsxs(Uu,{children:[r,p.jsx(ca,{path:"/*",element:p.jsx(jye,{value:!!l,children:p.jsx(s,{children:p.jsxs(Uu,{children:[n,v.Children.map(o,x=>p.jsx(ca,{path:`${x.props.name}/*`,element:x},x.props.name)),p.jsx(ca,{path:"/",element:l?p.jsx(abe,{authParams:$ye,component:l}):o.length>0?p.jsx(Qte,{to:t({resource:o[0].props.name,type:"list"})}):null}),p.jsx(ca,{path:"*",element:p.jsx(c,{})})]})})})})]})},"CoreAdminRoutes"),$ye={params:{route:"dashboard"}},R7=v.createContext("React Admin"),Eye=R7.Provider,A7=i(()=>v.useContext(R7),"useDefaultTitle"),Rye=i(({children:e})=>p.jsx(p.Fragment,{children:e}),"DefaultLayout"),Aye=i(({error:e,errorInfo:t,resetErrorBoundary:n})=>(a9(n),p.jsxs("div",{children:[p.jsx("h1",{children:"Error"}),p.jsxs("pre",{children:[e.message,t==null?void 0:t.componentStack]})]})),"DefaultError"),Pye=i(e=>{const[t,n]=v.useState({}),{authCallbackPage:r=!1,catchAll:a=F4,children:o,dashboard:s,disableTelemetry:c=!1,error:l=Aye,layout:u=Rye,loading:d=F4,loginPage:f=!1,ready:m=Uye,requireAuth:g=!1,title:h="React Admin"}=e;v.useEffect(()=>{if(c||typeof window>"u"||typeof window.location>"u"||typeof Image>"u")return;const b=new Image;b.src=`https://react-admin-telemetry.marmelab.com/react-admin-telemetry?domain=${window.location.hostname}`},[c]);const y=i((b,x)=>n(x),"handleError");return p.jsx(Eye,{value:h,children:p.jsx(Qm,{onError:y,fallbackRender:({error:b,resetErrorBoundary:x})=>p.jsx(l,{error:b,errorInfo:t,resetErrorBoundary:x}),children:p.jsxs(Uu,{children:[f!==!1&&f!==!0?p.jsx(ca,{path:"/login",element:N4(f)}):null,r!==!1&&r!==!0?p.jsx(ca,{path:"/auth-callback",element:N4(r)}):null,p.jsx(ca,{path:"/*",element:p.jsx(kye,{catchAll:a,dashboard:s,layout:u,loading:d,requireAuth:g,ready:m,children:o})})]})})})},"CoreAdminUI"),N4=i(e=>v.isValidElement(e)?e:v.createElement(e),"createOrGetElement"),F4=i(()=>null,"Noop$1"),P7=v.createContext(void 0),Uo=i(({children:e,value:t})=>t?p.jsx(P7.Provider,{value:t,children:e}):e,"ResourceContextProvider"),Tye=i(({value:e,children:t})=>e?p.jsx(Uo,{value:e,children:t}):t,"OptionalResourceContextProvider");var T7={exports:{}},nn={};/** - * @license React - * react-is.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var cE=Symbol.for("react.element"),lE=Symbol.for("react.portal"),kx=Symbol.for("react.fragment"),$x=Symbol.for("react.strict_mode"),Ex=Symbol.for("react.profiler"),Rx=Symbol.for("react.provider"),Ax=Symbol.for("react.context"),Mye=Symbol.for("react.server_context"),Px=Symbol.for("react.forward_ref"),Tx=Symbol.for("react.suspense"),Mx=Symbol.for("react.suspense_list"),Ox=Symbol.for("react.memo"),zx=Symbol.for("react.lazy"),Oye=Symbol.for("react.offscreen"),M7;M7=Symbol.for("react.module.reference");function bo(e){if(typeof e=="object"&&e!==null){var t=e.$$typeof;switch(t){case cE:switch(e=e.type,e){case kx:case Ex:case $x:case Tx:case Mx:return e;default:switch(e=e&&e.$$typeof,e){case Mye:case Ax:case Px:case zx:case Ox:case Rx:return e;default:return t}}case lE:return t}}}i(bo,"v$6");nn.ContextConsumer=Ax;nn.ContextProvider=Rx;nn.Element=cE;nn.ForwardRef=Px;nn.Fragment=kx;nn.Lazy=zx;nn.Memo=Ox;nn.Portal=lE;nn.Profiler=Ex;nn.StrictMode=$x;nn.Suspense=Tx;nn.SuspenseList=Mx;nn.isAsyncMode=function(){return!1};nn.isConcurrentMode=function(){return!1};nn.isContextConsumer=function(e){return bo(e)===Ax};nn.isContextProvider=function(e){return bo(e)===Rx};nn.isElement=function(e){return typeof e=="object"&&e!==null&&e.$$typeof===cE};nn.isForwardRef=function(e){return bo(e)===Px};nn.isFragment=function(e){return bo(e)===kx};nn.isLazy=function(e){return bo(e)===zx};nn.isMemo=function(e){return bo(e)===Ox};nn.isPortal=function(e){return bo(e)===lE};nn.isProfiler=function(e){return bo(e)===Ex};nn.isStrictMode=function(e){return bo(e)===$x};nn.isSuspense=function(e){return bo(e)===Tx};nn.isSuspenseList=function(e){return bo(e)===Mx};nn.isValidElementType=function(e){return typeof e=="string"||typeof e=="function"||e===kx||e===Ex||e===$x||e===Tx||e===Mx||e===Oye||typeof e=="object"&&e!==null&&(e.$$typeof===zx||e.$$typeof===Ox||e.$$typeof===Rx||e.$$typeof===Ax||e.$$typeof===Px||e.$$typeof===M7||e.getModuleId!==void 0)};nn.typeOf=bo;T7.exports=nn;var gl=T7.exports;const Xo=i(e=>{const{create:t,edit:n,list:r,name:a,show:o}=e;return p.jsx(Uo,{value:a,children:p.jsxs(Uu,{children:[t&&p.jsx(ca,{path:"create/*",element:uv(t)}),o&&p.jsx(ca,{path:":id/show/*",element:uv(o)}),n&&p.jsx(ca,{path:":id/*",element:uv(n)}),r&&p.jsx(ca,{path:"/*",element:p.jsx(Pfe,{storeKey:`${a}.list.scrollPosition`,children:uv(r)})}),e.children]})})},"Resource"),uv=i(e=>{if(v.isValidElement(e))return e;if(gl.isValidElementType(e)){const t=e;return p.jsx(t,{})}return null},"getElement");Xo.raName="Resource";Xo.registerResource=({create:e,edit:t,icon:n,list:r,name:a,options:o,show:s,recordRepresentation:c,hasCreate:l,hasEdit:u,hasShow:d})=>({name:a,options:o,hasList:!!r,hasCreate:!!e||!!l,hasEdit:!!t||!!u,hasShow:!!s||!!d,icon:n,recordRepresentation:c});const O7=v.createContext(void 0),z7=O7.Provider,uE=i(()=>v.useContext(O7),"useSourceContext"),Ix=i(()=>k7().definitions,"useResourceDefinitions");var Xt={};/*! - * inflection - * Copyright(c) 2011 Ben Lin - * MIT Licensed - * - * @fileoverview - * A port of inflection-js to node.js module. - */Object.defineProperty(Xt,"__esModule",{value:!0});var I7=Xt.transform=Xt.ordinalize=Xt.foreignKey=Xt.classify=Xt.tableize=Xt.demodulize=Xt.titleize=Xt.dasherize=W7=Xt.capitalize=Nx=Xt.humanize=Xt.underscore=Xt.camelize=F7=Xt.inflect=Lx=Xt.singularize=qu=Xt.pluralize=void 0;const Sb=["accommodation","adulthood","advertising","advice","aggression","aid","air","aircraft","alcohol","anger","applause","arithmetic","assistance","athletics","bacon","baggage","beef","biology","blood","botany","bread","butter","carbon","cardboard","cash","chalk","chaos","chess","crossroads","countryside","dancing","deer","dignity","dirt","dust","economics","education","electricity","engineering","enjoyment","envy","equipment","ethics","evidence","evolution","fame","fiction","flour","flu","food","fuel","fun","furniture","gallows","garbage","garlic","genetics","gold","golf","gossip","gratitude","grief","guilt","gymnastics","happiness","hardware","harm","hate","hatred","health","heat","help","homework","honesty","honey","hospitality","housework","humour","hunger","hydrogen","ice","importance","inflation","information","innocence","iron","irony","jam","jewelry","judo","karate","knowledge","lack","laughter","lava","leather","leisure","lightning","linguine","linguini","linguistics","literature","litter","livestock","logic","loneliness","luck","luggage","macaroni","machinery","magic","management","mankind","marble","mathematics","mayonnaise","measles","methane","milk","minus","money","mud","music","mumps","nature","news","nitrogen","nonsense","nurture","nutrition","obedience","obesity","oxygen","pasta","patience","physics","poetry","pollution","poverty","pride","psychology","publicity","punctuation","quartz","racism","relaxation","reliability","research","respect","revenge","rice","rubbish","rum","safety","scenery","seafood","seaside","series","shame","sheep","shopping","sleep","smoke","smoking","snow","soap","software","soil","spaghetti","species","steam","stuff","stupidity","sunshine","symmetry","tennis","thirst","thunder","timber","traffic","transportation","trust","underwear","unemployment","unity","validity","veal","vegetation","vegetarianism","vengeance","violence","vitality","warmth","wealth","weather","welfare","wheat","wildlife","wisdom","yoga","zinc","zoology"],je={plural:{men:new RegExp("^(m|wom)en$","gi"),people:new RegExp("(pe)ople$","gi"),children:new RegExp("(child)ren$","gi"),tia:new RegExp("([ti])a$","gi"),analyses:new RegExp("((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)ses$","gi"),databases:new RegExp("(database)s$","gi"),drives:new RegExp("(drive)s$","gi"),hives:new RegExp("(hi|ti)ves$","gi"),curves:new RegExp("(curve)s$","gi"),lrves:new RegExp("([lr])ves$","gi"),aves:new RegExp("([a])ves$","gi"),foves:new RegExp("([^fo])ves$","gi"),movies:new RegExp("(m)ovies$","gi"),aeiouyies:new RegExp("([^aeiouy]|qu)ies$","gi"),series:new RegExp("(s)eries$","gi"),xes:new RegExp("(x|ch|ss|sh)es$","gi"),mice:new RegExp("([m|l])ice$","gi"),buses:new RegExp("(bus)es$","gi"),oes:new RegExp("(o)es$","gi"),shoes:new RegExp("(shoe)s$","gi"),crises:new RegExp("(cris|ax|test)es$","gi"),octopuses:new RegExp("(octop|vir)uses$","gi"),aliases:new RegExp("(alias|canvas|status|campus)es$","gi"),summonses:new RegExp("^(summons|bonus)es$","gi"),oxen:new RegExp("^(ox)en","gi"),matrices:new RegExp("(matr)ices$","gi"),vertices:new RegExp("(vert|ind)ices$","gi"),feet:new RegExp("^feet$","gi"),teeth:new RegExp("^teeth$","gi"),geese:new RegExp("^geese$","gi"),quizzes:new RegExp("(quiz)zes$","gi"),whereases:new RegExp("^(whereas)es$","gi"),criteria:new RegExp("^(criteri)a$","gi"),genera:new RegExp("^genera$","gi"),ss:new RegExp("ss$","gi"),s:new RegExp("s$","gi")},singular:{man:new RegExp("^(m|wom)an$","gi"),person:new RegExp("(pe)rson$","gi"),child:new RegExp("(child)$","gi"),drive:new RegExp("(drive)$","gi"),ox:new RegExp("^(ox)$","gi"),axis:new RegExp("(ax|test)is$","gi"),octopus:new RegExp("(octop|vir)us$","gi"),alias:new RegExp("(alias|status|canvas|campus)$","gi"),summons:new RegExp("^(summons|bonus)$","gi"),bus:new RegExp("(bu)s$","gi"),buffalo:new RegExp("(buffal|tomat|potat)o$","gi"),tium:new RegExp("([ti])um$","gi"),sis:new RegExp("sis$","gi"),ffe:new RegExp("(?:([^f])fe|([lr])f)$","gi"),hive:new RegExp("(hi|ti)ve$","gi"),aeiouyy:new RegExp("([^aeiouy]|qu)y$","gi"),x:new RegExp("(x|ch|ss|sh)$","gi"),matrix:new RegExp("(matr)ix$","gi"),vertex:new RegExp("(vert|ind)ex$","gi"),mouse:new RegExp("([m|l])ouse$","gi"),foot:new RegExp("^foot$","gi"),tooth:new RegExp("^tooth$","gi"),goose:new RegExp("^goose$","gi"),quiz:new RegExp("(quiz)$","gi"),whereas:new RegExp("^(whereas)$","gi"),criterion:new RegExp("^(criteri)on$","gi"),genus:new RegExp("^genus$","gi"),s:new RegExp("s$","gi"),common:new RegExp("$","gi")}},L7=[[je.plural.men],[je.plural.people],[je.plural.children],[je.plural.tia],[je.plural.analyses],[je.plural.databases],[je.plural.drives],[je.plural.hives],[je.plural.curves],[je.plural.lrves],[je.plural.foves],[je.plural.aeiouyies],[je.plural.series],[je.plural.movies],[je.plural.xes],[je.plural.mice],[je.plural.buses],[je.plural.oes],[je.plural.shoes],[je.plural.crises],[je.plural.octopuses],[je.plural.aliases],[je.plural.summonses],[je.plural.oxen],[je.plural.matrices],[je.plural.feet],[je.plural.teeth],[je.plural.geese],[je.plural.quizzes],[je.plural.whereases],[je.plural.criteria],[je.plural.genera],[je.singular.man,"$1en"],[je.singular.person,"$1ople"],[je.singular.child,"$1ren"],[je.singular.drive,"$1s"],[je.singular.ox,"$1en"],[je.singular.axis,"$1es"],[je.singular.octopus,"$1uses"],[je.singular.alias,"$1es"],[je.singular.summons,"$1es"],[je.singular.bus,"$1ses"],[je.singular.buffalo,"$1oes"],[je.singular.tium,"$1a"],[je.singular.sis,"ses"],[je.singular.ffe,"$1$2ves"],[je.singular.hive,"$1ves"],[je.singular.aeiouyy,"$1ies"],[je.singular.matrix,"$1ices"],[je.singular.vertex,"$1ices"],[je.singular.x,"$1es"],[je.singular.mouse,"$1ice"],[je.singular.foot,"feet"],[je.singular.tooth,"teeth"],[je.singular.goose,"geese"],[je.singular.quiz,"$1zes"],[je.singular.whereas,"$1es"],[je.singular.criterion,"$1a"],[je.singular.genus,"genera"],[je.singular.s,"s"],[je.singular.common,"s"]],D7=[[je.singular.man],[je.singular.person],[je.singular.child],[je.singular.drive],[je.singular.ox],[je.singular.axis],[je.singular.octopus],[je.singular.alias],[je.singular.summons],[je.singular.bus],[je.singular.buffalo],[je.singular.tium],[je.singular.sis],[je.singular.ffe],[je.singular.hive],[je.singular.aeiouyy],[je.singular.x],[je.singular.matrix],[je.singular.mouse],[je.singular.foot],[je.singular.tooth],[je.singular.goose],[je.singular.quiz],[je.singular.whereas],[je.singular.criterion],[je.singular.genus],[je.plural.men,"$1an"],[je.plural.people,"$1rson"],[je.plural.children,"$1"],[je.plural.databases,"$1"],[je.plural.drives,"$1"],[je.plural.genera,"genus"],[je.plural.criteria,"$1on"],[je.plural.tia,"$1um"],[je.plural.analyses,"$1$2sis"],[je.plural.hives,"$1ve"],[je.plural.curves,"$1"],[je.plural.lrves,"$1f"],[je.plural.aves,"$1ve"],[je.plural.foves,"$1fe"],[je.plural.movies,"$1ovie"],[je.plural.aeiouyies,"$1y"],[je.plural.series,"$1eries"],[je.plural.xes,"$1"],[je.plural.mice,"$1ouse"],[je.plural.buses,"$1"],[je.plural.oes,"$1"],[je.plural.shoes,"$1"],[je.plural.crises,"$1is"],[je.plural.octopuses,"$1us"],[je.plural.aliases,"$1"],[je.plural.summonses,"$1"],[je.plural.oxen,"$1"],[je.plural.matrices,"$1ix"],[je.plural.vertices,"$1ex"],[je.plural.feet,"foot"],[je.plural.teeth,"tooth"],[je.plural.geese,"goose"],[je.plural.quizzes,"$1"],[je.plural.whereases,"$1"],[je.plural.ss,"ss"],[je.plural.s,""]],zye=["and","or","nor","a","an","the","so","but","to","of","at","by","from","into","on","onto","off","out","in","over","with","for"],Iye=new RegExp("(_ids|_id)$","g"),N7=new RegExp("_","g"),Lye=new RegExp("[ _]","g"),Dye=new RegExp("([A-Z])","g"),Nye=new RegExp("^_");function jb(e,t,n,r){if(r)return r;if(n.includes(e.toLocaleLowerCase()))return e;for(const a of t)if(e.match(a[0]))return a[1]!==void 0?e.replace(a[0],a[1]):e;return e}i(jb,"applyRules");function dE(e,t){return jb(e,L7,Sb,t)}i(dE,"pluralize");var qu=Xt.pluralize=dE;function fE(e,t){return jb(e,D7,Sb,t)}i(fE,"singularize");var Lx=Xt.singularize=fE;function Fye(e,t,n,r){return isNaN(t)?e:t===1?jb(e,D7,Sb,n):jb(e,L7,Sb,r)}i(Fye,"inflect");var F7=Xt.inflect=Fye;function pE(e,t){const n=e.split("/"),r=n.length;let a,o,s,c;for(let l=0;l{const e=at(),t=Ix();return(n,r=2)=>{const a=t[n];return e(`resources.${n}.name`,{smart_count:r,_:a&&a.options&&a.options.label?e(a.options.label,{smart_count:r,_:a.options.label}):Nx(r>1?qu(n):Lx(n))})}},"useGetResourceLabel"),Lt=i(e=>{const t=v.useContext(P7);return e&&e.resource||t},"useResourceContext"),Ac=i(e=>{const t=Lt(e),n=Ix(),{hasCreate:r,hasEdit:a,hasList:o,hasShow:s,recordRepresentation:c}=e||{};return v.useMemo(()=>Q$({},{hasCreate:r,hasEdit:a,hasList:o,hasShow:s,recordRepresentation:c},t?n[t]:{}),[t,n,r,a,o,s,c])},"useResourceDefinition"),Vl=i(e=>{const{recordRepresentation:t}=Ac({resource:e});return v.useCallback(n=>n?typeof t=="function"?t(n):typeof t=="string"?Ct(n,t):v.isValidElement(t)?t:(n==null?void 0:n.name)!=null&&(n==null?void 0:n.name)!==""?n.name:(n==null?void 0:n.title)!=null&&(n==null?void 0:n.title)!==""?n.title:(n==null?void 0:n.label)!=null&&(n==null?void 0:n.label)!==""?n.label:(n==null?void 0:n.reference)!=null&&(n==null?void 0:n.reference)!==""?n.reference:`#${n.id}`:"",[t])},"useGetRecordRepresentation"),J7=i(e=>{const t=uE();return(t==null?void 0:t.getSource(e))??e},"useWrappedSource"),hE=i(()=>{const e=at(),t=Lt(),n=uE();return v.useCallback(({source:r,label:a,resource:o})=>a===!1||a===""?null:a&&typeof a!="string"?a:e(...Hye({label:a,defaultLabel:r?n==null?void 0:n.getLabel(r):void 0,resource:o,resourceFromContext:t,source:r})),[t,e,n])},"useTranslateLabel"),Y7=i(e=>{const{source:t,label:n,resource:r,isRequired:a}=e,o=hE();if(n===!0)throw new Error("Label parameter must be a string, a ReactElement or false");return n===!1||n===""?null:n&&typeof n!="string"?n:p.jsxs("span",{children:[o({label:n,resource:r,source:t}),a&&p.jsx("span",{"aria-hidden":"true",children:" *"})]})},"FieldTitle");Y7.displayName="FieldTitle";const ms=v.memo(Y7),Uye=i(()=>p.jsx("span",{}),"Ready"),Bx=i((e,t)=>{},"warning"),Hye=i(e=>{if(!e)return[""];const{label:t,defaultLabel:n,resource:r,resourceFromContext:a,source:o}=e;if(typeof t<"u")return[t,{_:t}];if(typeof o>"u")return[""];const{sourceWithoutDigits:s,sourceSuffix:c}=qye(o),l=I7(c.replace(/\./g," "),["underscore","humanize"]);return r?[B4(r,s),{_:l}]:n?[n,{_:l}]:[B4(a||"undefined",s),{_:l}]},"getFieldLabelTranslationArgs"),B4=i((e,t)=>`resources.${e}.fields.${t}`,"getResourceFieldLabelKey"),qye=i(e=>{const t=e.replace(/\.\d+\./g,"."),n=e.split(".");let r;n.forEach((o,s)=>{Vye(o)&&(r=s)});const a=r!=null?n.slice(r+1).join("."):e;return{sourceWithoutDigits:t,sourceSuffix:a}},"getSourceParts"),Vye=i(e=>{for(let t=e.length-1;t>=0;t--){const n=e.charCodeAt(t);if(n<48||n>57)return!1}return!0},"onlyDigits"),Gye=typeof window<"u"?v.useLayoutEffect:v.useEffect,Ot=i(e=>{const t=v.useRef(()=>{throw new Error("Cannot call an event handler while rendering.")});return Gye(()=>{t.current=e}),v.useCallback((...n)=>t.current(...n),[])},"useEvent"),Fi=i(e=>{const{defaultValue:t,source:n}=e,r=uE(),a=sn(e);return Ct(a,(r==null?void 0:r.getSource(n))??n,t)},"useFieldValue"),Kye=i(e=>{const{url:t=window.location.href,fetchOptions:n,interval:r=Yye,onNewVersionAvailable:a,disabled:o=!1}=e,s=v.useRef(),c=Ot(a);v.useEffect(()=>{o||W4(t,n).then(l=>{l!=null&&(s.current=l)})},[o,t,JSON.stringify(n)]),v.useEffect(()=>{if(o)return;const l=setInterval(()=>{W4(t,n).then(u=>{u!=null&&s.current!==u&&(s.current=u,c())}).catch(()=>{})},r);return()=>clearInterval(l)},[r,c,o,t,JSON.stringify(n)])},"useCheckForApplicationUpdate"),W4=i(async(e,t)=>{try{const n=await fetch(e,t);if(!n.ok)return null;const r=await n.text();return Jye(r)}catch{return null}},"getHashForUrl"),Jye=i((e,t=0)=>{let n=3735928559^t,r=1103547991^t;for(let a=0,o;a>>16,2246822507),n^=Math.imul(r^r>>>13,3266489909),r=Math.imul(r^r>>>16,2246822507),r^=Math.imul(n^n>>>13,3266489909),4294967296*(2097151&r)+(n>>>0)},"hash$4"),Yye=1e3*60*60,xo=i((e,t)=>{const{getItem:n,setItem:r,subscribe:a}=cx(),[o,s]=v.useState(()=>n(e,t));v.useEffect(()=>{const l=n(e,t);pa(o,l)||s(l);const u=a(e,d=>{s(typeof d>"u"?t:d)});return()=>u()},[e,a,t,n,o]);const c=Ot((l,u)=>{const d=typeof l=="function"?l(o):l;r(e,typeof d>"u"?typeof u>"u"?t:u:d)});return[o,c]},"useStore"),Qye=i(e=>{const{removeItem:t}=cx();return v.useCallback(n=>{if(typeof n>"u"&&typeof e>"u")throw new Error("You must provide a key to remove an item from the store");return t(n??e)},[t,e])},"useRemoveFromStore"),Xye=i(e=>{const{removeItems:t}=cx();return v.useCallback(n=>{if(typeof n>"u"&&typeof e>"u")throw new Error("You must provide a key to remove an item from the store");return t(n??e)},[t,e])},"useRemoveItemsFromStore"),Zye=i(()=>{const{reset:e}=cx();return e},"useResetStore"),Jf=i(()=>{const e=ws(),t=Fa(),n=Zye(),r=Li(),a=v.useRef(r),o=Er(),s=v.useRef(o),c=kc(),l=ii(`${c}/${Y0.loginUrl}`);return v.useEffect(()=>{s.current=o,a.current=r},[o,r]),v.useCallback((d={},f=l,m=!0)=>e?e.logout(d).then(g=>{if(g===!1||f===!1){n(),t.clear();return}const h=g||f;if(h!=null&&h.startsWith("http"))return n(),t.clear(),window.location.href=h,h;const y=h.split("?"),b={pathname:y[0]};let x={};return m&&s.current&&s.current.pathname&&(x={state:{nextPathname:s.current.pathname,nextSearch:s.current.search}}),y[1]&&(b.search=y[1]),a.current(b,x),n(),t.clear(),g}):(a.current({pathname:l},{state:{nextPathname:s.current&&s.current.pathname}}),n(),t.clear(),Promise.resolve()),[e,n,l,t])},"useLogout"),U4={},Q7=i((e=U4,t=!1,n=U4)=>{const r=ws(),a=Jf(),o=kc(),s=Gn(),{onSuccess:c,onError:l,onSettled:u,...d}=n,f=Cs({queryKey:["auth","checkAuth",e],queryFn:({signal:y})=>r?r.checkAuth({...e,signal:y}).then(()=>!0).catch(b=>{throw b??new Error}):!0,retry:!1,...d}),m=Ot(c??H4),g=Ot(u??H4),h=Ot(l??(y=>{const b=ii(`${o}/${Y0.loginUrl}`);t&&(a({},y&&y.redirectTo!=null?y.redirectTo:b),!(y&&y.message===!1)&&s(ebe(y,"ra.auth.auth_check_error"),{type:"error"}))}));return v.useEffect(()=>{f.data===void 0||f.isFetching||m(f.data)},[m,f.data,f.isFetching]),v.useEffect(()=>{f.error==null||f.isFetching||h(f.error)},[h,f.error,f.isFetching]),v.useEffect(()=>{f.status==="pending"||f.isFetching||g(f.data,f.error)},[g,f.data,f.error,f.status,f.isFetching]),v.useMemo(()=>({...f,authenticated:f.data??f.isLoading?!0:r==null}),[r,f])},"useAuthState"),ebe=i((e,t)=>typeof e=="string"?e:typeof e>"u"||!e.message?t:e.message,"getErrorMessage$1"),H4=i(()=>{},"noop$6"),tbe={},X7=i((e=tbe,t={staleTime:5*60*1e3})=>{const n=ws(),r=y9(),{onSuccess:a,onError:o,onSettled:s,...c}=t??{},l=Cs({queryKey:["auth","getPermissions",e],queryFn:async({signal:m})=>n?await n.getPermissions({...e,signal:m})??null:Promise.resolve([]),...c}),u=Ot(a??q4),d=Ot(s??q4),f=Ot(o??(m=>{r(m)}));return v.useEffect(()=>{l.data===void 0||l.isFetching||u(l.data)},[u,l.data,l.isFetching]),v.useEffect(()=>{l.error==null||l.isFetching||f(l.error)},[f,l.error,l.isFetching]),v.useEffect(()=>{l.status==="pending"||l.isFetching||d(l.data,l.error)},[d,l.data,l.error,l.status,l.isFetching]),v.useMemo(()=>({...l,permissions:l.data}),[l])},"usePermissions"),q4=i(()=>{},"noop$5"),Yf=i(({params:e,...t}={})=>{Q7(e??nbe,!0,t)},"useAuthenticated"),nbe={},V4=i(e=>v.Children.count(e)===0,"isEmptyChildren"),rbe=i(e=>{const{authParams:t,children:n,render:r,component:a,staticContext:o,...s}=e;Bx(r&&n&&!V4(n)||r&&a||a&&n&&!V4(n),"You should only use one of the `component`, `render` and `children` props in "),Yf(t);const{permissions:c}=X7(t);if(a)return v.createElement(a,{permissions:c,...s});if(r)return r({permissions:c,...s});if(n)return n({permissions:c,...s})},"WithPermissions"),abe=rbe,obe=i(()=>{const e=ws(),n=Er().state,r=Li(),a=kc(),{resetNotifications:o}=UF(),s=n&&n.nextPathname,c=n&&n.nextSearch,l=ii(`${a}/${Y0.afterLoginUrl}`);return v.useCallback((d={},f)=>e?e.login(d).then(m=>{if(o(),m&&m.hasOwnProperty("redirectTo"))m&&r(m.redirectTo);else{const g=f||s+c||l;r(g)}return m}):(o(),r(l),Promise.resolve()),[e,r,s,c,o,l])},"useLogin"),ibe="AUTH_LOGIN",sbe="AUTH_CHECK",cbe="AUTH_ERROR",lbe="AUTH_LOGOUT",ube="AUTH_GET_PERMISSIONS",dbe=i(e=>{const t=i((...n)=>e.apply(null,n),"authProvider");return t.login=n=>e(ibe,n),t.logout=n=>e(lbe,n),t.checkAuth=n=>e(sbe,n),t.checkError=n=>e(cbe,n),t.getPermissions=n=>e(ube,n),t},"convertLegacyAuthProvider"),fbe=i(()=>{const e=Jf();return v.useEffect(()=>{e()},[e]),null},"LogoutOnMount"),Z7=i(()=>{const e=ws(),t=Gn(),n=Jf(),r=kc(),a=ii(`${r}/${Y0.loginUrl}`);return v.useCallback((s={},c=!0,l=a)=>e?e.checkAuth(s).catch(u=>{throw c&&(n({},u&&u.redirectTo!=null?u.redirectTo:l),!(u&&u.message===!1)&&t(mbe(u,"ra.auth.auth_check_error"),{type:"error"})),u}):pbe(),[e,n,t,a])},"useCheckAuth"),pbe=i(()=>Promise.resolve(),"checkAuthWithoutAuthProvider"),mbe=i((e,t)=>typeof e=="string"?e:typeof e>"u"||!e.message?t:e.message,"getErrorMessage"),hbe={id:""},gbe={staleTime:5*60*1e3},Ho=i((e=gbe)=>{const t=ws(),{onSuccess:n,onError:r,onSettled:a,...o}=e,s=Cs({queryKey:["auth","getIdentity"],queryFn:async({signal:d})=>t&&typeof t.getIdentity=="function"?t.getIdentity({signal:d}):hbe,...o}),c=Ot(n??k2),l=Ot(r??k2),u=Ot(a??k2);return v.useEffect(()=>{s.data===void 0||s.isFetching||c(s.data)},[c,s.data,s.isFetching]),v.useEffect(()=>{s.error==null||s.isFetching||l(s.error)},[l,s.error,s.isFetching]),v.useEffect(()=>{s.status==="pending"||s.isFetching||u(s.data,s.error)},[u,s.data,s.error,s.status,s.isFetching]),v.useMemo(()=>({...s,identity:s.data}),[s])},"useGetIdentity"),k2=i(()=>{},"noop$4"),vbe=i(e=>{const t=ws(),n=Hf(),a=Er().state,o=a&&a.nextPathname,s=a&&a.nextSearch,c=o?o+s:"/",{onSuccess:l,onError:u,onSettled:d,...f}=e??{},m=Cs({queryKey:["auth","handleCallback"],queryFn:({signal:b})=>t&&typeof t.handleCallback=="function"?t.handleCallback({signal:b}).then(x=>x??null):Promise.resolve(),retry:!1,...f}),g=Ot(l??(b=>{const x=localStorage.getItem(ybe),w=(b==null?void 0:b.redirectTo)??x;w!==!1&&n(w??c)})),h=Ot(u??G4),y=Ot(d??G4);return v.useEffect(()=>{m.error==null||m.isFetching||h(m.error)},[h,m.error,m.isFetching]),v.useEffect(()=>{m.data===void 0||m.isFetching||g(m.data)},[g,m.data,m.isFetching]),v.useEffect(()=>{m.status==="pending"||m.isFetching||y(m.data,m.error)},[y,m.data,m.error,m.status,m.isFetching]),m},"useHandleAuthCallback"),ybe="@react-admin/nextPathname",G4=i(()=>{},"noop$3"),eB=v.createContext(""),tB=i(({value:e="",children:t})=>p.jsx(eB.Provider,{value:e,children:t}),"PreferenceKeyContextProvider"),bbe=i(()=>v.useContext(eB),"usePreferenceKey"),nB=i((e,t)=>{const n=bbe();if(!n)throw new Error("usePreference cannot be used outside of a Configurable component. Did you forget to wrap your component with ? If you don't want to use Configurable, you can use the useStore hook instead.");return xo(n&&e?`${n}.${e}`:n??e,t)},"usePreference"),gE=i(()=>{const e=v.useContext(j7);if(!e)throw new Error("usePreferencesEditor must be used within a PreferencesEditorContextProvider");return e},"usePreferencesEditor"),xbe=i((e,t)=>{const[n,r]=nB(e,t),[a,o]=v.useState(n);return v.useEffect(()=>{o(n||t)},[n,t]),{value:a,onChange:i(u=>{o(u.target.value===""?t:u.target.value)},"onChange"),onBlur:i(()=>{r(a)},"onBlur"),onKeyDown:i(u=>{var d;if(u.key==="Enter"){r(a);const f=u.target.form;if(f){const m=[...f].indexOf(u.target);(d=f.elements[m+1])==null||d.focus()}u.preventDefault()}},"onKeyDown")}},"usePreferenceInput"),wbe=i((e,t)=>{const n=gE();if(!n)throw new Error("useSetInspectorTitle cannot be called outside of a PreferencesEditorContext");const{setTitle:r}=n;v.useEffect(()=>{r(e,t)},[e,JSON.stringify(t),r])},"useSetInspectorTitle"),rB=i(e=>e.reduce((t,n)=>(Object.keys(n).forEach(r=>{if(t[r]||(t[r]=[]),n[r]!=null){const a=Array.isArray(n[r])?[n[r]]:n[r];t[r]=t[r].concat(a)}}),t),{}),"getValuesFromRecords"),zA=class zA{constructor(t,n,r){this.type=t,this.props=n,this.children=r,this.type=t,this.props=n,this.children=r}getElement(t={}){if(!(!this.type||!this.type.component))return this.children?v.createElement(this.type.component,{...this.props,...t},this.children.length>0?this.children.map((n,r)=>n.getElement({key:r})):this.children.getElement()):v.createElement(this.type.component,{...this.props,...t})}getProps(){return this.props}isDefined(){return!!this.type}getRepresentation(){return this.type?this.type.representation?this.type.representation(this.props,this.children):this.type.component?`<${this.type.component.displayName||this.type.component.name} source="${this.props.source}" />`:"":""}};i(zA,"InferredElement");let e3=zA;const rr=e3;function Pt(e){const t=Object.prototype.toString.call(e);return e instanceof Date||typeof e=="object"&&t==="[object Date]"?new e.constructor(+e):typeof e=="number"||t==="[object Number]"||typeof e=="string"||t==="[object String]"?new Date(e):new Date(NaN)}i(Pt,"toDate");function yn(e,t){return e instanceof Date?new e.constructor(t):new Date(t)}i(yn,"constructFrom");function vE(e,t){const n=Pt(e);return isNaN(t)?yn(e,NaN):(t&&n.setDate(n.getDate()+t),n)}i(vE,"addDays");function aB(e,t){const n=Pt(e);if(isNaN(t))return yn(e,NaN);if(!t)return n;const r=n.getDate(),a=yn(e,n.getTime());a.setMonth(n.getMonth()+t+1,0);const o=a.getDate();return r>=o?a:(n.setFullYear(a.getFullYear(),a.getMonth(),r),n)}i(aB,"addMonths");function Cbe(e,t){const{years:n=0,months:r=0,weeks:a=0,days:o=0,hours:s=0,minutes:c=0,seconds:l=0}=t,u=Pt(e),d=r||n?aB(u,r+n*12):u,f=o||a?vE(d,o+a*7):d,m=c+s*60,h=(l+m*60)*1e3;return yn(e,f.getTime()+h)}i(Cbe,"add");const oB=6048e5,Sbe=864e5,yE=6e4,bE=36e5,jbe=1e3,dv=43200,K4=1440;let _be={};function Gl(){return _be}i(Gl,"getDefaultOptions$1");function $i(e,t){var c,l,u,d;const n=Gl(),r=(t==null?void 0:t.weekStartsOn)??((l=(c=t==null?void 0:t.locale)==null?void 0:c.options)==null?void 0:l.weekStartsOn)??n.weekStartsOn??((d=(u=n.locale)==null?void 0:u.options)==null?void 0:d.weekStartsOn)??0,a=Pt(e),o=a.getDay(),s=(o=a.getTime()?n+1:t.getTime()>=s.getTime()?n:n-1}i(iB,"getISOWeekYear");function J4(e){const t=Pt(e);return t.setHours(0,0,0,0),t}i(J4,"startOfDay");function Xd(e){const t=Pt(e),n=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return n.setUTCFullYear(t.getFullYear()),+e-+n}i(Xd,"getTimezoneOffsetInMilliseconds");function kbe(e,t){const n=J4(e),r=J4(t),a=+n-Xd(n),o=+r-Xd(r);return Math.round((a-o)/Sbe)}i(kbe,"differenceInCalendarDays");function $be(e){const t=iB(e),n=yn(e,0);return n.setFullYear(t,0,4),n.setHours(0,0,0,0),Qd(n)}i($be,"startOfISOWeekYear");function ry(e,t){const n=Pt(e),r=Pt(t),a=n.getTime()-r.getTime();return a<0?-1:a>0?1:a}i(ry,"compareAsc");function Ebe(e){return e instanceof Date||typeof e=="object"&&Object.prototype.toString.call(e)==="[object Date]"}i(Ebe,"isDate$1");function xE(e){if(!Ebe(e)&&typeof e!="number")return!1;const t=Pt(e);return!isNaN(Number(t))}i(xE,"isValid");function Rbe(e,t){const n=Pt(e),r=Pt(t),a=n.getFullYear()-r.getFullYear(),o=n.getMonth()-r.getMonth();return a*12+o}i(Rbe,"differenceInCalendarMonths");function Abe(e){return t=>{const r=(e?Math[e]:Math.trunc)(t);return r===0?0:r}}i(Abe,"getRoundingMethod");function Pbe(e,t){return+Pt(e)-+Pt(t)}i(Pbe,"differenceInMilliseconds");function Tbe(e){const t=Pt(e);return t.setHours(23,59,59,999),t}i(Tbe,"endOfDay");function Mbe(e){const t=Pt(e),n=t.getMonth();return t.setFullYear(t.getFullYear(),n+1,0),t.setHours(23,59,59,999),t}i(Mbe,"endOfMonth");function Obe(e){const t=Pt(e);return+Tbe(t)==+Mbe(t)}i(Obe,"isLastDayOfMonth");function zbe(e,t){const n=Pt(e),r=Pt(t),a=ry(n,r),o=Math.abs(Rbe(n,r));let s;if(o<1)s=0;else{n.getMonth()===1&&n.getDate()>27&&n.setDate(30),n.setMonth(n.getMonth()-a*o);let c=ry(n,r)===-a;Obe(Pt(e))&&o===1&&ry(e,r)===1&&(c=!1),s=a*(o-Number(c))}return s===0?0:s}i(zbe,"differenceInMonths");function Ibe(e,t,n){const r=Pbe(e,t)/1e3;return Abe(n==null?void 0:n.roundingMethod)(r)}i(Ibe,"differenceInSeconds");function t3(e){const t=Pt(e);return t.setDate(1),t.setHours(0,0,0,0),t}i(t3,"startOfMonth");function Lbe(e){const t=Pt(e),n=yn(e,0);return n.setFullYear(t.getFullYear(),0,1),n.setHours(0,0,0,0),n}i(Lbe,"startOfYear");function Dbe(){const e=new Date,t=e.getFullYear(),n=e.getMonth(),r=e.getDate(),a=new Date(0);return a.setFullYear(t,n,r-1),a.setHours(23,59,59,999),a}i(Dbe,"endOfYesterday");const Nbe={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},Fbe=i((e,t,n)=>{let r;const a=Nbe[e];return typeof a=="string"?r=a:t===1?r=a.one:r=a.other.replace("{{count}}",t.toString()),n!=null&&n.addSuffix?n.comparison&&n.comparison>0?"in "+r:r+" ago":r},"formatDistance$1");function $2(e){return(t={})=>{const n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}i($2,"buildFormatLongFn");const Bbe={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},Wbe={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},Ube={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},Hbe={date:$2({formats:Bbe,defaultWidth:"full"}),time:$2({formats:Wbe,defaultWidth:"full"}),dateTime:$2({formats:Ube,defaultWidth:"full"})},qbe={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},Vbe=i((e,t,n,r)=>qbe[e],"formatRelative");function jp(e){return(t,n)=>{const r=n!=null&&n.context?String(n.context):"standalone";let a;if(r==="formatting"&&e.formattingValues){const s=e.defaultFormattingWidth||e.defaultWidth,c=n!=null&&n.width?String(n.width):s;a=e.formattingValues[c]||e.formattingValues[s]}else{const s=e.defaultWidth,c=n!=null&&n.width?String(n.width):e.defaultWidth;a=e.values[c]||e.values[s]}const o=e.argumentCallback?e.argumentCallback(t):t;return a[o]}}i(jp,"buildLocalizeFn");const Gbe={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},Kbe={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},Jbe={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},Ybe={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},Qbe={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},Xbe={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},Zbe=i((e,t)=>{const n=Number(e),r=n%100;if(r>20||r<10)switch(r%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},"ordinalNumber"),e0e={ordinalNumber:Zbe,era:jp({values:Gbe,defaultWidth:"wide"}),quarter:jp({values:Kbe,defaultWidth:"wide",argumentCallback:e=>e-1}),month:jp({values:Jbe,defaultWidth:"wide"}),day:jp({values:Ybe,defaultWidth:"wide"}),dayPeriod:jp({values:Qbe,defaultWidth:"wide",formattingValues:Xbe,defaultFormattingWidth:"wide"})};function _p(e){return(t,n={})=>{const r=n.width,a=r&&e.matchPatterns[r]||e.matchPatterns[e.defaultMatchWidth],o=t.match(a);if(!o)return null;const s=o[0],c=r&&e.parsePatterns[r]||e.parsePatterns[e.defaultParseWidth],l=Array.isArray(c)?n0e(c,f=>f.test(s)):t0e(c,f=>f.test(s));let u;u=e.valueCallback?e.valueCallback(l):l,u=n.valueCallback?n.valueCallback(u):u;const d=t.slice(s.length);return{value:u,rest:d}}}i(_p,"buildMatchFn");function t0e(e,t){for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n}i(t0e,"findKey");function n0e(e,t){for(let n=0;n{const r=t.match(e.matchPattern);if(!r)return null;const a=r[0],o=t.match(e.parsePattern);if(!o)return null;let s=e.valueCallback?e.valueCallback(o[0]):o[0];s=n.valueCallback?n.valueCallback(s):s;const c=t.slice(a.length);return{value:s,rest:c}}}i(r0e,"buildMatchPatternFn");const a0e=/^(\d+)(th|st|nd|rd)?/i,o0e=/\d+/i,i0e={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},s0e={any:[/^b/i,/^(a|c)/i]},c0e={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},l0e={any:[/1/i,/2/i,/3/i,/4/i]},u0e={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},d0e={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},f0e={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},p0e={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},m0e={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},h0e={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},g0e={ordinalNumber:r0e({matchPattern:a0e,parsePattern:o0e,valueCallback:e=>parseInt(e,10)}),era:_p({matchPatterns:i0e,defaultMatchWidth:"wide",parsePatterns:s0e,defaultParseWidth:"any"}),quarter:_p({matchPatterns:c0e,defaultMatchWidth:"wide",parsePatterns:l0e,defaultParseWidth:"any",valueCallback:e=>e+1}),month:_p({matchPatterns:u0e,defaultMatchWidth:"wide",parsePatterns:d0e,defaultParseWidth:"any"}),day:_p({matchPatterns:f0e,defaultMatchWidth:"wide",parsePatterns:p0e,defaultParseWidth:"any"}),dayPeriod:_p({matchPatterns:m0e,defaultMatchWidth:"any",parsePatterns:h0e,defaultParseWidth:"any"})},wE={code:"en-US",formatDistance:Fbe,formatLong:Hbe,formatRelative:Vbe,localize:e0e,match:g0e,options:{weekStartsOn:0,firstWeekContainsDate:1}};function v0e(e){const t=Pt(e);return kbe(t,Lbe(t))+1}i(v0e,"getDayOfYear");function sB(e){const t=Pt(e),n=+Qd(t)-+$be(t);return Math.round(n/oB)+1}i(sB,"getISOWeek");function CE(e,t){var d,f,m,g;const n=Pt(e),r=n.getFullYear(),a=Gl(),o=(t==null?void 0:t.firstWeekContainsDate)??((f=(d=t==null?void 0:t.locale)==null?void 0:d.options)==null?void 0:f.firstWeekContainsDate)??a.firstWeekContainsDate??((g=(m=a.locale)==null?void 0:m.options)==null?void 0:g.firstWeekContainsDate)??1,s=yn(e,0);s.setFullYear(r+1,0,o),s.setHours(0,0,0,0);const c=$i(s,t),l=yn(e,0);l.setFullYear(r,0,o),l.setHours(0,0,0,0);const u=$i(l,t);return n.getTime()>=c.getTime()?r+1:n.getTime()>=u.getTime()?r:r-1}i(CE,"getWeekYear");function y0e(e,t){var c,l,u,d;const n=Gl(),r=(t==null?void 0:t.firstWeekContainsDate)??((l=(c=t==null?void 0:t.locale)==null?void 0:c.options)==null?void 0:l.firstWeekContainsDate)??n.firstWeekContainsDate??((d=(u=n.locale)==null?void 0:u.options)==null?void 0:d.firstWeekContainsDate)??1,a=CE(e,t),o=yn(e,0);return o.setFullYear(a,0,r),o.setHours(0,0,0,0),$i(o,t)}i(y0e,"startOfWeekYear");function cB(e,t){const n=Pt(e),r=+$i(n,t)-+y0e(n,t);return Math.round(r/oB)+1}i(cB,"getWeek");function en(e,t){const n=e<0?"-":"",r=Math.abs(e).toString().padStart(t,"0");return n+r}i(en,"addLeadingZeros");const As={y(e,t){const n=e.getFullYear(),r=n>0?n:1-n;return en(t==="yy"?r%100:r,t.length)},M(e,t){const n=e.getMonth();return t==="M"?String(n+1):en(n+1,2)},d(e,t){return en(e.getDate(),t.length)},a(e,t){const n=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.toUpperCase();case"aaa":return n;case"aaaaa":return n[0];case"aaaa":default:return n==="am"?"a.m.":"p.m."}},h(e,t){return en(e.getHours()%12||12,t.length)},H(e,t){return en(e.getHours(),t.length)},m(e,t){return en(e.getMinutes(),t.length)},s(e,t){return en(e.getSeconds(),t.length)},S(e,t){const n=t.length,r=e.getMilliseconds(),a=Math.trunc(r*Math.pow(10,n-3));return en(a,t.length)}},su={am:"am",pm:"pm",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},Y4={G:function(e,t,n){const r=e.getFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return n.era(r,{width:"abbreviated"});case"GGGGG":return n.era(r,{width:"narrow"});case"GGGG":default:return n.era(r,{width:"wide"})}},y:function(e,t,n){if(t==="yo"){const r=e.getFullYear(),a=r>0?r:1-r;return n.ordinalNumber(a,{unit:"year"})}return As.y(e,t)},Y:function(e,t,n,r){const a=CE(e,r),o=a>0?a:1-a;if(t==="YY"){const s=o%100;return en(s,2)}return t==="Yo"?n.ordinalNumber(o,{unit:"year"}):en(o,t.length)},R:function(e,t){const n=iB(e);return en(n,t.length)},u:function(e,t){const n=e.getFullYear();return en(n,t.length)},Q:function(e,t,n){const r=Math.ceil((e.getMonth()+1)/3);switch(t){case"Q":return String(r);case"QQ":return en(r,2);case"Qo":return n.ordinalNumber(r,{unit:"quarter"});case"QQQ":return n.quarter(r,{width:"abbreviated",context:"formatting"});case"QQQQQ":return n.quarter(r,{width:"narrow",context:"formatting"});case"QQQQ":default:return n.quarter(r,{width:"wide",context:"formatting"})}},q:function(e,t,n){const r=Math.ceil((e.getMonth()+1)/3);switch(t){case"q":return String(r);case"qq":return en(r,2);case"qo":return n.ordinalNumber(r,{unit:"quarter"});case"qqq":return n.quarter(r,{width:"abbreviated",context:"standalone"});case"qqqqq":return n.quarter(r,{width:"narrow",context:"standalone"});case"qqqq":default:return n.quarter(r,{width:"wide",context:"standalone"})}},M:function(e,t,n){const r=e.getMonth();switch(t){case"M":case"MM":return As.M(e,t);case"Mo":return n.ordinalNumber(r+1,{unit:"month"});case"MMM":return n.month(r,{width:"abbreviated",context:"formatting"});case"MMMMM":return n.month(r,{width:"narrow",context:"formatting"});case"MMMM":default:return n.month(r,{width:"wide",context:"formatting"})}},L:function(e,t,n){const r=e.getMonth();switch(t){case"L":return String(r+1);case"LL":return en(r+1,2);case"Lo":return n.ordinalNumber(r+1,{unit:"month"});case"LLL":return n.month(r,{width:"abbreviated",context:"standalone"});case"LLLLL":return n.month(r,{width:"narrow",context:"standalone"});case"LLLL":default:return n.month(r,{width:"wide",context:"standalone"})}},w:function(e,t,n,r){const a=cB(e,r);return t==="wo"?n.ordinalNumber(a,{unit:"week"}):en(a,t.length)},I:function(e,t,n){const r=sB(e);return t==="Io"?n.ordinalNumber(r,{unit:"week"}):en(r,t.length)},d:function(e,t,n){return t==="do"?n.ordinalNumber(e.getDate(),{unit:"date"}):As.d(e,t)},D:function(e,t,n){const r=v0e(e);return t==="Do"?n.ordinalNumber(r,{unit:"dayOfYear"}):en(r,t.length)},E:function(e,t,n){const r=e.getDay();switch(t){case"E":case"EE":case"EEE":return n.day(r,{width:"abbreviated",context:"formatting"});case"EEEEE":return n.day(r,{width:"narrow",context:"formatting"});case"EEEEEE":return n.day(r,{width:"short",context:"formatting"});case"EEEE":default:return n.day(r,{width:"wide",context:"formatting"})}},e:function(e,t,n,r){const a=e.getDay(),o=(a-r.weekStartsOn+8)%7||7;switch(t){case"e":return String(o);case"ee":return en(o,2);case"eo":return n.ordinalNumber(o,{unit:"day"});case"eee":return n.day(a,{width:"abbreviated",context:"formatting"});case"eeeee":return n.day(a,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(a,{width:"short",context:"formatting"});case"eeee":default:return n.day(a,{width:"wide",context:"formatting"})}},c:function(e,t,n,r){const a=e.getDay(),o=(a-r.weekStartsOn+8)%7||7;switch(t){case"c":return String(o);case"cc":return en(o,t.length);case"co":return n.ordinalNumber(o,{unit:"day"});case"ccc":return n.day(a,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(a,{width:"narrow",context:"standalone"});case"cccccc":return n.day(a,{width:"short",context:"standalone"});case"cccc":default:return n.day(a,{width:"wide",context:"standalone"})}},i:function(e,t,n){const r=e.getDay(),a=r===0?7:r;switch(t){case"i":return String(a);case"ii":return en(a,t.length);case"io":return n.ordinalNumber(a,{unit:"day"});case"iii":return n.day(r,{width:"abbreviated",context:"formatting"});case"iiiii":return n.day(r,{width:"narrow",context:"formatting"});case"iiiiii":return n.day(r,{width:"short",context:"formatting"});case"iiii":default:return n.day(r,{width:"wide",context:"formatting"})}},a:function(e,t,n){const a=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(a,{width:"narrow",context:"formatting"});case"aaaa":default:return n.dayPeriod(a,{width:"wide",context:"formatting"})}},b:function(e,t,n){const r=e.getHours();let a;switch(r===12?a=su.noon:r===0?a=su.midnight:a=r/12>=1?"pm":"am",t){case"b":case"bb":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(a,{width:"narrow",context:"formatting"});case"bbbb":default:return n.dayPeriod(a,{width:"wide",context:"formatting"})}},B:function(e,t,n){const r=e.getHours();let a;switch(r>=17?a=su.evening:r>=12?a=su.afternoon:r>=4?a=su.morning:a=su.night,t){case"B":case"BB":case"BBB":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(a,{width:"narrow",context:"formatting"});case"BBBB":default:return n.dayPeriod(a,{width:"wide",context:"formatting"})}},h:function(e,t,n){if(t==="ho"){let r=e.getHours()%12;return r===0&&(r=12),n.ordinalNumber(r,{unit:"hour"})}return As.h(e,t)},H:function(e,t,n){return t==="Ho"?n.ordinalNumber(e.getHours(),{unit:"hour"}):As.H(e,t)},K:function(e,t,n){const r=e.getHours()%12;return t==="Ko"?n.ordinalNumber(r,{unit:"hour"}):en(r,t.length)},k:function(e,t,n){let r=e.getHours();return r===0&&(r=24),t==="ko"?n.ordinalNumber(r,{unit:"hour"}):en(r,t.length)},m:function(e,t,n){return t==="mo"?n.ordinalNumber(e.getMinutes(),{unit:"minute"}):As.m(e,t)},s:function(e,t,n){return t==="so"?n.ordinalNumber(e.getSeconds(),{unit:"second"}):As.s(e,t)},S:function(e,t){return As.S(e,t)},X:function(e,t,n){const r=e.getTimezoneOffset();if(r===0)return"Z";switch(t){case"X":return X4(r);case"XXXX":case"XX":return Nc(r);case"XXXXX":case"XXX":default:return Nc(r,":")}},x:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case"x":return X4(r);case"xxxx":case"xx":return Nc(r);case"xxxxx":case"xxx":default:return Nc(r,":")}},O:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+Q4(r,":");case"OOOO":default:return"GMT"+Nc(r,":")}},z:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+Q4(r,":");case"zzzz":default:return"GMT"+Nc(r,":")}},t:function(e,t,n){const r=Math.trunc(e.getTime()/1e3);return en(r,t.length)},T:function(e,t,n){const r=e.getTime();return en(r,t.length)}};function Q4(e,t=""){const n=e>0?"-":"+",r=Math.abs(e),a=Math.trunc(r/60),o=r%60;return o===0?n+String(a):n+String(a)+t+en(o,2)}i(Q4,"formatTimezoneShort");function X4(e,t){return e%60===0?(e>0?"-":"+")+en(Math.abs(e)/60,2):Nc(e,t)}i(X4,"formatTimezoneWithOptionalMinutes");function Nc(e,t=""){const n=e>0?"-":"+",r=Math.abs(e),a=en(Math.trunc(r/60),2),o=en(r%60,2);return n+a+t+o}i(Nc,"formatTimezone");const Z4=i((e,t)=>{switch(e){case"P":return t.date({width:"short"});case"PP":return t.date({width:"medium"});case"PPP":return t.date({width:"long"});case"PPPP":default:return t.date({width:"full"})}},"dateLongFormatter"),lB=i((e,t)=>{switch(e){case"p":return t.time({width:"short"});case"pp":return t.time({width:"medium"});case"ppp":return t.time({width:"long"});case"pppp":default:return t.time({width:"full"})}},"timeLongFormatter"),b0e=i((e,t)=>{const n=e.match(/(P+)(p+)?/)||[],r=n[1],a=n[2];if(!a)return Z4(e,t);let o;switch(r){case"P":o=t.dateTime({width:"short"});break;case"PP":o=t.dateTime({width:"medium"});break;case"PPP":o=t.dateTime({width:"long"});break;case"PPPP":default:o=t.dateTime({width:"full"});break}return o.replace("{{date}}",Z4(r,t)).replace("{{time}}",lB(a,t))},"dateTimeLongFormatter"),n3={p:lB,P:b0e},x0e=/^D+$/,w0e=/^Y+$/,C0e=["D","DD","YY","YYYY"];function uB(e){return x0e.test(e)}i(uB,"isProtectedDayOfYearToken");function dB(e){return w0e.test(e)}i(dB,"isProtectedWeekYearToken");function r3(e,t,n){const r=S0e(e,t,n);if(console.warn(r),C0e.includes(e))throw new RangeError(r)}i(r3,"warnOrThrowProtectedError");function S0e(e,t,n){const r=e[0]==="Y"?"years":"days of the month";return`Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${t}\`) for formatting ${r} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}i(S0e,"message");const j0e=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,_0e=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,k0e=/^'([^]*?)'?$/,$0e=/''/g,E0e=/[a-zA-Z]/;function R0e(e,t,n){var d,f,m,g,h,y,b,x;const r=Gl(),a=(n==null?void 0:n.locale)??r.locale??wE,o=(n==null?void 0:n.firstWeekContainsDate)??((f=(d=n==null?void 0:n.locale)==null?void 0:d.options)==null?void 0:f.firstWeekContainsDate)??r.firstWeekContainsDate??((g=(m=r.locale)==null?void 0:m.options)==null?void 0:g.firstWeekContainsDate)??1,s=(n==null?void 0:n.weekStartsOn)??((y=(h=n==null?void 0:n.locale)==null?void 0:h.options)==null?void 0:y.weekStartsOn)??r.weekStartsOn??((x=(b=r.locale)==null?void 0:b.options)==null?void 0:x.weekStartsOn)??0,c=Pt(e);if(!xE(c))throw new RangeError("Invalid time value");let l=t.match(_0e).map(w=>{const C=w[0];if(C==="p"||C==="P"){const j=n3[C];return j(w,a.formatLong)}return w}).join("").match(j0e).map(w=>{if(w==="''")return{isToken:!1,value:"'"};const C=w[0];if(C==="'")return{isToken:!1,value:A0e(w)};if(Y4[C])return{isToken:!0,value:w};if(C.match(E0e))throw new RangeError("Format string contains an unescaped latin alphabet character `"+C+"`");return{isToken:!1,value:w}});a.localize.preprocessor&&(l=a.localize.preprocessor(c,l));const u={firstWeekContainsDate:o,weekStartsOn:s,locale:a};return l.map(w=>{if(!w.isToken)return w.value;const C=w.value;(!(n!=null&&n.useAdditionalWeekYearTokens)&&dB(C)||!(n!=null&&n.useAdditionalDayOfYearTokens)&&uB(C))&&r3(C,t,String(e));const j=Y4[C[0]];return j(c,C,a.localize,u)}).join("")}i(R0e,"format$2");function A0e(e){const t=e.match(k0e);return t?t[1].replace($0e,"'"):e}i(A0e,"cleanEscapedString$1");function gg(e,t,n){const r=Gl(),a=(n==null?void 0:n.locale)??r.locale??wE,o=2520,s=ry(e,t);if(isNaN(s))throw new RangeError("Invalid time value");const c=Object.assign({},n,{addSuffix:n==null?void 0:n.addSuffix,comparison:s});let l,u;s>0?(l=Pt(t),u=Pt(e)):(l=Pt(e),u=Pt(t));const d=Ibe(u,l),f=(Xd(u)-Xd(l))/1e3,m=Math.round((d-f)/60);let g;if(m<2)return n!=null&&n.includeSeconds?d<5?a.formatDistance("lessThanXSeconds",5,c):d<10?a.formatDistance("lessThanXSeconds",10,c):d<20?a.formatDistance("lessThanXSeconds",20,c):d<40?a.formatDistance("halfAMinute",0,c):d<60?a.formatDistance("lessThanXMinutes",1,c):a.formatDistance("xMinutes",1,c):m===0?a.formatDistance("lessThanXMinutes",1,c):a.formatDistance("xMinutes",m,c);if(m<45)return a.formatDistance("xMinutes",m,c);if(m<90)return a.formatDistance("aboutXHours",1,c);if(mr.getTime()}i(M0e,"isAfter");function O0e(e,t){const n=t instanceof Date?yn(t,0):new t(0);return n.setFullYear(e.getFullYear(),e.getMonth(),e.getDate()),n.setHours(e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()),n}i(O0e,"transpose");const z0e=10,IA=class IA{constructor(){nt(this,"subPriority",0)}validate(t,n){return!0}};i(IA,"Setter");let _b=IA;const LA=class LA extends _b{constructor(t,n,r,a,o){super(),this.value=t,this.validateValue=n,this.setValue=r,this.priority=a,o&&(this.subPriority=o)}validate(t,n){return this.validateValue(t,this.value,n)}set(t,n,r){return this.setValue(t,n,this.value,r)}};i(LA,"ValueSetter");let a3=LA;const DA=class DA extends _b{constructor(){super(...arguments);nt(this,"priority",z0e);nt(this,"subPriority",-1)}set(n,r){return r.timestampIsSet?n:yn(n,O0e(n,Date))}};i(DA,"DateToSystemTimezoneSetter");let o3=DA;const NA=class NA{run(t,n,r,a){const o=this.parse(t,n,r,a);return o?{setter:new a3(o.value,this.validate,this.set,this.priority,this.subPriority),rest:o.rest}:null}validate(t,n,r){return!0}};i(NA,"Parser");let Ht=NA;const FA=class FA extends Ht{constructor(){super(...arguments);nt(this,"priority",140);nt(this,"incompatibleTokens",["R","u","t","T"])}parse(n,r,a){switch(r){case"G":case"GG":case"GGG":return a.era(n,{width:"abbreviated"})||a.era(n,{width:"narrow"});case"GGGGG":return a.era(n,{width:"narrow"});case"GGGG":default:return a.era(n,{width:"wide"})||a.era(n,{width:"abbreviated"})||a.era(n,{width:"narrow"})}}set(n,r,a){return r.era=a,n.setFullYear(a,0,1),n.setHours(0,0,0,0),n}};i(FA,"EraParser");let i3=FA;const Hn={month:/^(1[0-2]|0?\d)/,date:/^(3[0-1]|[0-2]?\d)/,dayOfYear:/^(36[0-6]|3[0-5]\d|[0-2]?\d?\d)/,week:/^(5[0-3]|[0-4]?\d)/,hour23h:/^(2[0-3]|[0-1]?\d)/,hour24h:/^(2[0-4]|[0-1]?\d)/,hour11h:/^(1[0-1]|0?\d)/,hour12h:/^(1[0-2]|0?\d)/,minute:/^[0-5]?\d/,second:/^[0-5]?\d/,singleDigit:/^\d/,twoDigits:/^\d{1,2}/,threeDigits:/^\d{1,3}/,fourDigits:/^\d{1,4}/,anyDigitsSigned:/^-?\d+/,singleDigitSigned:/^-?\d/,twoDigitsSigned:/^-?\d{1,2}/,threeDigitsSigned:/^-?\d{1,3}/,fourDigitsSigned:/^-?\d{1,4}/},fi={basicOptionalMinutes:/^([+-])(\d{2})(\d{2})?|Z/,basic:/^([+-])(\d{2})(\d{2})|Z/,basicOptionalSeconds:/^([+-])(\d{2})(\d{2})((\d{2}))?|Z/,extended:/^([+-])(\d{2}):(\d{2})|Z/,extendedOptionalSeconds:/^([+-])(\d{2}):(\d{2})(:(\d{2}))?|Z/};function qn(e,t){return e&&{value:t(e.value),rest:e.rest}}i(qn,"mapValue");function En(e,t){const n=t.match(e);return n?{value:parseInt(n[0],10),rest:t.slice(n[0].length)}:null}i(En,"parseNumericPattern");function pi(e,t){const n=t.match(e);if(!n)return null;if(n[0]==="Z")return{value:0,rest:t.slice(1)};const r=n[1]==="+"?1:-1,a=n[2]?parseInt(n[2],10):0,o=n[3]?parseInt(n[3],10):0,s=n[5]?parseInt(n[5],10):0;return{value:r*(a*bE+o*yE+s*jbe),rest:t.slice(n[0].length)}}i(pi,"parseTimezonePattern");function fB(e){return En(Hn.anyDigitsSigned,e)}i(fB,"parseAnyDigitsSigned");function In(e,t){switch(e){case 1:return En(Hn.singleDigit,t);case 2:return En(Hn.twoDigits,t);case 3:return En(Hn.threeDigits,t);case 4:return En(Hn.fourDigits,t);default:return En(new RegExp("^\\d{1,"+e+"}"),t)}}i(In,"parseNDigits");function kb(e,t){switch(e){case 1:return En(Hn.singleDigitSigned,t);case 2:return En(Hn.twoDigitsSigned,t);case 3:return En(Hn.threeDigitsSigned,t);case 4:return En(Hn.fourDigitsSigned,t);default:return En(new RegExp("^-?\\d{1,"+e+"}"),t)}}i(kb,"parseNDigitsSigned");function SE(e){switch(e){case"morning":return 4;case"evening":return 17;case"pm":case"noon":case"afternoon":return 12;case"am":case"midnight":case"night":default:return 0}}i(SE,"dayPeriodEnumToHours");function pB(e,t){const n=t>0,r=n?t:1-t;let a;if(r<=50)a=e||100;else{const o=r+50,s=Math.trunc(o/100)*100,c=e>=o%100;a=e+s-(c?100:0)}return n?a:1-a}i(pB,"normalizeTwoDigitYear");function mB(e){return e%400===0||e%4===0&&e%100!==0}i(mB,"isLeapYearIndex$1");const BA=class BA extends Ht{constructor(){super(...arguments);nt(this,"priority",130);nt(this,"incompatibleTokens",["Y","R","u","w","I","i","e","c","t","T"])}parse(n,r,a){const o=i(s=>({year:s,isTwoDigitYear:r==="yy"}),"valueCallback");switch(r){case"y":return qn(In(4,n),o);case"yo":return qn(a.ordinalNumber(n,{unit:"year"}),o);default:return qn(In(r.length,n),o)}}validate(n,r){return r.isTwoDigitYear||r.year>0}set(n,r,a){const o=n.getFullYear();if(a.isTwoDigitYear){const c=pB(a.year,o);return n.setFullYear(c,0,1),n.setHours(0,0,0,0),n}const s=!("era"in r)||r.era===1?a.year:1-a.year;return n.setFullYear(s,0,1),n.setHours(0,0,0,0),n}};i(BA,"YearParser");let s3=BA;const WA=class WA extends Ht{constructor(){super(...arguments);nt(this,"priority",130);nt(this,"incompatibleTokens",["y","R","u","Q","q","M","L","I","d","D","i","t","T"])}parse(n,r,a){const o=i(s=>({year:s,isTwoDigitYear:r==="YY"}),"valueCallback");switch(r){case"Y":return qn(In(4,n),o);case"Yo":return qn(a.ordinalNumber(n,{unit:"year"}),o);default:return qn(In(r.length,n),o)}}validate(n,r){return r.isTwoDigitYear||r.year>0}set(n,r,a,o){const s=CE(n,o);if(a.isTwoDigitYear){const l=pB(a.year,s);return n.setFullYear(l,0,o.firstWeekContainsDate),n.setHours(0,0,0,0),$i(n,o)}const c=!("era"in r)||r.era===1?a.year:1-a.year;return n.setFullYear(c,0,o.firstWeekContainsDate),n.setHours(0,0,0,0),$i(n,o)}};i(WA,"LocalWeekYearParser");let c3=WA;const UA=class UA extends Ht{constructor(){super(...arguments);nt(this,"priority",130);nt(this,"incompatibleTokens",["G","y","Y","u","Q","q","M","L","w","d","D","e","c","t","T"])}parse(n,r){return kb(r==="R"?4:r.length,n)}set(n,r,a){const o=yn(n,0);return o.setFullYear(a,0,4),o.setHours(0,0,0,0),Qd(o)}};i(UA,"ISOWeekYearParser");let l3=UA;const HA=class HA extends Ht{constructor(){super(...arguments);nt(this,"priority",130);nt(this,"incompatibleTokens",["G","y","Y","R","w","I","i","e","c","t","T"])}parse(n,r){return kb(r==="u"?4:r.length,n)}set(n,r,a){return n.setFullYear(a,0,1),n.setHours(0,0,0,0),n}};i(HA,"ExtendedYearParser");let u3=HA;const qA=class qA extends Ht{constructor(){super(...arguments);nt(this,"priority",120);nt(this,"incompatibleTokens",["Y","R","q","M","L","w","I","d","D","i","e","c","t","T"])}parse(n,r,a){switch(r){case"Q":case"QQ":return In(r.length,n);case"Qo":return a.ordinalNumber(n,{unit:"quarter"});case"QQQ":return a.quarter(n,{width:"abbreviated",context:"formatting"})||a.quarter(n,{width:"narrow",context:"formatting"});case"QQQQQ":return a.quarter(n,{width:"narrow",context:"formatting"});case"QQQQ":default:return a.quarter(n,{width:"wide",context:"formatting"})||a.quarter(n,{width:"abbreviated",context:"formatting"})||a.quarter(n,{width:"narrow",context:"formatting"})}}validate(n,r){return r>=1&&r<=4}set(n,r,a){return n.setMonth((a-1)*3,1),n.setHours(0,0,0,0),n}};i(qA,"QuarterParser");let d3=qA;const VA=class VA extends Ht{constructor(){super(...arguments);nt(this,"priority",120);nt(this,"incompatibleTokens",["Y","R","Q","M","L","w","I","d","D","i","e","c","t","T"])}parse(n,r,a){switch(r){case"q":case"qq":return In(r.length,n);case"qo":return a.ordinalNumber(n,{unit:"quarter"});case"qqq":return a.quarter(n,{width:"abbreviated",context:"standalone"})||a.quarter(n,{width:"narrow",context:"standalone"});case"qqqqq":return a.quarter(n,{width:"narrow",context:"standalone"});case"qqqq":default:return a.quarter(n,{width:"wide",context:"standalone"})||a.quarter(n,{width:"abbreviated",context:"standalone"})||a.quarter(n,{width:"narrow",context:"standalone"})}}validate(n,r){return r>=1&&r<=4}set(n,r,a){return n.setMonth((a-1)*3,1),n.setHours(0,0,0,0),n}};i(VA,"StandAloneQuarterParser");let f3=VA;const GA=class GA extends Ht{constructor(){super(...arguments);nt(this,"incompatibleTokens",["Y","R","q","Q","L","w","I","D","i","e","c","t","T"]);nt(this,"priority",110)}parse(n,r,a){const o=i(s=>s-1,"valueCallback");switch(r){case"M":return qn(En(Hn.month,n),o);case"MM":return qn(In(2,n),o);case"Mo":return qn(a.ordinalNumber(n,{unit:"month"}),o);case"MMM":return a.month(n,{width:"abbreviated",context:"formatting"})||a.month(n,{width:"narrow",context:"formatting"});case"MMMMM":return a.month(n,{width:"narrow",context:"formatting"});case"MMMM":default:return a.month(n,{width:"wide",context:"formatting"})||a.month(n,{width:"abbreviated",context:"formatting"})||a.month(n,{width:"narrow",context:"formatting"})}}validate(n,r){return r>=0&&r<=11}set(n,r,a){return n.setMonth(a,1),n.setHours(0,0,0,0),n}};i(GA,"MonthParser");let p3=GA;const KA=class KA extends Ht{constructor(){super(...arguments);nt(this,"priority",110);nt(this,"incompatibleTokens",["Y","R","q","Q","M","w","I","D","i","e","c","t","T"])}parse(n,r,a){const o=i(s=>s-1,"valueCallback");switch(r){case"L":return qn(En(Hn.month,n),o);case"LL":return qn(In(2,n),o);case"Lo":return qn(a.ordinalNumber(n,{unit:"month"}),o);case"LLL":return a.month(n,{width:"abbreviated",context:"standalone"})||a.month(n,{width:"narrow",context:"standalone"});case"LLLLL":return a.month(n,{width:"narrow",context:"standalone"});case"LLLL":default:return a.month(n,{width:"wide",context:"standalone"})||a.month(n,{width:"abbreviated",context:"standalone"})||a.month(n,{width:"narrow",context:"standalone"})}}validate(n,r){return r>=0&&r<=11}set(n,r,a){return n.setMonth(a,1),n.setHours(0,0,0,0),n}};i(KA,"StandAloneMonthParser");let m3=KA;function I0e(e,t,n){const r=Pt(e),a=cB(r,n)-t;return r.setDate(r.getDate()-a*7),r}i(I0e,"setWeek");const JA=class JA extends Ht{constructor(){super(...arguments);nt(this,"priority",100);nt(this,"incompatibleTokens",["y","R","u","q","Q","M","L","I","d","D","i","t","T"])}parse(n,r,a){switch(r){case"w":return En(Hn.week,n);case"wo":return a.ordinalNumber(n,{unit:"week"});default:return In(r.length,n)}}validate(n,r){return r>=1&&r<=53}set(n,r,a,o){return $i(I0e(n,a,o),o)}};i(JA,"LocalWeekParser");let h3=JA;function L0e(e,t){const n=Pt(e),r=sB(n)-t;return n.setDate(n.getDate()-r*7),n}i(L0e,"setISOWeek");const YA=class YA extends Ht{constructor(){super(...arguments);nt(this,"priority",100);nt(this,"incompatibleTokens",["y","Y","u","q","Q","M","L","w","d","D","e","c","t","T"])}parse(n,r,a){switch(r){case"I":return En(Hn.week,n);case"Io":return a.ordinalNumber(n,{unit:"week"});default:return In(r.length,n)}}validate(n,r){return r>=1&&r<=53}set(n,r,a){return Qd(L0e(n,a))}};i(YA,"ISOWeekParser");let g3=YA;const D0e=[31,28,31,30,31,30,31,31,30,31,30,31],N0e=[31,29,31,30,31,30,31,31,30,31,30,31],QA=class QA extends Ht{constructor(){super(...arguments);nt(this,"priority",90);nt(this,"subPriority",1);nt(this,"incompatibleTokens",["Y","R","q","Q","w","I","D","i","e","c","t","T"])}parse(n,r,a){switch(r){case"d":return En(Hn.date,n);case"do":return a.ordinalNumber(n,{unit:"date"});default:return In(r.length,n)}}validate(n,r){const a=n.getFullYear(),o=mB(a),s=n.getMonth();return o?r>=1&&r<=N0e[s]:r>=1&&r<=D0e[s]}set(n,r,a){return n.setDate(a),n.setHours(0,0,0,0),n}};i(QA,"DateParser");let v3=QA;const XA=class XA extends Ht{constructor(){super(...arguments);nt(this,"priority",90);nt(this,"subpriority",1);nt(this,"incompatibleTokens",["Y","R","q","Q","M","L","w","I","d","E","i","e","c","t","T"])}parse(n,r,a){switch(r){case"D":case"DD":return En(Hn.dayOfYear,n);case"Do":return a.ordinalNumber(n,{unit:"date"});default:return In(r.length,n)}}validate(n,r){const a=n.getFullYear();return mB(a)?r>=1&&r<=366:r>=1&&r<=365}set(n,r,a){return n.setMonth(0,a),n.setHours(0,0,0,0),n}};i(XA,"DayOfYearParser");let y3=XA;function jE(e,t,n){var f,m,g,h;const r=Gl(),a=(n==null?void 0:n.weekStartsOn)??((m=(f=n==null?void 0:n.locale)==null?void 0:f.options)==null?void 0:m.weekStartsOn)??r.weekStartsOn??((h=(g=r.locale)==null?void 0:g.options)==null?void 0:h.weekStartsOn)??0,o=Pt(e),s=o.getDay(),l=(t%7+7)%7,u=7-a,d=t<0||t>6?t-(s+u)%7:(l+u)%7-(s+u)%7;return vE(o,d)}i(jE,"setDay");const ZA=class ZA extends Ht{constructor(){super(...arguments);nt(this,"priority",90);nt(this,"incompatibleTokens",["D","i","e","c","t","T"])}parse(n,r,a){switch(r){case"E":case"EE":case"EEE":return a.day(n,{width:"abbreviated",context:"formatting"})||a.day(n,{width:"short",context:"formatting"})||a.day(n,{width:"narrow",context:"formatting"});case"EEEEE":return a.day(n,{width:"narrow",context:"formatting"});case"EEEEEE":return a.day(n,{width:"short",context:"formatting"})||a.day(n,{width:"narrow",context:"formatting"});case"EEEE":default:return a.day(n,{width:"wide",context:"formatting"})||a.day(n,{width:"abbreviated",context:"formatting"})||a.day(n,{width:"short",context:"formatting"})||a.day(n,{width:"narrow",context:"formatting"})}}validate(n,r){return r>=0&&r<=6}set(n,r,a,o){return n=jE(n,a,o),n.setHours(0,0,0,0),n}};i(ZA,"DayParser");let b3=ZA;const eP=class eP extends Ht{constructor(){super(...arguments);nt(this,"priority",90);nt(this,"incompatibleTokens",["y","R","u","q","Q","M","L","I","d","D","E","i","c","t","T"])}parse(n,r,a,o){const s=i(c=>{const l=Math.floor((c-1)/7)*7;return(c+o.weekStartsOn+6)%7+l},"valueCallback");switch(r){case"e":case"ee":return qn(In(r.length,n),s);case"eo":return qn(a.ordinalNumber(n,{unit:"day"}),s);case"eee":return a.day(n,{width:"abbreviated",context:"formatting"})||a.day(n,{width:"short",context:"formatting"})||a.day(n,{width:"narrow",context:"formatting"});case"eeeee":return a.day(n,{width:"narrow",context:"formatting"});case"eeeeee":return a.day(n,{width:"short",context:"formatting"})||a.day(n,{width:"narrow",context:"formatting"});case"eeee":default:return a.day(n,{width:"wide",context:"formatting"})||a.day(n,{width:"abbreviated",context:"formatting"})||a.day(n,{width:"short",context:"formatting"})||a.day(n,{width:"narrow",context:"formatting"})}}validate(n,r){return r>=0&&r<=6}set(n,r,a,o){return n=jE(n,a,o),n.setHours(0,0,0,0),n}};i(eP,"LocalDayParser");let x3=eP;const tP=class tP extends Ht{constructor(){super(...arguments);nt(this,"priority",90);nt(this,"incompatibleTokens",["y","R","u","q","Q","M","L","I","d","D","E","i","e","t","T"])}parse(n,r,a,o){const s=i(c=>{const l=Math.floor((c-1)/7)*7;return(c+o.weekStartsOn+6)%7+l},"valueCallback");switch(r){case"c":case"cc":return qn(In(r.length,n),s);case"co":return qn(a.ordinalNumber(n,{unit:"day"}),s);case"ccc":return a.day(n,{width:"abbreviated",context:"standalone"})||a.day(n,{width:"short",context:"standalone"})||a.day(n,{width:"narrow",context:"standalone"});case"ccccc":return a.day(n,{width:"narrow",context:"standalone"});case"cccccc":return a.day(n,{width:"short",context:"standalone"})||a.day(n,{width:"narrow",context:"standalone"});case"cccc":default:return a.day(n,{width:"wide",context:"standalone"})||a.day(n,{width:"abbreviated",context:"standalone"})||a.day(n,{width:"short",context:"standalone"})||a.day(n,{width:"narrow",context:"standalone"})}}validate(n,r){return r>=0&&r<=6}set(n,r,a,o){return n=jE(n,a,o),n.setHours(0,0,0,0),n}};i(tP,"StandAloneLocalDayParser");let w3=tP;function F0e(e,t){const n=Pt(e),r=T0e(n),a=t-r;return vE(n,a)}i(F0e,"setISODay");const nP=class nP extends Ht{constructor(){super(...arguments);nt(this,"priority",90);nt(this,"incompatibleTokens",["y","Y","u","q","Q","M","L","w","d","D","E","e","c","t","T"])}parse(n,r,a){const o=i(s=>s===0?7:s,"valueCallback");switch(r){case"i":case"ii":return In(r.length,n);case"io":return a.ordinalNumber(n,{unit:"day"});case"iii":return qn(a.day(n,{width:"abbreviated",context:"formatting"})||a.day(n,{width:"short",context:"formatting"})||a.day(n,{width:"narrow",context:"formatting"}),o);case"iiiii":return qn(a.day(n,{width:"narrow",context:"formatting"}),o);case"iiiiii":return qn(a.day(n,{width:"short",context:"formatting"})||a.day(n,{width:"narrow",context:"formatting"}),o);case"iiii":default:return qn(a.day(n,{width:"wide",context:"formatting"})||a.day(n,{width:"abbreviated",context:"formatting"})||a.day(n,{width:"short",context:"formatting"})||a.day(n,{width:"narrow",context:"formatting"}),o)}}validate(n,r){return r>=1&&r<=7}set(n,r,a){return n=F0e(n,a),n.setHours(0,0,0,0),n}};i(nP,"ISODayParser");let C3=nP;const rP=class rP extends Ht{constructor(){super(...arguments);nt(this,"priority",80);nt(this,"incompatibleTokens",["b","B","H","k","t","T"])}parse(n,r,a){switch(r){case"a":case"aa":case"aaa":return a.dayPeriod(n,{width:"abbreviated",context:"formatting"})||a.dayPeriod(n,{width:"narrow",context:"formatting"});case"aaaaa":return a.dayPeriod(n,{width:"narrow",context:"formatting"});case"aaaa":default:return a.dayPeriod(n,{width:"wide",context:"formatting"})||a.dayPeriod(n,{width:"abbreviated",context:"formatting"})||a.dayPeriod(n,{width:"narrow",context:"formatting"})}}set(n,r,a){return n.setHours(SE(a),0,0,0),n}};i(rP,"AMPMParser");let S3=rP;const aP=class aP extends Ht{constructor(){super(...arguments);nt(this,"priority",80);nt(this,"incompatibleTokens",["a","B","H","k","t","T"])}parse(n,r,a){switch(r){case"b":case"bb":case"bbb":return a.dayPeriod(n,{width:"abbreviated",context:"formatting"})||a.dayPeriod(n,{width:"narrow",context:"formatting"});case"bbbbb":return a.dayPeriod(n,{width:"narrow",context:"formatting"});case"bbbb":default:return a.dayPeriod(n,{width:"wide",context:"formatting"})||a.dayPeriod(n,{width:"abbreviated",context:"formatting"})||a.dayPeriod(n,{width:"narrow",context:"formatting"})}}set(n,r,a){return n.setHours(SE(a),0,0,0),n}};i(aP,"AMPMMidnightParser");let j3=aP;const oP=class oP extends Ht{constructor(){super(...arguments);nt(this,"priority",80);nt(this,"incompatibleTokens",["a","b","t","T"])}parse(n,r,a){switch(r){case"B":case"BB":case"BBB":return a.dayPeriod(n,{width:"abbreviated",context:"formatting"})||a.dayPeriod(n,{width:"narrow",context:"formatting"});case"BBBBB":return a.dayPeriod(n,{width:"narrow",context:"formatting"});case"BBBB":default:return a.dayPeriod(n,{width:"wide",context:"formatting"})||a.dayPeriod(n,{width:"abbreviated",context:"formatting"})||a.dayPeriod(n,{width:"narrow",context:"formatting"})}}set(n,r,a){return n.setHours(SE(a),0,0,0),n}};i(oP,"DayPeriodParser");let _3=oP;const iP=class iP extends Ht{constructor(){super(...arguments);nt(this,"priority",70);nt(this,"incompatibleTokens",["H","K","k","t","T"])}parse(n,r,a){switch(r){case"h":return En(Hn.hour12h,n);case"ho":return a.ordinalNumber(n,{unit:"hour"});default:return In(r.length,n)}}validate(n,r){return r>=1&&r<=12}set(n,r,a){const o=n.getHours()>=12;return o&&a<12?n.setHours(a+12,0,0,0):!o&&a===12?n.setHours(0,0,0,0):n.setHours(a,0,0,0),n}};i(iP,"Hour1to12Parser");let k3=iP;const sP=class sP extends Ht{constructor(){super(...arguments);nt(this,"priority",70);nt(this,"incompatibleTokens",["a","b","h","K","k","t","T"])}parse(n,r,a){switch(r){case"H":return En(Hn.hour23h,n);case"Ho":return a.ordinalNumber(n,{unit:"hour"});default:return In(r.length,n)}}validate(n,r){return r>=0&&r<=23}set(n,r,a){return n.setHours(a,0,0,0),n}};i(sP,"Hour0to23Parser");let $3=sP;const cP=class cP extends Ht{constructor(){super(...arguments);nt(this,"priority",70);nt(this,"incompatibleTokens",["h","H","k","t","T"])}parse(n,r,a){switch(r){case"K":return En(Hn.hour11h,n);case"Ko":return a.ordinalNumber(n,{unit:"hour"});default:return In(r.length,n)}}validate(n,r){return r>=0&&r<=11}set(n,r,a){return n.getHours()>=12&&a<12?n.setHours(a+12,0,0,0):n.setHours(a,0,0,0),n}};i(cP,"Hour0To11Parser");let E3=cP;const lP=class lP extends Ht{constructor(){super(...arguments);nt(this,"priority",70);nt(this,"incompatibleTokens",["a","b","h","H","K","t","T"])}parse(n,r,a){switch(r){case"k":return En(Hn.hour24h,n);case"ko":return a.ordinalNumber(n,{unit:"hour"});default:return In(r.length,n)}}validate(n,r){return r>=1&&r<=24}set(n,r,a){const o=a<=24?a%24:a;return n.setHours(o,0,0,0),n}};i(lP,"Hour1To24Parser");let R3=lP;const uP=class uP extends Ht{constructor(){super(...arguments);nt(this,"priority",60);nt(this,"incompatibleTokens",["t","T"])}parse(n,r,a){switch(r){case"m":return En(Hn.minute,n);case"mo":return a.ordinalNumber(n,{unit:"minute"});default:return In(r.length,n)}}validate(n,r){return r>=0&&r<=59}set(n,r,a){return n.setMinutes(a,0,0),n}};i(uP,"MinuteParser");let A3=uP;const dP=class dP extends Ht{constructor(){super(...arguments);nt(this,"priority",50);nt(this,"incompatibleTokens",["t","T"])}parse(n,r,a){switch(r){case"s":return En(Hn.second,n);case"so":return a.ordinalNumber(n,{unit:"second"});default:return In(r.length,n)}}validate(n,r){return r>=0&&r<=59}set(n,r,a){return n.setSeconds(a,0),n}};i(dP,"SecondParser");let P3=dP;const fP=class fP extends Ht{constructor(){super(...arguments);nt(this,"priority",30);nt(this,"incompatibleTokens",["t","T"])}parse(n,r){const a=i(o=>Math.trunc(o*Math.pow(10,-r.length+3)),"valueCallback");return qn(In(r.length,n),a)}set(n,r,a){return n.setMilliseconds(a),n}};i(fP,"FractionOfSecondParser");let T3=fP;const pP=class pP extends Ht{constructor(){super(...arguments);nt(this,"priority",10);nt(this,"incompatibleTokens",["t","T","x"])}parse(n,r){switch(r){case"X":return pi(fi.basicOptionalMinutes,n);case"XX":return pi(fi.basic,n);case"XXXX":return pi(fi.basicOptionalSeconds,n);case"XXXXX":return pi(fi.extendedOptionalSeconds,n);case"XXX":default:return pi(fi.extended,n)}}set(n,r,a){return r.timestampIsSet?n:yn(n,n.getTime()-Xd(n)-a)}};i(pP,"ISOTimezoneWithZParser");let M3=pP;const mP=class mP extends Ht{constructor(){super(...arguments);nt(this,"priority",10);nt(this,"incompatibleTokens",["t","T","X"])}parse(n,r){switch(r){case"x":return pi(fi.basicOptionalMinutes,n);case"xx":return pi(fi.basic,n);case"xxxx":return pi(fi.basicOptionalSeconds,n);case"xxxxx":return pi(fi.extendedOptionalSeconds,n);case"xxx":default:return pi(fi.extended,n)}}set(n,r,a){return r.timestampIsSet?n:yn(n,n.getTime()-Xd(n)-a)}};i(mP,"ISOTimezoneParser");let O3=mP;const hP=class hP extends Ht{constructor(){super(...arguments);nt(this,"priority",40);nt(this,"incompatibleTokens","*")}parse(n){return fB(n)}set(n,r,a){return[yn(n,a*1e3),{timestampIsSet:!0}]}};i(hP,"TimestampSecondsParser");let z3=hP;const gP=class gP extends Ht{constructor(){super(...arguments);nt(this,"priority",20);nt(this,"incompatibleTokens","*")}parse(n){return fB(n)}set(n,r,a){return[yn(n,a),{timestampIsSet:!0}]}};i(gP,"TimestampMillisecondsParser");let I3=gP;const B0e={G:new i3,y:new s3,Y:new c3,R:new l3,u:new u3,Q:new d3,q:new f3,M:new p3,L:new m3,w:new h3,I:new g3,d:new v3,D:new y3,E:new b3,e:new x3,c:new w3,i:new C3,a:new S3,b:new j3,B:new _3,h:new k3,H:new $3,K:new E3,k:new R3,m:new A3,s:new P3,S:new T3,X:new M3,x:new O3,t:new z3,T:new I3},W0e=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,U0e=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,H0e=/^'([^]*?)'?$/,q0e=/''/g,V0e=/\S/,G0e=/[a-zA-Z]/;function K0e(e,t,n,r){var y,b,x,w,C,j,_,S;const a=P0e(),o=(r==null?void 0:r.locale)??a.locale??wE,s=(r==null?void 0:r.firstWeekContainsDate)??((b=(y=r==null?void 0:r.locale)==null?void 0:y.options)==null?void 0:b.firstWeekContainsDate)??a.firstWeekContainsDate??((w=(x=a.locale)==null?void 0:x.options)==null?void 0:w.firstWeekContainsDate)??1,c=(r==null?void 0:r.weekStartsOn)??((j=(C=r==null?void 0:r.locale)==null?void 0:C.options)==null?void 0:j.weekStartsOn)??a.weekStartsOn??((S=(_=a.locale)==null?void 0:_.options)==null?void 0:S.weekStartsOn)??0;if(t==="")return e===""?Pt(n):yn(n,NaN);const l={firstWeekContainsDate:s,weekStartsOn:c,locale:o},u=[new o3],d=t.match(U0e).map(k=>{const $=k[0];if($ in n3){const E=n3[$];return E(k,o.formatLong)}return k}).join("").match(W0e),f=[];for(let k of d){!(r!=null&&r.useAdditionalWeekYearTokens)&&dB(k)&&r3(k,t,e),!(r!=null&&r.useAdditionalDayOfYearTokens)&&uB(k)&&r3(k,t,e);const $=k[0],E=B0e[$];if(E){const{incompatibleTokens:P}=E;if(Array.isArray(P)){const T=f.find(M=>P.includes(M.token)||M.token===$);if(T)throw new RangeError(`The format string mustn't contain \`${T.fullToken}\` and \`${k}\` at the same time`)}else if(E.incompatibleTokens==="*"&&f.length>0)throw new RangeError(`The format string mustn't contain \`${k}\` and any other token at the same time`);f.push({token:$,fullToken:k});const R=E.run(e,k,o.match,l);if(!R)return yn(n,NaN);u.push(R.setter),e=R.rest}else{if($.match(G0e))throw new RangeError("Format string contains an unescaped latin alphabet character `"+$+"`");if(k==="''"?k="'":$==="'"&&(k=J0e(k)),e.indexOf(k)===0)e=e.slice(k.length);else return yn(n,NaN)}}if(e.length>0&&V0e.test(e))return yn(n,NaN);const m=u.map(k=>k.priority).sort((k,$)=>$-k).filter((k,$,E)=>E.indexOf(k)===$).map(k=>u.filter($=>$.priority===k).sort(($,E)=>E.subPriority-$.subPriority)).map(k=>k[0]);let g=Pt(n);if(isNaN(g.getTime()))return yn(n,NaN);const h={};for(const k of m){if(!k.validate(g,l))return yn(n,NaN);const $=k.set(g,h,l);Array.isArray($)?(g=$[0],Object.assign(h,$[1])):g=$}return yn(n,g)}i(K0e,"parse$2");function J0e(e){return e.match(H0e)[1].replace(q0e,"'")}i(J0e,"cleanEscapedString");function eO(e,t,n){return xE(K0e(e,t,new Date,n))}i(eO,"isMatch");function Y0e(e,t){const n=(t==null?void 0:t.additionalDigits)??2,r=exe(e);let a;if(r.date){const l=txe(r.date,n);a=nxe(l.restDateString,l.year)}if(!a||isNaN(a.getTime()))return new Date(NaN);const o=a.getTime();let s=0,c;if(r.time&&(s=rxe(r.time),isNaN(s)))return new Date(NaN);if(r.timezone){if(c=axe(r.timezone),isNaN(c))return new Date(NaN)}else{const l=new Date(o+s),u=new Date(0);return u.setFullYear(l.getUTCFullYear(),l.getUTCMonth(),l.getUTCDate()),u.setHours(l.getUTCHours(),l.getUTCMinutes(),l.getUTCSeconds(),l.getUTCMilliseconds()),u}return new Date(o+s+c)}i(Y0e,"parseISO");const fv={dateTimeDelimiter:/[T ]/,timeZoneDelimiter:/[Z ]/i,timezone:/([Z+-].*)$/},Q0e=/^-?(?:(\d{3})|(\d{2})(?:-?(\d{2}))?|W(\d{2})(?:-?(\d{1}))?|)$/,X0e=/^(\d{2}(?:[.,]\d*)?)(?::?(\d{2}(?:[.,]\d*)?))?(?::?(\d{2}(?:[.,]\d*)?))?$/,Z0e=/^([+-])(\d{2})(?::?(\d{2}))?$/;function exe(e){const t={},n=e.split(fv.dateTimeDelimiter);let r;if(n.length>2)return t;if(/:/.test(n[0])?r=n[0]:(t.date=n[0],r=n[1],fv.timeZoneDelimiter.test(t.date)&&(t.date=e.split(fv.timeZoneDelimiter)[0],r=e.substr(t.date.length,e.length))),r){const a=fv.timezone.exec(r);a?(t.time=r.replace(a[1],""),t.timezone=a[1]):t.time=r}return t}i(exe,"splitDateString");function txe(e,t){const n=new RegExp("^(?:(\\d{4}|[+-]\\d{"+(4+t)+"})|(\\d{2}|[+-]\\d{"+(2+t)+"})$)"),r=e.match(n);if(!r)return{year:NaN,restDateString:""};const a=r[1]?parseInt(r[1]):null,o=r[2]?parseInt(r[2]):null;return{year:o===null?a:o*100,restDateString:e.slice((r[1]||r[2]).length)}}i(txe,"parseYear$1");function nxe(e,t){if(t===null)return new Date(NaN);const n=e.match(Q0e);if(!n)return new Date(NaN);const r=!!n[4],a=kp(n[1]),o=kp(n[2])-1,s=kp(n[3]),c=kp(n[4]),l=kp(n[5])-1;if(r)return lxe(t,c,l)?oxe(t,c,l):new Date(NaN);{const u=new Date(0);return!sxe(t,o,s)||!cxe(t,a)?new Date(NaN):(u.setUTCFullYear(t,o,Math.max(a,s)),u)}}i(nxe,"parseDate");function kp(e){return e?parseInt(e):1}i(kp,"parseDateUnit");function rxe(e){const t=e.match(X0e);if(!t)return NaN;const n=E2(t[1]),r=E2(t[2]),a=E2(t[3]);return uxe(n,r,a)?n*bE+r*yE+a*1e3:NaN}i(rxe,"parseTime");function E2(e){return e&&parseFloat(e.replace(",","."))||0}i(E2,"parseTimeUnit");function axe(e){if(e==="Z")return 0;const t=e.match(Z0e);if(!t)return 0;const n=t[1]==="+"?-1:1,r=parseInt(t[2]),a=t[3]&&parseInt(t[3])||0;return dxe(r,a)?n*(r*bE+a*yE):NaN}i(axe,"parseTimezone");function oxe(e,t,n){const r=new Date(0);r.setUTCFullYear(e,0,4);const a=r.getUTCDay()||7,o=(t-1)*7+n+1-a;return r.setUTCDate(r.getUTCDate()+o),r}i(oxe,"dayOfISOWeekYear");const ixe=[31,null,31,30,31,30,31,31,30,31,30,31];function hB(e){return e%400===0||e%4===0&&e%100!==0}i(hB,"isLeapYearIndex");function sxe(e,t,n){return t>=0&&t<=11&&n>=1&&n<=(ixe[t]||(hB(e)?29:28))}i(sxe,"validateDate");function cxe(e,t){return t>=1&&t<=(hB(e)?366:365)}i(cxe,"validateDayOfYearDate");function lxe(e,t,n){return t>=1&&t<=53&&n>=0&&n<=6}i(lxe,"validateWeekDate");function uxe(e,t,n){return e===24?t===0&&n===0:n>=0&&n<60&&t>=0&&t<60&&e>=0&&e<25}i(uxe,"validateTime");function dxe(e,t){return t>=0&&t<=59}i(dxe,"validateTimezone");function fxe(e,t){return aB(e,-t)}i(fxe,"subMonths");const pxe=i(e=>!isNaN(parseFloat(e))&&isFinite(e),"isNumeric"),mxe=i(e=>e.every(pxe),"valuesAreNumeric"),hxe=i(e=>Number.isInteger(e)||!isNaN(parseInt(e)),"isInteger"),gxe=i(e=>e.every(hxe),"valuesAreInteger"),vxe=i(e=>typeof e=="boolean","isBoolean"),yxe=i(e=>e.every(vxe),"valuesAreBoolean"),bxe=i(e=>typeof e=="string","isString$3"),xxe=i(e=>e.every(bxe),"valuesAreString"),wxe=/<([A-Z][A-Z0-9]*)\b[^>]*>(.*?)<\/\1>/i,Cxe=i(e=>!e||wxe.test(e),"isHtml"),Sxe=i(e=>e.every(Cxe),"valuesAreHtml"),jxe=i(e=>Array.isArray(e),"isArray$4"),_xe=i(e=>e.every(jxe),"valuesAreArray"),kxe=i(e=>!e||e instanceof Date,"isDate"),$xe=i(e=>e.every(kxe),"valuesAreDate"),Exe=i(e=>!e||typeof e=="string"&&(eO(e,"MM/dd/yyyy")||eO(e,"MM/dd/yy")||xE(Y0e(e))),"isDateString"),Rxe=i(e=>e.every(Exe),"valuesAreDateString"),gB=i(e=>Object.prototype.toString.call(e)==="[object Object]","isObject$1"),Axe=i(e=>e.every(gB),"valuesAreObject"),Pxe=i(()=>p.jsx("span",{children:";"}),"DefaultComponent$1"),jo={type:Pxe,representation:()=>""},Txe={array:jo,boolean:jo,date:jo,email:jo,id:jo,number:jo,reference:jo,referenceArray:jo,richText:jo,string:jo,url:jo},wa=i((e,t)=>typeof t[e]<"u","hasType"),L3=i((e,t=[],n=Txe)=>{if(e==="id"&&wa("id",n))return new rr(n.id,{source:e});if(e.substr(e.length-3)==="_id"&&wa("reference",n)){const r=qu(e.substr(0,e.length-3));return n.reference&&new rr(n.reference,{source:e,reference:r})}if(e.substr(e.length-2)==="Id"&&wa("reference",n)){const r=qu(e.substr(0,e.length-2));return n.reference&&new rr(n.reference,{source:e,reference:r})}if(e.substr(e.length-4)==="_ids"&&wa("referenceArray",n)){const r=qu(e.substr(0,e.length-4));return n.referenceArray&&new rr(n.referenceArray,{source:e,reference:r})}if(e.substr(e.length-3)==="Ids"&&wa("referenceArray",n)){const r=qu(e.substr(0,e.length-3));return n.referenceArray&&new rr(n.referenceArray,{source:e,reference:r})}if(t.length===0)return new rr(n.string,{source:e});if(_xe(t)){if(gB(t[0][0])&&wa("array",n)){const r=rB(t.reduce((a,o)=>a.concat(o),[]));return n.array&&new rr(n.array,{source:e},Object.keys(r).map(a=>L3(a,r[a],n)))}return new rr(n.string,{source:e})}if(yxe(t)&&wa("boolean",n))return new rr(n.boolean,{source:e});if($xe(t)&&wa("date",n))return new rr(n.date,{source:e});if(xxe(t))return e==="email"&&wa("email",n)?new rr(n.email,{source:e}):e==="url"&&wa("url",n)?new rr(n.url,{source:e}):Rxe(t)&&wa("date",n)?new rr(n.date,{source:e}):Sxe(t)&&wa("richText",n)?new rr(n.richText,{source:e}):new rr(n.string,{source:e});if((gxe(t)||mxe(t))&&wa("number",n))return new rr(n.number,{source:e});if(Axe(t)){const r=Object.keys(t[0]).shift();if(!r)return new rr(n.string,{source:e});const a=t.map(o=>o[r]);return L3(`${e}.${r}`,a,n)}return new rr(n.string,{source:e})},"inferElementFromValues"),Mxe=i((e,t)=>{const n=rB(e);return Object.keys(n).reduce((r,a)=>r.concat(L3(a,n[a],t)),[]).filter(r=>r.isDefined())},"getElementsFromRecords"),Oxe={black:"#000",white:"#fff"},Xm=Oxe,zxe={50:"#ffebee",100:"#ffcdd2",200:"#ef9a9a",300:"#e57373",400:"#ef5350",500:"#f44336",600:"#e53935",700:"#d32f2f",800:"#c62828",900:"#b71c1c",A100:"#ff8a80",A200:"#ff5252",A400:"#ff1744",A700:"#d50000"},cu=zxe,Ixe={50:"#f3e5f5",100:"#e1bee7",200:"#ce93d8",300:"#ba68c8",400:"#ab47bc",500:"#9c27b0",600:"#8e24aa",700:"#7b1fa2",800:"#6a1b9a",900:"#4a148c",A100:"#ea80fc",A200:"#e040fb",A400:"#d500f9",A700:"#aa00ff"},lu=Ixe,Lxe={50:"#e3f2fd",100:"#bbdefb",200:"#90caf9",300:"#64b5f6",400:"#42a5f5",500:"#2196f3",600:"#1e88e5",700:"#1976d2",800:"#1565c0",900:"#0d47a1",A100:"#82b1ff",A200:"#448aff",A400:"#2979ff",A700:"#2962ff"},uu=Lxe,Dxe={50:"#e1f5fe",100:"#b3e5fc",200:"#81d4fa",300:"#4fc3f7",400:"#29b6f6",500:"#03a9f4",600:"#039be5",700:"#0288d1",800:"#0277bd",900:"#01579b",A100:"#80d8ff",A200:"#40c4ff",A400:"#00b0ff",A700:"#0091ea"},du=Dxe,Nxe={50:"#e8f5e9",100:"#c8e6c9",200:"#a5d6a7",300:"#81c784",400:"#66bb6a",500:"#4caf50",600:"#43a047",700:"#388e3c",800:"#2e7d32",900:"#1b5e20",A100:"#b9f6ca",A200:"#69f0ae",A400:"#00e676",A700:"#00c853"},fu=Nxe,Fxe={50:"#fff3e0",100:"#ffe0b2",200:"#ffcc80",300:"#ffb74d",400:"#ffa726",500:"#ff9800",600:"#fb8c00",700:"#f57c00",800:"#ef6c00",900:"#e65100",A100:"#ffd180",A200:"#ffab40",A400:"#ff9100",A700:"#ff6d00"},$p=Fxe,Bxe={50:"#fafafa",100:"#f5f5f5",200:"#eeeeee",300:"#e0e0e0",400:"#bdbdbd",500:"#9e9e9e",600:"#757575",700:"#616161",800:"#424242",900:"#212121",A100:"#f5f5f5",A200:"#eeeeee",A400:"#bdbdbd",A700:"#616161"},Wxe=Bxe;function hs(e){let t="https://mui.com/production-error/?code="+e;for(let n=1;n=0)&&(n[a]=e[a]);return n}i($e,"_objectWithoutPropertiesLoose$5");function $b(){return $b=Object.assign?Object.assign.bind():function(e){for(var t=1;t0?aa(Qf,--va):0,Zd--,Xn===10&&(Zd=1,Ux--),Xn}i(t1e,"prev$1");function Ma(){return Xn=va2||eh(Xn)>3?"":" "}i(n1e,"whitespace$1");function r1e(e,t){for(;--t&&Ma()&&!(Xn<48||Xn>102||Xn>57&&Xn<65||Xn>70&&Xn<97););return vg(e,ay()+(t<6&&wi()==32&&Ma()==32))}i(r1e,"escaping$1");function N3(e){for(;Ma();)switch(Xn){case e:return va;case 34:case 39:e!==34&&e!==39&&N3(Xn);break;case 40:e===41&&N3(e);break;case 92:Ma();break}return va}i(N3,"delimiter$2");function a1e(e,t){for(;Ma()&&e+Xn!==57;)if(e+Xn===84&&wi()===47)break;return"/*"+vg(t,va-1)+"*"+Wx(e===47?e:Ma())}i(a1e,"commenter$1");function o1e(e){for(;!eh(wi());)Ma();return vg(e,va)}i(o1e,"identifier$1");function i1e(e){return jB(iy("",null,null,null,[""],e=SB(e),0,[0],e))}i(i1e,"compile$1");function iy(e,t,n,r,a,o,s,c,l){for(var u=0,d=0,f=s,m=0,g=0,h=0,y=1,b=1,x=1,w=0,C="",j=a,_=o,S=r,k=C;b;)switch(h=w,w=Ma()){case 40:if(h!=108&&k.charCodeAt(f-1)==58){D3(k+=Zt(oy(w),"&","&\f"),"&\f")!=-1&&(x=-1);break}case 34:case 39:case 91:k+=oy(w);break;case 9:case 10:case 13:case 32:k+=n1e(h);break;case 92:k+=r1e(ay()-1,7);continue;case 47:switch(wi()){case 42:case 47:pv(s1e(a1e(Ma(),ay()),t,n),l);break;default:k+="/"}break;case 123*y:c[u++]=si(k)*x;case 125*y:case 59:case 0:switch(w){case 0:case 125:b=0;case 59+d:g>0&&si(k)-f&&pv(g>32?nO(k+";",r,n,f-1):nO(Zt(k," ","")+";",r,n,f-2),l);break;case 59:k+=";";default:if(pv(S=tO(k,t,n,u,d,a,c,C,j=[],_=[],f),o),w===123)if(d===0)iy(k,t,S,S,j,o,f,c,_);else switch(m){case 100:case 109:case 115:iy(e,S,S,r&&pv(tO(e,S,S,0,0,a,c,C,a,j=[],f),_),a,_,f,c,r?j:_);break;default:iy(k,S,S,S,[""],_,0,c,_)}}u=d=g=0,y=x=1,C=k="",f=s;break;case 58:f=1+si(k),g=h;default:if(y<1){if(w==123)--y;else if(w==125&&y++==0&&t1e()==125)continue}switch(k+=Wx(w),w*y){case 38:x=d>0?1:(k+="\f",-1);break;case 44:c[u++]=(si(k)-1)*x,x=1;break;case 64:wi()===45&&(k+=oy(Ma())),m=wi(),d=f=si(C=k+=o1e(ay())),w++;break;case 45:h===45&&si(k)==2&&(y=0)}}return o}i(iy,"parse$1");function tO(e,t,n,r,a,o,s,c,l,u,d){for(var f=a-1,m=a===0?o:[""],g=$E(m),h=0,y=0,b=0;h0?m[x]+" "+w:Zt(w,/&\f/g,m[x])))&&(l[b++]=C);return Hx(e,t,n,a===0?_E:c,l,u,d)}i(tO,"ruleset$1");function s1e(e,t,n){return Hx(e,t,n,bB,Wx(e1e()),Zm(e,2,-2),0)}i(s1e,"comment$1");function nO(e,t,n,r){return Hx(e,t,n,kE,Zm(e,0,r),Zm(e,r+1,-1),r)}i(nO,"declaration$1");function _B(e,t){switch(Qxe(e,t)){case 5103:return Jt+"print-"+e+e;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return Jt+e+e;case 5349:case 4246:case 4810:case 6968:case 2756:return Jt+e+Eb+e+Ar+e+e;case 6828:case 4268:return Jt+e+Ar+e+e;case 6165:return Jt+e+Ar+"flex-"+e+e;case 5187:return Jt+e+Zt(e,/(\w+).+(:[^]+)/,Jt+"box-$1$2"+Ar+"flex-$1$2")+e;case 5443:return Jt+e+Ar+"flex-item-"+Zt(e,/flex-|-self/,"")+e;case 4675:return Jt+e+Ar+"flex-line-pack"+Zt(e,/align-content|flex-|-self/,"")+e;case 5548:return Jt+e+Ar+Zt(e,"shrink","negative")+e;case 5292:return Jt+e+Ar+Zt(e,"basis","preferred-size")+e;case 6060:return Jt+"box-"+Zt(e,"-grow","")+Jt+e+Ar+Zt(e,"grow","positive")+e;case 4554:return Jt+Zt(e,/([^-])(transform)/g,"$1"+Jt+"$2")+e;case 6187:return Zt(Zt(Zt(e,/(zoom-|grab)/,Jt+"$1"),/(image-set)/,Jt+"$1"),e,"")+e;case 5495:case 3959:return Zt(e,/(image-set\([^]*)/,Jt+"$1$`$1");case 4968:return Zt(Zt(e,/(.+:)(flex-)?(.*)/,Jt+"box-pack:$3"+Ar+"flex-pack:$3"),/s.+-b[^;]+/,"justify")+Jt+e+e;case 4095:case 3583:case 4068:case 2532:return Zt(e,/(.+)-inline(.+)/,Jt+"$1$2")+e;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(si(e)-1-t>6)switch(aa(e,t+1)){case 109:if(aa(e,t+4)!==45)break;case 102:return Zt(e,/(.+:)(.+)-([^]+)/,"$1"+Jt+"$2-$3$1"+Eb+(aa(e,t+3)==108?"$3":"$2-$3"))+e;case 115:return~D3(e,"stretch")?_B(Zt(e,"stretch","fill-available"),t)+e:e}break;case 4949:if(aa(e,t+1)!==115)break;case 6444:switch(aa(e,si(e)-3-(~D3(e,"!important")&&10))){case 107:return Zt(e,":",":"+Jt)+e;case 101:return Zt(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+Jt+(aa(e,14)===45?"inline-":"")+"box$3$1"+Jt+"$2$3$1"+Ar+"$2box$3")+e}break;case 5936:switch(aa(e,t+11)){case 114:return Jt+e+Ar+Zt(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return Jt+e+Ar+Zt(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return Jt+e+Ar+Zt(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return Jt+e+Ar+e+e}return e}i(_B,"prefix$3");function rd(e,t){for(var n="",r=$E(e),a=0;a-1&&!e.return)switch(e.type){case kE:e.return=_B(e.value,e.length);break;case xB:return rd([Ep(e,{value:Zt(e.value,"@","@"+Jt)})],r);case _E:if(e.length)return Zxe(e.props,function(a){switch(Xxe(a,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return rd([Ep(e,{props:[Zt(a,/:(read-\w+)/,":"+Eb+"$1")]})],r);case"::placeholder":return rd([Ep(e,{props:[Zt(a,/:(plac\w+)/,":"+Jt+"input-$1")]}),Ep(e,{props:[Zt(a,/:(plac\w+)/,":"+Eb+"$1")]}),Ep(e,{props:[Zt(a,/:(plac\w+)/,Ar+"input-$1")]})],r)}return""})}}i(d1e,"prefixer$1");var f1e=i(function(t,n,r){for(var a=0,o=0;a=o,o=wi(),a===38&&o===12&&(n[r]=1),!eh(o);)Ma();return vg(t,va)},"identifierWithPointTracking2"),p1e=i(function(t,n){var r=-1,a=44;do switch(eh(a)){case 0:a===38&&wi()===12&&(n[r]=1),t[r]+=f1e(va-1,n,r);break;case 2:t[r]+=oy(a);break;case 4:if(a===44){t[++r]=wi()===58?"&\f":"",n[r]=t[r].length;break}default:t[r]+=Wx(a)}while(a=Ma());return t},"toRules2"),m1e=i(function(t,n){return jB(p1e(SB(t),n))},"getRules2"),rO=new WeakMap,h1e=i(function(t){if(!(t.type!=="rule"||!t.parent||t.length<1)){for(var n=t.value,r=t.parent,a=t.column===r.column&&t.line===r.line;r.type!=="rule";)if(r=r.parent,!r)return;if(!(t.props.length===1&&n.charCodeAt(0)!==58&&!rO.get(r))&&!a){rO.set(t,!0);for(var o=[],s=m1e(n,o),c=r.props,l=0,u=0;l=4;++r,a-=4)n=e.charCodeAt(r)&255|(e.charCodeAt(++r)&255)<<8|(e.charCodeAt(++r)&255)<<16|(e.charCodeAt(++r)&255)<<24,n=(n&65535)*1540483477+((n>>>16)*59797<<16),n^=n>>>24,t=(n&65535)*1540483477+((n>>>16)*59797<<16)^(t&65535)*1540483477+((t>>>16)*59797<<16);switch(a){case 3:t^=(e.charCodeAt(r+2)&255)<<16;case 2:t^=(e.charCodeAt(r+1)&255)<<8;case 1:t^=e.charCodeAt(r)&255,t=(t&65535)*1540483477+((t>>>16)*59797<<16)}return t^=t>>>13,t=(t&65535)*1540483477+((t>>>16)*59797<<16),((t^t>>>15)>>>0).toString(36)}i(z1e,"murmur2");var I1e={animationIterationCount:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},L1e=/[A-Z]|^ms/g,D1e=/_EMO_([^_]+?)_([^]*?)_EMO_/g,PB=i(function(t){return t.charCodeAt(1)===45},"isCustomProperty2"),sO=i(function(t){return t!=null&&typeof t!="boolean"},"isProcessableValue2"),R2=vB(function(e){return PB(e)?e:e.replace(L1e,"-$&").toLowerCase()}),cO=i(function(t,n){switch(t){case"animation":case"animationName":if(typeof n=="string")return n.replace(D1e,function(r,a,o){return ci={name:a,styles:o,next:ci},a})}return I1e[t]!==1&&!PB(t)&&typeof n=="number"&&n!==0?n+"px":n},"processStyleValue2");function th(e,t,n){if(n==null)return"";if(n.__emotion_styles!==void 0)return n;switch(typeof n){case"boolean":return"";case"object":{if(n.anim===1)return ci={name:n.name,styles:n.styles,next:ci},n.name;if(n.styles!==void 0){var r=n.next;if(r!==void 0)for(;r!==void 0;)ci={name:r.name,styles:r.styles,next:ci},r=r.next;var a=n.styles+";";return a}return N1e(e,t,n)}case"function":{if(e!==void 0){var o=ci,s=n(e);return ci=o,th(e,t,s)}break}}if(t==null)return n;var c=t[n];return c!==void 0?c:n}i(th,"handleInterpolation");function N1e(e,t,n){var r="";if(Array.isArray(n))for(var a=0;a96?W1e:U1e},"getDefaultShouldForwardProp2"),dO=i(function(t,n,r){var a;if(n){var o=n.shouldForwardProp;a=t.__emotion_forwardProp&&o?function(s){return t.__emotion_forwardProp(s)&&o(s)}:o}return typeof a!="function"&&r&&(a=t.__emotion_forwardProp),a},"composeShouldForwardProps2"),H1e=i(function(){return null},"Noop2"),q1e=i(function e(t,n){var r=t.__emotion_real===t,a=r&&t.__emotion_base||t,o,s;n!==void 0&&(o=n.label,s=n.target);var c=dO(t,n,r),l=c||uO(a),u=!l("as");return function(){var d=arguments,f=r&&t.__emotion_styles!==void 0?t.__emotion_styles.slice(0):[];if(o!==void 0&&f.push("label:"+o+";"),d[0]==null||d[0].raw===void 0)f.push.apply(f,d);else{f.push(d[0][0]);for(var m=d.length,g=1;g0?_r(Xf,--ya):0,ef--,Zn===10&&(ef=1,n1--),Zn}i(lwe,"prev");function Oa(){return Zn=ya2||rh(Zn)>3?"":" "}i(uwe,"whitespace");function dwe(e,t){for(;--t&&Oa()&&!(Zn<48||Zn>102||Zn>57&&Zn<65||Zn>70&&Zn<97););return bg(e,sy()+(t<6&&Ci()==32&&Oa()==32))}i(dwe,"escaping");function W3(e){for(;Oa();)switch(Zn){case e:return ya;case 34:case 39:e!==34&&e!==39&&W3(Zn);break;case 40:e===41&&W3(e);break;case 92:Oa();break}return ya}i(W3,"delimiter$1");function fwe(e,t){for(;Oa()&&e+Zn!==57;)if(e+Zn===84&&Ci()===47)break;return"/*"+bg(t,ya-1)+"*"+t1(e===47?e:Oa())}i(fwe,"commenter");function pwe(e){for(;!rh(Ci());)Oa();return bg(e,ya)}i(pwe,"identifier");function mwe(e){return WB(ly("",null,null,null,[""],e=BB(e),0,[0],e))}i(mwe,"compile");function ly(e,t,n,r,a,o,s,c,l){for(var u=0,d=0,f=s,m=0,g=0,h=0,y=1,b=1,x=1,w=0,C="",j=a,_=o,S=r,k=C;b;)switch(h=w,w=Oa()){case 40:if(h!=108&&_r(k,f-1)==58){B3(k+=Qt(cy(w),"&","&\f"),"&\f")!=-1&&(x=-1);break}case 34:case 39:case 91:k+=cy(w);break;case 9:case 10:case 13:case 32:k+=uwe(h);break;case 92:k+=dwe(sy()-1,7);continue;case 47:switch(Ci()){case 42:case 47:mv(hwe(fwe(Oa(),sy()),t,n),l);break;default:k+="/"}break;case 123*y:c[u++]=li(k)*x;case 125*y:case 59:case 0:switch(w){case 0:case 125:b=0;case 59+d:x==-1&&(k=Qt(k,/\f/g,"")),g>0&&li(k)-f&&mv(g>32?pO(k+";",r,n,f-1):pO(Qt(k," ","")+";",r,n,f-2),l);break;case 59:k+=";";default:if(mv(S=fO(k,t,n,u,d,a,c,C,j=[],_=[],f),o),w===123)if(d===0)ly(k,t,S,S,j,o,f,c,_);else switch(m===99&&_r(k,3)===110?100:m){case 100:case 108:case 109:case 115:ly(e,S,S,r&&mv(fO(e,S,S,0,0,a,c,C,a,j=[],f),_),a,_,f,c,r?j:_);break;default:ly(k,S,S,S,[""],_,0,c,_)}}u=d=g=0,y=x=1,C=k="",f=s;break;case 58:f=1+li(k),g=h;default:if(y<1){if(w==123)--y;else if(w==125&&y++==0&&lwe()==125)continue}switch(k+=t1(w),w*y){case 38:x=d>0?1:(k+="\f",-1);break;case 44:c[u++]=(li(k)-1)*x,x=1;break;case 64:Ci()===45&&(k+=cy(Oa())),m=Ci(),d=f=li(C=k+=pwe(sy())),w++;break;case 45:h===45&&li(k)==2&&(y=0)}}return o}i(ly,"parse");function fO(e,t,n,r,a,o,s,c,l,u,d){for(var f=a-1,m=a===0?o:[""],g=IE(m),h=0,y=0,b=0;h0?m[x]+" "+w:Qt(w,/&\f/g,m[x])))&&(l[b++]=C);return r1(e,t,n,a===0?OE:c,l,u,d)}i(fO,"ruleset");function hwe(e,t,n){return r1(e,t,n,LB,t1(cwe()),nh(e,2,-2),0)}i(hwe,"comment");function pO(e,t,n,r){return r1(e,t,n,zE,nh(e,0,r),nh(e,r+1,-1),r)}i(pO,"declaration");function ad(e,t){for(var n="",r=IE(e),a=0;a6)switch(_r(e,t+1)){case 109:if(_r(e,t+4)!==45)break;case 102:return Qt(e,/(.+:)(.+)-([^]+)/,"$1"+Yt+"$2-$3$1"+Rb+(_r(e,t+3)==108?"$3":"$2-$3"))+e;case 115:return~B3(e,"stretch")?UB(Qt(e,"stretch","fill-available"),t)+e:e}break;case 4949:if(_r(e,t+1)!==115)break;case 6444:switch(_r(e,li(e)-3-(~B3(e,"!important")&&10))){case 107:return Qt(e,":",":"+Yt)+e;case 101:return Qt(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+Yt+(_r(e,14)===45?"inline-":"")+"box$3$1"+Yt+"$2$3$1"+Pr+"$2box$3")+e}break;case 5936:switch(_r(e,t+11)){case 114:return Yt+e+Pr+Qt(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return Yt+e+Pr+Qt(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return Yt+e+Pr+Qt(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return Yt+e+Pr+e+e}return e}i(UB,"prefix$2");var jwe=i(function(t,n,r,a){if(t.length>-1&&!t.return)switch(t.type){case zE:t.return=UB(t.value,t.length);break;case DB:return ad([Rp(t,{value:Qt(t.value,"@","@"+Yt)})],a);case OE:if(t.length)return swe(t.props,function(o){switch(iwe(o,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return ad([Rp(t,{props:[Qt(o,/:(read-\w+)/,":"+Rb+"$1")]})],a);case"::placeholder":return ad([Rp(t,{props:[Qt(o,/:(plac\w+)/,":"+Yt+"input-$1")]}),Rp(t,{props:[Qt(o,/:(plac\w+)/,":"+Rb+"$1")]}),Rp(t,{props:[Qt(o,/:(plac\w+)/,Pr+"input-$1")]})],a)}return""})}},"prefixer2"),_we=[jwe],kwe=i(function(t){var n=t.key;if(n==="css"){var r=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(r,function(y){var b=y.getAttribute("data-emotion");b.indexOf(" ")!==-1&&(document.head.appendChild(y),y.setAttribute("data-s",""))})}var a=t.stylisPlugins||_we,o={},s,c=[];s=t.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+n+' "]'),function(y){for(var b=y.getAttribute("data-emotion").split(" "),x=1;xt(Ewe(a)?n:a):t;return p.jsx(B1e,{styles:r})}i(HB,"GlobalStyles$2");function LE(e,t){return F3(e,t)}i(LE,"styled$2");const qB=i((e,t)=>{Array.isArray(e.__emotion_styles)&&(e.__emotion_styles=t(e.__emotion_styles))},"internal_processStyles"),Rwe=Object.freeze(Object.defineProperty({__proto__:null,GlobalStyles:HB,StyledEngineProvider:$we,ThemeContext:yg,css:Kl,default:LE,internal_processStyles:qB,keyframes:js},Symbol.toStringTag,{value:"Module"}));function Wt(){return Wt=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&(n[a]=e[a]);return n}i(Ei,"_objectWithoutPropertiesLoose$4");function od(){return od=Object.assign?Object.assign.bind():function(e){for(var t=1;t{t[n]=VB(e[n])}),t}i(VB,"deepClone");function kr(e,t,n={clone:!0}){const r=n.clone?od({},e):e;return ts(e)&&ts(t)&&Object.keys(t).forEach(a=>{a!=="__proto__"&&(ts(t[a])&&a in e&&ts(e[a])?r[a]=kr(e[a],t[a],n):n.clone?r[a]=ts(t[a])?VB(t[a]):t[a]:r[a]=t[a])}),r}i(kr,"deepmerge$1");const Awe=Object.freeze(Object.defineProperty({__proto__:null,default:kr,isPlainObject:ts},Symbol.toStringTag,{value:"Module"})),Pwe=["values","unit","step"],Twe=i(e=>{const t=Object.keys(e).map(n=>({key:n,val:e[n]}))||[];return t.sort((n,r)=>n.val-r.val),t.reduce((n,r)=>Wt({},n,{[r.key]:r.val}),{})},"sortBreakpointsValues");function GB(e){const{values:t={xs:0,sm:600,md:900,lg:1200,xl:1536},unit:n="px",step:r=5}=e,a=Ei(e,Pwe),o=Twe(t),s=Object.keys(o);function c(m){return`@media (min-width:${typeof t[m]=="number"?t[m]:m}${n})`}i(c,"up");function l(m){return`@media (max-width:${(typeof t[m]=="number"?t[m]:m)-r/100}${n})`}i(l,"down");function u(m,g){const h=s.indexOf(g);return`@media (min-width:${typeof t[m]=="number"?t[m]:m}${n}) and (max-width:${(h!==-1&&typeof t[s[h]]=="number"?t[s[h]]:g)-r/100}${n})`}i(u,"between");function d(m){return s.indexOf(m)+1`@media (min-width:${DE[e]}px)`};function ba(e,t,n){const r=e.theme||{};if(Array.isArray(t)){const o=r.breakpoints||hO;return t.reduce((s,c,l)=>(s[o.up(o.keys[l])]=n(t[l]),s),{})}if(typeof t=="object"){const o=r.breakpoints||hO;return Object.keys(t).reduce((s,c)=>{if(Object.keys(o.values||DE).indexOf(c)!==-1){const l=o.up(c);s[l]=n(t[c],c)}else{const l=c;s[l]=t[l]}return s},{})}return n(t)}i(ba,"handleBreakpoints");function KB(e={}){var t;return((t=e.keys)==null?void 0:t.reduce((r,a)=>{const o=e.up(a);return r[o]={},r},{}))||{}}i(KB,"createEmptyBreakpointObject");function JB(e,t){return e.reduce((n,r)=>{const a=n[r];return(!a||Object.keys(a).length===0)&&delete n[r],n},t)}i(JB,"removeUnusedBreakpoints");function zwe(e,...t){const n=KB(e),r=[n,...t].reduce((a,o)=>kr(a,o),{});return JB(Object.keys(n),r)}i(zwe,"mergeBreakpointsInOrder");function Iwe(e,t){if(typeof e!="object")return{};const n={},r=Object.keys(t);return Array.isArray(e)?r.forEach((a,o)=>{o{e[a]!=null&&(n[a]=!0)}),n}i(Iwe,"computeBreakpointsBase");function vl({values:e,breakpoints:t,base:n}){const r=n||Iwe(e,t),a=Object.keys(r);if(a.length===0)return e;let o;return a.reduce((s,c,l)=>(Array.isArray(e)?(s[c]=e[l]!=null?e[l]:e[o],o=l):typeof e=="object"?(s[c]=e[c]!=null?e[c]:e[o],o=c):s[c]=e,s),{})}i(vl,"resolveBreakpointValues");function ve(e){if(typeof e!="string")throw new Error(hs(7));return e.charAt(0).toUpperCase()+e.slice(1)}i(ve,"capitalize$1");const Lwe=Object.freeze(Object.defineProperty({__proto__:null,default:ve},Symbol.toStringTag,{value:"Module"}));function tf(e,t,n=!0){if(!t||typeof t!="string")return null;if(e&&e.vars&&n){const r=`vars.${t}`.split(".").reduce((a,o)=>a&&a[o]?a[o]:null,e);if(r!=null)return r}return t.split(".").reduce((r,a)=>r&&r[a]!=null?r[a]:null,e)}i(tf,"getPath");function Ab(e,t,n,r=n){let a;return typeof e=="function"?a=e(n):Array.isArray(e)?a=e[n]||r:a=tf(e,n)||r,t&&(a=t(a,r,e)),a}i(Ab,"getStyleValue$1");function Jn(e){const{prop:t,cssProperty:n=e.prop,themeKey:r,transform:a}=e,o=i(s=>{if(s[t]==null)return null;const c=s[t],l=s.theme,u=tf(l,r)||{};return ba(s,c,i(f=>{let m=Ab(u,a,f);return f===m&&typeof f=="string"&&(m=Ab(u,a,`${t}${f==="default"?"":ve(f)}`,f)),n===!1?m:{[n]:m}},"styleFromPropValue"))},"fn");return o.propTypes={},o.filterProps=[t],o}i(Jn,"style$2");function Dwe(e){const t={};return n=>(t[n]===void 0&&(t[n]=e(n)),t[n])}i(Dwe,"memoize");const Nwe={m:"margin",p:"padding"},Fwe={t:"Top",r:"Right",b:"Bottom",l:"Left",x:["Left","Right"],y:["Top","Bottom"]},gO={marginX:"mx",marginY:"my",paddingX:"px",paddingY:"py"},Bwe=Dwe(e=>{if(e.length>2)if(gO[e])e=gO[e];else return[e];const[t,n]=e.split(""),r=Nwe[t],a=Fwe[n]||"";return Array.isArray(a)?a.map(o=>r+o):[r+a]}),NE=["m","mt","mr","mb","ml","mx","my","margin","marginTop","marginRight","marginBottom","marginLeft","marginX","marginY","marginInline","marginInlineStart","marginInlineEnd","marginBlock","marginBlockStart","marginBlockEnd"],FE=["p","pt","pr","pb","pl","px","py","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","paddingX","paddingY","paddingInline","paddingInlineStart","paddingInlineEnd","paddingBlock","paddingBlockStart","paddingBlockEnd"];[...NE,...FE];function xg(e,t,n,r){var a;const o=(a=tf(e,t,!1))!=null?a:n;return typeof o=="number"?s=>typeof s=="string"?s:o*s:Array.isArray(o)?s=>typeof s=="string"?s:o[s]:typeof o=="function"?o:()=>{}}i(xg,"createUnaryUnit");function BE(e){return xg(e,"spacing",8)}i(BE,"createUnarySpacing");function Ol(e,t){if(typeof t=="string"||t==null)return t;const n=Math.abs(t),r=e(n);return t>=0?r:typeof r=="number"?-r:`-${r}`}i(Ol,"getValue");function Wwe(e,t){return n=>e.reduce((r,a)=>(r[a]=Ol(t,n),r),{})}i(Wwe,"getStyleFromPropValue");function Uwe(e,t,n,r){if(t.indexOf(n)===-1)return null;const a=Bwe(n),o=Wwe(a,r),s=e[n];return ba(e,s,o)}i(Uwe,"resolveCssProperty");function YB(e,t){const n=BE(e.theme);return Object.keys(e).map(r=>Uwe(e,t,r,n)).reduce(dm,{})}i(YB,"style$1");function An(e){return YB(e,NE)}i(An,"margin");An.propTypes={};An.filterProps=NE;function Pn(e){return YB(e,FE)}i(Pn,"padding");Pn.propTypes={};Pn.filterProps=FE;function Hwe(e=8){if(e.mui)return e;const t=BE({spacing:e}),n=i((...r)=>(r.length===0?[1]:r).map(o=>{const s=t(o);return typeof s=="number"?`${s}px`:s}).join(" "),"spacing");return n.mui=!0,n}i(Hwe,"createSpacing");function a1(...e){const t=e.reduce((r,a)=>(a.filterProps.forEach(o=>{r[o]=a}),r),{}),n=i(r=>Object.keys(r).reduce((a,o)=>t[o]?dm(a,t[o](r)):a,{}),"fn");return n.propTypes={},n.filterProps=e.reduce((r,a)=>r.concat(a.filterProps),[]),n}i(a1,"compose");function no(e){return typeof e!="number"?e:`${e}px solid`}i(no,"borderTransform");function wo(e,t){return Jn({prop:e,themeKey:"borders",transform:t})}i(wo,"createBorderStyle");const qwe=wo("border",no),Vwe=wo("borderTop",no),Gwe=wo("borderRight",no),Kwe=wo("borderBottom",no),Jwe=wo("borderLeft",no),Ywe=wo("borderColor"),Qwe=wo("borderTopColor"),Xwe=wo("borderRightColor"),Zwe=wo("borderBottomColor"),e2e=wo("borderLeftColor"),t2e=wo("outline",no),n2e=wo("outlineColor"),o1=i(e=>{if(e.borderRadius!==void 0&&e.borderRadius!==null){const t=xg(e.theme,"shape.borderRadius",4),n=i(r=>({borderRadius:Ol(t,r)}),"styleFromPropValue");return ba(e,e.borderRadius,n)}return null},"borderRadius");o1.propTypes={};o1.filterProps=["borderRadius"];a1(qwe,Vwe,Gwe,Kwe,Jwe,Ywe,Qwe,Xwe,Zwe,e2e,o1,t2e,n2e);const i1=i(e=>{if(e.gap!==void 0&&e.gap!==null){const t=xg(e.theme,"spacing",8),n=i(r=>({gap:Ol(t,r)}),"styleFromPropValue");return ba(e,e.gap,n)}return null},"gap");i1.propTypes={};i1.filterProps=["gap"];const s1=i(e=>{if(e.columnGap!==void 0&&e.columnGap!==null){const t=xg(e.theme,"spacing",8),n=i(r=>({columnGap:Ol(t,r)}),"styleFromPropValue");return ba(e,e.columnGap,n)}return null},"columnGap");s1.propTypes={};s1.filterProps=["columnGap"];const c1=i(e=>{if(e.rowGap!==void 0&&e.rowGap!==null){const t=xg(e.theme,"spacing",8),n=i(r=>({rowGap:Ol(t,r)}),"styleFromPropValue");return ba(e,e.rowGap,n)}return null},"rowGap");c1.propTypes={};c1.filterProps=["rowGap"];const r2e=Jn({prop:"gridColumn"}),a2e=Jn({prop:"gridRow"}),o2e=Jn({prop:"gridAutoFlow"}),i2e=Jn({prop:"gridAutoColumns"}),s2e=Jn({prop:"gridAutoRows"}),c2e=Jn({prop:"gridTemplateColumns"}),l2e=Jn({prop:"gridTemplateRows"}),u2e=Jn({prop:"gridTemplateAreas"}),d2e=Jn({prop:"gridArea"});a1(i1,s1,c1,r2e,a2e,o2e,i2e,s2e,c2e,l2e,u2e,d2e);function id(e,t){return t==="grey"?t:e}i(id,"paletteTransform");const f2e=Jn({prop:"color",themeKey:"palette",transform:id}),p2e=Jn({prop:"bgcolor",cssProperty:"backgroundColor",themeKey:"palette",transform:id}),m2e=Jn({prop:"backgroundColor",themeKey:"palette",transform:id});a1(f2e,p2e,m2e);function _a(e){return e<=1&&e!==0?`${e*100}%`:e}i(_a,"sizingTransform");const h2e=Jn({prop:"width",transform:_a}),WE=i(e=>{if(e.maxWidth!==void 0&&e.maxWidth!==null){const t=i(n=>{var r,a;const o=((r=e.theme)==null||(r=r.breakpoints)==null||(r=r.values)==null?void 0:r[n])||DE[n];return o?((a=e.theme)==null||(a=a.breakpoints)==null?void 0:a.unit)!=="px"?{maxWidth:`${o}${e.theme.breakpoints.unit}`}:{maxWidth:o}:{maxWidth:_a(n)}},"styleFromPropValue");return ba(e,e.maxWidth,t)}return null},"maxWidth");WE.filterProps=["maxWidth"];const g2e=Jn({prop:"minWidth",transform:_a}),v2e=Jn({prop:"height",transform:_a}),y2e=Jn({prop:"maxHeight",transform:_a}),b2e=Jn({prop:"minHeight",transform:_a});Jn({prop:"size",cssProperty:"width",transform:_a});Jn({prop:"size",cssProperty:"height",transform:_a});const x2e=Jn({prop:"boxSizing"});a1(h2e,WE,g2e,v2e,y2e,b2e,x2e);const w2e={border:{themeKey:"borders",transform:no},borderTop:{themeKey:"borders",transform:no},borderRight:{themeKey:"borders",transform:no},borderBottom:{themeKey:"borders",transform:no},borderLeft:{themeKey:"borders",transform:no},borderColor:{themeKey:"palette"},borderTopColor:{themeKey:"palette"},borderRightColor:{themeKey:"palette"},borderBottomColor:{themeKey:"palette"},borderLeftColor:{themeKey:"palette"},outline:{themeKey:"borders",transform:no},outlineColor:{themeKey:"palette"},borderRadius:{themeKey:"shape.borderRadius",style:o1},color:{themeKey:"palette",transform:id},bgcolor:{themeKey:"palette",cssProperty:"backgroundColor",transform:id},backgroundColor:{themeKey:"palette",transform:id},p:{style:Pn},pt:{style:Pn},pr:{style:Pn},pb:{style:Pn},pl:{style:Pn},px:{style:Pn},py:{style:Pn},padding:{style:Pn},paddingTop:{style:Pn},paddingRight:{style:Pn},paddingBottom:{style:Pn},paddingLeft:{style:Pn},paddingX:{style:Pn},paddingY:{style:Pn},paddingInline:{style:Pn},paddingInlineStart:{style:Pn},paddingInlineEnd:{style:Pn},paddingBlock:{style:Pn},paddingBlockStart:{style:Pn},paddingBlockEnd:{style:Pn},m:{style:An},mt:{style:An},mr:{style:An},mb:{style:An},ml:{style:An},mx:{style:An},my:{style:An},margin:{style:An},marginTop:{style:An},marginRight:{style:An},marginBottom:{style:An},marginLeft:{style:An},marginX:{style:An},marginY:{style:An},marginInline:{style:An},marginInlineStart:{style:An},marginInlineEnd:{style:An},marginBlock:{style:An},marginBlockStart:{style:An},marginBlockEnd:{style:An},displayPrint:{cssProperty:!1,transform:e=>({"@media print":{display:e}})},display:{},overflow:{},textOverflow:{},visibility:{},whiteSpace:{},flexBasis:{},flexDirection:{},flexWrap:{},justifyContent:{},alignItems:{},alignContent:{},order:{},flex:{},flexGrow:{},flexShrink:{},alignSelf:{},justifyItems:{},justifySelf:{},gap:{style:i1},rowGap:{style:c1},columnGap:{style:s1},gridColumn:{},gridRow:{},gridAutoFlow:{},gridAutoColumns:{},gridAutoRows:{},gridTemplateColumns:{},gridTemplateRows:{},gridTemplateAreas:{},gridArea:{},position:{},zIndex:{themeKey:"zIndex"},top:{},right:{},bottom:{},left:{},boxShadow:{themeKey:"shadows"},width:{transform:_a},maxWidth:{style:WE},minWidth:{transform:_a},height:{transform:_a},maxHeight:{transform:_a},minHeight:{transform:_a},boxSizing:{},fontFamily:{themeKey:"typography"},fontSize:{themeKey:"typography"},fontStyle:{themeKey:"typography"},fontWeight:{themeKey:"typography"},letterSpacing:{},textTransform:{},lineHeight:{},textAlign:{},typography:{cssProperty:!1,themeKey:"typography"}},wg=w2e;function C2e(...e){const t=e.reduce((r,a)=>r.concat(Object.keys(a)),[]),n=new Set(t);return e.every(r=>n.size===Object.keys(r).length)}i(C2e,"objectsHaveSameKeys");function S2e(e,t){return typeof e=="function"?e(t):e}i(S2e,"callIfFn");function QB(){function e(n,r,a,o){const s={[n]:r,theme:a},c=o[n];if(!c)return{[n]:r};const{cssProperty:l=n,themeKey:u,transform:d,style:f}=c;if(r==null)return null;if(u==="typography"&&r==="inherit")return{[n]:r};const m=tf(a,u)||{};return f?f(s):ba(s,r,i(h=>{let y=Ab(m,d,h);return h===y&&typeof h=="string"&&(y=Ab(m,d,`${n}${h==="default"?"":ve(h)}`,h)),l===!1?y:{[l]:y}},"styleFromPropValue"))}i(e,"getThemeValue");function t(n){var r;const{sx:a,theme:o={}}=n||{};if(!a)return null;const s=(r=o.unstable_sxConfig)!=null?r:wg;function c(l){let u=l;if(typeof l=="function")u=l(o);else if(typeof l!="object")return l;if(!u)return null;const d=KB(o.breakpoints),f=Object.keys(d);let m=d;return Object.keys(u).forEach(g=>{const h=S2e(u[g],o);if(h!=null)if(typeof h=="object")if(s[g])m=dm(m,e(g,h,o,s));else{const y=ba({theme:o},h,b=>({[g]:b}));C2e(y,h)?m[g]=t({sx:h,theme:o}):m=dm(m,y)}else m=dm(m,e(g,h,o,s))}),JB(f,m)}return i(c,"traverse"),Array.isArray(a)?a.map(c):c(a)}return i(t,"styleFunctionSx"),t}i(QB,"unstable_createStyleFunctionSx");const XB=QB();XB.filterProps=["sx"];const Cg=XB;function ZB(e,t){const n=this;return n.vars&&typeof n.getColorSchemeSelector=="function"?{[n.getColorSchemeSelector(e).replace(/(\[[^\]]+\])/,"*:where($1)")]:t}:n.palette.mode===e?t:{}}i(ZB,"applyStyles$2");const j2e=["breakpoints","palette","spacing","shape"];function Zf(e={},...t){const{breakpoints:n={},palette:r={},spacing:a,shape:o={}}=e,s=Ei(e,j2e),c=GB(n),l=Hwe(a);let u=kr({breakpoints:c,direction:"ltr",components:{},palette:Wt({mode:"light"},r),spacing:l,shape:Wt({},Owe,o)},s);return u.applyStyles=ZB,u=t.reduce((d,f)=>kr(d,f),u),u.unstable_sxConfig=Wt({},wg,s==null?void 0:s.unstable_sxConfig),u.unstable_sx=i(function(f){return Cg({sx:f,theme:this})},"sx"),u}i(Zf,"createTheme$2");const _2e=Object.freeze(Object.defineProperty({__proto__:null,default:Zf,private_createBreakpoints:GB,unstable_applyStyles:ZB},Symbol.toStringTag,{value:"Module"}));function k2e(e){return Object.keys(e).length===0}i(k2e,"isObjectEmpty$1");function UE(e=null){const t=v.useContext(yg);return!t||k2e(t)?e:t}i(UE,"useTheme$5");const $2e=Zf();function l1(e=$2e){return UE(e)}i(l1,"useTheme$4");function E2e({styles:e,themeId:t,defaultTheme:n={}}){const r=l1(n),a=typeof e=="function"?e(t&&r[t]||r):e;return p.jsx(HB,{styles:a})}i(E2e,"GlobalStyles$1");const R2e=["sx"],A2e=i(e=>{var t,n;const r={systemProps:{},otherProps:{}},a=(t=e==null||(n=e.theme)==null?void 0:n.unstable_sxConfig)!=null?t:wg;return Object.keys(e).forEach(o=>{a[o]?r.systemProps[o]=e[o]:r.otherProps[o]=e[o]}),r},"splitProps");function Sg(e){const{sx:t}=e,n=Ei(e,R2e),{systemProps:r,otherProps:a}=A2e(n);let o;return Array.isArray(t)?o=[r,...t]:typeof t=="function"?o=i((...s)=>{const c=t(...s);return ts(c)?Wt({},r,c):r},"finalSx"):o=Wt({},r,t),Wt({},a,{sx:o})}i(Sg,"extendSxProp");const P2e=Object.freeze(Object.defineProperty({__proto__:null,default:Cg,extendSxProp:Sg,unstable_createStyleFunctionSx:QB,unstable_defaultSxConfig:wg},Symbol.toStringTag,{value:"Module"})),vO=i(e=>e,"defaultGenerator"),T2e=i(()=>{let e=vO;return{configure(t){e=t},generate(t){return e(t)},reset(){e=vO}}},"createClassNameGenerator"),M2e=T2e(),HE=M2e;function eW(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var a=e.length;for(t=0;tc!=="theme"&&c!=="sx"&&c!=="as"})(Cg);return v.forwardRef(i(function(l,u){const d=l1(n),f=Sg(l),{className:m,component:g="div"}=f,h=Ei(f,O2e);return p.jsx(o,Wt({as:g,ref:u,className:de(m,a?a(r):r),theme:t&&d[t]||d},h))},"Box"))}i(z2e,"createBox");const tW={active:"active",checked:"checked",completed:"completed",disabled:"disabled",error:"error",expanded:"expanded",focused:"focused",focusVisible:"focusVisible",open:"open",readOnly:"readOnly",required:"required",selected:"selected"};function Ge(e,t,n="Mui"){const r=tW[t];return r?`${n}-${r}`:`${HE.generate(e)}-${t}`}i(Ge,"generateUtilityClass$1");function Ye(e,t,n="Mui"){const r={};return t.forEach(a=>{r[a]=Ge(e,a,n)}),r}i(Ye,"generateUtilityClasses$1");const I2e=/^\s*function(?:\s|\s*\/\*.*\*\/\s*)+([^(\s/]*)\s*/;function nW(e){const t=`${e}`.match(I2e);return t&&t[1]||""}i(nW,"getFunctionName");function rW(e,t=""){return e.displayName||e.name||nW(e)||t}i(rW,"getFunctionComponentName");function yO(e,t,n){const r=rW(t);return e.displayName||(r!==""?`${n}(${r})`:n)}i(yO,"getWrappedName");function L2e(e){if(e!=null){if(typeof e=="string")return e;if(typeof e=="function")return rW(e,"Component");if(typeof e=="object")switch(e.$$typeof){case gl.ForwardRef:return yO(e,e.render,"ForwardRef");case gl.Memo:return yO(e,e.type,"memo");default:return}}}i(L2e,"getDisplayName$2");const D2e=Object.freeze(Object.defineProperty({__proto__:null,default:L2e,getFunctionName:nW},Symbol.toStringTag,{value:"Module"})),N2e=["ownerState"],F2e=["variants"],B2e=["name","slot","skipVariantsResolver","skipSx","overridesResolver"];function W2e(e){return Object.keys(e).length===0}i(W2e,"isEmpty$3");function U2e(e){return typeof e=="string"&&e.charCodeAt(0)>96}i(U2e,"isStringTag$1");function A2(e){return e!=="ownerState"&&e!=="theme"&&e!=="sx"&&e!=="as"}i(A2,"shouldForwardProp$1");const H2e=Zf(),q2e=i(e=>e&&e.charAt(0).toLowerCase()+e.slice(1),"lowercaseFirstLetter$1");function hv({defaultTheme:e,theme:t,themeId:n}){return W2e(t)?e:t[n]||t}i(hv,"resolveTheme$1");function V2e(e){return e?(t,n)=>n[e]:null}i(V2e,"defaultOverridesResolver$1");function uy(e,t){let{ownerState:n}=t,r=Ei(t,N2e);const a=typeof e=="function"?e(Wt({ownerState:n},r)):e;if(Array.isArray(a))return a.flatMap(o=>uy(o,Wt({ownerState:n},r)));if(a&&typeof a=="object"&&Array.isArray(a.variants)){const{variants:o=[]}=a;let c=Ei(a,F2e);return o.forEach(l=>{let u=!0;typeof l.props=="function"?u=l.props(Wt({ownerState:n},r,n)):Object.keys(l.props).forEach(d=>{(n==null?void 0:n[d])!==l.props[d]&&r[d]!==l.props[d]&&(u=!1)}),u&&(Array.isArray(c)||(c=[c]),c.push(typeof l.style=="function"?l.style(Wt({ownerState:n},r,n)):l.style))}),c}return a}i(uy,"processStyleArg$1");function G2e(e={}){const{themeId:t,defaultTheme:n=H2e,rootShouldForwardProp:r=A2,slotShouldForwardProp:a=A2}=e,o=i(s=>Cg(Wt({},s,{theme:hv(Wt({},s,{defaultTheme:n,themeId:t}))})),"systemSx");return o.__mui_systemSx=!0,(s,c={})=>{qB(s,_=>_.filter(S=>!(S!=null&&S.__mui_systemSx)));const{name:l,slot:u,skipVariantsResolver:d,skipSx:f,overridesResolver:m=V2e(q2e(u))}=c,g=Ei(c,B2e),h=d!==void 0?d:u&&u!=="Root"&&u!=="root"||!1,y=f||!1;let b,x=A2;u==="Root"||u==="root"?x=r:u?x=a:U2e(s)&&(x=void 0);const w=LE(s,Wt({shouldForwardProp:x,label:b},g)),C=i(_=>typeof _=="function"&&_.__emotion_real!==_||ts(_)?S=>uy(_,Wt({},S,{theme:hv({theme:S.theme,defaultTheme:n,themeId:t})})):_,"transformStyleArg"),j=i((_,...S)=>{let k=C(_);const $=S?S.map(C):[];l&&m&&$.push(R=>{const T=hv(Wt({},R,{defaultTheme:n,themeId:t}));if(!T.components||!T.components[l]||!T.components[l].styleOverrides)return null;const M=T.components[l].styleOverrides,I={};return Object.entries(M).forEach(([z,H])=>{I[z]=uy(H,Wt({},R,{theme:T}))}),m(R,I)}),l&&!h&&$.push(R=>{var T;const M=hv(Wt({},R,{defaultTheme:n,themeId:t})),I=M==null||(T=M.components)==null||(T=T[l])==null?void 0:T.variants;return uy({variants:I},Wt({},R,{theme:M}))}),y||$.push(o);const E=$.length-S.length;if(Array.isArray(_)&&E>0){const R=new Array(E).fill("");k=[..._,...R],k.raw=[..._.raw,...R]}const P=w(k,...$);return s.muiName&&(P.muiName=s.muiName),P},"muiStyledResolver");return w.withConfig&&(j.withConfig=w.withConfig),j}}i(G2e,"createStyled$2");const aW=G2e();function qE(e,t){const n=od({},t);return Object.keys(e).forEach(r=>{if(r.toString().match(/^(components|slots)$/))n[r]=od({},e[r],n[r]);else if(r.toString().match(/^(componentsProps|slotProps)$/)){const a=e[r]||{},o=t[r];n[r]={},!o||!Object.keys(o)?n[r]=a:!a||!Object.keys(a)?n[r]=o:(n[r]=od({},o),Object.keys(a).forEach(s=>{n[r][s]=qE(a[s],o[s])}))}else n[r]===void 0&&(n[r]=e[r])}),n}i(qE,"resolveProps");function oW(e){const{theme:t,name:n,props:r}=e;return!t||!t.components||!t.components[n]||!t.components[n].defaultProps?r:qE(t.components[n].defaultProps,r)}i(oW,"getThemeProps");function VE({props:e,name:t,defaultTheme:n,themeId:r}){let a=l1(n);return r&&(a=a[r]||a),oW({theme:a,name:t,props:e})}i(VE,"useThemeProps$5");const Jr=typeof window<"u"?v.useLayoutEffect:v.useEffect;function K2e(e,t,n,r,a){const[o,s]=v.useState(()=>a&&n?n(e).matches:r?r(e).matches:t);return Jr(()=>{let c=!0;if(!n)return;const l=n(e),u=i(()=>{c&&s(l.matches)},"updateMatch");return u(),l.addListener(u),()=>{c=!1,l.removeListener(u)}},[e,n]),o}i(K2e,"useMediaQueryOld");const iW=v.useSyncExternalStore;function J2e(e,t,n,r,a){const o=v.useCallback(()=>t,[t]),s=v.useMemo(()=>{if(a&&n)return()=>n(e).matches;if(r!==null){const{matches:d}=r(e);return()=>d}return o},[o,e,r,a,n]),[c,l]=v.useMemo(()=>{if(n===null)return[o,()=>()=>{}];const d=n(e);return[()=>d.matches,f=>(d.addListener(f),()=>{d.removeListener(f)})]},[o,n,e]);return iW(l,c,s)}i(J2e,"useMediaQueryNew");function Xr(e,t={}){const n=UE(),r=typeof window<"u"&&typeof window.matchMedia<"u",{defaultMatches:a=!1,matchMedia:o=r?window.matchMedia:null,ssrMatchMedia:s=null,noSsr:c=!1}=oW({name:"MuiUseMediaQuery",props:t,theme:n});let l=typeof e=="function"?e(n):e;return l=l.replace(/^@media( ?)/m,""),(iW!==void 0?J2e:K2e)(l,a,o,s,c)}i(Xr,"useMediaQuery");function sW(e,t=Number.MIN_SAFE_INTEGER,n=Number.MAX_SAFE_INTEGER){return Math.max(t,Math.min(e,n))}i(sW,"clamp$1");const Y2e=Object.freeze(Object.defineProperty({__proto__:null,default:sW},Symbol.toStringTag,{value:"Module"}));function cW(e,t=0,n=1){return sW(e,t,n)}i(cW,"clampWrapper$1");function Q2e(e){e=e.slice(1);const t=new RegExp(`.{1,${e.length>=6?2:1}}`,"g");let n=e.match(t);return n&&n[0].length===1&&(n=n.map(r=>r+r)),n?`rgb${n.length===4?"a":""}(${n.map((r,a)=>a<3?parseInt(r,16):Math.round(parseInt(r,16)/255*1e3)/1e3).join(", ")})`:""}i(Q2e,"hexToRgb$1");function GE(e){if(e.type)return e;if(e.charAt(0)==="#")return GE(Q2e(e));const t=e.indexOf("("),n=e.substring(0,t);if(["rgb","rgba","hsl","hsla","color"].indexOf(n)===-1)throw new Error(hs(9,e));let r=e.substring(t+1,e.length-1),a;if(n==="color"){if(r=r.split(" "),a=r.shift(),r.length===4&&r[3].charAt(0)==="/"&&(r[3]=r[3].slice(1)),["srgb","display-p3","a98-rgb","prophoto-rgb","rec-2020"].indexOf(a)===-1)throw new Error(hs(10,a))}else r=r.split(",");return r=r.map(o=>parseFloat(o)),{type:n,values:r,colorSpace:a}}i(GE,"decomposeColor$1");function lW(e){const{type:t,colorSpace:n}=e;let{values:r}=e;return t.indexOf("rgb")!==-1?r=r.map((a,o)=>o<3?parseInt(a,10):a):t.indexOf("hsl")!==-1&&(r[1]=`${r[1]}%`,r[2]=`${r[2]}%`),t.indexOf("color")!==-1?r=`${n} ${r.join(" ")}`:r=`${r.join(", ")}`,`${t}(${r})`}i(lW,"recomposeColor$1");function ah(e,t){return e=GE(e),t=cW(t),(e.type==="rgb"||e.type==="hsl")&&(e.type+="a"),e.type==="color"?e.values[3]=`/${t}`:e.values[3]=t,lW(e)}i(ah,"alpha$1");function X2e(e,t){if(e=GE(e),t=cW(t),e.type.indexOf("hsl")!==-1)e.values[2]+=(100-e.values[2])*t;else if(e.type.indexOf("rgb")!==-1)for(let n=0;n<3;n+=1)e.values[n]+=(255-e.values[n])*t;else if(e.type.indexOf("color")!==-1)for(let n=0;n<3;n+=1)e.values[n]+=(1-e.values[n])*t;return lW(e)}i(X2e,"lighten$1");function H3(){return H3=Object.assign?Object.assign.bind():function(e){for(var t=1;tn==null?t:i(function(...a){t.apply(this,a),n.apply(this,a)},"chainedFunction"),()=>{})}i(q3,"createChainedFunction");function ep(e,t=166){let n;function r(...a){const o=i(()=>{e.apply(this,a)},"later");clearTimeout(n),n=setTimeout(o,t)}return i(r,"debounced"),r.clear=()=>{clearTimeout(n)},r}i(ep,"debounce$1");function Z2e(e,t){return()=>null}i(Z2e,"deprecatedPropType");function fm(e,t){var n,r;return v.isValidElement(e)&&t.indexOf((n=e.type.muiName)!=null?n:(r=e.type)==null||(r=r._payload)==null||(r=r.value)==null?void 0:r.muiName)!==-1}i(fm,"isMuiElement");function tr(e){return e&&e.ownerDocument||document}i(tr,"ownerDocument");function po(e){return tr(e).defaultView||window}i(po,"ownerWindow");function eCe(e,t){return()=>null}i(eCe,"requirePropFactory");function oh(e,t){typeof e=="function"?e(t):e&&(e.current=t)}i(oh,"setRef");let bO=0;function tCe(e){const[t,n]=v.useState(e),r=e||t;return v.useEffect(()=>{t==null&&(bO+=1,n(`mui-${bO}`))},[t]),r}i(tCe,"useGlobalId");const xO=RL.useId;function vc(e){if(xO!==void 0){const t=xO();return e??t}return tCe(e)}i(vc,"useId");function nCe(e,t,n,r,a){return null}i(nCe,"unsupportedProp");function ls({controlled:e,default:t,name:n,state:r="value"}){const{current:a}=v.useRef(e!==void 0),[o,s]=v.useState(t),c=a?e:o,l=v.useCallback(u=>{a||s(u)},[]);return[c,l]}i(ls,"useControlled");function sr(e){const t=v.useRef(e);return Jr(()=>{t.current=e}),v.useRef((...n)=>(0,t.current)(...n)).current}i(sr,"useEventCallback");function ln(...e){return v.useMemo(()=>e.every(t=>t==null)?null:t=>{e.forEach(n=>{oh(n,t)})},e)}i(ln,"useForkRef");const wO={};function rCe(e,t){const n=v.useRef(wO);return n.current===wO&&(n.current=e(t)),n}i(rCe,"useLazyRef");const aCe=[];function oCe(e){v.useEffect(e,aCe)}i(oCe,"useOnMount");const R0=class R0{constructor(){this.currentId=null,this.clear=()=>{this.currentId!==null&&(clearTimeout(this.currentId),this.currentId=null)},this.disposeEffect=()=>this.clear}static create(){return new R0}start(t,n){this.clear(),this.currentId=setTimeout(()=>{this.currentId=null,n()},t)}};i(R0,"Timeout");let ih=R0;function Yc(){const e=rCe(ih.create).current;return oCe(e.disposeEffect),e}i(Yc,"useTimeout");let u1=!0,V3=!1;const iCe=new ih,sCe={text:!0,search:!0,url:!0,tel:!0,email:!0,password:!0,number:!0,date:!0,month:!0,week:!0,time:!0,datetime:!0,"datetime-local":!0};function cCe(e){const{type:t,tagName:n}=e;return!!(n==="INPUT"&&sCe[t]&&!e.readOnly||n==="TEXTAREA"&&!e.readOnly||e.isContentEditable)}i(cCe,"focusTriggersKeyboardModality");function lCe(e){e.metaKey||e.altKey||e.ctrlKey||(u1=!0)}i(lCe,"handleKeyDown");function P2(){u1=!1}i(P2,"handlePointerDown");function uCe(){this.visibilityState==="hidden"&&V3&&(u1=!0)}i(uCe,"handleVisibilityChange");function dCe(e){e.addEventListener("keydown",lCe,!0),e.addEventListener("mousedown",P2,!0),e.addEventListener("pointerdown",P2,!0),e.addEventListener("touchstart",P2,!0),e.addEventListener("visibilitychange",uCe,!0)}i(dCe,"prepare");function fCe(e){const{target:t}=e;try{return t.matches(":focus-visible")}catch{}return u1||cCe(t)}i(fCe,"isFocusVisible");function d1(){const e=v.useCallback(a=>{a!=null&&dCe(a.ownerDocument)},[]),t=v.useRef(!1);function n(){return t.current?(V3=!0,iCe.start(100,()=>{V3=!1}),t.current=!1,!0):!1}i(n,"handleBlurVisible");function r(a){return fCe(a)?(t.current=!0,!0):!1}return i(r,"handleFocusVisible"),{isFocusVisibleRef:t,onFocus:r,onBlur:n,ref:e}}i(d1,"useIsFocusVisible");function uW(e){const t=e.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}i(uW,"getScrollbarSize");let pu;function dW(){if(pu)return pu;const e=document.createElement("div"),t=document.createElement("div");return t.style.width="10px",t.style.height="1px",e.appendChild(t),e.dir="rtl",e.style.fontSize="14px",e.style.width="4px",e.style.height="1px",e.style.position="absolute",e.style.top="-1000px",e.style.overflow="scroll",document.body.appendChild(e),pu="reverse",e.scrollLeft>0?pu="default":(e.scrollLeft=1,e.scrollLeft===0&&(pu="negative")),document.body.removeChild(e),pu}i(dW,"detectScrollType");function pCe(e,t){const n=e.scrollLeft;if(t!=="rtl")return n;switch(dW()){case"negative":return e.scrollWidth-e.clientWidth+n;case"reverse":return e.scrollWidth-e.clientWidth-n;default:return n}}i(pCe,"getNormalizedScrollLeft");const mCe=i(e=>{const t=v.useRef({});return v.useEffect(()=>{t.current=e}),t.current},"usePreviousProps");function Ke(e,t,n=void 0){const r={};return Object.keys(e).forEach(a=>{r[a]=e[a].reduce((o,s)=>{if(s){const c=t(s);c!==""&&o.push(c),n&&n[s]&&o.push(n[s])}return o},[]).join(" ")}),r}i(Ke,"composeClasses");const hCe=v.createContext(null),fW=hCe;function pW(){return v.useContext(fW)}i(pW,"useTheme$3");const gCe=typeof Symbol=="function"&&Symbol.for,vCe=gCe?Symbol.for("mui.nested"):"__THEME_NESTED__";function yCe(e,t){return typeof t=="function"?t(e):H3({},e,t)}i(yCe,"mergeOuterLocalTheme");function bCe(e){const{children:t,theme:n}=e,r=pW(),a=v.useMemo(()=>{const o=r===null?n:yCe(r,n);return o!=null&&(o[vCe]=r!==null),o},[n,r]);return p.jsx(fW.Provider,{value:a,children:t})}i(bCe,"ThemeProvider$3");const xCe=["value"],mW=v.createContext();function wCe(e){let{value:t}=e,n=Ei(e,xCe);return p.jsx(mW.Provider,Wt({value:t??!0},n))}i(wCe,"RtlProvider");const Pc=i(()=>{const e=v.useContext(mW);return e??!1},"useRtl"),CO={};function SO(e,t,n,r=!1){return v.useMemo(()=>{const a=e&&t[e]||t;if(typeof n=="function"){const o=n(a),s=e?Wt({},t,{[e]:o}):o;return r?()=>s:s}return e?Wt({},t,{[e]:n}):Wt({},t,n)},[e,t,n,r])}i(SO,"useThemeScoping");function CCe(e){const{children:t,theme:n,themeId:r}=e,a=UE(CO),o=pW()||CO,s=SO(r,a,n),c=SO(r,o,n,!0),l=s.direction==="rtl";return p.jsx(bCe,{theme:c,children:p.jsx(yg.Provider,{value:s,children:p.jsx(wCe,{value:l,children:t})})})}i(CCe,"ThemeProvider$2");const SCe=["className","component","disableGutters","fixed","maxWidth","classes"],jCe=Zf(),_Ce=aW("div",{name:"MuiContainer",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[`maxWidth${ve(String(n.maxWidth))}`],n.fixed&&t.fixed,n.disableGutters&&t.disableGutters]}}),kCe=i(e=>VE({props:e,name:"MuiContainer",defaultTheme:jCe}),"useThemePropsDefault$1"),$Ce=i((e,t)=>{const n=i(l=>Ge(t,l),"getContainerUtilityClass"),{classes:r,fixed:a,disableGutters:o,maxWidth:s}=e,c={root:["root",s&&`maxWidth${ve(String(s))}`,a&&"fixed",o&&"disableGutters"]};return Ke(c,n,r)},"useUtilityClasses$1b");function ECe(e={}){const{createStyledComponent:t=_Ce,useThemeProps:n=kCe,componentName:r="MuiContainer"}=e,a=t(({theme:s,ownerState:c})=>Wt({width:"100%",marginLeft:"auto",boxSizing:"border-box",marginRight:"auto",display:"block"},!c.disableGutters&&{paddingLeft:s.spacing(2),paddingRight:s.spacing(2),[s.breakpoints.up("sm")]:{paddingLeft:s.spacing(3),paddingRight:s.spacing(3)}}),({theme:s,ownerState:c})=>c.fixed&&Object.keys(s.breakpoints.values).reduce((l,u)=>{const d=u,f=s.breakpoints.values[d];return f!==0&&(l[s.breakpoints.up(d)]={maxWidth:`${f}${s.breakpoints.unit}`}),l},{}),({theme:s,ownerState:c})=>Wt({},c.maxWidth==="xs"&&{[s.breakpoints.up("xs")]:{maxWidth:Math.max(s.breakpoints.values.xs,444)}},c.maxWidth&&c.maxWidth!=="xs"&&{[s.breakpoints.up(c.maxWidth)]:{maxWidth:`${s.breakpoints.values[c.maxWidth]}${s.breakpoints.unit}`}}));return v.forwardRef(i(function(c,l){const u=n(c),{className:d,component:f="div",disableGutters:m=!1,fixed:g=!1,maxWidth:h="lg"}=u,y=Ei(u,SCe),b=Wt({},u,{component:f,disableGutters:m,fixed:g,maxWidth:h}),x=$Ce(b,r);return p.jsx(a,Wt({as:f,ownerState:b,className:de(x.root,d),ref:l},y))},"Container2"))}i(ECe,"createContainer");const RCe=["component","direction","spacing","divider","children","className","useFlexGap"],ACe=Zf(),PCe=aW("div",{name:"MuiStack",slot:"Root",overridesResolver:(e,t)=>t.root});function TCe(e){return VE({props:e,name:"MuiStack",defaultTheme:ACe})}i(TCe,"useThemePropsDefault");function MCe(e,t){const n=v.Children.toArray(e).filter(Boolean);return n.reduce((r,a,o)=>(r.push(a),o({row:"Left","row-reverse":"Right",column:"Top","column-reverse":"Bottom"})[e],"getSideFromDirection"),zCe=i(({ownerState:e,theme:t})=>{let n=Wt({display:"flex",flexDirection:"column"},ba({theme:t},vl({values:e.direction,breakpoints:t.breakpoints.values}),r=>({flexDirection:r})));if(e.spacing){const r=BE(t),a=Object.keys(t.breakpoints.values).reduce((l,u)=>((typeof e.spacing=="object"&&e.spacing[u]!=null||typeof e.direction=="object"&&e.direction[u]!=null)&&(l[u]=!0),l),{}),o=vl({values:e.direction,base:a}),s=vl({values:e.spacing,base:a});typeof o=="object"&&Object.keys(o).forEach((l,u,d)=>{if(!o[l]){const m=u>0?o[d[u-1]]:"column";o[l]=m}}),n=kr(n,ba({theme:t},s,i((l,u)=>e.useFlexGap?{gap:Ol(r,l)}:{"& > :not(style):not(style)":{margin:0},"& > :not(style) ~ :not(style)":{[`margin${OCe(u?o[u]:e.direction)}`]:Ol(r,l)}},"styleFromPropValue")))}return n=zwe(t.breakpoints,n),n},"style");function ICe(e={}){const{createStyledComponent:t=PCe,useThemeProps:n=TCe,componentName:r="MuiStack"}=e,a=i(()=>Ke({root:["root"]},l=>Ge(r,l),{}),"useUtilityClasses"),o=t(zCe);return v.forwardRef(i(function(l,u){const d=n(l),f=Sg(d),{component:m="div",direction:g="column",spacing:h=0,divider:y,children:b,className:x,useFlexGap:w=!1}=f,C=Ei(f,RCe),j={direction:g,spacing:h,useFlexGap:w},_=a();return p.jsx(o,Wt({as:m,ownerState:j,ref:u,className:de(_.root,x)},C,{children:y?MCe(b,y):b}))},"Grid"))}i(ICe,"createStack");function LCe(e,t){return A({toolbar:{minHeight:56,[e.up("xs")]:{"@media (orientation: landscape)":{minHeight:48}},[e.up("sm")]:{minHeight:64}}},t)}i(LCe,"createMixins");var Yn={},hW={exports:{}};(function(e){function t(n){return n&&n.__esModule?n:{default:n}}i(t,"_interopRequireDefault"),e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports})(hW);var gW=hW.exports;const DCe=zi(Uxe),NCe=zi(Y2e);var vW=gW;Object.defineProperty(Yn,"__esModule",{value:!0});var bt=Yn.alpha=wW;Yn.blend=QCe;Yn.colorChannel=void 0;var nf=Yn.darken=JE;Yn.decomposeColor=mo;var FCe=Yn.emphasize=CW,BCe=Yn.getContrastRatio=VCe;Yn.getLuminance=Pb;Yn.hexToRgb=yW;Yn.hslToRgb=xW;var rf=Yn.lighten=YE;Yn.private_safeAlpha=GCe;Yn.private_safeColorChannel=void 0;Yn.private_safeDarken=KCe;Yn.private_safeEmphasize=YCe;Yn.private_safeLighten=JCe;Yn.recomposeColor=tp;Yn.rgbToHex=qCe;var jO=vW(DCe),WCe=vW(NCe);function KE(e,t=0,n=1){return(0,WCe.default)(e,t,n)}i(KE,"clampWrapper");function yW(e){e=e.slice(1);const t=new RegExp(`.{1,${e.length>=6?2:1}}`,"g");let n=e.match(t);return n&&n[0].length===1&&(n=n.map(r=>r+r)),n?`rgb${n.length===4?"a":""}(${n.map((r,a)=>a<3?parseInt(r,16):Math.round(parseInt(r,16)/255*1e3)/1e3).join(", ")})`:""}i(yW,"hexToRgb");function UCe(e){const t=e.toString(16);return t.length===1?`0${t}`:t}i(UCe,"intToHex");function mo(e){if(e.type)return e;if(e.charAt(0)==="#")return mo(yW(e));const t=e.indexOf("("),n=e.substring(0,t);if(["rgb","rgba","hsl","hsla","color"].indexOf(n)===-1)throw new Error((0,jO.default)(9,e));let r=e.substring(t+1,e.length-1),a;if(n==="color"){if(r=r.split(" "),a=r.shift(),r.length===4&&r[3].charAt(0)==="/"&&(r[3]=r[3].slice(1)),["srgb","display-p3","a98-rgb","prophoto-rgb","rec-2020"].indexOf(a)===-1)throw new Error((0,jO.default)(10,a))}else r=r.split(",");return r=r.map(o=>parseFloat(o)),{type:n,values:r,colorSpace:a}}i(mo,"decomposeColor");const bW=i(e=>{const t=mo(e);return t.values.slice(0,3).map((n,r)=>t.type.indexOf("hsl")!==-1&&r!==0?`${n}%`:n).join(" ")},"colorChannel");Yn.colorChannel=bW;const HCe=i((e,t)=>{try{return bW(e)}catch{return e}},"private_safeColorChannel");Yn.private_safeColorChannel=HCe;function tp(e){const{type:t,colorSpace:n}=e;let{values:r}=e;return t.indexOf("rgb")!==-1?r=r.map((a,o)=>o<3?parseInt(a,10):a):t.indexOf("hsl")!==-1&&(r[1]=`${r[1]}%`,r[2]=`${r[2]}%`),t.indexOf("color")!==-1?r=`${n} ${r.join(" ")}`:r=`${r.join(", ")}`,`${t}(${r})`}i(tp,"recomposeColor");function qCe(e){if(e.indexOf("#")===0)return e;const{values:t}=mo(e);return`#${t.map((n,r)=>UCe(r===3?Math.round(255*n):n)).join("")}`}i(qCe,"rgbToHex");function xW(e){e=mo(e);const{values:t}=e,n=t[0],r=t[1]/100,a=t[2]/100,o=r*Math.min(a,1-a),s=i((u,d=(u+n/30)%12)=>a-o*Math.max(Math.min(d-3,9-d,1),-1),"f");let c="rgb";const l=[Math.round(s(0)*255),Math.round(s(8)*255),Math.round(s(4)*255)];return e.type==="hsla"&&(c+="a",l.push(t[3])),tp({type:c,values:l})}i(xW,"hslToRgb$1");function Pb(e){e=mo(e);let t=e.type==="hsl"||e.type==="hsla"?mo(xW(e)).values:e.values;return t=t.map(n=>(e.type!=="color"&&(n/=255),n<=.03928?n/12.92:((n+.055)/1.055)**2.4)),Number((.2126*t[0]+.7152*t[1]+.0722*t[2]).toFixed(3))}i(Pb,"getLuminance");function VCe(e,t){const n=Pb(e),r=Pb(t);return(Math.max(n,r)+.05)/(Math.min(n,r)+.05)}i(VCe,"getContrastRatio");function wW(e,t){return e=mo(e),t=KE(t),(e.type==="rgb"||e.type==="hsl")&&(e.type+="a"),e.type==="color"?e.values[3]=`/${t}`:e.values[3]=t,tp(e)}i(wW,"alpha");function GCe(e,t,n){try{return wW(e,t)}catch{return e}}i(GCe,"private_safeAlpha");function JE(e,t){if(e=mo(e),t=KE(t),e.type.indexOf("hsl")!==-1)e.values[2]*=1-t;else if(e.type.indexOf("rgb")!==-1||e.type.indexOf("color")!==-1)for(let n=0;n<3;n+=1)e.values[n]*=1-t;return tp(e)}i(JE,"darken");function KCe(e,t,n){try{return JE(e,t)}catch{return e}}i(KCe,"private_safeDarken");function YE(e,t){if(e=mo(e),t=KE(t),e.type.indexOf("hsl")!==-1)e.values[2]+=(100-e.values[2])*t;else if(e.type.indexOf("rgb")!==-1)for(let n=0;n<3;n+=1)e.values[n]+=(255-e.values[n])*t;else if(e.type.indexOf("color")!==-1)for(let n=0;n<3;n+=1)e.values[n]+=(1-e.values[n])*t;return tp(e)}i(YE,"lighten");function JCe(e,t,n){try{return YE(e,t)}catch{return e}}i(JCe,"private_safeLighten");function CW(e,t=.15){return Pb(e)>.5?JE(e,t):YE(e,t)}i(CW,"emphasize");function YCe(e,t,n){try{return CW(e,t)}catch{return e}}i(YCe,"private_safeEmphasize");function QCe(e,t,n,r=1){const a=i((l,u)=>Math.round((l**(1/r)*(1-n)+u**(1/r)*n)**r),"blendChannel"),o=mo(e),s=mo(t),c=[a(o.values[0],s.values[0]),a(o.values[1],s.values[1]),a(o.values[2],s.values[2])];return tp({type:"rgb",values:c})}i(QCe,"blend");const XCe=["mode","contrastThreshold","tonalOffset"],_O={text:{primary:"rgba(0, 0, 0, 0.87)",secondary:"rgba(0, 0, 0, 0.6)",disabled:"rgba(0, 0, 0, 0.38)"},divider:"rgba(0, 0, 0, 0.12)",background:{paper:Xm.white,default:Xm.white},action:{active:"rgba(0, 0, 0, 0.54)",hover:"rgba(0, 0, 0, 0.04)",hoverOpacity:.04,selected:"rgba(0, 0, 0, 0.08)",selectedOpacity:.08,disabled:"rgba(0, 0, 0, 0.26)",disabledBackground:"rgba(0, 0, 0, 0.12)",disabledOpacity:.38,focus:"rgba(0, 0, 0, 0.12)",focusOpacity:.12,activatedOpacity:.12}},T2={text:{primary:Xm.white,secondary:"rgba(255, 255, 255, 0.7)",disabled:"rgba(255, 255, 255, 0.5)",icon:"rgba(255, 255, 255, 0.5)"},divider:"rgba(255, 255, 255, 0.12)",background:{paper:"#121212",default:"#121212"},action:{active:Xm.white,hover:"rgba(255, 255, 255, 0.08)",hoverOpacity:.08,selected:"rgba(255, 255, 255, 0.16)",selectedOpacity:.16,disabled:"rgba(255, 255, 255, 0.3)",disabledBackground:"rgba(255, 255, 255, 0.12)",disabledOpacity:.38,focus:"rgba(255, 255, 255, 0.12)",focusOpacity:.12,activatedOpacity:.24}};function kO(e,t,n,r){const a=r.light||r,o=r.dark||r*1.5;e[t]||(e.hasOwnProperty(n)?e[t]=e[n]:t==="light"?e.light=rf(e.main,a):t==="dark"&&(e.dark=nf(e.main,o)))}i(kO,"addLightOrDark");function ZCe(e="light"){return e==="dark"?{main:uu[200],light:uu[50],dark:uu[400]}:{main:uu[700],light:uu[400],dark:uu[800]}}i(ZCe,"getDefaultPrimary");function eSe(e="light"){return e==="dark"?{main:lu[200],light:lu[50],dark:lu[400]}:{main:lu[500],light:lu[300],dark:lu[700]}}i(eSe,"getDefaultSecondary");function tSe(e="light"){return e==="dark"?{main:cu[500],light:cu[300],dark:cu[700]}:{main:cu[700],light:cu[400],dark:cu[800]}}i(tSe,"getDefaultError");function nSe(e="light"){return e==="dark"?{main:du[400],light:du[300],dark:du[700]}:{main:du[700],light:du[500],dark:du[900]}}i(nSe,"getDefaultInfo");function rSe(e="light"){return e==="dark"?{main:fu[400],light:fu[300],dark:fu[700]}:{main:fu[800],light:fu[500],dark:fu[900]}}i(rSe,"getDefaultSuccess");function aSe(e="light"){return e==="dark"?{main:$p[400],light:$p[300],dark:$p[700]}:{main:"#ed6c02",light:$p[500],dark:$p[900]}}i(aSe,"getDefaultWarning");function oSe(e){const{mode:t="light",contrastThreshold:n=3,tonalOffset:r=.2}=e,a=$e(e,XCe),o=e.primary||ZCe(t),s=e.secondary||eSe(t),c=e.error||tSe(t),l=e.info||nSe(t),u=e.success||rSe(t),d=e.warning||aSe(t);function f(y){return BCe(y,T2.text.primary)>=n?T2.text.primary:_O.text.primary}i(f,"getContrastText");const m=i(({color:y,name:b,mainShade:x=500,lightShade:w=300,darkShade:C=700})=>{if(y=A({},y),!y.main&&y[x]&&(y.main=y[x]),!y.hasOwnProperty("main"))throw new Error(hs(11,b?` (${b})`:"",x));if(typeof y.main!="string")throw new Error(hs(12,b?` (${b})`:"",JSON.stringify(y.main)));return kO(y,"light",w,r),kO(y,"dark",C,r),y.contrastText||(y.contrastText=f(y.main)),y},"augmentColor"),g={dark:T2,light:_O};return kr(A({common:A({},Xm),mode:t,primary:m({color:o,name:"primary"}),secondary:m({color:s,name:"secondary",mainShade:"A400",lightShade:"A200",darkShade:"A700"}),error:m({color:c,name:"error"}),warning:m({color:d,name:"warning"}),info:m({color:l,name:"info"}),success:m({color:u,name:"success"}),grey:Wxe,contrastThreshold:n,getContrastText:f,augmentColor:m,tonalOffset:r},g[t]),a)}i(oSe,"createPalette");const iSe=["fontFamily","fontSize","fontWeightLight","fontWeightRegular","fontWeightMedium","fontWeightBold","htmlFontSize","allVariants","pxToRem"];function sSe(e){return Math.round(e*1e5)/1e5}i(sSe,"round$2");const $O={textTransform:"uppercase"},EO='"Roboto", "Helvetica", "Arial", sans-serif';function cSe(e,t){const n=typeof t=="function"?t(e):t,{fontFamily:r=EO,fontSize:a=14,fontWeightLight:o=300,fontWeightRegular:s=400,fontWeightMedium:c=500,fontWeightBold:l=700,htmlFontSize:u=16,allVariants:d,pxToRem:f}=n,m=$e(n,iSe),g=a/14,h=f||(x=>`${x/u*g}rem`),y=i((x,w,C,j,_)=>A({fontFamily:r,fontWeight:x,fontSize:h(w),lineHeight:C},r===EO?{letterSpacing:`${sSe(j/w)}em`}:{},_,d),"buildVariant"),b={h1:y(o,96,1.167,-1.5),h2:y(o,60,1.2,-.5),h3:y(s,48,1.167,0),h4:y(s,34,1.235,.25),h5:y(s,24,1.334,0),h6:y(c,20,1.6,.15),subtitle1:y(s,16,1.75,.15),subtitle2:y(c,14,1.57,.1),body1:y(s,16,1.5,.15),body2:y(s,14,1.43,.15),button:y(c,14,1.75,.4,$O),caption:y(s,12,1.66,.4),overline:y(s,12,2.66,1,$O),inherit:{fontFamily:"inherit",fontWeight:"inherit",fontSize:"inherit",lineHeight:"inherit",letterSpacing:"inherit"}};return kr(A({htmlFontSize:u,pxToRem:h,fontFamily:r,fontSize:a,fontWeightLight:o,fontWeightRegular:s,fontWeightMedium:c,fontWeightBold:l},b),m,{clone:!1})}i(cSe,"createTypography");const lSe=.2,uSe=.14,dSe=.12;function wn(...e){return[`${e[0]}px ${e[1]}px ${e[2]}px ${e[3]}px rgba(0,0,0,${lSe})`,`${e[4]}px ${e[5]}px ${e[6]}px ${e[7]}px rgba(0,0,0,${uSe})`,`${e[8]}px ${e[9]}px ${e[10]}px ${e[11]}px rgba(0,0,0,${dSe})`].join(",")}i(wn,"createShadow");const fSe=["none",wn(0,2,1,-1,0,1,1,0,0,1,3,0),wn(0,3,1,-2,0,2,2,0,0,1,5,0),wn(0,3,3,-2,0,3,4,0,0,1,8,0),wn(0,2,4,-1,0,4,5,0,0,1,10,0),wn(0,3,5,-1,0,5,8,0,0,1,14,0),wn(0,3,5,-1,0,6,10,0,0,1,18,0),wn(0,4,5,-2,0,7,10,1,0,2,16,1),wn(0,5,5,-3,0,8,10,1,0,3,14,2),wn(0,5,6,-3,0,9,12,1,0,3,16,2),wn(0,6,6,-3,0,10,14,1,0,4,18,3),wn(0,6,7,-4,0,11,15,1,0,4,20,3),wn(0,7,8,-4,0,12,17,2,0,5,22,4),wn(0,7,8,-4,0,13,19,2,0,5,24,4),wn(0,7,9,-4,0,14,21,2,0,5,26,4),wn(0,8,9,-5,0,15,22,2,0,6,28,5),wn(0,8,10,-5,0,16,24,2,0,6,30,5),wn(0,8,11,-5,0,17,26,2,0,6,32,5),wn(0,9,11,-5,0,18,28,2,0,7,34,6),wn(0,9,12,-6,0,19,29,2,0,7,36,6),wn(0,10,13,-6,0,20,31,3,0,8,38,7),wn(0,10,13,-6,0,21,33,3,0,8,40,7),wn(0,10,14,-6,0,22,35,3,0,8,42,7),wn(0,11,14,-7,0,23,36,3,0,9,44,8),wn(0,11,15,-7,0,24,38,3,0,9,46,8)],pSe=["duration","easing","delay"],mSe={easeInOut:"cubic-bezier(0.4, 0, 0.2, 1)",easeOut:"cubic-bezier(0.0, 0, 0.2, 1)",easeIn:"cubic-bezier(0.4, 0, 1, 1)",sharp:"cubic-bezier(0.4, 0, 0.6, 1)"},hSe={shortest:150,shorter:200,short:250,standard:300,complex:375,enteringScreen:225,leavingScreen:195};function RO(e){return`${Math.round(e)}ms`}i(RO,"formatMs");function gSe(e){if(!e)return 0;const t=e/36;return Math.round((4+15*t**.25+t/5)*10)}i(gSe,"getAutoHeightDuration");function vSe(e){const t=A({},mSe,e.easing),n=A({},hSe,e.duration);return A({getAutoHeightDuration:gSe,create:i((a=["all"],o={})=>{const{duration:s=n.standard,easing:c=t.easeInOut,delay:l=0}=o;return $e(o,pSe),(Array.isArray(a)?a:[a]).map(u=>`${u} ${typeof s=="string"?s:RO(s)} ${c} ${typeof l=="string"?l:RO(l)}`).join(",")},"create")},e,{easing:t,duration:n})}i(vSe,"createTransitions");const ySe={mobileStepper:1e3,fab:1050,speedDial:1050,appBar:1100,drawer:1200,modal:1300,snackbar:1400,tooltip:1500},bSe=ySe,xSe=["breakpoints","mixins","spacing","palette","transitions","typography","shape"];function Tb(e={},...t){const{mixins:n={},palette:r={},transitions:a={},typography:o={}}=e,s=$e(e,xSe);if(e.vars)throw new Error(hs(18));const c=oSe(r),l=Zf(e);let u=kr(l,{mixins:LCe(l.breakpoints,n),palette:c,shadows:fSe.slice(),typography:cSe(c,o),transitions:vSe(a),zIndex:A({},bSe)});return u=kr(u,s),u=t.reduce((d,f)=>kr(d,f),u),u.unstable_sxConfig=A({},wg,s==null?void 0:s.unstable_sxConfig),u.unstable_sx=i(function(f){return Cg({sx:f,theme:this})},"sx"),u}i(Tb,"createTheme");const wSe=Tb(),f1=wSe;function qo(){const e=l1(f1);return e[Ml]||e}i(qo,"useTheme$2");function Qe({props:e,name:t}){return VE({props:e,name:t,defaultTheme:f1,themeId:Ml})}i(Qe,"useThemeProps$4");var jg={},M2={exports:{}},AO;function CSe(){return AO||(AO=1,function(e){function t(){return e.exports=t=Object.assign?Object.assign.bind():function(n){for(var r=1;r=0)&&(a[s]=n[s]);return a}i(t,"_objectWithoutPropertiesLoose"),e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports}(O2)),O2.exports}i(SSe,"requireObjectWithoutPropertiesLoose");const SW=zi(Rwe),jSe=zi(Awe),_Se=zi(Lwe),kSe=zi(D2e),$Se=zi(_2e),ESe=zi(P2e);var np=gW;Object.defineProperty(jg,"__esModule",{value:!0});var RSe=jg.default=WSe;jg.shouldForwardProp=dy;jg.systemDefaultTheme=void 0;var Qa=np(CSe()),G3=np(SSe()),TO=ISe(SW),ASe=jSe;np(_Se);np(kSe);var PSe=np($Se),TSe=np(ESe);const MSe=["ownerState"],OSe=["variants"],zSe=["name","slot","skipVariantsResolver","skipSx","overridesResolver"];function jW(e){if(typeof WeakMap!="function")return null;var t=new WeakMap,n=new WeakMap;return(jW=i(function(r){return r?n:t},"_getRequireWildcardCache$1"))(e)}i(jW,"_getRequireWildcardCache$1");function ISe(e,t){if(!t&&e&&e.__esModule)return e;if(e===null||typeof e!="object"&&typeof e!="function")return{default:e};var n=jW(t);if(n&&n.has(e))return n.get(e);var r={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(o!=="default"&&Object.prototype.hasOwnProperty.call(e,o)){var s=a?Object.getOwnPropertyDescriptor(e,o):null;s&&(s.get||s.set)?Object.defineProperty(r,o,s):r[o]=e[o]}return r.default=e,n&&n.set(e,r),r}i(ISe,"_interopRequireWildcard$1");function LSe(e){return Object.keys(e).length===0}i(LSe,"isEmpty$2");function DSe(e){return typeof e=="string"&&e.charCodeAt(0)>96}i(DSe,"isStringTag");function dy(e){return e!=="ownerState"&&e!=="theme"&&e!=="sx"&&e!=="as"}i(dy,"shouldForwardProp");const NSe=jg.systemDefaultTheme=(0,PSe.default)(),FSe=i(e=>e&&e.charAt(0).toLowerCase()+e.slice(1),"lowercaseFirstLetter");function gv({defaultTheme:e,theme:t,themeId:n}){return LSe(t)?e:t[n]||t}i(gv,"resolveTheme");function BSe(e){return e?(t,n)=>n[e]:null}i(BSe,"defaultOverridesResolver");function fy(e,t){let{ownerState:n}=t,r=(0,G3.default)(t,MSe);const a=typeof e=="function"?e((0,Qa.default)({ownerState:n},r)):e;if(Array.isArray(a))return a.flatMap(o=>fy(o,(0,Qa.default)({ownerState:n},r)));if(a&&typeof a=="object"&&Array.isArray(a.variants)){const{variants:o=[]}=a;let c=(0,G3.default)(a,OSe);return o.forEach(l=>{let u=!0;typeof l.props=="function"?u=l.props((0,Qa.default)({ownerState:n},r,n)):Object.keys(l.props).forEach(d=>{(n==null?void 0:n[d])!==l.props[d]&&r[d]!==l.props[d]&&(u=!1)}),u&&(Array.isArray(c)||(c=[c]),c.push(typeof l.style=="function"?l.style((0,Qa.default)({ownerState:n},r,n)):l.style))}),c}return a}i(fy,"processStyleArg");function WSe(e={}){const{themeId:t,defaultTheme:n=NSe,rootShouldForwardProp:r=dy,slotShouldForwardProp:a=dy}=e,o=i(s=>(0,TSe.default)((0,Qa.default)({},s,{theme:gv((0,Qa.default)({},s,{defaultTheme:n,themeId:t}))})),"systemSx");return o.__mui_systemSx=!0,(s,c={})=>{(0,TO.internal_processStyles)(s,_=>_.filter(S=>!(S!=null&&S.__mui_systemSx)));const{name:l,slot:u,skipVariantsResolver:d,skipSx:f,overridesResolver:m=BSe(FSe(u))}=c,g=(0,G3.default)(c,zSe),h=d!==void 0?d:u&&u!=="Root"&&u!=="root"||!1,y=f||!1;let b,x=dy;u==="Root"||u==="root"?x=r:u?x=a:DSe(s)&&(x=void 0);const w=(0,TO.default)(s,(0,Qa.default)({shouldForwardProp:x,label:b},g)),C=i(_=>typeof _=="function"&&_.__emotion_real!==_||(0,ASe.isPlainObject)(_)?S=>fy(_,(0,Qa.default)({},S,{theme:gv({theme:S.theme,defaultTheme:n,themeId:t})})):_,"transformStyleArg"),j=i((_,...S)=>{let k=C(_);const $=S?S.map(C):[];l&&m&&$.push(R=>{const T=gv((0,Qa.default)({},R,{defaultTheme:n,themeId:t}));if(!T.components||!T.components[l]||!T.components[l].styleOverrides)return null;const M=T.components[l].styleOverrides,I={};return Object.entries(M).forEach(([z,H])=>{I[z]=fy(H,(0,Qa.default)({},R,{theme:T}))}),m(R,I)}),l&&!h&&$.push(R=>{var T;const M=gv((0,Qa.default)({},R,{defaultTheme:n,themeId:t})),I=M==null||(T=M.components)==null||(T=T[l])==null?void 0:T.variants;return fy({variants:I},(0,Qa.default)({},R,{theme:M}))}),y||$.push(o);const E=$.length-S.length;if(Array.isArray(_)&&E>0){const R=new Array(E).fill("");k=[..._,...R],k.raw=[..._.raw,...R]}const P=w(k,...$);return s.muiName&&(P.muiName=s.muiName),P},"muiStyledResolver");return w.withConfig&&(j.withConfig=w.withConfig),j}}i(WSe,"createStyled");function _W(e){return e!=="ownerState"&&e!=="theme"&&e!=="sx"&&e!=="as"}i(_W,"slotShouldForwardProp");const USe=i(e=>_W(e)&&e!=="classes","rootShouldForwardProp"),yr=USe,te=RSe({themeId:Ml,defaultTheme:f1,rootShouldForwardProp:yr}),HSe=["theme"];function qSe(e){let{theme:t}=e,n=$e(e,HSe);const r=t[Ml];return p.jsx(CCe,A({},n,{themeId:r?Ml:void 0,theme:r||t}))}i(qSe,"ThemeProvider$1");const MO=i(e=>{let t;return e<1?t=5.11916*e**2:t=4.5*Math.log(e+1)+2,(t/100).toFixed(2)},"getOverlayAlpha");function VSe(e){return Ge("MuiSvgIcon",e)}i(VSe,"getSvgIconUtilityClass");Ye("MuiSvgIcon",["root","colorPrimary","colorSecondary","colorAction","colorError","colorDisabled","fontSizeInherit","fontSizeSmall","fontSizeMedium","fontSizeLarge"]);const GSe=["children","className","color","component","fontSize","htmlColor","inheritViewBox","titleAccess","viewBox"],KSe=i(e=>{const{color:t,fontSize:n,classes:r}=e,a={root:["root",t!=="inherit"&&`color${ve(t)}`,`fontSize${ve(n)}`]};return Ke(a,VSe,r)},"useUtilityClasses$1a"),JSe=te("svg",{name:"MuiSvgIcon",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.color!=="inherit"&&t[`color${ve(n.color)}`],t[`fontSize${ve(n.fontSize)}`]]}})(({theme:e,ownerState:t})=>{var n,r,a,o,s,c,l,u,d,f,m,g,h;return{userSelect:"none",width:"1em",height:"1em",display:"inline-block",fill:t.hasSvgAsChild?void 0:"currentColor",flexShrink:0,transition:(n=e.transitions)==null||(r=n.create)==null?void 0:r.call(n,"fill",{duration:(a=e.transitions)==null||(a=a.duration)==null?void 0:a.shorter}),fontSize:{inherit:"inherit",small:((o=e.typography)==null||(s=o.pxToRem)==null?void 0:s.call(o,20))||"1.25rem",medium:((c=e.typography)==null||(l=c.pxToRem)==null?void 0:l.call(c,24))||"1.5rem",large:((u=e.typography)==null||(d=u.pxToRem)==null?void 0:d.call(u,35))||"2.1875rem"}[t.fontSize],color:(f=(m=(e.vars||e).palette)==null||(m=m[t.color])==null?void 0:m.main)!=null?f:{action:(g=(e.vars||e).palette)==null||(g=g.action)==null?void 0:g.active,disabled:(h=(e.vars||e).palette)==null||(h=h.action)==null?void 0:h.disabled,inherit:void 0}[t.color]}}),K3=v.forwardRef(i(function(t,n){const r=Qe({props:t,name:"MuiSvgIcon"}),{children:a,className:o,color:s="inherit",component:c="svg",fontSize:l="medium",htmlColor:u,inheritViewBox:d=!1,titleAccess:f,viewBox:m="0 0 24 24"}=r,g=$e(r,GSe),h=v.isValidElement(a)&&a.type==="svg",y=A({},r,{color:s,component:c,fontSize:l,instanceFontSize:t.fontSize,inheritViewBox:d,viewBox:m,hasSvgAsChild:h}),b={};d||(b.viewBox=m);const x=KSe(y);return p.jsxs(JSe,A({as:c,className:de(x.root,o),focusable:"false",color:u,"aria-hidden":f?void 0:!0,role:f?"img":void 0,ref:n},b,g,h&&a.props,{ownerState:y,children:[h?a.props.children:a,f?p.jsx("title",{children:f}):null]}))},"SvgIcon2"));K3.muiName="SvgIcon";function lr(e,t){function n(r,a){return p.jsx(K3,A({"data-testid":`${t}Icon`,ref:a},r,{children:e}))}return i(n,"Component"),n.muiName=K3.muiName,v.memo(v.forwardRef(n))}i(lr,"createSvgIcon$1");const YSe={configure:e=>{HE.configure(e)}},QSe=Object.freeze(Object.defineProperty({__proto__:null,capitalize:ve,createChainedFunction:q3,createSvgIcon:lr,debounce:ep,deprecatedPropType:Z2e,isMuiElement:fm,ownerDocument:tr,ownerWindow:po,requirePropFactory:eCe,setRef:oh,unstable_ClassNameGenerator:YSe,unstable_useEnhancedEffect:Jr,unstable_useId:vc,unsupportedProp:nCe,useControlled:ls,useEventCallback:sr,useForkRef:ln,useIsFocusVisible:d1},Symbol.toStringTag,{value:"Module"}));function p1(e){return Qe}i(p1,"createUseThemeProps");function kW(e,t){if(e==null)return{};var n={},r=Object.keys(e),a,o;for(o=0;o=0)&&(n[a]=e[a]);return n}i(kW,"_objectWithoutPropertiesLoose$3");function J3(e,t){return J3=Object.setPrototypeOf?Object.setPrototypeOf.bind():i(function(r,a){return r.__proto__=a,r},"_setPrototypeOf"),J3(e,t)}i(J3,"_setPrototypeOf");function $W(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,J3(e,t)}i($W,"_inheritsLoose");const OO={disabled:!1},Mb=At.createContext(null);var XSe=i(function(t){return t.scrollTop},"forceReflow"),Yp="unmounted",Fc="exited",Bc="entering",wu="entered",Y3="exiting",_s=function(e){$W(t,e);function t(r,a){var o;o=e.call(this,r,a)||this;var s=a,c=s&&!s.isMounting?r.enter:r.appear,l;return o.appearStatus=null,r.in?c?(l=Fc,o.appearStatus=Bc):l=wu:r.unmountOnExit||r.mountOnEnter?l=Yp:l=Fc,o.state={status:l},o.nextCallback=null,o}i(t,"Transition2"),t.getDerivedStateFromProps=i(function(a,o){var s=a.in;return s&&o.status===Yp?{status:Fc}:null},"getDerivedStateFromProps");var n=t.prototype;return n.componentDidMount=i(function(){this.updateStatus(!0,this.appearStatus)},"componentDidMount"),n.componentDidUpdate=i(function(a){var o=null;if(a!==this.props){var s=this.state.status;this.props.in?s!==Bc&&s!==wu&&(o=Bc):(s===Bc||s===wu)&&(o=Y3)}this.updateStatus(!1,o)},"componentDidUpdate"),n.componentWillUnmount=i(function(){this.cancelNextCallback()},"componentWillUnmount"),n.getTimeouts=i(function(){var a=this.props.timeout,o,s,c;return o=s=c=a,a!=null&&typeof a!="number"&&(o=a.exit,s=a.enter,c=a.appear!==void 0?a.appear:s),{exit:o,enter:s,appear:c}},"getTimeouts"),n.updateStatus=i(function(a,o){if(a===void 0&&(a=!1),o!==null)if(this.cancelNextCallback(),o===Bc){if(this.props.unmountOnExit||this.props.mountOnEnter){var s=this.props.nodeRef?this.props.nodeRef.current:Gp.findDOMNode(this);s&&XSe(s)}this.performEnter(a)}else this.performExit();else this.props.unmountOnExit&&this.state.status===Fc&&this.setState({status:Yp})},"updateStatus"),n.performEnter=i(function(a){var o=this,s=this.props.enter,c=this.context?this.context.isMounting:a,l=this.props.nodeRef?[c]:[Gp.findDOMNode(this),c],u=l[0],d=l[1],f=this.getTimeouts(),m=c?f.appear:f.enter;if(!a&&!s||OO.disabled){this.safeSetState({status:wu},function(){o.props.onEntered(u)});return}this.props.onEnter(u,d),this.safeSetState({status:Bc},function(){o.props.onEntering(u,d),o.onTransitionEnd(m,function(){o.safeSetState({status:wu},function(){o.props.onEntered(u,d)})})})},"performEnter"),n.performExit=i(function(){var a=this,o=this.props.exit,s=this.getTimeouts(),c=this.props.nodeRef?void 0:Gp.findDOMNode(this);if(!o||OO.disabled){this.safeSetState({status:Fc},function(){a.props.onExited(c)});return}this.props.onExit(c),this.safeSetState({status:Y3},function(){a.props.onExiting(c),a.onTransitionEnd(s.exit,function(){a.safeSetState({status:Fc},function(){a.props.onExited(c)})})})},"performExit"),n.cancelNextCallback=i(function(){this.nextCallback!==null&&(this.nextCallback.cancel(),this.nextCallback=null)},"cancelNextCallback"),n.safeSetState=i(function(a,o){o=this.setNextCallback(o),this.setState(a,o)},"safeSetState"),n.setNextCallback=i(function(a){var o=this,s=!0;return this.nextCallback=function(c){s&&(s=!1,o.nextCallback=null,a(c))},this.nextCallback.cancel=function(){s=!1},this.nextCallback},"setNextCallback"),n.onTransitionEnd=i(function(a,o){this.setNextCallback(o);var s=this.props.nodeRef?this.props.nodeRef.current:Gp.findDOMNode(this),c=a==null&&!this.props.addEndListener;if(!s||c){setTimeout(this.nextCallback,0);return}if(this.props.addEndListener){var l=this.props.nodeRef?[this.nextCallback]:[s,this.nextCallback],u=l[0],d=l[1];this.props.addEndListener(u,d)}a!=null&&setTimeout(this.nextCallback,a)},"onTransitionEnd"),n.render=i(function(){var a=this.state.status;if(a===Yp)return null;var o=this.props,s=o.children;o.in,o.mountOnEnter,o.unmountOnExit,o.appear,o.enter,o.exit,o.timeout,o.addEndListener,o.onEnter,o.onEntering,o.onEntered,o.onExit,o.onExiting,o.onExited,o.nodeRef;var c=kW(o,["children","in","mountOnEnter","unmountOnExit","appear","enter","exit","timeout","addEndListener","onEnter","onEntering","onEntered","onExit","onExiting","onExited","nodeRef"]);return At.createElement(Mb.Provider,{value:null},typeof s=="function"?s(a,c):At.cloneElement(At.Children.only(s),c))},"render"),t}(At.Component);_s.contextType=Mb;_s.propTypes={};function mu(){}i(mu,"noop$2");_s.defaultProps={in:!1,mountOnEnter:!1,unmountOnExit:!1,appear:!1,enter:!0,exit:!0,onEnter:mu,onEntering:mu,onEntered:mu,onExit:mu,onExiting:mu,onExited:mu};_s.UNMOUNTED=Yp;_s.EXITED=Fc;_s.ENTERING=Bc;_s.ENTERED=wu;_s.EXITING=Y3;const QE=_s;function ZSe(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}i(ZSe,"_assertThisInitialized");function XE(e,t){var n=i(function(o){return t&&v.isValidElement(o)?t(o):o},"mapper"),r=Object.create(null);return e&&v.Children.map(e,function(a){return a}).forEach(function(a){r[a.key]=n(a)}),r}i(XE,"getChildMapping");function eje(e,t){e=e||{},t=t||{};function n(d){return d in t?t[d]:e[d]}i(n,"getValueForKey");var r=Object.create(null),a=[];for(var o in e)o in t?a.length&&(r[o]=a,a=[]):a.push(o);var s,c={};for(var l in t){if(r[l])for(s=0;se.scrollTop,"reflow");function af(e,t){var n,r;const{timeout:a,easing:o,style:s={}}=e;return{duration:(n=s.transitionDuration)!=null?n:typeof a=="number"?a:a[t.mode]||0,easing:(r=s.transitionTimingFunction)!=null?r:typeof o=="object"?o[t.mode]:o,delay:s.transitionDelay}}i(af,"getTransitionProps");function ije(e){return Ge("MuiPaper",e)}i(ije,"getPaperUtilityClass");Ye("MuiPaper",["root","rounded","outlined","elevation","elevation0","elevation1","elevation2","elevation3","elevation4","elevation5","elevation6","elevation7","elevation8","elevation9","elevation10","elevation11","elevation12","elevation13","elevation14","elevation15","elevation16","elevation17","elevation18","elevation19","elevation20","elevation21","elevation22","elevation23","elevation24"]);const sje=["className","component","elevation","square","variant"],cje=i(e=>{const{square:t,elevation:n,variant:r,classes:a}=e,o={root:["root",r,!t&&"rounded",r==="elevation"&&`elevation${n}`]};return Ke(o,ije,a)},"useUtilityClasses$19"),lje=te("div",{name:"MuiPaper",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[n.variant],!n.square&&t.rounded,n.variant==="elevation"&&t[`elevation${n.elevation}`]]}})(({theme:e,ownerState:t})=>{var n;return A({backgroundColor:(e.vars||e).palette.background.paper,color:(e.vars||e).palette.text.primary,transition:e.transitions.create("box-shadow")},!t.square&&{borderRadius:e.shape.borderRadius},t.variant==="outlined"&&{border:`1px solid ${(e.vars||e).palette.divider}`},t.variant==="elevation"&&A({boxShadow:(e.vars||e).shadows[t.elevation]},!e.vars&&e.palette.mode==="dark"&&{backgroundImage:`linear-gradient(${bt("#fff",MO(t.elevation))}, ${bt("#fff",MO(t.elevation))})`},e.vars&&{backgroundImage:(n=e.vars.overlays)==null?void 0:n[t.elevation]}))}),uje=v.forwardRef(i(function(t,n){const r=Qe({props:t,name:"MuiPaper"}),{className:a,component:o="div",elevation:s=1,square:c=!1,variant:l="elevation"}=r,u=$e(r,sje),d=A({},r,{component:o,elevation:s,square:c,variant:l}),f=cje(d);return p.jsx(lje,A({as:o,ownerState:d,className:de(f.root,a),ref:n},u))},"Paper2")),Wa=uje;function _n(){return _n=Object.assign?Object.assign.bind():function(e){for(var t=1;tt?"":e(n)}i(pje,"useClassNamesOverride");function Ob(e,t=[]){if(e===void 0)return{};const n={};return Object.keys(e).filter(r=>r.match(/^on[A-Z]/)&&typeof e[r]=="function"&&!t.includes(r)).forEach(r=>{n[r]=e[r]}),n}i(Ob,"extractEventHandlers");function EW(e,t,n){return typeof e=="function"?e(t,n):e}i(EW,"resolveComponentProps");function m1(e,t){if(e==null)return{};var n={},r=Object.keys(e),a,o;for(o=0;o=0)&&(n[a]=e[a]);return n}i(m1,"_objectWithoutPropertiesLoose$2");function zO(e){if(e===void 0)return{};const t={};return Object.keys(e).filter(n=>!(n.match(/^on[A-Z]/)&&typeof e[n]=="function")).forEach(n=>{t[n]=e[n]}),t}i(zO,"omitEventHandlers");function RW(e){const{getSlotProps:t,additionalProps:n,externalSlotProps:r,externalForwardedProps:a,className:o}=e;if(!t){const g=de(n==null?void 0:n.className,o,a==null?void 0:a.className,r==null?void 0:r.className),h=_n({},n==null?void 0:n.style,a==null?void 0:a.style,r==null?void 0:r.style),y=_n({},n,a,r);return g.length>0&&(y.className=g),Object.keys(h).length>0&&(y.style=h),{props:y,internalRef:void 0}}const s=Ob(_n({},a,r)),c=zO(r),l=zO(a),u=t(s),d=de(u==null?void 0:u.className,n==null?void 0:n.className,o,a==null?void 0:a.className,r==null?void 0:r.className),f=_n({},u==null?void 0:u.style,n==null?void 0:n.style,a==null?void 0:a.style,r==null?void 0:r.style),m=_n({},u,n,l,c);return d.length>0&&(m.className=d),Object.keys(f).length>0&&(m.style=f),{props:m,internalRef:u.ref}}i(RW,"mergeSlotProps");const mje=["elementType","externalSlotProps","ownerState","skipResolvingSlotProps"];function ho(e){var t;const{elementType:n,externalSlotProps:r,ownerState:a,skipResolvingSlotProps:o=!1}=e,s=m1(e,mje),c=o?{}:EW(r,a),{props:l,internalRef:u}=RW(_n({},s,{externalSlotProps:c})),d=ln(u,c==null?void 0:c.ref,(t=e.additionalProps)==null?void 0:t.ref);return Vu(n,_n({},l,{ref:d}),a)}i(ho,"useSlotProps");const hje=["className","elementType","ownerState","externalForwardedProps","getSlotOwnerState","internalForwardedProps"],gje=["component","slots","slotProps"],vje=["component"];function Q3(e,t){const{className:n,elementType:r,ownerState:a,externalForwardedProps:o,getSlotOwnerState:s,internalForwardedProps:c}=t,l=$e(t,hje),{component:u,slots:d={[e]:void 0},slotProps:f={[e]:void 0}}=o,m=$e(o,gje),g=d[e]||r,h=EW(f[e],a),y=RW(A({className:n},l,{externalForwardedProps:e==="root"?m:void 0,externalSlotProps:h})),{props:{component:b},internalRef:x}=y,w=$e(y.props,vje),C=ln(x,h==null?void 0:h.ref,t.ref),j=s?s(w):{},_=A({},a,j),S=e==="root"?b||u:b,k=Vu(g,A({},e==="root"&&!u&&!d[e]&&c,e!=="root"&&!d[e]&&c,w,S&&{as:S},{ref:C}),_);return Object.keys(j).forEach($=>{delete k[$]}),[g,k]}i(Q3,"useSlot");function yje(e){const{className:t,classes:n,pulsate:r=!1,rippleX:a,rippleY:o,rippleSize:s,in:c,onExited:l,timeout:u}=e,[d,f]=v.useState(!1),m=de(t,n.ripple,n.rippleVisible,r&&n.ripplePulsate),g={width:s,height:s,top:-(s/2)+o,left:-(s/2)+a},h=de(n.child,d&&n.childLeaving,r&&n.childPulsate);return!c&&!d&&f(!0),v.useEffect(()=>{if(!c&&l!=null){const y=setTimeout(l,u);return()=>{clearTimeout(y)}}},[l,c,u]),p.jsx("span",{className:m,style:g,children:p.jsx("span",{className:h})})}i(yje,"Ripple");const Xa=Ye("MuiTouchRipple",["root","ripple","rippleVisible","ripplePulsate","child","childLeaving","childPulsate"]),bje=["center","classes","className"];let h1=i(e=>e,"_$5"),IO,LO,DO,NO;const X3=550,xje=80,wje=js(IO||(IO=h1` - 0% { - transform: scale(0); - opacity: 0.1; - } - - 100% { - transform: scale(1); - opacity: 0.3; - } -`)),Cje=js(LO||(LO=h1` - 0% { - opacity: 1; - } - - 100% { - opacity: 0; - } -`)),Sje=js(DO||(DO=h1` - 0% { - transform: scale(1); - } - - 50% { - transform: scale(0.92); - } - - 100% { - transform: scale(1); - } -`)),jje=te("span",{name:"MuiTouchRipple",slot:"Root"})({overflow:"hidden",pointerEvents:"none",position:"absolute",zIndex:0,top:0,right:0,bottom:0,left:0,borderRadius:"inherit"}),_je=te(yje,{name:"MuiTouchRipple",slot:"Ripple"})(NO||(NO=h1` - opacity: 0; - position: absolute; - - &.${0} { - opacity: 0.3; - transform: scale(1); - animation-name: ${0}; - animation-duration: ${0}ms; - animation-timing-function: ${0}; - } - - &.${0} { - animation-duration: ${0}ms; - } - - & .${0} { - opacity: 1; - display: block; - width: 100%; - height: 100%; - border-radius: 50%; - background-color: currentColor; - } - - & .${0} { - opacity: 0; - animation-name: ${0}; - animation-duration: ${0}ms; - animation-timing-function: ${0}; - } - - & .${0} { - position: absolute; - /* @noflip */ - left: 0px; - top: 0; - animation-name: ${0}; - animation-duration: 2500ms; - animation-timing-function: ${0}; - animation-iteration-count: infinite; - animation-delay: 200ms; - } -`),Xa.rippleVisible,wje,X3,({theme:e})=>e.transitions.easing.easeInOut,Xa.ripplePulsate,({theme:e})=>e.transitions.duration.shorter,Xa.child,Xa.childLeaving,Cje,X3,({theme:e})=>e.transitions.easing.easeInOut,Xa.childPulsate,Sje,({theme:e})=>e.transitions.easing.easeInOut),kje=v.forwardRef(i(function(t,n){const r=Qe({props:t,name:"MuiTouchRipple"}),{center:a=!1,classes:o={},className:s}=r,c=$e(r,bje),[l,u]=v.useState([]),d=v.useRef(0),f=v.useRef(null);v.useEffect(()=>{f.current&&(f.current(),f.current=null)},[l]);const m=v.useRef(!1),g=Yc(),h=v.useRef(null),y=v.useRef(null),b=v.useCallback(j=>{const{pulsate:_,rippleX:S,rippleY:k,rippleSize:$,cb:E}=j;u(P=>[...P,p.jsx(_je,{classes:{ripple:de(o.ripple,Xa.ripple),rippleVisible:de(o.rippleVisible,Xa.rippleVisible),ripplePulsate:de(o.ripplePulsate,Xa.ripplePulsate),child:de(o.child,Xa.child),childLeaving:de(o.childLeaving,Xa.childLeaving),childPulsate:de(o.childPulsate,Xa.childPulsate)},timeout:X3,pulsate:_,rippleX:S,rippleY:k,rippleSize:$},d.current)]),d.current+=1,f.current=E},[o]),x=v.useCallback((j={},_={},S=()=>{})=>{const{pulsate:k=!1,center:$=a||_.pulsate,fakeElement:E=!1}=_;if((j==null?void 0:j.type)==="mousedown"&&m.current){m.current=!1;return}(j==null?void 0:j.type)==="touchstart"&&(m.current=!0);const P=E?null:y.current,R=P?P.getBoundingClientRect():{width:0,height:0,left:0,top:0};let T,M,I;if($||j===void 0||j.clientX===0&&j.clientY===0||!j.clientX&&!j.touches)T=Math.round(R.width/2),M=Math.round(R.height/2);else{const{clientX:z,clientY:H}=j.touches&&j.touches.length>0?j.touches[0]:j;T=Math.round(z-R.left),M=Math.round(H-R.top)}if($)I=Math.sqrt((2*R.width**2+R.height**2)/3),I%2===0&&(I+=1);else{const z=Math.max(Math.abs((P?P.clientWidth:0)-T),T)*2+2,H=Math.max(Math.abs((P?P.clientHeight:0)-M),M)*2+2;I=Math.sqrt(z**2+H**2)}j!=null&&j.touches?h.current===null&&(h.current=()=>{b({pulsate:k,rippleX:T,rippleY:M,rippleSize:I,cb:S})},g.start(xje,()=>{h.current&&(h.current(),h.current=null)})):b({pulsate:k,rippleX:T,rippleY:M,rippleSize:I,cb:S})},[a,b,g]),w=v.useCallback(()=>{x({},{pulsate:!0})},[x]),C=v.useCallback((j,_)=>{if(g.clear(),(j==null?void 0:j.type)==="touchend"&&h.current){h.current(),h.current=null,g.start(0,()=>{C(j,_)});return}h.current=null,u(S=>S.length>0?S.slice(1):S),f.current=_},[g]);return v.useImperativeHandle(n,()=>({pulsate:w,start:x,stop:C}),[w,x,C]),p.jsx(jje,A({className:de(Xa.root,o.root,s),ref:y},c,{children:p.jsx(oje,{component:null,exit:!0,children:l})}))},"TouchRipple2")),$je=kje;function Eje(e){return Ge("MuiButtonBase",e)}i(Eje,"getButtonBaseUtilityClass");const Rje=Ye("MuiButtonBase",["root","disabled","focusVisible"]),Aje=["action","centerRipple","children","className","component","disabled","disableRipple","disableTouchRipple","focusRipple","focusVisibleClassName","LinkComponent","onBlur","onClick","onContextMenu","onDragLeave","onFocus","onFocusVisible","onKeyDown","onKeyUp","onMouseDown","onMouseLeave","onMouseUp","onTouchEnd","onTouchMove","onTouchStart","tabIndex","TouchRippleProps","touchRippleRef","type"],Pje=i(e=>{const{disabled:t,focusVisible:n,focusVisibleClassName:r,classes:a}=e,s=Ke({root:["root",t&&"disabled",n&&"focusVisible"]},Eje,a);return n&&r&&(s.root+=` ${r}`),s},"useUtilityClasses$18"),Tje=te("button",{name:"MuiButtonBase",slot:"Root",overridesResolver:(e,t)=>t.root})({display:"inline-flex",alignItems:"center",justifyContent:"center",position:"relative",boxSizing:"border-box",WebkitTapHighlightColor:"transparent",backgroundColor:"transparent",outline:0,border:0,margin:0,borderRadius:0,padding:0,cursor:"pointer",userSelect:"none",verticalAlign:"middle",MozAppearance:"none",WebkitAppearance:"none",textDecoration:"none",color:"inherit","&::-moz-focus-inner":{borderStyle:"none"},[`&.${Rje.disabled}`]:{pointerEvents:"none",cursor:"default"},"@media print":{colorAdjust:"exact"}}),Mje=v.forwardRef(i(function(t,n){const r=Qe({props:t,name:"MuiButtonBase"}),{action:a,centerRipple:o=!1,children:s,className:c,component:l="button",disabled:u=!1,disableRipple:d=!1,disableTouchRipple:f=!1,focusRipple:m=!1,LinkComponent:g="a",onBlur:h,onClick:y,onContextMenu:b,onDragLeave:x,onFocus:w,onFocusVisible:C,onKeyDown:j,onKeyUp:_,onMouseDown:S,onMouseLeave:k,onMouseUp:$,onTouchEnd:E,onTouchMove:P,onTouchStart:R,tabIndex:T=0,TouchRippleProps:M,touchRippleRef:I,type:z}=r,H=$e(r,Aje),F=v.useRef(null),L=v.useRef(null),B=ln(L,I),{isFocusVisibleRef:K,onFocus:se,onBlur:ue,ref:_e}=d1(),[le,V]=v.useState(!1);u&&le&&V(!1),v.useImperativeHandle(a,()=>({focusVisible:()=>{V(!0),F.current.focus()}}),[]);const[q,Y]=v.useState(!1);v.useEffect(()=>{Y(!0)},[]);const O=q&&!d&&!u;v.useEffect(()=>{le&&m&&!d&&q&&L.current.pulsate()},[d,m,le,q]);function D(Se,We,yt=f){return sr(jt=>(We&&We(jt),!yt&&L.current&&L.current[Se](jt),!0))}i(D,"useRippleHandler");const Z=D("start",S),J=D("stop",b),U=D("stop",x),ne=D("stop",$),ie=D("stop",Se=>{le&&Se.preventDefault(),k&&k(Se)}),he=D("start",R),N=D("stop",E),Q=D("stop",P),X=D("stop",Se=>{ue(Se),K.current===!1&&V(!1),h&&h(Se)},!1),we=sr(Se=>{F.current||(F.current=Se.currentTarget),se(Se),K.current===!0&&(V(!0),C&&C(Se)),w&&w(Se)}),fe=i(()=>{const Se=F.current;return l&&l!=="button"&&!(Se.tagName==="A"&&Se.href)},"isNonNativeButton"),pe=v.useRef(!1),xe=sr(Se=>{m&&!pe.current&&le&&L.current&&Se.key===" "&&(pe.current=!0,L.current.stop(Se,()=>{L.current.start(Se)})),Se.target===Se.currentTarget&&fe()&&Se.key===" "&&Se.preventDefault(),j&&j(Se),Se.target===Se.currentTarget&&fe()&&Se.key==="Enter"&&!u&&(Se.preventDefault(),y&&y(Se))}),Re=sr(Se=>{m&&Se.key===" "&&L.current&&le&&!Se.defaultPrevented&&(pe.current=!1,L.current.stop(Se,()=>{L.current.pulsate(Se)})),_&&_(Se),y&&Se.target===Se.currentTarget&&fe()&&Se.key===" "&&!Se.defaultPrevented&&y(Se)});let Me=l;Me==="button"&&(H.href||H.to)&&(Me=g);const Je={};Me==="button"?(Je.type=z===void 0?"button":z,Je.disabled=u):(!H.href&&!H.to&&(Je.role="button"),u&&(Je["aria-disabled"]=u));const pt=ln(n,_e,F),it=A({},r,{centerRipple:o,component:l,disabled:u,disableRipple:d,disableTouchRipple:f,focusRipple:m,tabIndex:T,focusVisible:le}),De=Pje(it);return p.jsxs(Tje,A({as:Me,className:de(De.root,c),ownerState:it,onBlur:X,onClick:y,onContextMenu:J,onFocus:we,onKeyDown:xe,onKeyUp:Re,onMouseDown:Z,onMouseLeave:ie,onMouseUp:ne,onDragLeave:U,onTouchEnd:N,onTouchMove:Q,onTouchStart:he,ref:pt,tabIndex:u?-1:T,type:z},Je,H,{children:[s,O?p.jsx($je,A({ref:B,center:o},M)):null]}))},"ButtonBase2")),Ia=Mje;function Oje(e){return Ge("MuiAlert",e)}i(Oje,"getAlertUtilityClass");const zje=Ye("MuiAlert",["root","action","icon","message","filled","colorSuccess","colorInfo","colorWarning","colorError","filledSuccess","filledInfo","filledWarning","filledError","outlined","outlinedSuccess","outlinedInfo","outlinedWarning","outlinedError","standard","standardSuccess","standardInfo","standardWarning","standardError"]),FO=zje;function Ije(e){return Ge("MuiIconButton",e)}i(Ije,"getIconButtonUtilityClass");const Lje=Ye("MuiIconButton",["root","disabled","colorInherit","colorPrimary","colorSecondary","colorError","colorInfo","colorSuccess","colorWarning","edgeStart","edgeEnd","sizeSmall","sizeMedium","sizeLarge"]),Dje=["edge","children","className","color","disabled","disableFocusRipple","size"],Nje=i(e=>{const{classes:t,disabled:n,color:r,edge:a,size:o}=e,s={root:["root",n&&"disabled",r!=="default"&&`color${ve(r)}`,a&&`edge${ve(a)}`,`size${ve(o)}`]};return Ke(s,Ije,t)},"useUtilityClasses$17"),Fje=te(Ia,{name:"MuiIconButton",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.color!=="default"&&t[`color${ve(n.color)}`],n.edge&&t[`edge${ve(n.edge)}`],t[`size${ve(n.size)}`]]}})(({theme:e,ownerState:t})=>A({textAlign:"center",flex:"0 0 auto",fontSize:e.typography.pxToRem(24),padding:8,borderRadius:"50%",overflow:"visible",color:(e.vars||e).palette.action.active,transition:e.transitions.create("background-color",{duration:e.transitions.duration.shortest})},!t.disableRipple&&{"&:hover":{backgroundColor:e.vars?`rgba(${e.vars.palette.action.activeChannel} / ${e.vars.palette.action.hoverOpacity})`:bt(e.palette.action.active,e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},t.edge==="start"&&{marginLeft:t.size==="small"?-3:-12},t.edge==="end"&&{marginRight:t.size==="small"?-3:-12}),({theme:e,ownerState:t})=>{var n;const r=(n=(e.vars||e).palette)==null?void 0:n[t.color];return A({},t.color==="inherit"&&{color:"inherit"},t.color!=="inherit"&&t.color!=="default"&&A({color:r==null?void 0:r.main},!t.disableRipple&&{"&:hover":A({},r&&{backgroundColor:e.vars?`rgba(${r.mainChannel} / ${e.vars.palette.action.hoverOpacity})`:bt(r.main,e.palette.action.hoverOpacity)},{"@media (hover: none)":{backgroundColor:"transparent"}})}),t.size==="small"&&{padding:5,fontSize:e.typography.pxToRem(18)},t.size==="large"&&{padding:12,fontSize:e.typography.pxToRem(28)},{[`&.${Lje.disabled}`]:{backgroundColor:"transparent",color:(e.vars||e).palette.action.disabled}})}),Bje=v.forwardRef(i(function(t,n){const r=Qe({props:t,name:"MuiIconButton"}),{edge:a=!1,children:o,className:s,color:c="default",disabled:l=!1,disableFocusRipple:u=!1,size:d="medium"}=r,f=$e(r,Dje),m=A({},r,{edge:a,color:c,disabled:l,disableFocusRipple:u,size:d}),g=Nje(m);return p.jsx(Fje,A({className:de(g.root,s),centerRipple:!0,focusRipple:!u,disabled:l,ref:n},f,{ownerState:m,children:o}))},"IconButton2")),cn=Bje,Wje=lr(p.jsx("path",{d:"M20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4C12.76,4 13.5,4.11 14.2, 4.31L15.77,2.74C14.61,2.26 13.34,2 12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0, 0 22,12M7.91,10.08L6.5,11.5L11,16L21,6L19.59,4.58L11,13.17L7.91,10.08Z"}),"SuccessOutlined"),Uje=lr(p.jsx("path",{d:"M12 5.99L19.53 19H4.47L12 5.99M12 2L1 21h22L12 2zm1 14h-2v2h2v-2zm0-6h-2v4h2v-4z"}),"ReportProblemOutlined"),Hje=lr(p.jsx("path",{d:"M11 15h2v2h-2zm0-8h2v6h-2zm.99-5C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"}),"ErrorOutline"),qje=lr(p.jsx("path",{d:"M11,9H13V7H11M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20, 12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10, 10 0 0,0 12,2M11,17H13V11H11V17Z"}),"InfoOutlined"),AW=lr(p.jsx("path",{d:"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Close"),Vje=["action","children","className","closeText","color","components","componentsProps","icon","iconMapping","onClose","role","severity","slotProps","slots","variant"],Gje=p1(),Kje=i(e=>{const{variant:t,color:n,severity:r,classes:a}=e,o={root:["root",`color${ve(n||r)}`,`${t}${ve(n||r)}`,`${t}`],icon:["icon"],message:["message"],action:["action"]};return Ke(o,Oje,a)},"useUtilityClasses$16"),Jje=te(Wa,{name:"MuiAlert",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[n.variant],t[`${n.variant}${ve(n.color||n.severity)}`]]}})(({theme:e})=>{const t=e.palette.mode==="light"?nf:rf,n=e.palette.mode==="light"?rf:nf;return A({},e.typography.body2,{backgroundColor:"transparent",display:"flex",padding:"6px 16px",variants:[...Object.entries(e.palette).filter(([,r])=>r.main&&r.light).map(([r])=>({props:{colorSeverity:r,variant:"standard"},style:{color:e.vars?e.vars.palette.Alert[`${r}Color`]:t(e.palette[r].light,.6),backgroundColor:e.vars?e.vars.palette.Alert[`${r}StandardBg`]:n(e.palette[r].light,.9),[`& .${FO.icon}`]:e.vars?{color:e.vars.palette.Alert[`${r}IconColor`]}:{color:e.palette[r].main}}})),...Object.entries(e.palette).filter(([,r])=>r.main&&r.light).map(([r])=>({props:{colorSeverity:r,variant:"outlined"},style:{color:e.vars?e.vars.palette.Alert[`${r}Color`]:t(e.palette[r].light,.6),border:`1px solid ${(e.vars||e).palette[r].light}`,[`& .${FO.icon}`]:e.vars?{color:e.vars.palette.Alert[`${r}IconColor`]}:{color:e.palette[r].main}}})),...Object.entries(e.palette).filter(([,r])=>r.main&&r.dark).map(([r])=>({props:{colorSeverity:r,variant:"filled"},style:A({fontWeight:e.typography.fontWeightMedium},e.vars?{color:e.vars.palette.Alert[`${r}FilledColor`],backgroundColor:e.vars.palette.Alert[`${r}FilledBg`]}:{backgroundColor:e.palette.mode==="dark"?e.palette[r].dark:e.palette[r].main,color:e.palette.getContrastText(e.palette[r].main)})}))]})}),Yje=te("div",{name:"MuiAlert",slot:"Icon",overridesResolver:(e,t)=>t.icon})({marginRight:12,padding:"7px 0",display:"flex",fontSize:22,opacity:.9}),Qje=te("div",{name:"MuiAlert",slot:"Message",overridesResolver:(e,t)=>t.message})({padding:"8px 0",minWidth:0,overflow:"auto"}),BO=te("div",{name:"MuiAlert",slot:"Action",overridesResolver:(e,t)=>t.action})({display:"flex",alignItems:"flex-start",padding:"4px 0 0 16px",marginLeft:"auto",marginRight:-8}),WO={success:p.jsx(Wje,{fontSize:"inherit"}),warning:p.jsx(Uje,{fontSize:"inherit"}),error:p.jsx(Hje,{fontSize:"inherit"}),info:p.jsx(qje,{fontSize:"inherit"})},Xje=v.forwardRef(i(function(t,n){const r=Gje({props:t,name:"MuiAlert"}),{action:a,children:o,className:s,closeText:c="Close",color:l,components:u={},componentsProps:d={},icon:f,iconMapping:m=WO,onClose:g,role:h="alert",severity:y="success",slotProps:b={},slots:x={},variant:w="standard"}=r,C=$e(r,Vje),j=A({},r,{color:l,severity:y,variant:w,colorSeverity:l||y}),_=Kje(j),S={slots:A({closeButton:u.CloseButton,closeIcon:u.CloseIcon},x),slotProps:A({},d,b)},[k,$]=Q3("closeButton",{elementType:cn,externalForwardedProps:S,ownerState:j}),[E,P]=Q3("closeIcon",{elementType:AW,externalForwardedProps:S,ownerState:j});return p.jsxs(Jje,A({role:h,elevation:0,ownerState:j,className:de(_.root,s),ref:n},C,{children:[f!==!1?p.jsx(Yje,{ownerState:j,className:_.icon,children:f||m[y]||WO[y]}):null,p.jsx(Qje,{ownerState:j,className:_.message,children:o}),a!=null?p.jsx(BO,{ownerState:j,className:_.action,children:a}):null,a==null&&g?p.jsx(BO,{ownerState:j,className:_.action,children:p.jsx(k,A({size:"small","aria-label":c,title:c,color:"inherit",onClick:g},$,{children:p.jsx(E,A({fontSize:"small"},P))}))}):null]}))},"Alert2")),Zje=Xje;function e3e(e){return Ge("MuiTypography",e)}i(e3e,"getTypographyUtilityClass");Ye("MuiTypography",["root","h1","h2","h3","h4","h5","h6","subtitle1","subtitle2","body1","body2","inherit","button","caption","overline","alignLeft","alignRight","alignCenter","alignJustify","noWrap","gutterBottom","paragraph"]);const t3e=["align","className","component","gutterBottom","noWrap","paragraph","variant","variantMapping"],n3e=i(e=>{const{align:t,gutterBottom:n,noWrap:r,paragraph:a,variant:o,classes:s}=e,c={root:["root",o,e.align!=="inherit"&&`align${ve(t)}`,n&&"gutterBottom",r&&"noWrap",a&&"paragraph"]};return Ke(c,e3e,s)},"useUtilityClasses$15"),r3e=te("span",{name:"MuiTypography",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.variant&&t[n.variant],n.align!=="inherit"&&t[`align${ve(n.align)}`],n.noWrap&&t.noWrap,n.gutterBottom&&t.gutterBottom,n.paragraph&&t.paragraph]}})(({theme:e,ownerState:t})=>A({margin:0},t.variant==="inherit"&&{font:"inherit"},t.variant!=="inherit"&&e.typography[t.variant],t.align!=="inherit"&&{textAlign:t.align},t.noWrap&&{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},t.gutterBottom&&{marginBottom:"0.35em"},t.paragraph&&{marginBottom:16})),UO={h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",h6:"h6",subtitle1:"h6",subtitle2:"h6",body1:"p",body2:"p",inherit:"p"},a3e={primary:"primary.main",textPrimary:"text.primary",secondary:"secondary.main",textSecondary:"text.secondary",error:"error.main"},o3e=i(e=>a3e[e]||e,"transformDeprecatedColors$1"),i3e=v.forwardRef(i(function(t,n){const r=Qe({props:t,name:"MuiTypography"}),a=o3e(r.color),o=Sg(A({},r,{color:a})),{align:s="inherit",className:c,component:l,gutterBottom:u=!1,noWrap:d=!1,paragraph:f=!1,variant:m="body1",variantMapping:g=UO}=o,h=$e(o,t3e),y=A({},o,{align:s,color:a,className:c,component:l,gutterBottom:u,noWrap:d,paragraph:f,variant:m,variantMapping:g}),b=l||(f?"p":g[m]||UO[m])||"span",x=n3e(y);return p.jsx(r3e,A({as:b,ref:n,ownerState:y,className:de(x.root,c)},h))},"Typography2")),Ze=i3e;function s3e(e){return Ge("MuiAppBar",e)}i(s3e,"getAppBarUtilityClass");Ye("MuiAppBar",["root","positionFixed","positionAbsolute","positionSticky","positionStatic","positionRelative","colorDefault","colorPrimary","colorSecondary","colorInherit","colorTransparent","colorError","colorInfo","colorSuccess","colorWarning"]);const c3e=["className","color","enableColorOnDark","position"],l3e=i(e=>{const{color:t,position:n,classes:r}=e,a={root:["root",`color${ve(t)}`,`position${ve(n)}`]};return Ke(a,s3e,r)},"useUtilityClasses$14"),vv=i((e,t)=>e?`${e==null?void 0:e.replace(")","")}, ${t})`:t,"joinVars"),u3e=te(Wa,{name:"MuiAppBar",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[`position${ve(n.position)}`],t[`color${ve(n.color)}`]]}})(({theme:e,ownerState:t})=>{const n=e.palette.mode==="light"?e.palette.grey[100]:e.palette.grey[900];return A({display:"flex",flexDirection:"column",width:"100%",boxSizing:"border-box",flexShrink:0},t.position==="fixed"&&{position:"fixed",zIndex:(e.vars||e).zIndex.appBar,top:0,left:"auto",right:0,"@media print":{position:"absolute"}},t.position==="absolute"&&{position:"absolute",zIndex:(e.vars||e).zIndex.appBar,top:0,left:"auto",right:0},t.position==="sticky"&&{position:"sticky",zIndex:(e.vars||e).zIndex.appBar,top:0,left:"auto",right:0},t.position==="static"&&{position:"static"},t.position==="relative"&&{position:"relative"},!e.vars&&A({},t.color==="default"&&{backgroundColor:n,color:e.palette.getContrastText(n)},t.color&&t.color!=="default"&&t.color!=="inherit"&&t.color!=="transparent"&&{backgroundColor:e.palette[t.color].main,color:e.palette[t.color].contrastText},t.color==="inherit"&&{color:"inherit"},e.palette.mode==="dark"&&!t.enableColorOnDark&&{backgroundColor:null,color:null},t.color==="transparent"&&A({backgroundColor:"transparent",color:"inherit"},e.palette.mode==="dark"&&{backgroundImage:"none"})),e.vars&&A({},t.color==="default"&&{"--AppBar-background":t.enableColorOnDark?e.vars.palette.AppBar.defaultBg:vv(e.vars.palette.AppBar.darkBg,e.vars.palette.AppBar.defaultBg),"--AppBar-color":t.enableColorOnDark?e.vars.palette.text.primary:vv(e.vars.palette.AppBar.darkColor,e.vars.palette.text.primary)},t.color&&!t.color.match(/^(default|inherit|transparent)$/)&&{"--AppBar-background":t.enableColorOnDark?e.vars.palette[t.color].main:vv(e.vars.palette.AppBar.darkBg,e.vars.palette[t.color].main),"--AppBar-color":t.enableColorOnDark?e.vars.palette[t.color].contrastText:vv(e.vars.palette.AppBar.darkColor,e.vars.palette[t.color].contrastText)},{backgroundColor:"var(--AppBar-background)",color:t.color==="inherit"?"inherit":"var(--AppBar-color)"},t.color==="transparent"&&{backgroundImage:"none",backgroundColor:"transparent",color:"inherit"}))}),d3e=v.forwardRef(i(function(t,n){const r=Qe({props:t,name:"MuiAppBar"}),{className:a,color:o="primary",enableColorOnDark:s=!1,position:c="fixed"}=r,l=$e(r,c3e),u=A({},r,{color:o,position:c,enableColorOnDark:s}),d=l3e(u);return p.jsx(u3e,A({square:!0,component:"header",ownerState:u,elevation:4,className:de(d.root,a,c==="fixed"&&"mui-fixed"),ref:n},l))},"AppBar2")),PW=d3e,TW="base";function f3e(e){return`${TW}--${e}`}i(f3e,"buildStateClass");function p3e(e,t){return`${TW}-${e}-${t}`}i(p3e,"buildSlotClass");function MW(e,t){const n=tW[t];return n?f3e(n):p3e(e,t)}i(MW,"generateUtilityClass");function m3e(e,t){const n={};return t.forEach(r=>{n[r]=MW(e,r)}),n}i(m3e,"generateUtilityClasses");function HO(e){return e.substring(2).toLowerCase()}i(HO,"mapEventPropToEvent");function h3e(e,t){return t.documentElement.clientWidth(setTimeout(()=>{l.current=!0},0),()=>{l.current=!1}),[]);const d=ln(t.ref,c),f=sr(h=>{const y=u.current;u.current=!1;const b=tr(c.current);if(!l.current||!c.current||"clientX"in h&&h3e(h,b))return;if(s.current){s.current=!1;return}let x;h.composedPath?x=h.composedPath().indexOf(c.current)>-1:x=!b.documentElement.contains(h.target)||c.current.contains(h.target),!x&&(n||!y)&&a(h)}),m=i(h=>y=>{u.current=!0;const b=t.props[h];b&&b(y)},"createHandleSynthetic"),g={ref:d};return o!==!1&&(g[o]=m(o)),v.useEffect(()=>{if(o!==!1){const h=HO(o),y=tr(c.current),b=i(()=>{s.current=!0},"handleTouchMove");return y.addEventListener(h,f),y.addEventListener("touchmove",b),()=>{y.removeEventListener(h,f),y.removeEventListener("touchmove",b)}}},[f,o]),r!==!1&&(g[r]=m(r)),v.useEffect(()=>{if(r!==!1){const h=HO(r),y=tr(c.current);return y.addEventListener(h,f),()=>{y.removeEventListener(h,f)}}},[f,r]),p.jsx(v.Fragment,{children:v.cloneElement(t,g)})}i(g3e,"ClickAwayListener");const v3e=["input","select","textarea","a[href]","button","[tabindex]","audio[controls]","video[controls]",'[contenteditable]:not([contenteditable="false"])'].join(",");function y3e(e){const t=parseInt(e.getAttribute("tabindex")||"",10);return Number.isNaN(t)?e.contentEditable==="true"||(e.nodeName==="AUDIO"||e.nodeName==="VIDEO"||e.nodeName==="DETAILS")&&e.getAttribute("tabindex")===null?0:e.tabIndex:t}i(y3e,"getTabIndex");function b3e(e){if(e.tagName!=="INPUT"||e.type!=="radio"||!e.name)return!1;const t=i(r=>e.ownerDocument.querySelector(`input[type="radio"]${r}`),"getRadio");let n=t(`[name="${e.name}"]:checked`);return n||(n=t(`[name="${e.name}"]`)),n!==e}i(b3e,"isNonTabbableRadio");function x3e(e){return!(e.disabled||e.tagName==="INPUT"&&e.type==="hidden"||b3e(e))}i(x3e,"isNodeMatchingSelectorFocusable");function w3e(e){const t=[],n=[];return Array.from(e.querySelectorAll(v3e)).forEach((r,a)=>{const o=y3e(r);o===-1||!x3e(r)||(o===0?t.push(r):n.push({documentOrder:a,tabIndex:o,node:r}))}),n.sort((r,a)=>r.tabIndex===a.tabIndex?r.documentOrder-a.documentOrder:r.tabIndex-a.tabIndex).map(r=>r.node).concat(t)}i(w3e,"defaultGetTabbable");function C3e(){return!0}i(C3e,"defaultIsEnabled");function S3e(e){const{children:t,disableAutoFocus:n=!1,disableEnforceFocus:r=!1,disableRestoreFocus:a=!1,getTabbable:o=w3e,isEnabled:s=C3e,open:c}=e,l=v.useRef(!1),u=v.useRef(null),d=v.useRef(null),f=v.useRef(null),m=v.useRef(null),g=v.useRef(!1),h=v.useRef(null),y=ln(t.ref,h),b=v.useRef(null);v.useEffect(()=>{!c||!h.current||(g.current=!n)},[n,c]),v.useEffect(()=>{if(!c||!h.current)return;const C=tr(h.current);return h.current.contains(C.activeElement)||(h.current.hasAttribute("tabIndex")||h.current.setAttribute("tabIndex","-1"),g.current&&h.current.focus()),()=>{a||(f.current&&f.current.focus&&(l.current=!0,f.current.focus()),f.current=null)}},[c]),v.useEffect(()=>{if(!c||!h.current)return;const C=tr(h.current),j=i(k=>{b.current=k,!(r||!s()||k.key!=="Tab")&&C.activeElement===h.current&&k.shiftKey&&(l.current=!0,d.current&&d.current.focus())},"loopFocus"),_=i(()=>{const k=h.current;if(k===null)return;if(!C.hasFocus()||!s()||l.current){l.current=!1;return}if(k.contains(C.activeElement)||r&&C.activeElement!==u.current&&C.activeElement!==d.current)return;if(C.activeElement!==m.current)m.current=null;else if(m.current!==null)return;if(!g.current)return;let $=[];if((C.activeElement===u.current||C.activeElement===d.current)&&($=o(h.current)),$.length>0){var E,P;const R=!!((E=b.current)!=null&&E.shiftKey&&((P=b.current)==null?void 0:P.key)==="Tab"),T=$[0],M=$[$.length-1];typeof T!="string"&&typeof M!="string"&&(R?M.focus():T.focus())}else k.focus()},"contain");C.addEventListener("focusin",_),C.addEventListener("keydown",j,!0);const S=setInterval(()=>{C.activeElement&&C.activeElement.tagName==="BODY"&&_()},50);return()=>{clearInterval(S),C.removeEventListener("focusin",_),C.removeEventListener("keydown",j,!0)}},[n,r,a,s,c,o]);const x=i(C=>{f.current===null&&(f.current=C.relatedTarget),g.current=!0,m.current=C.target;const j=t.props.onFocus;j&&j(C)},"onFocus"),w=i(C=>{f.current===null&&(f.current=C.relatedTarget),g.current=!0},"handleFocusSentinel");return p.jsxs(v.Fragment,{children:[p.jsx("div",{tabIndex:c?0:-1,onFocus:w,ref:u,"data-testid":"sentinelStart"}),v.cloneElement(t,{ref:y,onFocus:x}),p.jsx("div",{tabIndex:c?0:-1,onFocus:w,ref:d,"data-testid":"sentinelEnd"})]})}i(S3e,"FocusTrap");function j3e(e){return typeof e=="function"?e():e}i(j3e,"getContainer$1");const OW=v.forwardRef(i(function(t,n){const{children:r,container:a,disablePortal:o=!1}=t,[s,c]=v.useState(null),l=ln(v.isValidElement(r)?r.ref:null,n);if(Jr(()=>{o||c(j3e(a)||document.body)},[a,o]),Jr(()=>{if(s&&!o)return oh(n,s),()=>{oh(n,null)}},[n,s,o]),o){if(v.isValidElement(r)){const u={ref:l};return v.cloneElement(r,u)}return p.jsx(v.Fragment,{children:r})}return p.jsx(v.Fragment,{children:s&&Rf.createPortal(r,s)})},"Portal2"));function _3e(e){const t=tr(e);return t.body===e?po(e).innerWidth>t.documentElement.clientWidth:e.scrollHeight>e.clientHeight}i(_3e,"isOverflowing");function pm(e,t){t?e.setAttribute("aria-hidden","true"):e.removeAttribute("aria-hidden")}i(pm,"ariaHidden");function qO(e){return parseInt(po(e).getComputedStyle(e).paddingRight,10)||0}i(qO,"getPaddingRight");function k3e(e){const n=["TEMPLATE","SCRIPT","STYLE","LINK","MAP","META","NOSCRIPT","PICTURE","COL","COLGROUP","PARAM","SLOT","SOURCE","TRACK"].indexOf(e.tagName)!==-1,r=e.tagName==="INPUT"&&e.getAttribute("type")==="hidden";return n||r}i(k3e,"isAriaHiddenForbiddenOnElement");function VO(e,t,n,r,a){const o=[t,n,...r];[].forEach.call(e.children,s=>{const c=o.indexOf(s)===-1,l=!k3e(s);c&&l&&pm(s,a)})}i(VO,"ariaHiddenSiblings");function z2(e,t){let n=-1;return e.some((r,a)=>t(r)?(n=a,!0):!1),n}i(z2,"findIndexOf");function $3e(e,t){const n=[],r=e.container;if(!t.disableScrollLock){if(_3e(r)){const s=uW(tr(r));n.push({value:r.style.paddingRight,property:"padding-right",el:r}),r.style.paddingRight=`${qO(r)+s}px`;const c=tr(r).querySelectorAll(".mui-fixed");[].forEach.call(c,l=>{n.push({value:l.style.paddingRight,property:"padding-right",el:l}),l.style.paddingRight=`${qO(l)+s}px`})}let o;if(r.parentNode instanceof DocumentFragment)o=tr(r).body;else{const s=r.parentElement,c=po(r);o=(s==null?void 0:s.nodeName)==="HTML"&&c.getComputedStyle(s).overflowY==="scroll"?s:r}n.push({value:o.style.overflow,property:"overflow",el:o},{value:o.style.overflowX,property:"overflow-x",el:o},{value:o.style.overflowY,property:"overflow-y",el:o}),o.style.overflow="hidden"}return i(()=>{n.forEach(({value:o,el:s,property:c})=>{o?s.style.setProperty(c,o):s.style.removeProperty(c)})},"restore")}i($3e,"handleContainer");function E3e(e){const t=[];return[].forEach.call(e.children,n=>{n.getAttribute("aria-hidden")==="true"&&t.push(n)}),t}i(E3e,"getHiddenSiblings");const vP=class vP{constructor(){this.containers=void 0,this.modals=void 0,this.modals=[],this.containers=[]}add(t,n){let r=this.modals.indexOf(t);if(r!==-1)return r;r=this.modals.length,this.modals.push(t),t.modalRef&&pm(t.modalRef,!1);const a=E3e(n);VO(n,t.mount,t.modalRef,a,!0);const o=z2(this.containers,s=>s.container===n);return o!==-1?(this.containers[o].modals.push(t),r):(this.containers.push({modals:[t],container:n,restore:null,hiddenSiblings:a}),r)}mount(t,n){const r=z2(this.containers,o=>o.modals.indexOf(t)!==-1),a=this.containers[r];a.restore||(a.restore=$3e(a,n))}remove(t,n=!0){const r=this.modals.indexOf(t);if(r===-1)return r;const a=z2(this.containers,s=>s.modals.indexOf(t)!==-1),o=this.containers[a];if(o.modals.splice(o.modals.indexOf(t),1),this.modals.splice(r,1),o.modals.length===0)o.restore&&o.restore(),t.modalRef&&pm(t.modalRef,n),VO(o.container,t.mount,t.modalRef,o.hiddenSiblings,!1),this.containers.splice(a,1);else{const s=o.modals[o.modals.length-1];s.modalRef&&pm(s.modalRef,!1)}return r}isTopModal(t){return this.modals.length>0&&this.modals[this.modals.length-1]===t}};i(vP,"ModalManager");let Z3=vP;function R3e(e){return typeof e=="function"?e():e}i(R3e,"getContainer");function A3e(e){return e?e.props.hasOwnProperty("in"):!1}i(A3e,"getHasTransition");const P3e=new Z3;function T3e(e){const{container:t,disableEscapeKeyDown:n=!1,disableScrollLock:r=!1,manager:a=P3e,closeAfterTransition:o=!1,onTransitionEnter:s,onTransitionExited:c,children:l,onClose:u,open:d,rootRef:f}=e,m=v.useRef({}),g=v.useRef(null),h=v.useRef(null),y=ln(h,f),[b,x]=v.useState(!d),w=A3e(l);let C=!0;(e["aria-hidden"]==="false"||e["aria-hidden"]===!1)&&(C=!1);const j=i(()=>tr(g.current),"getDoc"),_=i(()=>(m.current.modalRef=h.current,m.current.mount=g.current,m.current),"getModal"),S=i(()=>{a.mount(_(),{disableScrollLock:r}),h.current&&(h.current.scrollTop=0)},"handleMounted"),k=sr(()=>{const H=R3e(t)||j().body;a.add(_(),H),h.current&&S()}),$=v.useCallback(()=>a.isTopModal(_()),[a]),E=sr(H=>{g.current=H,H&&(d&&$()?S():h.current&&pm(h.current,C))}),P=v.useCallback(()=>{a.remove(_(),C)},[C,a]);v.useEffect(()=>()=>{P()},[P]),v.useEffect(()=>{d?k():(!w||!o)&&P()},[d,P,w,o,k]);const R=i(H=>F=>{var L;(L=H.onKeyDown)==null||L.call(H,F),!(F.key!=="Escape"||F.which===229||!$())&&(n||(F.stopPropagation(),u&&u(F,"escapeKeyDown")))},"createHandleKeyDown"),T=i(H=>F=>{var L;(L=H.onClick)==null||L.call(H,F),F.target===F.currentTarget&&u&&u(F,"backdropClick")},"createHandleBackdropClick");return{getRootProps:i((H={})=>{const F=Ob(e);delete F.onTransitionEnter,delete F.onTransitionExited;const L=_n({},F,H);return _n({role:"presentation"},L,{onKeyDown:R(L),ref:y})},"getRootProps"),getBackdropProps:i((H={})=>{const F=H;return _n({"aria-hidden":!0},F,{onClick:T(F),open:d})},"getBackdropProps"),getTransitionProps:i(()=>{const H=i(()=>{x(!1),s&&s()},"handleEnter"),F=i(()=>{x(!0),c&&c(),o&&P()},"handleExited");return{onEnter:q3(H,l==null?void 0:l.props.onEnter),onExited:q3(F,l==null?void 0:l.props.onExited)}},"getTransitionProps"),rootRef:y,portalRef:E,isTopModal:$,exited:b,hasTransition:w}}i(T3e,"useModal");var ma="top",go="bottom",vo="right",ha="left",tR="auto",_g=[ma,go,vo,ha],of="start",sh="end",M3e="clippingParents",zW="viewport",Ap="popper",O3e="reference",GO=_g.reduce(function(e,t){return e.concat([t+"-"+of,t+"-"+sh])},[]),IW=[].concat(_g,[tR]).reduce(function(e,t){return e.concat([t,t+"-"+of,t+"-"+sh])},[]),z3e="beforeRead",I3e="read",L3e="afterRead",D3e="beforeMain",N3e="main",F3e="afterMain",B3e="beforeWrite",W3e="write",U3e="afterWrite",H3e=[z3e,I3e,L3e,D3e,N3e,F3e,B3e,W3e,U3e];function Ri(e){return e?(e.nodeName||"").toLowerCase():null}i(Ri,"getNodeName");function La(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}i(La,"getWindow");function Il(e){var t=La(e).Element;return e instanceof t||e instanceof Element}i(Il,"isElement");function co(e){var t=La(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}i(co,"isHTMLElement$1");function nR(e){if(typeof ShadowRoot>"u")return!1;var t=La(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}i(nR,"isShadowRoot");function q3e(e){var t=e.state;Object.keys(t.elements).forEach(function(n){var r=t.styles[n]||{},a=t.attributes[n]||{},o=t.elements[n];!co(o)||!Ri(o)||(Object.assign(o.style,r),Object.keys(a).forEach(function(s){var c=a[s];c===!1?o.removeAttribute(s):o.setAttribute(s,c===!0?"":c)}))})}i(q3e,"applyStyles");function V3e(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach(function(r){var a=t.elements[r],o=t.attributes[r]||{},s=Object.keys(t.styles.hasOwnProperty(r)?t.styles[r]:n[r]),c=s.reduce(function(l,u){return l[u]="",l},{});!co(a)||!Ri(a)||(Object.assign(a.style,c),Object.keys(o).forEach(function(l){a.removeAttribute(l)}))})}}i(V3e,"effect$2");const G3e={name:"applyStyles",enabled:!0,phase:"write",fn:q3e,effect:V3e,requires:["computeStyles"]};function Si(e){return e.split("-")[0]}i(Si,"getBasePlacement");var yl=Math.max,zb=Math.min,sf=Math.round;function e_(){var e=navigator.userAgentData;return e!=null&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}i(e_,"getUAString");function LW(){return!/^((?!chrome|android).)*safari/i.test(e_())}i(LW,"isLayoutViewport");function cf(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!1);var r=e.getBoundingClientRect(),a=1,o=1;t&&co(e)&&(a=e.offsetWidth>0&&sf(r.width)/e.offsetWidth||1,o=e.offsetHeight>0&&sf(r.height)/e.offsetHeight||1);var s=Il(e)?La(e):window,c=s.visualViewport,l=!LW()&&n,u=(r.left+(l&&c?c.offsetLeft:0))/a,d=(r.top+(l&&c?c.offsetTop:0))/o,f=r.width/a,m=r.height/o;return{width:f,height:m,top:d,right:u+f,bottom:d+m,left:u,x:u,y:d}}i(cf,"getBoundingClientRect");function rR(e){var t=cf(e),n=e.offsetWidth,r=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-r)<=1&&(r=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:r}}i(rR,"getLayoutRect");function DW(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&nR(n)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}i(DW,"contains");function gs(e){return La(e).getComputedStyle(e)}i(gs,"getComputedStyle");function K3e(e){return["table","td","th"].indexOf(Ri(e))>=0}i(K3e,"isTableElement");function Tc(e){return((Il(e)?e.ownerDocument:e.document)||window.document).documentElement}i(Tc,"getDocumentElement");function g1(e){return Ri(e)==="html"?e:e.assignedSlot||e.parentNode||(nR(e)?e.host:null)||Tc(e)}i(g1,"getParentNode");function KO(e){return!co(e)||gs(e).position==="fixed"?null:e.offsetParent}i(KO,"getTrueOffsetParent");function J3e(e){var t=/firefox/i.test(e_()),n=/Trident/i.test(e_());if(n&&co(e)){var r=gs(e);if(r.position==="fixed")return null}var a=g1(e);for(nR(a)&&(a=a.host);co(a)&&["html","body"].indexOf(Ri(a))<0;){var o=gs(a);if(o.transform!=="none"||o.perspective!=="none"||o.contain==="paint"||["transform","perspective"].indexOf(o.willChange)!==-1||t&&o.willChange==="filter"||t&&o.filter&&o.filter!=="none")return a;a=a.parentNode}return null}i(J3e,"getContainingBlock");function kg(e){for(var t=La(e),n=KO(e);n&&K3e(n)&&gs(n).position==="static";)n=KO(n);return n&&(Ri(n)==="html"||Ri(n)==="body"&&gs(n).position==="static")?t:n||J3e(e)||t}i(kg,"getOffsetParent");function aR(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}i(aR,"getMainAxisFromPlacement");function mm(e,t,n){return yl(e,zb(t,n))}i(mm,"within");function Y3e(e,t,n){var r=mm(e,t,n);return r>n?n:r}i(Y3e,"withinMaxClamp");function NW(){return{top:0,right:0,bottom:0,left:0}}i(NW,"getFreshSideObject");function FW(e){return Object.assign({},NW(),e)}i(FW,"mergePaddingObject");function BW(e,t){return t.reduce(function(n,r){return n[r]=e,n},{})}i(BW,"expandToHashMap");var Q3e=i(function(t,n){return t=typeof t=="function"?t(Object.assign({},n.rects,{placement:n.placement})):t,FW(typeof t!="number"?t:BW(t,_g))},"toPaddingObject");function X3e(e){var t,n=e.state,r=e.name,a=e.options,o=n.elements.arrow,s=n.modifiersData.popperOffsets,c=Si(n.placement),l=aR(c),u=[ha,vo].indexOf(c)>=0,d=u?"height":"width";if(!(!o||!s)){var f=Q3e(a.padding,n),m=rR(o),g=l==="y"?ma:ha,h=l==="y"?go:vo,y=n.rects.reference[d]+n.rects.reference[l]-s[l]-n.rects.popper[d],b=s[l]-n.rects.reference[l],x=kg(o),w=x?l==="y"?x.clientHeight||0:x.clientWidth||0:0,C=y/2-b/2,j=f[g],_=w-m[d]-f[h],S=w/2-m[d]/2+C,k=mm(j,S,_),$=l;n.modifiersData[r]=(t={},t[$]=k,t.centerOffset=k-S,t)}}i(X3e,"arrow");function Z3e(e){var t=e.state,n=e.options,r=n.element,a=r===void 0?"[data-popper-arrow]":r;a!=null&&(typeof a=="string"&&(a=t.elements.popper.querySelector(a),!a)||DW(t.elements.popper,a)&&(t.elements.arrow=a))}i(Z3e,"effect$1");const e_e={name:"arrow",enabled:!0,phase:"main",fn:X3e,effect:Z3e,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function lf(e){return e.split("-")[1]}i(lf,"getVariation");var t_e={top:"auto",right:"auto",bottom:"auto",left:"auto"};function n_e(e,t){var n=e.x,r=e.y,a=t.devicePixelRatio||1;return{x:sf(n*a)/a||0,y:sf(r*a)/a||0}}i(n_e,"roundOffsetsByDPR");function JO(e){var t,n=e.popper,r=e.popperRect,a=e.placement,o=e.variation,s=e.offsets,c=e.position,l=e.gpuAcceleration,u=e.adaptive,d=e.roundOffsets,f=e.isFixed,m=s.x,g=m===void 0?0:m,h=s.y,y=h===void 0?0:h,b=typeof d=="function"?d({x:g,y}):{x:g,y};g=b.x,y=b.y;var x=s.hasOwnProperty("x"),w=s.hasOwnProperty("y"),C=ha,j=ma,_=window;if(u){var S=kg(n),k="clientHeight",$="clientWidth";if(S===La(n)&&(S=Tc(n),gs(S).position!=="static"&&c==="absolute"&&(k="scrollHeight",$="scrollWidth")),S=S,a===ma||(a===ha||a===vo)&&o===sh){j=go;var E=f&&S===_&&_.visualViewport?_.visualViewport.height:S[k];y-=E-r.height,y*=l?1:-1}if(a===ha||(a===ma||a===go)&&o===sh){C=vo;var P=f&&S===_&&_.visualViewport?_.visualViewport.width:S[$];g-=P-r.width,g*=l?1:-1}}var R=Object.assign({position:c},u&&t_e),T=d===!0?n_e({x:g,y},La(n)):{x:g,y};if(g=T.x,y=T.y,l){var M;return Object.assign({},R,(M={},M[j]=w?"0":"",M[C]=x?"0":"",M.transform=(_.devicePixelRatio||1)<=1?"translate("+g+"px, "+y+"px)":"translate3d("+g+"px, "+y+"px, 0)",M))}return Object.assign({},R,(t={},t[j]=w?y+"px":"",t[C]=x?g+"px":"",t.transform="",t))}i(JO,"mapToStyles");function r_e(e){var t=e.state,n=e.options,r=n.gpuAcceleration,a=r===void 0?!0:r,o=n.adaptive,s=o===void 0?!0:o,c=n.roundOffsets,l=c===void 0?!0:c,u={placement:Si(t.placement),variation:lf(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:a,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,JO(Object.assign({},u,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:s,roundOffsets:l})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,JO(Object.assign({},u,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}i(r_e,"computeStyles");const a_e={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:r_e,data:{}};var yv={passive:!0};function o_e(e){var t=e.state,n=e.instance,r=e.options,a=r.scroll,o=a===void 0?!0:a,s=r.resize,c=s===void 0?!0:s,l=La(t.elements.popper),u=[].concat(t.scrollParents.reference,t.scrollParents.popper);return o&&u.forEach(function(d){d.addEventListener("scroll",n.update,yv)}),c&&l.addEventListener("resize",n.update,yv),function(){o&&u.forEach(function(d){d.removeEventListener("scroll",n.update,yv)}),c&&l.removeEventListener("resize",n.update,yv)}}i(o_e,"effect");const i_e={name:"eventListeners",enabled:!0,phase:"write",fn:i(function(){},"fn"),effect:o_e,data:{}};var s_e={left:"right",right:"left",bottom:"top",top:"bottom"};function py(e){return e.replace(/left|right|bottom|top/g,function(t){return s_e[t]})}i(py,"getOppositePlacement");var c_e={start:"end",end:"start"};function YO(e){return e.replace(/start|end/g,function(t){return c_e[t]})}i(YO,"getOppositeVariationPlacement");function oR(e){var t=La(e),n=t.pageXOffset,r=t.pageYOffset;return{scrollLeft:n,scrollTop:r}}i(oR,"getWindowScroll");function iR(e){return cf(Tc(e)).left+oR(e).scrollLeft}i(iR,"getWindowScrollBarX");function l_e(e,t){var n=La(e),r=Tc(e),a=n.visualViewport,o=r.clientWidth,s=r.clientHeight,c=0,l=0;if(a){o=a.width,s=a.height;var u=LW();(u||!u&&t==="fixed")&&(c=a.offsetLeft,l=a.offsetTop)}return{width:o,height:s,x:c+iR(e),y:l}}i(l_e,"getViewportRect");function u_e(e){var t,n=Tc(e),r=oR(e),a=(t=e.ownerDocument)==null?void 0:t.body,o=yl(n.scrollWidth,n.clientWidth,a?a.scrollWidth:0,a?a.clientWidth:0),s=yl(n.scrollHeight,n.clientHeight,a?a.scrollHeight:0,a?a.clientHeight:0),c=-r.scrollLeft+iR(e),l=-r.scrollTop;return gs(a||n).direction==="rtl"&&(c+=yl(n.clientWidth,a?a.clientWidth:0)-o),{width:o,height:s,x:c,y:l}}i(u_e,"getDocumentRect");function sR(e){var t=gs(e),n=t.overflow,r=t.overflowX,a=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+a+r)}i(sR,"isScrollParent");function WW(e){return["html","body","#document"].indexOf(Ri(e))>=0?e.ownerDocument.body:co(e)&&sR(e)?e:WW(g1(e))}i(WW,"getScrollParent");function hm(e,t){var n;t===void 0&&(t=[]);var r=WW(e),a=r===((n=e.ownerDocument)==null?void 0:n.body),o=La(r),s=a?[o].concat(o.visualViewport||[],sR(r)?r:[]):r,c=t.concat(s);return a?c:c.concat(hm(g1(s)))}i(hm,"listScrollParents");function t_(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}i(t_,"rectToClientRect");function d_e(e,t){var n=cf(e,!1,t==="fixed");return n.top=n.top+e.clientTop,n.left=n.left+e.clientLeft,n.bottom=n.top+e.clientHeight,n.right=n.left+e.clientWidth,n.width=e.clientWidth,n.height=e.clientHeight,n.x=n.left,n.y=n.top,n}i(d_e,"getInnerBoundingClientRect");function QO(e,t,n){return t===zW?t_(l_e(e,n)):Il(t)?d_e(t,n):t_(u_e(Tc(e)))}i(QO,"getClientRectFromMixedType");function f_e(e){var t=hm(g1(e)),n=["absolute","fixed"].indexOf(gs(e).position)>=0,r=n&&co(e)?kg(e):e;return Il(r)?t.filter(function(a){return Il(a)&&DW(a,r)&&Ri(a)!=="body"}):[]}i(f_e,"getClippingParents");function p_e(e,t,n,r){var a=t==="clippingParents"?f_e(e):[].concat(t),o=[].concat(a,[n]),s=o[0],c=o.reduce(function(l,u){var d=QO(e,u,r);return l.top=yl(d.top,l.top),l.right=zb(d.right,l.right),l.bottom=zb(d.bottom,l.bottom),l.left=yl(d.left,l.left),l},QO(e,s,r));return c.width=c.right-c.left,c.height=c.bottom-c.top,c.x=c.left,c.y=c.top,c}i(p_e,"getClippingRect");function UW(e){var t=e.reference,n=e.element,r=e.placement,a=r?Si(r):null,o=r?lf(r):null,s=t.x+t.width/2-n.width/2,c=t.y+t.height/2-n.height/2,l;switch(a){case ma:l={x:s,y:t.y-n.height};break;case go:l={x:s,y:t.y+t.height};break;case vo:l={x:t.x+t.width,y:c};break;case ha:l={x:t.x-n.width,y:c};break;default:l={x:t.x,y:t.y}}var u=a?aR(a):null;if(u!=null){var d=u==="y"?"height":"width";switch(o){case of:l[u]=l[u]-(t[d]/2-n[d]/2);break;case sh:l[u]=l[u]+(t[d]/2-n[d]/2);break}}return l}i(UW,"computeOffsets");function ch(e,t){t===void 0&&(t={});var n=t,r=n.placement,a=r===void 0?e.placement:r,o=n.strategy,s=o===void 0?e.strategy:o,c=n.boundary,l=c===void 0?M3e:c,u=n.rootBoundary,d=u===void 0?zW:u,f=n.elementContext,m=f===void 0?Ap:f,g=n.altBoundary,h=g===void 0?!1:g,y=n.padding,b=y===void 0?0:y,x=FW(typeof b!="number"?b:BW(b,_g)),w=m===Ap?O3e:Ap,C=e.rects.popper,j=e.elements[h?w:m],_=p_e(Il(j)?j:j.contextElement||Tc(e.elements.popper),l,d,s),S=cf(e.elements.reference),k=UW({reference:S,element:C,strategy:"absolute",placement:a}),$=t_(Object.assign({},C,k)),E=m===Ap?$:S,P={top:_.top-E.top+x.top,bottom:E.bottom-_.bottom+x.bottom,left:_.left-E.left+x.left,right:E.right-_.right+x.right},R=e.modifiersData.offset;if(m===Ap&&R){var T=R[a];Object.keys(P).forEach(function(M){var I=[vo,go].indexOf(M)>=0?1:-1,z=[ma,go].indexOf(M)>=0?"y":"x";P[M]+=T[z]*I})}return P}i(ch,"detectOverflow");function m_e(e,t){t===void 0&&(t={});var n=t,r=n.placement,a=n.boundary,o=n.rootBoundary,s=n.padding,c=n.flipVariations,l=n.allowedAutoPlacements,u=l===void 0?IW:l,d=lf(r),f=d?c?GO:GO.filter(function(h){return lf(h)===d}):_g,m=f.filter(function(h){return u.indexOf(h)>=0});m.length===0&&(m=f);var g=m.reduce(function(h,y){return h[y]=ch(e,{placement:y,boundary:a,rootBoundary:o,padding:s})[Si(y)],h},{});return Object.keys(g).sort(function(h,y){return g[h]-g[y]})}i(m_e,"computeAutoPlacement");function h_e(e){if(Si(e)===tR)return[];var t=py(e);return[YO(e),t,YO(t)]}i(h_e,"getExpandedFallbackPlacements");function g_e(e){var t=e.state,n=e.options,r=e.name;if(!t.modifiersData[r]._skip){for(var a=n.mainAxis,o=a===void 0?!0:a,s=n.altAxis,c=s===void 0?!0:s,l=n.fallbackPlacements,u=n.padding,d=n.boundary,f=n.rootBoundary,m=n.altBoundary,g=n.flipVariations,h=g===void 0?!0:g,y=n.allowedAutoPlacements,b=t.options.placement,x=Si(b),w=x===b,C=l||(w||!h?[py(b)]:h_e(b)),j=[b].concat(C).reduce(function(le,V){return le.concat(Si(V)===tR?m_e(t,{placement:V,boundary:d,rootBoundary:f,padding:u,flipVariations:h,allowedAutoPlacements:y}):V)},[]),_=t.rects.reference,S=t.rects.popper,k=new Map,$=!0,E=j[0],P=0;P=0,z=I?"width":"height",H=ch(t,{placement:R,boundary:d,rootBoundary:f,altBoundary:m,padding:u}),F=I?M?vo:ha:M?go:ma;_[z]>S[z]&&(F=py(F));var L=py(F),B=[];if(o&&B.push(H[T]<=0),c&&B.push(H[F]<=0,H[L]<=0),B.every(function(le){return le})){E=R,$=!1;break}k.set(R,B)}if($)for(var K=h?3:1,se=i(function(V){var q=j.find(function(Y){var O=k.get(Y);if(O)return O.slice(0,V).every(function(D){return D})});if(q)return E=q,"break"},"_loop"),ue=K;ue>0;ue--){var _e=se(ue);if(_e==="break")break}t.placement!==E&&(t.modifiersData[r]._skip=!0,t.placement=E,t.reset=!0)}}i(g_e,"flip");const v_e={name:"flip",enabled:!0,phase:"main",fn:g_e,requiresIfExists:["offset"],data:{_skip:!1}};function XO(e,t,n){return n===void 0&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}i(XO,"getSideOffsets");function ZO(e){return[ma,vo,go,ha].some(function(t){return e[t]>=0})}i(ZO,"isAnySideFullyClipped");function y_e(e){var t=e.state,n=e.name,r=t.rects.reference,a=t.rects.popper,o=t.modifiersData.preventOverflow,s=ch(t,{elementContext:"reference"}),c=ch(t,{altBoundary:!0}),l=XO(s,r),u=XO(c,a,o),d=ZO(l),f=ZO(u);t.modifiersData[n]={referenceClippingOffsets:l,popperEscapeOffsets:u,isReferenceHidden:d,hasPopperEscaped:f},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":d,"data-popper-escaped":f})}i(y_e,"hide");const b_e={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:y_e};function x_e(e,t,n){var r=Si(e),a=[ha,ma].indexOf(r)>=0?-1:1,o=typeof n=="function"?n(Object.assign({},t,{placement:e})):n,s=o[0],c=o[1];return s=s||0,c=(c||0)*a,[ha,vo].indexOf(r)>=0?{x:c,y:s}:{x:s,y:c}}i(x_e,"distanceAndSkiddingToXY");function w_e(e){var t=e.state,n=e.options,r=e.name,a=n.offset,o=a===void 0?[0,0]:a,s=IW.reduce(function(d,f){return d[f]=x_e(f,t.rects,o),d},{}),c=s[t.placement],l=c.x,u=c.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=l,t.modifiersData.popperOffsets.y+=u),t.modifiersData[r]=s}i(w_e,"offset");const C_e={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:w_e};function S_e(e){var t=e.state,n=e.name;t.modifiersData[n]=UW({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}i(S_e,"popperOffsets");const j_e={name:"popperOffsets",enabled:!0,phase:"read",fn:S_e,data:{}};function __e(e){return e==="x"?"y":"x"}i(__e,"getAltAxis");function k_e(e){var t=e.state,n=e.options,r=e.name,a=n.mainAxis,o=a===void 0?!0:a,s=n.altAxis,c=s===void 0?!1:s,l=n.boundary,u=n.rootBoundary,d=n.altBoundary,f=n.padding,m=n.tether,g=m===void 0?!0:m,h=n.tetherOffset,y=h===void 0?0:h,b=ch(t,{boundary:l,rootBoundary:u,padding:f,altBoundary:d}),x=Si(t.placement),w=lf(t.placement),C=!w,j=aR(x),_=__e(j),S=t.modifiersData.popperOffsets,k=t.rects.reference,$=t.rects.popper,E=typeof y=="function"?y(Object.assign({},t.rects,{placement:t.placement})):y,P=typeof E=="number"?{mainAxis:E,altAxis:E}:Object.assign({mainAxis:0,altAxis:0},E),R=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,T={x:0,y:0};if(S){if(o){var M,I=j==="y"?ma:ha,z=j==="y"?go:vo,H=j==="y"?"height":"width",F=S[j],L=F+b[I],B=F-b[z],K=g?-$[H]/2:0,se=w===of?k[H]:$[H],ue=w===of?-$[H]:-k[H],_e=t.elements.arrow,le=g&&_e?rR(_e):{width:0,height:0},V=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:NW(),q=V[I],Y=V[z],O=mm(0,k[H],le[H]),D=C?k[H]/2-K-O-q-P.mainAxis:se-O-q-P.mainAxis,Z=C?-k[H]/2+K+O+Y+P.mainAxis:ue+O+Y+P.mainAxis,J=t.elements.arrow&&kg(t.elements.arrow),U=J?j==="y"?J.clientTop||0:J.clientLeft||0:0,ne=(M=R==null?void 0:R[j])!=null?M:0,ie=F+D-ne-U,he=F+Z-ne,N=mm(g?zb(L,ie):L,F,g?yl(B,he):B);S[j]=N,T[j]=N-F}if(c){var Q,X=j==="x"?ma:ha,we=j==="x"?go:vo,fe=S[_],pe=_==="y"?"height":"width",xe=fe+b[X],Re=fe-b[we],Me=[ma,ha].indexOf(x)!==-1,Je=(Q=R==null?void 0:R[_])!=null?Q:0,pt=Me?xe:fe-k[pe]-$[pe]-Je+P.altAxis,it=Me?fe+k[pe]+$[pe]-Je-P.altAxis:Re,De=g&&Me?Y3e(pt,fe,it):mm(g?pt:xe,fe,g?it:Re);S[_]=De,T[_]=De-fe}t.modifiersData[r]=T}}i(k_e,"preventOverflow");const $_e={name:"preventOverflow",enabled:!0,phase:"main",fn:k_e,requiresIfExists:["offset"]};function E_e(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}i(E_e,"getHTMLElementScroll");function R_e(e){return e===La(e)||!co(e)?oR(e):E_e(e)}i(R_e,"getNodeScroll");function A_e(e){var t=e.getBoundingClientRect(),n=sf(t.width)/e.offsetWidth||1,r=sf(t.height)/e.offsetHeight||1;return n!==1||r!==1}i(A_e,"isElementScaled");function P_e(e,t,n){n===void 0&&(n=!1);var r=co(t),a=co(t)&&A_e(t),o=Tc(t),s=cf(e,a,n),c={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(r||!r&&!n)&&((Ri(t)!=="body"||sR(o))&&(c=R_e(t)),co(t)?(l=cf(t,!0),l.x+=t.clientLeft,l.y+=t.clientTop):o&&(l.x=iR(o))),{x:s.left+c.scrollLeft-l.x,y:s.top+c.scrollTop-l.y,width:s.width,height:s.height}}i(P_e,"getCompositeRect");function T_e(e){var t=new Map,n=new Set,r=[];e.forEach(function(o){t.set(o.name,o)});function a(o){n.add(o.name);var s=[].concat(o.requires||[],o.requiresIfExists||[]);s.forEach(function(c){if(!n.has(c)){var l=t.get(c);l&&a(l)}}),r.push(o)}return i(a,"sort"),e.forEach(function(o){n.has(o.name)||a(o)}),r}i(T_e,"order");function M_e(e){var t=T_e(e);return H3e.reduce(function(n,r){return n.concat(t.filter(function(a){return a.phase===r}))},[])}i(M_e,"orderModifiers");function O_e(e){var t;return function(){return t||(t=new Promise(function(n){Promise.resolve().then(function(){t=void 0,n(e())})})),t}}i(O_e,"debounce");function z_e(e){var t=e.reduce(function(n,r){var a=n[r.name];return n[r.name]=a?Object.assign({},a,r,{options:Object.assign({},a.options,r.options),data:Object.assign({},a.data,r.data)}):r,n},{});return Object.keys(t).map(function(n){return t[n]})}i(z_e,"mergeByName");var e5={placement:"bottom",modifiers:[],strategy:"absolute"};function t5(){for(var e=arguments.length,t=new Array(e),n=0;nKe({root:["root"]},pje(N_e)),"useUtilityClasses$13"),q_e={},V_e=v.forwardRef(i(function(t,n){var r;const{anchorEl:a,children:o,direction:s,disablePortal:c,modifiers:l,open:u,placement:d,popperOptions:f,popperRef:m,slotProps:g={},slots:h={},TransitionProps:y}=t,b=m1(t,F_e),x=v.useRef(null),w=ln(x,n),C=v.useRef(null),j=ln(C,m),_=v.useRef(j);Jr(()=>{_.current=j},[j]),v.useImperativeHandle(m,()=>C.current,[]);const S=W_e(d,s),[k,$]=v.useState(S),[E,P]=v.useState(n_(a));v.useEffect(()=>{C.current&&C.current.forceUpdate()}),v.useEffect(()=>{a&&P(n_(a))},[a]),Jr(()=>{if(!E||!u)return;const z=i(L=>{$(L.placement)},"handlePopperUpdate");let H=[{name:"preventOverflow",options:{altBoundary:c}},{name:"flip",options:{altBoundary:c}},{name:"onUpdate",enabled:!0,phase:"afterWrite",fn:({state:L})=>{z(L)}}];l!=null&&(H=H.concat(l)),f&&f.modifiers!=null&&(H=H.concat(f.modifiers));const F=D_e(E,x.current,_n({placement:S},f,{modifiers:H}));return _.current(F),()=>{F.destroy(),_.current(null)}},[E,c,l,u,f,S]);const R={placement:k};y!==null&&(R.TransitionProps=y);const T=H_e(),M=(r=h.root)!=null?r:"div",I=ho({elementType:M,externalSlotProps:g.root,externalForwardedProps:b,additionalProps:{role:"tooltip",ref:w},ownerState:t,className:T.root});return p.jsx(M,_n({},I,{children:typeof o=="function"?o(R):o}))},"PopperTooltip2")),G_e=v.forwardRef(i(function(t,n){const{anchorEl:r,children:a,container:o,direction:s="ltr",disablePortal:c=!1,keepMounted:l=!1,modifiers:u,open:d,placement:f="bottom",popperOptions:m=q_e,popperRef:g,style:h,transition:y=!1,slotProps:b={},slots:x={}}=t,w=m1(t,B_e),[C,j]=v.useState(!0),_=i(()=>{j(!1)},"handleEnter"),S=i(()=>{j(!0)},"handleExited");if(!l&&!d&&(!y||C))return null;let k;if(o)k=o;else if(r){const P=n_(r);k=P&&U_e(P)?tr(P).body:tr(null).body}const $=!d&&l&&(!y||C)?"none":void 0,E=y?{in:d,onEnter:_,onExited:S}:void 0;return p.jsx(OW,{disablePortal:c,container:k,children:p.jsx(V_e,_n({anchorEl:r,direction:s,disablePortal:c,modifiers:u,ref:n,open:y?!C:d,placement:f,popperOptions:m,popperRef:g,slotProps:b,slots:x},w,{style:_n({position:"fixed",top:0,left:0,display:$},h),TransitionProps:E,children:a}))})},"Popper2"));function K_e(e={}){const{autoHideDuration:t=null,disableWindowBlurListener:n=!1,onClose:r,open:a,resumeHideDuration:o}=e,s=Yc();v.useEffect(()=>{if(!a)return;function x(w){w.defaultPrevented||(w.key==="Escape"||w.key==="Esc")&&(r==null||r(w,"escapeKeyDown"))}return i(x,"handleKeyDown"),document.addEventListener("keydown",x),()=>{document.removeEventListener("keydown",x)}},[a,r]);const c=sr((x,w)=>{r==null||r(x,w)}),l=sr(x=>{!r||x==null||s.start(x,()=>{c(null,"timeout")})});v.useEffect(()=>(a&&l(t),s.clear),[a,t,l,s]);const u=i(x=>{r==null||r(x,"clickaway")},"handleClickAway"),d=s.clear,f=v.useCallback(()=>{t!=null&&l(o??t*.5)},[t,o,l]),m=i(x=>w=>{const C=x.onBlur;C==null||C(w),f()},"createHandleBlur"),g=i(x=>w=>{const C=x.onFocus;C==null||C(w),d()},"createHandleFocus"),h=i(x=>w=>{const C=x.onMouseEnter;C==null||C(w),d()},"createMouseEnter"),y=i(x=>w=>{const C=x.onMouseLeave;C==null||C(w),f()},"createMouseLeave");return v.useEffect(()=>{if(!n&&a)return window.addEventListener("focus",f),window.addEventListener("blur",d),()=>{window.removeEventListener("focus",f),window.removeEventListener("blur",d)}},[n,a,f,d]),{getRootProps:i((x={})=>{const w=_n({},Ob(e),Ob(x));return _n({role:"presentation"},x,w,{onBlur:m(w),onFocus:g(w),onMouseEnter:h(w),onMouseLeave:y(w)})},"getRootProps"),onClickAway:u}}i(K_e,"useSnackbar");const J_e=["onChange","maxRows","minRows","style","value"];function bv(e){return parseInt(e,10)||0}i(bv,"getStyleValue");const Y_e={shadow:{visibility:"hidden",position:"absolute",overflow:"hidden",height:0,top:0,left:0,transform:"translateZ(0)"}};function Q_e(e){return e==null||Object.keys(e).length===0||e.outerHeightStyle===0&&!e.overflowing}i(Q_e,"isEmpty$1");const X_e=v.forwardRef(i(function(t,n){const{onChange:r,maxRows:a,minRows:o=1,style:s,value:c}=t,l=m1(t,J_e),{current:u}=v.useRef(c!=null),d=v.useRef(null),f=ln(n,d),m=v.useRef(null),g=v.useCallback(()=>{const b=d.current,w=po(b).getComputedStyle(b);if(w.width==="0px")return{outerHeightStyle:0,overflowing:!1};const C=m.current;C.style.width=w.width,C.value=b.value||t.placeholder||"x",C.value.slice(-1)===` -`&&(C.value+=" ");const j=w.boxSizing,_=bv(w.paddingBottom)+bv(w.paddingTop),S=bv(w.borderBottomWidth)+bv(w.borderTopWidth),k=C.scrollHeight;C.value="x";const $=C.scrollHeight;let E=k;o&&(E=Math.max(Number(o)*$,E)),a&&(E=Math.min(Number(a)*$,E)),E=Math.max(E,$);const P=E+(j==="border-box"?_+S:0),R=Math.abs(E-k)<=1;return{outerHeightStyle:P,overflowing:R}},[a,o,t.placeholder]),h=v.useCallback(()=>{const b=g();if(Q_e(b))return;const x=d.current;x.style.height=`${b.outerHeightStyle}px`,x.style.overflow=b.overflowing?"hidden":""},[g]);Jr(()=>{const b=i(()=>{h()},"handleResize");let x;const w=ep(b),C=d.current,j=po(C);j.addEventListener("resize",w);let _;return typeof ResizeObserver<"u"&&(_=new ResizeObserver(b),_.observe(C)),()=>{w.clear(),cancelAnimationFrame(x),j.removeEventListener("resize",w),_&&_.disconnect()}},[g,h]),Jr(()=>{h()});const y=i(b=>{u||h(),r&&r(b)},"handleChange");return p.jsxs(v.Fragment,{children:[p.jsx("textarea",_n({value:c,onChange:y,ref:f,rows:o,style:s},l)),p.jsx("textarea",{"aria-hidden":!0,className:t.className,readOnly:!0,ref:m,tabIndex:-1,style:_n({},Y_e.shadow,s,{paddingTop:0,paddingBottom:0})})]})},"TextareaAutosize2"));function n5(e){return typeof e.normalize<"u"?e.normalize("NFD").replace(/[\u0300-\u036f]/g,""):e}i(n5,"stripDiacritics");function qW(e={}){const{ignoreAccents:t=!0,ignoreCase:n=!0,limit:r,matchFrom:a="any",stringify:o,trim:s=!1}=e;return(c,{inputValue:l,getOptionLabel:u})=>{let d=s?l.trim():l;n&&(d=d.toLowerCase()),t&&(d=n5(d));const f=d?c.filter(m=>{let g=(o||u)(m);return n&&(g=g.toLowerCase()),t&&(g=n5(g)),a==="start"?g.indexOf(d)===0:g.indexOf(d)>-1}):c;return typeof r=="number"?f.slice(0,r):f}}i(qW,"createFilterOptions");function xv(e,t){for(let n=0;n{var t;return e.current!==null&&((t=e.current.parentElement)==null?void 0:t.contains(document.activeElement))},"defaultIsActiveElementInListbox");function tke(e){const{unstable_isActiveElementInListbox:t=eke,unstable_classNamePrefix:n="Mui",autoComplete:r=!1,autoHighlight:a=!1,autoSelect:o=!1,blurOnSelect:s=!1,clearOnBlur:c=!e.freeSolo,clearOnEscape:l=!1,componentName:u="useAutocomplete",defaultValue:d=e.multiple?[]:null,disableClearable:f=!1,disableCloseOnSelect:m=!1,disabled:g,disabledItemsFocusable:h=!1,disableListWrap:y=!1,filterOptions:b=Z_e,filterSelectedOptions:x=!1,freeSolo:w=!1,getOptionDisabled:C,getOptionKey:j,getOptionLabel:_=i(me=>{var ge;return(ge=me.label)!=null?ge:me},"getOptionLabelProp"),groupBy:S,handleHomeEndKeys:k=!e.freeSolo,id:$,includeInputInList:E=!1,inputValue:P,isOptionEqualToValue:R=i((me,ge)=>me===ge,"isOptionEqualToValue"),multiple:T=!1,onChange:M,onClose:I,onHighlightChange:z,onInputChange:H,onOpen:F,open:L,openOnFocus:B=!1,options:K,readOnly:se=!1,selectOnFocus:ue=!e.freeSolo,value:_e}=e,le=vc($);let V=_;V=i(me=>{const ge=_(me);return typeof ge!="string"?String(ge):ge},"getOptionLabel");const q=v.useRef(!1),Y=v.useRef(!0),O=v.useRef(null),D=v.useRef(null),[Z,J]=v.useState(null),[U,ne]=v.useState(-1),ie=a?0:-1,he=v.useRef(ie),[N,Q]=ls({controlled:_e,default:d,name:u}),[X,we]=ls({controlled:P,default:"",name:u,state:"inputValue"}),[fe,pe]=v.useState(!1),xe=v.useCallback((me,ge)=>{if(!(T?N.length!(x&&(T?N:[N]).some(ge=>ge!==null&&R(me,ge)))),{inputValue:it&&Je?"":X,getOptionLabel:V}):[],We=mCe({filteredOptions:Se,value:N,inputValue:X});v.useEffect(()=>{const me=N!==We.value;fe&&!me||w&&!me||xe(null,N)},[N,xe,fe,We.value,w]);const yt=Re&&Se.length>0&&!se,jt=sr(me=>{me===-1?O.current.focus():Z.querySelector(`[data-tag-index="${me}"]`).focus()});v.useEffect(()=>{T&&U>N.length-1&&(ne(-1),jt(-1))},[N,T,U,jt]);function G(me,ge){if(!D.current||me<0||me>=Se.length)return-1;let Le=me;for(;;){const Ae=D.current.querySelector(`[data-option-index="${Le}"]`),st=h?!1:!Ae||Ae.disabled||Ae.getAttribute("aria-disabled")==="true";if(Ae&&Ae.hasAttribute("tabindex")&&!st)return Le;if(ge==="next"?Le=(Le+1)%Se.length:Le=(Le-1+Se.length)%Se.length,Le===me)return-1}}i(G,"validOptionIndex");const ae=sr(({event:me,index:ge,reason:Le="auto"})=>{if(he.current=ge,ge===-1?O.current.removeAttribute("aria-activedescendant"):O.current.setAttribute("aria-activedescendant",`${le}-option-${ge}`),z&&z(me,ge===-1?null:Se[ge],Le),!D.current)return;const Ae=D.current.querySelector(`[role="option"].${n}-focused`);Ae&&(Ae.classList.remove(`${n}-focused`),Ae.classList.remove(`${n}-focusVisible`));let st=D.current;if(D.current.getAttribute("role")!=="listbox"&&(st=D.current.parentElement.querySelector('[role="listbox"]')),!st)return;if(ge===-1){st.scrollTop=0;return}const et=D.current.querySelector(`[data-option-index="${ge}"]`);if(et&&(et.classList.add(`${n}-focused`),Le==="keyboard"&&et.classList.add(`${n}-focusVisible`),st.scrollHeight>st.clientHeight&&Le!=="mouse"&&Le!=="touch")){const Ee=et,Kt=st.clientHeight+st.scrollTop,Bt=Ee.offsetTop+Ee.offsetHeight;Bt>Kt?st.scrollTop=Bt-st.clientHeight:Ee.offsetTop-Ee.offsetHeight*(S?1.3:0){if(!De)return;const et=G(i(()=>{const Ee=Se.length-1;if(ge==="reset")return ie;if(ge==="start")return 0;if(ge==="end")return Ee;const Kt=he.current+ge;return Kt<0?Kt===-1&&E?-1:y&&he.current!==-1||Math.abs(ge)>1?0:Ee:Kt>Ee?Kt===Ee+1&&E?-1:y||Math.abs(ge)>1?Ee:0:Kt},"getNextIndex")(),Le);if(ae({index:et,reason:Ae,event:me}),r&&ge!=="reset")if(et===-1)O.current.value=X;else{const Ee=V(Se[et]);O.current.value=Ee,Ee.toLowerCase().indexOf(X.toLowerCase())===0&&X.length>0&&O.current.setSelectionRange(X.length,Ee.length)}}),be=i(()=>{const me=i((ge,Le)=>{const Ae=ge?V(ge):"",st=Le?V(Le):"";return Ae===st},"isSameValue");if(he.current!==-1&&We.filteredOptions&&We.filteredOptions.length!==Se.length&&We.inputValue===X&&(T?N.length===We.value.length&&We.value.every((ge,Le)=>V(N[Le])===V(ge)):me(We.value,N))){const ge=We.filteredOptions[he.current];if(ge)return xv(Se,Le=>V(Le)===V(ge))}return-1},"getPreviousHighlightedOptionIndex"),Ue=v.useCallback(()=>{if(!De)return;const me=be();if(me!==-1){he.current=me;return}const ge=T?N[0]:N;if(Se.length===0||ge==null){ce({diff:"reset"});return}if(D.current){if(ge!=null){const Le=Se[he.current];if(T&&Le&&xv(N,st=>R(Le,st))!==-1)return;const Ae=xv(Se,st=>R(st,ge));Ae===-1?ce({diff:"reset"}):ae({index:Ae});return}if(he.current>=Se.length-1){ae({index:Se.length-1});return}ae({index:he.current})}},[Se.length,T?!1:N,x,ce,ae,De,X,T]),Oe=sr(me=>{oh(D,me),me&&Ue()});v.useEffect(()=>{Ue()},[Ue]);const ft=i(me=>{Re||(Me(!0),pt(!0),F&&F(me))},"handleOpen"),kt=i((me,ge)=>{Re&&(Me(!1),I&&I(me,ge))},"handleClose"),wt=i((me,ge,Le,Ae)=>{if(T){if(N.length===ge.length&&N.every((st,et)=>st===ge[et]))return}else if(N===ge)return;M&&M(me,ge,Le,Ae),Q(ge)},"handleValue"),Dt=v.useRef(!1),re=i((me,ge,Le="selectOption",Ae="options")=>{let st=Le,et=ge;if(T){et=Array.isArray(N)?N.slice():[];const Ee=xv(et,Kt=>R(ge,Kt));Ee===-1?et.push(ge):Ae!=="freeSolo"&&(et.splice(Ee,1),st="removeOption")}xe(me,et),wt(me,et,st,{option:ge}),!m&&(!me||!me.ctrlKey&&!me.metaKey)&&kt(me,st),(s===!0||s==="touch"&&Dt.current||s==="mouse"&&!Dt.current)&&O.current.blur()},"selectNewValue");function oe(me,ge){if(me===-1)return-1;let Le=me;for(;;){if(ge==="next"&&Le===N.length||ge==="previous"&&Le===-1)return-1;const Ae=Z.querySelector(`[data-tag-index="${Le}"]`);if(!Ae||!Ae.hasAttribute("tabindex")||Ae.disabled||Ae.getAttribute("aria-disabled")==="true")Le+=ge==="next"?1:-1;else return Le}}i(oe,"validTagIndex");const ye=i((me,ge)=>{if(!T)return;X===""&&kt(me,"toggleInput");let Le=U;U===-1?X===""&&ge==="previous"&&(Le=N.length-1):(Le+=ge==="next"?1:-1,Le<0&&(Le=0),Le===N.length&&(Le=-1)),Le=oe(Le,ge),ne(Le),jt(Le)},"handleFocusTag"),Ie=i(me=>{q.current=!0,we(""),H&&H(me,"","clear"),wt(me,T?[]:null,"clear")},"handleClear"),He=i(me=>ge=>{if(me.onKeyDown&&me.onKeyDown(ge),!ge.defaultMuiPrevented&&(U!==-1&&["ArrowLeft","ArrowRight"].indexOf(ge.key)===-1&&(ne(-1),jt(-1)),ge.which!==229))switch(ge.key){case"Home":De&&k&&(ge.preventDefault(),ce({diff:"start",direction:"next",reason:"keyboard",event:ge}));break;case"End":De&&k&&(ge.preventDefault(),ce({diff:"end",direction:"previous",reason:"keyboard",event:ge}));break;case"PageUp":ge.preventDefault(),ce({diff:-r5,direction:"previous",reason:"keyboard",event:ge}),ft(ge);break;case"PageDown":ge.preventDefault(),ce({diff:r5,direction:"next",reason:"keyboard",event:ge}),ft(ge);break;case"ArrowDown":ge.preventDefault(),ce({diff:1,direction:"next",reason:"keyboard",event:ge}),ft(ge);break;case"ArrowUp":ge.preventDefault(),ce({diff:-1,direction:"previous",reason:"keyboard",event:ge}),ft(ge);break;case"ArrowLeft":ye(ge,"previous");break;case"ArrowRight":ye(ge,"next");break;case"Enter":if(he.current!==-1&&De){const Le=Se[he.current],Ae=C?C(Le):!1;if(ge.preventDefault(),Ae)return;re(ge,Le,"selectOption"),r&&O.current.setSelectionRange(O.current.value.length,O.current.value.length)}else w&&X!==""&&it===!1&&(T&&ge.preventDefault(),re(ge,X,"createOption","freeSolo"));break;case"Escape":De?(ge.preventDefault(),ge.stopPropagation(),kt(ge,"escape")):l&&(X!==""||T&&N.length>0)&&(ge.preventDefault(),ge.stopPropagation(),Ie(ge));break;case"Backspace":if(T&&!se&&X===""&&N.length>0){const Le=U===-1?N.length-1:U,Ae=N.slice();Ae.splice(Le,1),wt(ge,Ae,"removeOption",{option:N[Le]})}break;case"Delete":if(T&&!se&&X===""&&N.length>0&&U!==-1){const Le=U,Ae=N.slice();Ae.splice(Le,1),wt(ge,Ae,"removeOption",{option:N[Le]})}break}},"handleKeyDown"),ut=i(me=>{pe(!0),B&&!q.current&&ft(me)},"handleFocus"),Ve=i(me=>{if(t(D)){O.current.focus();return}pe(!1),Y.current=!0,q.current=!1,o&&he.current!==-1&&De?re(me,Se[he.current],"blur"):o&&w&&X!==""?re(me,X,"blur","freeSolo"):c&&xe(me,N),kt(me,"blur")},"handleBlur"),Ne=i(me=>{const ge=me.target.value;X!==ge&&(we(ge),pt(!1),H&&H(me,ge,"input")),ge===""?!f&&!T&&wt(me,null,"clear"):ft(me)},"handleInputChange"),ze=i(me=>{const ge=Number(me.currentTarget.getAttribute("data-option-index"));he.current!==ge&&ae({event:me,index:ge,reason:"mouse"})},"handleOptionMouseMove"),dt=i(me=>{ae({event:me,index:Number(me.currentTarget.getAttribute("data-option-index")),reason:"touch"}),Dt.current=!0},"handleOptionTouchStart"),St=i(me=>{const ge=Number(me.currentTarget.getAttribute("data-option-index"));re(me,Se[ge],"selectOption"),Dt.current=!1},"handleOptionClick"),ke=i(me=>ge=>{const Le=N.slice();Le.splice(me,1),wt(ge,Le,"removeOption",{option:N[me]})},"handleTagDelete"),Ce=i(me=>{Re?kt(me,"toggleInput"):ft(me)},"handlePopupIndicator"),Fe=i(me=>{me.currentTarget.contains(me.target)&&me.target.getAttribute("id")!==le&&me.preventDefault()},"handleMouseDown"),lt=i(me=>{me.currentTarget.contains(me.target)&&(O.current.focus(),ue&&Y.current&&O.current.selectionEnd-O.current.selectionStart===0&&O.current.select(),Y.current=!1)},"handleClick"),rt=i(me=>{!g&&(X===""||!Re)&&Ce(me)},"handleInputMouseDown");let Nt=w&&X.length>0;Nt=Nt||(T?N.length>0:N!==null);let Ft=Se;return S&&(Ft=Se.reduce((me,ge,Le)=>{const Ae=S(ge);return me.length>0&&me[me.length-1].group===Ae?me[me.length-1].options.push(ge):me.push({key:Le,index:Le,group:Ae,options:[ge]}),me},[])),g&&fe&&Ve(),{getRootProps:(me={})=>_n({"aria-owns":yt?`${le}-listbox`:null},me,{onKeyDown:He(me),onMouseDown:Fe,onClick:lt}),getInputLabelProps:()=>({id:`${le}-label`,htmlFor:le}),getInputProps:()=>({id:le,value:X,onBlur:Ve,onFocus:ut,onChange:Ne,onMouseDown:rt,"aria-activedescendant":De?"":null,"aria-autocomplete":r?"both":"list","aria-controls":yt?`${le}-listbox`:void 0,"aria-expanded":yt,autoComplete:"off",ref:O,autoCapitalize:"none",spellCheck:"false",role:"combobox",disabled:g}),getClearProps:()=>({tabIndex:-1,type:"button",onClick:Ie}),getPopupIndicatorProps:()=>({tabIndex:-1,type:"button",onClick:Ce}),getTagProps:({index:me})=>_n({key:me,"data-tag-index":me,tabIndex:-1},!se&&{onDelete:ke(me)}),getListboxProps:()=>({role:"listbox",id:`${le}-listbox`,"aria-labelledby":`${le}-label`,ref:Oe,onMouseDown:me=>{me.preventDefault()}}),getOptionProps:({index:me,option:ge})=>{var Le;const Ae=(T?N:[N]).some(et=>et!=null&&R(ge,et)),st=C?C(ge):!1;return{key:(Le=j==null?void 0:j(ge))!=null?Le:V(ge),tabIndex:-1,role:"option",id:`${le}-option-${me}`,onMouseMove:ze,onClick:St,onTouchStart:dt,"data-option-index":me,"aria-disabled":st,"aria-selected":Ae}},id:le,inputValue:X,value:N,dirty:Nt,expanded:De&&Z,popupOpen:De,focused:fe||U!==-1,anchorEl:Z,setAnchorEl:J,focusedTag:U,groupedOptions:Ft}}i(tke,"useAutocomplete");var cR={};Object.defineProperty(cR,"__esModule",{value:!0});var VW=cR.default=void 0,nke=ake(v),rke=SW;function GW(e){if(typeof WeakMap!="function")return null;var t=new WeakMap,n=new WeakMap;return(GW=i(function(r){return r?n:t},"_getRequireWildcardCache"))(e)}i(GW,"_getRequireWildcardCache");function ake(e,t){if(!t&&e&&e.__esModule)return e;if(e===null||typeof e!="object"&&typeof e!="function")return{default:e};var n=GW(t);if(n&&n.has(e))return n.get(e);var r={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(o!=="default"&&Object.prototype.hasOwnProperty.call(e,o)){var s=a?Object.getOwnPropertyDescriptor(e,o):null;s&&(s.get||s.set)?Object.defineProperty(r,o,s):r[o]=e[o]}return r.default=e,n&&n.set(e,r),r}i(ake,"_interopRequireWildcard");function oke(e){return Object.keys(e).length===0}i(oke,"isObjectEmpty");function ike(e=null){const t=nke.useContext(rke.ThemeContext);return!t||oke(t)?e:t}i(ike,"useTheme$1");VW=cR.default=ike;const ske=["anchorEl","component","components","componentsProps","container","disablePortal","keepMounted","modifiers","open","placement","popperOptions","popperRef","transition","slots","slotProps"],cke=te(G_e,{name:"MuiPopper",slot:"Root",overridesResolver:(e,t)=>t.root})({}),lke=v.forwardRef(i(function(t,n){var r;const a=VW(),o=Qe({props:t,name:"MuiPopper"}),{anchorEl:s,component:c,components:l,componentsProps:u,container:d,disablePortal:f,keepMounted:m,modifiers:g,open:h,placement:y,popperOptions:b,popperRef:x,transition:w,slots:C,slotProps:j}=o,_=$e(o,ske),S=(r=C==null?void 0:C.root)!=null?r:l==null?void 0:l.Root,k=A({anchorEl:s,container:d,disablePortal:f,keepMounted:m,modifiers:g,open:h,placement:y,popperOptions:b,popperRef:x,transition:w},_);return p.jsx(cke,A({as:c,direction:a==null?void 0:a.direction,slots:{root:S},slotProps:j??u},k,{ref:n}))},"Popper2")),v1=lke;function uke(e){return Ge("MuiListSubheader",e)}i(uke,"getListSubheaderUtilityClass");Ye("MuiListSubheader",["root","colorPrimary","colorInherit","gutters","inset","sticky"]);const dke=["className","color","component","disableGutters","disableSticky","inset"],fke=i(e=>{const{classes:t,color:n,disableGutters:r,inset:a,disableSticky:o}=e,s={root:["root",n!=="default"&&`color${ve(n)}`,!r&&"gutters",a&&"inset",!o&&"sticky"]};return Ke(s,uke,t)},"useUtilityClasses$12"),pke=te("li",{name:"MuiListSubheader",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.color!=="default"&&t[`color${ve(n.color)}`],!n.disableGutters&&t.gutters,n.inset&&t.inset,!n.disableSticky&&t.sticky]}})(({theme:e,ownerState:t})=>A({boxSizing:"border-box",lineHeight:"48px",listStyle:"none",color:(e.vars||e).palette.text.secondary,fontFamily:e.typography.fontFamily,fontWeight:e.typography.fontWeightMedium,fontSize:e.typography.pxToRem(14)},t.color==="primary"&&{color:(e.vars||e).palette.primary.main},t.color==="inherit"&&{color:"inherit"},!t.disableGutters&&{paddingLeft:16,paddingRight:16},t.inset&&{paddingLeft:72},!t.disableSticky&&{position:"sticky",top:0,zIndex:1,backgroundColor:(e.vars||e).palette.background.paper})),KW=v.forwardRef(i(function(t,n){const r=Qe({props:t,name:"MuiListSubheader"}),{className:a,color:o="default",component:s="li",disableGutters:c=!1,disableSticky:l=!1,inset:u=!1}=r,d=$e(r,dke),f=A({},r,{color:o,component:s,disableGutters:c,disableSticky:l,inset:u}),m=fke(f);return p.jsx(pke,A({as:s,className:de(m.root,a),ref:n,ownerState:f},d))},"ListSubheader2"));KW.muiSkipListHighlight=!0;const mke=KW,hke=lr(p.jsx("path",{d:"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z"}),"Cancel");function gke(e){return Ge("MuiChip",e)}i(gke,"getChipUtilityClass");const vke=Ye("MuiChip",["root","sizeSmall","sizeMedium","colorError","colorInfo","colorPrimary","colorSecondary","colorSuccess","colorWarning","disabled","clickable","clickableColorPrimary","clickableColorSecondary","deletable","deletableColorPrimary","deletableColorSecondary","outlined","filled","outlinedPrimary","outlinedSecondary","filledPrimary","filledSecondary","avatar","avatarSmall","avatarMedium","avatarColorPrimary","avatarColorSecondary","icon","iconSmall","iconMedium","iconColorPrimary","iconColorSecondary","label","labelSmall","labelMedium","deleteIcon","deleteIconSmall","deleteIconMedium","deleteIconColorPrimary","deleteIconColorSecondary","deleteIconOutlinedColorPrimary","deleteIconOutlinedColorSecondary","deleteIconFilledColorPrimary","deleteIconFilledColorSecondary","focusVisible"]),qt=vke,yke=["avatar","className","clickable","color","component","deleteIcon","disabled","icon","label","onClick","onDelete","onKeyDown","onKeyUp","size","variant","tabIndex","skipFocusWhenDisabled"],bke=i(e=>{const{classes:t,disabled:n,size:r,color:a,iconColor:o,onDelete:s,clickable:c,variant:l}=e,u={root:["root",l,n&&"disabled",`size${ve(r)}`,`color${ve(a)}`,c&&"clickable",c&&`clickableColor${ve(a)}`,s&&"deletable",s&&`deletableColor${ve(a)}`,`${l}${ve(a)}`],label:["label",`label${ve(r)}`],avatar:["avatar",`avatar${ve(r)}`,`avatarColor${ve(a)}`],icon:["icon",`icon${ve(r)}`,`iconColor${ve(o)}`],deleteIcon:["deleteIcon",`deleteIcon${ve(r)}`,`deleteIconColor${ve(a)}`,`deleteIcon${ve(l)}Color${ve(a)}`]};return Ke(u,gke,t)},"useUtilityClasses$11"),xke=te("div",{name:"MuiChip",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e,{color:r,iconColor:a,clickable:o,onDelete:s,size:c,variant:l}=n;return[{[`& .${qt.avatar}`]:t.avatar},{[`& .${qt.avatar}`]:t[`avatar${ve(c)}`]},{[`& .${qt.avatar}`]:t[`avatarColor${ve(r)}`]},{[`& .${qt.icon}`]:t.icon},{[`& .${qt.icon}`]:t[`icon${ve(c)}`]},{[`& .${qt.icon}`]:t[`iconColor${ve(a)}`]},{[`& .${qt.deleteIcon}`]:t.deleteIcon},{[`& .${qt.deleteIcon}`]:t[`deleteIcon${ve(c)}`]},{[`& .${qt.deleteIcon}`]:t[`deleteIconColor${ve(r)}`]},{[`& .${qt.deleteIcon}`]:t[`deleteIcon${ve(l)}Color${ve(r)}`]},t.root,t[`size${ve(c)}`],t[`color${ve(r)}`],o&&t.clickable,o&&r!=="default"&&t[`clickableColor${ve(r)})`],s&&t.deletable,s&&r!=="default"&&t[`deletableColor${ve(r)}`],t[l],t[`${l}${ve(r)}`]]}})(({theme:e,ownerState:t})=>{const n=e.palette.mode==="light"?e.palette.grey[700]:e.palette.grey[300];return A({maxWidth:"100%",fontFamily:e.typography.fontFamily,fontSize:e.typography.pxToRem(13),display:"inline-flex",alignItems:"center",justifyContent:"center",height:32,color:(e.vars||e).palette.text.primary,backgroundColor:(e.vars||e).palette.action.selected,borderRadius:32/2,whiteSpace:"nowrap",transition:e.transitions.create(["background-color","box-shadow"]),cursor:"unset",outline:0,textDecoration:"none",border:0,padding:0,verticalAlign:"middle",boxSizing:"border-box",[`&.${qt.disabled}`]:{opacity:(e.vars||e).palette.action.disabledOpacity,pointerEvents:"none"},[`& .${qt.avatar}`]:{marginLeft:5,marginRight:-6,width:24,height:24,color:e.vars?e.vars.palette.Chip.defaultAvatarColor:n,fontSize:e.typography.pxToRem(12)},[`& .${qt.avatarColorPrimary}`]:{color:(e.vars||e).palette.primary.contrastText,backgroundColor:(e.vars||e).palette.primary.dark},[`& .${qt.avatarColorSecondary}`]:{color:(e.vars||e).palette.secondary.contrastText,backgroundColor:(e.vars||e).palette.secondary.dark},[`& .${qt.avatarSmall}`]:{marginLeft:4,marginRight:-4,width:18,height:18,fontSize:e.typography.pxToRem(10)},[`& .${qt.icon}`]:A({marginLeft:5,marginRight:-6},t.size==="small"&&{fontSize:18,marginLeft:4,marginRight:-4},t.iconColor===t.color&&A({color:e.vars?e.vars.palette.Chip.defaultIconColor:n},t.color!=="default"&&{color:"inherit"})),[`& .${qt.deleteIcon}`]:A({WebkitTapHighlightColor:"transparent",color:e.vars?`rgba(${e.vars.palette.text.primaryChannel} / 0.26)`:bt(e.palette.text.primary,.26),fontSize:22,cursor:"pointer",margin:"0 5px 0 -6px","&:hover":{color:e.vars?`rgba(${e.vars.palette.text.primaryChannel} / 0.4)`:bt(e.palette.text.primary,.4)}},t.size==="small"&&{fontSize:16,marginRight:4,marginLeft:-4},t.color!=="default"&&{color:e.vars?`rgba(${e.vars.palette[t.color].contrastTextChannel} / 0.7)`:bt(e.palette[t.color].contrastText,.7),"&:hover, &:active":{color:(e.vars||e).palette[t.color].contrastText}})},t.size==="small"&&{height:24},t.color!=="default"&&{backgroundColor:(e.vars||e).palette[t.color].main,color:(e.vars||e).palette[t.color].contrastText},t.onDelete&&{[`&.${qt.focusVisible}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.action.selectedChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.focusOpacity}))`:bt(e.palette.action.selected,e.palette.action.selectedOpacity+e.palette.action.focusOpacity)}},t.onDelete&&t.color!=="default"&&{[`&.${qt.focusVisible}`]:{backgroundColor:(e.vars||e).palette[t.color].dark}})},({theme:e,ownerState:t})=>A({},t.clickable&&{userSelect:"none",WebkitTapHighlightColor:"transparent",cursor:"pointer","&:hover":{backgroundColor:e.vars?`rgba(${e.vars.palette.action.selectedChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.hoverOpacity}))`:bt(e.palette.action.selected,e.palette.action.selectedOpacity+e.palette.action.hoverOpacity)},[`&.${qt.focusVisible}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.action.selectedChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.focusOpacity}))`:bt(e.palette.action.selected,e.palette.action.selectedOpacity+e.palette.action.focusOpacity)},"&:active":{boxShadow:(e.vars||e).shadows[1]}},t.clickable&&t.color!=="default"&&{[`&:hover, &.${qt.focusVisible}`]:{backgroundColor:(e.vars||e).palette[t.color].dark}}),({theme:e,ownerState:t})=>A({},t.variant==="outlined"&&{backgroundColor:"transparent",border:e.vars?`1px solid ${e.vars.palette.Chip.defaultBorder}`:`1px solid ${e.palette.mode==="light"?e.palette.grey[400]:e.palette.grey[700]}`,[`&.${qt.clickable}:hover`]:{backgroundColor:(e.vars||e).palette.action.hover},[`&.${qt.focusVisible}`]:{backgroundColor:(e.vars||e).palette.action.focus},[`& .${qt.avatar}`]:{marginLeft:4},[`& .${qt.avatarSmall}`]:{marginLeft:2},[`& .${qt.icon}`]:{marginLeft:4},[`& .${qt.iconSmall}`]:{marginLeft:2},[`& .${qt.deleteIcon}`]:{marginRight:5},[`& .${qt.deleteIconSmall}`]:{marginRight:3}},t.variant==="outlined"&&t.color!=="default"&&{color:(e.vars||e).palette[t.color].main,border:`1px solid ${e.vars?`rgba(${e.vars.palette[t.color].mainChannel} / 0.7)`:bt(e.palette[t.color].main,.7)}`,[`&.${qt.clickable}:hover`]:{backgroundColor:e.vars?`rgba(${e.vars.palette[t.color].mainChannel} / ${e.vars.palette.action.hoverOpacity})`:bt(e.palette[t.color].main,e.palette.action.hoverOpacity)},[`&.${qt.focusVisible}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette[t.color].mainChannel} / ${e.vars.palette.action.focusOpacity})`:bt(e.palette[t.color].main,e.palette.action.focusOpacity)},[`& .${qt.deleteIcon}`]:{color:e.vars?`rgba(${e.vars.palette[t.color].mainChannel} / 0.7)`:bt(e.palette[t.color].main,.7),"&:hover, &:active":{color:(e.vars||e).palette[t.color].main}}})),wke=te("span",{name:"MuiChip",slot:"Label",overridesResolver:(e,t)=>{const{ownerState:n}=e,{size:r}=n;return[t.label,t[`label${ve(r)}`]]}})(({ownerState:e})=>A({overflow:"hidden",textOverflow:"ellipsis",paddingLeft:12,paddingRight:12,whiteSpace:"nowrap"},e.variant==="outlined"&&{paddingLeft:11,paddingRight:11},e.size==="small"&&{paddingLeft:8,paddingRight:8},e.size==="small"&&e.variant==="outlined"&&{paddingLeft:7,paddingRight:7}));function a5(e){return e.key==="Backspace"||e.key==="Delete"}i(a5,"isDeleteKeyboardEvent");const Cke=v.forwardRef(i(function(t,n){const r=Qe({props:t,name:"MuiChip"}),{avatar:a,className:o,clickable:s,color:c="default",component:l,deleteIcon:u,disabled:d=!1,icon:f,label:m,onClick:g,onDelete:h,onKeyDown:y,onKeyUp:b,size:x="medium",variant:w="filled",tabIndex:C,skipFocusWhenDisabled:j=!1}=r,_=$e(r,yke),S=v.useRef(null),k=ln(S,n),$=i(B=>{B.stopPropagation(),h&&h(B)},"handleDeleteIconClick"),E=i(B=>{B.currentTarget===B.target&&a5(B)&&B.preventDefault(),y&&y(B)},"handleKeyDown"),P=i(B=>{B.currentTarget===B.target&&(h&&a5(B)?h(B):B.key==="Escape"&&S.current&&S.current.blur()),b&&b(B)},"handleKeyUp"),R=s!==!1&&g?!0:s,T=R||h?Ia:l||"div",M=A({},r,{component:T,disabled:d,size:x,color:c,iconColor:v.isValidElement(f)&&f.props.color||c,onDelete:!!h,clickable:R,variant:w}),I=bke(M),z=T===Ia?A({component:l||"div",focusVisibleClassName:I.focusVisible},h&&{disableRipple:!0}):{};let H=null;h&&(H=u&&v.isValidElement(u)?v.cloneElement(u,{className:de(u.props.className,I.deleteIcon),onClick:$}):p.jsx(hke,{className:de(I.deleteIcon),onClick:$}));let F=null;a&&v.isValidElement(a)&&(F=v.cloneElement(a,{className:de(I.avatar,a.props.className)}));let L=null;return f&&v.isValidElement(f)&&(L=v.cloneElement(f,{className:de(I.icon,f.props.className)})),p.jsxs(xke,A({as:T,className:de(I.root,o),disabled:R&&d?!0:void 0,onClick:g,onKeyDown:E,onKeyUp:P,ref:k,tabIndex:j&&d?-1:C,ownerState:M},z,_,{children:[F||L,p.jsx(wke,{className:de(I.label),ownerState:M,children:m}),H]}))},"Chip2")),gi=Cke;function Mc({props:e,states:t,muiFormControl:n}){return t.reduce((r,a)=>(r[a]=e[a],n&&typeof e[a]>"u"&&(r[a]=n[a]),r),{})}i(Mc,"formControlState");const Ske=v.createContext(void 0),y1=Ske;function Bi(){return v.useContext(y1)}i(Bi,"useFormControl");function JW(e){return p.jsx(E2e,A({},e,{defaultTheme:f1,themeId:Ml}))}i(JW,"GlobalStyles");function o5(e){return e!=null&&!(Array.isArray(e)&&e.length===0)}i(o5,"hasValue");function Ib(e,t=!1){return e&&(o5(e.value)&&e.value!==""||t&&o5(e.defaultValue)&&e.defaultValue!=="")}i(Ib,"isFilled");function jke(e){return e.startAdornment}i(jke,"isAdornedStart");function _ke(e){return Ge("MuiInputBase",e)}i(_ke,"getInputBaseUtilityClass");const kke=Ye("MuiInputBase",["root","formControl","focused","disabled","adornedStart","adornedEnd","error","sizeSmall","multiline","colorSecondary","fullWidth","hiddenLabel","readOnly","input","inputSizeSmall","inputMultiline","inputTypeSearch","inputAdornedStart","inputAdornedEnd","inputHiddenLabel"]),Sa=kke,$ke=["aria-describedby","autoComplete","autoFocus","className","color","components","componentsProps","defaultValue","disabled","disableInjectingGlobalStyles","endAdornment","error","fullWidth","id","inputComponent","inputProps","inputRef","margin","maxRows","minRows","multiline","name","onBlur","onChange","onClick","onFocus","onKeyDown","onKeyUp","placeholder","readOnly","renderSuffix","rows","size","slotProps","slots","startAdornment","type","value"],b1=i((e,t)=>{const{ownerState:n}=e;return[t.root,n.formControl&&t.formControl,n.startAdornment&&t.adornedStart,n.endAdornment&&t.adornedEnd,n.error&&t.error,n.size==="small"&&t.sizeSmall,n.multiline&&t.multiline,n.color&&t[`color${ve(n.color)}`],n.fullWidth&&t.fullWidth,n.hiddenLabel&&t.hiddenLabel]},"rootOverridesResolver"),x1=i((e,t)=>{const{ownerState:n}=e;return[t.input,n.size==="small"&&t.inputSizeSmall,n.multiline&&t.inputMultiline,n.type==="search"&&t.inputTypeSearch,n.startAdornment&&t.inputAdornedStart,n.endAdornment&&t.inputAdornedEnd,n.hiddenLabel&&t.inputHiddenLabel]},"inputOverridesResolver"),Eke=i(e=>{const{classes:t,color:n,disabled:r,error:a,endAdornment:o,focused:s,formControl:c,fullWidth:l,hiddenLabel:u,multiline:d,readOnly:f,size:m,startAdornment:g,type:h}=e,y={root:["root",`color${ve(n)}`,r&&"disabled",a&&"error",l&&"fullWidth",s&&"focused",c&&"formControl",m&&m!=="medium"&&`size${ve(m)}`,d&&"multiline",g&&"adornedStart",o&&"adornedEnd",u&&"hiddenLabel",f&&"readOnly"],input:["input",r&&"disabled",h==="search"&&"inputTypeSearch",d&&"inputMultiline",m==="small"&&"inputSizeSmall",u&&"inputHiddenLabel",g&&"inputAdornedStart",o&&"inputAdornedEnd",f&&"readOnly"]};return Ke(y,_ke,t)},"useUtilityClasses$10"),w1=te("div",{name:"MuiInputBase",slot:"Root",overridesResolver:b1})(({theme:e,ownerState:t})=>A({},e.typography.body1,{color:(e.vars||e).palette.text.primary,lineHeight:"1.4375em",boxSizing:"border-box",position:"relative",cursor:"text",display:"inline-flex",alignItems:"center",[`&.${Sa.disabled}`]:{color:(e.vars||e).palette.text.disabled,cursor:"default"}},t.multiline&&A({padding:"4px 0 5px"},t.size==="small"&&{paddingTop:1}),t.fullWidth&&{width:"100%"})),C1=te("input",{name:"MuiInputBase",slot:"Input",overridesResolver:x1})(({theme:e,ownerState:t})=>{const n=e.palette.mode==="light",r=A({color:"currentColor"},e.vars?{opacity:e.vars.opacity.inputPlaceholder}:{opacity:n?.42:.5},{transition:e.transitions.create("opacity",{duration:e.transitions.duration.shorter})}),a={opacity:"0 !important"},o=e.vars?{opacity:e.vars.opacity.inputPlaceholder}:{opacity:n?.42:.5};return A({font:"inherit",letterSpacing:"inherit",color:"currentColor",padding:"4px 0 5px",border:0,boxSizing:"content-box",background:"none",height:"1.4375em",margin:0,WebkitTapHighlightColor:"transparent",display:"block",minWidth:0,width:"100%",animationName:"mui-auto-fill-cancel",animationDuration:"10ms","&::-webkit-input-placeholder":r,"&::-moz-placeholder":r,"&:-ms-input-placeholder":r,"&::-ms-input-placeholder":r,"&:focus":{outline:0},"&:invalid":{boxShadow:"none"},"&::-webkit-search-decoration":{WebkitAppearance:"none"},[`label[data-shrink=false] + .${Sa.formControl} &`]:{"&::-webkit-input-placeholder":a,"&::-moz-placeholder":a,"&:-ms-input-placeholder":a,"&::-ms-input-placeholder":a,"&:focus::-webkit-input-placeholder":o,"&:focus::-moz-placeholder":o,"&:focus:-ms-input-placeholder":o,"&:focus::-ms-input-placeholder":o},[`&.${Sa.disabled}`]:{opacity:1,WebkitTextFillColor:(e.vars||e).palette.text.disabled},"&:-webkit-autofill":{animationDuration:"5000s",animationName:"mui-auto-fill"}},t.size==="small"&&{paddingTop:1},t.multiline&&{height:"auto",resize:"none",padding:0,paddingTop:0},t.type==="search"&&{MozAppearance:"textfield"})}),Rke=p.jsx(JW,{styles:{"@keyframes mui-auto-fill":{from:{display:"block"}},"@keyframes mui-auto-fill-cancel":{from:{display:"block"}}}}),Ake=v.forwardRef(i(function(t,n){var r;const a=Qe({props:t,name:"MuiInputBase"}),{"aria-describedby":o,autoComplete:s,autoFocus:c,className:l,components:u={},componentsProps:d={},defaultValue:f,disabled:m,disableInjectingGlobalStyles:g,endAdornment:h,fullWidth:y=!1,id:b,inputComponent:x="input",inputProps:w={},inputRef:C,maxRows:j,minRows:_,multiline:S=!1,name:k,onBlur:$,onChange:E,onClick:P,onFocus:R,onKeyDown:T,onKeyUp:M,placeholder:I,readOnly:z,renderSuffix:H,rows:F,slotProps:L={},slots:B={},startAdornment:K,type:se="text",value:ue}=a,_e=$e(a,$ke),le=w.value!=null?w.value:ue,{current:V}=v.useRef(le!=null),q=v.useRef(),Y=v.useCallback(De=>{},[]),O=ln(q,C,w.ref,Y),[D,Z]=v.useState(!1),J=Bi(),U=Mc({props:a,muiFormControl:J,states:["color","disabled","error","hiddenLabel","size","required","filled"]});U.focused=J?J.focused:D,v.useEffect(()=>{!J&&m&&D&&(Z(!1),$&&$())},[J,m,D,$]);const ne=J&&J.onFilled,ie=J&&J.onEmpty,he=v.useCallback(De=>{Ib(De)?ne&&ne():ie&&ie()},[ne,ie]);Jr(()=>{V&&he({value:le})},[le,he,V]);const N=i(De=>{if(U.disabled){De.stopPropagation();return}R&&R(De),w.onFocus&&w.onFocus(De),J&&J.onFocus?J.onFocus(De):Z(!0)},"handleFocus"),Q=i(De=>{$&&$(De),w.onBlur&&w.onBlur(De),J&&J.onBlur?J.onBlur(De):Z(!1)},"handleBlur"),X=i((De,...Se)=>{if(!V){const We=De.target||q.current;if(We==null)throw new Error(hs(1));he({value:We.value})}w.onChange&&w.onChange(De,...Se),E&&E(De,...Se)},"handleChange");v.useEffect(()=>{he(q.current)},[]);const we=i(De=>{q.current&&De.currentTarget===De.target&&q.current.focus(),P&&P(De)},"handleClick");let fe=x,pe=w;S&&fe==="input"&&(F?pe=A({type:void 0,minRows:F,maxRows:F},pe):pe=A({type:void 0,maxRows:j,minRows:_},pe),fe=X_e);const xe=i(De=>{he(De.animationName==="mui-auto-fill-cancel"?q.current:{value:"x"})},"handleAutoFill");v.useEffect(()=>{J&&J.setAdornedStart(!!K)},[J,K]);const Re=A({},a,{color:U.color||"primary",disabled:U.disabled,endAdornment:h,error:U.error,focused:U.focused,formControl:J,fullWidth:y,hiddenLabel:U.hiddenLabel,multiline:S,size:U.size,startAdornment:K,type:se}),Me=Eke(Re),Je=B.root||u.Root||w1,pt=L.root||d.root||{},it=B.input||u.Input||C1;return pe=A({},pe,(r=L.input)!=null?r:d.input),p.jsxs(v.Fragment,{children:[!g&&Rke,p.jsxs(Je,A({},pt,!zl(Je)&&{ownerState:A({},Re,pt.ownerState)},{ref:n,onClick:we},_e,{className:de(Me.root,pt.className,l,z&&"MuiInputBase-readOnly"),children:[K,p.jsx(y1.Provider,{value:null,children:p.jsx(it,A({ownerState:Re,"aria-invalid":U.error,"aria-describedby":o,autoComplete:s,autoFocus:c,defaultValue:f,disabled:U.disabled,id:b,onAnimationStart:xe,name:k,placeholder:I,readOnly:z,required:U.required,rows:F,value:le,onKeyDown:T,onKeyUp:M,type:se},pe,!zl(it)&&{as:fe,ownerState:A({},Re,pe.ownerState)},{ref:O,className:de(Me.input,pe.className,z&&"MuiInputBase-readOnly"),onBlur:Q,onChange:X,onFocus:N}))}),h,H?H(A({},U,{startAdornment:K})):null]}))]})},"InputBase2")),S1=Ake;function Pke(e){return Ge("MuiInput",e)}i(Pke,"getInputUtilityClass");const Ns=A({},Sa,Ye("MuiInput",["root","underline","input"]));function Tke(e){return Ge("MuiOutlinedInput",e)}i(Tke,"getOutlinedInputUtilityClass");const Mke=A({},Sa,Ye("MuiOutlinedInput",["root","notchedOutline","input"])),Zo=Mke;function Oke(e){return Ge("MuiFilledInput",e)}i(Oke,"getFilledInputUtilityClass");const zke=A({},Sa,Ye("MuiFilledInput",["root","underline","input"])),ja=zke,YW=lr(p.jsx("path",{d:"M7 10l5 5 5-5z"}),"ArrowDropDown");function Ike(e){return Ge("MuiAutocomplete",e)}i(Ike,"getAutocompleteUtilityClass");const Mt=Ye("MuiAutocomplete",["root","expanded","fullWidth","focused","focusVisible","tag","tagSizeSmall","tagSizeMedium","hasPopupIcon","hasClearIcon","inputRoot","input","inputFocused","endAdornment","clearIndicator","popupIndicator","popupIndicatorOpen","popper","popperDisablePortal","paper","listbox","loading","noOptions","option","groupLabel","groupUl"]);var i5,s5;const Lke=["autoComplete","autoHighlight","autoSelect","blurOnSelect","ChipProps","className","clearIcon","clearOnBlur","clearOnEscape","clearText","closeText","componentsProps","defaultValue","disableClearable","disableCloseOnSelect","disabled","disabledItemsFocusable","disableListWrap","disablePortal","filterOptions","filterSelectedOptions","forcePopupIcon","freeSolo","fullWidth","getLimitTagsText","getOptionDisabled","getOptionKey","getOptionLabel","isOptionEqualToValue","groupBy","handleHomeEndKeys","id","includeInputInList","inputValue","limitTags","ListboxComponent","ListboxProps","loading","loadingText","multiple","noOptionsText","onChange","onClose","onHighlightChange","onInputChange","onOpen","open","openOnFocus","openText","options","PaperComponent","PopperComponent","popupIcon","readOnly","renderGroup","renderInput","renderOption","renderTags","selectOnFocus","size","slotProps","value"],Dke=["ref"],Nke=p1(),Fke=i(e=>{const{classes:t,disablePortal:n,expanded:r,focused:a,fullWidth:o,hasClearIcon:s,hasPopupIcon:c,inputFocused:l,popupOpen:u,size:d}=e,f={root:["root",r&&"expanded",a&&"focused",o&&"fullWidth",s&&"hasClearIcon",c&&"hasPopupIcon"],inputRoot:["inputRoot"],input:["input",l&&"inputFocused"],tag:["tag",`tagSize${ve(d)}`],endAdornment:["endAdornment"],clearIndicator:["clearIndicator"],popupIndicator:["popupIndicator",u&&"popupIndicatorOpen"],popper:["popper",n&&"popperDisablePortal"],paper:["paper"],listbox:["listbox"],loading:["loading"],noOptions:["noOptions"],option:["option"],groupLabel:["groupLabel"],groupUl:["groupUl"]};return Ke(f,Ike,t)},"useUtilityClasses$$"),Bke=te("div",{name:"MuiAutocomplete",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e,{fullWidth:r,hasClearIcon:a,hasPopupIcon:o,inputFocused:s,size:c}=n;return[{[`& .${Mt.tag}`]:t.tag},{[`& .${Mt.tag}`]:t[`tagSize${ve(c)}`]},{[`& .${Mt.inputRoot}`]:t.inputRoot},{[`& .${Mt.input}`]:t.input},{[`& .${Mt.input}`]:s&&t.inputFocused},t.root,r&&t.fullWidth,o&&t.hasPopupIcon,a&&t.hasClearIcon]}})({[`&.${Mt.focused} .${Mt.clearIndicator}`]:{visibility:"visible"},"@media (pointer: fine)":{[`&:hover .${Mt.clearIndicator}`]:{visibility:"visible"}},[`& .${Mt.tag}`]:{margin:3,maxWidth:"calc(100% - 6px)"},[`& .${Mt.inputRoot}`]:{flexWrap:"wrap",[`.${Mt.hasPopupIcon}&, .${Mt.hasClearIcon}&`]:{paddingRight:30},[`.${Mt.hasPopupIcon}.${Mt.hasClearIcon}&`]:{paddingRight:56},[`& .${Mt.input}`]:{width:0,minWidth:30}},[`& .${Ns.root}`]:{paddingBottom:1,"& .MuiInput-input":{padding:"4px 4px 4px 0px"}},[`& .${Ns.root}.${Sa.sizeSmall}`]:{[`& .${Ns.input}`]:{padding:"2px 4px 3px 0"}},[`& .${Zo.root}`]:{padding:9,[`.${Mt.hasPopupIcon}&, .${Mt.hasClearIcon}&`]:{paddingRight:39},[`.${Mt.hasPopupIcon}.${Mt.hasClearIcon}&`]:{paddingRight:65},[`& .${Mt.input}`]:{padding:"7.5px 4px 7.5px 5px"},[`& .${Mt.endAdornment}`]:{right:9}},[`& .${Zo.root}.${Sa.sizeSmall}`]:{paddingTop:6,paddingBottom:6,paddingLeft:6,[`& .${Mt.input}`]:{padding:"2.5px 4px 2.5px 8px"}},[`& .${ja.root}`]:{paddingTop:19,paddingLeft:8,[`.${Mt.hasPopupIcon}&, .${Mt.hasClearIcon}&`]:{paddingRight:39},[`.${Mt.hasPopupIcon}.${Mt.hasClearIcon}&`]:{paddingRight:65},[`& .${ja.input}`]:{padding:"7px 4px"},[`& .${Mt.endAdornment}`]:{right:9}},[`& .${ja.root}.${Sa.sizeSmall}`]:{paddingBottom:1,[`& .${ja.input}`]:{padding:"2.5px 4px"}},[`& .${Sa.hiddenLabel}`]:{paddingTop:8},[`& .${ja.root}.${Sa.hiddenLabel}`]:{paddingTop:0,paddingBottom:0,[`& .${Mt.input}`]:{paddingTop:16,paddingBottom:17}},[`& .${ja.root}.${Sa.hiddenLabel}.${Sa.sizeSmall}`]:{[`& .${Mt.input}`]:{paddingTop:8,paddingBottom:9}},[`& .${Mt.input}`]:{flexGrow:1,textOverflow:"ellipsis",opacity:0},variants:[{props:{fullWidth:!0},style:{width:"100%"}},{props:{size:"small"},style:{[`& .${Mt.tag}`]:{margin:2,maxWidth:"calc(100% - 4px)"}}},{props:{inputFocused:!0},style:{[`& .${Mt.input}`]:{opacity:1}}}]}),Wke=te("div",{name:"MuiAutocomplete",slot:"EndAdornment",overridesResolver:(e,t)=>t.endAdornment})({position:"absolute",right:0,top:"50%",transform:"translate(0, -50%)"}),Uke=te(cn,{name:"MuiAutocomplete",slot:"ClearIndicator",overridesResolver:(e,t)=>t.clearIndicator})({marginRight:-2,padding:4,visibility:"hidden"}),Hke=te(cn,{name:"MuiAutocomplete",slot:"PopupIndicator",overridesResolver:({ownerState:e},t)=>A({},t.popupIndicator,e.popupOpen&&t.popupIndicatorOpen)})({padding:2,marginRight:-2,variants:[{props:{popupOpen:!0},style:{transform:"rotate(180deg)"}}]}),qke=te(v1,{name:"MuiAutocomplete",slot:"Popper",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[{[`& .${Mt.option}`]:t.option},t.popper,n.disablePortal&&t.popperDisablePortal]}})(({theme:e})=>({zIndex:(e.vars||e).zIndex.modal,variants:[{props:{disablePortal:!0},style:{position:"absolute"}}]})),Vke=te(Wa,{name:"MuiAutocomplete",slot:"Paper",overridesResolver:(e,t)=>t.paper})(({theme:e})=>A({},e.typography.body1,{overflow:"auto"})),Gke=te("div",{name:"MuiAutocomplete",slot:"Loading",overridesResolver:(e,t)=>t.loading})(({theme:e})=>({color:(e.vars||e).palette.text.secondary,padding:"14px 16px"})),Kke=te("div",{name:"MuiAutocomplete",slot:"NoOptions",overridesResolver:(e,t)=>t.noOptions})(({theme:e})=>({color:(e.vars||e).palette.text.secondary,padding:"14px 16px"})),Jke=te("div",{name:"MuiAutocomplete",slot:"Listbox",overridesResolver:(e,t)=>t.listbox})(({theme:e})=>({listStyle:"none",margin:0,padding:"8px 0",maxHeight:"40vh",overflow:"auto",position:"relative",[`& .${Mt.option}`]:{minHeight:48,display:"flex",overflow:"hidden",justifyContent:"flex-start",alignItems:"center",cursor:"pointer",paddingTop:6,boxSizing:"border-box",outline:"0",WebkitTapHighlightColor:"transparent",paddingBottom:6,paddingLeft:16,paddingRight:16,[e.breakpoints.up("sm")]:{minHeight:"auto"},[`&.${Mt.focused}`]:{backgroundColor:(e.vars||e).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},'&[aria-disabled="true"]':{opacity:(e.vars||e).palette.action.disabledOpacity,pointerEvents:"none"},[`&.${Mt.focusVisible}`]:{backgroundColor:(e.vars||e).palette.action.focus},'&[aria-selected="true"]':{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:bt(e.palette.primary.main,e.palette.action.selectedOpacity),[`&.${Mt.focused}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.hoverOpacity}))`:bt(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:(e.vars||e).palette.action.selected}},[`&.${Mt.focusVisible}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.focusOpacity}))`:bt(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.focusOpacity)}}}})),Yke=te(mke,{name:"MuiAutocomplete",slot:"GroupLabel",overridesResolver:(e,t)=>t.groupLabel})(({theme:e})=>({backgroundColor:(e.vars||e).palette.background.paper,top:-8})),Qke=te("ul",{name:"MuiAutocomplete",slot:"GroupUl",overridesResolver:(e,t)=>t.groupUl})({padding:0,[`& .${Mt.option}`]:{paddingLeft:24}}),Xke=v.forwardRef(i(function(t,n){var r,a,o,s;const c=Nke({props:t,name:"MuiAutocomplete"}),{autoComplete:l=!1,autoHighlight:u=!1,autoSelect:d=!1,blurOnSelect:f=!1,ChipProps:m,className:g,clearIcon:h=i5||(i5=p.jsx(AW,{fontSize:"small"})),clearOnBlur:y=!c.freeSolo,clearOnEscape:b=!1,clearText:x="Clear",closeText:w="Close",componentsProps:C={},defaultValue:j=c.multiple?[]:null,disableClearable:_=!1,disableCloseOnSelect:S=!1,disabled:k=!1,disabledItemsFocusable:$=!1,disableListWrap:E=!1,disablePortal:P=!1,filterSelectedOptions:R=!1,forcePopupIcon:T="auto",freeSolo:M=!1,fullWidth:I=!1,getLimitTagsText:z=i(Ae=>`+${Ae}`,"getLimitTagsText"),getOptionLabel:H,groupBy:F,handleHomeEndKeys:L=!c.freeSolo,includeInputInList:B=!1,limitTags:K=-1,ListboxComponent:se="ul",ListboxProps:ue,loading:_e=!1,loadingText:le="Loading…",multiple:V=!1,noOptionsText:q="No options",openOnFocus:Y=!1,openText:O="Open",PaperComponent:D=Wa,PopperComponent:Z=v1,popupIcon:J=s5||(s5=p.jsx(YW,{})),readOnly:U=!1,renderGroup:ne,renderInput:ie,renderOption:he,renderTags:N,selectOnFocus:Q=!c.freeSolo,size:X="medium",slotProps:we={}}=c,fe=$e(c,Lke),{getRootProps:pe,getInputProps:xe,getInputLabelProps:Re,getPopupIndicatorProps:Me,getClearProps:Je,getTagProps:pt,getListboxProps:it,getOptionProps:De,value:Se,dirty:We,expanded:yt,id:jt,popupOpen:G,focused:ae,focusedTag:ce,anchorEl:be,setAnchorEl:Ue,inputValue:Oe,groupedOptions:ft}=tke(A({},c,{componentName:"Autocomplete"})),kt=!_&&!k&&We&&!U,wt=(!M||T===!0)&&T!==!1,{onMouseDown:Dt}=xe(),{ref:re}=ue??{},oe=it(),{ref:ye}=oe,Ie=$e(oe,Dke),He=ln(ye,re),Ve=H||i(Ae=>{var st;return(st=Ae.label)!=null?st:Ae},"defaultGetOptionLabel"),Ne=A({},c,{disablePortal:P,expanded:yt,focused:ae,fullWidth:I,getOptionLabel:Ve,hasClearIcon:kt,hasPopupIcon:wt,inputFocused:ce===-1,popupOpen:G,size:X}),ze=Fke(Ne);let dt;if(V&&Se.length>0){const Ae=i(st=>A({className:ze.tag,disabled:k},pt(st)),"getCustomizedTagProps");N?dt=N(Se,Ae,Ne):dt=Se.map((st,et)=>p.jsx(gi,A({label:Ve(st),size:X},Ae({index:et}),m)))}if(K>-1&&Array.isArray(dt)){const Ae=dt.length-K;!ae&&Ae>0&&(dt=dt.splice(0,K),dt.push(p.jsx("span",{className:ze.tag,children:z(Ae)},dt.length)))}const ke=ne||i(Ae=>p.jsxs("li",{children:[p.jsx(Yke,{className:ze.groupLabel,ownerState:Ne,component:"div",children:Ae.group}),p.jsx(Qke,{className:ze.groupUl,ownerState:Ne,children:Ae.children})]},Ae.key),"defaultRenderGroup"),Fe=he||i((Ae,st)=>v.createElement("li",A({},Ae,{key:Ae.key}),Ve(st)),"defaultRenderOption"),lt=i((Ae,st)=>{const et=De({option:Ae,index:st});return Fe(A({},et,{className:ze.option}),Ae,{selected:et["aria-selected"],index:st,inputValue:Oe},Ne)},"renderListOption"),rt=(r=we.clearIndicator)!=null?r:C.clearIndicator,Nt=(a=we.paper)!=null?a:C.paper,Ft=(o=we.popper)!=null?o:C.popper,me=(s=we.popupIndicator)!=null?s:C.popupIndicator,ge=i(Ae=>p.jsx(qke,A({as:Z,disablePortal:P,style:{width:be?be.clientWidth:null},ownerState:Ne,role:"presentation",anchorEl:be,open:G},Ft,{className:de(ze.popper,Ft==null?void 0:Ft.className),children:p.jsx(Vke,A({ownerState:Ne,as:D},Nt,{className:de(ze.paper,Nt==null?void 0:Nt.className),children:Ae}))})),"renderAutocompletePopperChildren");let Le=null;return ft.length>0?Le=ge(p.jsx(Jke,A({as:se,className:ze.listbox,ownerState:Ne},Ie,ue,{ref:He,children:ft.map((Ae,st)=>F?ke({key:Ae.key,group:Ae.group,children:Ae.options.map((et,Ee)=>lt(et,Ae.index+Ee))}):lt(Ae,st))}))):_e&&ft.length===0?Le=ge(p.jsx(Gke,{className:ze.loading,ownerState:Ne,children:le})):ft.length===0&&!M&&!_e&&(Le=ge(p.jsx(Kke,{className:ze.noOptions,ownerState:Ne,role:"presentation",onMouseDown:Ae=>{Ae.preventDefault()},children:q}))),p.jsxs(v.Fragment,{children:[p.jsx(Bke,A({ref:n,className:de(ze.root,g),ownerState:Ne},pe(fe),{children:ie({id:jt,disabled:k,fullWidth:!0,size:X==="small"?"small":void 0,InputLabelProps:Re(),InputProps:A({ref:Ue,className:ze.inputRoot,startAdornment:dt,onClick:Ae=>{Ae.target===Ae.currentTarget&&Dt(Ae)}},(kt||wt)&&{endAdornment:p.jsxs(Wke,{className:ze.endAdornment,ownerState:Ne,children:[kt?p.jsx(Uke,A({},Je(),{"aria-label":x,title:x,ownerState:Ne},rt,{className:de(ze.clearIndicator,rt==null?void 0:rt.className),children:h})):null,wt?p.jsx(Hke,A({},Me(),{disabled:k,"aria-label":G?w:O,title:G?w:O,ownerState:Ne},me,{className:de(ze.popupIndicator,me==null?void 0:me.className),children:J})):null]})}),inputProps:A({className:ze.input,disabled:k,readOnly:U},xe())})})),be?Le:null]})},"Autocomplete2")),Zke=Xke,e$e=lr(p.jsx("path",{d:"M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z"}),"Person");function t$e(e){return Ge("MuiAvatar",e)}i(t$e,"getAvatarUtilityClass");Ye("MuiAvatar",["root","colorDefault","circular","rounded","square","img","fallback"]);const n$e=["alt","children","className","component","slots","slotProps","imgProps","sizes","src","srcSet","variant"],r$e=p1(),a$e=i(e=>{const{classes:t,variant:n,colorDefault:r}=e;return Ke({root:["root",n,r&&"colorDefault"],img:["img"],fallback:["fallback"]},t$e,t)},"useUtilityClasses$_"),o$e=te("div",{name:"MuiAvatar",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[n.variant],n.colorDefault&&t.colorDefault]}})(({theme:e})=>({position:"relative",display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0,width:40,height:40,fontFamily:e.typography.fontFamily,fontSize:e.typography.pxToRem(20),lineHeight:1,borderRadius:"50%",overflow:"hidden",userSelect:"none",variants:[{props:{variant:"rounded"},style:{borderRadius:(e.vars||e).shape.borderRadius}},{props:{variant:"square"},style:{borderRadius:0}},{props:{colorDefault:!0},style:A({color:(e.vars||e).palette.background.default},e.vars?{backgroundColor:e.vars.palette.Avatar.defaultBg}:A({backgroundColor:e.palette.grey[400]},e.applyStyles("dark",{backgroundColor:e.palette.grey[600]})))}]})),i$e=te("img",{name:"MuiAvatar",slot:"Img",overridesResolver:(e,t)=>t.img})({width:"100%",height:"100%",textAlign:"center",objectFit:"cover",color:"transparent",textIndent:1e4}),s$e=te(e$e,{name:"MuiAvatar",slot:"Fallback",overridesResolver:(e,t)=>t.fallback})({width:"75%",height:"75%"});function c$e({crossOrigin:e,referrerPolicy:t,src:n,srcSet:r}){const[a,o]=v.useState(!1);return v.useEffect(()=>{if(!n&&!r)return;o(!1);let s=!0;const c=new Image;return c.onload=()=>{s&&o("loaded")},c.onerror=()=>{s&&o("error")},c.crossOrigin=e,c.referrerPolicy=t,c.src=n,r&&(c.srcset=r),()=>{s=!1}},[e,t,n,r]),a}i(c$e,"useLoaded");const l$e=v.forwardRef(i(function(t,n){const r=r$e({props:t,name:"MuiAvatar"}),{alt:a,children:o,className:s,component:c="div",slots:l={},slotProps:u={},imgProps:d,sizes:f,src:m,srcSet:g,variant:h="circular"}=r,y=$e(r,n$e);let b=null;const x=c$e(A({},d,{src:m,srcSet:g})),w=m||g,C=w&&x!=="error",j=A({},r,{colorDefault:!C,component:c,variant:h}),_=a$e(j),[S,k]=Q3("img",{className:_.img,elementType:i$e,externalForwardedProps:{slots:l,slotProps:{img:A({},d,u.img)}},additionalProps:{alt:a,src:m,srcSet:g,sizes:f},ownerState:j});return C?b=p.jsx(S,A({},k)):o||o===0?b=o:w&&a?b=a[0]:b=p.jsx(s$e,{ownerState:j,className:_.fallback}),p.jsx(o$e,A({as:c,ownerState:j,className:de(_.root,s),ref:n},y,{children:b}))},"Avatar2")),za=l$e,u$e=["addEndListener","appear","children","easing","in","onEnter","onEntered","onEntering","onExit","onExited","onExiting","style","timeout","TransitionComponent"],d$e={entering:{opacity:1},entered:{opacity:1}},f$e=v.forwardRef(i(function(t,n){const r=qo(),a={enter:r.transitions.duration.enteringScreen,exit:r.transitions.duration.leavingScreen},{addEndListener:o,appear:s=!0,children:c,easing:l,in:u,onEnter:d,onEntered:f,onEntering:m,onExit:g,onExited:h,onExiting:y,style:b,timeout:x=a,TransitionComponent:w=QE}=t,C=$e(t,u$e),j=v.useRef(null),_=ln(j,c.ref,n),S=i(I=>z=>{if(I){const H=j.current;z===void 0?I(H):I(H,z)}},"normalizedTransitionCallback"),k=S(m),$=S((I,z)=>{eR(I);const H=af({style:b,timeout:x,easing:l},{mode:"enter"});I.style.webkitTransition=r.transitions.create("opacity",H),I.style.transition=r.transitions.create("opacity",H),d&&d(I,z)}),E=S(f),P=S(y),R=S(I=>{const z=af({style:b,timeout:x,easing:l},{mode:"exit"});I.style.webkitTransition=r.transitions.create("opacity",z),I.style.transition=r.transitions.create("opacity",z),g&&g(I)}),T=S(h),M=i(I=>{o&&o(j.current,I)},"handleAddEndListener");return p.jsx(w,A({appear:s,in:u,nodeRef:j,onEnter:$,onEntered:E,onEntering:k,onExit:R,onExited:T,onExiting:P,addEndListener:M,timeout:x},C,{children:(I,z)=>v.cloneElement(c,A({style:A({opacity:0,visibility:I==="exited"&&!u?"hidden":void 0},d$e[I],b,c.props.style),ref:_},z))}))},"Fade2")),QW=f$e;function p$e(e){return Ge("MuiBackdrop",e)}i(p$e,"getBackdropUtilityClass");Ye("MuiBackdrop",["root","invisible"]);const m$e=["children","className","component","components","componentsProps","invisible","open","slotProps","slots","TransitionComponent","transitionDuration"],h$e=i(e=>{const{classes:t,invisible:n}=e;return Ke({root:["root",n&&"invisible"]},p$e,t)},"useUtilityClasses$Z"),g$e=te("div",{name:"MuiBackdrop",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.invisible&&t.invisible]}})(({ownerState:e})=>A({position:"fixed",display:"flex",alignItems:"center",justifyContent:"center",right:0,bottom:0,top:0,left:0,backgroundColor:"rgba(0, 0, 0, 0.5)",WebkitTapHighlightColor:"transparent"},e.invisible&&{backgroundColor:"transparent"})),v$e=v.forwardRef(i(function(t,n){var r,a,o;const s=Qe({props:t,name:"MuiBackdrop"}),{children:c,className:l,component:u="div",components:d={},componentsProps:f={},invisible:m=!1,open:g,slotProps:h={},slots:y={},TransitionComponent:b=QW,transitionDuration:x}=s,w=$e(s,m$e),C=A({},s,{component:u,invisible:m}),j=h$e(C),_=(r=h.root)!=null?r:f.root;return p.jsx(b,A({in:g,timeout:x},w,{children:p.jsx(g$e,A({"aria-hidden":!0},_,{as:(a=(o=y.root)!=null?o:d.Root)!=null?a:u,className:de(j.root,l,_==null?void 0:_.className),ownerState:A({},C,_==null?void 0:_.ownerState),classes:j,ref:n,children:c}))}))},"Backdrop2")),XW=v$e,y$e=Ye("MuiBox",["root"]),b$e=y$e,x$e=Tb(),w$e=z2e({themeId:Ml,defaultTheme:x$e,defaultClassName:b$e.root,generateClassName:HE.generate}),Be=w$e;function C$e(e){return Ge("MuiButton",e)}i(C$e,"getButtonUtilityClass");const S$e=Ye("MuiButton",["root","text","textInherit","textPrimary","textSecondary","textSuccess","textError","textInfo","textWarning","outlined","outlinedInherit","outlinedPrimary","outlinedSecondary","outlinedSuccess","outlinedError","outlinedInfo","outlinedWarning","contained","containedInherit","containedPrimary","containedSecondary","containedSuccess","containedError","containedInfo","containedWarning","disableElevation","focusVisible","disabled","colorInherit","colorPrimary","colorSecondary","colorSuccess","colorError","colorInfo","colorWarning","textSizeSmall","textSizeMedium","textSizeLarge","outlinedSizeSmall","outlinedSizeMedium","outlinedSizeLarge","containedSizeSmall","containedSizeMedium","containedSizeLarge","sizeMedium","sizeSmall","sizeLarge","fullWidth","startIcon","endIcon","icon","iconSizeSmall","iconSizeMedium","iconSizeLarge"]),wv=S$e,j$e=v.createContext({}),_$e=j$e,k$e=v.createContext(void 0),$$e=k$e,E$e=["children","color","component","className","disabled","disableElevation","disableFocusRipple","endIcon","focusVisibleClassName","fullWidth","size","startIcon","type","variant"],R$e=i(e=>{const{color:t,disableElevation:n,fullWidth:r,size:a,variant:o,classes:s}=e,c={root:["root",o,`${o}${ve(t)}`,`size${ve(a)}`,`${o}Size${ve(a)}`,`color${ve(t)}`,n&&"disableElevation",r&&"fullWidth"],label:["label"],startIcon:["icon","startIcon",`iconSize${ve(a)}`],endIcon:["icon","endIcon",`iconSize${ve(a)}`]},l=Ke(c,C$e,s);return A({},s,l)},"useUtilityClasses$Y"),ZW=i(e=>A({},e.size==="small"&&{"& > *:nth-of-type(1)":{fontSize:18}},e.size==="medium"&&{"& > *:nth-of-type(1)":{fontSize:20}},e.size==="large"&&{"& > *:nth-of-type(1)":{fontSize:22}}),"commonIconStyles"),A$e=te(Ia,{shouldForwardProp:e=>yr(e)||e==="classes",name:"MuiButton",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[n.variant],t[`${n.variant}${ve(n.color)}`],t[`size${ve(n.size)}`],t[`${n.variant}Size${ve(n.size)}`],n.color==="inherit"&&t.colorInherit,n.disableElevation&&t.disableElevation,n.fullWidth&&t.fullWidth]}})(({theme:e,ownerState:t})=>{var n,r;const a=e.palette.mode==="light"?e.palette.grey[300]:e.palette.grey[800],o=e.palette.mode==="light"?e.palette.grey.A100:e.palette.grey[700];return A({},e.typography.button,{minWidth:64,padding:"6px 16px",borderRadius:(e.vars||e).shape.borderRadius,transition:e.transitions.create(["background-color","box-shadow","border-color","color"],{duration:e.transitions.duration.short}),"&:hover":A({textDecoration:"none",backgroundColor:e.vars?`rgba(${e.vars.palette.text.primaryChannel} / ${e.vars.palette.action.hoverOpacity})`:bt(e.palette.text.primary,e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},t.variant==="text"&&t.color!=="inherit"&&{backgroundColor:e.vars?`rgba(${e.vars.palette[t.color].mainChannel} / ${e.vars.palette.action.hoverOpacity})`:bt(e.palette[t.color].main,e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},t.variant==="outlined"&&t.color!=="inherit"&&{border:`1px solid ${(e.vars||e).palette[t.color].main}`,backgroundColor:e.vars?`rgba(${e.vars.palette[t.color].mainChannel} / ${e.vars.palette.action.hoverOpacity})`:bt(e.palette[t.color].main,e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},t.variant==="contained"&&{backgroundColor:e.vars?e.vars.palette.Button.inheritContainedHoverBg:o,boxShadow:(e.vars||e).shadows[4],"@media (hover: none)":{boxShadow:(e.vars||e).shadows[2],backgroundColor:(e.vars||e).palette.grey[300]}},t.variant==="contained"&&t.color!=="inherit"&&{backgroundColor:(e.vars||e).palette[t.color].dark,"@media (hover: none)":{backgroundColor:(e.vars||e).palette[t.color].main}}),"&:active":A({},t.variant==="contained"&&{boxShadow:(e.vars||e).shadows[8]}),[`&.${wv.focusVisible}`]:A({},t.variant==="contained"&&{boxShadow:(e.vars||e).shadows[6]}),[`&.${wv.disabled}`]:A({color:(e.vars||e).palette.action.disabled},t.variant==="outlined"&&{border:`1px solid ${(e.vars||e).palette.action.disabledBackground}`},t.variant==="contained"&&{color:(e.vars||e).palette.action.disabled,boxShadow:(e.vars||e).shadows[0],backgroundColor:(e.vars||e).palette.action.disabledBackground})},t.variant==="text"&&{padding:"6px 8px"},t.variant==="text"&&t.color!=="inherit"&&{color:(e.vars||e).palette[t.color].main},t.variant==="outlined"&&{padding:"5px 15px",border:"1px solid currentColor"},t.variant==="outlined"&&t.color!=="inherit"&&{color:(e.vars||e).palette[t.color].main,border:e.vars?`1px solid rgba(${e.vars.palette[t.color].mainChannel} / 0.5)`:`1px solid ${bt(e.palette[t.color].main,.5)}`},t.variant==="contained"&&{color:e.vars?e.vars.palette.text.primary:(n=(r=e.palette).getContrastText)==null?void 0:n.call(r,e.palette.grey[300]),backgroundColor:e.vars?e.vars.palette.Button.inheritContainedBg:a,boxShadow:(e.vars||e).shadows[2]},t.variant==="contained"&&t.color!=="inherit"&&{color:(e.vars||e).palette[t.color].contrastText,backgroundColor:(e.vars||e).palette[t.color].main},t.color==="inherit"&&{color:"inherit",borderColor:"currentColor"},t.size==="small"&&t.variant==="text"&&{padding:"4px 5px",fontSize:e.typography.pxToRem(13)},t.size==="large"&&t.variant==="text"&&{padding:"8px 11px",fontSize:e.typography.pxToRem(15)},t.size==="small"&&t.variant==="outlined"&&{padding:"3px 9px",fontSize:e.typography.pxToRem(13)},t.size==="large"&&t.variant==="outlined"&&{padding:"7px 21px",fontSize:e.typography.pxToRem(15)},t.size==="small"&&t.variant==="contained"&&{padding:"4px 10px",fontSize:e.typography.pxToRem(13)},t.size==="large"&&t.variant==="contained"&&{padding:"8px 22px",fontSize:e.typography.pxToRem(15)},t.fullWidth&&{width:"100%"})},({ownerState:e})=>e.disableElevation&&{boxShadow:"none","&:hover":{boxShadow:"none"},[`&.${wv.focusVisible}`]:{boxShadow:"none"},"&:active":{boxShadow:"none"},[`&.${wv.disabled}`]:{boxShadow:"none"}}),P$e=te("span",{name:"MuiButton",slot:"StartIcon",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.startIcon,t[`iconSize${ve(n.size)}`]]}})(({ownerState:e})=>A({display:"inherit",marginRight:8,marginLeft:-4},e.size==="small"&&{marginLeft:-2},ZW(e))),T$e=te("span",{name:"MuiButton",slot:"EndIcon",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.endIcon,t[`iconSize${ve(n.size)}`]]}})(({ownerState:e})=>A({display:"inherit",marginRight:-4,marginLeft:8},e.size==="small"&&{marginRight:-2},ZW(e))),M$e=v.forwardRef(i(function(t,n){const r=v.useContext(_$e),a=v.useContext($$e),o=qE(r,t),s=Qe({props:o,name:"MuiButton"}),{children:c,color:l="primary",component:u="button",className:d,disabled:f=!1,disableElevation:m=!1,disableFocusRipple:g=!1,endIcon:h,focusVisibleClassName:y,fullWidth:b=!1,size:x="medium",startIcon:w,type:C,variant:j="text"}=s,_=$e(s,E$e),S=A({},s,{color:l,component:u,disabled:f,disableElevation:m,disableFocusRipple:g,fullWidth:b,size:x,type:C,variant:j}),k=R$e(S),$=w&&p.jsx(P$e,{className:k.startIcon,ownerState:S,children:w}),E=h&&p.jsx(T$e,{className:k.endIcon,ownerState:S,children:h}),P=a||"";return p.jsxs(A$e,A({ownerState:S,className:de(r.className,k.root,d,P),component:u,disabled:f,focusRipple:!g,focusVisibleClassName:de(k.focusVisible,y),ref:n,type:C},_,{classes:k,children:[$,c,E]}))},"Button2")),hn=M$e;function O$e(e){return Ge("MuiCard",e)}i(O$e,"getCardUtilityClass");Ye("MuiCard",["root"]);const z$e=["className","raised"],I$e=i(e=>{const{classes:t}=e;return Ke({root:["root"]},O$e,t)},"useUtilityClasses$X"),L$e=te(Wa,{name:"MuiCard",slot:"Root",overridesResolver:(e,t)=>t.root})(()=>({overflow:"hidden"})),D$e=v.forwardRef(i(function(t,n){const r=Qe({props:t,name:"MuiCard"}),{className:a,raised:o=!1}=r,s=$e(r,z$e),c=A({},r,{raised:o}),l=I$e(c);return p.jsx(L$e,A({className:de(l.root,a),elevation:o?8:void 0,ref:n,ownerState:c},s))},"Card2")),Co=D$e;function N$e(e){return Ge("MuiCardActions",e)}i(N$e,"getCardActionsUtilityClass");Ye("MuiCardActions",["root","spacing"]);const F$e=["disableSpacing","className"],B$e=i(e=>{const{classes:t,disableSpacing:n}=e;return Ke({root:["root",!n&&"spacing"]},N$e,t)},"useUtilityClasses$W"),W$e=te("div",{name:"MuiCardActions",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,!n.disableSpacing&&t.spacing]}})(({ownerState:e})=>A({display:"flex",alignItems:"center",padding:8},!e.disableSpacing&&{"& > :not(style) ~ :not(style)":{marginLeft:8}})),U$e=v.forwardRef(i(function(t,n){const r=Qe({props:t,name:"MuiCardActions"}),{disableSpacing:a=!1,className:o}=r,s=$e(r,F$e),c=A({},r,{disableSpacing:a}),l=B$e(c);return p.jsx(W$e,A({className:de(l.root,o),ownerState:c,ref:n},s))},"CardActions2")),H$e=U$e;function q$e(e){return Ge("MuiCardContent",e)}i(q$e,"getCardContentUtilityClass");Ye("MuiCardContent",["root"]);const V$e=["className","component"],G$e=i(e=>{const{classes:t}=e;return Ke({root:["root"]},q$e,t)},"useUtilityClasses$V"),K$e=te("div",{name:"MuiCardContent",slot:"Root",overridesResolver:(e,t)=>t.root})(()=>({padding:16,"&:last-child":{paddingBottom:24}})),J$e=v.forwardRef(i(function(t,n){const r=Qe({props:t,name:"MuiCardContent"}),{className:a,component:o="div"}=r,s=$e(r,V$e),c=A({},r,{component:o}),l=G$e(c);return p.jsx(K$e,A({as:o,className:de(l.root,a),ownerState:c,ref:n},s))},"CardContent2")),Vo=J$e;function Y$e(e){return Ge("PrivateSwitchBase",e)}i(Y$e,"getSwitchBaseUtilityClass");Ye("PrivateSwitchBase",["root","checked","disabled","input","edgeStart","edgeEnd"]);const Q$e=["autoFocus","checked","checkedIcon","className","defaultChecked","disabled","disableFocusRipple","edge","icon","id","inputProps","inputRef","name","onBlur","onChange","onFocus","readOnly","required","tabIndex","type","value"],X$e=i(e=>{const{classes:t,checked:n,disabled:r,edge:a}=e,o={root:["root",n&&"checked",r&&"disabled",a&&`edge${ve(a)}`],input:["input"]};return Ke(o,Y$e,t)},"useUtilityClasses$U"),Z$e=te(Ia)(({ownerState:e})=>A({padding:9,borderRadius:"50%"},e.edge==="start"&&{marginLeft:e.size==="small"?-3:-12},e.edge==="end"&&{marginRight:e.size==="small"?-3:-12})),eEe=te("input",{shouldForwardProp:yr})({cursor:"inherit",position:"absolute",opacity:0,width:"100%",height:"100%",top:0,left:0,margin:0,padding:0,zIndex:1}),tEe=v.forwardRef(i(function(t,n){const{autoFocus:r,checked:a,checkedIcon:o,className:s,defaultChecked:c,disabled:l,disableFocusRipple:u=!1,edge:d=!1,icon:f,id:m,inputProps:g,inputRef:h,name:y,onBlur:b,onChange:x,onFocus:w,readOnly:C,required:j=!1,tabIndex:_,type:S,value:k}=t,$=$e(t,Q$e),[E,P]=ls({controlled:a,default:!!c,name:"SwitchBase",state:"checked"}),R=Bi(),T=i(B=>{w&&w(B),R&&R.onFocus&&R.onFocus(B)},"handleFocus"),M=i(B=>{b&&b(B),R&&R.onBlur&&R.onBlur(B)},"handleBlur"),I=i(B=>{if(B.nativeEvent.defaultPrevented)return;const K=B.target.checked;P(K),x&&x(B,K)},"handleInputChange");let z=l;R&&typeof z>"u"&&(z=R.disabled);const H=S==="checkbox"||S==="radio",F=A({},t,{checked:E,disabled:z,disableFocusRipple:u,edge:d}),L=X$e(F);return p.jsxs(Z$e,A({component:"span",className:de(L.root,s),centerRipple:!0,focusRipple:!u,disabled:z,tabIndex:null,role:void 0,onFocus:T,onBlur:M,ownerState:F,ref:n},$,{children:[p.jsx(eEe,A({autoFocus:r,checked:a,defaultChecked:c,className:L.input,disabled:z,id:H?m:void 0,name:y,onChange:I,readOnly:C,ref:h,required:j,ownerState:F,tabIndex:_,type:S},S==="checkbox"&&k===void 0?{}:{value:k},g)),E?o:f]}))},"SwitchBase2")),eU=tEe,nEe=lr(p.jsx("path",{d:"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z"}),"CheckBoxOutlineBlank"),rEe=lr(p.jsx("path",{d:"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"}),"CheckBox"),aEe=lr(p.jsx("path",{d:"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z"}),"IndeterminateCheckBox");function oEe(e){return Ge("MuiCheckbox",e)}i(oEe,"getCheckboxUtilityClass");const iEe=Ye("MuiCheckbox",["root","checked","disabled","indeterminate","colorPrimary","colorSecondary","sizeSmall","sizeMedium"]),I2=iEe,sEe=["checkedIcon","color","icon","indeterminate","indeterminateIcon","inputProps","size","className"],cEe=i(e=>{const{classes:t,indeterminate:n,color:r,size:a}=e,o={root:["root",n&&"indeterminate",`color${ve(r)}`,`size${ve(a)}`]},s=Ke(o,oEe,t);return A({},t,s)},"useUtilityClasses$T"),lEe=te(eU,{shouldForwardProp:e=>yr(e)||e==="classes",name:"MuiCheckbox",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.indeterminate&&t.indeterminate,t[`size${ve(n.size)}`],n.color!=="default"&&t[`color${ve(n.color)}`]]}})(({theme:e,ownerState:t})=>A({color:(e.vars||e).palette.text.secondary},!t.disableRipple&&{"&:hover":{backgroundColor:e.vars?`rgba(${t.color==="default"?e.vars.palette.action.activeChannel:e.vars.palette[t.color].mainChannel} / ${e.vars.palette.action.hoverOpacity})`:bt(t.color==="default"?e.palette.action.active:e.palette[t.color].main,e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},t.color!=="default"&&{[`&.${I2.checked}, &.${I2.indeterminate}`]:{color:(e.vars||e).palette[t.color].main},[`&.${I2.disabled}`]:{color:(e.vars||e).palette.action.disabled}})),uEe=p.jsx(rEe,{}),dEe=p.jsx(nEe,{}),fEe=p.jsx(aEe,{}),pEe=v.forwardRef(i(function(t,n){var r,a;const o=Qe({props:t,name:"MuiCheckbox"}),{checkedIcon:s=uEe,color:c="primary",icon:l=dEe,indeterminate:u=!1,indeterminateIcon:d=fEe,inputProps:f,size:m="medium",className:g}=o,h=$e(o,sEe),y=u?d:l,b=u?d:s,x=A({},o,{color:c,indeterminate:u,size:m}),w=cEe(x);return p.jsx(lEe,A({type:"checkbox",inputProps:A({"data-indeterminate":u},f),icon:v.cloneElement(y,{fontSize:(r=y.props.fontSize)!=null?r:m}),checkedIcon:v.cloneElement(b,{fontSize:(a=b.props.fontSize)!=null?a:m}),ownerState:x,ref:n,className:de(w.root,g)},h,{classes:w}))},"Checkbox2")),uf=pEe;function mEe(e){return Ge("MuiCircularProgress",e)}i(mEe,"getCircularProgressUtilityClass");Ye("MuiCircularProgress",["root","determinate","indeterminate","colorPrimary","colorSecondary","svg","circle","circleDeterminate","circleIndeterminate","circleDisableShrink"]);const hEe=["className","color","disableShrink","size","style","thickness","value","variant"];let j1=i(e=>e,"_$4"),c5,l5,u5,d5;const Ps=44,gEe=js(c5||(c5=j1` - 0% { - transform: rotate(0deg); - } - - 100% { - transform: rotate(360deg); - } -`)),vEe=js(l5||(l5=j1` - 0% { - stroke-dasharray: 1px, 200px; - stroke-dashoffset: 0; - } - - 50% { - stroke-dasharray: 100px, 200px; - stroke-dashoffset: -15px; - } - - 100% { - stroke-dasharray: 100px, 200px; - stroke-dashoffset: -125px; - } -`)),yEe=i(e=>{const{classes:t,variant:n,color:r,disableShrink:a}=e,o={root:["root",n,`color${ve(r)}`],svg:["svg"],circle:["circle",`circle${ve(n)}`,a&&"circleDisableShrink"]};return Ke(o,mEe,t)},"useUtilityClasses$S"),bEe=te("span",{name:"MuiCircularProgress",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[n.variant],t[`color${ve(n.color)}`]]}})(({ownerState:e,theme:t})=>A({display:"inline-block"},e.variant==="determinate"&&{transition:t.transitions.create("transform")},e.color!=="inherit"&&{color:(t.vars||t).palette[e.color].main}),({ownerState:e})=>e.variant==="indeterminate"&&Kl(u5||(u5=j1` - animation: ${0} 1.4s linear infinite; - `),gEe)),xEe=te("svg",{name:"MuiCircularProgress",slot:"Svg",overridesResolver:(e,t)=>t.svg})({display:"block"}),wEe=te("circle",{name:"MuiCircularProgress",slot:"Circle",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.circle,t[`circle${ve(n.variant)}`],n.disableShrink&&t.circleDisableShrink]}})(({ownerState:e,theme:t})=>A({stroke:"currentColor"},e.variant==="determinate"&&{transition:t.transitions.create("stroke-dashoffset")},e.variant==="indeterminate"&&{strokeDasharray:"80px, 200px",strokeDashoffset:0}),({ownerState:e})=>e.variant==="indeterminate"&&!e.disableShrink&&Kl(d5||(d5=j1` - animation: ${0} 1.4s ease-in-out infinite; - `),vEe)),CEe=v.forwardRef(i(function(t,n){const r=Qe({props:t,name:"MuiCircularProgress"}),{className:a,color:o="primary",disableShrink:s=!1,size:c=40,style:l,thickness:u=3.6,value:d=0,variant:f="indeterminate"}=r,m=$e(r,hEe),g=A({},r,{color:o,disableShrink:s,size:c,thickness:u,value:d,variant:f}),h=yEe(g),y={},b={},x={};if(f==="determinate"){const w=2*Math.PI*((Ps-u)/2);y.strokeDasharray=w.toFixed(3),x["aria-valuenow"]=Math.round(d),y.strokeDashoffset=`${((100-d)/100*w).toFixed(3)}px`,b.transform="rotate(-90deg)"}return p.jsx(bEe,A({className:de(h.root,a),style:A({width:c,height:c},b,l),ownerState:g,ref:n,role:"progressbar"},x,m,{children:p.jsx(xEe,{className:h.svg,ownerState:g,viewBox:`${Ps/2} ${Ps/2} ${Ps} ${Ps}`,children:p.jsx(wEe,{className:h.circle,style:y,ownerState:g,cx:Ps,cy:Ps,r:(Ps-u)/2,fill:"none",strokeWidth:u})})}))},"CircularProgress2")),$g=CEe,SEe=ECe({createStyledComponent:te("div",{name:"MuiContainer",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[`maxWidth${ve(String(n.maxWidth))}`],n.fixed&&t.fixed,n.disableGutters&&t.disableGutters]}}),useThemeProps:e=>Qe({props:e,name:"MuiContainer"})}),jEe=SEe,tU=i((e,t)=>A({WebkitFontSmoothing:"antialiased",MozOsxFontSmoothing:"grayscale",boxSizing:"border-box",WebkitTextSizeAdjust:"100%"},t&&!e.vars&&{colorScheme:e.palette.mode}),"html"),nU=i(e=>A({color:(e.vars||e).palette.text.primary},e.typography.body1,{backgroundColor:(e.vars||e).palette.background.default,"@media print":{backgroundColor:(e.vars||e).palette.common.white}}),"body"),_Ee=i((e,t=!1)=>{var n;const r={};t&&e.colorSchemes&&Object.entries(e.colorSchemes).forEach(([s,c])=>{var l;r[e.getColorSchemeSelector(s).replace(/\s*&/,"")]={colorScheme:(l=c.palette)==null?void 0:l.mode}});let a=A({html:tU(e,t),"*, *::before, *::after":{boxSizing:"inherit"},"strong, b":{fontWeight:e.typography.fontWeightBold},body:A({margin:0},nU(e),{"&::backdrop":{backgroundColor:(e.vars||e).palette.background.default}})},r);const o=(n=e.components)==null||(n=n.MuiCssBaseline)==null?void 0:n.styleOverrides;return o&&(a=[a,o]),a},"styles$2");function kEe(e){const t=Qe({props:e,name:"MuiCssBaseline"}),{children:n,enableColorScheme:r=!1}=t;return p.jsxs(v.Fragment,{children:[p.jsx(JW,{styles:a=>_Ee(a,r)}),n]})}i(kEe,"CssBaseline");function $Ee(e){return Ge("MuiModal",e)}i($Ee,"getModalUtilityClass");Ye("MuiModal",["root","hidden","backdrop"]);const EEe=["BackdropComponent","BackdropProps","classes","className","closeAfterTransition","children","container","component","components","componentsProps","disableAutoFocus","disableEnforceFocus","disableEscapeKeyDown","disablePortal","disableRestoreFocus","disableScrollLock","hideBackdrop","keepMounted","onBackdropClick","onClose","onTransitionEnter","onTransitionExited","open","slotProps","slots","theme"],REe=i(e=>{const{open:t,exited:n,classes:r}=e;return Ke({root:["root",!t&&n&&"hidden"],backdrop:["backdrop"]},$Ee,r)},"useUtilityClasses$R"),AEe=te("div",{name:"MuiModal",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,!n.open&&n.exited&&t.hidden]}})(({theme:e,ownerState:t})=>A({position:"fixed",zIndex:(e.vars||e).zIndex.modal,right:0,bottom:0,top:0,left:0},!t.open&&t.exited&&{visibility:"hidden"})),PEe=te(XW,{name:"MuiModal",slot:"Backdrop",overridesResolver:(e,t)=>t.backdrop})({zIndex:-1}),TEe=v.forwardRef(i(function(t,n){var r,a,o,s,c,l;const u=Qe({name:"MuiModal",props:t}),{BackdropComponent:d=PEe,BackdropProps:f,className:m,closeAfterTransition:g=!1,children:h,container:y,component:b,components:x={},componentsProps:w={},disableAutoFocus:C=!1,disableEnforceFocus:j=!1,disableEscapeKeyDown:_=!1,disablePortal:S=!1,disableRestoreFocus:k=!1,disableScrollLock:$=!1,hideBackdrop:E=!1,keepMounted:P=!1,onBackdropClick:R,open:T,slotProps:M,slots:I}=u,z=$e(u,EEe),H=A({},u,{closeAfterTransition:g,disableAutoFocus:C,disableEnforceFocus:j,disableEscapeKeyDown:_,disablePortal:S,disableRestoreFocus:k,disableScrollLock:$,hideBackdrop:E,keepMounted:P}),{getRootProps:F,getBackdropProps:L,getTransitionProps:B,portalRef:K,isTopModal:se,exited:ue,hasTransition:_e}=T3e(A({},H,{rootRef:n})),le=A({},H,{exited:ue}),V=REe(le),q={};if(h.props.tabIndex===void 0&&(q.tabIndex="-1"),_e){const{onEnter:ne,onExited:ie}=B();q.onEnter=ne,q.onExited=ie}const Y=(r=(a=I==null?void 0:I.root)!=null?a:x.Root)!=null?r:AEe,O=(o=(s=I==null?void 0:I.backdrop)!=null?s:x.Backdrop)!=null?o:d,D=(c=M==null?void 0:M.root)!=null?c:w.root,Z=(l=M==null?void 0:M.backdrop)!=null?l:w.backdrop,J=ho({elementType:Y,externalSlotProps:D,externalForwardedProps:z,getSlotProps:F,additionalProps:{ref:n,as:b},ownerState:le,className:de(m,D==null?void 0:D.className,V==null?void 0:V.root,!le.open&&le.exited&&(V==null?void 0:V.hidden))}),U=ho({elementType:O,externalSlotProps:Z,additionalProps:f,getSlotProps:ne=>L(A({},ne,{onClick:ie=>{R&&R(ie),ne!=null&&ne.onClick&&ne.onClick(ie)}})),className:de(Z==null?void 0:Z.className,f==null?void 0:f.className,V==null?void 0:V.backdrop),ownerState:le});return!P&&!T&&(!_e||ue)?null:p.jsx(OW,{ref:K,container:y,disablePortal:S,children:p.jsxs(Y,A({},J,{children:[!E&&d?p.jsx(O,A({},U)):null,p.jsx(S3e,{disableEnforceFocus:j,disableAutoFocus:C,disableRestoreFocus:k,isEnabled:se,open:T,children:v.cloneElement(h,q)})]}))})},"Modal2")),lR=TEe;function MEe(e){return Ge("MuiDialog",e)}i(MEe,"getDialogUtilityClass");const OEe=Ye("MuiDialog",["root","scrollPaper","scrollBody","container","paper","paperScrollPaper","paperScrollBody","paperWidthFalse","paperWidthXs","paperWidthSm","paperWidthMd","paperWidthLg","paperWidthXl","paperFullWidth","paperFullScreen"]),L2=OEe,zEe=v.createContext({}),rU=zEe,IEe=["aria-describedby","aria-labelledby","BackdropComponent","BackdropProps","children","className","disableEscapeKeyDown","fullScreen","fullWidth","maxWidth","onBackdropClick","onClose","open","PaperComponent","PaperProps","scroll","TransitionComponent","transitionDuration","TransitionProps"],LEe=te(XW,{name:"MuiDialog",slot:"Backdrop",overrides:(e,t)=>t.backdrop})({zIndex:-1}),DEe=i(e=>{const{classes:t,scroll:n,maxWidth:r,fullWidth:a,fullScreen:o}=e,s={root:["root"],container:["container",`scroll${ve(n)}`],paper:["paper",`paperScroll${ve(n)}`,`paperWidth${ve(String(r))}`,a&&"paperFullWidth",o&&"paperFullScreen"]};return Ke(s,MEe,t)},"useUtilityClasses$Q"),NEe=te(lR,{name:"MuiDialog",slot:"Root",overridesResolver:(e,t)=>t.root})({"@media print":{position:"absolute !important"}}),FEe=te("div",{name:"MuiDialog",slot:"Container",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.container,t[`scroll${ve(n.scroll)}`]]}})(({ownerState:e})=>A({height:"100%","@media print":{height:"auto"},outline:0},e.scroll==="paper"&&{display:"flex",justifyContent:"center",alignItems:"center"},e.scroll==="body"&&{overflowY:"auto",overflowX:"hidden",textAlign:"center","&::after":{content:'""',display:"inline-block",verticalAlign:"middle",height:"100%",width:"0"}})),BEe=te(Wa,{name:"MuiDialog",slot:"Paper",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.paper,t[`scrollPaper${ve(n.scroll)}`],t[`paperWidth${ve(String(n.maxWidth))}`],n.fullWidth&&t.paperFullWidth,n.fullScreen&&t.paperFullScreen]}})(({theme:e,ownerState:t})=>A({margin:32,position:"relative",overflowY:"auto","@media print":{overflowY:"visible",boxShadow:"none"}},t.scroll==="paper"&&{display:"flex",flexDirection:"column",maxHeight:"calc(100% - 64px)"},t.scroll==="body"&&{display:"inline-block",verticalAlign:"middle",textAlign:"left"},!t.maxWidth&&{maxWidth:"calc(100% - 64px)"},t.maxWidth==="xs"&&{maxWidth:e.breakpoints.unit==="px"?Math.max(e.breakpoints.values.xs,444):`max(${e.breakpoints.values.xs}${e.breakpoints.unit}, 444px)`,[`&.${L2.paperScrollBody}`]:{[e.breakpoints.down(Math.max(e.breakpoints.values.xs,444)+32*2)]:{maxWidth:"calc(100% - 64px)"}}},t.maxWidth&&t.maxWidth!=="xs"&&{maxWidth:`${e.breakpoints.values[t.maxWidth]}${e.breakpoints.unit}`,[`&.${L2.paperScrollBody}`]:{[e.breakpoints.down(e.breakpoints.values[t.maxWidth]+32*2)]:{maxWidth:"calc(100% - 64px)"}}},t.fullWidth&&{width:"calc(100% - 64px)"},t.fullScreen&&{margin:0,width:"100%",maxWidth:"100%",height:"100%",maxHeight:"none",borderRadius:0,[`&.${L2.paperScrollBody}`]:{margin:0,maxWidth:"100%"}})),WEe=v.forwardRef(i(function(t,n){const r=Qe({props:t,name:"MuiDialog"}),a=qo(),o={enter:a.transitions.duration.enteringScreen,exit:a.transitions.duration.leavingScreen},{"aria-describedby":s,"aria-labelledby":c,BackdropComponent:l,BackdropProps:u,children:d,className:f,disableEscapeKeyDown:m=!1,fullScreen:g=!1,fullWidth:h=!1,maxWidth:y="sm",onBackdropClick:b,onClose:x,open:w,PaperComponent:C=Wa,PaperProps:j={},scroll:_="paper",TransitionComponent:S=QW,transitionDuration:k=o,TransitionProps:$}=r,E=$e(r,IEe),P=A({},r,{disableEscapeKeyDown:m,fullScreen:g,fullWidth:h,maxWidth:y,scroll:_}),R=DEe(P),T=v.useRef(),M=i(F=>{T.current=F.target===F.currentTarget},"handleMouseDown"),I=i(F=>{T.current&&(T.current=null,b&&b(F),x&&x(F,"backdropClick"))},"handleBackdropClick"),z=vc(c),H=v.useMemo(()=>({titleId:z}),[z]);return p.jsx(NEe,A({className:de(R.root,f),closeAfterTransition:!0,components:{Backdrop:LEe},componentsProps:{backdrop:A({transitionDuration:k,as:l},u)},disableEscapeKeyDown:m,onClose:x,open:w,ref:n,onClick:I,ownerState:P},E,{children:p.jsx(S,A({appear:!0,in:w,timeout:k,role:"presentation"},$,{children:p.jsx(FEe,{className:de(R.container),onMouseDown:M,ownerState:P,children:p.jsx(BEe,A({as:C,elevation:24,role:"dialog","aria-describedby":s,"aria-labelledby":z},j,{className:de(R.paper,j.className),ownerState:P,children:p.jsx(rU.Provider,{value:H,children:d})}))})}))}))},"Dialog2")),Eg=WEe;function UEe(e){return Ge("MuiDialogActions",e)}i(UEe,"getDialogActionsUtilityClass");Ye("MuiDialogActions",["root","spacing"]);const HEe=["className","disableSpacing"],qEe=i(e=>{const{classes:t,disableSpacing:n}=e;return Ke({root:["root",!n&&"spacing"]},UEe,t)},"useUtilityClasses$P"),VEe=te("div",{name:"MuiDialogActions",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,!n.disableSpacing&&t.spacing]}})(({ownerState:e})=>A({display:"flex",alignItems:"center",padding:8,justifyContent:"flex-end",flex:"0 0 auto"},!e.disableSpacing&&{"& > :not(style) ~ :not(style)":{marginLeft:8}})),GEe=v.forwardRef(i(function(t,n){const r=Qe({props:t,name:"MuiDialogActions"}),{className:a,disableSpacing:o=!1}=r,s=$e(r,HEe),c=A({},r,{disableSpacing:o}),l=qEe(c);return p.jsx(VEe,A({className:de(l.root,a),ownerState:c,ref:n},s))},"DialogActions2")),Rg=GEe;function KEe(e){return Ge("MuiDialogContent",e)}i(KEe,"getDialogContentUtilityClass");Ye("MuiDialogContent",["root","dividers"]);function JEe(e){return Ge("MuiDialogTitle",e)}i(JEe,"getDialogTitleUtilityClass");const YEe=Ye("MuiDialogTitle",["root"]),QEe=YEe,XEe=["className","dividers"],ZEe=i(e=>{const{classes:t,dividers:n}=e;return Ke({root:["root",n&&"dividers"]},KEe,t)},"useUtilityClasses$O"),eRe=te("div",{name:"MuiDialogContent",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.dividers&&t.dividers]}})(({theme:e,ownerState:t})=>A({flex:"1 1 auto",WebkitOverflowScrolling:"touch",overflowY:"auto",padding:"20px 24px"},t.dividers?{padding:"16px 24px",borderTop:`1px solid ${(e.vars||e).palette.divider}`,borderBottom:`1px solid ${(e.vars||e).palette.divider}`}:{[`.${QEe.root} + &`]:{paddingTop:0}})),tRe=v.forwardRef(i(function(t,n){const r=Qe({props:t,name:"MuiDialogContent"}),{className:a,dividers:o=!1}=r,s=$e(r,XEe),c=A({},r,{dividers:o}),l=ZEe(c);return p.jsx(eRe,A({className:de(l.root,a),ownerState:c,ref:n},s))},"DialogContent2")),Ag=tRe;function nRe(e){return Ge("MuiDialogContentText",e)}i(nRe,"getDialogContentTextUtilityClass");Ye("MuiDialogContentText",["root"]);const rRe=["children","className"],aRe=i(e=>{const{classes:t}=e,r=Ke({root:["root"]},nRe,t);return A({},t,r)},"useUtilityClasses$N"),oRe=te(Ze,{shouldForwardProp:e=>yr(e)||e==="classes",name:"MuiDialogContentText",slot:"Root",overridesResolver:(e,t)=>t.root})({}),iRe=v.forwardRef(i(function(t,n){const r=Qe({props:t,name:"MuiDialogContentText"}),{className:a}=r,o=$e(r,rRe),s=aRe(o);return p.jsx(oRe,A({component:"p",variant:"body1",color:"text.secondary",ref:n,ownerState:o,className:de(s.root,a)},r,{classes:s}))},"DialogContentText2")),aU=iRe,sRe=["className","id"],cRe=i(e=>{const{classes:t}=e;return Ke({root:["root"]},JEe,t)},"useUtilityClasses$M"),lRe=te(Ze,{name:"MuiDialogTitle",slot:"Root",overridesResolver:(e,t)=>t.root})({padding:"16px 24px",flex:"0 0 auto"}),uRe=v.forwardRef(i(function(t,n){const r=Qe({props:t,name:"MuiDialogTitle"}),{className:a,id:o}=r,s=$e(r,sRe),c=r,l=cRe(c),{titleId:u=o}=v.useContext(rU);return p.jsx(lRe,A({component:"h2",className:de(l.root,a),ownerState:c,ref:n,variant:"h6",id:o??u},s))},"DialogTitle2")),Pg=uRe;function dRe(e){return Ge("MuiDivider",e)}i(dRe,"getDividerUtilityClass");const fRe=Ye("MuiDivider",["root","absolute","fullWidth","inset","middle","flexItem","light","vertical","withChildren","withChildrenVertical","textAlignRight","textAlignLeft","wrapper","wrapperVertical"]),f5=fRe,pRe=["absolute","children","className","component","flexItem","light","orientation","role","textAlign","variant"],mRe=i(e=>{const{absolute:t,children:n,classes:r,flexItem:a,light:o,orientation:s,textAlign:c,variant:l}=e;return Ke({root:["root",t&&"absolute",l,o&&"light",s==="vertical"&&"vertical",a&&"flexItem",n&&"withChildren",n&&s==="vertical"&&"withChildrenVertical",c==="right"&&s!=="vertical"&&"textAlignRight",c==="left"&&s!=="vertical"&&"textAlignLeft"],wrapper:["wrapper",s==="vertical"&&"wrapperVertical"]},dRe,r)},"useUtilityClasses$L"),hRe=te("div",{name:"MuiDivider",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.absolute&&t.absolute,t[n.variant],n.light&&t.light,n.orientation==="vertical"&&t.vertical,n.flexItem&&t.flexItem,n.children&&t.withChildren,n.children&&n.orientation==="vertical"&&t.withChildrenVertical,n.textAlign==="right"&&n.orientation!=="vertical"&&t.textAlignRight,n.textAlign==="left"&&n.orientation!=="vertical"&&t.textAlignLeft]}})(({theme:e,ownerState:t})=>A({margin:0,flexShrink:0,borderWidth:0,borderStyle:"solid",borderColor:(e.vars||e).palette.divider,borderBottomWidth:"thin"},t.absolute&&{position:"absolute",bottom:0,left:0,width:"100%"},t.light&&{borderColor:e.vars?`rgba(${e.vars.palette.dividerChannel} / 0.08)`:bt(e.palette.divider,.08)},t.variant==="inset"&&{marginLeft:72},t.variant==="middle"&&t.orientation==="horizontal"&&{marginLeft:e.spacing(2),marginRight:e.spacing(2)},t.variant==="middle"&&t.orientation==="vertical"&&{marginTop:e.spacing(1),marginBottom:e.spacing(1)},t.orientation==="vertical"&&{height:"100%",borderBottomWidth:0,borderRightWidth:"thin"},t.flexItem&&{alignSelf:"stretch",height:"auto"}),({ownerState:e})=>A({},e.children&&{display:"flex",whiteSpace:"nowrap",textAlign:"center",border:0,"&::before, &::after":{content:'""',alignSelf:"center"}}),({theme:e,ownerState:t})=>A({},t.children&&t.orientation!=="vertical"&&{"&::before, &::after":{width:"100%",borderTop:`thin solid ${(e.vars||e).palette.divider}`}}),({theme:e,ownerState:t})=>A({},t.children&&t.orientation==="vertical"&&{flexDirection:"column","&::before, &::after":{height:"100%",borderLeft:`thin solid ${(e.vars||e).palette.divider}`}}),({ownerState:e})=>A({},e.textAlign==="right"&&e.orientation!=="vertical"&&{"&::before":{width:"90%"},"&::after":{width:"10%"}},e.textAlign==="left"&&e.orientation!=="vertical"&&{"&::before":{width:"10%"},"&::after":{width:"90%"}})),gRe=te("span",{name:"MuiDivider",slot:"Wrapper",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.wrapper,n.orientation==="vertical"&&t.wrapperVertical]}})(({theme:e,ownerState:t})=>A({display:"inline-block",paddingLeft:`calc(${e.spacing(1)} * 1.2)`,paddingRight:`calc(${e.spacing(1)} * 1.2)`},t.orientation==="vertical"&&{paddingTop:`calc(${e.spacing(1)} * 1.2)`,paddingBottom:`calc(${e.spacing(1)} * 1.2)`})),oU=v.forwardRef(i(function(t,n){const r=Qe({props:t,name:"MuiDivider"}),{absolute:a=!1,children:o,className:s,component:c=o?"div":"hr",flexItem:l=!1,light:u=!1,orientation:d="horizontal",role:f=c!=="hr"?"separator":void 0,textAlign:m="center",variant:g="fullWidth"}=r,h=$e(r,pRe),y=A({},r,{absolute:a,component:c,flexItem:l,light:u,orientation:d,role:f,textAlign:m,variant:g}),b=mRe(y);return p.jsx(hRe,A({as:c,className:de(b.root,s),role:f,ref:n,ownerState:y},h,{children:o?p.jsx(gRe,{className:b.wrapper,ownerState:y,children:o}):null}))},"Divider2"));oU.muiSkipListHighlight=!0;const Ea=oU,vRe=["addEndListener","appear","children","container","direction","easing","in","onEnter","onEntered","onEntering","onExit","onExited","onExiting","style","timeout","TransitionComponent"];function yRe(e,t,n){const r=t.getBoundingClientRect(),a=n&&n.getBoundingClientRect(),o=po(t);let s;if(t.fakeTransform)s=t.fakeTransform;else{const u=o.getComputedStyle(t);s=u.getPropertyValue("-webkit-transform")||u.getPropertyValue("transform")}let c=0,l=0;if(s&&s!=="none"&&typeof s=="string"){const u=s.split("(")[1].split(")")[0].split(",");c=parseInt(u[4],10),l=parseInt(u[5],10)}return e==="left"?a?`translateX(${a.right+c-r.left}px)`:`translateX(${o.innerWidth+c-r.left}px)`:e==="right"?a?`translateX(-${r.right-a.left-c}px)`:`translateX(-${r.left+r.width-c}px)`:e==="up"?a?`translateY(${a.bottom+l-r.top}px)`:`translateY(${o.innerHeight+l-r.top}px)`:a?`translateY(-${r.top-a.top+r.height-l}px)`:`translateY(-${r.top+r.height-l}px)`}i(yRe,"getTranslateValue");function bRe(e){return typeof e=="function"?e():e}i(bRe,"resolveContainer");function Cv(e,t,n){const r=bRe(n),a=yRe(e,t,r);a&&(t.style.webkitTransform=a,t.style.transform=a)}i(Cv,"setTranslateValue");const xRe=v.forwardRef(i(function(t,n){const r=qo(),a={enter:r.transitions.easing.easeOut,exit:r.transitions.easing.sharp},o={enter:r.transitions.duration.enteringScreen,exit:r.transitions.duration.leavingScreen},{addEndListener:s,appear:c=!0,children:l,container:u,direction:d="down",easing:f=a,in:m,onEnter:g,onEntered:h,onEntering:y,onExit:b,onExited:x,onExiting:w,style:C,timeout:j=o,TransitionComponent:_=QE}=t,S=$e(t,vRe),k=v.useRef(null),$=ln(l.ref,k,n),E=i(L=>B=>{L&&(B===void 0?L(k.current):L(k.current,B))},"normalizedTransitionCallback"),P=E((L,B)=>{Cv(d,L,u),eR(L),g&&g(L,B)}),R=E((L,B)=>{const K=af({timeout:j,style:C,easing:f},{mode:"enter"});L.style.webkitTransition=r.transitions.create("-webkit-transform",A({},K)),L.style.transition=r.transitions.create("transform",A({},K)),L.style.webkitTransform="none",L.style.transform="none",y&&y(L,B)}),T=E(h),M=E(w),I=E(L=>{const B=af({timeout:j,style:C,easing:f},{mode:"exit"});L.style.webkitTransition=r.transitions.create("-webkit-transform",B),L.style.transition=r.transitions.create("transform",B),Cv(d,L,u),b&&b(L)}),z=E(L=>{L.style.webkitTransition="",L.style.transition="",x&&x(L)}),H=i(L=>{s&&s(k.current,L)},"handleAddEndListener"),F=v.useCallback(()=>{k.current&&Cv(d,k.current,u)},[d,u]);return v.useEffect(()=>{if(m||d==="down"||d==="right")return;const L=ep(()=>{k.current&&Cv(d,k.current,u)}),B=po(k.current);return B.addEventListener("resize",L),()=>{L.clear(),B.removeEventListener("resize",L)}},[d,m,u]),v.useEffect(()=>{m||F()},[m,F]),p.jsx(_,A({nodeRef:k,onEnter:P,onEntered:T,onEntering:R,onExit:I,onExited:z,onExiting:M,addEndListener:H,appear:c,in:m,timeout:j},S,{children:(L,B)=>v.cloneElement(l,A({ref:$,style:A({visibility:L==="exited"&&!m?"hidden":void 0},C,l.props.style)},B))}))},"Slide2")),iU=xRe;function wRe(e){return Ge("MuiDrawer",e)}i(wRe,"getDrawerUtilityClass");Ye("MuiDrawer",["root","docked","paper","paperAnchorLeft","paperAnchorRight","paperAnchorTop","paperAnchorBottom","paperAnchorDockedLeft","paperAnchorDockedRight","paperAnchorDockedTop","paperAnchorDockedBottom","modal"]);const CRe=["BackdropProps"],SRe=["anchor","BackdropProps","children","className","elevation","hideBackdrop","ModalProps","onClose","open","PaperProps","SlideProps","TransitionComponent","transitionDuration","variant"],sU=i((e,t)=>{const{ownerState:n}=e;return[t.root,(n.variant==="permanent"||n.variant==="persistent")&&t.docked,t.modal]},"overridesResolver$5"),jRe=i(e=>{const{classes:t,anchor:n,variant:r}=e,a={root:["root"],docked:[(r==="permanent"||r==="persistent")&&"docked"],modal:["modal"],paper:["paper",`paperAnchor${ve(n)}`,r!=="temporary"&&`paperAnchorDocked${ve(n)}`]};return Ke(a,wRe,t)},"useUtilityClasses$K"),_Re=te(lR,{name:"MuiDrawer",slot:"Root",overridesResolver:sU})(({theme:e})=>({zIndex:(e.vars||e).zIndex.drawer})),p5=te("div",{shouldForwardProp:yr,name:"MuiDrawer",slot:"Docked",skipVariantsResolver:!1,overridesResolver:sU})({flex:"0 0 auto"}),kRe=te(Wa,{name:"MuiDrawer",slot:"Paper",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.paper,t[`paperAnchor${ve(n.anchor)}`],n.variant!=="temporary"&&t[`paperAnchorDocked${ve(n.anchor)}`]]}})(({theme:e,ownerState:t})=>A({overflowY:"auto",display:"flex",flexDirection:"column",height:"100%",flex:"1 0 auto",zIndex:(e.vars||e).zIndex.drawer,WebkitOverflowScrolling:"touch",position:"fixed",top:0,outline:0},t.anchor==="left"&&{left:0},t.anchor==="top"&&{top:0,left:0,right:0,height:"auto",maxHeight:"100%"},t.anchor==="right"&&{right:0},t.anchor==="bottom"&&{top:"auto",left:0,bottom:0,right:0,height:"auto",maxHeight:"100%"},t.anchor==="left"&&t.variant!=="temporary"&&{borderRight:`1px solid ${(e.vars||e).palette.divider}`},t.anchor==="top"&&t.variant!=="temporary"&&{borderBottom:`1px solid ${(e.vars||e).palette.divider}`},t.anchor==="right"&&t.variant!=="temporary"&&{borderLeft:`1px solid ${(e.vars||e).palette.divider}`},t.anchor==="bottom"&&t.variant!=="temporary"&&{borderTop:`1px solid ${(e.vars||e).palette.divider}`})),cU={left:"right",right:"left",top:"down",bottom:"up"};function $Re(e){return["left","right"].indexOf(e)!==-1}i($Re,"isHorizontal");function ERe({direction:e},t){return e==="rtl"&&$Re(t)?cU[t]:t}i(ERe,"getAnchor");const RRe=v.forwardRef(i(function(t,n){const r=Qe({props:t,name:"MuiDrawer"}),a=qo(),o=Pc(),s={enter:a.transitions.duration.enteringScreen,exit:a.transitions.duration.leavingScreen},{anchor:c="left",BackdropProps:l,children:u,className:d,elevation:f=16,hideBackdrop:m=!1,ModalProps:{BackdropProps:g}={},onClose:h,open:y=!1,PaperProps:b={},SlideProps:x,TransitionComponent:w=iU,transitionDuration:C=s,variant:j="temporary"}=r,_=$e(r.ModalProps,CRe),S=$e(r,SRe),k=v.useRef(!1);v.useEffect(()=>{k.current=!0},[]);const $=ERe({direction:o?"rtl":"ltr"},c),P=A({},r,{anchor:c,elevation:f,open:y,variant:j},S),R=jRe(P),T=p.jsx(kRe,A({elevation:j==="temporary"?f:0,square:!0},b,{className:de(R.paper,b.className),ownerState:P,children:u}));if(j==="permanent")return p.jsx(p5,A({className:de(R.root,R.docked,d),ownerState:P,ref:n},S,{children:T}));const M=p.jsx(w,A({in:y,direction:cU[$],timeout:C,appear:k.current},x,{children:T}));return j==="persistent"?p.jsx(p5,A({className:de(R.root,R.docked,d),ownerState:P,ref:n},S,{children:M})):p.jsx(_Re,A({BackdropProps:A({},l,g,{transitionDuration:C}),className:de(R.root,R.modal,d),open:y,ownerState:P,onClose:h,hideBackdrop:m,ref:n},S,_,{children:M}))},"Drawer2")),ARe=RRe;function PRe(e){return Ge("MuiFab",e)}i(PRe,"getFabUtilityClass");const TRe=Ye("MuiFab",["root","primary","secondary","extended","circular","focusVisible","disabled","colorInherit","sizeSmall","sizeMedium","sizeLarge","info","error","warning","success"]),m5=TRe,MRe=["children","className","color","component","disabled","disableFocusRipple","focusVisibleClassName","size","variant"],ORe=i(e=>{const{color:t,variant:n,classes:r,size:a}=e,o={root:["root",n,`size${ve(a)}`,t==="inherit"?"colorInherit":t]},s=Ke(o,PRe,r);return A({},r,s)},"useUtilityClasses$J"),zRe=te(Ia,{name:"MuiFab",slot:"Root",shouldForwardProp:e=>yr(e)||e==="classes",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[n.variant],t[`size${ve(n.size)}`],n.color==="inherit"&&t.colorInherit,t[ve(n.size)],t[n.color]]}})(({theme:e,ownerState:t})=>{var n,r;return A({},e.typography.button,{minHeight:36,transition:e.transitions.create(["background-color","box-shadow","border-color"],{duration:e.transitions.duration.short}),borderRadius:"50%",padding:0,minWidth:0,width:56,height:56,zIndex:(e.vars||e).zIndex.fab,boxShadow:(e.vars||e).shadows[6],"&:active":{boxShadow:(e.vars||e).shadows[12]},color:e.vars?e.vars.palette.text.primary:(n=(r=e.palette).getContrastText)==null?void 0:n.call(r,e.palette.grey[300]),backgroundColor:(e.vars||e).palette.grey[300],"&:hover":{backgroundColor:(e.vars||e).palette.grey.A100,"@media (hover: none)":{backgroundColor:(e.vars||e).palette.grey[300]},textDecoration:"none"},[`&.${m5.focusVisible}`]:{boxShadow:(e.vars||e).shadows[6]}},t.size==="small"&&{width:40,height:40},t.size==="medium"&&{width:48,height:48},t.variant==="extended"&&{borderRadius:48/2,padding:"0 16px",width:"auto",minHeight:"auto",minWidth:48,height:48},t.variant==="extended"&&t.size==="small"&&{width:"auto",padding:"0 8px",borderRadius:34/2,minWidth:34,height:34},t.variant==="extended"&&t.size==="medium"&&{width:"auto",padding:"0 16px",borderRadius:40/2,minWidth:40,height:40},t.color==="inherit"&&{color:"inherit"})},({theme:e,ownerState:t})=>A({},t.color!=="inherit"&&t.color!=="default"&&(e.vars||e).palette[t.color]!=null&&{color:(e.vars||e).palette[t.color].contrastText,backgroundColor:(e.vars||e).palette[t.color].main,"&:hover":{backgroundColor:(e.vars||e).palette[t.color].dark,"@media (hover: none)":{backgroundColor:(e.vars||e).palette[t.color].main}}}),({theme:e})=>({[`&.${m5.disabled}`]:{color:(e.vars||e).palette.action.disabled,boxShadow:(e.vars||e).shadows[0],backgroundColor:(e.vars||e).palette.action.disabledBackground}})),IRe=v.forwardRef(i(function(t,n){const r=Qe({props:t,name:"MuiFab"}),{children:a,className:o,color:s="default",component:c="button",disabled:l=!1,disableFocusRipple:u=!1,focusVisibleClassName:d,size:f="large",variant:m="circular"}=r,g=$e(r,MRe),h=A({},r,{color:s,component:c,disabled:l,disableFocusRipple:u,size:f,variant:m}),y=ORe(h);return p.jsx(zRe,A({className:de(y.root,o),component:c,disabled:l,focusRipple:!u,focusVisibleClassName:de(y.focusVisible,d),ownerState:h,ref:n},g,{classes:y,children:a}))},"Fab2")),LRe=IRe,DRe=["disableUnderline","components","componentsProps","fullWidth","hiddenLabel","inputComponent","multiline","slotProps","slots","type"],NRe=i(e=>{const{classes:t,disableUnderline:n}=e,a=Ke({root:["root",!n&&"underline"],input:["input"]},Oke,t);return A({},t,a)},"useUtilityClasses$I"),FRe=te(w1,{shouldForwardProp:e=>yr(e)||e==="classes",name:"MuiFilledInput",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[...b1(e,t),!n.disableUnderline&&t.underline]}})(({theme:e,ownerState:t})=>{var n;const r=e.palette.mode==="light",a=r?"rgba(0, 0, 0, 0.42)":"rgba(255, 255, 255, 0.7)",o=r?"rgba(0, 0, 0, 0.06)":"rgba(255, 255, 255, 0.09)",s=r?"rgba(0, 0, 0, 0.09)":"rgba(255, 255, 255, 0.13)",c=r?"rgba(0, 0, 0, 0.12)":"rgba(255, 255, 255, 0.12)";return A({position:"relative",backgroundColor:e.vars?e.vars.palette.FilledInput.bg:o,borderTopLeftRadius:(e.vars||e).shape.borderRadius,borderTopRightRadius:(e.vars||e).shape.borderRadius,transition:e.transitions.create("background-color",{duration:e.transitions.duration.shorter,easing:e.transitions.easing.easeOut}),"&:hover":{backgroundColor:e.vars?e.vars.palette.FilledInput.hoverBg:s,"@media (hover: none)":{backgroundColor:e.vars?e.vars.palette.FilledInput.bg:o}},[`&.${ja.focused}`]:{backgroundColor:e.vars?e.vars.palette.FilledInput.bg:o},[`&.${ja.disabled}`]:{backgroundColor:e.vars?e.vars.palette.FilledInput.disabledBg:c}},!t.disableUnderline&&{"&::after":{borderBottom:`2px solid ${(n=(e.vars||e).palette[t.color||"primary"])==null?void 0:n.main}`,left:0,bottom:0,content:'""',position:"absolute",right:0,transform:"scaleX(0)",transition:e.transitions.create("transform",{duration:e.transitions.duration.shorter,easing:e.transitions.easing.easeOut}),pointerEvents:"none"},[`&.${ja.focused}:after`]:{transform:"scaleX(1) translateX(0)"},[`&.${ja.error}`]:{"&::before, &::after":{borderBottomColor:(e.vars||e).palette.error.main}},"&::before":{borderBottom:`1px solid ${e.vars?`rgba(${e.vars.palette.common.onBackgroundChannel} / ${e.vars.opacity.inputUnderline})`:a}`,left:0,bottom:0,content:'"\\00a0"',position:"absolute",right:0,transition:e.transitions.create("border-bottom-color",{duration:e.transitions.duration.shorter}),pointerEvents:"none"},[`&:hover:not(.${ja.disabled}, .${ja.error}):before`]:{borderBottom:`1px solid ${(e.vars||e).palette.text.primary}`},[`&.${ja.disabled}:before`]:{borderBottomStyle:"dotted"}},t.startAdornment&&{paddingLeft:12},t.endAdornment&&{paddingRight:12},t.multiline&&A({padding:"25px 12px 8px"},t.size==="small"&&{paddingTop:21,paddingBottom:4},t.hiddenLabel&&{paddingTop:16,paddingBottom:17},t.hiddenLabel&&t.size==="small"&&{paddingTop:8,paddingBottom:9}))}),BRe=te(C1,{name:"MuiFilledInput",slot:"Input",overridesResolver:x1})(({theme:e,ownerState:t})=>A({paddingTop:25,paddingRight:12,paddingBottom:8,paddingLeft:12},!e.vars&&{"&:-webkit-autofill":{WebkitBoxShadow:e.palette.mode==="light"?null:"0 0 0 100px #266798 inset",WebkitTextFillColor:e.palette.mode==="light"?null:"#fff",caretColor:e.palette.mode==="light"?null:"#fff",borderTopLeftRadius:"inherit",borderTopRightRadius:"inherit"}},e.vars&&{"&:-webkit-autofill":{borderTopLeftRadius:"inherit",borderTopRightRadius:"inherit"},[e.getColorSchemeSelector("dark")]:{"&:-webkit-autofill":{WebkitBoxShadow:"0 0 0 100px #266798 inset",WebkitTextFillColor:"#fff",caretColor:"#fff"}}},t.size==="small"&&{paddingTop:21,paddingBottom:4},t.hiddenLabel&&{paddingTop:16,paddingBottom:17},t.startAdornment&&{paddingLeft:0},t.endAdornment&&{paddingRight:0},t.hiddenLabel&&t.size==="small"&&{paddingTop:8,paddingBottom:9},t.multiline&&{paddingTop:0,paddingBottom:0,paddingLeft:0,paddingRight:0})),lU=v.forwardRef(i(function(t,n){var r,a,o,s;const c=Qe({props:t,name:"MuiFilledInput"}),{components:l={},componentsProps:u,fullWidth:d=!1,inputComponent:f="input",multiline:m=!1,slotProps:g,slots:h={},type:y="text"}=c,b=$e(c,DRe),x=A({},c,{fullWidth:d,inputComponent:f,multiline:m,type:y}),w=NRe(c),C={root:{ownerState:x},input:{ownerState:x}},j=g??u?kr(C,g??u):C,_=(r=(a=h.root)!=null?a:l.Root)!=null?r:FRe,S=(o=(s=h.input)!=null?s:l.Input)!=null?o:BRe;return p.jsx(S1,A({slots:{root:_,input:S},componentsProps:j,fullWidth:d,inputComponent:f,multiline:m,ref:n,type:y},b,{classes:w}))},"FilledInput2"));lU.muiName="Input";const uR=lU;function WRe(e){return Ge("MuiFormControl",e)}i(WRe,"getFormControlUtilityClasses");Ye("MuiFormControl",["root","marginNone","marginNormal","marginDense","fullWidth","disabled"]);const URe=["children","className","color","component","disabled","error","focused","fullWidth","hiddenLabel","margin","required","size","variant"],HRe=i(e=>{const{classes:t,margin:n,fullWidth:r}=e,a={root:["root",n!=="none"&&`margin${ve(n)}`,r&&"fullWidth"]};return Ke(a,WRe,t)},"useUtilityClasses$H"),qRe=te("div",{name:"MuiFormControl",slot:"Root",overridesResolver:({ownerState:e},t)=>A({},t.root,t[`margin${ve(e.margin)}`],e.fullWidth&&t.fullWidth)})(({ownerState:e})=>A({display:"inline-flex",flexDirection:"column",position:"relative",minWidth:0,padding:0,margin:0,border:0,verticalAlign:"top"},e.margin==="normal"&&{marginTop:16,marginBottom:8},e.margin==="dense"&&{marginTop:8,marginBottom:4},e.fullWidth&&{width:"100%"})),VRe=v.forwardRef(i(function(t,n){const r=Qe({props:t,name:"MuiFormControl"}),{children:a,className:o,color:s="primary",component:c="div",disabled:l=!1,error:u=!1,focused:d,fullWidth:f=!1,hiddenLabel:m=!1,margin:g="none",required:h=!1,size:y="medium",variant:b="outlined"}=r,x=$e(r,URe),w=A({},r,{color:s,component:c,disabled:l,error:u,fullWidth:f,hiddenLabel:m,margin:g,required:h,size:y,variant:b}),C=HRe(w),[j,_]=v.useState(()=>{let M=!1;return a&&v.Children.forEach(a,I=>{if(!fm(I,["Input","Select"]))return;const z=fm(I,["Select"])?I.props.input:I;z&&jke(z.props)&&(M=!0)}),M}),[S,k]=v.useState(()=>{let M=!1;return a&&v.Children.forEach(a,I=>{fm(I,["Input","Select"])&&(Ib(I.props,!0)||Ib(I.props.inputProps,!0))&&(M=!0)}),M}),[$,E]=v.useState(!1);l&&$&&E(!1);const P=d!==void 0&&!l?d:$;let R;const T=v.useMemo(()=>({adornedStart:j,setAdornedStart:_,color:s,disabled:l,error:u,filled:S,focused:P,fullWidth:f,hiddenLabel:m,size:y,onBlur:()=>{E(!1)},onEmpty:()=>{k(!1)},onFilled:()=>{k(!0)},onFocus:()=>{E(!0)},registerEffect:R,required:h,variant:b}),[j,s,l,u,S,P,f,m,R,h,y,b]);return p.jsx(y1.Provider,{value:T,children:p.jsx(qRe,A({as:c,ownerState:w,className:de(C.root,o),ref:n},x,{children:a}))})},"FormControl2")),GRe=VRe,KRe=ICe({createStyledComponent:te("div",{name:"MuiStack",slot:"Root",overridesResolver:(e,t)=>t.root}),useThemeProps:e=>Qe({props:e,name:"MuiStack"})}),Ra=KRe;function JRe(e){return Ge("MuiFormControlLabel",e)}i(JRe,"getFormControlLabelUtilityClasses");const YRe=Ye("MuiFormControlLabel",["root","labelPlacementStart","labelPlacementTop","labelPlacementBottom","disabled","label","error","required","asterisk"]),Qp=YRe,QRe=["checked","className","componentsProps","control","disabled","disableTypography","inputRef","label","labelPlacement","name","onChange","required","slotProps","value"],XRe=i(e=>{const{classes:t,disabled:n,labelPlacement:r,error:a,required:o}=e,s={root:["root",n&&"disabled",`labelPlacement${ve(r)}`,a&&"error",o&&"required"],label:["label",n&&"disabled"],asterisk:["asterisk",a&&"error"]};return Ke(s,JRe,t)},"useUtilityClasses$G"),ZRe=te("label",{name:"MuiFormControlLabel",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[{[`& .${Qp.label}`]:t.label},t.root,t[`labelPlacement${ve(n.labelPlacement)}`]]}})(({theme:e,ownerState:t})=>A({display:"inline-flex",alignItems:"center",cursor:"pointer",verticalAlign:"middle",WebkitTapHighlightColor:"transparent",marginLeft:-11,marginRight:16,[`&.${Qp.disabled}`]:{cursor:"default"}},t.labelPlacement==="start"&&{flexDirection:"row-reverse",marginLeft:16,marginRight:-11},t.labelPlacement==="top"&&{flexDirection:"column-reverse",marginLeft:16},t.labelPlacement==="bottom"&&{flexDirection:"column",marginLeft:16},{[`& .${Qp.label}`]:{[`&.${Qp.disabled}`]:{color:(e.vars||e).palette.text.disabled}}})),e8e=te("span",{name:"MuiFormControlLabel",slot:"Asterisk",overridesResolver:(e,t)=>t.asterisk})(({theme:e})=>({[`&.${Qp.error}`]:{color:(e.vars||e).palette.error.main}})),t8e=v.forwardRef(i(function(t,n){var r,a;const o=Qe({props:t,name:"MuiFormControlLabel"}),{className:s,componentsProps:c={},control:l,disabled:u,disableTypography:d,label:f,labelPlacement:m="end",required:g,slotProps:h={}}=o,y=$e(o,QRe),b=Bi(),x=(r=u??l.props.disabled)!=null?r:b==null?void 0:b.disabled,w=g??l.props.required,C={disabled:x,required:w};["checked","name","onChange","value","inputRef"].forEach(E=>{typeof l.props[E]>"u"&&typeof o[E]<"u"&&(C[E]=o[E])});const j=Mc({props:o,muiFormControl:b,states:["error"]}),_=A({},o,{disabled:x,labelPlacement:m,required:w,error:j.error}),S=XRe(_),k=(a=h.typography)!=null?a:c.typography;let $=f;return $!=null&&$.type!==Ze&&!d&&($=p.jsx(Ze,A({component:"span"},k,{className:de(S.label,k==null?void 0:k.className),children:$}))),p.jsxs(ZRe,A({className:de(S.root,s),ownerState:_,ref:n},y,{children:[v.cloneElement(l,C),w?p.jsxs(Ra,{display:"block",children:[$,p.jsxs(e8e,{ownerState:_,"aria-hidden":!0,className:S.asterisk,children:[" ","*"]})]}):$]}))},"FormControlLabel2")),n8e=t8e;function r8e(e){return Ge("MuiFormGroup",e)}i(r8e,"getFormGroupUtilityClass");Ye("MuiFormGroup",["root","row","error"]);const a8e=["className","row"],o8e=i(e=>{const{classes:t,row:n,error:r}=e;return Ke({root:["root",n&&"row",r&&"error"]},r8e,t)},"useUtilityClasses$F"),i8e=te("div",{name:"MuiFormGroup",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.row&&t.row]}})(({ownerState:e})=>A({display:"flex",flexDirection:"column",flexWrap:"wrap"},e.row&&{flexDirection:"row"})),s8e=v.forwardRef(i(function(t,n){const r=Qe({props:t,name:"MuiFormGroup"}),{className:a,row:o=!1}=r,s=$e(r,a8e),c=Bi(),l=Mc({props:r,muiFormControl:c,states:["error"]}),u=A({},r,{row:o,error:l.error}),d=o8e(u);return p.jsx(i8e,A({className:de(d.root,a),ownerState:u,ref:n},s))},"FormGroup2")),c8e=s8e;function l8e(e){return Ge("MuiFormHelperText",e)}i(l8e,"getFormHelperTextUtilityClasses");const u8e=Ye("MuiFormHelperText",["root","error","disabled","sizeSmall","sizeMedium","contained","focused","filled","required"]),h5=u8e;var g5;const d8e=["children","className","component","disabled","error","filled","focused","margin","required","variant"],f8e=i(e=>{const{classes:t,contained:n,size:r,disabled:a,error:o,filled:s,focused:c,required:l}=e,u={root:["root",a&&"disabled",o&&"error",r&&`size${ve(r)}`,n&&"contained",c&&"focused",s&&"filled",l&&"required"]};return Ke(u,l8e,t)},"useUtilityClasses$E"),p8e=te("p",{name:"MuiFormHelperText",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.size&&t[`size${ve(n.size)}`],n.contained&&t.contained,n.filled&&t.filled]}})(({theme:e,ownerState:t})=>A({color:(e.vars||e).palette.text.secondary},e.typography.caption,{textAlign:"left",marginTop:3,marginRight:0,marginBottom:0,marginLeft:0,[`&.${h5.disabled}`]:{color:(e.vars||e).palette.text.disabled},[`&.${h5.error}`]:{color:(e.vars||e).palette.error.main}},t.size==="small"&&{marginTop:4},t.contained&&{marginLeft:14,marginRight:14})),m8e=v.forwardRef(i(function(t,n){const r=Qe({props:t,name:"MuiFormHelperText"}),{children:a,className:o,component:s="p"}=r,c=$e(r,d8e),l=Bi(),u=Mc({props:r,muiFormControl:l,states:["variant","size","disabled","error","filled","focused","required"]}),d=A({},r,{component:s,contained:u.variant==="filled"||u.variant==="outlined",variant:u.variant,size:u.size,disabled:u.disabled,error:u.error,filled:u.filled,focused:u.focused,required:u.required}),f=f8e(d);return p.jsx(p8e,A({as:s,ownerState:d,className:de(f.root,o),ref:n},c,{children:a===" "?g5||(g5=p.jsx("span",{className:"notranslate",children:"​"})):a}))},"FormHelperText2")),uU=m8e;function h8e(e){return Ge("MuiFormLabel",e)}i(h8e,"getFormLabelUtilityClasses");const g8e=Ye("MuiFormLabel",["root","colorSecondary","focused","disabled","error","filled","required","asterisk"]),gm=g8e,v8e=["children","className","color","component","disabled","error","filled","focused","required"],y8e=i(e=>{const{classes:t,color:n,focused:r,disabled:a,error:o,filled:s,required:c}=e,l={root:["root",`color${ve(n)}`,a&&"disabled",o&&"error",s&&"filled",r&&"focused",c&&"required"],asterisk:["asterisk",o&&"error"]};return Ke(l,h8e,t)},"useUtilityClasses$D"),b8e=te("label",{name:"MuiFormLabel",slot:"Root",overridesResolver:({ownerState:e},t)=>A({},t.root,e.color==="secondary"&&t.colorSecondary,e.filled&&t.filled)})(({theme:e,ownerState:t})=>A({color:(e.vars||e).palette.text.secondary},e.typography.body1,{lineHeight:"1.4375em",padding:0,position:"relative",[`&.${gm.focused}`]:{color:(e.vars||e).palette[t.color].main},[`&.${gm.disabled}`]:{color:(e.vars||e).palette.text.disabled},[`&.${gm.error}`]:{color:(e.vars||e).palette.error.main}})),x8e=te("span",{name:"MuiFormLabel",slot:"Asterisk",overridesResolver:(e,t)=>t.asterisk})(({theme:e})=>({[`&.${gm.error}`]:{color:(e.vars||e).palette.error.main}})),w8e=v.forwardRef(i(function(t,n){const r=Qe({props:t,name:"MuiFormLabel"}),{children:a,className:o,component:s="label"}=r,c=$e(r,v8e),l=Bi(),u=Mc({props:r,muiFormControl:l,states:["color","required","focused","disabled","error","filled"]}),d=A({},r,{color:u.color||"primary",component:s,disabled:u.disabled,error:u.error,filled:u.filled,focused:u.focused,required:u.required}),f=y8e(d);return p.jsxs(b8e,A({as:s,ownerState:d,className:de(f.root,o),ref:n},c,{children:[a,u.required&&p.jsxs(x8e,{ownerState:d,"aria-hidden":!0,className:f.asterisk,children:[" ","*"]})]}))},"FormLabel2")),C8e=w8e,S8e=v.createContext(),v5=S8e;function j8e(e){return Ge("MuiGrid",e)}i(j8e,"getGridUtilityClass");const _8e=[0,1,2,3,4,5,6,7,8,9,10],k8e=["column-reverse","column","row-reverse","row"],$8e=["nowrap","wrap-reverse","wrap"],Pp=["auto",!0,1,2,3,4,5,6,7,8,9,10,11,12],lh=Ye("MuiGrid",["root","container","item","zeroMinWidth",..._8e.map(e=>`spacing-xs-${e}`),...k8e.map(e=>`direction-xs-${e}`),...$8e.map(e=>`wrap-xs-${e}`),...Pp.map(e=>`grid-xs-${e}`),...Pp.map(e=>`grid-sm-${e}`),...Pp.map(e=>`grid-md-${e}`),...Pp.map(e=>`grid-lg-${e}`),...Pp.map(e=>`grid-xl-${e}`)]),E8e=["className","columns","columnSpacing","component","container","direction","item","rowSpacing","spacing","wrap","zeroMinWidth"];function sd(e){const t=parseFloat(e);return`${t}${String(e).replace(String(t),"")||"px"}`}i(sd,"getOffset");function R8e({theme:e,ownerState:t}){let n;return e.breakpoints.keys.reduce((r,a)=>{let o={};if(t[a]&&(n=t[a]),!n)return r;if(n===!0)o={flexBasis:0,flexGrow:1,maxWidth:"100%"};else if(n==="auto")o={flexBasis:"auto",flexGrow:0,flexShrink:0,maxWidth:"none",width:"auto"};else{const s=vl({values:t.columns,breakpoints:e.breakpoints.values}),c=typeof s=="object"?s[a]:s;if(c==null)return r;const l=`${Math.round(n/c*1e8)/1e6}%`;let u={};if(t.container&&t.item&&t.columnSpacing!==0){const d=e.spacing(t.columnSpacing);if(d!=="0px"){const f=`calc(${l} + ${sd(d)})`;u={flexBasis:f,maxWidth:f}}}o=A({flexBasis:l,flexGrow:0,maxWidth:l},u)}return e.breakpoints.values[a]===0?Object.assign(r,o):r[e.breakpoints.up(a)]=o,r},{})}i(R8e,"generateGrid");function A8e({theme:e,ownerState:t}){const n=vl({values:t.direction,breakpoints:e.breakpoints.values});return ba({theme:e},n,r=>{const a={flexDirection:r};return r.indexOf("column")===0&&(a[`& > .${lh.item}`]={maxWidth:"none"}),a})}i(A8e,"generateDirection");function dU({breakpoints:e,values:t}){let n="";Object.keys(t).forEach(a=>{n===""&&t[a]!==0&&(n=a)});const r=Object.keys(e).sort((a,o)=>e[a]-e[o]);return r.slice(0,r.indexOf(n))}i(dU,"extractZeroValueBreakpointKeys");function P8e({theme:e,ownerState:t}){const{container:n,rowSpacing:r}=t;let a={};if(n&&r!==0){const o=vl({values:r,breakpoints:e.breakpoints.values});let s;typeof o=="object"&&(s=dU({breakpoints:e.breakpoints.values,values:o})),a=ba({theme:e},o,(c,l)=>{var u;const d=e.spacing(c);return d!=="0px"?{marginTop:`-${sd(d)}`,[`& > .${lh.item}`]:{paddingTop:sd(d)}}:(u=s)!=null&&u.includes(l)?{}:{marginTop:0,[`& > .${lh.item}`]:{paddingTop:0}}})}return a}i(P8e,"generateRowGap");function T8e({theme:e,ownerState:t}){const{container:n,columnSpacing:r}=t;let a={};if(n&&r!==0){const o=vl({values:r,breakpoints:e.breakpoints.values});let s;typeof o=="object"&&(s=dU({breakpoints:e.breakpoints.values,values:o})),a=ba({theme:e},o,(c,l)=>{var u;const d=e.spacing(c);return d!=="0px"?{width:`calc(100% + ${sd(d)})`,marginLeft:`-${sd(d)}`,[`& > .${lh.item}`]:{paddingLeft:sd(d)}}:(u=s)!=null&&u.includes(l)?{}:{width:"100%",marginLeft:0,[`& > .${lh.item}`]:{paddingLeft:0}}})}return a}i(T8e,"generateColumnGap");function M8e(e,t,n={}){if(!e||e<=0)return[];if(typeof e=="string"&&!Number.isNaN(Number(e))||typeof e=="number")return[n[`spacing-xs-${String(e)}`]];const r=[];return t.forEach(a=>{const o=e[a];Number(o)>0&&r.push(n[`spacing-${a}-${String(o)}`])}),r}i(M8e,"resolveSpacingStyles");const O8e=te("div",{name:"MuiGrid",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e,{container:r,direction:a,item:o,spacing:s,wrap:c,zeroMinWidth:l,breakpoints:u}=n;let d=[];r&&(d=M8e(s,u,t));const f=[];return u.forEach(m=>{const g=n[m];g&&f.push(t[`grid-${m}-${String(g)}`])}),[t.root,r&&t.container,o&&t.item,l&&t.zeroMinWidth,...d,a!=="row"&&t[`direction-xs-${String(a)}`],c!=="wrap"&&t[`wrap-xs-${String(c)}`],...f]}})(({ownerState:e})=>A({boxSizing:"border-box"},e.container&&{display:"flex",flexWrap:"wrap",width:"100%"},e.item&&{margin:0},e.zeroMinWidth&&{minWidth:0},e.wrap!=="wrap"&&{flexWrap:e.wrap}),A8e,P8e,T8e,R8e);function z8e(e,t){if(!e||e<=0)return[];if(typeof e=="string"&&!Number.isNaN(Number(e))||typeof e=="number")return[`spacing-xs-${String(e)}`];const n=[];return t.forEach(r=>{const a=e[r];if(Number(a)>0){const o=`spacing-${r}-${String(a)}`;n.push(o)}}),n}i(z8e,"resolveSpacingClasses");const I8e=i(e=>{const{classes:t,container:n,direction:r,item:a,spacing:o,wrap:s,zeroMinWidth:c,breakpoints:l}=e;let u=[];n&&(u=z8e(o,l));const d=[];l.forEach(m=>{const g=e[m];g&&d.push(`grid-${m}-${String(g)}`)});const f={root:["root",n&&"container",a&&"item",c&&"zeroMinWidth",...u,r!=="row"&&`direction-xs-${String(r)}`,s!=="wrap"&&`wrap-xs-${String(s)}`,...d]};return Ke(f,j8e,t)},"useUtilityClasses$C"),L8e=v.forwardRef(i(function(t,n){const r=Qe({props:t,name:"MuiGrid"}),{breakpoints:a}=qo(),o=Sg(r),{className:s,columns:c,columnSpacing:l,component:u="div",container:d=!1,direction:f="row",item:m=!1,rowSpacing:g,spacing:h=0,wrap:y="wrap",zeroMinWidth:b=!1}=o,x=$e(o,E8e),w=g||h,C=l||h,j=v.useContext(v5),_=d?c||12:j,S={},k=A({},x);a.keys.forEach(P=>{x[P]!=null&&(S[P]=x[P],delete k[P])});const $=A({},o,{columns:_,container:d,direction:f,item:m,rowSpacing:w,columnSpacing:C,wrap:y,zeroMinWidth:b,spacing:h},S,{breakpoints:a.keys}),E=I8e($);return p.jsx(v5.Provider,{value:_,children:p.jsx(O8e,A({ownerState:$,className:de(E.root,s),as:u,ref:n},k))})},"Grid2")),ui=L8e,D8e=["addEndListener","appear","children","easing","in","onEnter","onEntered","onEntering","onExit","onExited","onExiting","style","timeout","TransitionComponent"];function r_(e){return`scale(${e}, ${e**2})`}i(r_,"getScale");const N8e={entering:{opacity:1,transform:r_(1)},entered:{opacity:1,transform:"none"}},D2=typeof navigator<"u"&&/^((?!chrome|android).)*(safari|mobile)/i.test(navigator.userAgent)&&/(os |version\/)15(.|_)4/i.test(navigator.userAgent),fU=v.forwardRef(i(function(t,n){const{addEndListener:r,appear:a=!0,children:o,easing:s,in:c,onEnter:l,onEntered:u,onEntering:d,onExit:f,onExited:m,onExiting:g,style:h,timeout:y="auto",TransitionComponent:b=QE}=t,x=$e(t,D8e),w=Yc(),C=v.useRef(),j=qo(),_=v.useRef(null),S=ln(_,o.ref,n),k=i(z=>H=>{if(z){const F=_.current;H===void 0?z(F):z(F,H)}},"normalizedTransitionCallback"),$=k(d),E=k((z,H)=>{eR(z);const{duration:F,delay:L,easing:B}=af({style:h,timeout:y,easing:s},{mode:"enter"});let K;y==="auto"?(K=j.transitions.getAutoHeightDuration(z.clientHeight),C.current=K):K=F,z.style.transition=[j.transitions.create("opacity",{duration:K,delay:L}),j.transitions.create("transform",{duration:D2?K:K*.666,delay:L,easing:B})].join(","),l&&l(z,H)}),P=k(u),R=k(g),T=k(z=>{const{duration:H,delay:F,easing:L}=af({style:h,timeout:y,easing:s},{mode:"exit"});let B;y==="auto"?(B=j.transitions.getAutoHeightDuration(z.clientHeight),C.current=B):B=H,z.style.transition=[j.transitions.create("opacity",{duration:B,delay:F}),j.transitions.create("transform",{duration:D2?B:B*.666,delay:D2?F:F||B*.333,easing:L})].join(","),z.style.opacity=0,z.style.transform=r_(.75),f&&f(z)}),M=k(m),I=i(z=>{y==="auto"&&w.start(C.current||0,z),r&&r(_.current,z)},"handleAddEndListener");return p.jsx(b,A({appear:a,in:c,nodeRef:_,onEnter:E,onEntered:P,onEntering:$,onExit:T,onExited:M,onExiting:R,addEndListener:I,timeout:y==="auto"?null:y},x,{children:(z,H)=>v.cloneElement(o,A({style:A({opacity:0,transform:r_(.75),visibility:z==="exited"&&!c?"hidden":void 0},N8e[z],h,o.props.style),ref:S},H))}))},"Grow2"));fU.muiSupportAuto=!0;const Lb=fU,F8e=["disableUnderline","components","componentsProps","fullWidth","inputComponent","multiline","slotProps","slots","type"],B8e=i(e=>{const{classes:t,disableUnderline:n}=e,a=Ke({root:["root",!n&&"underline"],input:["input"]},Pke,t);return A({},t,a)},"useUtilityClasses$B"),W8e=te(w1,{shouldForwardProp:e=>yr(e)||e==="classes",name:"MuiInput",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[...b1(e,t),!n.disableUnderline&&t.underline]}})(({theme:e,ownerState:t})=>{let r=e.palette.mode==="light"?"rgba(0, 0, 0, 0.42)":"rgba(255, 255, 255, 0.7)";return e.vars&&(r=`rgba(${e.vars.palette.common.onBackgroundChannel} / ${e.vars.opacity.inputUnderline})`),A({position:"relative"},t.formControl&&{"label + &":{marginTop:16}},!t.disableUnderline&&{"&::after":{borderBottom:`2px solid ${(e.vars||e).palette[t.color].main}`,left:0,bottom:0,content:'""',position:"absolute",right:0,transform:"scaleX(0)",transition:e.transitions.create("transform",{duration:e.transitions.duration.shorter,easing:e.transitions.easing.easeOut}),pointerEvents:"none"},[`&.${Ns.focused}:after`]:{transform:"scaleX(1) translateX(0)"},[`&.${Ns.error}`]:{"&::before, &::after":{borderBottomColor:(e.vars||e).palette.error.main}},"&::before":{borderBottom:`1px solid ${r}`,left:0,bottom:0,content:'"\\00a0"',position:"absolute",right:0,transition:e.transitions.create("border-bottom-color",{duration:e.transitions.duration.shorter}),pointerEvents:"none"},[`&:hover:not(.${Ns.disabled}, .${Ns.error}):before`]:{borderBottom:`2px solid ${(e.vars||e).palette.text.primary}`,"@media (hover: none)":{borderBottom:`1px solid ${r}`}},[`&.${Ns.disabled}:before`]:{borderBottomStyle:"dotted"}})}),U8e=te(C1,{name:"MuiInput",slot:"Input",overridesResolver:x1})({}),pU=v.forwardRef(i(function(t,n){var r,a,o,s;const c=Qe({props:t,name:"MuiInput"}),{disableUnderline:l,components:u={},componentsProps:d,fullWidth:f=!1,inputComponent:m="input",multiline:g=!1,slotProps:h,slots:y={},type:b="text"}=c,x=$e(c,F8e),w=B8e(c),j={root:{ownerState:{disableUnderline:l}}},_=h??d?kr(h??d,j):j,S=(r=(a=y.root)!=null?a:u.Root)!=null?r:W8e,k=(o=(s=y.input)!=null?s:u.Input)!=null?o:U8e;return p.jsx(S1,A({slots:{root:S,input:k},slotProps:_,fullWidth:f,inputComponent:m,multiline:g,ref:n,type:b},x,{classes:w}))},"Input2"));pU.muiName="Input";const mU=pU;function H8e(e){return Ge("MuiInputAdornment",e)}i(H8e,"getInputAdornmentUtilityClass");const q8e=Ye("MuiInputAdornment",["root","filled","standard","outlined","positionStart","positionEnd","disablePointerEvents","hiddenLabel","sizeSmall"]),y5=q8e;var b5;const V8e=["children","className","component","disablePointerEvents","disableTypography","position","variant"],G8e=i((e,t)=>{const{ownerState:n}=e;return[t.root,t[`position${ve(n.position)}`],n.disablePointerEvents===!0&&t.disablePointerEvents,t[n.variant]]},"overridesResolver$4"),K8e=i(e=>{const{classes:t,disablePointerEvents:n,hiddenLabel:r,position:a,size:o,variant:s}=e,c={root:["root",n&&"disablePointerEvents",a&&`position${ve(a)}`,s,r&&"hiddenLabel",o&&`size${ve(o)}`]};return Ke(c,H8e,t)},"useUtilityClasses$A"),J8e=te("div",{name:"MuiInputAdornment",slot:"Root",overridesResolver:G8e})(({theme:e,ownerState:t})=>A({display:"flex",height:"0.01em",maxHeight:"2em",alignItems:"center",whiteSpace:"nowrap",color:(e.vars||e).palette.action.active},t.variant==="filled"&&{[`&.${y5.positionStart}&:not(.${y5.hiddenLabel})`]:{marginTop:16}},t.position==="start"&&{marginRight:8},t.position==="end"&&{marginLeft:8},t.disablePointerEvents===!0&&{pointerEvents:"none"})),Y8e=v.forwardRef(i(function(t,n){const r=Qe({props:t,name:"MuiInputAdornment"}),{children:a,className:o,component:s="div",disablePointerEvents:c=!1,disableTypography:l=!1,position:u,variant:d}=r,f=$e(r,V8e),m=Bi()||{};let g=d;d&&m.variant,m&&!g&&(g=m.variant);const h=A({},r,{hiddenLabel:m.hiddenLabel,size:m.size,disablePointerEvents:c,position:u,variant:g}),y=K8e(h);return p.jsx(y1.Provider,{value:null,children:p.jsx(J8e,A({as:s,ownerState:h,className:de(y.root,o),ref:n},f,{children:typeof a=="string"&&!l?p.jsx(Ze,{color:"text.secondary",children:a}):p.jsxs(v.Fragment,{children:[u==="start"?b5||(b5=p.jsx("span",{className:"notranslate",children:"​"})):null,a]})}))})},"InputAdornment2")),vm=Y8e;function Q8e(e){return Ge("MuiInputLabel",e)}i(Q8e,"getInputLabelUtilityClasses");Ye("MuiInputLabel",["root","focused","disabled","error","required","asterisk","formControl","sizeSmall","shrink","animated","standard","filled","outlined"]);const X8e=["disableAnimation","margin","shrink","variant","className"],Z8e=i(e=>{const{classes:t,formControl:n,size:r,shrink:a,disableAnimation:o,variant:s,required:c}=e,l={root:["root",n&&"formControl",!o&&"animated",a&&"shrink",r&&r!=="normal"&&`size${ve(r)}`,s],asterisk:[c&&"asterisk"]},u=Ke(l,Q8e,t);return A({},t,u)},"useUtilityClasses$z"),eAe=te(C8e,{shouldForwardProp:e=>yr(e)||e==="classes",name:"MuiInputLabel",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[{[`& .${gm.asterisk}`]:t.asterisk},t.root,n.formControl&&t.formControl,n.size==="small"&&t.sizeSmall,n.shrink&&t.shrink,!n.disableAnimation&&t.animated,n.focused&&t.focused,t[n.variant]]}})(({theme:e,ownerState:t})=>A({display:"block",transformOrigin:"top left",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:"100%"},t.formControl&&{position:"absolute",left:0,top:0,transform:"translate(0, 20px) scale(1)"},t.size==="small"&&{transform:"translate(0, 17px) scale(1)"},t.shrink&&{transform:"translate(0, -1.5px) scale(0.75)",transformOrigin:"top left",maxWidth:"133%"},!t.disableAnimation&&{transition:e.transitions.create(["color","transform","max-width"],{duration:e.transitions.duration.shorter,easing:e.transitions.easing.easeOut})},t.variant==="filled"&&A({zIndex:1,pointerEvents:"none",transform:"translate(12px, 16px) scale(1)",maxWidth:"calc(100% - 24px)"},t.size==="small"&&{transform:"translate(12px, 13px) scale(1)"},t.shrink&&A({userSelect:"none",pointerEvents:"auto",transform:"translate(12px, 7px) scale(0.75)",maxWidth:"calc(133% - 24px)"},t.size==="small"&&{transform:"translate(12px, 4px) scale(0.75)"})),t.variant==="outlined"&&A({zIndex:1,pointerEvents:"none",transform:"translate(14px, 16px) scale(1)",maxWidth:"calc(100% - 24px)"},t.size==="small"&&{transform:"translate(14px, 9px) scale(1)"},t.shrink&&{userSelect:"none",pointerEvents:"auto",maxWidth:"calc(133% - 32px)",transform:"translate(14px, -9px) scale(0.75)"}))),tAe=v.forwardRef(i(function(t,n){const r=Qe({name:"MuiInputLabel",props:t}),{disableAnimation:a=!1,shrink:o,className:s}=r,c=$e(r,X8e),l=Bi();let u=o;typeof u>"u"&&l&&(u=l.filled||l.focused||l.adornedStart);const d=Mc({props:r,muiFormControl:l,states:["size","variant","required","focused"]}),f=A({},r,{disableAnimation:a,formControl:l,shrink:u,size:d.size,variant:d.variant,required:d.required,focused:d.focused}),m=Z8e(f);return p.jsx(eAe,A({"data-shrink":u,ownerState:f,ref:n,className:de(m.root,s)},c,{classes:m}))},"InputLabel2")),nAe=tAe;function rAe(e){return Ge("MuiLinearProgress",e)}i(rAe,"getLinearProgressUtilityClass");Ye("MuiLinearProgress",["root","colorPrimary","colorSecondary","determinate","indeterminate","buffer","query","dashed","dashedColorPrimary","dashedColorSecondary","bar","barColorPrimary","barColorSecondary","bar1Indeterminate","bar1Determinate","bar1Buffer","bar2Indeterminate","bar2Buffer"]);const aAe=["className","color","value","valueBuffer","variant"];let rp=i(e=>e,"_$3"),x5,w5,C5,S5,j5,_5;const a_=4,oAe=js(x5||(x5=rp` - 0% { - left: -35%; - right: 100%; - } - - 60% { - left: 100%; - right: -90%; - } - - 100% { - left: 100%; - right: -90%; - } -`)),iAe=js(w5||(w5=rp` - 0% { - left: -200%; - right: 100%; - } - - 60% { - left: 107%; - right: -8%; - } - - 100% { - left: 107%; - right: -8%; - } -`)),sAe=js(C5||(C5=rp` - 0% { - opacity: 1; - background-position: 0 -23px; - } - - 60% { - opacity: 0; - background-position: 0 -23px; - } - - 100% { - opacity: 1; - background-position: -200px -23px; - } -`)),cAe=i(e=>{const{classes:t,variant:n,color:r}=e,a={root:["root",`color${ve(r)}`,n],dashed:["dashed",`dashedColor${ve(r)}`],bar1:["bar",`barColor${ve(r)}`,(n==="indeterminate"||n==="query")&&"bar1Indeterminate",n==="determinate"&&"bar1Determinate",n==="buffer"&&"bar1Buffer"],bar2:["bar",n!=="buffer"&&`barColor${ve(r)}`,n==="buffer"&&`color${ve(r)}`,(n==="indeterminate"||n==="query")&&"bar2Indeterminate",n==="buffer"&&"bar2Buffer"]};return Ke(a,rAe,t)},"useUtilityClasses$y"),dR=i((e,t)=>t==="inherit"?"currentColor":e.vars?e.vars.palette.LinearProgress[`${t}Bg`]:e.palette.mode==="light"?rf(e.palette[t].main,.62):nf(e.palette[t].main,.5),"getColorShade"),lAe=te("span",{name:"MuiLinearProgress",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[`color${ve(n.color)}`],t[n.variant]]}})(({ownerState:e,theme:t})=>A({position:"relative",overflow:"hidden",display:"block",height:4,zIndex:0,"@media print":{colorAdjust:"exact"},backgroundColor:dR(t,e.color)},e.color==="inherit"&&e.variant!=="buffer"&&{backgroundColor:"none","&::before":{content:'""',position:"absolute",left:0,top:0,right:0,bottom:0,backgroundColor:"currentColor",opacity:.3}},e.variant==="buffer"&&{backgroundColor:"transparent"},e.variant==="query"&&{transform:"rotate(180deg)"})),uAe=te("span",{name:"MuiLinearProgress",slot:"Dashed",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.dashed,t[`dashedColor${ve(n.color)}`]]}})(({ownerState:e,theme:t})=>{const n=dR(t,e.color);return A({position:"absolute",marginTop:0,height:"100%",width:"100%"},e.color==="inherit"&&{opacity:.3},{backgroundImage:`radial-gradient(${n} 0%, ${n} 16%, transparent 42%)`,backgroundSize:"10px 10px",backgroundPosition:"0 -23px"})},Kl(S5||(S5=rp` - animation: ${0} 3s infinite linear; - `),sAe)),dAe=te("span",{name:"MuiLinearProgress",slot:"Bar1",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.bar,t[`barColor${ve(n.color)}`],(n.variant==="indeterminate"||n.variant==="query")&&t.bar1Indeterminate,n.variant==="determinate"&&t.bar1Determinate,n.variant==="buffer"&&t.bar1Buffer]}})(({ownerState:e,theme:t})=>A({width:"100%",position:"absolute",left:0,bottom:0,top:0,transition:"transform 0.2s linear",transformOrigin:"left",backgroundColor:e.color==="inherit"?"currentColor":(t.vars||t).palette[e.color].main},e.variant==="determinate"&&{transition:`transform .${a_}s linear`},e.variant==="buffer"&&{zIndex:1,transition:`transform .${a_}s linear`}),({ownerState:e})=>(e.variant==="indeterminate"||e.variant==="query")&&Kl(j5||(j5=rp` - width: auto; - animation: ${0} 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite; - `),oAe)),fAe=te("span",{name:"MuiLinearProgress",slot:"Bar2",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.bar,t[`barColor${ve(n.color)}`],(n.variant==="indeterminate"||n.variant==="query")&&t.bar2Indeterminate,n.variant==="buffer"&&t.bar2Buffer]}})(({ownerState:e,theme:t})=>A({width:"100%",position:"absolute",left:0,bottom:0,top:0,transition:"transform 0.2s linear",transformOrigin:"left"},e.variant!=="buffer"&&{backgroundColor:e.color==="inherit"?"currentColor":(t.vars||t).palette[e.color].main},e.color==="inherit"&&{opacity:.3},e.variant==="buffer"&&{backgroundColor:dR(t,e.color),transition:`transform .${a_}s linear`}),({ownerState:e})=>(e.variant==="indeterminate"||e.variant==="query")&&Kl(_5||(_5=rp` - width: auto; - animation: ${0} 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) 1.15s infinite; - `),iAe)),pAe=v.forwardRef(i(function(t,n){const r=Qe({props:t,name:"MuiLinearProgress"}),{className:a,color:o="primary",value:s,valueBuffer:c,variant:l="indeterminate"}=r,u=$e(r,aAe),d=A({},r,{color:o,variant:l}),f=cAe(d),m=Pc(),g={},h={bar1:{},bar2:{}};if((l==="determinate"||l==="buffer")&&s!==void 0){g["aria-valuenow"]=Math.round(s),g["aria-valuemin"]=0,g["aria-valuemax"]=100;let y=s-100;m&&(y=-y),h.bar1.transform=`translateX(${y}%)`}if(l==="buffer"&&c!==void 0){let y=(c||0)-100;m&&(y=-y),h.bar2.transform=`translateX(${y}%)`}return p.jsxs(lAe,A({className:de(f.root,a),ownerState:d,role:"progressbar"},g,{ref:n},u,{children:[l==="buffer"?p.jsx(uAe,{className:f.dashed,ownerState:d}):null,p.jsx(dAe,{className:f.bar1,ownerState:d,style:h.bar1}),l==="determinate"?null:p.jsx(fAe,{className:f.bar2,ownerState:d,style:h.bar2})]}))},"LinearProgress2")),mAe=pAe;function hAe(e){return Ge("MuiLink",e)}i(hAe,"getLinkUtilityClass");const gAe=Ye("MuiLink",["root","underlineNone","underlineHover","underlineAlways","button","focusVisible"]),vAe=gAe,hU={primary:"primary.main",textPrimary:"text.primary",secondary:"secondary.main",textSecondary:"text.secondary",error:"error.main"},yAe=i(e=>hU[e]||e,"transformDeprecatedColors"),bAe=i(({theme:e,ownerState:t})=>{const n=yAe(t.color),r=tf(e,`palette.${n}`,!1)||t.color,a=tf(e,`palette.${n}Channel`);return"vars"in e&&a?`rgba(${a} / 0.4)`:bt(r,.4)},"getTextDecoration"),xAe=["className","color","component","onBlur","onFocus","TypographyClasses","underline","variant","sx"],wAe=i(e=>{const{classes:t,component:n,focusVisible:r,underline:a}=e,o={root:["root",`underline${ve(a)}`,n==="button"&&"button",r&&"focusVisible"]};return Ke(o,hAe,t)},"useUtilityClasses$x"),CAe=te(Ze,{name:"MuiLink",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[`underline${ve(n.underline)}`],n.component==="button"&&t.button]}})(({theme:e,ownerState:t})=>A({},t.underline==="none"&&{textDecoration:"none"},t.underline==="hover"&&{textDecoration:"none","&:hover":{textDecoration:"underline"}},t.underline==="always"&&A({textDecoration:"underline"},t.color!=="inherit"&&{textDecorationColor:bAe({theme:e,ownerState:t})},{"&:hover":{textDecorationColor:"inherit"}}),t.component==="button"&&{position:"relative",WebkitTapHighlightColor:"transparent",backgroundColor:"transparent",outline:0,border:0,margin:0,borderRadius:0,padding:0,cursor:"pointer",userSelect:"none",verticalAlign:"middle",MozAppearance:"none",WebkitAppearance:"none","&::-moz-focus-inner":{borderStyle:"none"},[`&.${vAe.focusVisible}`]:{outline:"auto"}})),SAe=v.forwardRef(i(function(t,n){const r=Qe({props:t,name:"MuiLink"}),{className:a,color:o="primary",component:s="a",onBlur:c,onFocus:l,TypographyClasses:u,underline:d="always",variant:f="inherit",sx:m}=r,g=$e(r,xAe),{isFocusVisibleRef:h,onBlur:y,onFocus:b,ref:x}=d1(),[w,C]=v.useState(!1),j=ln(n,x),_=i(E=>{y(E),h.current===!1&&C(!1),c&&c(E)},"handleBlur"),S=i(E=>{b(E),h.current===!0&&C(!0),l&&l(E)},"handleFocus"),k=A({},r,{color:o,component:s,focusVisible:w,underline:d,variant:f}),$=wAe(k);return p.jsx(CAe,A({color:o,className:de($.root,a),classes:u,component:s,onBlur:_,onFocus:S,ref:j,ownerState:k,variant:f,sx:[...Object.keys(hU).includes(o)?[]:[{color:o}],...Array.isArray(m)?m:[m]]},g))},"Link2")),uh=SAe,jAe=v.createContext({}),lo=jAe;function _Ae(e){return Ge("MuiList",e)}i(_Ae,"getListUtilityClass");Ye("MuiList",["root","padding","dense","subheader"]);const kAe=["children","className","component","dense","disablePadding","subheader"],$Ae=i(e=>{const{classes:t,disablePadding:n,dense:r,subheader:a}=e;return Ke({root:["root",!n&&"padding",r&&"dense",a&&"subheader"]},_Ae,t)},"useUtilityClasses$w"),EAe=te("ul",{name:"MuiList",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,!n.disablePadding&&t.padding,n.dense&&t.dense,n.subheader&&t.subheader]}})(({ownerState:e})=>A({listStyle:"none",margin:0,padding:0,position:"relative"},!e.disablePadding&&{paddingTop:8,paddingBottom:8},e.subheader&&{paddingTop:0})),RAe=v.forwardRef(i(function(t,n){const r=Qe({props:t,name:"MuiList"}),{children:a,className:o,component:s="ul",dense:c=!1,disablePadding:l=!1,subheader:u}=r,d=$e(r,kAe),f=v.useMemo(()=>({dense:c}),[c]),m=A({},r,{component:s,dense:c,disablePadding:l}),g=$Ae(m);return p.jsx(lo.Provider,{value:f,children:p.jsxs(EAe,A({as:s,className:de(g.root,o),ref:n,ownerState:m},d,{children:[u,a]}))})},"List2")),Oc=RAe;function AAe(e){return Ge("MuiListItem",e)}i(AAe,"getListItemUtilityClass");const PAe=Ye("MuiListItem",["root","container","focusVisible","dense","alignItemsFlexStart","disabled","divider","gutters","padding","button","secondaryAction","selected"]),Cu=PAe;function TAe(e){return Ge("MuiListItemButton",e)}i(TAe,"getListItemButtonUtilityClass");const MAe=Ye("MuiListItemButton",["root","focusVisible","dense","alignItemsFlexStart","disabled","divider","gutters","selected"]),Su=MAe,OAe=["alignItems","autoFocus","component","children","dense","disableGutters","divider","focusVisibleClassName","selected","className"],zAe=i((e,t)=>{const{ownerState:n}=e;return[t.root,n.dense&&t.dense,n.alignItems==="flex-start"&&t.alignItemsFlexStart,n.divider&&t.divider,!n.disableGutters&&t.gutters]},"overridesResolver$3"),IAe=i(e=>{const{alignItems:t,classes:n,dense:r,disabled:a,disableGutters:o,divider:s,selected:c}=e,u=Ke({root:["root",r&&"dense",!o&&"gutters",s&&"divider",a&&"disabled",t==="flex-start"&&"alignItemsFlexStart",c&&"selected"]},TAe,n);return A({},n,u)},"useUtilityClasses$v"),LAe=te(Ia,{shouldForwardProp:e=>yr(e)||e==="classes",name:"MuiListItemButton",slot:"Root",overridesResolver:zAe})(({theme:e,ownerState:t})=>A({display:"flex",flexGrow:1,justifyContent:"flex-start",alignItems:"center",position:"relative",textDecoration:"none",minWidth:0,boxSizing:"border-box",textAlign:"left",paddingTop:8,paddingBottom:8,transition:e.transitions.create("background-color",{duration:e.transitions.duration.shortest}),"&:hover":{textDecoration:"none",backgroundColor:(e.vars||e).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${Su.selected}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:bt(e.palette.primary.main,e.palette.action.selectedOpacity),[`&.${Su.focusVisible}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.focusOpacity}))`:bt(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.focusOpacity)}},[`&.${Su.selected}:hover`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.hoverOpacity}))`:bt(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:bt(e.palette.primary.main,e.palette.action.selectedOpacity)}},[`&.${Su.focusVisible}`]:{backgroundColor:(e.vars||e).palette.action.focus},[`&.${Su.disabled}`]:{opacity:(e.vars||e).palette.action.disabledOpacity}},t.divider&&{borderBottom:`1px solid ${(e.vars||e).palette.divider}`,backgroundClip:"padding-box"},t.alignItems==="flex-start"&&{alignItems:"flex-start"},!t.disableGutters&&{paddingLeft:16,paddingRight:16},t.dense&&{paddingTop:4,paddingBottom:4})),DAe=v.forwardRef(i(function(t,n){const r=Qe({props:t,name:"MuiListItemButton"}),{alignItems:a="center",autoFocus:o=!1,component:s="div",children:c,dense:l=!1,disableGutters:u=!1,divider:d=!1,focusVisibleClassName:f,selected:m=!1,className:g}=r,h=$e(r,OAe),y=v.useContext(lo),b=v.useMemo(()=>({dense:l||y.dense||!1,alignItems:a,disableGutters:u}),[a,y.dense,l,u]),x=v.useRef(null);Jr(()=>{o&&x.current&&x.current.focus()},[o]);const w=A({},r,{alignItems:a,dense:b.dense,disableGutters:u,divider:d,selected:m}),C=IAe(w),j=ln(x,n);return p.jsx(lo.Provider,{value:b,children:p.jsx(LAe,A({ref:j,href:h.href||h.to,component:(h.href||h.to)&&s==="div"?"button":s,focusVisibleClassName:de(C.focusVisible,f),ownerState:w,className:de(C.root,g)},h,{classes:C,children:c}))})},"ListItemButton2")),fR=DAe;function NAe(e){return Ge("MuiListItemSecondaryAction",e)}i(NAe,"getListItemSecondaryActionClassesUtilityClass");Ye("MuiListItemSecondaryAction",["root","disableGutters"]);const FAe=["className"],BAe=i(e=>{const{disableGutters:t,classes:n}=e;return Ke({root:["root",t&&"disableGutters"]},NAe,n)},"useUtilityClasses$u"),WAe=te("div",{name:"MuiListItemSecondaryAction",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.disableGutters&&t.disableGutters]}})(({ownerState:e})=>A({position:"absolute",right:16,top:"50%",transform:"translateY(-50%)"},e.disableGutters&&{right:0})),gU=v.forwardRef(i(function(t,n){const r=Qe({props:t,name:"MuiListItemSecondaryAction"}),{className:a}=r,o=$e(r,FAe),s=v.useContext(lo),c=A({},r,{disableGutters:s.disableGutters}),l=BAe(c);return p.jsx(WAe,A({className:de(l.root,a),ownerState:c,ref:n},o))},"ListItemSecondaryAction2"));gU.muiName="ListItemSecondaryAction";const Jl=gU,UAe=["className"],HAe=["alignItems","autoFocus","button","children","className","component","components","componentsProps","ContainerComponent","ContainerProps","dense","disabled","disableGutters","disablePadding","divider","focusVisibleClassName","secondaryAction","selected","slotProps","slots"],qAe=i((e,t)=>{const{ownerState:n}=e;return[t.root,n.dense&&t.dense,n.alignItems==="flex-start"&&t.alignItemsFlexStart,n.divider&&t.divider,!n.disableGutters&&t.gutters,!n.disablePadding&&t.padding,n.button&&t.button,n.hasSecondaryAction&&t.secondaryAction]},"overridesResolver$2"),VAe=i(e=>{const{alignItems:t,button:n,classes:r,dense:a,disabled:o,disableGutters:s,disablePadding:c,divider:l,hasSecondaryAction:u,selected:d}=e;return Ke({root:["root",a&&"dense",!s&&"gutters",!c&&"padding",l&&"divider",o&&"disabled",n&&"button",t==="flex-start"&&"alignItemsFlexStart",u&&"secondaryAction",d&&"selected"],container:["container"]},AAe,r)},"useUtilityClasses$t"),GAe=te("div",{name:"MuiListItem",slot:"Root",overridesResolver:qAe})(({theme:e,ownerState:t})=>A({display:"flex",justifyContent:"flex-start",alignItems:"center",position:"relative",textDecoration:"none",width:"100%",boxSizing:"border-box",textAlign:"left"},!t.disablePadding&&A({paddingTop:8,paddingBottom:8},t.dense&&{paddingTop:4,paddingBottom:4},!t.disableGutters&&{paddingLeft:16,paddingRight:16},!!t.secondaryAction&&{paddingRight:48}),!!t.secondaryAction&&{[`& > .${Su.root}`]:{paddingRight:48}},{[`&.${Cu.focusVisible}`]:{backgroundColor:(e.vars||e).palette.action.focus},[`&.${Cu.selected}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:bt(e.palette.primary.main,e.palette.action.selectedOpacity),[`&.${Cu.focusVisible}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.focusOpacity}))`:bt(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.focusOpacity)}},[`&.${Cu.disabled}`]:{opacity:(e.vars||e).palette.action.disabledOpacity}},t.alignItems==="flex-start"&&{alignItems:"flex-start"},t.divider&&{borderBottom:`1px solid ${(e.vars||e).palette.divider}`,backgroundClip:"padding-box"},t.button&&{transition:e.transitions.create("background-color",{duration:e.transitions.duration.shortest}),"&:hover":{textDecoration:"none",backgroundColor:(e.vars||e).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${Cu.selected}:hover`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.hoverOpacity}))`:bt(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:bt(e.palette.primary.main,e.palette.action.selectedOpacity)}}},t.hasSecondaryAction&&{paddingRight:48})),KAe=te("li",{name:"MuiListItem",slot:"Container",overridesResolver:(e,t)=>t.container})({position:"relative"}),JAe=v.forwardRef(i(function(t,n){const r=Qe({props:t,name:"MuiListItem"}),{alignItems:a="center",autoFocus:o=!1,button:s=!1,children:c,className:l,component:u,components:d={},componentsProps:f={},ContainerComponent:m="li",ContainerProps:{className:g}={},dense:h=!1,disabled:y=!1,disableGutters:b=!1,disablePadding:x=!1,divider:w=!1,focusVisibleClassName:C,secondaryAction:j,selected:_=!1,slotProps:S={},slots:k={}}=r,$=$e(r.ContainerProps,UAe),E=$e(r,HAe),P=v.useContext(lo),R=v.useMemo(()=>({dense:h||P.dense||!1,alignItems:a,disableGutters:b}),[a,P.dense,h,b]),T=v.useRef(null);Jr(()=>{o&&T.current&&T.current.focus()},[o]);const M=v.Children.toArray(c),I=M.length&&fm(M[M.length-1],["ListItemSecondaryAction"]),z=A({},r,{alignItems:a,autoFocus:o,button:s,dense:R.dense,disabled:y,disableGutters:b,disablePadding:x,divider:w,hasSecondaryAction:I,selected:_}),H=VAe(z),F=ln(T,n),L=k.root||d.Root||GAe,B=S.root||f.root||{},K=A({className:de(H.root,B.className,l),disabled:y},E);let se=u||"li";return s&&(K.component=u||"div",K.focusVisibleClassName=de(Cu.focusVisible,C),se=Ia),I?(se=!K.component&&!u?"div":se,m==="li"&&(se==="li"?se="div":K.component==="li"&&(K.component="div")),p.jsx(lo.Provider,{value:R,children:p.jsxs(KAe,A({as:m,className:de(H.container,g),ref:F,ownerState:z},$,{children:[p.jsx(L,A({},B,!zl(L)&&{as:se,ownerState:A({},z,B.ownerState)},K,{children:M})),M.pop()]}))})):p.jsx(lo.Provider,{value:R,children:p.jsxs(L,A({},B,{as:se,ref:F},!zl(L)&&{ownerState:A({},z,B.ownerState)},K,{children:[M,j&&p.jsx(Jl,{children:j})]}))})},"ListItem2")),Yl=JAe;function YAe(e){return Ge("MuiListItemAvatar",e)}i(YAe,"getListItemAvatarUtilityClass");Ye("MuiListItemAvatar",["root","alignItemsFlexStart"]);const QAe=["className"],XAe=i(e=>{const{alignItems:t,classes:n}=e;return Ke({root:["root",t==="flex-start"&&"alignItemsFlexStart"]},YAe,n)},"useUtilityClasses$s"),ZAe=te("div",{name:"MuiListItemAvatar",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.alignItems==="flex-start"&&t.alignItemsFlexStart]}})(({ownerState:e})=>A({minWidth:56,flexShrink:0},e.alignItems==="flex-start"&&{marginTop:8})),ePe=v.forwardRef(i(function(t,n){const r=Qe({props:t,name:"MuiListItemAvatar"}),{className:a}=r,o=$e(r,QAe),s=v.useContext(lo),c=A({},r,{alignItems:s.alignItems}),l=XAe(c);return p.jsx(ZAe,A({className:de(l.root,a),ownerState:c,ref:n},o))},"ListItemAvatar2")),_1=ePe;function tPe(e){return Ge("MuiListItemIcon",e)}i(tPe,"getListItemIconUtilityClass");const nPe=Ye("MuiListItemIcon",["root","alignItemsFlexStart"]),k5=nPe,rPe=["className"],aPe=i(e=>{const{alignItems:t,classes:n}=e;return Ke({root:["root",t==="flex-start"&&"alignItemsFlexStart"]},tPe,n)},"useUtilityClasses$r"),oPe=te("div",{name:"MuiListItemIcon",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.alignItems==="flex-start"&&t.alignItemsFlexStart]}})(({theme:e,ownerState:t})=>A({minWidth:56,color:(e.vars||e).palette.action.active,flexShrink:0,display:"inline-flex"},t.alignItems==="flex-start"&&{marginTop:8})),iPe=v.forwardRef(i(function(t,n){const r=Qe({props:t,name:"MuiListItemIcon"}),{className:a}=r,o=$e(r,rPe),s=v.useContext(lo),c=A({},r,{alignItems:s.alignItems}),l=aPe(c);return p.jsx(oPe,A({className:de(l.root,a),ownerState:c,ref:n},o))},"ListItemIcon2")),Ll=iPe;function sPe(e){return Ge("MuiListItemText",e)}i(sPe,"getListItemTextUtilityClass");const cPe=Ye("MuiListItemText",["root","multiline","dense","inset","primary","secondary"]),Db=cPe,lPe=["children","className","disableTypography","inset","primary","primaryTypographyProps","secondary","secondaryTypographyProps"],uPe=i(e=>{const{classes:t,inset:n,primary:r,secondary:a,dense:o}=e;return Ke({root:["root",n&&"inset",o&&"dense",r&&a&&"multiline"],primary:["primary"],secondary:["secondary"]},sPe,t)},"useUtilityClasses$q"),dPe=te("div",{name:"MuiListItemText",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[{[`& .${Db.primary}`]:t.primary},{[`& .${Db.secondary}`]:t.secondary},t.root,n.inset&&t.inset,n.primary&&n.secondary&&t.multiline,n.dense&&t.dense]}})(({ownerState:e})=>A({flex:"1 1 auto",minWidth:0,marginTop:4,marginBottom:4},e.primary&&e.secondary&&{marginTop:6,marginBottom:6},e.inset&&{paddingLeft:56})),fPe=v.forwardRef(i(function(t,n){const r=Qe({props:t,name:"MuiListItemText"}),{children:a,className:o,disableTypography:s=!1,inset:c=!1,primary:l,primaryTypographyProps:u,secondary:d,secondaryTypographyProps:f}=r,m=$e(r,lPe),{dense:g}=v.useContext(lo);let h=l??a,y=d;const b=A({},r,{disableTypography:s,inset:c,primary:!!h,secondary:!!y,dense:g}),x=uPe(b);return h!=null&&h.type!==Ze&&!s&&(h=p.jsx(Ze,A({variant:g?"body2":"body1",className:x.primary,component:u!=null&&u.variant?void 0:"span",display:"block"},u,{children:h}))),y!=null&&y.type!==Ze&&!s&&(y=p.jsx(Ze,A({variant:"body2",className:x.secondary,color:"text.secondary",display:"block"},f,{children:y}))),p.jsxs(dPe,A({className:de(x.root,o),ownerState:b,ref:n},m,{children:[h,y]}))},"ListItemText2")),ks=fPe,pPe=["actions","autoFocus","autoFocusItem","children","className","disabledItemsFocusable","disableListWrap","onKeyDown","variant"];function N2(e,t,n){return e===t?e.firstChild:t&&t.nextElementSibling?t.nextElementSibling:n?null:e.firstChild}i(N2,"nextItem$1");function $5(e,t,n){return e===t?n?e.firstChild:e.lastChild:t&&t.previousElementSibling?t.previousElementSibling:n?null:e.lastChild}i($5,"previousItem$1");function vU(e,t){if(t===void 0)return!0;let n=e.innerText;return n===void 0&&(n=e.textContent),n=n.trim().toLowerCase(),n.length===0?!1:t.repeating?n[0]===t.keys[0]:n.indexOf(t.keys.join(""))===0}i(vU,"textCriteriaMatches");function Tp(e,t,n,r,a,o){let s=!1,c=a(e,t,t?n:!1);for(;c;){if(c===e.firstChild){if(s)return!1;s=!0}const l=r?!1:c.disabled||c.getAttribute("aria-disabled")==="true";if(!c.hasAttribute("tabindex")||!vU(c,o)||l)c=a(e,c,n);else return c.focus(),!0}return!1}i(Tp,"moveFocus$1");const mPe=v.forwardRef(i(function(t,n){const{actions:r,autoFocus:a=!1,autoFocusItem:o=!1,children:s,className:c,disabledItemsFocusable:l=!1,disableListWrap:u=!1,onKeyDown:d,variant:f="selectedMenu"}=t,m=$e(t,pPe),g=v.useRef(null),h=v.useRef({keys:[],repeating:!0,previousKeyMatched:!0,lastTime:null});Jr(()=>{a&&g.current.focus()},[a]),v.useImperativeHandle(r,()=>({adjustStyleForScrollbar:(C,{direction:j})=>{const _=!g.current.style.width;if(C.clientHeight{const j=g.current,_=C.key,S=tr(j).activeElement;if(_==="ArrowDown")C.preventDefault(),Tp(j,S,u,l,N2);else if(_==="ArrowUp")C.preventDefault(),Tp(j,S,u,l,$5);else if(_==="Home")C.preventDefault(),Tp(j,null,u,l,N2);else if(_==="End")C.preventDefault(),Tp(j,null,u,l,$5);else if(_.length===1){const k=h.current,$=_.toLowerCase(),E=performance.now();k.keys.length>0&&(E-k.lastTime>500?(k.keys=[],k.repeating=!0,k.previousKeyMatched=!0):k.repeating&&$!==k.keys[0]&&(k.repeating=!1)),k.lastTime=E,k.keys.push($);const P=S&&!k.repeating&&vU(S,k);k.previousKeyMatched&&(P||Tp(j,S,!1,l,N2,k))?C.preventDefault():k.previousKeyMatched=!1}d&&d(C)},"handleKeyDown"),b=ln(g,n);let x=-1;v.Children.forEach(s,(C,j)=>{if(!v.isValidElement(C)){x===j&&(x+=1,x>=s.length&&(x=-1));return}C.props.disabled||(f==="selectedMenu"&&C.props.selected||x===-1)&&(x=j),x===j&&(C.props.disabled||C.props.muiSkipListHighlight||C.type.muiSkipListHighlight)&&(x+=1,x>=s.length&&(x=-1))});const w=v.Children.map(s,(C,j)=>{if(j===x){const _={};return o&&(_.autoFocus=!0),C.props.tabIndex===void 0&&f==="selectedMenu"&&(_.tabIndex=0),v.cloneElement(C,_)}return C});return p.jsx(Oc,A({role:"menu",ref:b,className:c,onKeyDown:y,tabIndex:a?0:-1},m,{children:w}))},"MenuList2")),yU=mPe;function hPe(e){return Ge("MuiPopover",e)}i(hPe,"getPopoverUtilityClass");Ye("MuiPopover",["root","paper"]);const gPe=["onEntering"],vPe=["action","anchorEl","anchorOrigin","anchorPosition","anchorReference","children","className","container","elevation","marginThreshold","open","PaperProps","slots","slotProps","transformOrigin","TransitionComponent","transitionDuration","TransitionProps","disableScrollLock"],yPe=["slotProps"];function E5(e,t){let n=0;return typeof t=="number"?n=t:t==="center"?n=e.height/2:t==="bottom"&&(n=e.height),n}i(E5,"getOffsetTop");function R5(e,t){let n=0;return typeof t=="number"?n=t:t==="center"?n=e.width/2:t==="right"&&(n=e.width),n}i(R5,"getOffsetLeft");function A5(e){return[e.horizontal,e.vertical].map(t=>typeof t=="number"?`${t}px`:t).join(" ")}i(A5,"getTransformOriginValue");function F2(e){return typeof e=="function"?e():e}i(F2,"resolveAnchorEl");const bPe=i(e=>{const{classes:t}=e;return Ke({root:["root"],paper:["paper"]},hPe,t)},"useUtilityClasses$p"),xPe=te(lR,{name:"MuiPopover",slot:"Root",overridesResolver:(e,t)=>t.root})({}),bU=te(Wa,{name:"MuiPopover",slot:"Paper",overridesResolver:(e,t)=>t.paper})({position:"absolute",overflowY:"auto",overflowX:"hidden",minWidth:16,minHeight:16,maxWidth:"calc(100% - 32px)",maxHeight:"calc(100% - 32px)",outline:0}),wPe=v.forwardRef(i(function(t,n){var r,a,o;const s=Qe({props:t,name:"MuiPopover"}),{action:c,anchorEl:l,anchorOrigin:u={vertical:"top",horizontal:"left"},anchorPosition:d,anchorReference:f="anchorEl",children:m,className:g,container:h,elevation:y=8,marginThreshold:b=16,open:x,PaperProps:w={},slots:C,slotProps:j,transformOrigin:_={vertical:"top",horizontal:"left"},TransitionComponent:S=Lb,transitionDuration:k="auto",TransitionProps:{onEntering:$}={},disableScrollLock:E=!1}=s,P=$e(s.TransitionProps,gPe),R=$e(s,vPe),T=(r=j==null?void 0:j.paper)!=null?r:w,M=v.useRef(),I=ln(M,T.ref),z=A({},s,{anchorOrigin:u,anchorReference:f,elevation:y,marginThreshold:b,externalPaperSlotProps:T,transformOrigin:_,TransitionComponent:S,transitionDuration:k,TransitionProps:P}),H=bPe(z),F=v.useCallback(()=>{if(f==="anchorPosition")return d;const ne=F2(l),he=(ne&&ne.nodeType===1?ne:tr(M.current).body).getBoundingClientRect();return{top:he.top+E5(he,u.vertical),left:he.left+R5(he,u.horizontal)}},[l,u.horizontal,u.vertical,d,f]),L=v.useCallback(ne=>({vertical:E5(ne,_.vertical),horizontal:R5(ne,_.horizontal)}),[_.horizontal,_.vertical]),B=v.useCallback(ne=>{const ie={width:ne.offsetWidth,height:ne.offsetHeight},he=L(ie);if(f==="none")return{top:null,left:null,transformOrigin:A5(he)};const N=F();let Q=N.top-he.vertical,X=N.left-he.horizontal;const we=Q+ie.height,fe=X+ie.width,pe=po(F2(l)),xe=pe.innerHeight-b,Re=pe.innerWidth-b;if(b!==null&&Qxe){const Me=we-xe;Q-=Me,he.vertical+=Me}if(b!==null&&XRe){const Me=fe-Re;X-=Me,he.horizontal+=Me}return{top:`${Math.round(Q)}px`,left:`${Math.round(X)}px`,transformOrigin:A5(he)}},[l,f,F,L,b]),[K,se]=v.useState(x),ue=v.useCallback(()=>{const ne=M.current;if(!ne)return;const ie=B(ne);ie.top!==null&&(ne.style.top=ie.top),ie.left!==null&&(ne.style.left=ie.left),ne.style.transformOrigin=ie.transformOrigin,se(!0)},[B]);v.useEffect(()=>(E&&window.addEventListener("scroll",ue),()=>window.removeEventListener("scroll",ue)),[l,E,ue]);const _e=i((ne,ie)=>{$&&$(ne,ie),ue()},"handleEntering"),le=i(()=>{se(!1)},"handleExited");v.useEffect(()=>{x&&ue()}),v.useImperativeHandle(c,()=>x?{updatePosition:()=>{ue()}}:null,[x,ue]),v.useEffect(()=>{if(!x)return;const ne=ep(()=>{ue()}),ie=po(l);return ie.addEventListener("resize",ne),()=>{ne.clear(),ie.removeEventListener("resize",ne)}},[l,x,ue]);let V=k;k==="auto"&&!S.muiSupportAuto&&(V=void 0);const q=h||(l?tr(F2(l)).body:void 0),Y=(a=C==null?void 0:C.root)!=null?a:xPe,O=(o=C==null?void 0:C.paper)!=null?o:bU,D=ho({elementType:O,externalSlotProps:A({},T,{style:K?T.style:A({},T.style,{opacity:0})}),additionalProps:{elevation:y,ref:I},ownerState:z,className:de(H.paper,T==null?void 0:T.className)}),Z=ho({elementType:Y,externalSlotProps:(j==null?void 0:j.root)||{},externalForwardedProps:R,additionalProps:{ref:n,slotProps:{backdrop:{invisible:!0}},container:q,open:x},ownerState:z,className:de(H.root,g)}),{slotProps:J}=Z,U=$e(Z,yPe);return p.jsx(Y,A({},U,!zl(Y)&&{slotProps:J,disableScrollLock:E},{children:p.jsx(S,A({appear:!0,in:x,onEntering:_e,onExited:le,timeout:V},P,{children:p.jsx(O,A({},D,{children:m}))}))}))},"Popover2")),xU=wPe;function CPe(e){return Ge("MuiMenu",e)}i(CPe,"getMenuUtilityClass");Ye("MuiMenu",["root","paper","list"]);const SPe=["onEntering"],jPe=["autoFocus","children","className","disableAutoFocusItem","MenuListProps","onClose","open","PaperProps","PopoverClasses","transitionDuration","TransitionProps","variant","slots","slotProps"],_Pe={vertical:"top",horizontal:"right"},kPe={vertical:"top",horizontal:"left"},$Pe=i(e=>{const{classes:t}=e;return Ke({root:["root"],paper:["paper"],list:["list"]},CPe,t)},"useUtilityClasses$o"),EPe=te(xU,{shouldForwardProp:e=>yr(e)||e==="classes",name:"MuiMenu",slot:"Root",overridesResolver:(e,t)=>t.root})({}),RPe=te(bU,{name:"MuiMenu",slot:"Paper",overridesResolver:(e,t)=>t.paper})({maxHeight:"calc(100% - 96px)",WebkitOverflowScrolling:"touch"}),APe=te(yU,{name:"MuiMenu",slot:"List",overridesResolver:(e,t)=>t.list})({outline:0}),PPe=v.forwardRef(i(function(t,n){var r,a;const o=Qe({props:t,name:"MuiMenu"}),{autoFocus:s=!0,children:c,className:l,disableAutoFocusItem:u=!1,MenuListProps:d={},onClose:f,open:m,PaperProps:g={},PopoverClasses:h,transitionDuration:y="auto",TransitionProps:{onEntering:b}={},variant:x="selectedMenu",slots:w={},slotProps:C={}}=o,j=$e(o.TransitionProps,SPe),_=$e(o,jPe),S=Pc(),k=A({},o,{autoFocus:s,disableAutoFocusItem:u,MenuListProps:d,onEntering:b,PaperProps:g,transitionDuration:y,TransitionProps:j,variant:x}),$=$Pe(k),E=s&&!u&&m,P=v.useRef(null),R=i((L,B)=>{P.current&&P.current.adjustStyleForScrollbar(L,{direction:S?"rtl":"ltr"}),b&&b(L,B)},"handleEntering"),T=i(L=>{L.key==="Tab"&&(L.preventDefault(),f&&f(L,"tabKeyDown"))},"handleListKeyDown");let M=-1;v.Children.map(c,(L,B)=>{v.isValidElement(L)&&(L.props.disabled||(x==="selectedMenu"&&L.props.selected||M===-1)&&(M=B))});const I=(r=w.paper)!=null?r:RPe,z=(a=C.paper)!=null?a:g,H=ho({elementType:w.root,externalSlotProps:C.root,ownerState:k,className:[$.root,l]}),F=ho({elementType:I,externalSlotProps:z,ownerState:k,className:$.paper});return p.jsx(EPe,A({onClose:f,anchorOrigin:{vertical:"bottom",horizontal:S?"right":"left"},transformOrigin:S?_Pe:kPe,slots:{paper:I,root:w.root},slotProps:{root:H,paper:F},open:m,ref:n,transitionDuration:y,TransitionProps:A({onEntering:R},j),ownerState:k},_,{classes:h,children:p.jsx(APe,A({onKeyDown:T,actions:P,autoFocus:s&&(M===-1||u),autoFocusItem:E,variant:x},d,{className:de($.list,d.className),children:c}))}))},"Menu2")),Ql=PPe;function TPe(e){return Ge("MuiMenuItem",e)}i(TPe,"getMenuItemUtilityClass");const MPe=Ye("MuiMenuItem",["root","focusVisible","dense","disabled","divider","gutters","selected"]),Mp=MPe,OPe=["autoFocus","component","dense","divider","disableGutters","focusVisibleClassName","role","tabIndex","className"],zPe=i((e,t)=>{const{ownerState:n}=e;return[t.root,n.dense&&t.dense,n.divider&&t.divider,!n.disableGutters&&t.gutters]},"overridesResolver$1"),IPe=i(e=>{const{disabled:t,dense:n,divider:r,disableGutters:a,selected:o,classes:s}=e,l=Ke({root:["root",n&&"dense",t&&"disabled",!a&&"gutters",r&&"divider",o&&"selected"]},TPe,s);return A({},s,l)},"useUtilityClasses$n"),LPe=te(Ia,{shouldForwardProp:e=>yr(e)||e==="classes",name:"MuiMenuItem",slot:"Root",overridesResolver:zPe})(({theme:e,ownerState:t})=>A({},e.typography.body1,{display:"flex",justifyContent:"flex-start",alignItems:"center",position:"relative",textDecoration:"none",minHeight:48,paddingTop:6,paddingBottom:6,boxSizing:"border-box",whiteSpace:"nowrap"},!t.disableGutters&&{paddingLeft:16,paddingRight:16},t.divider&&{borderBottom:`1px solid ${(e.vars||e).palette.divider}`,backgroundClip:"padding-box"},{"&:hover":{textDecoration:"none",backgroundColor:(e.vars||e).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${Mp.selected}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:bt(e.palette.primary.main,e.palette.action.selectedOpacity),[`&.${Mp.focusVisible}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.focusOpacity}))`:bt(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.focusOpacity)}},[`&.${Mp.selected}:hover`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.hoverOpacity}))`:bt(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:bt(e.palette.primary.main,e.palette.action.selectedOpacity)}},[`&.${Mp.focusVisible}`]:{backgroundColor:(e.vars||e).palette.action.focus},[`&.${Mp.disabled}`]:{opacity:(e.vars||e).palette.action.disabledOpacity},[`& + .${f5.root}`]:{marginTop:e.spacing(1),marginBottom:e.spacing(1)},[`& + .${f5.inset}`]:{marginLeft:52},[`& .${Db.root}`]:{marginTop:0,marginBottom:0},[`& .${Db.inset}`]:{paddingLeft:36},[`& .${k5.root}`]:{minWidth:36}},!t.dense&&{[e.breakpoints.up("sm")]:{minHeight:"auto"}},t.dense&&A({minHeight:32,paddingTop:4,paddingBottom:4},e.typography.body2,{[`& .${k5.root} svg`]:{fontSize:"1.25rem"}}))),DPe=v.forwardRef(i(function(t,n){const r=Qe({props:t,name:"MuiMenuItem"}),{autoFocus:a=!1,component:o="li",dense:s=!1,divider:c=!1,disableGutters:l=!1,focusVisibleClassName:u,role:d="menuitem",tabIndex:f,className:m}=r,g=$e(r,OPe),h=v.useContext(lo),y=v.useMemo(()=>({dense:s||h.dense||!1,disableGutters:l}),[h.dense,s,l]),b=v.useRef(null);Jr(()=>{a&&b.current&&b.current.focus()},[a]);const x=A({},r,{dense:y.dense,divider:c,disableGutters:l}),w=IPe(r),C=ln(b,n);let j;return r.disabled||(j=f!==void 0?f:-1),p.jsx(lo.Provider,{value:y,children:p.jsx(LPe,A({ref:C,role:d,tabIndex:j,component:o,focusVisibleClassName:de(w.focusVisible,u),className:de(w.root,m)},g,{ownerState:x,classes:w}))})},"MenuItem2")),Vn=DPe;function NPe(e){return Ge("MuiNativeSelect",e)}i(NPe,"getNativeSelectUtilityClasses");const FPe=Ye("MuiNativeSelect",["root","select","multiple","filled","outlined","standard","disabled","icon","iconOpen","iconFilled","iconOutlined","iconStandard","nativeInput","error"]),pR=FPe,BPe=["className","disabled","error","IconComponent","inputRef","variant"],WPe=i(e=>{const{classes:t,variant:n,disabled:r,multiple:a,open:o,error:s}=e,c={select:["select",n,r&&"disabled",a&&"multiple",s&&"error"],icon:["icon",`icon${ve(n)}`,o&&"iconOpen",r&&"disabled"]};return Ke(c,NPe,t)},"useUtilityClasses$m"),wU=i(({ownerState:e,theme:t})=>A({MozAppearance:"none",WebkitAppearance:"none",userSelect:"none",borderRadius:0,cursor:"pointer","&:focus":A({},t.vars?{backgroundColor:`rgba(${t.vars.palette.common.onBackgroundChannel} / 0.05)`}:{backgroundColor:t.palette.mode==="light"?"rgba(0, 0, 0, 0.05)":"rgba(255, 255, 255, 0.05)"},{borderRadius:0}),"&::-ms-expand":{display:"none"},[`&.${pR.disabled}`]:{cursor:"default"},"&[multiple]":{height:"auto"},"&:not([multiple]) option, &:not([multiple]) optgroup":{backgroundColor:(t.vars||t).palette.background.paper},"&&&":{paddingRight:24,minWidth:16}},e.variant==="filled"&&{"&&&":{paddingRight:32}},e.variant==="outlined"&&{borderRadius:(t.vars||t).shape.borderRadius,"&:focus":{borderRadius:(t.vars||t).shape.borderRadius},"&&&":{paddingRight:32}}),"nativeSelectSelectStyles"),UPe=te("select",{name:"MuiNativeSelect",slot:"Select",shouldForwardProp:yr,overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.select,t[n.variant],n.error&&t.error,{[`&.${pR.multiple}`]:t.multiple}]}})(wU),CU=i(({ownerState:e,theme:t})=>A({position:"absolute",right:0,top:"calc(50% - .5em)",pointerEvents:"none",color:(t.vars||t).palette.action.active,[`&.${pR.disabled}`]:{color:(t.vars||t).palette.action.disabled}},e.open&&{transform:"rotate(180deg)"},e.variant==="filled"&&{right:7},e.variant==="outlined"&&{right:7}),"nativeSelectIconStyles"),HPe=te("svg",{name:"MuiNativeSelect",slot:"Icon",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.icon,n.variant&&t[`icon${ve(n.variant)}`],n.open&&t.iconOpen]}})(CU),qPe=v.forwardRef(i(function(t,n){const{className:r,disabled:a,error:o,IconComponent:s,inputRef:c,variant:l="standard"}=t,u=$e(t,BPe),d=A({},t,{disabled:a,variant:l,error:o}),f=WPe(d);return p.jsxs(v.Fragment,{children:[p.jsx(UPe,A({ownerState:d,className:de(f.select,r),disabled:a,ref:c||n},u)),t.multiple?null:p.jsx(HPe,{as:s,ownerState:d,className:f.icon})]})},"NativeSelectInput2")),VPe=qPe;var P5;const GPe=["children","classes","className","label","notched"],KPe=te("fieldset",{shouldForwardProp:yr})({textAlign:"left",position:"absolute",bottom:0,right:0,top:-5,left:0,margin:0,padding:"0 8px",pointerEvents:"none",borderRadius:"inherit",borderStyle:"solid",borderWidth:1,overflow:"hidden",minWidth:"0%"}),JPe=te("legend",{shouldForwardProp:yr})(({ownerState:e,theme:t})=>A({float:"unset",width:"auto",overflow:"hidden"},!e.withLabel&&{padding:0,lineHeight:"11px",transition:t.transitions.create("width",{duration:150,easing:t.transitions.easing.easeOut})},e.withLabel&&A({display:"block",padding:0,height:11,fontSize:"0.75em",visibility:"hidden",maxWidth:.01,transition:t.transitions.create("max-width",{duration:50,easing:t.transitions.easing.easeOut}),whiteSpace:"nowrap","& > span":{paddingLeft:5,paddingRight:5,display:"inline-block",opacity:0,visibility:"visible"}},e.notched&&{maxWidth:"100%",transition:t.transitions.create("max-width",{duration:100,easing:t.transitions.easing.easeOut,delay:50})})));function YPe(e){const{className:t,label:n,notched:r}=e,a=$e(e,GPe),o=n!=null&&n!=="",s=A({},e,{notched:r,withLabel:o});return p.jsx(KPe,A({"aria-hidden":!0,className:t,ownerState:s},a,{children:p.jsx(JPe,{ownerState:s,children:o?p.jsx("span",{children:n}):P5||(P5=p.jsx("span",{className:"notranslate",children:"​"}))})}))}i(YPe,"NotchedOutline");const QPe=["components","fullWidth","inputComponent","label","multiline","notched","slots","type"],XPe=i(e=>{const{classes:t}=e,r=Ke({root:["root"],notchedOutline:["notchedOutline"],input:["input"]},Tke,t);return A({},t,r)},"useUtilityClasses$l"),ZPe=te(w1,{shouldForwardProp:e=>yr(e)||e==="classes",name:"MuiOutlinedInput",slot:"Root",overridesResolver:b1})(({theme:e,ownerState:t})=>{const n=e.palette.mode==="light"?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)";return A({position:"relative",borderRadius:(e.vars||e).shape.borderRadius,[`&:hover .${Zo.notchedOutline}`]:{borderColor:(e.vars||e).palette.text.primary},"@media (hover: none)":{[`&:hover .${Zo.notchedOutline}`]:{borderColor:e.vars?`rgba(${e.vars.palette.common.onBackgroundChannel} / 0.23)`:n}},[`&.${Zo.focused} .${Zo.notchedOutline}`]:{borderColor:(e.vars||e).palette[t.color].main,borderWidth:2},[`&.${Zo.error} .${Zo.notchedOutline}`]:{borderColor:(e.vars||e).palette.error.main},[`&.${Zo.disabled} .${Zo.notchedOutline}`]:{borderColor:(e.vars||e).palette.action.disabled}},t.startAdornment&&{paddingLeft:14},t.endAdornment&&{paddingRight:14},t.multiline&&A({padding:"16.5px 14px"},t.size==="small"&&{padding:"8.5px 14px"}))}),eTe=te(YPe,{name:"MuiOutlinedInput",slot:"NotchedOutline",overridesResolver:(e,t)=>t.notchedOutline})(({theme:e})=>{const t=e.palette.mode==="light"?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)";return{borderColor:e.vars?`rgba(${e.vars.palette.common.onBackgroundChannel} / 0.23)`:t}}),tTe=te(C1,{name:"MuiOutlinedInput",slot:"Input",overridesResolver:x1})(({theme:e,ownerState:t})=>A({padding:"16.5px 14px"},!e.vars&&{"&:-webkit-autofill":{WebkitBoxShadow:e.palette.mode==="light"?null:"0 0 0 100px #266798 inset",WebkitTextFillColor:e.palette.mode==="light"?null:"#fff",caretColor:e.palette.mode==="light"?null:"#fff",borderRadius:"inherit"}},e.vars&&{"&:-webkit-autofill":{borderRadius:"inherit"},[e.getColorSchemeSelector("dark")]:{"&:-webkit-autofill":{WebkitBoxShadow:"0 0 0 100px #266798 inset",WebkitTextFillColor:"#fff",caretColor:"#fff"}}},t.size==="small"&&{padding:"8.5px 14px"},t.multiline&&{padding:0},t.startAdornment&&{paddingLeft:0},t.endAdornment&&{paddingRight:0})),SU=v.forwardRef(i(function(t,n){var r,a,o,s,c;const l=Qe({props:t,name:"MuiOutlinedInput"}),{components:u={},fullWidth:d=!1,inputComponent:f="input",label:m,multiline:g=!1,notched:h,slots:y={},type:b="text"}=l,x=$e(l,QPe),w=XPe(l),C=Bi(),j=Mc({props:l,muiFormControl:C,states:["color","disabled","error","focused","hiddenLabel","size","required"]}),_=A({},l,{color:j.color||"primary",disabled:j.disabled,error:j.error,focused:j.focused,formControl:C,fullWidth:d,hiddenLabel:j.hiddenLabel,multiline:g,size:j.size,type:b}),S=(r=(a=y.root)!=null?a:u.Root)!=null?r:ZPe,k=(o=(s=y.input)!=null?s:u.Input)!=null?o:tTe;return p.jsx(S1,A({slots:{root:S,input:k},renderSuffix:$=>p.jsx(eTe,{ownerState:_,className:w.notchedOutline,label:m!=null&&m!==""&&j.required?c||(c=p.jsxs(v.Fragment,{children:[m," ","*"]})):m,notched:typeof h<"u"?h:!!($.startAdornment||$.filled||$.focused)}),fullWidth:d,inputComponent:f,multiline:g,ref:n,type:b},x,{classes:A({},w,{notchedOutline:null})}))},"OutlinedInput2"));SU.muiName="Input";const jU=SU;function nTe(e){return Ge("MuiPagination",e)}i(nTe,"getPaginationUtilityClass");Ye("MuiPagination",["root","ul","outlined","text"]);const rTe=["boundaryCount","componentName","count","defaultPage","disabled","hideNextButton","hidePrevButton","onChange","page","showFirstButton","showLastButton","siblingCount"];function aTe(e={}){const{boundaryCount:t=1,componentName:n="usePagination",count:r=1,defaultPage:a=1,disabled:o=!1,hideNextButton:s=!1,hidePrevButton:c=!1,onChange:l,page:u,showFirstButton:d=!1,showLastButton:f=!1,siblingCount:m=1}=e,g=$e(e,rTe),[h,y]=ls({controlled:u,default:a,name:n,state:"page"}),b=i((E,P)=>{u||y(P),l&&l(E,P)},"handleClick"),x=i((E,P)=>{const R=P-E+1;return Array.from({length:R},(T,M)=>E+M)},"range"),w=x(1,Math.min(t,r)),C=x(Math.max(r-t+1,t+1),r),j=Math.max(Math.min(h-m,r-t-m*2-1),t+2),_=Math.min(Math.max(h+m,t+m*2+2),C.length>0?C[0]-2:r-1),S=[...d?["first"]:[],...c?[]:["previous"],...w,...j>t+2?["start-ellipsis"]:t+1t?[r-t]:[],...C,...s?[]:["next"],...f?["last"]:[]],k=i(E=>{switch(E){case"first":return 1;case"previous":return h-1;case"next":return h+1;case"last":return r;default:return null}},"buttonPage"),$=S.map(E=>typeof E=="number"?{onClick:P=>{b(P,E)},type:"page",page:E,selected:E===h,disabled:o,"aria-current":E===h?"true":void 0}:{onClick:P=>{b(P,k(E))},type:E,page:k(E),selected:!1,disabled:o||E.indexOf("ellipsis")===-1&&(E==="next"||E==="last"?h>=r:h<=1)});return A({items:$},g)}i(aTe,"usePagination");function oTe(e){return Ge("MuiPaginationItem",e)}i(oTe,"getPaginationItemUtilityClass");const iTe=Ye("MuiPaginationItem",["root","page","sizeSmall","sizeLarge","text","textPrimary","textSecondary","outlined","outlinedPrimary","outlinedSecondary","rounded","ellipsis","firstLast","previousNext","focusVisible","disabled","selected","icon","colorPrimary","colorSecondary"]),Ua=iTe,o_=lr(p.jsx("path",{d:"M18.41 16.59L13.82 12l4.59-4.59L17 6l-6 6 6 6zM6 6h2v12H6z"}),"FirstPage"),i_=lr(p.jsx("path",{d:"M5.59 7.41L10.18 12l-4.59 4.59L7 18l6-6-6-6zM16 6h2v12h-2z"}),"LastPage"),T5=lr(p.jsx("path",{d:"M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z"}),"NavigateBefore"),M5=lr(p.jsx("path",{d:"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"}),"NavigateNext"),sTe=["className","color","component","components","disabled","page","selected","shape","size","slots","type","variant"],_U=i((e,t)=>{const{ownerState:n}=e;return[t.root,t[n.variant],t[`size${ve(n.size)}`],n.variant==="text"&&t[`text${ve(n.color)}`],n.variant==="outlined"&&t[`outlined${ve(n.color)}`],n.shape==="rounded"&&t.rounded,n.type==="page"&&t.page,(n.type==="start-ellipsis"||n.type==="end-ellipsis")&&t.ellipsis,(n.type==="previous"||n.type==="next")&&t.previousNext,(n.type==="first"||n.type==="last")&&t.firstLast]},"overridesResolver"),cTe=i(e=>{const{classes:t,color:n,disabled:r,selected:a,size:o,shape:s,type:c,variant:l}=e,u={root:["root",`size${ve(o)}`,l,s,n!=="standard"&&`color${ve(n)}`,n!=="standard"&&`${l}${ve(n)}`,r&&"disabled",a&&"selected",{page:"page",first:"firstLast",last:"firstLast","start-ellipsis":"ellipsis","end-ellipsis":"ellipsis",previous:"previousNext",next:"previousNext"}[c]],icon:["icon"]};return Ke(u,oTe,t)},"useUtilityClasses$k"),lTe=te("div",{name:"MuiPaginationItem",slot:"Root",overridesResolver:_U})(({theme:e,ownerState:t})=>A({},e.typography.body2,{borderRadius:32/2,textAlign:"center",boxSizing:"border-box",minWidth:32,padding:"0 6px",margin:"0 3px",color:(e.vars||e).palette.text.primary,height:"auto",[`&.${Ua.disabled}`]:{opacity:(e.vars||e).palette.action.disabledOpacity}},t.size==="small"&&{minWidth:26,borderRadius:26/2,margin:"0 1px",padding:"0 4px"},t.size==="large"&&{minWidth:40,borderRadius:40/2,padding:"0 10px",fontSize:e.typography.pxToRem(15)})),uTe=te(Ia,{name:"MuiPaginationItem",slot:"Root",overridesResolver:_U})(({theme:e,ownerState:t})=>A({},e.typography.body2,{borderRadius:32/2,textAlign:"center",boxSizing:"border-box",minWidth:32,height:32,padding:"0 6px",margin:"0 3px",color:(e.vars||e).palette.text.primary,[`&.${Ua.focusVisible}`]:{backgroundColor:(e.vars||e).palette.action.focus},[`&.${Ua.disabled}`]:{opacity:(e.vars||e).palette.action.disabledOpacity},transition:e.transitions.create(["color","background-color"],{duration:e.transitions.duration.short}),"&:hover":{backgroundColor:(e.vars||e).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${Ua.selected}`]:{backgroundColor:(e.vars||e).palette.action.selected,"&:hover":{backgroundColor:e.vars?`rgba(${e.vars.palette.action.selectedChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.hoverOpacity}))`:bt(e.palette.action.selected,e.palette.action.selectedOpacity+e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:(e.vars||e).palette.action.selected}},[`&.${Ua.focusVisible}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.action.selectedChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.focusOpacity}))`:bt(e.palette.action.selected,e.palette.action.selectedOpacity+e.palette.action.focusOpacity)},[`&.${Ua.disabled}`]:{opacity:1,color:(e.vars||e).palette.action.disabled,backgroundColor:(e.vars||e).palette.action.selected}}},t.size==="small"&&{minWidth:26,height:26,borderRadius:26/2,margin:"0 1px",padding:"0 4px"},t.size==="large"&&{minWidth:40,height:40,borderRadius:40/2,padding:"0 10px",fontSize:e.typography.pxToRem(15)},t.shape==="rounded"&&{borderRadius:(e.vars||e).shape.borderRadius}),({theme:e,ownerState:t})=>A({},t.variant==="text"&&{[`&.${Ua.selected}`]:A({},t.color!=="standard"&&{color:(e.vars||e).palette[t.color].contrastText,backgroundColor:(e.vars||e).palette[t.color].main,"&:hover":{backgroundColor:(e.vars||e).palette[t.color].dark,"@media (hover: none)":{backgroundColor:(e.vars||e).palette[t.color].main}},[`&.${Ua.focusVisible}`]:{backgroundColor:(e.vars||e).palette[t.color].dark}},{[`&.${Ua.disabled}`]:{color:(e.vars||e).palette.action.disabled}})},t.variant==="outlined"&&{border:e.vars?`1px solid rgba(${e.vars.palette.common.onBackgroundChannel} / 0.23)`:`1px solid ${e.palette.mode==="light"?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)"}`,[`&.${Ua.selected}`]:A({},t.color!=="standard"&&{color:(e.vars||e).palette[t.color].main,border:`1px solid ${e.vars?`rgba(${e.vars.palette[t.color].mainChannel} / 0.5)`:bt(e.palette[t.color].main,.5)}`,backgroundColor:e.vars?`rgba(${e.vars.palette[t.color].mainChannel} / ${e.vars.palette.action.activatedOpacity})`:bt(e.palette[t.color].main,e.palette.action.activatedOpacity),"&:hover":{backgroundColor:e.vars?`rgba(${e.vars.palette[t.color].mainChannel} / calc(${e.vars.palette.action.activatedOpacity} + ${e.vars.palette.action.focusOpacity}))`:bt(e.palette[t.color].main,e.palette.action.activatedOpacity+e.palette.action.focusOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${Ua.focusVisible}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette[t.color].mainChannel} / calc(${e.vars.palette.action.activatedOpacity} + ${e.vars.palette.action.focusOpacity}))`:bt(e.palette[t.color].main,e.palette.action.activatedOpacity+e.palette.action.focusOpacity)}},{[`&.${Ua.disabled}`]:{borderColor:(e.vars||e).palette.action.disabledBackground,color:(e.vars||e).palette.action.disabled}})})),dTe=te("div",{name:"MuiPaginationItem",slot:"Icon",overridesResolver:(e,t)=>t.icon})(({theme:e,ownerState:t})=>A({fontSize:e.typography.pxToRem(20),margin:"0 -8px"},t.size==="small"&&{fontSize:e.typography.pxToRem(18)},t.size==="large"&&{fontSize:e.typography.pxToRem(22)})),fTe=v.forwardRef(i(function(t,n){const r=Qe({props:t,name:"MuiPaginationItem"}),{className:a,color:o="standard",component:s,components:c={},disabled:l=!1,page:u,selected:d=!1,shape:f="circular",size:m="medium",slots:g={},type:h="page",variant:y="text"}=r,b=$e(r,sTe),x=A({},r,{color:o,disabled:l,selected:d,shape:f,size:m,type:h,variant:y}),w=Pc(),C=cTe(x),_=(w?{previous:g.next||c.next||M5,next:g.previous||c.previous||T5,last:g.first||c.first||o_,first:g.last||c.last||i_}:{previous:g.previous||c.previous||T5,next:g.next||c.next||M5,first:g.first||c.first||o_,last:g.last||c.last||i_})[h];return h==="start-ellipsis"||h==="end-ellipsis"?p.jsx(lTe,{ref:n,ownerState:x,className:de(C.root,a),children:"…"}):p.jsxs(uTe,A({ref:n,ownerState:x,component:s,disabled:l,className:de(C.root,a)},b,{children:[h==="page"&&u,_?p.jsx(dTe,{as:_,ownerState:x,className:C.icon}):null]}))},"PaginationItem2")),pTe=fTe,mTe=["boundaryCount","className","color","count","defaultPage","disabled","getItemAriaLabel","hideNextButton","hidePrevButton","onChange","page","renderItem","shape","showFirstButton","showLastButton","siblingCount","size","variant"],hTe=i(e=>{const{classes:t,variant:n}=e;return Ke({root:["root",n],ul:["ul"]},nTe,t)},"useUtilityClasses$j"),gTe=te("nav",{name:"MuiPagination",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[n.variant]]}})({}),vTe=te("ul",{name:"MuiPagination",slot:"Ul",overridesResolver:(e,t)=>t.ul})({display:"flex",flexWrap:"wrap",alignItems:"center",padding:0,margin:0,listStyle:"none"});function yTe(e,t,n){return e==="page"?`${n?"":"Go to "}page ${t}`:`Go to ${e} page`}i(yTe,"defaultGetAriaLabel$1");const bTe=v.forwardRef(i(function(t,n){const r=Qe({props:t,name:"MuiPagination"}),{boundaryCount:a=1,className:o,color:s="standard",count:c=1,defaultPage:l=1,disabled:u=!1,getItemAriaLabel:d=yTe,hideNextButton:f=!1,hidePrevButton:m=!1,renderItem:g=i($=>p.jsx(pTe,A({},$)),"renderItem"),shape:h="circular",showFirstButton:y=!1,showLastButton:b=!1,siblingCount:x=1,size:w="medium",variant:C="text"}=r,j=$e(r,mTe),{items:_}=aTe(A({},r,{componentName:"Pagination"})),S=A({},r,{boundaryCount:a,color:s,count:c,defaultPage:l,disabled:u,getItemAriaLabel:d,hideNextButton:f,hidePrevButton:m,renderItem:g,shape:h,showFirstButton:y,showLastButton:b,siblingCount:x,size:w,variant:C}),k=hTe(S);return p.jsx(gTe,A({"aria-label":"pagination navigation",className:de(k.root,o),ownerState:S,ref:n},j,{children:p.jsx(vTe,{className:k.ul,ownerState:S,children:_.map(($,E)=>p.jsx("li",{children:g(A({},$,{color:s,"aria-label":d($.type,$.page,$.selected),shape:h,size:w,variant:C}))},E))})}))},"Pagination2")),xTe=bTe;function wTe(e){return Ge("MuiScopedCssBaseline",e)}i(wTe,"getScopedCssBaselineUtilityClass");Ye("MuiScopedCssBaseline",["root"]);const CTe=["className","component","enableColorScheme"],STe=i(e=>{const{classes:t}=e;return Ke({root:["root"]},wTe,t)},"useUtilityClasses$i"),jTe=te("div",{name:"MuiScopedCssBaseline",slot:"Root",overridesResolver:(e,t)=>t.root})(({theme:e,ownerState:t})=>{const n={};return t.enableColorScheme&&e.colorSchemes&&Object.entries(e.colorSchemes).forEach(([r,a])=>{var o;n[`&${e.getColorSchemeSelector(r).replace(/\s*&/,"")}`]={colorScheme:(o=a.palette)==null?void 0:o.mode}}),A({},tU(e,t.enableColorScheme),nU(e),{"& *, & *::before, & *::after":{boxSizing:"inherit"},"& strong, & b":{fontWeight:e.typography.fontWeightBold}},n)}),_Te=v.forwardRef(i(function(t,n){const r=Qe({props:t,name:"MuiScopedCssBaseline"}),{className:a,component:o="div"}=r,s=$e(r,CTe),c=A({},r,{component:o}),l=STe(c);return p.jsx(jTe,A({as:o,className:de(l.root,a),ref:n,ownerState:c},s))},"ScopedCssBaseline2")),kTe=_Te;function $Te(e){return Ge("MuiSelect",e)}i($Te,"getSelectUtilityClasses");const Op=Ye("MuiSelect",["root","select","multiple","filled","outlined","standard","disabled","focused","icon","iconOpen","iconFilled","iconOutlined","iconStandard","nativeInput","error"]);var O5;const ETe=["aria-describedby","aria-label","autoFocus","autoWidth","children","className","defaultOpen","defaultValue","disabled","displayEmpty","error","IconComponent","inputRef","labelId","MenuProps","multiple","name","onBlur","onChange","onClose","onFocus","onOpen","open","readOnly","renderValue","SelectDisplayProps","tabIndex","type","value","variant"],RTe=te("div",{name:"MuiSelect",slot:"Select",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[{[`&.${Op.select}`]:t.select},{[`&.${Op.select}`]:t[n.variant]},{[`&.${Op.error}`]:t.error},{[`&.${Op.multiple}`]:t.multiple}]}})(wU,{[`&.${Op.select}`]:{height:"auto",minHeight:"1.4375em",textOverflow:"ellipsis",whiteSpace:"nowrap",overflow:"hidden"}}),ATe=te("svg",{name:"MuiSelect",slot:"Icon",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.icon,n.variant&&t[`icon${ve(n.variant)}`],n.open&&t.iconOpen]}})(CU),PTe=te("input",{shouldForwardProp:e=>_W(e)&&e!=="classes",name:"MuiSelect",slot:"NativeInput",overridesResolver:(e,t)=>t.nativeInput})({bottom:0,left:0,position:"absolute",opacity:0,pointerEvents:"none",width:"100%",boxSizing:"border-box"});function z5(e,t){return typeof t=="object"&&t!==null?e===t:String(e)===String(t)}i(z5,"areEqualValues");function TTe(e){return e==null||typeof e=="string"&&!e.trim()}i(TTe,"isEmpty");const MTe=i(e=>{const{classes:t,variant:n,disabled:r,multiple:a,open:o,error:s}=e,c={select:["select",n,r&&"disabled",a&&"multiple",s&&"error"],icon:["icon",`icon${ve(n)}`,o&&"iconOpen",r&&"disabled"],nativeInput:["nativeInput"]};return Ke(c,$Te,t)},"useUtilityClasses$h"),OTe=v.forwardRef(i(function(t,n){var r;const{"aria-describedby":a,"aria-label":o,autoFocus:s,autoWidth:c,children:l,className:u,defaultOpen:d,defaultValue:f,disabled:m,displayEmpty:g,error:h=!1,IconComponent:y,inputRef:b,labelId:x,MenuProps:w={},multiple:C,name:j,onBlur:_,onChange:S,onClose:k,onFocus:$,onOpen:E,open:P,readOnly:R,renderValue:T,SelectDisplayProps:M={},tabIndex:I,value:z,variant:H="standard"}=t,F=$e(t,ETe),[L,B]=ls({controlled:z,default:f,name:"Select"}),[K,se]=ls({controlled:P,default:d,name:"Select"}),ue=v.useRef(null),_e=v.useRef(null),[le,V]=v.useState(null),{current:q}=v.useRef(P!=null),[Y,O]=v.useState(),D=ln(n,b),Z=v.useCallback(G=>{_e.current=G,G&&V(G)},[]),J=le==null?void 0:le.parentNode;v.useImperativeHandle(D,()=>({focus:()=>{_e.current.focus()},node:ue.current,value:L}),[L]),v.useEffect(()=>{d&&K&&le&&!q&&(O(c?null:J.clientWidth),_e.current.focus())},[le,c]),v.useEffect(()=>{s&&_e.current.focus()},[s]),v.useEffect(()=>{if(!x)return;const G=tr(_e.current).getElementById(x);if(G){const ae=i(()=>{getSelection().isCollapsed&&_e.current.focus()},"handler");return G.addEventListener("click",ae),()=>{G.removeEventListener("click",ae)}}},[x]);const U=i((G,ae)=>{G?E&&E(ae):k&&k(ae),q||(O(c?null:J.clientWidth),se(G))},"update"),ne=i(G=>{G.button===0&&(G.preventDefault(),_e.current.focus(),U(!0,G))},"handleMouseDown"),ie=i(G=>{U(!1,G)},"handleClose"),he=v.Children.toArray(l),N=i(G=>{const ae=he.find(ce=>ce.props.value===G.target.value);ae!==void 0&&(B(ae.props.value),S&&S(G,ae))},"handleChange"),Q=i(G=>ae=>{let ce;if(ae.currentTarget.hasAttribute("tabindex")){if(C){ce=Array.isArray(L)?L.slice():[];const be=L.indexOf(G.props.value);be===-1?ce.push(G.props.value):ce.splice(be,1)}else ce=G.props.value;if(G.props.onClick&&G.props.onClick(ae),L!==ce&&(B(ce),S)){const be=ae.nativeEvent||ae,Ue=new be.constructor(be.type,be);Object.defineProperty(Ue,"target",{writable:!0,value:{value:ce,name:j}}),S(Ue,G)}C||U(!1,ae)}},"handleItemClick"),X=i(G=>{R||[" ","ArrowUp","ArrowDown","Enter"].indexOf(G.key)!==-1&&(G.preventDefault(),U(!0,G))},"handleKeyDown"),we=le!==null&&K,fe=i(G=>{!we&&_&&(Object.defineProperty(G,"target",{writable:!0,value:{value:L,name:j}}),_(G))},"handleBlur");delete F["aria-invalid"];let pe,xe;const Re=[];let Me=!1;(Ib({value:L})||g)&&(T?pe=T(L):Me=!0);const Je=he.map(G=>{if(!v.isValidElement(G))return null;let ae;if(C){if(!Array.isArray(L))throw new Error(hs(2));ae=L.some(ce=>z5(ce,G.props.value)),ae&&Me&&Re.push(G.props.children)}else ae=z5(L,G.props.value),ae&&Me&&(xe=G.props.children);return v.cloneElement(G,{"aria-selected":ae?"true":"false",onClick:Q(G),onKeyUp:ce=>{ce.key===" "&&ce.preventDefault(),G.props.onKeyUp&&G.props.onKeyUp(ce)},role:"option",selected:ae,value:void 0,"data-value":G.props.value})});Me&&(C?Re.length===0?pe=null:pe=Re.reduce((G,ae,ce)=>(G.push(ae),ce{const{classes:t}=e;return t},"useUtilityClasses$g"),mR={name:"MuiSelect",overridesResolver:(e,t)=>t.root,shouldForwardProp:e=>yr(e)&&e!=="variant",slot:"Root"},NTe=te(mU,mR)(""),FTe=te(jU,mR)(""),BTe=te(uR,mR)(""),kU=v.forwardRef(i(function(t,n){const r=Qe({name:"MuiSelect",props:t}),{autoWidth:a=!1,children:o,classes:s={},className:c,defaultOpen:l=!1,displayEmpty:u=!1,IconComponent:d=YW,id:f,input:m,inputProps:g,label:h,labelId:y,MenuProps:b,multiple:x=!1,native:w=!1,onClose:C,onOpen:j,open:_,renderValue:S,SelectDisplayProps:k,variant:$="outlined"}=r,E=$e(r,ITe),P=w?VPe:zTe,R=Bi(),T=Mc({props:r,muiFormControl:R,states:["variant","error"]}),M=T.variant||$,I=A({},r,{variant:M,classes:s}),z=DTe(I),H=$e(z,LTe),F=m||{standard:p.jsx(NTe,{ownerState:I}),outlined:p.jsx(FTe,{label:h,ownerState:I}),filled:p.jsx(BTe,{ownerState:I})}[M],L=ln(n,F.ref);return p.jsx(v.Fragment,{children:v.cloneElement(F,A({inputComponent:P,inputProps:A({children:o,error:T.error,IconComponent:d,variant:M,type:void 0,multiple:x},w?{id:f}:{autoWidth:a,defaultOpen:l,displayEmpty:u,labelId:y,MenuProps:b,onClose:C,onOpen:j,open:_,renderValue:S,SelectDisplayProps:A({id:f},k)},g,{classes:g?kr(H,g.classes):H},m?m.props.inputProps:{})},(x&&w||u)&&M==="outlined"?{notched:!0}:{},{ref:L,className:de(F.props.className,c,z.root)},!m&&{variant:M},E))})},"Select2"));kU.muiName="Select";const $U=kU;function WTe(e){return Ge("MuiSnackbarContent",e)}i(WTe,"getSnackbarContentUtilityClass");Ye("MuiSnackbarContent",["root","message","action"]);const UTe=["action","className","message","role"],HTe=i(e=>{const{classes:t}=e;return Ke({root:["root"],action:["action"],message:["message"]},WTe,t)},"useUtilityClasses$f"),qTe=te(Wa,{name:"MuiSnackbarContent",slot:"Root",overridesResolver:(e,t)=>t.root})(({theme:e})=>{const t=e.palette.mode==="light"?.8:.98,n=FCe(e.palette.background.default,t);return A({},e.typography.body2,{color:e.vars?e.vars.palette.SnackbarContent.color:e.palette.getContrastText(n),backgroundColor:e.vars?e.vars.palette.SnackbarContent.bg:n,display:"flex",alignItems:"center",flexWrap:"wrap",padding:"6px 16px",borderRadius:(e.vars||e).shape.borderRadius,flexGrow:1,[e.breakpoints.up("sm")]:{flexGrow:"initial",minWidth:288}})}),VTe=te("div",{name:"MuiSnackbarContent",slot:"Message",overridesResolver:(e,t)=>t.message})({padding:"8px 0"}),GTe=te("div",{name:"MuiSnackbarContent",slot:"Action",overridesResolver:(e,t)=>t.action})({display:"flex",alignItems:"center",marginLeft:"auto",paddingLeft:16,marginRight:-8}),KTe=v.forwardRef(i(function(t,n){const r=Qe({props:t,name:"MuiSnackbarContent"}),{action:a,className:o,message:s,role:c="alert"}=r,l=$e(r,UTe),u=r,d=HTe(u);return p.jsxs(qTe,A({role:c,square:!0,elevation:6,className:de(d.root,o),ownerState:u,ref:n},l,{children:[p.jsx(VTe,{className:d.message,ownerState:u,children:s}),a?p.jsx(GTe,{className:d.action,ownerState:u,children:a}):null]}))},"SnackbarContent2")),JTe=KTe;function YTe(e){return Ge("MuiSnackbar",e)}i(YTe,"getSnackbarUtilityClass");Ye("MuiSnackbar",["root","anchorOriginTopCenter","anchorOriginBottomCenter","anchorOriginTopRight","anchorOriginBottomRight","anchorOriginTopLeft","anchorOriginBottomLeft"]);const QTe=["onEnter","onExited"],XTe=["action","anchorOrigin","autoHideDuration","children","className","ClickAwayListenerProps","ContentProps","disableWindowBlurListener","message","onBlur","onClose","onFocus","onMouseEnter","onMouseLeave","open","resumeHideDuration","TransitionComponent","transitionDuration","TransitionProps"],ZTe=i(e=>{const{classes:t,anchorOrigin:n}=e,r={root:["root",`anchorOrigin${ve(n.vertical)}${ve(n.horizontal)}`]};return Ke(r,YTe,t)},"useUtilityClasses$e"),I5=te("div",{name:"MuiSnackbar",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[`anchorOrigin${ve(n.anchorOrigin.vertical)}${ve(n.anchorOrigin.horizontal)}`]]}})(({theme:e,ownerState:t})=>{const n={left:"50%",right:"auto",transform:"translateX(-50%)"};return A({zIndex:(e.vars||e).zIndex.snackbar,position:"fixed",display:"flex",left:8,right:8,justifyContent:"center",alignItems:"center"},t.anchorOrigin.vertical==="top"?{top:8}:{bottom:8},t.anchorOrigin.horizontal==="left"&&{justifyContent:"flex-start"},t.anchorOrigin.horizontal==="right"&&{justifyContent:"flex-end"},{[e.breakpoints.up("sm")]:A({},t.anchorOrigin.vertical==="top"?{top:24}:{bottom:24},t.anchorOrigin.horizontal==="center"&&n,t.anchorOrigin.horizontal==="left"&&{left:24,right:"auto"},t.anchorOrigin.horizontal==="right"&&{right:24,left:"auto"})})}),eMe=v.forwardRef(i(function(t,n){const r=Qe({props:t,name:"MuiSnackbar"}),a=qo(),o={enter:a.transitions.duration.enteringScreen,exit:a.transitions.duration.leavingScreen},{action:s,anchorOrigin:{vertical:c,horizontal:l}={vertical:"bottom",horizontal:"left"},autoHideDuration:u=null,children:d,className:f,ClickAwayListenerProps:m,ContentProps:g,disableWindowBlurListener:h=!1,message:y,open:b,TransitionComponent:x=Lb,transitionDuration:w=o,TransitionProps:{onEnter:C,onExited:j}={}}=r,_=$e(r.TransitionProps,QTe),S=$e(r,XTe),k=A({},r,{anchorOrigin:{vertical:c,horizontal:l},autoHideDuration:u,disableWindowBlurListener:h,TransitionComponent:x,transitionDuration:w}),$=ZTe(k),{getRootProps:E,onClickAway:P}=K_e(A({},k)),[R,T]=v.useState(!0),M=ho({elementType:I5,getSlotProps:E,externalForwardedProps:S,ownerState:k,additionalProps:{ref:n},className:[$.root,f]}),I=i(H=>{T(!0),j&&j(H)},"handleExited"),z=i((H,F)=>{T(!1),C&&C(H,F)},"handleEnter");return!b&&R?null:p.jsx(g3e,A({onClickAway:P},m,{children:p.jsx(I5,A({},M,{children:p.jsx(x,A({appear:!0,in:b,timeout:w,direction:c==="top"?"down":"up",onEnter:z,onExited:I},_,{children:d||p.jsx(JTe,A({message:y,action:s},g))}))}))}))},"Snackbar2")),tMe=eMe;function nMe(e){return Ge("MuiTooltip",e)}i(nMe,"getTooltipUtilityClass");const rMe=Ye("MuiTooltip",["popper","popperInteractive","popperArrow","popperClose","tooltip","tooltipArrow","touch","tooltipPlacementLeft","tooltipPlacementRight","tooltipPlacementTop","tooltipPlacementBottom","arrow"]),Xs=rMe,aMe=["arrow","children","classes","components","componentsProps","describeChild","disableFocusListener","disableHoverListener","disableInteractive","disableTouchListener","enterDelay","enterNextDelay","enterTouchDelay","followCursor","id","leaveDelay","leaveTouchDelay","onClose","onOpen","open","placement","PopperComponent","PopperProps","slotProps","slots","title","TransitionComponent","TransitionProps"];function oMe(e){return Math.round(e*1e5)/1e5}i(oMe,"round");const iMe=i(e=>{const{classes:t,disableInteractive:n,arrow:r,touch:a,placement:o}=e,s={popper:["popper",!n&&"popperInteractive",r&&"popperArrow"],tooltip:["tooltip",r&&"tooltipArrow",a&&"touch",`tooltipPlacement${ve(o.split("-")[0])}`],arrow:["arrow"]};return Ke(s,nMe,t)},"useUtilityClasses$d"),sMe=te(v1,{name:"MuiTooltip",slot:"Popper",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.popper,!n.disableInteractive&&t.popperInteractive,n.arrow&&t.popperArrow,!n.open&&t.popperClose]}})(({theme:e,ownerState:t,open:n})=>A({zIndex:(e.vars||e).zIndex.tooltip,pointerEvents:"none"},!t.disableInteractive&&{pointerEvents:"auto"},!n&&{pointerEvents:"none"},t.arrow&&{[`&[data-popper-placement*="bottom"] .${Xs.arrow}`]:{top:0,marginTop:"-0.71em","&::before":{transformOrigin:"0 100%"}},[`&[data-popper-placement*="top"] .${Xs.arrow}`]:{bottom:0,marginBottom:"-0.71em","&::before":{transformOrigin:"100% 0"}},[`&[data-popper-placement*="right"] .${Xs.arrow}`]:A({},t.isRtl?{right:0,marginRight:"-0.71em"}:{left:0,marginLeft:"-0.71em"},{height:"1em",width:"0.71em","&::before":{transformOrigin:"100% 100%"}}),[`&[data-popper-placement*="left"] .${Xs.arrow}`]:A({},t.isRtl?{left:0,marginLeft:"-0.71em"}:{right:0,marginRight:"-0.71em"},{height:"1em",width:"0.71em","&::before":{transformOrigin:"0 0"}})})),cMe=te("div",{name:"MuiTooltip",slot:"Tooltip",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.tooltip,n.touch&&t.touch,n.arrow&&t.tooltipArrow,t[`tooltipPlacement${ve(n.placement.split("-")[0])}`]]}})(({theme:e,ownerState:t})=>A({backgroundColor:e.vars?e.vars.palette.Tooltip.bg:bt(e.palette.grey[700],.92),borderRadius:(e.vars||e).shape.borderRadius,color:(e.vars||e).palette.common.white,fontFamily:e.typography.fontFamily,padding:"4px 8px",fontSize:e.typography.pxToRem(11),maxWidth:300,margin:2,wordWrap:"break-word",fontWeight:e.typography.fontWeightMedium},t.arrow&&{position:"relative",margin:0},t.touch&&{padding:"8px 16px",fontSize:e.typography.pxToRem(14),lineHeight:`${oMe(16/14)}em`,fontWeight:e.typography.fontWeightRegular},{[`.${Xs.popper}[data-popper-placement*="left"] &`]:A({transformOrigin:"right center"},t.isRtl?A({marginLeft:"14px"},t.touch&&{marginLeft:"24px"}):A({marginRight:"14px"},t.touch&&{marginRight:"24px"})),[`.${Xs.popper}[data-popper-placement*="right"] &`]:A({transformOrigin:"left center"},t.isRtl?A({marginRight:"14px"},t.touch&&{marginRight:"24px"}):A({marginLeft:"14px"},t.touch&&{marginLeft:"24px"})),[`.${Xs.popper}[data-popper-placement*="top"] &`]:A({transformOrigin:"center bottom",marginBottom:"14px"},t.touch&&{marginBottom:"24px"}),[`.${Xs.popper}[data-popper-placement*="bottom"] &`]:A({transformOrigin:"center top",marginTop:"14px"},t.touch&&{marginTop:"24px"})})),lMe=te("span",{name:"MuiTooltip",slot:"Arrow",overridesResolver:(e,t)=>t.arrow})(({theme:e})=>({overflow:"hidden",position:"absolute",width:"1em",height:"0.71em",boxSizing:"border-box",color:e.vars?e.vars.palette.Tooltip.bg:bt(e.palette.grey[700],.9),"&::before":{content:'""',margin:"auto",display:"block",width:"100%",height:"100%",backgroundColor:"currentColor",transform:"rotate(45deg)"}}));let Sv=!1;const L5=new ih;let zp={x:0,y:0};function jv(e,t){return(n,...r)=>{t&&t(n,...r),e(n,...r)}}i(jv,"composeEventHandler");const uMe=v.forwardRef(i(function(t,n){var r,a,o,s,c,l,u,d,f,m,g,h,y,b,x,w,C,j,_;const S=Qe({props:t,name:"MuiTooltip"}),{arrow:k=!1,children:$,components:E={},componentsProps:P={},describeChild:R=!1,disableFocusListener:T=!1,disableHoverListener:M=!1,disableInteractive:I=!1,disableTouchListener:z=!1,enterDelay:H=100,enterNextDelay:F=0,enterTouchDelay:L=700,followCursor:B=!1,id:K,leaveDelay:se=0,leaveTouchDelay:ue=1500,onClose:_e,onOpen:le,open:V,placement:q="bottom",PopperComponent:Y,PopperProps:O={},slotProps:D={},slots:Z={},title:J,TransitionComponent:U=Lb,TransitionProps:ne}=S,ie=$e(S,aMe),he=v.isValidElement($)?$:p.jsx("span",{children:$}),N=qo(),Q=Pc(),[X,we]=v.useState(),[fe,pe]=v.useState(null),xe=v.useRef(!1),Re=I||B,Me=Yc(),Je=Yc(),pt=Yc(),it=Yc(),[De,Se]=ls({controlled:V,default:!1,name:"Tooltip",state:"open"});let We=De;const yt=vc(K),jt=v.useRef(),G=sr(()=>{jt.current!==void 0&&(document.body.style.WebkitUserSelect=jt.current,jt.current=void 0),it.clear()});v.useEffect(()=>G,[G]);const ae=i(et=>{L5.clear(),Sv=!0,Se(!0),le&&!We&&le(et)},"handleOpen"),ce=sr(et=>{L5.start(800+se,()=>{Sv=!1}),Se(!1),_e&&We&&_e(et),Me.start(N.transitions.duration.shortest,()=>{xe.current=!1})}),be=i(et=>{xe.current&&et.type!=="touchstart"||(X&&X.removeAttribute("title"),Je.clear(),pt.clear(),H||Sv&&F?Je.start(Sv?F:H,()=>{ae(et)}):ae(et))},"handleMouseOver"),Ue=i(et=>{Je.clear(),pt.start(se,()=>{ce(et)})},"handleMouseLeave"),{isFocusVisibleRef:Oe,onBlur:ft,onFocus:kt,ref:wt}=d1(),[,Dt]=v.useState(!1),re=i(et=>{ft(et),Oe.current===!1&&(Dt(!1),Ue(et))},"handleBlur"),oe=i(et=>{X||we(et.currentTarget),kt(et),Oe.current===!0&&(Dt(!0),be(et))},"handleFocus"),ye=i(et=>{xe.current=!0;const Ee=he.props;Ee.onTouchStart&&Ee.onTouchStart(et)},"detectTouchStart"),Ie=i(et=>{ye(et),pt.clear(),Me.clear(),G(),jt.current=document.body.style.WebkitUserSelect,document.body.style.WebkitUserSelect="none",it.start(L,()=>{document.body.style.WebkitUserSelect=jt.current,be(et)})},"handleTouchStart"),He=i(et=>{he.props.onTouchEnd&&he.props.onTouchEnd(et),G(),pt.start(ue,()=>{ce(et)})},"handleTouchEnd");v.useEffect(()=>{if(!We)return;function et(Ee){(Ee.key==="Escape"||Ee.key==="Esc")&&ce(Ee)}return i(et,"handleKeyDown"),document.addEventListener("keydown",et),()=>{document.removeEventListener("keydown",et)}},[ce,We]);const ut=ln(he.ref,wt,we,n);!J&&J!==0&&(We=!1);const Ve=v.useRef(),Ne=i(et=>{const Ee=he.props;Ee.onMouseMove&&Ee.onMouseMove(et),zp={x:et.clientX,y:et.clientY},Ve.current&&Ve.current.update()},"handleMouseMove"),ze={},dt=typeof J=="string";R?(ze.title=!We&&dt&&!M?J:null,ze["aria-describedby"]=We?yt:null):(ze["aria-label"]=dt?J:null,ze["aria-labelledby"]=We&&!dt?yt:null);const St=A({},ze,ie,he.props,{className:de(ie.className,he.props.className),onTouchStart:ye,ref:ut},B?{onMouseMove:Ne}:{}),ke={};z||(St.onTouchStart=Ie,St.onTouchEnd=He),M||(St.onMouseOver=jv(be,St.onMouseOver),St.onMouseLeave=jv(Ue,St.onMouseLeave),Re||(ke.onMouseOver=be,ke.onMouseLeave=Ue)),T||(St.onFocus=jv(oe,St.onFocus),St.onBlur=jv(re,St.onBlur),Re||(ke.onFocus=oe,ke.onBlur=re));const Ce=v.useMemo(()=>{var et;let Ee=[{name:"arrow",enabled:!!fe,options:{element:fe,padding:4}}];return(et=O.popperOptions)!=null&&et.modifiers&&(Ee=Ee.concat(O.popperOptions.modifiers)),A({},O.popperOptions,{modifiers:Ee})},[fe,O]),Fe=A({},S,{isRtl:Q,arrow:k,disableInteractive:Re,placement:q,PopperComponentProp:Y,touch:xe.current}),lt=iMe(Fe),rt=(r=(a=Z.popper)!=null?a:E.Popper)!=null?r:sMe,Nt=(o=(s=(c=Z.transition)!=null?c:E.Transition)!=null?s:U)!=null?o:Lb,Ft=(l=(u=Z.tooltip)!=null?u:E.Tooltip)!=null?l:cMe,me=(d=(f=Z.arrow)!=null?f:E.Arrow)!=null?d:lMe,ge=Vu(rt,A({},O,(m=D.popper)!=null?m:P.popper,{className:de(lt.popper,O==null?void 0:O.className,(g=(h=D.popper)!=null?h:P.popper)==null?void 0:g.className)}),Fe),Le=Vu(Nt,A({},ne,(y=D.transition)!=null?y:P.transition),Fe),Ae=Vu(Ft,A({},(b=D.tooltip)!=null?b:P.tooltip,{className:de(lt.tooltip,(x=(w=D.tooltip)!=null?w:P.tooltip)==null?void 0:x.className)}),Fe),st=Vu(me,A({},(C=D.arrow)!=null?C:P.arrow,{className:de(lt.arrow,(j=(_=D.arrow)!=null?_:P.arrow)==null?void 0:j.className)}),Fe);return p.jsxs(v.Fragment,{children:[v.cloneElement(he,St),p.jsx(rt,A({as:Y??v1,placement:q,anchorEl:B?{getBoundingClientRect:()=>({top:zp.y,left:zp.x,right:zp.x,bottom:zp.y,width:0,height:0})}:X,popperRef:Ve,open:X?We:!1,id:yt,transition:!0},ke,ge,{popperOptions:Ce,children:({TransitionProps:et})=>p.jsx(Nt,A({timeout:N.transitions.duration.shorter},et,Le,{children:p.jsxs(Ft,A({},Ae,{children:[J,k?p.jsx(me,A({},st,{ref:pe})):null]}))}))}))]})},"Tooltip2")),Lo=uMe;function dMe(e){return Ge("MuiSwitch",e)}i(dMe,"getSwitchUtilityClass");const Dr=Ye("MuiSwitch",["root","edgeStart","edgeEnd","switchBase","colorPrimary","colorSecondary","sizeSmall","sizeMedium","checked","disabled","input","thumb","track"]),fMe=["className","color","edge","size","sx"],pMe=p1(),mMe=i(e=>{const{classes:t,edge:n,size:r,color:a,checked:o,disabled:s}=e,c={root:["root",n&&`edge${ve(n)}`,`size${ve(r)}`],switchBase:["switchBase",`color${ve(a)}`,o&&"checked",s&&"disabled"],thumb:["thumb"],track:["track"],input:["input"]},l=Ke(c,dMe,t);return A({},t,l)},"useUtilityClasses$c"),hMe=te("span",{name:"MuiSwitch",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.edge&&t[`edge${ve(n.edge)}`],t[`size${ve(n.size)}`]]}})({display:"inline-flex",width:34+12*2,height:14+12*2,overflow:"hidden",padding:12,boxSizing:"border-box",position:"relative",flexShrink:0,zIndex:0,verticalAlign:"middle","@media print":{colorAdjust:"exact"},variants:[{props:{edge:"start"},style:{marginLeft:-8}},{props:{edge:"end"},style:{marginRight:-8}},{props:{size:"small"},style:{width:40,height:24,padding:7,[`& .${Dr.thumb}`]:{width:16,height:16},[`& .${Dr.switchBase}`]:{padding:4,[`&.${Dr.checked}`]:{transform:"translateX(16px)"}}}}]}),gMe=te(eU,{name:"MuiSwitch",slot:"SwitchBase",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.switchBase,{[`& .${Dr.input}`]:t.input},n.color!=="default"&&t[`color${ve(n.color)}`]]}})(({theme:e})=>({position:"absolute",top:0,left:0,zIndex:1,color:e.vars?e.vars.palette.Switch.defaultColor:`${e.palette.mode==="light"?e.palette.common.white:e.palette.grey[300]}`,transition:e.transitions.create(["left","transform"],{duration:e.transitions.duration.shortest}),[`&.${Dr.checked}`]:{transform:"translateX(20px)"},[`&.${Dr.disabled}`]:{color:e.vars?e.vars.palette.Switch.defaultDisabledColor:`${e.palette.mode==="light"?e.palette.grey[100]:e.palette.grey[600]}`},[`&.${Dr.checked} + .${Dr.track}`]:{opacity:.5},[`&.${Dr.disabled} + .${Dr.track}`]:{opacity:e.vars?e.vars.opacity.switchTrackDisabled:`${e.palette.mode==="light"?.12:.2}`},[`& .${Dr.input}`]:{left:"-100%",width:"300%"}}),({theme:e})=>({"&:hover":{backgroundColor:e.vars?`rgba(${e.vars.palette.action.activeChannel} / ${e.vars.palette.action.hoverOpacity})`:bt(e.palette.action.active,e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},variants:[...Object.entries(e.palette).filter(([,t])=>t.main&&t.light).map(([t])=>({props:{color:t},style:{[`&.${Dr.checked}`]:{color:(e.vars||e).palette[t].main,"&:hover":{backgroundColor:e.vars?`rgba(${e.vars.palette[t].mainChannel} / ${e.vars.palette.action.hoverOpacity})`:bt(e.palette[t].main,e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${Dr.disabled}`]:{color:e.vars?e.vars.palette.Switch[`${t}DisabledColor`]:`${e.palette.mode==="light"?rf(e.palette[t].main,.62):nf(e.palette[t].main,.55)}`}},[`&.${Dr.checked} + .${Dr.track}`]:{backgroundColor:(e.vars||e).palette[t].main}}}))]})),vMe=te("span",{name:"MuiSwitch",slot:"Track",overridesResolver:(e,t)=>t.track})(({theme:e})=>({height:"100%",width:"100%",borderRadius:14/2,zIndex:-1,transition:e.transitions.create(["opacity","background-color"],{duration:e.transitions.duration.shortest}),backgroundColor:e.vars?e.vars.palette.common.onBackground:`${e.palette.mode==="light"?e.palette.common.black:e.palette.common.white}`,opacity:e.vars?e.vars.opacity.switchTrack:`${e.palette.mode==="light"?.38:.3}`})),yMe=te("span",{name:"MuiSwitch",slot:"Thumb",overridesResolver:(e,t)=>t.thumb})(({theme:e})=>({boxShadow:(e.vars||e).shadows[1],backgroundColor:"currentColor",width:20,height:20,borderRadius:"50%"})),bMe=v.forwardRef(i(function(t,n){const r=pMe({props:t,name:"MuiSwitch"}),{className:a,color:o="primary",edge:s=!1,size:c="medium",sx:l}=r,u=$e(r,fMe),d=A({},r,{color:o,edge:s,size:c}),f=mMe(d),m=p.jsx(yMe,{className:f.thumb,ownerState:d});return p.jsxs(hMe,{className:de(f.root,a),sx:l,ownerState:d,children:[p.jsx(gMe,A({type:"checkbox",icon:m,checkedIcon:m,ref:n,ownerState:d},u,{classes:A({},f,{root:f.switchBase})})),p.jsx(vMe,{className:f.track,ownerState:d})]})},"Switch2")),xMe=bMe;function wMe(e){return Ge("MuiTab",e)}i(wMe,"getTabUtilityClass");const CMe=Ye("MuiTab",["root","labelIcon","textColorInherit","textColorPrimary","textColorSecondary","selected","disabled","fullWidth","wrapped","iconWrapper"]),zc=CMe,SMe=["className","disabled","disableFocusRipple","fullWidth","icon","iconPosition","indicator","label","onChange","onClick","onFocus","selected","selectionFollowsFocus","textColor","value","wrapped"],jMe=i(e=>{const{classes:t,textColor:n,fullWidth:r,wrapped:a,icon:o,label:s,selected:c,disabled:l}=e,u={root:["root",o&&s&&"labelIcon",`textColor${ve(n)}`,r&&"fullWidth",a&&"wrapped",c&&"selected",l&&"disabled"],iconWrapper:["iconWrapper"]};return Ke(u,wMe,t)},"useUtilityClasses$b"),_Me=te(Ia,{name:"MuiTab",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.label&&n.icon&&t.labelIcon,t[`textColor${ve(n.textColor)}`],n.fullWidth&&t.fullWidth,n.wrapped&&t.wrapped]}})(({theme:e,ownerState:t})=>A({},e.typography.button,{maxWidth:360,minWidth:90,position:"relative",minHeight:48,flexShrink:0,padding:"12px 16px",overflow:"hidden",whiteSpace:"normal",textAlign:"center"},t.label&&{flexDirection:t.iconPosition==="top"||t.iconPosition==="bottom"?"column":"row"},{lineHeight:1.25},t.icon&&t.label&&{minHeight:72,paddingTop:9,paddingBottom:9,[`& > .${zc.iconWrapper}`]:A({},t.iconPosition==="top"&&{marginBottom:6},t.iconPosition==="bottom"&&{marginTop:6},t.iconPosition==="start"&&{marginRight:e.spacing(1)},t.iconPosition==="end"&&{marginLeft:e.spacing(1)})},t.textColor==="inherit"&&{color:"inherit",opacity:.6,[`&.${zc.selected}`]:{opacity:1},[`&.${zc.disabled}`]:{opacity:(e.vars||e).palette.action.disabledOpacity}},t.textColor==="primary"&&{color:(e.vars||e).palette.text.secondary,[`&.${zc.selected}`]:{color:(e.vars||e).palette.primary.main},[`&.${zc.disabled}`]:{color:(e.vars||e).palette.text.disabled}},t.textColor==="secondary"&&{color:(e.vars||e).palette.text.secondary,[`&.${zc.selected}`]:{color:(e.vars||e).palette.secondary.main},[`&.${zc.disabled}`]:{color:(e.vars||e).palette.text.disabled}},t.fullWidth&&{flexShrink:1,flexGrow:1,flexBasis:0,maxWidth:"none"},t.wrapped&&{fontSize:e.typography.pxToRem(12)})),kMe=v.forwardRef(i(function(t,n){const r=Qe({props:t,name:"MuiTab"}),{className:a,disabled:o=!1,disableFocusRipple:s=!1,fullWidth:c,icon:l,iconPosition:u="top",indicator:d,label:f,onChange:m,onClick:g,onFocus:h,selected:y,selectionFollowsFocus:b,textColor:x="inherit",value:w,wrapped:C=!1}=r,j=$e(r,SMe),_=A({},r,{disabled:o,disableFocusRipple:s,selected:y,icon:!!l,iconPosition:u,label:!!f,fullWidth:c,textColor:x,wrapped:C}),S=jMe(_),k=l&&f&&v.isValidElement(l)?v.cloneElement(l,{className:de(S.iconWrapper,l.props.className)}):l,$=i(P=>{!y&&m&&m(P,w),g&&g(P)},"handleClick"),E=i(P=>{b&&!y&&m&&m(P,w),h&&h(P)},"handleFocus");return p.jsxs(_Me,A({focusRipple:!s,className:de(S.root,a),ref:n,role:"tab","aria-selected":y,disabled:o,onClick:$,onFocus:E,ownerState:_,tabIndex:y?0:-1},j,{children:[u==="top"||u==="start"?p.jsxs(v.Fragment,{children:[k,f]}):p.jsxs(v.Fragment,{children:[f,k]}),d]}))},"Tab2")),Gu=kMe,$Me=v.createContext(),EU=$Me;function EMe(e){return Ge("MuiTable",e)}i(EMe,"getTableUtilityClass");Ye("MuiTable",["root","stickyHeader"]);const RMe=["className","component","padding","size","stickyHeader"],AMe=i(e=>{const{classes:t,stickyHeader:n}=e;return Ke({root:["root",n&&"stickyHeader"]},EMe,t)},"useUtilityClasses$a"),PMe=te("table",{name:"MuiTable",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.stickyHeader&&t.stickyHeader]}})(({theme:e,ownerState:t})=>A({display:"table",width:"100%",borderCollapse:"collapse",borderSpacing:0,"& caption":A({},e.typography.body2,{padding:e.spacing(2),color:(e.vars||e).palette.text.secondary,textAlign:"left",captionSide:"bottom"})},t.stickyHeader&&{borderCollapse:"separate"})),D5="table",TMe=v.forwardRef(i(function(t,n){const r=Qe({props:t,name:"MuiTable"}),{className:a,component:o=D5,padding:s="normal",size:c="medium",stickyHeader:l=!1}=r,u=$e(r,RMe),d=A({},r,{component:o,padding:s,size:c,stickyHeader:l}),f=AMe(d),m=v.useMemo(()=>({padding:s,size:c,stickyHeader:l}),[s,c,l]);return p.jsx(EU.Provider,{value:m,children:p.jsx(PMe,A({as:o,role:o===D5?null:"table",ref:n,className:de(f.root,a),ownerState:d},u))})},"Table2")),RU=TMe,MMe=v.createContext(),k1=MMe;function OMe(e){return Ge("MuiTableBody",e)}i(OMe,"getTableBodyUtilityClass");Ye("MuiTableBody",["root"]);const zMe=["className","component"],IMe=i(e=>{const{classes:t}=e;return Ke({root:["root"]},OMe,t)},"useUtilityClasses$9"),LMe=te("tbody",{name:"MuiTableBody",slot:"Root",overridesResolver:(e,t)=>t.root})({display:"table-row-group"}),DMe={variant:"body"},N5="tbody",NMe=v.forwardRef(i(function(t,n){const r=Qe({props:t,name:"MuiTableBody"}),{className:a,component:o=N5}=r,s=$e(r,zMe),c=A({},r,{component:o}),l=IMe(c);return p.jsx(k1.Provider,{value:DMe,children:p.jsx(LMe,A({className:de(l.root,a),as:o,ref:n,role:o===N5?null:"rowgroup",ownerState:c},s))})},"TableBody2")),AU=NMe;function FMe(e){return Ge("MuiTableCell",e)}i(FMe,"getTableCellUtilityClass");const BMe=Ye("MuiTableCell",["root","head","body","footer","sizeSmall","sizeMedium","paddingCheckbox","paddingNone","alignLeft","alignCenter","alignRight","alignJustify","stickyHeader"]),WMe=BMe,UMe=["align","className","component","padding","scope","size","sortDirection","variant"],HMe=i(e=>{const{classes:t,variant:n,align:r,padding:a,size:o,stickyHeader:s}=e,c={root:["root",n,s&&"stickyHeader",r!=="inherit"&&`align${ve(r)}`,a!=="normal"&&`padding${ve(a)}`,`size${ve(o)}`]};return Ke(c,FMe,t)},"useUtilityClasses$8"),qMe=te("td",{name:"MuiTableCell",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[n.variant],t[`size${ve(n.size)}`],n.padding!=="normal"&&t[`padding${ve(n.padding)}`],n.align!=="inherit"&&t[`align${ve(n.align)}`],n.stickyHeader&&t.stickyHeader]}})(({theme:e,ownerState:t})=>A({},e.typography.body2,{display:"table-cell",verticalAlign:"inherit",borderBottom:e.vars?`1px solid ${e.vars.palette.TableCell.border}`:`1px solid - ${e.palette.mode==="light"?rf(bt(e.palette.divider,1),.88):nf(bt(e.palette.divider,1),.68)}`,textAlign:"left",padding:16},t.variant==="head"&&{color:(e.vars||e).palette.text.primary,lineHeight:e.typography.pxToRem(24),fontWeight:e.typography.fontWeightMedium},t.variant==="body"&&{color:(e.vars||e).palette.text.primary},t.variant==="footer"&&{color:(e.vars||e).palette.text.secondary,lineHeight:e.typography.pxToRem(21),fontSize:e.typography.pxToRem(12)},t.size==="small"&&{padding:"6px 16px",[`&.${WMe.paddingCheckbox}`]:{width:24,padding:"0 12px 0 16px","& > *":{padding:0}}},t.padding==="checkbox"&&{width:48,padding:"0 0 0 4px"},t.padding==="none"&&{padding:0},t.align==="left"&&{textAlign:"left"},t.align==="center"&&{textAlign:"center"},t.align==="right"&&{textAlign:"right",flexDirection:"row-reverse"},t.align==="justify"&&{textAlign:"justify"},t.stickyHeader&&{position:"sticky",top:0,zIndex:2,backgroundColor:(e.vars||e).palette.background.default})),VMe=v.forwardRef(i(function(t,n){const r=Qe({props:t,name:"MuiTableCell"}),{align:a="inherit",className:o,component:s,padding:c,scope:l,size:u,sortDirection:d,variant:f}=r,m=$e(r,UMe),g=v.useContext(EU),h=v.useContext(k1),y=h&&h.variant==="head";let b;s?b=s:b=y?"th":"td";let x=l;b==="td"?x=void 0:!x&&y&&(x="col");const w=f||h&&h.variant,C=A({},r,{align:a,component:b,padding:c||(g&&g.padding?g.padding:"normal"),size:u||(g&&g.size?g.size:"medium"),sortDirection:d,stickyHeader:w==="head"&&g&&g.stickyHeader,variant:w}),j=HMe(C);let _=null;return d&&(_=d==="asc"?"ascending":"descending"),p.jsx(qMe,A({as:b,ref:n,className:de(j.root,o),"aria-sort":_,scope:x,ownerState:C},m))},"TableCell2")),Or=VMe;function GMe(e){return Ge("MuiTableHead",e)}i(GMe,"getTableHeadUtilityClass");Ye("MuiTableHead",["root"]);const KMe=["className","component"],JMe=i(e=>{const{classes:t}=e;return Ke({root:["root"]},GMe,t)},"useUtilityClasses$7"),YMe=te("thead",{name:"MuiTableHead",slot:"Root",overridesResolver:(e,t)=>t.root})({display:"table-header-group"}),QMe={variant:"head"},F5="thead",XMe=v.forwardRef(i(function(t,n){const r=Qe({props:t,name:"MuiTableHead"}),{className:a,component:o=F5}=r,s=$e(r,KMe),c=A({},r,{component:o}),l=JMe(c);return p.jsx(k1.Provider,{value:QMe,children:p.jsx(YMe,A({as:o,className:de(l.root,a),ref:n,role:o===F5?null:"rowgroup",ownerState:c},s))})},"TableHead2")),PU=XMe;function ZMe(e){return Ge("MuiToolbar",e)}i(ZMe,"getToolbarUtilityClass");Ye("MuiToolbar",["root","gutters","regular","dense"]);const e4e=["className","component","disableGutters","variant"],t4e=i(e=>{const{classes:t,disableGutters:n,variant:r}=e;return Ke({root:["root",!n&&"gutters",r]},ZMe,t)},"useUtilityClasses$6"),n4e=te("div",{name:"MuiToolbar",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,!n.disableGutters&&t.gutters,t[n.variant]]}})(({theme:e,ownerState:t})=>A({position:"relative",display:"flex",alignItems:"center"},!t.disableGutters&&{paddingLeft:e.spacing(2),paddingRight:e.spacing(2),[e.breakpoints.up("sm")]:{paddingLeft:e.spacing(3),paddingRight:e.spacing(3)}},t.variant==="dense"&&{minHeight:48}),({theme:e,ownerState:t})=>t.variant==="regular"&&e.mixins.toolbar),r4e=v.forwardRef(i(function(t,n){const r=Qe({props:t,name:"MuiToolbar"}),{className:a,component:o="div",disableGutters:s=!1,variant:c="regular"}=r,l=$e(r,e4e),u=A({},r,{component:o,disableGutters:s,variant:c}),d=t4e(u);return p.jsx(n4e,A({as:o,className:de(d.root,a),ref:n,ownerState:u},l))},"Toolbar2")),Xl=r4e,TU=lr(p.jsx("path",{d:"M15.41 16.09l-4.58-4.59 4.58-4.59L14 5.5l-6 6 6 6z"}),"KeyboardArrowLeft"),MU=lr(p.jsx("path",{d:"M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z"}),"KeyboardArrowRight"),a4e=["backIconButtonProps","count","disabled","getItemAriaLabel","nextIconButtonProps","onPageChange","page","rowsPerPage","showFirstButton","showLastButton","slots","slotProps"],o4e=v.forwardRef(i(function(t,n){var r,a,o,s,c,l,u,d;const{backIconButtonProps:f,count:m,disabled:g=!1,getItemAriaLabel:h,nextIconButtonProps:y,onPageChange:b,page:x,rowsPerPage:w,showFirstButton:C,showLastButton:j,slots:_={},slotProps:S={}}=t,k=$e(t,a4e),$=Pc(),E=i(D=>{b(D,0)},"handleFirstPageButtonClick"),P=i(D=>{b(D,x-1)},"handleBackButtonClick"),R=i(D=>{b(D,x+1)},"handleNextButtonClick"),T=i(D=>{b(D,Math.max(0,Math.ceil(m/w)-1))},"handleLastPageButtonClick"),M=(r=_.firstButton)!=null?r:cn,I=(a=_.lastButton)!=null?a:cn,z=(o=_.nextButton)!=null?o:cn,H=(s=_.previousButton)!=null?s:cn,F=(c=_.firstButtonIcon)!=null?c:o_,L=(l=_.lastButtonIcon)!=null?l:i_,B=(u=_.nextButtonIcon)!=null?u:MU,K=(d=_.previousButtonIcon)!=null?d:TU,se=$?I:M,ue=$?z:H,_e=$?H:z,le=$?M:I,V=$?S.lastButton:S.firstButton,q=$?S.nextButton:S.previousButton,Y=$?S.previousButton:S.nextButton,O=$?S.firstButton:S.lastButton;return p.jsxs("div",A({ref:n},k,{children:[C&&p.jsx(se,A({onClick:E,disabled:g||x===0,"aria-label":h("first",x),title:h("first",x)},V,{children:$?p.jsx(L,A({},S.lastButtonIcon)):p.jsx(F,A({},S.firstButtonIcon))})),p.jsx(ue,A({onClick:P,disabled:g||x===0,color:"inherit","aria-label":h("previous",x),title:h("previous",x)},q??f,{children:$?p.jsx(B,A({},S.nextButtonIcon)):p.jsx(K,A({},S.previousButtonIcon))})),p.jsx(_e,A({onClick:R,disabled:g||(m!==-1?x>=Math.ceil(m/w)-1:!1),color:"inherit","aria-label":h("next",x),title:h("next",x)},Y??y,{children:$?p.jsx(K,A({},S.previousButtonIcon)):p.jsx(B,A({},S.nextButtonIcon))})),j&&p.jsx(le,A({onClick:T,disabled:g||x>=Math.ceil(m/w)-1,"aria-label":h("last",x),title:h("last",x)},O,{children:$?p.jsx(F,A({},S.firstButtonIcon)):p.jsx(L,A({},S.lastButtonIcon))}))]}))},"TablePaginationActions2")),i4e=o4e;function s4e(e){return Ge("MuiTablePagination",e)}i(s4e,"getTablePaginationUtilityClass");const c4e=Ye("MuiTablePagination",["root","toolbar","spacer","selectLabel","selectRoot","select","selectIcon","input","menuItem","displayedRows","actions"]),ym=c4e;var B5;const l4e=["ActionsComponent","backIconButtonProps","className","colSpan","component","count","disabled","getItemAriaLabel","labelDisplayedRows","labelRowsPerPage","nextIconButtonProps","onPageChange","onRowsPerPageChange","page","rowsPerPage","rowsPerPageOptions","SelectProps","showFirstButton","showLastButton","slotProps","slots"],u4e=te(Or,{name:"MuiTablePagination",slot:"Root",overridesResolver:(e,t)=>t.root})(({theme:e})=>({overflow:"auto",color:(e.vars||e).palette.text.primary,fontSize:e.typography.pxToRem(14),"&:last-child":{padding:0}})),d4e=te(Xl,{name:"MuiTablePagination",slot:"Toolbar",overridesResolver:(e,t)=>A({[`& .${ym.actions}`]:t.actions},t.toolbar)})(({theme:e})=>({minHeight:52,paddingRight:2,[`${e.breakpoints.up("xs")} and (orientation: landscape)`]:{minHeight:52},[e.breakpoints.up("sm")]:{minHeight:52,paddingRight:2},[`& .${ym.actions}`]:{flexShrink:0,marginLeft:20}})),f4e=te("div",{name:"MuiTablePagination",slot:"Spacer",overridesResolver:(e,t)=>t.spacer})({flex:"1 1 100%"}),p4e=te("p",{name:"MuiTablePagination",slot:"SelectLabel",overridesResolver:(e,t)=>t.selectLabel})(({theme:e})=>A({},e.typography.body2,{flexShrink:0})),m4e=te($U,{name:"MuiTablePagination",slot:"Select",overridesResolver:(e,t)=>A({[`& .${ym.selectIcon}`]:t.selectIcon,[`& .${ym.select}`]:t.select},t.input,t.selectRoot)})({color:"inherit",fontSize:"inherit",flexShrink:0,marginRight:32,marginLeft:8,[`& .${ym.select}`]:{paddingLeft:8,paddingRight:24,textAlign:"right",textAlignLast:"right"}}),h4e=te(Vn,{name:"MuiTablePagination",slot:"MenuItem",overridesResolver:(e,t)=>t.menuItem})({}),g4e=te("p",{name:"MuiTablePagination",slot:"DisplayedRows",overridesResolver:(e,t)=>t.displayedRows})(({theme:e})=>A({},e.typography.body2,{flexShrink:0}));function v4e({from:e,to:t,count:n}){return`${e}–${t} of ${n!==-1?n:`more than ${t}`}`}i(v4e,"defaultLabelDisplayedRows");function y4e(e){return`Go to ${e} page`}i(y4e,"defaultGetAriaLabel");const b4e=i(e=>{const{classes:t}=e;return Ke({root:["root"],toolbar:["toolbar"],spacer:["spacer"],selectLabel:["selectLabel"],select:["select"],input:["input"],selectIcon:["selectIcon"],menuItem:["menuItem"],displayedRows:["displayedRows"],actions:["actions"]},s4e,t)},"useUtilityClasses$5"),x4e=v.forwardRef(i(function(t,n){var r;const a=Qe({props:t,name:"MuiTablePagination"}),{ActionsComponent:o=i4e,backIconButtonProps:s,className:c,colSpan:l,component:u=Or,count:d,disabled:f=!1,getItemAriaLabel:m=y4e,labelDisplayedRows:g=v4e,labelRowsPerPage:h="Rows per page:",nextIconButtonProps:y,onPageChange:b,onRowsPerPageChange:x,page:w,rowsPerPage:C,rowsPerPageOptions:j=[10,25,50,100],SelectProps:_={},showFirstButton:S=!1,showLastButton:k=!1,slotProps:$={},slots:E={}}=a,P=$e(a,l4e),R=a,T=b4e(R),M=(r=$==null?void 0:$.select)!=null?r:_,I=M.native?"option":h4e;let z;(u===Or||u==="td")&&(z=l||1e3);const H=vc(M.id),F=vc(M.labelId),L=i(()=>d===-1?(w+1)*C:C===-1?d:Math.min(d,(w+1)*C),"getLabelDisplayedRowsTo");return p.jsx(u4e,A({colSpan:z,ref:n,as:u,ownerState:R,className:de(T.root,c)},P,{children:p.jsxs(d4e,{className:T.toolbar,children:[p.jsx(f4e,{className:T.spacer}),j.length>1&&p.jsx(p4e,{className:T.selectLabel,id:F,children:h}),j.length>1&&p.jsx(m4e,A({variant:"standard"},!M.variant&&{input:B5||(B5=p.jsx(S1,{}))},{value:C,onChange:x,id:H,labelId:F},M,{classes:A({},M.classes,{root:de(T.input,T.selectRoot,(M.classes||{}).root),select:de(T.select,(M.classes||{}).select),icon:de(T.selectIcon,(M.classes||{}).icon)}),disabled:f,children:j.map(B=>v.createElement(I,A({},!zl(I)&&{ownerState:R},{className:T.menuItem,key:B.label?B.label:B,value:B.value?B.value:B}),B.label?B.label:B))})),p.jsx(g4e,{className:T.displayedRows,children:g({from:d===0?0:w*C+1,to:L(),count:d===-1?-1:d,page:w})}),p.jsx(o,{className:T.actions,backIconButtonProps:s,count:d,nextIconButtonProps:y,onPageChange:b,page:w,rowsPerPage:C,showFirstButton:S,showLastButton:k,slotProps:$.actions,slots:E.actions,getItemAriaLabel:m,disabled:f})]})}))},"TablePagination2")),W5=x4e;function w4e(e){return Ge("MuiTableRow",e)}i(w4e,"getTableRowUtilityClass");const C4e=Ye("MuiTableRow",["root","selected","hover","head","footer"]),U5=C4e,S4e=["className","component","hover","selected"],j4e=i(e=>{const{classes:t,selected:n,hover:r,head:a,footer:o}=e;return Ke({root:["root",n&&"selected",r&&"hover",a&&"head",o&&"footer"]},w4e,t)},"useUtilityClasses$4"),_4e=te("tr",{name:"MuiTableRow",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.head&&t.head,n.footer&&t.footer]}})(({theme:e})=>({color:"inherit",display:"table-row",verticalAlign:"middle",outline:0,[`&.${U5.hover}:hover`]:{backgroundColor:(e.vars||e).palette.action.hover},[`&.${U5.selected}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:bt(e.palette.primary.main,e.palette.action.selectedOpacity),"&:hover":{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.hoverOpacity}))`:bt(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.hoverOpacity)}}})),H5="tr",k4e=v.forwardRef(i(function(t,n){const r=Qe({props:t,name:"MuiTableRow"}),{className:a,component:o=H5,hover:s=!1,selected:c=!1}=r,l=$e(r,S4e),u=v.useContext(k1),d=A({},r,{component:o,hover:s,selected:c,head:u&&u.variant==="head",footer:u&&u.variant==="footer"}),f=j4e(d);return p.jsx(_4e,A({as:o,ref:n,className:de(f.root,a),role:o===H5?null:"row",ownerState:d},l))},"TableRow2")),dh=k4e,$4e=lr(p.jsx("path",{d:"M20 12l-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8 8-8z"}),"ArrowDownward");function E4e(e){return Ge("MuiTableSortLabel",e)}i(E4e,"getTableSortLabelUtilityClass");const R4e=Ye("MuiTableSortLabel",["root","active","icon","iconDirectionDesc","iconDirectionAsc"]),B2=R4e,A4e=["active","children","className","direction","hideSortIcon","IconComponent"],P4e=i(e=>{const{classes:t,direction:n,active:r}=e,a={root:["root",r&&"active"],icon:["icon",`iconDirection${ve(n)}`]};return Ke(a,E4e,t)},"useUtilityClasses$3"),T4e=te(Ia,{name:"MuiTableSortLabel",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.active&&t.active]}})(({theme:e})=>({cursor:"pointer",display:"inline-flex",justifyContent:"flex-start",flexDirection:"inherit",alignItems:"center","&:focus":{color:(e.vars||e).palette.text.secondary},"&:hover":{color:(e.vars||e).palette.text.secondary,[`& .${B2.icon}`]:{opacity:.5}},[`&.${B2.active}`]:{color:(e.vars||e).palette.text.primary,[`& .${B2.icon}`]:{opacity:1,color:(e.vars||e).palette.text.secondary}}})),M4e=te("span",{name:"MuiTableSortLabel",slot:"Icon",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.icon,t[`iconDirection${ve(n.direction)}`]]}})(({theme:e,ownerState:t})=>A({fontSize:18,marginRight:4,marginLeft:4,opacity:0,transition:e.transitions.create(["opacity","transform"],{duration:e.transitions.duration.shorter}),userSelect:"none"},t.direction==="desc"&&{transform:"rotate(0deg)"},t.direction==="asc"&&{transform:"rotate(180deg)"})),O4e=v.forwardRef(i(function(t,n){const r=Qe({props:t,name:"MuiTableSortLabel"}),{active:a=!1,children:o,className:s,direction:c="asc",hideSortIcon:l=!1,IconComponent:u=$4e}=r,d=$e(r,A4e),f=A({},r,{active:a,direction:c,hideSortIcon:l,IconComponent:u}),m=P4e(f);return p.jsxs(T4e,A({className:de(m.root,s),component:"span",disableRipple:!0,ownerState:f,ref:n},d,{children:[o,l&&!a?null:p.jsx(M4e,{as:u,className:de(m.icon),ownerState:f})]}))},"TableSortLabel2")),z4e=O4e;function I4e(e){return(1+Math.sin(Math.PI*e-Math.PI/2))/2}i(I4e,"easeInOutSin");function L4e(e,t,n,r={},a=()=>{}){const{ease:o=I4e,duration:s=300}=r;let c=null;const l=t[e];let u=!1;const d=i(()=>{u=!0},"cancel"),f=i(m=>{if(u){a(new Error("Animation cancelled"));return}c===null&&(c=m);const g=Math.min(1,(m-c)/s);if(t[e]=o(g)*(n-l)+l,g>=1){requestAnimationFrame(()=>{a(null)});return}requestAnimationFrame(f)},"step");return l===n?(a(new Error("Element already at target position")),d):(requestAnimationFrame(f),d)}i(L4e,"animate");const D4e=["onChange"],N4e={width:99,height:99,position:"absolute",top:-9999,overflow:"scroll"};function F4e(e){const{onChange:t}=e,n=$e(e,D4e),r=v.useRef(),a=v.useRef(null),o=i(()=>{r.current=a.current.offsetHeight-a.current.clientHeight},"setMeasurements");return Jr(()=>{const s=ep(()=>{const l=r.current;o(),l!==r.current&&t(r.current)}),c=po(a.current);return c.addEventListener("resize",s),()=>{s.clear(),c.removeEventListener("resize",s)}},[t]),v.useEffect(()=>{o(),t(r.current)},[t]),p.jsx("div",A({style:N4e,ref:a},n))}i(F4e,"ScrollbarSize");function B4e(e){return Ge("MuiTabScrollButton",e)}i(B4e,"getTabScrollButtonUtilityClass");const W4e=Ye("MuiTabScrollButton",["root","vertical","horizontal","disabled"]),U4e=W4e,H4e=["className","slots","slotProps","direction","orientation","disabled"],q4e=i(e=>{const{classes:t,orientation:n,disabled:r}=e;return Ke({root:["root",n,r&&"disabled"]},B4e,t)},"useUtilityClasses$2"),V4e=te(Ia,{name:"MuiTabScrollButton",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.orientation&&t[n.orientation]]}})(({ownerState:e})=>A({width:40,flexShrink:0,opacity:.8,[`&.${U4e.disabled}`]:{opacity:0}},e.orientation==="vertical"&&{width:"100%",height:40,"& svg":{transform:`rotate(${e.isRtl?-90:90}deg)`}})),G4e=v.forwardRef(i(function(t,n){var r,a;const o=Qe({props:t,name:"MuiTabScrollButton"}),{className:s,slots:c={},slotProps:l={},direction:u}=o,d=$e(o,H4e),f=Pc(),m=A({isRtl:f},o),g=q4e(m),h=(r=c.StartScrollButtonIcon)!=null?r:TU,y=(a=c.EndScrollButtonIcon)!=null?a:MU,b=ho({elementType:h,externalSlotProps:l.startScrollButtonIcon,additionalProps:{fontSize:"small"},ownerState:m}),x=ho({elementType:y,externalSlotProps:l.endScrollButtonIcon,additionalProps:{fontSize:"small"},ownerState:m});return p.jsx(V4e,A({component:"div",className:de(g.root,s),ref:n,role:null,ownerState:m,tabIndex:null},d,{children:u==="left"?p.jsx(h,A({},b)):p.jsx(y,A({},x))}))},"TabScrollButton2")),K4e=G4e;function J4e(e){return Ge("MuiTabs",e)}i(J4e,"getTabsUtilityClass");const Y4e=Ye("MuiTabs",["root","vertical","flexContainer","flexContainerVertical","centered","scroller","fixed","scrollableX","scrollableY","hideScrollbar","scrollButtons","scrollButtonsHideMobile","indicator"]),W2=Y4e,Q4e=["aria-label","aria-labelledby","action","centered","children","className","component","allowScrollButtonsMobile","indicatorColor","onChange","orientation","ScrollButtonComponent","scrollButtons","selectionFollowsFocus","slots","slotProps","TabIndicatorProps","TabScrollButtonProps","textColor","value","variant","visibleScrollbar"],q5=i((e,t)=>e===t?e.firstChild:t&&t.nextElementSibling?t.nextElementSibling:e.firstChild,"nextItem"),V5=i((e,t)=>e===t?e.lastChild:t&&t.previousElementSibling?t.previousElementSibling:e.lastChild,"previousItem"),_v=i((e,t,n)=>{let r=!1,a=n(e,t);for(;a;){if(a===e.firstChild){if(r)return;r=!0}const o=a.disabled||a.getAttribute("aria-disabled")==="true";if(!a.hasAttribute("tabindex")||o)a=n(e,a);else{a.focus();return}}},"moveFocus"),X4e=i(e=>{const{vertical:t,fixed:n,hideScrollbar:r,scrollableX:a,scrollableY:o,centered:s,scrollButtonsHideMobile:c,classes:l}=e;return Ke({root:["root",t&&"vertical"],scroller:["scroller",n&&"fixed",r&&"hideScrollbar",a&&"scrollableX",o&&"scrollableY"],flexContainer:["flexContainer",t&&"flexContainerVertical",s&&"centered"],indicator:["indicator"],scrollButtons:["scrollButtons",c&&"scrollButtonsHideMobile"],scrollableX:[a&&"scrollableX"],hideScrollbar:[r&&"hideScrollbar"]},J4e,l)},"useUtilityClasses$1"),Z4e=te("div",{name:"MuiTabs",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[{[`& .${W2.scrollButtons}`]:t.scrollButtons},{[`& .${W2.scrollButtons}`]:n.scrollButtonsHideMobile&&t.scrollButtonsHideMobile},t.root,n.vertical&&t.vertical]}})(({ownerState:e,theme:t})=>A({overflow:"hidden",minHeight:48,WebkitOverflowScrolling:"touch",display:"flex"},e.vertical&&{flexDirection:"column"},e.scrollButtonsHideMobile&&{[`& .${W2.scrollButtons}`]:{[t.breakpoints.down("sm")]:{display:"none"}}})),eOe=te("div",{name:"MuiTabs",slot:"Scroller",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.scroller,n.fixed&&t.fixed,n.hideScrollbar&&t.hideScrollbar,n.scrollableX&&t.scrollableX,n.scrollableY&&t.scrollableY]}})(({ownerState:e})=>A({position:"relative",display:"inline-block",flex:"1 1 auto",whiteSpace:"nowrap"},e.fixed&&{overflowX:"hidden",width:"100%"},e.hideScrollbar&&{scrollbarWidth:"none","&::-webkit-scrollbar":{display:"none"}},e.scrollableX&&{overflowX:"auto",overflowY:"hidden"},e.scrollableY&&{overflowY:"auto",overflowX:"hidden"})),tOe=te("div",{name:"MuiTabs",slot:"FlexContainer",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.flexContainer,n.vertical&&t.flexContainerVertical,n.centered&&t.centered]}})(({ownerState:e})=>A({display:"flex"},e.vertical&&{flexDirection:"column"},e.centered&&{justifyContent:"center"})),nOe=te("span",{name:"MuiTabs",slot:"Indicator",overridesResolver:(e,t)=>t.indicator})(({ownerState:e,theme:t})=>A({position:"absolute",height:2,bottom:0,width:"100%",transition:t.transitions.create()},e.indicatorColor==="primary"&&{backgroundColor:(t.vars||t).palette.primary.main},e.indicatorColor==="secondary"&&{backgroundColor:(t.vars||t).palette.secondary.main},e.vertical&&{height:"100%",width:2,right:0})),rOe=te(F4e)({overflowX:"auto",overflowY:"hidden",scrollbarWidth:"none","&::-webkit-scrollbar":{display:"none"}}),G5={},aOe=v.forwardRef(i(function(t,n){const r=Qe({props:t,name:"MuiTabs"}),a=qo(),o=Pc(),{"aria-label":s,"aria-labelledby":c,action:l,centered:u=!1,children:d,className:f,component:m="div",allowScrollButtonsMobile:g=!1,indicatorColor:h="primary",onChange:y,orientation:b="horizontal",ScrollButtonComponent:x=K4e,scrollButtons:w="auto",selectionFollowsFocus:C,slots:j={},slotProps:_={},TabIndicatorProps:S={},TabScrollButtonProps:k={},textColor:$="primary",value:E,variant:P="standard",visibleScrollbar:R=!1}=r,T=$e(r,Q4e),M=P==="scrollable",I=b==="vertical",z=I?"scrollTop":"scrollLeft",H=I?"top":"left",F=I?"bottom":"right",L=I?"clientHeight":"clientWidth",B=I?"height":"width",K=A({},r,{component:m,allowScrollButtonsMobile:g,indicatorColor:h,orientation:b,vertical:I,scrollButtons:w,textColor:$,variant:P,visibleScrollbar:R,fixed:!M,hideScrollbar:M&&!R,scrollableX:M&&!I,scrollableY:M&&I,centered:u&&!M,scrollButtonsHideMobile:!g}),se=X4e(K),ue=ho({elementType:j.StartScrollButtonIcon,externalSlotProps:_.startScrollButtonIcon,ownerState:K}),_e=ho({elementType:j.EndScrollButtonIcon,externalSlotProps:_.endScrollButtonIcon,ownerState:K}),[le,V]=v.useState(!1),[q,Y]=v.useState(G5),[O,D]=v.useState(!1),[Z,J]=v.useState(!1),[U,ne]=v.useState(!1),[ie,he]=v.useState({overflow:"hidden",scrollbarWidth:0}),N=new Map,Q=v.useRef(null),X=v.useRef(null),we=i(()=>{const ce=Q.current;let be;if(ce){const Oe=ce.getBoundingClientRect();be={clientWidth:ce.clientWidth,scrollLeft:ce.scrollLeft,scrollTop:ce.scrollTop,scrollLeftNormalized:pCe(ce,o?"rtl":"ltr"),scrollWidth:ce.scrollWidth,top:Oe.top,bottom:Oe.bottom,left:Oe.left,right:Oe.right}}let Ue;if(ce&&E!==!1){const Oe=X.current.children;if(Oe.length>0){const ft=Oe[N.get(E)];Ue=ft?ft.getBoundingClientRect():null}}return{tabsMeta:be,tabMeta:Ue}},"getTabsMeta"),fe=sr(()=>{const{tabsMeta:ce,tabMeta:be}=we();let Ue=0,Oe;if(I)Oe="top",be&&ce&&(Ue=be.top-ce.top+ce.scrollTop);else if(Oe=o?"right":"left",be&&ce){const kt=o?ce.scrollLeftNormalized+ce.clientWidth-ce.scrollWidth:ce.scrollLeft;Ue=(o?-1:1)*(be[Oe]-ce[Oe]+kt)}const ft={[Oe]:Ue,[B]:be?be[B]:0};if(isNaN(q[Oe])||isNaN(q[B]))Y(ft);else{const kt=Math.abs(q[Oe]-ft[Oe]),wt=Math.abs(q[B]-ft[B]);(kt>=1||wt>=1)&&Y(ft)}}),pe=i((ce,{animation:be=!0}={})=>{be?L4e(z,Q.current,ce,{duration:a.transitions.duration.standard}):Q.current[z]=ce},"scroll"),xe=i(ce=>{let be=Q.current[z];I?be+=ce:(be+=ce*(o?-1:1),be*=o&&dW()==="reverse"?-1:1),pe(be)},"moveTabsScroll"),Re=i(()=>{const ce=Q.current[L];let be=0;const Ue=Array.from(X.current.children);for(let Oe=0;Oece){Oe===0&&(be=ce);break}be+=ft[L]}return be},"getScrollSize"),Me=i(()=>{xe(-1*Re())},"handleStartScrollClick"),Je=i(()=>{xe(Re())},"handleEndScrollClick"),pt=v.useCallback(ce=>{he({overflow:null,scrollbarWidth:ce})},[]),it=i(()=>{const ce={};ce.scrollbarSizeListener=M?p.jsx(rOe,{onChange:pt,className:de(se.scrollableX,se.hideScrollbar)}):null;const Ue=M&&(w==="auto"&&(O||Z)||w===!0);return ce.scrollButtonStart=Ue?p.jsx(x,A({slots:{StartScrollButtonIcon:j.StartScrollButtonIcon},slotProps:{startScrollButtonIcon:ue},orientation:b,direction:o?"right":"left",onClick:Me,disabled:!O},k,{className:de(se.scrollButtons,k.className)})):null,ce.scrollButtonEnd=Ue?p.jsx(x,A({slots:{EndScrollButtonIcon:j.EndScrollButtonIcon},slotProps:{endScrollButtonIcon:_e},orientation:b,direction:o?"left":"right",onClick:Je,disabled:!Z},k,{className:de(se.scrollButtons,k.className)})):null,ce},"getConditionalElements"),De=sr(ce=>{const{tabsMeta:be,tabMeta:Ue}=we();if(!(!Ue||!be)){if(Ue[H]be[F]){const Oe=be[z]+(Ue[F]-be[F]);pe(Oe,{animation:ce})}}}),Se=sr(()=>{M&&w!==!1&&ne(!U)});v.useEffect(()=>{const ce=ep(()=>{Q.current&&fe()});let be;const Ue=i(kt=>{kt.forEach(wt=>{wt.removedNodes.forEach(Dt=>{var re;(re=be)==null||re.unobserve(Dt)}),wt.addedNodes.forEach(Dt=>{var re;(re=be)==null||re.observe(Dt)})}),ce(),Se()},"handleMutation"),Oe=po(Q.current);Oe.addEventListener("resize",ce);let ft;return typeof ResizeObserver<"u"&&(be=new ResizeObserver(ce),Array.from(X.current.children).forEach(kt=>{be.observe(kt)})),typeof MutationObserver<"u"&&(ft=new MutationObserver(Ue),ft.observe(X.current,{childList:!0})),()=>{var kt,wt;ce.clear(),Oe.removeEventListener("resize",ce),(kt=ft)==null||kt.disconnect(),(wt=be)==null||wt.disconnect()}},[fe,Se]),v.useEffect(()=>{const ce=Array.from(X.current.children),be=ce.length;if(typeof IntersectionObserver<"u"&&be>0&&M&&w!==!1){const Ue=ce[0],Oe=ce[be-1],ft={root:Q.current,threshold:.99},kt=i(oe=>{D(!oe[0].isIntersecting)},"handleScrollButtonStart"),wt=new IntersectionObserver(kt,ft);wt.observe(Ue);const Dt=i(oe=>{J(!oe[0].isIntersecting)},"handleScrollButtonEnd"),re=new IntersectionObserver(Dt,ft);return re.observe(Oe),()=>{wt.disconnect(),re.disconnect()}}},[M,w,U,d==null?void 0:d.length]),v.useEffect(()=>{V(!0)},[]),v.useEffect(()=>{fe()}),v.useEffect(()=>{De(G5!==q)},[De,q]),v.useImperativeHandle(l,()=>({updateIndicator:fe,updateScrollButtons:Se}),[fe,Se]);const We=p.jsx(nOe,A({},S,{className:de(se.indicator,S.className),ownerState:K,style:A({},q,S.style)}));let yt=0;const jt=v.Children.map(d,ce=>{if(!v.isValidElement(ce))return null;const be=ce.props.value===void 0?yt:ce.props.value;N.set(be,yt);const Ue=be===E;return yt+=1,v.cloneElement(ce,A({fullWidth:P==="fullWidth",indicator:Ue&&!le&&We,selected:Ue,selectionFollowsFocus:C,onChange:y,textColor:$,value:be},yt===1&&E===!1&&!ce.props.tabIndex?{tabIndex:0}:{}))}),G=i(ce=>{const be=X.current,Ue=tr(be).activeElement;if(Ue.getAttribute("role")!=="tab")return;let ft=b==="horizontal"?"ArrowLeft":"ArrowUp",kt=b==="horizontal"?"ArrowRight":"ArrowDown";switch(b==="horizontal"&&o&&(ft="ArrowRight",kt="ArrowLeft"),ce.key){case ft:ce.preventDefault(),_v(be,Ue,V5);break;case kt:ce.preventDefault(),_v(be,Ue,q5);break;case"Home":ce.preventDefault(),_v(be,null,q5);break;case"End":ce.preventDefault(),_v(be,null,V5);break}},"handleKeyDown"),ae=it();return p.jsxs(Z4e,A({className:de(se.root,f),ownerState:K,ref:n,as:m},T,{children:[ae.scrollButtonStart,ae.scrollbarSizeListener,p.jsxs(eOe,{className:se.scroller,ownerState:K,style:{overflow:ie.overflow,[I?`margin${o?"Left":"Right"}`:"marginBottom"]:R?void 0:-ie.scrollbarWidth},ref:Q,children:[p.jsx(tOe,{"aria-label":s,"aria-labelledby":c,"aria-orientation":b==="vertical"?"vertical":null,className:se.flexContainer,ownerState:K,onKeyDown:G,ref:X,role:"tablist",children:jt}),le&&We]}),ae.scrollButtonEnd]}))},"Tabs2")),OU=aOe;function oOe(e){return Ge("MuiTextField",e)}i(oOe,"getTextFieldUtilityClass");Ye("MuiTextField",["root"]);const iOe=["autoComplete","autoFocus","children","className","color","defaultValue","disabled","error","FormHelperTextProps","fullWidth","helperText","id","InputLabelProps","inputProps","InputProps","inputRef","label","maxRows","minRows","multiline","name","onBlur","onChange","onFocus","placeholder","required","rows","select","SelectProps","type","value","variant"],sOe={standard:mU,filled:uR,outlined:jU},cOe=i(e=>{const{classes:t}=e;return Ke({root:["root"]},oOe,t)},"useUtilityClasses"),lOe=te(GRe,{name:"MuiTextField",slot:"Root",overridesResolver:(e,t)=>t.root})({}),uOe=v.forwardRef(i(function(t,n){const r=Qe({props:t,name:"MuiTextField"}),{autoComplete:a,autoFocus:o=!1,children:s,className:c,color:l="primary",defaultValue:u,disabled:d=!1,error:f=!1,FormHelperTextProps:m,fullWidth:g=!1,helperText:h,id:y,InputLabelProps:b,inputProps:x,InputProps:w,inputRef:C,label:j,maxRows:_,minRows:S,multiline:k=!1,name:$,onBlur:E,onChange:P,onFocus:R,placeholder:T,required:M=!1,rows:I,select:z=!1,SelectProps:H,type:F,value:L,variant:B="outlined"}=r,K=$e(r,iOe),se=A({},r,{autoFocus:o,color:l,disabled:d,error:f,fullWidth:g,multiline:k,required:M,select:z,variant:B}),ue=cOe(se),_e={};B==="outlined"&&(b&&typeof b.shrink<"u"&&(_e.notched=b.shrink),_e.label=j),z&&((!H||!H.native)&&(_e.id=void 0),_e["aria-describedby"]=void 0);const le=vc(y),V=h&&le?`${le}-helper-text`:void 0,q=j&&le?`${le}-label`:void 0,Y=sOe[B],O=p.jsx(Y,A({"aria-describedby":V,autoComplete:a,autoFocus:o,defaultValue:u,fullWidth:g,multiline:k,name:$,rows:I,maxRows:_,minRows:S,type:F,value:L,id:le,inputRef:C,onBlur:E,onChange:P,onFocus:R,placeholder:T,inputProps:x},_e,w));return p.jsxs(lOe,A({className:de(ue.root,c),disabled:d,error:f,fullWidth:g,ref:n,required:M,color:l,variant:B,ownerState:se},K,{children:[j!=null&&j!==""&&p.jsx(nAe,A({htmlFor:le,id:q},b,{children:j})),z?p.jsx($U,A({"aria-describedby":V,id:le,labelId:q,value:L,input:O},H,{children:s})):O,h&&p.jsx(uU,A({id:V},m,{children:h}))]}))},"TextField2")),vs=uOe,dOe=["getTrigger","target"];function fOe(e,t){const{disableHysteresis:n=!1,threshold:r=100,target:a}=t,o=e.current;return a&&(e.current=a.pageYOffset!==void 0?a.pageYOffset:a.scrollTop),!n&&o!==void 0&&e.currentr}i(fOe,"defaultTrigger");const pOe=typeof window<"u"?window:null;function zU(e={}){const{getTrigger:t=fOe,target:n=pOe}=e,r=$e(e,dOe),a=v.useRef(),[o,s]=v.useState(()=>t(a,r));return v.useEffect(()=>{const c=i(()=>{s(t(a,A({target:n},r)))},"handleScroll");return c(),n.addEventListener("scroll",c,{passive:!0}),()=>{n.removeEventListener("scroll",c,{passive:!0})}},[n,t,JSON.stringify(r)]),o}i(zU,"useScrollTrigger");var hR={},IU={exports:{}};(function(e){function t(n){return n&&n.__esModule?n:{default:n}}i(t,"_interopRequireDefault"),e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports})(IU);var gt=IU.exports,U2={};const mOe=zi(QSe);var K5;function vt(){return K5||(K5=1,function(e){"use client";Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.createSvgIcon}});var t=mOe}(U2)),U2}i(vt,"requireCreateSvgIcon");var hOe=gt;Object.defineProperty(hR,"__esModule",{value:!0});var gR=hR.default=void 0,gOe=hOe(vt()),vOe=p;gR=hR.default=(0,gOe.default)((0,vOe.jsx)("path",{d:"M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2m-6 9c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2m3.1-9H8.9V6c0-1.71 1.39-3.1 3.1-3.1 1.71 0 3.1 1.39 3.1 3.1z"}),"Lock");const Go=i(e=>{const t=Qe({props:e,name:"RaButton"}),{alignIcon:n="left",children:r,className:a,disabled:o,label:s,color:c="primary",size:l="small",to:u,...d}=t,f=at(),m=s?f(s,{_:s}):void 0,g=xOe(u);return Xr(y=>y.breakpoints.down("sm"))?s&&!o?p.jsx(Lo,{title:m,children:p.jsx(cn,{"aria-label":m,className:a,color:c,size:"large",...g,...d,children:r})}):p.jsx(cn,{className:a,color:c,disabled:o,size:"large",...g,...d,children:r}):p.jsx(bOe,{className:a,color:c,size:l,"aria-label":m,disabled:o,startIcon:n==="left"&&r?r:void 0,endIcon:n==="right"&&r?r:void 0,...g,...d,children:m})},"Button"),yOe="RaButton",bOe=te(hn,{name:yOe,overridesResolver:(e,t)=>t.root})({"&.MuiButton-sizeSmall":{lineHeight:1.5}}),xOe=i(e=>{if(e==null)return;if(typeof e=="string")return{to:e};const{redirect:t,replace:n,state:r,...a}=e;return{to:a,redirect:t,replace:n,state:r}},"getLinkParams$1");var vR={},wOe=gt;Object.defineProperty(vR,"__esModule",{value:!0});var LU=vR.default=void 0,COe=wOe(vt()),SOe=p;LU=vR.default=(0,COe.default)((0,SOe.jsx)("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6z"}),"Add");const jOe=i(e=>{const{className:t,icon:n=kOe,label:r="ra.action.create",resource:a,scrollToTop:o=!0,variant:s,to:c,state:l={},...u}=e,d=Lt(e),f=Wo(),m=at(),g=Xr(b=>b.breakpoints.down("md")),h=T$({},_Oe.get(String(o)),l),y=ROe(c);return g?p.jsx($Oe,{component:zr,to:f({resource:d,type:"create"}),state:h,color:"primary",className:de(s_.floating,t),"aria-label":r&&m(r),...u,...y,children:n}):p.jsx(EOe,{component:zr,to:f({resource:d,type:"create"}),state:h,className:de(s_.root,t),label:r,variant:s,...u,...y,children:n})},"CreateButton"),_Oe=new Map([["true",{_scrollToTop:!0}],["false",{}]]),kOe=p.jsx(LU,{}),Nb="RaCreateButton",s_={root:`${Nb}-root`,floating:`${Nb}-floating`},$Oe=te(LRe,{name:Nb,overridesResolver:(e,t)=>t.root})(({theme:e})=>({[`&.${s_.floating}`]:{color:e.palette.getContrastText(e.palette.primary.main),margin:0,top:"auto",right:20,bottom:60,left:"auto",position:"fixed",zIndex:1e3}})),EOe=te(Go,{name:Nb,overridesResolver:(e,t)=>t.root})({}),$1=v.memo(jOe,(e,t)=>e.resource===t.resource&&e.label===t.label&&e.translate===t.translate&&e.disabled===t.disabled&&pa(e.to,t.to)&&pa(e.state,t.state)),ROe=i(e=>{if(e==null)return;if(typeof e=="string")return{to:e};const{redirect:t,replace:n,state:r,...a}=e;return{to:a,redirect:t,replace:n,state:r}},"getLinkParams");var yR={},AOe=gt;Object.defineProperty(yR,"__esModule",{value:!0});var DU=yR.default=void 0,POe=AOe(vt()),TOe=p;DU=yR.default=(0,POe.default)((0,TOe.jsx)("path",{d:"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5M12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5m0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3"}),"RemoveRedEye");const MOe=i(e=>{const{icon:t=zOe,label:n="ra.action.show",record:r,resource:a,scrollToTop:o=!0,...s}=e,c=Lt(e),l=sn(e),u=Wo();return l?p.jsx(Go,{component:zr,to:u({type:"show",resource:c,id:l.id}),state:OOe[String(o)],label:n,onClick:IOe,...s,children:t}):null},"ShowButton"),OOe={true:{_scrollToTop:!0},false:{}},zOe=p.jsx(DU,{}),IOe=i(e=>e.stopPropagation(),"stopPropagation$5"),LOe=v.memo(MOe,(e,t)=>e.resource===t.resource&&(e.record&&t.record?e.record.id===t.record.id:e.record==t.record)&&e.label===t.label&&e.disabled===t.disabled),bR=LOe;var xR={},DOe=gt;Object.defineProperty(xR,"__esModule",{value:!0});var NU=xR.default=void 0,NOe=DOe(vt()),FOe=p;NU=xR.default=(0,NOe.default)((0,FOe.jsx)("path",{d:"M3 18h6v-2H3zM3 6v2h18V6zm0 7h12v-2H3z"}),"Sort");var wR={},BOe=gt;Object.defineProperty(wR,"__esModule",{value:!0});var FU=wR.default=void 0,WOe=BOe(vt()),UOe=p;FU=wR.default=(0,WOe.default)((0,UOe.jsx)("path",{d:"m7 10 5 5 5-5z"}),"ArrowDropDown");const HOe=i(e=>{const{fields:t,label:n="ra.sort.sort_by",icon:r=qOe,sx:a,className:o}=e,{resource:s,sort:c,setSort:l}=ave(),u=at(),d=hE(),f=Xr(w=>w.breakpoints.down("sm")),[m,g]=v.useState(null),h=i(w=>{g(w.currentTarget)},"handleClick"),y=i(()=>{g(null)},"handleClose"),b=i(w=>{const C=w.currentTarget.dataset.sort;if(!C)throw new Error(" MenuItems should have a data-sort attribute");l({field:C,order:C===c.field?J5(c.order):"ASC"}),g(null)},"handleChangeSort"),x=u(n,{field:d({resource:s,source:c.field}),order:u(`ra.sort.${c.order}`),_:n});return p.jsxs(GOe,{sx:a,className:de(o,WU.root),children:[f?p.jsx(Lo,{title:x,children:p.jsx(cn,{"aria-label":x,color:"primary",onClick:h,size:"large",children:r})}):p.jsx(hn,{"aria-controls":"simple-menu","aria-haspopup":"true",color:"primary",onClick:h,startIcon:r,endIcon:p.jsx(FU,{}),size:"small",children:x}),p.jsx(Ql,{id:"simple-menu",anchorEl:m,keepMounted:!0,open:!!m,onClose:y,children:t.map(w=>p.jsxs(Vn,{onClick:b,"data-sort":w,children:[d({resource:s,source:w})," ",u(`ra.sort.${c.field===w?J5(c.order):"ASC"}`)]},w))})]})},"SortButton"),qOe=p.jsx(NU,{}),J5=i(e=>e==="ASC"?"DESC":"ASC","inverseOrder"),VOe=i((e,t)=>yx(e.fields,t.fields),"arePropsEqual$1"),BU="RaSortButton",WU={root:`${BU}-root`},GOe=te("span",{name:BU,overridesResolver:(e,t)=>t.root})({[`.${WU.root}`]:{},"& .MuiButton-sizeSmall":{lineHeight:1.5},"& .MuiButton-endIcon":{ml:0}}),UU=v.memo(HOe,VOe);var CR={},KOe=gt;Object.defineProperty(CR,"__esModule",{value:!0});var ap=CR.default=void 0,JOe=KOe(vt()),YOe=p;ap=CR.default=(0,JOe.default)((0,YOe.jsx)("path",{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6zM19 4h-3.5l-1-1h-5l-1 1H5v2h14z"}),"Delete");var SR={},QOe=gt;Object.defineProperty(SR,"__esModule",{value:!0});var HU=SR.default=void 0,XOe=QOe(vt()),ZOe=p;HU=SR.default=(0,XOe.default)((0,ZOe.jsx)("path",{d:"M3 18h18v-2H3zm0-5h18v-2H3zm0-7v2h18V6z"}),"Menu");const E1=i(()=>{const e=Xr(t=>t==null?void 0:t.breakpoints.down("sm"),{noSsr:!0});return xo("sidebar.open",!e)},"useSidebarState"),e5e=i(e=>{const t=at(),{className:n}=e,[r,a]=E1();return p.jsx(Lo,{className:n,title:t(r?"ra.action.close_menu":"ra.action.open_menu",{_:"Open/Close menu"}),enterDelay:500,children:p.jsx(t5e,{color:"inherit",onClick:()=>a(!r),children:p.jsx(HU,{classes:{root:r?Fb.menuButtonIconOpen:Fb.menuButtonIconClosed}})})})},"SidebarToggleButton"),c_="RaSidebarToggleButton",Fb={menuButtonIconClosed:`${c_}-menuButtonIconClosed`,menuButtonIconOpen:`${c_}-menuButtonIconOpen`},t5e=te(cn,{name:c_,overridesResolver:(e,t)=>t.root})(({theme:e})=>({[`& .${Fb.menuButtonIconClosed}`]:{transition:e.transitions.create(["transform"],{easing:e.transitions.easing.sharp,duration:e.transitions.duration.leavingScreen}),transform:"rotate(0deg)"},[`& .${Fb.menuButtonIconOpen}`]:{transition:e.transitions.create(["transform"],{easing:e.transitions.easing.sharp,duration:e.transitions.duration.leavingScreen}),transform:"rotate(180deg)"}})),qU=i(e=>{const{className:t,onClick:n,sx:r,...a}=e,o=spe(),s=qo();return p.jsxs(n5e,{className:t,sx:r,children:[p.jsx(PIe,{className:`${cd.loadedIcon} ${o&&cd.loadedLoading}`,onClick:n}),o&&p.jsx($g,{className:de("app-loader",cd.loader),color:"inherit",size:s.spacing(2),thickness:6,...a})]})},"LoadingIndicator"),my="RaLoadingIndicator",cd={loader:`${my}-loader`,loadedLoading:`${my}-loadedLoading`,loadedIcon:`${my}-loadedIcon`},n5e=te("div",{name:my,overridesResolver:(e,t)=>t.root})({position:"relative",[`& .${cd.loadedIcon}`]:{[`&.${cd.loadedLoading}`]:{opacity:0}},[`& .${cd.loader}`]:{position:"absolute",top:"30%",left:"30%"}});var jR={},r5e=gt;Object.defineProperty(jR,"__esModule",{value:!0});var _R=jR.default=void 0,a5e=r5e(vt()),o5e=p;_R=jR.default=(0,a5e.default)((0,o5e.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 4c1.93 0 3.5 1.57 3.5 3.5S13.93 13 12 13s-3.5-1.57-3.5-3.5S10.07 6 12 6m0 14c-2.03 0-4.43-.82-6.14-2.88C7.55 15.8 9.68 15 12 15s4.45.8 6.14 2.12C16.43 19.18 14.03 20 12 20"}),"AccountCircle");const i5e=v.createContext(void 0),s5e=i(({children:e,value:t})=>p.jsx(i5e.Provider,{value:t,children:e}),"UserMenuContextProvider");var kR={},c5e=gt;Object.defineProperty(kR,"__esModule",{value:!0});var VU=kR.default=void 0,l5e=c5e(vt()),u5e=p;VU=kR.default=(0,l5e.default)((0,u5e.jsx)("path",{d:"M13 3h-2v10h2zm4.83 2.17-1.42 1.42C17.99 7.86 19 9.81 19 12c0 3.87-3.13 7-7 7s-7-3.13-7-7c0-2.19 1.01-4.14 2.58-5.42L6.17 5.17C4.23 6.82 3 9.26 3 12c0 4.97 4.03 9 9 9s9-4.03 9-9c0-2.74-1.23-5.18-3.17-6.83"}),"PowerSettingsNew");const GU=v.forwardRef(i(function(t,n){const{className:r,redirectTo:a,icon:o,...s}=t,{authenticated:c}=Q7(),l=Xr(m=>m.breakpoints.down("sm")),u=at(),d=Jf(),f=v.useCallback(()=>d(null,a,!1),[a,d]);return c?p.jsxs(d5e,{className:de("logout",r),onClick:f,ref:n,component:l?"span":"li",...s,children:[p.jsx(Ll,{className:JU.icon,children:o||p.jsx(VU,{fontSize:"small"})}),p.jsx(ks,{children:u("ra.auth.logout",{_:"Logout"})})]}):null},"Logout2")),KU="RaLogout",JU={icon:`${KU}-icon`},d5e=te(Vn,{name:KU,overridesResolver:(e,t)=>t.root})({[`& .${JU.icon}`]:{}}),$R=i(e=>{const[t,n]=v.useState(null),r=at(),{isPending:a,identity:o}=Ho(),s=ws(),c=Xr(b=>b.breakpoints.up("sm")),{children:l=s?p.jsx(GU,{}):null,className:u,label:d="ra.auth.user_menu",icon:f=p5e}=e,m=i(b=>n(b.currentTarget),"handleMenu"),g=v.useCallback(()=>n(null),[]),h=v.useMemo(()=>({onClose:g}),[g]);if(!l)return null;const y=!!t;return p.jsxs(f5e,{className:u,children:[c&&!a&&(o!=null&&o.fullName)?p.jsx(hn,{"aria-label":d&&r(d,{_:d}),className:bm.userButton,color:"inherit",startIcon:o.avatar?p.jsx(za,{className:bm.avatar,src:o.avatar,alt:o.fullName}):f,onClick:m,variant:"text",children:o.fullName}):p.jsx(Lo,{title:d&&r(d,{_:"Profile"}),children:p.jsx(cn,{"aria-label":d&&r(d,{_:"Profile"}),"aria-owns":y?"menu-appbar":void 0,"aria-haspopup":!0,color:"inherit",onClick:m,children:!a&&(o!=null&&o.avatar)?p.jsx(za,{className:bm.avatar,src:o.avatar,alt:o.fullName}):f})}),p.jsx(s5e,{value:h,children:p.jsx(Ql,{id:"menu-appbar",disableScrollLock:!0,anchorEl:t,anchorOrigin:m5e,transformOrigin:h5e,open:y,onClose:g,children:l})})]})},"UserMenu"),l_="RaUserMenu",bm={userButton:`${l_}-userButton`,avatar:`${l_}-avatar`},f5e=te("div",{name:l_,overridesResolver:(e,t)=>t.root})(({theme:e})=>({[`& .${bm.userButton}`]:{textTransform:"none",marginInlineStart:e.spacing(.5)},[`& .${bm.avatar}`]:{width:e.spacing(3),height:e.spacing(3)}})),p5e=p.jsx(_R,{}),m5e={vertical:"bottom",horizontal:"right"},h5e={vertical:"top",horizontal:"right"},g5e=i(e=>{const{children:t,className:n}=e,r=zU();return p.jsx(iU,{appear:!1,direction:"down",in:!r,className:n,children:t})},"HideOnScroll"),v5e=i(e=>p.jsx(Ze,{flex:"1",textOverflow:"ellipsis",whiteSpace:"nowrap",overflow:"hidden",variant:"h6",color:"inherit",id:"react-admin-title",...e}),"TitlePortal"),YU=v.createContext({}),R1=i(e=>{const{lightTheme:t,darkTheme:n,defaultTheme:r}=e||{},a=v.useContext(YU);return{lightTheme:t||a.lightTheme,darkTheme:n||a.darkTheme,defaultTheme:r??a.defaultTheme}},"useThemesContext");var ER={},y5e=gt;Object.defineProperty(ER,"__esModule",{value:!0});var QU=ER.default=void 0,b5e=y5e(vt()),x5e=p;QU=ER.default=(0,b5e.default)((0,x5e.jsx)("path",{d:"M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zM12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6c3.31 0 6 2.69 6 6s-2.69 6-6 6"}),"Brightness4");var RR={},w5e=gt;Object.defineProperty(RR,"__esModule",{value:!0});var XU=RR.default=void 0,C5e=w5e(vt()),S5e=p;XU=RR.default=(0,C5e.default)((0,S5e.jsx)("path",{d:"M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zM12 18c-3.31 0-6-2.69-6-6s2.69-6 6-6 6 2.69 6 6-2.69 6-6 6m0-10c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4"}),"Brightness7");const ZU=i(e=>{const{darkTheme:t}=R1(),n=Xr("(prefers-color-scheme: dark)",{noSsr:!0}),[r,a]=xo("theme",e??(n&&t?"dark":"light"));return[t!=null?r:"light",a]},"useTheme"),j5e=i(({children:e})=>{const{lightTheme:t,darkTheme:n,defaultTheme:r}=R1(),a=Xr("(prefers-color-scheme: dark)",{noSsr:!0}),[o]=ZU(r||(a&&n?"dark":"light")),s=v.useMemo(()=>{try{return Tb(o==="dark"?n:t)}catch(c){return console.warn("Failed to reuse custom theme from store",c),Tb()}},[o,t,n]);return p.jsx(qSe,{theme:s,children:e})},"ThemeProvider"),eH={typography:{h6:{fontWeight:400}},sidebar:{width:240,closedWidth:50},components:{MuiAutocomplete:{defaultProps:{fullWidth:!0},variants:[{props:{},style:({theme:e})=>({[e.breakpoints.down("sm")]:{width:"100%"}})}]},MuiTextField:{defaultProps:{variant:"filled",margin:"dense",size:"small",fullWidth:!0},variants:[{props:{},style:({theme:e})=>({[e.breakpoints.down("sm")]:{width:"100%"}})}]},MuiFormControl:{defaultProps:{variant:"filled",margin:"dense",size:"small",fullWidth:!0}},RaSimpleFormIterator:{defaultProps:{fullWidth:!0}},RaTranslatableInputs:{defaultProps:{fullWidth:!0}}}},tH=kr(eH,{palette:{background:{default:"#fafafb"},secondary:{light:"#6ec6ff",main:"#2196f3",dark:"#0069c0",contrastText:"#fff"}},components:{MuiFilledInput:{styleOverrides:{root:{backgroundColor:"rgba(0, 0, 0, 0.04)","&$disabled":{backgroundColor:"rgba(0, 0, 0, 0.04)"}}}}}}),_5e=kr(eH,{palette:{mode:"dark",primary:{main:"#90caf9"},background:{default:"#313131"}}}),k5e=tH,$5e=i(()=>{const e=at(),{darkTheme:t,defaultTheme:n}=R1(),r=Xr("(prefers-color-scheme: dark)",{noSsr:!0}),[a,o]=ZU(n||(r&&t?"dark":"light")),s=i(()=>{o(a==="dark"?"light":"dark")},"handleTogglePaletteType"),c=e("ra.action.toggle_theme",{_:"Toggle Theme"});return p.jsx(Lo,{title:c,enterDelay:300,children:p.jsx(cn,{color:"inherit",onClick:s,"aria-label":c,children:a==="dark"?p.jsx(XU,{}):p.jsx(QU,{})})})},"ToggleThemeButton"),E5e=v.memo(e=>{const{alwaysOn:t,children:n,className:r,color:a="secondary",toolbar:o=A5e,userMenu:s=P5e,container:c=t?"div":g5e,...l}=e,u=Xr(d=>d.breakpoints.down("sm"));return p.jsx(c,{className:r,children:p.jsx(T5e,{className:Xc.appBar,color:a,...l,children:p.jsxs(Xl,{disableGutters:!0,variant:u?"regular":"dense",className:Xc.toolbar,children:[p.jsx(e5e,{className:Xc.menuButton}),v.Children.count(n)===0?p.jsx(v5e,{className:Xc.title}):n,o,typeof s=="boolean"?s===!0?p.jsx($R,{}):null:s]})})})}),R5e=i(()=>{const e=n9(),{darkTheme:t}=R1();return p.jsxs(p.Fragment,{children:[e&&e.length>1?p.jsx(wIe,{}):null,t&&p.jsx($5e,{}),p.jsx(qU,{})]})},"DefaultToolbar"),A5e=p.jsx(R5e,{}),P5e=p.jsx($R,{}),Wc="RaAppBar",Xc={appBar:`${Wc}-appBar`,toolbar:`${Wc}-toolbar`,menuButton:`${Wc}-menuButton`,menuButtonIconClosed:`${Wc}-menuButtonIconClosed`,menuButtonIconOpen:`${Wc}-menuButtonIconOpen`,title:`${Wc}-title`},T5e=te(PW,{name:Wc,overridesResolver:(e,t)=>t.root})(({theme:e})=>({[`& .${Xc.toolbar}`]:{padding:`0 ${e.spacing(1)}`,[e.breakpoints.down("md")]:{minHeight:e.spacing(6)}},[`& .${Xc.menuButton}`]:{marginRight:"0.2em"},[`& .${Xc.title}`]:{}})),M5e=v.forwardRef((e,t)=>{const{ButtonProps:n,updateText:r="ra.action.update_application",notificationText:a="ra.notification.application_update_available",...o}=e,s=at(),c=i(()=>{window.location.reload()},"handleButtonClick");return p.jsx(Zje,{ref:t,severity:"info",action:p.jsx(hn,{color:"inherit",size:"small",onClick:c,...n,children:s(r,{_:r})}),...o,children:s(a,{_:a})})}),O5e=i(e=>{const{notification:t=z5e,...n}=e,r=Gn();return Kye({onNewVersionAvailable:i(()=>{r(t,{type:"info",autoHideDuration:null})},"onNewVersionAvailable"),...n}),null},"CheckForApplicationUpdate"),z5e=p.jsx(M5e,{});var AR={},I5e=gt;Object.defineProperty(AR,"__esModule",{value:!0});var nH=AR.default=void 0,L5e=I5e(vt()),D5e=p;nH=AR.default=(0,L5e.default)((0,D5e.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m-2 15-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8z"}),"CheckCircle");var PR={},N5e=gt;Object.defineProperty(PR,"__esModule",{value:!0});var rH=PR.default=void 0,F5e=N5e(vt()),B5e=p;rH=PR.default=(0,F5e.default)((0,B5e.jsx)("path",{d:"M11 15h2v2h-2zm0-8h2v6h-2zm.99-5C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2M12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8"}),"ErrorOutline");const aH=i(e=>{const{className:t,isOpen:n=!1,loading:r,title:a,content:o,cancel:s="ra.action.cancel",confirm:c="ra.action.confirm",confirmColor:l="primary",ConfirmIcon:u=nH,CancelIcon:d=rH,onClose:f,onConfirm:m,translateOptions:g={},...h}=e,y=at(),b=v.useCallback(w=>{w.stopPropagation(),m(w)},[m]),x=v.useCallback(w=>{w.stopPropagation()},[]);return p.jsxs(W5e,{className:t,open:n,onClose:f,onClick:x,"aria-labelledby":"alert-dialog-title",...h,children:[p.jsx(Pg,{id:"alert-dialog-title",children:typeof a=="string"?y(a,{_:a,...g}):a}),p.jsx(Ag,{children:typeof o=="string"?p.jsx(aU,{children:y(o,{_:o,...g})}):o}),p.jsxs(Rg,{children:[p.jsx(hn,{disabled:r,onClick:f,startIcon:p.jsx(d,{}),children:y(s,{_:s})}),p.jsx(hn,{disabled:r,onClick:b,className:de("ra-confirm",{[Bb.confirmWarning]:l==="warning",[Bb.confirmPrimary]:l==="primary"}),autoFocus:!0,startIcon:p.jsx(u,{}),children:y(c,{_:c})})]})]})},"Confirm"),u_="RaConfirm",Bb={confirmPrimary:`${u_}-confirmPrimary`,confirmWarning:`${u_}-confirmWarning`},W5e=te(Eg,{name:u_,overridesResolver:(e,t)=>t.root})(({theme:e})=>({[`& .${Bb.confirmPrimary}`]:{color:e.palette.primary.main},[`& .${Bb.confirmWarning}`]:{color:e.palette.error.main,"&:hover":{backgroundColor:ah(e.palette.error.main,.12),"@media (hover: none)":{backgroundColor:"transparent"}}}}));var TR={},U5e=gt;Object.defineProperty(TR,"__esModule",{value:!0});var oH=TR.default=void 0,H5e=U5e(vt()),q5e=p;oH=TR.default=(0,H5e.default)((0,q5e.jsx)("path",{d:"M3 13h8V3H3zm0 8h8v-6H3zm10 0h8V11h-8zm0-18v6h8V3z"}),"Dashboard");const MR=v.forwardRef((e,t)=>{const{className:n,primaryText:r,leftIcon:a,onClick:o,sidebarIsOpen:s,tooltipProps:c,children:l,...u}=e,d=Xr(C=>C.breakpoints.down("md")),f=at(),m=kc(),[g,h]=E1(),y=v.useCallback(C=>{d&&h(!1),o&&o(C)},[h,d,o]),b=(typeof e.to=="string"?e.to:e.to.pathname)||"",x=Dte({path:b,end:b===`${m}/`}),w=i(()=>p.jsxs(V5e,{className:de(n,{[Wb.active]:!!x}),component:G5e,ref:t,tabIndex:0,...u,onClick:y,children:[a&&p.jsx(Ll,{className:Wb.icon,children:a}),l||(typeof r=="string"?f(r,{_:r}):r)]}),"renderMenuItem");return g?w():p.jsx(Lo,{title:typeof r=="string"?f(r,{_:r}):r,placement:"right",...c,children:w()})}),d_="RaMenuItemLink",Wb={active:`${d_}-active`,icon:`${d_}-icon`},V5e=te(Vn,{name:d_,overridesResolver:(e,t)=>t.root})(({theme:e})=>({color:e.palette.text.secondary,[`&.${Wb.active}`]:{color:e.palette.text.primary},[`& .${Wb.icon}`]:{minWidth:e.spacing(5)}})),G5e=v.forwardRef((e,t)=>p.jsx(zr,{ref:t,...e})),iH=i(e=>{const t=kc(),{leftIcon:n=p.jsx(oH,{}),to:r=`${t}/`,primaryText:a="ra.page.dashboard",...o}=e;return p.jsx(MR,{leftIcon:n,to:r,primaryText:a,...o})},"DashboardMenuItem");var OR={},K5e=gt;Object.defineProperty(OR,"__esModule",{value:!0});var sH=OR.default=void 0,J5e=K5e(vt()),Y5e=p;sH=OR.default=(0,J5e.default)((0,Y5e.jsx)("path",{d:"M15.73 3H8.27L3 8.27v7.46L8.27 21h7.46L21 15.73V8.27zM12 17.3c-.72 0-1.3-.58-1.3-1.3 0-.72.58-1.3 1.3-1.3.72 0 1.3.58 1.3 1.3 0 .72-.58 1.3-1.3 1.3m1-4.3h-2V7h2z"}),"Report");var zR={},Q5e=gt;Object.defineProperty(zR,"__esModule",{value:!0});var Tg=zR.default=void 0,X5e=Q5e(vt()),Z5e=p;Tg=zR.default=(0,X5e.default)((0,Z5e.jsx)("path",{d:"M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z"}),"ExpandMore");var IR={},eze=gt;Object.defineProperty(IR,"__esModule",{value:!0});var LR=IR.default=void 0,tze=eze(vt()),nze=p;LR=IR.default=(0,tze.default)((0,nze.jsx)("path",{d:"M13 3c-4.97 0-9 4.03-9 9H1l3.89 3.89.07.14L9 12H6c0-3.87 3.13-7 7-7s7 3.13 7 7-3.13 7-7 7c-1.93 0-3.68-.79-4.94-2.06l-1.42 1.42C8.27 19.99 10.51 21 13 21c4.97 0 9-4.03 9-9s-4.03-9-9-9m-1 5v5l4.28 2.54.72-1.21-3.5-2.08V8z"}),"History");var DR={},rze=gt;Object.defineProperty(DR,"__esModule",{value:!0});var cH=DR.default=void 0,aze=rze(vt()),oze=p;cH=DR.default=(0,aze.default)((0,oze.jsx)("path",{d:"M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.07-.94l2.03-1.58c.18-.14.23-.41.12-.61l-1.92-3.32c-.12-.22-.37-.29-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94l-.36-2.54c-.04-.24-.24-.41-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96c-.22-.08-.47 0-.59.22L2.74 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.09.63-.09.94s.02.64.07.94l-2.03 1.58c-.18.14-.23.41-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .44-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.47-.12-.61zM12 15.6c-1.98 0-3.6-1.62-3.6-3.6s1.62-3.6 3.6-3.6 3.6 1.62 3.6 3.6-1.62 3.6-3.6 3.6"}),"Settings");const ize=i(e=>{const{children:t,editor:n,preferenceKey:r,openButtonLabel:a="ra.configurable.customize",sx:o}=e,s=`preferences.${r}`,c=gE(),l=!!c,u=at(),{isEnabled:d,setEditor:f,preferenceKey:m,setPreferenceKey:g}=c||{},h=s===m,y=v.useRef(h),b=v.useRef(null),[x,w]=v.useState(!1);if(v.useEffect(()=>{y.current=h},[h]),v.useEffect(()=>()=>{y.current&&(g&&g(null),f&&f(null))},[f,g]),!l)return t;const C=i(()=>{if(!f)throw new Error("Configurable must be used inside a PreferencesEditorContextProvider");if(f(v.cloneElement(n,{preferenceKey:s,key:s})),!g)throw new Error("Configurable must be used inside a PreferencesEditorContextProvider");g(s)},"handleOpenEditor"),j=i(()=>{w(!0)},"handleShowButton"),_=i(()=>{w(!1)},"handleHideButton");return p.jsxs(tB,{value:s,children:[p.jsx(sze,{className:de(Xi.root,d&&Xi.editMode,h&&Xi.editorActive),sx:o,ref:b,onMouseEnter:d?j:void 0,onMouseLeave:d?_:void 0,children:t}),p.jsx(xU,{open:!!d&&(x||h),sx:{pointerEvents:"none","& .MuiPaper-root":{pointerEvents:"auto",borderRadius:10,padding:"2px",lineHeight:0,backgroundColor:"warning.light",color:"warning.contrastText","&:hover":{cursor:"pointer"}}},anchorEl:b.current,anchorOrigin:{vertical:"top",horizontal:"right"},transformOrigin:{vertical:"center",horizontal:"center"},onClose:_,PaperProps:{elevation:1,onMouseEnter:j,onMouseLeave:_,title:u(a),onClick:C},disableAutoFocus:!0,disableRestoreFocus:!0,disableEnforceFocus:!0,disableScrollLock:!0,marginThreshold:8,children:p.jsx(cH,{fontSize:"12px"})})]})},"Configurable"),hy="RaConfigurable",Xi={root:`${hy}-root`,editMode:`${hy}-editMode`,editorActive:`${hy}-editorActive`},sze=te("span",{name:hy,overridesResolver:(e,t)=>t.root})(({theme:e})=>({position:"relative",display:"inline-block",[`&.${Xi.editMode}`]:{transition:e.transitions.create("outline"),outline:`${ah(e.palette.warning.main,.3)} solid 2px`},[`&.${Xi.editMode}:hover `]:{outline:`${ah(e.palette.warning.main,.5)} solid 2px`},[`&.${Xi.editMode}.${Xi.editorActive} , &.${Xi.editMode}.${Xi.editorActive}:hover `]:{outline:`${e.palette.warning.main} solid 2px`}}));var NR={},cze=gt;Object.defineProperty(NR,"__esModule",{value:!0});var FR=NR.default=void 0,lze=cze(vt()),uze=p;FR=NR.default=(0,lze.default)((0,uze.jsx)("path",{d:"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8m3.59-13L12 10.59 8.41 7 7 8.41 10.59 12 7 15.59 8.41 17 12 13.41 15.59 17 17 15.59 13.41 12 17 8.41z"}),"CancelOutlined");var BR={},dze=gt;Object.defineProperty(BR,"__esModule",{value:!0});var lH=BR.default=void 0,fze=dze(vt()),pze=p;lH=BR.default=(0,fze.default)((0,pze.jsx)("path",{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6zM8 9h8v10H8zm7.5-5-1-1h-5l-1 1H5v2h14V4z"}),"DeleteOutline");const mze=i(()=>{const e=at();return wbe("ra.configurable.inspector.title",{_:"Inspector"}),p.jsx(Ze,{children:e("ra.configurable.inspector.content",{_:"Hover the application UI elements to configure them"})})},"InspectorRoot"),uH=i(()=>{const{isEnabled:e,disable:t,title:n,titleOptions:r,editor:a,preferenceKey:o}=gE(),s=v.useRef(!1),c=Xye(o),l=qo(),u=at(),[d,f]=v.useState(0),[m,g]=xo("ra.inspector.position",{x:(document==null?void 0:document.body.clientWidth)-l.breakpoints.values.sm/2-8,y:8}),[h,y]=v.useState(),b=i(C=>{const j=document==null?void 0:document.elementFromPoint(C.clientX,C.clientY);(j==null?void 0:j.id)==="inspector-dialog-title"&&(s.current=!0,C.dataTransfer.effectAllowed="move",C.dataTransfer.setData("inspector",""),setTimeout(()=>{C.target.classList.add("hide")},0),y({x:C.clientX-m.x,y:C.clientY-m.y}))},"handleDragStart"),x=i(C=>{s.current&&h&&(g({x:C.clientX-h.x,y:C.clientY-h.y}),C.target.classList.remove("hide"),s.current=!1)},"handleDragEnd");v.useEffect(()=>{if(!e)return;const C=i(j=>{j.dataTransfer.types.includes("inspector")&&j.preventDefault()},"handleDragover");return document==null||document.addEventListener("dragover",C),()=>{document==null||document.removeEventListener("dragover",C)}},[e]),v.useEffect(()=>{if(!e)return;const C=i(()=>{window==null||window.requestAnimationFrame(()=>{g(j=>({x:Math.min(j.x,(document==null?void 0:document.body.clientWidth)-l.breakpoints.values.sm/2-8),y:Math.min(j.y,(window==null?void 0:window.innerHeight)-50)}))})},"moveInspectorIfOutsideScreen");return C(),window==null||window.addEventListener("resize",C),()=>{window==null||window.removeEventListener("resize",C)}},[e,g,l.breakpoints.values.sm]);const w=i(()=>{c(),f(C=>C+1)},"handleReset");return e?p.jsxs(hze,{className:xm.modal,elevation:3,draggable:!0,onDragStart:b,onDragEnd:x,sx:{left:m.x,top:m.y},children:[p.jsxs("div",{className:xm.title,children:[p.jsx(Ze,{id:"inspector-dialog-title",variant:"overline",component:"div",py:1,px:2,flex:"1",children:n&&u(n,r)}),p.jsx("span",{id:"inspector-toolbar"}),o&&p.jsx(cn,{"aria-label":u("ra.action.remove"),onClick:w,size:"small",children:p.jsx(lH,{fontSize:"inherit"})}),p.jsx(cn,{"aria-label":u("ra.action.close"),onClick:t,size:"small",sx:{mr:1},children:p.jsx(FR,{fontSize:"inherit"})})]}),p.jsx("div",{className:xm.content,children:p.jsx(tB,{value:o,children:a||p.jsx(mze,{})})},d)]}):null},"Inspector"),gy="RaInspector",xm={modal:`${gy}-modal`,title:`${gy}-title`,content:`${gy}-content`},hze=te(Wa,{name:gy,overridesResolver:(e,t)=>t.root})(({theme:e})=>({position:"fixed",zIndex:e.zIndex.modal+1,width:e.breakpoints.values.sm/2,transition:e.transitions.create(["height","width"]),"&.hide":{display:"none"},[`& .${xm.title}`]:{display:"flex",justifyContent:"space-between",alignItems:"center",cursor:"move"},[`& .${xm.content}`]:{overflowY:"auto",maxHeight:"75vh",padding:e.spacing(2),paddingTop:0}}));uH.displayName="Inspector";const gze=i(({title:e,defaultTitle:t,className:n,...r})=>{const[a]=nB(),o=at(),s=sn();return a?p.jsx("span",{className:n,...r,children:o(a,{...s,_:a})}):p.jsx("span",{className:n,children:e?typeof e=="string"?p.jsx("span",{...r,children:o(e,{_:e})}):e:p.jsx("span",{...r,children:t})})},"PageTitle"),vze=i(()=>{const e=xbe();return p.jsx("form",{children:p.jsx(vs,{label:"title",variant:"filled",size:"small",fullWidth:!0,sx:{mb:1},...e})})},"PageTitleEditor"),yze=i(({preferenceKey:e,...t})=>{const{pathname:n}=Er();return p.jsx(ize,{editor:p.jsx(vze,{}),preferenceKey:e||`${n}.title`,sx:{"&.RaConfigurable-editMode":{margin:"2px"}},children:p.jsx(gze,{...t})})},"PageTitleConfigurable"),Mg=i(e=>{const{defaultTitle:t,title:n,preferenceKey:r,...a}=e,[o,s]=v.useState(()=>typeof document<"u"?document.getElementById("react-admin-title"):null);return v.useEffect(()=>{s(c=>{const l=typeof document<"u"&&document.body.contains(c);return c&&l?c:typeof document<"u"?document.getElementById("react-admin-title"):null})},[]),o?(Bx(!t&&!n,"Missing title prop in element"),p.jsx(p.Fragment,{children:Rf.createPortal(p.jsx(yze,{title:n,defaultTitle:t,preferenceKey:r,...a}),o)})):null},"Title"),A1=i(e=>{const{error:t,errorComponent:n,errorInfo:r,resetErrorBoundary:a,className:o,...s}=e,c=at(),l=A7();return a9(a),n?p.jsx(n,{error:t,errorInfo:r,title:l}):p.jsxs(v.Fragment,{children:[l&&p.jsx(Mg,{title:l}),p.jsxs(bze,{className:o,...s,children:[p.jsxs("h1",{className:ei.title,role:"alert",children:[p.jsx(sH,{className:ei.icon}),c("ra.page.error")]}),p.jsx("div",{children:c("ra.message.error")}),!1,p.jsx("div",{className:ei.toolbar,children:p.jsx(hn,{variant:"contained",startIcon:p.jsx(LR,{}),onClick:xze,children:c("ra.action.back")})})]})]})},"Error$1"),Vi="RaError",ei={container:`${Vi}-container`,title:`${Vi}-title`,icon:`${Vi}-icon`,panel:`${Vi}-panel`,panelSumary:`${Vi}-panelSumary`,panelDetails:`${Vi}-panelDetails`,toolbar:`${Vi}-toolbar`,advice:`${Vi}-advice`},bze=te("div",{name:Vi,overridesResolver:(e,t)=>t.root})(({theme:e})=>({display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",[e.breakpoints.down("md")]:{padding:"1em"},fontFamily:"Roboto, sans-serif",opacity:.5,[`& .${ei.title}`]:{display:"flex",alignItems:"center"},[`& .${ei.icon}`]:{width:"2em",height:"2em",marginRight:"0.5em"},[`& .${ei.panel}`]:{marginTop:"1em",maxWidth:"60em"},[`& .${ei.panelSumary}`]:{userSelect:"all"},[`& .${ei.panelDetails}`]:{whiteSpace:"pre-wrap"},[`& .${ei.toolbar}`]:{marginTop:"2em"},[`& .${ei.advice}`]:{marginTop:"2em"}}));function xze(){window.history.go(-1)}i(xze,"goBack$1");const wze=i(e=>{const{appBarAlwaysOn:t,children:n,closedSize:r,size:a,...o}=e,s=Xr(f=>f.breakpoints.down("sm")),[c,l]=E1();Zde();const u=zU(),d=i(()=>l(!c),"toggleSidebar");return s?p.jsx(Y5,{variant:"temporary",open:c,onClose:d,classes:Sr,...o,children:n}):p.jsx(Y5,{variant:"permanent",open:c,onClose:d,classes:Sr,className:u&&!t?Sr.appBarCollapsed:"",...o,children:p.jsx("div",{className:Sr.fixed,children:n})})},"Sidebar"),ta="RaSidebar",Sr={docked:`${ta}-docked`,paper:`${ta}-paper`,paperAnchorLeft:`${ta}-paperAnchorLeft`,paperAnchorRight:`${ta}-paperAnchorRight`,paperAnchorTop:`${ta}-paperAnchorTop`,paperAnchorBottom:`${ta}-paperAnchorBottom`,paperAnchorDockedLeft:`${ta}-paperAnchorDockedLeft`,paperAnchorDockedTop:`${ta}-paperAnchorDockedTop`,paperAnchorDockedRight:`${ta}-paperAnchorDockedRight`,paperAnchorDockedBottom:`${ta}-paperAnchorDockedBottom`,modal:`${ta}-modal`,fixed:`${ta}-fixed`,appBarCollapsed:`${ta}-appBarCollapsed`},Y5=te(ARe,{name:ta,slot:"Root",overridesResolver:(e,t)=>t.root,shouldForwardProp:()=>!0})(({open:e,theme:t})=>({height:"calc(100vh - 3em)",marginTop:0,transition:t.transitions.create("margin",{easing:t.transitions.easing.easeOut,duration:t.transitions.duration.enteringScreen}),[`&.${Sr.appBarCollapsed}`]:{marginTop:t.spacing(-6),[t.breakpoints.down("sm")]:{marginTop:t.spacing(-7)},transition:t.transitions.create("margin",{easing:t.transitions.easing.sharp,duration:t.transitions.duration.leavingScreen})},[`& .${Sr.docked}`]:{},[`& .${Sr.paper}`]:{},[`& .${Sr.paperAnchorLeft}`]:{},[`& .${Sr.paperAnchorRight}`]:{},[`& .${Sr.paperAnchorTop}`]:{},[`& .${Sr.paperAnchorBottom}`]:{},[`& .${Sr.paperAnchorDockedLeft}`]:{},[`& .${Sr.paperAnchorDockedTop}`]:{},[`& .${Sr.paperAnchorDockedRight}`]:{},[`& .${Sr.paperAnchorDockedBottom}`]:{},[`& .${Sr.modal}`]:{},[`& .${Sr.fixed}`]:{position:"fixed",height:"calc(100vh - 3em)",overflowX:"hidden",scrollbarWidth:"none",msOverflowStyle:"none","&::-webkit-scrollbar":{display:"none"}},"& .MuiPaper-root":{position:"relative",width:e?Ct(t,"sidebar.width",dH):Ct(t,"sidebar.closedWidth",fH),transition:t.transitions.create("width",{easing:t.transitions.easing.sharp,duration:t.transitions.duration.leavingScreen}),backgroundColor:"transparent",borderRight:"none",[t.breakpoints.only("xs")]:{marginTop:0,height:"100vh",position:"inherit",backgroundColor:t.palette.background.default},[t.breakpoints.up("md")]:{border:"none"},zIndex:"inherit"}})),dH=240,fH=55;var WR={},Cze=gt;Object.defineProperty(WR,"__esModule",{value:!0});var pH=WR.default=void 0,Sze=Cze(vt()),jze=p;pH=WR.default=(0,Sze.default)((0,jze.jsx)("path",{d:"M3 14h4v-4H3zm0 5h4v-4H3zM3 9h4V5H3zm5 5h13v-4H8zm0 5h13v-4H8zM8 5v4h13V5z"}),"ViewList");const mH=i(({name:e})=>{const t=Ix(),n=Kf(),r=Wo();return!t||!t[e]?null:p.jsx(MR,{to:r({resource:e,type:"list"}),state:{_scrollToTop:!0},primaryText:p.jsx(p.Fragment,{children:n(e,2)}),leftIcon:t[e].icon?v.createElement(t[e].icon):p.jsx(pH,{})})},"ResourceMenuItem"),hH=i(()=>{const e=Ix();return p.jsx(p.Fragment,{children:Object.keys(e).filter(t=>e[t].hasList).map(t=>p.jsx(mH,{name:t},t))})},"ResourceMenuItems"),Og=i(e=>{const{children:t,className:n,...r}=e,a=_ye(),[o]=E1();return p.jsxs(_ze,{className:de({[Ub.open]:o,[Ub.closed]:!o},n),...r,children:[a&&!t&&p.jsx(iH,{}),t??p.jsx(hH,{})]})},"Menu");Og.Item=MR;Og.DashboardItem=iH;Og.ResourceItem=mH;Og.ResourceItems=hH;const f_="RaMenu",Ub={open:`${f_}-open`,closed:`${f_}-closed`},_ze=te(yU,{name:f_,overridesResolver:(e,t)=>t.root})(({theme:e})=>({display:"flex",flexDirection:"column",justifyContent:"flex-start",[e.breakpoints.only("xs")]:{marginTop:0},transition:e.transitions.create("width",{easing:e.transitions.easing.sharp,duration:e.transitions.duration.leavingScreen}),[`&.${Ub.open}`]:{width:Ct(e,"sidebar.width",dH)},[`&.${Ub.closed}`]:{width:Ct(e,"sidebar.closedWidth",fH)}})),P1=i(e=>{const{className:t,loadingPrimary:n="ra.page.loading",loadingSecondary:r="ra.message.loading",...a}=e,o=qf(1e3),s=at();return o?p.jsx(kze,{className:t,...a,children:p.jsxs("div",{className:Hb.message,children:[p.jsx($g,{className:Hb.icon}),p.jsx(Ze,{variant:"h5",mt:3,color:"text.secondary",children:s(n,{_:n})}),p.jsx(Ze,{variant:"body2",children:s(r,{_:r})})]})}):null},"Loading"),vy="RaLoading",Hb={root:`${vy}-root`,icon:`${vy}-icon`,message:`${vy}-message`},kze=te("div",{name:vy,overridesResolver:(e,t)=>t.root})(({theme:e})=>({display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",height:"100%",[`& .${Hb.message}`]:{textAlign:"center",fontFamily:"Roboto, sans-serif",color:e.palette.text.disabled,paddingTop:"1em",paddingBottom:"1em"},[`& .${Hb.icon}`]:{width:"9em",height:"9em"}})),$ze=i(e=>{const{appBar:t=E5e,appBarAlwaysOn:n,children:r,className:a,error:o,menu:s=Og,sidebar:c=wze,...l}=e,[u,d]=v.useState(void 0),f=i((m,g)=>{d(g)},"handleError");return p.jsxs(Eze,{className:de("layout",a),...l,children:[p.jsx(BIe,{}),p.jsxs("div",{className:ld.appFrame,children:[p.jsx(t,{alwaysOn:n}),p.jsxs("main",{className:ld.contentWithSidebar,children:[p.jsx(c,{appBarAlwaysOn:n,children:p.jsx(s,{})}),p.jsx("div",{id:"main-content",className:ld.content,children:p.jsx(Qm,{onError:f,fallbackRender:({error:m,resetErrorBoundary:g})=>p.jsx(A1,{error:m,errorComponent:o,errorInfo:u,resetErrorBoundary:g}),children:p.jsx(v.Suspense,{fallback:p.jsx(P1,{}),children:r})})})]}),p.jsx(uH,{})]})]})},"Layout$1"),yy="RaLayout",ld={appFrame:`${yy}-appFrame`,contentWithSidebar:`${yy}-contentWithSidebar`,content:`${yy}-content`},Eze=te("div",{name:yy,overridesResolver:(e,t)=>t.root})(({theme:e})=>({display:"flex",flexDirection:"column",zIndex:1,minHeight:"100vh",backgroundColor:e.palette.background.default,position:"relative",minWidth:"fit-content",width:"100%",color:e.palette.getContrastText(e.palette.background.default),[`& .${ld.appFrame}`]:{display:"flex",flexDirection:"column",flexGrow:1,marginTop:e.spacing(6),[e.breakpoints.down("sm")]:{marginTop:e.spacing(7)}},[`& .${ld.contentWithSidebar}`]:{display:"flex",flexGrow:1,transition:e.transitions.create("margin",{easing:e.transitions.easing.easeOut,duration:e.transitions.duration.enteringScreen})},[`& .${ld.content}`]:{backgroundColor:e.palette.background.default,zIndex:2,display:"flex",flexDirection:"column",flexGrow:1,flexBasis:0,padding:0,[e.breakpoints.up("xs")]:{paddingRight:e.spacing(1),paddingLeft:e.spacing(1)}}})),T1=i(({timeout:e=1e3,...t})=>{const{className:n,...r}=t;return qf(e)?p.jsx(Aze,{className:n,...r}):p.jsx(Be,{my:1,height:4})},"LinearProgress");T1.displayName="LinearProgress";const Rze="RaLinearProgress",Aze=te(mAe,{name:Rze,overridesResolver:(e,t)=>t.root})(({theme:e})=>({margin:`${e.spacing(1)} 0`,width:e.spacing(20)})),Pze=i(({loadingPrimary:e="ra.page.loading",loadingSecondary:t="ra.message.loading",...n})=>p.jsx(P1,{loadingPrimary:e,loadingSecondary:t,...n}),"LoadingPage");var UR={},Tze=gt;Object.defineProperty(UR,"__esModule",{value:!0});var gH=UR.default=void 0,Mze=Tze(vt()),Q5=p;gH=UR.default=(0,Mze.default)([(0,Q5.jsx)("circle",{cx:"7",cy:"6",r:"2"},"0"),(0,Q5.jsx)("path",{d:"M11.15 12c-.31-.22-.59-.46-.82-.72l-1.4-1.55c-.19-.21-.43-.38-.69-.5-.29-.14-.62-.23-.96-.23h-.03C6.01 9 5 10.01 5 11.25V12H2v8c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2v-8zM7 20H5v-6h2zm4 0H9v-6h2zm4 0h-2v-6h2zm4 0h-2v-6h2zm-.35-14.14-.07-.07c-.57-.62-.82-1.41-.67-2.2L18 3h-1.89l-.06.43c-.2 1.36.27 2.71 1.3 3.72l.07.06c.57.62.82 1.41.67 2.2l-.11.59h1.91l.06-.43c.21-1.36-.27-2.71-1.3-3.71m-4 0-.07-.07c-.57-.62-.82-1.41-.67-2.2L14 3h-1.89l-.06.43c-.2 1.36.27 2.71 1.3 3.72l.07.06c.57.62.82 1.41.67 2.2l-.11.59h1.91l.06-.43c.21-1.36-.27-2.71-1.3-3.71"},"1")],"HotTub");const Oze=i(e=>{const{className:t,...n}=e,r=at();Yf();const a=A7();return p.jsxs(Ize,{className:t,...zze(n),children:[p.jsx(Mg,{defaultTitle:a}),p.jsxs("div",{className:ud.message,children:[p.jsx(gH,{className:ud.icon}),p.jsx("h1",{children:r("ra.page.not_found")}),p.jsxs("div",{children:[r("ra.message.not_found"),"."]})]}),p.jsx("div",{className:ud.toolbar,children:p.jsx(hn,{variant:"contained",startIcon:p.jsx(LR,{}),onClick:Lze,children:r("ra.action.back")})})]})},"NotFound"),zze=i(({staticContext:e,history:t,location:n,match:r,...a})=>a,"sanitizeRestProps$9"),by="RaNotFound",ud={icon:`${by}-icon`,message:`${by}-message`,toolbar:`${by}-toolbar`},Ize=te("div",{name:by,overridesResolver:(e,t)=>t.root})(({theme:e})=>({display:"flex",flexDirection:"column",justifyContent:"center",[e.breakpoints.up("md")]:{height:"100%"},[e.breakpoints.down("md")]:{height:"100vh",marginTop:"-3em"},[`& .${ud.icon}`]:{width:"9em",height:"9em"},[`& .${ud.message}`]:{textAlign:"center",fontFamily:"Roboto, sans-serif",opacity:.5,margin:"0 1em"},[`& .${ud.toolbar}`]:{textAlign:"center",marginTop:"2em"}}));function Lze(){window.history.go(-1)}i(Lze,"goBack");const Dze={vertical:"bottom",horizontal:"center"},Nze=i(e=>{const{className:t,type:n="info",autoHideDuration:r=4e3,multiLine:a=!1,anchorOrigin:o=Dze,...s}=e,{notifications:c,takeNotification:l}=UF(),[u,d]=v.useState(!1),[f,m]=v.useState(void 0),g=at();v.useEffect(()=>{var P;const E=i(R=>{R.preventDefault();const T="";return R.returnValue=T,T},"beforeunload");if((P=f==null?void 0:f.notificationOptions)!=null&&P.undoable&&window.addEventListener("beforeunload",E),c.length&&!f){const R=l();R&&(m(R),d(!0))}else c.length&&f&&u&&d(!1);return()=>{var R;(R=f==null?void 0:f.notificationOptions)!=null&&R.undoable&&window.removeEventListener("beforeunload",E)}},[c,f,u,l]);const h=v.useCallback(()=>{d(!1)},[d]),y=v.useCallback(()=>{var E;f&&((E=f.notificationOptions)!=null&&E.undoable)&&Jm.emit("end",{isUndo:!1}),m(void 0)},[f]),b=v.useCallback(()=>{Jm.emit("end",{isUndo:!0}),d(!1)},[]);if(!f)return null;const{message:x,type:w,notificationOptions:C}=f,{autoHideDuration:j,messageArgs:_,multiLine:S,undoable:k,...$}=C||{};return p.jsx(Fze,{className:t,open:u,message:x&&typeof x=="string"&&g(x,_),autoHideDuration:j===void 0?r:j??void 0,disableWindowBlurListener:k,TransitionProps:{onExited:y},onClose:h,ContentProps:{className:de(Fs[w||n],{[Fs.multiLine]:S||a})},action:k?p.jsx(hn,{color:"primary",className:Fs.undo,size:"small",onClick:b,children:p.jsx(p.Fragment,{children:g("ra.action.undo")})}):null,anchorOrigin:o,...s,...$,children:x&&typeof x!="string"&&v.isValidElement(x)?x:void 0})},"Notification"),ju="RaNotification",Fs={success:`${ju}-success`,error:`${ju}-error`,warning:`${ju}-warning`,undo:`${ju}-undo`,multiLine:`${ju}-multiLine`},Fze=te(tMe,{name:ju,overridesResolver:(e,t)=>t.root})(({theme:e,type:t})=>({[`& .${Fs.success}`]:{backgroundColor:e==null?void 0:e.palette.success.main,color:e==null?void 0:e.palette.success.contrastText},[`& .${Fs.error}`]:{backgroundColor:e==null?void 0:e.palette.error.main,color:e==null?void 0:e.palette.error.contrastText},[`& .${Fs.warning}`]:{backgroundColor:e==null?void 0:e.palette.warning.main,color:e==null?void 0:e.palette.warning.contrastText},[`& .${Fs.undo}`]:{color:t==="success"?e==null?void 0:e.palette.success.contrastText:e==null?void 0:e.palette.primary.light},[`& .${Fs.multiLine}`]:{whiteSpace:"pre-wrap"}})),zg=i(e=>{const t=Xr(n=>n.breakpoints.down("sm"));return p.jsx(Wze,{disableGutters:!0,variant:t?"regular":"dense",...Uze(e)})},"TopToolbar"),Bze="RaTopToolbar",Wze=te(Xl,{name:Bze,overridesResolver:(e,t)=>t.root})(({theme:e})=>({display:"flex",justifyContent:"flex-end",alignItems:"flex-end",gap:e.spacing(1),whiteSpace:"nowrap",flex:"0 1 auto",padding:e.spacing(.5),paddingBottom:e.spacing(1),[e.breakpoints.down("md")]:{flex:"0 1 100%"},[e.breakpoints.down("sm")]:{backgroundColor:e.palette.background.paper,padding:0,paddingBottom:0}})),Uze=i(({hasCreate:e,...t})=>t,"sanitizeToolbarRestProps"),Hze=i(e=>{const{confirmTitle:t="ra.message.bulk_delete_title",confirmContent:n="ra.message.bulk_delete_content",confirmColor:r="primary",icon:a=Kze,label:o="ra.action.delete",mutationMode:s="pessimistic",mutationOptions:c={},onClick:l,...u}=e,{meta:d,...f}=c,{selectedIds:m,onUnselectItems:g}=Kn(),[h,y]=to(!1),b=Gn(),x=Lt(e),w=lg(),C=at(),[j,{isPending:_}]=S7(x,{ids:m,meta:d},{onSuccess:()=>{w(),b("ra.notification.deleted",{type:"info",messageArgs:{smart_count:m.length},undoable:s==="undoable"}),g(),y(!1)},onError:E=>{b(typeof E=="string"?E:E.message||"ra.notification.http_error",{type:"error",messageArgs:{_:typeof E=="string"?E:E&&E.message?E.message:void 0}}),y(!1)},mutationMode:s,...f}),S=i(E=>{y(!0),E.stopPropagation()},"handleClick"),k=i(()=>{y(!1)},"handleDialogClose"),$=i(E=>{j(),typeof l=="function"&&l(E)},"handleDelete");return p.jsxs(v.Fragment,{children:[p.jsx(Gze,{onClick:S,label:o,...qze(u),children:a}),p.jsx(aH,{isOpen:h,loading:_,title:t,content:n,confirmColor:r,translateOptions:{smart_count:m.length,name:C(`resources.${x}.forcedCaseName`,{smart_count:m.length,_:Nx(C(`resources.${x}.name`,{smart_count:m.length,_:x?F7(x,m.length):void 0}),!0)})},onConfirm:$,onClose:k})]})},"BulkDeleteWithConfirmButton"),qze=i(({classes:e,label:t,...n})=>n,"sanitizeRestProps$8"),Vze="RaBulkDeleteWithConfirmButton",Gze=te(Go,{name:Vze,overridesResolver:(e,t)=>t.root})(({theme:e})=>({color:e.palette.error.main,"&:hover":{backgroundColor:ah(e.palette.error.main,.12),"@media (hover: none)":{backgroundColor:"transparent"}}})),Kze=p.jsx(ap,{}),Jze=i(e=>{const{label:t="ra.action.delete",icon:n=Yze,onClick:r,mutationOptions:a={},...o}=e,{meta:s,...c}=a,{selectedIds:l,onUnselectItems:u}=Kn(),d=Gn(),f=Lt(e),m=lg(),[g,{isPending:h}]=S7(),y=i(b=>{g(f,{ids:l,meta:s},{onSuccess:()=>{d("ra.notification.deleted",{type:"info",messageArgs:{smart_count:l.length},undoable:!0}),u()},onError:x=>{d(typeof x=="string"?x:x.message||"ra.notification.http_error",{type:"error",messageArgs:{_:typeof x=="string"?x:x&&x.message?x.message:void 0}}),m()},mutationMode:"undoable",...c}),typeof r=="function"&&r(b)},"handleClick");return p.jsx(Zze,{onClick:y,label:t,disabled:h,...Qze(o),children:n})},"BulkDeleteWithUndoButton"),Yze=p.jsx(ap,{}),Qze=i(({classes:e,label:t,...n})=>n,"sanitizeRestProps$7"),Xze="RaBulkDeleteWithUndoButton",Zze=te(Go,{name:Xze,overridesResolver:(e,t)=>t.root})(({theme:e})=>({color:e.palette.error.main,"&:hover":{backgroundColor:ah(e.palette.error.main,.12),"@media (hover: none)":{backgroundColor:"transparent"}}})),vH=i(({mutationMode:e="undoable",...t})=>e==="undoable"?p.jsx(Jze,{...t}):p.jsx(Hze,{mutationMode:e,...t}),"BulkDeleteButton");var HR={},eIe=gt;Object.defineProperty(HR,"__esModule",{value:!0});var yH=HR.default=void 0,tIe=eIe(vt()),nIe=p;yH=HR.default=(0,tIe.default)((0,nIe.jsx)("path",{d:"M19 9h-4V3H9v6H5l7 7zM5 18v2h14v-2z"}),"GetApp");const rIe=i(e=>{const{label:t="ra.action.delete",className:n,icon:r=aIe,onClick:a,redirect:o="list",mutationOptions:s,color:c="error",...l}=e,u=sn(e),d=Lt(e),{isPending:f,handleDelete:m}=A9({record:u,resource:d,redirect:o,onClick:a,mutationOptions:s});return p.jsx(Go,{onClick:m,disabled:f,label:t,className:de("ra-delete-button",n),color:c,...l,children:r},"button")},"DeleteWithUndoButton"),aIe=p.jsx(ap,{}),oIe=i(e=>{const{className:t,confirmTitle:n="ra.message.delete_title",confirmContent:r="ra.message.delete_content",confirmColor:a="primary",icon:o=iIe,label:s="ra.action.delete",mutationMode:c="pessimistic",onClick:l,redirect:u="list",translateOptions:d={},mutationOptions:f,color:m="error",...g}=e,h=at(),y=sn(e),b=Lt(e),{open:x,isPending:w,handleDialogOpen:C,handleDialogClose:j,handleDelete:_}=sme({record:y,redirect:u,mutationMode:c,onClick:l,mutationOptions:f,resource:b});return p.jsxs(v.Fragment,{children:[p.jsx(Go,{onClick:C,label:s,className:de("ra-delete-button",t),color:m,...g,children:o},"button"),p.jsx(aH,{isOpen:x,loading:w,title:n,content:r,confirmColor:a,translateOptions:{name:h(`resources.${b}.forcedCaseName`,{smart_count:1,_:Nx(h(`resources.${b}.name`,{smart_count:1,_:b?Lx(b):void 0}),!0)}),id:y==null?void 0:y.id,...d},onConfirm:_,onClose:j})]})},"DeleteWithConfirmButton"),iIe=p.jsx(ap,{}),sIe=i(e=>{const{mutationMode:t,...n}=e,r=sn(e),a=B$();if(!r||r.id==null)return null;const o=t||(a!=null&&a.mutationMode?a.mutationMode:"undoable");return o==="undoable"?p.jsx(rIe,{record:r,...n}):p.jsx(oIe,{mutationMode:o,record:r,...n})},"DeleteButton");var qR={},cIe=gt;Object.defineProperty(qR,"__esModule",{value:!0});var bH=qR.default=void 0,lIe=cIe(vt()),uIe=p;bH=qR.default=(0,lIe.default)((0,uIe.jsx)("path",{d:"M3 17.25V21h3.75L17.81 9.94l-3.75-3.75zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34a.9959.9959 0 0 0-1.41 0l-1.83 1.83 3.75 3.75z"}),"Create");const xH=i(e=>{const{icon:t=fIe,label:n="ra.action.edit",scrollToTop:r=!0,className:a,...o}=e,s=Lt(e),c=sn(e),l=Wo();return c?p.jsx(hIe,{component:zr,to:l({type:"edit",resource:s,id:c.id}),state:dIe[String(r)],label:n,onClick:pIe,className:de(mIe.root,a),...o,children:t}):null},"EditButton"),dIe={true:{_scrollToTop:!0},false:{}},fIe=p.jsx(bH,{}),pIe=i(e=>e.stopPropagation(),"stopPropagation$4"),wH="RaEditButton",mIe={root:`${wH}-root`},hIe=te(Go,{name:wH,overridesResolver:(e,t)=>t.root})({}),VR=i(e=>{const{maxResults:t=1e3,onClick:n,label:r="ra.action.export",icon:a=gIe,exporter:o,meta:s,...c}=e,{filter:l,filterValues:u,resource:d,sort:f,exporter:m,total:g}=Kn(),h=o||m,y=Di(),b=Gn(),x=v.useCallback(w=>{y.getList(d,{sort:f,filter:l?{...u,...l}:u,pagination:{page:1,perPage:t},meta:s}).then(({data:C})=>h&&h(C,Che(y),y,d)).catch(C=>{console.error(C),b("ra.notification.http_error",{type:"error"})}),typeof n=="function"&&n(w)},[y,h,l,u,t,b,n,d,f,s]);return p.jsx(Go,{onClick:x,label:r,disabled:g===0,...vIe(c),children:a})},"ExportButton"),gIe=p.jsx(yH,{}),vIe=i(({resource:e,...t})=>t,"sanitizeRestProps$6");var GR={},yIe=gt;Object.defineProperty(GR,"__esModule",{value:!0});var CH=GR.default=void 0,bIe=yIe(vt()),xIe=p;CH=GR.default=(0,bIe.default)((0,xIe.jsx)("path",{d:"m12.87 15.07-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z"}),"Translate");const wIe=i(e=>{const{icon:t=CIe,languages:n}=e,[r,a]=v.useState(null),o=n9({locales:n}),[s,c]=t9(),l=i(m=>{const g=o.find(h=>h.locale===m);return g?g.name:""},"getNameForLocale"),u=i(m=>()=>{c(m),a(null)},"changeLocale"),d=i(m=>{a(m.currentTarget)},"handleLanguageClick"),f=i(()=>{a(null)},"handleClose");return p.jsxs(jIe,{component:"span",children:[p.jsx(hn,{color:"inherit",variant:"text","aria-controls":"simple-menu","aria-label":"","aria-haspopup":"true",onClick:d,startIcon:t,endIcon:p.jsx(Tg,{fontSize:"small"}),children:l(s)}),p.jsx(Ql,{id:"simple-menu",anchorEl:r,keepMounted:!0,open:!!r,onClose:f,children:o.map(m=>p.jsx(Vn,{onClick:u(m.locale),selected:m.locale===s,children:m.name},m.locale))})]})},"LocalesMenuButton"),CIe=p.jsx(CH,{}),SIe="RaLocalesMenuButton",jIe=te(Be,{name:SIe,overridesResolver:(e,t)=>t.root})({});var KR={},_Ie=gt;Object.defineProperty(KR,"__esModule",{value:!0});var SH=KR.default=void 0,kIe=_Ie(vt()),$Ie=p;SH=KR.default=(0,kIe.default)((0,$Ie.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m1 15h-2v-2h2zm0-4h-2V7h2z"}),"Error");var JR={},EIe=gt;Object.defineProperty(JR,"__esModule",{value:!0});var jH=JR.default=void 0,RIe=EIe(vt()),AIe=p;jH=JR.default=(0,RIe.default)((0,AIe.jsx)("path",{d:"M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4z"}),"Refresh");const PIe=i(e=>{const{label:t="ra.action.refresh",icon:n=TIe,onClick:r,className:a,...o}=e,s=lg(),c=at(),l=v.useCallback(u=>{u.preventDefault(),s(),typeof r=="function"&&r(u)},[s,r]);return p.jsx(Lo,{title:t&&c(t,{_:"Refresh"}),children:p.jsx(cn,{"aria-label":t&&c(t,{_:"Refresh"}),className:a,color:"inherit",onClick:l,...o,children:n})})},"RefreshIconButton"),TIe=p.jsx(jH,{});var YR={},MIe=gt;Object.defineProperty(YR,"__esModule",{value:!0});var _H=YR.default=void 0,OIe=MIe(vt()),zIe=p;_H=YR.default=(0,OIe.default)((0,zIe.jsx)("path",{d:"M17 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V7zm-5 16c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3m3-10H5V5h10z"}),"Save");const kH=i(e=>{const{color:t="primary",icon:n=LIe,invalid:r,label:a="ra.action.save",onClick:o,mutationOptions:s,disabled:c,type:l="submit",transform:u,variant:d="contained",alwaysEnable:f=!1,...m}=e,g=at(),h=Vf(),y=B$(),{dirtyFields:b,isValidating:x,isSubmitting:w}=jx(),C=Object.keys(b).length>0,j=FIe(f===!1||f===void 0?void 0:!f,c||!C||x||w);Bx(l==="submit"&&(s&&(s.onSuccess||s.onError)||u),'Cannot use <SaveButton mutationOptions> props on a button of type "submit". To override the default mutation options on a particular save button, set the <SaveButton type="button"> prop, or set mutationOptions in the main view component (<Create> or <Edit>).');const _=v.useCallback(async $=>{let E;y!=null&&y.save&&(E=await y.save($,{...s,transform:u})),E!=null&&x7(E,h.setError)},[h.setError,y,s,u]),S=v.useCallback(async $=>{o&&o($),!$.defaultPrevented&&l==="button"&&($.stopPropagation(),await h.handleSubmit(_)($))},[o,l,h,_]),k=a&&g(a,{_:a});return p.jsxs(NIe,{variant:d,type:l,color:t,"aria-label":k,disabled:j,onClick:S,...m,children:[w?p.jsx($g,{sx:IIe,size:14,thickness:3,color:"inherit"}):n,k]})},"SaveButton"),IIe={"&.MuiCircularProgress-root":{marginRight:"10px",marginLeft:"2px"}},LIe=p.jsx(_H,{}),DIe="RaSaveButton",NIe=te(hn,{name:DIe,overridesResolver:(e,t)=>t.root})(({theme:e})=>({position:"relative","& .MuiSvgIcon-root, & .MuiIcon-root, & .MuiCircularProgress-root":{marginRight:e.spacing(1)},"& .MuiSvgIcon-root, & .MuiIcon-root":{fontSize:18}})),FIe=i((e,t)=>typeof e>"u"?t:e,"valueOrDefault"),BIe=i(()=>p.jsx(UIe,{onClick:HIe,className:"skip-nav-button",label:"ra.navigation.skip_nav",variant:"contained"}),"SkipNavigationButton"),WIe="RaSkipNavigationButton",UIe=te(Go,{name:WIe,overridesResolver:(e,t)=>t.root})(({theme:e})=>({position:"fixed",padding:e.spacing(1),backgroundColor:e.palette.background.default,color:e.palette.getContrastText(e.palette.background.default),transition:e.transitions.create(["top","opacity"],{easing:e.transitions.easing.easeIn,duration:e.transitions.duration.leavingScreen}),left:e.spacing(2),top:e.spacing(-10),zIndex:5e3,"&:hover":{opacity:.8,backgroundColor:e.palette.background.default},"&:focus":{top:e.spacing(2),transition:e.transitions.create(["top","opacity"],{easing:e.transitions.easing.easeOut,duration:e.transitions.duration.enteringScreen})}})),HIe=i(()=>{if(typeof document>"u")return;const e=document.getElementById("main-content");e&&(e.setAttribute("tabIndex","-1"),e.focus(),e.blur(),e.removeAttribute("tabIndex"))},"skipToContent"),qIe=i(e=>{const{className:t,title:n="ra.page.error",message:r="ra.message.auth_error",...a}=e,o=at();return p.jsx(VIe,{className:t,...a,children:p.jsxs("div",{className:$H.message,children:[p.jsx("h1",{children:o(n,{_:n})}),p.jsx("div",{children:o(r,{_:r})}),p.jsx(Go,{component:zr,to:"/login",label:"ra.auth.sign_in",children:p.jsx(gR,{})})]})})},"AuthError"),p_="RaAuthError",$H={root:`${p_}-root`,message:`${p_}-message`},VIe=te("div",{name:p_,overridesResolver:(e,t)=>t.root})(({theme:e})=>({display:"flex",flexDirection:"column",justifyContent:"center",[e.breakpoints.up("md")]:{height:"100%"},[e.breakpoints.down("xl")]:{height:"100vh",marginTop:"-3em"},[`& .${$H.message}`]:{textAlign:"center",fontFamily:"Roboto, sans-serif",opacity:.5,margin:"0 1em"}})),GIe=i(()=>{const{error:e}=vbe();return e?p.jsx(qIe,{message:e?e.message:void 0}):p.jsx(P1,{})},"AuthCallback"),df=i(e=>{const{helperText:t,error:n}=e,r=at();return n?p.jsx(Pve,{error:n}):t===!1?null:v.isValidElement(t)?t:typeof t=="string"?p.jsx(p.Fragment,{children:r(t,{_:t})}):p.jsx("span",{dangerouslySetInnerHTML:KIe})},"InputHelperText"),KIe={__html:"​"},Ig=i(({afterSubmit:e,allowNull:t,alwaysOn:n,beforeSubmit:r,component:a,data:o,defaultValue:s,error:c,format:l,formatOnBlur:u,initialValue:d,initializeForm:f,input:m,isEqual:g,isRequired:h,label:y,limitChoicesToValue:b,locale:x,meta:w,multiple:C,name:j,options:_,optionText:S,optionValue:k,parse:$,record:E,ref:P,refetch:R,render:T,resource:M,setFilter:I,setPagination:z,setSort:H,shouldUnregister:F,source:L,submitError:B,subscription:K,textAlign:se,translate:ue,translateChoice:_e,validate:le,validateFields:V,value:q,...Y})=>Y,"sanitizeInputRestProps");var QR={},JIe=gt;Object.defineProperty(QR,"__esModule",{value:!0});var EH=QR.default=void 0,YIe=JIe(vt()),QIe=p;EH=QR.default=(0,YIe.default)((0,QIe.jsx)("path",{d:"M7 11v2h10v-2zm5-9C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8"}),"RemoveCircleOutline");const RH=i(e=>{const{create:t,createLabel:n="ra.action.create",createItemLabel:r="ra.action.create_item",createValue:a="@@ra-create",optionText:o="name",filter:s,handleChange:c,onCreate:l}=e,u=at(),[d,f]=v.useState(!1),m=v.useRef(s);v.useEffect(()=>{m.current!==s&&s!==""&&(m.current=s)},[s]);const g=v.useMemo(()=>({filter:m.current,onCancel:()=>f(!1),onCreate:h=>{f(!1),c(h)}}),[c]);return{createId:a,getCreateItem:()=>typeof o!="string"?{id:a,name:s&&r?u(r,{item:s,_:r}):u(n,{_:n})}:$a({id:a},o,s&&r?u(r,{item:s,_:r}):u(n,{_:n})),handleChange:async h=>{var x;const y=((x=h==null?void 0:h.target)==null?void 0:x.value)||h,b=Array.isArray(y)?[...y].pop():y;if((b==null?void 0:b.id)===a||b===a)if(v.isValidElement(t)){f(!0);return}else{if(!l)throw new Error("To create a new option, you must pass an onCreate function or a create element.");const w=await l(s);if(w){c(w);return}}c(h)},createElement:d&&v.isValidElement(t)?p.jsx(XIe.Provider,{value:g,children:t}):null}},"useSupportCreateSuggestion"),XIe=v.createContext(void 0),ZIe=qW(),AH=i(e=>{const{choices:t,className:n,clearOnBlur:r=!0,clearText:a="ra.action.clear_input_value",closeText:o="ra.action.close",create:s,createLabel:c,createItemLabel:l,createValue:u,debounce:d=250,defaultValue:f,emptyText:m,emptyValue:g="",field:h,format:y,helperText:b,id:x,inputText:w,isFetching:C,isLoading:j,isPending:_,isRequired:S,label:k,limitChoicesToValue:$,matchSuggestion:E,margin:P,fieldState:R,filterToQuery:T=r6e,formState:M,multiple:I=!1,noOptionsText:z,onBlur:H,onChange:F,onCreate:L,openText:B="ra.action.open",optionText:K,optionValue:se,parse:ue,resource:_e,shouldRenderSuggestions:le,setFilter:V,size:q,source:Y,suggestionLimit:O=1/0,TextFieldProps:D,translateChoice:Z,validate:J,variant:U,onInputChange:ne,...ie}=e,he=Ot(T),{allChoices:N,isPending:Q,error:X,resource:we,source:fe,setFilters:pe,isFromReference:xe}=y7({choices:t,isFetching:C,isLoading:j,isPending:_,resource:_e,source:Y}),Re=at(),{id:Me,field:Je,isRequired:pt,fieldState:{error:it,invalid:De}}=mg({defaultValue:f,id:x,field:h,fieldState:R,formState:M,isRequired:S,onBlur:H,onChange:F,parse:ue,format:y,resource:we,source:fe,validate:J,...ie}),Se=v.useMemo(()=>m==null||pt||I?N:[{[se||"id"]:g,[typeof K=="string"?K:"name"]:Re(m,{_:m})}].concat(N||[]),[N,g,m,pt,I,K,se,Re]),We=t6e(Je.value,{choices:Se,multiple:I,optionValue:se});v.useEffect(()=>{if(g==null)throw new Error("emptyValue being set to null or undefined is not supported. Use parse to turn the empty string into null.")},[g]),v.useEffect(()=>{if(v.isValidElement(K)&&m!=null)throw new Error("optionText of type React element is not supported when setting emptyText");if(v.isValidElement(K)&&w==null)throw new Error(` -If you provided a React element for the optionText prop, you must also provide the inputText prop (used for the text input)`);if(v.isValidElement(K)&&!xe&&E==null)throw new Error(` -If you provided a React element for the optionText prop, you must also provide the matchSuggestion prop (used to match the user input with a choice)`)},[K,w,E,m,xe]),v.useEffect(()=>{Bx(le!=null&&z==null,"When providing a shouldRenderSuggestions function, we recommend you also provide the noOptionsText prop and set it to a text explaining users why no options are displayed. It supports translation keys.")},[le,z]);const yt=Vl(we),{getChoiceText:jt,getChoiceValue:G,getSuggestions:ae}=aye({choices:Se,limitChoicesToValue:$,matchSuggestion:E,optionText:K??(xe?yt:void 0),optionValue:se,selectedItem:We,suggestionLimit:O,translateChoice:Z??!xe}),[ce,be]=v.useState(""),Ue=i(Ce=>{I?Array.isArray(Ce)?Je.onChange(Ce.map(G),Ce):Je.onChange([...Je.value??[],G(Ce)],Ce):Je.onChange(G(Ce)??g,Ce)},"handleChange"),Oe=v.useCallback(cg(Ce=>{if(V)return V(Ce);t||pe(he(Ce))},d),[d,pe,V]),ft=v.useRef(Je.value);v.useEffect(()=>{pa(ft.current,Je.value)||(ft.current=Je.value,Oe(""))},[Je.value]);const{getCreateItem:kt,handleChange:wt,createElement:Dt,createId:re}=RH({create:s,createLabel:c,createItemLabel:l,createValue:u,handleChange:Ue,filter:ce,onCreate:L,optionText:K}),oe=v.useCallback((Ce,Fe=!1)=>Ce==null?"":typeof Ce=="string"?Ce:(Ce==null?void 0:Ce.id)===re||!Fe&&Ce[se||"id"]===g?Ct(Ce,typeof K=="string"?K:"name"):!Fe&&w!==void 0?w(Ce):jt(Ce),[jt,w,re,K,se,g]),ye=v.useCallback(()=>{if(r&&!I){const Ce=oe(We);pa(Ce,ce)||(be(Ce),Oe(""))}Je.onBlur()},[r,Je,oe,We,ce,Oe,I]);v.useEffect(()=>{if(!I){const Ce=oe(We);if(typeof Ce=="string")be(Ce);else throw new Error("When optionText returns a React element, you must also provide the inputText prop")}},[oe,I,We]);const Ie=i((Ce,Fe,lt)=>{((Ce==null?void 0:Ce.type)==="change"||!He(Fe))&&(be(Fe),Oe(Fe)),ne==null||ne(Ce,Fe,lt)},"handleInputChange"),He=v.useCallback(Ce=>{let Fe;return I?Fe=We.map(lt=>oe(lt)):Fe=[oe(We)],Fe.includes(Ce)},[oe,I,We]),ut=v.useCallback(Ce=>{const Fe=Se?Se.some(lt=>oe(lt)===Ce):!1;return He(Ce)||Fe},[Se,oe,He]),Ve=i((Ce,Fe)=>{let lt=xe||E||$?Ce:ZIe(Ce,Fe);const{inputValue:rt}=Fe;return(L||s)&&rt!==""&&!ut(ce)&&(lt=lt.concat(kt(rt))),lt},"filterOptions"),Ne=i((Ce,Fe,lt)=>{wt(Fe??g)},"handleAutocompleteChange"),ze=qf(1e3,ce),dt=v.useMemo(()=>!xe&&(E||$)?ae(ce):(Se==null?void 0:Se.slice(0,O))||[],[Se,ce,ae,$,E,O,xe]),St=i((Ce,Fe)=>String(G(Ce))===String(G(Fe)),"isOptionEqualToValue"),ke=!!X||b!==!1||De;return p.jsxs(p.Fragment,{children:[p.jsx(e6e,{blurOnSelect:!0,className:de("ra-input",`ra-input-${fe}`,n),clearText:Re(a,{_:a}),closeText:Re(o,{_:o}),openOnFocus:!0,openText:Re(B,{_:B}),id:Me,isOptionEqualToValue:St,filterSelectedOptions:!0,renderInput:Ce=>{const Fe={...Ce.InputProps,...D==null?void 0:D.InputProps};return p.jsx(vs,{name:Je.name,label:p.jsx(ms,{label:k,source:fe,resource:_e,isRequired:pt}),error:!!X||De,helperText:ke?p.jsx(df,{error:(it==null?void 0:it.message)||(X==null?void 0:X.message),helperText:b}):null,margin:P,variant:U,className:TH.textField,...Ce,InputProps:Fe,size:q})},multiple:I,renderTags:(Ce,Fe)=>Ce.map((lt,rt)=>p.jsx(gi,{label:v.isValidElement(K)?w?w(lt):"":jt(lt),size:"small",...Fe({index:rt})})),noOptionsText:typeof z=="string"?Re(z,{_:z}):z,selectOnFocus:!0,clearOnBlur:r,...Ig(ie),freeSolo:!!s||!!L,handleHomeEndKeys:!!s||!!L,filterOptions:Ve,options:le==null||le(ce)?dt:[],getOptionLabel:oe,inputValue:ce,loading:Q&&(!Se||Se.length===0)&&ze,value:We,onChange:Ne,onBlur:ye,onInputChange:Ie,renderOption:(Ce,Fe)=>{Ce.key=G(Fe);const lt=oe(Fe,!0);return p.jsx("li",{...Ce,children:lt===""?" ":lt})}}),Dt]})},"AutocompleteInput"),PH="RaAutocompleteInput",TH={textField:`${PH}-textField`},e6e=te(Zke,{name:PH,overridesResolver:(e,t)=>t.root})(({theme:e})=>({[`& .${TH.textField}`]:{minWidth:e.spacing(20)}})),t6e=i((e,{choices:t,multiple:n,optionValue:r})=>{const a=v.useRef(H2(t,e,r,n)),[o,s]=v.useState(()=>H2(t,e,r,n));return v.useEffect(()=>{const c=H2(t,e,r,n);n6e(a.current,c,r,n)||(a.current=c,s(c))},[t,e,n,r]),o||null},"useSelectedChoice"),H2=i((e=[],t,n="id",r)=>r?(Array.isArray(t??[])?t:[t]).map(a=>e.find(o=>String(a)===String(Ct(o,n)))).filter(a=>!!a):e.find(a=>String(Ct(a,n))===String(t))||"","getSelectedItems"),n6e=i((e,t,n="id",r)=>{if(r){const a=e??[],o=t??[];return a.length!==o.length?!1:!a.map(c=>o.some(l=>Ct(l,n)===Ct(c,n))).some(c=>c===!1)}return Ct(e,n)===Ct(t,n)},"areSelectedItemsEqual"),r6e=i(e=>({q:e}),"DefaultFilterToQuery"),a6e=i(e=>{const{className:t,row:n=!1,defaultValue:r=!1,format:a,label:o,fullWidth:s,helperText:c,onBlur:l,onChange:u,onFocus:d,disabled:f,parse:m,resource:g,source:h,validate:y,options:b=o6e,sx:x,...w}=e,{id:C,field:j,isRequired:_,fieldState:{error:S,invalid:k}}=mg({defaultValue:r,format:a,parse:m,resource:g,source:h,onBlur:l,onChange:u,type:"checkbox",validate:y,...w}),$=v.useCallback(P=>{j.onChange(P),j.onBlur()},[j]),E=c!==!1||k;return p.jsxs(c8e,{className:de("ra-input",`ra-input-${h}`,t),row:n,sx:x,children:[p.jsx(n8e,{inputRef:j.ref,control:p.jsx(xMe,{id:C,name:j.name,onChange:$,onFocus:d,checked:!!j.value,...Ig(w),...b,disabled:f}),label:p.jsx(ms,{label:o,source:h,resource:g,isRequired:_})}),E?p.jsx(uU,{error:k,children:p.jsx(df,{error:S==null?void 0:S.message,helperText:c})}):null]})},"BooleanInput"),o6e={},Ln="RaDatagrid",ht={root:`${Ln}-root`,table:`${Ln}-table`,tableWrapper:`${Ln}-tableWrapper`,thead:`${Ln}-thead`,tbody:`${Ln}-tbody`,headerRow:`${Ln}-headerRow`,headerCell:`${Ln}-headerCell`,checkbox:`${Ln}-checkbox`,row:`${Ln}-row`,clickableRow:`${Ln}-clickableRow`,rowEven:`${Ln}-rowEven`,rowOdd:`${Ln}-rowOdd`,rowCell:`${Ln}-rowCell`,selectable:`${Ln}-selectable`,expandHeader:`${Ln}-expandHeader`,expandIconCell:`${Ln}-expandIconCell`,expandIcon:`${Ln}-expandIcon`,expandable:`${Ln}-expandable`,expanded:`${Ln}-expanded`,expandedPanel:`${Ln}-expandedPanel`},i6e=te("div",{name:Ln,overridesResolver:(e,t)=>t.root})(({theme:e})=>({[`& .${ht.table}`]:{tableLayout:"auto"},[`& .${ht.tableWrapper}`]:{},[`& .${ht.thead}`]:{},[`& .${ht.tbody}`]:{},[`& .${ht.headerRow}`]:{},[`& .${ht.headerCell}`]:{position:"sticky",top:0,zIndex:2,backgroundColor:e.palette.background.paper,"&:first-of-type":{borderTopLeftRadius:e.shape.borderRadius},"&:last-child":{borderTopRightRadius:e.shape.borderRadius}},[`& .${ht.checkbox}`]:{},[`& .${ht.row}`]:{},[`& .${ht.clickableRow}`]:{cursor:"pointer"},[`& .${ht.rowEven}`]:{},[`& .${ht.rowOdd}`]:{},[`& .${ht.rowCell}`]:{},[`& .${ht.expandHeader}`]:{padding:0,width:e.spacing(6)},[`& .${ht.expandIconCell}`]:{width:e.spacing(6)},[`& .${ht.expandIcon}`]:{padding:e.spacing(1),transform:"rotate(-90deg)",transition:e.transitions.create("transform",{duration:e.transitions.duration.shortest})},[`& .${ht.expandIcon}.${ht.expanded}`]:{transform:"rotate(0deg)"},[`& .${ht.expandedPanel}`]:{}})),MH=v.forwardRef(({className:e,field:t,record:n,resource:r,...a},o)=>p.jsx(Or,{className:de(e,t.props.cellClassName),align:t.props.textAlign||t.type.textAlign,ref:o,...a,children:t}));MH.displayName="DatagridCell";const s6e=MH,c6e=i(({expanded:e,expandContentId:t,...n})=>{const r=at();return p.jsx(cn,{"aria-label":r(e?"ra.action.close":"ra.action.expand"),"aria-expanded":e,"aria-controls":t,tabIndex:-1,"aria-hidden":"true",component:"div",...n,size:"small",children:p.jsx(Tg,{fontSize:"inherit"})})},"ExpandRowButton"),l6e=v.memo(c6e),OH=v.createContext({});OH.displayName="DatagridContext";const zH=OH,IH=i(e=>{const t=v.useContext(zH);return v.useMemo(()=>Q$({},e!=null?{isRowExpandable:e.isRowExpandable}:{},t),[t,e])},"useDatagridContext"),X5=i((e,t,n)=>e?1+(n?1:0)+At.Children.toArray(t).filter(r=>!!r).length:0,"computeNbColumns"),LH=At.forwardRef((e,t)=>{const n=Ac(e),r=n!=null&&n.hasShow?"show":n!=null&&n.hasEdit?"edit":!1,{children:a,className:o,expand:s,hasBulkActions:c=!1,hover:l=!0,id:u,onToggleItem:d,record:f,rowClick:m=r,selected:g=!1,style:h,selectable:y=!0,...b}=e;if(typeof u>"u")throw new Error("DatagridRow expects an id prop");const x=IH(),w=at(),C=sn(e);if(!C)throw new Error("DatagridRow can only be used within a RecordContext or be passed a record prop");const j=Lt(e);if(!j)throw new Error("DatagridRow can only be used within a ResourceContext or be passed a resource prop");const _=(!x||!x.isRowExpandable||x.isRowExpandable(C))&&s,S=Wo(),[k,$]=qge(j,u,x&&x.expandSingle),[E,P]=v.useState(()=>X5(_,a,c));v.useEffect(()=>{const z=X5(_,a,c);z!==E&&P(z)},[_,E,a,c]);const R=Li(),T=v.useCallback(z=>{$(),z.stopPropagation()},[$]),M=v.useCallback(z=>{!y||!d||(d(u,z),z.stopPropagation())},[u,d,y]),I=v.useCallback(async z=>{z.persist();const H=typeof m=="function"?await m(u,j,C):m;if(!(H===!1||H==null)){if(["edit","show"].includes(H)){R(S({resource:j,id:u,type:H}),{state:{_scrollToTop:!0}});return}if(H==="expand"){T(z);return}if(H==="toggleSelection"){M(z);return}R(H)}},[m,u,j,C,R,S,T,M]);return p.jsxs(p.Fragment,{children:[p.jsxs(dh,{ref:t,className:de(o,{[ht.expandable]:_,[ht.selectable]:y,[ht.clickableRow]:typeof m=="function"?!0:m}),style:h,hover:l,onClick:I,...b,children:[s&&p.jsx(Or,{padding:"none",className:ht.expandIconCell,children:_&&p.jsx(l6e,{className:de(ht.expandIcon,{[ht.expanded]:k}),expanded:k,onClick:T,expandContentId:`${u}-expand`})}),c&&p.jsx(Or,{padding:"checkbox",children:p.jsx(uf,{"aria-label":w("ra.action.select_row",{_:"Select this row"}),color:"primary",className:`select-item ${ht.checkbox}`,checked:y&&g,onClick:M,disabled:!y})}),At.Children.map(a,(z,H)=>v.isValidElement(z)?p.jsx(s6e,{className:de(`column-${z.props.source}`,ht.rowCell),record:C,field:z,resource:j},`${u}-${z.props.source||H}`):null)]},u),_&&k&&p.jsx(dh,{id:`${u}-expand`,className:ht.expandedPanel,children:p.jsx(Or,{colSpan:E,children:v.isValidElement(s)?s:v.createElement(s)})},`${u}-expand`)]})}),u6e=i((e,t)=>{const{children:n,expand:r,...a}=e,{children:o,expand:s,...c}=t;return yx(a,c)},"areEqual"),DH=v.memo(LH,u6e);DH.displayName="PureDatagridRow";const d6e=LH,XR=v.forwardRef(({children:e,className:t,data:n=p6e,expand:r,hasBulkActions:a=!1,hover:o,onToggleItem:s,resource:c,row:l=f6e,rowClick:u,rowSx:d,rowStyle:f,selectedIds:m,isRowSelectable:g,...h},y)=>p.jsx(AU,{ref:y,className:de("datagrid-body",t,ht.tbody),...h,children:n.map((b,x)=>p.jsx(Kr,{value:b,children:v.cloneElement(l,{className:de(ht.row,{[ht.rowEven]:x%2===0,[ht.rowOdd]:x%2!==0}),expand:r,hasBulkActions:a&&!!m,hover:o,id:b.id??`row${x}`,onToggleItem:s,resource:c,rowClick:u,selectable:!g||g(b),selected:m==null?void 0:m.includes(b.id),sx:d==null?void 0:d(b,x),style:f==null?void 0:f(b,x)},e)},b.id??`row${x}`))})),f6e=p.jsx(d6e,{}),p6e=[];XR.muiName="TableBody";const NH=v.memo(e=>p.jsx(XR,{row:p.jsx(DH,{}),...e}));NH.muiName="TableBody";const m6e=XR,h6e=i(e=>{const{className:t,field:n,sort:r,updateSort:a,isSorting:o,...s}=e,c=Lt(),l=at(),u=hE(),d=l("ra.sort.sort_by",{field:n?u({label:n.props.label,resource:c,source:n.props.source}):void 0,order:l(`ra.sort.${(r==null?void 0:r.order)==="ASC"?"DESC":"ASC"}`),_:l("ra.action.sort")});return p.jsx(y6e,{className:de(t,n==null?void 0:n.props.headerClassName),align:(n==null?void 0:n.props.textAlign)||(n==null?void 0:n.type.textAlign),variant:"head",...s,children:a&&r&&n&&n.props.sortable!==!1&&n.type.sortable!==!1&&(n.props.sortBy||n.props.source)?p.jsx(Lo,{title:d,placement:n.props.textAlign==="right"||n.type.textAlign==="right"?"bottom-end":"bottom-start",enterDelay:300,children:p.jsx(z4e,{active:r.field===(n.props.sortBy||n.props.source),direction:r.order==="ASC"?"asc":"desc","data-field":n.props.sortBy||n.props.source,"data-order":n.props.sortByOrder||"ASC",onClick:a,classes:v6e,children:p.jsx(ms,{label:n.props.label,source:n.props.source,resource:c})})}):p.jsx(ms,{label:n==null?void 0:n.props.label,source:n==null?void 0:n.props.source,resource:c})})},"DatagridHeaderCell"),g6e=v.memo(h6e,(e,t)=>{var n,r,a,o;return e.updateSort===t.updateSort&&((n=e.sort)==null?void 0:n.field)===((r=t.sort)==null?void 0:r.field)&&((a=e.sort)==null?void 0:a.order)===((o=t.sort)==null?void 0:o.order)&&e.isSorting===t.isSorting}),FH="RaDatagridHeaderCell",v6e={icon:`${FH}-icon`},y6e=te(Or,{name:FH,overridesResolver:(e,t)=>t.root})({"& .MuiTableSortLabel-icon":{display:"none"},"& .Mui-active .MuiTableSortLabel-icon":{display:"inline"}}),wm=i(e=>p.jsx(x6e,{className:e.className,children:" "}),"Placeholder"),b6e="RaPlaceholder",x6e=te("span",{name:b6e,overridesResolver:(e,t)=>t.root})(({theme:e})=>({backgroundColor:e.palette.grey[300],display:"flex"})),q2=i((e,t)=>Array.from({length:e},(n,r)=>t(r)),"times$2"),w6e=i(({className:e,expand:t,hasBulkActions:n,nbChildren:r,nbFakeLines:a=5,size:o})=>qf(1e3)?p.jsx("div",{className:ht.root,children:p.jsxs(RU,{className:de(ht.table,e),size:o,children:[p.jsx(PU,{children:p.jsxs(dh,{className:ht.row,children:[t&&p.jsx(Or,{padding:"none",className:ht.expandHeader}),n&&p.jsx(Or,{padding:"checkbox",className:ht.expandIconCell,children:p.jsx(uf,{className:"select-all",color:"primary",checked:!1})}),q2(r,c=>p.jsx(Or,{variant:"head",className:ht.headerCell,children:p.jsx(wm,{})},c))]})}),p.jsx(AU,{children:q2(a,c=>p.jsxs(dh,{style:{opacity:1/(c+1)},children:[t&&p.jsx(Or,{padding:"none",className:ht.expandIconCell,children:p.jsx(cn,{className:ht.expandIcon,component:"div","aria-hidden":"true",size:"large",children:p.jsx(Tg,{})})}),n&&p.jsx(Or,{padding:"checkbox",className:ht.expandIconCell,children:p.jsx(uf,{className:"select-all",color:"primary",checked:!1})}),q2(r,l=>p.jsx(Or,{className:ht.rowCell,children:p.jsx(wm,{})},l))]},c))})]})}):null,"DatagridLoading"),C6e=v.memo(w6e);var S6e=v$,j6e=w9,_6e=C9,k6e=ag,$6e=ig,E6e=y$,R6e=200;function A6e(e,t,n,r){var a=-1,o=j6e,s=!0,c=e.length,l=[],u=t.length;if(!c)return l;n&&(t=k6e(t,$6e(n))),r?(o=_6e,s=!1):t.length>=R6e&&(o=E6e,s=!1,t=new S6e(t));e:for(;++a<c;){var d=e[a],f=n==null?d:n(d);if(d=r||d!==0?d:0,s&&f===f){for(var m=u;m--;)if(t[m]===f)continue e;l.push(d)}else o(t,f,r)||l.push(d)}return l}i(A6e,"baseDifference$2");var BH=A6e,P6e=BH,T6e=vx,M6e=Uf,Z5=mx,O6e=M6e(function(e,t){return Z5(e)?P6e(e,T6e(t,1,Z5,!0)):[]}),z6e=O6e;const I6e=Gt(z6e),L6e=i(({ids:e})=>{const t=at(),n=Lt(),[r,a]=Vge(n||"",e);return n?p.jsx(cn,{className:de(ht.expandIcon,{[ht.expanded]:r}),"aria-label":t(r?"ra.action.close":"ra.action.expand"),"aria-expanded":r,tabIndex:-1,"aria-hidden":"true",onClick:a,size:"small",children:p.jsx(Tg,{fontSize:"inherit"})}):null},"ExpandAllButton"),D6e=v.memo(L6e),WH=i(e=>{const{children:t,className:n,hasExpand:r=!1,hasBulkActions:a=!1,isRowSelectable:o}=e,s=at(),{sort:c,data:l,onSelect:u,selectedIds:d,setSort:f}=Sx(e),{expandSingle:m}=IH(),g=v.useCallback(x=>{if(x.stopPropagation(),!f)return;const w=x.currentTarget.dataset.field,C=(c==null?void 0:c.field)===w?(c==null?void 0:c.order)==="ASC"?"DESC":"ASC":x.currentTarget.dataset.order;f({field:w,order:C})},[c==null?void 0:c.field,c==null?void 0:c.order,f]),h=f?g:null,y=v.useCallback(x=>{!u||!d||!l||u(x.target.checked?d.concat(l.filter(w=>!d.includes(w.id)).filter(w=>o?o(w):!0).map(w=>w.id)):[])},[l,u,o,d]),b=Array.isArray(l)?o?l.filter(x=>o(x)).map(x=>x.id):l.map(x=>x.id):[];return p.jsx(PU,{className:de(n,ht.thead),children:p.jsxs(dh,{className:de(ht.row,ht.headerRow),children:[r&&p.jsx(Or,{padding:"none",className:de(ht.headerCell,ht.expandHeader),children:!m&&l?p.jsx(D6e,{ids:l.map(x=>x.id)}):null}),a&&d&&p.jsx(Or,{padding:"checkbox",className:ht.headerCell,children:p.jsx(uf,{inputProps:{"aria-label":s("ra.action.select_all",{_:"Select all"})},className:"select-all",color:"primary",checked:d.length>0&&b.length>0&&b.every(x=>d.includes(x)),onChange:y,onClick:x=>x.stopPropagation()})}),v.Children.map(t,(x,w)=>v.isValidElement(x)?p.jsx(g6e,{className:de(ht.headerCell,`column-${x.props.source}`),sort:c,field:x,isSorting:(c==null?void 0:c.field)===(x.props.sortBy||x.props.source),updateSort:h||void 0},x.props.source||w):null)]})})},"DatagridHeader");WH.displayName="DatagridHeader";const N6e=i(({children:e,value:t})=>p.jsx(zH.Provider,{value:t,children:e}),"DatagridContextProvider"),F6e=N6e;var ZR={},B6e=gt;Object.defineProperty(ZR,"__esModule",{value:!0});var UH=ZR.default=void 0,W6e=B6e(vt()),U6e=p;UH=ZR.default=(0,W6e.default)((0,U6e.jsx)("path",{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Close");const HH=i(e=>{const{label:t="ra.action.bulk_actions",children:n,className:r,...a}=e,{selectedIds:o=[],onUnselectItems:s}=Kn(),c=at(),l=v.useCallback(()=>{s()},[s]);return p.jsx(H6e,{className:r,children:p.jsxs(Xl,{"data-test":"bulk-actions-toolbar",className:de(Ao.toolbar,{[Ao.collapsed]:o.length===0}),...Tl(a),children:[p.jsxs("div",{className:Ao.title,children:[p.jsx(cn,{className:Ao.icon,"aria-label":c("ra.action.unselect"),title:c("ra.action.unselect"),onClick:l,size:"small",children:p.jsx(UH,{fontSize:"small"})}),p.jsx(Ze,{color:"inherit",variant:"subtitle1",children:c(t,{_:t,smart_count:o.length})})]}),p.jsx(zg,{className:Ao.topToolbar,children:n})]})})},"BulkActionsToolbar"),Uc="RaBulkActionsToolbar",Ao={toolbar:`${Uc}-toolbar`,topToolbar:`${Uc}-topToolbar`,buttons:`${Uc}-buttons`,collapsed:`${Uc}-collapsed`,title:`${Uc}-title`,icon:`${Uc}-icon`},H6e=te("div",{name:Uc,overridesResolver:(e,t)=>t.root})(({theme:e})=>({position:"relative",[`& .${Ao.toolbar}`]:{position:"absolute",left:0,right:0,zIndex:3,color:e.palette.mode==="light"?e.palette.primary.main:e.palette.text.primary,justifyContent:"space-between",backgroundColor:e.palette.mode==="light"?X2e(e.palette.primary.light,.8):e.palette.primary.dark,minHeight:e.spacing(6),height:e.spacing(6),transform:`translateY(-${e.spacing(6)})`,transition:`${e.transitions.create("height")}, ${e.transitions.create("min-height")}, ${e.transitions.create("transform")}`,borderTopLeftRadius:e.shape.borderRadius,borderTopRightRadius:e.shape.borderRadius},[`& .${Ao.topToolbar}`]:{paddingBottom:e.spacing(1),minHeight:"auto",[e.breakpoints.down("sm")]:{backgroundColor:"transparent"}},[`& .${Ao.buttons}`]:{},[`& .${Ao.collapsed}`]:{minHeight:0,height:0,transform:"translateY(0)",overflowY:"hidden"},[`& .${Ao.title}`]:{display:"flex",flex:"0 0 auto"},[`& .${Ao.icon}`]:{marginLeft:"-0.5em",marginRight:"0.5em"}})),qH=v.memo(()=>{const e=at(),t=Lt();return p.jsx(Vo,{children:p.jsx(Ze,{variant:"body2",children:e("ra.navigation.no_results",{resource:t})})})}),ez=p.jsx(vH,{}),VH=v.forwardRef((e,t)=>{const{optimized:n=!1,body:r=n?NH:m6e,header:a=WH,children:o,className:s,empty:c=G6e,expand:l,bulkActionButtons:u=ez,hover:d,isRowSelectable:f,isRowExpandable:m,resource:g,rowClick:h,rowSx:y,rowStyle:b,size:x="small",sx:w,expandSingle:C=!1,...j}=e,{sort:_,data:S,isPending:k,onSelect:$,onToggleItem:E,selectedIds:P,setSort:R,total:T}=Sx(e),M=!!u,I=v.useMemo(()=>({isRowExpandable:m,expandSingle:C}),[m,C]),z=v.useRef(null);v.useEffect(()=>{(!P||P.length===0)&&(z.current=null)},[JSON.stringify(P)]);const H=v.useCallback((F,L)=>{if(!S)return;const B=S.map(se=>se.id),K=B.indexOf(z.current);if(z.current=L.target.checked?F:null,L.shiftKey&&K!==-1){const se=B.indexOf(F),ue=B.slice(Math.min(K,se),Math.max(K,se)+1),_e=L.target.checked?j9(P,ue):I6e(P,ue);$==null||$(f?_e.filter(le=>f(S.find(V=>V.id===le))):_e)}else E==null||E(F)},[S,f,$,E,P]);return k===!0?p.jsx(C6e,{className:s,expand:l,hasBulkActions:M,nbChildren:v.Children.count(o),size:x}):S==null||S.length===0||T===0?c||null:p.jsx(F6e,{value:I,children:p.jsx(Tye,{value:g,children:p.jsxs(i6e,{sx:w,className:de(ht.root,s),children:[u!==!1?p.jsx(HH,{children:v.isValidElement(u)?u:ez}):null,p.jsx("div",{className:ht.tableWrapper,children:p.jsxs(RU,{ref:t,className:ht.table,size:x,...V6e(j),children:[tz(a,{children:o,sort:_,data:S,hasExpand:!!l,hasBulkActions:M,isRowSelectable:f,onSelect:$,selectedIds:P,setSort:R},o),tz(r,{expand:l,rowClick:h,data:S,hasBulkActions:M,hover:d,onToggleItem:H,resource:g,rowSx:y,rowStyle:b,selectedIds:P,isRowSelectable:f},o)]})})]})})})}),tz=i((e,t,n)=>v.isValidElement(e)?v.cloneElement(e,t,n):v.createElement(e,t,n),"createOrCloneElement"),q6e=["isRequired","setFilter","setPagination","limitChoicesToValue","translateChoice","field","fieldState","formState"],V6e=i(e=>Object.keys(Tl(e)).filter(t=>!q6e.includes(t)).reduce((t,n)=>({...t,[n]:e[n]}),{}),"sanitizeRestProps$5");VH.displayName="Datagrid";const G6e=p.jsx(qH,{});function K6e(e,t){for(var n=-1,r=e==null?0:e.length;++n<r&&t(e[n],n,e)!==!1;);return e}i(K6e,"arrayEach$1");var J6e=K6e,Y6e=Bf,Q6e=sg;function X6e(e,t){return e&&Y6e(t,Q6e(t),e)}i(X6e,"baseAssign$1");var Z6e=X6e,eLe=Bf,tLe=Wf;function nLe(e,t){return e&&eLe(t,tLe(t),e)}i(nLe,"baseAssignIn$1");var rLe=nLe,aLe=Bf,oLe=w$;function iLe(e,t){return aLe(e,oLe(e),t)}i(iLe,"copySymbols$1");var sLe=iLe,cLe=Bf,lLe=K9;function uLe(e,t){return cLe(e,lLe(e),t)}i(uLe,"copySymbolsIn$1");var dLe=uLe,fLe=Object.prototype,pLe=fLe.hasOwnProperty;function mLe(e){var t=e.length,n=new e.constructor(t);return t&&typeof e[0]=="string"&&pLe.call(e,"index")&&(n.index=e.index,n.input=e.input),n}i(mLe,"initCloneArray$1");var hLe=mLe,gLe=$$;function vLe(e,t){var n=t?gLe(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}i(vLe,"cloneDataView$1");var yLe=vLe,bLe=/\w*$/;function xLe(e){var t=new e.constructor(e.source,bLe.exec(e));return t.lastIndex=e.lastIndex,t}i(xLe,"cloneRegExp$1");var wLe=xLe,nz=Pf,rz=nz?nz.prototype:void 0,az=rz?rz.valueOf:void 0;function CLe(e){return az?Object(az.call(e)):{}}i(CLe,"cloneSymbol$1");var SLe=CLe,jLe=$$,_Le=yLe,kLe=wLe,$Le=SLe,ELe=GF,RLe="[object Boolean]",ALe="[object Date]",PLe="[object Map]",TLe="[object Number]",MLe="[object RegExp]",OLe="[object Set]",zLe="[object String]",ILe="[object Symbol]",LLe="[object ArrayBuffer]",DLe="[object DataView]",NLe="[object Float32Array]",FLe="[object Float64Array]",BLe="[object Int8Array]",WLe="[object Int16Array]",ULe="[object Int32Array]",HLe="[object Uint8Array]",qLe="[object Uint8ClampedArray]",VLe="[object Uint16Array]",GLe="[object Uint32Array]";function KLe(e,t,n){var r=e.constructor;switch(t){case LLe:return jLe(e);case RLe:case ALe:return new r(+e);case DLe:return _Le(e,n);case NLe:case FLe:case BLe:case WLe:case ULe:case HLe:case qLe:case VLe:case GLe:return ELe(e,n);case PLe:return new r;case TLe:case zLe:return new r(e);case MLe:return kLe(e);case OLe:return new r;case ILe:return $Le(e)}}i(KLe,"initCloneByTag$1");var JLe=KLe,YLe=px,QLe=Bo,XLe="[object Map]";function ZLe(e){return QLe(e)&&YLe(e)==XLe}i(ZLe,"baseIsMap$1");var eDe=ZLe,tDe=eDe,nDe=ig,oz=fx,iz=oz&&oz.isMap,rDe=iz?nDe(iz):tDe,aDe=rDe,oDe=px,iDe=Bo,sDe="[object Set]";function cDe(e){return iDe(e)&&oDe(e)==sDe}i(cDe,"baseIsSet$1");var lDe=cDe,uDe=lDe,dDe=ig,sz=fx,cz=sz&&sz.isSet,fDe=cz?dDe(cz):uDe,pDe=fDe,mDe=lx,hDe=J6e,gDe=f$,vDe=Z6e,yDe=rLe,bDe=VF,xDe=KF,wDe=sLe,CDe=dLe,SDe=LF,jDe=V$,_De=px,kDe=hLe,$De=JLe,EDe=JF,RDe=xa,ADe=dx,PDe=aDe,TDe=yo,MDe=pDe,ODe=sg,zDe=Wf,IDe=1,LDe=2,DDe=4,GH="[object Arguments]",NDe="[object Array]",FDe="[object Boolean]",BDe="[object Date]",WDe="[object Error]",KH="[object Function]",UDe="[object GeneratorFunction]",HDe="[object Map]",qDe="[object Number]",JH="[object Object]",VDe="[object RegExp]",GDe="[object Set]",KDe="[object String]",JDe="[object Symbol]",YDe="[object WeakMap]",QDe="[object ArrayBuffer]",XDe="[object DataView]",ZDe="[object Float32Array]",eNe="[object Float64Array]",tNe="[object Int8Array]",nNe="[object Int16Array]",rNe="[object Int32Array]",aNe="[object Uint8Array]",oNe="[object Uint8ClampedArray]",iNe="[object Uint16Array]",sNe="[object Uint32Array]",fn={};fn[GH]=fn[NDe]=fn[QDe]=fn[XDe]=fn[FDe]=fn[BDe]=fn[ZDe]=fn[eNe]=fn[tNe]=fn[nNe]=fn[rNe]=fn[HDe]=fn[qDe]=fn[JH]=fn[VDe]=fn[GDe]=fn[KDe]=fn[JDe]=fn[aNe]=fn[oNe]=fn[iNe]=fn[sNe]=!0;fn[WDe]=fn[KH]=fn[YDe]=!1;function xy(e,t,n,r,a,o){var s,c=t&IDe,l=t&LDe,u=t&DDe;if(n&&(s=a?n(e,r,a,o):n(e)),s!==void 0)return s;if(!TDe(e))return e;var d=RDe(e);if(d){if(s=kDe(e),!c)return xDe(e,s)}else{var f=_De(e),m=f==KH||f==UDe;if(ADe(e))return bDe(e,c);if(f==JH||f==GH||m&&!a){if(s=l||m?{}:EDe(e),!c)return l?CDe(e,yDe(s,e)):wDe(e,vDe(s,e))}else{if(!fn[f])return a?e:{};s=$De(e,f,c)}}o||(o=new mDe);var g=o.get(e);if(g)return g;o.set(e,s),MDe(e)?e.forEach(function(b){s.add(xy(b,t,n,b,e,o))}):PDe(e)&&e.forEach(function(b,x){s.set(x,xy(b,t,n,x,e,o))});var h=u?l?jDe:SDe:l?zDe:ODe,y=d?void 0:h(e);return hDe(y||e,function(b,x){y&&(x=b,b=e[x]),gDe(s,x,xy(b,t,n,x,e,o))}),s}i(xy,"baseClone$3");var e8=xy,cNe=e8,lNe=1,uNe=4;function dNe(e){return cNe(e,lNe|uNe)}i(dNe,"cloneDeep");var fNe=dNe;const YH=Gt(fNe),pNe=i(e=>{const{filterElement:t,handleHide:n,className:r}=e,a=Lt(e),o=at();return p.jsxs(mNe,{"data-source":t.props.source,className:de("filter-field",r),children:[v.cloneElement(t,{resource:a,record:hNe,size:t.props.size??"small",helperText:!1,defaultValue:void 0}),!t.props.alwaysOn&&p.jsx(cn,{className:de("hide-filter",qb.hideButton),onClick:n,"data-key":t.props.source,title:o("ra.action.remove_filter"),size:"small",children:p.jsx(EH,{})}),p.jsx("div",{className:qb.spacer,children:" "})]})},"FilterFormInput"),m_="RaFilterFormInput",qb={spacer:`${m_}-spacer`,hideButton:`${m_}-hideButton`},mNe=te("div",{name:m_,overridesResolver:(e,t)=>t.root})(({theme:e})=>({display:"flex",alignItems:"flex-end",pointerEvents:"auto",[e.breakpoints.down("sm")]:{width:"100%"},[`& .${qb.spacer}`]:{width:e.spacing(2)},[`& .${qb.hideButton}`]:{marginBottom:e.spacing(1)}})),hNe={},M1=v.createContext(void 0),gNe=i(e=>{const{defaultValues:t,filters:n,...r}=e,{setFilters:a,displayedFilters:o,filterValues:s}=Kn(),c=v.useContext(M1)||n,l=xNe(t||s,c),u=aE({defaultValues:l}),{getValues:d,reset:f,trigger:m,watch:g}=u;return v.useEffect(()=>{const h=SNe(d(),s),y=d();pa(h,y)||f(h)},[JSON.stringify(s),s,d,f]),v.useEffect(()=>{const h=g(async(y,{name:b})=>{const x=await m();if(b&&x)if(Ct(y,b)===""){const w=YH(y);ey(w,b),a(w,o,!0)}else a(y,o,!0)});return()=>h.unsubscribe()},[o,a,m,g]),p.jsx(Z$,{...u,children:p.jsx(b7,{children:p.jsx(vNe,{onSubmit:wNe,filters:c,...r})})})},"FilterForm"),vNe=i(e=>{const{className:t,filters:n,...r}=e,a=Lt(e),o=Vf(),{displayedFilters:s={},hideFilter:c}=Kn();v.useEffect(()=>{n&&n.forEach(f=>{if(f.props.alwaysOn&&f.props.defaultValue)throw new Error("Cannot use alwaysOn and defaultValue on a filter input. Please set the filterDefaultValues props on the <List> element instead.")})},[n]);const l=i(()=>{if(!n)return[];const f=o.getValues();return n.filter(m=>{const g=Ct(f,m.props.source);return m.props.alwaysOn||s[m.props.source]||g!==""&&typeof g<"u"})},"getShownFilters"),u=v.useCallback(f=>c(f.currentTarget.dataset.key),[c]),d=v.useMemo(()=>({getSource:f=>f,getLabel:f=>`resources.${a}.fields.${f}`}),[a]);return p.jsx(z7,{value:d,children:p.jsxs(CNe,{className:t,...bNe(r),onSubmit:yNe,children:[l().map(f=>p.jsx(pNe,{filterElement:f,handleHide:u,resource:a,className:Vb.filterFormInput},f.key||f.props.source)),p.jsx("div",{className:Vb.clearFix})]})})},"FilterFormBase"),yNe=i(e=>(e.preventDefault(),!1),"handleSubmit"),bNe=i(({hasCreate:e,resource:t,...n})=>n,"sanitizeRestProps$4"),xNe=i((e,t)=>({...t.filter(n=>n.props.alwaysOn&&n.props.defaultValue).reduce((n,r)=>$a({...n},r.props.source,r.props.defaultValue),{}),...e}),"mergeInitialValuesWithDefaultValues"),wNe=i(e=>(e.preventDefault(),e.stopPropagation(),!1),"handleFormSubmit"),h_="RaFilterForm",Vb={clearFix:`${h_}-clearFix`,filterFormInput:`${h_}-filterFormInput`},CNe=te("form",{name:h_,overridesResolver:(e,t)=>t.root})(({theme:e})=>({display:"flex",flex:"0 1 auto",[e.breakpoints.down("sm")]:{width:"100%"},[e.breakpoints.up("sm")]:{minHeight:e.spacing(8)},[e.breakpoints.up("md")]:{flex:"0 1 100%"},flexWrap:"wrap",alignItems:"flex-end",pointerEvents:"none",padding:`0 0 ${e.spacing(.5)} 0`,"& .MuiFormHelperText-root":{display:"none"},[`& .${Vb.clearFix}`]:{clear:"right"},[`& .${Vb.filterFormInput} .MuiFormControl-root`]:{marginTop:`${e.spacing(1)}`}})),SNe=i((e,t)=>Object.keys(e).reduce((n,r)=>(n[r]=QH(e,r,t),n),YH(t)??{}),"getFilterFormValues"),QH=i((e,t,n)=>{if(e[t]===void 0||e[t]===null)return"";if(Array.isArray(e[t])||e[t]instanceof Date)return Ct(n,t,"");if(typeof e[t]=="object"){const r=Object.keys(e[t]).reduce((a,o)=>{const s=QH(e[t],o,(n||{})[t]??{});return a[o]=s,a},{});return Object.keys(r).length?r:""}return Ct(n,t,"")},"getInputValue");var t8={},jNe=gt;Object.defineProperty(t8,"__esModule",{value:!0});var XH=t8.default=void 0,_Ne=jNe(vt()),kNe=p;XH=t8.default=(0,_Ne.default)((0,kNe.jsx)("path",{d:"M10 18h4v-2h-4zM3 6v2h18V6zm3 7h12v-2H6z"}),"FilterList");const $Ne=v.forwardRef((e,t)=>{const{filter:n,onShow:r,autoFocus:a}=e,o=Lt(e),s=v.useCallback(()=>{r({source:n.props.source,defaultValue:n.props.defaultValue})},[n.props.defaultValue,n.props.source,r]);return p.jsx(Vn,{className:"new-filter-item","data-key":n.props.source,"data-default-value":n.props.defaultValue,onClick:s,autoFocus:a,ref:t,disabled:n.props.disabled,children:p.jsx(ms,{label:n.props.label,source:n.props.source,resource:o})},n.props.source)}),n8=i(e=>xo(`${e}.savedQueries`,[]),"useSavedQueries"),r8=i(e=>Array.isArray(e)?e.filter(t=>ENe(t)):[],"extractValidSavedQueries"),ENe=i(e=>{var t,n;return!!(e.label&&typeof e.label=="string"&&e.value&&typeof Array.isArray(e.value.displayedFilters)&&typeof e.value.perPage=="number"&&typeof((t=e.value.sort)==null?void 0:t.field)=="string"&&typeof((n=e.value.sort)==null?void 0:n.order)=="string"&&typeof e.value.filter=="object")},"isValidSavedQuery"),RNe=i(({open:e,onClose:t})=>{const n=at(),{resource:r,filterValues:a,displayedFilters:o,sort:s,perPage:c}=Kn(),[l,u]=n8(r),[d,f]=v.useState(""),m=i(y=>{f(y.target.value)},"handleQueryNameChange"),g=i(y=>{y.preventDefault(),h()},"handleFormSubmit"),h=i(()=>{const y={label:d,value:{filter:a,sort:s,perPage:c,displayedFilters:o}},b=r8(l);u(b.concat(y)),f(""),t()},"addQuery");return p.jsxs(Eg,{open:e,onClose:t,"aria-labelledby":"form-dialog-title",children:[p.jsx(Pg,{id:"form-dialog-title",children:n("ra.saved_queries.new_dialog_title",{_:"Save current query as"})}),p.jsx(Ag,{children:p.jsx("form",{onSubmit:g,children:p.jsx(vs,{autoFocus:!0,margin:"dense",id:"name",label:n("ra.saved_queries.query_name",{_:"Query name"}),fullWidth:!0,value:d,onChange:m})})}),p.jsxs(Rg,{children:[p.jsx(hn,{onClick:t,children:n("ra.action.cancel")}),p.jsx(hn,{onClick:h,color:"primary",children:n("ra.action.save")})]})]})},"AddSavedQueryDialog"),ANe=i(({open:e,onClose:t})=>{const n=at(),{resource:r,filterValues:a,sort:o,perPage:s,displayedFilters:c}=Kn(),[l,u]=n8(r),d=i(()=>{let f={filter:a,sort:o,perPage:s,displayedFilters:c};const m=r8(l),g=m.findIndex(h=>pa(h.value,f));u([...m.slice(0,g),...m.slice(g+1)]),t()},"removeQuery");return p.jsxs(Eg,{open:e,onClose:t,"aria-labelledby":"alert-dialog-title","aria-describedby":"alert-dialog-description",children:[p.jsx(Pg,{id:"alert-dialog-title",children:n("ra.saved_queries.remove_dialog_title",{_:"Remove saved query?"})}),p.jsx(Ag,{children:p.jsx(aU,{children:n("ra.saved_queries.remove_message",{_:"Are you sure you want to remove that item from your list of saved queries?"})})}),p.jsxs(Rg,{children:[p.jsx(hn,{onClick:t,children:n("ra.action.cancel")}),p.jsx(hn,{onClick:d,color:"primary",autoFocus:!0,children:n("ra.action.confirm")})]})]})},"RemoveSavedQueryDialog"),PNe=i(e=>{const{filters:t,className:n,disableSaveQuery:r,size:a,variant:o,...s}=e,c=v.useContext(M1)||t,l=Lt(e),u=at();if(!l&&!r)throw new Error("<FilterButton> must be called inside a ResourceContextProvider, or must provide a resource prop");const[d]=n8(l||""),f=Li(),{displayedFilters:m={},filterValues:g,perPage:h,setFilters:y,showFilter:b,sort:x}=Kn(),w=!pa(g,{}),C=r8(d),j=C.some(K=>pa(K.value,{filter:g,sort:x,perPage:h,displayedFilters:m})),[_,S]=v.useState(!1),k=v.useRef();if(c===void 0)throw new Error("The <FilterButton> component requires the <List filters> prop to be set");const $=c.filter(K=>!K.props.alwaysOn&&!m[K.props.source]&&typeof Ct(g,K.props.source)>"u"),E=v.useCallback(K=>{K.preventDefault(),S(!0),k.current=K.currentTarget},[k,S]),P=v.useCallback(()=>{S(!1)},[S]),R=v.useCallback(({source:K,defaultValue:se})=>{b(K,se===""?void 0:se),setTimeout(()=>{const ue=document.querySelector(`input[name='${K}']`);ue&&ue.focus()},50),S(!1)},[b,S]),[T,M]=v.useState(!1),I=i(()=>{M(!1)},"hideAddSavedQueryDialog"),z=i(()=>{S(!1),M(!0)},"showAddSavedQueryDialog"),[H,F]=v.useState(!1),L=i(()=>{F(!1)},"hideRemoveSavedQueryDialog"),B=i(()=>{S(!1),F(!0)},"showRemoveSavedQueryDialog");return $.length===0&&C.length===0&&!w?null:p.jsxs(ONe,{className:n,...TNe(s),children:[p.jsx(Go,{className:"add-filter",label:"ra.action.add_filter","aria-haspopup":"true",onClick:E,variant:o,size:a,children:p.jsx(XH,{})}),p.jsxs(Ql,{open:_,anchorEl:k.current,onClose:P,children:[$.map((K,se)=>p.jsx($Ne,{filter:K,resource:l,onShow:R,autoFocus:se===0},K.props.source)),C.map((K,se)=>pa(K.value,{filter:g,sort:x,perPage:h,displayedFilters:m})?p.jsx(Vn,{onClick:B,children:u("ra.saved_queries.remove_label_with_name",{_:'Remove query "%{name}"',name:K.label})},se):p.jsx(Vn,{onClick:()=>{var ue,_e;f({search:gx.stringify({filter:JSON.stringify(K.value.filter),sort:(ue=K.value.sort)==null?void 0:ue.field,order:(_e=K.value.sort)==null?void 0:_e.order,page:1,perPage:K.value.perPage,displayedFilters:JSON.stringify(K.value.displayedFilters)})}),S(!1)},children:K.label},se)),w&&!j&&!r&&p.jsx(Vn,{onClick:z,children:u("ra.saved_queries.new_label",{_:"Save current query..."})}),w&&p.jsx(Vn,{onClick:()=>{y({},{}),S(!1)},children:u("ra.action.remove_all_filters",{_:"Remove all filters"})})]}),!r&&p.jsxs(p.Fragment,{children:[p.jsx(RNe,{open:T,onClose:I}),p.jsx(ANe,{open:H,onClose:L})]})]})},"FilterButton"),TNe=i(({displayedFilters:e=null,filterValues:t=null,showFilter:n=null,...r})=>r,"sanitizeRestProps$3"),MNe="RaFilterButton",ONe=te("div",{name:MNe,overridesResolver:(e,t)=>t.root})({display:"inline-block"}),Zc=i(e=>{const{label:t,icon:n,children:r,...a}=e,o=at();return p.jsxs(Be,{...a,children:[p.jsxs(Be,{mt:2,display:"flex",alignItems:"center",children:[p.jsx(Be,{mr:1,children:n}),p.jsx(Ze,{variant:"overline",children:o(t,{_:t})})]}),p.jsx(Oc,{dense:!0,disablePadding:!0,children:r})]})},"FilterList");var zNe=e8,INe=G9,LNe=1;function DNe(e){return INe(zNe(e,LNe))}i(DNe,"matches");var NNe=DNe;const ZH=Gt(NNe),FNe=i((e,t)=>e.label===t.label&&yx(e.value,t.value),"arePropsEqual"),na=v.memo(e=>{const{label:t,value:n,icon:r,isSelected:a=BNe,toggleFilter:o=WNe,...s}=e,{filterValues:c,setFilters:l}=Q9(),u=at(),d=Ot(o),f=a(n,c),m=i(()=>l(d(n,c)),"handleClick");return p.jsx(UNe,{onClick:m,selected:f,disablePadding:!0,...s,children:p.jsxs(fR,{disableGutters:!0,className:dd.listItemButton,children:[r&&p.jsx(Ll,{className:dd.listItemIcon,children:r}),p.jsx(ks,{primary:typeof t=="string"&&!gl.isElement(t)?u(t,{_:t}):t,className:dd.listItemText,"data-selected":f?"true":"false"}),f&&p.jsx(Jl,{onClick:g=>{g.stopPropagation(),m()},children:p.jsx(cn,{size:"small",children:p.jsx(FR,{})})})]})})},FNe),BNe=i((e,t)=>ZH(G$(e,n=>typeof n<"u"))(t),"DefaultIsSelected"),WNe=i((e,t)=>{if(ZH(G$(e,r=>typeof r<"u"))(t)){const r=Object.keys(e);return Object.keys(t).reduce((a,o)=>r.includes(o)?a:{...a,[o]:t[o]},{})}return{...t,...e}},"DefaultToggleFilter"),wy="RaFilterListItem",dd={listItemButton:`${wy}-listItemButton`,listItemText:`${wy}-listItemText`,listItemIcon:`${wy}-listItemIcon`},UNe=te(Yl,{name:wy,overridesResolver:(e,t)=>t.root})({[`& .${dd.listItemButton}`]:{paddingRight:"2em",paddingLeft:"2em"},[`& .${dd.listItemText}`]:{margin:0},[`& .${dd.listItemIcon}`]:{minWidth:0,marginRight:"0.5em"}});var a8={},HNe=gt;Object.defineProperty(a8,"__esModule",{value:!0});var eq=a8.default=void 0,qNe=HNe(vt()),VNe=p;eq=a8.default=(0,qNe.default)((0,VNe.jsx)("path",{d:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14"}),"Search");const tq=v.memo(e=>{const{filterValues:t,setFilters:n}=Q9(),r=at(),{source:a="q",label:o=r("ra.action.search"),placeholder:s,...c}=e,l=i(m=>{if(m.target)n({...t,[a]:m.target.value},null,!0);else{const{[a]:g,...h}=t;n(h)}},"handleChange"),u=v.useMemo(()=>({[a]:t[a]}),[t,a]),d=aE({defaultValues:u}),f=i(m=>{m.preventDefault()},"onSubmit");return p.jsx(Z$,{...d,children:p.jsx("form",{onSubmit:f,children:p.jsx(Nn,{resettable:!0,helperText:!1,source:a,InputProps:{endAdornment:p.jsx(vm,{position:"end",children:p.jsx(eq,{color:"disabled"})})},onChange:l,size:"small",label:c.hiddenLabel?!1:o,placeholder:s??(c.hiddenLabel?o:void 0),...c})})})}),GNe=v.memo(e=>{const{page:t,rowsPerPage:n,count:r,onPageChange:a,size:o="small",className:s,...c}=e,l=at(),u=Math.ceil(r/n)||1;if(u===1)return p.jsx(lz,{className:s});const d=i((f,m,g)=>f==="page"?g?l("ra.navigation.current_page",{page:m,_:`page ${m}`}):l("ra.navigation.page",{page:m,_:`Go to page ${m}`}):l(`ra.navigation.${f}`,{_:`Go to ${f} page`}),"getItemAriaLabel");return p.jsx(lz,{className:s,children:p.jsx(xTe,{size:o,count:u,page:t+1,onChange:(f,m)=>a(f,m-1),...JNe(c),getItemAriaLabel:d})})}),KNe="RaPaginationActions",lz=te("div",{name:KNe,overridesResolver:(e,t)=>t.root})(()=>({flexShrink:0,ml:4})),JNe=i(({nextIconButtonProps:e,backIconButtonProps:t,slotProps:n,...r})=>r,"sanitizeRestProps$2"),o8=v.memo(e=>{const{rowsPerPageOptions:t=YNe,actions:n,limit:r=null,...a}=e,{isPending:o,hasNextPage:s,page:c,perPage:l,total:u,setPage:d,setPerPage:f}=rve(),m=at(),g=Xr(j=>j.breakpoints.down("md")),h=v.useMemo(()=>u!=null?Math.ceil(u/l):void 0,[l,u]),y=v.useCallback((j,_)=>{if(j&&j.stopPropagation(),_<0||h&&_>h-1)throw new Error(m("ra.navigation.page_out_of_boundaries",{page:_+1}));d(_+1)},[h,d,m]),b=v.useCallback(j=>{f(j.target.value)},[f]),x=v.useCallback(({from:j,to:_,count:S})=>S===-1&&s?m("ra.navigation.partial_page_range_info",{offsetBegin:j,offsetEnd:_,_:"%{from}-%{to} of more than %{to}"}):m("ra.navigation.page_range_info",{offsetBegin:j,offsetEnd:_,total:S===-1?_:S,_:"%{from}-%{to} of %{count === -1 ? to : count}"}),[m,s]),w=v.useCallback(j=>m(`ra.navigation.${j}`,{_:`Go to ${j} page`}),[m]);if(o)return p.jsx(Xl,{variant:"dense"});if(u===0||c<1||u!=null&&c>h)return r!=null,null;if(g)return p.jsx(W5,{count:u??-1,rowsPerPage:l,page:c-1,onPageChange:y,rowsPerPageOptions:QNe,component:"span",labelDisplayedRows:x,...Tl(a)});const C=n||(!o&&u!=null?GNe:void 0);return p.jsx(W5,{count:u??-1,rowsPerPage:l,page:c-1,onPageChange:y,onRowsPerPageChange:b,ActionsComponent:C,nextIconButtonProps:{disabled:!s},component:"span",labelRowsPerPage:m("ra.navigation.page_rows_per_page"),labelDisplayedRows:x,getItemAriaLabel:w,rowsPerPageOptions:t,...Tl(a)})}),YNe=[5,10,25,50],QNe=[],XNe=i(({className:e,defaultValue:t,format:n=tFe,label:r,name:a,source:o,resource:s,helperText:c,margin:l,onBlur:u,onChange:d,parse:f,validate:m,variant:g,...h})=>{const{field:y,fieldState:b,id:x,isRequired:w}=mg({defaultValue:t,name:a,format:n,parse:f,onBlur:u,onChange:d,resource:s,source:o,validate:m,...h}),{error:C,invalid:j}=b,_=c!==!1||j;return p.jsx(vs,{id:x,...y,className:de("ra-input",`ra-input-${o}`,e),type:"date",size:"small",variant:g,margin:l,error:j,helperText:_?p.jsx(df,{error:C==null?void 0:C.message,helperText:c}):null,label:p.jsx(ms,{label:r,source:o,resource:s,isRequired:w}),InputLabelProps:eFe,...Ig(h)})},"DateInput"),uz=i(e=>{if(!(e instanceof Date)||isNaN(e.getDate()))return"";const t="00",n=e.getFullYear().toString(),r=(e.getMonth()+1).toString(),a=e.getDate().toString();return`${n}-${(t+r).slice(-2)}-${(t+a).slice(-2)}`},"convertDateToString"),ZNe=/^\d{4}-\d{2}-\d{2}$/,eFe={shrink:!0},tFe=i(e=>e==null||e===""?"":e instanceof Date?uz(e):ZNe.test(e)?e:uz(new Date(e)),"getStringFromDate");var i8={},nFe=gt;Object.defineProperty(i8,"__esModule",{value:!0});var Gb=i8.default=void 0,rFe=nFe(vt()),aFe=p;Gb=i8.default=(0,rFe.default)((0,aFe.jsx)("path",{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Clear");const O1=v.forwardRef((e,t)=>{const{clearAlwaysVisible:n,InputProps:r,value:a,resettable:o,disabled:s,variant:c,margin:l,className:u,...d}=e,f=at(),{onChange:m,onFocus:g,onBlur:h}=e,y=v.useCallback(P=>{P.preventDefault(),m&&m("")},[m]),b=v.useCallback(P=>{g&&g(P)},[g]),x=v.useCallback(P=>{h&&h(P)},[h]),{clearButton:w,clearIcon:C,inputAdornedEnd:j,selectAdornment:_,visibleClearIcon:S}=ku,{endAdornment:k,...$}=r||{};if(n&&k)throw new Error("ResettableTextField cannot display both an endAdornment and a clear button always visible");const E=i(()=>o?a?p.jsx(vm,{position:"end",className:e.select?_:void 0,children:p.jsx(cn,{className:w,"aria-label":f("ra.action.clear_input_value"),title:f("ra.action.clear_input_value"),onClick:y,onMouseDown:oFe,disabled:s,size:"large",children:p.jsx(Gb,{className:de(C,{[S]:n||a})})})}):n?p.jsx(vm,{position:"end",className:e.select?_:void 0,children:p.jsx(cn,{className:w,"aria-label":f("ra.action.clear_input_value"),title:f("ra.action.clear_input_value"),disabled:!0,size:"large",children:p.jsx(Gb,{className:de(C,S)})})}):k||p.jsx(vm,{position:"end",className:e.select?_:void 0,children:p.jsx("span",{className:w,children:" "})}):k,"getEndAdornment");return p.jsx(iFe,{value:a,InputProps:{classes:e.select&&c==="filled"?{adornedEnd:j}:{},endAdornment:E(),...$},disabled:s,variant:c,margin:l,className:u,...d,onFocus:b,onBlur:x,inputRef:t})});O1.displayName="ResettableTextField";const oFe=i(e=>{e.preventDefault()},"handleMouseDownClearButton"),_u="RaResettableTextField",ku={clearIcon:`${_u}-clearIcon`,visibleClearIcon:`${_u}-visibleClearIcon`,clearButton:`${_u}-clearButton`,selectAdornment:`${_u}-selectAdornment`,inputAdornedEnd:`${_u}-inputAdornedEnd`},nq={[`& .${ku.clearIcon}`]:{height:16,width:0},[`& .${ku.visibleClearIcon}`]:{width:16},[`& .${ku.clearButton}`]:{height:24,width:24,padding:0},[`& .${ku.selectAdornment}`]:{position:"absolute",right:24},[`& .${ku.inputAdornedEnd}`]:{paddingRight:0}},iFe=te(vs,{name:_u,overridesResolver:(e,t)=>t.root})(nq),sFe=i(({fullWidth:e,label:t,helperText:n,margin:r,size:a,sx:o,timeout:s=1e3,variant:c})=>{const l=qf(s);return p.jsx(lFe,{sx:o,label:t,helperText:n,fullWidth:e,variant:c,margin:r,size:a,disabled:!0,onChange:()=>{},InputProps:{endAdornment:p.jsx(vm,{position:"end",children:l?p.jsx($g,{color:"inherit",size:20}):p.jsx("span",{style:{width:20},children:" "})})}})},"LoadingInput"),cFe="RaLoadingInput",lFe=te(O1,{name:cFe,overridesResolver:(e,t)=>t.root})(({theme:e})=>({"& .MuiInputLabel-root.Mui-disabled":{color:e.palette.text.secondary},"& .MuiFilledInput-root.Mui-disabled":{background:e.palette.mode==="light"?"rgba(0, 0, 0, 0.04)":"rgba(255, 255, 255, 0.09)"},"& .MuiFilledInput-root.Mui-disabled:before":{borderBottomStyle:"solid"}})),Nn=i(e=>{const{className:t,defaultValue:n,label:r,format:a,helperText:o,onBlur:s,onChange:c,parse:l,resource:u,source:d,validate:f,...m}=e,{field:g,fieldState:{error:h,invalid:y},id:b,isRequired:x}=mg({defaultValue:n,format:a,parse:l,resource:u,source:d,type:"text",validate:f,onBlur:s,onChange:c,...m}),w=o!==!1||y;return p.jsx(O1,{id:b,...g,className:de("ra-input",`ra-input-${d}`,t),label:r!==""&&r!==!1?p.jsx(ms,{label:r,source:d,resource:u,isRequired:x}):null,error:y,helperText:w?p.jsx(df,{error:h==null?void 0:h.message,helperText:o}):null,...Ig(m)})},"TextInput"),g_=i(e=>{const{children:t=uFe,...n}=e;if(e.validate)throw new Error("<ReferenceInput> does not accept a validate prop. Set the validate prop on the child instead.");return p.jsx(uye,{...n,children:t})},"ReferenceInput"),uFe=p.jsx(AH,{}),fd=i(e=>{const{choices:t,className:n,create:r,createLabel:a,createValue:o,defaultValue:s,disableValue:c="disabled",emptyText:l="",emptyValue:u="",format:d,filter:f,helperText:m,isFetching:g,isLoading:h,isPending:y,label:b,margin:x="dense",onBlur:w,onChange:C,onCreate:j,optionText:_,optionValue:S,parse:k,resource:$,source:E,translateChoice:P,validate:R,...T}=e,M=at();v.useEffect(()=>{if(u==null)throw new Error("emptyValue being set to null or undefined is not supported. Use parse to turn the empty string into null.")},[u]);const{allChoices:I,isPending:z,error:H,source:F,resource:L,isFromReference:B}=y7({choices:t,isLoading:h,isFetching:g,isPending:y,resource:$,source:E});if(F===void 0)throw new Error("If you're not wrapping the SelectInput inside a ReferenceInput, you must provide the source prop");if(!z&&!H&&I===void 0)throw new Error("If you're not wrapping the SelectInput inside a ReferenceInput, you must provide the choices prop");const K=Vl(L),{getChoiceText:se,getChoiceValue:ue,getDisableValue:_e}=oE({optionText:_??(B?K:void 0),optionValue:S,disableValue:c,translateChoice:P??!B}),{field:le,fieldState:V,id:q,isRequired:Y}=mg({defaultValue:s,parse:k,format:d,onBlur:w,onChange:C,resource:L,source:F,validate:R,...T}),{error:O,invalid:D}=V,Z=v.useCallback(()=>typeof l=="string"?l===""?" ":M(l,{_:l}):l,[l,M]),J=v.useCallback(fe=>se(fe),[se]),U=v.useCallback(async fe=>{fe!=null&&fe.target?le.onChange(fe):le.onChange(ue(fe))},[le,ue]),{getCreateItem:ne,handleChange:ie,createElement:he}=RH({create:r,createLabel:a,createValue:o,handleChange:U,onCreate:j,optionText:_}),N=r||j?ne():null,Q=v.useCallback(fe=>fe?p.jsx(Vn,{value:ue(fe),disabled:_e(fe),children:J(N&&(fe==null?void 0:fe.id)===N.id?N:fe)},ue(fe)):null,[ue,_e,J,N]);if(z)return p.jsx(sFe,{label:b!==""&&b!==!1&&p.jsx(ms,{label:b,source:F,resource:$,isRequired:Y}),sx:e.sx,helperText:p.jsx(df,{error:O==null?void 0:O.message,helperText:m}),variant:e.variant,size:e.size,margin:e.margin,fullWidth:e.fullWidth});let X=H?[]:I;(r||j)&&(X=[...X,N]);const we=!!H||m!==!1||D;return p.jsxs(p.Fragment,{children:[p.jsxs(pFe,{id:q,...le,className:de("ra-input",`ra-input-${F}`,n),onChange:ie,select:!0,label:b!==""&&b!==!1&&p.jsx(ms,{label:b,source:F,resource:$,isRequired:Y}),clearAlwaysVisible:!0,error:!!H||D,helperText:we?p.jsx(df,{error:(O==null?void 0:O.message)||(H==null?void 0:H.message),helperText:m}):null,margin:x,...dFe(T),children:[!Y&&p.jsx(Vn,{value:u,"aria-label":M("ra.action.clear_input_value"),title:M("ra.action.clear_input_value"),children:Z()},"null"),X.map(Q)]}),he]})},"SelectInput"),dFe=i(({afterSubmit:e,allowNull:t,beforeSubmit:n,choices:r,className:a,crudGetMatching:o,crudGetOne:s,data:c,field:l,fieldState:u,formState:d,filter:f,filterToQuery:m,formatOnBlur:g,isEqual:h,limitChoicesToValue:y,multiple:b,name:x,pagination:w,perPage:C,ref:j,reference:_,refetch:S,render:k,setFilter:$,setPagination:E,setSort:P,shouldUnregister:R,sort:T,subscription:M,type:I,validateFields:z,validation:H,value:F,...L})=>Ig(L),"sanitizeRestProps$1"),fFe="RaSelectInput",pFe=te(O1,{name:fFe,overridesResolver:(e,t)=>t.root})(({theme:e})=>({...nq,minWidth:e.spacing(20),"& .MuiFilledInput-root":{paddingRight:0}})),mFe=i(e=>{const{redirectTo:t,className:n}=e,[r,a]=to(!1),o=obe(),s=at(),c=Gn(),l=i(u=>{a(!0),o(u,t).then(()=>{a(!1)}).catch(d=>{a(!1),c(typeof d=="string"?d:typeof d>"u"||!d.message?"ra.auth.sign_in_error":d.message,{type:"error",messageArgs:{_:typeof d=="string"?d:d&&d.message?d.message:void 0}})})},"submit");return p.jsx(hFe,{onSubmit:l,mode:"onChange",noValidate:!0,className:n,children:p.jsxs(Vo,{className:pd.content,children:[p.jsx(Nn,{autoFocus:!0,source:"username",label:s("ra.auth.username"),autoComplete:"username",validate:cs()}),p.jsx(Nn,{source:"password",label:s("ra.auth.password"),type:"password",autoComplete:"current-password",validate:cs()}),p.jsx(hn,{variant:"contained",type:"submit",color:"primary",disabled:r,fullWidth:!0,className:pd.button,children:r?p.jsx($g,{className:pd.icon,size:19,thickness:3}):s("ra.auth.sign_in")})]})})},"LoginForm"),Cy="RaLoginForm",pd={content:`${Cy}-content`,button:`${Cy}-button`,icon:`${Cy}-icon`},hFe=te(Gf,{name:Cy,overridesResolver:(e,t)=>t.root})(({theme:e})=>({[`& .${pd.content}`]:{width:300},[`& .${pd.button}`]:{marginTop:e.spacing(2)},[`& .${pd.icon}`]:{margin:e.spacing(.3)}})),gFe=i(e=>{const{children:t=vFe,backgroundImage:n,...r}=e,a=v.useRef(null);let o=!1;const s=Z7(),c=Li();v.useEffect(()=>{s({},!1).then(()=>{c("/")}).catch(()=>{})},[s,c]);const l=i(()=>{!o&&a.current&&(a.current.style.backgroundImage=`url(${n})`,o=!0)},"updateBackgroundImage"),u=i(()=>{if(n){const d=new Image;d.onload=l,d.src=n}},"lazyLoadBackgroundImage");return v.useEffect(()=>{o||u()}),p.jsx(yFe,{...r,ref:a,children:p.jsxs(Co,{className:md.card,children:[p.jsx("div",{className:md.avatar,children:p.jsx(za,{className:md.icon,children:p.jsx(gR,{})})}),t]})})},"Login"),vFe=p.jsx(mFe,{}),Sy="RaLogin",md={card:`${Sy}-card`,avatar:`${Sy}-avatar`,icon:`${Sy}-icon`},yFe=te("div",{name:Sy,overridesResolver:(e,t)=>t.root})(({theme:e})=>({display:"flex",flexDirection:"column",minHeight:"100vh",height:"1px",alignItems:"center",justifyContent:"flex-start",backgroundRepeat:"no-repeat",backgroundSize:"cover",backgroundImage:"radial-gradient(circle at 50% 14em, #313264 0%, #00023b 60%, #00023b 100%)",[`& .${md.card}`]:{minWidth:300,marginTop:"6em"},[`& .${md.avatar}`]:{margin:"1em",display:"flex",justifyContent:"center"},[`& .${md.icon}`]:{backgroundColor:e.palette.secondary[500]}})),bFe=i(e=>{const{actions:t,aside:n,children:r,className:a,component:o=Co,title:s,...c}=e,{resource:l,defaultTitle:u}=Hme();return p.jsxs(xFe,{className:de("create-page",a),...c,children:[p.jsx(Mg,{title:s,defaultTitle:u,preferenceKey:`${l}.create.title`}),t,p.jsxs("div",{className:de(hd.main,{[hd.noActions]:!t}),children:[p.jsx(o,{className:hd.card,children:r}),n]})]})},"CreateView"),jy="RaCreate",hd={main:`${jy}-main`,noActions:`${jy}-noActions`,card:`${jy}-card`},xFe=te("div",{name:jy,overridesResolver:(e,t)=>t.root})(({theme:e})=>({[`& .${hd.main}`]:{display:"flex"},[`& .${hd.noActions}`]:{[e.breakpoints.up("sm")]:{marginTop:"1em"}},[`& .${hd.card}`]:{flex:"1 1 auto"}})),wFe=i(e=>{R9("Create",["children"],e);const{resource:t,record:n,redirect:r,transform:a,mutationOptions:o,disableAuthentication:s,hasEdit:c,hasShow:l,...u}=e;return p.jsx(H$,{resource:t,record:n,redirect:r,transform:a,mutationOptions:o,disableAuthentication:s,hasEdit:c,hasShow:l,children:p.jsx(bFe,{...u})})},"Create"),CFe=i(e=>{const{hasShow:t}=Ac(e);return p.jsx(zg,{...SFe(e),children:t&&p.jsx(bR,{})})},"EditActions"),SFe=i(({hasCreate:e,hasEdit:t,hasShow:n,hasList:r,resource:a,...o})=>o,"sanitizeRestProps"),jFe=p.jsx(CFe,{}),_Fe=i(e=>{const{actions:t,aside:n,children:r,className:a,component:o=Co,title:s,...c}=e,{hasShow:l}=Ac(),{resource:u,defaultTitle:d,record:f}=F9(),m=typeof t>"u"&&l?jFe:t;return r?p.jsxs(kFe,{className:de("edit-page",a),...c,children:[p.jsx(Mg,{title:s,defaultTitle:d,preferenceKey:`${u}.edit.title`}),m,p.jsxs("div",{className:de(gd.main,{[gd.noActions]:!m}),children:[p.jsx(o,{className:gd.card,children:f?r:p.jsx(Vo,{children:" "})}),n]})]}):null},"EditView"),_y="RaEdit",gd={main:`${_y}-main`,noActions:`${_y}-noActions`,card:`${_y}-card`},kFe=te("div",{name:_y,overridesResolver:(e,t)=>t.root})({[`& .${gd.main}`]:{display:"flex",alignItems:"flex-start"},[`& .${gd.noActions}`]:{marginTop:"1em"},[`& .${gd.card}`]:{flex:"1 1 auto"}}),$Fe=i(e=>{R9("Edit",["children"],e);const{resource:t,id:n,mutationMode:r,mutationOptions:a,queryOptions:o,redirect:s,transform:c,disableAuthentication:l,...u}=e;return p.jsx(N9,{resource:t,id:n,mutationMode:r,mutationOptions:a,queryOptions:o,redirect:s,transform:c,disableAuthentication:l,children:p.jsx(_Fe,{...u})})},"Edit$1"),Lg=i(e=>{const{children:t,className:n,resource:r,...a}=e,o=Xr(s=>s.breakpoints.down("sm"));return p.jsx(EFe,{className:de({[vd.mobileToolbar]:o,[vd.desktopToolbar]:!o},n),role:"toolbar",...a,children:v.Children.count(t)===0?p.jsxs("div",{className:vd.defaultToolbar,children:[p.jsx(kH,{}),p.jsx(sIe,{resource:r})]}):t})},"Toolbar"),ky="RaToolbar",vd={desktopToolbar:`${ky}-desktopToolbar`,mobileToolbar:`${ky}-mobileToolbar`,defaultToolbar:`${ky}-defaultToolbar`},EFe=te(Xl,{name:ky,overridesResolver:(e,t)=>t.root})(({theme:e})=>({backgroundColor:e.palette.mode==="light"?e.palette.grey[100]:e.palette.grey[900],[`&.${vd.desktopToolbar}`]:{},[`&.${vd.mobileToolbar}`]:{position:"fixed",bottom:0,left:0,right:0,padding:"16px",width:"100%",boxSizing:"border-box",flexShrink:0,zIndex:2},[`& .${vd.defaultToolbar}`]:{flex:1,display:"flex",justifyContent:"space-between"}})),Wi=i(e=>{var n;const t=v.memo(e);return t.defaultProps=e.defaultProps,t.displayName=(n=e.displayName)==null?void 0:n.replace("Impl",""),t},"genericMemo"),rq=i(e=>{const{children:t,resource:n,source:r,perPage:a,sort:o,filter:s}=e,c=sn(e),l=Ct(c,r,dz)||dz,u=Cx({data:l,resource:n,perPage:a,sort:o,filter:s});return p.jsx(dg,{value:u,children:t})},"ArrayFieldImpl");rq.displayName="ArrayFieldImpl";const RFe=Wi(rq),dz=[];var s8={},AFe=gt;Object.defineProperty(s8,"__esModule",{value:!0});var aq=s8.default=void 0,PFe=AFe(vt()),TFe=p;aq=s8.default=(0,PFe.default)((0,TFe.jsx)("path",{d:"M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z"}),"Done");const Lr=i(({cellClassName:e,className:t,emptyText:n,fullWidth:r,headerClassName:a,label:o,linkType:s,link:c,locale:l,record:u,refetch:d,resource:f,sortable:m,sortBy:g,sortByOrder:h,source:y,textAlign:b,translateChoice:x,...w})=>w,"sanitizeFieldRestProps"),oq=i(e=>{const{className:t,emptyText:n,valueLabelTrue:r,valueLabelFalse:a,TrueIcon:o=aq,FalseIcon:s=Gb,looseValue:c=!1,...l}=e,u=at(),d=Fi(e),f=d===!0||c&&d;let m=d?r:a;return m||(m=f?"ra.boolean.true":"ra.boolean.false"),c||d===!1||d===!0?p.jsx(OFe,{component:"span",variant:"body2",className:t,...Lr(l),children:p.jsx(Lo,{title:u(m,{_:m}),children:f?o?p.jsx(o,{"data-testid":"true",fontSize:"small",className:Kb.trueIcon}):p.jsx(p.Fragment,{}):s?p.jsx(s,{"data-testid":"false",fontSize:"small",className:Kb.falseIcon}):p.jsx(p.Fragment,{})})}):p.jsx(Ze,{component:"span",variant:"body2",className:t,...Lr(l),children:n&&u(n,{_:n})})},"BooleanFieldImpl");oq.displayName="BooleanFieldImpl";const MFe=Wi(oq),v_="RaBooleanField",Kb={trueIcon:`${v_}-trueIcon`,falseIcon:`${v_}-falseIcon`},OFe=te(Ze,{name:v_,overridesResolver:(e,t)=>t.root})({display:"inline-flex",verticalAlign:"middle",lineHeight:0,[`& .${Kb.trueIcon}`]:{},[`& .${Kb.falseIcon}`]:{}}),iq=i(e=>{const{className:t,emptyText:n,...r}=e,a=Fi(e),o=at();return a==null&&n?p.jsx(Ze,{component:"span",variant:"body2",className:t,...Lr(r),children:n&&o(n,{_:n})}):p.jsx(zFe,{className:de(cq.chip,t),label:a,...Lr(r)})},"ChipFieldImpl");iq.displayName="ChipFieldImpl";const y_=Wi(iq),sq="RaChipField",cq={chip:`${sq}-chip`},zFe=te(gi,{name:sq,overridesResolver:(e,t)=>t.root})({[`&.${cq.chip}`]:{cursor:"inherit"}}),lq=i(e=>{const{className:t,emptyText:n,locales:r,options:a,showTime:o=!1,showDate:s=!0,transform:c=IFe,...l}=e,u=at();if(!o&&!s)throw new Error("<DateField> cannot have showTime and showDate false at the same time");const d=Fi(e);if(d==null||d==="")return n?p.jsx(Ze,{component:"span",variant:"body2",className:t,...Lr(l),children:n&&u(n,{_:n})}):null;const f=c(d);let m="";if(f)if(o&&s)m=V2?f.toLocaleString(r,a):f.toLocaleString();else if(s){const g=a??(typeof d=="string"&&d.length<=10?{timeZone:"UTC"}:void 0);m=V2?f.toLocaleDateString(r,g):f.toLocaleDateString()}else o&&(m=V2?f.toLocaleTimeString(r,a):f.toLocaleTimeString());return p.jsx(Ze,{component:"span",variant:"body2",className:t,...Lr(l),children:m})},"DateFieldImpl");lq.displayName="DateFieldImpl";const ff=Wi(lq),IFe=i(e=>e instanceof Date?e:typeof e=="string"||typeof e=="number"?new Date(e):void 0,"defaultTransform$1"),V2=(()=>{try{new Date().toLocaleString("i")}catch(e){return e instanceof RangeError}return!1})(),uq=i(e=>{const{className:t,emptyText:n,...r}=e,a=Fi(e),o=at();return a==null?n?p.jsx(Ze,{component:"span",variant:"body2",className:t,...Lr(r),children:n&&o(n,{_:n})}):null:p.jsx(uh,{className:t,href:`mailto:${a}`,onClick:LFe,variant:"body2",...Lr(r),children:a})},"EmailFieldImpl");uq.displayName="EmailFieldImpl";const dq=Wi(uq),LFe=i(e=>e.stopPropagation(),"stopPropagation$3"),c8=i(e=>{const{className:t,source:n="",render:r,...a}=e,o=sn(e);return v.useMemo(()=>o?p.jsx(Ze,{component:"span",variant:"body2",className:t,...Lr(a),children:r(o,n)}):null,[t,o,n,r,a])},"FunctionField"),fq=i(e=>{const{className:t,emptyText:n,source:r,locales:a,options:o,textAlign:s,transform:c=DFe,...l}=e,u=at();let d=Fi(e);return d==null?n?p.jsx(Ze,{component:"span",variant:"body2",className:t,...Lr(l),children:n&&u(n,{_:n})}):null:(c&&(d=c(d)),p.jsx(Ze,{variant:"body2",component:"span",className:t,...Lr(l),children:NFe&&typeof d=="number"?d.toLocaleString(a,o):d}))},"NumberFieldImpl"),DFe=i(e=>e&&typeof e=="string"&&!isNaN(e)?+e:e,"defaultTransform");fq.displayName="NumberFieldImpl";const pq=Wi(fq);pq.textAlign="right";const NFe=!!(typeof Intl=="object"&&Intl&&typeof Intl.NumberFormat=="function"),op=i(e=>{const{to:t,children:n,className:r,...a}=e;return p.jsx(WFe,{component:zr,to:t,className:de(BFe.link,r),...a,children:n})},"Link"),FFe="RaLink",BFe={link:`${FFe}-link`},WFe=te(uh)({}),Jb=i(e=>{const{className:t,children:n,empty:r,linkType:a="edit",gap:o=1,direction:s="row",...c}=e,{data:l,total:u,isPending:d}=Sx(e),f=Lt(e),m=Wo();return d===!0?p.jsx(T1,{}):l==null||l.length===0||u===0?r||null:p.jsx(UFe,{gap:o,direction:s,className:t,...Tl(c),children:l.map((g,h)=>{const y=a?m({resource:f,type:a,id:g.id}):!1;return y?p.jsx(Kr,{value:g,children:p.jsx(op,{className:hq.link,to:y,onClick:HFe,children:n||p.jsx(fz,{clickable:!0})})},g.id??`row${h}`):p.jsx(Kr,{value:g,children:n||p.jsx(fz,{})},g.id??`row${h}`)})})},"SingleFieldList"),mq="RaSingleFieldList",hq={link:`${mq}-link`},UFe=te(Ra,{name:mq,overridesResolver:(e,t)=>t.root})(({theme:e})=>({flexWrap:"wrap",[`& .${hq.link}`]:{textDecoration:"none","& > *":{color:e.palette.primary.main}}})),HFe=i(e=>e.stopPropagation(),"stopPropagation$2"),fz=i(({clickable:e})=>p.jsx(gi,{sx:{cursor:"inherit"},size:"small",label:p.jsx(D9,{}),clickable:e}),"DefaultChildComponent"),gq=i(e=>{const{filter:t,page:n=1,perPage:r,reference:a,resource:o,sort:s,source:c,queryOptions:l}=e,u=sn(e),d=sve({filter:t,page:n,perPage:r,record:u,reference:a,resource:o,sort:s,source:c,queryOptions:l});return p.jsx(Uo,{value:a,children:p.jsx(dg,{value:d,children:p.jsx(GFe,{...e})})})},"ReferenceArrayField"),qFe=i(e=>{const{children:t,pagination:n,className:r,sx:a}=e,{isPending:o,total:s}=Kn();return p.jsx(VFe,{className:r,sx:a,children:o?p.jsx(T1,{className:yq.progress}):p.jsxs("span",{children:[t||p.jsx(Jb,{}),n&&s!==void 0?n:null]})})},"ReferenceArrayFieldView"),vq="RaReferenceArrayField",yq={progress:`${vq}-progress`},VFe=te("div",{name:vq,overridesResolver:(e,t)=>t.root})(({theme:e})=>({[`& .${yq.progress}`]:{marginTop:e.spacing(2)}})),GFe=v.memo(qFe),Ai=i(e=>{const{emptyText:t}=e,n=at();return Fi(e)==null?t?p.jsx(Ze,{component:"span",variant:"body2",children:t&&n(t,{_:t})}):null:p.jsx(Xme,{...e,children:p.jsx(YFe,{...e})})},"ReferenceField"),KFe=i(e=>e.stopPropagation(),"stopPropagation$1"),JFe=i(e=>{const{children:t,className:n,emptyText:r,reference:a,sx:o}=e,{error:s,link:c,isLoading:l,referenceRecord:u}=Yme(),d=Vl(a),f=at();if(s)return p.jsx(SH,{"aria-errormessage":s.message?s.message:s,role:"presentation",color:"error",fontSize:"small"});if(l)return p.jsx(T1,{});if(!u)return r?p.jsx(Ze,{component:"span",variant:"body2",children:r&&f(r,{_:r})}):null;let m=t||p.jsx(Ze,{component:"span",variant:"body2",children:d(u)});return c?p.jsx(pz,{className:n,sx:o,children:p.jsx(Kr,{value:u,children:p.jsx(op,{to:c,className:xq.link,onClick:KFe,state:{_scrollToTop:!0},children:m})})}):p.jsx(pz,{className:n,sx:o,children:p.jsx(Kr,{value:u,children:m})})},"ReferenceFieldView"),YFe=Wi(JFe),bq="RaReferenceField",xq={link:`${bq}-link`},pz=te("span",{name:bq,overridesResolver:(e,t)=>t.root})(({theme:e})=>({lineHeight:"initial",[`& .${xq.link}`]:{"& > *":{color:e.palette.primary.main}}})),Yb=i(e=>{const{children:t,debounce:n,filter:r=QFe,page:a=1,pagination:o=null,perPage:s=25,reference:c,resource:l,sort:u=XFe,source:d="id",target:f,queryOptions:m}=e,g=sn(e),h=lve({debounce:n,filter:r,page:a,perPage:s,record:g,reference:c,resource:l,sort:u,source:d,target:f,queryOptions:m});return p.jsx(Uo,{value:c,children:p.jsxs(dg,{value:h,children:[t,o]})})},"ReferenceManyField"),QFe={},XFe={field:"id",order:"DESC"},wq=i(e=>{const{className:t,emptyText:n,choices:r,optionValue:a="id",optionText:o="name",translateChoice:s=!0,...c}=e,l=Fi(e),{getChoiceText:u,getChoiceValue:d}=oE({optionText:o,optionValue:a,translateChoice:s}),f=at(),m=r?r.find(h=>d(h)===l):null;if(!m)return n?p.jsx(Ze,{component:"span",variant:"body2",className:t,...Lr(c),children:n&&f(n,{_:n})}):null;let g=u(m);return p.jsx(Ze,{component:"span",variant:"body2",className:t,...Lr(c),children:g})},"SelectFieldImpl");wq.displayName="SelectFieldImpl";const l8=Wi(wq),Cq=i(e=>{const{className:t,emptyText:n,...r}=e,a=at(),o=Fi(e);return p.jsx(Ze,{component:"span",variant:"body2",className:t,...Lr(r),children:o!=null&&typeof o!="string"?JSON.stringify(o):o||(n?a(n,{_:n}):null)})},"TextFieldImpl");Cq.displayName="TextFieldImpl";const Hr=Wi(Cq),Sq=i(e=>{const{className:t,emptyText:n,...r}=e,a=Fi(e),o=at();return a==null?p.jsx(Ze,{component:"span",variant:"body2",className:t,...Lr(r),children:n&&o(n,{_:n})}):p.jsx(uh,{className:t,href:a,onClick:e9e,variant:"body2",...Lr(r),children:a})},"UrlFieldImpl");Sq.displayName="UrlFieldImpl";const ZFe=Wi(Sq),e9e=i(e=>e.stopPropagation(),"stopPropagation");var u8={},t9e=gt;Object.defineProperty(u8,"__esModule",{value:!0});var jq=u8.default=void 0,n9e=t9e(vt()),r9e=p;jq=u8.default=(0,n9e.default)((0,r9e.jsx)("path",{d:"M19 3H4.99c-1.11 0-1.98.89-1.98 2L3 19c0 1.1.88 2 1.99 2H19c1.1 0 2-.9 2-2V5c0-1.11-.9-2-2-2m0 12h-4c0 1.66-1.35 3-3 3s-3-1.34-3-3H4.99V5H19z"}),"Inbox");const a9e=i(e=>{const{className:t}=e,{hasCreate:n}=Ac(e),r=Lt(e),a=at(),o=Kf(),s=a(`resources.${r}.forcedCaseName`,{smart_count:0,_:r?o(r,0):void 0}),c=a("ra.page.empty",{name:s}),l=a("ra.page.invite");return p.jsxs(o9e,{className:t,children:[p.jsxs("div",{className:yd.message,children:[p.jsx(jq,{className:yd.icon}),p.jsx(Ze,{variant:"h4",paragraph:!0,children:a(`resources.${r}.empty`,{_:c})}),n&&p.jsx(Ze,{variant:"body1",children:a(`resources.${r}.invite`,{_:l})})]}),n&&p.jsx("div",{className:yd.toolbar,children:p.jsx($1,{variant:"contained"})})]})},"Empty"),$y="RaEmpty",yd={message:`${$y}-message`,icon:`${$y}-icon`,toolbar:`${$y}-toolbar`},o9e=te("span",{name:$y,overridesResolver:(e,t)=>t.root})(({theme:e})=>({flex:1,[`& .${yd.message}`]:{textAlign:"center",opacity:e.palette.mode==="light"?.5:.8,margin:"0 1em",color:e.palette.mode==="light"?"inherit":e.palette.text.primary},[`& .${yd.icon}`]:{width:"9em",height:"9em"},[`& .${yd.toolbar}`]:{textAlign:"center",marginTop:"2em"}})),i9e=v.memo(e=>{const{filters:t,actions:n,className:r,...a}=e;return Array.isArray(t)?p.jsx(M1.Provider,{value:t,children:p.jsxs(mz,{className:r,children:[p.jsx(gNe,{}),p.jsx("span",{}),n]})}):p.jsxs(mz,{className:r,children:[t&&v.cloneElement(t,{...a,context:"form"}),p.jsx("span",{}),n&&v.cloneElement(n,{...a,filters:t,...n.props})]})}),s9e="RaListToolbar",mz=te("div",{name:s9e,overridesResolver:(e,t)=>t.root})(({theme:e})=>({display:"flex",position:"relative",justifyContent:"space-between",alignItems:"flex-end",width:"100%",[e.breakpoints.down("md")]:{flexWrap:"wrap"},[e.breakpoints.down("sm")]:{backgroundColor:e.palette.background.paper,flexWrap:"inherit",flexDirection:"column-reverse"}})),c9e=i(e=>{const{className:t,filters:n,hasCreate:r,...a}=e,{displayedFilters:o,filterValues:s,exporter:c,showFilter:l,total:u}=Kn(),d=Lt(e),{hasCreate:f}=Ac(e),m=v.useContext(M1)||n;return v.useMemo(()=>p.jsxs(zg,{className:t,...Tl(a),children:[n?v.cloneElement(n,{resource:d,showFilter:l,displayedFilters:o,filterValues:s,context:"button"}):m&&p.jsx(PNe,{}),f&&p.jsx($1,{}),c!==!1&&p.jsx(VR,{disabled:u===0,resource:d})]}),[d,o,s,n,l,m,u,t,c,f])},"ListActions"),l9e=p.jsx(c9e,{}),u9e=p.jsx(o8,{}),d9e=p.jsx(a9e,{}),f9e=Co,_q=i(e=>{const{actions:t=l9e,aside:n,filters:r,emptyWhileLoading:a,pagination:o=u9e,children:s,className:c,component:l=f9e,title:u,empty:d=d9e,...f}=e,{defaultTitle:m,data:g,error:h,isPending:y,filterValues:b,resource:x}=Kn();if(!s||!g&&y&&a)return null;const w=i(()=>p.jsxs("div",{className:Zs.main,children:[(r||t)&&p.jsx(i9e,{className:Zs.actions,filters:r,actions:t}),p.jsx(l,{className:Zs.content,children:s}),h?p.jsx(A1,{error:h,resetErrorBoundary:()=>{}}):o!==!1&&o]}),"renderList"),C=i(()=>d!==!1&&p.jsx("div",{className:Zs.noResults,children:d}),"renderEmpty"),j=!y&&(g==null?void 0:g.length)===0&&!Object.keys(b).length&&d!==!1;return p.jsxs(p9e,{className:de("list-page",c),...f,children:[p.jsx(Mg,{title:u,defaultTitle:m,preferenceKey:`${x}.list.title`}),j?C():w(),n]})},"ListView"),Xp="RaList",Zs={main:`${Xp}-main`,content:`${Xp}-content`,actions:`${Xp}-actions`,noResults:`${Xp}-noResults`},p9e=te("div",{name:Xp,overridesResolver:(e,t)=>t.root})(({theme:e})=>({display:"flex",[`& .${Zs.main}`]:{flex:"1 1 auto",display:"flex",flexDirection:"column"},[`& .${Zs.content}`]:{position:"relative",[e.breakpoints.down("sm")]:{boxShadow:"none"},overflow:"inherit"},[`& .${Zs.actions}`]:{},[`& .${Zs.noResults}`]:{flex:1}})),kq=i(({debounce:e,disableAuthentication:t,disableSyncWithLocation:n,exporter:r,filter:a=m9e,filterDefaultValues:o,perPage:s=10,queryOptions:c,resource:l,sort:u,storeKey:d,...f})=>p.jsx(J9,{debounce:e,disableAuthentication:t,disableSyncWithLocation:n,exporter:r,filter:a,filterDefaultValues:o,perPage:s,queryOptions:c,resource:l,sort:u,storeKey:d,children:p.jsx(_q,{...f})}),"List"),m9e={},hz={table:{component:e=>p.jsx(VH,{...e}),representation:(e,t)=>` <Datagrid> -${t.map(n=>` ${n.getRepresentation()}`).join(` -`)} - </Datagrid>`},array:{component:({children:e,...t})=>{const n=v.Children.toArray(e);return p.jsx(RFe,{...t,children:p.jsx(Jb,{children:p.jsx(y_,{source:n.length>0&&v.isValidElement(n[0])&&n[0].props.source})})})},representation:(e,t)=>`<ArrayField source="${e.source}"><SingleFieldList><ChipField source="${t.length>0&&t[0].getProps().source}" /></SingleFieldList></ArrayField>`},boolean:{component:MFe,representation:e=>`<BooleanField source="${e.source}" />`},date:{component:ff,representation:e=>`<DateField source="${e.source}" />`},email:{component:dq,representation:e=>`<EmailField source="${e.source}" />`},id:{component:Hr,representation:e=>`<TextField source="${e.source}" />`},number:{component:pq,representation:e=>`<NumberField source="${e.source}" />`},reference:{component:Ai,representation:e=>`<ReferenceField source="${e.source}" reference="${e.reference}" />`},referenceChild:{component:()=>p.jsx(Hr,{source:"id"}),representation:()=>'<TextField source="id" />'},referenceArray:{component:gq,representation:e=>`<ReferenceArrayField source="${e.source}" reference="${e.reference}" />`},referenceArrayChild:{component:()=>p.jsx(Jb,{children:p.jsx(y_,{source:"id"})}),representation:()=>'<SingleFieldList><ChipField source="id" /></SingleFieldList>'},richText:void 0,string:{component:Hr,representation:e=>`<TextField source="${e.source}" />`},url:{component:ZFe,representation:e=>`<UrlField source="${e.source}" />`}},G2=i(e=>{const{debounce:t,disableAuthentication:n,disableSyncWithLocation:r,exporter:a,filter:o,filterDefaultValues:s,perPage:c,queryOptions:l,resource:u,sort:d,...f}=e;Er();const m=Lt(e),h=Pge(m)===m;return p.jsx(J9,{debounce:t,disableAuthentication:n,disableSyncWithLocation:r,exporter:a,filter:o,filterDefaultValues:s,perPage:c,queryOptions:{placeholderData:y=>h?y:void 0},resource:u,sort:d,children:p.jsx(h9e,{...f})})},"ListGuesser"),h9e=i(e=>{const{data:t}=Kn(),n=Lt(),[r,a]=v.useState(null),{enableLog:o=!1,...s}=e;return v.useEffect(()=>{a(null)},[n]),v.useEffect(()=>{if(t&&t.length>0&&!r){const c=Mxe(t,hz),l=new rr(hz.table,null,c),u=l.getElement(),d=l.getRepresentation();if(!n)throw new Error("Cannot use <ListGuesser> outside of a ResourceContext");if(!u||!d)return;a(u);const f=["List"].concat(Array.from(new Set(Array.from(d.matchAll(/<([^/\s>]+)/g)).map(m=>m[1]).filter(m=>m!=="span")))).sort();o&&console.log(`Guessed List: - -import { ${f.join(", ")} } from 'react-admin'; - -export const ${W7(Lx(n))}List = () => ( - <List> -${l.getRepresentation()} - </List> -);`)}},[t,r,n,o]),p.jsx(_q,{...s,children:r})},"ListViewGuesser"),$q=i(e=>{const{className:t,hasLeftAvatarOrIcon:n,hasRightAvatarOrIcon:r,hasSecondaryText:a,hasTertiaryText:o,nbFakeLines:s=5,...c}=e;return qf(1e3)?p.jsx(g9e,{className:t,...c,children:v9e(s,u=>p.jsxs(Yl,{children:[n&&p.jsx(_1,{children:p.jsx(za,{children:" "})}),p.jsx(ks,{primary:p.jsxs("div",{children:[p.jsx(wm,{className:Qb.primary}),o&&p.jsx("span",{className:Qb.tertiary,children:p.jsx(wm,{})})]}),secondary:a?p.jsx(wm,{}):void 0}),r&&p.jsx(Jl,{children:p.jsx(za,{children:" "})})]},u))}):null},"SimpleListLoading"),b_="RaSimpleListLoading",Qb={primary:`${b_}-primary`,tertiary:`${b_}-tertiary`},g9e=te(Oc,{name:b_,overridesResolver:(e,t)=>t.root})(({theme:e})=>({[`& .${Qb.primary}`]:{width:"30vw",display:"inline-block",marginBottom:e.spacing()},[`& .${Qb.tertiary}`]:{float:"right",opacity:.541176,minWidth:"10vw"}})),v9e=i((e,t)=>Array.from({length:e},(n,r)=>t(r)),"times$1"),y9e=i(e=>{const{className:t,empty:n=w9e,hasBulkActions:r,leftAvatar:a,leftIcon:o,linkType:s="edit",primaryText:c,rightAvatar:l,rightIcon:u,secondaryText:d,tertiaryText:f,rowSx:m,rowStyle:g,...h}=e,{data:y,isPending:b,total:x}=Sx(e),w=Lt(e),C=Vl(w),j=at();if(b===!0)return p.jsx($q,{className:t,hasLeftAvatarOrIcon:!!o||!!a,hasRightAvatarOrIcon:!!u||!!l,hasSecondaryText:!!d,hasTertiaryText:!!f});const _=i((S,k)=>{const $=k(S,S.id);return typeof $=="string"&&($.startsWith("http")||$.startsWith("data:"))?p.jsx(za,{src:$}):p.jsx(za,{children:$})},"renderAvatar");return y==null||y.length===0||x===0?n||null:p.jsx(x9e,{className:t,...Tl(h),children:y.map((S,k)=>p.jsx(Kr,{value:S,children:p.jsx(Yl,{disablePadding:!0,children:p.jsxs(b9e,{linkType:s,resource:w,id:S.id,record:S,style:g?g(S,k):void 0,sx:m==null?void 0:m(S,k),children:[o&&p.jsx(Ll,{children:o(S,S.id)}),a&&p.jsx(_1,{children:_(S,a)}),p.jsx(ks,{primary:p.jsxs("div",{children:[c?typeof c=="string"?j(c,{...S,_:c}):gl.isElement(c)?c:c(S,S.id):C(S),!!f&&(v.isValidElement(f)?f:p.jsx("span",{className:Rq.tertiary,children:typeof f=="string"?j(f,{...S,_:f}):gl.isElement(f)?f:f(S,S.id)}))]}),secondary:!!d&&(typeof d=="string"?j(d,{...S,_:d}):gl.isElement(d)?d:d(S,S.id))}),(l||u)&&p.jsxs(Jl,{children:[l&&p.jsx(za,{children:_(S,l)}),u&&p.jsx(Ll,{children:u(S,S.id)})]})]})})},S.id))})},"SimpleList"),b9e=i(e=>{const{classes:t,linkType:n,resource:r,id:a,children:o,record:s,...c}=e,l=Wo(),u=typeof n=="function"?n(s,a):n;return u===!1?p.jsx(ks,{component:"div",...c,children:o}):p.jsx(fR,{component:zr,to:l({resource:r,id:a,type:u}),...c,children:o})},"LinkOrNot"),Eq="RaSimpleList",Rq={tertiary:`${Eq}-tertiary`},x9e=te(Oc,{name:Eq,overridesResolver:(e,t)=>t.root})({[`& .${Rq.tertiary}`]:{float:"right",opacity:.541176}}),w9e=p.jsx(qH,{}),C9e=i(({layout:e=$ze,catchAll:t=Oze,loading:n=Pze,loginPage:r=gFe,authCallbackPage:a=GIe,notification:o=Nze,error:s=A1,...c})=>p.jsxs(kTe,{enableColorScheme:!0,children:[p.jsx(Pye,{layout:e,catchAll:t,loading:n,loginPage:r,authCallbackPage:a,error:s,...c}),v.createElement(o)]}),"AdminUI"),Aq=i(e=>{const{theme:t,lightTheme:n=tH,darkTheme:r,defaultTheme:a,children:o,...s}=e;return p.jsx(gye,{...s,children:p.jsx(YU.Provider,{value:{lightTheme:t||n,darkTheme:t&&!r?void 0:!r&&r!==null?_5e:r??void 0,defaultTheme:a},children:p.jsx(j5e,{children:o})})})},"AdminContext");Aq.displayName="AdminContext";const S9e={ra:{action:{add_filter:"Add filter",add:"Add",back:"Go Back",bulk_actions:"1 item selected |||| %{smart_count} items selected",cancel:"Cancel",clear_array_input:"Clear the list",clear_input_value:"Clear value",clone:"Clone",confirm:"Confirm",create:"Create",create_item:"Create %{item}",delete:"Delete",edit:"Edit",export:"Export",list:"List",refresh:"Refresh",remove_filter:"Remove this filter",remove_all_filters:"Remove all filters",remove:"Remove",save:"Save",search:"Search",select_all:"Select all",select_row:"Select this row",show:"Show",sort:"Sort",undo:"Undo",unselect:"Unselect",expand:"Expand",close:"Close",open_menu:"Open menu",close_menu:"Close menu",update:"Update",move_up:"Move up",move_down:"Move down",open:"Open",toggle_theme:"Toggle light/dark mode",select_columns:"Columns",update_application:"Reload Application"},boolean:{true:"Yes",false:"No",null:" "},page:{create:"Create %{name}",dashboard:"Dashboard",edit:"%{name} %{recordRepresentation}",error:"Something went wrong",list:"%{name}",loading:"Loading",not_found:"Not Found",show:"%{name} %{recordRepresentation}",empty:"No %{name} yet.",invite:"Do you want to add one?"},input:{file:{upload_several:"Drop some files to upload, or click to select one.",upload_single:"Drop a file to upload, or click to select it."},image:{upload_several:"Drop some pictures to upload, or click to select one.",upload_single:"Drop a picture to upload, or click to select it."},references:{all_missing:"Unable to find references data.",many_missing:"At least one of the associated references no longer appears to be available.",single_missing:"Associated reference no longer appears to be available."},password:{toggle_visible:"Hide password",toggle_hidden:"Show password"}},message:{about:"About",are_you_sure:"Are you sure?",auth_error:"An error occurred while validating the authentication token.",bulk_delete_content:"Are you sure you want to delete this %{name}? |||| Are you sure you want to delete these %{smart_count} items?",bulk_delete_title:"Delete %{name} |||| Delete %{smart_count} %{name}",bulk_update_content:"Are you sure you want to update this %{name}? |||| Are you sure you want to update these %{smart_count} items?",bulk_update_title:"Update %{name} |||| Update %{smart_count} %{name}",clear_array_input:"Are you sure you want to clear the whole list?",delete_content:"Are you sure you want to delete this item?",delete_title:"Delete %{name} #%{id}",details:"Details",error:"A client error occurred and your request couldn't be completed.",invalid_form:"The form is not valid. Please check for errors",loading:"Please wait",no:"No",not_found:"Either you typed a wrong URL, or you followed a bad link.",yes:"Yes",unsaved_changes:"Some of your changes weren't saved. Are you sure you want to ignore them?"},navigation:{no_results:"No results found",no_more_results:"The page number %{page} is out of boundaries. Try the previous page.",page_out_of_boundaries:"Page number %{page} out of boundaries",page_out_from_end:"Cannot go after last page",page_out_from_begin:"Cannot go before page 1",page_range_info:"%{offsetBegin}-%{offsetEnd} of %{total}",partial_page_range_info:"%{offsetBegin}-%{offsetEnd} of more than %{offsetEnd}",current_page:"Page %{page}",page:"Go to page %{page}",first:"Go to first page",last:"Go to last page",next:"Go to next page",previous:"Go to previous page",page_rows_per_page:"Rows per page:",skip_nav:"Skip to content"},sort:{sort_by:"Sort by %{field} %{order}",ASC:"ascending",DESC:"descending"},auth:{auth_check_error:"Please login to continue",user_menu:"Profile",username:"Username",password:"Password",sign_in:"Sign in",sign_in_error:"Authentication failed, please retry",logout:"Logout"},notification:{updated:"Element updated |||| %{smart_count} elements updated",created:"Element created",deleted:"Element deleted |||| %{smart_count} elements deleted",bad_item:"Incorrect element",item_doesnt_exist:"Element does not exist",http_error:"Server communication error",data_provider_error:"dataProvider error. Check the console for details.",i18n_error:"Cannot load the translations for the specified language",canceled:"Action cancelled",logged_out:"Your session has ended, please reconnect.",not_authorized:"You're not authorized to access this resource.",application_update_available:"A new version is available."},validation:{required:"Required",minLength:"Must be %{min} characters at least",maxLength:"Must be %{max} characters or less",minValue:"Must be at least %{min}",maxValue:"Must be %{max} or less",number:"Must be a number",email:"Must be a valid email",oneOf:"Must be one of: %{options}",regex:"Must match a specific format (regexp): %{pattern}",unique:"Must be unique"},saved_queries:{label:"Saved queries",query_name:"Query name",new_label:"Save current query...",new_dialog_title:"Save current query as",remove_label:"Remove saved query",remove_label_with_name:'Remove query "%{name}"',remove_dialog_title:"Remove saved query?",remove_message:"Are you sure you want to remove that item from your list of saved queries?",help:"Filter the list and save this query for later"},configurable:{customize:"Customize",configureMode:"Configure this page",inspector:{title:"Inspector",content:"Hover the application UI elements to configure them",reset:"Reset Settings",hideAll:"Hide All",showAll:"Show All"},Datagrid:{title:"Datagrid",unlabeled:"Unlabeled column #%{column}"},SimpleForm:{title:"Form",unlabeled:"Unlabeled input #%{input}"},SimpleList:{title:"List",primaryText:"Primary text",secondaryText:"Secondary text",tertiaryText:"Tertiary text"}}}};var gz=Object.prototype.toString,Pq=i(function(t){var n=gz.call(t),r=n==="[object Arguments]";return r||(r=n!=="[object Array]"&&t!==null&&typeof t=="object"&&typeof t.length=="number"&&t.length>=0&&gz.call(t.callee)==="[object Function]"),r},"isArguments"),K2,vz;function j9e(){if(vz)return K2;vz=1;var e;if(!Object.keys){var t=Object.prototype.hasOwnProperty,n=Object.prototype.toString,r=Pq,a=Object.prototype.propertyIsEnumerable,o=!a.call({toString:null},"toString"),s=a.call(function(){},"prototype"),c=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],l=i(function(m){var g=m.constructor;return g&&g.prototype===m},"equalsConstructorPrototype"),u={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},d=function(){if(typeof window>"u")return!1;for(var m in window)try{if(!u["$"+m]&&t.call(window,m)&&window[m]!==null&&typeof window[m]=="object")try{l(window[m])}catch{return!0}}catch{return!0}return!1}(),f=i(function(m){if(typeof window>"u"||!d)return l(m);try{return l(m)}catch{return!1}},"equalsConstructorPrototypeIfNotBuggy");e=i(function(g){var h=g!==null&&typeof g=="object",y=n.call(g)==="[object Function]",b=r(g),x=h&&n.call(g)==="[object String]",w=[];if(!h&&!y&&!b)throw new TypeError("Object.keys called on a non-object");var C=s&&y;if(x&&g.length>0&&!t.call(g,0))for(var j=0;j<g.length;++j)w.push(String(j));if(b&&g.length>0)for(var _=0;_<g.length;++_)w.push(String(_));else for(var S in g)!(C&&S==="prototype")&&t.call(g,S)&&w.push(String(S));if(o)for(var k=f(g),$=0;$<c.length;++$)!(k&&c[$]==="constructor")&&t.call(g,c[$])&&w.push(c[$]);return w},"keys")}return K2=e,K2}i(j9e,"requireImplementation");var _9e=Array.prototype.slice,k9e=Pq,yz=Object.keys,Ey=yz?i(function(t){return yz(t)},"keys"):j9e(),bz=Object.keys;Ey.shim=i(function(){if(Object.keys){var t=function(){var n=Object.keys(arguments);return n&&n.length===arguments.length}(1,2);t||(Object.keys=i(function(r){return k9e(r)?bz(_9e.call(r)):bz(r)},"keys"))}else Object.keys=Ey;return Object.keys||Ey},"shimObjectKeys");var $9e=Ey,E9e=$9e,R9e=typeof Symbol=="function"&&typeof Symbol("foo")=="symbol",A9e=Object.prototype.toString,P9e=Array.prototype.concat,d8=Object.defineProperty,T9e=i(function(e){return typeof e=="function"&&A9e.call(e)==="[object Function]"},"isFunction"),M9e=i(function(){var e={};try{d8(e,"x",{enumerable:!1,value:e});for(var t in e)return!1;return e.x===e}catch{return!1}},"arePropertyDescriptorsSupported"),Tq=d8&&M9e(),O9e=i(function(e,t,n,r){t in e&&(!T9e(r)||!r())||(Tq?d8(e,t,{configurable:!0,enumerable:!1,value:n,writable:!0}):e[t]=n)},"defineProperty"),Mq=i(function(e,t){var n=arguments.length>2?arguments[2]:{},r=E9e(t);R9e&&(r=P9e.call(r,Object.getOwnPropertySymbols(t)));for(var a=0;a<r.length;a+=1)O9e(e,r[a],t[r[a]],n[r[a]])},"defineProperties");Mq.supportsDescriptors=!!Tq;var ip=Mq,Oq={exports:{}},z9e="Function.prototype.bind called on incompatible ",J2=Array.prototype.slice,I9e=Object.prototype.toString,L9e="[object Function]",D9e=i(function(t){var n=this;if(typeof n!="function"||I9e.call(n)!==L9e)throw new TypeError(z9e+n);for(var r=J2.call(arguments,1),a,o=i(function(){if(this instanceof a){var d=n.apply(this,r.concat(J2.call(arguments)));return Object(d)===d?d:this}else return n.apply(t,r.concat(J2.call(arguments)))},"binder"),s=Math.max(0,n.length-r.length),c=[],l=0;l<s;l++)c.push("$"+l);if(a=Function("binder","return function ("+c.join(",")+"){ return binder.apply(this,arguments); }")(o),n.prototype){var u=i(function(){},"Empty");u.prototype=n.prototype,a.prototype=new u,u.prototype=null}return a},"bind"),N9e=D9e,f8=Function.prototype.bind||N9e,zq=i(function(){if(typeof Symbol!="function"||typeof Object.getOwnPropertySymbols!="function")return!1;if(typeof Symbol.iterator=="symbol")return!0;var t={},n=Symbol("test"),r=Object(n);if(typeof n=="string"||Object.prototype.toString.call(n)!=="[object Symbol]"||Object.prototype.toString.call(r)!=="[object Symbol]")return!1;var a=42;t[n]=a;for(n in t)return!1;if(typeof Object.keys=="function"&&Object.keys(t).length!==0||typeof Object.getOwnPropertyNames=="function"&&Object.getOwnPropertyNames(t).length!==0)return!1;var o=Object.getOwnPropertySymbols(t);if(o.length!==1||o[0]!==n||!Object.prototype.propertyIsEnumerable.call(t,n))return!1;if(typeof Object.getOwnPropertyDescriptor=="function"){var s=Object.getOwnPropertyDescriptor(t,n);if(s.value!==a||s.enumerable!==!0)return!1}return!0},"hasSymbols"),xz=typeof Symbol<"u"&&Symbol,F9e=zq,Iq=i(function(){return typeof xz!="function"||typeof Symbol!="function"||typeof xz("foo")!="symbol"||typeof Symbol("bar")!="symbol"?!1:F9e()},"hasNativeSymbols"),wz={foo:{}},B9e=Object,W9e=i(function(){return{__proto__:wz}.foo===wz.foo&&!({__proto__:null}instanceof B9e)},"hasProto"),U9e=f8,Lq=U9e.call(Function.call,Object.prototype.hasOwnProperty),zt,pf=SyntaxError,Dq=Function,bd=TypeError,Y2=i(function(e){try{return Dq('"use strict"; return ('+e+").constructor;")()}catch{}},"getEvalledConstructor"),bl=Object.getOwnPropertyDescriptor;if(bl)try{bl({},"")}catch{bl=null}var Q2=i(function(){throw new bd},"throwTypeError"),H9e=bl?function(){try{return arguments.callee,Q2}catch{try{return bl(arguments,"callee").get}catch{return Q2}}}():Q2,hu=Iq(),q9e=W9e(),fr=Object.getPrototypeOf||(q9e?function(e){return e.__proto__}:null),$u={},V9e=typeof Uint8Array>"u"||!fr?zt:fr(Uint8Array),xl={"%AggregateError%":typeof AggregateError>"u"?zt:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?zt:ArrayBuffer,"%ArrayIteratorPrototype%":hu&&fr?fr([][Symbol.iterator]()):zt,"%AsyncFromSyncIteratorPrototype%":zt,"%AsyncFunction%":$u,"%AsyncGenerator%":$u,"%AsyncGeneratorFunction%":$u,"%AsyncIteratorPrototype%":$u,"%Atomics%":typeof Atomics>"u"?zt:Atomics,"%BigInt%":typeof BigInt>"u"?zt:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?zt:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?zt:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?zt:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Error,"%eval%":eval,"%EvalError%":EvalError,"%Float32Array%":typeof Float32Array>"u"?zt:Float32Array,"%Float64Array%":typeof Float64Array>"u"?zt:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?zt:FinalizationRegistry,"%Function%":Dq,"%GeneratorFunction%":$u,"%Int8Array%":typeof Int8Array>"u"?zt:Int8Array,"%Int16Array%":typeof Int16Array>"u"?zt:Int16Array,"%Int32Array%":typeof Int32Array>"u"?zt:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":hu&&fr?fr(fr([][Symbol.iterator]())):zt,"%JSON%":typeof JSON=="object"?JSON:zt,"%Map%":typeof Map>"u"?zt:Map,"%MapIteratorPrototype%":typeof Map>"u"||!hu||!fr?zt:fr(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?zt:Promise,"%Proxy%":typeof Proxy>"u"?zt:Proxy,"%RangeError%":RangeError,"%ReferenceError%":ReferenceError,"%Reflect%":typeof Reflect>"u"?zt:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?zt:Set,"%SetIteratorPrototype%":typeof Set>"u"||!hu||!fr?zt:fr(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?zt:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":hu&&fr?fr(""[Symbol.iterator]()):zt,"%Symbol%":hu?Symbol:zt,"%SyntaxError%":pf,"%ThrowTypeError%":H9e,"%TypedArray%":V9e,"%TypeError%":bd,"%Uint8Array%":typeof Uint8Array>"u"?zt:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?zt:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?zt:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?zt:Uint32Array,"%URIError%":URIError,"%WeakMap%":typeof WeakMap>"u"?zt:WeakMap,"%WeakRef%":typeof WeakRef>"u"?zt:WeakRef,"%WeakSet%":typeof WeakSet>"u"?zt:WeakSet};if(fr)try{null.error}catch(e){var G9e=fr(fr(e));xl["%Error.prototype%"]=G9e}var K9e=i(function e(t){var n;if(t==="%AsyncFunction%")n=Y2("async function () {}");else if(t==="%GeneratorFunction%")n=Y2("function* () {}");else if(t==="%AsyncGeneratorFunction%")n=Y2("async function* () {}");else if(t==="%AsyncGenerator%"){var r=e("%AsyncGeneratorFunction%");r&&(n=r.prototype)}else if(t==="%AsyncIteratorPrototype%"){var a=e("%AsyncGenerator%");a&&fr&&(n=fr(a.prototype))}return xl[t]=n,n},"doEval"),Cz={"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},Dg=f8,Xb=Lq,J9e=Dg.call(Function.call,Array.prototype.concat),Y9e=Dg.call(Function.apply,Array.prototype.splice),Sz=Dg.call(Function.call,String.prototype.replace),Zb=Dg.call(Function.call,String.prototype.slice),Q9e=Dg.call(Function.call,RegExp.prototype.exec),X9e=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,Z9e=/\\(\\)?/g,e7e=i(function(t){var n=Zb(t,0,1),r=Zb(t,-1);if(n==="%"&&r!=="%")throw new pf("invalid intrinsic syntax, expected closing `%`");if(r==="%"&&n!=="%")throw new pf("invalid intrinsic syntax, expected opening `%`");var a=[];return Sz(t,X9e,function(o,s,c,l){a[a.length]=c?Sz(l,Z9e,"$1"):s||o}),a},"stringToPath"),t7e=i(function(t,n){var r=t,a;if(Xb(Cz,r)&&(a=Cz[r],r="%"+a[0]+"%"),Xb(xl,r)){var o=xl[r];if(o===$u&&(o=K9e(r)),typeof o>"u"&&!n)throw new bd("intrinsic "+t+" exists, but is not available. Please file an issue!");return{alias:a,name:r,value:o}}throw new pf("intrinsic "+t+" does not exist!")},"getBaseIntrinsic"),Zr=i(function(t,n){if(typeof t!="string"||t.length===0)throw new bd("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof n!="boolean")throw new bd('"allowMissing" argument must be a boolean');if(Q9e(/^%?[^%]*%?$/,t)===null)throw new pf("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var r=e7e(t),a=r.length>0?r[0]:"",o=t7e("%"+a+"%",n),s=o.name,c=o.value,l=!1,u=o.alias;u&&(a=u[0],Y9e(r,J9e([0,1],u)));for(var d=1,f=!0;d<r.length;d+=1){var m=r[d],g=Zb(m,0,1),h=Zb(m,-1);if((g==='"'||g==="'"||g==="`"||h==='"'||h==="'"||h==="`")&&g!==h)throw new pf("property names with quotes must have matching quotes");if((m==="constructor"||!f)&&(l=!0),a+="."+m,s="%"+a+"%",Xb(xl,s))c=xl[s];else if(c!=null){if(!(m in c)){if(!n)throw new bd("base intrinsic for "+t+" exists, but the property is not available.");return}if(bl&&d+1>=r.length){var y=bl(c,m);f=!!y,f&&"get"in y&&!("originalValue"in y.get)?c=y.get:c=c[m]}else f=Xb(c,m),c=c[m];f&&!l&&(xl[s]=c)}}return c},"GetIntrinsic");(function(e){var t=f8,n=Zr,r=n("%Function.prototype.apply%"),a=n("%Function.prototype.call%"),o=n("%Reflect.apply%",!0)||t.call(a,r),s=n("%Object.getOwnPropertyDescriptor%",!0),c=n("%Object.defineProperty%",!0),l=n("%Math.max%");if(c)try{c({},"a",{value:1})}catch{c=null}e.exports=i(function(f){var m=o(t,a,arguments);if(s&&c){var g=s(m,"length");g.configurable&&c(m,"length",{value:1+l(0,f.length-(arguments.length-1))})}return m},"callBind");var u=i(function(){return o(t,r,arguments)},"applyBind");c?c(e.exports,"apply",{value:u}):e.exports.apply=u})(Oq);var Ng=Oq.exports,Nq=Zr,Fq=Ng,n7e=Fq(Nq("String.prototype.indexOf")),Zl=i(function(t,n){var r=Nq(t,!!n);return typeof r=="function"&&n7e(t,".prototype.")>-1?Fq(r):r},"callBoundIntrinsic"),r7e=Zr,a7e=r7e("%TypeError%"),o7e=i(function(t,n){if(t==null)throw new a7e(n||"Cannot call method on "+t);return t},"CheckObjectCoercible"),z1=o7e,X2,jz;function i7e(){if(jz)return X2;jz=1;var e=Zr,t=e("%Array%"),n=!t.isArray&&Zl("Object.prototype.toString");return X2=t.isArray||i(function(a){return n(a)==="[object Array]"},"IsArray"),X2}i(i7e,"requireIsArray");var Z2,_z;function s7e(){if(_z)return Z2;_z=1;var e=Zr,t=Zl,n=e("%TypeError%"),r=i7e(),a=e("%Reflect.apply%",!0)||t("%Function.prototype.apply%");return Z2=i(function(s,c){var l=arguments.length>2?arguments[2]:[];if(!r(l))throw new n("Assertion failed: optional `argumentsList`, if provided, must be a List");return a(s,c,l)},"Call"),Z2}i(s7e,"requireCall");const c7e={},l7e=Object.freeze(Object.defineProperty({__proto__:null,default:c7e},Symbol.toStringTag,{value:"Module"})),u7e=zi(l7e);var eC,kz;function d7e(){if(kz)return eC;kz=1;var e=typeof Map=="function"&&Map.prototype,t=Object.getOwnPropertyDescriptor&&e?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,n=e&&t&&typeof t.get=="function"?t.get:null,r=e&&Map.prototype.forEach,a=typeof Set=="function"&&Set.prototype,o=Object.getOwnPropertyDescriptor&&a?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,s=a&&o&&typeof o.get=="function"?o.get:null,c=a&&Set.prototype.forEach,l=typeof WeakMap=="function"&&WeakMap.prototype,u=l?WeakMap.prototype.has:null,d=typeof WeakSet=="function"&&WeakSet.prototype,f=d?WeakSet.prototype.has:null,m=typeof WeakRef=="function"&&WeakRef.prototype,g=m?WeakRef.prototype.deref:null,h=Boolean.prototype.valueOf,y=Object.prototype.toString,b=Function.prototype.toString,x=String.prototype.match,w=String.prototype.slice,C=String.prototype.replace,j=String.prototype.toUpperCase,_=String.prototype.toLowerCase,S=RegExp.prototype.test,k=Array.prototype.concat,$=Array.prototype.join,E=Array.prototype.slice,P=Math.floor,R=typeof BigInt=="function"?BigInt.prototype.valueOf:null,T=Object.getOwnPropertySymbols,M=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Symbol.prototype.toString:null,I=typeof Symbol=="function"&&typeof Symbol.iterator=="object",z=typeof Symbol=="function"&&Symbol.toStringTag&&(typeof Symbol.toStringTag===I||!0)?Symbol.toStringTag:null,H=Object.prototype.propertyIsEnumerable,F=(typeof Reflect=="function"?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(G){return G.__proto__}:null);function L(G,ae){if(G===1/0||G===-1/0||G!==G||G&&G>-1e3&&G<1e3||S.call(/e/,ae))return ae;var ce=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if(typeof G=="number"){var be=G<0?-P(-G):P(G);if(be!==G){var Ue=String(be),Oe=w.call(ae,Ue.length+1);return C.call(Ue,ce,"$&_")+"."+C.call(C.call(Oe,/([0-9]{3})/g,"$&_"),/_$/,"")}}return C.call(ae,ce,"$&_")}i(L,"addNumericSeparator");var B=u7e,K=B.custom,se=J(K)?K:null;eC=i(function G(ae,ce,be,Ue){var Oe=ce||{};if(ie(Oe,"quoteStyle")&&Oe.quoteStyle!=="single"&&Oe.quoteStyle!=="double")throw new TypeError('option "quoteStyle" must be "single" or "double"');if(ie(Oe,"maxStringLength")&&(typeof Oe.maxStringLength=="number"?Oe.maxStringLength<0&&Oe.maxStringLength!==1/0:Oe.maxStringLength!==null))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var ft=ie(Oe,"customInspect")?Oe.customInspect:!0;if(typeof ft!="boolean"&&ft!=="symbol")throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if(ie(Oe,"indent")&&Oe.indent!==null&&Oe.indent!==" "&&!(parseInt(Oe.indent,10)===Oe.indent&&Oe.indent>0))throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');if(ie(Oe,"numericSeparator")&&typeof Oe.numericSeparator!="boolean")throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');var kt=Oe.numericSeparator;if(typeof ae>"u")return"undefined";if(ae===null)return"null";if(typeof ae=="boolean")return ae?"true":"false";if(typeof ae=="string")return Me(ae,Oe);if(typeof ae=="number"){if(ae===0)return 1/0/ae>0?"0":"-0";var wt=String(ae);return kt?L(ae,wt):wt}if(typeof ae=="bigint"){var Dt=String(ae)+"n";return kt?L(ae,Dt):Dt}var re=typeof Oe.depth>"u"?5:Oe.depth;if(typeof be>"u"&&(be=0),be>=re&&re>0&&typeof ae=="object")return le(ae)?"[Array]":"[Object]";var oe=We(Oe,be);if(typeof Ue>"u")Ue=[];else if(Q(Ue,ae)>=0)return"[Circular]";function ye(ge,Le,Ae){if(Le&&(Ue=E.call(Ue),Ue.push(Le)),Ae){var st={depth:Oe.depth};return ie(Oe,"quoteStyle")&&(st.quoteStyle=Oe.quoteStyle),G(ge,st,be+1,Ue)}return G(ge,Oe,be+1,Ue)}if(i(ye,"inspect"),typeof ae=="function"&&!q(ae)){var Ie=N(ae),He=jt(ae,ye);return"[Function"+(Ie?": "+Ie:" (anonymous)")+"]"+(He.length>0?" { "+$.call(He,", ")+" }":"")}if(J(ae)){var ut=I?C.call(String(ae),/^(Symbol\(.*\))_[^)]*$/,"$1"):M.call(ae);return typeof ae=="object"&&!I?pt(ut):ut}if(Re(ae)){for(var Ve="<"+_.call(String(ae.nodeName)),Ne=ae.attributes||[],ze=0;ze<Ne.length;ze++)Ve+=" "+Ne[ze].name+"="+ue(_e(Ne[ze].value),"double",Oe);return Ve+=">",ae.childNodes&&ae.childNodes.length&&(Ve+="..."),Ve+="</"+_.call(String(ae.nodeName))+">",Ve}if(le(ae)){if(ae.length===0)return"[]";var dt=jt(ae,ye);return oe&&!Se(dt)?"["+yt(dt,oe)+"]":"[ "+$.call(dt,", ")+" ]"}if(Y(ae)){var St=jt(ae,ye);return!("cause"in Error.prototype)&&"cause"in ae&&!H.call(ae,"cause")?"{ ["+String(ae)+"] "+$.call(k.call("[cause]: "+ye(ae.cause),St),", ")+" }":St.length===0?"["+String(ae)+"]":"{ ["+String(ae)+"] "+$.call(St,", ")+" }"}if(typeof ae=="object"&&ft){if(se&&typeof ae[se]=="function"&&B)return B(ae,{depth:re-be});if(ft!=="symbol"&&typeof ae.inspect=="function")return ae.inspect()}if(X(ae)){var ke=[];return r.call(ae,function(ge,Le){ke.push(ye(Le,ae,!0)+" => "+ye(ge,ae))}),De("Map",n.call(ae),ke,oe)}if(pe(ae)){var Ce=[];return c.call(ae,function(ge){Ce.push(ye(ge,ae))}),De("Set",s.call(ae),Ce,oe)}if(we(ae))return it("WeakMap");if(xe(ae))return it("WeakSet");if(fe(ae))return it("WeakRef");if(D(ae))return pt(ye(Number(ae)));if(U(ae))return pt(ye(R.call(ae)));if(Z(ae))return pt(h.call(ae));if(O(ae))return pt(ye(String(ae)));if(!V(ae)&&!q(ae)){var Fe=jt(ae,ye),lt=F?F(ae)===Object.prototype:ae instanceof Object||ae.constructor===Object,rt=ae instanceof Object?"":"null prototype",Nt=!lt&&z&&Object(ae)===ae&&z in ae?w.call(he(ae),8,-1):rt?"Object":"",Ft=lt||typeof ae.constructor!="function"?"":ae.constructor.name?ae.constructor.name+" ":"",me=Ft+(Nt||rt?"["+$.call(k.call([],Nt||[],rt||[]),": ")+"] ":"");return Fe.length===0?me+"{}":oe?me+"{"+yt(Fe,oe)+"}":me+"{ "+$.call(Fe,", ")+" }"}return String(ae)},"inspect_");function ue(G,ae,ce){var be=(ce.quoteStyle||ae)==="double"?'"':"'";return be+G+be}i(ue,"wrapQuotes");function _e(G){return C.call(String(G),/"/g,""")}i(_e,"quote");function le(G){return he(G)==="[object Array]"&&(!z||!(typeof G=="object"&&z in G))}i(le,"isArray");function V(G){return he(G)==="[object Date]"&&(!z||!(typeof G=="object"&&z in G))}i(V,"isDate");function q(G){return he(G)==="[object RegExp]"&&(!z||!(typeof G=="object"&&z in G))}i(q,"isRegExp");function Y(G){return he(G)==="[object Error]"&&(!z||!(typeof G=="object"&&z in G))}i(Y,"isError");function O(G){return he(G)==="[object String]"&&(!z||!(typeof G=="object"&&z in G))}i(O,"isString");function D(G){return he(G)==="[object Number]"&&(!z||!(typeof G=="object"&&z in G))}i(D,"isNumber");function Z(G){return he(G)==="[object Boolean]"&&(!z||!(typeof G=="object"&&z in G))}i(Z,"isBoolean");function J(G){if(I)return G&&typeof G=="object"&&G instanceof Symbol;if(typeof G=="symbol")return!0;if(!G||typeof G!="object"||!M)return!1;try{return M.call(G),!0}catch{}return!1}i(J,"isSymbol");function U(G){if(!G||typeof G!="object"||!R)return!1;try{return R.call(G),!0}catch{}return!1}i(U,"isBigInt");var ne=Object.prototype.hasOwnProperty||function(G){return G in this};function ie(G,ae){return ne.call(G,ae)}i(ie,"has");function he(G){return y.call(G)}i(he,"toStr");function N(G){if(G.name)return G.name;var ae=x.call(b.call(G),/^function\s*([\w$]+)/);return ae?ae[1]:null}i(N,"nameOf");function Q(G,ae){if(G.indexOf)return G.indexOf(ae);for(var ce=0,be=G.length;ce<be;ce++)if(G[ce]===ae)return ce;return-1}i(Q,"indexOf");function X(G){if(!n||!G||typeof G!="object")return!1;try{n.call(G);try{s.call(G)}catch{return!0}return G instanceof Map}catch{}return!1}i(X,"isMap");function we(G){if(!u||!G||typeof G!="object")return!1;try{u.call(G,u);try{f.call(G,f)}catch{return!0}return G instanceof WeakMap}catch{}return!1}i(we,"isWeakMap");function fe(G){if(!g||!G||typeof G!="object")return!1;try{return g.call(G),!0}catch{}return!1}i(fe,"isWeakRef");function pe(G){if(!s||!G||typeof G!="object")return!1;try{s.call(G);try{n.call(G)}catch{return!0}return G instanceof Set}catch{}return!1}i(pe,"isSet");function xe(G){if(!f||!G||typeof G!="object")return!1;try{f.call(G,f);try{u.call(G,u)}catch{return!0}return G instanceof WeakSet}catch{}return!1}i(xe,"isWeakSet");function Re(G){return!G||typeof G!="object"?!1:typeof HTMLElement<"u"&&G instanceof HTMLElement?!0:typeof G.nodeName=="string"&&typeof G.getAttribute=="function"}i(Re,"isElement");function Me(G,ae){if(G.length>ae.maxStringLength){var ce=G.length-ae.maxStringLength,be="... "+ce+" more character"+(ce>1?"s":"");return Me(w.call(G,0,ae.maxStringLength),ae)+be}var Ue=C.call(C.call(G,/(['\\])/g,"\\$1"),/[\x00-\x1f]/g,Je);return ue(Ue,"single",ae)}i(Me,"inspectString");function Je(G){var ae=G.charCodeAt(0),ce={8:"b",9:"t",10:"n",12:"f",13:"r"}[ae];return ce?"\\"+ce:"\\x"+(ae<16?"0":"")+j.call(ae.toString(16))}i(Je,"lowbyte");function pt(G){return"Object("+G+")"}i(pt,"markBoxed");function it(G){return G+" { ? }"}i(it,"weakCollectionOf");function De(G,ae,ce,be){var Ue=be?yt(ce,be):$.call(ce,", ");return G+" ("+ae+") {"+Ue+"}"}i(De,"collectionOf");function Se(G){for(var ae=0;ae<G.length;ae++)if(Q(G[ae],` -`)>=0)return!1;return!0}i(Se,"singleLineValues");function We(G,ae){var ce;if(G.indent===" ")ce=" ";else if(typeof G.indent=="number"&&G.indent>0)ce=$.call(Array(G.indent+1)," ");else return null;return{base:ce,prev:$.call(Array(ae+1),ce)}}i(We,"getIndent");function yt(G,ae){if(G.length===0)return"";var ce=` -`+ae.prev+ae.base;return ce+$.call(G,","+ce)+` -`+ae.prev}i(yt,"indentedJoin");function jt(G,ae){var ce=le(G),be=[];if(ce){be.length=G.length;for(var Ue=0;Ue<G.length;Ue++)be[Ue]=ie(G,Ue)?ae(G[Ue],G):""}var Oe=typeof T=="function"?T(G):[],ft;if(I){ft={};for(var kt=0;kt<Oe.length;kt++)ft["$"+Oe[kt]]=Oe[kt]}for(var wt in G)ie(G,wt)&&(ce&&String(Number(wt))===wt&&wt<G.length||I&&ft["$"+wt]instanceof Symbol||(S.call(/[^\w$]/,wt)?be.push(ae(wt,G)+": "+ae(G[wt],G)):be.push(wt+": "+ae(G[wt],G))));if(typeof T=="function")for(var Dt=0;Dt<Oe.length;Dt++)H.call(G,Oe[Dt])&&be.push("["+ae(Oe[Dt])+"]: "+ae(G[Oe[Dt]],G));return be}return i(jt,"arrObjKeys"),eC}i(d7e,"requireObjectInspect");var tC,$z;function Bq(){return $z||($z=1,tC=i(function(t){return typeof t=="string"||typeof t=="symbol"},"IsPropertyKey")),tC}i(Bq,"requireIsPropertyKey");var nC,Ez;function f7e(){return Ez||(Ez=1,nC=i(function(t){if(t===null)return"Null";if(typeof t>"u")return"Undefined";if(typeof t=="function"||typeof t=="object")return"Object";if(typeof t=="number")return"Number";if(typeof t=="boolean")return"Boolean";if(typeof t=="string")return"String"},"Type")),nC}i(f7e,"requireType$1");var rC,Rz;function p8(){if(Rz)return rC;Rz=1;var e=f7e();return rC=i(function(n){return typeof n=="symbol"?"Symbol":typeof n=="bigint"?"BigInt":e(n)},"Type"),rC}i(p8,"requireType");var aC,Az;function Wq(){if(Az)return aC;Az=1;var e=Zr,t=e("%TypeError%"),n=d7e(),r=Bq(),a=p8();return aC=i(function(s,c){if(a(s)!=="Object")throw new t("Assertion failed: Type(O) is not Object");if(!r(c))throw new t("Assertion failed: IsPropertyKey(P) is not true, got "+n(c));return s[c]},"Get"),aC}i(Wq,"requireGet");var oC,Pz;function p7e(){if(Pz)return oC;Pz=1;var e=Zr,t=e("%TypeError%"),n=Bq(),r=p8();return oC=i(function(o,s){if(r(o)!=="Object")throw new t("Assertion failed: `O` must be an Object");if(!n(s))throw new t("Assertion failed: `P` must be a Property Key");return s in o},"HasProperty"),oC}i(p7e,"requireHasProperty");var iC,Tz;function m8(){if(Tz)return iC;Tz=1;var e=Function.prototype.toString,t=typeof Reflect=="object"&&Reflect!==null&&Reflect.apply,n,r;if(typeof t=="function"&&typeof Object.defineProperty=="function")try{n=Object.defineProperty({},"length",{get:function(){throw r}}),r={},t(function(){throw 42},null,n)}catch(w){w!==r&&(t=null)}else t=null;var a=/^\s*class\b/,o=i(function(C){try{var j=e.call(C);return a.test(j)}catch{return!1}},"isES6ClassFunction"),s=i(function(C){try{return o(C)?!1:(e.call(C),!0)}catch{return!1}},"tryFunctionToStr"),c=Object.prototype.toString,l="[object Object]",u="[object Function]",d="[object GeneratorFunction]",f="[object HTMLAllCollection]",m="[object HTML document.all class]",g="[object HTMLCollection]",h=typeof Symbol=="function"&&!!Symbol.toStringTag,y=!(0 in[,]),b=i(function(){return!1},"isDocumentDotAll");if(typeof document=="object"){var x=document.all;c.call(x)===c.call(document.all)&&(b=i(function(C){if((y||!C)&&(typeof C>"u"||typeof C=="object"))try{var j=c.call(C);return(j===f||j===m||j===g||j===l)&&C("")==null}catch{}return!1},"isDocumentDotAll"))}return iC=i(t?function(C){if(b(C))return!0;if(!C||typeof C!="function"&&typeof C!="object")return!1;try{t(C,null,n)}catch(j){if(j!==r)return!1}return!o(C)&&s(C)}:function(C){if(b(C))return!0;if(!C||typeof C!="function"&&typeof C!="object")return!1;if(h)return s(C);if(o(C))return!1;var j=c.call(C);return j!==u&&j!==d&&!/^\[object HTML/.test(j)?!1:s(C)},"isCallable"),iC}i(m8,"requireIsCallable$1");var sC,Mz;function m7e(){return Mz||(Mz=1,sC=m8()),sC}i(m7e,"requireIsCallable");var cC,Oz;function h7e(){if(Oz)return cC;Oz=1;var e=Zr,t=e("%Math%"),n=e("%Number%");return cC=n.MAX_SAFE_INTEGER||t.pow(2,53)-1,cC}i(h7e,"requireMaxSafeInteger");var lC,zz;function g7e(){if(zz)return lC;zz=1;var e=Zr,t=e("%Math.abs%");return lC=i(function(r){return t(r)},"abs"),lC}i(g7e,"requireAbs");var uC,Iz;function v7e(){if(Iz)return uC;Iz=1;var e=Math.floor;return uC=i(function(n){return e(n)},"floor"),uC}i(v7e,"requireFloor");var dC,Lz;function Uq(){return Lz||(Lz=1,dC=i(function(t){return t===null||typeof t!="function"&&typeof t!="object"},"isPrimitive")),dC}i(Uq,"requireIsPrimitive$1");var fC,Dz;function y7e(){if(Dz)return fC;Dz=1;var e=Object.prototype.toString,t=Uq(),n=m8(),r={"[[DefaultValue]]":function(a){var o;if(arguments.length>1?o=arguments[1]:o=e.call(a)==="[object Date]"?String:Number,o===String||o===Number){var s=o===String?["toString","valueOf"]:["valueOf","toString"],c,l;for(l=0;l<s.length;++l)if(n(a[s[l]])&&(c=a[s[l]](),t(c)))return c;throw new TypeError("No default value")}throw new TypeError("invalid [[DefaultValue]] hint supplied")}};return fC=i(function(o){return t(o)?o:arguments.length>1?r["[[DefaultValue]]"](o,arguments[1]):r["[[DefaultValue]]"](o)},"ToPrimitive"),fC}i(y7e,"requireEs5");var pC,Nz;function b7e(){return Nz||(Nz=1,pC=y7e()),pC}i(b7e,"requireToPrimitive$1");var mC,Fz;function x7e(){if(Fz)return mC;Fz=1;var e=b7e();return mC=i(function(n){var r=e(n,Number);if(typeof r!="string")return+r;var a=r.replace(/^[ \t\x0b\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u0085]+|[ \t\x0b\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u0085]+$/g,"");return/^0[ob]|^[+-]0x/.test(a)?NaN:+a},"ToNumber"),mC}i(x7e,"requireToNumber$1");var hC,Bz;function w7e(){return Bz||(Bz=1,hC=Number.isNaN||i(function(t){return t!==t},"isNaN")),hC}i(w7e,"require_isNaN");var gC,Wz;function C7e(){if(Wz)return gC;Wz=1;var e=Number.isNaN||function(t){return t!==t};return gC=Number.isFinite||function(t){return typeof t=="number"&&!e(t)&&t!==1/0&&t!==-1/0},gC}i(C7e,"require_isFinite");var vC,Uz;function S7e(){return Uz||(Uz=1,vC=i(function(t){return t>=0?1:-1},"sign")),vC}i(S7e,"requireSign");var yC,Hz;function j7e(){if(Hz)return yC;Hz=1;var e=g7e(),t=v7e(),n=x7e(),r=w7e(),a=C7e(),o=S7e();return yC=i(function(c){var l=n(c);return r(l)?0:l===0||!a(l)?l:o(l)*t(e(l))},"ToInteger"),yC}i(j7e,"requireToInteger");var bC,qz;function _7e(){if(qz)return bC;qz=1;var e=Zr,t=e("RegExp.prototype.test"),n=Ng;return bC=i(function(a){return n(t,a)},"regexTester"),bC}i(_7e,"requireRegexTester");var xC,Vz;function k7e(){return Vz||(Vz=1,xC=i(function(t){return t===null||typeof t!="function"&&typeof t!="object"},"isPrimitive")),xC}i(k7e,"requireIsPrimitive");var wC,Gz;function Hq(){if(Gz)return wC;Gz=1;var e=zq;return wC=i(function(){return e()&&!!Symbol.toStringTag},"hasToStringTagShams"),wC}i(Hq,"requireShams");var CC,Kz;function $7e(){if(Kz)return CC;Kz=1;var e=Date.prototype.getDay,t=i(function(s){try{return e.call(s),!0}catch{return!1}},"tryDateGetDayCall"),n=Object.prototype.toString,r="[object Date]",a=Hq()();return CC=i(function(s){return typeof s!="object"||s===null?!1:a?t(s):n.call(s)===r},"isDateObject"),CC}i($7e,"requireIsDateObject");var kv={exports:{}},Jz;function E7e(){if(Jz)return kv.exports;Jz=1;var e=Object.prototype.toString,t=Iq();if(t){var n=Symbol.prototype.toString,r=/^Symbol\(.*\)$/,a=i(function(s){return typeof s.valueOf()!="symbol"?!1:r.test(n.call(s))},"isRealSymbolObject");kv.exports=i(function(s){if(typeof s=="symbol")return!0;if(e.call(s)!=="[object Symbol]")return!1;try{return a(s)}catch{return!1}},"isSymbol")}else kv.exports=i(function(s){return!1},"isSymbol");return kv.exports}i(E7e,"requireIsSymbol");var SC,Yz;function R7e(){if(Yz)return SC;Yz=1;var e=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol",t=Uq(),n=m8(),r=$7e(),a=E7e(),o=i(function(l,u){if(typeof l>"u"||l===null)throw new TypeError("Cannot call method on "+l);if(typeof u!="string"||u!=="number"&&u!=="string")throw new TypeError('hint must be "string" or "number"');var d=u==="string"?["toString","valueOf"]:["valueOf","toString"],f,m,g;for(g=0;g<d.length;++g)if(f=l[d[g]],n(f)&&(m=f.call(l),t(m)))return m;throw new TypeError("No default value")},"OrdinaryToPrimitive"),s=i(function(l,u){var d=l[u];if(d!==null&&typeof d<"u"){if(!n(d))throw new TypeError(d+" returned for property "+u+" of object "+l+" is not a function");return d}},"GetMethod");return SC=i(function(l){if(t(l))return l;var u="default";arguments.length>1&&(arguments[1]===String?u="string":arguments[1]===Number&&(u="number"));var d;if(e&&(Symbol.toPrimitive?d=s(l,Symbol.toPrimitive):a(l)&&(d=Symbol.prototype.valueOf)),typeof d<"u"){var f=d.call(l,u);if(t(f))return f;throw new TypeError("unable to convert exotic object to primitive")}return u==="default"&&(r(l)||a(l))&&(u="string"),o(l,u==="default"?"number":u)},"ToPrimitive"),SC}i(R7e,"requireEs2015");var jC,Qz;function A7e(){if(Qz)return jC;Qz=1;var e=R7e();return jC=i(function(n){return arguments.length>1?e(n,arguments[1]):e(n)},"ToPrimitive"),jC}i(A7e,"requireToPrimitive");var _C,Xz;function P7e(){if(Xz)return _C;Xz=1;var e=Zr,t=e("%TypeError%"),n=e("%Number%"),r=e("%RegExp%"),a=e("%parseInt%"),o=Zl,s=_7e(),c=k7e(),l=o("String.prototype.slice"),u=s(/^0b[01]+$/i),d=s(/^0o[0-7]+$/i),f=s(/^[-+]0x[0-9a-f]+$/i),m=["…","​","￾"].join(""),g=new r("["+m+"]","g"),h=s(g),y=[` -\v\f\r   ᠎    `,"          \u2028","\u2029\uFEFF"].join(""),b=new RegExp("(^["+y+"]+)|(["+y+"]+$)","g"),x=o("String.prototype.replace"),w=i(function(j){return x(j,b,"")},"$trim"),C=A7e();return _C=i(function j(_){var S=c(_)?_:C(_,n);if(typeof S=="symbol")throw new t("Cannot convert a Symbol value to a number");if(typeof S=="bigint")throw new t("Conversion from 'BigInt' to 'number' is not allowed.");if(typeof S=="string"){if(u(S))return j(a(l(S,2),2));if(d(S))return j(a(l(S,2),8));if(h(S)||f(S))return NaN;var k=w(S);if(k!==S)return j(k)}return n(S)},"ToNumber"),_C}i(P7e,"requireToNumber");var kC,Zz;function T7e(){if(Zz)return kC;Zz=1;var e=j7e(),t=P7e();return kC=i(function(r){var a=t(r);return a!==0&&(a=e(a)),a===0?0:a},"ToInteger"),kC}i(T7e,"requireToIntegerOrInfinity");var $C,eI;function M7e(){if(eI)return $C;eI=1;var e=h7e(),t=T7e();return $C=i(function(r){var a=t(r);return a<=0?0:a>e?e:a},"ToLength"),$C}i(M7e,"requireToLength");var EC,tI;function O7e(){if(tI)return EC;tI=1;var e=Zr,t=e("%TypeError%"),n=Wq(),r=M7e(),a=p8();return EC=i(function(s){if(a(s)!=="Object")throw new t("Assertion failed: `obj` must be an Object");return r(n(s,"length"))},"LengthOfArrayLike"),EC}i(O7e,"requireLengthOfArrayLike");var RC,nI;function z7e(){if(nI)return RC;nI=1;var e=Zr,t=e("%Object%"),n=z1;return RC=i(function(a){return n(a),t(a)},"ToObject"),RC}i(z7e,"requireToObject");var qq=Zr,I7e=qq("%String%"),L7e=qq("%TypeError%"),Vq=i(function(t){if(typeof t=="symbol")throw new L7e("Cannot convert a Symbol value to a string");return I7e(t)},"ToString"),AC,rI;function D7e(){if(rI)return AC;rI=1;var e=String.prototype.valueOf,t=i(function(s){try{return e.call(s),!0}catch{return!1}},"tryStringObject"),n=Object.prototype.toString,r="[object String]",a=Hq()();return AC=i(function(s){return typeof s=="string"?!0:typeof s!="object"?!1:a?t(s):n.call(s)===r},"isString"),AC}i(D7e,"requireIsString");var N7e=Zr,F7e=Zl,B7e=N7e("%TypeError%"),W7e=s7e(),U7e=Wq(),H7e=p7e(),q7e=m7e(),V7e=O7e(),G7e=z7e(),K7e=Vq,J7e=D7e(),Y7e=F7e("String.prototype.split"),aI=Object("a"),Q7e=aI[0]!=="a"||!(0 in aI),Gq=i(function(t){var n=G7e(this),r=Q7e&&J7e(this)?Y7e(this,""):n,a=V7e(r);if(!q7e(t))throw new B7e("Array.prototype.forEach callback must be a function");var o;arguments.length>1&&(o=arguments[1]);for(var s=0;s<a;){var c=K7e(s),l=H7e(r,c);if(l){var u=U7e(r,c);W7e(t,o,[u,s,r])}s+=1}},"forEach"),X7e=i(function(t){var n=!0,r=!0,a=!1;if(typeof t=="function"){try{t.call("f",function(o,s,c){typeof c!="object"&&(n=!1)}),t.call([null],function(){"use strict";r=typeof this=="string"},"x")}catch{a=!0}return!a&&n&&r}return!1},"properlyBoxed"),Z7e=X7e,eBe=Gq,Kq=i(function(){var t=Array.prototype.forEach;return Z7e(t)?t:eBe},"getPolyfill"),PC,oI;function tBe(){if(oI)return PC;oI=1;var e=ip,t=Kq;return PC=i(function(){var r=t();return e(Array.prototype,{forEach:r},{forEach:function(){return Array.prototype.forEach!==r}}),r},"shimForEach"),PC}i(tBe,"requireShim");var nBe=ip,rBe=Ng,aBe=Zl,oBe=z1,iBe=Gq,Jq=Kq,sBe=Jq(),cBe=tBe(),lBe=aBe("Array.prototype.slice"),uBe=rBe.apply(sBe),Yq=i(function(t,n){return oBe(t),uBe(t,lBe(arguments,1))},"forEach");nBe(Yq,{getPolyfill:Jq,implementation:iBe,shim:cBe});var dBe=Yq,fBe=z1,Qq=Zl,pBe=Qq("Object.prototype.propertyIsEnumerable"),mBe=Qq("Array.prototype.push"),Xq=i(function(t){var n=fBe(t),r=[];for(var a in n)pBe(n,a)&&mBe(r,[a,n[a]]);return r},"entries"),hBe=Xq,Zq=i(function(){return typeof Object.entries=="function"?Object.entries:hBe},"getPolyfill"),gBe=Zq,vBe=ip,yBe=i(function(){var t=gBe();return vBe(Object,{entries:t},{entries:i(function(){return Object.entries!==t},"testEntries")}),t},"shimEntries"),bBe=ip,xBe=Ng,wBe=Xq,eV=Zq,CBe=yBe,tV=xBe(eV(),Object);bBe(tV,{getPolyfill:eV,implementation:wBe,shim:CBe});var SBe=tV,jBe=z1,_Be=Vq,kBe=Zl,iI=kBe("String.prototype.replace"),$Be=/^[\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF]+/,EBe=/[\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF]+$/,nV=i(function(){var t=_Be(jBe(this));return iI(iI(t,$Be,""),EBe,"")},"trim"),RBe=nV,sI="​",rV=i(function(){return String.prototype.trim&&sI.trim()===sI?String.prototype.trim:RBe},"getPolyfill"),ABe=ip,PBe=rV,TBe=i(function(){var t=PBe();return ABe(String.prototype,{trim:t},{trim:i(function(){return String.prototype.trim!==t},"testTrim")}),t},"shimStringTrim"),MBe=Ng,OBe=ip,zBe=nV,aV=rV,IBe=TBe,oV=MBe(aV());OBe(oV,{getPolyfill:aV,implementation:zBe,shim:IBe});var LBe=oV,e0=dBe,h8=SBe,iV=Lq,DBe=LBe,NBe=i(function(t){},"warn"),FBe=String.prototype.replace,sV=String.prototype.split,Ry="||||",TC=i(function(e){var t=e%100,n=t%10;return t!==11&&n===1?0:2<=n&&n<=4&&!(t>=12&&t<=14)?1:2},"russianPluralGroups"),cV={pluralTypes:{arabic:function(e){if(e<3)return e;var t=e%100;return t>=3&&t<=10?3:t>=11?4:5},bosnian_serbian:TC,chinese:function(){return 0},croatian:TC,french:function(e){return e>=2?1:0},german:function(e){return e!==1?1:0},russian:TC,lithuanian:function(e){return e%10===1&&e%100!==11?0:e%10>=2&&e%10<=9&&(e%100<11||e%100>19)?1:2},czech:function(e){return e===1?0:e>=2&&e<=4?1:2},polish:function(e){if(e===1)return 0;var t=e%10;return 2<=t&&t<=4&&(e%100<10||e%100>=20)?1:2},icelandic:function(e){return e%10!==1||e%100===11?1:0},slovenian:function(e){var t=e%100;return t===1?0:t===2?1:t===3||t===4?2:3}},pluralTypeToLanguages:{arabic:["ar"],bosnian_serbian:["bs-Latn-BA","bs-Cyrl-BA","srl-RS","sr-RS"],chinese:["id","id-ID","ja","ko","ko-KR","lo","ms","th","th-TH","zh"],croatian:["hr","hr-HR"],german:["fa","da","de","en","es","fi","el","he","hi-IN","hu","hu-HU","it","nl","no","pt","sv","tr"],french:["fr","tl","pt-br"],russian:["ru","ru-RU"],lithuanian:["lt"],czech:["cs","cs-CZ","sk"],polish:["pl"],icelandic:["is"],slovenian:["sl-SL"]}};function BBe(e){var t={};return e0(h8(e),function(n){var r=n[0],a=n[1];e0(a,function(o){t[o]=r})}),t}i(BBe,"langToTypeMap");function WBe(e,t){var n=BBe(e.pluralTypeToLanguages);return n[t]||n[sV.call(t,/-/,1)[0]]||n.en}i(WBe,"pluralTypeName");function UBe(e,t,n){return e.pluralTypes[t](n)}i(UBe,"pluralTypeIndex");function HBe(){var e={};return function(t,n){var r=e[n];return r&&!t.pluralTypes[r]&&(r=null,e[n]=r),r||(r=WBe(t,n),r&&(e[n]=r)),r}}i(HBe,"createMemoizedPluralTypeNameSelector");function cI(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}i(cI,"escape");function qBe(e){var t=e&&e.prefix||"%{",n=e&&e.suffix||"}";if(t===Ry||n===Ry)throw new RangeError('"'+Ry+'" token is reserved for pluralization');return new RegExp(cI(t)+"(.*?)"+cI(n),"g")}i(qBe,"constructTokenRegex");var VBe=HBe(),GBe=/%\{(.*?)\}/g;function g8(e,t,n,r,a){if(typeof e!="string")throw new TypeError("Polyglot.transformPhrase expects argument #1 to be string");if(t==null)return e;var o=e,s=r||GBe,c=typeof t=="number"?{smart_count:t}:t;if(c.smart_count!=null&&e){var l=a||cV,u=sV.call(e,Ry),d=n||"en",f=VBe(l,d),m=UBe(l,f,c.smart_count);o=DBe(u[m]||u[0])}return o=FBe.call(o,s,function(g,h){return!iV(c,h)||c[h]==null?g:c[h]}),o}i(g8,"transformPhrase");function $s(e){var t=e||{};this.phrases={},this.extend(t.phrases||{}),this.currentLocale=t.locale||"en";var n=t.allowMissing?g8:null;this.onMissingKey=typeof t.onMissingKey=="function"?t.onMissingKey:n,this.warn=t.warn||NBe,this.tokenRegex=qBe(t.interpolation),this.pluralRules=t.pluralRules||cV}i($s,"Polyglot");$s.prototype.locale=function(e){return e&&(this.currentLocale=e),this.currentLocale};$s.prototype.extend=function(e,t){e0(h8(e||{}),function(n){var r=n[0],a=n[1],o=t?t+"."+r:r;typeof a=="object"?this.extend(a,o):this.phrases[o]=a},this)};$s.prototype.unset=function(e,t){typeof e=="string"?delete this.phrases[e]:e0(h8(e||{}),function(n){var r=n[0],a=n[1],o=t?t+"."+r:r;typeof a=="object"?this.unset(a,o):delete this.phrases[o]},this)};$s.prototype.clear=function(){this.phrases={}};$s.prototype.replace=function(e){this.clear(),this.extend(e)};$s.prototype.t=function(e,t){var n,r,a=t??{};if(typeof this.phrases[e]=="string")n=this.phrases[e];else if(typeof a._=="string")n=a._;else if(this.onMissingKey){var o=this.onMissingKey;r=o(e,a,this.currentLocale,this.tokenRegex,this.pluralRules)}else this.warn('Missing translation for key: "'+e+'"'),r=e;return typeof n=="string"&&(r=g8(n,a,this.currentLocale,this.tokenRegex,this.pluralRules)),r};$s.prototype.has=function(e){return iV(this.phrases,e)};$s.transformPhrase=i(function(t,n,r){return g8(t,n,r)},"transform");var KBe=$s;const lI=Gt(KBe),JBe=i((e,t="en",n=[{locale:"en",name:"English"}],r={})=>{let a=t;const o=e(t);if(o instanceof Promise)throw new Error(`The i18nProvider returned a Promise for the messages of the default locale (${t}). Please update your i18nProvider to return the messages of the default locale in a synchronous way.`);let s,c;Array.isArray(n)?(s=n,c=r):(s=[{locale:"en",name:"English"}],c=n);const l=new lI({locale:a,phrases:{"":"",...o},...c});let u=l.t.bind(l);return{translate:(d,f={})=>u(d,f),changeLocale:d=>Promise.resolve(e(d)).then(f=>{a=d;const m=new lI({locale:d,phrases:{"":"",...f},...r});u=m.t.bind(m)}),getLocale:()=>a,getLocales:()=>s}},"polyglotI18nProvider"),YBe=JBe(()=>S9e,"en",[{name:"en",value:"English"}],{allowMissing:!0}),QBe=pF(),XBe=i(e=>{const{authProvider:t,basename:n,catchAll:r,children:a,dashboard:o,dataProvider:s,disableTelemetry:c,error:l,i18nProvider:u=YBe,layout:d,loading:f,loginPage:m,authCallbackPage:g,notification:h,queryClient:y,requireAuth:b,store:x=QBe,ready:w,theme:C,lightTheme:j,darkTheme:_,defaultTheme:S,title:k="React Admin"}=e;return p.jsx(Aq,{authProvider:t,basename:n,dataProvider:s,i18nProvider:u,store:x,queryClient:y,theme:C,lightTheme:j,darkTheme:_,defaultTheme:S,children:p.jsx(C9e,{layout:d,dashboard:o,disableTelemetry:c,catchAll:r,error:l,title:k,loading:f,loginPage:m,authCallbackPage:g,notification:h,requireAuth:b,ready:w,children:a})})},"Admin"),ZBe=i(()=>{const e=Er();let t="/";return lm("/contacts/*",e.pathname)?t="/contacts":lm("/companies/*",e.pathname)?t="/companies":lm("/deals/*",e.pathname)&&(t="/deals"),p.jsx(Be,{component:"nav",sx:{flexGrow:1},children:p.jsx(PW,{position:"static",color:"primary",children:p.jsx(Xl,{variant:"dense",children:p.jsxs(Be,{flex:1,display:"flex",justifyContent:"space-between",children:[p.jsxs(Be,{display:"flex",alignItems:"center",children:[p.jsx(Be,{component:"img",sx:{marginRight:"1em",height:30},src:"https://upload.wikimedia.org/wikipedia/commons/a/a7/React-icon.svg",alt:"Bosch Logo"}),p.jsx(Ze,{component:"span",variant:"h5",children:"Atomic CRM"})]}),p.jsx(Be,{children:p.jsxs(OU,{value:t,"aria-label":"Navigation Tabs",indicatorColor:"secondary",textColor:"inherit",children:[p.jsx(Gu,{label:"Dashboard",component:zr,to:"/",value:"/"}),p.jsx(Gu,{label:"Contacts",component:zr,to:"/contacts",value:"/contacts"}),p.jsx(Gu,{label:"Companies",component:zr,to:"/companies",value:"/companies"}),p.jsx(Gu,{label:"Deals",component:zr,to:"/deals",value:"/deals"})]})}),p.jsxs(Be,{display:"flex",alignItems:"center",children:[p.jsx(qU,{}),p.jsx($R,{children:p.jsx(GU,{})})]})]})})})})},"Header"),eWe=i(({children:e})=>p.jsxs(p.Fragment,{children:[p.jsx(kEe,{}),p.jsx(ZBe,{}),p.jsx(jEe,{sx:{maxWidth:{xl:1280}},children:p.jsx("main",{id:"main-content",children:p.jsx(Qm,{FallbackComponent:A1,children:p.jsx(v.Suspense,{fallback:p.jsx(P1,{}),children:e})})})}),p.jsx(O5e,{interval:30*1e3})]}),"Layout");localStorage.setItem("username","Jane Doe");const tWe={login:({username:e})=>(localStorage.setItem("username",e),Promise.resolve()),logout:()=>(localStorage.removeItem("username"),Promise.resolve()),checkError:()=>Promise.resolve(),checkAuth:()=>localStorage.getItem("username")?Promise.resolve():Promise.reject(),getPermissions:()=>Promise.resolve([]),getIdentity:()=>Promise.resolve({id:0,fullName:"Jane Doe",avatar:"data:image/jpeg;base64,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"})};var v8={},nWe=gt;Object.defineProperty(v8,"__esModule",{value:!0});var lV=v8.default=void 0,rWe=nWe(vt()),aWe=p;lV=v8.default=(0,rWe.default)((0,aWe.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m1.41 16.09V20h-2.67v-1.93c-1.71-.36-3.16-1.46-3.27-3.4h1.96c.1 1.05.82 1.87 2.65 1.87 1.96 0 2.4-.98 2.4-1.59 0-.83-.44-1.61-2.67-2.14-2.48-.6-4.18-1.62-4.18-3.67 0-1.72 1.39-2.84 3.11-3.21V4h2.67v1.95c1.86.45 2.79 1.86 2.85 3.39H14.3c-.05-1.11-.64-1.87-2.22-1.87-1.5 0-2.4.68-2.4 1.64 0 .84.65 1.39 2.67 1.91s4.18 1.39 4.18 3.91c-.01 1.83-1.38 2.83-3.12 3.16"}),"MonetizationOn");const y8=["Communication Services","Consumer Discretionary","Consumer Staples","Energy","Financials","Health Care","Industrials","Information Technology","Materials","Real Estate","Utilities"].map(e=>({id:e,name:e})),oWe=i(e=>{const{size:t="large"}=e,n=sn(e);return n?p.jsx(za,{src:n.logo,alt:n.name,sx:{bgcolor:"aliceblue","& img":{objectFit:"contain"}},imgProps:{className:t}}):null},"CompanyAvatar"),iWe=i(e=>{const[t,n]=v.useState(1),r=Wo(),a=sn(e);return a?p.jsx(op,{to:r({resource:"companies",id:a.id,type:"show"}),underline:"none",onMouseEnter:()=>n(3),onMouseLeave:()=>n(1),children:p.jsxs(Wa,{sx:{height:200,width:195,display:"flex",flexDirection:"column",justifyContent:"space-between",padding:"1em"},elevation:t,children:[p.jsxs(Be,{display:"flex",flexDirection:"column",alignItems:"center",children:[p.jsx(oWe,{}),p.jsxs(Be,{textAlign:"center",marginTop:1,children:[p.jsx(Ze,{variant:"subtitle2",children:a.name}),p.jsx(l8,{color:"textSecondary",source:"sector",choices:y8})]})]}),p.jsxs(Be,{display:"flex",justifyContent:"space-around",width:"100%",children:[p.jsxs(Be,{display:"flex",alignItems:"center",children:[p.jsx(_R,{color:"disabled",sx:{mr:1}}),p.jsxs("div",{children:[p.jsx(Ze,{variant:"subtitle2",sx:{mb:-1},children:a.nb_contacts}),p.jsx(Ze,{variant:"caption",color:"textSecondary",children:a.nb_contacts>1?"contacts":"contact"})]})]}),p.jsxs(Be,{sx:{display:"flex",alignItems:"center"},children:[p.jsx(lV,{color:"disabled",sx:{mr:1}}),p.jsxs("div",{children:[p.jsx(Ze,{variant:"subtitle2",sx:{mb:-1},children:a.nb_deals}),p.jsx(Ze,{variant:"caption",color:"textSecondary",children:a.nb_deals>1?"deals":"deal"})]})]})]})]})}):null},"CompanyCard"),sWe=i((e,t)=>Array.from({length:e},(n,r)=>t(r)),"times"),cWe=i(()=>p.jsx(Be,{display:"flex",flexWrap:"wrap",width:1008,gap:1,children:sWe(15,e=>p.jsx(Wa,{sx:{height:200,width:194,display:"flex",flexDirection:"column",backgroundColor:"grey[200]"}},e))}),"LoadingGridList"),lWe=i(()=>{const{data:e,error:t,isPending:n}=Kn();return n||t?null:p.jsx(Be,{display:"flex",flexWrap:"wrap",width:"100%",gap:1,children:e.map(r=>p.jsx(Kr,{value:r,children:p.jsx(iWe,{})},r.id))})},"LoadedGridList"),uWe=i(()=>{const{isPending:e}=Kn();return e?p.jsx(cWe,{}):p.jsx(lWe,{})},"ImageList");var b8={},dWe=gt;Object.defineProperty(b8,"__esModule",{value:!0});var x8=b8.default=void 0,fWe=dWe(vt()),pWe=p;x8=b8.default=(0,fWe.default)((0,pWe.jsx)("path",{d:"M12 7V3H2v18h20V7zM6 19H4v-2h2zm0-4H4v-2h2zm0-4H4V9h2zm0-4H4V5h2zm4 12H8v-2h2zm0-4H8v-2h2zm0-4H8V9h2zm0-4H8V5h2zm10 12h-8v-2h2v-2h-2v-2h2v-2h-2V9h8zm-2-8h-2v2h2zm0 4h-2v2h2z"}),"Business");var w8={},mWe=gt;Object.defineProperty(w8,"__esModule",{value:!0});var uV=w8.default=void 0,hWe=mWe(vt()),gWe=p;uV=w8.default=(0,hWe.default)((0,gWe.jsx)("path",{d:"M20 8h-3V4H3c-1.1 0-2 .9-2 2v11h2c0 1.66 1.34 3 3 3s3-1.34 3-3h6c0 1.66 1.34 3 3 3s3-1.34 3-3h2v-5zM6 18.5c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5m13.5-9 1.96 2.5H17V9.5zm-1.5 9c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5"}),"LocalShipping");var C8={},vWe=gt;Object.defineProperty(C8,"__esModule",{value:!0});var S8=C8.default=void 0,yWe=vWe(vt()),bWe=p;S8=C8.default=(0,yWe.default)((0,bWe.jsx)("path",{d:"M16.5 12c1.38 0 2.49-1.12 2.49-2.5S17.88 7 16.5 7C15.12 7 14 8.12 14 9.5s1.12 2.5 2.5 2.5M9 11c1.66 0 2.99-1.34 2.99-3S10.66 5 9 5C7.34 5 6 6.34 6 8s1.34 3 3 3m7.5 3c-1.83 0-5.5.92-5.5 2.75V19h11v-2.25c0-1.83-3.67-2.75-5.5-2.75M9 13c-2.33 0-7 1.17-7 3.5V19h7v-2.25c0-.85.33-2.34 2.37-3.47C10.5 13.1 9.66 13 9 13"}),"SupervisorAccount");const j8=[{id:1,name:"1 employee"},{id:10,name:"2-9 employees"},{id:50,name:"10-49 employees"},{id:250,name:"50-249 employees"},{id:500,name:"250 or more employees"}],xWe=i(()=>{const{identity:e}=Ho();return p.jsxs(Be,{width:"13em",minWidth:"13em",order:-1,mr:2,mt:5,children:[p.jsx(tq,{hiddenLabel:!0}),p.jsx(Zc,{label:"Size",icon:p.jsx(x8,{}),children:j8.map(t=>p.jsx(na,{label:t.name,value:{size:t.id}},t.id))}),p.jsx(Zc,{label:"Sector",icon:p.jsx(uV,{}),children:y8.map(t=>p.jsx(na,{label:t.name,value:{sector:t.id}},t.id))}),p.jsx(Zc,{label:"Account manager",icon:p.jsx(S8,{}),children:p.jsx(na,{label:"Me",value:{sales_id:e&&e.id}})})]})},"CompanyListFilter"),wWe=i(()=>{const{identity:e}=Ho();return e?p.jsx(kq,{actions:p.jsx(CWe,{}),aside:p.jsx(xWe,{}),filterDefaultValues:{sales_id:e==null?void 0:e.id},pagination:p.jsx(o8,{rowsPerPageOptions:[15,25,50,100]}),perPage:25,sort:{field:"name",order:"ASC"},component:"div",children:p.jsx(uWe,{})}):null},"CompanyList"),CWe=i(()=>p.jsxs(zg,{children:[p.jsx(VR,{}),p.jsx($1,{variant:"contained",label:"New Company",sx:{marginLeft:2}})]}),"CompanyListActions"),dV=i(()=>p.jsxs(p.Fragment,{children:[p.jsx(Nn,{source:"name",validate:cs()}),p.jsxs(Ra,{direction:"row",children:[p.jsx(fd,{source:"sector",choices:y8,sx:{width:200}}),p.jsx(fd,{source:"size",choices:j8,sx:{ml:2,width:200}})]}),p.jsx(Ea,{sx:{mb:2,width:"100%"}}),p.jsx(Nn,{source:"address",helperText:!1}),p.jsxs(ui,{container:!0,spacing:2,children:[p.jsx(ui,{item:!0,xs:12,sm:4,children:p.jsx(Nn,{source:"city"})}),p.jsx(ui,{item:!0,xs:12,sm:4,children:p.jsx(Nn,{source:"zipcode"})}),p.jsx(ui,{item:!0,xs:12,sm:4,children:p.jsx(Nn,{source:"stateAbbr"})})]}),p.jsx(Ea,{sx:{mb:2,width:"100%"}}),p.jsx(Nn,{source:"website",helperText:!1}),p.jsx(Nn,{source:"linkedIn",helperText:!1}),p.jsx(Nn,{source:"logo"}),p.jsx(Ea,{sx:{mb:2,width:"100%"}}),p.jsxs(Ra,{direction:"row",children:[p.jsx(Nn,{source:"phone_number",helperText:!1,sx:{width:200}}),p.jsx(g_,{source:"sales_id",reference:"sales",children:p.jsx(fd,{label:"Account manager",helperText:!1,optionText:e=>`${e.first_name} ${e.last_name}`,sx:{width:200,ml:2}})})]})]}),"CompanyForm"),SWe=i(()=>p.jsx(wFe,{actions:!1,redirect:"show",children:p.jsxs(Gf,{children:[p.jsx(Vo,{children:p.jsxs(Ra,{direction:"row",children:[p.jsx(za,{sx:{mt:1},children:p.jsx(x8,{})}),p.jsx(Be,{ml:2,flex:"1",maxWidth:796,children:p.jsx(dV,{})})]})}),p.jsx(Lg,{})]})}),"CompanyCreate");var _8={},jWe=gt;Object.defineProperty(_8,"__esModule",{value:!0});var fV=_8.default=void 0,_We=jWe(vt()),kWe=p;fV=_8.default=(0,_We.default)((0,kWe.jsx)("path",{d:"M15 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4m-9-2V7H4v3H1v2h3v3h2v-3h3v-2zm9 4c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4"}),"PersonAdd");const Fg=i(e=>{const t=sn(e);return t?p.jsxs(za,{src:t.avatar,children:[t.first_name.charAt(0),t.last_name.charAt(0)]}):null},"Avatar"),$We=i(e=>e==="cold"?"#7dbde8":e==="warm"?"#e8cb7d":e==="hot"?"#e88b7d":e==="in-contract"?"#a4e87d":"#000","getColorFromStatus"),Mo=i(({status:e})=>p.jsx(Be,{marginLeft:.5,width:10,height:10,display:"inline-block",borderRadius:"5px",bgcolor:$We(e),component:"span"}),"Status"),EWe=i(e=>{const t=sn();return t?p.jsx(y_,{record:t,...e,style:{backgroundColor:t.color,border:0},component:"span"}):null},"ColoredChipField"),pV=i(()=>p.jsx(gq,{sx:{display:"inline-block"},resource:"contacts",source:"tags",reference:"tags",children:p.jsx(Jb,{linkType:!1,children:p.jsx(EWe,{source:"name",variant:"outlined",size:"small"})})}),"TagsList"),uI={medium:42,small:20},k8=i(({size:e="medium"})=>{const t=sn();return!t||!t.logo?null:p.jsx(Be,{component:"img",src:t.logo,alt:t.name,title:t.name,width:uI[e],height:uI[e],sx:{objectFit:"contain"}})},"LogoField"),mV=i(({link:e="edit"})=>{const t=sn();return t?p.jsxs(Be,{ml:4,width:250,minWidth:250,children:[p.jsx(Be,{textAlign:"center",mb:2,children:e==="edit"?p.jsx(xH,{label:"Edit Company"}):p.jsx(bR,{label:"Show Company"})}),p.jsx(Ze,{variant:"subtitle2",children:"Company info"}),p.jsx(Ea,{}),p.jsx(Be,{mt:2,children:p.jsxs(Ze,{variant:"body2",children:[t.website&&p.jsxs(p.Fragment,{children:["Website:"," ",p.jsx(uh,{href:t.website,children:t.website})]}),t.linkedIn&&p.jsxs(p.Fragment,{children:[p.jsx("br",{}),"LinkedIn:"," ",p.jsx(uh,{href:t.linkedIn,children:"LinkedIn"})]})]})}),p.jsxs(Be,{mt:1,children:[p.jsx(Hr,{source:"phone_number"})," ",p.jsx(Ze,{variant:"body2",color:"textSecondary",component:"span",children:"Main Address"})]}),p.jsxs(Be,{mt:1,mb:3,children:[p.jsx(Hr,{source:"address"}),p.jsx("br",{}),p.jsx(Hr,{source:"city"})," ",p.jsx(Hr,{source:"zipcode"})," ",p.jsx(Hr,{source:"stateAbbr"})]}),p.jsx(Ze,{variant:"subtitle2",children:"Background"}),p.jsx(Ea,{}),p.jsxs(Be,{mt:1,children:[p.jsx(Ze,{variant:"body2",color:"textSecondary",component:"span",children:"Added on"})," ",p.jsx(ff,{source:"created_at",options:{year:"numeric",month:"long",day:"numeric"},color:"textSecondary"}),p.jsx("br",{}),p.jsx(Ze,{component:"span",variant:"body2",color:"textSecondary",children:"Followed by"})," ",p.jsx(Ai,{source:"sales_id",reference:"sales",children:p.jsx(c8,{source:"last_name",render:n=>`${n.first_name} ${n.last_name}`})})]})]}):null},"CompanyAside"),x_=["opportunity","proposal-sent","in-negociation","won","lost","delayed"],hV={opportunity:"Opportunity","proposal-sent":"Proposal Sent","in-negociation":"In Negociation",won:"Won",lost:"Lost",delayed:"Delayed"},Ent=x_.map(e=>({id:e,name:hV[e]})),Rnt=i(e=>{const t=e.reduce((n,r)=>(n[r.stage].push(r),n),x_.reduce((n,r)=>({...n,[r]:[]}),{}));return x_.forEach(n=>{t[n]=t[n].sort((r,a)=>r.index-a.index)}),t},"getDealsByStage"),RWe=i(()=>p.jsx(w7,{children:p.jsx(AWe,{})}),"CompanyShow"),AWe=i(()=>{const{record:e,isPending:t}=C7(),[n,r]=v.useState(0),a=i((o,s)=>{r(s)},"handleTabChange");return t||!e?null:p.jsxs(Be,{mt:2,display:"flex",children:[p.jsx(Be,{flex:"1",children:p.jsx(Co,{children:p.jsxs(Vo,{children:[p.jsxs(Be,{display:"flex",mb:1,children:[p.jsx(k8,{}),p.jsxs(Be,{ml:2,flex:"1",children:[p.jsx(Ze,{variant:"h5",children:e.name}),p.jsxs(Ze,{variant:"body2",children:[p.jsx(Hr,{source:"sector"}),e.size&&", ",p.jsx(l8,{source:"size",choices:j8})]})]})]}),p.jsxs(OU,{value:n,indicatorColor:"primary",textColor:"primary",onChange:a,children:[e.nb_contacts&&p.jsx(Gu,{label:e.nb_contacts===1?"1 Contact":`${e.nb_contacts} Contacts`}),e.nb_deals&&p.jsx(Gu,{label:e.nb_deals===1?"1 deal":`${e.nb_deals} Deals`})]}),p.jsx(Ea,{}),p.jsx(dI,{value:n,index:0,children:p.jsxs(Yb,{reference:"contacts",target:"company_id",sort:{field:"last_name",order:"ASC"},children:[p.jsxs(Ra,{direction:"row",justifyContent:"flex-end",spacing:2,mt:1,children:[p.jsx(UU,{fields:["last_name","first_name","last_seen"]}),p.jsx(TWe,{})]}),p.jsx(PWe,{})]})}),p.jsx(dI,{value:n,index:1,children:p.jsx(Yb,{reference:"deals",target:"company_id",sort:{field:"name",order:"ASC"},children:p.jsx(MWe,{})})})]})})}),p.jsx(mV,{})]})},"CompanyShowContent"),dI=i(e=>{const{children:t,value:n,index:r,...a}=e;return p.jsx("div",{role:"tabpanel",hidden:n!==r,id:`wrapped-tabpanel-${r}`,"aria-labelledby":`wrapped-tab-${r}`,...a,children:t})},"TabPanel"),PWe=i(()=>{const{data:e,error:t,isPending:n}=Kn();if(n||t)return null;const r=Date.now();return p.jsx(Oc,{dense:!0,sx:{pt:0},children:e.map(a=>p.jsx(Kr,{value:a,children:p.jsxs(Yl,{button:!0,component:zr,to:`/contacts/${a.id}/show`,children:[p.jsx(_1,{children:p.jsx(Fg,{})}),p.jsx(ks,{primary:`${a.first_name} ${a.last_name}`,secondary:p.jsxs(p.Fragment,{children:[a.title,a.nb_notes?` - ${a.nb_notes} note${a.nb_notes>1?"s":""}`:"",a.nb_tasks?` - ${a.nb_tasks} task${a.nb_tasks>1?"s":""}`:"","   ",p.jsx(pV,{})]})}),p.jsx(Jl,{children:p.jsxs(Ze,{variant:"body2",color:"textSecondary",component:"span",children:["last activity"," ",gg(a.last_seen,r)," ago"," ",p.jsx(Mo,{status:a.status})]})})]})},a.id))})},"ContactsIterator"),TWe=i(()=>{const e=sn();return p.jsx(hn,{component:zr,to:"/contacts/create",state:e?{record:{company_id:e.id}}:void 0,color:"primary",size:"small",startIcon:p.jsx(fV,{}),children:"Add contact"})},"CreateRelatedContactButton"),MWe=i(()=>{const{data:e,error:t,isPending:n}=Kn();if(n||t)return null;const r=Date.now();return p.jsx(Be,{children:p.jsx(Oc,{dense:!0,children:e.map(a=>p.jsxs(Yl,{button:!0,component:zr,to:`/deals/${a.id}/show`,children:[p.jsx(ks,{primary:a.name,secondary:p.jsxs(p.Fragment,{children:[hV[a.stage],","," ",a.amount.toLocaleString("en-US",{notation:"compact",style:"currency",currency:"USD",currencyDisplay:"narrowSymbol",minimumSignificantDigits:3}),", ",a.type]})}),p.jsx(Jl,{children:p.jsxs(Ze,{variant:"body2",color:"textSecondary",component:"span",children:["last activity"," ",gg(a.updated_at,r)," ago"," "]})})]},a.id))})})},"DealsIterator"),OWe=i(()=>p.jsx($Fe,{aside:p.jsx(mV,{link:"show"}),actions:!1,redirect:"show",children:p.jsxs(Gf,{children:[p.jsx(Vo,{children:p.jsxs(Ra,{direction:"row",children:[p.jsx(za,{sx:{mt:1},children:p.jsx(k8,{})}),p.jsx(Be,{ml:2,flex:"1",maxWidth:796,children:p.jsx(dV,{})})]})}),p.jsx(Lg,{})]})}),"CompanyEdit"),zWe={list:wWe,create:SWe,edit:OWe,show:RWe};var $8={},IWe=gt;Object.defineProperty($8,"__esModule",{value:!0});var E8=$8.default=void 0,LWe=IWe(vt()),DWe=p;E8=$8.default=(0,LWe.default)((0,DWe.jsx)("path",{d:"M13 7h-2v4H7v2h4v4h2v-4h4v-2h-4zm-1-5C6.49 2 2 6.49 2 12s4.49 10 10 10 10-4.49 10-10S17.51 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8"}),"ControlPoint");var R8={},NWe=gt;Object.defineProperty(R8,"__esModule",{value:!0});var A8=R8.default=void 0,FWe=NWe(vt()),BWe=p;A8=R8.default=(0,FWe.default)((0,BWe.jsx)("path",{d:"M3 17.25V21h3.75L17.81 9.94l-3.75-3.75zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34a.9959.9959 0 0 0-1.41 0l-1.83 1.83 3.75 3.75z"}),"Edit");const MC=["#eddcd2","#fff1e6","#fde2e4","#fad2e1","#c5dedd","#dbe7e4","#f0efeb","#d6e2e9","#bcd4e6","#99c1de"],WWe=i(()=>{const e=sn(),[t,n]=v.useState(!1),[r,a]=v.useState(""),[o,s]=v.useState(MC[0]),[c,l]=v.useState(null),[u,d]=v.useState(!1),{data:f,isPending:m}=_i("tags",{pagination:{page:1,perPage:10},sort:{field:"name",order:"ASC"}}),{data:g,isPending:h}=lpe("tags",{ids:e==null?void 0:e.tags},{enabled:e&&e.tags&&e.tags.length>0}),[y]=hg(),[b]=_x(),x=f&&e&&f.filter(E=>!e.tags.includes(E.id)),w=i(E=>{l(E.currentTarget)},"handleOpen"),C=i(()=>{l(null)},"handleClose"),j=i(E=>{if(!e)throw new Error("No contact record found");const P=e.tags.filter(R=>R!==E);y("contacts",{id:e.id,data:{tags:P},previousData:e})},"handleDeleteTag"),_=i(E=>{if(!e)throw new Error("No contact record found");const P=[...e.tags,E];y("contacts",{id:e.id,data:{tags:P},previousData:e}),l(null)},"handleAddTag"),S=i(()=>{n(!0),l(null),d(!1)},"handleOpenCreateDialog"),k=i(E=>{a(E.target.value)},"handleNewTagNameChange"),$=i(E=>{if(E.preventDefault(),!e)throw new Error("No contact record found");d(!0),b("tags",{data:{name:r,color:o}},{onSuccess:P=>{y("contacts",{id:e.id,data:{tags:[...e.tags,P.id]},previousData:e},{onSuccess:()=>{a(""),s(MC[0]),n(!1)}})}})},"handleCreateTag");return h||m?null:p.jsxs(p.Fragment,{children:[g==null?void 0:g.map(E=>p.jsx(Be,{mt:1,mb:1,children:p.jsx(gi,{size:"small",variant:"outlined",onDelete:()=>j(E.id),label:E.name,style:{backgroundColor:E.color,border:0}})},E.id)),p.jsx(Be,{mt:1,children:p.jsx(gi,{icon:p.jsx(E8,{}),size:"small",variant:"outlined",onClick:w,label:"Add tag",color:"primary"})}),p.jsxs(Ql,{open:!!c,onClose:C,anchorEl:c,children:[x==null?void 0:x.map(E=>p.jsx(Vn,{onClick:()=>_(E.id),children:p.jsx(gi,{size:"small",variant:"outlined",label:E.name,style:{backgroundColor:E.color,border:0},onClick:()=>_(E.id)})},E.id)),p.jsx(Vn,{onClick:S,children:p.jsx(gi,{icon:p.jsx(A8,{}),size:"small",variant:"outlined",onClick:S,color:"primary",label:"Create new tag"})})]}),p.jsx(Eg,{open:t,onClose:()=>n(!1),"aria-labelledby":"form-dialog-title",children:p.jsxs("form",{onSubmit:$,children:[p.jsx(Pg,{id:"form-dialog-title",children:"Create a new tag"}),p.jsxs(Ag,{children:[p.jsx(vs,{autoFocus:!0,label:"Tag name",value:r,onChange:k,sx:{mt:1}}),p.jsx(Be,{display:"flex",flexWrap:"wrap",width:230,mt:2,children:MC.map(E=>p.jsx(UWe,{color:E,selected:E===o,handleClick:()=>{s(E)}},E))})]}),p.jsxs(Rg,{children:[p.jsx(hn,{onClick:()=>n(!1),color:"primary",children:"Cancel"}),p.jsx(hn,{type:"submit",color:"primary",disabled:u,children:"Add tag"})]})]})})]})},"TagsListEdit"),UWe=i(({color:e,handleClick:t,selected:n})=>p.jsx(Be,{component:"button",type:"button",sx:{bgcolor:e,width:30,height:30,borderRadius:15,border:n?"2px solid grey":"none",display:"inline-block",margin:1},onClick:t}),"RoundButton"),HWe=["None","Email","Demo","Lunch","Meeting","Follow-up","Thank you","Ship"],qWe=i(()=>{const e=sn(),[t,n]=v.useState(!1),r=i(()=>{n(!0)},"handleOpen");return p.jsxs(p.Fragment,{children:[p.jsx(Be,{mt:1,children:p.jsx(gi,{icon:p.jsx(E8,{}),size:"small",variant:"outlined",onClick:r,label:"Add task",color:"primary"})}),p.jsx(H$,{resource:"tasks",record:{type:"None",contact_id:e==null?void 0:e.id,due_date:new Date().toISOString().slice(0,10)},mutationOptions:{onSuccess:()=>n(!1)},children:p.jsx(Eg,{open:t,onClose:()=>n(!1),"aria-labelledby":"form-dialog-title",fullWidth:!0,disableRestoreFocus:!0,maxWidth:"sm",children:p.jsxs(Gf,{children:[p.jsxs(Pg,{id:"form-dialog-title",children:["Create a new task for"," ",p.jsx(D9,{record:e,resource:"contacts"})]}),p.jsxs(Ag,{children:[p.jsx(Nn,{autoFocus:!0,source:"text",label:"Description",validate:cs(),multiline:!0}),p.jsxs(Ra,{direction:"row",spacing:1,mt:2,children:[p.jsx(XNe,{source:"due_date",validate:cs()}),p.jsx(fd,{source:"type",validate:cs(),choices:HWe.map(a=>({id:a,name:a}))})]})]}),p.jsx(Rg,{sx:{p:0},children:p.jsxs(Lg,{sx:{width:"100%",justifyContent:"flex-end",gap:1},children:[p.jsx(hn,{onClick:()=>n(!1),children:"Cancel"}),p.jsx(kH,{onClick:()=>n(!1)})]})})]})})})]})},"AddTask");var P8={},VWe=gt;Object.defineProperty(P8,"__esModule",{value:!0});var gV=P8.default=void 0,GWe=VWe(vt()),KWe=p;gV=P8.default=(0,GWe.default)((0,KWe.jsx)("path",{d:"M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2m0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2m0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2"}),"MoreVert");const JWe=i(({task:e,showContact:t})=>{const[n,r]=v.useState(null),a=!!n,o=i(m=>{r(m.currentTarget)},"handleClick"),s=i(()=>{r(null)},"handleClose"),[c,{isPending:l}]=hg(),{handleDelete:u}=A9({record:e,redirect:!1}),d=i(()=>()=>{c("tasks",{id:e.id,data:{done_date:e.done_date?void 0:new Date().toISOString()},previousData:e})},"handleCheck"),f=`checkbox-list-label-${e.id}`;return p.jsx(Yl,{secondaryAction:p.jsxs(p.Fragment,{children:[p.jsx(cn,{edge:"end","aria-label":"task actions","aria-controls":a?"basic-menu":void 0,onClick:o,"aria-haspopup":"true","aria-expanded":a?"true":void 0,size:"small",children:p.jsx(gV,{})}),p.jsxs(Ql,{id:"basic-menu",anchorEl:n,open:a,onClose:s,MenuListProps:{"aria-labelledby":"basic-button"},children:[p.jsx(Vn,{onClick:()=>{c("tasks",{id:e.id,data:{due_date:new Date(Date.now()+24*60*60*1e3).toISOString().slice(0,10)}}),s()},children:"Postpone to tomorrow"}),p.jsx(Vn,{onClick:()=>{c("tasks",{id:e.id,data:{due_date:new Date(Date.now()+7*24*60*60*1e3).toISOString().slice(0,10)}}),s()},children:"Postpone to next week"}),p.jsx(Vn,{onClick:u,children:"Delete"})]})]}),disableGutters:!0,sx:{pr:3},children:p.jsxs(fR,{role:void 0,onClick:d(),dense:!0,disabled:l,sx:{pl:0,pr:"0!important",pt:0,pb:0,alignItems:"flex-start"},children:[p.jsx(Ll,{sx:{minWidth:"auto"},children:p.jsx(uf,{edge:"start",checked:!!e.done_date,tabIndex:-1,disableRipple:!0,inputProps:{"aria-labelledby":f},sx:{pt:.3}})}),p.jsxs(ks,{sx:{textDecoration:e.done_date?"line-through":"none"},id:f,children:[e.type&&e.type!=="None"&&p.jsxs(p.Fragment,{children:[p.jsx("strong",{children:e.type})," "]}),e.text,p.jsxs(Ze,{variant:"body2",color:"textSecondary",component:"div",children:["due ",p.jsx(ff,{source:"due_date",record:e}),t&&p.jsxs(p.Fragment,{children:[" (Re:"," ",p.jsx(Ai,{source:"contact_id",reference:"contacts",record:e,link:"show"}),")"]})]})]})]})})},"Task"),vV=i(({showContact:e})=>{const{data:t,error:n,isPending:r}=Kn();if(r||n||t.length===0)return null;const a=t.filter(o=>!o.done_date||M0e(new Date(o.done_date),new Date(Date.now()-5*60*1e3)));return p.jsx(Oc,{dense:!0,children:a.map(o=>p.jsx(JWe,{task:o,showContact:e},o.id))})},"TasksIterator"),yV=[{id:"male",name:"He/Him"},{id:"female",name:"She/Her"},{id:"nonbinary",name:"They/Them"}],bV=i(({link:e="edit"})=>{const t=sn();return t?p.jsxs(Be,{ml:4,width:250,minWidth:250,children:[p.jsx(Be,{textAlign:"center",mb:2,children:e==="edit"?p.jsx(xH,{label:"Edit Contact"}):p.jsx(bR,{label:"Show Contact"})}),p.jsx(Ze,{variant:"subtitle2",children:"Personal info"}),p.jsx(Ea,{}),p.jsx(dq,{sx:{mt:2,display:"block"},source:"email"}),t.phone_number1&&p.jsxs(Be,{children:[p.jsx(Hr,{source:"phone_number1"})," ",p.jsx(Ze,{variant:"body2",color:"textSecondary",component:"span",children:"Work"})]}),t.phone_number2&&p.jsxs(Be,{children:[p.jsx(Hr,{source:"phone_number2"})," ",p.jsx(Ze,{variant:"body2",color:"textSecondary",component:"span",children:"Home"})]}),p.jsx(l8,{source:"gender",choices:yV}),p.jsx(Ze,{variant:"subtitle2",mt:2,children:"Background"}),p.jsx(Ea,{}),p.jsx(Ze,{variant:"body2",mt:2,children:t&&t.background}),p.jsxs(Be,{mt:1,mb:3,children:[p.jsx(Ze,{component:"span",variant:"body2",color:"textSecondary",children:"Added on"})," ",p.jsx(ff,{source:"first_seen",options:{year:"numeric",month:"long",day:"numeric"},color:"textSecondary"}),p.jsx("br",{}),p.jsx(Ze,{component:"span",variant:"body2",color:"textSecondary",children:"Last seen on"})," ",p.jsx(ff,{source:"last_seen",options:{year:"numeric",month:"long",day:"numeric"},color:"textSecondary"}),p.jsx("br",{}),p.jsx(Ze,{component:"span",variant:"body2",color:"textSecondary",children:"Followed by"})," ",p.jsx(Ai,{source:"sales_id",reference:"sales",children:p.jsx(c8,{source:"last_name",render:n=>`${n.first_name} ${n.last_name}`})})]}),p.jsxs(Be,{mb:3,children:[p.jsx(Ze,{variant:"subtitle2",children:"Tags"}),p.jsx(Ea,{}),p.jsx(WWe,{})]}),p.jsxs(Be,{children:[p.jsx(Ze,{variant:"subtitle2",children:"Tasks"}),p.jsx(Ea,{}),p.jsx(Yb,{target:"contact_id",reference:"tasks",sort:{field:"due_date",order:"ASC"},children:p.jsx(vV,{})}),p.jsx(qWe,{})]})]}):null},"ContactAside"),YWe=i(({status:e,setStatus:t,sx:n})=>p.jsxs(vs,{select:!0,value:e,onChange:r=>{t(r.target.value)},variant:"filled",label:!1,margin:"none",size:"small",sx:n,children:[p.jsxs(Vn,{value:"cold",children:["Cold ",p.jsx(Mo,{status:"cold"})]}),p.jsxs(Vn,{value:"warm",children:["Warm ",p.jsx(Mo,{status:"warm"})]}),p.jsxs(Vn,{value:"hot",children:["Hot ",p.jsx(Mo,{status:"hot"})]}),p.jsxs(Vn,{value:"in-contract",children:["In Contract ",p.jsx(Mo,{status:"in-contract"})]})]}),"StatusSelector"),QWe=i(({showStatus:e,reference:t})=>{const n=Lt(),r=sn(),{refetch:a}=Kn(),[o,s]=v.useState(""),[c,l]=v.useState(r&&r.status),[u,d]=v.useState(XWe()),[f,{isPending:m}]=_x(),[g]=hg(),h=Gn(),{identity:y}=Ho();if(!r||!y)return null;const b=i(x=>{x.preventDefault();const w={[ZWe[t]]:r.id,sales_id:y.id,date:u,text:o};return e&&(w.status=c),f(n,{data:w},{onSuccess:()=>{s(""),h("Note added successfully"),a(),g(t,{id:r&&r.id,data:{last_seen:u,status:c},previousData:r})}}),!1},"handleSubmit");return p.jsx(Be,{mt:4,mb:1,children:p.jsxs("form",{onSubmit:b,children:[p.jsx(vs,{label:"Add a note",variant:"filled",size:"small",multiline:!0,value:o,onChange:x=>s(x.target.value),rows:3}),p.jsxs(Be,{display:"flex",justifyContent:"space-between",mt:1,children:[p.jsx("span",{children:o?p.jsxs(Ra,{direction:"row",children:[e&&p.jsx(YWe,{status:c,setStatus:l,sx:{marginRight:"1em","& .MuiFilledInput-input":{paddingTop:"10px"},width:150}}),p.jsx(vs,{type:"datetime-local",variant:"filled",size:"small",margin:"none",value:u,onChange:x=>{d(x.target.value)},sx:{marginRight:"1em","& .MuiFilledInput-input":{paddingTop:"10px"}}})]}):null}),p.jsx(hn,{type:"submit",variant:"contained",color:"primary",disabled:!o||m,children:"Add this note"})]})]})})},"NewNote"),XWe=i(()=>{const e=new Date;return e.setMinutes(e.getMinutes()-e.getTimezoneOffset()),e.toISOString().slice(0,-1)},"getCurrentDate"),ZWe={contacts:"contact_id",deals:"deal_id"},eUe=i(({showStatus:e,note:t})=>{const[n,r]=v.useState(!1),[a,o]=v.useState(!1),[s,c]=v.useState(t.text),l=Lt(),u=Gn(),[d,{isPending:f}]=hg(),[m]=sE(l,{id:t.id,previousData:t},{mutationMode:"undoable",onSuccess:()=>{u("Note deleted",{type:"info",undoable:!0})}}),g=i(()=>{m()},"handleDelete"),h=i(()=>{o(!0)},"handleEnterEditMode"),y=i(()=>{o(!1),c(t.text),r(!1)},"handleCancelEdit"),b=i(w=>{c(w.target.value)},"handleTextChange"),x=i(w=>{w.preventDefault(),d(l,{id:t.id,data:{text:s},previousData:t},{onSuccess:()=>{o(!1),c(t.text),r(!1)}})},"handleNoteUpdate");return p.jsxs(Be,{mb:2,onMouseEnter:()=>r(!0),onMouseLeave:()=>r(!1),children:[p.jsxs(Be,{mb:1,color:"text.secondary",children:[p.jsx(Ai,{record:t,resource:"contactNotes",source:"sales_id",reference:"sales",children:p.jsx(Hr,{source:"first_name",variant:"body1"})})," ",p.jsxs(Ze,{component:"span",variant:"body1",children:["added a note on"," "]}),p.jsx(ff,{source:"date",record:t,variant:"body1",showTime:!0,locales:"en",options:{dateStyle:"full",timeStyle:"short"}})," ",e&&p.jsx(Mo,{status:t.status})]}),a?p.jsxs("form",{onSubmit:x,children:[p.jsx(uR,{value:s,onChange:b,fullWidth:!0,multiline:!0,sx:{paddingTop:"16px",paddingLeft:"14px",paddingRight:"60px",paddingBottom:"14px",lineHeight:1.3},autoFocus:!0}),p.jsxs(Be,{display:"flex",justifyContent:"flex-end",mt:1,children:[p.jsx(hn,{sx:{mr:1},onClick:y,color:"primary",children:"Cancel"}),p.jsx(hn,{type:"submit",color:"primary",variant:"contained",disabled:f,children:"Update Note"})]})]}):p.jsxs(Be,{sx:{bgcolor:"#edf3f0",padding:"0 1em",borderRadius:"10px",display:"flex",alignItems:"stretch",marginBottom:1},children:[p.jsx(Be,{flex:1,children:t.text.split(` -`).map((w,C)=>p.jsx(Be,{component:"p",fontFamily:"fontFamily",fontSize:"body1.fontSize",lineHeight:1.3,marginBottom:2.4,children:w},C))}),p.jsxs(Be,{sx:{marginLeft:2,display:"flex",flexDirection:"column",justifyContent:"space-around",visibility:n?"visible":"hidden"},children:[p.jsx(Lo,{title:"Edit note",children:p.jsx(cn,{size:"small",onClick:h,children:p.jsx(A8,{})})}),p.jsx(Lo,{title:"Delete note",children:p.jsx(cn,{size:"small",onClick:g,children:p.jsx(ap,{})})})]})]})]})},"Note$1"),tUe=i(({showStatus:e,reference:t})=>{const{data:n,error:r,isPending:a}=Kn();return a||r?null:p.jsxs(p.Fragment,{children:[p.jsx(QWe,{showStatus:e,reference:t}),p.jsx(Be,{mt:"0.5em",children:n.map((o,s)=>p.jsx(eUe,{note:o,isLast:s===n.length-1,showStatus:e},s))})]})},"NotesIterator"),nUe=i(()=>p.jsx(w7,{children:p.jsx(rUe,{})}),"ContactShow"),rUe=i(()=>{const{record:e,isPending:t}=C7();return t||!e?null:p.jsxs(Be,{mt:2,display:"flex",children:[p.jsx(Be,{flex:"1",children:p.jsx(Co,{children:p.jsxs(Vo,{children:[p.jsxs(Be,{display:"flex",children:[p.jsx(Fg,{}),p.jsxs(Be,{ml:2,flex:"1",children:[p.jsxs(Ze,{variant:"h5",children:[e.first_name," ",e.last_name]}),p.jsxs(Ze,{variant:"body2",component:"div",children:[e.title," at"," ",p.jsx(Ai,{source:"company_id",reference:"companies",link:"show",children:p.jsx(Hr,{source:"name"})})]})]}),p.jsx(Be,{children:p.jsx(Ai,{source:"company_id",reference:"companies",link:"show",children:p.jsx(k8,{})})})]}),p.jsx(Yb,{target:"contact_id",reference:"contactNotes",sort:{field:"date",order:"DESC"},children:p.jsx(tUe,{showStatus:!0,reference:"contacts"})})]})})}),p.jsx(bV,{})]})},"ContactShowContent");var T8={},aUe=gt;Object.defineProperty(T8,"__esModule",{value:!0});var xV=T8.default=void 0,oUe=aUe(vt()),fI=p;xV=T8.default=(0,oUe.default)([(0,fI.jsx)("path",{d:"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2M12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8"},"0"),(0,fI.jsx)("path",{d:"M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z"},"1")],"AccessTime");var M8={},iUe=gt;Object.defineProperty(M8,"__esModule",{value:!0});var wV=M8.default=void 0,sUe=iUe(vt()),cUe=p;wV=M8.default=(0,sUe.default)((0,cUe.jsx)("path",{d:"m16 6 2.29 2.29-4.88 4.88-4-4L2 16.59 3.41 18l6-6 4 4 6.3-6.29L22 12V6z"}),"TrendingUp");var O8={},lUe=gt;Object.defineProperty(O8,"__esModule",{value:!0});var CV=O8.default=void 0,uUe=lUe(vt()),dUe=p;CV=O8.default=(0,uUe.default)((0,dUe.jsx)("path",{d:"m21.41 11.58-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42M5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7"}),"LocalOffer");const fUe=i(()=>{const{identity:e}=Ho(),{data:t}=_i("tags",{pagination:{page:1,perPage:10},sort:{field:"name",order:"ASC"}});return p.jsxs(Be,{width:"13em",minWidth:"13em",order:-1,mr:2,mt:5,children:[p.jsx(tq,{hiddenLabel:!0,sx:{display:"block","& .MuiFilledInput-root":{width:"100%"}}}),p.jsxs(Zc,{label:"Last seen",icon:p.jsx(xV,{}),children:[p.jsx(na,{label:"Today",value:{last_seen_gte:Dbe().toISOString(),last_seen_lte:void 0}}),p.jsx(na,{label:"This week",value:{last_seen_gte:$i(new Date).toISOString(),last_seen_lte:void 0}}),p.jsx(na,{label:"Before this week",value:{last_seen_gte:void 0,last_seen_lte:$i(new Date).toISOString()}}),p.jsx(na,{label:"Before this month",value:{last_seen_gte:void 0,last_seen_lte:t3(new Date).toISOString()}}),p.jsx(na,{label:"Before last month",value:{last_seen_gte:void 0,last_seen_lte:fxe(t3(new Date),1).toISOString()}})]}),p.jsxs(Zc,{label:"Status",icon:p.jsx(wV,{}),children:[p.jsx(na,{label:p.jsxs(p.Fragment,{children:["Cold ",p.jsx(Mo,{status:"cold"})]}),value:{status:"cold"}}),p.jsx(na,{label:p.jsxs(p.Fragment,{children:["Warm ",p.jsx(Mo,{status:"warm"})]}),value:{status:"warm"}}),p.jsx(na,{label:p.jsxs(p.Fragment,{children:["Hot ",p.jsx(Mo,{status:"hot"})]}),value:{status:"hot"}}),p.jsx(na,{label:p.jsxs(p.Fragment,{children:["In contract ",p.jsx(Mo,{status:"in-contract"})]}),value:{status:"in-contract"}})]}),p.jsx(Zc,{label:"Tags",icon:p.jsx(CV,{}),children:t&&t.map(n=>p.jsx(na,{label:p.jsx(gi,{label:n==null?void 0:n.name,size:"small",style:{backgroundColor:n==null?void 0:n.color,border:0,cursor:"pointer"}}),value:{tags:[n.id]}},n.id))}),p.jsx(Zc,{label:"Account manager",icon:p.jsx(S8,{}),children:p.jsx(na,{label:"Me",value:{sales_id:e&&e.id}})})]})},"ContactListFilter"),pUe=i(()=>{const{data:e,error:t,isPending:n,onToggleItem:r,selectedIds:a}=Kn();if(n)return p.jsx($q,{hasLeftAvatarOrIcon:!0,hasSecondaryText:!0});if(t)return null;const o=Date.now();return p.jsxs(p.Fragment,{children:[p.jsx(HH,{children:p.jsx(vH,{})}),p.jsx(Oc,{dense:!0,children:e.map(s=>p.jsx(Kr,{value:s,children:p.jsxs(Yl,{button:!0,component:zr,to:`/contacts/${s.id}/show`,children:[p.jsx(Ll,{children:p.jsx(uf,{edge:"start",checked:a.includes(s.id),tabIndex:-1,disableRipple:!0,onClick:c=>{c.stopPropagation(),r(s.id)}})}),p.jsx(_1,{children:p.jsx(Fg,{})}),p.jsx(ks,{primary:`${s.first_name} ${s.last_name}`,secondary:p.jsxs(p.Fragment,{children:[s.title," at"," ",p.jsx(Ai,{source:"company_id",reference:"companies",link:!1,children:p.jsx(Hr,{source:"name"})}),s.nb_notes?` - ${s.nb_notes} note${s.nb_notes>1?"s":""}`:"",s.nb_tasks?` - ${s.nb_tasks} task${s.nb_tasks>1?"s":""}`:"","  ",p.jsx(pV,{})]})}),p.jsx(Jl,{children:p.jsxs(Ze,{variant:"body2",color:"textSecondary",children:["last activity"," ",gg(s.last_seen,o)," ago"," ",p.jsx(Mo,{status:s.status})]})})]})},s.id))})]})},"ContactListContent"),mUe=i(()=>p.jsxs(zg,{children:[p.jsx(UU,{fields:["last_name","first_name","last_seen"]}),p.jsx(VR,{}),p.jsx($1,{variant:"contained",label:"New Contact",sx:{marginLeft:2}})]}),"ContactListActions"),hUe=i(()=>{const{identity:e}=Ho();return e?p.jsx(kq,{actions:p.jsx(mUe,{}),aside:p.jsx(fUe,{}),perPage:25,pagination:p.jsx(o8,{rowsPerPageOptions:[10,25,50,100]}),filterDefaultValues:{sales_id:e==null?void 0:e.id},sort:{field:"last_seen",order:"DESC"},children:p.jsx(pUe,{})}):null},"ContactList"),gUe=i(e=>{if(e)try{new URL(e)}catch{return"Must be a valid URL"}},"isUrl"),SV=i(()=>{const[e]=_x(),{identity:t}=Ho(),n=Gn(),r=i(async a=>{if(a)try{return await e("companies",{data:{name:a,sales_id:t==null?void 0:t.id,created_at:new Date().toISOString()}},{returnPromise:!0})}catch(o){throw n("An error occurred while creating the company",{type:"error"}),o}},"handleCreateCompany");return p.jsxs(Be,{flex:"1",mt:-1,children:[p.jsxs(Ra,{direction:"row",width:430,gap:1,children:[p.jsx(Nn,{source:"first_name",validate:cs(),helperText:!1}),p.jsx(Nn,{source:"last_name",validate:cs(),helperText:!1})]}),p.jsxs(Ra,{direction:"row",width:430,gap:1,children:[p.jsx(Nn,{source:"title",helperText:!1}),p.jsx(g_,{source:"company_id",reference:"companies",children:p.jsx(AH,{optionText:"name",validate:cs(),onCreate:r,helperText:!1})})]}),p.jsx(Ea,{sx:{my:2}}),p.jsxs(Be,{width:430,children:[p.jsx(Nn,{source:"email",helperText:!1,validate:Kve()}),p.jsxs(Ra,{direction:"row",gap:1,children:[p.jsx(Nn,{source:"phone_number1",helperText:!1}),p.jsx(Nn,{source:"phone_number2",helperText:!1})]})]}),p.jsx(Ea,{sx:{my:2}}),p.jsxs(Be,{width:430,children:[p.jsx(Nn,{source:"background",multiline:!0,helperText:!1}),p.jsx(Nn,{source:"avatar",label:"Avatar URL",helperText:!1,validate:gUe}),p.jsxs(Ra,{direction:"row",gap:1,alignItems:"center",children:[p.jsx(fd,{source:"gender",choices:yV,helperText:!1}),p.jsx(a6e,{source:"has_newsletter",sx:{width:"100%",label:{justifyContent:"center"}},helperText:!1})]})]}),p.jsx(Ea,{sx:{my:2}}),p.jsx(Be,{width:430,children:p.jsx(g_,{reference:"sales",source:"sales_id",sort:{field:"last_name",order:"ASC"},children:p.jsx(fd,{helperText:!1,label:"Account manager",sx:{width:210}})})})]})},"ContactInputs"),vUe=i(()=>p.jsx(N9,{redirect:"show",children:p.jsx(yUe,{})}),"ContactEdit"),yUe=i(()=>{const{isPending:e,record:t}=F9();return e||!t?null:p.jsxs(Be,{mt:2,display:"flex",children:[p.jsx(Be,{flex:"1",children:p.jsx(Gf,{children:p.jsxs(Co,{children:[p.jsx(Vo,{children:p.jsx(Be,{children:p.jsxs(Be,{display:"flex",children:[p.jsx(Be,{mr:2,children:p.jsx(Fg,{})}),p.jsx(SV,{})]})})}),p.jsx(Lg,{})]})})}),p.jsx(bV,{link:"show"})]})},"ContactEditContent"),bUe=i(()=>{const{identity:e}=Ho();return p.jsx(H$,{redirect:"show",transform:t=>({...t,first_seen:new Date().toISOString(),last_seen:new Date().toISOString(),tags:[]}),children:p.jsx(Be,{mt:2,display:"flex",children:p.jsx(Be,{flex:"1",children:p.jsx(Gf,{defaultValues:{sales_id:e==null?void 0:e.id},children:p.jsxs(Co,{children:[p.jsx(Vo,{children:p.jsx(Be,{children:p.jsxs(Be,{display:"flex",children:[p.jsx(Be,{mr:2,children:p.jsx(za,{})}),p.jsx(SV,{})]})})}),p.jsx(Lg,{})]})})})})})},"ContactCreate"),xUe={list:hUe,show:nUe,edit:vUe,create:bUe,recordRepresentation:e=>(e==null?void 0:e.first_name)+" "+(e==null?void 0:e.last_name)};var z8={},wUe=gt;Object.defineProperty(z8,"__esModule",{value:!0});var jV=z8.default=void 0,CUe=wUe(vt()),SUe=p;jV=z8.default=(0,CUe.default)((0,SUe.jsx)("path",{d:"M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z"}),"Home");var I8={},jUe=gt;Object.defineProperty(I8,"__esModule",{value:!0});var _V=I8.default=void 0,_Ue=jUe(vt()),kUe=p;_V=I8.default=(0,_Ue.default)((0,kUe.jsx)("path",{d:"M9.4 16.6 4.8 12l4.6-4.6L8 6l-6 6 6 6zm5.2 0 4.6-4.6-4.6-4.6L16 6l6 6-6 6z"}),"Code");const $Ue=i(()=>p.jsxs(Co,{sx:{background:"#c5dedd",color:"rgba(0, 0, 0, 0.87)",padding:"1em",marginBottom:"1em",marginTop:"2em","& .MuiCardActions-root":{p:2,mt:-2,mb:-1,flexDirection:"column","& a":{mb:1,color:"rgba(0, 0, 0, 0.87)",backgroundColor:"white",marginLeft:"0 !important"}}},children:[p.jsxs(Vo,{children:[p.jsx(Ze,{variant:"h5",gutterBottom:!0,children:"CRM demo"}),p.jsx(Ze,{gutterBottom:!0,children:"This app runs in the browser, and relies on a mock REST API. Feel free to explore and modify the data - it's local to your computer, and will reset each time you reload."}),p.jsx(Ze,{gutterBottom:!0,children:"It was built using react-admin, an open-source framework. The code for this demo is also open-source. Reading it is a great way to learn react-admin!"})]}),p.jsxs(H$e,{children:[p.jsx(hn,{variant:"contained",fullWidth:!0,href:"https://marmelab.com/react-admin",startIcon:p.jsx(jV,{}),children:"React-admin site"}),p.jsx(hn,{variant:"contained",fullWidth:!0,href:"https://github.com/marmelab/react-admin/tree/master/examples/crm",startIcon:p.jsx(_V,{}),children:"Source of this demo"})]})]}),"Welcome");var L8={},EUe=gt;Object.defineProperty(L8,"__esModule",{value:!0});var kV=L8.default=void 0,RUe=EUe(vt()),AUe=p;kV=L8.default=(0,RUe.default)((0,AUe.jsx)("path",{d:"M11.8 10.9c-2.27-.59-3-1.2-3-2.15 0-1.09 1.01-1.85 2.7-1.85 1.78 0 2.44.85 2.5 2.1h2.21c-.07-1.72-1.12-3.3-3.21-3.81V3h-3v2.16c-1.94.42-3.5 1.68-3.5 3.61 0 2.31 1.91 3.46 4.7 4.13 2.5.6 3 1.48 3 2.41 0 .69-.49 1.79-2.7 1.79-2.06 0-2.87-.92-2.98-2.1h-2.2c.12 2.19 1.76 3.42 3.68 3.83V21h3v-2.15c1.95-.37 3.5-1.5 3.5-3.55 0-2.84-2.43-3.81-4.7-4.4"}),"AttachMoney");let D8=Wg();const Et=i(e=>Bg(e,D8),"raf");let N8=Wg();Et.write=e=>Bg(e,N8);let I1=Wg();Et.onStart=e=>Bg(e,I1);let F8=Wg();Et.onFrame=e=>Bg(e,F8);let B8=Wg();Et.onFinish=e=>Bg(e,B8);let xd=[];Et.setTimeout=(e,t)=>{let n=Et.now()+t,r=i(()=>{let o=xd.findIndex(s=>s.cancel==r);~o&&xd.splice(o,1),tc-=~o?1:0},"cancel"),a={time:n,handler:e,cancel:r};return xd.splice($V(n),0,a),tc+=1,EV(),a};let $V=i(e=>~(~xd.findIndex(t=>t.time>e)||~xd.length),"findTimeout");Et.cancel=e=>{I1.delete(e),F8.delete(e),D8.delete(e),N8.delete(e),B8.delete(e)};Et.sync=e=>{w_=!0,Et.batchedUpdates(e),w_=!1};Et.throttle=e=>{let t;function n(){try{e(...t)}finally{t=null}}i(n,"queuedFn");function r(...a){t=a,Et.onStart(n)}return i(r,"throttled"),r.handler=e,r.cancel=()=>{I1.delete(n),t=null},r};let W8=typeof window<"u"?window.requestAnimationFrame:()=>{};Et.use=e=>W8=e;Et.now=typeof performance<"u"?()=>performance.now():Date.now;Et.batchedUpdates=e=>e();Et.catch=console.error;Et.frameLoop="always";Et.advance=()=>{Et.frameLoop!=="demand"?console.warn("Cannot call the manual advancement of rafz whilst frameLoop is not set as demand"):AV()};let ec=-1,tc=0,w_=!1;function Bg(e,t){w_?(t.delete(e),e(0)):(t.add(e),EV())}i(Bg,"schedule");function EV(){ec<0&&(ec=0,Et.frameLoop!=="demand"&&W8(RV))}i(EV,"start");function PUe(){ec=-1}i(PUe,"stop");function RV(){~ec&&(W8(RV),Et.batchedUpdates(AV))}i(RV,"loop");function AV(){let e=ec;ec=Et.now();let t=$V(ec);t&&(PV(xd.splice(0,t),n=>n.handler()),tc-=t),I1.flush(),D8.flush(e?Math.min(64,ec-e):16.667),F8.flush(),N8.flush(),B8.flush(),tc||PUe()}i(AV,"update");function Wg(){let e=new Set,t=e;return{add(n){tc+=t==e&&!e.has(n)?1:0,e.add(n)},delete(n){return tc-=t==e&&e.has(n)?1:0,e.delete(n)},flush(n){t.size&&(e=new Set,tc-=t.size,PV(t,r=>r(n)&&e.add(r)),tc+=e.size,t=e)}}}i(Wg,"makeQueue");function PV(e,t){e.forEach(n=>{try{t(n)}catch(r){Et.catch(r)}})}i(PV,"eachSafely");function C_(){}i(C_,"noop$1");const TUe=i((e,t,n)=>Object.defineProperty(e,t,{value:n,writable:!0,configurable:!0}),"defineHidden"),Pe={arr:Array.isArray,obj:e=>!!e&&e.constructor.name==="Object",fun:e=>typeof e=="function",str:e=>typeof e=="string",num:e=>typeof e=="number",und:e=>e===void 0};function Ki(e,t){if(Pe.arr(e)){if(!Pe.arr(t)||e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}return e===t}i(Ki,"isEqual");const _t=i((e,t)=>e.forEach(t),"each");function Pi(e,t,n){if(Pe.arr(e)){for(let r=0;r<e.length;r++)t.call(n,e[r],`${r}`);return}for(const r in e)e.hasOwnProperty(r)&&t.call(n,e[r],r)}i(Pi,"eachProp");const qr=i(e=>Pe.und(e)?[]:Pe.arr(e)?e:[e],"toArray");function Cm(e,t){if(e.size){const n=Array.from(e);e.clear(),_t(n,t)}}i(Cm,"flush");const Zp=i((e,...t)=>Cm(e,n=>n(...t)),"flushCalls"),TV=i(()=>typeof window>"u"||!window.navigator||/ServerSideRendering|^Deno\//.test(window.navigator.userAgent),"isSSR");let U8,MV,dc=null,OV=!1,H8=C_;const MUe=i(e=>{e.to&&(MV=e.to),e.now&&(Et.now=e.now),e.colors!==void 0&&(dc=e.colors),e.skipAnimation!=null&&(OV=e.skipAnimation),e.createStringInterpolator&&(U8=e.createStringInterpolator),e.requestAnimationFrame&&Et.use(e.requestAnimationFrame),e.batchedUpdates&&(Et.batchedUpdates=e.batchedUpdates),e.willAdvance&&(H8=e.willAdvance),e.frameLoop&&(Et.frameLoop=e.frameLoop)},"assign");var Ti=Object.freeze({__proto__:null,get createStringInterpolator(){return U8},get to(){return MV},get colors(){return dc},get skipAnimation(){return OV},get willAdvance(){return H8},assign:MUe});const Sm=new Set;let ao=[],OC=[],t0=0;const L1={get idle(){return!Sm.size&&!ao.length},start(e){t0>e.priority?(Sm.add(e),Et.onStart(OUe)):(zV(e),Et(S_))},advance:S_,sort(e){if(t0)Et.onFrame(()=>L1.sort(e));else{const t=ao.indexOf(e);~t&&(ao.splice(t,1),IV(e))}},clear(){ao=[],Sm.clear()}};function OUe(){Sm.forEach(zV),Sm.clear(),Et(S_)}i(OUe,"flushStartQueue");function zV(e){ao.includes(e)||IV(e)}i(zV,"startSafely");function IV(e){ao.splice(zUe(ao,t=>t.priority>e.priority),0,e)}i(IV,"startUnsafely");function S_(e){const t=OC;for(let n=0;n<ao.length;n++){const r=ao[n];t0=r.priority,r.idle||(H8(r),r.advance(e),r.idle||t.push(r))}return t0=0,OC=ao,OC.length=0,ao=t,ao.length>0}i(S_,"advance");function zUe(e,t){const n=e.findIndex(t);return n<0?e.length:n}i(zUe,"findIndex");const IUe={transparent:0,aliceblue:4042850303,antiquewhite:4209760255,aqua:16777215,aquamarine:2147472639,azure:4043309055,beige:4126530815,bisque:4293182719,black:255,blanchedalmond:4293643775,blue:65535,blueviolet:2318131967,brown:2771004159,burlywood:3736635391,burntsienna:3934150143,cadetblue:1604231423,chartreuse:2147418367,chocolate:3530104575,coral:4286533887,cornflowerblue:1687547391,cornsilk:4294499583,crimson:3692313855,cyan:16777215,darkblue:35839,darkcyan:9145343,darkgoldenrod:3095792639,darkgray:2846468607,darkgreen:6553855,darkgrey:2846468607,darkkhaki:3182914559,darkmagenta:2332068863,darkolivegreen:1433087999,darkorange:4287365375,darkorchid:2570243327,darkred:2332033279,darksalmon:3918953215,darkseagreen:2411499519,darkslateblue:1211993087,darkslategray:793726975,darkslategrey:793726975,darkturquoise:13554175,darkviolet:2483082239,deeppink:4279538687,deepskyblue:12582911,dimgray:1768516095,dimgrey:1768516095,dodgerblue:512819199,firebrick:2988581631,floralwhite:4294635775,forestgreen:579543807,fuchsia:4278255615,gainsboro:3705462015,ghostwhite:4177068031,gold:4292280575,goldenrod:3668254975,gray:2155905279,green:8388863,greenyellow:2919182335,grey:2155905279,honeydew:4043305215,hotpink:4285117695,indianred:3445382399,indigo:1258324735,ivory:4294963455,khaki:4041641215,lavender:3873897215,lavenderblush:4293981695,lawngreen:2096890111,lemonchiffon:4294626815,lightblue:2916673279,lightcoral:4034953471,lightcyan:3774873599,lightgoldenrodyellow:4210742015,lightgray:3553874943,lightgreen:2431553791,lightgrey:3553874943,lightpink:4290167295,lightsalmon:4288707327,lightseagreen:548580095,lightskyblue:2278488831,lightslategray:2005441023,lightslategrey:2005441023,lightsteelblue:2965692159,lightyellow:4294959359,lime:16711935,limegreen:852308735,linen:4210091775,magenta:4278255615,maroon:2147483903,mediumaquamarine:1724754687,mediumblue:52735,mediumorchid:3126187007,mediumpurple:2473647103,mediumseagreen:1018393087,mediumslateblue:2070474495,mediumspringgreen:16423679,mediumturquoise:1221709055,mediumvioletred:3340076543,midnightblue:421097727,mintcream:4127193855,mistyrose:4293190143,moccasin:4293178879,navajowhite:4292783615,navy:33023,oldlace:4260751103,olive:2155872511,olivedrab:1804477439,orange:4289003775,orangered:4282712319,orchid:3664828159,palegoldenrod:4008225535,palegreen:2566625535,paleturquoise:2951671551,palevioletred:3681588223,papayawhip:4293907967,peachpuff:4292524543,peru:3448061951,pink:4290825215,plum:3718307327,powderblue:2967529215,purple:2147516671,rebeccapurple:1714657791,red:4278190335,rosybrown:3163525119,royalblue:1097458175,saddlebrown:2336560127,salmon:4202722047,sandybrown:4104413439,seagreen:780883967,seashell:4294307583,sienna:2689740287,silver:3233857791,skyblue:2278484991,slateblue:1784335871,slategray:1887473919,slategrey:1887473919,snow:4294638335,springgreen:16744447,steelblue:1182971135,tan:3535047935,teal:8421631,thistle:3636451583,tomato:4284696575,turquoise:1088475391,violet:4001558271,wheat:4125012991,white:4294967295,whitesmoke:4126537215,yellow:4294902015,yellowgreen:2597139199},Oo="[-+]?\\d*\\.?\\d+",n0=Oo+"%";function D1(...e){return"\\(\\s*("+e.join(")\\s*,\\s*(")+")\\s*\\)"}i(D1,"call");const LUe=new RegExp("rgb"+D1(Oo,Oo,Oo)),DUe=new RegExp("rgba"+D1(Oo,Oo,Oo,Oo)),NUe=new RegExp("hsl"+D1(Oo,n0,n0)),FUe=new RegExp("hsla"+D1(Oo,n0,n0,Oo)),BUe=/^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,WUe=/^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,UUe=/^#([0-9a-fA-F]{6})$/,HUe=/^#([0-9a-fA-F]{8})$/;function qUe(e){let t;return typeof e=="number"?e>>>0===e&&e>=0&&e<=4294967295?e:null:(t=UUe.exec(e))?parseInt(t[1]+"ff",16)>>>0:dc&&dc[e]!==void 0?dc[e]:(t=LUe.exec(e))?(gu(t[1])<<24|gu(t[2])<<16|gu(t[3])<<8|255)>>>0:(t=DUe.exec(e))?(gu(t[1])<<24|gu(t[2])<<16|gu(t[3])<<8|hI(t[4]))>>>0:(t=BUe.exec(e))?parseInt(t[1]+t[1]+t[2]+t[2]+t[3]+t[3]+"ff",16)>>>0:(t=HUe.exec(e))?parseInt(t[1],16)>>>0:(t=WUe.exec(e))?parseInt(t[1]+t[1]+t[2]+t[2]+t[3]+t[3]+t[4]+t[4],16)>>>0:(t=NUe.exec(e))?(pI(mI(t[1]),$v(t[2]),$v(t[3]))|255)>>>0:(t=FUe.exec(e))?(pI(mI(t[1]),$v(t[2]),$v(t[3]))|hI(t[4]))>>>0:null}i(qUe,"normalizeColor");function zC(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+(t-e)*6*n:n<1/2?t:n<2/3?e+(t-e)*(2/3-n)*6:e}i(zC,"hue2rgb");function pI(e,t,n){const r=n<.5?n*(1+t):n+t-n*t,a=2*n-r,o=zC(a,r,e+1/3),s=zC(a,r,e),c=zC(a,r,e-1/3);return Math.round(o*255)<<24|Math.round(s*255)<<16|Math.round(c*255)<<8}i(pI,"hslToRgb");function gu(e){const t=parseInt(e,10);return t<0?0:t>255?255:t}i(gu,"parse255");function mI(e){return(parseFloat(e)%360+360)%360/360}i(mI,"parse360");function hI(e){const t=parseFloat(e);return t<0?0:t>1?255:Math.round(t*255)}i(hI,"parse1");function $v(e){const t=parseFloat(e);return t<0?0:t>100?1:t/100}i($v,"parsePercentage");function gI(e){let t=qUe(e);if(t===null)return e;t=t||0;let n=(t&4278190080)>>>24,r=(t&16711680)>>>16,a=(t&65280)>>>8,o=(t&255)/255;return`rgba(${n}, ${r}, ${a}, ${o})`}i(gI,"colorToRgba");const fh=i((e,t,n)=>{if(Pe.fun(e))return e;if(Pe.arr(e))return fh({range:e,output:t,extrapolate:n});if(Pe.str(e.output[0]))return U8(e);const r=e,a=r.output,o=r.range||[0,1],s=r.extrapolateLeft||r.extrapolate||"extend",c=r.extrapolateRight||r.extrapolate||"extend",l=r.easing||(u=>u);return u=>{const d=GUe(u,o);return VUe(u,o[d],o[d+1],a[d],a[d+1],l,s,c,r.map)}},"createInterpolator");function VUe(e,t,n,r,a,o,s,c,l){let u=l?l(e):e;if(u<t){if(s==="identity")return u;s==="clamp"&&(u=t)}if(u>n){if(c==="identity")return u;c==="clamp"&&(u=n)}return r===a?r:t===n?e<=t?r:a:(t===-1/0?u=-u:n===1/0?u=u-t:u=(u-t)/(n-t),u=o(u),r===-1/0?u=-u:a===1/0?u=u+r:u=u*(a-r)+r,u)}i(VUe,"interpolate$1");function GUe(e,t){for(var n=1;n<t.length-1&&!(t[n]>=e);++n);return n-1}i(GUe,"findRange");function j_(){return j_=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},j_.apply(this,arguments)}i(j_,"_extends$2");const mf=Symbol.for("FluidValue.get"),Dl=Symbol.for("FluidValue.observers"),ro=i(e=>!!(e&&e[mf]),"hasFluidValue"),oa=i(e=>e&&e[mf]?e[mf]():e,"getFluidValue"),vI=i(e=>e[Dl]||null,"getFluidObservers");function KUe(e,t){e.eventObserved?e.eventObserved(t):e(t)}i(KUe,"callFluidObserver");function ph(e,t){let n=e[Dl];n&&n.forEach(r=>{KUe(r,t)})}i(ph,"callFluidObservers");const yP=class yP{constructor(t){if(this[mf]=void 0,this[Dl]=void 0,!t&&!(t=this.get))throw Error("Unknown getter");JUe(this,t)}};i(yP,"FluidValue");let r0=yP;const JUe=i((e,t)=>LV(e,mf,t),"setFluidGetter");function sp(e,t){if(e[mf]){let n=e[Dl];n||LV(e,Dl,n=new Set),n.has(t)||(n.add(t),e.observerAdded&&e.observerAdded(n.size,t))}return t}i(sp,"addFluidObserver");function mh(e,t){let n=e[Dl];if(n&&n.has(t)){const r=n.size-1;r?n.delete(t):e[Dl]=null,e.observerRemoved&&e.observerRemoved(r,t)}}i(mh,"removeFluidObserver");const LV=i((e,t,n)=>Object.defineProperty(e,t,{value:n,writable:!0,configurable:!0}),"setHidden"),Ay=/[+\-]?(?:0|[1-9]\d*)(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,YUe=/(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\((-?\d+%?[,\s]+){2,3}\s*[\d\.]+%?\))/gi,yI=new RegExp(`(${Ay.source})(%|[a-z]+)`,"i"),QUe=/rgba\(([0-9\.-]+), ([0-9\.-]+), ([0-9\.-]+), ([0-9\.-]+)\)/gi,N1=/var\((--[a-zA-Z0-9-_]+),? ?([a-zA-Z0-9 ()%#.,-]+)?\)/,DV=i(e=>{const[t,n]=XUe(e);if(!t||TV())return e;const r=window.getComputedStyle(document.documentElement).getPropertyValue(t);if(r)return r.trim();if(n&&n.startsWith("--")){const a=window.getComputedStyle(document.documentElement).getPropertyValue(n);return a||e}else{if(n&&N1.test(n))return DV(n);if(n)return n}return e},"variableToRgba"),XUe=i(e=>{const t=N1.exec(e);if(!t)return[,];const[,n,r]=t;return[n,r]},"parseCSSVariable");let IC;const ZUe=i((e,t,n,r,a)=>`rgba(${Math.round(t)}, ${Math.round(n)}, ${Math.round(r)}, ${a})`,"rgbaRound"),NV=i(e=>{IC||(IC=dc?new RegExp(`(${Object.keys(dc).join("|")})(?!\\w)`,"g"):/^\b$/);const t=e.output.map(o=>oa(o).replace(N1,DV).replace(YUe,gI).replace(IC,gI)),n=t.map(o=>o.match(Ay).map(Number)),a=n[0].map((o,s)=>n.map(c=>{if(!(s in c))throw Error('The arity of each "output" value must be equal');return c[s]})).map(o=>fh(j_({},e,{output:o})));return o=>{var s;const c=!yI.test(t[0])&&((s=t.find(u=>yI.test(u)))==null?void 0:s.replace(Ay,""));let l=0;return t[0].replace(Ay,()=>`${a[l++](o)}${c||""}`).replace(QUe,ZUe)}},"createStringInterpolator"),q8="react-spring: ",FV=i(e=>{const t=e;let n=!1;if(typeof t!="function")throw new TypeError(`${q8}once requires a function parameter`);return(...r)=>{n||(t(...r),n=!0)}},"once"),eHe=FV(console.warn);function tHe(){eHe(`${q8}The "interpolate" function is deprecated in v9 (use "to" instead)`)}i(tHe,"deprecateInterpolate");const nHe=FV(console.warn);function rHe(){nHe(`${q8}Directly calling start instead of using the api object is deprecated in v9 (use ".start" instead), this will be removed in later 0.X.0 versions`)}i(rHe,"deprecateDirectCall");function F1(e){return Pe.str(e)&&(e[0]=="#"||/\d/.test(e)||!TV()&&N1.test(e)||e in(dc||{}))}i(F1,"isAnimatedString");const el=typeof window<"u"&&window.document&&window.document.createElement?v.useLayoutEffect:v.useEffect,aHe=i(()=>{const e=v.useRef(!1);return el(()=>(e.current=!0,()=>{e.current=!1}),[]),e},"useIsMounted");function V8(){const e=v.useState()[1],t=aHe();return()=>{t.current&&e(Math.random())}}i(V8,"useForceUpdate");function oHe(e,t){const[n]=v.useState(()=>({inputs:t,result:e()})),r=v.useRef(),a=r.current;let o=a;return o?t&&o.inputs&&iHe(t,o.inputs)||(o={inputs:t,result:e()}):o=n,v.useEffect(()=>{r.current=o,a==n&&(n.inputs=n.result=void 0)},[o]),o.result}i(oHe,"useMemoOne");function iHe(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}i(iHe,"areInputsEqual");const G8=i(e=>v.useEffect(e,sHe),"useOnce"),sHe=[];function __(e){const t=v.useRef();return v.useEffect(()=>{t.current=e}),t.current}i(__,"usePrev");const hh=Symbol.for("Animated:node"),cHe=i(e=>!!e&&e[hh]===e,"isAnimated"),ti=i(e=>e&&e[hh],"getAnimated"),K8=i((e,t)=>TUe(e,hh,t),"setAnimated"),B1=i(e=>e&&e[hh]&&e[hh].getPayload(),"getPayload"),bP=class bP{constructor(){this.payload=void 0,K8(this,this)}getPayload(){return this.payload||[]}};i(bP,"Animated");let a0=bP;const A0=class A0 extends a0{constructor(t){super(),this.done=!0,this.elapsedTime=void 0,this.lastPosition=void 0,this.lastVelocity=void 0,this.v0=void 0,this.durationProgress=0,this._value=t,Pe.num(this._value)&&(this.lastPosition=this._value)}static create(t){return new A0(t)}getPayload(){return[this]}getValue(){return this._value}setValue(t,n){return Pe.num(t)&&(this.lastPosition=t,n&&(t=Math.round(t/n)*n,this.done&&(this.lastPosition=t))),this._value===t?!1:(this._value=t,!0)}reset(){const{done:t}=this;this.done=!1,Pe.num(this._value)&&(this.elapsedTime=0,this.durationProgress=0,this.lastPosition=this._value,t&&(this.lastVelocity=null),this.v0=null)}};i(A0,"AnimatedValue");let hf=A0;const P0=class P0 extends hf{constructor(t){super(0),this._string=null,this._toString=void 0,this._toString=fh({output:[t,t]})}static create(t){return new P0(t)}getValue(){let t=this._string;return t??(this._string=this._toString(this._value))}setValue(t){if(Pe.str(t)){if(t==this._string)return!1;this._string=t,this._value=1}else if(super.setValue(t))this._string=null;else return!1;return!0}reset(t){t&&(this._toString=fh({output:[this.getValue(),t]})),this._value=0,super.reset()}};i(P0,"AnimatedString");let gf=P0;const o0={dependencies:null},xP=class xP extends a0{constructor(t){super(),this.source=t,this.setValue(t)}getValue(t){const n={};return Pi(this.source,(r,a)=>{cHe(r)?n[a]=r.getValue(t):ro(r)?n[a]=oa(r):t||(n[a]=r)}),n}setValue(t){this.source=t,this.payload=this._makePayload(t)}reset(){this.payload&&_t(this.payload,t=>t.reset())}_makePayload(t){if(t){const n=new Set;return Pi(t,this._addToPayload,n),Array.from(n)}}_addToPayload(t){o0.dependencies&&ro(t)&&o0.dependencies.add(t);const n=B1(t);n&&_t(n,r=>this.add(r))}};i(xP,"AnimatedObject");let vf=xP;const T0=class T0 extends vf{constructor(t){super(t)}static create(t){return new T0(t)}getValue(){return this.source.map(t=>t.getValue())}setValue(t){const n=this.getPayload();return t.length==n.length?n.map((r,a)=>r.setValue(t[a])).some(Boolean):(super.setValue(t.map(lHe)),!0)}};i(T0,"AnimatedArray");let k_=T0;function lHe(e){return(F1(e)?gf:hf).create(e)}i(lHe,"makeAnimated");function $_(e){const t=ti(e);return t?t.constructor:Pe.arr(e)?k_:F1(e)?gf:hf}i($_,"getAnimatedType");function i0(){return i0=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i0.apply(this,arguments)}i(i0,"_extends$1");const bI=i((e,t)=>{const n=!Pe.fun(e)||e.prototype&&e.prototype.isReactComponent;return v.forwardRef((r,a)=>{const o=v.useRef(null),s=n&&v.useCallback(h=>{o.current=dHe(a,h)},[a]),[c,l]=uHe(r,t),u=V8(),d=i(()=>{const h=o.current;if(n&&!h)return;(h?t.applyAnimatedValues(h,c.getValue(!0)):!1)===!1&&u()},"callback"),f=new E_(d,l),m=v.useRef();el(()=>(m.current=f,_t(l,h=>sp(h,f)),()=>{m.current&&(_t(m.current.deps,h=>mh(h,m.current)),Et.cancel(m.current.update))})),v.useEffect(d,[]),G8(()=>()=>{const h=m.current;_t(h.deps,y=>mh(y,h))});const g=t.getComponentProps(c.getValue());return v.createElement(e,i0({},g,{ref:s}))})},"withAnimated"),wP=class wP{constructor(t,n){this.update=t,this.deps=n}eventObserved(t){t.type=="change"&&Et.write(this.update)}};i(wP,"PropsObserver");let E_=wP;function uHe(e,t){const n=new Set;return o0.dependencies=n,e.style&&(e=i0({},e,{style:t.createAnimatedStyle(e.style)})),e=new vf(e),o0.dependencies=null,[e,n]}i(uHe,"getAnimatedState");function dHe(e,t){return e&&(Pe.fun(e)?e(t):e.current=t),t}i(dHe,"updateRef");const xI=Symbol.for("AnimatedComponent"),fHe=i((e,{applyAnimatedValues:t=i(()=>!1,"_applyAnimatedValues"),createAnimatedStyle:n=i(a=>new vf(a),"_createAnimatedStyle"),getComponentProps:r=i(a=>a,"_getComponentProps")}={})=>{const a={applyAnimatedValues:t,createAnimatedStyle:n,getComponentProps:r},o=i(s=>{const c=wI(s)||"Anonymous";return Pe.str(s)?s=o[s]||(o[s]=bI(s,a)):s=s[xI]||(s[xI]=bI(s,a)),s.displayName=`Animated(${c})`,s},"animated");return Pi(e,(s,c)=>{Pe.arr(e)&&(c=wI(s)),o[c]=o(s)}),{animated:o}},"createHost"),wI=i(e=>Pe.str(e)?e:e&&Pe.str(e.displayName)?e.displayName:Pe.fun(e)&&e.name||null,"getDisplayName");function zn(){return zn=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},zn.apply(this,arguments)}i(zn,"_extends");function ia(e,...t){return Pe.fun(e)?e(...t):e}i(ia,"callProp");const jm=i((e,t)=>e===!0||!!(t&&e&&(Pe.fun(e)?e(t):qr(e).includes(t))),"matchProp"),BV=i((e,t)=>Pe.obj(e)?t&&e[t]:e,"resolveProp"),WV=i((e,t)=>e.default===!0?e[t]:e.default?e.default[t]:void 0,"getDefaultProp"),pHe=i(e=>e,"noopTransform"),W1=i((e,t=pHe)=>{let n=mHe;e.default&&e.default!==!0&&(e=e.default,n=Object.keys(e));const r={};for(const a of n){const o=t(e[a],a);Pe.und(o)||(r[a]=o)}return r},"getDefaultProps"),mHe=["config","onProps","onStart","onChange","onPause","onResume","onRest"],hHe={config:1,from:1,to:1,ref:1,loop:1,reset:1,pause:1,cancel:1,reverse:1,immediate:1,default:1,delay:1,onProps:1,onStart:1,onChange:1,onPause:1,onResume:1,onRest:1,onResolve:1,items:1,trail:1,sort:1,expires:1,initial:1,enter:1,update:1,leave:1,children:1,onDestroyed:1,keys:1,callId:1,parentId:1};function gHe(e){const t={};let n=0;if(Pi(e,(r,a)=>{hHe[a]||(t[a]=r,n++)}),n)return t}i(gHe,"getForwardProps");function J8(e){const t=gHe(e);if(t){const n={to:t};return Pi(e,(r,a)=>a in t||(n[a]=r)),n}return zn({},e)}i(J8,"inferTo");function gh(e){return e=oa(e),Pe.arr(e)?e.map(gh):F1(e)?Ti.createStringInterpolator({range:[0,1],output:[e,e]})(1):e}i(gh,"computeGoal");function UV(e){for(const t in e)return!0;return!1}i(UV,"hasProps");function R_(e){return Pe.fun(e)||Pe.arr(e)&&Pe.obj(e[0])}i(R_,"isAsyncTo");function A_(e,t){var n;(n=e.ref)==null||n.delete(e),t==null||t.delete(e)}i(A_,"detachRefs");function HV(e,t){if(t&&e.ref!==t){var n;(n=e.ref)==null||n.delete(e),t.add(e),e.ref=t}}i(HV,"replaceRef");const Y8={default:{tension:170,friction:26},gentle:{tension:120,friction:14},wobbly:{tension:180,friction:12},stiff:{tension:210,friction:20},slow:{tension:280,friction:60},molasses:{tension:280,friction:120}},s0=1.70158,Ev=s0*1.525,CI=s0+1,SI=2*Math.PI/3,jI=2*Math.PI/4.5,Rv=i(e=>e<1/2.75?7.5625*e*e:e<2/2.75?7.5625*(e-=1.5/2.75)*e+.75:e<2.5/2.75?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375,"bounceOut"),vHe={linear:e=>e,easeInQuad:e=>e*e,easeOutQuad:e=>1-(1-e)*(1-e),easeInOutQuad:e=>e<.5?2*e*e:1-Math.pow(-2*e+2,2)/2,easeInCubic:e=>e*e*e,easeOutCubic:e=>1-Math.pow(1-e,3),easeInOutCubic:e=>e<.5?4*e*e*e:1-Math.pow(-2*e+2,3)/2,easeInQuart:e=>e*e*e*e,easeOutQuart:e=>1-Math.pow(1-e,4),easeInOutQuart:e=>e<.5?8*e*e*e*e:1-Math.pow(-2*e+2,4)/2,easeInQuint:e=>e*e*e*e*e,easeOutQuint:e=>1-Math.pow(1-e,5),easeInOutQuint:e=>e<.5?16*e*e*e*e*e:1-Math.pow(-2*e+2,5)/2,easeInSine:e=>1-Math.cos(e*Math.PI/2),easeOutSine:e=>Math.sin(e*Math.PI/2),easeInOutSine:e=>-(Math.cos(Math.PI*e)-1)/2,easeInExpo:e=>e===0?0:Math.pow(2,10*e-10),easeOutExpo:e=>e===1?1:1-Math.pow(2,-10*e),easeInOutExpo:e=>e===0?0:e===1?1:e<.5?Math.pow(2,20*e-10)/2:(2-Math.pow(2,-20*e+10))/2,easeInCirc:e=>1-Math.sqrt(1-Math.pow(e,2)),easeOutCirc:e=>Math.sqrt(1-Math.pow(e-1,2)),easeInOutCirc:e=>e<.5?(1-Math.sqrt(1-Math.pow(2*e,2)))/2:(Math.sqrt(1-Math.pow(-2*e+2,2))+1)/2,easeInBack:e=>CI*e*e*e-s0*e*e,easeOutBack:e=>1+CI*Math.pow(e-1,3)+s0*Math.pow(e-1,2),easeInOutBack:e=>e<.5?Math.pow(2*e,2)*((Ev+1)*2*e-Ev)/2:(Math.pow(2*e-2,2)*((Ev+1)*(e*2-2)+Ev)+2)/2,easeInElastic:e=>e===0?0:e===1?1:-Math.pow(2,10*e-10)*Math.sin((e*10-10.75)*SI),easeOutElastic:e=>e===0?0:e===1?1:Math.pow(2,-10*e)*Math.sin((e*10-.75)*SI)+1,easeInOutElastic:e=>e===0?0:e===1?1:e<.5?-(Math.pow(2,20*e-10)*Math.sin((20*e-11.125)*jI))/2:Math.pow(2,-20*e+10)*Math.sin((20*e-11.125)*jI)/2+1,easeInBounce:e=>1-Rv(1-e),easeOutBounce:Rv,easeInOutBounce:e=>e<.5?(1-Rv(1-2*e))/2:(1+Rv(2*e-1))/2},P_=zn({},Y8.default,{mass:1,damping:1,easing:vHe.linear,clamp:!1}),CP=class CP{constructor(){this.tension=void 0,this.friction=void 0,this.frequency=void 0,this.damping=void 0,this.mass=void 0,this.velocity=0,this.restVelocity=void 0,this.precision=void 0,this.progress=void 0,this.duration=void 0,this.easing=void 0,this.clamp=void 0,this.bounce=void 0,this.decay=void 0,this.round=void 0,Object.assign(this,P_)}};i(CP,"AnimationConfig");let T_=CP;function yHe(e,t,n){n&&(n=zn({},n),_I(n,t),t=zn({},n,t)),_I(e,t),Object.assign(e,t);for(const s in P_)e[s]==null&&(e[s]=P_[s]);let{mass:r,frequency:a,damping:o}=e;return Pe.und(a)||(a<.01&&(a=.01),o<0&&(o=0),e.tension=Math.pow(2*Math.PI/a,2)*r,e.friction=4*Math.PI*o*r/a),e}i(yHe,"mergeConfig");function _I(e,t){if(!Pe.und(t.decay))e.duration=void 0;else{const n=!Pe.und(t.tension)||!Pe.und(t.friction);(n||!Pe.und(t.frequency)||!Pe.und(t.damping)||!Pe.und(t.mass))&&(e.duration=void 0,e.decay=void 0),n&&(e.frequency=void 0)}}i(_I,"sanitizeConfig");const kI=[],SP=class SP{constructor(){this.changed=!1,this.values=kI,this.toValues=null,this.fromValues=kI,this.to=void 0,this.from=void 0,this.config=new T_,this.immediate=!1}};i(SP,"Animation");let M_=SP;function qV(e,{key:t,props:n,defaultProps:r,state:a,actions:o}){return new Promise((s,c)=>{var l;let u,d,f=jm((l=n.cancel)!=null?l:r==null?void 0:r.cancel,t);if(f)h();else{Pe.und(n.pause)||(a.paused=jm(n.pause,t));let y=r==null?void 0:r.pause;y!==!0&&(y=a.paused||jm(y,t)),u=ia(n.delay||0,t),y?(a.resumeQueue.add(g),o.pause()):(o.resume(),g())}function m(){a.resumeQueue.add(g),a.timeouts.delete(d),d.cancel(),u=d.time-Et.now()}i(m,"onPause");function g(){u>0&&!Ti.skipAnimation?(a.delayed=!0,d=Et.setTimeout(h,u),a.pauseQueue.add(m),a.timeouts.add(d)):h()}i(g,"onResume");function h(){a.delayed&&(a.delayed=!1),a.pauseQueue.delete(m),a.timeouts.delete(d),e<=(a.cancelId||0)&&(f=!0);try{o.start(zn({},n,{callId:e,cancel:f}),s)}catch(y){c(y)}}i(h,"onStart")})}i(qV,"scheduleProps");const Q8=i((e,t)=>t.length==1?t[0]:t.some(n=>n.cancelled)?wd(e.get()):t.every(n=>n.noop)?VV(e.get()):Po(e.get(),t.every(n=>n.finished)),"getCombinedResult"),VV=i(e=>({value:e,noop:!0,finished:!0,cancelled:!1}),"getNoopResult"),Po=i((e,t,n=!1)=>({value:e,finished:t,cancelled:n}),"getFinishedResult"),wd=i(e=>({value:e,cancelled:!0,finished:!1}),"getCancelledResult");function GV(e,t,n,r){const{callId:a,parentId:o,onRest:s}=t,{asyncTo:c,promise:l}=n;return!o&&e===c&&!t.reset?l:n.promise=(async()=>{n.asyncId=a,n.asyncTo=e;const u=W1(t,(b,x)=>x==="onRest"?void 0:b);let d,f;const m=new Promise((b,x)=>(d=b,f=x)),g=i(b=>{const x=a<=(n.cancelId||0)&&wd(r)||a!==n.asyncId&&Po(r,!1);if(x)throw b.result=x,f(b),b},"bailIfEnded"),h=i((b,x)=>{const w=new c0,C=new l0;return(async()=>{if(Ti.skipAnimation)throw vh(n),C.result=Po(r,!1),f(C),C;g(w);const j=Pe.obj(b)?zn({},b):zn({},x,{to:b});j.parentId=a,Pi(u,(S,k)=>{Pe.und(j[k])&&(j[k]=S)});const _=await r.start(j);return g(w),n.paused&&await new Promise(S=>{n.resumeQueue.add(S)}),_})()},"animate");let y;if(Ti.skipAnimation)return vh(n),Po(r,!1);try{let b;Pe.arr(e)?b=(async x=>{for(const w of x)await h(w)})(e):b=Promise.resolve(e(h,r.stop.bind(r))),await Promise.all([b.then(d),m]),y=Po(r.get(),!0,!1)}catch(b){if(b instanceof c0)y=b.result;else if(b instanceof l0)y=b.result;else throw b}finally{a==n.asyncId&&(n.asyncId=o,n.asyncTo=o?c:void 0,n.promise=o?l:void 0)}return Pe.fun(s)&&Et.batchedUpdates(()=>{s(y,r,r.item)}),y})()}i(GV,"runAsync");function vh(e,t){Cm(e.timeouts,n=>n.cancel()),e.pauseQueue.clear(),e.resumeQueue.clear(),e.asyncId=e.asyncTo=e.promise=void 0,t&&(e.cancelId=t)}i(vh,"stopAsync");const jP=class jP extends Error{constructor(){super("An async animation has been interrupted. You see this error because you forgot to use `await` or `.catch(...)` on its returned promise."),this.result=void 0}};i(jP,"BailSignal");let c0=jP;const _P=class _P extends Error{constructor(){super("SkipAnimationSignal"),this.result=void 0}};i(_P,"SkipAniamtionSignal");let l0=_P;const O_=i(e=>e instanceof yh,"isFrameValue");let bHe=1;const kP=class kP extends r0{constructor(...t){super(...t),this.id=bHe++,this.key=void 0,this._priority=0}get priority(){return this._priority}set priority(t){this._priority!=t&&(this._priority=t,this._onPriorityChange(t))}get(){const t=ti(this);return t&&t.getValue()}to(...t){return Ti.to(this,t)}interpolate(...t){return tHe(),Ti.to(this,t)}toJSON(){return this.get()}observerAdded(t){t==1&&this._attach()}observerRemoved(t){t==0&&this._detach()}_attach(){}_detach(){}_onChange(t,n=!1){ph(this,{type:"change",parent:this,value:t,idle:n})}_onPriorityChange(t){this.idle||L1.sort(this),ph(this,{type:"priority",parent:this,priority:t})}};i(kP,"FrameValue");let yh=kP;const Nl=Symbol.for("SpringPhase"),KV=1,z_=2,I_=4,LC=i(e=>(e[Nl]&KV)>0,"hasAnimated"),Ts=i(e=>(e[Nl]&z_)>0,"isAnimating"),Ip=i(e=>(e[Nl]&I_)>0,"isPaused"),$I=i((e,t)=>t?e[Nl]|=z_|KV:e[Nl]&=~z_,"setActiveBit"),EI=i((e,t)=>t?e[Nl]|=I_:e[Nl]&=~I_,"setPausedBit"),$P=class $P extends yh{constructor(t,n){if(super(),this.key=void 0,this.animation=new M_,this.queue=void 0,this.defaultProps={},this._state={paused:!1,delayed:!1,pauseQueue:new Set,resumeQueue:new Set,timeouts:new Set},this._pendingCalls=new Set,this._lastCallId=0,this._lastToId=0,this._memoizedDuration=0,!Pe.und(t)||!Pe.und(n)){const r=Pe.obj(t)?zn({},t):zn({},n,{from:t});Pe.und(r.default)&&(r.default=!0),this.start(r)}}get idle(){return!(Ts(this)||this._state.asyncTo)||Ip(this)}get goal(){return oa(this.animation.to)}get velocity(){const t=ti(this);return t instanceof hf?t.lastVelocity||0:t.getPayload().map(n=>n.lastVelocity||0)}get hasAnimated(){return LC(this)}get isAnimating(){return Ts(this)}get isPaused(){return Ip(this)}get isDelayed(){return this._state.delayed}advance(t){let n=!0,r=!1;const a=this.animation;let{config:o,toValues:s}=a;const c=B1(a.to);!c&&ro(a.to)&&(s=qr(oa(a.to))),a.values.forEach((d,f)=>{if(d.done)return;const m=d.constructor==gf?1:c?c[f].lastPosition:s[f];let g=a.immediate,h=m;if(!g){if(h=d.lastPosition,o.tension<=0){d.done=!0;return}let y=d.elapsedTime+=t;const b=a.fromValues[f],x=d.v0!=null?d.v0:d.v0=Pe.arr(o.velocity)?o.velocity[f]:o.velocity;let w;if(Pe.und(o.duration))if(o.decay){const C=o.decay===!0?.998:o.decay,j=Math.exp(-(1-C)*y);h=b+x/(1-C)*(1-j),g=Math.abs(d.lastPosition-h)<.1,w=x*j}else{w=d.lastVelocity==null?x:d.lastVelocity;const C=o.precision||(b==m?.005:Math.min(1,Math.abs(m-b)*.001)),j=o.restVelocity||C/10,_=o.clamp?0:o.bounce,S=!Pe.und(_),k=b==m?d.v0>0:b<m;let $,E=!1;const P=1,R=Math.ceil(t/P);for(let T=0;T<R&&($=Math.abs(w)>j,!(!$&&(g=Math.abs(m-h)<=C,g)));++T){S&&(E=h==m||h>m==k,E&&(w=-w*_,h=m));const M=-o.tension*1e-6*(h-m),I=-o.friction*.001*w,z=(M+I)/o.mass;w=w+z*P,h=h+w*P}}else{let C=1;o.duration>0&&(this._memoizedDuration!==o.duration&&(this._memoizedDuration=o.duration,d.durationProgress>0&&(d.elapsedTime=o.duration*d.durationProgress,y=d.elapsedTime+=t)),C=(o.progress||0)+y/this._memoizedDuration,C=C>1?1:C<0?0:C,d.durationProgress=C),h=b+o.easing(C)*(m-b),w=(h-d.lastPosition)/t,g=C==1}d.lastVelocity=w,Number.isNaN(h)&&(console.warn("Got NaN while animating:",this),g=!0)}c&&!c[f].done&&(g=!1),g?d.done=!0:n=!1,d.setValue(h,o.round)&&(r=!0)});const l=ti(this),u=l.getValue();if(n){const d=oa(a.to);(u!==d||r)&&!o.decay?(l.setValue(d),this._onChange(d)):r&&o.decay&&this._onChange(u),this._stop()}else r&&this._onChange(u)}set(t){return Et.batchedUpdates(()=>{this._stop(),this._focus(t),this._set(t)}),this}pause(){this._update({pause:!0})}resume(){this._update({pause:!1})}finish(){if(Ts(this)){const{to:t,config:n}=this.animation;Et.batchedUpdates(()=>{this._onStart(),n.decay||this._set(t,!1),this._stop()})}return this}update(t){return(this.queue||(this.queue=[])).push(t),this}start(t,n){let r;return Pe.und(t)?(r=this.queue||[],this.queue=[]):r=[Pe.obj(t)?t:zn({},n,{to:t})],Promise.all(r.map(a=>this._update(a))).then(a=>Q8(this,a))}stop(t){const{to:n}=this.animation;return this._focus(this.get()),vh(this._state,t&&this._lastCallId),Et.batchedUpdates(()=>this._stop(n,t)),this}reset(){this._update({reset:!0})}eventObserved(t){t.type=="change"?this._start():t.type=="priority"&&(this.priority=t.priority+1)}_prepareNode(t){const n=this.key||"";let{to:r,from:a}=t;r=Pe.obj(r)?r[n]:r,(r==null||R_(r))&&(r=void 0),a=Pe.obj(a)?a[n]:a,a==null&&(a=void 0);const o={to:r,from:a};return LC(this)||(t.reverse&&([r,a]=[a,r]),a=oa(a),Pe.und(a)?ti(this)||this._set(r):this._set(a)),o}_update(t,n){let r=zn({},t);const{key:a,defaultProps:o}=this;r.default&&Object.assign(o,W1(r,(l,u)=>/^on/.test(u)?BV(l,a):l)),AI(this,r,"onProps"),Dp(this,"onProps",r,this);const s=this._prepareNode(r);if(Object.isFrozen(this))throw Error("Cannot animate a `SpringValue` object that is frozen. Did you forget to pass your component to `animated(...)` before animating its props?");const c=this._state;return qV(++this._lastCallId,{key:a,props:r,defaultProps:o,state:c,actions:{pause:()=>{Ip(this)||(EI(this,!0),Zp(c.pauseQueue),Dp(this,"onPause",Po(this,Lp(this,this.animation.to)),this))},resume:()=>{Ip(this)&&(EI(this,!1),Ts(this)&&this._resume(),Zp(c.resumeQueue),Dp(this,"onResume",Po(this,Lp(this,this.animation.to)),this))},start:this._merge.bind(this,s)}}).then(l=>{if(r.loop&&l.finished&&!(n&&l.noop)){const u=JV(r);if(u)return this._update(u,!0)}return l})}_merge(t,n,r){if(n.cancel)return this.stop(!0),r(wd(this));const a=!Pe.und(t.to),o=!Pe.und(t.from);if(a||o)if(n.callId>this._lastToId)this._lastToId=n.callId;else return r(wd(this));const{key:s,defaultProps:c,animation:l}=this,{to:u,from:d}=l;let{to:f=u,from:m=d}=t;o&&!a&&(!n.default||Pe.und(f))&&(f=m),n.reverse&&([f,m]=[m,f]);const g=!Ki(m,d);g&&(l.from=m),m=oa(m);const h=!Ki(f,u);h&&this._focus(f);const y=R_(n.to),{config:b}=l,{decay:x,velocity:w}=b;(a||o)&&(b.velocity=0),n.config&&!y&&yHe(b,ia(n.config,s),n.config!==c.config?ia(c.config,s):void 0);let C=ti(this);if(!C||Pe.und(f))return r(Po(this,!0));const j=Pe.und(n.reset)?o&&!n.default:!Pe.und(m)&&jm(n.reset,s),_=j?m:this.get(),S=gh(f),k=Pe.num(S)||Pe.arr(S)||F1(S),$=!y&&(!k||jm(c.immediate||n.immediate,s));if(h){const T=$_(f);if(T!==C.constructor)if($)C=this._set(S);else throw Error(`Cannot animate between ${C.constructor.name} and ${T.name}, as the "to" prop suggests`)}const E=C.constructor;let P=ro(f),R=!1;if(!P){const T=j||!LC(this)&&g;(h||T)&&(R=Ki(gh(_),S),P=!R),(!Ki(l.immediate,$)&&!$||!Ki(b.decay,x)||!Ki(b.velocity,w))&&(P=!0)}if(R&&Ts(this)&&(l.changed&&!j?P=!0:P||this._stop(u)),!y&&((P||ro(u))&&(l.values=C.getPayload(),l.toValues=ro(f)?null:E==gf?[1]:qr(S)),l.immediate!=$&&(l.immediate=$,!$&&!j&&this._set(u)),P)){const{onRest:T}=l;_t(wHe,I=>AI(this,n,I));const M=Po(this,Lp(this,u));Zp(this._pendingCalls,M),this._pendingCalls.add(r),l.changed&&Et.batchedUpdates(()=>{l.changed=!j,T==null||T(M,this),j?ia(c.onRest,M):l.onStart==null||l.onStart(M,this)})}j&&this._set(_),y?r(GV(n.to,n,this._state,this)):P?this._start():Ts(this)&&!h?this._pendingCalls.add(r):r(VV(_))}_focus(t){const n=this.animation;t!==n.to&&(vI(this)&&this._detach(),n.to=t,vI(this)&&this._attach())}_attach(){let t=0;const{to:n}=this.animation;ro(n)&&(sp(n,this),O_(n)&&(t=n.priority+1)),this.priority=t}_detach(){const{to:t}=this.animation;ro(t)&&mh(t,this)}_set(t,n=!0){const r=oa(t);if(!Pe.und(r)){const a=ti(this);if(!a||!Ki(r,a.getValue())){const o=$_(r);!a||a.constructor!=o?K8(this,o.create(r)):a.setValue(r),a&&Et.batchedUpdates(()=>{this._onChange(r,n)})}}return ti(this)}_onStart(){const t=this.animation;t.changed||(t.changed=!0,Dp(this,"onStart",Po(this,Lp(this,t.to)),this))}_onChange(t,n){n||(this._onStart(),ia(this.animation.onChange,t,this)),ia(this.defaultProps.onChange,t,this),super._onChange(t,n)}_start(){const t=this.animation;ti(this).reset(oa(t.to)),t.immediate||(t.fromValues=t.values.map(n=>n.lastPosition)),Ts(this)||($I(this,!0),Ip(this)||this._resume())}_resume(){Ti.skipAnimation?this.finish():L1.start(this)}_stop(t,n){if(Ts(this)){$I(this,!1);const r=this.animation;_t(r.values,o=>{o.done=!0}),r.toValues&&(r.onChange=r.onPause=r.onResume=void 0),ph(this,{type:"idle",parent:this});const a=n?wd(this.get()):Po(this.get(),Lp(this,t??r.to));Zp(this._pendingCalls,a),r.changed&&(r.changed=!1,Dp(this,"onRest",a,this))}}};i($P,"SpringValue");let L_=$P;function Lp(e,t){const n=gh(t),r=gh(e.get());return Ki(r,n)}i(Lp,"checkFinished");function JV(e,t=e.loop,n=e.to){let r=ia(t);if(r){const a=r!==!0&&J8(r),o=(a||e).reverse,s=!a||a.reset;return bh(zn({},e,{loop:t,default:!1,pause:void 0,to:!o||R_(n)?n:void 0,from:s?e.from:void 0,reset:s},a))}}i(JV,"createLoopUpdate");function bh(e){const{to:t,from:n}=e=J8(e),r=new Set;return Pe.obj(t)&&RI(t,r),Pe.obj(n)&&RI(n,r),e.keys=r.size?Array.from(r):null,e}i(bh,"createUpdate");function xHe(e){const t=bh(e);return Pe.und(t.default)&&(t.default=W1(t)),t}i(xHe,"declareUpdate");function RI(e,t){Pi(e,(n,r)=>n!=null&&t.add(r))}i(RI,"findDefined");const wHe=["onStart","onRest","onChange","onPause","onResume"];function AI(e,t,n){e.animation[n]=t[n]!==WV(t,n)?BV(t[n],e.key):void 0}i(AI,"mergeActiveFn");function Dp(e,t,...n){var r,a,o,s;(r=(a=e.animation)[t])==null||r.call(a,...n),(o=(s=e.defaultProps)[t])==null||o.call(s,...n)}i(Dp,"sendEvent");const CHe=["onStart","onChange","onRest"];let SHe=1;const EP=class EP{constructor(t,n){this.id=SHe++,this.springs={},this.queue=[],this.ref=void 0,this._flush=void 0,this._initialProps=void 0,this._lastAsyncId=0,this._active=new Set,this._changed=new Set,this._started=!1,this._item=void 0,this._state={paused:!1,pauseQueue:new Set,resumeQueue:new Set,timeouts:new Set},this._events={onStart:new Map,onChange:new Map,onRest:new Map},this._onFrame=this._onFrame.bind(this),n&&(this._flush=n),t&&this.start(zn({default:!0},t))}get idle(){return!this._state.asyncTo&&Object.values(this.springs).every(t=>t.idle&&!t.isDelayed&&!t.isPaused)}get item(){return this._item}set item(t){this._item=t}get(){const t={};return this.each((n,r)=>t[r]=n.get()),t}set(t){for(const n in t){const r=t[n];Pe.und(r)||this.springs[n].set(r)}}update(t){return t&&this.queue.push(bh(t)),this}start(t){let{queue:n}=this;return t?n=qr(t).map(bh):this.queue=[],this._flush?this._flush(this,n):(eG(this,n),D_(this,n))}stop(t,n){if(t!==!!t&&(n=t),n){const r=this.springs;_t(qr(n),a=>r[a].stop(!!t))}else vh(this._state,this._lastAsyncId),this.each(r=>r.stop(!!t));return this}pause(t){if(Pe.und(t))this.start({pause:!0});else{const n=this.springs;_t(qr(t),r=>n[r].pause())}return this}resume(t){if(Pe.und(t))this.start({pause:!1});else{const n=this.springs;_t(qr(t),r=>n[r].resume())}return this}each(t){Pi(this.springs,t)}_onFrame(){const{onStart:t,onChange:n,onRest:r}=this._events,a=this._active.size>0,o=this._changed.size>0;(a&&!this._started||o&&!this._started)&&(this._started=!0,Cm(t,([l,u])=>{u.value=this.get(),l(u,this,this._item)}));const s=!a&&this._started,c=o||s&&r.size?this.get():null;o&&n.size&&Cm(n,([l,u])=>{u.value=c,l(u,this,this._item)}),s&&(this._started=!1,Cm(r,([l,u])=>{u.value=c,l(u,this,this._item)}))}eventObserved(t){if(t.type=="change")this._changed.add(t.parent),t.idle||this._active.add(t.parent);else if(t.type=="idle")this._active.delete(t.parent);else return;Et.onFrame(this._onFrame)}};i(EP,"Controller");let u0=EP;function D_(e,t){return Promise.all(t.map(n=>YV(e,n))).then(n=>Q8(e,n))}i(D_,"flushUpdateQueue");async function YV(e,t,n){const{keys:r,to:a,from:o,loop:s,onRest:c,onResolve:l}=t,u=Pe.obj(t.default)&&t.default;s&&(t.loop=!1),a===!1&&(t.to=null),o===!1&&(t.from=null);const d=Pe.arr(a)||Pe.fun(a)?a:void 0;d?(t.to=void 0,t.onRest=void 0,u&&(u.onRest=void 0)):_t(CHe,y=>{const b=t[y];if(Pe.fun(b)){const x=e._events[y];t[y]=({finished:w,cancelled:C})=>{const j=x.get(b);j?(w||(j.finished=!1),C&&(j.cancelled=!0)):x.set(b,{value:null,finished:w||!1,cancelled:C||!1})},u&&(u[y]=t[y])}});const f=e._state;t.pause===!f.paused?(f.paused=t.pause,Zp(t.pause?f.pauseQueue:f.resumeQueue)):f.paused&&(t.pause=!0);const m=(r||Object.keys(e.springs)).map(y=>e.springs[y].start(t)),g=t.cancel===!0||WV(t,"cancel")===!0;(d||g&&f.asyncId)&&m.push(qV(++e._lastAsyncId,{props:t,state:f,actions:{pause:C_,resume:C_,start(y,b){g?(vh(f,e._lastAsyncId),b(wd(e))):(y.onRest=c,b(GV(d,y,f,e)))}}})),f.paused&&await new Promise(y=>{f.resumeQueue.add(y)});const h=Q8(e,await Promise.all(m));if(s&&h.finished&&!(n&&h.noop)){const y=JV(t,s,a);if(y)return eG(e,[y]),YV(e,y,!0)}return l&&Et.batchedUpdates(()=>l(h,e,e.item)),h}i(YV,"flushUpdate");function N_(e,t){const n=zn({},e.springs);return t&&_t(qr(t),r=>{Pe.und(r.keys)&&(r=bh(r)),Pe.obj(r.to)||(r=zn({},r,{to:void 0})),ZV(n,r,a=>XV(a))}),QV(e,n),n}i(N_,"getSprings");function QV(e,t){Pi(t,(n,r)=>{e.springs[r]||(e.springs[r]=n,sp(n,e))})}i(QV,"setSprings");function XV(e,t){const n=new L_;return n.key=e,t&&sp(n,t),n}i(XV,"createSpring");function ZV(e,t,n){t.keys&&_t(t.keys,r=>{(e[r]||(e[r]=n(r)))._prepareNode(t)})}i(ZV,"prepareSprings");function eG(e,t){_t(t,n=>{ZV(e.springs,n,r=>XV(r,e))})}i(eG,"prepareKeys");function jHe(e,t){if(e==null)return{};var n={},r=Object.keys(e),a,o;for(o=0;o<r.length;o++)a=r[o],!(t.indexOf(a)>=0)&&(n[a]=e[a]);return n}i(jHe,"_objectWithoutPropertiesLoose$1");const _He=["children"],Ug=i(e=>{let{children:t}=e,n=jHe(e,_He);const r=v.useContext(d0),a=n.pause||!!r.pause,o=n.immediate||!!r.immediate;n=oHe(()=>({pause:a,immediate:o}),[a,o]);const{Provider:s}=d0;return v.createElement(s,{value:n},t)},"SpringContext"),d0=kHe(Ug,{});Ug.Provider=d0.Provider;Ug.Consumer=d0.Consumer;function kHe(e,t){return Object.assign(e,v.createContext(t)),e.Provider._context=e,e.Consumer._context=e,e}i(kHe,"makeContext");const tG=i(()=>{const e=[],t=i(function(a){rHe();const o=[];return _t(e,(s,c)=>{if(Pe.und(a))o.push(s.start());else{const l=n(a,s,c);l&&o.push(s.start(l))}}),o},"SpringRef");t.current=e,t.add=function(r){e.includes(r)||e.push(r)},t.delete=function(r){const a=e.indexOf(r);~a&&e.splice(a,1)},t.pause=function(){return _t(e,r=>r.pause(...arguments)),this},t.resume=function(){return _t(e,r=>r.resume(...arguments)),this},t.set=function(r){_t(e,a=>a.set(r))},t.start=function(r){const a=[];return _t(e,(o,s)=>{if(Pe.und(r))a.push(o.start());else{const c=this._getProps(r,o,s);c&&a.push(o.start(c))}}),a},t.stop=function(){return _t(e,r=>r.stop(...arguments)),this},t.update=function(r){return _t(e,(a,o)=>a.update(this._getProps(r,a,o))),this};const n=i(function(a,o,s){return Pe.fun(a)?a(s,o):a},"_getProps");return t._getProps=n,t},"SpringRef");function $He(e,t,n){const r=Pe.fun(t)&&t;r&&!n&&(n=[]);const a=v.useMemo(()=>r||arguments.length==3?tG():void 0,[]),o=v.useRef(0),s=V8(),c=v.useMemo(()=>({ctrls:[],queue:[],flush(x,w){const C=N_(x,w);return o.current>0&&!c.queue.length&&!Object.keys(C).some(_=>!x.springs[_])?D_(x,w):new Promise(_=>{QV(x,C),c.queue.push(()=>{_(D_(x,w))}),s()})}}),[]),l=v.useRef([...c.ctrls]),u=[],d=__(e)||0;v.useMemo(()=>{_t(l.current.slice(e,d),x=>{A_(x,a),x.stop(!0)}),l.current.length=e,f(d,e)},[e]),v.useMemo(()=>{f(0,Math.min(d,e))},n);function f(x,w){for(let C=x;C<w;C++){const j=l.current[C]||(l.current[C]=new u0(null,c.flush)),_=r?r(C,j):t[C];_&&(u[C]=xHe(_))}}i(f,"declareUpdates");const m=l.current.map((x,w)=>N_(x,u[w])),g=v.useContext(Ug),h=__(g),y=g!==h&&UV(g);el(()=>{o.current++,c.ctrls=l.current;const{queue:x}=c;x.length&&(c.queue=[],_t(x,w=>w())),_t(l.current,(w,C)=>{a==null||a.add(w),y&&w.start({default:g});const j=u[C];j&&(HV(w,j.ref),w.ref?w.queue.push(j):w.start(j))})}),G8(()=>()=>{_t(c.ctrls,x=>x.stop(!0))});const b=m.map(x=>zn({},x));return a?[b,a]:b}i($He,"useSprings");function Es(e,t){const n=Pe.fun(e),[[r],a]=$He(1,n?e:[e],n?t||[]:t);return n||arguments.length==2?[r,a]:r}i(Es,"useSpring");let Nr;(function(e){e.MOUNT="mount",e.ENTER="enter",e.UPDATE="update",e.LEAVE="leave"})(Nr||(Nr={}));function X8(e,t,n){const r=Pe.fun(t)&&t,{reset:a,sort:o,trail:s=0,expires:c=!0,exitBeforeEnter:l=!1,onDestroyed:u,ref:d,config:f}=r?r():t,m=v.useMemo(()=>r||arguments.length==3?tG():void 0,[]),g=qr(e),h=[],y=v.useRef(null),b=a?null:y.current;el(()=>{y.current=h}),G8(()=>(_t(y.current,I=>{var z;(z=I.ctrl.ref)==null||z.add(I.ctrl);const H=k.get(I);H&&I.ctrl.start(H.payload)}),()=>{_t(y.current,I=>{I.expired&&clearTimeout(I.expirationId),A_(I.ctrl,m),I.ctrl.stop(!0)})}));const x=RHe(g,r?r():t,b),w=a&&y.current||[];el(()=>_t(w,({ctrl:I,item:z,key:H})=>{A_(I,m),ia(u,z,H)}));const C=[];if(b&&_t(b,(I,z)=>{I.expired?(clearTimeout(I.expirationId),w.push(I)):(z=C[z]=x.indexOf(I.key),~z&&(h[z]=I))}),_t(g,(I,z)=>{h[z]||(h[z]={key:x[z],item:I,phase:Nr.MOUNT,ctrl:new u0},h[z].ctrl.item=I)}),C.length){let I=-1;const{leave:z}=r?r():t;_t(C,(H,F)=>{const L=b[F];~H?(I=h.indexOf(L),h[I]=zn({},L,{item:g[H]})):z&&h.splice(++I,0,L)})}Pe.fun(o)&&h.sort((I,z)=>o(I.item,z.item));let j=-s;const _=V8(),S=W1(t),k=new Map,$=v.useRef(new Map),E=v.useRef(!1);_t(h,(I,z)=>{const H=I.key,F=I.phase,L=r?r():t;let B,K,se=ia(L.delay||0,H);if(F==Nr.MOUNT)B=L.enter,K=Nr.ENTER;else{const V=x.indexOf(H)<0;if(F!=Nr.LEAVE)if(V)B=L.leave,K=Nr.LEAVE;else if(B=L.update)K=Nr.UPDATE;else return;else if(!V)B=L.enter,K=Nr.ENTER;else return}if(B=ia(B,I.item,z),B=Pe.obj(B)?J8(B):{to:B},!B.config){const V=f||S.config;B.config=ia(V,I.item,z,K)}j+=s;const ue=zn({},S,{delay:se+j,ref:d,immediate:L.immediate,reset:!1},B);if(K==Nr.ENTER&&Pe.und(ue.from)){const V=r?r():t,q=Pe.und(V.initial)||b?V.from:V.initial;ue.from=ia(q,I.item,z)}const{onResolve:_e}=ue;ue.onResolve=V=>{ia(_e,V);const q=y.current,Y=q.find(O=>O.key===H);if(Y&&!(V.cancelled&&Y.phase!=Nr.UPDATE)&&Y.ctrl.idle){const O=q.every(D=>D.ctrl.idle);if(Y.phase==Nr.LEAVE){const D=ia(c,Y.item);if(D!==!1){const Z=D===!0?0:D;if(Y.expired=!0,!O&&Z>0){Z<=2147483647&&(Y.expirationId=setTimeout(_,Z));return}}}O&&q.some(D=>D.expired)&&($.current.delete(Y),l&&(E.current=!0),_())}};const le=N_(I.ctrl,ue);K===Nr.LEAVE&&l?$.current.set(I,{phase:K,springs:le,payload:ue}):k.set(I,{phase:K,springs:le,payload:ue})});const P=v.useContext(Ug),R=__(P),T=P!==R&&UV(P);el(()=>{T&&_t(h,I=>{I.ctrl.start({default:P})})},[P]),_t(k,(I,z)=>{if($.current.size){const H=h.findIndex(F=>F.key===z.key);h.splice(H,1)}}),el(()=>{_t($.current.size?$.current:k,({phase:I,payload:z},H)=>{const{ctrl:F}=H;H.phase=I,m==null||m.add(F),T&&I==Nr.ENTER&&F.start({default:P}),z&&(HV(F,z.ref),F.ref&&!E.current?F.update(z):(F.start(z),E.current&&(E.current=!1)))})},a?void 0:n);const M=i(I=>v.createElement(v.Fragment,null,h.map((z,H)=>{const{springs:F}=k.get(z)||z.ctrl,L=I(zn({},F),z.item,z,H);return L&&L.type?v.createElement(L.type,zn({},L.props,{key:Pe.str(z.key)||Pe.num(z.key)?z.key:z.ctrl.id,ref:L.ref})):L})),"renderTransitions");return m?[M,m]:M}i(X8,"useTransition");let EHe=1;function RHe(e,{key:t,keys:n=t},r){if(n===null){const a=new Set;return e.map(o=>{const s=r&&r.find(c=>c.item===o&&c.phase!==Nr.LEAVE&&!a.has(c));return s?(a.add(s),s.key):EHe++})}return Pe.und(n)?e:Pe.fun(n)?e.map(n):qr(n)}i(RHe,"getKeys");const RP=class RP extends yh{constructor(t,n){super(),this.key=void 0,this.idle=!0,this.calc=void 0,this._active=new Set,this.source=t,this.calc=fh(...n);const r=this._get(),a=$_(r);K8(this,a.create(r))}advance(t){const n=this._get(),r=this.get();Ki(n,r)||(ti(this).setValue(n),this._onChange(n,this.idle)),!this.idle&&PI(this._active)&&DC(this)}_get(){const t=Pe.arr(this.source)?this.source.map(oa):qr(oa(this.source));return this.calc(...t)}_start(){this.idle&&!PI(this._active)&&(this.idle=!1,_t(B1(this),t=>{t.done=!1}),Ti.skipAnimation?(Et.batchedUpdates(()=>this.advance()),DC(this)):L1.start(this))}_attach(){let t=1;_t(qr(this.source),n=>{ro(n)&&sp(n,this),O_(n)&&(n.idle||this._active.add(n),t=Math.max(t,n.priority+1))}),this.priority=t,this._start()}_detach(){_t(qr(this.source),t=>{ro(t)&&mh(t,this)}),this._active.clear(),DC(this)}eventObserved(t){t.type=="change"?t.idle?this.advance():(this._active.add(t.parent),this._start()):t.type=="idle"?this._active.delete(t.parent):t.type=="priority"&&(this.priority=qr(this.source).reduce((n,r)=>Math.max(n,(O_(r)?r.priority:0)+1),0))}};i(RP,"Interpolation");let f0=RP;function AHe(e){return e.idle!==!1}i(AHe,"isIdle");function PI(e){return!e.size||Array.from(e).every(AHe)}i(PI,"checkIdle");function DC(e){e.idle||(e.idle=!0,_t(B1(e),t=>{t.done=!0}),ph(e,{type:"idle",parent:e}))}i(DC,"becomeIdle");const F_=i((e,...t)=>new f0(e,t),"to");Ti.assign({createStringInterpolator:NV,to:(e,t)=>new f0(e,t)});function Z8(e,t){if(e==null)return{};var n={},r=Object.keys(e),a,o;for(o=0;o<r.length;o++)a=r[o],!(t.indexOf(a)>=0)&&(n[a]=e[a]);return n}i(Z8,"_objectWithoutPropertiesLoose");const PHe=["style","children","scrollTop","scrollLeft"],nG=/^--/;function THe(e,t){return t==null||typeof t=="boolean"||t===""?"":typeof t=="number"&&t!==0&&!nG.test(e)&&!(_m.hasOwnProperty(e)&&_m[e])?t+"px":(""+t).trim()}i(THe,"dangerousStyleValue");const TI={};function MHe(e,t){if(!e.nodeType||!e.setAttribute)return!1;const n=e.nodeName==="filter"||e.parentNode&&e.parentNode.nodeName==="filter",r=t,{style:a,children:o,scrollTop:s,scrollLeft:c}=r,l=Z8(r,PHe),u=Object.values(l),d=Object.keys(l).map(f=>n||e.hasAttribute(f)?f:TI[f]||(TI[f]=f.replace(/([A-Z])/g,m=>"-"+m.toLowerCase())));o!==void 0&&(e.textContent=o);for(let f in a)if(a.hasOwnProperty(f)){const m=THe(f,a[f]);nG.test(f)?e.style.setProperty(f,m):e.style[f]=m}d.forEach((f,m)=>{e.setAttribute(f,u[m])}),s!==void 0&&(e.scrollTop=s),c!==void 0&&(e.scrollLeft=c)}i(MHe,"applyAnimatedValues");let _m={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0};const OHe=i((e,t)=>e+t.charAt(0).toUpperCase()+t.substring(1),"prefixKey"),zHe=["Webkit","Ms","Moz","O"];_m=Object.keys(_m).reduce((e,t)=>(zHe.forEach(n=>e[OHe(n,t)]=e[t]),e),_m);const IHe=["x","y","z"],LHe=/^(matrix|translate|scale|rotate|skew)/,DHe=/^(translate)/,NHe=/^(rotate|skew)/,NC=i((e,t)=>Pe.num(e)&&e!==0?e+t:e,"addUnit"),Py=i((e,t)=>Pe.arr(e)?e.every(n=>Py(n,t)):Pe.num(e)?e===t:parseFloat(e)===t,"isValueIdentity"),AP=class AP extends vf{constructor(t){let{x:n,y:r,z:a}=t,o=Z8(t,IHe);const s=[],c=[];(n||r||a)&&(s.push([n||0,r||0,a||0]),c.push(l=>[`translate3d(${l.map(u=>NC(u,"px")).join(",")})`,Py(l,0)])),Pi(o,(l,u)=>{if(u==="transform")s.push([l||""]),c.push(d=>[d,d===""]);else if(LHe.test(u)){if(delete o[u],Pe.und(l))return;const d=DHe.test(u)?"px":NHe.test(u)?"deg":"";s.push(qr(l)),c.push(u==="rotate3d"?([f,m,g,h])=>[`rotate3d(${f},${m},${g},${NC(h,d)})`,Py(h,0)]:f=>[`${u}(${f.map(m=>NC(m,d)).join(",")})`,Py(f,u.startsWith("scale")?1:0)])}}),s.length&&(o.transform=new W_(s,c)),super(o)}};i(AP,"AnimatedStyle");let B_=AP;const PP=class PP extends r0{constructor(t,n){super(),this._value=null,this.inputs=t,this.transforms=n}get(){return this._value||(this._value=this._get())}_get(){let t="",n=!0;return _t(this.inputs,(r,a)=>{const o=oa(r[0]),[s,c]=this.transforms[a](Pe.arr(o)?o:r.map(oa));t+=" "+s,n=n&&c}),n?"none":t}observerAdded(t){t==1&&_t(this.inputs,n=>_t(n,r=>ro(r)&&sp(r,this)))}observerRemoved(t){t==0&&_t(this.inputs,n=>_t(n,r=>ro(r)&&mh(r,this)))}eventObserved(t){t.type=="change"&&(this._value=null),ph(this,t)}};i(PP,"FluidTransform");let W_=PP;const FHe=["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","big","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr","circle","clipPath","defs","ellipse","foreignObject","g","image","line","linearGradient","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","svg","text","tspan"],BHe=["scrollTop","scrollLeft"];Ti.assign({batchedUpdates:Rf.unstable_batchedUpdates,createStringInterpolator:NV,colors:IUe});const WHe=fHe(FHe,{applyAnimatedValues:MHe,createAnimatedStyle:e=>new B_(e),getComponentProps:e=>Z8(e,BHe)}),nr=WHe.animated;function Fl(){return Fl=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Fl.apply(this,arguments)}i(Fl,"v$4");var UHe={pointerEvents:"none",position:"absolute",zIndex:10,top:0,left:0},MI=i(function(e,t){return"translate("+e+"px, "+t+"px)"},"m$1"),rG=v.memo(function(e){var t,n=e.position,r=e.anchor,a=e.children,o=ur(),s=Ko(),c=s.animate,l=s.config,u=yK(),d=u[0],f=u[1],m=v.useRef(!1),g=void 0,h=!1,y=f.width>0&&f.height>0,b=Math.round(n[0]),x=Math.round(n[1]);y&&(r==="top"?(b-=f.width/2,x-=f.height+14):r==="right"?(b+=14,x-=f.height/2):r==="bottom"?(b-=f.width/2,x+=14):r==="left"?(b-=f.width+14,x-=f.height/2):r==="center"&&(b-=f.width/2,x-=f.height/2),g={transform:MI(b,x)},m.current||(h=!0),m.current=[b,x]);var w=Es({to:g,config:l,immediate:!c||h}),C=Fl({},UHe,o.tooltip,{transform:(t=w.transform)!=null?t:MI(b,x)});return p.jsx(nr.div,{ref:d,style:C,children:a})});rG.displayName="TooltipWrapper";var HHe=v.memo(function(e){var t=e.size,n=t===void 0?12:t,r=e.color,a=e.style;return p.jsx("span",{style:Fl({display:"block",width:n,height:n,background:r},a===void 0?{}:a)})}),qHe=v.memo(function(e){var t,n=e.id,r=e.value,a=e.format,o=e.enableChip,s=o!==void 0&&o,c=e.color,l=e.renderContent,u=ur(),d=bK(a);if(typeof l=="function")t=l();else{var f=r;d!==void 0&&f!==void 0&&(f=d(f)),t=p.jsxs("div",{style:u.tooltip.basic,children:[s&&p.jsx(HHe,{color:c,style:u.tooltip.chip}),f!==void 0?p.jsxs("span",{children:[n,": ",p.jsx("strong",{children:""+f})]}):n]})}return p.jsx("div",{style:u.tooltip.container,children:t})}),VHe={width:"100%",borderCollapse:"collapse"},GHe=v.memo(function(e){var t,n=e.title,r=e.rows,a=r===void 0?[]:r,o=e.renderContent,s=ur();return a.length?(t=typeof o=="function"?o():p.jsxs("div",{children:[n&&n,p.jsx("table",{style:Fl({},VHe,s.tooltip.table),children:p.jsx("tbody",{children:a.map(function(c,l){return p.jsx("tr",{children:c.map(function(u,d){return p.jsx("td",{style:s.tooltip.tableCell,children:u},d)})},l)})})})]}),p.jsx("div",{style:s.tooltip.container,children:t})):null});GHe.displayName="TableTooltip";var U_=v.memo(function(e){var t=e.x0,n=e.x1,r=e.y0,a=e.y1,o=ur(),s=Ko(),c=s.animate,l=s.config,u=v.useMemo(function(){return Fl({},o.crosshair.line,{pointerEvents:"none"})},[o.crosshair.line]),d=Es({x1:t,x2:n,y1:r,y2:a,config:l,immediate:!c});return p.jsx(nr.line,Fl({},d,{fill:"none",style:u}))});U_.displayName="CrosshairLine";var KHe=v.memo(function(e){var t,n,r=e.width,a=e.height,o=e.type,s=e.x,c=e.y;return o==="cross"?(t={x0:s,x1:s,y0:0,y1:a},n={x0:0,x1:r,y0:c,y1:c}):o==="top-left"?(t={x0:s,x1:s,y0:0,y1:c},n={x0:0,x1:s,y0:c,y1:c}):o==="top"?t={x0:s,x1:s,y0:0,y1:c}:o==="top-right"?(t={x0:s,x1:s,y0:0,y1:c},n={x0:s,x1:r,y0:c,y1:c}):o==="right"?n={x0:s,x1:r,y0:c,y1:c}:o==="bottom-right"?(t={x0:s,x1:s,y0:c,y1:a},n={x0:s,x1:r,y0:c,y1:c}):o==="bottom"?t={x0:s,x1:s,y0:c,y1:a}:o==="bottom-left"?(t={x0:s,x1:s,y0:c,y1:a},n={x0:0,x1:s,y0:c,y1:c}):o==="left"?n={x0:0,x1:s,y0:c,y1:c}:o==="x"?t={x0:s,x1:s,y0:0,y1:a}:o==="y"&&(n={x0:0,x1:r,y0:c,y1:c}),p.jsxs(p.Fragment,{children:[t&&p.jsx(U_,{x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1}),n&&p.jsx(U_,{x0:n.x0,x1:n.x1,y0:n.y0,y1:n.y1})]})});KHe.displayName="Crosshair";var aG=v.createContext({showTooltipAt:function(){},showTooltipFromEvent:function(){},hideTooltip:function(){}}),H_={isVisible:!1,position:[null,null],content:null,anchor:null},oG=v.createContext(H_),JHe=i(function(e){var t=v.useState(H_),n=t[0],r=t[1],a=v.useCallback(function(c,l,u){var d=l[0],f=l[1];u===void 0&&(u="top"),r({isVisible:!0,position:[d,f],anchor:u,content:c})},[r]),o=v.useCallback(function(c,l,u){u===void 0&&(u="top");var d=e.current.getBoundingClientRect(),f=e.current.offsetWidth,m=f===d.width?1:f/d.width,g=(l.clientX-d.left)*m,h=(l.clientY-d.top)*m;u!=="left"&&u!=="right"||(u=g<d.width/2?"right":"left"),r({isVisible:!0,position:[g,h],anchor:u,content:c})},[e,r]),s=v.useCallback(function(){r(H_)},[r]);return{actions:v.useMemo(function(){return{showTooltipAt:a,showTooltipFromEvent:o,hideTooltip:s}},[a,o,s]),state:n}},"O$4"),iG=i(function(){var e=v.useContext(aG);if(e===void 0)throw new Error("useTooltip must be used within a TooltipProvider");return e},"k$4"),YHe=i(function(){var e=v.useContext(oG);if(e===void 0)throw new Error("useTooltipState must be used within a TooltipProvider");return e},"z$5"),QHe=i(function(e){return e.isVisible},"A$4"),XHe=i(function(){var e=YHe();return QHe(e)?p.jsx(rG,{position:e.position,anchor:e.anchor,children:e.content}):null},"F"),ZHe=i(function(e){var t=e.container,n=e.children,r=JHe(t),a=r.actions,o=r.state;return p.jsx(aG.Provider,{value:a,children:p.jsx(oG.Provider,{value:o,children:n})})},"M$2");function U1(e,t,n){e.prototype=t.prototype=n,n.constructor=e}i(U1,"define");function eA(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}i(eA,"extend");function cp(){}i(cp,"Color");var Bl=.7,yf=1/Bl,Cd="\\s*([+-]?\\d+)\\s*",xh="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*",ji="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*",eqe=/^#([0-9a-f]{3,8})$/,tqe=new RegExp("^rgb\\("+[Cd,Cd,Cd]+"\\)$"),nqe=new RegExp("^rgb\\("+[ji,ji,ji]+"\\)$"),rqe=new RegExp("^rgba\\("+[Cd,Cd,Cd,xh]+"\\)$"),aqe=new RegExp("^rgba\\("+[ji,ji,ji,xh]+"\\)$"),oqe=new RegExp("^hsl\\("+[xh,ji,ji]+"\\)$"),iqe=new RegExp("^hsla\\("+[xh,ji,ji,xh]+"\\)$"),OI={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};U1(cp,wh,{copy:function(e){return Object.assign(new this.constructor,this,e)},displayable:function(){return this.rgb().displayable()},hex:zI,formatHex:zI,formatHsl:sqe,formatRgb:II,toString:II});function zI(){return this.rgb().formatHex()}i(zI,"color_formatHex");function sqe(){return cG(this).formatHsl()}i(sqe,"color_formatHsl");function II(){return this.rgb().formatRgb()}i(II,"color_formatRgb");function wh(e){var t,n;return e=(e+"").trim().toLowerCase(),(t=eqe.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?LI(t):n===3?new Vr(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?Av(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?Av(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=tqe.exec(e))?new Vr(t[1],t[2],t[3],1):(t=nqe.exec(e))?new Vr(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=rqe.exec(e))?Av(t[1],t[2],t[3],t[4]):(t=aqe.exec(e))?Av(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=oqe.exec(e))?FI(t[1],t[2]/100,t[3]/100,1):(t=iqe.exec(e))?FI(t[1],t[2]/100,t[3]/100,t[4]):OI.hasOwnProperty(e)?LI(OI[e]):e==="transparent"?new Vr(NaN,NaN,NaN,0):null}i(wh,"color$1");function LI(e){return new Vr(e>>16&255,e>>8&255,e&255,1)}i(LI,"rgbn");function Av(e,t,n,r){return r<=0&&(e=t=n=NaN),new Vr(e,t,n,r)}i(Av,"rgba");function sG(e){return e instanceof cp||(e=wh(e)),e?(e=e.rgb(),new Vr(e.r,e.g,e.b,e.opacity)):new Vr}i(sG,"rgbConvert");function bf(e,t,n,r){return arguments.length===1?sG(e):new Vr(e,t,n,r??1)}i(bf,"rgb$1");function Vr(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}i(Vr,"Rgb");U1(Vr,bf,eA(cp,{brighter:function(e){return e=e==null?yf:Math.pow(yf,e),new Vr(this.r*e,this.g*e,this.b*e,this.opacity)},darker:function(e){return e=e==null?Bl:Math.pow(Bl,e),new Vr(this.r*e,this.g*e,this.b*e,this.opacity)},rgb:function(){return this},displayable:function(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:DI,formatHex:DI,formatRgb:NI,toString:NI}));function DI(){return"#"+FC(this.r)+FC(this.g)+FC(this.b)}i(DI,"rgb_formatHex");function NI(){var e=this.opacity;return e=isNaN(e)?1:Math.max(0,Math.min(1,e)),(e===1?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(e===1?")":", "+e+")")}i(NI,"rgb_formatRgb");function FC(e){return e=Math.max(0,Math.min(255,Math.round(e)||0)),(e<16?"0":"")+e.toString(16)}i(FC,"hex");function FI(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new mi(e,t,n,r)}i(FI,"hsla");function cG(e){if(e instanceof mi)return new mi(e.h,e.s,e.l,e.opacity);if(e instanceof cp||(e=wh(e)),!e)return new mi;if(e instanceof mi)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,a=Math.min(t,n,r),o=Math.max(t,n,r),s=NaN,c=o-a,l=(o+a)/2;return c?(t===o?s=(n-r)/c+(n<r)*6:n===o?s=(r-t)/c+2:s=(t-n)/c+4,c/=l<.5?o+a:2-o-a,s*=60):c=l>0&&l<1?0:s,new mi(s,c,l,e.opacity)}i(cG,"hslConvert");function cqe(e,t,n,r){return arguments.length===1?cG(e):new mi(e,t,n,r??1)}i(cqe,"hsl");function mi(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}i(mi,"Hsl");U1(mi,cqe,eA(cp,{brighter:function(e){return e=e==null?yf:Math.pow(yf,e),new mi(this.h,this.s,this.l*e,this.opacity)},darker:function(e){return e=e==null?Bl:Math.pow(Bl,e),new mi(this.h,this.s,this.l*e,this.opacity)},rgb:function(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,a=2*n-r;return new Vr(BC(e>=240?e-240:e+120,a,r),BC(e,a,r),BC(e<120?e+240:e-120,a,r),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl:function(){var e=this.opacity;return e=isNaN(e)?1:Math.max(0,Math.min(1,e)),(e===1?"hsl(":"hsla(")+(this.h||0)+", "+(this.s||0)*100+"%, "+(this.l||0)*100+"%"+(e===1?")":", "+e+")")}}));function BC(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}i(BC,"hsl2rgb");const lqe=Math.PI/180,uqe=180/Math.PI;var lG=-.14861,tA=1.78277,nA=-.29227,H1=-.90649,Ch=1.97294,BI=Ch*H1,WI=Ch*tA,UI=tA*nA-H1*lG;function dqe(e){if(e instanceof wl)return new wl(e.h,e.s,e.l,e.opacity);e instanceof Vr||(e=sG(e));var t=e.r/255,n=e.g/255,r=e.b/255,a=(UI*r+BI*t-WI*n)/(UI+BI-WI),o=r-a,s=(Ch*(n-a)-nA*o)/H1,c=Math.sqrt(s*s+o*o)/(Ch*a*(1-a)),l=c?Math.atan2(s,o)*uqe-120:NaN;return new wl(l<0?l+360:l,c,a,e.opacity)}i(dqe,"cubehelixConvert");function Mi(e,t,n,r){return arguments.length===1?dqe(e):new wl(e,t,n,r??1)}i(Mi,"cubehelix$1");function wl(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}i(wl,"Cubehelix");U1(wl,Mi,eA(cp,{brighter:function(e){return e=e==null?yf:Math.pow(yf,e),new wl(this.h,this.s,this.l*e,this.opacity)},darker:function(e){return e=e==null?Bl:Math.pow(Bl,e),new wl(this.h,this.s,this.l*e,this.opacity)},rgb:function(){var e=isNaN(this.h)?0:(this.h+120)*lqe,t=+this.l,n=isNaN(this.s)?0:this.s*t*(1-t),r=Math.cos(e),a=Math.sin(e);return new Vr(255*(t+n*(lG*r+tA*a)),255*(t+n*(nA*r+H1*a)),255*(t+n*(Ch*r)),this.opacity)}}));function fqe(e,t,n,r,a){var o=e*e,s=o*e;return((1-3*e+3*o-s)*t+(4-6*o+3*s)*n+(1+3*e+3*o-3*s)*r+s*a)/6}i(fqe,"basis");function pqe(e){var t=e.length-1;return function(n){var r=n<=0?n=0:n>=1?(n=1,t-1):Math.floor(n*t),a=e[r],o=e[r+1],s=r>0?e[r-1]:2*a-o,c=r<t-1?e[r+2]:2*o-a;return fqe((n-r/t)*t,s,a,o,c)}}i(pqe,"basis$1");const q1=i(e=>()=>e,"constant$1");function uG(e,t){return function(n){return e+n*t}}i(uG,"linear$1");function mqe(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}i(mqe,"exponential");function hqe(e,t){var n=t-e;return n?uG(e,n>180||n<-180?n-360*Math.round(n/360):n):q1(isNaN(e)?t:e)}i(hqe,"hue");function gqe(e){return(e=+e)==1?Sd:function(t,n){return n-t?mqe(t,n,e):q1(isNaN(t)?n:t)}}i(gqe,"gamma");function Sd(e,t){var n=t-e;return n?uG(e,n):q1(isNaN(e)?t:e)}i(Sd,"nogamma");const HI=i(function e(t){var n=gqe(t);function r(a,o){var s=n((a=bf(a)).r,(o=bf(o)).r),c=n(a.g,o.g),l=n(a.b,o.b),u=Sd(a.opacity,o.opacity);return function(d){return a.r=s(d),a.g=c(d),a.b=l(d),a.opacity=u(d),a+""}}return i(r,"rgb"),r.gamma=e,r},"rgbGamma")(1);function vqe(e){return function(t){var n=t.length,r=new Array(n),a=new Array(n),o=new Array(n),s,c;for(s=0;s<n;++s)c=bf(t[s]),r[s]=c.r||0,a[s]=c.g||0,o[s]=c.b||0;return r=e(r),a=e(a),o=e(o),c.opacity=1,function(l){return c.r=r(l),c.g=a(l),c.b=o(l),c+""}}}i(vqe,"rgbSpline");var yqe=vqe(pqe);function bqe(e,t){t||(t=[]);var n=e?Math.min(t.length,e.length):0,r=t.slice(),a;return function(o){for(a=0;a<n;++a)r[a]=e[a]*(1-o)+t[a]*o;return r}}i(bqe,"numberArray");function xqe(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}i(xqe,"isNumberArray");function wqe(e,t){var n=t?t.length:0,r=e?Math.min(n,e.length):0,a=new Array(r),o=new Array(n),s;for(s=0;s<r;++s)a[s]=rA(e[s],t[s]);for(;s<n;++s)o[s]=t[s];return function(c){for(s=0;s<r;++s)o[s]=a[s](c);return o}}i(wqe,"genericArray");function Cqe(e,t){var n=new Date;return e=+e,t=+t,function(r){return n.setTime(e*(1-r)+t*r),n}}i(Cqe,"date$3");function p0(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}i(p0,"interpolateNumber");function Sqe(e,t){var n={},r={},a;(e===null||typeof e!="object")&&(e={}),(t===null||typeof t!="object")&&(t={});for(a in t)a in e?n[a]=rA(e[a],t[a]):r[a]=t[a];return function(o){for(a in n)r[a]=n[a](o);return r}}i(Sqe,"object");var q_=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,WC=new RegExp(q_.source,"g");function jqe(e){return function(){return e}}i(jqe,"zero");function _qe(e){return function(t){return e(t)+""}}i(_qe,"one");function dG(e,t){var n=q_.lastIndex=WC.lastIndex=0,r,a,o,s=-1,c=[],l=[];for(e=e+"",t=t+"";(r=q_.exec(e))&&(a=WC.exec(t));)(o=a.index)>n&&(o=t.slice(n,o),c[s]?c[s]+=o:c[++s]=o),(r=r[0])===(a=a[0])?c[s]?c[s]+=a:c[++s]=a:(c[++s]=null,l.push({i:s,x:p0(r,a)})),n=WC.lastIndex;return n<t.length&&(o=t.slice(n),c[s]?c[s]+=o:c[++s]=o),c.length<2?l[0]?_qe(l[0].x):jqe(t):(t=l.length,function(u){for(var d=0,f;d<t;++d)c[(f=l[d]).i]=f.x(u);return c.join("")})}i(dG,"R$1");function rA(e,t){var n=typeof t,r;return t==null||n==="boolean"?q1(t):(n==="number"?p0:n==="string"?(r=wh(t))?(t=r,HI):dG:t instanceof wh?HI:t instanceof Date?Cqe:xqe(t)?bqe:Array.isArray(t)?wqe:typeof t.valueOf!="function"&&typeof t.toString!="function"||isNaN(t)?Sqe:p0)(e,t)}i(rA,"interpolate");function kqe(e,t){return e=+e,t=+t,function(n){return Math.round(e*(1-n)+t*n)}}i(kqe,"interpolateRound");function fG(e){return i(function t(n){n=+n;function r(a,o){var s=e((a=Mi(a)).h,(o=Mi(o)).h),c=Sd(a.s,o.s),l=Sd(a.l,o.l),u=Sd(a.opacity,o.opacity);return function(d){return a.h=s(d),a.s=c(d),a.l=l(Math.pow(d,n)),a.opacity=u(d),a+""}}return i(r,"cubehelix"),r.gamma=t,r},"cubehelixGamma")(1)}i(fG,"cubehelix");fG(hqe);var aA=fG(Sd),$qe=_c,Eqe=xa,Rqe=Bo,Aqe="[object String]";function Pqe(e){return typeof e=="string"||!Eqe(e)&&Rqe(e)&&$qe(e)==Aqe}i(Pqe,"isString");var Tqe=Pqe;const Mqe=Gt(Tqe);function pG(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}i(pG,"ascending");function oA(e){let t=e,n=e;e.length===1&&(t=i((s,c)=>e(s)-c,"delta"),n=Oqe(e));function r(s,c,l,u){for(l==null&&(l=0),u==null&&(u=s.length);l<u;){const d=l+u>>>1;n(s[d],c)<0?l=d+1:u=d}return l}i(r,"left");function a(s,c,l,u){for(l==null&&(l=0),u==null&&(u=s.length);l<u;){const d=l+u>>>1;n(s[d],c)>0?u=d:l=d+1}return l}i(a,"right");function o(s,c,l,u){l==null&&(l=0),u==null&&(u=s.length);const d=r(s,c,l,u-1);return d>l&&t(s[d-1],c)>-t(s[d],c)?d-1:d}return i(o,"center"),{left:r,center:o,right:a}}i(oA,"bisector");function Oqe(e){return(t,n)=>pG(e(t),n)}i(Oqe,"ascendingComparator");function zqe(e){return e===null?NaN:+e}i(zqe,"number$2");const Iqe=oA(pG),Lqe=Iqe.right;oA(zqe).center;var V_=Math.sqrt(50),G_=Math.sqrt(10),K_=Math.sqrt(2);function J_(e,t,n){var r,a=-1,o,s,c;if(t=+t,e=+e,n=+n,e===t&&n>0)return[e];if((r=t<e)&&(o=e,e=t,t=o),(c=mG(e,t,n))===0||!isFinite(c))return[];if(c>0){let l=Math.round(e/c),u=Math.round(t/c);for(l*c<e&&++l,u*c>t&&--u,s=new Array(o=u-l+1);++a<o;)s[a]=(l+a)*c}else{c=-c;let l=Math.round(e*c),u=Math.round(t*c);for(l/c<e&&++l,u/c>t&&--u,s=new Array(o=u-l+1);++a<o;)s[a]=(l+a)/c}return r&&s.reverse(),s}i(J_,"ticks");function mG(e,t,n){var r=(t-e)/Math.max(0,n),a=Math.floor(Math.log(r)/Math.LN10),o=r/Math.pow(10,a);return a>=0?(o>=V_?10:o>=G_?5:o>=K_?2:1)*Math.pow(10,a):-Math.pow(10,-a)/(o>=V_?10:o>=G_?5:o>=K_?2:1)}i(mG,"tickIncrement");function Y_(e,t,n){var r=Math.abs(t-e)/Math.max(0,n),a=Math.pow(10,Math.floor(Math.log(r)/Math.LN10)),o=r/a;return o>=V_?a*=10:o>=G_?a*=5:o>=K_&&(a*=2),t<e?-a:a}i(Y_,"tickStep");function Dqe(e,t,n){e=+e,t=+t,n=(a=arguments.length)<2?(t=e,e=0,1):a<3?1:+n;for(var r=-1,a=Math.max(0,Math.ceil((t-e)/n))|0,o=new Array(a);++r<a;)o[r]=e+r*n;return o}i(Dqe,"sequence");function eu(e,t){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(t).domain(e);break}return this}i(eu,"initRange");const qI=Symbol("implicit");function tl(){var e=new Map,t=[],n=[],r=qI;function a(o){var s=o+"",c=e.get(s);if(!c){if(r!==qI)return r;e.set(s,c=t.push(o))}return n[(c-1)%n.length]}return i(a,"scale"),a.domain=function(o){if(!arguments.length)return t.slice();t=[],e=new Map;for(const s of o){const c=s+"";e.has(c)||e.set(c,t.push(s))}return a},a.range=function(o){return arguments.length?(n=Array.from(o),a):n.slice()},a.unknown=function(o){return arguments.length?(r=o,a):r},a.copy=function(){return tl(t,n).unknown(r)},eu.apply(a,arguments),a}i(tl,"ordinal");function iA(){var e=tl().unknown(void 0),t=e.domain,n=e.range,r=0,a=1,o,s,c=!1,l=0,u=0,d=.5;delete e.unknown;function f(){var m=t().length,g=a<r,h=g?a:r,y=g?r:a;o=(y-h)/Math.max(1,m-l+u*2),c&&(o=Math.floor(o)),h+=(y-h-o*(m-l))*d,s=o*(1-l),c&&(h=Math.round(h),s=Math.round(s));var b=Dqe(m).map(function(x){return h+o*x});return n(g?b.reverse():b)}return i(f,"rescale"),e.domain=function(m){return arguments.length?(t(m),f()):t()},e.range=function(m){return arguments.length?([r,a]=m,r=+r,a=+a,f()):[r,a]},e.rangeRound=function(m){return[r,a]=m,r=+r,a=+a,c=!0,f()},e.bandwidth=function(){return s},e.step=function(){return o},e.round=function(m){return arguments.length?(c=!!m,f()):c},e.padding=function(m){return arguments.length?(l=Math.min(1,u=+m),f()):l},e.paddingInner=function(m){return arguments.length?(l=Math.min(1,m),f()):l},e.paddingOuter=function(m){return arguments.length?(u=+m,f()):u},e.align=function(m){return arguments.length?(d=Math.max(0,Math.min(1,m)),f()):d},e.copy=function(){return iA(t(),[r,a]).round(c).paddingInner(l).paddingOuter(u).align(d)},eu.apply(f(),arguments)}i(iA,"band");function hG(e){var t=e.copy;return e.padding=e.paddingOuter,delete e.paddingInner,delete e.paddingOuter,e.copy=function(){return hG(t())},e}i(hG,"pointish");function Nqe(){return hG(iA.apply(null,arguments).paddingInner(1))}i(Nqe,"point$4");function Fqe(e){return function(){return e}}i(Fqe,"constants");function Bqe(e){return+e}i(Bqe,"number$1");var VI=[0,1];function Ku(e){return e}i(Ku,"identity$3");function Q_(e,t){return(t-=e=+e)?function(n){return(n-e)/t}:Fqe(isNaN(t)?NaN:.5)}i(Q_,"normalize");function Wqe(e,t){var n;return e>t&&(n=e,e=t,t=n),function(r){return Math.max(e,Math.min(t,r))}}i(Wqe,"clamper");function Uqe(e,t,n){var r=e[0],a=e[1],o=t[0],s=t[1];return a<r?(r=Q_(a,r),o=n(s,o)):(r=Q_(r,a),o=n(o,s)),function(c){return o(r(c))}}i(Uqe,"bimap");function Hqe(e,t,n){var r=Math.min(e.length,t.length)-1,a=new Array(r),o=new Array(r),s=-1;for(e[r]<e[0]&&(e=e.slice().reverse(),t=t.slice().reverse());++s<r;)a[s]=Q_(e[s],e[s+1]),o[s]=n(t[s],t[s+1]);return function(c){var l=Lqe(e,c,1,r)-1;return o[l](a[l](c))}}i(Hqe,"polymap");function V1(e,t){return t.domain(e.domain()).range(e.range()).interpolate(e.interpolate()).clamp(e.clamp()).unknown(e.unknown())}i(V1,"copy");function sA(){var e=VI,t=VI,n=rA,r,a,o,s=Ku,c,l,u;function d(){var m=Math.min(e.length,t.length);return s!==Ku&&(s=Wqe(e[0],e[m-1])),c=m>2?Hqe:Uqe,l=u=null,f}i(d,"rescale");function f(m){return m==null||isNaN(m=+m)?o:(l||(l=c(e.map(r),t,n)))(r(s(m)))}return i(f,"scale"),f.invert=function(m){return s(a((u||(u=c(t,e.map(r),p0)))(m)))},f.domain=function(m){return arguments.length?(e=Array.from(m,Bqe),d()):e.slice()},f.range=function(m){return arguments.length?(t=Array.from(m),d()):t.slice()},f.rangeRound=function(m){return t=Array.from(m),n=kqe,d()},f.clamp=function(m){return arguments.length?(s=m?!0:Ku,d()):s!==Ku},f.interpolate=function(m){return arguments.length?(n=m,d()):n},f.unknown=function(m){return arguments.length?(o=m,f):o},function(m,g){return r=m,a=g,d()}}i(sA,"transformer");function gG(){return sA()(Ku,Ku)}i(gG,"continuous");function qqe(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)}i(qqe,"formatDecimal$1");function m0(e,t){if((n=(e=t?e.toExponential(t-1):e.toExponential()).indexOf("e"))<0)return null;var n,r=e.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+e.slice(n+1)]}i(m0,"formatDecimalParts$1");function xf(e){return e=m0(Math.abs(e)),e?e[1]:NaN}i(xf,"exponent$1");function Vqe(e,t){return function(n,r){for(var a=n.length,o=[],s=0,c=e[0],l=0;a>0&&c>0&&(l+c+1>r&&(c=Math.max(1,r-l)),o.push(n.substring(a-=c,a+c)),!((l+=c+1)>r));)c=e[s=(s+1)%e.length];return o.reverse().join(t)}}i(Vqe,"formatGroup$1");function Gqe(e){return function(t){return t.replace(/[0-9]/g,function(n){return e[+n]})}}i(Gqe,"formatNumerals$1");var Kqe=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function h0(e){if(!(t=Kqe.exec(e)))throw new Error("invalid format: "+e);var t;return new cA({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}i(h0,"formatSpecifier$1");h0.prototype=cA.prototype;function cA(e){this.fill=e.fill===void 0?" ":e.fill+"",this.align=e.align===void 0?">":e.align+"",this.sign=e.sign===void 0?"-":e.sign+"",this.symbol=e.symbol===void 0?"":e.symbol+"",this.zero=!!e.zero,this.width=e.width===void 0?void 0:+e.width,this.comma=!!e.comma,this.precision=e.precision===void 0?void 0:+e.precision,this.trim=!!e.trim,this.type=e.type===void 0?"":e.type+""}i(cA,"FormatSpecifier$1");cA.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function Jqe(e){e:for(var t=e.length,n=1,r=-1,a;n<t;++n)switch(e[n]){case".":r=a=n;break;case"0":r===0&&(r=n),a=n;break;default:if(!+e[n])break e;r>0&&(r=0);break}return r>0?e.slice(0,r)+e.slice(a+1):e}i(Jqe,"formatTrim$1");var vG;function Yqe(e,t){var n=m0(e,t);if(!n)return e+"";var r=n[0],a=n[1],o=a-(vG=Math.max(-8,Math.min(8,Math.floor(a/3)))*3)+1,s=r.length;return o===s?r:o>s?r+new Array(o-s+1).join("0"):o>0?r.slice(0,o)+"."+r.slice(o):"0."+new Array(1-o).join("0")+m0(e,Math.max(0,t+o-1))[0]}i(Yqe,"formatPrefixAuto$1");function GI(e,t){var n=m0(e,t);if(!n)return e+"";var r=n[0],a=n[1];return a<0?"0."+new Array(-a).join("0")+r:r.length>a+1?r.slice(0,a+1)+"."+r.slice(a+1):r+new Array(a-r.length+2).join("0")}i(GI,"formatRounded$1");const KI={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+"",d:qqe,e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>GI(e*100,t),r:GI,s:Yqe,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function JI(e){return e}i(JI,"identity$2");var YI=Array.prototype.map,QI=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function Qqe(e){var t=e.grouping===void 0||e.thousands===void 0?JI:Vqe(YI.call(e.grouping,Number),e.thousands+""),n=e.currency===void 0?"":e.currency[0]+"",r=e.currency===void 0?"":e.currency[1]+"",a=e.decimal===void 0?".":e.decimal+"",o=e.numerals===void 0?JI:Gqe(YI.call(e.numerals,String)),s=e.percent===void 0?"%":e.percent+"",c=e.minus===void 0?"−":e.minus+"",l=e.nan===void 0?"NaN":e.nan+"";function u(f){f=h0(f);var m=f.fill,g=f.align,h=f.sign,y=f.symbol,b=f.zero,x=f.width,w=f.comma,C=f.precision,j=f.trim,_=f.type;_==="n"?(w=!0,_="g"):KI[_]||(C===void 0&&(C=12),j=!0,_="g"),(b||m==="0"&&g==="=")&&(b=!0,m="0",g="=");var S=y==="$"?n:y==="#"&&/[boxX]/.test(_)?"0"+_.toLowerCase():"",k=y==="$"?r:/[%p]/.test(_)?s:"",$=KI[_],E=/[defgprs%]/.test(_);C=C===void 0?6:/[gprs]/.test(_)?Math.max(1,Math.min(21,C)):Math.max(0,Math.min(20,C));function P(R){var T=S,M=k,I,z,H;if(_==="c")M=$(R)+M,R="";else{R=+R;var F=R<0||1/R<0;if(R=isNaN(R)?l:$(Math.abs(R),C),j&&(R=Jqe(R)),F&&+R==0&&h!=="+"&&(F=!1),T=(F?h==="("?h:c:h==="-"||h==="("?"":h)+T,M=(_==="s"?QI[8+vG/3]:"")+M+(F&&h==="("?")":""),E){for(I=-1,z=R.length;++I<z;)if(H=R.charCodeAt(I),48>H||H>57){M=(H===46?a+R.slice(I+1):R.slice(I))+M,R=R.slice(0,I);break}}}w&&!b&&(R=t(R,1/0));var L=T.length+R.length+M.length,B=L<x?new Array(x-L+1).join(m):"";switch(w&&b&&(R=t(B+R,B.length?x-M.length:1/0),B=""),g){case"<":R=T+R+M+B;break;case"=":R=T+B+R+M;break;case"^":R=B.slice(0,L=B.length>>1)+T+R+M+B.slice(L);break;default:R=B+T+R+M;break}return o(R)}return i(P,"format"),P.toString=function(){return f+""},P}i(u,"newFormat");function d(f,m){var g=u((f=h0(f),f.type="f",f)),h=Math.max(-8,Math.min(8,Math.floor(xf(m)/3)))*3,y=Math.pow(10,-h),b=QI[8+h/3];return function(x){return g(y*x)+b}}return i(d,"formatPrefix"),{format:u,formatPrefix:d}}i(Qqe,"formatLocale$2");var Pv,lA,yG;Xqe({thousands:",",grouping:[3],currency:["$",""]});function Xqe(e){return Pv=Qqe(e),lA=Pv.format,yG=Pv.formatPrefix,Pv}i(Xqe,"defaultLocale$2");function Zqe(e){return Math.max(0,-xf(Math.abs(e)))}i(Zqe,"precisionFixed");function eVe(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(xf(t)/3)))*3-xf(Math.abs(e)))}i(eVe,"precisionPrefix");function tVe(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,xf(t)-xf(e))+1}i(tVe,"precisionRound");function nVe(e,t,n,r){var a=Y_(e,t,n),o;switch(r=h0(r??",f"),r.type){case"s":{var s=Math.max(Math.abs(e),Math.abs(t));return r.precision==null&&!isNaN(o=eVe(a,s))&&(r.precision=o),yG(r,s)}case"":case"e":case"g":case"p":case"r":{r.precision==null&&!isNaN(o=tVe(a,Math.max(Math.abs(e),Math.abs(t))))&&(r.precision=o-(r.type==="e"));break}case"f":case"%":{r.precision==null&&!isNaN(o=Zqe(a))&&(r.precision=o-(r.type==="%")*2);break}}return lA(r)}i(nVe,"tickFormat");function bG(e){var t=e.domain;return e.ticks=function(n){var r=t();return J_(r[0],r[r.length-1],n??10)},e.tickFormat=function(n,r){var a=t();return nVe(a[0],a[a.length-1],n??10,r)},e.nice=function(n){n==null&&(n=10);var r=t(),a=0,o=r.length-1,s=r[a],c=r[o],l,u,d=10;for(c<s&&(u=s,s=c,c=u,u=a,a=o,o=u);d-- >0;){if(u=mG(s,c,n),u===l)return r[a]=s,r[o]=c,t(r);if(u>0)s=Math.floor(s/u)*u,c=Math.ceil(c/u)*u;else if(u<0)s=Math.ceil(s*u)/u,c=Math.floor(c*u)/u;else break;l=u}return e},e}i(bG,"linearish");function xG(){var e=gG();return e.copy=function(){return V1(e,xG())},eu.apply(e,arguments),bG(e)}i(xG,"linear");function wG(e,t){e=e.slice();var n=0,r=e.length-1,a=e[n],o=e[r],s;return o<a&&(s=n,n=r,r=s,s=a,a=o,o=s),e[n]=t.floor(a),e[r]=t.ceil(o),e}i(wG,"nice");function XI(e){return Math.log(e)}i(XI,"transformLog");function ZI(e){return Math.exp(e)}i(ZI,"transformExp");function rVe(e){return-Math.log(-e)}i(rVe,"transformLogn");function aVe(e){return-Math.exp(-e)}i(aVe,"transformExpn");function oVe(e){return isFinite(e)?+("1e"+e):e<0?0:e}i(oVe,"pow10");function iVe(e){return e===10?oVe:e===Math.E?Math.exp:function(t){return Math.pow(e,t)}}i(iVe,"powp");function sVe(e){return e===Math.E?Math.log:e===10&&Math.log10||e===2&&Math.log2||(e=Math.log(e),function(t){return Math.log(t)/e})}i(sVe,"logp");function e6(e){return function(t){return-e(-t)}}i(e6,"reflect");function cVe(e){var t=e(XI,ZI),n=t.domain,r=10,a,o;function s(){return a=sVe(r),o=iVe(r),n()[0]<0?(a=e6(a),o=e6(o),e(rVe,aVe)):e(XI,ZI),t}return i(s,"rescale"),t.base=function(c){return arguments.length?(r=+c,s()):r},t.domain=function(c){return arguments.length?(n(c),s()):n()},t.ticks=function(c){var l=n(),u=l[0],d=l[l.length-1],f;(f=d<u)&&(m=u,u=d,d=m);var m=a(u),g=a(d),h,y,b,x=c==null?10:+c,w=[];if(!(r%1)&&g-m<x){if(m=Math.floor(m),g=Math.ceil(g),u>0){for(;m<=g;++m)for(y=1,h=o(m);y<r;++y)if(b=h*y,!(b<u)){if(b>d)break;w.push(b)}}else for(;m<=g;++m)for(y=r-1,h=o(m);y>=1;--y)if(b=h*y,!(b<u)){if(b>d)break;w.push(b)}w.length*2<x&&(w=J_(u,d,x))}else w=J_(m,g,Math.min(g-m,x)).map(o);return f?w.reverse():w},t.tickFormat=function(c,l){if(l==null&&(l=r===10?".0e":","),typeof l!="function"&&(l=lA(l)),c===1/0)return l;c==null&&(c=10);var u=Math.max(1,r*c/t.ticks().length);return function(d){var f=d/o(Math.round(a(d)));return f*r<r-.5&&(f*=r),f<=u?l(d):""}},t.nice=function(){return n(wG(n(),{floor:function(c){return o(Math.floor(a(c)))},ceil:function(c){return o(Math.ceil(a(c)))}}))},t}i(cVe,"loggish");function CG(){var e=cVe(sA()).domain([1,10]);return e.copy=function(){return V1(e,CG()).base(e.base())},eu.apply(e,arguments),e}i(CG,"log$1");function t6(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}i(t6,"transformSymlog");function n6(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}i(n6,"transformSymexp");function lVe(e){var t=1,n=e(t6(t),n6(t));return n.constant=function(r){return arguments.length?e(t6(t=+r),n6(t)):t},bG(n)}i(lVe,"symlogish");function SG(){var e=lVe(sA());return e.copy=function(){return V1(e,SG()).constant(e.constant())},eu.apply(e,arguments)}i(SG,"symlog");var UC=new Date,HC=new Date;function br(e,t,n,r){function a(o){return e(o=arguments.length===0?new Date:new Date(+o)),o}return i(a,"interval"),a.floor=function(o){return e(o=new Date(+o)),o},a.ceil=function(o){return e(o=new Date(o-1)),t(o,1),e(o),o},a.round=function(o){var s=a(o),c=a.ceil(o);return o-s<c-o?s:c},a.offset=function(o,s){return t(o=new Date(+o),s==null?1:Math.floor(s)),o},a.range=function(o,s,c){var l=[],u;if(o=a.ceil(o),c=c==null?1:Math.floor(c),!(o<s)||!(c>0))return l;do l.push(u=new Date(+o)),t(o,c),e(o);while(u<o&&o<s);return l},a.filter=function(o){return br(function(s){if(s>=s)for(;e(s),!o(s);)s.setTime(s-1)},function(s,c){if(s>=s)if(c<0)for(;++c<=0;)for(;t(s,-1),!o(s););else for(;--c>=0;)for(;t(s,1),!o(s););})},n&&(a.count=function(o,s){return UC.setTime(+o),HC.setTime(+s),e(UC),e(HC),Math.floor(n(UC,HC))},a.every=function(o){return o=Math.floor(o),!isFinite(o)||!(o>0)?null:o>1?a.filter(r?function(s){return r(s)%o===0}:function(s){return a.count(0,s)%o===0}):a}),a}i(br,"newInterval$1");var g0=br(function(){},function(e,t){e.setTime(+e+t)},function(e,t){return t-e});g0.every=function(e){return e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?br(function(t){t.setTime(Math.floor(t/e)*e)},function(t,n){t.setTime(+t+n*e)},function(t,n){return(n-t)/e}):g0};g0.range;const as=1e3,io=as*60,os=io*60,Wl=os*24,uA=Wl*7,r6=Wl*30,qC=Wl*365;var jG=br(function(e){e.setTime(e-e.getMilliseconds())},function(e,t){e.setTime(+e+t*as)},function(e,t){return(t-e)/as},function(e){return e.getUTCSeconds()});const Ju=jG;jG.range;var _G=br(function(e){e.setTime(e-e.getMilliseconds()-e.getSeconds()*as)},function(e,t){e.setTime(+e+t*io)},function(e,t){return(t-e)/io},function(e){return e.getMinutes()});const kG=_G;_G.range;var $G=br(function(e){e.setTime(e-e.getMilliseconds()-e.getSeconds()*as-e.getMinutes()*io)},function(e,t){e.setTime(+e+t*os)},function(e,t){return(t-e)/os},function(e){return e.getHours()});const EG=$G;$G.range;var Hg=br(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*io)/Wl,e=>e.getDate()-1);Hg.range;function tu(e){return br(function(t){t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},function(t,n){t.setDate(t.getDate()+n*7)},function(t,n){return(n-t-(n.getTimezoneOffset()-t.getTimezoneOffset())*io)/uA})}i(tu,"weekday$2");var G1=tu(0),v0=tu(1),uVe=tu(2),dVe=tu(3),wf=tu(4),fVe=tu(5),pVe=tu(6);G1.range;v0.range;uVe.range;dVe.range;wf.range;fVe.range;pVe.range;var RG=br(function(e){e.setDate(1),e.setHours(0,0,0,0)},function(e,t){e.setMonth(e.getMonth()+t)},function(e,t){return t.getMonth()-e.getMonth()+(t.getFullYear()-e.getFullYear())*12},function(e){return e.getMonth()});const AG=RG;RG.range;var ys=br(function(e){e.setMonth(0,1),e.setHours(0,0,0,0)},function(e,t){e.setFullYear(e.getFullYear()+t)},function(e,t){return t.getFullYear()-e.getFullYear()},function(e){return e.getFullYear()});ys.every=function(e){return!isFinite(e=Math.floor(e))||!(e>0)?null:br(function(t){t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},function(t,n){t.setFullYear(t.getFullYear()+n*e)})};ys.range;var PG=br(function(e){e.setUTCSeconds(0,0)},function(e,t){e.setTime(+e+t*io)},function(e,t){return(t-e)/io},function(e){return e.getUTCMinutes()});const TG=PG;PG.range;var MG=br(function(e){e.setUTCMinutes(0,0,0)},function(e,t){e.setTime(+e+t*os)},function(e,t){return(t-e)/os},function(e){return e.getUTCHours()});const OG=MG;MG.range;var qg=br(function(e){e.setUTCHours(0,0,0,0)},function(e,t){e.setUTCDate(e.getUTCDate()+t)},function(e,t){return(t-e)/Wl},function(e){return e.getUTCDate()-1});qg.range;function nu(e){return br(function(t){t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},function(t,n){t.setUTCDate(t.getUTCDate()+n*7)},function(t,n){return(n-t)/uA})}i(nu,"utcWeekday$1");var K1=nu(0),y0=nu(1),mVe=nu(2),hVe=nu(3),Cf=nu(4),gVe=nu(5),vVe=nu(6);K1.range;y0.range;mVe.range;hVe.range;Cf.range;gVe.range;vVe.range;var zG=br(function(e){e.setUTCDate(1),e.setUTCHours(0,0,0,0)},function(e,t){e.setUTCMonth(e.getUTCMonth()+t)},function(e,t){return t.getUTCMonth()-e.getUTCMonth()+(t.getUTCFullYear()-e.getUTCFullYear())*12},function(e){return e.getUTCMonth()});const IG=zG;zG.range;var bs=br(function(e){e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},function(e,t){e.setUTCFullYear(e.getUTCFullYear()+t)},function(e,t){return t.getUTCFullYear()-e.getUTCFullYear()},function(e){return e.getUTCFullYear()});bs.every=function(e){return!isFinite(e=Math.floor(e))||!(e>0)?null:br(function(t){t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},function(t,n){t.setUTCFullYear(t.getUTCFullYear()+n*e)})};bs.range;function LG(e,t,n,r,a,o){const s=[[Ju,1,as],[Ju,5,5*as],[Ju,15,15*as],[Ju,30,30*as],[o,1,io],[o,5,5*io],[o,15,15*io],[o,30,30*io],[a,1,os],[a,3,3*os],[a,6,6*os],[a,12,12*os],[r,1,Wl],[r,2,2*Wl],[n,1,uA],[t,1,r6],[t,3,3*r6],[e,1,qC]];function c(u,d,f){const m=d<u;m&&([u,d]=[d,u]);const g=f&&typeof f.range=="function"?f:l(u,d,f),h=g?g.range(u,+d+1):[];return m?h.reverse():h}i(c,"ticks");function l(u,d,f){const m=Math.abs(d-u)/f,g=oA(([,,b])=>b).right(s,m);if(g===s.length)return e.every(Y_(u/qC,d/qC,f));if(g===0)return g0.every(Math.max(Y_(u,d,f),1));const[h,y]=s[m/s[g-1][2]<s[g][2]/m?g-1:g];return h.every(y)}return i(l,"tickInterval"),[c,l]}i(LG,"ticker");const[yVe,bVe]=LG(bs,IG,K1,qg,OG,TG),[xVe,wVe]=LG(ys,AG,G1,Hg,EG,kG);function VC(e){if(0<=e.y&&e.y<100){var t=new Date(-1,e.m,e.d,e.H,e.M,e.S,e.L);return t.setFullYear(e.y),t}return new Date(e.y,e.m,e.d,e.H,e.M,e.S,e.L)}i(VC,"localDate");function GC(e){if(0<=e.y&&e.y<100){var t=new Date(Date.UTC(-1,e.m,e.d,e.H,e.M,e.S,e.L));return t.setUTCFullYear(e.y),t}return new Date(Date.UTC(e.y,e.m,e.d,e.H,e.M,e.S,e.L))}i(GC,"utcDate");function Np(e,t,n){return{y:e,m:t,d:n,H:0,M:0,S:0,L:0}}i(Np,"newDate");function CVe(e){var t=e.dateTime,n=e.date,r=e.time,a=e.periods,o=e.days,s=e.shortDays,c=e.months,l=e.shortMonths,u=Fp(a),d=Bp(a),f=Fp(o),m=Bp(o),g=Fp(s),h=Bp(s),y=Fp(c),b=Bp(c),x=Fp(l),w=Bp(l),C={a:F,A:L,b:B,B:K,c:null,d:l6,e:l6,f:qVe,g:tGe,G:rGe,H:WVe,I:UVe,j:HVe,L:DG,m:VVe,M:GVe,p:se,q:ue,Q:f6,s:p6,S:KVe,u:JVe,U:YVe,V:QVe,w:XVe,W:ZVe,x:null,X:null,y:eGe,Y:nGe,Z:aGe,"%":d6},j={a:_e,A:le,b:V,B:q,c:null,d:u6,e:u6,f:cGe,g:yGe,G:xGe,H:oGe,I:iGe,j:sGe,L:FG,m:lGe,M:uGe,p:Y,q:O,Q:f6,s:p6,S:dGe,u:fGe,U:pGe,V:mGe,w:hGe,W:gGe,x:null,X:null,y:vGe,Y:bGe,Z:wGe,"%":d6},_={a:P,A:R,b:T,B:M,c:I,d:s6,e:s6,f:DVe,g:i6,G:o6,H:c6,I:c6,j:OVe,L:LVe,m:MVe,M:zVe,p:E,q:TVe,Q:FVe,s:BVe,S:IVe,u:$Ve,U:EVe,V:RVe,w:kVe,W:AVe,x:z,X:H,y:i6,Y:o6,Z:PVe,"%":NVe};C.x=S(n,C),C.X=S(r,C),C.c=S(t,C),j.x=S(n,j),j.X=S(r,j),j.c=S(t,j);function S(D,Z){return function(J){var U=[],ne=-1,ie=0,he=D.length,N,Q,X;for(J instanceof Date||(J=new Date(+J));++ne<he;)D.charCodeAt(ne)===37&&(U.push(D.slice(ie,ne)),(Q=a6[N=D.charAt(++ne)])!=null?N=D.charAt(++ne):Q=N==="e"?" ":"0",(X=Z[N])&&(N=X(J,Q)),U.push(N),ie=ne+1);return U.push(D.slice(ie,ne)),U.join("")}}i(S,"newFormat");function k(D,Z){return function(J){var U=Np(1900,void 0,1),ne=$(U,D,J+="",0),ie,he;if(ne!=J.length)return null;if("Q"in U)return new Date(U.Q);if("s"in U)return new Date(U.s*1e3+("L"in U?U.L:0));if(Z&&!("Z"in U)&&(U.Z=0),"p"in U&&(U.H=U.H%12+U.p*12),U.m===void 0&&(U.m="q"in U?U.q:0),"V"in U){if(U.V<1||U.V>53)return null;"w"in U||(U.w=1),"Z"in U?(ie=GC(Np(U.y,0,1)),he=ie.getUTCDay(),ie=he>4||he===0?y0.ceil(ie):y0(ie),ie=qg.offset(ie,(U.V-1)*7),U.y=ie.getUTCFullYear(),U.m=ie.getUTCMonth(),U.d=ie.getUTCDate()+(U.w+6)%7):(ie=VC(Np(U.y,0,1)),he=ie.getDay(),ie=he>4||he===0?v0.ceil(ie):v0(ie),ie=Hg.offset(ie,(U.V-1)*7),U.y=ie.getFullYear(),U.m=ie.getMonth(),U.d=ie.getDate()+(U.w+6)%7)}else("W"in U||"U"in U)&&("w"in U||(U.w="u"in U?U.u%7:"W"in U?1:0),he="Z"in U?GC(Np(U.y,0,1)).getUTCDay():VC(Np(U.y,0,1)).getDay(),U.m=0,U.d="W"in U?(U.w+6)%7+U.W*7-(he+5)%7:U.w+U.U*7-(he+6)%7);return"Z"in U?(U.H+=U.Z/100|0,U.M+=U.Z%100,GC(U)):VC(U)}}i(k,"newParse");function $(D,Z,J,U){for(var ne=0,ie=Z.length,he=J.length,N,Q;ne<ie;){if(U>=he)return-1;if(N=Z.charCodeAt(ne++),N===37){if(N=Z.charAt(ne++),Q=_[N in a6?Z.charAt(ne++):N],!Q||(U=Q(D,J,U))<0)return-1}else if(N!=J.charCodeAt(U++))return-1}return U}i($,"parseSpecifier");function E(D,Z,J){var U=u.exec(Z.slice(J));return U?(D.p=d.get(U[0].toLowerCase()),J+U[0].length):-1}i(E,"parsePeriod");function P(D,Z,J){var U=g.exec(Z.slice(J));return U?(D.w=h.get(U[0].toLowerCase()),J+U[0].length):-1}i(P,"parseShortWeekday");function R(D,Z,J){var U=f.exec(Z.slice(J));return U?(D.w=m.get(U[0].toLowerCase()),J+U[0].length):-1}i(R,"parseWeekday");function T(D,Z,J){var U=x.exec(Z.slice(J));return U?(D.m=w.get(U[0].toLowerCase()),J+U[0].length):-1}i(T,"parseShortMonth");function M(D,Z,J){var U=y.exec(Z.slice(J));return U?(D.m=b.get(U[0].toLowerCase()),J+U[0].length):-1}i(M,"parseMonth");function I(D,Z,J){return $(D,t,Z,J)}i(I,"parseLocaleDateTime");function z(D,Z,J){return $(D,n,Z,J)}i(z,"parseLocaleDate");function H(D,Z,J){return $(D,r,Z,J)}i(H,"parseLocaleTime");function F(D){return s[D.getDay()]}i(F,"formatShortWeekday");function L(D){return o[D.getDay()]}i(L,"formatWeekday");function B(D){return l[D.getMonth()]}i(B,"formatShortMonth");function K(D){return c[D.getMonth()]}i(K,"formatMonth");function se(D){return a[+(D.getHours()>=12)]}i(se,"formatPeriod");function ue(D){return 1+~~(D.getMonth()/3)}i(ue,"formatQuarter");function _e(D){return s[D.getUTCDay()]}i(_e,"formatUTCShortWeekday");function le(D){return o[D.getUTCDay()]}i(le,"formatUTCWeekday");function V(D){return l[D.getUTCMonth()]}i(V,"formatUTCShortMonth");function q(D){return c[D.getUTCMonth()]}i(q,"formatUTCMonth");function Y(D){return a[+(D.getUTCHours()>=12)]}i(Y,"formatUTCPeriod");function O(D){return 1+~~(D.getUTCMonth()/3)}return i(O,"formatUTCQuarter"),{format:function(D){var Z=S(D+="",C);return Z.toString=function(){return D},Z},parse:function(D){var Z=k(D+="",!1);return Z.toString=function(){return D},Z},utcFormat:function(D){var Z=S(D+="",j);return Z.toString=function(){return D},Z},utcParse:function(D){var Z=k(D+="",!0);return Z.toString=function(){return D},Z}}}i(CVe,"formatLocale$1");var a6={"-":"",_:" ",0:"0"},xr=/^\s*\d+/,SVe=/^%/,jVe=/[\\^$*+?|[\]().{}]/g;function Vt(e,t,n){var r=e<0?"-":"",a=(r?-e:e)+"",o=a.length;return r+(o<n?new Array(n-o+1).join(t)+a:a)}i(Vt,"pad");function _Ve(e){return e.replace(jVe,"\\$&")}i(_Ve,"requote");function Fp(e){return new RegExp("^(?:"+e.map(_Ve).join("|")+")","i")}i(Fp,"formatRe");function Bp(e){return new Map(e.map((t,n)=>[t.toLowerCase(),n]))}i(Bp,"formatLookup");function kVe(e,t,n){var r=xr.exec(t.slice(n,n+1));return r?(e.w=+r[0],n+r[0].length):-1}i(kVe,"parseWeekdayNumberSunday");function $Ve(e,t,n){var r=xr.exec(t.slice(n,n+1));return r?(e.u=+r[0],n+r[0].length):-1}i($Ve,"parseWeekdayNumberMonday");function EVe(e,t,n){var r=xr.exec(t.slice(n,n+2));return r?(e.U=+r[0],n+r[0].length):-1}i(EVe,"parseWeekNumberSunday");function RVe(e,t,n){var r=xr.exec(t.slice(n,n+2));return r?(e.V=+r[0],n+r[0].length):-1}i(RVe,"parseWeekNumberISO");function AVe(e,t,n){var r=xr.exec(t.slice(n,n+2));return r?(e.W=+r[0],n+r[0].length):-1}i(AVe,"parseWeekNumberMonday");function o6(e,t,n){var r=xr.exec(t.slice(n,n+4));return r?(e.y=+r[0],n+r[0].length):-1}i(o6,"parseFullYear");function i6(e,t,n){var r=xr.exec(t.slice(n,n+2));return r?(e.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}i(i6,"parseYear");function PVe(e,t,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(n,n+6));return r?(e.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}i(PVe,"parseZone");function TVe(e,t,n){var r=xr.exec(t.slice(n,n+1));return r?(e.q=r[0]*3-3,n+r[0].length):-1}i(TVe,"parseQuarter");function MVe(e,t,n){var r=xr.exec(t.slice(n,n+2));return r?(e.m=r[0]-1,n+r[0].length):-1}i(MVe,"parseMonthNumber");function s6(e,t,n){var r=xr.exec(t.slice(n,n+2));return r?(e.d=+r[0],n+r[0].length):-1}i(s6,"parseDayOfMonth");function OVe(e,t,n){var r=xr.exec(t.slice(n,n+3));return r?(e.m=0,e.d=+r[0],n+r[0].length):-1}i(OVe,"parseDayOfYear");function c6(e,t,n){var r=xr.exec(t.slice(n,n+2));return r?(e.H=+r[0],n+r[0].length):-1}i(c6,"parseHour24");function zVe(e,t,n){var r=xr.exec(t.slice(n,n+2));return r?(e.M=+r[0],n+r[0].length):-1}i(zVe,"parseMinutes");function IVe(e,t,n){var r=xr.exec(t.slice(n,n+2));return r?(e.S=+r[0],n+r[0].length):-1}i(IVe,"parseSeconds");function LVe(e,t,n){var r=xr.exec(t.slice(n,n+3));return r?(e.L=+r[0],n+r[0].length):-1}i(LVe,"parseMilliseconds");function DVe(e,t,n){var r=xr.exec(t.slice(n,n+6));return r?(e.L=Math.floor(r[0]/1e3),n+r[0].length):-1}i(DVe,"parseMicroseconds");function NVe(e,t,n){var r=SVe.exec(t.slice(n,n+1));return r?n+r[0].length:-1}i(NVe,"parseLiteralPercent");function FVe(e,t,n){var r=xr.exec(t.slice(n));return r?(e.Q=+r[0],n+r[0].length):-1}i(FVe,"parseUnixTimestamp");function BVe(e,t,n){var r=xr.exec(t.slice(n));return r?(e.s=+r[0],n+r[0].length):-1}i(BVe,"parseUnixTimestampSeconds");function l6(e,t){return Vt(e.getDate(),t,2)}i(l6,"formatDayOfMonth");function WVe(e,t){return Vt(e.getHours(),t,2)}i(WVe,"formatHour24");function UVe(e,t){return Vt(e.getHours()%12||12,t,2)}i(UVe,"formatHour12");function HVe(e,t){return Vt(1+Hg.count(ys(e),e),t,3)}i(HVe,"formatDayOfYear");function DG(e,t){return Vt(e.getMilliseconds(),t,3)}i(DG,"formatMilliseconds");function qVe(e,t){return DG(e,t)+"000"}i(qVe,"formatMicroseconds");function VVe(e,t){return Vt(e.getMonth()+1,t,2)}i(VVe,"formatMonthNumber");function GVe(e,t){return Vt(e.getMinutes(),t,2)}i(GVe,"formatMinutes");function KVe(e,t){return Vt(e.getSeconds(),t,2)}i(KVe,"formatSeconds");function JVe(e){var t=e.getDay();return t===0?7:t}i(JVe,"formatWeekdayNumberMonday");function YVe(e,t){return Vt(G1.count(ys(e)-1,e),t,2)}i(YVe,"formatWeekNumberSunday");function NG(e){var t=e.getDay();return t>=4||t===0?wf(e):wf.ceil(e)}i(NG,"dISO");function QVe(e,t){return e=NG(e),Vt(wf.count(ys(e),e)+(ys(e).getDay()===4),t,2)}i(QVe,"formatWeekNumberISO");function XVe(e){return e.getDay()}i(XVe,"formatWeekdayNumberSunday");function ZVe(e,t){return Vt(v0.count(ys(e)-1,e),t,2)}i(ZVe,"formatWeekNumberMonday");function eGe(e,t){return Vt(e.getFullYear()%100,t,2)}i(eGe,"formatYear");function tGe(e,t){return e=NG(e),Vt(e.getFullYear()%100,t,2)}i(tGe,"formatYearISO");function nGe(e,t){return Vt(e.getFullYear()%1e4,t,4)}i(nGe,"formatFullYear");function rGe(e,t){var n=e.getDay();return e=n>=4||n===0?wf(e):wf.ceil(e),Vt(e.getFullYear()%1e4,t,4)}i(rGe,"formatFullYearISO");function aGe(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+Vt(t/60|0,"0",2)+Vt(t%60,"0",2)}i(aGe,"formatZone");function u6(e,t){return Vt(e.getUTCDate(),t,2)}i(u6,"formatUTCDayOfMonth");function oGe(e,t){return Vt(e.getUTCHours(),t,2)}i(oGe,"formatUTCHour24");function iGe(e,t){return Vt(e.getUTCHours()%12||12,t,2)}i(iGe,"formatUTCHour12");function sGe(e,t){return Vt(1+qg.count(bs(e),e),t,3)}i(sGe,"formatUTCDayOfYear");function FG(e,t){return Vt(e.getUTCMilliseconds(),t,3)}i(FG,"formatUTCMilliseconds");function cGe(e,t){return FG(e,t)+"000"}i(cGe,"formatUTCMicroseconds");function lGe(e,t){return Vt(e.getUTCMonth()+1,t,2)}i(lGe,"formatUTCMonthNumber");function uGe(e,t){return Vt(e.getUTCMinutes(),t,2)}i(uGe,"formatUTCMinutes");function dGe(e,t){return Vt(e.getUTCSeconds(),t,2)}i(dGe,"formatUTCSeconds");function fGe(e){var t=e.getUTCDay();return t===0?7:t}i(fGe,"formatUTCWeekdayNumberMonday");function pGe(e,t){return Vt(K1.count(bs(e)-1,e),t,2)}i(pGe,"formatUTCWeekNumberSunday");function BG(e){var t=e.getUTCDay();return t>=4||t===0?Cf(e):Cf.ceil(e)}i(BG,"UTCdISO");function mGe(e,t){return e=BG(e),Vt(Cf.count(bs(e),e)+(bs(e).getUTCDay()===4),t,2)}i(mGe,"formatUTCWeekNumberISO");function hGe(e){return e.getUTCDay()}i(hGe,"formatUTCWeekdayNumberSunday");function gGe(e,t){return Vt(y0.count(bs(e)-1,e),t,2)}i(gGe,"formatUTCWeekNumberMonday");function vGe(e,t){return Vt(e.getUTCFullYear()%100,t,2)}i(vGe,"formatUTCYear");function yGe(e,t){return e=BG(e),Vt(e.getUTCFullYear()%100,t,2)}i(yGe,"formatUTCYearISO");function bGe(e,t){return Vt(e.getUTCFullYear()%1e4,t,4)}i(bGe,"formatUTCFullYear");function xGe(e,t){var n=e.getUTCDay();return e=n>=4||n===0?Cf(e):Cf.ceil(e),Vt(e.getUTCFullYear()%1e4,t,4)}i(xGe,"formatUTCFullYearISO");function wGe(){return"+0000"}i(wGe,"formatUTCZone");function d6(){return"%"}i(d6,"formatLiteralPercent");function f6(e){return+e}i(f6,"formatUnixTimestamp");function p6(e){return Math.floor(+e/1e3)}i(p6,"formatUnixTimestampSeconds");var vu,J1,WG,UG,HG;CGe({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function CGe(e){return vu=CVe(e),J1=vu.format,WG=vu.parse,UG=vu.utcFormat,HG=vu.utcParse,vu}i(CGe,"defaultLocale$1");function SGe(e){return new Date(e)}i(SGe,"date$2");function jGe(e){return e instanceof Date?+e:+new Date(+e)}i(jGe,"number");function dA(e,t,n,r,a,o,s,c,l,u){var d=gG(),f=d.invert,m=d.domain,g=u(".%L"),h=u(":%S"),y=u("%I:%M"),b=u("%I %p"),x=u("%a %d"),w=u("%b %d"),C=u("%B"),j=u("%Y");function _(S){return(l(S)<S?g:c(S)<S?h:s(S)<S?y:o(S)<S?b:r(S)<S?a(S)<S?x:w:n(S)<S?C:j)(S)}return i(_,"tickFormat"),d.invert=function(S){return new Date(f(S))},d.domain=function(S){return arguments.length?m(Array.from(S,jGe)):m().map(SGe)},d.ticks=function(S){var k=m();return e(k[0],k[k.length-1],S??10)},d.tickFormat=function(S,k){return k==null?_:u(k)},d.nice=function(S){var k=m();return(!S||typeof S.range!="function")&&(S=t(k[0],k[k.length-1],S??10)),S?m(wG(k,S)):d},d.copy=function(){return V1(d,dA(e,t,n,r,a,o,s,c,l,u))},d}i(dA,"calendar");function _Ge(){return eu.apply(dA(xVe,wVe,ys,AG,G1,Hg,EG,kG,Ju,J1).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}i(_Ge,"time$1");function kGe(){return eu.apply(dA(yVe,bVe,bs,IG,K1,qg,OG,TG,Ju,UG).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)]),arguments)}i(kGe,"utcTime");function Tt(e){for(var t=e.length/6|0,n=new Array(t),r=0;r<t;)n[r]="#"+e.slice(r*6,++r*6);return n}i(Tt,"colors");const qG=Tt("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf"),VG=Tt("7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17666666"),GG=Tt("1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666"),KG=Tt("a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928"),JG=Tt("fbb4aeb3cde3ccebc5decbe4fed9a6ffffcce5d8bdfddaecf2f2f2"),YG=Tt("b3e2cdfdcdaccbd5e8f4cae4e6f5c9fff2aef1e2cccccccc"),QG=Tt("e41a1c377eb84daf4a984ea3ff7f00ffff33a65628f781bf999999"),XG=Tt("66c2a5fc8d628da0cbe78ac3a6d854ffd92fe5c494b3b3b3"),fA=Tt("8dd3c7ffffb3bebadafb807280b1d3fdb462b3de69fccde5d9d9d9bc80bdccebc5ffed6f"),un=i(e=>yqe(e[e.length-1]),"ramp$1");var Y1=new Array(3).concat("d8b365f5f5f55ab4ac","a6611adfc27d80cdc1018571","a6611adfc27df5f5f580cdc1018571","8c510ad8b365f6e8c3c7eae55ab4ac01665e","8c510ad8b365f6e8c3f5f5f5c7eae55ab4ac01665e","8c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e","8c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e","5430058c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e003c30","5430058c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e003c30").map(Tt);const $Ge=un(Y1);var Q1=new Array(3).concat("af8dc3f7f7f77fbf7b","7b3294c2a5cfa6dba0008837","7b3294c2a5cff7f7f7a6dba0008837","762a83af8dc3e7d4e8d9f0d37fbf7b1b7837","762a83af8dc3e7d4e8f7f7f7d9f0d37fbf7b1b7837","762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b7837","762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b7837","40004b762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b783700441b","40004b762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b783700441b").map(Tt);const EGe=un(Q1);var X1=new Array(3).concat("e9a3c9f7f7f7a1d76a","d01c8bf1b6dab8e1864dac26","d01c8bf1b6daf7f7f7b8e1864dac26","c51b7de9a3c9fde0efe6f5d0a1d76a4d9221","c51b7de9a3c9fde0eff7f7f7e6f5d0a1d76a4d9221","c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221","c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221","8e0152c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221276419","8e0152c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221276419").map(Tt);const RGe=un(X1);var Z1=new Array(3).concat("998ec3f7f7f7f1a340","5e3c99b2abd2fdb863e66101","5e3c99b2abd2f7f7f7fdb863e66101","542788998ec3d8daebfee0b6f1a340b35806","542788998ec3d8daebf7f7f7fee0b6f1a340b35806","5427888073acb2abd2d8daebfee0b6fdb863e08214b35806","5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b35806","2d004b5427888073acb2abd2d8daebfee0b6fdb863e08214b358067f3b08","2d004b5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b358067f3b08").map(Tt);const AGe=un(Z1);var ew=new Array(3).concat("ef8a62f7f7f767a9cf","ca0020f4a58292c5de0571b0","ca0020f4a582f7f7f792c5de0571b0","b2182bef8a62fddbc7d1e5f067a9cf2166ac","b2182bef8a62fddbc7f7f7f7d1e5f067a9cf2166ac","b2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac","b2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac","67001fb2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac053061","67001fb2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac053061").map(Tt);const PGe=un(ew);var tw=new Array(3).concat("ef8a62ffffff999999","ca0020f4a582bababa404040","ca0020f4a582ffffffbababa404040","b2182bef8a62fddbc7e0e0e09999994d4d4d","b2182bef8a62fddbc7ffffffe0e0e09999994d4d4d","b2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d","b2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d","67001fb2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d1a1a1a","67001fb2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d1a1a1a").map(Tt);const TGe=un(tw);var nw=new Array(3).concat("fc8d59ffffbf91bfdb","d7191cfdae61abd9e92c7bb6","d7191cfdae61ffffbfabd9e92c7bb6","d73027fc8d59fee090e0f3f891bfdb4575b4","d73027fc8d59fee090ffffbfe0f3f891bfdb4575b4","d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4","d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4","a50026d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4313695","a50026d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4313695").map(Tt);const MGe=un(nw);var rw=new Array(3).concat("fc8d59ffffbf91cf60","d7191cfdae61a6d96a1a9641","d7191cfdae61ffffbfa6d96a1a9641","d73027fc8d59fee08bd9ef8b91cf601a9850","d73027fc8d59fee08bffffbfd9ef8b91cf601a9850","d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850","d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850","a50026d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850006837","a50026d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850006837").map(Tt);const OGe=un(rw);var aw=new Array(3).concat("fc8d59ffffbf99d594","d7191cfdae61abdda42b83ba","d7191cfdae61ffffbfabdda42b83ba","d53e4ffc8d59fee08be6f59899d5943288bd","d53e4ffc8d59fee08bffffbfe6f59899d5943288bd","d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd","d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd","9e0142d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd5e4fa2","9e0142d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd5e4fa2").map(Tt);const zGe=un(aw);var ow=new Array(3).concat("e5f5f999d8c92ca25f","edf8fbb2e2e266c2a4238b45","edf8fbb2e2e266c2a42ca25f006d2c","edf8fbccece699d8c966c2a42ca25f006d2c","edf8fbccece699d8c966c2a441ae76238b45005824","f7fcfde5f5f9ccece699d8c966c2a441ae76238b45005824","f7fcfde5f5f9ccece699d8c966c2a441ae76238b45006d2c00441b").map(Tt);const IGe=un(ow);var iw=new Array(3).concat("e0ecf49ebcda8856a7","edf8fbb3cde38c96c688419d","edf8fbb3cde38c96c68856a7810f7c","edf8fbbfd3e69ebcda8c96c68856a7810f7c","edf8fbbfd3e69ebcda8c96c68c6bb188419d6e016b","f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d6e016b","f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d810f7c4d004b").map(Tt);const LGe=un(iw);var sw=new Array(3).concat("e0f3dba8ddb543a2ca","f0f9e8bae4bc7bccc42b8cbe","f0f9e8bae4bc7bccc443a2ca0868ac","f0f9e8ccebc5a8ddb57bccc443a2ca0868ac","f0f9e8ccebc5a8ddb57bccc44eb3d32b8cbe08589e","f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe08589e","f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe0868ac084081").map(Tt);const DGe=un(sw);var cw=new Array(3).concat("fee8c8fdbb84e34a33","fef0d9fdcc8afc8d59d7301f","fef0d9fdcc8afc8d59e34a33b30000","fef0d9fdd49efdbb84fc8d59e34a33b30000","fef0d9fdd49efdbb84fc8d59ef6548d7301f990000","fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301f990000","fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301fb300007f0000").map(Tt);const NGe=un(cw);var lw=new Array(3).concat("ece2f0a6bddb1c9099","f6eff7bdc9e167a9cf02818a","f6eff7bdc9e167a9cf1c9099016c59","f6eff7d0d1e6a6bddb67a9cf1c9099016c59","f6eff7d0d1e6a6bddb67a9cf3690c002818a016450","fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016450","fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016c59014636").map(Tt);const FGe=un(lw);var uw=new Array(3).concat("ece7f2a6bddb2b8cbe","f1eef6bdc9e174a9cf0570b0","f1eef6bdc9e174a9cf2b8cbe045a8d","f1eef6d0d1e6a6bddb74a9cf2b8cbe045a8d","f1eef6d0d1e6a6bddb74a9cf3690c00570b0034e7b","fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0034e7b","fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0045a8d023858").map(Tt);const BGe=un(uw);var dw=new Array(3).concat("e7e1efc994c7dd1c77","f1eef6d7b5d8df65b0ce1256","f1eef6d7b5d8df65b0dd1c77980043","f1eef6d4b9dac994c7df65b0dd1c77980043","f1eef6d4b9dac994c7df65b0e7298ace125691003f","f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125691003f","f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125698004367001f").map(Tt);const WGe=un(dw);var fw=new Array(3).concat("fde0ddfa9fb5c51b8a","feebe2fbb4b9f768a1ae017e","feebe2fbb4b9f768a1c51b8a7a0177","feebe2fcc5c0fa9fb5f768a1c51b8a7a0177","feebe2fcc5c0fa9fb5f768a1dd3497ae017e7a0177","fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a0177","fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a017749006a").map(Tt);const UGe=un(fw);var pw=new Array(3).concat("edf8b17fcdbb2c7fb8","ffffcca1dab441b6c4225ea8","ffffcca1dab441b6c42c7fb8253494","ffffccc7e9b47fcdbb41b6c42c7fb8253494","ffffccc7e9b47fcdbb41b6c41d91c0225ea80c2c84","ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea80c2c84","ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea8253494081d58").map(Tt);const HGe=un(pw);var mw=new Array(3).concat("f7fcb9addd8e31a354","ffffccc2e69978c679238443","ffffccc2e69978c67931a354006837","ffffccd9f0a3addd8e78c67931a354006837","ffffccd9f0a3addd8e78c67941ab5d238443005a32","ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443005a32","ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443006837004529").map(Tt);const qGe=un(mw);var hw=new Array(3).concat("fff7bcfec44fd95f0e","ffffd4fed98efe9929cc4c02","ffffd4fed98efe9929d95f0e993404","ffffd4fee391fec44ffe9929d95f0e993404","ffffd4fee391fec44ffe9929ec7014cc4c028c2d04","ffffe5fff7bcfee391fec44ffe9929ec7014cc4c028c2d04","ffffe5fff7bcfee391fec44ffe9929ec7014cc4c02993404662506").map(Tt);const VGe=un(hw);var gw=new Array(3).concat("ffeda0feb24cf03b20","ffffb2fecc5cfd8d3ce31a1c","ffffb2fecc5cfd8d3cf03b20bd0026","ffffb2fed976feb24cfd8d3cf03b20bd0026","ffffb2fed976feb24cfd8d3cfc4e2ae31a1cb10026","ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cb10026","ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cbd0026800026").map(Tt);const GGe=un(gw);var vw=new Array(3).concat("deebf79ecae13182bd","eff3ffbdd7e76baed62171b5","eff3ffbdd7e76baed63182bd08519c","eff3ffc6dbef9ecae16baed63182bd08519c","eff3ffc6dbef9ecae16baed64292c62171b5084594","f7fbffdeebf7c6dbef9ecae16baed64292c62171b5084594","f7fbffdeebf7c6dbef9ecae16baed64292c62171b508519c08306b").map(Tt);const KGe=un(vw);var yw=new Array(3).concat("e5f5e0a1d99b31a354","edf8e9bae4b374c476238b45","edf8e9bae4b374c47631a354006d2c","edf8e9c7e9c0a1d99b74c47631a354006d2c","edf8e9c7e9c0a1d99b74c47641ab5d238b45005a32","f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45005a32","f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45006d2c00441b").map(Tt);const JGe=un(yw);var bw=new Array(3).concat("f0f0f0bdbdbd636363","f7f7f7cccccc969696525252","f7f7f7cccccc969696636363252525","f7f7f7d9d9d9bdbdbd969696636363252525","f7f7f7d9d9d9bdbdbd969696737373525252252525","fffffff0f0f0d9d9d9bdbdbd969696737373525252252525","fffffff0f0f0d9d9d9bdbdbd969696737373525252252525000000").map(Tt);const YGe=un(bw);var xw=new Array(3).concat("efedf5bcbddc756bb1","f2f0f7cbc9e29e9ac86a51a3","f2f0f7cbc9e29e9ac8756bb154278f","f2f0f7dadaebbcbddc9e9ac8756bb154278f","f2f0f7dadaebbcbddc9e9ac8807dba6a51a34a1486","fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a34a1486","fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a354278f3f007d").map(Tt);const QGe=un(xw);var ww=new Array(3).concat("fee0d2fc9272de2d26","fee5d9fcae91fb6a4acb181d","fee5d9fcae91fb6a4ade2d26a50f15","fee5d9fcbba1fc9272fb6a4ade2d26a50f15","fee5d9fcbba1fc9272fb6a4aef3b2ccb181d99000d","fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181d99000d","fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181da50f1567000d").map(Tt);const XGe=un(ww);var Cw=new Array(3).concat("fee6cefdae6be6550d","feeddefdbe85fd8d3cd94701","feeddefdbe85fd8d3ce6550da63603","feeddefdd0a2fdae6bfd8d3ce6550da63603","feeddefdd0a2fdae6bfd8d3cf16913d948018c2d04","fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d948018c2d04","fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d94801a636037f2704").map(Tt);const ZGe=un(Cw);function eKe(e){return e=Math.max(0,Math.min(1,e)),"rgb("+Math.max(0,Math.min(255,Math.round(-4.54-e*(35.34-e*(2381.73-e*(6402.7-e*(7024.72-e*2710.57)))))))+", "+Math.max(0,Math.min(255,Math.round(32.49+e*(170.73+e*(52.82-e*(131.46-e*(176.58-e*67.37)))))))+", "+Math.max(0,Math.min(255,Math.round(81.24+e*(442.36-e*(2482.43-e*(6167.24-e*(6614.94-e*2475.67)))))))+")"}i(eKe,"ne$1");const tKe=aA(Mi(300,.5,0),Mi(-240,.5,1));var nKe=aA(Mi(-100,.75,.35),Mi(80,1.5,.8)),rKe=aA(Mi(260,.75,.35),Mi(80,1.5,.8)),Tv=Mi();function aKe(e){(e<0||e>1)&&(e-=Math.floor(e));var t=Math.abs(e-.5);return Tv.h=360*e-100,Tv.s=1.5-1.5*t,Tv.l=.8-.9*t,Tv+""}i(aKe,"be$1");var Mv=bf(),oKe=Math.PI/3,iKe=Math.PI*2/3;function sKe(e){var t;return e=(.5-e)*Math.PI,Mv.r=255*(t=Math.sin(e))*t,Mv.g=255*(t=Math.sin(e+oKe))*t,Mv.b=255*(t=Math.sin(e+iKe))*t,Mv+""}i(sKe,"ve$1");function cKe(e){return e=Math.max(0,Math.min(1,e)),"rgb("+Math.max(0,Math.min(255,Math.round(34.61+e*(1172.33-e*(10793.56-e*(33300.12-e*(38394.49-e*14825.05)))))))+", "+Math.max(0,Math.min(255,Math.round(23.31+e*(557.33+e*(1225.33-e*(3574.96-e*(1073.77+e*707.56)))))))+", "+Math.max(0,Math.min(255,Math.round(27.2+e*(3211.1-e*(15327.97-e*(27814-e*(22569.18-e*6838.66)))))))+")"}i(cKe,"X$3");function Sw(e){var t=e.length;return function(n){return e[Math.max(0,Math.min(t-1,Math.floor(n*t)))]}}i(Sw,"ramp");const lKe=Sw(Tt("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725"));var uKe=Sw(Tt("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf")),dKe=Sw(Tt("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4")),fKe=Sw(Tt("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921")),pKe=BH,mKe=Uf,hKe=mx,gKe=mKe(function(e,t){return hKe(e)?pKe(e,t):[]}),vKe=gKe;const ZG=Gt(vKe);function Ov(e){return i(function(){return e},"constant")}i(Ov,"constant");var m6=1e-12;function eK(e){this._context=e}i(eK,"Linear");eK.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t);break}}};function yKe(e){return new eK(e)}i(yKe,"dr");var h6=Array.prototype.slice;function yc(){}i(yc,"noop");function b0(e,t,n){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+n)/6)}i(b0,"point$3");function jw(e){this._context=e}i(jw,"Basis");jw.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:b0(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:b0(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function bKe(e){return new jw(e)}i(bKe,"$e$1");function tK(e){this._context=e}i(tK,"BasisClosed");tK.prototype={areaStart:yc,areaEnd:yc,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x2=e,this._y2=t;break;case 1:this._point=2,this._x3=e,this._y3=t;break;case 2:this._point=3,this._x4=e,this._y4=t,this._context.moveTo((this._x0+4*this._x1+e)/6,(this._y0+4*this._y1+t)/6);break;default:b0(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function xKe(e){return new tK(e)}i(xKe,"er");function nK(e){this._context=e}i(nK,"BasisOpen");nK.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+e)/6,r=(this._y0+4*this._y1+t)/6;this._line?this._context.lineTo(n,r):this._context.moveTo(n,r);break;case 3:this._point=4;default:b0(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function wKe(e){return new nK(e)}i(wKe,"rr");function rK(e,t){this._basis=new jw(e),this._beta=t}i(rK,"Bundle");rK.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var e=this._x,t=this._y,n=e.length-1;if(n>0)for(var r=e[0],a=t[0],o=e[n]-r,s=t[n]-a,c=-1,l;++c<=n;)l=c/n,this._basis.point(this._beta*e[c]+(1-this._beta)*(r+l*o),this._beta*t[c]+(1-this._beta)*(a+l*s));this._x=this._y=null,this._basis.lineEnd()},point:function(e,t){this._x.push(+e),this._y.push(+t)}};const CKe=i(function e(t){function n(r){return t===1?new jw(r):new rK(r,t)}return i(n,"bundle"),n.beta=function(r){return e(+r)},n},"custom")(.85);function x0(e,t,n){e._context.bezierCurveTo(e._x1+e._k*(e._x2-e._x0),e._y1+e._k*(e._y2-e._y0),e._x2+e._k*(e._x1-t),e._y2+e._k*(e._y1-n),e._x2,e._y2)}i(x0,"point$2");function pA(e,t){this._context=e,this._k=(1-t)/6}i(pA,"Cardinal");pA.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:x0(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2,this._x1=e,this._y1=t;break;case 2:this._point=3;default:x0(this,e,t);break}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};const SKe=i(function e(t){function n(r){return new pA(r,t)}return i(n,"cardinal"),n.tension=function(r){return e(+r)},n},"custom")(0);function mA(e,t){this._context=e,this._k=(1-t)/6}i(mA,"CardinalClosed");mA.prototype={areaStart:yc,areaEnd:yc,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x3=e,this._y3=t;break;case 1:this._point=2,this._context.moveTo(this._x4=e,this._y4=t);break;case 2:this._point=3,this._x5=e,this._y5=t;break;default:x0(this,e,t);break}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};const jKe=i(function e(t){function n(r){return new mA(r,t)}return i(n,"cardinal"),n.tension=function(r){return e(+r)},n},"custom")(0);function hA(e,t){this._context=e,this._k=(1-t)/6}i(hA,"CardinalOpen");hA.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:x0(this,e,t);break}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};const _Ke=i(function e(t){function n(r){return new hA(r,t)}return i(n,"cardinal"),n.tension=function(r){return e(+r)},n},"custom")(0);function gA(e,t,n){var r=e._x1,a=e._y1,o=e._x2,s=e._y2;if(e._l01_a>m6){var c=2*e._l01_2a+3*e._l01_a*e._l12_a+e._l12_2a,l=3*e._l01_a*(e._l01_a+e._l12_a);r=(r*c-e._x0*e._l12_2a+e._x2*e._l01_2a)/l,a=(a*c-e._y0*e._l12_2a+e._y2*e._l01_2a)/l}if(e._l23_a>m6){var u=2*e._l23_2a+3*e._l23_a*e._l12_a+e._l12_2a,d=3*e._l23_a*(e._l23_a+e._l12_a);o=(o*u+e._x1*e._l23_2a-t*e._l12_2a)/d,s=(s*u+e._y1*e._l23_2a-n*e._l12_2a)/d}e._context.bezierCurveTo(r,a,o,s,e._x2,e._y2)}i(gA,"point$1");function aK(e,t){this._context=e,this._alpha=t}i(aK,"CatmullRom");aK.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){if(e=+e,t=+t,this._point){var n=this._x2-e,r=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3;default:gA(this,e,t);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};const kKe=i(function e(t){function n(r){return t?new aK(r,t):new pA(r,0)}return i(n,"catmullRom"),n.alpha=function(r){return e(+r)},n},"custom")(.5);function oK(e,t){this._context=e,this._alpha=t}i(oK,"CatmullRomClosed");oK.prototype={areaStart:yc,areaEnd:yc,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(e,t){if(e=+e,t=+t,this._point){var n=this._x2-e,r=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=e,this._y3=t;break;case 1:this._point=2,this._context.moveTo(this._x4=e,this._y4=t);break;case 2:this._point=3,this._x5=e,this._y5=t;break;default:gA(this,e,t);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};const $Ke=i(function e(t){function n(r){return t?new oK(r,t):new mA(r,0)}return i(n,"catmullRom"),n.alpha=function(r){return e(+r)},n},"custom")(.5);function iK(e,t){this._context=e,this._alpha=t}i(iK,"CatmullRomOpen");iK.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){if(e=+e,t=+t,this._point){var n=this._x2-e,r=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:gA(this,e,t);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};const EKe=i(function e(t){function n(r){return t?new iK(r,t):new hA(r,0)}return i(n,"catmullRom"),n.alpha=function(r){return e(+r)},n},"custom")(.5);function sK(e){this._context=e}i(sK,"LinearClosed");sK.prototype={areaStart:yc,areaEnd:yc,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(e,t){e=+e,t=+t,this._point?this._context.lineTo(e,t):(this._point=1,this._context.moveTo(e,t))}};function RKe(e){return new sK(e)}i(RKe,"ur");function g6(e){return e<0?-1:1}i(g6,"sign");function v6(e,t,n){var r=e._x1-e._x0,a=t-e._x1,o=(e._y1-e._y0)/(r||a<0&&-0),s=(n-e._y1)/(a||r<0&&-0),c=(o*a+s*r)/(r+a);return(g6(o)+g6(s))*Math.min(Math.abs(o),Math.abs(s),.5*Math.abs(c))||0}i(v6,"slope3");function y6(e,t){var n=e._x1-e._x0;return n?(3*(e._y1-e._y0)/n-t)/2:t}i(y6,"slope2");function KC(e,t,n){var r=e._x0,a=e._y0,o=e._x1,s=e._y1,c=(o-r)/3;e._context.bezierCurveTo(r+c,a+c*t,o-c,s-c*n,o,s)}i(KC,"point");function w0(e){this._context=e}i(w0,"MonotoneX");w0.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:KC(this,this._t0,y6(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){var n=NaN;if(e=+e,t=+t,!(e===this._x1&&t===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,KC(this,y6(this,n=v6(this,e,t)),n);break;default:KC(this,this._t0,n=v6(this,e,t));break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=n}}};function cK(e){this._context=new lK(e)}i(cK,"MonotoneY");(cK.prototype=Object.create(w0.prototype)).point=function(e,t){w0.prototype.point.call(this,t,e)};function lK(e){this._context=e}i(lK,"ReflectContext");lK.prototype={moveTo:function(e,t){this._context.moveTo(t,e)},closePath:function(){this._context.closePath()},lineTo:function(e,t){this._context.lineTo(t,e)},bezierCurveTo:function(e,t,n,r,a,o){this._context.bezierCurveTo(t,e,r,n,o,a)}};function AKe(e){return new w0(e)}i(AKe,"monotoneX");function PKe(e){return new cK(e)}i(PKe,"monotoneY");function uK(e){this._context=e}i(uK,"Natural");uK.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var e=this._x,t=this._y,n=e.length;if(n)if(this._line?this._context.lineTo(e[0],t[0]):this._context.moveTo(e[0],t[0]),n===2)this._context.lineTo(e[1],t[1]);else for(var r=b6(e),a=b6(t),o=0,s=1;s<n;++o,++s)this._context.bezierCurveTo(r[0][o],a[0][o],r[1][o],a[1][o],e[s],t[s]);(this._line||this._line!==0&&n===1)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(e,t){this._x.push(+e),this._y.push(+t)}};function b6(e){var t,n=e.length-1,r,a=new Array(n),o=new Array(n),s=new Array(n);for(a[0]=0,o[0]=2,s[0]=e[0]+2*e[1],t=1;t<n-1;++t)a[t]=1,o[t]=4,s[t]=4*e[t]+2*e[t+1];for(a[n-1]=2,o[n-1]=7,s[n-1]=8*e[n-1]+e[n],t=1;t<n;++t)r=a[t]/o[t-1],o[t]-=r,s[t]-=r*s[t-1];for(a[n-1]=s[n-1]/o[n-1],t=n-2;t>=0;--t)a[t]=(s[t]-a[t+1])/o[t];for(o[n-1]=(e[n]+a[n-1])/2,t=0;t<n-1;++t)o[t]=2*e[t+1]-a[t+1];return[a,o]}i(b6,"controlPoints");function TKe(e){return new uK(e)}i(TKe,"pr$1");function _w(e,t){this._context=e,this._t=t}i(_w,"Step");_w.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&this._point===2&&this._context.lineTo(this._x,this._y),(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var n=this._x*(1-this._t)+e*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,t)}break}}this._x=e,this._y=t}};function MKe(e){return new _w(e,.5)}i(MKe,"hr");function OKe(e){return new _w(e,0)}i(OKe,"stepBefore");function zKe(e){return new _w(e,1)}i(zKe,"stepAfter");function Sf(e,t){if((s=e.length)>1)for(var n=1,r,a,o=e[t[0]],s,c=o.length;n<s;++n)for(a=o,o=e[t[n]],r=0;r<c;++r)o[r][1]+=o[r][0]=isNaN(a[r][1])?a[r][0]:a[r][1]}i(Sf,"wr");function jf(e){for(var t=e.length,n=new Array(t);--t>=0;)n[t]=t;return n}i(jf,"Rr");function IKe(e,t){return e[t]}i(IKe,"stackValue");function LKe(){var e=Ov([]),t=jf,n=Sf,r=IKe;function a(o){var s=e.apply(this,arguments),c,l=o.length,u=s.length,d=new Array(u),f;for(c=0;c<u;++c){for(var m=s[c],g=d[c]=new Array(l),h=0,y;h<l;++h)g[h]=y=[0,+r(o[h],m,h,o)],y.data=o[h];g.key=m}for(c=0,f=t(d);c<u;++c)d[f[c]].index=c;return n(d,f),d}return i(a,"stack"),a.keys=function(o){return arguments.length?(e=typeof o=="function"?o:Ov(h6.call(o)),a):e},a.value=function(o){return arguments.length?(r=typeof o=="function"?o:Ov(+o),a):r},a.order=function(o){return arguments.length?(t=o==null?jf:typeof o=="function"?o:Ov(h6.call(o)),a):t},a.offset=function(o){return arguments.length?(n=o??Sf,a):n},a}i(LKe,"A$1");function DKe(e,t){if((r=e.length)>0){for(var n,r,a=0,o=e[0].length,s;a<o;++a){for(s=n=0;n<r;++n)s+=e[n][a][1]||0;if(s)for(n=0;n<r;++n)e[n][a][1]/=s}Sf(e,t)}}i(DKe,"kr");function dK(e,t){if((l=e.length)>0)for(var n,r=0,a,o,s,c,l,u=e[t[0]].length;r<u;++r)for(s=c=0,n=0;n<l;++n)(o=(a=e[t[n]][r])[1]-a[0])>0?(a[0]=s,a[1]=s+=o):o<0?(a[1]=c,a[0]=c+=o):(a[0]=0,a[1]=o)}i(dK,"j$1");function NKe(e,t){if((a=e.length)>0){for(var n=0,r=e[t[0]],a,o=r.length;n<o;++n){for(var s=0,c=0;s<a;++s)c+=e[s][n][1]||0;r[n][1]+=r[n][0]=-c/2}Sf(e,t)}}i(NKe,"xr");function FKe(e,t){if(!(!((s=e.length)>0)||!((o=(a=e[t[0]]).length)>0))){for(var n=0,r=1,a,o,s;r<o;++r){for(var c=0,l=0,u=0;c<s;++c){for(var d=e[t[c]],f=d[r][1]||0,m=d[r-1][1]||0,g=(f-m)/2,h=0;h<c;++h){var y=e[t[h]],b=y[r][1]||0,x=y[r-1][1]||0;g+=b-x}l+=f,u+=g*f}a[r-1][1]+=a[r-1][0]=n,l&&(n-=u/l)}a[r-1][1]+=a[r-1][0]=n,Sf(e,t)}}i(FKe,"Or");function BKe(e){var t=e.map(WKe);return jf(e).sort(function(n,r){return t[n]-t[r]})}i(BKe,"appearance");function WKe(e){for(var t=-1,n=0,r=e.length,a,o=-1/0;++t<r;)(a=+e[t][1])>o&&(o=a,n=t);return n}i(WKe,"peak");function fK(e){var t=e.map(pK);return jf(e).sort(function(n,r){return t[n]-t[r]})}i(fK,"br");function pK(e){for(var t=0,n=-1,r=e.length,a;++n<r;)(a=+e[n][1])&&(t+=a);return t}i(pK,"sum");function UKe(e){return fK(e).reverse()}i(UKe,"yr");function HKe(e){var t=e.length,n,r,a=e.map(pK),o=BKe(e),s=0,c=0,l=[],u=[];for(n=0;n<t;++n)r=o[n],s<c?(s+=a[r],l.push(r)):(c+=a[r],u.push(r));return u.reverse().concat(l)}i(HKe,"vr");function qKe(e){return jf(e).reverse()}i(qKe,"qr");function VKe(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)}i(VKe,"formatDecimal");function C0(e,t){if((n=(e=t?e.toExponential(t-1):e.toExponential()).indexOf("e"))<0)return null;var n,r=e.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+e.slice(n+1)]}i(C0,"formatDecimalParts");function GKe(e){return e=C0(Math.abs(e)),e?e[1]:NaN}i(GKe,"exponent");function KKe(e,t){return function(n,r){for(var a=n.length,o=[],s=0,c=e[0],l=0;a>0&&c>0&&(l+c+1>r&&(c=Math.max(1,r-l)),o.push(n.substring(a-=c,a+c)),!((l+=c+1)>r));)c=e[s=(s+1)%e.length];return o.reverse().join(t)}}i(KKe,"formatGroup");function JKe(e){return function(t){return t.replace(/[0-9]/g,function(n){return e[+n]})}}i(JKe,"formatNumerals");var YKe=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function X_(e){if(!(t=YKe.exec(e)))throw new Error("invalid format: "+e);var t;return new vA({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}i(X_,"formatSpecifier");X_.prototype=vA.prototype;function vA(e){this.fill=e.fill===void 0?" ":e.fill+"",this.align=e.align===void 0?">":e.align+"",this.sign=e.sign===void 0?"-":e.sign+"",this.symbol=e.symbol===void 0?"":e.symbol+"",this.zero=!!e.zero,this.width=e.width===void 0?void 0:+e.width,this.comma=!!e.comma,this.precision=e.precision===void 0?void 0:+e.precision,this.trim=!!e.trim,this.type=e.type===void 0?"":e.type+""}i(vA,"FormatSpecifier");vA.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function QKe(e){e:for(var t=e.length,n=1,r=-1,a;n<t;++n)switch(e[n]){case".":r=a=n;break;case"0":r===0&&(r=n),a=n;break;default:if(!+e[n])break e;r>0&&(r=0);break}return r>0?e.slice(0,r)+e.slice(a+1):e}i(QKe,"formatTrim");var mK;function XKe(e,t){var n=C0(e,t);if(!n)return e+"";var r=n[0],a=n[1],o=a-(mK=Math.max(-8,Math.min(8,Math.floor(a/3)))*3)+1,s=r.length;return o===s?r:o>s?r+new Array(o-s+1).join("0"):o>0?r.slice(0,o)+"."+r.slice(o):"0."+new Array(1-o).join("0")+C0(e,Math.max(0,t+o-1))[0]}i(XKe,"formatPrefixAuto");function x6(e,t){var n=C0(e,t);if(!n)return e+"";var r=n[0],a=n[1];return a<0?"0."+new Array(-a).join("0")+r:r.length>a+1?r.slice(0,a+1)+"."+r.slice(a+1):r+new Array(a-r.length+2).join("0")}i(x6,"formatRounded");const w6={"%":function(e,t){return(e*100).toFixed(t)},b:function(e){return Math.round(e).toString(2)},c:function(e){return e+""},d:VKe,e:function(e,t){return e.toExponential(t)},f:function(e,t){return e.toFixed(t)},g:function(e,t){return e.toPrecision(t)},o:function(e){return Math.round(e).toString(8)},p:function(e,t){return x6(e*100,t)},r:x6,s:XKe,X:function(e){return Math.round(e).toString(16).toUpperCase()},x:function(e){return Math.round(e).toString(16)}};function C6(e){return e}i(C6,"identity$1");var S6=Array.prototype.map,j6=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function ZKe(e){var t=e.grouping===void 0||e.thousands===void 0?C6:KKe(S6.call(e.grouping,Number),e.thousands+""),n=e.currency===void 0?"":e.currency[0]+"",r=e.currency===void 0?"":e.currency[1]+"",a=e.decimal===void 0?".":e.decimal+"",o=e.numerals===void 0?C6:JKe(S6.call(e.numerals,String)),s=e.percent===void 0?"%":e.percent+"",c=e.minus===void 0?"-":e.minus+"",l=e.nan===void 0?"NaN":e.nan+"";function u(f){f=X_(f);var m=f.fill,g=f.align,h=f.sign,y=f.symbol,b=f.zero,x=f.width,w=f.comma,C=f.precision,j=f.trim,_=f.type;_==="n"?(w=!0,_="g"):w6[_]||(C===void 0&&(C=12),j=!0,_="g"),(b||m==="0"&&g==="=")&&(b=!0,m="0",g="=");var S=y==="$"?n:y==="#"&&/[boxX]/.test(_)?"0"+_.toLowerCase():"",k=y==="$"?r:/[%p]/.test(_)?s:"",$=w6[_],E=/[defgprs%]/.test(_);C=C===void 0?6:/[gprs]/.test(_)?Math.max(1,Math.min(21,C)):Math.max(0,Math.min(20,C));function P(R){var T=S,M=k,I,z,H;if(_==="c")M=$(R)+M,R="";else{R=+R;var F=R<0||1/R<0;if(R=isNaN(R)?l:$(Math.abs(R),C),j&&(R=QKe(R)),F&&+R==0&&h!=="+"&&(F=!1),T=(F?h==="("?h:c:h==="-"||h==="("?"":h)+T,M=(_==="s"?j6[8+mK/3]:"")+M+(F&&h==="("?")":""),E){for(I=-1,z=R.length;++I<z;)if(H=R.charCodeAt(I),48>H||H>57){M=(H===46?a+R.slice(I+1):R.slice(I))+M,R=R.slice(0,I);break}}}w&&!b&&(R=t(R,1/0));var L=T.length+R.length+M.length,B=L<x?new Array(x-L+1).join(m):"";switch(w&&b&&(R=t(B+R,B.length?x-M.length:1/0),B=""),g){case"<":R=T+R+M+B;break;case"=":R=T+B+R+M;break;case"^":R=B.slice(0,L=B.length>>1)+T+R+M+B.slice(L);break;default:R=B+T+R+M;break}return o(R)}return i(P,"format"),P.toString=function(){return f+""},P}i(u,"newFormat");function d(f,m){var g=u((f=X_(f),f.type="f",f)),h=Math.max(-8,Math.min(8,Math.floor(GKe(m)/3)))*3,y=Math.pow(10,-h),b=j6[8+h/3];return function(x){return g(y*x)+b}}return i(d,"formatPrefix"),{format:u,formatPrefix:d}}i(ZKe,"formatLocale");var zv,yA;eJe({decimal:".",thousands:",",grouping:[3],currency:["$",""],minus:"-"});function eJe(e){return zv=ZKe(e),yA=zv.format,zv.formatPrefix,zv}i(eJe,"defaultLocale");function hr(){return hr=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},hr.apply(this,arguments)}i(hr,"Gr");function hK(e,t){if(e==null)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}i(hK,"Lr");var bc={fill:W.string,fontSize:W.number,fontFamily:W.string},tJe=W.shape({domain:W.shape({line:W.shape({stroke:W.string.isRequired,strokeWidth:W.number.isRequired,strokeDasharray:W.string}).isRequired}).isRequired,ticks:W.shape({line:W.shape({stroke:W.string.isRequired,strokeWidth:W.number.isRequired,strokeDasharray:W.string}).isRequired,text:W.shape(hr({},bc)).isRequired}).isRequired,legend:W.shape({text:W.shape(hr({},bc)).isRequired}).isRequired}),nJe=W.shape({line:W.shape({stroke:W.string.isRequired,strokeWidth:W.number.isRequired,strokeDasharray:W.string}).isRequired}),rJe=W.shape({hidden:W.shape({symbol:W.shape({fill:W.string.isRequired,opacity:W.number}).isRequired,text:W.shape(hr({},bc,{opacity:W.number})).isRequired}).isRequired,text:W.shape(hr({},bc)).isRequired}),aJe=W.shape({text:W.shape(hr({},bc)).isRequired}),oJe=W.shape({text:W.shape(hr({},bc)).isRequired}),iJe=W.shape({text:W.shape(hr({},bc)).isRequired}),sJe=W.shape({line:W.shape({stroke:W.string.isRequired,strokeWidth:W.number.isRequired,strokeDasharray:W.string}).isRequired}),cJe=W.shape({text:W.shape(hr({},bc,{outlineWidth:W.number.isRequired,outlineColor:W.string.isRequired})).isRequired,link:W.shape({stroke:W.string.isRequired,strokeWidth:W.number.isRequired,outlineWidth:W.number.isRequired,outlineColor:W.string.isRequired}).isRequired,outline:W.shape({stroke:W.string.isRequired,strokeWidth:W.number.isRequired,outlineWidth:W.number.isRequired,outlineColor:W.string.isRequired}).isRequired,symbol:W.shape({fill:W.string.isRequired,outlineWidth:W.number.isRequired,outlineColor:W.string.isRequired}).isRequired});W.shape({background:W.string.isRequired,fontFamily:W.string.isRequired,fontSize:W.number.isRequired,textColor:W.string.isRequired,axis:tJe.isRequired,grid:nJe.isRequired,legends:rJe.isRequired,labels:aJe.isRequired,dots:oJe.isRequired,markers:iJe,crosshair:sJe.isRequired,annotations:cJe.isRequired});var lJe={background:"transparent",fontFamily:"sans-serif",fontSize:11,textColor:"#333333",axis:{domain:{line:{stroke:"transparent",strokeWidth:1}},ticks:{line:{stroke:"#777777",strokeWidth:1},text:{}},legend:{text:{fontSize:12}}},grid:{line:{stroke:"#dddddd",strokeWidth:1}},legends:{hidden:{symbol:{fill:"#333333",opacity:.6},text:{fill:"#333333",opacity:.6}},text:{},ticks:{line:{stroke:"#777777",strokeWidth:1},text:{fontSize:10}},title:{text:{}}},labels:{text:{}},markers:{lineColor:"#000000",lineStrokeWidth:1,text:{}},dots:{text:{}},tooltip:{container:{background:"white",color:"inherit",fontSize:"inherit",borderRadius:"2px",boxShadow:"0 1px 2px rgba(0, 0, 0, 0.25)",padding:"5px 9px"},basic:{whiteSpace:"pre",display:"flex",alignItems:"center"},chip:{marginRight:7},table:{},tableCell:{padding:"3px 5px"},tableCellValue:{fontWeight:"bold"}},crosshair:{line:{stroke:"#000000",strokeWidth:1,strokeOpacity:.75,strokeDasharray:"6 6"}},annotations:{text:{fontSize:13,outlineWidth:2,outlineColor:"#ffffff",outlineOpacity:1},link:{stroke:"#000000",strokeWidth:1,outlineWidth:2,outlineColor:"#ffffff",outlineOpacity:1},outline:{fill:"none",stroke:"#000000",strokeWidth:2,outlineWidth:2,outlineColor:"#ffffff",outlineOpacity:1},symbol:{fill:"#000000",outlineWidth:2,outlineColor:"#ffffff",outlineOpacity:1}}},uJe=["axis.ticks.text","axis.legend.text","legends.title.text","legends.text","legends.ticks.text","legends.title.text","labels.text","dots.text","markers.text","annotations.text"],dJe=i(function(e,t){var n=T$({},e,t);return uJe.forEach(function(r){Ct(n,r+".fontFamily")===void 0&&$a(n,r+".fontFamily",n.fontFamily),Ct(n,r+".fontSize")===void 0&&$a(n,r+".fontSize",n.fontSize),Ct(n,r+".fill")===void 0&&$a(n,r+".fill",n.textColor)}),n},"Qr"),gK=v.createContext(),bA=i(function(e){var t=e.children,n=e.animate,r=e.stiffness,a=e.damping,o=e.config,s=v.useMemo(function(){var c=Mqe(o)?Y8[o]:o;return{animate:n,springConfig:{stiffness:r,damping:a},config:c}},[n,r,a,o]);return p.jsx(gK.Provider,{value:s,children:t})},"$r"),Iv={animate:W.bool,motionStiffness:W.number,motionDamping:W.number,motionConfig:W.oneOfType([W.oneOf(Object.keys(Y8)),W.shape({mass:W.number,tension:W.number,friction:W.number,clamp:W.bool,precision:W.number,velocity:W.number,duration:W.number,easing:W.func})])};bA.propTypes={children:W.node.isRequired,animate:Iv.animate,stiffness:Iv.motionStiffness,damping:Iv.motionDamping,config:Iv.motionConfig};var fJe={animate:!0,stiffness:90,damping:15,config:"default"};bA.defaultProps=fJe;var Ko=i(function(){return v.useContext(gK)},"tt"),pJe=i(function(e){var t=Ko(),n=t.animate,r=t.config,a=function(c){var l=v.useRef();return v.useEffect(function(){l.current=c},[c]),l.current}(e),o=v.useMemo(function(){return dG(a,e)},[a,e]),s=Es({from:{value:0},to:{value:1},reset:!0,config:r,immediate:!n}).value;return F_(s,o)},"it"),mJe={nivo:["#d76445","#f47560","#e8c1a0","#97e3d5","#61cdbb","#00b0a7"],BrBG:mt(Y1),PRGn:mt(Q1),PiYG:mt(X1),PuOr:mt(Z1),RdBu:mt(ew),RdGy:mt(tw),RdYlBu:mt(nw),RdYlGn:mt(rw),spectral:mt(aw),blues:mt(vw),greens:mt(yw),greys:mt(bw),oranges:mt(Cw),purples:mt(xw),reds:mt(ww),BuGn:mt(ow),BuPu:mt(iw),GnBu:mt(sw),OrRd:mt(cw),PuBuGn:mt(lw),PuBu:mt(uw),PuRd:mt(dw),RdPu:mt(fw),YlGnBu:mt(pw),YlGn:mt(mw),YlOrBr:mt(hw),YlOrRd:mt(gw)},hJe=Object.keys(mJe);mt(Y1),mt(Q1),mt(X1),mt(Z1),mt(ew),mt(tw),mt(nw),mt(rw),mt(aw),mt(vw),mt(yw),mt(bw),mt(Cw),mt(xw),mt(ww),mt(ow),mt(iw),mt(sw),mt(cw),mt(lw),mt(uw),mt(dw),mt(fw),mt(pw),mt(mw),mt(hw),mt(gw);W.oneOfType([W.oneOf(hJe),W.func,W.arrayOf(W.string)]);var gJe={basis:bKe,basisClosed:xKe,basisOpen:wKe,bundle:CKe,cardinal:SKe,cardinalClosed:jKe,cardinalOpen:_Ke,catmullRom:kKe,catmullRomClosed:$Ke,catmullRomOpen:EKe,linear:yKe,linearClosed:RKe,monotoneX:AKe,monotoneY:PKe,natural:TKe,step:MKe,stepAfter:zKe,stepBefore:OKe},kw=Object.keys(gJe);W.oneOf(kw);kw.filter(function(e){return e.endsWith("Closed")});ZG(kw,"bundle","basisClosed","basisOpen","cardinalClosed","cardinalOpen","catmullRomClosed","catmullRomOpen","linearClosed");var vJe=ZG(kw,"bundle","basisClosed","basisOpen","cardinalClosed","cardinalOpen","catmullRomClosed","catmullRomOpen","linearClosed");W.oneOf(vJe);W.arrayOf(W.shape({id:W.string.isRequired})).isRequired,W.arrayOf(W.shape({id:W.string.isRequired,match:W.oneOfType([W.oneOf(["*"]),W.object,W.func]).isRequired})).isRequired;var yJe={ascending:fK,descending:UKe,insideOut:HKe,none:jf,reverse:qKe},bJe=Object.keys(yJe);W.oneOf(bJe);var xJe={expand:DKe,diverging:dK,none:Sf,silhouette:NKe,wiggle:FKe},wJe=Object.keys(xJe);W.oneOf(wJe);W.shape({top:W.number,right:W.number,bottom:W.number,left:W.number}).isRequired;var CJe=["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"];W.oneOf(CJe);tl(fA);var SJe={top:0,right:0,bottom:0,left:0},vK=i(function(e,t,n){return n===void 0&&(n={}),v.useMemo(function(){var r=hr({},SJe,n);return{margin:r,innerWidth:e-r.left-r.right,innerHeight:t-r.top-r.bottom,outerWidth:e,outerHeight:t}},[e,t,n.top,n.right,n.bottom,n.left])},"At"),yK=i(function(){var e=v.useRef(null),t=v.useState({left:0,top:0,width:0,height:0}),n=t[0],r=t[1],a=v.useState(function(){return typeof window<"u"?new ResizeObserver(function(o){var s=o[0];return r(s.contentRect)}):null})[0];return v.useEffect(function(){return e.current&&a!==null&&a.observe(e.current),function(){a!==null&&a.disconnect()}},[]),[e,n]},"Ft"),jJe=i(function(e){return v.useMemo(function(){return dJe(lJe,e)},[e])},"Et"),_Je=i(function(e){return typeof e=="function"?e:typeof e=="string"?e.indexOf("time:")===0?J1(e.slice("5")):yA(e):function(t){return""+t}},"Ut"),bK=i(function(e){return v.useMemo(function(){return _Je(e)},[e])},"Xt"),xK=v.createContext(),kJe={},wK=i(function(e){var t=e.theme,n=t===void 0?kJe:t,r=e.children,a=jJe(n);return p.jsx(xK.Provider,{value:a,children:r})},"Nt");wK.propTypes={children:W.node.isRequired,theme:W.object};var ur=i(function(){return v.useContext(xK)},"Vt"),CK=i(function(e){var t=e.children,n=e.condition,r=e.wrapper;return n?v.cloneElement(r,{},t):t},"Jt");CK.propTypes={children:W.node.isRequired,condition:W.bool.isRequired,wrapper:W.element.isRequired};var $Je={position:"relative"},xA=i(function(e){var t=e.children,n=e.theme,r=e.renderWrapper,a=r===void 0||r,o=e.isInteractive,s=o===void 0||o,c=e.animate,l=e.motionStiffness,u=e.motionDamping,d=e.motionConfig,f=v.useRef(null);return p.jsx(wK,{theme:n,children:p.jsx(bA,{animate:c,stiffness:l,damping:u,config:d,children:p.jsx(ZHe,{container:f,children:p.jsxs(CK,{condition:a,wrapper:p.jsx("div",{style:$Je,ref:f}),children:[t,s&&p.jsx(XHe,{})]})})})})},"Zt");xA.propTypes={children:W.element.isRequired,isInteractive:W.bool,renderWrapper:W.bool,theme:W.object,animate:W.bool,motionStiffness:W.number,motionDamping:W.number,motionConfig:W.string};W.func.isRequired,W.bool,W.bool,W.object.isRequired,W.bool.isRequired,W.number,W.number,W.string;var wA=i(function(e){var t=e.children,n=yK(),r=n[0],a=n[1],o=a.width>0&&a.height>0;return p.jsx("div",{ref:r,style:{width:"100%",height:"100%"},children:o&&t({width:a.width,height:a.height})})},"ti");wA.propTypes={children:W.func.isRequired};var EJe=["id","colors"],SK=i(function(e){var t=e.id,n=e.colors,r=hK(e,EJe);return p.jsx("linearGradient",hr({id:t,x1:0,x2:0,y1:0,y2:1},r,{children:n.map(function(a){var o=a.offset,s=a.color,c=a.opacity;return p.jsx("stop",{offset:o+"%",stopColor:s,stopOpacity:c!==void 0?c:1},o)})}))},"ni");SK.propTypes={id:W.string.isRequired,colors:W.arrayOf(W.shape({offset:W.number.isRequired,color:W.string.isRequired,opacity:W.number})).isRequired,gradientTransform:W.string};var jK={linearGradient:SK},Ty=v.memo(function(e){var t=e.id,n=e.background,r=e.color,a=e.size,o=e.padding,s=e.stagger,c=a+o,l=a/2,u=o/2;return s===!0&&(c=2*a+2*o),p.jsxs("pattern",{id:t,width:c,height:c,patternUnits:"userSpaceOnUse",children:[p.jsx("rect",{width:c,height:c,fill:n}),p.jsx("circle",{cx:u+l,cy:u+l,r:l,fill:r}),s&&p.jsx("circle",{cx:1.5*o+a+l,cy:1.5*o+a+l,r:l,fill:r})]})});Ty.displayName="PatternDots",Ty.propTypes={id:W.string.isRequired,color:W.string.isRequired,background:W.string.isRequired,size:W.number.isRequired,padding:W.number.isRequired,stagger:W.bool.isRequired},Ty.defaultProps={color:"#000000",background:"#ffffff",size:4,padding:4,stagger:!1};var Sh=i(function(e){return e*Math.PI/180},"ui"),RJe=i(function(e){return 180*e/Math.PI},"fi"),AJe=i(function(e,t){return{x:Math.cos(e)*t,y:Math.sin(e)*t}},"pi"),PJe=i(function(e){var t=e%360;return t<0&&(t+=360),t},"hi"),TJe={svg:{align:{left:"start",center:"middle",right:"end",start:"start",middle:"middle",end:"end"},baseline:{top:"text-before-edge",center:"central",bottom:"alphabetic"}},canvas:{align:{left:"left",center:"center",right:"right",start:"left",middle:"center",end:"right"},baseline:{top:"top",center:"middle",bottom:"bottom"}}},My=v.memo(function(e){var t=e.id,n=e.spacing,r=e.rotation,a=e.background,o=e.color,s=e.lineWidth,c=Math.round(r)%360,l=Math.abs(n);c>180?c-=360:c>90?c-=180:c<-180?c+=360:c<-90&&(c+=180);var u,d=l,f=l;return c===0?u=` - M 0 0 L `+d+` 0 - M 0 `+f+" L "+d+" "+f+` - `:c===90?u=` - M 0 0 L 0 `+f+` - M `+d+" 0 L "+d+" "+f+` - `:(d=Math.abs(l/Math.sin(Sh(c))),f=l/Math.sin(Sh(90-c)),u=c>0?` - M 0 `+-f+" L "+2*d+" "+f+` - M `+-d+" "+-f+" L "+d+" "+f+` - M `+-d+" 0 L "+d+" "+2*f+` - `:` - M `+-d+" "+f+" L "+d+" "+-f+` - M `+-d+" "+2*f+" L "+2*d+" "+-f+` - M 0 `+2*f+" L "+2*d+` 0 - `),p.jsxs("pattern",{id:t,width:d,height:f,patternUnits:"userSpaceOnUse",children:[p.jsx("rect",{width:d,height:f,fill:a,stroke:"rgba(255, 0, 0, 0.1)",strokeWidth:0}),p.jsx("path",{d:u,strokeWidth:s,stroke:o,strokeLinecap:"square"})]})});My.displayName="PatternLines",My.propTypes={id:W.string.isRequired,spacing:W.number.isRequired,rotation:W.number.isRequired,background:W.string.isRequired,color:W.string.isRequired,lineWidth:W.number.isRequired},My.defaultProps={spacing:5,rotation:0,color:"#000000",background:"#ffffff",lineWidth:2};var Oy=v.memo(function(e){var t=e.id,n=e.background,r=e.color,a=e.size,o=e.padding,s=e.stagger,c=a+o,l=o/2;return s===!0&&(c=2*a+2*o),p.jsxs("pattern",{id:t,width:c,height:c,patternUnits:"userSpaceOnUse",children:[p.jsx("rect",{width:c,height:c,fill:n}),p.jsx("rect",{x:l,y:l,width:a,height:a,fill:r}),s&&p.jsx("rect",{x:1.5*o+a,y:1.5*o+a,width:a,height:a,fill:r})]})});Oy.displayName="PatternSquares",Oy.propTypes={id:W.string.isRequired,color:W.string.isRequired,background:W.string.isRequired,size:W.number.isRequired,padding:W.number.isRequired,stagger:W.bool.isRequired},Oy.defaultProps={color:"#000000",background:"#ffffff",size:4,padding:4,stagger:!1};var _K={patternDots:Ty,patternLines:My,patternSquares:Oy},MJe=["type"],Z_=hr({},jK,_K),kK=i(function(e){var t=e.defs;return!t||t.length<1?null:p.jsx("defs",{"aria-hidden":!0,children:t.map(function(n){var r=n.type,a=hK(n,MJe);return Z_[r]?v.createElement(Z_[r],hr({key:a.id},a)):null})})},"Ci");kK.propTypes={defs:W.arrayOf(W.shape({type:W.oneOf(Object.keys(Z_)).isRequired,id:W.string.isRequired}))};var OJe=v.memo(kK),$K=i(function(e){var t=e.width,n=e.height,r=e.margin,a=e.defs,o=e.children,s=e.role,c=e.ariaLabel,l=e.ariaLabelledBy,u=e.ariaDescribedBy,d=e.isFocusable,f=ur();return p.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:t,height:n,role:s,"aria-label":c,"aria-labelledby":l,"aria-describedby":u,focusable:d,tabIndex:d?0:void 0,children:[p.jsx(OJe,{defs:a}),p.jsx("rect",{width:t,height:n,fill:f.background}),p.jsx("g",{transform:"translate("+r.left+","+r.top+")",children:o})]})},"Si");$K.propTypes={width:W.number.isRequired,height:W.number.isRequired,margin:W.shape({top:W.number.isRequired,left:W.number.isRequired}).isRequired,defs:W.array,children:W.oneOfType([W.arrayOf(W.node),W.node]).isRequired,role:W.string,isFocusable:W.bool,ariaLabel:W.string,ariaLabelledBy:W.string,ariaDescribedBy:W.string};var EK=i(function(e){var t=e.size,n=e.color,r=e.borderWidth,a=e.borderColor;return p.jsx("circle",{r:t/2,fill:n,stroke:a,strokeWidth:r,style:{pointerEvents:"none"}})},"zi");EK.propTypes={size:W.number.isRequired,color:W.string.isRequired,borderWidth:W.number.isRequired,borderColor:W.string.isRequired};var zJe=v.memo(EK),RK=i(function(e){var t=e.x,n=e.y,r=e.symbol,a=r===void 0?zJe:r,o=e.size,s=e.datum,c=e.color,l=e.borderWidth,u=e.borderColor,d=e.label,f=e.labelTextAnchor,m=f===void 0?"middle":f,g=e.labelYOffset,h=g===void 0?-12:g,y=ur(),b=Ko(),x=b.animate,w=b.config,C=Es({transform:"translate("+t+", "+n+")",config:w,immediate:!x});return p.jsxs(nr.g,{transform:C.transform,style:{pointerEvents:"none"},children:[v.createElement(a,{size:o,color:c,datum:s,borderWidth:l,borderColor:u}),d&&p.jsx("text",{textAnchor:m,y:h,style:y.dots.text,children:d})]})},"Ti");RK.propTypes={x:W.number.isRequired,y:W.number.isRequired,datum:W.object.isRequired,size:W.number.isRequired,color:W.string.isRequired,borderWidth:W.number.isRequired,borderColor:W.string.isRequired,symbol:W.oneOfType([W.func,W.object]),label:W.oneOfType([W.string,W.number]),labelTextAnchor:W.oneOf(["start","middle","end"]),labelYOffset:W.number};v.memo(RK);var ek=i(function(e){var t=e.width,n=e.height,r=e.axis,a=e.scale,o=e.value,s=e.lineStyle,c=e.textStyle,l=e.legend,u=e.legendPosition,d=e.legendOffsetX,f=e.legendOffsetY,m=e.legendOrientation,g=ur(),h=0,y=0,b=0,x=0;r==="y"?(b=a(o),y=t):(h=a(o),x=n);var w=null;if(l){var C=function(j){var _=j.axis,S=j.width,k=j.height,$=j.position,E=j.offsetX,P=j.offsetY,R=j.orientation,T=0,M=0,I=R==="vertical"?-90:0,z="start";if(_==="x")switch($){case"top-left":T=-E,M=P,z="end";break;case"top":M=-P,z=R==="horizontal"?"middle":"start";break;case"top-right":T=E,M=P,z=R==="horizontal"?"start":"end";break;case"right":T=E,M=k/2,z=R==="horizontal"?"start":"middle";break;case"bottom-right":T=E,M=k-P,z="start";break;case"bottom":M=k+P,z=R==="horizontal"?"middle":"end";break;case"bottom-left":M=k-P,T=-E,z=R==="horizontal"?"end":"start";break;case"left":T=-E,M=k/2,z=R==="horizontal"?"end":"middle"}else switch($){case"top-left":T=E,M=-P,z="start";break;case"top":T=S/2,M=-P,z=R==="horizontal"?"middle":"start";break;case"top-right":T=S-E,M=-P,z=R==="horizontal"?"end":"start";break;case"right":T=S+E,z=R==="horizontal"?"start":"middle";break;case"bottom-right":T=S-E,M=P,z="end";break;case"bottom":T=S/2,M=P,z=R==="horizontal"?"middle":"end";break;case"bottom-left":T=E,M=P,z=R==="horizontal"?"start":"end";break;case"left":T=-E,z=R==="horizontal"?"end":"middle"}return{x:T,y:M,rotation:I,textAnchor:z}}({axis:r,width:t,height:n,position:u,offsetX:d,offsetY:f,orientation:m});w=p.jsx("text",{transform:"translate("+C.x+", "+C.y+") rotate("+C.rotation+")",textAnchor:C.textAnchor,dominantBaseline:"central",style:c,children:l})}return p.jsxs("g",{transform:"translate("+h+", "+b+")",children:[p.jsx("line",{x1:0,x2:y,y1:0,y2:x,stroke:g.markers.lineColor,strokeWidth:g.markers.lineStrokeWidth,style:s}),w]})},"ji");ek.propTypes={width:W.number.isRequired,height:W.number.isRequired,axis:W.oneOf(["x","y"]).isRequired,scale:W.func.isRequired,value:W.oneOfType([W.number,W.string,W.instanceOf(Date)]).isRequired,lineStyle:W.object,textStyle:W.object,legend:W.string,legendPosition:W.oneOf(["top-left","top","top-right","right","bottom-right","bottom","bottom-left","left"]),legendOffsetX:W.number.isRequired,legendOffsetY:W.number.isRequired,legendOrientation:W.oneOf(["horizontal","vertical"]).isRequired},ek.defaultProps={legendPosition:"top-right",legendOffsetX:14,legendOffsetY:14,legendOrientation:"horizontal"};var IJe=v.memo(ek),AK=i(function(e){var t=e.markers,n=e.width,r=e.height,a=e.xScale,o=e.yScale;return t&&t.length!==0?t.map(function(s,c){return p.jsx(IJe,hr({},s,{width:n,height:r,scale:s.axis==="y"?o:a}),c)}):null},"Gi");AK.propTypes={width:W.number.isRequired,height:W.number.isRequired,xScale:W.func.isRequired,yScale:W.func.isRequired,markers:W.arrayOf(W.shape({axis:W.oneOf(["x","y"]).isRequired,value:W.oneOfType([W.number,W.string,W.instanceOf(Date)]).isRequired,lineStyle:W.object,textStyle:W.object}))};var LJe=v.memo(AK),PK=i(function(e){return gF(e)?e:function(t){return Ct(t,e)}},"Ui"),JC=i(function(e){return v.useMemo(function(){return PK(e)},[e])},"Xi"),DJe=i(function(e,t,n,r,a,o){return e<=a&&a<=e+n&&t<=o&&o<=t+r},"Ji"),YC=i(function(e,t){var n=t.clientX,r=t.clientY,a=e.getBoundingClientRect(),o=e.getBBox(),s=o.width===a.width?1:o.width/a.width;return[(n-a.left)*s,(r-a.top)*s]},"Qi"),NJe=Object.keys(jK),FJe=Object.keys(_K),BJe=i(function(e,t,n){if(e==="*")return!0;if(gF(e))return e(t);if(A$(e)){var r=n?Ct(t,n):t;return pa(ug(r,Object.keys(e)),e)}return!1},"en$3"),WJe=i(function(e,t,n,r){var a=r===void 0?{}:r,o=a.dataKey,s=a.colorKey,c=s===void 0?"color":s,l=a.targetKey,u=l===void 0?"fill":l,d=[],f={};return e.length&&t.length&&(d=[].concat(e),t.forEach(function(m){for(var g=function(y){var b=n[y],x=b.id,w=b.match;if(BJe(w,m,o)){var C=e.find(function(R){return R.id===x});if(C){if(FJe.includes(C.type))if(C.background==="inherit"||C.color==="inherit"){var j=Ct(m,c),_=C.background,S=C.color,k=x;C.background==="inherit"&&(k=k+".bg."+j,_=j),C.color==="inherit"&&(k=k+".fg."+j,S=j),$a(m,u,"url(#"+k+")"),f[k]||(d.push(hr({},C,{id:k,background:_,color:S})),f[k]=1)}else $a(m,u,"url(#"+x+")");else if(NJe.includes(C.type))if(C.colors.map(function(R){return R.color}).includes("inherit")){var $=Ct(m,c),E=x,P=hr({},C,{colors:C.colors.map(function(R,T){return R.color!=="inherit"?R:(E=E+"."+T+"."+$,hr({},R,{color:R.color==="inherit"?$:R.color}))})});P.id=E,$a(m,u,"url(#"+E+")"),f[E]||(d.push(P),f[E]=1)}else $a(m,u,"url(#"+x+")")}return"break"}},h=0;h<n.length&&g(h)!=="break";h++);})),d},"rn$1"),UJe=xx,HJe=S9;function qJe(e,t){return e&&e.length?HJe(e,UJe(t)):[]}i(qJe,"uniqBy");var VJe=qJe;const _6=Gt(VJe);var GJe=qF,KJe=sg;function JJe(e,t){return e&&GJe(e,t,KJe)}i(JJe,"baseForOwn$1");var YJe=JJe,QJe=Nf;function XJe(e,t){return function(n,r){if(n==null)return n;if(!QJe(n))return e(n,r);for(var a=n.length,o=t?a:-1,s=Object(n);(t?o--:++o<a)&&r(s[o],o,s)!==!1;);return n}}i(XJe,"createBaseEach$1");var ZJe=XJe,eYe=YJe,tYe=ZJe,nYe=tYe(eYe),TK=nYe,rYe=TK,aYe=Nf;function oYe(e,t){var n=-1,r=aYe(e)?Array(e.length):[];return rYe(e,function(a,o,s){r[++n]=t(a,o,s)}),r}i(oYe,"baseMap$1");var iYe=oYe;function sYe(e,t){var n=e.length;for(e.sort(t);n--;)e[n]=e[n].value;return e}i(sYe,"baseSortBy$1");var cYe=sYe,k6=rg;function lYe(e,t){if(e!==t){var n=e!==void 0,r=e===null,a=e===e,o=k6(e),s=t!==void 0,c=t===null,l=t===t,u=k6(t);if(!c&&!u&&!o&&e>t||o&&s&&l&&!c&&!u||r&&s&&l||!n&&l||!a)return 1;if(!r&&!o&&!u&&e<t||u&&n&&a&&!r&&!o||c&&n&&a||!s&&a||!l)return-1}return 0}i(lYe,"compareAscending$1");var uYe=lYe,dYe=uYe;function fYe(e,t,n){for(var r=-1,a=e.criteria,o=t.criteria,s=a.length,c=n.length;++r<s;){var l=dYe(a[r],o[r]);if(l){if(r>=c)return l;var u=n[r];return l*(u=="desc"?-1:1)}}return e.index-t.index}i(fYe,"compareMultiple$1");var pYe=fYe,QC=ag,mYe=og,hYe=xx,gYe=iYe,vYe=cYe,yYe=ig,bYe=pYe,xYe=hx,wYe=xa;function CYe(e,t,n){t.length?t=QC(t,function(o){return wYe(o)?function(s){return mYe(s,o.length===1?o[0]:o)}:o}):t=[xYe];var r=-1;t=QC(t,yYe(hYe));var a=gYe(e,function(o,s,c){var l=QC(t,function(u){return u(o)});return{criteria:l,index:++r,value:o}});return vYe(a,function(o,s){return bYe(o,s,n)})}i(CYe,"baseOrderBy$1");var SYe=CYe,jYe=vx,_Ye=SYe,kYe=Uf,$6=P$;kYe(function(e,t){if(e==null)return[];var n=t.length;return n>1&&$6(e,t[0],t[1])?t=[]:n>2&&$6(t[0],t[1],t[2])&&(t=[t[0]]),_Ye(e,jYe(t,1),[])});var E6=fx;E6&&E6.isDate;var XC=new Date,ZC=new Date;function gr(e,t,n,r){function a(o){return e(o=arguments.length===0?new Date:new Date(+o)),o}return i(a,"interval"),a.floor=function(o){return e(o=new Date(+o)),o},a.ceil=function(o){return e(o=new Date(o-1)),t(o,1),e(o),o},a.round=function(o){var s=a(o),c=a.ceil(o);return o-s<c-o?s:c},a.offset=function(o,s){return t(o=new Date(+o),s==null?1:Math.floor(s)),o},a.range=function(o,s,c){var l=[],u;if(o=a.ceil(o),c=c==null?1:Math.floor(c),!(o<s)||!(c>0))return l;do l.push(u=new Date(+o)),t(o,c),e(o);while(u<o&&o<s);return l},a.filter=function(o){return gr(function(s){if(s>=s)for(;e(s),!o(s);)s.setTime(s-1)},function(s,c){if(s>=s)if(c<0)for(;++c<=0;)for(;t(s,-1),!o(s););else for(;--c>=0;)for(;t(s,1),!o(s););})},n&&(a.count=function(o,s){return XC.setTime(+o),ZC.setTime(+s),e(XC),e(ZC),Math.floor(n(XC,ZC))},a.every=function(o){return o=Math.floor(o),!isFinite(o)||!(o>0)?null:o>1?a.filter(r?function(s){return r(s)%o===0}:function(s){return a.count(0,s)%o===0}):a}),a}i(gr,"newInterval");var S0=gr(function(){},function(e,t){e.setTime(+e+t)},function(e,t){return t-e});S0.every=function(e){return e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?gr(function(t){t.setTime(Math.floor(t/e)*e)},function(t,n){t.setTime(+t+n*e)},function(t,n){return(n-t)/e}):S0};const R6=S0;S0.range;var j0=1e3,_f=6e4,_0=36e5,MK=6048e5,OK=gr(function(e){e.setTime(e-e.getMilliseconds())},function(e,t){e.setTime(+e+t*j0)},function(e,t){return(t-e)/j0},function(e){return e.getUTCSeconds()});const A6=OK;OK.range;var zK=gr(function(e){e.setTime(e-e.getMilliseconds()-e.getSeconds()*j0)},function(e,t){e.setTime(+e+t*_f)},function(e,t){return(t-e)/_f},function(e){return e.getMinutes()});const $Ye=zK;zK.range;var IK=gr(function(e){e.setTime(e-e.getMilliseconds()-e.getSeconds()*j0-e.getMinutes()*_f)},function(e,t){e.setTime(+e+t*_0)},function(e,t){return(t-e)/_0},function(e){return e.getHours()});const EYe=IK;IK.range;function ru(e){return gr(function(t){t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},function(t,n){t.setDate(t.getDate()+n*7)},function(t,n){return(n-t-(n.getTimezoneOffset()-t.getTimezoneOffset())*_f)/MK})}i(ru,"weekday$1");var tk=ru(0),LK=ru(1),DK=ru(2),NK=ru(3),FK=ru(4),BK=ru(5),WK=ru(6);tk.range;LK.range;DK.range;NK.range;FK.range;BK.range;WK.range;var UK=gr(function(e){e.setDate(1),e.setHours(0,0,0,0)},function(e,t){e.setMonth(e.getMonth()+t)},function(e,t){return t.getMonth()-e.getMonth()+(t.getFullYear()-e.getFullYear())*12},function(e){return e.getMonth()});const RYe=UK;UK.range;var CA=gr(function(e){e.setMonth(0,1),e.setHours(0,0,0,0)},function(e,t){e.setFullYear(e.getFullYear()+t)},function(e,t){return t.getFullYear()-e.getFullYear()},function(e){return e.getFullYear()});CA.every=function(e){return!isFinite(e=Math.floor(e))||!(e>0)?null:gr(function(t){t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},function(t,n){t.setFullYear(t.getFullYear()+n*e)})};const AYe=CA;CA.range;var HK=gr(function(e){e.setUTCSeconds(0,0)},function(e,t){e.setTime(+e+t*_f)},function(e,t){return(t-e)/_f},function(e){return e.getUTCMinutes()});const PYe=HK;HK.range;var qK=gr(function(e){e.setUTCMinutes(0,0,0)},function(e,t){e.setTime(+e+t*_0)},function(e,t){return(t-e)/_0},function(e){return e.getUTCHours()});const TYe=qK;qK.range;function au(e){return gr(function(t){t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},function(t,n){t.setUTCDate(t.getUTCDate()+n*7)},function(t,n){return(n-t)/MK})}i(au,"utcWeekday");var nk=au(0),VK=au(1),GK=au(2),KK=au(3),JK=au(4),YK=au(5),QK=au(6);nk.range;VK.range;GK.range;KK.range;JK.range;YK.range;QK.range;var XK=gr(function(e){e.setUTCDate(1),e.setUTCHours(0,0,0,0)},function(e,t){e.setUTCMonth(e.getUTCMonth()+t)},function(e,t){return t.getUTCMonth()-e.getUTCMonth()+(t.getUTCFullYear()-e.getUTCFullYear())*12},function(e){return e.getUTCMonth()});const MYe=XK;XK.range;var SA=gr(function(e){e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},function(e,t){e.setUTCFullYear(e.getUTCFullYear()+t)},function(e,t){return t.getUTCFullYear()-e.getUTCFullYear()},function(e){return e.getUTCFullYear()});SA.every=function(e){return!isFinite(e=Math.floor(e))||!(e>0)?null:gr(function(t){t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},function(t,n){t.setUTCFullYear(t.getUTCFullYear()+n*e)})};const OYe=SA;SA.range;var yu=[function(e){return e.setMilliseconds(0)},function(e){return e.setSeconds(0)},function(e){return e.setMinutes(0)},function(e){return e.setHours(0)},function(e){return e.setDate(1)},function(e){return e.setMonth(0)}],zYe={millisecond:[],second:yu.slice(0,1),minute:yu.slice(0,2),hour:yu.slice(0,3),day:yu.slice(0,4),month:yu.slice(0,5),year:yu.slice(0,6)},IYe=i(function(e){return function(t){return zYe[e].forEach(function(n){n(t)}),t}},"L$1"),LYe=i(function(e){var t=e.format,n=t===void 0?"native":t,r=e.precision,a=r===void 0?"millisecond":r,o=e.useUTC,s=o===void 0||o,c=IYe(a);return function(l){if(l===void 0)return l;if(n==="native"||l instanceof Date)return c(l);var u=s?HG(n):WG(n);return c(u(l))}},"Q$1"),DYe=i(function(e,t,n,r){var a,o,s,c,l=e.min,u=l===void 0?0:l,d=e.max,f=d===void 0?"auto":d,m=e.stacked,g=m!==void 0&&m,h=e.reverse,y=h!==void 0&&h,b=e.clamp,x=b!==void 0&&b,w=e.nice,C=w!==void 0&&w;u==="auto"?a=g===!0?(o=t.minStacked)!=null?o:0:t.min:a=u,f==="auto"?s=g===!0?(c=t.maxStacked)!=null?c:0:t.max:s=f;var j=xG().rangeRound(r==="x"?[0,n]:[n,0]).domain(y?[s,a]:[a,s]).clamp(x);return C===!0?j.nice():typeof C=="number"&&j.nice(C),NYe(j,g)},"W$2"),NYe=i(function(e,t){t===void 0&&(t=!1);var n=e;return n.type="linear",n.stacked=t,n},"X$2"),FYe=i(function(e,t,n){var r=Nqe().range([0,n]).domain(t.all);return r.type="point",r},"Y$2"),BYe=i(function(e,t,n,r){var a=e.round,o=a===void 0||a,s=iA().range(r==="x"?[0,n]:[n,0]).domain(t.all).round(o);return WYe(s)},"_$1"),WYe=i(function(e){var t=e;return t.type="band",t},"nn"),UYe=i(function(e,t,n){var r,a,o=e.format,s=o===void 0?"native":o,c=e.precision,l=c===void 0?"millisecond":c,u=e.min,d=u===void 0?"auto":u,f=e.max,m=f===void 0?"auto":f,g=e.useUTC,h=g===void 0||g,y=e.nice,b=y!==void 0&&y,x=LYe({format:s,precision:l,useUTC:h});r=d==="auto"?x(t.min):s!=="native"?x(d):d,a=m==="auto"?x(t.max):s!=="native"?x(m):m;var w=h?kGe():_Ge();w.range([0,n]),r&&a&&w.domain([r,a]),b===!0?w.nice():typeof b!="object"&&typeof b!="number"||w.nice(b);var C=w;return C.type="time",C.useUTC=h,C},"tn"),HYe=i(function(e,t,n,r){var a,o=e.base,s=o===void 0?10:o,c=e.min,l=c===void 0?"auto":c,u=e.max,d=u===void 0?"auto":u;if(t.all.some(function(y){return y===0}))throw new Error("a log scale domain must not include or cross zero");var f,m,g=!1;if(t.all.filter(function(y){return y!=null}).forEach(function(y){g||(a===void 0?a=Math.sign(y):Math.sign(y)!==a&&(g=!0))}),g)throw new Error("a log scale domain must be strictly-positive or strictly-negative");f=l==="auto"?t.min:l,m=d==="auto"?t.max:d;var h=CG().domain([f,m]).rangeRound(r==="x"?[0,n]:[n,0]).base(s).nice();return h.type="log",h},"rn"),qYe=i(function(e,t,n,r){var a,o,s=e.constant,c=s===void 0?1:s,l=e.min,u=l===void 0?"auto":l,d=e.max,f=d===void 0?"auto":d,m=e.reverse,g=m!==void 0&&m;a=u==="auto"?t.min:u,o=f==="auto"?t.max:f;var h=SG().constant(c).rangeRound(r==="x"?[0,n]:[n,0]).nice();g===!0?h.domain([o,a]):h.domain([a,o]);var y=h;return y.type="symlog",y},"en$2");function jA(e,t,n,r){switch(e.type){case"linear":return DYe(e,t,n,r);case"point":return FYe(0,t,n);case"band":return BYe(e,t,n,r);case"time":return UYe(e,t,n);case"log":return HYe(e,t,n,r);case"symlog":return qYe(e,t,n,r);default:throw new Error("invalid scale spec")}}i(jA,"cn");var ZK=i(function(e){var t=e.bandwidth();if(t===0)return e;var n=t/2;return e.round()&&(n=Math.round(n)),function(r){var a;return((a=e(r))!=null?a:0)+n}},"pn"),eJ={millisecond:[R6,R6],second:[A6,A6],minute:[$Ye,PYe],hour:[EYe,TYe],day:[gr(function(e){return e.setHours(0,0,0,0)},function(e,t){return e.setDate(e.getDate()+t)},function(e,t){return(t.getTime()-e.getTime())/864e5},function(e){return Math.floor(e.getTime()/864e5)}),gr(function(e){return e.setUTCHours(0,0,0,0)},function(e,t){return e.setUTCDate(e.getUTCDate()+t)},function(e,t){return(t.getTime()-e.getTime())/864e5},function(e){return Math.floor(e.getTime()/864e5)})],week:[tk,nk],sunday:[tk,nk],monday:[LK,VK],tuesday:[DK,GK],wednesday:[NK,KK],thursday:[FK,JK],friday:[BK,YK],saturday:[WK,QK],month:[RYe,MYe],year:[AYe,OYe]},VYe=Object.keys(eJ),GYe=new RegExp("^every\\s*(\\d+)?\\s*("+VYe.join("|")+")s?$","i"),tJ=i(function(e,t){if(Array.isArray(t))return t;if(typeof t=="string"&&"useUTC"in e){var n=t.match(GYe);if(n){var r=n[1],a=n[2],o=eJ[a][e.useUTC?1:0];if(a==="day"){var s,c,l=e.domain(),u=l[0],d=l[1],f=new Date(d);return f.setDate(f.getDate()+1),(s=(c=o.every(Number(r??1)))==null?void 0:c.range(u,f))!=null?s:[]}if(r===void 0)return e.ticks(o);var m=o.every(Number(r));if(m)return e.ticks(m)}throw new Error("Invalid tickValues: "+t)}if("ticks"in e){if(t===void 0)return e.ticks();if(typeof(g=t)=="number"&&isFinite(g)&&Math.floor(g)===g)return e.ticks(t)}var g;return e.domain()},"kn");function Do(){return Do=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Do.apply(this,arguments)}i(Do,"v$2");var nJ=i(function(e){var t,n=e.axis,r=e.scale,a=e.ticksPosition,o=e.tickValues,s=e.tickSize,c=e.tickPadding,l=e.tickRotation,u=e.engine,d=u===void 0?"svg":u,f=tJ(r,o),m=TJe[d],g="bandwidth"in r?ZK(r):r,h={lineX:0,lineY:0},y={textX:0,textY:0},b=typeof document=="object"&&document.dir==="rtl",x=m.align.center,w=m.baseline.center;return n==="x"?(t=i(function(C){var j;return{x:(j=g(C))!=null?j:0,y:0}},"e"),h.lineY=s*(a==="after"?1:-1),y.textY=(s+c)*(a==="after"?1:-1),w=a==="after"?m.baseline.top:m.baseline.bottom,l===0?x=m.align.center:a==="after"&&l<0||a==="before"&&l>0?(x=m.align[b?"left":"right"],w=m.baseline.center):(a==="after"&&l>0||a==="before"&&l<0)&&(x=m.align[b?"right":"left"],w=m.baseline.center)):(t=i(function(C){var j;return{x:0,y:(j=g(C))!=null?j:0}},"e"),h.lineX=s*(a==="after"?1:-1),y.textX=(s+c)*(a==="after"?1:-1),x=a==="after"?m.align.left:m.align.right),{ticks:f.map(function(C){return Do({key:C instanceof Date?""+C.valueOf():""+C,value:C},t(C),h,y)}),textAlign:x,textBaseline:w}},"p$1"),rJ=i(function(e,t){if(e===void 0||typeof e=="function")return e;if(t.type==="time"){var n=J1(e);return function(r){return n(r instanceof Date?r:new Date(r))}}return yA(e)},"b$2"),rk=i(function(e){var t,n=e.width,r=e.height,a=e.scale,o=e.axis,s=e.values,c=(t=s,(Array.isArray(t)?s:void 0)||tJ(a,s)),l="bandwidth"in a?ZK(a):a,u=o==="x"?c.map(function(d){var f,m;return{key:d instanceof Date?""+d.valueOf():""+d,x1:(f=l(d))!=null?f:0,x2:(m=l(d))!=null?m:0,y1:0,y2:r}}):c.map(function(d){var f,m;return{key:d instanceof Date?""+d.valueOf():""+d,x1:0,x2:n,y1:(f=l(d))!=null?f:0,y2:(m=l(d))!=null?m:0}});return u},"P$1"),KYe=v.memo(function(e){var t,n=e.value,r=e.format,a=e.lineX,o=e.lineY,s=e.onClick,c=e.textBaseline,l=e.textAnchor,u=e.animatedProps,d=ur(),f=(t=r==null?void 0:r(n))!=null?t:n,m=v.useMemo(function(){var g={opacity:u.opacity};return s?{style:Do({},g,{cursor:"pointer"}),onClick:function(h){return s(h,f)}}:{style:g}},[u.opacity,s,f]);return p.jsxs(nr.g,Do({transform:u.transform},m,{children:[p.jsx("line",{x1:0,x2:a,y1:0,y2:o,style:d.axis.ticks.line}),p.jsx(nr.text,{dominantBaseline:c,textAnchor:l,transform:u.textTransform,style:d.axis.ticks.text,children:f})]}))}),JYe=v.memo(function(e){var t=e.axis,n=e.scale,r=e.x,a=r===void 0?0:r,o=e.y,s=o===void 0?0:o,c=e.length,l=e.ticksPosition,u=e.tickValues,d=e.tickSize,f=d===void 0?5:d,m=e.tickPadding,g=m===void 0?5:m,h=e.tickRotation,y=h===void 0?0:h,b=e.format,x=e.renderTick,w=x===void 0?KYe:x,C=e.legend,j=e.legendPosition,_=j===void 0?"end":j,S=e.legendOffset,k=S===void 0?0:S,$=e.onClick,E=e.ariaHidden,P=ur(),R=v.useMemo(function(){return rJ(b,n)},[b,n]),T=nJ({axis:t,scale:n,ticksPosition:l,tickValues:u,tickSize:f,tickPadding:g,tickRotation:y}),M=T.ticks,I=T.textAlign,z=T.textBaseline,H=null;if(C!==void 0){var F,L=0,B=0,K=0;t==="y"?(K=-90,L=k,_==="start"?(F="start",B=c):_==="middle"?(F="middle",B=c/2):_==="end"&&(F="end")):(B=k,_==="start"?F="start":_==="middle"?(F="middle",L=c/2):_==="end"&&(F="end",L=c)),H=p.jsx("text",{transform:"translate("+L+", "+B+") rotate("+K+")",textAnchor:F,style:Do({dominantBaseline:"central"},P.axis.legend.text),children:C})}var se=Ko(),ue=se.animate,_e=se.config,le=Es({transform:"translate("+a+","+s+")",lineX2:t==="x"?c:0,lineY2:t==="x"?0:c,config:_e,immediate:!ue}),V=X8(M,{keys:function(q){return q.key},initial:function(q){return{opacity:1,transform:"translate("+q.x+","+q.y+")",textTransform:"translate("+q.textX+","+q.textY+") rotate("+y+")"}},from:function(q){return{opacity:0,transform:"translate("+q.x+","+q.y+")",textTransform:"translate("+q.textX+","+q.textY+") rotate("+y+")"}},enter:function(q){return{opacity:1,transform:"translate("+q.x+","+q.y+")",textTransform:"translate("+q.textX+","+q.textY+") rotate("+y+")"}},update:function(q){return{opacity:1,transform:"translate("+q.x+","+q.y+")",textTransform:"translate("+q.textX+","+q.textY+") rotate("+y+")"}},leave:{opacity:0},config:_e,immediate:!ue});return p.jsxs(nr.g,{transform:le.transform,"aria-hidden":E,children:[V(function(q,Y,O,D){return v.createElement(w,Do({tickIndex:D,format:R,rotate:y,textBaseline:z,textAnchor:I,animatedProps:q},Y,$?{onClick:$}:{}))}),p.jsx(nr.line,{style:P.axis.domain.line,x1:0,x2:le.lineX2,y1:0,y2:le.lineY2}),H]})}),YYe={ticksPosition:W.oneOf(["before","after"]),tickValues:W.oneOfType([W.number,W.arrayOf(W.oneOfType([W.number,W.string,W.instanceOf(Date)])),W.string]),tickSize:W.number,tickPadding:W.number,tickRotation:W.number,format:W.oneOfType([W.func,W.string]),renderTick:W.func,legend:W.node,legendPosition:W.oneOf(["start","middle","end"]),legendOffset:W.number,ariaHidden:W.bool};W.shape(YYe);var aJ=["top","right","bottom","left"],QYe=v.memo(function(e){var t=e.xScale,n=e.yScale,r=e.width,a=e.height,o={top:e.top,right:e.right,bottom:e.bottom,left:e.left};return p.jsx(p.Fragment,{children:aJ.map(function(s){var c=o[s];if(!c)return null;var l=s==="top"||s==="bottom";return p.jsx(JYe,Do({},c,{axis:l?"x":"y",x:s==="right"?r:0,y:s==="bottom"?a:0,scale:l?t:n,length:l?r:a,ticksPosition:s==="top"||s==="left"?"before":"after"}),s)})})}),XYe=v.memo(function(e){var t=e.animatedProps,n=ur();return p.jsx(nr.line,Do({},t,n.grid.line))}),P6=v.memo(function(e){var t=e.lines,n=Ko(),r=n.animate,a=n.config,o=X8(t,{keys:function(s){return s.key},initial:function(s){return{opacity:1,x1:s.x1,x2:s.x2,y1:s.y1,y2:s.y2}},from:function(s){return{opacity:0,x1:s.x1,x2:s.x2,y1:s.y1,y2:s.y2}},enter:function(s){return{opacity:1,x1:s.x1,x2:s.x2,y1:s.y1,y2:s.y2}},update:function(s){return{opacity:1,x1:s.x1,x2:s.x2,y1:s.y1,y2:s.y2}},leave:{opacity:0},config:a,immediate:!r});return p.jsx("g",{children:o(function(s,c){return v.createElement(XYe,Do({},c,{key:c.key,animatedProps:s}))})})}),ZYe=v.memo(function(e){var t=e.width,n=e.height,r=e.xScale,a=e.yScale,o=e.xValues,s=e.yValues,c=v.useMemo(function(){return!!r&&rk({width:t,height:n,scale:r,axis:"x",values:o})},[r,o,t,n]),l=v.useMemo(function(){return!!a&&rk({width:t,height:n,scale:a,axis:"y",values:s})},[n,t,a,s]);return p.jsxs(p.Fragment,{children:[c&&p.jsx(P6,{lines:c}),l&&p.jsx(P6,{lines:l})]})}),eQe=i(function(e,t){var n,r=t.axis,a=t.scale,o=t.x,s=o===void 0?0:o,c=t.y,l=c===void 0?0:c,u=t.length,d=t.ticksPosition,f=t.tickValues,m=t.tickSize,g=m===void 0?5:m,h=t.tickPadding,y=h===void 0?5:h,b=t.tickRotation,x=b===void 0?0:b,w=t.format,C=t.legend,j=t.legendPosition,_=j===void 0?"end":j,S=t.legendOffset,k=S===void 0?0:S,$=t.theme,E=nJ({axis:r,scale:a,ticksPosition:d,tickValues:f,tickSize:g,tickPadding:y,tickRotation:x,engine:"canvas"}),P=E.ticks,R=E.textAlign,T=E.textBaseline;e.save(),e.translate(s,l),e.textAlign=R,e.textBaseline=T,e.font=($.axis.ticks.text.fontWeight?$.axis.ticks.text.fontWeight+" ":"")+$.axis.ticks.text.fontSize+"px "+$.axis.ticks.text.fontFamily,((n=$.axis.domain.line.strokeWidth)!=null?n:0)>0&&(e.lineWidth=Number($.axis.domain.line.strokeWidth),e.lineCap="square",$.axis.domain.line.stroke&&(e.strokeStyle=$.axis.domain.line.stroke),e.beginPath(),e.moveTo(0,0),e.lineTo(r==="x"?u:0,r==="x"?0:u),e.stroke());var M=typeof w=="function"?w:function(L){return""+L};if(P.forEach(function(L){var B;((B=$.axis.ticks.line.strokeWidth)!=null?B:0)>0&&(e.lineWidth=Number($.axis.ticks.line.strokeWidth),e.lineCap="square",$.axis.ticks.line.stroke&&(e.strokeStyle=$.axis.ticks.line.stroke),e.beginPath(),e.moveTo(L.x,L.y),e.lineTo(L.x+L.lineX,L.y+L.lineY),e.stroke());var K=M(L.value);e.save(),e.translate(L.x+L.textX,L.y+L.textY),e.rotate(Sh(x)),$.axis.ticks.text.fill&&(e.fillStyle=$.axis.ticks.text.fill),e.fillText(String(K),0,0),e.restore()}),C!==void 0){var I=0,z=0,H=0,F="center";r==="y"?(H=-90,I=k,_==="start"?(F="start",z=u):_==="middle"?(F="center",z=u/2):_==="end"&&(F="end")):(z=k,_==="start"?F="start":_==="middle"?(F="center",I=u/2):_==="end"&&(F="end",I=u)),e.translate(I,z),e.rotate(Sh(H)),e.font=($.axis.legend.text.fontWeight?$.axis.legend.text.fontWeight+" ":"")+$.axis.legend.text.fontSize+"px "+$.axis.legend.text.fontFamily,$.axis.legend.text.fill&&(e.fillStyle=$.axis.legend.text.fill),e.textAlign=F,e.textBaseline="middle",e.fillText(C,0,0)}e.restore()},"z$2"),tQe=i(function(e,t){var n=t.xScale,r=t.yScale,a=t.width,o=t.height,s=t.top,c=t.right,l=t.bottom,u=t.left,d=t.theme,f={top:s,right:c,bottom:l,left:u};aJ.forEach(function(m){var g=f[m];if(!g)return null;var h=m==="top"||m==="bottom",y=m==="top"||m==="left"?"before":"after",b=h?n:r,x=rJ(g.format,b);eQe(e,Do({},g,{axis:h?"x":"y",x:m==="right"?a:0,y:m==="bottom"?o:0,scale:b,format:x,length:h?a:o,ticksPosition:y,theme:d}))})},"V"),T6=i(function(e,t){var n=t.width,r=t.height,a=t.scale,o=t.axis,s=t.values;rk({width:n,height:r,scale:a,axis:o,values:s}).forEach(function(c){e.beginPath(),e.moveTo(c.x1,c.y1),e.lineTo(c.x2,c.y2),e.stroke()})},"C$1"),nQe=R$;function rQe(e){return nQe(e)?void 0:e}i(rQe,"customOmitClone$1");var aQe=rQe,oQe=ag,iQe=e8,sQe=_F,cQe=If,lQe=Bf,uQe=aQe,dQe=z9,fQe=V$,pQe=1,mQe=2,hQe=4,gQe=dQe(function(e,t){var n={};if(e==null)return n;var r=!1;t=oQe(t,function(o){return o=cQe(o,e),r||(r=o.length>1),o}),lQe(e,fQe(e),n),r&&(n=iQe(n,pQe|mQe|hQe,uQe));for(var a=t.length;a--;)sQe(n,t[a]);return n}),vQe=gQe;const oJ=Gt(vQe);var yQe=_c,bQe=Bo,xQe="[object Number]";function wQe(e){return typeof e=="number"||bQe(e)&&yQe(e)==xQe}i(wQe,"isNumber");var CQe=wQe;const M6=Gt(CQe);var SQe=TK;function jQe(e,t){var n=[];return SQe(e,function(r,a,o){t(r,a,o)&&n.push(r)}),n}i(jQe,"baseFilter$1");var _Qe=jQe,kQe=TF,$Qe=_Qe,EQe=xx,RQe=xa;function AQe(e,t){var n=RQe(e)?kQe:$Qe;return n(e,EQe(t))}i(AQe,"filter");var PQe=AQe;const TQe=Gt(PQe);function Oi(){return Oi=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Oi.apply(this,arguments)}i(Oi,"g");var ak={dotSize:4,noteWidth:120,noteTextOffset:8,animate:!0,motionStiffness:90,motionDamping:13},MQe=i(function(e){var t=typeof e;return v.isValidElement(e)||t==="string"||t==="function"||t==="object"},"W"),OQe=i(function(e){var t=typeof e;return t==="string"||t==="function"},"v$1"),jh=i(function(e){return e.type==="circle"},"b$1"),ok=i(function(e){return e.type==="dot"},"w$1"),_h=i(function(e){return e.type==="rect"},"z$1"),zQe=i(function(e){var t=e.data,n=e.annotations,r=e.getPosition,a=e.getDimensions;return n.reduce(function(o,s){var c=s.offset||0;return[].concat(o,TQe(t,s.match).map(function(l){var u=r(l),d=a(l);return(jh(s)||_h(s))&&(d.size=d.size+2*c,d.width=d.width+2*c,d.height=d.height+2*c),Oi({},oJ(s,["match","offset"]),u,d,{size:s.size||d.size,datum:l})}))},[])},"P"),IQe=i(function(e,t,n,r){var a=Math.atan2(r-t,n-e);return PJe(RJe(a))},"S$1"),iJ=i(function(e){var t,n,r=e.x,a=e.y,o=e.noteX,s=e.noteY,c=e.noteWidth,l=c===void 0?ak.noteWidth:c,u=e.noteTextOffset,d=u===void 0?ak.noteTextOffset:u;if(M6(o))t=r+o;else{if(o.abs===void 0)throw new Error("noteX should be either a number or an object containing an 'abs' property");t=o.abs}if(M6(s))n=a+s;else{if(s.abs===void 0)throw new Error("noteY should be either a number or an object containing an 'abs' property");n=s.abs}var f=r,m=a,g=IQe(r,a,t,n);if(jh(e)){var h=AJe(Sh(g),e.size/2);f+=h.x,m+=h.y}if(_h(e)){var y=Math.round((g+90)/45)%8;y===0&&(m-=e.height/2),y===1&&(f+=e.width/2,m-=e.height/2),y===2&&(f+=e.width/2),y===3&&(f+=e.width/2,m+=e.height/2),y===4&&(m+=e.height/2),y===5&&(f-=e.width/2,m+=e.height/2),y===6&&(f-=e.width/2),y===7&&(f-=e.width/2,m-=e.height/2)}var b=t,x=t;return(g+90)%360>180?(b-=l,x-=l):x+=l,{points:[[f,m],[t,n],[x,n]],text:[b,n-d],angle:g+90}},"C"),sJ=i(function(e){var t=e.data,n=e.annotations,r=e.getPosition,a=e.getDimensions;return v.useMemo(function(){return zQe({data:t,annotations:n,getPosition:r,getDimensions:a})},[t,n,r,a])},"O$1"),LQe=i(function(e){var t=e.annotations;return v.useMemo(function(){return t.map(function(n){return Oi({},n,{computed:iJ(Oi({},n))})})},[t])},"j"),DQe=i(function(e){return v.useMemo(function(){return iJ(e)},[e])},"M"),NQe=i(function(e){var t=e.datum,n=e.x,r=e.y,a=e.note,o=ur(),s=Ko(),c=s.animate,l=s.config,u=Es({x:n,y:r,config:l,immediate:!c});return typeof a=="function"?v.createElement(a,{x:n,y:r,datum:t}):p.jsxs(p.Fragment,{children:[o.annotations.text.outlineWidth>0&&p.jsx(nr.text,{x:u.x,y:u.y,style:Oi({},o.annotations.text,{strokeLinejoin:"round",strokeWidth:2*o.annotations.text.outlineWidth,stroke:o.annotations.text.outlineColor}),children:a}),p.jsx(nr.text,{x:u.x,y:u.y,style:oJ(o.annotations.text,["outlineWidth","outlineColor"]),children:a})]})},"T"),O6=i(function(e){var t=e.points,n=e.isOutline,r=n!==void 0&&n,a=ur(),o=v.useMemo(function(){var l=t[0];return t.slice(1).reduce(function(u,d){return u+" L"+d[0]+","+d[1]},"M"+l[0]+","+l[1])},[t]),s=pJe(o);if(r&&a.annotations.link.outlineWidth<=0)return null;var c=Oi({},a.annotations.link);return r&&(c.strokeLinecap="square",c.strokeWidth=a.annotations.link.strokeWidth+2*a.annotations.link.outlineWidth,c.stroke=a.annotations.link.outlineColor,c.opacity=a.annotations.link.outlineOpacity),p.jsx(nr.path,{fill:"none",d:s,style:c})},"E"),FQe=i(function(e){var t=e.x,n=e.y,r=e.size,a=ur(),o=Ko(),s=o.animate,c=o.config,l=Es({x:t,y:n,radius:r/2,config:c,immediate:!s});return p.jsxs(p.Fragment,{children:[a.annotations.outline.outlineWidth>0&&p.jsx(nr.circle,{cx:l.x,cy:l.y,r:l.radius,style:Oi({},a.annotations.outline,{fill:"none",strokeWidth:a.annotations.outline.strokeWidth+2*a.annotations.outline.outlineWidth,stroke:a.annotations.outline.outlineColor,opacity:a.annotations.outline.outlineOpacity})}),p.jsx(nr.circle,{cx:l.x,cy:l.y,r:l.radius,style:a.annotations.outline})]})},"D"),BQe=i(function(e){var t=e.x,n=e.y,r=e.size,a=r===void 0?ak.dotSize:r,o=ur(),s=Ko(),c=s.animate,l=s.config,u=Es({x:t,y:n,radius:a/2,config:l,immediate:!c});return p.jsxs(p.Fragment,{children:[o.annotations.outline.outlineWidth>0&&p.jsx(nr.circle,{cx:u.x,cy:u.y,r:u.radius,style:Oi({},o.annotations.outline,{fill:"none",strokeWidth:2*o.annotations.outline.outlineWidth,stroke:o.annotations.outline.outlineColor,opacity:o.annotations.outline.outlineOpacity})}),p.jsx(nr.circle,{cx:u.x,cy:u.y,r:u.radius,style:o.annotations.symbol})]})},"I"),WQe=i(function(e){var t=e.x,n=e.y,r=e.width,a=e.height,o=e.borderRadius,s=o===void 0?6:o,c=ur(),l=Ko(),u=l.animate,d=l.config,f=Es({x:t-r/2,y:n-a/2,width:r,height:a,config:d,immediate:!u});return p.jsxs(p.Fragment,{children:[c.annotations.outline.outlineWidth>0&&p.jsx(nr.rect,{x:f.x,y:f.y,rx:s,ry:s,width:f.width,height:f.height,style:Oi({},c.annotations.outline,{fill:"none",strokeWidth:c.annotations.outline.strokeWidth+2*c.annotations.outline.outlineWidth,stroke:c.annotations.outline.outlineColor,opacity:c.annotations.outline.outlineOpacity})}),p.jsx(nr.rect,{x:f.x,y:f.y,rx:s,ry:s,width:f.width,height:f.height,style:c.annotations.outline})]})},"L"),UQe=i(function(e){var t=e.datum,n=e.x,r=e.y,a=e.note,o=DQe(e);if(!MQe(a))throw new Error("note should be a valid react element");return p.jsxs(p.Fragment,{children:[p.jsx(O6,{points:o.points,isOutline:!0}),jh(e)&&p.jsx(FQe,{x:n,y:r,size:e.size}),ok(e)&&p.jsx(BQe,{x:n,y:r,size:e.size}),_h(e)&&p.jsx(WQe,{x:n,y:r,width:e.width,height:e.height,borderRadius:e.borderRadius}),p.jsx(O6,{points:o.points}),p.jsx(NQe,{datum:t,x:o.text[0],y:o.text[1],note:a})]})},"R"),z6=i(function(e,t){t.forEach(function(n,r){var a=n[0],o=n[1];r===0?e.moveTo(a,o):e.lineTo(a,o)})},"q"),HQe=i(function(e,t){var n=t.annotations,r=t.theme;n.length!==0&&(e.save(),n.forEach(function(a){if(!OQe(a.note))throw new Error("note is invalid for canvas implementation");r.annotations.link.outlineWidth>0&&(e.lineCap="square",e.strokeStyle=r.annotations.link.outlineColor,e.lineWidth=r.annotations.link.strokeWidth+2*r.annotations.link.outlineWidth,e.beginPath(),z6(e,a.computed.points),e.stroke(),e.lineCap="butt"),jh(a)&&r.annotations.outline.outlineWidth>0&&(e.strokeStyle=r.annotations.outline.outlineColor,e.lineWidth=r.annotations.outline.strokeWidth+2*r.annotations.outline.outlineWidth,e.beginPath(),e.arc(a.x,a.y,a.size/2,0,2*Math.PI),e.stroke()),ok(a)&&r.annotations.symbol.outlineWidth>0&&(e.strokeStyle=r.annotations.symbol.outlineColor,e.lineWidth=2*r.annotations.symbol.outlineWidth,e.beginPath(),e.arc(a.x,a.y,a.size/2,0,2*Math.PI),e.stroke()),_h(a)&&r.annotations.outline.outlineWidth>0&&(e.strokeStyle=r.annotations.outline.outlineColor,e.lineWidth=r.annotations.outline.strokeWidth+2*r.annotations.outline.outlineWidth,e.beginPath(),e.rect(a.x-a.width/2,a.y-a.height/2,a.width,a.height),e.stroke()),e.strokeStyle=r.annotations.link.stroke,e.lineWidth=r.annotations.link.strokeWidth,e.beginPath(),z6(e,a.computed.points),e.stroke(),jh(a)&&(e.strokeStyle=r.annotations.outline.stroke,e.lineWidth=r.annotations.outline.strokeWidth,e.beginPath(),e.arc(a.x,a.y,a.size/2,0,2*Math.PI),e.stroke()),ok(a)&&(e.fillStyle=r.annotations.symbol.fill,e.beginPath(),e.arc(a.x,a.y,a.size/2,0,2*Math.PI),e.fill()),_h(a)&&(e.strokeStyle=r.annotations.outline.stroke,e.lineWidth=r.annotations.outline.strokeWidth,e.beginPath(),e.rect(a.x-a.width/2,a.y-a.height/2,a.width,a.height),e.stroke()),typeof a.note=="function"?a.note(e,{datum:a.datum,x:a.computed.text[0],y:a.computed.text[1],theme:r}):(e.font=r.annotations.text.fontSize+"px "+r.annotations.text.fontFamily,e.textAlign="left",e.textBaseline="alphabetic",e.fillStyle=r.annotations.text.fill,e.strokeStyle=r.annotations.text.outlineColor,e.lineWidth=2*r.annotations.text.outlineWidth,r.annotations.text.outlineWidth>0&&(e.lineJoin="round",e.strokeText(a.note,a.computed.text[0],a.computed.text[1]),e.lineJoin="miter"),e.fillText(a.note,a.computed.text[0],a.computed.text[1]))}),e.restore())},"J$1");function k0(){return k0=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},k0.apply(this,arguments)}i(k0,"qe");function I6(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}i(I6,"Se$1");function qQe(e,t){var n=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=function(a,o){if(a){if(typeof a=="string")return I6(a,o);var s=Object.prototype.toString.call(a).slice(8,-1);return s==="Object"&&a.constructor&&(s=a.constructor.name),s==="Map"||s==="Set"?Array.from(a):s==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(s)?I6(a,o):void 0}}(e))||t&&e&&typeof e.length=="number"){n&&(e=n);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}i(qQe,"Re");var cJ={nivo:["#e8c1a0","#f47560","#f1e15b","#e8a838","#61cdbb","#97e3d5"],category10:qG,accent:VG,dark2:GG,paired:KG,pastel1:JG,pastel2:YG,set1:QG,set2:XG,set3:fA},VQe=Object.keys(cJ),lJ={brown_blueGreen:Y1,purpleRed_green:Q1,pink_yellowGreen:X1,purple_orange:Z1,red_blue:ew,red_grey:tw,red_yellow_blue:nw,red_yellow_green:rw,spectral:aw},GQe=Object.keys(lJ),KQe={brown_blueGreen:$Ge,purpleRed_green:EGe,pink_yellowGreen:RGe,purple_orange:AGe,red_blue:PGe,red_grey:TGe,red_yellow_blue:MGe,red_yellow_green:OGe,spectral:zGe},uJ={blues:vw,greens:yw,greys:bw,oranges:Cw,purples:xw,reds:ww,blue_green:ow,blue_purple:iw,green_blue:sw,orange_red:cw,purple_blue_green:lw,purple_blue:uw,purple_red:dw,red_purple:fw,yellow_green_blue:pw,yellow_green:mw,yellow_orange_brown:hw,yellow_orange_red:gw},JQe=Object.keys(uJ),YQe={blues:KGe,greens:JGe,greys:YGe,oranges:ZGe,purples:QGe,reds:XGe,turbo:cKe,viridis:lKe,inferno:dKe,magma:uKe,plasma:fKe,cividis:eKe,warm:nKe,cool:rKe,cubehelixDefault:tKe,blue_green:IGe,blue_purple:LGe,green_blue:DGe,orange_red:NGe,purple_blue_green:FGe,purple_blue:BGe,purple_red:WGe,red_purple:UGe,yellow_green_blue:HGe,yellow_green:qGe,yellow_orange_brown:VGe,yellow_orange_red:GGe},zy=k0({},cJ,lJ,uJ),QQe=Object.keys(zy),XQe=i(function(e){return VQe.includes(e)},"Fe"),ZQe=i(function(e){return GQe.includes(e)},"He"),eXe=i(function(e){return JQe.includes(e)},"Je"),tXe={rainbow:aKe,sinebow:sKe};k0({},KQe,YQe,tXe);var nXe=i(function(e,t){if(typeof e=="function")return e;if(A$(e)){if(function(l){return l.theme!==void 0}(e)){if(t===void 0)throw new Error("Unable to use color from theme as no theme was provided");var n=Ct(t,e.theme);if(n===void 0)throw new Error("Color from theme is undefined at path: '"+e.theme+"'");return function(){return n}}if(function(l){return l.from!==void 0}(e)){var r=i(function(l){return Ct(l,e.from)},"t");if(Array.isArray(e.modifiers)){for(var a,o=[],s=function(){var l=a.value,u=l[0],d=l[1];if(u==="brighter")o.push(function(f){return f.brighter(d)});else if(u==="darker")o.push(function(f){return f.darker(d)});else{if(u!=="opacity")throw new Error("Invalid color modifier: '"+u+"', must be one of: 'brighter', 'darker', 'opacity'");o.push(function(f){return f.opacity=d,f})}},c=qQe(e.modifiers);!(a=c()).done;)s();return o.length===0?r:function(l){return o.reduce(function(u,d){return d(u)},bf(r(l))).toString()}}return r}throw new Error("Invalid color spec, you should either specify 'theme' or 'from' when using a config object")}return function(){return e}},"Qe"),L6=i(function(e,t){return v.useMemo(function(){return nXe(e,t)},[e,t])},"We$1");W.oneOfType([W.func,W.arrayOf(W.string),W.shape({scheme:W.oneOf(QQe).isRequired,size:W.number}),W.shape({datum:W.string.isRequired}),W.string]);W.oneOfType([W.string,W.func,W.shape({theme:W.string.isRequired}),W.shape({from:W.string.isRequired,modifiers:W.arrayOf(W.array)})]);var rXe=i(function(e,t){if(typeof e=="function")return e;var n=typeof t=="function"?t:function(f){return Ct(f,t)};if(Array.isArray(e)){var r=tl(e),a=i(function(f){return r(n(f))},"o");return a.scale=r,a}if(A$(e)){if(function(f){return f.datum!==void 0}(e))return function(f){return Ct(f,e.datum)};if(function(f){return f.scheme!==void 0}(e)){if(XQe(e.scheme)){var o=tl(zy[e.scheme]),s=i(function(f){return o(n(f))},"u");return s.scale=o,s}if(ZQe(e.scheme)){if(e.size!==void 0&&(e.size<3||e.size>11))throw new Error("Invalid size '"+e.size+"' for diverging color scheme '"+e.scheme+"', must be between 3~11");var c=tl(zy[e.scheme][e.size||11]),l=i(function(f){return c(n(f))},"l");return l.scale=c,l}if(eXe(e.scheme)){if(e.size!==void 0&&(e.size<3||e.size>9))throw new Error("Invalid size '"+e.size+"' for sequential color scheme '"+e.scheme+"', must be between 3~9");var u=tl(zy[e.scheme][e.size||9]),d=i(function(f){return u(n(f))},"c");return d.scale=u,d}}throw new Error("Invalid colors, when using an object, you should either pass a 'datum' or a 'scheme' property")}return function(){return e}},"fr"),aXe=i(function(e,t){return v.useMemo(function(){return rXe(e,t)},[e,t])},"pr"),oXe=i(function(e){var t=e.x,n=e.y,r=e.size,a=e.fill,o=e.opacity,s=o===void 0?1:o,c=e.borderWidth,l=c===void 0?0:c,u=e.borderColor;return p.jsx("circle",{r:r/2,cx:t+r/2,cy:n+r/2,fill:a,opacity:s,strokeWidth:l,stroke:u===void 0?"transparent":u,style:{pointerEvents:"none"}})},"m"),iXe=i(function(e){var t=e.x,n=e.y,r=e.size,a=e.fill,o=e.opacity,s=o===void 0?1:o,c=e.borderWidth,l=c===void 0?0:c,u=e.borderColor;return p.jsx("g",{transform:"translate("+t+","+n+")",children:p.jsx("path",{d:` - M`+r/2+` 0 - L`+.8*r+" "+r/2+` - L`+r/2+" "+r+` - L`+.2*r+" "+r/2+` - L`+r/2+` 0 - `,fill:a,opacity:s,strokeWidth:l,stroke:u===void 0?"transparent":u,style:{pointerEvents:"none"}})})},"f"),sXe=i(function(e){var t=e.x,n=e.y,r=e.size,a=e.fill,o=e.opacity,s=o===void 0?1:o,c=e.borderWidth,l=c===void 0?0:c,u=e.borderColor;return p.jsx("rect",{x:t,y:n,fill:a,opacity:s,strokeWidth:l,stroke:u===void 0?"transparent":u,width:r,height:r,style:{pointerEvents:"none"}})},"u"),cXe=i(function(e){var t=e.x,n=e.y,r=e.size,a=e.fill,o=e.opacity,s=o===void 0?1:o,c=e.borderWidth,l=c===void 0?0:c,u=e.borderColor;return p.jsx("g",{transform:"translate("+t+","+n+")",children:p.jsx("path",{d:` - M`+r/2+` 0 - L`+r+" "+r+` - L0 `+r+` - L`+r/2+` 0 - `,fill:a,opacity:s,strokeWidth:l,stroke:u===void 0?"transparent":u,style:{pointerEvents:"none"}})})},"v");function nl(){return nl=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},nl.apply(this,arguments)}i(nl,"p");var lXe={top:0,right:0,bottom:0,left:0},_A=i(function(e){var t,n=e.direction,r=e.itemsSpacing,a=e.padding,o=e.itemCount,s=e.itemWidth,c=e.itemHeight;if(typeof a!="number"&&(typeof(t=a)!="object"||Array.isArray(t)||t===null))throw new Error("Invalid property padding, must be one of: number, object");var l=typeof a=="number"?{top:a,right:a,bottom:a,left:a}:nl({},lXe,a),u=l.left+l.right,d=l.top+l.bottom,f=s+u,m=c+d,g=(o-1)*r;return n==="row"?f=s*o+g+u:n==="column"&&(m=c*o+g+d),{width:f,height:m,padding:l}},"k"),dJ=i(function(e){var t=e.anchor,n=e.translateX,r=e.translateY,a=e.containerWidth,o=e.containerHeight,s=e.width,c=e.height,l=n,u=r;switch(t){case"top":l+=(a-s)/2;break;case"top-right":l+=a-s;break;case"right":l+=a-s,u+=(o-c)/2;break;case"bottom-right":l+=a-s,u+=o-c;break;case"bottom":l+=(a-s)/2,u+=o-c;break;case"bottom-left":u+=o-c;break;case"left":u+=(o-c)/2;break;case"center":l+=(a-s)/2,u+=(o-c)/2}return{x:l,y:u}},"x"),fJ=i(function(e){var t,n,r,a,o,s,c=e.direction,l=e.justify,u=e.symbolSize,d=e.symbolSpacing,f=e.width,m=e.height;switch(c){case"left-to-right":t=0,n=(m-u)/2,a=m/2,s="central",l?(r=f,o="end"):(r=u+d,o="start");break;case"right-to-left":t=f-u,n=(m-u)/2,a=m/2,s="central",l?(r=0,o="start"):(r=f-u-d,o="end");break;case"top-to-bottom":t=(f-u)/2,n=0,r=f/2,o="middle",l?(a=m,s="alphabetic"):(a=u+d,s="text-before-edge");break;case"bottom-to-top":t=(f-u)/2,n=m-u,r=f/2,o="middle",l?(a=0,s="text-before-edge"):(a=m-u-d,s="alphabetic")}return{symbolX:t,symbolY:n,labelX:r,labelY:a,labelAnchor:o,labelAlignment:s}},"S"),uXe={circle:oXe,diamond:iXe,square:sXe,triangle:cXe},dXe=i(function(e){var t,n,r,a,o,s,c,l,u,d,f,m=e.x,g=e.y,h=e.width,y=e.height,b=e.data,x=e.direction,w=x===void 0?"left-to-right":x,C=e.justify,j=C!==void 0&&C,_=e.textColor,S=e.background,k=S===void 0?"transparent":S,$=e.opacity,E=$===void 0?1:$,P=e.symbolShape,R=P===void 0?"square":P,T=e.symbolSize,M=T===void 0?16:T,I=e.symbolSpacing,z=I===void 0?8:I,H=e.symbolBorderWidth,F=H===void 0?0:H,L=e.symbolBorderColor,B=L===void 0?"transparent":L,K=e.onClick,se=e.onMouseEnter,ue=e.onMouseLeave,_e=e.toggleSerie,le=e.effects,V=v.useState({}),q=V[0],Y=V[1],O=ur(),D=v.useCallback(function(fe){if(le){var pe=le.filter(function(xe){return xe.on==="hover"}).reduce(function(xe,Re){return nl({},xe,Re.style)},{});Y(pe)}se==null||se(b,fe)},[se,b,le]),Z=v.useCallback(function(fe){if(le){var pe=le.filter(function(xe){return xe.on!=="hover"}).reduce(function(xe,Re){return nl({},xe,Re.style)},{});Y(pe)}ue==null||ue(b,fe)},[ue,b,le]),J=fJ({direction:w,justify:j,symbolSize:(t=q.symbolSize)!=null?t:M,symbolSpacing:z,width:h,height:y}),U=J.symbolX,ne=J.symbolY,ie=J.labelX,he=J.labelY,N=J.labelAnchor,Q=J.labelAlignment,X=[K,se,ue,_e].some(function(fe){return fe!==void 0}),we=typeof R=="function"?R:uXe[R];return p.jsxs("g",{transform:"translate("+m+","+g+")",style:{opacity:(n=q.itemOpacity)!=null?n:E},children:[p.jsx("rect",{width:h,height:y,fill:(r=q.itemBackground)!=null?r:k,style:{cursor:X?"pointer":"auto"},onClick:function(fe){K==null||K(b,fe),_e==null||_e(b.id)},onMouseEnter:D,onMouseLeave:Z}),v.createElement(we,nl({id:b.id,x:U,y:ne,size:(a=q.symbolSize)!=null?a:M,fill:(o=(s=b.fill)!=null?s:b.color)!=null?o:"black",borderWidth:(c=q.symbolBorderWidth)!=null?c:F,borderColor:(l=q.symbolBorderColor)!=null?l:B},b.hidden?O.legends.hidden.symbol:void 0)),p.jsx("text",{textAnchor:N,style:nl({},O.legends.text,{fill:(u=(d=(f=q.itemTextColor)!=null?f:_)!=null?d:O.legends.text.fill)!=null?u:"black",dominantBaseline:Q,pointerEvents:"none",userSelect:"none"},b.hidden?O.legends.hidden.text:void 0),x:ie,y:he,children:b.label})]})},"B"),fXe=i(function(e){var t=e.data,n=e.x,r=e.y,a=e.direction,o=e.padding,s=o===void 0?0:o,c=e.justify,l=e.effects,u=e.itemWidth,d=e.itemHeight,f=e.itemDirection,m=f===void 0?"left-to-right":f,g=e.itemsSpacing,h=g===void 0?0:g,y=e.itemTextColor,b=e.itemBackground,x=b===void 0?"transparent":b,w=e.itemOpacity,C=w===void 0?1:w,j=e.symbolShape,_=e.symbolSize,S=e.symbolSpacing,k=e.symbolBorderWidth,$=e.symbolBorderColor,E=e.onClick,P=e.onMouseEnter,R=e.onMouseLeave,T=e.toggleSerie,M=_A({itemCount:t.length,itemWidth:u,itemHeight:d,itemsSpacing:h,direction:a,padding:s}).padding,I=a==="row"?u+h:0,z=a==="column"?d+h:0;return p.jsx("g",{transform:"translate("+n+","+r+")",children:t.map(function(H,F){return p.jsx(dXe,{data:H,x:F*I+M.left,y:F*z+M.top,width:u,height:d,direction:m,justify:c,effects:l,textColor:y,background:x,opacity:C,symbolShape:j,symbolSize:_,symbolSpacing:S,symbolBorderWidth:k,symbolBorderColor:$,onClick:E,onMouseEnter:P,onMouseLeave:R,toggleSerie:T},F)})})},"w"),pXe=i(function(e){var t=e.data,n=e.containerWidth,r=e.containerHeight,a=e.translateX,o=a===void 0?0:a,s=e.translateY,c=s===void 0?0:s,l=e.anchor,u=e.direction,d=e.padding,f=d===void 0?0:d,m=e.justify,g=e.itemsSpacing,h=g===void 0?0:g,y=e.itemWidth,b=e.itemHeight,x=e.itemDirection,w=e.itemTextColor,C=e.itemBackground,j=e.itemOpacity,_=e.symbolShape,S=e.symbolSize,k=e.symbolSpacing,$=e.symbolBorderWidth,E=e.symbolBorderColor,P=e.onClick,R=e.onMouseEnter,T=e.onMouseLeave,M=e.toggleSerie,I=e.effects,z=_A({itemCount:t.length,itemsSpacing:h,itemWidth:y,itemHeight:b,direction:u,padding:f}),H=z.width,F=z.height,L=dJ({anchor:l,translateX:o,translateY:c,containerWidth:n,containerHeight:r,width:H,height:F}),B=L.x,K=L.y;return p.jsx(fXe,{data:t,x:B,y:K,direction:u,padding:f,justify:m,effects:I,itemsSpacing:h,itemWidth:y,itemHeight:b,itemDirection:x,itemTextColor:w,itemBackground:C,itemOpacity:j,symbolShape:_,symbolSize:S,symbolSpacing:k,symbolBorderWidth:$,symbolBorderColor:E,onClick:P,onMouseEnter:R,onMouseLeave:T,toggleSerie:typeof M=="boolean"?void 0:M})},"X"),mXe={start:"left",middle:"center",end:"right"},hXe=i(function(e,t){var n=t.data,r=t.containerWidth,a=t.containerHeight,o=t.translateX,s=o===void 0?0:o,c=t.translateY,l=c===void 0?0:c,u=t.anchor,d=t.direction,f=t.padding,m=f===void 0?0:f,g=t.justify,h=g!==void 0&&g,y=t.itemsSpacing,b=y===void 0?0:y,x=t.itemWidth,w=t.itemHeight,C=t.itemDirection,j=C===void 0?"left-to-right":C,_=t.itemTextColor,S=t.symbolSize,k=S===void 0?16:S,$=t.symbolSpacing,E=$===void 0?8:$,P=t.theme,R=_A({itemCount:n.length,itemWidth:x,itemHeight:w,itemsSpacing:b,direction:d,padding:m}),T=R.width,M=R.height,I=R.padding,z=dJ({anchor:u,translateX:s,translateY:l,containerWidth:r,containerHeight:a,width:T,height:M}),H=z.x,F=z.y,L=d==="row"?x+b:0,B=d==="column"?w+b:0;e.save(),e.translate(H,F),e.font=P.legends.text.fontSize+"px "+(P.legends.text.fontFamily||"sans-serif"),n.forEach(function(K,se){var ue,_e,le=se*L+I.left,V=se*B+I.top,q=fJ({direction:j,justify:h,symbolSize:k,symbolSpacing:E,width:x,height:w}),Y=q.symbolX,O=q.symbolY,D=q.labelX,Z=q.labelY,J=q.labelAnchor,U=q.labelAlignment;e.fillStyle=(ue=K.color)!=null?ue:"black",e.fillRect(le+Y,V+O,k,k),e.textAlign=mXe[J],U==="central"&&(e.textBaseline="middle"),e.fillStyle=(_e=_??P.legends.text.fill)!=null?_e:"black",e.fillText(String(K.label),le+D,V+Z)}),e.restore()},"H");W.arrayOf(W.object),W.oneOf(["top","top-right","right","bottom-right","bottom","bottom-left","left","top-left","center"]).isRequired,W.number,W.number,W.oneOf(["row","column"]).isRequired,W.number,W.number.isRequired,W.number.isRequired,W.oneOf(["left-to-right","right-to-left","top-to-bottom","bottom-to-top"]),W.string,W.string,W.number,W.oneOfType([W.oneOf(["circle","diamond","square","triangle"]),W.func]),W.number,W.number,W.number,W.string,W.func,W.func,W.func,W.arrayOf(W.shape({on:W.oneOfType([W.oneOf(["hover"])]).isRequired,style:W.shape({itemTextColor:W.string,itemBackground:W.string,itemOpacity:W.number,symbolSize:W.number,symbolBorderWidth:W.number,symbolBorderColor:W.string}).isRequired}));function on(){return on=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},on.apply(this,arguments)}i(on,"z");function lp(e,t){if(e==null)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}i(lp,"K");var D6,gXe=i(function(e){var t=e.bars,n=e.annotations,r=sJ({data:t,annotations:n,getPosition:function(a){return{x:a.x+a.width/2,y:a.y+a.height/2}},getDimensions:function(a){var o=a.height,s=a.width;return{width:s,height:o,size:Math.max(s,o)}}});return p.jsx(p.Fragment,{children:r.map(function(a,o){return p.jsx(UQe,on({},a),o)})})},"J"),vXe=i(function(e){var t=e.width,n=e.height,r=e.legends,a=e.toggleSerie;return p.jsx(p.Fragment,{children:r.map(function(o,s){var c,l=o[0],u=o[1];return p.jsx(pXe,on({},l,{containerWidth:t,containerHeight:n,data:(c=l.data)!=null?c:u,toggleSerie:l.toggleSerie&&l.dataFrom==="keys"?a:void 0}),s)})})},"Q"),yXe=["data"],bXe=i(function(e){var t,n=e.bar,r=n.data,a=lp(n,yXe),o=e.style,s=o.borderColor,c=o.color,l=o.height,u=o.labelColor,d=o.labelOpacity,f=o.labelX,m=o.labelY,g=o.transform,h=o.width,y=e.borderRadius,b=e.borderWidth,x=e.label,w=e.shouldRenderLabel,C=e.isInteractive,j=e.onClick,_=e.onMouseEnter,S=e.onMouseLeave,k=e.tooltip,$=e.isFocusable,E=e.ariaLabel,P=e.ariaLabelledBy,R=e.ariaDescribedBy,T=ur(),M=iG(),I=M.showTooltipFromEvent,z=M.showTooltipAt,H=M.hideTooltip,F=v.useMemo(function(){return function(){return v.createElement(k,on({},a,r))}},[k,a,r]),L=v.useCallback(function(le){j==null||j(on({color:a.color},r),le)},[a,r,j]),B=v.useCallback(function(le){return I(F(),le)},[I,F]),K=v.useCallback(function(le){_==null||_(r,le),I(F(),le)},[r,_,I,F]),se=v.useCallback(function(le){S==null||S(r,le),H()},[r,H,S]),ue=v.useCallback(function(){z(F(),[a.absX+a.width/2,a.absY])},[z,F,a]),_e=v.useCallback(function(){H()},[H]);return p.jsxs(nr.g,{transform:g,children:[p.jsx(nr.rect,{width:F_(h,function(le){return Math.max(le,0)}),height:F_(l,function(le){return Math.max(le,0)}),rx:y,ry:y,fill:(t=r.fill)!=null?t:c,strokeWidth:b,stroke:s,focusable:$,tabIndex:$?0:void 0,"aria-label":E?E(r):void 0,"aria-labelledby":P?P(r):void 0,"aria-describedby":R?R(r):void 0,onMouseEnter:C?K:void 0,onMouseMove:C?B:void 0,onMouseLeave:C?se:void 0,onClick:C?L:void 0,onFocus:C&&$?ue:void 0,onBlur:C&&$?_e:void 0}),w&&p.jsx(nr.text,{x:f,y:m,textAnchor:"middle",dominantBaseline:"central",fillOpacity:d,style:on({},T.labels.text,{pointerEvents:"none",fill:u}),children:x})]})},"Z"),xXe=["color","label"],Cn={indexBy:"id",keys:["value"],groupMode:"stacked",layout:"vertical",reverse:!1,minValue:"auto",maxValue:"auto",valueScale:{type:"linear"},indexScale:{type:"band",round:!0},padding:.1,innerPadding:0,axisBottom:{},axisLeft:{},enableGridX:!1,enableGridY:!0,enableLabel:!0,label:"formattedValue",labelSkipWidth:0,labelSkipHeight:0,labelTextColor:{from:"theme",theme:"labels.text.fill"},colorBy:"id",colors:{scheme:"nivo"},borderRadius:0,borderWidth:0,borderColor:{from:"color"},isInteractive:!0,tooltip:function(e){var t=e.color,n=e.label,r=lp(e,xXe);return p.jsx(qHe,{id:n,value:r.formattedValue,enableChip:!0,color:t})},tooltipLabel:function(e){return e.id+" - "+e.indexValue},legends:[],initialHiddenIds:[],annotations:[],markers:[]},Tn=on({},Cn,{layers:["grid","axes","bars","markers","legends","annotations"],barComponent:bXe,defs:[],fill:[],animate:!0,motionConfig:"default",role:"img",isFocusable:!1}),ea=on({},Cn,{layers:["grid","axes","bars","legends","annotations"],pixelRatio:typeof window<"u"&&(D6=window.devicePixelRatio)!=null?D6:1}),pJ=i(function(e,t,n,r,a,o){return jA(r,{all:e.map(t),min:0,max:0},a,o).padding(n)},"ie"),mJ=i(function(e,t){return e.map(function(n){return on({},t.reduce(function(r,a){return r[a]=null,r},{}),n)})},"te"),$w=i(function(e){return Object.keys(e).reduce(function(t,n){return e[n]&&(t[n]=e[n]),t},{})},"ne"),Ew=i(function(e){return[e,Number(e)]},"re"),wXe=["layout","minValue","maxValue","reverse","width","height","padding","innerPadding","valueScale","indexScale","hiddenIds"],kA=i(function(e,t){return e>t},"oe"),hJ=i(function(e,t){return e<t},"de"),gJ=i(function(e,t){return Array.from(" ".repeat(t-e),function(n,r){return e+r})},"ue"),CXe=i(function(e){return kA(e,0)?0:e},"ce"),SXe=i(function(e,t,n,r){var a=e.data,o=e.formatValue,s=e.getColor,c=e.getIndex,l=e.getTooltipLabel,u=e.innerPadding,d=u===void 0?0:u,f=e.keys,m=e.xScale,g=e.yScale,h=e.margin,y=n?hJ:kA,b=a.map($w),x=[];return f.forEach(function(w,C){return gJ(0,m.domain().length).forEach(function(j){var _,S,k,$=Ew(a[j][w]),E=$[0],P=$[1],R=c(a[j]),T=((_=m(R))!=null?_:0)+t*C+d*C,M=y(S=P,0)?(k=g(S))!=null?k:0:r,I=function(H,F){var L;return y(H,0)?r-F:((L=g(H))!=null?L:0)-r}(P,M),z={id:w,value:E===null?E:P,formattedValue:o(P),hidden:!1,index:j,indexValue:R,data:b[j]};x.push({key:w+"."+z.indexValue,index:x.length,data:z,x:T,y:M,absX:h.left+T,absY:h.top+M,width:t,height:I,color:s(z),label:l(z)})})}),x},"se"),jXe=i(function(e,t,n,r){var a=e.data,o=e.formatValue,s=e.getIndex,c=e.getColor,l=e.getTooltipLabel,u=e.keys,d=e.innerPadding,f=d===void 0?0:d,m=e.xScale,g=e.yScale,h=e.margin,y=n?hJ:kA,b=a.map($w),x=[];return u.forEach(function(w,C){return gJ(0,g.domain().length).forEach(function(j){var _,S,k,$=Ew(a[j][w]),E=$[0],P=$[1],R=s(a[j]),T=y(S=P,0)?r:(k=m(S))!=null?k:0,M=((_=g(R))!=null?_:0)+t*C+f*C,I=function(H,F){var L;return y(H,0)?((L=m(H))!=null?L:0)-r:r-F}(P,T),z={id:w,value:E===null?E:P,formattedValue:o(P),hidden:!1,index:j,indexValue:R,data:b[j]};x.push({key:w+"."+z.indexValue,index:x.length,data:z,x:T,y:M,absX:h.left+T,absY:h.top+M,width:I,height:t,color:c(z),label:l(z)})})}),x},"he"),_Xe=i(function(e){var t,n,r=e.layout,a=e.minValue,o=e.maxValue,s=e.reverse,c=e.width,l=e.height,u=e.padding,d=u===void 0?0:u,f=e.innerPadding,m=f===void 0?0:f,g=e.valueScale,h=e.indexScale,y=e.hiddenIds,b=y===void 0?[]:y,x=lp(e,wXe),w=x.keys.filter(function(K){return!b.includes(K)}),C=mJ(x.data,w),j=r==="vertical"?["y","x",c]:["x","y",l],_=j[0],S=j[1],k=j[2],$=pJ(C,x.getIndex,d,h,k,S),E=on({max:o,min:a,reverse:s},g),P=E.min==="auto"?CXe:function(K){return K},R=C.reduce(function(K,se){return[].concat(K,w.map(function(ue){return se[ue]}))},[]).filter(Boolean),T=P(Math.min.apply(Math,R)),M=(n=Math.max.apply(Math,R),isFinite(n)?n:0),I=jA(E,{all:R,min:T,max:M},_==="x"?c:l,_),z=r==="vertical"?[$,I]:[I,$],H=z[0],F=z[1],L=($.bandwidth()-m*(w.length-1))/w.length,B=[on({},x,{data:C,keys:w,innerPadding:m,xScale:H,yScale:F}),L,E.reverse,(t=I(0))!=null?t:0];return{xScale:H,yScale:F,bars:L>0?r==="vertical"?SXe.apply(void 0,B):jXe.apply(void 0,B):[]}},"be"),kXe=["data","layout","minValue","maxValue","reverse","width","height","padding","valueScale","indexScale","hiddenIds"],$Xe=i(function e(t){var n;return t.some(Array.isArray)?e((n=[]).concat.apply(n,t)):t},"e"),EXe=i(function(e,t,n){var r=e.formatValue,a=e.getColor,o=e.getIndex,s=e.getTooltipLabel,c=e.innerPadding,l=e.stackedData,u=e.xScale,d=e.yScale,f=e.margin,m=[];return l.forEach(function(g){return u.domain().forEach(function(h,y){var b,x,w=g[y],C=(b=u(o(w.data)))!=null?b:0,j=((x=function(P){return d(P[n?0:1])}(w))!=null?x:0)+.5*c,_=function(P,R){var T;return((T=d(P[n?1:0]))!=null?T:0)-R}(w,j)-c,S=Ew(w.data[g.key]),k=S[0],$=S[1],E={id:g.key,value:k===null?k:$,formattedValue:r($),hidden:!1,index:y,indexValue:h,data:$w(w.data)};m.push({key:g.key+"."+h,index:m.length,data:E,x:C,y:j,absX:f.left+C,absY:f.top+j,width:t,height:_,color:a(E),label:s(E)})})}),m},"fe"),RXe=i(function(e,t,n){var r=e.formatValue,a=e.getColor,o=e.getIndex,s=e.getTooltipLabel,c=e.innerPadding,l=e.stackedData,u=e.xScale,d=e.yScale,f=e.margin,m=[];return l.forEach(function(g){return d.domain().forEach(function(h,y){var b,x,w=g[y],C=(b=d(o(w.data)))!=null?b:0,j=((x=function(P){return u(P[n?1:0])}(w))!=null?x:0)+.5*c,_=function(P,R){var T;return((T=u(P[n?0:1]))!=null?T:0)-R}(w,j)-c,S=Ew(w.data[g.key]),k=S[0],$=S[1],E={id:g.key,value:k===null?k:$,formattedValue:r($),hidden:!1,index:y,indexValue:h,data:$w(w.data)};m.push({key:g.key+"."+h,index:m.length,data:E,x:j,y:C,absX:f.left+j,absY:f.top+C,width:_,height:t,color:a(E),label:s(E)})})}),m},"me"),AXe=i(function(e){var t,n=e.data,r=e.layout,a=e.minValue,o=e.maxValue,s=e.reverse,c=e.width,l=e.height,u=e.padding,d=u===void 0?0:u,f=e.valueScale,m=e.indexScale,g=e.hiddenIds,h=g===void 0?[]:g,y=lp(e,kXe),b=y.keys.filter(function(L){return!h.includes(L)}),x=LKe().keys(b).offset(dK)(mJ(n,b)),w=r==="vertical"?["y","x",c]:["x","y",l],C=w[0],j=w[1],_=w[2],S=pJ(n,y.getIndex,d,m,_,j),k=on({max:o,min:a,reverse:s},f),$=(t=$Xe(x),f.type==="log"?t.filter(function(L){return L!==0}):t),E=Math.min.apply(Math,$),P=Math.max.apply(Math,$),R=jA(k,{all:$,min:E,max:P},C==="x"?c:l,C),T=r==="vertical"?[S,R]:[R,S],M=T[0],I=T[1],z=y.innerPadding>0?y.innerPadding:0,H=S.bandwidth(),F=[on({},y,{innerPadding:z,stackedData:x,xScale:M,yScale:I}),H,k.reverse];return{xScale:M,yScale:I,bars:H>0?r==="vertical"?EXe.apply(void 0,F):RXe.apply(void 0,F):[]}},"pe"),PXe=i(function(e){var t=e.bars,n=e.direction,r=e.from,a=e.groupMode,o=e.layout,s=e.legendLabel,c=e.reverse,l=PK(s??(r==="indexes"?"indexValue":"id"));return r==="indexes"?function(u,d,f){var m=_6(u.map(function(g){var h,y;return{id:(h=g.data.indexValue)!=null?h:"",label:f(g.data),hidden:g.data.hidden,color:(y=g.color)!=null?y:"#000"}}),function(g){return g.id});return d==="horizontal"&&m.reverse(),m}(t,o,l):function(u,d,f,m,g,h){var y=_6(u.map(function(b){var x;return{id:b.data.id,label:h(b.data),hidden:b.data.hidden,color:(x=b.color)!=null?x:"#000"}}),function(b){return b.id});return(d==="vertical"&&m==="stacked"&&f==="column"&&g!==!0||d==="horizontal"&&m==="stacked"&&g===!0)&&y.reverse(),y}(t,o,n,a,c,l)},"xe"),vJ=i(function(e){var t=e.indexBy,n=t===void 0?Cn.indexBy:t,r=e.keys,a=r===void 0?Cn.keys:r,o=e.label,s=o===void 0?Cn.label:o,c=e.tooltipLabel,l=c===void 0?Cn.tooltipLabel:c,u=e.valueFormat,d=e.colors,f=d===void 0?Cn.colors:d,m=e.colorBy,g=m===void 0?Cn.colorBy:m,h=e.borderColor,y=h===void 0?Cn.borderColor:h,b=e.labelTextColor,x=b===void 0?Cn.labelTextColor:b,w=e.groupMode,C=w===void 0?Cn.groupMode:w,j=e.layout,_=j===void 0?Cn.layout:j,S=e.reverse,k=S===void 0?Cn.reverse:S,$=e.data,E=e.minValue,P=E===void 0?Cn.minValue:E,R=e.maxValue,T=R===void 0?Cn.maxValue:R,M=e.margin,I=e.width,z=e.height,H=e.padding,F=H===void 0?Cn.padding:H,L=e.innerPadding,B=L===void 0?Cn.innerPadding:L,K=e.valueScale,se=K===void 0?Cn.valueScale:K,ue=e.indexScale,_e=ue===void 0?Cn.indexScale:ue,le=e.initialHiddenIds,V=le===void 0?Cn.initialHiddenIds:le,q=e.enableLabel,Y=q===void 0?Cn.enableLabel:q,O=e.labelSkipWidth,D=O===void 0?Cn.labelSkipWidth:O,Z=e.labelSkipHeight,J=Z===void 0?Cn.labelSkipHeight:Z,U=e.legends,ne=U===void 0?Cn.legends:U,ie=e.legendLabel,he=v.useState(V??[]),N=he[0],Q=he[1],X=v.useCallback(function(ce){Q(function(be){return be.indexOf(ce)>-1?be.filter(function(Ue){return Ue!==ce}):[].concat(be,[ce])})},[]),we=JC(n),fe=JC(s),pe=JC(l),xe=bK(u),Re=ur(),Me=aXe(f,g),Je=L6(y,Re),pt=L6(x,Re),it=(C==="grouped"?_Xe:AXe)({layout:_,reverse:k,data:$,getIndex:we,keys:a,minValue:P,maxValue:T,width:I,height:z,getColor:Me,padding:F,innerPadding:B,valueScale:se,indexScale:_e,hiddenIds:N,formatValue:xe,getTooltipLabel:pe,margin:M}),De=it.bars,Se=it.xScale,We=it.yScale,yt=v.useMemo(function(){return De.filter(function(ce){return ce.data.value!==null}).map(function(ce,be){return on({},ce,{index:be})})},[De]),jt=v.useCallback(function(ce){var be=ce.width,Ue=ce.height;return!!Y&&!(D>0&&be<D)&&!(J>0&&Ue<J)},[Y,D,J]),G=v.useMemo(function(){return a.map(function(ce){var be=De.find(function(Ue){return Ue.data.id===ce});return on({},be,{data:on({id:ce},be==null?void 0:be.data,{hidden:N.includes(ce)})})})},[N,a,De]),ae=v.useMemo(function(){return ne.map(function(ce){return[ce,PXe({bars:ce.dataFrom==="keys"?G:De,direction:ce.direction,from:ce.dataFrom,groupMode:C,layout:_,legendLabel:ie,reverse:k})]})},[ne,G,De,C,_,ie,k]);return{bars:De,barsWithValue:yt,xScale:Se,yScale:We,getIndex:we,getLabel:fe,getTooltipLabel:pe,formatValue:xe,getColor:Me,getBorderColor:Je,getLabelColor:pt,shouldRenderBarLabel:jt,hiddenIds:N,toggleSerie:X,legendsWithData:ae}},"ye"),TXe=["isInteractive","animate","motionConfig","theme","renderWrapper"],MXe=i(function(e){var t=e.data,n=e.indexBy,r=e.keys,a=e.margin,o=e.width,s=e.height,c=e.groupMode,l=e.layout,u=e.reverse,d=e.minValue,f=e.maxValue,m=e.valueScale,g=e.indexScale,h=e.padding,y=e.innerPadding,b=e.axisTop,x=e.axisRight,w=e.axisBottom,C=w===void 0?Tn.axisBottom:w,j=e.axisLeft,_=j===void 0?Tn.axisLeft:j,S=e.enableGridX,k=S===void 0?Tn.enableGridX:S,$=e.enableGridY,E=$===void 0?Tn.enableGridY:$,P=e.gridXValues,R=e.gridYValues,T=e.layers,M=T===void 0?Tn.layers:T,I=e.barComponent,z=I===void 0?Tn.barComponent:I,H=e.enableLabel,F=H===void 0?Tn.enableLabel:H,L=e.label,B=e.labelSkipWidth,K=B===void 0?Tn.labelSkipWidth:B,se=e.labelSkipHeight,ue=se===void 0?Tn.labelSkipHeight:se,_e=e.labelTextColor,le=e.markers,V=le===void 0?Tn.markers:le,q=e.colorBy,Y=e.colors,O=e.defs,D=O===void 0?Tn.defs:O,Z=e.fill,J=Z===void 0?Tn.fill:Z,U=e.borderRadius,ne=U===void 0?Tn.borderRadius:U,ie=e.borderWidth,he=ie===void 0?Tn.borderWidth:ie,N=e.borderColor,Q=e.annotations,X=Q===void 0?Tn.annotations:Q,we=e.legendLabel,fe=e.tooltipLabel,pe=e.valueFormat,xe=e.isInteractive,Re=xe===void 0?Tn.isInteractive:xe,Me=e.tooltip,Je=Me===void 0?Tn.tooltip:Me,pt=e.onClick,it=e.onMouseEnter,De=e.onMouseLeave,Se=e.legends,We=e.role,yt=We===void 0?Tn.role:We,jt=e.ariaLabel,G=e.ariaLabelledBy,ae=e.ariaDescribedBy,ce=e.isFocusable,be=ce===void 0?Tn.isFocusable:ce,Ue=e.barAriaLabel,Oe=e.barAriaLabelledBy,ft=e.barAriaDescribedBy,kt=e.initialHiddenIds,wt=Ko(),Dt=wt.animate,re=wt.config,oe=vK(o,s,a),ye=oe.outerWidth,Ie=oe.outerHeight,He=oe.margin,ut=oe.innerWidth,Ve=oe.innerHeight,Ne=vJ({indexBy:n,label:L,tooltipLabel:fe,valueFormat:pe,colors:Y,colorBy:q,borderColor:N,labelTextColor:_e,groupMode:c,layout:l,reverse:u,data:t,keys:r,minValue:d,maxValue:f,margin:He,width:ut,height:Ve,padding:h,innerPadding:y,valueScale:m,indexScale:g,enableLabel:F,labelSkipWidth:K,labelSkipHeight:ue,legends:Se,legendLabel:we,initialHiddenIds:kt}),ze=Ne.bars,dt=Ne.barsWithValue,St=Ne.xScale,ke=Ne.yScale,Ce=Ne.getLabel,Fe=Ne.getTooltipLabel,lt=Ne.getBorderColor,rt=Ne.getLabelColor,Nt=Ne.shouldRenderBarLabel,Ft=Ne.toggleSerie,me=Ne.legendsWithData,ge=X8(dt,{keys:function(Ee){return Ee.key},from:function(Ee){return on({borderColor:lt(Ee),color:Ee.color,height:0,labelColor:rt(Ee),labelOpacity:0,labelX:Ee.width/2,labelY:Ee.height/2,transform:"translate("+Ee.x+", "+(Ee.y+Ee.height)+")",width:Ee.width},l==="vertical"?{}:{height:Ee.height,transform:"translate("+Ee.x+", "+Ee.y+")",width:0})},enter:function(Ee){return{borderColor:lt(Ee),color:Ee.color,height:Ee.height,labelColor:rt(Ee),labelOpacity:1,labelX:Ee.width/2,labelY:Ee.height/2,transform:"translate("+Ee.x+", "+Ee.y+")",width:Ee.width}},update:function(Ee){return{borderColor:lt(Ee),color:Ee.color,height:Ee.height,labelColor:rt(Ee),labelOpacity:1,labelX:Ee.width/2,labelY:Ee.height/2,transform:"translate("+Ee.x+", "+Ee.y+")",width:Ee.width}},leave:function(Ee){return on({borderColor:lt(Ee),color:Ee.color,height:0,labelColor:rt(Ee),labelOpacity:0,labelX:Ee.width/2,labelY:0,transform:"translate("+Ee.x+", "+(Ee.y+Ee.height)+")",width:Ee.width},l==="vertical"?{}:{labelX:0,labelY:Ee.height/2,height:Ee.height,transform:"translate("+Ee.x+", "+Ee.y+")",width:0})},config:re,immediate:!Dt}),Le=v.useMemo(function(){return{borderRadius:ne,borderWidth:he,enableLabel:F,isInteractive:Re,labelSkipWidth:K,labelSkipHeight:ue,onClick:pt,onMouseEnter:it,onMouseLeave:De,getTooltipLabel:Fe,tooltip:Je,isFocusable:be,ariaLabel:Ue,ariaLabelledBy:Oe,ariaDescribedBy:ft}},[ne,he,F,Fe,Re,ue,K,pt,it,De,Je,be,Ue,Oe,ft]),Ae=WJe(D,ze,J,{dataKey:"data",targetKey:"data.fill"}),st={annotations:null,axes:null,bars:null,grid:null,legends:null,markers:null};M.includes("annotations")&&(st.annotations=p.jsx(gXe,{bars:ze,annotations:X},"annotations")),M.includes("axes")&&(st.axes=p.jsx(QYe,{xScale:St,yScale:ke,width:ut,height:Ve,top:b,right:x,bottom:C,left:_},"axes")),M.includes("bars")&&(st.bars=p.jsx(v.Fragment,{children:ge(function(Ee,Kt){return v.createElement(z,on({},Le,{bar:Kt,style:Ee,shouldRenderLabel:Nt(Kt),label:Ce(Kt.data)}))})},"bars")),M.includes("grid")&&(st.grid=p.jsx(ZYe,{width:ut,height:Ve,xScale:k?St:null,yScale:E?ke:null,xValues:P,yValues:R},"grid")),M.includes("legends")&&(st.legends=p.jsx(vXe,{width:ut,height:Ve,legends:me,toggleSerie:Ft},"legends")),M.includes("markers")&&(st.markers=p.jsx(LJe,{markers:V,width:ut,height:Ve,xScale:St,yScale:ke},"markers"));var et=v.useMemo(function(){return on({},Le,{margin:He,width:o,height:s,innerWidth:ut,innerHeight:Ve,bars:ze,legendData:me,enableLabel:F,xScale:St,yScale:ke,tooltip:Je,getTooltipLabel:Fe,onClick:pt,onMouseEnter:it,onMouseLeave:De})},[Le,He,o,s,ut,Ve,ze,me,F,St,ke,Je,Fe,pt,it,De]);return p.jsx($K,{width:ye,height:Ie,margin:He,defs:Ae,role:yt,ariaLabel:jt,ariaLabelledBy:G,ariaDescribedBy:ae,isFocusable:be,children:M.map(function(Ee,Kt){var Bt;return typeof Ee=="function"?p.jsx(v.Fragment,{children:v.createElement(Ee,et)},Kt):(Bt=st==null?void 0:st[Ee])!=null?Bt:null})})},"ke"),OXe=i(function(e){var t=e.isInteractive,n=t===void 0?Tn.isInteractive:t,r=e.animate,a=r===void 0?Tn.animate:r,o=e.motionConfig,s=o===void 0?Tn.motionConfig:o,c=e.theme,l=e.renderWrapper,u=lp(e,TXe);return p.jsx(xA,{animate:a,isInteractive:n,motionConfig:s,renderWrapper:l,theme:c,children:p.jsx(MXe,on({isInteractive:n},u))})},"Le"),zXe=["isInteractive","renderWrapper","theme"],eS=i(function(e,t,n,r){return e.find(function(a){return DJe(a.x+t.left,a.y+t.top,a.width,a.height,n,r)})},"Ce"),IXe=i(function(e){var t=e.data,n=e.indexBy,r=e.keys,a=e.margin,o=e.width,s=e.height,c=e.groupMode,l=e.layout,u=e.reverse,d=e.minValue,f=e.maxValue,m=e.valueScale,g=e.indexScale,h=e.padding,y=e.innerPadding,b=e.axisTop,x=e.axisRight,w=e.axisBottom,C=w===void 0?ea.axisBottom:w,j=e.axisLeft,_=j===void 0?ea.axisLeft:j,S=e.enableGridX,k=S===void 0?ea.enableGridX:S,$=e.enableGridY,E=$===void 0?ea.enableGridY:$,P=e.gridXValues,R=e.gridYValues,T=e.layers,M=T===void 0?ea.layers:T,I=e.renderBar,z=I===void 0?function(ke,Ce){var Fe=Ce.bar,lt=Fe.color,rt=Fe.height,Nt=Fe.width,Ft=Fe.x,me=Fe.y,ge=Ce.borderColor,Le=Ce.borderRadius,Ae=Ce.borderWidth,st=Ce.label,et=Ce.labelColor,Ee=Ce.shouldRenderLabel;if(ke.fillStyle=lt,Ae>0&&(ke.strokeStyle=ge,ke.lineWidth=Ae),ke.beginPath(),Le>0){var Kt=Math.min(Le,rt);ke.moveTo(Ft+Kt,me),ke.lineTo(Ft+Nt-Kt,me),ke.quadraticCurveTo(Ft+Nt,me,Ft+Nt,me+Kt),ke.lineTo(Ft+Nt,me+rt-Kt),ke.quadraticCurveTo(Ft+Nt,me+rt,Ft+Nt-Kt,me+rt),ke.lineTo(Ft+Kt,me+rt),ke.quadraticCurveTo(Ft,me+rt,Ft,me+rt-Kt),ke.lineTo(Ft,me+Kt),ke.quadraticCurveTo(Ft,me,Ft+Kt,me),ke.closePath()}else ke.rect(Ft,me,Nt,rt);ke.fill(),Ae>0&&ke.stroke(),Ee&&(ke.textBaseline="middle",ke.textAlign="center",ke.fillStyle=et,ke.fillText(st,Ft+Nt/2,me+rt/2))}:I,H=e.enableLabel,F=H===void 0?ea.enableLabel:H,L=e.label,B=e.labelSkipWidth,K=B===void 0?ea.labelSkipWidth:B,se=e.labelSkipHeight,ue=se===void 0?ea.labelSkipHeight:se,_e=e.labelTextColor,le=e.colorBy,V=e.colors,q=e.borderRadius,Y=q===void 0?ea.borderRadius:q,O=e.borderWidth,D=O===void 0?ea.borderWidth:O,Z=e.borderColor,J=e.annotations,U=J===void 0?ea.annotations:J,ne=e.legendLabel,ie=e.tooltipLabel,he=e.valueFormat,N=e.isInteractive,Q=N===void 0?ea.isInteractive:N,X=e.tooltip,we=X===void 0?ea.tooltip:X,fe=e.onClick,pe=e.onMouseEnter,xe=e.onMouseLeave,Re=e.legends,Me=e.pixelRatio,Je=Me===void 0?ea.pixelRatio:Me,pt=e.canvasRef,it=v.useRef(null),De=ur(),Se=vK(o,s,a),We=Se.margin,yt=Se.innerWidth,jt=Se.innerHeight,G=Se.outerWidth,ae=Se.outerHeight,ce=vJ({indexBy:n,label:L,tooltipLabel:ie,valueFormat:he,colors:V,colorBy:le,borderColor:Z,labelTextColor:_e,groupMode:c,layout:l,reverse:u,data:t,keys:r,minValue:d,maxValue:f,margin:We,width:yt,height:jt,padding:h,innerPadding:y,valueScale:m,indexScale:g,enableLabel:F,labelSkipWidth:K,labelSkipHeight:ue,legends:Re,legendLabel:ne}),be=ce.bars,Ue=ce.barsWithValue,Oe=ce.xScale,ft=ce.yScale,kt=ce.getLabel,wt=ce.getTooltipLabel,Dt=ce.getBorderColor,re=ce.getLabelColor,oe=ce.shouldRenderBarLabel,ye=ce.legendsWithData,Ie=iG(),He=Ie.showTooltipFromEvent,ut=Ie.hideTooltip,Ve=LQe({annotations:sJ({data:be,annotations:U,getPosition:function(ke){return{x:ke.x,y:ke.y}},getDimensions:function(ke){var Ce=ke.width,Fe=ke.height;return{width:Ce,height:Fe,size:Math.max(Ce,Fe)}}})}),Ne=v.useMemo(function(){return{borderRadius:Y,borderWidth:D,isInteractive:Q,isFocusable:!1,labelSkipWidth:K,labelSkipHeight:ue,margin:We,width:o,height:s,innerWidth:yt,innerHeight:jt,bars:be,legendData:ye,enableLabel:F,xScale:Oe,yScale:ft,tooltip:we,getTooltipLabel:wt,onClick:fe,onMouseEnter:pe,onMouseLeave:xe}},[Y,D,Q,K,ue,We,o,s,yt,jt,be,ye,F,Oe,ft,we,wt,fe,pe,xe]);v.useEffect(function(){var ke,Ce=(ke=it.current)==null?void 0:ke.getContext("2d");it.current&&Ce&&(it.current.width=G*Je,it.current.height=ae*Je,Ce.scale(Je,Je),Ce.fillStyle=De.background,Ce.fillRect(0,0,G,ae),Ce.translate(We.left,We.top),M.forEach(function(Fe){Fe==="grid"?typeof De.grid.line.strokeWidth=="number"&&De.grid.line.strokeWidth>0&&(Ce.lineWidth=De.grid.line.strokeWidth,Ce.strokeStyle=De.grid.line.stroke,k&&T6(Ce,{width:o,height:s,scale:Oe,axis:"x",values:P}),E&&T6(Ce,{width:o,height:s,scale:ft,axis:"y",values:R})):Fe==="axes"?tQe(Ce,{xScale:Oe,yScale:ft,width:yt,height:jt,top:b,right:x,bottom:C,left:_,theme:De}):Fe==="bars"?Ue.forEach(function(lt){z(Ce,{bar:lt,borderColor:Dt(lt),borderRadius:Y,borderWidth:D,label:kt(lt.data),labelColor:re(lt),shouldRenderLabel:oe(lt)})}):Fe==="legends"?ye.forEach(function(lt){var rt=lt[0],Nt=lt[1];hXe(Ce,on({},rt,{data:Nt,containerWidth:yt,containerHeight:jt,theme:De}))}):Fe==="annotations"?HQe(Ce,{annotations:Ve,theme:De}):typeof Fe=="function"&&Fe(Ce,Ne)}),Ce.save())},[C,_,x,b,Ue,Y,D,Ve,k,E,Dt,kt,re,P,R,c,s,jt,yt,Ne,M,l,ye,We.left,We.top,ae,G,Je,z,Oe,ft,u,oe,De,o]);var ze=v.useCallback(function(ke){if(be&&it.current){var Ce=YC(it.current,ke),Fe=Ce[0],lt=Ce[1],rt=eS(be,We,Fe,lt);rt!==void 0?(He(v.createElement(we,on({},rt.data,{color:rt.color,label:rt.label,value:Number(rt.data.value)})),ke),ke.type==="mouseenter"&&(pe==null||pe(rt.data,ke))):ut()}},[ut,We,pe,be,He,we]),dt=v.useCallback(function(ke){if(be&&it.current){ut();var Ce=YC(it.current,ke),Fe=Ce[0],lt=Ce[1],rt=eS(be,We,Fe,lt);rt&&(xe==null||xe(rt.data,ke))}},[ut,We,xe,be]),St=v.useCallback(function(ke){if(be&&it.current){var Ce=YC(it.current,ke),Fe=Ce[0],lt=Ce[1],rt=eS(be,We,Fe,lt);rt!==void 0&&(fe==null||fe(on({},rt.data,{color:rt.color}),ke))}},[We,fe,be]);return p.jsx("canvas",{ref:function(ke){it.current=ke,pt&&"current"in pt&&(pt.current=ke)},width:G*Je,height:ae*Je,style:{width:G,height:ae,cursor:Q?"auto":"normal"},onMouseEnter:Q?ze:void 0,onMouseMove:Q?ze:void 0,onMouseLeave:Q?dt:void 0,onClick:Q?St:void 0})},"Ve"),LXe=v.forwardRef(function(e,t){var n=e.isInteractive,r=e.renderWrapper,a=e.theme,o=lp(e,zXe);return p.jsx(xA,{isInteractive:n,renderWrapper:r,theme:a,animate:!1,children:p.jsx(IXe,on({},o,{canvasRef:t}))})}),DXe=i(function(e){return p.jsx(wA,{children:function(t){var n=t.width,r=t.height;return p.jsx(OXe,on({width:n,height:r},e))}})},"Me");v.forwardRef(function(e,t){return p.jsx(wA,{children:function(n){var r=n.width,a=n.height;return p.jsx(LXe,on({width:r,height:a},e,{ref:t}))}})});const NXe={opportunity:.2,"proposal-sent":.5,"in-negociation":.8,delayed:.3},FXe=i(()=>{const{data:e,isPending:t}=_i("deals",{pagination:{perPage:100,page:1},sort:{field:"start_at",order:"ASC"}}),n=v.useMemo(()=>{if(!e)return[];const a=e.reduce((s,c)=>{const l=t3(c.start_at??new Date).toISOString();return s[l]||(s[l]=[]),s[l].push(c),s},{});return Object.keys(a).map(s=>({date:R0e(s,"MMM"),won:a[s].filter(c=>c.stage==="won").reduce((c,l)=>(c+=l.amount,c),0),pending:a[s].filter(c=>!["won","lost"].includes(c.stage)).reduce((c,l)=>(c+=l.amount*NXe[l.stage],c),0),lost:a[s].filter(c=>c.stage==="lost").reduce((c,l)=>(c-=l.amount,c),0)}))},[e]);if(t)return null;const r=n.reduce((a,o)=>(a.min=Math.min(a.min,o.lost),a.max=Math.max(a.max,o.won+o.pending),a),{min:0,max:0});return p.jsxs(p.Fragment,{children:[p.jsxs(Be,{display:"flex",alignItems:"center",children:[p.jsx(Be,{ml:2,mr:2,display:"flex",children:p.jsx(kV,{color:"disabled",fontSize:"large"})}),p.jsx(op,{underline:"none",variant:"h5",color:"textSecondary",to:"/deals",children:"Upcoming Deal Revenue"})]}),p.jsx(Be,{height:500,children:p.jsx(DXe,{data:n,indexBy:"date",keys:["won","pending","lost"],colors:["#61cdbb","#97e3d5","#e25c3b"],margin:{top:50,right:50,bottom:50,left:0},padding:.3,valueScale:{type:"linear",min:r.min*1.2,max:r.max*1.2},indexScale:{type:"band",round:!0},enableGridX:!0,enableGridY:!1,enableLabel:!1,axisTop:{tickSize:0,tickPadding:12},axisBottom:{legendPosition:"middle",legendOffset:50,tickSize:0,tickPadding:12},axisLeft:null,axisRight:{format:a=>`${Math.abs(a/1e3)}k`,tickValues:8},markers:[{axis:"y",value:0,lineStyle:{strokeOpacity:0},textStyle:{fill:"#2ebca6"},legend:"Won",legendPosition:"top-left",legendOrientation:"vertical"},{axis:"y",value:0,lineStyle:{stroke:"#f47560",strokeWidth:1},textStyle:{fill:"#e25c3b"},legend:"Lost",legendPosition:"bottom-left",legendOrientation:"vertical"}]})})]})},"DealsChart");var $A={},BXe=gt;Object.defineProperty($A,"__esModule",{value:!0});var yJ=$A.default=void 0,WXe=BXe(vt()),UXe=p;yJ=$A.default=(0,WXe.default)((0,UXe.jsx)("path",{d:"M20 0H4v2h16zM4 24h16v-2H4zM20 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2m-8 2.75c1.24 0 2.25 1.01 2.25 2.25s-1.01 2.25-2.25 2.25S9.75 10.24 9.75 9 10.76 6.75 12 6.75M17 17H7v-1.5c0-1.67 3.33-2.5 5-2.5s5 .83 5 2.5z"}),"Contacts");const HXe=i(()=>{const{identity:e}=Ho(),{data:t,total:n,isPending:r}=_i("contacts",{pagination:{page:1,perPage:10},sort:{field:"last_seen",order:"DESC"},filter:{status:"hot",sales_id:e==null?void 0:e.id}},{enabled:Number.isInteger(e==null?void 0:e.id)});return p.jsxs(p.Fragment,{children:[p.jsxs(Be,{display:"flex",alignItems:"center",marginBottom:"1em",children:[p.jsx(Be,{ml:2,mr:2,display:"flex",children:p.jsx(yJ,{color:"disabled",fontSize:"large"})}),p.jsx(op,{underline:"none",variant:"h5",color:"textSecondary",to:"/contacts",children:"Hot contacts"})]}),p.jsx(Co,{children:p.jsx(y9e,{linkType:"show",data:t,total:n,isPending:r,primaryText:a=>`${a.first_name} ${a.last_name}`,resource:"contacts",secondaryText:a=>gg(a.last_seen,new Date,{addSuffix:!0}),leftAvatar:a=>p.jsx(Fg,{record:a}),dense:!0})})]})},"HotContacts");var EA={},qXe=gt;Object.defineProperty(EA,"__esModule",{value:!0});var bJ=EA.default=void 0,VXe=qXe(vt()),GXe=p;bJ=EA.default=(0,VXe.default)((0,GXe.jsx)("path",{d:"m22 10-6-6H4c-1.1 0-2 .9-2 2v12.01c0 1.1.9 1.99 2 1.99l16-.01c1.1 0 2-.89 2-1.99zm-7-4.5 5.5 5.5H15z"}),"Note");const KXe=i(()=>{const{identity:e}=Ho(),{data:t,isPending:n}=_i("contactNotes",{pagination:{page:1,perPage:5},sort:{field:"date",order:"DESC"},filter:{sales_id:e==null?void 0:e.id}},{enabled:Number.isInteger(e==null?void 0:e.id)}),{data:r,isPending:a}=_i("dealNotes",{pagination:{page:1,perPage:5},sort:{field:"date",order:"DESC"},filter:{sales_id:e==null?void 0:e.id}},{enabled:Number.isInteger(e==null?void 0:e.id)});if(n||a||!t||!r)return null;const o=[].concat(t.map(s=>({...s,type:"contactNote"})),r.map(s=>({...s,type:"dealNote"}))).sort((s,c)=>new Date(c.date).valueOf()-new Date(s.date).valueOf()).slice(0,5);return p.jsxs("div",{children:[p.jsxs(Be,{display:"flex",alignItems:"center",marginBottom:"1em",children:[p.jsx(Be,{ml:2,mr:2,display:"flex",children:p.jsx(bJ,{color:"disabled",fontSize:"large"})}),p.jsx(Ze,{variant:"h5",color:"textSecondary",children:"My Latest Notes"})]}),p.jsx(Co,{children:p.jsx(Vo,{children:o.map(s=>p.jsxs(Be,{id:`${s.type}_${s.id}`,sx:{marginBottom:2},children:[p.jsxs(Ze,{variant:"body2",color:"textSecondary",component:"div",children:["on"," ",s.type==="dealNote"?p.jsx(JXe,{note:s}):p.jsx(YXe,{note:s}),", added"," ",gg(s.date,new Date,{addSuffix:!0})]}),p.jsx("div",{children:p.jsx(Ze,{sx:{display:"-webkit-box",WebkitLineClamp:3,WebkitBoxOrient:"vertical",overflow:"hidden"},children:s.text})})]},`${s.type}_${s.id}`))})})]})},"LatestNotes"),JXe=i(({note:e})=>p.jsxs(p.Fragment,{children:["Deal"," ",p.jsx(Ai,{record:e,source:"deal_id",reference:"deals",link:"show",children:p.jsx(Hr,{source:"name",variant:"body2"})})]}),"Deal"),YXe=i(({note:e})=>p.jsxs(p.Fragment,{children:["Contact"," ",p.jsx(Ai,{record:e,source:"contact_id",reference:"contacts",link:"show",children:p.jsx(c8,{variant:"body2",render:t=>`${t.first_name} ${t.last_name}`})})]}),"Contact");var RA={},QXe=gt;Object.defineProperty(RA,"__esModule",{value:!0});var xJ=RA.default=void 0,XXe=QXe(vt()),ZXe=p;xJ=RA.default=(0,XXe.default)((0,ZXe.jsx)("path",{d:"M19 3h-4.18C14.4 1.84 13.3 1 12 1c-1.3 0-2.4.84-2.82 2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2m-7 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1m-2 14-4-4 1.41-1.41L10 14.17l6.59-6.59L18 9z"}),"AssignmentTurnedIn");const eZe=i(()=>{const{identity:e}=Ho(),{data:t,isPending:n}=_i("contacts",{pagination:{page:1,perPage:500},filter:{sales_id:e==null?void 0:e.id}},{enabled:!!e}),{data:r,isPending:a}=_i("tasks",{pagination:{page:1,perPage:100},sort:{field:"due_date",order:"ASC"},filter:{done_date:void 0,contact_id:t==null?void 0:t.map(c=>c.id)}},{enabled:!!t}),o=a||n,s=Cx({data:r,isPending:o,resource:"tasks",perPage:10});return p.jsxs(p.Fragment,{children:[p.jsxs(Be,{display:"flex",alignItems:"center",marginBottom:"1em",children:[p.jsx(Be,{ml:2,mr:2,display:"flex",children:p.jsx(xJ,{color:"disabled",fontSize:"large"})}),p.jsx(op,{underline:"none",variant:"h5",color:"textSecondary",to:"/contacts",children:"Upcoming tasks"})]}),p.jsxs(Co,{sx:{px:2,mb:"2em"},children:[p.jsx(Uo,{value:"tasks",children:p.jsx(dg,{value:s,children:p.jsx(vV,{showContact:!0})})}),!o&&p.jsx(hn,{onClick:()=>s.setPerPage(s.perPage+10),fullWidth:!0,children:"Load more"})]})]})},"TasksList"),tZe=i(()=>p.jsxs(ui,{container:!0,spacing:2,mt:1,children:[p.jsx(ui,{item:!0,xs:12,md:9,children:p.jsx(FXe,{})}),p.jsx(ui,{item:!0,xs:12,md:3,children:p.jsx($Ue,{})}),p.jsx(ui,{item:!0,xs:12,md:6,children:p.jsx(KXe,{})}),p.jsx(ui,{item:!0,xs:12,md:3,children:p.jsx(eZe,{})}),p.jsx(ui,{item:!0,xs:12,md:3,children:p.jsx(HXe,{})})]}),"Dashboard");var wJ={exports:{}};(function(e,t){(function(n,r){e.exports=r()})(self,function(){return function(){var n={6499:function(o,s,c){c.r(s),c.d(s,{Collection:function(){return C},FetchServer:function(){return _e},Server:function(){return M},Single:function(){return _},default:function(){return le}});var l=c(7361),u=c.n(l),d=c(6410),f=c.n(d);function m(V,q){if(!(V instanceof q))throw new TypeError("Cannot call a class as a function")}i(m,"a");function g(V,q){for(var Y=0;Y<q.length;Y++){var O=q[Y];O.enumerable=O.enumerable||!1,O.configurable=!0,"value"in O&&(O.writable=!0),Object.defineProperty(V,O.key,O)}}i(g,"c");function h(V,q){return function(Y){if(Array.isArray(Y))return Y}(V)||function(Y,O){if(!(typeof Symbol>"u"||!(Symbol.iterator in Object(Y)))){var D=[],Z=!0,J=!1,U=void 0;try{for(var ne,ie=Y[Symbol.iterator]();!(Z=(ne=ie.next()).done)&&(D.push(ne.value),!O||D.length!==O);Z=!0);}catch(he){J=!0,U=he}finally{try{Z||ie.return==null||ie.return()}finally{if(J)throw U}}return D}}(V,q)||function(Y,O){if(Y){if(typeof Y=="string")return y(Y,O);var D=Object.prototype.toString.call(Y).slice(8,-1);if(D==="Object"&&Y.constructor&&(D=Y.constructor.name),D==="Map"||D==="Set")return Array.from(Y);if(D==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(D))return y(Y,O)}}(V,q)||function(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}i(h,"s");function y(V,q){(q==null||q>V.length)&&(q=V.length);for(var Y=0,O=new Array(q);Y<q;Y++)O[Y]=V[Y];return O}i(y,"f");function b(V){return(b=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(q){return typeof q}:function(q){return q&&typeof Symbol=="function"&&q.constructor===Symbol&&q!==Symbol.prototype?"symbol":typeof q})(V)}i(b,"l");var x=i(function(V,q){if(V.indexOf("_lte")!==-1){var Y=V.replace(/(_lte)$/,"");return function(U){return u()(U,Y)<=q}}if(V.indexOf("_gte")!==-1){var O=V.replace(/(_gte)$/,"");return function(U){return u()(U,O)>=q}}if(V.indexOf("_lt")!==-1){var D=V.replace(/(_lt)$/,"");return function(U){return u()(U,D)<q}}if(V.indexOf("_gt")!==-1){var Z=V.replace(/(_gt)$/,"");return function(U){return u()(U,Z)>q}}if(V.indexOf("_neq")!==-1){var J=V.replace(/(_neq)$/,"");return function(U){return u()(U,J)!=q}}return Array.isArray(q)?function(U){return Array.isArray(u()(U,V))?(ne=i(function(ie){return he=u()(U,V),N=i(function(Q){return Q==ie},"i"),he.reduce(function(Q,X){return Q||N(X)},!1);var he,N},"n"),q.reduce(function(ie,he){return ie&&ne(he)},!0)):q.filter(function(ie){return ie==u()(U,V)}).length>0;var ne}:b(q)==="object"?function(U){return f()(q)(u()(U,V))}:function(U){return Array.isArray(u()(U,V))&&typeof q=="string"?u()(U,V).indexOf(q)!==-1:typeof u()(U,V)=="boolean"&&typeof q=="string"?u()(U,V)==(q==="true"):u()(U,V)==q}},"p");function w(V,q){if(typeof q=="function")return V.filter(q);if(q instanceof Object){var Y=Object.keys(q).map(function(O){if(O==="q"){var D=new RegExp(q.q,"i");return function(U){for(var ne in U)if(U[ne]&&U[ne].match&&U[ne].match(D)!==null)return!0;return!1}}var Z=O.split("."),J=q[O];return Z.length>1?function(U){var ne=function(Q,X){return Q.reduce(function(we,fe,pe){if(we!=null)return we;var xe=Q.slice(0,pe+1).join("."),Re=Q.slice(pe+1).join("."),Me=u()(X,xe);return Array.isArray(Me)&&pe<Q.length-1?[xe,Re]:void 0},void 0)}(Z,U);if(ne){var ie=h(ne,2),he=ie[0],N=ie[1];return w(u()(U,he),function(Q,X,we){return X in Q?Object.defineProperty(Q,X,{value:we,enumerable:!0,configurable:!0,writable:!0}):Q[X]=we,Q}({},N,J)).length>0}return x(O,J)(U)}:x(O,J)});return V.filter(function(O){return Y.reduce(function(D,Z){return D&&Z(O)},!0)})}throw new Error("Unsupported filter type")}i(w,"h");var C=function(){function V(){var O=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],D=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"id";if(m(this,V),!Array.isArray(O))throw new Error("Can't initialize a Collection with anything else than an array of items");this.sequence=0,this.identifierName=D,this.items=[],this.server=null,this.name=null,O.map(this.addOne.bind(this))}i(V,"t");var q,Y;return q=V,(Y=[{key:"setServer",value:function(O){this.server=O}},{key:"setName",value:function(O){this.name=O}},{key:"_oneToManyEmbedder",value:function(O){var D=this,Z=this.name.slice(0,-1)+"_id";return function(J){var U=D.server.collections[O];if(!U)throw new Error("Can't embed a non-existing collection ".concat(O));return Array.isArray(J[O])?J[O]=U.getAll({filter:function(ne){return J[O].indexOf(ne[U.identifierName])!==-1}}):J[O]=U.getAll({filter:function(ne){return ne[Z]==J[D.identifierName]}}),J}}},{key:"_manyToOneEmbedder",value:function(O){var D=this,Z=O+"s",J=O+"_id";return function(U){var ne=D.server.collections[Z];if(!ne)throw new Error("Can't embed a non-existing collection ".concat(O));try{U[O]=ne.getOne(U[J])}catch{}return U}}},{key:"_itemEmbedder",value:function(O){var D=this,Z=(Array.isArray(O)?O:[O]).map(function(J){return J.endsWith("s")?D._oneToManyEmbedder(J):D._manyToOneEmbedder(J)});return function(J){return Z.reduce(function(U,ne){return ne(U)},J)}}},{key:"getCount",value:function(O){return this.getAll(O).length}},{key:"getAll",value:function(O){var D=this.items.slice(0);return O&&(O.filter&&(D=w(D,O.filter)),O.sort&&(D=function(Z,J){if(typeof J=="function")return Z.sort(J);if(typeof J=="string")return Z.sort(function(ie,he){return ie[J]>he[J]?1:ie[J]<he[J]?-1:0});if(Array.isArray(J)){var U=J[0],ne=J[1].toLowerCase()=="asc"?1:-1;return Z.sort(function(ie,he){return ie[U]>he[U]?ne:ie[U]<he[U]?-1*ne:0})}throw new Error("Unsupported sort type")}(D,O.sort)),O.range&&(D=function(Z,J){if(Array.isArray(J))return Z.slice(J[0],J[1]!==void 0?J[1]+1:void 0);throw new Error("Unsupported range type")}(D,O.range)),D=D.map(function(Z){return Object.assign({},Z)}),O.embed&&this.server&&(D=D.map(this._itemEmbedder(O.embed)))),D}},{key:"getIndex",value:function(O){var D=this;return this.items.findIndex(function(Z){return Z[D.identifierName]==O})}},{key:"getOne",value:function(O,D){var Z=this.getIndex(O);if(Z===-1)throw new Error("No item with identifier ".concat(O));var J=this.items[Z];return J=Object.assign({},J),D&&D.embed&&this.server&&(J=this._itemEmbedder(D.embed)(J)),J}},{key:"addOne",value:function(O){var D=O[this.identifierName];if(D!==void 0){if(this.getIndex(D)!==-1)throw new Error("An item with the identifier ".concat(D," already exists"));this.sequence=Math.max(this.sequence,D)+1}else O[this.identifierName]=this.sequence++;return this.items.push(O),Object.assign({},O)}},{key:"updateOne",value:function(O,D){var Z=this.getIndex(O);if(Z===-1)throw new Error("No item with identifier ".concat(O));for(var J in D)this.items[Z][J]=D[J];return Object.assign({},this.items[Z])}},{key:"removeOne",value:function(O){var D=this.getIndex(O);if(D===-1)throw new Error("No item with identifier ".concat(O));var Z=this.items[D];return this.items.splice(D,1),O==this.sequence-1&&this.sequence--,Z}}])&&g(q.prototype,Y),V}();function j(V,q){for(var Y=0;Y<q.length;Y++){var O=q[Y];O.enumerable=O.enumerable||!1,O.configurable=!0,"value"in O&&(O.writable=!0),Object.defineProperty(V,O.key,O)}}i(j,"d");var _=function(){function V(O){if(function(D,Z){if(!(D instanceof Z))throw new TypeError("Cannot call a class as a function")}(this,V),!(O instanceof Object))throw new Error("Can't initialize a Single with anything except an object");this.obj=O,this.server=null,this.name=null}i(V,"t");var q,Y;return q=V,(Y=[{key:"setServer",value:function(O){this.server=O}},{key:"setName",value:function(O){this.name=O}},{key:"_oneToManyEmbedder",value:function(O){var D=this;return function(Z){var J=D.server.collections[O];if(!J)throw new Error("Can't embed a non-existing collection ".concat(O));return Z[O]=J.getAll({filter:function(U){return Z[O].indexOf(U[J.identifierName])!==-1}}),Z}}},{key:"_manyToOneEmbedder",value:function(O){var D=this,Z=O+"s",J=O+"_id";return function(U){var ne=D.server.collections[Z];if(!ne)throw new Error("Can't embed a non-existing collection ".concat(O));try{U[O]=ne.getOne(U[J])}catch{}return U}}},{key:"_itemEmbedder",value:function(O){var D=this,Z=(Array.isArray(O)?O:[O]).map(function(J){return J.endsWith("s")?D._oneToManyEmbedder(J):D._manyToOneEmbedder(J)});return function(J){return Z.reduce(function(U,ne){return ne(U)},J)}}},{key:"getOnly",value:function(O){var D=this.obj;return O&&O.embed&&this.server&&(D=Object.assign({},D),D=this._itemEmbedder(O.embed)(D)),D}},{key:"updateOnly",value:function(O){for(var D in O)this.obj[D]=O[D];return this.obj}}])&&j(q.prototype,Y),V}();function S(V,q){return function(Y){if(Array.isArray(Y))return Y}(V)||function(Y,O){if(!(typeof Symbol>"u"||!(Symbol.iterator in Object(Y)))){var D=[],Z=!0,J=!1,U=void 0;try{for(var ne,ie=Y[Symbol.iterator]();!(Z=(ne=ie.next()).done)&&(D.push(ne.value),!O||D.length!==O);Z=!0);}catch(he){J=!0,U=he}finally{try{Z||ie.return==null||ie.return()}finally{if(J)throw U}}return D}}(V,q)||function(Y,O){if(Y){if(typeof Y=="string")return k(Y,O);var D=Object.prototype.toString.call(Y).slice(8,-1);if(D==="Object"&&Y.constructor&&(D=Y.constructor.name),D==="Map"||D==="Set")return Array.from(Y);if(D==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(D))return k(Y,O)}}(V,q)||function(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}i(S,"b");function k(V,q){(q==null||q>V.length)&&(q=V.length);for(var Y=0,O=new Array(q);Y<q;Y++)O[Y]=V[Y];return O}i(k,"g");function $(V){if(!V)return{};var q={};return V.split("&").map(function(Y){if(Y.indexOf("=")===-1)q[Y]=!0;else{var O=S(Y.split("="),2),D=O[0],Z=O[1];Z.indexOf("[")!==0&&Z.indexOf("{")!==0||(Z=JSON.parse(Z)),q[D.trim()]=Z}}),q}i($,"m");function E(V,q){var Y;if(typeof Symbol>"u"||V[Symbol.iterator]==null){if(Array.isArray(V)||(Y=function(ne,ie){if(ne){if(typeof ne=="string")return P(ne,ie);var he=Object.prototype.toString.call(ne).slice(8,-1);if(he==="Object"&&ne.constructor&&(he=ne.constructor.name),he==="Map"||he==="Set")return Array.from(ne);if(he==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(he))return P(ne,ie)}}(V))||q&&V&&typeof V.length=="number"){Y&&(V=Y);var O=0,D=i(function(){},"o");return{s:D,n:function(){return O>=V.length?{done:!0}:{done:!1,value:V[O++]}},e:function(ne){throw ne},f:D}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var Z,J=!0,U=!1;return{s:function(){Y=V[Symbol.iterator]()},n:function(){var ne=Y.next();return J=ne.done,ne},e:function(ne){U=!0,Z=ne},f:function(){try{J||Y.return==null||Y.return()}finally{if(U)throw Z}}}}i(E,"j");function P(V,q){(q==null||q>V.length)&&(q=V.length);for(var Y=0,O=new Array(q);Y<q;Y++)O[Y]=V[Y];return O}i(P,"x");function R(V,q){if(!(V instanceof q))throw new TypeError("Cannot call a class as a function")}i(R,"O");function T(V,q){for(var Y=0;Y<q.length;Y++){var O=q[Y];O.enumerable=O.enumerable||!1,O.configurable=!0,"value"in O&&(O.writable=!0),Object.defineProperty(V,O.key,O)}}i(T,"_");var M=function(){function V(){var O=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";R(this,V),this.baseUrl=O,this.loggingEnabled=!1,this.defaultQuery=function(){},this.batchUrl=null,this.collections={},this.singles={},this.requestInterceptors=[],this.responseInterceptors=[]}i(V,"t");var q,Y;return q=V,(Y=[{key:"init",value:function(O){for(var D in O)Array.isArray(O[D])?this.addCollection(D,new C(O[D],"id")):this.addSingle(D,new _(O[D]))}},{key:"toggleLogging",value:function(){this.loggingEnabled=!this.loggingEnabled}},{key:"setDefaultQuery",value:function(O){this.defaultQuery=O}},{key:"setBatchUrl",value:function(O){this.batchUrl=O}},{key:"setBatch",value:function(O){console.warn("Server.setBatch() is deprecated, use Server.setBatchUrl() instead"),this.batchUrl=O}},{key:"addCollection",value:function(O,D){this.collections[O]=D,D.setServer(this),D.setName(O)}},{key:"getCollection",value:function(O){return this.collections[O]}},{key:"getCollectionNames",value:function(){return Object.keys(this.collections)}},{key:"addSingle",value:function(O,D){this.singles[O]=D,D.setServer(this),D.setName(O)}},{key:"getSingle",value:function(O){return this.singles[O]}},{key:"getSingleNames",value:function(){return Object.keys(this.singles)}},{key:"addRequestInterceptor",value:function(O){this.requestInterceptors.push(O)}},{key:"addResponseInterceptor",value:function(O){this.responseInterceptors.push(O)}},{key:"getCount",value:function(O,D){return this.collections[O].getCount(D)}},{key:"getAll",value:function(O,D){return this.collections[O].getAll(D)}},{key:"getOne",value:function(O,D,Z){return this.collections[O].getOne(D,Z)}},{key:"addOne",value:function(O,D){return this.collections.hasOwnProperty(O)||this.addCollection(O,new C([],"id")),this.collections[O].addOne(D)}},{key:"updateOne",value:function(O,D,Z){return this.collections[O].updateOne(D,Z)}},{key:"removeOne",value:function(O,D){return this.collections[O].removeOne(D)}},{key:"getOnly",value:function(O,D){return this.singles[O].getOnly()}},{key:"updateOnly",value:function(O,D){return this.singles[O].updateOnly(D)}},{key:"decode",value:function(O){if(O.queryString=decodeURIComponent(O.url.slice(O.url.indexOf("?")+1)),O.params=$(O.queryString),O.requestBody)try{O.json=JSON.parse(O.requestBody)}catch{}return this.requestInterceptors.reduce(function(D,Z){return Z(D)},O)}},{key:"respond",value:function(O,D,Z){var J=arguments.length>3&&arguments[3]!==void 0?arguments[3]:200;D||(D={}),D["Content-Type"]||(D["Content-Type"]="application/json");var U={status:J,headers:D,body:O};return U=this.responseInterceptors.reduce(function(ne,ie){return ie(ne,Z)},U),this.log(Z,U),Z.respond(U.status,U.headers,JSON.stringify(U.body))}},{key:"log",value:function(O,D){this.loggingEnabled&&(console.group?(console.groupCollapsed(O.method,O.url,"(FakeRest)"),console.group("request"),console.log(O.method,O.url),console.log("headers",O.requestHeaders),console.log("body ",O.requestBody),console.groupEnd(),console.group("response",D.status),console.log("headers",D.headers),console.log("body ",D.body),console.groupEnd(),console.groupEnd()):(console.log("FakeRest request ",O.method,O.url,"headers",O.requestHeaders,"body",O.requestBody),console.log("FakeRest response",D.status,"headers",D.headers,"body",D.body)))}},{key:"batch",value:function(O){var D=O.json,Z=this.handle.bind(this),J=Object.keys(D).reduce(function(U,ne){var ie,he={url:D[ne],method:"GET",params:{},respond:function(N,Q,X){ie={code:N,headers:Object.keys(Q||{}).map(function(we){return{name:we,value:Q[we]}}),body:X||{}}}};return Z(he),U[ne]=ie||{code:404,headers:[],body:{}},U},{});return this.respond(J,{},O,200)}},{key:"handle",value:function(O){if(O=this.decode(O),this.batchUrl&&this.batchUrl===O.url&&O.method==="POST")return this.batch(O);var D,Z=E(this.getSingleNames());try{for(Z.s();!(D=Z.n()).done;){var J=D.value;if(O.url.match(new RegExp("^"+this.baseUrl+"\\/("+J+")(\\/?.*)?$"))){if(O.method=="GET")try{var U=this.getOnly(J);return this.respond(U,null,O)}catch{return O.respond(404)}if(O.method=="PUT")try{var ne=this.updateOnly(J,O.json);return this.respond(ne,null,O)}catch{return O.respond(404)}if(O.method=="PATCH")try{var ie=this.updateOnly(J,O.json);return this.respond(ie,null,O)}catch{return O.respond(404)}}}}catch(yt){Z.e(yt)}finally{Z.f()}var he=O.url.match(new RegExp("^"+this.baseUrl+"\\/([^\\/?]+)(\\/(\\d+))?(\\?.*)?$"));if(he){var N=he[1],Q=Object.assign({},this.defaultQuery(N),O.params);if(he[2]){if(!this.getCollection(N))return;var X=he[3];if(O.method=="GET")try{var we=this.getOne(N,X,Q);return this.respond(we,null,O)}catch{return O.respond(404)}if(O.method=="PUT")try{var fe=this.updateOne(N,X,O.json);return this.respond(fe,null,O)}catch{return O.respond(404)}if(O.method=="PATCH")try{var pe=this.updateOne(N,X,O.json);return this.respond(pe,null,O)}catch{return O.respond(404)}if(O.method=="DELETE")try{var xe=this.removeOne(N,X);return this.respond(xe,null,O)}catch{return O.respond(404)}}else{if(O.method=="GET"){if(!this.getCollection(N))return;var Re,Me,Je,pt=this.getCount(N,Q.filter?{filter:Q.filter}:{});if(pt>0){Re=this.getAll(N,Q);var it=Q.range?Q.range[0]:0,De=Q.range?Math.min(Re.length-1+it,Q.range[1]):Re.length-1;Me="items ".concat(it,"-").concat(De,"/").concat(pt),Je=Re.length==pt?200:206}else Re=[],Me="items */0",Je=200;return this.respond(Re,{"Content-Range":Me},O,Je)}if(O.method=="POST"){var Se=this.addOne(N,O.json),We=this.baseUrl+"/"+N+"/"+Se[this.getCollection(N).identifierName];return this.respond(Se,{Location:We},O,201)}}}}},{key:"getHandler",value:function(){return this.handle.bind(this)}}])&&T(q.prototype,Y),V}();function I(V){return(I=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(q){return typeof q}:function(q){return q&&typeof Symbol=="function"&&q.constructor===Symbol&&q!==Symbol.prototype?"symbol":typeof q})(V)}i(I,"A");function z(V,q){var Y;if(typeof Symbol>"u"||V[Symbol.iterator]==null){if(Array.isArray(V)||(Y=function(ne,ie){if(ne){if(typeof ne=="string")return H(ne,ie);var he=Object.prototype.toString.call(ne).slice(8,-1);if(he==="Object"&&ne.constructor&&(he=ne.constructor.name),he==="Map"||he==="Set")return Array.from(ne);if(he==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(he))return H(ne,ie)}}(V))||q&&V&&typeof V.length=="number"){Y&&(V=Y);var O=0,D=i(function(){},"o");return{s:D,n:function(){return O>=V.length?{done:!0}:{done:!1,value:V[O++]}},e:function(ne){throw ne},f:D}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var Z,J=!0,U=!1;return{s:function(){Y=V[Symbol.iterator]()},n:function(){var ne=Y.next();return J=ne.done,ne},e:function(ne){U=!0,Z=ne},f:function(){try{J||Y.return==null||Y.return()}finally{if(U)throw Z}}}}i(z,"S");function H(V,q){(q==null||q>V.length)&&(q=V.length);for(var Y=0,O=new Array(q);Y<q;Y++)O[Y]=V[Y];return O}i(H,"E");function F(V,q){if(!(V instanceof q))throw new TypeError("Cannot call a class as a function")}i(F,"k");function L(V,q){for(var Y=0;Y<q.length;Y++){var O=q[Y];O.enumerable=O.enumerable||!1,O.configurable=!0,"value"in O&&(O.writable=!0),Object.defineProperty(V,O.key,O)}}i(L,"T");function B(V,q){return(B=Object.setPrototypeOf||function(Y,O){return Y.__proto__=O,Y})(V,q)}i(B,"C");function K(V){var q=function(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch{return!1}}();return function(){var Y,O=ue(V);if(q){var D=ue(this).constructor;Y=Reflect.construct(O,arguments,D)}else Y=O.apply(this,arguments);return se(this,Y)}}i(K,"P");function se(V,q){return!q||I(q)!=="object"&&typeof q!="function"?function(Y){if(Y===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return Y}(V):q}i(se,"I");function ue(V){return(ue=Object.setPrototypeOf?Object.getPrototypeOf:function(q){return q.__proto__||Object.getPrototypeOf(q)})(V)}i(ue,"U");var _e=function(V){(function(Z,J){if(typeof J!="function"&&J!==null)throw new TypeError("Super expression must either be null or a function");Z.prototype=Object.create(J&&J.prototype,{constructor:{value:Z,writable:!0,configurable:!0}}),J&&B(Z,J)})(D,V);var q,Y,O=K(D);function D(){return F(this,D),O.apply(this,arguments)}return i(D,"i"),q=D,(Y=[{key:"decode",value:function(Z,J){var U=this,ne=typeof Z=="string"?new Request(Z,J):Z;return ne.queryString=decodeURIComponent(ne.url.slice(ne.url.indexOf("?")+1)),ne.params=$(ne.queryString),ne.text().then(function(ie){ne.requestBody=ie;try{ne.requestJson=JSON.parse(ie)}catch{}}).then(function(){return U.requestInterceptors.reduce(function(ie,he){return he(ie)},ne)})}},{key:"respond",value:function(Z,J){return Z=this.responseInterceptors.reduce(function(U,ne){return ne(U,J)},Z),this.log(J,Z),Z.headers=new Headers(Z.headers),Z}},{key:"log",value:function(Z,J){this.loggingEnabled&&(console.group?(console.groupCollapsed(Z.method,Z.url,"(FakeRest)"),console.group("request"),console.log(Z.method,Z.url),console.log("headers",Z.headers),console.log("body ",Z.requestBody),console.groupEnd(),console.group("response",J.status),console.log("headers",J.headers),console.log("body ",J.body),console.groupEnd(),console.groupEnd()):(console.log("FakeRest request ",Z.method,Z.url,"headers",Z.headers,"body",Z.requestBody),console.log("FakeRest response",J.status,"headers",J.headers,"body",J.body)))}},{key:"batch",value:function(Z){throw new Error("not implemented")}},{key:"handle",value:function(Z,J){var U=this;return this.decode(Z,J).then(function(ne){var ie={headers:{"Content-Type":"application/json"},status:200};if(U.batchUrl&&U.batchUrl===ne.url&&ne.method==="POST")return U.batch(ne);var he,N=z(U.getSingleNames());try{for(N.s();!(he=N.n()).done;){var Q=he.value;if(ne.url.match(new RegExp("^"+U.baseUrl+"\\/("+Q+")(\\/?.*)?$"))){if(ne.method=="GET"){try{ie.body=U.getOnly(Q)}catch{reponse.status=404}return U.respond(ie,ne)}if(ne.method=="PUT"){try{ie.body=U.updateOnly(Q,ne.requestJson)}catch{reponse.status=404}return U.respond(ie,ne)}if(ne.method=="PATCH"){try{ie.body=U.updateOnly(Q,ne.requestJson)}catch{reponse.status=404}return U.respond(ie,ne)}}}}catch(We){N.e(We)}finally{N.f()}var X,we=z(U.getCollectionNames());try{for(we.s();!(X=we.n()).done;){var fe=X.value,pe=ne.url.match(new RegExp("^"+U.baseUrl+"\\/("+fe+")(\\/(\\d+))?(\\?.*)?$"));if(pe){var xe=Object.assign({},U.defaultQuery(fe),ne.params);if(pe[2]){var Re=pe[3];if(ne.method=="GET"){try{ie.body=U.getOne(fe,Re,xe)}catch{ie.status=404}return U.respond(ie,ne)}if(ne.method=="PUT"){try{ie.body=U.updateOne(fe,Re,ne.requestJson)}catch{ie.status=404}return U.respond(ie,ne)}if(ne.method=="PATCH"){try{ie.body=U.updateOne(fe,Re,ne.requestJson)}catch{ie.status=404}return U.respond(ie,ne)}if(ne.method=="DELETE"){try{ie.body=U.removeOne(fe,Re)}catch{ie.status=404}return U.respond(ie,ne)}}else{if(ne.method=="GET"){var Me=U.getCount(fe,xe.filter?{filter:xe.filter}:{});if(Me>0){var Je=U.getAll(fe,xe),pt=xe.range?xe.range[0]:0,it=xe.range?Math.min(Je.length-1+pt,xe.range[1]):Je.length-1;ie.body=Je,ie.headers["Content-Range"]="items ".concat(pt,"-").concat(it,"/").concat(Me),ie.status=Je.length==Me?200:206}else ie.body=[],ie.headers["Content-Range"]="items */0";return U.respond(ie,ne)}if(ne.method=="POST"){var De=U.addOne(fe,ne.requestJson),Se=U.baseUrl+"/"+fe+"/"+De[U.getCollection(fe).identifierName];return ie.body=De,ie.headers.Location=Se,ie.status=201,U.respond(ie,ne)}}}}}catch(We){we.e(We)}finally{we.f()}return U.respond(ie,ne)})}}])&&L(q.prototype,Y),D}(M),le={Server:M,FetchServer:_e,Collection:C,Single:_}},8552:function(o,s,c){var l=c(852)(c(5639),"DataView");o.exports=l},1989:function(o,s,c){var l=c(1789),u=c(401),d=c(7667),f=c(1327),m=c(1866);function g(h){var y=-1,b=h==null?0:h.length;for(this.clear();++y<b;){var x=h[y];this.set(x[0],x[1])}}i(g,"c"),g.prototype.clear=l,g.prototype.delete=u,g.prototype.get=d,g.prototype.has=f,g.prototype.set=m,o.exports=g},8407:function(o,s,c){var l=c(7040),u=c(4125),d=c(2117),f=c(7518),m=c(4705);function g(h){var y=-1,b=h==null?0:h.length;for(this.clear();++y<b;){var x=h[y];this.set(x[0],x[1])}}i(g,"c"),g.prototype.clear=l,g.prototype.delete=u,g.prototype.get=d,g.prototype.has=f,g.prototype.set=m,o.exports=g},7071:function(o,s,c){var l=c(852)(c(5639),"Map");o.exports=l},3369:function(o,s,c){var l=c(4785),u=c(1285),d=c(6e3),f=c(9916),m=c(5265);function g(h){var y=-1,b=h==null?0:h.length;for(this.clear();++y<b;){var x=h[y];this.set(x[0],x[1])}}i(g,"c"),g.prototype.clear=l,g.prototype.delete=u,g.prototype.get=d,g.prototype.has=f,g.prototype.set=m,o.exports=g},3818:function(o,s,c){var l=c(852)(c(5639),"Promise");o.exports=l},8525:function(o,s,c){var l=c(852)(c(5639),"Set");o.exports=l},8668:function(o,s,c){var l=c(3369),u=c(619),d=c(2385);function f(m){var g=-1,h=m==null?0:m.length;for(this.__data__=new l;++g<h;)this.add(m[g])}i(f,"u"),f.prototype.add=f.prototype.push=u,f.prototype.has=d,o.exports=f},6384:function(o,s,c){var l=c(8407),u=c(7465),d=c(3779),f=c(7599),m=c(4758),g=c(4309);function h(y){var b=this.__data__=new l(y);this.size=b.size}i(h,"s"),h.prototype.clear=u,h.prototype.delete=d,h.prototype.get=f,h.prototype.has=m,h.prototype.set=g,o.exports=h},2705:function(o,s,c){var l=c(5639).Symbol;o.exports=l},1149:function(o,s,c){var l=c(5639).Uint8Array;o.exports=l},577:function(o,s,c){var l=c(852)(c(5639),"WeakMap");o.exports=l},7412:function(o){o.exports=function(s,c){for(var l=-1,u=s==null?0:s.length;++l<u&&c(s[l],l,s)!==!1;);return s}},4963:function(o){o.exports=function(s,c){for(var l=-1,u=s==null?0:s.length,d=0,f=[];++l<u;){var m=s[l];c(m,l,s)&&(f[d++]=m)}return f}},4636:function(o,s,c){var l=c(2545),u=c(5694),d=c(1469),f=c(4144),m=c(5776),g=c(6719),h=Object.prototype.hasOwnProperty;o.exports=function(y,b){var x=d(y),w=!x&&u(y),C=!x&&!w&&f(y),j=!x&&!w&&!C&&g(y),_=x||w||C||j,S=_?l(y.length,String):[],k=S.length;for(var $ in y)!b&&!h.call(y,$)||_&&($=="length"||C&&($=="offset"||$=="parent")||j&&($=="buffer"||$=="byteLength"||$=="byteOffset")||m($,k))||S.push($);return S}},9932:function(o){o.exports=function(s,c){for(var l=-1,u=s==null?0:s.length,d=Array(u);++l<u;)d[l]=c(s[l],l,s);return d}},2488:function(o){o.exports=function(s,c){for(var l=-1,u=c.length,d=s.length;++l<u;)s[d+l]=c[l];return s}},2908:function(o){o.exports=function(s,c){for(var l=-1,u=s==null?0:s.length;++l<u;)if(c(s[l],l,s))return!0;return!1}},4865:function(o,s,c){var l=c(9465),u=c(7813),d=Object.prototype.hasOwnProperty;o.exports=function(f,m,g){var h=f[m];d.call(f,m)&&u(h,g)&&(g!==void 0||m in f)||l(f,m,g)}},8470:function(o,s,c){var l=c(7813);o.exports=function(u,d){for(var f=u.length;f--;)if(l(u[f][0],d))return f;return-1}},4037:function(o,s,c){var l=c(8363),u=c(3674);o.exports=function(d,f){return d&&l(f,u(f),d)}},3886:function(o,s,c){var l=c(8363),u=c(1704);o.exports=function(d,f){return d&&l(f,u(f),d)}},9465:function(o,s,c){var l=c(8777);o.exports=function(u,d,f){d=="__proto__"&&l?l(u,d,{configurable:!0,enumerable:!0,value:f,writable:!0}):u[d]=f}},5990:function(o,s,c){var l=c(6384),u=c(7412),d=c(4865),f=c(4037),m=c(3886),g=c(4626),h=c(278),y=c(8805),b=c(1911),x=c(8234),w=c(6904),C=c(4160),j=c(3824),_=c(9148),S=c(8517),k=c(1469),$=c(4144),E=c(6688),P=c(3218),R=c(2928),T=c(3674),M=c(1704),I="[object Arguments]",z="[object Function]",H="[object Object]",F={};F[I]=F["[object Array]"]=F["[object ArrayBuffer]"]=F["[object DataView]"]=F["[object Boolean]"]=F["[object Date]"]=F["[object Float32Array]"]=F["[object Float64Array]"]=F["[object Int8Array]"]=F["[object Int16Array]"]=F["[object Int32Array]"]=F["[object Map]"]=F["[object Number]"]=F[H]=F["[object RegExp]"]=F["[object Set]"]=F["[object String]"]=F["[object Symbol]"]=F["[object Uint8Array]"]=F["[object Uint8ClampedArray]"]=F["[object Uint16Array]"]=F["[object Uint32Array]"]=!0,F["[object Error]"]=F[z]=F["[object WeakMap]"]=!1,o.exports=i(function L(B,K,se,ue,_e,le){var V,q=1&K,Y=2&K,O=4&K;if(se&&(V=_e?se(B,ue,_e,le):se(B)),V!==void 0)return V;if(!P(B))return B;var D=k(B);if(D){if(V=j(B),!q)return h(B,V)}else{var Z=C(B),J=Z==z||Z=="[object GeneratorFunction]";if($(B))return g(B,q);if(Z==H||Z==I||J&&!_e){if(V=Y||J?{}:S(B),!q)return Y?b(B,m(V,B)):y(B,f(V,B))}else{if(!F[Z])return _e?B:{};V=_(B,Z,q)}}le||(le=new l);var U=le.get(B);if(U)return U;le.set(B,V),R(B)?B.forEach(function(ie){V.add(L(ie,K,se,ie,B,le))}):E(B)&&B.forEach(function(ie,he){V.set(he,L(ie,K,se,he,B,le))});var ne=D?void 0:(O?Y?w:x:Y?M:T)(B);return u(ne||B,function(ie,he){ne&&(ie=B[he=ie]),d(V,he,L(ie,K,se,he,B,le))}),V},"t")},3118:function(o,s,c){var l=c(3218),u=Object.create,d=function(){function f(){}return i(f,"t"),function(m){if(!l(m))return{};if(u)return u(m);f.prototype=m;var g=new f;return f.prototype=void 0,g}}();o.exports=d},7786:function(o,s,c){var l=c(1811),u=c(327);o.exports=function(d,f){for(var m=0,g=(f=l(f,d)).length;d!=null&&m<g;)d=d[u(f[m++])];return m&&m==g?d:void 0}},8866:function(o,s,c){var l=c(2488),u=c(1469);o.exports=function(d,f,m){var g=f(d);return u(d)?g:l(g,m(d))}},4239:function(o,s,c){var l=c(2705),u=c(9607),d=c(2333),f=l?l.toStringTag:void 0;o.exports=function(m){return m==null?m===void 0?"[object Undefined]":"[object Null]":f&&f in Object(m)?u(m):d(m)}},9454:function(o,s,c){var l=c(4239),u=c(7005);o.exports=function(d){return u(d)&&l(d)=="[object Arguments]"}},939:function(o,s,c){var l=c(2492),u=c(7005);o.exports=i(function d(f,m,g,h,y){return f===m||(f==null||m==null||!u(f)&&!u(m)?f!=f&&m!=m:l(f,m,g,h,d,y))},"t")},2492:function(o,s,c){var l=c(6384),u=c(7114),d=c(8351),f=c(6096),m=c(4160),g=c(1469),h=c(4144),y=c(6719),b="[object Arguments]",x="[object Array]",w="[object Object]",C=Object.prototype.hasOwnProperty;o.exports=function(j,_,S,k,$,E){var P=g(j),R=g(_),T=P?x:m(j),M=R?x:m(_),I=(T=T==b?w:T)==w,z=(M=M==b?w:M)==w,H=T==M;if(H&&h(j)){if(!h(_))return!1;P=!0,I=!1}if(H&&!I)return E||(E=new l),P||y(j)?u(j,_,S,k,$,E):d(j,_,T,S,k,$,E);if(!(1&S)){var F=I&&C.call(j,"__wrapped__"),L=z&&C.call(_,"__wrapped__");if(F||L){var B=F?j.value():j,K=L?_.value():_;return E||(E=new l),$(B,K,S,k,E)}}return!!H&&(E||(E=new l),f(j,_,S,k,$,E))}},5588:function(o,s,c){var l=c(4160),u=c(7005);o.exports=function(d){return u(d)&&l(d)=="[object Map]"}},2958:function(o,s,c){var l=c(6384),u=c(939);o.exports=function(d,f,m,g){var h=m.length,y=h,b=!g;if(d==null)return!y;for(d=Object(d);h--;){var x=m[h];if(b&&x[2]?x[1]!==d[x[0]]:!(x[0]in d))return!1}for(;++h<y;){var w=(x=m[h])[0],C=d[w],j=x[1];if(b&&x[2]){if(C===void 0&&!(w in d))return!1}else{var _=new l;if(g)var S=g(C,j,w,d,f,_);if(!(S===void 0?u(j,C,3,g,_):S))return!1}}return!0}},8458:function(o,s,c){var l=c(3560),u=c(5346),d=c(3218),f=c(346),m=/^\[object .+?Constructor\]$/,g=Function.prototype,h=Object.prototype,y=g.toString,b=h.hasOwnProperty,x=RegExp("^"+y.call(b).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");o.exports=function(w){return!(!d(w)||u(w))&&(l(w)?x:m).test(f(w))}},9221:function(o,s,c){var l=c(4160),u=c(7005);o.exports=function(d){return u(d)&&l(d)=="[object Set]"}},8749:function(o,s,c){var l=c(4239),u=c(1780),d=c(7005),f={};f["[object Float32Array]"]=f["[object Float64Array]"]=f["[object Int8Array]"]=f["[object Int16Array]"]=f["[object Int32Array]"]=f["[object Uint8Array]"]=f["[object Uint8ClampedArray]"]=f["[object Uint16Array]"]=f["[object Uint32Array]"]=!0,f["[object Arguments]"]=f["[object Array]"]=f["[object ArrayBuffer]"]=f["[object Boolean]"]=f["[object DataView]"]=f["[object Date]"]=f["[object Error]"]=f["[object Function]"]=f["[object Map]"]=f["[object Number]"]=f["[object Object]"]=f["[object RegExp]"]=f["[object Set]"]=f["[object String]"]=f["[object WeakMap]"]=!1,o.exports=function(m){return d(m)&&u(m.length)&&!!f[l(m)]}},280:function(o,s,c){var l=c(5726),u=c(6916),d=Object.prototype.hasOwnProperty;o.exports=function(f){if(!l(f))return u(f);var m=[];for(var g in Object(f))d.call(f,g)&&g!="constructor"&&m.push(g);return m}},313:function(o,s,c){var l=c(3218),u=c(5726),d=c(3498),f=Object.prototype.hasOwnProperty;o.exports=function(m){if(!l(m))return d(m);var g=u(m),h=[];for(var y in m)(y!="constructor"||!g&&f.call(m,y))&&h.push(y);return h}},1573:function(o,s,c){var l=c(2958),u=c(1499),d=c(2634);o.exports=function(f){var m=u(f);return m.length==1&&m[0][2]?d(m[0][0],m[0][1]):function(g){return g===f||l(g,f,m)}}},2545:function(o){o.exports=function(s,c){for(var l=-1,u=Array(s);++l<s;)u[l]=c(l);return u}},531:function(o,s,c){var l=c(2705),u=c(9932),d=c(1469),f=c(3448),m=l?l.prototype:void 0,g=m?m.toString:void 0;o.exports=i(function h(y){if(typeof y=="string")return y;if(d(y))return u(y,h)+"";if(f(y))return g?g.call(y):"";var b=y+"";return b=="0"&&1/y==-1/0?"-0":b},"t")},1717:function(o){o.exports=function(s){return function(c){return s(c)}}},4757:function(o){o.exports=function(s,c){return s.has(c)}},1811:function(o,s,c){var l=c(1469),u=c(5403),d=c(5514),f=c(9833);o.exports=function(m,g){return l(m)?m:u(m,g)?[m]:d(f(m))}},4318:function(o,s,c){var l=c(1149);o.exports=function(u){var d=new u.constructor(u.byteLength);return new l(d).set(new l(u)),d}},4626:function(o,s,c){o=c.nmd(o);var l=c(5639),u=s&&!s.nodeType&&s,d=u&&o&&!o.nodeType&&o,f=d&&d.exports===u?l.Buffer:void 0,m=f?f.allocUnsafe:void 0;o.exports=function(g,h){if(h)return g.slice();var y=g.length,b=m?m(y):new g.constructor(y);return g.copy(b),b}},7157:function(o,s,c){var l=c(4318);o.exports=function(u,d){var f=d?l(u.buffer):u.buffer;return new u.constructor(f,u.byteOffset,u.byteLength)}},3147:function(o){var s=/\w*$/;o.exports=function(c){var l=new c.constructor(c.source,s.exec(c));return l.lastIndex=c.lastIndex,l}},419:function(o,s,c){var l=c(2705),u=l?l.prototype:void 0,d=u?u.valueOf:void 0;o.exports=function(f){return d?Object(d.call(f)):{}}},7133:function(o,s,c){var l=c(4318);o.exports=function(u,d){var f=d?l(u.buffer):u.buffer;return new u.constructor(f,u.byteOffset,u.length)}},278:function(o){o.exports=function(s,c){var l=-1,u=s.length;for(c||(c=Array(u));++l<u;)c[l]=s[l];return c}},8363:function(o,s,c){var l=c(4865),u=c(9465);o.exports=function(d,f,m,g){var h=!m;m||(m={});for(var y=-1,b=f.length;++y<b;){var x=f[y],w=g?g(m[x],d[x],x,m,d):void 0;w===void 0&&(w=d[x]),h?u(m,x,w):l(m,x,w)}return m}},8805:function(o,s,c){var l=c(8363),u=c(9551);o.exports=function(d,f){return l(d,u(d),f)}},1911:function(o,s,c){var l=c(8363),u=c(1442);o.exports=function(d,f){return l(d,u(d),f)}},4429:function(o,s,c){var l=c(5639)["__core-js_shared__"];o.exports=l},8777:function(o,s,c){var l=c(852),u=function(){try{var d=l(Object,"defineProperty");return d({},"",{}),d}catch{}}();o.exports=u},7114:function(o,s,c){var l=c(8668),u=c(2908),d=c(4757);o.exports=function(f,m,g,h,y,b){var x=1&g,w=f.length,C=m.length;if(w!=C&&!(x&&C>w))return!1;var j=b.get(f),_=b.get(m);if(j&&_)return j==m&&_==f;var S=-1,k=!0,$=2&g?new l:void 0;for(b.set(f,m),b.set(m,f);++S<w;){var E=f[S],P=m[S];if(h)var R=x?h(P,E,S,m,f,b):h(E,P,S,f,m,b);if(R!==void 0){if(R)continue;k=!1;break}if($){if(!u(m,function(T,M){if(!d($,M)&&(E===T||y(E,T,g,h,b)))return $.push(M)})){k=!1;break}}else if(E!==P&&!y(E,P,g,h,b)){k=!1;break}}return b.delete(f),b.delete(m),k}},8351:function(o,s,c){var l=c(2705),u=c(1149),d=c(7813),f=c(7114),m=c(8776),g=c(1814),h=l?l.prototype:void 0,y=h?h.valueOf:void 0;o.exports=function(b,x,w,C,j,_,S){switch(w){case"[object DataView]":if(b.byteLength!=x.byteLength||b.byteOffset!=x.byteOffset)return!1;b=b.buffer,x=x.buffer;case"[object ArrayBuffer]":return!(b.byteLength!=x.byteLength||!_(new u(b),new u(x)));case"[object Boolean]":case"[object Date]":case"[object Number]":return d(+b,+x);case"[object Error]":return b.name==x.name&&b.message==x.message;case"[object RegExp]":case"[object String]":return b==x+"";case"[object Map]":var k=m;case"[object Set]":var $=1&C;if(k||(k=g),b.size!=x.size&&!$)return!1;var E=S.get(b);if(E)return E==x;C|=2,S.set(b,x);var P=f(k(b),k(x),C,j,_,S);return S.delete(b),P;case"[object Symbol]":if(y)return y.call(b)==y.call(x)}return!1}},6096:function(o,s,c){var l=c(8234),u=Object.prototype.hasOwnProperty;o.exports=function(d,f,m,g,h,y){var b=1&m,x=l(d),w=x.length;if(w!=l(f).length&&!b)return!1;for(var C=w;C--;){var j=x[C];if(!(b?j in f:u.call(f,j)))return!1}var _=y.get(d),S=y.get(f);if(_&&S)return _==f&&S==d;var k=!0;y.set(d,f),y.set(f,d);for(var $=b;++C<w;){var E=d[j=x[C]],P=f[j];if(g)var R=b?g(P,E,j,f,d,y):g(E,P,j,d,f,y);if(!(R===void 0?E===P||h(E,P,m,g,y):R)){k=!1;break}$||($=j=="constructor")}if(k&&!$){var T=d.constructor,M=f.constructor;T==M||!("constructor"in d)||!("constructor"in f)||typeof T=="function"&&T instanceof T&&typeof M=="function"&&M instanceof M||(k=!1)}return y.delete(d),y.delete(f),k}},1957:function(o,s,c){var l=typeof c.g=="object"&&c.g&&c.g.Object===Object&&c.g;o.exports=l},8234:function(o,s,c){var l=c(8866),u=c(9551),d=c(3674);o.exports=function(f){return l(f,d,u)}},6904:function(o,s,c){var l=c(8866),u=c(1442),d=c(1704);o.exports=function(f){return l(f,d,u)}},5050:function(o,s,c){var l=c(7019);o.exports=function(u,d){var f=u.__data__;return l(d)?f[typeof d=="string"?"string":"hash"]:f.map}},1499:function(o,s,c){var l=c(9162),u=c(3674);o.exports=function(d){for(var f=u(d),m=f.length;m--;){var g=f[m],h=d[g];f[m]=[g,h,l(h)]}return f}},852:function(o,s,c){var l=c(8458),u=c(7801);o.exports=function(d,f){var m=u(d,f);return l(m)?m:void 0}},5924:function(o,s,c){var l=c(5569)(Object.getPrototypeOf,Object);o.exports=l},9607:function(o,s,c){var l=c(2705),u=Object.prototype,d=u.hasOwnProperty,f=u.toString,m=l?l.toStringTag:void 0;o.exports=function(g){var h=d.call(g,m),y=g[m];try{g[m]=void 0;var b=!0}catch{}var x=f.call(g);return b&&(h?g[m]=y:delete g[m]),x}},9551:function(o,s,c){var l=c(4963),u=c(479),d=Object.prototype.propertyIsEnumerable,f=Object.getOwnPropertySymbols,m=f?function(g){return g==null?[]:(g=Object(g),l(f(g),function(h){return d.call(g,h)}))}:u;o.exports=m},1442:function(o,s,c){var l=c(2488),u=c(5924),d=c(9551),f=c(479),m=Object.getOwnPropertySymbols?function(g){for(var h=[];g;)l(h,d(g)),g=u(g);return h}:f;o.exports=m},4160:function(o,s,c){var l=c(8552),u=c(7071),d=c(3818),f=c(8525),m=c(577),g=c(4239),h=c(346),y="[object Map]",b="[object Promise]",x="[object Set]",w="[object WeakMap]",C="[object DataView]",j=h(l),_=h(u),S=h(d),k=h(f),$=h(m),E=g;(l&&E(new l(new ArrayBuffer(1)))!=C||u&&E(new u)!=y||d&&E(d.resolve())!=b||f&&E(new f)!=x||m&&E(new m)!=w)&&(E=i(function(P){var R=g(P),T=R=="[object Object]"?P.constructor:void 0,M=T?h(T):"";if(M)switch(M){case j:return C;case _:return y;case S:return b;case k:return x;case $:return w}return R},"j")),o.exports=E},7801:function(o){o.exports=function(s,c){return s==null?void 0:s[c]}},1789:function(o,s,c){var l=c(4536);o.exports=function(){this.__data__=l?l(null):{},this.size=0}},401:function(o){o.exports=function(s){var c=this.has(s)&&delete this.__data__[s];return this.size-=c?1:0,c}},7667:function(o,s,c){var l=c(4536),u=Object.prototype.hasOwnProperty;o.exports=function(d){var f=this.__data__;if(l){var m=f[d];return m==="__lodash_hash_undefined__"?void 0:m}return u.call(f,d)?f[d]:void 0}},1327:function(o,s,c){var l=c(4536),u=Object.prototype.hasOwnProperty;o.exports=function(d){var f=this.__data__;return l?f[d]!==void 0:u.call(f,d)}},1866:function(o,s,c){var l=c(4536);o.exports=function(u,d){var f=this.__data__;return this.size+=this.has(u)?0:1,f[u]=l&&d===void 0?"__lodash_hash_undefined__":d,this}},3824:function(o){var s=Object.prototype.hasOwnProperty;o.exports=function(c){var l=c.length,u=new c.constructor(l);return l&&typeof c[0]=="string"&&s.call(c,"index")&&(u.index=c.index,u.input=c.input),u}},9148:function(o,s,c){var l=c(4318),u=c(7157),d=c(3147),f=c(419),m=c(7133);o.exports=function(g,h,y){var b=g.constructor;switch(h){case"[object ArrayBuffer]":return l(g);case"[object Boolean]":case"[object Date]":return new b(+g);case"[object DataView]":return u(g,y);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return m(g,y);case"[object Map]":return new b;case"[object Number]":case"[object String]":return new b(g);case"[object RegExp]":return d(g);case"[object Set]":return new b;case"[object Symbol]":return f(g)}}},8517:function(o,s,c){var l=c(3118),u=c(5924),d=c(5726);o.exports=function(f){return typeof f.constructor!="function"||d(f)?{}:l(u(f))}},5776:function(o){var s=/^(?:0|[1-9]\d*)$/;o.exports=function(c,l){var u=typeof c;return!!(l=l??9007199254740991)&&(u=="number"||u!="symbol"&&s.test(c))&&c>-1&&c%1==0&&c<l}},5403:function(o,s,c){var l=c(1469),u=c(3448),d=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,f=/^\w*$/;o.exports=function(m,g){if(l(m))return!1;var h=typeof m;return!(h!="number"&&h!="symbol"&&h!="boolean"&&m!=null&&!u(m))||f.test(m)||!d.test(m)||g!=null&&m in Object(g)}},7019:function(o){o.exports=function(s){var c=typeof s;return c=="string"||c=="number"||c=="symbol"||c=="boolean"?s!=="__proto__":s===null}},5346:function(o,s,c){var l,u=c(4429),d=(l=/[^.]+$/.exec(u&&u.keys&&u.keys.IE_PROTO||""))?"Symbol(src)_1."+l:"";o.exports=function(f){return!!d&&d in f}},5726:function(o){var s=Object.prototype;o.exports=function(c){var l=c&&c.constructor;return c===(typeof l=="function"&&l.prototype||s)}},9162:function(o,s,c){var l=c(3218);o.exports=function(u){return u==u&&!l(u)}},7040:function(o){o.exports=function(){this.__data__=[],this.size=0}},4125:function(o,s,c){var l=c(8470),u=Array.prototype.splice;o.exports=function(d){var f=this.__data__,m=l(f,d);return!(m<0)&&(m==f.length-1?f.pop():u.call(f,m,1),--this.size,!0)}},2117:function(o,s,c){var l=c(8470);o.exports=function(u){var d=this.__data__,f=l(d,u);return f<0?void 0:d[f][1]}},7518:function(o,s,c){var l=c(8470);o.exports=function(u){return l(this.__data__,u)>-1}},4705:function(o,s,c){var l=c(8470);o.exports=function(u,d){var f=this.__data__,m=l(f,u);return m<0?(++this.size,f.push([u,d])):f[m][1]=d,this}},4785:function(o,s,c){var l=c(1989),u=c(8407),d=c(7071);o.exports=function(){this.size=0,this.__data__={hash:new l,map:new(d||u),string:new l}}},1285:function(o,s,c){var l=c(5050);o.exports=function(u){var d=l(this,u).delete(u);return this.size-=d?1:0,d}},6e3:function(o,s,c){var l=c(5050);o.exports=function(u){return l(this,u).get(u)}},9916:function(o,s,c){var l=c(5050);o.exports=function(u){return l(this,u).has(u)}},5265:function(o,s,c){var l=c(5050);o.exports=function(u,d){var f=l(this,u),m=f.size;return f.set(u,d),this.size+=f.size==m?0:1,this}},8776:function(o){o.exports=function(s){var c=-1,l=Array(s.size);return s.forEach(function(u,d){l[++c]=[d,u]}),l}},2634:function(o){o.exports=function(s,c){return function(l){return l!=null&&l[s]===c&&(c!==void 0||s in Object(l))}}},4523:function(o,s,c){var l=c(8306);o.exports=function(u){var d=l(u,function(m){return f.size===500&&f.clear(),m}),f=d.cache;return d}},4536:function(o,s,c){var l=c(852)(Object,"create");o.exports=l},6916:function(o,s,c){var l=c(5569)(Object.keys,Object);o.exports=l},3498:function(o){o.exports=function(s){var c=[];if(s!=null)for(var l in Object(s))c.push(l);return c}},1167:function(o,s,c){o=c.nmd(o);var l=c(1957),u=s&&!s.nodeType&&s,d=u&&o&&!o.nodeType&&o,f=d&&d.exports===u&&l.process,m=function(){try{var g=d&&d.require&&d.require("util").types;return g||f&&f.binding&&f.binding("util")}catch{}}();o.exports=m},2333:function(o){var s=Object.prototype.toString;o.exports=function(c){return s.call(c)}},5569:function(o){o.exports=function(s,c){return function(l){return s(c(l))}}},5639:function(o,s,c){var l=c(1957),u=typeof self=="object"&&self&&self.Object===Object&&self,d=l||u||Function("return this")();o.exports=d},619:function(o){o.exports=function(s){return this.__data__.set(s,"__lodash_hash_undefined__"),this}},2385:function(o){o.exports=function(s){return this.__data__.has(s)}},1814:function(o){o.exports=function(s){var c=-1,l=Array(s.size);return s.forEach(function(u){l[++c]=u}),l}},7465:function(o,s,c){var l=c(8407);o.exports=function(){this.__data__=new l,this.size=0}},3779:function(o){o.exports=function(s){var c=this.__data__,l=c.delete(s);return this.size=c.size,l}},7599:function(o){o.exports=function(s){return this.__data__.get(s)}},4758:function(o){o.exports=function(s){return this.__data__.has(s)}},4309:function(o,s,c){var l=c(8407),u=c(7071),d=c(3369);o.exports=function(f,m){var g=this.__data__;if(g instanceof l){var h=g.__data__;if(!u||h.length<199)return h.push([f,m]),this.size=++g.size,this;g=this.__data__=new d(h)}return g.set(f,m),this.size=g.size,this}},5514:function(o,s,c){var l=c(4523),u=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,d=/\\(\\)?/g,f=l(function(m){var g=[];return m.charCodeAt(0)===46&&g.push(""),m.replace(u,function(h,y,b,x){g.push(b?x.replace(d,"$1"):y||h)}),g});o.exports=f},327:function(o,s,c){var l=c(3448);o.exports=function(u){if(typeof u=="string"||l(u))return u;var d=u+"";return d=="0"&&1/u==-1/0?"-0":d}},346:function(o){var s=Function.prototype.toString;o.exports=function(c){if(c!=null){try{return s.call(c)}catch{}try{return c+""}catch{}}return""}},7813:function(o){o.exports=function(s,c){return s===c||s!=s&&c!=c}},7361:function(o,s,c){var l=c(7786);o.exports=function(u,d,f){var m=u==null?void 0:l(u,d);return m===void 0?f:m}},5694:function(o,s,c){var l=c(9454),u=c(7005),d=Object.prototype,f=d.hasOwnProperty,m=d.propertyIsEnumerable,g=l(function(){return arguments}())?l:function(h){return u(h)&&f.call(h,"callee")&&!m.call(h,"callee")};o.exports=g},1469:function(o){var s=Array.isArray;o.exports=s},8612:function(o,s,c){var l=c(3560),u=c(1780);o.exports=function(d){return d!=null&&u(d.length)&&!l(d)}},4144:function(o,s,c){o=c.nmd(o);var l=c(5639),u=c(5062),d=s&&!s.nodeType&&s,f=d&&o&&!o.nodeType&&o,m=f&&f.exports===d?l.Buffer:void 0,g=(m?m.isBuffer:void 0)||u;o.exports=g},3560:function(o,s,c){var l=c(4239),u=c(3218);o.exports=function(d){if(!u(d))return!1;var f=l(d);return f=="[object Function]"||f=="[object GeneratorFunction]"||f=="[object AsyncFunction]"||f=="[object Proxy]"}},1780:function(o){o.exports=function(s){return typeof s=="number"&&s>-1&&s%1==0&&s<=9007199254740991}},6688:function(o,s,c){var l=c(5588),u=c(1717),d=c(1167),f=d&&d.isMap,m=f?u(f):l;o.exports=m},3218:function(o){o.exports=function(s){var c=typeof s;return s!=null&&(c=="object"||c=="function")}},7005:function(o){o.exports=function(s){return s!=null&&typeof s=="object"}},2928:function(o,s,c){var l=c(9221),u=c(1717),d=c(1167),f=d&&d.isSet,m=f?u(f):l;o.exports=m},3448:function(o,s,c){var l=c(4239),u=c(7005);o.exports=function(d){return typeof d=="symbol"||u(d)&&l(d)=="[object Symbol]"}},6719:function(o,s,c){var l=c(8749),u=c(1717),d=c(1167),f=d&&d.isTypedArray,m=f?u(f):l;o.exports=m},3674:function(o,s,c){var l=c(4636),u=c(280),d=c(8612);o.exports=function(f){return d(f)?l(f):u(f)}},1704:function(o,s,c){var l=c(4636),u=c(313),d=c(8612);o.exports=function(f){return d(f)?l(f,!0):u(f)}},6410:function(o,s,c){var l=c(5990),u=c(1573);o.exports=function(d){return u(l(d,1))}},8306:function(o,s,c){var l=c(3369);function u(d,f){if(typeof d!="function"||f!=null&&typeof f!="function")throw new TypeError("Expected a function");var m=i(function(){var g=arguments,h=f?f.apply(this,g):g[0],y=m.cache;if(y.has(h))return y.get(h);var b=d.apply(this,g);return m.cache=y.set(h,b)||y,b},"r");return m.cache=new(u.Cache||l),m}i(u,"o"),u.Cache=l,o.exports=u},479:function(o){o.exports=function(){return[]}},5062:function(o){o.exports=function(){return!1}},9833:function(o,s,c){var l=c(531);o.exports=function(u){return u==null?"":l(u)}}},r={};function a(o){if(r[o])return r[o].exports;var s=r[o]={id:o,loaded:!1,exports:{}};return n[o](s,s.exports,a),s.loaded=!0,s.exports}return i(a,"r"),a.n=function(o){var s=o&&o.__esModule?function(){return o.default}:function(){return o};return a.d(s,{a:s}),s},a.d=function(o,s){for(var c in s)a.o(s,c)&&!a.o(o,c)&&Object.defineProperty(o,c,{enumerable:!0,get:s[c]})},a.g=function(){if(typeof globalThis=="object")return globalThis;try{return this||new Function("return this")()}catch{if(typeof window=="object")return window}}(),a.o=function(o,s){return Object.prototype.hasOwnProperty.call(o,s)},a.r=function(o){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(o,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(o,"__esModule",{value:!0})},a.nmd=function(o){return o.paths=[],o.children||(o.children=[]),o},a(6499)}()})})(wJ);var nZe=wJ.exports;const rZe=Gt(nZe);function aZe(e,t,n,r){console.group?(console.groupCollapsed(e,t,JSON.stringify(n)),console.log(r),console.groupEnd()):(console.log("FakeRest request ",e,t,n),console.log("FakeRest response",r))}i(aZe,"log");const oZe=i((e,t=!1)=>{const n=new rZe.Server;n.init(e),typeof window<"u"&&(window.restServer=n);function r(o,s,c){switch(o){case"getList":{const{page:l,perPage:u}=c.pagination,{field:d,order:f}=c.sort,m={sort:[d,f],range:[(l-1)*u,l*u-1],filter:c.filter};return{data:n.getAll(s,m),total:n.getCount(s,{filter:c.filter})}}case"getOne":return{data:n.getOne(s,c.id,{...c})};case"getMany":return{data:c.ids.map(l=>n.getOne(s,l),{...c})};case"getManyReference":{const{page:l,perPage:u}=c.pagination,{field:d,order:f}=c.sort,m={sort:[d,f],range:[(l-1)*u,l*u-1],filter:{...c.filter,[c.target]:c.id}};return{data:n.getAll(s,m),total:n.getCount(s,{filter:m.filter})}}case"update":return{data:n.updateOne(s,c.id,{...c.data})};case"updateMany":return c.ids.forEach(l=>n.updateOne(s,l,{...c.data})),{data:c.ids};case"create":return{data:n.addOne(s,{...c.data})};case"delete":return{data:n.removeOne(s,c.id)};case"deleteMany":return c.ids.forEach(l=>n.removeOne(s,l)),{data:c.ids};default:return!1}}i(r,"getResponse");const a=i((o,s,c)=>{if(!n.getCollection(s)&&o!=="create"){const d=new ik(`Undefined collection "${s}"`);return d.code=1,Promise.reject(d)}let u;try{u=r(o,s,c)}catch(d){return console.error(d),Promise.reject(d)}if(t){const{signal:d,...f}=c;aZe(o,s,f,u)}return Promise.resolve(u)},"handle");return{getList:(o,s)=>a("getList",o,s),getOne:(o,s)=>a("getOne",o,s),getMany:(o,s)=>a("getMany",o,s),getManyReference:(o,s)=>a("getManyReference",o,s),update:(o,s)=>a("update",o,s),updateMany:(o,s)=>a("updateMany",o,s),create:(o,s)=>a("create",o,s),delete:(o,s)=>a("delete",o,s),deleteMany:(o,s)=>a("deleteMany",o,s)}},"fakeRestDataProvider"),TP=class TP extends Error{};i(TP,"UndefinedResourceError");let ik=TP;var CJ={exports:{}},SJ={exports:{}},tS={exports:{}},N6;function iZe(){return N6||(N6=1,function(e){function t(n){return this.fake=i(function r(a){var o="";if(typeof a!="string"||a.length===0)throw new Error("string parameter is required!");var s=a.search("{{"),c=a.search("}}");if(s===-1&&c===-1)return a;var l=a.substr(s+2,c-s-2),u=l.replace("}}","").replace("{{",""),d=/\(([^)]+)\)/,f=d.exec(u),m="";f&&(u=u.replace(d,""),m=f[1]);var g=u.split(".");if(typeof n[g[0]]>"u")throw new Error("Invalid module: "+g[0]);if(typeof n[g[0]][g[1]]>"u")throw new Error("Invalid method: "+g[0]+"."+g[1]);var h=n[g[0]][g[1]],y;try{y=JSON.parse(m)}catch{y=m}var b;return typeof y=="string"&&y.length===0?b=h.call(this):b=h.call(this,y),o=a.replace("{{"+l+"}}",b),r(o)},"fake"),this}i(t,"Fake"),e.exports=t}(tS)),tS.exports}i(iZe,"requireFake");var nS={exports:{}},rS,F6;function sZe(){if(F6)return rS;F6=1;var e={},t={},n=[],r=0,a=i(function(o,s){return typeof o[s]>"u"?-1:0},"defaultCompare");return e.errorMessage=function(o,s,c){throw console.error("error",s),console.log("found",Object.keys(t).length,`unique entries before throwing error. -retried:`,r,` -total time:`,o-c.startTime,"ms"),new Error(s+` for uniqueness check - -May not be able to generate any more unique values with current settings. -Try adjusting maxTime or maxRetries parameters for faker.unique()`)},e.exec=function(o,s,c){var l=new Date().getTime();c=c||{},c.maxTime=c.maxTime||3,c.maxRetries=c.maxRetries||50,c.exclude=c.exclude||n,c.compare=c.compare||a,typeof c.currentIterations!="number"&&(c.currentIterations=0),typeof c.startTime>"u"&&(c.startTime=new Date().getTime());var u=c.startTime;if(typeof c.exclude=="string"&&(c.exclude=[c.exclude]),c.currentIterations>0,l-u>=c.maxTime)return e.errorMessage(l,"Exceeded maxTime:"+c.maxTime,c);if(c.currentIterations>=c.maxRetries)return e.errorMessage(l,"Exceeded maxRetries:"+c.maxRetries,c);var d=o.apply(this,s);return c.compare(t,d)===-1&&c.exclude.indexOf(d)===-1?(t[d]=d,c.currentIterations=0,d):(c.currentIterations++,e.exec(o,s,c))},rS=e,rS}i(sZe,"requireUnique$1");var B6;function cZe(){return B6||(B6=1,function(e){var t=sZe();function n(r){var a=10,o=10;this.unique=i(function(c,l,u){return u=u||{},u.startTime=new Date().getTime(),typeof u.maxTime!="number"&&(u.maxTime=a),typeof u.maxRetries!="number"&&(u.maxRetries=o),u.currentIterations=0,t.exec(c,l,u)},"unique")}i(n,"Unique"),e.exports=n}(nS)),nS.exports}i(cZe,"requireUnique");var aS={exports:{}},bu={},W6;function lZe(){if(W6)return bu;W6=1;function e(){var n,r,a,o,s;n=624,r=397,a=2567483615,o=2147483648,s=2147483647;var c=new Array(n),l=n+1;function u(h){return h<0?(h^o)+o:h}i(u,"unsigned32");function d(h,y){return h<y?u(4294967296-(y-h)&4294967295):h-y}i(d,"subtraction32");function f(h,y){return u(h+y&4294967295)}i(f,"addition32");function m(h,y){for(var b=0,x=0;x<32;++x)h>>>x&1&&(b=f(b,u(y<<x)));return b}i(m,"multiplication32"),this.init_genrand=function(h){for(c[0]=u(h&4294967295),l=1;l<n;l++)c[l]=f(m(1812433253,u(c[l-1]^c[l-1]>>>30)),l),c[l]=u(c[l]&4294967295)},this.init_by_array=function(h,y){var b,x,w;for(this.init_genrand(19650218),b=1,x=0,w=n>y?n:y;w;w--)c[b]=f(f(u(c[b]^m(u(c[b-1]^c[b-1]>>>30),1664525)),h[x]),x),c[b]=u(c[b]&4294967295),b++,x++,b>=n&&(c[0]=c[n-1],b=1),x>=y&&(x=0);for(w=n-1;w;w--)c[b]=d(u((dbg=c[b])^m(u(c[b-1]^c[b-1]>>>30),1566083941)),b),c[b]=u(c[b]&4294967295),b++,b>=n&&(c[0]=c[n-1],b=1);c[0]=2147483648};var g=[0,a];this.genrand_int32=function(){var h;if(l>=n){var y;for(l==n+1&&this.init_genrand(5489),y=0;y<n-r;y++)h=u(c[y]&o|c[y+1]&s),c[y]=u(c[y+r]^h>>>1^g[h&1]);for(;y<n-1;y++)h=u(c[y]&o|c[y+1]&s),c[y]=u(c[y+(r-n)]^h>>>1^g[h&1]);h=u(c[n-1]&o|c[0]&s),c[n-1]=u(c[r-1]^h>>>1^g[h&1]),l=0}return h=c[l++],h=u(h^h>>>11),h=u(h^h<<7&2636928640),h=u(h^h<<15&4022730752),h=u(h^h>>>18),h},this.genrand_int31=function(){return this.genrand_int32()>>>1},this.genrand_real1=function(){return this.genrand_int32()*(1/4294967295)},this.genrand_real2=function(){return this.genrand_int32()*(1/4294967296)},this.genrand_real3=function(){return(this.genrand_int32()+.5)*(1/4294967296)},this.genrand_res53=function(){var h=this.genrand_int32()>>>5,y=this.genrand_int32()>>>6;return(h*67108864+y)*(1/9007199254740992)}}i(e,"MersenneTwister19937"),bu.MersenneTwister19937=e;var t=new e;return t.init_genrand(new Date().getTime()%1e9),bu.rand=function(n,r){return n===void 0&&(r=0,n=32768),Math.floor(t.genrand_real2()*(n-r)+r)},bu.seed=function(n){if(typeof n!="number")throw new Error("seed(S) must take numeric argument; is "+typeof n);t.init_genrand(n)},bu.seed_array=function(n){if(typeof n!="object")throw new Error("seed_array(A) must take array of numbers; is "+typeof n);t.init_by_array(n,n.length)},bu}i(lZe,"requireMersenne");var U6;function H6(){return U6||(U6=1,function(e){var t=lZe();function n(r,a){return Array.isArray(a)&&a.length?t.seed_array(a):isNaN(a)||t.seed(a),this.number=function(o){typeof o=="number"&&(o={max:o}),o=o||{},typeof o.min>"u"&&(o.min=0),typeof o.max>"u"&&(o.max=99999),typeof o.precision>"u"&&(o.precision=1);var s=o.max;s>=0&&(s+=o.precision);var c=Math.floor(t.rand(s/o.precision,o.min/o.precision));return c=c/(1/o.precision),c},this.float=function(o){typeof o=="number"&&(o={precision:o}),o=o||{};var s={};for(var c in o)s[c]=o[c];return typeof s.precision>"u"&&(s.precision=.01),r.random.number(s)},this.arrayElement=function(o){o=o||["a","b","c"];var s=r.random.number({max:o.length-1});return o[s]},this.arrayElements=function(o,s){o=o||["a","b","c"],typeof s!="number"?s=r.random.number({min:1,max:o.length}):s>o.length?s=o.length:s<0&&(s=0);for(var c=o.slice(),l=c.length-s,u=0;u<l;u++){var d=r.random.number({max:c.length-1});c.splice(d,1)}return c},this.objectElement=function(o,s){o=o||{foo:"bar",too:"car"};var c=Object.keys(o),l=r.random.arrayElement(c);return s==="key"?l:o[l]},this.uuid=function(){var o="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx",s=i(function(c){var l=r.random.number({min:0,max:15}),u=c=="x"?l:l&3|8;return u.toString(16)},"replacePlaceholders");return o.replace(/[xy]/g,s)},this.boolean=function(){return!!r.random.number(1)},this.word=i(function(s){var c=["commerce.department","commerce.productName","commerce.productAdjective","commerce.productMaterial","commerce.product","commerce.color","company.catchPhraseAdjective","company.catchPhraseDescriptor","company.catchPhraseNoun","company.bsAdjective","company.bsBuzz","company.bsNoun","address.streetSuffix","address.county","address.country","address.state","finance.accountName","finance.transactionType","finance.currencyName","hacker.noun","hacker.verb","hacker.adjective","hacker.ingverb","hacker.abbreviation","name.jobDescriptor","name.jobArea","name.jobType"],l=r.random.arrayElement(c),u=r.fake("{{"+l+"}}");return r.random.arrayElement(u.split(" "))},"randomWord"),this.words=i(function(s){var c=[];typeof s>"u"&&(s=r.random.number({min:1,max:3}));for(var l=0;l<s;l++)c.push(r.random.word());return c.join(" ")},"randomWords"),this.image=i(function(){return r.image.image()},"randomImage"),this.locale=i(function(){return r.random.arrayElement(Object.keys(r.locales))},"randomLocale"),this.alpha=i(function(s){typeof s>"u"?s={count:1}:typeof s=="number"?s={count:s}:typeof s.count>"u"&&(s.count=1),typeof s.upcase>"u"&&(s.upcase=!1);for(var c="",l=0;l<s.count;l++)c+=r.random.arrayElement(["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"]);return s.upcase?c.toUpperCase():c},"alpha"),this.alphaNumeric=i(function(s){typeof s>"u"&&(s=1);for(var c="",l=0;l<s;l++)c+=r.random.arrayElement(["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"]);return c},"alphaNumeric"),this.hexaDecimal=i(function(s){typeof s>"u"&&(s=1);for(var c="",l=0;l<s;l++)c+=r.random.arrayElement(["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f","A","B","C","D","E","F"]);return"0x"+c},"hexaDecimal"),this}i(n,"Random"),e.exports=n}(aS)),aS.exports}i(H6,"requireRandom");var oS={exports:{}},q6;function uZe(){return q6||(q6=1,function(e){var t=i(function(n){var r=this;return r.randomize=function(a){return a=a||["a","b","c"],n.random.arrayElement(a)},r.slugify=function(a){return a=a||"",a.replace(/ /g,"-").replace(/[^\一-龠\ぁ-ゔ\ァ-ヴー\w\.\-]+/g,"")},r.replaceSymbolWithNumber=function(a,o){a=a||"",o===void 0&&(o="#");for(var s="",c=0;c<a.length;c++)a.charAt(c)==o?s+=n.random.number(9):a.charAt(c)=="!"?s+=n.random.number({min:2,max:9}):s+=a.charAt(c);return s},r.replaceSymbols=function(a){a=a||"";for(var o=["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"],s="",c=0;c<a.length;c++)a.charAt(c)=="#"?s+=n.random.number(9):a.charAt(c)=="?"?s+=n.random.arrayElement(o):a.charAt(c)=="*"?s+=n.random.boolean()?n.random.arrayElement(o):n.random.number(9):s+=a.charAt(c);return s},r.replaceCreditCardSymbols=function(a,o){a=a||"6453-####-####-####-###L",o=o||"#";var s=i(function(u){u.reverse(),u=u.map(function(f,m){return m%2===0&&(f*=2,f>9&&(f-=9)),f});var d=u.reduce(function(f,m){return f+m});return d%10},"getCheckBit");a=n.helpers.regexpStyleStringParse(a),a=n.helpers.replaceSymbolWithNumber(a,o);var c=a.replace(/\D/g,"").split("").map(function(u){return parseInt(u)}),l=s(c);return a.replace("L",l)},r.repeatString=function(a,o){typeof o>"u"&&(o=0);for(var s="",c=0;c<o;c++)s+=a.toString();return s},r.regexpStyleStringParse=function(a){a=a||"";for(var o=/(.)\{(\d+)\,(\d+)\}/,s=/(.)\{(\d+)\}/,c=/\[(\d+)\-(\d+)\]/,l,u,d,f,m=a.match(o);m!==null;)l=parseInt(m[2]),u=parseInt(m[3]),l>u&&(d=u,u=l,l=d),f=n.random.number({min:l,max:u}),a=a.slice(0,m.index)+n.helpers.repeatString(m[1],f)+a.slice(m.index+m[0].length),m=a.match(o);for(m=a.match(s);m!==null;)f=parseInt(m[2]),a=a.slice(0,m.index)+n.helpers.repeatString(m[1],f)+a.slice(m.index+m[0].length),m=a.match(s);for(m=a.match(c);m!==null;)l=parseInt(m[1]),u=parseInt(m[2]),l>u&&(d=u,u=l,l=d),a=a.slice(0,m.index)+n.random.number({min:l,max:u}).toString()+a.slice(m.index+m[0].length),m=a.match(c);return a},r.shuffle=function(a){if(typeof a>"u"||a.length===0)return a||[];a=a||["a","b","c"];for(var o,s,c=a.length-1;c>0;--c)s=n.random.number(c),o=a[c],a[c]=a[s],a[s]=o;return a},r.mustache=function(a,o){if(typeof a>"u")return"";for(var s in o){var c=new RegExp("{{"+s+"}}","g");a=a.replace(c,o[s])}return a},r.createCard=function(){return{name:n.name.findName(),username:n.internet.userName(),email:n.internet.email(),address:{streetA:n.address.streetName(),streetB:n.address.streetAddress(),streetC:n.address.streetAddress(!0),streetD:n.address.secondaryAddress(),city:n.address.city(),state:n.address.state(),country:n.address.country(),zipcode:n.address.zipCode(),geo:{lat:n.address.latitude(),lng:n.address.longitude()}},phone:n.phone.phoneNumber(),website:n.internet.domainName(),company:{name:n.company.companyName(),catchPhrase:n.company.catchPhrase(),bs:n.company.bs()},posts:[{words:n.lorem.words(),sentence:n.lorem.sentence(),sentences:n.lorem.sentences(),paragraph:n.lorem.paragraph()},{words:n.lorem.words(),sentence:n.lorem.sentence(),sentences:n.lorem.sentences(),paragraph:n.lorem.paragraph()},{words:n.lorem.words(),sentence:n.lorem.sentence(),sentences:n.lorem.sentences(),paragraph:n.lorem.paragraph()}],accountHistory:[n.helpers.createTransaction(),n.helpers.createTransaction(),n.helpers.createTransaction()]}},r.contextualCard=function(){var a=n.name.firstName(),o=n.internet.userName(a);return{name:a,username:o,avatar:n.internet.avatar(),email:n.internet.email(o),dob:n.date.past(50,new Date("Sat Sep 20 1992 21:35:02 GMT+0200 (CEST)")),phone:n.phone.phoneNumber(),address:{street:n.address.streetName(!0),suite:n.address.secondaryAddress(),city:n.address.city(),zipcode:n.address.zipCode(),geo:{lat:n.address.latitude(),lng:n.address.longitude()}},website:n.internet.domainName(),company:{name:n.company.companyName(),catchPhrase:n.company.catchPhrase(),bs:n.company.bs()}}},r.userCard=function(){return{name:n.name.findName(),username:n.internet.userName(),email:n.internet.email(),address:{street:n.address.streetName(!0),suite:n.address.secondaryAddress(),city:n.address.city(),zipcode:n.address.zipCode(),geo:{lat:n.address.latitude(),lng:n.address.longitude()}},phone:n.phone.phoneNumber(),website:n.internet.domainName(),company:{name:n.company.companyName(),catchPhrase:n.company.catchPhrase(),bs:n.company.bs()}}},r.createTransaction=function(){return{amount:n.finance.amount(),date:new Date(2012,1,2),business:n.company.companyName(),name:[n.finance.accountName(),n.finance.mask()].join(" "),type:r.randomize(n.definitions.finance.transaction_type),account:n.finance.account()}},r},"Helpers");e.exports=t}(oS)),oS.exports}i(uZe,"requireHelpers");var iS={exports:{}},V6;function dZe(){return V6||(V6=1,function(e){function t(n){this.firstName=function(r){if(typeof n.definitions.name.male_first_name<"u"&&typeof n.definitions.name.female_first_name<"u"){if(typeof r=="string"&&(r.toLowerCase()==="male"?r=0:r.toLowerCase()==="female"&&(r=1)),typeof r!="number")if(typeof n.definitions.name.first_name>"u")r=n.random.number(1);else return n.random.arrayElement(n.definitions.name.first_name);return r===0?n.random.arrayElement(n.definitions.name.male_first_name):n.random.arrayElement(n.definitions.name.female_first_name)}return n.random.arrayElement(n.definitions.name.first_name)},this.lastName=function(r){return typeof n.definitions.name.male_last_name<"u"&&typeof n.definitions.name.female_last_name<"u"?(typeof r!="number"&&(r=n.random.number(1)),r===0?n.random.arrayElement(n.locales[n.locale].name.male_last_name):n.random.arrayElement(n.locales[n.locale].name.female_last_name)):n.random.arrayElement(n.definitions.name.last_name)},this.middleName=function(r){return typeof n.definitions.name.male_middle_name<"u"&&typeof n.definitions.name.female_middle_name<"u"?(typeof r!="number"&&(r=n.random.number(1)),r===0?n.random.arrayElement(n.locales[n.locale].name.male_middle_name):n.random.arrayElement(n.locales[n.locale].name.female_middle_name)):n.random.arrayElement(n.definitions.name.middle_name)},this.findName=function(r,a,o){var s=n.random.number(8),c,l;switch(typeof o!="number"&&(o=n.random.number(1)),r=r||n.name.firstName(o),a=a||n.name.lastName(o),s){case 0:if(c=n.name.prefix(o),c)return c+" "+r+" "+a;case 1:if(l=n.name.suffix(o),l)return r+" "+a+" "+l}return r+" "+a},this.jobTitle=function(){return n.name.jobDescriptor()+" "+n.name.jobArea()+" "+n.name.jobType()},this.gender=function(){return n.random.arrayElement(n.definitions.name.gender)},this.prefix=function(r){return typeof n.definitions.name.male_prefix<"u"&&typeof n.definitions.name.female_prefix<"u"?(typeof r!="number"&&(r=n.random.number(1)),r===0?n.random.arrayElement(n.locales[n.locale].name.male_prefix):n.random.arrayElement(n.locales[n.locale].name.female_prefix)):n.random.arrayElement(n.definitions.name.prefix)},this.suffix=function(){return n.random.arrayElement(n.definitions.name.suffix)},this.title=function(){var r=n.random.arrayElement(n.definitions.name.title.descriptor),a=n.random.arrayElement(n.definitions.name.title.level),o=n.random.arrayElement(n.definitions.name.title.job);return r+" "+a+" "+o},this.jobDescriptor=function(){return n.random.arrayElement(n.definitions.name.title.descriptor)},this.jobArea=function(){return n.random.arrayElement(n.definitions.name.title.level)},this.jobType=function(){return n.random.arrayElement(n.definitions.name.title.job)}}i(t,"Name"),e.exports=t}(iS)),iS.exports}i(dZe,"requireName");var sS,G6;function fZe(){if(G6)return sS;G6=1;function e(t){var n=t.fake,r=t.helpers;return this.zipCode=function(a){if(typeof a>"u"){var o=t.definitions.address.postcode;typeof o=="string"?a=o:a=t.random.arrayElement(o)}return r.replaceSymbols(a)},this.zipCodeByState=function(a){var o=t.definitions.address.postcode_by_state[a];return o?t.random.number(o):t.address.zipCode()},this.city=function(a){var o=["{{address.cityPrefix}} {{name.firstName}}{{address.citySuffix}}","{{address.cityPrefix}} {{name.firstName}}","{{name.firstName}}{{address.citySuffix}}","{{name.lastName}}{{address.citySuffix}}"];return typeof a!="number"&&(a=t.random.number(o.length-1)),n(o[a])},this.cityPrefix=function(){return t.random.arrayElement(t.definitions.address.city_prefix)},this.citySuffix=function(){return t.random.arrayElement(t.definitions.address.city_suffix)},this.streetName=function(){var a,o=t.address.streetSuffix();switch(o!==""&&(o=" "+o),t.random.number(1)){case 0:a=t.name.lastName()+o;break;case 1:a=t.name.firstName()+o;break}return a},this.streetAddress=function(a){a===void 0&&(a=!1);var o="";switch(t.random.number(2)){case 0:o=r.replaceSymbolWithNumber("#####")+" "+t.address.streetName();break;case 1:o=r.replaceSymbolWithNumber("####")+" "+t.address.streetName();break;case 2:o=r.replaceSymbolWithNumber("###")+" "+t.address.streetName();break}return a?o+" "+t.address.secondaryAddress():o},this.streetSuffix=function(){return t.random.arrayElement(t.definitions.address.street_suffix)},this.streetPrefix=function(){return t.random.arrayElement(t.definitions.address.street_prefix)},this.secondaryAddress=function(){return r.replaceSymbolWithNumber(t.random.arrayElement(["Apt. ###","Suite ###"]))},this.county=function(){return t.random.arrayElement(t.definitions.address.county)},this.country=function(){return t.random.arrayElement(t.definitions.address.country)},this.countryCode=function(a){return typeof a>"u"||a==="alpha-2"?t.random.arrayElement(t.definitions.address.country_code):a==="alpha-3"?t.random.arrayElement(t.definitions.address.country_code_alpha_3):t.random.arrayElement(t.definitions.address.country_code)},this.state=function(a){return t.random.arrayElement(t.definitions.address.state)},this.stateAbbr=function(){return t.random.arrayElement(t.definitions.address.state_abbr)},this.latitude=function(a,o,s){return a=a||90,o=o||-90,s=s||4,t.random.number({max:a,min:o,precision:parseFloat(0 .toPrecision(s)+"1")}).toFixed(s)},this.longitude=function(a,o,s){return a=a||180,o=o||-180,s=s||4,t.random.number({max:a,min:o,precision:parseFloat(0 .toPrecision(s)+"1")}).toFixed(s)},this.direction=function(a){return typeof a>"u"||a===!1?t.random.arrayElement(t.definitions.address.direction):t.random.arrayElement(t.definitions.address.direction_abbr)},this.direction.schema={description:"Generates a direction. Use optional useAbbr bool to return abbreviation",sampleResults:["Northwest","South","SW","E"]},this.cardinalDirection=function(a){return typeof a>"u"||a===!1?t.random.arrayElement(t.definitions.address.direction.slice(0,4)):t.random.arrayElement(t.definitions.address.direction_abbr.slice(0,4))},this.cardinalDirection.schema={description:"Generates a cardinal direction. Use optional useAbbr boolean to return abbreviation",sampleResults:["North","South","E","W"]},this.ordinalDirection=function(a){return typeof a>"u"||a===!1?t.random.arrayElement(t.definitions.address.direction.slice(4,8)):t.random.arrayElement(t.definitions.address.direction_abbr.slice(4,8))},this.ordinalDirection.schema={description:"Generates an ordinal direction. Use optional useAbbr boolean to return abbreviation",sampleResults:["Northwest","Southeast","SW","NE"]},this.nearbyGPSCoordinate=function(a,o,s){function c(m){return m*(Math.PI/180)}i(c,"degreesToRadians");function l(m){return m*(180/Math.PI)}i(l,"radiansToDegrees");function u(m){return m*.621371}i(u,"kilometersToMiles");function d(m,g,h,y){var b=6378.137,x=y?h:u(h),w=c(m[0]),C=c(m[1]),j=Math.asin(Math.sin(w)*Math.cos(x/b)+Math.cos(w)*Math.sin(x/b)*Math.cos(g)),_=C+Math.atan2(Math.sin(g)*Math.sin(x/b)*Math.cos(w),Math.cos(x/b)-Math.sin(w)*Math.sin(j));return _>c(180)?_=_-c(360):_<c(-180)&&(_=_+c(360)),[l(j),l(_)]}if(i(d,"coordinateWithOffset"),a===void 0)return[t.address.latitude(),t.address.longitude()];o=o||10,s=s||!1;var f=d(a,c(Math.random()*360),o,s);return[f[0].toFixed(4),f[1].toFixed(4)]},this.timeZone=function(){return t.random.arrayElement(t.definitions.address.time_zone)},this}return i(e,"Address"),sS=e,sS}i(fZe,"requireAddress");var cS={exports:{}},K6;function pZe(){return K6||(K6=1,function(e){var t=i(function(n){var r=n.fake;this.suffixes=function(){return n.definitions.company.suffix.slice(0)},this.companyName=function(a){var o=["{{name.lastName}} {{company.companySuffix}}","{{name.lastName}} - {{name.lastName}}","{{name.lastName}}, {{name.lastName}} and {{name.lastName}}"];return typeof a!="number"&&(a=n.random.number(o.length-1)),r(o[a])},this.companySuffix=function(){return n.random.arrayElement(n.company.suffixes())},this.catchPhrase=function(){return r("{{company.catchPhraseAdjective}} {{company.catchPhraseDescriptor}} {{company.catchPhraseNoun}}")},this.bs=function(){return r("{{company.bsBuzz}} {{company.bsAdjective}} {{company.bsNoun}}")},this.catchPhraseAdjective=function(){return n.random.arrayElement(n.definitions.company.adjective)},this.catchPhraseDescriptor=function(){return n.random.arrayElement(n.definitions.company.descriptor)},this.catchPhraseNoun=function(){return n.random.arrayElement(n.definitions.company.noun)},this.bsAdjective=function(){return n.random.arrayElement(n.definitions.company.bs_adjective)},this.bsBuzz=function(){return n.random.arrayElement(n.definitions.company.bs_verb)},this.bsNoun=function(){return n.random.arrayElement(n.definitions.company.bs_noun)}},"Company");e.exports=t}(cS)),cS.exports}i(pZe,"requireCompany");var lS={exports:{}},uS={exports:{}},J6;function mZe(){return J6||(J6=1,function(e){e.exports={alpha:["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"],pattern10:["01","02","03","04","05","06","07","08","09"],pattern100:["001","002","003","004","005","006","007","008","009"],toDigitString:function(t){return t.replace(/[A-Z]/gi,function(n){return n.toUpperCase().charCodeAt(0)-55})},mod97:function(t){for(var n=0,r=0;r<t.length;r++)n=(n*10+(t[r]|0))%97;return n},formats:[{country:"AL",total:28,bban:[{type:"n",count:8},{type:"c",count:16}],format:"ALkk bbbs sssx cccc cccc cccc cccc"},{country:"AD",total:24,bban:[{type:"n",count:8},{type:"c",count:12}],format:"ADkk bbbb ssss cccc cccc cccc"},{country:"AT",total:20,bban:[{type:"n",count:5},{type:"n",count:11}],format:"ATkk bbbb bccc cccc cccc"},{country:"AZ",total:28,bban:[{type:"c",count:4},{type:"n",count:20}],format:"AZkk bbbb cccc cccc cccc cccc cccc"},{country:"BH",total:22,bban:[{type:"a",count:4},{type:"c",count:14}],format:"BHkk bbbb cccc cccc cccc cc"},{country:"BE",total:16,bban:[{type:"n",count:3},{type:"n",count:9}],format:"BEkk bbbc cccc ccxx"},{country:"BA",total:20,bban:[{type:"n",count:6},{type:"n",count:10}],format:"BAkk bbbs sscc cccc ccxx"},{country:"BR",total:29,bban:[{type:"n",count:13},{type:"n",count:10},{type:"a",count:1},{type:"c",count:1}],format:"BRkk bbbb bbbb ssss sccc cccc ccct n"},{country:"BG",total:22,bban:[{type:"a",count:4},{type:"n",count:6},{type:"c",count:8}],format:"BGkk bbbb ssss ddcc cccc cc"},{country:"CR",total:21,bban:[{type:"n",count:3},{type:"n",count:14}],format:"CRkk bbbc cccc cccc cccc c"},{country:"HR",total:21,bban:[{type:"n",count:7},{type:"n",count:10}],format:"HRkk bbbb bbbc cccc cccc c"},{country:"CY",total:28,bban:[{type:"n",count:8},{type:"c",count:16}],format:"CYkk bbbs ssss cccc cccc cccc cccc"},{country:"CZ",total:24,bban:[{type:"n",count:10},{type:"n",count:10}],format:"CZkk bbbb ssss sscc cccc cccc"},{country:"DK",total:18,bban:[{type:"n",count:4},{type:"n",count:10}],format:"DKkk bbbb cccc cccc cc"},{country:"DO",total:28,bban:[{type:"a",count:4},{type:"n",count:20}],format:"DOkk bbbb cccc cccc cccc cccc cccc"},{country:"TL",total:23,bban:[{type:"n",count:3},{type:"n",count:16}],format:"TLkk bbbc cccc cccc cccc cxx"},{country:"EE",total:20,bban:[{type:"n",count:4},{type:"n",count:12}],format:"EEkk bbss cccc cccc cccx"},{country:"FO",total:18,bban:[{type:"n",count:4},{type:"n",count:10}],format:"FOkk bbbb cccc cccc cx"},{country:"FI",total:18,bban:[{type:"n",count:6},{type:"n",count:8}],format:"FIkk bbbb bbcc cccc cx"},{country:"FR",total:27,bban:[{type:"n",count:10},{type:"c",count:11},{type:"n",count:2}],format:"FRkk bbbb bggg ggcc cccc cccc cxx"},{country:"GE",total:22,bban:[{type:"c",count:2},{type:"n",count:16}],format:"GEkk bbcc cccc cccc cccc cc"},{country:"DE",total:22,bban:[{type:"n",count:8},{type:"n",count:10}],format:"DEkk bbbb bbbb cccc cccc cc"},{country:"GI",total:23,bban:[{type:"a",count:4},{type:"c",count:15}],format:"GIkk bbbb cccc cccc cccc ccc"},{country:"GR",total:27,bban:[{type:"n",count:7},{type:"c",count:16}],format:"GRkk bbbs sssc cccc cccc cccc ccc"},{country:"GL",total:18,bban:[{type:"n",count:4},{type:"n",count:10}],format:"GLkk bbbb cccc cccc cc"},{country:"GT",total:28,bban:[{type:"c",count:4},{type:"c",count:4},{type:"c",count:16}],format:"GTkk bbbb mmtt cccc cccc cccc cccc"},{country:"HU",total:28,bban:[{type:"n",count:8},{type:"n",count:16}],format:"HUkk bbbs sssk cccc cccc cccc cccx"},{country:"IS",total:26,bban:[{type:"n",count:6},{type:"n",count:16}],format:"ISkk bbbb sscc cccc iiii iiii ii"},{country:"IE",total:22,bban:[{type:"c",count:4},{type:"n",count:6},{type:"n",count:8}],format:"IEkk aaaa bbbb bbcc cccc cc"},{country:"IL",total:23,bban:[{type:"n",count:6},{type:"n",count:13}],format:"ILkk bbbn nncc cccc cccc ccc"},{country:"IT",total:27,bban:[{type:"a",count:1},{type:"n",count:10},{type:"c",count:12}],format:"ITkk xaaa aabb bbbc cccc cccc ccc"},{country:"JO",total:30,bban:[{type:"a",count:4},{type:"n",count:4},{type:"n",count:18}],format:"JOkk bbbb nnnn cccc cccc cccc cccc cc"},{country:"KZ",total:20,bban:[{type:"n",count:3},{type:"c",count:13}],format:"KZkk bbbc cccc cccc cccc"},{country:"XK",total:20,bban:[{type:"n",count:4},{type:"n",count:12}],format:"XKkk bbbb cccc cccc cccc"},{country:"KW",total:30,bban:[{type:"a",count:4},{type:"c",count:22}],format:"KWkk bbbb cccc cccc cccc cccc cccc cc"},{country:"LV",total:21,bban:[{type:"a",count:4},{type:"c",count:13}],format:"LVkk bbbb cccc cccc cccc c"},{country:"LB",total:28,bban:[{type:"n",count:4},{type:"c",count:20}],format:"LBkk bbbb cccc cccc cccc cccc cccc"},{country:"LI",total:21,bban:[{type:"n",count:5},{type:"c",count:12}],format:"LIkk bbbb bccc cccc cccc c"},{country:"LT",total:20,bban:[{type:"n",count:5},{type:"n",count:11}],format:"LTkk bbbb bccc cccc cccc"},{country:"LU",total:20,bban:[{type:"n",count:3},{type:"c",count:13}],format:"LUkk bbbc cccc cccc cccc"},{country:"MK",total:19,bban:[{type:"n",count:3},{type:"c",count:10},{type:"n",count:2}],format:"MKkk bbbc cccc cccc cxx"},{country:"MT",total:31,bban:[{type:"a",count:4},{type:"n",count:5},{type:"c",count:18}],format:"MTkk bbbb ssss sccc cccc cccc cccc ccc"},{country:"MR",total:27,bban:[{type:"n",count:10},{type:"n",count:13}],format:"MRkk bbbb bsss sscc cccc cccc cxx"},{country:"MU",total:30,bban:[{type:"a",count:4},{type:"n",count:4},{type:"n",count:15},{type:"a",count:3}],format:"MUkk bbbb bbss cccc cccc cccc 000d dd"},{country:"MC",total:27,bban:[{type:"n",count:10},{type:"c",count:11},{type:"n",count:2}],format:"MCkk bbbb bsss sscc cccc cccc cxx"},{country:"MD",total:24,bban:[{type:"c",count:2},{type:"c",count:18}],format:"MDkk bbcc cccc cccc cccc cccc"},{country:"ME",total:22,bban:[{type:"n",count:3},{type:"n",count:15}],format:"MEkk bbbc cccc cccc cccc xx"},{country:"NL",total:18,bban:[{type:"a",count:4},{type:"n",count:10}],format:"NLkk bbbb cccc cccc cc"},{country:"NO",total:15,bban:[{type:"n",count:4},{type:"n",count:7}],format:"NOkk bbbb cccc ccx"},{country:"PK",total:24,bban:[{type:"c",count:4},{type:"n",count:16}],format:"PKkk bbbb cccc cccc cccc cccc"},{country:"PS",total:29,bban:[{type:"c",count:4},{type:"n",count:9},{type:"n",count:12}],format:"PSkk bbbb xxxx xxxx xccc cccc cccc c"},{country:"PL",total:28,bban:[{type:"n",count:8},{type:"n",count:16}],format:"PLkk bbbs sssx cccc cccc cccc cccc"},{country:"PT",total:25,bban:[{type:"n",count:8},{type:"n",count:13}],format:"PTkk bbbb ssss cccc cccc cccx x"},{country:"QA",total:29,bban:[{type:"a",count:4},{type:"c",count:21}],format:"QAkk bbbb cccc cccc cccc cccc cccc c"},{country:"RO",total:24,bban:[{type:"a",count:4},{type:"c",count:16}],format:"ROkk bbbb cccc cccc cccc cccc"},{country:"SM",total:27,bban:[{type:"a",count:1},{type:"n",count:10},{type:"c",count:12}],format:"SMkk xaaa aabb bbbc cccc cccc ccc"},{country:"SA",total:24,bban:[{type:"n",count:2},{type:"c",count:18}],format:"SAkk bbcc cccc cccc cccc cccc"},{country:"RS",total:22,bban:[{type:"n",count:3},{type:"n",count:15}],format:"RSkk bbbc cccc cccc cccc xx"},{country:"SK",total:24,bban:[{type:"n",count:10},{type:"n",count:10}],format:"SKkk bbbb ssss sscc cccc cccc"},{country:"SI",total:19,bban:[{type:"n",count:5},{type:"n",count:10}],format:"SIkk bbss sccc cccc cxx"},{country:"ES",total:24,bban:[{type:"n",count:10},{type:"n",count:10}],format:"ESkk bbbb gggg xxcc cccc cccc"},{country:"SE",total:24,bban:[{type:"n",count:3},{type:"n",count:17}],format:"SEkk bbbc cccc cccc cccc cccc"},{country:"CH",total:21,bban:[{type:"n",count:5},{type:"c",count:12}],format:"CHkk bbbb bccc cccc cccc c"},{country:"TN",total:24,bban:[{type:"n",count:5},{type:"n",count:15}],format:"TNkk bbss sccc cccc cccc cccc"},{country:"TR",total:26,bban:[{type:"n",count:5},{type:"c",count:1},{type:"c",count:16}],format:"TRkk bbbb bxcc cccc cccc cccc cc"},{country:"AE",total:23,bban:[{type:"n",count:3},{type:"n",count:16}],format:"AEkk bbbc cccc cccc cccc ccc"},{country:"GB",total:22,bban:[{type:"a",count:4},{type:"n",count:6},{type:"n",count:8}],format:"GBkk bbbb ssss sscc cccc cc"},{country:"VG",total:24,bban:[{type:"c",count:4},{type:"n",count:16}],format:"VGkk bbbb cccc cccc cccc cccc"}],iso3166:["AC","AD","AE","AF","AG","AI","AL","AM","AN","AO","AQ","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BU","BV","BW","BY","BZ","CA","CC","CD","CE","CF","CG","CH","CI","CK","CL","CM","CN","CO","CP","CR","CS","CS","CU","CV","CW","CX","CY","CZ","DD","DE","DG","DJ","DK","DM","DO","DZ","EA","EC","EE","EG","EH","ER","ES","ET","EU","FI","FJ","FK","FM","FO","FR","FX","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GU","GW","GY","HK","HM","HN","HR","HT","HU","IC","ID","IE","IL","IM","IN","IO","IQ","IR","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KP","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NT","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PR","PS","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SU","SV","SX","SY","SZ","TA","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","UM","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","YE","YT","YU","ZA","ZM","ZR","ZW"]}}(uS)),uS.exports}i(mZe,"requireIban");var Y6;function hZe(){return Y6||(Y6=1,function(e){var t=i(function(n){var r=mZe(),a=n.helpers,o=this;o.account=function(s){s=s||8;for(var c="",l=0;l<s;l++)c=c+"#";return s=null,a.replaceSymbolWithNumber(c)},o.accountName=function(){return[a.randomize(n.definitions.finance.account_type),"Account"].join(" ")},o.routingNumber=function(){for(var s=a.replaceSymbolWithNumber("########"),c=0,l=0;l<s.length;l+=3)c+=Number(s[l])*3,c+=Number(s[l+1])*7,c+=Number(s[l+2])||0;return s+(Math.ceil(c/10)*10-c)},o.mask=function(s,c,l){s=s==0||!s||typeof s>"u"?4:s,c=c===null?!0:c,l=l===null?!0:l;for(var u="",d=0;d<s;d++)u=u+"#";return u=l?["...",u].join(""):u,u=c?["(",u,")"].join(""):u,u=a.replaceSymbolWithNumber(u),u},o.amount=function(s,c,l,u){s=s||0,c=c||1e3,l=l===void 0?2:l,u=u||"";var d=n.random.number({max:c,min:s,precision:Math.pow(10,-l)});return u+d.toFixed(l),u+d.toFixed(l)},o.transactionType=function(){return a.randomize(n.definitions.finance.transaction_type)},o.currencyCode=function(){return n.random.objectElement(n.definitions.finance.currency).code},o.currencyName=function(){return n.random.objectElement(n.definitions.finance.currency,"key")},o.currencySymbol=function(){for(var s;!s;)s=n.random.objectElement(n.definitions.finance.currency).symbol;return s},o.bitcoinAddress=function(){for(var s=n.random.number({min:25,max:34}),c=n.random.arrayElement(["1","3"]),l=0;l<s-1;l++)c+=n.random.arrayElement("123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ".split(""));return c},o.litecoinAddress=function(){for(var s=n.random.number({min:26,max:33}),c=n.random.arrayElement(["L","M","3"]),l=0;l<s-1;l++)c+=n.random.arrayElement("123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ".split(""));return c},o.creditCardNumber=function(s){s=s||"";var c,l,u=n.definitions.finance.credit_card;return s in u?(l=u[s],typeof l=="string"?c=l:c=n.random.arrayElement(l)):s.match(/#/)?c=s:typeof u=="string"?c=u:typeof u=="object"&&(l=n.random.objectElement(u,"value"),typeof l=="string"?c=l:c=n.random.arrayElement(l)),c=c.replace(/\//g,""),a.replaceCreditCardSymbols(c)},o.creditCardCVV=function(){for(var s="",c=0;c<3;c++)s+=n.random.number({max:9}).toString();return s},o.ethereumAddress=function(){var s=n.random.hexaDecimal(40).toLowerCase();return s},o.iban=function(s,c){var l;if(c){var u=i(function(x){return x.country===c},"findFormat");l=r.formats.find(u)}else l=n.random.arrayElement(r.formats);if(!l)throw new Error("Country code "+c+" not supported.");for(var d="",f=0,m=0;m<l.bban.length;m++){var g=l.bban[m],h=g.count;for(f+=g.count;h>0;)g.type=="a"?d+=n.random.arrayElement(r.alpha):g.type=="c"?n.random.number(100)<80?d+=n.random.number(9):d+=n.random.arrayElement(r.alpha):h>=3&&n.random.number(100)<30?n.random.boolean()?(d+=n.random.arrayElement(r.pattern100),h-=2):(d+=n.random.arrayElement(r.pattern10),h--):d+=n.random.number(9),h--;d=d.substring(0,f)}var y=98-r.mod97(r.toDigitString(d+l.country+"00"));y<10&&(y="0"+y);var b=l.country+y+d;return s?b.match(/.{1,4}/g).join(" "):b},o.bic=function(){var s=["A","E","I","O","U"],c=n.random.number(100);return a.replaceSymbols("???")+n.random.arrayElement(s)+n.random.arrayElement(r.iso3166)+a.replaceSymbols("?")+"1"+(c<10?a.replaceSymbols("?"+n.random.arrayElement(s)+"?"):c<40?a.replaceSymbols("###"):"")},o.transactionDescription=function(){var s=a.createTransaction().account,c=n.finance.mask(),l=n.finance.currencyCode(),u=a.createTransaction().amount,d=a.createTransaction().type,f=a.createTransaction().business;return d+" transaction at "+f+" using card ending with ***"+c+" for "+l+" "+u+" in account ***"+s}},"Finance");e.exports=t}(lS)),lS.exports}i(hZe,"requireFinance");var dS={exports:{}},fS={exports:{}},Q6;function gZe(){return Q6||(Q6=1,function(e){var t=i(function(n){var r=this;r.image=function(a,o,s){var c=["abstract","animals","business","cats","city","food","nightlife","fashion","people","nature","sports","technics","transport"];return r[n.random.arrayElement(c)](a,o,s)},r.avatar=function(){return n.internet.avatar()},r.imageUrl=function(l,u,s,c){var l=l||640,u=u||480,d="https://lorempixel.com/"+l+"/"+u;return typeof s<"u"&&(d+="/"+s),c&&(d+="?"+n.random.number()),d},r.abstract=function(a,o,s){return n.image.lorempixel.imageUrl(a,o,"abstract",s)},r.animals=function(a,o,s){return n.image.lorempixel.imageUrl(a,o,"animals",s)},r.business=function(a,o,s){return n.image.lorempixel.imageUrl(a,o,"business",s)},r.cats=function(a,o,s){return n.image.lorempixel.imageUrl(a,o,"cats",s)},r.city=function(a,o,s){return n.image.lorempixel.imageUrl(a,o,"city",s)},r.food=function(a,o,s){return n.image.lorempixel.imageUrl(a,o,"food",s)},r.nightlife=function(a,o,s){return n.image.lorempixel.imageUrl(a,o,"nightlife",s)},r.fashion=function(a,o,s){return n.image.lorempixel.imageUrl(a,o,"fashion",s)},r.people=function(a,o,s){return n.image.lorempixel.imageUrl(a,o,"people",s)},r.nature=function(a,o,s){return n.image.lorempixel.imageUrl(a,o,"nature",s)},r.sports=function(a,o,s){return n.image.lorempixel.imageUrl(a,o,"sports",s)},r.technics=function(a,o,s){return n.image.lorempixel.imageUrl(a,o,"technics",s)},r.transport=function(a,o,s){return n.image.lorempixel.imageUrl(a,o,"transport",s)}},"Lorempixel");e.exports=t}(fS)),fS.exports}i(gZe,"requireLorempixel");var pS={exports:{}},X6;function vZe(){return X6||(X6=1,function(e){var t=i(function(n){var r=this;r.image=function(a,o,s){return r.imageUrl(a,o,void 0,s)},r.avatar=function(){return n.internet.avatar()},r.imageUrl=function(l,u,s,c){var l=l||640,u=u||480,d="https://source.unsplash.com";if(typeof s<"u"&&(d+="/category/"+s),d+="/"+l+"x"+u,typeof c<"u"){var f=new RegExp("^([A-Za-z0-9].+,[A-Za-z0-9]+)$|^([A-Za-z0-9]+)$");f.test(c)&&(d+="?"+c)}return d},r.food=function(a,o,s){return n.image.unsplash.imageUrl(a,o,"food",s)},r.people=function(a,o,s){return n.image.unsplash.imageUrl(a,o,"people",s)},r.nature=function(a,o,s){return n.image.unsplash.imageUrl(a,o,"nature",s)},r.technology=function(a,o,s){return n.image.unsplash.imageUrl(a,o,"technology",s)},r.objects=function(a,o,s){return n.image.unsplash.imageUrl(a,o,"objects",s)},r.buildings=function(a,o,s){return n.image.unsplash.imageUrl(a,o,"buildings",s)}},"Unsplash");e.exports=t}(pS)),pS.exports}i(vZe,"requireUnsplash");var mS={exports:{}},Z6;function yZe(){return Z6||(Z6=1,function(e){var t=i(function(n){var r=this;r.image=function(a,o,s,c){return r.imageUrl(a,o,s,c)},r.imageGrayscale=function(a,o,s){return r.imageUrl(a,o,s)},r.imageBlurred=function(a,o,s){return r.imageUrl(a,o,void 0,s)},r.imageRandomSeeded=function(a,o,s,c,l){return r.imageUrl(a,o,s,c,l)},r.avatar=function(){return n.internet.avatar()},r.imageUrl=function(u,d,s,c,l){var u=u||640,d=d||480,f="https://picsum.photos";return l&&(f+="/seed/"+l),f+="/"+u+"/"+d,s&&c?f+"?grayscale&blur="+c:s?f+"?grayscale":c?f+"?blur="+c:f}},"LoremPicsum");e.exports=t}(mS)),mS.exports}i(yZe,"requireLorempicsum");var eL;function bZe(){return eL||(eL=1,function(e){var t=i(function(n){var r=this,a=gZe(),o=vZe(),s=yZe();r.image=function(c,l,u){var d=["abstract","animals","business","cats","city","food","nightlife","fashion","people","nature","sports","technics","transport"];return r[n.random.arrayElement(d)](c,l,u)},r.avatar=function(){return n.internet.avatar()},r.imageUrl=function(m,g,u,d,f){var m=m||640,g=g||480,h="http://";typeof f<"u"&&f===!0&&(h="https://");var y=h+"placeimg.com/"+m+"/"+g;return typeof u<"u"&&(y+="/"+u),d&&(y+="?"+n.random.number()),y},r.abstract=function(c,l,u){return n.image.imageUrl(c,l,"abstract",u)},r.animals=function(c,l,u){return n.image.imageUrl(c,l,"animals",u)},r.business=function(c,l,u){return n.image.imageUrl(c,l,"business",u)},r.cats=function(c,l,u){return n.image.imageUrl(c,l,"cats",u)},r.city=function(c,l,u){return n.image.imageUrl(c,l,"city",u)},r.food=function(c,l,u){return n.image.imageUrl(c,l,"food",u)},r.nightlife=function(c,l,u){return n.image.imageUrl(c,l,"nightlife",u)},r.fashion=function(c,l,u){return n.image.imageUrl(c,l,"fashion",u)},r.people=function(c,l,u){return n.image.imageUrl(c,l,"people",u)},r.nature=function(c,l,u){return n.image.imageUrl(c,l,"nature",u)},r.sports=function(c,l,u){return n.image.imageUrl(c,l,"sports",u)},r.technics=function(c,l,u){return n.image.imageUrl(c,l,"technics",u)},r.transport=function(c,l,u){return n.image.imageUrl(c,l,"transport",u)},r.dataUri=function(c,l,u){u=u||"grey";var d='<svg xmlns="http://www.w3.org/2000/svg" version="1.1" baseProfile="full" width="'+c+'" height="'+l+'"><rect width="100%" height="100%" fill="'+u+'"/><text x="'+c/2+'" y="'+l/2+'" font-size="20" alignment-baseline="middle" text-anchor="middle" fill="white">'+c+"x"+l+"</text></svg>",f="data:image/svg+xml;charset=UTF-8,";return f+encodeURIComponent(d)},r.lorempixel=new a(n),r.unsplash=new o(n),r.lorempicsum=new s(n)},"Image");e.exports=t}(dS)),dS.exports}i(bZe,"requireImage");var hS={exports:{}},tL;function xZe(){return tL||(tL=1,function(e){var t=i(function(n){var r=this,a=n.helpers;return r.word=function(o){var s=i(function(l){return l.length===o},"hasRightLength"),c;return typeof o>"u"?c=n.definitions.lorem.words:c=n.definitions.lorem.words.filter(s),n.random.arrayElement(c)},r.words=function(o){typeof o>"u"&&(o=3);for(var s=[],c=0;c<o;c++)s.push(n.lorem.word());return s.join(" ")},r.sentence=function(o,s){typeof o>"u"&&(o=n.random.number({min:3,max:10}));var c=n.lorem.words(o);return c.charAt(0).toUpperCase()+c.slice(1)+"."},r.slug=function(o){var s=n.lorem.words(o);return a.slugify(s)},r.sentences=function(o,s){typeof o>"u"&&(o=n.random.number({min:2,max:6})),typeof s>"u"&&(s=" ");var c=[];for(o;o>0;o--)c.push(n.lorem.sentence());return c.join(s)},r.paragraph=function(o){return typeof o>"u"&&(o=3),n.lorem.sentences(o+n.random.number(3))},r.paragraphs=function(o,s){typeof s>"u"&&(s=` - \r`),typeof o>"u"&&(o=3);var c=[];for(o;o>0;o--)c.push(n.lorem.paragraph());return c.join(s)},r.text=i(function(s){var c=["lorem.word","lorem.words","lorem.sentence","lorem.sentences","lorem.paragraph","lorem.paragraphs","lorem.lines"],l=n.random.arrayElement(c);return n.fake("{{"+l+"}}")},"loremText"),r.lines=i(function(s){return typeof s>"u"&&(s=n.random.number({min:1,max:5})),n.lorem.sentences(s,` -`)},"lines"),r},"Lorem");e.exports=t}(hS)),hS.exports}i(xZe,"requireLorem");var gS={exports:{}},nL;function wZe(){return nL||(nL=1,function(e){var t=i(function(n){var r=this;return r.abbreviation=function(){return n.random.arrayElement(n.definitions.hacker.abbreviation)},r.adjective=function(){return n.random.arrayElement(n.definitions.hacker.adjective)},r.noun=function(){return n.random.arrayElement(n.definitions.hacker.noun)},r.verb=function(){return n.random.arrayElement(n.definitions.hacker.verb)},r.ingverb=function(){return n.random.arrayElement(n.definitions.hacker.ingverb)},r.phrase=function(){var a={abbreviation:r.abbreviation,adjective:r.adjective,ingverb:r.ingverb,noun:r.noun,verb:r.verb},o=n.random.arrayElement(n.definitions.hacker.phrase);return n.helpers.mustache(o,a)},r},"Hacker");e.exports=t}(gS)),gS.exports}i(wZe,"requireHacker");var vS={exports:{}},yS={},rL;function CZe(){return rL||(rL=1,yS.generate=i(function(t){function n(d,f){if(d=d||0,f=f||100,typeof f=="number"&&typeof d=="number")return t.random.number({min:d,max:f});if(Object.prototype.toString.call(d)==="[object Array]")return t.random.arrayElement(d);if(d&&typeof d=="object")return function(m){var g=n(0,100)/100,h=0,y=0,b,x;for(b in m)if(m.hasOwnProperty(b)){if(y=m[b]+h,x=b,g>=h&&g<=y)break;h=h+m[b]}return x}(d);throw new TypeError("Invalid arguments passed to rnd. ("+(f?d+", "+f:d)+")")}i(n,"rnd");function r(){return n(["AB","AF","AN","AR","AS","AZ","BE","BG","BN","BO","BR","BS","CA","CE","CO","CS","CU","CY","DA","DE","EL","EN","EO","ES","ET","EU","FA","FI","FJ","FO","FR","FY","GA","GD","GL","GV","HE","HI","HR","HT","HU","HY","ID","IS","IT","JA","JV","KA","KG","KO","KU","KW","KY","LA","LB","LI","LN","LT","LV","MG","MK","MN","MO","MS","MT","MY","NB","NE","NL","NN","NO","OC","PL","PT","RM","RO","RU","SC","SE","SK","SL","SO","SQ","SR","SV","SW","TK","TR","TY","UK","UR","UZ","VI","VO","YI","ZH"])}i(r,"randomLang");function a(){var d=n({chrome:.45132810566,iexplorer:.27477061836,firefox:.19384170608,safari:.06186781118,opera:.01574236955}),f={chrome:{win:.89,mac:.09,lin:.02},firefox:{win:.83,mac:.16,lin:.01},opera:{win:.91,mac:.03,lin:.06},safari:{win:.04,mac:.96},iexplorer:["win"]};return[d,n(f[d])]}i(a,"randomBrowserAndOS");function o(d){var f={lin:["i686","x86_64"],mac:{Intel:.48,PPC:.01,"U; Intel":.48,"U; PPC":.01},win:["","WOW64","Win64; x64"]};return n(f[d])}i(o,"randomProc");function s(d){for(var f="",m=0;m<d;m++)f+="."+n(0,9);return f}i(s,"randomRevision");var c={net:function(){return[n(1,4),n(0,9),n(1e4,99999),n(0,9)].join(".")},nt:function(){return n(5,6)+"."+n(0,3)},ie:function(){return n(7,11)},trident:function(){return n(3,7)+"."+n(0,1)},osx:function(d){return[10,n(5,10),n(0,9)].join(d||".")},chrome:function(){return[n(13,39),0,n(800,899),0].join(".")},presto:function(){return"2.9."+n(160,190)},presto2:function(){return n(10,12)+".00"},safari:function(){return n(531,538)+"."+n(0,2)+"."+n(0,2)}},l={firefox:i(function(f){var m=n(5,15)+s(2),g="Gecko/20100101 Firefox/"+m,h=o(f),y=f==="win"?"(Windows NT "+c.nt()+(h?"; "+h:""):f==="mac"?"(Macintosh; "+h+" Mac OS X "+c.osx():"(X11; Linux "+h;return"Mozilla/5.0 "+y+"; rv:"+m.slice(0,-2)+") "+g},"firefox"),iexplorer:i(function(){var f=c.ie();return f>=11?"Mozilla/5.0 (Windows NT 6."+n(1,3)+"; Trident/7.0; "+n(["Touch; ",""])+"rv:11.0) like Gecko":"Mozilla/5.0 (compatible; MSIE "+f+".0; Windows NT "+c.nt()+"; Trident/"+c.trident()+(n(0,1)===1?"; .NET CLR "+c.net():"")+")"},"iexplorer"),opera:i(function(f){var m=" Presto/"+c.presto()+" Version/"+c.presto2()+")",g=f==="win"?"(Windows NT "+c.nt()+"; U; "+r()+m:f==="lin"?"(X11; Linux "+o(f)+"; U; "+r()+m:"(Macintosh; Intel Mac OS X "+c.osx()+" U; "+r()+" Presto/"+c.presto()+" Version/"+c.presto2()+")";return"Opera/"+n(9,14)+"."+n(0,99)+" "+g},"opera"),safari:i(function(f){var m=c.safari(),g=n(4,7)+"."+n(0,1)+"."+n(0,10),h=f==="mac"?"(Macintosh; "+o("mac")+" Mac OS X "+c.osx("_")+" rv:"+n(2,6)+".0; "+r()+") ":"(Windows; U; Windows NT "+c.nt()+")";return"Mozilla/5.0 "+h+"AppleWebKit/"+m+" (KHTML, like Gecko) Version/"+g+" Safari/"+m},"safari"),chrome:i(function(f){var m=c.safari(),g=f==="mac"?"(Macintosh; "+o("mac")+" Mac OS X "+c.osx("_")+") ":f==="win"?"(Windows; U; Windows NT "+c.nt()+")":"(X11; Linux "+o(f);return"Mozilla/5.0 "+g+" AppleWebKit/"+m+" (KHTML, like Gecko) Chrome/"+c.chrome()+" Safari/"+m},"chrome")},u=a();return l[u[0]](u[1])},"generate")),yS}i(CZe,"requireUserAgent");var aL;function SZe(){return aL||(aL=1,function(e){var t=CZe(),n=i(function(r){var a=this;a.avatar=function(){return r.random.arrayElement(r.definitions.internet.avatar_uri)},a.avatar.schema={description:"Generates a URL for an avatar.",sampleResults:["https://s3.amazonaws.com/uifaces/faces/twitter/igorgarybaldi/128.jpg"]},a.email=function(o,s,c){return c=c||r.random.arrayElement(r.definitions.internet.free_email),r.helpers.slugify(r.internet.userName(o,s))+"@"+c},a.email.schema={description:"Generates a valid email address based on optional input criteria",sampleResults:["foo.bar@gmail.com"],properties:{firstName:{type:"string",required:!1,description:"The first name of the user"},lastName:{type:"string",required:!1,description:"The last name of the user"},provider:{type:"string",required:!1,description:"The domain of the user"}}},a.exampleEmail=function(o,s){var c=r.random.arrayElement(r.definitions.internet.example_email);return a.email(o,s,c)},a.userName=function(o,s){var c;switch(o=o||r.name.firstName(),s=s||r.name.lastName(),r.random.number(2)){case 0:c=o+r.random.number(99);break;case 1:c=o+r.random.arrayElement([".","_"])+s;break;case 2:c=o+r.random.arrayElement([".","_"])+s+r.random.number(99);break}return c=c.toString().replace(/'/g,""),c=c.replace(/ /g,""),c},a.userName.schema={description:"Generates a username based on one of several patterns. The pattern is chosen randomly.",sampleResults:["Kirstin39","Kirstin.Smith","Kirstin.Smith39","KirstinSmith","KirstinSmith39"],properties:{firstName:{type:"string",required:!1,description:"The first name of the user"},lastName:{type:"string",required:!1,description:"The last name of the user"}}},a.protocol=function(){var o=["http","https"];return r.random.arrayElement(o)},a.protocol.schema={description:"Randomly generates http or https",sampleResults:["https","http"]},a.httpMethod=function(){var o=["GET","POST","PUT","DELETE","PATCH"];return r.random.arrayElement(o)},a.httpMethod.schema={description:"Randomly generates HTTP Methods (GET, POST, PUT, DELETE, PATCH)",sampleResults:["GET","POST","PUT","DELETE","PATCH"]},a.url=function(){return r.internet.protocol()+"://"+r.internet.domainName()},a.url.schema={description:"Generates a random URL. The URL could be secure or insecure.",sampleResults:["http://rashawn.name","https://rashawn.name"]},a.domainName=function(){return r.internet.domainWord()+"."+r.internet.domainSuffix()},a.domainName.schema={description:"Generates a random domain name.",sampleResults:["marvin.org"]},a.domainSuffix=function(){return r.random.arrayElement(r.definitions.internet.domain_suffix)},a.domainSuffix.schema={description:"Generates a random domain suffix.",sampleResults:["net"]},a.domainWord=function(){return r.name.firstName().replace(/([\\~#&*{}/:<>?|\"'])/ig,"").toLowerCase()},a.domainWord.schema={description:"Generates a random domain word.",sampleResults:["alyce"]},a.ip=function(){for(var o=i(function(){return r.random.number(255).toFixed(0)},"randNum"),s=[],c=0;c<4;c++)s[c]=o();return s.join(".")},a.ip.schema={description:"Generates a random IP.",sampleResults:["97.238.241.11"]},a.ipv6=function(){for(var o=i(function(){for(var l="",u=0;u<4;u++)l+=r.random.arrayElement(["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"]);return l},"randHash"),s=[],c=0;c<8;c++)s[c]=o();return s.join(":")},a.ipv6.schema={description:"Generates a random IPv6 address.",sampleResults:["2001:0db8:6276:b1a7:5213:22f1:25df:c8a0"]},a.port=function(){return r.random.number({min:0,max:65535})},a.port.schema={description:"Generates a random port number.",sampleResults:["4422"]},a.userAgent=function(){return t.generate(r)},a.userAgent.schema={description:"Generates a random user agent.",sampleResults:["Mozilla/5.0 (Macintosh; U; PPC Mac OS X 10_7_5 rv:6.0; SL) AppleWebKit/532.0.1 (KHTML, like Gecko) Version/7.1.6 Safari/532.0.1"]},a.color=function(o,s,c){o=o||0,s=s||0,c=c||0;var l=Math.floor((r.random.number(256)+o)/2),u=Math.floor((r.random.number(256)+s)/2),d=Math.floor((r.random.number(256)+c)/2),f=l.toString(16),m=u.toString(16),g=d.toString(16);return"#"+(f.length===1?"0":"")+f+(m.length===1?"0":"")+m+(g.length===1?"0":"")+g},a.color.schema={description:"Generates a random hexadecimal color.",sampleResults:["#06267f"],properties:{baseRed255:{type:"number",required:!1,description:"The red value. Valid values are 0 - 255."},baseGreen255:{type:"number",required:!1,description:"The green value. Valid values are 0 - 255."},baseBlue255:{type:"number",required:!1,description:"The blue value. Valid values are 0 - 255."}}},a.mac=function(o){var s,c="",l=":";for(["-",""].indexOf(o)!==-1&&(l=o),s=0;s<12;s++)c+=r.random.number(15).toString(16),s%2==1&&s!=11&&(c+=l);return c},a.mac.schema={description:"Generates a random mac address.",sampleResults:["78:06:cc:ae:b3:81"]},a.password=function(o,s,c,l){o=o||15,typeof s>"u"&&(s=!1);var u,d;d=/[aeiouAEIOU]$/,u=/[bcdfghjklmnpqrstvwxyzBCDFGHJKLMNPQRSTVWXYZ]$/;var f=i(function(m,g,h,y){var b,x;return m==null&&(m=10),g==null&&(g=!0),h==null&&(h=/\w/),y==null&&(y=""),y.length>=m?y:(g&&(y.match(u)?h=d:h=u),x=r.random.number(94)+33,b=String.fromCharCode(x),g&&(b=b.toLowerCase()),b.match(h)?f(m,g,h,""+y+b):f(m,g,h,y))},"_password");return f(o,s,c,l)},a.password.schema={description:"Generates a random password.",sampleResults:["AM7zl6Mg","susejofe"],properties:{length:{type:"number",required:!1,description:"The number of characters in the password."},memorable:{type:"boolean",required:!1,description:"Whether a password should be easy to remember."},pattern:{type:"regex",required:!1,description:"A regex to match each character of the password against. This parameter will be negated if the memorable setting is turned on."},prefix:{type:"string",required:!1,description:"A value to prepend to the generated password. The prefix counts towards the length of the password."}}}},"Internet");e.exports=n}(vS)),vS.exports}i(SZe,"requireInternet");var bS={exports:{}},oL;function jZe(){return oL||(oL=1,function(e){var t=i(function(n){var r=this;r.column=function(){return n.random.arrayElement(n.definitions.database.column)},r.column.schema={description:"Generates a column name.",sampleResults:["id","title","createdAt"]},r.type=function(){return n.random.arrayElement(n.definitions.database.type)},r.type.schema={description:"Generates a column type.",sampleResults:["byte","int","varchar","timestamp"]},r.collation=function(){return n.random.arrayElement(n.definitions.database.collation)},r.collation.schema={description:"Generates a collation.",sampleResults:["utf8_unicode_ci","utf8_bin"]},r.engine=function(){return n.random.arrayElement(n.definitions.database.engine)},r.engine.schema={description:"Generates a storage engine.",sampleResults:["MyISAM","InnoDB"]}},"Database");e.exports=t}(bS)),bS.exports}i(jZe,"requireDatabase");var xS={exports:{}},iL;function _Ze(){return iL||(iL=1,function(e){var t=i(function(n){var r=this;return r.phoneNumber=function(a){return a=a||n.phone.phoneFormats(),n.helpers.replaceSymbolWithNumber(a)},r.phoneNumberFormat=function(a){return a=a||0,n.helpers.replaceSymbolWithNumber(n.definitions.phone_number.formats[a])},r.phoneFormats=function(){return n.random.arrayElement(n.definitions.phone_number.formats)},r},"Phone");e.exports=t}(xS)),xS.exports}i(_Ze,"requirePhone_number");var wS={exports:{}},sL;function kZe(){return sL||(sL=1,function(e){var t=i(function(n){var r=this;return r.past=function(a,o){var s=new Date;typeof o<"u"&&(s=new Date(Date.parse(o)));var c={min:1e3,max:(a||1)*365*24*3600*1e3},l=s.getTime();return l-=n.random.number(c),s.setTime(l),s},r.future=function(a,o){var s=new Date;typeof o<"u"&&(s=new Date(Date.parse(o)));var c={min:1e3,max:(a||1)*365*24*3600*1e3},l=s.getTime();return l+=n.random.number(c),s.setTime(l),s},r.between=function(a,o){var s=Date.parse(a),c=n.random.number(Date.parse(o)-s),l=new Date(s+c);return l},r.betweens=function(a,o,s){typeof s>"u"&&(s=3);for(var c=[],l=Date.parse(a),u=(Date.parse(o)-l)/(s+1),d=a,f=0;f<s;f++)l=Date.parse(d),d=new Date(l+u),c.push(d);return c},r.recent=function(a,o){var s=new Date;typeof o<"u"&&(s=new Date(Date.parse(o)));var c={min:1e3,max:(a||1)*24*3600*1e3},l=s.getTime();return l-=n.random.number(c),s.setTime(l),s},r.soon=function(a,o){var s=new Date;typeof o<"u"&&(s=new Date(Date.parse(o)));var c={min:1e3,max:(a||1)*24*3600*1e3},l=s.getTime();return l+=n.random.number(c),s.setTime(l),s},r.month=function(a){a=a||{};var o="wide";a.abbr&&(o="abbr"),a.context&&typeof n.definitions.date.month[o+"_context"]<"u"&&(o+="_context");var s=n.definitions.date.month[o];return n.random.arrayElement(s)},r.weekday=function(a){a=a||{};var o="wide";a.abbr&&(o="abbr"),a.context&&typeof n.definitions.date.weekday[o+"_context"]<"u"&&(o+="_context");var s=n.definitions.date.weekday[o];return n.random.arrayElement(s)},r},"_Date");e.exports=t}(wS)),wS.exports}i(kZe,"requireDate");var CS={exports:{}},cL;function $Ze(){return cL||(cL=1,function(e){var t=i(function(n){var r=this;return r.recent=function(a){typeof a>"u"&&(a="unix");var o=new Date;switch(a){case"abbr":o=o.toLocaleTimeString();break;case"wide":o=o.toTimeString();break;case"unix":o=o.getTime();break}return o},r},"_Time");e.exports=t}(CS)),CS.exports}i($Ze,"requireTime");var SS={exports:{}},lL;function EZe(){return lL||(lL=1,function(e){var t=i(function(n){var r=this;return r.color=function(){return n.random.arrayElement(n.definitions.commerce.color)},r.department=function(){return n.random.arrayElement(n.definitions.commerce.department)},r.productName=function(){return n.commerce.productAdjective()+" "+n.commerce.productMaterial()+" "+n.commerce.product()},r.price=function(a,o,s,c){if(a=a||1,o=o||1e3,s=s===void 0?2:s,c=c||"",a<0||o<0)return c+0;var l=n.random.number({max:o,min:a});return c+(Math.round(l*Math.pow(10,s))/Math.pow(10,s)).toFixed(s)},r.productAdjective=function(){return n.random.arrayElement(n.definitions.commerce.product_name.adjective)},r.productMaterial=function(){return n.random.arrayElement(n.definitions.commerce.product_name.material)},r.product=function(){return n.random.arrayElement(n.definitions.commerce.product_name.product)},r.productDescription=function(){return n.random.arrayElement(n.definitions.commerce.product_description)},r},"Commerce");e.exports=t}(SS)),SS.exports}i(EZe,"requireCommerce");var jS={exports:{}},uL;function RZe(){return uL||(uL=1,function(e){function t(n){this.fileName=function(r,a){var o=n.fake("{{random.words}}.{{system.fileExt}}");return o=o.replace(/ /g,"_"),o=o.replace(/\,/g,"_"),o=o.replace(/\-/g,"_"),o=o.replace(/\\/g,"_"),o=o.replace(/\//g,"_"),o=o.toLowerCase(),o},this.commonFileName=function(r,a){var o=n.random.words()+"."+(r||n.system.commonFileExt());return o=o.replace(/ /g,"_"),o=o.replace(/\,/g,"_"),o=o.replace(/\-/g,"_"),o=o.replace(/\\/g,"_"),o=o.replace(/\//g,"_"),o=o.toLowerCase(),o},this.mimeType=function(){return n.random.arrayElement(Object.keys(n.definitions.system.mimeTypes))},this.commonFileType=function(){var r=["video","audio","image","text","application"];return n.random.arrayElement(r)},this.commonFileExt=function(r){var a=["application/pdf","audio/mpeg","audio/wav","image/png","image/jpeg","image/gif","video/mp4","video/mpeg","text/html"];return n.system.fileExt(n.random.arrayElement(a))},this.fileType=function(){var r=[],a=n.definitions.system.mimeTypes;return Object.keys(a).forEach(function(o){var s=o.split("/");r.indexOf(s[0])===-1&&r.push(s[0])}),n.random.arrayElement(r)},this.fileExt=function(r){var a=[],o=n.definitions.system.mimeTypes;return typeof o[r]=="object"?n.random.arrayElement(o[r].extensions):(Object.keys(o).forEach(function(s){o[s].extensions instanceof Array&&o[s].extensions.forEach(function(c){a.push(c)})}),n.random.arrayElement(a))},this.directoryPath=function(){var r=n.definitions.system.directoryPaths;return n.random.arrayElement(r)},this.filePath=function(){return n.fake("{{system.directoryPath}}/{{system.fileName}}")},this.semver=function(){return[n.random.number(9),n.random.number(9),n.random.number(9)].join(".")}}i(t,"System"),e.exports=t}(jS)),jS.exports}i(RZe,"requireSystem");var _S={exports:{}},dL;function AZe(){return dL||(dL=1,function(e){var t=i(function(n){var r=this,a=n.fake,o=["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"];return r.branch=function(){var s=n.hacker.noun().replace(" ","-"),c=n.hacker.verb().replace(" ","-");return s+"-"+c},r.commitEntry=function(s){s=s||{};var c=`commit {{git.commitSha}}\r -`;return(s.merge||n.random.number({min:0,max:4})===0)&&(c+=`Merge: {{git.shortSha}} {{git.shortSha}}\r -`),c+=`Author: {{name.firstName}} {{name.lastName}} <{{internet.email}}>\r -`,c+="Date: "+n.date.recent().toString()+`\r -`,c+=`\r -    {{git.commitMessage}}\r -`,a(c)},r.commitMessage=function(){var s="{{hacker.verb}} {{hacker.adjective}} {{hacker.noun}}";return a(s)},r.commitSha=function(){for(var s="",c=0;c<40;c++)s+=n.random.arrayElement(o);return s},r.shortSha=function(){for(var s="",c=0;c<7;c++)s+=n.random.arrayElement(o);return s},r},"Git");e.exports=t}(_S)),_S.exports}i(AZe,"requireGit");var kS={exports:{}},fL;function PZe(){return fL||(fL=1,function(e){var t=i(function(n){var r=this,a=n.fake;r.vehicle=function(){return a("{{vehicle.manufacturer}} {{vehicle.model}}")},r.vehicle.schema={description:"Generates a random vehicle.",sampleResults:["BMW Explorer","Ford Camry","Lamborghini Ranchero"]},r.manufacturer=function(){return n.random.arrayElement(n.definitions.vehicle.manufacturer)},r.manufacturer.schema={description:"Generates a manufacturer name.",sampleResults:["Ford","Jeep","Tesla"]},r.model=function(){return n.random.arrayElement(n.definitions.vehicle.model)},r.model.schema={description:"Generates a vehicle model.",sampleResults:["Explorer","Camry","Ranchero"]},r.type=function(){return n.random.arrayElement(n.definitions.vehicle.type)},r.type.schema={description:"Generates a vehicle type.",sampleResults:["Coupe","Convertable","Sedan","SUV"]},r.fuel=function(){return n.random.arrayElement(n.definitions.vehicle.fuel)},r.fuel.schema={description:"Generates a fuel type.",sampleResults:["Electric","Gasoline","Diesel"]},r.vin=function(){return(n.random.alphaNumeric(10)+n.random.alpha({count:1,upcase:!0})+n.random.alphaNumeric(1)+n.random.number({min:1e4,max:1e5})).toUpperCase()},r.vin.schema={description:"Generates a valid VIN number.",sampleResults:["YV1MH682762184654","3C7WRMBJ2EG208836"]},r.color=function(){return a("{{commerce.color}}")},r.color.schema={description:"Generates a color",sampleResults:["red","white","black"]},r.vrm=function(){return(n.random.alpha({count:2,upcase:!0})+n.random.number({min:0,max:9})+n.random.number({min:0,max:9})+n.random.alpha({count:3,upcase:!0})).toUpperCase()},r.vrm.schema={description:"Generates a vehicle vrm",sampleResults:["MF56UPA","GL19AAQ","SF20TTA"]}},"Vehicle");e.exports=t}(kS)),kS.exports}i(PZe,"requireVehicle");var $S={exports:{}},pL;function TZe(){return pL||(pL=1,function(e){var t=i(function(n){var r=this;r.genre=function(){return n.random.arrayElement(n.definitions.music.genre)},r.genre.schema={description:"Generates a genre.",sampleResults:["Rock","Metal","Pop"]}},"Music");e.exports=t}($S)),$S.exports}i(TZe,"requireMusic");(function(e){function t(n){var r=this;n=n||{};var a=r.locales||n.locales||{},o=r.locale||n.locale||"en",s=r.localeFallback||n.localeFallback||"en";r.locales=a,r.locale=o,r.localeFallback=s,r.definitions={};var c=iZe();r.fake=new c(r).fake;var l=cZe();r.unique=new l(r).unique;var u=H6();r.random=new u(r);var d=uZe();r.helpers=new d(r);var f=dZe();r.name=new f(r);var m=fZe();r.address=new m(r);var g=pZe();r.company=new g(r);var h=hZe();r.finance=new h(r);var y=bZe();r.image=new y(r);var b=xZe();r.lorem=new b(r);var x=wZe();r.hacker=new x(r);var w=SZe();r.internet=new w(r);var C=jZe();r.database=new C(r);var j=_Ze();r.phone=new j(r);var _=kZe();r.date=new _(r);var S=$Ze();r.time=new S(r);var k=EZe();r.commerce=new k(r);var $=RZe();r.system=new $(r);var E=AZe();r.git=new E(r);var P=PZe();r.vehicle=new P(r);var R=TZe();r.music=new R(r);var T={name:["first_name","last_name","prefix","suffix","gender","title","male_prefix","female_prefix","male_first_name","female_first_name","male_middle_name","female_middle_name","male_last_name","female_last_name"],address:["city_prefix","city_suffix","street_suffix","county","country","country_code","country_code_alpha_3","state","state_abbr","street_prefix","postcode","postcode_by_state","direction","direction_abbr","time_zone"],company:["adjective","noun","descriptor","bs_adjective","bs_noun","bs_verb","suffix"],lorem:["words"],hacker:["abbreviation","adjective","noun","verb","ingverb","phrase"],phone_number:["formats"],finance:["account_type","transaction_type","currency","iban","credit_card"],internet:["avatar_uri","domain_suffix","free_email","example_email","password"],commerce:["color","department","product_name","price","categories","product_description"],database:["collation","column","engine","type"],system:["mimeTypes","directoryPaths"],date:["month","weekday"],vehicle:["vehicle","manufacturer","model","type","fuel","vin","color"],music:["genre"],title:"",separator:""};Object.keys(T).forEach(function(M){if(typeof r.definitions[M]>"u"&&(r.definitions[M]={}),typeof T[M]=="string"){r.definitions[M]=T[M];return}T[M].forEach(function(I){Object.defineProperty(r.definitions[M],I,{get:function(){return typeof r.locales[r.locale][M]>"u"||typeof r.locales[r.locale][M][I]>"u"?r.locales[s][M][I]:r.locales[r.locale][M][I]}})})})}i(t,"Faker"),t.prototype.setLocale=function(n){this.locale=n},t.prototype.seed=function(n){var r=H6();this.seedValue=n,this.random=new r(this,this.seedValue)},e.exports=t})(SJ);var jJ=SJ.exports,_J={exports:{}},kJ={exports:{}},$J={exports:{}};(function(e){e.exports=["com","us","biz","info","name","net","org"]})($J);var MZe=$J.exports;(function(e){var t={};e.exports=t,t.domain_suffix=MZe})(kJ);var OZe=kJ.exports,EJ={exports:{}},RJ={exports:{}};(function(e){e.exports=["United States","United States of America","USA"]})(RJ);var zZe=RJ.exports,AJ={exports:{}};(function(e){e.exports={AK:{min:99501,max:99950},AL:{min:35004,max:36925},AR:{min:71601,max:72959},AZ:{min:85001,max:86556},CA:{min:90001,max:96162},CO:{min:80001,max:81658},CT:{min:6001,max:6389},DC:{min:20001,max:20039},DE:{min:19701,max:19980},FL:{min:32004,max:34997},GA:{min:30001,max:31999},HI:{min:96701,max:96898},IA:{min:50001,max:52809},ID:{min:83201,max:83876},IL:{min:60001,max:62999},IN:{min:46001,max:47997},KS:{min:66002,max:67954},KY:{min:40003,max:42788},LA:{min:70001,max:71232},MA:{min:1001,max:2791},MD:{min:20331,max:20331},ME:{min:3901,max:4992},MI:{min:48001,max:49971},MN:{min:55001,max:56763},MO:{min:63001,max:65899},MS:{min:38601,max:39776},MT:{min:59001,max:59937},NC:{min:27006,max:28909},ND:{min:58001,max:58856},NE:{min:68001,max:68118},NH:{min:3031,max:3897},NJ:{min:7001,max:8989},NM:{min:87001,max:88441},NV:{min:88901,max:89883},NY:{min:6390,max:6390},OH:{min:43001,max:45999},OK:{min:73001,max:73199},OR:{min:97001,max:97920},PA:{min:15001,max:19640},PR:{min:0,max:0},RI:{min:2801,max:2940},SC:{min:29001,max:29948},SD:{min:57001,max:57799},TN:{min:37010,max:38589},TX:{min:73301,max:73301},UT:{min:84001,max:84784},VA:{min:20040,max:20041},VT:{min:5001,max:5495},WA:{min:98001,max:99403},WI:{min:53001,max:54990},WV:{min:24701,max:26886},WY:{min:82001,max:83128}}})(AJ);var IZe=AJ.exports;(function(e){var t={};e.exports=t,t.default_country=zZe,t.postcode_by_state=IZe})(EJ);var LZe=EJ.exports,PJ={exports:{}},TJ={exports:{}};(function(e){e.exports=["201","202","203","205","206","207","208","209","210","212","213","214","215","216","217","218","219","224","225","227","228","229","231","234","239","240","248","251","252","253","254","256","260","262","267","269","270","276","281","283","301","302","303","304","305","307","308","309","310","312","313","314","315","316","317","318","319","320","321","323","330","331","334","336","337","339","347","351","352","360","361","386","401","402","404","405","406","407","408","409","410","412","413","414","415","417","419","423","424","425","434","435","440","443","445","464","469","470","475","478","479","480","484","501","502","503","504","505","507","508","509","510","512","513","515","516","517","518","520","530","540","541","551","557","559","561","562","563","564","567","570","571","573","574","580","585","586","601","602","603","605","606","607","608","609","610","612","614","615","616","617","618","619","620","623","626","630","631","636","641","646","650","651","660","661","662","667","678","682","701","702","703","704","706","707","708","712","713","714","715","716","717","718","719","720","724","727","731","732","734","737","740","754","757","760","763","765","770","772","773","774","775","781","785","786","801","802","803","804","805","806","808","810","812","813","814","815","816","817","818","828","830","831","832","835","843","845","847","848","850","856","857","858","859","860","862","863","864","865","870","872","878","901","903","904","906","907","908","909","910","912","913","914","915","916","917","918","919","920","925","928","931","936","937","940","941","947","949","952","954","956","959","970","971","972","973","975","978","979","980","984","985","989"]})(TJ);var DZe=TJ.exports,MJ={exports:{}};(function(e){e.exports=["201","202","203","205","206","207","208","209","210","212","213","214","215","216","217","218","219","224","225","227","228","229","231","234","239","240","248","251","252","253","254","256","260","262","267","269","270","276","281","283","301","302","303","304","305","307","308","309","310","312","313","314","315","316","317","318","319","320","321","323","330","331","334","336","337","339","347","351","352","360","361","386","401","402","404","405","406","407","408","409","410","412","413","414","415","417","419","423","424","425","434","435","440","443","445","464","469","470","475","478","479","480","484","501","502","503","504","505","507","508","509","510","512","513","515","516","517","518","520","530","540","541","551","557","559","561","562","563","564","567","570","571","573","574","580","585","586","601","602","603","605","606","607","608","609","610","612","614","615","616","617","618","619","620","623","626","630","631","636","641","646","650","651","660","661","662","667","678","682","701","702","703","704","706","707","708","712","713","714","715","716","717","718","719","720","724","727","731","732","734","737","740","754","757","760","763","765","770","772","773","774","775","781","785","786","801","802","803","804","805","806","808","810","812","813","814","815","816","817","818","828","830","831","832","835","843","845","847","848","850","856","857","858","859","860","862","863","864","865","870","872","878","901","903","904","906","907","908","909","910","912","913","914","915","916","917","918","919","920","925","928","931","936","937","940","941","947","949","952","954","956","959","970","971","972","973","975","978","979","980","984","985","989"]})(MJ);var NZe=MJ.exports;(function(e){var t={};e.exports=t,t.area_code=DZe,t.exchange_code=NZe})(PJ);var FZe=PJ.exports;(function(e){var t={};e.exports=t,t.title="English (United States)",t.internet=OZe,t.address=LZe,t.phone_number=FZe})(_J);var BZe=_J.exports,OJ={exports:{}},zJ={exports:{}},IJ={exports:{}};(function(e){e.exports=["North","East","West","South","New","Lake","Port"]})(IJ);var WZe=IJ.exports,LJ={exports:{}};(function(e){e.exports=["town","ton","land","ville","berg","burgh","borough","bury","view","port","mouth","stad","furt","chester","mouth","fort","haven","side","shire"]})(LJ);var UZe=LJ.exports,DJ={exports:{}};(function(e){e.exports=["Avon","Bedfordshire","Berkshire","Borders","Buckinghamshire","Cambridgeshire"]})(DJ);var HZe=DJ.exports,NJ={exports:{}};(function(e){e.exports=["Afghanistan","Albania","Algeria","American Samoa","Andorra","Angola","Anguilla","Antarctica (the territory South of 60 deg S)","Antigua and Barbuda","Argentina","Armenia","Aruba","Australia","Austria","Azerbaijan","Bahamas","Bahrain","Bangladesh","Barbados","Belarus","Belgium","Belize","Benin","Bermuda","Bhutan","Bolivia","Bosnia and Herzegovina","Botswana","Bouvet Island (Bouvetoya)","Brazil","British Indian Ocean Territory (Chagos Archipelago)","Brunei Darussalam","Bulgaria","Burkina Faso","Burundi","Cambodia","Cameroon","Canada","Cape Verde","Cayman Islands","Central African Republic","Chad","Chile","China","Christmas Island","Cocos (Keeling) Islands","Colombia","Comoros","Congo","Cook Islands","Costa Rica","Cote d'Ivoire","Croatia","Cuba","Cyprus","Czech Republic","Denmark","Djibouti","Dominica","Dominican Republic","Ecuador","Egypt","El Salvador","Equatorial Guinea","Eritrea","Estonia","Ethiopia","Faroe Islands","Falkland Islands (Malvinas)","Fiji","Finland","France","French Guiana","French Polynesia","French Southern Territories","Gabon","Gambia","Georgia","Germany","Ghana","Gibraltar","Greece","Greenland","Grenada","Guadeloupe","Guam","Guatemala","Guernsey","Guinea","Guinea-Bissau","Guyana","Haiti","Heard Island and McDonald Islands","Holy See (Vatican City State)","Honduras","Hong Kong","Hungary","Iceland","India","Indonesia","Iran","Iraq","Ireland","Isle of Man","Israel","Italy","Jamaica","Japan","Jersey","Jordan","Kazakhstan","Kenya","Kiribati","Democratic People's Republic of Korea","Republic of Korea","Kuwait","Kyrgyz Republic","Lao People's Democratic Republic","Latvia","Lebanon","Lesotho","Liberia","Libyan Arab Jamahiriya","Liechtenstein","Lithuania","Luxembourg","Macao","Macedonia","Madagascar","Malawi","Malaysia","Maldives","Mali","Malta","Marshall Islands","Martinique","Mauritania","Mauritius","Mayotte","Mexico","Micronesia","Moldova","Monaco","Mongolia","Montenegro","Montserrat","Morocco","Mozambique","Myanmar","Namibia","Nauru","Nepal","Netherlands Antilles","Netherlands","New Caledonia","New Zealand","Nicaragua","Niger","Nigeria","Niue","Norfolk Island","Northern Mariana Islands","Norway","Oman","Pakistan","Palau","Palestinian Territory","Panama","Papua New Guinea","Paraguay","Peru","Philippines","Pitcairn Islands","Poland","Portugal","Puerto Rico","Qatar","Reunion","Romania","Russian Federation","Rwanda","Saint Barthelemy","Saint Helena","Saint Kitts and Nevis","Saint Lucia","Saint Martin","Saint Pierre and Miquelon","Saint Vincent and the Grenadines","Samoa","San Marino","Sao Tome and Principe","Saudi Arabia","Senegal","Serbia","Seychelles","Sierra Leone","Singapore","Slovakia (Slovak Republic)","Slovenia","Solomon Islands","Somalia","South Africa","South Georgia and the South Sandwich Islands","Spain","Sri Lanka","Sudan","Suriname","Svalbard & Jan Mayen Islands","Swaziland","Sweden","Switzerland","Syrian Arab Republic","Taiwan","Tajikistan","Tanzania","Thailand","Timor-Leste","Togo","Tokelau","Tonga","Trinidad and Tobago","Tunisia","Turkey","Turkmenistan","Turks and Caicos Islands","Tuvalu","Uganda","Ukraine","United Arab Emirates","United Kingdom","United States of America","United States Minor Outlying Islands","Uruguay","Uzbekistan","Vanuatu","Venezuela","Vietnam","Virgin Islands, British","Virgin Islands, U.S.","Wallis and Futuna","Western Sahara","Yemen","Zambia","Zimbabwe"]})(NJ);var qZe=NJ.exports,FJ={exports:{}};(function(e){e.exports=["AD","AE","AF","AG","AI","AL","AM","AO","AQ","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BV","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CU","CV","CW","CX","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GU","GW","GY","HK","HM","HN","HR","HT","HU","ID","IE","IL","IM","IN","IO","IQ","IR","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KP","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PR","PS","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","UM","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","YE","YT","ZA","ZM","ZW"]})(FJ);var VZe=FJ.exports,BJ={exports:{}};(function(e){e.exports=["BGD","BEL","BFA","BGR","BIH","BRB","WLF","BLM","BMU","BRN","BOL","BHR","BDI","BEN","BTN","JAM","BVT","BWA","WSM","BES","BRA","BHS","JEY","BLR","BLZ","RUS","RWA","SRB","TLS","REU","TKM","TJK","ROU","TKL","GNB","GUM","GTM","SGS","GRC","GNQ","GLP","JPN","GUY","GGY","GUF","GEO","GRD","GBR","GAB","SLV","GIN","GMB","GRL","GIB","GHA","OMN","TUN","JOR","HRV","HTI","HUN","HKG","HND","HMD","VEN","PRI","PSE","PLW","PRT","SJM","PRY","IRQ","PAN","PYF","PNG","PER","PAK","PHL","PCN","POL","SPM","ZMB","ESH","EST","EGY","ZAF","ECU","ITA","VNM","SLB","ETH","SOM","ZWE","SAU","ESP","ERI","MNE","MDA","MDG","MAF","MAR","MCO","UZB","MMR","MLI","MAC","MNG","MHL","MKD","MUS","MLT","MWI","MDV","MTQ","MNP","MSR","MRT","IMN","UGA","TZA","MYS","MEX","ISR","FRA","IOT","SHN","FIN","FJI","FLK","FSM","FRO","NIC","NLD","NOR","NAM","VUT","NCL","NER","NFK","NGA","NZL","NPL","NRU","NIU","COK","XKX","CIV","CHE","COL","CHN","CMR","CHL","CCK","CAN","COG","CAF","COD","CZE","CYP","CXR","CRI","CUW","CPV","CUB","SWZ","SYR","SXM","KGZ","KEN","SSD","SUR","KIR","KHM","KNA","COM","STP","SVK","KOR","SVN","PRK","KWT","SEN","SMR","SLE","SYC","KAZ","CYM","SGP","SWE","SDN","DOM","DMA","DJI","DNK","VGB","DEU","YEM","DZA","USA","URY","MYT","UMI","LBN","LCA","LAO","TUV","TWN","TTO","TUR","LKA","LIE","LVA","TON","LTU","LUX","LBR","LSO","THA","ATF","TGO","TCD","TCA","LBY","VAT","VCT","ARE","AND","ATG","AFG","AIA","VIR","ISL","IRN","ARM","ALB","AGO","ATA","ASM","ARG","AUS","AUT","ABW","IND","ALA","AZE","IRL","IDN","UKR","QAT","MOZ"]})(BJ);var GZe=BJ.exports,WJ={exports:{}};(function(e){e.exports=["#####","####","###"]})(WJ);var KZe=WJ.exports,UJ={exports:{}};(function(e){e.exports=["Alley","Avenue","Branch","Bridge","Brook","Brooks","Burg","Burgs","Bypass","Camp","Canyon","Cape","Causeway","Center","Centers","Circle","Circles","Cliff","Cliffs","Club","Common","Corner","Corners","Course","Court","Courts","Cove","Coves","Creek","Crescent","Crest","Crossing","Crossroad","Curve","Dale","Dam","Divide","Drive","Drive","Drives","Estate","Estates","Expressway","Extension","Extensions","Fall","Falls","Ferry","Field","Fields","Flat","Flats","Ford","Fords","Forest","Forge","Forges","Fork","Forks","Fort","Freeway","Garden","Gardens","Gateway","Glen","Glens","Green","Greens","Grove","Groves","Harbor","Harbors","Haven","Heights","Highway","Hill","Hills","Hollow","Inlet","Inlet","Island","Island","Islands","Islands","Isle","Isle","Junction","Junctions","Key","Keys","Knoll","Knolls","Lake","Lakes","Land","Landing","Lane","Light","Lights","Loaf","Lock","Locks","Locks","Lodge","Lodge","Loop","Mall","Manor","Manors","Meadow","Meadows","Mews","Mill","Mills","Mission","Mission","Motorway","Mount","Mountain","Mountain","Mountains","Mountains","Neck","Orchard","Oval","Overpass","Park","Parks","Parkway","Parkways","Pass","Passage","Path","Pike","Pine","Pines","Place","Plain","Plains","Plains","Plaza","Plaza","Point","Points","Port","Port","Ports","Ports","Prairie","Prairie","Radial","Ramp","Ranch","Rapid","Rapids","Rest","Ridge","Ridges","River","Road","Road","Roads","Roads","Route","Row","Rue","Run","Shoal","Shoals","Shore","Shores","Skyway","Spring","Springs","Springs","Spur","Spurs","Square","Square","Squares","Squares","Station","Station","Stravenue","Stravenue","Stream","Stream","Street","Street","Streets","Summit","Summit","Terrace","Throughway","Trace","Track","Trafficway","Trail","Trail","Tunnel","Tunnel","Turnpike","Turnpike","Underpass","Union","Unions","Valley","Valleys","Via","Viaduct","View","Views","Village","Village","Villages","Ville","Vista","Vista","Walk","Walks","Wall","Way","Ways","Well","Wells"]})(UJ);var JZe=UJ.exports,HJ={exports:{}};(function(e){e.exports=["Apt. ###","Suite ###"]})(HJ);var YZe=HJ.exports,qJ={exports:{}};(function(e){e.exports=["#####","#####-####"]})(qJ);var QZe=qJ.exports,VJ={exports:{}};(function(e){e.exports=["#####","#####-####"]})(VJ);var XZe=VJ.exports,GJ={exports:{}};(function(e){e.exports=["Alabama","Alaska","Arizona","Arkansas","California","Colorado","Connecticut","Delaware","Florida","Georgia","Hawaii","Idaho","Illinois","Indiana","Iowa","Kansas","Kentucky","Louisiana","Maine","Maryland","Massachusetts","Michigan","Minnesota","Mississippi","Missouri","Montana","Nebraska","Nevada","New Hampshire","New Jersey","New Mexico","New York","North Carolina","North Dakota","Ohio","Oklahoma","Oregon","Pennsylvania","Rhode Island","South Carolina","South Dakota","Tennessee","Texas","Utah","Vermont","Virginia","Washington","West Virginia","Wisconsin","Wyoming"]})(GJ);var ZZe=GJ.exports,KJ={exports:{}};(function(e){e.exports=["AL","AK","AZ","AR","CA","CO","CT","DE","FL","GA","HI","ID","IL","IN","IA","KS","KY","LA","ME","MD","MA","MI","MN","MS","MO","MT","NE","NV","NH","NJ","NM","NY","NC","ND","OH","OK","OR","PA","RI","SC","SD","TN","TX","UT","VT","VA","WA","WV","WI","WY"]})(KJ);var eet=KJ.exports,JJ={exports:{}};(function(e){e.exports=["Pacific/Midway","Pacific/Pago_Pago","Pacific/Honolulu","America/Juneau","America/Los_Angeles","America/Tijuana","America/Denver","America/Phoenix","America/Chihuahua","America/Mazatlan","America/Chicago","America/Regina","America/Mexico_City","America/Mexico_City","America/Monterrey","America/Guatemala","America/New_York","America/Indiana/Indianapolis","America/Bogota","America/Lima","America/Lima","America/Halifax","America/Caracas","America/La_Paz","America/Santiago","America/St_Johns","America/Sao_Paulo","America/Argentina/Buenos_Aires","America/Guyana","America/Godthab","Atlantic/South_Georgia","Atlantic/Azores","Atlantic/Cape_Verde","Europe/Dublin","Europe/London","Europe/Lisbon","Europe/London","Africa/Casablanca","Africa/Monrovia","Etc/UTC","Europe/Belgrade","Europe/Bratislava","Europe/Budapest","Europe/Ljubljana","Europe/Prague","Europe/Sarajevo","Europe/Skopje","Europe/Warsaw","Europe/Zagreb","Europe/Brussels","Europe/Copenhagen","Europe/Madrid","Europe/Paris","Europe/Amsterdam","Europe/Berlin","Europe/Berlin","Europe/Rome","Europe/Stockholm","Europe/Vienna","Africa/Algiers","Europe/Bucharest","Africa/Cairo","Europe/Helsinki","Europe/Kiev","Europe/Riga","Europe/Sofia","Europe/Tallinn","Europe/Vilnius","Europe/Athens","Europe/Istanbul","Europe/Minsk","Asia/Jerusalem","Africa/Harare","Africa/Johannesburg","Europe/Moscow","Europe/Moscow","Europe/Moscow","Asia/Kuwait","Asia/Riyadh","Africa/Nairobi","Asia/Baghdad","Asia/Tehran","Asia/Muscat","Asia/Muscat","Asia/Baku","Asia/Tbilisi","Asia/Yerevan","Asia/Kabul","Asia/Yekaterinburg","Asia/Karachi","Asia/Karachi","Asia/Tashkent","Asia/Kolkata","Asia/Kolkata","Asia/Kolkata","Asia/Kolkata","Asia/Kathmandu","Asia/Dhaka","Asia/Dhaka","Asia/Colombo","Asia/Almaty","Asia/Novosibirsk","Asia/Rangoon","Asia/Bangkok","Asia/Bangkok","Asia/Jakarta","Asia/Krasnoyarsk","Asia/Shanghai","Asia/Chongqing","Asia/Hong_Kong","Asia/Urumqi","Asia/Kuala_Lumpur","Asia/Singapore","Asia/Taipei","Australia/Perth","Asia/Irkutsk","Asia/Ulaanbaatar","Asia/Seoul","Asia/Tokyo","Asia/Tokyo","Asia/Tokyo","Asia/Yakutsk","Australia/Darwin","Australia/Adelaide","Australia/Melbourne","Australia/Melbourne","Australia/Sydney","Australia/Brisbane","Australia/Hobart","Asia/Vladivostok","Pacific/Guam","Pacific/Port_Moresby","Asia/Magadan","Asia/Magadan","Pacific/Noumea","Pacific/Fiji","Asia/Kamchatka","Pacific/Majuro","Pacific/Auckland","Pacific/Auckland","Pacific/Tongatapu","Pacific/Fakaofo","Pacific/Apia"]})(JJ);var tet=JJ.exports,YJ={exports:{}};(function(e){e.exports=["#{city_prefix} #{Name.first_name}#{city_suffix}","#{city_prefix} #{Name.first_name}","#{Name.first_name}#{city_suffix}","#{Name.last_name}#{city_suffix}"]})(YJ);var net=YJ.exports,QJ={exports:{}};(function(e){e.exports=["#{Name.first_name} #{street_suffix}","#{Name.last_name} #{street_suffix}"]})(QJ);var ret=QJ.exports,XJ={exports:{}};(function(e){e.exports=["#{building_number} #{street_name}"]})(XJ);var aet=XJ.exports,ZJ={exports:{}};(function(e){e.exports=["United States of America"]})(ZJ);var oet=ZJ.exports,eY={exports:{}};(function(e){e.exports=["North","East","South","West","Northeast","Northwest","Southeast","Southwest"]})(eY);var iet=eY.exports,tY={exports:{}};(function(e){e.exports=["N","E","S","W","NE","NW","SE","SW"]})(tY);var set=tY.exports;(function(e){var t={};e.exports=t,t.city_prefix=WZe,t.city_suffix=UZe,t.county=HZe,t.country=qZe,t.country_code=VZe,t.country_code_alpha_3=GZe,t.building_number=KZe,t.street_suffix=JZe,t.secondary_address=YZe,t.postcode=QZe,t.postcode_by_state=XZe,t.state=ZZe,t.state_abbr=eet,t.time_zone=tet,t.city=net,t.street_name=ret,t.street_address=aet,t.default_country=oet,t.direction=iet,t.direction_abbr=set})(zJ);var cet=zJ.exports,nY={exports:{}},rY={exports:{}};(function(e){e.exports=["Inc","and Sons","LLC","Group"]})(rY);var uet=rY.exports,aY={exports:{}};(function(e){e.exports=["Adaptive","Advanced","Ameliorated","Assimilated","Automated","Balanced","Business-focused","Centralized","Cloned","Compatible","Configurable","Cross-group","Cross-platform","Customer-focused","Customizable","Decentralized","De-engineered","Devolved","Digitized","Distributed","Diverse","Down-sized","Enhanced","Enterprise-wide","Ergonomic","Exclusive","Expanded","Extended","Face to face","Focused","Front-line","Fully-configurable","Function-based","Fundamental","Future-proofed","Grass-roots","Horizontal","Implemented","Innovative","Integrated","Intuitive","Inverse","Managed","Mandatory","Monitored","Multi-channelled","Multi-lateral","Multi-layered","Multi-tiered","Networked","Object-based","Open-architected","Open-source","Operative","Optimized","Optional","Organic","Organized","Persevering","Persistent","Phased","Polarised","Pre-emptive","Proactive","Profit-focused","Profound","Programmable","Progressive","Public-key","Quality-focused","Reactive","Realigned","Re-contextualized","Re-engineered","Reduced","Reverse-engineered","Right-sized","Robust","Seamless","Secured","Self-enabling","Sharable","Stand-alone","Streamlined","Switchable","Synchronised","Synergistic","Synergized","Team-oriented","Total","Triple-buffered","Universal","Up-sized","Upgradable","User-centric","User-friendly","Versatile","Virtual","Visionary","Vision-oriented"]})(aY);var det=aY.exports,oY={exports:{}};(function(e){e.exports=["24 hour","24/7","3rd generation","4th generation","5th generation","6th generation","actuating","analyzing","asymmetric","asynchronous","attitude-oriented","background","bandwidth-monitored","bi-directional","bifurcated","bottom-line","clear-thinking","client-driven","client-server","coherent","cohesive","composite","context-sensitive","contextually-based","content-based","dedicated","demand-driven","didactic","directional","discrete","disintermediate","dynamic","eco-centric","empowering","encompassing","even-keeled","executive","explicit","exuding","fault-tolerant","foreground","fresh-thinking","full-range","global","grid-enabled","heuristic","high-level","holistic","homogeneous","human-resource","hybrid","impactful","incremental","intangible","interactive","intermediate","leading edge","local","logistical","maximized","methodical","mission-critical","mobile","modular","motivating","multimedia","multi-state","multi-tasking","national","needs-based","neutral","next generation","non-volatile","object-oriented","optimal","optimizing","radical","real-time","reciprocal","regional","responsive","scalable","secondary","solution-oriented","stable","static","systematic","systemic","system-worthy","tangible","tertiary","transitional","uniform","upward-trending","user-facing","value-added","web-enabled","well-modulated","zero administration","zero defect","zero tolerance"]})(oY);var fet=oY.exports,iY={exports:{}};(function(e){e.exports=["ability","access","adapter","algorithm","alliance","analyzer","application","approach","architecture","archive","artificial intelligence","array","attitude","benchmark","budgetary management","capability","capacity","challenge","circuit","collaboration","complexity","concept","conglomeration","contingency","core","customer loyalty","database","data-warehouse","definition","emulation","encoding","encryption","extranet","firmware","flexibility","focus group","forecast","frame","framework","function","functionalities","Graphic Interface","groupware","Graphical User Interface","hardware","help-desk","hierarchy","hub","implementation","info-mediaries","infrastructure","initiative","installation","instruction set","interface","internet solution","intranet","knowledge user","knowledge base","local area network","leverage","matrices","matrix","methodology","middleware","migration","model","moderator","monitoring","moratorium","neural-net","open architecture","open system","orchestration","paradigm","parallelism","policy","portal","pricing structure","process improvement","product","productivity","project","projection","protocol","secured line","service-desk","software","solution","standardization","strategy","structure","success","superstructure","support","synergy","system engine","task-force","throughput","time-frame","toolset","utilisation","website","workforce"]})(iY);var pet=iY.exports,sY={exports:{}};(function(e){e.exports=["implement","utilize","integrate","streamline","optimize","evolve","transform","embrace","enable","orchestrate","leverage","reinvent","aggregate","architect","enhance","incentivize","morph","empower","envisioneer","monetize","harness","facilitate","seize","disintermediate","synergize","strategize","deploy","brand","grow","target","syndicate","synthesize","deliver","mesh","incubate","engage","maximize","benchmark","expedite","reintermediate","whiteboard","visualize","repurpose","innovate","scale","unleash","drive","extend","engineer","revolutionize","generate","exploit","transition","e-enable","iterate","cultivate","matrix","productize","redefine","recontextualize"]})(sY);var met=sY.exports,cY={exports:{}};(function(e){e.exports=["clicks-and-mortar","value-added","vertical","proactive","robust","revolutionary","scalable","leading-edge","innovative","intuitive","strategic","e-business","mission-critical","sticky","one-to-one","24/7","end-to-end","global","B2B","B2C","granular","frictionless","virtual","viral","dynamic","24/365","best-of-breed","killer","magnetic","bleeding-edge","web-enabled","interactive","dot-com","sexy","back-end","real-time","efficient","front-end","distributed","seamless","extensible","turn-key","world-class","open-source","cross-platform","cross-media","synergistic","bricks-and-clicks","out-of-the-box","enterprise","integrated","impactful","wireless","transparent","next-generation","cutting-edge","user-centric","visionary","customized","ubiquitous","plug-and-play","collaborative","compelling","holistic","rich"]})(cY);var het=cY.exports,lY={exports:{}};(function(e){e.exports=["synergies","web-readiness","paradigms","markets","partnerships","infrastructures","platforms","initiatives","channels","eyeballs","communities","ROI","solutions","e-tailers","e-services","action-items","portals","niches","technologies","content","vortals","supply-chains","convergence","relationships","architectures","interfaces","e-markets","e-commerce","systems","bandwidth","infomediaries","models","mindshare","deliverables","users","schemas","networks","applications","metrics","e-business","functionalities","experiences","web services","methodologies","blockchains"]})(lY);var get=lY.exports,uY={exports:{}};(function(e){e.exports=["#{Name.last_name} #{suffix}","#{Name.last_name}-#{Name.last_name}","#{Name.last_name}, #{Name.last_name} and #{Name.last_name}"]})(uY);var vet=uY.exports;(function(e){var t={};e.exports=t,t.suffix=uet,t.adjective=det,t.descriptor=fet,t.noun=pet,t.bs_verb=met,t.bs_adjective=het,t.bs_noun=get,t.name=vet})(nY);var yet=nY.exports,dY={exports:{}},fY={exports:{}};(function(e){e.exports=["gmail.com","yahoo.com","hotmail.com"]})(fY);var bet=fY.exports,pY={exports:{}};(function(e){e.exports=["example.org","example.com","example.net"]})(pY);var xet=pY.exports,mY={exports:{}};(function(e){e.exports=["com","biz","info","name","net","org"]})(mY);var wet=mY.exports,hY={exports:{}};(function(e){e.exports=["https://s3.amazonaws.com/uifaces/faces/twitter/jarjan/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mahdif/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/sprayaga/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ruzinav/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/Skyhartman/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/moscoz/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/kurafire/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/91bilal/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/igorgarybaldi/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/calebogden/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/malykhinv/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/joelhelin/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/kushsolitary/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/coreyweb/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/snowshade/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/areus/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/holdenweb/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/heyimjuani/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/envex/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/unterdreht/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/collegeman/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/peejfancher/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/andyisonline/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ultragex/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/adellecharles/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ateneupopular/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ahmetalpbalkan/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/Stievius/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/kerem/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/osvaldas/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/angelceballos/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/thierrykoblentz/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/peterlandt/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/catarino/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/weglov/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/brandclay/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ahmetsulek/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/nicolasfolliot/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jayrobinson/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/victorerixon/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/kolage/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/michzen/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/markjenkins/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/nicolai_larsen/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/gt/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/noxdzine/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/alagoon/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/idiot/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mizko/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/chadengle/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mutlu82/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/simobenso/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/vocino/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/guiiipontes/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/soyjavi/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/joshaustin/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/tomaslau/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/VinThomas/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ManikRathee/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/langate/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/cemshid/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/leemunroe/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/_shahedk/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/enda/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/BillSKenney/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/divya/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/joshhemsley/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/sindresorhus/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/soffes/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/9lessons/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/linux29/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/Chakintosh/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/anaami/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/joreira/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/shadeed9/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/scottkclark/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jedbridges/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/salleedesign/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/marakasina/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ariil/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/BrianPurkiss/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/michaelmartinho/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/bublienko/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/devankoshal/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ZacharyZorbas/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/timmillwood/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/joshuasortino/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/damenleeturks/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/tomas_janousek/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/herrhaase/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/RussellBishop/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/brajeshwar/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/cbracco/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/bermonpainter/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/abdullindenis/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/isacosta/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/suprb/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/yalozhkin/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/chandlervdw/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/iamgarth/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/_victa/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/commadelimited/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/roybarberuk/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/axel/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/vladarbatov/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ffbel/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/syropian/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ankitind/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/traneblow/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/flashmurphy/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ChrisFarina78/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/baliomega/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/saschamt/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jm_denis/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/anoff/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/kennyadr/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/chatyrko/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/dingyi/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mds/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/terryxlife/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/aaroni/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/kinday/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/prrstn/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/eduardostuart/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/dhilipsiva/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/GavicoInd/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/baires/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/rohixx/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/bigmancho/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/blakesimkins/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/leeiio/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/tjrus/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/uberschizo/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/kylefoundry/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/claudioguglieri/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ripplemdk/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/exentrich/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jakemoore/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/joaoedumedeiros/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/poormini/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/tereshenkov/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/keryilmaz/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/haydn_woods/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/rude/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/llun/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/sgaurav_baghel/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jamiebrittain/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/badlittleduck/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/pifagor/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/agromov/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/benefritz/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/erwanhesry/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/diesellaws/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jeremiaha/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/koridhandy/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/chaensel/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/andrewcohen/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/smaczny/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/gonzalorobaina/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/nandini_m/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/sydlawrence/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/cdharrison/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/tgerken/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/lewisainslie/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/charliecwaite/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/robbschiller/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/flexrs/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mattdetails/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/raquelwilson/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/karsh/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mrmartineau/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/opnsrce/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/hgharrygo/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/maximseshuk/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/uxalex/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/samihah/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/chanpory/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/sharvin/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/josemarques/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jefffis/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/krystalfister/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/lokesh_coder/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/thedamianhdez/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/dpmachado/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/funwatercat/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/timothycd/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ivanfilipovbg/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/picard102/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/marcobarbosa/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/krasnoukhov/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/g3d/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ademilter/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/rickdt/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/operatino/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/bungiwan/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/hugomano/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/logorado/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/dc_user/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/horaciobella/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/SlaapMe/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/teeragit/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/iqonicd/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ilya_pestov/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/andrewarrow/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ssiskind/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/stan/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/HenryHoffman/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/rdsaunders/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/adamsxu/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/curiousoffice/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/themadray/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/michigangraham/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/kohette/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/nickfratter/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/runningskull/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/madysondesigns/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/brenton_clarke/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jennyshen/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/bradenhamm/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/kurtinc/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/amanruzaini/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/coreyhaggard/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/Karimmove/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/aaronalfred/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/wtrsld/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jitachi/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/therealmarvin/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/pmeissner/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ooomz/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/chacky14/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jesseddy/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/shanehudson/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/akmur/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/IsaryAmairani/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/arthurholcombe1/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/boxmodel/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ehsandiary/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/LucasPerdidao/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/shalt0ni/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/swaplord/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/kaelifa/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/plbabin/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/guillemboti/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/arindam_/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/renbyrd/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/thiagovernetti/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jmillspaysbills/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mikemai2awesome/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jervo/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mekal/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/sta1ex/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/robergd/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/felipecsl/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/andrea211087/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/garand/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/dhooyenga/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/abovefunction/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/pcridesagain/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/randomlies/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/BryanHorsey/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/heykenneth/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/dahparra/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/allthingssmitty/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/danvernon/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/beweinreich/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/increase/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/falvarad/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/alxndrustinov/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/souuf/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/orkuncaylar/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/AM_Kn2/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/gearpixels/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/bassamology/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/vimarethomas/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/kosmar/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/SULiik/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mrjamesnoble/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/silvanmuhlemann/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/shaneIxD/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/nacho/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/yigitpinarbasi/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/buzzusborne/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/aaronkwhite/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/rmlewisuk/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/giancarlon/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/nbirckel/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/d_nny_m_cher/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/sdidonato/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/atariboy/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/abotap/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/karalek/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/psdesignuk/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ludwiczakpawel/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/nemanjaivanovic/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/baluli/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ahmadajmi/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/vovkasolovev/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/samgrover/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/derienzo777/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jonathansimmons/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/nelsonjoyce/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/S0ufi4n3/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/xtopherpaul/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/oaktreemedia/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/nateschulte/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/findingjenny/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/namankreative/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/antonyzotov/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/we_social/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/leehambley/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/solid_color/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/abelcabans/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mbilderbach/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/kkusaa/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jordyvdboom/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/carlosgavina/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/pechkinator/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/vc27/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/rdbannon/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/croakx/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/suribbles/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/kerihenare/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/catadeleon/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/gcmorley/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/duivvv/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/saschadroste/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/victorDubugras/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/wintopia/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mattbilotti/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/taylorling/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/megdraws/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/meln1ks/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mahmoudmetwally/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/Silveredge9/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/derekebradley/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/happypeter1983/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/travis_arnold/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/artem_kostenko/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/adobi/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/daykiine/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/alek_djuric/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/scips/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/miguelmendes/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/justinrhee/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/alsobrooks/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/fronx/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mcflydesign/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/santi_urso/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/allfordesign/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/stayuber/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/bertboerland/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/marosholly/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/adamnac/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/cynthiasavard/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/muringa/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/danro/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/hiemil/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jackiesaik/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/iduuck/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/antjanus/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/aroon_sharma/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/dshster/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/thehacker/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/michaelbrooksjr/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ryanmclaughlin/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/clubb3rry/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/taybenlor/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/xripunov/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/myastro/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/adityasutomo/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/digitalmaverick/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/hjartstrorn/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/itolmach/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/vaughanmoffitt/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/abdots/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/isnifer/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/sergeysafonov/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/maz/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/scrapdnb/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/chrismj83/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/vitorleal/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/sokaniwaal/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/zaki3d/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/illyzoren/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mocabyte/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/osmanince/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/djsherman/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/davidhemphill/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/waghner/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/necodymiconer/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/praveen_vijaya/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/fabbrucci/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/travishines/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/kuldarkalvik/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/Elt_n/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/phillapier/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/okseanjay/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/id835559/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/kudretkeskin/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/anjhero/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/scott_riley/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/noufalibrahim/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/h1brd/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/borges_marcos/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/devinhalladay/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ciaranr/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/stefooo/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mikebeecham/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/tonymillion/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/joshuaraichur/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/irae/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/petrangr/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/dmitriychuta/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/charliegann/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/arashmanteghi/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/adhamdannaway/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ainsleywagon/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/svenlen/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/faisalabid/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/beshur/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/carlyson/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/dutchnadia/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/teddyzetterlund/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/samuelkraft/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/aoimedia/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/toddrew/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/codepoet_ru/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/artvavs/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/benoitboucart/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jomarmen/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/kolmarlopez/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/creartinc/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/homka/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/gaborenton/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/robinclediere/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/maximsorokin/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/plasticine/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/j2deme/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/peachananr/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/kapaluccio/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/de_ascanio/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/rikas/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/dawidwu/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/marcoramires/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/angelcreative/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/rpatey/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/popey/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/rehatkathuria/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/the_purplebunny/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/1markiz/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ajaxy_ru/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/brenmurrell/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/dudestein/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/oskarlevinson/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/victorstuber/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/nehfy/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/vicivadeline/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/leandrovaranda/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/scottgallant/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/victor_haydin/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/sawrb/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ryhanhassan/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/amayvs/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/a_brixen/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/karolkrakowiak_/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/herkulano/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/geran7/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/cggaurav/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/chris_witko/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/lososina/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/polarity/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mattlat/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/brandonburke/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/constantx/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/teylorfeliz/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/craigelimeliah/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/rachelreveley/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/reabo101/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/rahmeen/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ky/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/rickyyean/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/j04ntoh/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/spbroma/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/sebashton/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jpenico/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/francis_vega/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/oktayelipek/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/kikillo/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/fabbianz/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/larrygerard/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/BroumiYoussef/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/0therplanet/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mbilalsiddique1/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ionuss/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/grrr_nl/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/liminha/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/rawdiggie/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ryandownie/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/sethlouey/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/pixage/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/arpitnj/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/switmer777/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/josevnclch/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/kanickairaj/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/puzik/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/tbakdesigns/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/besbujupi/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/supjoey/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/lowie/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/linkibol/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/balintorosz/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/imcoding/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/agustincruiz/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/gusoto/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/thomasschrijer/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/superoutman/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/kalmerrautam/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/gabrielizalo/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/gojeanyn/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/davidbaldie/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/_vojto/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/laurengray/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jydesign/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mymyboy/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/nellleo/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/marciotoledo/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ninjad3m0/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/to_soham/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/hasslunsford/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/muridrahhal/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/levisan/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/grahamkennery/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/lepetitogre/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/antongenkin/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/nessoila/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/amandabuzard/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/safrankov/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/cocolero/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/dss49/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/matt3224/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/bluesix/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/quailandquasar/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/AlbertoCococi/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/lepinski/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/sementiy/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mhudobivnik/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/thibaut_re/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/olgary/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/shojberg/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mtolokonnikov/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/bereto/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/naupintos/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/wegotvices/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/xadhix/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/macxim/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/rodnylobos/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/madcampos/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/madebyvadim/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/bartoszdawydzik/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/supervova/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/markretzloff/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/vonachoo/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/darylws/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/stevedesigner/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mylesb/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/herbigt/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/depaulawagner/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/geshan/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/gizmeedevil1991/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/_scottburgess/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/lisovsky/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/davidsasda/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/artd_sign/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/YoungCutlass/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mgonto/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/itstotallyamy/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/victorquinn/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/osmond/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/oksanafrewer/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/zauerkraut/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/iamkeithmason/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/nitinhayaran/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/lmjabreu/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mandalareopens/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/thinkleft/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ponchomendivil/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/juamperro/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/brunodesign1206/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/caseycavanagh/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/luxe/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/dotgridline/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/spedwig/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/madewulf/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mattsapii/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/helderleal/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/chrisstumph/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jayphen/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/nsamoylov/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/chrisvanderkooi/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/justme_timothyg/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/otozk/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/prinzadi/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/gu5taf/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/cyril_gaillard/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/d_kobelyatsky/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/daniloc/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/nwdsha/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/romanbulah/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/skkirilov/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/dvdwinden/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/dannol/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/thekevinjones/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jwalter14/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/timgthomas/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/buddhasource/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/uxpiper/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/thatonetommy/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/diansigitp/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/adrienths/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/klimmka/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/gkaam/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/derekcramer/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jennyyo/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/nerrsoft/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/xalionmalik/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/edhenderson/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/keyuri85/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/roxanejammet/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/kimcool/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/edkf/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/matkins/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/alessandroribe/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jacksonlatka/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/lebronjennan/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/kostaspt/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/karlkanall/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/moynihan/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/danpliego/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/saulihirvi/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/wesleytrankin/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/fjaguero/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/bowbrick/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mashaaaaal/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/yassiryahya/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/dparrelli/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/fotomagin/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/aka_james/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/denisepires/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/iqbalperkasa/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/martinansty/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jarsen/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/r_oy/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/justinrob/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/gabrielrosser/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/malgordon/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/carlfairclough/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/michaelabehsera/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/pierrestoffe/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/enjoythetau/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/loganjlambert/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/rpeezy/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/coreyginnivan/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/michalhron/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/msveet/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/lingeswaran/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/kolsvein/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/peter576/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/reideiredale/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/joeymurdah/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/raphaelnikson/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mvdheuvel/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/maxlinderman/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jimmuirhead/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/begreative/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/frankiefreesbie/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/robturlinckx/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/Talbi_ConSept/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/longlivemyword/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/vanchesz/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/maiklam/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/hermanobrother/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/rez___a/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/gregsqueeb/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/greenbes/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/_ragzor/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/anthonysukow/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/fluidbrush/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/dactrtr/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jehnglynn/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/bergmartin/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/hugocornejo/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/_kkga/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/dzantievm/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/sawalazar/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/sovesove/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jonsgotwood/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/byryan/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/vytautas_a/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mizhgan/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/cicerobr/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/nilshelmersson/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/d33pthought/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/davecraige/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/nckjrvs/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/alexandermayes/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jcubic/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/craigrcoles/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/bagawarman/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/rob_thomas10/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/cofla/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/maikelk/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/rtgibbons/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/russell_baylis/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mhesslow/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/codysanfilippo/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/webtanya/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/madebybrenton/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/dcalonaci/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/perfectflow/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jjsiii/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/saarabpreet/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/kumarrajan12123/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/iamsteffen/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/themikenagle/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ceekaytweet/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/larrybolt/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/conspirator/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/dallasbpeters/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/n3dmax/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/terpimost/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/byrnecore/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/j_drake_/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/calebjoyce/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/russoedu/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/hoangloi/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/tobysaxon/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/gofrasdesign/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/dimaposnyy/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/tjisousa/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/okandungel/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/billyroshan/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/oskamaya/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/motionthinks/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/knilob/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ashocka18/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/marrimo/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/bartjo/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/omnizya/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ernestsemerda/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/andreas_pr/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/edgarchris99/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/thomasgeisen/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/gseguin/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/joannefournier/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/demersdesigns/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/adammarsbar/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/nasirwd/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/n_tassone/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/javorszky/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/themrdave/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/yecidsm/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/nicollerich/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/canapud/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/nicoleglynn/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/judzhin_miles/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/designervzm/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/kianoshp/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/evandrix/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/alterchuca/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/dhrubo/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ma_tiax/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ssbb_me/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/dorphern/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mauriolg/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/bruno_mart/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mactopus/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/the_winslet/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/joemdesign/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/Shriiiiimp/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jacobbennett/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/nfedoroff/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/iamglimy/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/allagringaus/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/aiiaiiaii/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/olaolusoga/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/buryaknick/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/wim1k/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/nicklacke/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/a1chapone/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/steynviljoen/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/strikewan/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ryankirkman/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/andrewabogado/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/doooon/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jagan123/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ariffsetiawan/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/elenadissi/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mwarkentin/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/thierrymeier_/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/r_garcia/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/dmackerman/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/borantula/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/konus/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/spacewood_/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ryuchi311/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/evanshajed/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/tristanlegros/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/shoaib253/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/aislinnkelly/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/okcoker/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/timpetricola/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/sunshinedgirl/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/chadami/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/aleclarsoniv/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/nomidesigns/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/petebernardo/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/scottiedude/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/millinet/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/imsoper/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/imammuht/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/benjamin_knight/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/nepdud/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/joki4/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/lanceguyatt/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/bboy1895/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/amywebbb/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/rweve/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/haruintesettden/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ricburton/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/nelshd/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/batsirai/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/primozcigler/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jffgrdnr/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/8d3k/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/geneseleznev/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/al_li/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/souperphly/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mslarkina/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/2fockus/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/cdavis565/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/xiel/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/turkutuuli/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/uxward/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/lebinoclard/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/gauravjassal/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/davidmerrique/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mdsisto/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/andrewofficer/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/kojourin/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/dnirmal/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/kevka/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mr_shiznit/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/aluisio_azevedo/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/cloudstudio/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/danvierich/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/alexivanichkin/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/fran_mchamy/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/perretmagali/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/betraydan/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/cadikkara/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/matbeedotcom/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jeremyworboys/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/bpartridge/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/michaelkoper/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/silv3rgvn/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/alevizio/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/johnsmithagency/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/lawlbwoy/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/vitor376/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/desastrozo/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/thimo_cz/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jasonmarkjones/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/lhausermann/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/xravil/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/guischmitt/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/vigobronx/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/panghal0/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/miguelkooreman/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/surgeonist/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/christianoliff/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/caspergrl/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/iamkarna/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ipavelek/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/pierre_nel/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/y2graphic/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/sterlingrules/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/elbuscainfo/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/bennyjien/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/stushona/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/estebanuribe/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/embrcecreations/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/danillos/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/elliotlewis/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/charlesrpratt/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/vladyn/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/emmeffess/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/carlosblanco_eu/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/leonfedotov/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/rangafangs/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/chris_frees/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/tgormtx/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/bryan_topham/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jpscribbles/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mighty55/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/carbontwelve/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/isaacfifth/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/iamjdeleon/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/snowwrite/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/barputro/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/drewbyreese/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/sachacorazzi/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/bistrianiosip/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/magoo04/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/pehamondello/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/yayteejay/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/a_harris88/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/algunsanabria/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/zforrester/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ovall/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/carlosjgsousa/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/geobikas/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ah_lice/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/looneydoodle/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/nerdgr8/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ddggccaa/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/zackeeler/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/normanbox/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/el_fuertisimo/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ismail_biltagi/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/juangomezw/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jnmnrd/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/patrickcoombe/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ryanjohnson_me/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/markolschesky/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jeffgolenski/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/kvasnic/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/gauchomatt/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/afusinatto/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/kevinoh/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/okansurreel/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/adamawesomeface/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/emileboudeling/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/arishi_/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/juanmamartinez/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/wikiziner/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/danthms/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mkginfo/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/terrorpixel/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/curiousonaut/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/prheemo/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/michaelcolenso/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/foczzi/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/martip07/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/thaodang17/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/johncafazza/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/robinlayfield/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/franciscoamk/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/abdulhyeuk/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/marklamb/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/edobene/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/andresenfredrik/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mikaeljorhult/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/chrisslowik/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/vinciarts/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/meelford/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/elliotnolten/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/yehudab/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/vijaykarthik/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/bfrohs/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/josep_martins/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/attacks/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/sur4dye/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/tumski/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/instalox/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mangosango/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/paulfarino/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/kazaky999/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/kiwiupover/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/nvkznemo/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/tom_even/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ratbus/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/woodsman001/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/joshmedeski/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/thewillbeard/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/psaikali/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/joe_black/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/aleinadsays/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/marcusgorillius/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/hota_v/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jghyllebert/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/shinze/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/janpalounek/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jeremiespoken/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/her_ruu/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/dansowter/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/felipeapiress/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/magugzbrand2d/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/posterjob/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/nathalie_fs/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/bobbytwoshoes/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/dreizle/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jeremymouton/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/elisabethkjaer/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/notbadart/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mohanrohith/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jlsolerdeltoro/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/itskawsar/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/slowspock/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/zvchkelly/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/wiljanslofstra/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/craighenneberry/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/trubeatto/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/juaumlol/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/samscouto/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/BenouarradeM/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/gipsy_raf/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/netonet_il/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/arkokoley/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/itsajimithing/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/smalonso/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/victordeanda/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/_dwite_/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/richardgarretts/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/gregrwilkinson/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/anatolinicolae/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/lu4sh1i/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/stefanotirloni/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ostirbu/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/darcystonge/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/naitanamoreno/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/michaelcomiskey/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/adhiardana/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/marcomano_/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/davidcazalis/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/falconerie/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/gregkilian/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/bcrad/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/bolzanmarco/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/low_res/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/vlajki/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/petar_prog/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jonkspr/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/akmalfikri/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mfacchinello/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/atanism/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/harry_sistalam/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/murrayswift/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/bobwassermann/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/gavr1l0/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/madshensel/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mr_subtle/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/deviljho_/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/salimianoff/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/joetruesdell/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/twittypork/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/airskylar/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/dnezkumar/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/dgajjar/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/cherif_b/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/salvafc/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/louis_currie/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/deeenright/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/cybind/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/eyronn/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/sweetdelisa/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/cboller1/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/andresdjasso/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/melvindidit/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/andysolomon/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/thaisselenator_/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/lvovenok/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/giuliusa/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/belyaev_rs/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/overcloacked/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/kamal_chaneman/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/incubo82/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/hellofeverrrr/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mhaligowski/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/sunlandictwin/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/bu7921/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/andytlaw/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jeremery/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/finchjke/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/manigm/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/umurgdk/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/scottfeltham/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ganserene/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mutu_krish/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jodytaggart/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ntfblog/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/tanveerrao/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/hfalucas/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/alxleroydeval/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/kucingbelang4/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/bargaorobalo/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/colgruv/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/stalewine/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/kylefrost/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/baumannzone/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/angelcolberg/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/sachingawas/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jjshaw14/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ramanathan_pdy/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/johndezember/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/nilshoenson/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/brandonmorreale/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/nutzumi/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/brandonflatsoda/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/sergeyalmone/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/klefue/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/kirangopal/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/baumann_alex/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/matthewkay_/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jay_wilburn/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/shesgared/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/apriendeau/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/johnriordan/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/wake_gs/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/aleksitappura/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/emsgulam/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/xilantra/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/imomenui/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/sircalebgrove/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/newbrushes/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/hsinyo23/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/m4rio/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/katiemdaly/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/s4f1/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ecommerceil/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/marlinjayakody/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/swooshycueb/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/sangdth/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/coderdiaz/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/bluefx_/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/vivekprvr/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/sasha_shestakov/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/eugeneeweb/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/dgclegg/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/n1ght_coder/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/dixchen/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/blakehawksworth/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/trueblood_33/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/hai_ninh_nguyen/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/marclgonzales/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/yesmeck/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/stephcoue/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/doronmalki/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ruehldesign/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/anasnakawa/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/kijanmaharjan/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/wearesavas/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/stefvdham/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/tweetubhai/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/alecarpentier/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/fiterik/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/antonyryndya/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/d00maz/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/theonlyzeke/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/missaaamy/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/carlosm/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/manekenthe/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/reetajayendra/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jeremyshimko/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/justinrgraham/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/stefanozoffoli/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/overra/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mrebay007/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/shvelo96/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/pyronite/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/thedjpetersen/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/rtyukmaev/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/_williamguerra/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/albertaugustin/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/vikashpathak18/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/kevinjohndayy/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/vj_demien/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/colirpixoil/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/goddardlewis/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/laasli/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jqiuss/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/heycamtaylor/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/nastya_mane/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mastermindesign/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ccinojasso1/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/nyancecom/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/sandywoodruff/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/bighanddesign/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/sbtransparent/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/aviddayentonbay/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/richwild/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/kaysix_dizzy/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/tur8le/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/seyedhossein1/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/privetwagner/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/emmandenn/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/dev_essentials/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jmfsocial/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/_yardenoon/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mateaodviteza/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/weavermedia/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mufaddal_mw/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/hafeeskhan/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ashernatali/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/sulaqo/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/eddiechen/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/josecarlospsh/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/vm_f/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/enricocicconi/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/danmartin70/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/gmourier/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/donjain/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mrxloka/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/_pedropinho/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/eitarafa/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/oscarowusu/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ralph_lam/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/panchajanyag/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/woodydotmx/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jerrybai1907/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/marshallchen_/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/xamorep/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/aio___/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/chaabane_wail/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/txcx/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/akashsharma39/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/falling_soul/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/sainraja/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mugukamil/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/johannesneu/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/markwienands/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/karthipanraj/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/balakayuriy/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/alan_zhang_/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/layerssss/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/kaspernordkvist/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mirfanqureshi/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/hanna_smi/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/VMilescu/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/aeon56/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/m_kalibry/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/sreejithexp/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/dicesales/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/dhoot_amit/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/smenov/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/lonesomelemon/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/vladimirdevic/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/joelcipriano/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/haligaliharun/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/buleswapnil/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/serefka/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ifarafonow/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/vikasvinfotech/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/urrutimeoli/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/areandacom/128.jpg"]})(hY);var Cet=hY.exports;(function(e){var t={};e.exports=t,t.free_email=bet,t.example_email=xet,t.domain_suffix=wet,t.avatar_uri=Cet})(dY);var jet=dY.exports,gY={exports:{}},vY={exports:{}};(function(e){e.exports=["utf8_unicode_ci","utf8_general_ci","utf8_bin","ascii_bin","ascii_general_ci","cp1250_bin","cp1250_general_ci"]})(vY);var _et=vY.exports,yY={exports:{}};(function(e){e.exports=["id","title","name","email","phone","token","group","category","password","comment","avatar","status","createdAt","updatedAt"]})(yY);var ket=yY.exports,bY={exports:{}};(function(e){e.exports=["InnoDB","MyISAM","MEMORY","CSV","BLACKHOLE","ARCHIVE"]})(bY);var $et=bY.exports,xY={exports:{}};(function(e){e.exports=["int","varchar","text","date","datetime","tinyint","time","timestamp","smallint","mediumint","bigint","decimal","float","double","real","bit","boolean","serial","blob","binary","enum","set","geometry","point"]})(xY);var Eet=xY.exports;(function(e){var t={};e.exports=t,t.collation=_et,t.column=ket,t.engine=$et,t.type=Eet})(gY);var Ret=gY.exports,wY={exports:{}},CY={exports:{}};(function(e){e.exports=["alias","consequatur","aut","perferendis","sit","voluptatem","accusantium","doloremque","aperiam","eaque","ipsa","quae","ab","illo","inventore","veritatis","et","quasi","architecto","beatae","vitae","dicta","sunt","explicabo","aspernatur","aut","odit","aut","fugit","sed","quia","consequuntur","magni","dolores","eos","qui","ratione","voluptatem","sequi","nesciunt","neque","dolorem","ipsum","quia","dolor","sit","amet","consectetur","adipisci","velit","sed","quia","non","numquam","eius","modi","tempora","incidunt","ut","labore","et","dolore","magnam","aliquam","quaerat","voluptatem","ut","enim","ad","minima","veniam","quis","nostrum","exercitationem","ullam","corporis","nemo","enim","ipsam","voluptatem","quia","voluptas","sit","suscipit","laboriosam","nisi","ut","aliquid","ex","ea","commodi","consequatur","quis","autem","vel","eum","iure","reprehenderit","qui","in","ea","voluptate","velit","esse","quam","nihil","molestiae","et","iusto","odio","dignissimos","ducimus","qui","blanditiis","praesentium","laudantium","totam","rem","voluptatum","deleniti","atque","corrupti","quos","dolores","et","quas","molestias","excepturi","sint","occaecati","cupiditate","non","provident","sed","ut","perspiciatis","unde","omnis","iste","natus","error","similique","sunt","in","culpa","qui","officia","deserunt","mollitia","animi","id","est","laborum","et","dolorum","fuga","et","harum","quidem","rerum","facilis","est","et","expedita","distinctio","nam","libero","tempore","cum","soluta","nobis","est","eligendi","optio","cumque","nihil","impedit","quo","porro","quisquam","est","qui","minus","id","quod","maxime","placeat","facere","possimus","omnis","voluptas","assumenda","est","omnis","dolor","repellendus","temporibus","autem","quibusdam","et","aut","consequatur","vel","illum","qui","dolorem","eum","fugiat","quo","voluptas","nulla","pariatur","at","vero","eos","et","accusamus","officiis","debitis","aut","rerum","necessitatibus","saepe","eveniet","ut","et","voluptates","repudiandae","sint","et","molestiae","non","recusandae","itaque","earum","rerum","hic","tenetur","a","sapiente","delectus","ut","aut","reiciendis","voluptatibus","maiores","doloribus","asperiores","repellat"]})(CY);var Aet=CY.exports,SY={exports:{}};(function(e){e.exports=["abbas","abduco","abeo","abscido","absconditus","absens","absorbeo","absque","abstergo","absum","abundans","abutor","accedo","accendo","acceptus","accipio","accommodo","accusator","acer","acerbitas","acervus","acidus","acies","acquiro","acsi","adamo","adaugeo","addo","adduco","ademptio","adeo","adeptio","adfectus","adfero","adficio","adflicto","adhaero","adhuc","adicio","adimpleo","adinventitias","adipiscor","adiuvo","administratio","admiratio","admitto","admoneo","admoveo","adnuo","adopto","adsidue","adstringo","adsuesco","adsum","adulatio","adulescens","adultus","aduro","advenio","adversus","advoco","aedificium","aeger","aegre","aegrotatio","aegrus","aeneus","aequitas","aequus","aer","aestas","aestivus","aestus","aetas","aeternus","ager","aggero","aggredior","agnitio","agnosco","ago","ait","aiunt","alienus","alii","alioqui","aliqua","alius","allatus","alo","alter","altus","alveus","amaritudo","ambitus","ambulo","amicitia","amiculum","amissio","amita","amitto","amo","amor","amoveo","amplexus","amplitudo","amplus","ancilla","angelus","angulus","angustus","animadverto","animi","animus","annus","anser","ante","antea","antepono","antiquus","aperio","aperte","apostolus","apparatus","appello","appono","appositus","approbo","apto","aptus","apud","aqua","ara","aranea","arbitro","arbor","arbustum","arca","arceo","arcesso","arcus","argentum","argumentum","arguo","arma","armarium","armo","aro","ars","articulus","artificiose","arto","arx","ascisco","ascit","asper","aspicio","asporto","assentator","astrum","atavus","ater","atqui","atrocitas","atrox","attero","attollo","attonbitus","auctor","auctus","audacia","audax","audentia","audeo","audio","auditor","aufero","aureus","auris","aurum","aut","autem","autus","auxilium","avaritia","avarus","aveho","averto","avoco","baiulus","balbus","barba","bardus","basium","beatus","bellicus","bellum","bene","beneficium","benevolentia","benigne","bestia","bibo","bis","blandior","bonus","bos","brevis","cado","caecus","caelestis","caelum","calamitas","calcar","calco","calculus","callide","campana","candidus","canis","canonicus","canto","capillus","capio","capitulus","capto","caput","carbo","carcer","careo","caries","cariosus","caritas","carmen","carpo","carus","casso","caste","casus","catena","caterva","cattus","cauda","causa","caute","caveo","cavus","cedo","celebrer","celer","celo","cena","cenaculum","ceno","censura","centum","cerno","cernuus","certe","certo","certus","cervus","cetera","charisma","chirographum","cibo","cibus","cicuta","cilicium","cimentarius","ciminatio","cinis","circumvenio","cito","civis","civitas","clam","clamo","claro","clarus","claudeo","claustrum","clementia","clibanus","coadunatio","coaegresco","coepi","coerceo","cogito","cognatus","cognomen","cogo","cohaero","cohibeo","cohors","colligo","colloco","collum","colo","color","coma","combibo","comburo","comedo","comes","cometes","comis","comitatus","commemoro","comminor","commodo","communis","comparo","compello","complectus","compono","comprehendo","comptus","conatus","concedo","concido","conculco","condico","conduco","confero","confido","conforto","confugo","congregatio","conicio","coniecto","conitor","coniuratio","conor","conqueror","conscendo","conservo","considero","conspergo","constans","consuasor","contabesco","contego","contigo","contra","conturbo","conventus","convoco","copia","copiose","cornu","corona","corpus","correptius","corrigo","corroboro","corrumpo","coruscus","cotidie","crapula","cras","crastinus","creator","creber","crebro","credo","creo","creptio","crepusculum","cresco","creta","cribro","crinis","cruciamentum","crudelis","cruentus","crur","crustulum","crux","cubicularis","cubitum","cubo","cui","cuius","culpa","culpo","cultellus","cultura","cum","cunabula","cunae","cunctatio","cupiditas","cupio","cuppedia","cupressus","cur","cura","curatio","curia","curiositas","curis","curo","curriculum","currus","cursim","curso","cursus","curto","curtus","curvo","curvus","custodia","damnatio","damno","dapifer","debeo","debilito","decens","decerno","decet","decimus","decipio","decor","decretum","decumbo","dedecor","dedico","deduco","defaeco","defendo","defero","defessus","defetiscor","deficio","defigo","defleo","defluo","defungo","degenero","degero","degusto","deinde","delectatio","delego","deleo","delibero","delicate","delinquo","deludo","demens","demergo","demitto","demo","demonstro","demoror","demulceo","demum","denego","denique","dens","denuncio","denuo","deorsum","depereo","depono","depopulo","deporto","depraedor","deprecator","deprimo","depromo","depulso","deputo","derelinquo","derideo","deripio","desidero","desino","desipio","desolo","desparatus","despecto","despirmatio","infit","inflammatio","paens","patior","patria","patrocinor","patruus","pauci","paulatim","pauper","pax","peccatus","pecco","pecto","pectus","pecunia","pecus","peior","pel","ocer","socius","sodalitas","sol","soleo","solio","solitudo","solium","sollers","sollicito","solum","solus","solutio","solvo","somniculosus","somnus","sonitus","sono","sophismata","sopor","sordeo","sortitus","spargo","speciosus","spectaculum","speculum","sperno","spero","spes","spiculum","spiritus","spoliatio","sponte","stabilis","statim","statua","stella","stillicidium","stipes","stips","sto","strenuus","strues","studio","stultus","suadeo","suasoria","sub","subito","subiungo","sublime","subnecto","subseco","substantia","subvenio","succedo","succurro","sufficio","suffoco","suffragium","suggero","sui","sulum","sum","summa","summisse","summopere","sumo","sumptus","supellex","super","suppellex","supplanto","suppono","supra","surculus","surgo","sursum","suscipio","suspendo","sustineo","suus","synagoga","tabella","tabernus","tabesco","tabgo","tabula","taceo","tactus","taedium","talio","talis","talus","tam","tamdiu","tamen","tametsi","tamisium","tamquam","tandem","tantillus","tantum","tardus","tego","temeritas","temperantia","templum","temptatio","tempus","tenax","tendo","teneo","tener","tenuis","tenus","tepesco","tepidus","ter","terebro","teres","terga","tergeo","tergiversatio","tergo","tergum","termes","terminatio","tero","terra","terreo","territo","terror","tersus","tertius","testimonium","texo","textilis","textor","textus","thalassinus","theatrum","theca","thema","theologus","thermae","thesaurus","thesis","thorax","thymbra","thymum","tibi","timidus","timor","titulus","tolero","tollo","tondeo","tonsor","torqueo","torrens","tot","totidem","toties","totus","tracto","trado","traho","trans","tredecim","tremo","trepide","tres","tribuo","tricesimus","triduana","triginta","tripudio","tristis","triumphus","trucido","truculenter","tubineus","tui","tum","tumultus","tunc","turba","turbo","turpe","turpis","tutamen","tutis","tyrannus","uberrime","ubi","ulciscor","ullus","ulterius","ultio","ultra","umbra","umerus","umquam","una","unde","undique","universe","unus","urbanus","urbs","uredo","usitas","usque","ustilo","ustulo","usus","uter","uterque","utilis","utique","utor","utpote","utrimque","utroque","utrum","uxor","vaco","vacuus","vado","vae","valde","valens","valeo","valetudo","validus","vallum","vapulus","varietas","varius","vehemens","vel","velociter","velum","velut","venia","venio","ventito","ventosus","ventus","venustas","ver","verbera","verbum","vere","verecundia","vereor","vergo","veritas","vero","versus","verto","verumtamen","verus","vesco","vesica","vesper","vespillo","vester","vestigium","vestrum","vetus","via","vicinus","vicissitudo","victoria","victus","videlicet","video","viduata","viduo","vigilo","vigor","vilicus","vilis","vilitas","villa","vinco","vinculum","vindico","vinitor","vinum","vir","virga","virgo","viridis","viriliter","virtus","vis","viscus","vita","vitiosus","vitium","vito","vivo","vix","vobis","vociferor","voco","volaticus","volo","volubilis","voluntarius","volup","volutabrum","volva","vomer","vomica","vomito","vorago","vorax","voro","vos","votum","voveo","vox","vulariter","vulgaris","vulgivagus","vulgo","vulgus","vulnero","vulnus","vulpes","vulticulus","vultuosus","xiphias"]})(SY);var Pet=SY.exports;(function(e){var t={};e.exports=t,t.words=Aet,t.supplemental=Pet})(wY);var Tet=wY.exports,jY={exports:{}},_Y={exports:{}};(function(e){e.exports=["James","John","Robert","Michael","William","David","Richard","Charles","Joseph","Thomas","Christopher","Daniel","Paul","Mark","Donald","George","Kenneth","Steven","Edward","Brian","Ronald","Anthony","Kevin","Jason","Matthew","Gary","Timothy","Jose","Larry","Jeffrey","Frank","Scott","Eric","Stephen","Andrew","Raymond","Gregory","Joshua","Jerry","Dennis","Walter","Patrick","Peter","Harold","Douglas","Henry","Carl","Arthur","Ryan","Roger","Joe","Juan","Jack","Albert","Jonathan","Justin","Terry","Gerald","Keith","Samuel","Willie","Ralph","Lawrence","Nicholas","Roy","Benjamin","Bruce","Brandon","Adam","Harry","Fred","Wayne","Billy","Steve","Louis","Jeremy","Aaron","Randy","Howard","Eugene","Carlos","Russell","Bobby","Victor","Martin","Ernest","Phillip","Todd","Jesse","Craig","Alan","Shawn","Clarence","Sean","Philip","Chris","Johnny","Earl","Jimmy","Antonio","Danny","Bryan","Tony","Luis","Mike","Stanley","Leonard","Nathan","Dale","Manuel","Rodney","Curtis","Norman","Allen","Marvin","Vincent","Glenn","Jeffery","Travis","Jeff","Chad","Jacob","Lee","Melvin","Alfred","Kyle","Francis","Bradley","Jesus","Herbert","Frederick","Ray","Joel","Edwin","Don","Eddie","Ricky","Troy","Randall","Barry","Alexander","Bernard","Mario","Leroy","Francisco","Marcus","Micheal","Theodore","Clifford","Miguel","Oscar","Jay","Jim","Tom","Calvin","Alex","Jon","Ronnie","Bill","Lloyd","Tommy","Leon","Derek","Warren","Darrell","Jerome","Floyd","Leo","Alvin","Tim","Wesley","Gordon","Dean","Greg","Jorge","Dustin","Pedro","Derrick","Dan","Lewis","Zachary","Corey","Herman","Maurice","Vernon","Roberto","Clyde","Glen","Hector","Shane","Ricardo","Sam","Rick","Lester","Brent","Ramon","Charlie","Tyler","Gilbert","Gene","Marc","Reginald","Ruben","Brett","Angel","Nathaniel","Rafael","Leslie","Edgar","Milton","Raul","Ben","Chester","Cecil","Duane","Franklin","Andre","Elmer","Brad","Gabriel","Ron","Mitchell","Roland","Arnold","Harvey","Jared","Adrian","Karl","Cory","Claude","Erik","Darryl","Jamie","Neil","Jessie","Christian","Javier","Fernando","Clinton","Ted","Mathew","Tyrone","Darren","Lonnie","Lance","Cody","Julio","Kelly","Kurt","Allan","Nelson","Guy","Clayton","Hugh","Max","Dwayne","Dwight","Armando","Felix","Jimmie","Everett","Jordan","Ian","Wallace","Ken","Bob","Jaime","Casey","Alfredo","Alberto","Dave","Ivan","Johnnie","Sidney","Byron","Julian","Isaac","Morris","Clifton","Willard","Daryl","Ross","Virgil","Andy","Marshall","Salvador","Perry","Kirk","Sergio","Marion","Tracy","Seth","Kent","Terrance","Rene","Eduardo","Terrence","Enrique","Freddie","Wade","Austin","Stuart","Fredrick","Arturo","Alejandro","Jackie","Joey","Nick","Luther","Wendell","Jeremiah","Evan","Julius","Dana","Donnie","Otis","Shannon","Trevor","Oliver","Luke","Homer","Gerard","Doug","Kenny","Hubert","Angelo","Shaun","Lyle","Matt","Lynn","Alfonso","Orlando","Rex","Carlton","Ernesto","Cameron","Neal","Pablo","Lorenzo","Omar","Wilbur","Blake","Grant","Horace","Roderick","Kerry","Abraham","Willis","Rickey","Jean","Ira","Andres","Cesar","Johnathan","Malcolm","Rudolph","Damon","Kelvin","Rudy","Preston","Alton","Archie","Marco","Wm","Pete","Randolph","Garry","Geoffrey","Jonathon","Felipe","Bennie","Gerardo","Ed","Dominic","Robin","Loren","Delbert","Colin","Guillermo","Earnest","Lucas","Benny","Noel","Spencer","Rodolfo","Myron","Edmund","Garrett","Salvatore","Cedric","Lowell","Gregg","Sherman","Wilson","Devin","Sylvester","Kim","Roosevelt","Israel","Jermaine","Forrest","Wilbert","Leland","Simon","Guadalupe","Clark","Irving","Carroll","Bryant","Owen","Rufus","Woodrow","Sammy","Kristopher","Mack","Levi","Marcos","Gustavo","Jake","Lionel","Marty","Taylor","Ellis","Dallas","Gilberto","Clint","Nicolas","Laurence","Ismael","Orville","Drew","Jody","Ervin","Dewey","Al","Wilfred","Josh","Hugo","Ignacio","Caleb","Tomas","Sheldon","Erick","Frankie","Stewart","Doyle","Darrel","Rogelio","Terence","Santiago","Alonzo","Elias","Bert","Elbert","Ramiro","Conrad","Pat","Noah","Grady","Phil","Cornelius","Lamar","Rolando","Clay","Percy","Dexter","Bradford","Merle","Darin","Amos","Terrell","Moses","Irvin","Saul","Roman","Darnell","Randal","Tommie","Timmy","Darrin","Winston","Brendan","Toby","Van","Abel","Dominick","Boyd","Courtney","Jan","Emilio","Elijah","Cary","Domingo","Santos","Aubrey","Emmett","Marlon","Emanuel","Jerald","Edmond"]})(_Y);var Met=_Y.exports,kY={exports:{}};(function(e){e.exports=["Mary","Patricia","Linda","Barbara","Elizabeth","Jennifer","Maria","Susan","Margaret","Dorothy","Lisa","Nancy","Karen","Betty","Helen","Sandra","Donna","Carol","Ruth","Sharon","Michelle","Laura","Sarah","Kimberly","Deborah","Jessica","Shirley","Cynthia","Angela","Melissa","Brenda","Amy","Anna","Rebecca","Virginia","Kathleen","Pamela","Martha","Debra","Amanda","Stephanie","Carolyn","Christine","Marie","Janet","Catherine","Frances","Ann","Joyce","Diane","Alice","Julie","Heather","Teresa","Doris","Gloria","Evelyn","Jean","Cheryl","Mildred","Katherine","Joan","Ashley","Judith","Rose","Janice","Kelly","Nicole","Judy","Christina","Kathy","Theresa","Beverly","Denise","Tammy","Irene","Jane","Lori","Rachel","Marilyn","Andrea","Kathryn","Louise","Sara","Anne","Jacqueline","Wanda","Bonnie","Julia","Ruby","Lois","Tina","Phyllis","Norma","Paula","Diana","Annie","Lillian","Emily","Robin","Peggy","Crystal","Gladys","Rita","Dawn","Connie","Florence","Tracy","Edna","Tiffany","Carmen","Rosa","Cindy","Grace","Wendy","Victoria","Edith","Kim","Sherry","Sylvia","Josephine","Thelma","Shannon","Sheila","Ethel","Ellen","Elaine","Marjorie","Carrie","Charlotte","Monica","Esther","Pauline","Emma","Juanita","Anita","Rhonda","Hazel","Amber","Eva","Debbie","April","Leslie","Clara","Lucille","Jamie","Joanne","Eleanor","Valerie","Danielle","Megan","Alicia","Suzanne","Michele","Gail","Bertha","Darlene","Veronica","Jill","Erin","Geraldine","Lauren","Cathy","Joann","Lorraine","Lynn","Sally","Regina","Erica","Beatrice","Dolores","Bernice","Audrey","Yvonne","Annette","June","Samantha","Marion","Dana","Stacy","Ana","Renee","Ida","Vivian","Roberta","Holly","Brittany","Melanie","Loretta","Yolanda","Jeanette","Laurie","Katie","Kristen","Vanessa","Alma","Sue","Elsie","Beth","Jeanne","Vicki","Carla","Tara","Rosemary","Eileen","Terri","Gertrude","Lucy","Tonya","Ella","Stacey","Wilma","Gina","Kristin","Jessie","Natalie","Agnes","Vera","Willie","Charlene","Bessie","Delores","Melinda","Pearl","Arlene","Maureen","Colleen","Allison","Tamara","Joy","Georgia","Constance","Lillie","Claudia","Jackie","Marcia","Tanya","Nellie","Minnie","Marlene","Heidi","Glenda","Lydia","Viola","Courtney","Marian","Stella","Caroline","Dora","Jo","Vickie","Mattie","Terry","Maxine","Irma","Mabel","Marsha","Myrtle","Lena","Christy","Deanna","Patsy","Hilda","Gwendolyn","Jennie","Nora","Margie","Nina","Cassandra","Leah","Penny","Kay","Priscilla","Naomi","Carole","Brandy","Olga","Billie","Dianne","Tracey","Leona","Jenny","Felicia","Sonia","Miriam","Velma","Becky","Bobbie","Violet","Kristina","Toni","Misty","Mae","Shelly","Daisy","Ramona","Sherri","Erika","Katrina","Claire","Lindsey","Lindsay","Geneva","Guadalupe","Belinda","Margarita","Sheryl","Cora","Faye","Ada","Natasha","Sabrina","Isabel","Marguerite","Hattie","Harriet","Molly","Cecilia","Kristi","Brandi","Blanche","Sandy","Rosie","Joanna","Iris","Eunice","Angie","Inez","Lynda","Madeline","Amelia","Alberta","Genevieve","Monique","Jodi","Janie","Maggie","Kayla","Sonya","Jan","Lee","Kristine","Candace","Fannie","Maryann","Opal","Alison","Yvette","Melody","Luz","Susie","Olivia","Flora","Shelley","Kristy","Mamie","Lula","Lola","Verna","Beulah","Antoinette","Candice","Juana","Jeannette","Pam","Kelli","Hannah","Whitney","Bridget","Karla","Celia","Latoya","Patty","Shelia","Gayle","Della","Vicky","Lynne","Sheri","Marianne","Kara","Jacquelyn","Erma","Blanca","Myra","Leticia","Pat","Krista","Roxanne","Angelica","Johnnie","Robyn","Francis","Adrienne","Rosalie","Alexandra","Brooke","Bethany","Sadie","Bernadette","Traci","Jody","Kendra","Jasmine","Nichole","Rachael","Chelsea","Mable","Ernestine","Muriel","Marcella","Elena","Krystal","Angelina","Nadine","Kari","Estelle","Dianna","Paulette","Lora","Mona","Doreen","Rosemarie","Angel","Desiree","Antonia","Hope","Ginger","Janis","Betsy","Christie","Freda","Mercedes","Meredith","Lynette","Teri","Cristina","Eula","Leigh","Meghan","Sophia","Eloise","Rochelle","Gretchen","Cecelia","Raquel","Henrietta","Alyssa","Jana","Kelley","Gwen","Kerry","Jenna","Tricia","Laverne","Olive","Alexis","Tasha","Silvia","Elvira","Casey","Delia","Sophie","Kate","Patti","Lorena","Kellie","Sonja","Lila","Lana","Darla","May","Mindy","Essie","Mandy","Lorene","Elsa","Josefina","Jeannie","Miranda","Dixie","Lucia","Marta","Faith","Lela","Johanna","Shari","Camille","Tami","Shawna","Elisa","Ebony","Melba","Ora","Nettie","Tabitha","Ollie","Jaime","Winifred","Kristie"]})(kY);var Oet=kY.exports,$Y={exports:{}};(function(e){e.exports=["Aaliyah","Aaron","Abagail","Abbey","Abbie","Abbigail","Abby","Abdiel","Abdul","Abdullah","Abe","Abel","Abelardo","Abigail","Abigale","Abigayle","Abner","Abraham","Ada","Adah","Adalberto","Adaline","Adam","Adan","Addie","Addison","Adela","Adelbert","Adele","Adelia","Adeline","Adell","Adella","Adelle","Aditya","Adolf","Adolfo","Adolph","Adolphus","Adonis","Adrain","Adrian","Adriana","Adrianna","Adriel","Adrien","Adrienne","Afton","Aglae","Agnes","Agustin","Agustina","Ahmad","Ahmed","Aida","Aidan","Aiden","Aileen","Aimee","Aisha","Aiyana","Akeem","Al","Alaina","Alan","Alana","Alanis","Alanna","Alayna","Alba","Albert","Alberta","Albertha","Alberto","Albin","Albina","Alda","Alden","Alec","Aleen","Alejandra","Alejandrin","Alek","Alena","Alene","Alessandra","Alessandro","Alessia","Aletha","Alex","Alexa","Alexander","Alexandra","Alexandre","Alexandrea","Alexandria","Alexandrine","Alexandro","Alexane","Alexanne","Alexie","Alexis","Alexys","Alexzander","Alf","Alfonso","Alfonzo","Alford","Alfred","Alfreda","Alfredo","Ali","Alia","Alice","Alicia","Alisa","Alisha","Alison","Alivia","Aliya","Aliyah","Aliza","Alize","Allan","Allen","Allene","Allie","Allison","Ally","Alphonso","Alta","Althea","Alva","Alvah","Alvena","Alvera","Alverta","Alvina","Alvis","Alyce","Alycia","Alysa","Alysha","Alyson","Alysson","Amalia","Amanda","Amani","Amara","Amari","Amaya","Amber","Ambrose","Amelia","Amelie","Amely","America","Americo","Amie","Amina","Amir","Amira","Amiya","Amos","Amparo","Amy","Amya","Ana","Anabel","Anabelle","Anahi","Anais","Anastacio","Anastasia","Anderson","Andre","Andreane","Andreanne","Andres","Andrew","Andy","Angel","Angela","Angelica","Angelina","Angeline","Angelita","Angelo","Angie","Angus","Anibal","Anika","Anissa","Anita","Aniya","Aniyah","Anjali","Anna","Annabel","Annabell","Annabelle","Annalise","Annamae","Annamarie","Anne","Annetta","Annette","Annie","Ansel","Ansley","Anthony","Antoinette","Antone","Antonetta","Antonette","Antonia","Antonietta","Antonina","Antonio","Antwan","Antwon","Anya","April","Ara","Araceli","Aracely","Arch","Archibald","Ardella","Arden","Ardith","Arely","Ari","Ariane","Arianna","Aric","Ariel","Arielle","Arjun","Arlene","Arlie","Arlo","Armand","Armando","Armani","Arnaldo","Arne","Arno","Arnold","Arnoldo","Arnulfo","Aron","Art","Arthur","Arturo","Arvel","Arvid","Arvilla","Aryanna","Asa","Asha","Ashlee","Ashleigh","Ashley","Ashly","Ashlynn","Ashton","Ashtyn","Asia","Assunta","Astrid","Athena","Aubree","Aubrey","Audie","Audra","Audreanne","Audrey","August","Augusta","Augustine","Augustus","Aurelia","Aurelie","Aurelio","Aurore","Austen","Austin","Austyn","Autumn","Ava","Avery","Avis","Axel","Ayana","Ayden","Ayla","Aylin","Baby","Bailee","Bailey","Barbara","Barney","Baron","Barrett","Barry","Bart","Bartholome","Barton","Baylee","Beatrice","Beau","Beaulah","Bell","Bella","Belle","Ben","Benedict","Benjamin","Bennett","Bennie","Benny","Benton","Berenice","Bernadette","Bernadine","Bernard","Bernardo","Berneice","Bernhard","Bernice","Bernie","Berniece","Bernita","Berry","Bert","Berta","Bertha","Bertram","Bertrand","Beryl","Bessie","Beth","Bethany","Bethel","Betsy","Bette","Bettie","Betty","Bettye","Beulah","Beverly","Bianka","Bill","Billie","Billy","Birdie","Blair","Blaise","Blake","Blanca","Blanche","Blaze","Bo","Bobbie","Bobby","Bonita","Bonnie","Boris","Boyd","Brad","Braden","Bradford","Bradley","Bradly","Brady","Braeden","Brain","Brandi","Brando","Brandon","Brandt","Brandy","Brandyn","Brannon","Branson","Brant","Braulio","Braxton","Brayan","Breana","Breanna","Breanne","Brenda","Brendan","Brenden","Brendon","Brenna","Brennan","Brennon","Brent","Bret","Brett","Bria","Brian","Briana","Brianne","Brice","Bridget","Bridgette","Bridie","Brielle","Brigitte","Brionna","Brisa","Britney","Brittany","Brock","Broderick","Brody","Brook","Brooke","Brooklyn","Brooks","Brown","Bruce","Bryana","Bryce","Brycen","Bryon","Buck","Bud","Buddy","Buford","Bulah","Burdette","Burley","Burnice","Buster","Cade","Caden","Caesar","Caitlyn","Cale","Caleb","Caleigh","Cali","Calista","Callie","Camden","Cameron","Camila","Camilla","Camille","Camren","Camron","Camryn","Camylle","Candace","Candelario","Candice","Candida","Candido","Cara","Carey","Carissa","Carlee","Carleton","Carley","Carli","Carlie","Carlo","Carlos","Carlotta","Carmel","Carmela","Carmella","Carmelo","Carmen","Carmine","Carol","Carolanne","Carole","Carolina","Caroline","Carolyn","Carolyne","Carrie","Carroll","Carson","Carter","Cary","Casandra","Casey","Casimer","Casimir","Casper","Cassandra","Cassandre","Cassidy","Cassie","Catalina","Caterina","Catharine","Catherine","Cathrine","Cathryn","Cathy","Cayla","Ceasar","Cecelia","Cecil","Cecile","Cecilia","Cedrick","Celestine","Celestino","Celia","Celine","Cesar","Chad","Chadd","Chadrick","Chaim","Chance","Chandler","Chanel","Chanelle","Charity","Charlene","Charles","Charley","Charlie","Charlotte","Chase","Chasity","Chauncey","Chaya","Chaz","Chelsea","Chelsey","Chelsie","Chesley","Chester","Chet","Cheyanne","Cheyenne","Chloe","Chris","Christ","Christa","Christelle","Christian","Christiana","Christina","Christine","Christop","Christophe","Christopher","Christy","Chyna","Ciara","Cicero","Cielo","Cierra","Cindy","Citlalli","Clair","Claire","Clara","Clarabelle","Clare","Clarissa","Clark","Claud","Claude","Claudia","Claudie","Claudine","Clay","Clemens","Clement","Clementina","Clementine","Clemmie","Cleo","Cleora","Cleta","Cletus","Cleve","Cleveland","Clifford","Clifton","Clint","Clinton","Clotilde","Clovis","Cloyd","Clyde","Coby","Cody","Colby","Cole","Coleman","Colin","Colleen","Collin","Colt","Colten","Colton","Columbus","Concepcion","Conner","Connie","Connor","Conor","Conrad","Constance","Constantin","Consuelo","Cooper","Cora","Coralie","Corbin","Cordelia","Cordell","Cordia","Cordie","Corene","Corine","Cornelius","Cornell","Corrine","Cortez","Cortney","Cory","Coty","Courtney","Coy","Craig","Crawford","Creola","Cristal","Cristian","Cristina","Cristobal","Cristopher","Cruz","Crystal","Crystel","Cullen","Curt","Curtis","Cydney","Cynthia","Cyril","Cyrus","Dagmar","Dahlia","Daija","Daisha","Daisy","Dakota","Dale","Dallas","Dallin","Dalton","Damaris","Dameon","Damian","Damien","Damion","Damon","Dan","Dana","Dandre","Dane","D'angelo","Dangelo","Danial","Daniela","Daniella","Danielle","Danika","Dannie","Danny","Dante","Danyka","Daphne","Daphnee","Daphney","Darby","Daren","Darian","Dariana","Darien","Dario","Darion","Darius","Darlene","Daron","Darrel","Darrell","Darren","Darrick","Darrin","Darrion","Darron","Darryl","Darwin","Daryl","Dashawn","Dasia","Dave","David","Davin","Davion","Davon","Davonte","Dawn","Dawson","Dax","Dayana","Dayna","Dayne","Dayton","Dean","Deangelo","Deanna","Deborah","Declan","Dedric","Dedrick","Dee","Deion","Deja","Dejah","Dejon","Dejuan","Delaney","Delbert","Delfina","Delia","Delilah","Dell","Della","Delmer","Delores","Delpha","Delphia","Delphine","Delta","Demarco","Demarcus","Demario","Demetris","Demetrius","Demond","Dena","Denis","Dennis","Deon","Deondre","Deontae","Deonte","Dereck","Derek","Derick","Deron","Derrick","Deshaun","Deshawn","Desiree","Desmond","Dessie","Destany","Destin","Destinee","Destiney","Destini","Destiny","Devan","Devante","Deven","Devin","Devon","Devonte","Devyn","Dewayne","Dewitt","Dexter","Diamond","Diana","Dianna","Diego","Dillan","Dillon","Dimitri","Dina","Dino","Dion","Dixie","Dock","Dolly","Dolores","Domenic","Domenica","Domenick","Domenico","Domingo","Dominic","Dominique","Don","Donald","Donato","Donavon","Donna","Donnell","Donnie","Donny","Dora","Dorcas","Dorian","Doris","Dorothea","Dorothy","Dorris","Dortha","Dorthy","Doug","Douglas","Dovie","Doyle","Drake","Drew","Duane","Dudley","Dulce","Duncan","Durward","Dustin","Dusty","Dwight","Dylan","Earl","Earlene","Earline","Earnest","Earnestine","Easter","Easton","Ebba","Ebony","Ed","Eda","Edd","Eddie","Eden","Edgar","Edgardo","Edison","Edmond","Edmund","Edna","Eduardo","Edward","Edwardo","Edwin","Edwina","Edyth","Edythe","Effie","Efrain","Efren","Eileen","Einar","Eino","Eladio","Elaina","Elbert","Elda","Eldon","Eldora","Eldred","Eldridge","Eleanora","Eleanore","Eleazar","Electa","Elena","Elenor","Elenora","Eleonore","Elfrieda","Eli","Elian","Eliane","Elias","Eliezer","Elijah","Elinor","Elinore","Elisa","Elisabeth","Elise","Eliseo","Elisha","Elissa","Eliza","Elizabeth","Ella","Ellen","Ellie","Elliot","Elliott","Ellis","Ellsworth","Elmer","Elmira","Elmo","Elmore","Elna","Elnora","Elody","Eloisa","Eloise","Elouise","Eloy","Elroy","Elsa","Else","Elsie","Elta","Elton","Elva","Elvera","Elvie","Elvis","Elwin","Elwyn","Elyse","Elyssa","Elza","Emanuel","Emelia","Emelie","Emely","Emerald","Emerson","Emery","Emie","Emil","Emile","Emilia","Emiliano","Emilie","Emilio","Emily","Emma","Emmalee","Emmanuel","Emmanuelle","Emmet","Emmett","Emmie","Emmitt","Emmy","Emory","Ena","Enid","Enoch","Enola","Enos","Enrico","Enrique","Ephraim","Era","Eriberto","Eric","Erica","Erich","Erick","Ericka","Erik","Erika","Erin","Erling","Erna","Ernest","Ernestina","Ernestine","Ernesto","Ernie","Ervin","Erwin","Eryn","Esmeralda","Esperanza","Esta","Esteban","Estefania","Estel","Estell","Estella","Estelle","Estevan","Esther","Estrella","Etha","Ethan","Ethel","Ethelyn","Ethyl","Ettie","Eudora","Eugene","Eugenia","Eula","Eulah","Eulalia","Euna","Eunice","Eusebio","Eva","Evalyn","Evan","Evangeline","Evans","Eve","Eveline","Evelyn","Everardo","Everett","Everette","Evert","Evie","Ewald","Ewell","Ezekiel","Ezequiel","Ezra","Fabian","Fabiola","Fae","Fannie","Fanny","Fatima","Faustino","Fausto","Favian","Fay","Faye","Federico","Felicia","Felicita","Felicity","Felipa","Felipe","Felix","Felton","Fermin","Fern","Fernando","Ferne","Fidel","Filiberto","Filomena","Finn","Fiona","Flavie","Flavio","Fleta","Fletcher","Flo","Florence","Florencio","Florian","Florida","Florine","Flossie","Floy","Floyd","Ford","Forest","Forrest","Foster","Frances","Francesca","Francesco","Francis","Francisca","Francisco","Franco","Frank","Frankie","Franz","Fred","Freda","Freddie","Freddy","Frederic","Frederick","Frederik","Frederique","Fredrick","Fredy","Freeda","Freeman","Freida","Frida","Frieda","Friedrich","Fritz","Furman","Gabe","Gabriel","Gabriella","Gabrielle","Gaetano","Gage","Gail","Gardner","Garett","Garfield","Garland","Garnet","Garnett","Garret","Garrett","Garrick","Garrison","Garry","Garth","Gaston","Gavin","Gay","Gayle","Gaylord","Gene","General","Genesis","Genevieve","Gennaro","Genoveva","Geo","Geoffrey","George","Georgette","Georgiana","Georgianna","Geovanni","Geovanny","Geovany","Gerald","Geraldine","Gerard","Gerardo","Gerda","Gerhard","Germaine","German","Gerry","Gerson","Gertrude","Gia","Gianni","Gideon","Gilbert","Gilberto","Gilda","Giles","Gillian","Gina","Gino","Giovani","Giovanna","Giovanni","Giovanny","Gisselle","Giuseppe","Gladyce","Gladys","Glen","Glenda","Glenna","Glennie","Gloria","Godfrey","Golda","Golden","Gonzalo","Gordon","Grace","Gracie","Graciela","Grady","Graham","Grant","Granville","Grayce","Grayson","Green","Greg","Gregg","Gregoria","Gregorio","Gregory","Greta","Gretchen","Greyson","Griffin","Grover","Guadalupe","Gudrun","Guido","Guillermo","Guiseppe","Gunnar","Gunner","Gus","Gussie","Gust","Gustave","Guy","Gwen","Gwendolyn","Hadley","Hailee","Hailey","Hailie","Hal","Haleigh","Haley","Halie","Halle","Hallie","Hank","Hanna","Hannah","Hans","Hardy","Harley","Harmon","Harmony","Harold","Harrison","Harry","Harvey","Haskell","Hassan","Hassie","Hattie","Haven","Hayden","Haylee","Hayley","Haylie","Hazel","Hazle","Heath","Heather","Heaven","Heber","Hector","Heidi","Helen","Helena","Helene","Helga","Hellen","Helmer","Heloise","Henderson","Henri","Henriette","Henry","Herbert","Herman","Hermann","Hermina","Herminia","Herminio","Hershel","Herta","Hertha","Hester","Hettie","Hilario","Hilbert","Hilda","Hildegard","Hillard","Hillary","Hilma","Hilton","Hipolito","Hiram","Hobart","Holden","Hollie","Hollis","Holly","Hope","Horace","Horacio","Hortense","Hosea","Houston","Howard","Howell","Hoyt","Hubert","Hudson","Hugh","Hulda","Humberto","Hunter","Hyman","Ian","Ibrahim","Icie","Ida","Idell","Idella","Ignacio","Ignatius","Ike","Ila","Ilene","Iliana","Ima","Imani","Imelda","Immanuel","Imogene","Ines","Irma","Irving","Irwin","Isaac","Isabel","Isabell","Isabella","Isabelle","Isac","Isadore","Isai","Isaiah","Isaias","Isidro","Ismael","Isobel","Isom","Israel","Issac","Itzel","Iva","Ivah","Ivory","Ivy","Izabella","Izaiah","Jabari","Jace","Jacey","Jacinthe","Jacinto","Jack","Jackeline","Jackie","Jacklyn","Jackson","Jacky","Jaclyn","Jacquelyn","Jacques","Jacynthe","Jada","Jade","Jaden","Jadon","Jadyn","Jaeden","Jaida","Jaiden","Jailyn","Jaime","Jairo","Jakayla","Jake","Jakob","Jaleel","Jalen","Jalon","Jalyn","Jamaal","Jamal","Jamar","Jamarcus","Jamel","Jameson","Jamey","Jamie","Jamil","Jamir","Jamison","Jammie","Jan","Jana","Janae","Jane","Janelle","Janessa","Janet","Janice","Janick","Janie","Janis","Janiya","Jannie","Jany","Jaquan","Jaquelin","Jaqueline","Jared","Jaren","Jarod","Jaron","Jarred","Jarrell","Jarret","Jarrett","Jarrod","Jarvis","Jasen","Jasmin","Jason","Jasper","Jaunita","Javier","Javon","Javonte","Jay","Jayce","Jaycee","Jayda","Jayde","Jayden","Jaydon","Jaylan","Jaylen","Jaylin","Jaylon","Jayme","Jayne","Jayson","Jazlyn","Jazmin","Jazmyn","Jazmyne","Jean","Jeanette","Jeanie","Jeanne","Jed","Jedediah","Jedidiah","Jeff","Jefferey","Jeffery","Jeffrey","Jeffry","Jena","Jenifer","Jennie","Jennifer","Jennings","Jennyfer","Jensen","Jerad","Jerald","Jeramie","Jeramy","Jerel","Jeremie","Jeremy","Jermain","Jermaine","Jermey","Jerod","Jerome","Jeromy","Jerrell","Jerrod","Jerrold","Jerry","Jess","Jesse","Jessica","Jessie","Jessika","Jessy","Jessyca","Jesus","Jett","Jettie","Jevon","Jewel","Jewell","Jillian","Jimmie","Jimmy","Jo","Joan","Joana","Joanie","Joanne","Joannie","Joanny","Joany","Joaquin","Jocelyn","Jodie","Jody","Joe","Joel","Joelle","Joesph","Joey","Johan","Johann","Johanna","Johathan","John","Johnathan","Johnathon","Johnnie","Johnny","Johnpaul","Johnson","Jolie","Jon","Jonas","Jonatan","Jonathan","Jonathon","Jordan","Jordane","Jordi","Jordon","Jordy","Jordyn","Jorge","Jose","Josefa","Josefina","Joseph","Josephine","Josh","Joshua","Joshuah","Josiah","Josiane","Josianne","Josie","Josue","Jovan","Jovani","Jovanny","Jovany","Joy","Joyce","Juana","Juanita","Judah","Judd","Jude","Judge","Judson","Judy","Jules","Julia","Julian","Juliana","Julianne","Julie","Julien","Juliet","Julio","Julius","June","Junior","Junius","Justen","Justice","Justina","Justine","Juston","Justus","Justyn","Juvenal","Juwan","Kacey","Kaci","Kacie","Kade","Kaden","Kadin","Kaela","Kaelyn","Kaia","Kailee","Kailey","Kailyn","Kaitlin","Kaitlyn","Kale","Kaleb","Kaleigh","Kaley","Kali","Kallie","Kameron","Kamille","Kamren","Kamron","Kamryn","Kane","Kara","Kareem","Karelle","Karen","Kari","Kariane","Karianne","Karina","Karine","Karl","Karlee","Karley","Karli","Karlie","Karolann","Karson","Kasandra","Kasey","Kassandra","Katarina","Katelin","Katelyn","Katelynn","Katharina","Katherine","Katheryn","Kathleen","Kathlyn","Kathryn","Kathryne","Katlyn","Katlynn","Katrina","Katrine","Kattie","Kavon","Kay","Kaya","Kaycee","Kayden","Kayla","Kaylah","Kaylee","Kayleigh","Kayley","Kayli","Kaylie","Kaylin","Keagan","Keanu","Keara","Keaton","Keegan","Keeley","Keely","Keenan","Keira","Keith","Kellen","Kelley","Kelli","Kellie","Kelly","Kelsi","Kelsie","Kelton","Kelvin","Ken","Kendall","Kendra","Kendrick","Kenna","Kennedi","Kennedy","Kenneth","Kennith","Kenny","Kenton","Kenya","Kenyatta","Kenyon","Keon","Keshaun","Keshawn","Keven","Kevin","Kevon","Keyon","Keyshawn","Khalid","Khalil","Kian","Kiana","Kianna","Kiara","Kiarra","Kiel","Kiera","Kieran","Kiley","Kim","Kimberly","King","Kip","Kira","Kirk","Kirsten","Kirstin","Kitty","Kobe","Koby","Kody","Kolby","Kole","Korbin","Korey","Kory","Kraig","Kris","Krista","Kristian","Kristin","Kristina","Kristofer","Kristoffer","Kristopher","Kristy","Krystal","Krystel","Krystina","Kurt","Kurtis","Kyla","Kyle","Kylee","Kyleigh","Kyler","Kylie","Kyra","Lacey","Lacy","Ladarius","Lafayette","Laila","Laisha","Lamar","Lambert","Lamont","Lance","Landen","Lane","Laney","Larissa","Laron","Larry","Larue","Laura","Laurel","Lauren","Laurence","Lauretta","Lauriane","Laurianne","Laurie","Laurine","Laury","Lauryn","Lavada","Lavern","Laverna","Laverne","Lavina","Lavinia","Lavon","Lavonne","Lawrence","Lawson","Layla","Layne","Lazaro","Lea","Leann","Leanna","Leanne","Leatha","Leda","Lee","Leif","Leila","Leilani","Lela","Lelah","Leland","Lelia","Lempi","Lemuel","Lenna","Lennie","Lenny","Lenora","Lenore","Leo","Leola","Leon","Leonard","Leonardo","Leone","Leonel","Leonie","Leonor","Leonora","Leopold","Leopoldo","Leora","Lera","Lesley","Leslie","Lesly","Lessie","Lester","Leta","Letha","Letitia","Levi","Lew","Lewis","Lexi","Lexie","Lexus","Lia","Liam","Liana","Libbie","Libby","Lila","Lilian","Liliana","Liliane","Lilla","Lillian","Lilliana","Lillie","Lilly","Lily","Lilyan","Lina","Lincoln","Linda","Lindsay","Lindsey","Linnea","Linnie","Linwood","Lionel","Lisa","Lisandro","Lisette","Litzy","Liza","Lizeth","Lizzie","Llewellyn","Lloyd","Logan","Lois","Lola","Lolita","Loma","Lon","London","Lonie","Lonnie","Lonny","Lonzo","Lora","Loraine","Loren","Lorena","Lorenz","Lorenza","Lorenzo","Lori","Lorine","Lorna","Lottie","Lou","Louie","Louisa","Lourdes","Louvenia","Lowell","Loy","Loyal","Loyce","Lucas","Luciano","Lucie","Lucienne","Lucile","Lucinda","Lucio","Lucious","Lucius","Lucy","Ludie","Ludwig","Lue","Luella","Luigi","Luis","Luisa","Lukas","Lula","Lulu","Luna","Lupe","Lura","Lurline","Luther","Luz","Lyda","Lydia","Lyla","Lynn","Lyric","Lysanne","Mabel","Mabelle","Mable","Mac","Macey","Maci","Macie","Mack","Mackenzie","Macy","Madaline","Madalyn","Maddison","Madeline","Madelyn","Madelynn","Madge","Madie","Madilyn","Madisen","Madison","Madisyn","Madonna","Madyson","Mae","Maegan","Maeve","Mafalda","Magali","Magdalen","Magdalena","Maggie","Magnolia","Magnus","Maia","Maida","Maiya","Major","Makayla","Makenna","Makenzie","Malachi","Malcolm","Malika","Malinda","Mallie","Mallory","Malvina","Mandy","Manley","Manuel","Manuela","Mara","Marc","Marcel","Marcelina","Marcelino","Marcella","Marcelle","Marcellus","Marcelo","Marcia","Marco","Marcos","Marcus","Margaret","Margarete","Margarett","Margaretta","Margarette","Margarita","Marge","Margie","Margot","Margret","Marguerite","Maria","Mariah","Mariam","Marian","Mariana","Mariane","Marianna","Marianne","Mariano","Maribel","Marie","Mariela","Marielle","Marietta","Marilie","Marilou","Marilyne","Marina","Mario","Marion","Marisa","Marisol","Maritza","Marjolaine","Marjorie","Marjory","Mark","Markus","Marlee","Marlen","Marlene","Marley","Marlin","Marlon","Marques","Marquis","Marquise","Marshall","Marta","Martin","Martina","Martine","Marty","Marvin","Mary","Maryam","Maryjane","Maryse","Mason","Mateo","Mathew","Mathias","Mathilde","Matilda","Matilde","Matt","Matteo","Mattie","Maud","Maude","Maudie","Maureen","Maurice","Mauricio","Maurine","Maverick","Mavis","Max","Maxie","Maxime","Maximilian","Maximillia","Maximillian","Maximo","Maximus","Maxine","Maxwell","May","Maya","Maybell","Maybelle","Maye","Maymie","Maynard","Mayra","Mazie","Mckayla","Mckenna","Mckenzie","Meagan","Meaghan","Meda","Megane","Meggie","Meghan","Mekhi","Melany","Melba","Melisa","Melissa","Mellie","Melody","Melvin","Melvina","Melyna","Melyssa","Mercedes","Meredith","Merl","Merle","Merlin","Merritt","Mertie","Mervin","Meta","Mia","Micaela","Micah","Michael","Michaela","Michale","Micheal","Michel","Michele","Michelle","Miguel","Mikayla","Mike","Mikel","Milan","Miles","Milford","Miller","Millie","Milo","Milton","Mina","Minerva","Minnie","Miracle","Mireille","Mireya","Misael","Missouri","Misty","Mitchel","Mitchell","Mittie","Modesta","Modesto","Mohamed","Mohammad","Mohammed","Moises","Mollie","Molly","Mona","Monica","Monique","Monroe","Monserrat","Monserrate","Montana","Monte","Monty","Morgan","Moriah","Morris","Mortimer","Morton","Mose","Moses","Moshe","Mossie","Mozell","Mozelle","Muhammad","Muriel","Murl","Murphy","Murray","Mustafa","Mya","Myah","Mylene","Myles","Myra","Myriam","Myrl","Myrna","Myron","Myrtice","Myrtie","Myrtis","Myrtle","Nadia","Nakia","Name","Nannie","Naomi","Naomie","Napoleon","Narciso","Nash","Nasir","Nat","Natalia","Natalie","Natasha","Nathan","Nathanael","Nathanial","Nathaniel","Nathen","Nayeli","Neal","Ned","Nedra","Neha","Neil","Nelda","Nella","Nelle","Nellie","Nels","Nelson","Neoma","Nestor","Nettie","Neva","Newell","Newton","Nia","Nicholas","Nicholaus","Nichole","Nick","Nicklaus","Nickolas","Nico","Nicola","Nicolas","Nicole","Nicolette","Nigel","Nikita","Nikki","Nikko","Niko","Nikolas","Nils","Nina","Noah","Noble","Noe","Noel","Noelia","Noemi","Noemie","Noemy","Nola","Nolan","Nona","Nora","Norbert","Norberto","Norene","Norma","Norris","Norval","Norwood","Nova","Novella","Nya","Nyah","Nyasia","Obie","Oceane","Ocie","Octavia","Oda","Odell","Odessa","Odie","Ofelia","Okey","Ola","Olaf","Ole","Olen","Oleta","Olga","Olin","Oliver","Ollie","Oma","Omari","Omer","Ona","Onie","Opal","Ophelia","Ora","Oral","Oran","Oren","Orie","Orin","Orion","Orland","Orlando","Orlo","Orpha","Orrin","Orval","Orville","Osbaldo","Osborne","Oscar","Osvaldo","Oswald","Oswaldo","Otha","Otho","Otilia","Otis","Ottilie","Ottis","Otto","Ova","Owen","Ozella","Pablo","Paige","Palma","Pamela","Pansy","Paolo","Paris","Parker","Pascale","Pasquale","Pat","Patience","Patricia","Patrick","Patsy","Pattie","Paul","Paula","Pauline","Paxton","Payton","Pearl","Pearlie","Pearline","Pedro","Peggie","Penelope","Percival","Percy","Perry","Pete","Peter","Petra","Peyton","Philip","Phoebe","Phyllis","Pierce","Pierre","Pietro","Pink","Pinkie","Piper","Polly","Porter","Precious","Presley","Preston","Price","Prince","Princess","Priscilla","Providenci","Prudence","Queen","Queenie","Quentin","Quincy","Quinn","Quinten","Quinton","Rachael","Rachel","Rachelle","Rae","Raegan","Rafael","Rafaela","Raheem","Rahsaan","Rahul","Raina","Raleigh","Ralph","Ramiro","Ramon","Ramona","Randal","Randall","Randi","Randy","Ransom","Raoul","Raphael","Raphaelle","Raquel","Rashad","Rashawn","Rasheed","Raul","Raven","Ray","Raymond","Raymundo","Reagan","Reanna","Reba","Rebeca","Rebecca","Rebeka","Rebekah","Reece","Reed","Reese","Regan","Reggie","Reginald","Reid","Reilly","Reina","Reinhold","Remington","Rene","Renee","Ressie","Reta","Retha","Retta","Reuben","Reva","Rex","Rey","Reyes","Reymundo","Reyna","Reynold","Rhea","Rhett","Rhianna","Rhiannon","Rhoda","Ricardo","Richard","Richie","Richmond","Rick","Rickey","Rickie","Ricky","Rico","Rigoberto","Riley","Rita","River","Robb","Robbie","Robert","Roberta","Roberto","Robin","Robyn","Rocio","Rocky","Rod","Roderick","Rodger","Rodolfo","Rodrick","Rodrigo","Roel","Rogelio","Roger","Rogers","Rolando","Rollin","Roma","Romaine","Roman","Ron","Ronaldo","Ronny","Roosevelt","Rory","Rosa","Rosalee","Rosalia","Rosalind","Rosalinda","Rosalyn","Rosamond","Rosanna","Rosario","Roscoe","Rose","Rosella","Roselyn","Rosemarie","Rosemary","Rosendo","Rosetta","Rosie","Rosina","Roslyn","Ross","Rossie","Rowan","Rowena","Rowland","Roxane","Roxanne","Roy","Royal","Royce","Rozella","Ruben","Rubie","Ruby","Rubye","Rudolph","Rudy","Rupert","Russ","Russel","Russell","Rusty","Ruth","Ruthe","Ruthie","Ryan","Ryann","Ryder","Rylan","Rylee","Ryleigh","Ryley","Sabina","Sabrina","Sabryna","Sadie","Sadye","Sage","Saige","Sallie","Sally","Salma","Salvador","Salvatore","Sam","Samanta","Samantha","Samara","Samir","Sammie","Sammy","Samson","Sandra","Sandrine","Sandy","Sanford","Santa","Santiago","Santina","Santino","Santos","Sarah","Sarai","Sarina","Sasha","Saul","Savanah","Savanna","Savannah","Savion","Scarlett","Schuyler","Scot","Scottie","Scotty","Seamus","Sean","Sebastian","Sedrick","Selena","Selina","Selmer","Serena","Serenity","Seth","Shad","Shaina","Shakira","Shana","Shane","Shanel","Shanelle","Shania","Shanie","Shaniya","Shanna","Shannon","Shanny","Shanon","Shany","Sharon","Shaun","Shawn","Shawna","Shaylee","Shayna","Shayne","Shea","Sheila","Sheldon","Shemar","Sheridan","Sherman","Sherwood","Shirley","Shyann","Shyanne","Sibyl","Sid","Sidney","Sienna","Sierra","Sigmund","Sigrid","Sigurd","Silas","Sim","Simeon","Simone","Sincere","Sister","Skye","Skyla","Skylar","Sofia","Soledad","Solon","Sonia","Sonny","Sonya","Sophia","Sophie","Spencer","Stacey","Stacy","Stan","Stanford","Stanley","Stanton","Stefan","Stefanie","Stella","Stephan","Stephania","Stephanie","Stephany","Stephen","Stephon","Sterling","Steve","Stevie","Stewart","Stone","Stuart","Summer","Sunny","Susan","Susana","Susanna","Susie","Suzanne","Sven","Syble","Sydnee","Sydney","Sydni","Sydnie","Sylvan","Sylvester","Sylvia","Tabitha","Tad","Talia","Talon","Tamara","Tamia","Tania","Tanner","Tanya","Tara","Taryn","Tate","Tatum","Tatyana","Taurean","Tavares","Taya","Taylor","Teagan","Ted","Telly","Terence","Teresa","Terrance","Terrell","Terrence","Terrill","Terry","Tess","Tessie","Tevin","Thad","Thaddeus","Thalia","Thea","Thelma","Theo","Theodora","Theodore","Theresa","Therese","Theresia","Theron","Thomas","Thora","Thurman","Tia","Tiana","Tianna","Tiara","Tierra","Tiffany","Tillman","Timmothy","Timmy","Timothy","Tina","Tito","Titus","Tobin","Toby","Tod","Tom","Tomas","Tomasa","Tommie","Toney","Toni","Tony","Torey","Torrance","Torrey","Toy","Trace","Tracey","Tracy","Travis","Travon","Tre","Tremaine","Tremayne","Trent","Trenton","Tressa","Tressie","Treva","Trever","Trevion","Trevor","Trey","Trinity","Trisha","Tristian","Tristin","Triston","Troy","Trudie","Trycia","Trystan","Turner","Twila","Tyler","Tyra","Tyree","Tyreek","Tyrel","Tyrell","Tyrese","Tyrique","Tyshawn","Tyson","Ubaldo","Ulices","Ulises","Una","Unique","Urban","Uriah","Uriel","Ursula","Vada","Valentin","Valentina","Valentine","Valerie","Vallie","Van","Vance","Vanessa","Vaughn","Veda","Velda","Vella","Velma","Velva","Vena","Verda","Verdie","Vergie","Verla","Verlie","Vern","Verna","Verner","Vernice","Vernie","Vernon","Verona","Veronica","Vesta","Vicenta","Vicente","Vickie","Vicky","Victor","Victoria","Vida","Vidal","Vilma","Vince","Vincent","Vincenza","Vincenzo","Vinnie","Viola","Violet","Violette","Virgie","Virgil","Virginia","Virginie","Vita","Vito","Viva","Vivian","Viviane","Vivianne","Vivien","Vivienne","Vladimir","Wade","Waino","Waldo","Walker","Wallace","Walter","Walton","Wanda","Ward","Warren","Watson","Wava","Waylon","Wayne","Webster","Weldon","Wellington","Wendell","Wendy","Werner","Westley","Weston","Whitney","Wilber","Wilbert","Wilburn","Wiley","Wilford","Wilfred","Wilfredo","Wilfrid","Wilhelm","Wilhelmine","Will","Willa","Willard","William","Willie","Willis","Willow","Willy","Wilma","Wilmer","Wilson","Wilton","Winfield","Winifred","Winnifred","Winona","Winston","Woodrow","Wyatt","Wyman","Xander","Xavier","Xzavier","Yadira","Yasmeen","Yasmin","Yasmine","Yazmin","Yesenia","Yessenia","Yolanda","Yoshiko","Yvette","Yvonne","Zachariah","Zachary","Zachery","Zack","Zackary","Zackery","Zakary","Zander","Zane","Zaria","Zechariah","Zelda","Zella","Zelma","Zena","Zetta","Zion","Zita","Zoe","Zoey","Zoie","Zoila","Zola","Zora","Zula"]})($Y);var zet=$Y.exports,EY={exports:{}};(function(e){e.exports=["Abbott","Abernathy","Abshire","Adams","Altenwerth","Anderson","Ankunding","Armstrong","Auer","Aufderhar","Bahringer","Bailey","Balistreri","Barrows","Bartell","Bartoletti","Barton","Bashirian","Batz","Bauch","Baumbach","Bayer","Beahan","Beatty","Bechtelar","Becker","Bednar","Beer","Beier","Berge","Bergnaum","Bergstrom","Bernhard","Bernier","Bins","Blanda","Blick","Block","Bode","Boehm","Bogan","Bogisich","Borer","Bosco","Botsford","Boyer","Boyle","Bradtke","Brakus","Braun","Breitenberg","Brekke","Brown","Bruen","Buckridge","Carroll","Carter","Cartwright","Casper","Cassin","Champlin","Christiansen","Cole","Collier","Collins","Conn","Connelly","Conroy","Considine","Corkery","Cormier","Corwin","Cremin","Crist","Crona","Cronin","Crooks","Cruickshank","Cummerata","Cummings","Dach","D'Amore","Daniel","Dare","Daugherty","Davis","Deckow","Denesik","Dibbert","Dickens","Dicki","Dickinson","Dietrich","Donnelly","Dooley","Douglas","Doyle","DuBuque","Durgan","Ebert","Effertz","Emard","Emmerich","Erdman","Ernser","Fadel","Fahey","Farrell","Fay","Feeney","Feest","Feil","Ferry","Fisher","Flatley","Frami","Franecki","Friesen","Fritsch","Funk","Gaylord","Gerhold","Gerlach","Gibson","Gislason","Gleason","Gleichner","Glover","Goldner","Goodwin","Gorczany","Gottlieb","Goyette","Grady","Graham","Grant","Green","Greenfelder","Greenholt","Grimes","Gulgowski","Gusikowski","Gutkowski","Gutmann","Haag","Hackett","Hagenes","Hahn","Haley","Halvorson","Hamill","Hammes","Hand","Hane","Hansen","Harber","Harris","Hartmann","Harvey","Hauck","Hayes","Heaney","Heathcote","Hegmann","Heidenreich","Heller","Herman","Hermann","Hermiston","Herzog","Hessel","Hettinger","Hickle","Hilll","Hills","Hilpert","Hintz","Hirthe","Hodkiewicz","Hoeger","Homenick","Hoppe","Howe","Howell","Hudson","Huel","Huels","Hyatt","Jacobi","Jacobs","Jacobson","Jakubowski","Jaskolski","Jast","Jenkins","Jerde","Johns","Johnson","Johnston","Jones","Kassulke","Kautzer","Keebler","Keeling","Kemmer","Kerluke","Kertzmann","Kessler","Kiehn","Kihn","Kilback","King","Kirlin","Klein","Kling","Klocko","Koch","Koelpin","Koepp","Kohler","Konopelski","Koss","Kovacek","Kozey","Krajcik","Kreiger","Kris","Kshlerin","Kub","Kuhic","Kuhlman","Kuhn","Kulas","Kunde","Kunze","Kuphal","Kutch","Kuvalis","Labadie","Lakin","Lang","Langosh","Langworth","Larkin","Larson","Leannon","Lebsack","Ledner","Leffler","Legros","Lehner","Lemke","Lesch","Leuschke","Lind","Lindgren","Littel","Little","Lockman","Lowe","Lubowitz","Lueilwitz","Luettgen","Lynch","Macejkovic","MacGyver","Maggio","Mann","Mante","Marks","Marquardt","Marvin","Mayer","Mayert","McClure","McCullough","McDermott","McGlynn","McKenzie","McLaughlin","Medhurst","Mertz","Metz","Miller","Mills","Mitchell","Moen","Mohr","Monahan","Moore","Morar","Morissette","Mosciski","Mraz","Mueller","Muller","Murazik","Murphy","Murray","Nader","Nicolas","Nienow","Nikolaus","Nitzsche","Nolan","Oberbrunner","O'Connell","O'Conner","O'Hara","O'Keefe","O'Kon","Okuneva","Olson","Ondricka","O'Reilly","Orn","Ortiz","Osinski","Pacocha","Padberg","Pagac","Parisian","Parker","Paucek","Pfannerstill","Pfeffer","Pollich","Pouros","Powlowski","Predovic","Price","Prohaska","Prosacco","Purdy","Quigley","Quitzon","Rath","Ratke","Rau","Raynor","Reichel","Reichert","Reilly","Reinger","Rempel","Renner","Reynolds","Rice","Rippin","Ritchie","Robel","Roberts","Rodriguez","Rogahn","Rohan","Rolfson","Romaguera","Roob","Rosenbaum","Rowe","Ruecker","Runolfsdottir","Runolfsson","Runte","Russel","Rutherford","Ryan","Sanford","Satterfield","Sauer","Sawayn","Schaden","Schaefer","Schamberger","Schiller","Schimmel","Schinner","Schmeler","Schmidt","Schmitt","Schneider","Schoen","Schowalter","Schroeder","Schulist","Schultz","Schumm","Schuppe","Schuster","Senger","Shanahan","Shields","Simonis","Sipes","Skiles","Smith","Smitham","Spencer","Spinka","Sporer","Stamm","Stanton","Stark","Stehr","Steuber","Stiedemann","Stokes","Stoltenberg","Stracke","Streich","Stroman","Strosin","Swaniawski","Swift","Terry","Thiel","Thompson","Tillman","Torp","Torphy","Towne","Toy","Trantow","Tremblay","Treutel","Tromp","Turcotte","Turner","Ullrich","Upton","Vandervort","Veum","Volkman","Von","VonRueden","Waelchi","Walker","Walsh","Walter","Ward","Waters","Watsica","Weber","Wehner","Weimann","Weissnat","Welch","West","White","Wiegand","Wilderman","Wilkinson","Will","Williamson","Willms","Windler","Wintheiser","Wisoky","Wisozk","Witting","Wiza","Wolf","Wolff","Wuckert","Wunsch","Wyman","Yost","Yundt","Zboncak","Zemlak","Ziemann","Zieme","Zulauf"]})(EY);var Iet=EY.exports,RY={exports:{}};(function(e){e.exports=["Asexual","Female to male trans man","Female to male transgender man","Female to male transsexual man","F2M","Gender neutral","Hermaphrodite","Intersex man","Intersex person","Intersex woman","Male to female trans woman","Male to female transgender woman","Male to female transsexual woman","Man","M2F","Polygender","T* man","T* woman","Two* person","Two-spirit person","Woman","Agender","Androgyne","Androgynes","Androgynous","Bigender","Cis","Cis Female","Cis Male","Cis Man","Cis Woman","Cisgender","Cisgender Female","Cisgender Male","Cisgender Man","Cisgender Woman","Female to Male","FTM","Gender Fluid","Gender Nonconforming","Gender Questioning","Gender Variant","Genderqueer","Intersex","Male to Female","MTF","Neither","Neutrois","Non-binary","Other","Pangender","Trans","Trans Female","Trans Male","Trans Man","Trans Person","Trans*Female","Trans*Male","Trans*Man","Trans*Person","Trans*Woman","Transexual","Transexual Female","Transexual Male","Transexual Man","Transexual Person","Transexual Woman","Transgender Female","Transgender Person","Transmasculine","Two-spirit"]})(RY);var Let=RY.exports,AY={exports:{}};(function(e){e.exports=["Mr.","Mrs.","Ms.","Miss","Dr."]})(AY);var Det=AY.exports,PY={exports:{}};(function(e){e.exports=["Jr.","Sr.","I","II","III","IV","V","MD","DDS","PhD","DVM"]})(PY);var Net=PY.exports,TY={exports:{}};(function(e){e.exports={descriptor:["Lead","Senior","Direct","Corporate","Dynamic","Future","Product","National","Regional","District","Central","Global","Customer","Investor","Dynamic","International","Legacy","Forward","Internal","Human","Chief","Principal"],level:["Solutions","Program","Brand","Security","Research","Marketing","Directives","Implementation","Integration","Functionality","Response","Paradigm","Tactics","Identity","Markets","Group","Division","Applications","Optimization","Operations","Infrastructure","Intranet","Communications","Web","Branding","Quality","Assurance","Mobility","Accounts","Data","Creative","Configuration","Accountability","Interactions","Factors","Usability","Metrics"],job:["Supervisor","Associate","Executive","Liaison","Officer","Manager","Engineer","Specialist","Director","Coordinator","Administrator","Architect","Analyst","Designer","Planner","Orchestrator","Technician","Developer","Producer","Consultant","Assistant","Facilitator","Agent","Representative","Strategist"]}})(TY);var Fet=TY.exports,MY={exports:{}};(function(e){e.exports=["#{prefix} #{first_name} #{last_name}","#{first_name} #{last_name} #{suffix}","#{first_name} #{last_name}","#{first_name} #{last_name}","#{male_first_name} #{last_name}","#{female_first_name} #{last_name}"]})(MY);var Bet=MY.exports;(function(e){var t={};e.exports=t,t.male_first_name=Met,t.female_first_name=Oet,t.first_name=zet,t.last_name=Iet,t.gender=Let,t.prefix=Det,t.suffix=Net,t.title=Fet,t.name=Bet})(jY);var Wet=jY.exports,OY={exports:{}},zY={exports:{}};(function(e){e.exports=["!##-!##-####","(!##) !##-####","1-!##-!##-####","!##.!##.####","!##-!##-####","(!##) !##-####","1-!##-!##-####","!##.!##.####","!##-!##-#### x###","(!##) !##-#### x###","1-!##-!##-#### x###","!##.!##.#### x###","!##-!##-#### x####","(!##) !##-#### x####","1-!##-!##-#### x####","!##.!##.#### x####","!##-!##-#### x#####","(!##) !##-#### x#####","1-!##-!##-#### x#####","!##.!##.#### x#####"]})(zY);var Uet=zY.exports;(function(e){var t={};e.exports=t,t.formats=Uet})(OY);var Het=OY.exports,IY={exports:{}},LY={exports:{}};(function(e){e.exports=["###-###-####","(###) ###-####","1-###-###-####","###.###.####"]})(LY);var qet=LY.exports;(function(e){var t={};e.exports=t,t.formats=qet})(IY);var Vet=IY.exports,DY={exports:{}},NY={exports:{}};(function(e){e.exports=["1234-2121-1221-1211","1212-1221-1121-1234","1211-1221-1234-2201","1228-1221-1221-1431"]})(NY);var Get=NY.exports,FY={exports:{}};(function(e){e.exports=["2011-10-12","2012-11-12","2015-11-11","2013-9-12"]})(FY);var Ket=FY.exports,BY={exports:{}};(function(e){e.exports=["visa","mastercard","americanexpress","discover"]})(BY);var Jet=BY.exports;(function(e){var t={};e.exports=t,t.credit_card_numbers=Get,t.credit_card_expiry_dates=Ket,t.credit_card_types=Jet})(DY);var Yet=DY.exports,WY={exports:{}},UY={exports:{}};(function(e){e.exports=["red","green","blue","yellow","purple","mint green","teal","white","black","orange","pink","grey","maroon","violet","turquoise","tan","sky blue","salmon","plum","orchid","olive","magenta","lime","ivory","indigo","gold","fuchsia","cyan","azure","lavender","silver"]})(UY);var Qet=UY.exports,HY={exports:{}};(function(e){e.exports=["Books","Movies","Music","Games","Electronics","Computers","Home","Garden","Tools","Grocery","Health","Beauty","Toys","Kids","Baby","Clothing","Shoes","Jewelery","Sports","Outdoors","Automotive","Industrial"]})(HY);var Xet=HY.exports,qY={exports:{}};(function(e){e.exports={adjective:["Small","Ergonomic","Rustic","Intelligent","Gorgeous","Incredible","Fantastic","Practical","Sleek","Awesome","Generic","Handcrafted","Handmade","Licensed","Refined","Unbranded","Tasty"],material:["Steel","Wooden","Concrete","Plastic","Cotton","Granite","Rubber","Metal","Soft","Fresh","Frozen"],product:["Chair","Car","Computer","Keyboard","Mouse","Bike","Ball","Gloves","Pants","Shirt","Table","Shoes","Hat","Towels","Soap","Tuna","Chicken","Fish","Cheese","Bacon","Pizza","Salad","Sausages","Chips"]}})(qY);var Zet=qY.exports,VY={exports:{}};(function(e){e.exports=["Ergonomic executive chair upholstered in bonded black leather and PVC padded seat and back for all-day comfort and support","The automobile layout consists of a front-engine design, with transaxle-type transmissions mounted at the rear of the engine and four wheel drive","New ABC 13 9370, 13.3, 5th Gen CoreA5-8250U, 8GB RAM, 256GB SSD, power UHD Graphics, OS 10 Home, OS Office A & J 2016","The slim & simple Maple Gaming Keyboard from Dev Byte comes with a sleek body and 7- Color RGB LED Back-lighting for smart functionality","The Apollotech B340 is an affordable wireless mouse with reliable connectivity, 12 months battery life and modern design","The Nagasaki Lander is the trademarked name of several series of Nagasaki sport bikes, that started with the 1984 ABC800J","The Football Is Good For Training And Recreational Purposes","Carbonite web goalkeeper gloves are ergonomically designed to give easy fit","Boston's most advanced compression wear technology increases muscle oxygenation, stabilizes active muscles","New range of formal shirts are designed keeping you in mind. With fits and styling that will make you stand apart","The beautiful range of Apple Naturalé that has an exciting mix of natural ingredients. With the Goodness of 100% Natural Ingredients","Andy shoes are designed to keeping in mind durability as well as trends, the most stylish range of shoes & sandals"]})(VY);var ett=VY.exports;(function(e){var t={};e.exports=t,t.color=Qet,t.department=Xet,t.product_name=Zet,t.product_description=ett})(WY);var ttt=WY.exports,GY={exports:{}},KY={exports:{}};(function(e){e.exports=["ants","bats","bears","bees","birds","buffalo","cats","chickens","cattle","dogs","dolphins","ducks","elephants","fishes","foxes","frogs","geese","goats","horses","kangaroos","lions","monkeys","owls","oxen","penguins","people","pigs","rabbits","sheep","tigers","whales","wolves","zebras","banshees","crows","black cats","chimeras","ghosts","conspirators","dragons","dwarves","elves","enchanters","exorcists","sons","foes","giants","gnomes","goblins","gooses","griffins","lycanthropes","nemesis","ogres","oracles","prophets","sorcerors","spiders","spirits","vampires","warlocks","vixens","werewolves","witches","worshipers","zombies","druids"]})(KY);var ntt=KY.exports,JY={exports:{}};(function(e){e.exports=["#{Address.state} #{creature}"]})(JY);var rtt=JY.exports;(function(e){var t={};e.exports=t,t.creature=ntt,t.name=rtt})(GY);var att=GY.exports,YY={exports:{}},QY={exports:{}};(function(e){e.exports=["TCP","HTTP","SDD","RAM","GB","CSS","SSL","AGP","SQL","FTP","PCI","AI","ADP","RSS","XML","EXE","COM","HDD","THX","SMTP","SMS","USB","PNG","SAS","IB","SCSI","JSON","XSS","JBOD"]})(QY);var ott=QY.exports,XY={exports:{}};(function(e){e.exports=["auxiliary","primary","back-end","digital","open-source","virtual","cross-platform","redundant","online","haptic","multi-byte","bluetooth","wireless","1080p","neural","optical","solid state","mobile"]})(XY);var itt=XY.exports,ZY={exports:{}};(function(e){e.exports=["driver","protocol","bandwidth","panel","microchip","program","port","card","array","interface","system","sensor","firewall","hard drive","pixel","alarm","feed","monitor","application","transmitter","bus","circuit","capacitor","matrix"]})(ZY);var stt=ZY.exports,eQ={exports:{}};(function(e){e.exports=["back up","bypass","hack","override","compress","copy","navigate","index","connect","generate","quantify","calculate","synthesize","input","transmit","program","reboot","parse"]})(eQ);var ctt=eQ.exports,tQ={exports:{}};(function(e){e.exports=["backing up","bypassing","hacking","overriding","compressing","copying","navigating","indexing","connecting","generating","quantifying","calculating","synthesizing","transmitting","programming","parsing"]})(tQ);var ltt=tQ.exports,nQ={exports:{}};(function(e){e.exports=["If we {{verb}} the {{noun}}, we can get to the {{abbreviation}} {{noun}} through the {{adjective}} {{abbreviation}} {{noun}}!","We need to {{verb}} the {{adjective}} {{abbreviation}} {{noun}}!","Try to {{verb}} the {{abbreviation}} {{noun}}, maybe it will {{verb}} the {{adjective}} {{noun}}!","You can't {{verb}} the {{noun}} without {{ingverb}} the {{adjective}} {{abbreviation}} {{noun}}!","Use the {{adjective}} {{abbreviation}} {{noun}}, then you can {{verb}} the {{adjective}} {{noun}}!","The {{abbreviation}} {{noun}} is down, {{verb}} the {{adjective}} {{noun}} so we can {{verb}} the {{abbreviation}} {{noun}}!","{{ingverb}} the {{noun}} won't do anything, we need to {{verb}} the {{adjective}} {{abbreviation}} {{noun}}!","I'll {{verb}} the {{adjective}} {{abbreviation}} {{noun}}, that should {{noun}} the {{abbreviation}} {{noun}}!"]})(nQ);var utt=nQ.exports;(function(e){var t={};e.exports=t,t.abbreviation=ott,t.adjective=itt,t.noun=stt,t.verb=ctt,t.ingverb=ltt,t.phrase=utt})(YY);var dtt=YY.exports,rQ={exports:{}},aQ={exports:{}};(function(e){e.exports=["Redhold","Treeflex","Trippledex","Kanlam","Bigtax","Daltfresh","Toughjoyfax","Mat Lam Tam","Otcom","Tres-Zap","Y-Solowarm","Tresom","Voltsillam","Biodex","Greenlam","Viva","Matsoft","Temp","Zoolab","Subin","Rank","Job","Stringtough","Tin","It","Home Ing","Zamit","Sonsing","Konklab","Alpha","Latlux","Voyatouch","Alphazap","Holdlamis","Zaam-Dox","Sub-Ex","Quo Lux","Bamity","Ventosanzap","Lotstring","Hatity","Tempsoft","Overhold","Fixflex","Konklux","Zontrax","Tampflex","Span","Namfix","Transcof","Stim","Fix San","Sonair","Stronghold","Fintone","Y-find","Opela","Lotlux","Ronstring","Zathin","Duobam","Keylex"]})(aQ);var ftt=aQ.exports,oQ={exports:{}};(function(e){e.exports=["0.#.#","0.##","#.##","#.#","#.#.#"]})(oQ);var ptt=oQ.exports,iQ={exports:{}};(function(e){e.exports=["#{Name.name}","#{Company.name}"]})(iQ);var mtt=iQ.exports;(function(e){var t={};e.exports=t,t.name=ftt,t.version=ptt,t.author=mtt})(rQ);var htt=rQ.exports,sQ={exports:{}},cQ={exports:{}};(function(e){e.exports=["Checking","Savings","Money Market","Investment","Home Loan","Credit Card","Auto Loan","Personal Loan"]})(cQ);var gtt=cQ.exports,lQ={exports:{}};(function(e){e.exports=["deposit","withdrawal","payment","invoice"]})(lQ);var vtt=lQ.exports,uQ={exports:{}};(function(e){e.exports={"UAE Dirham":{code:"AED",symbol:""},Afghani:{code:"AFN",symbol:"؋"},Lek:{code:"ALL",symbol:"Lek"},"Armenian Dram":{code:"AMD",symbol:""},"Netherlands Antillian Guilder":{code:"ANG",symbol:"ƒ"},Kwanza:{code:"AOA",symbol:""},"Argentine Peso":{code:"ARS",symbol:"$"},"Australian Dollar":{code:"AUD",symbol:"$"},"Aruban Guilder":{code:"AWG",symbol:"ƒ"},"Azerbaijanian Manat":{code:"AZN",symbol:"ман"},"Convertible Marks":{code:"BAM",symbol:"KM"},"Barbados Dollar":{code:"BBD",symbol:"$"},Taka:{code:"BDT",symbol:""},"Bulgarian Lev":{code:"BGN",symbol:"лв"},"Bahraini Dinar":{code:"BHD",symbol:""},"Burundi Franc":{code:"BIF",symbol:""},"Bermudian Dollar (customarily known as Bermuda Dollar)":{code:"BMD",symbol:"$"},"Brunei Dollar":{code:"BND",symbol:"$"},"Boliviano boliviano":{code:"BOB",symbol:"Bs"},"Brazilian Real":{code:"BRL",symbol:"R$"},"Bahamian Dollar":{code:"BSD",symbol:"$"},Pula:{code:"BWP",symbol:"P"},"Belarussian Ruble":{code:"BYR",symbol:"p."},"Belize Dollar":{code:"BZD",symbol:"BZ$"},"Canadian Dollar":{code:"CAD",symbol:"$"},"Congolese Franc":{code:"CDF",symbol:""},"Swiss Franc":{code:"CHF",symbol:"CHF"},"Chilean Peso":{code:"CLP",symbol:"$"},"Yuan Renminbi":{code:"CNY",symbol:"¥"},"Colombian Peso":{code:"COP",symbol:"$"},"Costa Rican Colon":{code:"CRC",symbol:"₡"},"Cuban Peso":{code:"CUP",symbol:"₱"},"Cuban Peso Convertible":{code:"CUC",symbol:"$"},"Cape Verde Escudo":{code:"CVE",symbol:""},"Czech Koruna":{code:"CZK",symbol:"Kč"},"Djibouti Franc":{code:"DJF",symbol:""},"Danish Krone":{code:"DKK",symbol:"kr"},"Dominican Peso":{code:"DOP",symbol:"RD$"},"Algerian Dinar":{code:"DZD",symbol:""},Kroon:{code:"EEK",symbol:""},"Egyptian Pound":{code:"EGP",symbol:"£"},Nakfa:{code:"ERN",symbol:""},"Ethiopian Birr":{code:"ETB",symbol:""},Euro:{code:"EUR",symbol:"€"},"Fiji Dollar":{code:"FJD",symbol:"$"},"Falkland Islands Pound":{code:"FKP",symbol:"£"},"Pound Sterling":{code:"GBP",symbol:"£"},Lari:{code:"GEL",symbol:""},Cedi:{code:"GHS",symbol:""},"Gibraltar Pound":{code:"GIP",symbol:"£"},Dalasi:{code:"GMD",symbol:""},"Guinea Franc":{code:"GNF",symbol:""},Quetzal:{code:"GTQ",symbol:"Q"},"Guyana Dollar":{code:"GYD",symbol:"$"},"Hong Kong Dollar":{code:"HKD",symbol:"$"},Lempira:{code:"HNL",symbol:"L"},"Croatian Kuna":{code:"HRK",symbol:"kn"},Gourde:{code:"HTG",symbol:""},Forint:{code:"HUF",symbol:"Ft"},Rupiah:{code:"IDR",symbol:"Rp"},"New Israeli Sheqel":{code:"ILS",symbol:"₪"},"Indian Rupee":{code:"INR",symbol:""},"Bhutanese Ngultrum":{code:"BTN",symbol:"Nu"},"Indian Rupee":{code:"INR",symbol:"₹"},"Iraqi Dinar":{code:"IQD",symbol:""},"Iranian Rial":{code:"IRR",symbol:"﷼"},"Iceland Krona":{code:"ISK",symbol:"kr"},"Jamaican Dollar":{code:"JMD",symbol:"J$"},"Jordanian Dinar":{code:"JOD",symbol:""},Yen:{code:"JPY",symbol:"¥"},"Kenyan Shilling":{code:"KES",symbol:""},Som:{code:"KGS",symbol:"лв"},Riel:{code:"KHR",symbol:"៛"},"Comoro Franc":{code:"KMF",symbol:""},"North Korean Won":{code:"KPW",symbol:"₩"},Won:{code:"KRW",symbol:"₩"},"Kuwaiti Dinar":{code:"KWD",symbol:""},"Cayman Islands Dollar":{code:"KYD",symbol:"$"},Tenge:{code:"KZT",symbol:"лв"},Kip:{code:"LAK",symbol:"₭"},"Lebanese Pound":{code:"LBP",symbol:"£"},"Sri Lanka Rupee":{code:"LKR",symbol:"₨"},"Liberian Dollar":{code:"LRD",symbol:"$"},"Lithuanian Litas":{code:"LTL",symbol:"Lt"},"Latvian Lats":{code:"LVL",symbol:"Ls"},"Libyan Dinar":{code:"LYD",symbol:""},"Moroccan Dirham":{code:"MAD",symbol:""},"Moldovan Leu":{code:"MDL",symbol:""},"Malagasy Ariary":{code:"MGA",symbol:""},Denar:{code:"MKD",symbol:"ден"},Kyat:{code:"MMK",symbol:""},Tugrik:{code:"MNT",symbol:"₮"},Pataca:{code:"MOP",symbol:""},Ouguiya:{code:"MRO",symbol:""},"Mauritius Rupee":{code:"MUR",symbol:"₨"},Rufiyaa:{code:"MVR",symbol:""},Kwacha:{code:"MWK",symbol:""},"Mexican Peso":{code:"MXN",symbol:"$"},"Malaysian Ringgit":{code:"MYR",symbol:"RM"},Metical:{code:"MZN",symbol:"MT"},Naira:{code:"NGN",symbol:"₦"},"Cordoba Oro":{code:"NIO",symbol:"C$"},"Norwegian Krone":{code:"NOK",symbol:"kr"},"Nepalese Rupee":{code:"NPR",symbol:"₨"},"New Zealand Dollar":{code:"NZD",symbol:"$"},"Rial Omani":{code:"OMR",symbol:"﷼"},Balboa:{code:"PAB",symbol:"B/."},"Nuevo Sol":{code:"PEN",symbol:"S/."},Kina:{code:"PGK",symbol:""},"Philippine Peso":{code:"PHP",symbol:"Php"},"Pakistan Rupee":{code:"PKR",symbol:"₨"},Zloty:{code:"PLN",symbol:"zł"},Guarani:{code:"PYG",symbol:"Gs"},"Qatari Rial":{code:"QAR",symbol:"﷼"},"New Leu":{code:"RON",symbol:"lei"},"Serbian Dinar":{code:"RSD",symbol:"Дин."},"Russian Ruble":{code:"RUB",symbol:"руб"},"Rwanda Franc":{code:"RWF",symbol:""},"Saudi Riyal":{code:"SAR",symbol:"﷼"},"Solomon Islands Dollar":{code:"SBD",symbol:"$"},"Seychelles Rupee":{code:"SCR",symbol:"₨"},"Sudanese Pound":{code:"SDG",symbol:""},"Swedish Krona":{code:"SEK",symbol:"kr"},"Singapore Dollar":{code:"SGD",symbol:"$"},"Saint Helena Pound":{code:"SHP",symbol:"£"},Leone:{code:"SLL",symbol:""},"Somali Shilling":{code:"SOS",symbol:"S"},"Surinam Dollar":{code:"SRD",symbol:"$"},Dobra:{code:"STN",symbol:"Db"},"El Salvador Colon":{code:"SVC",symbol:"₡"},"Syrian Pound":{code:"SYP",symbol:"£"},Lilangeni:{code:"SZL",symbol:""},Baht:{code:"THB",symbol:"฿"},Somoni:{code:"TJS",symbol:""},Manat:{code:"TMT",symbol:""},"Tunisian Dinar":{code:"TND",symbol:""},"Pa'anga":{code:"TOP",symbol:""},"Turkish Lira":{code:"TRY",symbol:"₺"},"Trinidad and Tobago Dollar":{code:"TTD",symbol:"TT$"},"New Taiwan Dollar":{code:"TWD",symbol:"NT$"},"Tanzanian Shilling":{code:"TZS",symbol:""},Hryvnia:{code:"UAH",symbol:"₴"},"Uganda Shilling":{code:"UGX",symbol:""},"US Dollar":{code:"USD",symbol:"$"},"Peso Uruguayo":{code:"UYU",symbol:"$U"},"Uzbekistan Sum":{code:"UZS",symbol:"лв"},"Bolivar Fuerte":{code:"VEF",symbol:"Bs"},Dong:{code:"VND",symbol:"₫"},Vatu:{code:"VUV",symbol:""},Tala:{code:"WST",symbol:""},"CFA Franc BEAC":{code:"XAF",symbol:""},Silver:{code:"XAG",symbol:""},Gold:{code:"XAU",symbol:""},"Bond Markets Units European Composite Unit (EURCO)":{code:"XBA",symbol:""},"European Monetary Unit (E.M.U.-6)":{code:"XBB",symbol:""},"European Unit of Account 9(E.U.A.-9)":{code:"XBC",symbol:""},"European Unit of Account 17(E.U.A.-17)":{code:"XBD",symbol:""},"East Caribbean Dollar":{code:"XCD",symbol:"$"},SDR:{code:"XDR",symbol:""},"UIC-Franc":{code:"XFU",symbol:""},"CFA Franc BCEAO":{code:"XOF",symbol:""},Palladium:{code:"XPD",symbol:""},"CFP Franc":{code:"XPF",symbol:""},Platinum:{code:"XPT",symbol:""},"Codes specifically reserved for testing purposes":{code:"XTS",symbol:""},"Yemeni Rial":{code:"YER",symbol:"﷼"},Rand:{code:"ZAR",symbol:"R"},"Lesotho Loti":{code:"LSL",symbol:""},"Namibia Dollar":{code:"NAD",symbol:"N$"},"Zambian Kwacha":{code:"ZMK",symbol:""},"Zimbabwe Dollar":{code:"ZWL",symbol:""}}})(uQ);var ytt=uQ.exports,dQ={exports:{}},fQ={exports:{}};(function(e){e.exports=["4###########L","4###-####-####-###L"]})(fQ);var btt=fQ.exports,pQ={exports:{}};(function(e){e.exports=["5[1-5]##-####-####-###L","6771-89##-####-###L"]})(pQ);var xtt=pQ.exports,mQ={exports:{}};(function(e){e.exports=["6011-####-####-###L","65##-####-####-###L","64[4-9]#-####-####-###L","6011-62##-####-####-###L","65##-62##-####-####-###L","64[4-9]#-62##-####-####-###L"]})(mQ);var wtt=mQ.exports,hQ={exports:{}};(function(e){e.exports=["34##-######-####L","37##-######-####L"]})(hQ);var Ctt=hQ.exports,gQ={exports:{}};(function(e){e.exports=["30[0-5]#-######-###L","36##-######-###L","54##-####-####-###L"]})(gQ);var Stt=gQ.exports,vQ={exports:{}};(function(e){e.exports=["3528-####-####-###L","3529-####-####-###L","35[3-8]#-####-####-###L"]})(vQ);var jtt=vQ.exports,yQ={exports:{}};(function(e){e.exports=["6759-####-####-###L","6759-####-####-####-#L","6759-####-####-####-##L"]})(yQ);var _tt=yQ.exports,bQ={exports:{}};(function(e){e.exports=["6767-####-####-###L","6767-####-####-####-#L","6767-####-####-####-##L"]})(bQ);var ktt=bQ.exports,xQ={exports:{}};(function(e){e.exports=["5018-#{4}-#{4}-#{3}L","5020-#{4}-#{4}-#{3}L","5038-#{4}-#{4}-#{3}L","5893-#{4}-#{4}-#{3}L","6304-#{4}-#{4}-#{3}L","6759-#{4}-#{4}-#{3}L","676[1-3]-####-####-###L","5018#{11,15}L","5020#{11,15}L","5038#{11,15}L","5893#{11,15}L","6304#{11,15}L","6759#{11,15}L","676[1-3]#{11,15}L"]})(xQ);var $tt=xQ.exports,wQ={exports:{}};(function(e){e.exports=["6304###########L","6706###########L","6771###########L","6709###########L","6304#########{5,6}L","6706#########{5,6}L","6771#########{5,6}L","6709#########{5,6}L"]})(wQ);var Ett=wQ.exports,CQ={exports:{}};(function(e){e.exports=["63[7-9]#-####-####-###L"]})(CQ);var Rtt=CQ.exports;(function(e){var t={};e.exports=t,t.visa=btt,t.mastercard=xtt,t.discover=wtt,t.american_express=Ctt,t.diners_club=Stt,t.jcb=jtt,t.switch=_tt,t.solo=ktt,t.maestro=$tt,t.laser=Ett,t.instapayment=Rtt})(dQ);var Att=dQ.exports;(function(e){var t={};e.exports=t,t.account_type=gtt,t.transaction_type=vtt,t.currency=ytt,t.credit_card=Att})(sQ);var Ptt=sQ.exports,SQ={exports:{}},jQ={exports:{}};(function(e){e.exports={wide:["January","February","March","April","May","June","July","August","September","October","November","December"],wide_context:["January","February","March","April","May","June","July","August","September","October","November","December"],abbr:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],abbr_context:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]}})(jQ);var Ttt=jQ.exports,_Q={exports:{}};(function(e){e.exports={wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],wide_context:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],abbr:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],abbr_context:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]}})(_Q);var Mtt=_Q.exports;(function(e){var t={};e.exports=t,t.month=Ttt,t.weekday=Mtt})(SQ);var Ott=SQ.exports,kQ={exports:{}},$Q={exports:{}};(function(e){e.exports=["/Applications","/bin","/boot","/boot/defaults","/dev","/etc","/etc/defaults","/etc/mail","/etc/namedb","/etc/periodic","/etc/ppp","/home","/home/user","/home/user/dir","/lib","/Library","/lost+found","/media","/mnt","/net","/Network","/opt","/opt/bin","/opt/include","/opt/lib","/opt/sbin","/opt/share","/private","/private/tmp","/private/var","/proc","/rescue","/root","/sbin","/selinux","/srv","/sys","/System","/tmp","/Users","/usr","/usr/X11R6","/usr/bin","/usr/include","/usr/lib","/usr/libdata","/usr/libexec","/usr/local/bin","/usr/local/src","/usr/obj","/usr/ports","/usr/sbin","/usr/share","/usr/src","/var","/var/log","/var/mail","/var/spool","/var/tmp","/var/yp"]})($Q);var ztt=$Q.exports,EQ={exports:{}};(function(e){e.exports={"application/1d-interleaved-parityfec":{source:"iana"},"application/3gpdash-qoe-report+xml":{source:"iana"},"application/3gpp-ims+xml":{source:"iana"},"application/a2l":{source:"iana"},"application/activemessage":{source:"iana"},"application/alto-costmap+json":{source:"iana",compressible:!0},"application/alto-costmapfilter+json":{source:"iana",compressible:!0},"application/alto-directory+json":{source:"iana",compressible:!0},"application/alto-endpointcost+json":{source:"iana",compressible:!0},"application/alto-endpointcostparams+json":{source:"iana",compressible:!0},"application/alto-endpointprop+json":{source:"iana",compressible:!0},"application/alto-endpointpropparams+json":{source:"iana",compressible:!0},"application/alto-error+json":{source:"iana",compressible:!0},"application/alto-networkmap+json":{source:"iana",compressible:!0},"application/alto-networkmapfilter+json":{source:"iana",compressible:!0},"application/aml":{source:"iana"},"application/andrew-inset":{source:"iana",extensions:["ez"]},"application/applefile":{source:"iana"},"application/applixware":{source:"apache",extensions:["aw"]},"application/atf":{source:"iana"},"application/atfx":{source:"iana"},"application/atom+xml":{source:"iana",compressible:!0,extensions:["atom"]},"application/atomcat+xml":{source:"iana",extensions:["atomcat"]},"application/atomdeleted+xml":{source:"iana"},"application/atomicmail":{source:"iana"},"application/atomsvc+xml":{source:"iana",extensions:["atomsvc"]},"application/atxml":{source:"iana"},"application/auth-policy+xml":{source:"iana"},"application/bacnet-xdd+zip":{source:"iana"},"application/batch-smtp":{source:"iana"},"application/bdoc":{compressible:!1,extensions:["bdoc"]},"application/beep+xml":{source:"iana"},"application/calendar+json":{source:"iana",compressible:!0},"application/calendar+xml":{source:"iana"},"application/call-completion":{source:"iana"},"application/cals-1840":{source:"iana"},"application/cbor":{source:"iana"},"application/ccmp+xml":{source:"iana"},"application/ccxml+xml":{source:"iana",extensions:["ccxml"]},"application/cdfx+xml":{source:"iana"},"application/cdmi-capability":{source:"iana",extensions:["cdmia"]},"application/cdmi-container":{source:"iana",extensions:["cdmic"]},"application/cdmi-domain":{source:"iana",extensions:["cdmid"]},"application/cdmi-object":{source:"iana",extensions:["cdmio"]},"application/cdmi-queue":{source:"iana",extensions:["cdmiq"]},"application/cdni":{source:"iana"},"application/cea":{source:"iana"},"application/cea-2018+xml":{source:"iana"},"application/cellml+xml":{source:"iana"},"application/cfw":{source:"iana"},"application/cms":{source:"iana"},"application/cnrp+xml":{source:"iana"},"application/coap-group+json":{source:"iana",compressible:!0},"application/commonground":{source:"iana"},"application/conference-info+xml":{source:"iana"},"application/cpl+xml":{source:"iana"},"application/csrattrs":{source:"iana"},"application/csta+xml":{source:"iana"},"application/cstadata+xml":{source:"iana"},"application/csvm+json":{source:"iana",compressible:!0},"application/cu-seeme":{source:"apache",extensions:["cu"]},"application/cybercash":{source:"iana"},"application/dart":{compressible:!0},"application/dash+xml":{source:"iana",extensions:["mdp"]},"application/dashdelta":{source:"iana"},"application/davmount+xml":{source:"iana",extensions:["davmount"]},"application/dca-rft":{source:"iana"},"application/dcd":{source:"iana"},"application/dec-dx":{source:"iana"},"application/dialog-info+xml":{source:"iana"},"application/dicom":{source:"iana"},"application/dii":{source:"iana"},"application/dit":{source:"iana"},"application/dns":{source:"iana"},"application/docbook+xml":{source:"apache",extensions:["dbk"]},"application/dskpp+xml":{source:"iana"},"application/dssc+der":{source:"iana",extensions:["dssc"]},"application/dssc+xml":{source:"iana",extensions:["xdssc"]},"application/dvcs":{source:"iana"},"application/ecmascript":{source:"iana",compressible:!0,extensions:["ecma"]},"application/edi-consent":{source:"iana"},"application/edi-x12":{source:"iana",compressible:!1},"application/edifact":{source:"iana",compressible:!1},"application/emergencycalldata.comment+xml":{source:"iana"},"application/emergencycalldata.deviceinfo+xml":{source:"iana"},"application/emergencycalldata.providerinfo+xml":{source:"iana"},"application/emergencycalldata.serviceinfo+xml":{source:"iana"},"application/emergencycalldata.subscriberinfo+xml":{source:"iana"},"application/emma+xml":{source:"iana",extensions:["emma"]},"application/emotionml+xml":{source:"iana"},"application/encaprtp":{source:"iana"},"application/epp+xml":{source:"iana"},"application/epub+zip":{source:"iana",extensions:["epub"]},"application/eshop":{source:"iana"},"application/exi":{source:"iana",extensions:["exi"]},"application/fastinfoset":{source:"iana"},"application/fastsoap":{source:"iana"},"application/fdt+xml":{source:"iana"},"application/fits":{source:"iana"},"application/font-sfnt":{source:"iana"},"application/font-tdpfr":{source:"iana",extensions:["pfr"]},"application/font-woff":{source:"iana",compressible:!1,extensions:["woff"]},"application/font-woff2":{compressible:!1,extensions:["woff2"]},"application/framework-attributes+xml":{source:"iana"},"application/gml+xml":{source:"apache",extensions:["gml"]},"application/gpx+xml":{source:"apache",extensions:["gpx"]},"application/gxf":{source:"apache",extensions:["gxf"]},"application/gzip":{source:"iana",compressible:!1},"application/h224":{source:"iana"},"application/held+xml":{source:"iana"},"application/http":{source:"iana"},"application/hyperstudio":{source:"iana",extensions:["stk"]},"application/ibe-key-request+xml":{source:"iana"},"application/ibe-pkg-reply+xml":{source:"iana"},"application/ibe-pp-data":{source:"iana"},"application/iges":{source:"iana"},"application/im-iscomposing+xml":{source:"iana"},"application/index":{source:"iana"},"application/index.cmd":{source:"iana"},"application/index.obj":{source:"iana"},"application/index.response":{source:"iana"},"application/index.vnd":{source:"iana"},"application/inkml+xml":{source:"iana",extensions:["ink","inkml"]},"application/iotp":{source:"iana"},"application/ipfix":{source:"iana",extensions:["ipfix"]},"application/ipp":{source:"iana"},"application/isup":{source:"iana"},"application/its+xml":{source:"iana"},"application/java-archive":{source:"apache",compressible:!1,extensions:["jar","war","ear"]},"application/java-serialized-object":{source:"apache",compressible:!1,extensions:["ser"]},"application/java-vm":{source:"apache",compressible:!1,extensions:["class"]},"application/javascript":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["js"]},"application/jose":{source:"iana"},"application/jose+json":{source:"iana",compressible:!0},"application/jrd+json":{source:"iana",compressible:!0},"application/json":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["json","map"]},"application/json-patch+json":{source:"iana",compressible:!0},"application/json-seq":{source:"iana"},"application/json5":{extensions:["json5"]},"application/jsonml+json":{source:"apache",compressible:!0,extensions:["jsonml"]},"application/jwk+json":{source:"iana",compressible:!0},"application/jwk-set+json":{source:"iana",compressible:!0},"application/jwt":{source:"iana"},"application/kpml-request+xml":{source:"iana"},"application/kpml-response+xml":{source:"iana"},"application/ld+json":{source:"iana",compressible:!0,extensions:["jsonld"]},"application/link-format":{source:"iana"},"application/load-control+xml":{source:"iana"},"application/lost+xml":{source:"iana",extensions:["lostxml"]},"application/lostsync+xml":{source:"iana"},"application/lxf":{source:"iana"},"application/mac-binhex40":{source:"iana",extensions:["hqx"]},"application/mac-compactpro":{source:"apache",extensions:["cpt"]},"application/macwriteii":{source:"iana"},"application/mads+xml":{source:"iana",extensions:["mads"]},"application/manifest+json":{charset:"UTF-8",compressible:!0,extensions:["webmanifest"]},"application/marc":{source:"iana",extensions:["mrc"]},"application/marcxml+xml":{source:"iana",extensions:["mrcx"]},"application/mathematica":{source:"iana",extensions:["ma","nb","mb"]},"application/mathml+xml":{source:"iana",extensions:["mathml"]},"application/mathml-content+xml":{source:"iana"},"application/mathml-presentation+xml":{source:"iana"},"application/mbms-associated-procedure-description+xml":{source:"iana"},"application/mbms-deregister+xml":{source:"iana"},"application/mbms-envelope+xml":{source:"iana"},"application/mbms-msk+xml":{source:"iana"},"application/mbms-msk-response+xml":{source:"iana"},"application/mbms-protection-description+xml":{source:"iana"},"application/mbms-reception-report+xml":{source:"iana"},"application/mbms-register+xml":{source:"iana"},"application/mbms-register-response+xml":{source:"iana"},"application/mbms-schedule+xml":{source:"iana"},"application/mbms-user-service-description+xml":{source:"iana"},"application/mbox":{source:"iana",extensions:["mbox"]},"application/media-policy-dataset+xml":{source:"iana"},"application/media_control+xml":{source:"iana"},"application/mediaservercontrol+xml":{source:"iana",extensions:["mscml"]},"application/merge-patch+json":{source:"iana",compressible:!0},"application/metalink+xml":{source:"apache",extensions:["metalink"]},"application/metalink4+xml":{source:"iana",extensions:["meta4"]},"application/mets+xml":{source:"iana",extensions:["mets"]},"application/mf4":{source:"iana"},"application/mikey":{source:"iana"},"application/mods+xml":{source:"iana",extensions:["mods"]},"application/moss-keys":{source:"iana"},"application/moss-signature":{source:"iana"},"application/mosskey-data":{source:"iana"},"application/mosskey-request":{source:"iana"},"application/mp21":{source:"iana",extensions:["m21","mp21"]},"application/mp4":{source:"iana",extensions:["mp4s","m4p"]},"application/mpeg4-generic":{source:"iana"},"application/mpeg4-iod":{source:"iana"},"application/mpeg4-iod-xmt":{source:"iana"},"application/mrb-consumer+xml":{source:"iana"},"application/mrb-publish+xml":{source:"iana"},"application/msc-ivr+xml":{source:"iana"},"application/msc-mixer+xml":{source:"iana"},"application/msword":{source:"iana",compressible:!1,extensions:["doc","dot"]},"application/mxf":{source:"iana",extensions:["mxf"]},"application/nasdata":{source:"iana"},"application/news-checkgroups":{source:"iana"},"application/news-groupinfo":{source:"iana"},"application/news-transmission":{source:"iana"},"application/nlsml+xml":{source:"iana"},"application/nss":{source:"iana"},"application/ocsp-request":{source:"iana"},"application/ocsp-response":{source:"iana"},"application/octet-stream":{source:"iana",compressible:!1,extensions:["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"]},"application/oda":{source:"iana",extensions:["oda"]},"application/odx":{source:"iana"},"application/oebps-package+xml":{source:"iana",extensions:["opf"]},"application/ogg":{source:"iana",compressible:!1,extensions:["ogx"]},"application/omdoc+xml":{source:"apache",extensions:["omdoc"]},"application/onenote":{source:"apache",extensions:["onetoc","onetoc2","onetmp","onepkg"]},"application/oxps":{source:"iana",extensions:["oxps"]},"application/p2p-overlay+xml":{source:"iana"},"application/parityfec":{source:"iana"},"application/patch-ops-error+xml":{source:"iana",extensions:["xer"]},"application/pdf":{source:"iana",compressible:!1,extensions:["pdf"]},"application/pdx":{source:"iana"},"application/pgp-encrypted":{source:"iana",compressible:!1,extensions:["pgp"]},"application/pgp-keys":{source:"iana"},"application/pgp-signature":{source:"iana",extensions:["asc","sig"]},"application/pics-rules":{source:"apache",extensions:["prf"]},"application/pidf+xml":{source:"iana"},"application/pidf-diff+xml":{source:"iana"},"application/pkcs10":{source:"iana",extensions:["p10"]},"application/pkcs12":{source:"iana"},"application/pkcs7-mime":{source:"iana",extensions:["p7m","p7c"]},"application/pkcs7-signature":{source:"iana",extensions:["p7s"]},"application/pkcs8":{source:"iana",extensions:["p8"]},"application/pkix-attr-cert":{source:"iana",extensions:["ac"]},"application/pkix-cert":{source:"iana",extensions:["cer"]},"application/pkix-crl":{source:"iana",extensions:["crl"]},"application/pkix-pkipath":{source:"iana",extensions:["pkipath"]},"application/pkixcmp":{source:"iana",extensions:["pki"]},"application/pls+xml":{source:"iana",extensions:["pls"]},"application/poc-settings+xml":{source:"iana"},"application/postscript":{source:"iana",compressible:!0,extensions:["ai","eps","ps"]},"application/provenance+xml":{source:"iana"},"application/prs.alvestrand.titrax-sheet":{source:"iana"},"application/prs.cww":{source:"iana",extensions:["cww"]},"application/prs.hpub+zip":{source:"iana"},"application/prs.nprend":{source:"iana"},"application/prs.plucker":{source:"iana"},"application/prs.rdf-xml-crypt":{source:"iana"},"application/prs.xsf+xml":{source:"iana"},"application/pskc+xml":{source:"iana",extensions:["pskcxml"]},"application/qsig":{source:"iana"},"application/raptorfec":{source:"iana"},"application/rdap+json":{source:"iana",compressible:!0},"application/rdf+xml":{source:"iana",compressible:!0,extensions:["rdf"]},"application/reginfo+xml":{source:"iana",extensions:["rif"]},"application/relax-ng-compact-syntax":{source:"iana",extensions:["rnc"]},"application/remote-printing":{source:"iana"},"application/reputon+json":{source:"iana",compressible:!0},"application/resource-lists+xml":{source:"iana",extensions:["rl"]},"application/resource-lists-diff+xml":{source:"iana",extensions:["rld"]},"application/rfc+xml":{source:"iana"},"application/riscos":{source:"iana"},"application/rlmi+xml":{source:"iana"},"application/rls-services+xml":{source:"iana",extensions:["rs"]},"application/rpki-ghostbusters":{source:"iana",extensions:["gbr"]},"application/rpki-manifest":{source:"iana",extensions:["mft"]},"application/rpki-roa":{source:"iana",extensions:["roa"]},"application/rpki-updown":{source:"iana"},"application/rsd+xml":{source:"apache",extensions:["rsd"]},"application/rss+xml":{source:"apache",compressible:!0,extensions:["rss"]},"application/rtf":{source:"iana",compressible:!0,extensions:["rtf"]},"application/rtploopback":{source:"iana"},"application/rtx":{source:"iana"},"application/samlassertion+xml":{source:"iana"},"application/samlmetadata+xml":{source:"iana"},"application/sbml+xml":{source:"iana",extensions:["sbml"]},"application/scaip+xml":{source:"iana"},"application/scim+json":{source:"iana",compressible:!0},"application/scvp-cv-request":{source:"iana",extensions:["scq"]},"application/scvp-cv-response":{source:"iana",extensions:["scs"]},"application/scvp-vp-request":{source:"iana",extensions:["spq"]},"application/scvp-vp-response":{source:"iana",extensions:["spp"]},"application/sdp":{source:"iana",extensions:["sdp"]},"application/sep+xml":{source:"iana"},"application/sep-exi":{source:"iana"},"application/session-info":{source:"iana"},"application/set-payment":{source:"iana"},"application/set-payment-initiation":{source:"iana",extensions:["setpay"]},"application/set-registration":{source:"iana"},"application/set-registration-initiation":{source:"iana",extensions:["setreg"]},"application/sgml":{source:"iana"},"application/sgml-open-catalog":{source:"iana"},"application/shf+xml":{source:"iana",extensions:["shf"]},"application/sieve":{source:"iana"},"application/simple-filter+xml":{source:"iana"},"application/simple-message-summary":{source:"iana"},"application/simplesymbolcontainer":{source:"iana"},"application/slate":{source:"iana"},"application/smil":{source:"iana"},"application/smil+xml":{source:"iana",extensions:["smi","smil"]},"application/smpte336m":{source:"iana"},"application/soap+fastinfoset":{source:"iana"},"application/soap+xml":{source:"iana",compressible:!0},"application/sparql-query":{source:"iana",extensions:["rq"]},"application/sparql-results+xml":{source:"iana",extensions:["srx"]},"application/spirits-event+xml":{source:"iana"},"application/sql":{source:"iana"},"application/srgs":{source:"iana",extensions:["gram"]},"application/srgs+xml":{source:"iana",extensions:["grxml"]},"application/sru+xml":{source:"iana",extensions:["sru"]},"application/ssdl+xml":{source:"apache",extensions:["ssdl"]},"application/ssml+xml":{source:"iana",extensions:["ssml"]},"application/tamp-apex-update":{source:"iana"},"application/tamp-apex-update-confirm":{source:"iana"},"application/tamp-community-update":{source:"iana"},"application/tamp-community-update-confirm":{source:"iana"},"application/tamp-error":{source:"iana"},"application/tamp-sequence-adjust":{source:"iana"},"application/tamp-sequence-adjust-confirm":{source:"iana"},"application/tamp-status-query":{source:"iana"},"application/tamp-status-response":{source:"iana"},"application/tamp-update":{source:"iana"},"application/tamp-update-confirm":{source:"iana"},"application/tar":{compressible:!0},"application/tei+xml":{source:"iana",extensions:["tei","teicorpus"]},"application/thraud+xml":{source:"iana",extensions:["tfi"]},"application/timestamp-query":{source:"iana"},"application/timestamp-reply":{source:"iana"},"application/timestamped-data":{source:"iana",extensions:["tsd"]},"application/ttml+xml":{source:"iana"},"application/tve-trigger":{source:"iana"},"application/ulpfec":{source:"iana"},"application/urc-grpsheet+xml":{source:"iana"},"application/urc-ressheet+xml":{source:"iana"},"application/urc-targetdesc+xml":{source:"iana"},"application/urc-uisocketdesc+xml":{source:"iana"},"application/vcard+json":{source:"iana",compressible:!0},"application/vcard+xml":{source:"iana"},"application/vemmi":{source:"iana"},"application/vividence.scriptfile":{source:"apache"},"application/vnd.3gpp-prose+xml":{source:"iana"},"application/vnd.3gpp-prose-pc3ch+xml":{source:"iana"},"application/vnd.3gpp.access-transfer-events+xml":{source:"iana"},"application/vnd.3gpp.bsf+xml":{source:"iana"},"application/vnd.3gpp.mid-call+xml":{source:"iana"},"application/vnd.3gpp.pic-bw-large":{source:"iana",extensions:["plb"]},"application/vnd.3gpp.pic-bw-small":{source:"iana",extensions:["psb"]},"application/vnd.3gpp.pic-bw-var":{source:"iana",extensions:["pvb"]},"application/vnd.3gpp.sms":{source:"iana"},"application/vnd.3gpp.srvcc-ext+xml":{source:"iana"},"application/vnd.3gpp.srvcc-info+xml":{source:"iana"},"application/vnd.3gpp.state-and-event-info+xml":{source:"iana"},"application/vnd.3gpp.ussd+xml":{source:"iana"},"application/vnd.3gpp2.bcmcsinfo+xml":{source:"iana"},"application/vnd.3gpp2.sms":{source:"iana"},"application/vnd.3gpp2.tcap":{source:"iana",extensions:["tcap"]},"application/vnd.3m.post-it-notes":{source:"iana",extensions:["pwn"]},"application/vnd.accpac.simply.aso":{source:"iana",extensions:["aso"]},"application/vnd.accpac.simply.imp":{source:"iana",extensions:["imp"]},"application/vnd.acucobol":{source:"iana",extensions:["acu"]},"application/vnd.acucorp":{source:"iana",extensions:["atc","acutc"]},"application/vnd.adobe.air-application-installer-package+zip":{source:"apache",extensions:["air"]},"application/vnd.adobe.flash.movie":{source:"iana"},"application/vnd.adobe.formscentral.fcdt":{source:"iana",extensions:["fcdt"]},"application/vnd.adobe.fxp":{source:"iana",extensions:["fxp","fxpl"]},"application/vnd.adobe.partial-upload":{source:"iana"},"application/vnd.adobe.xdp+xml":{source:"iana",extensions:["xdp"]},"application/vnd.adobe.xfdf":{source:"iana",extensions:["xfdf"]},"application/vnd.aether.imp":{source:"iana"},"application/vnd.ah-barcode":{source:"iana"},"application/vnd.ahead.space":{source:"iana",extensions:["ahead"]},"application/vnd.airzip.filesecure.azf":{source:"iana",extensions:["azf"]},"application/vnd.airzip.filesecure.azs":{source:"iana",extensions:["azs"]},"application/vnd.amazon.ebook":{source:"apache",extensions:["azw"]},"application/vnd.americandynamics.acc":{source:"iana",extensions:["acc"]},"application/vnd.amiga.ami":{source:"iana",extensions:["ami"]},"application/vnd.amundsen.maze+xml":{source:"iana"},"application/vnd.android.package-archive":{source:"apache",compressible:!1,extensions:["apk"]},"application/vnd.anki":{source:"iana"},"application/vnd.anser-web-certificate-issue-initiation":{source:"iana",extensions:["cii"]},"application/vnd.anser-web-funds-transfer-initiation":{source:"apache",extensions:["fti"]},"application/vnd.antix.game-component":{source:"iana",extensions:["atx"]},"application/vnd.apache.thrift.binary":{source:"iana"},"application/vnd.apache.thrift.compact":{source:"iana"},"application/vnd.apache.thrift.json":{source:"iana"},"application/vnd.api+json":{source:"iana",compressible:!0},"application/vnd.apple.installer+xml":{source:"iana",extensions:["mpkg"]},"application/vnd.apple.mpegurl":{source:"iana",extensions:["m3u8"]},"application/vnd.apple.pkpass":{compressible:!1,extensions:["pkpass"]},"application/vnd.arastra.swi":{source:"iana"},"application/vnd.aristanetworks.swi":{source:"iana",extensions:["swi"]},"application/vnd.artsquare":{source:"iana"},"application/vnd.astraea-software.iota":{source:"iana",extensions:["iota"]},"application/vnd.audiograph":{source:"iana",extensions:["aep"]},"application/vnd.autopackage":{source:"iana"},"application/vnd.avistar+xml":{source:"iana"},"application/vnd.balsamiq.bmml+xml":{source:"iana"},"application/vnd.balsamiq.bmpr":{source:"iana"},"application/vnd.bekitzur-stech+json":{source:"iana",compressible:!0},"application/vnd.biopax.rdf+xml":{source:"iana"},"application/vnd.blueice.multipass":{source:"iana",extensions:["mpm"]},"application/vnd.bluetooth.ep.oob":{source:"iana"},"application/vnd.bluetooth.le.oob":{source:"iana"},"application/vnd.bmi":{source:"iana",extensions:["bmi"]},"application/vnd.businessobjects":{source:"iana",extensions:["rep"]},"application/vnd.cab-jscript":{source:"iana"},"application/vnd.canon-cpdl":{source:"iana"},"application/vnd.canon-lips":{source:"iana"},"application/vnd.cendio.thinlinc.clientconf":{source:"iana"},"application/vnd.century-systems.tcp_stream":{source:"iana"},"application/vnd.chemdraw+xml":{source:"iana",extensions:["cdxml"]},"application/vnd.chipnuts.karaoke-mmd":{source:"iana",extensions:["mmd"]},"application/vnd.cinderella":{source:"iana",extensions:["cdy"]},"application/vnd.cirpack.isdn-ext":{source:"iana"},"application/vnd.citationstyles.style+xml":{source:"iana"},"application/vnd.claymore":{source:"iana",extensions:["cla"]},"application/vnd.cloanto.rp9":{source:"iana",extensions:["rp9"]},"application/vnd.clonk.c4group":{source:"iana",extensions:["c4g","c4d","c4f","c4p","c4u"]},"application/vnd.cluetrust.cartomobile-config":{source:"iana",extensions:["c11amc"]},"application/vnd.cluetrust.cartomobile-config-pkg":{source:"iana",extensions:["c11amz"]},"application/vnd.coffeescript":{source:"iana"},"application/vnd.collection+json":{source:"iana",compressible:!0},"application/vnd.collection.doc+json":{source:"iana",compressible:!0},"application/vnd.collection.next+json":{source:"iana",compressible:!0},"application/vnd.commerce-battelle":{source:"iana"},"application/vnd.commonspace":{source:"iana",extensions:["csp"]},"application/vnd.contact.cmsg":{source:"iana",extensions:["cdbcmsg"]},"application/vnd.cosmocaller":{source:"iana",extensions:["cmc"]},"application/vnd.crick.clicker":{source:"iana",extensions:["clkx"]},"application/vnd.crick.clicker.keyboard":{source:"iana",extensions:["clkk"]},"application/vnd.crick.clicker.palette":{source:"iana",extensions:["clkp"]},"application/vnd.crick.clicker.template":{source:"iana",extensions:["clkt"]},"application/vnd.crick.clicker.wordbank":{source:"iana",extensions:["clkw"]},"application/vnd.criticaltools.wbs+xml":{source:"iana",extensions:["wbs"]},"application/vnd.ctc-posml":{source:"iana",extensions:["pml"]},"application/vnd.ctct.ws+xml":{source:"iana"},"application/vnd.cups-pdf":{source:"iana"},"application/vnd.cups-postscript":{source:"iana"},"application/vnd.cups-ppd":{source:"iana",extensions:["ppd"]},"application/vnd.cups-raster":{source:"iana"},"application/vnd.cups-raw":{source:"iana"},"application/vnd.curl":{source:"iana"},"application/vnd.curl.car":{source:"apache",extensions:["car"]},"application/vnd.curl.pcurl":{source:"apache",extensions:["pcurl"]},"application/vnd.cyan.dean.root+xml":{source:"iana"},"application/vnd.cybank":{source:"iana"},"application/vnd.dart":{source:"iana",compressible:!0,extensions:["dart"]},"application/vnd.data-vision.rdz":{source:"iana",extensions:["rdz"]},"application/vnd.debian.binary-package":{source:"iana"},"application/vnd.dece.data":{source:"iana",extensions:["uvf","uvvf","uvd","uvvd"]},"application/vnd.dece.ttml+xml":{source:"iana",extensions:["uvt","uvvt"]},"application/vnd.dece.unspecified":{source:"iana",extensions:["uvx","uvvx"]},"application/vnd.dece.zip":{source:"iana",extensions:["uvz","uvvz"]},"application/vnd.denovo.fcselayout-link":{source:"iana",extensions:["fe_launch"]},"application/vnd.desmume-movie":{source:"iana"},"application/vnd.dir-bi.plate-dl-nosuffix":{source:"iana"},"application/vnd.dm.delegation+xml":{source:"iana"},"application/vnd.dna":{source:"iana",extensions:["dna"]},"application/vnd.document+json":{source:"iana",compressible:!0},"application/vnd.dolby.mlp":{source:"apache",extensions:["mlp"]},"application/vnd.dolby.mobile.1":{source:"iana"},"application/vnd.dolby.mobile.2":{source:"iana"},"application/vnd.doremir.scorecloud-binary-document":{source:"iana"},"application/vnd.dpgraph":{source:"iana",extensions:["dpg"]},"application/vnd.dreamfactory":{source:"iana",extensions:["dfac"]},"application/vnd.drive+json":{source:"iana",compressible:!0},"application/vnd.ds-keypoint":{source:"apache",extensions:["kpxx"]},"application/vnd.dtg.local":{source:"iana"},"application/vnd.dtg.local.flash":{source:"iana"},"application/vnd.dtg.local.html":{source:"iana"},"application/vnd.dvb.ait":{source:"iana",extensions:["ait"]},"application/vnd.dvb.dvbj":{source:"iana"},"application/vnd.dvb.esgcontainer":{source:"iana"},"application/vnd.dvb.ipdcdftnotifaccess":{source:"iana"},"application/vnd.dvb.ipdcesgaccess":{source:"iana"},"application/vnd.dvb.ipdcesgaccess2":{source:"iana"},"application/vnd.dvb.ipdcesgpdd":{source:"iana"},"application/vnd.dvb.ipdcroaming":{source:"iana"},"application/vnd.dvb.iptv.alfec-base":{source:"iana"},"application/vnd.dvb.iptv.alfec-enhancement":{source:"iana"},"application/vnd.dvb.notif-aggregate-root+xml":{source:"iana"},"application/vnd.dvb.notif-container+xml":{source:"iana"},"application/vnd.dvb.notif-generic+xml":{source:"iana"},"application/vnd.dvb.notif-ia-msglist+xml":{source:"iana"},"application/vnd.dvb.notif-ia-registration-request+xml":{source:"iana"},"application/vnd.dvb.notif-ia-registration-response+xml":{source:"iana"},"application/vnd.dvb.notif-init+xml":{source:"iana"},"application/vnd.dvb.pfr":{source:"iana"},"application/vnd.dvb.service":{source:"iana",extensions:["svc"]},"application/vnd.dxr":{source:"iana"},"application/vnd.dynageo":{source:"iana",extensions:["geo"]},"application/vnd.dzr":{source:"iana"},"application/vnd.easykaraoke.cdgdownload":{source:"iana"},"application/vnd.ecdis-update":{source:"iana"},"application/vnd.ecowin.chart":{source:"iana",extensions:["mag"]},"application/vnd.ecowin.filerequest":{source:"iana"},"application/vnd.ecowin.fileupdate":{source:"iana"},"application/vnd.ecowin.series":{source:"iana"},"application/vnd.ecowin.seriesrequest":{source:"iana"},"application/vnd.ecowin.seriesupdate":{source:"iana"},"application/vnd.emclient.accessrequest+xml":{source:"iana"},"application/vnd.enliven":{source:"iana",extensions:["nml"]},"application/vnd.enphase.envoy":{source:"iana"},"application/vnd.eprints.data+xml":{source:"iana"},"application/vnd.epson.esf":{source:"iana",extensions:["esf"]},"application/vnd.epson.msf":{source:"iana",extensions:["msf"]},"application/vnd.epson.quickanime":{source:"iana",extensions:["qam"]},"application/vnd.epson.salt":{source:"iana",extensions:["slt"]},"application/vnd.epson.ssf":{source:"iana",extensions:["ssf"]},"application/vnd.ericsson.quickcall":{source:"iana"},"application/vnd.eszigno3+xml":{source:"iana",extensions:["es3","et3"]},"application/vnd.etsi.aoc+xml":{source:"iana"},"application/vnd.etsi.asic-e+zip":{source:"iana"},"application/vnd.etsi.asic-s+zip":{source:"iana"},"application/vnd.etsi.cug+xml":{source:"iana"},"application/vnd.etsi.iptvcommand+xml":{source:"iana"},"application/vnd.etsi.iptvdiscovery+xml":{source:"iana"},"application/vnd.etsi.iptvprofile+xml":{source:"iana"},"application/vnd.etsi.iptvsad-bc+xml":{source:"iana"},"application/vnd.etsi.iptvsad-cod+xml":{source:"iana"},"application/vnd.etsi.iptvsad-npvr+xml":{source:"iana"},"application/vnd.etsi.iptvservice+xml":{source:"iana"},"application/vnd.etsi.iptvsync+xml":{source:"iana"},"application/vnd.etsi.iptvueprofile+xml":{source:"iana"},"application/vnd.etsi.mcid+xml":{source:"iana"},"application/vnd.etsi.mheg5":{source:"iana"},"application/vnd.etsi.overload-control-policy-dataset+xml":{source:"iana"},"application/vnd.etsi.pstn+xml":{source:"iana"},"application/vnd.etsi.sci+xml":{source:"iana"},"application/vnd.etsi.simservs+xml":{source:"iana"},"application/vnd.etsi.timestamp-token":{source:"iana"},"application/vnd.etsi.tsl+xml":{source:"iana"},"application/vnd.etsi.tsl.der":{source:"iana"},"application/vnd.eudora.data":{source:"iana"},"application/vnd.ezpix-album":{source:"iana",extensions:["ez2"]},"application/vnd.ezpix-package":{source:"iana",extensions:["ez3"]},"application/vnd.f-secure.mobile":{source:"iana"},"application/vnd.fastcopy-disk-image":{source:"iana"},"application/vnd.fdf":{source:"iana",extensions:["fdf"]},"application/vnd.fdsn.mseed":{source:"iana",extensions:["mseed"]},"application/vnd.fdsn.seed":{source:"iana",extensions:["seed","dataless"]},"application/vnd.ffsns":{source:"iana"},"application/vnd.filmit.zfc":{source:"iana"},"application/vnd.fints":{source:"iana"},"application/vnd.firemonkeys.cloudcell":{source:"iana"},"application/vnd.flographit":{source:"iana",extensions:["gph"]},"application/vnd.fluxtime.clip":{source:"iana",extensions:["ftc"]},"application/vnd.font-fontforge-sfd":{source:"iana"},"application/vnd.framemaker":{source:"iana",extensions:["fm","frame","maker","book"]},"application/vnd.frogans.fnc":{source:"iana",extensions:["fnc"]},"application/vnd.frogans.ltf":{source:"iana",extensions:["ltf"]},"application/vnd.fsc.weblaunch":{source:"iana",extensions:["fsc"]},"application/vnd.fujitsu.oasys":{source:"iana",extensions:["oas"]},"application/vnd.fujitsu.oasys2":{source:"iana",extensions:["oa2"]},"application/vnd.fujitsu.oasys3":{source:"iana",extensions:["oa3"]},"application/vnd.fujitsu.oasysgp":{source:"iana",extensions:["fg5"]},"application/vnd.fujitsu.oasysprs":{source:"iana",extensions:["bh2"]},"application/vnd.fujixerox.art-ex":{source:"iana"},"application/vnd.fujixerox.art4":{source:"iana"},"application/vnd.fujixerox.ddd":{source:"iana",extensions:["ddd"]},"application/vnd.fujixerox.docuworks":{source:"iana",extensions:["xdw"]},"application/vnd.fujixerox.docuworks.binder":{source:"iana",extensions:["xbd"]},"application/vnd.fujixerox.docuworks.container":{source:"iana"},"application/vnd.fujixerox.hbpl":{source:"iana"},"application/vnd.fut-misnet":{source:"iana"},"application/vnd.fuzzysheet":{source:"iana",extensions:["fzs"]},"application/vnd.genomatix.tuxedo":{source:"iana",extensions:["txd"]},"application/vnd.geo+json":{source:"iana",compressible:!0},"application/vnd.geocube+xml":{source:"iana"},"application/vnd.geogebra.file":{source:"iana",extensions:["ggb"]},"application/vnd.geogebra.tool":{source:"iana",extensions:["ggt"]},"application/vnd.geometry-explorer":{source:"iana",extensions:["gex","gre"]},"application/vnd.geonext":{source:"iana",extensions:["gxt"]},"application/vnd.geoplan":{source:"iana",extensions:["g2w"]},"application/vnd.geospace":{source:"iana",extensions:["g3w"]},"application/vnd.gerber":{source:"iana"},"application/vnd.globalplatform.card-content-mgt":{source:"iana"},"application/vnd.globalplatform.card-content-mgt-response":{source:"iana"},"application/vnd.gmx":{source:"iana",extensions:["gmx"]},"application/vnd.google-apps.document":{compressible:!1,extensions:["gdoc"]},"application/vnd.google-apps.presentation":{compressible:!1,extensions:["gslides"]},"application/vnd.google-apps.spreadsheet":{compressible:!1,extensions:["gsheet"]},"application/vnd.google-earth.kml+xml":{source:"iana",compressible:!0,extensions:["kml"]},"application/vnd.google-earth.kmz":{source:"iana",compressible:!1,extensions:["kmz"]},"application/vnd.gov.sk.e-form+xml":{source:"iana"},"application/vnd.gov.sk.e-form+zip":{source:"iana"},"application/vnd.gov.sk.xmldatacontainer+xml":{source:"iana"},"application/vnd.grafeq":{source:"iana",extensions:["gqf","gqs"]},"application/vnd.gridmp":{source:"iana"},"application/vnd.groove-account":{source:"iana",extensions:["gac"]},"application/vnd.groove-help":{source:"iana",extensions:["ghf"]},"application/vnd.groove-identity-message":{source:"iana",extensions:["gim"]},"application/vnd.groove-injector":{source:"iana",extensions:["grv"]},"application/vnd.groove-tool-message":{source:"iana",extensions:["gtm"]},"application/vnd.groove-tool-template":{source:"iana",extensions:["tpl"]},"application/vnd.groove-vcard":{source:"iana",extensions:["vcg"]},"application/vnd.hal+json":{source:"iana",compressible:!0},"application/vnd.hal+xml":{source:"iana",extensions:["hal"]},"application/vnd.handheld-entertainment+xml":{source:"iana",extensions:["zmm"]},"application/vnd.hbci":{source:"iana",extensions:["hbci"]},"application/vnd.hcl-bireports":{source:"iana"},"application/vnd.heroku+json":{source:"iana",compressible:!0},"application/vnd.hhe.lesson-player":{source:"iana",extensions:["les"]},"application/vnd.hp-hpgl":{source:"iana",extensions:["hpgl"]},"application/vnd.hp-hpid":{source:"iana",extensions:["hpid"]},"application/vnd.hp-hps":{source:"iana",extensions:["hps"]},"application/vnd.hp-jlyt":{source:"iana",extensions:["jlt"]},"application/vnd.hp-pcl":{source:"iana",extensions:["pcl"]},"application/vnd.hp-pclxl":{source:"iana",extensions:["pclxl"]},"application/vnd.httphone":{source:"iana"},"application/vnd.hydrostatix.sof-data":{source:"iana",extensions:["sfd-hdstx"]},"application/vnd.hyperdrive+json":{source:"iana",compressible:!0},"application/vnd.hzn-3d-crossword":{source:"iana"},"application/vnd.ibm.afplinedata":{source:"iana"},"application/vnd.ibm.electronic-media":{source:"iana"},"application/vnd.ibm.minipay":{source:"iana",extensions:["mpy"]},"application/vnd.ibm.modcap":{source:"iana",extensions:["afp","listafp","list3820"]},"application/vnd.ibm.rights-management":{source:"iana",extensions:["irm"]},"application/vnd.ibm.secure-container":{source:"iana",extensions:["sc"]},"application/vnd.iccprofile":{source:"iana",extensions:["icc","icm"]},"application/vnd.ieee.1905":{source:"iana"},"application/vnd.igloader":{source:"iana",extensions:["igl"]},"application/vnd.immervision-ivp":{source:"iana",extensions:["ivp"]},"application/vnd.immervision-ivu":{source:"iana",extensions:["ivu"]},"application/vnd.ims.imsccv1p1":{source:"iana"},"application/vnd.ims.imsccv1p2":{source:"iana"},"application/vnd.ims.imsccv1p3":{source:"iana"},"application/vnd.ims.lis.v2.result+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolconsumerprofile+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolproxy+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolproxy.id+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolsettings+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolsettings.simple+json":{source:"iana",compressible:!0},"application/vnd.informedcontrol.rms+xml":{source:"iana"},"application/vnd.informix-visionary":{source:"iana"},"application/vnd.infotech.project":{source:"iana"},"application/vnd.infotech.project+xml":{source:"iana"},"application/vnd.innopath.wamp.notification":{source:"iana"},"application/vnd.insors.igm":{source:"iana",extensions:["igm"]},"application/vnd.intercon.formnet":{source:"iana",extensions:["xpw","xpx"]},"application/vnd.intergeo":{source:"iana",extensions:["i2g"]},"application/vnd.intertrust.digibox":{source:"iana"},"application/vnd.intertrust.nncp":{source:"iana"},"application/vnd.intu.qbo":{source:"iana",extensions:["qbo"]},"application/vnd.intu.qfx":{source:"iana",extensions:["qfx"]},"application/vnd.iptc.g2.catalogitem+xml":{source:"iana"},"application/vnd.iptc.g2.conceptitem+xml":{source:"iana"},"application/vnd.iptc.g2.knowledgeitem+xml":{source:"iana"},"application/vnd.iptc.g2.newsitem+xml":{source:"iana"},"application/vnd.iptc.g2.newsmessage+xml":{source:"iana"},"application/vnd.iptc.g2.packageitem+xml":{source:"iana"},"application/vnd.iptc.g2.planningitem+xml":{source:"iana"},"application/vnd.ipunplugged.rcprofile":{source:"iana",extensions:["rcprofile"]},"application/vnd.irepository.package+xml":{source:"iana",extensions:["irp"]},"application/vnd.is-xpr":{source:"iana",extensions:["xpr"]},"application/vnd.isac.fcs":{source:"iana",extensions:["fcs"]},"application/vnd.jam":{source:"iana",extensions:["jam"]},"application/vnd.japannet-directory-service":{source:"iana"},"application/vnd.japannet-jpnstore-wakeup":{source:"iana"},"application/vnd.japannet-payment-wakeup":{source:"iana"},"application/vnd.japannet-registration":{source:"iana"},"application/vnd.japannet-registration-wakeup":{source:"iana"},"application/vnd.japannet-setstore-wakeup":{source:"iana"},"application/vnd.japannet-verification":{source:"iana"},"application/vnd.japannet-verification-wakeup":{source:"iana"},"application/vnd.jcp.javame.midlet-rms":{source:"iana",extensions:["rms"]},"application/vnd.jisp":{source:"iana",extensions:["jisp"]},"application/vnd.joost.joda-archive":{source:"iana",extensions:["joda"]},"application/vnd.jsk.isdn-ngn":{source:"iana"},"application/vnd.kahootz":{source:"iana",extensions:["ktz","ktr"]},"application/vnd.kde.karbon":{source:"iana",extensions:["karbon"]},"application/vnd.kde.kchart":{source:"iana",extensions:["chrt"]},"application/vnd.kde.kformula":{source:"iana",extensions:["kfo"]},"application/vnd.kde.kivio":{source:"iana",extensions:["flw"]},"application/vnd.kde.kontour":{source:"iana",extensions:["kon"]},"application/vnd.kde.kpresenter":{source:"iana",extensions:["kpr","kpt"]},"application/vnd.kde.kspread":{source:"iana",extensions:["ksp"]},"application/vnd.kde.kword":{source:"iana",extensions:["kwd","kwt"]},"application/vnd.kenameaapp":{source:"iana",extensions:["htke"]},"application/vnd.kidspiration":{source:"iana",extensions:["kia"]},"application/vnd.kinar":{source:"iana",extensions:["kne","knp"]},"application/vnd.koan":{source:"iana",extensions:["skp","skd","skt","skm"]},"application/vnd.kodak-descriptor":{source:"iana",extensions:["sse"]},"application/vnd.las.las+xml":{source:"iana",extensions:["lasxml"]},"application/vnd.liberty-request+xml":{source:"iana"},"application/vnd.llamagraphics.life-balance.desktop":{source:"iana",extensions:["lbd"]},"application/vnd.llamagraphics.life-balance.exchange+xml":{source:"iana",extensions:["lbe"]},"application/vnd.lotus-1-2-3":{source:"iana",extensions:["123"]},"application/vnd.lotus-approach":{source:"iana",extensions:["apr"]},"application/vnd.lotus-freelance":{source:"iana",extensions:["pre"]},"application/vnd.lotus-notes":{source:"iana",extensions:["nsf"]},"application/vnd.lotus-organizer":{source:"iana",extensions:["org"]},"application/vnd.lotus-screencam":{source:"iana",extensions:["scm"]},"application/vnd.lotus-wordpro":{source:"iana",extensions:["lwp"]},"application/vnd.macports.portpkg":{source:"iana",extensions:["portpkg"]},"application/vnd.mapbox-vector-tile":{source:"iana"},"application/vnd.marlin.drm.actiontoken+xml":{source:"iana"},"application/vnd.marlin.drm.conftoken+xml":{source:"iana"},"application/vnd.marlin.drm.license+xml":{source:"iana"},"application/vnd.marlin.drm.mdcf":{source:"iana"},"application/vnd.mason+json":{source:"iana",compressible:!0},"application/vnd.maxmind.maxmind-db":{source:"iana"},"application/vnd.mcd":{source:"iana",extensions:["mcd"]},"application/vnd.medcalcdata":{source:"iana",extensions:["mc1"]},"application/vnd.mediastation.cdkey":{source:"iana",extensions:["cdkey"]},"application/vnd.meridian-slingshot":{source:"iana"},"application/vnd.mfer":{source:"iana",extensions:["mwf"]},"application/vnd.mfmp":{source:"iana",extensions:["mfm"]},"application/vnd.micro+json":{source:"iana",compressible:!0},"application/vnd.micrografx.flo":{source:"iana",extensions:["flo"]},"application/vnd.micrografx.igx":{source:"iana",extensions:["igx"]},"application/vnd.microsoft.portable-executable":{source:"iana"},"application/vnd.miele+json":{source:"iana",compressible:!0},"application/vnd.mif":{source:"iana",extensions:["mif"]},"application/vnd.minisoft-hp3000-save":{source:"iana"},"application/vnd.mitsubishi.misty-guard.trustweb":{source:"iana"},"application/vnd.mobius.daf":{source:"iana",extensions:["daf"]},"application/vnd.mobius.dis":{source:"iana",extensions:["dis"]},"application/vnd.mobius.mbk":{source:"iana",extensions:["mbk"]},"application/vnd.mobius.mqy":{source:"iana",extensions:["mqy"]},"application/vnd.mobius.msl":{source:"iana",extensions:["msl"]},"application/vnd.mobius.plc":{source:"iana",extensions:["plc"]},"application/vnd.mobius.txf":{source:"iana",extensions:["txf"]},"application/vnd.mophun.application":{source:"iana",extensions:["mpn"]},"application/vnd.mophun.certificate":{source:"iana",extensions:["mpc"]},"application/vnd.motorola.flexsuite":{source:"iana"},"application/vnd.motorola.flexsuite.adsi":{source:"iana"},"application/vnd.motorola.flexsuite.fis":{source:"iana"},"application/vnd.motorola.flexsuite.gotap":{source:"iana"},"application/vnd.motorola.flexsuite.kmr":{source:"iana"},"application/vnd.motorola.flexsuite.ttc":{source:"iana"},"application/vnd.motorola.flexsuite.wem":{source:"iana"},"application/vnd.motorola.iprm":{source:"iana"},"application/vnd.mozilla.xul+xml":{source:"iana",compressible:!0,extensions:["xul"]},"application/vnd.ms-3mfdocument":{source:"iana"},"application/vnd.ms-artgalry":{source:"iana",extensions:["cil"]},"application/vnd.ms-asf":{source:"iana"},"application/vnd.ms-cab-compressed":{source:"iana",extensions:["cab"]},"application/vnd.ms-color.iccprofile":{source:"apache"},"application/vnd.ms-excel":{source:"iana",compressible:!1,extensions:["xls","xlm","xla","xlc","xlt","xlw"]},"application/vnd.ms-excel.addin.macroenabled.12":{source:"iana",extensions:["xlam"]},"application/vnd.ms-excel.sheet.binary.macroenabled.12":{source:"iana",extensions:["xlsb"]},"application/vnd.ms-excel.sheet.macroenabled.12":{source:"iana",extensions:["xlsm"]},"application/vnd.ms-excel.template.macroenabled.12":{source:"iana",extensions:["xltm"]},"application/vnd.ms-fontobject":{source:"iana",compressible:!0,extensions:["eot"]},"application/vnd.ms-htmlhelp":{source:"iana",extensions:["chm"]},"application/vnd.ms-ims":{source:"iana",extensions:["ims"]},"application/vnd.ms-lrm":{source:"iana",extensions:["lrm"]},"application/vnd.ms-office.activex+xml":{source:"iana"},"application/vnd.ms-officetheme":{source:"iana",extensions:["thmx"]},"application/vnd.ms-opentype":{source:"apache",compressible:!0},"application/vnd.ms-package.obfuscated-opentype":{source:"apache"},"application/vnd.ms-pki.seccat":{source:"apache",extensions:["cat"]},"application/vnd.ms-pki.stl":{source:"apache",extensions:["stl"]},"application/vnd.ms-playready.initiator+xml":{source:"iana"},"application/vnd.ms-powerpoint":{source:"iana",compressible:!1,extensions:["ppt","pps","pot"]},"application/vnd.ms-powerpoint.addin.macroenabled.12":{source:"iana",extensions:["ppam"]},"application/vnd.ms-powerpoint.presentation.macroenabled.12":{source:"iana",extensions:["pptm"]},"application/vnd.ms-powerpoint.slide.macroenabled.12":{source:"iana",extensions:["sldm"]},"application/vnd.ms-powerpoint.slideshow.macroenabled.12":{source:"iana",extensions:["ppsm"]},"application/vnd.ms-powerpoint.template.macroenabled.12":{source:"iana",extensions:["potm"]},"application/vnd.ms-printdevicecapabilities+xml":{source:"iana"},"application/vnd.ms-printing.printticket+xml":{source:"apache"},"application/vnd.ms-project":{source:"iana",extensions:["mpp","mpt"]},"application/vnd.ms-tnef":{source:"iana"},"application/vnd.ms-windows.devicepairing":{source:"iana"},"application/vnd.ms-windows.nwprinting.oob":{source:"iana"},"application/vnd.ms-windows.printerpairing":{source:"iana"},"application/vnd.ms-windows.wsd.oob":{source:"iana"},"application/vnd.ms-wmdrm.lic-chlg-req":{source:"iana"},"application/vnd.ms-wmdrm.lic-resp":{source:"iana"},"application/vnd.ms-wmdrm.meter-chlg-req":{source:"iana"},"application/vnd.ms-wmdrm.meter-resp":{source:"iana"},"application/vnd.ms-word.document.macroenabled.12":{source:"iana",extensions:["docm"]},"application/vnd.ms-word.template.macroenabled.12":{source:"iana",extensions:["dotm"]},"application/vnd.ms-works":{source:"iana",extensions:["wps","wks","wcm","wdb"]},"application/vnd.ms-wpl":{source:"iana",extensions:["wpl"]},"application/vnd.ms-xpsdocument":{source:"iana",compressible:!1,extensions:["xps"]},"application/vnd.msa-disk-image":{source:"iana"},"application/vnd.mseq":{source:"iana",extensions:["mseq"]},"application/vnd.msign":{source:"iana"},"application/vnd.multiad.creator":{source:"iana"},"application/vnd.multiad.creator.cif":{source:"iana"},"application/vnd.music-niff":{source:"iana"},"application/vnd.musician":{source:"iana",extensions:["mus"]},"application/vnd.muvee.style":{source:"iana",extensions:["msty"]},"application/vnd.mynfc":{source:"iana",extensions:["taglet"]},"application/vnd.ncd.control":{source:"iana"},"application/vnd.ncd.reference":{source:"iana"},"application/vnd.nervana":{source:"iana"},"application/vnd.netfpx":{source:"iana"},"application/vnd.neurolanguage.nlu":{source:"iana",extensions:["nlu"]},"application/vnd.nintendo.nitro.rom":{source:"iana"},"application/vnd.nintendo.snes.rom":{source:"iana"},"application/vnd.nitf":{source:"iana",extensions:["ntf","nitf"]},"application/vnd.noblenet-directory":{source:"iana",extensions:["nnd"]},"application/vnd.noblenet-sealer":{source:"iana",extensions:["nns"]},"application/vnd.noblenet-web":{source:"iana",extensions:["nnw"]},"application/vnd.nokia.catalogs":{source:"iana"},"application/vnd.nokia.conml+wbxml":{source:"iana"},"application/vnd.nokia.conml+xml":{source:"iana"},"application/vnd.nokia.iptv.config+xml":{source:"iana"},"application/vnd.nokia.isds-radio-presets":{source:"iana"},"application/vnd.nokia.landmark+wbxml":{source:"iana"},"application/vnd.nokia.landmark+xml":{source:"iana"},"application/vnd.nokia.landmarkcollection+xml":{source:"iana"},"application/vnd.nokia.n-gage.ac+xml":{source:"iana"},"application/vnd.nokia.n-gage.data":{source:"iana",extensions:["ngdat"]},"application/vnd.nokia.n-gage.symbian.install":{source:"iana",extensions:["n-gage"]},"application/vnd.nokia.ncd":{source:"iana"},"application/vnd.nokia.pcd+wbxml":{source:"iana"},"application/vnd.nokia.pcd+xml":{source:"iana"},"application/vnd.nokia.radio-preset":{source:"iana",extensions:["rpst"]},"application/vnd.nokia.radio-presets":{source:"iana",extensions:["rpss"]},"application/vnd.novadigm.edm":{source:"iana",extensions:["edm"]},"application/vnd.novadigm.edx":{source:"iana",extensions:["edx"]},"application/vnd.novadigm.ext":{source:"iana",extensions:["ext"]},"application/vnd.ntt-local.content-share":{source:"iana"},"application/vnd.ntt-local.file-transfer":{source:"iana"},"application/vnd.ntt-local.ogw_remote-access":{source:"iana"},"application/vnd.ntt-local.sip-ta_remote":{source:"iana"},"application/vnd.ntt-local.sip-ta_tcp_stream":{source:"iana"},"application/vnd.oasis.opendocument.chart":{source:"iana",extensions:["odc"]},"application/vnd.oasis.opendocument.chart-template":{source:"iana",extensions:["otc"]},"application/vnd.oasis.opendocument.database":{source:"iana",extensions:["odb"]},"application/vnd.oasis.opendocument.formula":{source:"iana",extensions:["odf"]},"application/vnd.oasis.opendocument.formula-template":{source:"iana",extensions:["odft"]},"application/vnd.oasis.opendocument.graphics":{source:"iana",compressible:!1,extensions:["odg"]},"application/vnd.oasis.opendocument.graphics-template":{source:"iana",extensions:["otg"]},"application/vnd.oasis.opendocument.image":{source:"iana",extensions:["odi"]},"application/vnd.oasis.opendocument.image-template":{source:"iana",extensions:["oti"]},"application/vnd.oasis.opendocument.presentation":{source:"iana",compressible:!1,extensions:["odp"]},"application/vnd.oasis.opendocument.presentation-template":{source:"iana",extensions:["otp"]},"application/vnd.oasis.opendocument.spreadsheet":{source:"iana",compressible:!1,extensions:["ods"]},"application/vnd.oasis.opendocument.spreadsheet-template":{source:"iana",extensions:["ots"]},"application/vnd.oasis.opendocument.text":{source:"iana",compressible:!1,extensions:["odt"]},"application/vnd.oasis.opendocument.text-master":{source:"iana",extensions:["odm"]},"application/vnd.oasis.opendocument.text-template":{source:"iana",extensions:["ott"]},"application/vnd.oasis.opendocument.text-web":{source:"iana",extensions:["oth"]},"application/vnd.obn":{source:"iana"},"application/vnd.oftn.l10n+json":{source:"iana",compressible:!0},"application/vnd.oipf.contentaccessdownload+xml":{source:"iana"},"application/vnd.oipf.contentaccessstreaming+xml":{source:"iana"},"application/vnd.oipf.cspg-hexbinary":{source:"iana"},"application/vnd.oipf.dae.svg+xml":{source:"iana"},"application/vnd.oipf.dae.xhtml+xml":{source:"iana"},"application/vnd.oipf.mippvcontrolmessage+xml":{source:"iana"},"application/vnd.oipf.pae.gem":{source:"iana"},"application/vnd.oipf.spdiscovery+xml":{source:"iana"},"application/vnd.oipf.spdlist+xml":{source:"iana"},"application/vnd.oipf.ueprofile+xml":{source:"iana"},"application/vnd.oipf.userprofile+xml":{source:"iana"},"application/vnd.olpc-sugar":{source:"iana",extensions:["xo"]},"application/vnd.oma-scws-config":{source:"iana"},"application/vnd.oma-scws-http-request":{source:"iana"},"application/vnd.oma-scws-http-response":{source:"iana"},"application/vnd.oma.bcast.associated-procedure-parameter+xml":{source:"iana"},"application/vnd.oma.bcast.drm-trigger+xml":{source:"iana"},"application/vnd.oma.bcast.imd+xml":{source:"iana"},"application/vnd.oma.bcast.ltkm":{source:"iana"},"application/vnd.oma.bcast.notification+xml":{source:"iana"},"application/vnd.oma.bcast.provisioningtrigger":{source:"iana"},"application/vnd.oma.bcast.sgboot":{source:"iana"},"application/vnd.oma.bcast.sgdd+xml":{source:"iana"},"application/vnd.oma.bcast.sgdu":{source:"iana"},"application/vnd.oma.bcast.simple-symbol-container":{source:"iana"},"application/vnd.oma.bcast.smartcard-trigger+xml":{source:"iana"},"application/vnd.oma.bcast.sprov+xml":{source:"iana"},"application/vnd.oma.bcast.stkm":{source:"iana"},"application/vnd.oma.cab-address-book+xml":{source:"iana"},"application/vnd.oma.cab-feature-handler+xml":{source:"iana"},"application/vnd.oma.cab-pcc+xml":{source:"iana"},"application/vnd.oma.cab-subs-invite+xml":{source:"iana"},"application/vnd.oma.cab-user-prefs+xml":{source:"iana"},"application/vnd.oma.dcd":{source:"iana"},"application/vnd.oma.dcdc":{source:"iana"},"application/vnd.oma.dd2+xml":{source:"iana",extensions:["dd2"]},"application/vnd.oma.drm.risd+xml":{source:"iana"},"application/vnd.oma.group-usage-list+xml":{source:"iana"},"application/vnd.oma.pal+xml":{source:"iana"},"application/vnd.oma.poc.detailed-progress-report+xml":{source:"iana"},"application/vnd.oma.poc.final-report+xml":{source:"iana"},"application/vnd.oma.poc.groups+xml":{source:"iana"},"application/vnd.oma.poc.invocation-descriptor+xml":{source:"iana"},"application/vnd.oma.poc.optimized-progress-report+xml":{source:"iana"},"application/vnd.oma.push":{source:"iana"},"application/vnd.oma.scidm.messages+xml":{source:"iana"},"application/vnd.oma.xcap-directory+xml":{source:"iana"},"application/vnd.omads-email+xml":{source:"iana"},"application/vnd.omads-file+xml":{source:"iana"},"application/vnd.omads-folder+xml":{source:"iana"},"application/vnd.omaloc-supl-init":{source:"iana"},"application/vnd.openblox.game+xml":{source:"iana"},"application/vnd.openblox.game-binary":{source:"iana"},"application/vnd.openeye.oeb":{source:"iana"},"application/vnd.openofficeorg.extension":{source:"apache",extensions:["oxt"]},"application/vnd.openxmlformats-officedocument.custom-properties+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.customxmlproperties+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.drawing+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.drawingml.chart+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.extended-properties+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.presentationml-template":{source:"iana"},"application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.presentationml.comments+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.presentationml.presentation":{source:"iana",compressible:!1,extensions:["pptx"]},"application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.presentationml.presprops+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.presentationml.slide":{source:"iana",extensions:["sldx"]},"application/vnd.openxmlformats-officedocument.presentationml.slide+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.presentationml.slideshow":{source:"iana",extensions:["ppsx"]},"application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.presentationml.tags+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.presentationml.template":{source:"apache",extensions:["potx"]},"application/vnd.openxmlformats-officedocument.presentationml.template.main+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.spreadsheetml-template":{source:"iana"},"application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":{source:"iana",compressible:!1,extensions:["xlsx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.spreadsheetml.template":{source:"apache",extensions:["xltx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.theme+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.themeoverride+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.vmldrawing":{source:"iana"},"application/vnd.openxmlformats-officedocument.wordprocessingml-template":{source:"iana"},"application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.wordprocessingml.document":{source:"iana",compressible:!1,extensions:["docx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.wordprocessingml.template":{source:"apache",extensions:["dotx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml":{source:"iana"},"application/vnd.openxmlformats-package.core-properties+xml":{source:"iana"},"application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml":{source:"iana"},"application/vnd.openxmlformats-package.relationships+xml":{source:"iana"},"application/vnd.oracle.resource+json":{source:"iana",compressible:!0},"application/vnd.orange.indata":{source:"iana"},"application/vnd.osa.netdeploy":{source:"iana"},"application/vnd.osgeo.mapguide.package":{source:"iana",extensions:["mgp"]},"application/vnd.osgi.bundle":{source:"iana"},"application/vnd.osgi.dp":{source:"iana",extensions:["dp"]},"application/vnd.osgi.subsystem":{source:"iana",extensions:["esa"]},"application/vnd.otps.ct-kip+xml":{source:"iana"},"application/vnd.oxli.countgraph":{source:"iana"},"application/vnd.pagerduty+json":{source:"iana",compressible:!0},"application/vnd.palm":{source:"iana",extensions:["pdb","pqa","oprc"]},"application/vnd.panoply":{source:"iana"},"application/vnd.paos+xml":{source:"iana"},"application/vnd.paos.xml":{source:"apache"},"application/vnd.pawaafile":{source:"iana",extensions:["paw"]},"application/vnd.pcos":{source:"iana"},"application/vnd.pg.format":{source:"iana",extensions:["str"]},"application/vnd.pg.osasli":{source:"iana",extensions:["ei6"]},"application/vnd.piaccess.application-licence":{source:"iana"},"application/vnd.picsel":{source:"iana",extensions:["efif"]},"application/vnd.pmi.widget":{source:"iana",extensions:["wg"]},"application/vnd.poc.group-advertisement+xml":{source:"iana"},"application/vnd.pocketlearn":{source:"iana",extensions:["plf"]},"application/vnd.powerbuilder6":{source:"iana",extensions:["pbd"]},"application/vnd.powerbuilder6-s":{source:"iana"},"application/vnd.powerbuilder7":{source:"iana"},"application/vnd.powerbuilder7-s":{source:"iana"},"application/vnd.powerbuilder75":{source:"iana"},"application/vnd.powerbuilder75-s":{source:"iana"},"application/vnd.preminet":{source:"iana"},"application/vnd.previewsystems.box":{source:"iana",extensions:["box"]},"application/vnd.proteus.magazine":{source:"iana",extensions:["mgz"]},"application/vnd.publishare-delta-tree":{source:"iana",extensions:["qps"]},"application/vnd.pvi.ptid1":{source:"iana",extensions:["ptid"]},"application/vnd.pwg-multiplexed":{source:"iana"},"application/vnd.pwg-xhtml-print+xml":{source:"iana"},"application/vnd.qualcomm.brew-app-res":{source:"iana"},"application/vnd.quark.quarkxpress":{source:"iana",extensions:["qxd","qxt","qwd","qwt","qxl","qxb"]},"application/vnd.quobject-quoxdocument":{source:"iana"},"application/vnd.radisys.moml+xml":{source:"iana"},"application/vnd.radisys.msml+xml":{source:"iana"},"application/vnd.radisys.msml-audit+xml":{source:"iana"},"application/vnd.radisys.msml-audit-conf+xml":{source:"iana"},"application/vnd.radisys.msml-audit-conn+xml":{source:"iana"},"application/vnd.radisys.msml-audit-dialog+xml":{source:"iana"},"application/vnd.radisys.msml-audit-stream+xml":{source:"iana"},"application/vnd.radisys.msml-conf+xml":{source:"iana"},"application/vnd.radisys.msml-dialog+xml":{source:"iana"},"application/vnd.radisys.msml-dialog-base+xml":{source:"iana"},"application/vnd.radisys.msml-dialog-fax-detect+xml":{source:"iana"},"application/vnd.radisys.msml-dialog-fax-sendrecv+xml":{source:"iana"},"application/vnd.radisys.msml-dialog-group+xml":{source:"iana"},"application/vnd.radisys.msml-dialog-speech+xml":{source:"iana"},"application/vnd.radisys.msml-dialog-transform+xml":{source:"iana"},"application/vnd.rainstor.data":{source:"iana"},"application/vnd.rapid":{source:"iana"},"application/vnd.realvnc.bed":{source:"iana",extensions:["bed"]},"application/vnd.recordare.musicxml":{source:"iana",extensions:["mxl"]},"application/vnd.recordare.musicxml+xml":{source:"iana",extensions:["musicxml"]},"application/vnd.renlearn.rlprint":{source:"iana"},"application/vnd.rig.cryptonote":{source:"iana",extensions:["cryptonote"]},"application/vnd.rim.cod":{source:"apache",extensions:["cod"]},"application/vnd.rn-realmedia":{source:"apache",extensions:["rm"]},"application/vnd.rn-realmedia-vbr":{source:"apache",extensions:["rmvb"]},"application/vnd.route66.link66+xml":{source:"iana",extensions:["link66"]},"application/vnd.rs-274x":{source:"iana"},"application/vnd.ruckus.download":{source:"iana"},"application/vnd.s3sms":{source:"iana"},"application/vnd.sailingtracker.track":{source:"iana",extensions:["st"]},"application/vnd.sbm.cid":{source:"iana"},"application/vnd.sbm.mid2":{source:"iana"},"application/vnd.scribus":{source:"iana"},"application/vnd.sealed.3df":{source:"iana"},"application/vnd.sealed.csf":{source:"iana"},"application/vnd.sealed.doc":{source:"iana"},"application/vnd.sealed.eml":{source:"iana"},"application/vnd.sealed.mht":{source:"iana"},"application/vnd.sealed.net":{source:"iana"},"application/vnd.sealed.ppt":{source:"iana"},"application/vnd.sealed.tiff":{source:"iana"},"application/vnd.sealed.xls":{source:"iana"},"application/vnd.sealedmedia.softseal.html":{source:"iana"},"application/vnd.sealedmedia.softseal.pdf":{source:"iana"},"application/vnd.seemail":{source:"iana",extensions:["see"]},"application/vnd.sema":{source:"iana",extensions:["sema"]},"application/vnd.semd":{source:"iana",extensions:["semd"]},"application/vnd.semf":{source:"iana",extensions:["semf"]},"application/vnd.shana.informed.formdata":{source:"iana",extensions:["ifm"]},"application/vnd.shana.informed.formtemplate":{source:"iana",extensions:["itp"]},"application/vnd.shana.informed.interchange":{source:"iana",extensions:["iif"]},"application/vnd.shana.informed.package":{source:"iana",extensions:["ipk"]},"application/vnd.simtech-mindmapper":{source:"iana",extensions:["twd","twds"]},"application/vnd.siren+json":{source:"iana",compressible:!0},"application/vnd.smaf":{source:"iana",extensions:["mmf"]},"application/vnd.smart.notebook":{source:"iana"},"application/vnd.smart.teacher":{source:"iana",extensions:["teacher"]},"application/vnd.software602.filler.form+xml":{source:"iana"},"application/vnd.software602.filler.form-xml-zip":{source:"iana"},"application/vnd.solent.sdkm+xml":{source:"iana",extensions:["sdkm","sdkd"]},"application/vnd.spotfire.dxp":{source:"iana",extensions:["dxp"]},"application/vnd.spotfire.sfs":{source:"iana",extensions:["sfs"]},"application/vnd.sss-cod":{source:"iana"},"application/vnd.sss-dtf":{source:"iana"},"application/vnd.sss-ntf":{source:"iana"},"application/vnd.stardivision.calc":{source:"apache",extensions:["sdc"]},"application/vnd.stardivision.draw":{source:"apache",extensions:["sda"]},"application/vnd.stardivision.impress":{source:"apache",extensions:["sdd"]},"application/vnd.stardivision.math":{source:"apache",extensions:["smf"]},"application/vnd.stardivision.writer":{source:"apache",extensions:["sdw","vor"]},"application/vnd.stardivision.writer-global":{source:"apache",extensions:["sgl"]},"application/vnd.stepmania.package":{source:"iana",extensions:["smzip"]},"application/vnd.stepmania.stepchart":{source:"iana",extensions:["sm"]},"application/vnd.street-stream":{source:"iana"},"application/vnd.sun.wadl+xml":{source:"iana"},"application/vnd.sun.xml.calc":{source:"apache",extensions:["sxc"]},"application/vnd.sun.xml.calc.template":{source:"apache",extensions:["stc"]},"application/vnd.sun.xml.draw":{source:"apache",extensions:["sxd"]},"application/vnd.sun.xml.draw.template":{source:"apache",extensions:["std"]},"application/vnd.sun.xml.impress":{source:"apache",extensions:["sxi"]},"application/vnd.sun.xml.impress.template":{source:"apache",extensions:["sti"]},"application/vnd.sun.xml.math":{source:"apache",extensions:["sxm"]},"application/vnd.sun.xml.writer":{source:"apache",extensions:["sxw"]},"application/vnd.sun.xml.writer.global":{source:"apache",extensions:["sxg"]},"application/vnd.sun.xml.writer.template":{source:"apache",extensions:["stw"]},"application/vnd.sus-calendar":{source:"iana",extensions:["sus","susp"]},"application/vnd.svd":{source:"iana",extensions:["svd"]},"application/vnd.swiftview-ics":{source:"iana"},"application/vnd.symbian.install":{source:"apache",extensions:["sis","sisx"]},"application/vnd.syncml+xml":{source:"iana",extensions:["xsm"]},"application/vnd.syncml.dm+wbxml":{source:"iana",extensions:["bdm"]},"application/vnd.syncml.dm+xml":{source:"iana",extensions:["xdm"]},"application/vnd.syncml.dm.notification":{source:"iana"},"application/vnd.syncml.dmddf+wbxml":{source:"iana"},"application/vnd.syncml.dmddf+xml":{source:"iana"},"application/vnd.syncml.dmtnds+wbxml":{source:"iana"},"application/vnd.syncml.dmtnds+xml":{source:"iana"},"application/vnd.syncml.ds.notification":{source:"iana"},"application/vnd.tao.intent-module-archive":{source:"iana",extensions:["tao"]},"application/vnd.tcpdump.pcap":{source:"iana",extensions:["pcap","cap","dmp"]},"application/vnd.tmd.mediaflex.api+xml":{source:"iana"},"application/vnd.tml":{source:"iana"},"application/vnd.tmobile-livetv":{source:"iana",extensions:["tmo"]},"application/vnd.trid.tpt":{source:"iana",extensions:["tpt"]},"application/vnd.triscape.mxs":{source:"iana",extensions:["mxs"]},"application/vnd.trueapp":{source:"iana",extensions:["tra"]},"application/vnd.truedoc":{source:"iana"},"application/vnd.ubisoft.webplayer":{source:"iana"},"application/vnd.ufdl":{source:"iana",extensions:["ufd","ufdl"]},"application/vnd.uiq.theme":{source:"iana",extensions:["utz"]},"application/vnd.umajin":{source:"iana",extensions:["umj"]},"application/vnd.unity":{source:"iana",extensions:["unityweb"]},"application/vnd.uoml+xml":{source:"iana",extensions:["uoml"]},"application/vnd.uplanet.alert":{source:"iana"},"application/vnd.uplanet.alert-wbxml":{source:"iana"},"application/vnd.uplanet.bearer-choice":{source:"iana"},"application/vnd.uplanet.bearer-choice-wbxml":{source:"iana"},"application/vnd.uplanet.cacheop":{source:"iana"},"application/vnd.uplanet.cacheop-wbxml":{source:"iana"},"application/vnd.uplanet.channel":{source:"iana"},"application/vnd.uplanet.channel-wbxml":{source:"iana"},"application/vnd.uplanet.list":{source:"iana"},"application/vnd.uplanet.list-wbxml":{source:"iana"},"application/vnd.uplanet.listcmd":{source:"iana"},"application/vnd.uplanet.listcmd-wbxml":{source:"iana"},"application/vnd.uplanet.signal":{source:"iana"},"application/vnd.uri-map":{source:"iana"},"application/vnd.valve.source.material":{source:"iana"},"application/vnd.vcx":{source:"iana",extensions:["vcx"]},"application/vnd.vd-study":{source:"iana"},"application/vnd.vectorworks":{source:"iana"},"application/vnd.verimatrix.vcas":{source:"iana"},"application/vnd.vidsoft.vidconference":{source:"iana"},"application/vnd.visio":{source:"iana",extensions:["vsd","vst","vss","vsw"]},"application/vnd.visionary":{source:"iana",extensions:["vis"]},"application/vnd.vividence.scriptfile":{source:"iana"},"application/vnd.vsf":{source:"iana",extensions:["vsf"]},"application/vnd.wap.sic":{source:"iana"},"application/vnd.wap.slc":{source:"iana"},"application/vnd.wap.wbxml":{source:"iana",extensions:["wbxml"]},"application/vnd.wap.wmlc":{source:"iana",extensions:["wmlc"]},"application/vnd.wap.wmlscriptc":{source:"iana",extensions:["wmlsc"]},"application/vnd.webturbo":{source:"iana",extensions:["wtb"]},"application/vnd.wfa.p2p":{source:"iana"},"application/vnd.wfa.wsc":{source:"iana"},"application/vnd.windows.devicepairing":{source:"iana"},"application/vnd.wmc":{source:"iana"},"application/vnd.wmf.bootstrap":{source:"iana"},"application/vnd.wolfram.mathematica":{source:"iana"},"application/vnd.wolfram.mathematica.package":{source:"iana"},"application/vnd.wolfram.player":{source:"iana",extensions:["nbp"]},"application/vnd.wordperfect":{source:"iana",extensions:["wpd"]},"application/vnd.wqd":{source:"iana",extensions:["wqd"]},"application/vnd.wrq-hp3000-labelled":{source:"iana"},"application/vnd.wt.stf":{source:"iana",extensions:["stf"]},"application/vnd.wv.csp+wbxml":{source:"iana"},"application/vnd.wv.csp+xml":{source:"iana"},"application/vnd.wv.ssp+xml":{source:"iana"},"application/vnd.xacml+json":{source:"iana",compressible:!0},"application/vnd.xara":{source:"iana",extensions:["xar"]},"application/vnd.xfdl":{source:"iana",extensions:["xfdl"]},"application/vnd.xfdl.webform":{source:"iana"},"application/vnd.xmi+xml":{source:"iana"},"application/vnd.xmpie.cpkg":{source:"iana"},"application/vnd.xmpie.dpkg":{source:"iana"},"application/vnd.xmpie.plan":{source:"iana"},"application/vnd.xmpie.ppkg":{source:"iana"},"application/vnd.xmpie.xlim":{source:"iana"},"application/vnd.yamaha.hv-dic":{source:"iana",extensions:["hvd"]},"application/vnd.yamaha.hv-script":{source:"iana",extensions:["hvs"]},"application/vnd.yamaha.hv-voice":{source:"iana",extensions:["hvp"]},"application/vnd.yamaha.openscoreformat":{source:"iana",extensions:["osf"]},"application/vnd.yamaha.openscoreformat.osfpvg+xml":{source:"iana",extensions:["osfpvg"]},"application/vnd.yamaha.remote-setup":{source:"iana"},"application/vnd.yamaha.smaf-audio":{source:"iana",extensions:["saf"]},"application/vnd.yamaha.smaf-phrase":{source:"iana",extensions:["spf"]},"application/vnd.yamaha.through-ngn":{source:"iana"},"application/vnd.yamaha.tunnel-udpencap":{source:"iana"},"application/vnd.yaoweme":{source:"iana"},"application/vnd.yellowriver-custom-menu":{source:"iana",extensions:["cmp"]},"application/vnd.zul":{source:"iana",extensions:["zir","zirz"]},"application/vnd.zzazz.deck+xml":{source:"iana",extensions:["zaz"]},"application/voicexml+xml":{source:"iana",extensions:["vxml"]},"application/vq-rtcpxr":{source:"iana"},"application/watcherinfo+xml":{source:"iana"},"application/whoispp-query":{source:"iana"},"application/whoispp-response":{source:"iana"},"application/widget":{source:"iana",extensions:["wgt"]},"application/winhlp":{source:"apache",extensions:["hlp"]},"application/wita":{source:"iana"},"application/wordperfect5.1":{source:"iana"},"application/wsdl+xml":{source:"iana",extensions:["wsdl"]},"application/wspolicy+xml":{source:"iana",extensions:["wspolicy"]},"application/x-7z-compressed":{source:"apache",compressible:!1,extensions:["7z"]},"application/x-abiword":{source:"apache",extensions:["abw"]},"application/x-ace-compressed":{source:"apache",extensions:["ace"]},"application/x-amf":{source:"apache"},"application/x-apple-diskimage":{source:"apache",extensions:["dmg"]},"application/x-authorware-bin":{source:"apache",extensions:["aab","x32","u32","vox"]},"application/x-authorware-map":{source:"apache",extensions:["aam"]},"application/x-authorware-seg":{source:"apache",extensions:["aas"]},"application/x-bcpio":{source:"apache",extensions:["bcpio"]},"application/x-bdoc":{compressible:!1,extensions:["bdoc"]},"application/x-bittorrent":{source:"apache",extensions:["torrent"]},"application/x-blorb":{source:"apache",extensions:["blb","blorb"]},"application/x-bzip":{source:"apache",compressible:!1,extensions:["bz"]},"application/x-bzip2":{source:"apache",compressible:!1,extensions:["bz2","boz"]},"application/x-cbr":{source:"apache",extensions:["cbr","cba","cbt","cbz","cb7"]},"application/x-cdlink":{source:"apache",extensions:["vcd"]},"application/x-cfs-compressed":{source:"apache",extensions:["cfs"]},"application/x-chat":{source:"apache",extensions:["chat"]},"application/x-chess-pgn":{source:"apache",extensions:["pgn"]},"application/x-chrome-extension":{extensions:["crx"]},"application/x-cocoa":{source:"nginx",extensions:["cco"]},"application/x-compress":{source:"apache"},"application/x-conference":{source:"apache",extensions:["nsc"]},"application/x-cpio":{source:"apache",extensions:["cpio"]},"application/x-csh":{source:"apache",extensions:["csh"]},"application/x-deb":{compressible:!1},"application/x-debian-package":{source:"apache",extensions:["deb","udeb"]},"application/x-dgc-compressed":{source:"apache",extensions:["dgc"]},"application/x-director":{source:"apache",extensions:["dir","dcr","dxr","cst","cct","cxt","w3d","fgd","swa"]},"application/x-doom":{source:"apache",extensions:["wad"]},"application/x-dtbncx+xml":{source:"apache",extensions:["ncx"]},"application/x-dtbook+xml":{source:"apache",extensions:["dtb"]},"application/x-dtbresource+xml":{source:"apache",extensions:["res"]},"application/x-dvi":{source:"apache",compressible:!1,extensions:["dvi"]},"application/x-envoy":{source:"apache",extensions:["evy"]},"application/x-eva":{source:"apache",extensions:["eva"]},"application/x-font-bdf":{source:"apache",extensions:["bdf"]},"application/x-font-dos":{source:"apache"},"application/x-font-framemaker":{source:"apache"},"application/x-font-ghostscript":{source:"apache",extensions:["gsf"]},"application/x-font-libgrx":{source:"apache"},"application/x-font-linux-psf":{source:"apache",extensions:["psf"]},"application/x-font-otf":{source:"apache",compressible:!0,extensions:["otf"]},"application/x-font-pcf":{source:"apache",extensions:["pcf"]},"application/x-font-snf":{source:"apache",extensions:["snf"]},"application/x-font-speedo":{source:"apache"},"application/x-font-sunos-news":{source:"apache"},"application/x-font-ttf":{source:"apache",compressible:!0,extensions:["ttf","ttc"]},"application/x-font-type1":{source:"apache",extensions:["pfa","pfb","pfm","afm"]},"application/x-font-vfont":{source:"apache"},"application/x-freearc":{source:"apache",extensions:["arc"]},"application/x-futuresplash":{source:"apache",extensions:["spl"]},"application/x-gca-compressed":{source:"apache",extensions:["gca"]},"application/x-glulx":{source:"apache",extensions:["ulx"]},"application/x-gnumeric":{source:"apache",extensions:["gnumeric"]},"application/x-gramps-xml":{source:"apache",extensions:["gramps"]},"application/x-gtar":{source:"apache",extensions:["gtar"]},"application/x-gzip":{source:"apache"},"application/x-hdf":{source:"apache",extensions:["hdf"]},"application/x-httpd-php":{compressible:!0,extensions:["php"]},"application/x-install-instructions":{source:"apache",extensions:["install"]},"application/x-iso9660-image":{source:"apache",extensions:["iso"]},"application/x-java-archive-diff":{source:"nginx",extensions:["jardiff"]},"application/x-java-jnlp-file":{source:"apache",compressible:!1,extensions:["jnlp"]},"application/x-javascript":{compressible:!0},"application/x-latex":{source:"apache",compressible:!1,extensions:["latex"]},"application/x-lua-bytecode":{extensions:["luac"]},"application/x-lzh-compressed":{source:"apache",extensions:["lzh","lha"]},"application/x-makeself":{source:"nginx",extensions:["run"]},"application/x-mie":{source:"apache",extensions:["mie"]},"application/x-mobipocket-ebook":{source:"apache",extensions:["prc","mobi"]},"application/x-mpegurl":{compressible:!1},"application/x-ms-application":{source:"apache",extensions:["application"]},"application/x-ms-shortcut":{source:"apache",extensions:["lnk"]},"application/x-ms-wmd":{source:"apache",extensions:["wmd"]},"application/x-ms-wmz":{source:"apache",extensions:["wmz"]},"application/x-ms-xbap":{source:"apache",extensions:["xbap"]},"application/x-msaccess":{source:"apache",extensions:["mdb"]},"application/x-msbinder":{source:"apache",extensions:["obd"]},"application/x-mscardfile":{source:"apache",extensions:["crd"]},"application/x-msclip":{source:"apache",extensions:["clp"]},"application/x-msdos-program":{extensions:["exe"]},"application/x-msdownload":{source:"apache",extensions:["exe","dll","com","bat","msi"]},"application/x-msmediaview":{source:"apache",extensions:["mvb","m13","m14"]},"application/x-msmetafile":{source:"apache",extensions:["wmf","wmz","emf","emz"]},"application/x-msmoney":{source:"apache",extensions:["mny"]},"application/x-mspublisher":{source:"apache",extensions:["pub"]},"application/x-msschedule":{source:"apache",extensions:["scd"]},"application/x-msterminal":{source:"apache",extensions:["trm"]},"application/x-mswrite":{source:"apache",extensions:["wri"]},"application/x-netcdf":{source:"apache",extensions:["nc","cdf"]},"application/x-ns-proxy-autoconfig":{compressible:!0,extensions:["pac"]},"application/x-nzb":{source:"apache",extensions:["nzb"]},"application/x-perl":{source:"nginx",extensions:["pl","pm"]},"application/x-pilot":{source:"nginx",extensions:["prc","pdb"]},"application/x-pkcs12":{source:"apache",compressible:!1,extensions:["p12","pfx"]},"application/x-pkcs7-certificates":{source:"apache",extensions:["p7b","spc"]},"application/x-pkcs7-certreqresp":{source:"apache",extensions:["p7r"]},"application/x-rar-compressed":{source:"apache",compressible:!1,extensions:["rar"]},"application/x-redhat-package-manager":{source:"nginx",extensions:["rpm"]},"application/x-research-info-systems":{source:"apache",extensions:["ris"]},"application/x-sea":{source:"nginx",extensions:["sea"]},"application/x-sh":{source:"apache",compressible:!0,extensions:["sh"]},"application/x-shar":{source:"apache",extensions:["shar"]},"application/x-shockwave-flash":{source:"apache",compressible:!1,extensions:["swf"]},"application/x-silverlight-app":{source:"apache",extensions:["xap"]},"application/x-sql":{source:"apache",extensions:["sql"]},"application/x-stuffit":{source:"apache",compressible:!1,extensions:["sit"]},"application/x-stuffitx":{source:"apache",extensions:["sitx"]},"application/x-subrip":{source:"apache",extensions:["srt"]},"application/x-sv4cpio":{source:"apache",extensions:["sv4cpio"]},"application/x-sv4crc":{source:"apache",extensions:["sv4crc"]},"application/x-t3vm-image":{source:"apache",extensions:["t3"]},"application/x-tads":{source:"apache",extensions:["gam"]},"application/x-tar":{source:"apache",compressible:!0,extensions:["tar"]},"application/x-tcl":{source:"apache",extensions:["tcl","tk"]},"application/x-tex":{source:"apache",extensions:["tex"]},"application/x-tex-tfm":{source:"apache",extensions:["tfm"]},"application/x-texinfo":{source:"apache",extensions:["texinfo","texi"]},"application/x-tgif":{source:"apache",extensions:["obj"]},"application/x-ustar":{source:"apache",extensions:["ustar"]},"application/x-wais-source":{source:"apache",extensions:["src"]},"application/x-web-app-manifest+json":{compressible:!0,extensions:["webapp"]},"application/x-www-form-urlencoded":{source:"iana",compressible:!0},"application/x-x509-ca-cert":{source:"apache",extensions:["der","crt","pem"]},"application/x-xfig":{source:"apache",extensions:["fig"]},"application/x-xliff+xml":{source:"apache",extensions:["xlf"]},"application/x-xpinstall":{source:"apache",compressible:!1,extensions:["xpi"]},"application/x-xz":{source:"apache",extensions:["xz"]},"application/x-zmachine":{source:"apache",extensions:["z1","z2","z3","z4","z5","z6","z7","z8"]},"application/x400-bp":{source:"iana"},"application/xacml+xml":{source:"iana"},"application/xaml+xml":{source:"apache",extensions:["xaml"]},"application/xcap-att+xml":{source:"iana"},"application/xcap-caps+xml":{source:"iana"},"application/xcap-diff+xml":{source:"iana",extensions:["xdf"]},"application/xcap-el+xml":{source:"iana"},"application/xcap-error+xml":{source:"iana"},"application/xcap-ns+xml":{source:"iana"},"application/xcon-conference-info+xml":{source:"iana"},"application/xcon-conference-info-diff+xml":{source:"iana"},"application/xenc+xml":{source:"iana",extensions:["xenc"]},"application/xhtml+xml":{source:"iana",compressible:!0,extensions:["xhtml","xht"]},"application/xhtml-voice+xml":{source:"apache"},"application/xml":{source:"iana",compressible:!0,extensions:["xml","xsl","xsd"]},"application/xml-dtd":{source:"iana",compressible:!0,extensions:["dtd"]},"application/xml-external-parsed-entity":{source:"iana"},"application/xml-patch+xml":{source:"iana"},"application/xmpp+xml":{source:"iana"},"application/xop+xml":{source:"iana",compressible:!0,extensions:["xop"]},"application/xproc+xml":{source:"apache",extensions:["xpl"]},"application/xslt+xml":{source:"iana",extensions:["xslt"]},"application/xspf+xml":{source:"apache",extensions:["xspf"]},"application/xv+xml":{source:"iana",extensions:["mxml","xhvml","xvml","xvm"]},"application/yang":{source:"iana",extensions:["yang"]},"application/yin+xml":{source:"iana",extensions:["yin"]},"application/zip":{source:"iana",compressible:!1,extensions:["zip"]},"application/zlib":{source:"iana"},"audio/1d-interleaved-parityfec":{source:"iana"},"audio/32kadpcm":{source:"iana"},"audio/3gpp":{source:"iana"},"audio/3gpp2":{source:"iana"},"audio/ac3":{source:"iana"},"audio/adpcm":{source:"apache",extensions:["adp"]},"audio/amr":{source:"iana"},"audio/amr-wb":{source:"iana"},"audio/amr-wb+":{source:"iana"},"audio/aptx":{source:"iana"},"audio/asc":{source:"iana"},"audio/atrac-advanced-lossless":{source:"iana"},"audio/atrac-x":{source:"iana"},"audio/atrac3":{source:"iana"},"audio/basic":{source:"iana",compressible:!1,extensions:["au","snd"]},"audio/bv16":{source:"iana"},"audio/bv32":{source:"iana"},"audio/clearmode":{source:"iana"},"audio/cn":{source:"iana"},"audio/dat12":{source:"iana"},"audio/dls":{source:"iana"},"audio/dsr-es201108":{source:"iana"},"audio/dsr-es202050":{source:"iana"},"audio/dsr-es202211":{source:"iana"},"audio/dsr-es202212":{source:"iana"},"audio/dv":{source:"iana"},"audio/dvi4":{source:"iana"},"audio/eac3":{source:"iana"},"audio/encaprtp":{source:"iana"},"audio/evrc":{source:"iana"},"audio/evrc-qcp":{source:"iana"},"audio/evrc0":{source:"iana"},"audio/evrc1":{source:"iana"},"audio/evrcb":{source:"iana"},"audio/evrcb0":{source:"iana"},"audio/evrcb1":{source:"iana"},"audio/evrcnw":{source:"iana"},"audio/evrcnw0":{source:"iana"},"audio/evrcnw1":{source:"iana"},"audio/evrcwb":{source:"iana"},"audio/evrcwb0":{source:"iana"},"audio/evrcwb1":{source:"iana"},"audio/evs":{source:"iana"},"audio/fwdred":{source:"iana"},"audio/g711-0":{source:"iana"},"audio/g719":{source:"iana"},"audio/g722":{source:"iana"},"audio/g7221":{source:"iana"},"audio/g723":{source:"iana"},"audio/g726-16":{source:"iana"},"audio/g726-24":{source:"iana"},"audio/g726-32":{source:"iana"},"audio/g726-40":{source:"iana"},"audio/g728":{source:"iana"},"audio/g729":{source:"iana"},"audio/g7291":{source:"iana"},"audio/g729d":{source:"iana"},"audio/g729e":{source:"iana"},"audio/gsm":{source:"iana"},"audio/gsm-efr":{source:"iana"},"audio/gsm-hr-08":{source:"iana"},"audio/ilbc":{source:"iana"},"audio/ip-mr_v2.5":{source:"iana"},"audio/isac":{source:"apache"},"audio/l16":{source:"iana"},"audio/l20":{source:"iana"},"audio/l24":{source:"iana",compressible:!1},"audio/l8":{source:"iana"},"audio/lpc":{source:"iana"},"audio/midi":{source:"apache",extensions:["mid","midi","kar","rmi"]},"audio/mobile-xmf":{source:"iana"},"audio/mp4":{source:"iana",compressible:!1,extensions:["mp4a","m4a"]},"audio/mp4a-latm":{source:"iana"},"audio/mpa":{source:"iana"},"audio/mpa-robust":{source:"iana"},"audio/mpeg":{source:"iana",compressible:!1,extensions:["mpga","mp2","mp2a","mp3","m2a","m3a"]},"audio/mpeg4-generic":{source:"iana"},"audio/musepack":{source:"apache"},"audio/ogg":{source:"iana",compressible:!1,extensions:["oga","ogg","spx"]},"audio/opus":{source:"iana"},"audio/parityfec":{source:"iana"},"audio/pcma":{source:"iana"},"audio/pcma-wb":{source:"iana"},"audio/pcmu":{source:"iana"},"audio/pcmu-wb":{source:"iana"},"audio/prs.sid":{source:"iana"},"audio/qcelp":{source:"iana"},"audio/raptorfec":{source:"iana"},"audio/red":{source:"iana"},"audio/rtp-enc-aescm128":{source:"iana"},"audio/rtp-midi":{source:"iana"},"audio/rtploopback":{source:"iana"},"audio/rtx":{source:"iana"},"audio/s3m":{source:"apache",extensions:["s3m"]},"audio/silk":{source:"apache",extensions:["sil"]},"audio/smv":{source:"iana"},"audio/smv-qcp":{source:"iana"},"audio/smv0":{source:"iana"},"audio/sp-midi":{source:"iana"},"audio/speex":{source:"iana"},"audio/t140c":{source:"iana"},"audio/t38":{source:"iana"},"audio/telephone-event":{source:"iana"},"audio/tone":{source:"iana"},"audio/uemclip":{source:"iana"},"audio/ulpfec":{source:"iana"},"audio/vdvi":{source:"iana"},"audio/vmr-wb":{source:"iana"},"audio/vnd.3gpp.iufp":{source:"iana"},"audio/vnd.4sb":{source:"iana"},"audio/vnd.audiokoz":{source:"iana"},"audio/vnd.celp":{source:"iana"},"audio/vnd.cisco.nse":{source:"iana"},"audio/vnd.cmles.radio-events":{source:"iana"},"audio/vnd.cns.anp1":{source:"iana"},"audio/vnd.cns.inf1":{source:"iana"},"audio/vnd.dece.audio":{source:"iana",extensions:["uva","uvva"]},"audio/vnd.digital-winds":{source:"iana",extensions:["eol"]},"audio/vnd.dlna.adts":{source:"iana"},"audio/vnd.dolby.heaac.1":{source:"iana"},"audio/vnd.dolby.heaac.2":{source:"iana"},"audio/vnd.dolby.mlp":{source:"iana"},"audio/vnd.dolby.mps":{source:"iana"},"audio/vnd.dolby.pl2":{source:"iana"},"audio/vnd.dolby.pl2x":{source:"iana"},"audio/vnd.dolby.pl2z":{source:"iana"},"audio/vnd.dolby.pulse.1":{source:"iana"},"audio/vnd.dra":{source:"iana",extensions:["dra"]},"audio/vnd.dts":{source:"iana",extensions:["dts"]},"audio/vnd.dts.hd":{source:"iana",extensions:["dtshd"]},"audio/vnd.dvb.file":{source:"iana"},"audio/vnd.everad.plj":{source:"iana"},"audio/vnd.hns.audio":{source:"iana"},"audio/vnd.lucent.voice":{source:"iana",extensions:["lvp"]},"audio/vnd.ms-playready.media.pya":{source:"iana",extensions:["pya"]},"audio/vnd.nokia.mobile-xmf":{source:"iana"},"audio/vnd.nortel.vbk":{source:"iana"},"audio/vnd.nuera.ecelp4800":{source:"iana",extensions:["ecelp4800"]},"audio/vnd.nuera.ecelp7470":{source:"iana",extensions:["ecelp7470"]},"audio/vnd.nuera.ecelp9600":{source:"iana",extensions:["ecelp9600"]},"audio/vnd.octel.sbc":{source:"iana"},"audio/vnd.qcelp":{source:"iana"},"audio/vnd.rhetorex.32kadpcm":{source:"iana"},"audio/vnd.rip":{source:"iana",extensions:["rip"]},"audio/vnd.rn-realaudio":{compressible:!1},"audio/vnd.sealedmedia.softseal.mpeg":{source:"iana"},"audio/vnd.vmx.cvsd":{source:"iana"},"audio/vnd.wave":{compressible:!1},"audio/vorbis":{source:"iana",compressible:!1},"audio/vorbis-config":{source:"iana"},"audio/wav":{compressible:!1,extensions:["wav"]},"audio/wave":{compressible:!1,extensions:["wav"]},"audio/webm":{source:"apache",compressible:!1,extensions:["weba"]},"audio/x-aac":{source:"apache",compressible:!1,extensions:["aac"]},"audio/x-aiff":{source:"apache",extensions:["aif","aiff","aifc"]},"audio/x-caf":{source:"apache",compressible:!1,extensions:["caf"]},"audio/x-flac":{source:"apache",extensions:["flac"]},"audio/x-m4a":{source:"nginx",extensions:["m4a"]},"audio/x-matroska":{source:"apache",extensions:["mka"]},"audio/x-mpegurl":{source:"apache",extensions:["m3u"]},"audio/x-ms-wax":{source:"apache",extensions:["wax"]},"audio/x-ms-wma":{source:"apache",extensions:["wma"]},"audio/x-pn-realaudio":{source:"apache",extensions:["ram","ra"]},"audio/x-pn-realaudio-plugin":{source:"apache",extensions:["rmp"]},"audio/x-realaudio":{source:"nginx",extensions:["ra"]},"audio/x-tta":{source:"apache"},"audio/x-wav":{source:"apache",extensions:["wav"]},"audio/xm":{source:"apache",extensions:["xm"]},"chemical/x-cdx":{source:"apache",extensions:["cdx"]},"chemical/x-cif":{source:"apache",extensions:["cif"]},"chemical/x-cmdf":{source:"apache",extensions:["cmdf"]},"chemical/x-cml":{source:"apache",extensions:["cml"]},"chemical/x-csml":{source:"apache",extensions:["csml"]},"chemical/x-pdb":{source:"apache"},"chemical/x-xyz":{source:"apache",extensions:["xyz"]},"font/opentype":{compressible:!0,extensions:["otf"]},"image/bmp":{source:"apache",compressible:!0,extensions:["bmp"]},"image/cgm":{source:"iana",extensions:["cgm"]},"image/fits":{source:"iana"},"image/g3fax":{source:"iana",extensions:["g3"]},"image/gif":{source:"iana",compressible:!1,extensions:["gif"]},"image/ief":{source:"iana",extensions:["ief"]},"image/jp2":{source:"iana"},"image/jpeg":{source:"iana",compressible:!1,extensions:["jpeg","jpg","jpe"]},"image/jpm":{source:"iana"},"image/jpx":{source:"iana"},"image/ktx":{source:"iana",extensions:["ktx"]},"image/naplps":{source:"iana"},"image/pjpeg":{compressible:!1},"image/png":{source:"iana",compressible:!1,extensions:["png"]},"image/prs.btif":{source:"iana",extensions:["btif"]},"image/prs.pti":{source:"iana"},"image/pwg-raster":{source:"iana"},"image/sgi":{source:"apache",extensions:["sgi"]},"image/svg+xml":{source:"iana",compressible:!0,extensions:["svg","svgz"]},"image/t38":{source:"iana"},"image/tiff":{source:"iana",compressible:!1,extensions:["tiff","tif"]},"image/tiff-fx":{source:"iana"},"image/vnd.adobe.photoshop":{source:"iana",compressible:!0,extensions:["psd"]},"image/vnd.airzip.accelerator.azv":{source:"iana"},"image/vnd.cns.inf2":{source:"iana"},"image/vnd.dece.graphic":{source:"iana",extensions:["uvi","uvvi","uvg","uvvg"]},"image/vnd.djvu":{source:"iana",extensions:["djvu","djv"]},"image/vnd.dvb.subtitle":{source:"iana",extensions:["sub"]},"image/vnd.dwg":{source:"iana",extensions:["dwg"]},"image/vnd.dxf":{source:"iana",extensions:["dxf"]},"image/vnd.fastbidsheet":{source:"iana",extensions:["fbs"]},"image/vnd.fpx":{source:"iana",extensions:["fpx"]},"image/vnd.fst":{source:"iana",extensions:["fst"]},"image/vnd.fujixerox.edmics-mmr":{source:"iana",extensions:["mmr"]},"image/vnd.fujixerox.edmics-rlc":{source:"iana",extensions:["rlc"]},"image/vnd.globalgraphics.pgb":{source:"iana"},"image/vnd.microsoft.icon":{source:"iana"},"image/vnd.mix":{source:"iana"},"image/vnd.mozilla.apng":{source:"iana"},"image/vnd.ms-modi":{source:"iana",extensions:["mdi"]},"image/vnd.ms-photo":{source:"apache",extensions:["wdp"]},"image/vnd.net-fpx":{source:"iana",extensions:["npx"]},"image/vnd.radiance":{source:"iana"},"image/vnd.sealed.png":{source:"iana"},"image/vnd.sealedmedia.softseal.gif":{source:"iana"},"image/vnd.sealedmedia.softseal.jpg":{source:"iana"},"image/vnd.svf":{source:"iana"},"image/vnd.tencent.tap":{source:"iana"},"image/vnd.valve.source.texture":{source:"iana"},"image/vnd.wap.wbmp":{source:"iana",extensions:["wbmp"]},"image/vnd.xiff":{source:"iana",extensions:["xif"]},"image/vnd.zbrush.pcx":{source:"iana"},"image/webp":{source:"apache",extensions:["webp"]},"image/x-3ds":{source:"apache",extensions:["3ds"]},"image/x-cmu-raster":{source:"apache",extensions:["ras"]},"image/x-cmx":{source:"apache",extensions:["cmx"]},"image/x-freehand":{source:"apache",extensions:["fh","fhc","fh4","fh5","fh7"]},"image/x-icon":{source:"apache",compressible:!0,extensions:["ico"]},"image/x-jng":{source:"nginx",extensions:["jng"]},"image/x-mrsid-image":{source:"apache",extensions:["sid"]},"image/x-ms-bmp":{source:"nginx",compressible:!0,extensions:["bmp"]},"image/x-pcx":{source:"apache",extensions:["pcx"]},"image/x-pict":{source:"apache",extensions:["pic","pct"]},"image/x-portable-anymap":{source:"apache",extensions:["pnm"]},"image/x-portable-bitmap":{source:"apache",extensions:["pbm"]},"image/x-portable-graymap":{source:"apache",extensions:["pgm"]},"image/x-portable-pixmap":{source:"apache",extensions:["ppm"]},"image/x-rgb":{source:"apache",extensions:["rgb"]},"image/x-tga":{source:"apache",extensions:["tga"]},"image/x-xbitmap":{source:"apache",extensions:["xbm"]},"image/x-xcf":{compressible:!1},"image/x-xpixmap":{source:"apache",extensions:["xpm"]},"image/x-xwindowdump":{source:"apache",extensions:["xwd"]},"message/cpim":{source:"iana"},"message/delivery-status":{source:"iana"},"message/disposition-notification":{source:"iana"},"message/external-body":{source:"iana"},"message/feedback-report":{source:"iana"},"message/global":{source:"iana"},"message/global-delivery-status":{source:"iana"},"message/global-disposition-notification":{source:"iana"},"message/global-headers":{source:"iana"},"message/http":{source:"iana",compressible:!1},"message/imdn+xml":{source:"iana",compressible:!0},"message/news":{source:"iana"},"message/partial":{source:"iana",compressible:!1},"message/rfc822":{source:"iana",compressible:!0,extensions:["eml","mime"]},"message/s-http":{source:"iana"},"message/sip":{source:"iana"},"message/sipfrag":{source:"iana"},"message/tracking-status":{source:"iana"},"message/vnd.si.simp":{source:"iana"},"message/vnd.wfa.wsc":{source:"iana"},"model/iges":{source:"iana",compressible:!1,extensions:["igs","iges"]},"model/mesh":{source:"iana",compressible:!1,extensions:["msh","mesh","silo"]},"model/vnd.collada+xml":{source:"iana",extensions:["dae"]},"model/vnd.dwf":{source:"iana",extensions:["dwf"]},"model/vnd.flatland.3dml":{source:"iana"},"model/vnd.gdl":{source:"iana",extensions:["gdl"]},"model/vnd.gs-gdl":{source:"apache"},"model/vnd.gs.gdl":{source:"iana"},"model/vnd.gtw":{source:"iana",extensions:["gtw"]},"model/vnd.moml+xml":{source:"iana"},"model/vnd.mts":{source:"iana",extensions:["mts"]},"model/vnd.opengex":{source:"iana"},"model/vnd.parasolid.transmit.binary":{source:"iana"},"model/vnd.parasolid.transmit.text":{source:"iana"},"model/vnd.valve.source.compiled-map":{source:"iana"},"model/vnd.vtu":{source:"iana",extensions:["vtu"]},"model/vrml":{source:"iana",compressible:!1,extensions:["wrl","vrml"]},"model/x3d+binary":{source:"apache",compressible:!1,extensions:["x3db","x3dbz"]},"model/x3d+fastinfoset":{source:"iana"},"model/x3d+vrml":{source:"apache",compressible:!1,extensions:["x3dv","x3dvz"]},"model/x3d+xml":{source:"iana",compressible:!0,extensions:["x3d","x3dz"]},"model/x3d-vrml":{source:"iana"},"multipart/alternative":{source:"iana",compressible:!1},"multipart/appledouble":{source:"iana"},"multipart/byteranges":{source:"iana"},"multipart/digest":{source:"iana"},"multipart/encrypted":{source:"iana",compressible:!1},"multipart/form-data":{source:"iana",compressible:!1},"multipart/header-set":{source:"iana"},"multipart/mixed":{source:"iana",compressible:!1},"multipart/parallel":{source:"iana"},"multipart/related":{source:"iana",compressible:!1},"multipart/report":{source:"iana"},"multipart/signed":{source:"iana",compressible:!1},"multipart/voice-message":{source:"iana"},"multipart/x-mixed-replace":{source:"iana"},"text/1d-interleaved-parityfec":{source:"iana"},"text/cache-manifest":{source:"iana",compressible:!0,extensions:["appcache","manifest"]},"text/calendar":{source:"iana",extensions:["ics","ifb"]},"text/calender":{compressible:!0},"text/cmd":{compressible:!0},"text/coffeescript":{extensions:["coffee","litcoffee"]},"text/css":{source:"iana",compressible:!0,extensions:["css"]},"text/csv":{source:"iana",compressible:!0,extensions:["csv"]},"text/csv-schema":{source:"iana"},"text/directory":{source:"iana"},"text/dns":{source:"iana"},"text/ecmascript":{source:"iana"},"text/encaprtp":{source:"iana"},"text/enriched":{source:"iana"},"text/fwdred":{source:"iana"},"text/grammar-ref-list":{source:"iana"},"text/hjson":{extensions:["hjson"]},"text/html":{source:"iana",compressible:!0,extensions:["html","htm","shtml"]},"text/jade":{extensions:["jade"]},"text/javascript":{source:"iana",compressible:!0},"text/jcr-cnd":{source:"iana"},"text/jsx":{compressible:!0,extensions:["jsx"]},"text/less":{extensions:["less"]},"text/markdown":{source:"iana"},"text/mathml":{source:"nginx",extensions:["mml"]},"text/mizar":{source:"iana"},"text/n3":{source:"iana",compressible:!0,extensions:["n3"]},"text/parameters":{source:"iana"},"text/parityfec":{source:"iana"},"text/plain":{source:"iana",compressible:!0,extensions:["txt","text","conf","def","list","log","in","ini"]},"text/provenance-notation":{source:"iana"},"text/prs.fallenstein.rst":{source:"iana"},"text/prs.lines.tag":{source:"iana",extensions:["dsc"]},"text/raptorfec":{source:"iana"},"text/red":{source:"iana"},"text/rfc822-headers":{source:"iana"},"text/richtext":{source:"iana",compressible:!0,extensions:["rtx"]},"text/rtf":{source:"iana",compressible:!0,extensions:["rtf"]},"text/rtp-enc-aescm128":{source:"iana"},"text/rtploopback":{source:"iana"},"text/rtx":{source:"iana"},"text/sgml":{source:"iana",extensions:["sgml","sgm"]},"text/stylus":{extensions:["stylus","styl"]},"text/t140":{source:"iana"},"text/tab-separated-values":{source:"iana",compressible:!0,extensions:["tsv"]},"text/troff":{source:"iana",extensions:["t","tr","roff","man","me","ms"]},"text/turtle":{source:"iana",extensions:["ttl"]},"text/ulpfec":{source:"iana"},"text/uri-list":{source:"iana",compressible:!0,extensions:["uri","uris","urls"]},"text/vcard":{source:"iana",compressible:!0,extensions:["vcard"]},"text/vnd.a":{source:"iana"},"text/vnd.abc":{source:"iana"},"text/vnd.curl":{source:"iana",extensions:["curl"]},"text/vnd.curl.dcurl":{source:"apache",extensions:["dcurl"]},"text/vnd.curl.mcurl":{source:"apache",extensions:["mcurl"]},"text/vnd.curl.scurl":{source:"apache",extensions:["scurl"]},"text/vnd.debian.copyright":{source:"iana"},"text/vnd.dmclientscript":{source:"iana"},"text/vnd.dvb.subtitle":{source:"iana",extensions:["sub"]},"text/vnd.esmertec.theme-descriptor":{source:"iana"},"text/vnd.fly":{source:"iana",extensions:["fly"]},"text/vnd.fmi.flexstor":{source:"iana",extensions:["flx"]},"text/vnd.graphviz":{source:"iana",extensions:["gv"]},"text/vnd.in3d.3dml":{source:"iana",extensions:["3dml"]},"text/vnd.in3d.spot":{source:"iana",extensions:["spot"]},"text/vnd.iptc.newsml":{source:"iana"},"text/vnd.iptc.nitf":{source:"iana"},"text/vnd.latex-z":{source:"iana"},"text/vnd.motorola.reflex":{source:"iana"},"text/vnd.ms-mediapackage":{source:"iana"},"text/vnd.net2phone.commcenter.command":{source:"iana"},"text/vnd.radisys.msml-basic-layout":{source:"iana"},"text/vnd.si.uricatalogue":{source:"iana"},"text/vnd.sun.j2me.app-descriptor":{source:"iana",extensions:["jad"]},"text/vnd.trolltech.linguist":{source:"iana"},"text/vnd.wap.si":{source:"iana"},"text/vnd.wap.sl":{source:"iana"},"text/vnd.wap.wml":{source:"iana",extensions:["wml"]},"text/vnd.wap.wmlscript":{source:"iana",extensions:["wmls"]},"text/vtt":{charset:"UTF-8",compressible:!0,extensions:["vtt"]},"text/x-asm":{source:"apache",extensions:["s","asm"]},"text/x-c":{source:"apache",extensions:["c","cc","cxx","cpp","h","hh","dic"]},"text/x-component":{source:"nginx",extensions:["htc"]},"text/x-fortran":{source:"apache",extensions:["f","for","f77","f90"]},"text/x-gwt-rpc":{compressible:!0},"text/x-handlebars-template":{extensions:["hbs"]},"text/x-java-source":{source:"apache",extensions:["java"]},"text/x-jquery-tmpl":{compressible:!0},"text/x-lua":{extensions:["lua"]},"text/x-markdown":{compressible:!0,extensions:["markdown","md","mkd"]},"text/x-nfo":{source:"apache",extensions:["nfo"]},"text/x-opml":{source:"apache",extensions:["opml"]},"text/x-pascal":{source:"apache",extensions:["p","pas"]},"text/x-processing":{compressible:!0,extensions:["pde"]},"text/x-sass":{extensions:["sass"]},"text/x-scss":{extensions:["scss"]},"text/x-setext":{source:"apache",extensions:["etx"]},"text/x-sfv":{source:"apache",extensions:["sfv"]},"text/x-suse-ymp":{compressible:!0,extensions:["ymp"]},"text/x-uuencode":{source:"apache",extensions:["uu"]},"text/x-vcalendar":{source:"apache",extensions:["vcs"]},"text/x-vcard":{source:"apache",extensions:["vcf"]},"text/xml":{source:"iana",compressible:!0,extensions:["xml"]},"text/xml-external-parsed-entity":{source:"iana"},"text/yaml":{extensions:["yaml","yml"]},"video/1d-interleaved-parityfec":{source:"apache"},"video/3gpp":{source:"apache",extensions:["3gp","3gpp"]},"video/3gpp-tt":{source:"apache"},"video/3gpp2":{source:"apache",extensions:["3g2"]},"video/bmpeg":{source:"apache"},"video/bt656":{source:"apache"},"video/celb":{source:"apache"},"video/dv":{source:"apache"},"video/h261":{source:"apache",extensions:["h261"]},"video/h263":{source:"apache",extensions:["h263"]},"video/h263-1998":{source:"apache"},"video/h263-2000":{source:"apache"},"video/h264":{source:"apache",extensions:["h264"]},"video/h264-rcdo":{source:"apache"},"video/h264-svc":{source:"apache"},"video/jpeg":{source:"apache",extensions:["jpgv"]},"video/jpeg2000":{source:"apache"},"video/jpm":{source:"apache",extensions:["jpm","jpgm"]},"video/mj2":{source:"apache",extensions:["mj2","mjp2"]},"video/mp1s":{source:"apache"},"video/mp2p":{source:"apache"},"video/mp2t":{source:"apache",extensions:["ts"]},"video/mp4":{source:"apache",compressible:!1,extensions:["mp4","mp4v","mpg4"]},"video/mp4v-es":{source:"apache"},"video/mpeg":{source:"apache",compressible:!1,extensions:["mpeg","mpg","mpe","m1v","m2v"]},"video/mpeg4-generic":{source:"apache"},"video/mpv":{source:"apache"},"video/nv":{source:"apache"},"video/ogg":{source:"apache",compressible:!1,extensions:["ogv"]},"video/parityfec":{source:"apache"},"video/pointer":{source:"apache"},"video/quicktime":{source:"apache",compressible:!1,extensions:["qt","mov"]},"video/raw":{source:"apache"},"video/rtp-enc-aescm128":{source:"apache"},"video/rtx":{source:"apache"},"video/smpte292m":{source:"apache"},"video/ulpfec":{source:"apache"},"video/vc1":{source:"apache"},"video/vnd.cctv":{source:"apache"},"video/vnd.dece.hd":{source:"apache",extensions:["uvh","uvvh"]},"video/vnd.dece.mobile":{source:"apache",extensions:["uvm","uvvm"]},"video/vnd.dece.mp4":{source:"apache"},"video/vnd.dece.pd":{source:"apache",extensions:["uvp","uvvp"]},"video/vnd.dece.sd":{source:"apache",extensions:["uvs","uvvs"]},"video/vnd.dece.video":{source:"apache",extensions:["uvv","uvvv"]},"video/vnd.directv.mpeg":{source:"apache"},"video/vnd.directv.mpeg-tts":{source:"apache"},"video/vnd.dlna.mpeg-tts":{source:"apache"},"video/vnd.dvb.file":{source:"apache",extensions:["dvb"]},"video/vnd.fvt":{source:"apache",extensions:["fvt"]},"video/vnd.hns.video":{source:"apache"},"video/vnd.iptvforum.1dparityfec-1010":{source:"apache"},"video/vnd.iptvforum.1dparityfec-2005":{source:"apache"},"video/vnd.iptvforum.2dparityfec-1010":{source:"apache"},"video/vnd.iptvforum.2dparityfec-2005":{source:"apache"},"video/vnd.iptvforum.ttsavc":{source:"apache"},"video/vnd.iptvforum.ttsmpeg2":{source:"apache"},"video/vnd.motorola.video":{source:"apache"},"video/vnd.motorola.videop":{source:"apache"},"video/vnd.mpegurl":{source:"apache",extensions:["mxu","m4u"]},"video/vnd.ms-playready.media.pyv":{source:"apache",extensions:["pyv"]},"video/vnd.nokia.interleaved-multimedia":{source:"apache"},"video/vnd.nokia.videovoip":{source:"apache"},"video/vnd.objectvideo":{source:"apache"},"video/vnd.sealed.mpeg1":{source:"apache"},"video/vnd.sealed.mpeg4":{source:"apache"},"video/vnd.sealed.swf":{source:"apache"},"video/vnd.sealedmedia.softseal.mov":{source:"apache"},"video/vnd.uvvu.mp4":{source:"apache",extensions:["uvu","uvvu"]},"video/vnd.vivo":{source:"apache",extensions:["viv"]},"video/webm":{source:"apache",compressible:!1,extensions:["webm"]},"video/x-f4v":{source:"apache",extensions:["f4v"]},"video/x-fli":{source:"apache",extensions:["fli"]},"video/x-flv":{source:"apache",compressible:!1,extensions:["flv"]},"video/x-m4v":{source:"apache",extensions:["m4v"]},"video/x-matroska":{source:"apache",compressible:!1,extensions:["mkv","mk3d","mks"]},"video/x-mng":{source:"apache",extensions:["mng"]},"video/x-ms-asf":{source:"apache",extensions:["asf","asx"]},"video/x-ms-vob":{source:"apache",extensions:["vob"]},"video/x-ms-wm":{source:"apache",extensions:["wm"]},"video/x-ms-wmv":{source:"apache",compressible:!1,extensions:["wmv"]},"video/x-ms-wmx":{source:"apache",extensions:["wmx"]},"video/x-ms-wvx":{source:"apache",extensions:["wvx"]},"video/x-msvideo":{source:"apache",extensions:["avi"]},"video/x-sgi-movie":{source:"apache",extensions:["movie"]},"video/x-smv":{source:"apache",extensions:["smv"]},"x-conference/x-cooltalk":{source:"apache",extensions:["ice"]},"x-shader/x-fragment":{compressible:!0},"x-shader/x-vertex":{compressible:!0}}})(EQ);var Itt=EQ.exports;(function(e){var t={};e.exports=t,t.directoryPaths=ztt,t.mimeTypes=Itt})(kQ);var Ltt=kQ.exports,RQ={exports:{}},AQ={exports:{}};(function(e){e.exports=["Aston Martin","Audi","Bentley","BMW","Bugatti","Cadillac","Chevrolet","Chrysler","Dodge","Ferrari","Fiat","Ford","Honda","Hyundai","Jaguar","Jeep","Kia","Lamborghini","Land Rover","Maserati","Mazda","Mercedes Benz","Mini","Nissan","Polestar","Porsche","Rolls Royce","Smart","Tesla","Toyota","Volkswagen","Volvo"]})(AQ);var Dtt=AQ.exports,PQ={exports:{}};(function(e){e.exports=["Fiesta","Focus","Taurus","Mustang","Explorer","Expedition","F-150","Model T","Ranchero","Volt","Cruze","Malibu","Impala","Camaro","Corvette","Colorado","Silverado","El Camino","CTS","XTS","ATS","Escalade","Alpine","Charger","LeBaron","PT Cruiser","Challenger","Durango","Grand Caravan","Wrangler","Grand Cherokee","Roadster","Model S","Model 3","Camry","Prius","Land Cruiser","Accord","Civic","Element","Sentra","Altima","A8","A4","Beetle","Jetta","Golf","911","Spyder","Countach","Mercielago","Aventador","1","2","Fortwo","V90","XC90","CX-9"]})(PQ);var Ntt=PQ.exports,TQ={exports:{}};(function(e){e.exports=["Cargo Van","Convertible","Coupe","Crew Cab Pickup","Extended Cab Pickup","Hatchback","Minivan","Passenger Van","SUV","Sedan","Wagon"]})(TQ);var Ftt=TQ.exports,MQ={exports:{}};(function(e){e.exports=["Diesel","Electric","Gasoline","Hybrid"]})(MQ);var Btt=MQ.exports;(function(e){var t={};e.exports=t,t.manufacturer=Dtt,t.model=Ntt,t.type=Ftt,t.fuel=Btt})(RQ);var Wtt=RQ.exports,OQ={exports:{}},zQ={exports:{}};(function(e){e.exports=["Rock","Metal","Pop","Electronic","Folk","World","Country","Jazz","Funk","Soul","Hip Hop","Classical","Latin","Reggae","Stage And Screen","Blues","Non Music","Rap"]})(zQ);var Utt=zQ.exports;(function(e){var t={};e.exports=t,t.genre=Utt})(OQ);var Htt=OQ.exports;(function(e){var t={};e.exports=t,t.title="English",t.separator=" & ",t.address=cet,t.company=yet,t.internet=jet,t.database=Ret,t.lorem=Tet,t.name=Wet,t.phone_number=Het,t.cell_phone=Vet,t.business=Yet,t.commerce=ttt,t.team=att,t.hacker=dtt,t.app=htt,t.finance=Ptt,t.date=Ott,t.system=Ltt,t.vehicle=Wtt,t.music=Htt})(OJ);var sk=OJ.exports;(function(e){var t=jJ,n=new t({locale:"en_US",localeFallback:"en"});n.locales.en_US=BZe,n.locales.en=sk,e.exports=n})(CJ);var xt=CJ.exports;const qtt=i(e=>{const t=Array.from(Array(10).keys()).map(n=>{const r=xt.name.firstName(),a=xt.name.lastName(),o=xt.internet.email(r,a);return{id:n+1,first_name:r,last_name:a,email:o}});return[{id:0,first_name:"Jane",last_name:"Doe",email:"janedoe@atomic.dev"},...t]},"generateSales"),Vtt=[{id:0,name:"football-fan",color:"#eddcd2"},{id:1,name:"holiday-card",color:"#fff1e6"},{id:2,name:"influencer",color:"#fde2e4"},{id:3,name:"manager",color:"#fad2e1"},{id:4,name:"musician",color:"#c5dedd"},{id:5,name:"vip",color:"#dbe7e4"}],Gtt=i(e=>[...Vtt],"generateTags");var IQ={exports:{}};(function(e){var t=jJ,n=new t({locale:"en",localeFallback:"en"});n.locales.en=sk,n.locales.en=sk,e.exports=n})(IQ);var Ktt=IQ.exports;const LQ=Gt(Ktt),mL=i(e=>LQ.random.number(99)<e,"weightedBoolean"),fc=i((e,t)=>{const n=e instanceof Date?e.getTime():Date.now()-15768e7,a=(t instanceof Date?t.getTime():Date.now())-n,o=LQ.random.number({max:a}),s=Math.sqrt(o/a)*a;return new Date(n+s)},"randomDate"),Jtt=["Communication Services","Consumer Discretionary","Consumer Staples","Energy","Financials","Health Care","Industrials","Information Technology","Materials","Real Estate","Utilities"],Ytt=[1,10,50,250,500],Qtt=/\W+/,Xtt=i(e=>Array.from(Array(55).keys()).map(t=>{const n=xt.company.companyName();return{id:t,name:n,logo:`./logos/${t}.png`,sector:xt.random.arrayElement(Jtt),size:xt.random.arrayElement(Ytt),linkedIn:`https://www.linkedin.com/company/${n.toLowerCase().replace(Qtt,"_")}`,website:xt.internet.url(),phone_number:xt.phone.phoneNumber(),address:xt.address.streetAddress(),zipcode:xt.address.zipCode(),city:xt.address.city(),stateAbbr:xt.address.stateAbbr(),nb_contacts:0,nb_deals:0,sales_id:xt.random.number(2)===0?0:xt.random.arrayElement(e.sales).id,created_at:fc().toISOString()}}),"generateCompanies"),Ztt=["male","female","nonbinary"],ent=["cold","cold","cold","warm","warm","hot","in-contract"],tnt={1:1,10:4,50:12,250:25,500:50},nnt=i(e=>{let n=0;return Array.from(Array(500).keys()).map(r=>{const a=mL(25)&&n<223,o=xt.random.arrayElement(Ztt),s=xt.name.firstName(o),c=xt.name.lastName(),l=xt.internet.email(s,c),u=a?"https://marmelab.com/posters/avatar-"+(223-n)+".jpeg":void 0,d=xt.company.bsAdjective();a&&n++;let f;do f=xt.random.arrayElement(e.companies);while(f.nb_contacts>=tnt[f.size]);f.nb_contacts++;const m=fc(new Date(f.created_at)).toISOString(),g=m;return{id:r,first_name:s,last_name:c,gender:o,title:d.charAt(0).toUpperCase()+d.substr(1),company_id:f.id,email:l,phone_number1:xt.phone.phoneNumber(),phone_number2:xt.phone.phoneNumber(),background:xt.lorem.sentence(),acquisition:xt.random.arrayElement(["inbound","outbound"]),avatar:u,first_seen:m,last_seen:g,has_newsletter:mL(30),status:xt.random.arrayElement(ent),tags:xt.random.arrayElements(e.tags,xt.random.arrayElement([0,0,0,1,1,2])).map(h=>h.id),sales_id:f.sales_id,nb_notes:0,nb_tasks:0}})},"generateContacts"),rnt=["Email","Call","Call","Call","Call","Meeting","Reminder"],ant=["cold","cold","cold","warm","warm","hot","in-contract"],ont=i(e=>Array.from(Array(1200).keys()).map(t=>{const n=xt.random.arrayElement(e.contacts),r=fc(new Date(n.first_seen)).toISOString();return n.nb_notes++,n.last_seen=r>n.last_seen?r:n.last_seen,{id:t,contact_id:n.id,type:xt.random.arrayElement(rnt),text:xt.lorem.paragraphs(xt.random.number({min:1,max:4})),date:r,sales_id:n.sales_id,status:xt.random.arrayElement(ant)}}),"generateContactNotes"),int=["Email","Email","Email","Email","Email","Email","Call","Call","Call","Call","Call","Call","Call","Call","Call","Call","Call","Demo","Lunch","Meeting","Follow-up","Follow-up","Thank you","Ship","None"],snt=i(e=>Array.from(Array(400).keys()).map(t=>{const n=xt.random.arrayElement(e.contacts);return n.nb_tasks++,{id:t,contact_id:n.id,type:xt.random.arrayElement(int),text:xt.lorem.sentence(),due_date:fc(xt.random.boolean()?new Date:new Date(n.first_seen),new Date(Date.now()+100*24*60*60*1e3)).toISOString(),done_date:void 0}}),"generateTasks"),cnt=["Other","Copywriting","Print project","UI Design","Website design"],hL=["opportunity","proposal-sent","in-negociation","won","lost","delayed"],lnt=i(e=>{const t=Array.from(Array(50).keys()).map(n=>{const r=xt.random.arrayElement(e.companies);r.nb_deals++;const a=xt.random.arrayElements(e.contacts.filter(c=>c.company_id===r.id),xt.random.number({min:1,max:3})),o=xt.lorem.words(),s=fc(new Date(r.created_at)).toISOString();return{id:n,name:o[0].toUpperCase()+o.slice(1),company_id:r.id,contact_ids:a.map(c=>c.id),type:xt.random.arrayElement(cnt),stage:xt.random.arrayElement(hL),description:xt.lorem.paragraphs(xt.random.number({min:1,max:4})),amount:xt.random.number(1e3)*100,created_at:s,updated_at:fc(new Date(s)).toISOString(),start_at:fc(new Date,Cbe(new Date,{months:6})).toISOString(),sales_id:r.sales_id,index:0,nb_notes:0}});return hL.forEach(n=>{t.filter(r=>r.stage===n).forEach((r,a)=>{t[r.id].index=a})}),t},"generateDeals"),unt=["Email","Call","Call","Call","Call","Meeting","Reminder"],dnt=i(e=>Array.from(Array(300).keys()).map(t=>{const n=xt.random.arrayElement(e.deals);return n.nb_notes++,{id:t,deal_id:n.id,type:xt.random.arrayElement(unt),text:xt.lorem.paragraphs(xt.random.number({min:1,max:4})),date:fc(new Date(e.companies[n.company_id].created_at)).toISOString(),sales_id:n.sales_id}}),"generateDealNotes"),fnt=i(e=>{e.contactNotes.sort((t,n)=>new Date(t.date).valueOf()-new Date(n.date).valueOf()).forEach(t=>{e.contacts[t.contact_id].status=t.status})},"finalize"),pnt=i(()=>{const e={};return e.sales=qtt(),e.tags=Gtt(),e.companies=Xtt(e),e.contacts=nnt(e),e.contactNotes=ont(e),e.deals=lnt(e),e.dealNotes=dnt(e),e.tasks=snt(e),fnt(e),e},"generateData"),mnt=oZe(pnt(),!0),gL="TASK_MARKED_AS_DONE",hnt="TASK_MARKED_AS_UNDONE",ck="TASK_DONE_NOT_CHANGED";let Lv=ck;const vL=ape(mnt,[{resource:"contactNotes",afterCreate:async(e,t)=>{const{contact_id:n}=e.data,{data:r}=await t.getOne("contacts",{id:n});return await t.update("contacts",{id:n,data:{nb_notes:(r.nb_notes??0)+1},previousData:r}),e},afterDelete:async(e,t)=>{const{contact_id:n}=e.data,{data:r}=await t.getOne("contacts",{id:n});return await t.update("contacts",{id:n,data:{nb_notes:(r.nb_notes??0)-1},previousData:r}),e}},{resource:"tasks",afterCreate:async(e,t)=>{const{contact_id:n}=e.data,{data:r}=await t.getOne("contacts",{id:n});return await t.update("contacts",{id:n,data:{nb_tasks:(r.nb_tasks??0)+1},previousData:r}),e},beforeUpdate:async e=>{const{data:t,previousData:n}=e;return n.done_date!==t.done_date?Lv=t.done_date?gL:hnt:Lv=ck,e},afterUpdate:async(e,t)=>{const{contact_id:n}=e.data,{data:r}=await t.getOne("contacts",{id:n});return Lv!==ck&&await t.update("contacts",{id:n,data:{nb_tasks:Lv===gL?(r.nb_tasks??0)-1:(r.nb_tasks??0)+1},previousData:r}),e},afterDelete:async(e,t)=>{const{contact_id:n}=e.data,{data:r}=await t.getOne("contacts",{id:n});return await t.update("contacts",{id:n,data:{nb_tasks:(r.nb_tasks??0)-1},previousData:r}),e}}]),gnt=new Proxy(vL,{get:(e,t)=>(n,r)=>new Promise(a=>setTimeout(()=>a(vL[t](n,r)),300))}),vnt="modulepreload",ynt=i(function(e,t){return new URL(e,t).href},"assetsURL"),yL={},DQ=i(function(t,n,r){let a=Promise.resolve();if(n&&n.length>0){const o=document.getElementsByTagName("link");a=Promise.all(n.map(s=>{if(s=ynt(s,r),s in yL)return;yL[s]=!0;const c=s.endsWith(".css"),l=c?'[rel="stylesheet"]':"";if(!!r)for(let f=o.length-1;f>=0;f--){const m=o[f];if(m.href===s&&(!c||m.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${s}"]${l}`))return;const d=document.createElement("link");if(d.rel=c?"stylesheet":vnt,c||(d.as="script",d.crossOrigin=""),d.href=s,document.head.appendChild(d),c)return new Promise((f,m)=>{d.addEventListener("load",f),d.addEventListener("error",()=>m(new Error(`Unable to preload CSS for ${s}`)))})}))}return a.then(()=>t()).catch(o=>{const s=new Event("vite:preloadError",{cancelable:!0});if(s.payload=o,window.dispatchEvent(s),!s.defaultPrevented)throw o})},"preload"),bnt=v.lazy(()=>DQ(()=>import("./DealList-Y3-0NLEV.js"),__vite__mapDeps([]),import.meta.url)),xnt={list:bnt},wnt=i(()=>p.jsxs(XBe,{dataProvider:gnt,authProvider:tWe,store:pF(void 0,"CRM"),layout:eWe,dashboard:tZe,theme:{...k5e,palette:{background:{default:"#fafafb"}}},children:[p.jsx(Xo,{name:"deals",...xnt}),p.jsx(Xo,{name:"contacts",...xUe}),p.jsx(Xo,{name:"companies",...zWe}),p.jsx(Xo,{name:"contactNotes"}),p.jsx(Xo,{name:"dealNotes"}),p.jsx(Xo,{name:"tasks",list:G2}),p.jsx(Xo,{name:"sales",list:G2,recordRepresentation:e=>`${e.first_name} ${e.last_name}`}),p.jsx(Xo,{name:"tags",list:G2})]}),"App"),Cnt=i(e=>{e&&e instanceof Function&&DQ(()=>import("./web-vitals-OEzE0HkN.js"),__vite__mapDeps([]),import.meta.url).then(({getCLS:t,getFID:n,getFCP:r,getLCP:a,getTTFB:o})=>{t(e),n(e),r(e),a(e),o(e)})},"reportWebVitals"),Snt=document.getElementById("root"),jnt=LN(Snt);jnt.render(p.jsx(At.StrictMode,{children:p.jsx(wnt,{})}));Cnt();export{R0e as $,x_ as A,Be as B,Vo as C,cs as D,Fa as E,ms as F,Ho as G,Eg as H,df as I,wFe as J,g_ as K,k8 as L,AH as M,XNe as N,fd as O,Ent as P,uh as Q,At as R,Ra as S,vs as T,zr as U,Ag as V,w7 as W,sn as X,oWe as Y,Hr as Z,kW as _,at as a,gq as a0,Ea as a1,Yb as a2,tUe as a3,Q9 as a4,n8e as a5,xMe as a6,Er as a7,lm as a8,kq as a9,zg as aa,PNe as ab,VR as ac,$1 as ad,vm as b,de as c,eq as d,te as e,Nn as f,Gf as g,Lg as h,$b as i,p as j,$nt as k,gl as l,Gp as m,Hf as n,Co as o,Rf as p,Ai as q,v as r,Ig as s,Ze as t,mg as u,hV as v,Kn as w,Di as x,Rnt as y,pa as z}; -function __vite__mapDeps(indexes) { - if (!__vite__mapDeps.viteFileDeps) { - __vite__mapDeps.viteFileDeps = [] - } - return indexes.map((i) => __vite__mapDeps.viteFileDeps[i]) -} -//# sourceMappingURL=index-43HxY5vD.js.map diff --git a/assets/index-Db7Ww11U.js b/assets/index-Db7Ww11U.js new file mode 100644 index 0000000..cebc66d --- /dev/null +++ b/assets/index-Db7Ww11U.js @@ -0,0 +1,314 @@ +"use client";var kM=Object.defineProperty;var EM=e=>{throw TypeError(e)};var fZ=(e,t,n)=>t in e?kM(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var o=(e,t)=>kM(e,"name",{value:t,configurable:!0});var tt=(e,t,n)=>fZ(e,typeof t!="symbol"?t+"":t,n),qw=(e,t,n)=>t.has(e)||EM("Cannot "+n);var q=(e,t,n)=>(qw(e,t,"read from private field"),n?n.call(e):t.get(e)),pt=(e,t,n)=>t.has(e)?EM("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),He=(e,t,n,r)=>(qw(e,t,"write to private field"),r?r.call(e,n):t.set(e,n),n),Et=(e,t,n)=>(qw(e,t,"access private method"),n);var Qg=(e,t,n,r)=>({set _(a){He(e,t,a,n)},get _(){return q(e,t,r)}});function nN(e,t){for(var n=0;n<t.length;n++){const r=t[n];if(typeof r!="string"&&!Array.isArray(r)){for(const a in r)if(a!=="default"&&!(a in e)){const i=Object.getOwnPropertyDescriptor(r,a);i&&Object.defineProperty(e,a,i.get?i:{enumerable:!0,get:o(()=>r[a],"get")})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}o(nN,"_mergeNamespaces");o(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const a of document.querySelectorAll('link[rel="modulepreload"]'))r(a);new MutationObserver(a=>{for(const i of a)if(i.type==="childList")for(const s of i.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&r(s)}).observe(document,{childList:!0,subtree:!0});function n(a){const i={};return a.integrity&&(i.integrity=a.integrity),a.referrerPolicy&&(i.referrerPolicy=a.referrerPolicy),a.crossOrigin==="use-credentials"?i.credentials="include":a.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}o(n,"getFetchOpts");function r(a){if(a.ep)return;a.ep=!0;const i=n(a);fetch(a.href,i)}o(r,"processPreload")},"polyfill")();var im=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Qt(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}o(Qt,"getDefaultExportFromCjs");function Li(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var n=o(function r(){return this instanceof r?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)},"a");n.prototype=t.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(e).forEach(function(r){var a=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(n,r,a.get?a:{enumerable:!0,get:o(function(){return e[r]},"get")})}),n}o(Li,"getAugmentedNamespace");var rN={exports:{}},q0={},aN={exports:{}},It={};/** + * @license React + * react.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var Qh=Symbol.for("react.element"),pZ=Symbol.for("react.portal"),mZ=Symbol.for("react.fragment"),hZ=Symbol.for("react.strict_mode"),gZ=Symbol.for("react.profiler"),vZ=Symbol.for("react.provider"),yZ=Symbol.for("react.context"),bZ=Symbol.for("react.forward_ref"),xZ=Symbol.for("react.suspense"),wZ=Symbol.for("react.memo"),CZ=Symbol.for("react.lazy"),RM=Symbol.iterator;function SZ(e){return e===null||typeof e!="object"?null:(e=RM&&e[RM]||e["@@iterator"],typeof e=="function"?e:null)}o(SZ,"A$8");var oN={isMounted:o(function(){return!1},"isMounted"),enqueueForceUpdate:o(function(){},"enqueueForceUpdate"),enqueueReplaceState:o(function(){},"enqueueReplaceState"),enqueueSetState:o(function(){},"enqueueSetState")},iN=Object.assign,sN={};function If(e,t,n){this.props=e,this.context=t,this.refs=sN,this.updater=n||oN}o(If,"E$5");If.prototype.isReactComponent={};If.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): 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")};If.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function cN(){}o(cN,"F$1");cN.prototype=If.prototype;function A_(e,t,n){this.props=e,this.context=t,this.refs=sN,this.updater=n||oN}o(A_,"G$2");var P_=A_.prototype=new cN;P_.constructor=A_;iN(P_,If.prototype);P_.isPureReactComponent=!0;var AM=Array.isArray,lN=Object.prototype.hasOwnProperty,M_={current:null},uN={key:!0,ref:!0,__self:!0,__source:!0};function dN(e,t,n){var r,a={},i=null,s=null;if(t!=null)for(r in t.ref!==void 0&&(s=t.ref),t.key!==void 0&&(i=""+t.key),t)lN.call(t,r)&&!uN.hasOwnProperty(r)&&(a[r]=t[r]);var c=arguments.length-2;if(c===1)a.children=n;else if(1<c){for(var l=Array(c),u=0;u<c;u++)l[u]=arguments[u+2];a.children=l}if(e&&e.defaultProps)for(r in c=e.defaultProps,c)a[r]===void 0&&(a[r]=c[r]);return{$$typeof:Qh,type:e,key:i,ref:s,props:a,_owner:M_.current}}o(dN,"M$4");function jZ(e,t){return{$$typeof:Qh,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}o(jZ,"N$5");function T_(e){return typeof e=="object"&&e!==null&&e.$$typeof===Qh}o(T_,"O$7");function $Z(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(n){return t[n]})}o($Z,"escape$1");var PM=/\/+/g;function Vw(e,t){return typeof e=="object"&&e!==null&&e.key!=null?$Z(""+e.key):t.toString(36)}o(Vw,"Q$5");function Gv(e,t,n,r,a){var i=typeof e;(i==="undefined"||i==="boolean")&&(e=null);var s=!1;if(e===null)s=!0;else switch(i){case"string":case"number":s=!0;break;case"object":switch(e.$$typeof){case Qh:case pZ:s=!0}}if(s)return s=e,a=a(s),e=r===""?"."+Vw(s,0):r,AM(a)?(n="",e!=null&&(n=e.replace(PM,"$&/")+"/"),Gv(a,t,n,"",function(u){return u})):a!=null&&(T_(a)&&(a=jZ(a,n+(!a.key||s&&s.key===a.key?"":(""+a.key).replace(PM,"$&/")+"/")+e)),t.push(a)),1;if(s=0,r=r===""?".":r+":",AM(e))for(var c=0;c<e.length;c++){i=e[c];var l=r+Vw(i,c);s+=Gv(i,t,n,l,a)}else if(l=SZ(e),typeof l=="function")for(e=l.call(e),c=0;!(i=e.next()).done;)i=i.value,l=r+Vw(i,c++),s+=Gv(i,t,n,l,a);else if(i==="object")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 s}o(Gv,"R$4");function Xg(e,t,n){if(e==null)return e;var r=[],a=0;return Gv(e,r,"","",function(i){return t.call(n,i,a++)}),r}o(Xg,"S$5");function _Z(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(n){(e._status===0||e._status===-1)&&(e._status=1,e._result=n)},function(n){(e._status===0||e._status===-1)&&(e._status=2,e._result=n)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}o(_Z,"T$5");var Zr={current:null},Kv={transition:null},kZ={ReactCurrentDispatcher:Zr,ReactCurrentBatchConfig:Kv,ReactCurrentOwner:M_};function fN(){throw Error("act(...) is not supported in production builds of React.")}o(fN,"X$6");It.Children={map:Xg,forEach:o(function(e,t,n){Xg(e,function(){t.apply(this,arguments)},n)},"forEach"),count:o(function(e){var t=0;return Xg(e,function(){t++}),t},"count"),toArray:o(function(e){return Xg(e,function(t){return t})||[]},"toArray"),only:o(function(e){if(!T_(e))throw Error("React.Children.only expected to receive a single React element child.");return e},"only")};It.Component=If;It.Fragment=mZ;It.Profiler=gZ;It.PureComponent=A_;It.StrictMode=hZ;It.Suspense=xZ;It.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=kZ;It.act=fN;It.cloneElement=function(e,t,n){if(e==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var r=iN({},e.props),a=e.key,i=e.ref,s=e._owner;if(t!=null){if(t.ref!==void 0&&(i=t.ref,s=M_.current),t.key!==void 0&&(a=""+t.key),e.type&&e.type.defaultProps)var c=e.type.defaultProps;for(l in t)lN.call(t,l)&&!uN.hasOwnProperty(l)&&(r[l]=t[l]===void 0&&c!==void 0?c[l]:t[l])}var l=arguments.length-2;if(l===1)r.children=n;else if(1<l){c=Array(l);for(var u=0;u<l;u++)c[u]=arguments[u+2];r.children=c}return{$$typeof:Qh,type:e.type,key:a,ref:i,props:r,_owner:s}};It.createContext=function(e){return e={$$typeof:yZ,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},e.Provider={$$typeof:vZ,_context:e},e.Consumer=e};It.createElement=dN;It.createFactory=function(e){var t=dN.bind(null,e);return t.type=e,t};It.createRef=function(){return{current:null}};It.forwardRef=function(e){return{$$typeof:bZ,render:e}};It.isValidElement=T_;It.lazy=function(e){return{$$typeof:CZ,_payload:{_status:-1,_result:e},_init:_Z}};It.memo=function(e,t){return{$$typeof:wZ,type:e,compare:t===void 0?null:t}};It.startTransition=function(e){var t=Kv.transition;Kv.transition={};try{e()}finally{Kv.transition=t}};It.unstable_act=fN;It.useCallback=function(e,t){return Zr.current.useCallback(e,t)};It.useContext=function(e){return Zr.current.useContext(e)};It.useDebugValue=function(){};It.useDeferredValue=function(e){return Zr.current.useDeferredValue(e)};It.useEffect=function(e,t){return Zr.current.useEffect(e,t)};It.useId=function(){return Zr.current.useId()};It.useImperativeHandle=function(e,t,n){return Zr.current.useImperativeHandle(e,t,n)};It.useInsertionEffect=function(e,t){return Zr.current.useInsertionEffect(e,t)};It.useLayoutEffect=function(e,t){return Zr.current.useLayoutEffect(e,t)};It.useMemo=function(e,t){return Zr.current.useMemo(e,t)};It.useReducer=function(e,t,n){return Zr.current.useReducer(e,t,n)};It.useRef=function(e){return Zr.current.useRef(e)};It.useState=function(e){return Zr.current.useState(e)};It.useSyncExternalStore=function(e,t,n){return Zr.current.useSyncExternalStore(e,t,n)};It.useTransition=function(){return Zr.current.useTransition()};It.version="18.3.1";aN.exports=It;var g=aN.exports;const _t=Qt(g),pN=nN({__proto__:null,default:_t},[g]);/** + * @license React + * react-jsx-runtime.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var EZ=g,RZ=Symbol.for("react.element"),AZ=Symbol.for("react.fragment"),PZ=Object.prototype.hasOwnProperty,MZ=EZ.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,TZ={key:!0,ref:!0,__self:!0,__source:!0};function mN(e,t,n){var r,a={},i=null,s=null;n!==void 0&&(i=""+n),t.key!==void 0&&(i=""+t.key),t.ref!==void 0&&(s=t.ref);for(r in t)PZ.call(t,r)&&!TZ.hasOwnProperty(r)&&(a[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps,t)a[r]===void 0&&(a[r]=t[r]);return{$$typeof:RZ,type:e,key:i,ref:s,props:a,_owner:MZ.current}}o(mN,"q$5");q0.Fragment=AZ;q0.jsx=mN;q0.jsxs=mN;rN.exports=q0;var f=rN.exports,hN={exports:{}},Wa={},gN={exports:{}},vN={};/** + * @license React + * scheduler.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */(function(e){function t(I,B){var U=I.length;I.push(B);e:for(;0<U;){var te=U-1>>>1,Z=I[te];if(0<a(Z,B))I[te]=B,I[U]=Z,U=te;else break e}}o(t,"f");function n(I){return I.length===0?null:I[0]}o(n,"h");function r(I){if(I.length===0)return null;var B=I[0],U=I.pop();if(U!==B){I[0]=U;e:for(var te=0,Z=I.length,be=Z>>>1;te<be;){var ne=2*(te+1)-1,le=I[ne],oe=ne+1,Se=I[oe];if(0>a(le,U))oe<Z&&0>a(Se,le)?(I[te]=Se,I[oe]=U,te=oe):(I[te]=le,I[ne]=U,te=ne);else if(oe<Z&&0>a(Se,U))I[te]=Se,I[oe]=U,te=oe;else break e}}return B}o(r,"k");function a(I,B){var U=I.sortIndex-B.sortIndex;return U!==0?U:I.id-B.id}if(o(a,"g"),typeof performance=="object"&&typeof performance.now=="function"){var i=performance;e.unstable_now=function(){return i.now()}}else{var s=Date,c=s.now();e.unstable_now=function(){return s.now()-c}}var l=[],u=[],d=1,p=null,m=3,v=!1,h=!1,y=!1,C=typeof setTimeout=="function"?setTimeout:null,w=typeof clearTimeout=="function"?clearTimeout:null,x=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function b(I){for(var B=n(u);B!==null;){if(B.callback===null)r(u);else if(B.startTime<=I)r(u),B.sortIndex=B.expirationTime,t(l,B);else break;B=n(u)}}o(b,"G");function S(I){if(y=!1,b(I),!h)if(n(l)!==null)h=!0,N($);else{var B=n(u);B!==null&&F(S,B.startTime-I)}}o(S,"H");function $(I,B){h=!1,y&&(y=!1,w(k),k=-1),v=!0;var U=m;try{for(b(B),p=n(l);p!==null&&(!(p.expirationTime>B)||I&&!P());){var te=p.callback;if(typeof te=="function"){p.callback=null,m=p.priorityLevel;var Z=te(p.expirationTime<=B);B=e.unstable_now(),typeof Z=="function"?p.callback=Z:p===n(l)&&r(l),b(B)}else r(l);p=n(l)}if(p!==null)var be=!0;else{var ne=n(u);ne!==null&&F(S,ne.startTime-B),be=!1}return be}finally{p=null,m=U,v=!1}}o($,"J");var j=!1,_=null,k=-1,E=5,A=-1;function P(){return!(e.unstable_now()-A<E)}o(P,"M");function M(){if(_!==null){var I=e.unstable_now();A=I;var B=!0;try{B=_(!0,I)}finally{B?T():(j=!1,_=null)}}else j=!1}o(M,"R");var T;if(typeof x=="function")T=o(function(){x(M)},"S");else if(typeof MessageChannel<"u"){var z=new MessageChannel,O=z.port2;z.port1.onmessage=M,T=o(function(){O.postMessage(null)},"S")}else T=o(function(){C(M,0)},"S");function N(I){_=I,j||(j=!0,T())}o(N,"I");function F(I,B){k=C(function(){I(e.unstable_now())},B)}o(F,"K"),e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(I){I.callback=null},e.unstable_continueExecution=function(){h||v||(h=!0,N($))},e.unstable_forceFrameRate=function(I){0>I||125<I?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):E=0<I?Math.floor(1e3/I):5},e.unstable_getCurrentPriorityLevel=function(){return m},e.unstable_getFirstCallbackNode=function(){return n(l)},e.unstable_next=function(I){switch(m){case 1:case 2:case 3:var B=3;break;default:B=m}var U=m;m=B;try{return I()}finally{m=U}},e.unstable_pauseExecution=function(){},e.unstable_requestPaint=function(){},e.unstable_runWithPriority=function(I,B){switch(I){case 1:case 2:case 3:case 4:case 5:break;default:I=3}var U=m;m=I;try{return B()}finally{m=U}},e.unstable_scheduleCallback=function(I,B,U){var te=e.unstable_now();switch(typeof U=="object"&&U!==null?(U=U.delay,U=typeof U=="number"&&0<U?te+U:te):U=te,I){case 1:var Z=-1;break;case 2:Z=250;break;case 5:Z=1073741823;break;case 4:Z=1e4;break;default:Z=5e3}return Z=U+Z,I={id:d++,callback:B,priorityLevel:I,startTime:U,expirationTime:Z,sortIndex:-1},U>te?(I.sortIndex=U,t(u,I),n(l)===null&&I===n(u)&&(y?(w(k),k=-1):y=!0,F(S,U-te))):(I.sortIndex=Z,t(l,I),h||v||(h=!0,N($))),I},e.unstable_shouldYield=P,e.unstable_wrapCallback=function(I){var B=m;return function(){var U=m;m=B;try{return I.apply(this,arguments)}finally{m=U}}}})(vN);gN.exports=vN;var OZ=gN.exports;/** + * @license React + * react-dom.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var zZ=g,Na=OZ;function Te(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);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."}o(Te,"p$5");var yN=new Set,Vm={};function Wl(e,t){Xd(e,t),Xd(e+"Capture",t)}o(Wl,"fa$1");function Xd(e,t){for(Vm[e]=t,e=0;e<t.length;e++)yN.add(t[e])}o(Xd,"ha$1");var ds=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),VS=Object.prototype.hasOwnProperty,IZ=/^[: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]*$/,MM={},TM={};function LZ(e){return VS.call(TM,e)?!0:VS.call(MM,e)?!1:IZ.test(e)?TM[e]=!0:(MM[e]=!0,!1)}o(LZ,"oa$1");function DZ(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}o(DZ,"pa$1");function NZ(e,t,n,r){if(t===null||typeof t>"u"||DZ(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}o(NZ,"qa$1");function ea(e,t,n,r,a,i,s){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=a,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=i,this.removeEmptyString=s}o(ea,"v$8");var Rr={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){Rr[e]=new ea(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];Rr[t]=new ea(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){Rr[e]=new ea(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){Rr[e]=new ea(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){Rr[e]=new ea(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){Rr[e]=new ea(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){Rr[e]=new ea(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){Rr[e]=new ea(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){Rr[e]=new ea(e,5,!1,e.toLowerCase(),null,!1,!1)});var O_=/[\-:]([a-z])/g;function z_(e){return e[1].toUpperCase()}o(z_,"sa$1");"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(O_,z_);Rr[t]=new ea(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(O_,z_);Rr[t]=new ea(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(O_,z_);Rr[t]=new ea(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){Rr[e]=new ea(e,1,!1,e.toLowerCase(),null,!1,!1)});Rr.xlinkHref=new ea("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){Rr[e]=new ea(e,1,!1,e.toLowerCase(),null,!0,!0)});function I_(e,t,n,r){var a=Rr.hasOwnProperty(t)?Rr[t]:null;(a!==null?a.type!==0:r||!(2<t.length)||t[0]!=="o"&&t[0]!=="O"||t[1]!=="n"&&t[1]!=="N")&&(NZ(t,n,a,r)&&(n=null),r||a===null?LZ(t)&&(n===null?e.removeAttribute(t):e.setAttribute(t,""+n)):a.mustUseProperty?e[a.propertyName]=n===null?a.type===3?!1:"":n:(t=a.attributeName,r=a.attributeNamespace,n===null?e.removeAttribute(t):(a=a.type,n=a===3||a===4&&n===!0?"":""+n,r?e.setAttributeNS(r,t,n):e.setAttribute(t,n))))}o(I_,"ta$1");var ws=zZ.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,Zg=Symbol.for("react.element"),Tu=Symbol.for("react.portal"),Ou=Symbol.for("react.fragment"),L_=Symbol.for("react.strict_mode"),GS=Symbol.for("react.profiler"),bN=Symbol.for("react.provider"),xN=Symbol.for("react.context"),D_=Symbol.for("react.forward_ref"),KS=Symbol.for("react.suspense"),JS=Symbol.for("react.suspense_list"),N_=Symbol.for("react.memo"),Is=Symbol.for("react.lazy"),wN=Symbol.for("react.offscreen"),OM=Symbol.iterator;function kp(e){return e===null||typeof e!="object"?null:(e=OM&&e[OM]||e["@@iterator"],typeof e=="function"?e:null)}o(kp,"Ka$1");var Rn=Object.assign,Gw;function sm(e){if(Gw===void 0)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);Gw=t&&t[1]||""}return` +`+Gw+e}o(sm,"Ma$1");var Kw=!1;function Jw(e,t){if(!e||Kw)return"";Kw=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=o(function(){throw Error()},"b"),Object.defineProperty(t.prototype,"props",{set:o(function(){throw Error()},"set")}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(t,[])}catch(u){var r=u}Reflect.construct(e,[],t)}else{try{t.call()}catch(u){r=u}e.call(t.prototype)}else{try{throw Error()}catch(u){r=u}e()}}catch(u){if(u&&r&&typeof u.stack=="string"){for(var a=u.stack.split(` +`),i=r.stack.split(` +`),s=a.length-1,c=i.length-1;1<=s&&0<=c&&a[s]!==i[c];)c--;for(;1<=s&&0<=c;s--,c--)if(a[s]!==i[c]){if(s!==1||c!==1)do if(s--,c--,0>c||a[s]!==i[c]){var l=` +`+a[s].replace(" at new "," at ");return e.displayName&&l.includes("<anonymous>")&&(l=l.replace("<anonymous>",e.displayName)),l}while(1<=s&&0<=c);break}}}finally{Kw=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?sm(e):""}o(Jw,"Oa$1");function FZ(e){switch(e.tag){case 5:return sm(e.type);case 16:return sm("Lazy");case 13:return sm("Suspense");case 19:return sm("SuspenseList");case 0:case 2:case 15:return e=Jw(e.type,!1),e;case 11:return e=Jw(e.type.render,!1),e;case 1:return e=Jw(e.type,!0),e;default:return""}}o(FZ,"Pa$1");function YS(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Ou:return"Fragment";case Tu:return"Portal";case GS:return"Profiler";case L_:return"StrictMode";case KS:return"Suspense";case JS:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case xN:return(e.displayName||"Context")+".Consumer";case bN:return(e._context.displayName||"Context")+".Provider";case D_:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case N_:return t=e.displayName||null,t!==null?t:YS(e.type)||"Memo";case Is:t=e._payload,e=e._init;try{return YS(e(t))}catch{}}return null}o(YS,"Qa$1");function BZ(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return YS(t);case 8:return t===L_?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}o(BZ,"Ra$1");function mc(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}o(mc,"Sa$1");function CN(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}o(CN,"Ta$1");function WZ(e){var t=CN(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var a=n.get,i=n.set;return Object.defineProperty(e,t,{configurable:!0,get:o(function(){return a.call(this)},"get"),set:o(function(s){r=""+s,i.call(this,s)},"set")}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:o(function(){return r},"getValue"),setValue:o(function(s){r=""+s},"setValue"),stopTracking:o(function(){e._valueTracker=null,delete e[t]},"stopTracking")}}}o(WZ,"Ua$1");function ev(e){e._valueTracker||(e._valueTracker=WZ(e))}o(ev,"Va$1");function SN(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=CN(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}o(SN,"Wa$1");function Vy(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}}o(Vy,"Xa$1");function QS(e,t){var n=t.checked;return Rn({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}o(QS,"Ya$1");function zM(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=mc(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}o(zM,"Za$1");function jN(e,t){t=t.checked,t!=null&&I_(e,"checked",t,!1)}o(jN,"ab");function XS(e,t){jN(e,t);var n=mc(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?ZS(e,t.type,n):t.hasOwnProperty("defaultValue")&&ZS(e,t.type,mc(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}o(XS,"bb");function IM(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}o(IM,"db");function ZS(e,t,n){(t!=="number"||Vy(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}o(ZS,"cb");var cm=Array.isArray;function Zu(e,t,n,r){if(e=e.options,t){t={};for(var a=0;a<n.length;a++)t["$"+n[a]]=!0;for(n=0;n<e.length;n++)a=t.hasOwnProperty("$"+e[n].value),e[n].selected!==a&&(e[n].selected=a),a&&r&&(e[n].defaultSelected=!0)}else{for(n=""+mc(n),t=null,a=0;a<e.length;a++){if(e[a].value===n){e[a].selected=!0,r&&(e[a].defaultSelected=!0);return}t!==null||e[a].disabled||(t=e[a])}t!==null&&(t.selected=!0)}}o(Zu,"fb");function ej(e,t){if(t.dangerouslySetInnerHTML!=null)throw Error(Te(91));return Rn({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}o(ej,"gb");function LM(e,t){var n=t.value;if(n==null){if(n=t.children,t=t.defaultValue,n!=null){if(t!=null)throw Error(Te(92));if(cm(n)){if(1<n.length)throw Error(Te(93));n=n[0]}t=n}t==null&&(t=""),n=t}e._wrapperState={initialValue:mc(n)}}o(LM,"hb");function $N(e,t){var n=mc(t.value),r=mc(t.defaultValue);n!=null&&(n=""+n,n!==e.value&&(e.value=n),t.defaultValue==null&&e.defaultValue!==n&&(e.defaultValue=n)),r!=null&&(e.defaultValue=""+r)}o($N,"ib");function DM(e){var t=e.textContent;t===e._wrapperState.initialValue&&t!==""&&t!==null&&(e.value=t)}o(DM,"jb");function _N(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}o(_N,"kb");function tj(e,t){return e==null||e==="http://www.w3.org/1999/xhtml"?_N(t):e==="http://www.w3.org/2000/svg"&&t==="foreignObject"?"http://www.w3.org/1999/xhtml":e}o(tj,"lb");var tv,kN=function(e){return typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(t,n,r,a){MSApp.execUnsafeLocalFunction(function(){return e(t,n,r,a)})}:e}(function(e,t){if(e.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in e)e.innerHTML=t;else{for(tv=tv||document.createElement("div"),tv.innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=tv.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Gm(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}o(Gm,"ob");var ym={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},UZ=["Webkit","ms","Moz","O"];Object.keys(ym).forEach(function(e){UZ.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),ym[t]=ym[e]})});function EN(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||ym.hasOwnProperty(e)&&ym[e]?(""+t).trim():t+"px"}o(EN,"rb");function RN(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,a=EN(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,a):e[n]=a}}o(RN,"sb");var HZ=Rn({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function nj(e,t){if(t){if(HZ[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(Te(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(Te(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(Te(61))}if(t.style!=null&&typeof t.style!="object")throw Error(Te(62))}}o(nj,"ub");function rj(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";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}}o(rj,"vb");var aj=null;function F_(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}o(F_,"xb");var oj=null,ed=null,td=null;function NM(e){if(e=eg(e)){if(typeof oj!="function")throw Error(Te(280));var t=e.stateNode;t&&(t=Y0(t),oj(e.stateNode,e.type,t))}}o(NM,"Bb");function AN(e){ed?td?td.push(e):td=[e]:ed=e}o(AN,"Eb");function PN(){if(ed){var e=ed,t=td;if(td=ed=null,NM(e),t)for(e=0;e<t.length;e++)NM(t[e])}}o(PN,"Fb");function MN(e,t){return e(t)}o(MN,"Gb");function TN(){}o(TN,"Hb");var Yw=!1;function ON(e,t,n){if(Yw)return e(t,n);Yw=!0;try{return MN(e,t,n)}finally{Yw=!1,(ed!==null||td!==null)&&(TN(),PN())}}o(ON,"Jb");function Km(e,t){var n=e.stateNode;if(n===null)return null;var r=Y0(n);if(r===null)return null;n=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(n&&typeof n!="function")throw Error(Te(231,t,typeof n));return n}o(Km,"Kb");var ij=!1;if(ds)try{var Ep={};Object.defineProperty(Ep,"passive",{get:o(function(){ij=!0},"get")}),window.addEventListener("test",Ep,Ep),window.removeEventListener("test",Ep,Ep)}catch{ij=!1}function qZ(e,t,n,r,a,i,s,c,l){var u=Array.prototype.slice.call(arguments,3);try{t.apply(n,u)}catch(d){this.onError(d)}}o(qZ,"Nb");var bm=!1,Gy=null,Ky=!1,sj=null,VZ={onError:o(function(e){bm=!0,Gy=e},"onError")};function GZ(e,t,n,r,a,i,s,c,l){bm=!1,Gy=null,qZ.apply(VZ,arguments)}o(GZ,"Tb");function KZ(e,t,n,r,a,i,s,c,l){if(GZ.apply(this,arguments),bm){if(bm){var u=Gy;bm=!1,Gy=null}else throw Error(Te(198));Ky||(Ky=!0,sj=u)}}o(KZ,"Ub");function Ul(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,t.flags&4098&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}o(Ul,"Vb");function zN(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}o(zN,"Wb");function FM(e){if(Ul(e)!==e)throw Error(Te(188))}o(FM,"Xb");function JZ(e){var t=e.alternate;if(!t){if(t=Ul(e),t===null)throw Error(Te(188));return t!==e?null:e}for(var n=e,r=t;;){var a=n.return;if(a===null)break;var i=a.alternate;if(i===null){if(r=a.return,r!==null){n=r;continue}break}if(a.child===i.child){for(i=a.child;i;){if(i===n)return FM(a),e;if(i===r)return FM(a),t;i=i.sibling}throw Error(Te(188))}if(n.return!==r.return)n=a,r=i;else{for(var s=!1,c=a.child;c;){if(c===n){s=!0,n=a,r=i;break}if(c===r){s=!0,r=a,n=i;break}c=c.sibling}if(!s){for(c=i.child;c;){if(c===n){s=!0,n=i,r=a;break}if(c===r){s=!0,r=i,n=a;break}c=c.sibling}if(!s)throw Error(Te(189))}}if(n.alternate!==r)throw Error(Te(190))}if(n.tag!==3)throw Error(Te(188));return n.stateNode.current===n?e:t}o(JZ,"Yb");function IN(e){return e=JZ(e),e!==null?LN(e):null}o(IN,"Zb");function LN(e){if(e.tag===5||e.tag===6)return e;for(e=e.child;e!==null;){var t=LN(e);if(t!==null)return t;e=e.sibling}return null}o(LN,"$b");var DN=Na.unstable_scheduleCallback,BM=Na.unstable_cancelCallback,YZ=Na.unstable_shouldYield,QZ=Na.unstable_requestPaint,Un=Na.unstable_now,XZ=Na.unstable_getCurrentPriorityLevel,B_=Na.unstable_ImmediatePriority,NN=Na.unstable_UserBlockingPriority,Jy=Na.unstable_NormalPriority,ZZ=Na.unstable_LowPriority,FN=Na.unstable_IdlePriority,V0=null,Ci=null;function eee(e){if(Ci&&typeof Ci.onCommitFiberRoot=="function")try{Ci.onCommitFiberRoot(V0,e,void 0,(e.current.flags&128)===128)}catch{}}o(eee,"mc$1");var Lo=Math.clz32?Math.clz32:ree,tee=Math.log,nee=Math.LN2;function ree(e){return e>>>=0,e===0?32:31-(tee(e)/nee|0)|0}o(ree,"nc$1");var nv=64,rv=4194304;function lm(e){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: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 e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}o(lm,"tc$1");function Yy(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,a=e.suspendedLanes,i=e.pingedLanes,s=n&268435455;if(s!==0){var c=s&~a;c!==0?r=lm(c):(i&=s,i!==0&&(r=lm(i)))}else s=n&~a,s!==0?r=lm(s):i!==0&&(r=lm(i));if(r===0)return 0;if(t!==0&&t!==r&&!(t&a)&&(a=r&-r,i=t&-t,a>=i||a===16&&(i&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0<t;)n=31-Lo(t),a=1<<n,r|=e[n],t&=~a;return r}o(Yy,"uc$1");function aee(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64: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:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}o(aee,"vc$1");function oee(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,a=e.expirationTimes,i=e.pendingLanes;0<i;){var s=31-Lo(i),c=1<<s,l=a[s];l===-1?(!(c&n)||c&r)&&(a[s]=aee(c,t)):l<=t&&(e.expiredLanes|=c),i&=~c}}o(oee,"wc$1");function cj(e){return e=e.pendingLanes&-1073741825,e!==0?e:e&1073741824?1073741824:0}o(cj,"xc$1");function BN(){var e=nv;return nv<<=1,!(nv&4194240)&&(nv=64),e}o(BN,"yc$1");function Qw(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}o(Qw,"zc$1");function Xh(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Lo(t),e[t]=n}o(Xh,"Ac$1");function iee(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0<n;){var a=31-Lo(n),i=1<<a;t[a]=0,r[a]=-1,e[a]=-1,n&=~i}}o(iee,"Bc$1");function W_(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-Lo(n),a=1<<r;a&t|e[r]&t&&(e[r]|=t),n&=~a}}o(W_,"Cc$1");var tn=0;function WN(e){return e&=-e,1<e?4<e?e&268435455?16:536870912:4:1}o(WN,"Dc$1");var UN,U_,HN,qN,VN,lj=!1,av=[],rc=null,ac=null,oc=null,Jm=new Map,Ym=new Map,Ds=[],see="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 submit".split(" ");function WM(e,t){switch(e){case"focusin":case"focusout":rc=null;break;case"dragenter":case"dragleave":ac=null;break;case"mouseover":case"mouseout":oc=null;break;case"pointerover":case"pointerout":Jm.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":Ym.delete(t.pointerId)}}o(WM,"Sc$1");function Rp(e,t,n,r,a,i){return e===null||e.nativeEvent!==i?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:i,targetContainers:[a]},t!==null&&(t=eg(t),t!==null&&U_(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,a!==null&&t.indexOf(a)===-1&&t.push(a),e)}o(Rp,"Tc$1");function cee(e,t,n,r,a){switch(t){case"focusin":return rc=Rp(rc,e,t,n,r,a),!0;case"dragenter":return ac=Rp(ac,e,t,n,r,a),!0;case"mouseover":return oc=Rp(oc,e,t,n,r,a),!0;case"pointerover":var i=a.pointerId;return Jm.set(i,Rp(Jm.get(i)||null,e,t,n,r,a)),!0;case"gotpointercapture":return i=a.pointerId,Ym.set(i,Rp(Ym.get(i)||null,e,t,n,r,a)),!0}return!1}o(cee,"Uc$1");function GN(e){var t=Vc(e.target);if(t!==null){var n=Ul(t);if(n!==null){if(t=n.tag,t===13){if(t=zN(n),t!==null){e.blockedOn=t,VN(e.priority,function(){HN(n)});return}}else if(t===3&&n.stateNode.current.memoizedState.isDehydrated){e.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}e.blockedOn=null}o(GN,"Vc$1");function Jv(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=uj(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(n===null){n=e.nativeEvent;var r=new n.constructor(n.type,n);aj=r,n.target.dispatchEvent(r),aj=null}else return t=eg(n),t!==null&&U_(t),e.blockedOn=n,!1;t.shift()}return!0}o(Jv,"Xc$1");function UM(e,t,n){Jv(e)&&n.delete(t)}o(UM,"Zc$1");function lee(){lj=!1,rc!==null&&Jv(rc)&&(rc=null),ac!==null&&Jv(ac)&&(ac=null),oc!==null&&Jv(oc)&&(oc=null),Jm.forEach(UM),Ym.forEach(UM)}o(lee,"$c$1");function Ap(e,t){e.blockedOn===t&&(e.blockedOn=null,lj||(lj=!0,Na.unstable_scheduleCallback(Na.unstable_NormalPriority,lee)))}o(Ap,"ad$1");function Qm(e){function t(a){return Ap(a,e)}if(o(t,"b"),0<av.length){Ap(av[0],e);for(var n=1;n<av.length;n++){var r=av[n];r.blockedOn===e&&(r.blockedOn=null)}}for(rc!==null&&Ap(rc,e),ac!==null&&Ap(ac,e),oc!==null&&Ap(oc,e),Jm.forEach(t),Ym.forEach(t),n=0;n<Ds.length;n++)r=Ds[n],r.blockedOn===e&&(r.blockedOn=null);for(;0<Ds.length&&(n=Ds[0],n.blockedOn===null);)GN(n),n.blockedOn===null&&Ds.shift()}o(Qm,"bd$1");var nd=ws.ReactCurrentBatchConfig,Qy=!0;function uee(e,t,n,r){var a=tn,i=nd.transition;nd.transition=null;try{tn=1,H_(e,t,n,r)}finally{tn=a,nd.transition=i}}o(uee,"ed$1");function dee(e,t,n,r){var a=tn,i=nd.transition;nd.transition=null;try{tn=4,H_(e,t,n,r)}finally{tn=a,nd.transition=i}}o(dee,"gd$1");function H_(e,t,n,r){if(Qy){var a=uj(e,t,n,r);if(a===null)s2(e,t,r,Xy,n),WM(e,r);else if(cee(a,e,t,n,r))r.stopPropagation();else if(WM(e,r),t&4&&-1<see.indexOf(e)){for(;a!==null;){var i=eg(a);if(i!==null&&UN(i),i=uj(e,t,n,r),i===null&&s2(e,t,r,Xy,n),i===a)break;a=i}a!==null&&r.stopPropagation()}else s2(e,t,r,null,n)}}o(H_,"fd$1");var Xy=null;function uj(e,t,n,r){if(Xy=null,e=F_(r),e=Vc(e),e!==null)if(t=Ul(e),t===null)e=null;else if(n=t.tag,n===13){if(e=zN(t),e!==null)return e;e=null}else if(n===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return Xy=e,null}o(uj,"Yc$1");function KN(e){switch(e){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"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 1;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"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(XZ()){case B_:return 1;case NN:return 4;case Jy:case ZZ:return 16;case FN:return 536870912;default:return 16}default:return 16}}o(KN,"jd$1");var Ys=null,q_=null,Yv=null;function JN(){if(Yv)return Yv;var e,t=q_,n=t.length,r,a="value"in Ys?Ys.value:Ys.textContent,i=a.length;for(e=0;e<n&&t[e]===a[e];e++);var s=n-e;for(r=1;r<=s&&t[n-r]===a[i-r];r++);return Yv=a.slice(e,1<r?1-r:void 0)}o(JN,"nd$1");function Qv(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}o(Qv,"od$1");function ov(){return!0}o(ov,"pd$1");function HM(){return!1}o(HM,"qd");function Ua(e){function t(n,r,a,i,s){this._reactName=n,this._targetInst=a,this.type=r,this.nativeEvent=i,this.target=s,this.currentTarget=null;for(var c in e)e.hasOwnProperty(c)&&(n=e[c],this[c]=n?n(i):i[c]);return this.isDefaultPrevented=(i.defaultPrevented!=null?i.defaultPrevented:i.returnValue===!1)?ov:HM,this.isPropagationStopped=HM,this}return o(t,"b"),Rn(t.prototype,{preventDefault:o(function(){this.defaultPrevented=!0;var n=this.nativeEvent;n&&(n.preventDefault?n.preventDefault():typeof n.returnValue!="unknown"&&(n.returnValue=!1),this.isDefaultPrevented=ov)},"preventDefault"),stopPropagation:o(function(){var n=this.nativeEvent;n&&(n.stopPropagation?n.stopPropagation():typeof n.cancelBubble!="unknown"&&(n.cancelBubble=!0),this.isPropagationStopped=ov)},"stopPropagation"),persist:o(function(){},"persist"),isPersistent:ov}),t}o(Ua,"rd$1");var Lf={eventPhase:0,bubbles:0,cancelable:0,timeStamp:o(function(e){return e.timeStamp||Date.now()},"timeStamp"),defaultPrevented:0,isTrusted:0},V_=Ua(Lf),Zh=Rn({},Lf,{view:0,detail:0}),fee=Ua(Zh),Xw,Zw,Pp,G0=Rn({},Zh,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:G_,button:0,buttons:0,relatedTarget:o(function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},"relatedTarget"),movementX:o(function(e){return"movementX"in e?e.movementX:(e!==Pp&&(Pp&&e.type==="mousemove"?(Xw=e.screenX-Pp.screenX,Zw=e.screenY-Pp.screenY):Zw=Xw=0,Pp=e),Xw)},"movementX"),movementY:o(function(e){return"movementY"in e?e.movementY:Zw},"movementY")}),qM=Ua(G0),pee=Rn({},G0,{dataTransfer:0}),mee=Ua(pee),hee=Rn({},Zh,{relatedTarget:0}),e2=Ua(hee),gee=Rn({},Lf,{animationName:0,elapsedTime:0,pseudoElement:0}),vee=Ua(gee),yee=Rn({},Lf,{clipboardData:o(function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData},"clipboardData")}),bee=Ua(yee),xee=Rn({},Lf,{data:0}),VM=Ua(xee),wee={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Cee={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"},See={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function jee(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=See[e])?!!t[e]:!1}o(jee,"Pd$1");function G_(){return jee}o(G_,"zd");var $ee=Rn({},Zh,{key:o(function(e){if(e.key){var t=wee[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=Qv(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?Cee[e.keyCode]||"Unidentified":""},"key"),code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:G_,charCode:o(function(e){return e.type==="keypress"?Qv(e):0},"charCode"),keyCode:o(function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},"keyCode"),which:o(function(e){return e.type==="keypress"?Qv(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0},"which")}),_ee=Ua($ee),kee=Rn({},G0,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),GM=Ua(kee),Eee=Rn({},Zh,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:G_}),Ree=Ua(Eee),Aee=Rn({},Lf,{propertyName:0,elapsedTime:0,pseudoElement:0}),Pee=Ua(Aee),Mee=Rn({},G0,{deltaX:o(function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},"deltaX"),deltaY:o(function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},"deltaY"),deltaZ:0,deltaMode:0}),Tee=Ua(Mee),Oee=[9,13,27,32],K_=ds&&"CompositionEvent"in window,xm=null;ds&&"documentMode"in document&&(xm=document.documentMode);var zee=ds&&"TextEvent"in window&&!xm,YN=ds&&(!K_||xm&&8<xm&&11>=xm),KM=" ",JM=!1;function QN(e,t){switch(e){case"keyup":return Oee.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}o(QN,"ge$3");function XN(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}o(XN,"he$3");var zu=!1;function Iee(e,t){switch(e){case"compositionend":return XN(t);case"keypress":return t.which!==32?null:(JM=!0,KM);case"textInput":return e=t.data,e===KM&&JM?null:e;default:return null}}o(Iee,"je$1");function Lee(e,t){if(zu)return e==="compositionend"||!K_&&QN(e,t)?(e=JN(),Yv=q_=Ys=null,zu=!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 YN&&t.locale!=="ko"?null:t.data;default:return null}}o(Lee,"ke$2");var Dee={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 YM(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!Dee[e.type]:t==="textarea"}o(YM,"me$2");function ZN(e,t,n,r){AN(r),t=Zy(t,"onChange"),0<t.length&&(n=new V_("onChange","change",null,n,r),e.push({event:n,listeners:t}))}o(ZN,"ne$3");var wm=null,Xm=null;function Nee(e){uF(e,0)}o(Nee,"re$4");function K0(e){var t=Du(e);if(SN(t))return e}o(K0,"te$2");function Fee(e,t){if(e==="change")return t}o(Fee,"ve$3");var eF=!1;if(ds){var t2;if(ds){var n2="oninput"in document;if(!n2){var QM=document.createElement("div");QM.setAttribute("oninput","return;"),n2=typeof QM.oninput=="function"}t2=n2}else t2=!1;eF=t2&&(!document.documentMode||9<document.documentMode)}function XM(){wm&&(wm.detachEvent("onpropertychange",tF),Xm=wm=null)}o(XM,"Ae$1");function tF(e){if(e.propertyName==="value"&&K0(Xm)){var t=[];ZN(t,Xm,e,F_(e)),ON(Nee,t)}}o(tF,"Be$2");function Bee(e,t,n){e==="focusin"?(XM(),wm=t,Xm=n,wm.attachEvent("onpropertychange",tF)):e==="focusout"&&XM()}o(Bee,"Ce$3");function Wee(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return K0(Xm)}o(Wee,"De$2");function Uee(e,t){if(e==="click")return K0(t)}o(Uee,"Ee$1");function Hee(e,t){if(e==="input"||e==="change")return K0(t)}o(Hee,"Fe$2");function qee(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}o(qee,"Ge$2");var No=typeof Object.is=="function"?Object.is:qee;function Zm(e,t){if(No(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++){var a=n[r];if(!VS.call(t,a)||!No(e[a],t[a]))return!1}return!0}o(Zm,"Ie$1");function ZM(e){for(;e&&e.firstChild;)e=e.firstChild;return e}o(ZM,"Je$2");function eT(e,t){var n=ZM(e);e=0;for(var r;n;){if(n.nodeType===3){if(r=e+n.textContent.length,e<=t&&r>=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=ZM(n)}}o(eT,"Ke$2");function nF(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?nF(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}o(nF,"Le$2");function rF(){for(var e=window,t=Vy();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Vy(e.document)}return t}o(rF,"Me$3");function J_(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")}o(J_,"Ne$1");function Vee(e){var t=rF(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&nF(n.ownerDocument.documentElement,n)){if(r!==null&&J_(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var a=n.textContent.length,i=Math.min(r.start,a);r=r.end===void 0?i:Math.min(r.end,a),!e.extend&&i>r&&(a=r,r=i,i=a),a=eT(n,i);var s=eT(n,r);a&&s&&(e.rangeCount!==1||e.anchorNode!==a.node||e.anchorOffset!==a.offset||e.focusNode!==s.node||e.focusOffset!==s.offset)&&(t=t.createRange(),t.setStart(a.node,a.offset),e.removeAllRanges(),i>r?(e.addRange(t),e.extend(s.node,s.offset)):(t.setEnd(s.node,s.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n<t.length;n++)e=t[n],e.element.scrollLeft=e.left,e.element.scrollTop=e.top}}o(Vee,"Oe$1");var Gee=ds&&"documentMode"in document&&11>=document.documentMode,Iu=null,dj=null,Cm=null,fj=!1;function tT(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;fj||Iu==null||Iu!==Vy(r)||(r=Iu,"selectionStart"in r&&J_(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}),Cm&&Zm(Cm,r)||(Cm=r,r=Zy(dj,"onSelect"),0<r.length&&(t=new V_("onSelect","select",null,t,n),e.push({event:t,listeners:r}),t.target=Iu)))}o(tT,"Ue$2");function iv(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}o(iv,"Ve$3");var Lu={animationend:iv("Animation","AnimationEnd"),animationiteration:iv("Animation","AnimationIteration"),animationstart:iv("Animation","AnimationStart"),transitionend:iv("Transition","TransitionEnd")},r2={},aF={};ds&&(aF=document.createElement("div").style,"AnimationEvent"in window||(delete Lu.animationend.animation,delete Lu.animationiteration.animation,delete Lu.animationstart.animation),"TransitionEvent"in window||delete Lu.transitionend.transition);function J0(e){if(r2[e])return r2[e];if(!Lu[e])return e;var t=Lu[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in aF)return r2[e]=t[n];return e}o(J0,"Ze$2");var oF=J0("animationend"),iF=J0("animationiteration"),sF=J0("animationstart"),cF=J0("transitionend"),lF=new Map,nT="abort auxClick 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(" ");function wc(e,t){lF.set(e,t),Wl(t,[e])}o(wc,"ff$1");for(var a2=0;a2<nT.length;a2++){var o2=nT[a2],Kee=o2.toLowerCase(),Jee=o2[0].toUpperCase()+o2.slice(1);wc(Kee,"on"+Jee)}wc(oF,"onAnimationEnd");wc(iF,"onAnimationIteration");wc(sF,"onAnimationStart");wc("dblclick","onDoubleClick");wc("focusin","onFocus");wc("focusout","onBlur");wc(cF,"onTransitionEnd");Xd("onMouseEnter",["mouseout","mouseover"]);Xd("onMouseLeave",["mouseout","mouseover"]);Xd("onPointerEnter",["pointerout","pointerover"]);Xd("onPointerLeave",["pointerout","pointerover"]);Wl("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));Wl("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));Wl("onBeforeInput",["compositionend","keypress","textInput","paste"]);Wl("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));Wl("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));Wl("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var um="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(" "),Yee=new Set("cancel close invalid load scroll toggle".split(" ").concat(um));function rT(e,t,n){var r=e.type||"unknown-event";e.currentTarget=n,KZ(r,t,void 0,e),e.currentTarget=null}o(rT,"nf$1");function uF(e,t){t=(t&4)!==0;for(var n=0;n<e.length;n++){var r=e[n],a=r.event;r=r.listeners;e:{var i=void 0;if(t)for(var s=r.length-1;0<=s;s--){var c=r[s],l=c.instance,u=c.currentTarget;if(c=c.listener,l!==i&&a.isPropagationStopped())break e;rT(a,c,u),i=l}else for(s=0;s<r.length;s++){if(c=r[s],l=c.instance,u=c.currentTarget,c=c.listener,l!==i&&a.isPropagationStopped())break e;rT(a,c,u),i=l}}}if(Ky)throw e=sj,Ky=!1,sj=null,e}o(uF,"se$3");function vn(e,t){var n=t[vj];n===void 0&&(n=t[vj]=new Set);var r=e+"__bubble";n.has(r)||(dF(t,e,2,!1),n.add(r))}o(vn,"D$2");function i2(e,t,n){var r=0;t&&(r|=4),dF(n,e,r,t)}o(i2,"qf$1");var sv="_reactListening"+Math.random().toString(36).slice(2);function eh(e){if(!e[sv]){e[sv]=!0,yN.forEach(function(n){n!=="selectionchange"&&(Yee.has(n)||i2(n,!1,e),i2(n,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[sv]||(t[sv]=!0,i2("selectionchange",!1,t))}}o(eh,"sf$1");function dF(e,t,n,r){switch(KN(t)){case 1:var a=uee;break;case 4:a=dee;break;default:a=H_}n=a.bind(null,t,n,e),a=void 0,!ij||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(a=!0),r?a!==void 0?e.addEventListener(t,n,{capture:!0,passive:a}):e.addEventListener(t,n,!0):a!==void 0?e.addEventListener(t,n,{passive:a}):e.addEventListener(t,n,!1)}o(dF,"pf$1");function s2(e,t,n,r,a){var i=r;if(!(t&1)&&!(t&2)&&r!==null)e:for(;;){if(r===null)return;var s=r.tag;if(s===3||s===4){var c=r.stateNode.containerInfo;if(c===a||c.nodeType===8&&c.parentNode===a)break;if(s===4)for(s=r.return;s!==null;){var l=s.tag;if((l===3||l===4)&&(l=s.stateNode.containerInfo,l===a||l.nodeType===8&&l.parentNode===a))return;s=s.return}for(;c!==null;){if(s=Vc(c),s===null)return;if(l=s.tag,l===5||l===6){r=i=s;continue e}c=c.parentNode}}r=r.return}ON(function(){var u=i,d=F_(n),p=[];e:{var m=lF.get(e);if(m!==void 0){var v=V_,h=e;switch(e){case"keypress":if(Qv(n)===0)break e;case"keydown":case"keyup":v=_ee;break;case"focusin":h="focus",v=e2;break;case"focusout":h="blur",v=e2;break;case"beforeblur":case"afterblur":v=e2;break;case"click":if(n.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":v=qM;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":v=mee;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":v=Ree;break;case oF:case iF:case sF:v=vee;break;case cF:v=Pee;break;case"scroll":v=fee;break;case"wheel":v=Tee;break;case"copy":case"cut":case"paste":v=bee;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":v=GM}var y=(t&4)!==0,C=!y&&e==="scroll",w=y?m!==null?m+"Capture":null:m;y=[];for(var x=u,b;x!==null;){b=x;var S=b.stateNode;if(b.tag===5&&S!==null&&(b=S,w!==null&&(S=Km(x,w),S!=null&&y.push(th(x,S,b)))),C)break;x=x.return}0<y.length&&(m=new v(m,h,null,n,d),p.push({event:m,listeners:y}))}}if(!(t&7)){e:{if(m=e==="mouseover"||e==="pointerover",v=e==="mouseout"||e==="pointerout",m&&n!==aj&&(h=n.relatedTarget||n.fromElement)&&(Vc(h)||h[fs]))break e;if((v||m)&&(m=d.window===d?d:(m=d.ownerDocument)?m.defaultView||m.parentWindow:window,v?(h=n.relatedTarget||n.toElement,v=u,h=h?Vc(h):null,h!==null&&(C=Ul(h),h!==C||h.tag!==5&&h.tag!==6)&&(h=null)):(v=null,h=u),v!==h)){if(y=qM,S="onMouseLeave",w="onMouseEnter",x="mouse",(e==="pointerout"||e==="pointerover")&&(y=GM,S="onPointerLeave",w="onPointerEnter",x="pointer"),C=v==null?m:Du(v),b=h==null?m:Du(h),m=new y(S,x+"leave",v,n,d),m.target=C,m.relatedTarget=b,S=null,Vc(d)===u&&(y=new y(w,x+"enter",h,n,d),y.target=b,y.relatedTarget=C,S=y),C=S,v&&h)t:{for(y=v,w=h,x=0,b=y;b;b=iu(b))x++;for(b=0,S=w;S;S=iu(S))b++;for(;0<x-b;)y=iu(y),x--;for(;0<b-x;)w=iu(w),b--;for(;x--;){if(y===w||w!==null&&y===w.alternate)break t;y=iu(y),w=iu(w)}y=null}else y=null;v!==null&&aT(p,m,v,y,!1),h!==null&&C!==null&&aT(p,C,h,y,!0)}}e:{if(m=u?Du(u):window,v=m.nodeName&&m.nodeName.toLowerCase(),v==="select"||v==="input"&&m.type==="file")var $=Fee;else if(YM(m))if(eF)$=Hee;else{$=Wee;var j=Bee}else(v=m.nodeName)&&v.toLowerCase()==="input"&&(m.type==="checkbox"||m.type==="radio")&&($=Uee);if($&&($=$(e,u))){ZN(p,$,n,d);break e}j&&j(e,m,u),e==="focusout"&&(j=m._wrapperState)&&j.controlled&&m.type==="number"&&ZS(m,"number",m.value)}switch(j=u?Du(u):window,e){case"focusin":(YM(j)||j.contentEditable==="true")&&(Iu=j,dj=u,Cm=null);break;case"focusout":Cm=dj=Iu=null;break;case"mousedown":fj=!0;break;case"contextmenu":case"mouseup":case"dragend":fj=!1,tT(p,n,d);break;case"selectionchange":if(Gee)break;case"keydown":case"keyup":tT(p,n,d)}var _;if(K_)e:{switch(e){case"compositionstart":var k="onCompositionStart";break e;case"compositionend":k="onCompositionEnd";break e;case"compositionupdate":k="onCompositionUpdate";break e}k=void 0}else zu?QN(e,n)&&(k="onCompositionEnd"):e==="keydown"&&n.keyCode===229&&(k="onCompositionStart");k&&(YN&&n.locale!=="ko"&&(zu||k!=="onCompositionStart"?k==="onCompositionEnd"&&zu&&(_=JN()):(Ys=d,q_="value"in Ys?Ys.value:Ys.textContent,zu=!0)),j=Zy(u,k),0<j.length&&(k=new VM(k,e,null,n,d),p.push({event:k,listeners:j}),_?k.data=_:(_=XN(n),_!==null&&(k.data=_)))),(_=zee?Iee(e,n):Lee(e,n))&&(u=Zy(u,"onBeforeInput"),0<u.length&&(d=new VM("onBeforeInput","beforeinput",null,n,d),p.push({event:d,listeners:u}),d.data=_))}uF(p,t)})}o(s2,"hd$1");function th(e,t,n){return{instance:e,listener:t,currentTarget:n}}o(th,"tf$1");function Zy(e,t){for(var n=t+"Capture",r=[];e!==null;){var a=e,i=a.stateNode;a.tag===5&&i!==null&&(a=i,i=Km(e,n),i!=null&&r.unshift(th(e,i,a)),i=Km(e,t),i!=null&&r.push(th(e,i,a))),e=e.return}return r}o(Zy,"oe$2");function iu(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5);return e||null}o(iu,"vf$1");function aT(e,t,n,r,a){for(var i=t._reactName,s=[];n!==null&&n!==r;){var c=n,l=c.alternate,u=c.stateNode;if(l!==null&&l===r)break;c.tag===5&&u!==null&&(c=u,a?(l=Km(n,i),l!=null&&s.unshift(th(n,l,c))):a||(l=Km(n,i),l!=null&&s.push(th(n,l,c)))),n=n.return}s.length!==0&&e.push({event:t,listeners:s})}o(aT,"wf$1");var Qee=/\r\n?/g,Xee=/\u0000|\uFFFD/g;function oT(e){return(typeof e=="string"?e:""+e).replace(Qee,` +`).replace(Xee,"")}o(oT,"zf$1");function cv(e,t,n){if(t=oT(t),oT(e)!==t&&n)throw Error(Te(425))}o(cv,"Af$1");function eb(){}o(eb,"Bf$1");var pj=null,mj=null;function hj(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}o(hj,"Ef$1");var gj=typeof setTimeout=="function"?setTimeout:void 0,Zee=typeof clearTimeout=="function"?clearTimeout:void 0,iT=typeof Promise=="function"?Promise:void 0,ete=typeof queueMicrotask=="function"?queueMicrotask:typeof iT<"u"?function(e){return iT.resolve(null).then(e).catch(tte)}:gj;function tte(e){setTimeout(function(){throw e})}o(tte,"If$1");function c2(e,t){var n=t,r=0;do{var a=n.nextSibling;if(e.removeChild(n),a&&a.nodeType===8)if(n=a.data,n==="/$"){if(r===0){e.removeChild(a),Qm(t);return}r--}else n!=="$"&&n!=="$?"&&n!=="$!"||r++;n=a}while(n);Qm(t)}o(c2,"Kf$1");function ic(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==="$?")break;if(t==="/$")return null}}return e}o(ic,"Lf$1");function sT(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="$"||n==="$!"||n==="$?"){if(t===0)return e;t--}else n==="/$"&&t++}e=e.previousSibling}return null}o(sT,"Mf$1");var Df=Math.random().toString(36).slice(2),hi="__reactFiber$"+Df,nh="__reactProps$"+Df,fs="__reactContainer$"+Df,vj="__reactEvents$"+Df,nte="__reactListeners$"+Df,rte="__reactHandles$"+Df;function Vc(e){var t=e[hi];if(t)return t;for(var n=e.parentNode;n;){if(t=n[fs]||n[hi]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=sT(e);e!==null;){if(n=e[hi])return n;e=sT(e)}return t}e=n,n=e.parentNode}return null}o(Vc,"Wc$1");function eg(e){return e=e[hi]||e[fs],!e||e.tag!==5&&e.tag!==6&&e.tag!==13&&e.tag!==3?null:e}o(eg,"Cb");function Du(e){if(e.tag===5||e.tag===6)return e.stateNode;throw Error(Te(33))}o(Du,"ue$3");function Y0(e){return e[nh]||null}o(Y0,"Db");var yj=[],Nu=-1;function Cc(e){return{current:e}}o(Cc,"Uf$1");function wn(e){0>Nu||(e.current=yj[Nu],yj[Nu]=null,Nu--)}o(wn,"E$4");function hn(e,t){Nu++,yj[Nu]=e.current,e.current=t}o(hn,"G$1");var hc={},Nr=Cc(hc),ma=Cc(!1),Sl=hc;function Zd(e,t){var n=e.type.contextTypes;if(!n)return hc;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var a={},i;for(i in n)a[i]=t[i];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=a),a}o(Zd,"Yf$1");function ha(e){return e=e.childContextTypes,e!=null}o(ha,"Zf$1");function tb(){wn(ma),wn(Nr)}o(tb,"$f$1");function cT(e,t,n){if(Nr.current!==hc)throw Error(Te(168));hn(Nr,t),hn(ma,n)}o(cT,"ag");function fF(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var a in r)if(!(a in t))throw Error(Te(108,BZ(e)||"Unknown",a));return Rn({},n,r)}o(fF,"bg");function nb(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||hc,Sl=Nr.current,hn(Nr,e),hn(ma,ma.current),!0}o(nb,"cg");function lT(e,t,n){var r=e.stateNode;if(!r)throw Error(Te(169));n?(e=fF(e,t,Sl),r.__reactInternalMemoizedMergedChildContext=e,wn(ma),wn(Nr),hn(Nr,e)):wn(ma),hn(ma,n)}o(lT,"dg");var Xi=null,Q0=!1,l2=!1;function pF(e){Xi===null?Xi=[e]:Xi.push(e)}o(pF,"hg");function ate(e){Q0=!0,pF(e)}o(ate,"ig");function Sc(){if(!l2&&Xi!==null){l2=!0;var e=0,t=tn;try{var n=Xi;for(tn=1;e<n.length;e++){var r=n[e];do r=r(!0);while(r!==null)}Xi=null,Q0=!1}catch(a){throw Xi!==null&&(Xi=Xi.slice(e+1)),DN(B_,Sc),a}finally{tn=t,l2=!1}}return null}o(Sc,"jg");var Fu=[],Bu=0,rb=null,ab=0,no=[],ro=0,jl=null,ns=1,rs="";function Lc(e,t){Fu[Bu++]=ab,Fu[Bu++]=rb,rb=e,ab=t}o(Lc,"tg");function mF(e,t,n){no[ro++]=ns,no[ro++]=rs,no[ro++]=jl,jl=e;var r=ns;e=rs;var a=32-Lo(r)-1;r&=~(1<<a),n+=1;var i=32-Lo(t)+a;if(30<i){var s=a-a%5;i=(r&(1<<s)-1).toString(32),r>>=s,a-=s,ns=1<<32-Lo(t)+a|n<<a|r,rs=i+e}else ns=1<<i|n<<a|r,rs=e}o(mF,"ug");function Y_(e){e.return!==null&&(Lc(e,1),mF(e,1,0))}o(Y_,"vg");function Q_(e){for(;e===rb;)rb=Fu[--Bu],Fu[Bu]=null,ab=Fu[--Bu],Fu[Bu]=null;for(;e===jl;)jl=no[--ro],no[ro]=null,rs=no[--ro],no[ro]=null,ns=no[--ro],no[ro]=null}o(Q_,"wg");var za=null,Ma=null,$n=!1,Po=null;function hF(e,t){var n=co(5,null,null,0);n.elementType="DELETED",n.stateNode=t,n.return=e,t=e.deletions,t===null?(e.deletions=[n],e.flags|=16):t.push(n)}o(hF,"Ag");function uT(e,t){switch(e.tag){case 5:var n=e.type;return t=t.nodeType!==1||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t,t!==null?(e.stateNode=t,za=e,Ma=ic(t.firstChild),!0):!1;case 6:return t=e.pendingProps===""||t.nodeType!==3?null:t,t!==null?(e.stateNode=t,za=e,Ma=null,!0):!1;case 13:return t=t.nodeType!==8?null:t,t!==null?(n=jl!==null?{id:ns,overflow:rs}:null,e.memoizedState={dehydrated:t,treeContext:n,retryLane:1073741824},n=co(18,null,null,0),n.stateNode=t,n.return=e,e.child=n,za=e,Ma=null,!0):!1;default:return!1}}o(uT,"Cg");function bj(e){return(e.mode&1)!==0&&(e.flags&128)===0}o(bj,"Dg");function xj(e){if($n){var t=Ma;if(t){var n=t;if(!uT(e,t)){if(bj(e))throw Error(Te(418));t=ic(n.nextSibling);var r=za;t&&uT(e,t)?hF(r,n):(e.flags=e.flags&-4097|2,$n=!1,za=e)}}else{if(bj(e))throw Error(Te(418));e.flags=e.flags&-4097|2,$n=!1,za=e}}}o(xj,"Eg");function dT(e){for(e=e.return;e!==null&&e.tag!==5&&e.tag!==3&&e.tag!==13;)e=e.return;za=e}o(dT,"Fg");function lv(e){if(e!==za)return!1;if(!$n)return dT(e),$n=!0,!1;var t;if((t=e.tag!==3)&&!(t=e.tag!==5)&&(t=e.type,t=t!=="head"&&t!=="body"&&!hj(e.type,e.memoizedProps)),t&&(t=Ma)){if(bj(e))throw gF(),Error(Te(418));for(;t;)hF(e,t),t=ic(t.nextSibling)}if(dT(e),e.tag===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(Te(317));e:{for(e=e.nextSibling,t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="/$"){if(t===0){Ma=ic(e.nextSibling);break e}t--}else n!=="$"&&n!=="$!"&&n!=="$?"||t++}e=e.nextSibling}Ma=null}}else Ma=za?ic(e.stateNode.nextSibling):null;return!0}o(lv,"Gg");function gF(){for(var e=Ma;e;)e=ic(e.nextSibling)}o(gF,"Hg");function ef(){Ma=za=null,$n=!1}o(ef,"Ig");function X_(e){Po===null?Po=[e]:Po.push(e)}o(X_,"Jg");var ote=ws.ReactCurrentBatchConfig;function Mp(e,t,n){if(e=n.ref,e!==null&&typeof e!="function"&&typeof e!="object"){if(n._owner){if(n=n._owner,n){if(n.tag!==1)throw Error(Te(309));var r=n.stateNode}if(!r)throw Error(Te(147,e));var a=r,i=""+e;return t!==null&&t.ref!==null&&typeof t.ref=="function"&&t.ref._stringRef===i?t.ref:(t=o(function(s){var c=a.refs;s===null?delete c[i]:c[i]=s},"b"),t._stringRef=i,t)}if(typeof e!="string")throw Error(Te(284));if(!n._owner)throw Error(Te(290,e))}return e}o(Mp,"Lg");function uv(e,t){throw e=Object.prototype.toString.call(t),Error(Te(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e))}o(uv,"Mg");function fT(e){var t=e._init;return t(e._payload)}o(fT,"Ng");function vF(e){function t(w,x){if(e){var b=w.deletions;b===null?(w.deletions=[x],w.flags|=16):b.push(x)}}o(t,"b");function n(w,x){if(!e)return null;for(;x!==null;)t(w,x),x=x.sibling;return null}o(n,"c");function r(w,x){for(w=new Map;x!==null;)x.key!==null?w.set(x.key,x):w.set(x.index,x),x=x.sibling;return w}o(r,"d");function a(w,x){return w=uc(w,x),w.index=0,w.sibling=null,w}o(a,"e");function i(w,x,b){return w.index=b,e?(b=w.alternate,b!==null?(b=b.index,b<x?(w.flags|=2,x):b):(w.flags|=2,x)):(w.flags|=1048576,x)}o(i,"f");function s(w){return e&&w.alternate===null&&(w.flags|=2),w}o(s,"g");function c(w,x,b,S){return x===null||x.tag!==6?(x=g2(b,w.mode,S),x.return=w,x):(x=a(x,b),x.return=w,x)}o(c,"h");function l(w,x,b,S){var $=b.type;return $===Ou?d(w,x,b.props.children,S,b.key):x!==null&&(x.elementType===$||typeof $=="object"&&$!==null&&$.$$typeof===Is&&fT($)===x.type)?(S=a(x,b.props),S.ref=Mp(w,x,b),S.return=w,S):(S=ay(b.type,b.key,b.props,null,w.mode,S),S.ref=Mp(w,x,b),S.return=w,S)}o(l,"k");function u(w,x,b,S){return x===null||x.tag!==4||x.stateNode.containerInfo!==b.containerInfo||x.stateNode.implementation!==b.implementation?(x=v2(b,w.mode,S),x.return=w,x):(x=a(x,b.children||[]),x.return=w,x)}o(u,"l");function d(w,x,b,S,$){return x===null||x.tag!==7?(x=hl(b,w.mode,S,$),x.return=w,x):(x=a(x,b),x.return=w,x)}o(d,"m");function p(w,x,b){if(typeof x=="string"&&x!==""||typeof x=="number")return x=g2(""+x,w.mode,b),x.return=w,x;if(typeof x=="object"&&x!==null){switch(x.$$typeof){case Zg:return b=ay(x.type,x.key,x.props,null,w.mode,b),b.ref=Mp(w,null,x),b.return=w,b;case Tu:return x=v2(x,w.mode,b),x.return=w,x;case Is:var S=x._init;return p(w,S(x._payload),b)}if(cm(x)||kp(x))return x=hl(x,w.mode,b,null),x.return=w,x;uv(w,x)}return null}o(p,"q");function m(w,x,b,S){var $=x!==null?x.key:null;if(typeof b=="string"&&b!==""||typeof b=="number")return $!==null?null:c(w,x,""+b,S);if(typeof b=="object"&&b!==null){switch(b.$$typeof){case Zg:return b.key===$?l(w,x,b,S):null;case Tu:return b.key===$?u(w,x,b,S):null;case Is:return $=b._init,m(w,x,$(b._payload),S)}if(cm(b)||kp(b))return $!==null?null:d(w,x,b,S,null);uv(w,b)}return null}o(m,"r");function v(w,x,b,S,$){if(typeof S=="string"&&S!==""||typeof S=="number")return w=w.get(b)||null,c(x,w,""+S,$);if(typeof S=="object"&&S!==null){switch(S.$$typeof){case Zg:return w=w.get(S.key===null?b:S.key)||null,l(x,w,S,$);case Tu:return w=w.get(S.key===null?b:S.key)||null,u(x,w,S,$);case Is:var j=S._init;return v(w,x,b,j(S._payload),$)}if(cm(S)||kp(S))return w=w.get(b)||null,d(x,w,S,$,null);uv(x,S)}return null}o(v,"y");function h(w,x,b,S){for(var $=null,j=null,_=x,k=x=0,E=null;_!==null&&k<b.length;k++){_.index>k?(E=_,_=null):E=_.sibling;var A=m(w,_,b[k],S);if(A===null){_===null&&(_=E);break}e&&_&&A.alternate===null&&t(w,_),x=i(A,x,k),j===null?$=A:j.sibling=A,j=A,_=E}if(k===b.length)return n(w,_),$n&&Lc(w,k),$;if(_===null){for(;k<b.length;k++)_=p(w,b[k],S),_!==null&&(x=i(_,x,k),j===null?$=_:j.sibling=_,j=_);return $n&&Lc(w,k),$}for(_=r(w,_);k<b.length;k++)E=v(_,w,k,b[k],S),E!==null&&(e&&E.alternate!==null&&_.delete(E.key===null?k:E.key),x=i(E,x,k),j===null?$=E:j.sibling=E,j=E);return e&&_.forEach(function(P){return t(w,P)}),$n&&Lc(w,k),$}o(h,"n");function y(w,x,b,S){var $=kp(b);if(typeof $!="function")throw Error(Te(150));if(b=$.call(b),b==null)throw Error(Te(151));for(var j=$=null,_=x,k=x=0,E=null,A=b.next();_!==null&&!A.done;k++,A=b.next()){_.index>k?(E=_,_=null):E=_.sibling;var P=m(w,_,A.value,S);if(P===null){_===null&&(_=E);break}e&&_&&P.alternate===null&&t(w,_),x=i(P,x,k),j===null?$=P:j.sibling=P,j=P,_=E}if(A.done)return n(w,_),$n&&Lc(w,k),$;if(_===null){for(;!A.done;k++,A=b.next())A=p(w,A.value,S),A!==null&&(x=i(A,x,k),j===null?$=A:j.sibling=A,j=A);return $n&&Lc(w,k),$}for(_=r(w,_);!A.done;k++,A=b.next())A=v(_,w,k,A.value,S),A!==null&&(e&&A.alternate!==null&&_.delete(A.key===null?k:A.key),x=i(A,x,k),j===null?$=A:j.sibling=A,j=A);return e&&_.forEach(function(M){return t(w,M)}),$n&&Lc(w,k),$}o(y,"t");function C(w,x,b,S){if(typeof b=="object"&&b!==null&&b.type===Ou&&b.key===null&&(b=b.props.children),typeof b=="object"&&b!==null){switch(b.$$typeof){case Zg:e:{for(var $=b.key,j=x;j!==null;){if(j.key===$){if($=b.type,$===Ou){if(j.tag===7){n(w,j.sibling),x=a(j,b.props.children),x.return=w,w=x;break e}}else if(j.elementType===$||typeof $=="object"&&$!==null&&$.$$typeof===Is&&fT($)===j.type){n(w,j.sibling),x=a(j,b.props),x.ref=Mp(w,j,b),x.return=w,w=x;break e}n(w,j);break}else t(w,j);j=j.sibling}b.type===Ou?(x=hl(b.props.children,w.mode,S,b.key),x.return=w,w=x):(S=ay(b.type,b.key,b.props,null,w.mode,S),S.ref=Mp(w,x,b),S.return=w,w=S)}return s(w);case Tu:e:{for(j=b.key;x!==null;){if(x.key===j)if(x.tag===4&&x.stateNode.containerInfo===b.containerInfo&&x.stateNode.implementation===b.implementation){n(w,x.sibling),x=a(x,b.children||[]),x.return=w,w=x;break e}else{n(w,x);break}else t(w,x);x=x.sibling}x=v2(b,w.mode,S),x.return=w,w=x}return s(w);case Is:return j=b._init,C(w,x,j(b._payload),S)}if(cm(b))return h(w,x,b,S);if(kp(b))return y(w,x,b,S);uv(w,b)}return typeof b=="string"&&b!==""||typeof b=="number"?(b=""+b,x!==null&&x.tag===6?(n(w,x.sibling),x=a(x,b),x.return=w,w=x):(n(w,x),x=g2(b,w.mode,S),x.return=w,w=x),s(w)):n(w,x)}return o(C,"J"),C}o(vF,"Og");var tf=vF(!0),yF=vF(!1),ob=Cc(null),ib=null,Wu=null,Z_=null;function ek(){Z_=Wu=ib=null}o(ek,"$g");function tk(e){var t=ob.current;wn(ob),e._currentValue=t}o(tk,"ah");function wj(e,t,n){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===n)break;e=e.return}}o(wj,"bh");function rd(e,t){ib=e,Z_=Wu=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(fa=!0),e.firstContext=null)}o(rd,"ch");function mo(e){var t=e._currentValue;if(Z_!==e)if(e={context:e,memoizedValue:t,next:null},Wu===null){if(ib===null)throw Error(Te(308));Wu=e,ib.dependencies={lanes:0,firstContext:e}}else Wu=Wu.next=e;return t}o(mo,"eh");var Gc=null;function nk(e){Gc===null?Gc=[e]:Gc.push(e)}o(nk,"gh");function bF(e,t,n,r){var a=t.interleaved;return a===null?(n.next=n,nk(t)):(n.next=a.next,a.next=n),t.interleaved=n,ps(e,r)}o(bF,"hh");function ps(e,t){e.lanes|=t;var n=e.alternate;for(n!==null&&(n.lanes|=t),n=e,e=e.return;e!==null;)e.childLanes|=t,n=e.alternate,n!==null&&(n.childLanes|=t),n=e,e=e.return;return n.tag===3?n.stateNode:null}o(ps,"ih");var Ls=!1;function rk(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}o(rk,"kh");function xF(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}o(xF,"lh");function is(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}o(is,"mh");function sc(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,Ut&2){var a=r.pending;return a===null?t.next=t:(t.next=a.next,a.next=t),r.pending=t,ps(e,n)}return a=r.interleaved,a===null?(t.next=t,nk(r)):(t.next=a.next,a.next=t),r.interleaved=t,ps(e,n)}o(sc,"nh");function Xv(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194240)!==0)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,W_(e,n)}}o(Xv,"oh");function pT(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var a=null,i=null;if(n=n.firstBaseUpdate,n!==null){do{var s={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};i===null?a=i=s:i=i.next=s,n=n.next}while(n!==null);i===null?a=i=t:i=i.next=t}else a=i=t;n={baseState:r.baseState,firstBaseUpdate:a,lastBaseUpdate:i,shared:r.shared,effects:r.effects},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}o(pT,"ph");function sb(e,t,n,r){var a=e.updateQueue;Ls=!1;var i=a.firstBaseUpdate,s=a.lastBaseUpdate,c=a.shared.pending;if(c!==null){a.shared.pending=null;var l=c,u=l.next;l.next=null,s===null?i=u:s.next=u,s=l;var d=e.alternate;d!==null&&(d=d.updateQueue,c=d.lastBaseUpdate,c!==s&&(c===null?d.firstBaseUpdate=u:c.next=u,d.lastBaseUpdate=l))}if(i!==null){var p=a.baseState;s=0,d=u=l=null,c=i;do{var m=c.lane,v=c.eventTime;if((r&m)===m){d!==null&&(d=d.next={eventTime:v,lane:0,tag:c.tag,payload:c.payload,callback:c.callback,next:null});e:{var h=e,y=c;switch(m=t,v=n,y.tag){case 1:if(h=y.payload,typeof h=="function"){p=h.call(v,p,m);break e}p=h;break e;case 3:h.flags=h.flags&-65537|128;case 0:if(h=y.payload,m=typeof h=="function"?h.call(v,p,m):h,m==null)break e;p=Rn({},p,m);break e;case 2:Ls=!0}}c.callback!==null&&c.lane!==0&&(e.flags|=64,m=a.effects,m===null?a.effects=[c]:m.push(c))}else v={eventTime:v,lane:m,tag:c.tag,payload:c.payload,callback:c.callback,next:null},d===null?(u=d=v,l=p):d=d.next=v,s|=m;if(c=c.next,c===null){if(c=a.shared.pending,c===null)break;m=c,c=m.next,m.next=null,a.lastBaseUpdate=m,a.shared.pending=null}}while(!0);if(d===null&&(l=p),a.baseState=l,a.firstBaseUpdate=u,a.lastBaseUpdate=d,t=a.shared.interleaved,t!==null){a=t;do s|=a.lane,a=a.next;while(a!==t)}else i===null&&(a.shared.lanes=0);_l|=s,e.lanes=s,e.memoizedState=p}}o(sb,"qh");function mT(e,t,n){if(e=t.effects,t.effects=null,e!==null)for(t=0;t<e.length;t++){var r=e[t],a=r.callback;if(a!==null){if(r.callback=null,r=n,typeof a!="function")throw Error(Te(191,a));a.call(r)}}}o(mT,"sh");var tg={},Si=Cc(tg),rh=Cc(tg),ah=Cc(tg);function Kc(e){if(e===tg)throw Error(Te(174));return e}o(Kc,"xh");function ak(e,t){switch(hn(ah,t),hn(rh,e),hn(Si,tg),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:tj(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=tj(t,e)}wn(Si),hn(Si,t)}o(ak,"yh");function nf(){wn(Si),wn(rh),wn(ah)}o(nf,"zh");function wF(e){Kc(ah.current);var t=Kc(Si.current),n=tj(t,e.type);t!==n&&(hn(rh,e),hn(Si,n))}o(wF,"Ah");function ok(e){rh.current===e&&(wn(Si),wn(rh))}o(ok,"Bh");var _n=Cc(0);function cb(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)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}o(cb,"Ch");var u2=[];function ik(){for(var e=0;e<u2.length;e++)u2[e]._workInProgressVersionPrimary=null;u2.length=0}o(ik,"Eh");var Zv=ws.ReactCurrentDispatcher,d2=ws.ReactCurrentBatchConfig,$l=0,En=null,ir=null,hr=null,lb=!1,Sm=!1,oh=0,ite=0;function Pr(){throw Error(Te(321))}o(Pr,"P$4");function sk(e,t){if(t===null)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!No(e[n],t[n]))return!1;return!0}o(sk,"Mh");function ck(e,t,n,r,a,i){if($l=i,En=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,Zv.current=e===null||e.memoizedState===null?ute:dte,e=n(r,a),Sm){i=0;do{if(Sm=!1,oh=0,25<=i)throw Error(Te(301));i+=1,hr=ir=null,t.updateQueue=null,Zv.current=fte,e=n(r,a)}while(Sm)}if(Zv.current=ub,t=ir!==null&&ir.next!==null,$l=0,hr=ir=En=null,lb=!1,t)throw Error(Te(300));return e}o(ck,"Nh");function lk(){var e=oh!==0;return oh=0,e}o(lk,"Sh");function ti(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return hr===null?En.memoizedState=hr=e:hr=hr.next=e,hr}o(ti,"Th");function ho(){if(ir===null){var e=En.alternate;e=e!==null?e.memoizedState:null}else e=ir.next;var t=hr===null?En.memoizedState:hr.next;if(t!==null)hr=t,ir=e;else{if(e===null)throw Error(Te(310));ir=e,e={memoizedState:ir.memoizedState,baseState:ir.baseState,baseQueue:ir.baseQueue,queue:ir.queue,next:null},hr===null?En.memoizedState=hr=e:hr=hr.next=e}return hr}o(ho,"Uh");function ih(e,t){return typeof t=="function"?t(e):t}o(ih,"Vh");function f2(e){var t=ho(),n=t.queue;if(n===null)throw Error(Te(311));n.lastRenderedReducer=e;var r=ir,a=r.baseQueue,i=n.pending;if(i!==null){if(a!==null){var s=a.next;a.next=i.next,i.next=s}r.baseQueue=a=i,n.pending=null}if(a!==null){i=a.next,r=r.baseState;var c=s=null,l=null,u=i;do{var d=u.lane;if(($l&d)===d)l!==null&&(l=l.next={lane:0,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null}),r=u.hasEagerState?u.eagerState:e(r,u.action);else{var p={lane:d,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null};l===null?(c=l=p,s=r):l=l.next=p,En.lanes|=d,_l|=d}u=u.next}while(u!==null&&u!==i);l===null?s=r:l.next=c,No(r,t.memoizedState)||(fa=!0),t.memoizedState=r,t.baseState=s,t.baseQueue=l,n.lastRenderedState=r}if(e=n.interleaved,e!==null){a=e;do i=a.lane,En.lanes|=i,_l|=i,a=a.next;while(a!==e)}else a===null&&(n.lanes=0);return[t.memoizedState,n.dispatch]}o(f2,"Wh");function p2(e){var t=ho(),n=t.queue;if(n===null)throw Error(Te(311));n.lastRenderedReducer=e;var r=n.dispatch,a=n.pending,i=t.memoizedState;if(a!==null){n.pending=null;var s=a=a.next;do i=e(i,s.action),s=s.next;while(s!==a);No(i,t.memoizedState)||(fa=!0),t.memoizedState=i,t.baseQueue===null&&(t.baseState=i),n.lastRenderedState=i}return[i,r]}o(p2,"Xh");function CF(){}o(CF,"Yh");function SF(e,t){var n=En,r=ho(),a=t(),i=!No(r.memoizedState,a);if(i&&(r.memoizedState=a,fa=!0),r=r.queue,uk(_F.bind(null,n,r,e),[e]),r.getSnapshot!==t||i||hr!==null&&hr.memoizedState.tag&1){if(n.flags|=2048,sh(9,$F.bind(null,n,r,a,t),void 0,null),gr===null)throw Error(Te(349));$l&30||jF(n,t,a)}return a}o(SF,"Zh");function jF(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=En.updateQueue,t===null?(t={lastEffect:null,stores:null},En.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}o(jF,"di$1");function $F(e,t,n,r){t.value=n,t.getSnapshot=r,kF(t)&&EF(e)}o($F,"ci$1");function _F(e,t,n){return n(function(){kF(t)&&EF(e)})}o(_F,"ai$2");function kF(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!No(e,n)}catch{return!0}}o(kF,"ei$1");function EF(e){var t=ps(e,1);t!==null&&Do(t,e,1,-1)}o(EF,"fi$2");function hT(e){var t=ti();return typeof e=="function"&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:ih,lastRenderedState:e},t.queue=e,e=e.dispatch=lte.bind(null,En,e),[t.memoizedState,e]}o(hT,"hi$2");function sh(e,t,n,r){return e={tag:e,create:t,destroy:n,deps:r,next:null},t=En.updateQueue,t===null?(t={lastEffect:null,stores:null},En.updateQueue=t,t.lastEffect=e.next=e):(n=t.lastEffect,n===null?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e)),e}o(sh,"bi$1");function RF(){return ho().memoizedState}o(RF,"ji$2");function ey(e,t,n,r){var a=ti();En.flags|=e,a.memoizedState=sh(1|t,n,void 0,r===void 0?null:r)}o(ey,"ki$2");function X0(e,t,n,r){var a=ho();r=r===void 0?null:r;var i=void 0;if(ir!==null){var s=ir.memoizedState;if(i=s.destroy,r!==null&&sk(r,s.deps)){a.memoizedState=sh(t,n,i,r);return}}En.flags|=e,a.memoizedState=sh(1|t,n,i,r)}o(X0,"li$1");function gT(e,t){return ey(8390656,8,e,t)}o(gT,"mi$1");function uk(e,t){return X0(2048,8,e,t)}o(uk,"$h");function AF(e,t){return X0(4,2,e,t)}o(AF,"ni$2");function PF(e,t){return X0(4,4,e,t)}o(PF,"oi$1");function MF(e,t){if(typeof t=="function")return e=e(),t(e),function(){t(null)};if(t!=null)return e=e(),t.current=e,function(){t.current=null}}o(MF,"pi$2");function TF(e,t,n){return n=n!=null?n.concat([e]):null,X0(4,4,MF.bind(null,t,e),n)}o(TF,"qi$1");function dk(){}o(dk,"ri$1");function OF(e,t){var n=ho();t=t===void 0?null:t;var r=n.memoizedState;return r!==null&&t!==null&&sk(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}o(OF,"si$2");function zF(e,t){var n=ho();t=t===void 0?null:t;var r=n.memoizedState;return r!==null&&t!==null&&sk(t,r[1])?r[0]:(e=e(),n.memoizedState=[e,t],e)}o(zF,"ti$2");function IF(e,t,n){return $l&21?(No(n,t)||(n=BN(),En.lanes|=n,_l|=n,e.baseState=!0),t):(e.baseState&&(e.baseState=!1,fa=!0),e.memoizedState=n)}o(IF,"ui$2");function ste(e,t){var n=tn;tn=n!==0&&4>n?n:4,e(!0);var r=d2.transition;d2.transition={};try{e(!1),t()}finally{tn=n,d2.transition=r}}o(ste,"vi$1");function LF(){return ho().memoizedState}o(LF,"wi$2");function cte(e,t,n){var r=lc(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},DF(e))NF(t,n);else if(n=bF(e,t,n,r),n!==null){var a=Yr();Do(n,e,r,a),FF(n,t,r)}}o(cte,"xi$2");function lte(e,t,n){var r=lc(e),a={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(DF(e))NF(t,a);else{var i=e.alternate;if(e.lanes===0&&(i===null||i.lanes===0)&&(i=t.lastRenderedReducer,i!==null))try{var s=t.lastRenderedState,c=i(s,n);if(a.hasEagerState=!0,a.eagerState=c,No(c,s)){var l=t.interleaved;l===null?(a.next=a,nk(t)):(a.next=l.next,l.next=a),t.interleaved=a;return}}catch{}finally{}n=bF(e,t,a,r),n!==null&&(a=Yr(),Do(n,e,r,a),FF(n,t,r))}}o(lte,"ii$2");function DF(e){var t=e.alternate;return e===En||t!==null&&t===En}o(DF,"zi$2");function NF(e,t){Sm=lb=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}o(NF,"Ai$1");function FF(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,W_(e,n)}}o(FF,"Bi$2");var ub={readContext:mo,useCallback:Pr,useContext:Pr,useEffect:Pr,useImperativeHandle:Pr,useInsertionEffect:Pr,useLayoutEffect:Pr,useMemo:Pr,useReducer:Pr,useRef:Pr,useState:Pr,useDebugValue:Pr,useDeferredValue:Pr,useTransition:Pr,useMutableSource:Pr,useSyncExternalStore:Pr,useId:Pr,unstable_isNewReconciler:!1},ute={readContext:mo,useCallback:o(function(e,t){return ti().memoizedState=[e,t===void 0?null:t],e},"useCallback"),useContext:mo,useEffect:gT,useImperativeHandle:o(function(e,t,n){return n=n!=null?n.concat([e]):null,ey(4194308,4,MF.bind(null,t,e),n)},"useImperativeHandle"),useLayoutEffect:o(function(e,t){return ey(4194308,4,e,t)},"useLayoutEffect"),useInsertionEffect:o(function(e,t){return ey(4,2,e,t)},"useInsertionEffect"),useMemo:o(function(e,t){var n=ti();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},"useMemo"),useReducer:o(function(e,t,n){var r=ti();return t=n!==void 0?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=cte.bind(null,En,e),[r.memoizedState,e]},"useReducer"),useRef:o(function(e){var t=ti();return e={current:e},t.memoizedState=e},"useRef"),useState:hT,useDebugValue:dk,useDeferredValue:o(function(e){return ti().memoizedState=e},"useDeferredValue"),useTransition:o(function(){var e=hT(!1),t=e[0];return e=ste.bind(null,e[1]),ti().memoizedState=e,[t,e]},"useTransition"),useMutableSource:o(function(){},"useMutableSource"),useSyncExternalStore:o(function(e,t,n){var r=En,a=ti();if($n){if(n===void 0)throw Error(Te(407));n=n()}else{if(n=t(),gr===null)throw Error(Te(349));$l&30||jF(r,t,n)}a.memoizedState=n;var i={value:n,getSnapshot:t};return a.queue=i,gT(_F.bind(null,r,i,e),[e]),r.flags|=2048,sh(9,$F.bind(null,r,i,n,t),void 0,null),n},"useSyncExternalStore"),useId:o(function(){var e=ti(),t=gr.identifierPrefix;if($n){var n=rs,r=ns;n=(r&~(1<<32-Lo(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=oh++,0<n&&(t+="H"+n.toString(32)),t+=":"}else n=ite++,t=":"+t+"r"+n.toString(32)+":";return e.memoizedState=t},"useId"),unstable_isNewReconciler:!1},dte={readContext:mo,useCallback:OF,useContext:mo,useEffect:uk,useImperativeHandle:TF,useInsertionEffect:AF,useLayoutEffect:PF,useMemo:zF,useReducer:f2,useRef:RF,useState:o(function(){return f2(ih)},"useState"),useDebugValue:dk,useDeferredValue:o(function(e){var t=ho();return IF(t,ir.memoizedState,e)},"useDeferredValue"),useTransition:o(function(){var e=f2(ih)[0],t=ho().memoizedState;return[e,t]},"useTransition"),useMutableSource:CF,useSyncExternalStore:SF,useId:LF,unstable_isNewReconciler:!1},fte={readContext:mo,useCallback:OF,useContext:mo,useEffect:uk,useImperativeHandle:TF,useInsertionEffect:AF,useLayoutEffect:PF,useMemo:zF,useReducer:p2,useRef:RF,useState:o(function(){return p2(ih)},"useState"),useDebugValue:dk,useDeferredValue:o(function(e){var t=ho();return ir===null?t.memoizedState=e:IF(t,ir.memoizedState,e)},"useDeferredValue"),useTransition:o(function(){var e=p2(ih)[0],t=ho().memoizedState;return[e,t]},"useTransition"),useMutableSource:CF,useSyncExternalStore:SF,useId:LF,unstable_isNewReconciler:!1};function Eo(e,t){if(e&&e.defaultProps){t=Rn({},t),e=e.defaultProps;for(var n in e)t[n]===void 0&&(t[n]=e[n]);return t}return t}o(Eo,"Ci$2");function Cj(e,t,n,r){t=e.memoizedState,n=n(r,t),n=n==null?t:Rn({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}o(Cj,"Di$2");var Z0={isMounted:o(function(e){return(e=e._reactInternals)?Ul(e)===e:!1},"isMounted"),enqueueSetState:o(function(e,t,n){e=e._reactInternals;var r=Yr(),a=lc(e),i=is(r,a);i.payload=t,n!=null&&(i.callback=n),t=sc(e,i,a),t!==null&&(Do(t,e,a,r),Xv(t,e,a))},"enqueueSetState"),enqueueReplaceState:o(function(e,t,n){e=e._reactInternals;var r=Yr(),a=lc(e),i=is(r,a);i.tag=1,i.payload=t,n!=null&&(i.callback=n),t=sc(e,i,a),t!==null&&(Do(t,e,a,r),Xv(t,e,a))},"enqueueReplaceState"),enqueueForceUpdate:o(function(e,t){e=e._reactInternals;var n=Yr(),r=lc(e),a=is(n,r);a.tag=2,t!=null&&(a.callback=t),t=sc(e,a,r),t!==null&&(Do(t,e,r,n),Xv(t,e,r))},"enqueueForceUpdate")};function vT(e,t,n,r,a,i,s){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(r,i,s):t.prototype&&t.prototype.isPureReactComponent?!Zm(n,r)||!Zm(a,i):!0}o(vT,"Fi$1");function BF(e,t,n){var r=!1,a=hc,i=t.contextType;return typeof i=="object"&&i!==null?i=mo(i):(a=ha(t)?Sl:Nr.current,r=t.contextTypes,i=(r=r!=null)?Zd(e,a):hc),t=new t(n,i),e.memoizedState=t.state!==null&&t.state!==void 0?t.state:null,t.updater=Z0,e.stateNode=t,t._reactInternals=e,r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=a,e.__reactInternalMemoizedMaskedChildContext=i),t}o(BF,"Gi$2");function yT(e,t,n,r){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(n,r),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&Z0.enqueueReplaceState(t,t.state,null)}o(yT,"Hi$1");function Sj(e,t,n,r){var a=e.stateNode;a.props=n,a.state=e.memoizedState,a.refs={},rk(e);var i=t.contextType;typeof i=="object"&&i!==null?a.context=mo(i):(i=ha(t)?Sl:Nr.current,a.context=Zd(e,i)),a.state=e.memoizedState,i=t.getDerivedStateFromProps,typeof i=="function"&&(Cj(e,t,i,n),a.state=e.memoizedState),typeof t.getDerivedStateFromProps=="function"||typeof a.getSnapshotBeforeUpdate=="function"||typeof a.UNSAFE_componentWillMount!="function"&&typeof a.componentWillMount!="function"||(t=a.state,typeof a.componentWillMount=="function"&&a.componentWillMount(),typeof a.UNSAFE_componentWillMount=="function"&&a.UNSAFE_componentWillMount(),t!==a.state&&Z0.enqueueReplaceState(a,a.state,null),sb(e,n,a,r),a.state=e.memoizedState),typeof a.componentDidMount=="function"&&(e.flags|=4194308)}o(Sj,"Ii$1");function rf(e,t){try{var n="",r=t;do n+=FZ(r),r=r.return;while(r);var a=n}catch(i){a=` +Error generating stack: `+i.message+` +`+i.stack}return{value:e,source:t,stack:a,digest:null}}o(rf,"Ji$2");function m2(e,t,n){return{value:e,source:null,stack:n??null,digest:t??null}}o(m2,"Ki$1");function jj(e,t){try{console.error(t.value)}catch(n){setTimeout(function(){throw n})}}o(jj,"Li$1");var pte=typeof WeakMap=="function"?WeakMap:Map;function WF(e,t,n){n=is(-1,n),n.tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){fb||(fb=!0,Oj=r),jj(e,t)},n}o(WF,"Ni$1");function UF(e,t,n){n=is(-1,n),n.tag=3;var r=e.type.getDerivedStateFromError;if(typeof r=="function"){var a=t.value;n.payload=function(){return r(a)},n.callback=function(){jj(e,t)}}var i=e.stateNode;return i!==null&&typeof i.componentDidCatch=="function"&&(n.callback=function(){jj(e,t),typeof r!="function"&&(cc===null?cc=new Set([this]):cc.add(this));var s=t.stack;this.componentDidCatch(t.value,{componentStack:s!==null?s:""})}),n}o(UF,"Qi$2");function bT(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new pte;var a=new Set;r.set(t,a)}else a=r.get(t),a===void 0&&(a=new Set,r.set(t,a));a.has(n)||(a.add(n),e=kte.bind(null,e,t,n),t.then(e,e))}o(bT,"Si$2");function xT(e){do{var t;if((t=e.tag===13)&&(t=e.memoizedState,t=t!==null?t.dehydrated!==null:!0),t)return e;e=e.return}while(e!==null);return null}o(xT,"Ui$2");function wT(e,t,n,r,a){return e.mode&1?(e.flags|=65536,e.lanes=a,e):(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,n.tag===1&&(n.alternate===null?n.tag=17:(t=is(-1,1),t.tag=2,sc(n,t,1))),n.lanes|=1),e)}o(wT,"Vi$1");var mte=ws.ReactCurrentOwner,fa=!1;function Hr(e,t,n,r){t.child=e===null?yF(t,null,n,r):tf(t,e.child,n,r)}o(Hr,"Xi$2");function CT(e,t,n,r,a){n=n.render;var i=t.ref;return rd(t,a),r=ck(e,t,n,r,i,a),n=lk(),e!==null&&!fa?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~a,ms(e,t,a)):($n&&n&&Y_(t),t.flags|=1,Hr(e,t,r,a),t.child)}o(CT,"Yi$1");function ST(e,t,n,r,a){if(e===null){var i=n.type;return typeof i=="function"&&!bk(i)&&i.defaultProps===void 0&&n.compare===null&&n.defaultProps===void 0?(t.tag=15,t.type=i,HF(e,t,i,r,a)):(e=ay(n.type,null,r,t,t.mode,a),e.ref=t.ref,e.return=t,t.child=e)}if(i=e.child,!(e.lanes&a)){var s=i.memoizedProps;if(n=n.compare,n=n!==null?n:Zm,n(s,r)&&e.ref===t.ref)return ms(e,t,a)}return t.flags|=1,e=uc(i,r),e.ref=t.ref,e.return=t,t.child=e}o(ST,"$i$2");function HF(e,t,n,r,a){if(e!==null){var i=e.memoizedProps;if(Zm(i,r)&&e.ref===t.ref)if(fa=!1,t.pendingProps=r=i,(e.lanes&a)!==0)e.flags&131072&&(fa=!0);else return t.lanes=e.lanes,ms(e,t,a)}return $j(e,t,n,r,a)}o(HF,"bj");function qF(e,t,n){var r=t.pendingProps,a=r.children,i=e!==null?e.memoizedState:null;if(r.mode==="hidden")if(!(t.mode&1))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},hn(Hu,ka),ka|=n;else{if(!(n&1073741824))return e=i!==null?i.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,hn(Hu,ka),ka|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=i!==null?i.baseLanes:n,hn(Hu,ka),ka|=r}else i!==null?(r=i.baseLanes|n,t.memoizedState=null):r=n,hn(Hu,ka),ka|=r;return Hr(e,t,a,n),t.child}o(qF,"dj");function VF(e,t){var n=t.ref;(e===null&&n!==null||e!==null&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}o(VF,"gj");function $j(e,t,n,r,a){var i=ha(n)?Sl:Nr.current;return i=Zd(t,i),rd(t,a),n=ck(e,t,n,r,i,a),r=lk(),e!==null&&!fa?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~a,ms(e,t,a)):($n&&r&&Y_(t),t.flags|=1,Hr(e,t,n,a),t.child)}o($j,"cj");function jT(e,t,n,r,a){if(ha(n)){var i=!0;nb(t)}else i=!1;if(rd(t,a),t.stateNode===null)ty(e,t),BF(t,n,r),Sj(t,n,r,a),r=!0;else if(e===null){var s=t.stateNode,c=t.memoizedProps;s.props=c;var l=s.context,u=n.contextType;typeof u=="object"&&u!==null?u=mo(u):(u=ha(n)?Sl:Nr.current,u=Zd(t,u));var d=n.getDerivedStateFromProps,p=typeof d=="function"||typeof s.getSnapshotBeforeUpdate=="function";p||typeof s.UNSAFE_componentWillReceiveProps!="function"&&typeof s.componentWillReceiveProps!="function"||(c!==r||l!==u)&&yT(t,s,r,u),Ls=!1;var m=t.memoizedState;s.state=m,sb(t,r,s,a),l=t.memoizedState,c!==r||m!==l||ma.current||Ls?(typeof d=="function"&&(Cj(t,n,d,r),l=t.memoizedState),(c=Ls||vT(t,n,c,r,m,l,u))?(p||typeof s.UNSAFE_componentWillMount!="function"&&typeof s.componentWillMount!="function"||(typeof s.componentWillMount=="function"&&s.componentWillMount(),typeof s.UNSAFE_componentWillMount=="function"&&s.UNSAFE_componentWillMount()),typeof s.componentDidMount=="function"&&(t.flags|=4194308)):(typeof s.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=l),s.props=r,s.state=l,s.context=u,r=c):(typeof s.componentDidMount=="function"&&(t.flags|=4194308),r=!1)}else{s=t.stateNode,xF(e,t),c=t.memoizedProps,u=t.type===t.elementType?c:Eo(t.type,c),s.props=u,p=t.pendingProps,m=s.context,l=n.contextType,typeof l=="object"&&l!==null?l=mo(l):(l=ha(n)?Sl:Nr.current,l=Zd(t,l));var v=n.getDerivedStateFromProps;(d=typeof v=="function"||typeof s.getSnapshotBeforeUpdate=="function")||typeof s.UNSAFE_componentWillReceiveProps!="function"&&typeof s.componentWillReceiveProps!="function"||(c!==p||m!==l)&&yT(t,s,r,l),Ls=!1,m=t.memoizedState,s.state=m,sb(t,r,s,a);var h=t.memoizedState;c!==p||m!==h||ma.current||Ls?(typeof v=="function"&&(Cj(t,n,v,r),h=t.memoizedState),(u=Ls||vT(t,n,u,r,m,h,l)||!1)?(d||typeof s.UNSAFE_componentWillUpdate!="function"&&typeof s.componentWillUpdate!="function"||(typeof s.componentWillUpdate=="function"&&s.componentWillUpdate(r,h,l),typeof s.UNSAFE_componentWillUpdate=="function"&&s.UNSAFE_componentWillUpdate(r,h,l)),typeof s.componentDidUpdate=="function"&&(t.flags|=4),typeof s.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof s.componentDidUpdate!="function"||c===e.memoizedProps&&m===e.memoizedState||(t.flags|=4),typeof s.getSnapshotBeforeUpdate!="function"||c===e.memoizedProps&&m===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=h),s.props=r,s.state=h,s.context=l,r=u):(typeof s.componentDidUpdate!="function"||c===e.memoizedProps&&m===e.memoizedState||(t.flags|=4),typeof s.getSnapshotBeforeUpdate!="function"||c===e.memoizedProps&&m===e.memoizedState||(t.flags|=1024),r=!1)}return _j(e,t,n,r,i,a)}o(jT,"hj");function _j(e,t,n,r,a,i){VF(e,t);var s=(t.flags&128)!==0;if(!r&&!s)return a&&lT(t,n,!1),ms(e,t,i);r=t.stateNode,mte.current=t;var c=s&&typeof n.getDerivedStateFromError!="function"?null:r.render();return t.flags|=1,e!==null&&s?(t.child=tf(t,e.child,null,i),t.child=tf(t,null,c,i)):Hr(e,t,c,i),t.memoizedState=r.state,a&&lT(t,n,!0),t.child}o(_j,"jj");function GF(e){var t=e.stateNode;t.pendingContext?cT(e,t.pendingContext,t.pendingContext!==t.context):t.context&&cT(e,t.context,!1),ak(e,t.containerInfo)}o(GF,"kj");function $T(e,t,n,r,a){return ef(),X_(a),t.flags|=256,Hr(e,t,n,r),t.child}o($T,"lj");var kj={dehydrated:null,treeContext:null,retryLane:0};function Ej(e){return{baseLanes:e,cachePool:null,transitions:null}}o(Ej,"nj");function KF(e,t,n){var r=t.pendingProps,a=_n.current,i=!1,s=(t.flags&128)!==0,c;if((c=s)||(c=e!==null&&e.memoizedState===null?!1:(a&2)!==0),c?(i=!0,t.flags&=-129):(e===null||e.memoizedState!==null)&&(a|=1),hn(_n,a&1),e===null)return xj(t),e=t.memoizedState,e!==null&&(e=e.dehydrated,e!==null)?(t.mode&1?e.data==="$!"?t.lanes=8:t.lanes=1073741824:t.lanes=1,null):(s=r.children,e=r.fallback,i?(r=t.mode,i=t.child,s={mode:"hidden",children:s},!(r&1)&&i!==null?(i.childLanes=0,i.pendingProps=s):i=nx(s,r,0,null),e=hl(e,r,n,null),i.return=t,e.return=t,i.sibling=e,t.child=i,t.child.memoizedState=Ej(n),t.memoizedState=kj,e):fk(t,s));if(a=e.memoizedState,a!==null&&(c=a.dehydrated,c!==null))return hte(e,t,s,r,c,a,n);if(i){i=r.fallback,s=t.mode,a=e.child,c=a.sibling;var l={mode:"hidden",children:r.children};return!(s&1)&&t.child!==a?(r=t.child,r.childLanes=0,r.pendingProps=l,t.deletions=null):(r=uc(a,l),r.subtreeFlags=a.subtreeFlags&14680064),c!==null?i=uc(c,i):(i=hl(i,s,n,null),i.flags|=2),i.return=t,r.return=t,r.sibling=i,t.child=r,r=i,i=t.child,s=e.child.memoizedState,s=s===null?Ej(n):{baseLanes:s.baseLanes|n,cachePool:null,transitions:s.transitions},i.memoizedState=s,i.childLanes=e.childLanes&~n,t.memoizedState=kj,r}return i=e.child,e=i.sibling,r=uc(i,{mode:"visible",children:r.children}),!(t.mode&1)&&(r.lanes=n),r.return=t,r.sibling=null,e!==null&&(n=t.deletions,n===null?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=r,t.memoizedState=null,r}o(KF,"oj");function fk(e,t){return t=nx({mode:"visible",children:t},e.mode,0,null),t.return=e,e.child=t}o(fk,"qj");function dv(e,t,n,r){return r!==null&&X_(r),tf(t,e.child,null,n),e=fk(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}o(dv,"sj");function hte(e,t,n,r,a,i,s){if(n)return t.flags&256?(t.flags&=-257,r=m2(Error(Te(422))),dv(e,t,s,r)):t.memoizedState!==null?(t.child=e.child,t.flags|=128,null):(i=r.fallback,a=t.mode,r=nx({mode:"visible",children:r.children},a,0,null),i=hl(i,a,s,null),i.flags|=2,r.return=t,i.return=t,r.sibling=i,t.child=r,t.mode&1&&tf(t,e.child,null,s),t.child.memoizedState=Ej(s),t.memoizedState=kj,i);if(!(t.mode&1))return dv(e,t,s,null);if(a.data==="$!"){if(r=a.nextSibling&&a.nextSibling.dataset,r)var c=r.dgst;return r=c,i=Error(Te(419)),r=m2(i,r,void 0),dv(e,t,s,r)}if(c=(s&e.childLanes)!==0,fa||c){if(r=gr,r!==null){switch(s&-s){case 4:a=2;break;case 16:a=8;break;case 64: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:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:a=32;break;case 536870912:a=268435456;break;default:a=0}a=a&(r.suspendedLanes|s)?0:a,a!==0&&a!==i.retryLane&&(i.retryLane=a,ps(e,a),Do(r,e,a,-1))}return yk(),r=m2(Error(Te(421))),dv(e,t,s,r)}return a.data==="$?"?(t.flags|=128,t.child=e.child,t=Ete.bind(null,e),a._reactRetry=t,null):(e=i.treeContext,Ma=ic(a.nextSibling),za=t,$n=!0,Po=null,e!==null&&(no[ro++]=ns,no[ro++]=rs,no[ro++]=jl,ns=e.id,rs=e.overflow,jl=t),t=fk(t,r.children),t.flags|=4096,t)}o(hte,"rj");function _T(e,t,n){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),wj(e.return,t,n)}o(_T,"vj");function h2(e,t,n,r,a){var i=e.memoizedState;i===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:a}:(i.isBackwards=t,i.rendering=null,i.renderingStartTime=0,i.last=r,i.tail=n,i.tailMode=a)}o(h2,"wj");function JF(e,t,n){var r=t.pendingProps,a=r.revealOrder,i=r.tail;if(Hr(e,t,r.children,n),r=_n.current,r&2)r=r&1|2,t.flags|=128;else{if(e!==null&&e.flags&128)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&_T(e,n,t);else if(e.tag===19)_T(e,n,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}r&=1}if(hn(_n,r),!(t.mode&1))t.memoizedState=null;else switch(a){case"forwards":for(n=t.child,a=null;n!==null;)e=n.alternate,e!==null&&cb(e)===null&&(a=n),n=n.sibling;n=a,n===null?(a=t.child,t.child=null):(a=n.sibling,n.sibling=null),h2(t,!1,a,n,i);break;case"backwards":for(n=null,a=t.child,t.child=null;a!==null;){if(e=a.alternate,e!==null&&cb(e)===null){t.child=a;break}e=a.sibling,a.sibling=n,n=a,a=e}h2(t,!0,n,null,i);break;case"together":h2(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}o(JF,"xj");function ty(e,t){!(t.mode&1)&&e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2)}o(ty,"ij");function ms(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),_l|=t.lanes,!(n&t.childLanes))return null;if(e!==null&&t.child!==e.child)throw Error(Te(153));if(t.child!==null){for(e=t.child,n=uc(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=uc(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}o(ms,"Zi$2");function gte(e,t,n){switch(t.tag){case 3:GF(t),ef();break;case 5:wF(t);break;case 1:ha(t.type)&&nb(t);break;case 4:ak(t,t.stateNode.containerInfo);break;case 10:var r=t.type._context,a=t.memoizedProps.value;hn(ob,r._currentValue),r._currentValue=a;break;case 13:if(r=t.memoizedState,r!==null)return r.dehydrated!==null?(hn(_n,_n.current&1),t.flags|=128,null):n&t.child.childLanes?KF(e,t,n):(hn(_n,_n.current&1),e=ms(e,t,n),e!==null?e.sibling:null);hn(_n,_n.current&1);break;case 19:if(r=(n&t.childLanes)!==0,e.flags&128){if(r)return JF(e,t,n);t.flags|=128}if(a=t.memoizedState,a!==null&&(a.rendering=null,a.tail=null,a.lastEffect=null),hn(_n,_n.current),r)break;return null;case 22:case 23:return t.lanes=0,qF(e,t,n)}return ms(e,t,n)}o(gte,"yj");var YF,Rj,QF,XF;YF=o(function(e,t){for(var n=t.child;n!==null;){if(n.tag===5||n.tag===6)e.appendChild(n.stateNode);else if(n.tag!==4&&n.child!==null){n.child.return=n,n=n.child;continue}if(n===t)break;for(;n.sibling===null;){if(n.return===null||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}},"zj");Rj=o(function(){},"Aj");QF=o(function(e,t,n,r){var a=e.memoizedProps;if(a!==r){e=t.stateNode,Kc(Si.current);var i=null;switch(n){case"input":a=QS(e,a),r=QS(e,r),i=[];break;case"select":a=Rn({},a,{value:void 0}),r=Rn({},r,{value:void 0}),i=[];break;case"textarea":a=ej(e,a),r=ej(e,r),i=[];break;default:typeof a.onClick!="function"&&typeof r.onClick=="function"&&(e.onclick=eb)}nj(n,r);var s;n=null;for(u in a)if(!r.hasOwnProperty(u)&&a.hasOwnProperty(u)&&a[u]!=null)if(u==="style"){var c=a[u];for(s in c)c.hasOwnProperty(s)&&(n||(n={}),n[s]="")}else u!=="dangerouslySetInnerHTML"&&u!=="children"&&u!=="suppressContentEditableWarning"&&u!=="suppressHydrationWarning"&&u!=="autoFocus"&&(Vm.hasOwnProperty(u)?i||(i=[]):(i=i||[]).push(u,null));for(u in r){var l=r[u];if(c=a!=null?a[u]:void 0,r.hasOwnProperty(u)&&l!==c&&(l!=null||c!=null))if(u==="style")if(c){for(s in c)!c.hasOwnProperty(s)||l&&l.hasOwnProperty(s)||(n||(n={}),n[s]="");for(s in l)l.hasOwnProperty(s)&&c[s]!==l[s]&&(n||(n={}),n[s]=l[s])}else n||(i||(i=[]),i.push(u,n)),n=l;else u==="dangerouslySetInnerHTML"?(l=l?l.__html:void 0,c=c?c.__html:void 0,l!=null&&c!==l&&(i=i||[]).push(u,l)):u==="children"?typeof l!="string"&&typeof l!="number"||(i=i||[]).push(u,""+l):u!=="suppressContentEditableWarning"&&u!=="suppressHydrationWarning"&&(Vm.hasOwnProperty(u)?(l!=null&&u==="onScroll"&&vn("scroll",e),i||c===l||(i=[])):(i=i||[]).push(u,l))}n&&(i=i||[]).push("style",n);var u=i;(t.updateQueue=u)&&(t.flags|=4)}},"Bj");XF=o(function(e,t,n,r){n!==r&&(t.flags|=4)},"Cj");function Tp(e,t){if(!$n)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var r=null;n!==null;)n.alternate!==null&&(r=n),n=n.sibling;r===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null}}o(Tp,"Dj");function Mr(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,r=0;if(t)for(var a=e.child;a!==null;)n|=a.lanes|a.childLanes,r|=a.subtreeFlags&14680064,r|=a.flags&14680064,a.return=e,a=a.sibling;else for(a=e.child;a!==null;)n|=a.lanes|a.childLanes,r|=a.subtreeFlags,r|=a.flags,a.return=e,a=a.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}o(Mr,"S$4");function vte(e,t,n){var r=t.pendingProps;switch(Q_(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Mr(t),null;case 1:return ha(t.type)&&tb(),Mr(t),null;case 3:return r=t.stateNode,nf(),wn(ma),wn(Nr),ik(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),(e===null||e.child===null)&&(lv(t)?t.flags|=4:e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,Po!==null&&(Lj(Po),Po=null))),Rj(e,t),Mr(t),null;case 5:ok(t);var a=Kc(ah.current);if(n=t.type,e!==null&&t.stateNode!=null)QF(e,t,n,r,a),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!r){if(t.stateNode===null)throw Error(Te(166));return Mr(t),null}if(e=Kc(Si.current),lv(t)){r=t.stateNode,n=t.type;var i=t.memoizedProps;switch(r[hi]=t,r[nh]=i,e=(t.mode&1)!==0,n){case"dialog":vn("cancel",r),vn("close",r);break;case"iframe":case"object":case"embed":vn("load",r);break;case"video":case"audio":for(a=0;a<um.length;a++)vn(um[a],r);break;case"source":vn("error",r);break;case"img":case"image":case"link":vn("error",r),vn("load",r);break;case"details":vn("toggle",r);break;case"input":zM(r,i),vn("invalid",r);break;case"select":r._wrapperState={wasMultiple:!!i.multiple},vn("invalid",r);break;case"textarea":LM(r,i),vn("invalid",r)}nj(n,i),a=null;for(var s in i)if(i.hasOwnProperty(s)){var c=i[s];s==="children"?typeof c=="string"?r.textContent!==c&&(i.suppressHydrationWarning!==!0&&cv(r.textContent,c,e),a=["children",c]):typeof c=="number"&&r.textContent!==""+c&&(i.suppressHydrationWarning!==!0&&cv(r.textContent,c,e),a=["children",""+c]):Vm.hasOwnProperty(s)&&c!=null&&s==="onScroll"&&vn("scroll",r)}switch(n){case"input":ev(r),IM(r,i,!0);break;case"textarea":ev(r),DM(r);break;case"select":case"option":break;default:typeof i.onClick=="function"&&(r.onclick=eb)}r=a,t.updateQueue=r,r!==null&&(t.flags|=4)}else{s=a.nodeType===9?a:a.ownerDocument,e==="http://www.w3.org/1999/xhtml"&&(e=_N(n)),e==="http://www.w3.org/1999/xhtml"?n==="script"?(e=s.createElement("div"),e.innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=s.createElement(n,{is:r.is}):(e=s.createElement(n),n==="select"&&(s=e,r.multiple?s.multiple=!0:r.size&&(s.size=r.size))):e=s.createElementNS(e,n),e[hi]=t,e[nh]=r,YF(e,t,!1,!1),t.stateNode=e;e:{switch(s=rj(n,r),n){case"dialog":vn("cancel",e),vn("close",e),a=r;break;case"iframe":case"object":case"embed":vn("load",e),a=r;break;case"video":case"audio":for(a=0;a<um.length;a++)vn(um[a],e);a=r;break;case"source":vn("error",e),a=r;break;case"img":case"image":case"link":vn("error",e),vn("load",e),a=r;break;case"details":vn("toggle",e),a=r;break;case"input":zM(e,r),a=QS(e,r),vn("invalid",e);break;case"option":a=r;break;case"select":e._wrapperState={wasMultiple:!!r.multiple},a=Rn({},r,{value:void 0}),vn("invalid",e);break;case"textarea":LM(e,r),a=ej(e,r),vn("invalid",e);break;default:a=r}nj(n,a),c=a;for(i in c)if(c.hasOwnProperty(i)){var l=c[i];i==="style"?RN(e,l):i==="dangerouslySetInnerHTML"?(l=l?l.__html:void 0,l!=null&&kN(e,l)):i==="children"?typeof l=="string"?(n!=="textarea"||l!=="")&&Gm(e,l):typeof l=="number"&&Gm(e,""+l):i!=="suppressContentEditableWarning"&&i!=="suppressHydrationWarning"&&i!=="autoFocus"&&(Vm.hasOwnProperty(i)?l!=null&&i==="onScroll"&&vn("scroll",e):l!=null&&I_(e,i,l,s))}switch(n){case"input":ev(e),IM(e,r,!1);break;case"textarea":ev(e),DM(e);break;case"option":r.value!=null&&e.setAttribute("value",""+mc(r.value));break;case"select":e.multiple=!!r.multiple,i=r.value,i!=null?Zu(e,!!r.multiple,i,!1):r.defaultValue!=null&&Zu(e,!!r.multiple,r.defaultValue,!0);break;default:typeof a.onClick=="function"&&(e.onclick=eb)}switch(n){case"button":case"input":case"select":case"textarea":r=!!r.autoFocus;break e;case"img":r=!0;break e;default:r=!1}}r&&(t.flags|=4)}t.ref!==null&&(t.flags|=512,t.flags|=2097152)}return Mr(t),null;case 6:if(e&&t.stateNode!=null)XF(e,t,e.memoizedProps,r);else{if(typeof r!="string"&&t.stateNode===null)throw Error(Te(166));if(n=Kc(ah.current),Kc(Si.current),lv(t)){if(r=t.stateNode,n=t.memoizedProps,r[hi]=t,(i=r.nodeValue!==n)&&(e=za,e!==null))switch(e.tag){case 3:cv(r.nodeValue,n,(e.mode&1)!==0);break;case 5:e.memoizedProps.suppressHydrationWarning!==!0&&cv(r.nodeValue,n,(e.mode&1)!==0)}i&&(t.flags|=4)}else r=(n.nodeType===9?n:n.ownerDocument).createTextNode(r),r[hi]=t,t.stateNode=r}return Mr(t),null;case 13:if(wn(_n),r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if($n&&Ma!==null&&t.mode&1&&!(t.flags&128))gF(),ef(),t.flags|=98560,i=!1;else if(i=lv(t),r!==null&&r.dehydrated!==null){if(e===null){if(!i)throw Error(Te(318));if(i=t.memoizedState,i=i!==null?i.dehydrated:null,!i)throw Error(Te(317));i[hi]=t}else ef(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;Mr(t),i=!1}else Po!==null&&(Lj(Po),Po=null),i=!0;if(!i)return t.flags&65536?t:null}return t.flags&128?(t.lanes=n,t):(r=r!==null,r!==(e!==null&&e.memoizedState!==null)&&r&&(t.child.flags|=8192,t.mode&1&&(e===null||_n.current&1?sr===0&&(sr=3):yk())),t.updateQueue!==null&&(t.flags|=4),Mr(t),null);case 4:return nf(),Rj(e,t),e===null&&eh(t.stateNode.containerInfo),Mr(t),null;case 10:return tk(t.type._context),Mr(t),null;case 17:return ha(t.type)&&tb(),Mr(t),null;case 19:if(wn(_n),i=t.memoizedState,i===null)return Mr(t),null;if(r=(t.flags&128)!==0,s=i.rendering,s===null)if(r)Tp(i,!1);else{if(sr!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(s=cb(e),s!==null){for(t.flags|=128,Tp(i,!1),r=s.updateQueue,r!==null&&(t.updateQueue=r,t.flags|=4),t.subtreeFlags=0,r=n,n=t.child;n!==null;)i=n,e=r,i.flags&=14680066,s=i.alternate,s===null?(i.childLanes=0,i.lanes=e,i.child=null,i.subtreeFlags=0,i.memoizedProps=null,i.memoizedState=null,i.updateQueue=null,i.dependencies=null,i.stateNode=null):(i.childLanes=s.childLanes,i.lanes=s.lanes,i.child=s.child,i.subtreeFlags=0,i.deletions=null,i.memoizedProps=s.memoizedProps,i.memoizedState=s.memoizedState,i.updateQueue=s.updateQueue,i.type=s.type,e=s.dependencies,i.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext}),n=n.sibling;return hn(_n,_n.current&1|2),t.child}e=e.sibling}i.tail!==null&&Un()>af&&(t.flags|=128,r=!0,Tp(i,!1),t.lanes=4194304)}else{if(!r)if(e=cb(s),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),Tp(i,!0),i.tail===null&&i.tailMode==="hidden"&&!s.alternate&&!$n)return Mr(t),null}else 2*Un()-i.renderingStartTime>af&&n!==1073741824&&(t.flags|=128,r=!0,Tp(i,!1),t.lanes=4194304);i.isBackwards?(s.sibling=t.child,t.child=s):(n=i.last,n!==null?n.sibling=s:t.child=s,i.last=s)}return i.tail!==null?(t=i.tail,i.rendering=t,i.tail=t.sibling,i.renderingStartTime=Un(),t.sibling=null,n=_n.current,hn(_n,r?n&1|2:n&1),t):(Mr(t),null);case 22:case 23:return vk(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?ka&1073741824&&(Mr(t),t.subtreeFlags&6&&(t.flags|=8192)):Mr(t),null;case 24:return null;case 25:return null}throw Error(Te(156,t.tag))}o(vte,"Ej");function yte(e,t){switch(Q_(t),t.tag){case 1:return ha(t.type)&&tb(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return nf(),wn(ma),wn(Nr),ik(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return ok(t),null;case 13:if(wn(_n),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(Te(340));ef()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return wn(_n),null;case 4:return nf(),null;case 10:return tk(t.type._context),null;case 22:case 23:return vk(),null;case 24:return null;default:return null}}o(yte,"Ij");var fv=!1,Ir=!1,bte=typeof WeakSet=="function"?WeakSet:Set,at=null;function Uu(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){On(e,t,r)}else n.current=null}o(Uu,"Lj");function Aj(e,t,n){try{n()}catch(r){On(e,t,r)}}o(Aj,"Mj");var kT=!1;function xte(e,t){if(pj=Qy,e=rF(),J_(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var a=r.anchorOffset,i=r.focusNode;r=r.focusOffset;try{n.nodeType,i.nodeType}catch{n=null;break e}var s=0,c=-1,l=-1,u=0,d=0,p=e,m=null;t:for(;;){for(var v;p!==n||a!==0&&p.nodeType!==3||(c=s+a),p!==i||r!==0&&p.nodeType!==3||(l=s+r),p.nodeType===3&&(s+=p.nodeValue.length),(v=p.firstChild)!==null;)m=p,p=v;for(;;){if(p===e)break t;if(m===n&&++u===a&&(c=s),m===i&&++d===r&&(l=s),(v=p.nextSibling)!==null)break;p=m,m=p.parentNode}p=v}n=c===-1||l===-1?null:{start:c,end:l}}else n=null}n=n||{start:0,end:0}}else n=null;for(mj={focusedElem:e,selectionRange:n},Qy=!1,at=t;at!==null;)if(t=at,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,at=e;else for(;at!==null;){t=at;try{var h=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(h!==null){var y=h.memoizedProps,C=h.memoizedState,w=t.stateNode,x=w.getSnapshotBeforeUpdate(t.elementType===t.type?y:Eo(t.type,y),C);w.__reactInternalSnapshotBeforeUpdate=x}break;case 3:var b=t.stateNode.containerInfo;b.nodeType===1?b.textContent="":b.nodeType===9&&b.documentElement&&b.removeChild(b.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(Te(163))}}catch(S){On(t,t.return,S)}if(e=t.sibling,e!==null){e.return=t.return,at=e;break}at=t.return}return h=kT,kT=!1,h}o(xte,"Oj");function jm(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var a=r=r.next;do{if((a.tag&e)===e){var i=a.destroy;a.destroy=void 0,i!==void 0&&Aj(t,n,i)}a=a.next}while(a!==r)}}o(jm,"Pj");function ex(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}o(ex,"Qj");function Pj(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}o(Pj,"Rj");function ZF(e){var t=e.alternate;t!==null&&(e.alternate=null,ZF(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[hi],delete t[nh],delete t[vj],delete t[nte],delete t[rte])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}o(ZF,"Sj");function e9(e){return e.tag===5||e.tag===3||e.tag===4}o(e9,"Tj");function ET(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||e9(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.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}o(ET,"Uj");function Mj(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=eb));else if(r!==4&&(e=e.child,e!==null))for(Mj(e,t,n),e=e.sibling;e!==null;)Mj(e,t,n),e=e.sibling}o(Mj,"Vj");function Tj(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(Tj(e,t,n),e=e.sibling;e!==null;)Tj(e,t,n),e=e.sibling}o(Tj,"Wj");var $r=null,Ro=!1;function Rs(e,t,n){for(n=n.child;n!==null;)t9(e,t,n),n=n.sibling}o(Rs,"Yj");function t9(e,t,n){if(Ci&&typeof Ci.onCommitFiberUnmount=="function")try{Ci.onCommitFiberUnmount(V0,n)}catch{}switch(n.tag){case 5:Ir||Uu(n,t);case 6:var r=$r,a=Ro;$r=null,Rs(e,t,n),$r=r,Ro=a,$r!==null&&(Ro?(e=$r,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):$r.removeChild(n.stateNode));break;case 18:$r!==null&&(Ro?(e=$r,n=n.stateNode,e.nodeType===8?c2(e.parentNode,n):e.nodeType===1&&c2(e,n),Qm(e)):c2($r,n.stateNode));break;case 4:r=$r,a=Ro,$r=n.stateNode.containerInfo,Ro=!0,Rs(e,t,n),$r=r,Ro=a;break;case 0:case 11:case 14:case 15:if(!Ir&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){a=r=r.next;do{var i=a,s=i.destroy;i=i.tag,s!==void 0&&(i&2||i&4)&&Aj(n,t,s),a=a.next}while(a!==r)}Rs(e,t,n);break;case 1:if(!Ir&&(Uu(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(c){On(n,t,c)}Rs(e,t,n);break;case 21:Rs(e,t,n);break;case 22:n.mode&1?(Ir=(r=Ir)||n.memoizedState!==null,Rs(e,t,n),Ir=r):Rs(e,t,n);break;default:Rs(e,t,n)}}o(t9,"Zj");function RT(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new bte),t.forEach(function(r){var a=Rte.bind(null,e,r);n.has(r)||(n.add(r),r.then(a,a))})}}o(RT,"ak");function _o(e,t){var n=t.deletions;if(n!==null)for(var r=0;r<n.length;r++){var a=n[r];try{var i=e,s=t,c=s;e:for(;c!==null;){switch(c.tag){case 5:$r=c.stateNode,Ro=!1;break e;case 3:$r=c.stateNode.containerInfo,Ro=!0;break e;case 4:$r=c.stateNode.containerInfo,Ro=!0;break e}c=c.return}if($r===null)throw Error(Te(160));t9(i,s,a),$r=null,Ro=!1;var l=a.alternate;l!==null&&(l.return=null),a.return=null}catch(u){On(a,t,u)}}if(t.subtreeFlags&12854)for(t=t.child;t!==null;)n9(t,e),t=t.sibling}o(_o,"ck");function n9(e,t){var n=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(_o(t,e),ei(e),r&4){try{jm(3,e,e.return),ex(3,e)}catch(y){On(e,e.return,y)}try{jm(5,e,e.return)}catch(y){On(e,e.return,y)}}break;case 1:_o(t,e),ei(e),r&512&&n!==null&&Uu(n,n.return);break;case 5:if(_o(t,e),ei(e),r&512&&n!==null&&Uu(n,n.return),e.flags&32){var a=e.stateNode;try{Gm(a,"")}catch(y){On(e,e.return,y)}}if(r&4&&(a=e.stateNode,a!=null)){var i=e.memoizedProps,s=n!==null?n.memoizedProps:i,c=e.type,l=e.updateQueue;if(e.updateQueue=null,l!==null)try{c==="input"&&i.type==="radio"&&i.name!=null&&jN(a,i),rj(c,s);var u=rj(c,i);for(s=0;s<l.length;s+=2){var d=l[s],p=l[s+1];d==="style"?RN(a,p):d==="dangerouslySetInnerHTML"?kN(a,p):d==="children"?Gm(a,p):I_(a,d,p,u)}switch(c){case"input":XS(a,i);break;case"textarea":$N(a,i);break;case"select":var m=a._wrapperState.wasMultiple;a._wrapperState.wasMultiple=!!i.multiple;var v=i.value;v!=null?Zu(a,!!i.multiple,v,!1):m!==!!i.multiple&&(i.defaultValue!=null?Zu(a,!!i.multiple,i.defaultValue,!0):Zu(a,!!i.multiple,i.multiple?[]:"",!1))}a[nh]=i}catch(y){On(e,e.return,y)}}break;case 6:if(_o(t,e),ei(e),r&4){if(e.stateNode===null)throw Error(Te(162));a=e.stateNode,i=e.memoizedProps;try{a.nodeValue=i}catch(y){On(e,e.return,y)}}break;case 3:if(_o(t,e),ei(e),r&4&&n!==null&&n.memoizedState.isDehydrated)try{Qm(t.containerInfo)}catch(y){On(e,e.return,y)}break;case 4:_o(t,e),ei(e);break;case 13:_o(t,e),ei(e),a=e.child,a.flags&8192&&(i=a.memoizedState!==null,a.stateNode.isHidden=i,!i||a.alternate!==null&&a.alternate.memoizedState!==null||(hk=Un())),r&4&&RT(e);break;case 22:if(d=n!==null&&n.memoizedState!==null,e.mode&1?(Ir=(u=Ir)||d,_o(t,e),Ir=u):_o(t,e),ei(e),r&8192){if(u=e.memoizedState!==null,(e.stateNode.isHidden=u)&&!d&&e.mode&1)for(at=e,d=e.child;d!==null;){for(p=at=d;at!==null;){switch(m=at,v=m.child,m.tag){case 0:case 11:case 14:case 15:jm(4,m,m.return);break;case 1:Uu(m,m.return);var h=m.stateNode;if(typeof h.componentWillUnmount=="function"){r=m,n=m.return;try{t=r,h.props=t.memoizedProps,h.state=t.memoizedState,h.componentWillUnmount()}catch(y){On(r,n,y)}}break;case 5:Uu(m,m.return);break;case 22:if(m.memoizedState!==null){PT(p);continue}}v!==null?(v.return=m,at=v):PT(p)}d=d.sibling}e:for(d=null,p=e;;){if(p.tag===5){if(d===null){d=p;try{a=p.stateNode,u?(i=a.style,typeof i.setProperty=="function"?i.setProperty("display","none","important"):i.display="none"):(c=p.stateNode,l=p.memoizedProps.style,s=l!=null&&l.hasOwnProperty("display")?l.display:null,c.style.display=EN("display",s))}catch(y){On(e,e.return,y)}}}else if(p.tag===6){if(d===null)try{p.stateNode.nodeValue=u?"":p.memoizedProps}catch(y){On(e,e.return,y)}}else if((p.tag!==22&&p.tag!==23||p.memoizedState===null||p===e)&&p.child!==null){p.child.return=p,p=p.child;continue}if(p===e)break e;for(;p.sibling===null;){if(p.return===null||p.return===e)break e;d===p&&(d=null),p=p.return}d===p&&(d=null),p.sibling.return=p.return,p=p.sibling}}break;case 19:_o(t,e),ei(e),r&4&&RT(e);break;case 21:break;default:_o(t,e),ei(e)}}o(n9,"dk");function ei(e){var t=e.flags;if(t&2){try{e:{for(var n=e.return;n!==null;){if(e9(n)){var r=n;break e}n=n.return}throw Error(Te(160))}switch(r.tag){case 5:var a=r.stateNode;r.flags&32&&(Gm(a,""),r.flags&=-33);var i=ET(e);Tj(e,i,a);break;case 3:case 4:var s=r.stateNode.containerInfo,c=ET(e);Mj(e,c,s);break;default:throw Error(Te(161))}}catch(l){On(e,e.return,l)}e.flags&=-3}t&4096&&(e.flags&=-4097)}o(ei,"ek");function wte(e,t,n){at=e,r9(e)}o(wte,"hk");function r9(e,t,n){for(var r=(e.mode&1)!==0;at!==null;){var a=at,i=a.child;if(a.tag===22&&r){var s=a.memoizedState!==null||fv;if(!s){var c=a.alternate,l=c!==null&&c.memoizedState!==null||Ir;c=fv;var u=Ir;if(fv=s,(Ir=l)&&!u)for(at=a;at!==null;)s=at,l=s.child,s.tag===22&&s.memoizedState!==null?MT(a):l!==null?(l.return=s,at=l):MT(a);for(;i!==null;)at=i,r9(i),i=i.sibling;at=a,fv=c,Ir=u}AT(e)}else a.subtreeFlags&8772&&i!==null?(i.return=a,at=i):AT(e)}}o(r9,"ik");function AT(e){for(;at!==null;){var t=at;if(t.flags&8772){var n=t.alternate;try{if(t.flags&8772)switch(t.tag){case 0:case 11:case 15:Ir||ex(5,t);break;case 1:var r=t.stateNode;if(t.flags&4&&!Ir)if(n===null)r.componentDidMount();else{var a=t.elementType===t.type?n.memoizedProps:Eo(t.type,n.memoizedProps);r.componentDidUpdate(a,n.memoizedState,r.__reactInternalSnapshotBeforeUpdate)}var i=t.updateQueue;i!==null&&mT(t,i,r);break;case 3:var s=t.updateQueue;if(s!==null){if(n=null,t.child!==null)switch(t.child.tag){case 5:n=t.child.stateNode;break;case 1:n=t.child.stateNode}mT(t,s,n)}break;case 5:var c=t.stateNode;if(n===null&&t.flags&4){n=c;var l=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":l.autoFocus&&n.focus();break;case"img":l.src&&(n.src=l.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(t.memoizedState===null){var u=t.alternate;if(u!==null){var d=u.memoizedState;if(d!==null){var p=d.dehydrated;p!==null&&Qm(p)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(Te(163))}Ir||t.flags&512&&Pj(t)}catch(m){On(t,t.return,m)}}if(t===e){at=null;break}if(n=t.sibling,n!==null){n.return=t.return,at=n;break}at=t.return}}o(AT,"kk");function PT(e){for(;at!==null;){var t=at;if(t===e){at=null;break}var n=t.sibling;if(n!==null){n.return=t.return,at=n;break}at=t.return}}o(PT,"gk");function MT(e){for(;at!==null;){var t=at;try{switch(t.tag){case 0:case 11:case 15:var n=t.return;try{ex(4,t)}catch(l){On(t,n,l)}break;case 1:var r=t.stateNode;if(typeof r.componentDidMount=="function"){var a=t.return;try{r.componentDidMount()}catch(l){On(t,a,l)}}var i=t.return;try{Pj(t)}catch(l){On(t,i,l)}break;case 5:var s=t.return;try{Pj(t)}catch(l){On(t,s,l)}}}catch(l){On(t,t.return,l)}if(t===e){at=null;break}var c=t.sibling;if(c!==null){c.return=t.return,at=c;break}at=t.return}}o(MT,"jk");var Cte=Math.ceil,db=ws.ReactCurrentDispatcher,pk=ws.ReactCurrentOwner,uo=ws.ReactCurrentBatchConfig,Ut=0,gr=null,er=null,kr=0,ka=0,Hu=Cc(0),sr=0,ch=null,_l=0,tx=0,mk=0,$m=null,ua=null,hk=0,af=1/0,Yi=null,fb=!1,Oj=null,cc=null,pv=!1,Qs=null,pb=0,_m=0,zj=null,ny=-1,ry=0;function Yr(){return Ut&6?Un():ny!==-1?ny:ny=Un()}o(Yr,"R$3");function lc(e){return e.mode&1?Ut&2&&kr!==0?kr&-kr:ote.transition!==null?(ry===0&&(ry=BN()),ry):(e=tn,e!==0||(e=window.event,e=e===void 0?16:KN(e.type)),e):1}o(lc,"yi$2");function Do(e,t,n,r){if(50<_m)throw _m=0,zj=null,Error(Te(185));Xh(e,n,r),(!(Ut&2)||e!==gr)&&(e===gr&&(!(Ut&2)&&(tx|=n),sr===4&&Ns(e,kr)),ga(e,r),n===1&&Ut===0&&!(t.mode&1)&&(af=Un()+500,Q0&&Sc()))}o(Do,"gi$1");function ga(e,t){var n=e.callbackNode;oee(e,t);var r=Yy(e,e===gr?kr:0);if(r===0)n!==null&&BM(n),e.callbackNode=null,e.callbackPriority=0;else if(t=r&-r,e.callbackPriority!==t){if(n!=null&&BM(n),t===1)e.tag===0?ate(TT.bind(null,e)):pF(TT.bind(null,e)),ete(function(){!(Ut&6)&&Sc()}),n=null;else{switch(WN(r)){case 1:n=B_;break;case 4:n=NN;break;case 16:n=Jy;break;case 536870912:n=FN;break;default:n=Jy}n=d9(n,a9.bind(null,e))}e.callbackPriority=t,e.callbackNode=n}}o(ga,"Dk");function a9(e,t){if(ny=-1,ry=0,Ut&6)throw Error(Te(327));var n=e.callbackNode;if(ad()&&e.callbackNode!==n)return null;var r=Yy(e,e===gr?kr:0);if(r===0)return null;if(r&30||r&e.expiredLanes||t)t=mb(e,r);else{t=r;var a=Ut;Ut|=2;var i=i9();(gr!==e||kr!==t)&&(Yi=null,af=Un()+500,ml(e,t));do try{$te();break}catch(c){o9(e,c)}while(!0);ek(),db.current=i,Ut=a,er!==null?t=0:(gr=null,kr=0,t=sr)}if(t!==0){if(t===2&&(a=cj(e),a!==0&&(r=a,t=Ij(e,a))),t===1)throw n=ch,ml(e,0),Ns(e,r),ga(e,Un()),n;if(t===6)Ns(e,r);else{if(a=e.current.alternate,!(r&30)&&!Ste(a)&&(t=mb(e,r),t===2&&(i=cj(e),i!==0&&(r=i,t=Ij(e,i))),t===1))throw n=ch,ml(e,0),Ns(e,r),ga(e,Un()),n;switch(e.finishedWork=a,e.finishedLanes=r,t){case 0:case 1:throw Error(Te(345));case 2:Dc(e,ua,Yi);break;case 3:if(Ns(e,r),(r&130023424)===r&&(t=hk+500-Un(),10<t)){if(Yy(e,0)!==0)break;if(a=e.suspendedLanes,(a&r)!==r){Yr(),e.pingedLanes|=e.suspendedLanes&a;break}e.timeoutHandle=gj(Dc.bind(null,e,ua,Yi),t);break}Dc(e,ua,Yi);break;case 4:if(Ns(e,r),(r&4194240)===r)break;for(t=e.eventTimes,a=-1;0<r;){var s=31-Lo(r);i=1<<s,s=t[s],s>a&&(a=s),r&=~i}if(r=a,r=Un()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*Cte(r/1960))-r,10<r){e.timeoutHandle=gj(Dc.bind(null,e,ua,Yi),r);break}Dc(e,ua,Yi);break;case 5:Dc(e,ua,Yi);break;default:throw Error(Te(329))}}}return ga(e,Un()),e.callbackNode===n?a9.bind(null,e):null}o(a9,"Gk");function Ij(e,t){var n=$m;return e.current.memoizedState.isDehydrated&&(ml(e,t).flags|=256),e=mb(e,t),e!==2&&(t=ua,ua=n,t!==null&&Lj(t)),e}o(Ij,"Nk");function Lj(e){ua===null?ua=e:ua.push.apply(ua,e)}o(Lj,"Fj");function Ste(e){for(var t=e;;){if(t.flags&16384){var n=t.updateQueue;if(n!==null&&(n=n.stores,n!==null))for(var r=0;r<n.length;r++){var a=n[r],i=a.getSnapshot;a=a.value;try{if(!No(i(),a))return!1}catch{return!1}}}if(n=t.child,t.subtreeFlags&16384&&n!==null)n.return=t,t=n;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}o(Ste,"Ok");function Ns(e,t){for(t&=~mk,t&=~tx,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-Lo(t),r=1<<n;e[n]=-1,t&=~r}}o(Ns,"Ck");function TT(e){if(Ut&6)throw Error(Te(327));ad();var t=Yy(e,0);if(!(t&1))return ga(e,Un()),null;var n=mb(e,t);if(e.tag!==0&&n===2){var r=cj(e);r!==0&&(t=r,n=Ij(e,r))}if(n===1)throw n=ch,ml(e,0),Ns(e,t),ga(e,Un()),n;if(n===6)throw Error(Te(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,Dc(e,ua,Yi),ga(e,Un()),null}o(TT,"Ek");function gk(e,t){var n=Ut;Ut|=1;try{return e(t)}finally{Ut=n,Ut===0&&(af=Un()+500,Q0&&Sc())}}o(gk,"Qk");function kl(e){Qs!==null&&Qs.tag===0&&!(Ut&6)&&ad();var t=Ut;Ut|=1;var n=uo.transition,r=tn;try{if(uo.transition=null,tn=1,e)return e()}finally{tn=r,uo.transition=n,Ut=t,!(Ut&6)&&Sc()}}o(kl,"Rk");function vk(){ka=Hu.current,wn(Hu)}o(vk,"Hj");function ml(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(n!==-1&&(e.timeoutHandle=-1,Zee(n)),er!==null)for(n=er.return;n!==null;){var r=n;switch(Q_(r),r.tag){case 1:r=r.type.childContextTypes,r!=null&&tb();break;case 3:nf(),wn(ma),wn(Nr),ik();break;case 5:ok(r);break;case 4:nf();break;case 13:wn(_n);break;case 19:wn(_n);break;case 10:tk(r.type._context);break;case 22:case 23:vk()}n=n.return}if(gr=e,er=e=uc(e.current,null),kr=ka=t,sr=0,ch=null,mk=tx=_l=0,ua=$m=null,Gc!==null){for(t=0;t<Gc.length;t++)if(n=Gc[t],r=n.interleaved,r!==null){n.interleaved=null;var a=r.next,i=n.pending;if(i!==null){var s=i.next;i.next=a,r.next=s}n.pending=r}Gc=null}return e}o(ml,"Kk");function o9(e,t){do{var n=er;try{if(ek(),Zv.current=ub,lb){for(var r=En.memoizedState;r!==null;){var a=r.queue;a!==null&&(a.pending=null),r=r.next}lb=!1}if($l=0,hr=ir=En=null,Sm=!1,oh=0,pk.current=null,n===null||n.return===null){sr=1,ch=t,er=null;break}e:{var i=e,s=n.return,c=n,l=t;if(t=kr,c.flags|=32768,l!==null&&typeof l=="object"&&typeof l.then=="function"){var u=l,d=c,p=d.tag;if(!(d.mode&1)&&(p===0||p===11||p===15)){var m=d.alternate;m?(d.updateQueue=m.updateQueue,d.memoizedState=m.memoizedState,d.lanes=m.lanes):(d.updateQueue=null,d.memoizedState=null)}var v=xT(s);if(v!==null){v.flags&=-257,wT(v,s,c,i,t),v.mode&1&&bT(i,u,t),t=v,l=u;var h=t.updateQueue;if(h===null){var y=new Set;y.add(l),t.updateQueue=y}else h.add(l);break e}else{if(!(t&1)){bT(i,u,t),yk();break e}l=Error(Te(426))}}else if($n&&c.mode&1){var C=xT(s);if(C!==null){!(C.flags&65536)&&(C.flags|=256),wT(C,s,c,i,t),X_(rf(l,c));break e}}i=l=rf(l,c),sr!==4&&(sr=2),$m===null?$m=[i]:$m.push(i),i=s;do{switch(i.tag){case 3:i.flags|=65536,t&=-t,i.lanes|=t;var w=WF(i,l,t);pT(i,w);break e;case 1:c=l;var x=i.type,b=i.stateNode;if(!(i.flags&128)&&(typeof x.getDerivedStateFromError=="function"||b!==null&&typeof b.componentDidCatch=="function"&&(cc===null||!cc.has(b)))){i.flags|=65536,t&=-t,i.lanes|=t;var S=UF(i,c,t);pT(i,S);break e}}i=i.return}while(i!==null)}c9(n)}catch($){t=$,er===n&&n!==null&&(er=n=n.return);continue}break}while(!0)}o(o9,"Mk");function i9(){var e=db.current;return db.current=ub,e===null?ub:e}o(i9,"Jk");function yk(){(sr===0||sr===3||sr===2)&&(sr=4),gr===null||!(_l&268435455)&&!(tx&268435455)||Ns(gr,kr)}o(yk,"tj");function mb(e,t){var n=Ut;Ut|=2;var r=i9();(gr!==e||kr!==t)&&(Yi=null,ml(e,t));do try{jte();break}catch(a){o9(e,a)}while(!0);if(ek(),Ut=n,db.current=r,er!==null)throw Error(Te(261));return gr=null,kr=0,sr}o(mb,"Ik");function jte(){for(;er!==null;)s9(er)}o(jte,"Tk");function $te(){for(;er!==null&&!YZ();)s9(er)}o($te,"Lk");function s9(e){var t=u9(e.alternate,e,ka);e.memoizedProps=e.pendingProps,t===null?c9(e):er=t,pk.current=null}o(s9,"Uk");function c9(e){var t=e;do{var n=t.alternate;if(e=t.return,t.flags&32768){if(n=yte(n,t),n!==null){n.flags&=32767,er=n;return}if(e!==null)e.flags|=32768,e.subtreeFlags=0,e.deletions=null;else{sr=6,er=null;return}}else if(n=vte(n,t,ka),n!==null){er=n;return}if(t=t.sibling,t!==null){er=t;return}er=t=e}while(t!==null);sr===0&&(sr=5)}o(c9,"Sk");function Dc(e,t,n){var r=tn,a=uo.transition;try{uo.transition=null,tn=1,_te(e,t,n,r)}finally{uo.transition=a,tn=r}return null}o(Dc,"Pk");function _te(e,t,n,r){do ad();while(Qs!==null);if(Ut&6)throw Error(Te(327));n=e.finishedWork;var a=e.finishedLanes;if(n===null)return null;if(e.finishedWork=null,e.finishedLanes=0,n===e.current)throw Error(Te(177));e.callbackNode=null,e.callbackPriority=0;var i=n.lanes|n.childLanes;if(iee(e,i),e===gr&&(er=gr=null,kr=0),!(n.subtreeFlags&2064)&&!(n.flags&2064)||pv||(pv=!0,d9(Jy,function(){return ad(),null})),i=(n.flags&15990)!==0,n.subtreeFlags&15990||i){i=uo.transition,uo.transition=null;var s=tn;tn=1;var c=Ut;Ut|=4,pk.current=null,xte(e,n),n9(n,e),Vee(mj),Qy=!!pj,mj=pj=null,e.current=n,wte(n),QZ(),Ut=c,tn=s,uo.transition=i}else e.current=n;if(pv&&(pv=!1,Qs=e,pb=a),i=e.pendingLanes,i===0&&(cc=null),eee(n.stateNode),ga(e,Un()),t!==null)for(r=e.onRecoverableError,n=0;n<t.length;n++)a=t[n],r(a.value,{componentStack:a.stack,digest:a.digest});if(fb)throw fb=!1,e=Oj,Oj=null,e;return pb&1&&e.tag!==0&&ad(),i=e.pendingLanes,i&1?e===zj?_m++:(_m=0,zj=e):_m=0,Sc(),null}o(_te,"Wk");function ad(){if(Qs!==null){var e=WN(pb),t=uo.transition,n=tn;try{if(uo.transition=null,tn=16>e?16:e,Qs===null)var r=!1;else{if(e=Qs,Qs=null,pb=0,Ut&6)throw Error(Te(331));var a=Ut;for(Ut|=4,at=e.current;at!==null;){var i=at,s=i.child;if(at.flags&16){var c=i.deletions;if(c!==null){for(var l=0;l<c.length;l++){var u=c[l];for(at=u;at!==null;){var d=at;switch(d.tag){case 0:case 11:case 15:jm(8,d,i)}var p=d.child;if(p!==null)p.return=d,at=p;else for(;at!==null;){d=at;var m=d.sibling,v=d.return;if(ZF(d),d===u){at=null;break}if(m!==null){m.return=v,at=m;break}at=v}}}var h=i.alternate;if(h!==null){var y=h.child;if(y!==null){h.child=null;do{var C=y.sibling;y.sibling=null,y=C}while(y!==null)}}at=i}}if(i.subtreeFlags&2064&&s!==null)s.return=i,at=s;else e:for(;at!==null;){if(i=at,i.flags&2048)switch(i.tag){case 0:case 11:case 15:jm(9,i,i.return)}var w=i.sibling;if(w!==null){w.return=i.return,at=w;break e}at=i.return}}var x=e.current;for(at=x;at!==null;){s=at;var b=s.child;if(s.subtreeFlags&2064&&b!==null)b.return=s,at=b;else e:for(s=x;at!==null;){if(c=at,c.flags&2048)try{switch(c.tag){case 0:case 11:case 15:ex(9,c)}}catch($){On(c,c.return,$)}if(c===s){at=null;break e}var S=c.sibling;if(S!==null){S.return=c.return,at=S;break e}at=c.return}}if(Ut=a,Sc(),Ci&&typeof Ci.onPostCommitFiberRoot=="function")try{Ci.onPostCommitFiberRoot(V0,e)}catch{}r=!0}return r}finally{tn=n,uo.transition=t}}return!1}o(ad,"Hk");function OT(e,t,n){t=rf(n,t),t=WF(e,t,1),e=sc(e,t,1),t=Yr(),e!==null&&(Xh(e,1,t),ga(e,t))}o(OT,"Xk");function On(e,t,n){if(e.tag===3)OT(e,e,n);else for(;t!==null;){if(t.tag===3){OT(t,e,n);break}else if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof r.componentDidCatch=="function"&&(cc===null||!cc.has(r))){e=rf(n,e),e=UF(t,e,1),t=sc(t,e,1),e=Yr(),t!==null&&(Xh(t,1,e),ga(t,e));break}}t=t.return}}o(On,"W$5");function kte(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),t=Yr(),e.pingedLanes|=e.suspendedLanes&n,gr===e&&(kr&n)===n&&(sr===4||sr===3&&(kr&130023424)===kr&&500>Un()-hk?ml(e,0):mk|=n),ga(e,t)}o(kte,"Ti$2");function l9(e,t){t===0&&(e.mode&1?(t=rv,rv<<=1,!(rv&130023424)&&(rv=4194304)):t=1);var n=Yr();e=ps(e,t),e!==null&&(Xh(e,t,n),ga(e,n))}o(l9,"Yk");function Ete(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),l9(e,n)}o(Ete,"uj");function Rte(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,a=e.memoizedState;a!==null&&(n=a.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(Te(314))}r!==null&&r.delete(t),l9(e,n)}o(Rte,"bk");var u9;u9=o(function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||ma.current)fa=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return fa=!1,gte(e,t,n);fa=!!(e.flags&131072)}else fa=!1,$n&&t.flags&1048576&&mF(t,ab,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;ty(e,t),e=t.pendingProps;var a=Zd(t,Nr.current);rd(t,n),a=ck(null,t,r,e,a,n);var i=lk();return t.flags|=1,typeof a=="object"&&a!==null&&typeof a.render=="function"&&a.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,ha(r)?(i=!0,nb(t)):i=!1,t.memoizedState=a.state!==null&&a.state!==void 0?a.state:null,rk(t),a.updater=Z0,t.stateNode=a,a._reactInternals=t,Sj(t,r,e,n),t=_j(null,t,r,!0,i,n)):(t.tag=0,$n&&i&&Y_(t),Hr(null,t,a,n),t=t.child),t;case 16:r=t.elementType;e:{switch(ty(e,t),e=t.pendingProps,a=r._init,r=a(r._payload),t.type=r,a=t.tag=Pte(r),e=Eo(r,e),a){case 0:t=$j(null,t,r,e,n);break e;case 1:t=jT(null,t,r,e,n);break e;case 11:t=CT(null,t,r,e,n);break e;case 14:t=ST(null,t,r,Eo(r.type,e),n);break e}throw Error(Te(306,r,""))}return t;case 0:return r=t.type,a=t.pendingProps,a=t.elementType===r?a:Eo(r,a),$j(e,t,r,a,n);case 1:return r=t.type,a=t.pendingProps,a=t.elementType===r?a:Eo(r,a),jT(e,t,r,a,n);case 3:e:{if(GF(t),e===null)throw Error(Te(387));r=t.pendingProps,i=t.memoizedState,a=i.element,xF(e,t),sb(t,r,null,n);var s=t.memoizedState;if(r=s.element,i.isDehydrated)if(i={element:r,isDehydrated:!1,cache:s.cache,pendingSuspenseBoundaries:s.pendingSuspenseBoundaries,transitions:s.transitions},t.updateQueue.baseState=i,t.memoizedState=i,t.flags&256){a=rf(Error(Te(423)),t),t=$T(e,t,r,n,a);break e}else if(r!==a){a=rf(Error(Te(424)),t),t=$T(e,t,r,n,a);break e}else for(Ma=ic(t.stateNode.containerInfo.firstChild),za=t,$n=!0,Po=null,n=yF(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(ef(),r===a){t=ms(e,t,n);break e}Hr(e,t,r,n)}t=t.child}return t;case 5:return wF(t),e===null&&xj(t),r=t.type,a=t.pendingProps,i=e!==null?e.memoizedProps:null,s=a.children,hj(r,a)?s=null:i!==null&&hj(r,i)&&(t.flags|=32),VF(e,t),Hr(e,t,s,n),t.child;case 6:return e===null&&xj(t),null;case 13:return KF(e,t,n);case 4:return ak(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=tf(t,null,r,n):Hr(e,t,r,n),t.child;case 11:return r=t.type,a=t.pendingProps,a=t.elementType===r?a:Eo(r,a),CT(e,t,r,a,n);case 7:return Hr(e,t,t.pendingProps,n),t.child;case 8:return Hr(e,t,t.pendingProps.children,n),t.child;case 12:return Hr(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,a=t.pendingProps,i=t.memoizedProps,s=a.value,hn(ob,r._currentValue),r._currentValue=s,i!==null)if(No(i.value,s)){if(i.children===a.children&&!ma.current){t=ms(e,t,n);break e}}else for(i=t.child,i!==null&&(i.return=t);i!==null;){var c=i.dependencies;if(c!==null){s=i.child;for(var l=c.firstContext;l!==null;){if(l.context===r){if(i.tag===1){l=is(-1,n&-n),l.tag=2;var u=i.updateQueue;if(u!==null){u=u.shared;var d=u.pending;d===null?l.next=l:(l.next=d.next,d.next=l),u.pending=l}}i.lanes|=n,l=i.alternate,l!==null&&(l.lanes|=n),wj(i.return,n,t),c.lanes|=n;break}l=l.next}}else if(i.tag===10)s=i.type===t.type?null:i.child;else if(i.tag===18){if(s=i.return,s===null)throw Error(Te(341));s.lanes|=n,c=s.alternate,c!==null&&(c.lanes|=n),wj(s,n,t),s=i.sibling}else s=i.child;if(s!==null)s.return=i;else for(s=i;s!==null;){if(s===t){s=null;break}if(i=s.sibling,i!==null){i.return=s.return,s=i;break}s=s.return}i=s}Hr(e,t,a.children,n),t=t.child}return t;case 9:return a=t.type,r=t.pendingProps.children,rd(t,n),a=mo(a),r=r(a),t.flags|=1,Hr(e,t,r,n),t.child;case 14:return r=t.type,a=Eo(r,t.pendingProps),a=Eo(r.type,a),ST(e,t,r,a,n);case 15:return HF(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,a=t.pendingProps,a=t.elementType===r?a:Eo(r,a),ty(e,t),t.tag=1,ha(r)?(e=!0,nb(t)):e=!1,rd(t,n),BF(t,r,a),Sj(t,r,a,n),_j(null,t,r,!0,e,n);case 19:return JF(e,t,n);case 22:return qF(e,t,n)}throw Error(Te(156,t.tag))},"Vk");function d9(e,t){return DN(e,t)}o(d9,"Fk");function Ate(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,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}o(Ate,"$k");function co(e,t,n,r){return new Ate(e,t,n,r)}o(co,"Bg");function bk(e){return e=e.prototype,!(!e||!e.isReactComponent)}o(bk,"aj");function Pte(e){if(typeof e=="function")return bk(e)?1:0;if(e!=null){if(e=e.$$typeof,e===D_)return 11;if(e===N_)return 14}return 2}o(Pte,"Zk");function uc(e,t){var n=e.alternate;return n===null?(n=co(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}o(uc,"Pg");function ay(e,t,n,r,a,i){var s=2;if(r=e,typeof e=="function")bk(e)&&(s=1);else if(typeof e=="string")s=5;else e:switch(e){case Ou:return hl(n.children,a,i,t);case L_:s=8,a|=8;break;case GS:return e=co(12,n,t,a|2),e.elementType=GS,e.lanes=i,e;case KS:return e=co(13,n,t,a),e.elementType=KS,e.lanes=i,e;case JS:return e=co(19,n,t,a),e.elementType=JS,e.lanes=i,e;case wN:return nx(n,a,i,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case bN:s=10;break e;case xN:s=9;break e;case D_:s=11;break e;case N_:s=14;break e;case Is:s=16,r=null;break e}throw Error(Te(130,e==null?e:typeof e,""))}return t=co(s,n,t,a),t.elementType=e,t.type=r,t.lanes=i,t}o(ay,"Rg");function hl(e,t,n,r){return e=co(7,e,r,t),e.lanes=n,e}o(hl,"Tg");function nx(e,t,n,r){return e=co(22,e,r,t),e.elementType=wN,e.lanes=n,e.stateNode={isHidden:!1},e}o(nx,"pj");function g2(e,t,n){return e=co(6,e,null,t),e.lanes=n,e}o(g2,"Qg");function v2(e,t,n){return t=co(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}o(v2,"Sg");function Mte(e,t,n,r,a){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Qw(0),this.expirationTimes=Qw(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Qw(0),this.identifierPrefix=r,this.onRecoverableError=a,this.mutableSourceEagerHydrationData=null}o(Mte,"al$1");function xk(e,t,n,r,a,i,s,c,l){return e=new Mte(e,t,n,c,l),t===1?(t=1,i===!0&&(t|=8)):t=0,i=co(3,null,null,t),e.current=i,i.stateNode=e,i.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},rk(i),e}o(xk,"bl$1");function Tte(e,t,n){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:Tu,key:r==null?null:""+r,children:e,containerInfo:t,implementation:n}}o(Tte,"cl$1");function f9(e){if(!e)return hc;e=e._reactInternals;e:{if(Ul(e)!==e||e.tag!==1)throw Error(Te(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(ha(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(t!==null);throw Error(Te(171))}if(e.tag===1){var n=e.type;if(ha(n))return fF(e,n,t)}return t}o(f9,"dl$1");function p9(e,t,n,r,a,i,s,c,l){return e=xk(n,r,!0,e,a,i,s,c,l),e.context=f9(null),n=e.current,r=Yr(),a=lc(n),i=is(r,a),i.callback=t??null,sc(n,i,a),e.current.lanes=a,Xh(e,a,r),ga(e,r),e}o(p9,"el$1");function rx(e,t,n,r){var a=t.current,i=Yr(),s=lc(a);return n=f9(n),t.context===null?t.context=n:t.pendingContext=n,t=is(i,s),t.payload={element:e},r=r===void 0?null:r,r!==null&&(t.callback=r),e=sc(a,t,s),e!==null&&(Do(e,a,s,i),Xv(e,a,s)),s}o(rx,"fl$1");function hb(e){if(e=e.current,!e.child)return null;switch(e.child.tag){case 5:return e.child.stateNode;default:return e.child.stateNode}}o(hb,"gl$1");function zT(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}o(zT,"hl$1");function wk(e,t){zT(e,t),(e=e.alternate)&&zT(e,t)}o(wk,"il$1");function Ote(){return null}o(Ote,"jl$1");var m9=typeof reportError=="function"?reportError:function(e){console.error(e)};function Ck(e){this._internalRoot=e}o(Ck,"ll$1");ax.prototype.render=Ck.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(Te(409));rx(e,t,null,null)};ax.prototype.unmount=Ck.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;kl(function(){rx(null,e,null,null)}),t[fs]=null}};function ax(e){this._internalRoot=e}o(ax,"ml$1");ax.prototype.unstable_scheduleHydration=function(e){if(e){var t=qN();e={blockedOn:null,target:e,priority:t};for(var n=0;n<Ds.length&&t!==0&&t<Ds[n].priority;n++);Ds.splice(n,0,e),n===0&&GN(e)}};function Sk(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}o(Sk,"nl$1");function ox(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11&&(e.nodeType!==8||e.nodeValue!==" react-mount-point-unstable "))}o(ox,"ol$1");function IT(){}o(IT,"pl$1");function zte(e,t,n,r,a){if(a){if(typeof r=="function"){var i=r;r=o(function(){var u=hb(s);i.call(u)},"d")}var s=p9(t,r,e,0,null,!1,!1,"",IT);return e._reactRootContainer=s,e[fs]=s.current,eh(e.nodeType===8?e.parentNode:e),kl(),s}for(;a=e.lastChild;)e.removeChild(a);if(typeof r=="function"){var c=r;r=o(function(){var u=hb(l);c.call(u)},"d")}var l=xk(e,0,!1,null,null,!1,!1,"",IT);return e._reactRootContainer=l,e[fs]=l.current,eh(e.nodeType===8?e.parentNode:e),kl(function(){rx(t,l,n,r)}),l}o(zte,"ql$1");function ix(e,t,n,r,a){var i=n._reactRootContainer;if(i){var s=i;if(typeof a=="function"){var c=a;a=o(function(){var l=hb(s);c.call(l)},"e")}rx(t,s,e,a)}else s=zte(n,t,e,a,r);return hb(s)}o(ix,"rl$1");UN=o(function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var n=lm(t.pendingLanes);n!==0&&(W_(t,n|1),ga(t,Un()),!(Ut&6)&&(af=Un()+500,Sc()))}break;case 13:kl(function(){var r=ps(e,1);if(r!==null){var a=Yr();Do(r,e,1,a)}}),wk(e,1)}},"Ec$1");U_=o(function(e){if(e.tag===13){var t=ps(e,134217728);if(t!==null){var n=Yr();Do(t,e,134217728,n)}wk(e,134217728)}},"Fc$1");HN=o(function(e){if(e.tag===13){var t=lc(e),n=ps(e,t);if(n!==null){var r=Yr();Do(n,e,t,r)}wk(e,t)}},"Gc$1");qN=o(function(){return tn},"Hc$1");VN=o(function(e,t){var n=tn;try{return tn=e,t()}finally{tn=n}},"Ic$1");oj=o(function(e,t,n){switch(t){case"input":if(XS(e,n),t=n.name,n.type==="radio"&&t!=null){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var a=Y0(r);if(!a)throw Error(Te(90));SN(r),XS(r,a)}}}break;case"textarea":$N(e,n);break;case"select":t=n.value,t!=null&&Zu(e,!!n.multiple,t,!1)}},"yb");MN=gk;TN=kl;var Ite={usingClientEntryPoint:!1,Events:[eg,Du,Y0,AN,PN,gk]},Op={findFiberByHostInstance:Vc,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},Lte={bundleType:Op.bundleType,version:Op.version,rendererPackageName:Op.rendererPackageName,rendererConfig:Op.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:ws.ReactCurrentDispatcher,findHostInstanceByFiber:o(function(e){return e=IN(e),e===null?null:e.stateNode},"findHostInstanceByFiber"),findFiberByHostInstance:Op.findFiberByHostInstance||Ote,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var mv=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!mv.isDisabled&&mv.supportsFiber)try{V0=mv.inject(Lte),Ci=mv}catch{}}Wa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=Ite;Wa.createPortal=function(e,t){var n=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!Sk(t))throw Error(Te(200));return Tte(e,t,null,n)};Wa.createRoot=function(e,t){if(!Sk(e))throw Error(Te(299));var n=!1,r="",a=m9;return t!=null&&(t.unstable_strictMode===!0&&(n=!0),t.identifierPrefix!==void 0&&(r=t.identifierPrefix),t.onRecoverableError!==void 0&&(a=t.onRecoverableError)),t=xk(e,1,!1,null,null,n,!1,r,a),e[fs]=t.current,eh(e.nodeType===8?e.parentNode:e),new Ck(t)};Wa.findDOMNode=function(e){if(e==null)return null;if(e.nodeType===1)return e;var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(Te(188)):(e=Object.keys(e).join(","),Error(Te(268,e)));return e=IN(t),e=e===null?null:e.stateNode,e};Wa.flushSync=function(e){return kl(e)};Wa.hydrate=function(e,t,n){if(!ox(t))throw Error(Te(200));return ix(null,e,t,!0,n)};Wa.hydrateRoot=function(e,t,n){if(!Sk(e))throw Error(Te(405));var r=n!=null&&n.hydratedSources||null,a=!1,i="",s=m9;if(n!=null&&(n.unstable_strictMode===!0&&(a=!0),n.identifierPrefix!==void 0&&(i=n.identifierPrefix),n.onRecoverableError!==void 0&&(s=n.onRecoverableError)),t=p9(t,null,e,1,n??null,a,!1,i,s),e[fs]=t.current,eh(e),r)for(e=0;e<r.length;e++)n=r[e],a=n._getVersion,a=a(n._source),t.mutableSourceEagerHydrationData==null?t.mutableSourceEagerHydrationData=[n,a]:t.mutableSourceEagerHydrationData.push(n,a);return new ax(t)};Wa.render=function(e,t,n){if(!ox(t))throw Error(Te(200));return ix(null,e,t,!1,n)};Wa.unmountComponentAtNode=function(e){if(!ox(e))throw Error(Te(40));return e._reactRootContainer?(kl(function(){ix(null,null,e,!1,function(){e._reactRootContainer=null,e[fs]=null})}),!0):!1};Wa.unstable_batchedUpdates=gk;Wa.unstable_renderSubtreeIntoContainer=function(e,t,n,r){if(!ox(n))throw Error(Te(200));if(e==null||e._reactInternals===void 0)throw Error(Te(38));return ix(e,t,n,!1,r)};Wa.version="18.3.1-next-f1338f8080-20240426";function h9(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(h9)}catch(e){console.error(e)}}o(h9,"checkDCE");h9(),hN.exports=Wa;var Nf=hN.exports;const dm=Qt(Nf),Dte=nN({__proto__:null,default:dm},[Nf]);var g9,LT=Nf;g9=LT.createRoot,LT.hydrateRoot;const jk=g.createContext(void 0);jk.displayName="AuthContext";const sx={loginUrl:"/login",afterLoginUrl:"/"},Cs=o(()=>g.useContext(jk),"useAuthProvider");var _d,Ff=(_d=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(t){return this.listeners.add(t),this.onSubscribe(),()=>{this.listeners.delete(t),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},o(_d,"Subscribable"),_d),of=typeof window>"u"||"Deno"in window;function Xa(){}o(Xa,"noop$f");function Nte(e,t){return typeof e=="function"?e(t):e}o(Nte,"functionalUpdate");function Dj(e){return typeof e=="number"&&e>=0&&e!==1/0}o(Dj,"isValidTimeout");function v9(e,t){return Math.max(e+(t||0)-Date.now(),0)}o(v9,"timeUntilStale");function DT(e,t){const{type:n="all",exact:r,fetchStatus:a,predicate:i,queryKey:s,stale:c}=e;if(s){if(r){if(t.queryHash!==$k(s,t.options))return!1}else if(!lh(t.queryKey,s))return!1}if(n!=="all"){const l=t.isActive();if(n==="active"&&!l||n==="inactive"&&l)return!1}return!(typeof c=="boolean"&&t.isStale()!==c||typeof a<"u"&&a!==t.state.fetchStatus||i&&!i(t))}o(DT,"matchQuery");function NT(e,t){const{exact:n,status:r,predicate:a,mutationKey:i}=e;if(i){if(!t.options.mutationKey)return!1;if(n){if(El(t.options.mutationKey)!==El(i))return!1}else if(!lh(t.options.mutationKey,i))return!1}return!(r&&t.state.status!==r||a&&!a(t))}o(NT,"matchMutation");function $k(e,t){return((t==null?void 0:t.queryKeyHashFn)||El)(e)}o($k,"hashQueryKeyByOptions");function El(e){return JSON.stringify(e,(t,n)=>Nj(n)?Object.keys(n).sort().reduce((r,a)=>(r[a]=n[a],r),{}):n)}o(El,"hashKey");function lh(e,t){return e===t?!0:typeof e!=typeof t?!1:e&&t&&typeof e=="object"&&typeof t=="object"?!Object.keys(t).some(n=>!lh(e[n],t[n])):!1}o(lh,"partialMatchKey");function y9(e,t){if(e===t)return e;const n=FT(e)&&FT(t);if(n||Nj(e)&&Nj(t)){const r=n?e.length:Object.keys(e).length,a=n?t:Object.keys(t),i=a.length,s=n?[]:{};let c=0;for(let l=0;l<i;l++){const u=n?l:a[l];s[u]=y9(e[u],t[u]),s[u]===e[u]&&c++}return r===i&&c===r?e:s}return t}o(y9,"replaceEqualDeep");function gb(e,t){if(e&&!t||t&&!e)return!1;for(const n in e)if(e[n]!==t[n])return!1;return!0}o(gb,"shallowEqualObjects");function FT(e){return Array.isArray(e)&&e.length===Object.keys(e).length}o(FT,"isPlainArray");function Nj(e){if(!BT(e))return!1;const t=e.constructor;if(typeof t>"u")return!0;const n=t.prototype;return!(!BT(n)||!n.hasOwnProperty("isPrototypeOf"))}o(Nj,"isPlainObject$5");function BT(e){return Object.prototype.toString.call(e)==="[object Object]"}o(BT,"hasObjectPrototype");function b9(e){return new Promise(t=>{setTimeout(t,e)})}o(b9,"sleep");function WT(e){b9(0).then(e)}o(WT,"scheduleMicrotask");function Fj(e,t,n){return typeof n.structuralSharing=="function"?n.structuralSharing(e,t):n.structuralSharing!==!1?y9(e,t):t}o(Fj,"replaceData");function Fte(e,t,n=0){const r=[...e,t];return n&&r.length>n?r.slice(1):r}o(Fte,"addToEnd");function Bte(e,t,n=0){const r=[t,...e];return n&&r.length>n?r.slice(0,-1):r}o(Bte,"addToStart");var il,Ws,kd,Ed,Wte=(Ed=class extends Ff{constructor(){super();pt(this,il);pt(this,Ws);pt(this,kd);He(this,kd,n=>{if(!of&&window.addEventListener){const r=o(()=>n(),"listener");return window.addEventListener("visibilitychange",r,!1),()=>{window.removeEventListener("visibilitychange",r)}}})}onSubscribe(){q(this,Ws)||this.setEventListener(q(this,kd))}onUnsubscribe(){var n;this.hasListeners()||((n=q(this,Ws))==null||n.call(this),He(this,Ws,void 0))}setEventListener(n){var r;He(this,kd,n),(r=q(this,Ws))==null||r.call(this),He(this,Ws,n(a=>{typeof a=="boolean"?this.setFocused(a):this.onFocus()}))}setFocused(n){q(this,il)!==n&&(He(this,il,n),this.onFocus())}onFocus(){this.listeners.forEach(n=>{n()})}isFocused(){var n;return typeof q(this,il)=="boolean"?q(this,il):((n=globalThis.document)==null?void 0:n.visibilityState)!=="hidden"}},il=new WeakMap,Ws=new WeakMap,kd=new WeakMap,o(Ed,"FocusManager"),Ed),vb=new Wte,Rd,Us,Ad,Pd,Ute=(Pd=class extends Ff{constructor(){super();pt(this,Rd,!0);pt(this,Us);pt(this,Ad);He(this,Ad,n=>{if(!of&&window.addEventListener){const r=o(()=>n(!0),"onlineListener"),a=o(()=>n(!1),"offlineListener");return window.addEventListener("online",r,!1),window.addEventListener("offline",a,!1),()=>{window.removeEventListener("online",r),window.removeEventListener("offline",a)}}})}onSubscribe(){q(this,Us)||this.setEventListener(q(this,Ad))}onUnsubscribe(){var n;this.hasListeners()||((n=q(this,Us))==null||n.call(this),He(this,Us,void 0))}setEventListener(n){var r;He(this,Ad,n),(r=q(this,Us))==null||r.call(this),He(this,Us,n(this.setOnline.bind(this)))}setOnline(n){q(this,Rd)!==n&&(He(this,Rd,n),this.listeners.forEach(a=>{a(n)}))}isOnline(){return q(this,Rd)}},Rd=new WeakMap,Us=new WeakMap,Ad=new WeakMap,o(Pd,"OnlineManager"),Pd),yb=new Ute;function Hte(e){return Math.min(1e3*2**e,3e4)}o(Hte,"defaultRetryDelay");function cx(e){return(e??"online")==="online"?yb.isOnline():!0}o(cx,"canFetch");var Md,x9=(Md=class{constructor(t){this.revert=t==null?void 0:t.revert,this.silent=t==null?void 0:t.silent}},o(Md,"CancelledError"),Md);function y2(e){return e instanceof x9}o(y2,"isCancelledError");function w9(e){let t=!1,n=0,r=!1,a,i,s;const c=new Promise((C,w)=>{i=C,s=w}),l=o(C=>{var w;r||(v(new x9(C)),(w=e.abort)==null||w.call(e))},"cancel"),u=o(()=>{t=!0},"cancelRetry"),d=o(()=>{t=!1},"continueRetry"),p=o(()=>!vb.isFocused()||e.networkMode!=="always"&&!yb.isOnline(),"shouldPause"),m=o(C=>{var w;r||(r=!0,(w=e.onSuccess)==null||w.call(e,C),a==null||a(),i(C))},"resolve"),v=o(C=>{var w;r||(r=!0,(w=e.onError)==null||w.call(e,C),a==null||a(),s(C))},"reject"),h=o(()=>new Promise(C=>{var w;a=o(x=>{const b=r||!p();return b&&C(x),b},"continueFn"),(w=e.onPause)==null||w.call(e)}).then(()=>{var C;a=void 0,r||(C=e.onContinue)==null||C.call(e)}),"pause"),y=o(()=>{if(r)return;let C;try{C=e.fn()}catch(w){C=Promise.reject(w)}Promise.resolve(C).then(m).catch(w=>{var j;if(r)return;const x=e.retry??(of?0:3),b=e.retryDelay??Hte,S=typeof b=="function"?b(n,w):b,$=x===!0||typeof x=="number"&&n<x||typeof x=="function"&&x(n,w);if(t||!$){v(w);return}n++,(j=e.onFail)==null||j.call(e,n,w),b9(S).then(()=>{if(p())return h()}).then(()=>{t?v(w):y()})})},"run");return cx(e.networkMode)?y():h().then(y),{promise:c,cancel:l,continue:o(()=>(a==null?void 0:a())?c:Promise.resolve(),"continue"),cancelRetry:u,continueRetry:d}}o(w9,"createRetryer");function qte(){let e=[],t=0,n=o(d=>{d()},"notifyFn"),r=o(d=>{d()},"batchNotifyFn");const a=o(d=>{let p;t++;try{p=d()}finally{t--,t||c()}return p},"batch"),i=o(d=>{t?e.push(d):WT(()=>{n(d)})},"schedule"),s=o(d=>(...p)=>{i(()=>{d(...p)})},"batchCalls"),c=o(()=>{const d=e;e=[],d.length&&WT(()=>{r(()=>{d.forEach(p=>{n(p)})})})},"flush");return{batch:a,batchCalls:s,schedule:i,setNotifyFunction:o(d=>{n=d},"setNotifyFunction"),setBatchNotifyFunction:o(d=>{r=d},"setBatchNotifyFunction")}}o(qte,"createNotifyManager");var Hn=qte(),sl,Td,C9=(Td=class{constructor(){pt(this,sl)}destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),Dj(this.gcTime)&&He(this,sl,setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(t){this.gcTime=Math.max(this.gcTime||0,t??(of?1/0:5*60*1e3))}clearGcTimeout(){q(this,sl)&&(clearTimeout(q(this,sl)),He(this,sl,void 0))}},sl=new WeakMap,o(Td,"Removable"),Td),Od,zd,Ka,Hs,Ja,fr,Gh,cl,Vr,oy,Ki,Id,Vte=(Id=class extends C9{constructor(n){super();pt(this,Vr);pt(this,Od);pt(this,zd);pt(this,Ka);pt(this,Hs);pt(this,Ja);pt(this,fr);pt(this,Gh);pt(this,cl);He(this,cl,!1),He(this,Gh,n.defaultOptions),Et(this,Vr,oy).call(this,n.options),He(this,fr,[]),He(this,Ka,n.cache),this.queryKey=n.queryKey,this.queryHash=n.queryHash,He(this,Od,n.state||Gte(this.options)),this.state=q(this,Od),this.scheduleGc()}get meta(){return this.options.meta}optionalRemove(){!q(this,fr).length&&this.state.fetchStatus==="idle"&&q(this,Ka).remove(this)}setData(n,r){const a=Fj(this.state.data,n,this.options);return Et(this,Vr,Ki).call(this,{data:a,type:"success",dataUpdatedAt:r==null?void 0:r.updatedAt,manual:r==null?void 0:r.manual}),a}setState(n,r){Et(this,Vr,Ki).call(this,{type:"setState",state:n,setStateOptions:r})}cancel(n){var a;const r=q(this,Hs);return(a=q(this,Ja))==null||a.cancel(n),r?r.then(Xa).catch(Xa):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(q(this,Od))}isActive(){return q(this,fr).some(n=>n.options.enabled!==!1)}isDisabled(){return this.getObserversCount()>0&&!this.isActive()}isStale(){return this.state.isInvalidated||!this.state.dataUpdatedAt||q(this,fr).some(n=>n.getCurrentResult().isStale)}isStaleByTime(n=0){return this.state.isInvalidated||!this.state.dataUpdatedAt||!v9(this.state.dataUpdatedAt,n)}onFocus(){var r;const n=q(this,fr).find(a=>a.shouldFetchOnWindowFocus());n==null||n.refetch({cancelRefetch:!1}),(r=q(this,Ja))==null||r.continue()}onOnline(){var r;const n=q(this,fr).find(a=>a.shouldFetchOnReconnect());n==null||n.refetch({cancelRefetch:!1}),(r=q(this,Ja))==null||r.continue()}addObserver(n){q(this,fr).includes(n)||(q(this,fr).push(n),this.clearGcTimeout(),q(this,Ka).notify({type:"observerAdded",query:this,observer:n}))}removeObserver(n){q(this,fr).includes(n)&&(He(this,fr,q(this,fr).filter(r=>r!==n)),q(this,fr).length||(q(this,Ja)&&(q(this,cl)?q(this,Ja).cancel({revert:!0}):q(this,Ja).cancelRetry()),this.scheduleGc()),q(this,Ka).notify({type:"observerRemoved",query:this,observer:n}))}getObserversCount(){return q(this,fr).length}invalidate(){this.state.isInvalidated||Et(this,Vr,Ki).call(this,{type:"invalidate"})}fetch(n,r){var d,p,m,v;if(this.state.fetchStatus!=="idle"){if(this.state.dataUpdatedAt&&(r!=null&&r.cancelRefetch))this.cancel({silent:!0});else if(q(this,Hs))return(d=q(this,Ja))==null||d.continueRetry(),q(this,Hs)}if(n&&Et(this,Vr,oy).call(this,n),!this.options.queryFn){const h=q(this,fr).find(y=>y.options.queryFn);h&&Et(this,Vr,oy).call(this,h.options)}const a=new AbortController,i={queryKey:this.queryKey,meta:this.meta},s=o(h=>{Object.defineProperty(h,"signal",{enumerable:!0,get:o(()=>(He(this,cl,!0),a.signal),"get")})},"addSignalProperty");s(i);const c=o(()=>this.options.queryFn?(He(this,cl,!1),this.options.persister?this.options.persister(this.options.queryFn,i,this):this.options.queryFn(i)):Promise.reject(new Error(`Missing queryFn: '${this.options.queryHash}'`)),"fetchFn"),l={fetchOptions:r,options:this.options,queryKey:this.queryKey,state:this.state,fetchFn:c};s(l),(p=this.options.behavior)==null||p.onFetch(l,this),He(this,zd,this.state),(this.state.fetchStatus==="idle"||this.state.fetchMeta!==((m=l.fetchOptions)==null?void 0:m.meta))&&Et(this,Vr,Ki).call(this,{type:"fetch",meta:(v=l.fetchOptions)==null?void 0:v.meta});const u=o(h=>{var y,C,w,x;y2(h)&&h.silent||Et(this,Vr,Ki).call(this,{type:"error",error:h}),y2(h)||((C=(y=q(this,Ka).config).onError)==null||C.call(y,h,this),(x=(w=q(this,Ka).config).onSettled)==null||x.call(w,this.state.data,h,this)),this.isFetchingOptimistic||this.scheduleGc(),this.isFetchingOptimistic=!1},"onError");return He(this,Ja,w9({fn:l.fetchFn,abort:a.abort.bind(a),onSuccess:o(h=>{var y,C,w,x;if(typeof h>"u"){u(new Error(`${this.queryHash} data is undefined`));return}this.setData(h),(C=(y=q(this,Ka).config).onSuccess)==null||C.call(y,h,this),(x=(w=q(this,Ka).config).onSettled)==null||x.call(w,h,this.state.error,this),this.isFetchingOptimistic||this.scheduleGc(),this.isFetchingOptimistic=!1},"onSuccess"),onError:u,onFail:o((h,y)=>{Et(this,Vr,Ki).call(this,{type:"failed",failureCount:h,error:y})},"onFail"),onPause:o(()=>{Et(this,Vr,Ki).call(this,{type:"pause"})},"onPause"),onContinue:o(()=>{Et(this,Vr,Ki).call(this,{type:"continue"})},"onContinue"),retry:l.options.retry,retryDelay:l.options.retryDelay,networkMode:l.options.networkMode})),He(this,Hs,q(this,Ja).promise),q(this,Hs)}},Od=new WeakMap,zd=new WeakMap,Ka=new WeakMap,Hs=new WeakMap,Ja=new WeakMap,fr=new WeakMap,Gh=new WeakMap,cl=new WeakMap,Vr=new WeakSet,oy=o(function(n){this.options={...q(this,Gh),...n},this.updateGcTime(this.options.gcTime)},"#setOptions"),Ki=o(function(n){const r=o(a=>{switch(n.type){case"failed":return{...a,fetchFailureCount:n.failureCount,fetchFailureReason:n.error};case"pause":return{...a,fetchStatus:"paused"};case"continue":return{...a,fetchStatus:"fetching"};case"fetch":return{...a,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:n.meta??null,fetchStatus:cx(this.options.networkMode)?"fetching":"paused",...!a.dataUpdatedAt&&{error:null,status:"pending"}};case"success":return{...a,data:n.data,dataUpdateCount:a.dataUpdateCount+1,dataUpdatedAt:n.dataUpdatedAt??Date.now(),error:null,isInvalidated:!1,status:"success",...!n.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};case"error":const i=n.error;return y2(i)&&i.revert&&q(this,zd)?{...q(this,zd),fetchStatus:"idle"}:{...a,error:i,errorUpdateCount:a.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:a.fetchFailureCount+1,fetchFailureReason:i,fetchStatus:"idle",status:"error"};case"invalidate":return{...a,isInvalidated:!0};case"setState":return{...a,...n.state}}},"reducer");this.state=r(this.state),Hn.batch(()=>{q(this,fr).forEach(a=>{a.onQueryUpdate()}),q(this,Ka).notify({query:this,type:"updated",action:n})})},"#dispatch"),o(Id,"Query"),Id);function Gte(e){const t=typeof e.initialData=="function"?e.initialData():e.initialData,n=typeof t<"u",r=n?typeof e.initialDataUpdatedAt=="function"?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:n?r??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:n?"success":"pending",fetchStatus:"idle"}}o(Gte,"getDefaultState$1");var ii,Ld,Kte=(Ld=class extends Ff{constructor(n={}){super();pt(this,ii);this.config=n,He(this,ii,new Map)}build(n,r,a){const i=r.queryKey,s=r.queryHash??$k(i,r);let c=this.get(s);return c||(c=new Vte({cache:this,queryKey:i,queryHash:s,options:n.defaultQueryOptions(r),state:a,defaultOptions:n.getQueryDefaults(i)}),this.add(c)),c}add(n){q(this,ii).has(n.queryHash)||(q(this,ii).set(n.queryHash,n),this.notify({type:"added",query:n}))}remove(n){const r=q(this,ii).get(n.queryHash);r&&(n.destroy(),r===n&&q(this,ii).delete(n.queryHash),this.notify({type:"removed",query:n}))}clear(){Hn.batch(()=>{this.getAll().forEach(n=>{this.remove(n)})})}get(n){return q(this,ii).get(n)}getAll(){return[...q(this,ii).values()]}find(n){const r={exact:!0,...n};return this.getAll().find(a=>DT(r,a))}findAll(n={}){const r=this.getAll();return Object.keys(n).length>0?r.filter(a=>DT(n,a)):r}notify(n){Hn.batch(()=>{this.listeners.forEach(r=>{r(n)})})}onFocus(){Hn.batch(()=>{this.getAll().forEach(n=>{n.onFocus()})})}onOnline(){Hn.batch(()=>{this.getAll().forEach(n=>{n.onOnline()})})}},ii=new WeakMap,o(Ld,"QueryCache"),Ld),si,Kh,$a,Dd,ci,Os,Nd,Jte=(Nd=class extends C9{constructor(n){super();pt(this,ci);pt(this,si);pt(this,Kh);pt(this,$a);pt(this,Dd);this.mutationId=n.mutationId,He(this,Kh,n.defaultOptions),He(this,$a,n.mutationCache),He(this,si,[]),this.state=n.state||S9(),this.setOptions(n.options),this.scheduleGc()}setOptions(n){this.options={...q(this,Kh),...n},this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(n){q(this,si).includes(n)||(q(this,si).push(n),this.clearGcTimeout(),q(this,$a).notify({type:"observerAdded",mutation:this,observer:n}))}removeObserver(n){He(this,si,q(this,si).filter(r=>r!==n)),this.scheduleGc(),q(this,$a).notify({type:"observerRemoved",mutation:this,observer:n})}optionalRemove(){q(this,si).length||(this.state.status==="pending"?this.scheduleGc():q(this,$a).remove(this))}continue(){var n;return((n=q(this,Dd))==null?void 0:n.continue())??this.execute(this.state.variables)}async execute(n){var i,s,c,l,u,d,p,m,v,h,y,C,w,x,b,S,$,j,_,k;const r=o(()=>(He(this,Dd,w9({fn:o(()=>this.options.mutationFn?this.options.mutationFn(n):Promise.reject(new Error("No mutationFn found")),"fn"),onFail:o((E,A)=>{Et(this,ci,Os).call(this,{type:"failed",failureCount:E,error:A})},"onFail"),onPause:o(()=>{Et(this,ci,Os).call(this,{type:"pause"})},"onPause"),onContinue:o(()=>{Et(this,ci,Os).call(this,{type:"continue"})},"onContinue"),retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode})),q(this,Dd).promise),"executeMutation"),a=this.state.status==="pending";try{if(!a){Et(this,ci,Os).call(this,{type:"pending",variables:n}),await((s=(i=q(this,$a).config).onMutate)==null?void 0:s.call(i,n,this));const A=await((l=(c=this.options).onMutate)==null?void 0:l.call(c,n));A!==this.state.context&&Et(this,ci,Os).call(this,{type:"pending",context:A,variables:n})}const E=await r();return await((d=(u=q(this,$a).config).onSuccess)==null?void 0:d.call(u,E,n,this.state.context,this)),await((m=(p=this.options).onSuccess)==null?void 0:m.call(p,E,n,this.state.context)),await((h=(v=q(this,$a).config).onSettled)==null?void 0:h.call(v,E,null,this.state.variables,this.state.context,this)),await((C=(y=this.options).onSettled)==null?void 0:C.call(y,E,null,n,this.state.context)),Et(this,ci,Os).call(this,{type:"success",data:E}),E}catch(E){try{throw await((x=(w=q(this,$a).config).onError)==null?void 0:x.call(w,E,n,this.state.context,this)),await((S=(b=this.options).onError)==null?void 0:S.call(b,E,n,this.state.context)),await((j=($=q(this,$a).config).onSettled)==null?void 0:j.call($,void 0,E,this.state.variables,this.state.context,this)),await((k=(_=this.options).onSettled)==null?void 0:k.call(_,void 0,E,n,this.state.context)),E}finally{Et(this,ci,Os).call(this,{type:"error",error:E})}}}},si=new WeakMap,Kh=new WeakMap,$a=new WeakMap,Dd=new WeakMap,ci=new WeakSet,Os=o(function(n){const r=o(a=>{switch(n.type){case"failed":return{...a,failureCount:n.failureCount,failureReason:n.error};case"pause":return{...a,isPaused:!0};case"continue":return{...a,isPaused:!1};case"pending":return{...a,context:n.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:!cx(this.options.networkMode),status:"pending",variables:n.variables,submittedAt:Date.now()};case"success":return{...a,data:n.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...a,data:void 0,error:n.error,failureCount:a.failureCount+1,failureReason:n.error,isPaused:!1,status:"error"}}},"reducer");this.state=r(this.state),Hn.batch(()=>{q(this,si).forEach(a=>{a.onMutationUpdate(n)}),q(this,$a).notify({mutation:this,type:"updated",action:n})})},"#dispatch"),o(Nd,"Mutation"),Nd);function S9(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}o(S9,"getDefaultState");var Ya,Jh,ll,Fd,Yte=(Fd=class extends Ff{constructor(n={}){super();pt(this,Ya);pt(this,Jh);pt(this,ll);this.config=n,He(this,Ya,[]),He(this,Jh,0)}build(n,r,a){const i=new Jte({mutationCache:this,mutationId:++Qg(this,Jh)._,options:n.defaultMutationOptions(r),state:a});return this.add(i),i}add(n){q(this,Ya).push(n),this.notify({type:"added",mutation:n})}remove(n){He(this,Ya,q(this,Ya).filter(r=>r!==n)),this.notify({type:"removed",mutation:n})}clear(){Hn.batch(()=>{q(this,Ya).forEach(n=>{this.remove(n)})})}getAll(){return q(this,Ya)}find(n){const r={exact:!0,...n};return q(this,Ya).find(a=>NT(r,a))}findAll(n={}){return q(this,Ya).filter(r=>NT(n,r))}notify(n){Hn.batch(()=>{this.listeners.forEach(r=>{r(n)})})}resumePausedMutations(){return He(this,ll,(q(this,ll)??Promise.resolve()).then(()=>{const n=q(this,Ya).filter(r=>r.state.isPaused);return Hn.batch(()=>n.reduce((r,a)=>r.then(()=>a.continue().catch(Xa)),Promise.resolve()))}).then(()=>{He(this,ll,void 0)})),q(this,ll)}},Ya=new WeakMap,Jh=new WeakMap,ll=new WeakMap,o(Fd,"MutationCache"),Fd);function Qte(e){return{onFetch:o((t,n)=>{const r=o(async()=>{var h,y,C,w,x;const a=t.options,i=(C=(y=(h=t.fetchOptions)==null?void 0:h.meta)==null?void 0:y.fetchMore)==null?void 0:C.direction,s=((w=t.state.data)==null?void 0:w.pages)||[],c=((x=t.state.data)==null?void 0:x.pageParams)||[],l={pages:[],pageParams:[]};let u=!1;const d=o(b=>{Object.defineProperty(b,"signal",{enumerable:!0,get:o(()=>(t.signal.aborted?u=!0:t.signal.addEventListener("abort",()=>{u=!0}),t.signal),"get")})},"addSignalProperty"),p=t.options.queryFn||(()=>Promise.reject(new Error(`Missing queryFn: '${t.options.queryHash}'`))),m=o(async(b,S,$)=>{if(u)return Promise.reject();if(S==null&&b.pages.length)return Promise.resolve(b);const j={queryKey:t.queryKey,pageParam:S,direction:$?"backward":"forward",meta:t.options.meta};d(j);const _=await p(j),{maxPages:k}=t.options,E=$?Bte:Fte;return{pages:E(b.pages,_,k),pageParams:E(b.pageParams,S,k)}},"fetchPage");let v;if(i&&s.length){const b=i==="backward",S=b?Xte:UT,$={pages:s,pageParams:c},j=S(a,$);v=await m($,j,b)}else{v=await m(l,c[0]??a.initialPageParam);const b=e??s.length;for(let S=1;S<b;S++){const $=UT(a,v);v=await m(v,$)}}return v},"fetchFn");t.options.persister?t.fetchFn=()=>{var a,i;return(i=(a=t.options).persister)==null?void 0:i.call(a,r,{queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},n)}:t.fetchFn=r},"onFetch")}}o(Qte,"infiniteQueryBehavior");function UT(e,{pages:t,pageParams:n}){const r=t.length-1;return e.getNextPageParam(t[r],t,n[r],n)}o(UT,"getNextPageParam");function Xte(e,{pages:t,pageParams:n}){var r;return(r=e.getPreviousPageParam)==null?void 0:r.call(e,t[0],t,n[0],n)}o(Xte,"getPreviousPageParam");var or,qs,Vs,Bd,Wd,Gs,Ud,Hd,qd,Zte=(qd=class{constructor(t={}){pt(this,or);pt(this,qs);pt(this,Vs);pt(this,Bd);pt(this,Wd);pt(this,Gs);pt(this,Ud);pt(this,Hd);He(this,or,t.queryCache||new Kte),He(this,qs,t.mutationCache||new Yte),He(this,Vs,t.defaultOptions||{}),He(this,Bd,new Map),He(this,Wd,new Map),He(this,Gs,0)}mount(){Qg(this,Gs)._++,q(this,Gs)===1&&(He(this,Ud,vb.subscribe(()=>{vb.isFocused()&&(this.resumePausedMutations(),q(this,or).onFocus())})),He(this,Hd,yb.subscribe(()=>{yb.isOnline()&&(this.resumePausedMutations(),q(this,or).onOnline())})))}unmount(){var t,n;Qg(this,Gs)._--,q(this,Gs)===0&&((t=q(this,Ud))==null||t.call(this),He(this,Ud,void 0),(n=q(this,Hd))==null||n.call(this),He(this,Hd,void 0))}isFetching(t){return q(this,or).findAll({...t,fetchStatus:"fetching"}).length}isMutating(t){return q(this,qs).findAll({...t,status:"pending"}).length}getQueryData(t){var n;return(n=q(this,or).find({queryKey:t}))==null?void 0:n.state.data}ensureQueryData(t){const n=this.getQueryData(t.queryKey);return n!==void 0?Promise.resolve(n):this.fetchQuery(t)}getQueriesData(t){return this.getQueryCache().findAll(t).map(({queryKey:n,state:r})=>{const a=r.data;return[n,a]})}setQueryData(t,n,r){const a=q(this,or).find({queryKey:t}),i=a==null?void 0:a.state.data,s=Nte(n,i);if(typeof s>"u")return;const c=this.defaultQueryOptions({queryKey:t});return q(this,or).build(this,c).setData(s,{...r,manual:!0})}setQueriesData(t,n,r){return Hn.batch(()=>this.getQueryCache().findAll(t).map(({queryKey:a})=>[a,this.setQueryData(a,n,r)]))}getQueryState(t){var n;return(n=q(this,or).find({queryKey:t}))==null?void 0:n.state}removeQueries(t){const n=q(this,or);Hn.batch(()=>{n.findAll(t).forEach(r=>{n.remove(r)})})}resetQueries(t,n){const r=q(this,or),a={type:"active",...t};return Hn.batch(()=>(r.findAll(t).forEach(i=>{i.reset()}),this.refetchQueries(a,n)))}cancelQueries(t={},n={}){const r={revert:!0,...n},a=Hn.batch(()=>q(this,or).findAll(t).map(i=>i.cancel(r)));return Promise.all(a).then(Xa).catch(Xa)}invalidateQueries(t={},n={}){return Hn.batch(()=>{if(q(this,or).findAll(t).forEach(a=>{a.invalidate()}),t.refetchType==="none")return Promise.resolve();const r={...t,type:t.refetchType??t.type??"active"};return this.refetchQueries(r,n)})}refetchQueries(t={},n){const r={...n,cancelRefetch:(n==null?void 0:n.cancelRefetch)??!0},a=Hn.batch(()=>q(this,or).findAll(t).filter(i=>!i.isDisabled()).map(i=>{let s=i.fetch(void 0,r);return r.throwOnError||(s=s.catch(Xa)),i.state.fetchStatus==="paused"?Promise.resolve():s}));return Promise.all(a).then(Xa)}fetchQuery(t){const n=this.defaultQueryOptions(t);typeof n.retry>"u"&&(n.retry=!1);const r=q(this,or).build(this,n);return r.isStaleByTime(n.staleTime)?r.fetch(n):Promise.resolve(r.state.data)}prefetchQuery(t){return this.fetchQuery(t).then(Xa).catch(Xa)}fetchInfiniteQuery(t){return t.behavior=Qte(t.pages),this.fetchQuery(t)}prefetchInfiniteQuery(t){return this.fetchInfiniteQuery(t).then(Xa).catch(Xa)}resumePausedMutations(){return q(this,qs).resumePausedMutations()}getQueryCache(){return q(this,or)}getMutationCache(){return q(this,qs)}getDefaultOptions(){return q(this,Vs)}setDefaultOptions(t){He(this,Vs,t)}setQueryDefaults(t,n){q(this,Bd).set(El(t),{queryKey:t,defaultOptions:n})}getQueryDefaults(t){const n=[...q(this,Bd).values()];let r={};return n.forEach(a=>{lh(t,a.queryKey)&&(r={...r,...a.defaultOptions})}),r}setMutationDefaults(t,n){q(this,Wd).set(El(t),{mutationKey:t,defaultOptions:n})}getMutationDefaults(t){const n=[...q(this,Wd).values()];let r={};return n.forEach(a=>{lh(t,a.mutationKey)&&(r={...r,...a.defaultOptions})}),r}defaultQueryOptions(t){if(t!=null&&t._defaulted)return t;const n={...q(this,Vs).queries,...(t==null?void 0:t.queryKey)&&this.getQueryDefaults(t.queryKey),...t,_defaulted:!0};return n.queryHash||(n.queryHash=$k(n.queryKey,n)),typeof n.refetchOnReconnect>"u"&&(n.refetchOnReconnect=n.networkMode!=="always"),typeof n.throwOnError>"u"&&(n.throwOnError=!!n.suspense),typeof n.networkMode>"u"&&n.persister&&(n.networkMode="offlineFirst"),n}defaultMutationOptions(t){return t!=null&&t._defaulted?t:{...q(this,Vs).mutations,...(t==null?void 0:t.mutationKey)&&this.getMutationDefaults(t.mutationKey),...t,_defaulted:!0}}clear(){q(this,or).clear(),q(this,qs).clear()}},or=new WeakMap,qs=new WeakMap,Vs=new WeakMap,Bd=new WeakMap,Wd=new WeakMap,Gs=new WeakMap,Ud=new WeakMap,Hd=new WeakMap,o(qd,"QueryClient"),qd),ia,fn,Vd,zr,ul,Gd,li,Yh,Kd,Jd,dl,fl,Ks,pl,Zt,fm,Bj,Wj,Uj,Hj,qj,Vj,Gj,j9,Yd,ene=(Yd=class extends Ff{constructor(n,r){super();pt(this,Zt);pt(this,ia);pt(this,fn);pt(this,Vd);pt(this,zr);pt(this,ul);pt(this,Gd);pt(this,li);pt(this,Yh);pt(this,Kd);pt(this,Jd);pt(this,dl);pt(this,fl);pt(this,Ks);pt(this,pl);He(this,fn,void 0),He(this,Vd,void 0),He(this,zr,void 0),He(this,pl,new Set),He(this,ia,n),this.options=r,He(this,li,null),this.bindMethods(),this.setOptions(r)}bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(q(this,fn).addObserver(this),HT(q(this,fn),this.options)?Et(this,Zt,fm).call(this):this.updateResult(),Et(this,Zt,Hj).call(this))}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return Kj(q(this,fn),this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return Kj(q(this,fn),this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,Et(this,Zt,qj).call(this),Et(this,Zt,Vj).call(this),q(this,fn).removeObserver(this)}setOptions(n,r){const a=this.options,i=q(this,fn);if(this.options=q(this,ia).defaultQueryOptions(n),gb(a,this.options)||q(this,ia).getQueryCache().notify({type:"observerOptionsUpdated",query:q(this,fn),observer:this}),typeof this.options.enabled<"u"&&typeof this.options.enabled!="boolean")throw new Error("Expected enabled to be a boolean");this.options.queryKey||(this.options.queryKey=a.queryKey),Et(this,Zt,Gj).call(this);const s=this.hasListeners();s&&qT(q(this,fn),i,this.options,a)&&Et(this,Zt,fm).call(this),this.updateResult(r),s&&(q(this,fn)!==i||this.options.enabled!==a.enabled||this.options.staleTime!==a.staleTime)&&Et(this,Zt,Bj).call(this);const c=Et(this,Zt,Wj).call(this);s&&(q(this,fn)!==i||this.options.enabled!==a.enabled||c!==q(this,Ks))&&Et(this,Zt,Uj).call(this,c)}getOptimisticResult(n){const r=q(this,ia).getQueryCache().build(q(this,ia),n),a=this.createResult(r,n);return nne(this,a)&&(He(this,zr,a),He(this,Gd,this.options),He(this,ul,q(this,fn).state)),a}getCurrentResult(){return q(this,zr)}trackResult(n){const r={};return Object.keys(n).forEach(a=>{Object.defineProperty(r,a,{configurable:!1,enumerable:!0,get:o(()=>(q(this,pl).add(a),n[a]),"get")})}),r}getCurrentQuery(){return q(this,fn)}refetch({...n}={}){return this.fetch({...n})}fetchOptimistic(n){const r=q(this,ia).defaultQueryOptions(n),a=q(this,ia).getQueryCache().build(q(this,ia),r);return a.isFetchingOptimistic=!0,a.fetch().then(()=>this.createResult(a,r))}fetch(n){return Et(this,Zt,fm).call(this,{...n,cancelRefetch:n.cancelRefetch??!0}).then(()=>(this.updateResult(),q(this,zr)))}createResult(n,r){var _;const a=q(this,fn),i=this.options,s=q(this,zr),c=q(this,ul),l=q(this,Gd),d=n!==a?n.state:q(this,Vd),{state:p}=n;let{error:m,errorUpdatedAt:v,fetchStatus:h,status:y}=p,C=!1,w;if(r._optimisticResults){const k=this.hasListeners(),E=!k&&HT(n,r),A=k&&qT(n,a,r,i);(E||A)&&(h=cx(n.options.networkMode)?"fetching":"paused",p.dataUpdatedAt||(y="pending")),r._optimisticResults==="isRestoring"&&(h="idle")}if(r.select&&typeof p.data<"u")if(s&&p.data===(c==null?void 0:c.data)&&r.select===q(this,Yh))w=q(this,Kd);else try{He(this,Yh,r.select),w=r.select(p.data),w=Fj(s==null?void 0:s.data,w,r),He(this,Kd,w),He(this,li,null)}catch(k){He(this,li,k)}else w=p.data;if(typeof r.placeholderData<"u"&&typeof w>"u"&&y==="pending"){let k;if(s!=null&&s.isPlaceholderData&&r.placeholderData===(l==null?void 0:l.placeholderData))k=s.data;else if(k=typeof r.placeholderData=="function"?r.placeholderData((_=q(this,Jd))==null?void 0:_.state.data,q(this,Jd)):r.placeholderData,r.select&&typeof k<"u")try{k=r.select(k),He(this,li,null)}catch(E){He(this,li,E)}typeof k<"u"&&(y="success",w=Fj(s==null?void 0:s.data,k,r),C=!0)}q(this,li)&&(m=q(this,li),w=q(this,Kd),v=Date.now(),y="error");const x=h==="fetching",b=y==="pending",S=y==="error",$=b&&x;return{status:y,fetchStatus:h,isPending:b,isSuccess:y==="success",isError:S,isInitialLoading:$,isLoading:$,data:w,dataUpdatedAt:p.dataUpdatedAt,error:m,errorUpdatedAt:v,failureCount:p.fetchFailureCount,failureReason:p.fetchFailureReason,errorUpdateCount:p.errorUpdateCount,isFetched:p.dataUpdateCount>0||p.errorUpdateCount>0,isFetchedAfterMount:p.dataUpdateCount>d.dataUpdateCount||p.errorUpdateCount>d.errorUpdateCount,isFetching:x,isRefetching:x&&!b,isLoadingError:S&&p.dataUpdatedAt===0,isPaused:h==="paused",isPlaceholderData:C,isRefetchError:S&&p.dataUpdatedAt!==0,isStale:_k(n,r),refetch:this.refetch}}updateResult(n){const r=q(this,zr),a=this.createResult(q(this,fn),this.options);if(He(this,ul,q(this,fn).state),He(this,Gd,this.options),q(this,ul).data!==void 0&&He(this,Jd,q(this,fn)),gb(a,r))return;He(this,zr,a);const i={},s=o(()=>{if(!r)return!0;const{notifyOnChangeProps:c}=this.options,l=typeof c=="function"?c():c;if(l==="all"||!l&&!q(this,pl).size)return!0;const u=new Set(l??q(this,pl));return this.options.throwOnError&&u.add("error"),Object.keys(q(this,zr)).some(d=>{const p=d;return q(this,zr)[p]!==r[p]&&u.has(p)})},"shouldNotifyListeners");(n==null?void 0:n.listeners)!==!1&&s()&&(i.listeners=!0),Et(this,Zt,j9).call(this,{...i,...n})}onQueryUpdate(){this.updateResult(),this.hasListeners()&&Et(this,Zt,Hj).call(this)}},ia=new WeakMap,fn=new WeakMap,Vd=new WeakMap,zr=new WeakMap,ul=new WeakMap,Gd=new WeakMap,li=new WeakMap,Yh=new WeakMap,Kd=new WeakMap,Jd=new WeakMap,dl=new WeakMap,fl=new WeakMap,Ks=new WeakMap,pl=new WeakMap,Zt=new WeakSet,fm=o(function(n){Et(this,Zt,Gj).call(this);let r=q(this,fn).fetch(this.options,n);return n!=null&&n.throwOnError||(r=r.catch(Xa)),r},"#executeFetch"),Bj=o(function(){if(Et(this,Zt,qj).call(this),of||q(this,zr).isStale||!Dj(this.options.staleTime))return;const r=v9(q(this,zr).dataUpdatedAt,this.options.staleTime)+1;He(this,dl,setTimeout(()=>{q(this,zr).isStale||this.updateResult()},r))},"#updateStaleTimeout"),Wj=o(function(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(q(this,fn)):this.options.refetchInterval)??!1},"#computeRefetchInterval"),Uj=o(function(n){Et(this,Zt,Vj).call(this),He(this,Ks,n),!(of||this.options.enabled===!1||!Dj(q(this,Ks))||q(this,Ks)===0)&&He(this,fl,setInterval(()=>{(this.options.refetchIntervalInBackground||vb.isFocused())&&Et(this,Zt,fm).call(this)},q(this,Ks)))},"#updateRefetchInterval"),Hj=o(function(){Et(this,Zt,Bj).call(this),Et(this,Zt,Uj).call(this,Et(this,Zt,Wj).call(this))},"#updateTimers"),qj=o(function(){q(this,dl)&&(clearTimeout(q(this,dl)),He(this,dl,void 0))},"#clearStaleTimeout"),Vj=o(function(){q(this,fl)&&(clearInterval(q(this,fl)),He(this,fl,void 0))},"#clearRefetchInterval"),Gj=o(function(){const n=q(this,ia).getQueryCache().build(q(this,ia),this.options);if(n===q(this,fn))return;const r=q(this,fn);He(this,fn,n),He(this,Vd,n.state),this.hasListeners()&&(r==null||r.removeObserver(this),n.addObserver(this))},"#updateQuery"),j9=o(function(n){Hn.batch(()=>{n.listeners&&this.listeners.forEach(r=>{r(q(this,zr))}),q(this,ia).getQueryCache().notify({query:q(this,fn),type:"observerResultsUpdated"})})},"#notify"),o(Yd,"QueryObserver"),Yd);function tne(e,t){return t.enabled!==!1&&!e.state.dataUpdatedAt&&!(e.state.status==="error"&&t.retryOnMount===!1)}o(tne,"shouldLoadOnMount");function HT(e,t){return tne(e,t)||e.state.dataUpdatedAt>0&&Kj(e,t,t.refetchOnMount)}o(HT,"shouldFetchOnMount");function Kj(e,t,n){if(t.enabled!==!1){const r=typeof n=="function"?n(e):n;return r==="always"||r!==!1&&_k(e,t)}return!1}o(Kj,"shouldFetchOn");function qT(e,t,n,r){return n.enabled!==!1&&(e!==t||r.enabled===!1)&&(!n.suspense||e.state.status!=="error")&&_k(e,n)}o(qT,"shouldFetchOptionally");function _k(e,t){return e.isStaleByTime(t.staleTime)}o(_k,"isStale");function nne(e,t){return!gb(e.getCurrentResult(),t)}o(nne,"shouldAssignObserverCurrentProperties");var Js,Ur,Qa,es,us,iy,Jj,Qd,rne=(Qd=class extends Ff{constructor(n,r){super();pt(this,us);pt(this,Js);pt(this,Ur);pt(this,Qa);pt(this,es);He(this,Ur,void 0),He(this,Js,n),this.setOptions(r),this.bindMethods(),Et(this,us,iy).call(this)}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(n){var a;const r=this.options;this.options=q(this,Js).defaultMutationOptions(n),gb(r,this.options)||q(this,Js).getMutationCache().notify({type:"observerOptionsUpdated",mutation:q(this,Qa),observer:this}),(a=q(this,Qa))==null||a.setOptions(this.options)}onUnsubscribe(){var n;this.hasListeners()||(n=q(this,Qa))==null||n.removeObserver(this)}onMutationUpdate(n){Et(this,us,iy).call(this),Et(this,us,Jj).call(this,n)}getCurrentResult(){return q(this,Ur)}reset(){He(this,Qa,void 0),Et(this,us,iy).call(this),Et(this,us,Jj).call(this)}mutate(n,r){var a;return He(this,es,r),(a=q(this,Qa))==null||a.removeObserver(this),He(this,Qa,q(this,Js).getMutationCache().build(q(this,Js),this.options)),q(this,Qa).addObserver(this),q(this,Qa).execute(n)}},Js=new WeakMap,Ur=new WeakMap,Qa=new WeakMap,es=new WeakMap,us=new WeakSet,iy=o(function(){var r;const n=((r=q(this,Qa))==null?void 0:r.state)??S9();He(this,Ur,{...n,isPending:n.status==="pending",isSuccess:n.status==="success",isError:n.status==="error",isIdle:n.status==="idle",mutate:this.mutate,reset:this.reset})},"#updateResult"),Jj=o(function(n){Hn.batch(()=>{var r,a,i,s,c,l,u,d;q(this,es)&&this.hasListeners()&&((n==null?void 0:n.type)==="success"?((a=(r=q(this,es)).onSuccess)==null||a.call(r,n.data,q(this,Ur).variables,q(this,Ur).context),(s=(i=q(this,es)).onSettled)==null||s.call(i,n.data,null,q(this,Ur).variables,q(this,Ur).context)):(n==null?void 0:n.type)==="error"&&((l=(c=q(this,es)).onError)==null||l.call(c,n.error,q(this,Ur).variables,q(this,Ur).context),(d=(u=q(this,es)).onSettled)==null||d.call(u,void 0,n.error,q(this,Ur).variables,q(this,Ur).context))),this.listeners.forEach(p=>{p(q(this,Ur))})})},"#notify"),o(Qd,"MutationObserver"),Qd),$9=g.createContext(void 0),Ha=o(e=>{const t=g.useContext($9);if(!t)throw new Error("No QueryClient set, use QueryClientProvider to set one");return t},"useQueryClient"),ane=o(({client:e,children:t})=>(g.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),g.createElement($9.Provider,{value:e},t)),"QueryClientProvider"),_9=g.createContext(!1),one=o(()=>g.useContext(_9),"useIsRestoring");_9.Provider;function ine(){let e=!1;return{clearReset:o(()=>{e=!1},"clearReset"),reset:o(()=>{e=!0},"reset"),isReset:o(()=>e,"isReset")}}o(ine,"createValue");var sne=g.createContext(ine()),cne=o(()=>g.useContext(sne),"useQueryErrorResetBoundary");function k9(e,t){return typeof e=="function"?e(...t):!!e}o(k9,"shouldThrowError");var lne=o((e,t)=>{(e.suspense||e.throwOnError)&&(t.isReset()||(e.retryOnMount=!1))},"ensurePreventErrorBoundaryRetry"),une=o(e=>{g.useEffect(()=>{e.clearReset()},[e])},"useClearResetErrorBoundary"),dne=o(({result:e,errorResetBoundary:t,throwOnError:n,query:r})=>e.isError&&!t.isReset()&&!e.isFetching&&k9(n,[e.error,r]),"getHasError"),fne=o(e=>{e.suspense&&typeof e.staleTime!="number"&&(e.staleTime=1e3)},"ensureStaleTime"),pne=o((e,t)=>(e==null?void 0:e.suspense)&&t.isPending,"shouldSuspend"),mne=o((e,t,n)=>t.fetchOptimistic(e).catch(()=>{n.clearReset()}),"fetchOptimistic");function hne(e,t,n){const r=Ha(),a=one(),i=cne(),s=r.defaultQueryOptions(e);s._optimisticResults=a?"isRestoring":"optimistic",fne(s),lne(s,i),une(i);const[c]=g.useState(()=>new t(r,s)),l=c.getOptimisticResult(s);if(g.useSyncExternalStore(g.useCallback(u=>{const d=a?()=>{}:c.subscribe(Hn.batchCalls(u));return c.updateResult(),d},[c,a]),()=>c.getCurrentResult(),()=>c.getCurrentResult()),g.useEffect(()=>{c.setOptions(s,{listeners:!1})},[s,c]),pne(s,l))throw mne(s,c,i);if(dne({result:l,errorResetBoundary:i,throwOnError:s.throwOnError,query:c.getCurrentQuery()}))throw l.error;return s.notifyOnChangeProps?l:c.trackResult(l)}o(hne,"useBaseQuery");function Ss(e,t){return hne(e,ene)}o(Ss,"useQuery");function lx(e,t){const n=Ha(),[r]=g.useState(()=>new rne(n,e));g.useEffect(()=>{r.setOptions(e)},[r,e]);const a=g.useSyncExternalStore(g.useCallback(s=>r.subscribe(Hn.batchCalls(s)),[r]),()=>r.getCurrentResult(),()=>r.getCurrentResult()),i=g.useCallback((s,c)=>{r.mutate(s,c).catch(gne)},[r]);if(a.error&&k9(r.options.throwOnError,[a.error]))throw a.error;return{...a,mutate:i,mutateAsync:a.mutate}}o(lx,"useMutation");function gne(){}o(gne,"noop$e");/** + * @remix-run/router v1.15.0 + * + * Copyright (c) Remix Software Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE.md file in the root directory of this source tree. + * + * @license MIT + */function zn(){return zn=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},zn.apply(this,arguments)}o(zn,"_extends$7");var Bn;(function(e){e.Pop="POP",e.Push="PUSH",e.Replace="REPLACE"})(Bn||(Bn={}));const VT="popstate";function vne(e){e===void 0&&(e={});function t(a,i){let{pathname:s="/",search:c="",hash:l=""}=Di(a.location.hash.substr(1));return!s.startsWith("/")&&!s.startsWith(".")&&(s="/"+s),uh("",{pathname:s,search:c,hash:l},i.state&&i.state.usr||null,i.state&&i.state.key||"default")}o(t,"createHashLocation");function n(a,i){let s=a.document.querySelector("base"),c="";if(s&&s.getAttribute("href")){let l=a.location.href,u=l.indexOf("#");c=u===-1?l:l.slice(0,u)}return c+"#"+(typeof i=="string"?i:Rl(i))}o(n,"createHashHref");function r(a,i){gc(a.pathname.charAt(0)==="/","relative pathnames are not supported in hash history.push("+JSON.stringify(i)+")")}return o(r,"validateHashLocation"),bne(t,n,r,e)}o(vne,"createHashHistory");function At(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}o(At,"invariant");function gc(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}o(gc,"warning$1");function yne(){return Math.random().toString(36).substr(2,8)}o(yne,"createKey");function GT(e,t){return{usr:e.state,key:e.key,idx:t}}o(GT,"getHistoryState");function uh(e,t,n,r){return n===void 0&&(n=null),zn({pathname:typeof e=="string"?e:e.pathname,search:"",hash:""},typeof t=="string"?Di(t):t,{state:n,key:t&&t.key||r||yne()})}o(uh,"createLocation");function Rl(e){let{pathname:t="/",search:n="",hash:r=""}=e;return n&&n!=="?"&&(t+=n.charAt(0)==="?"?n:"?"+n),r&&r!=="#"&&(t+=r.charAt(0)==="#"?r:"#"+r),t}o(Rl,"createPath");function Di(e){let t={};if(e){let n=e.indexOf("#");n>=0&&(t.hash=e.substr(n),e=e.substr(0,n));let r=e.indexOf("?");r>=0&&(t.search=e.substr(r),e=e.substr(0,r)),e&&(t.pathname=e)}return t}o(Di,"parsePath");function bne(e,t,n,r){r===void 0&&(r={});let{window:a=document.defaultView,v5Compat:i=!1}=r,s=a.history,c=Bn.Pop,l=null,u=d();u==null&&(u=0,s.replaceState(zn({},s.state,{idx:u}),""));function d(){return(s.state||{idx:null}).idx}o(d,"getIndex");function p(){c=Bn.Pop;let C=d(),w=C==null?null:C-u;u=C,l&&l({action:c,location:y.location,delta:w})}o(p,"handlePop");function m(C,w){c=Bn.Push;let x=uh(y.location,C,w);n&&n(x,C),u=d()+1;let b=GT(x,u),S=y.createHref(x);try{s.pushState(b,"",S)}catch($){if($ instanceof DOMException&&$.name==="DataCloneError")throw $;a.location.assign(S)}i&&l&&l({action:c,location:y.location,delta:1})}o(m,"push");function v(C,w){c=Bn.Replace;let x=uh(y.location,C,w);n&&n(x,C),u=d();let b=GT(x,u),S=y.createHref(x);s.replaceState(b,"",S),i&&l&&l({action:c,location:y.location,delta:0})}o(v,"replace");function h(C){let w=a.location.origin!=="null"?a.location.origin:a.location.href,x=typeof C=="string"?C:Rl(C);return At(w,"No window.location.(origin|href) available to create URL for href: "+x),new URL(x,w)}o(h,"createURL");let y={get action(){return c},get location(){return e(a,s)},listen(C){if(l)throw new Error("A history only accepts one active listener");return a.addEventListener(VT,p),l=C,()=>{a.removeEventListener(VT,p),l=null}},createHref(C){return t(a,C)},createURL:h,encodeLocation(C){let w=h(C);return{pathname:w.pathname,search:w.search,hash:w.hash}},push:m,replace:v,go(C){return s.go(C)}};return y}o(bne,"getUrlBasedHistory");var Tn;(function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"})(Tn||(Tn={}));const xne=new Set(["lazy","caseSensitive","path","id","index","children"]);function wne(e){return e.index===!0}o(wne,"isIndexRoute");function Yj(e,t,n,r){return n===void 0&&(n=[]),r===void 0&&(r={}),e.map((a,i)=>{let s=[...n,i],c=typeof a.id=="string"?a.id:s.join("-");if(At(a.index!==!0||!a.children,"Cannot specify children on an index route"),At(!r[c],'Found a route id collision on id "'+c+`". Route id's must be globally unique within Data Router usages`),wne(a)){let l=zn({},a,t(a),{id:c});return r[c]=l,l}else{let l=zn({},a,t(a),{id:c,children:void 0});return r[c]=l,a.children&&(l.children=Yj(a.children,t,s,r)),l}})}o(Yj,"convertRoutesToDataRoutes");function qu(e,t,n){n===void 0&&(n="/");let r=typeof t=="string"?Di(t):t,a=vc(r.pathname||"/",n);if(a==null)return null;let i=E9(e);Sne(i);let s=null;for(let c=0;s==null&&c<i.length;++c)s=Mne(i[c],One(a));return s}o(qu,"matchRoutes");function Cne(e,t){let{route:n,pathname:r,params:a}=e;return{id:n.id,pathname:r,params:a,data:t[n.id],handle:n.handle}}o(Cne,"convertRouteMatchToUiMatch");function E9(e,t,n,r){t===void 0&&(t=[]),n===void 0&&(n=[]),r===void 0&&(r="");let a=o((i,s,c)=>{let l={relativePath:c===void 0?i.path||"":c,caseSensitive:i.caseSensitive===!0,childrenIndex:s,route:i};l.relativePath.startsWith("/")&&(At(l.relativePath.startsWith(r),'Absolute route path "'+l.relativePath+'" nested under path '+('"'+r+'" is not valid. An absolute child route path ')+"must start with the combined path of all its parent routes."),l.relativePath=l.relativePath.slice(r.length));let u=ss([r,l.relativePath]),d=n.concat(l);i.children&&i.children.length>0&&(At(i.index!==!0,"Index routes must not have child routes. Please remove "+('all child routes from route path "'+u+'".')),E9(i.children,t,d,u)),!(i.path==null&&!i.index)&&t.push({path:u,score:Ane(u,i.index),routesMeta:d})},"flattenRoute");return e.forEach((i,s)=>{var c;if(i.path===""||!((c=i.path)!=null&&c.includes("?")))a(i,s);else for(let l of R9(i.path))a(i,s,l)}),t}o(E9,"flattenRoutes");function R9(e){let t=e.split("/");if(t.length===0)return[];let[n,...r]=t,a=n.endsWith("?"),i=n.replace(/\?$/,"");if(r.length===0)return a?[i,""]:[i];let s=R9(r.join("/")),c=[];return c.push(...s.map(l=>l===""?i:[i,l].join("/"))),a&&c.push(...s),c.map(l=>e.startsWith("/")&&l===""?"/":l)}o(R9,"explodeOptionalSegments");function Sne(e){e.sort((t,n)=>t.score!==n.score?n.score-t.score:Pne(t.routesMeta.map(r=>r.childrenIndex),n.routesMeta.map(r=>r.childrenIndex)))}o(Sne,"rankRouteBranches");const jne=/^:[\w-]+$/,$ne=3,_ne=2,kne=1,Ene=10,Rne=-2,KT=o(e=>e==="*","isSplat");function Ane(e,t){let n=e.split("/"),r=n.length;return n.some(KT)&&(r+=Rne),t&&(r+=_ne),n.filter(a=>!KT(a)).reduce((a,i)=>a+(jne.test(i)?$ne:i===""?kne:Ene),r)}o(Ane,"computeScore");function Pne(e,t){return e.length===t.length&&e.slice(0,-1).every((r,a)=>r===t[a])?e[e.length-1]-t[t.length-1]:0}o(Pne,"compareIndexes");function Mne(e,t){let{routesMeta:n}=e,r={},a="/",i=[];for(let s=0;s<n.length;++s){let c=n[s],l=s===n.length-1,u=a==="/"?t:t.slice(a.length)||"/",d=km({path:c.relativePath,caseSensitive:c.caseSensitive,end:l},u);if(!d)return null;Object.assign(r,d.params);let p=c.route;i.push({params:r,pathname:ss([a,d.pathname]),pathnameBase:Dne(ss([a,d.pathnameBase])),route:p}),d.pathnameBase!=="/"&&(a=ss([a,d.pathnameBase]))}return i}o(Mne,"matchRouteBranch");function km(e,t){typeof e=="string"&&(e={path:e,caseSensitive:!1,end:!0});let[n,r]=Tne(e.path,e.caseSensitive,e.end),a=t.match(n);if(!a)return null;let i=a[0],s=i.replace(/(.)\/+$/,"$1"),c=a.slice(1);return{params:r.reduce((u,d,p)=>{let{paramName:m,isOptional:v}=d;if(m==="*"){let y=c[p]||"";s=i.slice(0,i.length-y.length).replace(/(.)\/+$/,"$1")}const h=c[p];return v&&!h?u[m]=void 0:u[m]=zne(h||"",m),u},{}),pathname:i,pathnameBase:s,pattern:e}}o(km,"matchPath");function Tne(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!0),gc(e==="*"||!e.endsWith("*")||e.endsWith("/*"),'Route path "'+e+'" will be treated as if it were '+('"'+e.replace(/\*$/,"/*")+'" because the `*` character must ')+"always follow a `/` in the pattern. To get rid of this warning, "+('please change the route path to "'+e.replace(/\*$/,"/*")+'".'));let r=[],a="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(s,c,l)=>(r.push({paramName:c,isOptional:l!=null}),l?"/?([^\\/]+)?":"/([^\\/]+)"));return e.endsWith("*")?(r.push({paramName:"*"}),a+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?a+="\\/*$":e!==""&&e!=="/"&&(a+="(?:(?=\\/|$))"),[new RegExp(a,t?void 0:"i"),r]}o(Tne,"compilePath");function One(e){try{return decodeURI(e)}catch(t){return gc(!1,'The URL path "'+e+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent '+("encoding ("+t+").")),e}}o(One,"safelyDecodeURI");function zne(e,t){try{return decodeURIComponent(e)}catch(n){return gc(!1,'The value for the URL param "'+t+'" will not be decoded because'+(' the string "'+e+'" is a malformed URL segment. This is probably')+(" due to a bad percent encoding ("+n+").")),e}}o(zne,"safelyDecodeURIComponent");function vc(e,t){if(t==="/")return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=t.endsWith("/")?t.length-1:t.length,r=e.charAt(n);return r&&r!=="/"?null:e.slice(n)||"/"}o(vc,"stripBasename");function Ine(e,t){t===void 0&&(t="/");let{pathname:n,search:r="",hash:a=""}=typeof e=="string"?Di(e):e;return{pathname:n?n.startsWith("/")?n:Lne(n,t):t,search:Nne(r),hash:Fne(a)}}o(Ine,"resolvePath");function Lne(e,t){let n=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(a=>{a===".."?n.length>1&&n.pop():a!=="."&&n.push(a)}),n.length>1?n.join("/"):"/"}o(Lne,"resolvePathname");function b2(e,t,n,r){return"Cannot include a '"+e+"' character in a manually specified "+("`to."+t+"` field ["+JSON.stringify(r)+"]. Please separate it out to the ")+("`to."+n+"` field. Alternatively you may provide the full path as ")+'a string in <Link to="..."> and the router will parse it for you.'}o(b2,"getInvalidPathError");function A9(e){return e.filter((t,n)=>n===0||t.route.path&&t.route.path.length>0)}o(A9,"getPathContributingMatches");function ux(e,t){let n=A9(e);return t?n.map((r,a)=>a===e.length-1?r.pathname:r.pathnameBase):n.map(r=>r.pathnameBase)}o(ux,"getResolveToMatches");function dx(e,t,n,r){r===void 0&&(r=!1);let a;typeof e=="string"?a=Di(e):(a=zn({},e),At(!a.pathname||!a.pathname.includes("?"),b2("?","pathname","search",a)),At(!a.pathname||!a.pathname.includes("#"),b2("#","pathname","hash",a)),At(!a.search||!a.search.includes("#"),b2("#","search","hash",a)));let i=e===""||a.pathname==="",s=i?"/":a.pathname,c;if(s==null)c=n;else{let p=t.length-1;if(!r&&s.startsWith("..")){let m=s.split("/");for(;m[0]==="..";)m.shift(),p-=1;a.pathname=m.join("/")}c=p>=0?t[p]:"/"}let l=Ine(a,c),u=s&&s!=="/"&&s.endsWith("/"),d=(i||s===".")&&n.endsWith("/");return!l.pathname.endsWith("/")&&(u||d)&&(l.pathname+="/"),l}o(dx,"resolveTo");const ss=o(e=>e.join("/").replace(/\/\/+/g,"/"),"joinPaths"),Dne=o(e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),"normalizePathname"),Nne=o(e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,"normalizeSearch"),Fne=o(e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e,"normalizeHash"),w8=class w8{constructor(t,n,r,a){a===void 0&&(a=!1),this.status=t,this.statusText=n||"",this.internal=a,r instanceof Error?(this.data=r.toString(),this.error=r):this.data=r}};o(w8,"ErrorResponseImpl");let dh=w8;function P9(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}o(P9,"isRouteErrorResponse");const M9=["post","put","patch","delete"],Bne=new Set(M9),Wne=["get",...M9],Une=new Set(Wne),Hne=new Set([301,302,303,307,308]),qne=new Set([307,308]),x2={state:"idle",location:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},Vne={state:"idle",data:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},ju={state:"unblocked",proceed:void 0,reset:void 0,location:void 0},T9=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Gne=o(e=>({hasErrorBoundary:!!e.hasErrorBoundary}),"defaultMapRouteProperties"),O9="remix-router-transitions";function Kne(e){const t=e.window?e.window:typeof window<"u"?window:void 0,n=typeof t<"u"&&typeof t.document<"u"&&typeof t.document.createElement<"u",r=!n;At(e.routes.length>0,"You must provide a non-empty routes array to createRouter");let a;if(e.mapRouteProperties)a=e.mapRouteProperties;else if(e.detectErrorBoundary){let G=e.detectErrorBoundary;a=o(Q=>({hasErrorBoundary:G(Q)}),"mapRouteProperties")}else a=Gne;let i={},s=Yj(e.routes,a,void 0,i),c,l=e.basename||"/",u=zn({v7_fetcherPersist:!1,v7_normalizeFormMethod:!1,v7_partialHydration:!1,v7_prependBasename:!1,v7_relativeSplatPath:!1},e.future),d=null,p=new Set,m=null,v=null,h=null,y=e.hydrationData!=null,C=qu(s,e.history.location,l),w=null;if(C==null){let G=Za(404,{pathname:e.history.location.pathname}),{matches:Q,route:ce}=n4(s);C=Q,w={[ce.id]:G}}let x,b=C.some(G=>G.route.lazy),S=C.some(G=>G.route.loader);if(b)x=!1;else if(!S)x=!0;else if(u.v7_partialHydration){let G=e.hydrationData?e.hydrationData.loaderData:null,Q=e.hydrationData?e.hydrationData.errors:null;x=C.every(ce=>ce.route.loader&&ce.route.loader.hydrate!==!0&&(G&&G[ce.route.id]!==void 0||Q&&Q[ce.route.id]!==void 0))}else x=e.hydrationData!=null;let $,j={historyAction:e.history.action,location:e.history.location,matches:C,initialized:x,navigation:x2,restoreScrollPosition:e.hydrationData!=null?!1:null,preventScrollReset:!1,revalidation:"idle",loaderData:e.hydrationData&&e.hydrationData.loaderData||{},actionData:e.hydrationData&&e.hydrationData.actionData||null,errors:e.hydrationData&&e.hydrationData.errors||w,fetchers:new Map,blockers:new Map},_=Bn.Pop,k=!1,E,A=!1,P=new Map,M=null,T=!1,z=!1,O=[],N=[],F=new Map,I=0,B=-1,U=new Map,te=new Set,Z=new Map,be=new Map,ne=new Set,le=new Map,oe=new Map,Se=!1;function xe(){if(d=e.history.listen(G=>{let{action:Q,location:ce,delta:_e}=G;if(Se){Se=!1;return}gc(oe.size===0||_e!=null,"You are trying to use a blocker on a POP navigation to a location that was not created by @remix-run/router. This will fail silently in production. This can happen if you are navigating outside the router via `window.history.pushState`/`window.location.hash` instead of using router navigation APIs. This can also happen if you are using createHashRouter and the user manually changes the URL.");let qe=pe({currentLocation:j.location,nextLocation:ce,historyAction:Q});if(qe&&_e!=null){Se=!0,e.history.go(_e*-1),Y(qe,{state:"blocked",location:ce,proceed(){Y(qe,{state:"proceeding",proceed:void 0,reset:void 0,location:ce}),e.history.go(_e)},reset(){let ct=new Map(j.blockers);ct.set(qe,ju),me({blockers:ct})}});return}return $e(Q,ce)}),n){ore(t,P);let G=o(()=>ire(t,P),"_saveAppliedTransitions");t.addEventListener("pagehide",G),M=o(()=>t.removeEventListener("pagehide",G),"removePageHideEventListener")}return j.initialized||$e(Bn.Pop,j.location,{initialHydration:!0}),$}o(xe,"initialize");function X(){d&&d(),M&&M(),p.clear(),E&&E.abort(),j.fetchers.forEach((G,Q)=>Ue(Q)),j.blockers.forEach((G,Q)=>K(Q))}o(X,"dispose");function Re(G){return p.add(G),()=>p.delete(G)}o(Re,"subscribe");function me(G,Q){Q===void 0&&(Q={}),j=zn({},j,G);let ce=[],_e=[];u.v7_fetcherPersist&&j.fetchers.forEach((qe,ct)=>{qe.state==="idle"&&(ne.has(ct)?_e.push(ct):ce.push(ct))}),[...p].forEach(qe=>qe(j,{deletedFetchers:_e,unstable_viewTransitionOpts:Q.viewTransitionOpts,unstable_flushSync:Q.flushSync===!0})),u.v7_fetcherPersist&&(ce.forEach(qe=>j.fetchers.delete(qe)),_e.forEach(qe=>Ue(qe)))}o(me,"updateState");function re(G,Q,ce){var _e,qe;let{flushSync:ct}=ce===void 0?{}:ce,Ve=j.actionData!=null&&j.navigation.formMethod!=null&&Ao(j.navigation.formMethod)&&j.navigation.state==="loading"&&((_e=G.state)==null?void 0:_e._isRedirect)!==!0,Fe;Q.actionData?Object.keys(Q.actionData).length>0?Fe=Q.actionData:Fe=null:Ve?Fe=j.actionData:Fe=null;let Me=Q.loaderData?t4(j.loaderData,Q.loaderData,Q.matches||[],Q.errors):j.loaderData,lt=j.blockers;lt.size>0&&(lt=new Map(lt),lt.forEach((Ye,ut)=>lt.set(ut,ju)));let jt=k===!0||j.navigation.formMethod!=null&&Ao(j.navigation.formMethod)&&((qe=G.state)==null?void 0:qe._isRedirect)!==!0;c&&(s=c,c=void 0),T||_===Bn.Pop||(_===Bn.Push?e.history.push(G,G.state):_===Bn.Replace&&e.history.replace(G,G.state));let we;if(_===Bn.Pop){let Ye=P.get(j.location.pathname);Ye&&Ye.has(G.pathname)?we={currentLocation:j.location,nextLocation:G}:P.has(G.pathname)&&(we={currentLocation:G,nextLocation:j.location})}else if(A){let Ye=P.get(j.location.pathname);Ye?Ye.add(G.pathname):(Ye=new Set([G.pathname]),P.set(j.location.pathname,Ye)),we={currentLocation:j.location,nextLocation:G}}me(zn({},Q,{actionData:Fe,loaderData:Me,historyAction:_,location:G,initialized:!0,navigation:x2,revalidation:"idle",restoreScrollPosition:wt(G,Q.matches||j.matches),preventScrollReset:jt,blockers:lt}),{viewTransitionOpts:we,flushSync:ct===!0}),_=Bn.Pop,k=!1,A=!1,T=!1,z=!1,O=[],N=[]}o(re,"completeNavigation");async function De(G,Q){if(typeof G=="number"){e.history.go(G);return}let ce=Qj(j.location,j.matches,l,u.v7_prependBasename,G,u.v7_relativeSplatPath,Q==null?void 0:Q.fromRouteId,Q==null?void 0:Q.relative),{path:_e,submission:qe,error:ct}=JT(u.v7_normalizeFormMethod,!1,ce,Q),Ve=j.location,Fe=uh(j.location,_e,Q&&Q.state);Fe=zn({},Fe,e.history.encodeLocation(Fe));let Me=Q&&Q.replace!=null?Q.replace:void 0,lt=Bn.Push;Me===!0?lt=Bn.Replace:Me===!1||qe!=null&&Ao(qe.formMethod)&&qe.formAction===j.location.pathname+j.location.search&&(lt=Bn.Replace);let jt=Q&&"preventScrollReset"in Q?Q.preventScrollReset===!0:void 0,we=(Q&&Q.unstable_flushSync)===!0,Ye=pe({currentLocation:Ve,nextLocation:Fe,historyAction:lt});if(Ye){Y(Ye,{state:"blocked",location:Fe,proceed(){Y(Ye,{state:"proceeding",proceed:void 0,reset:void 0,location:Fe}),De(G,Q)},reset(){let ut=new Map(j.blockers);ut.set(Ye,ju),me({blockers:ut})}});return}return await $e(lt,Fe,{submission:qe,pendingError:ct,preventScrollReset:jt,replace:Q&&Q.replace,enableViewTransition:Q&&Q.unstable_viewTransition,flushSync:we})}o(De,"navigate");function Ee(){if(ue(),me({revalidation:"loading"}),j.navigation.state!=="submitting"){if(j.navigation.state==="idle"){$e(j.historyAction,j.location,{startUninterruptedRevalidation:!0});return}$e(_||j.historyAction,j.navigation.location,{overrideNavigation:j.navigation})}}o(Ee,"revalidate");async function $e(G,Q,ce){E&&E.abort(),E=null,_=G,T=(ce&&ce.startUninterruptedRevalidation)===!0,St(j.location,j.matches),k=(ce&&ce.preventScrollReset)===!0,A=(ce&&ce.enableViewTransition)===!0;let _e=c||s,qe=ce&&ce.overrideNavigation,ct=qu(_e,Q,l),Ve=(ce&&ce.flushSync)===!0;if(!ct){let ut=Za(404,{pathname:Q.pathname}),{matches:ke,route:ze}=n4(_e);Le(),re(Q,{matches:ke,loaderData:{},errors:{[ze.id]:ut}},{flushSync:Ve});return}if(j.initialized&&!z&&Zne(j.location,Q)&&!(ce&&ce.submission&&Ao(ce.submission.formMethod))){re(Q,{matches:ct},{flushSync:Ve});return}E=new AbortController;let Fe=Ip(e.history,Q,E.signal,ce&&ce.submission),Me,lt;if(ce&&ce.pendingError)lt={[Em(ct).route.id]:ce.pendingError};else if(ce&&ce.submission&&Ao(ce.submission.formMethod)){let ut=await Ce(Fe,Q,ce.submission,ct,{replace:ce.replace,flushSync:Ve});if(ut.shortCircuited)return;Me=ut.pendingActionData,lt=ut.pendingActionError,qe=w2(Q,ce.submission),Ve=!1,Fe=new Request(Fe.url,{signal:Fe.signal})}let{shortCircuited:jt,loaderData:we,errors:Ye}=await st(Fe,Q,ct,qe,ce&&ce.submission,ce&&ce.fetcherSubmission,ce&&ce.replace,ce&&ce.initialHydration===!0,Ve,Me,lt);jt||(E=null,re(Q,zn({matches:ct},Me?{actionData:Me}:{},{loaderData:we,errors:Ye})))}o($e,"startNavigation");async function Ce(G,Q,ce,_e,qe){qe===void 0&&(qe={}),ue();let ct=rre(Q,ce);me({navigation:ct},{flushSync:qe.flushSync===!0});let Ve,Fe=Zj(_e,Q);if(!Fe.route.action&&!Fe.route.lazy)Ve={type:Tn.error,error:Za(405,{method:G.method,pathname:Q.pathname,routeId:Fe.route.id})};else if(Ve=await zp("action",G,Fe,_e,i,a,l,u.v7_relativeSplatPath),G.signal.aborted)return{shortCircuited:!0};if(Yc(Ve)){let Me;return qe&&qe.replace!=null?Me=qe.replace:Me=Ve.location===j.location.pathname+j.location.search,await de(j,Ve,{submission:ce,replace:Me}),{shortCircuited:!0}}if(Vu(Ve)){let Me=Em(_e,Fe.route.id);return(qe&&qe.replace)!==!0&&(_=Bn.Push),{pendingActionData:{},pendingActionError:{[Me.route.id]:Ve.error}}}if(Jc(Ve))throw Za(400,{type:"defer-action"});return{pendingActionData:{[Fe.route.id]:Ve.data}}}o(Ce,"handleAction");async function st(G,Q,ce,_e,qe,ct,Ve,Fe,Me,lt,jt){let we=_e||w2(Q,qe),Ye=qe||ct||o4(we),ut=c||s,[ke,ze]=YT(e.history,j,ce,Ye,Q,u.v7_partialHydration&&Fe===!0,z,O,N,ne,Z,te,ut,l,lt,jt);if(Le(Ft=>!(ce&&ce.some(Cn=>Cn.route.id===Ft))||ke&&ke.some(Cn=>Cn.route.id===Ft)),B=++I,ke.length===0&&ze.length===0){let Ft=ft();return re(Q,zn({matches:ce,loaderData:{},errors:jt||null},lt?{actionData:lt}:{},Ft?{fetchers:new Map(j.fetchers)}:{}),{flushSync:Me}),{shortCircuited:!0}}if(!T&&(!u.v7_partialHydration||!Fe)){ze.forEach(Cn=>{let Zo=j.fetchers.get(Cn.key),Yg=Lp(void 0,Zo?Zo.data:void 0);j.fetchers.set(Cn.key,Yg)});let Ft=lt||j.actionData;me(zn({navigation:we},Ft?Object.keys(Ft).length===0?{actionData:null}:{actionData:Ft}:{},ze.length>0?{fetchers:new Map(j.fetchers)}:{}),{flushSync:Me})}ze.forEach(Ft=>{F.has(Ft.key)&&ye(Ft.key),Ft.controller&&F.set(Ft.key,Ft.controller)});let bt=o(()=>ze.forEach(Ft=>ye(Ft.key)),"abortPendingFetchRevalidations");E&&E.signal.addEventListener("abort",bt);let{results:Pt,loaderResults:ae,fetcherResults:ie}=await fe(j.matches,ce,ke,ze,G);if(G.signal.aborted)return{shortCircuited:!0};E&&E.signal.removeEventListener("abort",bt),ze.forEach(Ft=>F.delete(Ft.key));let Ie=r4(Pt);if(Ie){if(Ie.idx>=ke.length){let Ft=ze[Ie.idx-ke.length].key;te.add(Ft)}return await de(j,Ie.result,{replace:Ve}),{shortCircuited:!0}}let{loaderData:Ae,errors:it}=e4(j,ce,ke,ae,jt,ze,ie,le);le.forEach((Ft,Cn)=>{Ft.subscribe(Zo=>{(Zo||Ft.done)&&le.delete(Cn)})});let Xe=ft(),je=yt(B),Wt=Xe||je||ze.length>0;return zn({loaderData:Ae,errors:it},Wt?{fetchers:new Map(j.fetchers)}:{})}o(st,"handleLoaders");function D(G,Q,ce,_e){if(r)throw new Error("router.fetch() was called during the server render, but it shouldn't be. You are likely calling a useFetcher() method in the body of your component. Try moving it to a useEffect or a callback.");F.has(G)&&ye(G);let qe=(_e&&_e.unstable_flushSync)===!0,ct=c||s,Ve=Qj(j.location,j.matches,l,u.v7_prependBasename,ce,u.v7_relativeSplatPath,Q,_e==null?void 0:_e.relative),Fe=qu(ct,Ve,l);if(!Fe){We(G,Q,Za(404,{pathname:Ve}),{flushSync:qe});return}let{path:Me,submission:lt,error:jt}=JT(u.v7_normalizeFormMethod,!0,Ve,_e);if(jt){We(G,Q,jt,{flushSync:qe});return}let we=Zj(Fe,Me);if(k=(_e&&_e.preventScrollReset)===!0,lt&&Ao(lt.formMethod)){J(G,Q,Me,we,Fe,qe,lt);return}Z.set(G,{routeId:Q,path:Me}),H(G,Q,Me,we,Fe,qe,lt)}o(D,"fetch");async function J(G,Q,ce,_e,qe,ct,Ve){if(ue(),Z.delete(G),!_e.route.action&&!_e.route.lazy){let Cn=Za(405,{method:Ve.formMethod,pathname:ce,routeId:Q});We(G,Q,Cn,{flushSync:ct});return}let Fe=j.fetchers.get(G);he(G,are(Ve,Fe),{flushSync:ct});let Me=new AbortController,lt=Ip(e.history,ce,Me.signal,Ve);F.set(G,Me);let jt=I,we=await zp("action",lt,_e,qe,i,a,l,u.v7_relativeSplatPath);if(lt.signal.aborted){F.get(G)===Me&&F.delete(G);return}if(u.v7_fetcherPersist&&ne.has(G)){if(Yc(we)||Vu(we)){he(G,zs(void 0));return}}else{if(Yc(we))if(F.delete(G),B>jt){he(G,zs(void 0));return}else return te.add(G),he(G,Lp(Ve)),de(j,we,{fetcherSubmission:Ve});if(Vu(we)){We(G,Q,we.error);return}}if(Jc(we))throw Za(400,{type:"defer-action"});let Ye=j.navigation.location||j.location,ut=Ip(e.history,Ye,Me.signal),ke=c||s,ze=j.navigation.state!=="idle"?qu(ke,j.navigation.location,l):j.matches;At(ze,"Didn't find any matches after fetcher action");let bt=++I;U.set(G,bt);let Pt=Lp(Ve,we.data);j.fetchers.set(G,Pt);let[ae,ie]=YT(e.history,j,ze,Ve,Ye,!1,z,O,N,ne,Z,te,ke,l,{[_e.route.id]:we.data},void 0);ie.filter(Cn=>Cn.key!==G).forEach(Cn=>{let Zo=Cn.key,Yg=j.fetchers.get(Zo),dZ=Lp(void 0,Yg?Yg.data:void 0);j.fetchers.set(Zo,dZ),F.has(Zo)&&ye(Zo),Cn.controller&&F.set(Zo,Cn.controller)}),me({fetchers:new Map(j.fetchers)});let Ie=o(()=>ie.forEach(Cn=>ye(Cn.key)),"abortPendingFetchRevalidations");Me.signal.addEventListener("abort",Ie);let{results:Ae,loaderResults:it,fetcherResults:Xe}=await fe(j.matches,ze,ae,ie,ut);if(Me.signal.aborted)return;Me.signal.removeEventListener("abort",Ie),U.delete(G),F.delete(G),ie.forEach(Cn=>F.delete(Cn.key));let je=r4(Ae);if(je){if(je.idx>=ae.length){let Cn=ie[je.idx-ae.length].key;te.add(Cn)}return de(j,je.result)}let{loaderData:Wt,errors:Ft}=e4(j,j.matches,ae,it,void 0,ie,Xe,le);if(j.fetchers.has(G)){let Cn=zs(we.data);j.fetchers.set(G,Cn)}yt(bt),j.navigation.state==="loading"&&bt>B?(At(_,"Expected pending action"),E&&E.abort(),re(j.navigation.location,{matches:ze,loaderData:Wt,errors:Ft,fetchers:new Map(j.fetchers)})):(me({errors:Ft,loaderData:t4(j.loaderData,Wt,ze,Ft),fetchers:new Map(j.fetchers)}),z=!1)}o(J,"handleFetcherAction");async function H(G,Q,ce,_e,qe,ct,Ve){let Fe=j.fetchers.get(G);he(G,Lp(Ve,Fe?Fe.data:void 0),{flushSync:ct});let Me=new AbortController,lt=Ip(e.history,ce,Me.signal);F.set(G,Me);let jt=I,we=await zp("loader",lt,_e,qe,i,a,l,u.v7_relativeSplatPath);if(Jc(we)&&(we=await L9(we,lt.signal,!0)||we),F.get(G)===Me&&F.delete(G),!lt.signal.aborted){if(ne.has(G)){he(G,zs(void 0));return}if(Yc(we))if(B>jt){he(G,zs(void 0));return}else{te.add(G),await de(j,we);return}if(Vu(we)){We(G,Q,we.error);return}At(!Jc(we),"Unhandled fetcher deferred data"),he(G,zs(we.data))}}o(H,"handleFetcherLoader");async function de(G,Q,ce){let{submission:_e,fetcherSubmission:qe,replace:ct}=ce===void 0?{}:ce;Q.revalidate&&(z=!0);let Ve=uh(G.location,Q.location,{_isRedirect:!0});if(At(Ve,"Expected a location on the redirect navigation"),n){let Ye=!1;if(Q.reloadDocument)Ye=!0;else if(T9.test(Q.location)){const ut=e.history.createURL(Q.location);Ye=ut.origin!==t.location.origin||vc(ut.pathname,l)==null}if(Ye){ct?t.location.replace(Q.location):t.location.assign(Q.location);return}}E=null;let Fe=ct===!0?Bn.Replace:Bn.Push,{formMethod:Me,formAction:lt,formEncType:jt}=G.navigation;!_e&&!qe&&Me&<&&jt&&(_e=o4(G.navigation));let we=_e||qe;if(qne.has(Q.status)&&we&&Ao(we.formMethod))await $e(Fe,Ve,{submission:zn({},we,{formAction:Q.location}),preventScrollReset:k});else{let Ye=w2(Ve,_e);await $e(Fe,Ve,{overrideNavigation:Ye,fetcherSubmission:qe,preventScrollReset:k})}}o(de,"startRedirectNavigation");async function fe(G,Q,ce,_e,qe){let ct=await Promise.all([...ce.map(Me=>zp("loader",qe,Me,Q,i,a,l,u.v7_relativeSplatPath)),..._e.map(Me=>Me.matches&&Me.match&&Me.controller?zp("loader",Ip(e.history,Me.path,Me.controller.signal),Me.match,Me.matches,i,a,l,u.v7_relativeSplatPath):{type:Tn.error,error:Za(404,{pathname:Me.path})})]),Ve=ct.slice(0,ce.length),Fe=ct.slice(ce.length);return await Promise.all([a4(G,ce,Ve,Ve.map(()=>qe.signal),!1,j.loaderData),a4(G,_e.map(Me=>Me.match),Fe,_e.map(Me=>Me.controller?Me.controller.signal:null),!0)]),{results:ct,loaderResults:Ve,fetcherResults:Fe}}o(fe,"callLoadersAndMaybeResolveData");function ue(){z=!0,O.push(...Le()),Z.forEach((G,Q)=>{F.has(Q)&&(N.push(Q),ye(Q))})}o(ue,"interruptActiveLoads");function he(G,Q,ce){ce===void 0&&(ce={}),j.fetchers.set(G,Q),me({fetchers:new Map(j.fetchers)},{flushSync:(ce&&ce.flushSync)===!0})}o(he,"updateFetcherState");function We(G,Q,ce,_e){_e===void 0&&(_e={});let qe=Em(j.matches,Q);Ue(G),me({errors:{[qe.route.id]:ce},fetchers:new Map(j.fetchers)},{flushSync:(_e&&_e.flushSync)===!0})}o(We,"setFetcherError");function rt(G){return u.v7_fetcherPersist&&(be.set(G,(be.get(G)||0)+1),ne.has(G)&&ne.delete(G)),j.fetchers.get(G)||Vne}o(rt,"getFetcher");function Ue(G){let Q=j.fetchers.get(G);F.has(G)&&!(Q&&Q.state==="loading"&&U.has(G))&&ye(G),Z.delete(G),U.delete(G),te.delete(G),ne.delete(G),j.fetchers.delete(G)}o(Ue,"deleteFetcher");function Ne(G){if(u.v7_fetcherPersist){let Q=(be.get(G)||0)-1;Q<=0?(be.delete(G),ne.add(G)):be.set(G,Q)}else Ue(G);me({fetchers:new Map(j.fetchers)})}o(Ne,"deleteFetcherAndUpdateState");function ye(G){let Q=F.get(G);At(Q,"Expected fetch controller: "+G),Q.abort(),F.delete(G)}o(ye,"abortFetcher");function ot(G){for(let Q of G){let ce=rt(Q),_e=zs(ce.data);j.fetchers.set(Q,_e)}}o(ot,"markFetchersDone");function ft(){let G=[],Q=!1;for(let ce of te){let _e=j.fetchers.get(ce);At(_e,"Expected fetcher: "+ce),_e.state==="loading"&&(te.delete(ce),G.push(ce),Q=!0)}return ot(G),Q}o(ft,"markFetchRedirectsDone");function yt(G){let Q=[];for(let[ce,_e]of U)if(_e<G){let qe=j.fetchers.get(ce);At(qe,"Expected fetcher: "+ce),qe.state==="loading"&&(ye(ce),U.delete(ce),Q.push(ce))}return ot(Q),Q.length>0}o(yt,"abortStaleFetchLoads");function W(G,Q){let ce=j.blockers.get(G)||ju;return oe.get(G)!==Q&&oe.set(G,Q),ce}o(W,"getBlocker");function K(G){j.blockers.delete(G),oe.delete(G)}o(K,"deleteBlocker");function Y(G,Q){let ce=j.blockers.get(G)||ju;At(ce.state==="unblocked"&&Q.state==="blocked"||ce.state==="blocked"&&Q.state==="blocked"||ce.state==="blocked"&&Q.state==="proceeding"||ce.state==="blocked"&&Q.state==="unblocked"||ce.state==="proceeding"&&Q.state==="unblocked","Invalid blocker state transition: "+ce.state+" -> "+Q.state);let _e=new Map(j.blockers);_e.set(G,Q),me({blockers:_e})}o(Y,"updateBlocker");function pe(G){let{currentLocation:Q,nextLocation:ce,historyAction:_e}=G;if(oe.size===0)return;oe.size>1&&gc(!1,"A router only supports one blocker at a time");let qe=Array.from(oe.entries()),[ct,Ve]=qe[qe.length-1],Fe=j.blockers.get(ct);if(!(Fe&&Fe.state==="proceeding")&&Ve({currentLocation:Q,nextLocation:ce,historyAction:_e}))return ct}o(pe,"shouldBlockNavigation");function Le(G){let Q=[];return le.forEach((ce,_e)=>{(!G||G(_e))&&(ce.cancel(),Q.push(_e),le.delete(_e))}),Q}o(Le,"cancelActiveDeferreds");function Oe(G,Q,ce){if(m=G,h=Q,v=ce||null,!y&&j.navigation===x2){y=!0;let _e=wt(j.location,j.matches);_e!=null&&me({restoreScrollPosition:_e})}return()=>{m=null,h=null,v=null}}o(Oe,"enableScrollRestoration");function dt(G,Q){return v&&v(G,Q.map(_e=>Cne(_e,j.loaderData)))||G.key}o(dt,"getScrollKey");function St(G,Q){if(m&&h){let ce=dt(G,Q);m[ce]=h()}}o(St,"saveScrollPosition");function wt(G,Q){if(m){let ce=dt(G,Q),_e=m[ce];if(typeof _e=="number")return _e}return null}o(wt,"getSavedScrollPosition");function Bt(G){i={},c=Yj(G,a,void 0,i)}return o(Bt,"_internalSetRoutes"),$={get basename(){return l},get future(){return u},get state(){return j},get routes(){return s},get window(){return t},initialize:xe,subscribe:Re,enableScrollRestoration:Oe,navigate:De,fetch:D,revalidate:Ee,createHref:o(G=>e.history.createHref(G),"createHref"),encodeLocation:o(G=>e.history.encodeLocation(G),"encodeLocation"),getFetcher:rt,deleteFetcher:Ne,dispose:X,getBlocker:W,deleteBlocker:K,_internalFetchControllers:F,_internalActiveDeferreds:le,_internalSetRoutes:Bt},$}o(Kne,"createRouter");function Jne(e){return e!=null&&("formData"in e&&e.formData!=null||"body"in e&&e.body!==void 0)}o(Jne,"isSubmissionNavigation");function Qj(e,t,n,r,a,i,s,c){let l,u;if(s){l=[];for(let p of t)if(l.push(p),p.route.id===s){u=p;break}}else l=t,u=t[t.length-1];let d=dx(a||".",ux(l,i),vc(e.pathname,n)||e.pathname,c==="path");return a==null&&(d.search=e.search,d.hash=e.hash),(a==null||a===""||a===".")&&u&&u.route.index&&!kk(d.search)&&(d.search=d.search?d.search.replace(/^\?/,"?index&"):"?index"),r&&n!=="/"&&(d.pathname=d.pathname==="/"?n:ss([n,d.pathname])),Rl(d)}o(Qj,"normalizeTo");function JT(e,t,n,r){if(!r||!Jne(r))return{path:n};if(r.formMethod&&!nre(r.formMethod))return{path:n,error:Za(405,{method:r.formMethod})};let a=o(()=>({path:n,error:Za(400,{type:"invalid-body"})}),"getInvalidBodyError"),i=r.formMethod||"get",s=e?i.toUpperCase():i.toLowerCase(),c=I9(n);if(r.body!==void 0){if(r.formEncType==="text/plain"){if(!Ao(s))return a();let m=typeof r.body=="string"?r.body:r.body instanceof FormData||r.body instanceof URLSearchParams?Array.from(r.body.entries()).reduce((v,h)=>{let[y,C]=h;return""+v+y+"="+C+` +`},""):String(r.body);return{path:n,submission:{formMethod:s,formAction:c,formEncType:r.formEncType,formData:void 0,json:void 0,text:m}}}else if(r.formEncType==="application/json"){if(!Ao(s))return a();try{let m=typeof r.body=="string"?JSON.parse(r.body):r.body;return{path:n,submission:{formMethod:s,formAction:c,formEncType:r.formEncType,formData:void 0,json:m,text:void 0}}}catch{return a()}}}At(typeof FormData=="function","FormData is not available in this environment");let l,u;if(r.formData)l=Xj(r.formData),u=r.formData;else if(r.body instanceof FormData)l=Xj(r.body),u=r.body;else if(r.body instanceof URLSearchParams)l=r.body,u=ZT(l);else if(r.body==null)l=new URLSearchParams,u=new FormData;else try{l=new URLSearchParams(r.body),u=ZT(l)}catch{return a()}let d={formMethod:s,formAction:c,formEncType:r&&r.formEncType||"application/x-www-form-urlencoded",formData:u,json:void 0,text:void 0};if(Ao(d.formMethod))return{path:n,submission:d};let p=Di(n);return t&&p.search&&kk(p.search)&&l.append("index",""),p.search="?"+l,{path:Rl(p),submission:d}}o(JT,"normalizeNavigateOptions");function Yne(e,t){let n=e;if(t){let r=e.findIndex(a=>a.route.id===t);r>=0&&(n=e.slice(0,r))}return n}o(Yne,"getLoaderMatchesUntilBoundary");function YT(e,t,n,r,a,i,s,c,l,u,d,p,m,v,h,y){let C=y?Object.values(y)[0]:h?Object.values(h)[0]:void 0,w=e.createURL(t.location),x=e.createURL(a),b=y?Object.keys(y)[0]:void 0,$=Yne(n,b).filter((_,k)=>{let{route:E}=_;if(E.lazy)return!0;if(E.loader==null)return!1;if(i)return E.loader.hydrate?!0:t.loaderData[E.id]===void 0&&(!t.errors||t.errors[E.id]===void 0);if(Qne(t.loaderData,t.matches[k],_)||c.some(M=>M===_.route.id))return!0;let A=t.matches[k],P=_;return QT(_,zn({currentUrl:w,currentParams:A.params,nextUrl:x,nextParams:P.params},r,{actionResult:C,defaultShouldRevalidate:s||w.pathname+w.search===x.pathname+x.search||w.search!==x.search||z9(A,P)}))}),j=[];return d.forEach((_,k)=>{if(i||!n.some(T=>T.route.id===_.routeId)||u.has(k))return;let E=qu(m,_.path,v);if(!E){j.push({key:k,routeId:_.routeId,path:_.path,matches:null,match:null,controller:null});return}let A=t.fetchers.get(k),P=Zj(E,_.path),M=!1;p.has(k)?M=!1:l.includes(k)?M=!0:A&&A.state!=="idle"&&A.data===void 0?M=s:M=QT(P,zn({currentUrl:w,currentParams:t.matches[t.matches.length-1].params,nextUrl:x,nextParams:n[n.length-1].params},r,{actionResult:C,defaultShouldRevalidate:s})),M&&j.push({key:k,routeId:_.routeId,path:_.path,matches:E,match:P,controller:new AbortController})}),[$,j]}o(YT,"getMatchesToLoad");function Qne(e,t,n){let r=!t||n.route.id!==t.route.id,a=e[n.route.id]===void 0;return r||a}o(Qne,"isNewLoader");function z9(e,t){let n=e.route.path;return e.pathname!==t.pathname||n!=null&&n.endsWith("*")&&e.params["*"]!==t.params["*"]}o(z9,"isNewRouteInstance");function QT(e,t){if(e.route.shouldRevalidate){let n=e.route.shouldRevalidate(t);if(typeof n=="boolean")return n}return t.defaultShouldRevalidate}o(QT,"shouldRevalidateLoader");async function XT(e,t,n){if(!e.lazy)return;let r=await e.lazy();if(!e.lazy)return;let a=n[e.id];At(a,"No route found in manifest");let i={};for(let s in r){let l=a[s]!==void 0&&s!=="hasErrorBoundary";gc(!l,'Route "'+a.id+'" has a static property "'+s+'" defined but its lazy function is also returning a value for this property. '+('The lazy route property "'+s+'" will be ignored.')),!l&&!xne.has(s)&&(i[s]=r[s])}Object.assign(a,i),Object.assign(a,zn({},t(a),{lazy:void 0}))}o(XT,"loadLazyRouteModule");async function zp(e,t,n,r,a,i,s,c,l){l===void 0&&(l={});let u,d,p,m=o(y=>{let C,w=new Promise((x,b)=>C=b);return p=o(()=>C(),"onReject"),t.signal.addEventListener("abort",p),Promise.race([y({request:t,params:n.params,context:l.requestContext}),w])},"runHandler");try{let y=n.route[e];if(n.route.lazy)if(y){let C,w=await Promise.all([m(y).catch(x=>{C=x}),XT(n.route,i,a)]);if(C)throw C;d=w[0]}else if(await XT(n.route,i,a),y=n.route[e],y)d=await m(y);else if(e==="action"){let C=new URL(t.url),w=C.pathname+C.search;throw Za(405,{method:t.method,pathname:w,routeId:n.route.id})}else return{type:Tn.data,data:void 0};else if(y)d=await m(y);else{let C=new URL(t.url),w=C.pathname+C.search;throw Za(404,{pathname:w})}At(d!==void 0,"You defined "+(e==="action"?"an action":"a loader")+" for route "+('"'+n.route.id+"\" but didn't return anything from your `"+e+"` ")+"function. Please return a value or `null`.")}catch(y){u=Tn.error,d=y}finally{p&&t.signal.removeEventListener("abort",p)}if(tre(d)){let y=d.status;if(Hne.has(y)){let w=d.headers.get("Location");if(At(w,"Redirects returned/thrown from loaders/actions must have a Location header"),!T9.test(w))w=Qj(new URL(t.url),r.slice(0,r.indexOf(n)+1),s,!0,w,c);else if(!l.isStaticRequest){let x=new URL(t.url),b=w.startsWith("//")?new URL(x.protocol+w):new URL(w),S=vc(b.pathname,s)!=null;b.origin===x.origin&&S&&(w=b.pathname+b.search+b.hash)}if(l.isStaticRequest)throw d.headers.set("Location",w),d;return{type:Tn.redirect,status:y,location:w,revalidate:d.headers.get("X-Remix-Revalidate")!==null,reloadDocument:d.headers.get("X-Remix-Reload-Document")!==null}}if(l.isRouteRequest)throw{type:u===Tn.error?Tn.error:Tn.data,response:d};let C;try{let w=d.headers.get("Content-Type");w&&/\bapplication\/json\b/.test(w)?d.body==null?C=null:C=await d.json():C=await d.text()}catch(w){return{type:Tn.error,error:w}}return u===Tn.error?{type:u,error:new dh(y,d.statusText,C),headers:d.headers}:{type:Tn.data,data:C,statusCode:d.status,headers:d.headers}}if(u===Tn.error)return{type:u,error:d};if(ere(d)){var v,h;return{type:Tn.deferred,deferredData:d,statusCode:(v=d.init)==null?void 0:v.status,headers:((h=d.init)==null?void 0:h.headers)&&new Headers(d.init.headers)}}return{type:Tn.data,data:d}}o(zp,"callLoaderOrAction");function Ip(e,t,n,r){let a=e.createURL(I9(t)).toString(),i={signal:n};if(r&&Ao(r.formMethod)){let{formMethod:s,formEncType:c}=r;i.method=s.toUpperCase(),c==="application/json"?(i.headers=new Headers({"Content-Type":c}),i.body=JSON.stringify(r.json)):c==="text/plain"?i.body=r.text:c==="application/x-www-form-urlencoded"&&r.formData?i.body=Xj(r.formData):i.body=r.formData}return new Request(a,i)}o(Ip,"createClientSideRequest");function Xj(e){let t=new URLSearchParams;for(let[n,r]of e.entries())t.append(n,typeof r=="string"?r:r.name);return t}o(Xj,"convertFormDataToSearchParams");function ZT(e){let t=new FormData;for(let[n,r]of e.entries())t.append(n,r);return t}o(ZT,"convertSearchParamsToFormData");function Xne(e,t,n,r,a){let i={},s=null,c,l=!1,u={};return n.forEach((d,p)=>{let m=t[p].route.id;if(At(!Yc(d),"Cannot handle redirect results in processLoaderData"),Vu(d)){let v=Em(e,m),h=d.error;r&&(h=Object.values(r)[0],r=void 0),s=s||{},s[v.route.id]==null&&(s[v.route.id]=h),i[m]=void 0,l||(l=!0,c=P9(d.error)?d.error.status:500),d.headers&&(u[m]=d.headers)}else Jc(d)?(a.set(m,d.deferredData),i[m]=d.deferredData.data):i[m]=d.data,d.statusCode!=null&&d.statusCode!==200&&!l&&(c=d.statusCode),d.headers&&(u[m]=d.headers)}),r&&(s=r,i[Object.keys(r)[0]]=void 0),{loaderData:i,errors:s,statusCode:c||200,loaderHeaders:u}}o(Xne,"processRouteLoaderData");function e4(e,t,n,r,a,i,s,c){let{loaderData:l,errors:u}=Xne(t,n,r,a,c);for(let d=0;d<i.length;d++){let{key:p,match:m,controller:v}=i[d];At(s!==void 0&&s[d]!==void 0,"Did not find corresponding fetcher result");let h=s[d];if(!(v&&v.signal.aborted))if(Vu(h)){let y=Em(e.matches,m==null?void 0:m.route.id);u&&u[y.route.id]||(u=zn({},u,{[y.route.id]:h.error})),e.fetchers.delete(p)}else if(Yc(h))At(!1,"Unhandled fetcher revalidation redirect");else if(Jc(h))At(!1,"Unhandled fetcher deferred data");else{let y=zs(h.data);e.fetchers.set(p,y)}}return{loaderData:l,errors:u}}o(e4,"processLoaderData");function t4(e,t,n,r){let a=zn({},t);for(let i of n){let s=i.route.id;if(t.hasOwnProperty(s)?t[s]!==void 0&&(a[s]=t[s]):e[s]!==void 0&&i.route.loader&&(a[s]=e[s]),r&&r.hasOwnProperty(s))break}return a}o(t4,"mergeLoaderData");function Em(e,t){return(t?e.slice(0,e.findIndex(r=>r.route.id===t)+1):[...e]).reverse().find(r=>r.route.hasErrorBoundary===!0)||e[0]}o(Em,"findNearestBoundary");function n4(e){let t=e.length===1?e[0]:e.find(n=>n.index||!n.path||n.path==="/")||{id:"__shim-error-route__"};return{matches:[{params:{},pathname:"",pathnameBase:"",route:t}],route:t}}o(n4,"getShortCircuitMatches");function Za(e,t){let{pathname:n,routeId:r,method:a,type:i}=t===void 0?{}:t,s="Unknown Server Error",c="Unknown @remix-run/router error";return e===400?(s="Bad Request",a&&n&&r?c="You made a "+a+' request to "'+n+'" but '+('did not provide a `loader` for route "'+r+'", ')+"so there is no way to handle the request.":i==="defer-action"?c="defer() is not supported in actions":i==="invalid-body"&&(c="Unable to encode submission body")):e===403?(s="Forbidden",c='Route "'+r+'" does not match URL "'+n+'"'):e===404?(s="Not Found",c='No route matches URL "'+n+'"'):e===405&&(s="Method Not Allowed",a&&n&&r?c="You made a "+a.toUpperCase()+' request to "'+n+'" but '+('did not provide an `action` for route "'+r+'", ')+"so there is no way to handle the request.":a&&(c='Invalid request method "'+a.toUpperCase()+'"')),new dh(e||500,s,new Error(c),!0)}o(Za,"getInternalRouterError");function r4(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(Yc(n))return{result:n,idx:t}}}o(r4,"findRedirect");function I9(e){let t=typeof e=="string"?Di(e):e;return Rl(zn({},t,{hash:""}))}o(I9,"stripHashFromPath");function Zne(e,t){return e.pathname!==t.pathname||e.search!==t.search?!1:e.hash===""?t.hash!=="":e.hash===t.hash?!0:t.hash!==""}o(Zne,"isHashChangeOnly");function Jc(e){return e.type===Tn.deferred}o(Jc,"isDeferredResult");function Vu(e){return e.type===Tn.error}o(Vu,"isErrorResult");function Yc(e){return(e&&e.type)===Tn.redirect}o(Yc,"isRedirectResult");function ere(e){let t=e;return t&&typeof t=="object"&&typeof t.data=="object"&&typeof t.subscribe=="function"&&typeof t.cancel=="function"&&typeof t.resolveData=="function"}o(ere,"isDeferredData");function tre(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.headers=="object"&&typeof e.body<"u"}o(tre,"isResponse");function nre(e){return Une.has(e.toLowerCase())}o(nre,"isValidMethod");function Ao(e){return Bne.has(e.toLowerCase())}o(Ao,"isMutationMethod");async function a4(e,t,n,r,a,i){for(let s=0;s<n.length;s++){let c=n[s],l=t[s];if(!l)continue;let u=e.find(p=>p.route.id===l.route.id),d=u!=null&&!z9(u,l)&&(i&&i[l.route.id])!==void 0;if(Jc(c)&&(a||d)){let p=r[s];At(p,"Expected an AbortSignal for revalidating fetcher deferred result"),await L9(c,p,a).then(m=>{m&&(n[s]=m||n[s])})}}}o(a4,"resolveDeferredResults");async function L9(e,t,n){if(n===void 0&&(n=!1),!await e.deferredData.resolveData(t)){if(n)try{return{type:Tn.data,data:e.deferredData.unwrappedData}}catch(a){return{type:Tn.error,error:a}}return{type:Tn.data,data:e.deferredData.data}}}o(L9,"resolveDeferredData");function kk(e){return new URLSearchParams(e).getAll("index").some(t=>t==="")}o(kk,"hasNakedIndexQuery");function Zj(e,t){let n=typeof t=="string"?Di(t).search:t.search;if(e[e.length-1].route.index&&kk(n||""))return e[e.length-1];let r=A9(e);return r[r.length-1]}o(Zj,"getTargetMatch");function o4(e){let{formMethod:t,formAction:n,formEncType:r,text:a,formData:i,json:s}=e;if(!(!t||!n||!r)){if(a!=null)return{formMethod:t,formAction:n,formEncType:r,formData:void 0,json:void 0,text:a};if(i!=null)return{formMethod:t,formAction:n,formEncType:r,formData:i,json:void 0,text:void 0};if(s!==void 0)return{formMethod:t,formAction:n,formEncType:r,formData:void 0,json:s,text:void 0}}}o(o4,"getSubmissionFromNavigation");function w2(e,t){return t?{state:"loading",location:e,formMethod:t.formMethod,formAction:t.formAction,formEncType:t.formEncType,formData:t.formData,json:t.json,text:t.text}:{state:"loading",location:e,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0}}o(w2,"getLoadingNavigation");function rre(e,t){return{state:"submitting",location:e,formMethod:t.formMethod,formAction:t.formAction,formEncType:t.formEncType,formData:t.formData,json:t.json,text:t.text}}o(rre,"getSubmittingNavigation");function Lp(e,t){return e?{state:"loading",formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text,data:t}:{state:"loading",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:t}}o(Lp,"getLoadingFetcher");function are(e,t){return{state:"submitting",formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text,data:t?t.data:void 0}}o(are,"getSubmittingFetcher");function zs(e){return{state:"idle",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:e}}o(zs,"getDoneFetcher");function ore(e,t){try{let n=e.sessionStorage.getItem(O9);if(n){let r=JSON.parse(n);for(let[a,i]of Object.entries(r||{}))i&&Array.isArray(i)&&t.set(a,new Set(i||[]))}}catch{}}o(ore,"restoreAppliedTransitions");function ire(e,t){if(t.size>0){let n={};for(let[r,a]of t)n[r]=[...a];try{e.sessionStorage.setItem(O9,JSON.stringify(n))}catch(r){gc(!1,"Failed to save applied view transitions in sessionStorage ("+r+").")}}}o(ire,"persistAppliedTransitions");/** + * React Router v6.22.0 + * + * Copyright (c) Remix Software Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE.md file in the root directory of this source tree. + * + * @license MIT + */function Al(){return Al=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Al.apply(this,arguments)}o(Al,"_extends$6");const ng=g.createContext(null),Ek=g.createContext(null),jc=g.createContext(null),fx=g.createContext(null),js=g.createContext({outlet:null,matches:[],isDataRoute:!1}),D9=g.createContext(null);function sre(e,t){let{relative:n}=t===void 0?{}:t;$c()||At(!1);let{basename:r,navigator:a}=g.useContext(jc),{hash:i,pathname:s,search:c}=B9(e,{relative:n}),l=s;return r!=="/"&&(l=s==="/"?r:ss([r,s])),a.createHref({pathname:l,search:c,hash:i})}o(sre,"useHref");function $c(){return g.useContext(fx)!=null}o($c,"useInRouterContext");function Ar(){return $c()||At(!1),g.useContext(fx).location}o(Ar,"useLocation");function cre(e){$c()||At(!1);let{pathname:t}=Ar();return g.useMemo(()=>km(e,t),[t,e])}o(cre,"useMatch");function N9(e){g.useContext(jc).static||g.useLayoutEffect(e)}o(N9,"useIsomorphicLayoutEffect");function Ni(){let{isDataRoute:e}=g.useContext(js);return e?bre():lre()}o(Ni,"useNavigate");function lre(){$c()||At(!1);let e=g.useContext(ng),{basename:t,future:n,navigator:r}=g.useContext(jc),{matches:a}=g.useContext(js),{pathname:i}=Ar(),s=JSON.stringify(ux(a,n.v7_relativeSplatPath)),c=g.useRef(!1);return N9(()=>{c.current=!0}),g.useCallback(function(u,d){if(d===void 0&&(d={}),!c.current)return;if(typeof u=="number"){r.go(u);return}let p=dx(u,JSON.parse(s),i,d.relative==="path");e==null&&t!=="/"&&(p.pathname=p.pathname==="/"?t:ss([t,p.pathname])),(d.replace?r.replace:r.push)(p,d.state,d)},[t,r,s,i,e])}o(lre,"useNavigateUnstable");function F9(){let{matches:e}=g.useContext(js),t=e[e.length-1];return t?t.params:{}}o(F9,"useParams");function B9(e,t){let{relative:n}=t===void 0?{}:t,{future:r}=g.useContext(jc),{matches:a}=g.useContext(js),{pathname:i}=Ar(),s=JSON.stringify(ux(a,r.v7_relativeSplatPath));return g.useMemo(()=>dx(e,JSON.parse(s),i,n==="path"),[e,s,i,n])}o(B9,"useResolvedPath");function ure(e,t){return W9(e,t)}o(ure,"useRoutes");function W9(e,t,n,r){$c()||At(!1);let{navigator:a}=g.useContext(jc),{matches:i}=g.useContext(js),s=i[i.length-1],c=s?s.params:{};s&&s.pathname;let l=s?s.pathnameBase:"/";s&&s.route;let u=Ar(),d;if(t){var p;let C=typeof t=="string"?Di(t):t;l==="/"||(p=C.pathname)!=null&&p.startsWith(l)||At(!1),d=C}else d=u;let m=d.pathname||"/",v=l==="/"?m:m.slice(l.length)||"/",h=qu(e,{pathname:v}),y=mre(h&&h.map(C=>Object.assign({},C,{params:Object.assign({},c,C.params),pathname:ss([l,a.encodeLocation?a.encodeLocation(C.pathname).pathname:C.pathname]),pathnameBase:C.pathnameBase==="/"?l:ss([l,a.encodeLocation?a.encodeLocation(C.pathnameBase).pathname:C.pathnameBase])})),i,n,r);return t&&y?g.createElement(fx.Provider,{value:{location:Al({pathname:"/",search:"",hash:"",state:null,key:"default"},d),navigationType:Bn.Pop}},y):y}o(W9,"useRoutesImpl");function dre(){let e=gre(),t=P9(e)?e.status+" "+e.statusText:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null,a={padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"};return g.createElement(g.Fragment,null,g.createElement("h2",null,"Unexpected Application Error!"),g.createElement("h3",{style:{fontStyle:"italic"}},t),n?g.createElement("pre",{style:a},n):null,null)}o(dre,"DefaultErrorComponent");const fre=g.createElement(dre,null),C8=class C8 extends g.Component{constructor(t){super(t),this.state={location:t.location,revalidation:t.revalidation,error:t.error}}static getDerivedStateFromError(t){return{error:t}}static getDerivedStateFromProps(t,n){return n.location!==t.location||n.revalidation!=="idle"&&t.revalidation==="idle"?{error:t.error,location:t.location,revalidation:t.revalidation}:{error:t.error!==void 0?t.error:n.error,location:n.location,revalidation:t.revalidation||n.revalidation}}componentDidCatch(t,n){console.error("React Router caught the following error during render",t,n)}render(){return this.state.error!==void 0?g.createElement(js.Provider,{value:this.props.routeContext},g.createElement(D9.Provider,{value:this.state.error,children:this.props.component})):this.props.children}};o(C8,"RenderErrorBoundary");let e$=C8;function pre(e){let{routeContext:t,match:n,children:r}=e,a=g.useContext(ng);return a&&a.static&&a.staticContext&&(n.route.errorElement||n.route.ErrorBoundary)&&(a.staticContext._deepestRenderedBoundaryId=n.route.id),g.createElement(js.Provider,{value:t},r)}o(pre,"RenderedRoute");function mre(e,t,n,r){var a;if(t===void 0&&(t=[]),n===void 0&&(n=null),r===void 0&&(r=null),e==null){var i;if((i=n)!=null&&i.errors)e=n.matches;else return null}let s=e,c=(a=n)==null?void 0:a.errors;if(c!=null){let d=s.findIndex(p=>p.route.id&&(c==null?void 0:c[p.route.id]));d>=0||At(!1),s=s.slice(0,Math.min(s.length,d+1))}let l=!1,u=-1;if(n&&r&&r.v7_partialHydration)for(let d=0;d<s.length;d++){let p=s[d];if((p.route.HydrateFallback||p.route.hydrateFallbackElement)&&(u=d),p.route.id){let{loaderData:m,errors:v}=n,h=p.route.loader&&m[p.route.id]===void 0&&(!v||v[p.route.id]===void 0);if(p.route.lazy||h){l=!0,u>=0?s=s.slice(0,u+1):s=[s[0]];break}}}return s.reduceRight((d,p,m)=>{let v,h=!1,y=null,C=null;n&&(v=c&&p.route.id?c[p.route.id]:void 0,y=p.route.errorElement||fre,l&&(u<0&&m===0?(h=!0,C=null):u===m&&(h=!0,C=p.route.hydrateFallbackElement||null)));let w=t.concat(s.slice(0,m+1)),x=o(()=>{let b;return v?b=y:h?b=C:p.route.Component?b=g.createElement(p.route.Component,null):p.route.element?b=p.route.element:b=d,g.createElement(pre,{match:p,routeContext:{outlet:d,matches:w,isDataRoute:n!=null},children:b})},"getChildren");return n&&(p.route.ErrorBoundary||p.route.errorElement||m===0)?g.createElement(e$,{location:n.location,revalidation:n.revalidation,component:y,error:v,children:x(),routeContext:{outlet:null,matches:w,isDataRoute:!0}}):x()},null)}o(mre,"_renderMatches");var Rk=function(e){return e.UseBlocker="useBlocker",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e}(Rk||{}),fh=function(e){return e.UseBlocker="useBlocker",e.UseLoaderData="useLoaderData",e.UseActionData="useActionData",e.UseRouteError="useRouteError",e.UseNavigation="useNavigation",e.UseRouteLoaderData="useRouteLoaderData",e.UseMatches="useMatches",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e.UseRouteId="useRouteId",e}(fh||{});function U9(e){let t=g.useContext(ng);return t||At(!1),t}o(U9,"useDataRouterContext");function H9(e){let t=g.useContext(Ek);return t||At(!1),t}o(H9,"useDataRouterState");function hre(e){let t=g.useContext(js);return t||At(!1),t}o(hre,"useRouteContext");function q9(e){let t=hre(),n=t.matches[t.matches.length-1];return n.route.id||At(!1),n.route.id}o(q9,"useCurrentRouteId");function gre(){var e;let t=g.useContext(D9),n=H9(fh.UseRouteError),r=q9(fh.UseRouteError);return t!==void 0?t:(e=n.errors)==null?void 0:e[r]}o(gre,"useRouteError");let vre=0;function yre(e){let{router:t,basename:n}=U9(Rk.UseBlocker),r=H9(fh.UseBlocker),[a,i]=g.useState(""),s=g.useCallback(c=>{if(typeof e!="function")return!!e;if(n==="/")return e(c);let{currentLocation:l,nextLocation:u,historyAction:d}=c;return e({currentLocation:Al({},l,{pathname:vc(l.pathname,n)||l.pathname}),nextLocation:Al({},u,{pathname:vc(u.pathname,n)||u.pathname}),historyAction:d})},[n,e]);return g.useEffect(()=>{let c=String(++vre);return i(c),()=>t.deleteBlocker(c)},[t]),g.useEffect(()=>{a!==""&&t.getBlocker(a,s)},[t,a,s]),a&&r.blockers.has(a)?r.blockers.get(a):ju}o(yre,"useBlocker");function bre(){let{router:e}=U9(Rk.UseNavigateStable),t=q9(fh.UseNavigateStable),n=g.useRef(!1);return N9(()=>{n.current=!0}),g.useCallback(function(a,i){i===void 0&&(i={}),n.current&&(typeof a=="number"?e.navigate(a):e.navigate(a,Al({fromRouteId:t},i)))},[e,t])}o(bre,"useNavigateStable");function xre(e){let{to:t,replace:n,state:r,relative:a}=e;$c()||At(!1);let{future:i,static:s}=g.useContext(jc),{matches:c}=g.useContext(js),{pathname:l}=Ar(),u=Ni(),d=dx(t,ux(c,i.v7_relativeSplatPath),l,a==="path"),p=JSON.stringify(d);return g.useEffect(()=>u(JSON.parse(p),{replace:n,state:r,relative:a}),[u,p,a,n,r]),null}o(xre,"Navigate");function da(e){At(!1)}o(da,"Route");function wre(e){let{basename:t="/",children:n=null,location:r,navigationType:a=Bn.Pop,navigator:i,static:s=!1,future:c}=e;$c()&&At(!1);let l=t.replace(/^\/*/,"/"),u=g.useMemo(()=>({basename:l,navigator:i,static:s,future:Al({v7_relativeSplatPath:!1},c)}),[l,c,i,s]);typeof r=="string"&&(r=Di(r));let{pathname:d="/",search:p="",hash:m="",state:v=null,key:h="default"}=r,y=g.useMemo(()=>{let C=vc(d,l);return C==null?null:{location:{pathname:C,search:p,hash:m,state:v,key:h},navigationType:a}},[l,d,p,m,v,h,a]);return y==null?null:g.createElement(jc.Provider,{value:u},g.createElement(fx.Provider,{children:n,value:y}))}o(wre,"Router");function Gu(e){let{children:t,location:n}=e;return ure(t$(t),n)}o(Gu,"Routes");new Promise(()=>{});function t$(e,t){t===void 0&&(t=[]);let n=[];return g.Children.forEach(e,(r,a)=>{if(!g.isValidElement(r))return;let i=[...t,a];if(r.type===g.Fragment){n.push.apply(n,t$(r.props.children,i));return}r.type!==da&&At(!1),!r.props.index||!r.props.children||At(!1);let s={id:r.props.id||i.join("-"),caseSensitive:r.props.caseSensitive,element:r.props.element,Component:r.props.Component,index:r.props.index,path:r.props.path,loader:r.props.loader,action:r.props.action,errorElement:r.props.errorElement,ErrorBoundary:r.props.ErrorBoundary,hasErrorBoundary:r.props.ErrorBoundary!=null||r.props.errorElement!=null,shouldRevalidate:r.props.shouldRevalidate,handle:r.props.handle,lazy:r.props.lazy};r.props.children&&(s.children=t$(r.props.children,i)),n.push(s)}),n}o(t$,"createRoutesFromChildren");function Cre(e){let t={hasErrorBoundary:e.ErrorBoundary!=null||e.errorElement!=null};return e.Component&&Object.assign(t,{element:g.createElement(e.Component),Component:void 0}),e.HydrateFallback&&Object.assign(t,{hydrateFallbackElement:g.createElement(e.HydrateFallback),HydrateFallback:void 0}),e.ErrorBoundary&&Object.assign(t,{errorElement:g.createElement(e.ErrorBoundary),ErrorBoundary:void 0}),t}o(Cre,"mapRouteProperties");/** + * React Router DOM v6.22.0 + * + * Copyright (c) Remix Software Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE.md file in the root directory of this source tree. + * + * @license MIT + */function ph(){return ph=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},ph.apply(this,arguments)}o(ph,"_extends$5");function Sre(e,t){if(e==null)return{};var n={},r=Object.keys(e),a,i;for(i=0;i<r.length;i++)a=r[i],!(t.indexOf(a)>=0)&&(n[a]=e[a]);return n}o(Sre,"_objectWithoutPropertiesLoose$3");function jre(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}o(jre,"isModifiedEvent");function $re(e,t){return e.button===0&&(!t||t==="_self")&&!jre(e)}o($re,"shouldProcessLinkClick");const _re=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","unstable_viewTransition"],kre="6";try{window.__reactRouterVersion=kre}catch{}function Ere(e,t){return Kne({basename:t==null?void 0:t.basename,future:ph({},t==null?void 0:t.future,{v7_prependBasename:!0}),history:vne({window:t==null?void 0:t.window}),hydrationData:(t==null?void 0:t.hydrationData)||Rre(),routes:e,mapRouteProperties:Cre,window:t==null?void 0:t.window}).initialize()}o(Ere,"createHashRouter");function Rre(){var e;let t=(e=window)==null?void 0:e.__staticRouterHydrationData;return t&&t.errors&&(t=ph({},t,{errors:Are(t.errors)})),t}o(Rre,"parseHydrationData");function Are(e){if(!e)return null;let t=Object.entries(e),n={};for(let[r,a]of t)if(a&&a.__type==="RouteErrorResponse")n[r]=new dh(a.status,a.statusText,a.data,a.internal===!0);else if(a&&a.__type==="Error"){if(a.__subType){let i=window[a.__subType];if(typeof i=="function")try{let s=new i(a.message);s.stack="",n[r]=s}catch{}}if(n[r]==null){let i=new Error(a.message);i.stack="",n[r]=i}}else n[r]=a;return n}o(Are,"deserializeErrors");const Pre=g.createContext({isTransitioning:!1}),Mre=g.createContext(new Map),Tre="startTransition",i4=pN[Tre],Ore="flushSync",s4=Dte[Ore];function zre(e){i4?i4(e):e()}o(zre,"startTransitionSafe");function Dp(e){s4?s4(e):e()}o(Dp,"flushSyncSafe");const S8=class S8{constructor(){this.status="pending",this.promise=new Promise((t,n)=>{this.resolve=r=>{this.status==="pending"&&(this.status="resolved",t(r))},this.reject=r=>{this.status==="pending"&&(this.status="rejected",n(r))}})}};o(S8,"Deferred");let n$=S8;function Ire(e){let{fallbackElement:t,router:n,future:r}=e,[a,i]=g.useState(n.state),[s,c]=g.useState(),[l,u]=g.useState({isTransitioning:!1}),[d,p]=g.useState(),[m,v]=g.useState(),[h,y]=g.useState(),C=g.useRef(new Map),{v7_startTransition:w}=r||{},x=g.useCallback(_=>{w?zre(_):_()},[w]),b=g.useCallback((_,k)=>{let{deletedFetchers:E,unstable_flushSync:A,unstable_viewTransitionOpts:P}=k;E.forEach(T=>C.current.delete(T)),_.fetchers.forEach((T,z)=>{T.data!==void 0&&C.current.set(z,T.data)});let M=n.window==null||typeof n.window.document.startViewTransition!="function";if(!P||M){A?Dp(()=>i(_)):x(()=>i(_));return}if(A){Dp(()=>{m&&(d&&d.resolve(),m.skipTransition()),u({isTransitioning:!0,flushSync:!0,currentLocation:P.currentLocation,nextLocation:P.nextLocation})});let T=n.window.document.startViewTransition(()=>{Dp(()=>i(_))});T.finished.finally(()=>{Dp(()=>{p(void 0),v(void 0),c(void 0),u({isTransitioning:!1})})}),Dp(()=>v(T));return}m?(d&&d.resolve(),m.skipTransition(),y({state:_,currentLocation:P.currentLocation,nextLocation:P.nextLocation})):(c(_),u({isTransitioning:!0,flushSync:!1,currentLocation:P.currentLocation,nextLocation:P.nextLocation}))},[n.window,m,d,C,x]);g.useLayoutEffect(()=>n.subscribe(b),[n,b]),g.useEffect(()=>{l.isTransitioning&&!l.flushSync&&p(new n$)},[l]),g.useEffect(()=>{if(d&&s&&n.window){let _=s,k=d.promise,E=n.window.document.startViewTransition(async()=>{x(()=>i(_)),await k});E.finished.finally(()=>{p(void 0),v(void 0),c(void 0),u({isTransitioning:!1})}),v(E)}},[x,s,d,n.window]),g.useEffect(()=>{d&&s&&a.location.key===s.location.key&&d.resolve()},[d,m,a.location,s]),g.useEffect(()=>{!l.isTransitioning&&h&&(c(h.state),u({isTransitioning:!0,flushSync:!1,currentLocation:h.currentLocation,nextLocation:h.nextLocation}),y(void 0))},[l.isTransitioning,h]),g.useEffect(()=>{},[]);let S=g.useMemo(()=>({createHref:n.createHref,encodeLocation:n.encodeLocation,go:o(_=>n.navigate(_),"go"),push:o((_,k,E)=>n.navigate(_,{state:k,preventScrollReset:E==null?void 0:E.preventScrollReset}),"push"),replace:o((_,k,E)=>n.navigate(_,{replace:!0,state:k,preventScrollReset:E==null?void 0:E.preventScrollReset}),"replace")}),[n]),$=n.basename||"/",j=g.useMemo(()=>({router:n,navigator:S,static:!1,basename:$}),[n,S,$]);return g.createElement(g.Fragment,null,g.createElement(ng.Provider,{value:j},g.createElement(Ek.Provider,{value:a},g.createElement(Mre.Provider,{value:C.current},g.createElement(Pre.Provider,{value:l},g.createElement(wre,{basename:$,location:a.location,navigationType:a.historyAction,navigator:S,future:{v7_relativeSplatPath:n.future.v7_relativeSplatPath}},a.initialized||n.future.v7_partialHydration?g.createElement(Lre,{routes:n.routes,future:n.future,state:a}):t))))),null)}o(Ire,"RouterProvider");function Lre(e){let{routes:t,future:n,state:r}=e;return W9(t,void 0,r,n)}o(Lre,"DataRoutes");const Dre=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",Nre=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Dr=g.forwardRef(o(function(t,n){let{onClick:r,relative:a,reloadDocument:i,replace:s,state:c,target:l,to:u,preventScrollReset:d,unstable_viewTransition:p}=t,m=Sre(t,_re),{basename:v}=g.useContext(jc),h,y=!1;if(typeof u=="string"&&Nre.test(u)&&(h=u,Dre))try{let b=new URL(window.location.href),S=u.startsWith("//")?new URL(b.protocol+u):new URL(u),$=vc(S.pathname,v);S.origin===b.origin&&$!=null?u=$+S.search+S.hash:y=!0}catch{}let C=sre(u,{relative:a}),w=Fre(u,{replace:s,state:c,target:l,preventScrollReset:d,relative:a,unstable_viewTransition:p});function x(b){r&&r(b),b.defaultPrevented||w(b)}return o(x,"handleClick"),g.createElement("a",ph({},m,{href:h||C,onClick:y||i?r:x,ref:n,target:l}))},"LinkWithRef"));var c4;(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher",e.useViewTransitionState="useViewTransitionState"})(c4||(c4={}));var l4;(function(e){e.UseFetcher="useFetcher",e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"})(l4||(l4={}));function Fre(e,t){let{target:n,replace:r,state:a,preventScrollReset:i,relative:s,unstable_viewTransition:c}=t===void 0?{}:t,l=Ni(),u=Ar(),d=B9(e,{relative:s});return g.useCallback(p=>{if($re(p,n)){p.preventDefault();let m=r!==void 0?r:Rl(u)===Rl(d);l(e,{replace:m,state:a,preventScrollReset:i,relative:s,unstable_viewTransition:c})}},[u,l,d,r,a,n,e,i,s,c])}o(Fre,"useLinkClickHandler");const Bre="RaStore",Wre=o(()=>{if(typeof window>"u"||window.localStorage==null)return!1;try{return window.localStorage.setItem("test","test"),window.localStorage.removeItem("test"),!0}catch{return!1}},"testLocalStorage");let r$=Wre();const V9=o((e="1",t="")=>{const n=`${Bre}${t}`,r=n.length,a={},i=o((c,l)=>{Object.keys(a).forEach(u=>{a[u]&&a[u].key===c&&a[u].callback(l)})},"publish"),s=o(c=>{var d;if(((d=c.key)==null?void 0:d.substring(0,r))!==n)return;const l=c.key.substring(r+1),u=c.newValue?u4(c.newValue):void 0;Object.keys(a).forEach(p=>{a[p]&&a[p].key===l&&(u===null?a[p].callback(void 0):a[p].callback(u??void 0))})},"onLocalStorageChange");return{setup:o(()=>{if(r$){const c=qi().getItem(`${n}.version`);if(c&&c!==e){const l=qi();Object.keys(l).forEach(u=>{u.startsWith(n)&&l.removeItem(u)})}qi().setItem(`${n}.version`,e),window.addEventListener("storage",s)}},"setup"),teardown:o(()=>{r$&&window.removeEventListener("storage",s)},"teardown"),getItem(c,l){const u=qi().getItem(`${n}.${c}`);return u==null?l:u4(u)},setItem(c,l){l===void 0?qi().removeItem(`${n}.${c}`):qi().setItem(`${n}.${c}`,JSON.stringify(l)),i(c,l)},removeItem(c){qi().removeItem(`${n}.${c}`),i(c,void 0)},removeItems(c){const l=qi();Object.keys(l).forEach(u=>{if(u.startsWith(`${n}.${c}`)){l.removeItem(u);const d=u.substring(r+1);i(d,void 0)}})},reset(){const c=qi();Object.keys(c).forEach(l=>{if(l.startsWith(n)){c.removeItem(l);const u=l.substring(r+1);i(u,void 0)}})},subscribe:o((c,l)=>{const u=Math.random().toString();return a[u]={key:c,callback:l},()=>{delete a[u]}},"subscribe")}},"localStorageStore"),u4=o(e=>{try{return JSON.parse(e)}catch{return e}},"tryParse"),j8=class j8{constructor(){this.valuesMap=new Map}getItem(t){return this.valuesMap.has(t)?String(this.valuesMap.get(t)):null}setItem(t,n){this.valuesMap.set(t,n)}removeItem(t){this.valuesMap.delete(t)}removeItems(t){this.valuesMap.forEach((n,r)=>{r.startsWith(t)&&this.valuesMap.delete(r)})}clear(){this.valuesMap.clear()}key(t){if(arguments.length===0)throw new TypeError("Failed to execute 'key' on 'Storage': 1 argument required, but only 0 present.");return Array.from(this.valuesMap.keys())[t]}get length(){return this.valuesMap.size}};o(j8,"LocalStorageShim");let a$=j8;const Ure=new a$,qi=o(()=>r$?window.localStorage:Ure,"getStorage");var Hre=typeof im=="object"&&im&&im.Object===Object&&im,G9=Hre,qre=G9,Vre=typeof self=="object"&&self&&self.Object===Object&&self,Gre=qre||Vre||Function("return this")(),Wo=Gre,Kre=Wo,Jre=Kre.Symbol,Bf=Jre,d4=Bf,K9=Object.prototype,Yre=K9.hasOwnProperty,Qre=K9.toString,Np=d4?d4.toStringTag:void 0;function Xre(e){var t=Yre.call(e,Np),n=e[Np];try{e[Np]=void 0;var r=!0}catch{}var a=Qre.call(e);return r&&(t?e[Np]=n:delete e[Np]),a}o(Xre,"getRawTag$1");var Zre=Xre,eae=Object.prototype,tae=eae.toString;function nae(e){return tae.call(e)}o(nae,"objectToString$1");var rae=nae,f4=Bf,aae=Zre,oae=rae,iae="[object Null]",sae="[object Undefined]",p4=f4?f4.toStringTag:void 0;function cae(e){return e==null?e===void 0?sae:iae:p4&&p4 in Object(e)?aae(e):oae(e)}o(cae,"baseGetTag$8");var _c=cae;function lae(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}o(lae,"isObject$f");var wo=lae,uae=_c,dae=wo,fae="[object AsyncFunction]",pae="[object Function]",mae="[object GeneratorFunction]",hae="[object Proxy]";function gae(e){if(!dae(e))return!1;var t=uae(e);return t==pae||t==mae||t==fae||t==hae}o(gae,"isFunction$6");var px=gae;const J9=Qt(px);var vae=Wo,yae=vae["__core-js_shared__"],bae=yae,C2=bae,m4=function(){var e=/[^.]+$/.exec(C2&&C2.keys&&C2.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function xae(e){return!!m4&&m4 in e}o(xae,"isMasked$1");var wae=xae,Cae=Function.prototype,Sae=Cae.toString;function jae(e){if(e!=null){try{return Sae.call(e)}catch{}try{return e+""}catch{}}return""}o(jae,"toSource$2");var Y9=jae,$ae=px,_ae=wae,kae=wo,Eae=Y9,Rae=/[\\^$.*+?()[\]{}|]/g,Aae=/^\[object .+?Constructor\]$/,Pae=Function.prototype,Mae=Object.prototype,Tae=Pae.toString,Oae=Mae.hasOwnProperty,zae=RegExp("^"+Tae.call(Oae).replace(Rae,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Iae(e){if(!kae(e)||_ae(e))return!1;var t=$ae(e)?zae:Aae;return t.test(Eae(e))}o(Iae,"baseIsNative$1");var Lae=Iae;function Dae(e,t){return e==null?void 0:e[t]}o(Dae,"getValue$2");var Nae=Dae,Fae=Lae,Bae=Nae;function Wae(e,t){var n=Bae(e,t);return Fae(n)?n:void 0}o(Wae,"getNative$7");var Hl=Wae,Uae=Hl,Hae=function(){try{var e=Uae(Object,"defineProperty");return e({},"",{}),e}catch{}}(),Q9=Hae,h4=Q9;function qae(e,t,n){t=="__proto__"&&h4?h4(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}o(qae,"baseAssignValue$3");var Ak=qae;function Vae(e,t){return e===t||e!==e&&t!==t}o(Vae,"eq$6");var Wf=Vae,Gae=Ak,Kae=Wf,Jae=Object.prototype,Yae=Jae.hasOwnProperty;function Qae(e,t,n){var r=e[t];(!(Yae.call(e,t)&&Kae(r,n))||n===void 0&&!(t in e))&&Gae(e,t,n)}o(Qae,"assignValue$3");var Pk=Qae,Xae=Array.isArray,Sa=Xae;function Zae(e){return e!=null&&typeof e=="object"}o(Zae,"isObjectLike$b");var Uo=Zae,eoe=_c,toe=Uo,noe="[object Symbol]";function roe(e){return typeof e=="symbol"||toe(e)&&eoe(e)==noe}o(roe,"isSymbol$6");var rg=roe,aoe=Sa,ooe=rg,ioe=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,soe=/^\w*$/;function coe(e,t){if(aoe(e))return!1;var n=typeof e;return n=="number"||n=="symbol"||n=="boolean"||e==null||ooe(e)?!0:soe.test(e)||!ioe.test(e)||t!=null&&e in Object(t)}o(coe,"isKey$4");var Mk=coe,loe=Hl,uoe=loe(Object,"create"),mx=uoe,g4=mx;function doe(){this.__data__=g4?g4(null):{},this.size=0}o(doe,"hashClear$1");var foe=doe;function poe(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}o(poe,"hashDelete$1");var moe=poe,hoe=mx,goe="__lodash_hash_undefined__",voe=Object.prototype,yoe=voe.hasOwnProperty;function boe(e){var t=this.__data__;if(hoe){var n=t[e];return n===goe?void 0:n}return yoe.call(t,e)?t[e]:void 0}o(boe,"hashGet$1");var xoe=boe,woe=mx,Coe=Object.prototype,Soe=Coe.hasOwnProperty;function joe(e){var t=this.__data__;return woe?t[e]!==void 0:Soe.call(t,e)}o(joe,"hashHas$1");var $oe=joe,_oe=mx,koe="__lodash_hash_undefined__";function Eoe(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=_oe&&t===void 0?koe:t,this}o(Eoe,"hashSet$1");var Roe=Eoe,Aoe=foe,Poe=moe,Moe=xoe,Toe=$oe,Ooe=Roe;function Uf(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}o(Uf,"Hash$1");Uf.prototype.clear=Aoe;Uf.prototype.delete=Poe;Uf.prototype.get=Moe;Uf.prototype.has=Toe;Uf.prototype.set=Ooe;var zoe=Uf;function Ioe(){this.__data__=[],this.size=0}o(Ioe,"listCacheClear$1");var Loe=Ioe,Doe=Wf;function Noe(e,t){for(var n=e.length;n--;)if(Doe(e[n][0],t))return n;return-1}o(Noe,"assocIndexOf$4");var hx=Noe,Foe=hx,Boe=Array.prototype,Woe=Boe.splice;function Uoe(e){var t=this.__data__,n=Foe(t,e);if(n<0)return!1;var r=t.length-1;return n==r?t.pop():Woe.call(t,n,1),--this.size,!0}o(Uoe,"listCacheDelete$1");var Hoe=Uoe,qoe=hx;function Voe(e){var t=this.__data__,n=qoe(t,e);return n<0?void 0:t[n][1]}o(Voe,"listCacheGet$1");var Goe=Voe,Koe=hx;function Joe(e){return Koe(this.__data__,e)>-1}o(Joe,"listCacheHas$1");var Yoe=Joe,Qoe=hx;function Xoe(e,t){var n=this.__data__,r=Qoe(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}o(Xoe,"listCacheSet$1");var Zoe=Xoe,eie=Loe,tie=Hoe,nie=Goe,rie=Yoe,aie=Zoe;function Hf(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}o(Hf,"ListCache$4");Hf.prototype.clear=eie;Hf.prototype.delete=tie;Hf.prototype.get=nie;Hf.prototype.has=rie;Hf.prototype.set=aie;var gx=Hf,oie=Hl,iie=Wo,sie=oie(iie,"Map"),Tk=sie,v4=zoe,cie=gx,lie=Tk;function uie(){this.size=0,this.__data__={hash:new v4,map:new(lie||cie),string:new v4}}o(uie,"mapCacheClear$1");var die=uie;function fie(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}o(fie,"isKeyable$1");var pie=fie,mie=pie;function hie(e,t){var n=e.__data__;return mie(t)?n[typeof t=="string"?"string":"hash"]:n.map}o(hie,"getMapData$4");var vx=hie,gie=vx;function vie(e){var t=gie(this,e).delete(e);return this.size-=t?1:0,t}o(vie,"mapCacheDelete$1");var yie=vie,bie=vx;function xie(e){return bie(this,e).get(e)}o(xie,"mapCacheGet$1");var wie=xie,Cie=vx;function Sie(e){return Cie(this,e).has(e)}o(Sie,"mapCacheHas$1");var jie=Sie,$ie=vx;function _ie(e,t){var n=$ie(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this}o(_ie,"mapCacheSet$1");var kie=_ie,Eie=die,Rie=yie,Aie=wie,Pie=jie,Mie=kie;function qf(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}o(qf,"MapCache$3");qf.prototype.clear=Eie;qf.prototype.delete=Rie;qf.prototype.get=Aie;qf.prototype.has=Pie;qf.prototype.set=Mie;var Ok=qf,X9=Ok,Tie="Expected a function";function zk(e,t){if(typeof e!="function"||t!=null&&typeof t!="function")throw new TypeError(Tie);var n=o(function(){var r=arguments,a=t?t.apply(this,r):r[0],i=n.cache;if(i.has(a))return i.get(a);var s=e.apply(this,r);return n.cache=i.set(a,s)||i,s},"memoized");return n.cache=new(zk.Cache||X9),n}o(zk,"memoize$4");zk.Cache=X9;var Z9=zk;const e7=Qt(Z9);var Oie=Z9,zie=500;function Iie(e){var t=Oie(e,function(r){return n.size===zie&&n.clear(),r}),n=t.cache;return t}o(Iie,"memoizeCapped$1");var Lie=Iie,Die=Lie,Nie=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Fie=/\\(\\)?/g,Bie=Die(function(e){var t=[];return e.charCodeAt(0)===46&&t.push(""),e.replace(Nie,function(n,r,a,i){t.push(a?i.replace(Fie,"$1"):r||n)}),t}),Wie=Bie;function Uie(e,t){for(var n=-1,r=e==null?0:e.length,a=Array(r);++n<r;)a[n]=t(e[n],n,e);return a}o(Uie,"arrayMap$5");var ag=Uie,y4=Bf,Hie=ag,qie=Sa,Vie=rg,Gie=1/0,b4=y4?y4.prototype:void 0,x4=b4?b4.toString:void 0;function t7(e){if(typeof e=="string")return e;if(qie(e))return Hie(e,t7)+"";if(Vie(e))return x4?x4.call(e):"";var t=e+"";return t=="0"&&1/e==-Gie?"-0":t}o(t7,"baseToString$1");var Kie=t7,Jie=Kie;function Yie(e){return e==null?"":Jie(e)}o(Yie,"toString$1");var Qie=Yie,Xie=Sa,Zie=Mk,ese=Wie,tse=Qie;function nse(e,t){return Xie(e)?e:Zie(e,t)?[e]:ese(tse(e))}o(nse,"castPath$6");var Vf=nse,rse=9007199254740991,ase=/^(?:0|[1-9]\d*)$/;function ose(e,t){var n=typeof e;return t=t??rse,!!t&&(n=="number"||n!="symbol"&&ase.test(e))&&e>-1&&e%1==0&&e<t}o(ose,"isIndex$4");var yx=ose,ise=rg,sse=1/0;function cse(e){if(typeof e=="string"||ise(e))return e;var t=e+"";return t=="0"&&1/e==-sse?"-0":t}o(cse,"toKey$6");var Gf=cse,lse=Pk,use=Vf,dse=yx,w4=wo,fse=Gf;function pse(e,t,n,r){if(!w4(e))return e;t=use(t,e);for(var a=-1,i=t.length,s=i-1,c=e;c!=null&&++a<i;){var l=fse(t[a]),u=n;if(l==="__proto__"||l==="constructor"||l==="prototype")return e;if(a!=s){var d=c[l];u=r?r(d,l,c):void 0,u===void 0&&(u=w4(d)?d:dse(t[a+1])?[]:{})}lse(c,l,u),c=c[l]}return e}o(pse,"baseSet$2");var n7=pse,mse=n7;function hse(e,t,n){return e==null?e:mse(e,t,n)}o(hse,"set$1");var gse=hse;const Ta=Qt(gse);function vse(e){var t=e==null?0:e.length;return t?e[t-1]:void 0}o(vse,"last$1");var r7=vse;const mt=Qt(r7);var yse=Vf,bse=Gf;function xse(e,t){t=yse(t,e);for(var n=0,r=t.length;e!=null&&n<r;)e=e[bse(t[n++])];return n&&n==r?e:void 0}o(xse,"baseGet$6");var og=xse;function wse(e,t,n){var r=-1,a=e.length;t<0&&(t=-t>a?0:a+t),n=n>a?a:n,n<0&&(n+=a),a=t>n?0:n-t>>>0,t>>>=0;for(var i=Array(a);++r<a;)i[r]=e[r+t];return i}o(wse,"baseSlice$1");var Cse=wse,Sse=og,jse=Cse;function $se(e,t){return t.length<2?e:Sse(e,jse(t,0,-1))}o($se,"parent$1");var _se=$se,kse=Vf,Ese=r7,Rse=_se,Ase=Gf;function Pse(e,t){return t=kse(t,e),e=Rse(e,t),e==null||delete e[Ase(Ese(t))]}o(Pse,"baseUnset$2");var a7=Pse,Mse=a7;function Tse(e,t){return e==null?!0:Mse(e,t)}o(Tse,"unset$1");var Ose=Tse;const sy=Qt(Ose);var zse=og;function Ise(e,t,n){var r=e==null?void 0:zse(e,t);return r===void 0?n:r}o(Ise,"get$2");var o7=Ise;const $t=Qt(o7),i7=o((e={})=>{const t={},n=o((r,a)=>{Object.keys(t).forEach(i=>{t[i]&&t[i].key===r&&t[i].callback(a)})},"publish");return{setup:o(()=>{},"setup"),teardown:o(()=>{Object.keys(e).forEach(r=>delete e[r])},"teardown"),getItem(r,a){return $t(e,r,a)},setItem(r,a){Ta(e,r,a),n(r,a)},removeItem(r){sy(e,r),n(r,void 0)},removeItems(r){const a=C4(e);Object.keys(a).forEach(i=>{i.startsWith(r)&&(sy(e,i),n(i,void 0))})},reset(){const r=C4(e);Object.keys(r).forEach(a=>{sy(e,a),n(a,void 0)})},subscribe:o((r,a)=>{const i=Math.random().toString();return t[i]={key:r,callback:a},()=>{delete t[i]}},"subscribe")}},"memoryStore"),C4=o(e=>{var t={};function n(r,a){if(Object(r)!==r)t[a]=r;else if(Array.isArray(r))t[a]=r;else{var i=!0;for(var s in r)i=!1,n(r[s],a?a+"."+s:s);i&&a&&(t[a]={})}}return o(n,"doFlatten"),n(e,""),t},"flatten$2"),Lse=i7(),s7=g.createContext(Lse),Dse=o(({value:e,children:t})=>(g.useEffect(()=>(e.setup(),()=>{e.teardown()}),[e]),f.jsx(s7.Provider,{value:e,children:t})),"StoreContextProvider"),bx=o(()=>g.useContext(s7),"useStoreContext");var Nse=gx;function Fse(){this.__data__=new Nse,this.size=0}o(Fse,"stackClear$1");var Bse=Fse;function Wse(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}o(Wse,"stackDelete$1");var Use=Wse;function Hse(e){return this.__data__.get(e)}o(Hse,"stackGet$1");var qse=Hse;function Vse(e){return this.__data__.has(e)}o(Vse,"stackHas$1");var Gse=Vse,Kse=gx,Jse=Tk,Yse=Ok,Qse=200;function Xse(e,t){var n=this.__data__;if(n instanceof Kse){var r=n.__data__;if(!Jse||r.length<Qse-1)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new Yse(r)}return n.set(e,t),this.size=n.size,this}o(Xse,"stackSet$1");var Zse=Xse,ece=gx,tce=Bse,nce=Use,rce=qse,ace=Gse,oce=Zse;function Kf(e){var t=this.__data__=new ece(e);this.size=t.size}o(Kf,"Stack$5");Kf.prototype.clear=tce;Kf.prototype.delete=nce;Kf.prototype.get=rce;Kf.prototype.has=ace;Kf.prototype.set=oce;var xx=Kf,ice="__lodash_hash_undefined__";function sce(e){return this.__data__.set(e,ice),this}o(sce,"setCacheAdd$1");var cce=sce;function lce(e){return this.__data__.has(e)}o(lce,"setCacheHas$1");var uce=lce,dce=Ok,fce=cce,pce=uce;function bb(e){var t=-1,n=e==null?0:e.length;for(this.__data__=new dce;++t<n;)this.add(e[t])}o(bb,"SetCache$3");bb.prototype.add=bb.prototype.push=fce;bb.prototype.has=pce;var Ik=bb;function mce(e,t){for(var n=-1,r=e==null?0:e.length;++n<r;)if(t(e[n],n,e))return!0;return!1}o(mce,"arraySome$1");var hce=mce;function gce(e,t){return e.has(t)}o(gce,"cacheHas$3");var Lk=gce,vce=Ik,yce=hce,bce=Lk,xce=1,wce=2;function Cce(e,t,n,r,a,i){var s=n&xce,c=e.length,l=t.length;if(c!=l&&!(s&&l>c))return!1;var u=i.get(e),d=i.get(t);if(u&&d)return u==t&&d==e;var p=-1,m=!0,v=n&wce?new vce:void 0;for(i.set(e,t),i.set(t,e);++p<c;){var h=e[p],y=t[p];if(r)var C=s?r(y,h,p,t,e,i):r(h,y,p,e,t,i);if(C!==void 0){if(C)continue;m=!1;break}if(v){if(!yce(t,function(w,x){if(!bce(v,x)&&(h===w||a(h,w,n,r,i)))return v.push(x)})){m=!1;break}}else if(!(h===y||a(h,y,n,r,i))){m=!1;break}}return i.delete(e),i.delete(t),m}o(Cce,"equalArrays$2");var c7=Cce,Sce=Wo,jce=Sce.Uint8Array,l7=jce;function $ce(e){var t=-1,n=Array(e.size);return e.forEach(function(r,a){n[++t]=[a,r]}),n}o($ce,"mapToArray$1");var _ce=$ce;function kce(e){var t=-1,n=Array(e.size);return e.forEach(function(r){n[++t]=r}),n}o(kce,"setToArray$3");var Dk=kce,S4=Bf,j4=l7,Ece=Wf,Rce=c7,Ace=_ce,Pce=Dk,Mce=1,Tce=2,Oce="[object Boolean]",zce="[object Date]",Ice="[object Error]",Lce="[object Map]",Dce="[object Number]",Nce="[object RegExp]",Fce="[object Set]",Bce="[object String]",Wce="[object Symbol]",Uce="[object ArrayBuffer]",Hce="[object DataView]",$4=S4?S4.prototype:void 0,S2=$4?$4.valueOf:void 0;function qce(e,t,n,r,a,i,s){switch(n){case Hce:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case Uce:return!(e.byteLength!=t.byteLength||!i(new j4(e),new j4(t)));case Oce:case zce:case Dce:return Ece(+e,+t);case Ice:return e.name==t.name&&e.message==t.message;case Nce:case Bce:return e==t+"";case Lce:var c=Ace;case Fce:var l=r&Mce;if(c||(c=Pce),e.size!=t.size&&!l)return!1;var u=s.get(e);if(u)return u==t;r|=Tce,s.set(e,t);var d=Rce(c(e),c(t),r,a,i,s);return s.delete(e),d;case Wce:if(S2)return S2.call(e)==S2.call(t)}return!1}o(qce,"equalByTag$1");var Vce=qce;function Gce(e,t){for(var n=-1,r=t.length,a=e.length;++n<r;)e[a+n]=t[n];return e}o(Gce,"arrayPush$3");var Nk=Gce,Kce=Nk,Jce=Sa;function Yce(e,t,n){var r=t(e);return Jce(e)?r:Kce(r,n(e))}o(Yce,"baseGetAllKeys$2");var u7=Yce;function Qce(e,t){for(var n=-1,r=e==null?0:e.length,a=0,i=[];++n<r;){var s=e[n];t(s,n,e)&&(i[a++]=s)}return i}o(Qce,"arrayFilter$2");var d7=Qce;function Xce(){return[]}o(Xce,"stubArray$2");var f7=Xce,Zce=d7,ele=f7,tle=Object.prototype,nle=tle.propertyIsEnumerable,_4=Object.getOwnPropertySymbols,rle=_4?function(e){return e==null?[]:(e=Object(e),Zce(_4(e),function(t){return nle.call(e,t)}))}:ele,Fk=rle;function ale(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}o(ale,"baseTimes$1");var ole=ale,ile=_c,sle=Uo,cle="[object Arguments]";function lle(e){return sle(e)&&ile(e)==cle}o(lle,"baseIsArguments$1");var ule=lle,k4=ule,dle=Uo,p7=Object.prototype,fle=p7.hasOwnProperty,ple=p7.propertyIsEnumerable,mle=k4(function(){return arguments}())?k4:function(e){return dle(e)&&fle.call(e,"callee")&&!ple.call(e,"callee")},wx=mle,xb={exports:{}};function hle(){return!1}o(hle,"stubFalse");var gle=hle;xb.exports;(function(e,t){var n=Wo,r=gle,a=t&&!t.nodeType&&t,i=a&&!0&&e&&!e.nodeType&&e,s=i&&i.exports===a,c=s?n.Buffer:void 0,l=c?c.isBuffer:void 0,u=l||r;e.exports=u})(xb,xb.exports);var Cx=xb.exports,vle=9007199254740991;function yle(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=vle}o(yle,"isLength$3");var Bk=yle,ble=_c,xle=Bk,wle=Uo,Cle="[object Arguments]",Sle="[object Array]",jle="[object Boolean]",$le="[object Date]",_le="[object Error]",kle="[object Function]",Ele="[object Map]",Rle="[object Number]",Ale="[object Object]",Ple="[object RegExp]",Mle="[object Set]",Tle="[object String]",Ole="[object WeakMap]",zle="[object ArrayBuffer]",Ile="[object DataView]",Lle="[object Float32Array]",Dle="[object Float64Array]",Nle="[object Int8Array]",Fle="[object Int16Array]",Ble="[object Int32Array]",Wle="[object Uint8Array]",Ule="[object Uint8ClampedArray]",Hle="[object Uint16Array]",qle="[object Uint32Array]",yn={};yn[Lle]=yn[Dle]=yn[Nle]=yn[Fle]=yn[Ble]=yn[Wle]=yn[Ule]=yn[Hle]=yn[qle]=!0;yn[Cle]=yn[Sle]=yn[zle]=yn[jle]=yn[Ile]=yn[$le]=yn[_le]=yn[kle]=yn[Ele]=yn[Rle]=yn[Ale]=yn[Ple]=yn[Mle]=yn[Tle]=yn[Ole]=!1;function Vle(e){return wle(e)&&xle(e.length)&&!!yn[ble(e)]}o(Vle,"baseIsTypedArray$1");var Gle=Vle;function Kle(e){return function(t){return e(t)}}o(Kle,"baseUnary$5");var ig=Kle,wb={exports:{}};wb.exports;(function(e,t){var n=G9,r=t&&!t.nodeType&&t,a=r&&!0&&e&&!e.nodeType&&e,i=a&&a.exports===r,s=i&&n.process,c=function(){try{var l=a&&a.require&&a.require("util").types;return l||s&&s.binding&&s.binding("util")}catch{}}();e.exports=c})(wb,wb.exports);var Sx=wb.exports,Jle=Gle,Yle=ig,E4=Sx,R4=E4&&E4.isTypedArray,Qle=R4?Yle(R4):Jle,Wk=Qle,Xle=ole,Zle=wx,eue=Sa,tue=Cx,nue=yx,rue=Wk,aue=Object.prototype,oue=aue.hasOwnProperty;function iue(e,t){var n=eue(e),r=!n&&Zle(e),a=!n&&!r&&tue(e),i=!n&&!r&&!a&&rue(e),s=n||r||a||i,c=s?Xle(e.length,String):[],l=c.length;for(var u in e)(t||oue.call(e,u))&&!(s&&(u=="length"||a&&(u=="offset"||u=="parent")||i&&(u=="buffer"||u=="byteLength"||u=="byteOffset")||nue(u,l)))&&c.push(u);return c}o(iue,"arrayLikeKeys$2");var m7=iue,sue=Object.prototype;function cue(e){var t=e&&e.constructor,n=typeof t=="function"&&t.prototype||sue;return e===n}o(cue,"isPrototype$3");var Uk=cue;function lue(e,t){return function(n){return e(t(n))}}o(lue,"overArg$2");var h7=lue,uue=h7,due=uue(Object.keys,Object),fue=due,pue=Uk,mue=fue,hue=Object.prototype,gue=hue.hasOwnProperty;function vue(e){if(!pue(e))return mue(e);var t=[];for(var n in Object(e))gue.call(e,n)&&n!="constructor"&&t.push(n);return t}o(vue,"baseKeys$1");var yue=vue,bue=px,xue=Bk;function wue(e){return e!=null&&xue(e.length)&&!bue(e)}o(wue,"isArrayLike$6");var Jf=wue,Cue=m7,Sue=yue,jue=Jf;function $ue(e){return jue(e)?Cue(e):Sue(e)}o($ue,"keys$6");var sg=$ue,_ue=u7,kue=Fk,Eue=sg;function Rue(e){return _ue(e,Eue,kue)}o(Rue,"getAllKeys$2");var g7=Rue,A4=g7,Aue=1,Pue=Object.prototype,Mue=Pue.hasOwnProperty;function Tue(e,t,n,r,a,i){var s=n&Aue,c=A4(e),l=c.length,u=A4(t),d=u.length;if(l!=d&&!s)return!1;for(var p=l;p--;){var m=c[p];if(!(s?m in t:Mue.call(t,m)))return!1}var v=i.get(e),h=i.get(t);if(v&&h)return v==t&&h==e;var y=!0;i.set(e,t),i.set(t,e);for(var C=s;++p<l;){m=c[p];var w=e[m],x=t[m];if(r)var b=s?r(x,w,m,t,e,i):r(w,x,m,e,t,i);if(!(b===void 0?w===x||a(w,x,n,r,i):b)){y=!1;break}C||(C=m=="constructor")}if(y&&!C){var S=e.constructor,$=t.constructor;S!=$&&"constructor"in e&&"constructor"in t&&!(typeof S=="function"&&S instanceof S&&typeof $=="function"&&$ instanceof $)&&(y=!1)}return i.delete(e),i.delete(t),y}o(Tue,"equalObjects$1");var Oue=Tue,zue=Hl,Iue=Wo,Lue=zue(Iue,"DataView"),Due=Lue,Nue=Hl,Fue=Wo,Bue=Nue(Fue,"Promise"),Wue=Bue,Uue=Hl,Hue=Wo,que=Uue(Hue,"Set"),v7=que,Vue=Hl,Gue=Wo,Kue=Vue(Gue,"WeakMap"),Jue=Kue,o$=Due,i$=Tk,s$=Wue,c$=v7,l$=Jue,y7=_c,Yf=Y9,P4="[object Map]",Yue="[object Object]",M4="[object Promise]",T4="[object Set]",O4="[object WeakMap]",z4="[object DataView]",Que=Yf(o$),Xue=Yf(i$),Zue=Yf(s$),ede=Yf(c$),tde=Yf(l$),Nc=y7;(o$&&Nc(new o$(new ArrayBuffer(1)))!=z4||i$&&Nc(new i$)!=P4||s$&&Nc(s$.resolve())!=M4||c$&&Nc(new c$)!=T4||l$&&Nc(new l$)!=O4)&&(Nc=o(function(e){var t=y7(e),n=t==Yue?e.constructor:void 0,r=n?Yf(n):"";if(r)switch(r){case Que:return z4;case Xue:return P4;case Zue:return M4;case ede:return T4;case tde:return O4}return t},"getTag$4"));var jx=Nc,j2=xx,nde=c7,rde=Vce,ade=Oue,I4=jx,L4=Sa,D4=Cx,ode=Wk,ide=1,N4="[object Arguments]",F4="[object Array]",hv="[object Object]",sde=Object.prototype,B4=sde.hasOwnProperty;function cde(e,t,n,r,a,i){var s=L4(e),c=L4(t),l=s?F4:I4(e),u=c?F4:I4(t);l=l==N4?hv:l,u=u==N4?hv:u;var d=l==hv,p=u==hv,m=l==u;if(m&&D4(e)){if(!D4(t))return!1;s=!0,d=!1}if(m&&!d)return i||(i=new j2),s||ode(e)?nde(e,t,n,r,a,i):rde(e,t,l,n,r,a,i);if(!(n&ide)){var v=d&&B4.call(e,"__wrapped__"),h=p&&B4.call(t,"__wrapped__");if(v||h){var y=v?e.value():e,C=h?t.value():t;return i||(i=new j2),a(y,C,n,r,i)}}return m?(i||(i=new j2),ade(e,t,n,r,a,i)):!1}o(cde,"baseIsEqualDeep$1");var lde=cde,ude=lde,W4=Uo;function b7(e,t,n,r,a){return e===t?!0:e==null||t==null||!W4(e)&&!W4(t)?e!==e&&t!==t:ude(e,t,n,r,b7,a)}o(b7,"baseIsEqual$3");var Hk=b7,dde=Hk;function fde(e,t){return dde(e,t)}o(fde,"isEqual$1");var pde=fde;const va=Qt(pde),U4=o((e,t)=>e&&t?String.prototype.replace.call(e,mde,function(n,r){return!t.hasOwnProperty(r)||t[r]==null?n:t[r]}):e,"substituteTokens"),mde=/%\{(.*?)\}/g,hde={translate:o((e,t)=>t!=null&&t._?U4(t._,t):U4(e,t),"translate"),changeLocale:o(()=>Promise.resolve(),"changeLocale"),getLocale:o(()=>"en","getLocale")},qk=g.createContext(hde);qk.displayName="I18nContext";const x7=g.createContext(()=>{}),w7=g.createContext({notifications:[],addNotification:o(()=>{},"addNotification"),takeNotification:o(()=>{},"takeNotification"),resetNotifications:o(()=>{},"resetNotifications"),setNotifications:o(()=>{},"setNotifications")}),gde=o(({children:e})=>{const[t,n]=g.useState([]),r=g.useCallback(c=>{n(l=>[...l,c])},[]),a=g.useCallback(()=>{if(t.length===0)return;const[c,...l]=t;return n(l),c},[t]),i=g.useCallback(()=>{n([])},[]),s=g.useMemo(()=>({notifications:t,addNotification:r,takeNotification:a,resetNotifications:i,setNotifications:n}),[t]);return f.jsx(w7.Provider,{value:s,children:f.jsx(x7.Provider,{value:r,children:e})})},"NotificationContextProvider"),vde=o(()=>g.useContext(x7),"useAddNotificationContext"),C7=o(()=>g.useContext(w7),"useNotificationContext"),Kn=o(()=>{const e=vde();return g.useCallback((t,n={})=>{const{type:r="info",...a}=n;e({message:t,type:r,notificationOptions:a})},[e])},"useNotify"),yde=o(({value:e=bde,children:t})=>{const[n]=So("locale"),r=Kn(),[a,i]=g.useState(0),[s,c]=g.useState(n===e.getLocale());return g.useEffect(()=>{n&&e.getLocale()!==n?new Promise(l=>{l(e.changeLocale(n))}).then(()=>{i(l=>l+1),c(!0)}).catch(l=>{c(!0),r("ra.notification.i18n_error",{type:"error"}),console.error(l)}):c(!0)},[e,n,r]),s?f.jsx(qk.Provider,{value:e,children:t},a):null},"I18nContextProvider"),bde={translate:o(e=>e,"translate"),changeLocale:o(()=>Promise.resolve(),"changeLocale"),getLocale:o(()=>"en","getLocale")};var xde=Ak,wde=Wf;function Cde(e,t,n){(n!==void 0&&!wde(e[t],n)||n===void 0&&!(t in e))&&xde(e,t,n)}o(Cde,"assignMergeValue$2");var S7=Cde;function Sde(e){return function(t,n,r){for(var a=-1,i=Object(t),s=r(t),c=s.length;c--;){var l=s[e?c:++a];if(n(i[l],l,i)===!1)break}return t}}o(Sde,"createBaseFor$1");var jde=Sde,$de=jde,_de=$de(),j7=_de,Cb={exports:{}};Cb.exports;(function(e,t){var n=Wo,r=t&&!t.nodeType&&t,a=r&&!0&&e&&!e.nodeType&&e,i=a&&a.exports===r,s=i?n.Buffer:void 0,c=s?s.allocUnsafe:void 0;function l(u,d){if(d)return u.slice();var p=u.length,m=c?c(p):new u.constructor(p);return u.copy(m),m}o(l,"cloneBuffer"),e.exports=l})(Cb,Cb.exports);var $7=Cb.exports,H4=l7;function kde(e){var t=new e.constructor(e.byteLength);return new H4(t).set(new H4(e)),t}o(kde,"cloneArrayBuffer$3");var Vk=kde,Ede=Vk;function Rde(e,t){var n=t?Ede(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}o(Rde,"cloneTypedArray$2");var _7=Rde;function Ade(e,t){var n=-1,r=e.length;for(t||(t=Array(r));++n<r;)t[n]=e[n];return t}o(Ade,"copyArray$2");var k7=Ade,Pde=wo,q4=Object.create,Mde=function(){function e(){}return o(e,"object"),function(t){if(!Pde(t))return{};if(q4)return q4(t);e.prototype=t;var n=new e;return e.prototype=void 0,n}}(),Tde=Mde,Ode=h7,zde=Ode(Object.getPrototypeOf,Object),Gk=zde,Ide=Tde,Lde=Gk,Dde=Uk;function Nde(e){return typeof e.constructor=="function"&&!Dde(e)?Ide(Lde(e)):{}}o(Nde,"initCloneObject$2");var E7=Nde,Fde=Jf,Bde=Uo;function Wde(e){return Bde(e)&&Fde(e)}o(Wde,"isArrayLikeObject$4");var $x=Wde,Ude=_c,Hde=Gk,qde=Uo,Vde="[object Object]",Gde=Function.prototype,Kde=Object.prototype,R7=Gde.toString,Jde=Kde.hasOwnProperty,Yde=R7.call(Object);function Qde(e){if(!qde(e)||Ude(e)!=Vde)return!1;var t=Hde(e);if(t===null)return!0;var n=Jde.call(t,"constructor")&&t.constructor;return typeof n=="function"&&n instanceof n&&R7.call(n)==Yde}o(Qde,"isPlainObject$4");var Kk=Qde;const Jk=Qt(Kk);function Xde(e,t){if(!(t==="constructor"&&typeof e[t]=="function")&&t!="__proto__")return e[t]}o(Xde,"safeGet$2");var A7=Xde,Zde=Pk,efe=Ak;function tfe(e,t,n,r){var a=!n;n||(n={});for(var i=-1,s=t.length;++i<s;){var c=t[i],l=r?r(n[c],e[c],c,n,e):void 0;l===void 0&&(l=e[c]),a?efe(n,c,l):Zde(n,c,l)}return n}o(tfe,"copyObject$6");var Qf=tfe;function nfe(e){var t=[];if(e!=null)for(var n in Object(e))t.push(n);return t}o(nfe,"nativeKeysIn$1");var rfe=nfe,afe=wo,ofe=Uk,ife=rfe,sfe=Object.prototype,cfe=sfe.hasOwnProperty;function lfe(e){if(!afe(e))return ife(e);var t=ofe(e),n=[];for(var r in e)r=="constructor"&&(t||!cfe.call(e,r))||n.push(r);return n}o(lfe,"baseKeysIn$1");var ufe=lfe,dfe=m7,ffe=ufe,pfe=Jf;function mfe(e){return pfe(e)?dfe(e,!0):ffe(e)}o(mfe,"keysIn$6");var Xf=mfe,hfe=Qf,gfe=Xf;function vfe(e){return hfe(e,gfe(e))}o(vfe,"toPlainObject$1");var yfe=vfe,V4=S7,bfe=$7,xfe=_7,wfe=k7,Cfe=E7,G4=wx,K4=Sa,Sfe=$x,jfe=Cx,$fe=px,_fe=wo,kfe=Kk,Efe=Wk,J4=A7,Rfe=yfe;function Afe(e,t,n,r,a,i,s){var c=J4(e,n),l=J4(t,n),u=s.get(l);if(u){V4(e,n,u);return}var d=i?i(c,l,n+"",e,t,s):void 0,p=d===void 0;if(p){var m=K4(l),v=!m&&jfe(l),h=!m&&!v&&Efe(l);d=l,m||v||h?K4(c)?d=c:Sfe(c)?d=wfe(c):v?(p=!1,d=bfe(l,!0)):h?(p=!1,d=xfe(l,!0)):d=[]:kfe(l)||G4(l)?(d=c,G4(c)?d=Rfe(c):(!_fe(c)||$fe(c))&&(d=Cfe(l))):p=!1}p&&(s.set(l,d),a(d,l,r,i,s),s.delete(l)),V4(e,n,d)}o(Afe,"baseMergeDeep$1");var Pfe=Afe,Mfe=xx,Tfe=S7,Ofe=j7,zfe=Pfe,Ife=wo,Lfe=Xf,Dfe=A7;function P7(e,t,n,r,a){e!==t&&Ofe(t,function(i,s){if(a||(a=new Mfe),Ife(i))zfe(e,t,s,n,P7,r,a);else{var c=r?r(Dfe(e,s),i,s+"",e,t,a):void 0;c===void 0&&(c=i),Tfe(e,s,c)}},Lfe)}o(P7,"baseMerge$1");var Nfe=P7;function Ffe(e){return e}o(Ffe,"identity$8");var _x=Ffe;function Bfe(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}o(Bfe,"apply$1");var Wfe=Bfe,Ufe=Wfe,Y4=Math.max;function Hfe(e,t,n){return t=Y4(t===void 0?e.length-1:t,0),function(){for(var r=arguments,a=-1,i=Y4(r.length-t,0),s=Array(i);++a<i;)s[a]=r[t+a];a=-1;for(var c=Array(t+1);++a<t;)c[a]=r[a];return c[t]=n(s),Ufe(e,this,c)}}o(Hfe,"overRest$2");var M7=Hfe;function qfe(e){return function(){return e}}o(qfe,"constant$3");var Vfe=qfe,Gfe=Vfe,Q4=Q9,Kfe=_x,Jfe=Q4?function(e,t){return Q4(e,"toString",{configurable:!0,enumerable:!1,value:Gfe(t),writable:!0})}:Kfe,Yfe=Jfe,Qfe=800,Xfe=16,Zfe=Date.now;function epe(e){var t=0,n=0;return function(){var r=Zfe(),a=Xfe-(r-n);if(n=r,a>0){if(++t>=Qfe)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}o(epe,"shortOut$1");var tpe=epe,npe=Yfe,rpe=tpe,ape=rpe(npe),T7=ape,ope=_x,ipe=M7,spe=T7;function cpe(e,t){return spe(ipe(e,t,ope),e+"")}o(cpe,"baseRest$6");var Zf=cpe,lpe=Wf,upe=Jf,dpe=yx,fpe=wo;function ppe(e,t,n){if(!fpe(n))return!1;var r=typeof t;return(r=="number"?upe(n)&&dpe(t,n.length):r=="string"&&t in n)?lpe(n[t],e):!1}o(ppe,"isIterateeCall$3");var Yk=ppe,mpe=Zf,hpe=Yk;function gpe(e){return mpe(function(t,n){var r=-1,a=n.length,i=a>1?n[a-1]:void 0,s=a>2?n[2]:void 0;for(i=e.length>3&&typeof i=="function"?(a--,i):void 0,s&&hpe(n[0],n[1],s)&&(i=a<3?void 0:i,a=1),t=Object(t);++r<a;){var c=n[r];c&&e(t,c,r,i)}return t})}o(gpe,"createAssigner$1");var vpe=gpe,ype=Nfe,bpe=vpe,xpe=bpe(function(e,t,n){ype(e,t,n)}),wpe=xpe;const Qk=Qt(wpe),Xk=o(()=>g.useContext(qk),"useI18nProvider"),O7=o(()=>{const e=Xk(),t=g.useMemo(()=>e.getLocale(),[e]);return So("locale",t)},"useLocaleState"),Cpe=o(()=>{const[e]=O7();return e},"useLocale"),z7=o(e=>{const t=Xk(),n=g.useMemo(()=>t!=null&&t.getLocales?t==null?void 0:t.getLocales():[],[t]);return(e==null?void 0:e.locales)??n},"useLocales");function Spe(e,t){for(var n=-1,r=e==null?0:e.length;++n<r&&t(e[n],n,e)!==!1;);return e}o(Spe,"arrayEach$1");var jpe=Spe,$pe=Qf,_pe=sg;function kpe(e,t){return e&&$pe(t,_pe(t),e)}o(kpe,"baseAssign$1");var Epe=kpe,Rpe=Qf,Ape=Xf;function Ppe(e,t){return e&&Rpe(t,Ape(t),e)}o(Ppe,"baseAssignIn$1");var Mpe=Ppe,Tpe=Qf,Ope=Fk;function zpe(e,t){return Tpe(e,Ope(e),t)}o(zpe,"copySymbols$1");var Ipe=zpe,Lpe=Nk,Dpe=Gk,Npe=Fk,Fpe=f7,Bpe=Object.getOwnPropertySymbols,Wpe=Bpe?function(e){for(var t=[];e;)Lpe(t,Npe(e)),e=Dpe(e);return t}:Fpe,I7=Wpe,Upe=Qf,Hpe=I7;function qpe(e,t){return Upe(e,Hpe(e),t)}o(qpe,"copySymbolsIn$1");var Vpe=qpe,Gpe=u7,Kpe=I7,Jpe=Xf;function Ype(e){return Gpe(e,Jpe,Kpe)}o(Ype,"getAllKeysIn$3");var Zk=Ype,Qpe=Object.prototype,Xpe=Qpe.hasOwnProperty;function Zpe(e){var t=e.length,n=new e.constructor(t);return t&&typeof e[0]=="string"&&Xpe.call(e,"index")&&(n.index=e.index,n.input=e.input),n}o(Zpe,"initCloneArray$1");var eme=Zpe,tme=Vk;function nme(e,t){var n=t?tme(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}o(nme,"cloneDataView$1");var rme=nme,ame=/\w*$/;function ome(e){var t=new e.constructor(e.source,ame.exec(e));return t.lastIndex=e.lastIndex,t}o(ome,"cloneRegExp$1");var ime=ome,X4=Bf,Z4=X4?X4.prototype:void 0,eO=Z4?Z4.valueOf:void 0;function sme(e){return eO?Object(eO.call(e)):{}}o(sme,"cloneSymbol$1");var cme=sme,lme=Vk,ume=rme,dme=ime,fme=cme,pme=_7,mme="[object Boolean]",hme="[object Date]",gme="[object Map]",vme="[object Number]",yme="[object RegExp]",bme="[object Set]",xme="[object String]",wme="[object Symbol]",Cme="[object ArrayBuffer]",Sme="[object DataView]",jme="[object Float32Array]",$me="[object Float64Array]",_me="[object Int8Array]",kme="[object Int16Array]",Eme="[object Int32Array]",Rme="[object Uint8Array]",Ame="[object Uint8ClampedArray]",Pme="[object Uint16Array]",Mme="[object Uint32Array]";function Tme(e,t,n){var r=e.constructor;switch(t){case Cme:return lme(e);case mme:case hme:return new r(+e);case Sme:return ume(e,n);case jme:case $me:case _me:case kme:case Eme:case Rme:case Ame:case Pme:case Mme:return pme(e,n);case gme:return new r;case vme:case xme:return new r(e);case yme:return dme(e);case bme:return new r;case wme:return fme(e)}}o(Tme,"initCloneByTag$1");var Ome=Tme,zme=jx,Ime=Uo,Lme="[object Map]";function Dme(e){return Ime(e)&&zme(e)==Lme}o(Dme,"baseIsMap$1");var Nme=Dme,Fme=Nme,Bme=ig,tO=Sx,nO=tO&&tO.isMap,Wme=nO?Bme(nO):Fme,Ume=Wme,Hme=jx,qme=Uo,Vme="[object Set]";function Gme(e){return qme(e)&&Hme(e)==Vme}o(Gme,"baseIsSet$1");var Kme=Gme,Jme=Kme,Yme=ig,rO=Sx,aO=rO&&rO.isSet,Qme=aO?Yme(aO):Jme,Xme=Qme,Zme=xx,ehe=jpe,the=Pk,nhe=Epe,rhe=Mpe,ahe=$7,ohe=k7,ihe=Ipe,she=Vpe,che=g7,lhe=Zk,uhe=jx,dhe=eme,fhe=Ome,phe=E7,mhe=Sa,hhe=Cx,ghe=Ume,vhe=wo,yhe=Xme,bhe=sg,xhe=Xf,whe=1,Che=2,She=4,L7="[object Arguments]",jhe="[object Array]",$he="[object Boolean]",_he="[object Date]",khe="[object Error]",D7="[object Function]",Ehe="[object GeneratorFunction]",Rhe="[object Map]",Ahe="[object Number]",N7="[object Object]",Phe="[object RegExp]",Mhe="[object Set]",The="[object String]",Ohe="[object Symbol]",zhe="[object WeakMap]",Ihe="[object ArrayBuffer]",Lhe="[object DataView]",Dhe="[object Float32Array]",Nhe="[object Float64Array]",Fhe="[object Int8Array]",Bhe="[object Int16Array]",Whe="[object Int32Array]",Uhe="[object Uint8Array]",Hhe="[object Uint8ClampedArray]",qhe="[object Uint16Array]",Vhe="[object Uint32Array]",pn={};pn[L7]=pn[jhe]=pn[Ihe]=pn[Lhe]=pn[$he]=pn[_he]=pn[Dhe]=pn[Nhe]=pn[Fhe]=pn[Bhe]=pn[Whe]=pn[Rhe]=pn[Ahe]=pn[N7]=pn[Phe]=pn[Mhe]=pn[The]=pn[Ohe]=pn[Uhe]=pn[Hhe]=pn[qhe]=pn[Vhe]=!0;pn[khe]=pn[D7]=pn[zhe]=!1;function cy(e,t,n,r,a,i){var s,c=t&whe,l=t&Che,u=t&She;if(n&&(s=a?n(e,r,a,i):n(e)),s!==void 0)return s;if(!vhe(e))return e;var d=mhe(e);if(d){if(s=dhe(e),!c)return ohe(e,s)}else{var p=uhe(e),m=p==D7||p==Ehe;if(hhe(e))return ahe(e,c);if(p==N7||p==L7||m&&!a){if(s=l||m?{}:phe(e),!c)return l?she(e,rhe(s,e)):ihe(e,nhe(s,e))}else{if(!pn[p])return a?e:{};s=fhe(e,p,c)}}i||(i=new Zme);var v=i.get(e);if(v)return v;i.set(e,s),yhe(e)?e.forEach(function(C){s.add(cy(C,t,n,C,e,i))}):ghe(e)&&e.forEach(function(C,w){s.set(w,cy(C,t,n,w,e,i))});var h=u?l?lhe:che:l?xhe:bhe,y=d?void 0:h(e);return ehe(y||e,function(C,w){y&&(w=C,C=e[w]),the(s,w,cy(C,t,n,w,e,i))}),s}o(cy,"baseClone$3");var eE=cy,Ghe=eE,Khe=1,Jhe=4;function Yhe(e){return Ghe(e,Khe|Jhe)}o(Yhe,"cloneDeep");var Qhe=Yhe;const F7=Qt(Qhe),nt=o(()=>{const e=Xk(),t=g.useCallback((n,r)=>e.translate(n,r),[e]);return e?t:Xhe},"useTranslate"),Xhe=o(e=>e,"identity$5"),B7=g.createContext(""),Zhe=o(({children:e,basename:t})=>f.jsx(B7.Provider,{value:t,children:e}),"BasenameContextProvider"),ege=o(({basename:e="",children:t})=>{const n=$c(),r=n?tge:nge;return f.jsx(Zhe,{basename:n?e:"",children:f.jsx(r,{basename:e,children:t})})},"AdminRouter"),tge=o(({children:e})=>f.jsx(f.Fragment,{children:e}),"DummyRouter"),nge=o(({children:e,basename:t})=>{const n=Ere([{path:"*",element:f.jsx(f.Fragment,{children:e})}],{basename:t});return f.jsx(Ire,{router:n})},"InternalRouter");var rge=Wo,age=o(function(){return rge.Date.now()},"now$1"),oge=age,ige=/\s/;function sge(e){for(var t=e.length;t--&&ige.test(e.charAt(t)););return t}o(sge,"trimmedEndIndex$1");var cge=sge,lge=cge,uge=/^\s+/;function dge(e){return e&&e.slice(0,lge(e)+1).replace(uge,"")}o(dge,"baseTrim$1");var fge=dge,pge=fge,oO=wo,mge=rg,iO=NaN,hge=/^[-+]0x[0-9a-f]+$/i,gge=/^0b[01]+$/i,vge=/^0o[0-7]+$/i,yge=parseInt;function bge(e){if(typeof e=="number")return e;if(mge(e))return iO;if(oO(e)){var t=typeof e.valueOf=="function"?e.valueOf():e;e=oO(t)?t+"":t}if(typeof e!="string")return e===0?e:+e;e=pge(e);var n=gge.test(e);return n||vge.test(e)?yge(e.slice(2),n?2:8):hge.test(e)?iO:+e}o(bge,"toNumber$1");var xge=bge,wge=wo,$2=oge,sO=xge,Cge="Expected a function",Sge=Math.max,jge=Math.min;function $ge(e,t,n){var r,a,i,s,c,l,u=0,d=!1,p=!1,m=!0;if(typeof e!="function")throw new TypeError(Cge);t=sO(t)||0,wge(n)&&(d=!!n.leading,p="maxWait"in n,i=p?Sge(sO(n.maxWait)||0,t):i,m="trailing"in n?!!n.trailing:m);function v(j){var _=r,k=a;return r=a=void 0,u=j,s=e.apply(k,_),s}o(v,"invokeFunc");function h(j){return u=j,c=setTimeout(w,t),d?v(j):s}o(h,"leadingEdge");function y(j){var _=j-l,k=j-u,E=t-_;return p?jge(E,i-k):E}o(y,"remainingWait");function C(j){var _=j-l,k=j-u;return l===void 0||_>=t||_<0||p&&k>=i}o(C,"shouldInvoke");function w(){var j=$2();if(C(j))return x(j);c=setTimeout(w,y(j))}o(w,"timerExpired");function x(j){return c=void 0,m&&r?v(j):(r=a=void 0,s)}o(x,"trailingEdge");function b(){c!==void 0&&clearTimeout(c),u=0,r=l=a=c=void 0}o(b,"cancel");function S(){return c===void 0?s:x($2())}o(S,"flush");function $(){var j=$2(),_=C(j);if(r=arguments,a=this,l=j,_){if(c===void 0)return h(l);if(p)return clearTimeout(c),c=setTimeout(w,t),v(l)}return c===void 0&&(c=setTimeout(w,t)),s}return o($,"debounced"),$.cancel=b,$.flush=S,$}o($ge,"debounce$2");var _ge=$ge;const cg=Qt(_ge),kge=o((e,t=250)=>{const[n,r]=Ege(e,t),a=Ar();g.useEffect(()=>{var i;n!=null&&((i=a.state)==null?void 0:i._scrollToTop)!==!0&&(r(void 0),window.scrollTo(0,n))},[])},"useRestoreScrollPosition"),Ege=o((e,t=250)=>{const[n,r]=So(e);return g.useEffect(()=>{if(typeof window>"u")return;const a=cg(()=>{r(window.scrollY)},t);return window.addEventListener("scroll",a),()=>{window.removeEventListener("scroll",a)}},[t,r]),[n,r]},"useTrackScrollPosition"),Rge=o(({children:e,storeKey:t,debounce:n=250})=>(kge(t,n),e),"RestoreScrollPosition"),kc=o(()=>g.useContext(B7),"useBasename"),Ho=o(()=>{const e=kc();return g.useCallback(({resource:t,id:n,type:r})=>{if(["list","create","edit","show"].includes(r)&&!t)throw new Error("Cannot create a link without a resource. You must provide the resource name.");switch(r){case"list":return ui(`${e}/${t}`);case"create":return ui(`${e}/${t}/create`);case"edit":return n==null?ui(`${e}/${t}`):ui(`${e}/${t}/${encodeURIComponent(n)}`);case"show":return n==null?ui(`${e}/${t}`):ui(`${e}/${t}/${encodeURIComponent(n)}/show`);default:return r}},[e])},"useCreatePath"),ui=o(e=>e.replace("//","/"),"removeDoubleSlashes"),ep=o(()=>{const e=Ni(),t=kc(),n=Ho();return g.useCallback((r,a="",i,s,c={})=>{if(r)if(typeof r=="function"){const l=r(a,i,s),u=typeof l=="string"?`${t}/${l}`:{pathname:`${t}/${l.pathname}`,...l};e(u,{state:{_scrollToTop:!0,...c}});return}else if(typeof r=="string"&&r.startsWith("http")&&window){window.location.href=r;return}else{e(n({resource:a,id:i,type:r}),{state:r==="list"?c:{_scrollToTop:!0,...c}});return}else return},[e,t,n])},"useRedirect"),W7=o(e=>{const{pathname:t}=Ar(),n=g.useRef(t);g.useEffect(()=>{t!==n.current&&e()},[t,e])},"useResetErrorBoundaryOnLocationChange"),Age=o(()=>{const e=Ar();g.useEffect(()=>{var t;(t=e.state)!=null&&t._scrollToTop&&typeof window<"u"&&typeof window.scrollTo=="function"&&window.scrollTo(0,0)},[e])},"useScrollToTop"),Pge="GET_LIST",Mge="GET_ONE",Tge="GET_MANY",Oge="GET_MANY_REFERENCE",zge="CREATE",Ige="UPDATE",Lge="UPDATE_MANY",Dge="DELETE",Nge="DELETE_MANY";const Fge=["getList","getMany","getManyReference"],Nft=[...Fge,"updateMany","deleteMany"];const tE={create:o(async()=>{throw new Error("create is not implemented")},"create"),delete:o(async()=>{throw new Error("delete not implemented")},"delete"),deleteMany:o(async()=>{throw new Error("deleteMany is not implemented")},"deleteMany"),getList:o(async()=>{throw new Error("getList is not implemented")},"getList"),getMany:o(async()=>{throw new Error("getMany is not implemented")},"getMany"),getManyReference:o(async()=>{throw new Error("getManyReference is not implemented")},"getManyReference"),getOne:o(async()=>{throw new Error("getOne is not implemented")},"getOne"),update:o(async()=>{throw new Error("update not implemented")},"update"),updateMany:o(async()=>{throw new Error("updateMany not implemented")},"updateMany")},cO={create:zge,delete:Dge,deleteMany:Nge,getList:Pge,getMany:Tge,getManyReference:Oge,getOne:Mge,update:Ige,updateMany:Lge},Bge=o(e=>new Proxy(tE,{get(n,r){return(a,i)=>{if(Object.keys(cO).includes(r.toString())){const s=cO[r.toString()];return e(s,a,i)}return e(r.toString(),a,i)}},apply(n,r,a){return e.apply(e,a)}}),"convertLegacyDataProvider"),nE=g.createContext(null);nE.displayName="DataProviderContext";const F0=class F0 extends Error{constructor(t,n,r=null){super(t),this.message=t,this.status=n,this.body=r,Object.setPrototypeOf(this,F0.prototype),this.name=this.constructor.name,typeof Error.captureStackTrace=="function"?Error.captureStackTrace(this,this.constructor):this.stack=new Error(t).stack,this.stack=new Error().stack}};o(F0,"HttpError");let u$=F0;var lg={},Wge=o(e=>encodeURIComponent(e).replace(/[!'()*]/g,t=>`%${t.charCodeAt(0).toString(16).toUpperCase()}`),"strictUriEncode"),U7="%[a-f0-9]{2}",lO=new RegExp("("+U7+")|([^%]+?)","gi"),uO=new RegExp("("+U7+")+","gi");function d$(e,t){try{return[decodeURIComponent(e.join(""))]}catch{}if(e.length===1)return e;t=t||1;var n=e.slice(0,t),r=e.slice(t);return Array.prototype.concat.call([],d$(n),d$(r))}o(d$,"decodeComponents");function Uge(e){try{return decodeURIComponent(e)}catch{for(var t=e.match(lO)||[],n=1;n<t.length;n++)e=d$(t,n).join(""),t=e.match(lO)||[];return e}}o(Uge,"decode");function Hge(e){for(var t={"%FE%FF":"��","%FF%FE":"��"},n=uO.exec(e);n;){try{t[n[0]]=decodeURIComponent(n[0])}catch{var r=Uge(n[0]);r!==n[0]&&(t[n[0]]=r)}n=uO.exec(e)}t["%C2"]="�";for(var a=Object.keys(t),i=0;i<a.length;i++){var s=a[i];e=e.replace(new RegExp(s,"g"),t[s])}return e}o(Hge,"customDecodeURIComponent");var qge=o(function(e){if(typeof e!="string")throw new TypeError("Expected `encodedURI` to be of type `string`, got `"+typeof e+"`");try{return e=e.replace(/\+/g," "),decodeURIComponent(e)}catch{return Hge(e)}},"decodeUriComponent"),Vge=o((e,t)=>{if(!(typeof e=="string"&&typeof t=="string"))throw new TypeError("Expected the arguments to be of type `string`");if(t==="")return[e];const n=e.indexOf(t);return n===-1?[e]:[e.slice(0,n),e.slice(n+t.length)]},"splitOnFirst"),Gge=o(function(e,t){for(var n={},r=Object.keys(e),a=Array.isArray(t),i=0;i<r.length;i++){var s=r[i],c=e[s];(a?t.indexOf(s)!==-1:t(s,c,e))&&(n[s]=c)}return n},"filterObj");(function(e){const t=Wge,n=qge,r=Vge,a=Gge,i=o(x=>x==null,"isNullOrUndefined"),s=Symbol("encodeFragmentIdentifier");function c(x){switch(x.arrayFormat){case"index":return b=>(S,$)=>{const j=S.length;return $===void 0||x.skipNull&&$===null||x.skipEmptyString&&$===""?S:$===null?[...S,[d(b,x),"[",j,"]"].join("")]:[...S,[d(b,x),"[",d(j,x),"]=",d($,x)].join("")]};case"bracket":return b=>(S,$)=>$===void 0||x.skipNull&&$===null||x.skipEmptyString&&$===""?S:$===null?[...S,[d(b,x),"[]"].join("")]:[...S,[d(b,x),"[]=",d($,x)].join("")];case"colon-list-separator":return b=>(S,$)=>$===void 0||x.skipNull&&$===null||x.skipEmptyString&&$===""?S:$===null?[...S,[d(b,x),":list="].join("")]:[...S,[d(b,x),":list=",d($,x)].join("")];case"comma":case"separator":case"bracket-separator":{const b=x.arrayFormat==="bracket-separator"?"[]=":"=";return S=>($,j)=>j===void 0||x.skipNull&&j===null||x.skipEmptyString&&j===""?$:(j=j===null?"":j,$.length===0?[[d(S,x),b,d(j,x)].join("")]:[[$,d(j,x)].join(x.arrayFormatSeparator)])}default:return b=>(S,$)=>$===void 0||x.skipNull&&$===null||x.skipEmptyString&&$===""?S:$===null?[...S,d(b,x)]:[...S,[d(b,x),"=",d($,x)].join("")]}}o(c,"encoderForArrayFormat");function l(x){let b;switch(x.arrayFormat){case"index":return(S,$,j)=>{if(b=/\[(\d*)\]$/.exec(S),S=S.replace(/\[\d*\]$/,""),!b){j[S]=$;return}j[S]===void 0&&(j[S]={}),j[S][b[1]]=$};case"bracket":return(S,$,j)=>{if(b=/(\[\])$/.exec(S),S=S.replace(/\[\]$/,""),!b){j[S]=$;return}if(j[S]===void 0){j[S]=[$];return}j[S]=[].concat(j[S],$)};case"colon-list-separator":return(S,$,j)=>{if(b=/(:list)$/.exec(S),S=S.replace(/:list$/,""),!b){j[S]=$;return}if(j[S]===void 0){j[S]=[$];return}j[S]=[].concat(j[S],$)};case"comma":case"separator":return(S,$,j)=>{const _=typeof $=="string"&&$.includes(x.arrayFormatSeparator),k=typeof $=="string"&&!_&&p($,x).includes(x.arrayFormatSeparator);$=k?p($,x):$;const E=_||k?$.split(x.arrayFormatSeparator).map(A=>p(A,x)):$===null?$:p($,x);j[S]=E};case"bracket-separator":return(S,$,j)=>{const _=/(\[\])$/.test(S);if(S=S.replace(/\[\]$/,""),!_){j[S]=$&&p($,x);return}const k=$===null?[]:$.split(x.arrayFormatSeparator).map(E=>p(E,x));if(j[S]===void 0){j[S]=k;return}j[S]=[].concat(j[S],k)};default:return(S,$,j)=>{if(j[S]===void 0){j[S]=$;return}j[S]=[].concat(j[S],$)}}}o(l,"parserForArrayFormat");function u(x){if(typeof x!="string"||x.length!==1)throw new TypeError("arrayFormatSeparator must be single character string")}o(u,"validateArrayFormatSeparator");function d(x,b){return b.encode?b.strict?t(x):encodeURIComponent(x):x}o(d,"encode");function p(x,b){return b.decode?n(x):x}o(p,"decode");function m(x){return Array.isArray(x)?x.sort():typeof x=="object"?m(Object.keys(x)).sort((b,S)=>Number(b)-Number(S)).map(b=>x[b]):x}o(m,"keysSorter");function v(x){const b=x.indexOf("#");return b!==-1&&(x=x.slice(0,b)),x}o(v,"removeHash");function h(x){let b="";const S=x.indexOf("#");return S!==-1&&(b=x.slice(S)),b}o(h,"getHash");function y(x){x=v(x);const b=x.indexOf("?");return b===-1?"":x.slice(b+1)}o(y,"extract");function C(x,b){return b.parseNumbers&&!Number.isNaN(Number(x))&&typeof x=="string"&&x.trim()!==""?x=Number(x):b.parseBooleans&&x!==null&&(x.toLowerCase()==="true"||x.toLowerCase()==="false")&&(x=x.toLowerCase()==="true"),x}o(C,"parseValue");function w(x,b){b=Object.assign({decode:!0,sort:!0,arrayFormat:"none",arrayFormatSeparator:",",parseNumbers:!1,parseBooleans:!1},b),u(b.arrayFormatSeparator);const S=l(b),$=Object.create(null);if(typeof x!="string"||(x=x.trim().replace(/^[?#&]/,""),!x))return $;for(const j of x.split("&")){if(j==="")continue;let[_,k]=r(b.decode?j.replace(/\+/g," "):j,"=");k=k===void 0?null:["comma","separator","bracket-separator"].includes(b.arrayFormat)?k:p(k,b),S(p(_,b),k,$)}for(const j of Object.keys($)){const _=$[j];if(typeof _=="object"&&_!==null)for(const k of Object.keys(_))_[k]=C(_[k],b);else $[j]=C(_,b)}return b.sort===!1?$:(b.sort===!0?Object.keys($).sort():Object.keys($).sort(b.sort)).reduce((j,_)=>{const k=$[_];return k&&typeof k=="object"&&!Array.isArray(k)?j[_]=m(k):j[_]=k,j},Object.create(null))}o(w,"parse"),e.extract=y,e.parse=w,e.stringify=(x,b)=>{if(!x)return"";b=Object.assign({encode:!0,strict:!0,arrayFormat:"none",arrayFormatSeparator:","},b),u(b.arrayFormatSeparator);const S=o(k=>b.skipNull&&i(x[k])||b.skipEmptyString&&x[k]==="","shouldFilter"),$=c(b),j={};for(const k of Object.keys(x))S(k)||(j[k]=x[k]);const _=Object.keys(j);return b.sort!==!1&&_.sort(b.sort),_.map(k=>{const E=x[k];return E===void 0?"":E===null?d(k,b):Array.isArray(E)?E.length===0&&b.arrayFormat==="bracket-separator"?d(k,b)+"[]":E.reduce($(k),[]).join("&"):d(k,b)+"="+d(E,b)}).filter(k=>k.length>0).join("&")},e.parseUrl=(x,b)=>{b=Object.assign({decode:!0},b);const[S,$]=r(x,"#");return Object.assign({url:S.split("?")[0]||"",query:w(y(x),b)},b&&b.parseFragmentIdentifier&&$?{fragmentIdentifier:p($,b)}:{})},e.stringifyUrl=(x,b)=>{b=Object.assign({encode:!0,strict:!0,[s]:!0},b);const S=v(x.url).split("?")[0]||"",$=e.extract(x.url),j=e.parse($,{sort:!1}),_=Object.assign(j,x.query);let k=e.stringify(_,b);k&&(k=`?${k}`);let E=h(x.url);return x.fragmentIdentifier&&(E=`#${b[s]?d(x.fragmentIdentifier,b):x.fragmentIdentifier}`),`${S}${k}${E}`},e.pick=(x,b,S)=>{S=Object.assign({parseFragmentIdentifier:!0,[s]:!1},S);const{url:$,query:j,fragmentIdentifier:_}=e.parseUrl(x,S);return e.stringifyUrl({url:$,query:a(j,b),fragmentIdentifier:_},S)},e.exclude=(x,b,S)=>{const $=Array.isArray(b)?j=>!b.includes(j):(j,_)=>!b(j,_);return e.pick(x,$,S)}})(lg);const Kge=o(e=>{if(!e)return!1;const t=Array.isArray(e),n=typeof Buffer<"u"&&Buffer.isBuffer(e),r=Object.prototype.toString.call(e)==="[object Object]",a=!!Object.keys(e).length;return!t&&!n&&r&&a},"isValidObject"),H7=o((e,t=[])=>Kge(e)?Object.assign({},...Object.keys(e).map(n=>H7(e[n],t.concat([n])))):t.length?{[t.join(".")]:e}:e,"flattenObject");var q7={exports:{}};(function(e){var t=Object.prototype.hasOwnProperty,n="~";function r(){}o(r,"Events"),Object.create&&(r.prototype=Object.create(null),new r().__proto__||(n=!1));function a(l,u,d){this.fn=l,this.context=u,this.once=d||!1}o(a,"EE");function i(l,u,d,p,m){if(typeof d!="function")throw new TypeError("The listener must be a function");var v=new a(d,p||l,m),h=n?n+u:u;return l._events[h]?l._events[h].fn?l._events[h]=[l._events[h],v]:l._events[h].push(v):(l._events[h]=v,l._eventsCount++),l}o(i,"addListener");function s(l,u){--l._eventsCount===0?l._events=new r:delete l._events[u]}o(s,"clearEvent");function c(){this._events=new r,this._eventsCount=0}o(c,"EventEmitter"),c.prototype.eventNames=o(function(){var u=[],d,p;if(this._eventsCount===0)return u;for(p in d=this._events)t.call(d,p)&&u.push(n?p.slice(1):p);return Object.getOwnPropertySymbols?u.concat(Object.getOwnPropertySymbols(d)):u},"eventNames"),c.prototype.listeners=o(function(u){var d=n?n+u:u,p=this._events[d];if(!p)return[];if(p.fn)return[p.fn];for(var m=0,v=p.length,h=new Array(v);m<v;m++)h[m]=p[m].fn;return h},"listeners"),c.prototype.listenerCount=o(function(u){var d=n?n+u:u,p=this._events[d];return p?p.fn?1:p.length:0},"listenerCount"),c.prototype.emit=o(function(u,d,p,m,v,h){var y=n?n+u:u;if(!this._events[y])return!1;var C=this._events[y],w=arguments.length,x,b;if(C.fn){switch(C.once&&this.removeListener(u,C.fn,void 0,!0),w){case 1:return C.fn.call(C.context),!0;case 2:return C.fn.call(C.context,d),!0;case 3:return C.fn.call(C.context,d,p),!0;case 4:return C.fn.call(C.context,d,p,m),!0;case 5:return C.fn.call(C.context,d,p,m,v),!0;case 6:return C.fn.call(C.context,d,p,m,v,h),!0}for(b=1,x=new Array(w-1);b<w;b++)x[b-1]=arguments[b];C.fn.apply(C.context,x)}else{var S=C.length,$;for(b=0;b<S;b++)switch(C[b].once&&this.removeListener(u,C[b].fn,void 0,!0),w){case 1:C[b].fn.call(C[b].context);break;case 2:C[b].fn.call(C[b].context,d);break;case 3:C[b].fn.call(C[b].context,d,p);break;case 4:C[b].fn.call(C[b].context,d,p,m);break;default:if(!x)for($=1,x=new Array(w-1);$<w;$++)x[$-1]=arguments[$];C[b].fn.apply(C[b].context,x)}}return!0},"emit"),c.prototype.on=o(function(u,d,p){return i(this,u,d,p,!1)},"on"),c.prototype.once=o(function(u,d,p){return i(this,u,d,p,!0)},"once"),c.prototype.removeListener=o(function(u,d,p,m){var v=n?n+u:u;if(!this._events[v])return this;if(!d)return s(this,v),this;var h=this._events[v];if(h.fn)h.fn===d&&(!m||h.once)&&(!p||h.context===p)&&s(this,v);else{for(var y=0,C=[],w=h.length;y<w;y++)(h[y].fn!==d||m&&!h[y].once||p&&h[y].context!==p)&&C.push(h[y]);C.length?this._events[v]=C.length===1?C[0]:C:s(this,v)}return this},"removeListener"),c.prototype.removeAllListeners=o(function(u){var d;return u?(d=n?n+u:u,this._events[d]&&s(this,d)):(this._events=new r,this._eventsCount=0),this},"removeAllListeners"),c.prototype.off=c.prototype.removeListener,c.prototype.addListener=c.prototype.on,c.prefixed=n,c.EventEmitter=c,e.exports=c})(q7);var Jge=q7.exports;const Yge=Qt(Jge),mh=new Yge,Qge=o((e,t)=>({...e,getList:o(async function(n,r){let a=r;a=await an({name:"beforeGetList",params:a,dataProvider:e,handlers:t,resource:n});let i=await e.getList(n,a);return i=await an({name:"afterGetList",params:i,dataProvider:e,handlers:t,resource:n}),i.data=await Promise.all(i.data.map(s=>an({name:"afterRead",params:s,dataProvider:e,handlers:t,resource:n}))),i},"getList"),getOne:o(async function(n,r){let a=r;a=await an({name:"beforeGetOne",params:a,dataProvider:e,handlers:t,resource:n});let i=await e.getOne(n,a);return i=await an({name:"afterGetOne",params:i,dataProvider:e,handlers:t,resource:n}),i.data=await an({name:"afterRead",params:i.data,dataProvider:e,handlers:t,resource:n}),i},"getOne"),getMany:o(async function(n,r){let a=r;a=await an({name:"beforeGetMany",params:a,dataProvider:e,handlers:t,resource:n});let i=await e.getMany(n,a);return i=await an({name:"afterGetMany",params:i,dataProvider:e,handlers:t,resource:n}),i.data=await Promise.all(i.data.map(s=>an({name:"afterRead",params:s,dataProvider:e,handlers:t,resource:n}))),i},"getMany"),getManyReference:o(async function(n,r){let a=r;a=await an({name:"beforeGetManyReference",params:a,dataProvider:e,handlers:t,resource:n});let i=await e.getManyReference(n,a);return i=await an({name:"afterGetManyReference",params:i,dataProvider:e,handlers:t,resource:n}),i.data=await Promise.all(i.data.map(s=>an({name:"afterRead",params:s,dataProvider:e,handlers:t,resource:n}))),i},"getManyReference"),update:o(async function(n,r){let a=r;a=await an({name:"beforeUpdate",params:a,dataProvider:e,handlers:t,resource:n}),a.data=await an({name:"beforeSave",params:a.data,dataProvider:e,handlers:t,resource:n});let i=await e.update(n,a);return i=await an({name:"afterUpdate",params:i,dataProvider:e,handlers:t,resource:n}),i.data=await an({name:"afterSave",params:i.data,dataProvider:e,handlers:t,resource:n}),i},"update"),create:o(async function(n,r){let a=r;a=await an({name:"beforeCreate",params:a,dataProvider:e,handlers:t,resource:n}),a.data=await an({name:"beforeSave",params:a.data,dataProvider:e,handlers:t,resource:n});let i=await e.create(n,a);return i=await an({name:"afterCreate",params:i,dataProvider:e,handlers:t,resource:n}),i.data=await an({name:"afterSave",params:i.data,dataProvider:e,handlers:t,resource:n}),i},"create"),delete:o(async function(n,r){let a=r;a=await an({name:"beforeDelete",params:a,dataProvider:e,handlers:t,resource:n});let i=await e.delete(n,a);return i=await an({name:"afterDelete",params:i,dataProvider:e,handlers:t,resource:n}),i},"delete"),updateMany:o(async function(n,r){let a=r;a=await an({name:"beforeUpdateMany",params:a,dataProvider:e,handlers:t,resource:n}),a.data=await an({name:"beforeSave",params:a.data,dataProvider:e,handlers:t,resource:n});let i=await e.updateMany(n,a);if(i=await an({name:"afterUpdateMany",params:i,dataProvider:e,handlers:t,resource:n}),t.filter(c=>(c.resource===n||c.resource==="*")&&c.afterSave).length>0){const{data:c}=await e.getMany(n,{ids:i.data});await Promise.all(c.map(l=>an({name:"afterSave",params:l,dataProvider:e,handlers:t,resource:n})))}return i},"updateMany"),deleteMany:o(async function(n,r){let a=r;a=await an({name:"beforeDeleteMany",params:a,dataProvider:e,handlers:t,resource:n});let i=await e.deleteMany(n,a);return i=await an({name:"afterDeleteMany",params:i,dataProvider:e,handlers:t,resource:n}),i},"deleteMany")}),"withLifecycleCallbacks"),an=o(async function({name:e,params:t,dataProvider:n,handlers:r,resource:a}){let i=t;const s=r.filter(c=>(c.resource===a||c.resource==="*")&&c[e]);for(let c of s){const l=c[e];if(Array.isArray(l))for(let u of l??[])i=await u(i,n,a);else i=await l(i,n,a)}return i},"applyCallbacks");let _2;const V7=o(()=>{const e=Cs(),t=op(),n=Kn(),r=Ni();return g.useCallback(i=>e?e.checkError(i).then(()=>!1).catch(async s=>{const c=(s==null?void 0:s.logoutUser)??!0;if(_2)return!0;_2=setTimeout(()=>{_2=void 0},0);const l=s&&s.redirectTo!=null?s.redirectTo:i&&i.redirectTo?i.redirectTo:void 0;return!(s&&s.message===!1||i&&i.message===!1||l!=null&&l.startsWith("http"))&&e.checkAuth({}).then(()=>{c?n(dO(s,"ra.notification.logged_out"),{type:"error"}):n(dO(s,"ra.notification.not_authorized"),{type:"error"})}).catch(()=>{}),c?t({},l):l.startsWith("http")?window.location.href=l:r(l),!0}):Xge(),[e,t,n,r])},"useLogoutIfAccessDenied"),Xge=o(()=>Promise.resolve(!1),"logoutIfAccessDeniedWithoutProvider"),dO=o((e,t)=>typeof e=="string"?e:typeof e>"u"||!e.message?t:e.message,"getErrorMessage$2"),Zge=["getList","getMany","getManyReference"],Fi=o(()=>{const e=g.useContext(nE)||tE,t=V7();return g.useMemo(()=>new Proxy(e,{get:o((r,a)=>{if(!(typeof a=="symbol"||a==="then"))return a==="supportAbortSignal"?e.supportAbortSignal:(...i)=>{const s=a.toString();if(typeof e[s]!="function")throw new Error(`Unknown dataProvider function: ${s}`);try{return e[s].apply(e,i).then(c=>c).catch(c=>t(c).then(l=>{if(l)return{data:Zge.includes(s)?[]:{}};throw c}))}catch{throw new Error("The dataProvider threw an error. It should return a rejected Promise instead.")}}},"get")}),[e,t])},"useDataProvider"),eve=o(()=>{const e=Ha(),t=_t.useRef(!1),n=_t.useRef(e.isFetching()>0),r=_t.useRef(e.isMutating()>0),[a,i]=_t.useState(n.current||r.current);return _t.useEffect(()=>{t.current=!0;const s=e.getQueryCache().subscribe(Hn.batchCalls(()=>{t.current&&(n.current=e.isFetching()>0,i(n.current||r.current))})),c=e.getMutationCache().subscribe(Hn.batchCalls(()=>{t.current&&(r.current=e.isMutating()>0,i(n.current||r.current))}));return()=>{t.current=!1,s(),c()}},[e]),a},"useLoading"),ug=o(()=>{const e=Ha();return g.useCallback(()=>{e.invalidateQueries()},[e])},"useRefresh"),G7=o((e,{id:t,meta:n},r={})=>{const a=Fi(),{onError:i=k2,onSuccess:s=k2,onSettled:c=k2,...l}=r,u=zt(s),d=zt(i),p=zt(c),m=Ss({queryKey:[e,"getOne",{id:String(t),meta:n}],queryFn:o(v=>a.getOne(e,{id:t,meta:n,signal:a.supportAbortSignal===!0?v.signal:void 0}).then(({data:h})=>h),"queryFn"),...l});return g.useEffect(()=>{m.data===void 0||m.error!=null||m.isFetching||u(m.data)},[u,m.data,m.error,m.isFetching]),g.useEffect(()=>{m.error==null||m.isFetching||d(m.error)},[d,m.error,m.isFetching]),g.useEffect(()=>{m.status==="pending"||m.isFetching||p(m.data,m.error)},[p,m.data,m.error,m.status,m.isFetching]),m},"useGetOne"),k2=o(()=>{},"noop$d"),tve=100,Ei=o((e,t={},n={})=>{const{pagination:r={page:1,perPage:25},sort:a={field:"id",order:"DESC"},filter:i={},meta:s}=t,c=Fi(),l=Ha(),{onError:u=E2,onSuccess:d=E2,onSettled:p=E2,...m}=n,v=zt(d),h=zt(u),y=zt(p),C=Ss({queryKey:[e,"getList",{pagination:r,sort:a,filter:i,meta:s}],queryFn:o(b=>c.getList(e,{pagination:r,sort:a,filter:i,meta:s,signal:c.supportAbortSignal===!0?b.signal:void 0}).then(({data:S,total:$,pageInfo:j})=>({data:S,total:$,pageInfo:j})),"queryFn"),...m}),w=g.useRef(s),x=g.useRef(e);return g.useEffect(()=>{w.current=s},[s]),g.useEffect(()=>{x.current=e},[e]),g.useEffect(()=>{var b;C.data===void 0||C.error!=null||C.isFetching||((b=C.data)!=null&&b.data&&C.data.data.length<=tve&&C.data.data.forEach(S=>{l.setQueryData([x.current,"getOne",{id:String(S.id),meta:w.current}],$=>$??S)}),v(C.data))},[v,l,C.data,C.error,C.isFetching]),g.useEffect(()=>{C.error==null||C.isFetching||h(C.error)},[h,C.error,C.isFetching]),g.useEffect(()=>{C.status==="pending"||C.isFetching||y(C.data,C.error)},[y,C.data,C.error,C.status,C.isFetching]),g.useMemo(()=>{var b,S,$;return C.data?{...C,data:(b=C.data)==null?void 0:b.data,total:(S=C.data)==null?void 0:S.total,pageInfo:($=C.data)==null?void 0:$.pageInfo}:C},[C])},"useGetList"),E2=o(()=>{},"noop$c"),nve=o((e,t={},n={})=>{const{ids:r,meta:a}=t,i=Fi(),s=Ha(),c=s.getQueryCache(),{onError:l=R2,onSuccess:u=R2,onSettled:d=R2,...p}=n,m=zt(u),v=zt(l),h=zt(d),y=Ss({queryKey:[e,"getMany",{ids:!r||r.length===0?[]:r.map(x=>String(x)),meta:a}],queryFn:o(x=>!r||r.length===0?Promise.resolve([]):i.getMany(e,{ids:r,meta:a,signal:i.supportAbortSignal===!0?x.signal:void 0}).then(({data:b})=>b),"queryFn"),placeholderData:o(()=>{const x=!r||r.length===0?[]:r.map(b=>{var $,j;const S=El([e,"getOne",{id:String(b),meta:a}]);return(j=($=c.get(S))==null?void 0:$.state)==null?void 0:j.data});if(!x.some(b=>b===void 0))return x},"placeholderData"),retry:!1,...p}),C=g.useRef(a),w=g.useRef(e);return g.useEffect(()=>{C.current=a},[a]),g.useEffect(()=>{w.current=e},[e]),g.useEffect(()=>{y.data===void 0||y.error!=null||y.isFetching||(y.data.forEach(x=>{s.setQueryData([w.current,"getOne",{id:String(x.id),meta:C.current}],b=>b??x)}),m(y.data))},[s,m,y.data,y.error,y.isFetching]),g.useEffect(()=>{y.error==null||y.isFetching||v(y.error)},[v,y.error,y.isFetching]),g.useEffect(()=>{y.status==="pending"||y.isFetching||h(y.data,y.error)},[h,y.data,y.error,y.status,y.isFetching]),y},"useGetMany"),R2=o(()=>{},"noop$b");var fO=Bf,rve=wx,ave=Sa,pO=fO?fO.isConcatSpreadable:void 0;function ove(e){return ave(e)||rve(e)||!!(pO&&e&&e[pO])}o(ove,"isFlattenable$1");var ive=ove,sve=Nk,cve=ive;function K7(e,t,n,r,a){var i=-1,s=e.length;for(n||(n=cve),a||(a=[]);++i<s;){var c=e[i];t>0&&n(c)?t>1?K7(c,t-1,n,r,a):sve(a,c):r||(a[a.length]=c)}return a}o(K7,"baseFlatten$4");var kx=K7;function lve(e,t,n,r){for(var a=e.length,i=n+(r?1:-1);r?i--:++i<a;)if(t(e[i],i,e))return i;return-1}o(lve,"baseFindIndex$1");var uve=lve;function dve(e){return e!==e}o(dve,"baseIsNaN$1");var fve=dve;function pve(e,t,n){for(var r=n-1,a=e.length;++r<a;)if(e[r]===t)return r;return-1}o(pve,"strictIndexOf$1");var mve=pve,hve=uve,gve=fve,vve=mve;function yve(e,t,n){return t===t?vve(e,t,n):hve(e,gve,n)}o(yve,"baseIndexOf$1");var bve=yve,xve=bve;function wve(e,t){var n=e==null?0:e.length;return!!n&&xve(e,t,0)>-1}o(wve,"arrayIncludes$2");var J7=wve;function Cve(e,t,n){for(var r=-1,a=e==null?0:e.length;++r<a;)if(n(t,e[r]))return!0;return!1}o(Cve,"arrayIncludesWith$2");var Y7=Cve;function Sve(){}o(Sve,"noop$a");var jve=Sve,A2=v7,$ve=jve,_ve=Dk,kve=1/0,Eve=A2&&1/_ve(new A2([,-0]))[1]==kve?function(e){return new A2(e)}:$ve,Rve=Eve,Ave=Ik,Pve=J7,Mve=Y7,Tve=Lk,Ove=Rve,zve=Dk,Ive=200;function Lve(e,t,n){var r=-1,a=Pve,i=e.length,s=!0,c=[],l=c;if(n)s=!1,a=Mve;else if(i>=Ive){var u=t?null:Ove(e);if(u)return zve(u);s=!1,a=Tve,l=new Ave}else l=t?[]:c;e:for(;++r<i;){var d=e[r],p=t?t(d):d;if(d=n||d!==0?d:0,s&&p===p){for(var m=l.length;m--;)if(l[m]===p)continue e;t&&l.push(p),c.push(d)}else a(l,p,n)||(l!==c&&l.push(p),c.push(d))}return c}o(Lve,"baseUniq$2");var Q7=Lve,Dve=kx,Nve=Zf,Fve=Q7,Bve=$x,Wve=Nve(function(e){return Fve(Dve(e,1,Bve,!0))}),Uve=Wve;const X7=Qt(Uve),Z7=o((e,t,n={})=>{const r=Fi(),a=Ha(),i=a.getQueryCache(),{onError:s=P2,onSuccess:c=P2,onSettled:l=P2,...u}=n,d=zt(c),p=zt(s),m=zt(l),{ids:v,meta:h}=t,y=g.useMemo(()=>{const b=(Array.isArray(v)?v:[v]).map(S=>{var j,_;const $=El([e,"getOne",{id:String(S),meta:h}]);return(_=(j=i.get($))==null?void 0:j.state)==null?void 0:_.data});if(!b.some(S=>S===void 0))return b},[v,i,e,h]),C=Ss({queryKey:[e,"getMany",{ids:(Array.isArray(v)?v:[v]).map(b=>String(b)),meta:h}],queryFn:o(b=>new Promise((S,$)=>!v||v.length===0?S([]):qve({resource:e,ids:v,meta:h,resolve:S,reject:$,dataProvider:r,queryClient:a,signal:r.supportAbortSignal===!0?b.signal:void 0})),"queryFn"),placeholderData:y,retry:!1,...u}),w=g.useRef(h),x=g.useRef(e);return g.useEffect(()=>{w.current=h},[h]),g.useEffect(()=>{x.current=e},[e]),g.useEffect(()=>{C.data===void 0||C.error!=null||C.isFetching||((C.data??[]).forEach(b=>{a.setQueryData([x.current,"getOne",{id:String(b.id),meta:w.current}],S=>S??b)}),d(C.data))},[a,d,C.data,C.error,C.isFetching]),g.useEffect(()=>{C.error==null||C.isFetching||p(C.error)},[p,C.error,C.isFetching]),g.useEffect(()=>{C.status==="pending"||C.isFetching||m(C.data,C.error)},[m,C.data,C.error,C.status,C.isFetching]),C},"useGetManyAggregate"),Hve=o(e=>{let t=[],n=null;return r=>{t.push(r),n&&clearTimeout(n),n=setTimeout(()=>{n=null,e([...t]),t=[]},0)}},"batch"),qve=Hve(e=>{const t=e[0].dataProvider,n=e[0].queryClient,r=e.reduce((a,i)=>(a[i.resource]||(a[i.resource]=[]),a[i.resource].push(i),a),{});Object.keys(r).forEach(a=>{const i=r[a],s=i.reduce((u,{ids:d})=>X7(u,d),[]).filter(u=>u!=null&&u!==""),c=i.reduce((u,{meta:d})=>d||u,void 0);if(s.length===0){i.forEach(({resolve:u})=>{u([])});return}const l=i.find(({ids:u,signal:d})=>JSON.stringify(u)===JSON.stringify(s)&&!(d!=null&&d.aborted));if(l){const{dataProvider:u,resource:d,ids:p,meta:m,signal:v}=l;u.getMany(d,{ids:p,meta:m,signal:v}).then(({data:h})=>h).then(h=>{i.forEach(({ids:y,resolve:C})=>{C(h.filter(w=>y.map(x=>String(x)).includes(String(w.id))))})},h=>{i.forEach(({reject:y})=>{y(h)})});return}n.fetchQuery({queryKey:[a,"getMany",{ids:s.map(u=>String(u)),meta:c}],queryFn:o(u=>t.getMany(a,{ids:s,meta:c,signal:t.supportAbortSignal===!0?u.signal:void 0}).then(({data:d})=>d),"queryFn")}).then(u=>{i.forEach(({ids:d,resolve:p})=>{p(u.filter(m=>d.map(v=>String(v)).includes(String(m.id))))})}).catch(u=>i.forEach(({reject:d})=>d(u)))})}),P2=o(()=>{},"noop$8"),Vve=o((e,t={},n={})=>{const{target:r,id:a,pagination:i={page:1,perPage:25},sort:s={field:"id",order:"DESC"},filter:c={},meta:l}=t,u=Fi(),d=Ha(),{onError:p=M2,onSuccess:m=M2,onSettled:v=M2,...h}=n,y=zt(m),C=zt(p),w=zt(v),x=Ss({queryKey:[e,"getManyReference",{target:r,id:a,pagination:i,sort:s,filter:c,meta:l}],queryFn:o(b=>!r||a==null?Promise.reject(new Error("target and id are required")):u.getManyReference(e,{target:r,id:a,pagination:i,sort:s,filter:c,meta:l,signal:u.supportAbortSignal===!0?b.signal:void 0}).then(({data:S,total:$,pageInfo:j})=>({data:S,total:$,pageInfo:j})),"queryFn"),...h});return g.useEffect(()=>{var b,S;x.data!==void 0&&((S=(b=x.data)==null?void 0:b.data)==null||S.forEach($=>{d.setQueryData([e,"getOne",{id:String($.id),meta:l}],j=>j??$)}),y(x.data))},[d,l,y,e,x.data]),g.useEffect(()=>{x.error!=null&&C(x.error)},[C,x.error]),g.useEffect(()=>{x.status!=="pending"&&w(x.data,x.error)},[w,x.data,x.error,x.status]),g.useMemo(()=>{var b,S,$;return x.data?{...x,data:(b=x.data)==null?void 0:b.data,total:(S=x.data)==null?void 0:S.total,pageInfo:($=x.data)==null?void 0:$.pageInfo}:x},[x])},"useGetManyReference"),M2=o(()=>{},"noop$7");function mO(e,t){return e===t?e!==0||t!==0||1/e===1/t:e!==e&&t!==t}o(mO,"is$2");const Ex=o((e,t)=>{if(mO(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;const n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let a=0;a<n.length;a++)if(!Object.prototype.hasOwnProperty.call(t,n[a])||!mO(e[n[a]],t[n[a]]))return!1;return!0},"shallowEqual"),Gve=o(e=>e&&Object.prototype.toString.call(e)==="[object Object]","isObject$3"),Kve=o(e=>e instanceof Date?!1:e===""||e===null||e===void 0||Ex(e,{}),"isEmpty$6"),Ri=o(e=>Object.keys(e).reduce((t,n)=>{let r=e[n];return Gve(e[n])&&(r=Ri(e[n])),Kve(r)?t:{...t,[n]:r}},{}),"removeEmpty"),hO=o((e,t)=>Object.keys(e).reduce((n,r)=>r!==t?Object.assign({},n,{[r]:e[r]}):n,{}),"removeKey"),eB=o((e,t)=>{const n=t.split(".");if(n.length===1)return hO(e,t);const r=n[0];if(e[r]===void 0)return e;const a=eB(e[r],n.slice(1).join("."));return Object.keys(a).length===0?hO(e,r):Object.assign({},e,{[r]:a})},"deepRemoveKey"),rE="SET_SORT",dc="ASC",f$="DESC",Sb="SET_PAGE",aE="SET_PER_PAGE",hh="SET_FILTER",oE="SHOW_FILTER",iE="HIDE_FILTER",Jve=o(e=>e===f$?dc:f$,"oppositeOrder"),jb=o((e,t)=>{switch(t.type){case rE:return t.payload.field===e.sort?{...e,order:Jve(e.order),page:1}:{...e,sort:t.payload.field,order:t.payload.order||dc,page:1};case Sb:return{...e,page:t.payload};case aE:return{...e,page:1,perPage:t.payload};case hh:return{...e,page:1,filter:t.payload.filter,displayedFilters:t.payload.displayedFilters?t.payload.displayedFilters:e.displayedFilters};case oE:return e.displayedFilters&&e.displayedFilters[t.payload.filterName]?e:{...e,filter:typeof t.payload.defaultValue<"u"?Ta(e.filter,t.payload.filterName,t.payload.defaultValue):e.filter,displayedFilters:{...e.displayedFilters,[t.payload.filterName]:!0}};case iE:return{...e,filter:Ri(eB(e.filter,t.payload)),displayedFilters:e.displayedFilters?Object.keys(e.displayedFilters).reduce((n,r)=>r!==t.payload?{...n,[r]:!0}:n,{}):e.displayedFilters};default:return e}},"queryReducer"),Yve=o((e,t)=>{switch(t.type){case"SET_SORT":return t.payload;case"SET_SORT_FIELD":{const n=t.payload,r=e.field===n&&e.order===dc?f$:dc;return{field:n,order:r}}case"SET_SORT_ORDER":{const n=t.payload;if(!e.field)throw new Error("cannot change the order on an undefined sort field");return{field:e.field,order:n}}default:return e}},"sortReducer"),Qve={field:"",order:"ASC"},tB=o((e=Qve)=>{const[t,n]=g.useReducer(Yve,e),r=g.useRef(!0);return g.useEffect(()=>{if(r.current){r.current=!1;return}n({type:"SET_SORT",payload:e})},[e.field,e.order]),{setSort:g.useCallback(a=>n({type:"SET_SORT",payload:a}),[n]),setSortField:g.useCallback(a=>n({type:"SET_SORT_FIELD",payload:a}),[n]),setSortOrder:g.useCallback(a=>n({type:"SET_SORT_ORDER",payload:a}),[n]),sort:t}},"useSortState"),Xve=o((e,t)=>({...e,...t}),"paginationReducer"),Zve={page:1,perPage:25},nB=o((e={})=>{const[t,n]=g.useReducer(Xve,{...Zve,...e}),r=g.useRef(!0),a=g.useCallback(s=>n({perPage:s,page:1}),[]),i=g.useCallback(s=>n({page:s}),[]);return g.useEffect(()=>{if(r.current){r.current=!1;return}a(e.perPage||25)},[e.perPage,a]),{page:t.page,perPage:t.perPage,pagination:t,setPage:i,setPerPage:a,setPagination:n}},"usePaginationState"),rB=o((e,t,n)=>{const r=Object.keys(n),a=t.filter(i=>!r.includes(i));if(a.length>0)throw new Error(`<${e}> component is not properly configured, some essential props are missing. +Be sure to pass the props from the parent. Example: + +const My${e} = props => ( + <${e} {...props}></${e}> +); + +The missing props are: ${a.join(", ")}`)},"useCheckMinimumRequiredProps"),aB=o(e=>{const{record:t,redirect:n="list",onClick:r,mutationOptions:a={}}=e,{meta:i,...s}=a,c=Nt(e),l=Kn(),u=kB(c),d=ep(),[p,{isPending:m}]=_E(c,void 0,{onSuccess:o(()=>{l("ra.notification.deleted",{type:"info",messageArgs:{smart_count:1},undoable:!0}),t&&u([t.id]),d(n,c)},"onSuccess"),onError:o(h=>{l(typeof h=="string"?h:h.message||"ra.notification.http_error",{type:"error",messageArgs:{_:typeof h=="string"?h:h&&h.message?h.message:void 0}})},"onError")}),v=g.useCallback(h=>{if(h.stopPropagation(),!t)throw new Error("The record cannot be deleted because no record has been passed");p(c,{id:t.id,previousData:t,meta:i},{mutationMode:"undoable",...s}),typeof r=="function"&&r(h)},[p,i,s,r,t,c]);return{isPending:m,isLoading:m,handleDelete:v}},"useDeleteWithUndoController"),eye=o(e=>{const{record:t,redirect:n="list",mutationMode:r,onClick:a,mutationOptions:i={}}=e,{meta:s,...c}=i,l=Nt(e),[u,d]=g.useState(!1),p=Kn(),m=kB(l),v=ep(),[h,{isPending:y}]=_E(l,void 0,{onSuccess:o(()=>{d(!1),p("ra.notification.deleted",{type:"info",messageArgs:{smart_count:1},undoable:r==="undoable"}),t&&m([t.id]),v(n,l)},"onSuccess"),onError:o(b=>{d(!1),p(typeof b=="string"?b:b.message||"ra.notification.http_error",{type:"error",messageArgs:{_:typeof b=="string"?b:b&&b.message?b.message:void 0}})},"onError")}),C=o(b=>{d(!0),b.stopPropagation()},"handleDialogOpen"),w=o(b=>{d(!1),b.stopPropagation()},"handleDialogClose"),x=g.useCallback(b=>{if(b.stopPropagation(),!t)throw new Error("The record cannot be deleted because no record has been passed");h(l,{id:t.id,previousData:t,meta:s},{mutationMode:r,...c}),typeof a=="function"&&a(b)},[h,s,r,c,a,t,l]);return{open:u,isPending:y,isLoading:y,handleDialogOpen:C,handleDialogClose:w,handleDelete:x}},"useDeleteWithConfirmController"),oB=g.createContext({}),iB=o(({children:e,value:t})=>f.jsx(oB.Provider,{value:t,children:e}),"SaveContextProvider");var tye=og,nye=n7,rye=Vf;function aye(e,t,n){for(var r=-1,a=t.length,i={};++r<a;){var s=t[r],c=tye(e,s);n(c,s)&&nye(i,rye(s,e),c)}return i}o(aye,"basePickBy$2");var sB=aye;function oye(e,t){return e!=null&&t in Object(e)}o(oye,"baseHasIn$1");var iye=oye,sye=Vf,cye=wx,lye=Sa,uye=yx,dye=Bk,fye=Gf;function pye(e,t,n){t=sye(t,e);for(var r=-1,a=t.length,i=!1;++r<a;){var s=fye(t[r]);if(!(i=e!=null&&n(e,s)))break;e=e[s]}return i||++r!=a?i:(a=e==null?0:e.length,!!a&&dye(a)&&uye(s,a)&&(lye(e)||cye(e)))}o(pye,"hasPath$1");var mye=pye,hye=iye,gye=mye;function vye(e,t){return e!=null&&gye(e,t,hye)}o(vye,"hasIn$2");var cB=vye,yye=sB,bye=cB;function xye(e,t){return yye(e,t,function(n,r){return bye(e,r)})}o(xye,"basePick$1");var wye=xye,Cye=kx;function Sye(e){var t=e==null?0:e.length;return t?Cye(e,1):[]}o(Sye,"flatten$1");var jye=Sye,$ye=jye,_ye=M7,kye=T7;function Eye(e){return kye(_ye(e,void 0,$ye),e+"")}o(Eye,"flatRest$2");var lB=Eye,Rye=wye,Aye=lB,Pye=Aye(function(e,t){return e==null?{}:Rye(e,t)}),Mye=Pye;const dg=Qt(Mye),uB=o(e=>g.useMemo(()=>dg(e,["save","saving","mutationMode","registerMutationMiddleware","unregisterMutationMiddleware"]),[e.save,e.saving,e.mutationMode,e.registerMutationMiddleware,e.unregisterMutationMiddleware]),"usePickSaveContext"),sE=o(e=>g.useContext(oB),"useSaveContext"),dB=o(()=>{const e=g.useRef([]),t=g.useCallback(i=>{e.current.push(i)},[]),n=g.useCallback(i=>{e.current=e.current.filter(s=>s!==i)},[]),r=g.useCallback(i=>{const s=[...e.current];return(...c)=>{let l=s.length-1;const u=o((...d)=>(l--,l>=0?s[l](...d,u):i(...d)),"next");return s.length>0?s[l](...c,u):i(...c)}},[]);return g.useMemo(()=>({registerMutationMiddleware:t,getMutateWithMiddlewares:r,unregisterMutationMiddleware:n}),[t,r,n])},"useMutationMiddlewares"),Tye=o((e={})=>{const{disableAuthentication:t,record:n,redirect:r,transform:a,mutationOptions:i={}}=e;ip({enabled:!t});const s=Nt(e);if(!s)throw new Error("useCreateController requires a non-empty resource prop or context");const{hasEdit:c,hasShow:l}=Pc(e),u=r??zye(l,c),d=Ar(),p=nt(),m=Kn(),v=ep(),h=n??Oye(d)??void 0,{onSuccess:y,onError:C,meta:w,...x}=i,{registerMutationMiddleware:b,getMutateWithMiddlewares:S,unregisterMutationMiddleware:$}=dB(),[j,{isPending:_}]=zx(s,void 0,{onSuccess:o(async(P,M,T)=>{if(y)return y(P,M,T);m("ra.notification.created",{type:"info",messageArgs:{smart_count:1}}),v(u,s,P.id,P)},"onSuccess"),onError:o((P,M,T)=>{var N;if(C)return C(P,M,T);const z=(N=P==null?void 0:P.body)==null?void 0:N.errors;!!z&&Object.keys(z).length>0||m(typeof P=="string"?P:P.message||"ra.notification.http_error",{type:"error",messageArgs:{_:typeof P=="string"?P:P instanceof Error||typeof P=="object"&&P!==null&&P.hasOwnProperty("message")?P.message:void 0}})},"onError"),...x,returnPromise:!0,getMutateWithMiddlewares:S}),k=g.useCallback((P,{transform:M,meta:T,...z}={})=>Promise.resolve(M?M(P):a?a(P):P).then(async O=>{var N;try{await j(s,{data:O,meta:T??w},z)}catch(F){if((F instanceof u$||typeof F=="object"&&F!==null&&F.hasOwnProperty("body"))&&((N=F.body)==null?void 0:N.errors)!=null)return F.body.errors}}),[j,w,s,a]),E=ap(),A=p("ra.page.create",{name:E(s,1)});return{isFetching:!1,isLoading:!1,isPending:_,saving:_,defaultTitle:A,save:k,resource:s,record:h,redirect:u,registerMutationMiddleware:b,unregisterMutationMiddleware:$}},"useCreateController"),Oye=o(({state:e,search:t})=>{if(e&&e.record)return e.record;if(t)try{const n=lg.parse(t);if(n.source){if(Array.isArray(n.source)){console.error(`Failed to parse location search parameter '${t}'. To pre-fill some fields in the Create form, pass a stringified source parameter (e.g. '?source={"title":"foo"}')`);return}return JSON.parse(n.source)}}catch{console.error(`Failed to parse location search parameter '${t}'. To pre-fill some fields in the Create form, pass a stringified source parameter (e.g. '?source={"title":"foo"}')`)}return null},"getRecordFromLocation"),zye=o((e,t)=>t?"edit":e?"show":"list","getDefaultRedirectRoute"),cE=g.createContext(void 0);cE.displayName="RecordContext";const Qr=o(({children:e,value:t})=>f.jsx(cE.Provider,{value:t,children:e}),"RecordContextProvider"),lE=g.createContext(null);lE.displayName="CreateContext";const Iye=o(({children:e,value:t})=>f.jsx(lE.Provider,{value:t,children:f.jsx(iB,{value:{...uB(t),mutationMode:"pessimistic"},children:f.jsx(Qr,{value:t&&t.record,children:e})})}),"CreateContextProvider"),uE=o(({children:e,...t})=>{const n=Tye(t),r=f.jsx(Iye,{value:n,children:e});return t.resource?f.jsx(qo,{value:t.resource,children:r}):r},"CreateBase"),Lye=o(()=>{const e=g.useContext(lE);if(!e)throw new Error("useCreateContext must be used inside a CreateContextProvider");return e},"useCreateContext"),Dye=o((e={})=>{const{disableAuthentication:t,id:n,mutationMode:r="undoable",mutationOptions:a={},queryOptions:i={},redirect:s=Nye,transform:c}=e;ip({enabled:!t});const l=Nt(e);if(!l)throw new Error("useEditController requires a non-empty resource prop or context");const u=ql(l),d=nt(),p=Kn(),m=ep(),v=ug(),{id:h}=F9();if(!h&&!n)throw new Error("useEditController requires an id prop or a route with an /:id? parameter.");const y=n??decodeURIComponent(h),{meta:C,...w}=i,{meta:x,onSuccess:b,onError:S,...$}=a,{registerMutationMiddleware:j,getMutateWithMiddlewares:_,unregisterMutationMiddleware:k}=dB(),{data:E,error:A,isLoading:P,isFetching:M,isPending:T,refetch:z}=G7(l,{id:y,meta:C},{onError:o(()=>{p("ra.notification.item_doesnt_exist",{type:"error"}),m("list",l),v()},"onError"),refetchOnReconnect:!1,refetchOnWindowFocus:!1,retry:!1,...w});if(E&&E.id&&E.id!=y)throw new Error(`useEditController: Fetched record's id attribute (${E.id}) must match the requested 'id' (${y})`);const O=ap(),N=u(E),F=d("ra.page.edit",{name:O(l,1),id:y,record:E,recordRepresentation:typeof N=="string"?N:""}),I={id:y,previousData:E},[B,{isPending:U}]=gg(l,I,{onSuccess:o(async(Z,be,ne)=>{if(b)return b(Z,be,ne);p("ra.notification.updated",{type:"info",messageArgs:{smart_count:1},undoable:r==="undoable"}),m(s,l,Z.id,Z)},"onSuccess"),onError:o((Z,be,ne)=>{var Se;if(S)return S(Z,be,ne);const le=(Se=Z==null?void 0:Z.body)==null?void 0:Se.errors;(!(!!le&&Object.keys(le).length>0)||r!=="pessimistic")&&p(typeof Z=="string"?Z:Z.message||"ra.notification.http_error",{type:"error",messageArgs:{_:typeof Z=="string"?Z:Z instanceof Error||typeof Z=="object"&&Z!==null&&Z.hasOwnProperty("message")?Z.message:void 0}})},"onError"),...$,mutationMode:r,returnPromise:r==="pessimistic",getMutateWithMiddlewares:_}),te=g.useCallback((Z,{onSuccess:be,onError:ne,transform:le,meta:oe}={})=>Promise.resolve(le?le(Z,{previousData:I.previousData}):c?c(Z,{previousData:I.previousData}):Z).then(async Se=>{var xe;try{await B(l,{id:y,data:Se,meta:oe??x},{onError:ne,onSuccess:be})}catch(X){if(((xe=X.body)==null?void 0:xe.errors)!=null)return X.body.errors}}),[y,x,l,c,B,I.previousData]);return{defaultTitle:F,error:A,isFetching:M,isLoading:P,isPending:T,mutationMode:r,record:E,redirect:s,refetch:z,registerMutationMiddleware:j,resource:l,save:te,saving:U,unregisterMutationMiddleware:k}},"useEditController"),Nye="list",un=o(e=>{const t=g.useContext(cE);return e&&e.record||t},"useRecordContext"),Fye=o(({value:e,children:t})=>e?f.jsx(Qr,{value:e,children:t}):t,"OptionalRecordContextProvider"),fB=o(e=>{const t=un(e),n=Nt(e),r=ql(n);return f.jsx(f.Fragment,{children:r(t)})},"RecordRepresentation"),dE=g.createContext(null);dE.displayName="EditContext";const Bye=o(({children:e,value:t})=>f.jsx(dE.Provider,{value:t,children:f.jsx(iB,{value:uB(t),children:f.jsx(Qr,{value:t&&t.record,children:e})})}),"EditContextProvider"),pB=o(({children:e,...t})=>{const n=Dye(t),r=f.jsx(Bye,{value:n,children:e});return t.resource?f.jsx(qo,{value:t.resource,children:r}):r},"EditBase"),mB=o(()=>{const e=g.useContext(dE);if(!e)throw new Error("useEditContext must be used inside an EditContextProvider");return e},"useEditContext"),hB=g.createContext(null),Wye=hB.Provider,Uye=o(()=>{const e=g.useContext(hB);if(!e)throw new Error("useReferenceFieldContext must be used inside a ReferenceFieldContextProvider");return e},"useReferenceFieldContext"),gB=o(({reference:e,id:t,options:n={}})=>{const{meta:r,...a}=n,{data:i,error:s,isLoading:c,isFetching:l,isPending:u,refetch:d}=Z7(e,{ids:[t],meta:r},a);return{referenceRecord:s?void 0:i?i[0]:void 0,refetch:d,error:s,isLoading:c,isFetching:l,isPending:u}},"useReference"),Hye=o(e=>{const{link:t="edit",reference:n,queryOptions:r}=e;if(!n)throw new Error('useReferenceFieldController: missing reference prop. You must provide a reference, e.g. reference="posts".');const a=Vo(e),i=gB({reference:n,id:a,options:{...r,enabled:((r==null?void 0:r.enabled)==null||(r==null?void 0:r.enabled)===!0)&&a!=null}}),s=Ho(),c=Pc({resource:n});return g.useMemo(()=>({...i,link:i.referenceRecord!=null?t===!1||t==="edit"&&!c.hasEdit||t==="show"&&!c.hasShow?!1:s({resource:n,id:i.referenceRecord.id,type:typeof t=="function"?t(i.referenceRecord,n):t}):void 0}),[s,t,n,i,c])},"useReferenceFieldController"),qye=o(e=>{const{children:t}=e,n=Hye(e);return f.jsx(qo,{value:e.reference,children:f.jsx(Wye,{value:n,children:f.jsx(Qr,{value:n.referenceRecord,children:t})})})},"ReferenceFieldBase");var vB=` +`,Bi={};Bi.isFunction=function(e){var t={};return e&&t.toString.call(e)==="[object Function]"};Bi.isArray=function(e){return Array.isArray(e)};Bi.isObject=function(e){return e instanceof Object};Bi.isString=function(e){return typeof e=="string"};Bi.isNumber=function(e){return typeof e=="number"};Bi.isBoolean=function(e){return typeof e=="boolean"};Bi.isDate=function(e){return e instanceof Date};var Vye=vB,Gye=Bi,Kye=o(function(t,n){if(!t||!Gye.isArray(t))throw new TypeError('Invalid params "rows" for joinRows. Must be an array of string.');var r=t.join(n||Vye||` +`);return r},"joinRows"),yB=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Jye=function(){function e(t,n){for(var r=0;r<n.length;r++){var a=n[r];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(t,a.key,a)}}return o(e,"defineProperties"),function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();function Yye(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}o(Yye,"_classCallCheck$1");var T2=Bi,Qye=function(){function e(t){Yye(this,e),this._options=t,this._options.typeHandlers=this._options.typeHandlers||{}}return o(e,"Handler"),Jye(e,[{key:"_setHeaders",value:o(function(n,r){var a=this;return r?n.map(function(i){return i.item=i.item?r+a._options.headerPathString+i.item:r,i}):n},"_setHeaders")},{key:"castValue",value:o(function(n,r,a,i){var s=this._options.typeHandlers;for(var c in s)if(ebe(n,c)){n=s[c].call(s,n,a,i);break}return n},"castValue")},{key:"checkComplex",value:o(function(n,r){if(T2.isDate(n))return[{item:r,value:(this._options.handleDate||this._handleDate)(n,r)}];if(T2.isArray(n)){var a=this._handleArray(n,r);return this._setHeaders(a,r)}else if(T2.isObject(n)){var i=this._handleObject(n);return this._setHeaders(i,r)}return[{item:r,value:""}]},"checkComplex")},{key:"check",value:o(function(n,r,a,i){switch(n=this.castValue(n,r,a,i),typeof n>"u"?"undefined":yB(n)){case"string":return[{item:r,value:this._handleString(n,r)}];case"number":return[{item:r,value:this._handleNumber(n,r)}];case"boolean":return[{item:r,value:this._handleBoolean.bind(this)(n,r)}]}return this.checkComplex(n,r)},"check")},{key:"_handleObject",value:o(function(n){var r=[];for(var a in n){var i=n[a],s=this.check(i,a,a,n);r=r.concat(s)}return r},"_handleObject")},{key:"_handleArray",value:o(function(n){for(var r=this,a=[],i,s=0;s<n.length;++s){var c=n[s],l=r.check(c,null,s,n);if(l.length!==0){var u=l[0];if(!u.item&&i!==void 0){i.value+=r._options.arrayPathString+u.value;continue}else l.length>0&&!u.item&&i===void 0&&(i=u);a=a.concat(l)}}return a},"_handleArray")},{key:"_handleBoolean",value:o(function(n){var r;return n?r=this._options.booleanTrueString||"true":r=this._options.booleanFalseString||"false",r},"_handleBoolean")},{key:"_handleString",value:o(function(n){return n},"_handleString")},{key:"_handleNumber",value:o(function(n){return n},"_handleNumber")},{key:"_handleDate",value:o(function(n){return n.toLocaleDateString()},"_handleDate")}]),e}(),Xye=Qye,Zye=typeof window>"u"?im:window;function ebe(e,t){if(e instanceof Zye[t])return!0;switch(typeof e>"u"?"undefined":yB(e)){case"string":return t==="String";case"boolean":return t==="Boolean";case"number":return t==="Number"}return!1}o(ebe,"isInstanceOfTypeName");var O2,gO;function tbe(){return gO||(gO=1,O2=o(function(t,n,r){var a=` +`;if(typeof t!="string")throw new TypeError('Invalid param "textDelimiter", must be a string.');if(typeof n!="string")throw new TypeError('Invalid param "rowDelimiter", must be a string.');var i=new RegExp("\\"+t,"g"),s=t+t,c=t==='"'?function(l){return l.indexOf(n)>=0||l.indexOf(a)>=0||l.indexOf('"')>=0}:function(l){return l.indexOf(n)>=0||l.indexOf(a)>=0};return function(l){return r&&(l=""+l),l.replace&&(l=l.replace(i,s),(r||c(l))&&(l=t+l+t)),l}},"escapedDelimiters")),O2}o(tbe,"requireEscapeDelimiters");var nbe=function(){function e(t,n){for(var r=0;r<n.length;r++){var a=n[r];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(t,a.key,a)}}return o(e,"defineProperties"),function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();function rbe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}o(rbe,"_classCallCheck");var vO=Kye,abe=Xye,yO=Bi,obe=function(){function e(t){rbe(this,e),this._options=t||{},this._handler=new abe(this._options),this._headers=this._options.headers||[],this._escape=tbe()(this._options.textDelimiter,this._options.rowDelimiter,this._options.forceTextDelimiter)}return o(e,"Parser"),nbe(e,[{key:"parse",value:o(function(n,r,a){return yO.isArray(n)?r(null,this._parseArray(n,a)):yO.isObject(n)?r(null,this._parseObject(n)):r(new Error("Unable to parse the JSON object, its not an Array or Object."))},"parse")},{key:"_checkRows",value:o(function(n){var r=null,a=[],i=o(function(h,y){return h===""||h===void 0?r[y]:h},"fillGaps"),s=!0,c=!1,l=void 0;try{for(var u=n[Symbol.iterator](),d;!(s=(d=u.next()).done);s=!0){var p=d.value,m=this._headers.length-p.length;m>0&&(p=p.concat(Array(m).join(".").split("."))),r&&this._options.fillGaps&&(p=p.map(i)),a.push(p.join(this._options.rowDelimiter)),r=p}}catch(v){c=!0,l=v}finally{try{!s&&u.return&&u.return()}finally{if(c)throw l}}return a},"_checkRows")},{key:"_parseArray",value:o(function(n,r){var a=this;this._headers=this._headers||[];var i=[],s=void 0,c=o(function(C){var w=a._headers.indexOf(C);return w===-1&&(a._headers.push(C),w=a._headers.indexOf(C)),w},"getHeaderIndex");s=o(function(C){var w=[],x=o(function(z){return w.push(z.map(function(O){return O??""}))},"fillAndPush"),b=o(function(){return new Array(a._headers.length).fill(null)},"newRow"),S={},$=b(),j=!0,_=!1,k=void 0;try{for(var E=C[Symbol.iterator](),A;!(j=(A=E.next()).done);j=!0){var P=A.value,M=c(P.item);if($[M]!=null&&(x($),$=b()),S[M]=S[M]||0,a._options.fillTopRow&&S[M]<w.length){w[S[M]][M]=a._escape(P.value),S[M]+=1;continue}$[M]=a._escape(P.value),S[M]+=1}}catch(T){_=!0,k=T}finally{try{!j&&E.return&&E.return()}finally{if(_)throw k}}$.length>0&&x($),i=i.concat(a._checkRows(w))},"fillRows");var l=!0,u=!1,d=void 0;try{for(var p=n[Symbol.iterator](),m;!(l=(m=p.next()).done);l=!0){var v=m.value,h=a._handler.check(v,a._options.mainPathItem,v,n);s(h)}}catch(y){u=!0,d=y}finally{try{!l&&p.return&&p.return()}finally{if(u)throw d}}return!r&&a._options.includeHeaders&&i.unshift(this.headers),vO(i,a._options.endOfLine)},"_parseArray")},{key:"_parseObject",value:o(function(n){var r=this,a=[],i=[],s=void 0,c=[[],[]];s=o(function(p){var m=p.value||p.value===0?p.value.toString():r._options.undefinedString;if(m=r._escape(m),r._options.verticalOutput){var v=[p.item,m];a.push(v.join(r._options.rowDelimiter))}else c[0].push(p.item),c[1].push(m)},"fillRows");for(var l in n){var u="";this._options.mainPathItem&&(u=this._options.mainPathItem+this._options.headerPathString),i=this._handler.check(n[l],u+l,l,n),i.forEach(s)}return this._options.verticalOutput||(a.push(c[0].join(this._options.rowDelimiter)),a.push(c[1].join(this._options.rowDelimiter))),vO(a,this._options.endOfLine)},"_parseObject")},{key:"headers",get:o(function(){var n=this,r=this._headers;return this._options.rename&&this._options.rename.length>0&&(r=r.map(function(a){return n._options.rename[n._options.headers.indexOf(a)]||a})),this._options.forceTextDelimiter&&(r=r.map(function(a){return""+n._options.textDelimiter+a+n._options.textDelimiter})),this._options.mapHeaders&&(r=r.map(this._options.mapHeaders)),r.join(this._options.rowDelimiter)},"get")}]),e}(),ibe=obe,sbe=o(function(e){throw new Error("jsonexport called without third argument as a callback and is required")},"Stream$1"),cbe=sbe,bO=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},xO=ibe,wO=cbe,lbe=vB,ube=o(function(){var e={headers:[],rename:[],headerPathString:".",rowDelimiter:",",textDelimiter:'"',arrayPathString:";",undefinedString:"",endOfLine:lbe,mainPathItem:null,booleanTrueString:null,booleanFalseString:null,includeHeaders:!0,fillGaps:!1,verticalOutput:!0,forceTextDelimiter:!1},t=void 0,n=void 0,r=void 0;if(arguments.length===3){var a=Array.prototype.slice.call(arguments);t=a[0],n=a[1],r=a[2]}else if(arguments.length===2){var i=void 0,s=Array.prototype.slice.call(arguments);t=s[0],i=s[1],typeof i=="function"?r=i:(typeof i>"u"?"undefined":bO(i))==="object"&&(n=i)}else if(arguments.length===1){var c=Array.prototype.slice.call(arguments),l=c[0];if((typeof l>"u"?"undefined":bO(l))==="object"){var u=Object.keys(e),d=Object.keys(l),p=d.every(function(h){return u.includes(h)});d.length>0&&p?n=l:t=l}else t=l}else return new wO(new xO(e));var m=Object.assign({},e,n),v=new xO(m);return t?new Promise(function(h,y){v.parse(t,function(C,w){if(r)return r(C,w);if(C)return y(C);if(y)return h(w)})}):new wO},"dist");const bB=Qt(ube),xB=o((e,t="export")=>{const n=document.createElement("a");n.style.display="none",document.body.appendChild(n);const r=new Blob([e],{type:"text/csv;charset=utf-8"});window.navigator&&window.navigator.msSaveOrOpenBlob?window.navigator.msSaveOrOpenBlob(r,`${t}.csv`):(n.setAttribute("href",URL.createObjectURL(r)),n.setAttribute("download",`${t}.csv`),n.click())},"downloadCSV"),dbe=o((e,t,n,r)=>bB(e,(a,i)=>xB(i,r)),"defaultExporter"),fbe=o((e,t)=>Array.from(new Set(e.filter(n=>n[t]!=null).map(n=>n[t]).reduce((n,r)=>n.concat(r),[]))),"getRelatedIds"),pbe=o(e=>(t,n,r)=>e.getMany(r,{ids:fbe(t,n)}).then(({data:a})=>a.reduce((i,s)=>(i[s.id]=s,i),{})),"fetchRelatedRecords"),Rx=o(e=>{const{resource:t="",disableSyncWithStore:n=!1}=e,r=`${t}.selectedIds`,[a,i]=g.useState(z2),[s,c]=So(r,z2),l=T1e(r),u=n?a:s,d=n?i:c,p=g.useCallback(()=>{n?i(z2):l()},[n,l]),m=g.useMemo(()=>({select:o(v=>{v&&d([...v])},"select"),unselect(v){!v||v.length===0||d(h=>Array.isArray(h)?h.filter(y=>!v.includes(y)):[])},toggle:o(v=>{typeof v>"u"||d(h=>{if(!Array.isArray(h))return[...h];const y=h.indexOf(v);return y>-1?[...h.slice(0,y),...h.slice(y+1)]:[...h,v]})},"toggle"),clearSelection:o(()=>{p()},"clearSelection")}),[d,p]);return[u,m]},"useRecordSelection"),z2=[];var mbe=xx,hbe=Hk,gbe=1,vbe=2;function ybe(e,t,n,r){var a=n.length,i=a,s=!r;if(e==null)return!i;for(e=Object(e);a--;){var c=n[a];if(s&&c[2]?c[1]!==e[c[0]]:!(c[0]in e))return!1}for(;++a<i;){c=n[a];var l=c[0],u=e[l],d=c[1];if(s&&c[2]){if(u===void 0&&!(l in e))return!1}else{var p=new mbe;if(r)var m=r(u,d,l,e,t,p);if(!(m===void 0?hbe(d,u,gbe|vbe,r,p):m))return!1}}return!0}o(ybe,"baseIsMatch$1");var bbe=ybe,xbe=wo;function wbe(e){return e===e&&!xbe(e)}o(wbe,"isStrictComparable$2");var wB=wbe,Cbe=wB,Sbe=sg;function jbe(e){for(var t=Sbe(e),n=t.length;n--;){var r=t[n],a=e[r];t[n]=[r,a,Cbe(a)]}return t}o(jbe,"getMatchData$1");var $be=jbe;function _be(e,t){return function(n){return n==null?!1:n[e]===t&&(t!==void 0||e in Object(n))}}o(_be,"matchesStrictComparable$2");var CB=_be,kbe=bbe,Ebe=$be,Rbe=CB;function Abe(e){var t=Ebe(e);return t.length==1&&t[0][2]?Rbe(t[0][0],t[0][1]):function(n){return n===e||kbe(n,e,t)}}o(Abe,"baseMatches$2");var SB=Abe,Pbe=Hk,Mbe=o7,Tbe=cB,Obe=Mk,zbe=wB,Ibe=CB,Lbe=Gf,Dbe=1,Nbe=2;function Fbe(e,t){return Obe(e)&&zbe(t)?Ibe(Lbe(e),t):function(n){var r=Mbe(n,e);return r===void 0&&r===t?Tbe(n,e):Pbe(t,r,Dbe|Nbe)}}o(Fbe,"baseMatchesProperty$1");var Bbe=Fbe;function Wbe(e){return function(t){return t==null?void 0:t[e]}}o(Wbe,"baseProperty$1");var Ube=Wbe,Hbe=og;function qbe(e){return function(t){return Hbe(t,e)}}o(qbe,"basePropertyDeep$1");var Vbe=qbe,Gbe=Ube,Kbe=Vbe,Jbe=Mk,Ybe=Gf;function Qbe(e){return Jbe(e)?Gbe(Ybe(e)):Kbe(e)}o(Qbe,"property$1");var Xbe=Qbe,Zbe=SB,e0e=Bbe,t0e=_x,n0e=Sa,r0e=Xbe;function a0e(e){return typeof e=="function"?e:e==null?t0e:typeof e=="object"?n0e(e)?e0e(e[0],e[1]):Zbe(e):r0e(e)}o(a0e,"baseIteratee$4");var Ax=a0e,o0e=ag,i0e=Ax,s0e=sB,c0e=Zk;function l0e(e,t){if(e==null)return{};var n=o0e(c0e(e),function(r){return[r]});return t=i0e(t),s0e(e,n,function(r,a){return t(r,a[0])})}o(l0e,"pickBy");var u0e=l0e;const fE=Qt(u0e);function ao(e){const[t,n]=g.useState(e),r=g.useRef(!1);g.useEffect(()=>(r.current=!0,()=>{r.current=!1}),[]);const a=g.useCallback(i=>{if(r.current)return n(i)},[r,n]);return[t,a]}o(ao,"useSafeSetState");function d0e(e){const t=g.useRef();return g.useEffect(()=>{t.current=e}),t.current}o(d0e,"usePrevious");function tp(e=0,t=""){const[n,r]=ao(!1);return g.useEffect(()=>{r(!1);let a=setTimeout(()=>{r(!0)},e);return()=>{clearTimeout(a)}},[t,e,r]),n}o(tp,"useTimeout$1");function f0e(){const e=g.useRef(!0);return g.useEffect(()=>(e.current=!0,()=>{e.current=!1}),[]),e}o(f0e,"useIsMounted$1");const p0e=o(({debounce:e=500,disableSyncWithLocation:t=!1,filterDefaultValues:n,perPage:r=10,resource:a,sort:i=y0e,storeKey:s=`${a}.listParams`})=>{const c=Ar(),l=Ni(),[u,d]=g.useState($O),[p,m]=So(s||`${a}.listParams`,$O),v=g.useRef(),h=f0e(),y=s===!1,C=[c.search,a,s,JSON.stringify(t||y?u:p),JSON.stringify(n),JSON.stringify(i),r,t],w=t?{}:h0e(c),x=g.useMemo(()=>v0e({queryFromLocation:w,params:t||y?u:p,filterDefaultValues:n,sort:i,perPage:r}),C);g.useEffect(()=>{Object.keys(w).length>0&&!y&&m(x)},[c.search]);const b=g.useCallback(T=>{h.current&&(v.current?v.current=jb(v.current,T):(v.current=jb(x,T),setTimeout(()=>{v.current&&(t?d(v.current):l({search:`?${lg.stringify({...v.current,filter:JSON.stringify(v.current.filter),displayedFilters:JSON.stringify(v.current.displayedFilters)})}`},{state:{_scrollToTop:T.type===Sb}}),v.current=void 0)},0)))},[...C,l]),S=g.useCallback(T=>b({type:rE,payload:T}),[b]),$=g.useCallback(T=>b({type:Sb,payload:T}),[b]),j=g.useCallback(T=>b({type:aE,payload:T}),[b]),_=x.filter||jO,k=x.displayedFilters||jO,E=cg((T,z)=>{b({type:hh,payload:{filter:Ri(T),displayedFilters:z}})},e),A=g.useCallback((T,z=void 0,O=!1)=>O?E(T,z):b({type:hh,payload:{filter:Ri(T),displayedFilters:z}}),[b]),P=g.useCallback(T=>{b({type:iE,payload:T})},[b]),M=g.useCallback((T,z)=>{b({type:oE,payload:{filterName:T,defaultValue:z}})},[b]);return[{filterValues:_,requestSignature:C,...x,displayedFilters:k},{changeParams:b,setPage:$,setPerPage:j,setSort:S,setFilters:A,hideFilter:P,showFilter:M}]},"useListParams"),m0e=["page","perPage","sort","order","filter","displayedFilters"],CO=o((e,t)=>{if(e[t]&&typeof e[t]=="string")try{e[t]=JSON.parse(e[t])}catch{delete e[t]}},"parseObject"),h0e=o(({search:e})=>{const t=fE(lg.parse(e),(n,r)=>m0e.indexOf(r)!==-1);return CO(t,"filter"),CO(t,"displayedFilters"),t},"parseQueryFromLocation"),g0e=o(e=>e&&e.filter&&(Object.keys(e.filter).length>0||e.order!=null||e.page!==1||e.perPage!=null||e.sort!=null),"hasCustomParams$1"),v0e=o(({queryFromLocation:e,params:t,filterDefaultValues:n,sort:r,perPage:a})=>{const i=Object.keys(e).length>0?e:g0e(t)?{...t}:{filter:n||{}};return i.sort||(i.sort=r.field,i.order=r.order),i.perPage==null&&(i.perPage=a),i.page==null&&(i.page=1),{...i,page:SO(i.page,1),perPage:SO(i.perPage,10)}},"getQuery$1"),SO=o((e,t)=>{if(typeof e>"u")return t;const n=typeof e=="string"?parseInt(e,10):e;return isNaN(n)?t:n},"getNumberOrDefault$1"),jO={},y0e={field:"id",order:dc},$O={},Px=g.createContext(null);Px.displayName="ListContext";const pE=g.createContext(void 0),b0e=o(e=>g.useMemo(()=>dg(e,["displayedFilters","filterValues","hideFilter","setFilters","showFilter","resource"]),[e.displayedFilters,e.filterValues,e.hideFilter,e.setFilters,e.showFilter]),"usePickFilterContext");pE.displayName="ListFilterContext";const mE=g.createContext(void 0),x0e=o(e=>g.useMemo(()=>dg(e,["sort","setSort","resource"]),[e.sort,e.setSort]),"usePickSortContext");mE.displayName="ListSortContext";const hE=g.createContext(void 0);hE.displayName="ListPaginationContext";const w0e=o(e=>g.useMemo(()=>dg(e,["isLoading","isPending","hasPreviousPage","hasNextPage","page","perPage","setPage","setPerPage","total","resource"]),[e.isLoading,e.isPending,e.hasPreviousPage,e.hasNextPage,e.page,e.perPage,e.setPage,e.setPerPage,e.total]),"usePickPaginationContext"),fg=o(({value:e,children:t})=>f.jsx(Px.Provider,{value:e,children:f.jsx(pE.Provider,{value:b0e(e),children:f.jsx(mE.Provider,{value:x0e(e),children:f.jsx(hE.Provider,{value:w0e(e),children:t})})})}),"ListContextProvider"),C0e=o((e={})=>{const{debounce:t=500,disableAuthentication:n,disableSyncWithLocation:r,exporter:a=dbe,filter:i,filterDefaultValues:s,perPage:c=10,queryOptions:l={},sort:u=S0e,storeKey:d}=e;ip({enabled:!n});const p=Nt(e),{meta:m,...v}=l;if(!p)throw new Error("useListController requires a non-empty resource prop or context");if(i&&g.isValidElement(i))throw new Error("useListController received a React element as `filter` props. If you intended to set the list filter elements, use the `filters` (with an s) prop instead. The `filter` prop is internal and should not be set by the developer.");const h=nt(),y=Kn(),[C,w]=p0e({debounce:t,disableSyncWithLocation:r,filterDefaultValues:s,perPage:c,resource:p,sort:u,storeKey:d}),[x,b]=Rx({resource:p,disableSyncWithStore:d===!1}),{data:S,pageInfo:$,total:j,error:_,isLoading:k,isFetching:E,isPending:A,refetch:P}=Ei(p,{pagination:{page:C.page,perPage:C.perPage},sort:{field:C.sort,order:C.order},filter:{...C.filter,...i},meta:m},{placeholderData:o(O=>O,"placeholderData"),retry:!1,onError:o(O=>y((O==null?void 0:O.message)||"ra.notification.http_error",{type:"error",messageArgs:{_:O==null?void 0:O.message}}),"onError"),...v});g.useEffect(()=>{if(C.page<=0||!E&&C.page>1&&(S==null||(S==null?void 0:S.length)===0)){w.setPage(1);return}if(j==null)return;const O=Math.ceil(j/C.perPage)||1;!E&&C.page>O&&w.setPage(O)},[E,C.page,C.perPage,S,w,j]);const M=g.useMemo(()=>({field:C.sort,order:C.order}),[C.sort,C.order]),T=ap(),z=h("ra.page.list",{name:T(p,2)});return{sort:M,data:S,defaultTitle:z,displayedFilters:C.displayedFilters,error:_,exporter:a,filter:i,filterValues:C.filterValues,hideFilter:w.hideFilter,isFetching:E,isLoading:k,isPending:A,onSelect:b.select,onToggleItem:b.toggle,onUnselectItems:b.clearSelection,page:C.page,perPage:C.perPage,refetch:P,resource:p,selectedIds:x,setFilters:w.setFilters,setPage:w.setPage,setPerPage:w.setPerPage,setSort:w.setSort,showFilter:w.showFilter,total:j,hasNextPage:$?$.hasNextPage:j!=null?C.page*C.perPage<j:void 0,hasPreviousPage:$?$.hasPreviousPage:C.page>1}},"useListController"),S0e={field:"id",order:dc},j0e=["sort","data","defaultTitle","displayedFilters","error","exporter","filterValues","hasNextPage","hasPreviousPage","hideFilter","isFetching","isLoading","isPending","onSelect","onToggleItem","onUnselectItems","page","perPage","refetch","refresh","resource","selectedIds","setFilters","setPage","setPerPage","setSort","showFilter","total","totalPages"],Pl=o(e=>Object.keys(e).filter(t=>!j0e.includes(t)).reduce((t,n)=>({...t,[n]:e[n]}),{}),"sanitizeListRestProps"),jB=o(({children:e,...t})=>f.jsx(qo,{value:t.resource,children:f.jsx(fg,{value:C0e(t),children:e})}),"ListBase"),$0e=o((e,t,n=!1)=>{const[r,a]=So(`${e}.datagrid.expanded`,[]),i=Array.isArray(r)?r.map(c=>c==t).indexOf(!0)!==-1:!1,s=g.useCallback(()=>{a(c=>{if(!Array.isArray(c))return[t];const l=c.findIndex(u=>u==t);return l>-1?n?[]:[...c.slice(0,l),...c.slice(l+1)]:n?[t]:[...c,t]})},[a,t,n]);return[i,s]},"useExpanded"),_0e=o((e,t)=>{const[n,r]=So(`${e}.datagrid.expanded`,[]),a=Array.isArray(n)?n.some(s=>t.some(c=>c==s)):!1,i=g.useCallback(()=>{const s=n.filter(c=>!t.some(l=>l==c));r(a?s:s.concat(t))},[n,r,a,t]);return[a,i]},"useExpandAll"),k0e=o(()=>{throw new Error("refetch is not available for a ListContext built from useList based on local data")},"refetch"),Mx=o(e=>{const{data:t,error:n,filter:r=E0e,isFetching:a=!1,isLoading:i=!1,isPending:s=!1,page:c=1,perPage:l=1e3,sort:u,filterCallback:d=o(te=>!!te,"filterCallback")}=e,p=Nt(e),[m,v]=ao(a),[h,y]=ao(i),[C,w]=ao(s),[x,b]=ao(()=>({data:t,total:t?t.length:void 0})),{page:S,setPage:$,perPage:j,setPerPage:_}=nB({page:c,perPage:l}),{sort:k,setSort:E}=tB(u),A=g.useCallback(te=>{E(te),$(1)},[$,E]),[P,M]=Rx(p?{resource:p}:{disableSyncWithStore:!0}),T=g.useRef(r),[z,O]=ao({}),[N,F]=ao(r),I=g.useCallback(te=>{O(Z=>{const{[te]:be,...ne}=Z;return ne}),F(Z=>{const{[te]:be,...ne}=Z;return ne})},[O,F]),B=g.useCallback((te,Z)=>{O(be=>({...be,[te]:!0})),F(be=>Ri({...be,[te]:Z}))},[O,F]),U=g.useCallback((te,Z=void 0)=>{F(Ri(te)),Z&&O(Z),$(1)},[O,F,$]);return g.useEffect(()=>{va(r,T.current)||(T.current=r,F(r))}),g.useEffect(()=>{if(i||!t)return;let te=t;if(N){const be=H7(N);te=t.filter(ne=>Object.entries(be).every(([le,oe])=>{const Se=$t(ne,le);return Array.isArray(Se)?Array.isArray(oe)?Se.some(X=>oe.includes(X)):Se.includes(oe):Array.isArray(oe)?oe.includes(Se):le==="q"?Object.keys(ne).some(X=>typeof ne[X]=="string"&&ne[X].toLowerCase().includes(oe.toLowerCase())):oe==Se})).filter(d)}const Z=te.length;k.field&&(te=te.sort((be,ne)=>$t(be,k.field)>$t(ne,k.field)?k.order==="ASC"?1:-1:$t(be,k.field)<$t(ne,k.field)?k.order==="ASC"?-1:1:0)),te=te.slice((S-1)*j,S*j),b({data:te,total:Z})},[JSON.stringify(t),N,i,S,j,b,k.field,k.order]),g.useEffect(()=>{a!==m&&v(a)},[a,m,v]),g.useEffect(()=>{i!==h&&y(i)},[i,h,y]),g.useEffect(()=>{s!==C&&w(s)},[s,C,w]),{sort:k,data:C?void 0:(x==null?void 0:x.data)??[],defaultTitle:"",error:n??null,displayedFilters:z,filterValues:N,hasNextPage:(x==null?void 0:x.total)==null?!1:S*j<x.total,hasPreviousPage:S>1,hideFilter:I,isFetching:m,isLoading:h,isPending:C,onSelect:M.select,onToggleItem:M.toggle,onUnselectItems:M.clearSelection,page:S,perPage:j,resource:"",refetch:k0e,selectedIds:P,setFilters:U,setPage:$,setPerPage:_,setSort:A,showFilter:B,total:x==null?void 0:x.total}},"useList"),E0e={},Jn=o(()=>{const e=g.useContext(Px);if(!e)throw new Error("useListContext must be used inside a ListContextProvider");return e},"useListContext");var R0e=Zf,A0e=Wf,P0e=Yk,M0e=Xf,$B=Object.prototype,T0e=$B.hasOwnProperty,O0e=R0e(function(e,t){e=Object(e);var n=-1,r=t.length,a=r>2?t[2]:void 0;for(a&&P0e(t[0],t[1],a)&&(r=1);++n<r;)for(var i=t[n],s=M0e(i),c=-1,l=s.length;++c<l;){var u=s[c],d=e[u];(d===void 0||A0e(d,$B[u])&&!T0e.call(e,u))&&(e[u]=i[u])}return e}),z0e=O0e;const gE=Qt(z0e),Tx=o(e=>{const t=g.useContext(Px);return g.useMemo(()=>gE({},e!=null?I0e(e):{},t),[t,e])},"useListContextWithProps"),I0e=o(({sort:e,data:t,defaultTitle:n,displayedFilters:r,exporter:a,filterValues:i,hasCreate:s,hideFilter:c,isFetching:l,isLoading:u,isPending:d,onSelect:p,onToggleItem:m,onUnselectItems:v,page:h,perPage:y,refetch:C,resource:w,selectedIds:x,setFilters:b,setPage:S,setPerPage:$,setSort:j,showFilter:_,total:k})=>({sort:e,data:t,defaultTitle:n,displayedFilters:r,exporter:a,filterValues:i,hasCreate:s,hideFilter:c,isFetching:l,isLoading:u,isPending:d,onSelect:p,onToggleItem:m,onUnselectItems:v,page:h,perPage:y,refetch:C,resource:w,selectedIds:x,setFilters:b,setPage:S,setPerPage:$,setSort:j,showFilter:_,total:k}),"extractListContextProps"),_B=o(()=>{const e=g.useContext(pE);if(!e)throw new Error("useListFilterContext must be used inside a ListFilterContextProvider");return e},"useListFilterContext"),L0e=o(()=>{const e=g.useContext(hE);if(!e)throw new Error("useListPaginationContext must be used inside a ListPaginationContextProvider");return e},"useListPaginationContext"),D0e=o(()=>{const e=g.useContext(mE);if(!e)throw new Error("useListSortContext must be used inside a ListSortContextProvider");return e},"useListSortContext"),kB=o(e=>{const[,{unselect:t}]=Rx(e?{resource:e}:{disableSyncWithStore:!0});return g.useCallback(n=>{t(n)},[t])},"useUnselect"),N0e=[],F0e={},B0e=o(e=>{const{filter:t=F0e,page:n=1,perPage:r=1e3,record:a,reference:i,sort:s,source:c,queryOptions:l={}}=e,u=Kn(),d=$t(a,c),{meta:p,...m}=l,v=Array.isArray(d)?d:N0e,{data:h,error:y,isLoading:C,isFetching:w,isPending:x,refetch:b}=Z7(i,{ids:v,meta:p},{onError:o($=>u(typeof $=="string"?$:$.message||"ra.notification.http_error",{type:"error",messageArgs:{_:typeof $=="string"?$:$&&$.message?$.message:void 0}}),"onError"),...m});return{...Mx({data:h,error:y,filter:t,isFetching:w,isLoading:C,isPending:x,page:n,perPage:r,sort:s}),defaultTitle:void 0,refetch:b,resource:i}},"useReferenceArrayFieldController"),W0e={},U0e=o(e=>{const{debounce:t=500,reference:n,record:r,target:a,filter:i=W0e,source:s="id",page:c,perPage:l,sort:u={field:"id",order:"DESC"},queryOptions:d={}}=e,p=Kn(),m=Nt(e),{meta:v,...h}=d,{page:y,setPage:C,perPage:w,setPerPage:x}=nB({page:c,perPage:l}),{sort:b,setSort:S}=tB(u),$=g.useCallback(le=>{S(le),C(1)},[C,S]),[j,_]=Rx({resource:`${m}.${r==null?void 0:r.id}.${n}`}),k=g.useRef(i),[E,A]=ao({}),[P,M]=ao(i),T=g.useCallback(le=>{A(oe=>{const{[le]:Se,...xe}=oe;return xe}),M(oe=>{const{[le]:Se,...xe}=oe;return xe})},[A,M]),z=g.useCallback((le,oe)=>{A(Se=>({...Se,[le]:!0})),M(Se=>({...Se,[le]:oe}))},[A,M]),O=g.useCallback(cg((le,oe)=>{M(Ri(le)),A(oe),C(1)},t),[A,M,C]),N=g.useCallback((le,oe,Se=!1)=>{Se?O(le,oe):(M(Ri(le)),A(oe),C(1))},[A,M,C,O]);g.useEffect(()=>{va(i,k.current)||(k.current=i,M(i))});const{data:F,total:I,pageInfo:B,error:U,isFetching:te,isLoading:Z,isPending:be,refetch:ne}=Vve(n,{target:a,id:$t(r,s),pagination:{page:y,perPage:w},sort:b,filter:P,meta:v},{enabled:$t(r,s)!=null,placeholderData:o(le=>le,"placeholderData"),onError:o(le=>p(typeof le=="string"?le:le.message||"ra.notification.http_error",{type:"error",messageArgs:{_:typeof le=="string"?le:le&&le.message?le.message:void 0}}),"onError"),...h});return{sort:b,data:F,defaultTitle:void 0,displayedFilters:E,error:U,filterValues:P,hideFilter:T,isFetching:te,isLoading:Z,isPending:be,onSelect:_.select,onToggleItem:_.toggle,onUnselectItems:_.clearSelection,page:y,perPage:w,refetch:ne,resource:n,selectedIds:j,setFilters:N,setPage:C,setPerPage:x,hasNextPage:B?B.hasNextPage:I!=null?y*w<I:void 0,hasPreviousPage:B?B.hasPreviousPage:y>1,setSort:$,showFilter:z,total:I}},"useReferenceManyFieldController");var pg=o(e=>e.type==="checkbox","isCheckBoxInput"),Ku=o(e=>e instanceof Date,"isDateObject$1"),qr=o(e=>e==null,"isNullOrUndefined");const EB=o(e=>typeof e=="object","isObjectType");var lr=o(e=>!qr(e)&&!Array.isArray(e)&&EB(e)&&!Ku(e),"isObject$1"),RB=o(e=>lr(e)&&e.target?pg(e.target)?e.target.checked:e.target.value:e,"getEventValue"),H0e=o(e=>e.substring(0,e.search(/\.\d+(\.|$)/))||e,"getNodeParentName"),AB=o((e,t)=>e.has(H0e(t)),"isNameInFieldArray"),q0e=o(e=>{const t=e.constructor&&e.constructor.prototype;return lr(t)&&t.hasOwnProperty("isPrototypeOf")},"isPlainObject$2"),vE=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function aa(e){let t;const n=Array.isArray(e);if(e instanceof Date)t=new Date(e);else if(e instanceof Set)t=new Set(e);else if(!(vE&&(e instanceof Blob||e instanceof FileList))&&(n||lr(e)))if(t=n?[]:{},!n&&!q0e(e))t=e;else for(const r in e)e.hasOwnProperty(r)&&(t[r]=aa(e[r]));else return e;return t}o(aa,"cloneObject");var mg=o(e=>Array.isArray(e)?e.filter(Boolean):[],"compact"),In=o(e=>e===void 0,"isUndefined"),Ge=o((e,t,n)=>{if(!t||!lr(e))return n;const r=mg(t.split(/[,[\].]+?/)).reduce((a,i)=>qr(a)?a:a[i],e);return In(r)||r===e?In(e[t])?n:e[t]:r},"get"),gi=o(e=>typeof e=="boolean","isBoolean$1"),yE=o(e=>/^\w*$/.test(e),"isKey"),PB=o(e=>mg(e.replace(/["|']|\]/g,"").split(/\.|\[/)),"stringToPath$2"),sn=o((e,t,n)=>{let r=-1;const a=yE(t)?[t]:PB(t),i=a.length,s=i-1;for(;++r<i;){const c=a[r];let l=n;if(r!==s){const u=e[c];l=lr(u)||Array.isArray(u)?u:isNaN(+a[r+1])?{}:[]}if(c==="__proto__")return;e[c]=l,e=e[c]}return e},"set");const $b={BLUR:"blur",FOCUS_OUT:"focusout",CHANGE:"change"},Oo={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},Vi={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"},MB=_t.createContext(null),np=o(()=>_t.useContext(MB),"useFormContext"),bE=o(e=>{const{children:t,...n}=e;return _t.createElement(MB.Provider,{value:n},t)},"FormProvider");var TB=o((e,t,n,r=!0)=>{const a={defaultValues:t._defaultValues};for(const i in e)Object.defineProperty(a,i,{get:o(()=>{const s=i;return t._proxyFormState[s]!==Oo.all&&(t._proxyFormState[s]=!r||Oo.all),n&&(n[s]=!0),e[s]},"get")});return a},"getProxyFormState"),_a=o(e=>lr(e)&&!Object.keys(e).length,"isEmptyObject$1"),OB=o((e,t,n,r)=>{n(e);const{name:a,...i}=e;return _a(i)||Object.keys(i).length>=Object.keys(t).length||Object.keys(i).find(s=>t[s]===(!r||Oo.all))},"shouldRenderFormState"),ly=o(e=>Array.isArray(e)?e:[e],"convertToArrayPayload"),zB=o((e,t,n)=>!e||!t||e===t||ly(e).some(r=>r&&(n?r===t:r.startsWith(t)||t.startsWith(r))),"shouldSubscribeByName");function xE(e){const t=_t.useRef(e);t.current=e,_t.useEffect(()=>{const n=!e.disabled&&t.current.subject&&t.current.subject.subscribe({next:t.current.next});return()=>{n&&n.unsubscribe()}},[e.disabled])}o(xE,"useSubscribe");function Ox(e){const t=np(),{control:n=t.control,disabled:r,name:a,exact:i}=e||{},[s,c]=_t.useState(n._formState),l=_t.useRef(!0),u=_t.useRef({isDirty:!1,isLoading:!1,dirtyFields:!1,touchedFields:!1,validatingFields:!1,isValidating:!1,isValid:!1,errors:!1}),d=_t.useRef(a);return d.current=a,xE({disabled:r,next:o(p=>l.current&&zB(d.current,p.name,i)&&OB(p,u.current,n._updateFormState)&&c({...n._formState,...p}),"next"),subject:n._subjects.state}),_t.useEffect(()=>(l.current=!0,u.current.isValid&&n._updateValid(!0),()=>{l.current=!1}),[n]),TB(s,n,u.current,!1)}o(Ox,"useFormState");var xi=o(e=>typeof e=="string","isString$4"),IB=o((e,t,n,r,a)=>xi(e)?(r&&t.watch.add(e),Ge(n,e,a)):Array.isArray(e)?e.map(i=>(r&&t.watch.add(i),Ge(n,i))):(r&&(t.watchAll=!0),n),"generateWatchOutput");function LB(e){const t=np(),{control:n=t.control,name:r,defaultValue:a,disabled:i,exact:s}=e||{},c=_t.useRef(r);c.current=r,xE({disabled:i,subject:n._subjects.values,next:o(d=>{zB(c.current,d.name,s)&&u(aa(IB(c.current,n._names,d.values||n._formValues,!1,a)))},"next")});const[l,u]=_t.useState(n._getWatch(r,a));return _t.useEffect(()=>n._removeUnmounted()),l}o(LB,"useWatch");function V0e(e){const t=np(),{name:n,disabled:r,control:a=t.control,shouldUnregister:i}=e,s=AB(a._names.array,n),c=LB({control:a,name:n,defaultValue:Ge(a._formValues,n,Ge(a._defaultValues,n,e.defaultValue)),exact:!0}),l=Ox({control:a,name:n}),u=_t.useRef(a.register(n,{...e.rules,value:c,...gi(e.disabled)?{disabled:e.disabled}:{}}));return _t.useEffect(()=>{const d=a._options.shouldUnregister||i,p=o((m,v)=>{const h=Ge(a._fields,m);h&&h._f&&(h._f.mount=v)},"updateMounted");if(p(n,!0),d){const m=aa(Ge(a._options.defaultValues,n));sn(a._defaultValues,n,m),In(Ge(a._formValues,n))&&sn(a._formValues,n,m)}return()=>{(s?d&&!a._state.action:d)?a.unregister(n):p(n,!1)}},[n,a,s,i]),_t.useEffect(()=>{Ge(a._fields,n)&&a._updateDisabledField({disabled:r,fields:a._fields,name:n,value:Ge(a._fields,n)._f.value})},[r,n,a]),{field:{name:n,value:c,...gi(r)||l.disabled?{disabled:l.disabled||r}:{},onChange:_t.useCallback(d=>u.current.onChange({target:{value:RB(d),name:n},type:$b.CHANGE}),[n]),onBlur:_t.useCallback(()=>u.current.onBlur({target:{value:Ge(a._formValues,n),name:n},type:$b.BLUR}),[n,a]),ref:o(d=>{const p=Ge(a._fields,n);p&&d&&(p._f.ref={focus:o(()=>d.focus(),"focus"),select:o(()=>d.select(),"select"),setCustomValidity:o(m=>d.setCustomValidity(m),"setCustomValidity"),reportValidity:o(()=>d.reportValidity(),"reportValidity")})},"ref")},formState:l,fieldState:Object.defineProperties({},{invalid:{enumerable:!0,get:o(()=>!!Ge(l.errors,n),"get")},isDirty:{enumerable:!0,get:o(()=>!!Ge(l.dirtyFields,n),"get")},isTouched:{enumerable:!0,get:o(()=>!!Ge(l.touchedFields,n),"get")},isValidating:{enumerable:!0,get:o(()=>!!Ge(l.validatingFields,n),"get")},error:{enumerable:!0,get:o(()=>Ge(l.errors,n),"get")}})}}o(V0e,"useController");var G0e=o((e,t,n,r,a)=>t?{...n[e],types:{...n[e]&&n[e].types?n[e].types:{},[r]:a||!0}}:{},"appendErrors"),_O=o(e=>({isOnSubmit:!e||e===Oo.onSubmit,isOnBlur:e===Oo.onBlur,isOnChange:e===Oo.onChange,isOnAll:e===Oo.all,isOnTouch:e===Oo.onTouched}),"getValidationModes"),kO=o((e,t,n)=>!n&&(t.watchAll||t.watch.has(e)||[...t.watch].some(r=>e.startsWith(r)&&/^\.\w+/.test(e.slice(r.length)))),"isWatched");const Rm=o((e,t,n,r)=>{for(const a of n||Object.keys(e)){const i=Ge(e,a);if(i){const{_f:s,...c}=i;if(s){if(s.refs&&s.refs[0]&&t(s.refs[0],a)&&!r)break;if(s.ref&&t(s.ref,s.name)&&!r)break;Rm(c,t)}else lr(c)&&Rm(c,t)}}},"iterateFieldsByAction");var K0e=o((e,t,n)=>{const r=mg(Ge(e,n));return sn(r,"root",t[n]),sn(e,n,r),e},"updateFieldArrayRootError"),wE=o(e=>e.type==="file","isFileInput"),Xs=o(e=>typeof e=="function","isFunction$2"),_b=o(e=>{if(!vE)return!1;const t=e?e.ownerDocument:0;return e instanceof(t&&t.defaultView?t.defaultView.HTMLElement:HTMLElement)},"isHTMLElement$2"),uy=o(e=>xi(e),"isMessage"),CE=o(e=>e.type==="radio","isRadioInput"),kb=o(e=>e instanceof RegExp,"isRegex");const EO={value:!1,isValid:!1},RO={value:!0,isValid:!0};var DB=o(e=>{if(Array.isArray(e)){if(e.length>1){const t=e.filter(n=>n&&n.checked&&!n.disabled).map(n=>n.value);return{value:t,isValid:!!t.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!In(e[0].attributes.value)?In(e[0].value)||e[0].value===""?RO:{value:e[0].value,isValid:!0}:RO:EO}return EO},"getCheckboxValue");const AO={isValid:!1,value:null};var NB=o(e=>Array.isArray(e)?e.reduce((t,n)=>n&&n.checked&&!n.disabled?{isValid:!0,value:n.value}:t,AO):AO,"getRadioValue");function PO(e,t,n="validate"){if(uy(e)||Array.isArray(e)&&e.every(uy)||gi(e)&&!e)return{type:n,message:uy(e)?e:"",ref:t}}o(PO,"getValidateError");var su=o(e=>lr(e)&&!kb(e)?e:{value:e,message:""},"getValueAndMessage"),MO=o(async(e,t,n,r,a)=>{const{ref:i,refs:s,required:c,maxLength:l,minLength:u,min:d,max:p,pattern:m,validate:v,name:h,valueAsNumber:y,mount:C,disabled:w}=e._f,x=Ge(t,h);if(!C||w)return{};const b=s?s[0]:i,S=o(M=>{r&&b.reportValidity&&(b.setCustomValidity(gi(M)?"":M||""),b.reportValidity())},"setCustomValidity"),$={},j=CE(i),_=pg(i),k=j||_,E=(y||wE(i))&&In(i.value)&&In(x)||_b(i)&&i.value===""||x===""||Array.isArray(x)&&!x.length,A=G0e.bind(null,h,n,$),P=o((M,T,z,O=Vi.maxLength,N=Vi.minLength)=>{const F=M?T:z;$[h]={type:M?O:N,message:F,ref:i,...A(M?O:N,F)}},"getMinMaxMessage");if(a?!Array.isArray(x)||!x.length:c&&(!k&&(E||qr(x))||gi(x)&&!x||_&&!DB(s).isValid||j&&!NB(s).isValid)){const{value:M,message:T}=uy(c)?{value:!!c,message:c}:su(c);if(M&&($[h]={type:Vi.required,message:T,ref:b,...A(Vi.required,T)},!n))return S(T),$}if(!E&&(!qr(d)||!qr(p))){let M,T;const z=su(p),O=su(d);if(!qr(x)&&!isNaN(x)){const N=i.valueAsNumber||x&&+x;qr(z.value)||(M=N>z.value),qr(O.value)||(T=N<O.value)}else{const N=i.valueAsDate||new Date(x),F=o(U=>new Date(new Date().toDateString()+" "+U),"convertTimeToDate"),I=i.type=="time",B=i.type=="week";xi(z.value)&&x&&(M=I?F(x)>F(z.value):B?x>z.value:N>new Date(z.value)),xi(O.value)&&x&&(T=I?F(x)<F(O.value):B?x<O.value:N<new Date(O.value))}if((M||T)&&(P(!!M,z.message,O.message,Vi.max,Vi.min),!n))return S($[h].message),$}if((l||u)&&!E&&(xi(x)||a&&Array.isArray(x))){const M=su(l),T=su(u),z=!qr(M.value)&&x.length>+M.value,O=!qr(T.value)&&x.length<+T.value;if((z||O)&&(P(z,M.message,T.message),!n))return S($[h].message),$}if(m&&!E&&xi(x)){const{value:M,message:T}=su(m);if(kb(M)&&!x.match(M)&&($[h]={type:Vi.pattern,message:T,ref:i,...A(Vi.pattern,T)},!n))return S(T),$}if(v){if(Xs(v)){const M=await v(x,t),T=PO(M,b);if(T&&($[h]={...T,...A(Vi.validate,T.message)},!n))return S(T.message),$}else if(lr(v)){let M={};for(const T in v){if(!_a(M)&&!n)break;const z=PO(await v[T](x,t),b,T);z&&(M={...z,...A(T,z.message)},S(z.message),n&&($[h]=M))}if(!_a(M)&&($[h]={ref:b,...M},!n))return $}}return S(!0),$},"validateField");function J0e(e,t){const n=t.slice(0,-1).length;let r=0;for(;r<n;)e=In(e)?r++:e[t[r++]];return e}o(J0e,"baseGet$1");function Y0e(e){for(const t in e)if(e.hasOwnProperty(t)&&!In(e[t]))return!1;return!0}o(Y0e,"isEmptyArray");function rr(e,t){const n=Array.isArray(t)?t:yE(t)?[t]:PB(t),r=n.length===1?e:J0e(e,n),a=n.length-1,i=n[a];return r&&delete r[i],a!==0&&(lr(r)&&_a(r)||Array.isArray(r)&&Y0e(r))&&rr(e,n.slice(0,-1)),e}o(rr,"unset");var I2=o(()=>{let e=[];return{get observers(){return e},next:o(a=>{for(const i of e)i.next&&i.next(a)},"next"),subscribe:o(a=>(e.push(a),{unsubscribe:o(()=>{e=e.filter(i=>i!==a)},"unsubscribe")}),"subscribe"),unsubscribe:o(()=>{e=[]},"unsubscribe")}},"createSubject"),Eb=o(e=>qr(e)||!EB(e),"isPrimitive$2");function Qc(e,t){if(Eb(e)||Eb(t))return e===t;if(Ku(e)&&Ku(t))return e.getTime()===t.getTime();const n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(const a of n){const i=e[a];if(!r.includes(a))return!1;if(a!=="ref"){const s=t[a];if(Ku(i)&&Ku(s)||lr(i)&&lr(s)||Array.isArray(i)&&Array.isArray(s)?!Qc(i,s):i!==s)return!1}}return!0}o(Qc,"deepEqual");var FB=o(e=>e.type==="select-multiple","isMultipleSelect"),Q0e=o(e=>CE(e)||pg(e),"isRadioOrCheckbox"),L2=o(e=>_b(e)&&e.isConnected,"live"),BB=o(e=>{for(const t in e)if(Xs(e[t]))return!0;return!1},"objectHasFunction");function Rb(e,t={}){const n=Array.isArray(e);if(lr(e)||n)for(const r in e)Array.isArray(e[r])||lr(e[r])&&!BB(e[r])?(t[r]=Array.isArray(e[r])?[]:{},Rb(e[r],t[r])):qr(e[r])||(t[r]=!0);return t}o(Rb,"markFieldsDirty");function WB(e,t,n){const r=Array.isArray(e);if(lr(e)||r)for(const a in e)Array.isArray(e[a])||lr(e[a])&&!BB(e[a])?In(t)||Eb(n[a])?n[a]=Array.isArray(e[a])?Rb(e[a],[]):{...Rb(e[a])}:WB(e[a],qr(t)?{}:t[a],n[a]):n[a]=!Qc(e[a],t[a]);return n}o(WB,"getDirtyFieldsFromDefaultValues");var gv=o((e,t)=>WB(e,t,Rb(t)),"getDirtyFields"),UB=o((e,{valueAsNumber:t,valueAsDate:n,setValueAs:r})=>In(e)?e:t?e===""?NaN:e&&+e:n&&xi(e)?new Date(e):r?r(e):e,"getFieldValueAs");function D2(e){const t=e.ref;if(!(e.refs?e.refs.every(n=>n.disabled):t.disabled))return wE(t)?t.files:CE(t)?NB(e.refs).value:FB(t)?[...t.selectedOptions].map(({value:n})=>n):pg(t)?DB(e.refs).value:UB(In(t.value)?e.ref.value:t.value,e)}o(D2,"getFieldValue");var X0e=o((e,t,n,r)=>{const a={};for(const i of e){const s=Ge(t,i);s&&sn(a,i,s._f)}return{criteriaMode:n,names:[...e],fields:a,shouldUseNativeValidation:r}},"getResolverOptions"),Fp=o(e=>In(e)?e:kb(e)?e.source:lr(e)?kb(e.value)?e.value.source:e.value:e,"getRuleValue"),Z0e=o(e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate),"hasValidation");function TO(e,t,n){const r=Ge(e,n);if(r||yE(n))return{error:r,name:n};const a=n.split(".");for(;a.length;){const i=a.join("."),s=Ge(t,i),c=Ge(e,i);if(s&&!Array.isArray(s)&&n!==i)return{name:n};if(c&&c.type)return{name:i,error:c};a.pop()}return{name:n}}o(TO,"schemaErrorLookup");var exe=o((e,t,n,r,a)=>a.isOnAll?!1:!n&&a.isOnTouch?!(t||e):(n?r.isOnBlur:a.isOnBlur)?!e:(n?r.isOnChange:a.isOnChange)?e:!0,"skipValidation"),txe=o((e,t)=>!mg(Ge(e,t)).length&&rr(e,t),"unsetEmptyArray");const nxe={mode:Oo.onSubmit,reValidateMode:Oo.onChange,shouldFocusError:!0};function rxe(e={}){let t={...nxe,...e},n={submitCount:0,isDirty:!1,isLoading:Xs(t.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{},errors:t.errors||{},disabled:t.disabled||!1},r={},a=lr(t.defaultValues)||lr(t.values)?aa(t.defaultValues||t.values)||{}:{},i=t.shouldUnregister?{}:aa(a),s={action:!1,mount:!1,watch:!1},c={mount:new Set,unMount:new Set,array:new Set,watch:new Set},l,u=0;const d={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},p={values:I2(),array:I2(),state:I2()},m=_O(t.mode),v=_O(t.reValidateMode),h=t.criteriaMode===Oo.all,y=o(D=>J=>{clearTimeout(u),u=setTimeout(D,J)},"debounce"),C=o(async D=>{if(d.isValid||D){const J=t.resolver?_a((await k()).errors):await A(r,!0);J!==n.isValid&&p.state.next({isValid:J})}},"_updateValid"),w=o((D,J)=>{(d.isValidating||d.validatingFields)&&((D||Array.from(c.mount)).forEach(H=>{H&&(J?sn(n.validatingFields,H,J):rr(n.validatingFields,H))}),p.state.next({validatingFields:n.validatingFields,isValidating:!_a(n.validatingFields)}))},"_updateIsValidating"),x=o((D,J=[],H,de,fe=!0,ue=!0)=>{if(de&&H){if(s.action=!0,ue&&Array.isArray(Ge(r,D))){const he=H(Ge(r,D),de.argA,de.argB);fe&&sn(r,D,he)}if(ue&&Array.isArray(Ge(n.errors,D))){const he=H(Ge(n.errors,D),de.argA,de.argB);fe&&sn(n.errors,D,he),txe(n.errors,D)}if(d.touchedFields&&ue&&Array.isArray(Ge(n.touchedFields,D))){const he=H(Ge(n.touchedFields,D),de.argA,de.argB);fe&&sn(n.touchedFields,D,he)}d.dirtyFields&&(n.dirtyFields=gv(a,i)),p.state.next({name:D,isDirty:M(D,J),dirtyFields:n.dirtyFields,errors:n.errors,isValid:n.isValid})}else sn(i,D,J)},"_updateFieldArray"),b=o((D,J)=>{sn(n.errors,D,J),p.state.next({errors:n.errors})},"updateErrors"),S=o(D=>{n.errors=D,p.state.next({errors:n.errors,isValid:!1})},"_setErrors"),$=o((D,J,H,de)=>{const fe=Ge(r,D);if(fe){const ue=Ge(i,D,In(H)?Ge(a,D):H);In(ue)||de&&de.defaultChecked||J?sn(i,D,J?ue:D2(fe._f)):O(D,ue),s.mount&&C()}},"updateValidAndValue"),j=o((D,J,H,de,fe)=>{let ue=!1,he=!1;const We={name:D},rt=!!(Ge(r,D)&&Ge(r,D)._f&&Ge(r,D)._f.disabled);if(!H||de){d.isDirty&&(he=n.isDirty,n.isDirty=We.isDirty=M(),ue=he!==We.isDirty);const Ue=rt||Qc(Ge(a,D),J);he=!!(!rt&&Ge(n.dirtyFields,D)),Ue||rt?rr(n.dirtyFields,D):sn(n.dirtyFields,D,!0),We.dirtyFields=n.dirtyFields,ue=ue||d.dirtyFields&&he!==!Ue}if(H){const Ue=Ge(n.touchedFields,D);Ue||(sn(n.touchedFields,D,H),We.touchedFields=n.touchedFields,ue=ue||d.touchedFields&&Ue!==H)}return ue&&fe&&p.state.next(We),ue?We:{}},"updateTouchAndDirty"),_=o((D,J,H,de)=>{const fe=Ge(n.errors,D),ue=d.isValid&&gi(J)&&n.isValid!==J;if(e.delayError&&H?(l=y(()=>b(D,H)),l(e.delayError)):(clearTimeout(u),l=null,H?sn(n.errors,D,H):rr(n.errors,D)),(H?!Qc(fe,H):fe)||!_a(de)||ue){const he={...de,...ue&&gi(J)?{isValid:J}:{},errors:n.errors,name:D};n={...n,...he},p.state.next(he)}},"shouldRenderByError"),k=o(async D=>{w(D,!0);const J=await t.resolver(i,t.context,X0e(D||c.mount,r,t.criteriaMode,t.shouldUseNativeValidation));return w(D),J},"_executeSchema"),E=o(async D=>{const{errors:J}=await k(D);if(D)for(const H of D){const de=Ge(J,H);de?sn(n.errors,H,de):rr(n.errors,H)}else n.errors=J;return J},"executeSchemaAndUpdateState"),A=o(async(D,J,H={valid:!0})=>{for(const de in D){const fe=D[de];if(fe){const{_f:ue,...he}=fe;if(ue){const We=c.array.has(ue.name);w([de],!0);const rt=await MO(fe,i,h,t.shouldUseNativeValidation&&!J,We);if(w([de]),rt[ue.name]&&(H.valid=!1,J))break;!J&&(Ge(rt,ue.name)?We?K0e(n.errors,rt,ue.name):sn(n.errors,ue.name,rt[ue.name]):rr(n.errors,ue.name))}he&&await A(he,J,H)}}return H.valid},"executeBuiltInValidation"),P=o(()=>{for(const D of c.unMount){const J=Ge(r,D);J&&(J._f.refs?J._f.refs.every(H=>!L2(H)):!L2(J._f.ref))&&oe(D)}c.unMount=new Set},"_removeUnmounted"),M=o((D,J)=>(D&&J&&sn(i,D,J),!Qc(te(),a)),"_getDirty"),T=o((D,J,H)=>IB(D,c,{...s.mount?i:In(J)?a:xi(D)?{[D]:J}:J},H,J),"_getWatch"),z=o(D=>mg(Ge(s.mount?i:a,D,e.shouldUnregister?Ge(a,D,[]):[])),"_getFieldArray"),O=o((D,J,H={})=>{const de=Ge(r,D);let fe=J;if(de){const ue=de._f;ue&&(!ue.disabled&&sn(i,D,UB(J,ue)),fe=_b(ue.ref)&&qr(J)?"":J,FB(ue.ref)?[...ue.ref.options].forEach(he=>he.selected=fe.includes(he.value)):ue.refs?pg(ue.ref)?ue.refs.length>1?ue.refs.forEach(he=>(!he.defaultChecked||!he.disabled)&&(he.checked=Array.isArray(fe)?!!fe.find(We=>We===he.value):fe===he.value)):ue.refs[0]&&(ue.refs[0].checked=!!fe):ue.refs.forEach(he=>he.checked=he.value===fe):wE(ue.ref)?ue.ref.value="":(ue.ref.value=fe,ue.ref.type||p.values.next({name:D,values:{...i}})))}(H.shouldDirty||H.shouldTouch)&&j(D,fe,H.shouldTouch,H.shouldDirty,!0),H.shouldValidate&&U(D)},"setFieldValue"),N=o((D,J,H)=>{for(const de in J){const fe=J[de],ue=`${D}.${de}`,he=Ge(r,ue);(c.array.has(D)||!Eb(fe)||he&&!he._f)&&!Ku(fe)?N(ue,fe,H):O(ue,fe,H)}},"setValues"),F=o((D,J,H={})=>{const de=Ge(r,D),fe=c.array.has(D),ue=aa(J);sn(i,D,ue),fe?(p.array.next({name:D,values:{...i}}),(d.isDirty||d.dirtyFields)&&H.shouldDirty&&p.state.next({name:D,dirtyFields:gv(a,i),isDirty:M(D,ue)})):de&&!de._f&&!qr(ue)?N(D,ue,H):O(D,ue,H),kO(D,c)&&p.state.next({...n}),p.values.next({name:s.mount?D:void 0,values:{...i}})},"setValue"),I=o(async D=>{s.mount=!0;const J=D.target;let H=J.name,de=!0;const fe=Ge(r,H),ue=o(()=>J.type?D2(fe._f):RB(D),"getCurrentFieldValue"),he=o(We=>{de=Number.isNaN(We)||We===Ge(i,H,We)},"_updateIsFieldValueUpdated");if(fe){let We,rt;const Ue=ue(),Ne=D.type===$b.BLUR||D.type===$b.FOCUS_OUT,ye=!Z0e(fe._f)&&!t.resolver&&!Ge(n.errors,H)&&!fe._f.deps||exe(Ne,Ge(n.touchedFields,H),n.isSubmitted,v,m),ot=kO(H,c,Ne);sn(i,H,Ue),Ne?(fe._f.onBlur&&fe._f.onBlur(D),l&&l(0)):fe._f.onChange&&fe._f.onChange(D);const ft=j(H,Ue,Ne,!1),yt=!_a(ft)||ot;if(!Ne&&p.values.next({name:H,type:D.type,values:{...i}}),ye)return d.isValid&&C(),yt&&p.state.next({name:H,...ot?{}:ft});if(!Ne&&ot&&p.state.next({...n}),t.resolver){const{errors:W}=await k([H]);if(he(Ue),de){const K=TO(n.errors,r,H),Y=TO(W,r,K.name||H);We=Y.error,H=Y.name,rt=_a(W)}}else w([H],!0),We=(await MO(fe,i,h,t.shouldUseNativeValidation))[H],w([H]),he(Ue),de&&(We?rt=!1:d.isValid&&(rt=await A(r,!0)));de&&(fe._f.deps&&U(fe._f.deps),_(H,rt,We,ft))}},"onChange"),B=o((D,J)=>{if(Ge(n.errors,J)&&D.focus)return D.focus(),1},"_focusInput"),U=o(async(D,J={})=>{let H,de;const fe=ly(D);if(t.resolver){const ue=await E(In(D)?D:fe);H=_a(ue),de=D?!fe.some(he=>Ge(ue,he)):H}else D?(de=(await Promise.all(fe.map(async ue=>{const he=Ge(r,ue);return await A(he&&he._f?{[ue]:he}:he)}))).every(Boolean),!(!de&&!n.isValid)&&C()):de=H=await A(r);return p.state.next({...!xi(D)||d.isValid&&H!==n.isValid?{}:{name:D},...t.resolver||!D?{isValid:H}:{},errors:n.errors}),J.shouldFocus&&!de&&Rm(r,B,D?fe:c.mount),de},"trigger"),te=o(D=>{const J={...s.mount?i:a};return In(D)?J:xi(D)?Ge(J,D):D.map(H=>Ge(J,H))},"getValues"),Z=o((D,J)=>({invalid:!!Ge((J||n).errors,D),isDirty:!!Ge((J||n).dirtyFields,D),error:Ge((J||n).errors,D),isValidating:!!Ge(n.validatingFields,D),isTouched:!!Ge((J||n).touchedFields,D)}),"getFieldState"),be=o(D=>{D&&ly(D).forEach(J=>rr(n.errors,J)),p.state.next({errors:D?n.errors:{}})},"clearErrors"),ne=o((D,J,H)=>{const de=(Ge(r,D,{_f:{}})._f||{}).ref,fe=Ge(n.errors,D)||{},{ref:ue,message:he,type:We,...rt}=fe;sn(n.errors,D,{...rt,...J,ref:de}),p.state.next({name:D,errors:n.errors,isValid:!1}),H&&H.shouldFocus&&de&&de.focus&&de.focus()},"setError"),le=o((D,J)=>Xs(D)?p.values.subscribe({next:o(H=>D(T(void 0,J),H),"next")}):T(D,J,!0),"watch"),oe=o((D,J={})=>{for(const H of D?ly(D):c.mount)c.mount.delete(H),c.array.delete(H),J.keepValue||(rr(r,H),rr(i,H)),!J.keepError&&rr(n.errors,H),!J.keepDirty&&rr(n.dirtyFields,H),!J.keepTouched&&rr(n.touchedFields,H),!J.keepIsValidating&&rr(n.validatingFields,H),!t.shouldUnregister&&!J.keepDefaultValue&&rr(a,H);p.values.next({values:{...i}}),p.state.next({...n,...J.keepDirty?{isDirty:M()}:{}}),!J.keepIsValid&&C()},"unregister"),Se=o(({disabled:D,name:J,field:H,fields:de,value:fe})=>{if(gi(D)&&s.mount||D){const ue=D?void 0:In(fe)?D2(H?H._f:Ge(de,J)._f):fe;sn(i,J,ue),j(J,ue,!1,!1,!0)}},"_updateDisabledField"),xe=o((D,J={})=>{let H=Ge(r,D);const de=gi(J.disabled);return sn(r,D,{...H||{},_f:{...H&&H._f?H._f:{ref:{name:D}},name:D,mount:!0,...J}}),c.mount.add(D),H?Se({field:H,disabled:J.disabled,name:D,value:J.value}):$(D,!0,J.value),{...de?{disabled:J.disabled}:{},...t.progressive?{required:!!J.required,min:Fp(J.min),max:Fp(J.max),minLength:Fp(J.minLength),maxLength:Fp(J.maxLength),pattern:Fp(J.pattern)}:{},name:D,onChange:I,onBlur:I,ref:o(fe=>{if(fe){xe(D,J),H=Ge(r,D);const ue=In(fe.value)&&fe.querySelectorAll&&fe.querySelectorAll("input,select,textarea")[0]||fe,he=Q0e(ue),We=H._f.refs||[];if(he?We.find(rt=>rt===ue):ue===H._f.ref)return;sn(r,D,{_f:{...H._f,...he?{refs:[...We.filter(L2),ue,...Array.isArray(Ge(a,D))?[{}]:[]],ref:{type:ue.type,name:D}}:{ref:ue}}}),$(D,!1,void 0,ue)}else H=Ge(r,D,{}),H._f&&(H._f.mount=!1),(t.shouldUnregister||J.shouldUnregister)&&!(AB(c.array,D)&&s.action)&&c.unMount.add(D)},"ref")}},"register"),X=o(()=>t.shouldFocusError&&Rm(r,B,c.mount),"_focusError"),Re=o(D=>{gi(D)&&(p.state.next({disabled:D}),Rm(r,(J,H)=>{const de=Ge(r,H);de&&(J.disabled=de._f.disabled||D,Array.isArray(de._f.refs)&&de._f.refs.forEach(fe=>{fe.disabled=de._f.disabled||D}))},0,!1))},"_disableForm"),me=o((D,J)=>async H=>{let de;H&&(H.preventDefault&&H.preventDefault(),H.persist&&H.persist());let fe=aa(i);if(p.state.next({isSubmitting:!0}),t.resolver){const{errors:ue,values:he}=await k();n.errors=ue,fe=he}else await A(r);if(rr(n.errors,"root"),_a(n.errors)){p.state.next({errors:{}});try{await D(fe,H)}catch(ue){de=ue}}else J&&await J({...n.errors},H),X(),setTimeout(X);if(p.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:_a(n.errors)&&!de,submitCount:n.submitCount+1,errors:n.errors}),de)throw de},"handleSubmit"),re=o((D,J={})=>{Ge(r,D)&&(In(J.defaultValue)?F(D,aa(Ge(a,D))):(F(D,J.defaultValue),sn(a,D,aa(J.defaultValue))),J.keepTouched||rr(n.touchedFields,D),J.keepDirty||(rr(n.dirtyFields,D),n.isDirty=J.defaultValue?M(D,aa(Ge(a,D))):M()),J.keepError||(rr(n.errors,D),d.isValid&&C()),p.state.next({...n}))},"resetField"),De=o((D,J={})=>{const H=D?aa(D):a,de=aa(H),fe=_a(D),ue=fe?a:de;if(J.keepDefaultValues||(a=H),!J.keepValues){if(J.keepDirtyValues)for(const he of c.mount)Ge(n.dirtyFields,he)?sn(ue,he,Ge(i,he)):F(he,Ge(ue,he));else{if(vE&&In(D))for(const he of c.mount){const We=Ge(r,he);if(We&&We._f){const rt=Array.isArray(We._f.refs)?We._f.refs[0]:We._f.ref;if(_b(rt)){const Ue=rt.closest("form");if(Ue){Ue.reset();break}}}}r={}}i=e.shouldUnregister?J.keepDefaultValues?aa(a):{}:aa(ue),p.array.next({values:{...ue}}),p.values.next({values:{...ue}})}c={mount:J.keepDirtyValues?c.mount:new Set,unMount:new Set,array:new Set,watch:new Set,watchAll:!1,focus:""},s.mount=!d.isValid||!!J.keepIsValid||!!J.keepDirtyValues,s.watch=!!e.shouldUnregister,p.state.next({submitCount:J.keepSubmitCount?n.submitCount:0,isDirty:fe?!1:J.keepDirty?n.isDirty:!!(J.keepDefaultValues&&!Qc(D,a)),isSubmitted:J.keepIsSubmitted?n.isSubmitted:!1,dirtyFields:fe?[]:J.keepDirtyValues?J.keepDefaultValues&&i?gv(a,i):n.dirtyFields:J.keepDefaultValues&&D?gv(a,D):J.keepDirty?n.dirtyFields:{},touchedFields:J.keepTouched?n.touchedFields:{},errors:J.keepErrors?n.errors:{},isSubmitSuccessful:J.keepIsSubmitSuccessful?n.isSubmitSuccessful:!1,isSubmitting:!1})},"_reset"),Ee=o((D,J)=>De(Xs(D)?D(i):D,J),"reset");return{control:{register:xe,unregister:oe,getFieldState:Z,handleSubmit:me,setError:ne,_executeSchema:k,_getWatch:T,_getDirty:M,_updateValid:C,_removeUnmounted:P,_updateFieldArray:x,_updateDisabledField:Se,_getFieldArray:z,_reset:De,_resetDefaultValues:o(()=>Xs(t.defaultValues)&&t.defaultValues().then(D=>{Ee(D,t.resetOptions),p.state.next({isLoading:!1})}),"_resetDefaultValues"),_updateFormState:o(D=>{n={...n,...D}},"_updateFormState"),_disableForm:Re,_subjects:p,_proxyFormState:d,_setErrors:S,get _fields(){return r},get _formValues(){return i},get _state(){return s},set _state(D){s=D},get _defaultValues(){return a},get _names(){return c},set _names(D){c=D},get _formState(){return n},set _formState(D){n=D},get _options(){return t},set _options(D){t={...t,...D}}},trigger:U,register:xe,handleSubmit:me,watch:le,setValue:F,getValues:te,reset:Ee,resetField:re,clearErrors:be,unregister:oe,setError:ne,setFocus:o((D,J={})=>{const H=Ge(r,D),de=H&&H._f;if(de){const fe=de.refs?de.refs[0]:de.ref;fe.focus&&(fe.focus(),J.shouldSelect&&fe.select())}},"setFocus"),getFieldState:Z}}o(rxe,"createFormControl");function SE(e={}){const t=_t.useRef(),n=_t.useRef(),[r,a]=_t.useState({isDirty:!1,isValidating:!1,isLoading:Xs(e.defaultValues),isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,submitCount:0,dirtyFields:{},touchedFields:{},validatingFields:{},errors:e.errors||{},disabled:e.disabled||!1,defaultValues:Xs(e.defaultValues)?void 0:e.defaultValues});t.current||(t.current={...rxe(e),formState:r});const i=t.current.control;return i._options=e,xE({subject:i._subjects.state,next:o(s=>{OB(s,i._proxyFormState,i._updateFormState,!0)&&a({...i._formState})},"next")}),_t.useEffect(()=>i._disableForm(e.disabled),[i,e.disabled]),_t.useEffect(()=>{if(i._proxyFormState.isDirty){const s=i._getDirty();s!==r.isDirty&&i._subjects.state.next({isDirty:s})}},[i,r.isDirty]),_t.useEffect(()=>{e.values&&!Qc(e.values,n.current)?(i._reset(e.values,i._options.resetOptions),n.current=e.values,a(s=>({...s}))):i._resetDefaultValues()},[e.values,i]),_t.useEffect(()=>{e.errors&&i._setErrors(e.errors)},[e.errors,i]),_t.useEffect(()=>{i._state.mount||(i._updateValid(),i._state.mount=!0),i._state.watch&&(i._state.watch=!1,i._subjects.state.next({...i._formState})),i._removeUnmounted()}),_t.useEffect(()=>{e.shouldUnregister&&i._subjects.values.next({values:i._getWatch()})},[e.shouldUnregister,i]),t.current.formState=TB(r,i),t.current}o(SE,"useForm");const axe=o(({resource:e,filter:t,sort:n=sxe,page:r=1,perPage:a=10,debounce:i=500})=>{const[s,c]=g.useState(cxe),l=g.useRef(),u=[e,JSON.stringify(s),JSON.stringify(t),JSON.stringify(n),r,a],d=g.useMemo(()=>oxe({params:s,filterDefaultValues:t,sort:n,page:r,perPage:a}),u),p=g.useCallback($=>{if(l.current)l.current=jb(l.current,$);else{const j=jb(d,$);l.current=j,setTimeout(()=>{c(j),l.current=void 0},0)}},u),m=g.useCallback($=>p({type:rE,payload:$}),u),v=g.useCallback($=>p({type:Sb,payload:$}),u),h=g.useCallback($=>p({type:aE,payload:$}),u),y=d.filter||zO,C=d.displayedFilters||zO,w=g.useRef(cg(($,j=void 0)=>{p({type:hh,payload:{filter:Ri($),displayedFilters:j}})},i));g.useEffect(()=>()=>{w.current.cancel()},[]);const x=g.useCallback(($,j=void 0,_=!1)=>{_?w.current($,j):p({type:hh,payload:{filter:Ri($),displayedFilters:j}})},u),b=g.useCallback($=>{p({type:iE,payload:$})},u),S=g.useCallback(($,j)=>{p({type:oE,payload:{filterName:$,defaultValue:j}})},u);return[{filterValues:y,requestSignature:u,...d,displayedFilters:C},{changeParams:p,setPage:v,setPerPage:h,setSort:m,setFilters:x,hideFilter:b,showFilter:S}]},"useReferenceParams"),oxe=o(({params:e,filterDefaultValues:t,sort:n,page:r,perPage:a})=>{const i=ixe(e)?{...e}:{filter:t||{}};return i.sort||(i.sort=n.field,i.order=n.order),i.page==null&&(i.page=r),i.perPage==null&&(i.perPage=a),i.page==null&&(i.page=1),{...i,page:OO(i.page,1),perPage:OO(i.perPage,10)}},"getQuery"),ixe=o(e=>e&&e.filter&&(Object.keys(e.filter).length>0||e.order!=null||e.page!==1||e.perPage!=null||e.sort!=null),"hasCustomParams"),OO=o((e,t)=>{if(typeof e>"u")return t;const n=typeof e=="string"?parseInt(e,10):e;return isNaN(n)?t:n},"getNumberOrDefault"),zO={},sxe={field:"id",order:dc},cxe={},lxe=o(e=>{const{debounce:t,enableGetChoices:n,filter:r,page:a=1,perPage:i=25,sort:s,queryOptions:c={},reference:l,source:u}=e,{meta:d,...p}=c,[m,v]=axe({resource:l,page:a,perPage:i,sort:s,debounce:t,filter:r}),h=zE(u),y=LB({name:h}),C=n?n(m.filterValues):!0,{data:w=[],total:x,pageInfo:b,isFetching:S,isLoading:$,isPending:j,error:_,refetch:k}=Ei(l,{pagination:{page:m.page,perPage:m.perPage},sort:{field:m.sort,order:m.order},filter:{...m.filter,...r},meta:d},{enabled:C,placeholderData:o(Z=>Z,"placeholderData"),...p}),{referenceRecord:E,refetch:A,error:P,isLoading:M,isFetching:T,isPending:z}=gB({id:y,reference:l,options:{enabled:y!=null&&y!=="",meta:d,...p}}),O=y!=null&&y!==""&&z||j,[N,F]=g.useState(void 0);g.useEffect(()=>{F(E)},[E]);let I,B;!N||w.find(Z=>Z.id===N.id)?(I=w,B=x):(I=[N,...w],B=x==null?void 0:x+1);const U=g.useCallback(()=>{k(),A()},[k,A]);return{sort:g.useMemo(()=>({field:m.sort,order:m.order}),[m.sort,m.order]),allChoices:I,availableChoices:w,selectedChoices:N?[N]:[],displayedFilters:m.displayedFilters,error:P||_,filter:m.filter,filterValues:m.filterValues,hideFilter:v.hideFilter,isFetching:T||S,isLoading:M||$,isPending:O,page:m.page,perPage:m.perPage,refetch:U,resource:l,setFilters:v.setFilters,setPage:v.setPage,setPerPage:v.setPerPage,setSort:v.setSort,showFilter:v.showFilter,source:u,total:B,hasNextPage:b?b.hasNextPage:x!=null?m.page*m.perPage<x:void 0,hasPreviousPage:b?b.hasPreviousPage:m.page>1,isFromReference:!0}},"useReferenceInputController"),HB=g.createContext(void 0),IO="@@react-admin@@",uxe=o(e=>{const{error:t}=e;let n=t;const r=nt();if(typeof t=="string"&&t.startsWith(IO)&&(n=JSON.parse(t.substring(IO.length))),n.message){const{message:a,args:i}=n;return f.jsx(f.Fragment,{children:r(a,{_:a,...i})})}return f.jsx(f.Fragment,{children:r(n,{_:n})})},"ValidationError"),dxe=o(e=>async t=>{const n=await e(t);if(!n||Ab(n))return{values:t,errors:{}};const r=p$(n);return!r||Ab(r)?{values:t,errors:{}}:{values:{},errors:r}},"getSimpleValidationResolver"),p$=o(e=>Object.keys(e).reduce((t,n)=>{if(Array.isArray(e[n])){let r=!1;const a=e[n].map(i=>(Ab(i)||(r=!0),p$(i)));return r?{...t,[n]:a}:t}return Ab(e[n])?t:typeof e[n]=="object"&&!qB(e[n])?{...t,[n]:p$(e[n])}:{...t,[n]:fxe(e[n])}},{}),"transformErrorFields"),fxe=o(e=>({type:"manual",message:qB(e)?e:{message:e}}),"addTypeAndMessage"),qB=o(e=>Object.keys(e).includes("message")&&Object.keys(e).includes("args"),"isRaTranslationObj"),Ab=o(e=>Object.getOwnPropertyNames(e).length===0,"isEmptyObject"),VB=g.createContext(void 0),pxe=o(({children:e,value:t})=>f.jsx(VB.Provider,{value:t,children:e}),"ChoicesContextProvider"),GB=o((e={})=>{const t=g.useContext(VB),{data:n,...r}=Mx({data:e.choices,isLoading:e.isLoading??!1,isPending:e.isPending??!1,isFetching:e.isFetching??!1,error:e.error,perPage:1/0});return g.useMemo(()=>e.choices||!t?{allChoices:n,availableChoices:e.availableChoices??n,selectedChoices:e.selectedChoices??n,displayedFilters:e.selectedChoices??r.displayedFilters,error:e.error,filter:e.filter??r.filter,filterValues:e.filterValues??r.filterValues,hasNextPage:e.hasNextPage??r.hasNextPage,hasPreviousPage:e.hasPreviousPage??r.hasPreviousPage,hideFilter:e.hideFilter??r.hideFilter,isLoading:r.isLoading??!1,isPending:r.isPending??!1,isFetching:r.isFetching??!1,page:e.page??r.page,perPage:e.perPage??r.perPage,refetch:e.refetch??r.refetch,resource:e.resource??r.resource,setFilters:e.setFilters??r.setFilters,setPage:e.setPage??r.setPage,setPerPage:e.setPerPage??r.setPerPage,setSort:e.setSort??r.setSort,showFilter:e.showFilter??r.showFilter,sort:e.sort??r.sort,source:e.source,total:e.total??r.total,isFromReference:!1}:t,[t,n,r,e])},"useChoicesContext"),KB=o(({children:e})=>{const t=g.useRef({}),n=g.useRef({}),r=g.useMemo(()=>({subscribe:o((a,i)=>(n.current[a]||(n.current[a]=[]),n.current[a].push(i),()=>{n.current[a]=n.current[a].filter(s=>s!==i)}),"subscribe"),getGroupFields:o(a=>t.current[a]||[],"getGroupFields"),registerGroup:o(a=>{t.current[a]=t.current[a]||[]},"registerGroup"),unregisterGroup:o(a=>{delete t[a]},"unregisterGroup"),registerField:o((a,i)=>{i!=null&&((t.current[i]||[]).includes(a)||(t.current[i]=[...t.current[i]||[],a],n.current[i]&&n.current[i].forEach(s=>s())))},"registerField"),unregisterField:o((a,i)=>{if(i!=null)if(!t.current[i])console.warn(`Invalid form group ${i}`);else{const s=new Set(t.current[i]);s.delete(a),t.current[i]=Array.from(s),n.current[i]&&n.current[i].forEach(c=>c())}},"unregisterField")}),[]);return f.jsx(HB.Provider,{value:r,children:e})},"FormGroupsProvider"),mxe=o((e,t,n)=>{const r=nt(),{isSubmitSuccessful:a,dirtyFields:i}=Ox(n?{control:n}:void 0),s=Object.keys(i).length>0,[c,l]=g.useState(!1),u=!e||!s||a,d=yre(({currentLocation:p,nextLocation:m})=>{if(u)return!1;const v=t||p.pathname,h=m.pathname.startsWith(v),y=m.pathname.startsWith(`${v}/show`);return!(h&&!y)});g.useEffect(()=>{if(d.state==="blocked"){if(u){d.proceed();return}l(!0)}},[d.state]),g.useEffect(()=>{c&&(window.confirm(r("ra.message.unsaved_changes"))?d.proceed&&d.proceed():d.reset&&d.reset()),l(!1)},[c,r]),g.useEffect(()=>{const p=o(m=>{m.preventDefault(),m.returnValue=!0},"beforeunload");if(!u)return window.addEventListener("beforeunload",p),()=>{window.removeEventListener("beforeunload",p)}},[u])},"useWarnWhenUnsavedChanges"),hxe=o(({enable:e=!0,formRootPathName:t,formControl:n})=>(mxe(e,t,n),null),"WarnWhenUnsavedChanges");function gxe(e,t){return Qk({},vxe(e,t),t)}o(gxe,"getFormInitialValues");function vxe(e,t){return typeof e=="object"?e:typeof e=="function"?e(t):{}}o(vxe,"getValues");const JB=o((e,t)=>{const n=o((r,a)=>{Object.entries(r).forEach(([i,s])=>{if(typeof s=="object"){n(s,`${a}${i}.`);return}t(`${a}${i}`,{type:"server",message:s.toString()})})},"setErrorFromObject");n(e,"")},"setSubmissionErrors"),yxe=o((e,t=!0)=>{const{submitCount:n,errors:r}=Ox(e?{control:e}:void 0),a=g.useRef(n),i=Kn();g.useEffect(()=>{var s,c;if(n>a.current&&t&&(a.current=n,Object.keys(r).length>0)){const l=typeof((c=(s=r.root)==null?void 0:s.serverError)==null?void 0:c.message)=="string"?r.root.serverError.message:void 0;i(l||"ra.message.invalid_form",{type:"error"})}},[r,n,i,t])},"useNotifyIsFormInvalid"),bxe=o((e,t={})=>{const n={};return Object.keys(e).forEach(r=>{e[r]==null||e[r]===""?t.hasOwnProperty(r)&&(n[r]=null):n[r]=e[r]}),n},"sanitizeEmptyValues"),xxe=o(e=>{const{criteriaMode:t="firstError",defaultValues:n,formRootPathname:r,resolver:a,reValidateMode:i="onChange",onSubmit:s,sanitizeEmptyValues:c,validate:l,disableInvalidFormNotification:u,...d}=e,p=un(e),m=sE(),v=g.useMemo(()=>gxe(n,p),[JSON.stringify({defaultValues:typeof n=="function"?"function":n,record:p})]),h=a||(l?dxe(l):void 0),y=SE({criteriaMode:t,values:v,reValidateMode:i,resolver:h,...d}),C=g.useRef(y);yxe(y.control,!u);const w=g.useCallback(async(b,S)=>{let $;const j=c?bxe(b,p):b;s&&($=await s(j,S)),s==null&&(m!=null&&m.save)&&($=await m.save(j,S)),$!=null&&JB($,C.current.setError)},[s,m,c,p]),x=g.useCallback(b=>{b.defaultPrevented||(b.stopPropagation(),y.handleSubmit(w)(b))},[y,w]);return{form:y,handleSubmit:w,formHandleSubmit:x}},"useAugmentedForm");function rp(e){const{children:t,id:n,className:r,noValidate:a=!1,formRootPathname:i,warnWhenUnsavedChanges:s,WarnWhenUnsavedChangesComponent:c=hxe}=e,l=un(e),u=Nt(e),{form:d,formHandleSubmit:p}=xxe(e),m=g.useMemo(()=>({getSource:o(y=>y,"getSource"),getLabel:o(y=>`resources.${u}.fields.${y}`,"getLabel")}),[u]),v=g.useContext(ng),h=g.useContext(Ek);return f.jsx(Fye,{value:l,children:f.jsx(AE,{value:m,children:f.jsx(bE,{...d,children:f.jsxs(KB,{children:[f.jsx("form",{onSubmit:p,noValidate:a,id:n,className:r,children:t}),s&&v&&h&&f.jsx(c,{enable:!0,formRootPathName:i,formControl:d.control})]})})})})}o(rp,"Form");const wxe=/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,Ec=o(e=>typeof e>"u"||e===null||e===""||Array.isArray(e)&&e.length===0,"isEmpty$5");function Cxe(e){return e?e.hasOwnProperty("message"):!1}o(Cxe,"isValidationErrorMessageWithArgs");const Rc=o((e,t,n,r)=>typeof e=="function"?e({args:t,value:n,values:r}):t?{message:e,args:t}:e,"getMessage"),Ac=o(e=>e7(e,(...t)=>JSON.stringify(t)),"memoize$2"),Sxe=o(e=>typeof e=="function","isFunction$1"),jxe=o((e,t)=>(n,r,a)=>{const i=e(n,r,a);return i?typeof i=="string"||Cxe(i)?i:i.then(s=>s||t(n,r,a)):t(n,r,a)},"combine2Validators"),$xe=o((...e)=>(Array.isArray(e[0])?e[0]:e).filter(Sxe).reduce(jxe,()=>null),"composeValidators"),cs=Ac((e="ra.validation.required")=>Object.assign((t,n)=>Ec(t)?Rc(e,void 0,t,n):void 0,{isRequired:!0}));Ac((e,t="ra.validation.minLength")=>(n,r)=>!Ec(n)&&n.length<e?Rc(t,{min:e},n,r):void 0);Ac((e,t="ra.validation.maxLength")=>(n,r)=>!Ec(n)&&n.length>e?Rc(t,{max:e},n,r):void 0);Ac((e,t="ra.validation.minValue")=>(n,r)=>!Ec(n)&&n<e?Rc(t,{min:e},n,r):void 0);Ac((e,t="ra.validation.maxValue")=>(n,r)=>!Ec(n)&&n>e?Rc(t,{max:e},n,r):void 0);Ac((e="ra.validation.number")=>(t,n)=>!Ec(t)&&isNaN(Number(t))?Rc(e,void 0,t,n):void 0);const _xe=e7((e,t="ra.validation.regex")=>(n,r)=>!Ec(n)&&typeof n=="string"&&!e.test(n)?Rc(t,{pattern:e},n,r):void 0,(e,t)=>e.toString()+t),kxe=Ac((e="ra.validation.email")=>_xe(wxe,e)),Exe=o(({args:e})=>({message:"ra.validation.oneOf",args:e}),"oneOfTypeMessage");Ac((e,t=Exe)=>(n,r)=>!Ec(n)&&e.indexOf(n)===-1?Rc(t,{list:e},n,r):void 0);const Rxe=g.createContext(null),Axe=o(()=>g.useContext(HB),"useFormGroups"),Pxe=o(({inputProps:e,isArrayInput:t,fieldArrayInputControl:n})=>{const{defaultValue:r,source:a}=e,i=zE(a),s=un(e),{getValues:c,resetField:l,formState:u,reset:d}=np(),p=$t(s,i),m=$t(c(),i),{dirtyFields:v}=u,h=Object.keys(v).includes(i);g.useEffect(()=>{if(r==null||m!=null||p!=null||h)return;if(i.split(".").some(C=>Mxe.test(C))){const C=i.split(".").slice(0,-1).join(".");if($t(c(),C)==null)return}if(t){if(!n)throw new Error("useApplyInputDefaultValues: No fieldArrayInputControl passed in props for array input usage");n.replace(r),d({},{keepValues:!0});return}l(i,{defaultValue:r})})},"useApplyInputDefaultValues"),Mxe=/^\d+$/,jE=o(({optionText:e="name",optionValue:t="id",disableValue:n="disabled",translateChoice:r=!0})=>{const a=nt(),i=g.useCallback(l=>{if(g.isValidElement(e))return f.jsx(Qr,{value:l,children:e});const u=typeof e=="function"?e(l):$t(l,e);return g.isValidElement(u)?u:r?a(String(u),{_:u}):String(u)},[e,a,r]),s=g.useCallback(l=>$t(l,t),[t]),c=g.useCallback(l=>$t(l,n),[n]);return{getChoiceText:i,getChoiceValue:s,getDisableValue:c}},"useChoices"),Txe=o(()=>g.useContext(Rxe),"useFormGroupContext"),Oxe=o(e=>e&&e.isRequired?!0:Array.isArray(e)?e.some(t=>t.isRequired):!1,"isRequired"),zxe=o(e=>e??"","defaultFormat"),Ixe=o(e=>e===""?null:e,"defaultParse"),hg=o(e=>{const{defaultValue:t,format:n=zxe,id:r,isRequired:a,name:i,onBlur:s,onChange:c,parse:l=Ixe,source:u,validate:d,...p}=e,m=zE(u),v=i||m,h=Txe(),y=Axe(),C=un(),w=zt(l),x=g.useId();!u&&e.label==null,g.useEffect(()=>{if(!(!y||h==null))return y.registerField(m,h),()=>{y.unregisterField(m,h)}},[y,h,m]);const b=Array.isArray(d)?$xe(d):d,{field:S,fieldState:$,formState:j}=V0e({name:v,defaultValue:$t(C,m,t),rules:{validate:o(async(A,P)=>{if(!b)return!0;const M=await b(A,P,e);return M?`@@react-admin@@${JSON.stringify(M)}`:!0},"validate")},...p,disabled:p.disabled||void 0});Pxe({inputProps:e});const _=zt((...A)=>{S.onBlur(),s&&s(...A)}),k=zt((...A)=>{var M,T,z,O;const P=e.type==="checkbox"&&((T=(M=A[0])==null?void 0:M.target)==null?void 0:T.value)==="on"?A[0].target.checked:((O=(z=A[0])==null?void 0:z.target)==null?void 0:O.value)??A[0];S.onChange(w?w(P):P),c&&c(...A)}),E={...S,value:n?n(S.value):S.value,onBlur:_,onChange:k};return{id:r||x,field:E,fieldState:$,formState:j,isRequired:a||Oxe(d)}},"useInput"),Lxe=o(({allowCreate:e,choices:t,createText:n="ra.action.create",createValue:r="@@create",limitChoicesToValue:a,matchSuggestion:i,optionText:s,optionValue:c,selectedItem:l,suggestionLimit:u=0,translateChoice:d})=>{const p=nt(),{getChoiceText:m,getChoiceValue:v}=jE({optionText:s,optionValue:c,translateChoice:d}),h=g.useCallback(Fxe({allowCreate:e,choices:t,createText:n,createValue:r,getChoiceText:m,getChoiceValue:v,limitChoicesToValue:a,matchSuggestion:i,optionText:s,optionValue:c,selectedItem:l,suggestionLimit:u}),[e,t,n,r,m,v,a,i,s,c,l,u,p]);return{getChoiceText:m,getChoiceValue:v,getSuggestions:h}},"useSuggestions"),Dxe=o(e=>e?e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"):"","escapeRegExp"),Nxe=o(e=>(t,n,r=!1)=>{const a=e(n),i=g.isValidElement(a),s=Dxe(t);return i?!1:a&&!!a.match(new RegExp(r?`^${s}$`:s,"i"))},"defaultMatchSuggestion"),Fxe=o(({allowCreate:e=!1,choices:t=[],createText:n="ra.action.create",createValue:r="@@create",optionText:a="name",optionValue:i="id",getChoiceText:s,getChoiceValue:c,limitChoicesToValue:l=!1,matchSuggestion:u=Nxe(s),selectedItem:d,suggestionLimit:p=0})=>m=>{let v=[];d&&!Array.isArray(d)&&u(m,d)?l?v=t.filter(C=>c(C)===c(d)):v=[...t]:v=t.filter(C=>u(m,C)||d!=null&&(Array.isArray(d)?d.some(w=>c(C)===c(w)):c(C)===c(d))),v=Bxe(v,p);const h=v.some(C=>u(m,C,!0));if(e){const C=d&&!Array.isArray(d)?u(m,d,!0):!1;!h&&!C&&v.push(Wxe({optionText:a,optionValue:i,text:n,value:r}))}return v.filter((C,w)=>v.indexOf(C)===w)},"getSuggestionsFactory"),Bxe=o((e,t=0)=>Number.isInteger(t)&&t>0?e.slice(0,t):e,"limitSuggestions"),Wxe=o(({optionText:e="name",optionValue:t="id",text:n="",value:r=null})=>{const a={};return Ta(a,t,r),typeof e=="string"&&Ta(a,e,n),a},"getSuggestion"),Uxe=o(e=>{const{children:t,reference:n,sort:r={field:"id",order:"DESC"},filter:a={}}=e,i=lxe({...e,sort:r,filter:a});return f.jsx(qo,{value:n,children:f.jsx(pxe,{value:i,children:t})})},"ReferenceInputBase"),Hxe=o((e={})=>{const{disableAuthentication:t,id:n,queryOptions:r={}}=e;ip({enabled:!t});const a=Nt(e);if(!a)throw new Error("useShowController requires a non-empty resource prop or context");const i=ql(a),s=nt(),c=Kn(),l=ep(),u=ug(),{id:d}=F9();if(!d&&!n)throw new Error("useShowController requires an id prop or a route with an /:id? parameter.");const p=n??decodeURIComponent(d),{meta:m,...v}=r,{data:h,error:y,isLoading:C,isFetching:w,isPending:x,refetch:b}=G7(a,{id:p,meta:m},{onError:o(()=>{c("ra.notification.item_doesnt_exist",{type:"error"}),l("list",a),u()},"onError"),retry:!1,...v});if(h&&h.id&&h.id!=p)throw new Error(`useShowController: Fetched record's id attribute (${h.id}) must match the requested 'id' (${p})`);const S=ap(),$=i(h);return{defaultTitle:s("ra.page.show",{name:S(a,1),id:p,record:h,recordRepresentation:typeof $=="string"?$:""}),error:y,isLoading:C,isFetching:w,isPending:x,record:h,refetch:b,resource:a}},"useShowController"),$E=g.createContext(null);$E.displayName="ShowContext";const qxe=o(({children:e,value:t})=>f.jsx($E.Provider,{value:t,children:f.jsx(Qr,{value:t&&t.record,children:e})}),"ShowContextProvider"),YB=o(({children:e,...t})=>{const n=Hxe(t),r=f.jsx(qxe,{value:n,children:e});return t.resource?f.jsx(qo,{value:t.resource,children:r}):r},"ShowBase"),QB=o(()=>{const e=g.useContext($E);if(!e)throw new Error("useShowContext must be used inside a ShowContextProvider");return e},"useShowContext"),zx=o((e,t={},n={})=>{const r=Fi(),a=Ha(),i=g.useRef(t),s=g.useRef(!1),c=g.useRef(!1),l=g.useRef(!1),{getMutateWithMiddlewares:u,...d}=n,p=lx({mutationFn:o(({resource:h=e,data:y=i.current.data,meta:C=i.current.meta}={})=>{if(!h)throw new Error("useCreate mutation requires a non-empty resource");if(!y)throw new Error("useCreate mutation requires a non-empty data object");return u?u(r.create.bind(r))(h,{data:y,meta:C}).then(({data:x})=>x):r.create(h,{data:y,meta:C}).then(({data:w})=>w)},"mutationFn"),...d,onError:o((h,y,C)=>{if(n.onError&&!s.current)return n.onError(h,y,C)},"onError"),onSuccess:o((h,y={},C)=>{const{resource:w=e}=y;a.setQueryData([w,"getOne",{id:String(h.id)}],h),a.invalidateQueries({queryKey:[w,"getList"]}),a.invalidateQueries({queryKey:[w,"getInfiniteList"]}),a.invalidateQueries({queryKey:[w,"getMany"]}),a.invalidateQueries({queryKey:[w,"getManyReference"]}),n.onSuccess&&!c.current&&n.onSuccess(h,y,C)},"onSuccess"),onSettled:o((h,y,C,w)=>{if(n.onSettled&&!l.current)return n.onSettled(h,y,C,w)},"onSettled")}),m=o((h=e,y={},C={})=>{const{returnPromise:w=n.returnPromise,...x}=C;return s.current=!!x.onError,c.current=!!x.onSuccess,l.current=!!x.onSettled,w?p.mutateAsync({resource:h,...y},x):p.mutate({resource:h,...y},x)},"create"),v=g.useMemo(()=>({isLoading:p.isPending,...p}),[p]);return[zt(m),v]},"useCreate"),gg=o((e,t={},n={})=>{const r=Fi(),a=Ha(),{id:i,data:s,meta:c}=t,{mutationMode:l="pessimistic",getMutateWithMiddlewares:u,...d}=n,p=g.useRef(l),m=g.useRef(t),v=g.useRef([]),h=g.useRef(r.update),y=g.useRef(),C=g.useRef(),w=g.useRef(!1),x=o(({resource:j,id:_,data:k})=>{const E=Date.now(),A=p.current==="undoable"?E+5*1e3:E,P=o(M=>{if(!M)return M;const T=M.findIndex(z=>z.id==_);return T===-1?M:[...M.slice(0,T),{...M[T],...k},...M.slice(T+1)]},"updateColl");a.setQueryData([j,"getOne",{id:String(_),meta:c}],M=>({...M,...k}),{updatedAt:A}),a.setQueriesData({queryKey:[j,"getList"]},M=>M&&M.data?{...M,data:P(M.data)}:M,{updatedAt:A}),a.setQueriesData({queryKey:[j,"getInfiniteList"]},M=>M&&M.pages?{...M,pages:M.pages.map(T=>({...T,data:P(T.data)}))}:M,{updatedAt:A}),a.setQueriesData({queryKey:[j,"getMany"]},M=>M&&M.length>0?P(M):M,{updatedAt:A}),a.setQueriesData({queryKey:[j,"getManyReference"]},M=>M&&M.data?{data:P(M.data),total:M.total}:M,{updatedAt:A})},"updateCache"),b=lx({mutationFn:o(({resource:j=e,id:_=m.current.id,data:k=m.current.data,meta:E=m.current.meta,previousData:A=m.current.previousData}={})=>{if(!j)throw new Error("useUpdate mutation requires a non-empty resource");if(_==null)throw new Error("useUpdate mutation requires a non-empty id");if(!k)throw new Error("useUpdate mutation requires a non-empty data object");return h.current(j,{id:_,data:k,previousData:A,meta:E}).then(({data:P})=>P)},"mutationFn"),...d,onMutate:o(async j=>{if(d.onMutate){const _=await d.onMutate(j)||{};return{snapshot:v.current,..._}}else return{snapshot:v.current}},"onMutate"),onError:o((j,_={},k)=>{if((p.current==="optimistic"||p.current==="undoable")&&k.snapshot.forEach(([E,A])=>{a.setQueryData(E,A)}),y.current)return y.current(j,_,k);if(d.onError)return d.onError(j,_,k)},"onError"),onSuccess:o((j,_={},k)=>{if(p.current==="pessimistic"){const{resource:E=e,id:A=i}=_;x({resource:E,id:A,data:j}),d.onSuccess&&!w.current&&d.onSuccess(j,_,k)}},"onSuccess"),onSettled:o((j,_,k={},E)=>{if((p.current==="optimistic"||p.current==="undoable")&&E.snapshot.forEach(([A])=>{a.invalidateQueries({queryKey:A})}),C.current)return C.current(j,_,k,E);if(d.onSettled)return d.onSettled(j,_,k,E)},"onSettled")}),S=o(async(j=e,_={},k={})=>{const{mutationMode:E,returnPromise:A=d.returnPromise,onError:P,onSettled:M,onSuccess:T,...z}=k;if(u?h.current=u(r.update.bind(r)):h.current=r.update,w.current=!!T,y.current=P,C.current=M,m.current=t,E&&(p.current=E),A&&p.current!=="pessimistic"&&console.warn("The returnPromise parameter can only be used if the mutationMode is set to pessimistic"),p.current==="pessimistic")return A?b.mutateAsync({resource:j,..._},{onSuccess:T,...z}):b.mutate({resource:j,..._},{onSuccess:T,...z});const{id:O=i,data:N=s,meta:F=c}=_,I=a.getQueryData([j,"getOne",{id:String(O),meta:F}]),B=[[j,"getOne",{id:String(O),meta:F}],[j,"getList"],[j,"getInfiniteList"],[j,"getMany"],[j,"getManyReference"]];if(v.current=B.reduce((U,te)=>U.concat(a.getQueriesData({queryKey:te})),[]),await Promise.all(v.current.map(([U])=>a.cancelQueries({queryKey:U}))),x({resource:j,id:O,data:N}),setTimeout(()=>{T?T({...I,...N},{resource:j,..._},{snapshot:v.current}):d.onSuccess&&!w.current&&d.onSuccess({...I,...N},{resource:j,..._},{snapshot:v.current})},0),p.current==="optimistic")return b.mutate({resource:j,..._});mh.once("end",({isUndo:U})=>{U?v.current.forEach(([te,Z])=>{a.setQueryData(te,Z)}):b.mutate({resource:j,..._})})},"update"),$=g.useMemo(()=>({isLoading:b.isPending,...b}),[b]);return[zt(S),$]},"useUpdate"),_E=o((e,t={},n={})=>{const r=Fi(),a=Ha(),{id:i,previousData:s}=t,{mutationMode:c="pessimistic",...l}=n,u=g.useRef(c),d=g.useRef(t),p=g.useRef([]),m=g.useRef(!1),v=g.useRef(!1),h=g.useRef(!1),y=o(({resource:b,id:S})=>{const $=Date.now(),j=u.current==="undoable"?$+5*1e3:$,_=o(k=>{if(!k)return k;const E=k.findIndex(A=>A.id==S);return E===-1?k:[...k.slice(0,E),...k.slice(E+1)]},"updateColl");a.setQueriesData({queryKey:[b,"getList"]},k=>{if(!k||!k.data)return k;const E=_(k.data);return E.length<k.data.length?{data:E,total:k.total?k.total-1:void 0,pageInfo:k.pageInfo}:k},{updatedAt:j}),a.setQueriesData({queryKey:[b,"getInfiniteList"]},k=>!k||!k.pages?k:{...k,pages:k.pages.map(E=>{const A=_(E.data);return A.length<E.data.length?{...E,data:A,total:E.total?E.total-1:void 0,pageInfo:E.pageInfo}:E})},{updatedAt:j}),a.setQueriesData({queryKey:[b,"getMany"]},k=>k&&k.length>0?_(k):k,{updatedAt:j}),a.setQueriesData({queryKey:[b,"getManyReference"]},k=>{if(!k||!k.data)return k;const E=_(k.data);return E.length<k.data.length?{data:E,total:k.total-1}:k},{updatedAt:j})},"updateCache"),C=lx({mutationFn:o(({resource:b=e,id:S=d.current.id,previousData:$=d.current.previousData,meta:j=d.current.meta}={})=>{if(!b)throw new Error("useDelete mutation requires a non-empty resource");if(S==null)throw new Error("useDelete mutation requires a non-empty id");return r.delete(b,{id:S,previousData:$,meta:j}).then(({data:_})=>_)},"mutationFn"),...l,onMutate:o(async b=>{if(l.onMutate){const S=await l.onMutate(b)||{};return{snapshot:p.current,...S}}else return{snapshot:p.current}},"onMutate"),onError:o((b,S={},$)=>{if((u.current==="optimistic"||u.current==="undoable")&&$.snapshot.forEach(([j,_])=>{a.setQueryData(j,_)}),l.onError&&!m.current)return l.onError(b,S,$)},"onError"),onSuccess:o((b,S={},$)=>{if(u.current==="pessimistic"){const{resource:j=e,id:_=i}=S;y({resource:j,id:_}),l.onSuccess&&!v.current&&l.onSuccess(b,S,$)}},"onSuccess"),onSettled:o((b,S,$={},j)=>{if((u.current==="optimistic"||u.current==="undoable")&&j.snapshot.forEach(([_])=>{a.invalidateQueries({queryKey:_})}),l.onSettled&&!h.current)return l.onSettled(b,S,$,j)},"onSettled")}),w=o(async(b=e,S={},$={})=>{const{mutationMode:j,..._}=$;if(m.current=!!$.onError,v.current=!!$.onSuccess,h.current=!!$.onSettled,d.current=t,j&&(u.current=j),u.current==="pessimistic")return C.mutate({resource:b,...S},_);const{id:k=i,previousData:E=s}=S,A=[[b,"getList"],[b,"getInfiniteList"],[b,"getMany"],[b,"getManyReference"]];if(p.current=A.reduce((P,M)=>P.concat(a.getQueriesData({queryKey:M})),[]),await Promise.all(p.current.map(([P])=>a.cancelQueries({queryKey:P}))),y({resource:b,id:k}),setTimeout(()=>{$.onSuccess?$.onSuccess(E,{resource:b,...S},{snapshot:p.current}):l.onSuccess&&l.onSuccess(E,{resource:b,...S},{snapshot:p.current})},0),u.current==="optimistic")return C.mutate({resource:b,...S},{onSettled:$.onSettled,onError:$.onError});mh.once("end",({isUndo:P})=>{P?p.current.forEach(([M,T])=>{a.setQueryData(M,T)}):C.mutate({resource:b,...S},{onSettled:$.onSettled,onError:$.onError})})},"mutate"),x=g.useMemo(()=>({isLoading:C.isPending,...C}),[C]);return[zt(w),x]},"useDelete"),XB=o((e,t={},n={})=>{const r=Fi(),a=Ha(),{ids:i}=t,{mutationMode:s="pessimistic",...c}=n,l=g.useRef(s),u=g.useRef({}),d=g.useRef([]),p=g.useRef(!1),m=g.useRef(!1),v=g.useRef(!1),h=o(({resource:x,ids:b})=>{const S=Date.now(),$=l.current==="undoable"?S+5*1e3:S,j=o(_=>{if(!_)return _;let k=[..._];return b.forEach(E=>{const A=k.findIndex(P=>P.id==E);A!==-1&&(k=[...k.slice(0,A),...k.slice(A+1)])}),k},"updateColl");a.setQueriesData({queryKey:[x,"getList"]},_=>{if(!_||!_.data)return _;const k=j(_.data);return k.length<_.data.length?{data:k,total:_.total?_.total-(_.data.length-k.length):void 0,pageInfo:_.pageInfo}:_},{updatedAt:$}),a.setQueriesData({queryKey:[x,"getInfiniteList"]},_=>!_||!_.pages?_:{..._,pages:_.pages.map(k=>{const E=j(k.data);return E.length<k.data.length?{...k,data:E,total:k.total?k.total-(k.data.length-E.length):void 0,pageInfo:k.pageInfo}:k})},{updatedAt:$}),a.setQueriesData({queryKey:[x,"getMany"]},_=>_&&_.length>0?j(_):_,{updatedAt:$}),a.setQueriesData({queryKey:[x,"getManyReference"]},_=>{if(!_||!_.data)return _;const k=j(_.data);if(!(k.length<_.data.length))return _;if(_.total)return{data:k,total:_.total-(_.data.length-k.length)};if(_.pageInfo)return{data:k,pageInfo:_.pageInfo};throw new Error("Found getList result in cache without total or pageInfo")},{updatedAt:$})},"updateCache"),y=lx({mutationFn:o(({resource:x=e,ids:b=u.current.ids,meta:S=u.current.meta}={})=>{if(!x)throw new Error("useDeleteMany mutation requires a non-empty resource");if(!b)throw new Error("useDeleteMany mutation requires an array of ids");return b.length===0?Promise.resolve([]):r.deleteMany(x,{ids:b,meta:S}).then(({data:$})=>$||[])},"mutationFn"),...c,onMutate:o(async x=>{if(c.onMutate){const b=await c.onMutate(x)||{};return{snapshot:d.current,...b}}else return{snapshot:d.current}},"onMutate"),onError:o((x,b={},S)=>{if((l.current==="optimistic"||l.current==="undoable")&&S.snapshot.forEach(([$,j])=>{a.setQueryData($,j)}),c.onError&&!p.current)return c.onError(x,b,S)},"onError"),onSuccess:o((x,b={},S)=>{if(l.current==="pessimistic"){const{resource:$=e,ids:j=i}=b;h({resource:$,ids:j}),c.onSuccess&&!m.current&&c.onSuccess(x,b,S)}},"onSuccess"),onSettled:o((x,b,S={},$)=>{if((l.current==="optimistic"||l.current==="undoable")&&$.snapshot.forEach(([j])=>{a.invalidateQueries({queryKey:j})}),c.onSettled&&!v.current)return c.onSettled(x,b,S,$)},"onSettled")}),C=o(async(x=e,b={},S={})=>{const{mutationMode:$,...j}=S;if(p.current=!!S.onError,m.current=!!S.onSuccess,v.current=!!S.onSettled,u.current=t,$&&(l.current=$),l.current==="pessimistic")return y.mutate({resource:x,...b},{onSuccess:j.onSuccess,onSettled:j.onSettled,onError:j.onError});const{ids:_=i}=b;if(!_)throw new Error("useDeleteMany mutation requires an array of ids");const k=[[x,"getList"],[x,"getInfiniteList"],[x,"getMany"],[x,"getManyReference"]];if(d.current=k.reduce((E,A)=>E.concat(a.getQueriesData({queryKey:A})),[]),await Promise.all(d.current.map(([E])=>a.cancelQueries({queryKey:E}))),h({resource:x,ids:_}),setTimeout(()=>{j.onSuccess?j.onSuccess(_,{resource:x,...b},{snapshot:d.current}):c.onSuccess&&c.onSuccess(_,{resource:x,...b},{snapshot:d.current})},0),l.current==="optimistic")return y.mutate({resource:x,...b},{onSettled:j.onSettled,onError:j.onError});mh.once("end",({isUndo:E})=>{E?d.current.forEach(([A,P])=>{a.setQueryData(A,P)}):y.mutate({resource:x,...b},{onSettled:j.onSettled,onError:j.onError})})},"mutate"),w=g.useMemo(()=>({isLoading:y.isPending,...y}),[y]);return[zt(C),w]},"useDeleteMany"),ZB=g.createContext(void 0),Vxe=o(({children:e})=>{const[t,n]=g.useState(!1),[r,a]=g.useState(null),[i,s]=g.useState(null),[c,l]=g.useState(null),[u,d]=g.useState(null),[p,m]=g.useState(),v=g.useCallback(()=>n(!0),[]),h=g.useCallback(()=>{n(!1),a(null)},[]),y=g.useCallback((w,x)=>{d(w),m(x)},[]),C=g.useMemo(()=>({editor:r,setEditor:a,preferenceKey:i,setPreferenceKey:s,title:u,titleOptions:p,setTitle:y,isEnabled:t,disable:h,enable:v,path:c,setPath:l}),[h,v,r,i,t,c,l,u,p,y]);return f.jsx(ZB.Provider,{value:C,children:e})},"PreferencesEditorContextProvider"),eW=g.createContext({definitions:{},register:o(()=>{},"register"),unregister:o(()=>{},"unregister")}),Gxe=o(({definitions:e={},children:t})=>{const[n,r]=g.useState(e),a=g.useCallback(c=>{r(l=>va(l[c.name],c)?l:{...l,[c.name]:c})},[]),i=g.useCallback(c=>{r(l=>{const{[c.name]:u,...d}=l;return d})},[]),s=g.useMemo(()=>({definitions:n,register:a,unregister:i}),[n]);return f.jsx(eW.Provider,{value:s,children:t})},"ResourceDefinitionContextProvider"),Kxe=i7(),Jxe=o(e=>{const{authProvider:t,basename:n,dataProvider:r=tE,i18nProvider:a,store:i=Kxe,children:s,queryClient:c}=e;if(!r)throw new Error(`Missing dataProvider prop. +React-admin requires a valid dataProvider function to work.`);const l=g.useMemo(()=>c||new Zte,[c]),u=g.useMemo(()=>t instanceof Function?V1e(t):t,[t]),d=g.useMemo(()=>r instanceof Function?Bge(r):r,[r]);return f.jsx(jk.Provider,{value:u,children:f.jsx(nE.Provider,{value:d,children:f.jsx(Dse,{value:i,children:f.jsx(Vxe,{children:f.jsx(ane,{client:l,children:f.jsx(ege,{basename:n,children:f.jsx(yde,{value:a,children:f.jsx(gde,{children:f.jsx(Gxe,{children:s})})})})})})})})})},"CoreAdminContext"),Yxe=g.createContext(null),N2={didCatch:!1,error:null},$8=class $8 extends g.Component{constructor(t){super(t),this.resetErrorBoundary=this.resetErrorBoundary.bind(this),this.state=N2}static getDerivedStateFromError(t){return{didCatch:!0,error:t}}resetErrorBoundary(){const{error:t}=this.state;if(t!==null){for(var n,r,a=arguments.length,i=new Array(a),s=0;s<a;s++)i[s]=arguments[s];(n=(r=this.props).onReset)===null||n===void 0||n.call(r,{args:i,reason:"imperative-api"}),this.setState(N2)}}componentDidCatch(t,n){var r,a;(r=(a=this.props).onError)===null||r===void 0||r.call(a,t,n)}componentDidUpdate(t,n){const{didCatch:r}=this.state,{resetKeys:a}=this.props;if(r&&n.error!==null&&Qxe(t.resetKeys,a)){var i,s;(i=(s=this.props).onReset)===null||i===void 0||i.call(s,{next:a,prev:t.resetKeys,reason:"keys"}),this.setState(N2)}}render(){const{children:t,fallbackRender:n,FallbackComponent:r,fallback:a}=this.props,{didCatch:i,error:s}=this.state;let c=t;if(i){const l={error:s,resetErrorBoundary:this.resetErrorBoundary};if(typeof n=="function")c=n(l);else if(r)c=g.createElement(r,l);else if(a===null||g.isValidElement(a))c=a;else throw s}return g.createElement(Yxe.Provider,{value:{didCatch:i,error:s,resetErrorBoundary:this.resetErrorBoundary}},c)}};o($8,"ErrorBoundary");let gh=$8;function Qxe(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];return e.length!==t.length||e.some((n,r)=>!Object.is(n,t[r]))}o(Qxe,"hasArrayChanged");const tW=o(()=>g.useContext(eW),"useResourceDefinitionContext"),Xxe=o(e=>{const{permissions:t,isPending:n}=jW(),[r,a]=Zxe(e,t,n);return t1e(r.resources,t),{customRoutesWithLayout:r.customRoutesWithLayout,customRoutesWithoutLayout:r.customRoutesWithoutLayout,status:a,resources:r.resources}},"useConfigureAdminRouterFromChildren"),Zxe=o((e,t,n)=>{const r=op(),[a,i,s]=e1e(pm(e)),[c,l]=ao(()=>n1e({children:e,...a}));if(!c)throw new Error("Status should be defined");return g.useEffect(()=>{const u=o(async p=>{try{const m=p(t);m!=null&&m.then?m.then(v=>{s(pm(v)),l("ready")}):(s(pm(m)),l("ready"))}catch(m){console.error(m),r()}},"resolveChildFunction");n||o(async()=>{const p=nW(e),m=pm(e);i(m),l(p?"loading":m.resources.length>0||m.customRoutesWithLayout.length>0||m.customRoutesWithoutLayout.length>0?"ready":"empty"),p&&u(p)},"updateFromChildren")()},[e,r,n,s,t,i,l]),[a,c]},"useRoutesAndResourcesFromChildren"),e1e=o(e=>{const[t,n]=g.useState(e),r=g.useCallback(a=>{n(i=>({customRoutesWithLayout:i.customRoutesWithLayout.concat(a.customRoutesWithLayout),customRoutesWithoutLayout:i.customRoutesWithoutLayout.concat(a.customRoutesWithoutLayout),resources:i.resources.concat(a.resources)}))},[]);return[t,n,r]},"useRoutesAndResourcesState"),t1e=o((e,t)=>{const{register:n,unregister:r}=tW();g.useEffect(()=>(e.forEach(a=>{if(typeof a.type.registerResource=="function"){const i=a.type.registerResource(a.props,t);n(i)}else throw new Error("When using a custom Resource element, it must have a static registerResource method accepting its props and returning a ResourceDefinition")}),()=>{e.forEach(a=>{if(typeof a.type.registerResource=="function"){const i=a.type.registerResource(a.props,t);r(i)}else throw new Error("When using a custom Resource element, it must have a static registerResource method accepting its props and returning a ResourceDefinition")})}),[t,n,e,r])},"useRegisterResources"),n1e=o(({children:e,resources:t,customRoutesWithLayout:n,customRoutesWithoutLayout:r})=>nW(e)?"loading":t.length>0||n.length>0||r.length>0?"ready":"empty","getStatus"),nW=o(e=>{const n=(Array.isArray(e)?e:[e]).filter(r=>typeof r=="function");if(n.length>1)throw new Error("You can only provide one function child to AdminRouter");return n.length===0?null:n[0]},"getSingleChildFunction"),pm=o(e=>{const t=[],n=[],r=[];return typeof e=="function"?{customRoutesWithLayout:[],customRoutesWithoutLayout:[],resources:[]}:(g.Children.forEach(e,a=>{if(g.isValidElement(a)){if(a.type===g.Fragment){const i=pm(a.props.children);t.push(...i.customRoutesWithLayout),n.push(...i.customRoutesWithoutLayout),r.push(...i.resources)}if(a.type.raName==="CustomRoutes"){const i=a;i.props.noLayout?n.push(i.props.children):t.push(i.props.children)}else a.type.raName==="Resource"&&r.push(a)}}),{customRoutesWithLayout:t,customRoutesWithoutLayout:n,resources:r})},"getRoutesAndResourceFromNodes"),rW=g.createContext(!1),r1e=rW.Provider,a1e=o(()=>g.useContext(rW),"useHasDashboard"),o1e=o(e=>{Age();const t=Ho(),{customRoutesWithLayout:n,customRoutesWithoutLayout:r,status:a,resources:i}=Xxe(e.children),{layout:s,catchAll:c,dashboard:l,loading:u,requireAuth:d,ready:p}=e,[m,v]=g.useState(d),[h,y]=g.useState(d),C=$W();if(g.useEffect(()=>{d&&C(void 0,!1).then(()=>{v(!1)}).catch(()=>{}).finally(()=>{y(!1)})},[C,d]),a==="empty"){if(!p)throw new Error("The admin is empty. Please provide an empty component, or pass Resource or CustomRoutes as children.");return f.jsx(p,{})}return a==="loading"||h?f.jsxs(Gu,{children:[r,f.jsx(da,{path:"*",element:f.jsx("div",{style:{height:"100vh"},children:f.jsx(u,{})})})]}):m?f.jsxs(Gu,{children:[r,f.jsx(da,{path:"*",element:f.jsx(G1e,{})})]}):f.jsxs(Gu,{children:[r,f.jsx(da,{path:"/*",element:f.jsx(r1e,{value:!!l,children:f.jsx(s,{children:f.jsxs(Gu,{children:[n,g.Children.map(i,w=>f.jsx(da,{path:`${w.props.name}/*`,element:w},w.props.name)),f.jsx(da,{path:"/",element:l?f.jsx(N1e,{authParams:i1e,component:l}):i.length>0?f.jsx(xre,{to:t({resource:i[0].props.name,type:"list"})}):null}),f.jsx(da,{path:"*",element:f.jsx(c,{})})]})})})})]})},"CoreAdminRoutes"),i1e={params:{route:"dashboard"}},aW=g.createContext("React Admin"),s1e=aW.Provider,oW=o(()=>g.useContext(aW),"useDefaultTitle"),c1e=o(({children:e})=>f.jsx(f.Fragment,{children:e}),"DefaultLayout"),l1e=o(({error:e,errorInfo:t,resetErrorBoundary:n})=>(W7(n),f.jsxs("div",{children:[f.jsx("h1",{children:"Error"}),f.jsxs("pre",{children:[e.message,t==null?void 0:t.componentStack]})]})),"DefaultError"),u1e=o(e=>{const[t,n]=g.useState({}),{authCallbackPage:r=!1,catchAll:a=DO,children:i,dashboard:s,disableTelemetry:c=!1,error:l=l1e,layout:u=c1e,loading:d=DO,loginPage:p=!1,ready:m=$1e,requireAuth:v=!1,title:h="React Admin"}=e;g.useEffect(()=>{if(c||typeof window>"u"||typeof window.location>"u"||typeof Image>"u")return;const C=new Image;C.src=`https://react-admin-telemetry.marmelab.com/react-admin-telemetry?domain=${window.location.hostname}`},[c]);const y=o((C,w)=>n(w),"handleError");return f.jsx(s1e,{value:h,children:f.jsx(gh,{onError:y,fallbackRender:o(({error:C,resetErrorBoundary:w})=>f.jsx("div",{style:{minHeight:"100vh"},children:f.jsx(l,{error:C,errorInfo:t,resetErrorBoundary:w})}),"fallbackRender"),children:f.jsxs(Gu,{children:[p!==!1&&p!==!0?f.jsx(da,{path:"/login",element:LO(p)}):null,r!==!1&&r!==!0?f.jsx(da,{path:"/auth-callback",element:LO(r)}):null,f.jsx(da,{path:"/*",element:f.jsx(o1e,{catchAll:a,dashboard:s,layout:u,loading:d,requireAuth:v,ready:m,children:i})})]})})})},"CoreAdminUI"),LO=o(e=>g.isValidElement(e)?e:g.createElement(e),"createOrGetElement"),DO=o(()=>null,"Noop$1"),iW=g.createContext(void 0),qo=o(({children:e,value:t})=>t?f.jsx(iW.Provider,{value:t,children:e}):e,"ResourceContextProvider"),d1e=o(({value:e,children:t})=>e?f.jsx(qo,{value:e,children:t}):t,"OptionalResourceContextProvider");var sW={exports:{}},nn={};/** + * @license React + * react-is.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var kE=Symbol.for("react.element"),EE=Symbol.for("react.portal"),Ix=Symbol.for("react.fragment"),Lx=Symbol.for("react.strict_mode"),Dx=Symbol.for("react.profiler"),Nx=Symbol.for("react.provider"),Fx=Symbol.for("react.context"),f1e=Symbol.for("react.server_context"),Bx=Symbol.for("react.forward_ref"),Wx=Symbol.for("react.suspense"),Ux=Symbol.for("react.suspense_list"),Hx=Symbol.for("react.memo"),qx=Symbol.for("react.lazy"),p1e=Symbol.for("react.offscreen"),cW;cW=Symbol.for("react.module.reference");function Co(e){if(typeof e=="object"&&e!==null){var t=e.$$typeof;switch(t){case kE:switch(e=e.type,e){case Ix:case Dx:case Lx:case Wx:case Ux:return e;default:switch(e=e&&e.$$typeof,e){case f1e:case Fx:case Bx:case qx:case Hx:case Nx:return e;default:return t}}case EE:return t}}}o(Co,"v$6");nn.ContextConsumer=Fx;nn.ContextProvider=Nx;nn.Element=kE;nn.ForwardRef=Bx;nn.Fragment=Ix;nn.Lazy=qx;nn.Memo=Hx;nn.Portal=EE;nn.Profiler=Dx;nn.StrictMode=Lx;nn.Suspense=Wx;nn.SuspenseList=Ux;nn.isAsyncMode=function(){return!1};nn.isConcurrentMode=function(){return!1};nn.isContextConsumer=function(e){return Co(e)===Fx};nn.isContextProvider=function(e){return Co(e)===Nx};nn.isElement=function(e){return typeof e=="object"&&e!==null&&e.$$typeof===kE};nn.isForwardRef=function(e){return Co(e)===Bx};nn.isFragment=function(e){return Co(e)===Ix};nn.isLazy=function(e){return Co(e)===qx};nn.isMemo=function(e){return Co(e)===Hx};nn.isPortal=function(e){return Co(e)===EE};nn.isProfiler=function(e){return Co(e)===Dx};nn.isStrictMode=function(e){return Co(e)===Lx};nn.isSuspense=function(e){return Co(e)===Wx};nn.isSuspenseList=function(e){return Co(e)===Ux};nn.isValidElementType=function(e){return typeof e=="string"||typeof e=="function"||e===Ix||e===Dx||e===Lx||e===Wx||e===Ux||e===p1e||typeof e=="object"&&e!==null&&(e.$$typeof===qx||e.$$typeof===Hx||e.$$typeof===Nx||e.$$typeof===Fx||e.$$typeof===Bx||e.$$typeof===cW||e.getModuleId!==void 0)};nn.typeOf=Co;sW.exports=nn;var Pb=sW.exports;const ni=o(e=>{const{create:t,edit:n,list:r,name:a,show:i}=e;return f.jsx(qo,{value:a,children:f.jsxs(Gu,{children:[t&&f.jsx(da,{path:"create/*",element:vv(t)}),i&&f.jsx(da,{path:":id/show/*",element:vv(i)}),n&&f.jsx(da,{path:":id/*",element:vv(n)}),r&&f.jsx(da,{path:"/*",element:f.jsx(Rge,{storeKey:`${a}.list.scrollPosition`,children:vv(r)})}),e.children]})})},"Resource"),vv=o(e=>{if(g.isValidElement(e))return e;if(Pb.isValidElementType(e)){const t=e;return f.jsx(t,{})}return null},"getElement");ni.raName="Resource";ni.registerResource=({create:e,edit:t,icon:n,list:r,name:a,options:i,show:s,recordRepresentation:c,hasCreate:l,hasEdit:u,hasShow:d})=>({name:a,options:i,hasList:!!r,hasCreate:!!e||!!l,hasEdit:!!t||!!u,hasShow:!!s||!!d,icon:n,recordRepresentation:c});const RE=g.createContext(void 0),m1e={getSource:o(e=>e,"getSource"),getLabel:o(e=>e,"getLabel")},AE=RE.Provider,h1e=o(()=>{const e=g.useContext(RE);return e||m1e},"useSourceContext"),g1e=o(()=>g.useContext(RE),"useOptionalSourceContext"),Vx=o(()=>tW().definitions,"useResourceDefinitions");var Yt={};/*! + * inflection + * Copyright(c) 2011 Ben Lin <ben@dreamerslab.com> + * MIT Licensed + * + * @fileoverview + * A port of inflection-js to node.js module. + */Object.defineProperty(Yt,"__esModule",{value:!0});var lW=Yt.transform=Yt.ordinalize=Yt.foreignKey=Yt.classify=Yt.tableize=Yt.demodulize=Yt.titleize=Yt.dasherize=hW=Yt.capitalize=Jx=Yt.humanize=Yt.underscore=Yt.camelize=pW=Yt.inflect=Gx=Yt.singularize=Ju=Yt.pluralize=void 0;const Mb=["accommodation","adulthood","advertising","advice","aggression","aid","air","aircraft","alcohol","anger","applause","arithmetic","assistance","athletics","bacon","baggage","beef","biology","blood","botany","bread","butter","carbon","cardboard","cash","chalk","chaos","chess","crossroads","countryside","dancing","deer","dignity","dirt","dust","economics","education","electricity","engineering","enjoyment","envy","equipment","ethics","evidence","evolution","fame","fiction","flour","flu","food","fuel","fun","furniture","gallows","garbage","garlic","genetics","gold","golf","gossip","gratitude","grief","guilt","gymnastics","happiness","hardware","harm","hate","hatred","health","heat","help","homework","honesty","honey","hospitality","housework","humour","hunger","hydrogen","ice","importance","inflation","information","innocence","iron","irony","jam","jewelry","judo","karate","knowledge","lack","laughter","lava","leather","leisure","lightning","linguine","linguini","linguistics","literature","litter","livestock","logic","loneliness","luck","luggage","macaroni","machinery","magic","management","mankind","marble","mathematics","mayonnaise","measles","methane","milk","minus","money","mud","music","mumps","nature","news","nitrogen","nonsense","nurture","nutrition","obedience","obesity","oxygen","pasta","patience","physics","poetry","pollution","poverty","pride","psychology","publicity","punctuation","quartz","racism","relaxation","reliability","research","respect","revenge","rice","rubbish","rum","safety","scenery","seafood","seaside","series","shame","sheep","shopping","sleep","smoke","smoking","snow","soap","software","soil","spaghetti","species","steam","stuff","stupidity","sunshine","symmetry","tennis","thirst","thunder","timber","traffic","transportation","trust","underwear","unemployment","unity","validity","veal","vegetation","vegetarianism","vengeance","violence","vitality","warmth","wealth","weather","welfare","wheat","wildlife","wisdom","yoga","zinc","zoology"],ge={plural:{men:new RegExp("^(m|wom)en$","gi"),people:new RegExp("(pe)ople$","gi"),children:new RegExp("(child)ren$","gi"),tia:new RegExp("([ti])a$","gi"),analyses:new RegExp("((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)ses$","gi"),databases:new RegExp("(database)s$","gi"),drives:new RegExp("(drive)s$","gi"),hives:new RegExp("(hi|ti)ves$","gi"),curves:new RegExp("(curve)s$","gi"),lrves:new RegExp("([lr])ves$","gi"),aves:new RegExp("([a])ves$","gi"),foves:new RegExp("([^fo])ves$","gi"),movies:new RegExp("(m)ovies$","gi"),aeiouyies:new RegExp("([^aeiouy]|qu)ies$","gi"),series:new RegExp("(s)eries$","gi"),xes:new RegExp("(x|ch|ss|sh)es$","gi"),mice:new RegExp("([m|l])ice$","gi"),buses:new RegExp("(bus)es$","gi"),oes:new RegExp("(o)es$","gi"),shoes:new RegExp("(shoe)s$","gi"),crises:new RegExp("(cris|ax|test)es$","gi"),octopuses:new RegExp("(octop|vir)uses$","gi"),aliases:new RegExp("(alias|canvas|status|campus)es$","gi"),summonses:new RegExp("^(summons|bonus)es$","gi"),oxen:new RegExp("^(ox)en","gi"),matrices:new RegExp("(matr)ices$","gi"),vertices:new RegExp("(vert|ind)ices$","gi"),feet:new RegExp("^feet$","gi"),teeth:new RegExp("^teeth$","gi"),geese:new RegExp("^geese$","gi"),quizzes:new RegExp("(quiz)zes$","gi"),whereases:new RegExp("^(whereas)es$","gi"),criteria:new RegExp("^(criteri)a$","gi"),genera:new RegExp("^genera$","gi"),ss:new RegExp("ss$","gi"),s:new RegExp("s$","gi")},singular:{man:new RegExp("^(m|wom)an$","gi"),person:new RegExp("(pe)rson$","gi"),child:new RegExp("(child)$","gi"),drive:new RegExp("(drive)$","gi"),ox:new RegExp("^(ox)$","gi"),axis:new RegExp("(ax|test)is$","gi"),octopus:new RegExp("(octop|vir)us$","gi"),alias:new RegExp("(alias|status|canvas|campus)$","gi"),summons:new RegExp("^(summons|bonus)$","gi"),bus:new RegExp("(bu)s$","gi"),buffalo:new RegExp("(buffal|tomat|potat)o$","gi"),tium:new RegExp("([ti])um$","gi"),sis:new RegExp("sis$","gi"),ffe:new RegExp("(?:([^f])fe|([lr])f)$","gi"),hive:new RegExp("(hi|ti)ve$","gi"),aeiouyy:new RegExp("([^aeiouy]|qu)y$","gi"),x:new RegExp("(x|ch|ss|sh)$","gi"),matrix:new RegExp("(matr)ix$","gi"),vertex:new RegExp("(vert|ind)ex$","gi"),mouse:new RegExp("([m|l])ouse$","gi"),foot:new RegExp("^foot$","gi"),tooth:new RegExp("^tooth$","gi"),goose:new RegExp("^goose$","gi"),quiz:new RegExp("(quiz)$","gi"),whereas:new RegExp("^(whereas)$","gi"),criterion:new RegExp("^(criteri)on$","gi"),genus:new RegExp("^genus$","gi"),s:new RegExp("s$","gi"),common:new RegExp("$","gi")}},uW=[[ge.plural.men],[ge.plural.people],[ge.plural.children],[ge.plural.tia],[ge.plural.analyses],[ge.plural.databases],[ge.plural.drives],[ge.plural.hives],[ge.plural.curves],[ge.plural.lrves],[ge.plural.foves],[ge.plural.aeiouyies],[ge.plural.series],[ge.plural.movies],[ge.plural.xes],[ge.plural.mice],[ge.plural.buses],[ge.plural.oes],[ge.plural.shoes],[ge.plural.crises],[ge.plural.octopuses],[ge.plural.aliases],[ge.plural.summonses],[ge.plural.oxen],[ge.plural.matrices],[ge.plural.feet],[ge.plural.teeth],[ge.plural.geese],[ge.plural.quizzes],[ge.plural.whereases],[ge.plural.criteria],[ge.plural.genera],[ge.singular.man,"$1en"],[ge.singular.person,"$1ople"],[ge.singular.child,"$1ren"],[ge.singular.drive,"$1s"],[ge.singular.ox,"$1en"],[ge.singular.axis,"$1es"],[ge.singular.octopus,"$1uses"],[ge.singular.alias,"$1es"],[ge.singular.summons,"$1es"],[ge.singular.bus,"$1ses"],[ge.singular.buffalo,"$1oes"],[ge.singular.tium,"$1a"],[ge.singular.sis,"ses"],[ge.singular.ffe,"$1$2ves"],[ge.singular.hive,"$1ves"],[ge.singular.aeiouyy,"$1ies"],[ge.singular.matrix,"$1ices"],[ge.singular.vertex,"$1ices"],[ge.singular.x,"$1es"],[ge.singular.mouse,"$1ice"],[ge.singular.foot,"feet"],[ge.singular.tooth,"teeth"],[ge.singular.goose,"geese"],[ge.singular.quiz,"$1zes"],[ge.singular.whereas,"$1es"],[ge.singular.criterion,"$1a"],[ge.singular.genus,"genera"],[ge.singular.s,"s"],[ge.singular.common,"s"]],dW=[[ge.singular.man],[ge.singular.person],[ge.singular.child],[ge.singular.drive],[ge.singular.ox],[ge.singular.axis],[ge.singular.octopus],[ge.singular.alias],[ge.singular.summons],[ge.singular.bus],[ge.singular.buffalo],[ge.singular.tium],[ge.singular.sis],[ge.singular.ffe],[ge.singular.hive],[ge.singular.aeiouyy],[ge.singular.x],[ge.singular.matrix],[ge.singular.mouse],[ge.singular.foot],[ge.singular.tooth],[ge.singular.goose],[ge.singular.quiz],[ge.singular.whereas],[ge.singular.criterion],[ge.singular.genus],[ge.plural.men,"$1an"],[ge.plural.people,"$1rson"],[ge.plural.children,"$1"],[ge.plural.databases,"$1"],[ge.plural.drives,"$1"],[ge.plural.genera,"genus"],[ge.plural.criteria,"$1on"],[ge.plural.tia,"$1um"],[ge.plural.analyses,"$1$2sis"],[ge.plural.hives,"$1ve"],[ge.plural.curves,"$1"],[ge.plural.lrves,"$1f"],[ge.plural.aves,"$1ve"],[ge.plural.foves,"$1fe"],[ge.plural.movies,"$1ovie"],[ge.plural.aeiouyies,"$1y"],[ge.plural.series,"$1eries"],[ge.plural.xes,"$1"],[ge.plural.mice,"$1ouse"],[ge.plural.buses,"$1"],[ge.plural.oes,"$1"],[ge.plural.shoes,"$1"],[ge.plural.crises,"$1is"],[ge.plural.octopuses,"$1us"],[ge.plural.aliases,"$1"],[ge.plural.summonses,"$1"],[ge.plural.oxen,"$1"],[ge.plural.matrices,"$1ix"],[ge.plural.vertices,"$1ex"],[ge.plural.feet,"foot"],[ge.plural.teeth,"tooth"],[ge.plural.geese,"goose"],[ge.plural.quizzes,"$1"],[ge.plural.whereases,"$1"],[ge.plural.ss,"ss"],[ge.plural.s,""]],v1e=["and","or","nor","a","an","the","so","but","to","of","at","by","from","into","on","onto","off","out","in","over","with","for"],y1e=new RegExp("(_ids|_id)$","g"),fW=new RegExp("_","g"),b1e=new RegExp("[ _]","g"),x1e=new RegExp("([A-Z])","g"),w1e=new RegExp("^_");function Tb(e,t,n,r){if(r)return r;if(n.includes(e.toLocaleLowerCase()))return e;for(const a of t)if(e.match(a[0]))return a[1]!==void 0?e.replace(a[0],a[1]):e;return e}o(Tb,"applyRules");function PE(e,t){return Tb(e,uW,Mb,t)}o(PE,"pluralize");var Ju=Yt.pluralize=PE;function ME(e,t){return Tb(e,dW,Mb,t)}o(ME,"singularize");var Gx=Yt.singularize=ME;function C1e(e,t,n,r){return isNaN(t)?e:t===1?Tb(e,dW,Mb,n):Tb(e,uW,Mb,r)}o(C1e,"inflect");var pW=Yt.inflect=C1e;function TE(e,t){const n=e.split("/"),r=n.length;let a,i,s,c;for(let l=0;l<r;l++){for(a=n[l].split("_"),i=0,s=a.length;i<s;i++)i!==0&&(a[i]=a[i].toLowerCase()),c=a[i].charAt(0),c=t&&l===0&&i===0?c.toLowerCase():c.toUpperCase(),a[i]=c+a[i].substring(1);n[l]=a.join("")}return n.join("::")}o(TE,"camelize");Yt.camelize=TE;function Kx(e,t){if(t&&e===e.toUpperCase())return e;const n=e.split("::"),r=n.length;for(let a=0;a<r;a++)n[a]=n[a].replace(x1e,"_$1"),n[a]=n[a].replace(w1e,"");return n.join("/").toLowerCase()}o(Kx,"underscore");Yt.underscore=Kx;function mW(e,t){return e=e.toLowerCase(),e=e.replace(y1e,""),e=e.replace(fW," "),t||(e=Yx(e)),e}o(mW,"humanize");var Jx=Yt.humanize=mW;function Yx(e){return e=e.toLowerCase(),e.substring(0,1).toUpperCase()+e.substring(1)}o(Yx,"capitalize$2");var hW=Yt.capitalize=Yx;function gW(e){return e.replace(b1e,"-")}o(gW,"dasherize");Yt.dasherize=gW;function vW(e){e=e.toLowerCase().replace(fW," ");const t=e.split(" "),n=t.length;let r,a;for(let i=0;i<n;i++){r=t[i].split("-"),a=r.length;for(let s=0;s<a;s++)v1e.indexOf(r[s].toLowerCase())<0&&(r[s]=Yx(r[s]));t[i]=r.join("-")}return e=t.join(" "),e=e.substring(0,1).toUpperCase()+e.substring(1),e}o(vW,"titleize");Yt.titleize=vW;function OE(e){const t=e.split("::");return t[t.length-1]}o(OE,"demodulize");Yt.demodulize=OE;function yW(e){return e=Kx(e),e=PE(e),e}o(yW,"tableize");Yt.tableize=yW;function bW(e){return e=TE(e),e=ME(e),e}o(bW,"classify");Yt.classify=bW;function xW(e,t){return e=OE(e),e=Kx(e)+(t?"":"_")+"id",e}o(xW,"foreignKey");Yt.foreignKey=xW;function wW(e){const t=e.split(" "),n=t.length;for(let r=0;r<n;r++){const a=parseInt(t[r],10);if(!isNaN(a)){const i=t[r].substring(t[r].length-2),s=t[r].substring(t[r].length-1);let c="th";i!="11"&&i!="12"&&i!="13"&&(s==="1"?c="st":s==="2"?c="nd":s==="3"&&(c="rd")),t[r]+=c}}return t.join(" ")}o(wW,"ordinalize");Yt.ordinalize=wW;const S1e={pluralize:PE,singularize:ME,camelize:TE,underscore:Kx,humanize:mW,capitalize:Yx,dasherize:gW,titleize:vW,demodulize:OE,tableize:yW,classify:bW,foreignKey:xW,ordinalize:wW};function j1e(e,t){const n=t.length;for(let r=0;r<n;r++){const a=t[r],i=S1e[a];i&&(e=i(e))}return e}o(j1e,"transform");lW=Yt.transform=j1e;const ap=o(()=>{const e=nt(),t=Vx();return(n,r=2)=>{const a=t[n];return e(`resources.${n}.name`,{smart_count:r,_:a&&a.options&&a.options.label?e(a.options.label,{smart_count:r,_:a.options.label}):Jx(r>1?Ju(n):Gx(n))})}},"useGetResourceLabel"),Nt=o(e=>{const t=g.useContext(iW);return e&&e.resource||t},"useResourceContext"),Pc=o(e=>{const t=Nt(e),n=Vx(),{hasCreate:r,hasEdit:a,hasList:i,hasShow:s,recordRepresentation:c}=e||{};return g.useMemo(()=>gE({},{hasCreate:r,hasEdit:a,hasList:i,hasShow:s,recordRepresentation:c},t?n[t]:{}),[t,n,r,a,i,s,c])},"useResourceDefinition"),ql=o(e=>{const{recordRepresentation:t}=Pc({resource:e});return g.useCallback(n=>n?typeof t=="function"?t(n):typeof t=="string"?$t(n,t):g.isValidElement(t)?t:(n==null?void 0:n.name)!=null&&(n==null?void 0:n.name)!==""?n.name:(n==null?void 0:n.title)!=null&&(n==null?void 0:n.title)!==""?n.title:(n==null?void 0:n.label)!=null&&(n==null?void 0:n.label)!==""?n.label:(n==null?void 0:n.reference)!=null&&(n==null?void 0:n.reference)!==""?n.reference:`#${n.id}`:"",[t])},"useGetRecordRepresentation"),zE=o(e=>h1e().getSource(e),"useWrappedSource"),IE=o(()=>{const e=nt(),t=Nt(),n=g1e();return g.useCallback(({source:r,label:a,resource:i})=>a===!1||a===""?null:a&&typeof a!="string"?a:e(..._1e({label:a,defaultLabel:r?n==null?void 0:n.getLabel(r):void 0,resource:i,resourceFromContext:t,source:r})),[t,e,n])},"useTranslateLabel"),CW=o(e=>{const{source:t,label:n,resource:r,isRequired:a}=e,i=IE();if(n===!0)throw new Error("Label parameter must be a string, a ReactElement or false");return n===!1||n===""?null:n&&typeof n!="string"?n:f.jsxs("span",{children:[i({label:n,resource:r,source:t}),a&&f.jsx("span",{"aria-hidden":"true",children:" *"})]})},"FieldTitle");CW.displayName="FieldTitle";const hs=g.memo(CW),$1e=o(()=>f.jsx("span",{}),"Ready"),Qx=o((e,t)=>{},"warning"),_1e=o(e=>{if(!e)return[""];const{label:t,defaultLabel:n,resource:r,resourceFromContext:a,source:i}=e;if(typeof t<"u")return[t,{_:t}];if(typeof i>"u")return[""];const{sourceWithoutDigits:s,sourceSuffix:c}=k1e(i),l=lW(c.replace(/\./g," "),["underscore","humanize"]);return r?[NO(r,s),{_:l}]:n?[n,{_:l}]:[NO(a||"undefined",s),{_:l}]},"getFieldLabelTranslationArgs"),NO=o((e,t)=>`resources.${e}.fields.${t}`,"getResourceFieldLabelKey"),k1e=o(e=>{const t=e.replace(/\.\d+\./g,"."),n=e.split(".");let r;n.forEach((i,s)=>{E1e(i)&&(r=s)});const a=r!=null?n.slice(r+1).join("."):e;return{sourceWithoutDigits:t,sourceSuffix:a}},"getSourceParts"),E1e=o(e=>{for(let t=e.length-1;t>=0;t--){const n=e.charCodeAt(t);if(n<48||n>57)return!1}return!0},"onlyDigits"),R1e=typeof window<"u"?g.useLayoutEffect:g.useEffect,zt=o(e=>{const t=g.useRef(()=>{throw new Error("Cannot call an event handler while rendering.")});return R1e(()=>{t.current=e}),g.useCallback((...n)=>t.current(...n),[])},"useEvent"),Vo=o(e=>{const{defaultValue:t,source:n}=e,r=un(e);return $t(r,n,t)},"useFieldValue"),A1e=o(e=>{const{url:t=window.location.href,fetchOptions:n,interval:r=M1e,onNewVersionAvailable:a,disabled:i=!1}=e,s=g.useRef(),c=zt(a);g.useEffect(()=>{i||FO(t,n).then(l=>{l!=null&&(s.current=l)})},[i,t,JSON.stringify(n)]),g.useEffect(()=>{if(i)return;const l=setInterval(()=>{FO(t,n).then(u=>{u!=null&&s.current!==u&&(s.current=u,c())}).catch(()=>{})},r);return()=>clearInterval(l)},[r,c,i,t,JSON.stringify(n)])},"useCheckForApplicationUpdate"),FO=o(async(e,t)=>{try{const n=await fetch(e,t);if(!n.ok)return null;const r=await n.text();return P1e(r)}catch{return null}},"getHashForUrl"),P1e=o((e,t=0)=>{let n=3735928559^t,r=1103547991^t;for(let a=0,i;a<e.length;a++)i=e.charCodeAt(a),n=Math.imul(n^i,2654435761),r=Math.imul(r^i,1597334677);return n=Math.imul(n^n>>>16,2246822507),n^=Math.imul(r^r>>>13,3266489909),r=Math.imul(r^r>>>16,2246822507),r^=Math.imul(n^n>>>13,3266489909),4294967296*(2097151&r)+(n>>>0)},"hash$4"),M1e=1e3*60*60,So=o((e,t)=>{const{getItem:n,setItem:r,subscribe:a}=bx(),[i,s]=g.useState(()=>n(e,t));g.useEffect(()=>{const l=n(e,t);va(i,l)||s(l);const u=a(e,d=>{s(typeof d>"u"?t:d)});return()=>u()},[e,a,t,n,i]);const c=zt((l,u)=>{const d=typeof l=="function"?l(i):l;r(e,typeof d>"u"?typeof u>"u"?t:u:d)});return[i,c]},"useStore"),T1e=o(e=>{const{removeItem:t}=bx();return g.useCallback(n=>{if(typeof n>"u"&&typeof e>"u")throw new Error("You must provide a key to remove an item from the store");return t(n??e)},[t,e])},"useRemoveFromStore"),O1e=o(e=>{const{removeItems:t}=bx();return g.useCallback(n=>{if(typeof n>"u"&&typeof e>"u")throw new Error("You must provide a key to remove an item from the store");return t(n??e)},[t,e])},"useRemoveItemsFromStore"),z1e=o(()=>{const{reset:e}=bx();return e},"useResetStore"),op=o(()=>{const e=Cs(),t=Ha(),n=z1e(),r=Ni(),a=g.useRef(r),i=Ar(),s=g.useRef(i),c=kc(),l=ui(`${c}/${sx.loginUrl}`);return g.useEffect(()=>{s.current=i,a.current=r},[i,r]),g.useCallback((d={},p=l,m=!0)=>e?e.logout(d).then(v=>{if(v===!1||p===!1){n(),t.clear();return}const h=v||p;if(h!=null&&h.startsWith("http"))return n(),t.clear(),window.location.href=h,h;const y=h.split("?"),C={pathname:y[0]};let w={};return m&&s.current&&s.current.pathname&&(w={state:{nextPathname:s.current.pathname,nextSearch:s.current.search}}),y[1]&&(C.search=y[1]),a.current(C,w),n(),t.clear(),v}):(a.current({pathname:l},{state:{nextPathname:s.current&&s.current.pathname}}),n(),t.clear(),Promise.resolve()),[e,n,l,t])},"useLogout"),BO={},SW=o((e=BO,t=!1,n=BO)=>{const r=Cs(),a=op(),i=kc(),s=Kn(),{onSuccess:c,onError:l,onSettled:u,...d}=n,p=Ss({queryKey:["auth","checkAuth",e],queryFn:o(({signal:y})=>r?r.checkAuth({...e,signal:y}).then(()=>!0).catch(C=>{throw C??new Error}):!0,"queryFn"),retry:!1,...d}),m=zt(c??WO),v=zt(u??WO),h=zt(l??(y=>{const C=ui(`${i}/${sx.loginUrl}`);t&&(a({},y&&y.redirectTo!=null?y.redirectTo:C),!(y&&y.message===!1)&&s(I1e(y,"ra.auth.auth_check_error"),{type:"error"}))}));return g.useEffect(()=>{p.data===void 0||p.isFetching||m(p.data)},[m,p.data,p.isFetching]),g.useEffect(()=>{p.error==null||p.isFetching||h(p.error)},[h,p.error,p.isFetching]),g.useEffect(()=>{p.status==="pending"||p.isFetching||v(p.data,p.error)},[v,p.data,p.error,p.status,p.isFetching]),g.useMemo(()=>({...p,authenticated:p.data??p.isLoading?!0:r==null}),[r,p])},"useAuthState"),I1e=o((e,t)=>typeof e=="string"?e:typeof e>"u"||!e.message?t:e.message,"getErrorMessage$1"),WO=o(()=>{},"noop$6"),L1e={},jW=o((e=L1e,t={staleTime:5*60*1e3})=>{const n=Cs(),r=V7(),{onSuccess:a,onError:i,onSettled:s,...c}=t??{},l=Ss({queryKey:["auth","getPermissions",e],queryFn:o(async({signal:m})=>n?await n.getPermissions({...e,signal:m})??null:Promise.resolve([]),"queryFn"),...c}),u=zt(a??UO),d=zt(s??UO),p=zt(i??(m=>{r(m)}));return g.useEffect(()=>{l.data===void 0||l.isFetching||u(l.data)},[u,l.data,l.isFetching]),g.useEffect(()=>{l.error==null||l.isFetching||p(l.error)},[p,l.error,l.isFetching]),g.useEffect(()=>{l.status==="pending"||l.isFetching||d(l.data,l.error)},[d,l.data,l.error,l.status,l.isFetching]),g.useMemo(()=>({...l,permissions:l.data}),[l])},"usePermissions"),UO=o(()=>{},"noop$5"),ip=o(({params:e,...t}={})=>{SW(e??D1e,!0,t)},"useAuthenticated"),D1e={},HO=o(e=>g.Children.count(e)===0,"isEmptyChildren"),N1e=o(e=>{const{authParams:t,children:n,render:r,component:a,staticContext:i,...s}=e;Qx(r&&n&&!HO(n)||r&&a||a&&n&&!HO(n),"You should only use one of the `component`, `render` and `children` props in <WithPermissions>"),ip(t);const{permissions:c}=jW(t);if(a)return g.createElement(a,{permissions:c,...s});if(r)return r({permissions:c,...s});if(n)return n({permissions:c,...s})},"WithPermissions"),F1e=o(()=>{const e=Cs(),n=Ar().state,r=Ni(),a=kc(),{resetNotifications:i}=C7(),s=n&&n.nextPathname,c=n&&n.nextSearch,l=ui(`${a}/${sx.afterLoginUrl}`);return g.useCallback((d={},p)=>e?e.login(d).then(m=>{if(i(),m&&m.hasOwnProperty("redirectTo"))m&&r(m.redirectTo);else{const v=p||s+c||l;r(v)}return m}):(i(),r(l),Promise.resolve()),[e,r,s,c,i,l])},"useLogin"),B1e="AUTH_LOGIN",W1e="AUTH_CHECK",U1e="AUTH_ERROR",H1e="AUTH_LOGOUT",q1e="AUTH_GET_PERMISSIONS",V1e=o(e=>{const t=o((...n)=>e.apply(null,n),"authProvider");return t.login=n=>e(B1e,n),t.logout=n=>e(H1e,n),t.checkAuth=n=>e(W1e,n),t.checkError=n=>e(U1e,n),t.getPermissions=n=>e(q1e,n),t},"convertLegacyAuthProvider"),G1e=o(()=>{const e=op();return g.useEffect(()=>{e()},[e]),null},"LogoutOnMount"),$W=o(()=>{const e=Cs(),t=Kn(),n=op(),r=kc(),a=ui(`${r}/${sx.loginUrl}`);return g.useCallback((s={},c=!0,l=a)=>e?e.checkAuth(s).catch(u=>{throw c&&(n({},u&&u.redirectTo!=null?u.redirectTo:l),!(u&&u.message===!1)&&t(J1e(u,"ra.auth.auth_check_error"),{type:"error"})),u}):K1e(),[e,n,t,a])},"useCheckAuth"),K1e=o(()=>Promise.resolve(),"checkAuthWithoutAuthProvider"),J1e=o((e,t)=>typeof e=="string"?e:typeof e>"u"||!e.message?t:e.message,"getErrorMessage"),Y1e={id:""},Q1e={staleTime:5*60*1e3},Go=o((e=Q1e)=>{const t=Cs(),{onSuccess:n,onError:r,onSettled:a,...i}=e,s=Ss({queryKey:["auth","getIdentity"],queryFn:o(async({signal:d})=>t&&typeof t.getIdentity=="function"?t.getIdentity({signal:d}):Y1e,"queryFn"),...i}),c=zt(n??F2),l=zt(r??F2),u=zt(a??F2);return g.useEffect(()=>{s.data===void 0||s.isFetching||c(s.data)},[c,s.data,s.isFetching]),g.useEffect(()=>{s.error==null||s.isFetching||l(s.error)},[l,s.error,s.isFetching]),g.useEffect(()=>{s.status==="pending"||s.isFetching||u(s.data,s.error)},[u,s.data,s.error,s.status,s.isFetching]),g.useMemo(()=>({...s,identity:s.data}),[s])},"useGetIdentity"),F2=o(()=>{},"noop$4"),X1e=o(e=>{const t=Cs(),n=ep(),a=Ar().state,i=a&&a.nextPathname,s=a&&a.nextSearch,c=i?i+s:"/",{onSuccess:l,onError:u,onSettled:d,...p}={},m=Ss({queryKey:["auth","handleCallback"],queryFn:o(({signal:C})=>t&&typeof t.handleCallback=="function"?t.handleCallback({signal:C}).then(w=>w??null):Promise.resolve(),"queryFn"),retry:!1,...p}),v=zt(l??(C=>{const w=localStorage.getItem(Z1e),x=(C==null?void 0:C.redirectTo)??w;x!==!1&&n(x??c)})),h=zt(u??qO),y=zt(d??qO);return g.useEffect(()=>{m.error==null||m.isFetching||h(m.error)},[h,m.error,m.isFetching]),g.useEffect(()=>{m.data===void 0||m.isFetching||v(m.data)},[v,m.data,m.isFetching]),g.useEffect(()=>{m.status==="pending"||m.isFetching||y(m.data,m.error)},[y,m.data,m.error,m.status,m.isFetching]),m},"useHandleAuthCallback"),Z1e="@react-admin/nextPathname",qO=o(()=>{},"noop$3"),_W=g.createContext(""),kW=o(({value:e="",children:t})=>f.jsx(_W.Provider,{value:e,children:t}),"PreferenceKeyContextProvider"),ewe=o(()=>g.useContext(_W),"usePreferenceKey"),EW=o((e,t)=>{const n=ewe();if(!n)throw new Error("usePreference cannot be used outside of a Configurable component. Did you forget to wrap your component with <Configurable>? If you don't want to use Configurable, you can use the useStore hook instead.");return So(n&&e?`${n}.${e}`:n??e,t)},"usePreference"),LE=o(()=>{const e=g.useContext(ZB);if(!e)throw new Error("usePreferencesEditor must be used within a PreferencesEditorContextProvider");return e},"usePreferencesEditor"),twe=o((e,t)=>{const[n,r]=EW(e,t),[a,i]=g.useState(n);return g.useEffect(()=>{i(n||t)},[n,t]),{value:a,onChange:o(u=>{i(u.target.value===""?t:u.target.value)},"onChange"),onBlur:o(()=>{r(a)},"onBlur"),onKeyDown:o(u=>{var d;if(u.key==="Enter"){r(a);const p=u.target.form;if(p){const m=[...p].indexOf(u.target);(d=p.elements[m+1])==null||d.focus()}u.preventDefault()}},"onKeyDown")}},"usePreferenceInput"),nwe=o((e,t)=>{const n=LE();if(!n)throw new Error("useSetInspectorTitle cannot be called outside of a PreferencesEditorContext");const{setTitle:r}=n;g.useEffect(()=>{r(e,t)},[e,JSON.stringify(t),r])},"useSetInspectorTitle"),RW=o(e=>e.reduce((t,n)=>(Object.keys(n).forEach(r=>{if(t[r]||(t[r]=[]),n[r]!=null){const a=Array.isArray(n[r])?[n[r]]:n[r];t[r]=t[r].concat(a)}}),t),{}),"getValuesFromRecords"),_8=class _8{constructor(t,n,r){this.type=t,this.props=n,this.children=r,this.type=t,this.props=n,this.children=r}getElement(t={}){if(!(!this.type||!this.type.component))return this.children?g.createElement(this.type.component,{...this.props,...t},this.children.length>0?this.children.map((n,r)=>n.getElement({key:r})):this.children.getElement()):g.createElement(this.type.component,{...this.props,...t})}getProps(){return this.props}isDefined(){return!!this.type}getRepresentation(){return this.type?this.type.representation?this.type.representation(this.props,this.children):this.type.component?`<${this.type.component.displayName||this.type.component.name} source="${this.props.source}" />`:"":""}};o(_8,"InferredElement");let Fn=_8;function Tt(e){const t=Object.prototype.toString.call(e);return e instanceof Date||typeof e=="object"&&t==="[object Date]"?new e.constructor(+e):typeof e=="number"||t==="[object Number]"||typeof e=="string"||t==="[object String]"?new Date(e):new Date(NaN)}o(Tt,"toDate");function xn(e,t){return e instanceof Date?new e.constructor(t):new Date(t)}o(xn,"constructFrom");function DE(e,t){const n=Tt(e);return isNaN(t)?xn(e,NaN):(t&&n.setDate(n.getDate()+t),n)}o(DE,"addDays");function AW(e,t){const n=Tt(e);if(isNaN(t))return xn(e,NaN);if(!t)return n;const r=n.getDate(),a=xn(e,n.getTime());a.setMonth(n.getMonth()+t+1,0);const i=a.getDate();return r>=i?a:(n.setFullYear(a.getFullYear(),a.getMonth(),r),n)}o(AW,"addMonths");function rwe(e,t){const{years:n=0,months:r=0,weeks:a=0,days:i=0,hours:s=0,minutes:c=0,seconds:l=0}=t,u=Tt(e),d=r||n?AW(u,r+n*12):u,p=i||a?DE(d,i+a*7):d,m=c+s*60,h=(l+m*60)*1e3;return xn(e,p.getTime()+h)}o(rwe,"add");const PW=6048e5,awe=864e5,NE=6e4,FE=36e5,owe=1e3,yv=43200,VO=1440;let iwe={};function Vl(){return iwe}o(Vl,"getDefaultOptions$1");function Ai(e,t){var c,l,u,d;const n=Vl(),r=(t==null?void 0:t.weekStartsOn)??((l=(c=t==null?void 0:t.locale)==null?void 0:c.options)==null?void 0:l.weekStartsOn)??n.weekStartsOn??((d=(u=n.locale)==null?void 0:u.options)==null?void 0:d.weekStartsOn)??0,a=Tt(e),i=a.getDay(),s=(i<r?7:0)+i-r;return a.setDate(a.getDate()-s),a.setHours(0,0,0,0),a}o(Ai,"startOfWeek");function sf(e){return Ai(e,{weekStartsOn:1})}o(sf,"startOfISOWeek");function MW(e){const t=Tt(e),n=t.getFullYear(),r=xn(e,0);r.setFullYear(n+1,0,4),r.setHours(0,0,0,0);const a=sf(r),i=xn(e,0);i.setFullYear(n,0,4),i.setHours(0,0,0,0);const s=sf(i);return t.getTime()>=a.getTime()?n+1:t.getTime()>=s.getTime()?n:n-1}o(MW,"getISOWeekYear");function GO(e){const t=Tt(e);return t.setHours(0,0,0,0),t}o(GO,"startOfDay");function cf(e){const t=Tt(e),n=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return n.setUTCFullYear(t.getFullYear()),+e-+n}o(cf,"getTimezoneOffsetInMilliseconds");function swe(e,t){const n=GO(e),r=GO(t),a=+n-cf(n),i=+r-cf(r);return Math.round((a-i)/awe)}o(swe,"differenceInCalendarDays");function cwe(e){const t=MW(e),n=xn(e,0);return n.setFullYear(t,0,4),n.setHours(0,0,0,0),sf(n)}o(cwe,"startOfISOWeekYear");function dy(e,t){const n=Tt(e),r=Tt(t),a=n.getTime()-r.getTime();return a<0?-1:a>0?1:a}o(dy,"compareAsc");function lwe(e){return e instanceof Date||typeof e=="object"&&Object.prototype.toString.call(e)==="[object Date]"}o(lwe,"isDate$1");function BE(e){if(!lwe(e)&&typeof e!="number")return!1;const t=Tt(e);return!isNaN(Number(t))}o(BE,"isValid");function uwe(e,t){const n=Tt(e),r=Tt(t),a=n.getFullYear()-r.getFullYear(),i=n.getMonth()-r.getMonth();return a*12+i}o(uwe,"differenceInCalendarMonths");function dwe(e){return t=>{const r=(e?Math[e]:Math.trunc)(t);return r===0?0:r}}o(dwe,"getRoundingMethod");function fwe(e,t){return+Tt(e)-+Tt(t)}o(fwe,"differenceInMilliseconds");function pwe(e){const t=Tt(e);return t.setHours(23,59,59,999),t}o(pwe,"endOfDay");function mwe(e){const t=Tt(e),n=t.getMonth();return t.setFullYear(t.getFullYear(),n+1,0),t.setHours(23,59,59,999),t}o(mwe,"endOfMonth");function hwe(e){const t=Tt(e);return+pwe(t)==+mwe(t)}o(hwe,"isLastDayOfMonth");function gwe(e,t){const n=Tt(e),r=Tt(t),a=dy(n,r),i=Math.abs(uwe(n,r));let s;if(i<1)s=0;else{n.getMonth()===1&&n.getDate()>27&&n.setDate(30),n.setMonth(n.getMonth()-a*i);let c=dy(n,r)===-a;hwe(Tt(e))&&i===1&&dy(e,r)===1&&(c=!1),s=a*(i-Number(c))}return s===0?0:s}o(gwe,"differenceInMonths");function vwe(e,t,n){const r=fwe(e,t)/1e3;return dwe(n==null?void 0:n.roundingMethod)(r)}o(vwe,"differenceInSeconds");function m$(e){const t=Tt(e);return t.setDate(1),t.setHours(0,0,0,0),t}o(m$,"startOfMonth");function ywe(e){const t=Tt(e),n=xn(e,0);return n.setFullYear(t.getFullYear(),0,1),n.setHours(0,0,0,0),n}o(ywe,"startOfYear");function bwe(){const e=new Date,t=e.getFullYear(),n=e.getMonth(),r=e.getDate(),a=new Date(0);return a.setFullYear(t,n,r-1),a.setHours(23,59,59,999),a}o(bwe,"endOfYesterday");const xwe={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},wwe=o((e,t,n)=>{let r;const a=xwe[e];return typeof a=="string"?r=a:t===1?r=a.one:r=a.other.replace("{{count}}",t.toString()),n!=null&&n.addSuffix?n.comparison&&n.comparison>0?"in "+r:r+" ago":r},"formatDistance$1");function B2(e){return(t={})=>{const n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}o(B2,"buildFormatLongFn");const Cwe={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},Swe={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},jwe={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},$we={date:B2({formats:Cwe,defaultWidth:"full"}),time:B2({formats:Swe,defaultWidth:"full"}),dateTime:B2({formats:jwe,defaultWidth:"full"})},_we={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},kwe=o((e,t,n,r)=>_we[e],"formatRelative");function Bp(e){return(t,n)=>{const r=n!=null&&n.context?String(n.context):"standalone";let a;if(r==="formatting"&&e.formattingValues){const s=e.defaultFormattingWidth||e.defaultWidth,c=n!=null&&n.width?String(n.width):s;a=e.formattingValues[c]||e.formattingValues[s]}else{const s=e.defaultWidth,c=n!=null&&n.width?String(n.width):e.defaultWidth;a=e.values[c]||e.values[s]}const i=e.argumentCallback?e.argumentCallback(t):t;return a[i]}}o(Bp,"buildLocalizeFn");const Ewe={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},Rwe={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},Awe={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},Pwe={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},Mwe={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},Twe={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},Owe=o((e,t)=>{const n=Number(e),r=n%100;if(r>20||r<10)switch(r%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},"ordinalNumber"),zwe={ordinalNumber:Owe,era:Bp({values:Ewe,defaultWidth:"wide"}),quarter:Bp({values:Rwe,defaultWidth:"wide",argumentCallback:o(e=>e-1,"argumentCallback")}),month:Bp({values:Awe,defaultWidth:"wide"}),day:Bp({values:Pwe,defaultWidth:"wide"}),dayPeriod:Bp({values:Mwe,defaultWidth:"wide",formattingValues:Twe,defaultFormattingWidth:"wide"})};function Wp(e){return(t,n={})=>{const r=n.width,a=r&&e.matchPatterns[r]||e.matchPatterns[e.defaultMatchWidth],i=t.match(a);if(!i)return null;const s=i[0],c=r&&e.parsePatterns[r]||e.parsePatterns[e.defaultParseWidth],l=Array.isArray(c)?Lwe(c,p=>p.test(s)):Iwe(c,p=>p.test(s));let u;u=e.valueCallback?e.valueCallback(l):l,u=n.valueCallback?n.valueCallback(u):u;const d=t.slice(s.length);return{value:u,rest:d}}}o(Wp,"buildMatchFn");function Iwe(e,t){for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n}o(Iwe,"findKey");function Lwe(e,t){for(let n=0;n<e.length;n++)if(t(e[n]))return n}o(Lwe,"findIndex$2");function Dwe(e){return(t,n={})=>{const r=t.match(e.matchPattern);if(!r)return null;const a=r[0],i=t.match(e.parsePattern);if(!i)return null;let s=e.valueCallback?e.valueCallback(i[0]):i[0];s=n.valueCallback?n.valueCallback(s):s;const c=t.slice(a.length);return{value:s,rest:c}}}o(Dwe,"buildMatchPatternFn");const Nwe=/^(\d+)(th|st|nd|rd)?/i,Fwe=/\d+/i,Bwe={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},Wwe={any:[/^b/i,/^(a|c)/i]},Uwe={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},Hwe={any:[/1/i,/2/i,/3/i,/4/i]},qwe={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},Vwe={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},Gwe={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},Kwe={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},Jwe={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},Ywe={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},Qwe={ordinalNumber:Dwe({matchPattern:Nwe,parsePattern:Fwe,valueCallback:o(e=>parseInt(e,10),"valueCallback")}),era:Wp({matchPatterns:Bwe,defaultMatchWidth:"wide",parsePatterns:Wwe,defaultParseWidth:"any"}),quarter:Wp({matchPatterns:Uwe,defaultMatchWidth:"wide",parsePatterns:Hwe,defaultParseWidth:"any",valueCallback:o(e=>e+1,"valueCallback")}),month:Wp({matchPatterns:qwe,defaultMatchWidth:"wide",parsePatterns:Vwe,defaultParseWidth:"any"}),day:Wp({matchPatterns:Gwe,defaultMatchWidth:"wide",parsePatterns:Kwe,defaultParseWidth:"any"}),dayPeriod:Wp({matchPatterns:Jwe,defaultMatchWidth:"any",parsePatterns:Ywe,defaultParseWidth:"any"})},WE={code:"en-US",formatDistance:wwe,formatLong:$we,formatRelative:kwe,localize:zwe,match:Qwe,options:{weekStartsOn:0,firstWeekContainsDate:1}};function Xwe(e){const t=Tt(e);return swe(t,ywe(t))+1}o(Xwe,"getDayOfYear");function TW(e){const t=Tt(e),n=+sf(t)-+cwe(t);return Math.round(n/PW)+1}o(TW,"getISOWeek");function UE(e,t){var d,p,m,v;const n=Tt(e),r=n.getFullYear(),a=Vl(),i=(t==null?void 0:t.firstWeekContainsDate)??((p=(d=t==null?void 0:t.locale)==null?void 0:d.options)==null?void 0:p.firstWeekContainsDate)??a.firstWeekContainsDate??((v=(m=a.locale)==null?void 0:m.options)==null?void 0:v.firstWeekContainsDate)??1,s=xn(e,0);s.setFullYear(r+1,0,i),s.setHours(0,0,0,0);const c=Ai(s,t),l=xn(e,0);l.setFullYear(r,0,i),l.setHours(0,0,0,0);const u=Ai(l,t);return n.getTime()>=c.getTime()?r+1:n.getTime()>=u.getTime()?r:r-1}o(UE,"getWeekYear");function Zwe(e,t){var c,l,u,d;const n=Vl(),r=(t==null?void 0:t.firstWeekContainsDate)??((l=(c=t==null?void 0:t.locale)==null?void 0:c.options)==null?void 0:l.firstWeekContainsDate)??n.firstWeekContainsDate??((d=(u=n.locale)==null?void 0:u.options)==null?void 0:d.firstWeekContainsDate)??1,a=UE(e,t),i=xn(e,0);return i.setFullYear(a,0,r),i.setHours(0,0,0,0),Ai(i,t)}o(Zwe,"startOfWeekYear");function OW(e,t){const n=Tt(e),r=+Ai(n,t)-+Zwe(n,t);return Math.round(r/PW)+1}o(OW,"getWeek");function en(e,t){const n=e<0?"-":"",r=Math.abs(e).toString().padStart(t,"0");return n+r}o(en,"addLeadingZeros");const As={y(e,t){const n=e.getFullYear(),r=n>0?n:1-n;return en(t==="yy"?r%100:r,t.length)},M(e,t){const n=e.getMonth();return t==="M"?String(n+1):en(n+1,2)},d(e,t){return en(e.getDate(),t.length)},a(e,t){const n=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.toUpperCase();case"aaa":return n;case"aaaaa":return n[0];case"aaaa":default:return n==="am"?"a.m.":"p.m."}},h(e,t){return en(e.getHours()%12||12,t.length)},H(e,t){return en(e.getHours(),t.length)},m(e,t){return en(e.getMinutes(),t.length)},s(e,t){return en(e.getSeconds(),t.length)},S(e,t){const n=t.length,r=e.getMilliseconds(),a=Math.trunc(r*Math.pow(10,n-3));return en(a,t.length)}},cu={am:"am",pm:"pm",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},KO={G:o(function(e,t,n){const r=e.getFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return n.era(r,{width:"abbreviated"});case"GGGGG":return n.era(r,{width:"narrow"});case"GGGG":default:return n.era(r,{width:"wide"})}},"G"),y:o(function(e,t,n){if(t==="yo"){const r=e.getFullYear(),a=r>0?r:1-r;return n.ordinalNumber(a,{unit:"year"})}return As.y(e,t)},"y"),Y:o(function(e,t,n,r){const a=UE(e,r),i=a>0?a:1-a;if(t==="YY"){const s=i%100;return en(s,2)}return t==="Yo"?n.ordinalNumber(i,{unit:"year"}):en(i,t.length)},"Y"),R:o(function(e,t){const n=MW(e);return en(n,t.length)},"R"),u:o(function(e,t){const n=e.getFullYear();return en(n,t.length)},"u"),Q:o(function(e,t,n){const r=Math.ceil((e.getMonth()+1)/3);switch(t){case"Q":return String(r);case"QQ":return en(r,2);case"Qo":return n.ordinalNumber(r,{unit:"quarter"});case"QQQ":return n.quarter(r,{width:"abbreviated",context:"formatting"});case"QQQQQ":return n.quarter(r,{width:"narrow",context:"formatting"});case"QQQQ":default:return n.quarter(r,{width:"wide",context:"formatting"})}},"Q"),q:o(function(e,t,n){const r=Math.ceil((e.getMonth()+1)/3);switch(t){case"q":return String(r);case"qq":return en(r,2);case"qo":return n.ordinalNumber(r,{unit:"quarter"});case"qqq":return n.quarter(r,{width:"abbreviated",context:"standalone"});case"qqqqq":return n.quarter(r,{width:"narrow",context:"standalone"});case"qqqq":default:return n.quarter(r,{width:"wide",context:"standalone"})}},"q"),M:o(function(e,t,n){const r=e.getMonth();switch(t){case"M":case"MM":return As.M(e,t);case"Mo":return n.ordinalNumber(r+1,{unit:"month"});case"MMM":return n.month(r,{width:"abbreviated",context:"formatting"});case"MMMMM":return n.month(r,{width:"narrow",context:"formatting"});case"MMMM":default:return n.month(r,{width:"wide",context:"formatting"})}},"M"),L:o(function(e,t,n){const r=e.getMonth();switch(t){case"L":return String(r+1);case"LL":return en(r+1,2);case"Lo":return n.ordinalNumber(r+1,{unit:"month"});case"LLL":return n.month(r,{width:"abbreviated",context:"standalone"});case"LLLLL":return n.month(r,{width:"narrow",context:"standalone"});case"LLLL":default:return n.month(r,{width:"wide",context:"standalone"})}},"L"),w:o(function(e,t,n,r){const a=OW(e,r);return t==="wo"?n.ordinalNumber(a,{unit:"week"}):en(a,t.length)},"w"),I:o(function(e,t,n){const r=TW(e);return t==="Io"?n.ordinalNumber(r,{unit:"week"}):en(r,t.length)},"I"),d:o(function(e,t,n){return t==="do"?n.ordinalNumber(e.getDate(),{unit:"date"}):As.d(e,t)},"d"),D:o(function(e,t,n){const r=Xwe(e);return t==="Do"?n.ordinalNumber(r,{unit:"dayOfYear"}):en(r,t.length)},"D"),E:o(function(e,t,n){const r=e.getDay();switch(t){case"E":case"EE":case"EEE":return n.day(r,{width:"abbreviated",context:"formatting"});case"EEEEE":return n.day(r,{width:"narrow",context:"formatting"});case"EEEEEE":return n.day(r,{width:"short",context:"formatting"});case"EEEE":default:return n.day(r,{width:"wide",context:"formatting"})}},"E"),e:o(function(e,t,n,r){const a=e.getDay(),i=(a-r.weekStartsOn+8)%7||7;switch(t){case"e":return String(i);case"ee":return en(i,2);case"eo":return n.ordinalNumber(i,{unit:"day"});case"eee":return n.day(a,{width:"abbreviated",context:"formatting"});case"eeeee":return n.day(a,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(a,{width:"short",context:"formatting"});case"eeee":default:return n.day(a,{width:"wide",context:"formatting"})}},"e"),c:o(function(e,t,n,r){const a=e.getDay(),i=(a-r.weekStartsOn+8)%7||7;switch(t){case"c":return String(i);case"cc":return en(i,t.length);case"co":return n.ordinalNumber(i,{unit:"day"});case"ccc":return n.day(a,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(a,{width:"narrow",context:"standalone"});case"cccccc":return n.day(a,{width:"short",context:"standalone"});case"cccc":default:return n.day(a,{width:"wide",context:"standalone"})}},"c"),i:o(function(e,t,n){const r=e.getDay(),a=r===0?7:r;switch(t){case"i":return String(a);case"ii":return en(a,t.length);case"io":return n.ordinalNumber(a,{unit:"day"});case"iii":return n.day(r,{width:"abbreviated",context:"formatting"});case"iiiii":return n.day(r,{width:"narrow",context:"formatting"});case"iiiiii":return n.day(r,{width:"short",context:"formatting"});case"iiii":default:return n.day(r,{width:"wide",context:"formatting"})}},"i"),a:o(function(e,t,n){const a=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(a,{width:"narrow",context:"formatting"});case"aaaa":default:return n.dayPeriod(a,{width:"wide",context:"formatting"})}},"a"),b:o(function(e,t,n){const r=e.getHours();let a;switch(r===12?a=cu.noon:r===0?a=cu.midnight:a=r/12>=1?"pm":"am",t){case"b":case"bb":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(a,{width:"narrow",context:"formatting"});case"bbbb":default:return n.dayPeriod(a,{width:"wide",context:"formatting"})}},"b"),B:o(function(e,t,n){const r=e.getHours();let a;switch(r>=17?a=cu.evening:r>=12?a=cu.afternoon:r>=4?a=cu.morning:a=cu.night,t){case"B":case"BB":case"BBB":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(a,{width:"narrow",context:"formatting"});case"BBBB":default:return n.dayPeriod(a,{width:"wide",context:"formatting"})}},"B"),h:o(function(e,t,n){if(t==="ho"){let r=e.getHours()%12;return r===0&&(r=12),n.ordinalNumber(r,{unit:"hour"})}return As.h(e,t)},"h"),H:o(function(e,t,n){return t==="Ho"?n.ordinalNumber(e.getHours(),{unit:"hour"}):As.H(e,t)},"H"),K:o(function(e,t,n){const r=e.getHours()%12;return t==="Ko"?n.ordinalNumber(r,{unit:"hour"}):en(r,t.length)},"K"),k:o(function(e,t,n){let r=e.getHours();return r===0&&(r=24),t==="ko"?n.ordinalNumber(r,{unit:"hour"}):en(r,t.length)},"k"),m:o(function(e,t,n){return t==="mo"?n.ordinalNumber(e.getMinutes(),{unit:"minute"}):As.m(e,t)},"m"),s:o(function(e,t,n){return t==="so"?n.ordinalNumber(e.getSeconds(),{unit:"second"}):As.s(e,t)},"s"),S:o(function(e,t){return As.S(e,t)},"S"),X:o(function(e,t,n){const r=e.getTimezoneOffset();if(r===0)return"Z";switch(t){case"X":return YO(r);case"XXXX":case"XX":return Fc(r);case"XXXXX":case"XXX":default:return Fc(r,":")}},"X"),x:o(function(e,t,n){const r=e.getTimezoneOffset();switch(t){case"x":return YO(r);case"xxxx":case"xx":return Fc(r);case"xxxxx":case"xxx":default:return Fc(r,":")}},"x"),O:o(function(e,t,n){const r=e.getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+JO(r,":");case"OOOO":default:return"GMT"+Fc(r,":")}},"O"),z:o(function(e,t,n){const r=e.getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+JO(r,":");case"zzzz":default:return"GMT"+Fc(r,":")}},"z"),t:o(function(e,t,n){const r=Math.trunc(e.getTime()/1e3);return en(r,t.length)},"t"),T:o(function(e,t,n){const r=e.getTime();return en(r,t.length)},"T")};function JO(e,t=""){const n=e>0?"-":"+",r=Math.abs(e),a=Math.trunc(r/60),i=r%60;return i===0?n+String(a):n+String(a)+t+en(i,2)}o(JO,"formatTimezoneShort");function YO(e,t){return e%60===0?(e>0?"-":"+")+en(Math.abs(e)/60,2):Fc(e,t)}o(YO,"formatTimezoneWithOptionalMinutes");function Fc(e,t=""){const n=e>0?"-":"+",r=Math.abs(e),a=en(Math.trunc(r/60),2),i=en(r%60,2);return n+a+t+i}o(Fc,"formatTimezone");const QO=o((e,t)=>{switch(e){case"P":return t.date({width:"short"});case"PP":return t.date({width:"medium"});case"PPP":return t.date({width:"long"});case"PPPP":default:return t.date({width:"full"})}},"dateLongFormatter"),zW=o((e,t)=>{switch(e){case"p":return t.time({width:"short"});case"pp":return t.time({width:"medium"});case"ppp":return t.time({width:"long"});case"pppp":default:return t.time({width:"full"})}},"timeLongFormatter"),e2e=o((e,t)=>{const n=e.match(/(P+)(p+)?/)||[],r=n[1],a=n[2];if(!a)return QO(e,t);let i;switch(r){case"P":i=t.dateTime({width:"short"});break;case"PP":i=t.dateTime({width:"medium"});break;case"PPP":i=t.dateTime({width:"long"});break;case"PPPP":default:i=t.dateTime({width:"full"});break}return i.replace("{{date}}",QO(r,t)).replace("{{time}}",zW(a,t))},"dateTimeLongFormatter"),h$={p:zW,P:e2e},t2e=/^D+$/,n2e=/^Y+$/,r2e=["D","DD","YY","YYYY"];function IW(e){return t2e.test(e)}o(IW,"isProtectedDayOfYearToken");function LW(e){return n2e.test(e)}o(LW,"isProtectedWeekYearToken");function g$(e,t,n){const r=a2e(e,t,n);if(console.warn(r),r2e.includes(e))throw new RangeError(r)}o(g$,"warnOrThrowProtectedError");function a2e(e,t,n){const r=e[0]==="Y"?"years":"days of the month";return`Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${t}\`) for formatting ${r} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}o(a2e,"message");const o2e=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,i2e=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,s2e=/^'([^]*?)'?$/,c2e=/''/g,l2e=/[a-zA-Z]/;function u2e(e,t,n){var d,p,m,v;const r=Vl(),a=r.locale??WE,i=r.firstWeekContainsDate??((p=(d=r.locale)==null?void 0:d.options)==null?void 0:p.firstWeekContainsDate)??1,s=r.weekStartsOn??((v=(m=r.locale)==null?void 0:m.options)==null?void 0:v.weekStartsOn)??0,c=Tt(e);if(!BE(c))throw new RangeError("Invalid time value");let l=t.match(i2e).map(h=>{const y=h[0];if(y==="p"||y==="P"){const C=h$[y];return C(h,a.formatLong)}return h}).join("").match(o2e).map(h=>{if(h==="''")return{isToken:!1,value:"'"};const y=h[0];if(y==="'")return{isToken:!1,value:d2e(h)};if(KO[y])return{isToken:!0,value:h};if(y.match(l2e))throw new RangeError("Format string contains an unescaped latin alphabet character `"+y+"`");return{isToken:!1,value:h}});a.localize.preprocessor&&(l=a.localize.preprocessor(c,l));const u={firstWeekContainsDate:i,weekStartsOn:s,locale:a};return l.map(h=>{if(!h.isToken)return h.value;const y=h.value;(LW(y)||IW(y))&&g$(y,t,String(e));const C=KO[y[0]];return C(c,y,a.localize,u)}).join("")}o(u2e,"format$2");function d2e(e){const t=e.match(s2e);return t?t[1].replace(c2e,"'"):e}o(d2e,"cleanEscapedString$1");function vg(e,t,n){const r=Vl(),a=(n==null?void 0:n.locale)??r.locale??WE,i=2520,s=dy(e,t);if(isNaN(s))throw new RangeError("Invalid time value");const c=Object.assign({},n,{addSuffix:n==null?void 0:n.addSuffix,comparison:s});let l,u;s>0?(l=Tt(t),u=Tt(e)):(l=Tt(e),u=Tt(t));const d=vwe(u,l),p=(cf(u)-cf(l))/1e3,m=Math.round((d-p)/60);let v;if(m<2)return n!=null&&n.includeSeconds?d<5?a.formatDistance("lessThanXSeconds",5,c):d<10?a.formatDistance("lessThanXSeconds",10,c):d<20?a.formatDistance("lessThanXSeconds",20,c):d<40?a.formatDistance("halfAMinute",0,c):d<60?a.formatDistance("lessThanXMinutes",1,c):a.formatDistance("xMinutes",1,c):m===0?a.formatDistance("lessThanXMinutes",1,c):a.formatDistance("xMinutes",m,c);if(m<45)return a.formatDistance("xMinutes",m,c);if(m<90)return a.formatDistance("aboutXHours",1,c);if(m<VO){const h=Math.round(m/60);return a.formatDistance("aboutXHours",h,c)}else{if(m<i)return a.formatDistance("xDays",1,c);if(m<yv){const h=Math.round(m/VO);return a.formatDistance("xDays",h,c)}else if(m<yv*2)return v=Math.round(m/yv),a.formatDistance("aboutXMonths",v,c)}if(v=gwe(u,l),v<12){const h=Math.round(m/yv);return a.formatDistance("xMonths",h,c)}else{const h=v%12,y=Math.trunc(v/12);return h<3?a.formatDistance("aboutXYears",y,c):h<9?a.formatDistance("overXYears",y,c):a.formatDistance("almostXYears",y+1,c)}}o(vg,"formatDistance");function f2e(){return Object.assign({},Vl())}o(f2e,"getDefaultOptions");function p2e(e){let n=Tt(e).getDay();return n===0&&(n=7),n}o(p2e,"getISODay");function m2e(e,t){const n=Tt(e),r=Tt(t);return n.getTime()>r.getTime()}o(m2e,"isAfter");function h2e(e,t){const n=t instanceof Date?xn(t,0):new t(0);return n.setFullYear(e.getFullYear(),e.getMonth(),e.getDate()),n.setHours(e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()),n}o(h2e,"transpose");const g2e=10,k8=class k8{constructor(){tt(this,"subPriority",0)}validate(t,n){return!0}};o(k8,"Setter");let Ob=k8;const E8=class E8 extends Ob{constructor(t,n,r,a,i){super(),this.value=t,this.validateValue=n,this.setValue=r,this.priority=a,i&&(this.subPriority=i)}validate(t,n){return this.validateValue(t,this.value,n)}set(t,n,r){return this.setValue(t,n,this.value,r)}};o(E8,"ValueSetter");let v$=E8;const R8=class R8 extends Ob{constructor(){super(...arguments);tt(this,"priority",g2e);tt(this,"subPriority",-1)}set(n,r){return r.timestampIsSet?n:xn(n,h2e(n,Date))}};o(R8,"DateToSystemTimezoneSetter");let y$=R8;const A8=class A8{run(t,n,r,a){const i=this.parse(t,n,r,a);return i?{setter:new v$(i.value,this.validate,this.set,this.priority,this.subPriority),rest:i.rest}:null}validate(t,n,r){return!0}};o(A8,"Parser");let Ht=A8;const P8=class P8 extends Ht{constructor(){super(...arguments);tt(this,"priority",140);tt(this,"incompatibleTokens",["R","u","t","T"])}parse(n,r,a){switch(r){case"G":case"GG":case"GGG":return a.era(n,{width:"abbreviated"})||a.era(n,{width:"narrow"});case"GGGGG":return a.era(n,{width:"narrow"});case"GGGG":default:return a.era(n,{width:"wide"})||a.era(n,{width:"abbreviated"})||a.era(n,{width:"narrow"})}}set(n,r,a){return r.era=a,n.setFullYear(a,0,1),n.setHours(0,0,0,0),n}};o(P8,"EraParser");let b$=P8;const qn={month:/^(1[0-2]|0?\d)/,date:/^(3[0-1]|[0-2]?\d)/,dayOfYear:/^(36[0-6]|3[0-5]\d|[0-2]?\d?\d)/,week:/^(5[0-3]|[0-4]?\d)/,hour23h:/^(2[0-3]|[0-1]?\d)/,hour24h:/^(2[0-4]|[0-1]?\d)/,hour11h:/^(1[0-1]|0?\d)/,hour12h:/^(1[0-2]|0?\d)/,minute:/^[0-5]?\d/,second:/^[0-5]?\d/,singleDigit:/^\d/,twoDigits:/^\d{1,2}/,threeDigits:/^\d{1,3}/,fourDigits:/^\d{1,4}/,anyDigitsSigned:/^-?\d+/,singleDigitSigned:/^-?\d/,twoDigitsSigned:/^-?\d{1,2}/,threeDigitsSigned:/^-?\d{1,3}/,fourDigitsSigned:/^-?\d{1,4}/},vi={basicOptionalMinutes:/^([+-])(\d{2})(\d{2})?|Z/,basic:/^([+-])(\d{2})(\d{2})|Z/,basicOptionalSeconds:/^([+-])(\d{2})(\d{2})((\d{2}))?|Z/,extended:/^([+-])(\d{2}):(\d{2})|Z/,extendedOptionalSeconds:/^([+-])(\d{2}):(\d{2})(:(\d{2}))?|Z/};function Vn(e,t){return e&&{value:t(e.value),rest:e.rest}}o(Vn,"mapValue");function kn(e,t){const n=t.match(e);return n?{value:parseInt(n[0],10),rest:t.slice(n[0].length)}:null}o(kn,"parseNumericPattern");function yi(e,t){const n=t.match(e);if(!n)return null;if(n[0]==="Z")return{value:0,rest:t.slice(1)};const r=n[1]==="+"?1:-1,a=n[2]?parseInt(n[2],10):0,i=n[3]?parseInt(n[3],10):0,s=n[5]?parseInt(n[5],10):0;return{value:r*(a*FE+i*NE+s*owe),rest:t.slice(n[0].length)}}o(yi,"parseTimezonePattern");function DW(e){return kn(qn.anyDigitsSigned,e)}o(DW,"parseAnyDigitsSigned");function Dn(e,t){switch(e){case 1:return kn(qn.singleDigit,t);case 2:return kn(qn.twoDigits,t);case 3:return kn(qn.threeDigits,t);case 4:return kn(qn.fourDigits,t);default:return kn(new RegExp("^\\d{1,"+e+"}"),t)}}o(Dn,"parseNDigits");function zb(e,t){switch(e){case 1:return kn(qn.singleDigitSigned,t);case 2:return kn(qn.twoDigitsSigned,t);case 3:return kn(qn.threeDigitsSigned,t);case 4:return kn(qn.fourDigitsSigned,t);default:return kn(new RegExp("^-?\\d{1,"+e+"}"),t)}}o(zb,"parseNDigitsSigned");function HE(e){switch(e){case"morning":return 4;case"evening":return 17;case"pm":case"noon":case"afternoon":return 12;case"am":case"midnight":case"night":default:return 0}}o(HE,"dayPeriodEnumToHours");function NW(e,t){const n=t>0,r=n?t:1-t;let a;if(r<=50)a=e||100;else{const i=r+50,s=Math.trunc(i/100)*100,c=e>=i%100;a=e+s-(c?100:0)}return n?a:1-a}o(NW,"normalizeTwoDigitYear");function FW(e){return e%400===0||e%4===0&&e%100!==0}o(FW,"isLeapYearIndex$1");const M8=class M8 extends Ht{constructor(){super(...arguments);tt(this,"priority",130);tt(this,"incompatibleTokens",["Y","R","u","w","I","i","e","c","t","T"])}parse(n,r,a){const i=o(s=>({year:s,isTwoDigitYear:r==="yy"}),"valueCallback");switch(r){case"y":return Vn(Dn(4,n),i);case"yo":return Vn(a.ordinalNumber(n,{unit:"year"}),i);default:return Vn(Dn(r.length,n),i)}}validate(n,r){return r.isTwoDigitYear||r.year>0}set(n,r,a){const i=n.getFullYear();if(a.isTwoDigitYear){const c=NW(a.year,i);return n.setFullYear(c,0,1),n.setHours(0,0,0,0),n}const s=!("era"in r)||r.era===1?a.year:1-a.year;return n.setFullYear(s,0,1),n.setHours(0,0,0,0),n}};o(M8,"YearParser");let x$=M8;const T8=class T8 extends Ht{constructor(){super(...arguments);tt(this,"priority",130);tt(this,"incompatibleTokens",["y","R","u","Q","q","M","L","I","d","D","i","t","T"])}parse(n,r,a){const i=o(s=>({year:s,isTwoDigitYear:r==="YY"}),"valueCallback");switch(r){case"Y":return Vn(Dn(4,n),i);case"Yo":return Vn(a.ordinalNumber(n,{unit:"year"}),i);default:return Vn(Dn(r.length,n),i)}}validate(n,r){return r.isTwoDigitYear||r.year>0}set(n,r,a,i){const s=UE(n,i);if(a.isTwoDigitYear){const l=NW(a.year,s);return n.setFullYear(l,0,i.firstWeekContainsDate),n.setHours(0,0,0,0),Ai(n,i)}const c=!("era"in r)||r.era===1?a.year:1-a.year;return n.setFullYear(c,0,i.firstWeekContainsDate),n.setHours(0,0,0,0),Ai(n,i)}};o(T8,"LocalWeekYearParser");let w$=T8;const O8=class O8 extends Ht{constructor(){super(...arguments);tt(this,"priority",130);tt(this,"incompatibleTokens",["G","y","Y","u","Q","q","M","L","w","d","D","e","c","t","T"])}parse(n,r){return zb(r==="R"?4:r.length,n)}set(n,r,a){const i=xn(n,0);return i.setFullYear(a,0,4),i.setHours(0,0,0,0),sf(i)}};o(O8,"ISOWeekYearParser");let C$=O8;const z8=class z8 extends Ht{constructor(){super(...arguments);tt(this,"priority",130);tt(this,"incompatibleTokens",["G","y","Y","R","w","I","i","e","c","t","T"])}parse(n,r){return zb(r==="u"?4:r.length,n)}set(n,r,a){return n.setFullYear(a,0,1),n.setHours(0,0,0,0),n}};o(z8,"ExtendedYearParser");let S$=z8;const I8=class I8 extends Ht{constructor(){super(...arguments);tt(this,"priority",120);tt(this,"incompatibleTokens",["Y","R","q","M","L","w","I","d","D","i","e","c","t","T"])}parse(n,r,a){switch(r){case"Q":case"QQ":return Dn(r.length,n);case"Qo":return a.ordinalNumber(n,{unit:"quarter"});case"QQQ":return a.quarter(n,{width:"abbreviated",context:"formatting"})||a.quarter(n,{width:"narrow",context:"formatting"});case"QQQQQ":return a.quarter(n,{width:"narrow",context:"formatting"});case"QQQQ":default:return a.quarter(n,{width:"wide",context:"formatting"})||a.quarter(n,{width:"abbreviated",context:"formatting"})||a.quarter(n,{width:"narrow",context:"formatting"})}}validate(n,r){return r>=1&&r<=4}set(n,r,a){return n.setMonth((a-1)*3,1),n.setHours(0,0,0,0),n}};o(I8,"QuarterParser");let j$=I8;const L8=class L8 extends Ht{constructor(){super(...arguments);tt(this,"priority",120);tt(this,"incompatibleTokens",["Y","R","Q","M","L","w","I","d","D","i","e","c","t","T"])}parse(n,r,a){switch(r){case"q":case"qq":return Dn(r.length,n);case"qo":return a.ordinalNumber(n,{unit:"quarter"});case"qqq":return a.quarter(n,{width:"abbreviated",context:"standalone"})||a.quarter(n,{width:"narrow",context:"standalone"});case"qqqqq":return a.quarter(n,{width:"narrow",context:"standalone"});case"qqqq":default:return a.quarter(n,{width:"wide",context:"standalone"})||a.quarter(n,{width:"abbreviated",context:"standalone"})||a.quarter(n,{width:"narrow",context:"standalone"})}}validate(n,r){return r>=1&&r<=4}set(n,r,a){return n.setMonth((a-1)*3,1),n.setHours(0,0,0,0),n}};o(L8,"StandAloneQuarterParser");let $$=L8;const D8=class D8 extends Ht{constructor(){super(...arguments);tt(this,"incompatibleTokens",["Y","R","q","Q","L","w","I","D","i","e","c","t","T"]);tt(this,"priority",110)}parse(n,r,a){const i=o(s=>s-1,"valueCallback");switch(r){case"M":return Vn(kn(qn.month,n),i);case"MM":return Vn(Dn(2,n),i);case"Mo":return Vn(a.ordinalNumber(n,{unit:"month"}),i);case"MMM":return a.month(n,{width:"abbreviated",context:"formatting"})||a.month(n,{width:"narrow",context:"formatting"});case"MMMMM":return a.month(n,{width:"narrow",context:"formatting"});case"MMMM":default:return a.month(n,{width:"wide",context:"formatting"})||a.month(n,{width:"abbreviated",context:"formatting"})||a.month(n,{width:"narrow",context:"formatting"})}}validate(n,r){return r>=0&&r<=11}set(n,r,a){return n.setMonth(a,1),n.setHours(0,0,0,0),n}};o(D8,"MonthParser");let _$=D8;const N8=class N8 extends Ht{constructor(){super(...arguments);tt(this,"priority",110);tt(this,"incompatibleTokens",["Y","R","q","Q","M","w","I","D","i","e","c","t","T"])}parse(n,r,a){const i=o(s=>s-1,"valueCallback");switch(r){case"L":return Vn(kn(qn.month,n),i);case"LL":return Vn(Dn(2,n),i);case"Lo":return Vn(a.ordinalNumber(n,{unit:"month"}),i);case"LLL":return a.month(n,{width:"abbreviated",context:"standalone"})||a.month(n,{width:"narrow",context:"standalone"});case"LLLLL":return a.month(n,{width:"narrow",context:"standalone"});case"LLLL":default:return a.month(n,{width:"wide",context:"standalone"})||a.month(n,{width:"abbreviated",context:"standalone"})||a.month(n,{width:"narrow",context:"standalone"})}}validate(n,r){return r>=0&&r<=11}set(n,r,a){return n.setMonth(a,1),n.setHours(0,0,0,0),n}};o(N8,"StandAloneMonthParser");let k$=N8;function v2e(e,t,n){const r=Tt(e),a=OW(r,n)-t;return r.setDate(r.getDate()-a*7),r}o(v2e,"setWeek");const F8=class F8 extends Ht{constructor(){super(...arguments);tt(this,"priority",100);tt(this,"incompatibleTokens",["y","R","u","q","Q","M","L","I","d","D","i","t","T"])}parse(n,r,a){switch(r){case"w":return kn(qn.week,n);case"wo":return a.ordinalNumber(n,{unit:"week"});default:return Dn(r.length,n)}}validate(n,r){return r>=1&&r<=53}set(n,r,a,i){return Ai(v2e(n,a,i),i)}};o(F8,"LocalWeekParser");let E$=F8;function y2e(e,t){const n=Tt(e),r=TW(n)-t;return n.setDate(n.getDate()-r*7),n}o(y2e,"setISOWeek");const B8=class B8 extends Ht{constructor(){super(...arguments);tt(this,"priority",100);tt(this,"incompatibleTokens",["y","Y","u","q","Q","M","L","w","d","D","e","c","t","T"])}parse(n,r,a){switch(r){case"I":return kn(qn.week,n);case"Io":return a.ordinalNumber(n,{unit:"week"});default:return Dn(r.length,n)}}validate(n,r){return r>=1&&r<=53}set(n,r,a){return sf(y2e(n,a))}};o(B8,"ISOWeekParser");let R$=B8;const b2e=[31,28,31,30,31,30,31,31,30,31,30,31],x2e=[31,29,31,30,31,30,31,31,30,31,30,31],W8=class W8 extends Ht{constructor(){super(...arguments);tt(this,"priority",90);tt(this,"subPriority",1);tt(this,"incompatibleTokens",["Y","R","q","Q","w","I","D","i","e","c","t","T"])}parse(n,r,a){switch(r){case"d":return kn(qn.date,n);case"do":return a.ordinalNumber(n,{unit:"date"});default:return Dn(r.length,n)}}validate(n,r){const a=n.getFullYear(),i=FW(a),s=n.getMonth();return i?r>=1&&r<=x2e[s]:r>=1&&r<=b2e[s]}set(n,r,a){return n.setDate(a),n.setHours(0,0,0,0),n}};o(W8,"DateParser");let A$=W8;const U8=class U8 extends Ht{constructor(){super(...arguments);tt(this,"priority",90);tt(this,"subpriority",1);tt(this,"incompatibleTokens",["Y","R","q","Q","M","L","w","I","d","E","i","e","c","t","T"])}parse(n,r,a){switch(r){case"D":case"DD":return kn(qn.dayOfYear,n);case"Do":return a.ordinalNumber(n,{unit:"date"});default:return Dn(r.length,n)}}validate(n,r){const a=n.getFullYear();return FW(a)?r>=1&&r<=366:r>=1&&r<=365}set(n,r,a){return n.setMonth(0,a),n.setHours(0,0,0,0),n}};o(U8,"DayOfYearParser");let P$=U8;function qE(e,t,n){var p,m,v,h;const r=Vl(),a=(n==null?void 0:n.weekStartsOn)??((m=(p=n==null?void 0:n.locale)==null?void 0:p.options)==null?void 0:m.weekStartsOn)??r.weekStartsOn??((h=(v=r.locale)==null?void 0:v.options)==null?void 0:h.weekStartsOn)??0,i=Tt(e),s=i.getDay(),l=(t%7+7)%7,u=7-a,d=t<0||t>6?t-(s+u)%7:(l+u)%7-(s+u)%7;return DE(i,d)}o(qE,"setDay");const H8=class H8 extends Ht{constructor(){super(...arguments);tt(this,"priority",90);tt(this,"incompatibleTokens",["D","i","e","c","t","T"])}parse(n,r,a){switch(r){case"E":case"EE":case"EEE":return a.day(n,{width:"abbreviated",context:"formatting"})||a.day(n,{width:"short",context:"formatting"})||a.day(n,{width:"narrow",context:"formatting"});case"EEEEE":return a.day(n,{width:"narrow",context:"formatting"});case"EEEEEE":return a.day(n,{width:"short",context:"formatting"})||a.day(n,{width:"narrow",context:"formatting"});case"EEEE":default:return a.day(n,{width:"wide",context:"formatting"})||a.day(n,{width:"abbreviated",context:"formatting"})||a.day(n,{width:"short",context:"formatting"})||a.day(n,{width:"narrow",context:"formatting"})}}validate(n,r){return r>=0&&r<=6}set(n,r,a,i){return n=qE(n,a,i),n.setHours(0,0,0,0),n}};o(H8,"DayParser");let M$=H8;const q8=class q8 extends Ht{constructor(){super(...arguments);tt(this,"priority",90);tt(this,"incompatibleTokens",["y","R","u","q","Q","M","L","I","d","D","E","i","c","t","T"])}parse(n,r,a,i){const s=o(c=>{const l=Math.floor((c-1)/7)*7;return(c+i.weekStartsOn+6)%7+l},"valueCallback");switch(r){case"e":case"ee":return Vn(Dn(r.length,n),s);case"eo":return Vn(a.ordinalNumber(n,{unit:"day"}),s);case"eee":return a.day(n,{width:"abbreviated",context:"formatting"})||a.day(n,{width:"short",context:"formatting"})||a.day(n,{width:"narrow",context:"formatting"});case"eeeee":return a.day(n,{width:"narrow",context:"formatting"});case"eeeeee":return a.day(n,{width:"short",context:"formatting"})||a.day(n,{width:"narrow",context:"formatting"});case"eeee":default:return a.day(n,{width:"wide",context:"formatting"})||a.day(n,{width:"abbreviated",context:"formatting"})||a.day(n,{width:"short",context:"formatting"})||a.day(n,{width:"narrow",context:"formatting"})}}validate(n,r){return r>=0&&r<=6}set(n,r,a,i){return n=qE(n,a,i),n.setHours(0,0,0,0),n}};o(q8,"LocalDayParser");let T$=q8;const V8=class V8 extends Ht{constructor(){super(...arguments);tt(this,"priority",90);tt(this,"incompatibleTokens",["y","R","u","q","Q","M","L","I","d","D","E","i","e","t","T"])}parse(n,r,a,i){const s=o(c=>{const l=Math.floor((c-1)/7)*7;return(c+i.weekStartsOn+6)%7+l},"valueCallback");switch(r){case"c":case"cc":return Vn(Dn(r.length,n),s);case"co":return Vn(a.ordinalNumber(n,{unit:"day"}),s);case"ccc":return a.day(n,{width:"abbreviated",context:"standalone"})||a.day(n,{width:"short",context:"standalone"})||a.day(n,{width:"narrow",context:"standalone"});case"ccccc":return a.day(n,{width:"narrow",context:"standalone"});case"cccccc":return a.day(n,{width:"short",context:"standalone"})||a.day(n,{width:"narrow",context:"standalone"});case"cccc":default:return a.day(n,{width:"wide",context:"standalone"})||a.day(n,{width:"abbreviated",context:"standalone"})||a.day(n,{width:"short",context:"standalone"})||a.day(n,{width:"narrow",context:"standalone"})}}validate(n,r){return r>=0&&r<=6}set(n,r,a,i){return n=qE(n,a,i),n.setHours(0,0,0,0),n}};o(V8,"StandAloneLocalDayParser");let O$=V8;function w2e(e,t){const n=Tt(e),r=p2e(n),a=t-r;return DE(n,a)}o(w2e,"setISODay");const G8=class G8 extends Ht{constructor(){super(...arguments);tt(this,"priority",90);tt(this,"incompatibleTokens",["y","Y","u","q","Q","M","L","w","d","D","E","e","c","t","T"])}parse(n,r,a){const i=o(s=>s===0?7:s,"valueCallback");switch(r){case"i":case"ii":return Dn(r.length,n);case"io":return a.ordinalNumber(n,{unit:"day"});case"iii":return Vn(a.day(n,{width:"abbreviated",context:"formatting"})||a.day(n,{width:"short",context:"formatting"})||a.day(n,{width:"narrow",context:"formatting"}),i);case"iiiii":return Vn(a.day(n,{width:"narrow",context:"formatting"}),i);case"iiiiii":return Vn(a.day(n,{width:"short",context:"formatting"})||a.day(n,{width:"narrow",context:"formatting"}),i);case"iiii":default:return Vn(a.day(n,{width:"wide",context:"formatting"})||a.day(n,{width:"abbreviated",context:"formatting"})||a.day(n,{width:"short",context:"formatting"})||a.day(n,{width:"narrow",context:"formatting"}),i)}}validate(n,r){return r>=1&&r<=7}set(n,r,a){return n=w2e(n,a),n.setHours(0,0,0,0),n}};o(G8,"ISODayParser");let z$=G8;const K8=class K8 extends Ht{constructor(){super(...arguments);tt(this,"priority",80);tt(this,"incompatibleTokens",["b","B","H","k","t","T"])}parse(n,r,a){switch(r){case"a":case"aa":case"aaa":return a.dayPeriod(n,{width:"abbreviated",context:"formatting"})||a.dayPeriod(n,{width:"narrow",context:"formatting"});case"aaaaa":return a.dayPeriod(n,{width:"narrow",context:"formatting"});case"aaaa":default:return a.dayPeriod(n,{width:"wide",context:"formatting"})||a.dayPeriod(n,{width:"abbreviated",context:"formatting"})||a.dayPeriod(n,{width:"narrow",context:"formatting"})}}set(n,r,a){return n.setHours(HE(a),0,0,0),n}};o(K8,"AMPMParser");let I$=K8;const J8=class J8 extends Ht{constructor(){super(...arguments);tt(this,"priority",80);tt(this,"incompatibleTokens",["a","B","H","k","t","T"])}parse(n,r,a){switch(r){case"b":case"bb":case"bbb":return a.dayPeriod(n,{width:"abbreviated",context:"formatting"})||a.dayPeriod(n,{width:"narrow",context:"formatting"});case"bbbbb":return a.dayPeriod(n,{width:"narrow",context:"formatting"});case"bbbb":default:return a.dayPeriod(n,{width:"wide",context:"formatting"})||a.dayPeriod(n,{width:"abbreviated",context:"formatting"})||a.dayPeriod(n,{width:"narrow",context:"formatting"})}}set(n,r,a){return n.setHours(HE(a),0,0,0),n}};o(J8,"AMPMMidnightParser");let L$=J8;const Y8=class Y8 extends Ht{constructor(){super(...arguments);tt(this,"priority",80);tt(this,"incompatibleTokens",["a","b","t","T"])}parse(n,r,a){switch(r){case"B":case"BB":case"BBB":return a.dayPeriod(n,{width:"abbreviated",context:"formatting"})||a.dayPeriod(n,{width:"narrow",context:"formatting"});case"BBBBB":return a.dayPeriod(n,{width:"narrow",context:"formatting"});case"BBBB":default:return a.dayPeriod(n,{width:"wide",context:"formatting"})||a.dayPeriod(n,{width:"abbreviated",context:"formatting"})||a.dayPeriod(n,{width:"narrow",context:"formatting"})}}set(n,r,a){return n.setHours(HE(a),0,0,0),n}};o(Y8,"DayPeriodParser");let D$=Y8;const Q8=class Q8 extends Ht{constructor(){super(...arguments);tt(this,"priority",70);tt(this,"incompatibleTokens",["H","K","k","t","T"])}parse(n,r,a){switch(r){case"h":return kn(qn.hour12h,n);case"ho":return a.ordinalNumber(n,{unit:"hour"});default:return Dn(r.length,n)}}validate(n,r){return r>=1&&r<=12}set(n,r,a){const i=n.getHours()>=12;return i&&a<12?n.setHours(a+12,0,0,0):!i&&a===12?n.setHours(0,0,0,0):n.setHours(a,0,0,0),n}};o(Q8,"Hour1to12Parser");let N$=Q8;const X8=class X8 extends Ht{constructor(){super(...arguments);tt(this,"priority",70);tt(this,"incompatibleTokens",["a","b","h","K","k","t","T"])}parse(n,r,a){switch(r){case"H":return kn(qn.hour23h,n);case"Ho":return a.ordinalNumber(n,{unit:"hour"});default:return Dn(r.length,n)}}validate(n,r){return r>=0&&r<=23}set(n,r,a){return n.setHours(a,0,0,0),n}};o(X8,"Hour0to23Parser");let F$=X8;const Z8=class Z8 extends Ht{constructor(){super(...arguments);tt(this,"priority",70);tt(this,"incompatibleTokens",["h","H","k","t","T"])}parse(n,r,a){switch(r){case"K":return kn(qn.hour11h,n);case"Ko":return a.ordinalNumber(n,{unit:"hour"});default:return Dn(r.length,n)}}validate(n,r){return r>=0&&r<=11}set(n,r,a){return n.getHours()>=12&&a<12?n.setHours(a+12,0,0,0):n.setHours(a,0,0,0),n}};o(Z8,"Hour0To11Parser");let B$=Z8;const eM=class eM extends Ht{constructor(){super(...arguments);tt(this,"priority",70);tt(this,"incompatibleTokens",["a","b","h","H","K","t","T"])}parse(n,r,a){switch(r){case"k":return kn(qn.hour24h,n);case"ko":return a.ordinalNumber(n,{unit:"hour"});default:return Dn(r.length,n)}}validate(n,r){return r>=1&&r<=24}set(n,r,a){const i=a<=24?a%24:a;return n.setHours(i,0,0,0),n}};o(eM,"Hour1To24Parser");let W$=eM;const tM=class tM extends Ht{constructor(){super(...arguments);tt(this,"priority",60);tt(this,"incompatibleTokens",["t","T"])}parse(n,r,a){switch(r){case"m":return kn(qn.minute,n);case"mo":return a.ordinalNumber(n,{unit:"minute"});default:return Dn(r.length,n)}}validate(n,r){return r>=0&&r<=59}set(n,r,a){return n.setMinutes(a,0,0),n}};o(tM,"MinuteParser");let U$=tM;const nM=class nM extends Ht{constructor(){super(...arguments);tt(this,"priority",50);tt(this,"incompatibleTokens",["t","T"])}parse(n,r,a){switch(r){case"s":return kn(qn.second,n);case"so":return a.ordinalNumber(n,{unit:"second"});default:return Dn(r.length,n)}}validate(n,r){return r>=0&&r<=59}set(n,r,a){return n.setSeconds(a,0),n}};o(nM,"SecondParser");let H$=nM;const rM=class rM extends Ht{constructor(){super(...arguments);tt(this,"priority",30);tt(this,"incompatibleTokens",["t","T"])}parse(n,r){const a=o(i=>Math.trunc(i*Math.pow(10,-r.length+3)),"valueCallback");return Vn(Dn(r.length,n),a)}set(n,r,a){return n.setMilliseconds(a),n}};o(rM,"FractionOfSecondParser");let q$=rM;const aM=class aM extends Ht{constructor(){super(...arguments);tt(this,"priority",10);tt(this,"incompatibleTokens",["t","T","x"])}parse(n,r){switch(r){case"X":return yi(vi.basicOptionalMinutes,n);case"XX":return yi(vi.basic,n);case"XXXX":return yi(vi.basicOptionalSeconds,n);case"XXXXX":return yi(vi.extendedOptionalSeconds,n);case"XXX":default:return yi(vi.extended,n)}}set(n,r,a){return r.timestampIsSet?n:xn(n,n.getTime()-cf(n)-a)}};o(aM,"ISOTimezoneWithZParser");let V$=aM;const oM=class oM extends Ht{constructor(){super(...arguments);tt(this,"priority",10);tt(this,"incompatibleTokens",["t","T","X"])}parse(n,r){switch(r){case"x":return yi(vi.basicOptionalMinutes,n);case"xx":return yi(vi.basic,n);case"xxxx":return yi(vi.basicOptionalSeconds,n);case"xxxxx":return yi(vi.extendedOptionalSeconds,n);case"xxx":default:return yi(vi.extended,n)}}set(n,r,a){return r.timestampIsSet?n:xn(n,n.getTime()-cf(n)-a)}};o(oM,"ISOTimezoneParser");let G$=oM;const iM=class iM extends Ht{constructor(){super(...arguments);tt(this,"priority",40);tt(this,"incompatibleTokens","*")}parse(n){return DW(n)}set(n,r,a){return[xn(n,a*1e3),{timestampIsSet:!0}]}};o(iM,"TimestampSecondsParser");let K$=iM;const sM=class sM extends Ht{constructor(){super(...arguments);tt(this,"priority",20);tt(this,"incompatibleTokens","*")}parse(n){return DW(n)}set(n,r,a){return[xn(n,a),{timestampIsSet:!0}]}};o(sM,"TimestampMillisecondsParser");let J$=sM;const C2e={G:new b$,y:new x$,Y:new w$,R:new C$,u:new S$,Q:new j$,q:new $$,M:new _$,L:new k$,w:new E$,I:new R$,d:new A$,D:new P$,E:new M$,e:new T$,c:new O$,i:new z$,a:new I$,b:new L$,B:new D$,h:new N$,H:new F$,K:new B$,k:new W$,m:new U$,s:new H$,S:new q$,X:new V$,x:new G$,t:new K$,T:new J$},S2e=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,j2e=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,$2e=/^'([^]*?)'?$/,_2e=/''/g,k2e=/\S/,E2e=/[a-zA-Z]/;function R2e(e,t,n,r){var y,C,w,x;const a=f2e(),i=a.locale??WE,s=a.firstWeekContainsDate??((C=(y=a.locale)==null?void 0:y.options)==null?void 0:C.firstWeekContainsDate)??1,c=a.weekStartsOn??((x=(w=a.locale)==null?void 0:w.options)==null?void 0:x.weekStartsOn)??0;if(t==="")return e===""?Tt(n):xn(n,NaN);const l={firstWeekContainsDate:s,weekStartsOn:c,locale:i},u=[new y$],d=t.match(j2e).map(b=>{const S=b[0];if(S in h$){const $=h$[S];return $(b,i.formatLong)}return b}).join("").match(S2e),p=[];for(let b of d){LW(b)&&g$(b,t,e),IW(b)&&g$(b,t,e);const S=b[0],$=C2e[S];if($){const{incompatibleTokens:j}=$;if(Array.isArray(j)){const k=p.find(E=>j.includes(E.token)||E.token===S);if(k)throw new RangeError(`The format string mustn't contain \`${k.fullToken}\` and \`${b}\` at the same time`)}else if($.incompatibleTokens==="*"&&p.length>0)throw new RangeError(`The format string mustn't contain \`${b}\` and any other token at the same time`);p.push({token:S,fullToken:b});const _=$.run(e,b,i.match,l);if(!_)return xn(n,NaN);u.push(_.setter),e=_.rest}else{if(S.match(E2e))throw new RangeError("Format string contains an unescaped latin alphabet character `"+S+"`");if(b==="''"?b="'":S==="'"&&(b=A2e(b)),e.indexOf(b)===0)e=e.slice(b.length);else return xn(n,NaN)}}if(e.length>0&&k2e.test(e))return xn(n,NaN);const m=u.map(b=>b.priority).sort((b,S)=>S-b).filter((b,S,$)=>$.indexOf(b)===S).map(b=>u.filter(S=>S.priority===b).sort((S,$)=>$.subPriority-S.subPriority)).map(b=>b[0]);let v=Tt(n);if(isNaN(v.getTime()))return xn(n,NaN);const h={};for(const b of m){if(!b.validate(v,l))return xn(n,NaN);const S=b.set(v,h,l);Array.isArray(S)?(v=S[0],Object.assign(h,S[1])):v=S}return xn(n,v)}o(R2e,"parse$2");function A2e(e){return e.match($2e)[1].replace(_2e,"'")}o(A2e,"cleanEscapedString");function XO(e,t,n){return BE(R2e(e,t,new Date))}o(XO,"isMatch");function P2e(e,t){const r=z2e(e);let a;if(r.date){const l=I2e(r.date,2);a=L2e(l.restDateString,l.year)}if(!a||isNaN(a.getTime()))return new Date(NaN);const i=a.getTime();let s=0,c;if(r.time&&(s=D2e(r.time),isNaN(s)))return new Date(NaN);if(r.timezone){if(c=N2e(r.timezone),isNaN(c))return new Date(NaN)}else{const l=new Date(i+s),u=new Date(0);return u.setFullYear(l.getUTCFullYear(),l.getUTCMonth(),l.getUTCDate()),u.setHours(l.getUTCHours(),l.getUTCMinutes(),l.getUTCSeconds(),l.getUTCMilliseconds()),u}return new Date(i+s+c)}o(P2e,"parseISO");const bv={dateTimeDelimiter:/[T ]/,timeZoneDelimiter:/[Z ]/i,timezone:/([Z+-].*)$/},M2e=/^-?(?:(\d{3})|(\d{2})(?:-?(\d{2}))?|W(\d{2})(?:-?(\d{1}))?|)$/,T2e=/^(\d{2}(?:[.,]\d*)?)(?::?(\d{2}(?:[.,]\d*)?))?(?::?(\d{2}(?:[.,]\d*)?))?$/,O2e=/^([+-])(\d{2})(?::?(\d{2}))?$/;function z2e(e){const t={},n=e.split(bv.dateTimeDelimiter);let r;if(n.length>2)return t;if(/:/.test(n[0])?r=n[0]:(t.date=n[0],r=n[1],bv.timeZoneDelimiter.test(t.date)&&(t.date=e.split(bv.timeZoneDelimiter)[0],r=e.substr(t.date.length,e.length))),r){const a=bv.timezone.exec(r);a?(t.time=r.replace(a[1],""),t.timezone=a[1]):t.time=r}return t}o(z2e,"splitDateString");function I2e(e,t){const n=new RegExp("^(?:(\\d{4}|[+-]\\d{"+(4+t)+"})|(\\d{2}|[+-]\\d{"+(2+t)+"})$)"),r=e.match(n);if(!r)return{year:NaN,restDateString:""};const a=r[1]?parseInt(r[1]):null,i=r[2]?parseInt(r[2]):null;return{year:i===null?a:i*100,restDateString:e.slice((r[1]||r[2]).length)}}o(I2e,"parseYear$1");function L2e(e,t){if(t===null)return new Date(NaN);const n=e.match(M2e);if(!n)return new Date(NaN);const r=!!n[4],a=Up(n[1]),i=Up(n[2])-1,s=Up(n[3]),c=Up(n[4]),l=Up(n[5])-1;if(r)return H2e(t,c,l)?F2e(t,c,l):new Date(NaN);{const u=new Date(0);return!W2e(t,i,s)||!U2e(t,a)?new Date(NaN):(u.setUTCFullYear(t,i,Math.max(a,s)),u)}}o(L2e,"parseDate");function Up(e){return e?parseInt(e):1}o(Up,"parseDateUnit");function D2e(e){const t=e.match(T2e);if(!t)return NaN;const n=W2(t[1]),r=W2(t[2]),a=W2(t[3]);return q2e(n,r,a)?n*FE+r*NE+a*1e3:NaN}o(D2e,"parseTime");function W2(e){return e&&parseFloat(e.replace(",","."))||0}o(W2,"parseTimeUnit");function N2e(e){if(e==="Z")return 0;const t=e.match(O2e);if(!t)return 0;const n=t[1]==="+"?-1:1,r=parseInt(t[2]),a=t[3]&&parseInt(t[3])||0;return V2e(r,a)?n*(r*FE+a*NE):NaN}o(N2e,"parseTimezone");function F2e(e,t,n){const r=new Date(0);r.setUTCFullYear(e,0,4);const a=r.getUTCDay()||7,i=(t-1)*7+n+1-a;return r.setUTCDate(r.getUTCDate()+i),r}o(F2e,"dayOfISOWeekYear");const B2e=[31,null,31,30,31,30,31,31,30,31,30,31];function BW(e){return e%400===0||e%4===0&&e%100!==0}o(BW,"isLeapYearIndex");function W2e(e,t,n){return t>=0&&t<=11&&n>=1&&n<=(B2e[t]||(BW(e)?29:28))}o(W2e,"validateDate");function U2e(e,t){return t>=1&&t<=(BW(e)?366:365)}o(U2e,"validateDayOfYearDate");function H2e(e,t,n){return t>=1&&t<=53&&n>=0&&n<=6}o(H2e,"validateWeekDate");function q2e(e,t,n){return e===24?t===0&&n===0:n>=0&&n<60&&t>=0&&t<60&&e>=0&&e<25}o(q2e,"validateTime");function V2e(e,t){return t>=0&&t<=59}o(V2e,"validateTimezone");function G2e(e,t){return AW(e,-t)}o(G2e,"subMonths");const K2e=o(e=>!isNaN(parseFloat(e))&&isFinite(e),"isNumeric"),J2e=o(e=>e.every(K2e),"valuesAreNumeric"),Y2e=o(e=>Number.isInteger(e)||!isNaN(parseInt(e)),"isInteger"),Q2e=o(e=>e.every(Y2e),"valuesAreInteger"),X2e=o(e=>typeof e=="boolean","isBoolean"),Z2e=o(e=>e.every(X2e),"valuesAreBoolean"),eCe=o(e=>typeof e=="string","isString$3"),tCe=o(e=>e.every(eCe),"valuesAreString"),nCe=/<([A-Z][A-Z0-9]*)\b[^>]*>(.*?)<\/\1>/i,rCe=o(e=>!e||nCe.test(e),"isHtml"),aCe=o(e=>e.every(rCe),"valuesAreHtml"),oCe=o(e=>Array.isArray(e),"isArray$3"),iCe=o(e=>e.every(oCe),"valuesAreArray"),sCe=o(e=>!e||e instanceof Date,"isDate"),cCe=o(e=>e.every(sCe),"valuesAreDate"),lCe=o(e=>!e||typeof e=="string"&&(XO(e,"MM/dd/yyyy")||XO(e,"MM/dd/yy")||BE(P2e(e))),"isDateString"),uCe=o(e=>e.every(lCe),"valuesAreDateString"),WW=o(e=>Object.prototype.toString.call(e)==="[object Object]","isObject"),dCe=o(e=>e.every(WW),"valuesAreObject"),fCe=o(()=>f.jsx("span",{children:";"}),"DefaultComponent$1"),ko={type:fCe,representation:o(()=>"<DefaultComponent />","representation")},pCe={array:ko,boolean:ko,date:ko,email:ko,id:ko,number:ko,reference:ko,referenceArray:ko,richText:ko,string:ko,url:ko},ja=o((e,t)=>typeof t[e]<"u","hasType"),Y$=o((e,t=[],n=pCe)=>{if(e==="id"&&ja("id",n))return new Fn(n.id,{source:e});if(e.substr(e.length-3)==="_id"&&ja("reference",n)){const r=Ju(e.substr(0,e.length-3));return n.reference&&new Fn(n.reference,{source:e,reference:r})}if(e.substr(e.length-2)==="Id"&&ja("reference",n)){const r=Ju(e.substr(0,e.length-2));return n.reference&&new Fn(n.reference,{source:e,reference:r})}if(e.substr(e.length-4)==="_ids"&&ja("referenceArray",n)){const r=Ju(e.substr(0,e.length-4));return n.referenceArray&&new Fn(n.referenceArray,{source:e,reference:r})}if(e.substr(e.length-3)==="Ids"&&ja("referenceArray",n)){const r=Ju(e.substr(0,e.length-3));return n.referenceArray&&new Fn(n.referenceArray,{source:e,reference:r})}if(t.length===0)return new Fn(n.string,{source:e});if(iCe(t)){if(WW(t[0][0])&&ja("array",n)){const r=RW(t.reduce((a,i)=>a.concat(i),[]));return n.array&&new Fn(n.array,{source:e},Object.keys(r).map(a=>Y$(a,r[a],n)))}return new Fn(n.string,{source:e})}if(Z2e(t)&&ja("boolean",n))return new Fn(n.boolean,{source:e});if(cCe(t)&&ja("date",n))return new Fn(n.date,{source:e});if(tCe(t))return e==="email"&&ja("email",n)?new Fn(n.email,{source:e}):e==="url"&&ja("url",n)?new Fn(n.url,{source:e}):uCe(t)&&ja("date",n)?new Fn(n.date,{source:e}):aCe(t)&&ja("richText",n)?new Fn(n.richText,{source:e}):new Fn(n.string,{source:e});if((Q2e(t)||J2e(t))&&ja("number",n))return new Fn(n.number,{source:e});if(dCe(t)){const r=Object.keys(t[0]).shift();if(!r)return new Fn(n.string,{source:e});const a=t.map(i=>i[r]);return Y$(`${e}.${r}`,a,n)}return new Fn(n.string,{source:e})},"inferElementFromValues"),mCe=o((e,t)=>{const n=RW(e);return Object.keys(n).reduce((r,a)=>r.concat(Y$(a,n[a],t)),[]).filter(r=>r.isDefined())},"getElementsFromRecords"),vh={black:"#000",white:"#fff"},lu={50:"#ffebee",100:"#ffcdd2",200:"#ef9a9a",300:"#e57373",400:"#ef5350",500:"#f44336",600:"#e53935",700:"#d32f2f",800:"#c62828",900:"#b71c1c",A100:"#ff8a80",A200:"#ff5252",A400:"#ff1744",A700:"#d50000"},uu={50:"#f3e5f5",100:"#e1bee7",200:"#ce93d8",300:"#ba68c8",400:"#ab47bc",500:"#9c27b0",600:"#8e24aa",700:"#7b1fa2",800:"#6a1b9a",900:"#4a148c",A100:"#ea80fc",A200:"#e040fb",A400:"#d500f9",A700:"#aa00ff"},du={50:"#e3f2fd",100:"#bbdefb",200:"#90caf9",300:"#64b5f6",400:"#42a5f5",500:"#2196f3",600:"#1e88e5",700:"#1976d2",800:"#1565c0",900:"#0d47a1",A100:"#82b1ff",A200:"#448aff",A400:"#2979ff",A700:"#2962ff"},fu={50:"#e1f5fe",100:"#b3e5fc",200:"#81d4fa",300:"#4fc3f7",400:"#29b6f6",500:"#03a9f4",600:"#039be5",700:"#0288d1",800:"#0277bd",900:"#01579b",A100:"#80d8ff",A200:"#40c4ff",A400:"#00b0ff",A700:"#0091ea"},pu={50:"#e8f5e9",100:"#c8e6c9",200:"#a5d6a7",300:"#81c784",400:"#66bb6a",500:"#4caf50",600:"#43a047",700:"#388e3c",800:"#2e7d32",900:"#1b5e20",A100:"#b9f6ca",A200:"#69f0ae",A400:"#00e676",A700:"#00c853"},Hp={50:"#fff3e0",100:"#ffe0b2",200:"#ffcc80",300:"#ffb74d",400:"#ffa726",500:"#ff9800",600:"#fb8c00",700:"#f57c00",800:"#ef6c00",900:"#e65100",A100:"#ffd180",A200:"#ffab40",A400:"#ff9100",A700:"#ff6d00"},hCe={50:"#fafafa",100:"#f5f5f5",200:"#eeeeee",300:"#e0e0e0",400:"#bdbdbd",500:"#9e9e9e",600:"#757575",700:"#616161",800:"#424242",900:"#212121",A100:"#f5f5f5",A200:"#eeeeee",A400:"#bdbdbd",A700:"#616161"};function gs(e){let t="https://mui.com/production-error/?code="+e;for(let n=1;n<arguments.length;n+=1)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified MUI error #"+e+"; visit "+t+" for the full message."}o(gs,"formatMuiErrorMessage$1");const gCe=Object.freeze(Object.defineProperty({__proto__:null,default:gs},Symbol.toStringTag,{value:"Module"})),Ml="$$material";function R(){return R=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},R.apply(this,arguments)}o(R,"_extends$4");function ve(e,t){if(e==null)return{};var n={},r=Object.keys(e),a,i;for(i=0;i<r.length;i++)a=r[i],!(t.indexOf(a)>=0)&&(n[a]=e[a]);return n}o(ve,"_objectWithoutPropertiesLoose$2");var U2={exports:{}},ZO;function UW(){return ZO||(ZO=1,function(e){function t(){return e.exports=t=Object.assign?Object.assign.bind():function(n){for(var r=1;r<arguments.length;r++){var a=arguments[r];for(var i in a)Object.prototype.hasOwnProperty.call(a,i)&&(n[i]=a[i])}return n},e.exports.__esModule=!0,e.exports.default=e.exports,t.apply(this,arguments)}o(t,"_extends"),e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports}(U2)),U2.exports}o(UW,"require_extends");UW();function HW(e){var t=Object.create(null);return function(n){return t[n]===void 0&&(t[n]=e(n)),t[n]}}o(HW,"memoize$1");var vCe=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,yCe=HW(function(e){return vCe.test(e)||e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)<91});function bCe(e){if(e.sheet)return e.sheet;for(var t=0;t<document.styleSheets.length;t++)if(document.styleSheets[t].ownerNode===e)return document.styleSheets[t]}o(bCe,"sheetForTag");function xCe(e){var t=document.createElement("style");return t.setAttribute("data-emotion",e.key),e.nonce!==void 0&&t.setAttribute("nonce",e.nonce),t.appendChild(document.createTextNode("")),t.setAttribute("data-s",""),t}o(xCe,"createStyleElement");var VE=function(){function e(n){var r=this;this._insertTag=function(a){var i;r.tags.length===0?r.insertionPoint?i=r.insertionPoint.nextSibling:r.prepend?i=r.container.firstChild:i=r.before:i=r.tags[r.tags.length-1].nextSibling,r.container.insertBefore(a,i),r.tags.push(a)},this.isSpeedy=n.speedy===void 0?!0:n.speedy,this.tags=[],this.ctr=0,this.nonce=n.nonce,this.key=n.key,this.container=n.container,this.prepend=n.prepend,this.insertionPoint=n.insertionPoint,this.before=null}o(e,"StyleSheet2");var t=e.prototype;return t.hydrate=o(function(r){r.forEach(this._insertTag)},"hydrate"),t.insert=o(function(r){this.ctr%(this.isSpeedy?65e3:1)===0&&this._insertTag(xCe(this));var a=this.tags[this.tags.length-1];if(this.isSpeedy){var i=bCe(a);try{i.insertRule(r,i.cssRules.length)}catch{}}else a.appendChild(document.createTextNode(r));this.ctr++},"insert"),t.flush=o(function(){this.tags.forEach(function(r){return r.parentNode&&r.parentNode.removeChild(r)}),this.tags=[],this.ctr=0},"flush"),e}(),Tr="-ms-",Ib="-moz-",Gt="-webkit-",qW="comm",GE="rule",KE="decl",wCe="@import",VW="@keyframes",CCe=Math.abs,Xx=String.fromCharCode,SCe=Object.assign;function jCe(e,t){return(((t<<2^sa(e,0))<<2^sa(e,1))<<2^sa(e,2))<<2^sa(e,3)}o(jCe,"hash$3");function GW(e){return e.trim()}o(GW,"trim$2");function $Ce(e,t){return(e=t.exec(e))?e[0]:e}o($Ce,"match$1");function Xt(e,t,n){return e.replace(t,n)}o(Xt,"replace$2");function Q$(e,t){return e.indexOf(t)}o(Q$,"indexof$1");function sa(e,t){return e.charCodeAt(t)|0}o(sa,"charat$1");function yh(e,t,n){return e.slice(t,n)}o(yh,"substr$1");function di(e){return e.length}o(di,"strlen$1");function JE(e){return e.length}o(JE,"sizeof$1");function xv(e,t){return t.push(e),e}o(xv,"append$1");function _Ce(e,t){return e.map(t).join("")}o(_Ce,"combine$1");var Zx=1,lf=1,KW=0,xa=0,Xn=0,sp="";function e1(e,t,n,r,a,i,s){return{value:e,root:t,parent:n,type:r,props:a,children:i,line:Zx,column:lf,length:s,return:""}}o(e1,"node$1");function qp(e,t){return SCe(e1("",null,null,"",null,null,0),e,{length:-e.length},t)}o(qp,"copy$2");function kCe(){return Xn}o(kCe,"char$1");function ECe(){return Xn=xa>0?sa(sp,--xa):0,lf--,Xn===10&&(lf=1,Zx--),Xn}o(ECe,"prev$1");function Ia(){return Xn=xa<KW?sa(sp,xa++):0,lf++,Xn===10&&(lf=1,Zx++),Xn}o(Ia,"next$1");function ji(){return sa(sp,xa)}o(ji,"peek$1");function fy(){return xa}o(fy,"caret$1");function yg(e,t){return yh(sp,e,t)}o(yg,"slice$3");function bh(e){switch(e){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}o(bh,"token$1");function JW(e){return Zx=lf=1,KW=di(sp=e),xa=0,[]}o(JW,"alloc$1");function YW(e){return sp="",e}o(YW,"dealloc$1");function py(e){return GW(yg(xa-1,X$(e===91?e+2:e===40?e+1:e)))}o(py,"delimit$1");function RCe(e){for(;(Xn=ji())&&Xn<33;)Ia();return bh(e)>2||bh(Xn)>3?"":" "}o(RCe,"whitespace$1");function ACe(e,t){for(;--t&&Ia()&&!(Xn<48||Xn>102||Xn>57&&Xn<65||Xn>70&&Xn<97););return yg(e,fy()+(t<6&&ji()==32&&Ia()==32))}o(ACe,"escaping$1");function X$(e){for(;Ia();)switch(Xn){case e:return xa;case 34:case 39:e!==34&&e!==39&&X$(Xn);break;case 40:e===41&&X$(e);break;case 92:Ia();break}return xa}o(X$,"delimiter$2");function PCe(e,t){for(;Ia()&&e+Xn!==57;)if(e+Xn===84&&ji()===47)break;return"/*"+yg(t,xa-1)+"*"+Xx(e===47?e:Ia())}o(PCe,"commenter$1");function MCe(e){for(;!bh(ji());)Ia();return yg(e,xa)}o(MCe,"identifier$1");function TCe(e){return YW(my("",null,null,null,[""],e=JW(e),0,[0],e))}o(TCe,"compile$1");function my(e,t,n,r,a,i,s,c,l){for(var u=0,d=0,p=s,m=0,v=0,h=0,y=1,C=1,w=1,x=0,b="",S=a,$=i,j=r,_=b;C;)switch(h=x,x=Ia()){case 40:if(h!=108&&_.charCodeAt(p-1)==58){Q$(_+=Xt(py(x),"&","&\f"),"&\f")!=-1&&(w=-1);break}case 34:case 39:case 91:_+=py(x);break;case 9:case 10:case 13:case 32:_+=RCe(h);break;case 92:_+=ACe(fy()-1,7);continue;case 47:switch(ji()){case 42:case 47:xv(OCe(PCe(Ia(),fy()),t,n),l);break;default:_+="/"}break;case 123*y:c[u++]=di(_)*w;case 125*y:case 59:case 0:switch(x){case 0:case 125:C=0;case 59+d:v>0&&di(_)-p&&xv(v>32?tz(_+";",r,n,p-1):tz(Xt(_," ","")+";",r,n,p-2),l);break;case 59:_+=";";default:if(xv(j=ez(_,t,n,u,d,a,c,b,S=[],$=[],p),i),x===123)if(d===0)my(_,t,j,j,S,i,p,c,$);else switch(m){case 100:case 109:case 115:my(e,j,j,r&&xv(ez(e,j,j,0,0,a,c,b,a,S=[],p),$),a,$,p,c,r?S:$);break;default:my(_,j,j,j,[""],$,0,c,$)}}u=d=v=0,y=w=1,b=_="",p=s;break;case 58:p=1+di(_),v=h;default:if(y<1){if(x==123)--y;else if(x==125&&y++==0&&ECe()==125)continue}switch(_+=Xx(x),x*y){case 38:w=d>0?1:(_+="\f",-1);break;case 44:c[u++]=(di(_)-1)*w,w=1;break;case 64:ji()===45&&(_+=py(Ia())),m=ji(),d=p=di(b=_+=MCe(fy())),x++;break;case 45:h===45&&di(_)==2&&(y=0)}}return i}o(my,"parse$1");function ez(e,t,n,r,a,i,s,c,l,u,d){for(var p=a-1,m=a===0?i:[""],v=JE(m),h=0,y=0,C=0;h<r;++h)for(var w=0,x=yh(e,p+1,p=CCe(y=s[h])),b=e;w<v;++w)(b=GW(y>0?m[w]+" "+x:Xt(x,/&\f/g,m[w])))&&(l[C++]=b);return e1(e,t,n,a===0?GE:c,l,u,d)}o(ez,"ruleset$1");function OCe(e,t,n){return e1(e,t,n,qW,Xx(kCe()),yh(e,2,-2),0)}o(OCe,"comment$1");function tz(e,t,n,r){return e1(e,t,n,KE,yh(e,0,r),yh(e,r+1,-1),r)}o(tz,"declaration$1");function QW(e,t){switch(jCe(e,t)){case 5103:return Gt+"print-"+e+e;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return Gt+e+e;case 5349:case 4246:case 4810:case 6968:case 2756:return Gt+e+Ib+e+Tr+e+e;case 6828:case 4268:return Gt+e+Tr+e+e;case 6165:return Gt+e+Tr+"flex-"+e+e;case 5187:return Gt+e+Xt(e,/(\w+).+(:[^]+)/,Gt+"box-$1$2"+Tr+"flex-$1$2")+e;case 5443:return Gt+e+Tr+"flex-item-"+Xt(e,/flex-|-self/,"")+e;case 4675:return Gt+e+Tr+"flex-line-pack"+Xt(e,/align-content|flex-|-self/,"")+e;case 5548:return Gt+e+Tr+Xt(e,"shrink","negative")+e;case 5292:return Gt+e+Tr+Xt(e,"basis","preferred-size")+e;case 6060:return Gt+"box-"+Xt(e,"-grow","")+Gt+e+Tr+Xt(e,"grow","positive")+e;case 4554:return Gt+Xt(e,/([^-])(transform)/g,"$1"+Gt+"$2")+e;case 6187:return Xt(Xt(Xt(e,/(zoom-|grab)/,Gt+"$1"),/(image-set)/,Gt+"$1"),e,"")+e;case 5495:case 3959:return Xt(e,/(image-set\([^]*)/,Gt+"$1$`$1");case 4968:return Xt(Xt(e,/(.+:)(flex-)?(.*)/,Gt+"box-pack:$3"+Tr+"flex-pack:$3"),/s.+-b[^;]+/,"justify")+Gt+e+e;case 4095:case 3583:case 4068:case 2532:return Xt(e,/(.+)-inline(.+)/,Gt+"$1$2")+e;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(di(e)-1-t>6)switch(sa(e,t+1)){case 109:if(sa(e,t+4)!==45)break;case 102:return Xt(e,/(.+:)(.+)-([^]+)/,"$1"+Gt+"$2-$3$1"+Ib+(sa(e,t+3)==108?"$3":"$2-$3"))+e;case 115:return~Q$(e,"stretch")?QW(Xt(e,"stretch","fill-available"),t)+e:e}break;case 4949:if(sa(e,t+1)!==115)break;case 6444:switch(sa(e,di(e)-3-(~Q$(e,"!important")&&10))){case 107:return Xt(e,":",":"+Gt)+e;case 101:return Xt(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+Gt+(sa(e,14)===45?"inline-":"")+"box$3$1"+Gt+"$2$3$1"+Tr+"$2box$3")+e}break;case 5936:switch(sa(e,t+11)){case 114:return Gt+e+Tr+Xt(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return Gt+e+Tr+Xt(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return Gt+e+Tr+Xt(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return Gt+e+Tr+e+e}return e}o(QW,"prefix$3");function od(e,t){for(var n="",r=JE(e),a=0;a<r;a++)n+=t(e[a],a,e,t)||"";return n}o(od,"serialize$1");function zCe(e,t,n,r){switch(e.type){case wCe:case KE:return e.return=e.return||e.value;case qW:return"";case VW:return e.return=e.value+"{"+od(e.children,r)+"}";case GE:e.value=e.props.join(",")}return di(n=od(e.children,r))?e.return=e.value+"{"+n+"}":""}o(zCe,"stringify$1");function ICe(e){var t=JE(e);return function(n,r,a,i){for(var s="",c=0;c<t;c++)s+=e[c](n,r,a,i)||"";return s}}o(ICe,"middleware$1");function LCe(e){return function(t){t.root||(t=t.return)&&e(t)}}o(LCe,"rulesheet$1");function DCe(e,t,n,r){if(e.length>-1&&!e.return)switch(e.type){case KE:e.return=QW(e.value,e.length);break;case VW:return od([qp(e,{value:Xt(e.value,"@","@"+Gt)})],r);case GE:if(e.length)return _Ce(e.props,function(a){switch($Ce(a,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return od([qp(e,{props:[Xt(a,/:(read-\w+)/,":"+Ib+"$1")]})],r);case"::placeholder":return od([qp(e,{props:[Xt(a,/:(plac\w+)/,":"+Gt+"input-$1")]}),qp(e,{props:[Xt(a,/:(plac\w+)/,":"+Ib+"$1")]}),qp(e,{props:[Xt(a,/:(plac\w+)/,Tr+"input-$1")]})],r)}return""})}}o(DCe,"prefixer$1");var NCe=o(function(t,n,r){for(var a=0,i=0;a=i,i=ji(),a===38&&i===12&&(n[r]=1),!bh(i);)Ia();return yg(t,xa)},"identifierWithPointTracking2"),FCe=o(function(t,n){var r=-1,a=44;do switch(bh(a)){case 0:a===38&&ji()===12&&(n[r]=1),t[r]+=NCe(xa-1,n,r);break;case 2:t[r]+=py(a);break;case 4:if(a===44){t[++r]=ji()===58?"&\f":"",n[r]=t[r].length;break}default:t[r]+=Xx(a)}while(a=Ia());return t},"toRules2"),BCe=o(function(t,n){return YW(FCe(JW(t),n))},"getRules2"),nz=new WeakMap,WCe=o(function(t){if(!(t.type!=="rule"||!t.parent||t.length<1)){for(var n=t.value,r=t.parent,a=t.column===r.column&&t.line===r.line;r.type!=="rule";)if(r=r.parent,!r)return;if(!(t.props.length===1&&n.charCodeAt(0)!==58&&!nz.get(r))&&!a){nz.set(t,!0);for(var i=[],s=BCe(n,i),c=r.props,l=0,u=0;l<s.length;l++)for(var d=0;d<c.length;d++,u++)t.props[u]=i[l]?s[l].replace(/&\f/g,c[d]):c[d]+" "+s[l]}}},"compat2"),UCe=o(function(t){if(t.type==="decl"){var n=t.value;n.charCodeAt(0)===108&&n.charCodeAt(2)===98&&(t.return="",t.value="")}},"removeLabel2"),HCe=[DCe],qCe=o(function(t){var n=t.key;if(n==="css"){var r=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(r,function(y){var C=y.getAttribute("data-emotion");C.indexOf(" ")!==-1&&(document.head.appendChild(y),y.setAttribute("data-s",""))})}var a=t.stylisPlugins||HCe,i={},s,c=[];s=t.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+n+' "]'),function(y){for(var C=y.getAttribute("data-emotion").split(" "),w=1;w<C.length;w++)i[C[w]]=!0;c.push(y)});var l,u=[WCe,UCe];{var d,p=[zCe,LCe(function(y){d.insert(y)})],m=ICe(u.concat(a,p)),v=o(function(C){return od(TCe(C),m)},"stylis2");l=o(function(C,w,x,b){d=x,v(C?C+"{"+w.styles+"}":w.styles),b&&(h.inserted[w.name]=!0)},"insert")}var h={key:n,sheet:new VE({key:n,container:s,nonce:t.nonce,speedy:t.speedy,prepend:t.prepend,insertionPoint:t.insertionPoint}),nonce:t.nonce,inserted:i,registered:{},insert:l};return h.sheet.hydrate(c),h},"createCache2"),XW={exports:{}},rn={};/** @license React v16.13.1 + * react-is.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var br=typeof Symbol=="function"&&Symbol.for,YE=br?Symbol.for("react.element"):60103,QE=br?Symbol.for("react.portal"):60106,t1=br?Symbol.for("react.fragment"):60107,n1=br?Symbol.for("react.strict_mode"):60108,r1=br?Symbol.for("react.profiler"):60114,a1=br?Symbol.for("react.provider"):60109,o1=br?Symbol.for("react.context"):60110,XE=br?Symbol.for("react.async_mode"):60111,i1=br?Symbol.for("react.concurrent_mode"):60111,s1=br?Symbol.for("react.forward_ref"):60112,c1=br?Symbol.for("react.suspense"):60113,VCe=br?Symbol.for("react.suspense_list"):60120,l1=br?Symbol.for("react.memo"):60115,u1=br?Symbol.for("react.lazy"):60116,GCe=br?Symbol.for("react.block"):60121,KCe=br?Symbol.for("react.fundamental"):60117,JCe=br?Symbol.for("react.responder"):60118,YCe=br?Symbol.for("react.scope"):60119;function qa(e){if(typeof e=="object"&&e!==null){var t=e.$$typeof;switch(t){case YE:switch(e=e.type,e){case XE:case i1:case t1:case r1:case n1:case c1:return e;default:switch(e=e&&e.$$typeof,e){case o1:case s1:case u1:case l1:case a1:return e;default:return t}}case QE:return t}}}o(qa,"z$6");function ZW(e){return qa(e)===i1}o(ZW,"A$6");rn.AsyncMode=XE;rn.ConcurrentMode=i1;rn.ContextConsumer=o1;rn.ContextProvider=a1;rn.Element=YE;rn.ForwardRef=s1;rn.Fragment=t1;rn.Lazy=u1;rn.Memo=l1;rn.Portal=QE;rn.Profiler=r1;rn.StrictMode=n1;rn.Suspense=c1;rn.isAsyncMode=function(e){return ZW(e)||qa(e)===XE};rn.isConcurrentMode=ZW;rn.isContextConsumer=function(e){return qa(e)===o1};rn.isContextProvider=function(e){return qa(e)===a1};rn.isElement=function(e){return typeof e=="object"&&e!==null&&e.$$typeof===YE};rn.isForwardRef=function(e){return qa(e)===s1};rn.isFragment=function(e){return qa(e)===t1};rn.isLazy=function(e){return qa(e)===u1};rn.isMemo=function(e){return qa(e)===l1};rn.isPortal=function(e){return qa(e)===QE};rn.isProfiler=function(e){return qa(e)===r1};rn.isStrictMode=function(e){return qa(e)===n1};rn.isSuspense=function(e){return qa(e)===c1};rn.isValidElementType=function(e){return typeof e=="string"||typeof e=="function"||e===t1||e===i1||e===r1||e===n1||e===c1||e===VCe||typeof e=="object"&&e!==null&&(e.$$typeof===u1||e.$$typeof===l1||e.$$typeof===a1||e.$$typeof===o1||e.$$typeof===s1||e.$$typeof===KCe||e.$$typeof===JCe||e.$$typeof===YCe||e.$$typeof===GCe)};rn.typeOf=qa;XW.exports=rn;var QCe=XW.exports,ZE=QCe,XCe={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},ZCe={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},eSe={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},eU={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},eR={};eR[ZE.ForwardRef]=eSe;eR[ZE.Memo]=eU;function rz(e){return ZE.isMemo(e)?eU:eR[e.$$typeof]||XCe}o(rz,"getStatics");var tSe=Object.defineProperty,nSe=Object.getOwnPropertyNames,az=Object.getOwnPropertySymbols,rSe=Object.getOwnPropertyDescriptor,aSe=Object.getPrototypeOf,oz=Object.prototype;function tU(e,t,n){if(typeof t!="string"){if(oz){var r=aSe(t);r&&r!==oz&&tU(e,r,n)}var a=nSe(t);az&&(a=a.concat(az(t)));for(var i=rz(e),s=rz(t),c=0;c<a.length;++c){var l=a[c];if(!ZCe[l]&&!(n&&n[l])&&!(s&&s[l])&&!(i&&i[l])){var u=rSe(t,l);try{tSe(e,l,u)}catch{}}}}return e}o(tU,"hoistNonReactStatics");var oSe=tU;const Fft=Qt(oSe);var iSe=!0;function sSe(e,t,n){var r="";return n.split(" ").forEach(function(a){e[a]!==void 0?t.push(e[a]+";"):r+=a+" "}),r}o(sSe,"getRegisteredStyles");var cSe=o(function(t,n,r){var a=t.key+"-"+n.name;(r===!1||iSe===!1)&&t.registered[a]===void 0&&(t.registered[a]=n.styles)},"registerStyles"),nU=o(function(t,n,r){cSe(t,n,r);var a=t.key+"-"+n.name;if(t.inserted[n.name]===void 0){var i=n;do t.insert(n===i?"."+a:"",i,t.sheet,!0),i=i.next;while(i!==void 0)}},"insertStyles");function lSe(e){for(var t=0,n,r=0,a=e.length;a>=4;++r,a-=4)n=e.charCodeAt(r)&255|(e.charCodeAt(++r)&255)<<8|(e.charCodeAt(++r)&255)<<16|(e.charCodeAt(++r)&255)<<24,n=(n&65535)*1540483477+((n>>>16)*59797<<16),n^=n>>>24,t=(n&65535)*1540483477+((n>>>16)*59797<<16)^(t&65535)*1540483477+((t>>>16)*59797<<16);switch(a){case 3:t^=(e.charCodeAt(r+2)&255)<<16;case 2:t^=(e.charCodeAt(r+1)&255)<<8;case 1:t^=e.charCodeAt(r)&255,t=(t&65535)*1540483477+((t>>>16)*59797<<16)}return t^=t>>>13,t=(t&65535)*1540483477+((t>>>16)*59797<<16),((t^t>>>15)>>>0).toString(36)}o(lSe,"murmur2");var uSe={animationIterationCount:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},dSe=/[A-Z]|^ms/g,fSe=/_EMO_([^_]+?)_([^]*?)_EMO_/g,rU=o(function(t){return t.charCodeAt(1)===45},"isCustomProperty2"),iz=o(function(t){return t!=null&&typeof t!="boolean"},"isProcessableValue2"),H2=HW(function(e){return rU(e)?e:e.replace(dSe,"-$&").toLowerCase()}),sz=o(function(t,n){switch(t){case"animation":case"animationName":if(typeof n=="string")return n.replace(fSe,function(r,a,i){return fi={name:a,styles:i,next:fi},a})}return uSe[t]!==1&&!rU(t)&&typeof n=="number"&&n!==0?n+"px":n},"processStyleValue2");function xh(e,t,n){if(n==null)return"";if(n.__emotion_styles!==void 0)return n;switch(typeof n){case"boolean":return"";case"object":{if(n.anim===1)return fi={name:n.name,styles:n.styles,next:fi},n.name;if(n.styles!==void 0){var r=n.next;if(r!==void 0)for(;r!==void 0;)fi={name:r.name,styles:r.styles,next:fi},r=r.next;var a=n.styles+";";return a}return pSe(e,t,n)}case"function":{if(e!==void 0){var i=fi,s=n(e);return fi=i,xh(e,t,s)}break}}if(t==null)return n;var c=t[n];return c!==void 0?c:n}o(xh,"handleInterpolation");function pSe(e,t,n){var r="";if(Array.isArray(n))for(var a=0;a<n.length;a++)r+=xh(e,t,n[a])+";";else for(var i in n){var s=n[i];if(typeof s!="object")t!=null&&t[s]!==void 0?r+=i+"{"+t[s]+"}":iz(s)&&(r+=H2(i)+":"+sz(i,s)+";");else if(Array.isArray(s)&&typeof s[0]=="string"&&(t==null||t[s[0]]===void 0))for(var c=0;c<s.length;c++)iz(s[c])&&(r+=H2(i)+":"+sz(i,s[c])+";");else{var l=xh(e,t,s);switch(i){case"animation":case"animationName":{r+=H2(i)+":"+l+";";break}default:r+=i+"{"+l+"}"}}}return r}o(pSe,"createStringFromObject");var cz=/label:\s*([^\s;\n{]+)\s*(;|$)/g,fi,tR=o(function(t,n,r){if(t.length===1&&typeof t[0]=="object"&&t[0]!==null&&t[0].styles!==void 0)return t[0];var a=!0,i="";fi=void 0;var s=t[0];s==null||s.raw===void 0?(a=!1,i+=xh(r,n,s)):i+=s[0];for(var c=1;c<t.length;c++)i+=xh(r,n,t[c]),a&&(i+=s[c]);cz.lastIndex=0;for(var l="",u;(u=cz.exec(i))!==null;)l+="-"+u[1];var d=lSe(i)+l;return{name:d,styles:i,next:fi}},"serializeStyles2"),aU=g.createContext(typeof HTMLElement<"u"?qCe({key:"css"}):null),mSe=aU.Provider,oU=o(function(t){return g.forwardRef(function(n,r){var a=g.useContext(aU);return t(n,a,r)})},"withEmotionCache2"),bg=g.createContext({}),hSe=oU(function(e,t){var n=e.styles,r=tR([n],void 0,g.useContext(bg)),a=g.useRef();return g.useLayoutEffect(function(){var i=t.key+"-global",s=new VE({key:i,nonce:t.sheet.nonce,container:t.sheet.container,speedy:t.sheet.isSpeedy}),c=!1,l=document.querySelector('style[data-emotion="'+i+" "+r.name+'"]');return t.sheet.tags.length&&(s.before=t.sheet.tags[0]),l!==null&&(c=!0,l.setAttribute("data-emotion",i),s.hydrate([l])),a.current=[s,c],function(){s.flush()}},[t]),g.useLayoutEffect(function(){var i=a.current,s=i[0],c=i[1];if(c){i[1]=!1;return}if(r.next!==void 0&&nU(t,r.next,!0),s.tags.length){var l=s.tags[s.tags.length-1].nextElementSibling;s.before=l,s.flush()}t.insert("",r,s,!1)},[t,r.name]),null});function Gl(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return tR(t)}o(Gl,"css");var $s=o(function(){var t=Gl.apply(void 0,arguments),n="animation-"+t.name;return{name:n,styles:"@keyframes "+n+"{"+t.styles+"}",anim:1,toString:o(function(){return"_EMO_"+this.name+"_"+this.styles+"_EMO_"},"toString")}},"keyframes2"),gSe=yCe,vSe=o(function(t){return t!=="theme"},"testOmitPropsOnComponent2"),lz=o(function(t){return typeof t=="string"&&t.charCodeAt(0)>96?gSe:vSe},"getDefaultShouldForwardProp2"),uz=o(function(t,n,r){var a;if(n){var i=n.shouldForwardProp;a=t.__emotion_forwardProp&&i?function(s){return t.__emotion_forwardProp(s)&&i(s)}:i}return typeof a!="function"&&r&&(a=t.__emotion_forwardProp),a},"composeShouldForwardProps2"),ySe=o(function(){return null},"Noop2"),bSe=o(function e(t,n){var r=t.__emotion_real===t,a=r&&t.__emotion_base||t,i,s;n!==void 0&&(i=n.label,s=n.target);var c=uz(t,n,r),l=c||lz(a),u=!l("as");return function(){var d=arguments,p=r&&t.__emotion_styles!==void 0?t.__emotion_styles.slice(0):[];if(i!==void 0&&p.push("label:"+i+";"),d[0]==null||d[0].raw===void 0)p.push.apply(p,d);else{p.push(d[0][0]);for(var m=d.length,v=1;v<m;v++)p.push(d[v],d[0][v])}var h=oU(function(y,C,w){var x=u&&y.as||a,b="",S=[],$=y;if(y.theme==null){$={};for(var j in y)$[j]=y[j];$.theme=g.useContext(bg)}typeof y.className=="string"?b=sSe(C.registered,S,y.className):y.className!=null&&(b=y.className+" ");var _=tR(p.concat(S),C.registered,$);nU(C,_,typeof x=="string"),b+=C.key+"-"+_.name,s!==void 0&&(b+=" "+s);var k=u&&c===void 0?lz(x):l,E={};for(var A in y)u&&A==="as"||k(A)&&(E[A]=y[A]);E.className=b,E.ref=w;var P=g.createElement(x,E),M=g.createElement(ySe,null);return g.createElement(g.Fragment,null,M,P)});return h.displayName=i!==void 0?i:"Styled("+(typeof a=="string"?a:a.displayName||a.name||"Component")+")",h.defaultProps=t.defaultProps,h.__emotion_real=h,h.__emotion_base=a,h.__emotion_styles=p,h.__emotion_forwardProp=c,Object.defineProperty(h,"toString",{value:o(function(){return"."+s},"value")}),h.withComponent=function(y,C){return e(y,R({},n,C,{shouldForwardProp:uz(h,C,!0)})).apply(void 0,p)},h}},"createStyled2"),xSe=["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","big","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","marquee","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr","circle","clipPath","defs","ellipse","foreignObject","g","image","line","linearGradient","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","svg","text","tspan"],Z$=bSe.bind();xSe.forEach(function(e){Z$[e]=Z$(e)});var iU={exports:{}},wSe="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED",CSe=wSe,SSe=CSe;function sU(){}o(sU,"emptyFunction");function cU(){}o(cU,"emptyFunctionWithReset");cU.resetWarningCache=sU;var jSe=o(function(){function e(r,a,i,s,c,l){if(l!==SSe){var u=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw u.name="Invariant Violation",u}}o(e,"shim"),e.isRequired=e;function t(){return e}o(t,"getShim");var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:cU,resetWarningCache:sU};return n.PropTypes=n,n},"factoryWithThrowingShims");iU.exports=jSe();var $Se=iU.exports;const L=Qt($Se);var Or="-ms-",Lb="-moz-",Kt="-webkit-",lU="comm",nR="rule",rR="decl",_Se="@import",uU="@keyframes",kSe="@layer",ESe=Math.abs,d1=String.fromCharCode,RSe=Object.assign;function ASe(e,t){return _r(e,0)^45?(((t<<2^_r(e,0))<<2^_r(e,1))<<2^_r(e,2))<<2^_r(e,3):0}o(ASe,"hash$2");function dU(e){return e.trim()}o(dU,"trim$1");function PSe(e,t){return(e=t.exec(e))?e[0]:e}o(PSe,"match");function Jt(e,t,n){return e.replace(t,n)}o(Jt,"replace$1");function e3(e,t){return e.indexOf(t)}o(e3,"indexof");function _r(e,t){return e.charCodeAt(t)|0}o(_r,"charat");function wh(e,t,n){return e.slice(t,n)}o(wh,"substr");function pi(e){return e.length}o(pi,"strlen");function aR(e){return e.length}o(aR,"sizeof");function wv(e,t){return t.push(e),e}o(wv,"append");function MSe(e,t){return e.map(t).join("")}o(MSe,"combine");var f1=1,uf=1,fU=0,wa=0,Zn=0,cp="";function p1(e,t,n,r,a,i,s){return{value:e,root:t,parent:n,type:r,props:a,children:i,line:f1,column:uf,length:s,return:""}}o(p1,"node");function Vp(e,t){return RSe(p1("",null,null,"",null,null,0),e,{length:-e.length},t)}o(Vp,"copy$1");function TSe(){return Zn}o(TSe,"char");function OSe(){return Zn=wa>0?_r(cp,--wa):0,uf--,Zn===10&&(uf=1,f1--),Zn}o(OSe,"prev");function La(){return Zn=wa<fU?_r(cp,wa++):0,uf++,Zn===10&&(uf=1,f1++),Zn}o(La,"next");function $i(){return _r(cp,wa)}o($i,"peek");function hy(){return wa}o(hy,"caret");function xg(e,t){return wh(cp,e,t)}o(xg,"slice$2");function Ch(e){switch(e){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}o(Ch,"token");function pU(e){return f1=uf=1,fU=pi(cp=e),wa=0,[]}o(pU,"alloc");function mU(e){return cp="",e}o(mU,"dealloc");function gy(e){return dU(xg(wa-1,t3(e===91?e+2:e===40?e+1:e)))}o(gy,"delimit");function zSe(e){for(;(Zn=$i())&&Zn<33;)La();return Ch(e)>2||Ch(Zn)>3?"":" "}o(zSe,"whitespace");function ISe(e,t){for(;--t&&La()&&!(Zn<48||Zn>102||Zn>57&&Zn<65||Zn>70&&Zn<97););return xg(e,hy()+(t<6&&$i()==32&&La()==32))}o(ISe,"escaping");function t3(e){for(;La();)switch(Zn){case e:return wa;case 34:case 39:e!==34&&e!==39&&t3(Zn);break;case 40:e===41&&t3(e);break;case 92:La();break}return wa}o(t3,"delimiter$1");function LSe(e,t){for(;La()&&e+Zn!==57;)if(e+Zn===84&&$i()===47)break;return"/*"+xg(t,wa-1)+"*"+d1(e===47?e:La())}o(LSe,"commenter");function DSe(e){for(;!Ch($i());)La();return xg(e,wa)}o(DSe,"identifier");function NSe(e){return mU(vy("",null,null,null,[""],e=pU(e),0,[0],e))}o(NSe,"compile");function vy(e,t,n,r,a,i,s,c,l){for(var u=0,d=0,p=s,m=0,v=0,h=0,y=1,C=1,w=1,x=0,b="",S=a,$=i,j=r,_=b;C;)switch(h=x,x=La()){case 40:if(h!=108&&_r(_,p-1)==58){e3(_+=Jt(gy(x),"&","&\f"),"&\f")!=-1&&(w=-1);break}case 34:case 39:case 91:_+=gy(x);break;case 9:case 10:case 13:case 32:_+=zSe(h);break;case 92:_+=ISe(hy()-1,7);continue;case 47:switch($i()){case 42:case 47:wv(FSe(LSe(La(),hy()),t,n),l);break;default:_+="/"}break;case 123*y:c[u++]=pi(_)*w;case 125*y:case 59:case 0:switch(x){case 0:case 125:C=0;case 59+d:w==-1&&(_=Jt(_,/\f/g,"")),v>0&&pi(_)-p&&wv(v>32?fz(_+";",r,n,p-1):fz(Jt(_," ","")+";",r,n,p-2),l);break;case 59:_+=";";default:if(wv(j=dz(_,t,n,u,d,a,c,b,S=[],$=[],p),i),x===123)if(d===0)vy(_,t,j,j,S,i,p,c,$);else switch(m===99&&_r(_,3)===110?100:m){case 100:case 108:case 109:case 115:vy(e,j,j,r&&wv(dz(e,j,j,0,0,a,c,b,a,S=[],p),$),a,$,p,c,r?S:$);break;default:vy(_,j,j,j,[""],$,0,c,$)}}u=d=v=0,y=w=1,b=_="",p=s;break;case 58:p=1+pi(_),v=h;default:if(y<1){if(x==123)--y;else if(x==125&&y++==0&&OSe()==125)continue}switch(_+=d1(x),x*y){case 38:w=d>0?1:(_+="\f",-1);break;case 44:c[u++]=(pi(_)-1)*w,w=1;break;case 64:$i()===45&&(_+=gy(La())),m=$i(),d=p=pi(b=_+=DSe(hy())),x++;break;case 45:h===45&&pi(_)==2&&(y=0)}}return i}o(vy,"parse");function dz(e,t,n,r,a,i,s,c,l,u,d){for(var p=a-1,m=a===0?i:[""],v=aR(m),h=0,y=0,C=0;h<r;++h)for(var w=0,x=wh(e,p+1,p=ESe(y=s[h])),b=e;w<v;++w)(b=dU(y>0?m[w]+" "+x:Jt(x,/&\f/g,m[w])))&&(l[C++]=b);return p1(e,t,n,a===0?nR:c,l,u,d)}o(dz,"ruleset");function FSe(e,t,n){return p1(e,t,n,lU,d1(TSe()),wh(e,2,-2),0)}o(FSe,"comment");function fz(e,t,n,r){return p1(e,t,n,rR,wh(e,0,r),wh(e,r+1,-1),r)}o(fz,"declaration");function id(e,t){for(var n="",r=aR(e),a=0;a<r;a++)n+=t(e[a],a,e,t)||"";return n}o(id,"serialize");function BSe(e,t,n,r){switch(e.type){case kSe:if(e.children.length)break;case _Se:case rR:return e.return=e.return||e.value;case lU:return"";case uU:return e.return=e.value+"{"+id(e.children,r)+"}";case nR:e.value=e.props.join(",")}return pi(n=id(e.children,r))?e.return=e.value+"{"+n+"}":""}o(BSe,"stringify");function WSe(e){var t=aR(e);return function(n,r,a,i){for(var s="",c=0;c<t;c++)s+=e[c](n,r,a,i)||"";return s}}o(WSe,"middleware");function USe(e){return function(t){t.root||(t=t.return)&&e(t)}}o(USe,"rulesheet");var HSe=o(function(t,n,r){for(var a=0,i=0;a=i,i=$i(),a===38&&i===12&&(n[r]=1),!Ch(i);)La();return xg(t,wa)},"identifierWithPointTracking2"),qSe=o(function(t,n){var r=-1,a=44;do switch(Ch(a)){case 0:a===38&&$i()===12&&(n[r]=1),t[r]+=HSe(wa-1,n,r);break;case 2:t[r]+=gy(a);break;case 4:if(a===44){t[++r]=$i()===58?"&\f":"",n[r]=t[r].length;break}default:t[r]+=d1(a)}while(a=La());return t},"toRules2"),VSe=o(function(t,n){return mU(qSe(pU(t),n))},"getRules2"),pz=new WeakMap,GSe=o(function(t){if(!(t.type!=="rule"||!t.parent||t.length<1)){for(var n=t.value,r=t.parent,a=t.column===r.column&&t.line===r.line;r.type!=="rule";)if(r=r.parent,!r)return;if(!(t.props.length===1&&n.charCodeAt(0)!==58&&!pz.get(r))&&!a){pz.set(t,!0);for(var i=[],s=VSe(n,i),c=r.props,l=0,u=0;l<s.length;l++)for(var d=0;d<c.length;d++,u++)t.props[u]=i[l]?s[l].replace(/&\f/g,c[d]):c[d]+" "+s[l]}}},"compat2"),KSe=o(function(t){if(t.type==="decl"){var n=t.value;n.charCodeAt(0)===108&&n.charCodeAt(2)===98&&(t.return="",t.value="")}},"removeLabel2");function hU(e,t){switch(ASe(e,t)){case 5103:return Kt+"print-"+e+e;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return Kt+e+e;case 5349:case 4246:case 4810:case 6968:case 2756:return Kt+e+Lb+e+Or+e+e;case 6828:case 4268:return Kt+e+Or+e+e;case 6165:return Kt+e+Or+"flex-"+e+e;case 5187:return Kt+e+Jt(e,/(\w+).+(:[^]+)/,Kt+"box-$1$2"+Or+"flex-$1$2")+e;case 5443:return Kt+e+Or+"flex-item-"+Jt(e,/flex-|-self/,"")+e;case 4675:return Kt+e+Or+"flex-line-pack"+Jt(e,/align-content|flex-|-self/,"")+e;case 5548:return Kt+e+Or+Jt(e,"shrink","negative")+e;case 5292:return Kt+e+Or+Jt(e,"basis","preferred-size")+e;case 6060:return Kt+"box-"+Jt(e,"-grow","")+Kt+e+Or+Jt(e,"grow","positive")+e;case 4554:return Kt+Jt(e,/([^-])(transform)/g,"$1"+Kt+"$2")+e;case 6187:return Jt(Jt(Jt(e,/(zoom-|grab)/,Kt+"$1"),/(image-set)/,Kt+"$1"),e,"")+e;case 5495:case 3959:return Jt(e,/(image-set\([^]*)/,Kt+"$1$`$1");case 4968:return Jt(Jt(e,/(.+:)(flex-)?(.*)/,Kt+"box-pack:$3"+Or+"flex-pack:$3"),/s.+-b[^;]+/,"justify")+Kt+e+e;case 4095:case 3583:case 4068:case 2532:return Jt(e,/(.+)-inline(.+)/,Kt+"$1$2")+e;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(pi(e)-1-t>6)switch(_r(e,t+1)){case 109:if(_r(e,t+4)!==45)break;case 102:return Jt(e,/(.+:)(.+)-([^]+)/,"$1"+Kt+"$2-$3$1"+Lb+(_r(e,t+3)==108?"$3":"$2-$3"))+e;case 115:return~e3(e,"stretch")?hU(Jt(e,"stretch","fill-available"),t)+e:e}break;case 4949:if(_r(e,t+1)!==115)break;case 6444:switch(_r(e,pi(e)-3-(~e3(e,"!important")&&10))){case 107:return Jt(e,":",":"+Kt)+e;case 101:return Jt(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+Kt+(_r(e,14)===45?"inline-":"")+"box$3$1"+Kt+"$2$3$1"+Or+"$2box$3")+e}break;case 5936:switch(_r(e,t+11)){case 114:return Kt+e+Or+Jt(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return Kt+e+Or+Jt(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return Kt+e+Or+Jt(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return Kt+e+Or+e+e}return e}o(hU,"prefix$2");var JSe=o(function(t,n,r,a){if(t.length>-1&&!t.return)switch(t.type){case rR:t.return=hU(t.value,t.length);break;case uU:return id([Vp(t,{value:Jt(t.value,"@","@"+Kt)})],a);case nR:if(t.length)return MSe(t.props,function(i){switch(PSe(i,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return id([Vp(t,{props:[Jt(i,/:(read-\w+)/,":"+Lb+"$1")]})],a);case"::placeholder":return id([Vp(t,{props:[Jt(i,/:(plac\w+)/,":"+Kt+"input-$1")]}),Vp(t,{props:[Jt(i,/:(plac\w+)/,":"+Lb+"$1")]}),Vp(t,{props:[Jt(i,/:(plac\w+)/,Or+"input-$1")]})],a)}return""})}},"prefixer2"),YSe=[JSe],QSe=o(function(t){var n=t.key;if(n==="css"){var r=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(r,function(y){var C=y.getAttribute("data-emotion");C.indexOf(" ")!==-1&&(document.head.appendChild(y),y.setAttribute("data-s",""))})}var a=t.stylisPlugins||YSe,i={},s,c=[];s=t.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+n+' "]'),function(y){for(var C=y.getAttribute("data-emotion").split(" "),w=1;w<C.length;w++)i[C[w]]=!0;c.push(y)});var l,u=[GSe,KSe];{var d,p=[BSe,USe(function(y){d.insert(y)})],m=WSe(u.concat(a,p)),v=o(function(C){return id(NSe(C),m)},"stylis2");l=o(function(C,w,x,b){d=x,v(C?C+"{"+w.styles+"}":w.styles),b&&(h.inserted[w.name]=!0)},"insert")}var h={key:n,sheet:new VE({key:n,container:s,nonce:t.nonce,speedy:t.speedy,prepend:t.prepend,insertionPoint:t.insertionPoint}),nonce:t.nonce,inserted:i,registered:{},insert:l};return h.sheet.hydrate(c),h},"createCache2");let n3;typeof document=="object"&&(n3=QSe({key:"css",prepend:!0}));function XSe(e){const{injectFirst:t,children:n}=e;return t&&n3?f.jsx(mSe,{value:n3,children:n}):n}o(XSe,"StyledEngineProvider");function ZSe(e){return e==null||Object.keys(e).length===0}o(ZSe,"isEmpty$4");function gU(e){const{styles:t,defaultTheme:n={}}=e,r=typeof t=="function"?a=>t(ZSe(a)?n:a):t;return f.jsx(hSe,{styles:r})}o(gU,"GlobalStyles$2");function oR(e,t){return Z$(e,t)}o(oR,"styled$2");const vU=o((e,t)=>{Array.isArray(e.__emotion_styles)&&(e.__emotion_styles=t(e.__emotion_styles))},"internal_processStyles"),eje=Object.freeze(Object.defineProperty({__proto__:null,GlobalStyles:gU,StyledEngineProvider:XSe,ThemeContext:bg,css:Gl,default:oR,internal_processStyles:vU,keyframes:$s},Symbol.toStringTag,{value:"Module"}));function ts(e){if(typeof e!="object"||e===null)return!1;const t=Object.getPrototypeOf(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)}o(ts,"isPlainObject$1");function yU(e){if(!ts(e))return e;const t={};return Object.keys(e).forEach(n=>{t[n]=yU(e[n])}),t}o(yU,"deepClone");function Er(e,t,n={clone:!0}){const r=n.clone?R({},e):e;return ts(e)&&ts(t)&&Object.keys(t).forEach(a=>{ts(t[a])&&Object.prototype.hasOwnProperty.call(e,a)&&ts(e[a])?r[a]=Er(e[a],t[a],n):n.clone?r[a]=ts(t[a])?yU(t[a]):t[a]:r[a]=t[a]}),r}o(Er,"deepmerge$1");const tje=Object.freeze(Object.defineProperty({__proto__:null,default:Er,isPlainObject:ts},Symbol.toStringTag,{value:"Module"})),nje=["values","unit","step"],rje=o(e=>{const t=Object.keys(e).map(n=>({key:n,val:e[n]}))||[];return t.sort((n,r)=>n.val-r.val),t.reduce((n,r)=>R({},n,{[r.key]:r.val}),{})},"sortBreakpointsValues");function bU(e){const{values:t={xs:0,sm:600,md:900,lg:1200,xl:1536},unit:n="px",step:r=5}=e,a=ve(e,nje),i=rje(t),s=Object.keys(i);function c(m){return`@media (min-width:${typeof t[m]=="number"?t[m]:m}${n})`}o(c,"up");function l(m){return`@media (max-width:${(typeof t[m]=="number"?t[m]:m)-r/100}${n})`}o(l,"down");function u(m,v){const h=s.indexOf(v);return`@media (min-width:${typeof t[m]=="number"?t[m]:m}${n}) and (max-width:${(h!==-1&&typeof t[s[h]]=="number"?t[s[h]]:v)-r/100}${n})`}o(u,"between");function d(m){return s.indexOf(m)+1<s.length?u(m,s[s.indexOf(m)+1]):c(m)}o(d,"only");function p(m){const v=s.indexOf(m);return v===0?c(s[1]):v===s.length-1?l(s[v]):u(m,s[s.indexOf(m)+1]).replace("@media","@media not all and")}return o(p,"not"),R({keys:s,values:i,up:c,down:l,between:u,only:d,not:p,unit:n},a)}o(bU,"createBreakpoints");const aje={borderRadius:4};function Am(e,t){return t?Er(e,t,{clone:!1}):e}o(Am,"merge");const iR={xs:0,sm:600,md:900,lg:1200,xl:1536},mz={keys:["xs","sm","md","lg","xl"],up:o(e=>`@media (min-width:${iR[e]}px)`,"up")};function Ca(e,t,n){const r=e.theme||{};if(Array.isArray(t)){const i=r.breakpoints||mz;return t.reduce((s,c,l)=>(s[i.up(i.keys[l])]=n(t[l]),s),{})}if(typeof t=="object"){const i=r.breakpoints||mz;return Object.keys(t).reduce((s,c)=>{if(Object.keys(i.values||iR).indexOf(c)!==-1){const l=i.up(c);s[l]=n(t[c],c)}else{const l=c;s[l]=t[l]}return s},{})}return n(t)}o(Ca,"handleBreakpoints");function xU(e={}){var t;return((t=e.keys)==null?void 0:t.reduce((r,a)=>{const i=e.up(a);return r[i]={},r},{}))||{}}o(xU,"createEmptyBreakpointObject");function wU(e,t){return e.reduce((n,r)=>{const a=n[r];return(!a||Object.keys(a).length===0)&&delete n[r],n},t)}o(wU,"removeUnusedBreakpoints");function oje(e,...t){const n=xU(e),r=[n,...t].reduce((a,i)=>Er(a,i),{});return wU(Object.keys(n),r)}o(oje,"mergeBreakpointsInOrder");function ije(e,t){if(typeof e!="object")return{};const n={},r=Object.keys(t);return Array.isArray(e)?r.forEach((a,i)=>{i<e.length&&(n[a]=!0)}):r.forEach(a=>{e[a]!=null&&(n[a]=!0)}),n}o(ije,"computeBreakpointsBase");function gl({values:e,breakpoints:t,base:n}){const r=n||ije(e,t),a=Object.keys(r);if(a.length===0)return e;let i;return a.reduce((s,c,l)=>(Array.isArray(e)?(s[c]=e[l]!=null?e[l]:e[i],i=l):typeof e=="object"?(s[c]=e[c]!=null?e[c]:e[i],i=c):s[c]=e,s),{})}o(gl,"resolveBreakpointValues");function se(e){if(typeof e!="string")throw new Error(gs(7));return e.charAt(0).toUpperCase()+e.slice(1)}o(se,"capitalize$1");const sje=Object.freeze(Object.defineProperty({__proto__:null,default:se},Symbol.toStringTag,{value:"Module"}));function df(e,t,n=!0){if(!t||typeof t!="string")return null;if(e&&e.vars&&n){const r=`vars.${t}`.split(".").reduce((a,i)=>a&&a[i]?a[i]:null,e);if(r!=null)return r}return t.split(".").reduce((r,a)=>r&&r[a]!=null?r[a]:null,e)}o(df,"getPath");function Db(e,t,n,r=n){let a;return typeof e=="function"?a=e(n):Array.isArray(e)?a=e[n]||r:a=df(e,n)||r,t&&(a=t(a,r,e)),a}o(Db,"getStyleValue$1");function Yn(e){const{prop:t,cssProperty:n=e.prop,themeKey:r,transform:a}=e,i=o(s=>{if(s[t]==null)return null;const c=s[t],l=s.theme,u=df(l,r)||{};return Ca(s,c,o(p=>{let m=Db(u,a,p);return p===m&&typeof p=="string"&&(m=Db(u,a,`${t}${p==="default"?"":se(p)}`,p)),n===!1?m:{[n]:m}},"styleFromPropValue"))},"fn");return i.propTypes={},i.filterProps=[t],i}o(Yn,"style$2");function cje(e){const t={};return n=>(t[n]===void 0&&(t[n]=e(n)),t[n])}o(cje,"memoize");const lje={m:"margin",p:"padding"},uje={t:"Top",r:"Right",b:"Bottom",l:"Left",x:["Left","Right"],y:["Top","Bottom"]},hz={marginX:"mx",marginY:"my",paddingX:"px",paddingY:"py"},dje=cje(e=>{if(e.length>2)if(hz[e])e=hz[e];else return[e];const[t,n]=e.split(""),r=lje[t],a=uje[n]||"";return Array.isArray(a)?a.map(i=>r+i):[r+a]}),sR=["m","mt","mr","mb","ml","mx","my","margin","marginTop","marginRight","marginBottom","marginLeft","marginX","marginY","marginInline","marginInlineStart","marginInlineEnd","marginBlock","marginBlockStart","marginBlockEnd"],cR=["p","pt","pr","pb","pl","px","py","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","paddingX","paddingY","paddingInline","paddingInlineStart","paddingInlineEnd","paddingBlock","paddingBlockStart","paddingBlockEnd"];[...sR,...cR];function wg(e,t,n,r){var a;const i=(a=df(e,t,!1))!=null?a:n;return typeof i=="number"?s=>typeof s=="string"?s:i*s:Array.isArray(i)?s=>typeof s=="string"?s:i[s]:typeof i=="function"?i:()=>{}}o(wg,"createUnaryUnit");function lR(e){return wg(e,"spacing",8)}o(lR,"createUnarySpacing");function Tl(e,t){if(typeof t=="string"||t==null)return t;const n=Math.abs(t),r=e(n);return t>=0?r:typeof r=="number"?-r:`-${r}`}o(Tl,"getValue");function fje(e,t){return n=>e.reduce((r,a)=>(r[a]=Tl(t,n),r),{})}o(fje,"getStyleFromPropValue");function pje(e,t,n,r){if(t.indexOf(n)===-1)return null;const a=dje(n),i=fje(a,r),s=e[n];return Ca(e,s,i)}o(pje,"resolveCssProperty");function CU(e,t){const n=lR(e.theme);return Object.keys(e).map(r=>pje(e,t,r,n)).reduce(Am,{})}o(CU,"style$1");function An(e){return CU(e,sR)}o(An,"margin");An.propTypes={};An.filterProps=sR;function Pn(e){return CU(e,cR)}o(Pn,"padding");Pn.propTypes={};Pn.filterProps=cR;function mje(e=8){if(e.mui)return e;const t=lR({spacing:e}),n=o((...r)=>(r.length===0?[1]:r).map(i=>{const s=t(i);return typeof s=="number"?`${s}px`:s}).join(" "),"spacing");return n.mui=!0,n}o(mje,"createSpacing");function m1(...e){const t=e.reduce((r,a)=>(a.filterProps.forEach(i=>{r[i]=a}),r),{}),n=o(r=>Object.keys(r).reduce((a,i)=>t[i]?Am(a,t[i](r)):a,{}),"fn");return n.propTypes={},n.filterProps=e.reduce((r,a)=>r.concat(a.filterProps),[]),n}o(m1,"compose");function oo(e){return typeof e!="number"?e:`${e}px solid`}o(oo,"borderTransform");function jo(e,t){return Yn({prop:e,themeKey:"borders",transform:t})}o(jo,"createBorderStyle");const hje=jo("border",oo),gje=jo("borderTop",oo),vje=jo("borderRight",oo),yje=jo("borderBottom",oo),bje=jo("borderLeft",oo),xje=jo("borderColor"),wje=jo("borderTopColor"),Cje=jo("borderRightColor"),Sje=jo("borderBottomColor"),jje=jo("borderLeftColor"),$je=jo("outline",oo),_je=jo("outlineColor"),h1=o(e=>{if(e.borderRadius!==void 0&&e.borderRadius!==null){const t=wg(e.theme,"shape.borderRadius",4),n=o(r=>({borderRadius:Tl(t,r)}),"styleFromPropValue");return Ca(e,e.borderRadius,n)}return null},"borderRadius");h1.propTypes={};h1.filterProps=["borderRadius"];m1(hje,gje,vje,yje,bje,xje,wje,Cje,Sje,jje,h1,$je,_je);const g1=o(e=>{if(e.gap!==void 0&&e.gap!==null){const t=wg(e.theme,"spacing",8),n=o(r=>({gap:Tl(t,r)}),"styleFromPropValue");return Ca(e,e.gap,n)}return null},"gap");g1.propTypes={};g1.filterProps=["gap"];const v1=o(e=>{if(e.columnGap!==void 0&&e.columnGap!==null){const t=wg(e.theme,"spacing",8),n=o(r=>({columnGap:Tl(t,r)}),"styleFromPropValue");return Ca(e,e.columnGap,n)}return null},"columnGap");v1.propTypes={};v1.filterProps=["columnGap"];const y1=o(e=>{if(e.rowGap!==void 0&&e.rowGap!==null){const t=wg(e.theme,"spacing",8),n=o(r=>({rowGap:Tl(t,r)}),"styleFromPropValue");return Ca(e,e.rowGap,n)}return null},"rowGap");y1.propTypes={};y1.filterProps=["rowGap"];const kje=Yn({prop:"gridColumn"}),Eje=Yn({prop:"gridRow"}),Rje=Yn({prop:"gridAutoFlow"}),Aje=Yn({prop:"gridAutoColumns"}),Pje=Yn({prop:"gridAutoRows"}),Mje=Yn({prop:"gridTemplateColumns"}),Tje=Yn({prop:"gridTemplateRows"}),Oje=Yn({prop:"gridTemplateAreas"}),zje=Yn({prop:"gridArea"});m1(g1,v1,y1,kje,Eje,Rje,Aje,Pje,Mje,Tje,Oje,zje);function sd(e,t){return t==="grey"?t:e}o(sd,"paletteTransform");const Ije=Yn({prop:"color",themeKey:"palette",transform:sd}),Lje=Yn({prop:"bgcolor",cssProperty:"backgroundColor",themeKey:"palette",transform:sd}),Dje=Yn({prop:"backgroundColor",themeKey:"palette",transform:sd});m1(Ije,Lje,Dje);function Pa(e){return e<=1&&e!==0?`${e*100}%`:e}o(Pa,"sizingTransform");const Nje=Yn({prop:"width",transform:Pa}),uR=o(e=>{if(e.maxWidth!==void 0&&e.maxWidth!==null){const t=o(n=>{var r,a;const i=((r=e.theme)==null||(r=r.breakpoints)==null||(r=r.values)==null?void 0:r[n])||iR[n];return i?((a=e.theme)==null||(a=a.breakpoints)==null?void 0:a.unit)!=="px"?{maxWidth:`${i}${e.theme.breakpoints.unit}`}:{maxWidth:i}:{maxWidth:Pa(n)}},"styleFromPropValue");return Ca(e,e.maxWidth,t)}return null},"maxWidth");uR.filterProps=["maxWidth"];const Fje=Yn({prop:"minWidth",transform:Pa}),Bje=Yn({prop:"height",transform:Pa}),Wje=Yn({prop:"maxHeight",transform:Pa}),Uje=Yn({prop:"minHeight",transform:Pa});Yn({prop:"size",cssProperty:"width",transform:Pa});Yn({prop:"size",cssProperty:"height",transform:Pa});const Hje=Yn({prop:"boxSizing"});m1(Nje,uR,Fje,Bje,Wje,Uje,Hje);const Cg={border:{themeKey:"borders",transform:oo},borderTop:{themeKey:"borders",transform:oo},borderRight:{themeKey:"borders",transform:oo},borderBottom:{themeKey:"borders",transform:oo},borderLeft:{themeKey:"borders",transform:oo},borderColor:{themeKey:"palette"},borderTopColor:{themeKey:"palette"},borderRightColor:{themeKey:"palette"},borderBottomColor:{themeKey:"palette"},borderLeftColor:{themeKey:"palette"},outline:{themeKey:"borders",transform:oo},outlineColor:{themeKey:"palette"},borderRadius:{themeKey:"shape.borderRadius",style:h1},color:{themeKey:"palette",transform:sd},bgcolor:{themeKey:"palette",cssProperty:"backgroundColor",transform:sd},backgroundColor:{themeKey:"palette",transform:sd},p:{style:Pn},pt:{style:Pn},pr:{style:Pn},pb:{style:Pn},pl:{style:Pn},px:{style:Pn},py:{style:Pn},padding:{style:Pn},paddingTop:{style:Pn},paddingRight:{style:Pn},paddingBottom:{style:Pn},paddingLeft:{style:Pn},paddingX:{style:Pn},paddingY:{style:Pn},paddingInline:{style:Pn},paddingInlineStart:{style:Pn},paddingInlineEnd:{style:Pn},paddingBlock:{style:Pn},paddingBlockStart:{style:Pn},paddingBlockEnd:{style:Pn},m:{style:An},mt:{style:An},mr:{style:An},mb:{style:An},ml:{style:An},mx:{style:An},my:{style:An},margin:{style:An},marginTop:{style:An},marginRight:{style:An},marginBottom:{style:An},marginLeft:{style:An},marginX:{style:An},marginY:{style:An},marginInline:{style:An},marginInlineStart:{style:An},marginInlineEnd:{style:An},marginBlock:{style:An},marginBlockStart:{style:An},marginBlockEnd:{style:An},displayPrint:{cssProperty:!1,transform:o(e=>({"@media print":{display:e}}),"transform")},display:{},overflow:{},textOverflow:{},visibility:{},whiteSpace:{},flexBasis:{},flexDirection:{},flexWrap:{},justifyContent:{},alignItems:{},alignContent:{},order:{},flex:{},flexGrow:{},flexShrink:{},alignSelf:{},justifyItems:{},justifySelf:{},gap:{style:g1},rowGap:{style:y1},columnGap:{style:v1},gridColumn:{},gridRow:{},gridAutoFlow:{},gridAutoColumns:{},gridAutoRows:{},gridTemplateColumns:{},gridTemplateRows:{},gridTemplateAreas:{},gridArea:{},position:{},zIndex:{themeKey:"zIndex"},top:{},right:{},bottom:{},left:{},boxShadow:{themeKey:"shadows"},width:{transform:Pa},maxWidth:{style:uR},minWidth:{transform:Pa},height:{transform:Pa},maxHeight:{transform:Pa},minHeight:{transform:Pa},boxSizing:{},fontFamily:{themeKey:"typography"},fontSize:{themeKey:"typography"},fontStyle:{themeKey:"typography"},fontWeight:{themeKey:"typography"},letterSpacing:{},textTransform:{},lineHeight:{},textAlign:{},typography:{cssProperty:!1,themeKey:"typography"}};function qje(...e){const t=e.reduce((r,a)=>r.concat(Object.keys(a)),[]),n=new Set(t);return e.every(r=>n.size===Object.keys(r).length)}o(qje,"objectsHaveSameKeys");function Vje(e,t){return typeof e=="function"?e(t):e}o(Vje,"callIfFn");function SU(){function e(n,r,a,i){const s={[n]:r,theme:a},c=i[n];if(!c)return{[n]:r};const{cssProperty:l=n,themeKey:u,transform:d,style:p}=c;if(r==null)return null;if(u==="typography"&&r==="inherit")return{[n]:r};const m=df(a,u)||{};return p?p(s):Ca(s,r,o(h=>{let y=Db(m,d,h);return h===y&&typeof h=="string"&&(y=Db(m,d,`${n}${h==="default"?"":se(h)}`,h)),l===!1?y:{[l]:y}},"styleFromPropValue"))}o(e,"getThemeValue");function t(n){var r;const{sx:a,theme:i={}}=n||{};if(!a)return null;const s=(r=i.unstable_sxConfig)!=null?r:Cg;function c(l){let u=l;if(typeof l=="function")u=l(i);else if(typeof l!="object")return l;if(!u)return null;const d=xU(i.breakpoints),p=Object.keys(d);let m=d;return Object.keys(u).forEach(v=>{const h=Vje(u[v],i);if(h!=null)if(typeof h=="object")if(s[v])m=Am(m,e(v,h,i,s));else{const y=Ca({theme:i},h,C=>({[v]:C}));qje(y,h)?m[v]=t({sx:h,theme:i}):m=Am(m,y)}else m=Am(m,e(v,h,i,s))}),wU(p,m)}return o(c,"traverse"),Array.isArray(a)?a.map(c):c(a)}return o(t,"styleFunctionSx"),t}o(SU,"unstable_createStyleFunctionSx");const lp=SU();lp.filterProps=["sx"];function jU(e,t){const n=this;return n.vars&&typeof n.getColorSchemeSelector=="function"?{[n.getColorSchemeSelector(e).replace(/(\[[^\]]+\])/,"*:where($1)")]:t}:n.palette.mode===e?t:{}}o(jU,"applyStyles$2");const Gje=["breakpoints","palette","spacing","shape"];function up(e={},...t){const{breakpoints:n={},palette:r={},spacing:a,shape:i={}}=e,s=ve(e,Gje),c=bU(n),l=mje(a);let u=Er({breakpoints:c,direction:"ltr",components:{},palette:R({mode:"light"},r),spacing:l,shape:R({},aje,i)},s);return u.applyStyles=jU,u=t.reduce((d,p)=>Er(d,p),u),u.unstable_sxConfig=R({},Cg,s==null?void 0:s.unstable_sxConfig),u.unstable_sx=o(function(p){return lp({sx:p,theme:this})},"sx"),u}o(up,"createTheme$2");const Kje=Object.freeze(Object.defineProperty({__proto__:null,default:up,private_createBreakpoints:bU,unstable_applyStyles:jU},Symbol.toStringTag,{value:"Module"}));function Jje(e){return Object.keys(e).length===0}o(Jje,"isObjectEmpty$1");function dR(e=null){const t=g.useContext(bg);return!t||Jje(t)?e:t}o(dR,"useTheme$5");const Yje=up();function b1(e=Yje){return dR(e)}o(b1,"useTheme$4");function Qje({styles:e,themeId:t,defaultTheme:n={}}){const r=b1(n),a=typeof e=="function"?e(t&&r[t]||r):e;return f.jsx(gU,{styles:a})}o(Qje,"GlobalStyles$1");const Xje=["sx"],Zje=o(e=>{var t,n;const r={systemProps:{},otherProps:{}},a=(t=e==null||(n=e.theme)==null?void 0:n.unstable_sxConfig)!=null?t:Cg;return Object.keys(e).forEach(i=>{a[i]?r.systemProps[i]=e[i]:r.otherProps[i]=e[i]}),r},"splitProps");function Sg(e){const{sx:t}=e,n=ve(e,Xje),{systemProps:r,otherProps:a}=Zje(n);let i;return Array.isArray(t)?i=[r,...t]:typeof t=="function"?i=o((...s)=>{const c=t(...s);return ts(c)?R({},r,c):r},"finalSx"):i=R({},r,t),R({},a,{sx:i})}o(Sg,"extendSxProp");const e$e=Object.freeze(Object.defineProperty({__proto__:null,default:lp,extendSxProp:Sg,unstable_createStyleFunctionSx:SU,unstable_defaultSxConfig:Cg},Symbol.toStringTag,{value:"Module"})),gz=o(e=>e,"defaultGenerator"),t$e=o(()=>{let e=gz;return{configure(t){e=t},generate(t){return e(t)},reset(){e=gz}}},"createClassNameGenerator"),fR=t$e();function $U(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var a=e.length;for(t=0;t<a;t++)e[t]&&(n=$U(e[t]))&&(r&&(r+=" "),r+=n)}else for(n in e)e[n]&&(r&&(r+=" "),r+=n);return r}o($U,"r$1");function ee(){for(var e,t,n=0,r="",a=arguments.length;n<a;n++)(e=arguments[n])&&(t=$U(e))&&(r&&(r+=" "),r+=t);return r}o(ee,"clsx");const n$e=["className","component"];function r$e(e={}){const{themeId:t,defaultTheme:n,defaultClassName:r="MuiBox-root",generateClassName:a}=e,i=oR("div",{shouldForwardProp:o(c=>c!=="theme"&&c!=="sx"&&c!=="as","shouldForwardProp")})(lp);return g.forwardRef(o(function(l,u){const d=b1(n),p=Sg(l),{className:m,component:v="div"}=p,h=ve(p,n$e);return f.jsx(i,R({as:v,ref:u,className:ee(m,a?a(r):r),theme:t&&d[t]||d},h))},"Box"))}o(r$e,"createBox");const _U={active:"active",checked:"checked",completed:"completed",disabled:"disabled",error:"error",expanded:"expanded",focused:"focused",focusVisible:"focusVisible",open:"open",readOnly:"readOnly",required:"required",selected:"selected"};function Ke(e,t,n="Mui"){const r=_U[t];return r?`${n}-${r}`:`${fR.generate(e)}-${t}`}o(Ke,"generateUtilityClass$1");function Qe(e,t,n="Mui"){const r={};return t.forEach(a=>{r[a]=Ke(e,a,n)}),r}o(Qe,"generateUtilityClasses$1");const a$e=/^\s*function(?:\s|\s*\/\*.*\*\/\s*)+([^(\s/]*)\s*/;function kU(e){const t=`${e}`.match(a$e);return t&&t[1]||""}o(kU,"getFunctionName");function EU(e,t=""){return e.displayName||e.name||kU(e)||t}o(EU,"getFunctionComponentName");function vz(e,t,n){const r=EU(t);return e.displayName||(r!==""?`${n}(${r})`:n)}o(vz,"getWrappedName");function o$e(e){if(e!=null){if(typeof e=="string")return e;if(typeof e=="function")return EU(e,"Component");if(typeof e=="object")switch(e.$$typeof){case Pb.ForwardRef:return vz(e,e.render,"ForwardRef");case Pb.Memo:return vz(e,e.type,"memo");default:return}}}o(o$e,"getDisplayName$2");const i$e=Object.freeze(Object.defineProperty({__proto__:null,default:o$e,getFunctionName:kU},Symbol.toStringTag,{value:"Module"})),s$e=["ownerState"],c$e=["variants"],l$e=["name","slot","skipVariantsResolver","skipSx","overridesResolver"];function u$e(e){return Object.keys(e).length===0}o(u$e,"isEmpty$3");function d$e(e){return typeof e=="string"&&e.charCodeAt(0)>96}o(d$e,"isStringTag$1");function q2(e){return e!=="ownerState"&&e!=="theme"&&e!=="sx"&&e!=="as"}o(q2,"shouldForwardProp$1");const f$e=up(),p$e=o(e=>e&&e.charAt(0).toLowerCase()+e.slice(1),"lowercaseFirstLetter$1");function Cv({defaultTheme:e,theme:t,themeId:n}){return u$e(t)?e:t[n]||t}o(Cv,"resolveTheme$1");function m$e(e){return e?(t,n)=>n[e]:null}o(m$e,"defaultOverridesResolver$1");function yy(e,t){let{ownerState:n}=t,r=ve(t,s$e);const a=typeof e=="function"?e(R({ownerState:n},r)):e;if(Array.isArray(a))return a.flatMap(i=>yy(i,R({ownerState:n},r)));if(a&&typeof a=="object"&&Array.isArray(a.variants)){const{variants:i=[]}=a;let c=ve(a,c$e);return i.forEach(l=>{let u=!0;typeof l.props=="function"?u=l.props(R({ownerState:n},r,n)):Object.keys(l.props).forEach(d=>{(n==null?void 0:n[d])!==l.props[d]&&r[d]!==l.props[d]&&(u=!1)}),u&&(Array.isArray(c)||(c=[c]),c.push(typeof l.style=="function"?l.style(R({ownerState:n},r,n)):l.style))}),c}return a}o(yy,"processStyleArg$1");function h$e(e={}){const{themeId:t,defaultTheme:n=f$e,rootShouldForwardProp:r=q2,slotShouldForwardProp:a=q2}=e,i=o(s=>lp(R({},s,{theme:Cv(R({},s,{defaultTheme:n,themeId:t}))})),"systemSx");return i.__mui_systemSx=!0,(s,c={})=>{vU(s,$=>$.filter(j=>!(j!=null&&j.__mui_systemSx)));const{name:l,slot:u,skipVariantsResolver:d,skipSx:p,overridesResolver:m=m$e(p$e(u))}=c,v=ve(c,l$e),h=d!==void 0?d:u&&u!=="Root"&&u!=="root"||!1,y=p||!1;let C,w=q2;u==="Root"||u==="root"?w=r:u?w=a:d$e(s)&&(w=void 0);const x=oR(s,R({shouldForwardProp:w,label:C},v)),b=o($=>typeof $=="function"&&$.__emotion_real!==$||ts($)?j=>yy($,R({},j,{theme:Cv({theme:j.theme,defaultTheme:n,themeId:t})})):$,"transformStyleArg"),S=o(($,...j)=>{let _=b($);const k=j?j.map(b):[];l&&m&&k.push(P=>{const M=Cv(R({},P,{defaultTheme:n,themeId:t}));if(!M.components||!M.components[l]||!M.components[l].styleOverrides)return null;const T=M.components[l].styleOverrides,z={};return Object.entries(T).forEach(([O,N])=>{z[O]=yy(N,R({},P,{theme:M}))}),m(P,z)}),l&&!h&&k.push(P=>{var M;const T=Cv(R({},P,{defaultTheme:n,themeId:t})),z=T==null||(M=T.components)==null||(M=M[l])==null?void 0:M.variants;return yy({variants:z},R({},P,{theme:T}))}),y||k.push(i);const E=k.length-j.length;if(Array.isArray($)&&E>0){const P=new Array(E).fill("");_=[...$,...P],_.raw=[...$.raw,...P]}const A=x(_,...k);return s.muiName&&(A.muiName=s.muiName),A},"muiStyledResolver");return x.withConfig&&(S.withConfig=x.withConfig),S}}o(h$e,"createStyled$2");const RU=h$e();function pR(e,t){const n=R({},t);return Object.keys(e).forEach(r=>{if(r.toString().match(/^(components|slots)$/))n[r]=R({},e[r],n[r]);else if(r.toString().match(/^(componentsProps|slotProps)$/)){const a=e[r]||{},i=t[r];n[r]={},!i||!Object.keys(i)?n[r]=a:!a||!Object.keys(a)?n[r]=i:(n[r]=R({},i),Object.keys(a).forEach(s=>{n[r][s]=pR(a[s],i[s])}))}else n[r]===void 0&&(n[r]=e[r])}),n}o(pR,"resolveProps");function AU(e){const{theme:t,name:n,props:r}=e;return!t||!t.components||!t.components[n]||!t.components[n].defaultProps?r:pR(t.components[n].defaultProps,r)}o(AU,"getThemeProps");function mR({props:e,name:t,defaultTheme:n,themeId:r}){let a=b1(n);return r&&(a=a[r]||a),AU({theme:a,name:t,props:e})}o(mR,"useThemeProps$5");const Xr=typeof window<"u"?g.useLayoutEffect:g.useEffect;function g$e(e,t,n,r,a){const[i,s]=g.useState(()=>a&&n?n(e).matches:r?r(e).matches:t);return Xr(()=>{let c=!0;if(!n)return;const l=n(e),u=o(()=>{c&&s(l.matches)},"updateMatch");return u(),l.addListener(u),()=>{c=!1,l.removeListener(u)}},[e,n]),i}o(g$e,"useMediaQueryOld");const PU=g.useSyncExternalStore;function v$e(e,t,n,r,a){const i=g.useCallback(()=>t,[t]),s=g.useMemo(()=>{if(a&&n)return()=>n(e).matches;if(r!==null){const{matches:d}=r(e);return()=>d}return i},[i,e,r,a,n]),[c,l]=g.useMemo(()=>{if(n===null)return[i,()=>()=>{}];const d=n(e);return[()=>d.matches,p=>(d.addListener(p),()=>{d.removeListener(p)})]},[i,n,e]);return PU(l,c,s)}o(v$e,"useMediaQueryNew");function ta(e,t={}){const n=dR(),r=typeof window<"u"&&typeof window.matchMedia<"u",{defaultMatches:a=!1,matchMedia:i=r?window.matchMedia:null,ssrMatchMedia:s=null,noSsr:c=!1}=AU({name:"MuiUseMediaQuery",props:t,theme:n});let l=typeof e=="function"?e(n):e;return l=l.replace(/^@media( ?)/m,""),(PU!==void 0?v$e:g$e)(l,a,i,s,c)}o(ta,"useMediaQuery");function MU(e,t=Number.MIN_SAFE_INTEGER,n=Number.MAX_SAFE_INTEGER){return Math.max(t,Math.min(e,n))}o(MU,"clamp$1");const y$e=Object.freeze(Object.defineProperty({__proto__:null,default:MU},Symbol.toStringTag,{value:"Module"}));function TU(e,t=0,n=1){return MU(e,t,n)}o(TU,"clampWrapper$1");function b$e(e){e=e.slice(1);const t=new RegExp(`.{1,${e.length>=6?2:1}}`,"g");let n=e.match(t);return n&&n[0].length===1&&(n=n.map(r=>r+r)),n?`rgb${n.length===4?"a":""}(${n.map((r,a)=>a<3?parseInt(r,16):Math.round(parseInt(r,16)/255*1e3)/1e3).join(", ")})`:""}o(b$e,"hexToRgb$1");function hR(e){if(e.type)return e;if(e.charAt(0)==="#")return hR(b$e(e));const t=e.indexOf("("),n=e.substring(0,t);if(["rgb","rgba","hsl","hsla","color"].indexOf(n)===-1)throw new Error(gs(9,e));let r=e.substring(t+1,e.length-1),a;if(n==="color"){if(r=r.split(" "),a=r.shift(),r.length===4&&r[3].charAt(0)==="/"&&(r[3]=r[3].slice(1)),["srgb","display-p3","a98-rgb","prophoto-rgb","rec-2020"].indexOf(a)===-1)throw new Error(gs(10,a))}else r=r.split(",");return r=r.map(i=>parseFloat(i)),{type:n,values:r,colorSpace:a}}o(hR,"decomposeColor$1");function OU(e){const{type:t,colorSpace:n}=e;let{values:r}=e;return t.indexOf("rgb")!==-1?r=r.map((a,i)=>i<3?parseInt(a,10):a):t.indexOf("hsl")!==-1&&(r[1]=`${r[1]}%`,r[2]=`${r[2]}%`),t.indexOf("color")!==-1?r=`${n} ${r.join(" ")}`:r=`${r.join(", ")}`,`${t}(${r})`}o(OU,"recomposeColor$1");function Sh(e,t){return e=hR(e),t=TU(t),(e.type==="rgb"||e.type==="hsl")&&(e.type+="a"),e.type==="color"?e.values[3]=`/${t}`:e.values[3]=t,OU(e)}o(Sh,"alpha$1");function x$e(e,t){if(e=hR(e),t=TU(t),e.type.indexOf("hsl")!==-1)e.values[2]+=(100-e.values[2])*t;else if(e.type.indexOf("rgb")!==-1)for(let n=0;n<3;n+=1)e.values[n]+=(255-e.values[n])*t;else if(e.type.indexOf("color")!==-1)for(let n=0;n<3;n+=1)e.values[n]+=(1-e.values[n])*t;return OU(e)}o(x$e,"lighten$1");function r3(...e){return e.reduce((t,n)=>n==null?t:o(function(...a){t.apply(this,a),n.apply(this,a)},"chainedFunction"),()=>{})}o(r3,"createChainedFunction");function dp(e,t=166){let n;function r(...a){const i=o(()=>{e.apply(this,a)},"later");clearTimeout(n),n=setTimeout(i,t)}return o(r,"debounced"),r.clear=()=>{clearTimeout(n)},r}o(dp,"debounce$1");function w$e(e,t){return()=>null}o(w$e,"deprecatedPropType");function Pm(e,t){var n,r;return g.isValidElement(e)&&t.indexOf((n=e.type.muiName)!=null?n:(r=e.type)==null||(r=r._payload)==null||(r=r.value)==null?void 0:r.muiName)!==-1}o(Pm,"isMuiElement");function tr(e){return e&&e.ownerDocument||document}o(tr,"ownerDocument");function go(e){return tr(e).defaultView||window}o(go,"ownerWindow");function C$e(e,t){return()=>null}o(C$e,"requirePropFactory");function jh(e,t){typeof e=="function"?e(t):e&&(e.current=t)}o(jh,"setRef");let yz=0;function S$e(e){const[t,n]=g.useState(e),r=e||t;return g.useEffect(()=>{t==null&&(yz+=1,n(`mui-${yz}`))},[t]),r}o(S$e,"useGlobalId");const bz=pN.useId;function yc(e){if(bz!==void 0){const t=bz();return e??t}return S$e(e)}o(yc,"useId");function j$e(e,t,n,r,a){return null}o(j$e,"unsupportedProp");function ls({controlled:e,default:t,name:n,state:r="value"}){const{current:a}=g.useRef(e!==void 0),[i,s]=g.useState(t),c=a?e:i,l=g.useCallback(u=>{a||s(u)},[]);return[c,l]}o(ls,"useControlled");function cr(e){const t=g.useRef(e);return Xr(()=>{t.current=e}),g.useRef((...n)=>(0,t.current)(...n)).current}o(cr,"useEventCallback");function ln(...e){return g.useMemo(()=>e.every(t=>t==null)?null:t=>{e.forEach(n=>{jh(n,t)})},e)}o(ln,"useForkRef");const xz={};function $$e(e,t){const n=g.useRef(xz);return n.current===xz&&(n.current=e(t)),n}o($$e,"useLazyRef");const _$e=[];function k$e(e){g.useEffect(e,_$e)}o(k$e,"useOnMount");const B0=class B0{constructor(){this.currentId=null,this.clear=()=>{this.currentId!==null&&(clearTimeout(this.currentId),this.currentId=null)},this.disposeEffect=()=>this.clear}static create(){return new B0}start(t,n){this.clear(),this.currentId=setTimeout(()=>{this.currentId=null,n()},t)}};o(B0,"Timeout");let $h=B0;function Xc(){const e=$$e($h.create).current;return k$e(e.disposeEffect),e}o(Xc,"useTimeout");let x1=!0,a3=!1;const E$e=new $h,R$e={text:!0,search:!0,url:!0,tel:!0,email:!0,password:!0,number:!0,date:!0,month:!0,week:!0,time:!0,datetime:!0,"datetime-local":!0};function A$e(e){const{type:t,tagName:n}=e;return!!(n==="INPUT"&&R$e[t]&&!e.readOnly||n==="TEXTAREA"&&!e.readOnly||e.isContentEditable)}o(A$e,"focusTriggersKeyboardModality");function P$e(e){e.metaKey||e.altKey||e.ctrlKey||(x1=!0)}o(P$e,"handleKeyDown");function V2(){x1=!1}o(V2,"handlePointerDown");function M$e(){this.visibilityState==="hidden"&&a3&&(x1=!0)}o(M$e,"handleVisibilityChange");function T$e(e){e.addEventListener("keydown",P$e,!0),e.addEventListener("mousedown",V2,!0),e.addEventListener("pointerdown",V2,!0),e.addEventListener("touchstart",V2,!0),e.addEventListener("visibilitychange",M$e,!0)}o(T$e,"prepare");function O$e(e){const{target:t}=e;try{return t.matches(":focus-visible")}catch{}return x1||A$e(t)}o(O$e,"isFocusVisible");function w1(){const e=g.useCallback(a=>{a!=null&&T$e(a.ownerDocument)},[]),t=g.useRef(!1);function n(){return t.current?(a3=!0,E$e.start(100,()=>{a3=!1}),t.current=!1,!0):!1}o(n,"handleBlurVisible");function r(a){return O$e(a)?(t.current=!0,!0):!1}return o(r,"handleFocusVisible"),{isFocusVisibleRef:t,onFocus:r,onBlur:n,ref:e}}o(w1,"useIsFocusVisible");function zU(e){const t=e.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}o(zU,"getScrollbarSize");let mu;function IU(){if(mu)return mu;const e=document.createElement("div"),t=document.createElement("div");return t.style.width="10px",t.style.height="1px",e.appendChild(t),e.dir="rtl",e.style.fontSize="14px",e.style.width="4px",e.style.height="1px",e.style.position="absolute",e.style.top="-1000px",e.style.overflow="scroll",document.body.appendChild(e),mu="reverse",e.scrollLeft>0?mu="default":(e.scrollLeft=1,e.scrollLeft===0&&(mu="negative")),document.body.removeChild(e),mu}o(IU,"detectScrollType");function z$e(e,t){const n=e.scrollLeft;if(t!=="rtl")return n;switch(IU()){case"negative":return e.scrollWidth-e.clientWidth+n;case"reverse":return e.scrollWidth-e.clientWidth-n;default:return n}}o(z$e,"getNormalizedScrollLeft");const I$e=o(e=>{const t=g.useRef({});return g.useEffect(()=>{t.current=e}),t.current},"usePreviousProps");function Je(e,t,n=void 0){const r={};return Object.keys(e).forEach(a=>{r[a]=e[a].reduce((i,s)=>{if(s){const c=t(s);c!==""&&i.push(c),n&&n[s]&&i.push(n[s])}return i},[]).join(" ")}),r}o(Je,"composeClasses");const LU=g.createContext(null);function DU(){return g.useContext(LU)}o(DU,"useTheme$3");const L$e=typeof Symbol=="function"&&Symbol.for,D$e=L$e?Symbol.for("mui.nested"):"__THEME_NESTED__";function N$e(e,t){return typeof t=="function"?t(e):R({},e,t)}o(N$e,"mergeOuterLocalTheme");function F$e(e){const{children:t,theme:n}=e,r=DU(),a=g.useMemo(()=>{const i=r===null?n:N$e(r,n);return i!=null&&(i[D$e]=r!==null),i},[n,r]);return f.jsx(LU.Provider,{value:a,children:t})}o(F$e,"ThemeProvider$3");const B$e=["value"],NU=g.createContext();function W$e(e){let{value:t}=e,n=ve(e,B$e);return f.jsx(NU.Provider,R({value:t??!0},n))}o(W$e,"RtlProvider");const Mc=o(()=>{const e=g.useContext(NU);return e??!1},"useRtl"),wz={};function Cz(e,t,n,r=!1){return g.useMemo(()=>{const a=e&&t[e]||t;if(typeof n=="function"){const i=n(a),s=e?R({},t,{[e]:i}):i;return r?()=>s:s}return e?R({},t,{[e]:n}):R({},t,n)},[e,t,n,r])}o(Cz,"useThemeScoping");function U$e(e){const{children:t,theme:n,themeId:r}=e,a=dR(wz),i=DU()||wz,s=Cz(r,a,n),c=Cz(r,i,n,!0),l=s.direction==="rtl";return f.jsx(F$e,{theme:c,children:f.jsx(bg.Provider,{value:s,children:f.jsx(W$e,{value:l,children:t})})})}o(U$e,"ThemeProvider$2");const H$e=["className","component","disableGutters","fixed","maxWidth","classes"],q$e=up(),V$e=RU("div",{name:"MuiContainer",slot:"Root",overridesResolver:o((e,t)=>{const{ownerState:n}=e;return[t.root,t[`maxWidth${se(String(n.maxWidth))}`],n.fixed&&t.fixed,n.disableGutters&&t.disableGutters]},"overridesResolver")}),G$e=o(e=>mR({props:e,name:"MuiContainer",defaultTheme:q$e}),"useThemePropsDefault$1"),K$e=o((e,t)=>{const n=o(l=>Ke(t,l),"getContainerUtilityClass"),{classes:r,fixed:a,disableGutters:i,maxWidth:s}=e,c={root:["root",s&&`maxWidth${se(String(s))}`,a&&"fixed",i&&"disableGutters"]};return Je(c,n,r)},"useUtilityClasses$1b");function J$e(e={}){const{createStyledComponent:t=V$e,useThemeProps:n=G$e,componentName:r="MuiContainer"}=e,a=t(({theme:s,ownerState:c})=>R({width:"100%",marginLeft:"auto",boxSizing:"border-box",marginRight:"auto",display:"block"},!c.disableGutters&&{paddingLeft:s.spacing(2),paddingRight:s.spacing(2),[s.breakpoints.up("sm")]:{paddingLeft:s.spacing(3),paddingRight:s.spacing(3)}}),({theme:s,ownerState:c})=>c.fixed&&Object.keys(s.breakpoints.values).reduce((l,u)=>{const d=u,p=s.breakpoints.values[d];return p!==0&&(l[s.breakpoints.up(d)]={maxWidth:`${p}${s.breakpoints.unit}`}),l},{}),({theme:s,ownerState:c})=>R({},c.maxWidth==="xs"&&{[s.breakpoints.up("xs")]:{maxWidth:Math.max(s.breakpoints.values.xs,444)}},c.maxWidth&&c.maxWidth!=="xs"&&{[s.breakpoints.up(c.maxWidth)]:{maxWidth:`${s.breakpoints.values[c.maxWidth]}${s.breakpoints.unit}`}}));return g.forwardRef(o(function(c,l){const u=n(c),{className:d,component:p="div",disableGutters:m=!1,fixed:v=!1,maxWidth:h="lg"}=u,y=ve(u,H$e),C=R({},u,{component:p,disableGutters:m,fixed:v,maxWidth:h}),w=K$e(C,r);return f.jsx(a,R({as:p,ownerState:C,className:ee(w.root,d),ref:l},y))},"Container2"))}o(J$e,"createContainer");const Y$e=["component","direction","spacing","divider","children","className","useFlexGap"],Q$e=up(),X$e=RU("div",{name:"MuiStack",slot:"Root",overridesResolver:o((e,t)=>t.root,"overridesResolver")});function Z$e(e){return mR({props:e,name:"MuiStack",defaultTheme:Q$e})}o(Z$e,"useThemePropsDefault");function e3e(e,t){const n=g.Children.toArray(e).filter(Boolean);return n.reduce((r,a,i)=>(r.push(a),i<n.length-1&&r.push(g.cloneElement(t,{key:`separator-${i}`})),r),[])}o(e3e,"joinChildren");const t3e=o(e=>({row:"Left","row-reverse":"Right",column:"Top","column-reverse":"Bottom"})[e],"getSideFromDirection"),n3e=o(({ownerState:e,theme:t})=>{let n=R({display:"flex",flexDirection:"column"},Ca({theme:t},gl({values:e.direction,breakpoints:t.breakpoints.values}),r=>({flexDirection:r})));if(e.spacing){const r=lR(t),a=Object.keys(t.breakpoints.values).reduce((l,u)=>((typeof e.spacing=="object"&&e.spacing[u]!=null||typeof e.direction=="object"&&e.direction[u]!=null)&&(l[u]=!0),l),{}),i=gl({values:e.direction,base:a}),s=gl({values:e.spacing,base:a});typeof i=="object"&&Object.keys(i).forEach((l,u,d)=>{if(!i[l]){const m=u>0?i[d[u-1]]:"column";i[l]=m}}),n=Er(n,Ca({theme:t},s,o((l,u)=>e.useFlexGap?{gap:Tl(r,l)}:{"& > :not(style):not(style)":{margin:0},"& > :not(style) ~ :not(style)":{[`margin${t3e(u?i[u]:e.direction)}`]:Tl(r,l)}},"styleFromPropValue")))}return n=oje(t.breakpoints,n),n},"style");function r3e(e={}){const{createStyledComponent:t=X$e,useThemeProps:n=Z$e,componentName:r="MuiStack"}=e,a=o(()=>Je({root:["root"]},l=>Ke(r,l),{}),"useUtilityClasses"),i=t(n3e);return g.forwardRef(o(function(l,u){const d=n(l),p=Sg(d),{component:m="div",direction:v="column",spacing:h=0,divider:y,children:C,className:w,useFlexGap:x=!1}=p,b=ve(p,Y$e),S={direction:v,spacing:h,useFlexGap:x},$=a();return f.jsx(i,R({as:m,ownerState:S,ref:u,className:ee($.root,w)},b,{children:y?e3e(C,y):C}))},"Grid"))}o(r3e,"createStack");function a3e(e,t){return R({toolbar:{minHeight:56,[e.up("xs")]:{"@media (orientation: landscape)":{minHeight:48}},[e.up("sm")]:{minHeight:64}}},t)}o(a3e,"createMixins");var Qn={},FU={exports:{}};(function(e){function t(n){return n&&n.__esModule?n:{default:n}}o(t,"_interopRequireDefault"),e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports})(FU);var ht=FU.exports;const o3e=Li(gCe),i3e=Li(y$e);var BU=ht;Object.defineProperty(Qn,"__esModule",{value:!0});var xt=Qn.alpha=qU;Qn.blend=y3e;Qn.colorChannel=void 0;var ff=Qn.darken=vR;Qn.decomposeColor=vo;var s3e=Qn.emphasize=VU,c3e=Qn.getContrastRatio=p3e;Qn.getLuminance=Nb;Qn.hexToRgb=WU;Qn.hslToRgb=HU;var pf=Qn.lighten=yR;Qn.private_safeAlpha=m3e;Qn.private_safeColorChannel=void 0;Qn.private_safeDarken=h3e;Qn.private_safeEmphasize=v3e;Qn.private_safeLighten=g3e;Qn.recomposeColor=fp;Qn.rgbToHex=f3e;var Sz=BU(o3e),l3e=BU(i3e);function gR(e,t=0,n=1){return(0,l3e.default)(e,t,n)}o(gR,"clampWrapper");function WU(e){e=e.slice(1);const t=new RegExp(`.{1,${e.length>=6?2:1}}`,"g");let n=e.match(t);return n&&n[0].length===1&&(n=n.map(r=>r+r)),n?`rgb${n.length===4?"a":""}(${n.map((r,a)=>a<3?parseInt(r,16):Math.round(parseInt(r,16)/255*1e3)/1e3).join(", ")})`:""}o(WU,"hexToRgb");function u3e(e){const t=e.toString(16);return t.length===1?`0${t}`:t}o(u3e,"intToHex");function vo(e){if(e.type)return e;if(e.charAt(0)==="#")return vo(WU(e));const t=e.indexOf("("),n=e.substring(0,t);if(["rgb","rgba","hsl","hsla","color"].indexOf(n)===-1)throw new Error((0,Sz.default)(9,e));let r=e.substring(t+1,e.length-1),a;if(n==="color"){if(r=r.split(" "),a=r.shift(),r.length===4&&r[3].charAt(0)==="/"&&(r[3]=r[3].slice(1)),["srgb","display-p3","a98-rgb","prophoto-rgb","rec-2020"].indexOf(a)===-1)throw new Error((0,Sz.default)(10,a))}else r=r.split(",");return r=r.map(i=>parseFloat(i)),{type:n,values:r,colorSpace:a}}o(vo,"decomposeColor");const UU=o(e=>{const t=vo(e);return t.values.slice(0,3).map((n,r)=>t.type.indexOf("hsl")!==-1&&r!==0?`${n}%`:n).join(" ")},"colorChannel");Qn.colorChannel=UU;const d3e=o((e,t)=>{try{return UU(e)}catch{return e}},"private_safeColorChannel");Qn.private_safeColorChannel=d3e;function fp(e){const{type:t,colorSpace:n}=e;let{values:r}=e;return t.indexOf("rgb")!==-1?r=r.map((a,i)=>i<3?parseInt(a,10):a):t.indexOf("hsl")!==-1&&(r[1]=`${r[1]}%`,r[2]=`${r[2]}%`),t.indexOf("color")!==-1?r=`${n} ${r.join(" ")}`:r=`${r.join(", ")}`,`${t}(${r})`}o(fp,"recomposeColor");function f3e(e){if(e.indexOf("#")===0)return e;const{values:t}=vo(e);return`#${t.map((n,r)=>u3e(r===3?Math.round(255*n):n)).join("")}`}o(f3e,"rgbToHex");function HU(e){e=vo(e);const{values:t}=e,n=t[0],r=t[1]/100,a=t[2]/100,i=r*Math.min(a,1-a),s=o((u,d=(u+n/30)%12)=>a-i*Math.max(Math.min(d-3,9-d,1),-1),"f");let c="rgb";const l=[Math.round(s(0)*255),Math.round(s(8)*255),Math.round(s(4)*255)];return e.type==="hsla"&&(c+="a",l.push(t[3])),fp({type:c,values:l})}o(HU,"hslToRgb$1");function Nb(e){e=vo(e);let t=e.type==="hsl"||e.type==="hsla"?vo(HU(e)).values:e.values;return t=t.map(n=>(e.type!=="color"&&(n/=255),n<=.03928?n/12.92:((n+.055)/1.055)**2.4)),Number((.2126*t[0]+.7152*t[1]+.0722*t[2]).toFixed(3))}o(Nb,"getLuminance");function p3e(e,t){const n=Nb(e),r=Nb(t);return(Math.max(n,r)+.05)/(Math.min(n,r)+.05)}o(p3e,"getContrastRatio");function qU(e,t){return e=vo(e),t=gR(t),(e.type==="rgb"||e.type==="hsl")&&(e.type+="a"),e.type==="color"?e.values[3]=`/${t}`:e.values[3]=t,fp(e)}o(qU,"alpha");function m3e(e,t,n){try{return qU(e,t)}catch{return e}}o(m3e,"private_safeAlpha");function vR(e,t){if(e=vo(e),t=gR(t),e.type.indexOf("hsl")!==-1)e.values[2]*=1-t;else if(e.type.indexOf("rgb")!==-1||e.type.indexOf("color")!==-1)for(let n=0;n<3;n+=1)e.values[n]*=1-t;return fp(e)}o(vR,"darken");function h3e(e,t,n){try{return vR(e,t)}catch{return e}}o(h3e,"private_safeDarken");function yR(e,t){if(e=vo(e),t=gR(t),e.type.indexOf("hsl")!==-1)e.values[2]+=(100-e.values[2])*t;else if(e.type.indexOf("rgb")!==-1)for(let n=0;n<3;n+=1)e.values[n]+=(255-e.values[n])*t;else if(e.type.indexOf("color")!==-1)for(let n=0;n<3;n+=1)e.values[n]+=(1-e.values[n])*t;return fp(e)}o(yR,"lighten");function g3e(e,t,n){try{return yR(e,t)}catch{return e}}o(g3e,"private_safeLighten");function VU(e,t=.15){return Nb(e)>.5?vR(e,t):yR(e,t)}o(VU,"emphasize");function v3e(e,t,n){try{return VU(e,t)}catch{return e}}o(v3e,"private_safeEmphasize");function y3e(e,t,n,r=1){const a=o((l,u)=>Math.round((l**(1/r)*(1-n)+u**(1/r)*n)**r),"blendChannel"),i=vo(e),s=vo(t),c=[a(i.values[0],s.values[0]),a(i.values[1],s.values[1]),a(i.values[2],s.values[2])];return fp({type:"rgb",values:c})}o(y3e,"blend");const b3e=["mode","contrastThreshold","tonalOffset"],jz={text:{primary:"rgba(0, 0, 0, 0.87)",secondary:"rgba(0, 0, 0, 0.6)",disabled:"rgba(0, 0, 0, 0.38)"},divider:"rgba(0, 0, 0, 0.12)",background:{paper:vh.white,default:vh.white},action:{active:"rgba(0, 0, 0, 0.54)",hover:"rgba(0, 0, 0, 0.04)",hoverOpacity:.04,selected:"rgba(0, 0, 0, 0.08)",selectedOpacity:.08,disabled:"rgba(0, 0, 0, 0.26)",disabledBackground:"rgba(0, 0, 0, 0.12)",disabledOpacity:.38,focus:"rgba(0, 0, 0, 0.12)",focusOpacity:.12,activatedOpacity:.12}},G2={text:{primary:vh.white,secondary:"rgba(255, 255, 255, 0.7)",disabled:"rgba(255, 255, 255, 0.5)",icon:"rgba(255, 255, 255, 0.5)"},divider:"rgba(255, 255, 255, 0.12)",background:{paper:"#121212",default:"#121212"},action:{active:vh.white,hover:"rgba(255, 255, 255, 0.08)",hoverOpacity:.08,selected:"rgba(255, 255, 255, 0.16)",selectedOpacity:.16,disabled:"rgba(255, 255, 255, 0.3)",disabledBackground:"rgba(255, 255, 255, 0.12)",disabledOpacity:.38,focus:"rgba(255, 255, 255, 0.12)",focusOpacity:.12,activatedOpacity:.24}};function $z(e,t,n,r){const a=r.light||r,i=r.dark||r*1.5;e[t]||(e.hasOwnProperty(n)?e[t]=e[n]:t==="light"?e.light=pf(e.main,a):t==="dark"&&(e.dark=ff(e.main,i)))}o($z,"addLightOrDark");function x3e(e="light"){return e==="dark"?{main:du[200],light:du[50],dark:du[400]}:{main:du[700],light:du[400],dark:du[800]}}o(x3e,"getDefaultPrimary");function w3e(e="light"){return e==="dark"?{main:uu[200],light:uu[50],dark:uu[400]}:{main:uu[500],light:uu[300],dark:uu[700]}}o(w3e,"getDefaultSecondary");function C3e(e="light"){return e==="dark"?{main:lu[500],light:lu[300],dark:lu[700]}:{main:lu[700],light:lu[400],dark:lu[800]}}o(C3e,"getDefaultError");function S3e(e="light"){return e==="dark"?{main:fu[400],light:fu[300],dark:fu[700]}:{main:fu[700],light:fu[500],dark:fu[900]}}o(S3e,"getDefaultInfo");function j3e(e="light"){return e==="dark"?{main:pu[400],light:pu[300],dark:pu[700]}:{main:pu[800],light:pu[500],dark:pu[900]}}o(j3e,"getDefaultSuccess");function $3e(e="light"){return e==="dark"?{main:Hp[400],light:Hp[300],dark:Hp[700]}:{main:"#ed6c02",light:Hp[500],dark:Hp[900]}}o($3e,"getDefaultWarning");function _3e(e){const{mode:t="light",contrastThreshold:n=3,tonalOffset:r=.2}=e,a=ve(e,b3e),i=e.primary||x3e(t),s=e.secondary||w3e(t),c=e.error||C3e(t),l=e.info||S3e(t),u=e.success||j3e(t),d=e.warning||$3e(t);function p(y){return c3e(y,G2.text.primary)>=n?G2.text.primary:jz.text.primary}o(p,"getContrastText");const m=o(({color:y,name:C,mainShade:w=500,lightShade:x=300,darkShade:b=700})=>{if(y=R({},y),!y.main&&y[w]&&(y.main=y[w]),!y.hasOwnProperty("main"))throw new Error(gs(11,C?` (${C})`:"",w));if(typeof y.main!="string")throw new Error(gs(12,C?` (${C})`:"",JSON.stringify(y.main)));return $z(y,"light",x,r),$z(y,"dark",b,r),y.contrastText||(y.contrastText=p(y.main)),y},"augmentColor"),v={dark:G2,light:jz};return Er(R({common:R({},vh),mode:t,primary:m({color:i,name:"primary"}),secondary:m({color:s,name:"secondary",mainShade:"A400",lightShade:"A200",darkShade:"A700"}),error:m({color:c,name:"error"}),warning:m({color:d,name:"warning"}),info:m({color:l,name:"info"}),success:m({color:u,name:"success"}),grey:hCe,contrastThreshold:n,getContrastText:p,augmentColor:m,tonalOffset:r},v[t]),a)}o(_3e,"createPalette");const k3e=["fontFamily","fontSize","fontWeightLight","fontWeightRegular","fontWeightMedium","fontWeightBold","htmlFontSize","allVariants","pxToRem"];function E3e(e){return Math.round(e*1e5)/1e5}o(E3e,"round$2");const _z={textTransform:"uppercase"},kz='"Roboto", "Helvetica", "Arial", sans-serif';function R3e(e,t){const n=typeof t=="function"?t(e):t,{fontFamily:r=kz,fontSize:a=14,fontWeightLight:i=300,fontWeightRegular:s=400,fontWeightMedium:c=500,fontWeightBold:l=700,htmlFontSize:u=16,allVariants:d,pxToRem:p}=n,m=ve(n,k3e),v=a/14,h=p||(w=>`${w/u*v}rem`),y=o((w,x,b,S,$)=>R({fontFamily:r,fontWeight:w,fontSize:h(x),lineHeight:b},r===kz?{letterSpacing:`${E3e(S/x)}em`}:{},$,d),"buildVariant"),C={h1:y(i,96,1.167,-1.5),h2:y(i,60,1.2,-.5),h3:y(s,48,1.167,0),h4:y(s,34,1.235,.25),h5:y(s,24,1.334,0),h6:y(c,20,1.6,.15),subtitle1:y(s,16,1.75,.15),subtitle2:y(c,14,1.57,.1),body1:y(s,16,1.5,.15),body2:y(s,14,1.43,.15),button:y(c,14,1.75,.4,_z),caption:y(s,12,1.66,.4),overline:y(s,12,2.66,1,_z),inherit:{fontFamily:"inherit",fontWeight:"inherit",fontSize:"inherit",lineHeight:"inherit",letterSpacing:"inherit"}};return Er(R({htmlFontSize:u,pxToRem:h,fontFamily:r,fontSize:a,fontWeightLight:i,fontWeightRegular:s,fontWeightMedium:c,fontWeightBold:l},C),m,{clone:!1})}o(R3e,"createTypography");const A3e=.2,P3e=.14,M3e=.12;function Sn(...e){return[`${e[0]}px ${e[1]}px ${e[2]}px ${e[3]}px rgba(0,0,0,${A3e})`,`${e[4]}px ${e[5]}px ${e[6]}px ${e[7]}px rgba(0,0,0,${P3e})`,`${e[8]}px ${e[9]}px ${e[10]}px ${e[11]}px rgba(0,0,0,${M3e})`].join(",")}o(Sn,"createShadow");const T3e=["none",Sn(0,2,1,-1,0,1,1,0,0,1,3,0),Sn(0,3,1,-2,0,2,2,0,0,1,5,0),Sn(0,3,3,-2,0,3,4,0,0,1,8,0),Sn(0,2,4,-1,0,4,5,0,0,1,10,0),Sn(0,3,5,-1,0,5,8,0,0,1,14,0),Sn(0,3,5,-1,0,6,10,0,0,1,18,0),Sn(0,4,5,-2,0,7,10,1,0,2,16,1),Sn(0,5,5,-3,0,8,10,1,0,3,14,2),Sn(0,5,6,-3,0,9,12,1,0,3,16,2),Sn(0,6,6,-3,0,10,14,1,0,4,18,3),Sn(0,6,7,-4,0,11,15,1,0,4,20,3),Sn(0,7,8,-4,0,12,17,2,0,5,22,4),Sn(0,7,8,-4,0,13,19,2,0,5,24,4),Sn(0,7,9,-4,0,14,21,2,0,5,26,4),Sn(0,8,9,-5,0,15,22,2,0,6,28,5),Sn(0,8,10,-5,0,16,24,2,0,6,30,5),Sn(0,8,11,-5,0,17,26,2,0,6,32,5),Sn(0,9,11,-5,0,18,28,2,0,7,34,6),Sn(0,9,12,-6,0,19,29,2,0,7,36,6),Sn(0,10,13,-6,0,20,31,3,0,8,38,7),Sn(0,10,13,-6,0,21,33,3,0,8,40,7),Sn(0,10,14,-6,0,22,35,3,0,8,42,7),Sn(0,11,14,-7,0,23,36,3,0,9,44,8),Sn(0,11,15,-7,0,24,38,3,0,9,46,8)],O3e=["duration","easing","delay"],z3e={easeInOut:"cubic-bezier(0.4, 0, 0.2, 1)",easeOut:"cubic-bezier(0.0, 0, 0.2, 1)",easeIn:"cubic-bezier(0.4, 0, 1, 1)",sharp:"cubic-bezier(0.4, 0, 0.6, 1)"},I3e={shortest:150,shorter:200,short:250,standard:300,complex:375,enteringScreen:225,leavingScreen:195};function Ez(e){return`${Math.round(e)}ms`}o(Ez,"formatMs");function L3e(e){if(!e)return 0;const t=e/36;return Math.round((4+15*t**.25+t/5)*10)}o(L3e,"getAutoHeightDuration");function D3e(e){const t=R({},z3e,e.easing),n=R({},I3e,e.duration);return R({getAutoHeightDuration:L3e,create:o((a=["all"],i={})=>{const{duration:s=n.standard,easing:c=t.easeInOut,delay:l=0}=i;return ve(i,O3e),(Array.isArray(a)?a:[a]).map(u=>`${u} ${typeof s=="string"?s:Ez(s)} ${c} ${typeof l=="string"?l:Ez(l)}`).join(",")},"create")},e,{easing:t,duration:n})}o(D3e,"createTransitions");const N3e={mobileStepper:1e3,fab:1050,speedDial:1050,appBar:1100,drawer:1200,modal:1300,snackbar:1400,tooltip:1500},F3e=["breakpoints","mixins","spacing","palette","transitions","typography","shape"];function Fb(e={},...t){const{mixins:n={},palette:r={},transitions:a={},typography:i={}}=e,s=ve(e,F3e);if(e.vars)throw new Error(gs(18));const c=_3e(r),l=up(e);let u=Er(l,{mixins:a3e(l.breakpoints,n),palette:c,shadows:T3e.slice(),typography:R3e(c,i),transitions:D3e(a),zIndex:R({},N3e)});return u=Er(u,s),u=t.reduce((d,p)=>Er(d,p),u),u.unstable_sxConfig=R({},Cg,s==null?void 0:s.unstable_sxConfig),u.unstable_sx=o(function(p){return lp({sx:p,theme:this})},"sx"),u}o(Fb,"createTheme");const C1=Fb();function Ko(){const e=b1(C1);return e[Ml]||e}o(Ko,"useTheme$2");function Ze({props:e,name:t}){return mR({props:e,name:t,defaultTheme:C1,themeId:Ml})}o(Ze,"useThemeProps$4");var jg={},K2={exports:{}},Rz;function B3e(){return Rz||(Rz=1,function(e){function t(n,r){if(n==null)return{};var a={},i=Object.keys(n),s,c;for(c=0;c<i.length;c++)s=i[c],!(r.indexOf(s)>=0)&&(a[s]=n[s]);return a}o(t,"_objectWithoutPropertiesLoose"),e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports}(K2)),K2.exports}o(B3e,"requireObjectWithoutPropertiesLoose");const GU=Li(eje),W3e=Li(tje),U3e=Li(sje),H3e=Li(i$e),q3e=Li(Kje),V3e=Li(e$e);var pp=ht;Object.defineProperty(jg,"__esModule",{value:!0});var G3e=jg.default=i_e;jg.shouldForwardProp=by;jg.systemDefaultTheme=void 0;var eo=pp(UW()),o3=pp(B3e()),Az=e_e(GU),K3e=W3e;pp(U3e);pp(H3e);var J3e=pp(q3e),Y3e=pp(V3e);const Q3e=["ownerState"],X3e=["variants"],Z3e=["name","slot","skipVariantsResolver","skipSx","overridesResolver"];function KU(e){if(typeof WeakMap!="function")return null;var t=new WeakMap,n=new WeakMap;return(KU=o(function(r){return r?n:t},"_getRequireWildcardCache$1"))(e)}o(KU,"_getRequireWildcardCache$1");function e_e(e,t){if(e&&e.__esModule)return e;if(e===null||typeof e!="object"&&typeof e!="function")return{default:e};var n=KU(t);if(n&&n.has(e))return n.get(e);var r={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(i!=="default"&&Object.prototype.hasOwnProperty.call(e,i)){var s=a?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(r,i,s):r[i]=e[i]}return r.default=e,n&&n.set(e,r),r}o(e_e,"_interopRequireWildcard$1");function t_e(e){return Object.keys(e).length===0}o(t_e,"isEmpty$2");function n_e(e){return typeof e=="string"&&e.charCodeAt(0)>96}o(n_e,"isStringTag");function by(e){return e!=="ownerState"&&e!=="theme"&&e!=="sx"&&e!=="as"}o(by,"shouldForwardProp");const r_e=jg.systemDefaultTheme=(0,J3e.default)(),a_e=o(e=>e&&e.charAt(0).toLowerCase()+e.slice(1),"lowercaseFirstLetter");function Sv({defaultTheme:e,theme:t,themeId:n}){return t_e(t)?e:t[n]||t}o(Sv,"resolveTheme");function o_e(e){return e?(t,n)=>n[e]:null}o(o_e,"defaultOverridesResolver");function xy(e,t){let{ownerState:n}=t,r=(0,o3.default)(t,Q3e);const a=typeof e=="function"?e((0,eo.default)({ownerState:n},r)):e;if(Array.isArray(a))return a.flatMap(i=>xy(i,(0,eo.default)({ownerState:n},r)));if(a&&typeof a=="object"&&Array.isArray(a.variants)){const{variants:i=[]}=a;let c=(0,o3.default)(a,X3e);return i.forEach(l=>{let u=!0;typeof l.props=="function"?u=l.props((0,eo.default)({ownerState:n},r,n)):Object.keys(l.props).forEach(d=>{(n==null?void 0:n[d])!==l.props[d]&&r[d]!==l.props[d]&&(u=!1)}),u&&(Array.isArray(c)||(c=[c]),c.push(typeof l.style=="function"?l.style((0,eo.default)({ownerState:n},r,n)):l.style))}),c}return a}o(xy,"processStyleArg");function i_e(e={}){const{themeId:t,defaultTheme:n=r_e,rootShouldForwardProp:r=by,slotShouldForwardProp:a=by}=e,i=o(s=>(0,Y3e.default)((0,eo.default)({},s,{theme:Sv((0,eo.default)({},s,{defaultTheme:n,themeId:t}))})),"systemSx");return i.__mui_systemSx=!0,(s,c={})=>{(0,Az.internal_processStyles)(s,$=>$.filter(j=>!(j!=null&&j.__mui_systemSx)));const{name:l,slot:u,skipVariantsResolver:d,skipSx:p,overridesResolver:m=o_e(a_e(u))}=c,v=(0,o3.default)(c,Z3e),h=d!==void 0?d:u&&u!=="Root"&&u!=="root"||!1,y=p||!1;let C,w=by;u==="Root"||u==="root"?w=r:u?w=a:n_e(s)&&(w=void 0);const x=(0,Az.default)(s,(0,eo.default)({shouldForwardProp:w,label:C},v)),b=o($=>typeof $=="function"&&$.__emotion_real!==$||(0,K3e.isPlainObject)($)?j=>xy($,(0,eo.default)({},j,{theme:Sv({theme:j.theme,defaultTheme:n,themeId:t})})):$,"transformStyleArg"),S=o(($,...j)=>{let _=b($);const k=j?j.map(b):[];l&&m&&k.push(P=>{const M=Sv((0,eo.default)({},P,{defaultTheme:n,themeId:t}));if(!M.components||!M.components[l]||!M.components[l].styleOverrides)return null;const T=M.components[l].styleOverrides,z={};return Object.entries(T).forEach(([O,N])=>{z[O]=xy(N,(0,eo.default)({},P,{theme:M}))}),m(P,z)}),l&&!h&&k.push(P=>{var M;const T=Sv((0,eo.default)({},P,{defaultTheme:n,themeId:t})),z=T==null||(M=T.components)==null||(M=M[l])==null?void 0:M.variants;return xy({variants:z},(0,eo.default)({},P,{theme:T}))}),y||k.push(i);const E=k.length-j.length;if(Array.isArray($)&&E>0){const P=new Array(E).fill("");_=[...$,...P],_.raw=[...$.raw,...P]}const A=x(_,...k);return s.muiName&&(A.muiName=s.muiName),A},"muiStyledResolver");return x.withConfig&&(S.withConfig=x.withConfig),S}}o(i_e,"createStyled");function JU(e){return e!=="ownerState"&&e!=="theme"&&e!=="sx"&&e!=="as"}o(JU,"slotShouldForwardProp");const xr=o(e=>JU(e)&&e!=="classes","rootShouldForwardProp"),V=G3e({themeId:Ml,defaultTheme:C1,rootShouldForwardProp:xr}),s_e=["theme"];function c_e(e){let{theme:t}=e,n=ve(e,s_e);const r=t[Ml];return f.jsx(U$e,R({},n,{themeId:r?Ml:void 0,theme:r||t}))}o(c_e,"ThemeProvider$1");const Pz=o(e=>{let t;return e<1?t=5.11916*e**2:t=4.5*Math.log(e+1)+2,(t/100).toFixed(2)},"getOverlayAlpha");function l_e(e){return Ke("MuiSvgIcon",e)}o(l_e,"getSvgIconUtilityClass");Qe("MuiSvgIcon",["root","colorPrimary","colorSecondary","colorAction","colorError","colorDisabled","fontSizeInherit","fontSizeSmall","fontSizeMedium","fontSizeLarge"]);const u_e=["children","className","color","component","fontSize","htmlColor","inheritViewBox","titleAccess","viewBox"],d_e=o(e=>{const{color:t,fontSize:n,classes:r}=e,a={root:["root",t!=="inherit"&&`color${se(t)}`,`fontSize${se(n)}`]};return Je(a,l_e,r)},"useUtilityClasses$1a"),f_e=V("svg",{name:"MuiSvgIcon",slot:"Root",overridesResolver:o((e,t)=>{const{ownerState:n}=e;return[t.root,n.color!=="inherit"&&t[`color${se(n.color)}`],t[`fontSize${se(n.fontSize)}`]]},"overridesResolver")})(({theme:e,ownerState:t})=>{var n,r,a,i,s,c,l,u,d,p,m,v,h;return{userSelect:"none",width:"1em",height:"1em",display:"inline-block",fill:t.hasSvgAsChild?void 0:"currentColor",flexShrink:0,transition:(n=e.transitions)==null||(r=n.create)==null?void 0:r.call(n,"fill",{duration:(a=e.transitions)==null||(a=a.duration)==null?void 0:a.shorter}),fontSize:{inherit:"inherit",small:((i=e.typography)==null||(s=i.pxToRem)==null?void 0:s.call(i,20))||"1.25rem",medium:((c=e.typography)==null||(l=c.pxToRem)==null?void 0:l.call(c,24))||"1.5rem",large:((u=e.typography)==null||(d=u.pxToRem)==null?void 0:d.call(u,35))||"2.1875rem"}[t.fontSize],color:(p=(m=(e.vars||e).palette)==null||(m=m[t.color])==null?void 0:m.main)!=null?p:{action:(v=(e.vars||e).palette)==null||(v=v.action)==null?void 0:v.active,disabled:(h=(e.vars||e).palette)==null||(h=h.action)==null?void 0:h.disabled,inherit:void 0}[t.color]}}),i3=g.forwardRef(o(function(t,n){const r=Ze({props:t,name:"MuiSvgIcon"}),{children:a,className:i,color:s="inherit",component:c="svg",fontSize:l="medium",htmlColor:u,inheritViewBox:d=!1,titleAccess:p,viewBox:m="0 0 24 24"}=r,v=ve(r,u_e),h=g.isValidElement(a)&&a.type==="svg",y=R({},r,{color:s,component:c,fontSize:l,instanceFontSize:t.fontSize,inheritViewBox:d,viewBox:m,hasSvgAsChild:h}),C={};d||(C.viewBox=m);const w=d_e(y);return f.jsxs(f_e,R({as:c,className:ee(w.root,i),focusable:"false",color:u,"aria-hidden":p?void 0:!0,role:p?"img":void 0,ref:n},C,v,h&&a.props,{ownerState:y,children:[h?a.props.children:a,p?f.jsx("title",{children:p}):null]}))},"SvgIcon2"));i3.muiName="SvgIcon";function ur(e,t){function n(r,a){return f.jsx(i3,R({"data-testid":`${t}Icon`,ref:a},r,{children:e}))}return o(n,"Component"),n.muiName=i3.muiName,g.memo(g.forwardRef(n))}o(ur,"createSvgIcon$1");const p_e={configure:o(e=>{fR.configure(e)},"configure")},m_e=Object.freeze(Object.defineProperty({__proto__:null,capitalize:se,createChainedFunction:r3,createSvgIcon:ur,debounce:dp,deprecatedPropType:w$e,isMuiElement:Pm,ownerDocument:tr,ownerWindow:go,requirePropFactory:C$e,setRef:jh,unstable_ClassNameGenerator:p_e,unstable_useEnhancedEffect:Xr,unstable_useId:yc,unsupportedProp:j$e,useControlled:ls,useEventCallback:cr,useForkRef:ln,useIsFocusVisible:w1},Symbol.toStringTag,{value:"Module"}));function S1(e){return Ze}o(S1,"createUseThemeProps");function s3(e,t){return s3=Object.setPrototypeOf?Object.setPrototypeOf.bind():o(function(r,a){return r.__proto__=a,r},"_setPrototypeOf"),s3(e,t)}o(s3,"_setPrototypeOf");function YU(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,s3(e,t)}o(YU,"_inheritsLoose");const Mz={disabled:!1},Bb=_t.createContext(null);var h_e=o(function(t){return t.scrollTop},"forceReflow"),mm="unmounted",Bc="exited",Wc="entering",$u="entered",c3="exiting",Jo=function(e){YU(t,e);function t(r,a){var i;i=e.call(this,r,a)||this;var s=a,c=s&&!s.isMounting?r.enter:r.appear,l;return i.appearStatus=null,r.in?c?(l=Bc,i.appearStatus=Wc):l=$u:r.unmountOnExit||r.mountOnEnter?l=mm:l=Bc,i.state={status:l},i.nextCallback=null,i}o(t,"Transition2"),t.getDerivedStateFromProps=o(function(a,i){var s=a.in;return s&&i.status===mm?{status:Bc}:null},"getDerivedStateFromProps");var n=t.prototype;return n.componentDidMount=o(function(){this.updateStatus(!0,this.appearStatus)},"componentDidMount"),n.componentDidUpdate=o(function(a){var i=null;if(a!==this.props){var s=this.state.status;this.props.in?s!==Wc&&s!==$u&&(i=Wc):(s===Wc||s===$u)&&(i=c3)}this.updateStatus(!1,i)},"componentDidUpdate"),n.componentWillUnmount=o(function(){this.cancelNextCallback()},"componentWillUnmount"),n.getTimeouts=o(function(){var a=this.props.timeout,i,s,c;return i=s=c=a,a!=null&&typeof a!="number"&&(i=a.exit,s=a.enter,c=a.appear!==void 0?a.appear:s),{exit:i,enter:s,appear:c}},"getTimeouts"),n.updateStatus=o(function(a,i){if(a===void 0&&(a=!1),i!==null)if(this.cancelNextCallback(),i===Wc){if(this.props.unmountOnExit||this.props.mountOnEnter){var s=this.props.nodeRef?this.props.nodeRef.current:dm.findDOMNode(this);s&&h_e(s)}this.performEnter(a)}else this.performExit();else this.props.unmountOnExit&&this.state.status===Bc&&this.setState({status:mm})},"updateStatus"),n.performEnter=o(function(a){var i=this,s=this.props.enter,c=this.context?this.context.isMounting:a,l=this.props.nodeRef?[c]:[dm.findDOMNode(this),c],u=l[0],d=l[1],p=this.getTimeouts(),m=c?p.appear:p.enter;if(!a&&!s||Mz.disabled){this.safeSetState({status:$u},function(){i.props.onEntered(u)});return}this.props.onEnter(u,d),this.safeSetState({status:Wc},function(){i.props.onEntering(u,d),i.onTransitionEnd(m,function(){i.safeSetState({status:$u},function(){i.props.onEntered(u,d)})})})},"performEnter"),n.performExit=o(function(){var a=this,i=this.props.exit,s=this.getTimeouts(),c=this.props.nodeRef?void 0:dm.findDOMNode(this);if(!i||Mz.disabled){this.safeSetState({status:Bc},function(){a.props.onExited(c)});return}this.props.onExit(c),this.safeSetState({status:c3},function(){a.props.onExiting(c),a.onTransitionEnd(s.exit,function(){a.safeSetState({status:Bc},function(){a.props.onExited(c)})})})},"performExit"),n.cancelNextCallback=o(function(){this.nextCallback!==null&&(this.nextCallback.cancel(),this.nextCallback=null)},"cancelNextCallback"),n.safeSetState=o(function(a,i){i=this.setNextCallback(i),this.setState(a,i)},"safeSetState"),n.setNextCallback=o(function(a){var i=this,s=!0;return this.nextCallback=function(c){s&&(s=!1,i.nextCallback=null,a(c))},this.nextCallback.cancel=function(){s=!1},this.nextCallback},"setNextCallback"),n.onTransitionEnd=o(function(a,i){this.setNextCallback(i);var s=this.props.nodeRef?this.props.nodeRef.current:dm.findDOMNode(this),c=a==null&&!this.props.addEndListener;if(!s||c){setTimeout(this.nextCallback,0);return}if(this.props.addEndListener){var l=this.props.nodeRef?[this.nextCallback]:[s,this.nextCallback],u=l[0],d=l[1];this.props.addEndListener(u,d)}a!=null&&setTimeout(this.nextCallback,a)},"onTransitionEnd"),n.render=o(function(){var a=this.state.status;if(a===mm)return null;var i=this.props,s=i.children;i.in,i.mountOnEnter,i.unmountOnExit,i.appear,i.enter,i.exit,i.timeout,i.addEndListener,i.onEnter,i.onEntering,i.onEntered,i.onExit,i.onExiting,i.onExited,i.nodeRef;var c=ve(i,["children","in","mountOnEnter","unmountOnExit","appear","enter","exit","timeout","addEndListener","onEnter","onEntering","onEntered","onExit","onExiting","onExited","nodeRef"]);return _t.createElement(Bb.Provider,{value:null},typeof s=="function"?s(a,c):_t.cloneElement(_t.Children.only(s),c))},"render"),t}(_t.Component);Jo.contextType=Bb;Jo.propTypes={};function hu(){}o(hu,"noop$2");Jo.defaultProps={in:!1,mountOnEnter:!1,unmountOnExit:!1,appear:!1,enter:!0,exit:!0,onEnter:hu,onEntering:hu,onEntered:hu,onExit:hu,onExiting:hu,onExited:hu};Jo.UNMOUNTED=mm;Jo.EXITED=Bc;Jo.ENTERING=Wc;Jo.ENTERED=$u;Jo.EXITING=c3;function g_e(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}o(g_e,"_assertThisInitialized");function bR(e,t){var n=o(function(i){return t&&g.isValidElement(i)?t(i):i},"mapper"),r=Object.create(null);return e&&g.Children.map(e,function(a){return a}).forEach(function(a){r[a.key]=n(a)}),r}o(bR,"getChildMapping");function v_e(e,t){e=e||{},t=t||{};function n(d){return d in t?t[d]:e[d]}o(n,"getValueForKey");var r=Object.create(null),a=[];for(var i in e)i in t?a.length&&(r[i]=a,a=[]):a.push(i);var s,c={};for(var l in t){if(r[l])for(s=0;s<r[l].length;s++){var u=r[l][s];c[r[l][s]]=n(u)}c[l]=n(l)}for(s=0;s<a.length;s++)c[a[s]]=n(a[s]);return c}o(v_e,"mergeChildMappings");function Zc(e,t,n){return n[t]!=null?n[t]:e.props[t]}o(Zc,"getProp");function y_e(e,t){return bR(e.children,function(n){return g.cloneElement(n,{onExited:t.bind(null,n),in:!0,appear:Zc(n,"appear",e),enter:Zc(n,"enter",e),exit:Zc(n,"exit",e)})})}o(y_e,"getInitialChildMapping");function b_e(e,t,n){var r=bR(e.children),a=v_e(t,r);return Object.keys(a).forEach(function(i){var s=a[i];if(g.isValidElement(s)){var c=i in t,l=i in r,u=t[i],d=g.isValidElement(u)&&!u.props.in;l&&(!c||d)?a[i]=g.cloneElement(s,{onExited:n.bind(null,s),in:!0,exit:Zc(s,"exit",e),enter:Zc(s,"enter",e)}):!l&&c&&!d?a[i]=g.cloneElement(s,{in:!1}):l&&c&&g.isValidElement(u)&&(a[i]=g.cloneElement(s,{onExited:n.bind(null,s),in:u.props.in,exit:Zc(s,"exit",e),enter:Zc(s,"enter",e)}))}}),a}o(b_e,"getNextChildMapping");var x_e=Object.values||function(e){return Object.keys(e).map(function(t){return e[t]})},w_e={component:"div",childFactory:o(function(t){return t},"childFactory")},xR=function(e){YU(t,e);function t(r,a){var i;i=e.call(this,r,a)||this;var s=i.handleExited.bind(g_e(i));return i.state={contextValue:{isMounting:!0},handleExited:s,firstRender:!0},i}o(t,"TransitionGroup2");var n=t.prototype;return n.componentDidMount=o(function(){this.mounted=!0,this.setState({contextValue:{isMounting:!1}})},"componentDidMount"),n.componentWillUnmount=o(function(){this.mounted=!1},"componentWillUnmount"),t.getDerivedStateFromProps=o(function(a,i){var s=i.children,c=i.handleExited,l=i.firstRender;return{children:l?y_e(a,c):b_e(a,s,c),firstRender:!1}},"getDerivedStateFromProps"),n.handleExited=o(function(a,i){var s=bR(this.props.children);a.key in s||(a.props.onExited&&a.props.onExited(i),this.mounted&&this.setState(function(c){var l=R({},c.children);return delete l[a.key],{children:l}}))},"handleExited"),n.render=o(function(){var a=this.props,i=a.component,s=a.childFactory,c=ve(a,["component","childFactory"]),l=this.state.contextValue,u=x_e(this.state.children).map(s);return delete c.appear,delete c.enter,delete c.exit,i===null?_t.createElement(Bb.Provider,{value:l},u):_t.createElement(Bb.Provider,{value:l},_t.createElement(i,c,u))},"render"),t}(_t.Component);xR.propTypes={};xR.defaultProps=w_e;const wR=o(e=>e.scrollTop,"reflow");function mf(e,t){var n,r;const{timeout:a,easing:i,style:s={}}=e;return{duration:(n=s.transitionDuration)!=null?n:typeof a=="number"?a:a[t.mode]||0,easing:(r=s.transitionTimingFunction)!=null?r:typeof i=="object"?i[t.mode]:i,delay:s.transitionDelay}}o(mf,"getTransitionProps");function C_e(e){return Ke("MuiPaper",e)}o(C_e,"getPaperUtilityClass");Qe("MuiPaper",["root","rounded","outlined","elevation","elevation0","elevation1","elevation2","elevation3","elevation4","elevation5","elevation6","elevation7","elevation8","elevation9","elevation10","elevation11","elevation12","elevation13","elevation14","elevation15","elevation16","elevation17","elevation18","elevation19","elevation20","elevation21","elevation22","elevation23","elevation24"]);const S_e=["className","component","elevation","square","variant"],j_e=o(e=>{const{square:t,elevation:n,variant:r,classes:a}=e,i={root:["root",r,!t&&"rounded",r==="elevation"&&`elevation${n}`]};return Je(i,C_e,a)},"useUtilityClasses$19"),$_e=V("div",{name:"MuiPaper",slot:"Root",overridesResolver:o((e,t)=>{const{ownerState:n}=e;return[t.root,t[n.variant],!n.square&&t.rounded,n.variant==="elevation"&&t[`elevation${n.elevation}`]]},"overridesResolver")})(({theme:e,ownerState:t})=>{var n;return R({backgroundColor:(e.vars||e).palette.background.paper,color:(e.vars||e).palette.text.primary,transition:e.transitions.create("box-shadow")},!t.square&&{borderRadius:e.shape.borderRadius},t.variant==="outlined"&&{border:`1px solid ${(e.vars||e).palette.divider}`},t.variant==="elevation"&&R({boxShadow:(e.vars||e).shadows[t.elevation]},!e.vars&&e.palette.mode==="dark"&&{backgroundImage:`linear-gradient(${xt("#fff",Pz(t.elevation))}, ${xt("#fff",Pz(t.elevation))})`},e.vars&&{backgroundImage:(n=e.vars.overlays)==null?void 0:n[t.elevation]}))}),Va=g.forwardRef(o(function(t,n){const r=Ze({props:t,name:"MuiPaper"}),{className:a,component:i="div",elevation:s=1,square:c=!1,variant:l="elevation"}=r,u=ve(r,S_e),d=R({},r,{component:i,elevation:s,square:c,variant:l}),p=j_e(d);return f.jsx($_e,R({as:i,ownerState:d,className:ee(p.root,a),ref:n},u))},"Paper2"));function Ol(e){return typeof e=="string"}o(Ol,"isHostComponent");function Yu(e,t,n){return e===void 0||Ol(e)?t:R({},t,{ownerState:R({},t.ownerState,n)})}o(Yu,"appendOwnerState");const __e={disableDefaultClasses:!1},k_e=g.createContext(__e);function E_e(e){const{disableDefaultClasses:t}=g.useContext(k_e);return n=>t?"":e(n)}o(E_e,"useClassNamesOverride");function Wb(e,t=[]){if(e===void 0)return{};const n={};return Object.keys(e).filter(r=>r.match(/^on[A-Z]/)&&typeof e[r]=="function"&&!t.includes(r)).forEach(r=>{n[r]=e[r]}),n}o(Wb,"extractEventHandlers");function QU(e,t,n){return typeof e=="function"?e(t,n):e}o(QU,"resolveComponentProps");function Tz(e){if(e===void 0)return{};const t={};return Object.keys(e).filter(n=>!(n.match(/^on[A-Z]/)&&typeof e[n]=="function")).forEach(n=>{t[n]=e[n]}),t}o(Tz,"omitEventHandlers");function XU(e){const{getSlotProps:t,additionalProps:n,externalSlotProps:r,externalForwardedProps:a,className:i}=e;if(!t){const v=ee(n==null?void 0:n.className,i,a==null?void 0:a.className,r==null?void 0:r.className),h=R({},n==null?void 0:n.style,a==null?void 0:a.style,r==null?void 0:r.style),y=R({},n,a,r);return v.length>0&&(y.className=v),Object.keys(h).length>0&&(y.style=h),{props:y,internalRef:void 0}}const s=Wb(R({},a,r)),c=Tz(r),l=Tz(a),u=t(s),d=ee(u==null?void 0:u.className,n==null?void 0:n.className,i,a==null?void 0:a.className,r==null?void 0:r.className),p=R({},u==null?void 0:u.style,n==null?void 0:n.style,a==null?void 0:a.style,r==null?void 0:r.style),m=R({},u,n,l,c);return d.length>0&&(m.className=d),Object.keys(p).length>0&&(m.style=p),{props:m,internalRef:u.ref}}o(XU,"mergeSlotProps");const R_e=["elementType","externalSlotProps","ownerState","skipResolvingSlotProps"];function yo(e){var t;const{elementType:n,externalSlotProps:r,ownerState:a,skipResolvingSlotProps:i=!1}=e,s=ve(e,R_e),c=i?{}:QU(r,a),{props:l,internalRef:u}=XU(R({},s,{externalSlotProps:c})),d=ln(u,c==null?void 0:c.ref,(t=e.additionalProps)==null?void 0:t.ref);return Yu(n,R({},l,{ref:d}),a)}o(yo,"useSlotProps");const A_e=["className","elementType","ownerState","externalForwardedProps","getSlotOwnerState","internalForwardedProps"],P_e=["component","slots","slotProps"],M_e=["component"];function l3(e,t){const{className:n,elementType:r,ownerState:a,externalForwardedProps:i,getSlotOwnerState:s,internalForwardedProps:c}=t,l=ve(t,A_e),{component:u,slots:d={[e]:void 0},slotProps:p={[e]:void 0}}=i,m=ve(i,P_e),v=d[e]||r,h=QU(p[e],a),y=XU(R({className:n},l,{externalForwardedProps:e==="root"?m:void 0,externalSlotProps:h})),{props:{component:C},internalRef:w}=y,x=ve(y.props,M_e),b=ln(w,h==null?void 0:h.ref,t.ref),S=s?s(x):{},$=R({},a,S),j=e==="root"?C||u:C,_=Yu(v,R({},e==="root"&&!u&&!d[e]&&c,e!=="root"&&!d[e]&&c,x,j&&{as:j},{ref:b}),$);return Object.keys(S).forEach(k=>{delete _[k]}),[v,_]}o(l3,"useSlot");function T_e(e){const{className:t,classes:n,pulsate:r=!1,rippleX:a,rippleY:i,rippleSize:s,in:c,onExited:l,timeout:u}=e,[d,p]=g.useState(!1),m=ee(t,n.ripple,n.rippleVisible,r&&n.ripplePulsate),v={width:s,height:s,top:-(s/2)+i,left:-(s/2)+a},h=ee(n.child,d&&n.childLeaving,r&&n.childPulsate);return!c&&!d&&p(!0),g.useEffect(()=>{if(!c&&l!=null){const y=setTimeout(l,u);return()=>{clearTimeout(y)}}},[l,c,u]),f.jsx("span",{className:m,style:v,children:f.jsx("span",{className:h})})}o(T_e,"Ripple");const to=Qe("MuiTouchRipple",["root","ripple","rippleVisible","ripplePulsate","child","childLeaving","childPulsate"]),O_e=["center","classes","className"];let j1=o(e=>e,"_$5"),Oz,zz,Iz,Lz;const u3=550,z_e=80,I_e=$s(Oz||(Oz=j1` + 0% { + transform: scale(0); + opacity: 0.1; + } + + 100% { + transform: scale(1); + opacity: 0.3; + } +`)),L_e=$s(zz||(zz=j1` + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + } +`)),D_e=$s(Iz||(Iz=j1` + 0% { + transform: scale(1); + } + + 50% { + transform: scale(0.92); + } + + 100% { + transform: scale(1); + } +`)),N_e=V("span",{name:"MuiTouchRipple",slot:"Root"})({overflow:"hidden",pointerEvents:"none",position:"absolute",zIndex:0,top:0,right:0,bottom:0,left:0,borderRadius:"inherit"}),F_e=V(T_e,{name:"MuiTouchRipple",slot:"Ripple"})(Lz||(Lz=j1` + opacity: 0; + position: absolute; + + &.${0} { + opacity: 0.3; + transform: scale(1); + animation-name: ${0}; + animation-duration: ${0}ms; + animation-timing-function: ${0}; + } + + &.${0} { + animation-duration: ${0}ms; + } + + & .${0} { + opacity: 1; + display: block; + width: 100%; + height: 100%; + border-radius: 50%; + background-color: currentColor; + } + + & .${0} { + opacity: 0; + animation-name: ${0}; + animation-duration: ${0}ms; + animation-timing-function: ${0}; + } + + & .${0} { + position: absolute; + /* @noflip */ + left: 0px; + top: 0; + animation-name: ${0}; + animation-duration: 2500ms; + animation-timing-function: ${0}; + animation-iteration-count: infinite; + animation-delay: 200ms; + } +`),to.rippleVisible,I_e,u3,({theme:e})=>e.transitions.easing.easeInOut,to.ripplePulsate,({theme:e})=>e.transitions.duration.shorter,to.child,to.childLeaving,L_e,u3,({theme:e})=>e.transitions.easing.easeInOut,to.childPulsate,D_e,({theme:e})=>e.transitions.easing.easeInOut),B_e=g.forwardRef(o(function(t,n){const r=Ze({props:t,name:"MuiTouchRipple"}),{center:a=!1,classes:i={},className:s}=r,c=ve(r,O_e),[l,u]=g.useState([]),d=g.useRef(0),p=g.useRef(null);g.useEffect(()=>{p.current&&(p.current(),p.current=null)},[l]);const m=g.useRef(!1),v=Xc(),h=g.useRef(null),y=g.useRef(null),C=g.useCallback(S=>{const{pulsate:$,rippleX:j,rippleY:_,rippleSize:k,cb:E}=S;u(A=>[...A,f.jsx(F_e,{classes:{ripple:ee(i.ripple,to.ripple),rippleVisible:ee(i.rippleVisible,to.rippleVisible),ripplePulsate:ee(i.ripplePulsate,to.ripplePulsate),child:ee(i.child,to.child),childLeaving:ee(i.childLeaving,to.childLeaving),childPulsate:ee(i.childPulsate,to.childPulsate)},timeout:u3,pulsate:$,rippleX:j,rippleY:_,rippleSize:k},d.current)]),d.current+=1,p.current=E},[i]),w=g.useCallback((S={},$={},j=()=>{})=>{const{pulsate:_=!1,center:k=a||$.pulsate,fakeElement:E=!1}=$;if((S==null?void 0:S.type)==="mousedown"&&m.current){m.current=!1;return}(S==null?void 0:S.type)==="touchstart"&&(m.current=!0);const A=E?null:y.current,P=A?A.getBoundingClientRect():{width:0,height:0,left:0,top:0};let M,T,z;if(k||S===void 0||S.clientX===0&&S.clientY===0||!S.clientX&&!S.touches)M=Math.round(P.width/2),T=Math.round(P.height/2);else{const{clientX:O,clientY:N}=S.touches&&S.touches.length>0?S.touches[0]:S;M=Math.round(O-P.left),T=Math.round(N-P.top)}if(k)z=Math.sqrt((2*P.width**2+P.height**2)/3),z%2===0&&(z+=1);else{const O=Math.max(Math.abs((A?A.clientWidth:0)-M),M)*2+2,N=Math.max(Math.abs((A?A.clientHeight:0)-T),T)*2+2;z=Math.sqrt(O**2+N**2)}S!=null&&S.touches?h.current===null&&(h.current=()=>{C({pulsate:_,rippleX:M,rippleY:T,rippleSize:z,cb:j})},v.start(z_e,()=>{h.current&&(h.current(),h.current=null)})):C({pulsate:_,rippleX:M,rippleY:T,rippleSize:z,cb:j})},[a,C,v]),x=g.useCallback(()=>{w({},{pulsate:!0})},[w]),b=g.useCallback((S,$)=>{if(v.clear(),(S==null?void 0:S.type)==="touchend"&&h.current){h.current(),h.current=null,v.start(0,()=>{b(S,$)});return}h.current=null,u(j=>j.length>0?j.slice(1):j),p.current=$},[v]);return g.useImperativeHandle(n,()=>({pulsate:x,start:w,stop:b}),[x,w,b]),f.jsx(N_e,R({className:ee(to.root,i.root,s),ref:y},c,{children:f.jsx(xR,{component:null,exit:!0,children:l})}))},"TouchRipple2"));function W_e(e){return Ke("MuiButtonBase",e)}o(W_e,"getButtonBaseUtilityClass");const U_e=Qe("MuiButtonBase",["root","disabled","focusVisible"]),H_e=["action","centerRipple","children","className","component","disabled","disableRipple","disableTouchRipple","focusRipple","focusVisibleClassName","LinkComponent","onBlur","onClick","onContextMenu","onDragLeave","onFocus","onFocusVisible","onKeyDown","onKeyUp","onMouseDown","onMouseLeave","onMouseUp","onTouchEnd","onTouchMove","onTouchStart","tabIndex","TouchRippleProps","touchRippleRef","type"],q_e=o(e=>{const{disabled:t,focusVisible:n,focusVisibleClassName:r,classes:a}=e,s=Je({root:["root",t&&"disabled",n&&"focusVisible"]},W_e,a);return n&&r&&(s.root+=` ${r}`),s},"useUtilityClasses$18"),V_e=V("button",{name:"MuiButtonBase",slot:"Root",overridesResolver:o((e,t)=>t.root,"overridesResolver")})({display:"inline-flex",alignItems:"center",justifyContent:"center",position:"relative",boxSizing:"border-box",WebkitTapHighlightColor:"transparent",backgroundColor:"transparent",outline:0,border:0,margin:0,borderRadius:0,padding:0,cursor:"pointer",userSelect:"none",verticalAlign:"middle",MozAppearance:"none",WebkitAppearance:"none",textDecoration:"none",color:"inherit","&::-moz-focus-inner":{borderStyle:"none"},[`&.${U_e.disabled}`]:{pointerEvents:"none",cursor:"default"},"@media print":{colorAdjust:"exact"}}),Fa=g.forwardRef(o(function(t,n){const r=Ze({props:t,name:"MuiButtonBase"}),{action:a,centerRipple:i=!1,children:s,className:c,component:l="button",disabled:u=!1,disableRipple:d=!1,disableTouchRipple:p=!1,focusRipple:m=!1,LinkComponent:v="a",onBlur:h,onClick:y,onContextMenu:C,onDragLeave:w,onFocus:x,onFocusVisible:b,onKeyDown:S,onKeyUp:$,onMouseDown:j,onMouseLeave:_,onMouseUp:k,onTouchEnd:E,onTouchMove:A,onTouchStart:P,tabIndex:M=0,TouchRippleProps:T,touchRippleRef:z,type:O}=r,N=ve(r,H_e),F=g.useRef(null),I=g.useRef(null),B=ln(I,z),{isFocusVisibleRef:U,onFocus:te,onBlur:Z,ref:be}=w1(),[ne,le]=g.useState(!1);u&&ne&&le(!1),g.useImperativeHandle(a,()=>({focusVisible:o(()=>{le(!0),F.current.focus()},"focusVisible")}),[]);const[oe,Se]=g.useState(!1);g.useEffect(()=>{Se(!0)},[]);const xe=oe&&!d&&!u;g.useEffect(()=>{ne&&m&&!d&&oe&&I.current.pulsate()},[d,m,ne,oe]);function X(ye,ot,ft=p){return cr(yt=>(ot&&ot(yt),!ft&&I.current&&I.current[ye](yt),!0))}o(X,"useRippleHandler");const Re=X("start",j),me=X("stop",C),re=X("stop",w),De=X("stop",k),Ee=X("stop",ye=>{ne&&ye.preventDefault(),_&&_(ye)}),$e=X("start",P),Ce=X("stop",E),st=X("stop",A),D=X("stop",ye=>{Z(ye),U.current===!1&&le(!1),h&&h(ye)},!1),J=cr(ye=>{F.current||(F.current=ye.currentTarget),te(ye),U.current===!0&&(le(!0),b&&b(ye)),x&&x(ye)}),H=o(()=>{const ye=F.current;return l&&l!=="button"&&!(ye.tagName==="A"&&ye.href)},"isNonNativeButton"),de=g.useRef(!1),fe=cr(ye=>{m&&!de.current&&ne&&I.current&&ye.key===" "&&(de.current=!0,I.current.stop(ye,()=>{I.current.start(ye)})),ye.target===ye.currentTarget&&H()&&ye.key===" "&&ye.preventDefault(),S&&S(ye),ye.target===ye.currentTarget&&H()&&ye.key==="Enter"&&!u&&(ye.preventDefault(),y&&y(ye))}),ue=cr(ye=>{m&&ye.key===" "&&I.current&&ne&&!ye.defaultPrevented&&(de.current=!1,I.current.stop(ye,()=>{I.current.pulsate(ye)})),$&&$(ye),y&&ye.target===ye.currentTarget&&H()&&ye.key===" "&&!ye.defaultPrevented&&y(ye)});let he=l;he==="button"&&(N.href||N.to)&&(he=v);const We={};he==="button"?(We.type=O===void 0?"button":O,We.disabled=u):(!N.href&&!N.to&&(We.role="button"),u&&(We["aria-disabled"]=u));const rt=ln(n,be,F),Ue=R({},r,{centerRipple:i,component:l,disabled:u,disableRipple:d,disableTouchRipple:p,focusRipple:m,tabIndex:M,focusVisible:ne}),Ne=q_e(Ue);return f.jsxs(V_e,R({as:he,className:ee(Ne.root,c),ownerState:Ue,onBlur:D,onClick:y,onContextMenu:me,onFocus:J,onKeyDown:fe,onKeyUp:ue,onMouseDown:Re,onMouseLeave:Ee,onMouseUp:De,onDragLeave:re,onTouchEnd:Ce,onTouchMove:st,onTouchStart:$e,ref:rt,tabIndex:u?-1:M,type:O},We,N,{children:[s,xe?f.jsx(B_e,R({ref:B,center:i},T)):null]}))},"ButtonBase2"));function G_e(e){return Ke("MuiAlert",e)}o(G_e,"getAlertUtilityClass");const Dz=Qe("MuiAlert",["root","action","icon","message","filled","colorSuccess","colorInfo","colorWarning","colorError","filledSuccess","filledInfo","filledWarning","filledError","outlined","outlinedSuccess","outlinedInfo","outlinedWarning","outlinedError","standard","standardSuccess","standardInfo","standardWarning","standardError"]);function K_e(e){return Ke("MuiIconButton",e)}o(K_e,"getIconButtonUtilityClass");const J_e=Qe("MuiIconButton",["root","disabled","colorInherit","colorPrimary","colorSecondary","colorError","colorInfo","colorSuccess","colorWarning","edgeStart","edgeEnd","sizeSmall","sizeMedium","sizeLarge"]),Y_e=["edge","children","className","color","disabled","disableFocusRipple","size"],Q_e=o(e=>{const{classes:t,disabled:n,color:r,edge:a,size:i}=e,s={root:["root",n&&"disabled",r!=="default"&&`color${se(r)}`,a&&`edge${se(a)}`,`size${se(i)}`]};return Je(s,K_e,t)},"useUtilityClasses$17"),X_e=V(Fa,{name:"MuiIconButton",slot:"Root",overridesResolver:o((e,t)=>{const{ownerState:n}=e;return[t.root,n.color!=="default"&&t[`color${se(n.color)}`],n.edge&&t[`edge${se(n.edge)}`],t[`size${se(n.size)}`]]},"overridesResolver")})(({theme:e,ownerState:t})=>R({textAlign:"center",flex:"0 0 auto",fontSize:e.typography.pxToRem(24),padding:8,borderRadius:"50%",overflow:"visible",color:(e.vars||e).palette.action.active,transition:e.transitions.create("background-color",{duration:e.transitions.duration.shortest})},!t.disableRipple&&{"&:hover":{backgroundColor:e.vars?`rgba(${e.vars.palette.action.activeChannel} / ${e.vars.palette.action.hoverOpacity})`:xt(e.palette.action.active,e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},t.edge==="start"&&{marginLeft:t.size==="small"?-3:-12},t.edge==="end"&&{marginRight:t.size==="small"?-3:-12}),({theme:e,ownerState:t})=>{var n;const r=(n=(e.vars||e).palette)==null?void 0:n[t.color];return R({},t.color==="inherit"&&{color:"inherit"},t.color!=="inherit"&&t.color!=="default"&&R({color:r==null?void 0:r.main},!t.disableRipple&&{"&:hover":R({},r&&{backgroundColor:e.vars?`rgba(${r.mainChannel} / ${e.vars.palette.action.hoverOpacity})`:xt(r.main,e.palette.action.hoverOpacity)},{"@media (hover: none)":{backgroundColor:"transparent"}})}),t.size==="small"&&{padding:5,fontSize:e.typography.pxToRem(18)},t.size==="large"&&{padding:12,fontSize:e.typography.pxToRem(28)},{[`&.${J_e.disabled}`]:{backgroundColor:"transparent",color:(e.vars||e).palette.action.disabled}})}),cn=g.forwardRef(o(function(t,n){const r=Ze({props:t,name:"MuiIconButton"}),{edge:a=!1,children:i,className:s,color:c="default",disabled:l=!1,disableFocusRipple:u=!1,size:d="medium"}=r,p=ve(r,Y_e),m=R({},r,{edge:a,color:c,disabled:l,disableFocusRipple:u,size:d}),v=Q_e(m);return f.jsx(X_e,R({className:ee(v.root,s),centerRipple:!0,focusRipple:!u,disabled:l,ref:n},p,{ownerState:m,children:i}))},"IconButton2")),Z_e=ur(f.jsx("path",{d:"M20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4C12.76,4 13.5,4.11 14.2, 4.31L15.77,2.74C14.61,2.26 13.34,2 12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0, 0 22,12M7.91,10.08L6.5,11.5L11,16L21,6L19.59,4.58L11,13.17L7.91,10.08Z"}),"SuccessOutlined"),eke=ur(f.jsx("path",{d:"M12 5.99L19.53 19H4.47L12 5.99M12 2L1 21h22L12 2zm1 14h-2v2h2v-2zm0-6h-2v4h2v-4z"}),"ReportProblemOutlined"),tke=ur(f.jsx("path",{d:"M11 15h2v2h-2zm0-8h2v6h-2zm.99-5C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"}),"ErrorOutline"),nke=ur(f.jsx("path",{d:"M11,9H13V7H11M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20, 12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10, 10 0 0,0 12,2M11,17H13V11H11V17Z"}),"InfoOutlined"),ZU=ur(f.jsx("path",{d:"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Close"),rke=["action","children","className","closeText","color","components","componentsProps","icon","iconMapping","onClose","role","severity","slotProps","slots","variant"],ake=S1(),oke=o(e=>{const{variant:t,color:n,severity:r,classes:a}=e,i={root:["root",`color${se(n||r)}`,`${t}${se(n||r)}`,`${t}`],icon:["icon"],message:["message"],action:["action"]};return Je(i,G_e,a)},"useUtilityClasses$16"),ike=V(Va,{name:"MuiAlert",slot:"Root",overridesResolver:o((e,t)=>{const{ownerState:n}=e;return[t.root,t[n.variant],t[`${n.variant}${se(n.color||n.severity)}`]]},"overridesResolver")})(({theme:e})=>{const t=e.palette.mode==="light"?ff:pf,n=e.palette.mode==="light"?pf:ff;return R({},e.typography.body2,{backgroundColor:"transparent",display:"flex",padding:"6px 16px",variants:[...Object.entries(e.palette).filter(([,r])=>r.main&&r.light).map(([r])=>({props:{colorSeverity:r,variant:"standard"},style:{color:e.vars?e.vars.palette.Alert[`${r}Color`]:t(e.palette[r].light,.6),backgroundColor:e.vars?e.vars.palette.Alert[`${r}StandardBg`]:n(e.palette[r].light,.9),[`& .${Dz.icon}`]:e.vars?{color:e.vars.palette.Alert[`${r}IconColor`]}:{color:e.palette[r].main}}})),...Object.entries(e.palette).filter(([,r])=>r.main&&r.light).map(([r])=>({props:{colorSeverity:r,variant:"outlined"},style:{color:e.vars?e.vars.palette.Alert[`${r}Color`]:t(e.palette[r].light,.6),border:`1px solid ${(e.vars||e).palette[r].light}`,[`& .${Dz.icon}`]:e.vars?{color:e.vars.palette.Alert[`${r}IconColor`]}:{color:e.palette[r].main}}})),...Object.entries(e.palette).filter(([,r])=>r.main&&r.dark).map(([r])=>({props:{colorSeverity:r,variant:"filled"},style:R({fontWeight:e.typography.fontWeightMedium},e.vars?{color:e.vars.palette.Alert[`${r}FilledColor`],backgroundColor:e.vars.palette.Alert[`${r}FilledBg`]}:{backgroundColor:e.palette.mode==="dark"?e.palette[r].dark:e.palette[r].main,color:e.palette.getContrastText(e.palette[r].main)})}))]})}),ske=V("div",{name:"MuiAlert",slot:"Icon",overridesResolver:o((e,t)=>t.icon,"overridesResolver")})({marginRight:12,padding:"7px 0",display:"flex",fontSize:22,opacity:.9}),cke=V("div",{name:"MuiAlert",slot:"Message",overridesResolver:o((e,t)=>t.message,"overridesResolver")})({padding:"8px 0",minWidth:0,overflow:"auto"}),Nz=V("div",{name:"MuiAlert",slot:"Action",overridesResolver:o((e,t)=>t.action,"overridesResolver")})({display:"flex",alignItems:"flex-start",padding:"4px 0 0 16px",marginLeft:"auto",marginRight:-8}),Fz={success:f.jsx(Z_e,{fontSize:"inherit"}),warning:f.jsx(eke,{fontSize:"inherit"}),error:f.jsx(tke,{fontSize:"inherit"}),info:f.jsx(nke,{fontSize:"inherit"})},lke=g.forwardRef(o(function(t,n){const r=ake({props:t,name:"MuiAlert"}),{action:a,children:i,className:s,closeText:c="Close",color:l,components:u={},componentsProps:d={},icon:p,iconMapping:m=Fz,onClose:v,role:h="alert",severity:y="success",slotProps:C={},slots:w={},variant:x="standard"}=r,b=ve(r,rke),S=R({},r,{color:l,severity:y,variant:x,colorSeverity:l||y}),$=oke(S),j={slots:R({closeButton:u.CloseButton,closeIcon:u.CloseIcon},w),slotProps:R({},d,C)},[_,k]=l3("closeButton",{elementType:cn,externalForwardedProps:j,ownerState:S}),[E,A]=l3("closeIcon",{elementType:ZU,externalForwardedProps:j,ownerState:S});return f.jsxs(ike,R({role:h,elevation:0,ownerState:S,className:ee($.root,s),ref:n},b,{children:[p!==!1?f.jsx(ske,{ownerState:S,className:$.icon,children:p||m[y]||Fz[y]}):null,f.jsx(cke,{ownerState:S,className:$.message,children:i}),a!=null?f.jsx(Nz,{ownerState:S,className:$.action,children:a}):null,a==null&&v?f.jsx(Nz,{ownerState:S,className:$.action,children:f.jsx(_,R({size:"small","aria-label":c,title:c,color:"inherit",onClick:v},k,{children:f.jsx(E,R({fontSize:"small"},A))}))}):null]}))},"Alert2"));function uke(e){return Ke("MuiTypography",e)}o(uke,"getTypographyUtilityClass");Qe("MuiTypography",["root","h1","h2","h3","h4","h5","h6","subtitle1","subtitle2","body1","body2","inherit","button","caption","overline","alignLeft","alignRight","alignCenter","alignJustify","noWrap","gutterBottom","paragraph"]);const dke=["align","className","component","gutterBottom","noWrap","paragraph","variant","variantMapping"],fke=o(e=>{const{align:t,gutterBottom:n,noWrap:r,paragraph:a,variant:i,classes:s}=e,c={root:["root",i,e.align!=="inherit"&&`align${se(t)}`,n&&"gutterBottom",r&&"noWrap",a&&"paragraph"]};return Je(c,uke,s)},"useUtilityClasses$15"),pke=V("span",{name:"MuiTypography",slot:"Root",overridesResolver:o((e,t)=>{const{ownerState:n}=e;return[t.root,n.variant&&t[n.variant],n.align!=="inherit"&&t[`align${se(n.align)}`],n.noWrap&&t.noWrap,n.gutterBottom&&t.gutterBottom,n.paragraph&&t.paragraph]},"overridesResolver")})(({theme:e,ownerState:t})=>R({margin:0},t.variant==="inherit"&&{font:"inherit"},t.variant!=="inherit"&&e.typography[t.variant],t.align!=="inherit"&&{textAlign:t.align},t.noWrap&&{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},t.gutterBottom&&{marginBottom:"0.35em"},t.paragraph&&{marginBottom:16})),Bz={h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",h6:"h6",subtitle1:"h6",subtitle2:"h6",body1:"p",body2:"p",inherit:"p"},mke={primary:"primary.main",textPrimary:"text.primary",secondary:"secondary.main",textSecondary:"text.secondary",error:"error.main"},hke=o(e=>mke[e]||e,"transformDeprecatedColors$1"),et=g.forwardRef(o(function(t,n){const r=Ze({props:t,name:"MuiTypography"}),a=hke(r.color),i=Sg(R({},r,{color:a})),{align:s="inherit",className:c,component:l,gutterBottom:u=!1,noWrap:d=!1,paragraph:p=!1,variant:m="body1",variantMapping:v=Bz}=i,h=ve(i,dke),y=R({},i,{align:s,color:a,className:c,component:l,gutterBottom:u,noWrap:d,paragraph:p,variant:m,variantMapping:v}),C=l||(p?"p":v[m]||Bz[m])||"span",w=fke(y);return f.jsx(pke,R({as:C,ref:n,ownerState:y,className:ee(w.root,c)},h))},"Typography2"));function gke(e){return Ke("MuiAppBar",e)}o(gke,"getAppBarUtilityClass");Qe("MuiAppBar",["root","positionFixed","positionAbsolute","positionSticky","positionStatic","positionRelative","colorDefault","colorPrimary","colorSecondary","colorInherit","colorTransparent","colorError","colorInfo","colorSuccess","colorWarning"]);const vke=["className","color","enableColorOnDark","position"],yke=o(e=>{const{color:t,position:n,classes:r}=e,a={root:["root",`color${se(t)}`,`position${se(n)}`]};return Je(a,gke,r)},"useUtilityClasses$14"),jv=o((e,t)=>e?`${e==null?void 0:e.replace(")","")}, ${t})`:t,"joinVars"),bke=V(Va,{name:"MuiAppBar",slot:"Root",overridesResolver:o((e,t)=>{const{ownerState:n}=e;return[t.root,t[`position${se(n.position)}`],t[`color${se(n.color)}`]]},"overridesResolver")})(({theme:e,ownerState:t})=>{const n=e.palette.mode==="light"?e.palette.grey[100]:e.palette.grey[900];return R({display:"flex",flexDirection:"column",width:"100%",boxSizing:"border-box",flexShrink:0},t.position==="fixed"&&{position:"fixed",zIndex:(e.vars||e).zIndex.appBar,top:0,left:"auto",right:0,"@media print":{position:"absolute"}},t.position==="absolute"&&{position:"absolute",zIndex:(e.vars||e).zIndex.appBar,top:0,left:"auto",right:0},t.position==="sticky"&&{position:"sticky",zIndex:(e.vars||e).zIndex.appBar,top:0,left:"auto",right:0},t.position==="static"&&{position:"static"},t.position==="relative"&&{position:"relative"},!e.vars&&R({},t.color==="default"&&{backgroundColor:n,color:e.palette.getContrastText(n)},t.color&&t.color!=="default"&&t.color!=="inherit"&&t.color!=="transparent"&&{backgroundColor:e.palette[t.color].main,color:e.palette[t.color].contrastText},t.color==="inherit"&&{color:"inherit"},e.palette.mode==="dark"&&!t.enableColorOnDark&&{backgroundColor:null,color:null},t.color==="transparent"&&R({backgroundColor:"transparent",color:"inherit"},e.palette.mode==="dark"&&{backgroundImage:"none"})),e.vars&&R({},t.color==="default"&&{"--AppBar-background":t.enableColorOnDark?e.vars.palette.AppBar.defaultBg:jv(e.vars.palette.AppBar.darkBg,e.vars.palette.AppBar.defaultBg),"--AppBar-color":t.enableColorOnDark?e.vars.palette.text.primary:jv(e.vars.palette.AppBar.darkColor,e.vars.palette.text.primary)},t.color&&!t.color.match(/^(default|inherit|transparent)$/)&&{"--AppBar-background":t.enableColorOnDark?e.vars.palette[t.color].main:jv(e.vars.palette.AppBar.darkBg,e.vars.palette[t.color].main),"--AppBar-color":t.enableColorOnDark?e.vars.palette[t.color].contrastText:jv(e.vars.palette.AppBar.darkColor,e.vars.palette[t.color].contrastText)},{backgroundColor:"var(--AppBar-background)",color:t.color==="inherit"?"inherit":"var(--AppBar-color)"},t.color==="transparent"&&{backgroundImage:"none",backgroundColor:"transparent",color:"inherit"}))}),eH=g.forwardRef(o(function(t,n){const r=Ze({props:t,name:"MuiAppBar"}),{className:a,color:i="primary",enableColorOnDark:s=!1,position:c="fixed"}=r,l=ve(r,vke),u=R({},r,{color:i,position:c,enableColorOnDark:s}),d=yke(u);return f.jsx(bke,R({square:!0,component:"header",ownerState:u,elevation:4,className:ee(d.root,a,c==="fixed"&&"mui-fixed"),ref:n},l))},"AppBar2")),tH="base";function xke(e){return`${tH}--${e}`}o(xke,"buildStateClass");function wke(e,t){return`${tH}-${e}-${t}`}o(wke,"buildSlotClass");function nH(e,t){const n=_U[t];return n?xke(n):wke(e,t)}o(nH,"generateUtilityClass");function Cke(e,t){const n={};return t.forEach(r=>{n[r]=nH(e,r)}),n}o(Cke,"generateUtilityClasses");function Wz(e){return e.substring(2).toLowerCase()}o(Wz,"mapEventPropToEvent");function Ske(e,t){return t.documentElement.clientWidth<e.clientX||t.documentElement.clientHeight<e.clientY}o(Ske,"clickedRootScrollbar");function jke(e){const{children:t,disableReactTree:n=!1,mouseEvent:r="onClick",onClickAway:a,touchEvent:i="onTouchEnd"}=e,s=g.useRef(!1),c=g.useRef(null),l=g.useRef(!1),u=g.useRef(!1);g.useEffect(()=>(setTimeout(()=>{l.current=!0},0),()=>{l.current=!1}),[]);const d=ln(t.ref,c),p=cr(h=>{const y=u.current;u.current=!1;const C=tr(c.current);if(!l.current||!c.current||"clientX"in h&&Ske(h,C))return;if(s.current){s.current=!1;return}let w;h.composedPath?w=h.composedPath().indexOf(c.current)>-1:w=!C.documentElement.contains(h.target)||c.current.contains(h.target),!w&&(n||!y)&&a(h)}),m=o(h=>y=>{u.current=!0;const C=t.props[h];C&&C(y)},"createHandleSynthetic"),v={ref:d};return i!==!1&&(v[i]=m(i)),g.useEffect(()=>{if(i!==!1){const h=Wz(i),y=tr(c.current),C=o(()=>{s.current=!0},"handleTouchMove");return y.addEventListener(h,p),y.addEventListener("touchmove",C),()=>{y.removeEventListener(h,p),y.removeEventListener("touchmove",C)}}},[p,i]),r!==!1&&(v[r]=m(r)),g.useEffect(()=>{if(r!==!1){const h=Wz(r),y=tr(c.current);return y.addEventListener(h,p),()=>{y.removeEventListener(h,p)}}},[p,r]),f.jsx(g.Fragment,{children:g.cloneElement(t,v)})}o(jke,"ClickAwayListener");const $ke=["input","select","textarea","a[href]","button","[tabindex]","audio[controls]","video[controls]",'[contenteditable]:not([contenteditable="false"])'].join(",");function _ke(e){const t=parseInt(e.getAttribute("tabindex")||"",10);return Number.isNaN(t)?e.contentEditable==="true"||(e.nodeName==="AUDIO"||e.nodeName==="VIDEO"||e.nodeName==="DETAILS")&&e.getAttribute("tabindex")===null?0:e.tabIndex:t}o(_ke,"getTabIndex");function kke(e){if(e.tagName!=="INPUT"||e.type!=="radio"||!e.name)return!1;const t=o(r=>e.ownerDocument.querySelector(`input[type="radio"]${r}`),"getRadio");let n=t(`[name="${e.name}"]:checked`);return n||(n=t(`[name="${e.name}"]`)),n!==e}o(kke,"isNonTabbableRadio");function Eke(e){return!(e.disabled||e.tagName==="INPUT"&&e.type==="hidden"||kke(e))}o(Eke,"isNodeMatchingSelectorFocusable");function Rke(e){const t=[],n=[];return Array.from(e.querySelectorAll($ke)).forEach((r,a)=>{const i=_ke(r);i===-1||!Eke(r)||(i===0?t.push(r):n.push({documentOrder:a,tabIndex:i,node:r}))}),n.sort((r,a)=>r.tabIndex===a.tabIndex?r.documentOrder-a.documentOrder:r.tabIndex-a.tabIndex).map(r=>r.node).concat(t)}o(Rke,"defaultGetTabbable");function Ake(){return!0}o(Ake,"defaultIsEnabled");function Pke(e){const{children:t,disableAutoFocus:n=!1,disableEnforceFocus:r=!1,disableRestoreFocus:a=!1,getTabbable:i=Rke,isEnabled:s=Ake,open:c}=e,l=g.useRef(!1),u=g.useRef(null),d=g.useRef(null),p=g.useRef(null),m=g.useRef(null),v=g.useRef(!1),h=g.useRef(null),y=ln(t.ref,h),C=g.useRef(null);g.useEffect(()=>{!c||!h.current||(v.current=!n)},[n,c]),g.useEffect(()=>{if(!c||!h.current)return;const b=tr(h.current);return h.current.contains(b.activeElement)||(h.current.hasAttribute("tabIndex")||h.current.setAttribute("tabIndex","-1"),v.current&&h.current.focus()),()=>{a||(p.current&&p.current.focus&&(l.current=!0,p.current.focus()),p.current=null)}},[c]),g.useEffect(()=>{if(!c||!h.current)return;const b=tr(h.current),S=o(_=>{C.current=_,!(r||!s()||_.key!=="Tab")&&b.activeElement===h.current&&_.shiftKey&&(l.current=!0,d.current&&d.current.focus())},"loopFocus"),$=o(()=>{const _=h.current;if(_===null)return;if(!b.hasFocus()||!s()||l.current){l.current=!1;return}if(_.contains(b.activeElement)||r&&b.activeElement!==u.current&&b.activeElement!==d.current)return;if(b.activeElement!==m.current)m.current=null;else if(m.current!==null)return;if(!v.current)return;let k=[];if((b.activeElement===u.current||b.activeElement===d.current)&&(k=i(h.current)),k.length>0){var E,A;const P=!!((E=C.current)!=null&&E.shiftKey&&((A=C.current)==null?void 0:A.key)==="Tab"),M=k[0],T=k[k.length-1];typeof M!="string"&&typeof T!="string"&&(P?T.focus():M.focus())}else _.focus()},"contain");b.addEventListener("focusin",$),b.addEventListener("keydown",S,!0);const j=setInterval(()=>{b.activeElement&&b.activeElement.tagName==="BODY"&&$()},50);return()=>{clearInterval(j),b.removeEventListener("focusin",$),b.removeEventListener("keydown",S,!0)}},[n,r,a,s,c,i]);const w=o(b=>{p.current===null&&(p.current=b.relatedTarget),v.current=!0,m.current=b.target;const S=t.props.onFocus;S&&S(b)},"onFocus"),x=o(b=>{p.current===null&&(p.current=b.relatedTarget),v.current=!0},"handleFocusSentinel");return f.jsxs(g.Fragment,{children:[f.jsx("div",{tabIndex:c?0:-1,onFocus:x,ref:u,"data-testid":"sentinelStart"}),g.cloneElement(t,{ref:y,onFocus:w}),f.jsx("div",{tabIndex:c?0:-1,onFocus:x,ref:d,"data-testid":"sentinelEnd"})]})}o(Pke,"FocusTrap");function Mke(e){return typeof e=="function"?e():e}o(Mke,"getContainer$1");const rH=g.forwardRef(o(function(t,n){const{children:r,container:a,disablePortal:i=!1}=t,[s,c]=g.useState(null),l=ln(g.isValidElement(r)?r.ref:null,n);if(Xr(()=>{i||c(Mke(a)||document.body)},[a,i]),Xr(()=>{if(s&&!i)return jh(n,s),()=>{jh(n,null)}},[n,s,i]),i){if(g.isValidElement(r)){const u={ref:l};return g.cloneElement(r,u)}return f.jsx(g.Fragment,{children:r})}return f.jsx(g.Fragment,{children:s&&Nf.createPortal(r,s)})},"Portal2"));function Tke(e){const t=tr(e);return t.body===e?go(e).innerWidth>t.documentElement.clientWidth:e.scrollHeight>e.clientHeight}o(Tke,"isOverflowing");function Mm(e,t){t?e.setAttribute("aria-hidden","true"):e.removeAttribute("aria-hidden")}o(Mm,"ariaHidden");function Uz(e){return parseInt(go(e).getComputedStyle(e).paddingRight,10)||0}o(Uz,"getPaddingRight");function Oke(e){const n=["TEMPLATE","SCRIPT","STYLE","LINK","MAP","META","NOSCRIPT","PICTURE","COL","COLGROUP","PARAM","SLOT","SOURCE","TRACK"].indexOf(e.tagName)!==-1,r=e.tagName==="INPUT"&&e.getAttribute("type")==="hidden";return n||r}o(Oke,"isAriaHiddenForbiddenOnElement");function Hz(e,t,n,r,a){const i=[t,n,...r];[].forEach.call(e.children,s=>{const c=i.indexOf(s)===-1,l=!Oke(s);c&&l&&Mm(s,a)})}o(Hz,"ariaHiddenSiblings");function J2(e,t){let n=-1;return e.some((r,a)=>t(r)?(n=a,!0):!1),n}o(J2,"findIndexOf");function zke(e,t){const n=[],r=e.container;if(!t.disableScrollLock){if(Tke(r)){const s=zU(tr(r));n.push({value:r.style.paddingRight,property:"padding-right",el:r}),r.style.paddingRight=`${Uz(r)+s}px`;const c=tr(r).querySelectorAll(".mui-fixed");[].forEach.call(c,l=>{n.push({value:l.style.paddingRight,property:"padding-right",el:l}),l.style.paddingRight=`${Uz(l)+s}px`})}let i;if(r.parentNode instanceof DocumentFragment)i=tr(r).body;else{const s=r.parentElement,c=go(r);i=(s==null?void 0:s.nodeName)==="HTML"&&c.getComputedStyle(s).overflowY==="scroll"?s:r}n.push({value:i.style.overflow,property:"overflow",el:i},{value:i.style.overflowX,property:"overflow-x",el:i},{value:i.style.overflowY,property:"overflow-y",el:i}),i.style.overflow="hidden"}return o(()=>{n.forEach(({value:i,el:s,property:c})=>{i?s.style.setProperty(c,i):s.style.removeProperty(c)})},"restore")}o(zke,"handleContainer");function Ike(e){const t=[];return[].forEach.call(e.children,n=>{n.getAttribute("aria-hidden")==="true"&&t.push(n)}),t}o(Ike,"getHiddenSiblings");const cM=class cM{constructor(){this.containers=void 0,this.modals=void 0,this.modals=[],this.containers=[]}add(t,n){let r=this.modals.indexOf(t);if(r!==-1)return r;r=this.modals.length,this.modals.push(t),t.modalRef&&Mm(t.modalRef,!1);const a=Ike(n);Hz(n,t.mount,t.modalRef,a,!0);const i=J2(this.containers,s=>s.container===n);return i!==-1?(this.containers[i].modals.push(t),r):(this.containers.push({modals:[t],container:n,restore:null,hiddenSiblings:a}),r)}mount(t,n){const r=J2(this.containers,i=>i.modals.indexOf(t)!==-1),a=this.containers[r];a.restore||(a.restore=zke(a,n))}remove(t,n=!0){const r=this.modals.indexOf(t);if(r===-1)return r;const a=J2(this.containers,s=>s.modals.indexOf(t)!==-1),i=this.containers[a];if(i.modals.splice(i.modals.indexOf(t),1),this.modals.splice(r,1),i.modals.length===0)i.restore&&i.restore(),t.modalRef&&Mm(t.modalRef,n),Hz(i.container,t.mount,t.modalRef,i.hiddenSiblings,!1),this.containers.splice(a,1);else{const s=i.modals[i.modals.length-1];s.modalRef&&Mm(s.modalRef,!1)}return r}isTopModal(t){return this.modals.length>0&&this.modals[this.modals.length-1]===t}};o(cM,"ModalManager");let d3=cM;function Lke(e){return typeof e=="function"?e():e}o(Lke,"getContainer");function Dke(e){return e?e.props.hasOwnProperty("in"):!1}o(Dke,"getHasTransition");const Nke=new d3;function Fke(e){const{container:t,disableEscapeKeyDown:n=!1,disableScrollLock:r=!1,manager:a=Nke,closeAfterTransition:i=!1,onTransitionEnter:s,onTransitionExited:c,children:l,onClose:u,open:d,rootRef:p}=e,m=g.useRef({}),v=g.useRef(null),h=g.useRef(null),y=ln(h,p),[C,w]=g.useState(!d),x=Dke(l);let b=!0;(e["aria-hidden"]==="false"||e["aria-hidden"]===!1)&&(b=!1);const S=o(()=>tr(v.current),"getDoc"),$=o(()=>(m.current.modalRef=h.current,m.current.mount=v.current,m.current),"getModal"),j=o(()=>{a.mount($(),{disableScrollLock:r}),h.current&&(h.current.scrollTop=0)},"handleMounted"),_=cr(()=>{const N=Lke(t)||S().body;a.add($(),N),h.current&&j()}),k=g.useCallback(()=>a.isTopModal($()),[a]),E=cr(N=>{v.current=N,N&&(d&&k()?j():h.current&&Mm(h.current,b))}),A=g.useCallback(()=>{a.remove($(),b)},[b,a]);g.useEffect(()=>()=>{A()},[A]),g.useEffect(()=>{d?_():(!x||!i)&&A()},[d,A,x,i,_]);const P=o(N=>F=>{var I;(I=N.onKeyDown)==null||I.call(N,F),!(F.key!=="Escape"||F.which===229||!k())&&(n||(F.stopPropagation(),u&&u(F,"escapeKeyDown")))},"createHandleKeyDown"),M=o(N=>F=>{var I;(I=N.onClick)==null||I.call(N,F),F.target===F.currentTarget&&u&&u(F,"backdropClick")},"createHandleBackdropClick");return{getRootProps:o((N={})=>{const F=Wb(e);delete F.onTransitionEnter,delete F.onTransitionExited;const I=R({},F,N);return R({role:"presentation"},I,{onKeyDown:P(I),ref:y})},"getRootProps"),getBackdropProps:o((N={})=>{const F=N;return R({"aria-hidden":!0},F,{onClick:M(F),open:d})},"getBackdropProps"),getTransitionProps:o(()=>{const N=o(()=>{w(!1),s&&s()},"handleEnter"),F=o(()=>{w(!0),c&&c(),i&&A()},"handleExited");return{onEnter:r3(N,l==null?void 0:l.props.onEnter),onExited:r3(F,l==null?void 0:l.props.onExited)}},"getTransitionProps"),rootRef:y,portalRef:E,isTopModal:k,exited:C,hasTransition:x}}o(Fke,"useModal");var ya="top",bo="bottom",xo="right",ba="left",CR="auto",$g=[ya,bo,xo,ba],hf="start",_h="end",Bke="clippingParents",aH="viewport",Gp="popper",Wke="reference",qz=$g.reduce(function(e,t){return e.concat([t+"-"+hf,t+"-"+_h])},[]),oH=[].concat($g,[CR]).reduce(function(e,t){return e.concat([t,t+"-"+hf,t+"-"+_h])},[]),Uke="beforeRead",Hke="read",qke="afterRead",Vke="beforeMain",Gke="main",Kke="afterMain",Jke="beforeWrite",Yke="write",Qke="afterWrite",Xke=[Uke,Hke,qke,Vke,Gke,Kke,Jke,Yke,Qke];function Pi(e){return e?(e.nodeName||"").toLowerCase():null}o(Pi,"getNodeName");function Ba(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}o(Ba,"getWindow");function zl(e){var t=Ba(e).Element;return e instanceof t||e instanceof Element}o(zl,"isElement");function fo(e){var t=Ba(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}o(fo,"isHTMLElement$1");function SR(e){if(typeof ShadowRoot>"u")return!1;var t=Ba(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}o(SR,"isShadowRoot");function Zke(e){var t=e.state;Object.keys(t.elements).forEach(function(n){var r=t.styles[n]||{},a=t.attributes[n]||{},i=t.elements[n];!fo(i)||!Pi(i)||(Object.assign(i.style,r),Object.keys(a).forEach(function(s){var c=a[s];c===!1?i.removeAttribute(s):i.setAttribute(s,c===!0?"":c)}))})}o(Zke,"applyStyles");function eEe(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach(function(r){var a=t.elements[r],i=t.attributes[r]||{},s=Object.keys(t.styles.hasOwnProperty(r)?t.styles[r]:n[r]),c=s.reduce(function(l,u){return l[u]="",l},{});!fo(a)||!Pi(a)||(Object.assign(a.style,c),Object.keys(i).forEach(function(l){a.removeAttribute(l)}))})}}o(eEe,"effect$2");const tEe={name:"applyStyles",enabled:!0,phase:"write",fn:Zke,effect:eEe,requires:["computeStyles"]};function _i(e){return e.split("-")[0]}o(_i,"getBasePlacement");var vl=Math.max,Ub=Math.min,gf=Math.round;function f3(){var e=navigator.userAgentData;return e!=null&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}o(f3,"getUAString");function iH(){return!/^((?!chrome|android).)*safari/i.test(f3())}o(iH,"isLayoutViewport");function vf(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!1);var r=e.getBoundingClientRect(),a=1,i=1;t&&fo(e)&&(a=e.offsetWidth>0&&gf(r.width)/e.offsetWidth||1,i=e.offsetHeight>0&&gf(r.height)/e.offsetHeight||1);var s=zl(e)?Ba(e):window,c=s.visualViewport,l=!iH()&&n,u=(r.left+(l&&c?c.offsetLeft:0))/a,d=(r.top+(l&&c?c.offsetTop:0))/i,p=r.width/a,m=r.height/i;return{width:p,height:m,top:d,right:u+p,bottom:d+m,left:u,x:u,y:d}}o(vf,"getBoundingClientRect");function jR(e){var t=vf(e),n=e.offsetWidth,r=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-r)<=1&&(r=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:r}}o(jR,"getLayoutRect");function sH(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&SR(n)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}o(sH,"contains");function vs(e){return Ba(e).getComputedStyle(e)}o(vs,"getComputedStyle");function nEe(e){return["table","td","th"].indexOf(Pi(e))>=0}o(nEe,"isTableElement");function Tc(e){return((zl(e)?e.ownerDocument:e.document)||window.document).documentElement}o(Tc,"getDocumentElement");function $1(e){return Pi(e)==="html"?e:e.assignedSlot||e.parentNode||(SR(e)?e.host:null)||Tc(e)}o($1,"getParentNode");function Vz(e){return!fo(e)||vs(e).position==="fixed"?null:e.offsetParent}o(Vz,"getTrueOffsetParent");function rEe(e){var t=/firefox/i.test(f3()),n=/Trident/i.test(f3());if(n&&fo(e)){var r=vs(e);if(r.position==="fixed")return null}var a=$1(e);for(SR(a)&&(a=a.host);fo(a)&&["html","body"].indexOf(Pi(a))<0;){var i=vs(a);if(i.transform!=="none"||i.perspective!=="none"||i.contain==="paint"||["transform","perspective"].indexOf(i.willChange)!==-1||t&&i.willChange==="filter"||t&&i.filter&&i.filter!=="none")return a;a=a.parentNode}return null}o(rEe,"getContainingBlock");function _g(e){for(var t=Ba(e),n=Vz(e);n&&nEe(n)&&vs(n).position==="static";)n=Vz(n);return n&&(Pi(n)==="html"||Pi(n)==="body"&&vs(n).position==="static")?t:n||rEe(e)||t}o(_g,"getOffsetParent");function $R(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}o($R,"getMainAxisFromPlacement");function Tm(e,t,n){return vl(e,Ub(t,n))}o(Tm,"within");function aEe(e,t,n){var r=Tm(e,t,n);return r>n?n:r}o(aEe,"withinMaxClamp");function cH(){return{top:0,right:0,bottom:0,left:0}}o(cH,"getFreshSideObject");function lH(e){return Object.assign({},cH(),e)}o(lH,"mergePaddingObject");function uH(e,t){return t.reduce(function(n,r){return n[r]=e,n},{})}o(uH,"expandToHashMap");var oEe=o(function(t,n){return t=typeof t=="function"?t(Object.assign({},n.rects,{placement:n.placement})):t,lH(typeof t!="number"?t:uH(t,$g))},"toPaddingObject");function iEe(e){var t,n=e.state,r=e.name,a=e.options,i=n.elements.arrow,s=n.modifiersData.popperOffsets,c=_i(n.placement),l=$R(c),u=[ba,xo].indexOf(c)>=0,d=u?"height":"width";if(!(!i||!s)){var p=oEe(a.padding,n),m=jR(i),v=l==="y"?ya:ba,h=l==="y"?bo:xo,y=n.rects.reference[d]+n.rects.reference[l]-s[l]-n.rects.popper[d],C=s[l]-n.rects.reference[l],w=_g(i),x=w?l==="y"?w.clientHeight||0:w.clientWidth||0:0,b=y/2-C/2,S=p[v],$=x-m[d]-p[h],j=x/2-m[d]/2+b,_=Tm(S,j,$),k=l;n.modifiersData[r]=(t={},t[k]=_,t.centerOffset=_-j,t)}}o(iEe,"arrow");function sEe(e){var t=e.state,n=e.options,r=n.element,a=r===void 0?"[data-popper-arrow]":r;a!=null&&(typeof a=="string"&&(a=t.elements.popper.querySelector(a),!a)||sH(t.elements.popper,a)&&(t.elements.arrow=a))}o(sEe,"effect$1");const cEe={name:"arrow",enabled:!0,phase:"main",fn:iEe,effect:sEe,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function yf(e){return e.split("-")[1]}o(yf,"getVariation");var lEe={top:"auto",right:"auto",bottom:"auto",left:"auto"};function uEe(e,t){var n=e.x,r=e.y,a=t.devicePixelRatio||1;return{x:gf(n*a)/a||0,y:gf(r*a)/a||0}}o(uEe,"roundOffsetsByDPR");function Gz(e){var t,n=e.popper,r=e.popperRect,a=e.placement,i=e.variation,s=e.offsets,c=e.position,l=e.gpuAcceleration,u=e.adaptive,d=e.roundOffsets,p=e.isFixed,m=s.x,v=m===void 0?0:m,h=s.y,y=h===void 0?0:h,C=typeof d=="function"?d({x:v,y}):{x:v,y};v=C.x,y=C.y;var w=s.hasOwnProperty("x"),x=s.hasOwnProperty("y"),b=ba,S=ya,$=window;if(u){var j=_g(n),_="clientHeight",k="clientWidth";if(j===Ba(n)&&(j=Tc(n),vs(j).position!=="static"&&c==="absolute"&&(_="scrollHeight",k="scrollWidth")),j=j,a===ya||(a===ba||a===xo)&&i===_h){S=bo;var E=p&&j===$&&$.visualViewport?$.visualViewport.height:j[_];y-=E-r.height,y*=l?1:-1}if(a===ba||(a===ya||a===bo)&&i===_h){b=xo;var A=p&&j===$&&$.visualViewport?$.visualViewport.width:j[k];v-=A-r.width,v*=l?1:-1}}var P=Object.assign({position:c},u&&lEe),M=d===!0?uEe({x:v,y},Ba(n)):{x:v,y};if(v=M.x,y=M.y,l){var T;return Object.assign({},P,(T={},T[S]=x?"0":"",T[b]=w?"0":"",T.transform=($.devicePixelRatio||1)<=1?"translate("+v+"px, "+y+"px)":"translate3d("+v+"px, "+y+"px, 0)",T))}return Object.assign({},P,(t={},t[S]=x?y+"px":"",t[b]=w?v+"px":"",t.transform="",t))}o(Gz,"mapToStyles");function dEe(e){var t=e.state,n=e.options,r=n.gpuAcceleration,a=r===void 0?!0:r,i=n.adaptive,s=i===void 0?!0:i,c=n.roundOffsets,l=c===void 0?!0:c,u={placement:_i(t.placement),variation:yf(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:a,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,Gz(Object.assign({},u,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:s,roundOffsets:l})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,Gz(Object.assign({},u,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}o(dEe,"computeStyles");const fEe={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:dEe,data:{}};var $v={passive:!0};function pEe(e){var t=e.state,n=e.instance,r=e.options,a=r.scroll,i=a===void 0?!0:a,s=r.resize,c=s===void 0?!0:s,l=Ba(t.elements.popper),u=[].concat(t.scrollParents.reference,t.scrollParents.popper);return i&&u.forEach(function(d){d.addEventListener("scroll",n.update,$v)}),c&&l.addEventListener("resize",n.update,$v),function(){i&&u.forEach(function(d){d.removeEventListener("scroll",n.update,$v)}),c&&l.removeEventListener("resize",n.update,$v)}}o(pEe,"effect");const mEe={name:"eventListeners",enabled:!0,phase:"write",fn:o(function(){},"fn"),effect:pEe,data:{}};var hEe={left:"right",right:"left",bottom:"top",top:"bottom"};function wy(e){return e.replace(/left|right|bottom|top/g,function(t){return hEe[t]})}o(wy,"getOppositePlacement");var gEe={start:"end",end:"start"};function Kz(e){return e.replace(/start|end/g,function(t){return gEe[t]})}o(Kz,"getOppositeVariationPlacement");function _R(e){var t=Ba(e),n=t.pageXOffset,r=t.pageYOffset;return{scrollLeft:n,scrollTop:r}}o(_R,"getWindowScroll");function kR(e){return vf(Tc(e)).left+_R(e).scrollLeft}o(kR,"getWindowScrollBarX");function vEe(e,t){var n=Ba(e),r=Tc(e),a=n.visualViewport,i=r.clientWidth,s=r.clientHeight,c=0,l=0;if(a){i=a.width,s=a.height;var u=iH();(u||!u&&t==="fixed")&&(c=a.offsetLeft,l=a.offsetTop)}return{width:i,height:s,x:c+kR(e),y:l}}o(vEe,"getViewportRect");function yEe(e){var t,n=Tc(e),r=_R(e),a=(t=e.ownerDocument)==null?void 0:t.body,i=vl(n.scrollWidth,n.clientWidth,a?a.scrollWidth:0,a?a.clientWidth:0),s=vl(n.scrollHeight,n.clientHeight,a?a.scrollHeight:0,a?a.clientHeight:0),c=-r.scrollLeft+kR(e),l=-r.scrollTop;return vs(a||n).direction==="rtl"&&(c+=vl(n.clientWidth,a?a.clientWidth:0)-i),{width:i,height:s,x:c,y:l}}o(yEe,"getDocumentRect");function ER(e){var t=vs(e),n=t.overflow,r=t.overflowX,a=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+a+r)}o(ER,"isScrollParent");function dH(e){return["html","body","#document"].indexOf(Pi(e))>=0?e.ownerDocument.body:fo(e)&&ER(e)?e:dH($1(e))}o(dH,"getScrollParent");function Om(e,t){var n;t===void 0&&(t=[]);var r=dH(e),a=r===((n=e.ownerDocument)==null?void 0:n.body),i=Ba(r),s=a?[i].concat(i.visualViewport||[],ER(r)?r:[]):r,c=t.concat(s);return a?c:c.concat(Om($1(s)))}o(Om,"listScrollParents");function p3(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}o(p3,"rectToClientRect");function bEe(e,t){var n=vf(e,!1,t==="fixed");return n.top=n.top+e.clientTop,n.left=n.left+e.clientLeft,n.bottom=n.top+e.clientHeight,n.right=n.left+e.clientWidth,n.width=e.clientWidth,n.height=e.clientHeight,n.x=n.left,n.y=n.top,n}o(bEe,"getInnerBoundingClientRect");function Jz(e,t,n){return t===aH?p3(vEe(e,n)):zl(t)?bEe(t,n):p3(yEe(Tc(e)))}o(Jz,"getClientRectFromMixedType");function xEe(e){var t=Om($1(e)),n=["absolute","fixed"].indexOf(vs(e).position)>=0,r=n&&fo(e)?_g(e):e;return zl(r)?t.filter(function(a){return zl(a)&&sH(a,r)&&Pi(a)!=="body"}):[]}o(xEe,"getClippingParents");function wEe(e,t,n,r){var a=t==="clippingParents"?xEe(e):[].concat(t),i=[].concat(a,[n]),s=i[0],c=i.reduce(function(l,u){var d=Jz(e,u,r);return l.top=vl(d.top,l.top),l.right=Ub(d.right,l.right),l.bottom=Ub(d.bottom,l.bottom),l.left=vl(d.left,l.left),l},Jz(e,s,r));return c.width=c.right-c.left,c.height=c.bottom-c.top,c.x=c.left,c.y=c.top,c}o(wEe,"getClippingRect");function fH(e){var t=e.reference,n=e.element,r=e.placement,a=r?_i(r):null,i=r?yf(r):null,s=t.x+t.width/2-n.width/2,c=t.y+t.height/2-n.height/2,l;switch(a){case ya:l={x:s,y:t.y-n.height};break;case bo:l={x:s,y:t.y+t.height};break;case xo:l={x:t.x+t.width,y:c};break;case ba:l={x:t.x-n.width,y:c};break;default:l={x:t.x,y:t.y}}var u=a?$R(a):null;if(u!=null){var d=u==="y"?"height":"width";switch(i){case hf:l[u]=l[u]-(t[d]/2-n[d]/2);break;case _h:l[u]=l[u]+(t[d]/2-n[d]/2);break}}return l}o(fH,"computeOffsets");function kh(e,t){t===void 0&&(t={});var n=t,r=n.placement,a=r===void 0?e.placement:r,i=n.strategy,s=i===void 0?e.strategy:i,c=n.boundary,l=c===void 0?Bke:c,u=n.rootBoundary,d=u===void 0?aH:u,p=n.elementContext,m=p===void 0?Gp:p,v=n.altBoundary,h=v===void 0?!1:v,y=n.padding,C=y===void 0?0:y,w=lH(typeof C!="number"?C:uH(C,$g)),x=m===Gp?Wke:Gp,b=e.rects.popper,S=e.elements[h?x:m],$=wEe(zl(S)?S:S.contextElement||Tc(e.elements.popper),l,d,s),j=vf(e.elements.reference),_=fH({reference:j,element:b,strategy:"absolute",placement:a}),k=p3(Object.assign({},b,_)),E=m===Gp?k:j,A={top:$.top-E.top+w.top,bottom:E.bottom-$.bottom+w.bottom,left:$.left-E.left+w.left,right:E.right-$.right+w.right},P=e.modifiersData.offset;if(m===Gp&&P){var M=P[a];Object.keys(A).forEach(function(T){var z=[xo,bo].indexOf(T)>=0?1:-1,O=[ya,bo].indexOf(T)>=0?"y":"x";A[T]+=M[O]*z})}return A}o(kh,"detectOverflow");function CEe(e,t){t===void 0&&(t={});var n=t,r=n.placement,a=n.boundary,i=n.rootBoundary,s=n.padding,c=n.flipVariations,l=n.allowedAutoPlacements,u=l===void 0?oH:l,d=yf(r),p=d?c?qz:qz.filter(function(h){return yf(h)===d}):$g,m=p.filter(function(h){return u.indexOf(h)>=0});m.length===0&&(m=p);var v=m.reduce(function(h,y){return h[y]=kh(e,{placement:y,boundary:a,rootBoundary:i,padding:s})[_i(y)],h},{});return Object.keys(v).sort(function(h,y){return v[h]-v[y]})}o(CEe,"computeAutoPlacement");function SEe(e){if(_i(e)===CR)return[];var t=wy(e);return[Kz(e),t,Kz(t)]}o(SEe,"getExpandedFallbackPlacements");function jEe(e){var t=e.state,n=e.options,r=e.name;if(!t.modifiersData[r]._skip){for(var a=n.mainAxis,i=a===void 0?!0:a,s=n.altAxis,c=s===void 0?!0:s,l=n.fallbackPlacements,u=n.padding,d=n.boundary,p=n.rootBoundary,m=n.altBoundary,v=n.flipVariations,h=v===void 0?!0:v,y=n.allowedAutoPlacements,C=t.options.placement,w=_i(C),x=w===C,b=l||(x||!h?[wy(C)]:SEe(C)),S=[C].concat(b).reduce(function(ne,le){return ne.concat(_i(le)===CR?CEe(t,{placement:le,boundary:d,rootBoundary:p,padding:u,flipVariations:h,allowedAutoPlacements:y}):le)},[]),$=t.rects.reference,j=t.rects.popper,_=new Map,k=!0,E=S[0],A=0;A<S.length;A++){var P=S[A],M=_i(P),T=yf(P)===hf,z=[ya,bo].indexOf(M)>=0,O=z?"width":"height",N=kh(t,{placement:P,boundary:d,rootBoundary:p,altBoundary:m,padding:u}),F=z?T?xo:ba:T?bo:ya;$[O]>j[O]&&(F=wy(F));var I=wy(F),B=[];if(i&&B.push(N[M]<=0),c&&B.push(N[F]<=0,N[I]<=0),B.every(function(ne){return ne})){E=P,k=!1;break}_.set(P,B)}if(k)for(var U=h?3:1,te=o(function(le){var oe=S.find(function(Se){var xe=_.get(Se);if(xe)return xe.slice(0,le).every(function(X){return X})});if(oe)return E=oe,"break"},"_loop"),Z=U;Z>0;Z--){var be=te(Z);if(be==="break")break}t.placement!==E&&(t.modifiersData[r]._skip=!0,t.placement=E,t.reset=!0)}}o(jEe,"flip");const $Ee={name:"flip",enabled:!0,phase:"main",fn:jEe,requiresIfExists:["offset"],data:{_skip:!1}};function Yz(e,t,n){return n===void 0&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}o(Yz,"getSideOffsets");function Qz(e){return[ya,xo,bo,ba].some(function(t){return e[t]>=0})}o(Qz,"isAnySideFullyClipped");function _Ee(e){var t=e.state,n=e.name,r=t.rects.reference,a=t.rects.popper,i=t.modifiersData.preventOverflow,s=kh(t,{elementContext:"reference"}),c=kh(t,{altBoundary:!0}),l=Yz(s,r),u=Yz(c,a,i),d=Qz(l),p=Qz(u);t.modifiersData[n]={referenceClippingOffsets:l,popperEscapeOffsets:u,isReferenceHidden:d,hasPopperEscaped:p},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":d,"data-popper-escaped":p})}o(_Ee,"hide");const kEe={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:_Ee};function EEe(e,t,n){var r=_i(e),a=[ba,ya].indexOf(r)>=0?-1:1,i=typeof n=="function"?n(Object.assign({},t,{placement:e})):n,s=i[0],c=i[1];return s=s||0,c=(c||0)*a,[ba,xo].indexOf(r)>=0?{x:c,y:s}:{x:s,y:c}}o(EEe,"distanceAndSkiddingToXY");function REe(e){var t=e.state,n=e.options,r=e.name,a=n.offset,i=a===void 0?[0,0]:a,s=oH.reduce(function(d,p){return d[p]=EEe(p,t.rects,i),d},{}),c=s[t.placement],l=c.x,u=c.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=l,t.modifiersData.popperOffsets.y+=u),t.modifiersData[r]=s}o(REe,"offset");const AEe={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:REe};function PEe(e){var t=e.state,n=e.name;t.modifiersData[n]=fH({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}o(PEe,"popperOffsets");const MEe={name:"popperOffsets",enabled:!0,phase:"read",fn:PEe,data:{}};function TEe(e){return e==="x"?"y":"x"}o(TEe,"getAltAxis");function OEe(e){var t=e.state,n=e.options,r=e.name,a=n.mainAxis,i=a===void 0?!0:a,s=n.altAxis,c=s===void 0?!1:s,l=n.boundary,u=n.rootBoundary,d=n.altBoundary,p=n.padding,m=n.tether,v=m===void 0?!0:m,h=n.tetherOffset,y=h===void 0?0:h,C=kh(t,{boundary:l,rootBoundary:u,padding:p,altBoundary:d}),w=_i(t.placement),x=yf(t.placement),b=!x,S=$R(w),$=TEe(S),j=t.modifiersData.popperOffsets,_=t.rects.reference,k=t.rects.popper,E=typeof y=="function"?y(Object.assign({},t.rects,{placement:t.placement})):y,A=typeof E=="number"?{mainAxis:E,altAxis:E}:Object.assign({mainAxis:0,altAxis:0},E),P=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,M={x:0,y:0};if(j){if(i){var T,z=S==="y"?ya:ba,O=S==="y"?bo:xo,N=S==="y"?"height":"width",F=j[S],I=F+C[z],B=F-C[O],U=v?-k[N]/2:0,te=x===hf?_[N]:k[N],Z=x===hf?-k[N]:-_[N],be=t.elements.arrow,ne=v&&be?jR(be):{width:0,height:0},le=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:cH(),oe=le[z],Se=le[O],xe=Tm(0,_[N],ne[N]),X=b?_[N]/2-U-xe-oe-A.mainAxis:te-xe-oe-A.mainAxis,Re=b?-_[N]/2+U+xe+Se+A.mainAxis:Z+xe+Se+A.mainAxis,me=t.elements.arrow&&_g(t.elements.arrow),re=me?S==="y"?me.clientTop||0:me.clientLeft||0:0,De=(T=P==null?void 0:P[S])!=null?T:0,Ee=F+X-De-re,$e=F+Re-De,Ce=Tm(v?Ub(I,Ee):I,F,v?vl(B,$e):B);j[S]=Ce,M[S]=Ce-F}if(c){var st,D=S==="x"?ya:ba,J=S==="x"?bo:xo,H=j[$],de=$==="y"?"height":"width",fe=H+C[D],ue=H-C[J],he=[ya,ba].indexOf(w)!==-1,We=(st=P==null?void 0:P[$])!=null?st:0,rt=he?fe:H-_[de]-k[de]-We+A.altAxis,Ue=he?H+_[de]+k[de]-We-A.altAxis:ue,Ne=v&&he?aEe(rt,H,Ue):Tm(v?rt:fe,H,v?Ue:ue);j[$]=Ne,M[$]=Ne-H}t.modifiersData[r]=M}}o(OEe,"preventOverflow");const zEe={name:"preventOverflow",enabled:!0,phase:"main",fn:OEe,requiresIfExists:["offset"]};function IEe(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}o(IEe,"getHTMLElementScroll");function LEe(e){return e===Ba(e)||!fo(e)?_R(e):IEe(e)}o(LEe,"getNodeScroll");function DEe(e){var t=e.getBoundingClientRect(),n=gf(t.width)/e.offsetWidth||1,r=gf(t.height)/e.offsetHeight||1;return n!==1||r!==1}o(DEe,"isElementScaled");function NEe(e,t,n){n===void 0&&(n=!1);var r=fo(t),a=fo(t)&&DEe(t),i=Tc(t),s=vf(e,a,n),c={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(r||!r&&!n)&&((Pi(t)!=="body"||ER(i))&&(c=LEe(t)),fo(t)?(l=vf(t,!0),l.x+=t.clientLeft,l.y+=t.clientTop):i&&(l.x=kR(i))),{x:s.left+c.scrollLeft-l.x,y:s.top+c.scrollTop-l.y,width:s.width,height:s.height}}o(NEe,"getCompositeRect");function FEe(e){var t=new Map,n=new Set,r=[];e.forEach(function(i){t.set(i.name,i)});function a(i){n.add(i.name);var s=[].concat(i.requires||[],i.requiresIfExists||[]);s.forEach(function(c){if(!n.has(c)){var l=t.get(c);l&&a(l)}}),r.push(i)}return o(a,"sort"),e.forEach(function(i){n.has(i.name)||a(i)}),r}o(FEe,"order");function BEe(e){var t=FEe(e);return Xke.reduce(function(n,r){return n.concat(t.filter(function(a){return a.phase===r}))},[])}o(BEe,"orderModifiers");function WEe(e){var t;return function(){return t||(t=new Promise(function(n){Promise.resolve().then(function(){t=void 0,n(e())})})),t}}o(WEe,"debounce");function UEe(e){var t=e.reduce(function(n,r){var a=n[r.name];return n[r.name]=a?Object.assign({},a,r,{options:Object.assign({},a.options,r.options),data:Object.assign({},a.data,r.data)}):r,n},{});return Object.keys(t).map(function(n){return t[n]})}o(UEe,"mergeByName");var Xz={placement:"bottom",modifiers:[],strategy:"absolute"};function Zz(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return!t.some(function(r){return!(r&&typeof r.getBoundingClientRect=="function")})}o(Zz,"areValidElements");function HEe(e){e===void 0&&(e={});var t=e,n=t.defaultModifiers,r=n===void 0?[]:n,a=t.defaultOptions,i=a===void 0?Xz:a;return o(function(c,l,u){u===void 0&&(u=i);var d={placement:"bottom",orderedModifiers:[],options:Object.assign({},Xz,i),modifiersData:{},elements:{reference:c,popper:l},attributes:{},styles:{}},p=[],m=!1,v={state:d,setOptions:o(function(w){var x=typeof w=="function"?w(d.options):w;y(),d.options=Object.assign({},i,d.options,x),d.scrollParents={reference:zl(c)?Om(c):c.contextElement?Om(c.contextElement):[],popper:Om(l)};var b=BEe(UEe([].concat(r,d.options.modifiers)));return d.orderedModifiers=b.filter(function(S){return S.enabled}),h(),v.update()},"setOptions"),forceUpdate:o(function(){if(!m){var w=d.elements,x=w.reference,b=w.popper;if(Zz(x,b)){d.rects={reference:NEe(x,_g(b),d.options.strategy==="fixed"),popper:jR(b)},d.reset=!1,d.placement=d.options.placement,d.orderedModifiers.forEach(function(A){return d.modifiersData[A.name]=Object.assign({},A.data)});for(var S=0;S<d.orderedModifiers.length;S++){if(d.reset===!0){d.reset=!1,S=-1;continue}var $=d.orderedModifiers[S],j=$.fn,_=$.options,k=_===void 0?{}:_,E=$.name;typeof j=="function"&&(d=j({state:d,options:k,name:E,instance:v})||d)}}}},"forceUpdate"),update:WEe(function(){return new Promise(function(C){v.forceUpdate(),C(d)})}),destroy:o(function(){y(),m=!0},"destroy")};if(!Zz(c,l))return v;v.setOptions(u).then(function(C){!m&&u.onFirstUpdate&&u.onFirstUpdate(C)});function h(){d.orderedModifiers.forEach(function(C){var w=C.name,x=C.options,b=x===void 0?{}:x,S=C.effect;if(typeof S=="function"){var $=S({state:d,name:w,instance:v,options:b}),j=o(function(){},"noopFn");p.push($||j)}})}o(h,"runModifierEffects");function y(){p.forEach(function(C){return C()}),p=[]}return o(y,"cleanupModifierEffects"),v},"createPopper")}o(HEe,"popperGenerator");var qEe=[mEe,MEe,fEe,tEe,AEe,$Ee,zEe,cEe,kEe],VEe=HEe({defaultModifiers:qEe});const pH="Popper";function GEe(e){return nH(pH,e)}o(GEe,"getPopperUtilityClass");Cke(pH,["root"]);const KEe=["anchorEl","children","direction","disablePortal","modifiers","open","placement","popperOptions","popperRef","slotProps","slots","TransitionProps","ownerState"],JEe=["anchorEl","children","container","direction","disablePortal","keepMounted","modifiers","open","placement","popperOptions","popperRef","style","transition","slotProps","slots"];function YEe(e,t){if(t==="ltr")return e;switch(e){case"bottom-end":return"bottom-start";case"bottom-start":return"bottom-end";case"top-end":return"top-start";case"top-start":return"top-end";default:return e}}o(YEe,"flipPlacement");function m3(e){return typeof e=="function"?e():e}o(m3,"resolveAnchorEl$1");function QEe(e){return e.nodeType!==void 0}o(QEe,"isHTMLElement");const XEe=o(()=>Je({root:["root"]},E_e(GEe)),"useUtilityClasses$13"),ZEe={},eRe=g.forwardRef(o(function(t,n){var r;const{anchorEl:a,children:i,direction:s,disablePortal:c,modifiers:l,open:u,placement:d,popperOptions:p,popperRef:m,slotProps:v={},slots:h={},TransitionProps:y}=t,C=ve(t,KEe),w=g.useRef(null),x=ln(w,n),b=g.useRef(null),S=ln(b,m),$=g.useRef(S);Xr(()=>{$.current=S},[S]),g.useImperativeHandle(m,()=>b.current,[]);const j=YEe(d,s),[_,k]=g.useState(j),[E,A]=g.useState(m3(a));g.useEffect(()=>{b.current&&b.current.forceUpdate()}),g.useEffect(()=>{a&&A(m3(a))},[a]),Xr(()=>{if(!E||!u)return;const O=o(I=>{k(I.placement)},"handlePopperUpdate");let N=[{name:"preventOverflow",options:{altBoundary:c}},{name:"flip",options:{altBoundary:c}},{name:"onUpdate",enabled:!0,phase:"afterWrite",fn:o(({state:I})=>{O(I)},"fn")}];l!=null&&(N=N.concat(l)),p&&p.modifiers!=null&&(N=N.concat(p.modifiers));const F=VEe(E,w.current,R({placement:j},p,{modifiers:N}));return $.current(F),()=>{F.destroy(),$.current(null)}},[E,c,l,u,p,j]);const P={placement:_};y!==null&&(P.TransitionProps=y);const M=XEe(),T=(r=h.root)!=null?r:"div",z=yo({elementType:T,externalSlotProps:v.root,externalForwardedProps:C,additionalProps:{role:"tooltip",ref:x},ownerState:t,className:M.root});return f.jsx(T,R({},z,{children:typeof i=="function"?i(P):i}))},"PopperTooltip2")),tRe=g.forwardRef(o(function(t,n){const{anchorEl:r,children:a,container:i,direction:s="ltr",disablePortal:c=!1,keepMounted:l=!1,modifiers:u,open:d,placement:p="bottom",popperOptions:m=ZEe,popperRef:v,style:h,transition:y=!1,slotProps:C={},slots:w={}}=t,x=ve(t,JEe),[b,S]=g.useState(!0),$=o(()=>{S(!1)},"handleEnter"),j=o(()=>{S(!0)},"handleExited");if(!l&&!d&&(!y||b))return null;let _;if(i)_=i;else if(r){const A=m3(r);_=A&&QEe(A)?tr(A).body:tr(null).body}const k=!d&&l&&(!y||b)?"none":void 0,E=y?{in:d,onEnter:$,onExited:j}:void 0;return f.jsx(rH,{disablePortal:c,container:_,children:f.jsx(eRe,R({anchorEl:r,direction:s,disablePortal:c,modifiers:u,ref:n,open:y?!b:d,placement:p,popperOptions:m,popperRef:v,slotProps:C,slots:w},x,{style:R({position:"fixed",top:0,left:0,display:k},h),TransitionProps:E,children:a}))})},"Popper2"));function nRe(e={}){const{autoHideDuration:t=null,disableWindowBlurListener:n=!1,onClose:r,open:a,resumeHideDuration:i}=e,s=Xc();g.useEffect(()=>{if(!a)return;function w(x){x.defaultPrevented||(x.key==="Escape"||x.key==="Esc")&&(r==null||r(x,"escapeKeyDown"))}return o(w,"handleKeyDown"),document.addEventListener("keydown",w),()=>{document.removeEventListener("keydown",w)}},[a,r]);const c=cr((w,x)=>{r==null||r(w,x)}),l=cr(w=>{!r||w==null||s.start(w,()=>{c(null,"timeout")})});g.useEffect(()=>(a&&l(t),s.clear),[a,t,l,s]);const u=o(w=>{r==null||r(w,"clickaway")},"handleClickAway"),d=s.clear,p=g.useCallback(()=>{t!=null&&l(i??t*.5)},[t,i,l]),m=o(w=>x=>{const b=w.onBlur;b==null||b(x),p()},"createHandleBlur"),v=o(w=>x=>{const b=w.onFocus;b==null||b(x),d()},"createHandleFocus"),h=o(w=>x=>{const b=w.onMouseEnter;b==null||b(x),d()},"createMouseEnter"),y=o(w=>x=>{const b=w.onMouseLeave;b==null||b(x),p()},"createMouseLeave");return g.useEffect(()=>{if(!n&&a)return window.addEventListener("focus",p),window.addEventListener("blur",d),()=>{window.removeEventListener("focus",p),window.removeEventListener("blur",d)}},[n,a,p,d]),{getRootProps:o((w={})=>{const x=R({},Wb(e),Wb(w));return R({role:"presentation"},w,x,{onBlur:m(x),onFocus:v(x),onMouseEnter:h(x),onMouseLeave:y(x)})},"getRootProps"),onClickAway:u}}o(nRe,"useSnackbar");const rRe=["onChange","maxRows","minRows","style","value"];function _v(e){return parseInt(e,10)||0}o(_v,"getStyleValue");const aRe={shadow:{visibility:"hidden",position:"absolute",overflow:"hidden",height:0,top:0,left:0,transform:"translateZ(0)"}};function oRe(e){return e==null||Object.keys(e).length===0||e.outerHeightStyle===0&&!e.overflowing}o(oRe,"isEmpty$1");const iRe=g.forwardRef(o(function(t,n){const{onChange:r,maxRows:a,minRows:i=1,style:s,value:c}=t,l=ve(t,rRe),{current:u}=g.useRef(c!=null),d=g.useRef(null),p=ln(n,d),m=g.useRef(null),v=g.useCallback(()=>{const C=d.current,x=go(C).getComputedStyle(C);if(x.width==="0px")return{outerHeightStyle:0,overflowing:!1};const b=m.current;b.style.width=x.width,b.value=C.value||t.placeholder||"x",b.value.slice(-1)===` +`&&(b.value+=" ");const S=x.boxSizing,$=_v(x.paddingBottom)+_v(x.paddingTop),j=_v(x.borderBottomWidth)+_v(x.borderTopWidth),_=b.scrollHeight;b.value="x";const k=b.scrollHeight;let E=_;i&&(E=Math.max(Number(i)*k,E)),a&&(E=Math.min(Number(a)*k,E)),E=Math.max(E,k);const A=E+(S==="border-box"?$+j:0),P=Math.abs(E-_)<=1;return{outerHeightStyle:A,overflowing:P}},[a,i,t.placeholder]),h=g.useCallback(()=>{const C=v();if(oRe(C))return;const w=d.current;w.style.height=`${C.outerHeightStyle}px`,w.style.overflow=C.overflowing?"hidden":""},[v]);Xr(()=>{const C=o(()=>{h()},"handleResize");let w;const x=dp(C),b=d.current,S=go(b);S.addEventListener("resize",x);let $;return typeof ResizeObserver<"u"&&($=new ResizeObserver(C),$.observe(b)),()=>{x.clear(),cancelAnimationFrame(w),S.removeEventListener("resize",x),$&&$.disconnect()}},[v,h]),Xr(()=>{h()});const y=o(C=>{u||h(),r&&r(C)},"handleChange");return f.jsxs(g.Fragment,{children:[f.jsx("textarea",R({value:c,onChange:y,ref:p,rows:i,style:s},l)),f.jsx("textarea",{"aria-hidden":!0,className:t.className,readOnly:!0,ref:m,tabIndex:-1,style:R({},aRe.shadow,s,{paddingTop:0,paddingBottom:0})})]})},"TextareaAutosize2"));function e5(e){return typeof e.normalize<"u"?e.normalize("NFD").replace(/[\u0300-\u036f]/g,""):e}o(e5,"stripDiacritics");function mH(e={}){const{ignoreAccents:t=!0,ignoreCase:n=!0,limit:r,matchFrom:a="any",stringify:i,trim:s=!1}=e;return(c,{inputValue:l,getOptionLabel:u})=>{let d=s?l.trim():l;n&&(d=d.toLowerCase()),t&&(d=e5(d));const p=d?c.filter(m=>{let v=(i||u)(m);return n&&(v=v.toLowerCase()),t&&(v=e5(v)),a==="start"?v.indexOf(d)===0:v.indexOf(d)>-1}):c;return typeof r=="number"?p.slice(0,r):p}}o(mH,"createFilterOptions");function kv(e,t){for(let n=0;n<e.length;n+=1)if(t(e[n]))return n;return-1}o(kv,"findIndex$1");const sRe=mH(),t5=5,cRe=o(e=>{var t;return e.current!==null&&((t=e.current.parentElement)==null?void 0:t.contains(document.activeElement))},"defaultIsActiveElementInListbox");function lRe(e){const{unstable_isActiveElementInListbox:t=cRe,unstable_classNamePrefix:n="Mui",autoComplete:r=!1,autoHighlight:a=!1,autoSelect:i=!1,blurOnSelect:s=!1,clearOnBlur:c=!e.freeSolo,clearOnEscape:l=!1,componentName:u="useAutocomplete",defaultValue:d=e.multiple?[]:null,disableClearable:p=!1,disableCloseOnSelect:m=!1,disabled:v,disabledItemsFocusable:h=!1,disableListWrap:y=!1,filterOptions:C=sRe,filterSelectedOptions:w=!1,freeSolo:x=!1,getOptionDisabled:b,getOptionKey:S,getOptionLabel:$=o(ae=>{var ie;return(ie=ae.label)!=null?ie:ae},"getOptionLabelProp"),groupBy:j,handleHomeEndKeys:_=!e.freeSolo,id:k,includeInputInList:E=!1,inputValue:A,isOptionEqualToValue:P=o((ae,ie)=>ae===ie,"isOptionEqualToValue"),multiple:M=!1,onChange:T,onClose:z,onHighlightChange:O,onInputChange:N,onOpen:F,open:I,openOnFocus:B=!1,options:U,readOnly:te=!1,selectOnFocus:Z=!e.freeSolo,value:be}=e,ne=yc(k);let le=$;le=o(ae=>{const ie=$(ae);return typeof ie!="string"?String(ie):ie},"getOptionLabel");const oe=g.useRef(!1),Se=g.useRef(!0),xe=g.useRef(null),X=g.useRef(null),[Re,me]=g.useState(null),[re,De]=g.useState(-1),Ee=a?0:-1,$e=g.useRef(Ee),[Ce,st]=ls({controlled:be,default:d,name:u}),[D,J]=ls({controlled:A,default:"",name:u,state:"inputValue"}),[H,de]=g.useState(!1),fe=g.useCallback((ae,ie)=>{if(!(M?Ce.length<ie.length:ie!==null)&&!c)return;let Ae;if(M)Ae="";else if(ie==null)Ae="";else{const it=le(ie);Ae=typeof it=="string"?it:""}D!==Ae&&(J(Ae),N&&N(ae,Ae,"reset"))},[le,D,M,N,J,c,Ce]),[ue,he]=ls({controlled:I,default:!1,name:u,state:"open"}),[We,rt]=g.useState(!0),Ue=!M&&Ce!=null&&D===le(Ce),Ne=ue&&!te,ye=Ne?C(U.filter(ae=>!(w&&(M?Ce:[Ce]).some(ie=>ie!==null&&P(ae,ie)))),{inputValue:Ue&&We?"":D,getOptionLabel:le}):[],ot=I$e({filteredOptions:ye,value:Ce,inputValue:D});g.useEffect(()=>{const ae=Ce!==ot.value;H&&!ae||x&&!ae||fe(null,Ce)},[Ce,fe,H,ot.value,x]);const ft=ue&&ye.length>0&&!te,yt=cr(ae=>{ae===-1?xe.current.focus():Re.querySelector(`[data-tag-index="${ae}"]`).focus()});g.useEffect(()=>{M&&re>Ce.length-1&&(De(-1),yt(-1))},[Ce,M,re,yt]);function W(ae,ie){if(!X.current||ae<0||ae>=ye.length)return-1;let Ie=ae;for(;;){const Ae=X.current.querySelector(`[data-option-index="${Ie}"]`),it=h?!1:!Ae||Ae.disabled||Ae.getAttribute("aria-disabled")==="true";if(Ae&&Ae.hasAttribute("tabindex")&&!it)return Ie;if(ie==="next"?Ie=(Ie+1)%ye.length:Ie=(Ie-1+ye.length)%ye.length,Ie===ae)return-1}}o(W,"validOptionIndex");const K=cr(({event:ae,index:ie,reason:Ie="auto"})=>{if($e.current=ie,ie===-1?xe.current.removeAttribute("aria-activedescendant"):xe.current.setAttribute("aria-activedescendant",`${ne}-option-${ie}`),O&&O(ae,ie===-1?null:ye[ie],Ie),!X.current)return;const Ae=X.current.querySelector(`[role="option"].${n}-focused`);Ae&&(Ae.classList.remove(`${n}-focused`),Ae.classList.remove(`${n}-focusVisible`));let it=X.current;if(X.current.getAttribute("role")!=="listbox"&&(it=X.current.parentElement.querySelector('[role="listbox"]')),!it)return;if(ie===-1){it.scrollTop=0;return}const Xe=X.current.querySelector(`[data-option-index="${ie}"]`);if(Xe&&(Xe.classList.add(`${n}-focused`),Ie==="keyboard"&&Xe.classList.add(`${n}-focusVisible`),it.scrollHeight>it.clientHeight&&Ie!=="mouse"&&Ie!=="touch")){const je=Xe,Wt=it.clientHeight+it.scrollTop,Ft=je.offsetTop+je.offsetHeight;Ft>Wt?it.scrollTop=Ft-it.clientHeight:je.offsetTop-je.offsetHeight*(j?1.3:0)<it.scrollTop&&(it.scrollTop=je.offsetTop-je.offsetHeight*(j?1.3:0))}}),Y=cr(({event:ae,diff:ie,direction:Ie="next",reason:Ae="auto"})=>{if(!Ne)return;const Xe=W(o(()=>{const je=ye.length-1;if(ie==="reset")return Ee;if(ie==="start")return 0;if(ie==="end")return je;const Wt=$e.current+ie;return Wt<0?Wt===-1&&E?-1:y&&$e.current!==-1||Math.abs(ie)>1?0:je:Wt>je?Wt===je+1&&E?-1:y||Math.abs(ie)>1?je:0:Wt},"getNextIndex")(),Ie);if(K({index:Xe,reason:Ae,event:ae}),r&&ie!=="reset")if(Xe===-1)xe.current.value=D;else{const je=le(ye[Xe]);xe.current.value=je,je.toLowerCase().indexOf(D.toLowerCase())===0&&D.length>0&&xe.current.setSelectionRange(D.length,je.length)}}),pe=o(()=>{const ae=o((ie,Ie)=>{const Ae=ie?le(ie):"",it=Ie?le(Ie):"";return Ae===it},"isSameValue");if($e.current!==-1&&ot.filteredOptions&&ot.filteredOptions.length!==ye.length&&ot.inputValue===D&&(M?Ce.length===ot.value.length&&ot.value.every((ie,Ie)=>le(Ce[Ie])===le(ie)):ae(ot.value,Ce))){const ie=ot.filteredOptions[$e.current];if(ie)return kv(ye,Ie=>le(Ie)===le(ie))}return-1},"getPreviousHighlightedOptionIndex"),Le=g.useCallback(()=>{if(!Ne)return;const ae=pe();if(ae!==-1){$e.current=ae;return}const ie=M?Ce[0]:Ce;if(ye.length===0||ie==null){Y({diff:"reset"});return}if(X.current){if(ie!=null){const Ie=ye[$e.current];if(M&&Ie&&kv(Ce,it=>P(Ie,it))!==-1)return;const Ae=kv(ye,it=>P(it,ie));Ae===-1?Y({diff:"reset"}):K({index:Ae});return}if($e.current>=ye.length-1){K({index:ye.length-1});return}K({index:$e.current})}},[ye.length,M?!1:Ce,w,Y,K,Ne,D,M]),Oe=cr(ae=>{jh(X,ae),ae&&Le()});g.useEffect(()=>{Le()},[Le]);const dt=o(ae=>{ue||(he(!0),rt(!0),F&&F(ae))},"handleOpen"),St=o((ae,ie)=>{ue&&(he(!1),z&&z(ae,ie))},"handleClose"),wt=o((ae,ie,Ie,Ae)=>{if(M){if(Ce.length===ie.length&&Ce.every((it,Xe)=>it===ie[Xe]))return}else if(Ce===ie)return;T&&T(ae,ie,Ie,Ae),st(ie)},"handleValue"),Bt=g.useRef(!1),G=o((ae,ie,Ie="selectOption",Ae="options")=>{let it=Ie,Xe=ie;if(M){Xe=Array.isArray(Ce)?Ce.slice():[];const je=kv(Xe,Wt=>P(ie,Wt));je===-1?Xe.push(ie):Ae!=="freeSolo"&&(Xe.splice(je,1),it="removeOption")}fe(ae,Xe),wt(ae,Xe,it,{option:ie}),!m&&(!ae||!ae.ctrlKey&&!ae.metaKey)&&St(ae,it),(s===!0||s==="touch"&&Bt.current||s==="mouse"&&!Bt.current)&&xe.current.blur()},"selectNewValue");function Q(ae,ie){if(ae===-1)return-1;let Ie=ae;for(;;){if(ie==="next"&&Ie===Ce.length||ie==="previous"&&Ie===-1)return-1;const Ae=Re.querySelector(`[data-tag-index="${Ie}"]`);if(!Ae||!Ae.hasAttribute("tabindex")||Ae.disabled||Ae.getAttribute("aria-disabled")==="true")Ie+=ie==="next"?1:-1;else return Ie}}o(Q,"validTagIndex");const ce=o((ae,ie)=>{if(!M)return;D===""&&St(ae,"toggleInput");let Ie=re;re===-1?D===""&&ie==="previous"&&(Ie=Ce.length-1):(Ie+=ie==="next"?1:-1,Ie<0&&(Ie=0),Ie===Ce.length&&(Ie=-1)),Ie=Q(Ie,ie),De(Ie),yt(Ie)},"handleFocusTag"),_e=o(ae=>{oe.current=!0,J(""),N&&N(ae,"","clear"),wt(ae,M?[]:null,"clear")},"handleClear"),qe=o(ae=>ie=>{if(ae.onKeyDown&&ae.onKeyDown(ie),!ie.defaultMuiPrevented&&(re!==-1&&["ArrowLeft","ArrowRight"].indexOf(ie.key)===-1&&(De(-1),yt(-1)),ie.which!==229))switch(ie.key){case"Home":Ne&&_&&(ie.preventDefault(),Y({diff:"start",direction:"next",reason:"keyboard",event:ie}));break;case"End":Ne&&_&&(ie.preventDefault(),Y({diff:"end",direction:"previous",reason:"keyboard",event:ie}));break;case"PageUp":ie.preventDefault(),Y({diff:-t5,direction:"previous",reason:"keyboard",event:ie}),dt(ie);break;case"PageDown":ie.preventDefault(),Y({diff:t5,direction:"next",reason:"keyboard",event:ie}),dt(ie);break;case"ArrowDown":ie.preventDefault(),Y({diff:1,direction:"next",reason:"keyboard",event:ie}),dt(ie);break;case"ArrowUp":ie.preventDefault(),Y({diff:-1,direction:"previous",reason:"keyboard",event:ie}),dt(ie);break;case"ArrowLeft":ce(ie,"previous");break;case"ArrowRight":ce(ie,"next");break;case"Enter":if($e.current!==-1&&Ne){const Ie=ye[$e.current],Ae=b?b(Ie):!1;if(ie.preventDefault(),Ae)return;G(ie,Ie,"selectOption"),r&&xe.current.setSelectionRange(xe.current.value.length,xe.current.value.length)}else x&&D!==""&&Ue===!1&&(M&&ie.preventDefault(),G(ie,D,"createOption","freeSolo"));break;case"Escape":Ne?(ie.preventDefault(),ie.stopPropagation(),St(ie,"escape")):l&&(D!==""||M&&Ce.length>0)&&(ie.preventDefault(),ie.stopPropagation(),_e(ie));break;case"Backspace":if(M&&!te&&D===""&&Ce.length>0){const Ie=re===-1?Ce.length-1:re,Ae=Ce.slice();Ae.splice(Ie,1),wt(ie,Ae,"removeOption",{option:Ce[Ie]})}break;case"Delete":if(M&&!te&&D===""&&Ce.length>0&&re!==-1){const Ie=re,Ae=Ce.slice();Ae.splice(Ie,1),wt(ie,Ae,"removeOption",{option:Ce[Ie]})}break}},"handleKeyDown"),ct=o(ae=>{de(!0),B&&!oe.current&&dt(ae)},"handleFocus"),Ve=o(ae=>{if(t(X)){xe.current.focus();return}de(!1),Se.current=!0,oe.current=!1,i&&$e.current!==-1&&Ne?G(ae,ye[$e.current],"blur"):i&&x&&D!==""?G(ae,D,"blur","freeSolo"):c&&fe(ae,Ce),St(ae,"blur")},"handleBlur"),Fe=o(ae=>{const ie=ae.target.value;D!==ie&&(J(ie),rt(!1),N&&N(ae,ie,"input")),ie===""?!p&&!M&&wt(ae,null,"clear"):dt(ae)},"handleInputChange"),Me=o(ae=>{const ie=Number(ae.currentTarget.getAttribute("data-option-index"));$e.current!==ie&&K({event:ae,index:ie,reason:"mouse"})},"handleOptionMouseMove"),lt=o(ae=>{K({event:ae,index:Number(ae.currentTarget.getAttribute("data-option-index")),reason:"touch"}),Bt.current=!0},"handleOptionTouchStart"),jt=o(ae=>{const ie=Number(ae.currentTarget.getAttribute("data-option-index"));G(ae,ye[ie],"selectOption"),Bt.current=!1},"handleOptionClick"),we=o(ae=>ie=>{const Ie=Ce.slice();Ie.splice(ae,1),wt(ie,Ie,"removeOption",{option:Ce[ae]})},"handleTagDelete"),Ye=o(ae=>{ue?St(ae,"toggleInput"):dt(ae)},"handlePopupIndicator"),ut=o(ae=>{ae.currentTarget.contains(ae.target)&&ae.target.getAttribute("id")!==ne&&ae.preventDefault()},"handleMouseDown"),ke=o(ae=>{ae.currentTarget.contains(ae.target)&&(xe.current.focus(),Z&&Se.current&&xe.current.selectionEnd-xe.current.selectionStart===0&&xe.current.select(),Se.current=!1)},"handleClick"),ze=o(ae=>{!v&&(D===""||!ue)&&Ye(ae)},"handleInputMouseDown");let bt=x&&D.length>0;bt=bt||(M?Ce.length>0:Ce!==null);let Pt=ye;return j&&(Pt=ye.reduce((ae,ie,Ie)=>{const Ae=j(ie);return ae.length>0&&ae[ae.length-1].group===Ae?ae[ae.length-1].options.push(ie):ae.push({key:Ie,index:Ie,group:Ae,options:[ie]}),ae},[])),v&&H&&Ve(),{getRootProps:o((ae={})=>R({"aria-owns":ft?`${ne}-listbox`:null},ae,{onKeyDown:qe(ae),onMouseDown:ut,onClick:ke}),"getRootProps"),getInputLabelProps:o(()=>({id:`${ne}-label`,htmlFor:ne}),"getInputLabelProps"),getInputProps:o(()=>({id:ne,value:D,onBlur:Ve,onFocus:ct,onChange:Fe,onMouseDown:ze,"aria-activedescendant":Ne?"":null,"aria-autocomplete":r?"both":"list","aria-controls":ft?`${ne}-listbox`:void 0,"aria-expanded":ft,autoComplete:"off",ref:xe,autoCapitalize:"none",spellCheck:"false",role:"combobox",disabled:v}),"getInputProps"),getClearProps:o(()=>({tabIndex:-1,type:"button",onClick:_e}),"getClearProps"),getPopupIndicatorProps:o(()=>({tabIndex:-1,type:"button",onClick:Ye}),"getPopupIndicatorProps"),getTagProps:o(({index:ae})=>R({key:ae,"data-tag-index":ae,tabIndex:-1},!te&&{onDelete:we(ae)}),"getTagProps"),getListboxProps:o(()=>({role:"listbox",id:`${ne}-listbox`,"aria-labelledby":`${ne}-label`,ref:Oe,onMouseDown:o(ae=>{ae.preventDefault()},"onMouseDown")}),"getListboxProps"),getOptionProps:o(({index:ae,option:ie})=>{var Ie;const Ae=(M?Ce:[Ce]).some(Xe=>Xe!=null&&P(ie,Xe)),it=b?b(ie):!1;return{key:(Ie=S==null?void 0:S(ie))!=null?Ie:le(ie),tabIndex:-1,role:"option",id:`${ne}-option-${ae}`,onMouseMove:Me,onClick:jt,onTouchStart:lt,"data-option-index":ae,"aria-disabled":it,"aria-selected":Ae}},"getOptionProps"),id:ne,inputValue:D,value:Ce,dirty:bt,expanded:Ne&&Re,popupOpen:Ne,focused:H||re!==-1,anchorEl:Re,setAnchorEl:me,focusedTag:re,groupedOptions:Pt}}o(lRe,"useAutocomplete");var RR={};Object.defineProperty(RR,"__esModule",{value:!0});var hH=RR.default=void 0,uRe=fRe(g),dRe=GU;function gH(e){if(typeof WeakMap!="function")return null;var t=new WeakMap,n=new WeakMap;return(gH=o(function(r){return r?n:t},"_getRequireWildcardCache"))(e)}o(gH,"_getRequireWildcardCache");function fRe(e,t){if(e&&e.__esModule)return e;if(e===null||typeof e!="object"&&typeof e!="function")return{default:e};var n=gH(t);if(n&&n.has(e))return n.get(e);var r={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(i!=="default"&&Object.prototype.hasOwnProperty.call(e,i)){var s=a?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(r,i,s):r[i]=e[i]}return r.default=e,n&&n.set(e,r),r}o(fRe,"_interopRequireWildcard");function pRe(e){return Object.keys(e).length===0}o(pRe,"isObjectEmpty");function mRe(e=null){const t=uRe.useContext(dRe.ThemeContext);return!t||pRe(t)?e:t}o(mRe,"useTheme$1");hH=RR.default=mRe;const hRe=["anchorEl","component","components","componentsProps","container","disablePortal","keepMounted","modifiers","open","placement","popperOptions","popperRef","transition","slots","slotProps"],gRe=V(tRe,{name:"MuiPopper",slot:"Root",overridesResolver:o((e,t)=>t.root,"overridesResolver")})({}),_1=g.forwardRef(o(function(t,n){var r;const a=hH(),i=Ze({props:t,name:"MuiPopper"}),{anchorEl:s,component:c,components:l,componentsProps:u,container:d,disablePortal:p,keepMounted:m,modifiers:v,open:h,placement:y,popperOptions:C,popperRef:w,transition:x,slots:b,slotProps:S}=i,$=ve(i,hRe),j=(r=b==null?void 0:b.root)!=null?r:l==null?void 0:l.Root,_=R({anchorEl:s,container:d,disablePortal:p,keepMounted:m,modifiers:v,open:h,placement:y,popperOptions:C,popperRef:w,transition:x},$);return f.jsx(gRe,R({as:c,direction:a==null?void 0:a.direction,slots:{root:j},slotProps:S??u},_,{ref:n}))},"Popper2"));function vRe(e){return Ke("MuiListSubheader",e)}o(vRe,"getListSubheaderUtilityClass");Qe("MuiListSubheader",["root","colorPrimary","colorInherit","gutters","inset","sticky"]);const yRe=["className","color","component","disableGutters","disableSticky","inset"],bRe=o(e=>{const{classes:t,color:n,disableGutters:r,inset:a,disableSticky:i}=e,s={root:["root",n!=="default"&&`color${se(n)}`,!r&&"gutters",a&&"inset",!i&&"sticky"]};return Je(s,vRe,t)},"useUtilityClasses$12"),xRe=V("li",{name:"MuiListSubheader",slot:"Root",overridesResolver:o((e,t)=>{const{ownerState:n}=e;return[t.root,n.color!=="default"&&t[`color${se(n.color)}`],!n.disableGutters&&t.gutters,n.inset&&t.inset,!n.disableSticky&&t.sticky]},"overridesResolver")})(({theme:e,ownerState:t})=>R({boxSizing:"border-box",lineHeight:"48px",listStyle:"none",color:(e.vars||e).palette.text.secondary,fontFamily:e.typography.fontFamily,fontWeight:e.typography.fontWeightMedium,fontSize:e.typography.pxToRem(14)},t.color==="primary"&&{color:(e.vars||e).palette.primary.main},t.color==="inherit"&&{color:"inherit"},!t.disableGutters&&{paddingLeft:16,paddingRight:16},t.inset&&{paddingLeft:72},!t.disableSticky&&{position:"sticky",top:0,zIndex:1,backgroundColor:(e.vars||e).palette.background.paper})),vH=g.forwardRef(o(function(t,n){const r=Ze({props:t,name:"MuiListSubheader"}),{className:a,color:i="default",component:s="li",disableGutters:c=!1,disableSticky:l=!1,inset:u=!1}=r,d=ve(r,yRe),p=R({},r,{color:i,component:s,disableGutters:c,disableSticky:l,inset:u}),m=bRe(p);return f.jsx(xRe,R({as:s,className:ee(m.root,a),ref:n,ownerState:p},d))},"ListSubheader2"));vH.muiSkipListHighlight=!0;const wRe=ur(f.jsx("path",{d:"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z"}),"Cancel");function CRe(e){return Ke("MuiChip",e)}o(CRe,"getChipUtilityClass");const qt=Qe("MuiChip",["root","sizeSmall","sizeMedium","colorError","colorInfo","colorPrimary","colorSecondary","colorSuccess","colorWarning","disabled","clickable","clickableColorPrimary","clickableColorSecondary","deletable","deletableColorPrimary","deletableColorSecondary","outlined","filled","outlinedPrimary","outlinedSecondary","filledPrimary","filledSecondary","avatar","avatarSmall","avatarMedium","avatarColorPrimary","avatarColorSecondary","icon","iconSmall","iconMedium","iconColorPrimary","iconColorSecondary","label","labelSmall","labelMedium","deleteIcon","deleteIconSmall","deleteIconMedium","deleteIconColorPrimary","deleteIconColorSecondary","deleteIconOutlinedColorPrimary","deleteIconOutlinedColorSecondary","deleteIconFilledColorPrimary","deleteIconFilledColorSecondary","focusVisible"]),SRe=["avatar","className","clickable","color","component","deleteIcon","disabled","icon","label","onClick","onDelete","onKeyDown","onKeyUp","size","variant","tabIndex","skipFocusWhenDisabled"],jRe=o(e=>{const{classes:t,disabled:n,size:r,color:a,iconColor:i,onDelete:s,clickable:c,variant:l}=e,u={root:["root",l,n&&"disabled",`size${se(r)}`,`color${se(a)}`,c&&"clickable",c&&`clickableColor${se(a)}`,s&&"deletable",s&&`deletableColor${se(a)}`,`${l}${se(a)}`],label:["label",`label${se(r)}`],avatar:["avatar",`avatar${se(r)}`,`avatarColor${se(a)}`],icon:["icon",`icon${se(r)}`,`iconColor${se(i)}`],deleteIcon:["deleteIcon",`deleteIcon${se(r)}`,`deleteIconColor${se(a)}`,`deleteIcon${se(l)}Color${se(a)}`]};return Je(u,CRe,t)},"useUtilityClasses$11"),$Re=V("div",{name:"MuiChip",slot:"Root",overridesResolver:o((e,t)=>{const{ownerState:n}=e,{color:r,iconColor:a,clickable:i,onDelete:s,size:c,variant:l}=n;return[{[`& .${qt.avatar}`]:t.avatar},{[`& .${qt.avatar}`]:t[`avatar${se(c)}`]},{[`& .${qt.avatar}`]:t[`avatarColor${se(r)}`]},{[`& .${qt.icon}`]:t.icon},{[`& .${qt.icon}`]:t[`icon${se(c)}`]},{[`& .${qt.icon}`]:t[`iconColor${se(a)}`]},{[`& .${qt.deleteIcon}`]:t.deleteIcon},{[`& .${qt.deleteIcon}`]:t[`deleteIcon${se(c)}`]},{[`& .${qt.deleteIcon}`]:t[`deleteIconColor${se(r)}`]},{[`& .${qt.deleteIcon}`]:t[`deleteIcon${se(l)}Color${se(r)}`]},t.root,t[`size${se(c)}`],t[`color${se(r)}`],i&&t.clickable,i&&r!=="default"&&t[`clickableColor${se(r)})`],s&&t.deletable,s&&r!=="default"&&t[`deletableColor${se(r)}`],t[l],t[`${l}${se(r)}`]]},"overridesResolver")})(({theme:e,ownerState:t})=>{const n=e.palette.mode==="light"?e.palette.grey[700]:e.palette.grey[300];return R({maxWidth:"100%",fontFamily:e.typography.fontFamily,fontSize:e.typography.pxToRem(13),display:"inline-flex",alignItems:"center",justifyContent:"center",height:32,color:(e.vars||e).palette.text.primary,backgroundColor:(e.vars||e).palette.action.selected,borderRadius:32/2,whiteSpace:"nowrap",transition:e.transitions.create(["background-color","box-shadow"]),cursor:"unset",outline:0,textDecoration:"none",border:0,padding:0,verticalAlign:"middle",boxSizing:"border-box",[`&.${qt.disabled}`]:{opacity:(e.vars||e).palette.action.disabledOpacity,pointerEvents:"none"},[`& .${qt.avatar}`]:{marginLeft:5,marginRight:-6,width:24,height:24,color:e.vars?e.vars.palette.Chip.defaultAvatarColor:n,fontSize:e.typography.pxToRem(12)},[`& .${qt.avatarColorPrimary}`]:{color:(e.vars||e).palette.primary.contrastText,backgroundColor:(e.vars||e).palette.primary.dark},[`& .${qt.avatarColorSecondary}`]:{color:(e.vars||e).palette.secondary.contrastText,backgroundColor:(e.vars||e).palette.secondary.dark},[`& .${qt.avatarSmall}`]:{marginLeft:4,marginRight:-4,width:18,height:18,fontSize:e.typography.pxToRem(10)},[`& .${qt.icon}`]:R({marginLeft:5,marginRight:-6},t.size==="small"&&{fontSize:18,marginLeft:4,marginRight:-4},t.iconColor===t.color&&R({color:e.vars?e.vars.palette.Chip.defaultIconColor:n},t.color!=="default"&&{color:"inherit"})),[`& .${qt.deleteIcon}`]:R({WebkitTapHighlightColor:"transparent",color:e.vars?`rgba(${e.vars.palette.text.primaryChannel} / 0.26)`:xt(e.palette.text.primary,.26),fontSize:22,cursor:"pointer",margin:"0 5px 0 -6px","&:hover":{color:e.vars?`rgba(${e.vars.palette.text.primaryChannel} / 0.4)`:xt(e.palette.text.primary,.4)}},t.size==="small"&&{fontSize:16,marginRight:4,marginLeft:-4},t.color!=="default"&&{color:e.vars?`rgba(${e.vars.palette[t.color].contrastTextChannel} / 0.7)`:xt(e.palette[t.color].contrastText,.7),"&:hover, &:active":{color:(e.vars||e).palette[t.color].contrastText}})},t.size==="small"&&{height:24},t.color!=="default"&&{backgroundColor:(e.vars||e).palette[t.color].main,color:(e.vars||e).palette[t.color].contrastText},t.onDelete&&{[`&.${qt.focusVisible}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.action.selectedChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.focusOpacity}))`:xt(e.palette.action.selected,e.palette.action.selectedOpacity+e.palette.action.focusOpacity)}},t.onDelete&&t.color!=="default"&&{[`&.${qt.focusVisible}`]:{backgroundColor:(e.vars||e).palette[t.color].dark}})},({theme:e,ownerState:t})=>R({},t.clickable&&{userSelect:"none",WebkitTapHighlightColor:"transparent",cursor:"pointer","&:hover":{backgroundColor:e.vars?`rgba(${e.vars.palette.action.selectedChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.hoverOpacity}))`:xt(e.palette.action.selected,e.palette.action.selectedOpacity+e.palette.action.hoverOpacity)},[`&.${qt.focusVisible}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.action.selectedChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.focusOpacity}))`:xt(e.palette.action.selected,e.palette.action.selectedOpacity+e.palette.action.focusOpacity)},"&:active":{boxShadow:(e.vars||e).shadows[1]}},t.clickable&&t.color!=="default"&&{[`&:hover, &.${qt.focusVisible}`]:{backgroundColor:(e.vars||e).palette[t.color].dark}}),({theme:e,ownerState:t})=>R({},t.variant==="outlined"&&{backgroundColor:"transparent",border:e.vars?`1px solid ${e.vars.palette.Chip.defaultBorder}`:`1px solid ${e.palette.mode==="light"?e.palette.grey[400]:e.palette.grey[700]}`,[`&.${qt.clickable}:hover`]:{backgroundColor:(e.vars||e).palette.action.hover},[`&.${qt.focusVisible}`]:{backgroundColor:(e.vars||e).palette.action.focus},[`& .${qt.avatar}`]:{marginLeft:4},[`& .${qt.avatarSmall}`]:{marginLeft:2},[`& .${qt.icon}`]:{marginLeft:4},[`& .${qt.iconSmall}`]:{marginLeft:2},[`& .${qt.deleteIcon}`]:{marginRight:5},[`& .${qt.deleteIconSmall}`]:{marginRight:3}},t.variant==="outlined"&&t.color!=="default"&&{color:(e.vars||e).palette[t.color].main,border:`1px solid ${e.vars?`rgba(${e.vars.palette[t.color].mainChannel} / 0.7)`:xt(e.palette[t.color].main,.7)}`,[`&.${qt.clickable}:hover`]:{backgroundColor:e.vars?`rgba(${e.vars.palette[t.color].mainChannel} / ${e.vars.palette.action.hoverOpacity})`:xt(e.palette[t.color].main,e.palette.action.hoverOpacity)},[`&.${qt.focusVisible}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette[t.color].mainChannel} / ${e.vars.palette.action.focusOpacity})`:xt(e.palette[t.color].main,e.palette.action.focusOpacity)},[`& .${qt.deleteIcon}`]:{color:e.vars?`rgba(${e.vars.palette[t.color].mainChannel} / 0.7)`:xt(e.palette[t.color].main,.7),"&:hover, &:active":{color:(e.vars||e).palette[t.color].main}}})),_Re=V("span",{name:"MuiChip",slot:"Label",overridesResolver:o((e,t)=>{const{ownerState:n}=e,{size:r}=n;return[t.label,t[`label${se(r)}`]]},"overridesResolver")})(({ownerState:e})=>R({overflow:"hidden",textOverflow:"ellipsis",paddingLeft:12,paddingRight:12,whiteSpace:"nowrap"},e.variant==="outlined"&&{paddingLeft:11,paddingRight:11},e.size==="small"&&{paddingLeft:8,paddingRight:8},e.size==="small"&&e.variant==="outlined"&&{paddingLeft:7,paddingRight:7}));function n5(e){return e.key==="Backspace"||e.key==="Delete"}o(n5,"isDeleteKeyboardEvent");const wi=g.forwardRef(o(function(t,n){const r=Ze({props:t,name:"MuiChip"}),{avatar:a,className:i,clickable:s,color:c="default",component:l,deleteIcon:u,disabled:d=!1,icon:p,label:m,onClick:v,onDelete:h,onKeyDown:y,onKeyUp:C,size:w="medium",variant:x="filled",tabIndex:b,skipFocusWhenDisabled:S=!1}=r,$=ve(r,SRe),j=g.useRef(null),_=ln(j,n),k=o(B=>{B.stopPropagation(),h&&h(B)},"handleDeleteIconClick"),E=o(B=>{B.currentTarget===B.target&&n5(B)&&B.preventDefault(),y&&y(B)},"handleKeyDown"),A=o(B=>{B.currentTarget===B.target&&(h&&n5(B)?h(B):B.key==="Escape"&&j.current&&j.current.blur()),C&&C(B)},"handleKeyUp"),P=s!==!1&&v?!0:s,M=P||h?Fa:l||"div",T=R({},r,{component:M,disabled:d,size:w,color:c,iconColor:g.isValidElement(p)&&p.props.color||c,onDelete:!!h,clickable:P,variant:x}),z=jRe(T),O=M===Fa?R({component:l||"div",focusVisibleClassName:z.focusVisible},h&&{disableRipple:!0}):{};let N=null;h&&(N=u&&g.isValidElement(u)?g.cloneElement(u,{className:ee(u.props.className,z.deleteIcon),onClick:k}):f.jsx(wRe,{className:ee(z.deleteIcon),onClick:k}));let F=null;a&&g.isValidElement(a)&&(F=g.cloneElement(a,{className:ee(z.avatar,a.props.className)}));let I=null;return p&&g.isValidElement(p)&&(I=g.cloneElement(p,{className:ee(z.icon,p.props.className)})),f.jsxs($Re,R({as:M,className:ee(z.root,i),disabled:P&&d?!0:void 0,onClick:v,onKeyDown:E,onKeyUp:A,ref:_,tabIndex:S&&d?-1:b,ownerState:T},O,$,{children:[F||I,f.jsx(_Re,{className:ee(z.label),ownerState:T,children:m}),N]}))},"Chip2"));function Oc({props:e,states:t,muiFormControl:n}){return t.reduce((r,a)=>(r[a]=e[a],n&&typeof e[a]>"u"&&(r[a]=n[a]),r),{})}o(Oc,"formControlState");const k1=g.createContext(void 0);function Wi(){return g.useContext(k1)}o(Wi,"useFormControl");function yH(e){return f.jsx(Qje,R({},e,{defaultTheme:C1,themeId:Ml}))}o(yH,"GlobalStyles");function r5(e){return e!=null&&!(Array.isArray(e)&&e.length===0)}o(r5,"hasValue");function Hb(e,t=!1){return e&&(r5(e.value)&&e.value!==""||t&&r5(e.defaultValue)&&e.defaultValue!=="")}o(Hb,"isFilled");function kRe(e){return e.startAdornment}o(kRe,"isAdornedStart");function ERe(e){return Ke("MuiInputBase",e)}o(ERe,"getInputBaseUtilityClass");const Ea=Qe("MuiInputBase",["root","formControl","focused","disabled","adornedStart","adornedEnd","error","sizeSmall","multiline","colorSecondary","fullWidth","hiddenLabel","readOnly","input","inputSizeSmall","inputMultiline","inputTypeSearch","inputAdornedStart","inputAdornedEnd","inputHiddenLabel"]),RRe=["aria-describedby","autoComplete","autoFocus","className","color","components","componentsProps","defaultValue","disabled","disableInjectingGlobalStyles","endAdornment","error","fullWidth","id","inputComponent","inputProps","inputRef","margin","maxRows","minRows","multiline","name","onBlur","onChange","onClick","onFocus","onKeyDown","onKeyUp","placeholder","readOnly","renderSuffix","rows","size","slotProps","slots","startAdornment","type","value"],E1=o((e,t)=>{const{ownerState:n}=e;return[t.root,n.formControl&&t.formControl,n.startAdornment&&t.adornedStart,n.endAdornment&&t.adornedEnd,n.error&&t.error,n.size==="small"&&t.sizeSmall,n.multiline&&t.multiline,n.color&&t[`color${se(n.color)}`],n.fullWidth&&t.fullWidth,n.hiddenLabel&&t.hiddenLabel]},"rootOverridesResolver"),R1=o((e,t)=>{const{ownerState:n}=e;return[t.input,n.size==="small"&&t.inputSizeSmall,n.multiline&&t.inputMultiline,n.type==="search"&&t.inputTypeSearch,n.startAdornment&&t.inputAdornedStart,n.endAdornment&&t.inputAdornedEnd,n.hiddenLabel&&t.inputHiddenLabel]},"inputOverridesResolver"),ARe=o(e=>{const{classes:t,color:n,disabled:r,error:a,endAdornment:i,focused:s,formControl:c,fullWidth:l,hiddenLabel:u,multiline:d,readOnly:p,size:m,startAdornment:v,type:h}=e,y={root:["root",`color${se(n)}`,r&&"disabled",a&&"error",l&&"fullWidth",s&&"focused",c&&"formControl",m&&m!=="medium"&&`size${se(m)}`,d&&"multiline",v&&"adornedStart",i&&"adornedEnd",u&&"hiddenLabel",p&&"readOnly"],input:["input",r&&"disabled",h==="search"&&"inputTypeSearch",d&&"inputMultiline",m==="small"&&"inputSizeSmall",u&&"inputHiddenLabel",v&&"inputAdornedStart",i&&"inputAdornedEnd",p&&"readOnly"]};return Je(y,ERe,t)},"useUtilityClasses$10"),A1=V("div",{name:"MuiInputBase",slot:"Root",overridesResolver:E1})(({theme:e,ownerState:t})=>R({},e.typography.body1,{color:(e.vars||e).palette.text.primary,lineHeight:"1.4375em",boxSizing:"border-box",position:"relative",cursor:"text",display:"inline-flex",alignItems:"center",[`&.${Ea.disabled}`]:{color:(e.vars||e).palette.text.disabled,cursor:"default"}},t.multiline&&R({padding:"4px 0 5px"},t.size==="small"&&{paddingTop:1}),t.fullWidth&&{width:"100%"})),P1=V("input",{name:"MuiInputBase",slot:"Input",overridesResolver:R1})(({theme:e,ownerState:t})=>{const n=e.palette.mode==="light",r=R({color:"currentColor"},e.vars?{opacity:e.vars.opacity.inputPlaceholder}:{opacity:n?.42:.5},{transition:e.transitions.create("opacity",{duration:e.transitions.duration.shorter})}),a={opacity:"0 !important"},i=e.vars?{opacity:e.vars.opacity.inputPlaceholder}:{opacity:n?.42:.5};return R({font:"inherit",letterSpacing:"inherit",color:"currentColor",padding:"4px 0 5px",border:0,boxSizing:"content-box",background:"none",height:"1.4375em",margin:0,WebkitTapHighlightColor:"transparent",display:"block",minWidth:0,width:"100%",animationName:"mui-auto-fill-cancel",animationDuration:"10ms","&::-webkit-input-placeholder":r,"&::-moz-placeholder":r,"&:-ms-input-placeholder":r,"&::-ms-input-placeholder":r,"&:focus":{outline:0},"&:invalid":{boxShadow:"none"},"&::-webkit-search-decoration":{WebkitAppearance:"none"},[`label[data-shrink=false] + .${Ea.formControl} &`]:{"&::-webkit-input-placeholder":a,"&::-moz-placeholder":a,"&:-ms-input-placeholder":a,"&::-ms-input-placeholder":a,"&:focus::-webkit-input-placeholder":i,"&:focus::-moz-placeholder":i,"&:focus:-ms-input-placeholder":i,"&:focus::-ms-input-placeholder":i},[`&.${Ea.disabled}`]:{opacity:1,WebkitTextFillColor:(e.vars||e).palette.text.disabled},"&:-webkit-autofill":{animationDuration:"5000s",animationName:"mui-auto-fill"}},t.size==="small"&&{paddingTop:1},t.multiline&&{height:"auto",resize:"none",padding:0,paddingTop:0},t.type==="search"&&{MozAppearance:"textfield"})}),PRe=f.jsx(yH,{styles:{"@keyframes mui-auto-fill":{from:{display:"block"}},"@keyframes mui-auto-fill-cancel":{from:{display:"block"}}}}),MRe=g.forwardRef(o(function(t,n){var r;const a=Ze({props:t,name:"MuiInputBase"}),{"aria-describedby":i,autoComplete:s,autoFocus:c,className:l,components:u={},componentsProps:d={},defaultValue:p,disabled:m,disableInjectingGlobalStyles:v,endAdornment:h,fullWidth:y=!1,id:C,inputComponent:w="input",inputProps:x={},inputRef:b,maxRows:S,minRows:$,multiline:j=!1,name:_,onBlur:k,onChange:E,onClick:A,onFocus:P,onKeyDown:M,onKeyUp:T,placeholder:z,readOnly:O,renderSuffix:N,rows:F,slotProps:I={},slots:B={},startAdornment:U,type:te="text",value:Z}=a,be=ve(a,RRe),ne=x.value!=null?x.value:Z,{current:le}=g.useRef(ne!=null),oe=g.useRef(),Se=g.useCallback(Ne=>{},[]),xe=ln(oe,b,x.ref,Se),[X,Re]=g.useState(!1),me=Wi(),re=Oc({props:a,muiFormControl:me,states:["color","disabled","error","hiddenLabel","size","required","filled"]});re.focused=me?me.focused:X,g.useEffect(()=>{!me&&m&&X&&(Re(!1),k&&k())},[me,m,X,k]);const De=me&&me.onFilled,Ee=me&&me.onEmpty,$e=g.useCallback(Ne=>{Hb(Ne)?De&&De():Ee&&Ee()},[De,Ee]);Xr(()=>{le&&$e({value:ne})},[ne,$e,le]);const Ce=o(Ne=>{if(re.disabled){Ne.stopPropagation();return}P&&P(Ne),x.onFocus&&x.onFocus(Ne),me&&me.onFocus?me.onFocus(Ne):Re(!0)},"handleFocus"),st=o(Ne=>{k&&k(Ne),x.onBlur&&x.onBlur(Ne),me&&me.onBlur?me.onBlur(Ne):Re(!1)},"handleBlur"),D=o((Ne,...ye)=>{if(!le){const ot=Ne.target||oe.current;if(ot==null)throw new Error(gs(1));$e({value:ot.value})}x.onChange&&x.onChange(Ne,...ye),E&&E(Ne,...ye)},"handleChange");g.useEffect(()=>{$e(oe.current)},[]);const J=o(Ne=>{oe.current&&Ne.currentTarget===Ne.target&&oe.current.focus(),A&&A(Ne)},"handleClick");let H=w,de=x;j&&H==="input"&&(F?de=R({type:void 0,minRows:F,maxRows:F},de):de=R({type:void 0,maxRows:S,minRows:$},de),H=iRe);const fe=o(Ne=>{$e(Ne.animationName==="mui-auto-fill-cancel"?oe.current:{value:"x"})},"handleAutoFill");g.useEffect(()=>{me&&me.setAdornedStart(!!U)},[me,U]);const ue=R({},a,{color:re.color||"primary",disabled:re.disabled,endAdornment:h,error:re.error,focused:re.focused,formControl:me,fullWidth:y,hiddenLabel:re.hiddenLabel,multiline:j,size:re.size,startAdornment:U,type:te}),he=ARe(ue),We=B.root||u.Root||A1,rt=I.root||d.root||{},Ue=B.input||u.Input||P1;return de=R({},de,(r=I.input)!=null?r:d.input),f.jsxs(g.Fragment,{children:[!v&&PRe,f.jsxs(We,R({},rt,!Ol(We)&&{ownerState:R({},ue,rt.ownerState)},{ref:n,onClick:J},be,{className:ee(he.root,rt.className,l,O&&"MuiInputBase-readOnly"),children:[U,f.jsx(k1.Provider,{value:null,children:f.jsx(Ue,R({ownerState:ue,"aria-invalid":re.error,"aria-describedby":i,autoComplete:s,autoFocus:c,defaultValue:p,disabled:re.disabled,id:C,onAnimationStart:fe,name:_,placeholder:z,readOnly:O,required:re.required,rows:F,value:ne,onKeyDown:M,onKeyUp:T,type:te},de,!Ol(Ue)&&{as:H,ownerState:R({},ue,de.ownerState)},{ref:xe,className:ee(he.input,de.className,O&&"MuiInputBase-readOnly"),onBlur:st,onChange:D,onFocus:Ce}))}),h,N?N(R({},re,{startAdornment:U})):null]}))]})},"InputBase2")),M1=MRe;function TRe(e){return Ke("MuiInput",e)}o(TRe,"getInputUtilityClass");const Fs=R({},Ea,Qe("MuiInput",["root","underline","input"]));function ORe(e){return Ke("MuiOutlinedInput",e)}o(ORe,"getOutlinedInputUtilityClass");const ri=R({},Ea,Qe("MuiOutlinedInput",["root","notchedOutline","input"]));function zRe(e){return Ke("MuiFilledInput",e)}o(zRe,"getFilledInputUtilityClass");const Ra=R({},Ea,Qe("MuiFilledInput",["root","underline","input"])),bH=ur(f.jsx("path",{d:"M7 10l5 5 5-5z"}),"ArrowDropDown");function IRe(e){return Ke("MuiAutocomplete",e)}o(IRe,"getAutocompleteUtilityClass");const Mt=Qe("MuiAutocomplete",["root","expanded","fullWidth","focused","focusVisible","tag","tagSizeSmall","tagSizeMedium","hasPopupIcon","hasClearIcon","inputRoot","input","inputFocused","endAdornment","clearIndicator","popupIndicator","popupIndicatorOpen","popper","popperDisablePortal","paper","listbox","loading","noOptions","option","groupLabel","groupUl"]);var a5,o5;const LRe=["autoComplete","autoHighlight","autoSelect","blurOnSelect","ChipProps","className","clearIcon","clearOnBlur","clearOnEscape","clearText","closeText","componentsProps","defaultValue","disableClearable","disableCloseOnSelect","disabled","disabledItemsFocusable","disableListWrap","disablePortal","filterOptions","filterSelectedOptions","forcePopupIcon","freeSolo","fullWidth","getLimitTagsText","getOptionDisabled","getOptionKey","getOptionLabel","isOptionEqualToValue","groupBy","handleHomeEndKeys","id","includeInputInList","inputValue","limitTags","ListboxComponent","ListboxProps","loading","loadingText","multiple","noOptionsText","onChange","onClose","onHighlightChange","onInputChange","onOpen","open","openOnFocus","openText","options","PaperComponent","PopperComponent","popupIcon","readOnly","renderGroup","renderInput","renderOption","renderTags","selectOnFocus","size","slotProps","value"],DRe=["ref"],NRe=["key"],FRe=["key"],BRe=S1(),WRe=o(e=>{const{classes:t,disablePortal:n,expanded:r,focused:a,fullWidth:i,hasClearIcon:s,hasPopupIcon:c,inputFocused:l,popupOpen:u,size:d}=e,p={root:["root",r&&"expanded",a&&"focused",i&&"fullWidth",s&&"hasClearIcon",c&&"hasPopupIcon"],inputRoot:["inputRoot"],input:["input",l&&"inputFocused"],tag:["tag",`tagSize${se(d)}`],endAdornment:["endAdornment"],clearIndicator:["clearIndicator"],popupIndicator:["popupIndicator",u&&"popupIndicatorOpen"],popper:["popper",n&&"popperDisablePortal"],paper:["paper"],listbox:["listbox"],loading:["loading"],noOptions:["noOptions"],option:["option"],groupLabel:["groupLabel"],groupUl:["groupUl"]};return Je(p,IRe,t)},"useUtilityClasses$$"),URe=V("div",{name:"MuiAutocomplete",slot:"Root",overridesResolver:o((e,t)=>{const{ownerState:n}=e,{fullWidth:r,hasClearIcon:a,hasPopupIcon:i,inputFocused:s,size:c}=n;return[{[`& .${Mt.tag}`]:t.tag},{[`& .${Mt.tag}`]:t[`tagSize${se(c)}`]},{[`& .${Mt.inputRoot}`]:t.inputRoot},{[`& .${Mt.input}`]:t.input},{[`& .${Mt.input}`]:s&&t.inputFocused},t.root,r&&t.fullWidth,i&&t.hasPopupIcon,a&&t.hasClearIcon]},"overridesResolver")})({[`&.${Mt.focused} .${Mt.clearIndicator}`]:{visibility:"visible"},"@media (pointer: fine)":{[`&:hover .${Mt.clearIndicator}`]:{visibility:"visible"}},[`& .${Mt.tag}`]:{margin:3,maxWidth:"calc(100% - 6px)"},[`& .${Mt.inputRoot}`]:{[`.${Mt.hasPopupIcon}&, .${Mt.hasClearIcon}&`]:{paddingRight:30},[`.${Mt.hasPopupIcon}.${Mt.hasClearIcon}&`]:{paddingRight:56},[`& .${Mt.input}`]:{width:0,minWidth:30}},[`& .${Fs.root}`]:{paddingBottom:1,"& .MuiInput-input":{padding:"4px 4px 4px 0px"}},[`& .${Fs.root}.${Ea.sizeSmall}`]:{[`& .${Fs.input}`]:{padding:"2px 4px 3px 0"}},[`& .${ri.root}`]:{padding:9,[`.${Mt.hasPopupIcon}&, .${Mt.hasClearIcon}&`]:{paddingRight:39},[`.${Mt.hasPopupIcon}.${Mt.hasClearIcon}&`]:{paddingRight:65},[`& .${Mt.input}`]:{padding:"7.5px 4px 7.5px 5px"},[`& .${Mt.endAdornment}`]:{right:9}},[`& .${ri.root}.${Ea.sizeSmall}`]:{paddingTop:6,paddingBottom:6,paddingLeft:6,[`& .${Mt.input}`]:{padding:"2.5px 4px 2.5px 8px"}},[`& .${Ra.root}`]:{paddingTop:19,paddingLeft:8,[`.${Mt.hasPopupIcon}&, .${Mt.hasClearIcon}&`]:{paddingRight:39},[`.${Mt.hasPopupIcon}.${Mt.hasClearIcon}&`]:{paddingRight:65},[`& .${Ra.input}`]:{padding:"7px 4px"},[`& .${Mt.endAdornment}`]:{right:9}},[`& .${Ra.root}.${Ea.sizeSmall}`]:{paddingBottom:1,[`& .${Ra.input}`]:{padding:"2.5px 4px"}},[`& .${Ea.hiddenLabel}`]:{paddingTop:8},[`& .${Ra.root}.${Ea.hiddenLabel}`]:{paddingTop:0,paddingBottom:0,[`& .${Mt.input}`]:{paddingTop:16,paddingBottom:17}},[`& .${Ra.root}.${Ea.hiddenLabel}.${Ea.sizeSmall}`]:{[`& .${Mt.input}`]:{paddingTop:8,paddingBottom:9}},[`& .${Mt.input}`]:{flexGrow:1,textOverflow:"ellipsis",opacity:0},variants:[{props:{fullWidth:!0},style:{width:"100%"}},{props:{size:"small"},style:{[`& .${Mt.tag}`]:{margin:2,maxWidth:"calc(100% - 4px)"}}},{props:{inputFocused:!0},style:{[`& .${Mt.input}`]:{opacity:1}}},{props:{multiple:!0},style:{[`& .${Mt.inputRoot}`]:{flexWrap:"wrap"}}}]}),HRe=V("div",{name:"MuiAutocomplete",slot:"EndAdornment",overridesResolver:o((e,t)=>t.endAdornment,"overridesResolver")})({position:"absolute",right:0,top:"50%",transform:"translate(0, -50%)"}),qRe=V(cn,{name:"MuiAutocomplete",slot:"ClearIndicator",overridesResolver:o((e,t)=>t.clearIndicator,"overridesResolver")})({marginRight:-2,padding:4,visibility:"hidden"}),VRe=V(cn,{name:"MuiAutocomplete",slot:"PopupIndicator",overridesResolver:o(({ownerState:e},t)=>R({},t.popupIndicator,e.popupOpen&&t.popupIndicatorOpen),"overridesResolver")})({padding:2,marginRight:-2,variants:[{props:{popupOpen:!0},style:{transform:"rotate(180deg)"}}]}),GRe=V(_1,{name:"MuiAutocomplete",slot:"Popper",overridesResolver:o((e,t)=>{const{ownerState:n}=e;return[{[`& .${Mt.option}`]:t.option},t.popper,n.disablePortal&&t.popperDisablePortal]},"overridesResolver")})(({theme:e})=>({zIndex:(e.vars||e).zIndex.modal,variants:[{props:{disablePortal:!0},style:{position:"absolute"}}]})),KRe=V(Va,{name:"MuiAutocomplete",slot:"Paper",overridesResolver:o((e,t)=>t.paper,"overridesResolver")})(({theme:e})=>R({},e.typography.body1,{overflow:"auto"})),JRe=V("div",{name:"MuiAutocomplete",slot:"Loading",overridesResolver:o((e,t)=>t.loading,"overridesResolver")})(({theme:e})=>({color:(e.vars||e).palette.text.secondary,padding:"14px 16px"})),YRe=V("div",{name:"MuiAutocomplete",slot:"NoOptions",overridesResolver:o((e,t)=>t.noOptions,"overridesResolver")})(({theme:e})=>({color:(e.vars||e).palette.text.secondary,padding:"14px 16px"})),QRe=V("div",{name:"MuiAutocomplete",slot:"Listbox",overridesResolver:o((e,t)=>t.listbox,"overridesResolver")})(({theme:e})=>({listStyle:"none",margin:0,padding:"8px 0",maxHeight:"40vh",overflow:"auto",position:"relative",[`& .${Mt.option}`]:{minHeight:48,display:"flex",overflow:"hidden",justifyContent:"flex-start",alignItems:"center",cursor:"pointer",paddingTop:6,boxSizing:"border-box",outline:"0",WebkitTapHighlightColor:"transparent",paddingBottom:6,paddingLeft:16,paddingRight:16,[e.breakpoints.up("sm")]:{minHeight:"auto"},[`&.${Mt.focused}`]:{backgroundColor:(e.vars||e).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},'&[aria-disabled="true"]':{opacity:(e.vars||e).palette.action.disabledOpacity,pointerEvents:"none"},[`&.${Mt.focusVisible}`]:{backgroundColor:(e.vars||e).palette.action.focus},'&[aria-selected="true"]':{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:xt(e.palette.primary.main,e.palette.action.selectedOpacity),[`&.${Mt.focused}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.hoverOpacity}))`:xt(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:(e.vars||e).palette.action.selected}},[`&.${Mt.focusVisible}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.focusOpacity}))`:xt(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.focusOpacity)}}}})),XRe=V(vH,{name:"MuiAutocomplete",slot:"GroupLabel",overridesResolver:o((e,t)=>t.groupLabel,"overridesResolver")})(({theme:e})=>({backgroundColor:(e.vars||e).palette.background.paper,top:-8})),ZRe=V("ul",{name:"MuiAutocomplete",slot:"GroupUl",overridesResolver:o((e,t)=>t.groupUl,"overridesResolver")})({padding:0,[`& .${Mt.option}`]:{paddingLeft:24}}),eAe=g.forwardRef(o(function(t,n){var r,a,i,s;const c=BRe({props:t,name:"MuiAutocomplete"}),{autoComplete:l=!1,autoHighlight:u=!1,autoSelect:d=!1,blurOnSelect:p=!1,ChipProps:m,className:v,clearIcon:h=a5||(a5=f.jsx(ZU,{fontSize:"small"})),clearOnBlur:y=!c.freeSolo,clearOnEscape:C=!1,clearText:w="Clear",closeText:x="Close",componentsProps:b={},defaultValue:S=c.multiple?[]:null,disableClearable:$=!1,disableCloseOnSelect:j=!1,disabled:_=!1,disabledItemsFocusable:k=!1,disableListWrap:E=!1,disablePortal:A=!1,filterSelectedOptions:P=!1,forcePopupIcon:M="auto",freeSolo:T=!1,fullWidth:z=!1,getLimitTagsText:O=o(Ae=>`+${Ae}`,"getLimitTagsText"),getOptionLabel:N,groupBy:F,handleHomeEndKeys:I=!c.freeSolo,includeInputInList:B=!1,limitTags:U=-1,ListboxComponent:te="ul",ListboxProps:Z,loading:be=!1,loadingText:ne="Loading…",multiple:le=!1,noOptionsText:oe="No options",openOnFocus:Se=!1,openText:xe="Open",PaperComponent:X=Va,PopperComponent:Re=_1,popupIcon:me=o5||(o5=f.jsx(bH,{})),readOnly:re=!1,renderGroup:De,renderInput:Ee,renderOption:$e,renderTags:Ce,selectOnFocus:st=!c.freeSolo,size:D="medium",slotProps:J={}}=c,H=ve(c,LRe),{getRootProps:de,getInputProps:fe,getInputLabelProps:ue,getPopupIndicatorProps:he,getClearProps:We,getTagProps:rt,getListboxProps:Ue,getOptionProps:Ne,value:ye,dirty:ot,expanded:ft,id:yt,popupOpen:W,focused:K,focusedTag:Y,anchorEl:pe,setAnchorEl:Le,inputValue:Oe,groupedOptions:dt}=lRe(R({},c,{componentName:"Autocomplete"})),St=!$&&!_&&ot&&!re,wt=(!T||M===!0)&&M!==!1,{onMouseDown:Bt}=fe(),{ref:G}=Z??{},Q=Ue(),{ref:ce}=Q,_e=ve(Q,DRe),qe=ln(ce,G),Ve=N||o(Ae=>{var it;return(it=Ae.label)!=null?it:Ae},"defaultGetOptionLabel"),Fe=R({},c,{disablePortal:A,expanded:ft,focused:K,fullWidth:z,getOptionLabel:Ve,hasClearIcon:St,hasPopupIcon:wt,inputFocused:Y===-1,popupOpen:W,size:D}),Me=WRe(Fe);let lt;if(le&&ye.length>0){const Ae=o(it=>R({className:Me.tag,disabled:_},rt(it)),"getCustomizedTagProps");Ce?lt=Ce(ye,Ae,Fe):lt=ye.map((it,Xe)=>{const je=Ae({index:Xe}),{key:Wt}=je,Ft=ve(je,NRe);return f.jsx(wi,R({label:Ve(it),size:D},Ft,m),Wt)})}if(U>-1&&Array.isArray(lt)){const Ae=lt.length-U;!K&&Ae>0&&(lt=lt.splice(0,U),lt.push(f.jsx("span",{className:Me.tag,children:O(Ae)},lt.length)))}const we=De||o(Ae=>f.jsxs("li",{children:[f.jsx(XRe,{className:Me.groupLabel,ownerState:Fe,component:"div",children:Ae.group}),f.jsx(ZRe,{className:Me.groupUl,ownerState:Fe,children:Ae.children})]},Ae.key),"defaultRenderGroup"),ut=$e||o((Ae,it)=>{const{key:Xe}=Ae,je=ve(Ae,FRe);return f.jsx("li",R({},je,{children:Ve(it)}),Xe)},"defaultRenderOption"),ke=o((Ae,it)=>{const Xe=Ne({option:Ae,index:it});return ut(R({},Xe,{className:Me.option}),Ae,{selected:Xe["aria-selected"],index:it,inputValue:Oe},Fe)},"renderListOption"),ze=(r=J.clearIndicator)!=null?r:b.clearIndicator,bt=(a=J.paper)!=null?a:b.paper,Pt=(i=J.popper)!=null?i:b.popper,ae=(s=J.popupIndicator)!=null?s:b.popupIndicator,ie=o(Ae=>f.jsx(GRe,R({as:Re,disablePortal:A,style:{width:pe?pe.clientWidth:null},ownerState:Fe,role:"presentation",anchorEl:pe,open:W},Pt,{className:ee(Me.popper,Pt==null?void 0:Pt.className),children:f.jsx(KRe,R({ownerState:Fe,as:X},bt,{className:ee(Me.paper,bt==null?void 0:bt.className),children:Ae}))})),"renderAutocompletePopperChildren");let Ie=null;return dt.length>0?Ie=ie(f.jsx(QRe,R({as:te,className:Me.listbox,ownerState:Fe},_e,Z,{ref:qe,children:dt.map((Ae,it)=>F?we({key:Ae.key,group:Ae.group,children:Ae.options.map((Xe,je)=>ke(Xe,Ae.index+je))}):ke(Ae,it))}))):be&&dt.length===0?Ie=ie(f.jsx(JRe,{className:Me.loading,ownerState:Fe,children:ne})):dt.length===0&&!T&&!be&&(Ie=ie(f.jsx(YRe,{className:Me.noOptions,ownerState:Fe,role:"presentation",onMouseDown:o(Ae=>{Ae.preventDefault()},"onMouseDown"),children:oe}))),f.jsxs(g.Fragment,{children:[f.jsx(URe,R({ref:n,className:ee(Me.root,v),ownerState:Fe},de(H),{children:Ee({id:yt,disabled:_,fullWidth:!0,size:D==="small"?"small":void 0,InputLabelProps:ue(),InputProps:R({ref:Le,className:Me.inputRoot,startAdornment:lt,onClick:o(Ae=>{Ae.target===Ae.currentTarget&&Bt(Ae)},"onClick")},(St||wt)&&{endAdornment:f.jsxs(HRe,{className:Me.endAdornment,ownerState:Fe,children:[St?f.jsx(qRe,R({},We(),{"aria-label":w,title:w,ownerState:Fe},ze,{className:ee(Me.clearIndicator,ze==null?void 0:ze.className),children:h})):null,wt?f.jsx(VRe,R({},he(),{disabled:_,"aria-label":W?x:xe,title:W?x:xe,ownerState:Fe},ae,{className:ee(Me.popupIndicator,ae==null?void 0:ae.className),children:me})):null]})}),inputProps:R({className:Me.input,disabled:_,readOnly:re},fe())})})),pe?Ie:null]})},"Autocomplete2")),tAe=ur(f.jsx("path",{d:"M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z"}),"Person");function nAe(e){return Ke("MuiAvatar",e)}o(nAe,"getAvatarUtilityClass");Qe("MuiAvatar",["root","colorDefault","circular","rounded","square","img","fallback"]);const rAe=["alt","children","className","component","slots","slotProps","imgProps","sizes","src","srcSet","variant"],aAe=S1(),oAe=o(e=>{const{classes:t,variant:n,colorDefault:r}=e;return Je({root:["root",n,r&&"colorDefault"],img:["img"],fallback:["fallback"]},nAe,t)},"useUtilityClasses$_"),iAe=V("div",{name:"MuiAvatar",slot:"Root",overridesResolver:o((e,t)=>{const{ownerState:n}=e;return[t.root,t[n.variant],n.colorDefault&&t.colorDefault]},"overridesResolver")})(({theme:e})=>({position:"relative",display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0,width:40,height:40,fontFamily:e.typography.fontFamily,fontSize:e.typography.pxToRem(20),lineHeight:1,borderRadius:"50%",overflow:"hidden",userSelect:"none",variants:[{props:{variant:"rounded"},style:{borderRadius:(e.vars||e).shape.borderRadius}},{props:{variant:"square"},style:{borderRadius:0}},{props:{colorDefault:!0},style:R({color:(e.vars||e).palette.background.default},e.vars?{backgroundColor:e.vars.palette.Avatar.defaultBg}:R({backgroundColor:e.palette.grey[400]},e.applyStyles("dark",{backgroundColor:e.palette.grey[600]})))}]})),sAe=V("img",{name:"MuiAvatar",slot:"Img",overridesResolver:o((e,t)=>t.img,"overridesResolver")})({width:"100%",height:"100%",textAlign:"center",objectFit:"cover",color:"transparent",textIndent:1e4}),cAe=V(tAe,{name:"MuiAvatar",slot:"Fallback",overridesResolver:o((e,t)=>t.fallback,"overridesResolver")})({width:"75%",height:"75%"});function lAe({crossOrigin:e,referrerPolicy:t,src:n,srcSet:r}){const[a,i]=g.useState(!1);return g.useEffect(()=>{if(!n&&!r)return;i(!1);let s=!0;const c=new Image;return c.onload=()=>{s&&i("loaded")},c.onerror=()=>{s&&i("error")},c.crossOrigin=e,c.referrerPolicy=t,c.src=n,r&&(c.srcset=r),()=>{s=!1}},[e,t,n,r]),a}o(lAe,"useLoaded");const Da=g.forwardRef(o(function(t,n){const r=aAe({props:t,name:"MuiAvatar"}),{alt:a,children:i,className:s,component:c="div",slots:l={},slotProps:u={},imgProps:d,sizes:p,src:m,srcSet:v,variant:h="circular"}=r,y=ve(r,rAe);let C=null;const w=lAe(R({},d,{src:m,srcSet:v})),x=m||v,b=x&&w!=="error",S=R({},r,{colorDefault:!b,component:c,variant:h}),$=oAe(S),[j,_]=l3("img",{className:$.img,elementType:sAe,externalForwardedProps:{slots:l,slotProps:{img:R({},d,u.img)}},additionalProps:{alt:a,src:m,srcSet:v,sizes:p},ownerState:S});return b?C=f.jsx(j,R({},_)):i||i===0?C=i:x&&a?C=a[0]:C=f.jsx(cAe,{ownerState:S,className:$.fallback}),f.jsx(iAe,R({as:c,ownerState:S,className:ee($.root,s),ref:n},y,{children:C}))},"Avatar2")),uAe=["addEndListener","appear","children","easing","in","onEnter","onEntered","onEntering","onExit","onExited","onExiting","style","timeout","TransitionComponent"],dAe={entering:{opacity:1},entered:{opacity:1}},xH=g.forwardRef(o(function(t,n){const r=Ko(),a={enter:r.transitions.duration.enteringScreen,exit:r.transitions.duration.leavingScreen},{addEndListener:i,appear:s=!0,children:c,easing:l,in:u,onEnter:d,onEntered:p,onEntering:m,onExit:v,onExited:h,onExiting:y,style:C,timeout:w=a,TransitionComponent:x=Jo}=t,b=ve(t,uAe),S=g.useRef(null),$=ln(S,c.ref,n),j=o(z=>O=>{if(z){const N=S.current;O===void 0?z(N):z(N,O)}},"normalizedTransitionCallback"),_=j(m),k=j((z,O)=>{wR(z);const N=mf({style:C,timeout:w,easing:l},{mode:"enter"});z.style.webkitTransition=r.transitions.create("opacity",N),z.style.transition=r.transitions.create("opacity",N),d&&d(z,O)}),E=j(p),A=j(y),P=j(z=>{const O=mf({style:C,timeout:w,easing:l},{mode:"exit"});z.style.webkitTransition=r.transitions.create("opacity",O),z.style.transition=r.transitions.create("opacity",O),v&&v(z)}),M=j(h),T=o(z=>{i&&i(S.current,z)},"handleAddEndListener");return f.jsx(x,R({appear:s,in:u,nodeRef:S,onEnter:k,onEntered:E,onEntering:_,onExit:P,onExited:M,onExiting:A,addEndListener:T,timeout:w},b,{children:o((z,O)=>g.cloneElement(c,R({style:R({opacity:0,visibility:z==="exited"&&!u?"hidden":void 0},dAe[z],C,c.props.style),ref:$},O)),"children")}))},"Fade2"));function fAe(e){return Ke("MuiBackdrop",e)}o(fAe,"getBackdropUtilityClass");Qe("MuiBackdrop",["root","invisible"]);const pAe=["children","className","component","components","componentsProps","invisible","open","slotProps","slots","TransitionComponent","transitionDuration"],mAe=o(e=>{const{classes:t,invisible:n}=e;return Je({root:["root",n&&"invisible"]},fAe,t)},"useUtilityClasses$Z"),hAe=V("div",{name:"MuiBackdrop",slot:"Root",overridesResolver:o((e,t)=>{const{ownerState:n}=e;return[t.root,n.invisible&&t.invisible]},"overridesResolver")})(({ownerState:e})=>R({position:"fixed",display:"flex",alignItems:"center",justifyContent:"center",right:0,bottom:0,top:0,left:0,backgroundColor:"rgba(0, 0, 0, 0.5)",WebkitTapHighlightColor:"transparent"},e.invisible&&{backgroundColor:"transparent"})),wH=g.forwardRef(o(function(t,n){var r,a,i;const s=Ze({props:t,name:"MuiBackdrop"}),{children:c,className:l,component:u="div",components:d={},componentsProps:p={},invisible:m=!1,open:v,slotProps:h={},slots:y={},TransitionComponent:C=xH,transitionDuration:w}=s,x=ve(s,pAe),b=R({},s,{component:u,invisible:m}),S=mAe(b),$=(r=h.root)!=null?r:p.root;return f.jsx(C,R({in:v,timeout:w},x,{children:f.jsx(hAe,R({"aria-hidden":!0},$,{as:(a=(i=y.root)!=null?i:d.Root)!=null?a:u,className:ee(S.root,l,$==null?void 0:$.className),ownerState:R({},b,$==null?void 0:$.ownerState),classes:S,ref:n,children:c}))}))},"Backdrop2")),gAe=Qe("MuiBox",["root"]),vAe=Fb(),Be=r$e({themeId:Ml,defaultTheme:vAe,defaultClassName:gAe.root,generateClassName:fR.generate});function yAe(e){return Ke("MuiButton",e)}o(yAe,"getButtonUtilityClass");const Ev=Qe("MuiButton",["root","text","textInherit","textPrimary","textSecondary","textSuccess","textError","textInfo","textWarning","outlined","outlinedInherit","outlinedPrimary","outlinedSecondary","outlinedSuccess","outlinedError","outlinedInfo","outlinedWarning","contained","containedInherit","containedPrimary","containedSecondary","containedSuccess","containedError","containedInfo","containedWarning","disableElevation","focusVisible","disabled","colorInherit","colorPrimary","colorSecondary","colorSuccess","colorError","colorInfo","colorWarning","textSizeSmall","textSizeMedium","textSizeLarge","outlinedSizeSmall","outlinedSizeMedium","outlinedSizeLarge","containedSizeSmall","containedSizeMedium","containedSizeLarge","sizeMedium","sizeSmall","sizeLarge","fullWidth","startIcon","endIcon","icon","iconSizeSmall","iconSizeMedium","iconSizeLarge"]),bAe=g.createContext({}),xAe=g.createContext(void 0),wAe=["children","color","component","className","disabled","disableElevation","disableFocusRipple","endIcon","focusVisibleClassName","fullWidth","size","startIcon","type","variant"],CAe=o(e=>{const{color:t,disableElevation:n,fullWidth:r,size:a,variant:i,classes:s}=e,c={root:["root",i,`${i}${se(t)}`,`size${se(a)}`,`${i}Size${se(a)}`,`color${se(t)}`,n&&"disableElevation",r&&"fullWidth"],label:["label"],startIcon:["icon","startIcon",`iconSize${se(a)}`],endIcon:["icon","endIcon",`iconSize${se(a)}`]},l=Je(c,yAe,s);return R({},s,l)},"useUtilityClasses$Y"),CH=o(e=>R({},e.size==="small"&&{"& > *:nth-of-type(1)":{fontSize:18}},e.size==="medium"&&{"& > *:nth-of-type(1)":{fontSize:20}},e.size==="large"&&{"& > *:nth-of-type(1)":{fontSize:22}}),"commonIconStyles"),SAe=V(Fa,{shouldForwardProp:o(e=>xr(e)||e==="classes","shouldForwardProp"),name:"MuiButton",slot:"Root",overridesResolver:o((e,t)=>{const{ownerState:n}=e;return[t.root,t[n.variant],t[`${n.variant}${se(n.color)}`],t[`size${se(n.size)}`],t[`${n.variant}Size${se(n.size)}`],n.color==="inherit"&&t.colorInherit,n.disableElevation&&t.disableElevation,n.fullWidth&&t.fullWidth]},"overridesResolver")})(({theme:e,ownerState:t})=>{var n,r;const a=e.palette.mode==="light"?e.palette.grey[300]:e.palette.grey[800],i=e.palette.mode==="light"?e.palette.grey.A100:e.palette.grey[700];return R({},e.typography.button,{minWidth:64,padding:"6px 16px",borderRadius:(e.vars||e).shape.borderRadius,transition:e.transitions.create(["background-color","box-shadow","border-color","color"],{duration:e.transitions.duration.short}),"&:hover":R({textDecoration:"none",backgroundColor:e.vars?`rgba(${e.vars.palette.text.primaryChannel} / ${e.vars.palette.action.hoverOpacity})`:xt(e.palette.text.primary,e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},t.variant==="text"&&t.color!=="inherit"&&{backgroundColor:e.vars?`rgba(${e.vars.palette[t.color].mainChannel} / ${e.vars.palette.action.hoverOpacity})`:xt(e.palette[t.color].main,e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},t.variant==="outlined"&&t.color!=="inherit"&&{border:`1px solid ${(e.vars||e).palette[t.color].main}`,backgroundColor:e.vars?`rgba(${e.vars.palette[t.color].mainChannel} / ${e.vars.palette.action.hoverOpacity})`:xt(e.palette[t.color].main,e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},t.variant==="contained"&&{backgroundColor:e.vars?e.vars.palette.Button.inheritContainedHoverBg:i,boxShadow:(e.vars||e).shadows[4],"@media (hover: none)":{boxShadow:(e.vars||e).shadows[2],backgroundColor:(e.vars||e).palette.grey[300]}},t.variant==="contained"&&t.color!=="inherit"&&{backgroundColor:(e.vars||e).palette[t.color].dark,"@media (hover: none)":{backgroundColor:(e.vars||e).palette[t.color].main}}),"&:active":R({},t.variant==="contained"&&{boxShadow:(e.vars||e).shadows[8]}),[`&.${Ev.focusVisible}`]:R({},t.variant==="contained"&&{boxShadow:(e.vars||e).shadows[6]}),[`&.${Ev.disabled}`]:R({color:(e.vars||e).palette.action.disabled},t.variant==="outlined"&&{border:`1px solid ${(e.vars||e).palette.action.disabledBackground}`},t.variant==="contained"&&{color:(e.vars||e).palette.action.disabled,boxShadow:(e.vars||e).shadows[0],backgroundColor:(e.vars||e).palette.action.disabledBackground})},t.variant==="text"&&{padding:"6px 8px"},t.variant==="text"&&t.color!=="inherit"&&{color:(e.vars||e).palette[t.color].main},t.variant==="outlined"&&{padding:"5px 15px",border:"1px solid currentColor"},t.variant==="outlined"&&t.color!=="inherit"&&{color:(e.vars||e).palette[t.color].main,border:e.vars?`1px solid rgba(${e.vars.palette[t.color].mainChannel} / 0.5)`:`1px solid ${xt(e.palette[t.color].main,.5)}`},t.variant==="contained"&&{color:e.vars?e.vars.palette.text.primary:(n=(r=e.palette).getContrastText)==null?void 0:n.call(r,e.palette.grey[300]),backgroundColor:e.vars?e.vars.palette.Button.inheritContainedBg:a,boxShadow:(e.vars||e).shadows[2]},t.variant==="contained"&&t.color!=="inherit"&&{color:(e.vars||e).palette[t.color].contrastText,backgroundColor:(e.vars||e).palette[t.color].main},t.color==="inherit"&&{color:"inherit",borderColor:"currentColor"},t.size==="small"&&t.variant==="text"&&{padding:"4px 5px",fontSize:e.typography.pxToRem(13)},t.size==="large"&&t.variant==="text"&&{padding:"8px 11px",fontSize:e.typography.pxToRem(15)},t.size==="small"&&t.variant==="outlined"&&{padding:"3px 9px",fontSize:e.typography.pxToRem(13)},t.size==="large"&&t.variant==="outlined"&&{padding:"7px 21px",fontSize:e.typography.pxToRem(15)},t.size==="small"&&t.variant==="contained"&&{padding:"4px 10px",fontSize:e.typography.pxToRem(13)},t.size==="large"&&t.variant==="contained"&&{padding:"8px 22px",fontSize:e.typography.pxToRem(15)},t.fullWidth&&{width:"100%"})},({ownerState:e})=>e.disableElevation&&{boxShadow:"none","&:hover":{boxShadow:"none"},[`&.${Ev.focusVisible}`]:{boxShadow:"none"},"&:active":{boxShadow:"none"},[`&.${Ev.disabled}`]:{boxShadow:"none"}}),jAe=V("span",{name:"MuiButton",slot:"StartIcon",overridesResolver:o((e,t)=>{const{ownerState:n}=e;return[t.startIcon,t[`iconSize${se(n.size)}`]]},"overridesResolver")})(({ownerState:e})=>R({display:"inherit",marginRight:8,marginLeft:-4},e.size==="small"&&{marginLeft:-2},CH(e))),$Ae=V("span",{name:"MuiButton",slot:"EndIcon",overridesResolver:o((e,t)=>{const{ownerState:n}=e;return[t.endIcon,t[`iconSize${se(n.size)}`]]},"overridesResolver")})(({ownerState:e})=>R({display:"inherit",marginRight:-4,marginLeft:8},e.size==="small"&&{marginRight:-2},CH(e))),gn=g.forwardRef(o(function(t,n){const r=g.useContext(bAe),a=g.useContext(xAe),i=pR(r,t),s=Ze({props:i,name:"MuiButton"}),{children:c,color:l="primary",component:u="button",className:d,disabled:p=!1,disableElevation:m=!1,disableFocusRipple:v=!1,endIcon:h,focusVisibleClassName:y,fullWidth:C=!1,size:w="medium",startIcon:x,type:b,variant:S="text"}=s,$=ve(s,wAe),j=R({},s,{color:l,component:u,disabled:p,disableElevation:m,disableFocusRipple:v,fullWidth:C,size:w,type:b,variant:S}),_=CAe(j),k=x&&f.jsx(jAe,{className:_.startIcon,ownerState:j,children:x}),E=h&&f.jsx($Ae,{className:_.endIcon,ownerState:j,children:h}),A=a||"";return f.jsxs(SAe,R({ownerState:j,className:ee(r.className,_.root,d,A),component:u,disabled:p,focusRipple:!v,focusVisibleClassName:ee(_.focusVisible,y),ref:n,type:b},$,{classes:_,children:[k,c,E]}))},"Button2"));function _Ae(e){return Ke("MuiCard",e)}o(_Ae,"getCardUtilityClass");Qe("MuiCard",["root"]);const kAe=["className","raised"],EAe=o(e=>{const{classes:t}=e;return Je({root:["root"]},_Ae,t)},"useUtilityClasses$X"),RAe=V(Va,{name:"MuiCard",slot:"Root",overridesResolver:o((e,t)=>t.root,"overridesResolver")})(()=>({overflow:"hidden"})),$o=g.forwardRef(o(function(t,n){const r=Ze({props:t,name:"MuiCard"}),{className:a,raised:i=!1}=r,s=ve(r,kAe),c=R({},r,{raised:i}),l=EAe(c);return f.jsx(RAe,R({className:ee(l.root,a),elevation:i?8:void 0,ref:n,ownerState:c},s))},"Card2"));function AAe(e){return Ke("MuiCardActions",e)}o(AAe,"getCardActionsUtilityClass");Qe("MuiCardActions",["root","spacing"]);const PAe=["disableSpacing","className"],MAe=o(e=>{const{classes:t,disableSpacing:n}=e;return Je({root:["root",!n&&"spacing"]},AAe,t)},"useUtilityClasses$W"),TAe=V("div",{name:"MuiCardActions",slot:"Root",overridesResolver:o((e,t)=>{const{ownerState:n}=e;return[t.root,!n.disableSpacing&&t.spacing]},"overridesResolver")})(({ownerState:e})=>R({display:"flex",alignItems:"center",padding:8},!e.disableSpacing&&{"& > :not(style) ~ :not(style)":{marginLeft:8}})),OAe=g.forwardRef(o(function(t,n){const r=Ze({props:t,name:"MuiCardActions"}),{disableSpacing:a=!1,className:i}=r,s=ve(r,PAe),c=R({},r,{disableSpacing:a}),l=MAe(c);return f.jsx(TAe,R({className:ee(l.root,i),ownerState:c,ref:n},s))},"CardActions2"));function zAe(e){return Ke("MuiCardContent",e)}o(zAe,"getCardContentUtilityClass");Qe("MuiCardContent",["root"]);const IAe=["className","component"],LAe=o(e=>{const{classes:t}=e;return Je({root:["root"]},zAe,t)},"useUtilityClasses$V"),DAe=V("div",{name:"MuiCardContent",slot:"Root",overridesResolver:o((e,t)=>t.root,"overridesResolver")})(()=>({padding:16,"&:last-child":{paddingBottom:24}})),Yo=g.forwardRef(o(function(t,n){const r=Ze({props:t,name:"MuiCardContent"}),{className:a,component:i="div"}=r,s=ve(r,IAe),c=R({},r,{component:i}),l=LAe(c);return f.jsx(DAe,R({as:i,className:ee(l.root,a),ownerState:c,ref:n},s))},"CardContent2"));function NAe(e){return Ke("PrivateSwitchBase",e)}o(NAe,"getSwitchBaseUtilityClass");Qe("PrivateSwitchBase",["root","checked","disabled","input","edgeStart","edgeEnd"]);const FAe=["autoFocus","checked","checkedIcon","className","defaultChecked","disabled","disableFocusRipple","edge","icon","id","inputProps","inputRef","name","onBlur","onChange","onFocus","readOnly","required","tabIndex","type","value"],BAe=o(e=>{const{classes:t,checked:n,disabled:r,edge:a}=e,i={root:["root",n&&"checked",r&&"disabled",a&&`edge${se(a)}`],input:["input"]};return Je(i,NAe,t)},"useUtilityClasses$U"),WAe=V(Fa)(({ownerState:e})=>R({padding:9,borderRadius:"50%"},e.edge==="start"&&{marginLeft:e.size==="small"?-3:-12},e.edge==="end"&&{marginRight:e.size==="small"?-3:-12})),UAe=V("input",{shouldForwardProp:xr})({cursor:"inherit",position:"absolute",opacity:0,width:"100%",height:"100%",top:0,left:0,margin:0,padding:0,zIndex:1}),SH=g.forwardRef(o(function(t,n){const{autoFocus:r,checked:a,checkedIcon:i,className:s,defaultChecked:c,disabled:l,disableFocusRipple:u=!1,edge:d=!1,icon:p,id:m,inputProps:v,inputRef:h,name:y,onBlur:C,onChange:w,onFocus:x,readOnly:b,required:S=!1,tabIndex:$,type:j,value:_}=t,k=ve(t,FAe),[E,A]=ls({controlled:a,default:!!c,name:"SwitchBase",state:"checked"}),P=Wi(),M=o(B=>{x&&x(B),P&&P.onFocus&&P.onFocus(B)},"handleFocus"),T=o(B=>{C&&C(B),P&&P.onBlur&&P.onBlur(B)},"handleBlur"),z=o(B=>{if(B.nativeEvent.defaultPrevented)return;const U=B.target.checked;A(U),w&&w(B,U)},"handleInputChange");let O=l;P&&typeof O>"u"&&(O=P.disabled);const N=j==="checkbox"||j==="radio",F=R({},t,{checked:E,disabled:O,disableFocusRipple:u,edge:d}),I=BAe(F);return f.jsxs(WAe,R({component:"span",className:ee(I.root,s),centerRipple:!0,focusRipple:!u,disabled:O,tabIndex:null,role:void 0,onFocus:M,onBlur:T,ownerState:F,ref:n},k,{children:[f.jsx(UAe,R({autoFocus:r,checked:a,defaultChecked:c,className:I.input,disabled:O,id:N?m:void 0,name:y,onChange:z,readOnly:b,ref:h,required:S,ownerState:F,tabIndex:$,type:j},j==="checkbox"&&_===void 0?{}:{value:_},v)),E?i:p]}))},"SwitchBase2")),HAe=ur(f.jsx("path",{d:"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z"}),"CheckBoxOutlineBlank"),qAe=ur(f.jsx("path",{d:"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"}),"CheckBox"),VAe=ur(f.jsx("path",{d:"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z"}),"IndeterminateCheckBox");function GAe(e){return Ke("MuiCheckbox",e)}o(GAe,"getCheckboxUtilityClass");const Y2=Qe("MuiCheckbox",["root","checked","disabled","indeterminate","colorPrimary","colorSecondary","sizeSmall","sizeMedium"]),KAe=["checkedIcon","color","icon","indeterminate","indeterminateIcon","inputProps","size","className"],JAe=o(e=>{const{classes:t,indeterminate:n,color:r,size:a}=e,i={root:["root",n&&"indeterminate",`color${se(r)}`,`size${se(a)}`]},s=Je(i,GAe,t);return R({},t,s)},"useUtilityClasses$T"),YAe=V(SH,{shouldForwardProp:o(e=>xr(e)||e==="classes","shouldForwardProp"),name:"MuiCheckbox",slot:"Root",overridesResolver:o((e,t)=>{const{ownerState:n}=e;return[t.root,n.indeterminate&&t.indeterminate,t[`size${se(n.size)}`],n.color!=="default"&&t[`color${se(n.color)}`]]},"overridesResolver")})(({theme:e,ownerState:t})=>R({color:(e.vars||e).palette.text.secondary},!t.disableRipple&&{"&:hover":{backgroundColor:e.vars?`rgba(${t.color==="default"?e.vars.palette.action.activeChannel:e.vars.palette[t.color].mainChannel} / ${e.vars.palette.action.hoverOpacity})`:xt(t.color==="default"?e.palette.action.active:e.palette[t.color].main,e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},t.color!=="default"&&{[`&.${Y2.checked}, &.${Y2.indeterminate}`]:{color:(e.vars||e).palette[t.color].main},[`&.${Y2.disabled}`]:{color:(e.vars||e).palette.action.disabled}})),QAe=f.jsx(qAe,{}),XAe=f.jsx(HAe,{}),ZAe=f.jsx(VAe,{}),bf=g.forwardRef(o(function(t,n){var r,a;const i=Ze({props:t,name:"MuiCheckbox"}),{checkedIcon:s=QAe,color:c="primary",icon:l=XAe,indeterminate:u=!1,indeterminateIcon:d=ZAe,inputProps:p,size:m="medium",className:v}=i,h=ve(i,KAe),y=u?d:l,C=u?d:s,w=R({},i,{color:c,indeterminate:u,size:m}),x=JAe(w);return f.jsx(YAe,R({type:"checkbox",inputProps:R({"data-indeterminate":u},p),icon:g.cloneElement(y,{fontSize:(r=y.props.fontSize)!=null?r:m}),checkedIcon:g.cloneElement(C,{fontSize:(a=C.props.fontSize)!=null?a:m}),ownerState:w,ref:n,className:ee(x.root,v)},h,{classes:x}))},"Checkbox2"));function ePe(e){return Ke("MuiCircularProgress",e)}o(ePe,"getCircularProgressUtilityClass");Qe("MuiCircularProgress",["root","determinate","indeterminate","colorPrimary","colorSecondary","svg","circle","circleDeterminate","circleIndeterminate","circleDisableShrink"]);const tPe=["className","color","disableShrink","size","style","thickness","value","variant"];let T1=o(e=>e,"_$4"),i5,s5,c5,l5;const Ps=44,nPe=$s(i5||(i5=T1` + 0% { + transform: rotate(0deg); + } + + 100% { + transform: rotate(360deg); + } +`)),rPe=$s(s5||(s5=T1` + 0% { + stroke-dasharray: 1px, 200px; + stroke-dashoffset: 0; + } + + 50% { + stroke-dasharray: 100px, 200px; + stroke-dashoffset: -15px; + } + + 100% { + stroke-dasharray: 100px, 200px; + stroke-dashoffset: -125px; + } +`)),aPe=o(e=>{const{classes:t,variant:n,color:r,disableShrink:a}=e,i={root:["root",n,`color${se(r)}`],svg:["svg"],circle:["circle",`circle${se(n)}`,a&&"circleDisableShrink"]};return Je(i,ePe,t)},"useUtilityClasses$S"),oPe=V("span",{name:"MuiCircularProgress",slot:"Root",overridesResolver:o((e,t)=>{const{ownerState:n}=e;return[t.root,t[n.variant],t[`color${se(n.color)}`]]},"overridesResolver")})(({ownerState:e,theme:t})=>R({display:"inline-block"},e.variant==="determinate"&&{transition:t.transitions.create("transform")},e.color!=="inherit"&&{color:(t.vars||t).palette[e.color].main}),({ownerState:e})=>e.variant==="indeterminate"&&Gl(c5||(c5=T1` + animation: ${0} 1.4s linear infinite; + `),nPe)),iPe=V("svg",{name:"MuiCircularProgress",slot:"Svg",overridesResolver:o((e,t)=>t.svg,"overridesResolver")})({display:"block"}),sPe=V("circle",{name:"MuiCircularProgress",slot:"Circle",overridesResolver:o((e,t)=>{const{ownerState:n}=e;return[t.circle,t[`circle${se(n.variant)}`],n.disableShrink&&t.circleDisableShrink]},"overridesResolver")})(({ownerState:e,theme:t})=>R({stroke:"currentColor"},e.variant==="determinate"&&{transition:t.transitions.create("stroke-dashoffset")},e.variant==="indeterminate"&&{strokeDasharray:"80px, 200px",strokeDashoffset:0}),({ownerState:e})=>e.variant==="indeterminate"&&!e.disableShrink&&Gl(l5||(l5=T1` + animation: ${0} 1.4s ease-in-out infinite; + `),rPe)),kg=g.forwardRef(o(function(t,n){const r=Ze({props:t,name:"MuiCircularProgress"}),{className:a,color:i="primary",disableShrink:s=!1,size:c=40,style:l,thickness:u=3.6,value:d=0,variant:p="indeterminate"}=r,m=ve(r,tPe),v=R({},r,{color:i,disableShrink:s,size:c,thickness:u,value:d,variant:p}),h=aPe(v),y={},C={},w={};if(p==="determinate"){const x=2*Math.PI*((Ps-u)/2);y.strokeDasharray=x.toFixed(3),w["aria-valuenow"]=Math.round(d),y.strokeDashoffset=`${((100-d)/100*x).toFixed(3)}px`,C.transform="rotate(-90deg)"}return f.jsx(oPe,R({className:ee(h.root,a),style:R({width:c,height:c},C,l),ownerState:v,ref:n,role:"progressbar"},w,m,{children:f.jsx(iPe,{className:h.svg,ownerState:v,viewBox:`${Ps/2} ${Ps/2} ${Ps} ${Ps}`,children:f.jsx(sPe,{className:h.circle,style:y,ownerState:v,cx:Ps,cy:Ps,r:(Ps-u)/2,fill:"none",strokeWidth:u})})}))},"CircularProgress2")),cPe=J$e({createStyledComponent:V("div",{name:"MuiContainer",slot:"Root",overridesResolver:o((e,t)=>{const{ownerState:n}=e;return[t.root,t[`maxWidth${se(String(n.maxWidth))}`],n.fixed&&t.fixed,n.disableGutters&&t.disableGutters]},"overridesResolver")}),useThemeProps:o(e=>Ze({props:e,name:"MuiContainer"}),"useThemeProps")}),jH=o((e,t)=>R({WebkitFontSmoothing:"antialiased",MozOsxFontSmoothing:"grayscale",boxSizing:"border-box",WebkitTextSizeAdjust:"100%"},t&&!e.vars&&{colorScheme:e.palette.mode}),"html"),$H=o(e=>R({color:(e.vars||e).palette.text.primary},e.typography.body1,{backgroundColor:(e.vars||e).palette.background.default,"@media print":{backgroundColor:(e.vars||e).palette.common.white}}),"body"),lPe=o((e,t=!1)=>{var n;const r={};t&&e.colorSchemes&&Object.entries(e.colorSchemes).forEach(([s,c])=>{var l;r[e.getColorSchemeSelector(s).replace(/\s*&/,"")]={colorScheme:(l=c.palette)==null?void 0:l.mode}});let a=R({html:jH(e,t),"*, *::before, *::after":{boxSizing:"inherit"},"strong, b":{fontWeight:e.typography.fontWeightBold},body:R({margin:0},$H(e),{"&::backdrop":{backgroundColor:(e.vars||e).palette.background.default}})},r);const i=(n=e.components)==null||(n=n.MuiCssBaseline)==null?void 0:n.styleOverrides;return i&&(a=[a,i]),a},"styles$2");function uPe(e){const t=Ze({props:e,name:"MuiCssBaseline"}),{children:n,enableColorScheme:r=!1}=t;return f.jsxs(g.Fragment,{children:[f.jsx(yH,{styles:o(a=>lPe(a,r),"styles")}),n]})}o(uPe,"CssBaseline");function dPe(e){return Ke("MuiModal",e)}o(dPe,"getModalUtilityClass");Qe("MuiModal",["root","hidden","backdrop"]);const fPe=["BackdropComponent","BackdropProps","classes","className","closeAfterTransition","children","container","component","components","componentsProps","disableAutoFocus","disableEnforceFocus","disableEscapeKeyDown","disablePortal","disableRestoreFocus","disableScrollLock","hideBackdrop","keepMounted","onBackdropClick","onClose","onTransitionEnter","onTransitionExited","open","slotProps","slots","theme"],pPe=o(e=>{const{open:t,exited:n,classes:r}=e;return Je({root:["root",!t&&n&&"hidden"],backdrop:["backdrop"]},dPe,r)},"useUtilityClasses$R"),mPe=V("div",{name:"MuiModal",slot:"Root",overridesResolver:o((e,t)=>{const{ownerState:n}=e;return[t.root,!n.open&&n.exited&&t.hidden]},"overridesResolver")})(({theme:e,ownerState:t})=>R({position:"fixed",zIndex:(e.vars||e).zIndex.modal,right:0,bottom:0,top:0,left:0},!t.open&&t.exited&&{visibility:"hidden"})),hPe=V(wH,{name:"MuiModal",slot:"Backdrop",overridesResolver:o((e,t)=>t.backdrop,"overridesResolver")})({zIndex:-1}),AR=g.forwardRef(o(function(t,n){var r,a,i,s,c,l;const u=Ze({name:"MuiModal",props:t}),{BackdropComponent:d=hPe,BackdropProps:p,className:m,closeAfterTransition:v=!1,children:h,container:y,component:C,components:w={},componentsProps:x={},disableAutoFocus:b=!1,disableEnforceFocus:S=!1,disableEscapeKeyDown:$=!1,disablePortal:j=!1,disableRestoreFocus:_=!1,disableScrollLock:k=!1,hideBackdrop:E=!1,keepMounted:A=!1,onBackdropClick:P,open:M,slotProps:T,slots:z}=u,O=ve(u,fPe),N=R({},u,{closeAfterTransition:v,disableAutoFocus:b,disableEnforceFocus:S,disableEscapeKeyDown:$,disablePortal:j,disableRestoreFocus:_,disableScrollLock:k,hideBackdrop:E,keepMounted:A}),{getRootProps:F,getBackdropProps:I,getTransitionProps:B,portalRef:U,isTopModal:te,exited:Z,hasTransition:be}=Fke(R({},N,{rootRef:n})),ne=R({},N,{exited:Z}),le=pPe(ne),oe={};if(h.props.tabIndex===void 0&&(oe.tabIndex="-1"),be){const{onEnter:De,onExited:Ee}=B();oe.onEnter=De,oe.onExited=Ee}const Se=(r=(a=z==null?void 0:z.root)!=null?a:w.Root)!=null?r:mPe,xe=(i=(s=z==null?void 0:z.backdrop)!=null?s:w.Backdrop)!=null?i:d,X=(c=T==null?void 0:T.root)!=null?c:x.root,Re=(l=T==null?void 0:T.backdrop)!=null?l:x.backdrop,me=yo({elementType:Se,externalSlotProps:X,externalForwardedProps:O,getSlotProps:F,additionalProps:{ref:n,as:C},ownerState:ne,className:ee(m,X==null?void 0:X.className,le==null?void 0:le.root,!ne.open&&ne.exited&&(le==null?void 0:le.hidden))}),re=yo({elementType:xe,externalSlotProps:Re,additionalProps:p,getSlotProps:o(De=>I(R({},De,{onClick:o(Ee=>{P&&P(Ee),De!=null&&De.onClick&&De.onClick(Ee)},"onClick")})),"getSlotProps"),className:ee(Re==null?void 0:Re.className,p==null?void 0:p.className,le==null?void 0:le.backdrop),ownerState:ne});return!A&&!M&&(!be||Z)?null:f.jsx(rH,{ref:U,container:y,disablePortal:j,children:f.jsxs(Se,R({},me,{children:[!E&&d?f.jsx(xe,R({},re)):null,f.jsx(Pke,{disableEnforceFocus:S,disableAutoFocus:b,disableRestoreFocus:_,isEnabled:te,open:M,children:g.cloneElement(h,oe)})]}))})},"Modal2"));function gPe(e){return Ke("MuiDialog",e)}o(gPe,"getDialogUtilityClass");const Q2=Qe("MuiDialog",["root","scrollPaper","scrollBody","container","paper","paperScrollPaper","paperScrollBody","paperWidthFalse","paperWidthXs","paperWidthSm","paperWidthMd","paperWidthLg","paperWidthXl","paperFullWidth","paperFullScreen"]),_H=g.createContext({}),vPe=["aria-describedby","aria-labelledby","BackdropComponent","BackdropProps","children","className","disableEscapeKeyDown","fullScreen","fullWidth","maxWidth","onBackdropClick","onClick","onClose","open","PaperComponent","PaperProps","scroll","TransitionComponent","transitionDuration","TransitionProps"],yPe=V(wH,{name:"MuiDialog",slot:"Backdrop",overrides:o((e,t)=>t.backdrop,"overrides")})({zIndex:-1}),bPe=o(e=>{const{classes:t,scroll:n,maxWidth:r,fullWidth:a,fullScreen:i}=e,s={root:["root"],container:["container",`scroll${se(n)}`],paper:["paper",`paperScroll${se(n)}`,`paperWidth${se(String(r))}`,a&&"paperFullWidth",i&&"paperFullScreen"]};return Je(s,gPe,t)},"useUtilityClasses$Q"),xPe=V(AR,{name:"MuiDialog",slot:"Root",overridesResolver:o((e,t)=>t.root,"overridesResolver")})({"@media print":{position:"absolute !important"}}),wPe=V("div",{name:"MuiDialog",slot:"Container",overridesResolver:o((e,t)=>{const{ownerState:n}=e;return[t.container,t[`scroll${se(n.scroll)}`]]},"overridesResolver")})(({ownerState:e})=>R({height:"100%","@media print":{height:"auto"},outline:0},e.scroll==="paper"&&{display:"flex",justifyContent:"center",alignItems:"center"},e.scroll==="body"&&{overflowY:"auto",overflowX:"hidden",textAlign:"center","&::after":{content:'""',display:"inline-block",verticalAlign:"middle",height:"100%",width:"0"}})),CPe=V(Va,{name:"MuiDialog",slot:"Paper",overridesResolver:o((e,t)=>{const{ownerState:n}=e;return[t.paper,t[`scrollPaper${se(n.scroll)}`],t[`paperWidth${se(String(n.maxWidth))}`],n.fullWidth&&t.paperFullWidth,n.fullScreen&&t.paperFullScreen]},"overridesResolver")})(({theme:e,ownerState:t})=>R({margin:32,position:"relative",overflowY:"auto","@media print":{overflowY:"visible",boxShadow:"none"}},t.scroll==="paper"&&{display:"flex",flexDirection:"column",maxHeight:"calc(100% - 64px)"},t.scroll==="body"&&{display:"inline-block",verticalAlign:"middle",textAlign:"left"},!t.maxWidth&&{maxWidth:"calc(100% - 64px)"},t.maxWidth==="xs"&&{maxWidth:e.breakpoints.unit==="px"?Math.max(e.breakpoints.values.xs,444):`max(${e.breakpoints.values.xs}${e.breakpoints.unit}, 444px)`,[`&.${Q2.paperScrollBody}`]:{[e.breakpoints.down(Math.max(e.breakpoints.values.xs,444)+32*2)]:{maxWidth:"calc(100% - 64px)"}}},t.maxWidth&&t.maxWidth!=="xs"&&{maxWidth:`${e.breakpoints.values[t.maxWidth]}${e.breakpoints.unit}`,[`&.${Q2.paperScrollBody}`]:{[e.breakpoints.down(e.breakpoints.values[t.maxWidth]+32*2)]:{maxWidth:"calc(100% - 64px)"}}},t.fullWidth&&{width:"calc(100% - 64px)"},t.fullScreen&&{margin:0,width:"100%",maxWidth:"100%",height:"100%",maxHeight:"none",borderRadius:0,[`&.${Q2.paperScrollBody}`]:{margin:0,maxWidth:"100%"}})),Eg=g.forwardRef(o(function(t,n){const r=Ze({props:t,name:"MuiDialog"}),a=Ko(),i={enter:a.transitions.duration.enteringScreen,exit:a.transitions.duration.leavingScreen},{"aria-describedby":s,"aria-labelledby":c,BackdropComponent:l,BackdropProps:u,children:d,className:p,disableEscapeKeyDown:m=!1,fullScreen:v=!1,fullWidth:h=!1,maxWidth:y="sm",onBackdropClick:C,onClick:w,onClose:x,open:b,PaperComponent:S=Va,PaperProps:$={},scroll:j="paper",TransitionComponent:_=xH,transitionDuration:k=i,TransitionProps:E}=r,A=ve(r,vPe),P=R({},r,{disableEscapeKeyDown:m,fullScreen:v,fullWidth:h,maxWidth:y,scroll:j}),M=bPe(P),T=g.useRef(),z=o(I=>{T.current=I.target===I.currentTarget},"handleMouseDown"),O=o(I=>{w&&w(I),T.current&&(T.current=null,C&&C(I),x&&x(I,"backdropClick"))},"handleBackdropClick"),N=yc(c),F=g.useMemo(()=>({titleId:N}),[N]);return f.jsx(xPe,R({className:ee(M.root,p),closeAfterTransition:!0,components:{Backdrop:yPe},componentsProps:{backdrop:R({transitionDuration:k,as:l},u)},disableEscapeKeyDown:m,onClose:x,open:b,ref:n,onClick:O,ownerState:P},A,{children:f.jsx(_,R({appear:!0,in:b,timeout:k,role:"presentation"},E,{children:f.jsx(wPe,{className:ee(M.container),onMouseDown:z,ownerState:P,children:f.jsx(CPe,R({as:S,elevation:24,role:"dialog","aria-describedby":s,"aria-labelledby":N},$,{className:ee(M.paper,$.className),ownerState:P,children:f.jsx(_H.Provider,{value:F,children:d})}))})}))}))},"Dialog2"));function SPe(e){return Ke("MuiDialogActions",e)}o(SPe,"getDialogActionsUtilityClass");Qe("MuiDialogActions",["root","spacing"]);const jPe=["className","disableSpacing"],$Pe=o(e=>{const{classes:t,disableSpacing:n}=e;return Je({root:["root",!n&&"spacing"]},SPe,t)},"useUtilityClasses$P"),_Pe=V("div",{name:"MuiDialogActions",slot:"Root",overridesResolver:o((e,t)=>{const{ownerState:n}=e;return[t.root,!n.disableSpacing&&t.spacing]},"overridesResolver")})(({ownerState:e})=>R({display:"flex",alignItems:"center",padding:8,justifyContent:"flex-end",flex:"0 0 auto"},!e.disableSpacing&&{"& > :not(style) ~ :not(style)":{marginLeft:8}})),Rg=g.forwardRef(o(function(t,n){const r=Ze({props:t,name:"MuiDialogActions"}),{className:a,disableSpacing:i=!1}=r,s=ve(r,jPe),c=R({},r,{disableSpacing:i}),l=$Pe(c);return f.jsx(_Pe,R({className:ee(l.root,a),ownerState:c,ref:n},s))},"DialogActions2"));function kPe(e){return Ke("MuiDialogContent",e)}o(kPe,"getDialogContentUtilityClass");Qe("MuiDialogContent",["root","dividers"]);function EPe(e){return Ke("MuiDialogTitle",e)}o(EPe,"getDialogTitleUtilityClass");const RPe=Qe("MuiDialogTitle",["root"]),APe=["className","dividers"],PPe=o(e=>{const{classes:t,dividers:n}=e;return Je({root:["root",n&&"dividers"]},kPe,t)},"useUtilityClasses$O"),MPe=V("div",{name:"MuiDialogContent",slot:"Root",overridesResolver:o((e,t)=>{const{ownerState:n}=e;return[t.root,n.dividers&&t.dividers]},"overridesResolver")})(({theme:e,ownerState:t})=>R({flex:"1 1 auto",WebkitOverflowScrolling:"touch",overflowY:"auto",padding:"20px 24px"},t.dividers?{padding:"16px 24px",borderTop:`1px solid ${(e.vars||e).palette.divider}`,borderBottom:`1px solid ${(e.vars||e).palette.divider}`}:{[`.${RPe.root} + &`]:{paddingTop:0}})),Ag=g.forwardRef(o(function(t,n){const r=Ze({props:t,name:"MuiDialogContent"}),{className:a,dividers:i=!1}=r,s=ve(r,APe),c=R({},r,{dividers:i}),l=PPe(c);return f.jsx(MPe,R({className:ee(l.root,a),ownerState:c,ref:n},s))},"DialogContent2"));function TPe(e){return Ke("MuiDialogContentText",e)}o(TPe,"getDialogContentTextUtilityClass");Qe("MuiDialogContentText",["root"]);const OPe=["children","className"],zPe=o(e=>{const{classes:t}=e,r=Je({root:["root"]},TPe,t);return R({},t,r)},"useUtilityClasses$N"),IPe=V(et,{shouldForwardProp:o(e=>xr(e)||e==="classes","shouldForwardProp"),name:"MuiDialogContentText",slot:"Root",overridesResolver:o((e,t)=>t.root,"overridesResolver")})({}),kH=g.forwardRef(o(function(t,n){const r=Ze({props:t,name:"MuiDialogContentText"}),{className:a}=r,i=ve(r,OPe),s=zPe(i);return f.jsx(IPe,R({component:"p",variant:"body1",color:"text.secondary",ref:n,ownerState:i,className:ee(s.root,a)},r,{classes:s}))},"DialogContentText2")),LPe=["className","id"],DPe=o(e=>{const{classes:t}=e;return Je({root:["root"]},EPe,t)},"useUtilityClasses$M"),NPe=V(et,{name:"MuiDialogTitle",slot:"Root",overridesResolver:o((e,t)=>t.root,"overridesResolver")})({padding:"16px 24px",flex:"0 0 auto"}),Pg=g.forwardRef(o(function(t,n){const r=Ze({props:t,name:"MuiDialogTitle"}),{className:a,id:i}=r,s=ve(r,LPe),c=r,l=DPe(c),{titleId:u=i}=g.useContext(_H);return f.jsx(NPe,R({component:"h2",className:ee(l.root,a),ownerState:c,ref:n,variant:"h6",id:i??u},s))},"DialogTitle2"));function FPe(e){return Ke("MuiDivider",e)}o(FPe,"getDividerUtilityClass");const u5=Qe("MuiDivider",["root","absolute","fullWidth","inset","middle","flexItem","light","vertical","withChildren","withChildrenVertical","textAlignRight","textAlignLeft","wrapper","wrapperVertical"]),BPe=["absolute","children","className","component","flexItem","light","orientation","role","textAlign","variant"],WPe=o(e=>{const{absolute:t,children:n,classes:r,flexItem:a,light:i,orientation:s,textAlign:c,variant:l}=e;return Je({root:["root",t&&"absolute",l,i&&"light",s==="vertical"&&"vertical",a&&"flexItem",n&&"withChildren",n&&s==="vertical"&&"withChildrenVertical",c==="right"&&s!=="vertical"&&"textAlignRight",c==="left"&&s!=="vertical"&&"textAlignLeft"],wrapper:["wrapper",s==="vertical"&&"wrapperVertical"]},FPe,r)},"useUtilityClasses$L"),UPe=V("div",{name:"MuiDivider",slot:"Root",overridesResolver:o((e,t)=>{const{ownerState:n}=e;return[t.root,n.absolute&&t.absolute,t[n.variant],n.light&&t.light,n.orientation==="vertical"&&t.vertical,n.flexItem&&t.flexItem,n.children&&t.withChildren,n.children&&n.orientation==="vertical"&&t.withChildrenVertical,n.textAlign==="right"&&n.orientation!=="vertical"&&t.textAlignRight,n.textAlign==="left"&&n.orientation!=="vertical"&&t.textAlignLeft]},"overridesResolver")})(({theme:e,ownerState:t})=>R({margin:0,flexShrink:0,borderWidth:0,borderStyle:"solid",borderColor:(e.vars||e).palette.divider,borderBottomWidth:"thin"},t.absolute&&{position:"absolute",bottom:0,left:0,width:"100%"},t.light&&{borderColor:e.vars?`rgba(${e.vars.palette.dividerChannel} / 0.08)`:xt(e.palette.divider,.08)},t.variant==="inset"&&{marginLeft:72},t.variant==="middle"&&t.orientation==="horizontal"&&{marginLeft:e.spacing(2),marginRight:e.spacing(2)},t.variant==="middle"&&t.orientation==="vertical"&&{marginTop:e.spacing(1),marginBottom:e.spacing(1)},t.orientation==="vertical"&&{height:"100%",borderBottomWidth:0,borderRightWidth:"thin"},t.flexItem&&{alignSelf:"stretch",height:"auto"}),({ownerState:e})=>R({},e.children&&{display:"flex",whiteSpace:"nowrap",textAlign:"center",border:0,"&::before, &::after":{content:'""',alignSelf:"center"}}),({theme:e,ownerState:t})=>R({},t.children&&t.orientation!=="vertical"&&{"&::before, &::after":{width:"100%",borderTop:`thin solid ${(e.vars||e).palette.divider}`}}),({theme:e,ownerState:t})=>R({},t.children&&t.orientation==="vertical"&&{flexDirection:"column","&::before, &::after":{height:"100%",borderLeft:`thin solid ${(e.vars||e).palette.divider}`}}),({ownerState:e})=>R({},e.textAlign==="right"&&e.orientation!=="vertical"&&{"&::before":{width:"90%"},"&::after":{width:"10%"}},e.textAlign==="left"&&e.orientation!=="vertical"&&{"&::before":{width:"10%"},"&::after":{width:"90%"}})),HPe=V("span",{name:"MuiDivider",slot:"Wrapper",overridesResolver:o((e,t)=>{const{ownerState:n}=e;return[t.wrapper,n.orientation==="vertical"&&t.wrapperVertical]},"overridesResolver")})(({theme:e,ownerState:t})=>R({display:"inline-block",paddingLeft:`calc(${e.spacing(1)} * 1.2)`,paddingRight:`calc(${e.spacing(1)} * 1.2)`},t.orientation==="vertical"&&{paddingTop:`calc(${e.spacing(1)} * 1.2)`,paddingBottom:`calc(${e.spacing(1)} * 1.2)`})),pa=g.forwardRef(o(function(t,n){const r=Ze({props:t,name:"MuiDivider"}),{absolute:a=!1,children:i,className:s,component:c=i?"div":"hr",flexItem:l=!1,light:u=!1,orientation:d="horizontal",role:p=c!=="hr"?"separator":void 0,textAlign:m="center",variant:v="fullWidth"}=r,h=ve(r,BPe),y=R({},r,{absolute:a,component:c,flexItem:l,light:u,orientation:d,role:p,textAlign:m,variant:v}),C=WPe(y);return f.jsx(UPe,R({as:c,className:ee(C.root,s),role:p,ref:n,ownerState:y},h,{children:i?f.jsx(HPe,{className:C.wrapper,ownerState:y,children:i}):null}))},"Divider2"));pa.muiSkipListHighlight=!0;const qPe=["addEndListener","appear","children","container","direction","easing","in","onEnter","onEntered","onEntering","onExit","onExited","onExiting","style","timeout","TransitionComponent"];function VPe(e,t,n){const r=t.getBoundingClientRect(),a=n&&n.getBoundingClientRect(),i=go(t);let s;if(t.fakeTransform)s=t.fakeTransform;else{const u=i.getComputedStyle(t);s=u.getPropertyValue("-webkit-transform")||u.getPropertyValue("transform")}let c=0,l=0;if(s&&s!=="none"&&typeof s=="string"){const u=s.split("(")[1].split(")")[0].split(",");c=parseInt(u[4],10),l=parseInt(u[5],10)}return e==="left"?a?`translateX(${a.right+c-r.left}px)`:`translateX(${i.innerWidth+c-r.left}px)`:e==="right"?a?`translateX(-${r.right-a.left-c}px)`:`translateX(-${r.left+r.width-c}px)`:e==="up"?a?`translateY(${a.bottom+l-r.top}px)`:`translateY(${i.innerHeight+l-r.top}px)`:a?`translateY(-${r.top-a.top+r.height-l}px)`:`translateY(-${r.top+r.height-l}px)`}o(VPe,"getTranslateValue");function GPe(e){return typeof e=="function"?e():e}o(GPe,"resolveContainer");function Rv(e,t,n){const r=GPe(n),a=VPe(e,t,r);a&&(t.style.webkitTransform=a,t.style.transform=a)}o(Rv,"setTranslateValue");const EH=g.forwardRef(o(function(t,n){const r=Ko(),a={enter:r.transitions.easing.easeOut,exit:r.transitions.easing.sharp},i={enter:r.transitions.duration.enteringScreen,exit:r.transitions.duration.leavingScreen},{addEndListener:s,appear:c=!0,children:l,container:u,direction:d="down",easing:p=a,in:m,onEnter:v,onEntered:h,onEntering:y,onExit:C,onExited:w,onExiting:x,style:b,timeout:S=i,TransitionComponent:$=Jo}=t,j=ve(t,qPe),_=g.useRef(null),k=ln(l.ref,_,n),E=o(I=>B=>{I&&(B===void 0?I(_.current):I(_.current,B))},"normalizedTransitionCallback"),A=E((I,B)=>{Rv(d,I,u),wR(I),v&&v(I,B)}),P=E((I,B)=>{const U=mf({timeout:S,style:b,easing:p},{mode:"enter"});I.style.webkitTransition=r.transitions.create("-webkit-transform",R({},U)),I.style.transition=r.transitions.create("transform",R({},U)),I.style.webkitTransform="none",I.style.transform="none",y&&y(I,B)}),M=E(h),T=E(x),z=E(I=>{const B=mf({timeout:S,style:b,easing:p},{mode:"exit"});I.style.webkitTransition=r.transitions.create("-webkit-transform",B),I.style.transition=r.transitions.create("transform",B),Rv(d,I,u),C&&C(I)}),O=E(I=>{I.style.webkitTransition="",I.style.transition="",w&&w(I)}),N=o(I=>{s&&s(_.current,I)},"handleAddEndListener"),F=g.useCallback(()=>{_.current&&Rv(d,_.current,u)},[d,u]);return g.useEffect(()=>{if(m||d==="down"||d==="right")return;const I=dp(()=>{_.current&&Rv(d,_.current,u)}),B=go(_.current);return B.addEventListener("resize",I),()=>{I.clear(),B.removeEventListener("resize",I)}},[d,m,u]),g.useEffect(()=>{m||F()},[m,F]),f.jsx($,R({nodeRef:_,onEnter:A,onEntered:M,onEntering:P,onExit:z,onExited:O,onExiting:T,addEndListener:N,appear:c,in:m,timeout:S},j,{children:o((I,B)=>g.cloneElement(l,R({ref:k,style:R({visibility:I==="exited"&&!m?"hidden":void 0},b,l.props.style)},B)),"children")}))},"Slide2"));function KPe(e){return Ke("MuiDrawer",e)}o(KPe,"getDrawerUtilityClass");Qe("MuiDrawer",["root","docked","paper","paperAnchorLeft","paperAnchorRight","paperAnchorTop","paperAnchorBottom","paperAnchorDockedLeft","paperAnchorDockedRight","paperAnchorDockedTop","paperAnchorDockedBottom","modal"]);const JPe=["BackdropProps"],YPe=["anchor","BackdropProps","children","className","elevation","hideBackdrop","ModalProps","onClose","open","PaperProps","SlideProps","TransitionComponent","transitionDuration","variant"],RH=o((e,t)=>{const{ownerState:n}=e;return[t.root,(n.variant==="permanent"||n.variant==="persistent")&&t.docked,t.modal]},"overridesResolver$5"),QPe=o(e=>{const{classes:t,anchor:n,variant:r}=e,a={root:["root"],docked:[(r==="permanent"||r==="persistent")&&"docked"],modal:["modal"],paper:["paper",`paperAnchor${se(n)}`,r!=="temporary"&&`paperAnchorDocked${se(n)}`]};return Je(a,KPe,t)},"useUtilityClasses$K"),XPe=V(AR,{name:"MuiDrawer",slot:"Root",overridesResolver:RH})(({theme:e})=>({zIndex:(e.vars||e).zIndex.drawer})),d5=V("div",{shouldForwardProp:xr,name:"MuiDrawer",slot:"Docked",skipVariantsResolver:!1,overridesResolver:RH})({flex:"0 0 auto"}),ZPe=V(Va,{name:"MuiDrawer",slot:"Paper",overridesResolver:o((e,t)=>{const{ownerState:n}=e;return[t.paper,t[`paperAnchor${se(n.anchor)}`],n.variant!=="temporary"&&t[`paperAnchorDocked${se(n.anchor)}`]]},"overridesResolver")})(({theme:e,ownerState:t})=>R({overflowY:"auto",display:"flex",flexDirection:"column",height:"100%",flex:"1 0 auto",zIndex:(e.vars||e).zIndex.drawer,WebkitOverflowScrolling:"touch",position:"fixed",top:0,outline:0},t.anchor==="left"&&{left:0},t.anchor==="top"&&{top:0,left:0,right:0,height:"auto",maxHeight:"100%"},t.anchor==="right"&&{right:0},t.anchor==="bottom"&&{top:"auto",left:0,bottom:0,right:0,height:"auto",maxHeight:"100%"},t.anchor==="left"&&t.variant!=="temporary"&&{borderRight:`1px solid ${(e.vars||e).palette.divider}`},t.anchor==="top"&&t.variant!=="temporary"&&{borderBottom:`1px solid ${(e.vars||e).palette.divider}`},t.anchor==="right"&&t.variant!=="temporary"&&{borderLeft:`1px solid ${(e.vars||e).palette.divider}`},t.anchor==="bottom"&&t.variant!=="temporary"&&{borderTop:`1px solid ${(e.vars||e).palette.divider}`})),AH={left:"right",right:"left",top:"down",bottom:"up"};function e8e(e){return["left","right"].indexOf(e)!==-1}o(e8e,"isHorizontal");function t8e({direction:e},t){return e==="rtl"&&e8e(t)?AH[t]:t}o(t8e,"getAnchor");const n8e=g.forwardRef(o(function(t,n){const r=Ze({props:t,name:"MuiDrawer"}),a=Ko(),i=Mc(),s={enter:a.transitions.duration.enteringScreen,exit:a.transitions.duration.leavingScreen},{anchor:c="left",BackdropProps:l,children:u,className:d,elevation:p=16,hideBackdrop:m=!1,ModalProps:{BackdropProps:v}={},onClose:h,open:y=!1,PaperProps:C={},SlideProps:w,TransitionComponent:x=EH,transitionDuration:b=s,variant:S="temporary"}=r,$=ve(r.ModalProps,JPe),j=ve(r,YPe),_=g.useRef(!1);g.useEffect(()=>{_.current=!0},[]);const k=t8e({direction:i?"rtl":"ltr"},c),A=R({},r,{anchor:c,elevation:p,open:y,variant:S},j),P=QPe(A),M=f.jsx(ZPe,R({elevation:S==="temporary"?p:0,square:!0},C,{className:ee(P.paper,C.className),ownerState:A,children:u}));if(S==="permanent")return f.jsx(d5,R({className:ee(P.root,P.docked,d),ownerState:A,ref:n},j,{children:M}));const T=f.jsx(x,R({in:y,direction:AH[k],timeout:b,appear:_.current},w,{children:M}));return S==="persistent"?f.jsx(d5,R({className:ee(P.root,P.docked,d),ownerState:A,ref:n},j,{children:T})):f.jsx(XPe,R({BackdropProps:R({},l,v,{transitionDuration:b}),className:ee(P.root,P.modal,d),open:y,ownerState:A,onClose:h,hideBackdrop:m,ref:n},j,$,{children:T}))},"Drawer2"));function r8e(e){return Ke("MuiFab",e)}o(r8e,"getFabUtilityClass");const f5=Qe("MuiFab",["root","primary","secondary","extended","circular","focusVisible","disabled","colorInherit","sizeSmall","sizeMedium","sizeLarge","info","error","warning","success"]),a8e=["children","className","color","component","disabled","disableFocusRipple","focusVisibleClassName","size","variant"],o8e=o(e=>{const{color:t,variant:n,classes:r,size:a}=e,i={root:["root",n,`size${se(a)}`,t==="inherit"?"colorInherit":t]},s=Je(i,r8e,r);return R({},r,s)},"useUtilityClasses$J"),i8e=V(Fa,{name:"MuiFab",slot:"Root",shouldForwardProp:o(e=>xr(e)||e==="classes","shouldForwardProp"),overridesResolver:o((e,t)=>{const{ownerState:n}=e;return[t.root,t[n.variant],t[`size${se(n.size)}`],n.color==="inherit"&&t.colorInherit,t[se(n.size)],t[n.color]]},"overridesResolver")})(({theme:e,ownerState:t})=>{var n,r;return R({},e.typography.button,{minHeight:36,transition:e.transitions.create(["background-color","box-shadow","border-color"],{duration:e.transitions.duration.short}),borderRadius:"50%",padding:0,minWidth:0,width:56,height:56,zIndex:(e.vars||e).zIndex.fab,boxShadow:(e.vars||e).shadows[6],"&:active":{boxShadow:(e.vars||e).shadows[12]},color:e.vars?e.vars.palette.text.primary:(n=(r=e.palette).getContrastText)==null?void 0:n.call(r,e.palette.grey[300]),backgroundColor:(e.vars||e).palette.grey[300],"&:hover":{backgroundColor:(e.vars||e).palette.grey.A100,"@media (hover: none)":{backgroundColor:(e.vars||e).palette.grey[300]},textDecoration:"none"},[`&.${f5.focusVisible}`]:{boxShadow:(e.vars||e).shadows[6]}},t.size==="small"&&{width:40,height:40},t.size==="medium"&&{width:48,height:48},t.variant==="extended"&&{borderRadius:48/2,padding:"0 16px",width:"auto",minHeight:"auto",minWidth:48,height:48},t.variant==="extended"&&t.size==="small"&&{width:"auto",padding:"0 8px",borderRadius:34/2,minWidth:34,height:34},t.variant==="extended"&&t.size==="medium"&&{width:"auto",padding:"0 16px",borderRadius:40/2,minWidth:40,height:40},t.color==="inherit"&&{color:"inherit"})},({theme:e,ownerState:t})=>R({},t.color!=="inherit"&&t.color!=="default"&&(e.vars||e).palette[t.color]!=null&&{color:(e.vars||e).palette[t.color].contrastText,backgroundColor:(e.vars||e).palette[t.color].main,"&:hover":{backgroundColor:(e.vars||e).palette[t.color].dark,"@media (hover: none)":{backgroundColor:(e.vars||e).palette[t.color].main}}}),({theme:e})=>({[`&.${f5.disabled}`]:{color:(e.vars||e).palette.action.disabled,boxShadow:(e.vars||e).shadows[0],backgroundColor:(e.vars||e).palette.action.disabledBackground}})),s8e=g.forwardRef(o(function(t,n){const r=Ze({props:t,name:"MuiFab"}),{children:a,className:i,color:s="default",component:c="button",disabled:l=!1,disableFocusRipple:u=!1,focusVisibleClassName:d,size:p="large",variant:m="circular"}=r,v=ve(r,a8e),h=R({},r,{color:s,component:c,disabled:l,disableFocusRipple:u,size:p,variant:m}),y=o8e(h);return f.jsx(i8e,R({className:ee(y.root,i),component:c,disabled:l,focusRipple:!u,focusVisibleClassName:ee(y.focusVisible,d),ownerState:h,ref:n},v,{classes:y,children:a}))},"Fab2")),c8e=["disableUnderline","components","componentsProps","fullWidth","hiddenLabel","inputComponent","multiline","slotProps","slots","type"],l8e=o(e=>{const{classes:t,disableUnderline:n}=e,a=Je({root:["root",!n&&"underline"],input:["input"]},zRe,t);return R({},t,a)},"useUtilityClasses$I"),u8e=V(A1,{shouldForwardProp:o(e=>xr(e)||e==="classes","shouldForwardProp"),name:"MuiFilledInput",slot:"Root",overridesResolver:o((e,t)=>{const{ownerState:n}=e;return[...E1(e,t),!n.disableUnderline&&t.underline]},"overridesResolver")})(({theme:e,ownerState:t})=>{var n;const r=e.palette.mode==="light",a=r?"rgba(0, 0, 0, 0.42)":"rgba(255, 255, 255, 0.7)",i=r?"rgba(0, 0, 0, 0.06)":"rgba(255, 255, 255, 0.09)",s=r?"rgba(0, 0, 0, 0.09)":"rgba(255, 255, 255, 0.13)",c=r?"rgba(0, 0, 0, 0.12)":"rgba(255, 255, 255, 0.12)";return R({position:"relative",backgroundColor:e.vars?e.vars.palette.FilledInput.bg:i,borderTopLeftRadius:(e.vars||e).shape.borderRadius,borderTopRightRadius:(e.vars||e).shape.borderRadius,transition:e.transitions.create("background-color",{duration:e.transitions.duration.shorter,easing:e.transitions.easing.easeOut}),"&:hover":{backgroundColor:e.vars?e.vars.palette.FilledInput.hoverBg:s,"@media (hover: none)":{backgroundColor:e.vars?e.vars.palette.FilledInput.bg:i}},[`&.${Ra.focused}`]:{backgroundColor:e.vars?e.vars.palette.FilledInput.bg:i},[`&.${Ra.disabled}`]:{backgroundColor:e.vars?e.vars.palette.FilledInput.disabledBg:c}},!t.disableUnderline&&{"&::after":{borderBottom:`2px solid ${(n=(e.vars||e).palette[t.color||"primary"])==null?void 0:n.main}`,left:0,bottom:0,content:'""',position:"absolute",right:0,transform:"scaleX(0)",transition:e.transitions.create("transform",{duration:e.transitions.duration.shorter,easing:e.transitions.easing.easeOut}),pointerEvents:"none"},[`&.${Ra.focused}:after`]:{transform:"scaleX(1) translateX(0)"},[`&.${Ra.error}`]:{"&::before, &::after":{borderBottomColor:(e.vars||e).palette.error.main}},"&::before":{borderBottom:`1px solid ${e.vars?`rgba(${e.vars.palette.common.onBackgroundChannel} / ${e.vars.opacity.inputUnderline})`:a}`,left:0,bottom:0,content:'"\\00a0"',position:"absolute",right:0,transition:e.transitions.create("border-bottom-color",{duration:e.transitions.duration.shorter}),pointerEvents:"none"},[`&:hover:not(.${Ra.disabled}, .${Ra.error}):before`]:{borderBottom:`1px solid ${(e.vars||e).palette.text.primary}`},[`&.${Ra.disabled}:before`]:{borderBottomStyle:"dotted"}},t.startAdornment&&{paddingLeft:12},t.endAdornment&&{paddingRight:12},t.multiline&&R({padding:"25px 12px 8px"},t.size==="small"&&{paddingTop:21,paddingBottom:4},t.hiddenLabel&&{paddingTop:16,paddingBottom:17},t.hiddenLabel&&t.size==="small"&&{paddingTop:8,paddingBottom:9}))}),d8e=V(P1,{name:"MuiFilledInput",slot:"Input",overridesResolver:R1})(({theme:e,ownerState:t})=>R({paddingTop:25,paddingRight:12,paddingBottom:8,paddingLeft:12},!e.vars&&{"&:-webkit-autofill":{WebkitBoxShadow:e.palette.mode==="light"?null:"0 0 0 100px #266798 inset",WebkitTextFillColor:e.palette.mode==="light"?null:"#fff",caretColor:e.palette.mode==="light"?null:"#fff",borderTopLeftRadius:"inherit",borderTopRightRadius:"inherit"}},e.vars&&{"&:-webkit-autofill":{borderTopLeftRadius:"inherit",borderTopRightRadius:"inherit"},[e.getColorSchemeSelector("dark")]:{"&:-webkit-autofill":{WebkitBoxShadow:"0 0 0 100px #266798 inset",WebkitTextFillColor:"#fff",caretColor:"#fff"}}},t.size==="small"&&{paddingTop:21,paddingBottom:4},t.hiddenLabel&&{paddingTop:16,paddingBottom:17},t.startAdornment&&{paddingLeft:0},t.endAdornment&&{paddingRight:0},t.hiddenLabel&&t.size==="small"&&{paddingTop:8,paddingBottom:9},t.multiline&&{paddingTop:0,paddingBottom:0,paddingLeft:0,paddingRight:0})),O1=g.forwardRef(o(function(t,n){var r,a,i,s;const c=Ze({props:t,name:"MuiFilledInput"}),{components:l={},componentsProps:u,fullWidth:d=!1,inputComponent:p="input",multiline:m=!1,slotProps:v,slots:h={},type:y="text"}=c,C=ve(c,c8e),w=R({},c,{fullWidth:d,inputComponent:p,multiline:m,type:y}),x=l8e(c),b={root:{ownerState:w},input:{ownerState:w}},S=v??u?Er(b,v??u):b,$=(r=(a=h.root)!=null?a:l.Root)!=null?r:u8e,j=(i=(s=h.input)!=null?s:l.Input)!=null?i:d8e;return f.jsx(M1,R({slots:{root:$,input:j},componentsProps:S,fullWidth:d,inputComponent:p,multiline:m,ref:n,type:y},C,{classes:x}))},"FilledInput2"));O1.muiName="Input";function f8e(e){return Ke("MuiFormControl",e)}o(f8e,"getFormControlUtilityClasses");Qe("MuiFormControl",["root","marginNone","marginNormal","marginDense","fullWidth","disabled"]);const p8e=["children","className","color","component","disabled","error","focused","fullWidth","hiddenLabel","margin","required","size","variant"],m8e=o(e=>{const{classes:t,margin:n,fullWidth:r}=e,a={root:["root",n!=="none"&&`margin${se(n)}`,r&&"fullWidth"]};return Je(a,f8e,t)},"useUtilityClasses$H"),h8e=V("div",{name:"MuiFormControl",slot:"Root",overridesResolver:o(({ownerState:e},t)=>R({},t.root,t[`margin${se(e.margin)}`],e.fullWidth&&t.fullWidth),"overridesResolver")})(({ownerState:e})=>R({display:"inline-flex",flexDirection:"column",position:"relative",minWidth:0,padding:0,margin:0,border:0,verticalAlign:"top"},e.margin==="normal"&&{marginTop:16,marginBottom:8},e.margin==="dense"&&{marginTop:8,marginBottom:4},e.fullWidth&&{width:"100%"})),g8e=g.forwardRef(o(function(t,n){const r=Ze({props:t,name:"MuiFormControl"}),{children:a,className:i,color:s="primary",component:c="div",disabled:l=!1,error:u=!1,focused:d,fullWidth:p=!1,hiddenLabel:m=!1,margin:v="none",required:h=!1,size:y="medium",variant:C="outlined"}=r,w=ve(r,p8e),x=R({},r,{color:s,component:c,disabled:l,error:u,fullWidth:p,hiddenLabel:m,margin:v,required:h,size:y,variant:C}),b=m8e(x),[S,$]=g.useState(()=>{let T=!1;return a&&g.Children.forEach(a,z=>{if(!Pm(z,["Input","Select"]))return;const O=Pm(z,["Select"])?z.props.input:z;O&&kRe(O.props)&&(T=!0)}),T}),[j,_]=g.useState(()=>{let T=!1;return a&&g.Children.forEach(a,z=>{Pm(z,["Input","Select"])&&(Hb(z.props,!0)||Hb(z.props.inputProps,!0))&&(T=!0)}),T}),[k,E]=g.useState(!1);l&&k&&E(!1);const A=d!==void 0&&!l?d:k;let P;const M=g.useMemo(()=>({adornedStart:S,setAdornedStart:$,color:s,disabled:l,error:u,filled:j,focused:A,fullWidth:p,hiddenLabel:m,size:y,onBlur:o(()=>{E(!1)},"onBlur"),onEmpty:o(()=>{_(!1)},"onEmpty"),onFilled:o(()=>{_(!0)},"onFilled"),onFocus:o(()=>{E(!0)},"onFocus"),registerEffect:P,required:h,variant:C}),[S,s,l,u,j,A,p,m,P,h,y,C]);return f.jsx(k1.Provider,{value:M,children:f.jsx(h8e,R({as:c,ownerState:x,className:ee(b.root,i),ref:n},w,{children:a}))})},"FormControl2")),Oa=r3e({createStyledComponent:V("div",{name:"MuiStack",slot:"Root",overridesResolver:o((e,t)=>t.root,"overridesResolver")}),useThemeProps:o(e=>Ze({props:e,name:"MuiStack"}),"useThemeProps")});function v8e(e){return Ke("MuiFormControlLabel",e)}o(v8e,"getFormControlLabelUtilityClasses");const hm=Qe("MuiFormControlLabel",["root","labelPlacementStart","labelPlacementTop","labelPlacementBottom","disabled","label","error","required","asterisk"]),y8e=["checked","className","componentsProps","control","disabled","disableTypography","inputRef","label","labelPlacement","name","onChange","required","slotProps","value"],b8e=o(e=>{const{classes:t,disabled:n,labelPlacement:r,error:a,required:i}=e,s={root:["root",n&&"disabled",`labelPlacement${se(r)}`,a&&"error",i&&"required"],label:["label",n&&"disabled"],asterisk:["asterisk",a&&"error"]};return Je(s,v8e,t)},"useUtilityClasses$G"),x8e=V("label",{name:"MuiFormControlLabel",slot:"Root",overridesResolver:o((e,t)=>{const{ownerState:n}=e;return[{[`& .${hm.label}`]:t.label},t.root,t[`labelPlacement${se(n.labelPlacement)}`]]},"overridesResolver")})(({theme:e,ownerState:t})=>R({display:"inline-flex",alignItems:"center",cursor:"pointer",verticalAlign:"middle",WebkitTapHighlightColor:"transparent",marginLeft:-11,marginRight:16,[`&.${hm.disabled}`]:{cursor:"default"}},t.labelPlacement==="start"&&{flexDirection:"row-reverse",marginLeft:16,marginRight:-11},t.labelPlacement==="top"&&{flexDirection:"column-reverse",marginLeft:16},t.labelPlacement==="bottom"&&{flexDirection:"column",marginLeft:16},{[`& .${hm.label}`]:{[`&.${hm.disabled}`]:{color:(e.vars||e).palette.text.disabled}}})),w8e=V("span",{name:"MuiFormControlLabel",slot:"Asterisk",overridesResolver:o((e,t)=>t.asterisk,"overridesResolver")})(({theme:e})=>({[`&.${hm.error}`]:{color:(e.vars||e).palette.error.main}})),C8e=g.forwardRef(o(function(t,n){var r,a;const i=Ze({props:t,name:"MuiFormControlLabel"}),{className:s,componentsProps:c={},control:l,disabled:u,disableTypography:d,label:p,labelPlacement:m="end",required:v,slotProps:h={}}=i,y=ve(i,y8e),C=Wi(),w=(r=u??l.props.disabled)!=null?r:C==null?void 0:C.disabled,x=v??l.props.required,b={disabled:w,required:x};["checked","name","onChange","value","inputRef"].forEach(E=>{typeof l.props[E]>"u"&&typeof i[E]<"u"&&(b[E]=i[E])});const S=Oc({props:i,muiFormControl:C,states:["error"]}),$=R({},i,{disabled:w,labelPlacement:m,required:x,error:S.error}),j=b8e($),_=(a=h.typography)!=null?a:c.typography;let k=p;return k!=null&&k.type!==et&&!d&&(k=f.jsx(et,R({component:"span"},_,{className:ee(j.label,_==null?void 0:_.className),children:k}))),f.jsxs(x8e,R({className:ee(j.root,s),ownerState:$,ref:n},y,{children:[g.cloneElement(l,b),x?f.jsxs(Oa,{display:"block",children:[k,f.jsxs(w8e,{ownerState:$,"aria-hidden":!0,className:j.asterisk,children:[" ","*"]})]}):k]}))},"FormControlLabel2"));function S8e(e){return Ke("MuiFormGroup",e)}o(S8e,"getFormGroupUtilityClass");Qe("MuiFormGroup",["root","row","error"]);const j8e=["className","row"],$8e=o(e=>{const{classes:t,row:n,error:r}=e;return Je({root:["root",n&&"row",r&&"error"]},S8e,t)},"useUtilityClasses$F"),_8e=V("div",{name:"MuiFormGroup",slot:"Root",overridesResolver:o((e,t)=>{const{ownerState:n}=e;return[t.root,n.row&&t.row]},"overridesResolver")})(({ownerState:e})=>R({display:"flex",flexDirection:"column",flexWrap:"wrap"},e.row&&{flexDirection:"row"})),k8e=g.forwardRef(o(function(t,n){const r=Ze({props:t,name:"MuiFormGroup"}),{className:a,row:i=!1}=r,s=ve(r,j8e),c=Wi(),l=Oc({props:r,muiFormControl:c,states:["error"]}),u=R({},r,{row:i,error:l.error}),d=$8e(u);return f.jsx(_8e,R({className:ee(d.root,a),ownerState:u,ref:n},s))},"FormGroup2"));function E8e(e){return Ke("MuiFormHelperText",e)}o(E8e,"getFormHelperTextUtilityClasses");const p5=Qe("MuiFormHelperText",["root","error","disabled","sizeSmall","sizeMedium","contained","focused","filled","required"]);var m5;const R8e=["children","className","component","disabled","error","filled","focused","margin","required","variant"],A8e=o(e=>{const{classes:t,contained:n,size:r,disabled:a,error:i,filled:s,focused:c,required:l}=e,u={root:["root",a&&"disabled",i&&"error",r&&`size${se(r)}`,n&&"contained",c&&"focused",s&&"filled",l&&"required"]};return Je(u,E8e,t)},"useUtilityClasses$E"),P8e=V("p",{name:"MuiFormHelperText",slot:"Root",overridesResolver:o((e,t)=>{const{ownerState:n}=e;return[t.root,n.size&&t[`size${se(n.size)}`],n.contained&&t.contained,n.filled&&t.filled]},"overridesResolver")})(({theme:e,ownerState:t})=>R({color:(e.vars||e).palette.text.secondary},e.typography.caption,{textAlign:"left",marginTop:3,marginRight:0,marginBottom:0,marginLeft:0,[`&.${p5.disabled}`]:{color:(e.vars||e).palette.text.disabled},[`&.${p5.error}`]:{color:(e.vars||e).palette.error.main}},t.size==="small"&&{marginTop:4},t.contained&&{marginLeft:14,marginRight:14})),PH=g.forwardRef(o(function(t,n){const r=Ze({props:t,name:"MuiFormHelperText"}),{children:a,className:i,component:s="p"}=r,c=ve(r,R8e),l=Wi(),u=Oc({props:r,muiFormControl:l,states:["variant","size","disabled","error","filled","focused","required"]}),d=R({},r,{component:s,contained:u.variant==="filled"||u.variant==="outlined",variant:u.variant,size:u.size,disabled:u.disabled,error:u.error,filled:u.filled,focused:u.focused,required:u.required}),p=A8e(d);return f.jsx(P8e,R({as:s,ownerState:d,className:ee(p.root,i),ref:n},c,{children:a===" "?m5||(m5=f.jsx("span",{className:"notranslate",children:"​"})):a}))},"FormHelperText2"));function M8e(e){return Ke("MuiFormLabel",e)}o(M8e,"getFormLabelUtilityClasses");const zm=Qe("MuiFormLabel",["root","colorSecondary","focused","disabled","error","filled","required","asterisk"]),T8e=["children","className","color","component","disabled","error","filled","focused","required"],O8e=o(e=>{const{classes:t,color:n,focused:r,disabled:a,error:i,filled:s,required:c}=e,l={root:["root",`color${se(n)}`,a&&"disabled",i&&"error",s&&"filled",r&&"focused",c&&"required"],asterisk:["asterisk",i&&"error"]};return Je(l,M8e,t)},"useUtilityClasses$D"),z8e=V("label",{name:"MuiFormLabel",slot:"Root",overridesResolver:o(({ownerState:e},t)=>R({},t.root,e.color==="secondary"&&t.colorSecondary,e.filled&&t.filled),"overridesResolver")})(({theme:e,ownerState:t})=>R({color:(e.vars||e).palette.text.secondary},e.typography.body1,{lineHeight:"1.4375em",padding:0,position:"relative",[`&.${zm.focused}`]:{color:(e.vars||e).palette[t.color].main},[`&.${zm.disabled}`]:{color:(e.vars||e).palette.text.disabled},[`&.${zm.error}`]:{color:(e.vars||e).palette.error.main}})),I8e=V("span",{name:"MuiFormLabel",slot:"Asterisk",overridesResolver:o((e,t)=>t.asterisk,"overridesResolver")})(({theme:e})=>({[`&.${zm.error}`]:{color:(e.vars||e).palette.error.main}})),L8e=g.forwardRef(o(function(t,n){const r=Ze({props:t,name:"MuiFormLabel"}),{children:a,className:i,component:s="label"}=r,c=ve(r,T8e),l=Wi(),u=Oc({props:r,muiFormControl:l,states:["color","required","focused","disabled","error","filled"]}),d=R({},r,{color:u.color||"primary",component:s,disabled:u.disabled,error:u.error,filled:u.filled,focused:u.focused,required:u.required}),p=O8e(d);return f.jsxs(z8e,R({as:s,ownerState:d,className:ee(p.root,i),ref:n},c,{children:[a,u.required&&f.jsxs(I8e,{ownerState:d,"aria-hidden":!0,className:p.asterisk,children:[" ","*"]})]}))},"FormLabel2")),h5=g.createContext();function D8e(e){return Ke("MuiGrid",e)}o(D8e,"getGridUtilityClass");const N8e=[0,1,2,3,4,5,6,7,8,9,10],F8e=["column-reverse","column","row-reverse","row"],B8e=["nowrap","wrap-reverse","wrap"],Kp=["auto",!0,1,2,3,4,5,6,7,8,9,10,11,12],Eh=Qe("MuiGrid",["root","container","item","zeroMinWidth",...N8e.map(e=>`spacing-xs-${e}`),...F8e.map(e=>`direction-xs-${e}`),...B8e.map(e=>`wrap-xs-${e}`),...Kp.map(e=>`grid-xs-${e}`),...Kp.map(e=>`grid-sm-${e}`),...Kp.map(e=>`grid-md-${e}`),...Kp.map(e=>`grid-lg-${e}`),...Kp.map(e=>`grid-xl-${e}`)]),W8e=["className","columns","columnSpacing","component","container","direction","item","rowSpacing","spacing","wrap","zeroMinWidth"];function cd(e){const t=parseFloat(e);return`${t}${String(e).replace(String(t),"")||"px"}`}o(cd,"getOffset");function U8e({theme:e,ownerState:t}){let n;return e.breakpoints.keys.reduce((r,a)=>{let i={};if(t[a]&&(n=t[a]),!n)return r;if(n===!0)i={flexBasis:0,flexGrow:1,maxWidth:"100%"};else if(n==="auto")i={flexBasis:"auto",flexGrow:0,flexShrink:0,maxWidth:"none",width:"auto"};else{const s=gl({values:t.columns,breakpoints:e.breakpoints.values}),c=typeof s=="object"?s[a]:s;if(c==null)return r;const l=`${Math.round(n/c*1e8)/1e6}%`;let u={};if(t.container&&t.item&&t.columnSpacing!==0){const d=e.spacing(t.columnSpacing);if(d!=="0px"){const p=`calc(${l} + ${cd(d)})`;u={flexBasis:p,maxWidth:p}}}i=R({flexBasis:l,flexGrow:0,maxWidth:l},u)}return e.breakpoints.values[a]===0?Object.assign(r,i):r[e.breakpoints.up(a)]=i,r},{})}o(U8e,"generateGrid");function H8e({theme:e,ownerState:t}){const n=gl({values:t.direction,breakpoints:e.breakpoints.values});return Ca({theme:e},n,r=>{const a={flexDirection:r};return r.indexOf("column")===0&&(a[`& > .${Eh.item}`]={maxWidth:"none"}),a})}o(H8e,"generateDirection");function MH({breakpoints:e,values:t}){let n="";Object.keys(t).forEach(a=>{n===""&&t[a]!==0&&(n=a)});const r=Object.keys(e).sort((a,i)=>e[a]-e[i]);return r.slice(0,r.indexOf(n))}o(MH,"extractZeroValueBreakpointKeys");function q8e({theme:e,ownerState:t}){const{container:n,rowSpacing:r}=t;let a={};if(n&&r!==0){const i=gl({values:r,breakpoints:e.breakpoints.values});let s;typeof i=="object"&&(s=MH({breakpoints:e.breakpoints.values,values:i})),a=Ca({theme:e},i,(c,l)=>{var u;const d=e.spacing(c);return d!=="0px"?{marginTop:`-${cd(d)}`,[`& > .${Eh.item}`]:{paddingTop:cd(d)}}:(u=s)!=null&&u.includes(l)?{}:{marginTop:0,[`& > .${Eh.item}`]:{paddingTop:0}}})}return a}o(q8e,"generateRowGap");function V8e({theme:e,ownerState:t}){const{container:n,columnSpacing:r}=t;let a={};if(n&&r!==0){const i=gl({values:r,breakpoints:e.breakpoints.values});let s;typeof i=="object"&&(s=MH({breakpoints:e.breakpoints.values,values:i})),a=Ca({theme:e},i,(c,l)=>{var u;const d=e.spacing(c);return d!=="0px"?{width:`calc(100% + ${cd(d)})`,marginLeft:`-${cd(d)}`,[`& > .${Eh.item}`]:{paddingLeft:cd(d)}}:(u=s)!=null&&u.includes(l)?{}:{width:"100%",marginLeft:0,[`& > .${Eh.item}`]:{paddingLeft:0}}})}return a}o(V8e,"generateColumnGap");function G8e(e,t,n={}){if(!e||e<=0)return[];if(typeof e=="string"&&!Number.isNaN(Number(e))||typeof e=="number")return[n[`spacing-xs-${String(e)}`]];const r=[];return t.forEach(a=>{const i=e[a];Number(i)>0&&r.push(n[`spacing-${a}-${String(i)}`])}),r}o(G8e,"resolveSpacingStyles");const K8e=V("div",{name:"MuiGrid",slot:"Root",overridesResolver:o((e,t)=>{const{ownerState:n}=e,{container:r,direction:a,item:i,spacing:s,wrap:c,zeroMinWidth:l,breakpoints:u}=n;let d=[];r&&(d=G8e(s,u,t));const p=[];return u.forEach(m=>{const v=n[m];v&&p.push(t[`grid-${m}-${String(v)}`])}),[t.root,r&&t.container,i&&t.item,l&&t.zeroMinWidth,...d,a!=="row"&&t[`direction-xs-${String(a)}`],c!=="wrap"&&t[`wrap-xs-${String(c)}`],...p]},"overridesResolver")})(({ownerState:e})=>R({boxSizing:"border-box"},e.container&&{display:"flex",flexWrap:"wrap",width:"100%"},e.item&&{margin:0},e.zeroMinWidth&&{minWidth:0},e.wrap!=="wrap"&&{flexWrap:e.wrap}),H8e,q8e,V8e,U8e);function J8e(e,t){if(!e||e<=0)return[];if(typeof e=="string"&&!Number.isNaN(Number(e))||typeof e=="number")return[`spacing-xs-${String(e)}`];const n=[];return t.forEach(r=>{const a=e[r];if(Number(a)>0){const i=`spacing-${r}-${String(a)}`;n.push(i)}}),n}o(J8e,"resolveSpacingClasses");const Y8e=o(e=>{const{classes:t,container:n,direction:r,item:a,spacing:i,wrap:s,zeroMinWidth:c,breakpoints:l}=e;let u=[];n&&(u=J8e(i,l));const d=[];l.forEach(m=>{const v=e[m];v&&d.push(`grid-${m}-${String(v)}`)});const p={root:["root",n&&"container",a&&"item",c&&"zeroMinWidth",...u,r!=="row"&&`direction-xs-${String(r)}`,s!=="wrap"&&`wrap-xs-${String(s)}`,...d]};return Je(p,D8e,t)},"useUtilityClasses$C"),mi=g.forwardRef(o(function(t,n){const r=Ze({props:t,name:"MuiGrid"}),{breakpoints:a}=Ko(),i=Sg(r),{className:s,columns:c,columnSpacing:l,component:u="div",container:d=!1,direction:p="row",item:m=!1,rowSpacing:v,spacing:h=0,wrap:y="wrap",zeroMinWidth:C=!1}=i,w=ve(i,W8e),x=v||h,b=l||h,S=g.useContext(h5),$=d?c||12:S,j={},_=R({},w);a.keys.forEach(A=>{w[A]!=null&&(j[A]=w[A],delete _[A])});const k=R({},i,{columns:$,container:d,direction:p,item:m,rowSpacing:x,columnSpacing:b,wrap:y,zeroMinWidth:C,spacing:h},j,{breakpoints:a.keys}),E=Y8e(k);return f.jsx(h5.Provider,{value:$,children:f.jsx(K8e,R({ownerState:k,className:ee(E.root,s),as:u,ref:n},_))})},"Grid2")),Q8e=["addEndListener","appear","children","easing","in","onEnter","onEntered","onEntering","onExit","onExited","onExiting","style","timeout","TransitionComponent"];function h3(e){return`scale(${e}, ${e**2})`}o(h3,"getScale");const X8e={entering:{opacity:1,transform:h3(1)},entered:{opacity:1,transform:"none"}},X2=typeof navigator<"u"&&/^((?!chrome|android).)*(safari|mobile)/i.test(navigator.userAgent)&&/(os |version\/)15(.|_)4/i.test(navigator.userAgent),Rh=g.forwardRef(o(function(t,n){const{addEndListener:r,appear:a=!0,children:i,easing:s,in:c,onEnter:l,onEntered:u,onEntering:d,onExit:p,onExited:m,onExiting:v,style:h,timeout:y="auto",TransitionComponent:C=Jo}=t,w=ve(t,Q8e),x=Xc(),b=g.useRef(),S=Ko(),$=g.useRef(null),j=ln($,i.ref,n),_=o(O=>N=>{if(O){const F=$.current;N===void 0?O(F):O(F,N)}},"normalizedTransitionCallback"),k=_(d),E=_((O,N)=>{wR(O);const{duration:F,delay:I,easing:B}=mf({style:h,timeout:y,easing:s},{mode:"enter"});let U;y==="auto"?(U=S.transitions.getAutoHeightDuration(O.clientHeight),b.current=U):U=F,O.style.transition=[S.transitions.create("opacity",{duration:U,delay:I}),S.transitions.create("transform",{duration:X2?U:U*.666,delay:I,easing:B})].join(","),l&&l(O,N)}),A=_(u),P=_(v),M=_(O=>{const{duration:N,delay:F,easing:I}=mf({style:h,timeout:y,easing:s},{mode:"exit"});let B;y==="auto"?(B=S.transitions.getAutoHeightDuration(O.clientHeight),b.current=B):B=N,O.style.transition=[S.transitions.create("opacity",{duration:B,delay:F}),S.transitions.create("transform",{duration:X2?B:B*.666,delay:X2?F:F||B*.333,easing:I})].join(","),O.style.opacity=0,O.style.transform=h3(.75),p&&p(O)}),T=_(m),z=o(O=>{y==="auto"&&x.start(b.current||0,O),r&&r($.current,O)},"handleAddEndListener");return f.jsx(C,R({appear:a,in:c,nodeRef:$,onEnter:E,onEntered:A,onEntering:k,onExit:M,onExited:T,onExiting:P,addEndListener:z,timeout:y==="auto"?null:y},w,{children:o((O,N)=>g.cloneElement(i,R({style:R({opacity:0,transform:h3(.75),visibility:O==="exited"&&!c?"hidden":void 0},X8e[O],h,i.props.style),ref:j},N)),"children")}))},"Grow2"));Rh.muiSupportAuto=!0;const Z8e=["disableUnderline","components","componentsProps","fullWidth","inputComponent","multiline","slotProps","slots","type"],eMe=o(e=>{const{classes:t,disableUnderline:n}=e,a=Je({root:["root",!n&&"underline"],input:["input"]},TRe,t);return R({},t,a)},"useUtilityClasses$B"),tMe=V(A1,{shouldForwardProp:o(e=>xr(e)||e==="classes","shouldForwardProp"),name:"MuiInput",slot:"Root",overridesResolver:o((e,t)=>{const{ownerState:n}=e;return[...E1(e,t),!n.disableUnderline&&t.underline]},"overridesResolver")})(({theme:e,ownerState:t})=>{let r=e.palette.mode==="light"?"rgba(0, 0, 0, 0.42)":"rgba(255, 255, 255, 0.7)";return e.vars&&(r=`rgba(${e.vars.palette.common.onBackgroundChannel} / ${e.vars.opacity.inputUnderline})`),R({position:"relative"},t.formControl&&{"label + &":{marginTop:16}},!t.disableUnderline&&{"&::after":{borderBottom:`2px solid ${(e.vars||e).palette[t.color].main}`,left:0,bottom:0,content:'""',position:"absolute",right:0,transform:"scaleX(0)",transition:e.transitions.create("transform",{duration:e.transitions.duration.shorter,easing:e.transitions.easing.easeOut}),pointerEvents:"none"},[`&.${Fs.focused}:after`]:{transform:"scaleX(1) translateX(0)"},[`&.${Fs.error}`]:{"&::before, &::after":{borderBottomColor:(e.vars||e).palette.error.main}},"&::before":{borderBottom:`1px solid ${r}`,left:0,bottom:0,content:'"\\00a0"',position:"absolute",right:0,transition:e.transitions.create("border-bottom-color",{duration:e.transitions.duration.shorter}),pointerEvents:"none"},[`&:hover:not(.${Fs.disabled}, .${Fs.error}):before`]:{borderBottom:`2px solid ${(e.vars||e).palette.text.primary}`,"@media (hover: none)":{borderBottom:`1px solid ${r}`}},[`&.${Fs.disabled}:before`]:{borderBottomStyle:"dotted"}})}),nMe=V(P1,{name:"MuiInput",slot:"Input",overridesResolver:R1})({}),PR=g.forwardRef(o(function(t,n){var r,a,i,s;const c=Ze({props:t,name:"MuiInput"}),{disableUnderline:l,components:u={},componentsProps:d,fullWidth:p=!1,inputComponent:m="input",multiline:v=!1,slotProps:h,slots:y={},type:C="text"}=c,w=ve(c,Z8e),x=eMe(c),S={root:{ownerState:{disableUnderline:l}}},$=h??d?Er(h??d,S):S,j=(r=(a=y.root)!=null?a:u.Root)!=null?r:tMe,_=(i=(s=y.input)!=null?s:u.Input)!=null?i:nMe;return f.jsx(M1,R({slots:{root:j,input:_},slotProps:$,fullWidth:p,inputComponent:m,multiline:v,ref:n,type:C},w,{classes:x}))},"Input2"));PR.muiName="Input";function rMe(e){return Ke("MuiInputAdornment",e)}o(rMe,"getInputAdornmentUtilityClass");const g5=Qe("MuiInputAdornment",["root","filled","standard","outlined","positionStart","positionEnd","disablePointerEvents","hiddenLabel","sizeSmall"]);var v5;const aMe=["children","className","component","disablePointerEvents","disableTypography","position","variant"],oMe=o((e,t)=>{const{ownerState:n}=e;return[t.root,t[`position${se(n.position)}`],n.disablePointerEvents===!0&&t.disablePointerEvents,t[n.variant]]},"overridesResolver$4"),iMe=o(e=>{const{classes:t,disablePointerEvents:n,hiddenLabel:r,position:a,size:i,variant:s}=e,c={root:["root",n&&"disablePointerEvents",a&&`position${se(a)}`,s,r&&"hiddenLabel",i&&`size${se(i)}`]};return Je(c,rMe,t)},"useUtilityClasses$A"),sMe=V("div",{name:"MuiInputAdornment",slot:"Root",overridesResolver:oMe})(({theme:e,ownerState:t})=>R({display:"flex",height:"0.01em",maxHeight:"2em",alignItems:"center",whiteSpace:"nowrap",color:(e.vars||e).palette.action.active},t.variant==="filled"&&{[`&.${g5.positionStart}&:not(.${g5.hiddenLabel})`]:{marginTop:16}},t.position==="start"&&{marginRight:8},t.position==="end"&&{marginLeft:8},t.disablePointerEvents===!0&&{pointerEvents:"none"})),Im=g.forwardRef(o(function(t,n){const r=Ze({props:t,name:"MuiInputAdornment"}),{children:a,className:i,component:s="div",disablePointerEvents:c=!1,disableTypography:l=!1,position:u,variant:d}=r,p=ve(r,aMe),m=Wi()||{};let v=d;d&&m.variant,m&&!v&&(v=m.variant);const h=R({},r,{hiddenLabel:m.hiddenLabel,size:m.size,disablePointerEvents:c,position:u,variant:v}),y=iMe(h);return f.jsx(k1.Provider,{value:null,children:f.jsx(sMe,R({as:s,ownerState:h,className:ee(y.root,i),ref:n},p,{children:typeof a=="string"&&!l?f.jsx(et,{color:"text.secondary",children:a}):f.jsxs(g.Fragment,{children:[u==="start"?v5||(v5=f.jsx("span",{className:"notranslate",children:"​"})):null,a]})}))})},"InputAdornment2"));function cMe(e){return Ke("MuiInputLabel",e)}o(cMe,"getInputLabelUtilityClasses");Qe("MuiInputLabel",["root","focused","disabled","error","required","asterisk","formControl","sizeSmall","shrink","animated","standard","filled","outlined"]);const lMe=["disableAnimation","margin","shrink","variant","className"],uMe=o(e=>{const{classes:t,formControl:n,size:r,shrink:a,disableAnimation:i,variant:s,required:c}=e,l={root:["root",n&&"formControl",!i&&"animated",a&&"shrink",r&&r!=="normal"&&`size${se(r)}`,s],asterisk:[c&&"asterisk"]},u=Je(l,cMe,t);return R({},t,u)},"useUtilityClasses$z"),dMe=V(L8e,{shouldForwardProp:o(e=>xr(e)||e==="classes","shouldForwardProp"),name:"MuiInputLabel",slot:"Root",overridesResolver:o((e,t)=>{const{ownerState:n}=e;return[{[`& .${zm.asterisk}`]:t.asterisk},t.root,n.formControl&&t.formControl,n.size==="small"&&t.sizeSmall,n.shrink&&t.shrink,!n.disableAnimation&&t.animated,n.focused&&t.focused,t[n.variant]]},"overridesResolver")})(({theme:e,ownerState:t})=>R({display:"block",transformOrigin:"top left",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:"100%"},t.formControl&&{position:"absolute",left:0,top:0,transform:"translate(0, 20px) scale(1)"},t.size==="small"&&{transform:"translate(0, 17px) scale(1)"},t.shrink&&{transform:"translate(0, -1.5px) scale(0.75)",transformOrigin:"top left",maxWidth:"133%"},!t.disableAnimation&&{transition:e.transitions.create(["color","transform","max-width"],{duration:e.transitions.duration.shorter,easing:e.transitions.easing.easeOut})},t.variant==="filled"&&R({zIndex:1,pointerEvents:"none",transform:"translate(12px, 16px) scale(1)",maxWidth:"calc(100% - 24px)"},t.size==="small"&&{transform:"translate(12px, 13px) scale(1)"},t.shrink&&R({userSelect:"none",pointerEvents:"auto",transform:"translate(12px, 7px) scale(0.75)",maxWidth:"calc(133% - 24px)"},t.size==="small"&&{transform:"translate(12px, 4px) scale(0.75)"})),t.variant==="outlined"&&R({zIndex:1,pointerEvents:"none",transform:"translate(14px, 16px) scale(1)",maxWidth:"calc(100% - 24px)"},t.size==="small"&&{transform:"translate(14px, 9px) scale(1)"},t.shrink&&{userSelect:"none",pointerEvents:"auto",maxWidth:"calc(133% - 32px)",transform:"translate(14px, -9px) scale(0.75)"}))),fMe=g.forwardRef(o(function(t,n){const r=Ze({name:"MuiInputLabel",props:t}),{disableAnimation:a=!1,shrink:i,className:s}=r,c=ve(r,lMe),l=Wi();let u=i;typeof u>"u"&&l&&(u=l.filled||l.focused||l.adornedStart);const d=Oc({props:r,muiFormControl:l,states:["size","variant","required","focused"]}),p=R({},r,{disableAnimation:a,formControl:l,shrink:u,size:d.size,variant:d.variant,required:d.required,focused:d.focused}),m=uMe(p);return f.jsx(dMe,R({"data-shrink":u,ownerState:p,ref:n,className:ee(m.root,s)},c,{classes:m}))},"InputLabel2"));function pMe(e){return Ke("MuiLinearProgress",e)}o(pMe,"getLinearProgressUtilityClass");Qe("MuiLinearProgress",["root","colorPrimary","colorSecondary","determinate","indeterminate","buffer","query","dashed","dashedColorPrimary","dashedColorSecondary","bar","barColorPrimary","barColorSecondary","bar1Indeterminate","bar1Determinate","bar1Buffer","bar2Indeterminate","bar2Buffer"]);const mMe=["className","color","value","valueBuffer","variant"];let mp=o(e=>e,"_$3"),y5,b5,x5,w5,C5,S5;const g3=4,hMe=$s(y5||(y5=mp` + 0% { + left: -35%; + right: 100%; + } + + 60% { + left: 100%; + right: -90%; + } + + 100% { + left: 100%; + right: -90%; + } +`)),gMe=$s(b5||(b5=mp` + 0% { + left: -200%; + right: 100%; + } + + 60% { + left: 107%; + right: -8%; + } + + 100% { + left: 107%; + right: -8%; + } +`)),vMe=$s(x5||(x5=mp` + 0% { + opacity: 1; + background-position: 0 -23px; + } + + 60% { + opacity: 0; + background-position: 0 -23px; + } + + 100% { + opacity: 1; + background-position: -200px -23px; + } +`)),yMe=o(e=>{const{classes:t,variant:n,color:r}=e,a={root:["root",`color${se(r)}`,n],dashed:["dashed",`dashedColor${se(r)}`],bar1:["bar",`barColor${se(r)}`,(n==="indeterminate"||n==="query")&&"bar1Indeterminate",n==="determinate"&&"bar1Determinate",n==="buffer"&&"bar1Buffer"],bar2:["bar",n!=="buffer"&&`barColor${se(r)}`,n==="buffer"&&`color${se(r)}`,(n==="indeterminate"||n==="query")&&"bar2Indeterminate",n==="buffer"&&"bar2Buffer"]};return Je(a,pMe,t)},"useUtilityClasses$y"),MR=o((e,t)=>t==="inherit"?"currentColor":e.vars?e.vars.palette.LinearProgress[`${t}Bg`]:e.palette.mode==="light"?pf(e.palette[t].main,.62):ff(e.palette[t].main,.5),"getColorShade"),bMe=V("span",{name:"MuiLinearProgress",slot:"Root",overridesResolver:o((e,t)=>{const{ownerState:n}=e;return[t.root,t[`color${se(n.color)}`],t[n.variant]]},"overridesResolver")})(({ownerState:e,theme:t})=>R({position:"relative",overflow:"hidden",display:"block",height:4,zIndex:0,"@media print":{colorAdjust:"exact"},backgroundColor:MR(t,e.color)},e.color==="inherit"&&e.variant!=="buffer"&&{backgroundColor:"none","&::before":{content:'""',position:"absolute",left:0,top:0,right:0,bottom:0,backgroundColor:"currentColor",opacity:.3}},e.variant==="buffer"&&{backgroundColor:"transparent"},e.variant==="query"&&{transform:"rotate(180deg)"})),xMe=V("span",{name:"MuiLinearProgress",slot:"Dashed",overridesResolver:o((e,t)=>{const{ownerState:n}=e;return[t.dashed,t[`dashedColor${se(n.color)}`]]},"overridesResolver")})(({ownerState:e,theme:t})=>{const n=MR(t,e.color);return R({position:"absolute",marginTop:0,height:"100%",width:"100%"},e.color==="inherit"&&{opacity:.3},{backgroundImage:`radial-gradient(${n} 0%, ${n} 16%, transparent 42%)`,backgroundSize:"10px 10px",backgroundPosition:"0 -23px"})},Gl(w5||(w5=mp` + animation: ${0} 3s infinite linear; + `),vMe)),wMe=V("span",{name:"MuiLinearProgress",slot:"Bar1",overridesResolver:o((e,t)=>{const{ownerState:n}=e;return[t.bar,t[`barColor${se(n.color)}`],(n.variant==="indeterminate"||n.variant==="query")&&t.bar1Indeterminate,n.variant==="determinate"&&t.bar1Determinate,n.variant==="buffer"&&t.bar1Buffer]},"overridesResolver")})(({ownerState:e,theme:t})=>R({width:"100%",position:"absolute",left:0,bottom:0,top:0,transition:"transform 0.2s linear",transformOrigin:"left",backgroundColor:e.color==="inherit"?"currentColor":(t.vars||t).palette[e.color].main},e.variant==="determinate"&&{transition:`transform .${g3}s linear`},e.variant==="buffer"&&{zIndex:1,transition:`transform .${g3}s linear`}),({ownerState:e})=>(e.variant==="indeterminate"||e.variant==="query")&&Gl(C5||(C5=mp` + width: auto; + animation: ${0} 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite; + `),hMe)),CMe=V("span",{name:"MuiLinearProgress",slot:"Bar2",overridesResolver:o((e,t)=>{const{ownerState:n}=e;return[t.bar,t[`barColor${se(n.color)}`],(n.variant==="indeterminate"||n.variant==="query")&&t.bar2Indeterminate,n.variant==="buffer"&&t.bar2Buffer]},"overridesResolver")})(({ownerState:e,theme:t})=>R({width:"100%",position:"absolute",left:0,bottom:0,top:0,transition:"transform 0.2s linear",transformOrigin:"left"},e.variant!=="buffer"&&{backgroundColor:e.color==="inherit"?"currentColor":(t.vars||t).palette[e.color].main},e.color==="inherit"&&{opacity:.3},e.variant==="buffer"&&{backgroundColor:MR(t,e.color),transition:`transform .${g3}s linear`}),({ownerState:e})=>(e.variant==="indeterminate"||e.variant==="query")&&Gl(S5||(S5=mp` + width: auto; + animation: ${0} 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) 1.15s infinite; + `),gMe)),SMe=g.forwardRef(o(function(t,n){const r=Ze({props:t,name:"MuiLinearProgress"}),{className:a,color:i="primary",value:s,valueBuffer:c,variant:l="indeterminate"}=r,u=ve(r,mMe),d=R({},r,{color:i,variant:l}),p=yMe(d),m=Mc(),v={},h={bar1:{},bar2:{}};if((l==="determinate"||l==="buffer")&&s!==void 0){v["aria-valuenow"]=Math.round(s),v["aria-valuemin"]=0,v["aria-valuemax"]=100;let y=s-100;m&&(y=-y),h.bar1.transform=`translateX(${y}%)`}if(l==="buffer"&&c!==void 0){let y=(c||0)-100;m&&(y=-y),h.bar2.transform=`translateX(${y}%)`}return f.jsxs(bMe,R({className:ee(p.root,a),ownerState:d,role:"progressbar"},v,{ref:n},u,{children:[l==="buffer"?f.jsx(xMe,{className:p.dashed,ownerState:d}):null,f.jsx(wMe,{className:p.bar1,ownerState:d,style:h.bar1}),l==="determinate"?null:f.jsx(CMe,{className:p.bar2,ownerState:d,style:h.bar2})]}))},"LinearProgress2"));function jMe(e){return Ke("MuiLink",e)}o(jMe,"getLinkUtilityClass");const $Me=Qe("MuiLink",["root","underlineNone","underlineHover","underlineAlways","button","focusVisible"]),TH={primary:"primary.main",textPrimary:"text.primary",secondary:"secondary.main",textSecondary:"text.secondary",error:"error.main"},_Me=o(e=>TH[e]||e,"transformDeprecatedColors"),kMe=o(({theme:e,ownerState:t})=>{const n=_Me(t.color),r=df(e,`palette.${n}`,!1)||t.color,a=df(e,`palette.${n}Channel`);return"vars"in e&&a?`rgba(${a} / 0.4)`:xt(r,.4)},"getTextDecoration"),EMe=["className","color","component","onBlur","onFocus","TypographyClasses","underline","variant","sx"],RMe=o(e=>{const{classes:t,component:n,focusVisible:r,underline:a}=e,i={root:["root",`underline${se(a)}`,n==="button"&&"button",r&&"focusVisible"]};return Je(i,jMe,t)},"useUtilityClasses$x"),AMe=V(et,{name:"MuiLink",slot:"Root",overridesResolver:o((e,t)=>{const{ownerState:n}=e;return[t.root,t[`underline${se(n.underline)}`],n.component==="button"&&t.button]},"overridesResolver")})(({theme:e,ownerState:t})=>R({},t.underline==="none"&&{textDecoration:"none"},t.underline==="hover"&&{textDecoration:"none","&:hover":{textDecoration:"underline"}},t.underline==="always"&&R({textDecoration:"underline"},t.color!=="inherit"&&{textDecorationColor:kMe({theme:e,ownerState:t})},{"&:hover":{textDecorationColor:"inherit"}}),t.component==="button"&&{position:"relative",WebkitTapHighlightColor:"transparent",backgroundColor:"transparent",outline:0,border:0,margin:0,borderRadius:0,padding:0,cursor:"pointer",userSelect:"none",verticalAlign:"middle",MozAppearance:"none",WebkitAppearance:"none","&::-moz-focus-inner":{borderStyle:"none"},[`&.${$Me.focusVisible}`]:{outline:"auto"}})),Ah=g.forwardRef(o(function(t,n){const r=Ze({props:t,name:"MuiLink"}),{className:a,color:i="primary",component:s="a",onBlur:c,onFocus:l,TypographyClasses:u,underline:d="always",variant:p="inherit",sx:m}=r,v=ve(r,EMe),{isFocusVisibleRef:h,onBlur:y,onFocus:C,ref:w}=w1(),[x,b]=g.useState(!1),S=ln(n,w),$=o(E=>{y(E),h.current===!1&&b(!1),c&&c(E)},"handleBlur"),j=o(E=>{C(E),h.current===!0&&b(!0),l&&l(E)},"handleFocus"),_=R({},r,{color:i,component:s,focusVisible:x,underline:d,variant:p}),k=RMe(_);return f.jsx(AMe,R({color:i,className:ee(k.root,a),classes:u,component:s,onBlur:$,onFocus:j,ref:S,ownerState:_,variant:p,sx:[...Object.keys(TH).includes(i)?[]:[{color:i}],...Array.isArray(m)?m:[m]]},v))},"Link2")),po=g.createContext({});function PMe(e){return Ke("MuiList",e)}o(PMe,"getListUtilityClass");Qe("MuiList",["root","padding","dense","subheader"]);const MMe=["children","className","component","dense","disablePadding","subheader"],TMe=o(e=>{const{classes:t,disablePadding:n,dense:r,subheader:a}=e;return Je({root:["root",!n&&"padding",r&&"dense",a&&"subheader"]},PMe,t)},"useUtilityClasses$w"),OMe=V("ul",{name:"MuiList",slot:"Root",overridesResolver:o((e,t)=>{const{ownerState:n}=e;return[t.root,!n.disablePadding&&t.padding,n.dense&&t.dense,n.subheader&&t.subheader]},"overridesResolver")})(({ownerState:e})=>R({listStyle:"none",margin:0,padding:0,position:"relative"},!e.disablePadding&&{paddingTop:8,paddingBottom:8},e.subheader&&{paddingTop:0})),zc=g.forwardRef(o(function(t,n){const r=Ze({props:t,name:"MuiList"}),{children:a,className:i,component:s="ul",dense:c=!1,disablePadding:l=!1,subheader:u}=r,d=ve(r,MMe),p=g.useMemo(()=>({dense:c}),[c]),m=R({},r,{component:s,dense:c,disablePadding:l}),v=TMe(m);return f.jsx(po.Provider,{value:p,children:f.jsxs(OMe,R({as:s,className:ee(v.root,i),ref:n,ownerState:m},d,{children:[u,a]}))})},"List2"));function zMe(e){return Ke("MuiListItem",e)}o(zMe,"getListItemUtilityClass");const _u=Qe("MuiListItem",["root","container","focusVisible","dense","alignItemsFlexStart","disabled","divider","gutters","padding","button","secondaryAction","selected"]);function IMe(e){return Ke("MuiListItemButton",e)}o(IMe,"getListItemButtonUtilityClass");const ku=Qe("MuiListItemButton",["root","focusVisible","dense","alignItemsFlexStart","disabled","divider","gutters","selected"]),LMe=["alignItems","autoFocus","component","children","dense","disableGutters","divider","focusVisibleClassName","selected","className"],DMe=o((e,t)=>{const{ownerState:n}=e;return[t.root,n.dense&&t.dense,n.alignItems==="flex-start"&&t.alignItemsFlexStart,n.divider&&t.divider,!n.disableGutters&&t.gutters]},"overridesResolver$3"),NMe=o(e=>{const{alignItems:t,classes:n,dense:r,disabled:a,disableGutters:i,divider:s,selected:c}=e,u=Je({root:["root",r&&"dense",!i&&"gutters",s&&"divider",a&&"disabled",t==="flex-start"&&"alignItemsFlexStart",c&&"selected"]},IMe,n);return R({},n,u)},"useUtilityClasses$v"),FMe=V(Fa,{shouldForwardProp:o(e=>xr(e)||e==="classes","shouldForwardProp"),name:"MuiListItemButton",slot:"Root",overridesResolver:DMe})(({theme:e,ownerState:t})=>R({display:"flex",flexGrow:1,justifyContent:"flex-start",alignItems:"center",position:"relative",textDecoration:"none",minWidth:0,boxSizing:"border-box",textAlign:"left",paddingTop:8,paddingBottom:8,transition:e.transitions.create("background-color",{duration:e.transitions.duration.shortest}),"&:hover":{textDecoration:"none",backgroundColor:(e.vars||e).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${ku.selected}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:xt(e.palette.primary.main,e.palette.action.selectedOpacity),[`&.${ku.focusVisible}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.focusOpacity}))`:xt(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.focusOpacity)}},[`&.${ku.selected}:hover`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.hoverOpacity}))`:xt(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:xt(e.palette.primary.main,e.palette.action.selectedOpacity)}},[`&.${ku.focusVisible}`]:{backgroundColor:(e.vars||e).palette.action.focus},[`&.${ku.disabled}`]:{opacity:(e.vars||e).palette.action.disabledOpacity}},t.divider&&{borderBottom:`1px solid ${(e.vars||e).palette.divider}`,backgroundClip:"padding-box"},t.alignItems==="flex-start"&&{alignItems:"flex-start"},!t.disableGutters&&{paddingLeft:16,paddingRight:16},t.dense&&{paddingTop:4,paddingBottom:4})),TR=g.forwardRef(o(function(t,n){const r=Ze({props:t,name:"MuiListItemButton"}),{alignItems:a="center",autoFocus:i=!1,component:s="div",children:c,dense:l=!1,disableGutters:u=!1,divider:d=!1,focusVisibleClassName:p,selected:m=!1,className:v}=r,h=ve(r,LMe),y=g.useContext(po),C=g.useMemo(()=>({dense:l||y.dense||!1,alignItems:a,disableGutters:u}),[a,y.dense,l,u]),w=g.useRef(null);Xr(()=>{i&&w.current&&w.current.focus()},[i]);const x=R({},r,{alignItems:a,dense:C.dense,disableGutters:u,divider:d,selected:m}),b=NMe(x),S=ln(w,n);return f.jsx(po.Provider,{value:C,children:f.jsx(FMe,R({ref:S,href:h.href||h.to,component:(h.href||h.to)&&s==="div"?"button":s,focusVisibleClassName:ee(b.focusVisible,p),ownerState:x,className:ee(b.root,v)},h,{classes:b,children:c}))})},"ListItemButton2"));function BMe(e){return Ke("MuiListItemSecondaryAction",e)}o(BMe,"getListItemSecondaryActionClassesUtilityClass");Qe("MuiListItemSecondaryAction",["root","disableGutters"]);const WMe=["className"],UMe=o(e=>{const{disableGutters:t,classes:n}=e;return Je({root:["root",t&&"disableGutters"]},BMe,n)},"useUtilityClasses$u"),HMe=V("div",{name:"MuiListItemSecondaryAction",slot:"Root",overridesResolver:o((e,t)=>{const{ownerState:n}=e;return[t.root,n.disableGutters&&t.disableGutters]},"overridesResolver")})(({ownerState:e})=>R({position:"absolute",right:16,top:"50%",transform:"translateY(-50%)"},e.disableGutters&&{right:0})),Ic=g.forwardRef(o(function(t,n){const r=Ze({props:t,name:"MuiListItemSecondaryAction"}),{className:a}=r,i=ve(r,WMe),s=g.useContext(po),c=R({},r,{disableGutters:s.disableGutters}),l=UMe(c);return f.jsx(HMe,R({className:ee(l.root,a),ownerState:c,ref:n},i))},"ListItemSecondaryAction2"));Ic.muiName="ListItemSecondaryAction";const qMe=["className"],VMe=["alignItems","autoFocus","button","children","className","component","components","componentsProps","ContainerComponent","ContainerProps","dense","disabled","disableGutters","disablePadding","divider","focusVisibleClassName","secondaryAction","selected","slotProps","slots"],GMe=o((e,t)=>{const{ownerState:n}=e;return[t.root,n.dense&&t.dense,n.alignItems==="flex-start"&&t.alignItemsFlexStart,n.divider&&t.divider,!n.disableGutters&&t.gutters,!n.disablePadding&&t.padding,n.button&&t.button,n.hasSecondaryAction&&t.secondaryAction]},"overridesResolver$2"),KMe=o(e=>{const{alignItems:t,button:n,classes:r,dense:a,disabled:i,disableGutters:s,disablePadding:c,divider:l,hasSecondaryAction:u,selected:d}=e;return Je({root:["root",a&&"dense",!s&&"gutters",!c&&"padding",l&&"divider",i&&"disabled",n&&"button",t==="flex-start"&&"alignItemsFlexStart",u&&"secondaryAction",d&&"selected"],container:["container"]},zMe,r)},"useUtilityClasses$t"),JMe=V("div",{name:"MuiListItem",slot:"Root",overridesResolver:GMe})(({theme:e,ownerState:t})=>R({display:"flex",justifyContent:"flex-start",alignItems:"center",position:"relative",textDecoration:"none",width:"100%",boxSizing:"border-box",textAlign:"left"},!t.disablePadding&&R({paddingTop:8,paddingBottom:8},t.dense&&{paddingTop:4,paddingBottom:4},!t.disableGutters&&{paddingLeft:16,paddingRight:16},!!t.secondaryAction&&{paddingRight:48}),!!t.secondaryAction&&{[`& > .${ku.root}`]:{paddingRight:48}},{[`&.${_u.focusVisible}`]:{backgroundColor:(e.vars||e).palette.action.focus},[`&.${_u.selected}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:xt(e.palette.primary.main,e.palette.action.selectedOpacity),[`&.${_u.focusVisible}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.focusOpacity}))`:xt(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.focusOpacity)}},[`&.${_u.disabled}`]:{opacity:(e.vars||e).palette.action.disabledOpacity}},t.alignItems==="flex-start"&&{alignItems:"flex-start"},t.divider&&{borderBottom:`1px solid ${(e.vars||e).palette.divider}`,backgroundClip:"padding-box"},t.button&&{transition:e.transitions.create("background-color",{duration:e.transitions.duration.shortest}),"&:hover":{textDecoration:"none",backgroundColor:(e.vars||e).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${_u.selected}:hover`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.hoverOpacity}))`:xt(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:xt(e.palette.primary.main,e.palette.action.selectedOpacity)}}},t.hasSecondaryAction&&{paddingRight:48})),YMe=V("li",{name:"MuiListItem",slot:"Container",overridesResolver:o((e,t)=>t.container,"overridesResolver")})({position:"relative"}),Kl=g.forwardRef(o(function(t,n){const r=Ze({props:t,name:"MuiListItem"}),{alignItems:a="center",autoFocus:i=!1,button:s=!1,children:c,className:l,component:u,components:d={},componentsProps:p={},ContainerComponent:m="li",ContainerProps:{className:v}={},dense:h=!1,disabled:y=!1,disableGutters:C=!1,disablePadding:w=!1,divider:x=!1,focusVisibleClassName:b,secondaryAction:S,selected:$=!1,slotProps:j={},slots:_={}}=r,k=ve(r.ContainerProps,qMe),E=ve(r,VMe),A=g.useContext(po),P=g.useMemo(()=>({dense:h||A.dense||!1,alignItems:a,disableGutters:C}),[a,A.dense,h,C]),M=g.useRef(null);Xr(()=>{i&&M.current&&M.current.focus()},[i]);const T=g.Children.toArray(c),z=T.length&&Pm(T[T.length-1],["ListItemSecondaryAction"]),O=R({},r,{alignItems:a,autoFocus:i,button:s,dense:P.dense,disabled:y,disableGutters:C,disablePadding:w,divider:x,hasSecondaryAction:z,selected:$}),N=KMe(O),F=ln(M,n),I=_.root||d.Root||JMe,B=j.root||p.root||{},U=R({className:ee(N.root,B.className,l),disabled:y},E);let te=u||"li";return s&&(U.component=u||"div",U.focusVisibleClassName=ee(_u.focusVisible,b),te=Fa),z?(te=!U.component&&!u?"div":te,m==="li"&&(te==="li"?te="div":U.component==="li"&&(U.component="div")),f.jsx(po.Provider,{value:P,children:f.jsxs(YMe,R({as:m,className:ee(N.container,v),ref:F,ownerState:O},k,{children:[f.jsx(I,R({},B,!Ol(I)&&{as:te,ownerState:R({},O,B.ownerState)},U,{children:T})),T.pop()]}))})):f.jsx(po.Provider,{value:P,children:f.jsxs(I,R({},B,{as:te,ref:F},!Ol(I)&&{ownerState:R({},O,B.ownerState)},U,{children:[T,S&&f.jsx(Ic,{children:S})]}))})},"ListItem2"));function QMe(e){return Ke("MuiListItemAvatar",e)}o(QMe,"getListItemAvatarUtilityClass");Qe("MuiListItemAvatar",["root","alignItemsFlexStart"]);const XMe=["className"],ZMe=o(e=>{const{alignItems:t,classes:n}=e;return Je({root:["root",t==="flex-start"&&"alignItemsFlexStart"]},QMe,n)},"useUtilityClasses$s"),eTe=V("div",{name:"MuiListItemAvatar",slot:"Root",overridesResolver:o((e,t)=>{const{ownerState:n}=e;return[t.root,n.alignItems==="flex-start"&&t.alignItemsFlexStart]},"overridesResolver")})(({ownerState:e})=>R({minWidth:56,flexShrink:0},e.alignItems==="flex-start"&&{marginTop:8})),z1=g.forwardRef(o(function(t,n){const r=Ze({props:t,name:"MuiListItemAvatar"}),{className:a}=r,i=ve(r,XMe),s=g.useContext(po),c=R({},r,{alignItems:s.alignItems}),l=ZMe(c);return f.jsx(eTe,R({className:ee(l.root,a),ownerState:c,ref:n},i))},"ListItemAvatar2"));function tTe(e){return Ke("MuiListItemIcon",e)}o(tTe,"getListItemIconUtilityClass");const j5=Qe("MuiListItemIcon",["root","alignItemsFlexStart"]),nTe=["className"],rTe=o(e=>{const{alignItems:t,classes:n}=e;return Je({root:["root",t==="flex-start"&&"alignItemsFlexStart"]},tTe,n)},"useUtilityClasses$r"),aTe=V("div",{name:"MuiListItemIcon",slot:"Root",overridesResolver:o((e,t)=>{const{ownerState:n}=e;return[t.root,n.alignItems==="flex-start"&&t.alignItemsFlexStart]},"overridesResolver")})(({theme:e,ownerState:t})=>R({minWidth:56,color:(e.vars||e).palette.action.active,flexShrink:0,display:"inline-flex"},t.alignItems==="flex-start"&&{marginTop:8})),Il=g.forwardRef(o(function(t,n){const r=Ze({props:t,name:"MuiListItemIcon"}),{className:a}=r,i=ve(r,nTe),s=g.useContext(po),c=R({},r,{alignItems:s.alignItems}),l=rTe(c);return f.jsx(aTe,R({className:ee(l.root,a),ownerState:c,ref:n},i))},"ListItemIcon2"));function oTe(e){return Ke("MuiListItemText",e)}o(oTe,"getListItemTextUtilityClass");const qb=Qe("MuiListItemText",["root","multiline","dense","inset","primary","secondary"]),iTe=["children","className","disableTypography","inset","primary","primaryTypographyProps","secondary","secondaryTypographyProps"],sTe=o(e=>{const{classes:t,inset:n,primary:r,secondary:a,dense:i}=e;return Je({root:["root",n&&"inset",i&&"dense",r&&a&&"multiline"],primary:["primary"],secondary:["secondary"]},oTe,t)},"useUtilityClasses$q"),cTe=V("div",{name:"MuiListItemText",slot:"Root",overridesResolver:o((e,t)=>{const{ownerState:n}=e;return[{[`& .${qb.primary}`]:t.primary},{[`& .${qb.secondary}`]:t.secondary},t.root,n.inset&&t.inset,n.primary&&n.secondary&&t.multiline,n.dense&&t.dense]},"overridesResolver")})(({ownerState:e})=>R({flex:"1 1 auto",minWidth:0,marginTop:4,marginBottom:4},e.primary&&e.secondary&&{marginTop:6,marginBottom:6},e.inset&&{paddingLeft:56})),_s=g.forwardRef(o(function(t,n){const r=Ze({props:t,name:"MuiListItemText"}),{children:a,className:i,disableTypography:s=!1,inset:c=!1,primary:l,primaryTypographyProps:u,secondary:d,secondaryTypographyProps:p}=r,m=ve(r,iTe),{dense:v}=g.useContext(po);let h=l??a,y=d;const C=R({},r,{disableTypography:s,inset:c,primary:!!h,secondary:!!y,dense:v}),w=sTe(C);return h!=null&&h.type!==et&&!s&&(h=f.jsx(et,R({variant:v?"body2":"body1",className:w.primary,component:u!=null&&u.variant?void 0:"span",display:"block"},u,{children:h}))),y!=null&&y.type!==et&&!s&&(y=f.jsx(et,R({variant:"body2",className:w.secondary,color:"text.secondary",display:"block"},p,{children:y}))),f.jsxs(cTe,R({className:ee(w.root,i),ownerState:C,ref:n},m,{children:[h,y]}))},"ListItemText2")),lTe=["actions","autoFocus","autoFocusItem","children","className","disabledItemsFocusable","disableListWrap","onKeyDown","variant"];function Z2(e,t,n){return e===t?e.firstChild:t&&t.nextElementSibling?t.nextElementSibling:n?null:e.firstChild}o(Z2,"nextItem$1");function $5(e,t,n){return e===t?n?e.firstChild:e.lastChild:t&&t.previousElementSibling?t.previousElementSibling:n?null:e.lastChild}o($5,"previousItem$1");function OH(e,t){if(t===void 0)return!0;let n=e.innerText;return n===void 0&&(n=e.textContent),n=n.trim().toLowerCase(),n.length===0?!1:t.repeating?n[0]===t.keys[0]:n.indexOf(t.keys.join(""))===0}o(OH,"textCriteriaMatches");function Jp(e,t,n,r,a,i){let s=!1,c=a(e,t,t?n:!1);for(;c;){if(c===e.firstChild){if(s)return!1;s=!0}const l=r?!1:c.disabled||c.getAttribute("aria-disabled")==="true";if(!c.hasAttribute("tabindex")||!OH(c,i)||l)c=a(e,c,n);else return c.focus(),!0}return!1}o(Jp,"moveFocus$1");const zH=g.forwardRef(o(function(t,n){const{actions:r,autoFocus:a=!1,autoFocusItem:i=!1,children:s,className:c,disabledItemsFocusable:l=!1,disableListWrap:u=!1,onKeyDown:d,variant:p="selectedMenu"}=t,m=ve(t,lTe),v=g.useRef(null),h=g.useRef({keys:[],repeating:!0,previousKeyMatched:!0,lastTime:null});Xr(()=>{a&&v.current.focus()},[a]),g.useImperativeHandle(r,()=>({adjustStyleForScrollbar:o((b,{direction:S})=>{const $=!v.current.style.width;if(b.clientHeight<v.current.clientHeight&&$){const j=`${zU(tr(b))}px`;v.current.style[S==="rtl"?"paddingLeft":"paddingRight"]=j,v.current.style.width=`calc(100% + ${j})`}return v.current},"adjustStyleForScrollbar")}),[]);const y=o(b=>{const S=v.current,$=b.key,j=tr(S).activeElement;if($==="ArrowDown")b.preventDefault(),Jp(S,j,u,l,Z2);else if($==="ArrowUp")b.preventDefault(),Jp(S,j,u,l,$5);else if($==="Home")b.preventDefault(),Jp(S,null,u,l,Z2);else if($==="End")b.preventDefault(),Jp(S,null,u,l,$5);else if($.length===1){const _=h.current,k=$.toLowerCase(),E=performance.now();_.keys.length>0&&(E-_.lastTime>500?(_.keys=[],_.repeating=!0,_.previousKeyMatched=!0):_.repeating&&k!==_.keys[0]&&(_.repeating=!1)),_.lastTime=E,_.keys.push(k);const A=j&&!_.repeating&&OH(j,_);_.previousKeyMatched&&(A||Jp(S,j,!1,l,Z2,_))?b.preventDefault():_.previousKeyMatched=!1}d&&d(b)},"handleKeyDown"),C=ln(v,n);let w=-1;g.Children.forEach(s,(b,S)=>{if(!g.isValidElement(b)){w===S&&(w+=1,w>=s.length&&(w=-1));return}b.props.disabled||(p==="selectedMenu"&&b.props.selected||w===-1)&&(w=S),w===S&&(b.props.disabled||b.props.muiSkipListHighlight||b.type.muiSkipListHighlight)&&(w+=1,w>=s.length&&(w=-1))});const x=g.Children.map(s,(b,S)=>{if(S===w){const $={};return i&&($.autoFocus=!0),b.props.tabIndex===void 0&&p==="selectedMenu"&&($.tabIndex=0),g.cloneElement(b,$)}return b});return f.jsx(zc,R({role:"menu",ref:C,className:c,onKeyDown:y,tabIndex:a?0:-1},m,{children:x}))},"MenuList2"));function uTe(e){return Ke("MuiPopover",e)}o(uTe,"getPopoverUtilityClass");Qe("MuiPopover",["root","paper"]);const dTe=["onEntering"],fTe=["action","anchorEl","anchorOrigin","anchorPosition","anchorReference","children","className","container","elevation","marginThreshold","open","PaperProps","slots","slotProps","transformOrigin","TransitionComponent","transitionDuration","TransitionProps","disableScrollLock"],pTe=["slotProps"];function _5(e,t){let n=0;return typeof t=="number"?n=t:t==="center"?n=e.height/2:t==="bottom"&&(n=e.height),n}o(_5,"getOffsetTop");function k5(e,t){let n=0;return typeof t=="number"?n=t:t==="center"?n=e.width/2:t==="right"&&(n=e.width),n}o(k5,"getOffsetLeft");function E5(e){return[e.horizontal,e.vertical].map(t=>typeof t=="number"?`${t}px`:t).join(" ")}o(E5,"getTransformOriginValue");function eC(e){return typeof e=="function"?e():e}o(eC,"resolveAnchorEl");const mTe=o(e=>{const{classes:t}=e;return Je({root:["root"],paper:["paper"]},uTe,t)},"useUtilityClasses$p"),hTe=V(AR,{name:"MuiPopover",slot:"Root",overridesResolver:o((e,t)=>t.root,"overridesResolver")})({}),IH=V(Va,{name:"MuiPopover",slot:"Paper",overridesResolver:o((e,t)=>t.paper,"overridesResolver")})({position:"absolute",overflowY:"auto",overflowX:"hidden",minWidth:16,minHeight:16,maxWidth:"calc(100% - 32px)",maxHeight:"calc(100% - 32px)",outline:0}),LH=g.forwardRef(o(function(t,n){var r,a,i;const s=Ze({props:t,name:"MuiPopover"}),{action:c,anchorEl:l,anchorOrigin:u={vertical:"top",horizontal:"left"},anchorPosition:d,anchorReference:p="anchorEl",children:m,className:v,container:h,elevation:y=8,marginThreshold:C=16,open:w,PaperProps:x={},slots:b,slotProps:S,transformOrigin:$={vertical:"top",horizontal:"left"},TransitionComponent:j=Rh,transitionDuration:_="auto",TransitionProps:{onEntering:k}={},disableScrollLock:E=!1}=s,A=ve(s.TransitionProps,dTe),P=ve(s,fTe),M=(r=S==null?void 0:S.paper)!=null?r:x,T=g.useRef(),z=ln(T,M.ref),O=R({},s,{anchorOrigin:u,anchorReference:p,elevation:y,marginThreshold:C,externalPaperSlotProps:M,transformOrigin:$,TransitionComponent:j,transitionDuration:_,TransitionProps:A}),N=mTe(O),F=g.useCallback(()=>{if(p==="anchorPosition")return d;const De=eC(l),$e=(De&&De.nodeType===1?De:tr(T.current).body).getBoundingClientRect();return{top:$e.top+_5($e,u.vertical),left:$e.left+k5($e,u.horizontal)}},[l,u.horizontal,u.vertical,d,p]),I=g.useCallback(De=>({vertical:_5(De,$.vertical),horizontal:k5(De,$.horizontal)}),[$.horizontal,$.vertical]),B=g.useCallback(De=>{const Ee={width:De.offsetWidth,height:De.offsetHeight},$e=I(Ee);if(p==="none")return{top:null,left:null,transformOrigin:E5($e)};const Ce=F();let st=Ce.top-$e.vertical,D=Ce.left-$e.horizontal;const J=st+Ee.height,H=D+Ee.width,de=go(eC(l)),fe=de.innerHeight-C,ue=de.innerWidth-C;if(C!==null&&st<C){const he=st-C;st-=he,$e.vertical+=he}else if(C!==null&&J>fe){const he=J-fe;st-=he,$e.vertical+=he}if(C!==null&&D<C){const he=D-C;D-=he,$e.horizontal+=he}else if(H>ue){const he=H-ue;D-=he,$e.horizontal+=he}return{top:`${Math.round(st)}px`,left:`${Math.round(D)}px`,transformOrigin:E5($e)}},[l,p,F,I,C]),[U,te]=g.useState(w),Z=g.useCallback(()=>{const De=T.current;if(!De)return;const Ee=B(De);Ee.top!==null&&(De.style.top=Ee.top),Ee.left!==null&&(De.style.left=Ee.left),De.style.transformOrigin=Ee.transformOrigin,te(!0)},[B]);g.useEffect(()=>(E&&window.addEventListener("scroll",Z),()=>window.removeEventListener("scroll",Z)),[l,E,Z]);const be=o((De,Ee)=>{k&&k(De,Ee),Z()},"handleEntering"),ne=o(()=>{te(!1)},"handleExited");g.useEffect(()=>{w&&Z()}),g.useImperativeHandle(c,()=>w?{updatePosition:o(()=>{Z()},"updatePosition")}:null,[w,Z]),g.useEffect(()=>{if(!w)return;const De=dp(()=>{Z()}),Ee=go(l);return Ee.addEventListener("resize",De),()=>{De.clear(),Ee.removeEventListener("resize",De)}},[l,w,Z]);let le=_;_==="auto"&&!j.muiSupportAuto&&(le=void 0);const oe=h||(l?tr(eC(l)).body:void 0),Se=(a=b==null?void 0:b.root)!=null?a:hTe,xe=(i=b==null?void 0:b.paper)!=null?i:IH,X=yo({elementType:xe,externalSlotProps:R({},M,{style:U?M.style:R({},M.style,{opacity:0})}),additionalProps:{elevation:y,ref:z},ownerState:O,className:ee(N.paper,M==null?void 0:M.className)}),Re=yo({elementType:Se,externalSlotProps:(S==null?void 0:S.root)||{},externalForwardedProps:P,additionalProps:{ref:n,slotProps:{backdrop:{invisible:!0}},container:oe,open:w},ownerState:O,className:ee(N.root,v)}),{slotProps:me}=Re,re=ve(Re,pTe);return f.jsx(Se,R({},re,!Ol(Se)&&{slotProps:me,disableScrollLock:E},{children:f.jsx(j,R({appear:!0,in:w,onEntering:be,onExited:ne,timeout:le},A,{children:f.jsx(xe,R({},X,{children:m}))}))}))},"Popover2"));function gTe(e){return Ke("MuiMenu",e)}o(gTe,"getMenuUtilityClass");Qe("MuiMenu",["root","paper","list"]);const vTe=["onEntering"],yTe=["autoFocus","children","className","disableAutoFocusItem","MenuListProps","onClose","open","PaperProps","PopoverClasses","transitionDuration","TransitionProps","variant","slots","slotProps"],bTe={vertical:"top",horizontal:"right"},xTe={vertical:"top",horizontal:"left"},wTe=o(e=>{const{classes:t}=e;return Je({root:["root"],paper:["paper"],list:["list"]},gTe,t)},"useUtilityClasses$o"),CTe=V(LH,{shouldForwardProp:o(e=>xr(e)||e==="classes","shouldForwardProp"),name:"MuiMenu",slot:"Root",overridesResolver:o((e,t)=>t.root,"overridesResolver")})({}),STe=V(IH,{name:"MuiMenu",slot:"Paper",overridesResolver:o((e,t)=>t.paper,"overridesResolver")})({maxHeight:"calc(100% - 96px)",WebkitOverflowScrolling:"touch"}),jTe=V(zH,{name:"MuiMenu",slot:"List",overridesResolver:o((e,t)=>t.list,"overridesResolver")})({outline:0}),Jl=g.forwardRef(o(function(t,n){var r,a;const i=Ze({props:t,name:"MuiMenu"}),{autoFocus:s=!0,children:c,className:l,disableAutoFocusItem:u=!1,MenuListProps:d={},onClose:p,open:m,PaperProps:v={},PopoverClasses:h,transitionDuration:y="auto",TransitionProps:{onEntering:C}={},variant:w="selectedMenu",slots:x={},slotProps:b={}}=i,S=ve(i.TransitionProps,vTe),$=ve(i,yTe),j=Mc(),_=R({},i,{autoFocus:s,disableAutoFocusItem:u,MenuListProps:d,onEntering:C,PaperProps:v,transitionDuration:y,TransitionProps:S,variant:w}),k=wTe(_),E=s&&!u&&m,A=g.useRef(null),P=o((I,B)=>{A.current&&A.current.adjustStyleForScrollbar(I,{direction:j?"rtl":"ltr"}),C&&C(I,B)},"handleEntering"),M=o(I=>{I.key==="Tab"&&(I.preventDefault(),p&&p(I,"tabKeyDown"))},"handleListKeyDown");let T=-1;g.Children.map(c,(I,B)=>{g.isValidElement(I)&&(I.props.disabled||(w==="selectedMenu"&&I.props.selected||T===-1)&&(T=B))});const z=(r=x.paper)!=null?r:STe,O=(a=b.paper)!=null?a:v,N=yo({elementType:x.root,externalSlotProps:b.root,ownerState:_,className:[k.root,l]}),F=yo({elementType:z,externalSlotProps:O,ownerState:_,className:k.paper});return f.jsx(CTe,R({onClose:p,anchorOrigin:{vertical:"bottom",horizontal:j?"right":"left"},transformOrigin:j?bTe:xTe,slots:{paper:z,root:x.root},slotProps:{root:N,paper:F},open:m,ref:n,transitionDuration:y,TransitionProps:R({onEntering:P},S),ownerState:_},$,{classes:h,children:f.jsx(jTe,R({onKeyDown:M,actions:A,autoFocus:s&&(T===-1||u),autoFocusItem:E,variant:w},d,{className:ee(k.list,d.className),children:c}))}))},"Menu2"));function $Te(e){return Ke("MuiMenuItem",e)}o($Te,"getMenuItemUtilityClass");const Yp=Qe("MuiMenuItem",["root","focusVisible","dense","disabled","divider","gutters","selected"]),_Te=["autoFocus","component","dense","divider","disableGutters","focusVisibleClassName","role","tabIndex","className"],kTe=o((e,t)=>{const{ownerState:n}=e;return[t.root,n.dense&&t.dense,n.divider&&t.divider,!n.disableGutters&&t.gutters]},"overridesResolver$1"),ETe=o(e=>{const{disabled:t,dense:n,divider:r,disableGutters:a,selected:i,classes:s}=e,l=Je({root:["root",n&&"dense",t&&"disabled",!a&&"gutters",r&&"divider",i&&"selected"]},$Te,s);return R({},s,l)},"useUtilityClasses$n"),RTe=V(Fa,{shouldForwardProp:o(e=>xr(e)||e==="classes","shouldForwardProp"),name:"MuiMenuItem",slot:"Root",overridesResolver:kTe})(({theme:e,ownerState:t})=>R({},e.typography.body1,{display:"flex",justifyContent:"flex-start",alignItems:"center",position:"relative",textDecoration:"none",minHeight:48,paddingTop:6,paddingBottom:6,boxSizing:"border-box",whiteSpace:"nowrap"},!t.disableGutters&&{paddingLeft:16,paddingRight:16},t.divider&&{borderBottom:`1px solid ${(e.vars||e).palette.divider}`,backgroundClip:"padding-box"},{"&:hover":{textDecoration:"none",backgroundColor:(e.vars||e).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${Yp.selected}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:xt(e.palette.primary.main,e.palette.action.selectedOpacity),[`&.${Yp.focusVisible}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.focusOpacity}))`:xt(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.focusOpacity)}},[`&.${Yp.selected}:hover`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.hoverOpacity}))`:xt(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:xt(e.palette.primary.main,e.palette.action.selectedOpacity)}},[`&.${Yp.focusVisible}`]:{backgroundColor:(e.vars||e).palette.action.focus},[`&.${Yp.disabled}`]:{opacity:(e.vars||e).palette.action.disabledOpacity},[`& + .${u5.root}`]:{marginTop:e.spacing(1),marginBottom:e.spacing(1)},[`& + .${u5.inset}`]:{marginLeft:52},[`& .${qb.root}`]:{marginTop:0,marginBottom:0},[`& .${qb.inset}`]:{paddingLeft:36},[`& .${j5.root}`]:{minWidth:36}},!t.dense&&{[e.breakpoints.up("sm")]:{minHeight:"auto"}},t.dense&&R({minHeight:32,paddingTop:4,paddingBottom:4},e.typography.body2,{[`& .${j5.root} svg`]:{fontSize:"1.25rem"}}))),Gn=g.forwardRef(o(function(t,n){const r=Ze({props:t,name:"MuiMenuItem"}),{autoFocus:a=!1,component:i="li",dense:s=!1,divider:c=!1,disableGutters:l=!1,focusVisibleClassName:u,role:d="menuitem",tabIndex:p,className:m}=r,v=ve(r,_Te),h=g.useContext(po),y=g.useMemo(()=>({dense:s||h.dense||!1,disableGutters:l}),[h.dense,s,l]),C=g.useRef(null);Xr(()=>{a&&C.current&&C.current.focus()},[a]);const w=R({},r,{dense:y.dense,divider:c,disableGutters:l}),x=ETe(r),b=ln(C,n);let S;return r.disabled||(S=p!==void 0?p:-1),f.jsx(po.Provider,{value:y,children:f.jsx(RTe,R({ref:b,role:d,tabIndex:S,component:i,focusVisibleClassName:ee(x.focusVisible,u),className:ee(x.root,m)},v,{ownerState:w,classes:x}))})},"MenuItem2"));function ATe(e){return Ke("MuiNativeSelect",e)}o(ATe,"getNativeSelectUtilityClasses");const OR=Qe("MuiNativeSelect",["root","select","multiple","filled","outlined","standard","disabled","icon","iconOpen","iconFilled","iconOutlined","iconStandard","nativeInput","error"]),PTe=["className","disabled","error","IconComponent","inputRef","variant"],MTe=o(e=>{const{classes:t,variant:n,disabled:r,multiple:a,open:i,error:s}=e,c={select:["select",n,r&&"disabled",a&&"multiple",s&&"error"],icon:["icon",`icon${se(n)}`,i&&"iconOpen",r&&"disabled"]};return Je(c,ATe,t)},"useUtilityClasses$m"),DH=o(({ownerState:e,theme:t})=>R({MozAppearance:"none",WebkitAppearance:"none",userSelect:"none",borderRadius:0,cursor:"pointer","&:focus":R({},t.vars?{backgroundColor:`rgba(${t.vars.palette.common.onBackgroundChannel} / 0.05)`}:{backgroundColor:t.palette.mode==="light"?"rgba(0, 0, 0, 0.05)":"rgba(255, 255, 255, 0.05)"},{borderRadius:0}),"&::-ms-expand":{display:"none"},[`&.${OR.disabled}`]:{cursor:"default"},"&[multiple]":{height:"auto"},"&:not([multiple]) option, &:not([multiple]) optgroup":{backgroundColor:(t.vars||t).palette.background.paper},"&&&":{paddingRight:24,minWidth:16}},e.variant==="filled"&&{"&&&":{paddingRight:32}},e.variant==="outlined"&&{borderRadius:(t.vars||t).shape.borderRadius,"&:focus":{borderRadius:(t.vars||t).shape.borderRadius},"&&&":{paddingRight:32}}),"nativeSelectSelectStyles"),TTe=V("select",{name:"MuiNativeSelect",slot:"Select",shouldForwardProp:xr,overridesResolver:o((e,t)=>{const{ownerState:n}=e;return[t.select,t[n.variant],n.error&&t.error,{[`&.${OR.multiple}`]:t.multiple}]},"overridesResolver")})(DH),NH=o(({ownerState:e,theme:t})=>R({position:"absolute",right:0,top:"calc(50% - .5em)",pointerEvents:"none",color:(t.vars||t).palette.action.active,[`&.${OR.disabled}`]:{color:(t.vars||t).palette.action.disabled}},e.open&&{transform:"rotate(180deg)"},e.variant==="filled"&&{right:7},e.variant==="outlined"&&{right:7}),"nativeSelectIconStyles"),OTe=V("svg",{name:"MuiNativeSelect",slot:"Icon",overridesResolver:o((e,t)=>{const{ownerState:n}=e;return[t.icon,n.variant&&t[`icon${se(n.variant)}`],n.open&&t.iconOpen]},"overridesResolver")})(NH),zTe=g.forwardRef(o(function(t,n){const{className:r,disabled:a,error:i,IconComponent:s,inputRef:c,variant:l="standard"}=t,u=ve(t,PTe),d=R({},t,{disabled:a,variant:l,error:i}),p=MTe(d);return f.jsxs(g.Fragment,{children:[f.jsx(TTe,R({ownerState:d,className:ee(p.select,r),disabled:a,ref:c||n},u)),t.multiple?null:f.jsx(OTe,{as:s,ownerState:d,className:p.icon})]})},"NativeSelectInput2"));var R5;const ITe=["children","classes","className","label","notched"],LTe=V("fieldset",{shouldForwardProp:xr})({textAlign:"left",position:"absolute",bottom:0,right:0,top:-5,left:0,margin:0,padding:"0 8px",pointerEvents:"none",borderRadius:"inherit",borderStyle:"solid",borderWidth:1,overflow:"hidden",minWidth:"0%"}),DTe=V("legend",{shouldForwardProp:xr})(({ownerState:e,theme:t})=>R({float:"unset",width:"auto",overflow:"hidden"},!e.withLabel&&{padding:0,lineHeight:"11px",transition:t.transitions.create("width",{duration:150,easing:t.transitions.easing.easeOut})},e.withLabel&&R({display:"block",padding:0,height:11,fontSize:"0.75em",visibility:"hidden",maxWidth:.01,transition:t.transitions.create("max-width",{duration:50,easing:t.transitions.easing.easeOut}),whiteSpace:"nowrap","& > span":{paddingLeft:5,paddingRight:5,display:"inline-block",opacity:0,visibility:"visible"}},e.notched&&{maxWidth:"100%",transition:t.transitions.create("max-width",{duration:100,easing:t.transitions.easing.easeOut,delay:50})})));function NTe(e){const{className:t,label:n,notched:r}=e,a=ve(e,ITe),i=n!=null&&n!=="",s=R({},e,{notched:r,withLabel:i});return f.jsx(LTe,R({"aria-hidden":!0,className:t,ownerState:s},a,{children:f.jsx(DTe,{ownerState:s,children:i?f.jsx("span",{children:n}):R5||(R5=f.jsx("span",{className:"notranslate",children:"​"}))})}))}o(NTe,"NotchedOutline");const FTe=["components","fullWidth","inputComponent","label","multiline","notched","slots","type"],BTe=o(e=>{const{classes:t}=e,r=Je({root:["root"],notchedOutline:["notchedOutline"],input:["input"]},ORe,t);return R({},t,r)},"useUtilityClasses$l"),WTe=V(A1,{shouldForwardProp:o(e=>xr(e)||e==="classes","shouldForwardProp"),name:"MuiOutlinedInput",slot:"Root",overridesResolver:E1})(({theme:e,ownerState:t})=>{const n=e.palette.mode==="light"?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)";return R({position:"relative",borderRadius:(e.vars||e).shape.borderRadius,[`&:hover .${ri.notchedOutline}`]:{borderColor:(e.vars||e).palette.text.primary},"@media (hover: none)":{[`&:hover .${ri.notchedOutline}`]:{borderColor:e.vars?`rgba(${e.vars.palette.common.onBackgroundChannel} / 0.23)`:n}},[`&.${ri.focused} .${ri.notchedOutline}`]:{borderColor:(e.vars||e).palette[t.color].main,borderWidth:2},[`&.${ri.error} .${ri.notchedOutline}`]:{borderColor:(e.vars||e).palette.error.main},[`&.${ri.disabled} .${ri.notchedOutline}`]:{borderColor:(e.vars||e).palette.action.disabled}},t.startAdornment&&{paddingLeft:14},t.endAdornment&&{paddingRight:14},t.multiline&&R({padding:"16.5px 14px"},t.size==="small"&&{padding:"8.5px 14px"}))}),UTe=V(NTe,{name:"MuiOutlinedInput",slot:"NotchedOutline",overridesResolver:o((e,t)=>t.notchedOutline,"overridesResolver")})(({theme:e})=>{const t=e.palette.mode==="light"?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)";return{borderColor:e.vars?`rgba(${e.vars.palette.common.onBackgroundChannel} / 0.23)`:t}}),HTe=V(P1,{name:"MuiOutlinedInput",slot:"Input",overridesResolver:R1})(({theme:e,ownerState:t})=>R({padding:"16.5px 14px"},!e.vars&&{"&:-webkit-autofill":{WebkitBoxShadow:e.palette.mode==="light"?null:"0 0 0 100px #266798 inset",WebkitTextFillColor:e.palette.mode==="light"?null:"#fff",caretColor:e.palette.mode==="light"?null:"#fff",borderRadius:"inherit"}},e.vars&&{"&:-webkit-autofill":{borderRadius:"inherit"},[e.getColorSchemeSelector("dark")]:{"&:-webkit-autofill":{WebkitBoxShadow:"0 0 0 100px #266798 inset",WebkitTextFillColor:"#fff",caretColor:"#fff"}}},t.size==="small"&&{padding:"8.5px 14px"},t.multiline&&{padding:0},t.startAdornment&&{paddingLeft:0},t.endAdornment&&{paddingRight:0})),zR=g.forwardRef(o(function(t,n){var r,a,i,s,c;const l=Ze({props:t,name:"MuiOutlinedInput"}),{components:u={},fullWidth:d=!1,inputComponent:p="input",label:m,multiline:v=!1,notched:h,slots:y={},type:C="text"}=l,w=ve(l,FTe),x=BTe(l),b=Wi(),S=Oc({props:l,muiFormControl:b,states:["color","disabled","error","focused","hiddenLabel","size","required"]}),$=R({},l,{color:S.color||"primary",disabled:S.disabled,error:S.error,focused:S.focused,formControl:b,fullWidth:d,hiddenLabel:S.hiddenLabel,multiline:v,size:S.size,type:C}),j=(r=(a=y.root)!=null?a:u.Root)!=null?r:WTe,_=(i=(s=y.input)!=null?s:u.Input)!=null?i:HTe;return f.jsx(M1,R({slots:{root:j,input:_},renderSuffix:o(k=>f.jsx(UTe,{ownerState:$,className:x.notchedOutline,label:m!=null&&m!==""&&S.required?c||(c=f.jsxs(g.Fragment,{children:[m," ","*"]})):m,notched:typeof h<"u"?h:!!(k.startAdornment||k.filled||k.focused)}),"renderSuffix"),fullWidth:d,inputComponent:p,multiline:v,ref:n,type:C},w,{classes:R({},x,{notchedOutline:null})}))},"OutlinedInput2"));zR.muiName="Input";function qTe(e){return Ke("MuiPagination",e)}o(qTe,"getPaginationUtilityClass");Qe("MuiPagination",["root","ul","outlined","text"]);const VTe=["boundaryCount","componentName","count","defaultPage","disabled","hideNextButton","hidePrevButton","onChange","page","showFirstButton","showLastButton","siblingCount"];function GTe(e={}){const{boundaryCount:t=1,componentName:n="usePagination",count:r=1,defaultPage:a=1,disabled:i=!1,hideNextButton:s=!1,hidePrevButton:c=!1,onChange:l,page:u,showFirstButton:d=!1,showLastButton:p=!1,siblingCount:m=1}=e,v=ve(e,VTe),[h,y]=ls({controlled:u,default:a,name:n,state:"page"}),C=o((E,A)=>{u||y(A),l&&l(E,A)},"handleClick"),w=o((E,A)=>{const P=A-E+1;return Array.from({length:P},(M,T)=>E+T)},"range"),x=w(1,Math.min(t,r)),b=w(Math.max(r-t+1,t+1),r),S=Math.max(Math.min(h-m,r-t-m*2-1),t+2),$=Math.min(Math.max(h+m,t+m*2+2),b.length>0?b[0]-2:r-1),j=[...d?["first"]:[],...c?[]:["previous"],...x,...S>t+2?["start-ellipsis"]:t+1<r-t?[t+1]:[],...w(S,$),...$<r-t-1?["end-ellipsis"]:r-t>t?[r-t]:[],...b,...s?[]:["next"],...p?["last"]:[]],_=o(E=>{switch(E){case"first":return 1;case"previous":return h-1;case"next":return h+1;case"last":return r;default:return null}},"buttonPage"),k=j.map(E=>typeof E=="number"?{onClick:o(A=>{C(A,E)},"onClick"),type:"page",page:E,selected:E===h,disabled:i,"aria-current":E===h?"true":void 0}:{onClick:o(A=>{C(A,_(E))},"onClick"),type:E,page:_(E),selected:!1,disabled:i||E.indexOf("ellipsis")===-1&&(E==="next"||E==="last"?h>=r:h<=1)});return R({items:k},v)}o(GTe,"usePagination");function KTe(e){return Ke("MuiPaginationItem",e)}o(KTe,"getPaginationItemUtilityClass");const Ga=Qe("MuiPaginationItem",["root","page","sizeSmall","sizeLarge","text","textPrimary","textSecondary","outlined","outlinedPrimary","outlinedSecondary","rounded","ellipsis","firstLast","previousNext","focusVisible","disabled","selected","icon","colorPrimary","colorSecondary"]),v3=ur(f.jsx("path",{d:"M18.41 16.59L13.82 12l4.59-4.59L17 6l-6 6 6 6zM6 6h2v12H6z"}),"FirstPage"),y3=ur(f.jsx("path",{d:"M5.59 7.41L10.18 12l-4.59 4.59L7 18l6-6-6-6zM16 6h2v12h-2z"}),"LastPage"),A5=ur(f.jsx("path",{d:"M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z"}),"NavigateBefore"),P5=ur(f.jsx("path",{d:"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"}),"NavigateNext"),JTe=["className","color","component","components","disabled","page","selected","shape","size","slots","type","variant"],FH=o((e,t)=>{const{ownerState:n}=e;return[t.root,t[n.variant],t[`size${se(n.size)}`],n.variant==="text"&&t[`text${se(n.color)}`],n.variant==="outlined"&&t[`outlined${se(n.color)}`],n.shape==="rounded"&&t.rounded,n.type==="page"&&t.page,(n.type==="start-ellipsis"||n.type==="end-ellipsis")&&t.ellipsis,(n.type==="previous"||n.type==="next")&&t.previousNext,(n.type==="first"||n.type==="last")&&t.firstLast]},"overridesResolver"),YTe=o(e=>{const{classes:t,color:n,disabled:r,selected:a,size:i,shape:s,type:c,variant:l}=e,u={root:["root",`size${se(i)}`,l,s,n!=="standard"&&`color${se(n)}`,n!=="standard"&&`${l}${se(n)}`,r&&"disabled",a&&"selected",{page:"page",first:"firstLast",last:"firstLast","start-ellipsis":"ellipsis","end-ellipsis":"ellipsis",previous:"previousNext",next:"previousNext"}[c]],icon:["icon"]};return Je(u,KTe,t)},"useUtilityClasses$k"),QTe=V("div",{name:"MuiPaginationItem",slot:"Root",overridesResolver:FH})(({theme:e,ownerState:t})=>R({},e.typography.body2,{borderRadius:32/2,textAlign:"center",boxSizing:"border-box",minWidth:32,padding:"0 6px",margin:"0 3px",color:(e.vars||e).palette.text.primary,height:"auto",[`&.${Ga.disabled}`]:{opacity:(e.vars||e).palette.action.disabledOpacity}},t.size==="small"&&{minWidth:26,borderRadius:26/2,margin:"0 1px",padding:"0 4px"},t.size==="large"&&{minWidth:40,borderRadius:40/2,padding:"0 10px",fontSize:e.typography.pxToRem(15)})),XTe=V(Fa,{name:"MuiPaginationItem",slot:"Root",overridesResolver:FH})(({theme:e,ownerState:t})=>R({},e.typography.body2,{borderRadius:32/2,textAlign:"center",boxSizing:"border-box",minWidth:32,height:32,padding:"0 6px",margin:"0 3px",color:(e.vars||e).palette.text.primary,[`&.${Ga.focusVisible}`]:{backgroundColor:(e.vars||e).palette.action.focus},[`&.${Ga.disabled}`]:{opacity:(e.vars||e).palette.action.disabledOpacity},transition:e.transitions.create(["color","background-color"],{duration:e.transitions.duration.short}),"&:hover":{backgroundColor:(e.vars||e).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${Ga.selected}`]:{backgroundColor:(e.vars||e).palette.action.selected,"&:hover":{backgroundColor:e.vars?`rgba(${e.vars.palette.action.selectedChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.hoverOpacity}))`:xt(e.palette.action.selected,e.palette.action.selectedOpacity+e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:(e.vars||e).palette.action.selected}},[`&.${Ga.focusVisible}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.action.selectedChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.focusOpacity}))`:xt(e.palette.action.selected,e.palette.action.selectedOpacity+e.palette.action.focusOpacity)},[`&.${Ga.disabled}`]:{opacity:1,color:(e.vars||e).palette.action.disabled,backgroundColor:(e.vars||e).palette.action.selected}}},t.size==="small"&&{minWidth:26,height:26,borderRadius:26/2,margin:"0 1px",padding:"0 4px"},t.size==="large"&&{minWidth:40,height:40,borderRadius:40/2,padding:"0 10px",fontSize:e.typography.pxToRem(15)},t.shape==="rounded"&&{borderRadius:(e.vars||e).shape.borderRadius}),({theme:e,ownerState:t})=>R({},t.variant==="text"&&{[`&.${Ga.selected}`]:R({},t.color!=="standard"&&{color:(e.vars||e).palette[t.color].contrastText,backgroundColor:(e.vars||e).palette[t.color].main,"&:hover":{backgroundColor:(e.vars||e).palette[t.color].dark,"@media (hover: none)":{backgroundColor:(e.vars||e).palette[t.color].main}},[`&.${Ga.focusVisible}`]:{backgroundColor:(e.vars||e).palette[t.color].dark}},{[`&.${Ga.disabled}`]:{color:(e.vars||e).palette.action.disabled}})},t.variant==="outlined"&&{border:e.vars?`1px solid rgba(${e.vars.palette.common.onBackgroundChannel} / 0.23)`:`1px solid ${e.palette.mode==="light"?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)"}`,[`&.${Ga.selected}`]:R({},t.color!=="standard"&&{color:(e.vars||e).palette[t.color].main,border:`1px solid ${e.vars?`rgba(${e.vars.palette[t.color].mainChannel} / 0.5)`:xt(e.palette[t.color].main,.5)}`,backgroundColor:e.vars?`rgba(${e.vars.palette[t.color].mainChannel} / ${e.vars.palette.action.activatedOpacity})`:xt(e.palette[t.color].main,e.palette.action.activatedOpacity),"&:hover":{backgroundColor:e.vars?`rgba(${e.vars.palette[t.color].mainChannel} / calc(${e.vars.palette.action.activatedOpacity} + ${e.vars.palette.action.focusOpacity}))`:xt(e.palette[t.color].main,e.palette.action.activatedOpacity+e.palette.action.focusOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${Ga.focusVisible}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette[t.color].mainChannel} / calc(${e.vars.palette.action.activatedOpacity} + ${e.vars.palette.action.focusOpacity}))`:xt(e.palette[t.color].main,e.palette.action.activatedOpacity+e.palette.action.focusOpacity)}},{[`&.${Ga.disabled}`]:{borderColor:(e.vars||e).palette.action.disabledBackground,color:(e.vars||e).palette.action.disabled}})})),ZTe=V("div",{name:"MuiPaginationItem",slot:"Icon",overridesResolver:o((e,t)=>t.icon,"overridesResolver")})(({theme:e,ownerState:t})=>R({fontSize:e.typography.pxToRem(20),margin:"0 -8px"},t.size==="small"&&{fontSize:e.typography.pxToRem(18)},t.size==="large"&&{fontSize:e.typography.pxToRem(22)})),e4e=g.forwardRef(o(function(t,n){const r=Ze({props:t,name:"MuiPaginationItem"}),{className:a,color:i="standard",component:s,components:c={},disabled:l=!1,page:u,selected:d=!1,shape:p="circular",size:m="medium",slots:v={},type:h="page",variant:y="text"}=r,C=ve(r,JTe),w=R({},r,{color:i,disabled:l,selected:d,shape:p,size:m,type:h,variant:y}),x=Mc(),b=YTe(w),$=(x?{previous:v.next||c.next||P5,next:v.previous||c.previous||A5,last:v.first||c.first||v3,first:v.last||c.last||y3}:{previous:v.previous||c.previous||A5,next:v.next||c.next||P5,first:v.first||c.first||v3,last:v.last||c.last||y3})[h];return h==="start-ellipsis"||h==="end-ellipsis"?f.jsx(QTe,{ref:n,ownerState:w,className:ee(b.root,a),children:"…"}):f.jsxs(XTe,R({ref:n,ownerState:w,component:s,disabled:l,className:ee(b.root,a)},C,{children:[h==="page"&&u,$?f.jsx(ZTe,{as:$,ownerState:w,className:b.icon}):null]}))},"PaginationItem2")),t4e=["boundaryCount","className","color","count","defaultPage","disabled","getItemAriaLabel","hideNextButton","hidePrevButton","onChange","page","renderItem","shape","showFirstButton","showLastButton","siblingCount","size","variant"],n4e=o(e=>{const{classes:t,variant:n}=e;return Je({root:["root",n],ul:["ul"]},qTe,t)},"useUtilityClasses$j"),r4e=V("nav",{name:"MuiPagination",slot:"Root",overridesResolver:o((e,t)=>{const{ownerState:n}=e;return[t.root,t[n.variant]]},"overridesResolver")})({}),a4e=V("ul",{name:"MuiPagination",slot:"Ul",overridesResolver:o((e,t)=>t.ul,"overridesResolver")})({display:"flex",flexWrap:"wrap",alignItems:"center",padding:0,margin:0,listStyle:"none"});function o4e(e,t,n){return e==="page"?`${n?"":"Go to "}page ${t}`:`Go to ${e} page`}o(o4e,"defaultGetAriaLabel$1");const i4e=g.forwardRef(o(function(t,n){const r=Ze({props:t,name:"MuiPagination"}),{boundaryCount:a=1,className:i,color:s="standard",count:c=1,defaultPage:l=1,disabled:u=!1,getItemAriaLabel:d=o4e,hideNextButton:p=!1,hidePrevButton:m=!1,renderItem:v=o(k=>f.jsx(e4e,R({},k)),"renderItem"),shape:h="circular",showFirstButton:y=!1,showLastButton:C=!1,siblingCount:w=1,size:x="medium",variant:b="text"}=r,S=ve(r,t4e),{items:$}=GTe(R({},r,{componentName:"Pagination"})),j=R({},r,{boundaryCount:a,color:s,count:c,defaultPage:l,disabled:u,getItemAriaLabel:d,hideNextButton:p,hidePrevButton:m,renderItem:v,shape:h,showFirstButton:y,showLastButton:C,siblingCount:w,size:x,variant:b}),_=n4e(j);return f.jsx(r4e,R({"aria-label":"pagination navigation",className:ee(_.root,i),ownerState:j,ref:n},S,{children:f.jsx(a4e,{className:_.ul,ownerState:j,children:$.map((k,E)=>f.jsx("li",{children:v(R({},k,{color:s,"aria-label":d(k.type,k.page,k.selected),shape:h,size:x,variant:b}))},E))})}))},"Pagination2"));function s4e(e){return Ke("MuiScopedCssBaseline",e)}o(s4e,"getScopedCssBaselineUtilityClass");Qe("MuiScopedCssBaseline",["root"]);const c4e=["className","component","enableColorScheme"],l4e=o(e=>{const{classes:t}=e;return Je({root:["root"]},s4e,t)},"useUtilityClasses$i"),u4e=V("div",{name:"MuiScopedCssBaseline",slot:"Root",overridesResolver:o((e,t)=>t.root,"overridesResolver")})(({theme:e,ownerState:t})=>{const n={};return t.enableColorScheme&&e.colorSchemes&&Object.entries(e.colorSchemes).forEach(([r,a])=>{var i;n[`&${e.getColorSchemeSelector(r).replace(/\s*&/,"")}`]={colorScheme:(i=a.palette)==null?void 0:i.mode}}),R({},jH(e,t.enableColorScheme),$H(e),{"& *, & *::before, & *::after":{boxSizing:"inherit"},"& strong, & b":{fontWeight:e.typography.fontWeightBold}},n)}),d4e=g.forwardRef(o(function(t,n){const r=Ze({props:t,name:"MuiScopedCssBaseline"}),{className:a,component:i="div"}=r,s=ve(r,c4e),c=R({},r,{component:i}),l=l4e(c);return f.jsx(u4e,R({as:i,className:ee(l.root,a),ref:n,ownerState:c},s))},"ScopedCssBaseline2"));function f4e(e){return Ke("MuiSelect",e)}o(f4e,"getSelectUtilityClasses");const Qp=Qe("MuiSelect",["root","select","multiple","filled","outlined","standard","disabled","focused","icon","iconOpen","iconFilled","iconOutlined","iconStandard","nativeInput","error"]);var M5;const p4e=["aria-describedby","aria-label","autoFocus","autoWidth","children","className","defaultOpen","defaultValue","disabled","displayEmpty","error","IconComponent","inputRef","labelId","MenuProps","multiple","name","onBlur","onChange","onClose","onFocus","onOpen","open","readOnly","renderValue","SelectDisplayProps","tabIndex","type","value","variant"],m4e=V("div",{name:"MuiSelect",slot:"Select",overridesResolver:o((e,t)=>{const{ownerState:n}=e;return[{[`&.${Qp.select}`]:t.select},{[`&.${Qp.select}`]:t[n.variant]},{[`&.${Qp.error}`]:t.error},{[`&.${Qp.multiple}`]:t.multiple}]},"overridesResolver")})(DH,{[`&.${Qp.select}`]:{height:"auto",minHeight:"1.4375em",textOverflow:"ellipsis",whiteSpace:"nowrap",overflow:"hidden"}}),h4e=V("svg",{name:"MuiSelect",slot:"Icon",overridesResolver:o((e,t)=>{const{ownerState:n}=e;return[t.icon,n.variant&&t[`icon${se(n.variant)}`],n.open&&t.iconOpen]},"overridesResolver")})(NH),g4e=V("input",{shouldForwardProp:o(e=>JU(e)&&e!=="classes","shouldForwardProp"),name:"MuiSelect",slot:"NativeInput",overridesResolver:o((e,t)=>t.nativeInput,"overridesResolver")})({bottom:0,left:0,position:"absolute",opacity:0,pointerEvents:"none",width:"100%",boxSizing:"border-box"});function T5(e,t){return typeof t=="object"&&t!==null?e===t:String(e)===String(t)}o(T5,"areEqualValues");function v4e(e){return e==null||typeof e=="string"&&!e.trim()}o(v4e,"isEmpty");const y4e=o(e=>{const{classes:t,variant:n,disabled:r,multiple:a,open:i,error:s}=e,c={select:["select",n,r&&"disabled",a&&"multiple",s&&"error"],icon:["icon",`icon${se(n)}`,i&&"iconOpen",r&&"disabled"],nativeInput:["nativeInput"]};return Je(c,f4e,t)},"useUtilityClasses$h"),b4e=g.forwardRef(o(function(t,n){var r;const{"aria-describedby":a,"aria-label":i,autoFocus:s,autoWidth:c,children:l,className:u,defaultOpen:d,defaultValue:p,disabled:m,displayEmpty:v,error:h=!1,IconComponent:y,inputRef:C,labelId:w,MenuProps:x={},multiple:b,name:S,onBlur:$,onChange:j,onClose:_,onFocus:k,onOpen:E,open:A,readOnly:P,renderValue:M,SelectDisplayProps:T={},tabIndex:z,value:O,variant:N="standard"}=t,F=ve(t,p4e),[I,B]=ls({controlled:O,default:p,name:"Select"}),[U,te]=ls({controlled:A,default:d,name:"Select"}),Z=g.useRef(null),be=g.useRef(null),[ne,le]=g.useState(null),{current:oe}=g.useRef(A!=null),[Se,xe]=g.useState(),X=ln(n,C),Re=g.useCallback(W=>{be.current=W,W&&le(W)},[]),me=ne==null?void 0:ne.parentNode;g.useImperativeHandle(X,()=>({focus:o(()=>{be.current.focus()},"focus"),node:Z.current,value:I}),[I]),g.useEffect(()=>{d&&U&&ne&&!oe&&(xe(c?null:me.clientWidth),be.current.focus())},[ne,c]),g.useEffect(()=>{s&&be.current.focus()},[s]),g.useEffect(()=>{if(!w)return;const W=tr(be.current).getElementById(w);if(W){const K=o(()=>{getSelection().isCollapsed&&be.current.focus()},"handler");return W.addEventListener("click",K),()=>{W.removeEventListener("click",K)}}},[w]);const re=o((W,K)=>{W?E&&E(K):_&&_(K),oe||(xe(c?null:me.clientWidth),te(W))},"update"),De=o(W=>{W.button===0&&(W.preventDefault(),be.current.focus(),re(!0,W))},"handleMouseDown"),Ee=o(W=>{re(!1,W)},"handleClose"),$e=g.Children.toArray(l),Ce=o(W=>{const K=$e.find(Y=>Y.props.value===W.target.value);K!==void 0&&(B(K.props.value),j&&j(W,K))},"handleChange"),st=o(W=>K=>{let Y;if(K.currentTarget.hasAttribute("tabindex")){if(b){Y=Array.isArray(I)?I.slice():[];const pe=I.indexOf(W.props.value);pe===-1?Y.push(W.props.value):Y.splice(pe,1)}else Y=W.props.value;if(W.props.onClick&&W.props.onClick(K),I!==Y&&(B(Y),j)){const pe=K.nativeEvent||K,Le=new pe.constructor(pe.type,pe);Object.defineProperty(Le,"target",{writable:!0,value:{value:Y,name:S}}),j(Le,W)}b||re(!1,K)}},"handleItemClick"),D=o(W=>{P||[" ","ArrowUp","ArrowDown","Enter"].indexOf(W.key)!==-1&&(W.preventDefault(),re(!0,W))},"handleKeyDown"),J=ne!==null&&U,H=o(W=>{!J&&$&&(Object.defineProperty(W,"target",{writable:!0,value:{value:I,name:S}}),$(W))},"handleBlur");delete F["aria-invalid"];let de,fe;const ue=[];let he=!1;(Hb({value:I})||v)&&(M?de=M(I):he=!0);const We=$e.map(W=>{if(!g.isValidElement(W))return null;let K;if(b){if(!Array.isArray(I))throw new Error(gs(2));K=I.some(Y=>T5(Y,W.props.value)),K&&he&&ue.push(W.props.children)}else K=T5(I,W.props.value),K&&he&&(fe=W.props.children);return g.cloneElement(W,{"aria-selected":K?"true":"false",onClick:st(W),onKeyUp:o(Y=>{Y.key===" "&&Y.preventDefault(),W.props.onKeyUp&&W.props.onKeyUp(Y)},"onKeyUp"),role:"option",selected:K,value:void 0,"data-value":W.props.value})});he&&(b?ue.length===0?de=null:de=ue.reduce((W,K,Y)=>(W.push(K),Y<ue.length-1&&W.push(", "),W),[]):de=fe);let rt=Se;!c&&oe&&ne&&(rt=me.clientWidth);let Ue;typeof z<"u"?Ue=z:Ue=m?null:0;const Ne=T.id||(S?`mui-component-select-${S}`:void 0),ye=R({},t,{variant:N,value:I,open:J,error:h}),ot=y4e(ye),ft=R({},x.PaperProps,(r=x.slotProps)==null?void 0:r.paper),yt=yc();return f.jsxs(g.Fragment,{children:[f.jsx(m4e,R({ref:Re,tabIndex:Ue,role:"combobox","aria-controls":yt,"aria-disabled":m?"true":void 0,"aria-expanded":J?"true":"false","aria-haspopup":"listbox","aria-label":i,"aria-labelledby":[w,Ne].filter(Boolean).join(" ")||void 0,"aria-describedby":a,onKeyDown:D,onMouseDown:m||P?null:De,onBlur:H,onFocus:k},T,{ownerState:ye,className:ee(T.className,ot.select,u),id:Ne,children:v4e(de)?M5||(M5=f.jsx("span",{className:"notranslate",children:"​"})):de})),f.jsx(g4e,R({"aria-invalid":h,value:Array.isArray(I)?I.join(","):I,name:S,ref:Z,"aria-hidden":!0,onChange:Ce,tabIndex:-1,disabled:m,className:ot.nativeInput,autoFocus:s,ownerState:ye},F)),f.jsx(h4e,{as:y,className:ot.icon,ownerState:ye}),f.jsx(Jl,R({id:`menu-${S||""}`,anchorEl:me,open:J,onClose:Ee,anchorOrigin:{vertical:"bottom",horizontal:"center"},transformOrigin:{vertical:"top",horizontal:"center"}},x,{MenuListProps:R({"aria-labelledby":w,role:"listbox","aria-multiselectable":b?"true":void 0,disableListWrap:!0,id:yt},x.MenuListProps),slotProps:R({},x.slotProps,{paper:R({},ft,{style:R({minWidth:rt},ft!=null?ft.style:null)})}),children:We}))]})},"SelectInput2")),x4e=["autoWidth","children","classes","className","defaultOpen","displayEmpty","IconComponent","id","input","inputProps","label","labelId","MenuProps","multiple","native","onClose","onOpen","open","renderValue","SelectDisplayProps","variant"],w4e=["root"],C4e=o(e=>{const{classes:t}=e;return t},"useUtilityClasses$g"),IR={name:"MuiSelect",overridesResolver:o((e,t)=>t.root,"overridesResolver"),shouldForwardProp:o(e=>xr(e)&&e!=="variant","shouldForwardProp"),slot:"Root"},S4e=V(PR,IR)(""),j4e=V(zR,IR)(""),$4e=V(O1,IR)(""),LR=g.forwardRef(o(function(t,n){const r=Ze({name:"MuiSelect",props:t}),{autoWidth:a=!1,children:i,classes:s={},className:c,defaultOpen:l=!1,displayEmpty:u=!1,IconComponent:d=bH,id:p,input:m,inputProps:v,label:h,labelId:y,MenuProps:C,multiple:w=!1,native:x=!1,onClose:b,onOpen:S,open:$,renderValue:j,SelectDisplayProps:_,variant:k="outlined"}=r,E=ve(r,x4e),A=x?zTe:b4e,P=Wi(),M=Oc({props:r,muiFormControl:P,states:["variant","error"]}),T=M.variant||k,z=R({},r,{variant:T,classes:s}),O=C4e(z),N=ve(O,w4e),F=m||{standard:f.jsx(S4e,{ownerState:z}),outlined:f.jsx(j4e,{label:h,ownerState:z}),filled:f.jsx($4e,{ownerState:z})}[T],I=ln(n,F.ref);return f.jsx(g.Fragment,{children:g.cloneElement(F,R({inputComponent:A,inputProps:R({children:i,error:M.error,IconComponent:d,variant:T,type:void 0,multiple:w},x?{id:p}:{autoWidth:a,defaultOpen:l,displayEmpty:u,labelId:y,MenuProps:C,onClose:b,onOpen:S,open:$,renderValue:j,SelectDisplayProps:R({id:p},_)},v,{classes:v?Er(N,v.classes):N},m?m.props.inputProps:{})},(w&&x||u)&&T==="outlined"?{notched:!0}:{},{ref:I,className:ee(F.props.className,c,O.root)},!m&&{variant:T},E))})},"Select2"));LR.muiName="Select";function _4e(e){return Ke("MuiSnackbarContent",e)}o(_4e,"getSnackbarContentUtilityClass");Qe("MuiSnackbarContent",["root","message","action"]);const k4e=["action","className","message","role"],E4e=o(e=>{const{classes:t}=e;return Je({root:["root"],action:["action"],message:["message"]},_4e,t)},"useUtilityClasses$f"),R4e=V(Va,{name:"MuiSnackbarContent",slot:"Root",overridesResolver:o((e,t)=>t.root,"overridesResolver")})(({theme:e})=>{const t=e.palette.mode==="light"?.8:.98,n=s3e(e.palette.background.default,t);return R({},e.typography.body2,{color:e.vars?e.vars.palette.SnackbarContent.color:e.palette.getContrastText(n),backgroundColor:e.vars?e.vars.palette.SnackbarContent.bg:n,display:"flex",alignItems:"center",flexWrap:"wrap",padding:"6px 16px",borderRadius:(e.vars||e).shape.borderRadius,flexGrow:1,[e.breakpoints.up("sm")]:{flexGrow:"initial",minWidth:288}})}),A4e=V("div",{name:"MuiSnackbarContent",slot:"Message",overridesResolver:o((e,t)=>t.message,"overridesResolver")})({padding:"8px 0"}),P4e=V("div",{name:"MuiSnackbarContent",slot:"Action",overridesResolver:o((e,t)=>t.action,"overridesResolver")})({display:"flex",alignItems:"center",marginLeft:"auto",paddingLeft:16,marginRight:-8}),M4e=g.forwardRef(o(function(t,n){const r=Ze({props:t,name:"MuiSnackbarContent"}),{action:a,className:i,message:s,role:c="alert"}=r,l=ve(r,k4e),u=r,d=E4e(u);return f.jsxs(R4e,R({role:c,square:!0,elevation:6,className:ee(d.root,i),ownerState:u,ref:n},l,{children:[f.jsx(A4e,{className:d.message,ownerState:u,children:s}),a?f.jsx(P4e,{className:d.action,ownerState:u,children:a}):null]}))},"SnackbarContent2"));function T4e(e){return Ke("MuiSnackbar",e)}o(T4e,"getSnackbarUtilityClass");Qe("MuiSnackbar",["root","anchorOriginTopCenter","anchorOriginBottomCenter","anchorOriginTopRight","anchorOriginBottomRight","anchorOriginTopLeft","anchorOriginBottomLeft"]);const O4e=["onEnter","onExited"],z4e=["action","anchorOrigin","autoHideDuration","children","className","ClickAwayListenerProps","ContentProps","disableWindowBlurListener","message","onBlur","onClose","onFocus","onMouseEnter","onMouseLeave","open","resumeHideDuration","TransitionComponent","transitionDuration","TransitionProps"],I4e=o(e=>{const{classes:t,anchorOrigin:n}=e,r={root:["root",`anchorOrigin${se(n.vertical)}${se(n.horizontal)}`]};return Je(r,T4e,t)},"useUtilityClasses$e"),O5=V("div",{name:"MuiSnackbar",slot:"Root",overridesResolver:o((e,t)=>{const{ownerState:n}=e;return[t.root,t[`anchorOrigin${se(n.anchorOrigin.vertical)}${se(n.anchorOrigin.horizontal)}`]]},"overridesResolver")})(({theme:e,ownerState:t})=>{const n={left:"50%",right:"auto",transform:"translateX(-50%)"};return R({zIndex:(e.vars||e).zIndex.snackbar,position:"fixed",display:"flex",left:8,right:8,justifyContent:"center",alignItems:"center"},t.anchorOrigin.vertical==="top"?{top:8}:{bottom:8},t.anchorOrigin.horizontal==="left"&&{justifyContent:"flex-start"},t.anchorOrigin.horizontal==="right"&&{justifyContent:"flex-end"},{[e.breakpoints.up("sm")]:R({},t.anchorOrigin.vertical==="top"?{top:24}:{bottom:24},t.anchorOrigin.horizontal==="center"&&n,t.anchorOrigin.horizontal==="left"&&{left:24,right:"auto"},t.anchorOrigin.horizontal==="right"&&{right:24,left:"auto"})})}),L4e=g.forwardRef(o(function(t,n){const r=Ze({props:t,name:"MuiSnackbar"}),a=Ko(),i={enter:a.transitions.duration.enteringScreen,exit:a.transitions.duration.leavingScreen},{action:s,anchorOrigin:{vertical:c,horizontal:l}={vertical:"bottom",horizontal:"left"},autoHideDuration:u=null,children:d,className:p,ClickAwayListenerProps:m,ContentProps:v,disableWindowBlurListener:h=!1,message:y,open:C,TransitionComponent:w=Rh,transitionDuration:x=i,TransitionProps:{onEnter:b,onExited:S}={}}=r,$=ve(r.TransitionProps,O4e),j=ve(r,z4e),_=R({},r,{anchorOrigin:{vertical:c,horizontal:l},autoHideDuration:u,disableWindowBlurListener:h,TransitionComponent:w,transitionDuration:x}),k=I4e(_),{getRootProps:E,onClickAway:A}=nRe(R({},_)),[P,M]=g.useState(!0),T=yo({elementType:O5,getSlotProps:E,externalForwardedProps:j,ownerState:_,additionalProps:{ref:n},className:[k.root,p]}),z=o(N=>{M(!0),S&&S(N)},"handleExited"),O=o((N,F)=>{M(!1),b&&b(N,F)},"handleEnter");return!C&&P?null:f.jsx(jke,R({onClickAway:A},m,{children:f.jsx(O5,R({},T,{children:f.jsx(w,R({appear:!0,in:C,timeout:x,direction:c==="top"?"down":"up",onEnter:O,onExited:z},$,{children:d||f.jsx(M4e,R({message:y,action:s},v))}))}))}))},"Snackbar2"));function D4e(e){return Ke("MuiTooltip",e)}o(D4e,"getTooltipUtilityClass");const Zs=Qe("MuiTooltip",["popper","popperInteractive","popperArrow","popperClose","tooltip","tooltipArrow","touch","tooltipPlacementLeft","tooltipPlacementRight","tooltipPlacementTop","tooltipPlacementBottom","arrow"]),N4e=["arrow","children","classes","components","componentsProps","describeChild","disableFocusListener","disableHoverListener","disableInteractive","disableTouchListener","enterDelay","enterNextDelay","enterTouchDelay","followCursor","id","leaveDelay","leaveTouchDelay","onClose","onOpen","open","placement","PopperComponent","PopperProps","slotProps","slots","title","TransitionComponent","TransitionProps"];function F4e(e){return Math.round(e*1e5)/1e5}o(F4e,"round");const B4e=o(e=>{const{classes:t,disableInteractive:n,arrow:r,touch:a,placement:i}=e,s={popper:["popper",!n&&"popperInteractive",r&&"popperArrow"],tooltip:["tooltip",r&&"tooltipArrow",a&&"touch",`tooltipPlacement${se(i.split("-")[0])}`],arrow:["arrow"]};return Je(s,D4e,t)},"useUtilityClasses$d"),W4e=V(_1,{name:"MuiTooltip",slot:"Popper",overridesResolver:o((e,t)=>{const{ownerState:n}=e;return[t.popper,!n.disableInteractive&&t.popperInteractive,n.arrow&&t.popperArrow,!n.open&&t.popperClose]},"overridesResolver")})(({theme:e,ownerState:t,open:n})=>R({zIndex:(e.vars||e).zIndex.tooltip,pointerEvents:"none"},!t.disableInteractive&&{pointerEvents:"auto"},!n&&{pointerEvents:"none"},t.arrow&&{[`&[data-popper-placement*="bottom"] .${Zs.arrow}`]:{top:0,marginTop:"-0.71em","&::before":{transformOrigin:"0 100%"}},[`&[data-popper-placement*="top"] .${Zs.arrow}`]:{bottom:0,marginBottom:"-0.71em","&::before":{transformOrigin:"100% 0"}},[`&[data-popper-placement*="right"] .${Zs.arrow}`]:R({},t.isRtl?{right:0,marginRight:"-0.71em"}:{left:0,marginLeft:"-0.71em"},{height:"1em",width:"0.71em","&::before":{transformOrigin:"100% 100%"}}),[`&[data-popper-placement*="left"] .${Zs.arrow}`]:R({},t.isRtl?{left:0,marginLeft:"-0.71em"}:{right:0,marginRight:"-0.71em"},{height:"1em",width:"0.71em","&::before":{transformOrigin:"0 0"}})})),U4e=V("div",{name:"MuiTooltip",slot:"Tooltip",overridesResolver:o((e,t)=>{const{ownerState:n}=e;return[t.tooltip,n.touch&&t.touch,n.arrow&&t.tooltipArrow,t[`tooltipPlacement${se(n.placement.split("-")[0])}`]]},"overridesResolver")})(({theme:e,ownerState:t})=>R({backgroundColor:e.vars?e.vars.palette.Tooltip.bg:xt(e.palette.grey[700],.92),borderRadius:(e.vars||e).shape.borderRadius,color:(e.vars||e).palette.common.white,fontFamily:e.typography.fontFamily,padding:"4px 8px",fontSize:e.typography.pxToRem(11),maxWidth:300,margin:2,wordWrap:"break-word",fontWeight:e.typography.fontWeightMedium},t.arrow&&{position:"relative",margin:0},t.touch&&{padding:"8px 16px",fontSize:e.typography.pxToRem(14),lineHeight:`${F4e(16/14)}em`,fontWeight:e.typography.fontWeightRegular},{[`.${Zs.popper}[data-popper-placement*="left"] &`]:R({transformOrigin:"right center"},t.isRtl?R({marginLeft:"14px"},t.touch&&{marginLeft:"24px"}):R({marginRight:"14px"},t.touch&&{marginRight:"24px"})),[`.${Zs.popper}[data-popper-placement*="right"] &`]:R({transformOrigin:"left center"},t.isRtl?R({marginRight:"14px"},t.touch&&{marginRight:"24px"}):R({marginLeft:"14px"},t.touch&&{marginLeft:"24px"})),[`.${Zs.popper}[data-popper-placement*="top"] &`]:R({transformOrigin:"center bottom",marginBottom:"14px"},t.touch&&{marginBottom:"24px"}),[`.${Zs.popper}[data-popper-placement*="bottom"] &`]:R({transformOrigin:"center top",marginTop:"14px"},t.touch&&{marginTop:"24px"})})),H4e=V("span",{name:"MuiTooltip",slot:"Arrow",overridesResolver:o((e,t)=>t.arrow,"overridesResolver")})(({theme:e})=>({overflow:"hidden",position:"absolute",width:"1em",height:"0.71em",boxSizing:"border-box",color:e.vars?e.vars.palette.Tooltip.bg:xt(e.palette.grey[700],.9),"&::before":{content:'""',margin:"auto",display:"block",width:"100%",height:"100%",backgroundColor:"currentColor",transform:"rotate(45deg)"}}));let Av=!1;const z5=new $h;let Xp={x:0,y:0};function Pv(e,t){return(n,...r)=>{t&&t(n,...r),e(n,...r)}}o(Pv,"composeEventHandler");const Fo=g.forwardRef(o(function(t,n){var r,a,i,s,c,l,u,d,p,m,v,h,y,C,w,x,b,S,$;const j=Ze({props:t,name:"MuiTooltip"}),{arrow:_=!1,children:k,components:E={},componentsProps:A={},describeChild:P=!1,disableFocusListener:M=!1,disableHoverListener:T=!1,disableInteractive:z=!1,disableTouchListener:O=!1,enterDelay:N=100,enterNextDelay:F=0,enterTouchDelay:I=700,followCursor:B=!1,id:U,leaveDelay:te=0,leaveTouchDelay:Z=1500,onClose:be,onOpen:ne,open:le,placement:oe="bottom",PopperComponent:Se,PopperProps:xe={},slotProps:X={},slots:Re={},title:me,TransitionComponent:re=Rh,TransitionProps:De}=j,Ee=ve(j,N4e),$e=g.isValidElement(k)?k:f.jsx("span",{children:k}),Ce=Ko(),st=Mc(),[D,J]=g.useState(),[H,de]=g.useState(null),fe=g.useRef(!1),ue=z||B,he=Xc(),We=Xc(),rt=Xc(),Ue=Xc(),[Ne,ye]=ls({controlled:le,default:!1,name:"Tooltip",state:"open"});let ot=Ne;const ft=yc(U),yt=g.useRef(),W=cr(()=>{yt.current!==void 0&&(document.body.style.WebkitUserSelect=yt.current,yt.current=void 0),Ue.clear()});g.useEffect(()=>W,[W]);const K=o(Xe=>{z5.clear(),Av=!0,ye(!0),ne&&!ot&&ne(Xe)},"handleOpen"),Y=cr(Xe=>{z5.start(800+te,()=>{Av=!1}),ye(!1),be&&ot&&be(Xe),he.start(Ce.transitions.duration.shortest,()=>{fe.current=!1})}),pe=o(Xe=>{fe.current&&Xe.type!=="touchstart"||(D&&D.removeAttribute("title"),We.clear(),rt.clear(),N||Av&&F?We.start(Av?F:N,()=>{K(Xe)}):K(Xe))},"handleMouseOver"),Le=o(Xe=>{We.clear(),rt.start(te,()=>{Y(Xe)})},"handleMouseLeave"),{isFocusVisibleRef:Oe,onBlur:dt,onFocus:St,ref:wt}=w1(),[,Bt]=g.useState(!1),G=o(Xe=>{dt(Xe),Oe.current===!1&&(Bt(!1),Le(Xe))},"handleBlur"),Q=o(Xe=>{D||J(Xe.currentTarget),St(Xe),Oe.current===!0&&(Bt(!0),pe(Xe))},"handleFocus"),ce=o(Xe=>{fe.current=!0;const je=$e.props;je.onTouchStart&&je.onTouchStart(Xe)},"detectTouchStart"),_e=o(Xe=>{ce(Xe),rt.clear(),he.clear(),W(),yt.current=document.body.style.WebkitUserSelect,document.body.style.WebkitUserSelect="none",Ue.start(I,()=>{document.body.style.WebkitUserSelect=yt.current,pe(Xe)})},"handleTouchStart"),qe=o(Xe=>{$e.props.onTouchEnd&&$e.props.onTouchEnd(Xe),W(),rt.start(Z,()=>{Y(Xe)})},"handleTouchEnd");g.useEffect(()=>{if(!ot)return;function Xe(je){(je.key==="Escape"||je.key==="Esc")&&Y(je)}return o(Xe,"handleKeyDown"),document.addEventListener("keydown",Xe),()=>{document.removeEventListener("keydown",Xe)}},[Y,ot]);const ct=ln($e.ref,wt,J,n);!me&&me!==0&&(ot=!1);const Ve=g.useRef(),Fe=o(Xe=>{const je=$e.props;je.onMouseMove&&je.onMouseMove(Xe),Xp={x:Xe.clientX,y:Xe.clientY},Ve.current&&Ve.current.update()},"handleMouseMove"),Me={},lt=typeof me=="string";P?(Me.title=!ot&<&&!T?me:null,Me["aria-describedby"]=ot?ft:null):(Me["aria-label"]=lt?me:null,Me["aria-labelledby"]=ot&&!lt?ft:null);const jt=R({},Me,Ee,$e.props,{className:ee(Ee.className,$e.props.className),onTouchStart:ce,ref:ct},B?{onMouseMove:Fe}:{}),we={};O||(jt.onTouchStart=_e,jt.onTouchEnd=qe),T||(jt.onMouseOver=Pv(pe,jt.onMouseOver),jt.onMouseLeave=Pv(Le,jt.onMouseLeave),ue||(we.onMouseOver=pe,we.onMouseLeave=Le)),M||(jt.onFocus=Pv(Q,jt.onFocus),jt.onBlur=Pv(G,jt.onBlur),ue||(we.onFocus=Q,we.onBlur=G));const Ye=g.useMemo(()=>{var Xe;let je=[{name:"arrow",enabled:!!H,options:{element:H,padding:4}}];return(Xe=xe.popperOptions)!=null&&Xe.modifiers&&(je=je.concat(xe.popperOptions.modifiers)),R({},xe.popperOptions,{modifiers:je})},[H,xe]),ut=R({},j,{isRtl:st,arrow:_,disableInteractive:ue,placement:oe,PopperComponentProp:Se,touch:fe.current}),ke=B4e(ut),ze=(r=(a=Re.popper)!=null?a:E.Popper)!=null?r:W4e,bt=(i=(s=(c=Re.transition)!=null?c:E.Transition)!=null?s:re)!=null?i:Rh,Pt=(l=(u=Re.tooltip)!=null?u:E.Tooltip)!=null?l:U4e,ae=(d=(p=Re.arrow)!=null?p:E.Arrow)!=null?d:H4e,ie=Yu(ze,R({},xe,(m=X.popper)!=null?m:A.popper,{className:ee(ke.popper,xe==null?void 0:xe.className,(v=(h=X.popper)!=null?h:A.popper)==null?void 0:v.className)}),ut),Ie=Yu(bt,R({},De,(y=X.transition)!=null?y:A.transition),ut),Ae=Yu(Pt,R({},(C=X.tooltip)!=null?C:A.tooltip,{className:ee(ke.tooltip,(w=(x=X.tooltip)!=null?x:A.tooltip)==null?void 0:w.className)}),ut),it=Yu(ae,R({},(b=X.arrow)!=null?b:A.arrow,{className:ee(ke.arrow,(S=($=X.arrow)!=null?$:A.arrow)==null?void 0:S.className)}),ut);return f.jsxs(g.Fragment,{children:[g.cloneElement($e,jt),f.jsx(ze,R({as:Se??_1,placement:oe,anchorEl:B?{getBoundingClientRect:o(()=>({top:Xp.y,left:Xp.x,right:Xp.x,bottom:Xp.y,width:0,height:0}),"getBoundingClientRect")}:D,popperRef:Ve,open:D?ot:!1,id:ft,transition:!0},we,ie,{popperOptions:Ye,children:o(({TransitionProps:Xe})=>f.jsx(bt,R({timeout:Ce.transitions.duration.shorter},Xe,Ie,{children:f.jsxs(Pt,R({},Ae,{children:[me,_?f.jsx(ae,R({},it,{ref:de})):null]}))})),"children")}))]})},"Tooltip2"));function q4e(e){return Ke("MuiSwitch",e)}o(q4e,"getSwitchUtilityClass");const Br=Qe("MuiSwitch",["root","edgeStart","edgeEnd","switchBase","colorPrimary","colorSecondary","sizeSmall","sizeMedium","checked","disabled","input","thumb","track"]),V4e=["className","color","edge","size","sx"],G4e=S1(),K4e=o(e=>{const{classes:t,edge:n,size:r,color:a,checked:i,disabled:s}=e,c={root:["root",n&&`edge${se(n)}`,`size${se(r)}`],switchBase:["switchBase",`color${se(a)}`,i&&"checked",s&&"disabled"],thumb:["thumb"],track:["track"],input:["input"]},l=Je(c,q4e,t);return R({},t,l)},"useUtilityClasses$c"),J4e=V("span",{name:"MuiSwitch",slot:"Root",overridesResolver:o((e,t)=>{const{ownerState:n}=e;return[t.root,n.edge&&t[`edge${se(n.edge)}`],t[`size${se(n.size)}`]]},"overridesResolver")})({display:"inline-flex",width:34+12*2,height:14+12*2,overflow:"hidden",padding:12,boxSizing:"border-box",position:"relative",flexShrink:0,zIndex:0,verticalAlign:"middle","@media print":{colorAdjust:"exact"},variants:[{props:{edge:"start"},style:{marginLeft:-8}},{props:{edge:"end"},style:{marginRight:-8}},{props:{size:"small"},style:{width:40,height:24,padding:7,[`& .${Br.thumb}`]:{width:16,height:16},[`& .${Br.switchBase}`]:{padding:4,[`&.${Br.checked}`]:{transform:"translateX(16px)"}}}}]}),Y4e=V(SH,{name:"MuiSwitch",slot:"SwitchBase",overridesResolver:o((e,t)=>{const{ownerState:n}=e;return[t.switchBase,{[`& .${Br.input}`]:t.input},n.color!=="default"&&t[`color${se(n.color)}`]]},"overridesResolver")})(({theme:e})=>({position:"absolute",top:0,left:0,zIndex:1,color:e.vars?e.vars.palette.Switch.defaultColor:`${e.palette.mode==="light"?e.palette.common.white:e.palette.grey[300]}`,transition:e.transitions.create(["left","transform"],{duration:e.transitions.duration.shortest}),[`&.${Br.checked}`]:{transform:"translateX(20px)"},[`&.${Br.disabled}`]:{color:e.vars?e.vars.palette.Switch.defaultDisabledColor:`${e.palette.mode==="light"?e.palette.grey[100]:e.palette.grey[600]}`},[`&.${Br.checked} + .${Br.track}`]:{opacity:.5},[`&.${Br.disabled} + .${Br.track}`]:{opacity:e.vars?e.vars.opacity.switchTrackDisabled:`${e.palette.mode==="light"?.12:.2}`},[`& .${Br.input}`]:{left:"-100%",width:"300%"}}),({theme:e})=>({"&:hover":{backgroundColor:e.vars?`rgba(${e.vars.palette.action.activeChannel} / ${e.vars.palette.action.hoverOpacity})`:xt(e.palette.action.active,e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},variants:[...Object.entries(e.palette).filter(([,t])=>t.main&&t.light).map(([t])=>({props:{color:t},style:{[`&.${Br.checked}`]:{color:(e.vars||e).palette[t].main,"&:hover":{backgroundColor:e.vars?`rgba(${e.vars.palette[t].mainChannel} / ${e.vars.palette.action.hoverOpacity})`:xt(e.palette[t].main,e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${Br.disabled}`]:{color:e.vars?e.vars.palette.Switch[`${t}DisabledColor`]:`${e.palette.mode==="light"?pf(e.palette[t].main,.62):ff(e.palette[t].main,.55)}`}},[`&.${Br.checked} + .${Br.track}`]:{backgroundColor:(e.vars||e).palette[t].main}}}))]})),Q4e=V("span",{name:"MuiSwitch",slot:"Track",overridesResolver:o((e,t)=>t.track,"overridesResolver")})(({theme:e})=>({height:"100%",width:"100%",borderRadius:14/2,zIndex:-1,transition:e.transitions.create(["opacity","background-color"],{duration:e.transitions.duration.shortest}),backgroundColor:e.vars?e.vars.palette.common.onBackground:`${e.palette.mode==="light"?e.palette.common.black:e.palette.common.white}`,opacity:e.vars?e.vars.opacity.switchTrack:`${e.palette.mode==="light"?.38:.3}`})),X4e=V("span",{name:"MuiSwitch",slot:"Thumb",overridesResolver:o((e,t)=>t.thumb,"overridesResolver")})(({theme:e})=>({boxShadow:(e.vars||e).shadows[1],backgroundColor:"currentColor",width:20,height:20,borderRadius:"50%"})),Z4e=g.forwardRef(o(function(t,n){const r=G4e({props:t,name:"MuiSwitch"}),{className:a,color:i="primary",edge:s=!1,size:c="medium",sx:l}=r,u=ve(r,V4e),d=R({},r,{color:i,edge:s,size:c}),p=K4e(d),m=f.jsx(X4e,{className:p.thumb,ownerState:d});return f.jsxs(J4e,{className:ee(p.root,a),sx:l,ownerState:d,children:[f.jsx(Y4e,R({type:"checkbox",icon:m,checkedIcon:m,ref:n,ownerState:d},u,{classes:R({},p,{root:p.switchBase})})),f.jsx(Q4e,{className:p.track,ownerState:d})]})},"Switch2"));function eOe(e){return Ke("MuiTab",e)}o(eOe,"getTabUtilityClass");const Ms=Qe("MuiTab",["root","labelIcon","textColorInherit","textColorPrimary","textColorSecondary","selected","disabled","fullWidth","wrapped","iconWrapper"]),tOe=["className","disabled","disableFocusRipple","fullWidth","icon","iconPosition","indicator","label","onChange","onClick","onFocus","selected","selectionFollowsFocus","textColor","value","wrapped"],nOe=o(e=>{const{classes:t,textColor:n,fullWidth:r,wrapped:a,icon:i,label:s,selected:c,disabled:l}=e,u={root:["root",i&&s&&"labelIcon",`textColor${se(n)}`,r&&"fullWidth",a&&"wrapped",c&&"selected",l&&"disabled"],iconWrapper:["iconWrapper"]};return Je(u,eOe,t)},"useUtilityClasses$b"),rOe=V(Fa,{name:"MuiTab",slot:"Root",overridesResolver:o((e,t)=>{const{ownerState:n}=e;return[t.root,n.label&&n.icon&&t.labelIcon,t[`textColor${se(n.textColor)}`],n.fullWidth&&t.fullWidth,n.wrapped&&t.wrapped,{[`& .${Ms.iconWrapper}`]:t.iconWrapper}]},"overridesResolver")})(({theme:e,ownerState:t})=>R({},e.typography.button,{maxWidth:360,minWidth:90,position:"relative",minHeight:48,flexShrink:0,padding:"12px 16px",overflow:"hidden",whiteSpace:"normal",textAlign:"center"},t.label&&{flexDirection:t.iconPosition==="top"||t.iconPosition==="bottom"?"column":"row"},{lineHeight:1.25},t.icon&&t.label&&{minHeight:72,paddingTop:9,paddingBottom:9,[`& > .${Ms.iconWrapper}`]:R({},t.iconPosition==="top"&&{marginBottom:6},t.iconPosition==="bottom"&&{marginTop:6},t.iconPosition==="start"&&{marginRight:e.spacing(1)},t.iconPosition==="end"&&{marginLeft:e.spacing(1)})},t.textColor==="inherit"&&{color:"inherit",opacity:.6,[`&.${Ms.selected}`]:{opacity:1},[`&.${Ms.disabled}`]:{opacity:(e.vars||e).palette.action.disabledOpacity}},t.textColor==="primary"&&{color:(e.vars||e).palette.text.secondary,[`&.${Ms.selected}`]:{color:(e.vars||e).palette.primary.main},[`&.${Ms.disabled}`]:{color:(e.vars||e).palette.text.disabled}},t.textColor==="secondary"&&{color:(e.vars||e).palette.text.secondary,[`&.${Ms.selected}`]:{color:(e.vars||e).palette.secondary.main},[`&.${Ms.disabled}`]:{color:(e.vars||e).palette.text.disabled}},t.fullWidth&&{flexShrink:1,flexGrow:1,flexBasis:0,maxWidth:"none"},t.wrapped&&{fontSize:e.typography.pxToRem(12)})),Qu=g.forwardRef(o(function(t,n){const r=Ze({props:t,name:"MuiTab"}),{className:a,disabled:i=!1,disableFocusRipple:s=!1,fullWidth:c,icon:l,iconPosition:u="top",indicator:d,label:p,onChange:m,onClick:v,onFocus:h,selected:y,selectionFollowsFocus:C,textColor:w="inherit",value:x,wrapped:b=!1}=r,S=ve(r,tOe),$=R({},r,{disabled:i,disableFocusRipple:s,selected:y,icon:!!l,iconPosition:u,label:!!p,fullWidth:c,textColor:w,wrapped:b}),j=nOe($),_=l&&p&&g.isValidElement(l)?g.cloneElement(l,{className:ee(j.iconWrapper,l.props.className)}):l,k=o(A=>{!y&&m&&m(A,x),v&&v(A)},"handleClick"),E=o(A=>{C&&!y&&m&&m(A,x),h&&h(A)},"handleFocus");return f.jsxs(rOe,R({focusRipple:!s,className:ee(j.root,a),ref:n,role:"tab","aria-selected":y,disabled:i,onClick:k,onFocus:E,ownerState:$,tabIndex:y?0:-1},S,{children:[u==="top"||u==="start"?f.jsxs(g.Fragment,{children:[_,p]}):f.jsxs(g.Fragment,{children:[p,_]}),d]}))},"Tab2")),BH=g.createContext();function aOe(e){return Ke("MuiTable",e)}o(aOe,"getTableUtilityClass");Qe("MuiTable",["root","stickyHeader"]);const oOe=["className","component","padding","size","stickyHeader"],iOe=o(e=>{const{classes:t,stickyHeader:n}=e;return Je({root:["root",n&&"stickyHeader"]},aOe,t)},"useUtilityClasses$a"),sOe=V("table",{name:"MuiTable",slot:"Root",overridesResolver:o((e,t)=>{const{ownerState:n}=e;return[t.root,n.stickyHeader&&t.stickyHeader]},"overridesResolver")})(({theme:e,ownerState:t})=>R({display:"table",width:"100%",borderCollapse:"collapse",borderSpacing:0,"& caption":R({},e.typography.body2,{padding:e.spacing(2),color:(e.vars||e).palette.text.secondary,textAlign:"left",captionSide:"bottom"})},t.stickyHeader&&{borderCollapse:"separate"})),I5="table",WH=g.forwardRef(o(function(t,n){const r=Ze({props:t,name:"MuiTable"}),{className:a,component:i=I5,padding:s="normal",size:c="medium",stickyHeader:l=!1}=r,u=ve(r,oOe),d=R({},r,{component:i,padding:s,size:c,stickyHeader:l}),p=iOe(d),m=g.useMemo(()=>({padding:s,size:c,stickyHeader:l}),[s,c,l]);return f.jsx(BH.Provider,{value:m,children:f.jsx(sOe,R({as:i,role:i===I5?null:"table",ref:n,className:ee(p.root,a),ownerState:d},u))})},"Table2")),I1=g.createContext();function cOe(e){return Ke("MuiTableBody",e)}o(cOe,"getTableBodyUtilityClass");Qe("MuiTableBody",["root"]);const lOe=["className","component"],uOe=o(e=>{const{classes:t}=e;return Je({root:["root"]},cOe,t)},"useUtilityClasses$9"),dOe=V("tbody",{name:"MuiTableBody",slot:"Root",overridesResolver:o((e,t)=>t.root,"overridesResolver")})({display:"table-row-group"}),fOe={variant:"body"},L5="tbody",UH=g.forwardRef(o(function(t,n){const r=Ze({props:t,name:"MuiTableBody"}),{className:a,component:i=L5}=r,s=ve(r,lOe),c=R({},r,{component:i}),l=uOe(c);return f.jsx(I1.Provider,{value:fOe,children:f.jsx(dOe,R({className:ee(l.root,a),as:i,ref:n,role:i===L5?null:"rowgroup",ownerState:c},s))})},"TableBody2"));function pOe(e){return Ke("MuiTableCell",e)}o(pOe,"getTableCellUtilityClass");const mOe=Qe("MuiTableCell",["root","head","body","footer","sizeSmall","sizeMedium","paddingCheckbox","paddingNone","alignLeft","alignCenter","alignRight","alignJustify","stickyHeader"]),hOe=["align","className","component","padding","scope","size","sortDirection","variant"],gOe=o(e=>{const{classes:t,variant:n,align:r,padding:a,size:i,stickyHeader:s}=e,c={root:["root",n,s&&"stickyHeader",r!=="inherit"&&`align${se(r)}`,a!=="normal"&&`padding${se(a)}`,`size${se(i)}`]};return Je(c,pOe,t)},"useUtilityClasses$8"),vOe=V("td",{name:"MuiTableCell",slot:"Root",overridesResolver:o((e,t)=>{const{ownerState:n}=e;return[t.root,t[n.variant],t[`size${se(n.size)}`],n.padding!=="normal"&&t[`padding${se(n.padding)}`],n.align!=="inherit"&&t[`align${se(n.align)}`],n.stickyHeader&&t.stickyHeader]},"overridesResolver")})(({theme:e,ownerState:t})=>R({},e.typography.body2,{display:"table-cell",verticalAlign:"inherit",borderBottom:e.vars?`1px solid ${e.vars.palette.TableCell.border}`:`1px solid + ${e.palette.mode==="light"?pf(xt(e.palette.divider,1),.88):ff(xt(e.palette.divider,1),.68)}`,textAlign:"left",padding:16},t.variant==="head"&&{color:(e.vars||e).palette.text.primary,lineHeight:e.typography.pxToRem(24),fontWeight:e.typography.fontWeightMedium},t.variant==="body"&&{color:(e.vars||e).palette.text.primary},t.variant==="footer"&&{color:(e.vars||e).palette.text.secondary,lineHeight:e.typography.pxToRem(21),fontSize:e.typography.pxToRem(12)},t.size==="small"&&{padding:"6px 16px",[`&.${mOe.paddingCheckbox}`]:{width:24,padding:"0 12px 0 16px","& > *":{padding:0}}},t.padding==="checkbox"&&{width:48,padding:"0 0 0 4px"},t.padding==="none"&&{padding:0},t.align==="left"&&{textAlign:"left"},t.align==="center"&&{textAlign:"center"},t.align==="right"&&{textAlign:"right",flexDirection:"row-reverse"},t.align==="justify"&&{textAlign:"justify"},t.stickyHeader&&{position:"sticky",top:0,zIndex:2,backgroundColor:(e.vars||e).palette.background.default})),Lr=g.forwardRef(o(function(t,n){const r=Ze({props:t,name:"MuiTableCell"}),{align:a="inherit",className:i,component:s,padding:c,scope:l,size:u,sortDirection:d,variant:p}=r,m=ve(r,hOe),v=g.useContext(BH),h=g.useContext(I1),y=h&&h.variant==="head";let C;s?C=s:C=y?"th":"td";let w=l;C==="td"?w=void 0:!w&&y&&(w="col");const x=p||h&&h.variant,b=R({},r,{align:a,component:C,padding:c||(v&&v.padding?v.padding:"normal"),size:u||(v&&v.size?v.size:"medium"),sortDirection:d,stickyHeader:x==="head"&&v&&v.stickyHeader,variant:x}),S=gOe(b);let $=null;return d&&($=d==="asc"?"ascending":"descending"),f.jsx(vOe,R({as:C,ref:n,className:ee(S.root,i),"aria-sort":$,scope:w,ownerState:b},m))},"TableCell2"));function yOe(e){return Ke("MuiTableHead",e)}o(yOe,"getTableHeadUtilityClass");Qe("MuiTableHead",["root"]);const bOe=["className","component"],xOe=o(e=>{const{classes:t}=e;return Je({root:["root"]},yOe,t)},"useUtilityClasses$7"),wOe=V("thead",{name:"MuiTableHead",slot:"Root",overridesResolver:o((e,t)=>t.root,"overridesResolver")})({display:"table-header-group"}),COe={variant:"head"},D5="thead",HH=g.forwardRef(o(function(t,n){const r=Ze({props:t,name:"MuiTableHead"}),{className:a,component:i=D5}=r,s=ve(r,bOe),c=R({},r,{component:i}),l=xOe(c);return f.jsx(I1.Provider,{value:COe,children:f.jsx(wOe,R({as:i,className:ee(l.root,a),ref:n,role:i===D5?null:"rowgroup",ownerState:c},s))})},"TableHead2"));function SOe(e){return Ke("MuiToolbar",e)}o(SOe,"getToolbarUtilityClass");Qe("MuiToolbar",["root","gutters","regular","dense"]);const jOe=["className","component","disableGutters","variant"],$Oe=o(e=>{const{classes:t,disableGutters:n,variant:r}=e;return Je({root:["root",!n&&"gutters",r]},SOe,t)},"useUtilityClasses$6"),_Oe=V("div",{name:"MuiToolbar",slot:"Root",overridesResolver:o((e,t)=>{const{ownerState:n}=e;return[t.root,!n.disableGutters&&t.gutters,t[n.variant]]},"overridesResolver")})(({theme:e,ownerState:t})=>R({position:"relative",display:"flex",alignItems:"center"},!t.disableGutters&&{paddingLeft:e.spacing(2),paddingRight:e.spacing(2),[e.breakpoints.up("sm")]:{paddingLeft:e.spacing(3),paddingRight:e.spacing(3)}},t.variant==="dense"&&{minHeight:48}),({theme:e,ownerState:t})=>t.variant==="regular"&&e.mixins.toolbar),Yl=g.forwardRef(o(function(t,n){const r=Ze({props:t,name:"MuiToolbar"}),{className:a,component:i="div",disableGutters:s=!1,variant:c="regular"}=r,l=ve(r,jOe),u=R({},r,{component:i,disableGutters:s,variant:c}),d=$Oe(u);return f.jsx(_Oe,R({as:i,className:ee(d.root,a),ref:n,ownerState:u},l))},"Toolbar2")),qH=ur(f.jsx("path",{d:"M15.41 16.09l-4.58-4.59 4.58-4.59L14 5.5l-6 6 6 6z"}),"KeyboardArrowLeft"),VH=ur(f.jsx("path",{d:"M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z"}),"KeyboardArrowRight"),kOe=["backIconButtonProps","count","disabled","getItemAriaLabel","nextIconButtonProps","onPageChange","page","rowsPerPage","showFirstButton","showLastButton","slots","slotProps"],EOe=g.forwardRef(o(function(t,n){var r,a,i,s,c,l,u,d;const{backIconButtonProps:p,count:m,disabled:v=!1,getItemAriaLabel:h,nextIconButtonProps:y,onPageChange:C,page:w,rowsPerPage:x,showFirstButton:b,showLastButton:S,slots:$={},slotProps:j={}}=t,_=ve(t,kOe),k=Mc(),E=o(X=>{C(X,0)},"handleFirstPageButtonClick"),A=o(X=>{C(X,w-1)},"handleBackButtonClick"),P=o(X=>{C(X,w+1)},"handleNextButtonClick"),M=o(X=>{C(X,Math.max(0,Math.ceil(m/x)-1))},"handleLastPageButtonClick"),T=(r=$.firstButton)!=null?r:cn,z=(a=$.lastButton)!=null?a:cn,O=(i=$.nextButton)!=null?i:cn,N=(s=$.previousButton)!=null?s:cn,F=(c=$.firstButtonIcon)!=null?c:v3,I=(l=$.lastButtonIcon)!=null?l:y3,B=(u=$.nextButtonIcon)!=null?u:VH,U=(d=$.previousButtonIcon)!=null?d:qH,te=k?z:T,Z=k?O:N,be=k?N:O,ne=k?T:z,le=k?j.lastButton:j.firstButton,oe=k?j.nextButton:j.previousButton,Se=k?j.previousButton:j.nextButton,xe=k?j.firstButton:j.lastButton;return f.jsxs("div",R({ref:n},_,{children:[b&&f.jsx(te,R({onClick:E,disabled:v||w===0,"aria-label":h("first",w),title:h("first",w)},le,{children:k?f.jsx(I,R({},j.lastButtonIcon)):f.jsx(F,R({},j.firstButtonIcon))})),f.jsx(Z,R({onClick:A,disabled:v||w===0,color:"inherit","aria-label":h("previous",w),title:h("previous",w)},oe??p,{children:k?f.jsx(B,R({},j.nextButtonIcon)):f.jsx(U,R({},j.previousButtonIcon))})),f.jsx(be,R({onClick:P,disabled:v||(m!==-1?w>=Math.ceil(m/x)-1:!1),color:"inherit","aria-label":h("next",w),title:h("next",w)},Se??y,{children:k?f.jsx(U,R({},j.previousButtonIcon)):f.jsx(B,R({},j.nextButtonIcon))})),S&&f.jsx(ne,R({onClick:M,disabled:v||w>=Math.ceil(m/x)-1,"aria-label":h("last",w),title:h("last",w)},xe,{children:k?f.jsx(F,R({},j.firstButtonIcon)):f.jsx(I,R({},j.lastButtonIcon))}))]}))},"TablePaginationActions2"));function ROe(e){return Ke("MuiTablePagination",e)}o(ROe,"getTablePaginationUtilityClass");const Lm=Qe("MuiTablePagination",["root","toolbar","spacer","selectLabel","selectRoot","select","selectIcon","input","menuItem","displayedRows","actions"]);var N5;const AOe=["ActionsComponent","backIconButtonProps","className","colSpan","component","count","disabled","getItemAriaLabel","labelDisplayedRows","labelRowsPerPage","nextIconButtonProps","onPageChange","onRowsPerPageChange","page","rowsPerPage","rowsPerPageOptions","SelectProps","showFirstButton","showLastButton","slotProps","slots"],POe=V(Lr,{name:"MuiTablePagination",slot:"Root",overridesResolver:o((e,t)=>t.root,"overridesResolver")})(({theme:e})=>({overflow:"auto",color:(e.vars||e).palette.text.primary,fontSize:e.typography.pxToRem(14),"&:last-child":{padding:0}})),MOe=V(Yl,{name:"MuiTablePagination",slot:"Toolbar",overridesResolver:o((e,t)=>R({[`& .${Lm.actions}`]:t.actions},t.toolbar),"overridesResolver")})(({theme:e})=>({minHeight:52,paddingRight:2,[`${e.breakpoints.up("xs")} and (orientation: landscape)`]:{minHeight:52},[e.breakpoints.up("sm")]:{minHeight:52,paddingRight:2},[`& .${Lm.actions}`]:{flexShrink:0,marginLeft:20}})),TOe=V("div",{name:"MuiTablePagination",slot:"Spacer",overridesResolver:o((e,t)=>t.spacer,"overridesResolver")})({flex:"1 1 100%"}),OOe=V("p",{name:"MuiTablePagination",slot:"SelectLabel",overridesResolver:o((e,t)=>t.selectLabel,"overridesResolver")})(({theme:e})=>R({},e.typography.body2,{flexShrink:0})),zOe=V(LR,{name:"MuiTablePagination",slot:"Select",overridesResolver:o((e,t)=>R({[`& .${Lm.selectIcon}`]:t.selectIcon,[`& .${Lm.select}`]:t.select},t.input,t.selectRoot),"overridesResolver")})({color:"inherit",fontSize:"inherit",flexShrink:0,marginRight:32,marginLeft:8,[`& .${Lm.select}`]:{paddingLeft:8,paddingRight:24,textAlign:"right",textAlignLast:"right"}}),IOe=V(Gn,{name:"MuiTablePagination",slot:"MenuItem",overridesResolver:o((e,t)=>t.menuItem,"overridesResolver")})({}),LOe=V("p",{name:"MuiTablePagination",slot:"DisplayedRows",overridesResolver:o((e,t)=>t.displayedRows,"overridesResolver")})(({theme:e})=>R({},e.typography.body2,{flexShrink:0}));function DOe({from:e,to:t,count:n}){return`${e}–${t} of ${n!==-1?n:`more than ${t}`}`}o(DOe,"defaultLabelDisplayedRows");function NOe(e){return`Go to ${e} page`}o(NOe,"defaultGetAriaLabel");const FOe=o(e=>{const{classes:t}=e;return Je({root:["root"],toolbar:["toolbar"],spacer:["spacer"],selectLabel:["selectLabel"],select:["select"],input:["input"],selectIcon:["selectIcon"],menuItem:["menuItem"],displayedRows:["displayedRows"],actions:["actions"]},ROe,t)},"useUtilityClasses$5"),F5=g.forwardRef(o(function(t,n){var r;const a=Ze({props:t,name:"MuiTablePagination"}),{ActionsComponent:i=EOe,backIconButtonProps:s,className:c,colSpan:l,component:u=Lr,count:d,disabled:p=!1,getItemAriaLabel:m=NOe,labelDisplayedRows:v=DOe,labelRowsPerPage:h="Rows per page:",nextIconButtonProps:y,onPageChange:C,onRowsPerPageChange:w,page:x,rowsPerPage:b,rowsPerPageOptions:S=[10,25,50,100],SelectProps:$={},showFirstButton:j=!1,showLastButton:_=!1,slotProps:k={},slots:E={}}=a,A=ve(a,AOe),P=a,M=FOe(P),T=(r=k==null?void 0:k.select)!=null?r:$,z=T.native?"option":IOe;let O;(u===Lr||u==="td")&&(O=l||1e3);const N=yc(T.id),F=yc(T.labelId),I=o(()=>d===-1?(x+1)*b:b===-1?d:Math.min(d,(x+1)*b),"getLabelDisplayedRowsTo");return f.jsx(POe,R({colSpan:O,ref:n,as:u,ownerState:P,className:ee(M.root,c)},A,{children:f.jsxs(MOe,{className:M.toolbar,children:[f.jsx(TOe,{className:M.spacer}),S.length>1&&f.jsx(OOe,{className:M.selectLabel,id:F,children:h}),S.length>1&&f.jsx(zOe,R({variant:"standard"},!T.variant&&{input:N5||(N5=f.jsx(M1,{}))},{value:b,onChange:w,id:N,labelId:F},T,{classes:R({},T.classes,{root:ee(M.input,M.selectRoot,(T.classes||{}).root),select:ee(M.select,(T.classes||{}).select),icon:ee(M.selectIcon,(T.classes||{}).icon)}),disabled:p,children:S.map(B=>g.createElement(z,R({},!Ol(z)&&{ownerState:P},{className:M.menuItem,key:B.label?B.label:B,value:B.value?B.value:B}),B.label?B.label:B))})),f.jsx(LOe,{className:M.displayedRows,children:v({from:d===0?0:x*b+1,to:I(),count:d===-1?-1:d,page:x})}),f.jsx(i,{className:M.actions,backIconButtonProps:s,count:d,nextIconButtonProps:y,onPageChange:C,page:x,rowsPerPage:b,showFirstButton:j,showLastButton:_,slotProps:k.actions,slots:E.actions,getItemAriaLabel:m,disabled:p})]})}))},"TablePagination2"));function BOe(e){return Ke("MuiTableRow",e)}o(BOe,"getTableRowUtilityClass");const B5=Qe("MuiTableRow",["root","selected","hover","head","footer"]),WOe=["className","component","hover","selected"],UOe=o(e=>{const{classes:t,selected:n,hover:r,head:a,footer:i}=e;return Je({root:["root",n&&"selected",r&&"hover",a&&"head",i&&"footer"]},BOe,t)},"useUtilityClasses$4"),HOe=V("tr",{name:"MuiTableRow",slot:"Root",overridesResolver:o((e,t)=>{const{ownerState:n}=e;return[t.root,n.head&&t.head,n.footer&&t.footer]},"overridesResolver")})(({theme:e})=>({color:"inherit",display:"table-row",verticalAlign:"middle",outline:0,[`&.${B5.hover}:hover`]:{backgroundColor:(e.vars||e).palette.action.hover},[`&.${B5.selected}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:xt(e.palette.primary.main,e.palette.action.selectedOpacity),"&:hover":{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.hoverOpacity}))`:xt(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.hoverOpacity)}}})),W5="tr",Ph=g.forwardRef(o(function(t,n){const r=Ze({props:t,name:"MuiTableRow"}),{className:a,component:i=W5,hover:s=!1,selected:c=!1}=r,l=ve(r,WOe),u=g.useContext(I1),d=R({},r,{component:i,hover:s,selected:c,head:u&&u.variant==="head",footer:u&&u.variant==="footer"}),p=UOe(d);return f.jsx(HOe,R({as:i,ref:n,className:ee(p.root,a),role:i===W5?null:"row",ownerState:d},l))},"TableRow2")),qOe=ur(f.jsx("path",{d:"M20 12l-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8 8-8z"}),"ArrowDownward");function VOe(e){return Ke("MuiTableSortLabel",e)}o(VOe,"getTableSortLabelUtilityClass");const tC=Qe("MuiTableSortLabel",["root","active","icon","iconDirectionDesc","iconDirectionAsc"]),GOe=["active","children","className","direction","hideSortIcon","IconComponent"],KOe=o(e=>{const{classes:t,direction:n,active:r}=e,a={root:["root",r&&"active"],icon:["icon",`iconDirection${se(n)}`]};return Je(a,VOe,t)},"useUtilityClasses$3"),JOe=V(Fa,{name:"MuiTableSortLabel",slot:"Root",overridesResolver:o((e,t)=>{const{ownerState:n}=e;return[t.root,n.active&&t.active]},"overridesResolver")})(({theme:e})=>({cursor:"pointer",display:"inline-flex",justifyContent:"flex-start",flexDirection:"inherit",alignItems:"center","&:focus":{color:(e.vars||e).palette.text.secondary},"&:hover":{color:(e.vars||e).palette.text.secondary,[`& .${tC.icon}`]:{opacity:.5}},[`&.${tC.active}`]:{color:(e.vars||e).palette.text.primary,[`& .${tC.icon}`]:{opacity:1,color:(e.vars||e).palette.text.secondary}}})),YOe=V("span",{name:"MuiTableSortLabel",slot:"Icon",overridesResolver:o((e,t)=>{const{ownerState:n}=e;return[t.icon,t[`iconDirection${se(n.direction)}`]]},"overridesResolver")})(({theme:e,ownerState:t})=>R({fontSize:18,marginRight:4,marginLeft:4,opacity:0,transition:e.transitions.create(["opacity","transform"],{duration:e.transitions.duration.shorter}),userSelect:"none"},t.direction==="desc"&&{transform:"rotate(0deg)"},t.direction==="asc"&&{transform:"rotate(180deg)"})),QOe=g.forwardRef(o(function(t,n){const r=Ze({props:t,name:"MuiTableSortLabel"}),{active:a=!1,children:i,className:s,direction:c="asc",hideSortIcon:l=!1,IconComponent:u=qOe}=r,d=ve(r,GOe),p=R({},r,{active:a,direction:c,hideSortIcon:l,IconComponent:u}),m=KOe(p);return f.jsxs(JOe,R({className:ee(m.root,s),component:"span",disableRipple:!0,ownerState:p,ref:n},d,{children:[i,l&&!a?null:f.jsx(YOe,{as:u,className:ee(m.icon),ownerState:p})]}))},"TableSortLabel2"));function XOe(e){return(1+Math.sin(Math.PI*e-Math.PI/2))/2}o(XOe,"easeInOutSin");function ZOe(e,t,n,r={},a=()=>{}){const{ease:i=XOe,duration:s=300}=r;let c=null;const l=t[e];let u=!1;const d=o(()=>{u=!0},"cancel"),p=o(m=>{if(u){a(new Error("Animation cancelled"));return}c===null&&(c=m);const v=Math.min(1,(m-c)/s);if(t[e]=i(v)*(n-l)+l,v>=1){requestAnimationFrame(()=>{a(null)});return}requestAnimationFrame(p)},"step");return l===n?(a(new Error("Element already at target position")),d):(requestAnimationFrame(p),d)}o(ZOe,"animate");const eze=["onChange"],tze={width:99,height:99,position:"absolute",top:-9999,overflow:"scroll"};function nze(e){const{onChange:t}=e,n=ve(e,eze),r=g.useRef(),a=g.useRef(null),i=o(()=>{r.current=a.current.offsetHeight-a.current.clientHeight},"setMeasurements");return Xr(()=>{const s=dp(()=>{const l=r.current;i(),l!==r.current&&t(r.current)}),c=go(a.current);return c.addEventListener("resize",s),()=>{s.clear(),c.removeEventListener("resize",s)}},[t]),g.useEffect(()=>{i(),t(r.current)},[t]),f.jsx("div",R({style:tze,ref:a},n))}o(nze,"ScrollbarSize");function rze(e){return Ke("MuiTabScrollButton",e)}o(rze,"getTabScrollButtonUtilityClass");const aze=Qe("MuiTabScrollButton",["root","vertical","horizontal","disabled"]),oze=["className","slots","slotProps","direction","orientation","disabled"],ize=o(e=>{const{classes:t,orientation:n,disabled:r}=e;return Je({root:["root",n,r&&"disabled"]},rze,t)},"useUtilityClasses$2"),sze=V(Fa,{name:"MuiTabScrollButton",slot:"Root",overridesResolver:o((e,t)=>{const{ownerState:n}=e;return[t.root,n.orientation&&t[n.orientation]]},"overridesResolver")})(({ownerState:e})=>R({width:40,flexShrink:0,opacity:.8,[`&.${aze.disabled}`]:{opacity:0}},e.orientation==="vertical"&&{width:"100%",height:40,"& svg":{transform:`rotate(${e.isRtl?-90:90}deg)`}})),cze=g.forwardRef(o(function(t,n){var r,a;const i=Ze({props:t,name:"MuiTabScrollButton"}),{className:s,slots:c={},slotProps:l={},direction:u}=i,d=ve(i,oze),p=Mc(),m=R({isRtl:p},i),v=ize(m),h=(r=c.StartScrollButtonIcon)!=null?r:qH,y=(a=c.EndScrollButtonIcon)!=null?a:VH,C=yo({elementType:h,externalSlotProps:l.startScrollButtonIcon,additionalProps:{fontSize:"small"},ownerState:m}),w=yo({elementType:y,externalSlotProps:l.endScrollButtonIcon,additionalProps:{fontSize:"small"},ownerState:m});return f.jsx(sze,R({component:"div",className:ee(v.root,s),ref:n,role:null,ownerState:m,tabIndex:null},d,{children:u==="left"?f.jsx(h,R({},C)):f.jsx(y,R({},w))}))},"TabScrollButton2"));function lze(e){return Ke("MuiTabs",e)}o(lze,"getTabsUtilityClass");const nC=Qe("MuiTabs",["root","vertical","flexContainer","flexContainerVertical","centered","scroller","fixed","scrollableX","scrollableY","hideScrollbar","scrollButtons","scrollButtonsHideMobile","indicator"]),uze=["aria-label","aria-labelledby","action","centered","children","className","component","allowScrollButtonsMobile","indicatorColor","onChange","orientation","ScrollButtonComponent","scrollButtons","selectionFollowsFocus","slots","slotProps","TabIndicatorProps","TabScrollButtonProps","textColor","value","variant","visibleScrollbar"],U5=o((e,t)=>e===t?e.firstChild:t&&t.nextElementSibling?t.nextElementSibling:e.firstChild,"nextItem"),H5=o((e,t)=>e===t?e.lastChild:t&&t.previousElementSibling?t.previousElementSibling:e.lastChild,"previousItem"),Mv=o((e,t,n)=>{let r=!1,a=n(e,t);for(;a;){if(a===e.firstChild){if(r)return;r=!0}const i=a.disabled||a.getAttribute("aria-disabled")==="true";if(!a.hasAttribute("tabindex")||i)a=n(e,a);else{a.focus();return}}},"moveFocus"),dze=o(e=>{const{vertical:t,fixed:n,hideScrollbar:r,scrollableX:a,scrollableY:i,centered:s,scrollButtonsHideMobile:c,classes:l}=e;return Je({root:["root",t&&"vertical"],scroller:["scroller",n&&"fixed",r&&"hideScrollbar",a&&"scrollableX",i&&"scrollableY"],flexContainer:["flexContainer",t&&"flexContainerVertical",s&&"centered"],indicator:["indicator"],scrollButtons:["scrollButtons",c&&"scrollButtonsHideMobile"],scrollableX:[a&&"scrollableX"],hideScrollbar:[r&&"hideScrollbar"]},lze,l)},"useUtilityClasses$1"),fze=V("div",{name:"MuiTabs",slot:"Root",overridesResolver:o((e,t)=>{const{ownerState:n}=e;return[{[`& .${nC.scrollButtons}`]:t.scrollButtons},{[`& .${nC.scrollButtons}`]:n.scrollButtonsHideMobile&&t.scrollButtonsHideMobile},t.root,n.vertical&&t.vertical]},"overridesResolver")})(({ownerState:e,theme:t})=>R({overflow:"hidden",minHeight:48,WebkitOverflowScrolling:"touch",display:"flex"},e.vertical&&{flexDirection:"column"},e.scrollButtonsHideMobile&&{[`& .${nC.scrollButtons}`]:{[t.breakpoints.down("sm")]:{display:"none"}}})),pze=V("div",{name:"MuiTabs",slot:"Scroller",overridesResolver:o((e,t)=>{const{ownerState:n}=e;return[t.scroller,n.fixed&&t.fixed,n.hideScrollbar&&t.hideScrollbar,n.scrollableX&&t.scrollableX,n.scrollableY&&t.scrollableY]},"overridesResolver")})(({ownerState:e})=>R({position:"relative",display:"inline-block",flex:"1 1 auto",whiteSpace:"nowrap"},e.fixed&&{overflowX:"hidden",width:"100%"},e.hideScrollbar&&{scrollbarWidth:"none","&::-webkit-scrollbar":{display:"none"}},e.scrollableX&&{overflowX:"auto",overflowY:"hidden"},e.scrollableY&&{overflowY:"auto",overflowX:"hidden"})),mze=V("div",{name:"MuiTabs",slot:"FlexContainer",overridesResolver:o((e,t)=>{const{ownerState:n}=e;return[t.flexContainer,n.vertical&&t.flexContainerVertical,n.centered&&t.centered]},"overridesResolver")})(({ownerState:e})=>R({display:"flex"},e.vertical&&{flexDirection:"column"},e.centered&&{justifyContent:"center"})),hze=V("span",{name:"MuiTabs",slot:"Indicator",overridesResolver:o((e,t)=>t.indicator,"overridesResolver")})(({ownerState:e,theme:t})=>R({position:"absolute",height:2,bottom:0,width:"100%",transition:t.transitions.create()},e.indicatorColor==="primary"&&{backgroundColor:(t.vars||t).palette.primary.main},e.indicatorColor==="secondary"&&{backgroundColor:(t.vars||t).palette.secondary.main},e.vertical&&{height:"100%",width:2,right:0})),gze=V(nze)({overflowX:"auto",overflowY:"hidden",scrollbarWidth:"none","&::-webkit-scrollbar":{display:"none"}}),q5={},GH=g.forwardRef(o(function(t,n){const r=Ze({props:t,name:"MuiTabs"}),a=Ko(),i=Mc(),{"aria-label":s,"aria-labelledby":c,action:l,centered:u=!1,children:d,className:p,component:m="div",allowScrollButtonsMobile:v=!1,indicatorColor:h="primary",onChange:y,orientation:C="horizontal",ScrollButtonComponent:w=cze,scrollButtons:x="auto",selectionFollowsFocus:b,slots:S={},slotProps:$={},TabIndicatorProps:j={},TabScrollButtonProps:_={},textColor:k="primary",value:E,variant:A="standard",visibleScrollbar:P=!1}=r,M=ve(r,uze),T=A==="scrollable",z=C==="vertical",O=z?"scrollTop":"scrollLeft",N=z?"top":"left",F=z?"bottom":"right",I=z?"clientHeight":"clientWidth",B=z?"height":"width",U=R({},r,{component:m,allowScrollButtonsMobile:v,indicatorColor:h,orientation:C,vertical:z,scrollButtons:x,textColor:k,variant:A,visibleScrollbar:P,fixed:!T,hideScrollbar:T&&!P,scrollableX:T&&!z,scrollableY:T&&z,centered:u&&!T,scrollButtonsHideMobile:!v}),te=dze(U),Z=yo({elementType:S.StartScrollButtonIcon,externalSlotProps:$.startScrollButtonIcon,ownerState:U}),be=yo({elementType:S.EndScrollButtonIcon,externalSlotProps:$.endScrollButtonIcon,ownerState:U}),[ne,le]=g.useState(!1),[oe,Se]=g.useState(q5),[xe,X]=g.useState(!1),[Re,me]=g.useState(!1),[re,De]=g.useState(!1),[Ee,$e]=g.useState({overflow:"hidden",scrollbarWidth:0}),Ce=new Map,st=g.useRef(null),D=g.useRef(null),J=o(()=>{const Y=st.current;let pe;if(Y){const Oe=Y.getBoundingClientRect();pe={clientWidth:Y.clientWidth,scrollLeft:Y.scrollLeft,scrollTop:Y.scrollTop,scrollLeftNormalized:z$e(Y,i?"rtl":"ltr"),scrollWidth:Y.scrollWidth,top:Oe.top,bottom:Oe.bottom,left:Oe.left,right:Oe.right}}let Le;if(Y&&E!==!1){const Oe=D.current.children;if(Oe.length>0){const dt=Oe[Ce.get(E)];Le=dt?dt.getBoundingClientRect():null}}return{tabsMeta:pe,tabMeta:Le}},"getTabsMeta"),H=cr(()=>{const{tabsMeta:Y,tabMeta:pe}=J();let Le=0,Oe;if(z)Oe="top",pe&&Y&&(Le=pe.top-Y.top+Y.scrollTop);else if(Oe=i?"right":"left",pe&&Y){const St=i?Y.scrollLeftNormalized+Y.clientWidth-Y.scrollWidth:Y.scrollLeft;Le=(i?-1:1)*(pe[Oe]-Y[Oe]+St)}const dt={[Oe]:Le,[B]:pe?pe[B]:0};if(isNaN(oe[Oe])||isNaN(oe[B]))Se(dt);else{const St=Math.abs(oe[Oe]-dt[Oe]),wt=Math.abs(oe[B]-dt[B]);(St>=1||wt>=1)&&Se(dt)}}),de=o((Y,{animation:pe=!0}={})=>{pe?ZOe(O,st.current,Y,{duration:a.transitions.duration.standard}):st.current[O]=Y},"scroll"),fe=o(Y=>{let pe=st.current[O];z?pe+=Y:(pe+=Y*(i?-1:1),pe*=i&&IU()==="reverse"?-1:1),de(pe)},"moveTabsScroll"),ue=o(()=>{const Y=st.current[I];let pe=0;const Le=Array.from(D.current.children);for(let Oe=0;Oe<Le.length;Oe+=1){const dt=Le[Oe];if(pe+dt[I]>Y){Oe===0&&(pe=Y);break}pe+=dt[I]}return pe},"getScrollSize"),he=o(()=>{fe(-1*ue())},"handleStartScrollClick"),We=o(()=>{fe(ue())},"handleEndScrollClick"),rt=g.useCallback(Y=>{$e({overflow:null,scrollbarWidth:Y})},[]),Ue=o(()=>{const Y={};Y.scrollbarSizeListener=T?f.jsx(gze,{onChange:rt,className:ee(te.scrollableX,te.hideScrollbar)}):null;const Le=T&&(x==="auto"&&(xe||Re)||x===!0);return Y.scrollButtonStart=Le?f.jsx(w,R({slots:{StartScrollButtonIcon:S.StartScrollButtonIcon},slotProps:{startScrollButtonIcon:Z},orientation:C,direction:i?"right":"left",onClick:he,disabled:!xe},_,{className:ee(te.scrollButtons,_.className)})):null,Y.scrollButtonEnd=Le?f.jsx(w,R({slots:{EndScrollButtonIcon:S.EndScrollButtonIcon},slotProps:{endScrollButtonIcon:be},orientation:C,direction:i?"left":"right",onClick:We,disabled:!Re},_,{className:ee(te.scrollButtons,_.className)})):null,Y},"getConditionalElements"),Ne=cr(Y=>{const{tabsMeta:pe,tabMeta:Le}=J();if(!(!Le||!pe)){if(Le[N]<pe[N]){const Oe=pe[O]+(Le[N]-pe[N]);de(Oe,{animation:Y})}else if(Le[F]>pe[F]){const Oe=pe[O]+(Le[F]-pe[F]);de(Oe,{animation:Y})}}}),ye=cr(()=>{T&&x!==!1&&De(!re)});g.useEffect(()=>{const Y=dp(()=>{st.current&&H()});let pe;const Le=o(St=>{St.forEach(wt=>{wt.removedNodes.forEach(Bt=>{var G;(G=pe)==null||G.unobserve(Bt)}),wt.addedNodes.forEach(Bt=>{var G;(G=pe)==null||G.observe(Bt)})}),Y(),ye()},"handleMutation"),Oe=go(st.current);Oe.addEventListener("resize",Y);let dt;return typeof ResizeObserver<"u"&&(pe=new ResizeObserver(Y),Array.from(D.current.children).forEach(St=>{pe.observe(St)})),typeof MutationObserver<"u"&&(dt=new MutationObserver(Le),dt.observe(D.current,{childList:!0})),()=>{var St,wt;Y.clear(),Oe.removeEventListener("resize",Y),(St=dt)==null||St.disconnect(),(wt=pe)==null||wt.disconnect()}},[H,ye]),g.useEffect(()=>{const Y=Array.from(D.current.children),pe=Y.length;if(typeof IntersectionObserver<"u"&&pe>0&&T&&x!==!1){const Le=Y[0],Oe=Y[pe-1],dt={root:st.current,threshold:.99},St=o(Q=>{X(!Q[0].isIntersecting)},"handleScrollButtonStart"),wt=new IntersectionObserver(St,dt);wt.observe(Le);const Bt=o(Q=>{me(!Q[0].isIntersecting)},"handleScrollButtonEnd"),G=new IntersectionObserver(Bt,dt);return G.observe(Oe),()=>{wt.disconnect(),G.disconnect()}}},[T,x,re,d==null?void 0:d.length]),g.useEffect(()=>{le(!0)},[]),g.useEffect(()=>{H()}),g.useEffect(()=>{Ne(q5!==oe)},[Ne,oe]),g.useImperativeHandle(l,()=>({updateIndicator:H,updateScrollButtons:ye}),[H,ye]);const ot=f.jsx(hze,R({},j,{className:ee(te.indicator,j.className),ownerState:U,style:R({},oe,j.style)}));let ft=0;const yt=g.Children.map(d,Y=>{if(!g.isValidElement(Y))return null;const pe=Y.props.value===void 0?ft:Y.props.value;Ce.set(pe,ft);const Le=pe===E;return ft+=1,g.cloneElement(Y,R({fullWidth:A==="fullWidth",indicator:Le&&!ne&&ot,selected:Le,selectionFollowsFocus:b,onChange:y,textColor:k,value:pe},ft===1&&E===!1&&!Y.props.tabIndex?{tabIndex:0}:{}))}),W=o(Y=>{const pe=D.current,Le=tr(pe).activeElement;if(Le.getAttribute("role")!=="tab")return;let dt=C==="horizontal"?"ArrowLeft":"ArrowUp",St=C==="horizontal"?"ArrowRight":"ArrowDown";switch(C==="horizontal"&&i&&(dt="ArrowRight",St="ArrowLeft"),Y.key){case dt:Y.preventDefault(),Mv(pe,Le,H5);break;case St:Y.preventDefault(),Mv(pe,Le,U5);break;case"Home":Y.preventDefault(),Mv(pe,null,U5);break;case"End":Y.preventDefault(),Mv(pe,null,H5);break}},"handleKeyDown"),K=Ue();return f.jsxs(fze,R({className:ee(te.root,p),ownerState:U,ref:n,as:m},M,{children:[K.scrollButtonStart,K.scrollbarSizeListener,f.jsxs(pze,{className:te.scroller,ownerState:U,style:{overflow:Ee.overflow,[z?`margin${i?"Left":"Right"}`:"marginBottom"]:P?void 0:-Ee.scrollbarWidth},ref:st,children:[f.jsx(mze,{"aria-label":s,"aria-labelledby":c,"aria-orientation":C==="vertical"?"vertical":null,className:te.flexContainer,ownerState:U,onKeyDown:W,ref:D,role:"tablist",children:yt}),ne&&ot]}),K.scrollButtonEnd]}))},"Tabs2"));function vze(e){return Ke("MuiTextField",e)}o(vze,"getTextFieldUtilityClass");Qe("MuiTextField",["root"]);const yze=["autoComplete","autoFocus","children","className","color","defaultValue","disabled","error","FormHelperTextProps","fullWidth","helperText","id","InputLabelProps","inputProps","InputProps","inputRef","label","maxRows","minRows","multiline","name","onBlur","onChange","onFocus","placeholder","required","rows","select","SelectProps","type","value","variant"],bze={standard:PR,filled:O1,outlined:zR},xze=o(e=>{const{classes:t}=e;return Je({root:["root"]},vze,t)},"useUtilityClasses"),wze=V(g8e,{name:"MuiTextField",slot:"Root",overridesResolver:o((e,t)=>t.root,"overridesResolver")})({}),ys=g.forwardRef(o(function(t,n){const r=Ze({props:t,name:"MuiTextField"}),{autoComplete:a,autoFocus:i=!1,children:s,className:c,color:l="primary",defaultValue:u,disabled:d=!1,error:p=!1,FormHelperTextProps:m,fullWidth:v=!1,helperText:h,id:y,InputLabelProps:C,inputProps:w,InputProps:x,inputRef:b,label:S,maxRows:$,minRows:j,multiline:_=!1,name:k,onBlur:E,onChange:A,onFocus:P,placeholder:M,required:T=!1,rows:z,select:O=!1,SelectProps:N,type:F,value:I,variant:B="outlined"}=r,U=ve(r,yze),te=R({},r,{autoFocus:i,color:l,disabled:d,error:p,fullWidth:v,multiline:_,required:T,select:O,variant:B}),Z=xze(te),be={};B==="outlined"&&(C&&typeof C.shrink<"u"&&(be.notched=C.shrink),be.label=S),O&&((!N||!N.native)&&(be.id=void 0),be["aria-describedby"]=void 0);const ne=yc(y),le=h&&ne?`${ne}-helper-text`:void 0,oe=S&&ne?`${ne}-label`:void 0,Se=bze[B],xe=f.jsx(Se,R({"aria-describedby":le,autoComplete:a,autoFocus:i,defaultValue:u,fullWidth:v,multiline:_,name:k,rows:z,maxRows:$,minRows:j,type:F,value:I,id:ne,inputRef:b,onBlur:E,onChange:A,onFocus:P,placeholder:M,inputProps:w},be,x));return f.jsxs(wze,R({className:ee(Z.root,c),disabled:d,error:p,fullWidth:v,ref:n,required:T,color:l,variant:B,ownerState:te},U,{children:[S!=null&&S!==""&&f.jsx(fMe,R({htmlFor:ne,id:oe},C,{children:S})),O?f.jsx(LR,R({"aria-describedby":le,id:ne,labelId:oe,value:I,input:xe},N,{children:s})):xe,h&&f.jsx(PH,R({id:le},m,{children:h}))]}))},"TextField2")),Cze=["getTrigger","target"];function Sze(e,t){const{disableHysteresis:n=!1,threshold:r=100,target:a}=t,i=e.current;return a&&(e.current=a.pageYOffset!==void 0?a.pageYOffset:a.scrollTop),!n&&i!==void 0&&e.current<i?!1:e.current>r}o(Sze,"defaultTrigger");const jze=typeof window<"u"?window:null;function KH(e={}){const{getTrigger:t=Sze,target:n=jze}=e,r=ve(e,Cze),a=g.useRef(),[i,s]=g.useState(()=>t(a,r));return g.useEffect(()=>{const c=o(()=>{s(t(a,R({target:n},r)))},"handleScroll");return c(),n.addEventListener("scroll",c,{passive:!0}),()=>{n.removeEventListener("scroll",c,{passive:!0})}},[n,t,JSON.stringify(r)]),i}o(KH,"useScrollTrigger");var DR={},rC={};const $ze=Li(m_e);var V5;function vt(){return V5||(V5=1,function(e){"use client";Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:o(function(){return t.createSvgIcon},"get")});var t=$ze}(rC)),rC}o(vt,"requireCreateSvgIcon");var _ze=ht;Object.defineProperty(DR,"__esModule",{value:!0});var NR=DR.default=void 0,kze=_ze(vt()),Eze=f;NR=DR.default=(0,kze.default)((0,Eze.jsx)("path",{d:"M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2m-6 9c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2m3.1-9H8.9V6c0-1.71 1.39-3.1 3.1-3.1 1.71 0 3.1 1.39 3.1 3.1z"}),"Lock");const Qo=o(e=>{const t=Ze({props:e,name:"RaButton"}),{alignIcon:n="left",children:r,className:a,disabled:i,label:s,color:c="primary",size:l="small",to:u,...d}=t,p=nt(),m=s?p(s,{_:s}):void 0,v=Pze(u);return ta(y=>y.breakpoints.down("sm"))?s&&!i?f.jsx(Fo,{title:m,children:f.jsx(cn,{"aria-label":m,className:a,color:c,size:"large",...v,...d,children:r})}):f.jsx(cn,{className:a,color:c,disabled:i,size:"large",...v,...d,children:r}):f.jsx(Aze,{className:a,color:c,size:l,"aria-label":m,disabled:i,startIcon:n==="left"&&r?r:void 0,endIcon:n==="right"&&r?r:void 0,...v,...d,children:m})},"Button"),Rze="RaButton",Aze=V(gn,{name:Rze,overridesResolver:o((e,t)=>t.root,"overridesResolver")})({"&.MuiButton-sizeSmall":{lineHeight:1.5}}),Pze=o(e=>{if(e==null)return;if(typeof e=="string")return{to:e};const{redirect:t,replace:n,state:r,...a}=e;return{to:a,redirect:t,replace:n,state:r}},"getLinkParams$1");var FR={},Mze=ht;Object.defineProperty(FR,"__esModule",{value:!0});var JH=FR.default=void 0,Tze=Mze(vt()),Oze=f;JH=FR.default=(0,Tze.default)((0,Oze.jsx)("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6z"}),"Add");const zze=o(e=>{const{className:t,icon:n=Lze,label:r="ra.action.create",resource:a,scrollToTop:i=!0,variant:s,to:c,state:l={},...u}=e,d=Nt(e),p=Ho(),m=nt(),v=ta(C=>C.breakpoints.down("md")),h=Qk({},Ize.get(String(i)),l),y=Fze(c);return v?f.jsx(Dze,{component:Dr,to:p({resource:d,type:"create"}),state:h,color:"primary",className:ee(b3.floating,t),"aria-label":r&&m(r),...u,...y,children:n}):f.jsx(Nze,{component:Dr,to:p({resource:d,type:"create"}),state:h,className:ee(b3.root,t),label:r,variant:s,...u,...y,children:n})},"CreateButton"),Ize=new Map([["true",{_scrollToTop:!0}],["false",{}]]),Lze=f.jsx(JH,{}),Vb="RaCreateButton",b3={root:`${Vb}-root`,floating:`${Vb}-floating`},Dze=V(s8e,{name:Vb,overridesResolver:o((e,t)=>t.root,"overridesResolver")})(({theme:e})=>({[`&.${b3.floating}`]:{color:e.palette.getContrastText(e.palette.primary.main),margin:0,top:"auto",right:20,bottom:60,left:"auto",position:"fixed",zIndex:1e3}})),Nze=V(Qo,{name:Vb,overridesResolver:o((e,t)=>t.root,"overridesResolver")})({}),L1=g.memo(zze,(e,t)=>e.resource===t.resource&&e.label===t.label&&e.translate===t.translate&&e.disabled===t.disabled&&va(e.to,t.to)&&va(e.state,t.state)),Fze=o(e=>{if(e==null)return;if(typeof e=="string")return{to:e};const{redirect:t,replace:n,state:r,...a}=e;return{to:a,redirect:t,replace:n,state:r}},"getLinkParams");var BR={},Bze=ht;Object.defineProperty(BR,"__esModule",{value:!0});var YH=BR.default=void 0,Wze=Bze(vt()),Uze=f;YH=BR.default=(0,Wze.default)((0,Uze.jsx)("path",{d:"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5M12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5m0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3"}),"RemoveRedEye");const Hze=o(e=>{const{icon:t=Vze,label:n="ra.action.show",record:r,resource:a,scrollToTop:i=!0,...s}=e,c=Nt(e),l=un(e),u=Ho();return l?f.jsx(Qo,{component:Dr,to:u({type:"show",resource:c,id:l.id}),state:qze[String(i)],label:n,onClick:Gze,...s,children:t}):null},"ShowButton"),qze={true:{_scrollToTop:!0},false:{}},Vze=f.jsx(YH,{}),Gze=o(e=>e.stopPropagation(),"stopPropagation$5"),WR=g.memo(Hze,(e,t)=>e.resource===t.resource&&(e.record&&t.record?e.record.id===t.record.id:e.record==t.record)&&e.label===t.label&&e.disabled===t.disabled);var UR={},Kze=ht;Object.defineProperty(UR,"__esModule",{value:!0});var QH=UR.default=void 0,Jze=Kze(vt()),Yze=f;QH=UR.default=(0,Jze.default)((0,Yze.jsx)("path",{d:"M3 18h6v-2H3zM3 6v2h18V6zm0 7h12v-2H3z"}),"Sort");var HR={},Qze=ht;Object.defineProperty(HR,"__esModule",{value:!0});var XH=HR.default=void 0,Xze=Qze(vt()),Zze=f;XH=HR.default=(0,Xze.default)((0,Zze.jsx)("path",{d:"m7 10 5 5 5-5z"}),"ArrowDropDown");const e5e=o(e=>{const{fields:t,label:n="ra.sort.sort_by",icon:r=t5e,sx:a,className:i,resource:s}=e,{resource:c,sort:l,setSort:u}=D0e(),d=s||c,p=nt(),m=IE(),v=ta(S=>S.breakpoints.down("sm")),[h,y]=g.useState(null),C=o(S=>{y(S.currentTarget)},"handleClick"),w=o(()=>{y(null)},"handleClose"),x=o(S=>{const $=S.currentTarget.dataset.sort;if(!$)throw new Error("<SortButton> MenuItems should have a data-sort attribute");u({field:$,order:$===l.field?G5(l.order):"ASC"}),y(null)},"handleChangeSort"),b=p(n,{field:m({resource:d,source:l.field}),order:p(`ra.sort.${l.order}`),_:n});return f.jsxs(r5e,{sx:a,className:ee(i,eq.root),children:[v?f.jsx(Fo,{title:b,children:f.jsx(cn,{"aria-label":b,color:"primary",onClick:C,size:"large",children:r})}):f.jsx(gn,{"aria-controls":"simple-menu","aria-haspopup":"true",color:"primary",onClick:C,startIcon:r,endIcon:f.jsx(XH,{}),size:"small",children:b}),f.jsx(Jl,{id:"simple-menu",anchorEl:h,keepMounted:!0,open:!!h,onClose:w,children:t.map(S=>f.jsxs(Gn,{onClick:x,"data-sort":S,children:[m({resource:d,source:S})," ",p(`ra.sort.${l.field===S?G5(l.order):"ASC"}`)]},S))})]})},"SortButton"),t5e=f.jsx(QH,{}),G5=o(e=>e==="ASC"?"DESC":"ASC","inverseOrder"),n5e=o((e,t)=>Ex(e.fields,t.fields),"arePropsEqual$1"),ZH="RaSortButton",eq={root:`${ZH}-root`},r5e=V("span",{name:ZH,overridesResolver:o((e,t)=>t.root,"overridesResolver")})({[`.${eq.root}`]:{},"& .MuiButton-sizeSmall":{lineHeight:1.5},"& .MuiButton-endIcon":{ml:0}}),tq=g.memo(e5e,n5e);var qR={},a5e=ht;Object.defineProperty(qR,"__esModule",{value:!0});var hp=qR.default=void 0,o5e=a5e(vt()),i5e=f;hp=qR.default=(0,o5e.default)((0,i5e.jsx)("path",{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6zM19 4h-3.5l-1-1h-5l-1 1H5v2h14z"}),"Delete");var VR={},s5e=ht;Object.defineProperty(VR,"__esModule",{value:!0});var nq=VR.default=void 0,c5e=s5e(vt()),l5e=f;nq=VR.default=(0,c5e.default)((0,l5e.jsx)("path",{d:"M3 18h18v-2H3zm0-5h18v-2H3zm0-7v2h18V6z"}),"Menu");const D1=o(()=>{const e=ta(t=>t==null?void 0:t.breakpoints.down("sm"),{noSsr:!0});return So("sidebar.open",!e)},"useSidebarState"),u5e=o(e=>{const t=nt(),{className:n}=e,[r,a]=D1();return f.jsx(Fo,{className:n,title:t(r?"ra.action.close_menu":"ra.action.open_menu",{_:"Open/Close menu"}),enterDelay:500,children:f.jsx(d5e,{color:"inherit",onClick:o(()=>a(!r),"onClick"),children:f.jsx(nq,{classes:{root:r?Gb.menuButtonIconOpen:Gb.menuButtonIconClosed}})})})},"SidebarToggleButton"),x3="RaSidebarToggleButton",Gb={menuButtonIconClosed:`${x3}-menuButtonIconClosed`,menuButtonIconOpen:`${x3}-menuButtonIconOpen`},d5e=V(cn,{name:x3,overridesResolver:o((e,t)=>t.root,"overridesResolver")})(({theme:e})=>({[`& .${Gb.menuButtonIconClosed}`]:{transition:e.transitions.create(["transform"],{easing:e.transitions.easing.sharp,duration:e.transitions.duration.leavingScreen}),transform:"rotate(0deg)"},[`& .${Gb.menuButtonIconOpen}`]:{transition:e.transitions.create(["transform"],{easing:e.transitions.easing.sharp,duration:e.transitions.duration.leavingScreen}),transform:"rotate(180deg)"}})),rq=o(e=>{const{className:t,onClick:n,sx:r,...a}=e,i=eve(),s=Ko();return f.jsxs(f5e,{className:t,sx:r,children:[f.jsx(B6e,{className:`${ld.loadedIcon} ${i&&ld.loadedLoading}`,onClick:n}),i&&f.jsx(kg,{className:ee("app-loader",ld.loader),color:"inherit",size:s.spacing(2),thickness:6,...a})]})},"LoadingIndicator"),Cy="RaLoadingIndicator",ld={loader:`${Cy}-loader`,loadedLoading:`${Cy}-loadedLoading`,loadedIcon:`${Cy}-loadedIcon`},f5e=V("div",{name:Cy,overridesResolver:o((e,t)=>t.root,"overridesResolver")})({position:"relative",[`& .${ld.loadedIcon}`]:{[`&.${ld.loadedLoading}`]:{opacity:0}},[`& .${ld.loader}`]:{position:"absolute",top:"30%",left:"30%"}});var GR={},p5e=ht;Object.defineProperty(GR,"__esModule",{value:!0});var KR=GR.default=void 0,m5e=p5e(vt()),h5e=f;KR=GR.default=(0,m5e.default)((0,h5e.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 4c1.93 0 3.5 1.57 3.5 3.5S13.93 13 12 13s-3.5-1.57-3.5-3.5S10.07 6 12 6m0 14c-2.03 0-4.43-.82-6.14-2.88C7.55 15.8 9.68 15 12 15s4.45.8 6.14 2.12C16.43 19.18 14.03 20 12 20"}),"AccountCircle");const g5e=g.createContext(void 0),v5e=o(({children:e,value:t})=>f.jsx(g5e.Provider,{value:t,children:e}),"UserMenuContextProvider");var JR={},y5e=ht;Object.defineProperty(JR,"__esModule",{value:!0});var aq=JR.default=void 0,b5e=y5e(vt()),x5e=f;aq=JR.default=(0,b5e.default)((0,x5e.jsx)("path",{d:"M13 3h-2v10h2zm4.83 2.17-1.42 1.42C17.99 7.86 19 9.81 19 12c0 3.87-3.13 7-7 7s-7-3.13-7-7c0-2.19 1.01-4.14 2.58-5.42L6.17 5.17C4.23 6.82 3 9.26 3 12c0 4.97 4.03 9 9 9s9-4.03 9-9c0-2.74-1.23-5.18-3.17-6.83"}),"PowerSettingsNew");const oq=g.forwardRef(o(function(t,n){const{className:r,redirectTo:a,icon:i,...s}=t,{authenticated:c}=SW(),l=ta(m=>m.breakpoints.down("sm")),u=nt(),d=op(),p=g.useCallback(()=>d(null,a,!1),[a,d]);return c?f.jsxs(w5e,{className:ee("logout",r),onClick:p,ref:n,component:l?"span":"li",...s,children:[f.jsx(Il,{className:sq.icon,children:i||f.jsx(aq,{fontSize:"small"})}),f.jsx(_s,{children:u("ra.auth.logout",{_:"Logout"})})]}):null},"Logout2")),iq="RaLogout",sq={icon:`${iq}-icon`},w5e=V(Gn,{name:iq,overridesResolver:o((e,t)=>t.root,"overridesResolver")})({[`& .${sq.icon}`]:{}}),YR=o(e=>{const[t,n]=g.useState(null),r=nt(),{isPending:a,identity:i}=Go(),s=Cs(),c=ta(C=>C.breakpoints.up("sm")),{children:l=s?f.jsx(oq,{}):null,className:u,label:d="ra.auth.user_menu",icon:p=S5e}=e,m=o(C=>n(C.currentTarget),"handleMenu"),v=g.useCallback(()=>n(null),[]),h=g.useMemo(()=>({onClose:v}),[v]);if(!l)return null;const y=!!t;return f.jsxs(C5e,{className:u,children:[c&&!a&&(i!=null&&i.fullName)?f.jsx(gn,{"aria-label":d&&r(d,{_:d}),className:Dm.userButton,color:"inherit",startIcon:i.avatar?f.jsx(Da,{className:Dm.avatar,src:i.avatar,alt:i.fullName}):p,onClick:m,variant:"text",children:i.fullName}):f.jsx(Fo,{title:d&&r(d,{_:"Profile"}),children:f.jsx(cn,{"aria-label":d&&r(d,{_:"Profile"}),"aria-owns":y?"menu-appbar":void 0,"aria-haspopup":!0,color:"inherit",onClick:m,children:!a&&(i!=null&&i.avatar)?f.jsx(Da,{className:Dm.avatar,src:i.avatar,alt:i.fullName}):p})}),f.jsx(v5e,{value:h,children:f.jsx(Jl,{id:"menu-appbar",disableScrollLock:!0,anchorEl:t,anchorOrigin:j5e,transformOrigin:$5e,open:y,onClose:v,children:l})})]})},"UserMenu"),w3="RaUserMenu",Dm={userButton:`${w3}-userButton`,avatar:`${w3}-avatar`},C5e=V("div",{name:w3,overridesResolver:o((e,t)=>t.root,"overridesResolver")})(({theme:e})=>({[`& .${Dm.userButton}`]:{textTransform:"none",marginInlineStart:e.spacing(.5)},[`& .${Dm.avatar}`]:{width:e.spacing(3),height:e.spacing(3)}})),S5e=f.jsx(KR,{}),j5e={vertical:"bottom",horizontal:"right"},$5e={vertical:"top",horizontal:"right"},_5e=o(e=>{const{children:t,className:n}=e,r=KH();return f.jsx(EH,{appear:!1,direction:"down",in:!r,className:n,children:t})},"HideOnScroll"),k5e=o(e=>f.jsx(et,{flex:"1",textOverflow:"ellipsis",whiteSpace:"nowrap",overflow:"hidden",variant:"h6",color:"inherit",id:"react-admin-title",...e}),"TitlePortal"),cq=g.createContext({}),N1=o(e=>{const{lightTheme:t,darkTheme:n,defaultTheme:r}={},a=g.useContext(cq);return{lightTheme:t||a.lightTheme,darkTheme:n||a.darkTheme,defaultTheme:r??a.defaultTheme}},"useThemesContext");var QR={},E5e=ht;Object.defineProperty(QR,"__esModule",{value:!0});var lq=QR.default=void 0,R5e=E5e(vt()),A5e=f;lq=QR.default=(0,R5e.default)((0,A5e.jsx)("path",{d:"M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zM12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6c3.31 0 6 2.69 6 6s-2.69 6-6 6"}),"Brightness4");var XR={},P5e=ht;Object.defineProperty(XR,"__esModule",{value:!0});var uq=XR.default=void 0,M5e=P5e(vt()),T5e=f;uq=XR.default=(0,M5e.default)((0,T5e.jsx)("path",{d:"M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zM12 18c-3.31 0-6-2.69-6-6s2.69-6 6-6 6 2.69 6 6-2.69 6-6 6m0-10c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4"}),"Brightness7");const dq=o(e=>{const{darkTheme:t}=N1(),n=ta("(prefers-color-scheme: dark)",{noSsr:!0}),[r,a]=So("theme",e??(n&&t?"dark":"light"));return[t!=null?r:"light",a]},"useTheme"),O5e=o(({children:e})=>{const{lightTheme:t,darkTheme:n,defaultTheme:r}=N1(),a=ta("(prefers-color-scheme: dark)",{noSsr:!0}),[i]=dq(r||(a&&n?"dark":"light")),s=g.useMemo(()=>{try{return Fb(i==="dark"?n:t)}catch(c){return console.warn("Failed to reuse custom theme from store",c),Fb()}},[i,t,n]);return f.jsx(c_e,{theme:s,children:e})},"ThemeProvider"),fq={typography:{h6:{fontWeight:400}},sidebar:{width:240,closedWidth:50},components:{MuiAutocomplete:{defaultProps:{fullWidth:!0},variants:[{props:{},style:o(({theme:e})=>({[e.breakpoints.down("sm")]:{width:"100%"}}),"style")}]},MuiTextField:{defaultProps:{variant:"filled",margin:"dense",size:"small",fullWidth:!0},variants:[{props:{},style:o(({theme:e})=>({[e.breakpoints.down("sm")]:{width:"100%"}}),"style")}]},MuiFormControl:{defaultProps:{variant:"filled",margin:"dense",size:"small",fullWidth:!0}},RaSimpleFormIterator:{defaultProps:{fullWidth:!0}},RaTranslatableInputs:{defaultProps:{fullWidth:!0}}}},pq=Er(fq,{palette:{background:{default:"#fafafb"},secondary:{light:"#6ec6ff",main:"#2196f3",dark:"#0069c0",contrastText:"#fff"}},components:{MuiFilledInput:{styleOverrides:{root:{backgroundColor:"rgba(0, 0, 0, 0.04)","&$disabled":{backgroundColor:"rgba(0, 0, 0, 0.04)"}}}}}}),z5e=Er(fq,{palette:{mode:"dark",primary:{main:"#90caf9"},background:{default:"#313131"}}}),I5e=pq,L5e=o(()=>{const e=nt(),{darkTheme:t,defaultTheme:n}=N1(),r=ta("(prefers-color-scheme: dark)",{noSsr:!0}),[a,i]=dq(n||(r&&t?"dark":"light")),s=o(()=>{i(a==="dark"?"light":"dark")},"handleTogglePaletteType"),c=e("ra.action.toggle_theme",{_:"Toggle Theme"});return f.jsx(Fo,{title:c,enterDelay:300,children:f.jsx(cn,{color:"inherit",onClick:s,"aria-label":c,children:a==="dark"?f.jsx(uq,{}):f.jsx(lq,{})})})},"ToggleThemeButton"),D5e=g.memo(e=>{const{alwaysOn:t,children:n,className:r,color:a="secondary",toolbar:i=F5e,userMenu:s=B5e,container:c=t?"div":_5e,...l}=e,u=ta(d=>d.breakpoints.down("sm"));return f.jsx(c,{className:r,children:f.jsx(W5e,{className:el.appBar,color:a,...l,children:f.jsxs(Yl,{disableGutters:!0,variant:u?"regular":"dense",className:el.toolbar,children:[f.jsx(u5e,{className:el.menuButton}),g.Children.count(n)===0?f.jsx(k5e,{className:el.title}):n,i,typeof s=="boolean"?s===!0?f.jsx(YR,{}):null:s]})})})}),N5e=o(()=>{const e=z7(),{darkTheme:t}=N1();return f.jsxs(f.Fragment,{children:[e&&e.length>1?f.jsx(P6e,{}):null,t&&f.jsx(L5e,{}),f.jsx(rq,{})]})},"DefaultToolbar"),F5e=f.jsx(N5e,{}),B5e=f.jsx(YR,{}),Uc="RaAppBar",el={appBar:`${Uc}-appBar`,toolbar:`${Uc}-toolbar`,menuButton:`${Uc}-menuButton`,menuButtonIconClosed:`${Uc}-menuButtonIconClosed`,menuButtonIconOpen:`${Uc}-menuButtonIconOpen`,title:`${Uc}-title`},W5e=V(eH,{name:Uc,overridesResolver:o((e,t)=>t.root,"overridesResolver")})(({theme:e})=>({[`& .${el.toolbar}`]:{padding:`0 ${e.spacing(1)}`,[e.breakpoints.down("md")]:{minHeight:e.spacing(6)}},[`& .${el.menuButton}`]:{marginRight:"0.2em"},[`& .${el.title}`]:{}})),U5e=g.forwardRef((e,t)=>{const{ButtonProps:n,updateText:r="ra.action.update_application",notificationText:a="ra.notification.application_update_available",...i}=e,s=nt(),c=o(()=>{window.location.reload()},"handleButtonClick");return f.jsx(lke,{ref:t,severity:"info",action:f.jsx(gn,{color:"inherit",size:"small",onClick:c,...n,children:s(r,{_:r})}),...i,children:s(a,{_:a})})}),H5e=o(e=>{const{notification:t=q5e,...n}=e,r=Kn();return A1e({onNewVersionAvailable:o(()=>{r(t,{type:"info",autoHideDuration:null})},"onNewVersionAvailable"),...n}),null},"CheckForApplicationUpdate"),q5e=f.jsx(U5e,{});var ZR={},V5e=ht;Object.defineProperty(ZR,"__esModule",{value:!0});var mq=ZR.default=void 0,G5e=V5e(vt()),K5e=f;mq=ZR.default=(0,G5e.default)((0,K5e.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m-2 15-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8z"}),"CheckCircle");var eA={},J5e=ht;Object.defineProperty(eA,"__esModule",{value:!0});var hq=eA.default=void 0,Y5e=J5e(vt()),Q5e=f;hq=eA.default=(0,Y5e.default)((0,Q5e.jsx)("path",{d:"M11 15h2v2h-2zm0-8h2v6h-2zm.99-5C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2M12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8"}),"ErrorOutline");const gq=o(e=>{const{className:t,isOpen:n=!1,loading:r,title:a,content:i,cancel:s="ra.action.cancel",confirm:c="ra.action.confirm",confirmColor:l="primary",ConfirmIcon:u=mq,CancelIcon:d=hq,onClose:p,onConfirm:m,translateOptions:v={},...h}=e,y=nt(),C=g.useCallback(x=>{x.stopPropagation(),m(x)},[m]),w=g.useCallback(x=>{x.stopPropagation()},[]);return f.jsxs(X5e,{className:t,open:n,onClose:p,onClick:w,"aria-labelledby":"alert-dialog-title",...h,children:[f.jsx(Pg,{id:"alert-dialog-title",children:typeof a=="string"?y(a,{_:a,...v}):a}),f.jsx(Ag,{children:typeof i=="string"?f.jsx(kH,{children:y(i,{_:i,...v})}):i}),f.jsxs(Rg,{children:[f.jsx(gn,{disabled:r,onClick:p,startIcon:f.jsx(d,{}),children:y(s,{_:s})}),f.jsx(gn,{disabled:r,onClick:C,className:ee("ra-confirm",{[Kb.confirmWarning]:l==="warning",[Kb.confirmPrimary]:l==="primary"}),autoFocus:!0,startIcon:f.jsx(u,{}),children:y(c,{_:c})})]})]})},"Confirm"),C3="RaConfirm",Kb={confirmPrimary:`${C3}-confirmPrimary`,confirmWarning:`${C3}-confirmWarning`},X5e=V(Eg,{name:C3,overridesResolver:o((e,t)=>t.root,"overridesResolver")})(({theme:e})=>({[`& .${Kb.confirmPrimary}`]:{color:e.palette.primary.main},[`& .${Kb.confirmWarning}`]:{color:e.palette.error.main,"&:hover":{backgroundColor:Sh(e.palette.error.main,.12),"@media (hover: none)":{backgroundColor:"transparent"}}}}));var tA={},Z5e=ht;Object.defineProperty(tA,"__esModule",{value:!0});var vq=tA.default=void 0,eIe=Z5e(vt()),tIe=f;vq=tA.default=(0,eIe.default)((0,tIe.jsx)("path",{d:"M3 13h8V3H3zm0 8h8v-6H3zm10 0h8V11h-8zm0-18v6h8V3z"}),"Dashboard");const nA=g.forwardRef((e,t)=>{const{className:n,primaryText:r,leftIcon:a,onClick:i,sidebarIsOpen:s,tooltipProps:c,children:l,...u}=e,d=ta(b=>b.breakpoints.down("md")),p=nt(),m=kc(),[v,h]=D1(),y=g.useCallback(b=>{d&&h(!1),i&&i(b)},[h,d,i]),C=(typeof e.to=="string"?e.to:e.to.pathname)||"",w=cre({path:C,end:C===`${m}/`}),x=o(()=>f.jsxs(nIe,{className:ee(n,{[Jb.active]:!!w}),component:rIe,ref:t,tabIndex:0,...u,onClick:y,children:[a&&f.jsx(Il,{className:Jb.icon,children:a}),l||(typeof r=="string"?p(r,{_:r}):r)]}),"renderMenuItem");return v?x():f.jsx(Fo,{title:typeof r=="string"?p(r,{_:r}):r,placement:"right",...c,children:x()})}),S3="RaMenuItemLink",Jb={active:`${S3}-active`,icon:`${S3}-icon`},nIe=V(Gn,{name:S3,overridesResolver:o((e,t)=>t.root,"overridesResolver")})(({theme:e})=>({color:e.palette.text.secondary,[`&.${Jb.active}`]:{color:e.palette.text.primary},[`& .${Jb.icon}`]:{minWidth:e.spacing(5)}})),rIe=g.forwardRef((e,t)=>f.jsx(Dr,{ref:t,...e})),yq=o(e=>{const t=kc(),{leftIcon:n=f.jsx(vq,{}),to:r=`${t}/`,primaryText:a="ra.page.dashboard",...i}=e;return f.jsx(nA,{leftIcon:n,to:r,primaryText:a,...i})},"DashboardMenuItem");var rA={},aIe=ht;Object.defineProperty(rA,"__esModule",{value:!0});var bq=rA.default=void 0,oIe=aIe(vt()),iIe=f;bq=rA.default=(0,oIe.default)((0,iIe.jsx)("path",{d:"M15.73 3H8.27L3 8.27v7.46L8.27 21h7.46L21 15.73V8.27zM12 17.3c-.72 0-1.3-.58-1.3-1.3 0-.72.58-1.3 1.3-1.3.72 0 1.3.58 1.3 1.3 0 .72-.58 1.3-1.3 1.3m1-4.3h-2V7h2z"}),"Report");var aA={},sIe=ht;Object.defineProperty(aA,"__esModule",{value:!0});var Mg=aA.default=void 0,cIe=sIe(vt()),lIe=f;Mg=aA.default=(0,cIe.default)((0,lIe.jsx)("path",{d:"M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z"}),"ExpandMore");var oA={},uIe=ht;Object.defineProperty(oA,"__esModule",{value:!0});var iA=oA.default=void 0,dIe=uIe(vt()),fIe=f;iA=oA.default=(0,dIe.default)((0,fIe.jsx)("path",{d:"M13 3c-4.97 0-9 4.03-9 9H1l3.89 3.89.07.14L9 12H6c0-3.87 3.13-7 7-7s7 3.13 7 7-3.13 7-7 7c-1.93 0-3.68-.79-4.94-2.06l-1.42 1.42C8.27 19.99 10.51 21 13 21c4.97 0 9-4.03 9-9s-4.03-9-9-9m-1 5v5l4.28 2.54.72-1.21-3.5-2.08V8z"}),"History");var sA={},pIe=ht;Object.defineProperty(sA,"__esModule",{value:!0});var xq=sA.default=void 0,mIe=pIe(vt()),hIe=f;xq=sA.default=(0,mIe.default)((0,hIe.jsx)("path",{d:"M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.07-.94l2.03-1.58c.18-.14.23-.41.12-.61l-1.92-3.32c-.12-.22-.37-.29-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94l-.36-2.54c-.04-.24-.24-.41-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96c-.22-.08-.47 0-.59.22L2.74 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.09.63-.09.94s.02.64.07.94l-2.03 1.58c-.18.14-.23.41-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .44-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.47-.12-.61zM12 15.6c-1.98 0-3.6-1.62-3.6-3.6s1.62-3.6 3.6-3.6 3.6 1.62 3.6 3.6-1.62 3.6-3.6 3.6"}),"Settings");const gIe=o(e=>{const{children:t,editor:n,preferenceKey:r,openButtonLabel:a="ra.configurable.customize",sx:i}=e,s=`preferences.${r}`,c=LE(),l=!!c,u=nt(),{isEnabled:d,setEditor:p,preferenceKey:m,setPreferenceKey:v}=c||{},h=s===m,y=g.useRef(h),C=g.useRef(null),[w,x]=g.useState(!1);if(g.useEffect(()=>{y.current=h},[h]),g.useEffect(()=>()=>{y.current&&(v&&v(null),p&&p(null))},[p,v]),!l)return t;const b=o(()=>{if(!p)throw new Error("Configurable must be used inside a PreferencesEditorContextProvider");if(p(g.cloneElement(n,{preferenceKey:s,key:s})),!v)throw new Error("Configurable must be used inside a PreferencesEditorContextProvider");v(s)},"handleOpenEditor"),S=o(()=>{x(!0)},"handleShowButton"),$=o(()=>{x(!1)},"handleHideButton");return f.jsxs(kW,{value:s,children:[f.jsx(vIe,{className:ee(Zi.root,d&&Zi.editMode,h&&Zi.editorActive),sx:i,ref:C,onMouseEnter:d?S:void 0,onMouseLeave:d?$:void 0,children:t}),f.jsx(LH,{open:!!d&&(w||h),sx:{pointerEvents:"none","& .MuiPaper-root":{pointerEvents:"auto",borderRadius:10,padding:"2px",lineHeight:0,backgroundColor:"warning.light",color:"warning.contrastText","&:hover":{cursor:"pointer"}}},anchorEl:C.current,anchorOrigin:{vertical:"top",horizontal:"right"},transformOrigin:{vertical:"center",horizontal:"center"},onClose:$,PaperProps:{elevation:1,onMouseEnter:S,onMouseLeave:$,title:u(a),onClick:b},disableAutoFocus:!0,disableRestoreFocus:!0,disableEnforceFocus:!0,disableScrollLock:!0,marginThreshold:8,children:f.jsx(xq,{fontSize:"12px"})})]})},"Configurable"),Sy="RaConfigurable",Zi={root:`${Sy}-root`,editMode:`${Sy}-editMode`,editorActive:`${Sy}-editorActive`},vIe=V("span",{name:Sy,overridesResolver:o((e,t)=>t.root,"overridesResolver")})(({theme:e})=>({position:"relative",display:"inline-block",[`&.${Zi.editMode}`]:{transition:e.transitions.create("outline"),outline:`${Sh(e.palette.warning.main,.3)} solid 2px`},[`&.${Zi.editMode}:hover `]:{outline:`${Sh(e.palette.warning.main,.5)} solid 2px`},[`&.${Zi.editMode}.${Zi.editorActive} , &.${Zi.editMode}.${Zi.editorActive}:hover `]:{outline:`${e.palette.warning.main} solid 2px`}}));var cA={},yIe=ht;Object.defineProperty(cA,"__esModule",{value:!0});var lA=cA.default=void 0,bIe=yIe(vt()),xIe=f;lA=cA.default=(0,bIe.default)((0,xIe.jsx)("path",{d:"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8m3.59-13L12 10.59 8.41 7 7 8.41 10.59 12 7 15.59 8.41 17 12 13.41 15.59 17 17 15.59 13.41 12 17 8.41z"}),"CancelOutlined");var uA={},wIe=ht;Object.defineProperty(uA,"__esModule",{value:!0});var wq=uA.default=void 0,CIe=wIe(vt()),SIe=f;wq=uA.default=(0,CIe.default)((0,SIe.jsx)("path",{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6zM8 9h8v10H8zm7.5-5-1-1h-5l-1 1H5v2h14V4z"}),"DeleteOutline");const jIe=o(()=>{const e=nt();return nwe("ra.configurable.inspector.title",{_:"Inspector"}),f.jsx(et,{children:e("ra.configurable.inspector.content",{_:"Hover the application UI elements to configure them"})})},"InspectorRoot"),Cq=o(()=>{const{isEnabled:e,disable:t,title:n,titleOptions:r,editor:a,preferenceKey:i}=LE(),s=g.useRef(!1),c=O1e(i),l=Ko(),u=nt(),[d,p]=g.useState(0),[m,v]=So("ra.inspector.position",{x:(document==null?void 0:document.body.clientWidth)-l.breakpoints.values.sm/2-8,y:8}),[h,y]=g.useState(),C=o(b=>{const S=document==null?void 0:document.elementFromPoint(b.clientX,b.clientY);(S==null?void 0:S.id)==="inspector-dialog-title"&&(s.current=!0,b.dataTransfer.effectAllowed="move",b.dataTransfer.setData("inspector",""),setTimeout(()=>{b.target.classList.add("hide")},0),y({x:b.clientX-m.x,y:b.clientY-m.y}))},"handleDragStart"),w=o(b=>{s.current&&h&&(v({x:b.clientX-h.x,y:b.clientY-h.y}),b.target.classList.remove("hide"),s.current=!1)},"handleDragEnd");g.useEffect(()=>{if(!e)return;const b=o(S=>{S.dataTransfer.types.includes("inspector")&&S.preventDefault()},"handleDragover");return document==null||document.addEventListener("dragover",b),()=>{document==null||document.removeEventListener("dragover",b)}},[e]),g.useEffect(()=>{if(!e)return;const b=o(()=>{window==null||window.requestAnimationFrame(()=>{v(S=>({x:Math.min(S.x,(document==null?void 0:document.body.clientWidth)-l.breakpoints.values.sm/2-8),y:Math.min(S.y,(window==null?void 0:window.innerHeight)-50)}))})},"moveInspectorIfOutsideScreen");return b(),window==null||window.addEventListener("resize",b),()=>{window==null||window.removeEventListener("resize",b)}},[e,v,l.breakpoints.values.sm]);const x=o(()=>{c(),p(b=>b+1)},"handleReset");return e?f.jsxs($Ie,{className:Nm.modal,elevation:3,draggable:!0,onDragStart:C,onDragEnd:w,sx:{left:m.x,top:m.y},children:[f.jsxs("div",{className:Nm.title,children:[f.jsx(et,{id:"inspector-dialog-title",variant:"overline",component:"div",py:1,px:2,flex:"1",children:n&&u(n,r)}),f.jsx("span",{id:"inspector-toolbar"}),i&&f.jsx(cn,{"aria-label":u("ra.action.remove"),onClick:x,size:"small",children:f.jsx(wq,{fontSize:"inherit"})}),f.jsx(cn,{"aria-label":u("ra.action.close"),onClick:t,size:"small",sx:{mr:1},children:f.jsx(lA,{fontSize:"inherit"})})]}),f.jsx("div",{className:Nm.content,children:f.jsx(kW,{value:i,children:a||f.jsx(jIe,{})})},d)]}):null},"Inspector"),jy="RaInspector",Nm={modal:`${jy}-modal`,title:`${jy}-title`,content:`${jy}-content`},$Ie=V(Va,{name:jy,overridesResolver:o((e,t)=>t.root,"overridesResolver")})(({theme:e})=>({position:"fixed",zIndex:e.zIndex.modal+1,width:e.breakpoints.values.sm/2,transition:e.transitions.create(["height","width"]),"&.hide":{display:"none"},[`& .${Nm.title}`]:{display:"flex",justifyContent:"space-between",alignItems:"center",cursor:"move"},[`& .${Nm.content}`]:{overflowY:"auto",maxHeight:"75vh",padding:e.spacing(2),paddingTop:0}}));Cq.displayName="Inspector";const _Ie=o(({title:e,defaultTitle:t,className:n,...r})=>{const[a]=EW(),i=nt(),s=un();return a?f.jsx("span",{className:n,...r,children:i(a,{...s,_:a})}):f.jsx("span",{className:n,children:e?typeof e=="string"?f.jsx("span",{...r,children:i(e,{_:e})}):e:f.jsx("span",{...r,children:t})})},"PageTitle"),kIe=o(()=>{const e=twe();return f.jsx("form",{children:f.jsx(ys,{label:"title",variant:"filled",size:"small",fullWidth:!0,sx:{mb:1},...e})})},"PageTitleEditor"),EIe=o(({preferenceKey:e,...t})=>{const{pathname:n}=Ar();return f.jsx(gIe,{editor:f.jsx(kIe,{}),preferenceKey:e||`${n}.title`,sx:{"&.RaConfigurable-editMode":{margin:"2px"}},children:f.jsx(_Ie,{...t})})},"PageTitleConfigurable"),Tg=o(e=>{const{defaultTitle:t,title:n,preferenceKey:r,...a}=e,[i,s]=g.useState(()=>typeof document<"u"?document.getElementById("react-admin-title"):null);return g.useEffect(()=>{s(c=>{const l=typeof document<"u"&&document.body.contains(c);return c&&l?c:typeof document<"u"?document.getElementById("react-admin-title"):null})},[]),i?(Qx(!t&&!n,"Missing title prop in <Title> element"),f.jsx(f.Fragment,{children:Nf.createPortal(f.jsx(EIe,{title:n,defaultTitle:t,preferenceKey:r,...a}),i)})):null},"Title"),dA=o(e=>{const{error:t,errorComponent:n,errorInfo:r,resetErrorBoundary:a,className:i,...s}=e,c=nt(),l=oW();return W7(a),n?f.jsx(n,{error:t,errorInfo:r,title:l}):f.jsxs(g.Fragment,{children:[l&&f.jsx(Tg,{title:l}),f.jsxs(RIe,{className:i,...s,children:[f.jsxs("h1",{className:ai.title,role:"alert",children:[f.jsx(bq,{className:ai.icon}),c("ra.page.error")]}),f.jsx("div",{children:c("ra.message.error")}),!1,f.jsx("div",{className:ai.toolbar,children:f.jsx(gn,{variant:"contained",startIcon:f.jsx(iA,{}),onClick:AIe,children:c("ra.action.back")})})]})]})},"Error$1"),Ji="RaError",ai={container:`${Ji}-container`,title:`${Ji}-title`,icon:`${Ji}-icon`,panel:`${Ji}-panel`,panelSumary:`${Ji}-panelSumary`,panelDetails:`${Ji}-panelDetails`,toolbar:`${Ji}-toolbar`,advice:`${Ji}-advice`},RIe=V("div",{name:Ji,overridesResolver:o((e,t)=>t.root,"overridesResolver")})(({theme:e})=>({display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",[e.breakpoints.down("md")]:{padding:"1em"},fontFamily:"Roboto, sans-serif",opacity:.5,[`& .${ai.title}`]:{display:"flex",alignItems:"center"},[`& .${ai.icon}`]:{width:"2em",height:"2em",marginRight:"0.5em"},[`& .${ai.panel}`]:{marginTop:"1em",maxWidth:"60em"},[`& .${ai.panelSumary}`]:{userSelect:"all"},[`& .${ai.panelDetails}`]:{whiteSpace:"pre-wrap"},[`& .${ai.toolbar}`]:{marginTop:"2em"},[`& .${ai.advice}`]:{marginTop:"2em"}}));function AIe(){window.history.go(-1)}o(AIe,"goBack$1");const PIe=o(e=>{const{appBarAlwaysOn:t,children:n,closedSize:r,size:a,...i}=e,s=ta(p=>p.breakpoints.down("sm")),[c,l]=D1();Cpe();const u=KH(),d=o(()=>l(!c),"toggleSidebar");return s?f.jsx(K5,{variant:"temporary",open:c,onClose:d,classes:jr,...i,children:n}):f.jsx(K5,{variant:"permanent",open:c,onClose:d,classes:jr,className:u&&!t?jr.appBarCollapsed:"",...i,children:f.jsx("div",{className:jr.fixed,children:n})})},"Sidebar"),ra="RaSidebar",jr={docked:`${ra}-docked`,paper:`${ra}-paper`,paperAnchorLeft:`${ra}-paperAnchorLeft`,paperAnchorRight:`${ra}-paperAnchorRight`,paperAnchorTop:`${ra}-paperAnchorTop`,paperAnchorBottom:`${ra}-paperAnchorBottom`,paperAnchorDockedLeft:`${ra}-paperAnchorDockedLeft`,paperAnchorDockedTop:`${ra}-paperAnchorDockedTop`,paperAnchorDockedRight:`${ra}-paperAnchorDockedRight`,paperAnchorDockedBottom:`${ra}-paperAnchorDockedBottom`,modal:`${ra}-modal`,fixed:`${ra}-fixed`,appBarCollapsed:`${ra}-appBarCollapsed`},K5=V(n8e,{name:ra,slot:"Root",overridesResolver:o((e,t)=>t.root,"overridesResolver"),shouldForwardProp:o(()=>!0,"shouldForwardProp")})(({open:e,theme:t})=>({height:"calc(100vh - 3em)",marginTop:0,transition:t.transitions.create("margin",{easing:t.transitions.easing.easeOut,duration:t.transitions.duration.enteringScreen}),[`&.${jr.appBarCollapsed}`]:{marginTop:t.spacing(-6),[t.breakpoints.down("sm")]:{marginTop:t.spacing(-7)},transition:t.transitions.create("margin",{easing:t.transitions.easing.sharp,duration:t.transitions.duration.leavingScreen})},[`& .${jr.docked}`]:{},[`& .${jr.paper}`]:{},[`& .${jr.paperAnchorLeft}`]:{},[`& .${jr.paperAnchorRight}`]:{},[`& .${jr.paperAnchorTop}`]:{},[`& .${jr.paperAnchorBottom}`]:{},[`& .${jr.paperAnchorDockedLeft}`]:{},[`& .${jr.paperAnchorDockedTop}`]:{},[`& .${jr.paperAnchorDockedRight}`]:{},[`& .${jr.paperAnchorDockedBottom}`]:{},[`& .${jr.modal}`]:{},[`& .${jr.fixed}`]:{position:"fixed",height:"calc(100vh - 3em)",overflowX:"hidden",scrollbarWidth:"none",msOverflowStyle:"none","&::-webkit-scrollbar":{display:"none"}},"& .MuiPaper-root":{position:"relative",width:e?$t(t,"sidebar.width",Sq):$t(t,"sidebar.closedWidth",jq),transition:t.transitions.create("width",{easing:t.transitions.easing.sharp,duration:t.transitions.duration.leavingScreen}),backgroundColor:"transparent",borderRight:"none",[t.breakpoints.only("xs")]:{marginTop:0,height:"100vh",position:"inherit",backgroundColor:t.palette.background.default},[t.breakpoints.up("md")]:{border:"none"},zIndex:"inherit"}})),Sq=240,jq=55;var fA={},MIe=ht;Object.defineProperty(fA,"__esModule",{value:!0});var $q=fA.default=void 0,TIe=MIe(vt()),OIe=f;$q=fA.default=(0,TIe.default)((0,OIe.jsx)("path",{d:"M3 14h4v-4H3zm0 5h4v-4H3zM3 9h4V5H3zm5 5h13v-4H8zm0 5h13v-4H8zM8 5v4h13V5z"}),"ViewList");const _q=o(({name:e})=>{const t=Vx(),n=ap(),r=Ho();return!t||!t[e]?null:f.jsx(nA,{to:r({resource:e,type:"list"}),state:{_scrollToTop:!0},primaryText:f.jsx(f.Fragment,{children:n(e,2)}),leftIcon:t[e].icon?g.createElement(t[e].icon):f.jsx($q,{})})},"ResourceMenuItem"),kq=o(()=>{const e=Vx();return f.jsx(f.Fragment,{children:Object.keys(e).filter(t=>e[t].hasList).map(t=>f.jsx(_q,{name:t},t))})},"ResourceMenuItems"),Og=o(e=>{const{children:t,className:n,...r}=e,a=a1e(),[i]=D1();return f.jsxs(zIe,{className:ee({[Yb.open]:i,[Yb.closed]:!i},n),...r,children:[a&&!t&&f.jsx(yq,{}),t??f.jsx(kq,{})]})},"Menu");Og.Item=nA;Og.DashboardItem=yq;Og.ResourceItem=_q;Og.ResourceItems=kq;const j3="RaMenu",Yb={open:`${j3}-open`,closed:`${j3}-closed`},zIe=V(zH,{name:j3,overridesResolver:o((e,t)=>t.root,"overridesResolver")})(({theme:e})=>({display:"flex",flexDirection:"column",justifyContent:"flex-start",[e.breakpoints.only("xs")]:{marginTop:0},transition:e.transitions.create("width",{easing:e.transitions.easing.sharp,duration:e.transitions.duration.leavingScreen}),[`&.${Yb.open}`]:{width:$t(e,"sidebar.width",Sq)},[`&.${Yb.closed}`]:{width:$t(e,"sidebar.closedWidth",jq)}})),F1=o(e=>{const{className:t,loadingPrimary:n="ra.page.loading",loadingSecondary:r="ra.message.loading",...a}=e,i=tp(1e3),s=nt();return i?f.jsx(IIe,{className:t,...a,children:f.jsxs("div",{className:Qb.message,children:[f.jsx(kg,{className:Qb.icon}),f.jsx(et,{variant:"h5",mt:3,color:"text.secondary",children:s(n,{_:n})}),f.jsx(et,{variant:"body2",children:s(r,{_:r})})]})}):null},"Loading"),$y="RaLoading",Qb={root:`${$y}-root`,icon:`${$y}-icon`,message:`${$y}-message`},IIe=V("div",{name:$y,overridesResolver:o((e,t)=>t.root,"overridesResolver")})(({theme:e})=>({display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",height:"100%",[`& .${Qb.message}`]:{textAlign:"center",fontFamily:"Roboto, sans-serif",color:e.palette.text.disabled,paddingTop:"1em",paddingBottom:"1em"},[`& .${Qb.icon}`]:{width:"9em",height:"9em"}})),LIe=o(e=>{const{appBar:t=D5e,appBarAlwaysOn:n,children:r,className:a,error:i,menu:s=Og,sidebar:c=PIe,...l}=e,[u,d]=g.useState(void 0),p=o((m,v)=>{d(v)},"handleError");return f.jsxs(DIe,{className:ee("layout",a),...l,children:[f.jsx(Q6e,{}),f.jsxs("div",{className:ud.appFrame,children:[f.jsx(t,{alwaysOn:n}),f.jsxs("main",{className:ud.contentWithSidebar,children:[f.jsx(c,{appBarAlwaysOn:n,children:f.jsx(s,{})}),f.jsx("div",{id:"main-content",className:ud.content,children:f.jsx(gh,{onError:p,fallbackRender:o(({error:m,resetErrorBoundary:v})=>f.jsx(dA,{error:m,errorComponent:i,errorInfo:u,resetErrorBoundary:v}),"fallbackRender"),children:f.jsx(g.Suspense,{fallback:f.jsx(F1,{}),children:r})})})]}),f.jsx(Cq,{})]})]})},"Layout$1"),_y="RaLayout",ud={appFrame:`${_y}-appFrame`,contentWithSidebar:`${_y}-contentWithSidebar`,content:`${_y}-content`},DIe=V("div",{name:_y,overridesResolver:o((e,t)=>t.root,"overridesResolver")})(({theme:e})=>({display:"flex",flexDirection:"column",zIndex:1,minHeight:"100vh",backgroundColor:e.palette.background.default,position:"relative",minWidth:"fit-content",width:"100%",color:e.palette.getContrastText(e.palette.background.default),[`& .${ud.appFrame}`]:{display:"flex",flexDirection:"column",flexGrow:1,marginTop:e.spacing(6),[e.breakpoints.down("sm")]:{marginTop:e.spacing(7)}},[`& .${ud.contentWithSidebar}`]:{display:"flex",flexGrow:1,transition:e.transitions.create("margin",{easing:e.transitions.easing.easeOut,duration:e.transitions.duration.enteringScreen})},[`& .${ud.content}`]:{backgroundColor:e.palette.background.default,zIndex:2,display:"flex",flexDirection:"column",flexGrow:1,flexBasis:0,padding:0,[e.breakpoints.up("xs")]:{paddingRight:e.spacing(1),paddingLeft:e.spacing(1)}}})),B1=o(({timeout:e=1e3,...t})=>{const{className:n,...r}=t;return tp(e)?f.jsx(FIe,{className:n,...r}):f.jsx(Be,{my:1,height:4})},"LinearProgress");B1.displayName="LinearProgress";const NIe="RaLinearProgress",FIe=V(SMe,{name:NIe,overridesResolver:o((e,t)=>t.root,"overridesResolver")})(({theme:e})=>({margin:`${e.spacing(1)} 0`,width:e.spacing(20)})),BIe=o(({loadingPrimary:e="ra.page.loading",loadingSecondary:t="ra.message.loading",...n})=>f.jsx(F1,{loadingPrimary:e,loadingSecondary:t,...n}),"LoadingPage");var pA={},WIe=ht;Object.defineProperty(pA,"__esModule",{value:!0});var Eq=pA.default=void 0,UIe=WIe(vt()),J5=f;Eq=pA.default=(0,UIe.default)([(0,J5.jsx)("circle",{cx:"7",cy:"6",r:"2"},"0"),(0,J5.jsx)("path",{d:"M11.15 12c-.31-.22-.59-.46-.82-.72l-1.4-1.55c-.19-.21-.43-.38-.69-.5-.29-.14-.62-.23-.96-.23h-.03C6.01 9 5 10.01 5 11.25V12H2v8c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2v-8zM7 20H5v-6h2zm4 0H9v-6h2zm4 0h-2v-6h2zm4 0h-2v-6h2zm-.35-14.14-.07-.07c-.57-.62-.82-1.41-.67-2.2L18 3h-1.89l-.06.43c-.2 1.36.27 2.71 1.3 3.72l.07.06c.57.62.82 1.41.67 2.2l-.11.59h1.91l.06-.43c.21-1.36-.27-2.71-1.3-3.71m-4 0-.07-.07c-.57-.62-.82-1.41-.67-2.2L14 3h-1.89l-.06.43c-.2 1.36.27 2.71 1.3 3.72l.07.06c.57.62.82 1.41.67 2.2l-.11.59h1.91l.06-.43c.21-1.36-.27-2.71-1.3-3.71"},"1")],"HotTub");const HIe=o(e=>{const{className:t,...n}=e,r=nt();ip();const a=oW();return f.jsxs(VIe,{className:t,...qIe(n),children:[f.jsx(Tg,{defaultTitle:a}),f.jsxs("div",{className:dd.message,children:[f.jsx(Eq,{className:dd.icon}),f.jsx("h1",{children:r("ra.page.not_found")}),f.jsxs("div",{children:[r("ra.message.not_found"),"."]})]}),f.jsx("div",{className:dd.toolbar,children:f.jsx(gn,{variant:"contained",startIcon:f.jsx(iA,{}),onClick:GIe,children:r("ra.action.back")})})]})},"NotFound"),qIe=o(({staticContext:e,history:t,location:n,match:r,...a})=>a,"sanitizeRestProps$9"),ky="RaNotFound",dd={icon:`${ky}-icon`,message:`${ky}-message`,toolbar:`${ky}-toolbar`},VIe=V("div",{name:ky,overridesResolver:o((e,t)=>t.root,"overridesResolver")})(({theme:e})=>({display:"flex",flexDirection:"column",justifyContent:"center",[e.breakpoints.up("md")]:{height:"100%"},[e.breakpoints.down("md")]:{height:"100vh",marginTop:"-3em"},[`& .${dd.icon}`]:{width:"9em",height:"9em"},[`& .${dd.message}`]:{textAlign:"center",fontFamily:"Roboto, sans-serif",opacity:.5,margin:"0 1em"},[`& .${dd.toolbar}`]:{textAlign:"center",marginTop:"2em"}}));function GIe(){window.history.go(-1)}o(GIe,"goBack");const KIe={vertical:"bottom",horizontal:"center"},JIe=o(e=>{const{className:t,type:n="info",autoHideDuration:r=4e3,multiLine:a=!1,anchorOrigin:i=KIe,...s}=e,{notifications:c,takeNotification:l}=C7(),[u,d]=g.useState(!1),[p,m]=g.useState(void 0),v=nt();g.useEffect(()=>{var A;const E=o(P=>{P.preventDefault();const M="";return P.returnValue=M,M},"beforeunload");if((A=p==null?void 0:p.notificationOptions)!=null&&A.undoable&&window.addEventListener("beforeunload",E),c.length&&!p){const P=l();P&&(m(P),d(!0))}else c.length&&p&&u&&d(!1);return()=>{var P;(P=p==null?void 0:p.notificationOptions)!=null&&P.undoable&&window.removeEventListener("beforeunload",E)}},[c,p,u,l]);const h=g.useCallback(()=>{d(!1)},[d]),y=g.useCallback(()=>{var E;p&&((E=p.notificationOptions)!=null&&E.undoable)&&mh.emit("end",{isUndo:!1}),m(void 0)},[p]),C=g.useCallback(()=>{mh.emit("end",{isUndo:!0}),d(!1)},[]);if(!p)return null;const{message:w,type:x,notificationOptions:b}=p,{autoHideDuration:S,messageArgs:$,multiLine:j,undoable:_,...k}=b||{};return f.jsx(YIe,{className:t,open:u,message:w&&typeof w=="string"&&v(w,$),autoHideDuration:S===void 0?r:S??void 0,disableWindowBlurListener:_,TransitionProps:{onExited:y},onClose:h,ContentProps:{className:ee(Bs[x||n],{[Bs.multiLine]:j||a})},action:_?f.jsx(gn,{color:"primary",className:Bs.undo,size:"small",onClick:C,children:f.jsx(f.Fragment,{children:v("ra.action.undo")})}):null,anchorOrigin:i,...s,...k,children:w&&typeof w!="string"&&g.isValidElement(w)?w:void 0})},"Notification"),Eu="RaNotification",Bs={success:`${Eu}-success`,error:`${Eu}-error`,warning:`${Eu}-warning`,undo:`${Eu}-undo`,multiLine:`${Eu}-multiLine`},YIe=V(L4e,{name:Eu,overridesResolver:o((e,t)=>t.root,"overridesResolver")})(({theme:e,type:t})=>({[`& .${Bs.success}`]:{backgroundColor:e==null?void 0:e.palette.success.main,color:e==null?void 0:e.palette.success.contrastText},[`& .${Bs.error}`]:{backgroundColor:e==null?void 0:e.palette.error.main,color:e==null?void 0:e.palette.error.contrastText},[`& .${Bs.warning}`]:{backgroundColor:e==null?void 0:e.palette.warning.main,color:e==null?void 0:e.palette.warning.contrastText},[`& .${Bs.undo}`]:{color:t==="success"?e==null?void 0:e.palette.success.contrastText:e==null?void 0:e.palette.primary.light},[`& .${Bs.multiLine}`]:{whiteSpace:"pre-wrap"}})),zg=o(e=>{const t=ta(n=>n.breakpoints.down("sm"));return f.jsx(XIe,{disableGutters:!0,variant:t?"regular":"dense",...ZIe(e)})},"TopToolbar"),QIe="RaTopToolbar",XIe=V(Yl,{name:QIe,overridesResolver:o((e,t)=>t.root,"overridesResolver")})(({theme:e})=>({display:"flex",justifyContent:"flex-end",alignItems:"flex-end",gap:e.spacing(1),whiteSpace:"nowrap",flex:"0 1 auto",padding:e.spacing(.5),paddingBottom:e.spacing(1),[e.breakpoints.down("md")]:{flex:"0 1 100%"},[e.breakpoints.down("sm")]:{backgroundColor:e.palette.background.paper,padding:0,paddingBottom:0}})),ZIe=o(({hasCreate:e,...t})=>t,"sanitizeToolbarRestProps"),e6e=o(e=>{const{confirmTitle:t="ra.message.bulk_delete_title",confirmContent:n="ra.message.bulk_delete_content",confirmColor:r="primary",icon:a=a6e,label:i="ra.action.delete",mutationMode:s="pessimistic",mutationOptions:c={},onClick:l,...u}=e,{meta:d,...p}=c,{selectedIds:m,onUnselectItems:v}=Jn(),[h,y]=ao(!1),C=Kn(),w=Nt(e),x=ug(),b=nt(),[S,{isPending:$}]=XB(w,{ids:m,meta:d},{onSuccess:o(()=>{x(),C("ra.notification.deleted",{type:"info",messageArgs:{smart_count:m.length},undoable:s==="undoable"}),v(),y(!1)},"onSuccess"),onError:o(E=>{C(typeof E=="string"?E:E.message||"ra.notification.http_error",{type:"error",messageArgs:{_:typeof E=="string"?E:E&&E.message?E.message:void 0}}),y(!1)},"onError"),mutationMode:s,...p}),j=o(E=>{y(!0),E.stopPropagation()},"handleClick"),_=o(()=>{y(!1)},"handleDialogClose"),k=o(E=>{S(),typeof l=="function"&&l(E)},"handleDelete");return f.jsxs(g.Fragment,{children:[f.jsx(r6e,{onClick:j,label:i,...t6e(u),children:a}),f.jsx(gq,{isOpen:h,loading:$,title:t,content:n,confirmColor:r,translateOptions:{smart_count:m.length,name:b(`resources.${w}.forcedCaseName`,{smart_count:m.length,_:Jx(b(`resources.${w}.name`,{smart_count:m.length,_:w?pW(w,m.length):void 0}),!0)})},onConfirm:k,onClose:_})]})},"BulkDeleteWithConfirmButton"),t6e=o(({classes:e,label:t,...n})=>n,"sanitizeRestProps$8"),n6e="RaBulkDeleteWithConfirmButton",r6e=V(Qo,{name:n6e,overridesResolver:o((e,t)=>t.root,"overridesResolver")})(({theme:e})=>({color:e.palette.error.main,"&:hover":{backgroundColor:Sh(e.palette.error.main,.12),"@media (hover: none)":{backgroundColor:"transparent"}}})),a6e=f.jsx(hp,{}),o6e=o(e=>{const{label:t="ra.action.delete",icon:n=i6e,onClick:r,mutationOptions:a={},...i}=e,{meta:s,...c}=a,{selectedIds:l,onUnselectItems:u}=Jn(),d=Kn(),p=Nt(e),m=ug(),[v,{isPending:h}]=XB(),y=o(C=>{v(p,{ids:l,meta:s},{onSuccess:o(()=>{d("ra.notification.deleted",{type:"info",messageArgs:{smart_count:l.length},undoable:!0}),u()},"onSuccess"),onError:o(w=>{d(typeof w=="string"?w:w.message||"ra.notification.http_error",{type:"error",messageArgs:{_:typeof w=="string"?w:w&&w.message?w.message:void 0}}),m()},"onError"),mutationMode:"undoable",...c}),typeof r=="function"&&r(C)},"handleClick");return f.jsx(l6e,{onClick:y,label:t,disabled:h,...s6e(i),children:n})},"BulkDeleteWithUndoButton"),i6e=f.jsx(hp,{}),s6e=o(({classes:e,label:t,...n})=>n,"sanitizeRestProps$7"),c6e="RaBulkDeleteWithUndoButton",l6e=V(Qo,{name:c6e,overridesResolver:o((e,t)=>t.root,"overridesResolver")})(({theme:e})=>({color:e.palette.error.main,"&:hover":{backgroundColor:Sh(e.palette.error.main,.12),"@media (hover: none)":{backgroundColor:"transparent"}}})),Rq=o(({mutationMode:e="undoable",...t})=>e==="undoable"?f.jsx(o6e,{...t}):f.jsx(e6e,{mutationMode:e,...t}),"BulkDeleteButton");var mA={},u6e=ht;Object.defineProperty(mA,"__esModule",{value:!0});var Aq=mA.default=void 0,d6e=u6e(vt()),f6e=f;Aq=mA.default=(0,d6e.default)((0,f6e.jsx)("path",{d:"M19 9h-4V3H9v6H5l7 7zM5 18v2h14v-2z"}),"GetApp");const p6e=o(e=>{const{label:t="ra.action.delete",className:n,icon:r=m6e,onClick:a,redirect:i="list",mutationOptions:s,color:c="error",...l}=e,u=un(e),d=Nt(e),{isPending:p,handleDelete:m}=aB({record:u,resource:d,redirect:i,onClick:a,mutationOptions:s});return f.jsx(Qo,{onClick:m,disabled:p,label:t,className:ee("ra-delete-button",n),color:c,...l,children:r},"button")},"DeleteWithUndoButton"),m6e=f.jsx(hp,{}),h6e=o(e=>{const{className:t,confirmTitle:n="ra.message.delete_title",confirmContent:r="ra.message.delete_content",confirmColor:a="primary",icon:i=g6e,label:s="ra.action.delete",mutationMode:c="pessimistic",onClick:l,redirect:u="list",translateOptions:d={},mutationOptions:p,color:m="error",...v}=e,h=nt(),y=un(e),C=Nt(e),{open:w,isPending:x,handleDialogOpen:b,handleDialogClose:S,handleDelete:$}=eye({record:y,redirect:u,mutationMode:c,onClick:l,mutationOptions:p,resource:C});return f.jsxs(g.Fragment,{children:[f.jsx(Qo,{onClick:b,label:s,className:ee("ra-delete-button",t),color:m,...v,children:i},"button"),f.jsx(gq,{isOpen:w,loading:x,title:n,content:r,confirmColor:a,translateOptions:{name:h(`resources.${C}.forcedCaseName`,{smart_count:1,_:Jx(h(`resources.${C}.name`,{smart_count:1,_:C?Gx(C):void 0}),!0)}),id:y==null?void 0:y.id,...d},onConfirm:$,onClose:S})]})},"DeleteWithConfirmButton"),g6e=f.jsx(hp,{}),v6e=o(e=>{const{mutationMode:t,...n}=e,r=un(e),a=sE();if(!r||r.id==null)return null;const i=t||(a!=null&&a.mutationMode?a.mutationMode:"undoable");return i==="undoable"?f.jsx(p6e,{record:r,...n}):f.jsx(h6e,{mutationMode:i,record:r,...n})},"DeleteButton");var hA={},y6e=ht;Object.defineProperty(hA,"__esModule",{value:!0});var Pq=hA.default=void 0,b6e=y6e(vt()),x6e=f;Pq=hA.default=(0,b6e.default)((0,x6e.jsx)("path",{d:"M3 17.25V21h3.75L17.81 9.94l-3.75-3.75zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34a.9959.9959 0 0 0-1.41 0l-1.83 1.83 3.75 3.75z"}),"Create");const Mq=o(e=>{const{icon:t=C6e,label:n="ra.action.edit",scrollToTop:r=!0,className:a,...i}=e,s=Nt(e),c=un(e),l=Ho();return c?f.jsx($6e,{component:Dr,to:l({type:"edit",resource:s,id:c.id}),state:w6e[String(r)],label:n,onClick:S6e,className:ee(j6e.root,a),...i,children:t}):null},"EditButton"),w6e={true:{_scrollToTop:!0},false:{}},C6e=f.jsx(Pq,{}),S6e=o(e=>e.stopPropagation(),"stopPropagation$4"),Tq="RaEditButton",j6e={root:`${Tq}-root`},$6e=V(Qo,{name:Tq,overridesResolver:o((e,t)=>t.root,"overridesResolver")})({}),gA=o(e=>{const{maxResults:t=1e3,onClick:n,label:r="ra.action.export",icon:a=_6e,exporter:i,meta:s,...c}=e,{filter:l,filterValues:u,resource:d,sort:p,exporter:m,total:v}=Jn(),h=i||m,y=Fi(),C=Kn(),w=g.useCallback(x=>{y.getList(d,{sort:p,filter:l?{...u,...l}:u,pagination:{page:1,perPage:t},meta:s}).then(({data:b})=>h&&h(b,pbe(y),y,d)).catch(b=>{console.error(b),C("ra.notification.http_error",{type:"error"})}),typeof n=="function"&&n(x)},[y,h,l,u,t,C,n,d,p,s]);return f.jsx(Qo,{onClick:w,label:r,disabled:v===0,...k6e(c),children:a})},"ExportButton"),_6e=f.jsx(Aq,{}),k6e=o(({resource:e,...t})=>t,"sanitizeRestProps$6");var vA={},E6e=ht;Object.defineProperty(vA,"__esModule",{value:!0});var Oq=vA.default=void 0,R6e=E6e(vt()),A6e=f;Oq=vA.default=(0,R6e.default)((0,A6e.jsx)("path",{d:"m12.87 15.07-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z"}),"Translate");const P6e=o(e=>{const{icon:t=M6e,languages:n}=e,[r,a]=g.useState(null),i=z7({locales:n}),[s,c]=O7(),l=o(m=>{const v=i.find(h=>h.locale===m);return v?v.name:""},"getNameForLocale"),u=o(m=>()=>{c(m),a(null)},"changeLocale"),d=o(m=>{a(m.currentTarget)},"handleLanguageClick"),p=o(()=>{a(null)},"handleClose");return f.jsxs(O6e,{component:"span",children:[f.jsx(gn,{color:"inherit",variant:"text","aria-controls":"simple-menu","aria-label":"","aria-haspopup":"true",onClick:d,startIcon:t,endIcon:f.jsx(Mg,{fontSize:"small"}),children:l(s)}),f.jsx(Jl,{id:"simple-menu",anchorEl:r,keepMounted:!0,open:!!r,onClose:p,children:i.map(m=>f.jsx(Gn,{onClick:u(m.locale),selected:m.locale===s,children:m.name},m.locale))})]})},"LocalesMenuButton"),M6e=f.jsx(Oq,{}),T6e="RaLocalesMenuButton",O6e=V(Be,{name:T6e,overridesResolver:o((e,t)=>t.root,"overridesResolver")})({});var yA={},z6e=ht;Object.defineProperty(yA,"__esModule",{value:!0});var zq=yA.default=void 0,I6e=z6e(vt()),L6e=f;zq=yA.default=(0,I6e.default)((0,L6e.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m1 15h-2v-2h2zm0-4h-2V7h2z"}),"Error");var bA={},D6e=ht;Object.defineProperty(bA,"__esModule",{value:!0});var Iq=bA.default=void 0,N6e=D6e(vt()),F6e=f;Iq=bA.default=(0,N6e.default)((0,F6e.jsx)("path",{d:"M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4z"}),"Refresh");const B6e=o(e=>{const{label:t="ra.action.refresh",icon:n=W6e,onClick:r,className:a,...i}=e,s=ug(),c=nt(),l=g.useCallback(u=>{u.preventDefault(),s(),typeof r=="function"&&r(u)},[s,r]);return f.jsx(Fo,{title:t&&c(t,{_:"Refresh"}),children:f.jsx(cn,{"aria-label":t&&c(t,{_:"Refresh"}),className:a,color:"inherit",onClick:l,...i,children:n})})},"RefreshIconButton"),W6e=f.jsx(Iq,{});var xA={},U6e=ht;Object.defineProperty(xA,"__esModule",{value:!0});var Lq=xA.default=void 0,H6e=U6e(vt()),q6e=f;Lq=xA.default=(0,H6e.default)((0,q6e.jsx)("path",{d:"M17 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V7zm-5 16c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3m3-10H5V5h10z"}),"Save");const Dq=o(e=>{const{color:t="primary",icon:n=G6e,invalid:r,label:a="ra.action.save",onClick:i,mutationOptions:s,disabled:c,type:l="submit",transform:u,variant:d="contained",alwaysEnable:p=!1,...m}=e,v=nt(),h=np(),y=sE(),{dirtyFields:C,isValidating:w,isSubmitting:x}=Ox(),b=Object.keys(C).length>0,S=Y6e(p===!1||p===void 0?void 0:!p,c||!b||w||x);Qx(l==="submit"&&(s&&(s.onSuccess||s.onError)||u),'Cannot use <SaveButton mutationOptions> props on a button of type "submit". To override the default mutation options on a particular save button, set the <SaveButton type="button"> prop, or set mutationOptions in the main view component (<Create> or <Edit>).');const $=g.useCallback(async k=>{let E;y!=null&&y.save&&(E=await y.save(k,{...s,transform:u})),E!=null&&JB(E,h.setError)},[h.setError,y,s,u]),j=g.useCallback(async k=>{i&&i(k),!k.defaultPrevented&&l==="button"&&(k.stopPropagation(),await h.handleSubmit($)(k))},[i,l,h,$]),_=a&&v(a,{_:a});return f.jsxs(J6e,{variant:d,type:l,color:t,"aria-label":_,disabled:S,onClick:j,...m,children:[x?f.jsx(kg,{sx:V6e,size:14,thickness:3,color:"inherit"}):n,_]})},"SaveButton"),V6e={"&.MuiCircularProgress-root":{marginRight:"10px",marginLeft:"2px"}},G6e=f.jsx(Lq,{}),K6e="RaSaveButton",J6e=V(gn,{name:K6e,overridesResolver:o((e,t)=>t.root,"overridesResolver")})(({theme:e})=>({position:"relative","& .MuiSvgIcon-root, & .MuiIcon-root, & .MuiCircularProgress-root":{marginRight:e.spacing(1)},"& .MuiSvgIcon-root, & .MuiIcon-root":{fontSize:18}})),Y6e=o((e,t)=>typeof e>"u"?t:e,"valueOrDefault"),Q6e=o(()=>f.jsx(Z6e,{onClick:eLe,className:"skip-nav-button",label:"ra.navigation.skip_nav",variant:"contained"}),"SkipNavigationButton"),X6e="RaSkipNavigationButton",Z6e=V(Qo,{name:X6e,overridesResolver:o((e,t)=>t.root,"overridesResolver")})(({theme:e})=>({position:"fixed",padding:e.spacing(1),backgroundColor:e.palette.background.default,color:e.palette.getContrastText(e.palette.background.default),transition:e.transitions.create(["top","opacity"],{easing:e.transitions.easing.easeIn,duration:e.transitions.duration.leavingScreen}),left:e.spacing(2),top:e.spacing(-10),zIndex:5e3,"&:hover":{opacity:.8,backgroundColor:e.palette.background.default},"&:focus":{top:e.spacing(2),transition:e.transitions.create(["top","opacity"],{easing:e.transitions.easing.easeOut,duration:e.transitions.duration.enteringScreen})}})),eLe=o(()=>{if(typeof document>"u")return;const e=document.getElementById("main-content");e&&(e.setAttribute("tabIndex","-1"),e.focus(),e.blur(),e.removeAttribute("tabIndex"))},"skipToContent"),tLe=o(e=>{const{className:t,title:n="ra.page.error",message:r="ra.message.auth_error",...a}=e,i=nt();return f.jsx(nLe,{className:t,...a,children:f.jsxs("div",{className:Nq.message,children:[f.jsx("h1",{children:i(n,{_:n})}),f.jsx("div",{children:i(r,{_:r})}),f.jsx(Qo,{component:Dr,to:"/login",label:"ra.auth.sign_in",children:f.jsx(NR,{})})]})})},"AuthError"),$3="RaAuthError",Nq={root:`${$3}-root`,message:`${$3}-message`},nLe=V("div",{name:$3,overridesResolver:o((e,t)=>t.root,"overridesResolver")})(({theme:e})=>({display:"flex",flexDirection:"column",justifyContent:"center",[e.breakpoints.up("md")]:{height:"100%"},[e.breakpoints.down("xl")]:{height:"100vh",marginTop:"-3em"},[`& .${Nq.message}`]:{textAlign:"center",fontFamily:"Roboto, sans-serif",opacity:.5,margin:"0 1em"}})),rLe=o(()=>{const{error:e}=X1e();return e?f.jsx(tLe,{message:e?e.message:void 0}):f.jsx(F1,{})},"AuthCallback"),xf=o(e=>{const{helperText:t,error:n}=e,r=nt();return n?f.jsx(uxe,{error:n}):t===!1?null:g.isValidElement(t)?t:typeof t=="string"?f.jsx(f.Fragment,{children:r(t,{_:t})}):f.jsx("span",{dangerouslySetInnerHTML:aLe})},"InputHelperText"),aLe={__html:"​"},Ig=o(({afterSubmit:e,allowNull:t,alwaysOn:n,beforeSubmit:r,component:a,data:i,defaultValue:s,error:c,format:l,formatOnBlur:u,initialValue:d,initializeForm:p,input:m,isEqual:v,isRequired:h,label:y,limitChoicesToValue:C,locale:w,meta:x,multiple:b,name:S,options:$,optionText:j,optionValue:_,parse:k,record:E,ref:A,refetch:P,render:M,resource:T,setFilter:z,setPagination:O,setSort:N,shouldUnregister:F,source:I,submitError:B,subscription:U,textAlign:te,translate:Z,translateChoice:be,validate:ne,validateFields:le,value:oe,...Se})=>Se,"sanitizeInputRestProps");var wA={},oLe=ht;Object.defineProperty(wA,"__esModule",{value:!0});var Fq=wA.default=void 0,iLe=oLe(vt()),sLe=f;Fq=wA.default=(0,iLe.default)((0,sLe.jsx)("path",{d:"M7 11v2h10v-2zm5-9C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8"}),"RemoveCircleOutline");const Bq=o(e=>{const{create:t,createLabel:n="ra.action.create",createItemLabel:r="ra.action.create_item",createValue:a="@@ra-create",optionText:i="name",filter:s,handleChange:c,onCreate:l}=e,u=nt(),[d,p]=g.useState(!1),m=g.useRef(s);g.useEffect(()=>{m.current!==s&&s!==""&&(m.current=s)},[s]);const v=g.useMemo(()=>({filter:m.current,onCancel:o(()=>p(!1),"onCancel"),onCreate:o(h=>{p(!1),c(h)},"onCreate")}),[c]);return{createId:a,getCreateItem:o(()=>typeof i!="string"?{id:a,name:s&&r?u(r,{item:s,_:r}):u(n,{_:n})}:Ta({id:a},i,s&&r?u(r,{item:s,_:r}):u(n,{_:n})),"getCreateItem"),handleChange:o(async h=>{var w;const y=((w=h==null?void 0:h.target)==null?void 0:w.value)||h,C=Array.isArray(y)?[...y].pop():y;if((C==null?void 0:C.id)===a||C===a)if(g.isValidElement(t)){p(!0);return}else{if(!l)throw new Error("To create a new option, you must pass an onCreate function or a create element.");const x=await l(s);if(x){c(x);return}}c(h)},"handleChange"),createElement:d&&g.isValidElement(t)?f.jsx(cLe.Provider,{value:v,children:t}):null}},"useSupportCreateSuggestion"),cLe=g.createContext(void 0),lLe=mH(),Wq=o(e=>{const{choices:t,className:n,clearOnBlur:r=!0,clearText:a="ra.action.clear_input_value",closeText:i="ra.action.close",create:s,createLabel:c,createItemLabel:l,createValue:u,debounce:d=250,defaultValue:p,emptyText:m,emptyValue:v="",field:h,format:y,helperText:C,id:w,inputText:x,isFetching:b,isLoading:S,isPending:$,isRequired:j,label:_,limitChoicesToValue:k,matchSuggestion:E,margin:A,fieldState:P,filterToQuery:M=pLe,formState:T,multiple:z=!1,noOptionsText:O,onBlur:N,onChange:F,onCreate:I,openText:B="ra.action.open",optionText:U,optionValue:te,parse:Z,resource:be,shouldRenderSuggestions:ne,setFilter:le,size:oe,source:Se,suggestionLimit:xe=1/0,TextFieldProps:X,translateChoice:Re,validate:me,variant:re,onInputChange:De,disabled:Ee,readOnly:$e,...Ce}=e,st=zt(M),{allChoices:D,isPending:J,error:H,resource:de,source:fe,setFilters:ue,isFromReference:he}=GB({choices:t,isFetching:b,isLoading:S,isPending:$,resource:be,source:Se}),We=nt(),{id:rt,field:Ue,isRequired:Ne,fieldState:{error:ye,invalid:ot}}=hg({defaultValue:p,id:w,field:h,fieldState:P,formState:T,isRequired:j,onBlur:N,onChange:F,parse:Z,format:y,resource:de,source:fe,validate:me,disabled:Ee,readOnly:$e,...Ce}),ft=g.useMemo(()=>m==null||Ne||z?D:[{[te||"id"]:v,[typeof U=="string"?U:"name"]:We(m,{_:m})}].concat(D||[]),[D,v,m,Ne,z,U,te,We]),yt=dLe(Ue.value,{choices:ft,multiple:z,optionValue:te});g.useEffect(()=>{if(v==null)throw new Error("emptyValue being set to null or undefined is not supported. Use parse to turn the empty string into null.")},[v]),g.useEffect(()=>{if(g.isValidElement(U)&&m!=null)throw new Error("optionText of type React element is not supported when setting emptyText");if(g.isValidElement(U)&&x==null)throw new Error(` +If you provided a React element for the optionText prop, you must also provide the inputText prop (used for the text input)`);if(g.isValidElement(U)&&!he&&E==null)throw new Error(` +If you provided a React element for the optionText prop, you must also provide the matchSuggestion prop (used to match the user input with a choice)`)},[U,x,E,m,he]),g.useEffect(()=>{Qx(ne!=null&&O==null,"When providing a shouldRenderSuggestions function, we recommend you also provide the noOptionsText prop and set it to a text explaining users why no options are displayed. It supports translation keys.")},[ne,O]);const W=ql(de),{getChoiceText:K,getChoiceValue:Y,getSuggestions:pe}=Lxe({choices:ft,limitChoicesToValue:k,matchSuggestion:E,optionText:U??(he?W:void 0),optionValue:te,selectedItem:yt,suggestionLimit:xe,translateChoice:Re??!he}),[Le,Oe]=g.useState(""),dt=o(ke=>{z?Array.isArray(ke)?Ue.onChange(ke.map(Y),ke):Ue.onChange([...Ue.value??[],Y(ke)],ke):Ue.onChange(Y(ke)??v,ke)},"handleChange"),St=g.useCallback(cg(ke=>{if(le)return le(ke);t||ue(st(ke))},d),[d,ue,le]),wt=g.useRef(Ue.value);g.useEffect(()=>{va(wt.current,Ue.value)||(wt.current=Ue.value,St(""))},[Ue.value]);const{getCreateItem:Bt,handleChange:G,createElement:Q,createId:ce}=Bq({create:s,createLabel:c,createItemLabel:l,createValue:u,handleChange:dt,filter:Le,onCreate:I,optionText:U}),_e=g.useCallback((ke,ze=!1)=>ke==null?"":typeof ke=="string"?ke:(ke==null?void 0:ke.id)===ce||!ze&&ke[te||"id"]===v?$t(ke,typeof U=="string"?U:"name"):!ze&&x!==void 0?x(ke):K(ke),[K,x,ce,U,te,v]),qe=g.useCallback(()=>{if(r&&!z){const ke=_e(yt);va(ke,Le)||(Oe(ke),St(""))}Ue.onBlur()},[r,Ue,_e,yt,Le,St,z]);g.useEffect(()=>{if(!z){const ke=_e(yt);if(typeof ke=="string")Oe(ke);else throw new Error("When optionText returns a React element, you must also provide the inputText prop")}},[_e,z,yt]);const ct=o((ke,ze,bt)=>{((ke==null?void 0:ke.type)==="change"||!Ve(ze))&&(Oe(ze),St(ze)),De==null||De(ke,ze,bt)},"handleInputChange"),Ve=g.useCallback(ke=>{let ze;return z?ze=yt.map(bt=>_e(bt)):ze=[_e(yt)],ze.includes(ke)},[_e,z,yt]),Fe=g.useCallback(ke=>{const ze=ft?ft.some(bt=>_e(bt)===ke):!1;return Ve(ke)||ze},[ft,_e,Ve]),Me=o((ke,ze)=>{let bt=he||E||k?ke:lLe(ke,ze);const{inputValue:Pt}=ze;return(I||s)&&(Pt===""?bt=bt.concat(Bt("")):Fe(Le)||(bt=bt.concat(Bt(Pt)))),bt},"filterOptions"),lt=o((ke,ze,bt)=>{G(ze??v)},"handleAutocompleteChange"),jt=tp(1e3,Le),we=g.useMemo(()=>!he&&(E||k)?pe(Le):(ft==null?void 0:ft.slice(0,xe))||[],[ft,Le,pe,k,E,xe,he]),Ye=o((ke,ze)=>String(Y(ke))===String(Y(ze)),"isOptionEqualToValue"),ut=!!H||C!==!1||ot;return f.jsxs(f.Fragment,{children:[f.jsx(uLe,{className:ee("ra-input",`ra-input-${fe}`,n),clearText:We(a,{_:a}),closeText:We(i,{_:i}),openOnFocus:!0,openText:We(B,{_:B}),id:rt,isOptionEqualToValue:Ye,filterSelectedOptions:!0,disabled:Ee||$e,renderInput:o(ke=>{const ze={readOnly:$e,...ke.InputProps,...X==null?void 0:X.InputProps};return f.jsx(ys,{name:Ue.name,label:f.jsx(hs,{label:_,source:fe,resource:be,isRequired:Ne}),error:!!H||ot,helperText:ut?f.jsx(xf,{error:(ye==null?void 0:ye.message)||(H==null?void 0:H.message),helperText:C}):null,margin:A,variant:re,className:Hq.textField,...ke,...X,InputProps:ze,size:oe})},"renderInput"),multiple:z,renderTags:o((ke,ze)=>ke.map((bt,Pt)=>{const{key:ae,...ie}=ze({index:Pt});return f.jsx(wi,{label:g.isValidElement(U)?x?x(bt):"":K(bt),size:"small",...ie},ae)}),"renderTags"),noOptionsText:typeof O=="string"?We(O,{_:O}):O,selectOnFocus:!0,clearOnBlur:r,...Ig(Ce),freeSolo:!!s||!!I,handleHomeEndKeys:!!s||!!I,filterOptions:Me,options:ne==null||ne(Le)?we:[],getOptionLabel:_e,inputValue:Le,loading:J&&(!ft||ft.length===0)&&jt,value:yt,onChange:lt,onBlur:qe,onInputChange:ct,renderOption:o((ke,ze)=>{const{key:bt,...Pt}=ke,ae=Y(ze),ie=_e(ze,!0);return f.jsx("li",{...Pt,children:ie===""?" ":ie},ae)},"renderOption")}),Q]})},"AutocompleteInput"),Uq="RaAutocompleteInput",Hq={textField:`${Uq}-textField`},uLe=V(eAe,{name:Uq,overridesResolver:o((e,t)=>t.root,"overridesResolver")})(({theme:e})=>({[`& .${Hq.textField}`]:{minWidth:e.spacing(20)}})),dLe=o((e,{choices:t,multiple:n,optionValue:r})=>{const a=g.useRef(aC(t,e,r,n)),[i,s]=g.useState(()=>aC(t,e,r,n));return g.useEffect(()=>{const c=aC(t,e,r,n);fLe(a.current,c,r,n)||(a.current=c,s(c))},[t,e,n,r]),i||null},"useSelectedChoice"),aC=o((e=[],t,n="id",r)=>r?(Array.isArray(t??[])?t:[t]).map(a=>e.find(i=>String(a)===String($t(i,n)))).filter(a=>!!a):e.find(a=>String($t(a,n))===String(t))||"","getSelectedItems"),fLe=o((e,t,n="id",r)=>{if(r){const a=e??[],i=t??[];return a.length!==i.length?!1:!a.map(c=>i.some(l=>$t(l,n)===$t(c,n))).some(c=>c===!1)}return $t(e,n)===$t(t,n)},"areSelectedItemsEqual"),pLe=o(e=>({q:e}),"DefaultFilterToQuery"),mLe=o(e=>{const{className:t,row:n=!1,defaultValue:r=!1,format:a,label:i,fullWidth:s,helperText:c,onBlur:l,onChange:u,onFocus:d,readOnly:p,disabled:m,parse:v,resource:h,source:y,validate:C,options:w=hLe,sx:x,...b}=e,{id:S,field:$,isRequired:j,fieldState:{error:_,invalid:k}}=hg({defaultValue:r,format:a,parse:v,resource:h,source:y,onBlur:l,onChange:u,type:"checkbox",validate:C,disabled:m,readOnly:p,...b}),E=g.useCallback(P=>{$.onChange(P),$.onBlur()},[$]),A=c!==!1||k;return f.jsxs(k8e,{className:ee("ra-input",`ra-input-${y}`,t),row:n,sx:x,children:[f.jsx(C8e,{inputRef:$.ref,control:f.jsx(Z4e,{id:S,name:$.name,onChange:E,onFocus:d,checked:!!$.value,...Ig(b),...w,disabled:m||p,readOnly:p}),label:f.jsx(hs,{label:i,source:y,resource:h,isRequired:j})}),A?f.jsx(PH,{error:k,children:f.jsx(xf,{error:_==null?void 0:_.message,helperText:c})}):null]})},"BooleanInput"),hLe={},Nn="RaDatagrid",gt={root:`${Nn}-root`,table:`${Nn}-table`,tableWrapper:`${Nn}-tableWrapper`,thead:`${Nn}-thead`,tbody:`${Nn}-tbody`,headerRow:`${Nn}-headerRow`,headerCell:`${Nn}-headerCell`,checkbox:`${Nn}-checkbox`,row:`${Nn}-row`,clickableRow:`${Nn}-clickableRow`,rowEven:`${Nn}-rowEven`,rowOdd:`${Nn}-rowOdd`,rowCell:`${Nn}-rowCell`,selectable:`${Nn}-selectable`,expandHeader:`${Nn}-expandHeader`,expandIconCell:`${Nn}-expandIconCell`,expandIcon:`${Nn}-expandIcon`,expandable:`${Nn}-expandable`,expanded:`${Nn}-expanded`,expandedPanel:`${Nn}-expandedPanel`},gLe=V("div",{name:Nn,overridesResolver:o((e,t)=>t.root,"overridesResolver")})(({theme:e})=>({[`& .${gt.table}`]:{tableLayout:"auto"},[`& .${gt.tableWrapper}`]:{},[`& .${gt.thead}`]:{},[`& .${gt.tbody}`]:{},[`& .${gt.headerRow}`]:{},[`& .${gt.headerCell}`]:{position:"sticky",top:0,zIndex:2,backgroundColor:e.palette.background.paper,"&:first-of-type":{borderTopLeftRadius:e.shape.borderRadius},"&:last-child":{borderTopRightRadius:e.shape.borderRadius}},[`& .${gt.checkbox}`]:{},[`& .${gt.row}`]:{},[`& .${gt.clickableRow}`]:{cursor:"pointer"},[`& .${gt.rowEven}`]:{},[`& .${gt.rowOdd}`]:{},[`& .${gt.rowCell}`]:{},[`& .${gt.expandHeader}`]:{padding:0,width:e.spacing(6)},[`& .${gt.expandIconCell}`]:{width:e.spacing(6)},[`& .${gt.expandIcon}`]:{padding:e.spacing(1),transform:"rotate(-90deg)",transition:e.transitions.create("transform",{duration:e.transitions.duration.shortest})},[`& .${gt.expandIcon}.${gt.expanded}`]:{transform:"rotate(0deg)"},[`& .${gt.expandedPanel}`]:{}})),qq=g.forwardRef(({className:e,field:t,record:n,resource:r,...a},i)=>f.jsx(Lr,{className:ee(e,t.props.cellClassName),align:t.props.textAlign||t.type.textAlign,ref:i,...a,children:t}));qq.displayName="DatagridCell";const vLe=o(({expanded:e,expandContentId:t,...n})=>{const r=nt();return f.jsx(cn,{"aria-label":r(e?"ra.action.close":"ra.action.expand"),"aria-expanded":e,"aria-controls":t,tabIndex:-1,"aria-hidden":"true",component:"div",...n,size:"small",children:f.jsx(Mg,{fontSize:"inherit"})})},"ExpandRowButton"),yLe=g.memo(vLe),CA=g.createContext({});CA.displayName="DatagridContext";const Vq=o(e=>{const t=g.useContext(CA);return g.useMemo(()=>gE({},{},t),[t,e])},"useDatagridContext"),Y5=o((e,t,n)=>e?1+(n?1:0)+_t.Children.toArray(t).filter(r=>!!r).length:0,"computeNbColumns"),Gq=_t.forwardRef((e,t)=>{const n=Pc(e),r=n!=null&&n.hasShow?"show":n!=null&&n.hasEdit?"edit":!1,{children:a,className:i,expand:s,hasBulkActions:c=!1,hover:l=!0,id:u,onToggleItem:d,record:p,rowClick:m=r,selected:v=!1,style:h,selectable:y=!0,...C}=e;if(typeof u>"u")throw new Error("DatagridRow expects an id prop");const w=Vq(),x=nt(),b=un(e);if(!b)throw new Error("DatagridRow can only be used within a RecordContext or be passed a record prop");const S=Nt(e);if(!S)throw new Error("DatagridRow can only be used within a ResourceContext or be passed a resource prop");const $=(!w||!w.isRowExpandable||w.isRowExpandable(b))&&s,j=Ho(),[_,k]=$0e(S,u,w&&w.expandSingle),[E,A]=g.useState(()=>Y5($,a,c));g.useEffect(()=>{const O=Y5($,a,c);O!==E&&A(O)},[$,E,a,c]);const P=Ni(),M=g.useCallback(O=>{k(),O.stopPropagation()},[k]),T=g.useCallback(O=>{!y||!d||(d(u,O),O.stopPropagation())},[u,d,y]),z=g.useCallback(async O=>{O.persist();const N=typeof m=="function"?await m(u,S,b):m;if(!(N===!1||N==null)){if(["edit","show"].includes(N)){P(j({resource:S,id:u,type:N}),{state:{_scrollToTop:!0}});return}if(N==="expand"){M(O);return}if(N==="toggleSelection"){T(O);return}P(N)}},[m,u,S,b,P,j,M,T]);return f.jsxs(f.Fragment,{children:[f.jsxs(Ph,{ref:t,className:ee(i,{[gt.expandable]:$,[gt.selectable]:y,[gt.clickableRow]:typeof m=="function"?!0:m}),style:h,hover:l,onClick:z,...C,children:[s&&f.jsx(Lr,{padding:"none",className:gt.expandIconCell,children:$&&f.jsx(yLe,{className:ee(gt.expandIcon,{[gt.expanded]:_}),expanded:_,onClick:M,expandContentId:`${u}-expand`})}),c&&f.jsx(Lr,{padding:"checkbox",children:f.jsx(bf,{"aria-label":x("ra.action.select_row",{_:"Select this row"}),color:"primary",className:`select-item ${gt.checkbox}`,checked:y&&v,onClick:T,disabled:!y})}),_t.Children.map(a,(O,N)=>g.isValidElement(O)?f.jsx(qq,{className:ee(`column-${O.props.source}`,gt.rowCell),record:b,field:O,resource:S},`${u}-${O.props.source||N}`):null)]},u),$&&_&&f.jsx(Ph,{id:`${u}-expand`,className:gt.expandedPanel,children:f.jsx(Lr,{colSpan:E,children:g.isValidElement(s)?s:g.createElement(s)})},`${u}-expand`)]})}),bLe=o((e,t)=>{const{children:n,expand:r,...a}=e,{children:i,expand:s,...c}=t;return Ex(a,c)},"areEqual"),Kq=g.memo(Gq,bLe);Kq.displayName="PureDatagridRow";const SA=g.forwardRef(({children:e,className:t,data:n=wLe,expand:r,hasBulkActions:a=!1,hover:i,onToggleItem:s,resource:c,row:l=xLe,rowClick:u,rowSx:d,rowStyle:p,selectedIds:m,isRowSelectable:v,...h},y)=>f.jsx(UH,{ref:y,className:ee("datagrid-body",t,gt.tbody),...h,children:n.map((C,w)=>f.jsx(Qr,{value:C,children:g.cloneElement(l,{className:ee(gt.row,{[gt.rowEven]:w%2===0,[gt.rowOdd]:w%2!==0}),expand:r,hasBulkActions:a&&!!m,hover:i,id:C.id??`row${w}`,onToggleItem:s,resource:c,rowClick:u,selectable:!v||v(C),selected:m==null?void 0:m.includes(C.id),sx:d==null?void 0:d(C,w),style:p==null?void 0:p(C,w)},e)},C.id??`row${w}`))})),xLe=f.jsx(Gq,{}),wLe=[];SA.muiName="TableBody";const Jq=g.memo(e=>f.jsx(SA,{row:f.jsx(Kq,{}),...e}));Jq.muiName="TableBody";const CLe=o(e=>{const{className:t,field:n,sort:r,updateSort:a,isSorting:i,...s}=e,c=Nt(),l=nt(),u=IE(),d=l("ra.sort.sort_by",{field:n?u({label:typeof n.props.label=="string"?n.props.label:void 0,resource:c,source:n.props.source}):void 0,order:l(`ra.sort.${(r==null?void 0:r.order)==="ASC"?"DESC":"ASC"}`),_:l("ra.action.sort")});return f.jsx($Le,{className:ee(t,n==null?void 0:n.props.headerClassName),align:(n==null?void 0:n.props.textAlign)||(n==null?void 0:n.type.textAlign),variant:"head",...s,children:a&&r&&n&&n.props.sortable!==!1&&n.type.sortable!==!1&&(n.props.sortBy||n.props.source)?f.jsx(Fo,{title:d,placement:n.props.textAlign==="right"||n.type.textAlign==="right"?"bottom-end":"bottom-start",enterDelay:300,children:f.jsx(QOe,{active:r.field===(n.props.sortBy||n.props.source),direction:r.order==="ASC"?"asc":"desc","data-field":n.props.sortBy||n.props.source,"data-order":n.props.sortByOrder||"ASC",onClick:a,classes:jLe,children:f.jsx(hs,{label:n.props.label,source:n.props.source,resource:c})})}):f.jsx(hs,{label:n==null?void 0:n.props.label,source:n==null?void 0:n.props.source,resource:c})})},"DatagridHeaderCell"),SLe=g.memo(CLe,(e,t)=>{var n,r,a,i;return e.updateSort===t.updateSort&&((n=e.sort)==null?void 0:n.field)===((r=t.sort)==null?void 0:r.field)&&((a=e.sort)==null?void 0:a.order)===((i=t.sort)==null?void 0:i.order)&&e.isSorting===t.isSorting}),Yq="RaDatagridHeaderCell",jLe={icon:`${Yq}-icon`},$Le=V(Lr,{name:Yq,overridesResolver:o((e,t)=>t.root,"overridesResolver")})({"& .MuiTableSortLabel-icon":{display:"none"},"& .Mui-active .MuiTableSortLabel-icon":{display:"inline"}}),Fm=o(e=>f.jsx(kLe,{className:e.className,children:" "}),"Placeholder"),_Le="RaPlaceholder",kLe=V("span",{name:_Le,overridesResolver:o((e,t)=>t.root,"overridesResolver")})(({theme:e})=>({backgroundColor:e.palette.grey[300],display:"flex"})),oC=o((e,t)=>Array.from({length:e},(n,r)=>t(r)),"times$2"),ELe=o(({className:e,expand:t,hasBulkActions:n,nbChildren:r,nbFakeLines:a=5,size:i})=>tp(1e3)?f.jsx("div",{className:gt.root,children:f.jsxs(WH,{className:ee(gt.table,e),size:i,children:[f.jsx(HH,{children:f.jsxs(Ph,{className:gt.row,children:[t&&f.jsx(Lr,{padding:"none",className:gt.expandHeader}),n&&f.jsx(Lr,{padding:"checkbox",className:gt.expandIconCell,children:f.jsx(bf,{className:"select-all",color:"primary",checked:!1})}),oC(r,c=>f.jsx(Lr,{variant:"head",className:gt.headerCell,children:f.jsx(Fm,{})},c))]})}),f.jsx(UH,{children:oC(a,c=>f.jsxs(Ph,{style:{opacity:1/(c+1)},children:[t&&f.jsx(Lr,{padding:"none",className:gt.expandIconCell,children:f.jsx(cn,{className:gt.expandIcon,component:"div","aria-hidden":"true",size:"large",children:f.jsx(Mg,{})})}),n&&f.jsx(Lr,{padding:"checkbox",className:gt.expandIconCell,children:f.jsx(bf,{className:"select-all",color:"primary",checked:!1})}),oC(r,l=>f.jsx(Lr,{className:gt.rowCell,children:f.jsx(Fm,{})},l))]},c))})]})}):null,"DatagridLoading"),RLe=g.memo(ELe);var ALe=Ik,PLe=J7,MLe=Y7,TLe=ag,OLe=ig,zLe=Lk,ILe=200;function LLe(e,t,n,r){var a=-1,i=PLe,s=!0,c=e.length,l=[],u=t.length;if(!c)return l;n&&(t=TLe(t,OLe(n))),r?(i=MLe,s=!1):t.length>=ILe&&(i=zLe,s=!1,t=new ALe(t));e:for(;++a<c;){var d=e[a],p=n==null?d:n(d);if(d=r||d!==0?d:0,s&&p===p){for(var m=u;m--;)if(t[m]===p)continue e;l.push(d)}else i(t,p,r)||l.push(d)}return l}o(LLe,"baseDifference$2");var Qq=LLe,DLe=Qq,NLe=kx,FLe=Zf,Q5=$x,BLe=FLe(function(e,t){return Q5(e)?DLe(e,NLe(t,1,Q5,!0)):[]}),WLe=BLe;const ULe=Qt(WLe),HLe=o(({ids:e})=>{const t=nt(),n=Nt(),[r,a]=_0e(n||"",e);return n?f.jsx(cn,{className:ee(gt.expandIcon,{[gt.expanded]:r}),"aria-label":t(r?"ra.action.close":"ra.action.expand"),"aria-expanded":r,tabIndex:-1,"aria-hidden":"true",onClick:a,size:"small",children:f.jsx(Mg,{fontSize:"inherit"})}):null},"ExpandAllButton"),qLe=g.memo(HLe),Xq=o(e=>{const{children:t,className:n,hasExpand:r=!1,hasBulkActions:a=!1,isRowSelectable:i}=e,s=nt(),{sort:c,data:l,onSelect:u,selectedIds:d,setSort:p}=Tx(e),{expandSingle:m}=Vq(),v=g.useCallback(w=>{if(w.stopPropagation(),!p)return;const x=w.currentTarget.dataset.field,b=(c==null?void 0:c.field)===x?(c==null?void 0:c.order)==="ASC"?"DESC":"ASC":w.currentTarget.dataset.order;p({field:x,order:b})},[c==null?void 0:c.field,c==null?void 0:c.order,p]),h=p?v:null,y=g.useCallback(w=>{!u||!d||!l||u(w.target.checked?d.concat(l.filter(x=>!d.includes(x.id)).filter(x=>i?i(x):!0).map(x=>x.id)):[])},[l,u,i,d]),C=Array.isArray(l)?i?l.filter(w=>i(w)).map(w=>w.id):l.map(w=>w.id):[];return f.jsx(HH,{className:ee(n,gt.thead),children:f.jsxs(Ph,{className:ee(gt.row,gt.headerRow),children:[r&&f.jsx(Lr,{padding:"none",className:ee(gt.headerCell,gt.expandHeader),children:!m&&l?f.jsx(qLe,{ids:l.map(w=>w.id)}):null}),a&&d&&f.jsx(Lr,{padding:"checkbox",className:gt.headerCell,children:f.jsx(bf,{inputProps:{"aria-label":s("ra.action.select_all",{_:"Select all"})},className:"select-all",color:"primary",checked:d.length>0&&C.length>0&&C.every(w=>d.includes(w)),onChange:y,onClick:o(w=>w.stopPropagation(),"onClick")})}),g.Children.map(t,(w,x)=>g.isValidElement(w)?f.jsx(SLe,{className:ee(gt.headerCell,`column-${w.props.source}`),sort:c,field:w,isSorting:(c==null?void 0:c.field)===(w.props.sortBy||w.props.source),updateSort:h||void 0},w.props.source||x):null)]})})},"DatagridHeader");Xq.displayName="DatagridHeader";const VLe=o(({children:e,value:t})=>f.jsx(CA.Provider,{value:t,children:e}),"DatagridContextProvider");var jA={},GLe=ht;Object.defineProperty(jA,"__esModule",{value:!0});var Zq=jA.default=void 0,KLe=GLe(vt()),JLe=f;Zq=jA.default=(0,KLe.default)((0,JLe.jsx)("path",{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Close");const eV=o(e=>{const{label:t="ra.action.bulk_actions",children:n,className:r,...a}=e,{selectedIds:i=[],onUnselectItems:s}=Jn(),c=nt(),l=g.useCallback(()=>{s()},[s]);return f.jsx(YLe,{className:r,children:f.jsxs(Yl,{"data-test":"bulk-actions-toolbar",className:ee(Mo.toolbar,{[Mo.collapsed]:i.length===0}),...Pl(a),children:[f.jsxs("div",{className:Mo.title,children:[f.jsx(cn,{className:Mo.icon,"aria-label":c("ra.action.unselect"),title:c("ra.action.unselect"),onClick:l,size:"small",children:f.jsx(Zq,{fontSize:"small"})}),f.jsx(et,{color:"inherit",variant:"subtitle1",children:c(t,{_:t,smart_count:i.length})})]}),f.jsx(zg,{className:Mo.topToolbar,children:n})]})})},"BulkActionsToolbar"),Hc="RaBulkActionsToolbar",Mo={toolbar:`${Hc}-toolbar`,topToolbar:`${Hc}-topToolbar`,buttons:`${Hc}-buttons`,collapsed:`${Hc}-collapsed`,title:`${Hc}-title`,icon:`${Hc}-icon`},YLe=V("div",{name:Hc,overridesResolver:o((e,t)=>t.root,"overridesResolver")})(({theme:e})=>({position:"relative",[`& .${Mo.toolbar}`]:{position:"absolute",left:0,right:0,zIndex:3,color:e.palette.mode==="light"?e.palette.primary.main:e.palette.text.primary,justifyContent:"space-between",backgroundColor:e.palette.mode==="light"?x$e(e.palette.primary.light,.8):e.palette.primary.dark,minHeight:e.spacing(6),height:e.spacing(6),transform:`translateY(-${e.spacing(6)})`,transition:`${e.transitions.create("height")}, ${e.transitions.create("min-height")}, ${e.transitions.create("transform")}`,borderTopLeftRadius:e.shape.borderRadius,borderTopRightRadius:e.shape.borderRadius},[`& .${Mo.topToolbar}`]:{paddingBottom:e.spacing(1),minHeight:"auto",[e.breakpoints.down("sm")]:{backgroundColor:"transparent"}},[`& .${Mo.buttons}`]:{},[`& .${Mo.collapsed}`]:{minHeight:0,height:0,transform:"translateY(0)",overflowY:"hidden"},[`& .${Mo.title}`]:{display:"flex",flex:"0 0 auto"},[`& .${Mo.icon}`]:{marginLeft:"-0.5em",marginRight:"0.5em"}})),tV=g.memo(()=>{const e=nt(),t=Nt();return f.jsx(Yo,{children:f.jsx(et,{variant:"body2",children:e("ra.navigation.no_results",{resource:t})})})}),X5=f.jsx(Rq,{}),nV=g.forwardRef((e,t)=>{const{optimized:n=!1,body:r=n?Jq:SA,header:a=Xq,children:i,className:s,empty:c=ZLe,expand:l,bulkActionButtons:u=X5,hover:d,isRowSelectable:p,isRowExpandable:m,resource:v,rowClick:h,rowSx:y,rowStyle:C,size:w="small",sx:x,expandSingle:b=!1,...S}=e,{sort:$,data:j,isPending:_,onSelect:k,onToggleItem:E,selectedIds:A,setSort:P,total:M}=Tx(e),T=!!u,z=g.useMemo(()=>({isRowExpandable:m,expandSingle:b}),[m,b]),O=g.useRef(null);g.useEffect(()=>{(!A||A.length===0)&&(O.current=null)},[JSON.stringify(A)]);const N=g.useCallback((F,I)=>{if(!j)return;const B=j.map(te=>te.id),U=B.indexOf(O.current);if(O.current=I.target.checked?F:null,I.shiftKey&&U!==-1){const te=B.indexOf(F),Z=B.slice(Math.min(U,te),Math.max(U,te)+1),be=I.target.checked?X7(A,Z):ULe(A,Z);k==null||k(p?be.filter(ne=>p(j.find(le=>le.id===ne))):be)}else E==null||E(F)},[j,p,k,E,A]);return _===!0?f.jsx(RLe,{className:s,expand:l,hasBulkActions:T,nbChildren:g.Children.count(i),size:w}):j==null||j.length===0||M===0?c||null:f.jsx(VLe,{value:z,children:f.jsx(d1e,{value:v,children:f.jsxs(gLe,{sx:x,className:ee(gt.root,s),children:[u!==!1?f.jsx(eV,{children:g.isValidElement(u)?u:X5}):null,f.jsx("div",{className:gt.tableWrapper,children:f.jsxs(WH,{ref:t,className:gt.table,size:w,...XLe(S),children:[Z5(a,{children:i,sort:$,data:j,hasExpand:!!l,hasBulkActions:T,isRowSelectable:p,onSelect:k,selectedIds:A,setSort:P},i),Z5(r,{expand:l,rowClick:h,data:j,hasBulkActions:T,hover:d,onToggleItem:N,resource:v,rowSx:y,rowStyle:C,selectedIds:A,isRowSelectable:p},i)]})})]})})})}),Z5=o((e,t,n)=>g.isValidElement(e)?g.cloneElement(e,t,n):g.createElement(e,t,n),"createOrCloneElement"),QLe=["isRequired","setFilter","setPagination","limitChoicesToValue","translateChoice","field","fieldState","formState"],XLe=o(e=>Object.keys(Pl(e)).filter(t=>!QLe.includes(t)||t==="ref").reduce((t,n)=>({...t,[n]:e[n]}),{}),"sanitizeRestProps$5");nV.displayName="Datagrid";const ZLe=f.jsx(tV,{}),eDe=o(e=>{const{filterElement:t,handleHide:n,className:r}=e,a=Nt(e),i=nt();return f.jsxs(tDe,{"data-source":t.props.source,className:ee("filter-field",r),children:[g.cloneElement(t,{resource:a,record:nDe,size:t.props.size??"small",helperText:!1,defaultValue:void 0}),!t.props.alwaysOn&&f.jsx(cn,{className:ee("hide-filter",Xb.hideButton),onClick:n,"data-key":t.props.source,title:i("ra.action.remove_filter"),size:"small",children:f.jsx(Fq,{})}),f.jsx("div",{className:Xb.spacer,children:" "})]})},"FilterFormInput"),_3="RaFilterFormInput",Xb={spacer:`${_3}-spacer`,hideButton:`${_3}-hideButton`},tDe=V("div",{name:_3,overridesResolver:o((e,t)=>t.root,"overridesResolver")})(({theme:e})=>({display:"flex",alignItems:"flex-end",pointerEvents:"auto",[e.breakpoints.down("sm")]:{width:"100%"},[`& .${Xb.spacer}`]:{width:e.spacing(2)},[`& .${Xb.hideButton}`]:{marginBottom:e.spacing(1)}})),nDe={},W1=g.createContext(void 0),rDe=o(e=>{const{defaultValues:t,filters:n,...r}=e,{setFilters:a,displayedFilters:i,filterValues:s}=Jn(),c=g.useContext(W1)||n,l=sDe(t||s,c),u=SE({defaultValues:l}),{getValues:d,reset:p,trigger:m,watch:v}=u;return g.useEffect(()=>{const h=uDe(d(),s),y=d();va(h,y)||p(h)},[JSON.stringify(s),s,d,p]),g.useEffect(()=>{const h=v(async(y,{name:C})=>{const w=await m();if(C&&w)if($t(y,C)===""){const x=F7(y);sy(x,C),a(x,i,!0)}else a(y,i,!0)});return()=>h.unsubscribe()},[i,a,m,v]),f.jsx(bE,{...u,children:f.jsx(KB,{children:f.jsx(aDe,{onSubmit:cDe,filters:c,...r})})})},"FilterForm"),aDe=o(e=>{const{className:t,filters:n,...r}=e,a=Nt(e),i=np(),{displayedFilters:s={},hideFilter:c}=Jn();g.useEffect(()=>{n&&n.forEach(p=>{if(p.props.alwaysOn&&p.props.defaultValue)throw new Error("Cannot use alwaysOn and defaultValue on a filter input. Please set the filterDefaultValues props on the <List> element instead.")})},[n]);const l=o(()=>{if(!n)return[];const p=i.getValues();return n.filter(m=>{const v=$t(p,m.props.source);return m.props.alwaysOn||s[m.props.source]||!aV(v)})},"getShownFilters"),u=g.useCallback(p=>c(p.currentTarget.dataset.key),[c]),d=g.useMemo(()=>({getSource:o(p=>p,"getSource"),getLabel:o(p=>`resources.${a}.fields.${p}`,"getLabel")}),[a]);return f.jsx(AE,{value:d,children:f.jsxs(lDe,{className:t,...iDe(r),onSubmit:oDe,children:[l().map(p=>f.jsx(eDe,{filterElement:p,handleHide:u,resource:a,className:Zb.filterFormInput},p.key||p.props.source)),f.jsx("div",{className:Zb.clearFix})]})})},"FilterFormBase"),oDe=o(e=>(e.preventDefault(),!1),"handleSubmit"),iDe=o(({hasCreate:e,resource:t,...n})=>n,"sanitizeRestProps$4"),sDe=o((e,t)=>({...t.filter(n=>n.props.alwaysOn&&n.props.defaultValue).reduce((n,r)=>Ta({...n},r.props.source,r.props.defaultValue),{}),...e}),"mergeInitialValuesWithDefaultValues"),cDe=o(e=>(e.preventDefault(),e.stopPropagation(),!1),"handleFormSubmit"),k3="RaFilterForm",Zb={clearFix:`${k3}-clearFix`,filterFormInput:`${k3}-filterFormInput`},lDe=V("form",{name:k3,overridesResolver:o((e,t)=>t.root,"overridesResolver")})(({theme:e})=>({display:"flex",flex:"0 1 auto",[e.breakpoints.down("sm")]:{width:"100%"},[e.breakpoints.up("sm")]:{minHeight:e.spacing(8)},[e.breakpoints.up("md")]:{flex:"0 1 100%"},flexWrap:"wrap",alignItems:"flex-end",pointerEvents:"none",padding:`0 0 ${e.spacing(.5)} 0`,"& .MuiFormHelperText-root":{display:"none"},[`& .${Zb.clearFix}`]:{clear:"right"},[`& .${Zb.filterFormInput} .MuiFormControl-root`]:{marginTop:`${e.spacing(1)}`}})),uDe=o((e,t)=>Object.keys(e).reduce((n,r)=>(n[r]=rV(e,r,t),n),F7(t)??{}),"getFilterFormValues"),rV=o((e,t,n)=>{if(e[t]===void 0||e[t]===null)return"";if(Array.isArray(e[t])||e[t]instanceof Date)return $t(n,t,"");if(typeof e[t]=="object"){const r=Object.keys(e[t]).reduce((a,i)=>{const s=rV(e[t],i,(n||{})[t]??{});return a[i]=s,a},{});return Object.keys(r).length?r:""}return $t(n,t,"")},"getInputValue"),aV=o(e=>e===""||e==null?!0:typeof e=="object"?Object.keys(e).every(t=>aV(e[t])):!1,"isEmptyValue");var $A={},dDe=ht;Object.defineProperty($A,"__esModule",{value:!0});var oV=$A.default=void 0,fDe=dDe(vt()),pDe=f;oV=$A.default=(0,fDe.default)((0,pDe.jsx)("path",{d:"M10 18h4v-2h-4zM3 6v2h18V6zm3 7h12v-2H6z"}),"FilterList");const mDe=g.forwardRef((e,t)=>{const{filter:n,onShow:r,autoFocus:a}=e,i=Nt(e),s=g.useCallback(()=>{r({source:n.props.source,defaultValue:n.props.defaultValue})},[n.props.defaultValue,n.props.source,r]);return f.jsx(Gn,{className:"new-filter-item","data-key":n.props.source,"data-default-value":n.props.defaultValue,onClick:s,autoFocus:a,ref:t,disabled:n.props.disabled,children:f.jsx(hs,{label:n.props.label,source:n.props.source,resource:i})},n.props.source)}),_A=o(e=>So(`${e}.savedQueries`,[]),"useSavedQueries"),kA=o(e=>Array.isArray(e)?e.filter(t=>hDe(t)):[],"extractValidSavedQueries"),hDe=o(e=>{var t,n;return!!(e.label&&typeof e.label=="string"&&e.value&&typeof Array.isArray(e.value.displayedFilters)&&typeof e.value.perPage=="number"&&typeof((t=e.value.sort)==null?void 0:t.field)=="string"&&typeof((n=e.value.sort)==null?void 0:n.order)=="string"&&typeof e.value.filter=="object")},"isValidSavedQuery"),gDe=o(({open:e,onClose:t})=>{const n=nt(),{resource:r,filterValues:a,displayedFilters:i,sort:s,perPage:c}=Jn(),[l,u]=_A(r),[d,p]=g.useState(""),m=o(y=>{p(y.target.value)},"handleQueryNameChange"),v=o(y=>{y.preventDefault(),h()},"handleFormSubmit"),h=o(()=>{const y={label:d,value:{filter:a,sort:s,perPage:c,displayedFilters:i}},C=kA(l);u(C.concat(y)),p(""),t()},"addQuery");return f.jsxs(Eg,{open:e,onClose:t,"aria-labelledby":"form-dialog-title",children:[f.jsx(Pg,{id:"form-dialog-title",children:n("ra.saved_queries.new_dialog_title",{_:"Save current query as"})}),f.jsx(Ag,{children:f.jsx("form",{onSubmit:v,children:f.jsx(ys,{autoFocus:!0,margin:"dense",id:"name",label:n("ra.saved_queries.query_name",{_:"Query name"}),fullWidth:!0,value:d,onChange:m})})}),f.jsxs(Rg,{children:[f.jsx(gn,{onClick:t,children:n("ra.action.cancel")}),f.jsx(gn,{onClick:h,color:"primary",children:n("ra.action.save")})]})]})},"AddSavedQueryDialog"),vDe=o(({open:e,onClose:t})=>{const n=nt(),{resource:r,filterValues:a,sort:i,perPage:s,displayedFilters:c}=Jn(),[l,u]=_A(r),d=o(()=>{let p={filter:a,sort:i,perPage:s,displayedFilters:c};const m=kA(l),v=m.findIndex(h=>va(h.value,p));u([...m.slice(0,v),...m.slice(v+1)]),t()},"removeQuery");return f.jsxs(Eg,{open:e,onClose:t,"aria-labelledby":"alert-dialog-title","aria-describedby":"alert-dialog-description",children:[f.jsx(Pg,{id:"alert-dialog-title",children:n("ra.saved_queries.remove_dialog_title",{_:"Remove saved query?"})}),f.jsx(Ag,{children:f.jsx(kH,{children:n("ra.saved_queries.remove_message",{_:"Are you sure you want to remove that item from your list of saved queries?"})})}),f.jsxs(Rg,{children:[f.jsx(gn,{onClick:t,children:n("ra.action.cancel")}),f.jsx(gn,{onClick:d,color:"primary",autoFocus:!0,children:n("ra.action.confirm")})]})]})},"RemoveSavedQueryDialog"),yDe=o(e=>{const{filters:t,className:n,disableSaveQuery:r,size:a,variant:i,...s}=e,c=g.useContext(W1)||t,l=Nt(e),u=nt();if(!l&&!r)throw new Error("<FilterButton> must be called inside a ResourceContextProvider, or must provide a resource prop");const[d]=_A(l||""),p=Ni(),{displayedFilters:m={},filterValues:v,perPage:h,setFilters:y,showFilter:C,sort:w}=Jn(),x=!va(v,{}),b=kA(d),S=b.some(U=>va(U.value,{filter:v,sort:w,perPage:h,displayedFilters:m})),[$,j]=g.useState(!1),_=g.useRef();if(c===void 0)throw new Error("The <FilterButton> component requires the <List filters> prop to be set");const k=c.filter(U=>!U.props.alwaysOn&&!m[U.props.source]&&typeof $t(v,U.props.source)>"u"),E=g.useCallback(U=>{U.preventDefault(),j(!0),_.current=U.currentTarget},[_,j]),A=g.useCallback(()=>{j(!1)},[j]),P=g.useCallback(({source:U,defaultValue:te})=>{C(U,te===""?void 0:te),setTimeout(()=>{const Z=document.querySelector(`input[name='${U}']`);Z&&Z.focus()},50),j(!1)},[C,j]),[M,T]=g.useState(!1),z=o(()=>{T(!1)},"hideAddSavedQueryDialog"),O=o(()=>{j(!1),T(!0)},"showAddSavedQueryDialog"),[N,F]=g.useState(!1),I=o(()=>{F(!1)},"hideRemoveSavedQueryDialog"),B=o(()=>{j(!1),F(!0)},"showRemoveSavedQueryDialog");return k.length===0&&b.length===0&&!x?null:f.jsxs(wDe,{className:n,...bDe(s),children:[f.jsx(Qo,{className:"add-filter",label:"ra.action.add_filter","aria-haspopup":"true",onClick:E,variant:i,size:a,children:f.jsx(oV,{})}),f.jsxs(Jl,{open:$,anchorEl:_.current,onClose:A,children:[k.map((U,te)=>f.jsx(mDe,{filter:U,resource:l,onShow:P,autoFocus:te===0},U.props.source)),b.map((U,te)=>va(U.value,{filter:v,sort:w,perPage:h,displayedFilters:m})?f.jsx(Gn,{onClick:B,children:u("ra.saved_queries.remove_label_with_name",{_:'Remove query "%{name}"',name:U.label})},te):f.jsx(Gn,{onClick:o(()=>{var Z,be;p({search:lg.stringify({filter:JSON.stringify(U.value.filter),sort:(Z=U.value.sort)==null?void 0:Z.field,order:(be=U.value.sort)==null?void 0:be.order,page:1,perPage:U.value.perPage,displayedFilters:JSON.stringify(U.value.displayedFilters)})}),j(!1)},"onClick"),children:U.label},te)),x&&!S&&!r&&f.jsx(Gn,{onClick:O,children:u("ra.saved_queries.new_label",{_:"Save current query..."})}),x&&f.jsx(Gn,{onClick:o(()=>{y({},{}),j(!1)},"onClick"),children:u("ra.action.remove_all_filters",{_:"Remove all filters"})})]}),!r&&f.jsxs(f.Fragment,{children:[f.jsx(gDe,{open:M,onClose:z}),f.jsx(vDe,{open:N,onClose:I})]})]})},"FilterButton"),bDe=o(({displayedFilters:e=null,filterValues:t=null,showFilter:n=null,...r})=>r,"sanitizeRestProps$3"),xDe="RaFilterButton",wDe=V("div",{name:xDe,overridesResolver:o((e,t)=>t.root,"overridesResolver")})({display:"inline-block"}),tl=o(e=>{const{label:t,icon:n,children:r,...a}=e,i=nt();return f.jsxs(Be,{...a,children:[f.jsxs(Be,{mt:2,display:"flex",alignItems:"center",children:[f.jsx(Be,{mr:1,children:n}),f.jsx(et,{variant:"overline",children:i(t,{_:t})})]}),f.jsx(zc,{dense:!0,disablePadding:!0,children:r})]})},"FilterList");var CDe=eE,SDe=SB,jDe=1;function $De(e){return SDe(CDe(e,jDe))}o($De,"matches");var _De=$De;const iV=Qt(_De),kDe=o((e,t)=>e.label===t.label&&Ex(e.value,t.value),"arePropsEqual"),oa=g.memo(e=>{const{label:t,value:n,icon:r,isSelected:a=EDe,toggleFilter:i=RDe,...s}=e,{filterValues:c,setFilters:l}=_B(),u=nt(),d=zt(i),p=a(n,c),m=o(()=>l(d(n,c)),"handleClick");return f.jsx(ADe,{onClick:m,selected:p,disablePadding:!0,...s,children:f.jsxs(TR,{disableGutters:!0,className:fd.listItemButton,children:[r&&f.jsx(Il,{className:fd.listItemIcon,children:r}),f.jsx(_s,{primary:typeof t=="string"&&!Pb.isElement(t)?u(t,{_:t}):t,className:fd.listItemText,"data-selected":p?"true":"false"}),p&&f.jsx(Ic,{onClick:o(v=>{v.stopPropagation(),m()},"onClick"),children:f.jsx(cn,{size:"small",children:f.jsx(lA,{})})})]})})},kDe),EDe=o((e,t)=>iV(fE(e,n=>typeof n<"u"))(t),"DefaultIsSelected"),RDe=o((e,t)=>{if(iV(fE(e,r=>typeof r<"u"))(t)){const r=Object.keys(e);return Object.keys(t).reduce((a,i)=>r.includes(i)?a:{...a,[i]:t[i]},{})}return{...t,...e}},"DefaultToggleFilter"),Ey="RaFilterListItem",fd={listItemButton:`${Ey}-listItemButton`,listItemText:`${Ey}-listItemText`,listItemIcon:`${Ey}-listItemIcon`},ADe=V(Kl,{name:Ey,overridesResolver:o((e,t)=>t.root,"overridesResolver")})({[`& .${fd.listItemButton}`]:{paddingRight:"2em",paddingLeft:"2em"},[`& .${fd.listItemText}`]:{margin:0},[`& .${fd.listItemIcon}`]:{minWidth:0,marginRight:"0.5em"}});var EA={},PDe=ht;Object.defineProperty(EA,"__esModule",{value:!0});var sV=EA.default=void 0,MDe=PDe(vt()),TDe=f;sV=EA.default=(0,MDe.default)((0,TDe.jsx)("path",{d:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14"}),"Search");const cV=g.memo(e=>{const{filterValues:t,setFilters:n}=_B(),r=nt(),a=Nt(e),{source:i="q",label:s=r("ra.action.search"),placeholder:c,...l}=e,u=o(h=>{if(h.target)n({...t,[i]:h.target.value},null,!0);else{const{[i]:y,...C}=t;n(C)}},"handleChange"),d=g.useMemo(()=>({[i]:t[i]}),[t,i]),p=SE({defaultValues:d}),m=o(h=>{h.preventDefault()},"onSubmit"),v=g.useMemo(()=>({getSource:o(h=>h,"getSource"),getLabel:o(h=>`resources.${a}.fields.${h}`,"getLabel")}),[a]);return f.jsx(bE,{...p,children:f.jsx(AE,{value:v,children:f.jsx("form",{onSubmit:m,children:f.jsx(Wn,{resettable:!0,helperText:!1,source:i,InputProps:{endAdornment:f.jsx(Im,{position:"end",children:f.jsx(sV,{color:"disabled"})})},onChange:u,size:"small",label:l.hiddenLabel?!1:s,placeholder:c??(l.hiddenLabel?s:void 0),...l})})})})}),ODe=g.memo(e=>{const{page:t,rowsPerPage:n,count:r,onPageChange:a,size:i="small",className:s,...c}=e,l=nt(),u=Math.ceil(r/n)||1;if(u===1)return f.jsx(eI,{className:s});const d=o((p,m,v)=>p==="page"?v?l("ra.navigation.current_page",{page:m,_:`page ${m}`}):l("ra.navigation.page",{page:m,_:`Go to page ${m}`}):l(`ra.navigation.${p}`,{_:`Go to ${p} page`}),"getItemAriaLabel");return f.jsx(eI,{className:s,children:f.jsx(i4e,{size:i,count:u,page:t+1,onChange:o((p,m)=>a(p,m-1),"onChange"),...IDe(c),getItemAriaLabel:d})})}),zDe="RaPaginationActions",eI=V("div",{name:zDe,overridesResolver:o((e,t)=>t.root,"overridesResolver")})(()=>({flexShrink:0,ml:4})),IDe=o(({nextIconButtonProps:e,backIconButtonProps:t,slotProps:n,...r})=>r,"sanitizeRestProps$2"),RA=g.memo(e=>{const{rowsPerPageOptions:t=LDe,actions:n,limit:r=null,...a}=e,{isPending:i,hasNextPage:s,page:c,perPage:l,total:u,setPage:d,setPerPage:p}=L0e(),m=nt(),v=ta(S=>S.breakpoints.down("md")),h=g.useMemo(()=>u!=null?Math.ceil(u/l):void 0,[l,u]),y=g.useCallback((S,$)=>{if(S&&S.stopPropagation(),$<0||h&&$>h-1)throw new Error(m("ra.navigation.page_out_of_boundaries",{page:$+1}));d($+1)},[h,d,m]),C=g.useCallback(S=>{p(S.target.value)},[p]),w=g.useCallback(({from:S,to:$,count:j})=>j===-1&&s?m("ra.navigation.partial_page_range_info",{offsetBegin:S,offsetEnd:$,_:"%{from}-%{to} of more than %{to}"}):m("ra.navigation.page_range_info",{offsetBegin:S,offsetEnd:$,total:j===-1?$:j,_:"%{from}-%{to} of %{count === -1 ? to : count}"}),[m,s]),x=g.useCallback(S=>m(`ra.navigation.${S}`,{_:`Go to ${S} page`}),[m]);if(i)return f.jsx(Yl,{variant:"dense"});if(u===0||c<1||u!=null&&c>h)return r!=null,null;if(v)return f.jsx(F5,{count:u??-1,rowsPerPage:l,page:c-1,onPageChange:y,rowsPerPageOptions:DDe,component:"span",labelDisplayedRows:w,...Pl(a)});const b=n||(!i&&u!=null?ODe:void 0);return f.jsx(F5,{count:u??-1,rowsPerPage:l,page:c-1,onPageChange:y,onRowsPerPageChange:C,ActionsComponent:b,nextIconButtonProps:{disabled:!s},component:"span",labelRowsPerPage:m("ra.navigation.page_rows_per_page"),labelDisplayedRows:w,getItemAriaLabel:x,rowsPerPageOptions:t,...Pl(a)})}),LDe=[5,10,25,50],DDe=[],NDe=o(({className:e,defaultValue:t,format:n=WDe,label:r,name:a,source:i,resource:s,helperText:c,margin:l,onBlur:u,onChange:d,parse:p,validate:m,variant:v,disabled:h,readOnly:y,...C})=>{const{field:w,fieldState:x,id:b,isRequired:S}=hg({defaultValue:t,name:a,format:n,parse:p,onBlur:u,onChange:d,resource:s,source:i,validate:m,disabled:h,readOnly:y,...C}),{error:$,invalid:j}=x,_=c!==!1||j;return f.jsx(ys,{id:b,...w,className:ee("ra-input",`ra-input-${i}`,e),type:"date",size:"small",variant:v,margin:l,error:j,disabled:h||y,readOnly:y,helperText:_?f.jsx(xf,{error:$==null?void 0:$.message,helperText:c}):null,label:f.jsx(hs,{label:r,source:i,resource:s,isRequired:S}),InputLabelProps:BDe,...Ig(C)})},"DateInput"),tI=o(e=>{if(!(e instanceof Date)||isNaN(e.getDate()))return"";const t="00",n=e.getFullYear().toString(),r=(e.getMonth()+1).toString(),a=e.getDate().toString();return`${n}-${(t+r).slice(-2)}-${(t+a).slice(-2)}`},"convertDateToString"),FDe=/^\d{4}-\d{2}-\d{2}$/,BDe={shrink:!0},WDe=o(e=>e==null||e===""?"":e instanceof Date?tI(e):FDe.test(e)?e:tI(new Date(e)),"getStringFromDate");var AA={},UDe=ht;Object.defineProperty(AA,"__esModule",{value:!0});var e0=AA.default=void 0,HDe=UDe(vt()),qDe=f;e0=AA.default=(0,HDe.default)((0,qDe.jsx)("path",{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Clear");const U1=g.forwardRef((e,t)=>{const{clearAlwaysVisible:n,InputProps:r,value:a,resettable:i,disabled:s,readOnly:c,variant:l,margin:u,className:d,...p}=e,m=nt(),{onChange:v}=e,h=g.useCallback(_=>{_.preventDefault(),v&&v("")},[v]),{clearButton:y,clearIcon:C,inputAdornedEnd:w,selectAdornment:x,visibleClearIcon:b}=Au,{endAdornment:S,...$}=r||{};if(n&&S)throw new Error("ResettableTextField cannot display both an endAdornment and a clear button always visible");const j=o(()=>i?a?f.jsx(Im,{position:"end",className:e.select?x:void 0,children:f.jsx(cn,{className:y,"aria-label":m("ra.action.clear_input_value"),title:m("ra.action.clear_input_value"),onClick:h,onMouseDown:VDe,disabled:s||c,size:"large",children:f.jsx(e0,{className:ee(C,{[b]:n||a})})})}):n?f.jsx(Im,{position:"end",className:e.select?x:void 0,children:f.jsx(cn,{className:y,"aria-label":m("ra.action.clear_input_value"),title:m("ra.action.clear_input_value"),disabled:!0,size:"large",children:f.jsx(e0,{className:ee(C,b)})})}):S||f.jsx(Im,{position:"end",className:e.select?x:void 0,children:f.jsx("span",{className:y,children:" "})}):S,"getEndAdornment");return f.jsx(GDe,{value:a,InputProps:{readOnly:c,classes:e.select&&l==="filled"?{adornedEnd:w}:{},endAdornment:j(),...$},disabled:s||c,variant:l,margin:u,className:d,...p,inputRef:t})});U1.displayName="ResettableTextField";const VDe=o(e=>{e.preventDefault()},"handleMouseDownClearButton"),Ru="RaResettableTextField",Au={clearIcon:`${Ru}-clearIcon`,visibleClearIcon:`${Ru}-visibleClearIcon`,clearButton:`${Ru}-clearButton`,selectAdornment:`${Ru}-selectAdornment`,inputAdornedEnd:`${Ru}-inputAdornedEnd`},lV={[`& .${Au.clearIcon}`]:{height:16,width:0},[`& .${Au.visibleClearIcon}`]:{width:16},[`& .${Au.clearButton}`]:{height:24,width:24,padding:0},[`& .${Au.selectAdornment}`]:{position:"absolute",right:24},[`& .${Au.inputAdornedEnd}`]:{paddingRight:0}},GDe=V(ys,{name:Ru,overridesResolver:o((e,t)=>t.root,"overridesResolver")})(lV),KDe=o(({fullWidth:e,label:t,helperText:n,margin:r,size:a,sx:i,timeout:s=1e3,variant:c})=>{const l=tp(s);return f.jsx(YDe,{sx:i,label:t,helperText:n,fullWidth:e,variant:c,margin:r,size:a,disabled:!0,onChange:o(()=>{},"onChange"),InputProps:{endAdornment:f.jsx(Im,{position:"end",children:l?f.jsx(kg,{color:"inherit",size:20}):f.jsx("span",{style:{width:20},children:" "})})}})},"LoadingInput"),JDe="RaLoadingInput",YDe=V(U1,{name:JDe,overridesResolver:o((e,t)=>t.root,"overridesResolver")})(({theme:e})=>({"& .MuiInputLabel-root.Mui-disabled":{color:e.palette.text.secondary},"& .MuiFilledInput-root.Mui-disabled":{background:e.palette.mode==="light"?"rgba(0, 0, 0, 0.04)":"rgba(255, 255, 255, 0.09)"},"& .MuiFilledInput-root.Mui-disabled:before":{borderBottomStyle:"solid"}})),Wn=o(e=>{const{className:t,defaultValue:n,label:r,format:a,helperText:i,onBlur:s,onChange:c,parse:l,resource:u,source:d,validate:p,...m}=e,{field:v,fieldState:{error:h,invalid:y},id:C,isRequired:w}=hg({defaultValue:n,format:a,parse:l,resource:u,source:d,type:"text",validate:p,onBlur:s,onChange:c,...m}),x=i!==!1||y;return f.jsx(U1,{id:C,...v,className:ee("ra-input",`ra-input-${d}`,t),label:r!==""&&r!==!1?f.jsx(hs,{label:r,source:d,resource:u,isRequired:w}):null,error:y,helperText:x?f.jsx(xf,{error:h==null?void 0:h.message,helperText:i}):null,...Ig(m)})},"TextInput"),E3=o(e=>{const{children:t=QDe,...n}=e;return e.validate,f.jsx(Uxe,{...n,children:t})},"ReferenceInput"),QDe=f.jsx(Wq,{}),pd=o(e=>{const{choices:t,className:n,create:r,createLabel:a,createValue:i,defaultValue:s,disableValue:c="disabled",emptyText:l="",emptyValue:u="",format:d,filter:p,helperText:m,isFetching:v,isLoading:h,isPending:y,label:C,margin:w="dense",onBlur:x,onChange:b,onCreate:S,optionText:$,optionValue:j,parse:_,resource:k,source:E,translateChoice:A,validate:P,...M}=e,T=nt();g.useEffect(()=>{if(u==null)throw new Error("emptyValue being set to null or undefined is not supported. Use parse to turn the empty string into null.")},[u]);const{allChoices:z,isPending:O,error:N,source:F,resource:I,isFromReference:B}=GB({choices:t,isLoading:h,isFetching:v,isPending:y,resource:k,source:E});if(F===void 0)throw new Error("If you're not wrapping the SelectInput inside a ReferenceInput, you must provide the source prop");if(!O&&!N&&z===void 0)throw new Error("If you're not wrapping the SelectInput inside a ReferenceInput, you must provide the choices prop");const U=ql(I),{getChoiceText:te,getChoiceValue:Z,getDisableValue:be}=jE({optionText:$??(B?U:void 0),optionValue:j,disableValue:c,translateChoice:A??!B}),{field:ne,fieldState:le,id:oe,isRequired:Se}=hg({defaultValue:s,parse:_,format:d,onBlur:x,onChange:b,resource:I,source:F,validate:P,...M}),{error:xe,invalid:X}=le,Re=g.useCallback(()=>typeof l=="string"?l===""?" ":T(l,{_:l}):l,[l,T]),me=g.useCallback(H=>te(H),[te]),re=g.useCallback(async H=>{typeof H=="string"?H===""&&ne.onChange(u):H!=null&&H.target?ne.onChange(H):ne.onChange(Z(H))},[ne,Z,u]),{getCreateItem:De,handleChange:Ee,createElement:$e}=Bq({create:r,createLabel:a,createValue:i,handleChange:re,onCreate:S,optionText:$}),Ce=r||S?De():null,st=g.useCallback(H=>H?f.jsx(Gn,{value:Z(H),disabled:be(H),children:me(Ce&&(H==null?void 0:H.id)===Ce.id?Ce:H)},Z(H)):null,[Z,be,me,Ce]);if(O)return f.jsx(KDe,{label:C!==""&&C!==!1&&f.jsx(hs,{label:C,source:F,resource:k,isRequired:Se}),sx:e.sx,helperText:f.jsx(xf,{error:xe==null?void 0:xe.message,helperText:m}),variant:e.variant,size:e.size,margin:e.margin,fullWidth:e.fullWidth});let D=N?[]:z;(r||S)&&(D=[...D,Ce]);const J=!!N||m!==!1||X;return f.jsxs(f.Fragment,{children:[f.jsxs(eNe,{id:oe,...ne,className:ee("ra-input",`ra-input-${F}`,n),onChange:Ee,select:!0,label:C!==""&&C!==!1&&f.jsx(hs,{label:C,source:F,resource:k,isRequired:Se}),clearAlwaysVisible:!0,error:!!N||X,helperText:J?f.jsx(xf,{error:(xe==null?void 0:xe.message)||(N==null?void 0:N.message),helperText:m}):null,margin:w,...XDe(M),children:[!Se&&f.jsx(Gn,{value:u,"aria-label":T("ra.action.clear_input_value"),title:T("ra.action.clear_input_value"),children:Re()},"null"),D.map(st)]}),$e]})},"SelectInput"),XDe=o(({afterSubmit:e,allowNull:t,beforeSubmit:n,choices:r,className:a,crudGetMatching:i,crudGetOne:s,data:c,field:l,fieldState:u,formState:d,filter:p,filterToQuery:m,formatOnBlur:v,isEqual:h,limitChoicesToValue:y,multiple:C,name:w,pagination:x,perPage:b,ref:S,reference:$,refetch:j,render:_,setFilter:k,setPagination:E,setSort:A,shouldUnregister:P,sort:M,subscription:T,type:z,validateFields:O,validation:N,value:F,...I})=>Ig(I),"sanitizeRestProps$1"),ZDe="RaSelectInput",eNe=V(U1,{name:ZDe,overridesResolver:o((e,t)=>t.root,"overridesResolver")})(({theme:e})=>({...lV,minWidth:e.spacing(20),"& .MuiFilledInput-root":{paddingRight:0}})),tNe=o(e=>{const{redirectTo:t,className:n}=e,[r,a]=ao(!1),i=F1e(),s=nt(),c=Kn(),l=o(u=>{a(!0),i(u,t).then(()=>{a(!1)}).catch(d=>{a(!1),c(typeof d=="string"?d:typeof d>"u"||!d.message?"ra.auth.sign_in_error":d.message,{type:"error",messageArgs:{_:typeof d=="string"?d:d&&d.message?d.message:void 0}})})},"submit");return f.jsx(nNe,{onSubmit:l,mode:"onChange",noValidate:!0,className:n,children:f.jsxs(Yo,{className:md.content,children:[f.jsx(Wn,{autoFocus:!0,source:"username",label:s("ra.auth.username"),autoComplete:"username",validate:cs()}),f.jsx(Wn,{source:"password",label:s("ra.auth.password"),type:"password",autoComplete:"current-password",validate:cs()}),f.jsx(gn,{variant:"contained",type:"submit",color:"primary",disabled:r,fullWidth:!0,className:md.button,children:r?f.jsx(kg,{className:md.icon,size:19,thickness:3}):s("ra.auth.sign_in")})]})})},"LoginForm"),Ry="RaLoginForm",md={content:`${Ry}-content`,button:`${Ry}-button`,icon:`${Ry}-icon`},nNe=V(rp,{name:Ry,overridesResolver:o((e,t)=>t.root,"overridesResolver")})(({theme:e})=>({[`& .${md.content}`]:{width:300},[`& .${md.button}`]:{marginTop:e.spacing(2)},[`& .${md.icon}`]:{margin:e.spacing(.3)}})),rNe=o(e=>{const{children:t=aNe,backgroundImage:n,...r}=e,a=g.useRef(null);let i=!1;const s=$W(),c=Ni();g.useEffect(()=>{s({},!1).then(()=>{c("/")}).catch(()=>{})},[s,c]);const l=o(()=>{!i&&a.current&&(a.current.style.backgroundImage=`url(${n})`,i=!0)},"updateBackgroundImage"),u=o(()=>{if(n){const d=new Image;d.onload=l,d.src=n}},"lazyLoadBackgroundImage");return g.useEffect(()=>{i||u()}),f.jsx(oNe,{...r,ref:a,children:f.jsxs($o,{className:hd.card,children:[f.jsx("div",{className:hd.avatar,children:f.jsx(Da,{className:hd.icon,children:f.jsx(NR,{})})}),t]})})},"Login"),aNe=f.jsx(tNe,{}),Ay="RaLogin",hd={card:`${Ay}-card`,avatar:`${Ay}-avatar`,icon:`${Ay}-icon`},oNe=V("div",{name:Ay,overridesResolver:o((e,t)=>t.root,"overridesResolver")})(({theme:e})=>({display:"flex",flexDirection:"column",minHeight:"100vh",height:"1px",alignItems:"center",justifyContent:"flex-start",backgroundRepeat:"no-repeat",backgroundSize:"cover",backgroundImage:"radial-gradient(circle at 50% 14em, #313264 0%, #00023b 60%, #00023b 100%)",[`& .${hd.card}`]:{minWidth:300,marginTop:"6em"},[`& .${hd.avatar}`]:{margin:"1em",display:"flex",justifyContent:"center"},[`& .${hd.icon}`]:{backgroundColor:e.palette.secondary[500]}})),iNe=o(e=>{const{actions:t,aside:n,children:r,className:a,component:i=$o,title:s,...c}=e,{resource:l,defaultTitle:u}=Lye();return f.jsxs(sNe,{className:ee("create-page",a),...c,children:[f.jsx(Tg,{title:s,defaultTitle:u,preferenceKey:`${l}.create.title`}),t,f.jsxs("div",{className:ee(gd.main,{[gd.noActions]:!t}),children:[f.jsx(i,{className:gd.card,children:r}),n]})]})},"CreateView"),Py="RaCreate",gd={main:`${Py}-main`,noActions:`${Py}-noActions`,card:`${Py}-card`},sNe=V("div",{name:Py,overridesResolver:o((e,t)=>t.root,"overridesResolver")})(({theme:e})=>({[`& .${gd.main}`]:{display:"flex"},[`& .${gd.noActions}`]:{[e.breakpoints.up("sm")]:{marginTop:"1em"}},[`& .${gd.card}`]:{flex:"1 1 auto"}})),cNe=o(e=>{rB("Create",["children"],e);const{resource:t,record:n,redirect:r,transform:a,mutationOptions:i,disableAuthentication:s,hasEdit:c,hasShow:l,...u}=e;return f.jsx(uE,{resource:t,record:n,redirect:r,transform:a,mutationOptions:i,disableAuthentication:s,hasEdit:c,hasShow:l,children:f.jsx(iNe,{...u})})},"Create"),lNe=o(e=>{const{hasShow:t}=Pc(e);return f.jsx(zg,{...uNe(e),children:t&&f.jsx(WR,{})})},"EditActions"),uNe=o(({hasCreate:e,hasEdit:t,hasShow:n,hasList:r,resource:a,...i})=>i,"sanitizeRestProps"),dNe=f.jsx(lNe,{}),fNe=o(e=>{const{actions:t,aside:n,children:r,className:a,component:i=$o,title:s,...c}=e,{hasShow:l}=Pc(),{resource:u,defaultTitle:d,record:p}=mB(),m=typeof t>"u"&&l?dNe:t;return r?f.jsxs(pNe,{className:ee("edit-page",a),...c,children:[f.jsx(Tg,{title:s,defaultTitle:d,preferenceKey:`${u}.edit.title`}),m,f.jsxs("div",{className:ee(vd.main,{[vd.noActions]:!m}),children:[f.jsx(i,{className:vd.card,children:p?r:f.jsx(Yo,{children:" "})}),n]})]}):null},"EditView"),My="RaEdit",vd={main:`${My}-main`,noActions:`${My}-noActions`,card:`${My}-card`},pNe=V("div",{name:My,overridesResolver:o((e,t)=>t.root,"overridesResolver")})({[`& .${vd.main}`]:{display:"flex",alignItems:"flex-start"},[`& .${vd.noActions}`]:{marginTop:"1em"},[`& .${vd.card}`]:{flex:"1 1 auto"}}),mNe=o(e=>{rB("Edit",["children"],e);const{resource:t,id:n,mutationMode:r,mutationOptions:a,queryOptions:i,redirect:s,transform:c,disableAuthentication:l,...u}=e;return f.jsx(pB,{resource:t,id:n,mutationMode:r,mutationOptions:a,queryOptions:i,redirect:s,transform:c,disableAuthentication:l,children:f.jsx(fNe,{...u})})},"Edit$1"),Lg=o(e=>{const{children:t,className:n,resource:r,...a}=e,i=ta(s=>s.breakpoints.down("sm"));return f.jsx(hNe,{className:ee({[yd.mobileToolbar]:i,[yd.desktopToolbar]:!i},n),role:"toolbar",...a,children:g.Children.count(t)===0?f.jsxs("div",{className:yd.defaultToolbar,children:[f.jsx(Dq,{}),f.jsx(v6e,{resource:r})]}):t})},"Toolbar"),Ty="RaToolbar",yd={desktopToolbar:`${Ty}-desktopToolbar`,mobileToolbar:`${Ty}-mobileToolbar`,defaultToolbar:`${Ty}-defaultToolbar`},hNe=V(Yl,{name:Ty,overridesResolver:o((e,t)=>t.root,"overridesResolver")})(({theme:e})=>({backgroundColor:e.palette.mode==="light"?e.palette.grey[100]:e.palette.grey[900],[`&.${yd.desktopToolbar}`]:{},[`&.${yd.mobileToolbar}`]:{position:"fixed",bottom:0,left:0,right:0,padding:"16px",width:"100%",boxSizing:"border-box",flexShrink:0,zIndex:2},[`& .${yd.defaultToolbar}`]:{flex:1,display:"flex",justifyContent:"space-between"}})),Ui=o(e=>{var n;const t=g.memo(e);return t.displayName=(n=e.displayName)==null?void 0:n.replace("Impl",""),t},"genericMemo"),uV=o(e=>{const{children:t,resource:n,perPage:r,sort:a,filter:i}=e,s=Vo(e)||vNe,c=Mx({data:s,resource:n,perPage:r,sort:a,filter:i});return f.jsx(fg,{value:c,children:t})},"ArrayFieldImpl");uV.displayName="ArrayFieldImpl";const gNe=Ui(uV),vNe=[];var PA={},yNe=ht;Object.defineProperty(PA,"__esModule",{value:!0});var dV=PA.default=void 0,bNe=yNe(vt()),xNe=f;dV=PA.default=(0,bNe.default)((0,xNe.jsx)("path",{d:"M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z"}),"Done");const Fr=o(({cellClassName:e,className:t,emptyText:n,fullWidth:r,headerClassName:a,label:i,linkType:s,link:c,locale:l,record:u,refetch:d,resource:p,sortable:m,sortBy:v,sortByOrder:h,source:y,textAlign:C,translateChoice:w,...x})=>x,"sanitizeFieldRestProps"),fV=o(e=>{const{className:t,emptyText:n,valueLabelTrue:r,valueLabelFalse:a,TrueIcon:i=dV,FalseIcon:s=e0,looseValue:c=!1,...l}=e,u=nt(),d=Vo(e),p=d===!0||c&&d;let m=d?r:a;return m||(m=p?"ra.boolean.true":"ra.boolean.false"),c||d===!1||d===!0?f.jsx(CNe,{component:"span",variant:"body2",className:t,...Fr(l),children:f.jsx(Fo,{title:u(m,{_:m}),children:p?i?f.jsx(i,{"data-testid":"true",fontSize:"small",className:t0.trueIcon}):f.jsx(f.Fragment,{}):s?f.jsx(s,{"data-testid":"false",fontSize:"small",className:t0.falseIcon}):f.jsx(f.Fragment,{})})}):f.jsx(et,{component:"span",variant:"body2",className:t,...Fr(l),children:n&&u(n,{_:n})})},"BooleanFieldImpl");fV.displayName="BooleanFieldImpl";const wNe=Ui(fV),R3="RaBooleanField",t0={trueIcon:`${R3}-trueIcon`,falseIcon:`${R3}-falseIcon`},CNe=V(et,{name:R3,overridesResolver:o((e,t)=>t.root,"overridesResolver")})({display:"inline-flex",verticalAlign:"middle",lineHeight:0,[`& .${t0.trueIcon}`]:{},[`& .${t0.falseIcon}`]:{}}),pV=o(e=>{const{className:t,emptyText:n,...r}=e,a=Vo(e),i=nt();return a==null&&n?f.jsx(et,{component:"span",variant:"body2",className:t,...Fr(r),children:n&&i(n,{_:n})}):f.jsx(SNe,{className:ee(hV.chip,t),label:a,...Fr(r)})},"ChipFieldImpl");pV.displayName="ChipFieldImpl";const A3=Ui(pV),mV="RaChipField",hV={chip:`${mV}-chip`},SNe=V(wi,{name:mV,overridesResolver:o((e,t)=>t.root,"overridesResolver")})({[`&.${hV.chip}`]:{cursor:"inherit"}}),gV=o(e=>{const{className:t,emptyText:n,locales:r,options:a,showTime:i=!1,showDate:s=!0,transform:c=jNe,...l}=e,u=nt();if(!i&&!s)throw new Error("<DateField> cannot have showTime and showDate false at the same time");const d=Vo(e);if(d==null||d==="")return n?f.jsx(et,{component:"span",variant:"body2",className:t,...Fr(l),children:n&&u(n,{_:n})}):null;const p=c(d);let m="";if(p)if(i&&s)m=iC?p.toLocaleString(r,a):p.toLocaleString();else if(s){const v=a??(typeof d=="string"&&d.length<=10?{timeZone:"UTC"}:void 0);m=iC?p.toLocaleDateString(r,v):p.toLocaleDateString()}else i&&(m=iC?p.toLocaleTimeString(r,a):p.toLocaleTimeString());return f.jsx(et,{component:"span",variant:"body2",className:t,...Fr(l),children:m})},"DateFieldImpl");gV.displayName="DateFieldImpl";const wf=Ui(gV),jNe=o(e=>e instanceof Date?e:typeof e=="string"||typeof e=="number"?new Date(e):void 0,"defaultTransform$1"),iC=(()=>{try{new Date().toLocaleString("i")}catch(e){return e instanceof RangeError}return!1})(),vV=o(e=>{const{className:t,emptyText:n,...r}=e,a=Vo(e),i=nt();return a==null?n?f.jsx(et,{component:"span",variant:"body2",className:t,...Fr(r),children:n&&i(n,{_:n})}):null:f.jsx(Ah,{className:t,href:`mailto:${a}`,onClick:$Ne,variant:"body2",...Fr(r),children:a})},"EmailFieldImpl");vV.displayName="EmailFieldImpl";const yV=Ui(vV),$Ne=o(e=>e.stopPropagation(),"stopPropagation$3"),MA=o(e=>{const{className:t,source:n="",render:r,...a}=e,i=un(e);return g.useMemo(()=>i?f.jsx(et,{component:"span",variant:"body2",className:t,...Fr(a),children:r(i,n)}):null,[t,i,n,r,a])},"FunctionField"),bV=o(e=>{const{className:t,emptyText:n,source:r,locales:a,options:i,textAlign:s,transform:c=_Ne,...l}=e,u=nt();let d=Vo(e);return d==null?n?f.jsx(et,{component:"span",variant:"body2",className:t,...Fr(l),children:n&&u(n,{_:n})}):null:(c&&(d=c(d)),f.jsx(et,{variant:"body2",component:"span",className:t,...Fr(l),children:kNe&&typeof d=="number"?d.toLocaleString(a,i):d}))},"NumberFieldImpl"),_Ne=o(e=>e&&typeof e=="string"&&!isNaN(e)?+e:e,"defaultTransform");bV.displayName="NumberFieldImpl";const xV=Ui(bV);xV.textAlign="right";const kNe=!!(typeof Intl=="object"&&Intl&&typeof Intl.NumberFormat=="function"),gp=o(e=>{const{to:t,children:n,className:r,...a}=e;return f.jsx(ANe,{component:Dr,to:t,className:ee(RNe.link,r),...a,children:n})},"Link"),ENe="RaLink",RNe={link:`${ENe}-link`},ANe=V(Ah)({}),n0=o(e=>{const{className:t,children:n,empty:r,linkType:a="edit",gap:i=1,direction:s="row",...c}=e,{data:l,total:u,isPending:d}=Tx(e),p=Nt(e),m=Ho();return d===!0?f.jsx(B1,{}):l==null||l.length===0||u===0?r||null:f.jsx(PNe,{gap:i,direction:s,className:t,...Pl(c),children:l.map((v,h)=>{const y=a?m({resource:p,type:a,id:v.id}):!1;return y?f.jsx(Qr,{value:v,children:f.jsx(gp,{className:CV.link,to:y,onClick:MNe,children:n||f.jsx(nI,{clickable:!0})})},v.id??`row${h}`):f.jsx(Qr,{value:v,children:n||f.jsx(nI,{})},v.id??`row${h}`)})})},"SingleFieldList"),wV="RaSingleFieldList",CV={link:`${wV}-link`},PNe=V(Oa,{name:wV,overridesResolver:o((e,t)=>t.root,"overridesResolver")})(({theme:e})=>({flexWrap:"wrap",[`& .${CV.link}`]:{textDecoration:"none","& > *":{color:e.palette.primary.main}}})),MNe=o(e=>e.stopPropagation(),"stopPropagation$2"),nI=o(({clickable:e})=>f.jsx(wi,{sx:{cursor:"inherit"},size:"small",label:f.jsx(fB,{}),clickable:e}),"DefaultChildComponent"),SV=o(e=>{const{filter:t,page:n=1,perPage:r,reference:a,resource:i,sort:s,source:c,queryOptions:l}=e,u=un(e),d=B0e({filter:t,page:n,perPage:r,record:u,reference:a,resource:i,sort:s,source:c,queryOptions:l});return f.jsx(qo,{value:a,children:f.jsx(fg,{value:d,children:f.jsx(zNe,{...e})})})},"ReferenceArrayField"),TNe=o(e=>{const{children:t,pagination:n,className:r,sx:a}=e,{isPending:i,total:s}=Jn();return f.jsx(ONe,{className:r,sx:a,children:i?f.jsx(B1,{className:$V.progress}):f.jsxs("span",{children:[t||f.jsx(n0,{}),n&&s!==void 0?n:null]})})},"ReferenceArrayFieldView"),jV="RaReferenceArrayField",$V={progress:`${jV}-progress`},ONe=V("div",{name:jV,overridesResolver:o((e,t)=>t.root,"overridesResolver")})(({theme:e})=>({[`& .${$V.progress}`]:{marginTop:e.spacing(2)}})),zNe=g.memo(TNe),Mi=o(e=>{const{emptyText:t}=e,n=nt();return Vo(e)==null?t?f.jsx(et,{component:"span",variant:"body2",children:t&&n(t,{_:t})}):null:f.jsx(qye,{...e,children:f.jsx(DNe,{...e})})},"ReferenceField"),INe=o(e=>e.stopPropagation(),"stopPropagation$1"),LNe=o(e=>{const{children:t,className:n,emptyText:r,reference:a,sx:i}=e,{error:s,link:c,isLoading:l,referenceRecord:u}=Uye(),d=ql(a),p=nt();if(s)return f.jsx(zq,{"aria-errormessage":s.message?s.message:s,role:"presentation",color:"error",fontSize:"small"});if(l)return f.jsx(B1,{});if(!u)return r?f.jsx(et,{component:"span",variant:"body2",children:r&&p(r,{_:r})}):null;let m=t||f.jsx(et,{component:"span",variant:"body2",children:d(u)});return c?f.jsx(rI,{className:n,sx:i,children:f.jsx(Qr,{value:u,children:f.jsx(gp,{to:c,className:kV.link,onClick:INe,state:{_scrollToTop:!0},children:m})})}):f.jsx(rI,{className:n,sx:i,children:f.jsx(Qr,{value:u,children:m})})},"ReferenceFieldView"),DNe=Ui(LNe),_V="RaReferenceField",kV={link:`${_V}-link`},rI=V("span",{name:_V,overridesResolver:o((e,t)=>t.root,"overridesResolver")})(({theme:e})=>({lineHeight:"initial",[`& .${kV.link}`]:{"& > *":{color:e.palette.primary.main}}})),r0=o(e=>{const{children:t,debounce:n,filter:r=NNe,page:a=1,pagination:i=null,perPage:s=25,reference:c,resource:l,sort:u=FNe,source:d="id",target:p,queryOptions:m}=e,v=un(e),h=U0e({debounce:n,filter:r,page:a,perPage:s,record:v,reference:c,resource:l,sort:u,source:d,target:p,queryOptions:m});return f.jsx(qo,{value:c,children:f.jsxs(fg,{value:h,children:[t,i]})})},"ReferenceManyField"),NNe={},FNe={field:"id",order:"DESC"},EV=o(e=>{const{className:t,emptyText:n,choices:r,optionValue:a="id",optionText:i="name",translateChoice:s=!0,...c}=e,l=Vo(e),{getChoiceText:u,getChoiceValue:d}=jE({optionText:i,optionValue:a,translateChoice:s}),p=nt(),m=r?r.find(h=>d(h)===l):null;if(!m)return n?f.jsx(et,{component:"span",variant:"body2",className:t,...Fr(c),children:n&&p(n,{_:n})}):null;let v=u(m);return f.jsx(et,{component:"span",variant:"body2",className:t,...Fr(c),children:v})},"SelectFieldImpl");EV.displayName="SelectFieldImpl";const TA=Ui(EV),RV=o(e=>{const{className:t,emptyText:n,...r}=e,a=nt(),i=Vo(e);return f.jsx(et,{component:"span",variant:"body2",className:t,...Fr(r),children:i!=null&&typeof i!="string"?i.toString():i||(n?a(n,{_:n}):null)})},"TextFieldImpl");RV.displayName="TextFieldImpl";const Gr=Ui(RV),AV=o(e=>{const{className:t,emptyText:n,...r}=e,a=Vo(e),i=nt();return a==null?f.jsx(et,{component:"span",variant:"body2",className:t,...Fr(r),children:n&&i(n,{_:n})}):f.jsx(Ah,{className:t,href:a,onClick:WNe,variant:"body2",...Fr(r),children:a})},"UrlFieldImpl");AV.displayName="UrlFieldImpl";const BNe=Ui(AV),WNe=o(e=>e.stopPropagation(),"stopPropagation");var OA={},UNe=ht;Object.defineProperty(OA,"__esModule",{value:!0});var PV=OA.default=void 0,HNe=UNe(vt()),qNe=f;PV=OA.default=(0,HNe.default)((0,qNe.jsx)("path",{d:"M19 3H4.99c-1.11 0-1.98.89-1.98 2L3 19c0 1.1.88 2 1.99 2H19c1.1 0 2-.9 2-2V5c0-1.11-.9-2-2-2m0 12h-4c0 1.66-1.35 3-3 3s-3-1.34-3-3H4.99V5H19z"}),"Inbox");const VNe=o(e=>{const{className:t}=e,{hasCreate:n}=Pc(e),r=Nt(e),a=nt(),i=ap(),s=a(`resources.${r}.forcedCaseName`,{smart_count:0,_:r?i(r,0):void 0}),c=a("ra.page.empty",{name:s}),l=a("ra.page.invite");return f.jsxs(GNe,{className:t,children:[f.jsxs("div",{className:bd.message,children:[f.jsx(PV,{className:bd.icon}),f.jsx(et,{variant:"h4",paragraph:!0,children:a(`resources.${r}.empty`,{_:c})}),n&&f.jsx(et,{variant:"body1",children:a(`resources.${r}.invite`,{_:l})})]}),n&&f.jsx("div",{className:bd.toolbar,children:f.jsx(L1,{variant:"contained"})})]})},"Empty"),Oy="RaEmpty",bd={message:`${Oy}-message`,icon:`${Oy}-icon`,toolbar:`${Oy}-toolbar`},GNe=V("span",{name:Oy,overridesResolver:o((e,t)=>t.root,"overridesResolver")})(({theme:e})=>({flex:1,[`& .${bd.message}`]:{textAlign:"center",opacity:e.palette.mode==="light"?.5:.8,margin:"0 1em",color:e.palette.mode==="light"?"inherit":e.palette.text.primary},[`& .${bd.icon}`]:{width:"9em",height:"9em"},[`& .${bd.toolbar}`]:{textAlign:"center",marginTop:"2em"}})),KNe=g.memo(e=>{const{filters:t,actions:n,className:r,...a}=e;return Array.isArray(t)?f.jsx(W1.Provider,{value:t,children:f.jsxs(aI,{className:r,children:[f.jsx(rDe,{}),f.jsx("span",{}),n]})}):f.jsxs(aI,{className:r,children:[t&&g.cloneElement(t,{...a,context:"form"}),f.jsx("span",{}),n&&g.cloneElement(n,{...a,filters:t,...n.props})]})}),JNe="RaListToolbar",aI=V("div",{name:JNe,overridesResolver:o((e,t)=>t.root,"overridesResolver")})(({theme:e})=>({display:"flex",position:"relative",justifyContent:"space-between",alignItems:"flex-end",width:"100%",[e.breakpoints.down("md")]:{flexWrap:"wrap"},[e.breakpoints.down("sm")]:{backgroundColor:e.palette.background.paper,flexWrap:"inherit",flexDirection:"column-reverse"}})),YNe=o(e=>{const{className:t,filters:n,hasCreate:r,...a}=e,{displayedFilters:i,filterValues:s,exporter:c,showFilter:l,total:u}=Jn(),d=Nt(e),{hasCreate:p}=Pc(e),m=g.useContext(W1)||n;return g.useMemo(()=>f.jsxs(zg,{className:t,...Pl(a),children:[n?g.cloneElement(n,{resource:d,showFilter:l,displayedFilters:i,filterValues:s,context:"button"}):m&&f.jsx(yDe,{}),p&&f.jsx(L1,{}),c!==!1&&f.jsx(gA,{disabled:u===0,resource:d})]}),[d,i,s,n,l,m,u,t,c,p])},"ListActions"),QNe=f.jsx(YNe,{}),XNe=f.jsx(RA,{}),ZNe=f.jsx(VNe,{}),eFe=$o,MV=o(e=>{const{actions:t=QNe,aside:n,filters:r,emptyWhileLoading:a,pagination:i=XNe,children:s,className:c,component:l=eFe,title:u,empty:d=ZNe,...p}=e,{defaultTitle:m,data:v,error:h,isPending:y,filterValues:C,resource:w}=Jn();if(!s||!v&&y&&a)return null;const x=o(()=>f.jsxs("div",{className:ec.main,children:[(r||t)&&f.jsx(KNe,{className:ec.actions,filters:r,actions:t}),f.jsx(l,{className:ec.content,children:s}),!h&&i!==!1&&i]}),"renderList"),b=o(()=>d!==!1&&f.jsx("div",{className:ec.noResults,children:d}),"renderEmpty"),S=!y&&(v==null?void 0:v.length)===0&&!Object.keys(C).length&&d!==!1;return f.jsxs(tFe,{className:ee("list-page",c),...p,children:[f.jsx(Tg,{title:u,defaultTitle:m,preferenceKey:`${w}.list.title`}),S?b():x(),n]})},"ListView"),gm="RaList",ec={main:`${gm}-main`,content:`${gm}-content`,actions:`${gm}-actions`,noResults:`${gm}-noResults`},tFe=V("div",{name:gm,overridesResolver:o((e,t)=>t.root,"overridesResolver")})(({theme:e})=>({display:"flex",[`& .${ec.main}`]:{flex:"1 1 auto",display:"flex",flexDirection:"column"},[`& .${ec.content}`]:{position:"relative",[e.breakpoints.down("sm")]:{boxShadow:"none"},overflow:"inherit"},[`& .${ec.actions}`]:{},[`& .${ec.noResults}`]:{flex:1}})),TV=o(({debounce:e,disableAuthentication:t,disableSyncWithLocation:n,exporter:r,filter:a=nFe,filterDefaultValues:i,perPage:s=10,queryOptions:c,resource:l,sort:u,storeKey:d,...p})=>f.jsx(jB,{debounce:e,disableAuthentication:t,disableSyncWithLocation:n,exporter:r,filter:a,filterDefaultValues:i,perPage:s,queryOptions:c,resource:l,sort:u,storeKey:d,children:f.jsx(MV,{...p})}),"List"),nFe={},oI={table:{component:o(e=>f.jsx(nV,{...e}),"component"),representation:o((e,t)=>` <Datagrid> +${t.map(n=>` ${n.getRepresentation()}`).join(` +`)} + </Datagrid>`,"representation")},array:{component:o(({children:e,...t})=>{const n=g.Children.toArray(e);return f.jsx(gNe,{...t,children:f.jsx(n0,{children:f.jsx(A3,{source:n.length>0&&g.isValidElement(n[0])&&n[0].props.source})})})},"component"),representation:o((e,t)=>`<ArrayField source="${e.source}"><SingleFieldList><ChipField source="${t.length>0&&t[0].getProps().source}" /></SingleFieldList></ArrayField>`,"representation")},boolean:{component:wNe,representation:o(e=>`<BooleanField source="${e.source}" />`,"representation")},date:{component:wf,representation:o(e=>`<DateField source="${e.source}" />`,"representation")},email:{component:yV,representation:o(e=>`<EmailField source="${e.source}" />`,"representation")},id:{component:Gr,representation:o(e=>`<TextField source="${e.source}" />`,"representation")},number:{component:xV,representation:o(e=>`<NumberField source="${e.source}" />`,"representation")},reference:{component:Mi,representation:o(e=>`<ReferenceField source="${e.source}" reference="${e.reference}" />`,"representation")},referenceChild:{component:o(()=>f.jsx(Gr,{source:"id"}),"component"),representation:o(()=>'<TextField source="id" />',"representation")},referenceArray:{component:SV,representation:o(e=>`<ReferenceArrayField source="${e.source}" reference="${e.reference}" />`,"representation")},referenceArrayChild:{component:o(()=>f.jsx(n0,{children:f.jsx(A3,{source:"id"})}),"component"),representation:o(()=>'<SingleFieldList><ChipField source="id" /></SingleFieldList>',"representation")},richText:void 0,string:{component:Gr,representation:o(e=>`<TextField source="${e.source}" />`,"representation")},url:{component:BNe,representation:o(e=>`<UrlField source="${e.source}" />`,"representation")}},sC=o(e=>{const{debounce:t,disableAuthentication:n,disableSyncWithLocation:r,exporter:a,filter:i,filterDefaultValues:s,perPage:c,queryOptions:l,resource:u,sort:d,...p}=e;Ar();const m=Nt(e),h=d0e(m)===m;return f.jsx(jB,{debounce:t,disableAuthentication:n,disableSyncWithLocation:r,exporter:a,filter:i,filterDefaultValues:s,perPage:c,queryOptions:{placeholderData:o(y=>h?y:void 0,"placeholderData")},resource:u,sort:d,children:f.jsx(rFe,{...p})})},"ListGuesser"),rFe=o(e=>{const{data:t}=Jn(),n=Nt(),[r,a]=g.useState(null),{enableLog:i=!1,...s}=e;return g.useEffect(()=>{a(null)},[n]),g.useEffect(()=>{if(t&&t.length>0&&!r){const c=mCe(t,oI),l=new Fn(oI.table,null,c),u=l.getElement(),d=l.getRepresentation();if(!n)throw new Error("Cannot use <ListGuesser> outside of a ResourceContext");if(!u||!d)return;a(u);const p=["List"].concat(Array.from(new Set(Array.from(d.matchAll(/<([^/\s>]+)/g)).map(m=>m[1]).filter(m=>m!=="span")))).sort();i&&console.log(`Guessed List: + +import { ${p.join(", ")} } from 'react-admin'; + +export const ${hW(Gx(n))}List = () => ( + <List> +${l.getRepresentation()} + </List> +);`)}},[t,r,n,i]),f.jsx(MV,{...s,children:r})},"ListViewGuesser"),OV=o(e=>{const{className:t,hasLeftAvatarOrIcon:n,hasRightAvatarOrIcon:r,hasSecondaryText:a,hasTertiaryText:i,nbFakeLines:s=5,...c}=e;return tp(1e3)?f.jsx(aFe,{className:t,...c,children:oFe(s,u=>f.jsxs(Kl,{children:[n&&f.jsx(z1,{children:f.jsx(Da,{children:" "})}),f.jsx(_s,{primary:f.jsxs("div",{children:[f.jsx(Fm,{className:a0.primary}),i&&f.jsx("span",{className:a0.tertiary,children:f.jsx(Fm,{})})]}),secondary:a?f.jsx(Fm,{}):void 0}),r&&f.jsx(Ic,{children:f.jsx(Da,{children:" "})})]},u))}):null},"SimpleListLoading"),P3="RaSimpleListLoading",a0={primary:`${P3}-primary`,tertiary:`${P3}-tertiary`},aFe=V(zc,{name:P3,overridesResolver:o((e,t)=>t.root,"overridesResolver")})(({theme:e})=>({[`& .${a0.primary}`]:{width:"30vw",display:"inline-block",marginBottom:e.spacing()},[`& .${a0.tertiary}`]:{float:"right",opacity:.541176,minWidth:"10vw"}})),oFe=o((e,t)=>Array.from({length:e},(n,r)=>t(r)),"times$1"),iFe=o(e=>{const{className:t,empty:n=lFe,hasBulkActions:r,leftAvatar:a,leftIcon:i,linkType:s="edit",primaryText:c,rightAvatar:l,rightIcon:u,secondaryText:d,tertiaryText:p,rowSx:m,rowStyle:v,...h}=e,{data:y,isPending:C,total:w}=Tx(e),x=Nt(e),b=ql(x),S=nt();if(C===!0)return f.jsx(OV,{className:t,hasLeftAvatarOrIcon:!!i||!!a,hasRightAvatarOrIcon:!!u||!!l,hasSecondaryText:!!d,hasTertiaryText:!!p});const $=o((j,_)=>{const k=_(j,j.id);return typeof k=="string"&&(k.startsWith("http")||k.startsWith("data:"))?f.jsx(Da,{src:k}):f.jsx(Da,{children:k})},"renderAvatar");return y==null||y.length===0||w===0?n||null:f.jsx(cFe,{className:t,...Pl(h),children:y.map((j,_)=>f.jsx(Qr,{value:j,children:f.jsx(Kl,{disablePadding:!0,children:f.jsxs(sFe,{linkType:s,resource:x,id:j.id,record:j,style:v?v(j,_):void 0,sx:m==null?void 0:m(j,_),children:[i&&f.jsx(Il,{children:i(j,j.id)}),a&&f.jsx(z1,{children:$(j,a)}),f.jsx(_s,{primary:f.jsxs("div",{children:[c?typeof c=="string"?S(c,{...j,_:c}):g.isValidElement(c)?c:c(j,j.id):b(j),!!p&&(g.isValidElement(p)?p:f.jsx("span",{className:IV.tertiary,children:typeof p=="string"?S(p,{...j,_:p}):g.isValidElement(p)?p:p(j,j.id)}))]}),secondary:!!d&&(typeof d=="string"?S(d,{...j,_:d}):g.isValidElement(d)?d:d(j,j.id))}),(l||u)&&f.jsxs(Ic,{children:[l&&f.jsx(Da,{children:$(j,l)}),u&&f.jsx(Il,{children:u(j,j.id)})]})]})})},j.id))})},"SimpleList"),sFe=o(e=>{const{classes:t,linkType:n,resource:r,id:a,children:i,record:s,...c}=e,l=Ho(),u=typeof n=="function"?n(s,a):n;return u===!1?f.jsx(_s,{component:"div",...c,children:i}):f.jsx(TR,{component:Dr,to:l({resource:r,id:a,type:u}),...c,children:i})},"LinkOrNot"),zV="RaSimpleList",IV={tertiary:`${zV}-tertiary`},cFe=V(zc,{name:zV,overridesResolver:o((e,t)=>t.root,"overridesResolver")})({[`& .${IV.tertiary}`]:{float:"right",opacity:.541176}}),lFe=f.jsx(tV,{}),uFe=o(({layout:e=LIe,catchAll:t=HIe,loading:n=BIe,loginPage:r=rNe,authCallbackPage:a=rLe,notification:i=JIe,error:s=dA,...c})=>f.jsxs(d4e,{enableColorScheme:!0,children:[f.jsx(u1e,{layout:e,catchAll:t,loading:n,loginPage:r,authCallbackPage:a,error:s,...c}),g.createElement(i)]}),"AdminUI"),LV=o(e=>{const{theme:t,lightTheme:n=pq,darkTheme:r,defaultTheme:a,children:i,...s}=e;return f.jsx(Jxe,{...s,children:f.jsx(cq.Provider,{value:{lightTheme:t||n,darkTheme:t&&!r?void 0:!r&&r!==null?z5e:r??void 0,defaultTheme:a},children:f.jsx(O5e,{children:i})})})},"AdminContext");LV.displayName="AdminContext";const dFe={ra:{action:{add_filter:"Add filter",add:"Add",back:"Go Back",bulk_actions:"1 item selected |||| %{smart_count} items selected",cancel:"Cancel",clear_array_input:"Clear the list",clear_input_value:"Clear value",clone:"Clone",confirm:"Confirm",create:"Create",create_item:"Create %{item}",delete:"Delete",edit:"Edit",export:"Export",list:"List",refresh:"Refresh",remove_filter:"Remove this filter",remove_all_filters:"Remove all filters",remove:"Remove",save:"Save",search:"Search",select_all:"Select all",select_row:"Select this row",show:"Show",sort:"Sort",undo:"Undo",unselect:"Unselect",expand:"Expand",close:"Close",open_menu:"Open menu",close_menu:"Close menu",update:"Update",move_up:"Move up",move_down:"Move down",open:"Open",toggle_theme:"Toggle light/dark mode",select_columns:"Columns",update_application:"Reload Application"},boolean:{true:"Yes",false:"No",null:" "},page:{create:"Create %{name}",dashboard:"Dashboard",edit:"%{name} %{recordRepresentation}",error:"Something went wrong",list:"%{name}",loading:"Loading",not_found:"Not Found",show:"%{name} %{recordRepresentation}",empty:"No %{name} yet.",invite:"Do you want to add one?"},input:{file:{upload_several:"Drop some files to upload, or click to select one.",upload_single:"Drop a file to upload, or click to select it."},image:{upload_several:"Drop some pictures to upload, or click to select one.",upload_single:"Drop a picture to upload, or click to select it."},references:{all_missing:"Unable to find references data.",many_missing:"At least one of the associated references no longer appears to be available.",single_missing:"Associated reference no longer appears to be available."},password:{toggle_visible:"Hide password",toggle_hidden:"Show password"}},message:{about:"About",are_you_sure:"Are you sure?",auth_error:"An error occurred while validating the authentication token.",bulk_delete_content:"Are you sure you want to delete this %{name}? |||| Are you sure you want to delete these %{smart_count} items?",bulk_delete_title:"Delete %{name} |||| Delete %{smart_count} %{name}",bulk_update_content:"Are you sure you want to update this %{name}? |||| Are you sure you want to update these %{smart_count} items?",bulk_update_title:"Update %{name} |||| Update %{smart_count} %{name}",clear_array_input:"Are you sure you want to clear the whole list?",delete_content:"Are you sure you want to delete this item?",delete_title:"Delete %{name} #%{id}",details:"Details",error:"A client error occurred and your request couldn't be completed.",invalid_form:"The form is not valid. Please check for errors",loading:"Please wait",no:"No",not_found:"Either you typed a wrong URL, or you followed a bad link.",yes:"Yes",unsaved_changes:"Some of your changes weren't saved. Are you sure you want to ignore them?"},navigation:{no_results:"No results found",no_more_results:"The page number %{page} is out of boundaries. Try the previous page.",page_out_of_boundaries:"Page number %{page} out of boundaries",page_out_from_end:"Cannot go after last page",page_out_from_begin:"Cannot go before page 1",page_range_info:"%{offsetBegin}-%{offsetEnd} of %{total}",partial_page_range_info:"%{offsetBegin}-%{offsetEnd} of more than %{offsetEnd}",current_page:"Page %{page}",page:"Go to page %{page}",first:"Go to first page",last:"Go to last page",next:"Go to next page",previous:"Go to previous page",page_rows_per_page:"Rows per page:",skip_nav:"Skip to content"},sort:{sort_by:"Sort by %{field} %{order}",ASC:"ascending",DESC:"descending"},auth:{auth_check_error:"Please login to continue",user_menu:"Profile",username:"Username",password:"Password",sign_in:"Sign in",sign_in_error:"Authentication failed, please retry",logout:"Logout"},notification:{updated:"Element updated |||| %{smart_count} elements updated",created:"Element created",deleted:"Element deleted |||| %{smart_count} elements deleted",bad_item:"Incorrect element",item_doesnt_exist:"Element does not exist",http_error:"Server communication error",data_provider_error:"dataProvider error. Check the console for details.",i18n_error:"Cannot load the translations for the specified language",canceled:"Action cancelled",logged_out:"Your session has ended, please reconnect.",not_authorized:"You're not authorized to access this resource.",application_update_available:"A new version is available."},validation:{required:"Required",minLength:"Must be %{min} characters at least",maxLength:"Must be %{max} characters or less",minValue:"Must be at least %{min}",maxValue:"Must be %{max} or less",number:"Must be a number",email:"Must be a valid email",oneOf:"Must be one of: %{options}",regex:"Must match a specific format (regexp): %{pattern}",unique:"Must be unique"},saved_queries:{label:"Saved queries",query_name:"Query name",new_label:"Save current query...",new_dialog_title:"Save current query as",remove_label:"Remove saved query",remove_label_with_name:'Remove query "%{name}"',remove_dialog_title:"Remove saved query?",remove_message:"Are you sure you want to remove that item from your list of saved queries?",help:"Filter the list and save this query for later"},configurable:{customize:"Customize",configureMode:"Configure this page",inspector:{title:"Inspector",content:"Hover the application UI elements to configure them",reset:"Reset Settings",hideAll:"Hide All",showAll:"Show All"},Datagrid:{title:"Datagrid",unlabeled:"Unlabeled column #%{column}"},SimpleForm:{title:"Form",unlabeled:"Unlabeled input #%{input}"},SimpleList:{title:"List",primaryText:"Primary text",secondaryText:"Secondary text",tertiaryText:"Tertiary text"}}}};var iI=Object.prototype.toString,DV=o(function(t){var n=iI.call(t),r=n==="[object Arguments]";return r||(r=n!=="[object Array]"&&t!==null&&typeof t=="object"&&typeof t.length=="number"&&t.length>=0&&iI.call(t.callee)==="[object Function]"),r},"isArguments"),cC,sI;function fFe(){if(sI)return cC;sI=1;var e;if(!Object.keys){var t=Object.prototype.hasOwnProperty,n=Object.prototype.toString,r=DV,a=Object.prototype.propertyIsEnumerable,i=!a.call({toString:null},"toString"),s=a.call(function(){},"prototype"),c=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],l=o(function(m){var v=m.constructor;return v&&v.prototype===m},"equalsConstructorPrototype"),u={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},d=function(){if(typeof window>"u")return!1;for(var m in window)try{if(!u["$"+m]&&t.call(window,m)&&window[m]!==null&&typeof window[m]=="object")try{l(window[m])}catch{return!0}}catch{return!0}return!1}(),p=o(function(m){if(typeof window>"u"||!d)return l(m);try{return l(m)}catch{return!1}},"equalsConstructorPrototypeIfNotBuggy");e=o(function(v){var h=v!==null&&typeof v=="object",y=n.call(v)==="[object Function]",C=r(v),w=h&&n.call(v)==="[object String]",x=[];if(!h&&!y&&!C)throw new TypeError("Object.keys called on a non-object");var b=s&&y;if(w&&v.length>0&&!t.call(v,0))for(var S=0;S<v.length;++S)x.push(String(S));if(C&&v.length>0)for(var $=0;$<v.length;++$)x.push(String($));else for(var j in v)!(b&&j==="prototype")&&t.call(v,j)&&x.push(String(j));if(i)for(var _=p(v),k=0;k<c.length;++k)!(_&&c[k]==="constructor")&&t.call(v,c[k])&&x.push(c[k]);return x},"keys")}return cC=e,cC}o(fFe,"requireImplementation");var pFe=Array.prototype.slice,mFe=DV,cI=Object.keys,zy=cI?o(function(t){return cI(t)},"keys"):fFe(),lI=Object.keys;zy.shim=o(function(){if(Object.keys){var t=function(){var n=Object.keys(arguments);return n&&n.length===arguments.length}(1,2);t||(Object.keys=o(function(r){return mFe(r)?lI(pFe.call(r)):lI(r)},"keys"))}else Object.keys=zy;return Object.keys||zy},"shimObjectKeys");var hFe=zy,gFe=Error,vFe=EvalError,yFe=RangeError,bFe=ReferenceError,NV=SyntaxError,FV=TypeError,xFe=URIError,BV=o(function(){if(typeof Symbol!="function"||typeof Object.getOwnPropertySymbols!="function")return!1;if(typeof Symbol.iterator=="symbol")return!0;var t={},n=Symbol("test"),r=Object(n);if(typeof n=="string"||Object.prototype.toString.call(n)!=="[object Symbol]"||Object.prototype.toString.call(r)!=="[object Symbol]")return!1;var a=42;t[n]=a;for(n in t)return!1;if(typeof Object.keys=="function"&&Object.keys(t).length!==0||typeof Object.getOwnPropertyNames=="function"&&Object.getOwnPropertyNames(t).length!==0)return!1;var i=Object.getOwnPropertySymbols(t);if(i.length!==1||i[0]!==n||!Object.prototype.propertyIsEnumerable.call(t,n))return!1;if(typeof Object.getOwnPropertyDescriptor=="function"){var s=Object.getOwnPropertyDescriptor(t,n);if(s.value!==a||s.enumerable!==!0)return!1}return!0},"hasSymbols"),uI=typeof Symbol<"u"&&Symbol,wFe=BV,zA=o(function(){return typeof uI!="function"||typeof Symbol!="function"||typeof uI("foo")!="symbol"||typeof Symbol("bar")!="symbol"?!1:wFe()},"hasNativeSymbols"),dI={foo:{}},CFe=Object,WV=o(function(){return{__proto__:dI}.foo===dI.foo&&!({__proto__:null}instanceof CFe)},"hasProto"),SFe="Function.prototype.bind called on incompatible ",jFe=Object.prototype.toString,$Fe=Math.max,_Fe="[object Function]",fI=o(function(t,n){for(var r=[],a=0;a<t.length;a+=1)r[a]=t[a];for(var i=0;i<n.length;i+=1)r[i+t.length]=n[i];return r},"concatty"),kFe=o(function(t,n){for(var r=[],a=n,i=0;a<t.length;a+=1,i+=1)r[i]=t[a];return r},"slicy"),EFe=o(function(e,t){for(var n="",r=0;r<e.length;r+=1)n+=e[r],r+1<e.length&&(n+=t);return n},"joiny"),RFe=o(function(t){var n=this;if(typeof n!="function"||jFe.apply(n)!==_Fe)throw new TypeError(SFe+n);for(var r=kFe(arguments,1),a,i=o(function(){if(this instanceof a){var d=n.apply(this,fI(r,arguments));return Object(d)===d?d:this}return n.apply(t,fI(r,arguments))},"binder"),s=$Fe(0,n.length-r.length),c=[],l=0;l<s;l++)c[l]="$"+l;if(a=Function("binder","return function ("+EFe(c,",")+"){ return binder.apply(this,arguments); }")(i),n.prototype){var u=o(function(){},"Empty");u.prototype=n.prototype,a.prototype=new u,u.prototype=null}return a},"bind"),AFe=RFe,Dg=Function.prototype.bind||AFe,PFe=Function.prototype.call,MFe=Object.prototype.hasOwnProperty,TFe=Dg,UV=TFe.call(PFe,MFe),Lt,OFe=gFe,zFe=vFe,IFe=yFe,LFe=bFe,Cf=NV,xd=FV,DFe=xFe,HV=Function,lC=o(function(e){try{return HV('"use strict"; return ('+e+").constructor;")()}catch{}},"getEvalledConstructor$1"),yl=Object.getOwnPropertyDescriptor;if(yl)try{yl({},"")}catch{yl=null}var uC=o(function(){throw new xd},"throwTypeError$1"),NFe=yl?function(){try{return arguments.callee,uC}catch{try{return yl(arguments,"callee").get}catch{return uC}}}():uC,gu=zA(),FFe=WV(),pr=Object.getPrototypeOf||(FFe?function(e){return e.__proto__}:null),Pu={},BFe=typeof Uint8Array>"u"||!pr?Lt:pr(Uint8Array),bl={__proto__:null,"%AggregateError%":typeof AggregateError>"u"?Lt:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?Lt:ArrayBuffer,"%ArrayIteratorPrototype%":gu&&pr?pr([][Symbol.iterator]()):Lt,"%AsyncFromSyncIteratorPrototype%":Lt,"%AsyncFunction%":Pu,"%AsyncGenerator%":Pu,"%AsyncGeneratorFunction%":Pu,"%AsyncIteratorPrototype%":Pu,"%Atomics%":typeof Atomics>"u"?Lt:Atomics,"%BigInt%":typeof BigInt>"u"?Lt:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?Lt:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?Lt:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?Lt:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":OFe,"%eval%":eval,"%EvalError%":zFe,"%Float32Array%":typeof Float32Array>"u"?Lt:Float32Array,"%Float64Array%":typeof Float64Array>"u"?Lt:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?Lt:FinalizationRegistry,"%Function%":HV,"%GeneratorFunction%":Pu,"%Int8Array%":typeof Int8Array>"u"?Lt:Int8Array,"%Int16Array%":typeof Int16Array>"u"?Lt:Int16Array,"%Int32Array%":typeof Int32Array>"u"?Lt:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":gu&&pr?pr(pr([][Symbol.iterator]())):Lt,"%JSON%":typeof JSON=="object"?JSON:Lt,"%Map%":typeof Map>"u"?Lt:Map,"%MapIteratorPrototype%":typeof Map>"u"||!gu||!pr?Lt:pr(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?Lt:Promise,"%Proxy%":typeof Proxy>"u"?Lt:Proxy,"%RangeError%":IFe,"%ReferenceError%":LFe,"%Reflect%":typeof Reflect>"u"?Lt:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?Lt:Set,"%SetIteratorPrototype%":typeof Set>"u"||!gu||!pr?Lt:pr(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?Lt:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":gu&&pr?pr(""[Symbol.iterator]()):Lt,"%Symbol%":gu?Symbol:Lt,"%SyntaxError%":Cf,"%ThrowTypeError%":NFe,"%TypedArray%":BFe,"%TypeError%":xd,"%Uint8Array%":typeof Uint8Array>"u"?Lt:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?Lt:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?Lt:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?Lt:Uint32Array,"%URIError%":DFe,"%WeakMap%":typeof WeakMap>"u"?Lt:WeakMap,"%WeakRef%":typeof WeakRef>"u"?Lt:WeakRef,"%WeakSet%":typeof WeakSet>"u"?Lt:WeakSet};if(pr)try{null.error}catch(e){var WFe=pr(pr(e));bl["%Error.prototype%"]=WFe}var UFe=o(function e(t){var n;if(t==="%AsyncFunction%")n=lC("async function () {}");else if(t==="%GeneratorFunction%")n=lC("function* () {}");else if(t==="%AsyncGeneratorFunction%")n=lC("async function* () {}");else if(t==="%AsyncGenerator%"){var r=e("%AsyncGeneratorFunction%");r&&(n=r.prototype)}else if(t==="%AsyncIteratorPrototype%"){var a=e("%AsyncGenerator%");a&&pr&&(n=pr(a.prototype))}return bl[t]=n,n},"doEval"),pI={__proto__:null,"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},Ng=Dg,o0=UV,HFe=Ng.call(Function.call,Array.prototype.concat),qFe=Ng.call(Function.apply,Array.prototype.splice),mI=Ng.call(Function.call,String.prototype.replace),i0=Ng.call(Function.call,String.prototype.slice),VFe=Ng.call(Function.call,RegExp.prototype.exec),GFe=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,KFe=/\\(\\)?/g,JFe=o(function(t){var n=i0(t,0,1),r=i0(t,-1);if(n==="%"&&r!=="%")throw new Cf("invalid intrinsic syntax, expected closing `%`");if(r==="%"&&n!=="%")throw new Cf("invalid intrinsic syntax, expected opening `%`");var a=[];return mI(t,GFe,function(i,s,c,l){a[a.length]=c?mI(l,KFe,"$1"):s||i}),a},"stringToPath"),YFe=o(function(t,n){var r=t,a;if(o0(pI,r)&&(a=pI[r],r="%"+a[0]+"%"),o0(bl,r)){var i=bl[r];if(i===Pu&&(i=UFe(r)),typeof i>"u"&&!n)throw new xd("intrinsic "+t+" exists, but is not available. Please file an issue!");return{alias:a,name:r,value:i}}throw new Cf("intrinsic "+t+" does not exist!")},"getBaseIntrinsic"),QFe=o(function(t,n){if(typeof t!="string"||t.length===0)throw new xd("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof n!="boolean")throw new xd('"allowMissing" argument must be a boolean');if(VFe(/^%?[^%]*%?$/,t)===null)throw new Cf("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var r=JFe(t),a=r.length>0?r[0]:"",i=YFe("%"+a+"%",n),s=i.name,c=i.value,l=!1,u=i.alias;u&&(a=u[0],qFe(r,HFe([0,1],u)));for(var d=1,p=!0;d<r.length;d+=1){var m=r[d],v=i0(m,0,1),h=i0(m,-1);if((v==='"'||v==="'"||v==="`"||h==='"'||h==="'"||h==="`")&&v!==h)throw new Cf("property names with quotes must have matching quotes");if((m==="constructor"||!p)&&(l=!0),a+="."+m,s="%"+a+"%",o0(bl,s))c=bl[s];else if(c!=null){if(!(m in c)){if(!n)throw new xd("base intrinsic for "+t+" exists, but the property is not available.");return}if(yl&&d+1>=r.length){var y=yl(c,m);p=!!y,p&&"get"in y&&!("originalValue"in y.get)?c=y.get:c=c[m]}else p=o0(c,m),c=c[m];p&&!l&&(bl[s]=c)}}return c},"GetIntrinsic"),XFe=QFe,Iy=XFe("%Object.defineProperty%",!0)||!1;if(Iy)try{Iy({},"a",{value:1})}catch{Iy=!1}var qV=Iy,Dt,Sf=SyntaxError,VV=Function,wd=TypeError,dC=o(function(e){try{return VV('"use strict"; return ('+e+").constructor;")()}catch{}},"getEvalledConstructor"),xl=Object.getOwnPropertyDescriptor;if(xl)try{xl({},"")}catch{xl=null}var fC=o(function(){throw new wd},"throwTypeError"),ZFe=xl?function(){try{return arguments.callee,fC}catch{try{return xl(arguments,"callee").get}catch{return fC}}}():fC,vu=zA(),e9e=WV(),mr=Object.getPrototypeOf||(e9e?function(e){return e.__proto__}:null),Mu={},t9e=typeof Uint8Array>"u"||!mr?Dt:mr(Uint8Array),wl={"%AggregateError%":typeof AggregateError>"u"?Dt:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?Dt:ArrayBuffer,"%ArrayIteratorPrototype%":vu&&mr?mr([][Symbol.iterator]()):Dt,"%AsyncFromSyncIteratorPrototype%":Dt,"%AsyncFunction%":Mu,"%AsyncGenerator%":Mu,"%AsyncGeneratorFunction%":Mu,"%AsyncIteratorPrototype%":Mu,"%Atomics%":typeof Atomics>"u"?Dt:Atomics,"%BigInt%":typeof BigInt>"u"?Dt:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?Dt:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?Dt:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?Dt:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Error,"%eval%":eval,"%EvalError%":EvalError,"%Float32Array%":typeof Float32Array>"u"?Dt:Float32Array,"%Float64Array%":typeof Float64Array>"u"?Dt:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?Dt:FinalizationRegistry,"%Function%":VV,"%GeneratorFunction%":Mu,"%Int8Array%":typeof Int8Array>"u"?Dt:Int8Array,"%Int16Array%":typeof Int16Array>"u"?Dt:Int16Array,"%Int32Array%":typeof Int32Array>"u"?Dt:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":vu&&mr?mr(mr([][Symbol.iterator]())):Dt,"%JSON%":typeof JSON=="object"?JSON:Dt,"%Map%":typeof Map>"u"?Dt:Map,"%MapIteratorPrototype%":typeof Map>"u"||!vu||!mr?Dt:mr(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?Dt:Promise,"%Proxy%":typeof Proxy>"u"?Dt:Proxy,"%RangeError%":RangeError,"%ReferenceError%":ReferenceError,"%Reflect%":typeof Reflect>"u"?Dt:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?Dt:Set,"%SetIteratorPrototype%":typeof Set>"u"||!vu||!mr?Dt:mr(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?Dt:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":vu&&mr?mr(""[Symbol.iterator]()):Dt,"%Symbol%":vu?Symbol:Dt,"%SyntaxError%":Sf,"%ThrowTypeError%":ZFe,"%TypedArray%":t9e,"%TypeError%":wd,"%Uint8Array%":typeof Uint8Array>"u"?Dt:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?Dt:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?Dt:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?Dt:Uint32Array,"%URIError%":URIError,"%WeakMap%":typeof WeakMap>"u"?Dt:WeakMap,"%WeakRef%":typeof WeakRef>"u"?Dt:WeakRef,"%WeakSet%":typeof WeakSet>"u"?Dt:WeakSet};if(mr)try{null.error}catch(e){var n9e=mr(mr(e));wl["%Error.prototype%"]=n9e}var r9e=o(function e(t){var n;if(t==="%AsyncFunction%")n=dC("async function () {}");else if(t==="%GeneratorFunction%")n=dC("function* () {}");else if(t==="%AsyncGeneratorFunction%")n=dC("async function* () {}");else if(t==="%AsyncGenerator%"){var r=e("%AsyncGeneratorFunction%");r&&(n=r.prototype)}else if(t==="%AsyncIteratorPrototype%"){var a=e("%AsyncGenerator%");a&&mr&&(n=mr(a.prototype))}return wl[t]=n,n},"doEval"),hI={"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},Fg=Dg,s0=UV,a9e=Fg.call(Function.call,Array.prototype.concat),o9e=Fg.call(Function.apply,Array.prototype.splice),gI=Fg.call(Function.call,String.prototype.replace),c0=Fg.call(Function.call,String.prototype.slice),i9e=Fg.call(Function.call,RegExp.prototype.exec),s9e=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,c9e=/\\(\\)?/g,l9e=o(function(t){var n=c0(t,0,1),r=c0(t,-1);if(n==="%"&&r!=="%")throw new Sf("invalid intrinsic syntax, expected closing `%`");if(r==="%"&&n!=="%")throw new Sf("invalid intrinsic syntax, expected opening `%`");var a=[];return gI(t,s9e,function(i,s,c,l){a[a.length]=c?gI(l,c9e,"$1"):s||i}),a},"stringToPath"),u9e=o(function(t,n){var r=t,a;if(s0(hI,r)&&(a=hI[r],r="%"+a[0]+"%"),s0(wl,r)){var i=wl[r];if(i===Mu&&(i=r9e(r)),typeof i>"u"&&!n)throw new wd("intrinsic "+t+" exists, but is not available. Please file an issue!");return{alias:a,name:r,value:i}}throw new Sf("intrinsic "+t+" does not exist!")},"getBaseIntrinsic"),wr=o(function(t,n){if(typeof t!="string"||t.length===0)throw new wd("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof n!="boolean")throw new wd('"allowMissing" argument must be a boolean');if(i9e(/^%?[^%]*%?$/,t)===null)throw new Sf("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var r=l9e(t),a=r.length>0?r[0]:"",i=u9e("%"+a+"%",n),s=i.name,c=i.value,l=!1,u=i.alias;u&&(a=u[0],o9e(r,a9e([0,1],u)));for(var d=1,p=!0;d<r.length;d+=1){var m=r[d],v=c0(m,0,1),h=c0(m,-1);if((v==='"'||v==="'"||v==="`"||h==='"'||h==="'"||h==="`")&&v!==h)throw new Sf("property names with quotes must have matching quotes");if((m==="constructor"||!p)&&(l=!0),a+="."+m,s="%"+a+"%",s0(wl,s))c=wl[s];else if(c!=null){if(!(m in c)){if(!n)throw new wd("base intrinsic for "+t+" exists, but the property is not available.");return}if(xl&&d+1>=r.length){var y=xl(c,m);p=!!y,p&&"get"in y&&!("originalValue"in y.get)?c=y.get:c=c[m]}else p=s0(c,m),c=c[m];p&&!l&&(wl[s]=c)}}return c},"GetIntrinsic"),d9e=wr,Ly=d9e("%Object.getOwnPropertyDescriptor%",!0);if(Ly)try{Ly([],"length")}catch{Ly=null}var IA=Ly,vI=qV,f9e=NV,yu=FV,yI=IA,p9e=o(function(t,n,r){if(!t||typeof t!="object"&&typeof t!="function")throw new yu("`obj` must be an object or a function`");if(typeof n!="string"&&typeof n!="symbol")throw new yu("`property` must be a string or a symbol`");if(arguments.length>3&&typeof arguments[3]!="boolean"&&arguments[3]!==null)throw new yu("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&typeof arguments[4]!="boolean"&&arguments[4]!==null)throw new yu("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&typeof arguments[5]!="boolean"&&arguments[5]!==null)throw new yu("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&typeof arguments[6]!="boolean")throw new yu("`loose`, if provided, must be a boolean");var a=arguments.length>3?arguments[3]:null,i=arguments.length>4?arguments[4]:null,s=arguments.length>5?arguments[5]:null,c=arguments.length>6?arguments[6]:!1,l=!!yI&&yI(t,n);if(vI)vI(t,n,{configurable:s===null&&l?l.configurable:!s,enumerable:a===null&&l?l.enumerable:!a,value:r,writable:i===null&&l?l.writable:!i});else if(c||!a&&!i&&!s)t[n]=r;else throw new f9e("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.")},"defineDataProperty"),M3=qV,GV=o(function(){return!!M3},"hasPropertyDescriptors");GV.hasArrayLengthDefineBug=o(function(){if(!M3)return null;try{return M3([],"length",{value:1}).length!==1}catch{return!0}},"hasArrayLengthDefineBug");var LA=GV,m9e=hFe,h9e=typeof Symbol=="function"&&typeof Symbol("foo")=="symbol",g9e=Object.prototype.toString,v9e=Array.prototype.concat,bI=p9e,y9e=o(function(e){return typeof e=="function"&&g9e.call(e)==="[object Function]"},"isFunction"),KV=LA(),b9e=o(function(e,t,n,r){if(t in e){if(r===!0){if(e[t]===n)return}else if(!y9e(r)||!r())return}KV?bI(e,t,n,!0):bI(e,t,n)},"defineProperty"),JV=o(function(e,t){var n=arguments.length>2?arguments[2]:{},r=m9e(t);h9e&&(r=v9e.call(r,Object.getOwnPropertySymbols(t)));for(var a=0;a<r.length;a+=1)b9e(e,r[a],t[r[a]],n[r[a]])},"defineProperties");JV.supportsDescriptors=!!KV;var vp=JV,YV={exports:{}},x9e=LA(),DA=wr,Bm=x9e&&DA("%Object.defineProperty%",!0);if(Bm)try{Bm({},"a",{value:1})}catch{Bm=!1}var w9e=DA("%SyntaxError%"),bu=DA("%TypeError%"),xI=IA,C9e=o(function(t,n,r){if(!t||typeof t!="object"&&typeof t!="function")throw new bu("`obj` must be an object or a function`");if(typeof n!="string"&&typeof n!="symbol")throw new bu("`property` must be a string or a symbol`");if(arguments.length>3&&typeof arguments[3]!="boolean"&&arguments[3]!==null)throw new bu("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&typeof arguments[4]!="boolean"&&arguments[4]!==null)throw new bu("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&typeof arguments[5]!="boolean"&&arguments[5]!==null)throw new bu("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&typeof arguments[6]!="boolean")throw new bu("`loose`, if provided, must be a boolean");var a=arguments.length>3?arguments[3]:null,i=arguments.length>4?arguments[4]:null,s=arguments.length>5?arguments[5]:null,c=arguments.length>6?arguments[6]:!1,l=!!xI&&xI(t,n);if(Bm)Bm(t,n,{configurable:s===null&&l?l.configurable:!s,enumerable:a===null&&l?l.enumerable:!a,value:r,writable:i===null&&l?l.writable:!i});else if(c||!a&&!i&&!s)t[n]=r;else throw new w9e("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.")},"defineDataProperty"),QV=wr,wI=C9e,S9e=LA(),CI=IA,SI=QV("%TypeError%"),j9e=QV("%Math.floor%"),$9e=o(function(t,n){if(typeof t!="function")throw new SI("`fn` is not a function");if(typeof n!="number"||n<0||n>4294967295||j9e(n)!==n)throw new SI("`length` must be a positive 32-bit integer");var r=arguments.length>2&&!!arguments[2],a=!0,i=!0;if("length"in t&&CI){var s=CI(t,"length");s&&!s.configurable&&(a=!1),s&&!s.writable&&(i=!1)}return(a||i||!r)&&(S9e?wI(t,"length",n,!0,!0):wI(t,"length",n)),t},"setFunctionLength");(function(e){var t=Dg,n=wr,r=$9e,a=n("%TypeError%"),i=n("%Function.prototype.apply%"),s=n("%Function.prototype.call%"),c=n("%Reflect.apply%",!0)||t.call(s,i),l=n("%Object.defineProperty%",!0),u=n("%Math.max%");if(l)try{l({},"a",{value:1})}catch{l=null}e.exports=o(function(m){if(typeof m!="function")throw new a("a function is required");var v=c(t,s,arguments);return r(v,1+u(0,m.length-(arguments.length-1)),!0)},"callBind");var d=o(function(){return c(t,i,arguments)},"applyBind");l?l(e.exports,"apply",{value:d}):e.exports.apply=d})(YV);var Bg=YV.exports,XV=wr,ZV=Bg,_9e=ZV(XV("String.prototype.indexOf")),Ql=o(function(t,n){var r=XV(t,!!n);return typeof r=="function"&&_9e(t,".prototype.")>-1?ZV(r):r},"callBoundIntrinsic"),k9e=wr,E9e=k9e("%TypeError%"),R9e=o(function(t,n){if(t==null)throw new E9e(n||"Cannot call method on "+t);return t},"CheckObjectCoercible"),H1=R9e,pC,jI;function A9e(){if(jI)return pC;jI=1;var e=wr,t=e("%Array%"),n=!t.isArray&&Ql("Object.prototype.toString");return pC=t.isArray||o(function(a){return n(a)==="[object Array]"},"IsArray"),pC}o(A9e,"requireIsArray");var mC,$I;function P9e(){if($I)return mC;$I=1;var e=wr,t=Ql,n=e("%TypeError%"),r=A9e(),a=e("%Reflect.apply%",!0)||t("%Function.prototype.apply%");return mC=o(function(s,c){var l=arguments.length>2?arguments[2]:[];if(!r(l))throw new n("Assertion failed: optional `argumentsList`, if provided, must be a List");return a(s,c,l)},"Call"),mC}o(P9e,"requireCall");const M9e={},T9e=Object.freeze(Object.defineProperty({__proto__:null,default:M9e},Symbol.toStringTag,{value:"Module"})),O9e=Li(T9e);var hC,_I;function z9e(){if(_I)return hC;_I=1;var e=typeof Map=="function"&&Map.prototype,t=Object.getOwnPropertyDescriptor&&e?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,n=e&&t&&typeof t.get=="function"?t.get:null,r=e&&Map.prototype.forEach,a=typeof Set=="function"&&Set.prototype,i=Object.getOwnPropertyDescriptor&&a?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,s=a&&i&&typeof i.get=="function"?i.get:null,c=a&&Set.prototype.forEach,l=typeof WeakMap=="function"&&WeakMap.prototype,u=l?WeakMap.prototype.has:null,d=typeof WeakSet=="function"&&WeakSet.prototype,p=d?WeakSet.prototype.has:null,m=typeof WeakRef=="function"&&WeakRef.prototype,v=m?WeakRef.prototype.deref:null,h=Boolean.prototype.valueOf,y=Object.prototype.toString,C=Function.prototype.toString,w=String.prototype.match,x=String.prototype.slice,b=String.prototype.replace,S=String.prototype.toUpperCase,$=String.prototype.toLowerCase,j=RegExp.prototype.test,_=Array.prototype.concat,k=Array.prototype.join,E=Array.prototype.slice,A=Math.floor,P=typeof BigInt=="function"?BigInt.prototype.valueOf:null,M=Object.getOwnPropertySymbols,T=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Symbol.prototype.toString:null,z=typeof Symbol=="function"&&typeof Symbol.iterator=="object",O=typeof Symbol=="function"&&Symbol.toStringTag&&(typeof Symbol.toStringTag===z||!0)?Symbol.toStringTag:null,N=Object.prototype.propertyIsEnumerable,F=(typeof Reflect=="function"?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(W){return W.__proto__}:null);function I(W,K){if(W===1/0||W===-1/0||W!==W||W&&W>-1e3&&W<1e3||j.call(/e/,K))return K;var Y=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if(typeof W=="number"){var pe=W<0?-A(-W):A(W);if(pe!==W){var Le=String(pe),Oe=x.call(K,Le.length+1);return b.call(Le,Y,"$&_")+"."+b.call(b.call(Oe,/([0-9]{3})/g,"$&_"),/_$/,"")}}return b.call(K,Y,"$&_")}o(I,"addNumericSeparator");var B=O9e,U=B.custom,te=me(U)?U:null;hC=o(function W(K,Y,pe,Le){var Oe=Y||{};if(Ee(Oe,"quoteStyle")&&Oe.quoteStyle!=="single"&&Oe.quoteStyle!=="double")throw new TypeError('option "quoteStyle" must be "single" or "double"');if(Ee(Oe,"maxStringLength")&&(typeof Oe.maxStringLength=="number"?Oe.maxStringLength<0&&Oe.maxStringLength!==1/0:Oe.maxStringLength!==null))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var dt=Ee(Oe,"customInspect")?Oe.customInspect:!0;if(typeof dt!="boolean"&&dt!=="symbol")throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if(Ee(Oe,"indent")&&Oe.indent!==null&&Oe.indent!==" "&&!(parseInt(Oe.indent,10)===Oe.indent&&Oe.indent>0))throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');if(Ee(Oe,"numericSeparator")&&typeof Oe.numericSeparator!="boolean")throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');var St=Oe.numericSeparator;if(typeof K>"u")return"undefined";if(K===null)return"null";if(typeof K=="boolean")return K?"true":"false";if(typeof K=="string")return he(K,Oe);if(typeof K=="number"){if(K===0)return 1/0/K>0?"0":"-0";var wt=String(K);return St?I(K,wt):wt}if(typeof K=="bigint"){var Bt=String(K)+"n";return St?I(K,Bt):Bt}var G=typeof Oe.depth>"u"?5:Oe.depth;if(typeof pe>"u"&&(pe=0),pe>=G&&G>0&&typeof K=="object")return ne(K)?"[Array]":"[Object]";var Q=ot(Oe,pe);if(typeof Le>"u")Le=[];else if(st(Le,K)>=0)return"[Circular]";function ce(ie,Ie,Ae){if(Ie&&(Le=E.call(Le),Le.push(Ie)),Ae){var it={depth:Oe.depth};return Ee(Oe,"quoteStyle")&&(it.quoteStyle=Oe.quoteStyle),W(ie,it,pe+1,Le)}return W(ie,Oe,pe+1,Le)}if(o(ce,"inspect"),typeof K=="function"&&!oe(K)){var _e=Ce(K),qe=yt(K,ce);return"[Function"+(_e?": "+_e:" (anonymous)")+"]"+(qe.length>0?" { "+k.call(qe,", ")+" }":"")}if(me(K)){var ct=z?b.call(String(K),/^(Symbol\(.*\))_[^)]*$/,"$1"):T.call(K);return typeof K=="object"&&!z?rt(ct):ct}if(ue(K)){for(var Ve="<"+$.call(String(K.nodeName)),Fe=K.attributes||[],Me=0;Me<Fe.length;Me++)Ve+=" "+Fe[Me].name+"="+Z(be(Fe[Me].value),"double",Oe);return Ve+=">",K.childNodes&&K.childNodes.length&&(Ve+="..."),Ve+="</"+$.call(String(K.nodeName))+">",Ve}if(ne(K)){if(K.length===0)return"[]";var lt=yt(K,ce);return Q&&!ye(lt)?"["+ft(lt,Q)+"]":"[ "+k.call(lt,", ")+" ]"}if(Se(K)){var jt=yt(K,ce);return!("cause"in Error.prototype)&&"cause"in K&&!N.call(K,"cause")?"{ ["+String(K)+"] "+k.call(_.call("[cause]: "+ce(K.cause),jt),", ")+" }":jt.length===0?"["+String(K)+"]":"{ ["+String(K)+"] "+k.call(jt,", ")+" }"}if(typeof K=="object"&&dt){if(te&&typeof K[te]=="function"&&B)return B(K,{depth:G-pe});if(dt!=="symbol"&&typeof K.inspect=="function")return K.inspect()}if(D(K)){var we=[];return r.call(K,function(ie,Ie){we.push(ce(Ie,K,!0)+" => "+ce(ie,K))}),Ne("Map",n.call(K),we,Q)}if(de(K)){var Ye=[];return c.call(K,function(ie){Ye.push(ce(ie,K))}),Ne("Set",s.call(K),Ye,Q)}if(J(K))return Ue("WeakMap");if(fe(K))return Ue("WeakSet");if(H(K))return Ue("WeakRef");if(X(K))return rt(ce(Number(K)));if(re(K))return rt(ce(P.call(K)));if(Re(K))return rt(h.call(K));if(xe(K))return rt(ce(String(K)));if(!le(K)&&!oe(K)){var ut=yt(K,ce),ke=F?F(K)===Object.prototype:K instanceof Object||K.constructor===Object,ze=K instanceof Object?"":"null prototype",bt=!ke&&O&&Object(K)===K&&O in K?x.call($e(K),8,-1):ze?"Object":"",Pt=ke||typeof K.constructor!="function"?"":K.constructor.name?K.constructor.name+" ":"",ae=Pt+(bt||ze?"["+k.call(_.call([],bt||[],ze||[]),": ")+"] ":"");return ut.length===0?ae+"{}":Q?ae+"{"+ft(ut,Q)+"}":ae+"{ "+k.call(ut,", ")+" }"}return String(K)},"inspect_");function Z(W,K,Y){var pe=(Y.quoteStyle||K)==="double"?'"':"'";return pe+W+pe}o(Z,"wrapQuotes");function be(W){return b.call(String(W),/"/g,""")}o(be,"quote");function ne(W){return $e(W)==="[object Array]"&&(!O||!(typeof W=="object"&&O in W))}o(ne,"isArray");function le(W){return $e(W)==="[object Date]"&&(!O||!(typeof W=="object"&&O in W))}o(le,"isDate");function oe(W){return $e(W)==="[object RegExp]"&&(!O||!(typeof W=="object"&&O in W))}o(oe,"isRegExp");function Se(W){return $e(W)==="[object Error]"&&(!O||!(typeof W=="object"&&O in W))}o(Se,"isError");function xe(W){return $e(W)==="[object String]"&&(!O||!(typeof W=="object"&&O in W))}o(xe,"isString");function X(W){return $e(W)==="[object Number]"&&(!O||!(typeof W=="object"&&O in W))}o(X,"isNumber");function Re(W){return $e(W)==="[object Boolean]"&&(!O||!(typeof W=="object"&&O in W))}o(Re,"isBoolean");function me(W){if(z)return W&&typeof W=="object"&&W instanceof Symbol;if(typeof W=="symbol")return!0;if(!W||typeof W!="object"||!T)return!1;try{return T.call(W),!0}catch{}return!1}o(me,"isSymbol");function re(W){if(!W||typeof W!="object"||!P)return!1;try{return P.call(W),!0}catch{}return!1}o(re,"isBigInt");var De=Object.prototype.hasOwnProperty||function(W){return W in this};function Ee(W,K){return De.call(W,K)}o(Ee,"has");function $e(W){return y.call(W)}o($e,"toStr");function Ce(W){if(W.name)return W.name;var K=w.call(C.call(W),/^function\s*([\w$]+)/);return K?K[1]:null}o(Ce,"nameOf");function st(W,K){if(W.indexOf)return W.indexOf(K);for(var Y=0,pe=W.length;Y<pe;Y++)if(W[Y]===K)return Y;return-1}o(st,"indexOf");function D(W){if(!n||!W||typeof W!="object")return!1;try{n.call(W);try{s.call(W)}catch{return!0}return W instanceof Map}catch{}return!1}o(D,"isMap");function J(W){if(!u||!W||typeof W!="object")return!1;try{u.call(W,u);try{p.call(W,p)}catch{return!0}return W instanceof WeakMap}catch{}return!1}o(J,"isWeakMap");function H(W){if(!v||!W||typeof W!="object")return!1;try{return v.call(W),!0}catch{}return!1}o(H,"isWeakRef");function de(W){if(!s||!W||typeof W!="object")return!1;try{s.call(W);try{n.call(W)}catch{return!0}return W instanceof Set}catch{}return!1}o(de,"isSet");function fe(W){if(!p||!W||typeof W!="object")return!1;try{p.call(W,p);try{u.call(W,u)}catch{return!0}return W instanceof WeakSet}catch{}return!1}o(fe,"isWeakSet");function ue(W){return!W||typeof W!="object"?!1:typeof HTMLElement<"u"&&W instanceof HTMLElement?!0:typeof W.nodeName=="string"&&typeof W.getAttribute=="function"}o(ue,"isElement");function he(W,K){if(W.length>K.maxStringLength){var Y=W.length-K.maxStringLength,pe="... "+Y+" more character"+(Y>1?"s":"");return he(x.call(W,0,K.maxStringLength),K)+pe}var Le=b.call(b.call(W,/(['\\])/g,"\\$1"),/[\x00-\x1f]/g,We);return Z(Le,"single",K)}o(he,"inspectString");function We(W){var K=W.charCodeAt(0),Y={8:"b",9:"t",10:"n",12:"f",13:"r"}[K];return Y?"\\"+Y:"\\x"+(K<16?"0":"")+S.call(K.toString(16))}o(We,"lowbyte");function rt(W){return"Object("+W+")"}o(rt,"markBoxed");function Ue(W){return W+" { ? }"}o(Ue,"weakCollectionOf");function Ne(W,K,Y,pe){var Le=pe?ft(Y,pe):k.call(Y,", ");return W+" ("+K+") {"+Le+"}"}o(Ne,"collectionOf");function ye(W){for(var K=0;K<W.length;K++)if(st(W[K],` +`)>=0)return!1;return!0}o(ye,"singleLineValues");function ot(W,K){var Y;if(W.indent===" ")Y=" ";else if(typeof W.indent=="number"&&W.indent>0)Y=k.call(Array(W.indent+1)," ");else return null;return{base:Y,prev:k.call(Array(K+1),Y)}}o(ot,"getIndent");function ft(W,K){if(W.length===0)return"";var Y=` +`+K.prev+K.base;return Y+k.call(W,","+Y)+` +`+K.prev}o(ft,"indentedJoin");function yt(W,K){var Y=ne(W),pe=[];if(Y){pe.length=W.length;for(var Le=0;Le<W.length;Le++)pe[Le]=Ee(W,Le)?K(W[Le],W):""}var Oe=typeof M=="function"?M(W):[],dt;if(z){dt={};for(var St=0;St<Oe.length;St++)dt["$"+Oe[St]]=Oe[St]}for(var wt in W)Ee(W,wt)&&(Y&&String(Number(wt))===wt&&wt<W.length||z&&dt["$"+wt]instanceof Symbol||(j.call(/[^\w$]/,wt)?pe.push(K(wt,W)+": "+K(W[wt],W)):pe.push(wt+": "+K(W[wt],W))));if(typeof M=="function")for(var Bt=0;Bt<Oe.length;Bt++)N.call(W,Oe[Bt])&&pe.push("["+K(Oe[Bt])+"]: "+K(W[Oe[Bt]],W));return pe}return o(yt,"arrObjKeys"),hC}o(z9e,"requireObjectInspect");var gC,kI;function eG(){return kI||(kI=1,gC=o(function(t){return typeof t=="string"||typeof t=="symbol"},"IsPropertyKey")),gC}o(eG,"requireIsPropertyKey");var vC,EI;function I9e(){return EI||(EI=1,vC=o(function(t){if(t===null)return"Null";if(typeof t>"u")return"Undefined";if(typeof t=="function"||typeof t=="object")return"Object";if(typeof t=="number")return"Number";if(typeof t=="boolean")return"Boolean";if(typeof t=="string")return"String"},"Type")),vC}o(I9e,"requireType$1");var yC,RI;function NA(){if(RI)return yC;RI=1;var e=I9e();return yC=o(function(n){return typeof n=="symbol"?"Symbol":typeof n=="bigint"?"BigInt":e(n)},"Type"),yC}o(NA,"requireType");var bC,AI;function tG(){if(AI)return bC;AI=1;var e=wr,t=e("%TypeError%"),n=z9e(),r=eG(),a=NA();return bC=o(function(s,c){if(a(s)!=="Object")throw new t("Assertion failed: Type(O) is not Object");if(!r(c))throw new t("Assertion failed: IsPropertyKey(P) is not true, got "+n(c));return s[c]},"Get"),bC}o(tG,"requireGet");var xC,PI;function L9e(){if(PI)return xC;PI=1;var e=wr,t=e("%TypeError%"),n=eG(),r=NA();return xC=o(function(i,s){if(r(i)!=="Object")throw new t("Assertion failed: `O` must be an Object");if(!n(s))throw new t("Assertion failed: `P` must be a Property Key");return s in i},"HasProperty"),xC}o(L9e,"requireHasProperty");var wC,MI;function FA(){if(MI)return wC;MI=1;var e=Function.prototype.toString,t=typeof Reflect=="object"&&Reflect!==null&&Reflect.apply,n,r;if(typeof t=="function"&&typeof Object.defineProperty=="function")try{n=Object.defineProperty({},"length",{get:o(function(){throw r},"get")}),r={},t(function(){throw 42},null,n)}catch(x){x!==r&&(t=null)}else t=null;var a=/^\s*class\b/,i=o(function(b){try{var S=e.call(b);return a.test(S)}catch{return!1}},"isES6ClassFunction"),s=o(function(b){try{return i(b)?!1:(e.call(b),!0)}catch{return!1}},"tryFunctionToStr"),c=Object.prototype.toString,l="[object Object]",u="[object Function]",d="[object GeneratorFunction]",p="[object HTMLAllCollection]",m="[object HTML document.all class]",v="[object HTMLCollection]",h=typeof Symbol=="function"&&!!Symbol.toStringTag,y=!(0 in[,]),C=o(function(){return!1},"isDocumentDotAll");if(typeof document=="object"){var w=document.all;c.call(w)===c.call(document.all)&&(C=o(function(b){if((y||!b)&&(typeof b>"u"||typeof b=="object"))try{var S=c.call(b);return(S===p||S===m||S===v||S===l)&&b("")==null}catch{}return!1},"isDocumentDotAll"))}return wC=o(t?function(b){if(C(b))return!0;if(!b||typeof b!="function"&&typeof b!="object")return!1;try{t(b,null,n)}catch(S){if(S!==r)return!1}return!i(b)&&s(b)}:function(b){if(C(b))return!0;if(!b||typeof b!="function"&&typeof b!="object")return!1;if(h)return s(b);if(i(b))return!1;var S=c.call(b);return S!==u&&S!==d&&!/^\[object HTML/.test(S)?!1:s(b)},"isCallable"),wC}o(FA,"requireIsCallable$1");var CC,TI;function D9e(){return TI||(TI=1,CC=FA()),CC}o(D9e,"requireIsCallable");var SC,OI;function N9e(){if(OI)return SC;OI=1;var e=wr,t=e("%Math%"),n=e("%Number%");return SC=n.MAX_SAFE_INTEGER||t.pow(2,53)-1,SC}o(N9e,"requireMaxSafeInteger");var jC,zI;function F9e(){if(zI)return jC;zI=1;var e=wr,t=e("%Math.abs%");return jC=o(function(r){return t(r)},"abs"),jC}o(F9e,"requireAbs");var $C,II;function B9e(){if(II)return $C;II=1;var e=Math.floor;return $C=o(function(n){return e(n)},"floor"),$C}o(B9e,"requireFloor");var _C,LI;function nG(){return LI||(LI=1,_C=o(function(t){return t===null||typeof t!="function"&&typeof t!="object"},"isPrimitive")),_C}o(nG,"requireIsPrimitive$1");var kC,DI;function W9e(){if(DI)return kC;DI=1;var e=Object.prototype.toString,t=nG(),n=FA(),r={"[[DefaultValue]]":o(function(a){var i;if(arguments.length>1?i=arguments[1]:i=e.call(a)==="[object Date]"?String:Number,i===String||i===Number){var s=i===String?["toString","valueOf"]:["valueOf","toString"],c,l;for(l=0;l<s.length;++l)if(n(a[s[l]])&&(c=a[s[l]](),t(c)))return c;throw new TypeError("No default value")}throw new TypeError("invalid [[DefaultValue]] hint supplied")},"[[DefaultValue]]")};return kC=o(function(i){return t(i)?i:arguments.length>1?r["[[DefaultValue]]"](i,arguments[1]):r["[[DefaultValue]]"](i)},"ToPrimitive"),kC}o(W9e,"requireEs5");var EC,NI;function U9e(){return NI||(NI=1,EC=W9e()),EC}o(U9e,"requireToPrimitive$1");var RC,FI;function H9e(){if(FI)return RC;FI=1;var e=U9e();return RC=o(function(n){var r=e(n,Number);if(typeof r!="string")return+r;var a=r.replace(/^[ \t\x0b\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u0085]+|[ \t\x0b\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u0085]+$/g,"");return/^0[ob]|^[+-]0x/.test(a)?NaN:+a},"ToNumber"),RC}o(H9e,"requireToNumber$1");var AC,BI;function q9e(){return BI||(BI=1,AC=Number.isNaN||o(function(t){return t!==t},"isNaN")),AC}o(q9e,"require_isNaN");var PC,WI;function V9e(){if(WI)return PC;WI=1;var e=Number.isNaN||function(t){return t!==t};return PC=Number.isFinite||function(t){return typeof t=="number"&&!e(t)&&t!==1/0&&t!==-1/0},PC}o(V9e,"require_isFinite");var MC,UI;function G9e(){return UI||(UI=1,MC=o(function(t){return t>=0?1:-1},"sign")),MC}o(G9e,"requireSign");var TC,HI;function K9e(){if(HI)return TC;HI=1;var e=F9e(),t=B9e(),n=H9e(),r=q9e(),a=V9e(),i=G9e();return TC=o(function(c){var l=n(c);return r(l)?0:l===0||!a(l)?l:i(l)*t(e(l))},"ToInteger"),TC}o(K9e,"requireToInteger");var OC,qI;function J9e(){if(qI)return OC;qI=1;var e=wr,t=e("RegExp.prototype.test"),n=Bg;return OC=o(function(a){return n(t,a)},"regexTester"),OC}o(J9e,"requireRegexTester");var zC,VI;function Y9e(){return VI||(VI=1,zC=o(function(t){return t===null||typeof t!="function"&&typeof t!="object"},"isPrimitive")),zC}o(Y9e,"requireIsPrimitive");var IC,GI;function rG(){if(GI)return IC;GI=1;var e=BV;return IC=o(function(){return e()&&!!Symbol.toStringTag},"hasToStringTagShams"),IC}o(rG,"requireShams");var LC,KI;function Q9e(){if(KI)return LC;KI=1;var e=Date.prototype.getDay,t=o(function(s){try{return e.call(s),!0}catch{return!1}},"tryDateGetDayCall"),n=Object.prototype.toString,r="[object Date]",a=rG()();return LC=o(function(s){return typeof s!="object"||s===null?!1:a?t(s):n.call(s)===r},"isDateObject"),LC}o(Q9e,"requireIsDateObject");var Tv={exports:{}},JI;function X9e(){if(JI)return Tv.exports;JI=1;var e=Object.prototype.toString,t=zA();if(t){var n=Symbol.prototype.toString,r=/^Symbol\(.*\)$/,a=o(function(s){return typeof s.valueOf()!="symbol"?!1:r.test(n.call(s))},"isRealSymbolObject");Tv.exports=o(function(s){if(typeof s=="symbol")return!0;if(e.call(s)!=="[object Symbol]")return!1;try{return a(s)}catch{return!1}},"isSymbol")}else Tv.exports=o(function(s){return!1},"isSymbol");return Tv.exports}o(X9e,"requireIsSymbol");var DC,YI;function Z9e(){if(YI)return DC;YI=1;var e=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol",t=nG(),n=FA(),r=Q9e(),a=X9e(),i=o(function(l,u){if(typeof l>"u"||l===null)throw new TypeError("Cannot call method on "+l);if(typeof u!="string"||u!=="number"&&u!=="string")throw new TypeError('hint must be "string" or "number"');var d=u==="string"?["toString","valueOf"]:["valueOf","toString"],p,m,v;for(v=0;v<d.length;++v)if(p=l[d[v]],n(p)&&(m=p.call(l),t(m)))return m;throw new TypeError("No default value")},"OrdinaryToPrimitive"),s=o(function(l,u){var d=l[u];if(d!==null&&typeof d<"u"){if(!n(d))throw new TypeError(d+" returned for property "+u+" of object "+l+" is not a function");return d}},"GetMethod");return DC=o(function(l){if(t(l))return l;var u="default";arguments.length>1&&(arguments[1]===String?u="string":arguments[1]===Number&&(u="number"));var d;if(e&&(Symbol.toPrimitive?d=s(l,Symbol.toPrimitive):a(l)&&(d=Symbol.prototype.valueOf)),typeof d<"u"){var p=d.call(l,u);if(t(p))return p;throw new TypeError("unable to convert exotic object to primitive")}return u==="default"&&(r(l)||a(l))&&(u="string"),i(l,u==="default"?"number":u)},"ToPrimitive"),DC}o(Z9e,"requireEs2015");var NC,QI;function e7e(){if(QI)return NC;QI=1;var e=Z9e();return NC=o(function(n){return arguments.length>1?e(n,arguments[1]):e(n)},"ToPrimitive"),NC}o(e7e,"requireToPrimitive");var FC,XI;function t7e(){if(XI)return FC;XI=1;var e=wr,t=e("%TypeError%"),n=e("%Number%"),r=e("%RegExp%"),a=e("%parseInt%"),i=Ql,s=J9e(),c=Y9e(),l=i("String.prototype.slice"),u=s(/^0b[01]+$/i),d=s(/^0o[0-7]+$/i),p=s(/^[-+]0x[0-9a-f]+$/i),m=["…","​","￾"].join(""),v=new r("["+m+"]","g"),h=s(v),y=[` +\v\f\r   ᠎    `,"          \u2028","\u2029\uFEFF"].join(""),C=new RegExp("(^["+y+"]+)|(["+y+"]+$)","g"),w=i("String.prototype.replace"),x=o(function(S){return w(S,C,"")},"$trim"),b=e7e();return FC=o(function S($){var j=c($)?$:b($,n);if(typeof j=="symbol")throw new t("Cannot convert a Symbol value to a number");if(typeof j=="bigint")throw new t("Conversion from 'BigInt' to 'number' is not allowed.");if(typeof j=="string"){if(u(j))return S(a(l(j,2),2));if(d(j))return S(a(l(j,2),8));if(h(j)||p(j))return NaN;var _=x(j);if(_!==j)return S(_)}return n(j)},"ToNumber"),FC}o(t7e,"requireToNumber");var BC,ZI;function n7e(){if(ZI)return BC;ZI=1;var e=K9e(),t=t7e();return BC=o(function(r){var a=t(r);return a!==0&&(a=e(a)),a===0?0:a},"ToInteger"),BC}o(n7e,"requireToIntegerOrInfinity");var WC,e6;function r7e(){if(e6)return WC;e6=1;var e=N9e(),t=n7e();return WC=o(function(r){var a=t(r);return a<=0?0:a>e?e:a},"ToLength"),WC}o(r7e,"requireToLength");var UC,t6;function a7e(){if(t6)return UC;t6=1;var e=wr,t=e("%TypeError%"),n=tG(),r=r7e(),a=NA();return UC=o(function(s){if(a(s)!=="Object")throw new t("Assertion failed: `obj` must be an Object");return r(n(s,"length"))},"LengthOfArrayLike"),UC}o(a7e,"requireLengthOfArrayLike");var HC,n6;function o7e(){if(n6)return HC;n6=1;var e=wr,t=e("%Object%"),n=H1;return HC=o(function(a){return n(a),t(a)},"ToObject"),HC}o(o7e,"requireToObject");var aG=wr,i7e=aG("%String%"),s7e=aG("%TypeError%"),oG=o(function(t){if(typeof t=="symbol")throw new s7e("Cannot convert a Symbol value to a string");return i7e(t)},"ToString"),qC,r6;function c7e(){if(r6)return qC;r6=1;var e=String.prototype.valueOf,t=o(function(s){try{return e.call(s),!0}catch{return!1}},"tryStringObject"),n=Object.prototype.toString,r="[object String]",a=rG()();return qC=o(function(s){return typeof s=="string"?!0:typeof s!="object"?!1:a?t(s):n.call(s)===r},"isString"),qC}o(c7e,"requireIsString");var l7e=wr,u7e=Ql,d7e=l7e("%TypeError%"),f7e=P9e(),p7e=tG(),m7e=L9e(),h7e=D9e(),g7e=a7e(),v7e=o7e(),y7e=oG,b7e=c7e(),x7e=u7e("String.prototype.split"),a6=Object("a"),w7e=a6[0]!=="a"||!(0 in a6),iG=o(function(t){var n=v7e(this),r=w7e&&b7e(this)?x7e(this,""):n,a=g7e(r);if(!h7e(t))throw new d7e("Array.prototype.forEach callback must be a function");var i;arguments.length>1&&(i=arguments[1]);for(var s=0;s<a;){var c=y7e(s),l=m7e(r,c);if(l){var u=p7e(r,c);f7e(t,i,[u,s,r])}s+=1}},"forEach"),C7e=o(function(t){var n=!0,r=!0,a=!1;if(typeof t=="function"){try{t.call("f",function(i,s,c){typeof c!="object"&&(n=!1)}),t.call([null],function(){"use strict";r=typeof this=="string"},"x")}catch{a=!0}return!a&&n&&r}return!1},"properlyBoxed"),S7e=C7e,j7e=iG,sG=o(function(){var t=Array.prototype.forEach;return S7e(t)?t:j7e},"getPolyfill"),VC,o6;function $7e(){if(o6)return VC;o6=1;var e=vp,t=sG;return VC=o(function(){var r=t();return e(Array.prototype,{forEach:r},{forEach:o(function(){return Array.prototype.forEach!==r},"forEach")}),r},"shimForEach"),VC}o($7e,"requireShim");var _7e=vp,k7e=Bg,E7e=Ql,R7e=H1,A7e=iG,cG=sG,P7e=cG(),M7e=$7e(),T7e=E7e("Array.prototype.slice"),O7e=k7e.apply(P7e),lG=o(function(t,n){return R7e(t),O7e(t,T7e(arguments,1))},"forEach");_7e(lG,{getPolyfill:cG,implementation:A7e,shim:M7e});var z7e=lG,I7e=H1,uG=Ql,L7e=uG("Object.prototype.propertyIsEnumerable"),D7e=uG("Array.prototype.push"),dG=o(function(t){var n=I7e(t),r=[];for(var a in n)L7e(n,a)&&D7e(r,[a,n[a]]);return r},"entries"),N7e=dG,fG=o(function(){return typeof Object.entries=="function"?Object.entries:N7e},"getPolyfill"),F7e=fG,B7e=vp,W7e=o(function(){var t=F7e();return B7e(Object,{entries:t},{entries:o(function(){return Object.entries!==t},"testEntries")}),t},"shimEntries"),U7e=vp,H7e=Bg,q7e=dG,pG=fG,V7e=W7e,mG=H7e(pG(),Object);U7e(mG,{getPolyfill:pG,implementation:q7e,shim:V7e});var G7e=mG,K7e=Dg,J7e=K7e.call(Function.call,Object.prototype.hasOwnProperty),Y7e=H1,Q7e=oG,X7e=Ql,i6=X7e("String.prototype.replace"),Z7e=/^[\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF]+/,eBe=/[\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF]+$/,hG=o(function(){var t=Q7e(Y7e(this));return i6(i6(t,Z7e,""),eBe,"")},"trim"),tBe=hG,s6="​",gG=o(function(){return String.prototype.trim&&s6.trim()===s6?String.prototype.trim:tBe},"getPolyfill"),nBe=vp,rBe=gG,aBe=o(function(){var t=rBe();return nBe(String.prototype,{trim:t},{trim:o(function(){return String.prototype.trim!==t},"testTrim")}),t},"shimStringTrim"),oBe=Bg,iBe=vp,sBe=hG,vG=gG,cBe=aBe,yG=oBe(vG());iBe(yG,{getPolyfill:vG,implementation:sBe,shim:cBe});var lBe=yG,l0=z7e,BA=G7e,bG=J7e,uBe=lBe,dBe=o(function(t){},"warn"),fBe=String.prototype.replace,xG=String.prototype.split,Dy="||||",GC=o(function(e){var t=e%100,n=t%10;return t!==11&&n===1?0:2<=n&&n<=4&&!(t>=12&&t<=14)?1:2},"russianPluralGroups"),wG={pluralTypes:{arabic:o(function(e){if(e<3)return e;var t=e%100;return t>=3&&t<=10?3:t>=11?4:5},"arabic"),bosnian_serbian:GC,chinese:o(function(){return 0},"chinese"),croatian:GC,french:o(function(e){return e>=2?1:0},"french"),german:o(function(e){return e!==1?1:0},"german"),russian:GC,lithuanian:o(function(e){return e%10===1&&e%100!==11?0:e%10>=2&&e%10<=9&&(e%100<11||e%100>19)?1:2},"lithuanian"),czech:o(function(e){return e===1?0:e>=2&&e<=4?1:2},"czech"),polish:o(function(e){if(e===1)return 0;var t=e%10;return 2<=t&&t<=4&&(e%100<10||e%100>=20)?1:2},"polish"),icelandic:o(function(e){return e%10!==1||e%100===11?1:0},"icelandic"),slovenian:o(function(e){var t=e%100;return t===1?0:t===2?1:t===3||t===4?2:3},"slovenian")},pluralTypeToLanguages:{arabic:["ar"],bosnian_serbian:["bs-Latn-BA","bs-Cyrl-BA","srl-RS","sr-RS"],chinese:["id","id-ID","ja","ko","ko-KR","lo","ms","th","th-TH","zh"],croatian:["hr","hr-HR"],german:["fa","da","de","en","es","fi","el","he","hi-IN","hu","hu-HU","it","nl","no","pt","sv","tr"],french:["fr","tl","pt-br"],russian:["ru","ru-RU"],lithuanian:["lt"],czech:["cs","cs-CZ","sk"],polish:["pl"],icelandic:["is"],slovenian:["sl-SL"]}};function pBe(e){var t={};return l0(BA(e),function(n){var r=n[0],a=n[1];l0(a,function(i){t[i]=r})}),t}o(pBe,"langToTypeMap");function mBe(e,t){var n=pBe(e.pluralTypeToLanguages);return n[t]||n[xG.call(t,/-/,1)[0]]||n.en}o(mBe,"pluralTypeName");function hBe(e,t,n){return e.pluralTypes[t](n)}o(hBe,"pluralTypeIndex");function gBe(){var e={};return function(t,n){var r=e[n];return r&&!t.pluralTypes[r]&&(r=null,e[n]=r),r||(r=mBe(t,n),r&&(e[n]=r)),r}}o(gBe,"createMemoizedPluralTypeNameSelector");function c6(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}o(c6,"escape");function vBe(e){var t=e&&e.prefix||"%{",n=e&&e.suffix||"}";if(t===Dy||n===Dy)throw new RangeError('"'+Dy+'" token is reserved for pluralization');return new RegExp(c6(t)+"(.*?)"+c6(n),"g")}o(vBe,"constructTokenRegex");var yBe=gBe(),bBe=/%\{(.*?)\}/g;function WA(e,t,n,r,a){if(typeof e!="string")throw new TypeError("Polyglot.transformPhrase expects argument #1 to be string");if(t==null)return e;var i=e,s=r||bBe,c=typeof t=="number"?{smart_count:t}:t;if(c.smart_count!=null&&e){var l=a||wG,u=xG.call(e,Dy),d=n||"en",p=yBe(l,d),m=hBe(l,p,c.smart_count);i=uBe(u[m]||u[0])}return i=fBe.call(i,s,function(v,h){return!bG(c,h)||c[h]==null?v:c[h]}),i}o(WA,"transformPhrase");function ks(e){var t=e||{};this.phrases={},this.extend(t.phrases||{}),this.currentLocale=t.locale||"en";var n=t.allowMissing?WA:null;this.onMissingKey=typeof t.onMissingKey=="function"?t.onMissingKey:n,this.warn=t.warn||dBe,this.tokenRegex=vBe(t.interpolation),this.pluralRules=t.pluralRules||wG}o(ks,"Polyglot");ks.prototype.locale=function(e){return e&&(this.currentLocale=e),this.currentLocale};ks.prototype.extend=function(e,t){l0(BA(e||{}),function(n){var r=n[0],a=n[1],i=t?t+"."+r:r;typeof a=="object"?this.extend(a,i):this.phrases[i]=a},this)};ks.prototype.unset=function(e,t){typeof e=="string"?delete this.phrases[e]:l0(BA(e||{}),function(n){var r=n[0],a=n[1],i=t?t+"."+r:r;typeof a=="object"?this.unset(a,i):delete this.phrases[i]},this)};ks.prototype.clear=function(){this.phrases={}};ks.prototype.replace=function(e){this.clear(),this.extend(e)};ks.prototype.t=function(e,t){var n,r,a=t??{};if(typeof this.phrases[e]=="string")n=this.phrases[e];else if(typeof a._=="string")n=a._;else if(this.onMissingKey){var i=this.onMissingKey;r=i(e,a,this.currentLocale,this.tokenRegex,this.pluralRules)}else this.warn('Missing translation for key: "'+e+'"'),r=e;return typeof n=="string"&&(r=WA(n,a,this.currentLocale,this.tokenRegex,this.pluralRules)),r};ks.prototype.has=function(e){return bG(this.phrases,e)};ks.transformPhrase=o(function(t,n,r){return WA(t,n,r)},"transform");var xBe=ks;const l6=Qt(xBe),wBe=o((e,t="en",n=[{locale:"en",name:"English"}],r={})=>{let a=t;const i=e(t);if(i instanceof Promise)throw new Error(`The i18nProvider returned a Promise for the messages of the default locale (${t}). Please update your i18nProvider to return the messages of the default locale in a synchronous way.`);let s,c;Array.isArray(n)?(s=n,c=r):(s=[{locale:"en",name:"English"}],c=n);const l=new l6({locale:a,phrases:{"":"",...i},...c});let u=l.t.bind(l);return{translate:o((d,p={})=>u(d,p),"translate"),changeLocale:o(d=>Promise.resolve(e(d)).then(p=>{a=d;const m=new l6({locale:d,phrases:{"":"",...p},...r});u=m.t.bind(m)}),"changeLocale"),getLocale:o(()=>a,"getLocale"),getLocales:o(()=>s,"getLocales")}},"polyglotI18nProvider"),CBe=wBe(()=>dFe,"en",[{name:"en",value:"English"}],{allowMissing:!0}),SBe=V9(),jBe=o(e=>{const{authProvider:t,basename:n,catchAll:r,children:a,dashboard:i,dataProvider:s,disableTelemetry:c,error:l,i18nProvider:u=CBe,layout:d,loading:p,loginPage:m,authCallbackPage:v,notification:h,queryClient:y,requireAuth:C,store:w=SBe,ready:x,theme:b,lightTheme:S,darkTheme:$,defaultTheme:j,title:_="React Admin"}=e;return f.jsx(LV,{authProvider:t,basename:n,dataProvider:s,i18nProvider:u,store:w,queryClient:y,theme:b,lightTheme:S,darkTheme:$,defaultTheme:j,children:f.jsx(uFe,{layout:d,dashboard:i,disableTelemetry:c,catchAll:r,error:l,title:_,loading:p,loginPage:m,authCallbackPage:v,notification:h,requireAuth:C,ready:x,children:a})})},"Admin"),$Be=o(()=>{const e=Ar();let t="/";return km("/contacts/*",e.pathname)?t="/contacts":km("/companies/*",e.pathname)?t="/companies":km("/deals/*",e.pathname)&&(t="/deals"),f.jsx(Be,{component:"nav",sx:{flexGrow:1},children:f.jsx(eH,{position:"static",color:"primary",children:f.jsx(Yl,{variant:"dense",children:f.jsxs(Be,{flex:1,display:"flex",justifyContent:"space-between",children:[f.jsxs(Be,{display:"flex",alignItems:"center",children:[f.jsx(Be,{component:"img",sx:{marginRight:"1em",height:30},src:"https://upload.wikimedia.org/wikipedia/commons/a/a7/React-icon.svg",alt:"Bosch Logo"}),f.jsx(et,{component:"span",variant:"h5",children:"Atomic CRM"})]}),f.jsx(Be,{children:f.jsxs(GH,{value:t,"aria-label":"Navigation Tabs",indicatorColor:"secondary",textColor:"inherit",children:[f.jsx(Qu,{label:"Dashboard",component:Dr,to:"/",value:"/"}),f.jsx(Qu,{label:"Contacts",component:Dr,to:"/contacts",value:"/contacts"}),f.jsx(Qu,{label:"Companies",component:Dr,to:"/companies",value:"/companies"}),f.jsx(Qu,{label:"Deals",component:Dr,to:"/deals",value:"/deals"})]})}),f.jsxs(Be,{display:"flex",alignItems:"center",children:[f.jsx(rq,{}),f.jsx(YR,{children:f.jsx(oq,{})})]})]})})})})},"Header"),_Be=o(({children:e})=>f.jsxs(f.Fragment,{children:[f.jsx(uPe,{}),f.jsx($Be,{}),f.jsx(cPe,{sx:{maxWidth:{xl:1280}},children:f.jsx("main",{id:"main-content",children:f.jsx(gh,{FallbackComponent:dA,children:f.jsx(g.Suspense,{fallback:f.jsx(F1,{}),children:e})})})}),f.jsx(H5e,{interval:30*1e3})]}),"Layout");localStorage.setItem("username","Jane Doe");const kBe={login:o(({username:e})=>(localStorage.setItem("username",e),Promise.resolve()),"login"),logout:o(()=>(localStorage.removeItem("username"),Promise.resolve()),"logout"),checkError:o(()=>Promise.resolve(),"checkError"),checkAuth:o(()=>localStorage.getItem("username")?Promise.resolve():Promise.reject(),"checkAuth"),getPermissions:o(()=>Promise.resolve([]),"getPermissions"),getIdentity:o(()=>Promise.resolve({id:0,fullName:"Jane Doe",avatar:"data:image/jpeg;base64,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"}),"getIdentity")};var UA={},EBe=ht;Object.defineProperty(UA,"__esModule",{value:!0});var CG=UA.default=void 0,RBe=EBe(vt()),ABe=f;CG=UA.default=(0,RBe.default)((0,ABe.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m1.41 16.09V20h-2.67v-1.93c-1.71-.36-3.16-1.46-3.27-3.4h1.96c.1 1.05.82 1.87 2.65 1.87 1.96 0 2.4-.98 2.4-1.59 0-.83-.44-1.61-2.67-2.14-2.48-.6-4.18-1.62-4.18-3.67 0-1.72 1.39-2.84 3.11-3.21V4h2.67v1.95c1.86.45 2.79 1.86 2.85 3.39H14.3c-.05-1.11-.64-1.87-2.22-1.87-1.5 0-2.4.68-2.4 1.64 0 .84.65 1.39 2.67 1.91s4.18 1.39 4.18 3.91c-.01 1.83-1.38 2.83-3.12 3.16"}),"MonetizationOn");const HA=["Communication Services","Consumer Discretionary","Consumer Staples","Energy","Financials","Health Care","Industrials","Information Technology","Materials","Real Estate","Utilities"].map(e=>({id:e,name:e})),PBe=o(e=>{const{size:t="large"}=e,n=un(e);return n?f.jsx(Da,{src:n.logo,alt:n.name,sx:{bgcolor:"aliceblue","& img":{objectFit:"contain"}},imgProps:{className:t}}):null},"CompanyAvatar"),MBe=o(e=>{const[t,n]=g.useState(1),r=Ho(),a=un(e);return a?f.jsx(gp,{to:r({resource:"companies",id:a.id,type:"show"}),underline:"none",onMouseEnter:o(()=>n(3),"onMouseEnter"),onMouseLeave:o(()=>n(1),"onMouseLeave"),children:f.jsxs(Va,{sx:{height:200,width:195,display:"flex",flexDirection:"column",justifyContent:"space-between",padding:"1em"},elevation:t,children:[f.jsxs(Be,{display:"flex",flexDirection:"column",alignItems:"center",children:[f.jsx(PBe,{}),f.jsxs(Be,{textAlign:"center",marginTop:1,children:[f.jsx(et,{variant:"subtitle2",children:a.name}),f.jsx(TA,{color:"textSecondary",source:"sector",choices:HA})]})]}),f.jsxs(Be,{display:"flex",justifyContent:"space-around",width:"100%",children:[f.jsxs(Be,{display:"flex",alignItems:"center",children:[f.jsx(KR,{color:"disabled",sx:{mr:1}}),f.jsxs("div",{children:[f.jsx(et,{variant:"subtitle2",sx:{mb:-1},children:a.nb_contacts}),f.jsx(et,{variant:"caption",color:"textSecondary",children:a.nb_contacts>1?"contacts":"contact"})]})]}),f.jsxs(Be,{sx:{display:"flex",alignItems:"center"},children:[f.jsx(CG,{color:"disabled",sx:{mr:1}}),f.jsxs("div",{children:[f.jsx(et,{variant:"subtitle2",sx:{mb:-1},children:a.nb_deals}),f.jsx(et,{variant:"caption",color:"textSecondary",children:a.nb_deals>1?"deals":"deal"})]})]})]})]})}):null},"CompanyCard"),TBe=o((e,t)=>Array.from({length:e},(n,r)=>t(r)),"times"),OBe=o(()=>f.jsx(Be,{display:"flex",flexWrap:"wrap",width:1008,gap:1,children:TBe(15,e=>f.jsx(Va,{sx:{height:200,width:194,display:"flex",flexDirection:"column",backgroundColor:"grey[200]"}},e))}),"LoadingGridList"),zBe=o(()=>{const{data:e,error:t,isPending:n}=Jn();return n||t?null:f.jsx(Be,{display:"flex",flexWrap:"wrap",width:"100%",gap:1,children:e.map(r=>f.jsx(Qr,{value:r,children:f.jsx(MBe,{})},r.id))})},"LoadedGridList"),IBe=o(()=>{const{isPending:e}=Jn();return e?f.jsx(OBe,{}):f.jsx(zBe,{})},"ImageList");var qA={},LBe=ht;Object.defineProperty(qA,"__esModule",{value:!0});var VA=qA.default=void 0,DBe=LBe(vt()),NBe=f;VA=qA.default=(0,DBe.default)((0,NBe.jsx)("path",{d:"M12 7V3H2v18h20V7zM6 19H4v-2h2zm0-4H4v-2h2zm0-4H4V9h2zm0-4H4V5h2zm4 12H8v-2h2zm0-4H8v-2h2zm0-4H8V9h2zm0-4H8V5h2zm10 12h-8v-2h2v-2h-2v-2h2v-2h-2V9h8zm-2-8h-2v2h2zm0 4h-2v2h2z"}),"Business");var GA={},FBe=ht;Object.defineProperty(GA,"__esModule",{value:!0});var SG=GA.default=void 0,BBe=FBe(vt()),WBe=f;SG=GA.default=(0,BBe.default)((0,WBe.jsx)("path",{d:"M20 8h-3V4H3c-1.1 0-2 .9-2 2v11h2c0 1.66 1.34 3 3 3s3-1.34 3-3h6c0 1.66 1.34 3 3 3s3-1.34 3-3h2v-5zM6 18.5c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5m13.5-9 1.96 2.5H17V9.5zm-1.5 9c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5"}),"LocalShipping");var KA={},UBe=ht;Object.defineProperty(KA,"__esModule",{value:!0});var JA=KA.default=void 0,HBe=UBe(vt()),qBe=f;JA=KA.default=(0,HBe.default)((0,qBe.jsx)("path",{d:"M16.5 12c1.38 0 2.49-1.12 2.49-2.5S17.88 7 16.5 7C15.12 7 14 8.12 14 9.5s1.12 2.5 2.5 2.5M9 11c1.66 0 2.99-1.34 2.99-3S10.66 5 9 5C7.34 5 6 6.34 6 8s1.34 3 3 3m7.5 3c-1.83 0-5.5.92-5.5 2.75V19h11v-2.25c0-1.83-3.67-2.75-5.5-2.75M9 13c-2.33 0-7 1.17-7 3.5V19h7v-2.25c0-.85.33-2.34 2.37-3.47C10.5 13.1 9.66 13 9 13"}),"SupervisorAccount");const YA=[{id:1,name:"1 employee"},{id:10,name:"2-9 employees"},{id:50,name:"10-49 employees"},{id:250,name:"50-249 employees"},{id:500,name:"250 or more employees"}],VBe=o(()=>{const{identity:e}=Go();return f.jsxs(Be,{width:"13em",minWidth:"13em",order:-1,mr:2,mt:5,children:[f.jsx(cV,{hiddenLabel:!0}),f.jsx(tl,{label:"Size",icon:f.jsx(VA,{}),children:YA.map(t=>f.jsx(oa,{label:t.name,value:{size:t.id}},t.id))}),f.jsx(tl,{label:"Sector",icon:f.jsx(SG,{}),children:HA.map(t=>f.jsx(oa,{label:t.name,value:{sector:t.id}},t.id))}),f.jsx(tl,{label:"Account manager",icon:f.jsx(JA,{}),children:f.jsx(oa,{label:"Me",value:{sales_id:e&&e.id}})})]})},"CompanyListFilter"),GBe=o(()=>{const{identity:e}=Go();return e?f.jsx(TV,{actions:f.jsx(KBe,{}),aside:f.jsx(VBe,{}),filterDefaultValues:{sales_id:e==null?void 0:e.id},pagination:f.jsx(RA,{rowsPerPageOptions:[15,25,50,100]}),perPage:25,sort:{field:"name",order:"ASC"},component:"div",children:f.jsx(IBe,{})}):null},"CompanyList"),KBe=o(()=>f.jsxs(zg,{children:[f.jsx(gA,{}),f.jsx(L1,{variant:"contained",label:"New Company",sx:{marginLeft:2}})]}),"CompanyListActions"),jG=o(()=>f.jsxs(f.Fragment,{children:[f.jsx(Wn,{source:"name",validate:cs()}),f.jsxs(Oa,{direction:"row",children:[f.jsx(pd,{source:"sector",choices:HA,sx:{width:200}}),f.jsx(pd,{source:"size",choices:YA,sx:{ml:2,width:200}})]}),f.jsx(pa,{sx:{mb:2,width:"100%"}}),f.jsx(Wn,{source:"address",helperText:!1}),f.jsxs(mi,{container:!0,spacing:2,children:[f.jsx(mi,{item:!0,xs:12,sm:4,children:f.jsx(Wn,{source:"city"})}),f.jsx(mi,{item:!0,xs:12,sm:4,children:f.jsx(Wn,{source:"zipcode"})}),f.jsx(mi,{item:!0,xs:12,sm:4,children:f.jsx(Wn,{source:"stateAbbr"})})]}),f.jsx(pa,{sx:{mb:2,width:"100%"}}),f.jsx(Wn,{source:"website",helperText:!1}),f.jsx(Wn,{source:"linkedIn",helperText:!1}),f.jsx(Wn,{source:"logo"}),f.jsx(pa,{sx:{mb:2,width:"100%"}}),f.jsxs(Oa,{direction:"row",children:[f.jsx(Wn,{source:"phone_number",helperText:!1,sx:{width:200}}),f.jsx(E3,{source:"sales_id",reference:"sales",children:f.jsx(pd,{label:"Account manager",helperText:!1,optionText:o(e=>`${e.first_name} ${e.last_name}`,"optionText"),sx:{width:200,ml:2}})})]})]}),"CompanyForm"),JBe=o(()=>f.jsx(cNe,{actions:!1,redirect:"show",children:f.jsxs(rp,{children:[f.jsx(Yo,{children:f.jsxs(Oa,{direction:"row",children:[f.jsx(Da,{sx:{mt:1},children:f.jsx(VA,{})}),f.jsx(Be,{ml:2,flex:"1",maxWidth:796,children:f.jsx(jG,{})})]})}),f.jsx(Lg,{})]})}),"CompanyCreate");var QA={},YBe=ht;Object.defineProperty(QA,"__esModule",{value:!0});var $G=QA.default=void 0,QBe=YBe(vt()),XBe=f;$G=QA.default=(0,QBe.default)((0,XBe.jsx)("path",{d:"M15 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4m-9-2V7H4v3H1v2h3v3h2v-3h3v-2zm9 4c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4"}),"PersonAdd");const Wg=o(e=>{const t=un(e);return t?f.jsxs(Da,{src:t.avatar,children:[t.first_name.charAt(0),t.last_name.charAt(0)]}):null},"Avatar"),ZBe=o(e=>e==="cold"?"#7dbde8":e==="warm"?"#e8cb7d":e==="hot"?"#e88b7d":e==="in-contract"?"#a4e87d":"#000","getColorFromStatus"),zo=o(({status:e})=>f.jsx(Be,{marginLeft:.5,width:10,height:10,display:"inline-block",borderRadius:"5px",bgcolor:ZBe(e),component:"span"}),"Status"),eWe=o(e=>{const t=un();return t?f.jsx(A3,{record:t,...e,style:{backgroundColor:t.color,border:0},component:"span"}):null},"ColoredChipField"),_G=o(()=>f.jsx(SV,{sx:{display:"inline-block"},resource:"contacts",source:"tags",reference:"tags",children:f.jsx(n0,{linkType:!1,children:f.jsx(eWe,{source:"name",variant:"outlined",size:"small"})})}),"TagsList"),u6={medium:42,small:20},XA=o(({size:e="medium"})=>{const t=un();return!t||!t.logo?null:f.jsx(Be,{component:"img",src:t.logo,alt:t.name,title:t.name,width:u6[e],height:u6[e],sx:{objectFit:"contain"}})},"LogoField"),kG=o(({link:e="edit"})=>{const t=un();return t?f.jsxs(Be,{ml:4,width:250,minWidth:250,children:[f.jsx(Be,{textAlign:"center",mb:2,children:e==="edit"?f.jsx(Mq,{label:"Edit Company"}):f.jsx(WR,{label:"Show Company"})}),f.jsx(et,{variant:"subtitle2",children:"Company info"}),f.jsx(pa,{}),f.jsx(Be,{mt:2,children:f.jsxs(et,{variant:"body2",children:[t.website&&f.jsxs(f.Fragment,{children:["Website:"," ",f.jsx(Ah,{href:t.website,children:t.website})]}),t.linkedIn&&f.jsxs(f.Fragment,{children:[f.jsx("br",{}),"LinkedIn:"," ",f.jsx(Ah,{href:t.linkedIn,children:"LinkedIn"})]})]})}),f.jsxs(Be,{mt:1,children:[f.jsx(Gr,{source:"phone_number"})," ",f.jsx(et,{variant:"body2",color:"textSecondary",component:"span",children:"Main Address"})]}),f.jsxs(Be,{mt:1,mb:3,children:[f.jsx(Gr,{source:"address"}),f.jsx("br",{}),f.jsx(Gr,{source:"city"})," ",f.jsx(Gr,{source:"zipcode"})," ",f.jsx(Gr,{source:"stateAbbr"})]}),f.jsx(et,{variant:"subtitle2",children:"Background"}),f.jsx(pa,{}),f.jsxs(Be,{mt:1,children:[f.jsx(et,{variant:"body2",color:"textSecondary",component:"span",children:"Added on"})," ",f.jsx(wf,{source:"created_at",options:{year:"numeric",month:"long",day:"numeric"},color:"textSecondary"}),f.jsx("br",{}),f.jsx(et,{component:"span",variant:"body2",color:"textSecondary",children:"Followed by"})," ",f.jsx(Mi,{source:"sales_id",reference:"sales",children:f.jsx(MA,{source:"last_name",render:o(n=>`${n.first_name} ${n.last_name}`,"render")})})]})]}):null},"CompanyAside"),T3=["opportunity","proposal-sent","in-negociation","won","lost","delayed"],EG={opportunity:"Opportunity","proposal-sent":"Proposal Sent","in-negociation":"In Negociation",won:"Won",lost:"Lost",delayed:"Delayed"},Bft=T3.map(e=>({id:e,name:EG[e]})),Wft=o(e=>{const t=e.reduce((n,r)=>(n[r.stage].push(r),n),T3.reduce((n,r)=>({...n,[r]:[]}),{}));return T3.forEach(n=>{t[n]=t[n].sort((r,a)=>r.index-a.index)}),t},"getDealsByStage"),tWe=o(()=>f.jsx(YB,{children:f.jsx(nWe,{})}),"CompanyShow"),nWe=o(()=>{const{record:e,isPending:t}=QB(),[n,r]=g.useState(0),a=o((i,s)=>{r(s)},"handleTabChange");return t||!e?null:f.jsxs(Be,{mt:2,display:"flex",children:[f.jsx(Be,{flex:"1",children:f.jsx($o,{children:f.jsxs(Yo,{children:[f.jsxs(Be,{display:"flex",mb:1,children:[f.jsx(XA,{}),f.jsxs(Be,{ml:2,flex:"1",children:[f.jsx(et,{variant:"h5",children:e.name}),f.jsxs(et,{variant:"body2",children:[f.jsx(Gr,{source:"sector"}),e.size&&", ",f.jsx(TA,{source:"size",choices:YA})]})]})]}),f.jsxs(GH,{value:n,indicatorColor:"primary",textColor:"primary",onChange:a,children:[e.nb_contacts&&f.jsx(Qu,{label:e.nb_contacts===1?"1 Contact":`${e.nb_contacts} Contacts`}),e.nb_deals&&f.jsx(Qu,{label:e.nb_deals===1?"1 deal":`${e.nb_deals} Deals`})]}),f.jsx(pa,{}),f.jsx(d6,{value:n,index:0,children:f.jsxs(r0,{reference:"contacts",target:"company_id",sort:{field:"last_name",order:"ASC"},children:[f.jsxs(Oa,{direction:"row",justifyContent:"flex-end",spacing:2,mt:1,children:[f.jsx(tq,{fields:["last_name","first_name","last_seen"]}),f.jsx(aWe,{})]}),f.jsx(rWe,{})]})}),f.jsx(d6,{value:n,index:1,children:f.jsx(r0,{reference:"deals",target:"company_id",sort:{field:"name",order:"ASC"},children:f.jsx(oWe,{})})})]})})}),f.jsx(kG,{})]})},"CompanyShowContent"),d6=o(e=>{const{children:t,value:n,index:r,...a}=e;return f.jsx("div",{role:"tabpanel",hidden:n!==r,id:`wrapped-tabpanel-${r}`,"aria-labelledby":`wrapped-tab-${r}`,...a,children:t})},"TabPanel"),rWe=o(()=>{const{data:e,error:t,isPending:n}=Jn();if(n||t)return null;const r=Date.now();return f.jsx(zc,{dense:!0,sx:{pt:0},children:e.map(a=>f.jsx(Qr,{value:a,children:f.jsxs(Kl,{button:!0,component:Dr,to:`/contacts/${a.id}/show`,children:[f.jsx(z1,{children:f.jsx(Wg,{})}),f.jsx(_s,{primary:`${a.first_name} ${a.last_name}`,secondary:f.jsxs(f.Fragment,{children:[a.title,a.nb_notes?` - ${a.nb_notes} note${a.nb_notes>1?"s":""}`:"",a.nb_tasks?` - ${a.nb_tasks} task${a.nb_tasks>1?"s":""}`:"","   ",f.jsx(_G,{})]})}),f.jsx(Ic,{children:f.jsxs(et,{variant:"body2",color:"textSecondary",component:"span",children:["last activity"," ",vg(a.last_seen,r)," ago"," ",f.jsx(zo,{status:a.status})]})})]})},a.id))})},"ContactsIterator"),aWe=o(()=>{const e=un();return f.jsx(gn,{component:Dr,to:"/contacts/create",state:e?{record:{company_id:e.id}}:void 0,color:"primary",size:"small",startIcon:f.jsx($G,{}),children:"Add contact"})},"CreateRelatedContactButton"),oWe=o(()=>{const{data:e,error:t,isPending:n}=Jn();if(n||t)return null;const r=Date.now();return f.jsx(Be,{children:f.jsx(zc,{dense:!0,children:e.map(a=>f.jsxs(Kl,{button:!0,component:Dr,to:`/deals/${a.id}/show`,children:[f.jsx(_s,{primary:a.name,secondary:f.jsxs(f.Fragment,{children:[EG[a.stage],","," ",a.amount.toLocaleString("en-US",{notation:"compact",style:"currency",currency:"USD",currencyDisplay:"narrowSymbol",minimumSignificantDigits:3}),", ",a.type]})}),f.jsx(Ic,{children:f.jsxs(et,{variant:"body2",color:"textSecondary",component:"span",children:["last activity"," ",vg(a.updated_at,r)," ago"," "]})})]},a.id))})})},"DealsIterator"),iWe=o(()=>f.jsx(mNe,{aside:f.jsx(kG,{link:"show"}),actions:!1,redirect:"show",children:f.jsxs(rp,{children:[f.jsx(Yo,{children:f.jsxs(Oa,{direction:"row",children:[f.jsx(Da,{sx:{mt:1},children:f.jsx(XA,{})}),f.jsx(Be,{ml:2,flex:"1",maxWidth:796,children:f.jsx(jG,{})})]})}),f.jsx(Lg,{})]})}),"CompanyEdit"),sWe={list:GBe,create:JBe,edit:iWe,show:tWe};var ZA={},cWe=ht;Object.defineProperty(ZA,"__esModule",{value:!0});var eP=ZA.default=void 0,lWe=cWe(vt()),uWe=f;eP=ZA.default=(0,lWe.default)((0,uWe.jsx)("path",{d:"M13 7h-2v4H7v2h4v4h2v-4h4v-2h-4zm-1-5C6.49 2 2 6.49 2 12s4.49 10 10 10 10-4.49 10-10S17.51 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8"}),"ControlPoint");var tP={},dWe=ht;Object.defineProperty(tP,"__esModule",{value:!0});var nP=tP.default=void 0,fWe=dWe(vt()),pWe=f;nP=tP.default=(0,fWe.default)((0,pWe.jsx)("path",{d:"M3 17.25V21h3.75L17.81 9.94l-3.75-3.75zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34a.9959.9959 0 0 0-1.41 0l-1.83 1.83 3.75 3.75z"}),"Edit");const KC=["#eddcd2","#fff1e6","#fde2e4","#fad2e1","#c5dedd","#dbe7e4","#f0efeb","#d6e2e9","#bcd4e6","#99c1de"],mWe=o(()=>{const e=un(),[t,n]=g.useState(!1),[r,a]=g.useState(""),[i,s]=g.useState(KC[0]),[c,l]=g.useState(null),[u,d]=g.useState(!1),{data:p,isPending:m}=Ei("tags",{pagination:{page:1,perPage:10},sort:{field:"name",order:"ASC"}}),{data:v,isPending:h}=nve("tags",{ids:e==null?void 0:e.tags},{enabled:e&&e.tags&&e.tags.length>0}),[y]=gg(),[C]=zx(),w=p&&e&&p.filter(E=>!e.tags.includes(E.id)),x=o(E=>{l(E.currentTarget)},"handleOpen"),b=o(()=>{l(null)},"handleClose"),S=o(E=>{if(!e)throw new Error("No contact record found");const A=e.tags.filter(P=>P!==E);y("contacts",{id:e.id,data:{tags:A},previousData:e})},"handleDeleteTag"),$=o(E=>{if(!e)throw new Error("No contact record found");const A=[...e.tags,E];y("contacts",{id:e.id,data:{tags:A},previousData:e}),l(null)},"handleAddTag"),j=o(()=>{n(!0),l(null),d(!1)},"handleOpenCreateDialog"),_=o(E=>{a(E.target.value)},"handleNewTagNameChange"),k=o(E=>{if(E.preventDefault(),!e)throw new Error("No contact record found");d(!0),C("tags",{data:{name:r,color:i}},{onSuccess:o(A=>{y("contacts",{id:e.id,data:{tags:[...e.tags,A.id]},previousData:e},{onSuccess:o(()=>{a(""),s(KC[0]),n(!1)},"onSuccess")})},"onSuccess")})},"handleCreateTag");return h||m?null:f.jsxs(f.Fragment,{children:[v==null?void 0:v.map(E=>f.jsx(Be,{mt:1,mb:1,children:f.jsx(wi,{size:"small",variant:"outlined",onDelete:o(()=>S(E.id),"onDelete"),label:E.name,style:{backgroundColor:E.color,border:0}})},E.id)),f.jsx(Be,{mt:1,children:f.jsx(wi,{icon:f.jsx(eP,{}),size:"small",variant:"outlined",onClick:x,label:"Add tag",color:"primary"})}),f.jsxs(Jl,{open:!!c,onClose:b,anchorEl:c,children:[w==null?void 0:w.map(E=>f.jsx(Gn,{onClick:o(()=>$(E.id),"onClick"),children:f.jsx(wi,{size:"small",variant:"outlined",label:E.name,style:{backgroundColor:E.color,border:0},onClick:o(()=>$(E.id),"onClick")})},E.id)),f.jsx(Gn,{onClick:j,children:f.jsx(wi,{icon:f.jsx(nP,{}),size:"small",variant:"outlined",onClick:j,color:"primary",label:"Create new tag"})})]}),f.jsx(Eg,{open:t,onClose:o(()=>n(!1),"onClose"),"aria-labelledby":"form-dialog-title",children:f.jsxs("form",{onSubmit:k,children:[f.jsx(Pg,{id:"form-dialog-title",children:"Create a new tag"}),f.jsxs(Ag,{children:[f.jsx(ys,{autoFocus:!0,label:"Tag name",value:r,onChange:_,sx:{mt:1}}),f.jsx(Be,{display:"flex",flexWrap:"wrap",width:230,mt:2,children:KC.map(E=>f.jsx(hWe,{color:E,selected:E===i,handleClick:o(()=>{s(E)},"handleClick")},E))})]}),f.jsxs(Rg,{children:[f.jsx(gn,{onClick:o(()=>n(!1),"onClick"),color:"primary",children:"Cancel"}),f.jsx(gn,{type:"submit",color:"primary",disabled:u,children:"Add tag"})]})]})})]})},"TagsListEdit"),hWe=o(({color:e,handleClick:t,selected:n})=>f.jsx(Be,{component:"button",type:"button",sx:{bgcolor:e,width:30,height:30,borderRadius:15,border:n?"2px solid grey":"none",display:"inline-block",margin:1},onClick:t}),"RoundButton"),gWe=["None","Email","Demo","Lunch","Meeting","Follow-up","Thank you","Ship"],vWe=o(()=>{const e=un(),[t,n]=g.useState(!1),r=o(()=>{n(!0)},"handleOpen");return f.jsxs(f.Fragment,{children:[f.jsx(Be,{mt:1,children:f.jsx(wi,{icon:f.jsx(eP,{}),size:"small",variant:"outlined",onClick:r,label:"Add task",color:"primary"})}),f.jsx(uE,{resource:"tasks",record:{type:"None",contact_id:e==null?void 0:e.id,due_date:new Date().toISOString().slice(0,10)},mutationOptions:{onSuccess:o(()=>n(!1),"onSuccess")},children:f.jsx(Eg,{open:t,onClose:o(()=>n(!1),"onClose"),"aria-labelledby":"form-dialog-title",fullWidth:!0,disableRestoreFocus:!0,maxWidth:"sm",children:f.jsxs(rp,{children:[f.jsxs(Pg,{id:"form-dialog-title",children:["Create a new task for"," ",f.jsx(fB,{record:e,resource:"contacts"})]}),f.jsxs(Ag,{children:[f.jsx(Wn,{autoFocus:!0,source:"text",label:"Description",validate:cs(),multiline:!0}),f.jsxs(Oa,{direction:"row",spacing:1,mt:2,children:[f.jsx(NDe,{source:"due_date",validate:cs()}),f.jsx(pd,{source:"type",validate:cs(),choices:gWe.map(a=>({id:a,name:a}))})]})]}),f.jsx(Rg,{sx:{p:0},children:f.jsxs(Lg,{sx:{width:"100%",justifyContent:"flex-end",gap:1},children:[f.jsx(gn,{onClick:o(()=>n(!1),"onClick"),children:"Cancel"}),f.jsx(Dq,{onClick:o(()=>n(!1),"onClick")})]})})]})})})]})},"AddTask");var rP={},yWe=ht;Object.defineProperty(rP,"__esModule",{value:!0});var RG=rP.default=void 0,bWe=yWe(vt()),xWe=f;RG=rP.default=(0,bWe.default)((0,xWe.jsx)("path",{d:"M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2m0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2m0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2"}),"MoreVert");const wWe=o(({task:e,showContact:t})=>{const[n,r]=g.useState(null),a=!!n,i=o(m=>{r(m.currentTarget)},"handleClick"),s=o(()=>{r(null)},"handleClose"),[c,{isPending:l}]=gg(),{handleDelete:u}=aB({record:e,redirect:!1}),d=o(()=>()=>{c("tasks",{id:e.id,data:{done_date:e.done_date?void 0:new Date().toISOString()},previousData:e})},"handleCheck"),p=`checkbox-list-label-${e.id}`;return f.jsx(Kl,{secondaryAction:f.jsxs(f.Fragment,{children:[f.jsx(cn,{edge:"end","aria-label":"task actions","aria-controls":a?"basic-menu":void 0,onClick:i,"aria-haspopup":"true","aria-expanded":a?"true":void 0,size:"small",children:f.jsx(RG,{})}),f.jsxs(Jl,{id:"basic-menu",anchorEl:n,open:a,onClose:s,MenuListProps:{"aria-labelledby":"basic-button"},children:[f.jsx(Gn,{onClick:o(()=>{c("tasks",{id:e.id,data:{due_date:new Date(Date.now()+24*60*60*1e3).toISOString().slice(0,10)}}),s()},"onClick"),children:"Postpone to tomorrow"}),f.jsx(Gn,{onClick:o(()=>{c("tasks",{id:e.id,data:{due_date:new Date(Date.now()+7*24*60*60*1e3).toISOString().slice(0,10)}}),s()},"onClick"),children:"Postpone to next week"}),f.jsx(Gn,{onClick:u,children:"Delete"})]})]}),disableGutters:!0,sx:{pr:3},children:f.jsxs(TR,{role:void 0,onClick:d(),dense:!0,disabled:l,sx:{pl:0,pr:"0!important",pt:0,pb:0,alignItems:"flex-start"},children:[f.jsx(Il,{sx:{minWidth:"auto"},children:f.jsx(bf,{edge:"start",checked:!!e.done_date,tabIndex:-1,disableRipple:!0,inputProps:{"aria-labelledby":p},sx:{pt:.3}})}),f.jsxs(_s,{sx:{textDecoration:e.done_date?"line-through":"none"},id:p,children:[e.type&&e.type!=="None"&&f.jsxs(f.Fragment,{children:[f.jsx("strong",{children:e.type})," "]}),e.text,f.jsxs(et,{variant:"body2",color:"textSecondary",component:"div",children:["due ",f.jsx(wf,{source:"due_date",record:e}),t&&f.jsxs(f.Fragment,{children:[" (Re:"," ",f.jsx(Mi,{source:"contact_id",reference:"contacts",record:e,link:"show"}),")"]})]})]})]})})},"Task"),AG=o(({showContact:e})=>{const{data:t,error:n,isPending:r}=Jn();if(r||n||t.length===0)return null;const a=t.filter(i=>!i.done_date||m2e(new Date(i.done_date),new Date(Date.now()-5*60*1e3)));return f.jsx(zc,{dense:!0,children:a.map(i=>f.jsx(wWe,{task:i,showContact:e},i.id))})},"TasksIterator"),PG=[{id:"male",name:"He/Him"},{id:"female",name:"She/Her"},{id:"nonbinary",name:"They/Them"}],MG=o(({link:e="edit"})=>{const t=un();return t?f.jsxs(Be,{ml:4,width:250,minWidth:250,children:[f.jsx(Be,{textAlign:"center",mb:2,children:e==="edit"?f.jsx(Mq,{label:"Edit Contact"}):f.jsx(WR,{label:"Show Contact"})}),f.jsx(et,{variant:"subtitle2",children:"Personal info"}),f.jsx(pa,{}),f.jsx(yV,{sx:{mt:2,display:"block"},source:"email"}),t.phone_number1&&f.jsxs(Be,{children:[f.jsx(Gr,{source:"phone_number1"})," ",f.jsx(et,{variant:"body2",color:"textSecondary",component:"span",children:"Work"})]}),t.phone_number2&&f.jsxs(Be,{children:[f.jsx(Gr,{source:"phone_number2"})," ",f.jsx(et,{variant:"body2",color:"textSecondary",component:"span",children:"Home"})]}),f.jsx(TA,{source:"gender",choices:PG}),f.jsx(et,{variant:"subtitle2",mt:2,children:"Background"}),f.jsx(pa,{}),f.jsx(et,{variant:"body2",mt:2,children:t&&t.background}),f.jsxs(Be,{mt:1,mb:3,children:[f.jsx(et,{component:"span",variant:"body2",color:"textSecondary",children:"Added on"})," ",f.jsx(wf,{source:"first_seen",options:{year:"numeric",month:"long",day:"numeric"},color:"textSecondary"}),f.jsx("br",{}),f.jsx(et,{component:"span",variant:"body2",color:"textSecondary",children:"Last seen on"})," ",f.jsx(wf,{source:"last_seen",options:{year:"numeric",month:"long",day:"numeric"},color:"textSecondary"}),f.jsx("br",{}),f.jsx(et,{component:"span",variant:"body2",color:"textSecondary",children:"Followed by"})," ",f.jsx(Mi,{source:"sales_id",reference:"sales",children:f.jsx(MA,{source:"last_name",render:o(n=>`${n.first_name} ${n.last_name}`,"render")})})]}),f.jsxs(Be,{mb:3,children:[f.jsx(et,{variant:"subtitle2",children:"Tags"}),f.jsx(pa,{}),f.jsx(mWe,{})]}),f.jsxs(Be,{children:[f.jsx(et,{variant:"subtitle2",children:"Tasks"}),f.jsx(pa,{}),f.jsx(r0,{target:"contact_id",reference:"tasks",sort:{field:"due_date",order:"ASC"},children:f.jsx(AG,{})}),f.jsx(vWe,{})]})]}):null},"ContactAside"),CWe=o(({status:e,setStatus:t,sx:n})=>f.jsxs(ys,{select:!0,value:e,onChange:o(r=>{t(r.target.value)},"onChange"),variant:"filled",label:!1,margin:"none",size:"small",sx:n,children:[f.jsxs(Gn,{value:"cold",children:["Cold ",f.jsx(zo,{status:"cold"})]}),f.jsxs(Gn,{value:"warm",children:["Warm ",f.jsx(zo,{status:"warm"})]}),f.jsxs(Gn,{value:"hot",children:["Hot ",f.jsx(zo,{status:"hot"})]}),f.jsxs(Gn,{value:"in-contract",children:["In Contract ",f.jsx(zo,{status:"in-contract"})]})]}),"StatusSelector"),SWe=o(({showStatus:e,reference:t})=>{const n=Nt(),r=un(),{refetch:a}=Jn(),[i,s]=g.useState(""),[c,l]=g.useState(r&&r.status),[u,d]=g.useState(jWe()),[p,{isPending:m}]=zx(),[v]=gg(),h=Kn(),{identity:y}=Go();if(!r||!y)return null;const C=o(w=>{w.preventDefault();const x={[$We[t]]:r.id,sales_id:y.id,date:u,text:i};return e&&(x.status=c),p(n,{data:x},{onSuccess:o(()=>{s(""),h("Note added successfully"),a(),v(t,{id:r&&r.id,data:{last_seen:u,status:c},previousData:r})},"onSuccess")}),!1},"handleSubmit");return f.jsx(Be,{mt:4,mb:1,children:f.jsxs("form",{onSubmit:C,children:[f.jsx(ys,{label:"Add a note",variant:"filled",size:"small",multiline:!0,value:i,onChange:o(w=>s(w.target.value),"onChange"),rows:3}),f.jsxs(Be,{display:"flex",justifyContent:"space-between",mt:1,children:[f.jsx("span",{children:i?f.jsxs(Oa,{direction:"row",children:[e&&f.jsx(CWe,{status:c,setStatus:l,sx:{marginRight:"1em","& .MuiFilledInput-input":{paddingTop:"10px"},width:150}}),f.jsx(ys,{type:"datetime-local",variant:"filled",size:"small",margin:"none",value:u,onChange:o(w=>{d(w.target.value)},"onChange"),sx:{marginRight:"1em","& .MuiFilledInput-input":{paddingTop:"10px"}}})]}):null}),f.jsx(gn,{type:"submit",variant:"contained",color:"primary",disabled:!i||m,children:"Add this note"})]})]})})},"NewNote"),jWe=o(()=>{const e=new Date;return e.setMinutes(e.getMinutes()-e.getTimezoneOffset()),e.toISOString().slice(0,-1)},"getCurrentDate"),$We={contacts:"contact_id",deals:"deal_id"},_We=o(({showStatus:e,note:t})=>{const[n,r]=g.useState(!1),[a,i]=g.useState(!1),[s,c]=g.useState(t.text),l=Nt(),u=Kn(),[d,{isPending:p}]=gg(),[m]=_E(l,{id:t.id,previousData:t},{mutationMode:"undoable",onSuccess:o(()=>{u("Note deleted",{type:"info",undoable:!0})},"onSuccess")}),v=o(()=>{m()},"handleDelete"),h=o(()=>{i(!0)},"handleEnterEditMode"),y=o(()=>{i(!1),c(t.text),r(!1)},"handleCancelEdit"),C=o(x=>{c(x.target.value)},"handleTextChange"),w=o(x=>{x.preventDefault(),d(l,{id:t.id,data:{text:s},previousData:t},{onSuccess:o(()=>{i(!1),c(t.text),r(!1)},"onSuccess")})},"handleNoteUpdate");return f.jsxs(Be,{mb:2,onMouseEnter:o(()=>r(!0),"onMouseEnter"),onMouseLeave:o(()=>r(!1),"onMouseLeave"),children:[f.jsxs(Be,{mb:1,color:"text.secondary",children:[f.jsx(Mi,{record:t,resource:"contactNotes",source:"sales_id",reference:"sales",children:f.jsx(Gr,{source:"first_name",variant:"body1"})})," ",f.jsxs(et,{component:"span",variant:"body1",children:["added a note on"," "]}),f.jsx(wf,{source:"date",record:t,variant:"body1",showTime:!0,locales:"en",options:{dateStyle:"full",timeStyle:"short"}})," ",e&&f.jsx(zo,{status:t.status})]}),a?f.jsxs("form",{onSubmit:w,children:[f.jsx(O1,{value:s,onChange:C,fullWidth:!0,multiline:!0,sx:{paddingTop:"16px",paddingLeft:"14px",paddingRight:"60px",paddingBottom:"14px",lineHeight:1.3},autoFocus:!0}),f.jsxs(Be,{display:"flex",justifyContent:"flex-end",mt:1,children:[f.jsx(gn,{sx:{mr:1},onClick:y,color:"primary",children:"Cancel"}),f.jsx(gn,{type:"submit",color:"primary",variant:"contained",disabled:p,children:"Update Note"})]})]}):f.jsxs(Be,{sx:{bgcolor:"#edf3f0",padding:"0 1em",borderRadius:"10px",display:"flex",alignItems:"stretch",marginBottom:1},children:[f.jsx(Be,{flex:1,children:t.text.split(` +`).map((x,b)=>f.jsx(Be,{component:"p",fontFamily:"fontFamily",fontSize:"body1.fontSize",lineHeight:1.3,marginBottom:2.4,children:x},b))}),f.jsxs(Be,{sx:{marginLeft:2,display:"flex",flexDirection:"column",justifyContent:"space-around",visibility:n?"visible":"hidden"},children:[f.jsx(Fo,{title:"Edit note",children:f.jsx(cn,{size:"small",onClick:h,children:f.jsx(nP,{})})}),f.jsx(Fo,{title:"Delete note",children:f.jsx(cn,{size:"small",onClick:v,children:f.jsx(hp,{})})})]})]})]})},"Note$1"),kWe=o(({showStatus:e,reference:t})=>{const{data:n,error:r,isPending:a}=Jn();return a||r?null:f.jsxs(f.Fragment,{children:[f.jsx(SWe,{showStatus:e,reference:t}),f.jsx(Be,{mt:"0.5em",children:n.map((i,s)=>f.jsx(_We,{note:i,isLast:s===n.length-1,showStatus:e},s))})]})},"NotesIterator"),EWe=o(()=>f.jsx(YB,{children:f.jsx(RWe,{})}),"ContactShow"),RWe=o(()=>{const{record:e,isPending:t}=QB();return t||!e?null:f.jsxs(Be,{mt:2,display:"flex",children:[f.jsx(Be,{flex:"1",children:f.jsx($o,{children:f.jsxs(Yo,{children:[f.jsxs(Be,{display:"flex",children:[f.jsx(Wg,{}),f.jsxs(Be,{ml:2,flex:"1",children:[f.jsxs(et,{variant:"h5",children:[e.first_name," ",e.last_name]}),f.jsxs(et,{variant:"body2",component:"div",children:[e.title," at"," ",f.jsx(Mi,{source:"company_id",reference:"companies",link:"show",children:f.jsx(Gr,{source:"name"})})]})]}),f.jsx(Be,{children:f.jsx(Mi,{source:"company_id",reference:"companies",link:"show",children:f.jsx(XA,{})})})]}),f.jsx(r0,{target:"contact_id",reference:"contactNotes",sort:{field:"date",order:"DESC"},children:f.jsx(kWe,{showStatus:!0,reference:"contacts"})})]})})}),f.jsx(MG,{})]})},"ContactShowContent");var aP={},AWe=ht;Object.defineProperty(aP,"__esModule",{value:!0});var TG=aP.default=void 0,PWe=AWe(vt()),f6=f;TG=aP.default=(0,PWe.default)([(0,f6.jsx)("path",{d:"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2M12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8"},"0"),(0,f6.jsx)("path",{d:"M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z"},"1")],"AccessTime");var oP={},MWe=ht;Object.defineProperty(oP,"__esModule",{value:!0});var OG=oP.default=void 0,TWe=MWe(vt()),OWe=f;OG=oP.default=(0,TWe.default)((0,OWe.jsx)("path",{d:"m16 6 2.29 2.29-4.88 4.88-4-4L2 16.59 3.41 18l6-6 4 4 6.3-6.29L22 12V6z"}),"TrendingUp");var iP={},zWe=ht;Object.defineProperty(iP,"__esModule",{value:!0});var zG=iP.default=void 0,IWe=zWe(vt()),LWe=f;zG=iP.default=(0,IWe.default)((0,LWe.jsx)("path",{d:"m21.41 11.58-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42M5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7"}),"LocalOffer");const DWe=o(()=>{const{identity:e}=Go(),{data:t}=Ei("tags",{pagination:{page:1,perPage:10},sort:{field:"name",order:"ASC"}});return f.jsxs(Be,{width:"13em",minWidth:"13em",order:-1,mr:2,mt:5,children:[f.jsx(cV,{hiddenLabel:!0,sx:{display:"block","& .MuiFilledInput-root":{width:"100%"}}}),f.jsxs(tl,{label:"Last seen",icon:f.jsx(TG,{}),children:[f.jsx(oa,{label:"Today",value:{last_seen_gte:bwe().toISOString(),last_seen_lte:void 0}}),f.jsx(oa,{label:"This week",value:{last_seen_gte:Ai(new Date).toISOString(),last_seen_lte:void 0}}),f.jsx(oa,{label:"Before this week",value:{last_seen_gte:void 0,last_seen_lte:Ai(new Date).toISOString()}}),f.jsx(oa,{label:"Before this month",value:{last_seen_gte:void 0,last_seen_lte:m$(new Date).toISOString()}}),f.jsx(oa,{label:"Before last month",value:{last_seen_gte:void 0,last_seen_lte:G2e(m$(new Date),1).toISOString()}})]}),f.jsxs(tl,{label:"Status",icon:f.jsx(OG,{}),children:[f.jsx(oa,{label:f.jsxs(f.Fragment,{children:["Cold ",f.jsx(zo,{status:"cold"})]}),value:{status:"cold"}}),f.jsx(oa,{label:f.jsxs(f.Fragment,{children:["Warm ",f.jsx(zo,{status:"warm"})]}),value:{status:"warm"}}),f.jsx(oa,{label:f.jsxs(f.Fragment,{children:["Hot ",f.jsx(zo,{status:"hot"})]}),value:{status:"hot"}}),f.jsx(oa,{label:f.jsxs(f.Fragment,{children:["In contract ",f.jsx(zo,{status:"in-contract"})]}),value:{status:"in-contract"}})]}),f.jsx(tl,{label:"Tags",icon:f.jsx(zG,{}),children:t&&t.map(n=>f.jsx(oa,{label:f.jsx(wi,{label:n==null?void 0:n.name,size:"small",style:{backgroundColor:n==null?void 0:n.color,border:0,cursor:"pointer"}}),value:{tags:[n.id]}},n.id))}),f.jsx(tl,{label:"Account manager",icon:f.jsx(JA,{}),children:f.jsx(oa,{label:"Me",value:{sales_id:e&&e.id}})})]})},"ContactListFilter"),NWe=o(()=>{const{data:e,error:t,isPending:n,onToggleItem:r,selectedIds:a}=Jn();if(n)return f.jsx(OV,{hasLeftAvatarOrIcon:!0,hasSecondaryText:!0});if(t)return null;const i=Date.now();return f.jsxs(f.Fragment,{children:[f.jsx(eV,{children:f.jsx(Rq,{})}),f.jsx(zc,{dense:!0,children:e.map(s=>f.jsx(Qr,{value:s,children:f.jsxs(Kl,{button:!0,component:Dr,to:`/contacts/${s.id}/show`,children:[f.jsx(Il,{children:f.jsx(bf,{edge:"start",checked:a.includes(s.id),tabIndex:-1,disableRipple:!0,onClick:o(c=>{c.stopPropagation(),r(s.id)},"onClick")})}),f.jsx(z1,{children:f.jsx(Wg,{})}),f.jsx(_s,{primary:`${s.first_name} ${s.last_name}`,secondary:f.jsxs(f.Fragment,{children:[s.title," at"," ",f.jsx(Mi,{source:"company_id",reference:"companies",link:!1,children:f.jsx(Gr,{source:"name"})}),s.nb_notes?` - ${s.nb_notes} note${s.nb_notes>1?"s":""}`:"",s.nb_tasks?` - ${s.nb_tasks} task${s.nb_tasks>1?"s":""}`:"","  ",f.jsx(_G,{})]})}),f.jsx(Ic,{children:f.jsxs(et,{variant:"body2",color:"textSecondary",children:["last activity"," ",vg(s.last_seen,i)," ago"," ",f.jsx(zo,{status:s.status})]})})]})},s.id))})]})},"ContactListContent"),FWe=o(()=>f.jsxs(zg,{children:[f.jsx(tq,{fields:["last_name","first_name","last_seen"]}),f.jsx(gA,{}),f.jsx(L1,{variant:"contained",label:"New Contact",sx:{marginLeft:2}})]}),"ContactListActions"),BWe=o(async(e,t)=>{const n=await t(e,"company_id","companies"),r=await t(e,"sales_id","sales"),a=await t(e,"tags","tags"),i=e.map(s=>({...s,company:n[s.company_id].name,sales:`${r[s.sales_id].first_name} ${r[s.sales_id].last_name}`,tags:s.tags.map(c=>a[c].name).join(", ")}));return bB(i,{},(s,c)=>{xB(c,"contacts")})},"exporter"),WWe=o(()=>{const{identity:e}=Go();return e?f.jsx(TV,{actions:f.jsx(FWe,{}),aside:f.jsx(DWe,{}),perPage:25,pagination:f.jsx(RA,{rowsPerPageOptions:[10,25,50,100]}),filterDefaultValues:{sales_id:e==null?void 0:e.id},sort:{field:"last_seen",order:"DESC"},exporter:BWe,children:f.jsx(NWe,{})}):null},"ContactList"),UWe=o(e=>{if(e)try{new URL(e)}catch{return"Must be a valid URL"}},"isUrl"),IG=o(()=>{const[e]=zx(),{identity:t}=Go(),n=Kn(),r=o(async a=>{if(a)try{return await e("companies",{data:{name:a,sales_id:t==null?void 0:t.id,created_at:new Date().toISOString()}},{returnPromise:!0})}catch(i){throw n("An error occurred while creating the company",{type:"error"}),i}},"handleCreateCompany");return f.jsxs(Be,{flex:"1",mt:-1,children:[f.jsxs(Oa,{direction:"row",width:430,gap:1,children:[f.jsx(Wn,{source:"first_name",validate:cs(),helperText:!1}),f.jsx(Wn,{source:"last_name",validate:cs(),helperText:!1})]}),f.jsxs(Oa,{direction:"row",width:430,gap:1,children:[f.jsx(Wn,{source:"title",helperText:!1}),f.jsx(E3,{source:"company_id",reference:"companies",children:f.jsx(Wq,{optionText:"name",validate:cs(),onCreate:r,helperText:!1})})]}),f.jsx(pa,{sx:{my:2}}),f.jsxs(Be,{width:430,children:[f.jsx(Wn,{source:"email",helperText:!1,validate:kxe()}),f.jsxs(Oa,{direction:"row",gap:1,children:[f.jsx(Wn,{source:"phone_number1",helperText:!1}),f.jsx(Wn,{source:"phone_number2",helperText:!1})]})]}),f.jsx(pa,{sx:{my:2}}),f.jsxs(Be,{width:430,children:[f.jsx(Wn,{source:"background",multiline:!0,helperText:!1}),f.jsx(Wn,{source:"avatar",label:"Avatar URL",helperText:!1,validate:UWe}),f.jsxs(Oa,{direction:"row",gap:1,alignItems:"center",children:[f.jsx(pd,{source:"gender",choices:PG,helperText:!1}),f.jsx(mLe,{source:"has_newsletter",sx:{width:"100%",label:{justifyContent:"center"}},helperText:!1})]})]}),f.jsx(pa,{sx:{my:2}}),f.jsx(Be,{width:430,children:f.jsx(E3,{reference:"sales",source:"sales_id",sort:{field:"last_name",order:"ASC"},children:f.jsx(pd,{helperText:!1,label:"Account manager",sx:{width:210}})})})]})},"ContactInputs"),HWe=o(()=>f.jsx(pB,{redirect:"show",children:f.jsx(qWe,{})}),"ContactEdit"),qWe=o(()=>{const{isPending:e,record:t}=mB();return e||!t?null:f.jsxs(Be,{mt:2,display:"flex",children:[f.jsx(Be,{flex:"1",children:f.jsx(rp,{children:f.jsxs($o,{children:[f.jsx(Yo,{children:f.jsx(Be,{children:f.jsxs(Be,{display:"flex",children:[f.jsx(Be,{mr:2,children:f.jsx(Wg,{})}),f.jsx(IG,{})]})})}),f.jsx(Lg,{})]})})}),f.jsx(MG,{link:"show"})]})},"ContactEditContent"),VWe=o(()=>{const{identity:e}=Go();return f.jsx(uE,{redirect:"show",transform:o(t=>({...t,first_seen:new Date().toISOString(),last_seen:new Date().toISOString(),tags:[]}),"transform"),children:f.jsx(Be,{mt:2,display:"flex",children:f.jsx(Be,{flex:"1",children:f.jsx(rp,{defaultValues:{sales_id:e==null?void 0:e.id},children:f.jsxs($o,{children:[f.jsx(Yo,{children:f.jsx(Be,{children:f.jsxs(Be,{display:"flex",children:[f.jsx(Be,{mr:2,children:f.jsx(Da,{})}),f.jsx(IG,{})]})})}),f.jsx(Lg,{})]})})})})})},"ContactCreate"),GWe={list:WWe,show:EWe,edit:HWe,create:VWe,recordRepresentation:o(e=>(e==null?void 0:e.first_name)+" "+(e==null?void 0:e.last_name),"recordRepresentation")};var sP={},KWe=ht;Object.defineProperty(sP,"__esModule",{value:!0});var LG=sP.default=void 0,JWe=KWe(vt()),YWe=f;LG=sP.default=(0,JWe.default)((0,YWe.jsx)("path",{d:"M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z"}),"Home");var cP={},QWe=ht;Object.defineProperty(cP,"__esModule",{value:!0});var DG=cP.default=void 0,XWe=QWe(vt()),ZWe=f;DG=cP.default=(0,XWe.default)((0,ZWe.jsx)("path",{d:"M9.4 16.6 4.8 12l4.6-4.6L8 6l-6 6 6 6zm5.2 0 4.6-4.6-4.6-4.6L16 6l6 6-6 6z"}),"Code");const eUe=o(()=>f.jsxs($o,{sx:{background:"#c5dedd",color:"rgba(0, 0, 0, 0.87)",padding:"1em",marginBottom:"1em",marginTop:"2em","& .MuiCardActions-root":{p:2,mt:-2,mb:-1,flexDirection:"column","& a":{mb:1,color:"rgba(0, 0, 0, 0.87)",backgroundColor:"white",marginLeft:"0 !important"}}},children:[f.jsxs(Yo,{children:[f.jsx(et,{variant:"h5",gutterBottom:!0,children:"CRM demo"}),f.jsx(et,{gutterBottom:!0,children:"This app runs in the browser, and relies on a mock REST API. Feel free to explore and modify the data - it's local to your computer, and will reset each time you reload."}),f.jsx(et,{gutterBottom:!0,children:"It was built using react-admin, an open-source framework. The code for this demo is also open-source. Reading it is a great way to learn react-admin!"})]}),f.jsxs(OAe,{children:[f.jsx(gn,{variant:"contained",fullWidth:!0,href:"https://marmelab.com/react-admin",startIcon:f.jsx(LG,{}),children:"React-admin site"}),f.jsx(gn,{variant:"contained",fullWidth:!0,href:"https://github.com/marmelab/react-admin/tree/master/examples/crm",startIcon:f.jsx(DG,{}),children:"Source of this demo"})]})]}),"Welcome");var lP={},tUe=ht;Object.defineProperty(lP,"__esModule",{value:!0});var NG=lP.default=void 0,nUe=tUe(vt()),rUe=f;NG=lP.default=(0,nUe.default)((0,rUe.jsx)("path",{d:"M11.8 10.9c-2.27-.59-3-1.2-3-2.15 0-1.09 1.01-1.85 2.7-1.85 1.78 0 2.44.85 2.5 2.1h2.21c-.07-1.72-1.12-3.3-3.21-3.81V3h-3v2.16c-1.94.42-3.5 1.68-3.5 3.61 0 2.31 1.91 3.46 4.7 4.13 2.5.6 3 1.48 3 2.41 0 .69-.49 1.79-2.7 1.79-2.06 0-2.87-.92-2.98-2.1h-2.2c.12 2.19 1.76 3.42 3.68 3.83V21h3v-2.15c1.95-.37 3.5-1.5 3.5-3.55 0-2.84-2.43-3.81-4.7-4.4"}),"AttachMoney");let uP=Hg();const Rt=o(e=>Ug(e,uP),"raf");let dP=Hg();Rt.write=e=>Ug(e,dP);let q1=Hg();Rt.onStart=e=>Ug(e,q1);let fP=Hg();Rt.onFrame=e=>Ug(e,fP);let pP=Hg();Rt.onFinish=e=>Ug(e,pP);let Cd=[];Rt.setTimeout=(e,t)=>{let n=Rt.now()+t,r=o(()=>{let i=Cd.findIndex(s=>s.cancel==r);~i&&Cd.splice(i,1),nc-=~i?1:0},"cancel"),a={time:n,handler:e,cancel:r};return Cd.splice(FG(n),0,a),nc+=1,BG(),a};let FG=o(e=>~(~Cd.findIndex(t=>t.time>e)||~Cd.length),"findTimeout");Rt.cancel=e=>{q1.delete(e),fP.delete(e),uP.delete(e),dP.delete(e),pP.delete(e)};Rt.sync=e=>{O3=!0,Rt.batchedUpdates(e),O3=!1};Rt.throttle=e=>{let t;function n(){try{e(...t)}finally{t=null}}o(n,"queuedFn");function r(...a){t=a,Rt.onStart(n)}return o(r,"throttled"),r.handler=e,r.cancel=()=>{q1.delete(n),t=null},r};let mP=typeof window<"u"?window.requestAnimationFrame:()=>{};Rt.use=e=>mP=e;Rt.now=typeof performance<"u"?()=>performance.now():Date.now;Rt.batchedUpdates=e=>e();Rt.catch=console.error;Rt.frameLoop="always";Rt.advance=()=>{Rt.frameLoop!=="demand"?console.warn("Cannot call the manual advancement of rafz whilst frameLoop is not set as demand"):UG()};let tc=-1,nc=0,O3=!1;function Ug(e,t){O3?(t.delete(e),e(0)):(t.add(e),BG())}o(Ug,"schedule");function BG(){tc<0&&(tc=0,Rt.frameLoop!=="demand"&&mP(WG))}o(BG,"start");function aUe(){tc=-1}o(aUe,"stop");function WG(){~tc&&(mP(WG),Rt.batchedUpdates(UG))}o(WG,"loop");function UG(){let e=tc;tc=Rt.now();let t=FG(tc);t&&(HG(Cd.splice(0,t),n=>n.handler()),nc-=t),q1.flush(),uP.flush(e?Math.min(64,tc-e):16.667),fP.flush(),dP.flush(),pP.flush(),nc||aUe()}o(UG,"update");function Hg(){let e=new Set,t=e;return{add(n){nc+=t==e&&!e.has(n)?1:0,e.add(n)},delete(n){return nc-=t==e&&e.has(n)?1:0,e.delete(n)},flush(n){t.size&&(e=new Set,nc-=t.size,HG(t,r=>r(n)&&e.add(r)),nc+=e.size,t=e)}}}o(Hg,"makeQueue");function HG(e,t){e.forEach(n=>{try{t(n)}catch(r){Rt.catch(r)}})}o(HG,"eachSafely");function z3(){}o(z3,"noop$1");const oUe=o((e,t,n)=>Object.defineProperty(e,t,{value:n,writable:!0,configurable:!0}),"defineHidden"),Pe={arr:Array.isArray,obj:o(e=>!!e&&e.constructor.name==="Object","obj"),fun:o(e=>typeof e=="function","fun"),str:o(e=>typeof e=="string","str"),num:o(e=>typeof e=="number","num"),und:o(e=>e===void 0,"und")};function Qi(e,t){if(Pe.arr(e)){if(!Pe.arr(t)||e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}return e===t}o(Qi,"isEqual");const kt=o((e,t)=>e.forEach(t),"each");function Ti(e,t,n){if(Pe.arr(e)){for(let r=0;r<e.length;r++)t.call(n,e[r],`${r}`);return}for(const r in e)e.hasOwnProperty(r)&&t.call(n,e[r],r)}o(Ti,"eachProp");const Kr=o(e=>Pe.und(e)?[]:Pe.arr(e)?e:[e],"toArray");function Wm(e,t){if(e.size){const n=Array.from(e);e.clear(),kt(n,t)}}o(Wm,"flush");const vm=o((e,...t)=>Wm(e,n=>n(...t)),"flushCalls"),qG=o(()=>typeof window>"u"||!window.navigator||/ServerSideRendering|^Deno\//.test(window.navigator.userAgent),"isSSR");let hP,VG,fc=null,GG=!1,gP=z3;const iUe=o(e=>{e.to&&(VG=e.to),e.now&&(Rt.now=e.now),e.colors!==void 0&&(fc=e.colors),e.skipAnimation!=null&&(GG=e.skipAnimation),e.createStringInterpolator&&(hP=e.createStringInterpolator),e.requestAnimationFrame&&Rt.use(e.requestAnimationFrame),e.batchedUpdates&&(Rt.batchedUpdates=e.batchedUpdates),e.willAdvance&&(gP=e.willAdvance),e.frameLoop&&(Rt.frameLoop=e.frameLoop)},"assign");var Oi=Object.freeze({__proto__:null,get createStringInterpolator(){return hP},get to(){return VG},get colors(){return fc},get skipAnimation(){return GG},get willAdvance(){return gP},assign:iUe});const Um=new Set;let so=[],JC=[],u0=0;const V1={get idle(){return!Um.size&&!so.length},start(e){u0>e.priority?(Um.add(e),Rt.onStart(sUe)):(KG(e),Rt(I3))},advance:I3,sort(e){if(u0)Rt.onFrame(()=>V1.sort(e));else{const t=so.indexOf(e);~t&&(so.splice(t,1),JG(e))}},clear(){so=[],Um.clear()}};function sUe(){Um.forEach(KG),Um.clear(),Rt(I3)}o(sUe,"flushStartQueue");function KG(e){so.includes(e)||JG(e)}o(KG,"startSafely");function JG(e){so.splice(cUe(so,t=>t.priority>e.priority),0,e)}o(JG,"startUnsafely");function I3(e){const t=JC;for(let n=0;n<so.length;n++){const r=so[n];u0=r.priority,r.idle||(gP(r),r.advance(e),r.idle||t.push(r))}return u0=0,JC=so,JC.length=0,so=t,so.length>0}o(I3,"advance");function cUe(e,t){const n=e.findIndex(t);return n<0?e.length:n}o(cUe,"findIndex");const lUe={transparent:0,aliceblue:4042850303,antiquewhite:4209760255,aqua:16777215,aquamarine:2147472639,azure:4043309055,beige:4126530815,bisque:4293182719,black:255,blanchedalmond:4293643775,blue:65535,blueviolet:2318131967,brown:2771004159,burlywood:3736635391,burntsienna:3934150143,cadetblue:1604231423,chartreuse:2147418367,chocolate:3530104575,coral:4286533887,cornflowerblue:1687547391,cornsilk:4294499583,crimson:3692313855,cyan:16777215,darkblue:35839,darkcyan:9145343,darkgoldenrod:3095792639,darkgray:2846468607,darkgreen:6553855,darkgrey:2846468607,darkkhaki:3182914559,darkmagenta:2332068863,darkolivegreen:1433087999,darkorange:4287365375,darkorchid:2570243327,darkred:2332033279,darksalmon:3918953215,darkseagreen:2411499519,darkslateblue:1211993087,darkslategray:793726975,darkslategrey:793726975,darkturquoise:13554175,darkviolet:2483082239,deeppink:4279538687,deepskyblue:12582911,dimgray:1768516095,dimgrey:1768516095,dodgerblue:512819199,firebrick:2988581631,floralwhite:4294635775,forestgreen:579543807,fuchsia:4278255615,gainsboro:3705462015,ghostwhite:4177068031,gold:4292280575,goldenrod:3668254975,gray:2155905279,green:8388863,greenyellow:2919182335,grey:2155905279,honeydew:4043305215,hotpink:4285117695,indianred:3445382399,indigo:1258324735,ivory:4294963455,khaki:4041641215,lavender:3873897215,lavenderblush:4293981695,lawngreen:2096890111,lemonchiffon:4294626815,lightblue:2916673279,lightcoral:4034953471,lightcyan:3774873599,lightgoldenrodyellow:4210742015,lightgray:3553874943,lightgreen:2431553791,lightgrey:3553874943,lightpink:4290167295,lightsalmon:4288707327,lightseagreen:548580095,lightskyblue:2278488831,lightslategray:2005441023,lightslategrey:2005441023,lightsteelblue:2965692159,lightyellow:4294959359,lime:16711935,limegreen:852308735,linen:4210091775,magenta:4278255615,maroon:2147483903,mediumaquamarine:1724754687,mediumblue:52735,mediumorchid:3126187007,mediumpurple:2473647103,mediumseagreen:1018393087,mediumslateblue:2070474495,mediumspringgreen:16423679,mediumturquoise:1221709055,mediumvioletred:3340076543,midnightblue:421097727,mintcream:4127193855,mistyrose:4293190143,moccasin:4293178879,navajowhite:4292783615,navy:33023,oldlace:4260751103,olive:2155872511,olivedrab:1804477439,orange:4289003775,orangered:4282712319,orchid:3664828159,palegoldenrod:4008225535,palegreen:2566625535,paleturquoise:2951671551,palevioletred:3681588223,papayawhip:4293907967,peachpuff:4292524543,peru:3448061951,pink:4290825215,plum:3718307327,powderblue:2967529215,purple:2147516671,rebeccapurple:1714657791,red:4278190335,rosybrown:3163525119,royalblue:1097458175,saddlebrown:2336560127,salmon:4202722047,sandybrown:4104413439,seagreen:780883967,seashell:4294307583,sienna:2689740287,silver:3233857791,skyblue:2278484991,slateblue:1784335871,slategray:1887473919,slategrey:1887473919,snow:4294638335,springgreen:16744447,steelblue:1182971135,tan:3535047935,teal:8421631,thistle:3636451583,tomato:4284696575,turquoise:1088475391,violet:4001558271,wheat:4125012991,white:4294967295,whitesmoke:4126537215,yellow:4294902015,yellowgreen:2597139199},Io="[-+]?\\d*\\.?\\d+",d0=Io+"%";function G1(...e){return"\\(\\s*("+e.join(")\\s*,\\s*(")+")\\s*\\)"}o(G1,"call");const uUe=new RegExp("rgb"+G1(Io,Io,Io)),dUe=new RegExp("rgba"+G1(Io,Io,Io,Io)),fUe=new RegExp("hsl"+G1(Io,d0,d0)),pUe=new RegExp("hsla"+G1(Io,d0,d0,Io)),mUe=/^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hUe=/^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,gUe=/^#([0-9a-fA-F]{6})$/,vUe=/^#([0-9a-fA-F]{8})$/;function yUe(e){let t;return typeof e=="number"?e>>>0===e&&e>=0&&e<=4294967295?e:null:(t=gUe.exec(e))?parseInt(t[1]+"ff",16)>>>0:fc&&fc[e]!==void 0?fc[e]:(t=uUe.exec(e))?(xu(t[1])<<24|xu(t[2])<<16|xu(t[3])<<8|255)>>>0:(t=dUe.exec(e))?(xu(t[1])<<24|xu(t[2])<<16|xu(t[3])<<8|h6(t[4]))>>>0:(t=mUe.exec(e))?parseInt(t[1]+t[1]+t[2]+t[2]+t[3]+t[3]+"ff",16)>>>0:(t=vUe.exec(e))?parseInt(t[1],16)>>>0:(t=hUe.exec(e))?parseInt(t[1]+t[1]+t[2]+t[2]+t[3]+t[3]+t[4]+t[4],16)>>>0:(t=fUe.exec(e))?(p6(m6(t[1]),Ov(t[2]),Ov(t[3]))|255)>>>0:(t=pUe.exec(e))?(p6(m6(t[1]),Ov(t[2]),Ov(t[3]))|h6(t[4]))>>>0:null}o(yUe,"normalizeColor");function YC(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+(t-e)*6*n:n<1/2?t:n<2/3?e+(t-e)*(2/3-n)*6:e}o(YC,"hue2rgb");function p6(e,t,n){const r=n<.5?n*(1+t):n+t-n*t,a=2*n-r,i=YC(a,r,e+1/3),s=YC(a,r,e),c=YC(a,r,e-1/3);return Math.round(i*255)<<24|Math.round(s*255)<<16|Math.round(c*255)<<8}o(p6,"hslToRgb");function xu(e){const t=parseInt(e,10);return t<0?0:t>255?255:t}o(xu,"parse255");function m6(e){return(parseFloat(e)%360+360)%360/360}o(m6,"parse360");function h6(e){const t=parseFloat(e);return t<0?0:t>1?255:Math.round(t*255)}o(h6,"parse1");function Ov(e){const t=parseFloat(e);return t<0?0:t>100?1:t/100}o(Ov,"parsePercentage");function g6(e){let t=yUe(e);if(t===null)return e;t=t||0;let n=(t&4278190080)>>>24,r=(t&16711680)>>>16,a=(t&65280)>>>8,i=(t&255)/255;return`rgba(${n}, ${r}, ${a}, ${i})`}o(g6,"colorToRgba");const Mh=o((e,t,n)=>{if(Pe.fun(e))return e;if(Pe.arr(e))return Mh({range:e,output:t,extrapolate:n});if(Pe.str(e.output[0]))return hP(e);const r=e,a=r.output,i=r.range||[0,1],s=r.extrapolateLeft||r.extrapolate||"extend",c=r.extrapolateRight||r.extrapolate||"extend",l=r.easing||(u=>u);return u=>{const d=xUe(u,i);return bUe(u,i[d],i[d+1],a[d],a[d+1],l,s,c,r.map)}},"createInterpolator");function bUe(e,t,n,r,a,i,s,c,l){let u=l?l(e):e;if(u<t){if(s==="identity")return u;s==="clamp"&&(u=t)}if(u>n){if(c==="identity")return u;c==="clamp"&&(u=n)}return r===a?r:t===n?e<=t?r:a:(t===-1/0?u=-u:n===1/0?u=u-t:u=(u-t)/(n-t),u=i(u),r===-1/0?u=-u:a===1/0?u=u+r:u=u*(a-r)+r,u)}o(bUe,"interpolate$1");function xUe(e,t){for(var n=1;n<t.length-1&&!(t[n]>=e);++n);return n-1}o(xUe,"findRange");function L3(){return L3=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},L3.apply(this,arguments)}o(L3,"_extends$2");const jf=Symbol.for("FluidValue.get"),Ll=Symbol.for("FluidValue.observers"),io=o(e=>!!(e&&e[jf]),"hasFluidValue"),ca=o(e=>e&&e[jf]?e[jf]():e,"getFluidValue"),v6=o(e=>e[Ll]||null,"getFluidObservers");function wUe(e,t){e.eventObserved?e.eventObserved(t):e(t)}o(wUe,"callFluidObserver");function Th(e,t){let n=e[Ll];n&&n.forEach(r=>{wUe(r,t)})}o(Th,"callFluidObservers");const lM=class lM{constructor(t){if(this[jf]=void 0,this[Ll]=void 0,!t&&!(t=this.get))throw Error("Unknown getter");CUe(this,t)}};o(lM,"FluidValue");let f0=lM;const CUe=o((e,t)=>YG(e,jf,t),"setFluidGetter");function yp(e,t){if(e[jf]){let n=e[Ll];n||YG(e,Ll,n=new Set),n.has(t)||(n.add(t),e.observerAdded&&e.observerAdded(n.size,t))}return t}o(yp,"addFluidObserver");function Oh(e,t){let n=e[Ll];if(n&&n.has(t)){const r=n.size-1;r?n.delete(t):e[Ll]=null,e.observerRemoved&&e.observerRemoved(r,t)}}o(Oh,"removeFluidObserver");const YG=o((e,t,n)=>Object.defineProperty(e,t,{value:n,writable:!0,configurable:!0}),"setHidden"),Ny=/[+\-]?(?:0|[1-9]\d*)(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,SUe=/(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\((-?\d+%?[,\s]+){2,3}\s*[\d\.]+%?\))/gi,y6=new RegExp(`(${Ny.source})(%|[a-z]+)`,"i"),jUe=/rgba\(([0-9\.-]+), ([0-9\.-]+), ([0-9\.-]+), ([0-9\.-]+)\)/gi,K1=/var\((--[a-zA-Z0-9-_]+),? ?([a-zA-Z0-9 ()%#.,-]+)?\)/,QG=o(e=>{const[t,n]=$Ue(e);if(!t||qG())return e;const r=window.getComputedStyle(document.documentElement).getPropertyValue(t);if(r)return r.trim();if(n&&n.startsWith("--")){const a=window.getComputedStyle(document.documentElement).getPropertyValue(n);return a||e}else{if(n&&K1.test(n))return QG(n);if(n)return n}return e},"variableToRgba"),$Ue=o(e=>{const t=K1.exec(e);if(!t)return[,];const[,n,r]=t;return[n,r]},"parseCSSVariable");let QC;const _Ue=o((e,t,n,r,a)=>`rgba(${Math.round(t)}, ${Math.round(n)}, ${Math.round(r)}, ${a})`,"rgbaRound"),XG=o(e=>{QC||(QC=fc?new RegExp(`(${Object.keys(fc).join("|")})(?!\\w)`,"g"):/^\b$/);const t=e.output.map(i=>ca(i).replace(K1,QG).replace(SUe,g6).replace(QC,g6)),n=t.map(i=>i.match(Ny).map(Number)),a=n[0].map((i,s)=>n.map(c=>{if(!(s in c))throw Error('The arity of each "output" value must be equal');return c[s]})).map(i=>Mh(L3({},e,{output:i})));return i=>{var s;const c=!y6.test(t[0])&&((s=t.find(u=>y6.test(u)))==null?void 0:s.replace(Ny,""));let l=0;return t[0].replace(Ny,()=>`${a[l++](i)}${c||""}`).replace(jUe,_Ue)}},"createStringInterpolator"),vP="react-spring: ",ZG=o(e=>{const t=e;let n=!1;if(typeof t!="function")throw new TypeError(`${vP}once requires a function parameter`);return(...r)=>{n||(t(...r),n=!0)}},"once"),kUe=ZG(console.warn);function EUe(){kUe(`${vP}The "interpolate" function is deprecated in v9 (use "to" instead)`)}o(EUe,"deprecateInterpolate");const RUe=ZG(console.warn);function AUe(){RUe(`${vP}Directly calling start instead of using the api object is deprecated in v9 (use ".start" instead), this will be removed in later 0.X.0 versions`)}o(AUe,"deprecateDirectCall");function J1(e){return Pe.str(e)&&(e[0]=="#"||/\d/.test(e)||!qG()&&K1.test(e)||e in(fc||{}))}o(J1,"isAnimatedString");const nl=typeof window<"u"&&window.document&&window.document.createElement?g.useLayoutEffect:g.useEffect,PUe=o(()=>{const e=g.useRef(!1);return nl(()=>(e.current=!0,()=>{e.current=!1}),[]),e},"useIsMounted");function yP(){const e=g.useState()[1],t=PUe();return()=>{t.current&&e(Math.random())}}o(yP,"useForceUpdate");function MUe(e,t){const[n]=g.useState(()=>({inputs:t,result:e()})),r=g.useRef(),a=r.current;let i=a;return i?t&&i.inputs&&TUe(t,i.inputs)||(i={inputs:t,result:e()}):i=n,g.useEffect(()=>{r.current=i,a==n&&(n.inputs=n.result=void 0)},[i]),i.result}o(MUe,"useMemoOne");function TUe(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}o(TUe,"areInputsEqual");const bP=o(e=>g.useEffect(e,OUe),"useOnce"),OUe=[];function D3(e){const t=g.useRef();return g.useEffect(()=>{t.current=e}),t.current}o(D3,"usePrev");const zh=Symbol.for("Animated:node"),zUe=o(e=>!!e&&e[zh]===e,"isAnimated"),oi=o(e=>e&&e[zh],"getAnimated"),xP=o((e,t)=>oUe(e,zh,t),"setAnimated"),Y1=o(e=>e&&e[zh]&&e[zh].getPayload(),"getPayload"),uM=class uM{constructor(){this.payload=void 0,xP(this,this)}getPayload(){return this.payload||[]}};o(uM,"Animated");let p0=uM;const W0=class W0 extends p0{constructor(t){super(),this.done=!0,this.elapsedTime=void 0,this.lastPosition=void 0,this.lastVelocity=void 0,this.v0=void 0,this.durationProgress=0,this._value=t,Pe.num(this._value)&&(this.lastPosition=this._value)}static create(t){return new W0(t)}getPayload(){return[this]}getValue(){return this._value}setValue(t,n){return Pe.num(t)&&(this.lastPosition=t,n&&(t=Math.round(t/n)*n,this.done&&(this.lastPosition=t))),this._value===t?!1:(this._value=t,!0)}reset(){const{done:t}=this;this.done=!1,Pe.num(this._value)&&(this.elapsedTime=0,this.durationProgress=0,this.lastPosition=this._value,t&&(this.lastVelocity=null),this.v0=null)}};o(W0,"AnimatedValue");let $f=W0;const U0=class U0 extends $f{constructor(t){super(0),this._string=null,this._toString=void 0,this._toString=Mh({output:[t,t]})}static create(t){return new U0(t)}getValue(){let t=this._string;return t??(this._string=this._toString(this._value))}setValue(t){if(Pe.str(t)){if(t==this._string)return!1;this._string=t,this._value=1}else if(super.setValue(t))this._string=null;else return!1;return!0}reset(t){t&&(this._toString=Mh({output:[this.getValue(),t]})),this._value=0,super.reset()}};o(U0,"AnimatedString");let _f=U0;const m0={dependencies:null},dM=class dM extends p0{constructor(t){super(),this.source=t,this.setValue(t)}getValue(t){const n={};return Ti(this.source,(r,a)=>{zUe(r)?n[a]=r.getValue(t):io(r)?n[a]=ca(r):t||(n[a]=r)}),n}setValue(t){this.source=t,this.payload=this._makePayload(t)}reset(){this.payload&&kt(this.payload,t=>t.reset())}_makePayload(t){if(t){const n=new Set;return Ti(t,this._addToPayload,n),Array.from(n)}}_addToPayload(t){m0.dependencies&&io(t)&&m0.dependencies.add(t);const n=Y1(t);n&&kt(n,r=>this.add(r))}};o(dM,"AnimatedObject");let kf=dM;const H0=class H0 extends kf{constructor(t){super(t)}static create(t){return new H0(t)}getValue(){return this.source.map(t=>t.getValue())}setValue(t){const n=this.getPayload();return t.length==n.length?n.map((r,a)=>r.setValue(t[a])).some(Boolean):(super.setValue(t.map(IUe)),!0)}};o(H0,"AnimatedArray");let N3=H0;function IUe(e){return(J1(e)?_f:$f).create(e)}o(IUe,"makeAnimated");function F3(e){const t=oi(e);return t?t.constructor:Pe.arr(e)?N3:J1(e)?_f:$f}o(F3,"getAnimatedType");function h0(){return h0=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},h0.apply(this,arguments)}o(h0,"_extends$1");const b6=o((e,t)=>{const n=!Pe.fun(e)||e.prototype&&e.prototype.isReactComponent;return g.forwardRef((r,a)=>{const i=g.useRef(null),s=n&&g.useCallback(h=>{i.current=DUe(a,h)},[a]),[c,l]=LUe(r,t),u=yP(),d=o(()=>{const h=i.current;if(n&&!h)return;(h?t.applyAnimatedValues(h,c.getValue(!0)):!1)===!1&&u()},"callback"),p=new B3(d,l),m=g.useRef();nl(()=>(m.current=p,kt(l,h=>yp(h,p)),()=>{m.current&&(kt(m.current.deps,h=>Oh(h,m.current)),Rt.cancel(m.current.update))})),g.useEffect(d,[]),bP(()=>()=>{const h=m.current;kt(h.deps,y=>Oh(y,h))});const v=t.getComponentProps(c.getValue());return g.createElement(e,h0({},v,{ref:s}))})},"withAnimated"),fM=class fM{constructor(t,n){this.update=t,this.deps=n}eventObserved(t){t.type=="change"&&Rt.write(this.update)}};o(fM,"PropsObserver");let B3=fM;function LUe(e,t){const n=new Set;return m0.dependencies=n,e.style&&(e=h0({},e,{style:t.createAnimatedStyle(e.style)})),e=new kf(e),m0.dependencies=null,[e,n]}o(LUe,"getAnimatedState");function DUe(e,t){return e&&(Pe.fun(e)?e(t):e.current=t),t}o(DUe,"updateRef");const x6=Symbol.for("AnimatedComponent"),NUe=o((e,{applyAnimatedValues:t=o(()=>!1,"_applyAnimatedValues"),createAnimatedStyle:n=o(a=>new kf(a),"_createAnimatedStyle"),getComponentProps:r=o(a=>a,"_getComponentProps")}={})=>{const a={applyAnimatedValues:t,createAnimatedStyle:n,getComponentProps:r},i=o(s=>{const c=w6(s)||"Anonymous";return Pe.str(s)?s=i[s]||(i[s]=b6(s,a)):s=s[x6]||(s[x6]=b6(s,a)),s.displayName=`Animated(${c})`,s},"animated");return Ti(e,(s,c)=>{Pe.arr(e)&&(c=w6(s)),i[c]=i(s)}),{animated:i}},"createHost"),w6=o(e=>Pe.str(e)?e:e&&Pe.str(e.displayName)?e.displayName:Pe.fun(e)&&e.name||null,"getDisplayName");function Ln(){return Ln=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Ln.apply(this,arguments)}o(Ln,"_extends");function la(e,...t){return Pe.fun(e)?e(...t):e}o(la,"callProp");const Hm=o((e,t)=>e===!0||!!(t&&e&&(Pe.fun(e)?e(t):Kr(e).includes(t))),"matchProp"),eK=o((e,t)=>Pe.obj(e)?t&&e[t]:e,"resolveProp"),tK=o((e,t)=>e.default===!0?e[t]:e.default?e.default[t]:void 0,"getDefaultProp"),FUe=o(e=>e,"noopTransform"),Q1=o((e,t=FUe)=>{let n=BUe;e.default&&e.default!==!0&&(e=e.default,n=Object.keys(e));const r={};for(const a of n){const i=t(e[a],a);Pe.und(i)||(r[a]=i)}return r},"getDefaultProps"),BUe=["config","onProps","onStart","onChange","onPause","onResume","onRest"],WUe={config:1,from:1,to:1,ref:1,loop:1,reset:1,pause:1,cancel:1,reverse:1,immediate:1,default:1,delay:1,onProps:1,onStart:1,onChange:1,onPause:1,onResume:1,onRest:1,onResolve:1,items:1,trail:1,sort:1,expires:1,initial:1,enter:1,update:1,leave:1,children:1,onDestroyed:1,keys:1,callId:1,parentId:1};function UUe(e){const t={};let n=0;if(Ti(e,(r,a)=>{WUe[a]||(t[a]=r,n++)}),n)return t}o(UUe,"getForwardProps");function wP(e){const t=UUe(e);if(t){const n={to:t};return Ti(e,(r,a)=>a in t||(n[a]=r)),n}return Ln({},e)}o(wP,"inferTo");function Ih(e){return e=ca(e),Pe.arr(e)?e.map(Ih):J1(e)?Oi.createStringInterpolator({range:[0,1],output:[e,e]})(1):e}o(Ih,"computeGoal");function nK(e){for(const t in e)return!0;return!1}o(nK,"hasProps");function W3(e){return Pe.fun(e)||Pe.arr(e)&&Pe.obj(e[0])}o(W3,"isAsyncTo");function U3(e,t){var n;(n=e.ref)==null||n.delete(e),t==null||t.delete(e)}o(U3,"detachRefs");function rK(e,t){if(t&&e.ref!==t){var n;(n=e.ref)==null||n.delete(e),t.add(e),e.ref=t}}o(rK,"replaceRef");const CP={default:{tension:170,friction:26},gentle:{tension:120,friction:14},wobbly:{tension:180,friction:12},stiff:{tension:210,friction:20},slow:{tension:280,friction:60},molasses:{tension:280,friction:120}},g0=1.70158,zv=g0*1.525,C6=g0+1,S6=2*Math.PI/3,j6=2*Math.PI/4.5,Iv=o(e=>e<1/2.75?7.5625*e*e:e<2/2.75?7.5625*(e-=1.5/2.75)*e+.75:e<2.5/2.75?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375,"bounceOut"),HUe={linear:o(e=>e,"linear"),easeInQuad:o(e=>e*e,"easeInQuad"),easeOutQuad:o(e=>1-(1-e)*(1-e),"easeOutQuad"),easeInOutQuad:o(e=>e<.5?2*e*e:1-Math.pow(-2*e+2,2)/2,"easeInOutQuad"),easeInCubic:o(e=>e*e*e,"easeInCubic"),easeOutCubic:o(e=>1-Math.pow(1-e,3),"easeOutCubic"),easeInOutCubic:o(e=>e<.5?4*e*e*e:1-Math.pow(-2*e+2,3)/2,"easeInOutCubic"),easeInQuart:o(e=>e*e*e*e,"easeInQuart"),easeOutQuart:o(e=>1-Math.pow(1-e,4),"easeOutQuart"),easeInOutQuart:o(e=>e<.5?8*e*e*e*e:1-Math.pow(-2*e+2,4)/2,"easeInOutQuart"),easeInQuint:o(e=>e*e*e*e*e,"easeInQuint"),easeOutQuint:o(e=>1-Math.pow(1-e,5),"easeOutQuint"),easeInOutQuint:o(e=>e<.5?16*e*e*e*e*e:1-Math.pow(-2*e+2,5)/2,"easeInOutQuint"),easeInSine:o(e=>1-Math.cos(e*Math.PI/2),"easeInSine"),easeOutSine:o(e=>Math.sin(e*Math.PI/2),"easeOutSine"),easeInOutSine:o(e=>-(Math.cos(Math.PI*e)-1)/2,"easeInOutSine"),easeInExpo:o(e=>e===0?0:Math.pow(2,10*e-10),"easeInExpo"),easeOutExpo:o(e=>e===1?1:1-Math.pow(2,-10*e),"easeOutExpo"),easeInOutExpo:o(e=>e===0?0:e===1?1:e<.5?Math.pow(2,20*e-10)/2:(2-Math.pow(2,-20*e+10))/2,"easeInOutExpo"),easeInCirc:o(e=>1-Math.sqrt(1-Math.pow(e,2)),"easeInCirc"),easeOutCirc:o(e=>Math.sqrt(1-Math.pow(e-1,2)),"easeOutCirc"),easeInOutCirc:o(e=>e<.5?(1-Math.sqrt(1-Math.pow(2*e,2)))/2:(Math.sqrt(1-Math.pow(-2*e+2,2))+1)/2,"easeInOutCirc"),easeInBack:o(e=>C6*e*e*e-g0*e*e,"easeInBack"),easeOutBack:o(e=>1+C6*Math.pow(e-1,3)+g0*Math.pow(e-1,2),"easeOutBack"),easeInOutBack:o(e=>e<.5?Math.pow(2*e,2)*((zv+1)*2*e-zv)/2:(Math.pow(2*e-2,2)*((zv+1)*(e*2-2)+zv)+2)/2,"easeInOutBack"),easeInElastic:o(e=>e===0?0:e===1?1:-Math.pow(2,10*e-10)*Math.sin((e*10-10.75)*S6),"easeInElastic"),easeOutElastic:o(e=>e===0?0:e===1?1:Math.pow(2,-10*e)*Math.sin((e*10-.75)*S6)+1,"easeOutElastic"),easeInOutElastic:o(e=>e===0?0:e===1?1:e<.5?-(Math.pow(2,20*e-10)*Math.sin((20*e-11.125)*j6))/2:Math.pow(2,-20*e+10)*Math.sin((20*e-11.125)*j6)/2+1,"easeInOutElastic"),easeInBounce:o(e=>1-Iv(1-e),"easeInBounce"),easeOutBounce:Iv,easeInOutBounce:o(e=>e<.5?(1-Iv(1-2*e))/2:(1+Iv(2*e-1))/2,"easeInOutBounce")},H3=Ln({},CP.default,{mass:1,damping:1,easing:HUe.linear,clamp:!1}),pM=class pM{constructor(){this.tension=void 0,this.friction=void 0,this.frequency=void 0,this.damping=void 0,this.mass=void 0,this.velocity=0,this.restVelocity=void 0,this.precision=void 0,this.progress=void 0,this.duration=void 0,this.easing=void 0,this.clamp=void 0,this.bounce=void 0,this.decay=void 0,this.round=void 0,Object.assign(this,H3)}};o(pM,"AnimationConfig");let q3=pM;function qUe(e,t,n){n&&(n=Ln({},n),$6(n,t),t=Ln({},n,t)),$6(e,t),Object.assign(e,t);for(const s in H3)e[s]==null&&(e[s]=H3[s]);let{mass:r,frequency:a,damping:i}=e;return Pe.und(a)||(a<.01&&(a=.01),i<0&&(i=0),e.tension=Math.pow(2*Math.PI/a,2)*r,e.friction=4*Math.PI*i*r/a),e}o(qUe,"mergeConfig");function $6(e,t){if(!Pe.und(t.decay))e.duration=void 0;else{const n=!Pe.und(t.tension)||!Pe.und(t.friction);(n||!Pe.und(t.frequency)||!Pe.und(t.damping)||!Pe.und(t.mass))&&(e.duration=void 0,e.decay=void 0),n&&(e.frequency=void 0)}}o($6,"sanitizeConfig");const _6=[],mM=class mM{constructor(){this.changed=!1,this.values=_6,this.toValues=null,this.fromValues=_6,this.to=void 0,this.from=void 0,this.config=new q3,this.immediate=!1}};o(mM,"Animation");let V3=mM;function aK(e,{key:t,props:n,defaultProps:r,state:a,actions:i}){return new Promise((s,c)=>{var l;let u,d,p=Hm((l=n.cancel)!=null?l:r==null?void 0:r.cancel,t);if(p)h();else{Pe.und(n.pause)||(a.paused=Hm(n.pause,t));let y=r==null?void 0:r.pause;y!==!0&&(y=a.paused||Hm(y,t)),u=la(n.delay||0,t),y?(a.resumeQueue.add(v),i.pause()):(i.resume(),v())}function m(){a.resumeQueue.add(v),a.timeouts.delete(d),d.cancel(),u=d.time-Rt.now()}o(m,"onPause");function v(){u>0&&!Oi.skipAnimation?(a.delayed=!0,d=Rt.setTimeout(h,u),a.pauseQueue.add(m),a.timeouts.add(d)):h()}o(v,"onResume");function h(){a.delayed&&(a.delayed=!1),a.pauseQueue.delete(m),a.timeouts.delete(d),e<=(a.cancelId||0)&&(p=!0);try{i.start(Ln({},n,{callId:e,cancel:p}),s)}catch(y){c(y)}}o(h,"onStart")})}o(aK,"scheduleProps");const SP=o((e,t)=>t.length==1?t[0]:t.some(n=>n.cancelled)?Sd(e.get()):t.every(n=>n.noop)?oK(e.get()):To(e.get(),t.every(n=>n.finished)),"getCombinedResult"),oK=o(e=>({value:e,noop:!0,finished:!0,cancelled:!1}),"getNoopResult"),To=o((e,t,n=!1)=>({value:e,finished:t,cancelled:n}),"getFinishedResult"),Sd=o(e=>({value:e,cancelled:!0,finished:!1}),"getCancelledResult");function iK(e,t,n,r){const{callId:a,parentId:i,onRest:s}=t,{asyncTo:c,promise:l}=n;return!i&&e===c&&!t.reset?l:n.promise=(async()=>{n.asyncId=a,n.asyncTo=e;const u=Q1(t,(C,w)=>w==="onRest"?void 0:C);let d,p;const m=new Promise((C,w)=>(d=C,p=w)),v=o(C=>{const w=a<=(n.cancelId||0)&&Sd(r)||a!==n.asyncId&&To(r,!1);if(w)throw C.result=w,p(C),C},"bailIfEnded"),h=o((C,w)=>{const x=new v0,b=new y0;return(async()=>{if(Oi.skipAnimation)throw Lh(n),b.result=To(r,!1),p(b),b;v(x);const S=Pe.obj(C)?Ln({},C):Ln({},w,{to:C});S.parentId=a,Ti(u,(j,_)=>{Pe.und(S[_])&&(S[_]=j)});const $=await r.start(S);return v(x),n.paused&&await new Promise(j=>{n.resumeQueue.add(j)}),$})()},"animate");let y;if(Oi.skipAnimation)return Lh(n),To(r,!1);try{let C;Pe.arr(e)?C=(async w=>{for(const x of w)await h(x)})(e):C=Promise.resolve(e(h,r.stop.bind(r))),await Promise.all([C.then(d),m]),y=To(r.get(),!0,!1)}catch(C){if(C instanceof v0)y=C.result;else if(C instanceof y0)y=C.result;else throw C}finally{a==n.asyncId&&(n.asyncId=i,n.asyncTo=i?c:void 0,n.promise=i?l:void 0)}return Pe.fun(s)&&Rt.batchedUpdates(()=>{s(y,r,r.item)}),y})()}o(iK,"runAsync");function Lh(e,t){Wm(e.timeouts,n=>n.cancel()),e.pauseQueue.clear(),e.resumeQueue.clear(),e.asyncId=e.asyncTo=e.promise=void 0,t&&(e.cancelId=t)}o(Lh,"stopAsync");const hM=class hM extends Error{constructor(){super("An async animation has been interrupted. You see this error because you forgot to use `await` or `.catch(...)` on its returned promise."),this.result=void 0}};o(hM,"BailSignal");let v0=hM;const gM=class gM extends Error{constructor(){super("SkipAnimationSignal"),this.result=void 0}};o(gM,"SkipAniamtionSignal");let y0=gM;const G3=o(e=>e instanceof Dh,"isFrameValue");let VUe=1;const vM=class vM extends f0{constructor(...t){super(...t),this.id=VUe++,this.key=void 0,this._priority=0}get priority(){return this._priority}set priority(t){this._priority!=t&&(this._priority=t,this._onPriorityChange(t))}get(){const t=oi(this);return t&&t.getValue()}to(...t){return Oi.to(this,t)}interpolate(...t){return EUe(),Oi.to(this,t)}toJSON(){return this.get()}observerAdded(t){t==1&&this._attach()}observerRemoved(t){t==0&&this._detach()}_attach(){}_detach(){}_onChange(t,n=!1){Th(this,{type:"change",parent:this,value:t,idle:n})}_onPriorityChange(t){this.idle||V1.sort(this),Th(this,{type:"priority",parent:this,priority:t})}};o(vM,"FrameValue");let Dh=vM;const Dl=Symbol.for("SpringPhase"),sK=1,K3=2,J3=4,XC=o(e=>(e[Dl]&sK)>0,"hasAnimated"),Ts=o(e=>(e[Dl]&K3)>0,"isAnimating"),Zp=o(e=>(e[Dl]&J3)>0,"isPaused"),k6=o((e,t)=>t?e[Dl]|=K3|sK:e[Dl]&=~K3,"setActiveBit"),E6=o((e,t)=>t?e[Dl]|=J3:e[Dl]&=~J3,"setPausedBit"),yM=class yM extends Dh{constructor(t,n){if(super(),this.key=void 0,this.animation=new V3,this.queue=void 0,this.defaultProps={},this._state={paused:!1,delayed:!1,pauseQueue:new Set,resumeQueue:new Set,timeouts:new Set},this._pendingCalls=new Set,this._lastCallId=0,this._lastToId=0,this._memoizedDuration=0,!Pe.und(t)||!Pe.und(n)){const r=Pe.obj(t)?Ln({},t):Ln({},n,{from:t});Pe.und(r.default)&&(r.default=!0),this.start(r)}}get idle(){return!(Ts(this)||this._state.asyncTo)||Zp(this)}get goal(){return ca(this.animation.to)}get velocity(){const t=oi(this);return t instanceof $f?t.lastVelocity||0:t.getPayload().map(n=>n.lastVelocity||0)}get hasAnimated(){return XC(this)}get isAnimating(){return Ts(this)}get isPaused(){return Zp(this)}get isDelayed(){return this._state.delayed}advance(t){let n=!0,r=!1;const a=this.animation;let{config:i,toValues:s}=a;const c=Y1(a.to);!c&&io(a.to)&&(s=Kr(ca(a.to))),a.values.forEach((d,p)=>{if(d.done)return;const m=d.constructor==_f?1:c?c[p].lastPosition:s[p];let v=a.immediate,h=m;if(!v){if(h=d.lastPosition,i.tension<=0){d.done=!0;return}let y=d.elapsedTime+=t;const C=a.fromValues[p],w=d.v0!=null?d.v0:d.v0=Pe.arr(i.velocity)?i.velocity[p]:i.velocity;let x;if(Pe.und(i.duration))if(i.decay){const b=i.decay===!0?.998:i.decay,S=Math.exp(-(1-b)*y);h=C+w/(1-b)*(1-S),v=Math.abs(d.lastPosition-h)<.1,x=w*S}else{x=d.lastVelocity==null?w:d.lastVelocity;const b=i.precision||(C==m?.005:Math.min(1,Math.abs(m-C)*.001)),S=i.restVelocity||b/10,$=i.clamp?0:i.bounce,j=!Pe.und($),_=C==m?d.v0>0:C<m;let k,E=!1;const A=1,P=Math.ceil(t/A);for(let M=0;M<P&&(k=Math.abs(x)>S,!(!k&&(v=Math.abs(m-h)<=b,v)));++M){j&&(E=h==m||h>m==_,E&&(x=-x*$,h=m));const T=-i.tension*1e-6*(h-m),z=-i.friction*.001*x,O=(T+z)/i.mass;x=x+O*A,h=h+x*A}}else{let b=1;i.duration>0&&(this._memoizedDuration!==i.duration&&(this._memoizedDuration=i.duration,d.durationProgress>0&&(d.elapsedTime=i.duration*d.durationProgress,y=d.elapsedTime+=t)),b=(i.progress||0)+y/this._memoizedDuration,b=b>1?1:b<0?0:b,d.durationProgress=b),h=C+i.easing(b)*(m-C),x=(h-d.lastPosition)/t,v=b==1}d.lastVelocity=x,Number.isNaN(h)&&(console.warn("Got NaN while animating:",this),v=!0)}c&&!c[p].done&&(v=!1),v?d.done=!0:n=!1,d.setValue(h,i.round)&&(r=!0)});const l=oi(this),u=l.getValue();if(n){const d=ca(a.to);(u!==d||r)&&!i.decay?(l.setValue(d),this._onChange(d)):r&&i.decay&&this._onChange(u),this._stop()}else r&&this._onChange(u)}set(t){return Rt.batchedUpdates(()=>{this._stop(),this._focus(t),this._set(t)}),this}pause(){this._update({pause:!0})}resume(){this._update({pause:!1})}finish(){if(Ts(this)){const{to:t,config:n}=this.animation;Rt.batchedUpdates(()=>{this._onStart(),n.decay||this._set(t,!1),this._stop()})}return this}update(t){return(this.queue||(this.queue=[])).push(t),this}start(t,n){let r;return Pe.und(t)?(r=this.queue||[],this.queue=[]):r=[Pe.obj(t)?t:Ln({},n,{to:t})],Promise.all(r.map(a=>this._update(a))).then(a=>SP(this,a))}stop(t){const{to:n}=this.animation;return this._focus(this.get()),Lh(this._state,t&&this._lastCallId),Rt.batchedUpdates(()=>this._stop(n,t)),this}reset(){this._update({reset:!0})}eventObserved(t){t.type=="change"?this._start():t.type=="priority"&&(this.priority=t.priority+1)}_prepareNode(t){const n=this.key||"";let{to:r,from:a}=t;r=Pe.obj(r)?r[n]:r,(r==null||W3(r))&&(r=void 0),a=Pe.obj(a)?a[n]:a,a==null&&(a=void 0);const i={to:r,from:a};return XC(this)||(t.reverse&&([r,a]=[a,r]),a=ca(a),Pe.und(a)?oi(this)||this._set(r):this._set(a)),i}_update(t,n){let r=Ln({},t);const{key:a,defaultProps:i}=this;r.default&&Object.assign(i,Q1(r,(l,u)=>/^on/.test(u)?eK(l,a):l)),A6(this,r,"onProps"),tm(this,"onProps",r,this);const s=this._prepareNode(r);if(Object.isFrozen(this))throw Error("Cannot animate a `SpringValue` object that is frozen. Did you forget to pass your component to `animated(...)` before animating its props?");const c=this._state;return aK(++this._lastCallId,{key:a,props:r,defaultProps:i,state:c,actions:{pause:o(()=>{Zp(this)||(E6(this,!0),vm(c.pauseQueue),tm(this,"onPause",To(this,em(this,this.animation.to)),this))},"pause"),resume:o(()=>{Zp(this)&&(E6(this,!1),Ts(this)&&this._resume(),vm(c.resumeQueue),tm(this,"onResume",To(this,em(this,this.animation.to)),this))},"resume"),start:this._merge.bind(this,s)}}).then(l=>{if(r.loop&&l.finished&&!(n&&l.noop)){const u=cK(r);if(u)return this._update(u,!0)}return l})}_merge(t,n,r){if(n.cancel)return this.stop(!0),r(Sd(this));const a=!Pe.und(t.to),i=!Pe.und(t.from);if(a||i)if(n.callId>this._lastToId)this._lastToId=n.callId;else return r(Sd(this));const{key:s,defaultProps:c,animation:l}=this,{to:u,from:d}=l;let{to:p=u,from:m=d}=t;i&&!a&&(!n.default||Pe.und(p))&&(p=m),n.reverse&&([p,m]=[m,p]);const v=!Qi(m,d);v&&(l.from=m),m=ca(m);const h=!Qi(p,u);h&&this._focus(p);const y=W3(n.to),{config:C}=l,{decay:w,velocity:x}=C;(a||i)&&(C.velocity=0),n.config&&!y&&qUe(C,la(n.config,s),n.config!==c.config?la(c.config,s):void 0);let b=oi(this);if(!b||Pe.und(p))return r(To(this,!0));const S=Pe.und(n.reset)?i&&!n.default:!Pe.und(m)&&Hm(n.reset,s),$=S?m:this.get(),j=Ih(p),_=Pe.num(j)||Pe.arr(j)||J1(j),k=!y&&(!_||Hm(c.immediate||n.immediate,s));if(h){const M=F3(p);if(M!==b.constructor)if(k)b=this._set(j);else throw Error(`Cannot animate between ${b.constructor.name} and ${M.name}, as the "to" prop suggests`)}const E=b.constructor;let A=io(p),P=!1;if(!A){const M=S||!XC(this)&&v;(h||M)&&(P=Qi(Ih($),j),A=!P),(!Qi(l.immediate,k)&&!k||!Qi(C.decay,w)||!Qi(C.velocity,x))&&(A=!0)}if(P&&Ts(this)&&(l.changed&&!S?A=!0:A||this._stop(u)),!y&&((A||io(u))&&(l.values=b.getPayload(),l.toValues=io(p)?null:E==_f?[1]:Kr(j)),l.immediate!=k&&(l.immediate=k,!k&&!S&&this._set(u)),A)){const{onRest:M}=l;kt(KUe,z=>A6(this,n,z));const T=To(this,em(this,u));vm(this._pendingCalls,T),this._pendingCalls.add(r),l.changed&&Rt.batchedUpdates(()=>{l.changed=!S,M==null||M(T,this),S?la(c.onRest,T):l.onStart==null||l.onStart(T,this)})}S&&this._set($),y?r(iK(n.to,n,this._state,this)):A?this._start():Ts(this)&&!h?this._pendingCalls.add(r):r(oK($))}_focus(t){const n=this.animation;t!==n.to&&(v6(this)&&this._detach(),n.to=t,v6(this)&&this._attach())}_attach(){let t=0;const{to:n}=this.animation;io(n)&&(yp(n,this),G3(n)&&(t=n.priority+1)),this.priority=t}_detach(){const{to:t}=this.animation;io(t)&&Oh(t,this)}_set(t,n=!0){const r=ca(t);if(!Pe.und(r)){const a=oi(this);if(!a||!Qi(r,a.getValue())){const i=F3(r);!a||a.constructor!=i?xP(this,i.create(r)):a.setValue(r),a&&Rt.batchedUpdates(()=>{this._onChange(r,n)})}}return oi(this)}_onStart(){const t=this.animation;t.changed||(t.changed=!0,tm(this,"onStart",To(this,em(this,t.to)),this))}_onChange(t,n){n||(this._onStart(),la(this.animation.onChange,t,this)),la(this.defaultProps.onChange,t,this),super._onChange(t,n)}_start(){const t=this.animation;oi(this).reset(ca(t.to)),t.immediate||(t.fromValues=t.values.map(n=>n.lastPosition)),Ts(this)||(k6(this,!0),Zp(this)||this._resume())}_resume(){Oi.skipAnimation?this.finish():V1.start(this)}_stop(t,n){if(Ts(this)){k6(this,!1);const r=this.animation;kt(r.values,i=>{i.done=!0}),r.toValues&&(r.onChange=r.onPause=r.onResume=void 0),Th(this,{type:"idle",parent:this});const a=n?Sd(this.get()):To(this.get(),em(this,t??r.to));vm(this._pendingCalls,a),r.changed&&(r.changed=!1,tm(this,"onRest",a,this))}}};o(yM,"SpringValue");let Y3=yM;function em(e,t){const n=Ih(t),r=Ih(e.get());return Qi(r,n)}o(em,"checkFinished");function cK(e,t=e.loop,n=e.to){let r=la(t);if(r){const a=r!==!0&&wP(r),i=(a||e).reverse,s=!a||a.reset;return Nh(Ln({},e,{loop:t,default:!1,pause:void 0,to:!i||W3(n)?n:void 0,from:s?e.from:void 0,reset:s},a))}}o(cK,"createLoopUpdate");function Nh(e){const{to:t,from:n}=e=wP(e),r=new Set;return Pe.obj(t)&&R6(t,r),Pe.obj(n)&&R6(n,r),e.keys=r.size?Array.from(r):null,e}o(Nh,"createUpdate");function GUe(e){const t=Nh(e);return Pe.und(t.default)&&(t.default=Q1(t)),t}o(GUe,"declareUpdate");function R6(e,t){Ti(e,(n,r)=>n!=null&&t.add(r))}o(R6,"findDefined");const KUe=["onStart","onRest","onChange","onPause","onResume"];function A6(e,t,n){e.animation[n]=t[n]!==tK(t,n)?eK(t[n],e.key):void 0}o(A6,"mergeActiveFn");function tm(e,t,...n){var r,a,i,s;(r=(a=e.animation)[t])==null||r.call(a,...n),(i=(s=e.defaultProps)[t])==null||i.call(s,...n)}o(tm,"sendEvent");const JUe=["onStart","onChange","onRest"];let YUe=1;const bM=class bM{constructor(t,n){this.id=YUe++,this.springs={},this.queue=[],this.ref=void 0,this._flush=void 0,this._initialProps=void 0,this._lastAsyncId=0,this._active=new Set,this._changed=new Set,this._started=!1,this._item=void 0,this._state={paused:!1,pauseQueue:new Set,resumeQueue:new Set,timeouts:new Set},this._events={onStart:new Map,onChange:new Map,onRest:new Map},this._onFrame=this._onFrame.bind(this),n&&(this._flush=n),t&&this.start(Ln({default:!0},t))}get idle(){return!this._state.asyncTo&&Object.values(this.springs).every(t=>t.idle&&!t.isDelayed&&!t.isPaused)}get item(){return this._item}set item(t){this._item=t}get(){const t={};return this.each((n,r)=>t[r]=n.get()),t}set(t){for(const n in t){const r=t[n];Pe.und(r)||this.springs[n].set(r)}}update(t){return t&&this.queue.push(Nh(t)),this}start(t){let{queue:n}=this;return t?n=Kr(t).map(Nh):this.queue=[],this._flush?this._flush(this,n):(pK(this,n),Q3(this,n))}stop(t,n){if(t!==!!t&&(n=t),n){const r=this.springs;kt(Kr(n),a=>r[a].stop(!!t))}else Lh(this._state,this._lastAsyncId),this.each(r=>r.stop(!!t));return this}pause(t){if(Pe.und(t))this.start({pause:!0});else{const n=this.springs;kt(Kr(t),r=>n[r].pause())}return this}resume(t){if(Pe.und(t))this.start({pause:!1});else{const n=this.springs;kt(Kr(t),r=>n[r].resume())}return this}each(t){Ti(this.springs,t)}_onFrame(){const{onStart:t,onChange:n,onRest:r}=this._events,a=this._active.size>0,i=this._changed.size>0;(a&&!this._started||i&&!this._started)&&(this._started=!0,Wm(t,([l,u])=>{u.value=this.get(),l(u,this,this._item)}));const s=!a&&this._started,c=i||s&&r.size?this.get():null;i&&n.size&&Wm(n,([l,u])=>{u.value=c,l(u,this,this._item)}),s&&(this._started=!1,Wm(r,([l,u])=>{u.value=c,l(u,this,this._item)}))}eventObserved(t){if(t.type=="change")this._changed.add(t.parent),t.idle||this._active.add(t.parent);else if(t.type=="idle")this._active.delete(t.parent);else return;Rt.onFrame(this._onFrame)}};o(bM,"Controller");let b0=bM;function Q3(e,t){return Promise.all(t.map(n=>lK(e,n))).then(n=>SP(e,n))}o(Q3,"flushUpdateQueue");async function lK(e,t,n){const{keys:r,to:a,from:i,loop:s,onRest:c,onResolve:l}=t,u=Pe.obj(t.default)&&t.default;s&&(t.loop=!1),a===!1&&(t.to=null),i===!1&&(t.from=null);const d=Pe.arr(a)||Pe.fun(a)?a:void 0;d?(t.to=void 0,t.onRest=void 0,u&&(u.onRest=void 0)):kt(JUe,y=>{const C=t[y];if(Pe.fun(C)){const w=e._events[y];t[y]=({finished:x,cancelled:b})=>{const S=w.get(C);S?(x||(S.finished=!1),b&&(S.cancelled=!0)):w.set(C,{value:null,finished:x||!1,cancelled:b||!1})},u&&(u[y]=t[y])}});const p=e._state;t.pause===!p.paused?(p.paused=t.pause,vm(t.pause?p.pauseQueue:p.resumeQueue)):p.paused&&(t.pause=!0);const m=(r||Object.keys(e.springs)).map(y=>e.springs[y].start(t)),v=t.cancel===!0||tK(t,"cancel")===!0;(d||v&&p.asyncId)&&m.push(aK(++e._lastAsyncId,{props:t,state:p,actions:{pause:z3,resume:z3,start(y,C){v?(Lh(p,e._lastAsyncId),C(Sd(e))):(y.onRest=c,C(iK(d,y,p,e)))}}})),p.paused&&await new Promise(y=>{p.resumeQueue.add(y)});const h=SP(e,await Promise.all(m));if(s&&h.finished&&!(n&&h.noop)){const y=cK(t,s,a);if(y)return pK(e,[y]),lK(e,y,!0)}return l&&Rt.batchedUpdates(()=>l(h,e,e.item)),h}o(lK,"flushUpdate");function X3(e,t){const n=Ln({},e.springs);return t&&kt(Kr(t),r=>{Pe.und(r.keys)&&(r=Nh(r)),Pe.obj(r.to)||(r=Ln({},r,{to:void 0})),fK(n,r,a=>dK(a))}),uK(e,n),n}o(X3,"getSprings");function uK(e,t){Ti(t,(n,r)=>{e.springs[r]||(e.springs[r]=n,yp(n,e))})}o(uK,"setSprings");function dK(e,t){const n=new Y3;return n.key=e,t&&yp(n,t),n}o(dK,"createSpring");function fK(e,t,n){t.keys&&kt(t.keys,r=>{(e[r]||(e[r]=n(r)))._prepareNode(t)})}o(fK,"prepareSprings");function pK(e,t){kt(t,n=>{fK(e.springs,n,r=>dK(r,e))})}o(pK,"prepareKeys");function QUe(e,t){if(e==null)return{};var n={},r=Object.keys(e),a,i;for(i=0;i<r.length;i++)a=r[i],!(t.indexOf(a)>=0)&&(n[a]=e[a]);return n}o(QUe,"_objectWithoutPropertiesLoose$1");const XUe=["children"],qg=o(e=>{let{children:t}=e,n=QUe(e,XUe);const r=g.useContext(x0),a=n.pause||!!r.pause,i=n.immediate||!!r.immediate;n=MUe(()=>({pause:a,immediate:i}),[a,i]);const{Provider:s}=x0;return g.createElement(s,{value:n},t)},"SpringContext"),x0=ZUe(qg,{});qg.Provider=x0.Provider;qg.Consumer=x0.Consumer;function ZUe(e,t){return Object.assign(e,g.createContext(t)),e.Provider._context=e,e.Consumer._context=e,e}o(ZUe,"makeContext");const mK=o(()=>{const e=[],t=o(function(a){AUe();const i=[];return kt(e,(s,c)=>{if(Pe.und(a))i.push(s.start());else{const l=n(a,s,c);l&&i.push(s.start(l))}}),i},"SpringRef");t.current=e,t.add=function(r){e.includes(r)||e.push(r)},t.delete=function(r){const a=e.indexOf(r);~a&&e.splice(a,1)},t.pause=function(){return kt(e,r=>r.pause(...arguments)),this},t.resume=function(){return kt(e,r=>r.resume(...arguments)),this},t.set=function(r){kt(e,a=>a.set(r))},t.start=function(r){const a=[];return kt(e,(i,s)=>{if(Pe.und(r))a.push(i.start());else{const c=this._getProps(r,i,s);c&&a.push(i.start(c))}}),a},t.stop=function(){return kt(e,r=>r.stop(...arguments)),this},t.update=function(r){return kt(e,(a,i)=>a.update(this._getProps(r,a,i))),this};const n=o(function(a,i,s){return Pe.fun(a)?a(s,i):a},"_getProps");return t._getProps=n,t},"SpringRef");function eHe(e,t,n){const r=Pe.fun(t)&&t;r&&!n&&(n=[]);const a=g.useMemo(()=>r||arguments.length==3?mK():void 0,[]),i=g.useRef(0),s=yP(),c=g.useMemo(()=>({ctrls:[],queue:[],flush(w,x){const b=X3(w,x);return i.current>0&&!c.queue.length&&!Object.keys(b).some($=>!w.springs[$])?Q3(w,x):new Promise($=>{uK(w,b),c.queue.push(()=>{$(Q3(w,x))}),s()})}}),[]),l=g.useRef([...c.ctrls]),u=[],d=D3(e)||0;g.useMemo(()=>{kt(l.current.slice(e,d),w=>{U3(w,a),w.stop(!0)}),l.current.length=e,p(d,e)},[e]),g.useMemo(()=>{p(0,Math.min(d,e))},n);function p(w,x){for(let b=w;b<x;b++){const S=l.current[b]||(l.current[b]=new b0(null,c.flush)),$=r?r(b,S):t[b];$&&(u[b]=GUe($))}}o(p,"declareUpdates");const m=l.current.map((w,x)=>X3(w,u[x])),v=g.useContext(qg),h=D3(v),y=v!==h&&nK(v);nl(()=>{i.current++,c.ctrls=l.current;const{queue:w}=c;w.length&&(c.queue=[],kt(w,x=>x())),kt(l.current,(x,b)=>{a==null||a.add(x),y&&x.start({default:v});const S=u[b];S&&(rK(x,S.ref),x.ref?x.queue.push(S):x.start(S))})}),bP(()=>()=>{kt(c.ctrls,w=>w.stop(!0))});const C=m.map(w=>Ln({},w));return a?[C,a]:C}o(eHe,"useSprings");function Es(e,t){const n=Pe.fun(e),[[r],a]=eHe(1,n?e:[e],n?[]:t);return n||arguments.length==2?[r,a]:r}o(Es,"useSpring");let Wr;(function(e){e.MOUNT="mount",e.ENTER="enter",e.UPDATE="update",e.LEAVE="leave"})(Wr||(Wr={}));function jP(e,t,n){const r=Pe.fun(t)&&t,{reset:a,sort:i,trail:s=0,expires:c=!0,exitBeforeEnter:l=!1,onDestroyed:u,ref:d,config:p}=r?r():t,m=g.useMemo(()=>r||arguments.length==3?mK():void 0,[]),v=Kr(e),h=[],y=g.useRef(null),C=a?null:y.current;nl(()=>{y.current=h}),bP(()=>(kt(y.current,z=>{var O;(O=z.ctrl.ref)==null||O.add(z.ctrl);const N=_.get(z);N&&z.ctrl.start(N.payload)}),()=>{kt(y.current,z=>{z.expired&&clearTimeout(z.expirationId),U3(z.ctrl,m),z.ctrl.stop(!0)})}));const w=nHe(v,r?r():t,C),x=a&&y.current||[];nl(()=>kt(x,({ctrl:z,item:O,key:N})=>{U3(z,m),la(u,O,N)}));const b=[];if(C&&kt(C,(z,O)=>{z.expired?(clearTimeout(z.expirationId),x.push(z)):(O=b[O]=w.indexOf(z.key),~O&&(h[O]=z))}),kt(v,(z,O)=>{h[O]||(h[O]={key:w[O],item:z,phase:Wr.MOUNT,ctrl:new b0},h[O].ctrl.item=z)}),b.length){let z=-1;const{leave:O}=r?r():t;kt(b,(N,F)=>{const I=C[F];~N?(z=h.indexOf(I),h[z]=Ln({},I,{item:v[N]})):O&&h.splice(++z,0,I)})}Pe.fun(i)&&h.sort((z,O)=>i(z.item,O.item));let S=-s;const $=yP(),j=Q1(t),_=new Map,k=g.useRef(new Map),E=g.useRef(!1);kt(h,(z,O)=>{const N=z.key,F=z.phase,I=r?r():t;let B,U,te=la(I.delay||0,N);if(F==Wr.MOUNT)B=I.enter,U=Wr.ENTER;else{const le=w.indexOf(N)<0;if(F!=Wr.LEAVE)if(le)B=I.leave,U=Wr.LEAVE;else if(B=I.update)U=Wr.UPDATE;else return;else if(!le)B=I.enter,U=Wr.ENTER;else return}if(B=la(B,z.item,O),B=Pe.obj(B)?wP(B):{to:B},!B.config){const le=p||j.config;B.config=la(le,z.item,O,U)}S+=s;const Z=Ln({},j,{delay:te+S,ref:d,immediate:I.immediate,reset:!1},B);if(U==Wr.ENTER&&Pe.und(Z.from)){const le=r?r():t,oe=Pe.und(le.initial)||C?le.from:le.initial;Z.from=la(oe,z.item,O)}const{onResolve:be}=Z;Z.onResolve=le=>{la(be,le);const oe=y.current,Se=oe.find(xe=>xe.key===N);if(Se&&!(le.cancelled&&Se.phase!=Wr.UPDATE)&&Se.ctrl.idle){const xe=oe.every(X=>X.ctrl.idle);if(Se.phase==Wr.LEAVE){const X=la(c,Se.item);if(X!==!1){const Re=X===!0?0:X;if(Se.expired=!0,!xe&&Re>0){Re<=2147483647&&(Se.expirationId=setTimeout($,Re));return}}}xe&&oe.some(X=>X.expired)&&(k.current.delete(Se),l&&(E.current=!0),$())}};const ne=X3(z.ctrl,Z);U===Wr.LEAVE&&l?k.current.set(z,{phase:U,springs:ne,payload:Z}):_.set(z,{phase:U,springs:ne,payload:Z})});const A=g.useContext(qg),P=D3(A),M=A!==P&&nK(A);nl(()=>{M&&kt(h,z=>{z.ctrl.start({default:A})})},[A]),kt(_,(z,O)=>{if(k.current.size){const N=h.findIndex(F=>F.key===O.key);h.splice(N,1)}}),nl(()=>{kt(k.current.size?k.current:_,({phase:z,payload:O},N)=>{const{ctrl:F}=N;N.phase=z,m==null||m.add(F),M&&z==Wr.ENTER&&F.start({default:A}),O&&(rK(F,O.ref),F.ref&&!E.current?F.update(O):(F.start(O),E.current&&(E.current=!1)))})},a?void 0:n);const T=o(z=>g.createElement(g.Fragment,null,h.map((O,N)=>{const{springs:F}=_.get(O)||O.ctrl,I=z(Ln({},F),O.item,O,N);return I&&I.type?g.createElement(I.type,Ln({},I.props,{key:Pe.str(O.key)||Pe.num(O.key)?O.key:O.ctrl.id,ref:I.ref})):I})),"renderTransitions");return m?[T,m]:T}o(jP,"useTransition");let tHe=1;function nHe(e,{key:t,keys:n=t},r){if(n===null){const a=new Set;return e.map(i=>{const s=r&&r.find(c=>c.item===i&&c.phase!==Wr.LEAVE&&!a.has(c));return s?(a.add(s),s.key):tHe++})}return Pe.und(n)?e:Pe.fun(n)?e.map(n):Kr(n)}o(nHe,"getKeys");const xM=class xM extends Dh{constructor(t,n){super(),this.key=void 0,this.idle=!0,this.calc=void 0,this._active=new Set,this.source=t,this.calc=Mh(...n);const r=this._get(),a=F3(r);xP(this,a.create(r))}advance(t){const n=this._get(),r=this.get();Qi(n,r)||(oi(this).setValue(n),this._onChange(n,this.idle)),!this.idle&&P6(this._active)&&ZC(this)}_get(){const t=Pe.arr(this.source)?this.source.map(ca):Kr(ca(this.source));return this.calc(...t)}_start(){this.idle&&!P6(this._active)&&(this.idle=!1,kt(Y1(this),t=>{t.done=!1}),Oi.skipAnimation?(Rt.batchedUpdates(()=>this.advance()),ZC(this)):V1.start(this))}_attach(){let t=1;kt(Kr(this.source),n=>{io(n)&&yp(n,this),G3(n)&&(n.idle||this._active.add(n),t=Math.max(t,n.priority+1))}),this.priority=t,this._start()}_detach(){kt(Kr(this.source),t=>{io(t)&&Oh(t,this)}),this._active.clear(),ZC(this)}eventObserved(t){t.type=="change"?t.idle?this.advance():(this._active.add(t.parent),this._start()):t.type=="idle"?this._active.delete(t.parent):t.type=="priority"&&(this.priority=Kr(this.source).reduce((n,r)=>Math.max(n,(G3(r)?r.priority:0)+1),0))}};o(xM,"Interpolation");let w0=xM;function rHe(e){return e.idle!==!1}o(rHe,"isIdle");function P6(e){return!e.size||Array.from(e).every(rHe)}o(P6,"checkIdle");function ZC(e){e.idle||(e.idle=!0,kt(Y1(e),t=>{t.done=!0}),Th(e,{type:"idle",parent:e}))}o(ZC,"becomeIdle");const Z3=o((e,...t)=>new w0(e,t),"to$1");Oi.assign({createStringInterpolator:XG,to:o((e,t)=>new w0(e,t),"to")});function $P(e,t){if(e==null)return{};var n={},r=Object.keys(e),a,i;for(i=0;i<r.length;i++)a=r[i],!(t.indexOf(a)>=0)&&(n[a]=e[a]);return n}o($P,"_objectWithoutPropertiesLoose");const aHe=["style","children","scrollTop","scrollLeft"],hK=/^--/;function oHe(e,t){return t==null||typeof t=="boolean"||t===""?"":typeof t=="number"&&t!==0&&!hK.test(e)&&!(qm.hasOwnProperty(e)&&qm[e])?t+"px":(""+t).trim()}o(oHe,"dangerousStyleValue");const M6={};function iHe(e,t){if(!e.nodeType||!e.setAttribute)return!1;const n=e.nodeName==="filter"||e.parentNode&&e.parentNode.nodeName==="filter",r=t,{style:a,children:i,scrollTop:s,scrollLeft:c}=r,l=$P(r,aHe),u=Object.values(l),d=Object.keys(l).map(p=>n||e.hasAttribute(p)?p:M6[p]||(M6[p]=p.replace(/([A-Z])/g,m=>"-"+m.toLowerCase())));i!==void 0&&(e.textContent=i);for(let p in a)if(a.hasOwnProperty(p)){const m=oHe(p,a[p]);hK.test(p)?e.style.setProperty(p,m):e.style[p]=m}d.forEach((p,m)=>{e.setAttribute(p,u[m])}),s!==void 0&&(e.scrollTop=s),c!==void 0&&(e.scrollLeft=c)}o(iHe,"applyAnimatedValues");let qm={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0};const sHe=o((e,t)=>e+t.charAt(0).toUpperCase()+t.substring(1),"prefixKey"),cHe=["Webkit","Ms","Moz","O"];qm=Object.keys(qm).reduce((e,t)=>(cHe.forEach(n=>e[sHe(n,t)]=e[t]),e),qm);const lHe=["x","y","z"],uHe=/^(matrix|translate|scale|rotate|skew)/,dHe=/^(translate)/,fHe=/^(rotate|skew)/,eS=o((e,t)=>Pe.num(e)&&e!==0?e+t:e,"addUnit"),Fy=o((e,t)=>Pe.arr(e)?e.every(n=>Fy(n,t)):Pe.num(e)?e===t:parseFloat(e)===t,"isValueIdentity"),wM=class wM extends kf{constructor(t){let{x:n,y:r,z:a}=t,i=$P(t,lHe);const s=[],c=[];(n||r||a)&&(s.push([n||0,r||0,a||0]),c.push(l=>[`translate3d(${l.map(u=>eS(u,"px")).join(",")})`,Fy(l,0)])),Ti(i,(l,u)=>{if(u==="transform")s.push([l||""]),c.push(d=>[d,d===""]);else if(uHe.test(u)){if(delete i[u],Pe.und(l))return;const d=dHe.test(u)?"px":fHe.test(u)?"deg":"";s.push(Kr(l)),c.push(u==="rotate3d"?([p,m,v,h])=>[`rotate3d(${p},${m},${v},${eS(h,d)})`,Fy(h,0)]:p=>[`${u}(${p.map(m=>eS(m,d)).join(",")})`,Fy(p,u.startsWith("scale")?1:0)])}}),s.length&&(i.transform=new t_(s,c)),super(i)}};o(wM,"AnimatedStyle");let e_=wM;const CM=class CM extends f0{constructor(t,n){super(),this._value=null,this.inputs=t,this.transforms=n}get(){return this._value||(this._value=this._get())}_get(){let t="",n=!0;return kt(this.inputs,(r,a)=>{const i=ca(r[0]),[s,c]=this.transforms[a](Pe.arr(i)?i:r.map(ca));t+=" "+s,n=n&&c}),n?"none":t}observerAdded(t){t==1&&kt(this.inputs,n=>kt(n,r=>io(r)&&yp(r,this)))}observerRemoved(t){t==0&&kt(this.inputs,n=>kt(n,r=>io(r)&&Oh(r,this)))}eventObserved(t){t.type=="change"&&(this._value=null),Th(this,t)}};o(CM,"FluidTransform");let t_=CM;const pHe=["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","big","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr","circle","clipPath","defs","ellipse","foreignObject","g","image","line","linearGradient","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","svg","text","tspan"],mHe=["scrollTop","scrollLeft"];Oi.assign({batchedUpdates:Nf.unstable_batchedUpdates,createStringInterpolator:XG,colors:lUe});const hHe=NUe(pHe,{applyAnimatedValues:iHe,createAnimatedStyle:o(e=>new e_(e),"createAnimatedStyle"),getComponentProps:o(e=>$P(e,mHe),"getComponentProps")}),nr=hHe.animated;function Nl(){return Nl=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Nl.apply(this,arguments)}o(Nl,"v$4");var gHe={pointerEvents:"none",position:"absolute",zIndex:10,top:0,left:0},T6=o(function(e,t){return"translate("+e+"px, "+t+"px)"},"m$1"),gK=g.memo(function(e){var t,n=e.position,r=e.anchor,a=e.children,i=dr(),s=Xo(),c=s.animate,l=s.config,u=yJ(),d=u[0],p=u[1],m=g.useRef(!1),v=void 0,h=!1,y=p.width>0&&p.height>0,C=Math.round(n[0]),w=Math.round(n[1]);y&&(r==="top"?(C-=p.width/2,w-=p.height+14):r==="right"?(C+=14,w-=p.height/2):r==="bottom"?(C-=p.width/2,w+=14):r==="left"?(C-=p.width+14,w-=p.height/2):r==="center"&&(C-=p.width/2,w-=p.height/2),v={transform:T6(C,w)},m.current||(h=!0),m.current=[C,w]);var x=Es({to:v,config:l,immediate:!c||h}),b=Nl({},gHe,i.tooltip,{transform:(t=x.transform)!=null?t:T6(C,w)});return f.jsx(nr.div,{ref:d,style:b,children:a})});gK.displayName="TooltipWrapper";var vHe=g.memo(function(e){var t=e.size,n=t===void 0?12:t,r=e.color,a=e.style;return f.jsx("span",{style:Nl({display:"block",width:n,height:n,background:r},a===void 0?{}:a)})}),yHe=g.memo(function(e){var t,n=e.id,r=e.value,a=e.format,i=e.enableChip,s=i!==void 0&&i,c=e.color,l=e.renderContent,u=dr(),d=bJ(a);if(typeof l=="function")t=l();else{var p=r;d!==void 0&&p!==void 0&&(p=d(p)),t=f.jsxs("div",{style:u.tooltip.basic,children:[s&&f.jsx(vHe,{color:c,style:u.tooltip.chip}),p!==void 0?f.jsxs("span",{children:[n,": ",f.jsx("strong",{children:""+p})]}):n]})}return f.jsx("div",{style:u.tooltip.container,children:t})}),bHe={width:"100%",borderCollapse:"collapse"},xHe=g.memo(function(e){var t,n=e.title,r=e.rows,a=r===void 0?[]:r,i=e.renderContent,s=dr();return a.length?(t=typeof i=="function"?i():f.jsxs("div",{children:[n&&n,f.jsx("table",{style:Nl({},bHe,s.tooltip.table),children:f.jsx("tbody",{children:a.map(function(c,l){return f.jsx("tr",{children:c.map(function(u,d){return f.jsx("td",{style:s.tooltip.tableCell,children:u},d)})},l)})})})]}),f.jsx("div",{style:s.tooltip.container,children:t})):null});xHe.displayName="TableTooltip";var n_=g.memo(function(e){var t=e.x0,n=e.x1,r=e.y0,a=e.y1,i=dr(),s=Xo(),c=s.animate,l=s.config,u=g.useMemo(function(){return Nl({},i.crosshair.line,{pointerEvents:"none"})},[i.crosshair.line]),d=Es({x1:t,x2:n,y1:r,y2:a,config:l,immediate:!c});return f.jsx(nr.line,Nl({},d,{fill:"none",style:u}))});n_.displayName="CrosshairLine";var wHe=g.memo(function(e){var t,n,r=e.width,a=e.height,i=e.type,s=e.x,c=e.y;return i==="cross"?(t={x0:s,x1:s,y0:0,y1:a},n={x0:0,x1:r,y0:c,y1:c}):i==="top-left"?(t={x0:s,x1:s,y0:0,y1:c},n={x0:0,x1:s,y0:c,y1:c}):i==="top"?t={x0:s,x1:s,y0:0,y1:c}:i==="top-right"?(t={x0:s,x1:s,y0:0,y1:c},n={x0:s,x1:r,y0:c,y1:c}):i==="right"?n={x0:s,x1:r,y0:c,y1:c}:i==="bottom-right"?(t={x0:s,x1:s,y0:c,y1:a},n={x0:s,x1:r,y0:c,y1:c}):i==="bottom"?t={x0:s,x1:s,y0:c,y1:a}:i==="bottom-left"?(t={x0:s,x1:s,y0:c,y1:a},n={x0:0,x1:s,y0:c,y1:c}):i==="left"?n={x0:0,x1:s,y0:c,y1:c}:i==="x"?t={x0:s,x1:s,y0:0,y1:a}:i==="y"&&(n={x0:0,x1:r,y0:c,y1:c}),f.jsxs(f.Fragment,{children:[t&&f.jsx(n_,{x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1}),n&&f.jsx(n_,{x0:n.x0,x1:n.x1,y0:n.y0,y1:n.y1})]})});wHe.displayName="Crosshair";var vK=g.createContext({showTooltipAt:o(function(){},"showTooltipAt"),showTooltipFromEvent:o(function(){},"showTooltipFromEvent"),hideTooltip:o(function(){},"hideTooltip")}),r_={isVisible:!1,position:[null,null],content:null,anchor:null},yK=g.createContext(r_),CHe=o(function(e){var t=g.useState(r_),n=t[0],r=t[1],a=g.useCallback(function(c,l,u){var d=l[0],p=l[1];u===void 0&&(u="top"),r({isVisible:!0,position:[d,p],anchor:u,content:c})},[r]),i=g.useCallback(function(c,l,u){u===void 0&&(u="top");var d=e.current.getBoundingClientRect(),p=e.current.offsetWidth,m=p===d.width?1:p/d.width,v=(l.clientX-d.left)*m,h=(l.clientY-d.top)*m;u!=="left"&&u!=="right"||(u=v<d.width/2?"right":"left"),r({isVisible:!0,position:[v,h],anchor:u,content:c})},[e,r]),s=g.useCallback(function(){r(r_)},[r]);return{actions:g.useMemo(function(){return{showTooltipAt:a,showTooltipFromEvent:i,hideTooltip:s}},[a,i,s]),state:n}},"O$5"),bK=o(function(){var e=g.useContext(vK);if(e===void 0)throw new Error("useTooltip must be used within a TooltipProvider");return e},"k$4"),SHe=o(function(){var e=g.useContext(yK);if(e===void 0)throw new Error("useTooltipState must be used within a TooltipProvider");return e},"z$5"),jHe=o(function(e){return e.isVisible},"A$5"),$He=o(function(){var e=SHe();return jHe(e)?f.jsx(gK,{position:e.position,anchor:e.anchor,children:e.content}):null},"F"),_He=o(function(e){var t=e.container,n=e.children,r=CHe(t),a=r.actions,i=r.state;return f.jsx(vK.Provider,{value:a,children:f.jsx(yK.Provider,{value:i,children:n})})},"M$2");function X1(e,t,n){e.prototype=t.prototype=n,n.constructor=e}o(X1,"define");function _P(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}o(_P,"extend");function bp(){}o(bp,"Color");var Fl=.7,Ef=1/Fl,jd="\\s*([+-]?\\d+)\\s*",Fh="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*",ki="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*",kHe=/^#([0-9a-f]{3,8})$/,EHe=new RegExp("^rgb\\("+[jd,jd,jd]+"\\)$"),RHe=new RegExp("^rgb\\("+[ki,ki,ki]+"\\)$"),AHe=new RegExp("^rgba\\("+[jd,jd,jd,Fh]+"\\)$"),PHe=new RegExp("^rgba\\("+[ki,ki,ki,Fh]+"\\)$"),MHe=new RegExp("^hsl\\("+[Fh,ki,ki]+"\\)$"),THe=new RegExp("^hsla\\("+[Fh,ki,ki,Fh]+"\\)$"),O6={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};X1(bp,Bh,{copy:o(function(e){return Object.assign(new this.constructor,this,e)},"copy"),displayable:o(function(){return this.rgb().displayable()},"displayable"),hex:z6,formatHex:z6,formatHsl:OHe,formatRgb:I6,toString:I6});function z6(){return this.rgb().formatHex()}o(z6,"color_formatHex");function OHe(){return wK(this).formatHsl()}o(OHe,"color_formatHsl");function I6(){return this.rgb().formatRgb()}o(I6,"color_formatRgb");function Bh(e){var t,n;return e=(e+"").trim().toLowerCase(),(t=kHe.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?L6(t):n===3?new Jr(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?Lv(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?Lv(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=EHe.exec(e))?new Jr(t[1],t[2],t[3],1):(t=RHe.exec(e))?new Jr(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=AHe.exec(e))?Lv(t[1],t[2],t[3],t[4]):(t=PHe.exec(e))?Lv(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=MHe.exec(e))?F6(t[1],t[2]/100,t[3]/100,1):(t=THe.exec(e))?F6(t[1],t[2]/100,t[3]/100,t[4]):O6.hasOwnProperty(e)?L6(O6[e]):e==="transparent"?new Jr(NaN,NaN,NaN,0):null}o(Bh,"color$1");function L6(e){return new Jr(e>>16&255,e>>8&255,e&255,1)}o(L6,"rgbn");function Lv(e,t,n,r){return r<=0&&(e=t=n=NaN),new Jr(e,t,n,r)}o(Lv,"rgba");function xK(e){return e instanceof bp||(e=Bh(e)),e?(e=e.rgb(),new Jr(e.r,e.g,e.b,e.opacity)):new Jr}o(xK,"rgbConvert");function Rf(e,t,n,r){return arguments.length===1?xK(e):new Jr(e,t,n,r??1)}o(Rf,"rgb$1");function Jr(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}o(Jr,"Rgb");X1(Jr,Rf,_P(bp,{brighter:o(function(e){return e=e==null?Ef:Math.pow(Ef,e),new Jr(this.r*e,this.g*e,this.b*e,this.opacity)},"brighter"),darker:o(function(e){return e=e==null?Fl:Math.pow(Fl,e),new Jr(this.r*e,this.g*e,this.b*e,this.opacity)},"darker"),rgb:o(function(){return this},"rgb"),displayable:o(function(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},"displayable"),hex:D6,formatHex:D6,formatRgb:N6,toString:N6}));function D6(){return"#"+tS(this.r)+tS(this.g)+tS(this.b)}o(D6,"rgb_formatHex");function N6(){var e=this.opacity;return e=isNaN(e)?1:Math.max(0,Math.min(1,e)),(e===1?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(e===1?")":", "+e+")")}o(N6,"rgb_formatRgb");function tS(e){return e=Math.max(0,Math.min(255,Math.round(e)||0)),(e<16?"0":"")+e.toString(16)}o(tS,"hex");function F6(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new bi(e,t,n,r)}o(F6,"hsla");function wK(e){if(e instanceof bi)return new bi(e.h,e.s,e.l,e.opacity);if(e instanceof bp||(e=Bh(e)),!e)return new bi;if(e instanceof bi)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,a=Math.min(t,n,r),i=Math.max(t,n,r),s=NaN,c=i-a,l=(i+a)/2;return c?(t===i?s=(n-r)/c+(n<r)*6:n===i?s=(r-t)/c+2:s=(t-n)/c+4,c/=l<.5?i+a:2-i-a,s*=60):c=l>0&&l<1?0:s,new bi(s,c,l,e.opacity)}o(wK,"hslConvert");function zHe(e,t,n,r){return arguments.length===1?wK(e):new bi(e,t,n,r??1)}o(zHe,"hsl");function bi(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}o(bi,"Hsl");X1(bi,zHe,_P(bp,{brighter:o(function(e){return e=e==null?Ef:Math.pow(Ef,e),new bi(this.h,this.s,this.l*e,this.opacity)},"brighter"),darker:o(function(e){return e=e==null?Fl:Math.pow(Fl,e),new bi(this.h,this.s,this.l*e,this.opacity)},"darker"),rgb:o(function(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,a=2*n-r;return new Jr(nS(e>=240?e-240:e+120,a,r),nS(e,a,r),nS(e<120?e+240:e-120,a,r),this.opacity)},"rgb"),displayable:o(function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},"displayable"),formatHsl:o(function(){var e=this.opacity;return e=isNaN(e)?1:Math.max(0,Math.min(1,e)),(e===1?"hsl(":"hsla(")+(this.h||0)+", "+(this.s||0)*100+"%, "+(this.l||0)*100+"%"+(e===1?")":", "+e+")")},"formatHsl")}));function nS(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}o(nS,"hsl2rgb");const IHe=Math.PI/180,LHe=180/Math.PI;var CK=-.14861,kP=1.78277,EP=-.29227,Z1=-.90649,Wh=1.97294,B6=Wh*Z1,W6=Wh*kP,U6=kP*EP-Z1*CK;function DHe(e){if(e instanceof Cl)return new Cl(e.h,e.s,e.l,e.opacity);e instanceof Jr||(e=xK(e));var t=e.r/255,n=e.g/255,r=e.b/255,a=(U6*r+B6*t-W6*n)/(U6+B6-W6),i=r-a,s=(Wh*(n-a)-EP*i)/Z1,c=Math.sqrt(s*s+i*i)/(Wh*a*(1-a)),l=c?Math.atan2(s,i)*LHe-120:NaN;return new Cl(l<0?l+360:l,c,a,e.opacity)}o(DHe,"cubehelixConvert");function zi(e,t,n,r){return arguments.length===1?DHe(e):new Cl(e,t,n,r??1)}o(zi,"cubehelix$1");function Cl(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}o(Cl,"Cubehelix");X1(Cl,zi,_P(bp,{brighter:o(function(e){return e=e==null?Ef:Math.pow(Ef,e),new Cl(this.h,this.s,this.l*e,this.opacity)},"brighter"),darker:o(function(e){return e=e==null?Fl:Math.pow(Fl,e),new Cl(this.h,this.s,this.l*e,this.opacity)},"darker"),rgb:o(function(){var e=isNaN(this.h)?0:(this.h+120)*IHe,t=+this.l,n=isNaN(this.s)?0:this.s*t*(1-t),r=Math.cos(e),a=Math.sin(e);return new Jr(255*(t+n*(CK*r+kP*a)),255*(t+n*(EP*r+Z1*a)),255*(t+n*(Wh*r)),this.opacity)},"rgb")}));function NHe(e,t,n,r,a){var i=e*e,s=i*e;return((1-3*e+3*i-s)*t+(4-6*i+3*s)*n+(1+3*e+3*i-3*s)*r+s*a)/6}o(NHe,"basis");function FHe(e){var t=e.length-1;return function(n){var r=n<=0?n=0:n>=1?(n=1,t-1):Math.floor(n*t),a=e[r],i=e[r+1],s=r>0?e[r-1]:2*a-i,c=r<t-1?e[r+2]:2*i-a;return NHe((n-r/t)*t,s,a,i,c)}}o(FHe,"basis$1");const ew=o(e=>()=>e,"constant$1");function SK(e,t){return function(n){return e+n*t}}o(SK,"linear$1");function BHe(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}o(BHe,"exponential");function WHe(e,t){var n=t-e;return n?SK(e,n>180||n<-180?n-360*Math.round(n/360):n):ew(isNaN(e)?t:e)}o(WHe,"hue");function UHe(e){return(e=+e)==1?$d:function(t,n){return n-t?BHe(t,n,e):ew(isNaN(t)?n:t)}}o(UHe,"gamma");function $d(e,t){var n=t-e;return n?SK(e,n):ew(isNaN(e)?t:e)}o($d,"nogamma");const H6=o(function e(t){var n=UHe(t);function r(a,i){var s=n((a=Rf(a)).r,(i=Rf(i)).r),c=n(a.g,i.g),l=n(a.b,i.b),u=$d(a.opacity,i.opacity);return function(d){return a.r=s(d),a.g=c(d),a.b=l(d),a.opacity=u(d),a+""}}return o(r,"rgb"),r.gamma=e,r},"rgbGamma")(1);function HHe(e){return function(t){var n=t.length,r=new Array(n),a=new Array(n),i=new Array(n),s,c;for(s=0;s<n;++s)c=Rf(t[s]),r[s]=c.r||0,a[s]=c.g||0,i[s]=c.b||0;return r=e(r),a=e(a),i=e(i),c.opacity=1,function(l){return c.r=r(l),c.g=a(l),c.b=i(l),c+""}}}o(HHe,"rgbSpline");var qHe=HHe(FHe);function VHe(e,t){t||(t=[]);var n=e?Math.min(t.length,e.length):0,r=t.slice(),a;return function(i){for(a=0;a<n;++a)r[a]=e[a]*(1-i)+t[a]*i;return r}}o(VHe,"numberArray");function GHe(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}o(GHe,"isNumberArray");function KHe(e,t){var n=t?t.length:0,r=e?Math.min(n,e.length):0,a=new Array(r),i=new Array(n),s;for(s=0;s<r;++s)a[s]=RP(e[s],t[s]);for(;s<n;++s)i[s]=t[s];return function(c){for(s=0;s<r;++s)i[s]=a[s](c);return i}}o(KHe,"genericArray");function JHe(e,t){var n=new Date;return e=+e,t=+t,function(r){return n.setTime(e*(1-r)+t*r),n}}o(JHe,"date$3");function C0(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}o(C0,"interpolateNumber");function YHe(e,t){var n={},r={},a;(e===null||typeof e!="object")&&(e={}),(t===null||typeof t!="object")&&(t={});for(a in t)a in e?n[a]=RP(e[a],t[a]):r[a]=t[a];return function(i){for(a in n)r[a]=n[a](i);return r}}o(YHe,"object");var a_=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,rS=new RegExp(a_.source,"g");function QHe(e){return function(){return e}}o(QHe,"zero");function XHe(e){return function(t){return e(t)+""}}o(XHe,"one");function jK(e,t){var n=a_.lastIndex=rS.lastIndex=0,r,a,i,s=-1,c=[],l=[];for(e=e+"",t=t+"";(r=a_.exec(e))&&(a=rS.exec(t));)(i=a.index)>n&&(i=t.slice(n,i),c[s]?c[s]+=i:c[++s]=i),(r=r[0])===(a=a[0])?c[s]?c[s]+=a:c[++s]=a:(c[++s]=null,l.push({i:s,x:C0(r,a)})),n=rS.lastIndex;return n<t.length&&(i=t.slice(n),c[s]?c[s]+=i:c[++s]=i),c.length<2?l[0]?XHe(l[0].x):QHe(t):(t=l.length,function(u){for(var d=0,p;d<t;++d)c[(p=l[d]).i]=p.x(u);return c.join("")})}o(jK,"R$2");function RP(e,t){var n=typeof t,r;return t==null||n==="boolean"?ew(t):(n==="number"?C0:n==="string"?(r=Bh(t))?(t=r,H6):jK:t instanceof Bh?H6:t instanceof Date?JHe:GHe(t)?VHe:Array.isArray(t)?KHe:typeof t.valueOf!="function"&&typeof t.toString!="function"||isNaN(t)?YHe:C0)(e,t)}o(RP,"interpolate");function ZHe(e,t){return e=+e,t=+t,function(n){return Math.round(e*(1-n)+t*n)}}o(ZHe,"interpolateRound");function $K(e){return o(function t(n){n=+n;function r(a,i){var s=e((a=zi(a)).h,(i=zi(i)).h),c=$d(a.s,i.s),l=$d(a.l,i.l),u=$d(a.opacity,i.opacity);return function(d){return a.h=s(d),a.s=c(d),a.l=l(Math.pow(d,n)),a.opacity=u(d),a+""}}return o(r,"cubehelix"),r.gamma=t,r},"cubehelixGamma")(1)}o($K,"cubehelix");$K(WHe);var AP=$K($d),eqe=_c,tqe=Sa,nqe=Uo,rqe="[object String]";function aqe(e){return typeof e=="string"||!tqe(e)&&nqe(e)&&eqe(e)==rqe}o(aqe,"isString");var oqe=aqe;const iqe=Qt(oqe);function _K(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}o(_K,"ascending");function PP(e){let t=e,n=e;e.length===1&&(t=o((s,c)=>e(s)-c,"delta"),n=sqe(e));function r(s,c,l,u){for(l==null&&(l=0),u==null&&(u=s.length);l<u;){const d=l+u>>>1;n(s[d],c)<0?l=d+1:u=d}return l}o(r,"left");function a(s,c,l,u){for(l==null&&(l=0),u==null&&(u=s.length);l<u;){const d=l+u>>>1;n(s[d],c)>0?u=d:l=d+1}return l}o(a,"right");function i(s,c,l,u){l==null&&(l=0),u==null&&(u=s.length);const d=r(s,c,l,u-1);return d>l&&t(s[d-1],c)>-t(s[d],c)?d-1:d}return o(i,"center"),{left:r,center:i,right:a}}o(PP,"bisector");function sqe(e){return(t,n)=>_K(e(t),n)}o(sqe,"ascendingComparator");function cqe(e){return e===null?NaN:+e}o(cqe,"number$2");const lqe=PP(_K),uqe=lqe.right;PP(cqe).center;var o_=Math.sqrt(50),i_=Math.sqrt(10),s_=Math.sqrt(2);function c_(e,t,n){var r,a=-1,i,s,c;if(t=+t,e=+e,n=+n,e===t&&n>0)return[e];if((r=t<e)&&(i=e,e=t,t=i),(c=kK(e,t,n))===0||!isFinite(c))return[];if(c>0){let l=Math.round(e/c),u=Math.round(t/c);for(l*c<e&&++l,u*c>t&&--u,s=new Array(i=u-l+1);++a<i;)s[a]=(l+a)*c}else{c=-c;let l=Math.round(e*c),u=Math.round(t*c);for(l/c<e&&++l,u/c>t&&--u,s=new Array(i=u-l+1);++a<i;)s[a]=(l+a)/c}return r&&s.reverse(),s}o(c_,"ticks");function kK(e,t,n){var r=(t-e)/Math.max(0,n),a=Math.floor(Math.log(r)/Math.LN10),i=r/Math.pow(10,a);return a>=0?(i>=o_?10:i>=i_?5:i>=s_?2:1)*Math.pow(10,a):-Math.pow(10,-a)/(i>=o_?10:i>=i_?5:i>=s_?2:1)}o(kK,"tickIncrement");function l_(e,t,n){var r=Math.abs(t-e)/Math.max(0,n),a=Math.pow(10,Math.floor(Math.log(r)/Math.LN10)),i=r/a;return i>=o_?a*=10:i>=i_?a*=5:i>=s_&&(a*=2),t<e?-a:a}o(l_,"tickStep");function dqe(e,t,n){e=+e,t=+t,n=(a=arguments.length)<2?(t=e,e=0,1):a<3?1:+n;for(var r=-1,a=Math.max(0,Math.ceil((t-e)/n))|0,i=new Array(a);++r<a;)i[r]=e+r*n;return i}o(dqe,"sequence");function Xl(e,t){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(t).domain(e);break}return this}o(Xl,"initRange");const q6=Symbol("implicit");function rl(){var e=new Map,t=[],n=[],r=q6;function a(i){var s=i+"",c=e.get(s);if(!c){if(r!==q6)return r;e.set(s,c=t.push(i))}return n[(c-1)%n.length]}return o(a,"scale"),a.domain=function(i){if(!arguments.length)return t.slice();t=[],e=new Map;for(const s of i){const c=s+"";e.has(c)||e.set(c,t.push(s))}return a},a.range=function(i){return arguments.length?(n=Array.from(i),a):n.slice()},a.unknown=function(i){return arguments.length?(r=i,a):r},a.copy=function(){return rl(t,n).unknown(r)},Xl.apply(a,arguments),a}o(rl,"ordinal");function MP(){var e=rl().unknown(void 0),t=e.domain,n=e.range,r=0,a=1,i,s,c=!1,l=0,u=0,d=.5;delete e.unknown;function p(){var m=t().length,v=a<r,h=v?a:r,y=v?r:a;i=(y-h)/Math.max(1,m-l+u*2),c&&(i=Math.floor(i)),h+=(y-h-i*(m-l))*d,s=i*(1-l),c&&(h=Math.round(h),s=Math.round(s));var C=dqe(m).map(function(w){return h+i*w});return n(v?C.reverse():C)}return o(p,"rescale"),e.domain=function(m){return arguments.length?(t(m),p()):t()},e.range=function(m){return arguments.length?([r,a]=m,r=+r,a=+a,p()):[r,a]},e.rangeRound=function(m){return[r,a]=m,r=+r,a=+a,c=!0,p()},e.bandwidth=function(){return s},e.step=function(){return i},e.round=function(m){return arguments.length?(c=!!m,p()):c},e.padding=function(m){return arguments.length?(l=Math.min(1,u=+m),p()):l},e.paddingInner=function(m){return arguments.length?(l=Math.min(1,m),p()):l},e.paddingOuter=function(m){return arguments.length?(u=+m,p()):u},e.align=function(m){return arguments.length?(d=Math.max(0,Math.min(1,m)),p()):d},e.copy=function(){return MP(t(),[r,a]).round(c).paddingInner(l).paddingOuter(u).align(d)},Xl.apply(p(),arguments)}o(MP,"band");function EK(e){var t=e.copy;return e.padding=e.paddingOuter,delete e.paddingInner,delete e.paddingOuter,e.copy=function(){return EK(t())},e}o(EK,"pointish");function fqe(){return EK(MP.apply(null,arguments).paddingInner(1))}o(fqe,"point$4");function pqe(e){return function(){return e}}o(pqe,"constants");function mqe(e){return+e}o(mqe,"number$1");var V6=[0,1];function Xu(e){return e}o(Xu,"identity$3");function u_(e,t){return(t-=e=+e)?function(n){return(n-e)/t}:pqe(isNaN(t)?NaN:.5)}o(u_,"normalize");function hqe(e,t){var n;return e>t&&(n=e,e=t,t=n),function(r){return Math.max(e,Math.min(t,r))}}o(hqe,"clamper");function gqe(e,t,n){var r=e[0],a=e[1],i=t[0],s=t[1];return a<r?(r=u_(a,r),i=n(s,i)):(r=u_(r,a),i=n(i,s)),function(c){return i(r(c))}}o(gqe,"bimap");function vqe(e,t,n){var r=Math.min(e.length,t.length)-1,a=new Array(r),i=new Array(r),s=-1;for(e[r]<e[0]&&(e=e.slice().reverse(),t=t.slice().reverse());++s<r;)a[s]=u_(e[s],e[s+1]),i[s]=n(t[s],t[s+1]);return function(c){var l=uqe(e,c,1,r)-1;return i[l](a[l](c))}}o(vqe,"polymap");function tw(e,t){return t.domain(e.domain()).range(e.range()).interpolate(e.interpolate()).clamp(e.clamp()).unknown(e.unknown())}o(tw,"copy");function TP(){var e=V6,t=V6,n=RP,r,a,i,s=Xu,c,l,u;function d(){var m=Math.min(e.length,t.length);return s!==Xu&&(s=hqe(e[0],e[m-1])),c=m>2?vqe:gqe,l=u=null,p}o(d,"rescale");function p(m){return m==null||isNaN(m=+m)?i:(l||(l=c(e.map(r),t,n)))(r(s(m)))}return o(p,"scale"),p.invert=function(m){return s(a((u||(u=c(t,e.map(r),C0)))(m)))},p.domain=function(m){return arguments.length?(e=Array.from(m,mqe),d()):e.slice()},p.range=function(m){return arguments.length?(t=Array.from(m),d()):t.slice()},p.rangeRound=function(m){return t=Array.from(m),n=ZHe,d()},p.clamp=function(m){return arguments.length?(s=m?!0:Xu,d()):s!==Xu},p.interpolate=function(m){return arguments.length?(n=m,d()):n},p.unknown=function(m){return arguments.length?(i=m,p):i},function(m,v){return r=m,a=v,d()}}o(TP,"transformer");function RK(){return TP()(Xu,Xu)}o(RK,"continuous");function yqe(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)}o(yqe,"formatDecimal$1");function S0(e,t){if((n=(e=t?e.toExponential(t-1):e.toExponential()).indexOf("e"))<0)return null;var n,r=e.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+e.slice(n+1)]}o(S0,"formatDecimalParts$1");function Af(e){return e=S0(Math.abs(e)),e?e[1]:NaN}o(Af,"exponent$1");function bqe(e,t){return function(n,r){for(var a=n.length,i=[],s=0,c=e[0],l=0;a>0&&c>0&&(l+c+1>r&&(c=Math.max(1,r-l)),i.push(n.substring(a-=c,a+c)),!((l+=c+1)>r));)c=e[s=(s+1)%e.length];return i.reverse().join(t)}}o(bqe,"formatGroup$1");function xqe(e){return function(t){return t.replace(/[0-9]/g,function(n){return e[+n]})}}o(xqe,"formatNumerals$1");var wqe=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function j0(e){if(!(t=wqe.exec(e)))throw new Error("invalid format: "+e);var t;return new OP({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}o(j0,"formatSpecifier$1");j0.prototype=OP.prototype;function OP(e){this.fill=e.fill===void 0?" ":e.fill+"",this.align=e.align===void 0?">":e.align+"",this.sign=e.sign===void 0?"-":e.sign+"",this.symbol=e.symbol===void 0?"":e.symbol+"",this.zero=!!e.zero,this.width=e.width===void 0?void 0:+e.width,this.comma=!!e.comma,this.precision=e.precision===void 0?void 0:+e.precision,this.trim=!!e.trim,this.type=e.type===void 0?"":e.type+""}o(OP,"FormatSpecifier$1");OP.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function Cqe(e){e:for(var t=e.length,n=1,r=-1,a;n<t;++n)switch(e[n]){case".":r=a=n;break;case"0":r===0&&(r=n),a=n;break;default:if(!+e[n])break e;r>0&&(r=0);break}return r>0?e.slice(0,r)+e.slice(a+1):e}o(Cqe,"formatTrim$1");var AK;function Sqe(e,t){var n=S0(e,t);if(!n)return e+"";var r=n[0],a=n[1],i=a-(AK=Math.max(-8,Math.min(8,Math.floor(a/3)))*3)+1,s=r.length;return i===s?r:i>s?r+new Array(i-s+1).join("0"):i>0?r.slice(0,i)+"."+r.slice(i):"0."+new Array(1-i).join("0")+S0(e,Math.max(0,t+i-1))[0]}o(Sqe,"formatPrefixAuto$1");function G6(e,t){var n=S0(e,t);if(!n)return e+"";var r=n[0],a=n[1];return a<0?"0."+new Array(-a).join("0")+r:r.length>a+1?r.slice(0,a+1)+"."+r.slice(a+1):r+new Array(a-r.length+2).join("0")}o(G6,"formatRounded$1");const K6={"%":o((e,t)=>(e*100).toFixed(t),"%"),b:o(e=>Math.round(e).toString(2),"b"),c:o(e=>e+"","c"),d:yqe,e:o((e,t)=>e.toExponential(t),"e"),f:o((e,t)=>e.toFixed(t),"f"),g:o((e,t)=>e.toPrecision(t),"g"),o:o(e=>Math.round(e).toString(8),"o"),p:o((e,t)=>G6(e*100,t),"p"),r:G6,s:Sqe,X:o(e=>Math.round(e).toString(16).toUpperCase(),"X"),x:o(e=>Math.round(e).toString(16),"x")};function J6(e){return e}o(J6,"identity$2");var Y6=Array.prototype.map,Q6=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function jqe(e){var t=e.grouping===void 0||e.thousands===void 0?J6:bqe(Y6.call(e.grouping,Number),e.thousands+""),n=e.currency===void 0?"":e.currency[0]+"",r=e.currency===void 0?"":e.currency[1]+"",a=e.decimal===void 0?".":e.decimal+"",i=e.numerals===void 0?J6:xqe(Y6.call(e.numerals,String)),s=e.percent===void 0?"%":e.percent+"",c=e.minus===void 0?"−":e.minus+"",l=e.nan===void 0?"NaN":e.nan+"";function u(p){p=j0(p);var m=p.fill,v=p.align,h=p.sign,y=p.symbol,C=p.zero,w=p.width,x=p.comma,b=p.precision,S=p.trim,$=p.type;$==="n"?(x=!0,$="g"):K6[$]||(b===void 0&&(b=12),S=!0,$="g"),(C||m==="0"&&v==="=")&&(C=!0,m="0",v="=");var j=y==="$"?n:y==="#"&&/[boxX]/.test($)?"0"+$.toLowerCase():"",_=y==="$"?r:/[%p]/.test($)?s:"",k=K6[$],E=/[defgprs%]/.test($);b=b===void 0?6:/[gprs]/.test($)?Math.max(1,Math.min(21,b)):Math.max(0,Math.min(20,b));function A(P){var M=j,T=_,z,O,N;if($==="c")T=k(P)+T,P="";else{P=+P;var F=P<0||1/P<0;if(P=isNaN(P)?l:k(Math.abs(P),b),S&&(P=Cqe(P)),F&&+P==0&&h!=="+"&&(F=!1),M=(F?h==="("?h:c:h==="-"||h==="("?"":h)+M,T=($==="s"?Q6[8+AK/3]:"")+T+(F&&h==="("?")":""),E){for(z=-1,O=P.length;++z<O;)if(N=P.charCodeAt(z),48>N||N>57){T=(N===46?a+P.slice(z+1):P.slice(z))+T,P=P.slice(0,z);break}}}x&&!C&&(P=t(P,1/0));var I=M.length+P.length+T.length,B=I<w?new Array(w-I+1).join(m):"";switch(x&&C&&(P=t(B+P,B.length?w-T.length:1/0),B=""),v){case"<":P=M+P+T+B;break;case"=":P=M+B+P+T;break;case"^":P=B.slice(0,I=B.length>>1)+M+P+T+B.slice(I);break;default:P=B+M+P+T;break}return i(P)}return o(A,"format"),A.toString=function(){return p+""},A}o(u,"newFormat");function d(p,m){var v=u((p=j0(p),p.type="f",p)),h=Math.max(-8,Math.min(8,Math.floor(Af(m)/3)))*3,y=Math.pow(10,-h),C=Q6[8+h/3];return function(w){return v(y*w)+C}}return o(d,"formatPrefix"),{format:u,formatPrefix:d}}o(jqe,"formatLocale$2");var Dv,zP,PK;$qe({thousands:",",grouping:[3],currency:["$",""]});function $qe(e){return Dv=jqe(e),zP=Dv.format,PK=Dv.formatPrefix,Dv}o($qe,"defaultLocale$2");function _qe(e){return Math.max(0,-Af(Math.abs(e)))}o(_qe,"precisionFixed");function kqe(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(Af(t)/3)))*3-Af(Math.abs(e)))}o(kqe,"precisionPrefix");function Eqe(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,Af(t)-Af(e))+1}o(Eqe,"precisionRound");function Rqe(e,t,n,r){var a=l_(e,t,n),i;switch(r=j0(r??",f"),r.type){case"s":{var s=Math.max(Math.abs(e),Math.abs(t));return r.precision==null&&!isNaN(i=kqe(a,s))&&(r.precision=i),PK(r,s)}case"":case"e":case"g":case"p":case"r":{r.precision==null&&!isNaN(i=Eqe(a,Math.max(Math.abs(e),Math.abs(t))))&&(r.precision=i-(r.type==="e"));break}case"f":case"%":{r.precision==null&&!isNaN(i=_qe(a))&&(r.precision=i-(r.type==="%")*2);break}}return zP(r)}o(Rqe,"tickFormat");function MK(e){var t=e.domain;return e.ticks=function(n){var r=t();return c_(r[0],r[r.length-1],n??10)},e.tickFormat=function(n,r){var a=t();return Rqe(a[0],a[a.length-1],n??10,r)},e.nice=function(n){n==null&&(n=10);var r=t(),a=0,i=r.length-1,s=r[a],c=r[i],l,u,d=10;for(c<s&&(u=s,s=c,c=u,u=a,a=i,i=u);d-- >0;){if(u=kK(s,c,n),u===l)return r[a]=s,r[i]=c,t(r);if(u>0)s=Math.floor(s/u)*u,c=Math.ceil(c/u)*u;else if(u<0)s=Math.ceil(s*u)/u,c=Math.floor(c*u)/u;else break;l=u}return e},e}o(MK,"linearish");function TK(){var e=RK();return e.copy=function(){return tw(e,TK())},Xl.apply(e,arguments),MK(e)}o(TK,"linear");function OK(e,t){e=e.slice();var n=0,r=e.length-1,a=e[n],i=e[r],s;return i<a&&(s=n,n=r,r=s,s=a,a=i,i=s),e[n]=t.floor(a),e[r]=t.ceil(i),e}o(OK,"nice");function X6(e){return Math.log(e)}o(X6,"transformLog");function Z6(e){return Math.exp(e)}o(Z6,"transformExp");function Aqe(e){return-Math.log(-e)}o(Aqe,"transformLogn");function Pqe(e){return-Math.exp(-e)}o(Pqe,"transformExpn");function Mqe(e){return isFinite(e)?+("1e"+e):e<0?0:e}o(Mqe,"pow10");function Tqe(e){return e===10?Mqe:e===Math.E?Math.exp:function(t){return Math.pow(e,t)}}o(Tqe,"powp");function Oqe(e){return e===Math.E?Math.log:e===10&&Math.log10||e===2&&Math.log2||(e=Math.log(e),function(t){return Math.log(t)/e})}o(Oqe,"logp");function eL(e){return function(t){return-e(-t)}}o(eL,"reflect");function zqe(e){var t=e(X6,Z6),n=t.domain,r=10,a,i;function s(){return a=Oqe(r),i=Tqe(r),n()[0]<0?(a=eL(a),i=eL(i),e(Aqe,Pqe)):e(X6,Z6),t}return o(s,"rescale"),t.base=function(c){return arguments.length?(r=+c,s()):r},t.domain=function(c){return arguments.length?(n(c),s()):n()},t.ticks=function(c){var l=n(),u=l[0],d=l[l.length-1],p;(p=d<u)&&(m=u,u=d,d=m);var m=a(u),v=a(d),h,y,C,w=c==null?10:+c,x=[];if(!(r%1)&&v-m<w){if(m=Math.floor(m),v=Math.ceil(v),u>0){for(;m<=v;++m)for(y=1,h=i(m);y<r;++y)if(C=h*y,!(C<u)){if(C>d)break;x.push(C)}}else for(;m<=v;++m)for(y=r-1,h=i(m);y>=1;--y)if(C=h*y,!(C<u)){if(C>d)break;x.push(C)}x.length*2<w&&(x=c_(u,d,w))}else x=c_(m,v,Math.min(v-m,w)).map(i);return p?x.reverse():x},t.tickFormat=function(c,l){if(l==null&&(l=r===10?".0e":","),typeof l!="function"&&(l=zP(l)),c===1/0)return l;c==null&&(c=10);var u=Math.max(1,r*c/t.ticks().length);return function(d){var p=d/i(Math.round(a(d)));return p*r<r-.5&&(p*=r),p<=u?l(d):""}},t.nice=function(){return n(OK(n(),{floor:o(function(c){return i(Math.floor(a(c)))},"floor"),ceil:o(function(c){return i(Math.ceil(a(c)))},"ceil")}))},t}o(zqe,"loggish");function zK(){var e=zqe(TP()).domain([1,10]);return e.copy=function(){return tw(e,zK()).base(e.base())},Xl.apply(e,arguments),e}o(zK,"log$1");function tL(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}o(tL,"transformSymlog");function nL(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}o(nL,"transformSymexp");function Iqe(e){var t=1,n=e(tL(t),nL(t));return n.constant=function(r){return arguments.length?e(tL(t=+r),nL(t)):t},MK(n)}o(Iqe,"symlogish");function IK(){var e=Iqe(TP());return e.copy=function(){return tw(e,IK()).constant(e.constant())},Xl.apply(e,arguments)}o(IK,"symlog");var aS=new Date,oS=new Date;function Cr(e,t,n,r){function a(i){return e(i=arguments.length===0?new Date:new Date(+i)),i}return o(a,"interval"),a.floor=function(i){return e(i=new Date(+i)),i},a.ceil=function(i){return e(i=new Date(i-1)),t(i,1),e(i),i},a.round=function(i){var s=a(i),c=a.ceil(i);return i-s<c-i?s:c},a.offset=function(i,s){return t(i=new Date(+i),s==null?1:Math.floor(s)),i},a.range=function(i,s,c){var l=[],u;if(i=a.ceil(i),c=c==null?1:Math.floor(c),!(i<s)||!(c>0))return l;do l.push(u=new Date(+i)),t(i,c),e(i);while(u<i&&i<s);return l},a.filter=function(i){return Cr(function(s){if(s>=s)for(;e(s),!i(s);)s.setTime(s-1)},function(s,c){if(s>=s)if(c<0)for(;++c<=0;)for(;t(s,-1),!i(s););else for(;--c>=0;)for(;t(s,1),!i(s););})},n&&(a.count=function(i,s){return aS.setTime(+i),oS.setTime(+s),e(aS),e(oS),Math.floor(n(aS,oS))},a.every=function(i){return i=Math.floor(i),!isFinite(i)||!(i>0)?null:i>1?a.filter(r?function(s){return r(s)%i===0}:function(s){return a.count(0,s)%i===0}):a}),a}o(Cr,"newInterval$1");var $0=Cr(function(){},function(e,t){e.setTime(+e+t)},function(e,t){return t-e});$0.every=function(e){return e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?Cr(function(t){t.setTime(Math.floor(t/e)*e)},function(t,n){t.setTime(+t+n*e)},function(t,n){return(n-t)/e}):$0};$0.range;const as=1e3,lo=as*60,os=lo*60,Bl=os*24,IP=Bl*7,rL=Bl*30,iS=Bl*365;var al=Cr(function(e){e.setTime(e-e.getMilliseconds())},function(e,t){e.setTime(+e+t*as)},function(e,t){return(t-e)/as},function(e){return e.getUTCSeconds()});al.range;var LP=Cr(function(e){e.setTime(e-e.getMilliseconds()-e.getSeconds()*as)},function(e,t){e.setTime(+e+t*lo)},function(e,t){return(t-e)/lo},function(e){return e.getMinutes()});LP.range;var DP=Cr(function(e){e.setTime(e-e.getMilliseconds()-e.getSeconds()*as-e.getMinutes()*lo)},function(e,t){e.setTime(+e+t*os)},function(e,t){return(t-e)/os},function(e){return e.getHours()});DP.range;var Vg=Cr(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*lo)/Bl,e=>e.getDate()-1);Vg.range;function Zl(e){return Cr(function(t){t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},function(t,n){t.setDate(t.getDate()+n*7)},function(t,n){return(n-t-(n.getTimezoneOffset()-t.getTimezoneOffset())*lo)/IP})}o(Zl,"weekday$2");var nw=Zl(0),_0=Zl(1),Lqe=Zl(2),Dqe=Zl(3),Pf=Zl(4),Nqe=Zl(5),Fqe=Zl(6);nw.range;_0.range;Lqe.range;Dqe.range;Pf.range;Nqe.range;Fqe.range;var NP=Cr(function(e){e.setDate(1),e.setHours(0,0,0,0)},function(e,t){e.setMonth(e.getMonth()+t)},function(e,t){return t.getMonth()-e.getMonth()+(t.getFullYear()-e.getFullYear())*12},function(e){return e.getMonth()});NP.range;var bs=Cr(function(e){e.setMonth(0,1),e.setHours(0,0,0,0)},function(e,t){e.setFullYear(e.getFullYear()+t)},function(e,t){return t.getFullYear()-e.getFullYear()},function(e){return e.getFullYear()});bs.every=function(e){return!isFinite(e=Math.floor(e))||!(e>0)?null:Cr(function(t){t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},function(t,n){t.setFullYear(t.getFullYear()+n*e)})};bs.range;var FP=Cr(function(e){e.setUTCSeconds(0,0)},function(e,t){e.setTime(+e+t*lo)},function(e,t){return(t-e)/lo},function(e){return e.getUTCMinutes()});FP.range;var BP=Cr(function(e){e.setUTCMinutes(0,0,0)},function(e,t){e.setTime(+e+t*os)},function(e,t){return(t-e)/os},function(e){return e.getUTCHours()});BP.range;var Gg=Cr(function(e){e.setUTCHours(0,0,0,0)},function(e,t){e.setUTCDate(e.getUTCDate()+t)},function(e,t){return(t-e)/Bl},function(e){return e.getUTCDate()-1});Gg.range;function eu(e){return Cr(function(t){t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},function(t,n){t.setUTCDate(t.getUTCDate()+n*7)},function(t,n){return(n-t)/IP})}o(eu,"utcWeekday$1");var rw=eu(0),k0=eu(1),Bqe=eu(2),Wqe=eu(3),Mf=eu(4),Uqe=eu(5),Hqe=eu(6);rw.range;k0.range;Bqe.range;Wqe.range;Mf.range;Uqe.range;Hqe.range;var WP=Cr(function(e){e.setUTCDate(1),e.setUTCHours(0,0,0,0)},function(e,t){e.setUTCMonth(e.getUTCMonth()+t)},function(e,t){return t.getUTCMonth()-e.getUTCMonth()+(t.getUTCFullYear()-e.getUTCFullYear())*12},function(e){return e.getUTCMonth()});WP.range;var xs=Cr(function(e){e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},function(e,t){e.setUTCFullYear(e.getUTCFullYear()+t)},function(e,t){return t.getUTCFullYear()-e.getUTCFullYear()},function(e){return e.getUTCFullYear()});xs.every=function(e){return!isFinite(e=Math.floor(e))||!(e>0)?null:Cr(function(t){t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},function(t,n){t.setUTCFullYear(t.getUTCFullYear()+n*e)})};xs.range;function LK(e,t,n,r,a,i){const s=[[al,1,as],[al,5,5*as],[al,15,15*as],[al,30,30*as],[i,1,lo],[i,5,5*lo],[i,15,15*lo],[i,30,30*lo],[a,1,os],[a,3,3*os],[a,6,6*os],[a,12,12*os],[r,1,Bl],[r,2,2*Bl],[n,1,IP],[t,1,rL],[t,3,3*rL],[e,1,iS]];function c(u,d,p){const m=d<u;m&&([u,d]=[d,u]);const v=p&&typeof p.range=="function"?p:l(u,d,p),h=v?v.range(u,+d+1):[];return m?h.reverse():h}o(c,"ticks");function l(u,d,p){const m=Math.abs(d-u)/p,v=PP(([,,C])=>C).right(s,m);if(v===s.length)return e.every(l_(u/iS,d/iS,p));if(v===0)return $0.every(Math.max(l_(u,d,p),1));const[h,y]=s[m/s[v-1][2]<s[v][2]/m?v-1:v];return h.every(y)}return o(l,"tickInterval"),[c,l]}o(LK,"ticker");const[qqe,Vqe]=LK(xs,WP,rw,Gg,BP,FP),[Gqe,Kqe]=LK(bs,NP,nw,Vg,DP,LP);function sS(e){if(0<=e.y&&e.y<100){var t=new Date(-1,e.m,e.d,e.H,e.M,e.S,e.L);return t.setFullYear(e.y),t}return new Date(e.y,e.m,e.d,e.H,e.M,e.S,e.L)}o(sS,"localDate");function cS(e){if(0<=e.y&&e.y<100){var t=new Date(Date.UTC(-1,e.m,e.d,e.H,e.M,e.S,e.L));return t.setUTCFullYear(e.y),t}return new Date(Date.UTC(e.y,e.m,e.d,e.H,e.M,e.S,e.L))}o(cS,"utcDate");function nm(e,t,n){return{y:e,m:t,d:n,H:0,M:0,S:0,L:0}}o(nm,"newDate");function Jqe(e){var t=e.dateTime,n=e.date,r=e.time,a=e.periods,i=e.days,s=e.shortDays,c=e.months,l=e.shortMonths,u=rm(a),d=am(a),p=rm(i),m=am(i),v=rm(s),h=am(s),y=rm(c),C=am(c),w=rm(l),x=am(l),b={a:F,A:I,b:B,B:U,c:null,d:lL,e:lL,f:yVe,g:EVe,G:AVe,H:hVe,I:gVe,j:vVe,L:DK,m:bVe,M:xVe,p:te,q:Z,Q:fL,s:pL,S:wVe,u:CVe,U:SVe,V:jVe,w:$Ve,W:_Ve,x:null,X:null,y:kVe,Y:RVe,Z:PVe,"%":dL},S={a:be,A:ne,b:le,B:oe,c:null,d:uL,e:uL,f:zVe,g:qVe,G:GVe,H:MVe,I:TVe,j:OVe,L:FK,m:IVe,M:LVe,p:Se,q:xe,Q:fL,s:pL,S:DVe,u:NVe,U:FVe,V:BVe,w:WVe,W:UVe,x:null,X:null,y:HVe,Y:VVe,Z:KVe,"%":dL},$={a:A,A:P,b:M,B:T,c:z,d:sL,e:sL,f:dVe,g:iL,G:oL,H:cL,I:cL,j:sVe,L:uVe,m:iVe,M:cVe,p:E,q:oVe,Q:pVe,s:mVe,S:lVe,u:eVe,U:tVe,V:nVe,w:Zqe,W:rVe,x:O,X:N,y:iL,Y:oL,Z:aVe,"%":fVe};b.x=j(n,b),b.X=j(r,b),b.c=j(t,b),S.x=j(n,S),S.X=j(r,S),S.c=j(t,S);function j(X,Re){return function(me){var re=[],De=-1,Ee=0,$e=X.length,Ce,st,D;for(me instanceof Date||(me=new Date(+me));++De<$e;)X.charCodeAt(De)===37&&(re.push(X.slice(Ee,De)),(st=aL[Ce=X.charAt(++De)])!=null?Ce=X.charAt(++De):st=Ce==="e"?" ":"0",(D=Re[Ce])&&(Ce=D(me,st)),re.push(Ce),Ee=De+1);return re.push(X.slice(Ee,De)),re.join("")}}o(j,"newFormat");function _(X,Re){return function(me){var re=nm(1900,void 0,1),De=k(re,X,me+="",0),Ee,$e;if(De!=me.length)return null;if("Q"in re)return new Date(re.Q);if("s"in re)return new Date(re.s*1e3+("L"in re?re.L:0));if(Re&&!("Z"in re)&&(re.Z=0),"p"in re&&(re.H=re.H%12+re.p*12),re.m===void 0&&(re.m="q"in re?re.q:0),"V"in re){if(re.V<1||re.V>53)return null;"w"in re||(re.w=1),"Z"in re?(Ee=cS(nm(re.y,0,1)),$e=Ee.getUTCDay(),Ee=$e>4||$e===0?k0.ceil(Ee):k0(Ee),Ee=Gg.offset(Ee,(re.V-1)*7),re.y=Ee.getUTCFullYear(),re.m=Ee.getUTCMonth(),re.d=Ee.getUTCDate()+(re.w+6)%7):(Ee=sS(nm(re.y,0,1)),$e=Ee.getDay(),Ee=$e>4||$e===0?_0.ceil(Ee):_0(Ee),Ee=Vg.offset(Ee,(re.V-1)*7),re.y=Ee.getFullYear(),re.m=Ee.getMonth(),re.d=Ee.getDate()+(re.w+6)%7)}else("W"in re||"U"in re)&&("w"in re||(re.w="u"in re?re.u%7:"W"in re?1:0),$e="Z"in re?cS(nm(re.y,0,1)).getUTCDay():sS(nm(re.y,0,1)).getDay(),re.m=0,re.d="W"in re?(re.w+6)%7+re.W*7-($e+5)%7:re.w+re.U*7-($e+6)%7);return"Z"in re?(re.H+=re.Z/100|0,re.M+=re.Z%100,cS(re)):sS(re)}}o(_,"newParse");function k(X,Re,me,re){for(var De=0,Ee=Re.length,$e=me.length,Ce,st;De<Ee;){if(re>=$e)return-1;if(Ce=Re.charCodeAt(De++),Ce===37){if(Ce=Re.charAt(De++),st=$[Ce in aL?Re.charAt(De++):Ce],!st||(re=st(X,me,re))<0)return-1}else if(Ce!=me.charCodeAt(re++))return-1}return re}o(k,"parseSpecifier");function E(X,Re,me){var re=u.exec(Re.slice(me));return re?(X.p=d.get(re[0].toLowerCase()),me+re[0].length):-1}o(E,"parsePeriod");function A(X,Re,me){var re=v.exec(Re.slice(me));return re?(X.w=h.get(re[0].toLowerCase()),me+re[0].length):-1}o(A,"parseShortWeekday");function P(X,Re,me){var re=p.exec(Re.slice(me));return re?(X.w=m.get(re[0].toLowerCase()),me+re[0].length):-1}o(P,"parseWeekday");function M(X,Re,me){var re=w.exec(Re.slice(me));return re?(X.m=x.get(re[0].toLowerCase()),me+re[0].length):-1}o(M,"parseShortMonth");function T(X,Re,me){var re=y.exec(Re.slice(me));return re?(X.m=C.get(re[0].toLowerCase()),me+re[0].length):-1}o(T,"parseMonth");function z(X,Re,me){return k(X,t,Re,me)}o(z,"parseLocaleDateTime");function O(X,Re,me){return k(X,n,Re,me)}o(O,"parseLocaleDate");function N(X,Re,me){return k(X,r,Re,me)}o(N,"parseLocaleTime");function F(X){return s[X.getDay()]}o(F,"formatShortWeekday");function I(X){return i[X.getDay()]}o(I,"formatWeekday");function B(X){return l[X.getMonth()]}o(B,"formatShortMonth");function U(X){return c[X.getMonth()]}o(U,"formatMonth");function te(X){return a[+(X.getHours()>=12)]}o(te,"formatPeriod");function Z(X){return 1+~~(X.getMonth()/3)}o(Z,"formatQuarter");function be(X){return s[X.getUTCDay()]}o(be,"formatUTCShortWeekday");function ne(X){return i[X.getUTCDay()]}o(ne,"formatUTCWeekday");function le(X){return l[X.getUTCMonth()]}o(le,"formatUTCShortMonth");function oe(X){return c[X.getUTCMonth()]}o(oe,"formatUTCMonth");function Se(X){return a[+(X.getUTCHours()>=12)]}o(Se,"formatUTCPeriod");function xe(X){return 1+~~(X.getUTCMonth()/3)}return o(xe,"formatUTCQuarter"),{format:o(function(X){var Re=j(X+="",b);return Re.toString=function(){return X},Re},"format"),parse:o(function(X){var Re=_(X+="",!1);return Re.toString=function(){return X},Re},"parse"),utcFormat:o(function(X){var Re=j(X+="",S);return Re.toString=function(){return X},Re},"utcFormat"),utcParse:o(function(X){var Re=_(X+="",!0);return Re.toString=function(){return X},Re},"utcParse")}}o(Jqe,"formatLocale$1");var aL={"-":"",_:" ",0:"0"},Sr=/^\s*\d+/,Yqe=/^%/,Qqe=/[\\^$*+?|[\]().{}]/g;function Vt(e,t,n){var r=e<0?"-":"",a=(r?-e:e)+"",i=a.length;return r+(i<n?new Array(n-i+1).join(t)+a:a)}o(Vt,"pad");function Xqe(e){return e.replace(Qqe,"\\$&")}o(Xqe,"requote");function rm(e){return new RegExp("^(?:"+e.map(Xqe).join("|")+")","i")}o(rm,"formatRe");function am(e){return new Map(e.map((t,n)=>[t.toLowerCase(),n]))}o(am,"formatLookup");function Zqe(e,t,n){var r=Sr.exec(t.slice(n,n+1));return r?(e.w=+r[0],n+r[0].length):-1}o(Zqe,"parseWeekdayNumberSunday");function eVe(e,t,n){var r=Sr.exec(t.slice(n,n+1));return r?(e.u=+r[0],n+r[0].length):-1}o(eVe,"parseWeekdayNumberMonday");function tVe(e,t,n){var r=Sr.exec(t.slice(n,n+2));return r?(e.U=+r[0],n+r[0].length):-1}o(tVe,"parseWeekNumberSunday");function nVe(e,t,n){var r=Sr.exec(t.slice(n,n+2));return r?(e.V=+r[0],n+r[0].length):-1}o(nVe,"parseWeekNumberISO");function rVe(e,t,n){var r=Sr.exec(t.slice(n,n+2));return r?(e.W=+r[0],n+r[0].length):-1}o(rVe,"parseWeekNumberMonday");function oL(e,t,n){var r=Sr.exec(t.slice(n,n+4));return r?(e.y=+r[0],n+r[0].length):-1}o(oL,"parseFullYear");function iL(e,t,n){var r=Sr.exec(t.slice(n,n+2));return r?(e.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}o(iL,"parseYear");function aVe(e,t,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(n,n+6));return r?(e.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}o(aVe,"parseZone");function oVe(e,t,n){var r=Sr.exec(t.slice(n,n+1));return r?(e.q=r[0]*3-3,n+r[0].length):-1}o(oVe,"parseQuarter");function iVe(e,t,n){var r=Sr.exec(t.slice(n,n+2));return r?(e.m=r[0]-1,n+r[0].length):-1}o(iVe,"parseMonthNumber");function sL(e,t,n){var r=Sr.exec(t.slice(n,n+2));return r?(e.d=+r[0],n+r[0].length):-1}o(sL,"parseDayOfMonth");function sVe(e,t,n){var r=Sr.exec(t.slice(n,n+3));return r?(e.m=0,e.d=+r[0],n+r[0].length):-1}o(sVe,"parseDayOfYear");function cL(e,t,n){var r=Sr.exec(t.slice(n,n+2));return r?(e.H=+r[0],n+r[0].length):-1}o(cL,"parseHour24");function cVe(e,t,n){var r=Sr.exec(t.slice(n,n+2));return r?(e.M=+r[0],n+r[0].length):-1}o(cVe,"parseMinutes");function lVe(e,t,n){var r=Sr.exec(t.slice(n,n+2));return r?(e.S=+r[0],n+r[0].length):-1}o(lVe,"parseSeconds");function uVe(e,t,n){var r=Sr.exec(t.slice(n,n+3));return r?(e.L=+r[0],n+r[0].length):-1}o(uVe,"parseMilliseconds");function dVe(e,t,n){var r=Sr.exec(t.slice(n,n+6));return r?(e.L=Math.floor(r[0]/1e3),n+r[0].length):-1}o(dVe,"parseMicroseconds");function fVe(e,t,n){var r=Yqe.exec(t.slice(n,n+1));return r?n+r[0].length:-1}o(fVe,"parseLiteralPercent");function pVe(e,t,n){var r=Sr.exec(t.slice(n));return r?(e.Q=+r[0],n+r[0].length):-1}o(pVe,"parseUnixTimestamp");function mVe(e,t,n){var r=Sr.exec(t.slice(n));return r?(e.s=+r[0],n+r[0].length):-1}o(mVe,"parseUnixTimestampSeconds");function lL(e,t){return Vt(e.getDate(),t,2)}o(lL,"formatDayOfMonth");function hVe(e,t){return Vt(e.getHours(),t,2)}o(hVe,"formatHour24");function gVe(e,t){return Vt(e.getHours()%12||12,t,2)}o(gVe,"formatHour12");function vVe(e,t){return Vt(1+Vg.count(bs(e),e),t,3)}o(vVe,"formatDayOfYear");function DK(e,t){return Vt(e.getMilliseconds(),t,3)}o(DK,"formatMilliseconds");function yVe(e,t){return DK(e,t)+"000"}o(yVe,"formatMicroseconds");function bVe(e,t){return Vt(e.getMonth()+1,t,2)}o(bVe,"formatMonthNumber");function xVe(e,t){return Vt(e.getMinutes(),t,2)}o(xVe,"formatMinutes");function wVe(e,t){return Vt(e.getSeconds(),t,2)}o(wVe,"formatSeconds");function CVe(e){var t=e.getDay();return t===0?7:t}o(CVe,"formatWeekdayNumberMonday");function SVe(e,t){return Vt(nw.count(bs(e)-1,e),t,2)}o(SVe,"formatWeekNumberSunday");function NK(e){var t=e.getDay();return t>=4||t===0?Pf(e):Pf.ceil(e)}o(NK,"dISO");function jVe(e,t){return e=NK(e),Vt(Pf.count(bs(e),e)+(bs(e).getDay()===4),t,2)}o(jVe,"formatWeekNumberISO");function $Ve(e){return e.getDay()}o($Ve,"formatWeekdayNumberSunday");function _Ve(e,t){return Vt(_0.count(bs(e)-1,e),t,2)}o(_Ve,"formatWeekNumberMonday");function kVe(e,t){return Vt(e.getFullYear()%100,t,2)}o(kVe,"formatYear");function EVe(e,t){return e=NK(e),Vt(e.getFullYear()%100,t,2)}o(EVe,"formatYearISO");function RVe(e,t){return Vt(e.getFullYear()%1e4,t,4)}o(RVe,"formatFullYear");function AVe(e,t){var n=e.getDay();return e=n>=4||n===0?Pf(e):Pf.ceil(e),Vt(e.getFullYear()%1e4,t,4)}o(AVe,"formatFullYearISO");function PVe(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+Vt(t/60|0,"0",2)+Vt(t%60,"0",2)}o(PVe,"formatZone");function uL(e,t){return Vt(e.getUTCDate(),t,2)}o(uL,"formatUTCDayOfMonth");function MVe(e,t){return Vt(e.getUTCHours(),t,2)}o(MVe,"formatUTCHour24");function TVe(e,t){return Vt(e.getUTCHours()%12||12,t,2)}o(TVe,"formatUTCHour12");function OVe(e,t){return Vt(1+Gg.count(xs(e),e),t,3)}o(OVe,"formatUTCDayOfYear");function FK(e,t){return Vt(e.getUTCMilliseconds(),t,3)}o(FK,"formatUTCMilliseconds");function zVe(e,t){return FK(e,t)+"000"}o(zVe,"formatUTCMicroseconds");function IVe(e,t){return Vt(e.getUTCMonth()+1,t,2)}o(IVe,"formatUTCMonthNumber");function LVe(e,t){return Vt(e.getUTCMinutes(),t,2)}o(LVe,"formatUTCMinutes");function DVe(e,t){return Vt(e.getUTCSeconds(),t,2)}o(DVe,"formatUTCSeconds");function NVe(e){var t=e.getUTCDay();return t===0?7:t}o(NVe,"formatUTCWeekdayNumberMonday");function FVe(e,t){return Vt(rw.count(xs(e)-1,e),t,2)}o(FVe,"formatUTCWeekNumberSunday");function BK(e){var t=e.getUTCDay();return t>=4||t===0?Mf(e):Mf.ceil(e)}o(BK,"UTCdISO");function BVe(e,t){return e=BK(e),Vt(Mf.count(xs(e),e)+(xs(e).getUTCDay()===4),t,2)}o(BVe,"formatUTCWeekNumberISO");function WVe(e){return e.getUTCDay()}o(WVe,"formatUTCWeekdayNumberSunday");function UVe(e,t){return Vt(k0.count(xs(e)-1,e),t,2)}o(UVe,"formatUTCWeekNumberMonday");function HVe(e,t){return Vt(e.getUTCFullYear()%100,t,2)}o(HVe,"formatUTCYear");function qVe(e,t){return e=BK(e),Vt(e.getUTCFullYear()%100,t,2)}o(qVe,"formatUTCYearISO");function VVe(e,t){return Vt(e.getUTCFullYear()%1e4,t,4)}o(VVe,"formatUTCFullYear");function GVe(e,t){var n=e.getUTCDay();return e=n>=4||n===0?Mf(e):Mf.ceil(e),Vt(e.getUTCFullYear()%1e4,t,4)}o(GVe,"formatUTCFullYearISO");function KVe(){return"+0000"}o(KVe,"formatUTCZone");function dL(){return"%"}o(dL,"formatLiteralPercent");function fL(e){return+e}o(fL,"formatUnixTimestamp");function pL(e){return Math.floor(+e/1e3)}o(pL,"formatUnixTimestampSeconds");var wu,aw,WK,UK,HK;JVe({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function JVe(e){return wu=Jqe(e),aw=wu.format,WK=wu.parse,UK=wu.utcFormat,HK=wu.utcParse,wu}o(JVe,"defaultLocale$1");function YVe(e){return new Date(e)}o(YVe,"date$2");function QVe(e){return e instanceof Date?+e:+new Date(+e)}o(QVe,"number");function UP(e,t,n,r,a,i,s,c,l,u){var d=RK(),p=d.invert,m=d.domain,v=u(".%L"),h=u(":%S"),y=u("%I:%M"),C=u("%I %p"),w=u("%a %d"),x=u("%b %d"),b=u("%B"),S=u("%Y");function $(j){return(l(j)<j?v:c(j)<j?h:s(j)<j?y:i(j)<j?C:r(j)<j?a(j)<j?w:x:n(j)<j?b:S)(j)}return o($,"tickFormat"),d.invert=function(j){return new Date(p(j))},d.domain=function(j){return arguments.length?m(Array.from(j,QVe)):m().map(YVe)},d.ticks=function(j){var _=m();return e(_[0],_[_.length-1],j??10)},d.tickFormat=function(j,_){return _==null?$:u(_)},d.nice=function(j){var _=m();return(!j||typeof j.range!="function")&&(j=t(_[0],_[_.length-1],j??10)),j?m(OK(_,j)):d},d.copy=function(){return tw(d,UP(e,t,n,r,a,i,s,c,l,u))},d}o(UP,"calendar");function XVe(){return Xl.apply(UP(Gqe,Kqe,bs,NP,nw,Vg,DP,LP,al,aw).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}o(XVe,"time$1");function ZVe(){return Xl.apply(UP(qqe,Vqe,xs,WP,rw,Gg,BP,FP,al,UK).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)]),arguments)}o(ZVe,"utcTime");function Ot(e){for(var t=e.length/6|0,n=new Array(t),r=0;r<t;)n[r]="#"+e.slice(r*6,++r*6);return n}o(Ot,"colors");const qK=Ot("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf"),VK=Ot("7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17666666"),GK=Ot("1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666"),KK=Ot("a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928"),JK=Ot("fbb4aeb3cde3ccebc5decbe4fed9a6ffffcce5d8bdfddaecf2f2f2"),YK=Ot("b3e2cdfdcdaccbd5e8f4cae4e6f5c9fff2aef1e2cccccccc"),QK=Ot("e41a1c377eb84daf4a984ea3ff7f00ffff33a65628f781bf999999"),XK=Ot("66c2a5fc8d628da0cbe78ac3a6d854ffd92fe5c494b3b3b3"),HP=Ot("8dd3c7ffffb3bebadafb807280b1d3fdb462b3de69fccde5d9d9d9bc80bdccebc5ffed6f"),dn=o(e=>qHe(e[e.length-1]),"ramp$1");var ow=new Array(3).concat("d8b365f5f5f55ab4ac","a6611adfc27d80cdc1018571","a6611adfc27df5f5f580cdc1018571","8c510ad8b365f6e8c3c7eae55ab4ac01665e","8c510ad8b365f6e8c3f5f5f5c7eae55ab4ac01665e","8c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e","8c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e","5430058c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e003c30","5430058c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e003c30").map(Ot);const eGe=dn(ow);var iw=new Array(3).concat("af8dc3f7f7f77fbf7b","7b3294c2a5cfa6dba0008837","7b3294c2a5cff7f7f7a6dba0008837","762a83af8dc3e7d4e8d9f0d37fbf7b1b7837","762a83af8dc3e7d4e8f7f7f7d9f0d37fbf7b1b7837","762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b7837","762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b7837","40004b762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b783700441b","40004b762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b783700441b").map(Ot);const tGe=dn(iw);var sw=new Array(3).concat("e9a3c9f7f7f7a1d76a","d01c8bf1b6dab8e1864dac26","d01c8bf1b6daf7f7f7b8e1864dac26","c51b7de9a3c9fde0efe6f5d0a1d76a4d9221","c51b7de9a3c9fde0eff7f7f7e6f5d0a1d76a4d9221","c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221","c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221","8e0152c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221276419","8e0152c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221276419").map(Ot);const nGe=dn(sw);var cw=new Array(3).concat("998ec3f7f7f7f1a340","5e3c99b2abd2fdb863e66101","5e3c99b2abd2f7f7f7fdb863e66101","542788998ec3d8daebfee0b6f1a340b35806","542788998ec3d8daebf7f7f7fee0b6f1a340b35806","5427888073acb2abd2d8daebfee0b6fdb863e08214b35806","5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b35806","2d004b5427888073acb2abd2d8daebfee0b6fdb863e08214b358067f3b08","2d004b5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b358067f3b08").map(Ot);const rGe=dn(cw);var lw=new Array(3).concat("ef8a62f7f7f767a9cf","ca0020f4a58292c5de0571b0","ca0020f4a582f7f7f792c5de0571b0","b2182bef8a62fddbc7d1e5f067a9cf2166ac","b2182bef8a62fddbc7f7f7f7d1e5f067a9cf2166ac","b2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac","b2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac","67001fb2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac053061","67001fb2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac053061").map(Ot);const aGe=dn(lw);var uw=new Array(3).concat("ef8a62ffffff999999","ca0020f4a582bababa404040","ca0020f4a582ffffffbababa404040","b2182bef8a62fddbc7e0e0e09999994d4d4d","b2182bef8a62fddbc7ffffffe0e0e09999994d4d4d","b2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d","b2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d","67001fb2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d1a1a1a","67001fb2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d1a1a1a").map(Ot);const oGe=dn(uw);var dw=new Array(3).concat("fc8d59ffffbf91bfdb","d7191cfdae61abd9e92c7bb6","d7191cfdae61ffffbfabd9e92c7bb6","d73027fc8d59fee090e0f3f891bfdb4575b4","d73027fc8d59fee090ffffbfe0f3f891bfdb4575b4","d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4","d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4","a50026d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4313695","a50026d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4313695").map(Ot);const iGe=dn(dw);var fw=new Array(3).concat("fc8d59ffffbf91cf60","d7191cfdae61a6d96a1a9641","d7191cfdae61ffffbfa6d96a1a9641","d73027fc8d59fee08bd9ef8b91cf601a9850","d73027fc8d59fee08bffffbfd9ef8b91cf601a9850","d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850","d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850","a50026d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850006837","a50026d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850006837").map(Ot);const sGe=dn(fw);var pw=new Array(3).concat("fc8d59ffffbf99d594","d7191cfdae61abdda42b83ba","d7191cfdae61ffffbfabdda42b83ba","d53e4ffc8d59fee08be6f59899d5943288bd","d53e4ffc8d59fee08bffffbfe6f59899d5943288bd","d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd","d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd","9e0142d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd5e4fa2","9e0142d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd5e4fa2").map(Ot);const cGe=dn(pw);var mw=new Array(3).concat("e5f5f999d8c92ca25f","edf8fbb2e2e266c2a4238b45","edf8fbb2e2e266c2a42ca25f006d2c","edf8fbccece699d8c966c2a42ca25f006d2c","edf8fbccece699d8c966c2a441ae76238b45005824","f7fcfde5f5f9ccece699d8c966c2a441ae76238b45005824","f7fcfde5f5f9ccece699d8c966c2a441ae76238b45006d2c00441b").map(Ot);const lGe=dn(mw);var hw=new Array(3).concat("e0ecf49ebcda8856a7","edf8fbb3cde38c96c688419d","edf8fbb3cde38c96c68856a7810f7c","edf8fbbfd3e69ebcda8c96c68856a7810f7c","edf8fbbfd3e69ebcda8c96c68c6bb188419d6e016b","f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d6e016b","f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d810f7c4d004b").map(Ot);const uGe=dn(hw);var gw=new Array(3).concat("e0f3dba8ddb543a2ca","f0f9e8bae4bc7bccc42b8cbe","f0f9e8bae4bc7bccc443a2ca0868ac","f0f9e8ccebc5a8ddb57bccc443a2ca0868ac","f0f9e8ccebc5a8ddb57bccc44eb3d32b8cbe08589e","f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe08589e","f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe0868ac084081").map(Ot);const dGe=dn(gw);var vw=new Array(3).concat("fee8c8fdbb84e34a33","fef0d9fdcc8afc8d59d7301f","fef0d9fdcc8afc8d59e34a33b30000","fef0d9fdd49efdbb84fc8d59e34a33b30000","fef0d9fdd49efdbb84fc8d59ef6548d7301f990000","fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301f990000","fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301fb300007f0000").map(Ot);const fGe=dn(vw);var yw=new Array(3).concat("ece2f0a6bddb1c9099","f6eff7bdc9e167a9cf02818a","f6eff7bdc9e167a9cf1c9099016c59","f6eff7d0d1e6a6bddb67a9cf1c9099016c59","f6eff7d0d1e6a6bddb67a9cf3690c002818a016450","fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016450","fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016c59014636").map(Ot);const pGe=dn(yw);var bw=new Array(3).concat("ece7f2a6bddb2b8cbe","f1eef6bdc9e174a9cf0570b0","f1eef6bdc9e174a9cf2b8cbe045a8d","f1eef6d0d1e6a6bddb74a9cf2b8cbe045a8d","f1eef6d0d1e6a6bddb74a9cf3690c00570b0034e7b","fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0034e7b","fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0045a8d023858").map(Ot);const mGe=dn(bw);var xw=new Array(3).concat("e7e1efc994c7dd1c77","f1eef6d7b5d8df65b0ce1256","f1eef6d7b5d8df65b0dd1c77980043","f1eef6d4b9dac994c7df65b0dd1c77980043","f1eef6d4b9dac994c7df65b0e7298ace125691003f","f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125691003f","f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125698004367001f").map(Ot);const hGe=dn(xw);var ww=new Array(3).concat("fde0ddfa9fb5c51b8a","feebe2fbb4b9f768a1ae017e","feebe2fbb4b9f768a1c51b8a7a0177","feebe2fcc5c0fa9fb5f768a1c51b8a7a0177","feebe2fcc5c0fa9fb5f768a1dd3497ae017e7a0177","fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a0177","fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a017749006a").map(Ot);const gGe=dn(ww);var Cw=new Array(3).concat("edf8b17fcdbb2c7fb8","ffffcca1dab441b6c4225ea8","ffffcca1dab441b6c42c7fb8253494","ffffccc7e9b47fcdbb41b6c42c7fb8253494","ffffccc7e9b47fcdbb41b6c41d91c0225ea80c2c84","ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea80c2c84","ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea8253494081d58").map(Ot);const vGe=dn(Cw);var Sw=new Array(3).concat("f7fcb9addd8e31a354","ffffccc2e69978c679238443","ffffccc2e69978c67931a354006837","ffffccd9f0a3addd8e78c67931a354006837","ffffccd9f0a3addd8e78c67941ab5d238443005a32","ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443005a32","ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443006837004529").map(Ot);const yGe=dn(Sw);var jw=new Array(3).concat("fff7bcfec44fd95f0e","ffffd4fed98efe9929cc4c02","ffffd4fed98efe9929d95f0e993404","ffffd4fee391fec44ffe9929d95f0e993404","ffffd4fee391fec44ffe9929ec7014cc4c028c2d04","ffffe5fff7bcfee391fec44ffe9929ec7014cc4c028c2d04","ffffe5fff7bcfee391fec44ffe9929ec7014cc4c02993404662506").map(Ot);const bGe=dn(jw);var $w=new Array(3).concat("ffeda0feb24cf03b20","ffffb2fecc5cfd8d3ce31a1c","ffffb2fecc5cfd8d3cf03b20bd0026","ffffb2fed976feb24cfd8d3cf03b20bd0026","ffffb2fed976feb24cfd8d3cfc4e2ae31a1cb10026","ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cb10026","ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cbd0026800026").map(Ot);const xGe=dn($w);var _w=new Array(3).concat("deebf79ecae13182bd","eff3ffbdd7e76baed62171b5","eff3ffbdd7e76baed63182bd08519c","eff3ffc6dbef9ecae16baed63182bd08519c","eff3ffc6dbef9ecae16baed64292c62171b5084594","f7fbffdeebf7c6dbef9ecae16baed64292c62171b5084594","f7fbffdeebf7c6dbef9ecae16baed64292c62171b508519c08306b").map(Ot);const wGe=dn(_w);var kw=new Array(3).concat("e5f5e0a1d99b31a354","edf8e9bae4b374c476238b45","edf8e9bae4b374c47631a354006d2c","edf8e9c7e9c0a1d99b74c47631a354006d2c","edf8e9c7e9c0a1d99b74c47641ab5d238b45005a32","f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45005a32","f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45006d2c00441b").map(Ot);const CGe=dn(kw);var Ew=new Array(3).concat("f0f0f0bdbdbd636363","f7f7f7cccccc969696525252","f7f7f7cccccc969696636363252525","f7f7f7d9d9d9bdbdbd969696636363252525","f7f7f7d9d9d9bdbdbd969696737373525252252525","fffffff0f0f0d9d9d9bdbdbd969696737373525252252525","fffffff0f0f0d9d9d9bdbdbd969696737373525252252525000000").map(Ot);const SGe=dn(Ew);var Rw=new Array(3).concat("efedf5bcbddc756bb1","f2f0f7cbc9e29e9ac86a51a3","f2f0f7cbc9e29e9ac8756bb154278f","f2f0f7dadaebbcbddc9e9ac8756bb154278f","f2f0f7dadaebbcbddc9e9ac8807dba6a51a34a1486","fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a34a1486","fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a354278f3f007d").map(Ot);const jGe=dn(Rw);var Aw=new Array(3).concat("fee0d2fc9272de2d26","fee5d9fcae91fb6a4acb181d","fee5d9fcae91fb6a4ade2d26a50f15","fee5d9fcbba1fc9272fb6a4ade2d26a50f15","fee5d9fcbba1fc9272fb6a4aef3b2ccb181d99000d","fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181d99000d","fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181da50f1567000d").map(Ot);const $Ge=dn(Aw);var Pw=new Array(3).concat("fee6cefdae6be6550d","feeddefdbe85fd8d3cd94701","feeddefdbe85fd8d3ce6550da63603","feeddefdd0a2fdae6bfd8d3ce6550da63603","feeddefdd0a2fdae6bfd8d3cf16913d948018c2d04","fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d948018c2d04","fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d94801a636037f2704").map(Ot);const _Ge=dn(Pw);function kGe(e){return e=Math.max(0,Math.min(1,e)),"rgb("+Math.max(0,Math.min(255,Math.round(-4.54-e*(35.34-e*(2381.73-e*(6402.7-e*(7024.72-e*2710.57)))))))+", "+Math.max(0,Math.min(255,Math.round(32.49+e*(170.73+e*(52.82-e*(131.46-e*(176.58-e*67.37)))))))+", "+Math.max(0,Math.min(255,Math.round(81.24+e*(442.36-e*(2482.43-e*(6167.24-e*(6614.94-e*2475.67)))))))+")"}o(kGe,"ne$2");const EGe=AP(zi(300,.5,0),zi(-240,.5,1));var RGe=AP(zi(-100,.75,.35),zi(80,1.5,.8)),AGe=AP(zi(260,.75,.35),zi(80,1.5,.8)),Nv=zi();function PGe(e){(e<0||e>1)&&(e-=Math.floor(e));var t=Math.abs(e-.5);return Nv.h=360*e-100,Nv.s=1.5-1.5*t,Nv.l=.8-.9*t,Nv+""}o(PGe,"be$2");var Fv=Rf(),MGe=Math.PI/3,TGe=Math.PI*2/3;function OGe(e){var t;return e=(.5-e)*Math.PI,Fv.r=255*(t=Math.sin(e))*t,Fv.g=255*(t=Math.sin(e+MGe))*t,Fv.b=255*(t=Math.sin(e+TGe))*t,Fv+""}o(OGe,"ve$2");function zGe(e){return e=Math.max(0,Math.min(1,e)),"rgb("+Math.max(0,Math.min(255,Math.round(34.61+e*(1172.33-e*(10793.56-e*(33300.12-e*(38394.49-e*14825.05)))))))+", "+Math.max(0,Math.min(255,Math.round(23.31+e*(557.33+e*(1225.33-e*(3574.96-e*(1073.77+e*707.56)))))))+", "+Math.max(0,Math.min(255,Math.round(27.2+e*(3211.1-e*(15327.97-e*(27814-e*(22569.18-e*6838.66)))))))+")"}o(zGe,"X$4");function Mw(e){var t=e.length;return function(n){return e[Math.max(0,Math.min(t-1,Math.floor(n*t)))]}}o(Mw,"ramp");const IGe=Mw(Ot("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725"));var LGe=Mw(Ot("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf")),DGe=Mw(Ot("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4")),NGe=Mw(Ot("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921")),FGe=Qq,BGe=Zf,WGe=$x,UGe=BGe(function(e,t){return WGe(e)?FGe(e,t):[]}),HGe=UGe;const ZK=Qt(HGe);function Bv(e){return o(function(){return e},"constant")}o(Bv,"constant");var mL=1e-12;function eJ(e){this._context=e}o(eJ,"Linear");eJ.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._point=0},"lineStart"),lineEnd:o(function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:o(function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t);break}},"point")};function qGe(e){return new eJ(e)}o(qGe,"dr$1");var hL=Array.prototype.slice;function bc(){}o(bc,"noop");function E0(e,t,n){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+n)/6)}o(E0,"point$3");function Tw(e){this._context=e}o(Tw,"Basis");Tw.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},"lineStart"),lineEnd:o(function(){switch(this._point){case 3:E0(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:o(function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:E0(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t},"point")};function VGe(e){return new Tw(e)}o(VGe,"$e$2");function tJ(e){this._context=e}o(tJ,"BasisClosed");tJ.prototype={areaStart:bc,areaEnd:bc,lineStart:o(function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},"lineStart"),lineEnd:o(function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},"lineEnd"),point:o(function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x2=e,this._y2=t;break;case 1:this._point=2,this._x3=e,this._y3=t;break;case 2:this._point=3,this._x4=e,this._y4=t,this._context.moveTo((this._x0+4*this._x1+e)/6,(this._y0+4*this._y1+t)/6);break;default:E0(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t},"point")};function GGe(e){return new tJ(e)}o(GGe,"er$1");function nJ(e){this._context=e}o(nJ,"BasisOpen");nJ.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},"lineStart"),lineEnd:o(function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:o(function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+e)/6,r=(this._y0+4*this._y1+t)/6;this._line?this._context.lineTo(n,r):this._context.moveTo(n,r);break;case 3:this._point=4;default:E0(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t},"point")};function KGe(e){return new nJ(e)}o(KGe,"rr$1");function rJ(e,t){this._basis=new Tw(e),this._beta=t}o(rJ,"Bundle");rJ.prototype={lineStart:o(function(){this._x=[],this._y=[],this._basis.lineStart()},"lineStart"),lineEnd:o(function(){var e=this._x,t=this._y,n=e.length-1;if(n>0)for(var r=e[0],a=t[0],i=e[n]-r,s=t[n]-a,c=-1,l;++c<=n;)l=c/n,this._basis.point(this._beta*e[c]+(1-this._beta)*(r+l*i),this._beta*t[c]+(1-this._beta)*(a+l*s));this._x=this._y=null,this._basis.lineEnd()},"lineEnd"),point:o(function(e,t){this._x.push(+e),this._y.push(+t)},"point")};const JGe=o(function e(t){function n(r){return t===1?new Tw(r):new rJ(r,t)}return o(n,"bundle"),n.beta=function(r){return e(+r)},n},"custom")(.85);function R0(e,t,n){e._context.bezierCurveTo(e._x1+e._k*(e._x2-e._x0),e._y1+e._k*(e._y2-e._y0),e._x2+e._k*(e._x1-t),e._y2+e._k*(e._y1-n),e._x2,e._y2)}o(R0,"point$2");function qP(e,t){this._context=e,this._k=(1-t)/6}o(qP,"Cardinal");qP.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},"lineStart"),lineEnd:o(function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:R0(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:o(function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2,this._x1=e,this._y1=t;break;case 2:this._point=3;default:R0(this,e,t);break}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t},"point")};const YGe=o(function e(t){function n(r){return new qP(r,t)}return o(n,"cardinal"),n.tension=function(r){return e(+r)},n},"custom")(0);function VP(e,t){this._context=e,this._k=(1-t)/6}o(VP,"CardinalClosed");VP.prototype={areaStart:bc,areaEnd:bc,lineStart:o(function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},"lineStart"),lineEnd:o(function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},"lineEnd"),point:o(function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x3=e,this._y3=t;break;case 1:this._point=2,this._context.moveTo(this._x4=e,this._y4=t);break;case 2:this._point=3,this._x5=e,this._y5=t;break;default:R0(this,e,t);break}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t},"point")};const QGe=o(function e(t){function n(r){return new VP(r,t)}return o(n,"cardinal"),n.tension=function(r){return e(+r)},n},"custom")(0);function GP(e,t){this._context=e,this._k=(1-t)/6}o(GP,"CardinalOpen");GP.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},"lineStart"),lineEnd:o(function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:o(function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:R0(this,e,t);break}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t},"point")};const XGe=o(function e(t){function n(r){return new GP(r,t)}return o(n,"cardinal"),n.tension=function(r){return e(+r)},n},"custom")(0);function KP(e,t,n){var r=e._x1,a=e._y1,i=e._x2,s=e._y2;if(e._l01_a>mL){var c=2*e._l01_2a+3*e._l01_a*e._l12_a+e._l12_2a,l=3*e._l01_a*(e._l01_a+e._l12_a);r=(r*c-e._x0*e._l12_2a+e._x2*e._l01_2a)/l,a=(a*c-e._y0*e._l12_2a+e._y2*e._l01_2a)/l}if(e._l23_a>mL){var u=2*e._l23_2a+3*e._l23_a*e._l12_a+e._l12_2a,d=3*e._l23_a*(e._l23_a+e._l12_a);i=(i*u+e._x1*e._l23_2a-t*e._l12_2a)/d,s=(s*u+e._y1*e._l23_2a-n*e._l12_2a)/d}e._context.bezierCurveTo(r,a,i,s,e._x2,e._y2)}o(KP,"point$1");function aJ(e,t){this._context=e,this._alpha=t}o(aJ,"CatmullRom");aJ.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},"lineStart"),lineEnd:o(function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:o(function(e,t){if(e=+e,t=+t,this._point){var n=this._x2-e,r=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3;default:KP(this,e,t);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t},"point")};const ZGe=o(function e(t){function n(r){return t?new aJ(r,t):new qP(r,0)}return o(n,"catmullRom"),n.alpha=function(r){return e(+r)},n},"custom")(.5);function oJ(e,t){this._context=e,this._alpha=t}o(oJ,"CatmullRomClosed");oJ.prototype={areaStart:bc,areaEnd:bc,lineStart:o(function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},"lineStart"),lineEnd:o(function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},"lineEnd"),point:o(function(e,t){if(e=+e,t=+t,this._point){var n=this._x2-e,r=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=e,this._y3=t;break;case 1:this._point=2,this._context.moveTo(this._x4=e,this._y4=t);break;case 2:this._point=3,this._x5=e,this._y5=t;break;default:KP(this,e,t);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t},"point")};const eKe=o(function e(t){function n(r){return t?new oJ(r,t):new VP(r,0)}return o(n,"catmullRom"),n.alpha=function(r){return e(+r)},n},"custom")(.5);function iJ(e,t){this._context=e,this._alpha=t}o(iJ,"CatmullRomOpen");iJ.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},"lineStart"),lineEnd:o(function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:o(function(e,t){if(e=+e,t=+t,this._point){var n=this._x2-e,r=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:KP(this,e,t);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t},"point")};const tKe=o(function e(t){function n(r){return t?new iJ(r,t):new GP(r,0)}return o(n,"catmullRom"),n.alpha=function(r){return e(+r)},n},"custom")(.5);function sJ(e){this._context=e}o(sJ,"LinearClosed");sJ.prototype={areaStart:bc,areaEnd:bc,lineStart:o(function(){this._point=0},"lineStart"),lineEnd:o(function(){this._point&&this._context.closePath()},"lineEnd"),point:o(function(e,t){e=+e,t=+t,this._point?this._context.lineTo(e,t):(this._point=1,this._context.moveTo(e,t))},"point")};function nKe(e){return new sJ(e)}o(nKe,"ur$1");function gL(e){return e<0?-1:1}o(gL,"sign");function vL(e,t,n){var r=e._x1-e._x0,a=t-e._x1,i=(e._y1-e._y0)/(r||a<0&&-0),s=(n-e._y1)/(a||r<0&&-0),c=(i*a+s*r)/(r+a);return(gL(i)+gL(s))*Math.min(Math.abs(i),Math.abs(s),.5*Math.abs(c))||0}o(vL,"slope3");function yL(e,t){var n=e._x1-e._x0;return n?(3*(e._y1-e._y0)/n-t)/2:t}o(yL,"slope2");function lS(e,t,n){var r=e._x0,a=e._y0,i=e._x1,s=e._y1,c=(i-r)/3;e._context.bezierCurveTo(r+c,a+c*t,i-c,s-c*n,i,s)}o(lS,"point");function A0(e){this._context=e}o(A0,"MonotoneX");A0.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},"lineStart"),lineEnd:o(function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:lS(this,this._t0,yL(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:o(function(e,t){var n=NaN;if(e=+e,t=+t,!(e===this._x1&&t===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,lS(this,yL(this,n=vL(this,e,t)),n);break;default:lS(this,this._t0,n=vL(this,e,t));break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=n}},"point")};function cJ(e){this._context=new lJ(e)}o(cJ,"MonotoneY");(cJ.prototype=Object.create(A0.prototype)).point=function(e,t){A0.prototype.point.call(this,t,e)};function lJ(e){this._context=e}o(lJ,"ReflectContext");lJ.prototype={moveTo:o(function(e,t){this._context.moveTo(t,e)},"moveTo"),closePath:o(function(){this._context.closePath()},"closePath"),lineTo:o(function(e,t){this._context.lineTo(t,e)},"lineTo"),bezierCurveTo:o(function(e,t,n,r,a,i){this._context.bezierCurveTo(t,e,r,n,i,a)},"bezierCurveTo")};function rKe(e){return new A0(e)}o(rKe,"monotoneX");function aKe(e){return new cJ(e)}o(aKe,"monotoneY");function uJ(e){this._context=e}o(uJ,"Natural");uJ.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x=[],this._y=[]},"lineStart"),lineEnd:o(function(){var e=this._x,t=this._y,n=e.length;if(n)if(this._line?this._context.lineTo(e[0],t[0]):this._context.moveTo(e[0],t[0]),n===2)this._context.lineTo(e[1],t[1]);else for(var r=bL(e),a=bL(t),i=0,s=1;s<n;++i,++s)this._context.bezierCurveTo(r[0][i],a[0][i],r[1][i],a[1][i],e[s],t[s]);(this._line||this._line!==0&&n===1)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},"lineEnd"),point:o(function(e,t){this._x.push(+e),this._y.push(+t)},"point")};function bL(e){var t,n=e.length-1,r,a=new Array(n),i=new Array(n),s=new Array(n);for(a[0]=0,i[0]=2,s[0]=e[0]+2*e[1],t=1;t<n-1;++t)a[t]=1,i[t]=4,s[t]=4*e[t]+2*e[t+1];for(a[n-1]=2,i[n-1]=7,s[n-1]=8*e[n-1]+e[n],t=1;t<n;++t)r=a[t]/i[t-1],i[t]-=r,s[t]-=r*s[t-1];for(a[n-1]=s[n-1]/i[n-1],t=n-2;t>=0;--t)a[t]=(s[t]-a[t+1])/i[t];for(i[n-1]=(e[n]+a[n-1])/2,t=0;t<n-1;++t)i[t]=2*e[t+1]-a[t+1];return[a,i]}o(bL,"controlPoints");function oKe(e){return new uJ(e)}o(oKe,"pr$2");function Ow(e,t){this._context=e,this._t=t}o(Ow,"Step");Ow.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x=this._y=NaN,this._point=0},"lineStart"),lineEnd:o(function(){0<this._t&&this._t<1&&this._point===2&&this._context.lineTo(this._x,this._y),(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},"lineEnd"),point:o(function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var n=this._x*(1-this._t)+e*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,t)}break}}this._x=e,this._y=t},"point")};function iKe(e){return new Ow(e,.5)}o(iKe,"hr$1");function sKe(e){return new Ow(e,0)}o(sKe,"stepBefore");function cKe(e){return new Ow(e,1)}o(cKe,"stepAfter");function Tf(e,t){if((s=e.length)>1)for(var n=1,r,a,i=e[t[0]],s,c=i.length;n<s;++n)for(a=i,i=e[t[n]],r=0;r<c;++r)i[r][1]+=i[r][0]=isNaN(a[r][1])?a[r][0]:a[r][1]}o(Tf,"wr$1");function Of(e){for(var t=e.length,n=new Array(t);--t>=0;)n[t]=t;return n}o(Of,"Rr$1");function lKe(e,t){return e[t]}o(lKe,"stackValue");function uKe(){var e=Bv([]),t=Of,n=Tf,r=lKe;function a(i){var s=e.apply(this,arguments),c,l=i.length,u=s.length,d=new Array(u),p;for(c=0;c<u;++c){for(var m=s[c],v=d[c]=new Array(l),h=0,y;h<l;++h)v[h]=y=[0,+r(i[h],m,h,i)],y.data=i[h];v.key=m}for(c=0,p=t(d);c<u;++c)d[p[c]].index=c;return n(d,p),d}return o(a,"stack"),a.keys=function(i){return arguments.length?(e=typeof i=="function"?i:Bv(hL.call(i)),a):e},a.value=function(i){return arguments.length?(r=typeof i=="function"?i:Bv(+i),a):r},a.order=function(i){return arguments.length?(t=i==null?Of:typeof i=="function"?i:Bv(hL.call(i)),a):t},a.offset=function(i){return arguments.length?(n=i??Tf,a):n},a}o(uKe,"A$2");function dKe(e,t){if((r=e.length)>0){for(var n,r,a=0,i=e[0].length,s;a<i;++a){for(s=n=0;n<r;++n)s+=e[n][a][1]||0;if(s)for(n=0;n<r;++n)e[n][a][1]/=s}Tf(e,t)}}o(dKe,"kr$1");function dJ(e,t){if((l=e.length)>0)for(var n,r=0,a,i,s,c,l,u=e[t[0]].length;r<u;++r)for(s=c=0,n=0;n<l;++n)(i=(a=e[t[n]][r])[1]-a[0])>0?(a[0]=s,a[1]=s+=i):i<0?(a[1]=c,a[0]=c+=i):(a[0]=0,a[1]=i)}o(dJ,"j$2");function fKe(e,t){if((a=e.length)>0){for(var n=0,r=e[t[0]],a,i=r.length;n<i;++n){for(var s=0,c=0;s<a;++s)c+=e[s][n][1]||0;r[n][1]+=r[n][0]=-c/2}Tf(e,t)}}o(fKe,"xr$1");function pKe(e,t){if(!(!((s=e.length)>0)||!((i=(a=e[t[0]]).length)>0))){for(var n=0,r=1,a,i,s;r<i;++r){for(var c=0,l=0,u=0;c<s;++c){for(var d=e[t[c]],p=d[r][1]||0,m=d[r-1][1]||0,v=(p-m)/2,h=0;h<c;++h){var y=e[t[h]],C=y[r][1]||0,w=y[r-1][1]||0;v+=C-w}l+=p,u+=v*p}a[r-1][1]+=a[r-1][0]=n,l&&(n-=u/l)}a[r-1][1]+=a[r-1][0]=n,Tf(e,t)}}o(pKe,"Or$1");function mKe(e){var t=e.map(hKe);return Of(e).sort(function(n,r){return t[n]-t[r]})}o(mKe,"appearance");function hKe(e){for(var t=-1,n=0,r=e.length,a,i=-1/0;++t<r;)(a=+e[t][1])>i&&(i=a,n=t);return n}o(hKe,"peak");function fJ(e){var t=e.map(pJ);return Of(e).sort(function(n,r){return t[n]-t[r]})}o(fJ,"br$1");function pJ(e){for(var t=0,n=-1,r=e.length,a;++n<r;)(a=+e[n][1])&&(t+=a);return t}o(pJ,"sum");function gKe(e){return fJ(e).reverse()}o(gKe,"yr$1");function vKe(e){var t=e.length,n,r,a=e.map(pJ),i=mKe(e),s=0,c=0,l=[],u=[];for(n=0;n<t;++n)r=i[n],s<c?(s+=a[r],l.push(r)):(c+=a[r],u.push(r));return u.reverse().concat(l)}o(vKe,"vr$1");function yKe(e){return Of(e).reverse()}o(yKe,"qr$1");function bKe(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)}o(bKe,"formatDecimal");function P0(e,t){if((n=(e=t?e.toExponential(t-1):e.toExponential()).indexOf("e"))<0)return null;var n,r=e.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+e.slice(n+1)]}o(P0,"formatDecimalParts");function xKe(e){return e=P0(Math.abs(e)),e?e[1]:NaN}o(xKe,"exponent");function wKe(e,t){return function(n,r){for(var a=n.length,i=[],s=0,c=e[0],l=0;a>0&&c>0&&(l+c+1>r&&(c=Math.max(1,r-l)),i.push(n.substring(a-=c,a+c)),!((l+=c+1)>r));)c=e[s=(s+1)%e.length];return i.reverse().join(t)}}o(wKe,"formatGroup");function CKe(e){return function(t){return t.replace(/[0-9]/g,function(n){return e[+n]})}}o(CKe,"formatNumerals");var SKe=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function d_(e){if(!(t=SKe.exec(e)))throw new Error("invalid format: "+e);var t;return new JP({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}o(d_,"formatSpecifier");d_.prototype=JP.prototype;function JP(e){this.fill=e.fill===void 0?" ":e.fill+"",this.align=e.align===void 0?">":e.align+"",this.sign=e.sign===void 0?"-":e.sign+"",this.symbol=e.symbol===void 0?"":e.symbol+"",this.zero=!!e.zero,this.width=e.width===void 0?void 0:+e.width,this.comma=!!e.comma,this.precision=e.precision===void 0?void 0:+e.precision,this.trim=!!e.trim,this.type=e.type===void 0?"":e.type+""}o(JP,"FormatSpecifier");JP.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function jKe(e){e:for(var t=e.length,n=1,r=-1,a;n<t;++n)switch(e[n]){case".":r=a=n;break;case"0":r===0&&(r=n),a=n;break;default:if(!+e[n])break e;r>0&&(r=0);break}return r>0?e.slice(0,r)+e.slice(a+1):e}o(jKe,"formatTrim");var mJ;function $Ke(e,t){var n=P0(e,t);if(!n)return e+"";var r=n[0],a=n[1],i=a-(mJ=Math.max(-8,Math.min(8,Math.floor(a/3)))*3)+1,s=r.length;return i===s?r:i>s?r+new Array(i-s+1).join("0"):i>0?r.slice(0,i)+"."+r.slice(i):"0."+new Array(1-i).join("0")+P0(e,Math.max(0,t+i-1))[0]}o($Ke,"formatPrefixAuto");function xL(e,t){var n=P0(e,t);if(!n)return e+"";var r=n[0],a=n[1];return a<0?"0."+new Array(-a).join("0")+r:r.length>a+1?r.slice(0,a+1)+"."+r.slice(a+1):r+new Array(a-r.length+2).join("0")}o(xL,"formatRounded");const wL={"%":o(function(e,t){return(e*100).toFixed(t)},"%"),b:o(function(e){return Math.round(e).toString(2)},"b"),c:o(function(e){return e+""},"c"),d:bKe,e:o(function(e,t){return e.toExponential(t)},"e"),f:o(function(e,t){return e.toFixed(t)},"f"),g:o(function(e,t){return e.toPrecision(t)},"g"),o:o(function(e){return Math.round(e).toString(8)},"o"),p:o(function(e,t){return xL(e*100,t)},"p"),r:xL,s:$Ke,X:o(function(e){return Math.round(e).toString(16).toUpperCase()},"X"),x:o(function(e){return Math.round(e).toString(16)},"x")};function CL(e){return e}o(CL,"identity$1");var SL=Array.prototype.map,jL=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function _Ke(e){var t=e.grouping===void 0||e.thousands===void 0?CL:wKe(SL.call(e.grouping,Number),e.thousands+""),n=e.currency===void 0?"":e.currency[0]+"",r=e.currency===void 0?"":e.currency[1]+"",a=e.decimal===void 0?".":e.decimal+"",i=e.numerals===void 0?CL:CKe(SL.call(e.numerals,String)),s=e.percent===void 0?"%":e.percent+"",c=e.minus===void 0?"-":e.minus+"",l=e.nan===void 0?"NaN":e.nan+"";function u(p){p=d_(p);var m=p.fill,v=p.align,h=p.sign,y=p.symbol,C=p.zero,w=p.width,x=p.comma,b=p.precision,S=p.trim,$=p.type;$==="n"?(x=!0,$="g"):wL[$]||(b===void 0&&(b=12),S=!0,$="g"),(C||m==="0"&&v==="=")&&(C=!0,m="0",v="=");var j=y==="$"?n:y==="#"&&/[boxX]/.test($)?"0"+$.toLowerCase():"",_=y==="$"?r:/[%p]/.test($)?s:"",k=wL[$],E=/[defgprs%]/.test($);b=b===void 0?6:/[gprs]/.test($)?Math.max(1,Math.min(21,b)):Math.max(0,Math.min(20,b));function A(P){var M=j,T=_,z,O,N;if($==="c")T=k(P)+T,P="";else{P=+P;var F=P<0||1/P<0;if(P=isNaN(P)?l:k(Math.abs(P),b),S&&(P=jKe(P)),F&&+P==0&&h!=="+"&&(F=!1),M=(F?h==="("?h:c:h==="-"||h==="("?"":h)+M,T=($==="s"?jL[8+mJ/3]:"")+T+(F&&h==="("?")":""),E){for(z=-1,O=P.length;++z<O;)if(N=P.charCodeAt(z),48>N||N>57){T=(N===46?a+P.slice(z+1):P.slice(z))+T,P=P.slice(0,z);break}}}x&&!C&&(P=t(P,1/0));var I=M.length+P.length+T.length,B=I<w?new Array(w-I+1).join(m):"";switch(x&&C&&(P=t(B+P,B.length?w-T.length:1/0),B=""),v){case"<":P=M+P+T+B;break;case"=":P=M+B+P+T;break;case"^":P=B.slice(0,I=B.length>>1)+M+P+T+B.slice(I);break;default:P=B+M+P+T;break}return i(P)}return o(A,"format"),A.toString=function(){return p+""},A}o(u,"newFormat");function d(p,m){var v=u((p=d_(p),p.type="f",p)),h=Math.max(-8,Math.min(8,Math.floor(xKe(m)/3)))*3,y=Math.pow(10,-h),C=jL[8+h/3];return function(w){return v(y*w)+C}}return o(d,"formatPrefix"),{format:u,formatPrefix:d}}o(_Ke,"formatLocale");var Wv,YP;kKe({decimal:".",thousands:",",grouping:[3],currency:["$",""],minus:"-"});function kKe(e){return Wv=_Ke(e),YP=Wv.format,Wv.formatPrefix,Wv}o(kKe,"defaultLocale");function vr(){return vr=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},vr.apply(this,arguments)}o(vr,"Gr$1");function hJ(e,t){if(e==null)return{};var n,r,a={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}o(hJ,"Lr$1");var xc={fill:L.string,fontSize:L.number,fontFamily:L.string},EKe=L.shape({domain:L.shape({line:L.shape({stroke:L.string.isRequired,strokeWidth:L.number.isRequired,strokeDasharray:L.string}).isRequired}).isRequired,ticks:L.shape({line:L.shape({stroke:L.string.isRequired,strokeWidth:L.number.isRequired,strokeDasharray:L.string}).isRequired,text:L.shape(vr({},xc)).isRequired}).isRequired,legend:L.shape({text:L.shape(vr({},xc)).isRequired}).isRequired}),RKe=L.shape({line:L.shape({stroke:L.string.isRequired,strokeWidth:L.number.isRequired,strokeDasharray:L.string}).isRequired}),AKe=L.shape({hidden:L.shape({symbol:L.shape({fill:L.string.isRequired,opacity:L.number}).isRequired,text:L.shape(vr({},xc,{opacity:L.number})).isRequired}).isRequired,text:L.shape(vr({},xc)).isRequired}),PKe=L.shape({text:L.shape(vr({},xc)).isRequired}),MKe=L.shape({text:L.shape(vr({},xc)).isRequired}),TKe=L.shape({text:L.shape(vr({},xc)).isRequired}),OKe=L.shape({line:L.shape({stroke:L.string.isRequired,strokeWidth:L.number.isRequired,strokeDasharray:L.string}).isRequired}),zKe=L.shape({text:L.shape(vr({},xc,{outlineWidth:L.number.isRequired,outlineColor:L.string.isRequired})).isRequired,link:L.shape({stroke:L.string.isRequired,strokeWidth:L.number.isRequired,outlineWidth:L.number.isRequired,outlineColor:L.string.isRequired}).isRequired,outline:L.shape({stroke:L.string.isRequired,strokeWidth:L.number.isRequired,outlineWidth:L.number.isRequired,outlineColor:L.string.isRequired}).isRequired,symbol:L.shape({fill:L.string.isRequired,outlineWidth:L.number.isRequired,outlineColor:L.string.isRequired}).isRequired});L.shape({background:L.string.isRequired,fontFamily:L.string.isRequired,fontSize:L.number.isRequired,textColor:L.string.isRequired,axis:EKe.isRequired,grid:RKe.isRequired,legends:AKe.isRequired,labels:PKe.isRequired,dots:MKe.isRequired,markers:TKe,crosshair:OKe.isRequired,annotations:zKe.isRequired});var IKe={background:"transparent",fontFamily:"sans-serif",fontSize:11,textColor:"#333333",axis:{domain:{line:{stroke:"transparent",strokeWidth:1}},ticks:{line:{stroke:"#777777",strokeWidth:1},text:{}},legend:{text:{fontSize:12}}},grid:{line:{stroke:"#dddddd",strokeWidth:1}},legends:{hidden:{symbol:{fill:"#333333",opacity:.6},text:{fill:"#333333",opacity:.6}},text:{},ticks:{line:{stroke:"#777777",strokeWidth:1},text:{fontSize:10}},title:{text:{}}},labels:{text:{}},markers:{lineColor:"#000000",lineStrokeWidth:1,text:{}},dots:{text:{}},tooltip:{container:{background:"white",color:"inherit",fontSize:"inherit",borderRadius:"2px",boxShadow:"0 1px 2px rgba(0, 0, 0, 0.25)",padding:"5px 9px"},basic:{whiteSpace:"pre",display:"flex",alignItems:"center"},chip:{marginRight:7},table:{},tableCell:{padding:"3px 5px"},tableCellValue:{fontWeight:"bold"}},crosshair:{line:{stroke:"#000000",strokeWidth:1,strokeOpacity:.75,strokeDasharray:"6 6"}},annotations:{text:{fontSize:13,outlineWidth:2,outlineColor:"#ffffff",outlineOpacity:1},link:{stroke:"#000000",strokeWidth:1,outlineWidth:2,outlineColor:"#ffffff",outlineOpacity:1},outline:{fill:"none",stroke:"#000000",strokeWidth:2,outlineWidth:2,outlineColor:"#ffffff",outlineOpacity:1},symbol:{fill:"#000000",outlineWidth:2,outlineColor:"#ffffff",outlineOpacity:1}}},LKe=["axis.ticks.text","axis.legend.text","legends.title.text","legends.text","legends.ticks.text","legends.title.text","labels.text","dots.text","markers.text","annotations.text"],DKe=o(function(e,t){var n=Qk({},e,t);return LKe.forEach(function(r){$t(n,r+".fontFamily")===void 0&&Ta(n,r+".fontFamily",n.fontFamily),$t(n,r+".fontSize")===void 0&&Ta(n,r+".fontSize",n.fontSize),$t(n,r+".fill")===void 0&&Ta(n,r+".fill",n.textColor)}),n},"Qr$1"),gJ=g.createContext(),QP=o(function(e){var t=e.children,n=e.animate,r=e.stiffness,a=e.damping,i=e.config,s=g.useMemo(function(){var c=iqe(i)?CP[i]:i;return{animate:n,springConfig:{stiffness:r,damping:a},config:c}},[n,r,a,i]);return f.jsx(gJ.Provider,{value:s,children:t})},"$r$1"),Uv={animate:L.bool,motionStiffness:L.number,motionDamping:L.number,motionConfig:L.oneOfType([L.oneOf(Object.keys(CP)),L.shape({mass:L.number,tension:L.number,friction:L.number,clamp:L.bool,precision:L.number,velocity:L.number,duration:L.number,easing:L.func})])};QP.propTypes={children:L.node.isRequired,animate:Uv.animate,stiffness:Uv.motionStiffness,damping:Uv.motionDamping,config:Uv.motionConfig};var NKe={animate:!0,stiffness:90,damping:15,config:"default"};QP.defaultProps=NKe;var Xo=o(function(){return g.useContext(gJ)},"tt$1"),FKe=o(function(e){var t=Xo(),n=t.animate,r=t.config,a=function(c){var l=g.useRef();return g.useEffect(function(){l.current=c},[c]),l.current}(e),i=g.useMemo(function(){return jK(a,e)},[a,e]),s=Es({from:{value:0},to:{value:1},reset:!0,config:r,immediate:!n}).value;return Z3(s,i)},"it$1"),BKe={nivo:["#d76445","#f47560","#e8c1a0","#97e3d5","#61cdbb","#00b0a7"],BrBG:mt(ow),PRGn:mt(iw),PiYG:mt(sw),PuOr:mt(cw),RdBu:mt(lw),RdGy:mt(uw),RdYlBu:mt(dw),RdYlGn:mt(fw),spectral:mt(pw),blues:mt(_w),greens:mt(kw),greys:mt(Ew),oranges:mt(Pw),purples:mt(Rw),reds:mt(Aw),BuGn:mt(mw),BuPu:mt(hw),GnBu:mt(gw),OrRd:mt(vw),PuBuGn:mt(yw),PuBu:mt(bw),PuRd:mt(xw),RdPu:mt(ww),YlGnBu:mt(Cw),YlGn:mt(Sw),YlOrBr:mt(jw),YlOrRd:mt($w)},WKe=Object.keys(BKe);mt(ow),mt(iw),mt(sw),mt(cw),mt(lw),mt(uw),mt(dw),mt(fw),mt(pw),mt(_w),mt(kw),mt(Ew),mt(Pw),mt(Rw),mt(Aw),mt(mw),mt(hw),mt(gw),mt(vw),mt(yw),mt(bw),mt(xw),mt(ww),mt(Cw),mt(Sw),mt(jw),mt($w);L.oneOfType([L.oneOf(WKe),L.func,L.arrayOf(L.string)]);var UKe={basis:VGe,basisClosed:GGe,basisOpen:KGe,bundle:JGe,cardinal:YGe,cardinalClosed:QGe,cardinalOpen:XGe,catmullRom:ZGe,catmullRomClosed:eKe,catmullRomOpen:tKe,linear:qGe,linearClosed:nKe,monotoneX:rKe,monotoneY:aKe,natural:oKe,step:iKe,stepAfter:cKe,stepBefore:sKe},zw=Object.keys(UKe);L.oneOf(zw);zw.filter(function(e){return e.endsWith("Closed")});ZK(zw,"bundle","basisClosed","basisOpen","cardinalClosed","cardinalOpen","catmullRomClosed","catmullRomOpen","linearClosed");var HKe=ZK(zw,"bundle","basisClosed","basisOpen","cardinalClosed","cardinalOpen","catmullRomClosed","catmullRomOpen","linearClosed");L.oneOf(HKe);L.arrayOf(L.shape({id:L.string.isRequired})).isRequired,L.arrayOf(L.shape({id:L.string.isRequired,match:L.oneOfType([L.oneOf(["*"]),L.object,L.func]).isRequired})).isRequired;var qKe={ascending:fJ,descending:gKe,insideOut:vKe,none:Of,reverse:yKe},VKe=Object.keys(qKe);L.oneOf(VKe);var GKe={expand:dKe,diverging:dJ,none:Tf,silhouette:fKe,wiggle:pKe},KKe=Object.keys(GKe);L.oneOf(KKe);L.shape({top:L.number,right:L.number,bottom:L.number,left:L.number}).isRequired;var JKe=["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"];L.oneOf(JKe);rl(HP);var YKe={top:0,right:0,bottom:0,left:0},vJ=o(function(e,t,n){return n===void 0&&(n={}),g.useMemo(function(){var r=vr({},YKe,n);return{margin:r,innerWidth:e-r.left-r.right,innerHeight:t-r.top-r.bottom,outerWidth:e,outerHeight:t}},[e,t,n.top,n.right,n.bottom,n.left])},"At$1"),yJ=o(function(){var e=g.useRef(null),t=g.useState({left:0,top:0,width:0,height:0}),n=t[0],r=t[1],a=g.useState(function(){return typeof window<"u"?new ResizeObserver(function(i){var s=i[0];return r(s.contentRect)}):null})[0];return g.useEffect(function(){return e.current&&a!==null&&a.observe(e.current),function(){a!==null&&a.disconnect()}},[]),[e,n]},"Ft"),QKe=o(function(e){return g.useMemo(function(){return DKe(IKe,e)},[e])},"Et$1"),XKe=o(function(e){return typeof e=="function"?e:typeof e=="string"?e.indexOf("time:")===0?aw(e.slice("5")):YP(e):function(t){return""+t}},"Ut"),bJ=o(function(e){return g.useMemo(function(){return XKe(e)},[e])},"Xt$1"),xJ=g.createContext(),ZKe={},wJ=o(function(e){var t=e.theme,n=t===void 0?ZKe:t,r=e.children,a=QKe(n);return f.jsx(xJ.Provider,{value:a,children:r})},"Nt$1");wJ.propTypes={children:L.node.isRequired,theme:L.object};var dr=o(function(){return g.useContext(xJ)},"Vt$1"),CJ=o(function(e){var t=e.children,n=e.condition,r=e.wrapper;return n?g.cloneElement(r,{},t):t},"Jt$1");CJ.propTypes={children:L.node.isRequired,condition:L.bool.isRequired,wrapper:L.element.isRequired};var eJe={position:"relative"},XP=o(function(e){var t=e.children,n=e.theme,r=e.renderWrapper,a=r===void 0||r,i=e.isInteractive,s=i===void 0||i,c=e.animate,l=e.motionStiffness,u=e.motionDamping,d=e.motionConfig,p=g.useRef(null);return f.jsx(wJ,{theme:n,children:f.jsx(QP,{animate:c,stiffness:l,damping:u,config:d,children:f.jsx(_He,{container:p,children:f.jsxs(CJ,{condition:a,wrapper:f.jsx("div",{style:eJe,ref:p}),children:[t,s&&f.jsx($He,{})]})})})})},"Zt$1");XP.propTypes={children:L.element.isRequired,isInteractive:L.bool,renderWrapper:L.bool,theme:L.object,animate:L.bool,motionStiffness:L.number,motionDamping:L.number,motionConfig:L.string};L.func.isRequired,L.bool,L.bool,L.object.isRequired,L.bool.isRequired,L.number,L.number,L.string;var ZP=o(function(e){var t=e.children,n=yJ(),r=n[0],a=n[1],i=a.width>0&&a.height>0;return f.jsx("div",{ref:r,style:{width:"100%",height:"100%"},children:i&&t({width:a.width,height:a.height})})},"ti$1");ZP.propTypes={children:L.func.isRequired};var tJe=["id","colors"],SJ=o(function(e){var t=e.id,n=e.colors,r=hJ(e,tJe);return f.jsx("linearGradient",vr({id:t,x1:0,x2:0,y1:0,y2:1},r,{children:n.map(function(a){var i=a.offset,s=a.color,c=a.opacity;return f.jsx("stop",{offset:i+"%",stopColor:s,stopOpacity:c!==void 0?c:1},i)})}))},"ni$1");SJ.propTypes={id:L.string.isRequired,colors:L.arrayOf(L.shape({offset:L.number.isRequired,color:L.string.isRequired,opacity:L.number})).isRequired,gradientTransform:L.string};var jJ={linearGradient:SJ},By=g.memo(function(e){var t=e.id,n=e.background,r=e.color,a=e.size,i=e.padding,s=e.stagger,c=a+i,l=a/2,u=i/2;return s===!0&&(c=2*a+2*i),f.jsxs("pattern",{id:t,width:c,height:c,patternUnits:"userSpaceOnUse",children:[f.jsx("rect",{width:c,height:c,fill:n}),f.jsx("circle",{cx:u+l,cy:u+l,r:l,fill:r}),s&&f.jsx("circle",{cx:1.5*i+a+l,cy:1.5*i+a+l,r:l,fill:r})]})});By.displayName="PatternDots",By.propTypes={id:L.string.isRequired,color:L.string.isRequired,background:L.string.isRequired,size:L.number.isRequired,padding:L.number.isRequired,stagger:L.bool.isRequired},By.defaultProps={color:"#000000",background:"#ffffff",size:4,padding:4,stagger:!1};var Uh=o(function(e){return e*Math.PI/180},"ui$1"),nJe=o(function(e){return 180*e/Math.PI},"fi$1"),rJe=o(function(e,t){return{x:Math.cos(e)*t,y:Math.sin(e)*t}},"pi$1"),aJe=o(function(e){var t=e%360;return t<0&&(t+=360),t},"hi$1"),oJe={svg:{align:{left:"start",center:"middle",right:"end",start:"start",middle:"middle",end:"end"},baseline:{top:"text-before-edge",center:"central",bottom:"alphabetic"}},canvas:{align:{left:"left",center:"center",right:"right",start:"left",middle:"center",end:"right"},baseline:{top:"top",center:"middle",bottom:"bottom"}}},Wy=g.memo(function(e){var t=e.id,n=e.spacing,r=e.rotation,a=e.background,i=e.color,s=e.lineWidth,c=Math.round(r)%360,l=Math.abs(n);c>180?c-=360:c>90?c-=180:c<-180?c+=360:c<-90&&(c+=180);var u,d=l,p=l;return c===0?u=` + M 0 0 L `+d+` 0 + M 0 `+p+" L "+d+" "+p+` + `:c===90?u=` + M 0 0 L 0 `+p+` + M `+d+" 0 L "+d+" "+p+` + `:(d=Math.abs(l/Math.sin(Uh(c))),p=l/Math.sin(Uh(90-c)),u=c>0?` + M 0 `+-p+" L "+2*d+" "+p+` + M `+-d+" "+-p+" L "+d+" "+p+` + M `+-d+" 0 L "+d+" "+2*p+` + `:` + M `+-d+" "+p+" L "+d+" "+-p+` + M `+-d+" "+2*p+" L "+2*d+" "+-p+` + M 0 `+2*p+" L "+2*d+` 0 + `),f.jsxs("pattern",{id:t,width:d,height:p,patternUnits:"userSpaceOnUse",children:[f.jsx("rect",{width:d,height:p,fill:a,stroke:"rgba(255, 0, 0, 0.1)",strokeWidth:0}),f.jsx("path",{d:u,strokeWidth:s,stroke:i,strokeLinecap:"square"})]})});Wy.displayName="PatternLines",Wy.propTypes={id:L.string.isRequired,spacing:L.number.isRequired,rotation:L.number.isRequired,background:L.string.isRequired,color:L.string.isRequired,lineWidth:L.number.isRequired},Wy.defaultProps={spacing:5,rotation:0,color:"#000000",background:"#ffffff",lineWidth:2};var Uy=g.memo(function(e){var t=e.id,n=e.background,r=e.color,a=e.size,i=e.padding,s=e.stagger,c=a+i,l=i/2;return s===!0&&(c=2*a+2*i),f.jsxs("pattern",{id:t,width:c,height:c,patternUnits:"userSpaceOnUse",children:[f.jsx("rect",{width:c,height:c,fill:n}),f.jsx("rect",{x:l,y:l,width:a,height:a,fill:r}),s&&f.jsx("rect",{x:1.5*i+a,y:1.5*i+a,width:a,height:a,fill:r})]})});Uy.displayName="PatternSquares",Uy.propTypes={id:L.string.isRequired,color:L.string.isRequired,background:L.string.isRequired,size:L.number.isRequired,padding:L.number.isRequired,stagger:L.bool.isRequired},Uy.defaultProps={color:"#000000",background:"#ffffff",size:4,padding:4,stagger:!1};var $J={patternDots:By,patternLines:Wy,patternSquares:Uy},iJe=["type"],f_=vr({},jJ,$J),_J=o(function(e){var t=e.defs;return!t||t.length<1?null:f.jsx("defs",{"aria-hidden":!0,children:t.map(function(n){var r=n.type,a=hJ(n,iJe);return f_[r]?g.createElement(f_[r],vr({key:a.id},a)):null})})},"Ci$1");_J.propTypes={defs:L.arrayOf(L.shape({type:L.oneOf(Object.keys(f_)).isRequired,id:L.string.isRequired}))};var sJe=g.memo(_J),kJ=o(function(e){var t=e.width,n=e.height,r=e.margin,a=e.defs,i=e.children,s=e.role,c=e.ariaLabel,l=e.ariaLabelledBy,u=e.ariaDescribedBy,d=e.isFocusable,p=dr();return f.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:t,height:n,role:s,"aria-label":c,"aria-labelledby":l,"aria-describedby":u,focusable:d,tabIndex:d?0:void 0,children:[f.jsx(sJe,{defs:a}),f.jsx("rect",{width:t,height:n,fill:p.background}),f.jsx("g",{transform:"translate("+r.left+","+r.top+")",children:i})]})},"Si$1");kJ.propTypes={width:L.number.isRequired,height:L.number.isRequired,margin:L.shape({top:L.number.isRequired,left:L.number.isRequired}).isRequired,defs:L.array,children:L.oneOfType([L.arrayOf(L.node),L.node]).isRequired,role:L.string,isFocusable:L.bool,ariaLabel:L.string,ariaLabelledBy:L.string,ariaDescribedBy:L.string};var EJ=o(function(e){var t=e.size,n=e.color,r=e.borderWidth,a=e.borderColor;return f.jsx("circle",{r:t/2,fill:n,stroke:a,strokeWidth:r,style:{pointerEvents:"none"}})},"zi$1");EJ.propTypes={size:L.number.isRequired,color:L.string.isRequired,borderWidth:L.number.isRequired,borderColor:L.string.isRequired};var cJe=g.memo(EJ),RJ=o(function(e){var t=e.x,n=e.y,r=e.symbol,a=r===void 0?cJe:r,i=e.size,s=e.datum,c=e.color,l=e.borderWidth,u=e.borderColor,d=e.label,p=e.labelTextAnchor,m=p===void 0?"middle":p,v=e.labelYOffset,h=v===void 0?-12:v,y=dr(),C=Xo(),w=C.animate,x=C.config,b=Es({transform:"translate("+t+", "+n+")",config:x,immediate:!w});return f.jsxs(nr.g,{transform:b.transform,style:{pointerEvents:"none"},children:[g.createElement(a,{size:i,color:c,datum:s,borderWidth:l,borderColor:u}),d&&f.jsx("text",{textAnchor:m,y:h,style:y.dots.text,children:d})]})},"Ti$1");RJ.propTypes={x:L.number.isRequired,y:L.number.isRequired,datum:L.object.isRequired,size:L.number.isRequired,color:L.string.isRequired,borderWidth:L.number.isRequired,borderColor:L.string.isRequired,symbol:L.oneOfType([L.func,L.object]),label:L.oneOfType([L.string,L.number]),labelTextAnchor:L.oneOf(["start","middle","end"]),labelYOffset:L.number};g.memo(RJ);var p_=o(function(e){var t=e.width,n=e.height,r=e.axis,a=e.scale,i=e.value,s=e.lineStyle,c=e.textStyle,l=e.legend,u=e.legendPosition,d=e.legendOffsetX,p=e.legendOffsetY,m=e.legendOrientation,v=dr(),h=0,y=0,C=0,w=0;r==="y"?(C=a(i),y=t):(h=a(i),w=n);var x=null;if(l){var b=function(S){var $=S.axis,j=S.width,_=S.height,k=S.position,E=S.offsetX,A=S.offsetY,P=S.orientation,M=0,T=0,z=P==="vertical"?-90:0,O="start";if($==="x")switch(k){case"top-left":M=-E,T=A,O="end";break;case"top":T=-A,O=P==="horizontal"?"middle":"start";break;case"top-right":M=E,T=A,O=P==="horizontal"?"start":"end";break;case"right":M=E,T=_/2,O=P==="horizontal"?"start":"middle";break;case"bottom-right":M=E,T=_-A,O="start";break;case"bottom":T=_+A,O=P==="horizontal"?"middle":"end";break;case"bottom-left":T=_-A,M=-E,O=P==="horizontal"?"end":"start";break;case"left":M=-E,T=_/2,O=P==="horizontal"?"end":"middle"}else switch(k){case"top-left":M=E,T=-A,O="start";break;case"top":M=j/2,T=-A,O=P==="horizontal"?"middle":"start";break;case"top-right":M=j-E,T=-A,O=P==="horizontal"?"end":"start";break;case"right":M=j+E,O=P==="horizontal"?"start":"middle";break;case"bottom-right":M=j-E,T=A,O="end";break;case"bottom":M=j/2,T=A,O=P==="horizontal"?"middle":"end";break;case"bottom-left":M=E,T=A,O=P==="horizontal"?"start":"end";break;case"left":M=-E,O=P==="horizontal"?"end":"middle"}return{x:M,y:T,rotation:z,textAnchor:O}}({axis:r,width:t,height:n,position:u,offsetX:d,offsetY:p,orientation:m});x=f.jsx("text",{transform:"translate("+b.x+", "+b.y+") rotate("+b.rotation+")",textAnchor:b.textAnchor,dominantBaseline:"central",style:c,children:l})}return f.jsxs("g",{transform:"translate("+h+", "+C+")",children:[f.jsx("line",{x1:0,x2:y,y1:0,y2:w,stroke:v.markers.lineColor,strokeWidth:v.markers.lineStrokeWidth,style:s}),x]})},"ji$1");p_.propTypes={width:L.number.isRequired,height:L.number.isRequired,axis:L.oneOf(["x","y"]).isRequired,scale:L.func.isRequired,value:L.oneOfType([L.number,L.string,L.instanceOf(Date)]).isRequired,lineStyle:L.object,textStyle:L.object,legend:L.string,legendPosition:L.oneOf(["top-left","top","top-right","right","bottom-right","bottom","bottom-left","left"]),legendOffsetX:L.number.isRequired,legendOffsetY:L.number.isRequired,legendOrientation:L.oneOf(["horizontal","vertical"]).isRequired},p_.defaultProps={legendPosition:"top-right",legendOffsetX:14,legendOffsetY:14,legendOrientation:"horizontal"};var lJe=g.memo(p_),AJ=o(function(e){var t=e.markers,n=e.width,r=e.height,a=e.xScale,i=e.yScale;return t&&t.length!==0?t.map(function(s,c){return f.jsx(lJe,vr({},s,{width:n,height:r,scale:s.axis==="y"?i:a}),c)}):null},"Gi$1");AJ.propTypes={width:L.number.isRequired,height:L.number.isRequired,xScale:L.func.isRequired,yScale:L.func.isRequired,markers:L.arrayOf(L.shape({axis:L.oneOf(["x","y"]).isRequired,value:L.oneOfType([L.number,L.string,L.instanceOf(Date)]).isRequired,lineStyle:L.object,textStyle:L.object}))};var uJe=g.memo(AJ),PJ=o(function(e){return J9(e)?e:function(t){return $t(t,e)}},"Ui$1"),uS=o(function(e){return g.useMemo(function(){return PJ(e)},[e])},"Xi$1"),dJe=o(function(e,t,n,r,a,i){return e<=a&&a<=e+n&&t<=i&&i<=t+r},"Ji$1"),dS=o(function(e,t){var n=t.clientX,r=t.clientY,a=e.getBoundingClientRect(),i=e.getBBox(),s=i.width===a.width?1:i.width/a.width;return[(n-a.left)*s,(r-a.top)*s]},"Qi$1"),fJe=Object.keys(jJ),pJe=Object.keys($J),mJe=o(function(e,t,n){if(e==="*")return!0;if(J9(e))return e(t);if(Jk(e)){var r=n?$t(t,n):t;return va(dg(r,Object.keys(e)),e)}return!1},"en$4"),hJe=o(function(e,t,n,r){var a=r===void 0?{}:r,i=a.dataKey,s=a.colorKey,c=s===void 0?"color":s,l=a.targetKey,u=l===void 0?"fill":l,d=[],p={};return e.length&&t.length&&(d=[].concat(e),t.forEach(function(m){for(var v=function(y){var C=n[y],w=C.id,x=C.match;if(mJe(x,m,i)){var b=e.find(function(P){return P.id===w});if(b){if(pJe.includes(b.type))if(b.background==="inherit"||b.color==="inherit"){var S=$t(m,c),$=b.background,j=b.color,_=w;b.background==="inherit"&&(_=_+".bg."+S,$=S),b.color==="inherit"&&(_=_+".fg."+S,j=S),Ta(m,u,"url(#"+_+")"),p[_]||(d.push(vr({},b,{id:_,background:$,color:j})),p[_]=1)}else Ta(m,u,"url(#"+w+")");else if(fJe.includes(b.type))if(b.colors.map(function(P){return P.color}).includes("inherit")){var k=$t(m,c),E=w,A=vr({},b,{colors:b.colors.map(function(P,M){return P.color!=="inherit"?P:(E=E+"."+M+"."+k,vr({},P,{color:P.color==="inherit"?k:P.color}))})});A.id=E,Ta(m,u,"url(#"+E+")"),p[E]||(d.push(A),p[E]=1)}else Ta(m,u,"url(#"+w+")")}return"break"}},h=0;h<n.length&&v(h)!=="break";h++);})),d},"rn$2"),gJe=Ax,vJe=Q7;function yJe(e,t){return e&&e.length?vJe(e,gJe(t)):[]}o(yJe,"uniqBy");var bJe=yJe;const $L=Qt(bJe);var xJe=j7,wJe=sg;function CJe(e,t){return e&&xJe(e,t,wJe)}o(CJe,"baseForOwn$1");var SJe=CJe,jJe=Jf;function $Je(e,t){return function(n,r){if(n==null)return n;if(!jJe(n))return e(n,r);for(var a=n.length,i=t?a:-1,s=Object(n);(t?i--:++i<a)&&r(s[i],i,s)!==!1;);return n}}o($Je,"createBaseEach$1");var _Je=$Je,kJe=SJe,EJe=_Je,RJe=EJe(kJe),MJ=RJe,AJe=MJ,PJe=Jf;function MJe(e,t){var n=-1,r=PJe(e)?Array(e.length):[];return AJe(e,function(a,i,s){r[++n]=t(a,i,s)}),r}o(MJe,"baseMap$1");var TJe=MJe;function OJe(e,t){var n=e.length;for(e.sort(t);n--;)e[n]=e[n].value;return e}o(OJe,"baseSortBy$1");var zJe=OJe,_L=rg;function IJe(e,t){if(e!==t){var n=e!==void 0,r=e===null,a=e===e,i=_L(e),s=t!==void 0,c=t===null,l=t===t,u=_L(t);if(!c&&!u&&!i&&e>t||i&&s&&l&&!c&&!u||r&&s&&l||!n&&l||!a)return 1;if(!r&&!i&&!u&&e<t||u&&n&&a&&!r&&!i||c&&n&&a||!s&&a||!l)return-1}return 0}o(IJe,"compareAscending$1");var LJe=IJe,DJe=LJe;function NJe(e,t,n){for(var r=-1,a=e.criteria,i=t.criteria,s=a.length,c=n.length;++r<s;){var l=DJe(a[r],i[r]);if(l){if(r>=c)return l;var u=n[r];return l*(u=="desc"?-1:1)}}return e.index-t.index}o(NJe,"compareMultiple$1");var FJe=NJe,fS=ag,BJe=og,WJe=Ax,UJe=TJe,HJe=zJe,qJe=ig,VJe=FJe,GJe=_x,KJe=Sa;function JJe(e,t,n){t.length?t=fS(t,function(i){return KJe(i)?function(s){return BJe(s,i.length===1?i[0]:i)}:i}):t=[GJe];var r=-1;t=fS(t,qJe(WJe));var a=UJe(e,function(i,s,c){var l=fS(t,function(u){return u(i)});return{criteria:l,index:++r,value:i}});return HJe(a,function(i,s){return VJe(i,s,n)})}o(JJe,"baseOrderBy$1");var YJe=JJe,QJe=kx,XJe=YJe,ZJe=Zf,kL=Yk;ZJe(function(e,t){if(e==null)return[];var n=t.length;return n>1&&kL(e,t[0],t[1])?t=[]:n>2&&kL(t[0],t[1],t[2])&&(t=[t[0]]),XJe(e,QJe(t,1),[])});var EL=Sx;EL&&EL.isDate;var pS=new Date,mS=new Date;function yr(e,t,n,r){function a(i){return e(i=arguments.length===0?new Date:new Date(+i)),i}return o(a,"interval"),a.floor=function(i){return e(i=new Date(+i)),i},a.ceil=function(i){return e(i=new Date(i-1)),t(i,1),e(i),i},a.round=function(i){var s=a(i),c=a.ceil(i);return i-s<c-i?s:c},a.offset=function(i,s){return t(i=new Date(+i),s==null?1:Math.floor(s)),i},a.range=function(i,s,c){var l=[],u;if(i=a.ceil(i),c=c==null?1:Math.floor(c),!(i<s)||!(c>0))return l;do l.push(u=new Date(+i)),t(i,c),e(i);while(u<i&&i<s);return l},a.filter=function(i){return yr(function(s){if(s>=s)for(;e(s),!i(s);)s.setTime(s-1)},function(s,c){if(s>=s)if(c<0)for(;++c<=0;)for(;t(s,-1),!i(s););else for(;--c>=0;)for(;t(s,1),!i(s););})},n&&(a.count=function(i,s){return pS.setTime(+i),mS.setTime(+s),e(pS),e(mS),Math.floor(n(pS,mS))},a.every=function(i){return i=Math.floor(i),!isFinite(i)||!(i>0)?null:i>1?a.filter(r?function(s){return r(s)%i===0}:function(s){return a.count(0,s)%i===0}):a}),a}o(yr,"newInterval");var Hh=yr(function(){},function(e,t){e.setTime(+e+t)},function(e,t){return t-e});Hh.every=function(e){return e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?yr(function(t){t.setTime(Math.floor(t/e)*e)},function(t,n){t.setTime(+t+n*e)},function(t,n){return(n-t)/e}):Hh};Hh.range;var M0=1e3,zf=6e4,T0=36e5,TJ=6048e5,m_=yr(function(e){e.setTime(e-e.getMilliseconds())},function(e,t){e.setTime(+e+t*M0)},function(e,t){return(t-e)/M0},function(e){return e.getUTCSeconds()});m_.range;var OJ=yr(function(e){e.setTime(e-e.getMilliseconds()-e.getSeconds()*M0)},function(e,t){e.setTime(+e+t*zf)},function(e,t){return(t-e)/zf},function(e){return e.getMinutes()});OJ.range;var zJ=yr(function(e){e.setTime(e-e.getMilliseconds()-e.getSeconds()*M0-e.getMinutes()*zf)},function(e,t){e.setTime(+e+t*T0)},function(e,t){return(t-e)/T0},function(e){return e.getHours()});zJ.range;function tu(e){return yr(function(t){t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},function(t,n){t.setDate(t.getDate()+n*7)},function(t,n){return(n-t-(n.getTimezoneOffset()-t.getTimezoneOffset())*zf)/TJ})}o(tu,"weekday$1");var h_=tu(0),IJ=tu(1),LJ=tu(2),DJ=tu(3),NJ=tu(4),FJ=tu(5),BJ=tu(6);h_.range;IJ.range;LJ.range;DJ.range;NJ.range;FJ.range;BJ.range;var WJ=yr(function(e){e.setDate(1),e.setHours(0,0,0,0)},function(e,t){e.setMonth(e.getMonth()+t)},function(e,t){return t.getMonth()-e.getMonth()+(t.getFullYear()-e.getFullYear())*12},function(e){return e.getMonth()});WJ.range;var e8=yr(function(e){e.setMonth(0,1),e.setHours(0,0,0,0)},function(e,t){e.setFullYear(e.getFullYear()+t)},function(e,t){return t.getFullYear()-e.getFullYear()},function(e){return e.getFullYear()});e8.every=function(e){return!isFinite(e=Math.floor(e))||!(e>0)?null:yr(function(t){t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},function(t,n){t.setFullYear(t.getFullYear()+n*e)})};e8.range;var UJ=yr(function(e){e.setUTCSeconds(0,0)},function(e,t){e.setTime(+e+t*zf)},function(e,t){return(t-e)/zf},function(e){return e.getUTCMinutes()});UJ.range;var HJ=yr(function(e){e.setUTCMinutes(0,0,0)},function(e,t){e.setTime(+e+t*T0)},function(e,t){return(t-e)/T0},function(e){return e.getUTCHours()});HJ.range;function nu(e){return yr(function(t){t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},function(t,n){t.setUTCDate(t.getUTCDate()+n*7)},function(t,n){return(n-t)/TJ})}o(nu,"utcWeekday");var g_=nu(0),qJ=nu(1),VJ=nu(2),GJ=nu(3),KJ=nu(4),JJ=nu(5),YJ=nu(6);g_.range;qJ.range;VJ.range;GJ.range;KJ.range;JJ.range;YJ.range;var QJ=yr(function(e){e.setUTCDate(1),e.setUTCHours(0,0,0,0)},function(e,t){e.setUTCMonth(e.getUTCMonth()+t)},function(e,t){return t.getUTCMonth()-e.getUTCMonth()+(t.getUTCFullYear()-e.getUTCFullYear())*12},function(e){return e.getUTCMonth()});QJ.range;var t8=yr(function(e){e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},function(e,t){e.setUTCFullYear(e.getUTCFullYear()+t)},function(e,t){return t.getUTCFullYear()-e.getUTCFullYear()},function(e){return e.getUTCFullYear()});t8.every=function(e){return!isFinite(e=Math.floor(e))||!(e>0)?null:yr(function(t){t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},function(t,n){t.setUTCFullYear(t.getUTCFullYear()+n*e)})};t8.range;var Cu=[function(e){return e.setMilliseconds(0)},function(e){return e.setSeconds(0)},function(e){return e.setMinutes(0)},function(e){return e.setHours(0)},function(e){return e.setDate(1)},function(e){return e.setMonth(0)}],eYe={millisecond:[],second:Cu.slice(0,1),minute:Cu.slice(0,2),hour:Cu.slice(0,3),day:Cu.slice(0,4),month:Cu.slice(0,5),year:Cu.slice(0,6)},tYe=o(function(e){return function(t){return eYe[e].forEach(function(n){n(t)}),t}},"L$2"),nYe=o(function(e){var t=e.format,n=t===void 0?"native":t,r=e.precision,a=r===void 0?"millisecond":r,i=e.useUTC,s=i===void 0||i,c=tYe(a);return function(l){if(l===void 0)return l;if(n==="native"||l instanceof Date)return c(l);var u=s?HK(n):WK(n);return c(u(l))}},"Q$2"),rYe=o(function(e,t,n,r){var a,i,s,c,l=e.min,u=l===void 0?0:l,d=e.max,p=d===void 0?"auto":d,m=e.stacked,v=m!==void 0&&m,h=e.reverse,y=h!==void 0&&h,C=e.clamp,w=C!==void 0&&C,x=e.nice,b=x!==void 0&&x;u==="auto"?a=v===!0?(i=t.minStacked)!=null?i:0:t.min:a=u,p==="auto"?s=v===!0?(c=t.maxStacked)!=null?c:0:t.max:s=p;var S=TK().rangeRound(r==="x"?[0,n]:[n,0]).domain(y?[s,a]:[a,s]).clamp(w);return b===!0?S.nice():typeof b=="number"&&S.nice(b),aYe(S,v)},"W$3"),aYe=o(function(e,t){t===void 0&&(t=!1);var n=e;return n.type="linear",n.stacked=t,n},"X$3"),oYe=o(function(e,t,n){var r=fqe().range([0,n]).domain(t.all);return r.type="point",r},"Y$3"),iYe=o(function(e,t,n,r){var a=e.round,i=a===void 0||a,s=MP().range(r==="x"?[0,n]:[n,0]).domain(t.all).round(i);return sYe(s)},"_$1"),sYe=o(function(e){var t=e;return t.type="band",t},"nn$1"),cYe=o(function(e,t,n){var r,a,i=e.format,s=i===void 0?"native":i,c=e.precision,l=c===void 0?"millisecond":c,u=e.min,d=u===void 0?"auto":u,p=e.max,m=p===void 0?"auto":p,v=e.useUTC,h=v===void 0||v,y=e.nice,C=y!==void 0&&y,w=nYe({format:s,precision:l,useUTC:h});r=d==="auto"?w(t.min):s!=="native"?w(d):d,a=m==="auto"?w(t.max):s!=="native"?w(m):m;var x=h?ZVe():XVe();x.range([0,n]),r&&a&&x.domain([r,a]),C===!0?x.nice():typeof C!="object"&&typeof C!="number"||x.nice(C);var b=x;return b.type="time",b.useUTC=h,b},"tn$1"),lYe=o(function(e,t,n,r){var a,i=e.base,s=i===void 0?10:i,c=e.min,l=c===void 0?"auto":c,u=e.max,d=u===void 0?"auto":u;if(t.all.some(function(y){return y===0}))throw new Error("a log scale domain must not include or cross zero");var p,m,v=!1;if(t.all.filter(function(y){return y!=null}).forEach(function(y){v||(a===void 0?a=Math.sign(y):Math.sign(y)!==a&&(v=!0))}),v)throw new Error("a log scale domain must be strictly-positive or strictly-negative");p=l==="auto"?t.min:l,m=d==="auto"?t.max:d;var h=zK().domain([p,m]).rangeRound(r==="x"?[0,n]:[n,0]).base(s).nice();return h.type="log",h},"rn$1"),uYe=o(function(e,t,n,r){var a,i,s=e.constant,c=s===void 0?1:s,l=e.min,u=l===void 0?"auto":l,d=e.max,p=d===void 0?"auto":d,m=e.reverse,v=m!==void 0&&m;a=u==="auto"?t.min:u,i=p==="auto"?t.max:p;var h=IK().constant(c).rangeRound(r==="x"?[0,n]:[n,0]).nice();v===!0?h.domain([i,a]):h.domain([a,i]);var y=h;return y.type="symlog",y},"en$3");function n8(e,t,n,r){switch(e.type){case"linear":return rYe(e,t,n,r);case"point":return oYe(0,t,n);case"band":return iYe(e,t,n,r);case"time":return cYe(e,t,n);case"log":return lYe(e,t,n,r);case"symlog":return uYe(e,t,n,r);default:throw new Error("invalid scale spec")}}o(n8,"cn$1");var XJ=o(function(e){var t=e.bandwidth();if(t===0)return e;var n=t/2;return e.round()&&(n=Math.round(n)),function(r){var a;return((a=e(r))!=null?a:0)+n}},"pn$1"),ZJ={millisecond:[Hh,Hh],second:[m_,m_],minute:[OJ,UJ],hour:[zJ,HJ],day:[yr(function(e){return e.setHours(0,0,0,0)},function(e,t){return e.setDate(e.getDate()+t)},function(e,t){return(t.getTime()-e.getTime())/864e5},function(e){return Math.floor(e.getTime()/864e5)}),yr(function(e){return e.setUTCHours(0,0,0,0)},function(e,t){return e.setUTCDate(e.getUTCDate()+t)},function(e,t){return(t.getTime()-e.getTime())/864e5},function(e){return Math.floor(e.getTime()/864e5)})],week:[h_,g_],sunday:[h_,g_],monday:[IJ,qJ],tuesday:[LJ,VJ],wednesday:[DJ,GJ],thursday:[NJ,KJ],friday:[FJ,JJ],saturday:[BJ,YJ],month:[WJ,QJ],year:[e8,t8]},dYe=Object.keys(ZJ),fYe=new RegExp("^every\\s*(\\d+)?\\s*("+dYe.join("|")+")s?$","i"),eY=o(function(e,t){if(Array.isArray(t))return t;if(typeof t=="string"&&"useUTC"in e){var n=t.match(fYe);if(n){var r=n[1],a=n[2],i=ZJ[a][e.useUTC?1:0];if(a==="day"){var s,c,l=e.domain(),u=l[0],d=l[1],p=new Date(d);return p.setDate(p.getDate()+1),(s=(c=i.every(Number(r??1)))==null?void 0:c.range(u,p))!=null?s:[]}if(r===void 0)return e.ticks(i);var m=i.every(Number(r));if(m)return e.ticks(m)}throw new Error("Invalid tickValues: "+t)}if("ticks"in e){if(t===void 0)return e.ticks();if(typeof(v=t)=="number"&&isFinite(v)&&Math.floor(v)===v)return e.ticks(t)}var v;return e.domain()},"kn$1");function Bo(){return Bo=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Bo.apply(this,arguments)}o(Bo,"v$2");var tY=o(function(e){var t,n=e.axis,r=e.scale,a=e.ticksPosition,i=e.tickValues,s=e.tickSize,c=e.tickPadding,l=e.tickRotation,u=e.engine,d=u===void 0?"svg":u,p=eY(r,i),m=oJe[d],v="bandwidth"in r?XJ(r):r,h={lineX:0,lineY:0},y={textX:0,textY:0},C=typeof document=="object"&&document.dir==="rtl",w=m.align.center,x=m.baseline.center;return n==="x"?(t=o(function(b){var S;return{x:(S=v(b))!=null?S:0,y:0}},"e"),h.lineY=s*(a==="after"?1:-1),y.textY=(s+c)*(a==="after"?1:-1),x=a==="after"?m.baseline.top:m.baseline.bottom,l===0?w=m.align.center:a==="after"&&l<0||a==="before"&&l>0?(w=m.align[C?"left":"right"],x=m.baseline.center):(a==="after"&&l>0||a==="before"&&l<0)&&(w=m.align[C?"right":"left"],x=m.baseline.center)):(t=o(function(b){var S;return{x:0,y:(S=v(b))!=null?S:0}},"e"),h.lineX=s*(a==="after"?1:-1),y.textX=(s+c)*(a==="after"?1:-1),w=a==="after"?m.align.left:m.align.right),{ticks:p.map(function(b){return Bo({key:b instanceof Date?""+b.valueOf():""+b,value:b},t(b),h,y)}),textAlign:w,textBaseline:x}},"p$2"),nY=o(function(e,t){if(e===void 0||typeof e=="function")return e;if(t.type==="time"){var n=aw(e);return function(r){return n(r instanceof Date?r:new Date(r))}}return YP(e)},"b$2"),v_=o(function(e){var t,n=e.width,r=e.height,a=e.scale,i=e.axis,s=e.values,c=(t=s,(Array.isArray(t)?s:void 0)||eY(a,s)),l="bandwidth"in a?XJ(a):a,u=i==="x"?c.map(function(d){var p,m;return{key:d instanceof Date?""+d.valueOf():""+d,x1:(p=l(d))!=null?p:0,x2:(m=l(d))!=null?m:0,y1:0,y2:r}}):c.map(function(d){var p,m;return{key:d instanceof Date?""+d.valueOf():""+d,x1:0,x2:n,y1:(p=l(d))!=null?p:0,y2:(m=l(d))!=null?m:0}});return u},"P$2"),pYe=g.memo(function(e){var t,n=e.value,r=e.format,a=e.lineX,i=e.lineY,s=e.onClick,c=e.textBaseline,l=e.textAnchor,u=e.animatedProps,d=dr(),p=(t=r==null?void 0:r(n))!=null?t:n,m=g.useMemo(function(){var v={opacity:u.opacity};return s?{style:Bo({},v,{cursor:"pointer"}),onClick:o(function(h){return s(h,p)},"onClick")}:{style:v}},[u.opacity,s,p]);return f.jsxs(nr.g,Bo({transform:u.transform},m,{children:[f.jsx("line",{x1:0,x2:a,y1:0,y2:i,style:d.axis.ticks.line}),f.jsx(nr.text,{dominantBaseline:c,textAnchor:l,transform:u.textTransform,style:d.axis.ticks.text,children:p})]}))}),mYe=g.memo(function(e){var t=e.axis,n=e.scale,r=e.x,a=r===void 0?0:r,i=e.y,s=i===void 0?0:i,c=e.length,l=e.ticksPosition,u=e.tickValues,d=e.tickSize,p=d===void 0?5:d,m=e.tickPadding,v=m===void 0?5:m,h=e.tickRotation,y=h===void 0?0:h,C=e.format,w=e.renderTick,x=w===void 0?pYe:w,b=e.legend,S=e.legendPosition,$=S===void 0?"end":S,j=e.legendOffset,_=j===void 0?0:j,k=e.onClick,E=e.ariaHidden,A=dr(),P=g.useMemo(function(){return nY(C,n)},[C,n]),M=tY({axis:t,scale:n,ticksPosition:l,tickValues:u,tickSize:p,tickPadding:v,tickRotation:y}),T=M.ticks,z=M.textAlign,O=M.textBaseline,N=null;if(b!==void 0){var F,I=0,B=0,U=0;t==="y"?(U=-90,I=_,$==="start"?(F="start",B=c):$==="middle"?(F="middle",B=c/2):$==="end"&&(F="end")):(B=_,$==="start"?F="start":$==="middle"?(F="middle",I=c/2):$==="end"&&(F="end",I=c)),N=f.jsx("text",{transform:"translate("+I+", "+B+") rotate("+U+")",textAnchor:F,style:Bo({dominantBaseline:"central"},A.axis.legend.text),children:b})}var te=Xo(),Z=te.animate,be=te.config,ne=Es({transform:"translate("+a+","+s+")",lineX2:t==="x"?c:0,lineY2:t==="x"?0:c,config:be,immediate:!Z}),le=jP(T,{keys:o(function(oe){return oe.key},"keys"),initial:o(function(oe){return{opacity:1,transform:"translate("+oe.x+","+oe.y+")",textTransform:"translate("+oe.textX+","+oe.textY+") rotate("+y+")"}},"initial"),from:o(function(oe){return{opacity:0,transform:"translate("+oe.x+","+oe.y+")",textTransform:"translate("+oe.textX+","+oe.textY+") rotate("+y+")"}},"from"),enter:o(function(oe){return{opacity:1,transform:"translate("+oe.x+","+oe.y+")",textTransform:"translate("+oe.textX+","+oe.textY+") rotate("+y+")"}},"enter"),update:o(function(oe){return{opacity:1,transform:"translate("+oe.x+","+oe.y+")",textTransform:"translate("+oe.textX+","+oe.textY+") rotate("+y+")"}},"update"),leave:{opacity:0},config:be,immediate:!Z});return f.jsxs(nr.g,{transform:ne.transform,"aria-hidden":E,children:[le(function(oe,Se,xe,X){return g.createElement(x,Bo({tickIndex:X,format:P,rotate:y,textBaseline:O,textAnchor:z,animatedProps:oe},Se,k?{onClick:k}:{}))}),f.jsx(nr.line,{style:A.axis.domain.line,x1:0,x2:ne.lineX2,y1:0,y2:ne.lineY2}),N]})}),hYe={ticksPosition:L.oneOf(["before","after"]),tickValues:L.oneOfType([L.number,L.arrayOf(L.oneOfType([L.number,L.string,L.instanceOf(Date)])),L.string]),tickSize:L.number,tickPadding:L.number,tickRotation:L.number,format:L.oneOfType([L.func,L.string]),renderTick:L.func,legend:L.node,legendPosition:L.oneOf(["start","middle","end"]),legendOffset:L.number,ariaHidden:L.bool};L.shape(hYe);var rY=["top","right","bottom","left"],gYe=g.memo(function(e){var t=e.xScale,n=e.yScale,r=e.width,a=e.height,i={top:e.top,right:e.right,bottom:e.bottom,left:e.left};return f.jsx(f.Fragment,{children:rY.map(function(s){var c=i[s];if(!c)return null;var l=s==="top"||s==="bottom";return f.jsx(mYe,Bo({},c,{axis:l?"x":"y",x:s==="right"?r:0,y:s==="bottom"?a:0,scale:l?t:n,length:l?r:a,ticksPosition:s==="top"||s==="left"?"before":"after"}),s)})})}),vYe=g.memo(function(e){var t=e.animatedProps,n=dr();return f.jsx(nr.line,Bo({},t,n.grid.line))}),RL=g.memo(function(e){var t=e.lines,n=Xo(),r=n.animate,a=n.config,i=jP(t,{keys:o(function(s){return s.key},"keys"),initial:o(function(s){return{opacity:1,x1:s.x1,x2:s.x2,y1:s.y1,y2:s.y2}},"initial"),from:o(function(s){return{opacity:0,x1:s.x1,x2:s.x2,y1:s.y1,y2:s.y2}},"from"),enter:o(function(s){return{opacity:1,x1:s.x1,x2:s.x2,y1:s.y1,y2:s.y2}},"enter"),update:o(function(s){return{opacity:1,x1:s.x1,x2:s.x2,y1:s.y1,y2:s.y2}},"update"),leave:{opacity:0},config:a,immediate:!r});return f.jsx("g",{children:i(function(s,c){return g.createElement(vYe,Bo({},c,{key:c.key,animatedProps:s}))})})}),yYe=g.memo(function(e){var t=e.width,n=e.height,r=e.xScale,a=e.yScale,i=e.xValues,s=e.yValues,c=g.useMemo(function(){return!!r&&v_({width:t,height:n,scale:r,axis:"x",values:i})},[r,i,t,n]),l=g.useMemo(function(){return!!a&&v_({width:t,height:n,scale:a,axis:"y",values:s})},[n,t,a,s]);return f.jsxs(f.Fragment,{children:[c&&f.jsx(RL,{lines:c}),l&&f.jsx(RL,{lines:l})]})}),bYe=o(function(e,t){var n,r=t.axis,a=t.scale,i=t.x,s=i===void 0?0:i,c=t.y,l=c===void 0?0:c,u=t.length,d=t.ticksPosition,p=t.tickValues,m=t.tickSize,v=m===void 0?5:m,h=t.tickPadding,y=h===void 0?5:h,C=t.tickRotation,w=C===void 0?0:C,x=t.format,b=t.legend,S=t.legendPosition,$=S===void 0?"end":S,j=t.legendOffset,_=j===void 0?0:j,k=t.theme,E=tY({axis:r,scale:a,ticksPosition:d,tickValues:p,tickSize:v,tickPadding:y,tickRotation:w,engine:"canvas"}),A=E.ticks,P=E.textAlign,M=E.textBaseline;e.save(),e.translate(s,l),e.textAlign=P,e.textBaseline=M,e.font=(k.axis.ticks.text.fontWeight?k.axis.ticks.text.fontWeight+" ":"")+k.axis.ticks.text.fontSize+"px "+k.axis.ticks.text.fontFamily,((n=k.axis.domain.line.strokeWidth)!=null?n:0)>0&&(e.lineWidth=Number(k.axis.domain.line.strokeWidth),e.lineCap="square",k.axis.domain.line.stroke&&(e.strokeStyle=k.axis.domain.line.stroke),e.beginPath(),e.moveTo(0,0),e.lineTo(r==="x"?u:0,r==="x"?0:u),e.stroke());var T=typeof x=="function"?x:function(I){return""+I};if(A.forEach(function(I){var B;((B=k.axis.ticks.line.strokeWidth)!=null?B:0)>0&&(e.lineWidth=Number(k.axis.ticks.line.strokeWidth),e.lineCap="square",k.axis.ticks.line.stroke&&(e.strokeStyle=k.axis.ticks.line.stroke),e.beginPath(),e.moveTo(I.x,I.y),e.lineTo(I.x+I.lineX,I.y+I.lineY),e.stroke());var U=T(I.value);e.save(),e.translate(I.x+I.textX,I.y+I.textY),e.rotate(Uh(w)),k.axis.ticks.text.fill&&(e.fillStyle=k.axis.ticks.text.fill),e.fillText(String(U),0,0),e.restore()}),b!==void 0){var z=0,O=0,N=0,F="center";r==="y"?(N=-90,z=_,$==="start"?(F="start",O=u):$==="middle"?(F="center",O=u/2):$==="end"&&(F="end")):(O=_,$==="start"?F="start":$==="middle"?(F="center",z=u/2):$==="end"&&(F="end",z=u)),e.translate(z,O),e.rotate(Uh(N)),e.font=(k.axis.legend.text.fontWeight?k.axis.legend.text.fontWeight+" ":"")+k.axis.legend.text.fontSize+"px "+k.axis.legend.text.fontFamily,k.axis.legend.text.fill&&(e.fillStyle=k.axis.legend.text.fill),e.textAlign=F,e.textBaseline="middle",e.fillText(b,0,0)}e.restore()},"z$3"),xYe=o(function(e,t){var n=t.xScale,r=t.yScale,a=t.width,i=t.height,s=t.top,c=t.right,l=t.bottom,u=t.left,d=t.theme,p={top:s,right:c,bottom:l,left:u};rY.forEach(function(m){var v=p[m];if(!v)return null;var h=m==="top"||m==="bottom",y=m==="top"||m==="left"?"before":"after",C=h?n:r,w=nY(v.format,C);bYe(e,Bo({},v,{axis:h?"x":"y",x:m==="right"?a:0,y:m==="bottom"?i:0,scale:C,format:w,length:h?a:i,ticksPosition:y,theme:d}))})},"V$1"),AL=o(function(e,t){var n=t.width,r=t.height,a=t.scale,i=t.axis,s=t.values;v_({width:n,height:r,scale:a,axis:i,values:s}).forEach(function(c){e.beginPath(),e.moveTo(c.x1,c.y1),e.lineTo(c.x2,c.y2),e.stroke()})},"C$2"),wYe=Kk;function CYe(e){return wYe(e)?void 0:e}o(CYe,"customOmitClone$1");var SYe=CYe,jYe=ag,$Ye=eE,_Ye=a7,kYe=Vf,EYe=Qf,RYe=SYe,AYe=lB,PYe=Zk,MYe=1,TYe=2,OYe=4,zYe=AYe(function(e,t){var n={};if(e==null)return n;var r=!1;t=jYe(t,function(i){return i=kYe(i,e),r||(r=i.length>1),i}),EYe(e,PYe(e),n),r&&(n=$Ye(n,MYe|TYe|OYe,RYe));for(var a=t.length;a--;)_Ye(n,t[a]);return n}),IYe=zYe;const aY=Qt(IYe);var LYe=_c,DYe=Uo,NYe="[object Number]";function FYe(e){return typeof e=="number"||DYe(e)&&LYe(e)==NYe}o(FYe,"isNumber");var BYe=FYe;const PL=Qt(BYe);var WYe=MJ;function UYe(e,t){var n=[];return WYe(e,function(r,a,i){t(r,a,i)&&n.push(r)}),n}o(UYe,"baseFilter$1");var HYe=UYe,qYe=d7,VYe=HYe,GYe=Ax,KYe=Sa;function JYe(e,t){var n=KYe(e)?qYe:VYe;return n(e,GYe(t))}o(JYe,"filter");var YYe=JYe;const QYe=Qt(YYe);function Ii(){return Ii=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Ii.apply(this,arguments)}o(Ii,"g$1");var y_={dotSize:4,noteWidth:120,noteTextOffset:8,animate:!0,motionStiffness:90,motionDamping:13},XYe=o(function(e){var t=typeof e;return g.isValidElement(e)||t==="string"||t==="function"||t==="object"},"W$1"),ZYe=o(function(e){var t=typeof e;return t==="string"||t==="function"},"v$1"),qh=o(function(e){return e.type==="circle"},"b$1"),b_=o(function(e){return e.type==="dot"},"w$1"),Vh=o(function(e){return e.type==="rect"},"z$2"),eQe=o(function(e){var t=e.data,n=e.annotations,r=e.getPosition,a=e.getDimensions;return n.reduce(function(i,s){var c=s.offset||0;return[].concat(i,QYe(t,s.match).map(function(l){var u=r(l),d=a(l);return(qh(s)||Vh(s))&&(d.size=d.size+2*c,d.width=d.width+2*c,d.height=d.height+2*c),Ii({},aY(s,["match","offset"]),u,d,{size:s.size||d.size,datum:l})}))},[])},"P$1"),tQe=o(function(e,t,n,r){var a=Math.atan2(r-t,n-e);return aJe(nJe(a))},"S$2"),oY=o(function(e){var t,n,r=e.x,a=e.y,i=e.noteX,s=e.noteY,c=e.noteWidth,l=c===void 0?y_.noteWidth:c,u=e.noteTextOffset,d=u===void 0?y_.noteTextOffset:u;if(PL(i))t=r+i;else{if(i.abs===void 0)throw new Error("noteX should be either a number or an object containing an 'abs' property");t=i.abs}if(PL(s))n=a+s;else{if(s.abs===void 0)throw new Error("noteY should be either a number or an object containing an 'abs' property");n=s.abs}var p=r,m=a,v=tQe(r,a,t,n);if(qh(e)){var h=rJe(Uh(v),e.size/2);p+=h.x,m+=h.y}if(Vh(e)){var y=Math.round((v+90)/45)%8;y===0&&(m-=e.height/2),y===1&&(p+=e.width/2,m-=e.height/2),y===2&&(p+=e.width/2),y===3&&(p+=e.width/2,m+=e.height/2),y===4&&(m+=e.height/2),y===5&&(p-=e.width/2,m+=e.height/2),y===6&&(p-=e.width/2),y===7&&(p-=e.width/2,m-=e.height/2)}var C=t,w=t;return(v+90)%360>180?(C-=l,w-=l):w+=l,{points:[[p,m],[t,n],[w,n]],text:[C,n-d],angle:v+90}},"C$1"),iY=o(function(e){var t=e.data,n=e.annotations,r=e.getPosition,a=e.getDimensions;return g.useMemo(function(){return eQe({data:t,annotations:n,getPosition:r,getDimensions:a})},[t,n,r,a])},"O$2"),nQe=o(function(e){var t=e.annotations;return g.useMemo(function(){return t.map(function(n){return Ii({},n,{computed:oY(Ii({},n))})})},[t])},"j$1"),rQe=o(function(e){return g.useMemo(function(){return oY(e)},[e])},"M$1"),aQe=o(function(e){var t=e.datum,n=e.x,r=e.y,a=e.note,i=dr(),s=Xo(),c=s.animate,l=s.config,u=Es({x:n,y:r,config:l,immediate:!c});return typeof a=="function"?g.createElement(a,{x:n,y:r,datum:t}):f.jsxs(f.Fragment,{children:[i.annotations.text.outlineWidth>0&&f.jsx(nr.text,{x:u.x,y:u.y,style:Ii({},i.annotations.text,{strokeLinejoin:"round",strokeWidth:2*i.annotations.text.outlineWidth,stroke:i.annotations.text.outlineColor}),children:a}),f.jsx(nr.text,{x:u.x,y:u.y,style:aY(i.annotations.text,["outlineWidth","outlineColor"]),children:a})]})},"T$1"),ML=o(function(e){var t=e.points,n=e.isOutline,r=n!==void 0&&n,a=dr(),i=g.useMemo(function(){var l=t[0];return t.slice(1).reduce(function(u,d){return u+" L"+d[0]+","+d[1]},"M"+l[0]+","+l[1])},[t]),s=FKe(i);if(r&&a.annotations.link.outlineWidth<=0)return null;var c=Ii({},a.annotations.link);return r&&(c.strokeLinecap="square",c.strokeWidth=a.annotations.link.strokeWidth+2*a.annotations.link.outlineWidth,c.stroke=a.annotations.link.outlineColor,c.opacity=a.annotations.link.outlineOpacity),f.jsx(nr.path,{fill:"none",d:s,style:c})},"E$1"),oQe=o(function(e){var t=e.x,n=e.y,r=e.size,a=dr(),i=Xo(),s=i.animate,c=i.config,l=Es({x:t,y:n,radius:r/2,config:c,immediate:!s});return f.jsxs(f.Fragment,{children:[a.annotations.outline.outlineWidth>0&&f.jsx(nr.circle,{cx:l.x,cy:l.y,r:l.radius,style:Ii({},a.annotations.outline,{fill:"none",strokeWidth:a.annotations.outline.strokeWidth+2*a.annotations.outline.outlineWidth,stroke:a.annotations.outline.outlineColor,opacity:a.annotations.outline.outlineOpacity})}),f.jsx(nr.circle,{cx:l.x,cy:l.y,r:l.radius,style:a.annotations.outline})]})},"D"),iQe=o(function(e){var t=e.x,n=e.y,r=e.size,a=r===void 0?y_.dotSize:r,i=dr(),s=Xo(),c=s.animate,l=s.config,u=Es({x:t,y:n,radius:a/2,config:l,immediate:!c});return f.jsxs(f.Fragment,{children:[i.annotations.outline.outlineWidth>0&&f.jsx(nr.circle,{cx:u.x,cy:u.y,r:u.radius,style:Ii({},i.annotations.outline,{fill:"none",strokeWidth:2*i.annotations.outline.outlineWidth,stroke:i.annotations.outline.outlineColor,opacity:i.annotations.outline.outlineOpacity})}),f.jsx(nr.circle,{cx:u.x,cy:u.y,r:u.radius,style:i.annotations.symbol})]})},"I$1"),sQe=o(function(e){var t=e.x,n=e.y,r=e.width,a=e.height,i=e.borderRadius,s=i===void 0?6:i,c=dr(),l=Xo(),u=l.animate,d=l.config,p=Es({x:t-r/2,y:n-a/2,width:r,height:a,config:d,immediate:!u});return f.jsxs(f.Fragment,{children:[c.annotations.outline.outlineWidth>0&&f.jsx(nr.rect,{x:p.x,y:p.y,rx:s,ry:s,width:p.width,height:p.height,style:Ii({},c.annotations.outline,{fill:"none",strokeWidth:c.annotations.outline.strokeWidth+2*c.annotations.outline.outlineWidth,stroke:c.annotations.outline.outlineColor,opacity:c.annotations.outline.outlineOpacity})}),f.jsx(nr.rect,{x:p.x,y:p.y,rx:s,ry:s,width:p.width,height:p.height,style:c.annotations.outline})]})},"L$1"),cQe=o(function(e){var t=e.datum,n=e.x,r=e.y,a=e.note,i=rQe(e);if(!XYe(a))throw new Error("note should be a valid react element");return f.jsxs(f.Fragment,{children:[f.jsx(ML,{points:i.points,isOutline:!0}),qh(e)&&f.jsx(oQe,{x:n,y:r,size:e.size}),b_(e)&&f.jsx(iQe,{x:n,y:r,size:e.size}),Vh(e)&&f.jsx(sQe,{x:n,y:r,width:e.width,height:e.height,borderRadius:e.borderRadius}),f.jsx(ML,{points:i.points}),f.jsx(aQe,{datum:t,x:i.text[0],y:i.text[1],note:a})]})},"R$1"),TL=o(function(e,t){t.forEach(function(n,r){var a=n[0],i=n[1];r===0?e.moveTo(a,i):e.lineTo(a,i)})},"q$1"),lQe=o(function(e,t){var n=t.annotations,r=t.theme;n.length!==0&&(e.save(),n.forEach(function(a){if(!ZYe(a.note))throw new Error("note is invalid for canvas implementation");r.annotations.link.outlineWidth>0&&(e.lineCap="square",e.strokeStyle=r.annotations.link.outlineColor,e.lineWidth=r.annotations.link.strokeWidth+2*r.annotations.link.outlineWidth,e.beginPath(),TL(e,a.computed.points),e.stroke(),e.lineCap="butt"),qh(a)&&r.annotations.outline.outlineWidth>0&&(e.strokeStyle=r.annotations.outline.outlineColor,e.lineWidth=r.annotations.outline.strokeWidth+2*r.annotations.outline.outlineWidth,e.beginPath(),e.arc(a.x,a.y,a.size/2,0,2*Math.PI),e.stroke()),b_(a)&&r.annotations.symbol.outlineWidth>0&&(e.strokeStyle=r.annotations.symbol.outlineColor,e.lineWidth=2*r.annotations.symbol.outlineWidth,e.beginPath(),e.arc(a.x,a.y,a.size/2,0,2*Math.PI),e.stroke()),Vh(a)&&r.annotations.outline.outlineWidth>0&&(e.strokeStyle=r.annotations.outline.outlineColor,e.lineWidth=r.annotations.outline.strokeWidth+2*r.annotations.outline.outlineWidth,e.beginPath(),e.rect(a.x-a.width/2,a.y-a.height/2,a.width,a.height),e.stroke()),e.strokeStyle=r.annotations.link.stroke,e.lineWidth=r.annotations.link.strokeWidth,e.beginPath(),TL(e,a.computed.points),e.stroke(),qh(a)&&(e.strokeStyle=r.annotations.outline.stroke,e.lineWidth=r.annotations.outline.strokeWidth,e.beginPath(),e.arc(a.x,a.y,a.size/2,0,2*Math.PI),e.stroke()),b_(a)&&(e.fillStyle=r.annotations.symbol.fill,e.beginPath(),e.arc(a.x,a.y,a.size/2,0,2*Math.PI),e.fill()),Vh(a)&&(e.strokeStyle=r.annotations.outline.stroke,e.lineWidth=r.annotations.outline.strokeWidth,e.beginPath(),e.rect(a.x-a.width/2,a.y-a.height/2,a.width,a.height),e.stroke()),typeof a.note=="function"?a.note(e,{datum:a.datum,x:a.computed.text[0],y:a.computed.text[1],theme:r}):(e.font=r.annotations.text.fontSize+"px "+r.annotations.text.fontFamily,e.textAlign="left",e.textBaseline="alphabetic",e.fillStyle=r.annotations.text.fill,e.strokeStyle=r.annotations.text.outlineColor,e.lineWidth=2*r.annotations.text.outlineWidth,r.annotations.text.outlineWidth>0&&(e.lineJoin="round",e.strokeText(a.note,a.computed.text[0],a.computed.text[1]),e.lineJoin="miter"),e.fillText(a.note,a.computed.text[0],a.computed.text[1]))}),e.restore())},"J$2");function O0(){return O0=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},O0.apply(this,arguments)}o(O0,"qe$1");function OL(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}o(OL,"Se$2");function uQe(e,t){var n=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=function(a,i){if(a){if(typeof a=="string")return OL(a,i);var s=Object.prototype.toString.call(a).slice(8,-1);return s==="Object"&&a.constructor&&(s=a.constructor.name),s==="Map"||s==="Set"?Array.from(a):s==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(s)?OL(a,i):void 0}}(e))||t){n&&(e=n);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}o(uQe,"Re$1");var sY={nivo:["#e8c1a0","#f47560","#f1e15b","#e8a838","#61cdbb","#97e3d5"],category10:qK,accent:VK,dark2:GK,paired:KK,pastel1:JK,pastel2:YK,set1:QK,set2:XK,set3:HP},dQe=Object.keys(sY),cY={brown_blueGreen:ow,purpleRed_green:iw,pink_yellowGreen:sw,purple_orange:cw,red_blue:lw,red_grey:uw,red_yellow_blue:dw,red_yellow_green:fw,spectral:pw},fQe=Object.keys(cY),pQe={brown_blueGreen:eGe,purpleRed_green:tGe,pink_yellowGreen:nGe,purple_orange:rGe,red_blue:aGe,red_grey:oGe,red_yellow_blue:iGe,red_yellow_green:sGe,spectral:cGe},lY={blues:_w,greens:kw,greys:Ew,oranges:Pw,purples:Rw,reds:Aw,blue_green:mw,blue_purple:hw,green_blue:gw,orange_red:vw,purple_blue_green:yw,purple_blue:bw,purple_red:xw,red_purple:ww,yellow_green_blue:Cw,yellow_green:Sw,yellow_orange_brown:jw,yellow_orange_red:$w},mQe=Object.keys(lY),hQe={blues:wGe,greens:CGe,greys:SGe,oranges:_Ge,purples:jGe,reds:$Ge,turbo:zGe,viridis:IGe,inferno:DGe,magma:LGe,plasma:NGe,cividis:kGe,warm:RGe,cool:AGe,cubehelixDefault:EGe,blue_green:lGe,blue_purple:uGe,green_blue:dGe,orange_red:fGe,purple_blue_green:pGe,purple_blue:mGe,purple_red:hGe,red_purple:gGe,yellow_green_blue:vGe,yellow_green:yGe,yellow_orange_brown:bGe,yellow_orange_red:xGe},Hy=O0({},sY,cY,lY),gQe=Object.keys(Hy),vQe=o(function(e){return dQe.includes(e)},"Fe$1"),yQe=o(function(e){return fQe.includes(e)},"He$1"),bQe=o(function(e){return mQe.includes(e)},"Je$1"),xQe={rainbow:PGe,sinebow:OGe};O0({},pQe,hQe,xQe);var wQe=o(function(e,t){if(typeof e=="function")return e;if(Jk(e)){if(function(l){return l.theme!==void 0}(e)){if(t===void 0)throw new Error("Unable to use color from theme as no theme was provided");var n=$t(t,e.theme);if(n===void 0)throw new Error("Color from theme is undefined at path: '"+e.theme+"'");return function(){return n}}if(function(l){return l.from!==void 0}(e)){var r=o(function(l){return $t(l,e.from)},"t");if(Array.isArray(e.modifiers)){for(var a,i=[],s=function(){var l=a.value,u=l[0],d=l[1];if(u==="brighter")i.push(function(p){return p.brighter(d)});else if(u==="darker")i.push(function(p){return p.darker(d)});else{if(u!=="opacity")throw new Error("Invalid color modifier: '"+u+"', must be one of: 'brighter', 'darker', 'opacity'");i.push(function(p){return p.opacity=d,p})}},c=uQe(e.modifiers);!(a=c()).done;)s();return i.length===0?r:function(l){return i.reduce(function(u,d){return d(u)},Rf(r(l))).toString()}}return r}throw new Error("Invalid color spec, you should either specify 'theme' or 'from' when using a config object")}return function(){return e}},"Qe$1"),zL=o(function(e,t){return g.useMemo(function(){return wQe(e,t)},[e,t])},"We$2");L.oneOfType([L.func,L.arrayOf(L.string),L.shape({scheme:L.oneOf(gQe).isRequired,size:L.number}),L.shape({datum:L.string.isRequired}),L.string]);L.oneOfType([L.string,L.func,L.shape({theme:L.string.isRequired}),L.shape({from:L.string.isRequired,modifiers:L.arrayOf(L.array)})]);var CQe=o(function(e,t){if(typeof e=="function")return e;var n=typeof t=="function"?t:function(p){return $t(p,t)};if(Array.isArray(e)){var r=rl(e),a=o(function(p){return r(n(p))},"o");return a.scale=r,a}if(Jk(e)){if(function(p){return p.datum!==void 0}(e))return function(p){return $t(p,e.datum)};if(function(p){return p.scheme!==void 0}(e)){if(vQe(e.scheme)){var i=rl(Hy[e.scheme]),s=o(function(p){return i(n(p))},"u");return s.scale=i,s}if(yQe(e.scheme)){if(e.size!==void 0&&(e.size<3||e.size>11))throw new Error("Invalid size '"+e.size+"' for diverging color scheme '"+e.scheme+"', must be between 3~11");var c=rl(Hy[e.scheme][e.size||11]),l=o(function(p){return c(n(p))},"l");return l.scale=c,l}if(bQe(e.scheme)){if(e.size!==void 0&&(e.size<3||e.size>9))throw new Error("Invalid size '"+e.size+"' for sequential color scheme '"+e.scheme+"', must be between 3~9");var u=rl(Hy[e.scheme][e.size||9]),d=o(function(p){return u(n(p))},"c");return d.scale=u,d}}throw new Error("Invalid colors, when using an object, you should either pass a 'datum' or a 'scheme' property")}return function(){return e}},"fr$1"),SQe=o(function(e,t){return g.useMemo(function(){return CQe(e,t)},[e,t])},"pr$1"),jQe=o(function(e){var t=e.x,n=e.y,r=e.size,a=e.fill,i=e.opacity,s=i===void 0?1:i,c=e.borderWidth,l=c===void 0?0:c,u=e.borderColor;return f.jsx("circle",{r:r/2,cx:t+r/2,cy:n+r/2,fill:a,opacity:s,strokeWidth:l,stroke:u===void 0?"transparent":u,style:{pointerEvents:"none"}})},"m"),$Qe=o(function(e){var t=e.x,n=e.y,r=e.size,a=e.fill,i=e.opacity,s=i===void 0?1:i,c=e.borderWidth,l=c===void 0?0:c,u=e.borderColor;return f.jsx("g",{transform:"translate("+t+","+n+")",children:f.jsx("path",{d:` + M`+r/2+` 0 + L`+.8*r+" "+r/2+` + L`+r/2+" "+r+` + L`+.2*r+" "+r/2+` + L`+r/2+` 0 + `,fill:a,opacity:s,strokeWidth:l,stroke:u===void 0?"transparent":u,style:{pointerEvents:"none"}})})},"f"),_Qe=o(function(e){var t=e.x,n=e.y,r=e.size,a=e.fill,i=e.opacity,s=i===void 0?1:i,c=e.borderWidth,l=c===void 0?0:c,u=e.borderColor;return f.jsx("rect",{x:t,y:n,fill:a,opacity:s,strokeWidth:l,stroke:u===void 0?"transparent":u,width:r,height:r,style:{pointerEvents:"none"}})},"u"),kQe=o(function(e){var t=e.x,n=e.y,r=e.size,a=e.fill,i=e.opacity,s=i===void 0?1:i,c=e.borderWidth,l=c===void 0?0:c,u=e.borderColor;return f.jsx("g",{transform:"translate("+t+","+n+")",children:f.jsx("path",{d:` + M`+r/2+` 0 + L`+r+" "+r+` + L0 `+r+` + L`+r/2+` 0 + `,fill:a,opacity:s,strokeWidth:l,stroke:u===void 0?"transparent":u,style:{pointerEvents:"none"}})})},"v");function ol(){return ol=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},ol.apply(this,arguments)}o(ol,"p$1");var EQe={top:0,right:0,bottom:0,left:0},r8=o(function(e){var t,n=e.direction,r=e.itemsSpacing,a=e.padding,i=e.itemCount,s=e.itemWidth,c=e.itemHeight;if(typeof a!="number"&&(typeof(t=a)!="object"||Array.isArray(t)||t===null))throw new Error("Invalid property padding, must be one of: number, object");var l=typeof a=="number"?{top:a,right:a,bottom:a,left:a}:ol({},EQe,a),u=l.left+l.right,d=l.top+l.bottom,p=s+u,m=c+d,v=(i-1)*r;return n==="row"?p=s*i+v+u:n==="column"&&(m=c*i+v+d),{width:p,height:m,padding:l}},"k$1"),uY=o(function(e){var t=e.anchor,n=e.translateX,r=e.translateY,a=e.containerWidth,i=e.containerHeight,s=e.width,c=e.height,l=n,u=r;switch(t){case"top":l+=(a-s)/2;break;case"top-right":l+=a-s;break;case"right":l+=a-s,u+=(i-c)/2;break;case"bottom-right":l+=a-s,u+=i-c;break;case"bottom":l+=(a-s)/2,u+=i-c;break;case"bottom-left":u+=i-c;break;case"left":u+=(i-c)/2;break;case"center":l+=(a-s)/2,u+=(i-c)/2}return{x:l,y:u}},"x$1"),dY=o(function(e){var t,n,r,a,i,s,c=e.direction,l=e.justify,u=e.symbolSize,d=e.symbolSpacing,p=e.width,m=e.height;switch(c){case"left-to-right":t=0,n=(m-u)/2,a=m/2,s="central",l?(r=p,i="end"):(r=u+d,i="start");break;case"right-to-left":t=p-u,n=(m-u)/2,a=m/2,s="central",l?(r=0,i="start"):(r=p-u-d,i="end");break;case"top-to-bottom":t=(p-u)/2,n=0,r=p/2,i="middle",l?(a=m,s="alphabetic"):(a=u+d,s="text-before-edge");break;case"bottom-to-top":t=(p-u)/2,n=m-u,r=p/2,i="middle",l?(a=0,s="text-before-edge"):(a=m-u-d,s="alphabetic")}return{symbolX:t,symbolY:n,labelX:r,labelY:a,labelAnchor:i,labelAlignment:s}},"S$1"),RQe={circle:jQe,diamond:$Qe,square:_Qe,triangle:kQe},AQe=o(function(e){var t,n,r,a,i,s,c,l,u,d,p,m=e.x,v=e.y,h=e.width,y=e.height,C=e.data,w=e.direction,x=w===void 0?"left-to-right":w,b=e.justify,S=b!==void 0&&b,$=e.textColor,j=e.background,_=j===void 0?"transparent":j,k=e.opacity,E=k===void 0?1:k,A=e.symbolShape,P=A===void 0?"square":A,M=e.symbolSize,T=M===void 0?16:M,z=e.symbolSpacing,O=z===void 0?8:z,N=e.symbolBorderWidth,F=N===void 0?0:N,I=e.symbolBorderColor,B=I===void 0?"transparent":I,U=e.onClick,te=e.onMouseEnter,Z=e.onMouseLeave,be=e.toggleSerie,ne=e.effects,le=g.useState({}),oe=le[0],Se=le[1],xe=dr(),X=g.useCallback(function(H){if(ne){var de=ne.filter(function(fe){return fe.on==="hover"}).reduce(function(fe,ue){return ol({},fe,ue.style)},{});Se(de)}te==null||te(C,H)},[te,C,ne]),Re=g.useCallback(function(H){if(ne){var de=ne.filter(function(fe){return fe.on!=="hover"}).reduce(function(fe,ue){return ol({},fe,ue.style)},{});Se(de)}Z==null||Z(C,H)},[Z,C,ne]),me=dY({direction:x,justify:S,symbolSize:(t=oe.symbolSize)!=null?t:T,symbolSpacing:O,width:h,height:y}),re=me.symbolX,De=me.symbolY,Ee=me.labelX,$e=me.labelY,Ce=me.labelAnchor,st=me.labelAlignment,D=[U,te,Z,be].some(function(H){return H!==void 0}),J=typeof P=="function"?P:RQe[P];return f.jsxs("g",{transform:"translate("+m+","+v+")",style:{opacity:(n=oe.itemOpacity)!=null?n:E},children:[f.jsx("rect",{width:h,height:y,fill:(r=oe.itemBackground)!=null?r:_,style:{cursor:D?"pointer":"auto"},onClick:o(function(H){U==null||U(C,H),be==null||be(C.id)},"onClick"),onMouseEnter:X,onMouseLeave:Re}),g.createElement(J,ol({id:C.id,x:re,y:De,size:(a=oe.symbolSize)!=null?a:T,fill:(i=(s=C.fill)!=null?s:C.color)!=null?i:"black",borderWidth:(c=oe.symbolBorderWidth)!=null?c:F,borderColor:(l=oe.symbolBorderColor)!=null?l:B},C.hidden?xe.legends.hidden.symbol:void 0)),f.jsx("text",{textAnchor:Ce,style:ol({},xe.legends.text,{fill:(u=(d=(p=oe.itemTextColor)!=null?p:$)!=null?d:xe.legends.text.fill)!=null?u:"black",dominantBaseline:st,pointerEvents:"none",userSelect:"none"},C.hidden?xe.legends.hidden.text:void 0),x:Ee,y:$e,children:C.label})]})},"B$1"),PQe=o(function(e){var t=e.data,n=e.x,r=e.y,a=e.direction,i=e.padding,s=i===void 0?0:i,c=e.justify,l=e.effects,u=e.itemWidth,d=e.itemHeight,p=e.itemDirection,m=p===void 0?"left-to-right":p,v=e.itemsSpacing,h=v===void 0?0:v,y=e.itemTextColor,C=e.itemBackground,w=C===void 0?"transparent":C,x=e.itemOpacity,b=x===void 0?1:x,S=e.symbolShape,$=e.symbolSize,j=e.symbolSpacing,_=e.symbolBorderWidth,k=e.symbolBorderColor,E=e.onClick,A=e.onMouseEnter,P=e.onMouseLeave,M=e.toggleSerie,T=r8({itemCount:t.length,itemWidth:u,itemHeight:d,itemsSpacing:h,direction:a,padding:s}).padding,z=a==="row"?u+h:0,O=a==="column"?d+h:0;return f.jsx("g",{transform:"translate("+n+","+r+")",children:t.map(function(N,F){return f.jsx(AQe,{data:N,x:F*z+T.left,y:F*O+T.top,width:u,height:d,direction:m,justify:c,effects:l,textColor:y,background:w,opacity:b,symbolShape:S,symbolSize:$,symbolSpacing:j,symbolBorderWidth:_,symbolBorderColor:k,onClick:E,onMouseEnter:A,onMouseLeave:P,toggleSerie:M},F)})})},"w"),MQe=o(function(e){var t=e.data,n=e.containerWidth,r=e.containerHeight,a=e.translateX,i=a===void 0?0:a,s=e.translateY,c=s===void 0?0:s,l=e.anchor,u=e.direction,d=e.padding,p=d===void 0?0:d,m=e.justify,v=e.itemsSpacing,h=v===void 0?0:v,y=e.itemWidth,C=e.itemHeight,w=e.itemDirection,x=e.itemTextColor,b=e.itemBackground,S=e.itemOpacity,$=e.symbolShape,j=e.symbolSize,_=e.symbolSpacing,k=e.symbolBorderWidth,E=e.symbolBorderColor,A=e.onClick,P=e.onMouseEnter,M=e.onMouseLeave,T=e.toggleSerie,z=e.effects,O=r8({itemCount:t.length,itemsSpacing:h,itemWidth:y,itemHeight:C,direction:u,padding:p}),N=O.width,F=O.height,I=uY({anchor:l,translateX:i,translateY:c,containerWidth:n,containerHeight:r,width:N,height:F}),B=I.x,U=I.y;return f.jsx(PQe,{data:t,x:B,y:U,direction:u,padding:p,justify:m,effects:z,itemsSpacing:h,itemWidth:y,itemHeight:C,itemDirection:w,itemTextColor:x,itemBackground:b,itemOpacity:S,symbolShape:$,symbolSize:j,symbolSpacing:_,symbolBorderWidth:k,symbolBorderColor:E,onClick:A,onMouseEnter:P,onMouseLeave:M,toggleSerie:typeof T=="boolean"?void 0:T})},"X$1"),TQe={start:"left",middle:"center",end:"right"},OQe=o(function(e,t){var n=t.data,r=t.containerWidth,a=t.containerHeight,i=t.translateX,s=i===void 0?0:i,c=t.translateY,l=c===void 0?0:c,u=t.anchor,d=t.direction,p=t.padding,m=p===void 0?0:p,v=t.justify,h=v!==void 0&&v,y=t.itemsSpacing,C=y===void 0?0:y,w=t.itemWidth,x=t.itemHeight,b=t.itemDirection,S=b===void 0?"left-to-right":b,$=t.itemTextColor,j=t.symbolSize,_=j===void 0?16:j,k=t.symbolSpacing,E=k===void 0?8:k,A=t.theme,P=r8({itemCount:n.length,itemWidth:w,itemHeight:x,itemsSpacing:C,direction:d,padding:m}),M=P.width,T=P.height,z=P.padding,O=uY({anchor:u,translateX:s,translateY:l,containerWidth:r,containerHeight:a,width:M,height:T}),N=O.x,F=O.y,I=d==="row"?w+C:0,B=d==="column"?x+C:0;e.save(),e.translate(N,F),e.font=A.legends.text.fontSize+"px "+(A.legends.text.fontFamily||"sans-serif"),n.forEach(function(U,te){var Z,be,ne=te*I+z.left,le=te*B+z.top,oe=dY({direction:S,justify:h,symbolSize:_,symbolSpacing:E,width:w,height:x}),Se=oe.symbolX,xe=oe.symbolY,X=oe.labelX,Re=oe.labelY,me=oe.labelAnchor,re=oe.labelAlignment;e.fillStyle=(Z=U.color)!=null?Z:"black",e.fillRect(ne+Se,le+xe,_,_),e.textAlign=TQe[me],re==="central"&&(e.textBaseline="middle"),e.fillStyle=(be=$??A.legends.text.fill)!=null?be:"black",e.fillText(String(U.label),ne+X,le+Re)}),e.restore()},"H$1");L.arrayOf(L.object),L.oneOf(["top","top-right","right","bottom-right","bottom","bottom-left","left","top-left","center"]).isRequired,L.number,L.number,L.oneOf(["row","column"]).isRequired,L.number,L.number.isRequired,L.number.isRequired,L.oneOf(["left-to-right","right-to-left","top-to-bottom","bottom-to-top"]),L.string,L.string,L.number,L.oneOfType([L.oneOf(["circle","diamond","square","triangle"]),L.func]),L.number,L.number,L.number,L.string,L.func,L.func,L.func,L.arrayOf(L.shape({on:L.oneOfType([L.oneOf(["hover"])]).isRequired,style:L.shape({itemTextColor:L.string,itemBackground:L.string,itemOpacity:L.number,symbolSize:L.number,symbolBorderWidth:L.number,symbolBorderColor:L.string}).isRequired}));function on(){return on=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},on.apply(this,arguments)}o(on,"z$1");function xp(e,t){if(e==null)return{};var n,r,a={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}o(xp,"K$1");var IL,zQe=o(function(e){var t=e.bars,n=e.annotations,r=iY({data:t,annotations:n,getPosition:o(function(a){return{x:a.x+a.width/2,y:a.y+a.height/2}},"getPosition"),getDimensions:o(function(a){var i=a.height,s=a.width;return{width:s,height:i,size:Math.max(s,i)}},"getDimensions")});return f.jsx(f.Fragment,{children:r.map(function(a,i){return f.jsx(cQe,on({},a),i)})})},"J$1"),IQe=o(function(e){var t=e.width,n=e.height,r=e.legends,a=e.toggleSerie;return f.jsx(f.Fragment,{children:r.map(function(i,s){var c,l=i[0],u=i[1];return f.jsx(MQe,on({},l,{containerWidth:t,containerHeight:n,data:(c=l.data)!=null?c:u,toggleSerie:l.toggleSerie&&l.dataFrom==="keys"?a:void 0}),s)})})},"Q$1"),LQe=["data"],DQe=o(function(e){var t,n=e.bar,r=n.data,a=xp(n,LQe),i=e.style,s=i.borderColor,c=i.color,l=i.height,u=i.labelColor,d=i.labelOpacity,p=i.labelX,m=i.labelY,v=i.transform,h=i.width,y=e.borderRadius,C=e.borderWidth,w=e.label,x=e.shouldRenderLabel,b=e.isInteractive,S=e.onClick,$=e.onMouseEnter,j=e.onMouseLeave,_=e.tooltip,k=e.isFocusable,E=e.ariaLabel,A=e.ariaLabelledBy,P=e.ariaDescribedBy,M=dr(),T=bK(),z=T.showTooltipFromEvent,O=T.showTooltipAt,N=T.hideTooltip,F=g.useMemo(function(){return function(){return g.createElement(_,on({},a,r))}},[_,a,r]),I=g.useCallback(function(ne){S==null||S(on({color:a.color},r),ne)},[a,r,S]),B=g.useCallback(function(ne){return z(F(),ne)},[z,F]),U=g.useCallback(function(ne){$==null||$(r,ne),z(F(),ne)},[r,$,z,F]),te=g.useCallback(function(ne){j==null||j(r,ne),N()},[r,N,j]),Z=g.useCallback(function(){O(F(),[a.absX+a.width/2,a.absY])},[O,F,a]),be=g.useCallback(function(){N()},[N]);return f.jsxs(nr.g,{transform:v,children:[f.jsx(nr.rect,{width:Z3(h,function(ne){return Math.max(ne,0)}),height:Z3(l,function(ne){return Math.max(ne,0)}),rx:y,ry:y,fill:(t=r.fill)!=null?t:c,strokeWidth:C,stroke:s,focusable:k,tabIndex:k?0:void 0,"aria-label":E?E(r):void 0,"aria-labelledby":A?A(r):void 0,"aria-describedby":P?P(r):void 0,onMouseEnter:b?U:void 0,onMouseMove:b?B:void 0,onMouseLeave:b?te:void 0,onClick:b?I:void 0,onFocus:b&&k?Z:void 0,onBlur:b&&k?be:void 0}),x&&f.jsx(nr.text,{x:p,y:m,textAnchor:"middle",dominantBaseline:"central",fillOpacity:d,style:on({},M.labels.text,{pointerEvents:"none",fill:u}),children:w})]})},"Z$1"),NQe=["color","label"],jn={indexBy:"id",keys:["value"],groupMode:"stacked",layout:"vertical",reverse:!1,minValue:"auto",maxValue:"auto",valueScale:{type:"linear"},indexScale:{type:"band",round:!0},padding:.1,innerPadding:0,axisBottom:{},axisLeft:{},enableGridX:!1,enableGridY:!0,enableLabel:!0,label:"formattedValue",labelSkipWidth:0,labelSkipHeight:0,labelTextColor:{from:"theme",theme:"labels.text.fill"},colorBy:"id",colors:{scheme:"nivo"},borderRadius:0,borderWidth:0,borderColor:{from:"color"},isInteractive:!0,tooltip:o(function(e){var t=e.color,n=e.label,r=xp(e,NQe);return f.jsx(yHe,{id:n,value:r.formattedValue,enableChip:!0,color:t})},"tooltip"),tooltipLabel:o(function(e){return e.id+" - "+e.indexValue},"tooltipLabel"),legends:[],initialHiddenIds:[],annotations:[],markers:[]},Mn=on({},jn,{layers:["grid","axes","bars","markers","legends","annotations"],barComponent:DQe,defs:[],fill:[],animate:!0,motionConfig:"default",role:"img",isFocusable:!1}),na=on({},jn,{layers:["grid","axes","bars","legends","annotations"],pixelRatio:typeof window<"u"&&(IL=window.devicePixelRatio)!=null?IL:1}),fY=o(function(e,t,n,r,a,i){return n8(r,{all:e.map(t),min:0,max:0},a,i).padding(n)},"ie$1"),pY=o(function(e,t){return e.map(function(n){return on({},t.reduce(function(r,a){return r[a]=null,r},{}),n)})},"te$1"),Iw=o(function(e){return Object.keys(e).reduce(function(t,n){return e[n]&&(t[n]=e[n]),t},{})},"ne$1"),Lw=o(function(e){return[e,Number(e)]},"re$1"),FQe=["layout","minValue","maxValue","reverse","width","height","padding","innerPadding","valueScale","indexScale","hiddenIds"],a8=o(function(e,t){return e>t},"oe$1"),mY=o(function(e,t){return e<t},"de$1"),hY=o(function(e,t){return Array.from(" ".repeat(t-e),function(n,r){return e+r})},"ue$1"),BQe=o(function(e){return a8(e,0)?0:e},"ce$1"),WQe=o(function(e,t,n,r){var a=e.data,i=e.formatValue,s=e.getColor,c=e.getIndex,l=e.getTooltipLabel,u=e.innerPadding,d=u===void 0?0:u,p=e.keys,m=e.xScale,v=e.yScale,h=e.margin,y=n?mY:a8,C=a.map(Iw),w=[];return p.forEach(function(x,b){return hY(0,m.domain().length).forEach(function(S){var $,j,_,k=Lw(a[S][x]),E=k[0],A=k[1],P=c(a[S]),M=(($=m(P))!=null?$:0)+t*b+d*b,T=y(j=A,0)?(_=v(j))!=null?_:0:r,z=function(N,F){var I;return y(N,0)?r-F:((I=v(N))!=null?I:0)-r}(A,T),O={id:x,value:E===null?E:A,formattedValue:i(A),hidden:!1,index:S,indexValue:P,data:C[S]};w.push({key:x+"."+O.indexValue,index:w.length,data:O,x:M,y:T,absX:h.left+M,absY:h.top+T,width:t,height:z,color:s(O),label:l(O)})})}),w},"se$1"),UQe=o(function(e,t,n,r){var a=e.data,i=e.formatValue,s=e.getIndex,c=e.getColor,l=e.getTooltipLabel,u=e.keys,d=e.innerPadding,p=d===void 0?0:d,m=e.xScale,v=e.yScale,h=e.margin,y=n?mY:a8,C=a.map(Iw),w=[];return u.forEach(function(x,b){return hY(0,v.domain().length).forEach(function(S){var $,j,_,k=Lw(a[S][x]),E=k[0],A=k[1],P=s(a[S]),M=y(j=A,0)?r:(_=m(j))!=null?_:0,T=(($=v(P))!=null?$:0)+t*b+p*b,z=function(N,F){var I;return y(N,0)?((I=m(N))!=null?I:0)-r:r-F}(A,M),O={id:x,value:E===null?E:A,formattedValue:i(A),hidden:!1,index:S,indexValue:P,data:C[S]};w.push({key:x+"."+O.indexValue,index:w.length,data:O,x:M,y:T,absX:h.left+M,absY:h.top+T,width:z,height:t,color:c(O),label:l(O)})})}),w},"he$1"),HQe=o(function(e){var t,n,r=e.layout,a=e.minValue,i=e.maxValue,s=e.reverse,c=e.width,l=e.height,u=e.padding,d=u===void 0?0:u,p=e.innerPadding,m=p===void 0?0:p,v=e.valueScale,h=e.indexScale,y=e.hiddenIds,C=y===void 0?[]:y,w=xp(e,FQe),x=w.keys.filter(function(U){return!C.includes(U)}),b=pY(w.data,x),S=r==="vertical"?["y","x",c]:["x","y",l],$=S[0],j=S[1],_=S[2],k=fY(b,w.getIndex,d,h,_,j),E=on({max:i,min:a,reverse:s},v),A=E.min==="auto"?BQe:function(U){return U},P=b.reduce(function(U,te){return[].concat(U,x.map(function(Z){return te[Z]}))},[]).filter(Boolean),M=A(Math.min.apply(Math,P)),T=(n=Math.max.apply(Math,P),isFinite(n)?n:0),z=n8(E,{all:P,min:M,max:T},$==="x"?c:l,$),O=r==="vertical"?[k,z]:[z,k],N=O[0],F=O[1],I=(k.bandwidth()-m*(x.length-1))/x.length,B=[on({},w,{data:b,keys:x,innerPadding:m,xScale:N,yScale:F}),I,E.reverse,(t=z(0))!=null?t:0];return{xScale:N,yScale:F,bars:I>0?r==="vertical"?WQe.apply(void 0,B):UQe.apply(void 0,B):[]}},"be$1"),qQe=["data","layout","minValue","maxValue","reverse","width","height","padding","valueScale","indexScale","hiddenIds"],VQe=o(function e(t){var n;return t.some(Array.isArray)?e((n=[]).concat.apply(n,t)):t},"e"),GQe=o(function(e,t,n){var r=e.formatValue,a=e.getColor,i=e.getIndex,s=e.getTooltipLabel,c=e.innerPadding,l=e.stackedData,u=e.xScale,d=e.yScale,p=e.margin,m=[];return l.forEach(function(v){return u.domain().forEach(function(h,y){var C,w,x=v[y],b=(C=u(i(x.data)))!=null?C:0,S=((w=function(A){return d(A[n?0:1])}(x))!=null?w:0)+.5*c,$=function(A,P){var M;return((M=d(A[n?1:0]))!=null?M:0)-P}(x,S)-c,j=Lw(x.data[v.key]),_=j[0],k=j[1],E={id:v.key,value:_===null?_:k,formattedValue:r(k),hidden:!1,index:y,indexValue:h,data:Iw(x.data)};m.push({key:v.key+"."+h,index:m.length,data:E,x:b,y:S,absX:p.left+b,absY:p.top+S,width:t,height:$,color:a(E),label:s(E)})})}),m},"fe$1"),KQe=o(function(e,t,n){var r=e.formatValue,a=e.getColor,i=e.getIndex,s=e.getTooltipLabel,c=e.innerPadding,l=e.stackedData,u=e.xScale,d=e.yScale,p=e.margin,m=[];return l.forEach(function(v){return d.domain().forEach(function(h,y){var C,w,x=v[y],b=(C=d(i(x.data)))!=null?C:0,S=((w=function(A){return u(A[n?1:0])}(x))!=null?w:0)+.5*c,$=function(A,P){var M;return((M=u(A[n?0:1]))!=null?M:0)-P}(x,S)-c,j=Lw(x.data[v.key]),_=j[0],k=j[1],E={id:v.key,value:_===null?_:k,formattedValue:r(k),hidden:!1,index:y,indexValue:h,data:Iw(x.data)};m.push({key:v.key+"."+h,index:m.length,data:E,x:S,y:b,absX:p.left+S,absY:p.top+b,width:$,height:t,color:a(E),label:s(E)})})}),m},"me"),JQe=o(function(e){var t,n=e.data,r=e.layout,a=e.minValue,i=e.maxValue,s=e.reverse,c=e.width,l=e.height,u=e.padding,d=u===void 0?0:u,p=e.valueScale,m=e.indexScale,v=e.hiddenIds,h=v===void 0?[]:v,y=xp(e,qQe),C=y.keys.filter(function(I){return!h.includes(I)}),w=uKe().keys(C).offset(dJ)(pY(n,C)),x=r==="vertical"?["y","x",c]:["x","y",l],b=x[0],S=x[1],$=x[2],j=fY(n,y.getIndex,d,m,$,S),_=on({max:i,min:a,reverse:s},p),k=(t=VQe(w),p.type==="log"?t.filter(function(I){return I!==0}):t),E=Math.min.apply(Math,k),A=Math.max.apply(Math,k),P=n8(_,{all:k,min:E,max:A},b==="x"?c:l,b),M=r==="vertical"?[j,P]:[P,j],T=M[0],z=M[1],O=y.innerPadding>0?y.innerPadding:0,N=j.bandwidth(),F=[on({},y,{innerPadding:O,stackedData:w,xScale:T,yScale:z}),N,_.reverse];return{xScale:T,yScale:z,bars:N>0?r==="vertical"?GQe.apply(void 0,F):KQe.apply(void 0,F):[]}},"pe$1"),YQe=o(function(e){var t=e.bars,n=e.direction,r=e.from,a=e.groupMode,i=e.layout,s=e.legendLabel,c=e.reverse,l=PJ(s??(r==="indexes"?"indexValue":"id"));return r==="indexes"?function(u,d,p){var m=$L(u.map(function(v){var h,y;return{id:(h=v.data.indexValue)!=null?h:"",label:p(v.data),hidden:v.data.hidden,color:(y=v.color)!=null?y:"#000"}}),function(v){return v.id});return d==="horizontal"&&m.reverse(),m}(t,i,l):function(u,d,p,m,v,h){var y=$L(u.map(function(C){var w;return{id:C.data.id,label:h(C.data),hidden:C.data.hidden,color:(w=C.color)!=null?w:"#000"}}),function(C){return C.id});return(d==="vertical"&&m==="stacked"&&p==="column"&&v!==!0||d==="horizontal"&&m==="stacked"&&v===!0)&&y.reverse(),y}(t,i,n,a,c,l)},"xe$1"),gY=o(function(e){var t=e.indexBy,n=t===void 0?jn.indexBy:t,r=e.keys,a=r===void 0?jn.keys:r,i=e.label,s=i===void 0?jn.label:i,c=e.tooltipLabel,l=c===void 0?jn.tooltipLabel:c,u=e.valueFormat,d=e.colors,p=d===void 0?jn.colors:d,m=e.colorBy,v=m===void 0?jn.colorBy:m,h=e.borderColor,y=h===void 0?jn.borderColor:h,C=e.labelTextColor,w=C===void 0?jn.labelTextColor:C,x=e.groupMode,b=x===void 0?jn.groupMode:x,S=e.layout,$=S===void 0?jn.layout:S,j=e.reverse,_=j===void 0?jn.reverse:j,k=e.data,E=e.minValue,A=E===void 0?jn.minValue:E,P=e.maxValue,M=P===void 0?jn.maxValue:P,T=e.margin,z=e.width,O=e.height,N=e.padding,F=N===void 0?jn.padding:N,I=e.innerPadding,B=I===void 0?jn.innerPadding:I,U=e.valueScale,te=U===void 0?jn.valueScale:U,Z=e.indexScale,be=Z===void 0?jn.indexScale:Z,ne=e.initialHiddenIds,le=ne===void 0?jn.initialHiddenIds:ne,oe=e.enableLabel,Se=oe===void 0?jn.enableLabel:oe,xe=e.labelSkipWidth,X=xe===void 0?jn.labelSkipWidth:xe,Re=e.labelSkipHeight,me=Re===void 0?jn.labelSkipHeight:Re,re=e.legends,De=re===void 0?jn.legends:re,Ee=e.legendLabel,$e=g.useState(le??[]),Ce=$e[0],st=$e[1],D=g.useCallback(function(Y){st(function(pe){return pe.indexOf(Y)>-1?pe.filter(function(Le){return Le!==Y}):[].concat(pe,[Y])})},[]),J=uS(n),H=uS(s),de=uS(l),fe=bJ(u),ue=dr(),he=SQe(p,v),We=zL(y,ue),rt=zL(w,ue),Ue=(b==="grouped"?HQe:JQe)({layout:$,reverse:_,data:k,getIndex:J,keys:a,minValue:A,maxValue:M,width:z,height:O,getColor:he,padding:F,innerPadding:B,valueScale:te,indexScale:be,hiddenIds:Ce,formatValue:fe,getTooltipLabel:de,margin:T}),Ne=Ue.bars,ye=Ue.xScale,ot=Ue.yScale,ft=g.useMemo(function(){return Ne.filter(function(Y){return Y.data.value!==null}).map(function(Y,pe){return on({},Y,{index:pe})})},[Ne]),yt=g.useCallback(function(Y){var pe=Y.width,Le=Y.height;return!!Se&&!(X>0&&pe<X)&&!(me>0&&Le<me)},[Se,X,me]),W=g.useMemo(function(){return a.map(function(Y){var pe=Ne.find(function(Le){return Le.data.id===Y});return on({},pe,{data:on({id:Y},pe==null?void 0:pe.data,{hidden:Ce.includes(Y)})})})},[Ce,a,Ne]),K=g.useMemo(function(){return De.map(function(Y){return[Y,YQe({bars:Y.dataFrom==="keys"?W:Ne,direction:Y.direction,from:Y.dataFrom,groupMode:b,layout:$,legendLabel:Ee,reverse:_})]})},[De,W,Ne,b,$,Ee,_]);return{bars:Ne,barsWithValue:ft,xScale:ye,yScale:ot,getIndex:J,getLabel:H,getTooltipLabel:de,formatValue:fe,getColor:he,getBorderColor:We,getLabelColor:rt,shouldRenderBarLabel:yt,hiddenIds:Ce,toggleSerie:D,legendsWithData:K}},"ye$1"),QQe=["isInteractive","animate","motionConfig","theme","renderWrapper"],XQe=o(function(e){var t=e.data,n=e.indexBy,r=e.keys,a=e.margin,i=e.width,s=e.height,c=e.groupMode,l=e.layout,u=e.reverse,d=e.minValue,p=e.maxValue,m=e.valueScale,v=e.indexScale,h=e.padding,y=e.innerPadding,C=e.axisTop,w=e.axisRight,x=e.axisBottom,b=x===void 0?Mn.axisBottom:x,S=e.axisLeft,$=S===void 0?Mn.axisLeft:S,j=e.enableGridX,_=j===void 0?Mn.enableGridX:j,k=e.enableGridY,E=k===void 0?Mn.enableGridY:k,A=e.gridXValues,P=e.gridYValues,M=e.layers,T=M===void 0?Mn.layers:M,z=e.barComponent,O=z===void 0?Mn.barComponent:z,N=e.enableLabel,F=N===void 0?Mn.enableLabel:N,I=e.label,B=e.labelSkipWidth,U=B===void 0?Mn.labelSkipWidth:B,te=e.labelSkipHeight,Z=te===void 0?Mn.labelSkipHeight:te,be=e.labelTextColor,ne=e.markers,le=ne===void 0?Mn.markers:ne,oe=e.colorBy,Se=e.colors,xe=e.defs,X=xe===void 0?Mn.defs:xe,Re=e.fill,me=Re===void 0?Mn.fill:Re,re=e.borderRadius,De=re===void 0?Mn.borderRadius:re,Ee=e.borderWidth,$e=Ee===void 0?Mn.borderWidth:Ee,Ce=e.borderColor,st=e.annotations,D=st===void 0?Mn.annotations:st,J=e.legendLabel,H=e.tooltipLabel,de=e.valueFormat,fe=e.isInteractive,ue=fe===void 0?Mn.isInteractive:fe,he=e.tooltip,We=he===void 0?Mn.tooltip:he,rt=e.onClick,Ue=e.onMouseEnter,Ne=e.onMouseLeave,ye=e.legends,ot=e.role,ft=ot===void 0?Mn.role:ot,yt=e.ariaLabel,W=e.ariaLabelledBy,K=e.ariaDescribedBy,Y=e.isFocusable,pe=Y===void 0?Mn.isFocusable:Y,Le=e.barAriaLabel,Oe=e.barAriaLabelledBy,dt=e.barAriaDescribedBy,St=e.initialHiddenIds,wt=Xo(),Bt=wt.animate,G=wt.config,Q=vJ(i,s,a),ce=Q.outerWidth,_e=Q.outerHeight,qe=Q.margin,ct=Q.innerWidth,Ve=Q.innerHeight,Fe=gY({indexBy:n,label:I,tooltipLabel:H,valueFormat:de,colors:Se,colorBy:oe,borderColor:Ce,labelTextColor:be,groupMode:c,layout:l,reverse:u,data:t,keys:r,minValue:d,maxValue:p,margin:qe,width:ct,height:Ve,padding:h,innerPadding:y,valueScale:m,indexScale:v,enableLabel:F,labelSkipWidth:U,labelSkipHeight:Z,legends:ye,legendLabel:J,initialHiddenIds:St}),Me=Fe.bars,lt=Fe.barsWithValue,jt=Fe.xScale,we=Fe.yScale,Ye=Fe.getLabel,ut=Fe.getTooltipLabel,ke=Fe.getBorderColor,ze=Fe.getLabelColor,bt=Fe.shouldRenderBarLabel,Pt=Fe.toggleSerie,ae=Fe.legendsWithData,ie=jP(lt,{keys:o(function(je){return je.key},"keys"),from:o(function(je){return on({borderColor:ke(je),color:je.color,height:0,labelColor:ze(je),labelOpacity:0,labelX:je.width/2,labelY:je.height/2,transform:"translate("+je.x+", "+(je.y+je.height)+")",width:je.width},l==="vertical"?{}:{height:je.height,transform:"translate("+je.x+", "+je.y+")",width:0})},"from"),enter:o(function(je){return{borderColor:ke(je),color:je.color,height:je.height,labelColor:ze(je),labelOpacity:1,labelX:je.width/2,labelY:je.height/2,transform:"translate("+je.x+", "+je.y+")",width:je.width}},"enter"),update:o(function(je){return{borderColor:ke(je),color:je.color,height:je.height,labelColor:ze(je),labelOpacity:1,labelX:je.width/2,labelY:je.height/2,transform:"translate("+je.x+", "+je.y+")",width:je.width}},"update"),leave:o(function(je){return on({borderColor:ke(je),color:je.color,height:0,labelColor:ze(je),labelOpacity:0,labelX:je.width/2,labelY:0,transform:"translate("+je.x+", "+(je.y+je.height)+")",width:je.width},l==="vertical"?{}:{labelX:0,labelY:je.height/2,height:je.height,transform:"translate("+je.x+", "+je.y+")",width:0})},"leave"),config:G,immediate:!Bt}),Ie=g.useMemo(function(){return{borderRadius:De,borderWidth:$e,enableLabel:F,isInteractive:ue,labelSkipWidth:U,labelSkipHeight:Z,onClick:rt,onMouseEnter:Ue,onMouseLeave:Ne,getTooltipLabel:ut,tooltip:We,isFocusable:pe,ariaLabel:Le,ariaLabelledBy:Oe,ariaDescribedBy:dt}},[De,$e,F,ut,ue,Z,U,rt,Ue,Ne,We,pe,Le,Oe,dt]),Ae=hJe(X,Me,me,{dataKey:"data",targetKey:"data.fill"}),it={annotations:null,axes:null,bars:null,grid:null,legends:null,markers:null};T.includes("annotations")&&(it.annotations=f.jsx(zQe,{bars:Me,annotations:D},"annotations")),T.includes("axes")&&(it.axes=f.jsx(gYe,{xScale:jt,yScale:we,width:ct,height:Ve,top:C,right:w,bottom:b,left:$},"axes")),T.includes("bars")&&(it.bars=f.jsx(g.Fragment,{children:ie(function(je,Wt){return g.createElement(O,on({},Ie,{bar:Wt,style:je,shouldRenderLabel:bt(Wt),label:Ye(Wt.data)}))})},"bars")),T.includes("grid")&&(it.grid=f.jsx(yYe,{width:ct,height:Ve,xScale:_?jt:null,yScale:E?we:null,xValues:A,yValues:P},"grid")),T.includes("legends")&&(it.legends=f.jsx(IQe,{width:ct,height:Ve,legends:ae,toggleSerie:Pt},"legends")),T.includes("markers")&&(it.markers=f.jsx(uJe,{markers:le,width:ct,height:Ve,xScale:jt,yScale:we},"markers"));var Xe=g.useMemo(function(){return on({},Ie,{margin:qe,width:i,height:s,innerWidth:ct,innerHeight:Ve,bars:Me,legendData:ae,enableLabel:F,xScale:jt,yScale:we,tooltip:We,getTooltipLabel:ut,onClick:rt,onMouseEnter:Ue,onMouseLeave:Ne})},[Ie,qe,i,s,ct,Ve,Me,ae,F,jt,we,We,ut,rt,Ue,Ne]);return f.jsx(kJ,{width:ce,height:_e,margin:qe,defs:Ae,role:ft,ariaLabel:yt,ariaLabelledBy:W,ariaDescribedBy:K,isFocusable:pe,children:T.map(function(je,Wt){var Ft;return typeof je=="function"?f.jsx(g.Fragment,{children:g.createElement(je,Xe)},Wt):(Ft=it==null?void 0:it[je])!=null?Ft:null})})},"ke$1"),ZQe=o(function(e){var t=e.isInteractive,n=t===void 0?Mn.isInteractive:t,r=e.animate,a=r===void 0?Mn.animate:r,i=e.motionConfig,s=i===void 0?Mn.motionConfig:i,c=e.theme,l=e.renderWrapper,u=xp(e,QQe);return f.jsx(XP,{animate:a,isInteractive:n,motionConfig:s,renderWrapper:l,theme:c,children:f.jsx(XQe,on({isInteractive:n},u))})},"Le$1"),eXe=["isInteractive","renderWrapper","theme"],hS=o(function(e,t,n,r){return e.find(function(a){return dJe(a.x+t.left,a.y+t.top,a.width,a.height,n,r)})},"Ce$1"),tXe=o(function(e){var t=e.data,n=e.indexBy,r=e.keys,a=e.margin,i=e.width,s=e.height,c=e.groupMode,l=e.layout,u=e.reverse,d=e.minValue,p=e.maxValue,m=e.valueScale,v=e.indexScale,h=e.padding,y=e.innerPadding,C=e.axisTop,w=e.axisRight,x=e.axisBottom,b=x===void 0?na.axisBottom:x,S=e.axisLeft,$=S===void 0?na.axisLeft:S,j=e.enableGridX,_=j===void 0?na.enableGridX:j,k=e.enableGridY,E=k===void 0?na.enableGridY:k,A=e.gridXValues,P=e.gridYValues,M=e.layers,T=M===void 0?na.layers:M,z=e.renderBar,O=z===void 0?function(we,Ye){var ut=Ye.bar,ke=ut.color,ze=ut.height,bt=ut.width,Pt=ut.x,ae=ut.y,ie=Ye.borderColor,Ie=Ye.borderRadius,Ae=Ye.borderWidth,it=Ye.label,Xe=Ye.labelColor,je=Ye.shouldRenderLabel;if(we.fillStyle=ke,Ae>0&&(we.strokeStyle=ie,we.lineWidth=Ae),we.beginPath(),Ie>0){var Wt=Math.min(Ie,ze);we.moveTo(Pt+Wt,ae),we.lineTo(Pt+bt-Wt,ae),we.quadraticCurveTo(Pt+bt,ae,Pt+bt,ae+Wt),we.lineTo(Pt+bt,ae+ze-Wt),we.quadraticCurveTo(Pt+bt,ae+ze,Pt+bt-Wt,ae+ze),we.lineTo(Pt+Wt,ae+ze),we.quadraticCurveTo(Pt,ae+ze,Pt,ae+ze-Wt),we.lineTo(Pt,ae+Wt),we.quadraticCurveTo(Pt,ae,Pt+Wt,ae),we.closePath()}else we.rect(Pt,ae,bt,ze);we.fill(),Ae>0&&we.stroke(),je&&(we.textBaseline="middle",we.textAlign="center",we.fillStyle=Xe,we.fillText(it,Pt+bt/2,ae+ze/2))}:z,N=e.enableLabel,F=N===void 0?na.enableLabel:N,I=e.label,B=e.labelSkipWidth,U=B===void 0?na.labelSkipWidth:B,te=e.labelSkipHeight,Z=te===void 0?na.labelSkipHeight:te,be=e.labelTextColor,ne=e.colorBy,le=e.colors,oe=e.borderRadius,Se=oe===void 0?na.borderRadius:oe,xe=e.borderWidth,X=xe===void 0?na.borderWidth:xe,Re=e.borderColor,me=e.annotations,re=me===void 0?na.annotations:me,De=e.legendLabel,Ee=e.tooltipLabel,$e=e.valueFormat,Ce=e.isInteractive,st=Ce===void 0?na.isInteractive:Ce,D=e.tooltip,J=D===void 0?na.tooltip:D,H=e.onClick,de=e.onMouseEnter,fe=e.onMouseLeave,ue=e.legends,he=e.pixelRatio,We=he===void 0?na.pixelRatio:he,rt=e.canvasRef,Ue=g.useRef(null),Ne=dr(),ye=vJ(i,s,a),ot=ye.margin,ft=ye.innerWidth,yt=ye.innerHeight,W=ye.outerWidth,K=ye.outerHeight,Y=gY({indexBy:n,label:I,tooltipLabel:Ee,valueFormat:$e,colors:le,colorBy:ne,borderColor:Re,labelTextColor:be,groupMode:c,layout:l,reverse:u,data:t,keys:r,minValue:d,maxValue:p,margin:ot,width:ft,height:yt,padding:h,innerPadding:y,valueScale:m,indexScale:v,enableLabel:F,labelSkipWidth:U,labelSkipHeight:Z,legends:ue,legendLabel:De}),pe=Y.bars,Le=Y.barsWithValue,Oe=Y.xScale,dt=Y.yScale,St=Y.getLabel,wt=Y.getTooltipLabel,Bt=Y.getBorderColor,G=Y.getLabelColor,Q=Y.shouldRenderBarLabel,ce=Y.legendsWithData,_e=bK(),qe=_e.showTooltipFromEvent,ct=_e.hideTooltip,Ve=nQe({annotations:iY({data:pe,annotations:re,getPosition:o(function(we){return{x:we.x,y:we.y}},"getPosition"),getDimensions:o(function(we){var Ye=we.width,ut=we.height;return{width:Ye,height:ut,size:Math.max(Ye,ut)}},"getDimensions")})}),Fe=g.useMemo(function(){return{borderRadius:Se,borderWidth:X,isInteractive:st,isFocusable:!1,labelSkipWidth:U,labelSkipHeight:Z,margin:ot,width:i,height:s,innerWidth:ft,innerHeight:yt,bars:pe,legendData:ce,enableLabel:F,xScale:Oe,yScale:dt,tooltip:J,getTooltipLabel:wt,onClick:H,onMouseEnter:de,onMouseLeave:fe}},[Se,X,st,U,Z,ot,i,s,ft,yt,pe,ce,F,Oe,dt,J,wt,H,de,fe]);g.useEffect(function(){var we,Ye=(we=Ue.current)==null?void 0:we.getContext("2d");Ue.current&&Ye&&(Ue.current.width=W*We,Ue.current.height=K*We,Ye.scale(We,We),Ye.fillStyle=Ne.background,Ye.fillRect(0,0,W,K),Ye.translate(ot.left,ot.top),T.forEach(function(ut){ut==="grid"?typeof Ne.grid.line.strokeWidth=="number"&&Ne.grid.line.strokeWidth>0&&(Ye.lineWidth=Ne.grid.line.strokeWidth,Ye.strokeStyle=Ne.grid.line.stroke,_&&AL(Ye,{width:i,height:s,scale:Oe,axis:"x",values:A}),E&&AL(Ye,{width:i,height:s,scale:dt,axis:"y",values:P})):ut==="axes"?xYe(Ye,{xScale:Oe,yScale:dt,width:ft,height:yt,top:C,right:w,bottom:b,left:$,theme:Ne}):ut==="bars"?Le.forEach(function(ke){O(Ye,{bar:ke,borderColor:Bt(ke),borderRadius:Se,borderWidth:X,label:St(ke.data),labelColor:G(ke),shouldRenderLabel:Q(ke)})}):ut==="legends"?ce.forEach(function(ke){var ze=ke[0],bt=ke[1];OQe(Ye,on({},ze,{data:bt,containerWidth:ft,containerHeight:yt,theme:Ne}))}):ut==="annotations"?lQe(Ye,{annotations:Ve,theme:Ne}):typeof ut=="function"&&ut(Ye,Fe)}),Ye.save())},[b,$,w,C,Le,Se,X,Ve,_,E,Bt,St,G,A,P,c,s,yt,ft,Fe,T,l,ce,ot.left,ot.top,K,W,We,O,Oe,dt,u,Q,Ne,i]);var Me=g.useCallback(function(we){if(pe&&Ue.current){var Ye=dS(Ue.current,we),ut=Ye[0],ke=Ye[1],ze=hS(pe,ot,ut,ke);ze!==void 0?(qe(g.createElement(J,on({},ze.data,{color:ze.color,label:ze.label,value:Number(ze.data.value)})),we),we.type==="mouseenter"&&(de==null||de(ze.data,we))):ct()}},[ct,ot,de,pe,qe,J]),lt=g.useCallback(function(we){if(pe&&Ue.current){ct();var Ye=dS(Ue.current,we),ut=Ye[0],ke=Ye[1],ze=hS(pe,ot,ut,ke);ze&&(fe==null||fe(ze.data,we))}},[ct,ot,fe,pe]),jt=g.useCallback(function(we){if(pe&&Ue.current){var Ye=dS(Ue.current,we),ut=Ye[0],ke=Ye[1],ze=hS(pe,ot,ut,ke);ze!==void 0&&(H==null||H(on({},ze.data,{color:ze.color}),we))}},[ot,H,pe]);return f.jsx("canvas",{ref:o(function(we){Ue.current=we,rt&&"current"in rt&&(rt.current=we)},"ref"),width:W*We,height:K*We,style:{width:W,height:K,cursor:st?"auto":"normal"},onMouseEnter:st?Me:void 0,onMouseMove:st?Me:void 0,onMouseLeave:st?lt:void 0,onClick:st?jt:void 0})},"Ve$1"),nXe=g.forwardRef(function(e,t){var n=e.isInteractive,r=e.renderWrapper,a=e.theme,i=xp(e,eXe);return f.jsx(XP,{isInteractive:n,renderWrapper:r,theme:a,animate:!1,children:f.jsx(tXe,on({},i,{canvasRef:t}))})}),rXe=o(function(e){return f.jsx(ZP,{children:o(function(t){var n=t.width,r=t.height;return f.jsx(ZQe,on({width:n,height:r},e))},"children")})},"Me$1");g.forwardRef(function(e,t){return f.jsx(ZP,{children:o(function(n){var r=n.width,a=n.height;return f.jsx(nXe,on({width:r,height:a},e,{ref:t}))},"children")})});const aXe={opportunity:.2,"proposal-sent":.5,"in-negociation":.8,delayed:.3},oXe=o(()=>{const{data:e,isPending:t}=Ei("deals",{pagination:{perPage:100,page:1},sort:{field:"start_at",order:"ASC"}}),n=g.useMemo(()=>{if(!e)return[];const a=e.reduce((s,c)=>{const l=m$(c.start_at??new Date).toISOString();return s[l]||(s[l]=[]),s[l].push(c),s},{});return Object.keys(a).map(s=>({date:u2e(s,"MMM"),won:a[s].filter(c=>c.stage==="won").reduce((c,l)=>(c+=l.amount,c),0),pending:a[s].filter(c=>!["won","lost"].includes(c.stage)).reduce((c,l)=>(c+=l.amount*aXe[l.stage],c),0),lost:a[s].filter(c=>c.stage==="lost").reduce((c,l)=>(c-=l.amount,c),0)}))},[e]);if(t)return null;const r=n.reduce((a,i)=>(a.min=Math.min(a.min,i.lost),a.max=Math.max(a.max,i.won+i.pending),a),{min:0,max:0});return f.jsxs(f.Fragment,{children:[f.jsxs(Be,{display:"flex",alignItems:"center",children:[f.jsx(Be,{ml:2,mr:2,display:"flex",children:f.jsx(NG,{color:"disabled",fontSize:"large"})}),f.jsx(gp,{underline:"none",variant:"h5",color:"textSecondary",to:"/deals",children:"Upcoming Deal Revenue"})]}),f.jsx(Be,{height:500,children:f.jsx(rXe,{data:n,indexBy:"date",keys:["won","pending","lost"],colors:["#61cdbb","#97e3d5","#e25c3b"],margin:{top:50,right:50,bottom:50,left:0},padding:.3,valueScale:{type:"linear",min:r.min*1.2,max:r.max*1.2},indexScale:{type:"band",round:!0},enableGridX:!0,enableGridY:!1,enableLabel:!1,axisTop:{tickSize:0,tickPadding:12},axisBottom:{legendPosition:"middle",legendOffset:50,tickSize:0,tickPadding:12},axisLeft:null,axisRight:{format:o(a=>`${Math.abs(a/1e3)}k`,"format"),tickValues:8},markers:[{axis:"y",value:0,lineStyle:{strokeOpacity:0},textStyle:{fill:"#2ebca6"},legend:"Won",legendPosition:"top-left",legendOrientation:"vertical"},{axis:"y",value:0,lineStyle:{stroke:"#f47560",strokeWidth:1},textStyle:{fill:"#e25c3b"},legend:"Lost",legendPosition:"bottom-left",legendOrientation:"vertical"}]})})]})},"DealsChart");var o8={},iXe=ht;Object.defineProperty(o8,"__esModule",{value:!0});var vY=o8.default=void 0,sXe=iXe(vt()),cXe=f;vY=o8.default=(0,sXe.default)((0,cXe.jsx)("path",{d:"M20 0H4v2h16zM4 24h16v-2H4zM20 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2m-8 2.75c1.24 0 2.25 1.01 2.25 2.25s-1.01 2.25-2.25 2.25S9.75 10.24 9.75 9 10.76 6.75 12 6.75M17 17H7v-1.5c0-1.67 3.33-2.5 5-2.5s5 .83 5 2.5z"}),"Contacts");const lXe=o(()=>{const{identity:e}=Go(),{data:t,total:n,isPending:r}=Ei("contacts",{pagination:{page:1,perPage:10},sort:{field:"last_seen",order:"DESC"},filter:{status:"hot",sales_id:e==null?void 0:e.id}},{enabled:Number.isInteger(e==null?void 0:e.id)});return f.jsxs(f.Fragment,{children:[f.jsxs(Be,{display:"flex",alignItems:"center",marginBottom:"1em",children:[f.jsx(Be,{ml:2,mr:2,display:"flex",children:f.jsx(vY,{color:"disabled",fontSize:"large"})}),f.jsx(gp,{underline:"none",variant:"h5",color:"textSecondary",to:"/contacts",children:"Hot contacts"})]}),f.jsx($o,{children:f.jsx(iFe,{linkType:"show",data:t,total:n,isPending:r,primaryText:o(a=>`${a.first_name} ${a.last_name}`,"primaryText"),resource:"contacts",secondaryText:o(a=>vg(a.last_seen,new Date,{addSuffix:!0}),"secondaryText"),leftAvatar:o(a=>f.jsx(Wg,{record:a}),"leftAvatar"),dense:!0})})]})},"HotContacts");var i8={},uXe=ht;Object.defineProperty(i8,"__esModule",{value:!0});var yY=i8.default=void 0,dXe=uXe(vt()),fXe=f;yY=i8.default=(0,dXe.default)((0,fXe.jsx)("path",{d:"m22 10-6-6H4c-1.1 0-2 .9-2 2v12.01c0 1.1.9 1.99 2 1.99l16-.01c1.1 0 2-.89 2-1.99zm-7-4.5 5.5 5.5H15z"}),"Note");const pXe=o(()=>{const{identity:e}=Go(),{data:t,isPending:n}=Ei("contactNotes",{pagination:{page:1,perPage:5},sort:{field:"date",order:"DESC"},filter:{sales_id:e==null?void 0:e.id}},{enabled:Number.isInteger(e==null?void 0:e.id)}),{data:r,isPending:a}=Ei("dealNotes",{pagination:{page:1,perPage:5},sort:{field:"date",order:"DESC"},filter:{sales_id:e==null?void 0:e.id}},{enabled:Number.isInteger(e==null?void 0:e.id)});if(n||a||!t||!r)return null;const i=[].concat(t.map(s=>({...s,type:"contactNote"})),r.map(s=>({...s,type:"dealNote"}))).sort((s,c)=>new Date(c.date).valueOf()-new Date(s.date).valueOf()).slice(0,5);return f.jsxs("div",{children:[f.jsxs(Be,{display:"flex",alignItems:"center",marginBottom:"1em",children:[f.jsx(Be,{ml:2,mr:2,display:"flex",children:f.jsx(yY,{color:"disabled",fontSize:"large"})}),f.jsx(et,{variant:"h5",color:"textSecondary",children:"My Latest Notes"})]}),f.jsx($o,{children:f.jsx(Yo,{children:i.map(s=>f.jsxs(Be,{id:`${s.type}_${s.id}`,sx:{marginBottom:2},children:[f.jsxs(et,{variant:"body2",color:"textSecondary",component:"div",children:["on"," ",s.type==="dealNote"?f.jsx(mXe,{note:s}):f.jsx(hXe,{note:s}),", added"," ",vg(s.date,new Date,{addSuffix:!0})]}),f.jsx("div",{children:f.jsx(et,{sx:{display:"-webkit-box",WebkitLineClamp:3,WebkitBoxOrient:"vertical",overflow:"hidden"},children:s.text})})]},`${s.type}_${s.id}`))})})]})},"LatestNotes"),mXe=o(({note:e})=>f.jsxs(f.Fragment,{children:["Deal"," ",f.jsx(Mi,{record:e,source:"deal_id",reference:"deals",link:"show",children:f.jsx(Gr,{source:"name",variant:"body2"})})]}),"Deal"),hXe=o(({note:e})=>f.jsxs(f.Fragment,{children:["Contact"," ",f.jsx(Mi,{record:e,source:"contact_id",reference:"contacts",link:"show",children:f.jsx(MA,{variant:"body2",render:o(t=>`${t.first_name} ${t.last_name}`,"render")})})]}),"Contact");var s8={},gXe=ht;Object.defineProperty(s8,"__esModule",{value:!0});var bY=s8.default=void 0,vXe=gXe(vt()),yXe=f;bY=s8.default=(0,vXe.default)((0,yXe.jsx)("path",{d:"M19 3h-4.18C14.4 1.84 13.3 1 12 1c-1.3 0-2.4.84-2.82 2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2m-7 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1m-2 14-4-4 1.41-1.41L10 14.17l6.59-6.59L18 9z"}),"AssignmentTurnedIn");const bXe=o(()=>{const{identity:e}=Go(),{data:t,isPending:n}=Ei("contacts",{pagination:{page:1,perPage:500},filter:{sales_id:e==null?void 0:e.id}},{enabled:!!e}),{data:r,isPending:a}=Ei("tasks",{pagination:{page:1,perPage:100},sort:{field:"due_date",order:"ASC"},filter:{done_date:void 0,contact_id:t==null?void 0:t.map(c=>c.id)}},{enabled:!!t}),i=a||n,s=Mx({data:r,isPending:i,resource:"tasks",perPage:10});return f.jsxs(f.Fragment,{children:[f.jsxs(Be,{display:"flex",alignItems:"center",marginBottom:"1em",children:[f.jsx(Be,{ml:2,mr:2,display:"flex",children:f.jsx(bY,{color:"disabled",fontSize:"large"})}),f.jsx(gp,{underline:"none",variant:"h5",color:"textSecondary",to:"/contacts",children:"Upcoming tasks"})]}),f.jsxs($o,{sx:{px:2,mb:"2em"},children:[f.jsx(qo,{value:"tasks",children:f.jsx(fg,{value:s,children:f.jsx(AG,{showContact:!0})})}),!i&&f.jsx(gn,{onClick:o(()=>s.setPerPage(s.perPage+10),"onClick"),fullWidth:!0,children:"Load more"})]})]})},"TasksList"),xXe=o(()=>f.jsxs(mi,{container:!0,spacing:2,mt:1,children:[f.jsx(mi,{item:!0,xs:12,md:9,children:f.jsx(oXe,{})}),f.jsx(mi,{item:!0,xs:12,md:3,children:f.jsx(eUe,{})}),f.jsx(mi,{item:!0,xs:12,md:6,children:f.jsx(pXe,{})}),f.jsx(mi,{item:!0,xs:12,md:3,children:f.jsx(bXe,{})}),f.jsx(mi,{item:!0,xs:12,md:3,children:f.jsx(lXe,{})})]}),"Dashboard");var wXe=Object.defineProperty,CXe=o((e,t,n)=>t in e?wXe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,"Kt"),Aa=o((e,t,n)=>(CXe(e,typeof t!="symbol"?t+"":t,n),n),"p"),Hv=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function xY(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}o(xY,"lt");var SXe=Array.isArray,ru=SXe,jXe=typeof Hv=="object"&&Hv&&Hv.Object===Object&&Hv,wY=jXe,$Xe=wY,_Xe=typeof self=="object"&&self&&self.Object===Object&&self,kXe=$Xe||_Xe||Function("return this")(),Hi=kXe,EXe=Hi,RXe=EXe.Symbol,Kg=RXe,LL=Kg,CY=Object.prototype,AXe=CY.hasOwnProperty,PXe=CY.toString,om=LL?LL.toStringTag:void 0;function MXe(e){var t=AXe.call(e,om),n=e[om];try{e[om]=void 0;var r=!0}catch{}var a=PXe.call(e);return r&&(t?e[om]=n:delete e[om]),a}o(MXe,"Zt");var TXe=MXe,OXe=Object.prototype,zXe=OXe.toString;function IXe(e){return zXe.call(e)}o(IXe,"rr");var LXe=IXe,DL=Kg,DXe=TXe,NXe=LXe,FXe="[object Null]",BXe="[object Undefined]",NL=DL?DL.toStringTag:void 0;function WXe(e){return e==null?e===void 0?BXe:FXe:NL&&NL in Object(e)?DXe(e):NXe(e)}o(WXe,"cr");var Jg=WXe;function UXe(e){return e!=null&&typeof e=="object"}o(UXe,"lr");var au=UXe,HXe=Jg,qXe=au,VXe="[object Symbol]";function GXe(e){return typeof e=="symbol"||qXe(e)&&HXe(e)==VXe}o(GXe,"hr");var c8=GXe,KXe=ru,JXe=c8,YXe=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,QXe=/^\w*$/;function XXe(e,t){if(KXe(e))return!1;var n=typeof e;return n=="number"||n=="symbol"||n=="boolean"||e==null||JXe(e)?!0:QXe.test(e)||!YXe.test(e)||t!=null&&e in Object(t)}o(XXe,"vr");var ZXe=XXe;function eZe(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}o(eZe,"_r");var wp=eZe,tZe=Jg,nZe=wp,rZe="[object AsyncFunction]",aZe="[object Function]",oZe="[object GeneratorFunction]",iZe="[object Proxy]";function sZe(e){if(!nZe(e))return!1;var t=tZe(e);return t==aZe||t==oZe||t==rZe||t==iZe}o(sZe,"Sr");var SY=sZe,cZe=Hi,lZe=cZe["__core-js_shared__"],uZe=lZe,gS=uZe,FL=function(){var e=/[^.]+$/.exec(gS&&gS.keys&&gS.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function dZe(e){return!!FL&&FL in e}o(dZe,"Pr");var fZe=dZe,pZe=Function.prototype,mZe=pZe.toString;function hZe(e){if(e!=null){try{return mZe.call(e)}catch{}try{return e+""}catch{}}return""}o(hZe,"Rr");var jY=hZe,gZe=SY,vZe=fZe,yZe=wp,bZe=jY,xZe=/[\\^$.*+?()[\]{}|]/g,wZe=/^\[object .+?Constructor\]$/,CZe=Function.prototype,SZe=Object.prototype,jZe=CZe.toString,$Ze=SZe.hasOwnProperty,_Ze=RegExp("^"+jZe.call($Ze).replace(xZe,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function kZe(e){if(!yZe(e)||vZe(e))return!1;var t=gZe(e)?_Ze:wZe;return t.test(bZe(e))}o(kZe,"Jr");var EZe=kZe;function RZe(e,t){return e==null?void 0:e[t]}o(RZe,"Wr");var AZe=RZe,PZe=EZe,MZe=AZe;function TZe(e,t){var n=MZe(e,t);return PZe(n)?n:void 0}o(TZe,"kr");var ou=TZe,OZe=ou,zZe=OZe(Object,"create"),Dw=zZe,BL=Dw;function IZe(){this.__data__=BL?BL(null):{},this.size=0}o(IZe,"ra");var LZe=IZe;function DZe(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}o(DZe,"na");var NZe=DZe,FZe=Dw,BZe="__lodash_hash_undefined__",WZe=Object.prototype,UZe=WZe.hasOwnProperty;function HZe(e){var t=this.__data__;if(FZe){var n=t[e];return n===BZe?void 0:n}return UZe.call(t,e)?t[e]:void 0}o(HZe,"ua");var qZe=HZe,VZe=Dw,GZe=Object.prototype,KZe=GZe.hasOwnProperty;function JZe(e){var t=this.__data__;return VZe?t[e]!==void 0:KZe.call(t,e)}o(JZe,"pa");var YZe=JZe,QZe=Dw,XZe="__lodash_hash_undefined__";function ZZe(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=QZe&&t===void 0?XZe:t,this}o(ZZe,"$a");var eet=ZZe,tet=LZe,net=NZe,ret=qZe,aet=YZe,oet=eet;function Cp(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}o(Cp,"E");Cp.prototype.clear=tet;Cp.prototype.delete=net;Cp.prototype.get=ret;Cp.prototype.has=aet;Cp.prototype.set=oet;var iet=Cp;function set(){this.__data__=[],this.size=0}o(set,"Sa");var cet=set;function uet(e,t){return e===t||e!==e&&t!==t}o(uet,"Ea");var l8=uet,det=l8;function fet(e,t){for(var n=e.length;n--;)if(det(e[n][0],t))return n;return-1}o(fet,"Pa");var Nw=fet,pet=Nw,met=Array.prototype,het=met.splice;function get(e){var t=this.__data__,n=pet(t,e);if(n<0)return!1;var r=t.length-1;return n==r?t.pop():het.call(t,n,1),--this.size,!0}o(get,"Ra");var vet=get,yet=Nw;function bet(e){var t=this.__data__,n=yet(t,e);return n<0?void 0:t[n][1]}o(bet,"Fa");var xet=bet,wet=Nw;function Cet(e){return wet(this.__data__,e)>-1}o(Cet,"Ga");var jet=Cet,$et=Nw;function _et(e,t){var n=this.__data__,r=$et(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}o(_et,"qa");var ket=_et,Eet=cet,Ret=vet,Aet=xet,Pet=jet,Met=ket;function Sp(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}o(Sp,"I");Sp.prototype.clear=Eet;Sp.prototype.delete=Ret;Sp.prototype.get=Aet;Sp.prototype.has=Pet;Sp.prototype.set=Met;var Fw=Sp,Tet=ou,Oet=Hi,zet=Tet(Oet,"Map"),u8=zet,WL=iet,Iet=Fw,Let=u8;function Det(){this.size=0,this.__data__={hash:new WL,map:new(Let||Iet),string:new WL}}o(Det,"rn");var Net=Det;function Fet(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}o(Fet,"nn");var Bet=Fet,Wet=Bet;function Uet(e,t){var n=e.__data__;return Wet(t)?n[typeof t=="string"?"string":"hash"]:n.map}o(Uet,"cn");var Bw=Uet,Het=Bw;function qet(e){var t=Het(this,e).delete(e);return this.size-=t?1:0,t}o(qet,"un");var Vet=qet,Get=Bw;function Ket(e){return Get(this,e).get(e)}o(Ket,"hn");var Jet=Ket,Yet=Bw;function Qet(e){return Yet(this,e).has(e)}o(Qet,"yn");var Xet=Qet,Zet=Bw;function ett(e,t){var n=Zet(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this}o(ett,"$n");var ttt=ett,ntt=Net,rtt=Vet,att=Jet,ott=Xet,itt=ttt;function jp(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}o(jp,"P");jp.prototype.clear=ntt;jp.prototype.delete=rtt;jp.prototype.get=att;jp.prototype.has=ott;jp.prototype.set=itt;var d8=jp,$Y=d8,stt="Expected a function";function f8(e,t){if(typeof e!="function"||t!=null&&typeof t!="function")throw new TypeError(stt);var n=o(function(){var r=arguments,a=t?t.apply(this,r):r[0],i=n.cache;if(i.has(a))return i.get(a);var s=e.apply(this,r);return n.cache=i.set(a,s)||i,s},"r");return n.cache=new(f8.Cache||$Y),n}o(f8,"fe");f8.Cache=$Y;var ctt=f8,ltt=ctt,utt=500;function dtt(e){var t=ltt(e,function(r){return n.size===utt&&n.clear(),r}),n=t.cache;return t}o(dtt,"In");var ftt=dtt,ptt=ftt,mtt=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,htt=/\\(\\)?/g,gtt=ptt(function(e){var t=[];return e.charCodeAt(0)===46&&t.push(""),e.replace(mtt,function(n,r,a,i){t.push(a?i.replace(htt,"$1"):r||n)}),t}),vtt=gtt;function ytt(e,t){for(var n=-1,r=e==null?0:e.length,a=Array(r);++n<r;)a[n]=t(e[n],n,e);return a}o(ytt,"Dn");var btt=ytt,UL=Kg,xtt=btt,wtt=ru,Ctt=c8,Stt=1/0,HL=UL?UL.prototype:void 0,qL=HL?HL.toString:void 0;function _Y(e){if(typeof e=="string")return e;if(wtt(e))return xtt(e,_Y)+"";if(Ctt(e))return qL?qL.call(e):"";var t=e+"";return t=="0"&&1/e==-Stt?"-0":t}o(_Y,"pt");var jtt=_Y,$tt=jtt;function _tt(e){return e==null?"":$tt(e)}o(_tt,"zn");var ktt=_tt,Ett=ru,Rtt=ZXe,Att=vtt,Ptt=ktt;function Mtt(e,t){return Ett(e)?e:Rtt(e,t)?[e]:Att(Ptt(e))}o(Mtt,"Yn");var Ttt=Mtt,Ott=c8,ztt=1/0;function Itt(e){if(typeof e=="string"||Ott(e))return e;var t=e+"";return t=="0"&&1/e==-ztt?"-0":t}o(Itt,"ts");var Ltt=Itt,Dtt=Ttt,Ntt=Ltt;function Ftt(e,t){t=Dtt(t,e);for(var n=0,r=t.length;e!=null&&n<r;)e=e[Ntt(t[n++])];return n&&n==r?e:void 0}o(Ftt,"ss");var Btt=Ftt,Wtt=Btt;function Utt(e,t,n){var r=e==null?void 0:Wtt(e,t);return r===void 0?n:r}o(Utt,"cs");var Htt=Utt;const ar=xY(Htt);var qtt=Fw;function Vtt(){this.__data__=new qtt,this.size=0}o(Vtt,"fs");var Gtt=Vtt;function Ktt(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}o(Ktt,"hs");var Jtt=Ktt;function Ytt(e){return this.__data__.get(e)}o(Ytt,"ps");var Qtt=Ytt;function Xtt(e){return this.__data__.has(e)}o(Xtt,"bs");var Ztt=Xtt,ent=Fw,tnt=u8,nnt=d8,rnt=200;function ant(e,t){var n=this.__data__;if(n instanceof ent){var r=n.__data__;if(!tnt||r.length<rnt-1)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new nnt(r)}return n.set(e,t),this.size=n.size,this}o(ant,"ws");var ont=ant,int=Fw,snt=Gtt,cnt=Jtt,lnt=Qtt,unt=Ztt,dnt=ont;function $p(e){var t=this.__data__=new int(e);this.size=t.size}o($p,"x");$p.prototype.clear=snt;$p.prototype.delete=cnt;$p.prototype.get=lnt;$p.prototype.has=unt;$p.prototype.set=dnt;var p8=$p;function fnt(e,t){for(var n=-1,r=e==null?0:e.length;++n<r&&t(e[n],n,e)!==!1;);return e}o(fnt,"Ps");var pnt=fnt,mnt=ou,hnt=function(){try{var e=mnt(Object,"defineProperty");return e({},"",{}),e}catch{}}(),gnt=hnt,VL=gnt;function vnt(e,t,n){t=="__proto__"&&VL?VL(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}o(vnt,"Ls");var kY=vnt,ynt=kY,bnt=l8,xnt=Object.prototype,wnt=xnt.hasOwnProperty;function Cnt(e,t,n){var r=e[t];(!(wnt.call(e,t)&&bnt(r,n))||n===void 0&&!(t in e))&&ynt(e,t,n)}o(Cnt,"Gs");var EY=Cnt,Snt=EY,jnt=kY;function $nt(e,t,n,r){var a=!n;n||(n={});for(var i=-1,s=t.length;++i<s;){var c=t[i],l=r?r(n[c],e[c],c,n,e):void 0;l===void 0&&(l=e[c]),a?jnt(n,c,l):Snt(n,c,l)}return n}o($nt,"qs");var Ww=$nt;function _nt(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}o(_nt,"zs");var knt=_nt,Ent=Jg,Rnt=au,Ant="[object Arguments]";function Pnt(e){return Rnt(e)&&Ent(e)==Ant}o(Pnt,"Xs");var Mnt=Pnt,GL=Mnt,Tnt=au,RY=Object.prototype,Ont=RY.hasOwnProperty,znt=RY.propertyIsEnumerable,Int=GL(function(){return arguments}())?GL:function(e){return Tnt(e)&&Ont.call(e,"callee")&&!znt.call(e,"callee")},Lnt=Int,z0={exports:{}};function Dnt(){return!1}o(Dnt,"ai");var Nnt=Dnt;z0.exports;(function(e,t){var n=Hi,r=Nnt,a=t&&!t.nodeType&&t,i=a&&!0&&e&&!e.nodeType&&e,s=i&&i.exports===a,c=s?n.Buffer:void 0,l=c?c.isBuffer:void 0,u=l||r;e.exports=u})(z0,z0.exports);var m8=z0.exports,Fnt=9007199254740991,Bnt=/^(?:0|[1-9]\d*)$/;function Wnt(e,t){var n=typeof e;return t=t??Fnt,!!t&&(n=="number"||n!="symbol"&&Bnt.test(e))&&e>-1&&e%1==0&&e<t}o(Wnt,"oi");var Unt=Wnt,Hnt=9007199254740991;function qnt(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Hnt}o(qnt,"ui");var AY=qnt,Vnt=Jg,Gnt=AY,Knt=au,Jnt="[object Arguments]",Ynt="[object Array]",Qnt="[object Boolean]",Xnt="[object Date]",Znt="[object Error]",ert="[object Function]",trt="[object Map]",nrt="[object Number]",rrt="[object Object]",art="[object RegExp]",ort="[object Set]",irt="[object String]",srt="[object WeakMap]",crt="[object ArrayBuffer]",lrt="[object DataView]",urt="[object Float32Array]",drt="[object Float64Array]",frt="[object Int8Array]",prt="[object Int16Array]",mrt="[object Int32Array]",hrt="[object Uint8Array]",grt="[object Uint8ClampedArray]",vrt="[object Uint16Array]",yrt="[object Uint32Array]",bn={};bn[urt]=bn[drt]=bn[frt]=bn[prt]=bn[mrt]=bn[hrt]=bn[grt]=bn[vrt]=bn[yrt]=!0;bn[Jnt]=bn[Ynt]=bn[crt]=bn[Qnt]=bn[lrt]=bn[Xnt]=bn[Znt]=bn[ert]=bn[trt]=bn[nrt]=bn[rrt]=bn[art]=bn[ort]=bn[irt]=bn[srt]=!1;function brt(e){return Knt(e)&&Gnt(e.length)&&!!bn[Vnt(e)]}o(brt,"Fi");var xrt=brt;function wrt(e){return function(t){return e(t)}}o(wrt,"Ui");var h8=wrt,I0={exports:{}};I0.exports;(function(e,t){var n=wY,r=t&&!t.nodeType&&t,a=r&&!0&&e&&!e.nodeType&&e,i=a&&a.exports===r,s=i&&n.process,c=function(){try{var l=a&&a.require&&a.require("util").types;return l||s&&s.binding&&s.binding("util")}catch{}}();e.exports=c})(I0,I0.exports);var g8=I0.exports,Crt=xrt,Srt=h8,KL=g8,JL=KL&&KL.isTypedArray,jrt=JL?Srt(JL):Crt,PY=jrt,$rt=knt,_rt=Lnt,krt=ru,Ert=m8,Rrt=Unt,Art=PY,Prt=Object.prototype,Mrt=Prt.hasOwnProperty;function Trt(e,t){var n=krt(e),r=!n&&_rt(e),a=!n&&!r&&Ert(e),i=!n&&!r&&!a&&Art(e),s=n||r||a||i,c=s?$rt(e.length,String):[],l=c.length;for(var u in e)(t||Mrt.call(e,u))&&!(s&&(u=="length"||a&&(u=="offset"||u=="parent")||i&&(u=="buffer"||u=="byteLength"||u=="byteOffset")||Rrt(u,l)))&&c.push(u);return c}o(Trt,"Zi");var MY=Trt,Ort=Object.prototype;function zrt(e){var t=e&&e.constructor,n=typeof t=="function"&&t.prototype||Ort;return e===n}o(zrt,"eo");var v8=zrt;function Irt(e,t){return function(n){return e(t(n))}}o(Irt,"to");var TY=Irt,Lrt=TY,Drt=Lrt(Object.keys,Object),Nrt=Drt,Frt=v8,Brt=Nrt,Wrt=Object.prototype,Urt=Wrt.hasOwnProperty;function Hrt(e){if(!Frt(e))return Brt(e);var t=[];for(var n in Object(e))Urt.call(e,n)&&n!="constructor"&&t.push(n);return t}o(Hrt,"lo");var qrt=Hrt,Vrt=SY,Grt=AY;function Krt(e){return e!=null&&Grt(e.length)&&!Vrt(e)}o(Krt,"go");var OY=Krt,Jrt=MY,Yrt=qrt,Qrt=OY;function Xrt(e){return Qrt(e)?Jrt(e):Yrt(e)}o(Xrt,"vo");var Uw=Xrt,Zrt=Ww,eat=Uw;function tat(e,t){return e&&Zrt(t,eat(t),e)}o(tat,"mo");var nat=tat;function rat(e){var t=[];if(e!=null)for(var n in Object(e))t.push(n);return t}o(rat,"wo");var aat=rat,oat=wp,iat=v8,sat=aat,cat=Object.prototype,lat=cat.hasOwnProperty;function uat(e){if(!oat(e))return sat(e);var t=iat(e),n=[];for(var r in e)r=="constructor"&&(t||!lat.call(e,r))||n.push(r);return n}o(uat,"Io");var dat=uat,fat=MY,pat=dat,mat=OY;function hat(e){return mat(e)?fat(e,!0):pat(e)}o(hat,"Ro");var y8=hat,gat=Ww,vat=y8;function yat(e,t){return e&&gat(t,vat(t),e)}o(yat,"Fo");var bat=yat,L0={exports:{}};L0.exports;(function(e,t){var n=Hi,r=t&&!t.nodeType&&t,a=r&&!0&&e&&!e.nodeType&&e,i=a&&a.exports===r,s=i?n.Buffer:void 0,c=s?s.allocUnsafe:void 0;function l(u,d){if(d)return u.slice();var p=u.length,m=c?c(p):new u.constructor(p);return u.copy(m),m}o(l,"c"),e.exports=l})(L0,L0.exports);var xat=L0.exports;function wat(e,t){var n=-1,r=e.length;for(t||(t=Array(r));++n<r;)t[n]=e[n];return t}o(wat,"Go");var Cat=wat;function Sat(e,t){for(var n=-1,r=e==null?0:e.length,a=0,i=[];++n<r;){var s=e[n];t(s,n,e)&&(i[a++]=s)}return i}o(Sat,"Ho");var jat=Sat;function $at(){return[]}o($at,"zo");var zY=$at,_at=jat,kat=zY,Eat=Object.prototype,Rat=Eat.propertyIsEnumerable,YL=Object.getOwnPropertySymbols,Aat=YL?function(e){return e==null?[]:(e=Object(e),_at(YL(e),function(t){return Rat.call(e,t)}))}:kat,b8=Aat,Pat=Ww,Mat=b8;function Tat(e,t){return Pat(e,Mat(e),t)}o(Tat,"ko");var Oat=Tat;function zat(e,t){for(var n=-1,r=t.length,a=e.length;++n<r;)e[a+n]=t[n];return e}o(zat,"tc");var IY=zat,Iat=TY,Lat=Iat(Object.getPrototypeOf,Object),LY=Lat,Dat=IY,Nat=LY,Fat=b8,Bat=zY,Wat=Object.getOwnPropertySymbols,Uat=Wat?function(e){for(var t=[];e;)Dat(t,Fat(e)),e=Nat(e);return t}:Bat,DY=Uat,Hat=Ww,qat=DY;function Vat(e,t){return Hat(e,qat(e),t)}o(Vat,"dc");var Gat=Vat,Kat=IY,Jat=ru;function Yat(e,t,n){var r=t(e);return Jat(e)?r:Kat(r,n(e))}o(Yat,"yc");var NY=Yat,Qat=NY,Xat=b8,Zat=Uw;function eot(e){return Qat(e,Zat,Xat)}o(eot,"_c");var FY=eot,tot=NY,not=DY,rot=y8;function aot(e){return tot(e,rot,not)}o(aot,"Tc");var oot=aot,iot=ou,sot=Hi,cot=iot(sot,"DataView"),lot=cot,uot=ou,dot=Hi,fot=uot(dot,"Promise"),pot=fot,mot=ou,hot=Hi,got=mot(hot,"Set"),vot=got,yot=ou,bot=Hi,xot=yot(bot,"WeakMap"),wot=xot,x_=lot,w_=u8,C_=pot,S_=vot,j_=wot,BY=Jg,_p=jY,QL="[object Map]",Cot="[object Object]",XL="[object Promise]",ZL="[object Set]",eD="[object WeakMap]",tD="[object DataView]",Sot=_p(x_),jot=_p(w_),$ot=_p(C_),_ot=_p(S_),kot=_p(j_),qc=BY;(x_&&qc(new x_(new ArrayBuffer(1)))!=tD||w_&&qc(new w_)!=QL||C_&&qc(C_.resolve())!=XL||S_&&qc(new S_)!=ZL||j_&&qc(new j_)!=eD)&&(qc=o(function(e){var t=BY(e),n=t==Cot?e.constructor:void 0,r=n?_p(n):"";if(r)switch(r){case Sot:return tD;case jot:return QL;case $ot:return XL;case _ot:return ZL;case kot:return eD}return t},"T"));var Hw=qc,Eot=Object.prototype,Rot=Eot.hasOwnProperty;function Aot(e){var t=e.length,n=new e.constructor(t);return t&&typeof e[0]=="string"&&Rot.call(e,"index")&&(n.index=e.index,n.input=e.input),n}o(Aot,"Xc");var Pot=Aot,Mot=Hi,Tot=Mot.Uint8Array,WY=Tot,nD=WY;function Oot(e){var t=new e.constructor(e.byteLength);return new nD(t).set(new nD(e)),t}o(Oot,"el");var x8=Oot,zot=x8;function Iot(e,t){var n=t?zot(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}o(Iot,"rl");var Lot=Iot,Dot=/\w*$/;function Not(e){var t=new e.constructor(e.source,Dot.exec(e));return t.lastIndex=e.lastIndex,t}o(Not,"sl");var Fot=Not,rD=Kg,aD=rD?rD.prototype:void 0,oD=aD?aD.valueOf:void 0;function Bot(e){return oD?Object(oD.call(e)):{}}o(Bot,"ol");var Wot=Bot,Uot=x8;function Hot(e,t){var n=t?Uot(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}o(Hot,"ul");var qot=Hot,Vot=x8,Got=Lot,Kot=Fot,Jot=Wot,Yot=qot,Qot="[object Boolean]",Xot="[object Date]",Zot="[object Map]",eit="[object Number]",tit="[object RegExp]",nit="[object Set]",rit="[object String]",ait="[object Symbol]",oit="[object ArrayBuffer]",iit="[object DataView]",sit="[object Float32Array]",cit="[object Float64Array]",lit="[object Int8Array]",uit="[object Int16Array]",dit="[object Int32Array]",fit="[object Uint8Array]",pit="[object Uint8ClampedArray]",mit="[object Uint16Array]",hit="[object Uint32Array]";function git(e,t,n){var r=e.constructor;switch(t){case oit:return Vot(e);case Qot:case Xot:return new r(+e);case iit:return Got(e,n);case sit:case cit:case lit:case uit:case dit:case fit:case pit:case mit:case hit:return Yot(e,n);case Zot:return new r;case eit:case rit:return new r(e);case tit:return Kot(e);case nit:return new r;case ait:return Jot(e)}}o(git,"Ll");var vit=git,yit=wp,iD=Object.create,bit=function(){function e(){}return o(e,"t"),function(t){if(!yit(t))return{};if(iD)return iD(t);e.prototype=t;var n=new e;return e.prototype=void 0,n}}(),xit=bit,wit=xit,Cit=LY,Sit=v8;function jit(e){return typeof e.constructor=="function"&&!Sit(e)?wit(Cit(e)):{}}o(jit,"ql");var $it=jit,_it=Hw,kit=au,Eit="[object Map]";function Rit(e){return kit(e)&&_it(e)==Eit}o(Rit,"Wl");var Ait=Rit,Pit=Ait,Mit=h8,sD=g8,cD=sD&&sD.isMap,Tit=cD?Mit(cD):Pit,Oit=Tit,zit=Hw,Iit=au,Lit="[object Set]";function Dit(e){return Iit(e)&&zit(e)==Lit}o(Dit,"nu");var Nit=Dit,Fit=Nit,Bit=h8,lD=g8,uD=lD&&lD.isSet,Wit=uD?Bit(uD):Fit,Uit=Wit,Hit=p8,qit=pnt,Vit=EY,Git=nat,Kit=bat,Jit=xat,Yit=Cat,Qit=Oat,Xit=Gat,Zit=FY,est=oot,tst=Hw,nst=Pot,rst=vit,ast=$it,ost=ru,ist=m8,sst=Oit,cst=wp,lst=Uit,ust=Uw,dst=y8,fst=1,pst=2,mst=4,UY="[object Arguments]",hst="[object Array]",gst="[object Boolean]",vst="[object Date]",yst="[object Error]",HY="[object Function]",bst="[object GeneratorFunction]",xst="[object Map]",wst="[object Number]",qY="[object Object]",Cst="[object RegExp]",Sst="[object Set]",jst="[object String]",$st="[object Symbol]",_st="[object WeakMap]",kst="[object ArrayBuffer]",Est="[object DataView]",Rst="[object Float32Array]",Ast="[object Float64Array]",Pst="[object Int8Array]",Mst="[object Int16Array]",Tst="[object Int32Array]",Ost="[object Uint8Array]",zst="[object Uint8ClampedArray]",Ist="[object Uint16Array]",Lst="[object Uint32Array]",mn={};mn[UY]=mn[hst]=mn[kst]=mn[Est]=mn[gst]=mn[vst]=mn[Rst]=mn[Ast]=mn[Pst]=mn[Mst]=mn[Tst]=mn[xst]=mn[wst]=mn[qY]=mn[Cst]=mn[Sst]=mn[jst]=mn[$st]=mn[Ost]=mn[zst]=mn[Ist]=mn[Lst]=!0;mn[yst]=mn[HY]=mn[_st]=!1;function qy(e,t,n,r,a,i){var s,c=t&fst,l=t&pst,u=t&mst;if(n&&(s=a?n(e,r,a,i):n(e)),s!==void 0)return s;if(!cst(e))return e;var d=ost(e);if(d){if(s=nst(e),!c)return Yit(e,s)}else{var p=tst(e),m=p==HY||p==bst;if(ist(e))return Jit(e,c);if(p==qY||p==UY||m&&!a){if(s=l||m?{}:ast(e),!c)return l?Xit(e,Kit(s,e)):Qit(e,Git(s,e))}else{if(!mn[p])return a?e:{};s=rst(e,p,c)}}i||(i=new Hit);var v=i.get(e);if(v)return v;i.set(e,s),lst(e)?e.forEach(function(C){s.add(qy(C,t,n,C,e,i))}):sst(e)&&e.forEach(function(C,w){s.set(w,qy(C,t,n,w,e,i))});var h=u?l?est:Zit:l?dst:ust,y=d?void 0:h(e);return qit(y||e,function(C,w){y&&(w=C,C=e[w]),Vit(s,w,qy(C,t,n,w,e,i))}),s}o(qy,"G");var Dst=qy,Nst="__lodash_hash_undefined__";function Fst(e){return this.__data__.set(e,Nst),this}o(Fst,"of");var Bst=Fst;function Wst(e){return this.__data__.has(e)}o(Wst,"lf");var Ust=Wst,Hst=d8,qst=Bst,Vst=Ust;function D0(e){var t=-1,n=e==null?0:e.length;for(this.__data__=new Hst;++t<n;)this.add(e[t])}o(D0,"z");D0.prototype.add=D0.prototype.push=qst;D0.prototype.has=Vst;var Gst=D0;function Kst(e,t){for(var n=-1,r=e==null?0:e.length;++n<r;)if(t(e[n],n,e))return!0;return!1}o(Kst,"pf");var Jst=Kst;function Yst(e,t){return e.has(t)}o(Yst,"bf");var Qst=Yst,Xst=Gst,Zst=Jst,ect=Qst,tct=1,nct=2;function rct(e,t,n,r,a,i){var s=n&tct,c=e.length,l=t.length;if(c!=l&&!(s&&l>c))return!1;var u=i.get(e),d=i.get(t);if(u&&d)return u==t&&d==e;var p=-1,m=!0,v=n&nct?new Xst:void 0;for(i.set(e,t),i.set(t,e);++p<c;){var h=e[p],y=t[p];if(r)var C=s?r(y,h,p,t,e,i):r(h,y,p,e,t,i);if(C!==void 0){if(C)continue;m=!1;break}if(v){if(!Zst(t,function(w,x){if(!ect(v,x)&&(h===w||a(h,w,n,r,i)))return v.push(x)})){m=!1;break}}else if(!(h===y||a(h,y,n,r,i))){m=!1;break}}return i.delete(e),i.delete(t),m}o(rct,"Tf");var VY=rct;function act(e){var t=-1,n=Array(e.size);return e.forEach(function(r,a){n[++t]=[a,r]}),n}o(act,"Of");var oct=act;function ict(e){var t=-1,n=Array(e.size);return e.forEach(function(r){n[++t]=r}),n}o(ict,"Sf");var sct=ict,dD=Kg,fD=WY,cct=l8,lct=VY,uct=oct,dct=sct,fct=1,pct=2,mct="[object Boolean]",hct="[object Date]",gct="[object Error]",vct="[object Map]",yct="[object Number]",bct="[object RegExp]",xct="[object Set]",wct="[object String]",Cct="[object Symbol]",Sct="[object ArrayBuffer]",jct="[object DataView]",pD=dD?dD.prototype:void 0,vS=pD?pD.valueOf:void 0;function $ct(e,t,n,r,a,i,s){switch(n){case jct:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case Sct:return!(e.byteLength!=t.byteLength||!i(new fD(e),new fD(t)));case mct:case hct:case yct:return cct(+e,+t);case gct:return e.name==t.name&&e.message==t.message;case bct:case wct:return e==t+"";case vct:var c=uct;case xct:var l=r&fct;if(c||(c=dct),e.size!=t.size&&!l)return!1;var u=s.get(e);if(u)return u==t;r|=pct,s.set(e,t);var d=lct(c(e),c(t),r,a,i,s);return s.delete(e),d;case Cct:if(vS)return vS.call(e)==vS.call(t)}return!1}o($ct,"Vf");var _ct=$ct,mD=FY,kct=1,Ect=Object.prototype,Rct=Ect.hasOwnProperty;function Act(e,t,n,r,a,i){var s=n&kct,c=mD(e),l=c.length,u=mD(t),d=u.length;if(l!=d&&!s)return!1;for(var p=l;p--;){var m=c[p];if(!(s?m in t:Rct.call(t,m)))return!1}var v=i.get(e),h=i.get(t);if(v&&h)return v==t&&h==e;var y=!0;i.set(e,t),i.set(t,e);for(var C=s;++p<l;){m=c[p];var w=e[m],x=t[m];if(r)var b=s?r(x,w,m,t,e,i):r(w,x,m,e,t,i);if(!(b===void 0?w===x||a(w,x,n,r,i):b)){y=!1;break}C||(C=m=="constructor")}if(y&&!C){var S=e.constructor,$=t.constructor;S!=$&&"constructor"in e&&"constructor"in t&&!(typeof S=="function"&&S instanceof S&&typeof $=="function"&&$ instanceof $)&&(y=!1)}return i.delete(e),i.delete(t),y}o(Act,"Yf");var Pct=Act,yS=p8,Mct=VY,Tct=_ct,Oct=Pct,hD=Hw,gD=ru,vD=m8,zct=PY,Ict=1,yD="[object Arguments]",bD="[object Array]",qv="[object Object]",Lct=Object.prototype,xD=Lct.hasOwnProperty;function Dct(e,t,n,r,a,i){var s=gD(e),c=gD(t),l=s?bD:hD(e),u=c?bD:hD(t);l=l==yD?qv:l,u=u==yD?qv:u;var d=l==qv,p=u==qv,m=l==u;if(m&&vD(e)){if(!vD(t))return!1;s=!0,d=!1}if(m&&!d)return i||(i=new yS),s||zct(e)?Mct(e,t,n,r,a,i):Tct(e,t,l,n,r,a,i);if(!(n&Ict)){var v=d&&xD.call(e,"__wrapped__"),h=p&&xD.call(t,"__wrapped__");if(v||h){var y=v?e.value():e,C=h?t.value():t;return i||(i=new yS),a(y,C,n,r,i)}}return m?(i||(i=new yS),Oct(e,t,n,r,a,i)):!1}o(Dct,"sd");var Nct=Dct,Fct=Nct,wD=au;function GY(e,t,n,r,a){return e===t?!0:e==null||t==null||!wD(e)&&!wD(t)?e!==e&&t!==t:Fct(e,t,n,r,GY,a)}o(GY,"Lt");var Bct=GY,Wct=p8,Uct=Bct,Hct=1,qct=2;function Vct(e,t,n,r){var a=n.length,i=a,s=!r;if(e==null)return!i;for(e=Object(e);a--;){var c=n[a];if(s&&c[2]?c[1]!==e[c[0]]:!(c[0]in e))return!1}for(;++a<i;){c=n[a];var l=c[0],u=e[l],d=c[1];if(s&&c[2]){if(u===void 0&&!(l in e))return!1}else{var p=new Wct;if(r)var m=r(u,d,l,e,t,p);if(!(m===void 0?Uct(d,u,Hct|qct,r,p):m))return!1}}return!0}o(Vct,"hd");var Gct=Vct,Kct=wp;function Jct(e){return e===e&&!Kct(e)}o(Jct,"yd");var Yct=Jct,Qct=Yct,Xct=Uw;function Zct(e){for(var t=Xct(e),n=t.length;n--;){var r=t[n],a=e[r];t[n]=[r,a,Qct(a)]}return t}o(Zct,"_d");var elt=Zct;function tlt(e,t){return function(n){return n==null?!1:n[e]===t&&(t!==void 0||e in Object(n))}}o(tlt,"Ad");var nlt=tlt,rlt=Gct,alt=elt,olt=nlt;function ilt(e){var t=alt(e);return t.length==1&&t[0][2]?olt(t[0][0],t[0][1]):function(n){return n===e||rlt(n,e,t)}}o(ilt,"Sd");var slt=ilt,clt=Dst,llt=slt,ult=1;function dlt(e){return llt(clt(e,ult))}o(dlt,"xd");var flt=dlt;const plt=xY(flt),SM=class SM{constructor({items:t=[],identifierName:n="id",getNewId:r}={}){if(Aa(this,"sequence",0),Aa(this,"items",[]),Aa(this,"database",null),Aa(this,"name",null),Aa(this,"identifierName","id"),Aa(this,"getNewId"),!Array.isArray(t))throw new Error("Can't initialize a Collection with anything else than an array of items");this.identifierName=n,this.getNewId=r||this.getNewIdFromSequence,t.map(this.addOne.bind(this))}setDatabase(t){this.database=t}setName(t){this.name=t}_oneToManyEmbedder(t){if(this.name==null)throw new Error("Can't embed references without a collection name");const n=`${this.name.slice(0,-1)}_id`;return r=>{if(this.database==null)throw new Error("Can't embed references without a database");const a=this.database.collections[t];if(!a)throw new Error(`Can't embed a non-existing collection ${t}`);return Array.isArray(r[t])?r[t]=a.getAll({filter:o(i=>r[t].indexOf(i[a.identifierName])!==-1,"filter")}):r[t]=a.getAll({filter:o(i=>i[n]===r[this.identifierName],"filter")}),r}}_manyToOneEmbedder(t){const n=`${t}s`,r=`${t}_id`;return a=>{if(this.database==null)throw new Error("Can't embed references without a database");const i=this.database.collections[n];if(!i)throw new Error(`Can't embed a non-existing collection ${t}`);try{a[t]=i.getOne(a[r])}catch{}return a}}_itemEmbedder(t){const n=(Array.isArray(t)?t:[t]).map(r=>r.endsWith("s")?this._oneToManyEmbedder(r):this._manyToOneEmbedder(r));return r=>n.reduce((a,i)=>i(a),r)}getCount(t){return this.getAll(t).length}getAll(t){let n=this.items.slice(0);return t&&(t.filter&&(n=KY(n,t.filter)),t.sort&&(n=vlt(n,t.sort)),t.range&&(n=ylt(n,t.range)),n=n.map(r=>Object.assign({},r)),t.embed&&this.database&&(n=n.map(this._itemEmbedder(t.embed)))),n}getIndex(t){return this.items.findIndex(n=>n[this.identifierName]==t)}getOne(t,n){const r=this.getIndex(t);if(r===-1)throw new Error(`No item with identifier ${t}`);let a=this.items[r];return a=Object.assign({},a),n!=null&&n.embed&&this.database&&(a=this._itemEmbedder(n.embed)(a)),a}getNewIdFromSequence(){return this.sequence++}addOne(t){const n=t[this.identifierName];if(n!=null){if(this.getIndex(n)!==-1)throw new Error(`An item with the identifier ${n} already exists`);typeof n=="number"&&(this.sequence=Math.max(this.sequence,n)+1)}else t[this.identifierName]=this.getNewId();return this.items.push(t),Object.assign({},t)}updateOne(t,n){const r=this.getIndex(t);if(r===-1)throw new Error(`No item with identifier ${t}`);for(const a in n)this.items[r][a]=n[a];return Object.assign({},this.items[r])}removeOne(t){const n=this.getIndex(t);if(n===-1)throw new Error(`No item with identifier ${t}`);const r=this.items[n];return this.items.splice(n,1),typeof t=="number"&&t==this.sequence-1&&this.sequence--,r}};o(SM,"ot");let N0=SM;const mlt=o((e,t)=>e.reduce((n,r)=>n&&t(r),!0),"Rd"),hlt=o((e,t)=>e.reduce((n,r)=>n||t(r),!1),"Ld"),glt=o((e,t)=>e.reduce((n,r,a)=>{if(n!=null)return n;const i=e.slice(0,a+1).join("."),s=e.slice(a+1).join("."),c=ar(t,i);return Array.isArray(c)&&a<e.length-1?[i,s]:void 0},void 0),"Dd"),CD=o((e,t)=>{if(e.indexOf("_q")!==-1){const n=e.replace(/(_q)$/,""),r=new RegExp(t.toString(),"i");return a=>{var i;return((i=ar(a,n))==null?void 0:i.toString().match(r))!==null}}if(e.indexOf("_lte")!==-1){const n=e.replace(/(_lte)$/,"");return r=>ar(r,n)<=t}if(e.indexOf("_gte")!==-1){const n=e.replace(/(_gte)$/,"");return r=>ar(r,n)>=t}if(e.indexOf("_lt")!==-1){const n=e.replace(/(_lt)$/,"");return r=>ar(r,n)<t}if(e.indexOf("_gt")!==-1){const n=e.replace(/(_gt)$/,"");return r=>ar(r,n)>t}if(e.indexOf("_neq_any")!==-1){const n=e.replace(/(_neq_any)$/,""),r=Array.isArray(t)?t:[t];return a=>r.every(i=>ar(a,n)!=i)}if(e.indexOf("_neq")!==-1){const n=e.replace(/(_neq)$/,"");return r=>ar(r,n)!=t}if(e.indexOf("_eq_any")!==-1){const n=e.replace(/(_eq_any)$/,""),r=Array.isArray(t)?t:[t];return a=>r.some(i=>ar(a,n)==i)}if(e.indexOf("_eq")!==-1){const n=e.replace(/(_eq)$/,"");return r=>ar(r,n)==t}if(e.indexOf("_inc_any")!==-1){const n=e.replace(/(_inc_any)$/,""),r=Array.isArray(t)?t:[t];return a=>r.some(i=>{const s=ar(a,n);return Array.isArray(s)||typeof s=="string"?s.includes(i):!1})}if(e.indexOf("_inc")!==-1){const n=e.replace(/(_inc)$/,""),r=Array.isArray(t)?t:[t];return a=>r.every(i=>{const s=ar(a,n);return Array.isArray(s)||typeof s=="string"?s.includes(i):!1})}if(e.indexOf("_ninc_any")!==-1){const n=e.replace(/(_ninc_any)$/,""),r=Array.isArray(t)?t:[t];return a=>r.every(i=>{const s=ar(a,n);return Array.isArray(s)||typeof s=="string"?!s.includes(i):!1})}return Array.isArray(t)?n=>Array.isArray(ar(n,e))?mlt(t,r=>{const a=ar(n,e);return Array.isArray(a)?hlt(a,i=>i==r):!1}):t.filter(r=>r==ar(n,e)).length>0:typeof t=="object"?n=>plt(t)(ar(n,e)):n=>{const r=ar(n,e);return Array.isArray(r)&&typeof t=="string"?r.indexOf(t)!==-1:typeof r=="boolean"&&typeof t=="string"?r===(t==="true"):r==t}},"ct");function KY(e,t){if(typeof t=="function")return e.filter(t);if(t instanceof Object){const n=Object.keys(t).map(r=>{if(r==="q"&&typeof t.q=="string"){const s=new RegExp(t.q,"i"),c=o(l=>{for(const u in l){const d=l[u];if(typeof d=="object"&&c(d)||d&&typeof d=="string"&&d.match&&d.match(s)!==null)return!0}return!1},"o");return c}const a=r.split("."),i=t[r];return a.length>1?s=>{const c=glt(a,s);if(c){const[l,u]=c,d=ar(s,l);return Array.isArray(d)?KY(d,{[u]:i}).length>0:!1}return CD(r,i)(s)}:CD(r,i)});return e.filter(r=>n.reduce((a,i)=>a&&i(r),!0))}throw new Error("Unsupported filter type")}o(KY,"Dt");function vlt(e,t){if(typeof t=="function")return e.sort(t);if(typeof t=="string")return e.sort((n,r)=>n[t]>r[t]?1:n[t]<r[t]?-1:0);if(Array.isArray(t)){const n=t[0],r=t[1].toLowerCase()==="asc"?1:-1;return e.sort((a,i)=>a[n]>i[n]?r:a[n]<i[n]?-1*r:0)}throw new Error("Unsupported sort type")}o(vlt,"Fd");function ylt(e,t){if(Array.isArray(t))return e.slice(t[0],t[1]!==void 0?t[1]+1:void 0);throw new Error("Unsupported range type")}o(ylt,"Bd");const jM=class jM{constructor(t){if(Aa(this,"obj",null),Aa(this,"database",null),Aa(this,"name",null),!(t instanceof Object))throw new Error("Can't initialize a Single with anything except an object");this.obj=t}setDatabase(t){this.database=t}setName(t){this.name=t}_oneToManyEmbedder(t){return n=>{if(this.database==null)throw new Error("Can't embed references without a database");const r=this.database.collections[t];if(!r)throw new Error(`Can't embed a non-existing collection ${t}`);return n[t]=r.getAll({filter:o(a=>n[t].indexOf(a[r.identifierName])!==-1,"filter")}),n}}_manyToOneEmbedder(t){const n=`${t}s`,r=`${t}_id`;return a=>{if(this.database==null)throw new Error("Can't embed references without a database");const i=this.database.collections[n];if(!i)throw new Error(`Can't embed a non-existing collection ${t}`);try{a[t]=i.getOne(a[r])}catch{}return a}}_itemEmbedder(t){const n=(Array.isArray(t)?t:[t]).map(r=>r.endsWith("s")?this._oneToManyEmbedder(r):this._manyToOneEmbedder(r));return r=>n.reduce((a,i)=>i(a),r)}getOnly(t){let n=this.obj;return t!=null&&t.embed&&this.database&&(n=Object.assign({},n),n=this._itemEmbedder(t.embed)(n)),n}updateOnly(t){if(this.obj==null)throw new Error("Can't update a non-existing object");for(const n in t)this.obj[n]=t[n];return this.obj}};o(jM,"Ud");let $_=jM;const $M=class $M{constructor({data:t,identifierName:n="id",getNewId:r}={}){Aa(this,"identifierName","id"),Aa(this,"collections",{}),Aa(this,"singles",{}),Aa(this,"getNewId"),this.getNewId=r,this.identifierName=n,t&&this.init(t)}init(t){for(const n in t){const r=t[n];Array.isArray(r)?this.addCollection(n,new N0({items:r,identifierName:this.identifierName,getNewId:this.getNewId})):this.addSingle(n,new $_(r))}}addCollection(t,n){this.collections[t]=n,n.setDatabase(this),n.setName(t)}getCollection(t){return this.collections[t]}getCollectionNames(){return Object.keys(this.collections)}addSingle(t,n){this.singles[t]=n,n.setDatabase(this),n.setName(t)}getSingle(t){return this.singles[t]}getSingleNames(){return Object.keys(this.singles)}getCount(t,n){return this.collections[t].getCount(n)}getAll(t,n){return this.collections[t].getAll(n)}getOne(t,n,r){return this.collections[t].getOne(n,r)}addOne(t,n){return Object.prototype.hasOwnProperty.call(this.collections,t)||this.addCollection(t,new N0({items:[],identifierName:this.identifierName,getNewId:this.getNewId})),this.collections[t].addOne(n)}updateOne(t,n,r){return this.collections[t].updateOne(n,r)}removeOne(t,n){return this.collections[t].removeOne(n)}getOnly(t,n){return this.singles[t].getOnly()}updateOnly(t,n){return this.singles[t].updateOnly(n)}};o($M,"Gd");let __=$M;function blt(e,t,n,r){console.group?(console.groupCollapsed(e,t,JSON.stringify(n)),console.log(r),console.groupEnd()):(console.log("FakeRest request ",e,t,n),console.log("FakeRest response",r))}o(blt,"log");function Gi(e,t){return t?new Promise(n=>{setTimeout(()=>n(e),t)}):e}o(Gi,"delayed");const xlt=o((e,t=!1,n)=>{const r=new __({data:e});typeof window<"u"&&(window._database=r);function a(s,c,l){switch(s){case"getList":{const{page:u,perPage:d}=l.pagination,{field:p,order:m}=l.sort,v={sort:[p,m],range:[(u-1)*d,u*d-1],filter:l.filter};return Gi({data:r.getAll(c,v),total:r.getCount(c,{filter:l.filter})},n)}case"getOne":return Gi({data:r.getOne(c,l.id,{...l})},n);case"getMany":return Gi({data:l.ids.map(u=>r.getOne(c,u),{...l})},n);case"getManyReference":{const{page:u,perPage:d}=l.pagination,{field:p,order:m}=l.sort,v={sort:[p,m],range:[(u-1)*d,u*d-1],filter:{...l.filter,[l.target]:l.id}};return Gi({data:r.getAll(c,v),total:r.getCount(c,{filter:v.filter})},n)}case"update":return Gi({data:r.updateOne(c,l.id,{...l.data})},n);case"updateMany":return l.ids.forEach(u=>r.updateOne(c,u,{...l.data})),Gi({data:l.ids},n);case"create":return Gi({data:r.addOne(c,{...l.data})},n);case"delete":return Gi({data:r.removeOne(c,l.id)},n);case"deleteMany":return l.ids.forEach(u=>r.removeOne(c,u)),Gi({data:l.ids},n);default:return!1}}o(a,"getResponse");const i=o(async(s,c,l)=>{if(!r.getCollection(c)&&s!=="create"){const p=new k_(`Undefined collection "${c}"`);throw p.code=1,p}let d;try{d=await a(s,c,l)}catch(p){throw console.error(p),p}if(t){const{signal:p,...m}=l;blt(s,c,m,d)}return d},"handle");return{getList:o((s,c)=>i("getList",s,c),"getList"),getOne:o((s,c)=>i("getOne",s,c),"getOne"),getMany:o((s,c)=>i("getMany",s,c),"getMany"),getManyReference:o((s,c)=>i("getManyReference",s,c),"getManyReference"),update:o((s,c)=>i("update",s,c),"update"),updateMany:o((s,c)=>i("updateMany",s,c),"updateMany"),create:o((s,c)=>i("create",s,c),"create"),delete:o((s,c)=>i("delete",s,c),"delete"),deleteMany:o((s,c)=>i("deleteMany",s,c),"deleteMany")}},"fakeRestDataProvider"),_M=class _M extends Error{};o(_M,"UndefinedResourceError");let k_=_M;var JY={exports:{}},YY={exports:{}},bS={exports:{}},SD;function wlt(){return SD||(SD=1,function(e){function t(n){return this.fake=o(function r(a){var i="";if(typeof a!="string"||a.length===0)throw new Error("string parameter is required!");var s=a.search("{{"),c=a.search("}}");if(s===-1&&c===-1)return a;var l=a.substr(s+2,c-s-2),u=l.replace("}}","").replace("{{",""),d=/\(([^)]+)\)/,p=d.exec(u),m="";p&&(u=u.replace(d,""),m=p[1]);var v=u.split(".");if(typeof n[v[0]]>"u")throw new Error("Invalid module: "+v[0]);if(typeof n[v[0]][v[1]]>"u")throw new Error("Invalid method: "+v[0]+"."+v[1]);var h=n[v[0]][v[1]],y;try{y=JSON.parse(m)}catch{y=m}var C;return typeof y=="string"&&y.length===0?C=h.call(this):C=h.call(this,y),i=a.replace("{{"+l+"}}",C),r(i)},"fake"),this}o(t,"Fake"),e.exports=t}(bS)),bS.exports}o(wlt,"requireFake");var xS={exports:{}},wS,jD;function Clt(){if(jD)return wS;jD=1;var e={},t={},n=[],r=0,a=o(function(i,s){return typeof i[s]>"u"?-1:0},"defaultCompare");return e.errorMessage=function(i,s,c){throw console.error("error",s),console.log("found",Object.keys(t).length,`unique entries before throwing error. +retried:`,r,` +total time:`,i-c.startTime,"ms"),new Error(s+` for uniqueness check + +May not be able to generate any more unique values with current settings. +Try adjusting maxTime or maxRetries parameters for faker.unique()`)},e.exec=function(i,s,c){var l=new Date().getTime();c=c||{},c.maxTime=c.maxTime||3,c.maxRetries=c.maxRetries||50,c.exclude=c.exclude||n,c.compare=c.compare||a,typeof c.currentIterations!="number"&&(c.currentIterations=0),typeof c.startTime>"u"&&(c.startTime=new Date().getTime());var u=c.startTime;if(typeof c.exclude=="string"&&(c.exclude=[c.exclude]),c.currentIterations>0,l-u>=c.maxTime)return e.errorMessage(l,"Exceeded maxTime:"+c.maxTime,c);if(c.currentIterations>=c.maxRetries)return e.errorMessage(l,"Exceeded maxRetries:"+c.maxRetries,c);var d=i.apply(this,s);return c.compare(t,d)===-1&&c.exclude.indexOf(d)===-1?(t[d]=d,c.currentIterations=0,d):(c.currentIterations++,e.exec(i,s,c))},wS=e,wS}o(Clt,"requireUnique$1");var $D;function Slt(){return $D||($D=1,function(e){var t=Clt();function n(r){var a=10,i=10;this.unique=o(function(c,l,u){return u=u||{},u.startTime=new Date().getTime(),typeof u.maxTime!="number"&&(u.maxTime=a),typeof u.maxRetries!="number"&&(u.maxRetries=i),u.currentIterations=0,t.exec(c,l,u)},"unique")}o(n,"Unique"),e.exports=n}(xS)),xS.exports}o(Slt,"requireUnique");var CS={exports:{}},Su={},_D;function jlt(){if(_D)return Su;_D=1;function e(){var n,r,a,i,s;n=624,r=397,a=2567483615,i=2147483648,s=2147483647;var c=new Array(n),l=n+1;function u(h){return h<0?(h^i)+i:h}o(u,"unsigned32");function d(h,y){return h<y?u(4294967296-(y-h)&4294967295):h-y}o(d,"subtraction32");function p(h,y){return u(h+y&4294967295)}o(p,"addition32");function m(h,y){for(var C=0,w=0;w<32;++w)h>>>w&1&&(C=p(C,u(y<<w)));return C}o(m,"multiplication32"),this.init_genrand=function(h){for(c[0]=u(h&4294967295),l=1;l<n;l++)c[l]=p(m(1812433253,u(c[l-1]^c[l-1]>>>30)),l),c[l]=u(c[l]&4294967295)},this.init_by_array=function(h,y){var C,w,x;for(this.init_genrand(19650218),C=1,w=0,x=n>y?n:y;x;x--)c[C]=p(p(u(c[C]^m(u(c[C-1]^c[C-1]>>>30),1664525)),h[w]),w),c[C]=u(c[C]&4294967295),C++,w++,C>=n&&(c[0]=c[n-1],C=1),w>=y&&(w=0);for(x=n-1;x;x--)c[C]=d(u((dbg=c[C])^m(u(c[C-1]^c[C-1]>>>30),1566083941)),C),c[C]=u(c[C]&4294967295),C++,C>=n&&(c[0]=c[n-1],C=1);c[0]=2147483648};var v=[0,a];this.genrand_int32=function(){var h;if(l>=n){var y;for(l==n+1&&this.init_genrand(5489),y=0;y<n-r;y++)h=u(c[y]&i|c[y+1]&s),c[y]=u(c[y+r]^h>>>1^v[h&1]);for(;y<n-1;y++)h=u(c[y]&i|c[y+1]&s),c[y]=u(c[y+(r-n)]^h>>>1^v[h&1]);h=u(c[n-1]&i|c[0]&s),c[n-1]=u(c[r-1]^h>>>1^v[h&1]),l=0}return h=c[l++],h=u(h^h>>>11),h=u(h^h<<7&2636928640),h=u(h^h<<15&4022730752),h=u(h^h>>>18),h},this.genrand_int31=function(){return this.genrand_int32()>>>1},this.genrand_real1=function(){return this.genrand_int32()*(1/4294967295)},this.genrand_real2=function(){return this.genrand_int32()*(1/4294967296)},this.genrand_real3=function(){return(this.genrand_int32()+.5)*(1/4294967296)},this.genrand_res53=function(){var h=this.genrand_int32()>>>5,y=this.genrand_int32()>>>6;return(h*67108864+y)*(1/9007199254740992)}}o(e,"MersenneTwister19937"),Su.MersenneTwister19937=e;var t=new e;return t.init_genrand(new Date().getTime()%1e9),Su.rand=function(n,r){return n===void 0&&(r=0,n=32768),Math.floor(t.genrand_real2()*(n-r)+r)},Su.seed=function(n){if(typeof n!="number")throw new Error("seed(S) must take numeric argument; is "+typeof n);t.init_genrand(n)},Su.seed_array=function(n){if(typeof n!="object")throw new Error("seed_array(A) must take array of numbers; is "+typeof n);t.init_by_array(n,n.length)},Su}o(jlt,"requireMersenne");var kD;function ED(){return kD||(kD=1,function(e){var t=jlt();function n(r,a){return Array.isArray(a)&&a.length?t.seed_array(a):isNaN(a)||t.seed(a),this.number=function(i){typeof i=="number"&&(i={max:i}),i=i||{},typeof i.min>"u"&&(i.min=0),typeof i.max>"u"&&(i.max=99999),typeof i.precision>"u"&&(i.precision=1);var s=i.max;s>=0&&(s+=i.precision);var c=Math.floor(t.rand(s/i.precision,i.min/i.precision));return c=c/(1/i.precision),c},this.float=function(i){typeof i=="number"&&(i={precision:i}),i=i||{};var s={};for(var c in i)s[c]=i[c];return typeof s.precision>"u"&&(s.precision=.01),r.random.number(s)},this.arrayElement=function(i){i=i||["a","b","c"];var s=r.random.number({max:i.length-1});return i[s]},this.arrayElements=function(i,s){i=i||["a","b","c"],typeof s!="number"?s=r.random.number({min:1,max:i.length}):s>i.length?s=i.length:s<0&&(s=0);for(var c=i.slice(),l=c.length-s,u=0;u<l;u++){var d=r.random.number({max:c.length-1});c.splice(d,1)}return c},this.objectElement=function(i,s){i=i||{foo:"bar",too:"car"};var c=Object.keys(i),l=r.random.arrayElement(c);return s==="key"?l:i[l]},this.uuid=function(){var i="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx",s=o(function(c){var l=r.random.number({min:0,max:15}),u=c=="x"?l:l&3|8;return u.toString(16)},"replacePlaceholders");return i.replace(/[xy]/g,s)},this.boolean=function(){return!!r.random.number(1)},this.word=o(function(s){var c=["commerce.department","commerce.productName","commerce.productAdjective","commerce.productMaterial","commerce.product","commerce.color","company.catchPhraseAdjective","company.catchPhraseDescriptor","company.catchPhraseNoun","company.bsAdjective","company.bsBuzz","company.bsNoun","address.streetSuffix","address.county","address.country","address.state","finance.accountName","finance.transactionType","finance.currencyName","hacker.noun","hacker.verb","hacker.adjective","hacker.ingverb","hacker.abbreviation","name.jobDescriptor","name.jobArea","name.jobType"],l=r.random.arrayElement(c),u=r.fake("{{"+l+"}}");return r.random.arrayElement(u.split(" "))},"randomWord"),this.words=o(function(s){var c=[];typeof s>"u"&&(s=r.random.number({min:1,max:3}));for(var l=0;l<s;l++)c.push(r.random.word());return c.join(" ")},"randomWords"),this.image=o(function(){return r.image.image()},"randomImage"),this.locale=o(function(){return r.random.arrayElement(Object.keys(r.locales))},"randomLocale"),this.alpha=o(function(s){typeof s>"u"?s={count:1}:typeof s=="number"?s={count:s}:typeof s.count>"u"&&(s.count=1),typeof s.upcase>"u"&&(s.upcase=!1);for(var c="",l=0;l<s.count;l++)c+=r.random.arrayElement(["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"]);return s.upcase?c.toUpperCase():c},"alpha"),this.alphaNumeric=o(function(s){typeof s>"u"&&(s=1);for(var c="",l=0;l<s;l++)c+=r.random.arrayElement(["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"]);return c},"alphaNumeric"),this.hexaDecimal=o(function(s){typeof s>"u"&&(s=1);for(var c="",l=0;l<s;l++)c+=r.random.arrayElement(["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f","A","B","C","D","E","F"]);return"0x"+c},"hexaDecimal"),this}o(n,"Random"),e.exports=n}(CS)),CS.exports}o(ED,"requireRandom");var SS={exports:{}},RD;function $lt(){return RD||(RD=1,function(e){var t=o(function(n){var r=this;return r.randomize=function(a){return a=a||["a","b","c"],n.random.arrayElement(a)},r.slugify=function(a){return a=a||"",a.replace(/ /g,"-").replace(/[^\一-龠\ぁ-ゔ\ァ-ヴー\w\.\-]+/g,"")},r.replaceSymbolWithNumber=function(a,i){a=a||"",i===void 0&&(i="#");for(var s="",c=0;c<a.length;c++)a.charAt(c)==i?s+=n.random.number(9):a.charAt(c)=="!"?s+=n.random.number({min:2,max:9}):s+=a.charAt(c);return s},r.replaceSymbols=function(a){a=a||"";for(var i=["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"],s="",c=0;c<a.length;c++)a.charAt(c)=="#"?s+=n.random.number(9):a.charAt(c)=="?"?s+=n.random.arrayElement(i):a.charAt(c)=="*"?s+=n.random.boolean()?n.random.arrayElement(i):n.random.number(9):s+=a.charAt(c);return s},r.replaceCreditCardSymbols=function(a,i){a=a||"6453-####-####-####-###L",i=i||"#";var s=o(function(u){u.reverse(),u=u.map(function(p,m){return m%2===0&&(p*=2,p>9&&(p-=9)),p});var d=u.reduce(function(p,m){return p+m});return d%10},"getCheckBit");a=n.helpers.regexpStyleStringParse(a),a=n.helpers.replaceSymbolWithNumber(a,i);var c=a.replace(/\D/g,"").split("").map(function(u){return parseInt(u)}),l=s(c);return a.replace("L",l)},r.repeatString=function(a,i){typeof i>"u"&&(i=0);for(var s="",c=0;c<i;c++)s+=a.toString();return s},r.regexpStyleStringParse=function(a){a=a||"";for(var i=/(.)\{(\d+)\,(\d+)\}/,s=/(.)\{(\d+)\}/,c=/\[(\d+)\-(\d+)\]/,l,u,d,p,m=a.match(i);m!==null;)l=parseInt(m[2]),u=parseInt(m[3]),l>u&&(d=u,u=l,l=d),p=n.random.number({min:l,max:u}),a=a.slice(0,m.index)+n.helpers.repeatString(m[1],p)+a.slice(m.index+m[0].length),m=a.match(i);for(m=a.match(s);m!==null;)p=parseInt(m[2]),a=a.slice(0,m.index)+n.helpers.repeatString(m[1],p)+a.slice(m.index+m[0].length),m=a.match(s);for(m=a.match(c);m!==null;)l=parseInt(m[1]),u=parseInt(m[2]),l>u&&(d=u,u=l,l=d),a=a.slice(0,m.index)+n.random.number({min:l,max:u}).toString()+a.slice(m.index+m[0].length),m=a.match(c);return a},r.shuffle=function(a){if(typeof a>"u"||a.length===0)return a||[];a=a||["a","b","c"];for(var i,s,c=a.length-1;c>0;--c)s=n.random.number(c),i=a[c],a[c]=a[s],a[s]=i;return a},r.mustache=function(a,i){if(typeof a>"u")return"";for(var s in i){var c=new RegExp("{{"+s+"}}","g");a=a.replace(c,i[s])}return a},r.createCard=function(){return{name:n.name.findName(),username:n.internet.userName(),email:n.internet.email(),address:{streetA:n.address.streetName(),streetB:n.address.streetAddress(),streetC:n.address.streetAddress(!0),streetD:n.address.secondaryAddress(),city:n.address.city(),state:n.address.state(),country:n.address.country(),zipcode:n.address.zipCode(),geo:{lat:n.address.latitude(),lng:n.address.longitude()}},phone:n.phone.phoneNumber(),website:n.internet.domainName(),company:{name:n.company.companyName(),catchPhrase:n.company.catchPhrase(),bs:n.company.bs()},posts:[{words:n.lorem.words(),sentence:n.lorem.sentence(),sentences:n.lorem.sentences(),paragraph:n.lorem.paragraph()},{words:n.lorem.words(),sentence:n.lorem.sentence(),sentences:n.lorem.sentences(),paragraph:n.lorem.paragraph()},{words:n.lorem.words(),sentence:n.lorem.sentence(),sentences:n.lorem.sentences(),paragraph:n.lorem.paragraph()}],accountHistory:[n.helpers.createTransaction(),n.helpers.createTransaction(),n.helpers.createTransaction()]}},r.contextualCard=function(){var a=n.name.firstName(),i=n.internet.userName(a);return{name:a,username:i,avatar:n.internet.avatar(),email:n.internet.email(i),dob:n.date.past(50,new Date("Sat Sep 20 1992 21:35:02 GMT+0200 (CEST)")),phone:n.phone.phoneNumber(),address:{street:n.address.streetName(!0),suite:n.address.secondaryAddress(),city:n.address.city(),zipcode:n.address.zipCode(),geo:{lat:n.address.latitude(),lng:n.address.longitude()}},website:n.internet.domainName(),company:{name:n.company.companyName(),catchPhrase:n.company.catchPhrase(),bs:n.company.bs()}}},r.userCard=function(){return{name:n.name.findName(),username:n.internet.userName(),email:n.internet.email(),address:{street:n.address.streetName(!0),suite:n.address.secondaryAddress(),city:n.address.city(),zipcode:n.address.zipCode(),geo:{lat:n.address.latitude(),lng:n.address.longitude()}},phone:n.phone.phoneNumber(),website:n.internet.domainName(),company:{name:n.company.companyName(),catchPhrase:n.company.catchPhrase(),bs:n.company.bs()}}},r.createTransaction=function(){return{amount:n.finance.amount(),date:new Date(2012,1,2),business:n.company.companyName(),name:[n.finance.accountName(),n.finance.mask()].join(" "),type:r.randomize(n.definitions.finance.transaction_type),account:n.finance.account()}},r},"Helpers");e.exports=t}(SS)),SS.exports}o($lt,"requireHelpers");var jS={exports:{}},AD;function _lt(){return AD||(AD=1,function(e){function t(n){this.firstName=function(r){if(typeof n.definitions.name.male_first_name<"u"&&typeof n.definitions.name.female_first_name<"u"){if(typeof r=="string"&&(r.toLowerCase()==="male"?r=0:r.toLowerCase()==="female"&&(r=1)),typeof r!="number")if(typeof n.definitions.name.first_name>"u")r=n.random.number(1);else return n.random.arrayElement(n.definitions.name.first_name);return r===0?n.random.arrayElement(n.definitions.name.male_first_name):n.random.arrayElement(n.definitions.name.female_first_name)}return n.random.arrayElement(n.definitions.name.first_name)},this.lastName=function(r){return typeof n.definitions.name.male_last_name<"u"&&typeof n.definitions.name.female_last_name<"u"?(typeof r!="number"&&(r=n.random.number(1)),r===0?n.random.arrayElement(n.locales[n.locale].name.male_last_name):n.random.arrayElement(n.locales[n.locale].name.female_last_name)):n.random.arrayElement(n.definitions.name.last_name)},this.middleName=function(r){return typeof n.definitions.name.male_middle_name<"u"&&typeof n.definitions.name.female_middle_name<"u"?(typeof r!="number"&&(r=n.random.number(1)),r===0?n.random.arrayElement(n.locales[n.locale].name.male_middle_name):n.random.arrayElement(n.locales[n.locale].name.female_middle_name)):n.random.arrayElement(n.definitions.name.middle_name)},this.findName=function(r,a,i){var s=n.random.number(8),c,l;switch(typeof i!="number"&&(i=n.random.number(1)),r=r||n.name.firstName(i),a=a||n.name.lastName(i),s){case 0:if(c=n.name.prefix(i),c)return c+" "+r+" "+a;case 1:if(l=n.name.suffix(i),l)return r+" "+a+" "+l}return r+" "+a},this.jobTitle=function(){return n.name.jobDescriptor()+" "+n.name.jobArea()+" "+n.name.jobType()},this.gender=function(){return n.random.arrayElement(n.definitions.name.gender)},this.prefix=function(r){return typeof n.definitions.name.male_prefix<"u"&&typeof n.definitions.name.female_prefix<"u"?(typeof r!="number"&&(r=n.random.number(1)),r===0?n.random.arrayElement(n.locales[n.locale].name.male_prefix):n.random.arrayElement(n.locales[n.locale].name.female_prefix)):n.random.arrayElement(n.definitions.name.prefix)},this.suffix=function(){return n.random.arrayElement(n.definitions.name.suffix)},this.title=function(){var r=n.random.arrayElement(n.definitions.name.title.descriptor),a=n.random.arrayElement(n.definitions.name.title.level),i=n.random.arrayElement(n.definitions.name.title.job);return r+" "+a+" "+i},this.jobDescriptor=function(){return n.random.arrayElement(n.definitions.name.title.descriptor)},this.jobArea=function(){return n.random.arrayElement(n.definitions.name.title.level)},this.jobType=function(){return n.random.arrayElement(n.definitions.name.title.job)}}o(t,"Name"),e.exports=t}(jS)),jS.exports}o(_lt,"requireName");var $S,PD;function klt(){if(PD)return $S;PD=1;function e(t){var n=t.fake,r=t.helpers;return this.zipCode=function(a){if(typeof a>"u"){var i=t.definitions.address.postcode;typeof i=="string"?a=i:a=t.random.arrayElement(i)}return r.replaceSymbols(a)},this.zipCodeByState=function(a){var i=t.definitions.address.postcode_by_state[a];return i?t.random.number(i):t.address.zipCode()},this.city=function(a){var i=["{{address.cityPrefix}} {{name.firstName}}{{address.citySuffix}}","{{address.cityPrefix}} {{name.firstName}}","{{name.firstName}}{{address.citySuffix}}","{{name.lastName}}{{address.citySuffix}}"];return typeof a!="number"&&(a=t.random.number(i.length-1)),n(i[a])},this.cityPrefix=function(){return t.random.arrayElement(t.definitions.address.city_prefix)},this.citySuffix=function(){return t.random.arrayElement(t.definitions.address.city_suffix)},this.streetName=function(){var a,i=t.address.streetSuffix();switch(i!==""&&(i=" "+i),t.random.number(1)){case 0:a=t.name.lastName()+i;break;case 1:a=t.name.firstName()+i;break}return a},this.streetAddress=function(a){a===void 0&&(a=!1);var i="";switch(t.random.number(2)){case 0:i=r.replaceSymbolWithNumber("#####")+" "+t.address.streetName();break;case 1:i=r.replaceSymbolWithNumber("####")+" "+t.address.streetName();break;case 2:i=r.replaceSymbolWithNumber("###")+" "+t.address.streetName();break}return a?i+" "+t.address.secondaryAddress():i},this.streetSuffix=function(){return t.random.arrayElement(t.definitions.address.street_suffix)},this.streetPrefix=function(){return t.random.arrayElement(t.definitions.address.street_prefix)},this.secondaryAddress=function(){return r.replaceSymbolWithNumber(t.random.arrayElement(["Apt. ###","Suite ###"]))},this.county=function(){return t.random.arrayElement(t.definitions.address.county)},this.country=function(){return t.random.arrayElement(t.definitions.address.country)},this.countryCode=function(a){return typeof a>"u"||a==="alpha-2"?t.random.arrayElement(t.definitions.address.country_code):a==="alpha-3"?t.random.arrayElement(t.definitions.address.country_code_alpha_3):t.random.arrayElement(t.definitions.address.country_code)},this.state=function(a){return t.random.arrayElement(t.definitions.address.state)},this.stateAbbr=function(){return t.random.arrayElement(t.definitions.address.state_abbr)},this.latitude=function(a,i,s){return a=a||90,i=i||-90,s=s||4,t.random.number({max:a,min:i,precision:parseFloat(0 .toPrecision(s)+"1")}).toFixed(s)},this.longitude=function(a,i,s){return a=a||180,i=i||-180,s=s||4,t.random.number({max:a,min:i,precision:parseFloat(0 .toPrecision(s)+"1")}).toFixed(s)},this.direction=function(a){return typeof a>"u"||a===!1?t.random.arrayElement(t.definitions.address.direction):t.random.arrayElement(t.definitions.address.direction_abbr)},this.direction.schema={description:"Generates a direction. Use optional useAbbr bool to return abbreviation",sampleResults:["Northwest","South","SW","E"]},this.cardinalDirection=function(a){return typeof a>"u"||a===!1?t.random.arrayElement(t.definitions.address.direction.slice(0,4)):t.random.arrayElement(t.definitions.address.direction_abbr.slice(0,4))},this.cardinalDirection.schema={description:"Generates a cardinal direction. Use optional useAbbr boolean to return abbreviation",sampleResults:["North","South","E","W"]},this.ordinalDirection=function(a){return typeof a>"u"||a===!1?t.random.arrayElement(t.definitions.address.direction.slice(4,8)):t.random.arrayElement(t.definitions.address.direction_abbr.slice(4,8))},this.ordinalDirection.schema={description:"Generates an ordinal direction. Use optional useAbbr boolean to return abbreviation",sampleResults:["Northwest","Southeast","SW","NE"]},this.nearbyGPSCoordinate=function(a,i,s){function c(m){return m*(Math.PI/180)}o(c,"degreesToRadians");function l(m){return m*(180/Math.PI)}o(l,"radiansToDegrees");function u(m){return m*.621371}o(u,"kilometersToMiles");function d(m,v,h,y){var C=6378.137,w=y?h:u(h),x=c(m[0]),b=c(m[1]),S=Math.asin(Math.sin(x)*Math.cos(w/C)+Math.cos(x)*Math.sin(w/C)*Math.cos(v)),$=b+Math.atan2(Math.sin(v)*Math.sin(w/C)*Math.cos(x),Math.cos(w/C)-Math.sin(x)*Math.sin(S));return $>c(180)?$=$-c(360):$<c(-180)&&($=$+c(360)),[l(S),l($)]}if(o(d,"coordinateWithOffset"),a===void 0)return[t.address.latitude(),t.address.longitude()];i=i||10,s=s||!1;var p=d(a,c(Math.random()*360),i,s);return[p[0].toFixed(4),p[1].toFixed(4)]},this.timeZone=function(){return t.random.arrayElement(t.definitions.address.time_zone)},this}return o(e,"Address"),$S=e,$S}o(klt,"requireAddress");var _S={exports:{}},MD;function Elt(){return MD||(MD=1,function(e){var t=o(function(n){var r=n.fake;this.suffixes=function(){return n.definitions.company.suffix.slice(0)},this.companyName=function(a){var i=["{{name.lastName}} {{company.companySuffix}}","{{name.lastName}} - {{name.lastName}}","{{name.lastName}}, {{name.lastName}} and {{name.lastName}}"];return typeof a!="number"&&(a=n.random.number(i.length-1)),r(i[a])},this.companySuffix=function(){return n.random.arrayElement(n.company.suffixes())},this.catchPhrase=function(){return r("{{company.catchPhraseAdjective}} {{company.catchPhraseDescriptor}} {{company.catchPhraseNoun}}")},this.bs=function(){return r("{{company.bsBuzz}} {{company.bsAdjective}} {{company.bsNoun}}")},this.catchPhraseAdjective=function(){return n.random.arrayElement(n.definitions.company.adjective)},this.catchPhraseDescriptor=function(){return n.random.arrayElement(n.definitions.company.descriptor)},this.catchPhraseNoun=function(){return n.random.arrayElement(n.definitions.company.noun)},this.bsAdjective=function(){return n.random.arrayElement(n.definitions.company.bs_adjective)},this.bsBuzz=function(){return n.random.arrayElement(n.definitions.company.bs_verb)},this.bsNoun=function(){return n.random.arrayElement(n.definitions.company.bs_noun)}},"Company");e.exports=t}(_S)),_S.exports}o(Elt,"requireCompany");var kS={exports:{}},ES={exports:{}},TD;function Rlt(){return TD||(TD=1,function(e){e.exports={alpha:["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"],pattern10:["01","02","03","04","05","06","07","08","09"],pattern100:["001","002","003","004","005","006","007","008","009"],toDigitString:o(function(t){return t.replace(/[A-Z]/gi,function(n){return n.toUpperCase().charCodeAt(0)-55})},"toDigitString"),mod97:o(function(t){for(var n=0,r=0;r<t.length;r++)n=(n*10+(t[r]|0))%97;return n},"mod97"),formats:[{country:"AL",total:28,bban:[{type:"n",count:8},{type:"c",count:16}],format:"ALkk bbbs sssx cccc cccc cccc cccc"},{country:"AD",total:24,bban:[{type:"n",count:8},{type:"c",count:12}],format:"ADkk bbbb ssss cccc cccc cccc"},{country:"AT",total:20,bban:[{type:"n",count:5},{type:"n",count:11}],format:"ATkk bbbb bccc cccc cccc"},{country:"AZ",total:28,bban:[{type:"c",count:4},{type:"n",count:20}],format:"AZkk bbbb cccc cccc cccc cccc cccc"},{country:"BH",total:22,bban:[{type:"a",count:4},{type:"c",count:14}],format:"BHkk bbbb cccc cccc cccc cc"},{country:"BE",total:16,bban:[{type:"n",count:3},{type:"n",count:9}],format:"BEkk bbbc cccc ccxx"},{country:"BA",total:20,bban:[{type:"n",count:6},{type:"n",count:10}],format:"BAkk bbbs sscc cccc ccxx"},{country:"BR",total:29,bban:[{type:"n",count:13},{type:"n",count:10},{type:"a",count:1},{type:"c",count:1}],format:"BRkk bbbb bbbb ssss sccc cccc ccct n"},{country:"BG",total:22,bban:[{type:"a",count:4},{type:"n",count:6},{type:"c",count:8}],format:"BGkk bbbb ssss ddcc cccc cc"},{country:"CR",total:21,bban:[{type:"n",count:3},{type:"n",count:14}],format:"CRkk bbbc cccc cccc cccc c"},{country:"HR",total:21,bban:[{type:"n",count:7},{type:"n",count:10}],format:"HRkk bbbb bbbc cccc cccc c"},{country:"CY",total:28,bban:[{type:"n",count:8},{type:"c",count:16}],format:"CYkk bbbs ssss cccc cccc cccc cccc"},{country:"CZ",total:24,bban:[{type:"n",count:10},{type:"n",count:10}],format:"CZkk bbbb ssss sscc cccc cccc"},{country:"DK",total:18,bban:[{type:"n",count:4},{type:"n",count:10}],format:"DKkk bbbb cccc cccc cc"},{country:"DO",total:28,bban:[{type:"a",count:4},{type:"n",count:20}],format:"DOkk bbbb cccc cccc cccc cccc cccc"},{country:"TL",total:23,bban:[{type:"n",count:3},{type:"n",count:16}],format:"TLkk bbbc cccc cccc cccc cxx"},{country:"EE",total:20,bban:[{type:"n",count:4},{type:"n",count:12}],format:"EEkk bbss cccc cccc cccx"},{country:"FO",total:18,bban:[{type:"n",count:4},{type:"n",count:10}],format:"FOkk bbbb cccc cccc cx"},{country:"FI",total:18,bban:[{type:"n",count:6},{type:"n",count:8}],format:"FIkk bbbb bbcc cccc cx"},{country:"FR",total:27,bban:[{type:"n",count:10},{type:"c",count:11},{type:"n",count:2}],format:"FRkk bbbb bggg ggcc cccc cccc cxx"},{country:"GE",total:22,bban:[{type:"c",count:2},{type:"n",count:16}],format:"GEkk bbcc cccc cccc cccc cc"},{country:"DE",total:22,bban:[{type:"n",count:8},{type:"n",count:10}],format:"DEkk bbbb bbbb cccc cccc cc"},{country:"GI",total:23,bban:[{type:"a",count:4},{type:"c",count:15}],format:"GIkk bbbb cccc cccc cccc ccc"},{country:"GR",total:27,bban:[{type:"n",count:7},{type:"c",count:16}],format:"GRkk bbbs sssc cccc cccc cccc ccc"},{country:"GL",total:18,bban:[{type:"n",count:4},{type:"n",count:10}],format:"GLkk bbbb cccc cccc cc"},{country:"GT",total:28,bban:[{type:"c",count:4},{type:"c",count:4},{type:"c",count:16}],format:"GTkk bbbb mmtt cccc cccc cccc cccc"},{country:"HU",total:28,bban:[{type:"n",count:8},{type:"n",count:16}],format:"HUkk bbbs sssk cccc cccc cccc cccx"},{country:"IS",total:26,bban:[{type:"n",count:6},{type:"n",count:16}],format:"ISkk bbbb sscc cccc iiii iiii ii"},{country:"IE",total:22,bban:[{type:"c",count:4},{type:"n",count:6},{type:"n",count:8}],format:"IEkk aaaa bbbb bbcc cccc cc"},{country:"IL",total:23,bban:[{type:"n",count:6},{type:"n",count:13}],format:"ILkk bbbn nncc cccc cccc ccc"},{country:"IT",total:27,bban:[{type:"a",count:1},{type:"n",count:10},{type:"c",count:12}],format:"ITkk xaaa aabb bbbc cccc cccc ccc"},{country:"JO",total:30,bban:[{type:"a",count:4},{type:"n",count:4},{type:"n",count:18}],format:"JOkk bbbb nnnn cccc cccc cccc cccc cc"},{country:"KZ",total:20,bban:[{type:"n",count:3},{type:"c",count:13}],format:"KZkk bbbc cccc cccc cccc"},{country:"XK",total:20,bban:[{type:"n",count:4},{type:"n",count:12}],format:"XKkk bbbb cccc cccc cccc"},{country:"KW",total:30,bban:[{type:"a",count:4},{type:"c",count:22}],format:"KWkk bbbb cccc cccc cccc cccc cccc cc"},{country:"LV",total:21,bban:[{type:"a",count:4},{type:"c",count:13}],format:"LVkk bbbb cccc cccc cccc c"},{country:"LB",total:28,bban:[{type:"n",count:4},{type:"c",count:20}],format:"LBkk bbbb cccc cccc cccc cccc cccc"},{country:"LI",total:21,bban:[{type:"n",count:5},{type:"c",count:12}],format:"LIkk bbbb bccc cccc cccc c"},{country:"LT",total:20,bban:[{type:"n",count:5},{type:"n",count:11}],format:"LTkk bbbb bccc cccc cccc"},{country:"LU",total:20,bban:[{type:"n",count:3},{type:"c",count:13}],format:"LUkk bbbc cccc cccc cccc"},{country:"MK",total:19,bban:[{type:"n",count:3},{type:"c",count:10},{type:"n",count:2}],format:"MKkk bbbc cccc cccc cxx"},{country:"MT",total:31,bban:[{type:"a",count:4},{type:"n",count:5},{type:"c",count:18}],format:"MTkk bbbb ssss sccc cccc cccc cccc ccc"},{country:"MR",total:27,bban:[{type:"n",count:10},{type:"n",count:13}],format:"MRkk bbbb bsss sscc cccc cccc cxx"},{country:"MU",total:30,bban:[{type:"a",count:4},{type:"n",count:4},{type:"n",count:15},{type:"a",count:3}],format:"MUkk bbbb bbss cccc cccc cccc 000d dd"},{country:"MC",total:27,bban:[{type:"n",count:10},{type:"c",count:11},{type:"n",count:2}],format:"MCkk bbbb bsss sscc cccc cccc cxx"},{country:"MD",total:24,bban:[{type:"c",count:2},{type:"c",count:18}],format:"MDkk bbcc cccc cccc cccc cccc"},{country:"ME",total:22,bban:[{type:"n",count:3},{type:"n",count:15}],format:"MEkk bbbc cccc cccc cccc xx"},{country:"NL",total:18,bban:[{type:"a",count:4},{type:"n",count:10}],format:"NLkk bbbb cccc cccc cc"},{country:"NO",total:15,bban:[{type:"n",count:4},{type:"n",count:7}],format:"NOkk bbbb cccc ccx"},{country:"PK",total:24,bban:[{type:"c",count:4},{type:"n",count:16}],format:"PKkk bbbb cccc cccc cccc cccc"},{country:"PS",total:29,bban:[{type:"c",count:4},{type:"n",count:9},{type:"n",count:12}],format:"PSkk bbbb xxxx xxxx xccc cccc cccc c"},{country:"PL",total:28,bban:[{type:"n",count:8},{type:"n",count:16}],format:"PLkk bbbs sssx cccc cccc cccc cccc"},{country:"PT",total:25,bban:[{type:"n",count:8},{type:"n",count:13}],format:"PTkk bbbb ssss cccc cccc cccx x"},{country:"QA",total:29,bban:[{type:"a",count:4},{type:"c",count:21}],format:"QAkk bbbb cccc cccc cccc cccc cccc c"},{country:"RO",total:24,bban:[{type:"a",count:4},{type:"c",count:16}],format:"ROkk bbbb cccc cccc cccc cccc"},{country:"SM",total:27,bban:[{type:"a",count:1},{type:"n",count:10},{type:"c",count:12}],format:"SMkk xaaa aabb bbbc cccc cccc ccc"},{country:"SA",total:24,bban:[{type:"n",count:2},{type:"c",count:18}],format:"SAkk bbcc cccc cccc cccc cccc"},{country:"RS",total:22,bban:[{type:"n",count:3},{type:"n",count:15}],format:"RSkk bbbc cccc cccc cccc xx"},{country:"SK",total:24,bban:[{type:"n",count:10},{type:"n",count:10}],format:"SKkk bbbb ssss sscc cccc cccc"},{country:"SI",total:19,bban:[{type:"n",count:5},{type:"n",count:10}],format:"SIkk bbss sccc cccc cxx"},{country:"ES",total:24,bban:[{type:"n",count:10},{type:"n",count:10}],format:"ESkk bbbb gggg xxcc cccc cccc"},{country:"SE",total:24,bban:[{type:"n",count:3},{type:"n",count:17}],format:"SEkk bbbc cccc cccc cccc cccc"},{country:"CH",total:21,bban:[{type:"n",count:5},{type:"c",count:12}],format:"CHkk bbbb bccc cccc cccc c"},{country:"TN",total:24,bban:[{type:"n",count:5},{type:"n",count:15}],format:"TNkk bbss sccc cccc cccc cccc"},{country:"TR",total:26,bban:[{type:"n",count:5},{type:"c",count:1},{type:"c",count:16}],format:"TRkk bbbb bxcc cccc cccc cccc cc"},{country:"AE",total:23,bban:[{type:"n",count:3},{type:"n",count:16}],format:"AEkk bbbc cccc cccc cccc ccc"},{country:"GB",total:22,bban:[{type:"a",count:4},{type:"n",count:6},{type:"n",count:8}],format:"GBkk bbbb ssss sscc cccc cc"},{country:"VG",total:24,bban:[{type:"c",count:4},{type:"n",count:16}],format:"VGkk bbbb cccc cccc cccc cccc"}],iso3166:["AC","AD","AE","AF","AG","AI","AL","AM","AN","AO","AQ","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BU","BV","BW","BY","BZ","CA","CC","CD","CE","CF","CG","CH","CI","CK","CL","CM","CN","CO","CP","CR","CS","CS","CU","CV","CW","CX","CY","CZ","DD","DE","DG","DJ","DK","DM","DO","DZ","EA","EC","EE","EG","EH","ER","ES","ET","EU","FI","FJ","FK","FM","FO","FR","FX","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GU","GW","GY","HK","HM","HN","HR","HT","HU","IC","ID","IE","IL","IM","IN","IO","IQ","IR","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KP","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NT","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PR","PS","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SU","SV","SX","SY","SZ","TA","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","UM","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","YE","YT","YU","ZA","ZM","ZR","ZW"]}}(ES)),ES.exports}o(Rlt,"requireIban");var OD;function Alt(){return OD||(OD=1,function(e){var t=o(function(n){var r=Rlt(),a=n.helpers,i=this;i.account=function(s){s=s||8;for(var c="",l=0;l<s;l++)c=c+"#";return s=null,a.replaceSymbolWithNumber(c)},i.accountName=function(){return[a.randomize(n.definitions.finance.account_type),"Account"].join(" ")},i.routingNumber=function(){for(var s=a.replaceSymbolWithNumber("########"),c=0,l=0;l<s.length;l+=3)c+=Number(s[l])*3,c+=Number(s[l+1])*7,c+=Number(s[l+2])||0;return s+(Math.ceil(c/10)*10-c)},i.mask=function(s,c,l){s=s==0||!s||typeof s>"u"?4:s,c=c===null?!0:c,l=l===null?!0:l;for(var u="",d=0;d<s;d++)u=u+"#";return u=l?["...",u].join(""):u,u=c?["(",u,")"].join(""):u,u=a.replaceSymbolWithNumber(u),u},i.amount=function(s,c,l,u){s=s||0,c=c||1e3,l=l===void 0?2:l,u=u||"";var d=n.random.number({max:c,min:s,precision:Math.pow(10,-l)});return u+d.toFixed(l),u+d.toFixed(l)},i.transactionType=function(){return a.randomize(n.definitions.finance.transaction_type)},i.currencyCode=function(){return n.random.objectElement(n.definitions.finance.currency).code},i.currencyName=function(){return n.random.objectElement(n.definitions.finance.currency,"key")},i.currencySymbol=function(){for(var s;!s;)s=n.random.objectElement(n.definitions.finance.currency).symbol;return s},i.bitcoinAddress=function(){for(var s=n.random.number({min:25,max:34}),c=n.random.arrayElement(["1","3"]),l=0;l<s-1;l++)c+=n.random.arrayElement("123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ".split(""));return c},i.litecoinAddress=function(){for(var s=n.random.number({min:26,max:33}),c=n.random.arrayElement(["L","M","3"]),l=0;l<s-1;l++)c+=n.random.arrayElement("123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ".split(""));return c},i.creditCardNumber=function(s){s=s||"";var c,l,u=n.definitions.finance.credit_card;return s in u?(l=u[s],typeof l=="string"?c=l:c=n.random.arrayElement(l)):s.match(/#/)?c=s:typeof u=="string"?c=u:typeof u=="object"&&(l=n.random.objectElement(u,"value"),typeof l=="string"?c=l:c=n.random.arrayElement(l)),c=c.replace(/\//g,""),a.replaceCreditCardSymbols(c)},i.creditCardCVV=function(){for(var s="",c=0;c<3;c++)s+=n.random.number({max:9}).toString();return s},i.ethereumAddress=function(){var s=n.random.hexaDecimal(40).toLowerCase();return s},i.iban=function(s,c){var l;if(c){var u=o(function(w){return w.country===c},"findFormat");l=r.formats.find(u)}else l=n.random.arrayElement(r.formats);if(!l)throw new Error("Country code "+c+" not supported.");for(var d="",p=0,m=0;m<l.bban.length;m++){var v=l.bban[m],h=v.count;for(p+=v.count;h>0;)v.type=="a"?d+=n.random.arrayElement(r.alpha):v.type=="c"?n.random.number(100)<80?d+=n.random.number(9):d+=n.random.arrayElement(r.alpha):h>=3&&n.random.number(100)<30?n.random.boolean()?(d+=n.random.arrayElement(r.pattern100),h-=2):(d+=n.random.arrayElement(r.pattern10),h--):d+=n.random.number(9),h--;d=d.substring(0,p)}var y=98-r.mod97(r.toDigitString(d+l.country+"00"));y<10&&(y="0"+y);var C=l.country+y+d;return s?C.match(/.{1,4}/g).join(" "):C},i.bic=function(){var s=["A","E","I","O","U"],c=n.random.number(100);return a.replaceSymbols("???")+n.random.arrayElement(s)+n.random.arrayElement(r.iso3166)+a.replaceSymbols("?")+"1"+(c<10?a.replaceSymbols("?"+n.random.arrayElement(s)+"?"):c<40?a.replaceSymbols("###"):"")},i.transactionDescription=function(){var s=a.createTransaction().account,c=n.finance.mask(),l=n.finance.currencyCode(),u=a.createTransaction().amount,d=a.createTransaction().type,p=a.createTransaction().business;return d+" transaction at "+p+" using card ending with ***"+c+" for "+l+" "+u+" in account ***"+s}},"Finance");e.exports=t}(kS)),kS.exports}o(Alt,"requireFinance");var RS={exports:{}},AS={exports:{}},zD;function Plt(){return zD||(zD=1,function(e){var t=o(function(n){var r=this;r.image=function(a,i,s){var c=["abstract","animals","business","cats","city","food","nightlife","fashion","people","nature","sports","technics","transport"];return r[n.random.arrayElement(c)](a,i,s)},r.avatar=function(){return n.internet.avatar()},r.imageUrl=function(l,u,s,c){var l=l||640,u=u||480,d="https://lorempixel.com/"+l+"/"+u;return typeof s<"u"&&(d+="/"+s),c&&(d+="?"+n.random.number()),d},r.abstract=function(a,i,s){return n.image.lorempixel.imageUrl(a,i,"abstract",s)},r.animals=function(a,i,s){return n.image.lorempixel.imageUrl(a,i,"animals",s)},r.business=function(a,i,s){return n.image.lorempixel.imageUrl(a,i,"business",s)},r.cats=function(a,i,s){return n.image.lorempixel.imageUrl(a,i,"cats",s)},r.city=function(a,i,s){return n.image.lorempixel.imageUrl(a,i,"city",s)},r.food=function(a,i,s){return n.image.lorempixel.imageUrl(a,i,"food",s)},r.nightlife=function(a,i,s){return n.image.lorempixel.imageUrl(a,i,"nightlife",s)},r.fashion=function(a,i,s){return n.image.lorempixel.imageUrl(a,i,"fashion",s)},r.people=function(a,i,s){return n.image.lorempixel.imageUrl(a,i,"people",s)},r.nature=function(a,i,s){return n.image.lorempixel.imageUrl(a,i,"nature",s)},r.sports=function(a,i,s){return n.image.lorempixel.imageUrl(a,i,"sports",s)},r.technics=function(a,i,s){return n.image.lorempixel.imageUrl(a,i,"technics",s)},r.transport=function(a,i,s){return n.image.lorempixel.imageUrl(a,i,"transport",s)}},"Lorempixel");e.exports=t}(AS)),AS.exports}o(Plt,"requireLorempixel");var PS={exports:{}},ID;function Mlt(){return ID||(ID=1,function(e){var t=o(function(n){var r=this;r.image=function(a,i,s){return r.imageUrl(a,i,void 0,s)},r.avatar=function(){return n.internet.avatar()},r.imageUrl=function(l,u,s,c){var l=l||640,u=u||480,d="https://source.unsplash.com";if(typeof s<"u"&&(d+="/category/"+s),d+="/"+l+"x"+u,typeof c<"u"){var p=new RegExp("^([A-Za-z0-9].+,[A-Za-z0-9]+)$|^([A-Za-z0-9]+)$");p.test(c)&&(d+="?"+c)}return d},r.food=function(a,i,s){return n.image.unsplash.imageUrl(a,i,"food",s)},r.people=function(a,i,s){return n.image.unsplash.imageUrl(a,i,"people",s)},r.nature=function(a,i,s){return n.image.unsplash.imageUrl(a,i,"nature",s)},r.technology=function(a,i,s){return n.image.unsplash.imageUrl(a,i,"technology",s)},r.objects=function(a,i,s){return n.image.unsplash.imageUrl(a,i,"objects",s)},r.buildings=function(a,i,s){return n.image.unsplash.imageUrl(a,i,"buildings",s)}},"Unsplash");e.exports=t}(PS)),PS.exports}o(Mlt,"requireUnsplash");var MS={exports:{}},LD;function Tlt(){return LD||(LD=1,function(e){var t=o(function(n){var r=this;r.image=function(a,i,s,c){return r.imageUrl(a,i,s,c)},r.imageGrayscale=function(a,i,s){return r.imageUrl(a,i,s)},r.imageBlurred=function(a,i,s){return r.imageUrl(a,i,void 0,s)},r.imageRandomSeeded=function(a,i,s,c,l){return r.imageUrl(a,i,s,c,l)},r.avatar=function(){return n.internet.avatar()},r.imageUrl=function(u,d,s,c,l){var u=u||640,d=d||480,p="https://picsum.photos";return l&&(p+="/seed/"+l),p+="/"+u+"/"+d,s&&c?p+"?grayscale&blur="+c:s?p+"?grayscale":c?p+"?blur="+c:p}},"LoremPicsum");e.exports=t}(MS)),MS.exports}o(Tlt,"requireLorempicsum");var DD;function Olt(){return DD||(DD=1,function(e){var t=o(function(n){var r=this,a=Plt(),i=Mlt(),s=Tlt();r.image=function(c,l,u){var d=["abstract","animals","business","cats","city","food","nightlife","fashion","people","nature","sports","technics","transport"];return r[n.random.arrayElement(d)](c,l,u)},r.avatar=function(){return n.internet.avatar()},r.imageUrl=function(m,v,u,d,p){var m=m||640,v=v||480,h="http://";typeof p<"u"&&p===!0&&(h="https://");var y=h+"placeimg.com/"+m+"/"+v;return typeof u<"u"&&(y+="/"+u),d&&(y+="?"+n.random.number()),y},r.abstract=function(c,l,u){return n.image.imageUrl(c,l,"abstract",u)},r.animals=function(c,l,u){return n.image.imageUrl(c,l,"animals",u)},r.business=function(c,l,u){return n.image.imageUrl(c,l,"business",u)},r.cats=function(c,l,u){return n.image.imageUrl(c,l,"cats",u)},r.city=function(c,l,u){return n.image.imageUrl(c,l,"city",u)},r.food=function(c,l,u){return n.image.imageUrl(c,l,"food",u)},r.nightlife=function(c,l,u){return n.image.imageUrl(c,l,"nightlife",u)},r.fashion=function(c,l,u){return n.image.imageUrl(c,l,"fashion",u)},r.people=function(c,l,u){return n.image.imageUrl(c,l,"people",u)},r.nature=function(c,l,u){return n.image.imageUrl(c,l,"nature",u)},r.sports=function(c,l,u){return n.image.imageUrl(c,l,"sports",u)},r.technics=function(c,l,u){return n.image.imageUrl(c,l,"technics",u)},r.transport=function(c,l,u){return n.image.imageUrl(c,l,"transport",u)},r.dataUri=function(c,l,u){u=u||"grey";var d='<svg xmlns="http://www.w3.org/2000/svg" version="1.1" baseProfile="full" width="'+c+'" height="'+l+'"><rect width="100%" height="100%" fill="'+u+'"/><text x="'+c/2+'" y="'+l/2+'" font-size="20" alignment-baseline="middle" text-anchor="middle" fill="white">'+c+"x"+l+"</text></svg>",p="data:image/svg+xml;charset=UTF-8,";return p+encodeURIComponent(d)},r.lorempixel=new a(n),r.unsplash=new i(n),r.lorempicsum=new s(n)},"Image");e.exports=t}(RS)),RS.exports}o(Olt,"requireImage");var TS={exports:{}},ND;function zlt(){return ND||(ND=1,function(e){var t=o(function(n){var r=this,a=n.helpers;return r.word=function(i){var s=o(function(l){return l.length===i},"hasRightLength"),c;return typeof i>"u"?c=n.definitions.lorem.words:c=n.definitions.lorem.words.filter(s),n.random.arrayElement(c)},r.words=function(i){typeof i>"u"&&(i=3);for(var s=[],c=0;c<i;c++)s.push(n.lorem.word());return s.join(" ")},r.sentence=function(i,s){typeof i>"u"&&(i=n.random.number({min:3,max:10}));var c=n.lorem.words(i);return c.charAt(0).toUpperCase()+c.slice(1)+"."},r.slug=function(i){var s=n.lorem.words(i);return a.slugify(s)},r.sentences=function(i,s){typeof i>"u"&&(i=n.random.number({min:2,max:6})),typeof s>"u"&&(s=" ");var c=[];for(i;i>0;i--)c.push(n.lorem.sentence());return c.join(s)},r.paragraph=function(i){return typeof i>"u"&&(i=3),n.lorem.sentences(i+n.random.number(3))},r.paragraphs=function(i,s){typeof s>"u"&&(s=` + \r`),typeof i>"u"&&(i=3);var c=[];for(i;i>0;i--)c.push(n.lorem.paragraph());return c.join(s)},r.text=o(function(s){var c=["lorem.word","lorem.words","lorem.sentence","lorem.sentences","lorem.paragraph","lorem.paragraphs","lorem.lines"],l=n.random.arrayElement(c);return n.fake("{{"+l+"}}")},"loremText"),r.lines=o(function(s){return typeof s>"u"&&(s=n.random.number({min:1,max:5})),n.lorem.sentences(s,` +`)},"lines"),r},"Lorem");e.exports=t}(TS)),TS.exports}o(zlt,"requireLorem");var OS={exports:{}},FD;function Ilt(){return FD||(FD=1,function(e){var t=o(function(n){var r=this;return r.abbreviation=function(){return n.random.arrayElement(n.definitions.hacker.abbreviation)},r.adjective=function(){return n.random.arrayElement(n.definitions.hacker.adjective)},r.noun=function(){return n.random.arrayElement(n.definitions.hacker.noun)},r.verb=function(){return n.random.arrayElement(n.definitions.hacker.verb)},r.ingverb=function(){return n.random.arrayElement(n.definitions.hacker.ingverb)},r.phrase=function(){var a={abbreviation:r.abbreviation,adjective:r.adjective,ingverb:r.ingverb,noun:r.noun,verb:r.verb},i=n.random.arrayElement(n.definitions.hacker.phrase);return n.helpers.mustache(i,a)},r},"Hacker");e.exports=t}(OS)),OS.exports}o(Ilt,"requireHacker");var zS={exports:{}},IS={},BD;function Llt(){return BD||(BD=1,IS.generate=o(function(t){function n(d,p){if(d=d||0,p=p||100,typeof p=="number"&&typeof d=="number")return t.random.number({min:d,max:p});if(Object.prototype.toString.call(d)==="[object Array]")return t.random.arrayElement(d);if(d&&typeof d=="object")return function(m){var v=n(0,100)/100,h=0,y=0,C,w;for(C in m)if(m.hasOwnProperty(C)){if(y=m[C]+h,w=C,v>=h&&v<=y)break;h=h+m[C]}return w}(d);throw new TypeError("Invalid arguments passed to rnd. ("+(p?d+", "+p:d)+")")}o(n,"rnd");function r(){return n(["AB","AF","AN","AR","AS","AZ","BE","BG","BN","BO","BR","BS","CA","CE","CO","CS","CU","CY","DA","DE","EL","EN","EO","ES","ET","EU","FA","FI","FJ","FO","FR","FY","GA","GD","GL","GV","HE","HI","HR","HT","HU","HY","ID","IS","IT","JA","JV","KA","KG","KO","KU","KW","KY","LA","LB","LI","LN","LT","LV","MG","MK","MN","MO","MS","MT","MY","NB","NE","NL","NN","NO","OC","PL","PT","RM","RO","RU","SC","SE","SK","SL","SO","SQ","SR","SV","SW","TK","TR","TY","UK","UR","UZ","VI","VO","YI","ZH"])}o(r,"randomLang");function a(){var d=n({chrome:.45132810566,iexplorer:.27477061836,firefox:.19384170608,safari:.06186781118,opera:.01574236955}),p={chrome:{win:.89,mac:.09,lin:.02},firefox:{win:.83,mac:.16,lin:.01},opera:{win:.91,mac:.03,lin:.06},safari:{win:.04,mac:.96},iexplorer:["win"]};return[d,n(p[d])]}o(a,"randomBrowserAndOS");function i(d){var p={lin:["i686","x86_64"],mac:{Intel:.48,PPC:.01,"U; Intel":.48,"U; PPC":.01},win:["","WOW64","Win64; x64"]};return n(p[d])}o(i,"randomProc");function s(d){for(var p="",m=0;m<d;m++)p+="."+n(0,9);return p}o(s,"randomRevision");var c={net:o(function(){return[n(1,4),n(0,9),n(1e4,99999),n(0,9)].join(".")},"net"),nt:o(function(){return n(5,6)+"."+n(0,3)},"nt"),ie:o(function(){return n(7,11)},"ie"),trident:o(function(){return n(3,7)+"."+n(0,1)},"trident"),osx:o(function(d){return[10,n(5,10),n(0,9)].join(d||".")},"osx"),chrome:o(function(){return[n(13,39),0,n(800,899),0].join(".")},"chrome"),presto:o(function(){return"2.9."+n(160,190)},"presto"),presto2:o(function(){return n(10,12)+".00"},"presto2"),safari:o(function(){return n(531,538)+"."+n(0,2)+"."+n(0,2)},"safari")},l={firefox:o(function(p){var m=n(5,15)+s(2),v="Gecko/20100101 Firefox/"+m,h=i(p),y=p==="win"?"(Windows NT "+c.nt()+(h?"; "+h:""):p==="mac"?"(Macintosh; "+h+" Mac OS X "+c.osx():"(X11; Linux "+h;return"Mozilla/5.0 "+y+"; rv:"+m.slice(0,-2)+") "+v},"firefox"),iexplorer:o(function(){var p=c.ie();return p>=11?"Mozilla/5.0 (Windows NT 6."+n(1,3)+"; Trident/7.0; "+n(["Touch; ",""])+"rv:11.0) like Gecko":"Mozilla/5.0 (compatible; MSIE "+p+".0; Windows NT "+c.nt()+"; Trident/"+c.trident()+(n(0,1)===1?"; .NET CLR "+c.net():"")+")"},"iexplorer"),opera:o(function(p){var m=" Presto/"+c.presto()+" Version/"+c.presto2()+")",v=p==="win"?"(Windows NT "+c.nt()+"; U; "+r()+m:p==="lin"?"(X11; Linux "+i(p)+"; U; "+r()+m:"(Macintosh; Intel Mac OS X "+c.osx()+" U; "+r()+" Presto/"+c.presto()+" Version/"+c.presto2()+")";return"Opera/"+n(9,14)+"."+n(0,99)+" "+v},"opera"),safari:o(function(p){var m=c.safari(),v=n(4,7)+"."+n(0,1)+"."+n(0,10),h=p==="mac"?"(Macintosh; "+i("mac")+" Mac OS X "+c.osx("_")+" rv:"+n(2,6)+".0; "+r()+") ":"(Windows; U; Windows NT "+c.nt()+")";return"Mozilla/5.0 "+h+"AppleWebKit/"+m+" (KHTML, like Gecko) Version/"+v+" Safari/"+m},"safari"),chrome:o(function(p){var m=c.safari(),v=p==="mac"?"(Macintosh; "+i("mac")+" Mac OS X "+c.osx("_")+") ":p==="win"?"(Windows; U; Windows NT "+c.nt()+")":"(X11; Linux "+i(p);return"Mozilla/5.0 "+v+" AppleWebKit/"+m+" (KHTML, like Gecko) Chrome/"+c.chrome()+" Safari/"+m},"chrome")},u=a();return l[u[0]](u[1])},"generate")),IS}o(Llt,"requireUserAgent");var WD;function Dlt(){return WD||(WD=1,function(e){var t=Llt(),n=o(function(r){var a=this;a.avatar=function(){return r.random.arrayElement(r.definitions.internet.avatar_uri)},a.avatar.schema={description:"Generates a URL for an avatar.",sampleResults:["https://s3.amazonaws.com/uifaces/faces/twitter/igorgarybaldi/128.jpg"]},a.email=function(i,s,c){return c=c||r.random.arrayElement(r.definitions.internet.free_email),r.helpers.slugify(r.internet.userName(i,s))+"@"+c},a.email.schema={description:"Generates a valid email address based on optional input criteria",sampleResults:["foo.bar@gmail.com"],properties:{firstName:{type:"string",required:!1,description:"The first name of the user"},lastName:{type:"string",required:!1,description:"The last name of the user"},provider:{type:"string",required:!1,description:"The domain of the user"}}},a.exampleEmail=function(i,s){var c=r.random.arrayElement(r.definitions.internet.example_email);return a.email(i,s,c)},a.userName=function(i,s){var c;switch(i=i||r.name.firstName(),s=s||r.name.lastName(),r.random.number(2)){case 0:c=i+r.random.number(99);break;case 1:c=i+r.random.arrayElement([".","_"])+s;break;case 2:c=i+r.random.arrayElement([".","_"])+s+r.random.number(99);break}return c=c.toString().replace(/'/g,""),c=c.replace(/ /g,""),c},a.userName.schema={description:"Generates a username based on one of several patterns. The pattern is chosen randomly.",sampleResults:["Kirstin39","Kirstin.Smith","Kirstin.Smith39","KirstinSmith","KirstinSmith39"],properties:{firstName:{type:"string",required:!1,description:"The first name of the user"},lastName:{type:"string",required:!1,description:"The last name of the user"}}},a.protocol=function(){var i=["http","https"];return r.random.arrayElement(i)},a.protocol.schema={description:"Randomly generates http or https",sampleResults:["https","http"]},a.httpMethod=function(){var i=["GET","POST","PUT","DELETE","PATCH"];return r.random.arrayElement(i)},a.httpMethod.schema={description:"Randomly generates HTTP Methods (GET, POST, PUT, DELETE, PATCH)",sampleResults:["GET","POST","PUT","DELETE","PATCH"]},a.url=function(){return r.internet.protocol()+"://"+r.internet.domainName()},a.url.schema={description:"Generates a random URL. The URL could be secure or insecure.",sampleResults:["http://rashawn.name","https://rashawn.name"]},a.domainName=function(){return r.internet.domainWord()+"."+r.internet.domainSuffix()},a.domainName.schema={description:"Generates a random domain name.",sampleResults:["marvin.org"]},a.domainSuffix=function(){return r.random.arrayElement(r.definitions.internet.domain_suffix)},a.domainSuffix.schema={description:"Generates a random domain suffix.",sampleResults:["net"]},a.domainWord=function(){return r.name.firstName().replace(/([\\~#&*{}/:<>?|\"'])/ig,"").toLowerCase()},a.domainWord.schema={description:"Generates a random domain word.",sampleResults:["alyce"]},a.ip=function(){for(var i=o(function(){return r.random.number(255).toFixed(0)},"randNum"),s=[],c=0;c<4;c++)s[c]=i();return s.join(".")},a.ip.schema={description:"Generates a random IP.",sampleResults:["97.238.241.11"]},a.ipv6=function(){for(var i=o(function(){for(var l="",u=0;u<4;u++)l+=r.random.arrayElement(["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"]);return l},"randHash"),s=[],c=0;c<8;c++)s[c]=i();return s.join(":")},a.ipv6.schema={description:"Generates a random IPv6 address.",sampleResults:["2001:0db8:6276:b1a7:5213:22f1:25df:c8a0"]},a.port=function(){return r.random.number({min:0,max:65535})},a.port.schema={description:"Generates a random port number.",sampleResults:["4422"]},a.userAgent=function(){return t.generate(r)},a.userAgent.schema={description:"Generates a random user agent.",sampleResults:["Mozilla/5.0 (Macintosh; U; PPC Mac OS X 10_7_5 rv:6.0; SL) AppleWebKit/532.0.1 (KHTML, like Gecko) Version/7.1.6 Safari/532.0.1"]},a.color=function(i,s,c){i=i||0,s=s||0,c=c||0;var l=Math.floor((r.random.number(256)+i)/2),u=Math.floor((r.random.number(256)+s)/2),d=Math.floor((r.random.number(256)+c)/2),p=l.toString(16),m=u.toString(16),v=d.toString(16);return"#"+(p.length===1?"0":"")+p+(m.length===1?"0":"")+m+(v.length===1?"0":"")+v},a.color.schema={description:"Generates a random hexadecimal color.",sampleResults:["#06267f"],properties:{baseRed255:{type:"number",required:!1,description:"The red value. Valid values are 0 - 255."},baseGreen255:{type:"number",required:!1,description:"The green value. Valid values are 0 - 255."},baseBlue255:{type:"number",required:!1,description:"The blue value. Valid values are 0 - 255."}}},a.mac=function(i){var s,c="",l=":";for(["-",""].indexOf(i)!==-1&&(l=i),s=0;s<12;s++)c+=r.random.number(15).toString(16),s%2==1&&s!=11&&(c+=l);return c},a.mac.schema={description:"Generates a random mac address.",sampleResults:["78:06:cc:ae:b3:81"]},a.password=function(i,s,c,l){i=i||15,typeof s>"u"&&(s=!1);var u,d;d=/[aeiouAEIOU]$/,u=/[bcdfghjklmnpqrstvwxyzBCDFGHJKLMNPQRSTVWXYZ]$/;var p=o(function(m,v,h,y){var C,w;return m==null&&(m=10),v==null&&(v=!0),h==null&&(h=/\w/),y==null&&(y=""),y.length>=m?y:(v&&(y.match(u)?h=d:h=u),w=r.random.number(94)+33,C=String.fromCharCode(w),v&&(C=C.toLowerCase()),C.match(h)?p(m,v,h,""+y+C):p(m,v,h,y))},"_password");return p(i,s,c,l)},a.password.schema={description:"Generates a random password.",sampleResults:["AM7zl6Mg","susejofe"],properties:{length:{type:"number",required:!1,description:"The number of characters in the password."},memorable:{type:"boolean",required:!1,description:"Whether a password should be easy to remember."},pattern:{type:"regex",required:!1,description:"A regex to match each character of the password against. This parameter will be negated if the memorable setting is turned on."},prefix:{type:"string",required:!1,description:"A value to prepend to the generated password. The prefix counts towards the length of the password."}}}},"Internet");e.exports=n}(zS)),zS.exports}o(Dlt,"requireInternet");var LS={exports:{}},UD;function Nlt(){return UD||(UD=1,function(e){var t=o(function(n){var r=this;r.column=function(){return n.random.arrayElement(n.definitions.database.column)},r.column.schema={description:"Generates a column name.",sampleResults:["id","title","createdAt"]},r.type=function(){return n.random.arrayElement(n.definitions.database.type)},r.type.schema={description:"Generates a column type.",sampleResults:["byte","int","varchar","timestamp"]},r.collation=function(){return n.random.arrayElement(n.definitions.database.collation)},r.collation.schema={description:"Generates a collation.",sampleResults:["utf8_unicode_ci","utf8_bin"]},r.engine=function(){return n.random.arrayElement(n.definitions.database.engine)},r.engine.schema={description:"Generates a storage engine.",sampleResults:["MyISAM","InnoDB"]}},"Database");e.exports=t}(LS)),LS.exports}o(Nlt,"requireDatabase");var DS={exports:{}},HD;function Flt(){return HD||(HD=1,function(e){var t=o(function(n){var r=this;return r.phoneNumber=function(a){return a=a||n.phone.phoneFormats(),n.helpers.replaceSymbolWithNumber(a)},r.phoneNumberFormat=function(a){return a=a||0,n.helpers.replaceSymbolWithNumber(n.definitions.phone_number.formats[a])},r.phoneFormats=function(){return n.random.arrayElement(n.definitions.phone_number.formats)},r},"Phone");e.exports=t}(DS)),DS.exports}o(Flt,"requirePhone_number");var NS={exports:{}},qD;function Blt(){return qD||(qD=1,function(e){var t=o(function(n){var r=this;return r.past=function(a,i){var s=new Date;typeof i<"u"&&(s=new Date(Date.parse(i)));var c={min:1e3,max:(a||1)*365*24*3600*1e3},l=s.getTime();return l-=n.random.number(c),s.setTime(l),s},r.future=function(a,i){var s=new Date;typeof i<"u"&&(s=new Date(Date.parse(i)));var c={min:1e3,max:(a||1)*365*24*3600*1e3},l=s.getTime();return l+=n.random.number(c),s.setTime(l),s},r.between=function(a,i){var s=Date.parse(a),c=n.random.number(Date.parse(i)-s),l=new Date(s+c);return l},r.betweens=function(a,i,s){typeof s>"u"&&(s=3);for(var c=[],l=Date.parse(a),u=(Date.parse(i)-l)/(s+1),d=a,p=0;p<s;p++)l=Date.parse(d),d=new Date(l+u),c.push(d);return c},r.recent=function(a,i){var s=new Date;typeof i<"u"&&(s=new Date(Date.parse(i)));var c={min:1e3,max:(a||1)*24*3600*1e3},l=s.getTime();return l-=n.random.number(c),s.setTime(l),s},r.soon=function(a,i){var s=new Date;typeof i<"u"&&(s=new Date(Date.parse(i)));var c={min:1e3,max:(a||1)*24*3600*1e3},l=s.getTime();return l+=n.random.number(c),s.setTime(l),s},r.month=function(a){a=a||{};var i="wide";a.abbr&&(i="abbr"),a.context&&typeof n.definitions.date.month[i+"_context"]<"u"&&(i+="_context");var s=n.definitions.date.month[i];return n.random.arrayElement(s)},r.weekday=function(a){a=a||{};var i="wide";a.abbr&&(i="abbr"),a.context&&typeof n.definitions.date.weekday[i+"_context"]<"u"&&(i+="_context");var s=n.definitions.date.weekday[i];return n.random.arrayElement(s)},r},"_Date");e.exports=t}(NS)),NS.exports}o(Blt,"requireDate");var FS={exports:{}},VD;function Wlt(){return VD||(VD=1,function(e){var t=o(function(n){var r=this;return r.recent=function(a){typeof a>"u"&&(a="unix");var i=new Date;switch(a){case"abbr":i=i.toLocaleTimeString();break;case"wide":i=i.toTimeString();break;case"unix":i=i.getTime();break}return i},r},"_Time");e.exports=t}(FS)),FS.exports}o(Wlt,"requireTime");var BS={exports:{}},GD;function Ult(){return GD||(GD=1,function(e){var t=o(function(n){var r=this;return r.color=function(){return n.random.arrayElement(n.definitions.commerce.color)},r.department=function(){return n.random.arrayElement(n.definitions.commerce.department)},r.productName=function(){return n.commerce.productAdjective()+" "+n.commerce.productMaterial()+" "+n.commerce.product()},r.price=function(a,i,s,c){if(a=a||1,i=i||1e3,s=s===void 0?2:s,c=c||"",a<0||i<0)return c+0;var l=n.random.number({max:i,min:a});return c+(Math.round(l*Math.pow(10,s))/Math.pow(10,s)).toFixed(s)},r.productAdjective=function(){return n.random.arrayElement(n.definitions.commerce.product_name.adjective)},r.productMaterial=function(){return n.random.arrayElement(n.definitions.commerce.product_name.material)},r.product=function(){return n.random.arrayElement(n.definitions.commerce.product_name.product)},r.productDescription=function(){return n.random.arrayElement(n.definitions.commerce.product_description)},r},"Commerce");e.exports=t}(BS)),BS.exports}o(Ult,"requireCommerce");var WS={exports:{}},KD;function Hlt(){return KD||(KD=1,function(e){function t(n){this.fileName=function(r,a){var i=n.fake("{{random.words}}.{{system.fileExt}}");return i=i.replace(/ /g,"_"),i=i.replace(/\,/g,"_"),i=i.replace(/\-/g,"_"),i=i.replace(/\\/g,"_"),i=i.replace(/\//g,"_"),i=i.toLowerCase(),i},this.commonFileName=function(r,a){var i=n.random.words()+"."+(r||n.system.commonFileExt());return i=i.replace(/ /g,"_"),i=i.replace(/\,/g,"_"),i=i.replace(/\-/g,"_"),i=i.replace(/\\/g,"_"),i=i.replace(/\//g,"_"),i=i.toLowerCase(),i},this.mimeType=function(){return n.random.arrayElement(Object.keys(n.definitions.system.mimeTypes))},this.commonFileType=function(){var r=["video","audio","image","text","application"];return n.random.arrayElement(r)},this.commonFileExt=function(r){var a=["application/pdf","audio/mpeg","audio/wav","image/png","image/jpeg","image/gif","video/mp4","video/mpeg","text/html"];return n.system.fileExt(n.random.arrayElement(a))},this.fileType=function(){var r=[],a=n.definitions.system.mimeTypes;return Object.keys(a).forEach(function(i){var s=i.split("/");r.indexOf(s[0])===-1&&r.push(s[0])}),n.random.arrayElement(r)},this.fileExt=function(r){var a=[],i=n.definitions.system.mimeTypes;return typeof i[r]=="object"?n.random.arrayElement(i[r].extensions):(Object.keys(i).forEach(function(s){i[s].extensions instanceof Array&&i[s].extensions.forEach(function(c){a.push(c)})}),n.random.arrayElement(a))},this.directoryPath=function(){var r=n.definitions.system.directoryPaths;return n.random.arrayElement(r)},this.filePath=function(){return n.fake("{{system.directoryPath}}/{{system.fileName}}")},this.semver=function(){return[n.random.number(9),n.random.number(9),n.random.number(9)].join(".")}}o(t,"System"),e.exports=t}(WS)),WS.exports}o(Hlt,"requireSystem");var US={exports:{}},JD;function qlt(){return JD||(JD=1,function(e){var t=o(function(n){var r=this,a=n.fake,i=["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"];return r.branch=function(){var s=n.hacker.noun().replace(" ","-"),c=n.hacker.verb().replace(" ","-");return s+"-"+c},r.commitEntry=function(s){s=s||{};var c=`commit {{git.commitSha}}\r +`;return(s.merge||n.random.number({min:0,max:4})===0)&&(c+=`Merge: {{git.shortSha}} {{git.shortSha}}\r +`),c+=`Author: {{name.firstName}} {{name.lastName}} <{{internet.email}}>\r +`,c+="Date: "+n.date.recent().toString()+`\r +`,c+=`\r +    {{git.commitMessage}}\r +`,a(c)},r.commitMessage=function(){var s="{{hacker.verb}} {{hacker.adjective}} {{hacker.noun}}";return a(s)},r.commitSha=function(){for(var s="",c=0;c<40;c++)s+=n.random.arrayElement(i);return s},r.shortSha=function(){for(var s="",c=0;c<7;c++)s+=n.random.arrayElement(i);return s},r},"Git");e.exports=t}(US)),US.exports}o(qlt,"requireGit");var HS={exports:{}},YD;function Vlt(){return YD||(YD=1,function(e){var t=o(function(n){var r=this,a=n.fake;r.vehicle=function(){return a("{{vehicle.manufacturer}} {{vehicle.model}}")},r.vehicle.schema={description:"Generates a random vehicle.",sampleResults:["BMW Explorer","Ford Camry","Lamborghini Ranchero"]},r.manufacturer=function(){return n.random.arrayElement(n.definitions.vehicle.manufacturer)},r.manufacturer.schema={description:"Generates a manufacturer name.",sampleResults:["Ford","Jeep","Tesla"]},r.model=function(){return n.random.arrayElement(n.definitions.vehicle.model)},r.model.schema={description:"Generates a vehicle model.",sampleResults:["Explorer","Camry","Ranchero"]},r.type=function(){return n.random.arrayElement(n.definitions.vehicle.type)},r.type.schema={description:"Generates a vehicle type.",sampleResults:["Coupe","Convertable","Sedan","SUV"]},r.fuel=function(){return n.random.arrayElement(n.definitions.vehicle.fuel)},r.fuel.schema={description:"Generates a fuel type.",sampleResults:["Electric","Gasoline","Diesel"]},r.vin=function(){return(n.random.alphaNumeric(10)+n.random.alpha({count:1,upcase:!0})+n.random.alphaNumeric(1)+n.random.number({min:1e4,max:1e5})).toUpperCase()},r.vin.schema={description:"Generates a valid VIN number.",sampleResults:["YV1MH682762184654","3C7WRMBJ2EG208836"]},r.color=function(){return a("{{commerce.color}}")},r.color.schema={description:"Generates a color",sampleResults:["red","white","black"]},r.vrm=function(){return(n.random.alpha({count:2,upcase:!0})+n.random.number({min:0,max:9})+n.random.number({min:0,max:9})+n.random.alpha({count:3,upcase:!0})).toUpperCase()},r.vrm.schema={description:"Generates a vehicle vrm",sampleResults:["MF56UPA","GL19AAQ","SF20TTA"]}},"Vehicle");e.exports=t}(HS)),HS.exports}o(Vlt,"requireVehicle");var qS={exports:{}},QD;function Glt(){return QD||(QD=1,function(e){var t=o(function(n){var r=this;r.genre=function(){return n.random.arrayElement(n.definitions.music.genre)},r.genre.schema={description:"Generates a genre.",sampleResults:["Rock","Metal","Pop"]}},"Music");e.exports=t}(qS)),qS.exports}o(Glt,"requireMusic");(function(e){function t(n){var r=this;n=n||{};var a=r.locales||n.locales||{},i=r.locale||n.locale||"en",s=r.localeFallback||n.localeFallback||"en";r.locales=a,r.locale=i,r.localeFallback=s,r.definitions={};var c=wlt();r.fake=new c(r).fake;var l=Slt();r.unique=new l(r).unique;var u=ED();r.random=new u(r);var d=$lt();r.helpers=new d(r);var p=_lt();r.name=new p(r);var m=klt();r.address=new m(r);var v=Elt();r.company=new v(r);var h=Alt();r.finance=new h(r);var y=Olt();r.image=new y(r);var C=zlt();r.lorem=new C(r);var w=Ilt();r.hacker=new w(r);var x=Dlt();r.internet=new x(r);var b=Nlt();r.database=new b(r);var S=Flt();r.phone=new S(r);var $=Blt();r.date=new $(r);var j=Wlt();r.time=new j(r);var _=Ult();r.commerce=new _(r);var k=Hlt();r.system=new k(r);var E=qlt();r.git=new E(r);var A=Vlt();r.vehicle=new A(r);var P=Glt();r.music=new P(r);var M={name:["first_name","last_name","prefix","suffix","gender","title","male_prefix","female_prefix","male_first_name","female_first_name","male_middle_name","female_middle_name","male_last_name","female_last_name"],address:["city_prefix","city_suffix","street_suffix","county","country","country_code","country_code_alpha_3","state","state_abbr","street_prefix","postcode","postcode_by_state","direction","direction_abbr","time_zone"],company:["adjective","noun","descriptor","bs_adjective","bs_noun","bs_verb","suffix"],lorem:["words"],hacker:["abbreviation","adjective","noun","verb","ingverb","phrase"],phone_number:["formats"],finance:["account_type","transaction_type","currency","iban","credit_card"],internet:["avatar_uri","domain_suffix","free_email","example_email","password"],commerce:["color","department","product_name","price","categories","product_description"],database:["collation","column","engine","type"],system:["mimeTypes","directoryPaths"],date:["month","weekday"],vehicle:["vehicle","manufacturer","model","type","fuel","vin","color"],music:["genre"],title:"",separator:""};Object.keys(M).forEach(function(T){if(typeof r.definitions[T]>"u"&&(r.definitions[T]={}),typeof M[T]=="string"){r.definitions[T]=M[T];return}M[T].forEach(function(z){Object.defineProperty(r.definitions[T],z,{get:o(function(){return typeof r.locales[r.locale][T]>"u"||typeof r.locales[r.locale][T][z]>"u"?r.locales[s][T][z]:r.locales[r.locale][T][z]},"get")})})})}o(t,"Faker"),t.prototype.setLocale=function(n){this.locale=n},t.prototype.seed=function(n){var r=ED();this.seedValue=n,this.random=new r(this,this.seedValue)},e.exports=t})(YY);var QY=YY.exports,XY={exports:{}},ZY={exports:{}},eQ={exports:{}};(function(e){e.exports=["com","us","biz","info","name","net","org"]})(eQ);var Klt=eQ.exports;(function(e){var t={};e.exports=t,t.domain_suffix=Klt})(ZY);var Jlt=ZY.exports,tQ={exports:{}},nQ={exports:{}};(function(e){e.exports=["United States","United States of America","USA"]})(nQ);var Ylt=nQ.exports,rQ={exports:{}};(function(e){e.exports={AK:{min:99501,max:99950},AL:{min:35004,max:36925},AR:{min:71601,max:72959},AZ:{min:85001,max:86556},CA:{min:90001,max:96162},CO:{min:80001,max:81658},CT:{min:6001,max:6389},DC:{min:20001,max:20039},DE:{min:19701,max:19980},FL:{min:32004,max:34997},GA:{min:30001,max:31999},HI:{min:96701,max:96898},IA:{min:50001,max:52809},ID:{min:83201,max:83876},IL:{min:60001,max:62999},IN:{min:46001,max:47997},KS:{min:66002,max:67954},KY:{min:40003,max:42788},LA:{min:70001,max:71232},MA:{min:1001,max:2791},MD:{min:20331,max:20331},ME:{min:3901,max:4992},MI:{min:48001,max:49971},MN:{min:55001,max:56763},MO:{min:63001,max:65899},MS:{min:38601,max:39776},MT:{min:59001,max:59937},NC:{min:27006,max:28909},ND:{min:58001,max:58856},NE:{min:68001,max:68118},NH:{min:3031,max:3897},NJ:{min:7001,max:8989},NM:{min:87001,max:88441},NV:{min:88901,max:89883},NY:{min:6390,max:6390},OH:{min:43001,max:45999},OK:{min:73001,max:73199},OR:{min:97001,max:97920},PA:{min:15001,max:19640},PR:{min:0,max:0},RI:{min:2801,max:2940},SC:{min:29001,max:29948},SD:{min:57001,max:57799},TN:{min:37010,max:38589},TX:{min:73301,max:73301},UT:{min:84001,max:84784},VA:{min:20040,max:20041},VT:{min:5001,max:5495},WA:{min:98001,max:99403},WI:{min:53001,max:54990},WV:{min:24701,max:26886},WY:{min:82001,max:83128}}})(rQ);var Qlt=rQ.exports;(function(e){var t={};e.exports=t,t.default_country=Ylt,t.postcode_by_state=Qlt})(tQ);var Xlt=tQ.exports,aQ={exports:{}},oQ={exports:{}};(function(e){e.exports=["201","202","203","205","206","207","208","209","210","212","213","214","215","216","217","218","219","224","225","227","228","229","231","234","239","240","248","251","252","253","254","256","260","262","267","269","270","276","281","283","301","302","303","304","305","307","308","309","310","312","313","314","315","316","317","318","319","320","321","323","330","331","334","336","337","339","347","351","352","360","361","386","401","402","404","405","406","407","408","409","410","412","413","414","415","417","419","423","424","425","434","435","440","443","445","464","469","470","475","478","479","480","484","501","502","503","504","505","507","508","509","510","512","513","515","516","517","518","520","530","540","541","551","557","559","561","562","563","564","567","570","571","573","574","580","585","586","601","602","603","605","606","607","608","609","610","612","614","615","616","617","618","619","620","623","626","630","631","636","641","646","650","651","660","661","662","667","678","682","701","702","703","704","706","707","708","712","713","714","715","716","717","718","719","720","724","727","731","732","734","737","740","754","757","760","763","765","770","772","773","774","775","781","785","786","801","802","803","804","805","806","808","810","812","813","814","815","816","817","818","828","830","831","832","835","843","845","847","848","850","856","857","858","859","860","862","863","864","865","870","872","878","901","903","904","906","907","908","909","910","912","913","914","915","916","917","918","919","920","925","928","931","936","937","940","941","947","949","952","954","956","959","970","971","972","973","975","978","979","980","984","985","989"]})(oQ);var Zlt=oQ.exports,iQ={exports:{}};(function(e){e.exports=["201","202","203","205","206","207","208","209","210","212","213","214","215","216","217","218","219","224","225","227","228","229","231","234","239","240","248","251","252","253","254","256","260","262","267","269","270","276","281","283","301","302","303","304","305","307","308","309","310","312","313","314","315","316","317","318","319","320","321","323","330","331","334","336","337","339","347","351","352","360","361","386","401","402","404","405","406","407","408","409","410","412","413","414","415","417","419","423","424","425","434","435","440","443","445","464","469","470","475","478","479","480","484","501","502","503","504","505","507","508","509","510","512","513","515","516","517","518","520","530","540","541","551","557","559","561","562","563","564","567","570","571","573","574","580","585","586","601","602","603","605","606","607","608","609","610","612","614","615","616","617","618","619","620","623","626","630","631","636","641","646","650","651","660","661","662","667","678","682","701","702","703","704","706","707","708","712","713","714","715","716","717","718","719","720","724","727","731","732","734","737","740","754","757","760","763","765","770","772","773","774","775","781","785","786","801","802","803","804","805","806","808","810","812","813","814","815","816","817","818","828","830","831","832","835","843","845","847","848","850","856","857","858","859","860","862","863","864","865","870","872","878","901","903","904","906","907","908","909","910","912","913","914","915","916","917","918","919","920","925","928","931","936","937","940","941","947","949","952","954","956","959","970","971","972","973","975","978","979","980","984","985","989"]})(iQ);var eut=iQ.exports;(function(e){var t={};e.exports=t,t.area_code=Zlt,t.exchange_code=eut})(aQ);var tut=aQ.exports;(function(e){var t={};e.exports=t,t.title="English (United States)",t.internet=Jlt,t.address=Xlt,t.phone_number=tut})(XY);var nut=XY.exports,sQ={exports:{}},cQ={exports:{}},lQ={exports:{}};(function(e){e.exports=["North","East","West","South","New","Lake","Port"]})(lQ);var rut=lQ.exports,uQ={exports:{}};(function(e){e.exports=["town","ton","land","ville","berg","burgh","borough","bury","view","port","mouth","stad","furt","chester","mouth","fort","haven","side","shire"]})(uQ);var aut=uQ.exports,dQ={exports:{}};(function(e){e.exports=["Avon","Bedfordshire","Berkshire","Borders","Buckinghamshire","Cambridgeshire"]})(dQ);var out=dQ.exports,fQ={exports:{}};(function(e){e.exports=["Afghanistan","Albania","Algeria","American Samoa","Andorra","Angola","Anguilla","Antarctica (the territory South of 60 deg S)","Antigua and Barbuda","Argentina","Armenia","Aruba","Australia","Austria","Azerbaijan","Bahamas","Bahrain","Bangladesh","Barbados","Belarus","Belgium","Belize","Benin","Bermuda","Bhutan","Bolivia","Bosnia and Herzegovina","Botswana","Bouvet Island (Bouvetoya)","Brazil","British Indian Ocean Territory (Chagos Archipelago)","Brunei Darussalam","Bulgaria","Burkina Faso","Burundi","Cambodia","Cameroon","Canada","Cape Verde","Cayman Islands","Central African Republic","Chad","Chile","China","Christmas Island","Cocos (Keeling) Islands","Colombia","Comoros","Congo","Cook Islands","Costa Rica","Cote d'Ivoire","Croatia","Cuba","Cyprus","Czech Republic","Denmark","Djibouti","Dominica","Dominican Republic","Ecuador","Egypt","El Salvador","Equatorial Guinea","Eritrea","Estonia","Ethiopia","Faroe Islands","Falkland Islands (Malvinas)","Fiji","Finland","France","French Guiana","French Polynesia","French Southern Territories","Gabon","Gambia","Georgia","Germany","Ghana","Gibraltar","Greece","Greenland","Grenada","Guadeloupe","Guam","Guatemala","Guernsey","Guinea","Guinea-Bissau","Guyana","Haiti","Heard Island and McDonald Islands","Holy See (Vatican City State)","Honduras","Hong Kong","Hungary","Iceland","India","Indonesia","Iran","Iraq","Ireland","Isle of Man","Israel","Italy","Jamaica","Japan","Jersey","Jordan","Kazakhstan","Kenya","Kiribati","Democratic People's Republic of Korea","Republic of Korea","Kuwait","Kyrgyz Republic","Lao People's Democratic Republic","Latvia","Lebanon","Lesotho","Liberia","Libyan Arab Jamahiriya","Liechtenstein","Lithuania","Luxembourg","Macao","Macedonia","Madagascar","Malawi","Malaysia","Maldives","Mali","Malta","Marshall Islands","Martinique","Mauritania","Mauritius","Mayotte","Mexico","Micronesia","Moldova","Monaco","Mongolia","Montenegro","Montserrat","Morocco","Mozambique","Myanmar","Namibia","Nauru","Nepal","Netherlands Antilles","Netherlands","New Caledonia","New Zealand","Nicaragua","Niger","Nigeria","Niue","Norfolk Island","Northern Mariana Islands","Norway","Oman","Pakistan","Palau","Palestinian Territory","Panama","Papua New Guinea","Paraguay","Peru","Philippines","Pitcairn Islands","Poland","Portugal","Puerto Rico","Qatar","Reunion","Romania","Russian Federation","Rwanda","Saint Barthelemy","Saint Helena","Saint Kitts and Nevis","Saint Lucia","Saint Martin","Saint Pierre and Miquelon","Saint Vincent and the Grenadines","Samoa","San Marino","Sao Tome and Principe","Saudi Arabia","Senegal","Serbia","Seychelles","Sierra Leone","Singapore","Slovakia (Slovak Republic)","Slovenia","Solomon Islands","Somalia","South Africa","South Georgia and the South Sandwich Islands","Spain","Sri Lanka","Sudan","Suriname","Svalbard & Jan Mayen Islands","Swaziland","Sweden","Switzerland","Syrian Arab Republic","Taiwan","Tajikistan","Tanzania","Thailand","Timor-Leste","Togo","Tokelau","Tonga","Trinidad and Tobago","Tunisia","Turkey","Turkmenistan","Turks and Caicos Islands","Tuvalu","Uganda","Ukraine","United Arab Emirates","United Kingdom","United States of America","United States Minor Outlying Islands","Uruguay","Uzbekistan","Vanuatu","Venezuela","Vietnam","Virgin Islands, British","Virgin Islands, U.S.","Wallis and Futuna","Western Sahara","Yemen","Zambia","Zimbabwe"]})(fQ);var iut=fQ.exports,pQ={exports:{}};(function(e){e.exports=["AD","AE","AF","AG","AI","AL","AM","AO","AQ","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BV","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CU","CV","CW","CX","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GU","GW","GY","HK","HM","HN","HR","HT","HU","ID","IE","IL","IM","IN","IO","IQ","IR","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KP","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PR","PS","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","UM","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","YE","YT","ZA","ZM","ZW"]})(pQ);var sut=pQ.exports,mQ={exports:{}};(function(e){e.exports=["BGD","BEL","BFA","BGR","BIH","BRB","WLF","BLM","BMU","BRN","BOL","BHR","BDI","BEN","BTN","JAM","BVT","BWA","WSM","BES","BRA","BHS","JEY","BLR","BLZ","RUS","RWA","SRB","TLS","REU","TKM","TJK","ROU","TKL","GNB","GUM","GTM","SGS","GRC","GNQ","GLP","JPN","GUY","GGY","GUF","GEO","GRD","GBR","GAB","SLV","GIN","GMB","GRL","GIB","GHA","OMN","TUN","JOR","HRV","HTI","HUN","HKG","HND","HMD","VEN","PRI","PSE","PLW","PRT","SJM","PRY","IRQ","PAN","PYF","PNG","PER","PAK","PHL","PCN","POL","SPM","ZMB","ESH","EST","EGY","ZAF","ECU","ITA","VNM","SLB","ETH","SOM","ZWE","SAU","ESP","ERI","MNE","MDA","MDG","MAF","MAR","MCO","UZB","MMR","MLI","MAC","MNG","MHL","MKD","MUS","MLT","MWI","MDV","MTQ","MNP","MSR","MRT","IMN","UGA","TZA","MYS","MEX","ISR","FRA","IOT","SHN","FIN","FJI","FLK","FSM","FRO","NIC","NLD","NOR","NAM","VUT","NCL","NER","NFK","NGA","NZL","NPL","NRU","NIU","COK","XKX","CIV","CHE","COL","CHN","CMR","CHL","CCK","CAN","COG","CAF","COD","CZE","CYP","CXR","CRI","CUW","CPV","CUB","SWZ","SYR","SXM","KGZ","KEN","SSD","SUR","KIR","KHM","KNA","COM","STP","SVK","KOR","SVN","PRK","KWT","SEN","SMR","SLE","SYC","KAZ","CYM","SGP","SWE","SDN","DOM","DMA","DJI","DNK","VGB","DEU","YEM","DZA","USA","URY","MYT","UMI","LBN","LCA","LAO","TUV","TWN","TTO","TUR","LKA","LIE","LVA","TON","LTU","LUX","LBR","LSO","THA","ATF","TGO","TCD","TCA","LBY","VAT","VCT","ARE","AND","ATG","AFG","AIA","VIR","ISL","IRN","ARM","ALB","AGO","ATA","ASM","ARG","AUS","AUT","ABW","IND","ALA","AZE","IRL","IDN","UKR","QAT","MOZ"]})(mQ);var cut=mQ.exports,hQ={exports:{}};(function(e){e.exports=["#####","####","###"]})(hQ);var lut=hQ.exports,gQ={exports:{}};(function(e){e.exports=["Alley","Avenue","Branch","Bridge","Brook","Brooks","Burg","Burgs","Bypass","Camp","Canyon","Cape","Causeway","Center","Centers","Circle","Circles","Cliff","Cliffs","Club","Common","Corner","Corners","Course","Court","Courts","Cove","Coves","Creek","Crescent","Crest","Crossing","Crossroad","Curve","Dale","Dam","Divide","Drive","Drive","Drives","Estate","Estates","Expressway","Extension","Extensions","Fall","Falls","Ferry","Field","Fields","Flat","Flats","Ford","Fords","Forest","Forge","Forges","Fork","Forks","Fort","Freeway","Garden","Gardens","Gateway","Glen","Glens","Green","Greens","Grove","Groves","Harbor","Harbors","Haven","Heights","Highway","Hill","Hills","Hollow","Inlet","Inlet","Island","Island","Islands","Islands","Isle","Isle","Junction","Junctions","Key","Keys","Knoll","Knolls","Lake","Lakes","Land","Landing","Lane","Light","Lights","Loaf","Lock","Locks","Locks","Lodge","Lodge","Loop","Mall","Manor","Manors","Meadow","Meadows","Mews","Mill","Mills","Mission","Mission","Motorway","Mount","Mountain","Mountain","Mountains","Mountains","Neck","Orchard","Oval","Overpass","Park","Parks","Parkway","Parkways","Pass","Passage","Path","Pike","Pine","Pines","Place","Plain","Plains","Plains","Plaza","Plaza","Point","Points","Port","Port","Ports","Ports","Prairie","Prairie","Radial","Ramp","Ranch","Rapid","Rapids","Rest","Ridge","Ridges","River","Road","Road","Roads","Roads","Route","Row","Rue","Run","Shoal","Shoals","Shore","Shores","Skyway","Spring","Springs","Springs","Spur","Spurs","Square","Square","Squares","Squares","Station","Station","Stravenue","Stravenue","Stream","Stream","Street","Street","Streets","Summit","Summit","Terrace","Throughway","Trace","Track","Trafficway","Trail","Trail","Tunnel","Tunnel","Turnpike","Turnpike","Underpass","Union","Unions","Valley","Valleys","Via","Viaduct","View","Views","Village","Village","Villages","Ville","Vista","Vista","Walk","Walks","Wall","Way","Ways","Well","Wells"]})(gQ);var uut=gQ.exports,vQ={exports:{}};(function(e){e.exports=["Apt. ###","Suite ###"]})(vQ);var dut=vQ.exports,yQ={exports:{}};(function(e){e.exports=["#####","#####-####"]})(yQ);var fut=yQ.exports,bQ={exports:{}};(function(e){e.exports=["#####","#####-####"]})(bQ);var put=bQ.exports,xQ={exports:{}};(function(e){e.exports=["Alabama","Alaska","Arizona","Arkansas","California","Colorado","Connecticut","Delaware","Florida","Georgia","Hawaii","Idaho","Illinois","Indiana","Iowa","Kansas","Kentucky","Louisiana","Maine","Maryland","Massachusetts","Michigan","Minnesota","Mississippi","Missouri","Montana","Nebraska","Nevada","New Hampshire","New Jersey","New Mexico","New York","North Carolina","North Dakota","Ohio","Oklahoma","Oregon","Pennsylvania","Rhode Island","South Carolina","South Dakota","Tennessee","Texas","Utah","Vermont","Virginia","Washington","West Virginia","Wisconsin","Wyoming"]})(xQ);var mut=xQ.exports,wQ={exports:{}};(function(e){e.exports=["AL","AK","AZ","AR","CA","CO","CT","DE","FL","GA","HI","ID","IL","IN","IA","KS","KY","LA","ME","MD","MA","MI","MN","MS","MO","MT","NE","NV","NH","NJ","NM","NY","NC","ND","OH","OK","OR","PA","RI","SC","SD","TN","TX","UT","VT","VA","WA","WV","WI","WY"]})(wQ);var hut=wQ.exports,CQ={exports:{}};(function(e){e.exports=["Pacific/Midway","Pacific/Pago_Pago","Pacific/Honolulu","America/Juneau","America/Los_Angeles","America/Tijuana","America/Denver","America/Phoenix","America/Chihuahua","America/Mazatlan","America/Chicago","America/Regina","America/Mexico_City","America/Mexico_City","America/Monterrey","America/Guatemala","America/New_York","America/Indiana/Indianapolis","America/Bogota","America/Lima","America/Lima","America/Halifax","America/Caracas","America/La_Paz","America/Santiago","America/St_Johns","America/Sao_Paulo","America/Argentina/Buenos_Aires","America/Guyana","America/Godthab","Atlantic/South_Georgia","Atlantic/Azores","Atlantic/Cape_Verde","Europe/Dublin","Europe/London","Europe/Lisbon","Europe/London","Africa/Casablanca","Africa/Monrovia","Etc/UTC","Europe/Belgrade","Europe/Bratislava","Europe/Budapest","Europe/Ljubljana","Europe/Prague","Europe/Sarajevo","Europe/Skopje","Europe/Warsaw","Europe/Zagreb","Europe/Brussels","Europe/Copenhagen","Europe/Madrid","Europe/Paris","Europe/Amsterdam","Europe/Berlin","Europe/Berlin","Europe/Rome","Europe/Stockholm","Europe/Vienna","Africa/Algiers","Europe/Bucharest","Africa/Cairo","Europe/Helsinki","Europe/Kiev","Europe/Riga","Europe/Sofia","Europe/Tallinn","Europe/Vilnius","Europe/Athens","Europe/Istanbul","Europe/Minsk","Asia/Jerusalem","Africa/Harare","Africa/Johannesburg","Europe/Moscow","Europe/Moscow","Europe/Moscow","Asia/Kuwait","Asia/Riyadh","Africa/Nairobi","Asia/Baghdad","Asia/Tehran","Asia/Muscat","Asia/Muscat","Asia/Baku","Asia/Tbilisi","Asia/Yerevan","Asia/Kabul","Asia/Yekaterinburg","Asia/Karachi","Asia/Karachi","Asia/Tashkent","Asia/Kolkata","Asia/Kolkata","Asia/Kolkata","Asia/Kolkata","Asia/Kathmandu","Asia/Dhaka","Asia/Dhaka","Asia/Colombo","Asia/Almaty","Asia/Novosibirsk","Asia/Rangoon","Asia/Bangkok","Asia/Bangkok","Asia/Jakarta","Asia/Krasnoyarsk","Asia/Shanghai","Asia/Chongqing","Asia/Hong_Kong","Asia/Urumqi","Asia/Kuala_Lumpur","Asia/Singapore","Asia/Taipei","Australia/Perth","Asia/Irkutsk","Asia/Ulaanbaatar","Asia/Seoul","Asia/Tokyo","Asia/Tokyo","Asia/Tokyo","Asia/Yakutsk","Australia/Darwin","Australia/Adelaide","Australia/Melbourne","Australia/Melbourne","Australia/Sydney","Australia/Brisbane","Australia/Hobart","Asia/Vladivostok","Pacific/Guam","Pacific/Port_Moresby","Asia/Magadan","Asia/Magadan","Pacific/Noumea","Pacific/Fiji","Asia/Kamchatka","Pacific/Majuro","Pacific/Auckland","Pacific/Auckland","Pacific/Tongatapu","Pacific/Fakaofo","Pacific/Apia"]})(CQ);var gut=CQ.exports,SQ={exports:{}};(function(e){e.exports=["#{city_prefix} #{Name.first_name}#{city_suffix}","#{city_prefix} #{Name.first_name}","#{Name.first_name}#{city_suffix}","#{Name.last_name}#{city_suffix}"]})(SQ);var vut=SQ.exports,jQ={exports:{}};(function(e){e.exports=["#{Name.first_name} #{street_suffix}","#{Name.last_name} #{street_suffix}"]})(jQ);var yut=jQ.exports,$Q={exports:{}};(function(e){e.exports=["#{building_number} #{street_name}"]})($Q);var but=$Q.exports,_Q={exports:{}};(function(e){e.exports=["United States of America"]})(_Q);var xut=_Q.exports,kQ={exports:{}};(function(e){e.exports=["North","East","South","West","Northeast","Northwest","Southeast","Southwest"]})(kQ);var wut=kQ.exports,EQ={exports:{}};(function(e){e.exports=["N","E","S","W","NE","NW","SE","SW"]})(EQ);var Cut=EQ.exports;(function(e){var t={};e.exports=t,t.city_prefix=rut,t.city_suffix=aut,t.county=out,t.country=iut,t.country_code=sut,t.country_code_alpha_3=cut,t.building_number=lut,t.street_suffix=uut,t.secondary_address=dut,t.postcode=fut,t.postcode_by_state=put,t.state=mut,t.state_abbr=hut,t.time_zone=gut,t.city=vut,t.street_name=yut,t.street_address=but,t.default_country=xut,t.direction=wut,t.direction_abbr=Cut})(cQ);var Sut=cQ.exports,RQ={exports:{}},AQ={exports:{}};(function(e){e.exports=["Inc","and Sons","LLC","Group"]})(AQ);var jut=AQ.exports,PQ={exports:{}};(function(e){e.exports=["Adaptive","Advanced","Ameliorated","Assimilated","Automated","Balanced","Business-focused","Centralized","Cloned","Compatible","Configurable","Cross-group","Cross-platform","Customer-focused","Customizable","Decentralized","De-engineered","Devolved","Digitized","Distributed","Diverse","Down-sized","Enhanced","Enterprise-wide","Ergonomic","Exclusive","Expanded","Extended","Face to face","Focused","Front-line","Fully-configurable","Function-based","Fundamental","Future-proofed","Grass-roots","Horizontal","Implemented","Innovative","Integrated","Intuitive","Inverse","Managed","Mandatory","Monitored","Multi-channelled","Multi-lateral","Multi-layered","Multi-tiered","Networked","Object-based","Open-architected","Open-source","Operative","Optimized","Optional","Organic","Organized","Persevering","Persistent","Phased","Polarised","Pre-emptive","Proactive","Profit-focused","Profound","Programmable","Progressive","Public-key","Quality-focused","Reactive","Realigned","Re-contextualized","Re-engineered","Reduced","Reverse-engineered","Right-sized","Robust","Seamless","Secured","Self-enabling","Sharable","Stand-alone","Streamlined","Switchable","Synchronised","Synergistic","Synergized","Team-oriented","Total","Triple-buffered","Universal","Up-sized","Upgradable","User-centric","User-friendly","Versatile","Virtual","Visionary","Vision-oriented"]})(PQ);var $ut=PQ.exports,MQ={exports:{}};(function(e){e.exports=["24 hour","24/7","3rd generation","4th generation","5th generation","6th generation","actuating","analyzing","asymmetric","asynchronous","attitude-oriented","background","bandwidth-monitored","bi-directional","bifurcated","bottom-line","clear-thinking","client-driven","client-server","coherent","cohesive","composite","context-sensitive","contextually-based","content-based","dedicated","demand-driven","didactic","directional","discrete","disintermediate","dynamic","eco-centric","empowering","encompassing","even-keeled","executive","explicit","exuding","fault-tolerant","foreground","fresh-thinking","full-range","global","grid-enabled","heuristic","high-level","holistic","homogeneous","human-resource","hybrid","impactful","incremental","intangible","interactive","intermediate","leading edge","local","logistical","maximized","methodical","mission-critical","mobile","modular","motivating","multimedia","multi-state","multi-tasking","national","needs-based","neutral","next generation","non-volatile","object-oriented","optimal","optimizing","radical","real-time","reciprocal","regional","responsive","scalable","secondary","solution-oriented","stable","static","systematic","systemic","system-worthy","tangible","tertiary","transitional","uniform","upward-trending","user-facing","value-added","web-enabled","well-modulated","zero administration","zero defect","zero tolerance"]})(MQ);var _ut=MQ.exports,TQ={exports:{}};(function(e){e.exports=["ability","access","adapter","algorithm","alliance","analyzer","application","approach","architecture","archive","artificial intelligence","array","attitude","benchmark","budgetary management","capability","capacity","challenge","circuit","collaboration","complexity","concept","conglomeration","contingency","core","customer loyalty","database","data-warehouse","definition","emulation","encoding","encryption","extranet","firmware","flexibility","focus group","forecast","frame","framework","function","functionalities","Graphic Interface","groupware","Graphical User Interface","hardware","help-desk","hierarchy","hub","implementation","info-mediaries","infrastructure","initiative","installation","instruction set","interface","internet solution","intranet","knowledge user","knowledge base","local area network","leverage","matrices","matrix","methodology","middleware","migration","model","moderator","monitoring","moratorium","neural-net","open architecture","open system","orchestration","paradigm","parallelism","policy","portal","pricing structure","process improvement","product","productivity","project","projection","protocol","secured line","service-desk","software","solution","standardization","strategy","structure","success","superstructure","support","synergy","system engine","task-force","throughput","time-frame","toolset","utilisation","website","workforce"]})(TQ);var kut=TQ.exports,OQ={exports:{}};(function(e){e.exports=["implement","utilize","integrate","streamline","optimize","evolve","transform","embrace","enable","orchestrate","leverage","reinvent","aggregate","architect","enhance","incentivize","morph","empower","envisioneer","monetize","harness","facilitate","seize","disintermediate","synergize","strategize","deploy","brand","grow","target","syndicate","synthesize","deliver","mesh","incubate","engage","maximize","benchmark","expedite","reintermediate","whiteboard","visualize","repurpose","innovate","scale","unleash","drive","extend","engineer","revolutionize","generate","exploit","transition","e-enable","iterate","cultivate","matrix","productize","redefine","recontextualize"]})(OQ);var Eut=OQ.exports,zQ={exports:{}};(function(e){e.exports=["clicks-and-mortar","value-added","vertical","proactive","robust","revolutionary","scalable","leading-edge","innovative","intuitive","strategic","e-business","mission-critical","sticky","one-to-one","24/7","end-to-end","global","B2B","B2C","granular","frictionless","virtual","viral","dynamic","24/365","best-of-breed","killer","magnetic","bleeding-edge","web-enabled","interactive","dot-com","sexy","back-end","real-time","efficient","front-end","distributed","seamless","extensible","turn-key","world-class","open-source","cross-platform","cross-media","synergistic","bricks-and-clicks","out-of-the-box","enterprise","integrated","impactful","wireless","transparent","next-generation","cutting-edge","user-centric","visionary","customized","ubiquitous","plug-and-play","collaborative","compelling","holistic","rich"]})(zQ);var Rut=zQ.exports,IQ={exports:{}};(function(e){e.exports=["synergies","web-readiness","paradigms","markets","partnerships","infrastructures","platforms","initiatives","channels","eyeballs","communities","ROI","solutions","e-tailers","e-services","action-items","portals","niches","technologies","content","vortals","supply-chains","convergence","relationships","architectures","interfaces","e-markets","e-commerce","systems","bandwidth","infomediaries","models","mindshare","deliverables","users","schemas","networks","applications","metrics","e-business","functionalities","experiences","web services","methodologies","blockchains"]})(IQ);var Aut=IQ.exports,LQ={exports:{}};(function(e){e.exports=["#{Name.last_name} #{suffix}","#{Name.last_name}-#{Name.last_name}","#{Name.last_name}, #{Name.last_name} and #{Name.last_name}"]})(LQ);var Put=LQ.exports;(function(e){var t={};e.exports=t,t.suffix=jut,t.adjective=$ut,t.descriptor=_ut,t.noun=kut,t.bs_verb=Eut,t.bs_adjective=Rut,t.bs_noun=Aut,t.name=Put})(RQ);var Mut=RQ.exports,DQ={exports:{}},NQ={exports:{}};(function(e){e.exports=["gmail.com","yahoo.com","hotmail.com"]})(NQ);var Tut=NQ.exports,FQ={exports:{}};(function(e){e.exports=["example.org","example.com","example.net"]})(FQ);var Out=FQ.exports,BQ={exports:{}};(function(e){e.exports=["com","biz","info","name","net","org"]})(BQ);var zut=BQ.exports,WQ={exports:{}};(function(e){e.exports=["https://s3.amazonaws.com/uifaces/faces/twitter/jarjan/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mahdif/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/sprayaga/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ruzinav/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/Skyhartman/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/moscoz/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/kurafire/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/91bilal/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/igorgarybaldi/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/calebogden/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/malykhinv/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/joelhelin/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/kushsolitary/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/coreyweb/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/snowshade/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/areus/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/holdenweb/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/heyimjuani/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/envex/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/unterdreht/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/collegeman/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/peejfancher/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/andyisonline/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ultragex/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/adellecharles/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ateneupopular/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ahmetalpbalkan/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/Stievius/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/kerem/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/osvaldas/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/angelceballos/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/thierrykoblentz/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/peterlandt/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/catarino/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/weglov/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/brandclay/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ahmetsulek/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/nicolasfolliot/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jayrobinson/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/victorerixon/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/kolage/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/michzen/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/markjenkins/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/nicolai_larsen/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/gt/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/noxdzine/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/alagoon/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/idiot/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mizko/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/chadengle/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mutlu82/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/simobenso/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/vocino/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/guiiipontes/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/soyjavi/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/joshaustin/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/tomaslau/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/VinThomas/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ManikRathee/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/langate/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/cemshid/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/leemunroe/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/_shahedk/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/enda/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/BillSKenney/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/divya/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/joshhemsley/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/sindresorhus/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/soffes/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/9lessons/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/linux29/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/Chakintosh/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/anaami/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/joreira/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/shadeed9/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/scottkclark/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jedbridges/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/salleedesign/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/marakasina/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ariil/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/BrianPurkiss/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/michaelmartinho/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/bublienko/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/devankoshal/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ZacharyZorbas/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/timmillwood/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/joshuasortino/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/damenleeturks/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/tomas_janousek/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/herrhaase/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/RussellBishop/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/brajeshwar/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/cbracco/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/bermonpainter/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/abdullindenis/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/isacosta/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/suprb/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/yalozhkin/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/chandlervdw/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/iamgarth/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/_victa/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/commadelimited/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/roybarberuk/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/axel/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/vladarbatov/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ffbel/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/syropian/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ankitind/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/traneblow/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/flashmurphy/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ChrisFarina78/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/baliomega/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/saschamt/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jm_denis/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/anoff/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/kennyadr/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/chatyrko/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/dingyi/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mds/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/terryxlife/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/aaroni/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/kinday/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/prrstn/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/eduardostuart/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/dhilipsiva/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/GavicoInd/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/baires/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/rohixx/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/bigmancho/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/blakesimkins/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/leeiio/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/tjrus/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/uberschizo/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/kylefoundry/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/claudioguglieri/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ripplemdk/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/exentrich/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jakemoore/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/joaoedumedeiros/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/poormini/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/tereshenkov/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/keryilmaz/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/haydn_woods/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/rude/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/llun/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/sgaurav_baghel/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jamiebrittain/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/badlittleduck/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/pifagor/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/agromov/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/benefritz/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/erwanhesry/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/diesellaws/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jeremiaha/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/koridhandy/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/chaensel/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/andrewcohen/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/smaczny/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/gonzalorobaina/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/nandini_m/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/sydlawrence/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/cdharrison/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/tgerken/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/lewisainslie/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/charliecwaite/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/robbschiller/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/flexrs/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mattdetails/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/raquelwilson/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/karsh/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mrmartineau/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/opnsrce/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/hgharrygo/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/maximseshuk/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/uxalex/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/samihah/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/chanpory/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/sharvin/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/josemarques/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jefffis/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/krystalfister/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/lokesh_coder/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/thedamianhdez/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/dpmachado/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/funwatercat/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/timothycd/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ivanfilipovbg/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/picard102/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/marcobarbosa/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/krasnoukhov/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/g3d/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ademilter/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/rickdt/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/operatino/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/bungiwan/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/hugomano/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/logorado/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/dc_user/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/horaciobella/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/SlaapMe/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/teeragit/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/iqonicd/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ilya_pestov/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/andrewarrow/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ssiskind/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/stan/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/HenryHoffman/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/rdsaunders/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/adamsxu/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/curiousoffice/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/themadray/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/michigangraham/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/kohette/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/nickfratter/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/runningskull/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/madysondesigns/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/brenton_clarke/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jennyshen/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/bradenhamm/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/kurtinc/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/amanruzaini/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/coreyhaggard/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/Karimmove/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/aaronalfred/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/wtrsld/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jitachi/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/therealmarvin/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/pmeissner/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ooomz/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/chacky14/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jesseddy/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/shanehudson/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/akmur/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/IsaryAmairani/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/arthurholcombe1/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/boxmodel/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ehsandiary/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/LucasPerdidao/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/shalt0ni/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/swaplord/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/kaelifa/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/plbabin/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/guillemboti/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/arindam_/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/renbyrd/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/thiagovernetti/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jmillspaysbills/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mikemai2awesome/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jervo/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mekal/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/sta1ex/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/robergd/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/felipecsl/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/andrea211087/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/garand/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/dhooyenga/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/abovefunction/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/pcridesagain/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/randomlies/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/BryanHorsey/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/heykenneth/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/dahparra/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/allthingssmitty/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/danvernon/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/beweinreich/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/increase/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/falvarad/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/alxndrustinov/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/souuf/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/orkuncaylar/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/AM_Kn2/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/gearpixels/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/bassamology/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/vimarethomas/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/kosmar/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/SULiik/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mrjamesnoble/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/silvanmuhlemann/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/shaneIxD/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/nacho/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/yigitpinarbasi/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/buzzusborne/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/aaronkwhite/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/rmlewisuk/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/giancarlon/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/nbirckel/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/d_nny_m_cher/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/sdidonato/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/atariboy/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/abotap/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/karalek/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/psdesignuk/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ludwiczakpawel/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/nemanjaivanovic/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/baluli/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ahmadajmi/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/vovkasolovev/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/samgrover/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/derienzo777/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jonathansimmons/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/nelsonjoyce/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/S0ufi4n3/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/xtopherpaul/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/oaktreemedia/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/nateschulte/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/findingjenny/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/namankreative/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/antonyzotov/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/we_social/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/leehambley/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/solid_color/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/abelcabans/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mbilderbach/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/kkusaa/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jordyvdboom/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/carlosgavina/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/pechkinator/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/vc27/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/rdbannon/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/croakx/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/suribbles/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/kerihenare/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/catadeleon/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/gcmorley/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/duivvv/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/saschadroste/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/victorDubugras/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/wintopia/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mattbilotti/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/taylorling/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/megdraws/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/meln1ks/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mahmoudmetwally/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/Silveredge9/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/derekebradley/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/happypeter1983/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/travis_arnold/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/artem_kostenko/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/adobi/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/daykiine/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/alek_djuric/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/scips/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/miguelmendes/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/justinrhee/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/alsobrooks/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/fronx/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mcflydesign/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/santi_urso/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/allfordesign/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/stayuber/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/bertboerland/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/marosholly/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/adamnac/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/cynthiasavard/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/muringa/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/danro/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/hiemil/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jackiesaik/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/iduuck/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/antjanus/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/aroon_sharma/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/dshster/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/thehacker/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/michaelbrooksjr/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ryanmclaughlin/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/clubb3rry/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/taybenlor/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/xripunov/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/myastro/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/adityasutomo/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/digitalmaverick/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/hjartstrorn/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/itolmach/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/vaughanmoffitt/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/abdots/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/isnifer/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/sergeysafonov/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/maz/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/scrapdnb/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/chrismj83/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/vitorleal/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/sokaniwaal/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/zaki3d/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/illyzoren/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mocabyte/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/osmanince/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/djsherman/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/davidhemphill/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/waghner/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/necodymiconer/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/praveen_vijaya/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/fabbrucci/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/travishines/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/kuldarkalvik/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/Elt_n/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/phillapier/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/okseanjay/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/id835559/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/kudretkeskin/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/anjhero/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/scott_riley/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/noufalibrahim/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/h1brd/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/borges_marcos/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/devinhalladay/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ciaranr/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/stefooo/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mikebeecham/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/tonymillion/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/joshuaraichur/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/irae/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/petrangr/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/dmitriychuta/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/charliegann/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/arashmanteghi/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/adhamdannaway/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ainsleywagon/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/svenlen/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/faisalabid/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/beshur/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/carlyson/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/dutchnadia/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/teddyzetterlund/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/samuelkraft/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/aoimedia/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/toddrew/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/codepoet_ru/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/artvavs/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/benoitboucart/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jomarmen/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/kolmarlopez/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/creartinc/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/homka/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/gaborenton/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/robinclediere/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/maximsorokin/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/plasticine/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/j2deme/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/peachananr/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/kapaluccio/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/de_ascanio/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/rikas/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/dawidwu/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/marcoramires/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/angelcreative/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/rpatey/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/popey/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/rehatkathuria/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/the_purplebunny/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/1markiz/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ajaxy_ru/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/brenmurrell/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/dudestein/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/oskarlevinson/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/victorstuber/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/nehfy/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/vicivadeline/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/leandrovaranda/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/scottgallant/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/victor_haydin/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/sawrb/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ryhanhassan/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/amayvs/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/a_brixen/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/karolkrakowiak_/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/herkulano/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/geran7/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/cggaurav/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/chris_witko/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/lososina/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/polarity/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mattlat/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/brandonburke/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/constantx/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/teylorfeliz/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/craigelimeliah/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/rachelreveley/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/reabo101/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/rahmeen/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ky/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/rickyyean/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/j04ntoh/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/spbroma/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/sebashton/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jpenico/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/francis_vega/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/oktayelipek/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/kikillo/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/fabbianz/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/larrygerard/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/BroumiYoussef/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/0therplanet/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mbilalsiddique1/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ionuss/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/grrr_nl/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/liminha/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/rawdiggie/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ryandownie/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/sethlouey/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/pixage/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/arpitnj/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/switmer777/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/josevnclch/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/kanickairaj/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/puzik/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/tbakdesigns/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/besbujupi/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/supjoey/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/lowie/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/linkibol/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/balintorosz/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/imcoding/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/agustincruiz/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/gusoto/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/thomasschrijer/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/superoutman/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/kalmerrautam/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/gabrielizalo/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/gojeanyn/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/davidbaldie/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/_vojto/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/laurengray/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jydesign/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mymyboy/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/nellleo/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/marciotoledo/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ninjad3m0/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/to_soham/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/hasslunsford/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/muridrahhal/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/levisan/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/grahamkennery/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/lepetitogre/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/antongenkin/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/nessoila/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/amandabuzard/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/safrankov/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/cocolero/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/dss49/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/matt3224/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/bluesix/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/quailandquasar/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/AlbertoCococi/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/lepinski/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/sementiy/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mhudobivnik/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/thibaut_re/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/olgary/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/shojberg/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mtolokonnikov/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/bereto/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/naupintos/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/wegotvices/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/xadhix/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/macxim/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/rodnylobos/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/madcampos/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/madebyvadim/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/bartoszdawydzik/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/supervova/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/markretzloff/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/vonachoo/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/darylws/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/stevedesigner/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mylesb/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/herbigt/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/depaulawagner/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/geshan/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/gizmeedevil1991/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/_scottburgess/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/lisovsky/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/davidsasda/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/artd_sign/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/YoungCutlass/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mgonto/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/itstotallyamy/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/victorquinn/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/osmond/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/oksanafrewer/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/zauerkraut/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/iamkeithmason/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/nitinhayaran/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/lmjabreu/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mandalareopens/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/thinkleft/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ponchomendivil/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/juamperro/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/brunodesign1206/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/caseycavanagh/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/luxe/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/dotgridline/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/spedwig/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/madewulf/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mattsapii/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/helderleal/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/chrisstumph/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jayphen/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/nsamoylov/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/chrisvanderkooi/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/justme_timothyg/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/otozk/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/prinzadi/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/gu5taf/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/cyril_gaillard/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/d_kobelyatsky/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/daniloc/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/nwdsha/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/romanbulah/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/skkirilov/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/dvdwinden/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/dannol/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/thekevinjones/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jwalter14/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/timgthomas/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/buddhasource/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/uxpiper/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/thatonetommy/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/diansigitp/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/adrienths/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/klimmka/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/gkaam/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/derekcramer/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jennyyo/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/nerrsoft/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/xalionmalik/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/edhenderson/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/keyuri85/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/roxanejammet/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/kimcool/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/edkf/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/matkins/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/alessandroribe/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jacksonlatka/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/lebronjennan/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/kostaspt/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/karlkanall/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/moynihan/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/danpliego/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/saulihirvi/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/wesleytrankin/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/fjaguero/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/bowbrick/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mashaaaaal/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/yassiryahya/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/dparrelli/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/fotomagin/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/aka_james/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/denisepires/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/iqbalperkasa/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/martinansty/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jarsen/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/r_oy/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/justinrob/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/gabrielrosser/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/malgordon/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/carlfairclough/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/michaelabehsera/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/pierrestoffe/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/enjoythetau/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/loganjlambert/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/rpeezy/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/coreyginnivan/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/michalhron/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/msveet/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/lingeswaran/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/kolsvein/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/peter576/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/reideiredale/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/joeymurdah/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/raphaelnikson/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mvdheuvel/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/maxlinderman/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jimmuirhead/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/begreative/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/frankiefreesbie/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/robturlinckx/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/Talbi_ConSept/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/longlivemyword/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/vanchesz/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/maiklam/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/hermanobrother/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/rez___a/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/gregsqueeb/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/greenbes/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/_ragzor/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/anthonysukow/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/fluidbrush/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/dactrtr/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jehnglynn/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/bergmartin/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/hugocornejo/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/_kkga/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/dzantievm/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/sawalazar/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/sovesove/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jonsgotwood/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/byryan/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/vytautas_a/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mizhgan/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/cicerobr/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/nilshelmersson/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/d33pthought/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/davecraige/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/nckjrvs/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/alexandermayes/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jcubic/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/craigrcoles/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/bagawarman/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/rob_thomas10/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/cofla/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/maikelk/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/rtgibbons/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/russell_baylis/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mhesslow/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/codysanfilippo/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/webtanya/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/madebybrenton/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/dcalonaci/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/perfectflow/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jjsiii/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/saarabpreet/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/kumarrajan12123/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/iamsteffen/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/themikenagle/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ceekaytweet/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/larrybolt/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/conspirator/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/dallasbpeters/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/n3dmax/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/terpimost/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/byrnecore/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/j_drake_/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/calebjoyce/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/russoedu/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/hoangloi/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/tobysaxon/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/gofrasdesign/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/dimaposnyy/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/tjisousa/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/okandungel/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/billyroshan/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/oskamaya/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/motionthinks/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/knilob/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ashocka18/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/marrimo/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/bartjo/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/omnizya/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ernestsemerda/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/andreas_pr/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/edgarchris99/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/thomasgeisen/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/gseguin/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/joannefournier/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/demersdesigns/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/adammarsbar/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/nasirwd/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/n_tassone/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/javorszky/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/themrdave/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/yecidsm/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/nicollerich/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/canapud/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/nicoleglynn/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/judzhin_miles/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/designervzm/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/kianoshp/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/evandrix/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/alterchuca/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/dhrubo/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ma_tiax/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ssbb_me/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/dorphern/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mauriolg/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/bruno_mart/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mactopus/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/the_winslet/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/joemdesign/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/Shriiiiimp/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jacobbennett/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/nfedoroff/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/iamglimy/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/allagringaus/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/aiiaiiaii/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/olaolusoga/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/buryaknick/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/wim1k/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/nicklacke/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/a1chapone/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/steynviljoen/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/strikewan/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ryankirkman/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/andrewabogado/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/doooon/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jagan123/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ariffsetiawan/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/elenadissi/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mwarkentin/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/thierrymeier_/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/r_garcia/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/dmackerman/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/borantula/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/konus/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/spacewood_/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ryuchi311/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/evanshajed/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/tristanlegros/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/shoaib253/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/aislinnkelly/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/okcoker/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/timpetricola/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/sunshinedgirl/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/chadami/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/aleclarsoniv/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/nomidesigns/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/petebernardo/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/scottiedude/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/millinet/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/imsoper/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/imammuht/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/benjamin_knight/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/nepdud/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/joki4/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/lanceguyatt/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/bboy1895/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/amywebbb/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/rweve/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/haruintesettden/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ricburton/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/nelshd/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/batsirai/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/primozcigler/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jffgrdnr/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/8d3k/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/geneseleznev/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/al_li/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/souperphly/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mslarkina/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/2fockus/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/cdavis565/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/xiel/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/turkutuuli/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/uxward/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/lebinoclard/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/gauravjassal/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/davidmerrique/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mdsisto/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/andrewofficer/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/kojourin/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/dnirmal/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/kevka/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mr_shiznit/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/aluisio_azevedo/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/cloudstudio/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/danvierich/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/alexivanichkin/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/fran_mchamy/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/perretmagali/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/betraydan/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/cadikkara/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/matbeedotcom/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jeremyworboys/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/bpartridge/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/michaelkoper/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/silv3rgvn/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/alevizio/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/johnsmithagency/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/lawlbwoy/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/vitor376/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/desastrozo/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/thimo_cz/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jasonmarkjones/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/lhausermann/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/xravil/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/guischmitt/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/vigobronx/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/panghal0/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/miguelkooreman/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/surgeonist/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/christianoliff/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/caspergrl/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/iamkarna/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ipavelek/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/pierre_nel/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/y2graphic/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/sterlingrules/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/elbuscainfo/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/bennyjien/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/stushona/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/estebanuribe/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/embrcecreations/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/danillos/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/elliotlewis/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/charlesrpratt/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/vladyn/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/emmeffess/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/carlosblanco_eu/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/leonfedotov/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/rangafangs/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/chris_frees/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/tgormtx/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/bryan_topham/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jpscribbles/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mighty55/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/carbontwelve/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/isaacfifth/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/iamjdeleon/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/snowwrite/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/barputro/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/drewbyreese/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/sachacorazzi/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/bistrianiosip/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/magoo04/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/pehamondello/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/yayteejay/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/a_harris88/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/algunsanabria/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/zforrester/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ovall/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/carlosjgsousa/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/geobikas/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ah_lice/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/looneydoodle/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/nerdgr8/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ddggccaa/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/zackeeler/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/normanbox/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/el_fuertisimo/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ismail_biltagi/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/juangomezw/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jnmnrd/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/patrickcoombe/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ryanjohnson_me/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/markolschesky/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jeffgolenski/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/kvasnic/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/gauchomatt/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/afusinatto/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/kevinoh/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/okansurreel/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/adamawesomeface/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/emileboudeling/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/arishi_/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/juanmamartinez/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/wikiziner/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/danthms/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mkginfo/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/terrorpixel/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/curiousonaut/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/prheemo/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/michaelcolenso/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/foczzi/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/martip07/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/thaodang17/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/johncafazza/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/robinlayfield/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/franciscoamk/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/abdulhyeuk/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/marklamb/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/edobene/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/andresenfredrik/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mikaeljorhult/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/chrisslowik/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/vinciarts/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/meelford/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/elliotnolten/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/yehudab/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/vijaykarthik/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/bfrohs/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/josep_martins/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/attacks/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/sur4dye/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/tumski/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/instalox/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mangosango/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/paulfarino/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/kazaky999/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/kiwiupover/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/nvkznemo/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/tom_even/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ratbus/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/woodsman001/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/joshmedeski/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/thewillbeard/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/psaikali/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/joe_black/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/aleinadsays/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/marcusgorillius/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/hota_v/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jghyllebert/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/shinze/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/janpalounek/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jeremiespoken/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/her_ruu/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/dansowter/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/felipeapiress/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/magugzbrand2d/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/posterjob/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/nathalie_fs/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/bobbytwoshoes/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/dreizle/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jeremymouton/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/elisabethkjaer/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/notbadart/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mohanrohith/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jlsolerdeltoro/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/itskawsar/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/slowspock/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/zvchkelly/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/wiljanslofstra/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/craighenneberry/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/trubeatto/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/juaumlol/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/samscouto/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/BenouarradeM/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/gipsy_raf/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/netonet_il/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/arkokoley/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/itsajimithing/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/smalonso/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/victordeanda/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/_dwite_/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/richardgarretts/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/gregrwilkinson/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/anatolinicolae/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/lu4sh1i/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/stefanotirloni/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ostirbu/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/darcystonge/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/naitanamoreno/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/michaelcomiskey/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/adhiardana/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/marcomano_/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/davidcazalis/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/falconerie/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/gregkilian/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/bcrad/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/bolzanmarco/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/low_res/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/vlajki/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/petar_prog/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jonkspr/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/akmalfikri/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mfacchinello/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/atanism/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/harry_sistalam/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/murrayswift/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/bobwassermann/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/gavr1l0/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/madshensel/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mr_subtle/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/deviljho_/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/salimianoff/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/joetruesdell/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/twittypork/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/airskylar/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/dnezkumar/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/dgajjar/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/cherif_b/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/salvafc/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/louis_currie/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/deeenright/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/cybind/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/eyronn/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/sweetdelisa/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/cboller1/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/andresdjasso/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/melvindidit/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/andysolomon/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/thaisselenator_/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/lvovenok/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/giuliusa/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/belyaev_rs/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/overcloacked/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/kamal_chaneman/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/incubo82/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/hellofeverrrr/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mhaligowski/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/sunlandictwin/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/bu7921/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/andytlaw/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jeremery/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/finchjke/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/manigm/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/umurgdk/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/scottfeltham/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ganserene/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mutu_krish/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jodytaggart/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ntfblog/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/tanveerrao/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/hfalucas/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/alxleroydeval/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/kucingbelang4/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/bargaorobalo/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/colgruv/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/stalewine/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/kylefrost/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/baumannzone/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/angelcolberg/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/sachingawas/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jjshaw14/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ramanathan_pdy/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/johndezember/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/nilshoenson/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/brandonmorreale/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/nutzumi/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/brandonflatsoda/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/sergeyalmone/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/klefue/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/kirangopal/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/baumann_alex/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/matthewkay_/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jay_wilburn/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/shesgared/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/apriendeau/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/johnriordan/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/wake_gs/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/aleksitappura/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/emsgulam/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/xilantra/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/imomenui/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/sircalebgrove/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/newbrushes/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/hsinyo23/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/m4rio/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/katiemdaly/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/s4f1/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ecommerceil/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/marlinjayakody/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/swooshycueb/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/sangdth/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/coderdiaz/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/bluefx_/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/vivekprvr/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/sasha_shestakov/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/eugeneeweb/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/dgclegg/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/n1ght_coder/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/dixchen/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/blakehawksworth/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/trueblood_33/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/hai_ninh_nguyen/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/marclgonzales/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/yesmeck/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/stephcoue/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/doronmalki/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ruehldesign/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/anasnakawa/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/kijanmaharjan/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/wearesavas/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/stefvdham/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/tweetubhai/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/alecarpentier/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/fiterik/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/antonyryndya/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/d00maz/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/theonlyzeke/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/missaaamy/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/carlosm/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/manekenthe/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/reetajayendra/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jeremyshimko/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/justinrgraham/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/stefanozoffoli/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/overra/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mrebay007/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/shvelo96/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/pyronite/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/thedjpetersen/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/rtyukmaev/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/_williamguerra/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/albertaugustin/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/vikashpathak18/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/kevinjohndayy/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/vj_demien/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/colirpixoil/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/goddardlewis/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/laasli/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jqiuss/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/heycamtaylor/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/nastya_mane/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mastermindesign/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ccinojasso1/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/nyancecom/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/sandywoodruff/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/bighanddesign/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/sbtransparent/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/aviddayentonbay/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/richwild/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/kaysix_dizzy/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/tur8le/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/seyedhossein1/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/privetwagner/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/emmandenn/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/dev_essentials/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jmfsocial/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/_yardenoon/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mateaodviteza/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/weavermedia/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mufaddal_mw/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/hafeeskhan/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ashernatali/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/sulaqo/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/eddiechen/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/josecarlospsh/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/vm_f/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/enricocicconi/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/danmartin70/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/gmourier/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/donjain/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mrxloka/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/_pedropinho/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/eitarafa/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/oscarowusu/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ralph_lam/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/panchajanyag/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/woodydotmx/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/jerrybai1907/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/marshallchen_/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/xamorep/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/aio___/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/chaabane_wail/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/txcx/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/akashsharma39/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/falling_soul/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/sainraja/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mugukamil/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/johannesneu/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/markwienands/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/karthipanraj/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/balakayuriy/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/alan_zhang_/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/layerssss/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/kaspernordkvist/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/mirfanqureshi/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/hanna_smi/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/VMilescu/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/aeon56/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/m_kalibry/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/sreejithexp/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/dicesales/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/dhoot_amit/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/smenov/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/lonesomelemon/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/vladimirdevic/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/joelcipriano/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/haligaliharun/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/buleswapnil/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/serefka/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/ifarafonow/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/vikasvinfotech/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/urrutimeoli/128.jpg","https://s3.amazonaws.com/uifaces/faces/twitter/areandacom/128.jpg"]})(WQ);var Iut=WQ.exports;(function(e){var t={};e.exports=t,t.free_email=Tut,t.example_email=Out,t.domain_suffix=zut,t.avatar_uri=Iut})(DQ);var Lut=DQ.exports,UQ={exports:{}},HQ={exports:{}};(function(e){e.exports=["utf8_unicode_ci","utf8_general_ci","utf8_bin","ascii_bin","ascii_general_ci","cp1250_bin","cp1250_general_ci"]})(HQ);var Dut=HQ.exports,qQ={exports:{}};(function(e){e.exports=["id","title","name","email","phone","token","group","category","password","comment","avatar","status","createdAt","updatedAt"]})(qQ);var Nut=qQ.exports,VQ={exports:{}};(function(e){e.exports=["InnoDB","MyISAM","MEMORY","CSV","BLACKHOLE","ARCHIVE"]})(VQ);var Fut=VQ.exports,GQ={exports:{}};(function(e){e.exports=["int","varchar","text","date","datetime","tinyint","time","timestamp","smallint","mediumint","bigint","decimal","float","double","real","bit","boolean","serial","blob","binary","enum","set","geometry","point"]})(GQ);var But=GQ.exports;(function(e){var t={};e.exports=t,t.collation=Dut,t.column=Nut,t.engine=Fut,t.type=But})(UQ);var Wut=UQ.exports,KQ={exports:{}},JQ={exports:{}};(function(e){e.exports=["alias","consequatur","aut","perferendis","sit","voluptatem","accusantium","doloremque","aperiam","eaque","ipsa","quae","ab","illo","inventore","veritatis","et","quasi","architecto","beatae","vitae","dicta","sunt","explicabo","aspernatur","aut","odit","aut","fugit","sed","quia","consequuntur","magni","dolores","eos","qui","ratione","voluptatem","sequi","nesciunt","neque","dolorem","ipsum","quia","dolor","sit","amet","consectetur","adipisci","velit","sed","quia","non","numquam","eius","modi","tempora","incidunt","ut","labore","et","dolore","magnam","aliquam","quaerat","voluptatem","ut","enim","ad","minima","veniam","quis","nostrum","exercitationem","ullam","corporis","nemo","enim","ipsam","voluptatem","quia","voluptas","sit","suscipit","laboriosam","nisi","ut","aliquid","ex","ea","commodi","consequatur","quis","autem","vel","eum","iure","reprehenderit","qui","in","ea","voluptate","velit","esse","quam","nihil","molestiae","et","iusto","odio","dignissimos","ducimus","qui","blanditiis","praesentium","laudantium","totam","rem","voluptatum","deleniti","atque","corrupti","quos","dolores","et","quas","molestias","excepturi","sint","occaecati","cupiditate","non","provident","sed","ut","perspiciatis","unde","omnis","iste","natus","error","similique","sunt","in","culpa","qui","officia","deserunt","mollitia","animi","id","est","laborum","et","dolorum","fuga","et","harum","quidem","rerum","facilis","est","et","expedita","distinctio","nam","libero","tempore","cum","soluta","nobis","est","eligendi","optio","cumque","nihil","impedit","quo","porro","quisquam","est","qui","minus","id","quod","maxime","placeat","facere","possimus","omnis","voluptas","assumenda","est","omnis","dolor","repellendus","temporibus","autem","quibusdam","et","aut","consequatur","vel","illum","qui","dolorem","eum","fugiat","quo","voluptas","nulla","pariatur","at","vero","eos","et","accusamus","officiis","debitis","aut","rerum","necessitatibus","saepe","eveniet","ut","et","voluptates","repudiandae","sint","et","molestiae","non","recusandae","itaque","earum","rerum","hic","tenetur","a","sapiente","delectus","ut","aut","reiciendis","voluptatibus","maiores","doloribus","asperiores","repellat"]})(JQ);var Uut=JQ.exports,YQ={exports:{}};(function(e){e.exports=["abbas","abduco","abeo","abscido","absconditus","absens","absorbeo","absque","abstergo","absum","abundans","abutor","accedo","accendo","acceptus","accipio","accommodo","accusator","acer","acerbitas","acervus","acidus","acies","acquiro","acsi","adamo","adaugeo","addo","adduco","ademptio","adeo","adeptio","adfectus","adfero","adficio","adflicto","adhaero","adhuc","adicio","adimpleo","adinventitias","adipiscor","adiuvo","administratio","admiratio","admitto","admoneo","admoveo","adnuo","adopto","adsidue","adstringo","adsuesco","adsum","adulatio","adulescens","adultus","aduro","advenio","adversus","advoco","aedificium","aeger","aegre","aegrotatio","aegrus","aeneus","aequitas","aequus","aer","aestas","aestivus","aestus","aetas","aeternus","ager","aggero","aggredior","agnitio","agnosco","ago","ait","aiunt","alienus","alii","alioqui","aliqua","alius","allatus","alo","alter","altus","alveus","amaritudo","ambitus","ambulo","amicitia","amiculum","amissio","amita","amitto","amo","amor","amoveo","amplexus","amplitudo","amplus","ancilla","angelus","angulus","angustus","animadverto","animi","animus","annus","anser","ante","antea","antepono","antiquus","aperio","aperte","apostolus","apparatus","appello","appono","appositus","approbo","apto","aptus","apud","aqua","ara","aranea","arbitro","arbor","arbustum","arca","arceo","arcesso","arcus","argentum","argumentum","arguo","arma","armarium","armo","aro","ars","articulus","artificiose","arto","arx","ascisco","ascit","asper","aspicio","asporto","assentator","astrum","atavus","ater","atqui","atrocitas","atrox","attero","attollo","attonbitus","auctor","auctus","audacia","audax","audentia","audeo","audio","auditor","aufero","aureus","auris","aurum","aut","autem","autus","auxilium","avaritia","avarus","aveho","averto","avoco","baiulus","balbus","barba","bardus","basium","beatus","bellicus","bellum","bene","beneficium","benevolentia","benigne","bestia","bibo","bis","blandior","bonus","bos","brevis","cado","caecus","caelestis","caelum","calamitas","calcar","calco","calculus","callide","campana","candidus","canis","canonicus","canto","capillus","capio","capitulus","capto","caput","carbo","carcer","careo","caries","cariosus","caritas","carmen","carpo","carus","casso","caste","casus","catena","caterva","cattus","cauda","causa","caute","caveo","cavus","cedo","celebrer","celer","celo","cena","cenaculum","ceno","censura","centum","cerno","cernuus","certe","certo","certus","cervus","cetera","charisma","chirographum","cibo","cibus","cicuta","cilicium","cimentarius","ciminatio","cinis","circumvenio","cito","civis","civitas","clam","clamo","claro","clarus","claudeo","claustrum","clementia","clibanus","coadunatio","coaegresco","coepi","coerceo","cogito","cognatus","cognomen","cogo","cohaero","cohibeo","cohors","colligo","colloco","collum","colo","color","coma","combibo","comburo","comedo","comes","cometes","comis","comitatus","commemoro","comminor","commodo","communis","comparo","compello","complectus","compono","comprehendo","comptus","conatus","concedo","concido","conculco","condico","conduco","confero","confido","conforto","confugo","congregatio","conicio","coniecto","conitor","coniuratio","conor","conqueror","conscendo","conservo","considero","conspergo","constans","consuasor","contabesco","contego","contigo","contra","conturbo","conventus","convoco","copia","copiose","cornu","corona","corpus","correptius","corrigo","corroboro","corrumpo","coruscus","cotidie","crapula","cras","crastinus","creator","creber","crebro","credo","creo","creptio","crepusculum","cresco","creta","cribro","crinis","cruciamentum","crudelis","cruentus","crur","crustulum","crux","cubicularis","cubitum","cubo","cui","cuius","culpa","culpo","cultellus","cultura","cum","cunabula","cunae","cunctatio","cupiditas","cupio","cuppedia","cupressus","cur","cura","curatio","curia","curiositas","curis","curo","curriculum","currus","cursim","curso","cursus","curto","curtus","curvo","curvus","custodia","damnatio","damno","dapifer","debeo","debilito","decens","decerno","decet","decimus","decipio","decor","decretum","decumbo","dedecor","dedico","deduco","defaeco","defendo","defero","defessus","defetiscor","deficio","defigo","defleo","defluo","defungo","degenero","degero","degusto","deinde","delectatio","delego","deleo","delibero","delicate","delinquo","deludo","demens","demergo","demitto","demo","demonstro","demoror","demulceo","demum","denego","denique","dens","denuncio","denuo","deorsum","depereo","depono","depopulo","deporto","depraedor","deprecator","deprimo","depromo","depulso","deputo","derelinquo","derideo","deripio","desidero","desino","desipio","desolo","desparatus","despecto","despirmatio","infit","inflammatio","paens","patior","patria","patrocinor","patruus","pauci","paulatim","pauper","pax","peccatus","pecco","pecto","pectus","pecunia","pecus","peior","pel","ocer","socius","sodalitas","sol","soleo","solio","solitudo","solium","sollers","sollicito","solum","solus","solutio","solvo","somniculosus","somnus","sonitus","sono","sophismata","sopor","sordeo","sortitus","spargo","speciosus","spectaculum","speculum","sperno","spero","spes","spiculum","spiritus","spoliatio","sponte","stabilis","statim","statua","stella","stillicidium","stipes","stips","sto","strenuus","strues","studio","stultus","suadeo","suasoria","sub","subito","subiungo","sublime","subnecto","subseco","substantia","subvenio","succedo","succurro","sufficio","suffoco","suffragium","suggero","sui","sulum","sum","summa","summisse","summopere","sumo","sumptus","supellex","super","suppellex","supplanto","suppono","supra","surculus","surgo","sursum","suscipio","suspendo","sustineo","suus","synagoga","tabella","tabernus","tabesco","tabgo","tabula","taceo","tactus","taedium","talio","talis","talus","tam","tamdiu","tamen","tametsi","tamisium","tamquam","tandem","tantillus","tantum","tardus","tego","temeritas","temperantia","templum","temptatio","tempus","tenax","tendo","teneo","tener","tenuis","tenus","tepesco","tepidus","ter","terebro","teres","terga","tergeo","tergiversatio","tergo","tergum","termes","terminatio","tero","terra","terreo","territo","terror","tersus","tertius","testimonium","texo","textilis","textor","textus","thalassinus","theatrum","theca","thema","theologus","thermae","thesaurus","thesis","thorax","thymbra","thymum","tibi","timidus","timor","titulus","tolero","tollo","tondeo","tonsor","torqueo","torrens","tot","totidem","toties","totus","tracto","trado","traho","trans","tredecim","tremo","trepide","tres","tribuo","tricesimus","triduana","triginta","tripudio","tristis","triumphus","trucido","truculenter","tubineus","tui","tum","tumultus","tunc","turba","turbo","turpe","turpis","tutamen","tutis","tyrannus","uberrime","ubi","ulciscor","ullus","ulterius","ultio","ultra","umbra","umerus","umquam","una","unde","undique","universe","unus","urbanus","urbs","uredo","usitas","usque","ustilo","ustulo","usus","uter","uterque","utilis","utique","utor","utpote","utrimque","utroque","utrum","uxor","vaco","vacuus","vado","vae","valde","valens","valeo","valetudo","validus","vallum","vapulus","varietas","varius","vehemens","vel","velociter","velum","velut","venia","venio","ventito","ventosus","ventus","venustas","ver","verbera","verbum","vere","verecundia","vereor","vergo","veritas","vero","versus","verto","verumtamen","verus","vesco","vesica","vesper","vespillo","vester","vestigium","vestrum","vetus","via","vicinus","vicissitudo","victoria","victus","videlicet","video","viduata","viduo","vigilo","vigor","vilicus","vilis","vilitas","villa","vinco","vinculum","vindico","vinitor","vinum","vir","virga","virgo","viridis","viriliter","virtus","vis","viscus","vita","vitiosus","vitium","vito","vivo","vix","vobis","vociferor","voco","volaticus","volo","volubilis","voluntarius","volup","volutabrum","volva","vomer","vomica","vomito","vorago","vorax","voro","vos","votum","voveo","vox","vulariter","vulgaris","vulgivagus","vulgo","vulgus","vulnero","vulnus","vulpes","vulticulus","vultuosus","xiphias"]})(YQ);var Hut=YQ.exports;(function(e){var t={};e.exports=t,t.words=Uut,t.supplemental=Hut})(KQ);var qut=KQ.exports,QQ={exports:{}},XQ={exports:{}};(function(e){e.exports=["James","John","Robert","Michael","William","David","Richard","Charles","Joseph","Thomas","Christopher","Daniel","Paul","Mark","Donald","George","Kenneth","Steven","Edward","Brian","Ronald","Anthony","Kevin","Jason","Matthew","Gary","Timothy","Jose","Larry","Jeffrey","Frank","Scott","Eric","Stephen","Andrew","Raymond","Gregory","Joshua","Jerry","Dennis","Walter","Patrick","Peter","Harold","Douglas","Henry","Carl","Arthur","Ryan","Roger","Joe","Juan","Jack","Albert","Jonathan","Justin","Terry","Gerald","Keith","Samuel","Willie","Ralph","Lawrence","Nicholas","Roy","Benjamin","Bruce","Brandon","Adam","Harry","Fred","Wayne","Billy","Steve","Louis","Jeremy","Aaron","Randy","Howard","Eugene","Carlos","Russell","Bobby","Victor","Martin","Ernest","Phillip","Todd","Jesse","Craig","Alan","Shawn","Clarence","Sean","Philip","Chris","Johnny","Earl","Jimmy","Antonio","Danny","Bryan","Tony","Luis","Mike","Stanley","Leonard","Nathan","Dale","Manuel","Rodney","Curtis","Norman","Allen","Marvin","Vincent","Glenn","Jeffery","Travis","Jeff","Chad","Jacob","Lee","Melvin","Alfred","Kyle","Francis","Bradley","Jesus","Herbert","Frederick","Ray","Joel","Edwin","Don","Eddie","Ricky","Troy","Randall","Barry","Alexander","Bernard","Mario","Leroy","Francisco","Marcus","Micheal","Theodore","Clifford","Miguel","Oscar","Jay","Jim","Tom","Calvin","Alex","Jon","Ronnie","Bill","Lloyd","Tommy","Leon","Derek","Warren","Darrell","Jerome","Floyd","Leo","Alvin","Tim","Wesley","Gordon","Dean","Greg","Jorge","Dustin","Pedro","Derrick","Dan","Lewis","Zachary","Corey","Herman","Maurice","Vernon","Roberto","Clyde","Glen","Hector","Shane","Ricardo","Sam","Rick","Lester","Brent","Ramon","Charlie","Tyler","Gilbert","Gene","Marc","Reginald","Ruben","Brett","Angel","Nathaniel","Rafael","Leslie","Edgar","Milton","Raul","Ben","Chester","Cecil","Duane","Franklin","Andre","Elmer","Brad","Gabriel","Ron","Mitchell","Roland","Arnold","Harvey","Jared","Adrian","Karl","Cory","Claude","Erik","Darryl","Jamie","Neil","Jessie","Christian","Javier","Fernando","Clinton","Ted","Mathew","Tyrone","Darren","Lonnie","Lance","Cody","Julio","Kelly","Kurt","Allan","Nelson","Guy","Clayton","Hugh","Max","Dwayne","Dwight","Armando","Felix","Jimmie","Everett","Jordan","Ian","Wallace","Ken","Bob","Jaime","Casey","Alfredo","Alberto","Dave","Ivan","Johnnie","Sidney","Byron","Julian","Isaac","Morris","Clifton","Willard","Daryl","Ross","Virgil","Andy","Marshall","Salvador","Perry","Kirk","Sergio","Marion","Tracy","Seth","Kent","Terrance","Rene","Eduardo","Terrence","Enrique","Freddie","Wade","Austin","Stuart","Fredrick","Arturo","Alejandro","Jackie","Joey","Nick","Luther","Wendell","Jeremiah","Evan","Julius","Dana","Donnie","Otis","Shannon","Trevor","Oliver","Luke","Homer","Gerard","Doug","Kenny","Hubert","Angelo","Shaun","Lyle","Matt","Lynn","Alfonso","Orlando","Rex","Carlton","Ernesto","Cameron","Neal","Pablo","Lorenzo","Omar","Wilbur","Blake","Grant","Horace","Roderick","Kerry","Abraham","Willis","Rickey","Jean","Ira","Andres","Cesar","Johnathan","Malcolm","Rudolph","Damon","Kelvin","Rudy","Preston","Alton","Archie","Marco","Wm","Pete","Randolph","Garry","Geoffrey","Jonathon","Felipe","Bennie","Gerardo","Ed","Dominic","Robin","Loren","Delbert","Colin","Guillermo","Earnest","Lucas","Benny","Noel","Spencer","Rodolfo","Myron","Edmund","Garrett","Salvatore","Cedric","Lowell","Gregg","Sherman","Wilson","Devin","Sylvester","Kim","Roosevelt","Israel","Jermaine","Forrest","Wilbert","Leland","Simon","Guadalupe","Clark","Irving","Carroll","Bryant","Owen","Rufus","Woodrow","Sammy","Kristopher","Mack","Levi","Marcos","Gustavo","Jake","Lionel","Marty","Taylor","Ellis","Dallas","Gilberto","Clint","Nicolas","Laurence","Ismael","Orville","Drew","Jody","Ervin","Dewey","Al","Wilfred","Josh","Hugo","Ignacio","Caleb","Tomas","Sheldon","Erick","Frankie","Stewart","Doyle","Darrel","Rogelio","Terence","Santiago","Alonzo","Elias","Bert","Elbert","Ramiro","Conrad","Pat","Noah","Grady","Phil","Cornelius","Lamar","Rolando","Clay","Percy","Dexter","Bradford","Merle","Darin","Amos","Terrell","Moses","Irvin","Saul","Roman","Darnell","Randal","Tommie","Timmy","Darrin","Winston","Brendan","Toby","Van","Abel","Dominick","Boyd","Courtney","Jan","Emilio","Elijah","Cary","Domingo","Santos","Aubrey","Emmett","Marlon","Emanuel","Jerald","Edmond"]})(XQ);var Vut=XQ.exports,ZQ={exports:{}};(function(e){e.exports=["Mary","Patricia","Linda","Barbara","Elizabeth","Jennifer","Maria","Susan","Margaret","Dorothy","Lisa","Nancy","Karen","Betty","Helen","Sandra","Donna","Carol","Ruth","Sharon","Michelle","Laura","Sarah","Kimberly","Deborah","Jessica","Shirley","Cynthia","Angela","Melissa","Brenda","Amy","Anna","Rebecca","Virginia","Kathleen","Pamela","Martha","Debra","Amanda","Stephanie","Carolyn","Christine","Marie","Janet","Catherine","Frances","Ann","Joyce","Diane","Alice","Julie","Heather","Teresa","Doris","Gloria","Evelyn","Jean","Cheryl","Mildred","Katherine","Joan","Ashley","Judith","Rose","Janice","Kelly","Nicole","Judy","Christina","Kathy","Theresa","Beverly","Denise","Tammy","Irene","Jane","Lori","Rachel","Marilyn","Andrea","Kathryn","Louise","Sara","Anne","Jacqueline","Wanda","Bonnie","Julia","Ruby","Lois","Tina","Phyllis","Norma","Paula","Diana","Annie","Lillian","Emily","Robin","Peggy","Crystal","Gladys","Rita","Dawn","Connie","Florence","Tracy","Edna","Tiffany","Carmen","Rosa","Cindy","Grace","Wendy","Victoria","Edith","Kim","Sherry","Sylvia","Josephine","Thelma","Shannon","Sheila","Ethel","Ellen","Elaine","Marjorie","Carrie","Charlotte","Monica","Esther","Pauline","Emma","Juanita","Anita","Rhonda","Hazel","Amber","Eva","Debbie","April","Leslie","Clara","Lucille","Jamie","Joanne","Eleanor","Valerie","Danielle","Megan","Alicia","Suzanne","Michele","Gail","Bertha","Darlene","Veronica","Jill","Erin","Geraldine","Lauren","Cathy","Joann","Lorraine","Lynn","Sally","Regina","Erica","Beatrice","Dolores","Bernice","Audrey","Yvonne","Annette","June","Samantha","Marion","Dana","Stacy","Ana","Renee","Ida","Vivian","Roberta","Holly","Brittany","Melanie","Loretta","Yolanda","Jeanette","Laurie","Katie","Kristen","Vanessa","Alma","Sue","Elsie","Beth","Jeanne","Vicki","Carla","Tara","Rosemary","Eileen","Terri","Gertrude","Lucy","Tonya","Ella","Stacey","Wilma","Gina","Kristin","Jessie","Natalie","Agnes","Vera","Willie","Charlene","Bessie","Delores","Melinda","Pearl","Arlene","Maureen","Colleen","Allison","Tamara","Joy","Georgia","Constance","Lillie","Claudia","Jackie","Marcia","Tanya","Nellie","Minnie","Marlene","Heidi","Glenda","Lydia","Viola","Courtney","Marian","Stella","Caroline","Dora","Jo","Vickie","Mattie","Terry","Maxine","Irma","Mabel","Marsha","Myrtle","Lena","Christy","Deanna","Patsy","Hilda","Gwendolyn","Jennie","Nora","Margie","Nina","Cassandra","Leah","Penny","Kay","Priscilla","Naomi","Carole","Brandy","Olga","Billie","Dianne","Tracey","Leona","Jenny","Felicia","Sonia","Miriam","Velma","Becky","Bobbie","Violet","Kristina","Toni","Misty","Mae","Shelly","Daisy","Ramona","Sherri","Erika","Katrina","Claire","Lindsey","Lindsay","Geneva","Guadalupe","Belinda","Margarita","Sheryl","Cora","Faye","Ada","Natasha","Sabrina","Isabel","Marguerite","Hattie","Harriet","Molly","Cecilia","Kristi","Brandi","Blanche","Sandy","Rosie","Joanna","Iris","Eunice","Angie","Inez","Lynda","Madeline","Amelia","Alberta","Genevieve","Monique","Jodi","Janie","Maggie","Kayla","Sonya","Jan","Lee","Kristine","Candace","Fannie","Maryann","Opal","Alison","Yvette","Melody","Luz","Susie","Olivia","Flora","Shelley","Kristy","Mamie","Lula","Lola","Verna","Beulah","Antoinette","Candice","Juana","Jeannette","Pam","Kelli","Hannah","Whitney","Bridget","Karla","Celia","Latoya","Patty","Shelia","Gayle","Della","Vicky","Lynne","Sheri","Marianne","Kara","Jacquelyn","Erma","Blanca","Myra","Leticia","Pat","Krista","Roxanne","Angelica","Johnnie","Robyn","Francis","Adrienne","Rosalie","Alexandra","Brooke","Bethany","Sadie","Bernadette","Traci","Jody","Kendra","Jasmine","Nichole","Rachael","Chelsea","Mable","Ernestine","Muriel","Marcella","Elena","Krystal","Angelina","Nadine","Kari","Estelle","Dianna","Paulette","Lora","Mona","Doreen","Rosemarie","Angel","Desiree","Antonia","Hope","Ginger","Janis","Betsy","Christie","Freda","Mercedes","Meredith","Lynette","Teri","Cristina","Eula","Leigh","Meghan","Sophia","Eloise","Rochelle","Gretchen","Cecelia","Raquel","Henrietta","Alyssa","Jana","Kelley","Gwen","Kerry","Jenna","Tricia","Laverne","Olive","Alexis","Tasha","Silvia","Elvira","Casey","Delia","Sophie","Kate","Patti","Lorena","Kellie","Sonja","Lila","Lana","Darla","May","Mindy","Essie","Mandy","Lorene","Elsa","Josefina","Jeannie","Miranda","Dixie","Lucia","Marta","Faith","Lela","Johanna","Shari","Camille","Tami","Shawna","Elisa","Ebony","Melba","Ora","Nettie","Tabitha","Ollie","Jaime","Winifred","Kristie"]})(ZQ);var Gut=ZQ.exports,eX={exports:{}};(function(e){e.exports=["Aaliyah","Aaron","Abagail","Abbey","Abbie","Abbigail","Abby","Abdiel","Abdul","Abdullah","Abe","Abel","Abelardo","Abigail","Abigale","Abigayle","Abner","Abraham","Ada","Adah","Adalberto","Adaline","Adam","Adan","Addie","Addison","Adela","Adelbert","Adele","Adelia","Adeline","Adell","Adella","Adelle","Aditya","Adolf","Adolfo","Adolph","Adolphus","Adonis","Adrain","Adrian","Adriana","Adrianna","Adriel","Adrien","Adrienne","Afton","Aglae","Agnes","Agustin","Agustina","Ahmad","Ahmed","Aida","Aidan","Aiden","Aileen","Aimee","Aisha","Aiyana","Akeem","Al","Alaina","Alan","Alana","Alanis","Alanna","Alayna","Alba","Albert","Alberta","Albertha","Alberto","Albin","Albina","Alda","Alden","Alec","Aleen","Alejandra","Alejandrin","Alek","Alena","Alene","Alessandra","Alessandro","Alessia","Aletha","Alex","Alexa","Alexander","Alexandra","Alexandre","Alexandrea","Alexandria","Alexandrine","Alexandro","Alexane","Alexanne","Alexie","Alexis","Alexys","Alexzander","Alf","Alfonso","Alfonzo","Alford","Alfred","Alfreda","Alfredo","Ali","Alia","Alice","Alicia","Alisa","Alisha","Alison","Alivia","Aliya","Aliyah","Aliza","Alize","Allan","Allen","Allene","Allie","Allison","Ally","Alphonso","Alta","Althea","Alva","Alvah","Alvena","Alvera","Alverta","Alvina","Alvis","Alyce","Alycia","Alysa","Alysha","Alyson","Alysson","Amalia","Amanda","Amani","Amara","Amari","Amaya","Amber","Ambrose","Amelia","Amelie","Amely","America","Americo","Amie","Amina","Amir","Amira","Amiya","Amos","Amparo","Amy","Amya","Ana","Anabel","Anabelle","Anahi","Anais","Anastacio","Anastasia","Anderson","Andre","Andreane","Andreanne","Andres","Andrew","Andy","Angel","Angela","Angelica","Angelina","Angeline","Angelita","Angelo","Angie","Angus","Anibal","Anika","Anissa","Anita","Aniya","Aniyah","Anjali","Anna","Annabel","Annabell","Annabelle","Annalise","Annamae","Annamarie","Anne","Annetta","Annette","Annie","Ansel","Ansley","Anthony","Antoinette","Antone","Antonetta","Antonette","Antonia","Antonietta","Antonina","Antonio","Antwan","Antwon","Anya","April","Ara","Araceli","Aracely","Arch","Archibald","Ardella","Arden","Ardith","Arely","Ari","Ariane","Arianna","Aric","Ariel","Arielle","Arjun","Arlene","Arlie","Arlo","Armand","Armando","Armani","Arnaldo","Arne","Arno","Arnold","Arnoldo","Arnulfo","Aron","Art","Arthur","Arturo","Arvel","Arvid","Arvilla","Aryanna","Asa","Asha","Ashlee","Ashleigh","Ashley","Ashly","Ashlynn","Ashton","Ashtyn","Asia","Assunta","Astrid","Athena","Aubree","Aubrey","Audie","Audra","Audreanne","Audrey","August","Augusta","Augustine","Augustus","Aurelia","Aurelie","Aurelio","Aurore","Austen","Austin","Austyn","Autumn","Ava","Avery","Avis","Axel","Ayana","Ayden","Ayla","Aylin","Baby","Bailee","Bailey","Barbara","Barney","Baron","Barrett","Barry","Bart","Bartholome","Barton","Baylee","Beatrice","Beau","Beaulah","Bell","Bella","Belle","Ben","Benedict","Benjamin","Bennett","Bennie","Benny","Benton","Berenice","Bernadette","Bernadine","Bernard","Bernardo","Berneice","Bernhard","Bernice","Bernie","Berniece","Bernita","Berry","Bert","Berta","Bertha","Bertram","Bertrand","Beryl","Bessie","Beth","Bethany","Bethel","Betsy","Bette","Bettie","Betty","Bettye","Beulah","Beverly","Bianka","Bill","Billie","Billy","Birdie","Blair","Blaise","Blake","Blanca","Blanche","Blaze","Bo","Bobbie","Bobby","Bonita","Bonnie","Boris","Boyd","Brad","Braden","Bradford","Bradley","Bradly","Brady","Braeden","Brain","Brandi","Brando","Brandon","Brandt","Brandy","Brandyn","Brannon","Branson","Brant","Braulio","Braxton","Brayan","Breana","Breanna","Breanne","Brenda","Brendan","Brenden","Brendon","Brenna","Brennan","Brennon","Brent","Bret","Brett","Bria","Brian","Briana","Brianne","Brice","Bridget","Bridgette","Bridie","Brielle","Brigitte","Brionna","Brisa","Britney","Brittany","Brock","Broderick","Brody","Brook","Brooke","Brooklyn","Brooks","Brown","Bruce","Bryana","Bryce","Brycen","Bryon","Buck","Bud","Buddy","Buford","Bulah","Burdette","Burley","Burnice","Buster","Cade","Caden","Caesar","Caitlyn","Cale","Caleb","Caleigh","Cali","Calista","Callie","Camden","Cameron","Camila","Camilla","Camille","Camren","Camron","Camryn","Camylle","Candace","Candelario","Candice","Candida","Candido","Cara","Carey","Carissa","Carlee","Carleton","Carley","Carli","Carlie","Carlo","Carlos","Carlotta","Carmel","Carmela","Carmella","Carmelo","Carmen","Carmine","Carol","Carolanne","Carole","Carolina","Caroline","Carolyn","Carolyne","Carrie","Carroll","Carson","Carter","Cary","Casandra","Casey","Casimer","Casimir","Casper","Cassandra","Cassandre","Cassidy","Cassie","Catalina","Caterina","Catharine","Catherine","Cathrine","Cathryn","Cathy","Cayla","Ceasar","Cecelia","Cecil","Cecile","Cecilia","Cedrick","Celestine","Celestino","Celia","Celine","Cesar","Chad","Chadd","Chadrick","Chaim","Chance","Chandler","Chanel","Chanelle","Charity","Charlene","Charles","Charley","Charlie","Charlotte","Chase","Chasity","Chauncey","Chaya","Chaz","Chelsea","Chelsey","Chelsie","Chesley","Chester","Chet","Cheyanne","Cheyenne","Chloe","Chris","Christ","Christa","Christelle","Christian","Christiana","Christina","Christine","Christop","Christophe","Christopher","Christy","Chyna","Ciara","Cicero","Cielo","Cierra","Cindy","Citlalli","Clair","Claire","Clara","Clarabelle","Clare","Clarissa","Clark","Claud","Claude","Claudia","Claudie","Claudine","Clay","Clemens","Clement","Clementina","Clementine","Clemmie","Cleo","Cleora","Cleta","Cletus","Cleve","Cleveland","Clifford","Clifton","Clint","Clinton","Clotilde","Clovis","Cloyd","Clyde","Coby","Cody","Colby","Cole","Coleman","Colin","Colleen","Collin","Colt","Colten","Colton","Columbus","Concepcion","Conner","Connie","Connor","Conor","Conrad","Constance","Constantin","Consuelo","Cooper","Cora","Coralie","Corbin","Cordelia","Cordell","Cordia","Cordie","Corene","Corine","Cornelius","Cornell","Corrine","Cortez","Cortney","Cory","Coty","Courtney","Coy","Craig","Crawford","Creola","Cristal","Cristian","Cristina","Cristobal","Cristopher","Cruz","Crystal","Crystel","Cullen","Curt","Curtis","Cydney","Cynthia","Cyril","Cyrus","Dagmar","Dahlia","Daija","Daisha","Daisy","Dakota","Dale","Dallas","Dallin","Dalton","Damaris","Dameon","Damian","Damien","Damion","Damon","Dan","Dana","Dandre","Dane","D'angelo","Dangelo","Danial","Daniela","Daniella","Danielle","Danika","Dannie","Danny","Dante","Danyka","Daphne","Daphnee","Daphney","Darby","Daren","Darian","Dariana","Darien","Dario","Darion","Darius","Darlene","Daron","Darrel","Darrell","Darren","Darrick","Darrin","Darrion","Darron","Darryl","Darwin","Daryl","Dashawn","Dasia","Dave","David","Davin","Davion","Davon","Davonte","Dawn","Dawson","Dax","Dayana","Dayna","Dayne","Dayton","Dean","Deangelo","Deanna","Deborah","Declan","Dedric","Dedrick","Dee","Deion","Deja","Dejah","Dejon","Dejuan","Delaney","Delbert","Delfina","Delia","Delilah","Dell","Della","Delmer","Delores","Delpha","Delphia","Delphine","Delta","Demarco","Demarcus","Demario","Demetris","Demetrius","Demond","Dena","Denis","Dennis","Deon","Deondre","Deontae","Deonte","Dereck","Derek","Derick","Deron","Derrick","Deshaun","Deshawn","Desiree","Desmond","Dessie","Destany","Destin","Destinee","Destiney","Destini","Destiny","Devan","Devante","Deven","Devin","Devon","Devonte","Devyn","Dewayne","Dewitt","Dexter","Diamond","Diana","Dianna","Diego","Dillan","Dillon","Dimitri","Dina","Dino","Dion","Dixie","Dock","Dolly","Dolores","Domenic","Domenica","Domenick","Domenico","Domingo","Dominic","Dominique","Don","Donald","Donato","Donavon","Donna","Donnell","Donnie","Donny","Dora","Dorcas","Dorian","Doris","Dorothea","Dorothy","Dorris","Dortha","Dorthy","Doug","Douglas","Dovie","Doyle","Drake","Drew","Duane","Dudley","Dulce","Duncan","Durward","Dustin","Dusty","Dwight","Dylan","Earl","Earlene","Earline","Earnest","Earnestine","Easter","Easton","Ebba","Ebony","Ed","Eda","Edd","Eddie","Eden","Edgar","Edgardo","Edison","Edmond","Edmund","Edna","Eduardo","Edward","Edwardo","Edwin","Edwina","Edyth","Edythe","Effie","Efrain","Efren","Eileen","Einar","Eino","Eladio","Elaina","Elbert","Elda","Eldon","Eldora","Eldred","Eldridge","Eleanora","Eleanore","Eleazar","Electa","Elena","Elenor","Elenora","Eleonore","Elfrieda","Eli","Elian","Eliane","Elias","Eliezer","Elijah","Elinor","Elinore","Elisa","Elisabeth","Elise","Eliseo","Elisha","Elissa","Eliza","Elizabeth","Ella","Ellen","Ellie","Elliot","Elliott","Ellis","Ellsworth","Elmer","Elmira","Elmo","Elmore","Elna","Elnora","Elody","Eloisa","Eloise","Elouise","Eloy","Elroy","Elsa","Else","Elsie","Elta","Elton","Elva","Elvera","Elvie","Elvis","Elwin","Elwyn","Elyse","Elyssa","Elza","Emanuel","Emelia","Emelie","Emely","Emerald","Emerson","Emery","Emie","Emil","Emile","Emilia","Emiliano","Emilie","Emilio","Emily","Emma","Emmalee","Emmanuel","Emmanuelle","Emmet","Emmett","Emmie","Emmitt","Emmy","Emory","Ena","Enid","Enoch","Enola","Enos","Enrico","Enrique","Ephraim","Era","Eriberto","Eric","Erica","Erich","Erick","Ericka","Erik","Erika","Erin","Erling","Erna","Ernest","Ernestina","Ernestine","Ernesto","Ernie","Ervin","Erwin","Eryn","Esmeralda","Esperanza","Esta","Esteban","Estefania","Estel","Estell","Estella","Estelle","Estevan","Esther","Estrella","Etha","Ethan","Ethel","Ethelyn","Ethyl","Ettie","Eudora","Eugene","Eugenia","Eula","Eulah","Eulalia","Euna","Eunice","Eusebio","Eva","Evalyn","Evan","Evangeline","Evans","Eve","Eveline","Evelyn","Everardo","Everett","Everette","Evert","Evie","Ewald","Ewell","Ezekiel","Ezequiel","Ezra","Fabian","Fabiola","Fae","Fannie","Fanny","Fatima","Faustino","Fausto","Favian","Fay","Faye","Federico","Felicia","Felicita","Felicity","Felipa","Felipe","Felix","Felton","Fermin","Fern","Fernando","Ferne","Fidel","Filiberto","Filomena","Finn","Fiona","Flavie","Flavio","Fleta","Fletcher","Flo","Florence","Florencio","Florian","Florida","Florine","Flossie","Floy","Floyd","Ford","Forest","Forrest","Foster","Frances","Francesca","Francesco","Francis","Francisca","Francisco","Franco","Frank","Frankie","Franz","Fred","Freda","Freddie","Freddy","Frederic","Frederick","Frederik","Frederique","Fredrick","Fredy","Freeda","Freeman","Freida","Frida","Frieda","Friedrich","Fritz","Furman","Gabe","Gabriel","Gabriella","Gabrielle","Gaetano","Gage","Gail","Gardner","Garett","Garfield","Garland","Garnet","Garnett","Garret","Garrett","Garrick","Garrison","Garry","Garth","Gaston","Gavin","Gay","Gayle","Gaylord","Gene","General","Genesis","Genevieve","Gennaro","Genoveva","Geo","Geoffrey","George","Georgette","Georgiana","Georgianna","Geovanni","Geovanny","Geovany","Gerald","Geraldine","Gerard","Gerardo","Gerda","Gerhard","Germaine","German","Gerry","Gerson","Gertrude","Gia","Gianni","Gideon","Gilbert","Gilberto","Gilda","Giles","Gillian","Gina","Gino","Giovani","Giovanna","Giovanni","Giovanny","Gisselle","Giuseppe","Gladyce","Gladys","Glen","Glenda","Glenna","Glennie","Gloria","Godfrey","Golda","Golden","Gonzalo","Gordon","Grace","Gracie","Graciela","Grady","Graham","Grant","Granville","Grayce","Grayson","Green","Greg","Gregg","Gregoria","Gregorio","Gregory","Greta","Gretchen","Greyson","Griffin","Grover","Guadalupe","Gudrun","Guido","Guillermo","Guiseppe","Gunnar","Gunner","Gus","Gussie","Gust","Gustave","Guy","Gwen","Gwendolyn","Hadley","Hailee","Hailey","Hailie","Hal","Haleigh","Haley","Halie","Halle","Hallie","Hank","Hanna","Hannah","Hans","Hardy","Harley","Harmon","Harmony","Harold","Harrison","Harry","Harvey","Haskell","Hassan","Hassie","Hattie","Haven","Hayden","Haylee","Hayley","Haylie","Hazel","Hazle","Heath","Heather","Heaven","Heber","Hector","Heidi","Helen","Helena","Helene","Helga","Hellen","Helmer","Heloise","Henderson","Henri","Henriette","Henry","Herbert","Herman","Hermann","Hermina","Herminia","Herminio","Hershel","Herta","Hertha","Hester","Hettie","Hilario","Hilbert","Hilda","Hildegard","Hillard","Hillary","Hilma","Hilton","Hipolito","Hiram","Hobart","Holden","Hollie","Hollis","Holly","Hope","Horace","Horacio","Hortense","Hosea","Houston","Howard","Howell","Hoyt","Hubert","Hudson","Hugh","Hulda","Humberto","Hunter","Hyman","Ian","Ibrahim","Icie","Ida","Idell","Idella","Ignacio","Ignatius","Ike","Ila","Ilene","Iliana","Ima","Imani","Imelda","Immanuel","Imogene","Ines","Irma","Irving","Irwin","Isaac","Isabel","Isabell","Isabella","Isabelle","Isac","Isadore","Isai","Isaiah","Isaias","Isidro","Ismael","Isobel","Isom","Israel","Issac","Itzel","Iva","Ivah","Ivory","Ivy","Izabella","Izaiah","Jabari","Jace","Jacey","Jacinthe","Jacinto","Jack","Jackeline","Jackie","Jacklyn","Jackson","Jacky","Jaclyn","Jacquelyn","Jacques","Jacynthe","Jada","Jade","Jaden","Jadon","Jadyn","Jaeden","Jaida","Jaiden","Jailyn","Jaime","Jairo","Jakayla","Jake","Jakob","Jaleel","Jalen","Jalon","Jalyn","Jamaal","Jamal","Jamar","Jamarcus","Jamel","Jameson","Jamey","Jamie","Jamil","Jamir","Jamison","Jammie","Jan","Jana","Janae","Jane","Janelle","Janessa","Janet","Janice","Janick","Janie","Janis","Janiya","Jannie","Jany","Jaquan","Jaquelin","Jaqueline","Jared","Jaren","Jarod","Jaron","Jarred","Jarrell","Jarret","Jarrett","Jarrod","Jarvis","Jasen","Jasmin","Jason","Jasper","Jaunita","Javier","Javon","Javonte","Jay","Jayce","Jaycee","Jayda","Jayde","Jayden","Jaydon","Jaylan","Jaylen","Jaylin","Jaylon","Jayme","Jayne","Jayson","Jazlyn","Jazmin","Jazmyn","Jazmyne","Jean","Jeanette","Jeanie","Jeanne","Jed","Jedediah","Jedidiah","Jeff","Jefferey","Jeffery","Jeffrey","Jeffry","Jena","Jenifer","Jennie","Jennifer","Jennings","Jennyfer","Jensen","Jerad","Jerald","Jeramie","Jeramy","Jerel","Jeremie","Jeremy","Jermain","Jermaine","Jermey","Jerod","Jerome","Jeromy","Jerrell","Jerrod","Jerrold","Jerry","Jess","Jesse","Jessica","Jessie","Jessika","Jessy","Jessyca","Jesus","Jett","Jettie","Jevon","Jewel","Jewell","Jillian","Jimmie","Jimmy","Jo","Joan","Joana","Joanie","Joanne","Joannie","Joanny","Joany","Joaquin","Jocelyn","Jodie","Jody","Joe","Joel","Joelle","Joesph","Joey","Johan","Johann","Johanna","Johathan","John","Johnathan","Johnathon","Johnnie","Johnny","Johnpaul","Johnson","Jolie","Jon","Jonas","Jonatan","Jonathan","Jonathon","Jordan","Jordane","Jordi","Jordon","Jordy","Jordyn","Jorge","Jose","Josefa","Josefina","Joseph","Josephine","Josh","Joshua","Joshuah","Josiah","Josiane","Josianne","Josie","Josue","Jovan","Jovani","Jovanny","Jovany","Joy","Joyce","Juana","Juanita","Judah","Judd","Jude","Judge","Judson","Judy","Jules","Julia","Julian","Juliana","Julianne","Julie","Julien","Juliet","Julio","Julius","June","Junior","Junius","Justen","Justice","Justina","Justine","Juston","Justus","Justyn","Juvenal","Juwan","Kacey","Kaci","Kacie","Kade","Kaden","Kadin","Kaela","Kaelyn","Kaia","Kailee","Kailey","Kailyn","Kaitlin","Kaitlyn","Kale","Kaleb","Kaleigh","Kaley","Kali","Kallie","Kameron","Kamille","Kamren","Kamron","Kamryn","Kane","Kara","Kareem","Karelle","Karen","Kari","Kariane","Karianne","Karina","Karine","Karl","Karlee","Karley","Karli","Karlie","Karolann","Karson","Kasandra","Kasey","Kassandra","Katarina","Katelin","Katelyn","Katelynn","Katharina","Katherine","Katheryn","Kathleen","Kathlyn","Kathryn","Kathryne","Katlyn","Katlynn","Katrina","Katrine","Kattie","Kavon","Kay","Kaya","Kaycee","Kayden","Kayla","Kaylah","Kaylee","Kayleigh","Kayley","Kayli","Kaylie","Kaylin","Keagan","Keanu","Keara","Keaton","Keegan","Keeley","Keely","Keenan","Keira","Keith","Kellen","Kelley","Kelli","Kellie","Kelly","Kelsi","Kelsie","Kelton","Kelvin","Ken","Kendall","Kendra","Kendrick","Kenna","Kennedi","Kennedy","Kenneth","Kennith","Kenny","Kenton","Kenya","Kenyatta","Kenyon","Keon","Keshaun","Keshawn","Keven","Kevin","Kevon","Keyon","Keyshawn","Khalid","Khalil","Kian","Kiana","Kianna","Kiara","Kiarra","Kiel","Kiera","Kieran","Kiley","Kim","Kimberly","King","Kip","Kira","Kirk","Kirsten","Kirstin","Kitty","Kobe","Koby","Kody","Kolby","Kole","Korbin","Korey","Kory","Kraig","Kris","Krista","Kristian","Kristin","Kristina","Kristofer","Kristoffer","Kristopher","Kristy","Krystal","Krystel","Krystina","Kurt","Kurtis","Kyla","Kyle","Kylee","Kyleigh","Kyler","Kylie","Kyra","Lacey","Lacy","Ladarius","Lafayette","Laila","Laisha","Lamar","Lambert","Lamont","Lance","Landen","Lane","Laney","Larissa","Laron","Larry","Larue","Laura","Laurel","Lauren","Laurence","Lauretta","Lauriane","Laurianne","Laurie","Laurine","Laury","Lauryn","Lavada","Lavern","Laverna","Laverne","Lavina","Lavinia","Lavon","Lavonne","Lawrence","Lawson","Layla","Layne","Lazaro","Lea","Leann","Leanna","Leanne","Leatha","Leda","Lee","Leif","Leila","Leilani","Lela","Lelah","Leland","Lelia","Lempi","Lemuel","Lenna","Lennie","Lenny","Lenora","Lenore","Leo","Leola","Leon","Leonard","Leonardo","Leone","Leonel","Leonie","Leonor","Leonora","Leopold","Leopoldo","Leora","Lera","Lesley","Leslie","Lesly","Lessie","Lester","Leta","Letha","Letitia","Levi","Lew","Lewis","Lexi","Lexie","Lexus","Lia","Liam","Liana","Libbie","Libby","Lila","Lilian","Liliana","Liliane","Lilla","Lillian","Lilliana","Lillie","Lilly","Lily","Lilyan","Lina","Lincoln","Linda","Lindsay","Lindsey","Linnea","Linnie","Linwood","Lionel","Lisa","Lisandro","Lisette","Litzy","Liza","Lizeth","Lizzie","Llewellyn","Lloyd","Logan","Lois","Lola","Lolita","Loma","Lon","London","Lonie","Lonnie","Lonny","Lonzo","Lora","Loraine","Loren","Lorena","Lorenz","Lorenza","Lorenzo","Lori","Lorine","Lorna","Lottie","Lou","Louie","Louisa","Lourdes","Louvenia","Lowell","Loy","Loyal","Loyce","Lucas","Luciano","Lucie","Lucienne","Lucile","Lucinda","Lucio","Lucious","Lucius","Lucy","Ludie","Ludwig","Lue","Luella","Luigi","Luis","Luisa","Lukas","Lula","Lulu","Luna","Lupe","Lura","Lurline","Luther","Luz","Lyda","Lydia","Lyla","Lynn","Lyric","Lysanne","Mabel","Mabelle","Mable","Mac","Macey","Maci","Macie","Mack","Mackenzie","Macy","Madaline","Madalyn","Maddison","Madeline","Madelyn","Madelynn","Madge","Madie","Madilyn","Madisen","Madison","Madisyn","Madonna","Madyson","Mae","Maegan","Maeve","Mafalda","Magali","Magdalen","Magdalena","Maggie","Magnolia","Magnus","Maia","Maida","Maiya","Major","Makayla","Makenna","Makenzie","Malachi","Malcolm","Malika","Malinda","Mallie","Mallory","Malvina","Mandy","Manley","Manuel","Manuela","Mara","Marc","Marcel","Marcelina","Marcelino","Marcella","Marcelle","Marcellus","Marcelo","Marcia","Marco","Marcos","Marcus","Margaret","Margarete","Margarett","Margaretta","Margarette","Margarita","Marge","Margie","Margot","Margret","Marguerite","Maria","Mariah","Mariam","Marian","Mariana","Mariane","Marianna","Marianne","Mariano","Maribel","Marie","Mariela","Marielle","Marietta","Marilie","Marilou","Marilyne","Marina","Mario","Marion","Marisa","Marisol","Maritza","Marjolaine","Marjorie","Marjory","Mark","Markus","Marlee","Marlen","Marlene","Marley","Marlin","Marlon","Marques","Marquis","Marquise","Marshall","Marta","Martin","Martina","Martine","Marty","Marvin","Mary","Maryam","Maryjane","Maryse","Mason","Mateo","Mathew","Mathias","Mathilde","Matilda","Matilde","Matt","Matteo","Mattie","Maud","Maude","Maudie","Maureen","Maurice","Mauricio","Maurine","Maverick","Mavis","Max","Maxie","Maxime","Maximilian","Maximillia","Maximillian","Maximo","Maximus","Maxine","Maxwell","May","Maya","Maybell","Maybelle","Maye","Maymie","Maynard","Mayra","Mazie","Mckayla","Mckenna","Mckenzie","Meagan","Meaghan","Meda","Megane","Meggie","Meghan","Mekhi","Melany","Melba","Melisa","Melissa","Mellie","Melody","Melvin","Melvina","Melyna","Melyssa","Mercedes","Meredith","Merl","Merle","Merlin","Merritt","Mertie","Mervin","Meta","Mia","Micaela","Micah","Michael","Michaela","Michale","Micheal","Michel","Michele","Michelle","Miguel","Mikayla","Mike","Mikel","Milan","Miles","Milford","Miller","Millie","Milo","Milton","Mina","Minerva","Minnie","Miracle","Mireille","Mireya","Misael","Missouri","Misty","Mitchel","Mitchell","Mittie","Modesta","Modesto","Mohamed","Mohammad","Mohammed","Moises","Mollie","Molly","Mona","Monica","Monique","Monroe","Monserrat","Monserrate","Montana","Monte","Monty","Morgan","Moriah","Morris","Mortimer","Morton","Mose","Moses","Moshe","Mossie","Mozell","Mozelle","Muhammad","Muriel","Murl","Murphy","Murray","Mustafa","Mya","Myah","Mylene","Myles","Myra","Myriam","Myrl","Myrna","Myron","Myrtice","Myrtie","Myrtis","Myrtle","Nadia","Nakia","Name","Nannie","Naomi","Naomie","Napoleon","Narciso","Nash","Nasir","Nat","Natalia","Natalie","Natasha","Nathan","Nathanael","Nathanial","Nathaniel","Nathen","Nayeli","Neal","Ned","Nedra","Neha","Neil","Nelda","Nella","Nelle","Nellie","Nels","Nelson","Neoma","Nestor","Nettie","Neva","Newell","Newton","Nia","Nicholas","Nicholaus","Nichole","Nick","Nicklaus","Nickolas","Nico","Nicola","Nicolas","Nicole","Nicolette","Nigel","Nikita","Nikki","Nikko","Niko","Nikolas","Nils","Nina","Noah","Noble","Noe","Noel","Noelia","Noemi","Noemie","Noemy","Nola","Nolan","Nona","Nora","Norbert","Norberto","Norene","Norma","Norris","Norval","Norwood","Nova","Novella","Nya","Nyah","Nyasia","Obie","Oceane","Ocie","Octavia","Oda","Odell","Odessa","Odie","Ofelia","Okey","Ola","Olaf","Ole","Olen","Oleta","Olga","Olin","Oliver","Ollie","Oma","Omari","Omer","Ona","Onie","Opal","Ophelia","Ora","Oral","Oran","Oren","Orie","Orin","Orion","Orland","Orlando","Orlo","Orpha","Orrin","Orval","Orville","Osbaldo","Osborne","Oscar","Osvaldo","Oswald","Oswaldo","Otha","Otho","Otilia","Otis","Ottilie","Ottis","Otto","Ova","Owen","Ozella","Pablo","Paige","Palma","Pamela","Pansy","Paolo","Paris","Parker","Pascale","Pasquale","Pat","Patience","Patricia","Patrick","Patsy","Pattie","Paul","Paula","Pauline","Paxton","Payton","Pearl","Pearlie","Pearline","Pedro","Peggie","Penelope","Percival","Percy","Perry","Pete","Peter","Petra","Peyton","Philip","Phoebe","Phyllis","Pierce","Pierre","Pietro","Pink","Pinkie","Piper","Polly","Porter","Precious","Presley","Preston","Price","Prince","Princess","Priscilla","Providenci","Prudence","Queen","Queenie","Quentin","Quincy","Quinn","Quinten","Quinton","Rachael","Rachel","Rachelle","Rae","Raegan","Rafael","Rafaela","Raheem","Rahsaan","Rahul","Raina","Raleigh","Ralph","Ramiro","Ramon","Ramona","Randal","Randall","Randi","Randy","Ransom","Raoul","Raphael","Raphaelle","Raquel","Rashad","Rashawn","Rasheed","Raul","Raven","Ray","Raymond","Raymundo","Reagan","Reanna","Reba","Rebeca","Rebecca","Rebeka","Rebekah","Reece","Reed","Reese","Regan","Reggie","Reginald","Reid","Reilly","Reina","Reinhold","Remington","Rene","Renee","Ressie","Reta","Retha","Retta","Reuben","Reva","Rex","Rey","Reyes","Reymundo","Reyna","Reynold","Rhea","Rhett","Rhianna","Rhiannon","Rhoda","Ricardo","Richard","Richie","Richmond","Rick","Rickey","Rickie","Ricky","Rico","Rigoberto","Riley","Rita","River","Robb","Robbie","Robert","Roberta","Roberto","Robin","Robyn","Rocio","Rocky","Rod","Roderick","Rodger","Rodolfo","Rodrick","Rodrigo","Roel","Rogelio","Roger","Rogers","Rolando","Rollin","Roma","Romaine","Roman","Ron","Ronaldo","Ronny","Roosevelt","Rory","Rosa","Rosalee","Rosalia","Rosalind","Rosalinda","Rosalyn","Rosamond","Rosanna","Rosario","Roscoe","Rose","Rosella","Roselyn","Rosemarie","Rosemary","Rosendo","Rosetta","Rosie","Rosina","Roslyn","Ross","Rossie","Rowan","Rowena","Rowland","Roxane","Roxanne","Roy","Royal","Royce","Rozella","Ruben","Rubie","Ruby","Rubye","Rudolph","Rudy","Rupert","Russ","Russel","Russell","Rusty","Ruth","Ruthe","Ruthie","Ryan","Ryann","Ryder","Rylan","Rylee","Ryleigh","Ryley","Sabina","Sabrina","Sabryna","Sadie","Sadye","Sage","Saige","Sallie","Sally","Salma","Salvador","Salvatore","Sam","Samanta","Samantha","Samara","Samir","Sammie","Sammy","Samson","Sandra","Sandrine","Sandy","Sanford","Santa","Santiago","Santina","Santino","Santos","Sarah","Sarai","Sarina","Sasha","Saul","Savanah","Savanna","Savannah","Savion","Scarlett","Schuyler","Scot","Scottie","Scotty","Seamus","Sean","Sebastian","Sedrick","Selena","Selina","Selmer","Serena","Serenity","Seth","Shad","Shaina","Shakira","Shana","Shane","Shanel","Shanelle","Shania","Shanie","Shaniya","Shanna","Shannon","Shanny","Shanon","Shany","Sharon","Shaun","Shawn","Shawna","Shaylee","Shayna","Shayne","Shea","Sheila","Sheldon","Shemar","Sheridan","Sherman","Sherwood","Shirley","Shyann","Shyanne","Sibyl","Sid","Sidney","Sienna","Sierra","Sigmund","Sigrid","Sigurd","Silas","Sim","Simeon","Simone","Sincere","Sister","Skye","Skyla","Skylar","Sofia","Soledad","Solon","Sonia","Sonny","Sonya","Sophia","Sophie","Spencer","Stacey","Stacy","Stan","Stanford","Stanley","Stanton","Stefan","Stefanie","Stella","Stephan","Stephania","Stephanie","Stephany","Stephen","Stephon","Sterling","Steve","Stevie","Stewart","Stone","Stuart","Summer","Sunny","Susan","Susana","Susanna","Susie","Suzanne","Sven","Syble","Sydnee","Sydney","Sydni","Sydnie","Sylvan","Sylvester","Sylvia","Tabitha","Tad","Talia","Talon","Tamara","Tamia","Tania","Tanner","Tanya","Tara","Taryn","Tate","Tatum","Tatyana","Taurean","Tavares","Taya","Taylor","Teagan","Ted","Telly","Terence","Teresa","Terrance","Terrell","Terrence","Terrill","Terry","Tess","Tessie","Tevin","Thad","Thaddeus","Thalia","Thea","Thelma","Theo","Theodora","Theodore","Theresa","Therese","Theresia","Theron","Thomas","Thora","Thurman","Tia","Tiana","Tianna","Tiara","Tierra","Tiffany","Tillman","Timmothy","Timmy","Timothy","Tina","Tito","Titus","Tobin","Toby","Tod","Tom","Tomas","Tomasa","Tommie","Toney","Toni","Tony","Torey","Torrance","Torrey","Toy","Trace","Tracey","Tracy","Travis","Travon","Tre","Tremaine","Tremayne","Trent","Trenton","Tressa","Tressie","Treva","Trever","Trevion","Trevor","Trey","Trinity","Trisha","Tristian","Tristin","Triston","Troy","Trudie","Trycia","Trystan","Turner","Twila","Tyler","Tyra","Tyree","Tyreek","Tyrel","Tyrell","Tyrese","Tyrique","Tyshawn","Tyson","Ubaldo","Ulices","Ulises","Una","Unique","Urban","Uriah","Uriel","Ursula","Vada","Valentin","Valentina","Valentine","Valerie","Vallie","Van","Vance","Vanessa","Vaughn","Veda","Velda","Vella","Velma","Velva","Vena","Verda","Verdie","Vergie","Verla","Verlie","Vern","Verna","Verner","Vernice","Vernie","Vernon","Verona","Veronica","Vesta","Vicenta","Vicente","Vickie","Vicky","Victor","Victoria","Vida","Vidal","Vilma","Vince","Vincent","Vincenza","Vincenzo","Vinnie","Viola","Violet","Violette","Virgie","Virgil","Virginia","Virginie","Vita","Vito","Viva","Vivian","Viviane","Vivianne","Vivien","Vivienne","Vladimir","Wade","Waino","Waldo","Walker","Wallace","Walter","Walton","Wanda","Ward","Warren","Watson","Wava","Waylon","Wayne","Webster","Weldon","Wellington","Wendell","Wendy","Werner","Westley","Weston","Whitney","Wilber","Wilbert","Wilburn","Wiley","Wilford","Wilfred","Wilfredo","Wilfrid","Wilhelm","Wilhelmine","Will","Willa","Willard","William","Willie","Willis","Willow","Willy","Wilma","Wilmer","Wilson","Wilton","Winfield","Winifred","Winnifred","Winona","Winston","Woodrow","Wyatt","Wyman","Xander","Xavier","Xzavier","Yadira","Yasmeen","Yasmin","Yasmine","Yazmin","Yesenia","Yessenia","Yolanda","Yoshiko","Yvette","Yvonne","Zachariah","Zachary","Zachery","Zack","Zackary","Zackery","Zakary","Zander","Zane","Zaria","Zechariah","Zelda","Zella","Zelma","Zena","Zetta","Zion","Zita","Zoe","Zoey","Zoie","Zoila","Zola","Zora","Zula"]})(eX);var Kut=eX.exports,tX={exports:{}};(function(e){e.exports=["Abbott","Abernathy","Abshire","Adams","Altenwerth","Anderson","Ankunding","Armstrong","Auer","Aufderhar","Bahringer","Bailey","Balistreri","Barrows","Bartell","Bartoletti","Barton","Bashirian","Batz","Bauch","Baumbach","Bayer","Beahan","Beatty","Bechtelar","Becker","Bednar","Beer","Beier","Berge","Bergnaum","Bergstrom","Bernhard","Bernier","Bins","Blanda","Blick","Block","Bode","Boehm","Bogan","Bogisich","Borer","Bosco","Botsford","Boyer","Boyle","Bradtke","Brakus","Braun","Breitenberg","Brekke","Brown","Bruen","Buckridge","Carroll","Carter","Cartwright","Casper","Cassin","Champlin","Christiansen","Cole","Collier","Collins","Conn","Connelly","Conroy","Considine","Corkery","Cormier","Corwin","Cremin","Crist","Crona","Cronin","Crooks","Cruickshank","Cummerata","Cummings","Dach","D'Amore","Daniel","Dare","Daugherty","Davis","Deckow","Denesik","Dibbert","Dickens","Dicki","Dickinson","Dietrich","Donnelly","Dooley","Douglas","Doyle","DuBuque","Durgan","Ebert","Effertz","Emard","Emmerich","Erdman","Ernser","Fadel","Fahey","Farrell","Fay","Feeney","Feest","Feil","Ferry","Fisher","Flatley","Frami","Franecki","Friesen","Fritsch","Funk","Gaylord","Gerhold","Gerlach","Gibson","Gislason","Gleason","Gleichner","Glover","Goldner","Goodwin","Gorczany","Gottlieb","Goyette","Grady","Graham","Grant","Green","Greenfelder","Greenholt","Grimes","Gulgowski","Gusikowski","Gutkowski","Gutmann","Haag","Hackett","Hagenes","Hahn","Haley","Halvorson","Hamill","Hammes","Hand","Hane","Hansen","Harber","Harris","Hartmann","Harvey","Hauck","Hayes","Heaney","Heathcote","Hegmann","Heidenreich","Heller","Herman","Hermann","Hermiston","Herzog","Hessel","Hettinger","Hickle","Hilll","Hills","Hilpert","Hintz","Hirthe","Hodkiewicz","Hoeger","Homenick","Hoppe","Howe","Howell","Hudson","Huel","Huels","Hyatt","Jacobi","Jacobs","Jacobson","Jakubowski","Jaskolski","Jast","Jenkins","Jerde","Johns","Johnson","Johnston","Jones","Kassulke","Kautzer","Keebler","Keeling","Kemmer","Kerluke","Kertzmann","Kessler","Kiehn","Kihn","Kilback","King","Kirlin","Klein","Kling","Klocko","Koch","Koelpin","Koepp","Kohler","Konopelski","Koss","Kovacek","Kozey","Krajcik","Kreiger","Kris","Kshlerin","Kub","Kuhic","Kuhlman","Kuhn","Kulas","Kunde","Kunze","Kuphal","Kutch","Kuvalis","Labadie","Lakin","Lang","Langosh","Langworth","Larkin","Larson","Leannon","Lebsack","Ledner","Leffler","Legros","Lehner","Lemke","Lesch","Leuschke","Lind","Lindgren","Littel","Little","Lockman","Lowe","Lubowitz","Lueilwitz","Luettgen","Lynch","Macejkovic","MacGyver","Maggio","Mann","Mante","Marks","Marquardt","Marvin","Mayer","Mayert","McClure","McCullough","McDermott","McGlynn","McKenzie","McLaughlin","Medhurst","Mertz","Metz","Miller","Mills","Mitchell","Moen","Mohr","Monahan","Moore","Morar","Morissette","Mosciski","Mraz","Mueller","Muller","Murazik","Murphy","Murray","Nader","Nicolas","Nienow","Nikolaus","Nitzsche","Nolan","Oberbrunner","O'Connell","O'Conner","O'Hara","O'Keefe","O'Kon","Okuneva","Olson","Ondricka","O'Reilly","Orn","Ortiz","Osinski","Pacocha","Padberg","Pagac","Parisian","Parker","Paucek","Pfannerstill","Pfeffer","Pollich","Pouros","Powlowski","Predovic","Price","Prohaska","Prosacco","Purdy","Quigley","Quitzon","Rath","Ratke","Rau","Raynor","Reichel","Reichert","Reilly","Reinger","Rempel","Renner","Reynolds","Rice","Rippin","Ritchie","Robel","Roberts","Rodriguez","Rogahn","Rohan","Rolfson","Romaguera","Roob","Rosenbaum","Rowe","Ruecker","Runolfsdottir","Runolfsson","Runte","Russel","Rutherford","Ryan","Sanford","Satterfield","Sauer","Sawayn","Schaden","Schaefer","Schamberger","Schiller","Schimmel","Schinner","Schmeler","Schmidt","Schmitt","Schneider","Schoen","Schowalter","Schroeder","Schulist","Schultz","Schumm","Schuppe","Schuster","Senger","Shanahan","Shields","Simonis","Sipes","Skiles","Smith","Smitham","Spencer","Spinka","Sporer","Stamm","Stanton","Stark","Stehr","Steuber","Stiedemann","Stokes","Stoltenberg","Stracke","Streich","Stroman","Strosin","Swaniawski","Swift","Terry","Thiel","Thompson","Tillman","Torp","Torphy","Towne","Toy","Trantow","Tremblay","Treutel","Tromp","Turcotte","Turner","Ullrich","Upton","Vandervort","Veum","Volkman","Von","VonRueden","Waelchi","Walker","Walsh","Walter","Ward","Waters","Watsica","Weber","Wehner","Weimann","Weissnat","Welch","West","White","Wiegand","Wilderman","Wilkinson","Will","Williamson","Willms","Windler","Wintheiser","Wisoky","Wisozk","Witting","Wiza","Wolf","Wolff","Wuckert","Wunsch","Wyman","Yost","Yundt","Zboncak","Zemlak","Ziemann","Zieme","Zulauf"]})(tX);var Jut=tX.exports,nX={exports:{}};(function(e){e.exports=["Asexual","Female to male trans man","Female to male transgender man","Female to male transsexual man","F2M","Gender neutral","Hermaphrodite","Intersex man","Intersex person","Intersex woman","Male to female trans woman","Male to female transgender woman","Male to female transsexual woman","Man","M2F","Polygender","T* man","T* woman","Two* person","Two-spirit person","Woman","Agender","Androgyne","Androgynes","Androgynous","Bigender","Cis","Cis Female","Cis Male","Cis Man","Cis Woman","Cisgender","Cisgender Female","Cisgender Male","Cisgender Man","Cisgender Woman","Female to Male","FTM","Gender Fluid","Gender Nonconforming","Gender Questioning","Gender Variant","Genderqueer","Intersex","Male to Female","MTF","Neither","Neutrois","Non-binary","Other","Pangender","Trans","Trans Female","Trans Male","Trans Man","Trans Person","Trans*Female","Trans*Male","Trans*Man","Trans*Person","Trans*Woman","Transexual","Transexual Female","Transexual Male","Transexual Man","Transexual Person","Transexual Woman","Transgender Female","Transgender Person","Transmasculine","Two-spirit"]})(nX);var Yut=nX.exports,rX={exports:{}};(function(e){e.exports=["Mr.","Mrs.","Ms.","Miss","Dr."]})(rX);var Qut=rX.exports,aX={exports:{}};(function(e){e.exports=["Jr.","Sr.","I","II","III","IV","V","MD","DDS","PhD","DVM"]})(aX);var Xut=aX.exports,oX={exports:{}};(function(e){e.exports={descriptor:["Lead","Senior","Direct","Corporate","Dynamic","Future","Product","National","Regional","District","Central","Global","Customer","Investor","Dynamic","International","Legacy","Forward","Internal","Human","Chief","Principal"],level:["Solutions","Program","Brand","Security","Research","Marketing","Directives","Implementation","Integration","Functionality","Response","Paradigm","Tactics","Identity","Markets","Group","Division","Applications","Optimization","Operations","Infrastructure","Intranet","Communications","Web","Branding","Quality","Assurance","Mobility","Accounts","Data","Creative","Configuration","Accountability","Interactions","Factors","Usability","Metrics"],job:["Supervisor","Associate","Executive","Liaison","Officer","Manager","Engineer","Specialist","Director","Coordinator","Administrator","Architect","Analyst","Designer","Planner","Orchestrator","Technician","Developer","Producer","Consultant","Assistant","Facilitator","Agent","Representative","Strategist"]}})(oX);var Zut=oX.exports,iX={exports:{}};(function(e){e.exports=["#{prefix} #{first_name} #{last_name}","#{first_name} #{last_name} #{suffix}","#{first_name} #{last_name}","#{first_name} #{last_name}","#{male_first_name} #{last_name}","#{female_first_name} #{last_name}"]})(iX);var edt=iX.exports;(function(e){var t={};e.exports=t,t.male_first_name=Vut,t.female_first_name=Gut,t.first_name=Kut,t.last_name=Jut,t.gender=Yut,t.prefix=Qut,t.suffix=Xut,t.title=Zut,t.name=edt})(QQ);var tdt=QQ.exports,sX={exports:{}},cX={exports:{}};(function(e){e.exports=["!##-!##-####","(!##) !##-####","1-!##-!##-####","!##.!##.####","!##-!##-####","(!##) !##-####","1-!##-!##-####","!##.!##.####","!##-!##-#### x###","(!##) !##-#### x###","1-!##-!##-#### x###","!##.!##.#### x###","!##-!##-#### x####","(!##) !##-#### x####","1-!##-!##-#### x####","!##.!##.#### x####","!##-!##-#### x#####","(!##) !##-#### x#####","1-!##-!##-#### x#####","!##.!##.#### x#####"]})(cX);var ndt=cX.exports;(function(e){var t={};e.exports=t,t.formats=ndt})(sX);var rdt=sX.exports,lX={exports:{}},uX={exports:{}};(function(e){e.exports=["###-###-####","(###) ###-####","1-###-###-####","###.###.####"]})(uX);var adt=uX.exports;(function(e){var t={};e.exports=t,t.formats=adt})(lX);var odt=lX.exports,dX={exports:{}},fX={exports:{}};(function(e){e.exports=["1234-2121-1221-1211","1212-1221-1121-1234","1211-1221-1234-2201","1228-1221-1221-1431"]})(fX);var idt=fX.exports,pX={exports:{}};(function(e){e.exports=["2011-10-12","2012-11-12","2015-11-11","2013-9-12"]})(pX);var sdt=pX.exports,mX={exports:{}};(function(e){e.exports=["visa","mastercard","americanexpress","discover"]})(mX);var cdt=mX.exports;(function(e){var t={};e.exports=t,t.credit_card_numbers=idt,t.credit_card_expiry_dates=sdt,t.credit_card_types=cdt})(dX);var ldt=dX.exports,hX={exports:{}},gX={exports:{}};(function(e){e.exports=["red","green","blue","yellow","purple","mint green","teal","white","black","orange","pink","grey","maroon","violet","turquoise","tan","sky blue","salmon","plum","orchid","olive","magenta","lime","ivory","indigo","gold","fuchsia","cyan","azure","lavender","silver"]})(gX);var udt=gX.exports,vX={exports:{}};(function(e){e.exports=["Books","Movies","Music","Games","Electronics","Computers","Home","Garden","Tools","Grocery","Health","Beauty","Toys","Kids","Baby","Clothing","Shoes","Jewelery","Sports","Outdoors","Automotive","Industrial"]})(vX);var ddt=vX.exports,yX={exports:{}};(function(e){e.exports={adjective:["Small","Ergonomic","Rustic","Intelligent","Gorgeous","Incredible","Fantastic","Practical","Sleek","Awesome","Generic","Handcrafted","Handmade","Licensed","Refined","Unbranded","Tasty"],material:["Steel","Wooden","Concrete","Plastic","Cotton","Granite","Rubber","Metal","Soft","Fresh","Frozen"],product:["Chair","Car","Computer","Keyboard","Mouse","Bike","Ball","Gloves","Pants","Shirt","Table","Shoes","Hat","Towels","Soap","Tuna","Chicken","Fish","Cheese","Bacon","Pizza","Salad","Sausages","Chips"]}})(yX);var fdt=yX.exports,bX={exports:{}};(function(e){e.exports=["Ergonomic executive chair upholstered in bonded black leather and PVC padded seat and back for all-day comfort and support","The automobile layout consists of a front-engine design, with transaxle-type transmissions mounted at the rear of the engine and four wheel drive","New ABC 13 9370, 13.3, 5th Gen CoreA5-8250U, 8GB RAM, 256GB SSD, power UHD Graphics, OS 10 Home, OS Office A & J 2016","The slim & simple Maple Gaming Keyboard from Dev Byte comes with a sleek body and 7- Color RGB LED Back-lighting for smart functionality","The Apollotech B340 is an affordable wireless mouse with reliable connectivity, 12 months battery life and modern design","The Nagasaki Lander is the trademarked name of several series of Nagasaki sport bikes, that started with the 1984 ABC800J","The Football Is Good For Training And Recreational Purposes","Carbonite web goalkeeper gloves are ergonomically designed to give easy fit","Boston's most advanced compression wear technology increases muscle oxygenation, stabilizes active muscles","New range of formal shirts are designed keeping you in mind. With fits and styling that will make you stand apart","The beautiful range of Apple Naturalé that has an exciting mix of natural ingredients. With the Goodness of 100% Natural Ingredients","Andy shoes are designed to keeping in mind durability as well as trends, the most stylish range of shoes & sandals"]})(bX);var pdt=bX.exports;(function(e){var t={};e.exports=t,t.color=udt,t.department=ddt,t.product_name=fdt,t.product_description=pdt})(hX);var mdt=hX.exports,xX={exports:{}},wX={exports:{}};(function(e){e.exports=["ants","bats","bears","bees","birds","buffalo","cats","chickens","cattle","dogs","dolphins","ducks","elephants","fishes","foxes","frogs","geese","goats","horses","kangaroos","lions","monkeys","owls","oxen","penguins","people","pigs","rabbits","sheep","tigers","whales","wolves","zebras","banshees","crows","black cats","chimeras","ghosts","conspirators","dragons","dwarves","elves","enchanters","exorcists","sons","foes","giants","gnomes","goblins","gooses","griffins","lycanthropes","nemesis","ogres","oracles","prophets","sorcerors","spiders","spirits","vampires","warlocks","vixens","werewolves","witches","worshipers","zombies","druids"]})(wX);var hdt=wX.exports,CX={exports:{}};(function(e){e.exports=["#{Address.state} #{creature}"]})(CX);var gdt=CX.exports;(function(e){var t={};e.exports=t,t.creature=hdt,t.name=gdt})(xX);var vdt=xX.exports,SX={exports:{}},jX={exports:{}};(function(e){e.exports=["TCP","HTTP","SDD","RAM","GB","CSS","SSL","AGP","SQL","FTP","PCI","AI","ADP","RSS","XML","EXE","COM","HDD","THX","SMTP","SMS","USB","PNG","SAS","IB","SCSI","JSON","XSS","JBOD"]})(jX);var ydt=jX.exports,$X={exports:{}};(function(e){e.exports=["auxiliary","primary","back-end","digital","open-source","virtual","cross-platform","redundant","online","haptic","multi-byte","bluetooth","wireless","1080p","neural","optical","solid state","mobile"]})($X);var bdt=$X.exports,_X={exports:{}};(function(e){e.exports=["driver","protocol","bandwidth","panel","microchip","program","port","card","array","interface","system","sensor","firewall","hard drive","pixel","alarm","feed","monitor","application","transmitter","bus","circuit","capacitor","matrix"]})(_X);var xdt=_X.exports,kX={exports:{}};(function(e){e.exports=["back up","bypass","hack","override","compress","copy","navigate","index","connect","generate","quantify","calculate","synthesize","input","transmit","program","reboot","parse"]})(kX);var wdt=kX.exports,EX={exports:{}};(function(e){e.exports=["backing up","bypassing","hacking","overriding","compressing","copying","navigating","indexing","connecting","generating","quantifying","calculating","synthesizing","transmitting","programming","parsing"]})(EX);var Cdt=EX.exports,RX={exports:{}};(function(e){e.exports=["If we {{verb}} the {{noun}}, we can get to the {{abbreviation}} {{noun}} through the {{adjective}} {{abbreviation}} {{noun}}!","We need to {{verb}} the {{adjective}} {{abbreviation}} {{noun}}!","Try to {{verb}} the {{abbreviation}} {{noun}}, maybe it will {{verb}} the {{adjective}} {{noun}}!","You can't {{verb}} the {{noun}} without {{ingverb}} the {{adjective}} {{abbreviation}} {{noun}}!","Use the {{adjective}} {{abbreviation}} {{noun}}, then you can {{verb}} the {{adjective}} {{noun}}!","The {{abbreviation}} {{noun}} is down, {{verb}} the {{adjective}} {{noun}} so we can {{verb}} the {{abbreviation}} {{noun}}!","{{ingverb}} the {{noun}} won't do anything, we need to {{verb}} the {{adjective}} {{abbreviation}} {{noun}}!","I'll {{verb}} the {{adjective}} {{abbreviation}} {{noun}}, that should {{noun}} the {{abbreviation}} {{noun}}!"]})(RX);var Sdt=RX.exports;(function(e){var t={};e.exports=t,t.abbreviation=ydt,t.adjective=bdt,t.noun=xdt,t.verb=wdt,t.ingverb=Cdt,t.phrase=Sdt})(SX);var jdt=SX.exports,AX={exports:{}},PX={exports:{}};(function(e){e.exports=["Redhold","Treeflex","Trippledex","Kanlam","Bigtax","Daltfresh","Toughjoyfax","Mat Lam Tam","Otcom","Tres-Zap","Y-Solowarm","Tresom","Voltsillam","Biodex","Greenlam","Viva","Matsoft","Temp","Zoolab","Subin","Rank","Job","Stringtough","Tin","It","Home Ing","Zamit","Sonsing","Konklab","Alpha","Latlux","Voyatouch","Alphazap","Holdlamis","Zaam-Dox","Sub-Ex","Quo Lux","Bamity","Ventosanzap","Lotstring","Hatity","Tempsoft","Overhold","Fixflex","Konklux","Zontrax","Tampflex","Span","Namfix","Transcof","Stim","Fix San","Sonair","Stronghold","Fintone","Y-find","Opela","Lotlux","Ronstring","Zathin","Duobam","Keylex"]})(PX);var $dt=PX.exports,MX={exports:{}};(function(e){e.exports=["0.#.#","0.##","#.##","#.#","#.#.#"]})(MX);var _dt=MX.exports,TX={exports:{}};(function(e){e.exports=["#{Name.name}","#{Company.name}"]})(TX);var kdt=TX.exports;(function(e){var t={};e.exports=t,t.name=$dt,t.version=_dt,t.author=kdt})(AX);var Edt=AX.exports,OX={exports:{}},zX={exports:{}};(function(e){e.exports=["Checking","Savings","Money Market","Investment","Home Loan","Credit Card","Auto Loan","Personal Loan"]})(zX);var Rdt=zX.exports,IX={exports:{}};(function(e){e.exports=["deposit","withdrawal","payment","invoice"]})(IX);var Adt=IX.exports,LX={exports:{}};(function(e){e.exports={"UAE Dirham":{code:"AED",symbol:""},Afghani:{code:"AFN",symbol:"؋"},Lek:{code:"ALL",symbol:"Lek"},"Armenian Dram":{code:"AMD",symbol:""},"Netherlands Antillian Guilder":{code:"ANG",symbol:"ƒ"},Kwanza:{code:"AOA",symbol:""},"Argentine Peso":{code:"ARS",symbol:"$"},"Australian Dollar":{code:"AUD",symbol:"$"},"Aruban Guilder":{code:"AWG",symbol:"ƒ"},"Azerbaijanian Manat":{code:"AZN",symbol:"ман"},"Convertible Marks":{code:"BAM",symbol:"KM"},"Barbados Dollar":{code:"BBD",symbol:"$"},Taka:{code:"BDT",symbol:""},"Bulgarian Lev":{code:"BGN",symbol:"лв"},"Bahraini Dinar":{code:"BHD",symbol:""},"Burundi Franc":{code:"BIF",symbol:""},"Bermudian Dollar (customarily known as Bermuda Dollar)":{code:"BMD",symbol:"$"},"Brunei Dollar":{code:"BND",symbol:"$"},"Boliviano boliviano":{code:"BOB",symbol:"Bs"},"Brazilian Real":{code:"BRL",symbol:"R$"},"Bahamian Dollar":{code:"BSD",symbol:"$"},Pula:{code:"BWP",symbol:"P"},"Belarussian Ruble":{code:"BYR",symbol:"p."},"Belize Dollar":{code:"BZD",symbol:"BZ$"},"Canadian Dollar":{code:"CAD",symbol:"$"},"Congolese Franc":{code:"CDF",symbol:""},"Swiss Franc":{code:"CHF",symbol:"CHF"},"Chilean Peso":{code:"CLP",symbol:"$"},"Yuan Renminbi":{code:"CNY",symbol:"¥"},"Colombian Peso":{code:"COP",symbol:"$"},"Costa Rican Colon":{code:"CRC",symbol:"₡"},"Cuban Peso":{code:"CUP",symbol:"₱"},"Cuban Peso Convertible":{code:"CUC",symbol:"$"},"Cape Verde Escudo":{code:"CVE",symbol:""},"Czech Koruna":{code:"CZK",symbol:"Kč"},"Djibouti Franc":{code:"DJF",symbol:""},"Danish Krone":{code:"DKK",symbol:"kr"},"Dominican Peso":{code:"DOP",symbol:"RD$"},"Algerian Dinar":{code:"DZD",symbol:""},Kroon:{code:"EEK",symbol:""},"Egyptian Pound":{code:"EGP",symbol:"£"},Nakfa:{code:"ERN",symbol:""},"Ethiopian Birr":{code:"ETB",symbol:""},Euro:{code:"EUR",symbol:"€"},"Fiji Dollar":{code:"FJD",symbol:"$"},"Falkland Islands Pound":{code:"FKP",symbol:"£"},"Pound Sterling":{code:"GBP",symbol:"£"},Lari:{code:"GEL",symbol:""},Cedi:{code:"GHS",symbol:""},"Gibraltar Pound":{code:"GIP",symbol:"£"},Dalasi:{code:"GMD",symbol:""},"Guinea Franc":{code:"GNF",symbol:""},Quetzal:{code:"GTQ",symbol:"Q"},"Guyana Dollar":{code:"GYD",symbol:"$"},"Hong Kong Dollar":{code:"HKD",symbol:"$"},Lempira:{code:"HNL",symbol:"L"},"Croatian Kuna":{code:"HRK",symbol:"kn"},Gourde:{code:"HTG",symbol:""},Forint:{code:"HUF",symbol:"Ft"},Rupiah:{code:"IDR",symbol:"Rp"},"New Israeli Sheqel":{code:"ILS",symbol:"₪"},"Indian Rupee":{code:"INR",symbol:""},"Bhutanese Ngultrum":{code:"BTN",symbol:"Nu"},"Indian Rupee":{code:"INR",symbol:"₹"},"Iraqi Dinar":{code:"IQD",symbol:""},"Iranian Rial":{code:"IRR",symbol:"﷼"},"Iceland Krona":{code:"ISK",symbol:"kr"},"Jamaican Dollar":{code:"JMD",symbol:"J$"},"Jordanian Dinar":{code:"JOD",symbol:""},Yen:{code:"JPY",symbol:"¥"},"Kenyan Shilling":{code:"KES",symbol:""},Som:{code:"KGS",symbol:"лв"},Riel:{code:"KHR",symbol:"៛"},"Comoro Franc":{code:"KMF",symbol:""},"North Korean Won":{code:"KPW",symbol:"₩"},Won:{code:"KRW",symbol:"₩"},"Kuwaiti Dinar":{code:"KWD",symbol:""},"Cayman Islands Dollar":{code:"KYD",symbol:"$"},Tenge:{code:"KZT",symbol:"лв"},Kip:{code:"LAK",symbol:"₭"},"Lebanese Pound":{code:"LBP",symbol:"£"},"Sri Lanka Rupee":{code:"LKR",symbol:"₨"},"Liberian Dollar":{code:"LRD",symbol:"$"},"Lithuanian Litas":{code:"LTL",symbol:"Lt"},"Latvian Lats":{code:"LVL",symbol:"Ls"},"Libyan Dinar":{code:"LYD",symbol:""},"Moroccan Dirham":{code:"MAD",symbol:""},"Moldovan Leu":{code:"MDL",symbol:""},"Malagasy Ariary":{code:"MGA",symbol:""},Denar:{code:"MKD",symbol:"ден"},Kyat:{code:"MMK",symbol:""},Tugrik:{code:"MNT",symbol:"₮"},Pataca:{code:"MOP",symbol:""},Ouguiya:{code:"MRO",symbol:""},"Mauritius Rupee":{code:"MUR",symbol:"₨"},Rufiyaa:{code:"MVR",symbol:""},Kwacha:{code:"MWK",symbol:""},"Mexican Peso":{code:"MXN",symbol:"$"},"Malaysian Ringgit":{code:"MYR",symbol:"RM"},Metical:{code:"MZN",symbol:"MT"},Naira:{code:"NGN",symbol:"₦"},"Cordoba Oro":{code:"NIO",symbol:"C$"},"Norwegian Krone":{code:"NOK",symbol:"kr"},"Nepalese Rupee":{code:"NPR",symbol:"₨"},"New Zealand Dollar":{code:"NZD",symbol:"$"},"Rial Omani":{code:"OMR",symbol:"﷼"},Balboa:{code:"PAB",symbol:"B/."},"Nuevo Sol":{code:"PEN",symbol:"S/."},Kina:{code:"PGK",symbol:""},"Philippine Peso":{code:"PHP",symbol:"Php"},"Pakistan Rupee":{code:"PKR",symbol:"₨"},Zloty:{code:"PLN",symbol:"zł"},Guarani:{code:"PYG",symbol:"Gs"},"Qatari Rial":{code:"QAR",symbol:"﷼"},"New Leu":{code:"RON",symbol:"lei"},"Serbian Dinar":{code:"RSD",symbol:"Дин."},"Russian Ruble":{code:"RUB",symbol:"руб"},"Rwanda Franc":{code:"RWF",symbol:""},"Saudi Riyal":{code:"SAR",symbol:"﷼"},"Solomon Islands Dollar":{code:"SBD",symbol:"$"},"Seychelles Rupee":{code:"SCR",symbol:"₨"},"Sudanese Pound":{code:"SDG",symbol:""},"Swedish Krona":{code:"SEK",symbol:"kr"},"Singapore Dollar":{code:"SGD",symbol:"$"},"Saint Helena Pound":{code:"SHP",symbol:"£"},Leone:{code:"SLL",symbol:""},"Somali Shilling":{code:"SOS",symbol:"S"},"Surinam Dollar":{code:"SRD",symbol:"$"},Dobra:{code:"STN",symbol:"Db"},"El Salvador Colon":{code:"SVC",symbol:"₡"},"Syrian Pound":{code:"SYP",symbol:"£"},Lilangeni:{code:"SZL",symbol:""},Baht:{code:"THB",symbol:"฿"},Somoni:{code:"TJS",symbol:""},Manat:{code:"TMT",symbol:""},"Tunisian Dinar":{code:"TND",symbol:""},"Pa'anga":{code:"TOP",symbol:""},"Turkish Lira":{code:"TRY",symbol:"₺"},"Trinidad and Tobago Dollar":{code:"TTD",symbol:"TT$"},"New Taiwan Dollar":{code:"TWD",symbol:"NT$"},"Tanzanian Shilling":{code:"TZS",symbol:""},Hryvnia:{code:"UAH",symbol:"₴"},"Uganda Shilling":{code:"UGX",symbol:""},"US Dollar":{code:"USD",symbol:"$"},"Peso Uruguayo":{code:"UYU",symbol:"$U"},"Uzbekistan Sum":{code:"UZS",symbol:"лв"},"Bolivar Fuerte":{code:"VEF",symbol:"Bs"},Dong:{code:"VND",symbol:"₫"},Vatu:{code:"VUV",symbol:""},Tala:{code:"WST",symbol:""},"CFA Franc BEAC":{code:"XAF",symbol:""},Silver:{code:"XAG",symbol:""},Gold:{code:"XAU",symbol:""},"Bond Markets Units European Composite Unit (EURCO)":{code:"XBA",symbol:""},"European Monetary Unit (E.M.U.-6)":{code:"XBB",symbol:""},"European Unit of Account 9(E.U.A.-9)":{code:"XBC",symbol:""},"European Unit of Account 17(E.U.A.-17)":{code:"XBD",symbol:""},"East Caribbean Dollar":{code:"XCD",symbol:"$"},SDR:{code:"XDR",symbol:""},"UIC-Franc":{code:"XFU",symbol:""},"CFA Franc BCEAO":{code:"XOF",symbol:""},Palladium:{code:"XPD",symbol:""},"CFP Franc":{code:"XPF",symbol:""},Platinum:{code:"XPT",symbol:""},"Codes specifically reserved for testing purposes":{code:"XTS",symbol:""},"Yemeni Rial":{code:"YER",symbol:"﷼"},Rand:{code:"ZAR",symbol:"R"},"Lesotho Loti":{code:"LSL",symbol:""},"Namibia Dollar":{code:"NAD",symbol:"N$"},"Zambian Kwacha":{code:"ZMK",symbol:""},"Zimbabwe Dollar":{code:"ZWL",symbol:""}}})(LX);var Pdt=LX.exports,DX={exports:{}},NX={exports:{}};(function(e){e.exports=["4###########L","4###-####-####-###L"]})(NX);var Mdt=NX.exports,FX={exports:{}};(function(e){e.exports=["5[1-5]##-####-####-###L","6771-89##-####-###L"]})(FX);var Tdt=FX.exports,BX={exports:{}};(function(e){e.exports=["6011-####-####-###L","65##-####-####-###L","64[4-9]#-####-####-###L","6011-62##-####-####-###L","65##-62##-####-####-###L","64[4-9]#-62##-####-####-###L"]})(BX);var Odt=BX.exports,WX={exports:{}};(function(e){e.exports=["34##-######-####L","37##-######-####L"]})(WX);var zdt=WX.exports,UX={exports:{}};(function(e){e.exports=["30[0-5]#-######-###L","36##-######-###L","54##-####-####-###L"]})(UX);var Idt=UX.exports,HX={exports:{}};(function(e){e.exports=["3528-####-####-###L","3529-####-####-###L","35[3-8]#-####-####-###L"]})(HX);var Ldt=HX.exports,qX={exports:{}};(function(e){e.exports=["6759-####-####-###L","6759-####-####-####-#L","6759-####-####-####-##L"]})(qX);var Ddt=qX.exports,VX={exports:{}};(function(e){e.exports=["6767-####-####-###L","6767-####-####-####-#L","6767-####-####-####-##L"]})(VX);var Ndt=VX.exports,GX={exports:{}};(function(e){e.exports=["5018-#{4}-#{4}-#{3}L","5020-#{4}-#{4}-#{3}L","5038-#{4}-#{4}-#{3}L","5893-#{4}-#{4}-#{3}L","6304-#{4}-#{4}-#{3}L","6759-#{4}-#{4}-#{3}L","676[1-3]-####-####-###L","5018#{11,15}L","5020#{11,15}L","5038#{11,15}L","5893#{11,15}L","6304#{11,15}L","6759#{11,15}L","676[1-3]#{11,15}L"]})(GX);var Fdt=GX.exports,KX={exports:{}};(function(e){e.exports=["6304###########L","6706###########L","6771###########L","6709###########L","6304#########{5,6}L","6706#########{5,6}L","6771#########{5,6}L","6709#########{5,6}L"]})(KX);var Bdt=KX.exports,JX={exports:{}};(function(e){e.exports=["63[7-9]#-####-####-###L"]})(JX);var Wdt=JX.exports;(function(e){var t={};e.exports=t,t.visa=Mdt,t.mastercard=Tdt,t.discover=Odt,t.american_express=zdt,t.diners_club=Idt,t.jcb=Ldt,t.switch=Ddt,t.solo=Ndt,t.maestro=Fdt,t.laser=Bdt,t.instapayment=Wdt})(DX);var Udt=DX.exports;(function(e){var t={};e.exports=t,t.account_type=Rdt,t.transaction_type=Adt,t.currency=Pdt,t.credit_card=Udt})(OX);var Hdt=OX.exports,YX={exports:{}},QX={exports:{}};(function(e){e.exports={wide:["January","February","March","April","May","June","July","August","September","October","November","December"],wide_context:["January","February","March","April","May","June","July","August","September","October","November","December"],abbr:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],abbr_context:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]}})(QX);var qdt=QX.exports,XX={exports:{}};(function(e){e.exports={wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],wide_context:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],abbr:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],abbr_context:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]}})(XX);var Vdt=XX.exports;(function(e){var t={};e.exports=t,t.month=qdt,t.weekday=Vdt})(YX);var Gdt=YX.exports,ZX={exports:{}},eZ={exports:{}};(function(e){e.exports=["/Applications","/bin","/boot","/boot/defaults","/dev","/etc","/etc/defaults","/etc/mail","/etc/namedb","/etc/periodic","/etc/ppp","/home","/home/user","/home/user/dir","/lib","/Library","/lost+found","/media","/mnt","/net","/Network","/opt","/opt/bin","/opt/include","/opt/lib","/opt/sbin","/opt/share","/private","/private/tmp","/private/var","/proc","/rescue","/root","/sbin","/selinux","/srv","/sys","/System","/tmp","/Users","/usr","/usr/X11R6","/usr/bin","/usr/include","/usr/lib","/usr/libdata","/usr/libexec","/usr/local/bin","/usr/local/src","/usr/obj","/usr/ports","/usr/sbin","/usr/share","/usr/src","/var","/var/log","/var/mail","/var/spool","/var/tmp","/var/yp"]})(eZ);var Kdt=eZ.exports,tZ={exports:{}};(function(e){e.exports={"application/1d-interleaved-parityfec":{source:"iana"},"application/3gpdash-qoe-report+xml":{source:"iana"},"application/3gpp-ims+xml":{source:"iana"},"application/a2l":{source:"iana"},"application/activemessage":{source:"iana"},"application/alto-costmap+json":{source:"iana",compressible:!0},"application/alto-costmapfilter+json":{source:"iana",compressible:!0},"application/alto-directory+json":{source:"iana",compressible:!0},"application/alto-endpointcost+json":{source:"iana",compressible:!0},"application/alto-endpointcostparams+json":{source:"iana",compressible:!0},"application/alto-endpointprop+json":{source:"iana",compressible:!0},"application/alto-endpointpropparams+json":{source:"iana",compressible:!0},"application/alto-error+json":{source:"iana",compressible:!0},"application/alto-networkmap+json":{source:"iana",compressible:!0},"application/alto-networkmapfilter+json":{source:"iana",compressible:!0},"application/aml":{source:"iana"},"application/andrew-inset":{source:"iana",extensions:["ez"]},"application/applefile":{source:"iana"},"application/applixware":{source:"apache",extensions:["aw"]},"application/atf":{source:"iana"},"application/atfx":{source:"iana"},"application/atom+xml":{source:"iana",compressible:!0,extensions:["atom"]},"application/atomcat+xml":{source:"iana",extensions:["atomcat"]},"application/atomdeleted+xml":{source:"iana"},"application/atomicmail":{source:"iana"},"application/atomsvc+xml":{source:"iana",extensions:["atomsvc"]},"application/atxml":{source:"iana"},"application/auth-policy+xml":{source:"iana"},"application/bacnet-xdd+zip":{source:"iana"},"application/batch-smtp":{source:"iana"},"application/bdoc":{compressible:!1,extensions:["bdoc"]},"application/beep+xml":{source:"iana"},"application/calendar+json":{source:"iana",compressible:!0},"application/calendar+xml":{source:"iana"},"application/call-completion":{source:"iana"},"application/cals-1840":{source:"iana"},"application/cbor":{source:"iana"},"application/ccmp+xml":{source:"iana"},"application/ccxml+xml":{source:"iana",extensions:["ccxml"]},"application/cdfx+xml":{source:"iana"},"application/cdmi-capability":{source:"iana",extensions:["cdmia"]},"application/cdmi-container":{source:"iana",extensions:["cdmic"]},"application/cdmi-domain":{source:"iana",extensions:["cdmid"]},"application/cdmi-object":{source:"iana",extensions:["cdmio"]},"application/cdmi-queue":{source:"iana",extensions:["cdmiq"]},"application/cdni":{source:"iana"},"application/cea":{source:"iana"},"application/cea-2018+xml":{source:"iana"},"application/cellml+xml":{source:"iana"},"application/cfw":{source:"iana"},"application/cms":{source:"iana"},"application/cnrp+xml":{source:"iana"},"application/coap-group+json":{source:"iana",compressible:!0},"application/commonground":{source:"iana"},"application/conference-info+xml":{source:"iana"},"application/cpl+xml":{source:"iana"},"application/csrattrs":{source:"iana"},"application/csta+xml":{source:"iana"},"application/cstadata+xml":{source:"iana"},"application/csvm+json":{source:"iana",compressible:!0},"application/cu-seeme":{source:"apache",extensions:["cu"]},"application/cybercash":{source:"iana"},"application/dart":{compressible:!0},"application/dash+xml":{source:"iana",extensions:["mdp"]},"application/dashdelta":{source:"iana"},"application/davmount+xml":{source:"iana",extensions:["davmount"]},"application/dca-rft":{source:"iana"},"application/dcd":{source:"iana"},"application/dec-dx":{source:"iana"},"application/dialog-info+xml":{source:"iana"},"application/dicom":{source:"iana"},"application/dii":{source:"iana"},"application/dit":{source:"iana"},"application/dns":{source:"iana"},"application/docbook+xml":{source:"apache",extensions:["dbk"]},"application/dskpp+xml":{source:"iana"},"application/dssc+der":{source:"iana",extensions:["dssc"]},"application/dssc+xml":{source:"iana",extensions:["xdssc"]},"application/dvcs":{source:"iana"},"application/ecmascript":{source:"iana",compressible:!0,extensions:["ecma"]},"application/edi-consent":{source:"iana"},"application/edi-x12":{source:"iana",compressible:!1},"application/edifact":{source:"iana",compressible:!1},"application/emergencycalldata.comment+xml":{source:"iana"},"application/emergencycalldata.deviceinfo+xml":{source:"iana"},"application/emergencycalldata.providerinfo+xml":{source:"iana"},"application/emergencycalldata.serviceinfo+xml":{source:"iana"},"application/emergencycalldata.subscriberinfo+xml":{source:"iana"},"application/emma+xml":{source:"iana",extensions:["emma"]},"application/emotionml+xml":{source:"iana"},"application/encaprtp":{source:"iana"},"application/epp+xml":{source:"iana"},"application/epub+zip":{source:"iana",extensions:["epub"]},"application/eshop":{source:"iana"},"application/exi":{source:"iana",extensions:["exi"]},"application/fastinfoset":{source:"iana"},"application/fastsoap":{source:"iana"},"application/fdt+xml":{source:"iana"},"application/fits":{source:"iana"},"application/font-sfnt":{source:"iana"},"application/font-tdpfr":{source:"iana",extensions:["pfr"]},"application/font-woff":{source:"iana",compressible:!1,extensions:["woff"]},"application/font-woff2":{compressible:!1,extensions:["woff2"]},"application/framework-attributes+xml":{source:"iana"},"application/gml+xml":{source:"apache",extensions:["gml"]},"application/gpx+xml":{source:"apache",extensions:["gpx"]},"application/gxf":{source:"apache",extensions:["gxf"]},"application/gzip":{source:"iana",compressible:!1},"application/h224":{source:"iana"},"application/held+xml":{source:"iana"},"application/http":{source:"iana"},"application/hyperstudio":{source:"iana",extensions:["stk"]},"application/ibe-key-request+xml":{source:"iana"},"application/ibe-pkg-reply+xml":{source:"iana"},"application/ibe-pp-data":{source:"iana"},"application/iges":{source:"iana"},"application/im-iscomposing+xml":{source:"iana"},"application/index":{source:"iana"},"application/index.cmd":{source:"iana"},"application/index.obj":{source:"iana"},"application/index.response":{source:"iana"},"application/index.vnd":{source:"iana"},"application/inkml+xml":{source:"iana",extensions:["ink","inkml"]},"application/iotp":{source:"iana"},"application/ipfix":{source:"iana",extensions:["ipfix"]},"application/ipp":{source:"iana"},"application/isup":{source:"iana"},"application/its+xml":{source:"iana"},"application/java-archive":{source:"apache",compressible:!1,extensions:["jar","war","ear"]},"application/java-serialized-object":{source:"apache",compressible:!1,extensions:["ser"]},"application/java-vm":{source:"apache",compressible:!1,extensions:["class"]},"application/javascript":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["js"]},"application/jose":{source:"iana"},"application/jose+json":{source:"iana",compressible:!0},"application/jrd+json":{source:"iana",compressible:!0},"application/json":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["json","map"]},"application/json-patch+json":{source:"iana",compressible:!0},"application/json-seq":{source:"iana"},"application/json5":{extensions:["json5"]},"application/jsonml+json":{source:"apache",compressible:!0,extensions:["jsonml"]},"application/jwk+json":{source:"iana",compressible:!0},"application/jwk-set+json":{source:"iana",compressible:!0},"application/jwt":{source:"iana"},"application/kpml-request+xml":{source:"iana"},"application/kpml-response+xml":{source:"iana"},"application/ld+json":{source:"iana",compressible:!0,extensions:["jsonld"]},"application/link-format":{source:"iana"},"application/load-control+xml":{source:"iana"},"application/lost+xml":{source:"iana",extensions:["lostxml"]},"application/lostsync+xml":{source:"iana"},"application/lxf":{source:"iana"},"application/mac-binhex40":{source:"iana",extensions:["hqx"]},"application/mac-compactpro":{source:"apache",extensions:["cpt"]},"application/macwriteii":{source:"iana"},"application/mads+xml":{source:"iana",extensions:["mads"]},"application/manifest+json":{charset:"UTF-8",compressible:!0,extensions:["webmanifest"]},"application/marc":{source:"iana",extensions:["mrc"]},"application/marcxml+xml":{source:"iana",extensions:["mrcx"]},"application/mathematica":{source:"iana",extensions:["ma","nb","mb"]},"application/mathml+xml":{source:"iana",extensions:["mathml"]},"application/mathml-content+xml":{source:"iana"},"application/mathml-presentation+xml":{source:"iana"},"application/mbms-associated-procedure-description+xml":{source:"iana"},"application/mbms-deregister+xml":{source:"iana"},"application/mbms-envelope+xml":{source:"iana"},"application/mbms-msk+xml":{source:"iana"},"application/mbms-msk-response+xml":{source:"iana"},"application/mbms-protection-description+xml":{source:"iana"},"application/mbms-reception-report+xml":{source:"iana"},"application/mbms-register+xml":{source:"iana"},"application/mbms-register-response+xml":{source:"iana"},"application/mbms-schedule+xml":{source:"iana"},"application/mbms-user-service-description+xml":{source:"iana"},"application/mbox":{source:"iana",extensions:["mbox"]},"application/media-policy-dataset+xml":{source:"iana"},"application/media_control+xml":{source:"iana"},"application/mediaservercontrol+xml":{source:"iana",extensions:["mscml"]},"application/merge-patch+json":{source:"iana",compressible:!0},"application/metalink+xml":{source:"apache",extensions:["metalink"]},"application/metalink4+xml":{source:"iana",extensions:["meta4"]},"application/mets+xml":{source:"iana",extensions:["mets"]},"application/mf4":{source:"iana"},"application/mikey":{source:"iana"},"application/mods+xml":{source:"iana",extensions:["mods"]},"application/moss-keys":{source:"iana"},"application/moss-signature":{source:"iana"},"application/mosskey-data":{source:"iana"},"application/mosskey-request":{source:"iana"},"application/mp21":{source:"iana",extensions:["m21","mp21"]},"application/mp4":{source:"iana",extensions:["mp4s","m4p"]},"application/mpeg4-generic":{source:"iana"},"application/mpeg4-iod":{source:"iana"},"application/mpeg4-iod-xmt":{source:"iana"},"application/mrb-consumer+xml":{source:"iana"},"application/mrb-publish+xml":{source:"iana"},"application/msc-ivr+xml":{source:"iana"},"application/msc-mixer+xml":{source:"iana"},"application/msword":{source:"iana",compressible:!1,extensions:["doc","dot"]},"application/mxf":{source:"iana",extensions:["mxf"]},"application/nasdata":{source:"iana"},"application/news-checkgroups":{source:"iana"},"application/news-groupinfo":{source:"iana"},"application/news-transmission":{source:"iana"},"application/nlsml+xml":{source:"iana"},"application/nss":{source:"iana"},"application/ocsp-request":{source:"iana"},"application/ocsp-response":{source:"iana"},"application/octet-stream":{source:"iana",compressible:!1,extensions:["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"]},"application/oda":{source:"iana",extensions:["oda"]},"application/odx":{source:"iana"},"application/oebps-package+xml":{source:"iana",extensions:["opf"]},"application/ogg":{source:"iana",compressible:!1,extensions:["ogx"]},"application/omdoc+xml":{source:"apache",extensions:["omdoc"]},"application/onenote":{source:"apache",extensions:["onetoc","onetoc2","onetmp","onepkg"]},"application/oxps":{source:"iana",extensions:["oxps"]},"application/p2p-overlay+xml":{source:"iana"},"application/parityfec":{source:"iana"},"application/patch-ops-error+xml":{source:"iana",extensions:["xer"]},"application/pdf":{source:"iana",compressible:!1,extensions:["pdf"]},"application/pdx":{source:"iana"},"application/pgp-encrypted":{source:"iana",compressible:!1,extensions:["pgp"]},"application/pgp-keys":{source:"iana"},"application/pgp-signature":{source:"iana",extensions:["asc","sig"]},"application/pics-rules":{source:"apache",extensions:["prf"]},"application/pidf+xml":{source:"iana"},"application/pidf-diff+xml":{source:"iana"},"application/pkcs10":{source:"iana",extensions:["p10"]},"application/pkcs12":{source:"iana"},"application/pkcs7-mime":{source:"iana",extensions:["p7m","p7c"]},"application/pkcs7-signature":{source:"iana",extensions:["p7s"]},"application/pkcs8":{source:"iana",extensions:["p8"]},"application/pkix-attr-cert":{source:"iana",extensions:["ac"]},"application/pkix-cert":{source:"iana",extensions:["cer"]},"application/pkix-crl":{source:"iana",extensions:["crl"]},"application/pkix-pkipath":{source:"iana",extensions:["pkipath"]},"application/pkixcmp":{source:"iana",extensions:["pki"]},"application/pls+xml":{source:"iana",extensions:["pls"]},"application/poc-settings+xml":{source:"iana"},"application/postscript":{source:"iana",compressible:!0,extensions:["ai","eps","ps"]},"application/provenance+xml":{source:"iana"},"application/prs.alvestrand.titrax-sheet":{source:"iana"},"application/prs.cww":{source:"iana",extensions:["cww"]},"application/prs.hpub+zip":{source:"iana"},"application/prs.nprend":{source:"iana"},"application/prs.plucker":{source:"iana"},"application/prs.rdf-xml-crypt":{source:"iana"},"application/prs.xsf+xml":{source:"iana"},"application/pskc+xml":{source:"iana",extensions:["pskcxml"]},"application/qsig":{source:"iana"},"application/raptorfec":{source:"iana"},"application/rdap+json":{source:"iana",compressible:!0},"application/rdf+xml":{source:"iana",compressible:!0,extensions:["rdf"]},"application/reginfo+xml":{source:"iana",extensions:["rif"]},"application/relax-ng-compact-syntax":{source:"iana",extensions:["rnc"]},"application/remote-printing":{source:"iana"},"application/reputon+json":{source:"iana",compressible:!0},"application/resource-lists+xml":{source:"iana",extensions:["rl"]},"application/resource-lists-diff+xml":{source:"iana",extensions:["rld"]},"application/rfc+xml":{source:"iana"},"application/riscos":{source:"iana"},"application/rlmi+xml":{source:"iana"},"application/rls-services+xml":{source:"iana",extensions:["rs"]},"application/rpki-ghostbusters":{source:"iana",extensions:["gbr"]},"application/rpki-manifest":{source:"iana",extensions:["mft"]},"application/rpki-roa":{source:"iana",extensions:["roa"]},"application/rpki-updown":{source:"iana"},"application/rsd+xml":{source:"apache",extensions:["rsd"]},"application/rss+xml":{source:"apache",compressible:!0,extensions:["rss"]},"application/rtf":{source:"iana",compressible:!0,extensions:["rtf"]},"application/rtploopback":{source:"iana"},"application/rtx":{source:"iana"},"application/samlassertion+xml":{source:"iana"},"application/samlmetadata+xml":{source:"iana"},"application/sbml+xml":{source:"iana",extensions:["sbml"]},"application/scaip+xml":{source:"iana"},"application/scim+json":{source:"iana",compressible:!0},"application/scvp-cv-request":{source:"iana",extensions:["scq"]},"application/scvp-cv-response":{source:"iana",extensions:["scs"]},"application/scvp-vp-request":{source:"iana",extensions:["spq"]},"application/scvp-vp-response":{source:"iana",extensions:["spp"]},"application/sdp":{source:"iana",extensions:["sdp"]},"application/sep+xml":{source:"iana"},"application/sep-exi":{source:"iana"},"application/session-info":{source:"iana"},"application/set-payment":{source:"iana"},"application/set-payment-initiation":{source:"iana",extensions:["setpay"]},"application/set-registration":{source:"iana"},"application/set-registration-initiation":{source:"iana",extensions:["setreg"]},"application/sgml":{source:"iana"},"application/sgml-open-catalog":{source:"iana"},"application/shf+xml":{source:"iana",extensions:["shf"]},"application/sieve":{source:"iana"},"application/simple-filter+xml":{source:"iana"},"application/simple-message-summary":{source:"iana"},"application/simplesymbolcontainer":{source:"iana"},"application/slate":{source:"iana"},"application/smil":{source:"iana"},"application/smil+xml":{source:"iana",extensions:["smi","smil"]},"application/smpte336m":{source:"iana"},"application/soap+fastinfoset":{source:"iana"},"application/soap+xml":{source:"iana",compressible:!0},"application/sparql-query":{source:"iana",extensions:["rq"]},"application/sparql-results+xml":{source:"iana",extensions:["srx"]},"application/spirits-event+xml":{source:"iana"},"application/sql":{source:"iana"},"application/srgs":{source:"iana",extensions:["gram"]},"application/srgs+xml":{source:"iana",extensions:["grxml"]},"application/sru+xml":{source:"iana",extensions:["sru"]},"application/ssdl+xml":{source:"apache",extensions:["ssdl"]},"application/ssml+xml":{source:"iana",extensions:["ssml"]},"application/tamp-apex-update":{source:"iana"},"application/tamp-apex-update-confirm":{source:"iana"},"application/tamp-community-update":{source:"iana"},"application/tamp-community-update-confirm":{source:"iana"},"application/tamp-error":{source:"iana"},"application/tamp-sequence-adjust":{source:"iana"},"application/tamp-sequence-adjust-confirm":{source:"iana"},"application/tamp-status-query":{source:"iana"},"application/tamp-status-response":{source:"iana"},"application/tamp-update":{source:"iana"},"application/tamp-update-confirm":{source:"iana"},"application/tar":{compressible:!0},"application/tei+xml":{source:"iana",extensions:["tei","teicorpus"]},"application/thraud+xml":{source:"iana",extensions:["tfi"]},"application/timestamp-query":{source:"iana"},"application/timestamp-reply":{source:"iana"},"application/timestamped-data":{source:"iana",extensions:["tsd"]},"application/ttml+xml":{source:"iana"},"application/tve-trigger":{source:"iana"},"application/ulpfec":{source:"iana"},"application/urc-grpsheet+xml":{source:"iana"},"application/urc-ressheet+xml":{source:"iana"},"application/urc-targetdesc+xml":{source:"iana"},"application/urc-uisocketdesc+xml":{source:"iana"},"application/vcard+json":{source:"iana",compressible:!0},"application/vcard+xml":{source:"iana"},"application/vemmi":{source:"iana"},"application/vividence.scriptfile":{source:"apache"},"application/vnd.3gpp-prose+xml":{source:"iana"},"application/vnd.3gpp-prose-pc3ch+xml":{source:"iana"},"application/vnd.3gpp.access-transfer-events+xml":{source:"iana"},"application/vnd.3gpp.bsf+xml":{source:"iana"},"application/vnd.3gpp.mid-call+xml":{source:"iana"},"application/vnd.3gpp.pic-bw-large":{source:"iana",extensions:["plb"]},"application/vnd.3gpp.pic-bw-small":{source:"iana",extensions:["psb"]},"application/vnd.3gpp.pic-bw-var":{source:"iana",extensions:["pvb"]},"application/vnd.3gpp.sms":{source:"iana"},"application/vnd.3gpp.srvcc-ext+xml":{source:"iana"},"application/vnd.3gpp.srvcc-info+xml":{source:"iana"},"application/vnd.3gpp.state-and-event-info+xml":{source:"iana"},"application/vnd.3gpp.ussd+xml":{source:"iana"},"application/vnd.3gpp2.bcmcsinfo+xml":{source:"iana"},"application/vnd.3gpp2.sms":{source:"iana"},"application/vnd.3gpp2.tcap":{source:"iana",extensions:["tcap"]},"application/vnd.3m.post-it-notes":{source:"iana",extensions:["pwn"]},"application/vnd.accpac.simply.aso":{source:"iana",extensions:["aso"]},"application/vnd.accpac.simply.imp":{source:"iana",extensions:["imp"]},"application/vnd.acucobol":{source:"iana",extensions:["acu"]},"application/vnd.acucorp":{source:"iana",extensions:["atc","acutc"]},"application/vnd.adobe.air-application-installer-package+zip":{source:"apache",extensions:["air"]},"application/vnd.adobe.flash.movie":{source:"iana"},"application/vnd.adobe.formscentral.fcdt":{source:"iana",extensions:["fcdt"]},"application/vnd.adobe.fxp":{source:"iana",extensions:["fxp","fxpl"]},"application/vnd.adobe.partial-upload":{source:"iana"},"application/vnd.adobe.xdp+xml":{source:"iana",extensions:["xdp"]},"application/vnd.adobe.xfdf":{source:"iana",extensions:["xfdf"]},"application/vnd.aether.imp":{source:"iana"},"application/vnd.ah-barcode":{source:"iana"},"application/vnd.ahead.space":{source:"iana",extensions:["ahead"]},"application/vnd.airzip.filesecure.azf":{source:"iana",extensions:["azf"]},"application/vnd.airzip.filesecure.azs":{source:"iana",extensions:["azs"]},"application/vnd.amazon.ebook":{source:"apache",extensions:["azw"]},"application/vnd.americandynamics.acc":{source:"iana",extensions:["acc"]},"application/vnd.amiga.ami":{source:"iana",extensions:["ami"]},"application/vnd.amundsen.maze+xml":{source:"iana"},"application/vnd.android.package-archive":{source:"apache",compressible:!1,extensions:["apk"]},"application/vnd.anki":{source:"iana"},"application/vnd.anser-web-certificate-issue-initiation":{source:"iana",extensions:["cii"]},"application/vnd.anser-web-funds-transfer-initiation":{source:"apache",extensions:["fti"]},"application/vnd.antix.game-component":{source:"iana",extensions:["atx"]},"application/vnd.apache.thrift.binary":{source:"iana"},"application/vnd.apache.thrift.compact":{source:"iana"},"application/vnd.apache.thrift.json":{source:"iana"},"application/vnd.api+json":{source:"iana",compressible:!0},"application/vnd.apple.installer+xml":{source:"iana",extensions:["mpkg"]},"application/vnd.apple.mpegurl":{source:"iana",extensions:["m3u8"]},"application/vnd.apple.pkpass":{compressible:!1,extensions:["pkpass"]},"application/vnd.arastra.swi":{source:"iana"},"application/vnd.aristanetworks.swi":{source:"iana",extensions:["swi"]},"application/vnd.artsquare":{source:"iana"},"application/vnd.astraea-software.iota":{source:"iana",extensions:["iota"]},"application/vnd.audiograph":{source:"iana",extensions:["aep"]},"application/vnd.autopackage":{source:"iana"},"application/vnd.avistar+xml":{source:"iana"},"application/vnd.balsamiq.bmml+xml":{source:"iana"},"application/vnd.balsamiq.bmpr":{source:"iana"},"application/vnd.bekitzur-stech+json":{source:"iana",compressible:!0},"application/vnd.biopax.rdf+xml":{source:"iana"},"application/vnd.blueice.multipass":{source:"iana",extensions:["mpm"]},"application/vnd.bluetooth.ep.oob":{source:"iana"},"application/vnd.bluetooth.le.oob":{source:"iana"},"application/vnd.bmi":{source:"iana",extensions:["bmi"]},"application/vnd.businessobjects":{source:"iana",extensions:["rep"]},"application/vnd.cab-jscript":{source:"iana"},"application/vnd.canon-cpdl":{source:"iana"},"application/vnd.canon-lips":{source:"iana"},"application/vnd.cendio.thinlinc.clientconf":{source:"iana"},"application/vnd.century-systems.tcp_stream":{source:"iana"},"application/vnd.chemdraw+xml":{source:"iana",extensions:["cdxml"]},"application/vnd.chipnuts.karaoke-mmd":{source:"iana",extensions:["mmd"]},"application/vnd.cinderella":{source:"iana",extensions:["cdy"]},"application/vnd.cirpack.isdn-ext":{source:"iana"},"application/vnd.citationstyles.style+xml":{source:"iana"},"application/vnd.claymore":{source:"iana",extensions:["cla"]},"application/vnd.cloanto.rp9":{source:"iana",extensions:["rp9"]},"application/vnd.clonk.c4group":{source:"iana",extensions:["c4g","c4d","c4f","c4p","c4u"]},"application/vnd.cluetrust.cartomobile-config":{source:"iana",extensions:["c11amc"]},"application/vnd.cluetrust.cartomobile-config-pkg":{source:"iana",extensions:["c11amz"]},"application/vnd.coffeescript":{source:"iana"},"application/vnd.collection+json":{source:"iana",compressible:!0},"application/vnd.collection.doc+json":{source:"iana",compressible:!0},"application/vnd.collection.next+json":{source:"iana",compressible:!0},"application/vnd.commerce-battelle":{source:"iana"},"application/vnd.commonspace":{source:"iana",extensions:["csp"]},"application/vnd.contact.cmsg":{source:"iana",extensions:["cdbcmsg"]},"application/vnd.cosmocaller":{source:"iana",extensions:["cmc"]},"application/vnd.crick.clicker":{source:"iana",extensions:["clkx"]},"application/vnd.crick.clicker.keyboard":{source:"iana",extensions:["clkk"]},"application/vnd.crick.clicker.palette":{source:"iana",extensions:["clkp"]},"application/vnd.crick.clicker.template":{source:"iana",extensions:["clkt"]},"application/vnd.crick.clicker.wordbank":{source:"iana",extensions:["clkw"]},"application/vnd.criticaltools.wbs+xml":{source:"iana",extensions:["wbs"]},"application/vnd.ctc-posml":{source:"iana",extensions:["pml"]},"application/vnd.ctct.ws+xml":{source:"iana"},"application/vnd.cups-pdf":{source:"iana"},"application/vnd.cups-postscript":{source:"iana"},"application/vnd.cups-ppd":{source:"iana",extensions:["ppd"]},"application/vnd.cups-raster":{source:"iana"},"application/vnd.cups-raw":{source:"iana"},"application/vnd.curl":{source:"iana"},"application/vnd.curl.car":{source:"apache",extensions:["car"]},"application/vnd.curl.pcurl":{source:"apache",extensions:["pcurl"]},"application/vnd.cyan.dean.root+xml":{source:"iana"},"application/vnd.cybank":{source:"iana"},"application/vnd.dart":{source:"iana",compressible:!0,extensions:["dart"]},"application/vnd.data-vision.rdz":{source:"iana",extensions:["rdz"]},"application/vnd.debian.binary-package":{source:"iana"},"application/vnd.dece.data":{source:"iana",extensions:["uvf","uvvf","uvd","uvvd"]},"application/vnd.dece.ttml+xml":{source:"iana",extensions:["uvt","uvvt"]},"application/vnd.dece.unspecified":{source:"iana",extensions:["uvx","uvvx"]},"application/vnd.dece.zip":{source:"iana",extensions:["uvz","uvvz"]},"application/vnd.denovo.fcselayout-link":{source:"iana",extensions:["fe_launch"]},"application/vnd.desmume-movie":{source:"iana"},"application/vnd.dir-bi.plate-dl-nosuffix":{source:"iana"},"application/vnd.dm.delegation+xml":{source:"iana"},"application/vnd.dna":{source:"iana",extensions:["dna"]},"application/vnd.document+json":{source:"iana",compressible:!0},"application/vnd.dolby.mlp":{source:"apache",extensions:["mlp"]},"application/vnd.dolby.mobile.1":{source:"iana"},"application/vnd.dolby.mobile.2":{source:"iana"},"application/vnd.doremir.scorecloud-binary-document":{source:"iana"},"application/vnd.dpgraph":{source:"iana",extensions:["dpg"]},"application/vnd.dreamfactory":{source:"iana",extensions:["dfac"]},"application/vnd.drive+json":{source:"iana",compressible:!0},"application/vnd.ds-keypoint":{source:"apache",extensions:["kpxx"]},"application/vnd.dtg.local":{source:"iana"},"application/vnd.dtg.local.flash":{source:"iana"},"application/vnd.dtg.local.html":{source:"iana"},"application/vnd.dvb.ait":{source:"iana",extensions:["ait"]},"application/vnd.dvb.dvbj":{source:"iana"},"application/vnd.dvb.esgcontainer":{source:"iana"},"application/vnd.dvb.ipdcdftnotifaccess":{source:"iana"},"application/vnd.dvb.ipdcesgaccess":{source:"iana"},"application/vnd.dvb.ipdcesgaccess2":{source:"iana"},"application/vnd.dvb.ipdcesgpdd":{source:"iana"},"application/vnd.dvb.ipdcroaming":{source:"iana"},"application/vnd.dvb.iptv.alfec-base":{source:"iana"},"application/vnd.dvb.iptv.alfec-enhancement":{source:"iana"},"application/vnd.dvb.notif-aggregate-root+xml":{source:"iana"},"application/vnd.dvb.notif-container+xml":{source:"iana"},"application/vnd.dvb.notif-generic+xml":{source:"iana"},"application/vnd.dvb.notif-ia-msglist+xml":{source:"iana"},"application/vnd.dvb.notif-ia-registration-request+xml":{source:"iana"},"application/vnd.dvb.notif-ia-registration-response+xml":{source:"iana"},"application/vnd.dvb.notif-init+xml":{source:"iana"},"application/vnd.dvb.pfr":{source:"iana"},"application/vnd.dvb.service":{source:"iana",extensions:["svc"]},"application/vnd.dxr":{source:"iana"},"application/vnd.dynageo":{source:"iana",extensions:["geo"]},"application/vnd.dzr":{source:"iana"},"application/vnd.easykaraoke.cdgdownload":{source:"iana"},"application/vnd.ecdis-update":{source:"iana"},"application/vnd.ecowin.chart":{source:"iana",extensions:["mag"]},"application/vnd.ecowin.filerequest":{source:"iana"},"application/vnd.ecowin.fileupdate":{source:"iana"},"application/vnd.ecowin.series":{source:"iana"},"application/vnd.ecowin.seriesrequest":{source:"iana"},"application/vnd.ecowin.seriesupdate":{source:"iana"},"application/vnd.emclient.accessrequest+xml":{source:"iana"},"application/vnd.enliven":{source:"iana",extensions:["nml"]},"application/vnd.enphase.envoy":{source:"iana"},"application/vnd.eprints.data+xml":{source:"iana"},"application/vnd.epson.esf":{source:"iana",extensions:["esf"]},"application/vnd.epson.msf":{source:"iana",extensions:["msf"]},"application/vnd.epson.quickanime":{source:"iana",extensions:["qam"]},"application/vnd.epson.salt":{source:"iana",extensions:["slt"]},"application/vnd.epson.ssf":{source:"iana",extensions:["ssf"]},"application/vnd.ericsson.quickcall":{source:"iana"},"application/vnd.eszigno3+xml":{source:"iana",extensions:["es3","et3"]},"application/vnd.etsi.aoc+xml":{source:"iana"},"application/vnd.etsi.asic-e+zip":{source:"iana"},"application/vnd.etsi.asic-s+zip":{source:"iana"},"application/vnd.etsi.cug+xml":{source:"iana"},"application/vnd.etsi.iptvcommand+xml":{source:"iana"},"application/vnd.etsi.iptvdiscovery+xml":{source:"iana"},"application/vnd.etsi.iptvprofile+xml":{source:"iana"},"application/vnd.etsi.iptvsad-bc+xml":{source:"iana"},"application/vnd.etsi.iptvsad-cod+xml":{source:"iana"},"application/vnd.etsi.iptvsad-npvr+xml":{source:"iana"},"application/vnd.etsi.iptvservice+xml":{source:"iana"},"application/vnd.etsi.iptvsync+xml":{source:"iana"},"application/vnd.etsi.iptvueprofile+xml":{source:"iana"},"application/vnd.etsi.mcid+xml":{source:"iana"},"application/vnd.etsi.mheg5":{source:"iana"},"application/vnd.etsi.overload-control-policy-dataset+xml":{source:"iana"},"application/vnd.etsi.pstn+xml":{source:"iana"},"application/vnd.etsi.sci+xml":{source:"iana"},"application/vnd.etsi.simservs+xml":{source:"iana"},"application/vnd.etsi.timestamp-token":{source:"iana"},"application/vnd.etsi.tsl+xml":{source:"iana"},"application/vnd.etsi.tsl.der":{source:"iana"},"application/vnd.eudora.data":{source:"iana"},"application/vnd.ezpix-album":{source:"iana",extensions:["ez2"]},"application/vnd.ezpix-package":{source:"iana",extensions:["ez3"]},"application/vnd.f-secure.mobile":{source:"iana"},"application/vnd.fastcopy-disk-image":{source:"iana"},"application/vnd.fdf":{source:"iana",extensions:["fdf"]},"application/vnd.fdsn.mseed":{source:"iana",extensions:["mseed"]},"application/vnd.fdsn.seed":{source:"iana",extensions:["seed","dataless"]},"application/vnd.ffsns":{source:"iana"},"application/vnd.filmit.zfc":{source:"iana"},"application/vnd.fints":{source:"iana"},"application/vnd.firemonkeys.cloudcell":{source:"iana"},"application/vnd.flographit":{source:"iana",extensions:["gph"]},"application/vnd.fluxtime.clip":{source:"iana",extensions:["ftc"]},"application/vnd.font-fontforge-sfd":{source:"iana"},"application/vnd.framemaker":{source:"iana",extensions:["fm","frame","maker","book"]},"application/vnd.frogans.fnc":{source:"iana",extensions:["fnc"]},"application/vnd.frogans.ltf":{source:"iana",extensions:["ltf"]},"application/vnd.fsc.weblaunch":{source:"iana",extensions:["fsc"]},"application/vnd.fujitsu.oasys":{source:"iana",extensions:["oas"]},"application/vnd.fujitsu.oasys2":{source:"iana",extensions:["oa2"]},"application/vnd.fujitsu.oasys3":{source:"iana",extensions:["oa3"]},"application/vnd.fujitsu.oasysgp":{source:"iana",extensions:["fg5"]},"application/vnd.fujitsu.oasysprs":{source:"iana",extensions:["bh2"]},"application/vnd.fujixerox.art-ex":{source:"iana"},"application/vnd.fujixerox.art4":{source:"iana"},"application/vnd.fujixerox.ddd":{source:"iana",extensions:["ddd"]},"application/vnd.fujixerox.docuworks":{source:"iana",extensions:["xdw"]},"application/vnd.fujixerox.docuworks.binder":{source:"iana",extensions:["xbd"]},"application/vnd.fujixerox.docuworks.container":{source:"iana"},"application/vnd.fujixerox.hbpl":{source:"iana"},"application/vnd.fut-misnet":{source:"iana"},"application/vnd.fuzzysheet":{source:"iana",extensions:["fzs"]},"application/vnd.genomatix.tuxedo":{source:"iana",extensions:["txd"]},"application/vnd.geo+json":{source:"iana",compressible:!0},"application/vnd.geocube+xml":{source:"iana"},"application/vnd.geogebra.file":{source:"iana",extensions:["ggb"]},"application/vnd.geogebra.tool":{source:"iana",extensions:["ggt"]},"application/vnd.geometry-explorer":{source:"iana",extensions:["gex","gre"]},"application/vnd.geonext":{source:"iana",extensions:["gxt"]},"application/vnd.geoplan":{source:"iana",extensions:["g2w"]},"application/vnd.geospace":{source:"iana",extensions:["g3w"]},"application/vnd.gerber":{source:"iana"},"application/vnd.globalplatform.card-content-mgt":{source:"iana"},"application/vnd.globalplatform.card-content-mgt-response":{source:"iana"},"application/vnd.gmx":{source:"iana",extensions:["gmx"]},"application/vnd.google-apps.document":{compressible:!1,extensions:["gdoc"]},"application/vnd.google-apps.presentation":{compressible:!1,extensions:["gslides"]},"application/vnd.google-apps.spreadsheet":{compressible:!1,extensions:["gsheet"]},"application/vnd.google-earth.kml+xml":{source:"iana",compressible:!0,extensions:["kml"]},"application/vnd.google-earth.kmz":{source:"iana",compressible:!1,extensions:["kmz"]},"application/vnd.gov.sk.e-form+xml":{source:"iana"},"application/vnd.gov.sk.e-form+zip":{source:"iana"},"application/vnd.gov.sk.xmldatacontainer+xml":{source:"iana"},"application/vnd.grafeq":{source:"iana",extensions:["gqf","gqs"]},"application/vnd.gridmp":{source:"iana"},"application/vnd.groove-account":{source:"iana",extensions:["gac"]},"application/vnd.groove-help":{source:"iana",extensions:["ghf"]},"application/vnd.groove-identity-message":{source:"iana",extensions:["gim"]},"application/vnd.groove-injector":{source:"iana",extensions:["grv"]},"application/vnd.groove-tool-message":{source:"iana",extensions:["gtm"]},"application/vnd.groove-tool-template":{source:"iana",extensions:["tpl"]},"application/vnd.groove-vcard":{source:"iana",extensions:["vcg"]},"application/vnd.hal+json":{source:"iana",compressible:!0},"application/vnd.hal+xml":{source:"iana",extensions:["hal"]},"application/vnd.handheld-entertainment+xml":{source:"iana",extensions:["zmm"]},"application/vnd.hbci":{source:"iana",extensions:["hbci"]},"application/vnd.hcl-bireports":{source:"iana"},"application/vnd.heroku+json":{source:"iana",compressible:!0},"application/vnd.hhe.lesson-player":{source:"iana",extensions:["les"]},"application/vnd.hp-hpgl":{source:"iana",extensions:["hpgl"]},"application/vnd.hp-hpid":{source:"iana",extensions:["hpid"]},"application/vnd.hp-hps":{source:"iana",extensions:["hps"]},"application/vnd.hp-jlyt":{source:"iana",extensions:["jlt"]},"application/vnd.hp-pcl":{source:"iana",extensions:["pcl"]},"application/vnd.hp-pclxl":{source:"iana",extensions:["pclxl"]},"application/vnd.httphone":{source:"iana"},"application/vnd.hydrostatix.sof-data":{source:"iana",extensions:["sfd-hdstx"]},"application/vnd.hyperdrive+json":{source:"iana",compressible:!0},"application/vnd.hzn-3d-crossword":{source:"iana"},"application/vnd.ibm.afplinedata":{source:"iana"},"application/vnd.ibm.electronic-media":{source:"iana"},"application/vnd.ibm.minipay":{source:"iana",extensions:["mpy"]},"application/vnd.ibm.modcap":{source:"iana",extensions:["afp","listafp","list3820"]},"application/vnd.ibm.rights-management":{source:"iana",extensions:["irm"]},"application/vnd.ibm.secure-container":{source:"iana",extensions:["sc"]},"application/vnd.iccprofile":{source:"iana",extensions:["icc","icm"]},"application/vnd.ieee.1905":{source:"iana"},"application/vnd.igloader":{source:"iana",extensions:["igl"]},"application/vnd.immervision-ivp":{source:"iana",extensions:["ivp"]},"application/vnd.immervision-ivu":{source:"iana",extensions:["ivu"]},"application/vnd.ims.imsccv1p1":{source:"iana"},"application/vnd.ims.imsccv1p2":{source:"iana"},"application/vnd.ims.imsccv1p3":{source:"iana"},"application/vnd.ims.lis.v2.result+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolconsumerprofile+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolproxy+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolproxy.id+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolsettings+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolsettings.simple+json":{source:"iana",compressible:!0},"application/vnd.informedcontrol.rms+xml":{source:"iana"},"application/vnd.informix-visionary":{source:"iana"},"application/vnd.infotech.project":{source:"iana"},"application/vnd.infotech.project+xml":{source:"iana"},"application/vnd.innopath.wamp.notification":{source:"iana"},"application/vnd.insors.igm":{source:"iana",extensions:["igm"]},"application/vnd.intercon.formnet":{source:"iana",extensions:["xpw","xpx"]},"application/vnd.intergeo":{source:"iana",extensions:["i2g"]},"application/vnd.intertrust.digibox":{source:"iana"},"application/vnd.intertrust.nncp":{source:"iana"},"application/vnd.intu.qbo":{source:"iana",extensions:["qbo"]},"application/vnd.intu.qfx":{source:"iana",extensions:["qfx"]},"application/vnd.iptc.g2.catalogitem+xml":{source:"iana"},"application/vnd.iptc.g2.conceptitem+xml":{source:"iana"},"application/vnd.iptc.g2.knowledgeitem+xml":{source:"iana"},"application/vnd.iptc.g2.newsitem+xml":{source:"iana"},"application/vnd.iptc.g2.newsmessage+xml":{source:"iana"},"application/vnd.iptc.g2.packageitem+xml":{source:"iana"},"application/vnd.iptc.g2.planningitem+xml":{source:"iana"},"application/vnd.ipunplugged.rcprofile":{source:"iana",extensions:["rcprofile"]},"application/vnd.irepository.package+xml":{source:"iana",extensions:["irp"]},"application/vnd.is-xpr":{source:"iana",extensions:["xpr"]},"application/vnd.isac.fcs":{source:"iana",extensions:["fcs"]},"application/vnd.jam":{source:"iana",extensions:["jam"]},"application/vnd.japannet-directory-service":{source:"iana"},"application/vnd.japannet-jpnstore-wakeup":{source:"iana"},"application/vnd.japannet-payment-wakeup":{source:"iana"},"application/vnd.japannet-registration":{source:"iana"},"application/vnd.japannet-registration-wakeup":{source:"iana"},"application/vnd.japannet-setstore-wakeup":{source:"iana"},"application/vnd.japannet-verification":{source:"iana"},"application/vnd.japannet-verification-wakeup":{source:"iana"},"application/vnd.jcp.javame.midlet-rms":{source:"iana",extensions:["rms"]},"application/vnd.jisp":{source:"iana",extensions:["jisp"]},"application/vnd.joost.joda-archive":{source:"iana",extensions:["joda"]},"application/vnd.jsk.isdn-ngn":{source:"iana"},"application/vnd.kahootz":{source:"iana",extensions:["ktz","ktr"]},"application/vnd.kde.karbon":{source:"iana",extensions:["karbon"]},"application/vnd.kde.kchart":{source:"iana",extensions:["chrt"]},"application/vnd.kde.kformula":{source:"iana",extensions:["kfo"]},"application/vnd.kde.kivio":{source:"iana",extensions:["flw"]},"application/vnd.kde.kontour":{source:"iana",extensions:["kon"]},"application/vnd.kde.kpresenter":{source:"iana",extensions:["kpr","kpt"]},"application/vnd.kde.kspread":{source:"iana",extensions:["ksp"]},"application/vnd.kde.kword":{source:"iana",extensions:["kwd","kwt"]},"application/vnd.kenameaapp":{source:"iana",extensions:["htke"]},"application/vnd.kidspiration":{source:"iana",extensions:["kia"]},"application/vnd.kinar":{source:"iana",extensions:["kne","knp"]},"application/vnd.koan":{source:"iana",extensions:["skp","skd","skt","skm"]},"application/vnd.kodak-descriptor":{source:"iana",extensions:["sse"]},"application/vnd.las.las+xml":{source:"iana",extensions:["lasxml"]},"application/vnd.liberty-request+xml":{source:"iana"},"application/vnd.llamagraphics.life-balance.desktop":{source:"iana",extensions:["lbd"]},"application/vnd.llamagraphics.life-balance.exchange+xml":{source:"iana",extensions:["lbe"]},"application/vnd.lotus-1-2-3":{source:"iana",extensions:["123"]},"application/vnd.lotus-approach":{source:"iana",extensions:["apr"]},"application/vnd.lotus-freelance":{source:"iana",extensions:["pre"]},"application/vnd.lotus-notes":{source:"iana",extensions:["nsf"]},"application/vnd.lotus-organizer":{source:"iana",extensions:["org"]},"application/vnd.lotus-screencam":{source:"iana",extensions:["scm"]},"application/vnd.lotus-wordpro":{source:"iana",extensions:["lwp"]},"application/vnd.macports.portpkg":{source:"iana",extensions:["portpkg"]},"application/vnd.mapbox-vector-tile":{source:"iana"},"application/vnd.marlin.drm.actiontoken+xml":{source:"iana"},"application/vnd.marlin.drm.conftoken+xml":{source:"iana"},"application/vnd.marlin.drm.license+xml":{source:"iana"},"application/vnd.marlin.drm.mdcf":{source:"iana"},"application/vnd.mason+json":{source:"iana",compressible:!0},"application/vnd.maxmind.maxmind-db":{source:"iana"},"application/vnd.mcd":{source:"iana",extensions:["mcd"]},"application/vnd.medcalcdata":{source:"iana",extensions:["mc1"]},"application/vnd.mediastation.cdkey":{source:"iana",extensions:["cdkey"]},"application/vnd.meridian-slingshot":{source:"iana"},"application/vnd.mfer":{source:"iana",extensions:["mwf"]},"application/vnd.mfmp":{source:"iana",extensions:["mfm"]},"application/vnd.micro+json":{source:"iana",compressible:!0},"application/vnd.micrografx.flo":{source:"iana",extensions:["flo"]},"application/vnd.micrografx.igx":{source:"iana",extensions:["igx"]},"application/vnd.microsoft.portable-executable":{source:"iana"},"application/vnd.miele+json":{source:"iana",compressible:!0},"application/vnd.mif":{source:"iana",extensions:["mif"]},"application/vnd.minisoft-hp3000-save":{source:"iana"},"application/vnd.mitsubishi.misty-guard.trustweb":{source:"iana"},"application/vnd.mobius.daf":{source:"iana",extensions:["daf"]},"application/vnd.mobius.dis":{source:"iana",extensions:["dis"]},"application/vnd.mobius.mbk":{source:"iana",extensions:["mbk"]},"application/vnd.mobius.mqy":{source:"iana",extensions:["mqy"]},"application/vnd.mobius.msl":{source:"iana",extensions:["msl"]},"application/vnd.mobius.plc":{source:"iana",extensions:["plc"]},"application/vnd.mobius.txf":{source:"iana",extensions:["txf"]},"application/vnd.mophun.application":{source:"iana",extensions:["mpn"]},"application/vnd.mophun.certificate":{source:"iana",extensions:["mpc"]},"application/vnd.motorola.flexsuite":{source:"iana"},"application/vnd.motorola.flexsuite.adsi":{source:"iana"},"application/vnd.motorola.flexsuite.fis":{source:"iana"},"application/vnd.motorola.flexsuite.gotap":{source:"iana"},"application/vnd.motorola.flexsuite.kmr":{source:"iana"},"application/vnd.motorola.flexsuite.ttc":{source:"iana"},"application/vnd.motorola.flexsuite.wem":{source:"iana"},"application/vnd.motorola.iprm":{source:"iana"},"application/vnd.mozilla.xul+xml":{source:"iana",compressible:!0,extensions:["xul"]},"application/vnd.ms-3mfdocument":{source:"iana"},"application/vnd.ms-artgalry":{source:"iana",extensions:["cil"]},"application/vnd.ms-asf":{source:"iana"},"application/vnd.ms-cab-compressed":{source:"iana",extensions:["cab"]},"application/vnd.ms-color.iccprofile":{source:"apache"},"application/vnd.ms-excel":{source:"iana",compressible:!1,extensions:["xls","xlm","xla","xlc","xlt","xlw"]},"application/vnd.ms-excel.addin.macroenabled.12":{source:"iana",extensions:["xlam"]},"application/vnd.ms-excel.sheet.binary.macroenabled.12":{source:"iana",extensions:["xlsb"]},"application/vnd.ms-excel.sheet.macroenabled.12":{source:"iana",extensions:["xlsm"]},"application/vnd.ms-excel.template.macroenabled.12":{source:"iana",extensions:["xltm"]},"application/vnd.ms-fontobject":{source:"iana",compressible:!0,extensions:["eot"]},"application/vnd.ms-htmlhelp":{source:"iana",extensions:["chm"]},"application/vnd.ms-ims":{source:"iana",extensions:["ims"]},"application/vnd.ms-lrm":{source:"iana",extensions:["lrm"]},"application/vnd.ms-office.activex+xml":{source:"iana"},"application/vnd.ms-officetheme":{source:"iana",extensions:["thmx"]},"application/vnd.ms-opentype":{source:"apache",compressible:!0},"application/vnd.ms-package.obfuscated-opentype":{source:"apache"},"application/vnd.ms-pki.seccat":{source:"apache",extensions:["cat"]},"application/vnd.ms-pki.stl":{source:"apache",extensions:["stl"]},"application/vnd.ms-playready.initiator+xml":{source:"iana"},"application/vnd.ms-powerpoint":{source:"iana",compressible:!1,extensions:["ppt","pps","pot"]},"application/vnd.ms-powerpoint.addin.macroenabled.12":{source:"iana",extensions:["ppam"]},"application/vnd.ms-powerpoint.presentation.macroenabled.12":{source:"iana",extensions:["pptm"]},"application/vnd.ms-powerpoint.slide.macroenabled.12":{source:"iana",extensions:["sldm"]},"application/vnd.ms-powerpoint.slideshow.macroenabled.12":{source:"iana",extensions:["ppsm"]},"application/vnd.ms-powerpoint.template.macroenabled.12":{source:"iana",extensions:["potm"]},"application/vnd.ms-printdevicecapabilities+xml":{source:"iana"},"application/vnd.ms-printing.printticket+xml":{source:"apache"},"application/vnd.ms-project":{source:"iana",extensions:["mpp","mpt"]},"application/vnd.ms-tnef":{source:"iana"},"application/vnd.ms-windows.devicepairing":{source:"iana"},"application/vnd.ms-windows.nwprinting.oob":{source:"iana"},"application/vnd.ms-windows.printerpairing":{source:"iana"},"application/vnd.ms-windows.wsd.oob":{source:"iana"},"application/vnd.ms-wmdrm.lic-chlg-req":{source:"iana"},"application/vnd.ms-wmdrm.lic-resp":{source:"iana"},"application/vnd.ms-wmdrm.meter-chlg-req":{source:"iana"},"application/vnd.ms-wmdrm.meter-resp":{source:"iana"},"application/vnd.ms-word.document.macroenabled.12":{source:"iana",extensions:["docm"]},"application/vnd.ms-word.template.macroenabled.12":{source:"iana",extensions:["dotm"]},"application/vnd.ms-works":{source:"iana",extensions:["wps","wks","wcm","wdb"]},"application/vnd.ms-wpl":{source:"iana",extensions:["wpl"]},"application/vnd.ms-xpsdocument":{source:"iana",compressible:!1,extensions:["xps"]},"application/vnd.msa-disk-image":{source:"iana"},"application/vnd.mseq":{source:"iana",extensions:["mseq"]},"application/vnd.msign":{source:"iana"},"application/vnd.multiad.creator":{source:"iana"},"application/vnd.multiad.creator.cif":{source:"iana"},"application/vnd.music-niff":{source:"iana"},"application/vnd.musician":{source:"iana",extensions:["mus"]},"application/vnd.muvee.style":{source:"iana",extensions:["msty"]},"application/vnd.mynfc":{source:"iana",extensions:["taglet"]},"application/vnd.ncd.control":{source:"iana"},"application/vnd.ncd.reference":{source:"iana"},"application/vnd.nervana":{source:"iana"},"application/vnd.netfpx":{source:"iana"},"application/vnd.neurolanguage.nlu":{source:"iana",extensions:["nlu"]},"application/vnd.nintendo.nitro.rom":{source:"iana"},"application/vnd.nintendo.snes.rom":{source:"iana"},"application/vnd.nitf":{source:"iana",extensions:["ntf","nitf"]},"application/vnd.noblenet-directory":{source:"iana",extensions:["nnd"]},"application/vnd.noblenet-sealer":{source:"iana",extensions:["nns"]},"application/vnd.noblenet-web":{source:"iana",extensions:["nnw"]},"application/vnd.nokia.catalogs":{source:"iana"},"application/vnd.nokia.conml+wbxml":{source:"iana"},"application/vnd.nokia.conml+xml":{source:"iana"},"application/vnd.nokia.iptv.config+xml":{source:"iana"},"application/vnd.nokia.isds-radio-presets":{source:"iana"},"application/vnd.nokia.landmark+wbxml":{source:"iana"},"application/vnd.nokia.landmark+xml":{source:"iana"},"application/vnd.nokia.landmarkcollection+xml":{source:"iana"},"application/vnd.nokia.n-gage.ac+xml":{source:"iana"},"application/vnd.nokia.n-gage.data":{source:"iana",extensions:["ngdat"]},"application/vnd.nokia.n-gage.symbian.install":{source:"iana",extensions:["n-gage"]},"application/vnd.nokia.ncd":{source:"iana"},"application/vnd.nokia.pcd+wbxml":{source:"iana"},"application/vnd.nokia.pcd+xml":{source:"iana"},"application/vnd.nokia.radio-preset":{source:"iana",extensions:["rpst"]},"application/vnd.nokia.radio-presets":{source:"iana",extensions:["rpss"]},"application/vnd.novadigm.edm":{source:"iana",extensions:["edm"]},"application/vnd.novadigm.edx":{source:"iana",extensions:["edx"]},"application/vnd.novadigm.ext":{source:"iana",extensions:["ext"]},"application/vnd.ntt-local.content-share":{source:"iana"},"application/vnd.ntt-local.file-transfer":{source:"iana"},"application/vnd.ntt-local.ogw_remote-access":{source:"iana"},"application/vnd.ntt-local.sip-ta_remote":{source:"iana"},"application/vnd.ntt-local.sip-ta_tcp_stream":{source:"iana"},"application/vnd.oasis.opendocument.chart":{source:"iana",extensions:["odc"]},"application/vnd.oasis.opendocument.chart-template":{source:"iana",extensions:["otc"]},"application/vnd.oasis.opendocument.database":{source:"iana",extensions:["odb"]},"application/vnd.oasis.opendocument.formula":{source:"iana",extensions:["odf"]},"application/vnd.oasis.opendocument.formula-template":{source:"iana",extensions:["odft"]},"application/vnd.oasis.opendocument.graphics":{source:"iana",compressible:!1,extensions:["odg"]},"application/vnd.oasis.opendocument.graphics-template":{source:"iana",extensions:["otg"]},"application/vnd.oasis.opendocument.image":{source:"iana",extensions:["odi"]},"application/vnd.oasis.opendocument.image-template":{source:"iana",extensions:["oti"]},"application/vnd.oasis.opendocument.presentation":{source:"iana",compressible:!1,extensions:["odp"]},"application/vnd.oasis.opendocument.presentation-template":{source:"iana",extensions:["otp"]},"application/vnd.oasis.opendocument.spreadsheet":{source:"iana",compressible:!1,extensions:["ods"]},"application/vnd.oasis.opendocument.spreadsheet-template":{source:"iana",extensions:["ots"]},"application/vnd.oasis.opendocument.text":{source:"iana",compressible:!1,extensions:["odt"]},"application/vnd.oasis.opendocument.text-master":{source:"iana",extensions:["odm"]},"application/vnd.oasis.opendocument.text-template":{source:"iana",extensions:["ott"]},"application/vnd.oasis.opendocument.text-web":{source:"iana",extensions:["oth"]},"application/vnd.obn":{source:"iana"},"application/vnd.oftn.l10n+json":{source:"iana",compressible:!0},"application/vnd.oipf.contentaccessdownload+xml":{source:"iana"},"application/vnd.oipf.contentaccessstreaming+xml":{source:"iana"},"application/vnd.oipf.cspg-hexbinary":{source:"iana"},"application/vnd.oipf.dae.svg+xml":{source:"iana"},"application/vnd.oipf.dae.xhtml+xml":{source:"iana"},"application/vnd.oipf.mippvcontrolmessage+xml":{source:"iana"},"application/vnd.oipf.pae.gem":{source:"iana"},"application/vnd.oipf.spdiscovery+xml":{source:"iana"},"application/vnd.oipf.spdlist+xml":{source:"iana"},"application/vnd.oipf.ueprofile+xml":{source:"iana"},"application/vnd.oipf.userprofile+xml":{source:"iana"},"application/vnd.olpc-sugar":{source:"iana",extensions:["xo"]},"application/vnd.oma-scws-config":{source:"iana"},"application/vnd.oma-scws-http-request":{source:"iana"},"application/vnd.oma-scws-http-response":{source:"iana"},"application/vnd.oma.bcast.associated-procedure-parameter+xml":{source:"iana"},"application/vnd.oma.bcast.drm-trigger+xml":{source:"iana"},"application/vnd.oma.bcast.imd+xml":{source:"iana"},"application/vnd.oma.bcast.ltkm":{source:"iana"},"application/vnd.oma.bcast.notification+xml":{source:"iana"},"application/vnd.oma.bcast.provisioningtrigger":{source:"iana"},"application/vnd.oma.bcast.sgboot":{source:"iana"},"application/vnd.oma.bcast.sgdd+xml":{source:"iana"},"application/vnd.oma.bcast.sgdu":{source:"iana"},"application/vnd.oma.bcast.simple-symbol-container":{source:"iana"},"application/vnd.oma.bcast.smartcard-trigger+xml":{source:"iana"},"application/vnd.oma.bcast.sprov+xml":{source:"iana"},"application/vnd.oma.bcast.stkm":{source:"iana"},"application/vnd.oma.cab-address-book+xml":{source:"iana"},"application/vnd.oma.cab-feature-handler+xml":{source:"iana"},"application/vnd.oma.cab-pcc+xml":{source:"iana"},"application/vnd.oma.cab-subs-invite+xml":{source:"iana"},"application/vnd.oma.cab-user-prefs+xml":{source:"iana"},"application/vnd.oma.dcd":{source:"iana"},"application/vnd.oma.dcdc":{source:"iana"},"application/vnd.oma.dd2+xml":{source:"iana",extensions:["dd2"]},"application/vnd.oma.drm.risd+xml":{source:"iana"},"application/vnd.oma.group-usage-list+xml":{source:"iana"},"application/vnd.oma.pal+xml":{source:"iana"},"application/vnd.oma.poc.detailed-progress-report+xml":{source:"iana"},"application/vnd.oma.poc.final-report+xml":{source:"iana"},"application/vnd.oma.poc.groups+xml":{source:"iana"},"application/vnd.oma.poc.invocation-descriptor+xml":{source:"iana"},"application/vnd.oma.poc.optimized-progress-report+xml":{source:"iana"},"application/vnd.oma.push":{source:"iana"},"application/vnd.oma.scidm.messages+xml":{source:"iana"},"application/vnd.oma.xcap-directory+xml":{source:"iana"},"application/vnd.omads-email+xml":{source:"iana"},"application/vnd.omads-file+xml":{source:"iana"},"application/vnd.omads-folder+xml":{source:"iana"},"application/vnd.omaloc-supl-init":{source:"iana"},"application/vnd.openblox.game+xml":{source:"iana"},"application/vnd.openblox.game-binary":{source:"iana"},"application/vnd.openeye.oeb":{source:"iana"},"application/vnd.openofficeorg.extension":{source:"apache",extensions:["oxt"]},"application/vnd.openxmlformats-officedocument.custom-properties+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.customxmlproperties+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.drawing+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.drawingml.chart+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.extended-properties+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.presentationml-template":{source:"iana"},"application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.presentationml.comments+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.presentationml.presentation":{source:"iana",compressible:!1,extensions:["pptx"]},"application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.presentationml.presprops+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.presentationml.slide":{source:"iana",extensions:["sldx"]},"application/vnd.openxmlformats-officedocument.presentationml.slide+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.presentationml.slideshow":{source:"iana",extensions:["ppsx"]},"application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.presentationml.tags+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.presentationml.template":{source:"apache",extensions:["potx"]},"application/vnd.openxmlformats-officedocument.presentationml.template.main+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.spreadsheetml-template":{source:"iana"},"application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":{source:"iana",compressible:!1,extensions:["xlsx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.spreadsheetml.template":{source:"apache",extensions:["xltx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.theme+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.themeoverride+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.vmldrawing":{source:"iana"},"application/vnd.openxmlformats-officedocument.wordprocessingml-template":{source:"iana"},"application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.wordprocessingml.document":{source:"iana",compressible:!1,extensions:["docx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.wordprocessingml.template":{source:"apache",extensions:["dotx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml":{source:"iana"},"application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml":{source:"iana"},"application/vnd.openxmlformats-package.core-properties+xml":{source:"iana"},"application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml":{source:"iana"},"application/vnd.openxmlformats-package.relationships+xml":{source:"iana"},"application/vnd.oracle.resource+json":{source:"iana",compressible:!0},"application/vnd.orange.indata":{source:"iana"},"application/vnd.osa.netdeploy":{source:"iana"},"application/vnd.osgeo.mapguide.package":{source:"iana",extensions:["mgp"]},"application/vnd.osgi.bundle":{source:"iana"},"application/vnd.osgi.dp":{source:"iana",extensions:["dp"]},"application/vnd.osgi.subsystem":{source:"iana",extensions:["esa"]},"application/vnd.otps.ct-kip+xml":{source:"iana"},"application/vnd.oxli.countgraph":{source:"iana"},"application/vnd.pagerduty+json":{source:"iana",compressible:!0},"application/vnd.palm":{source:"iana",extensions:["pdb","pqa","oprc"]},"application/vnd.panoply":{source:"iana"},"application/vnd.paos+xml":{source:"iana"},"application/vnd.paos.xml":{source:"apache"},"application/vnd.pawaafile":{source:"iana",extensions:["paw"]},"application/vnd.pcos":{source:"iana"},"application/vnd.pg.format":{source:"iana",extensions:["str"]},"application/vnd.pg.osasli":{source:"iana",extensions:["ei6"]},"application/vnd.piaccess.application-licence":{source:"iana"},"application/vnd.picsel":{source:"iana",extensions:["efif"]},"application/vnd.pmi.widget":{source:"iana",extensions:["wg"]},"application/vnd.poc.group-advertisement+xml":{source:"iana"},"application/vnd.pocketlearn":{source:"iana",extensions:["plf"]},"application/vnd.powerbuilder6":{source:"iana",extensions:["pbd"]},"application/vnd.powerbuilder6-s":{source:"iana"},"application/vnd.powerbuilder7":{source:"iana"},"application/vnd.powerbuilder7-s":{source:"iana"},"application/vnd.powerbuilder75":{source:"iana"},"application/vnd.powerbuilder75-s":{source:"iana"},"application/vnd.preminet":{source:"iana"},"application/vnd.previewsystems.box":{source:"iana",extensions:["box"]},"application/vnd.proteus.magazine":{source:"iana",extensions:["mgz"]},"application/vnd.publishare-delta-tree":{source:"iana",extensions:["qps"]},"application/vnd.pvi.ptid1":{source:"iana",extensions:["ptid"]},"application/vnd.pwg-multiplexed":{source:"iana"},"application/vnd.pwg-xhtml-print+xml":{source:"iana"},"application/vnd.qualcomm.brew-app-res":{source:"iana"},"application/vnd.quark.quarkxpress":{source:"iana",extensions:["qxd","qxt","qwd","qwt","qxl","qxb"]},"application/vnd.quobject-quoxdocument":{source:"iana"},"application/vnd.radisys.moml+xml":{source:"iana"},"application/vnd.radisys.msml+xml":{source:"iana"},"application/vnd.radisys.msml-audit+xml":{source:"iana"},"application/vnd.radisys.msml-audit-conf+xml":{source:"iana"},"application/vnd.radisys.msml-audit-conn+xml":{source:"iana"},"application/vnd.radisys.msml-audit-dialog+xml":{source:"iana"},"application/vnd.radisys.msml-audit-stream+xml":{source:"iana"},"application/vnd.radisys.msml-conf+xml":{source:"iana"},"application/vnd.radisys.msml-dialog+xml":{source:"iana"},"application/vnd.radisys.msml-dialog-base+xml":{source:"iana"},"application/vnd.radisys.msml-dialog-fax-detect+xml":{source:"iana"},"application/vnd.radisys.msml-dialog-fax-sendrecv+xml":{source:"iana"},"application/vnd.radisys.msml-dialog-group+xml":{source:"iana"},"application/vnd.radisys.msml-dialog-speech+xml":{source:"iana"},"application/vnd.radisys.msml-dialog-transform+xml":{source:"iana"},"application/vnd.rainstor.data":{source:"iana"},"application/vnd.rapid":{source:"iana"},"application/vnd.realvnc.bed":{source:"iana",extensions:["bed"]},"application/vnd.recordare.musicxml":{source:"iana",extensions:["mxl"]},"application/vnd.recordare.musicxml+xml":{source:"iana",extensions:["musicxml"]},"application/vnd.renlearn.rlprint":{source:"iana"},"application/vnd.rig.cryptonote":{source:"iana",extensions:["cryptonote"]},"application/vnd.rim.cod":{source:"apache",extensions:["cod"]},"application/vnd.rn-realmedia":{source:"apache",extensions:["rm"]},"application/vnd.rn-realmedia-vbr":{source:"apache",extensions:["rmvb"]},"application/vnd.route66.link66+xml":{source:"iana",extensions:["link66"]},"application/vnd.rs-274x":{source:"iana"},"application/vnd.ruckus.download":{source:"iana"},"application/vnd.s3sms":{source:"iana"},"application/vnd.sailingtracker.track":{source:"iana",extensions:["st"]},"application/vnd.sbm.cid":{source:"iana"},"application/vnd.sbm.mid2":{source:"iana"},"application/vnd.scribus":{source:"iana"},"application/vnd.sealed.3df":{source:"iana"},"application/vnd.sealed.csf":{source:"iana"},"application/vnd.sealed.doc":{source:"iana"},"application/vnd.sealed.eml":{source:"iana"},"application/vnd.sealed.mht":{source:"iana"},"application/vnd.sealed.net":{source:"iana"},"application/vnd.sealed.ppt":{source:"iana"},"application/vnd.sealed.tiff":{source:"iana"},"application/vnd.sealed.xls":{source:"iana"},"application/vnd.sealedmedia.softseal.html":{source:"iana"},"application/vnd.sealedmedia.softseal.pdf":{source:"iana"},"application/vnd.seemail":{source:"iana",extensions:["see"]},"application/vnd.sema":{source:"iana",extensions:["sema"]},"application/vnd.semd":{source:"iana",extensions:["semd"]},"application/vnd.semf":{source:"iana",extensions:["semf"]},"application/vnd.shana.informed.formdata":{source:"iana",extensions:["ifm"]},"application/vnd.shana.informed.formtemplate":{source:"iana",extensions:["itp"]},"application/vnd.shana.informed.interchange":{source:"iana",extensions:["iif"]},"application/vnd.shana.informed.package":{source:"iana",extensions:["ipk"]},"application/vnd.simtech-mindmapper":{source:"iana",extensions:["twd","twds"]},"application/vnd.siren+json":{source:"iana",compressible:!0},"application/vnd.smaf":{source:"iana",extensions:["mmf"]},"application/vnd.smart.notebook":{source:"iana"},"application/vnd.smart.teacher":{source:"iana",extensions:["teacher"]},"application/vnd.software602.filler.form+xml":{source:"iana"},"application/vnd.software602.filler.form-xml-zip":{source:"iana"},"application/vnd.solent.sdkm+xml":{source:"iana",extensions:["sdkm","sdkd"]},"application/vnd.spotfire.dxp":{source:"iana",extensions:["dxp"]},"application/vnd.spotfire.sfs":{source:"iana",extensions:["sfs"]},"application/vnd.sss-cod":{source:"iana"},"application/vnd.sss-dtf":{source:"iana"},"application/vnd.sss-ntf":{source:"iana"},"application/vnd.stardivision.calc":{source:"apache",extensions:["sdc"]},"application/vnd.stardivision.draw":{source:"apache",extensions:["sda"]},"application/vnd.stardivision.impress":{source:"apache",extensions:["sdd"]},"application/vnd.stardivision.math":{source:"apache",extensions:["smf"]},"application/vnd.stardivision.writer":{source:"apache",extensions:["sdw","vor"]},"application/vnd.stardivision.writer-global":{source:"apache",extensions:["sgl"]},"application/vnd.stepmania.package":{source:"iana",extensions:["smzip"]},"application/vnd.stepmania.stepchart":{source:"iana",extensions:["sm"]},"application/vnd.street-stream":{source:"iana"},"application/vnd.sun.wadl+xml":{source:"iana"},"application/vnd.sun.xml.calc":{source:"apache",extensions:["sxc"]},"application/vnd.sun.xml.calc.template":{source:"apache",extensions:["stc"]},"application/vnd.sun.xml.draw":{source:"apache",extensions:["sxd"]},"application/vnd.sun.xml.draw.template":{source:"apache",extensions:["std"]},"application/vnd.sun.xml.impress":{source:"apache",extensions:["sxi"]},"application/vnd.sun.xml.impress.template":{source:"apache",extensions:["sti"]},"application/vnd.sun.xml.math":{source:"apache",extensions:["sxm"]},"application/vnd.sun.xml.writer":{source:"apache",extensions:["sxw"]},"application/vnd.sun.xml.writer.global":{source:"apache",extensions:["sxg"]},"application/vnd.sun.xml.writer.template":{source:"apache",extensions:["stw"]},"application/vnd.sus-calendar":{source:"iana",extensions:["sus","susp"]},"application/vnd.svd":{source:"iana",extensions:["svd"]},"application/vnd.swiftview-ics":{source:"iana"},"application/vnd.symbian.install":{source:"apache",extensions:["sis","sisx"]},"application/vnd.syncml+xml":{source:"iana",extensions:["xsm"]},"application/vnd.syncml.dm+wbxml":{source:"iana",extensions:["bdm"]},"application/vnd.syncml.dm+xml":{source:"iana",extensions:["xdm"]},"application/vnd.syncml.dm.notification":{source:"iana"},"application/vnd.syncml.dmddf+wbxml":{source:"iana"},"application/vnd.syncml.dmddf+xml":{source:"iana"},"application/vnd.syncml.dmtnds+wbxml":{source:"iana"},"application/vnd.syncml.dmtnds+xml":{source:"iana"},"application/vnd.syncml.ds.notification":{source:"iana"},"application/vnd.tao.intent-module-archive":{source:"iana",extensions:["tao"]},"application/vnd.tcpdump.pcap":{source:"iana",extensions:["pcap","cap","dmp"]},"application/vnd.tmd.mediaflex.api+xml":{source:"iana"},"application/vnd.tml":{source:"iana"},"application/vnd.tmobile-livetv":{source:"iana",extensions:["tmo"]},"application/vnd.trid.tpt":{source:"iana",extensions:["tpt"]},"application/vnd.triscape.mxs":{source:"iana",extensions:["mxs"]},"application/vnd.trueapp":{source:"iana",extensions:["tra"]},"application/vnd.truedoc":{source:"iana"},"application/vnd.ubisoft.webplayer":{source:"iana"},"application/vnd.ufdl":{source:"iana",extensions:["ufd","ufdl"]},"application/vnd.uiq.theme":{source:"iana",extensions:["utz"]},"application/vnd.umajin":{source:"iana",extensions:["umj"]},"application/vnd.unity":{source:"iana",extensions:["unityweb"]},"application/vnd.uoml+xml":{source:"iana",extensions:["uoml"]},"application/vnd.uplanet.alert":{source:"iana"},"application/vnd.uplanet.alert-wbxml":{source:"iana"},"application/vnd.uplanet.bearer-choice":{source:"iana"},"application/vnd.uplanet.bearer-choice-wbxml":{source:"iana"},"application/vnd.uplanet.cacheop":{source:"iana"},"application/vnd.uplanet.cacheop-wbxml":{source:"iana"},"application/vnd.uplanet.channel":{source:"iana"},"application/vnd.uplanet.channel-wbxml":{source:"iana"},"application/vnd.uplanet.list":{source:"iana"},"application/vnd.uplanet.list-wbxml":{source:"iana"},"application/vnd.uplanet.listcmd":{source:"iana"},"application/vnd.uplanet.listcmd-wbxml":{source:"iana"},"application/vnd.uplanet.signal":{source:"iana"},"application/vnd.uri-map":{source:"iana"},"application/vnd.valve.source.material":{source:"iana"},"application/vnd.vcx":{source:"iana",extensions:["vcx"]},"application/vnd.vd-study":{source:"iana"},"application/vnd.vectorworks":{source:"iana"},"application/vnd.verimatrix.vcas":{source:"iana"},"application/vnd.vidsoft.vidconference":{source:"iana"},"application/vnd.visio":{source:"iana",extensions:["vsd","vst","vss","vsw"]},"application/vnd.visionary":{source:"iana",extensions:["vis"]},"application/vnd.vividence.scriptfile":{source:"iana"},"application/vnd.vsf":{source:"iana",extensions:["vsf"]},"application/vnd.wap.sic":{source:"iana"},"application/vnd.wap.slc":{source:"iana"},"application/vnd.wap.wbxml":{source:"iana",extensions:["wbxml"]},"application/vnd.wap.wmlc":{source:"iana",extensions:["wmlc"]},"application/vnd.wap.wmlscriptc":{source:"iana",extensions:["wmlsc"]},"application/vnd.webturbo":{source:"iana",extensions:["wtb"]},"application/vnd.wfa.p2p":{source:"iana"},"application/vnd.wfa.wsc":{source:"iana"},"application/vnd.windows.devicepairing":{source:"iana"},"application/vnd.wmc":{source:"iana"},"application/vnd.wmf.bootstrap":{source:"iana"},"application/vnd.wolfram.mathematica":{source:"iana"},"application/vnd.wolfram.mathematica.package":{source:"iana"},"application/vnd.wolfram.player":{source:"iana",extensions:["nbp"]},"application/vnd.wordperfect":{source:"iana",extensions:["wpd"]},"application/vnd.wqd":{source:"iana",extensions:["wqd"]},"application/vnd.wrq-hp3000-labelled":{source:"iana"},"application/vnd.wt.stf":{source:"iana",extensions:["stf"]},"application/vnd.wv.csp+wbxml":{source:"iana"},"application/vnd.wv.csp+xml":{source:"iana"},"application/vnd.wv.ssp+xml":{source:"iana"},"application/vnd.xacml+json":{source:"iana",compressible:!0},"application/vnd.xara":{source:"iana",extensions:["xar"]},"application/vnd.xfdl":{source:"iana",extensions:["xfdl"]},"application/vnd.xfdl.webform":{source:"iana"},"application/vnd.xmi+xml":{source:"iana"},"application/vnd.xmpie.cpkg":{source:"iana"},"application/vnd.xmpie.dpkg":{source:"iana"},"application/vnd.xmpie.plan":{source:"iana"},"application/vnd.xmpie.ppkg":{source:"iana"},"application/vnd.xmpie.xlim":{source:"iana"},"application/vnd.yamaha.hv-dic":{source:"iana",extensions:["hvd"]},"application/vnd.yamaha.hv-script":{source:"iana",extensions:["hvs"]},"application/vnd.yamaha.hv-voice":{source:"iana",extensions:["hvp"]},"application/vnd.yamaha.openscoreformat":{source:"iana",extensions:["osf"]},"application/vnd.yamaha.openscoreformat.osfpvg+xml":{source:"iana",extensions:["osfpvg"]},"application/vnd.yamaha.remote-setup":{source:"iana"},"application/vnd.yamaha.smaf-audio":{source:"iana",extensions:["saf"]},"application/vnd.yamaha.smaf-phrase":{source:"iana",extensions:["spf"]},"application/vnd.yamaha.through-ngn":{source:"iana"},"application/vnd.yamaha.tunnel-udpencap":{source:"iana"},"application/vnd.yaoweme":{source:"iana"},"application/vnd.yellowriver-custom-menu":{source:"iana",extensions:["cmp"]},"application/vnd.zul":{source:"iana",extensions:["zir","zirz"]},"application/vnd.zzazz.deck+xml":{source:"iana",extensions:["zaz"]},"application/voicexml+xml":{source:"iana",extensions:["vxml"]},"application/vq-rtcpxr":{source:"iana"},"application/watcherinfo+xml":{source:"iana"},"application/whoispp-query":{source:"iana"},"application/whoispp-response":{source:"iana"},"application/widget":{source:"iana",extensions:["wgt"]},"application/winhlp":{source:"apache",extensions:["hlp"]},"application/wita":{source:"iana"},"application/wordperfect5.1":{source:"iana"},"application/wsdl+xml":{source:"iana",extensions:["wsdl"]},"application/wspolicy+xml":{source:"iana",extensions:["wspolicy"]},"application/x-7z-compressed":{source:"apache",compressible:!1,extensions:["7z"]},"application/x-abiword":{source:"apache",extensions:["abw"]},"application/x-ace-compressed":{source:"apache",extensions:["ace"]},"application/x-amf":{source:"apache"},"application/x-apple-diskimage":{source:"apache",extensions:["dmg"]},"application/x-authorware-bin":{source:"apache",extensions:["aab","x32","u32","vox"]},"application/x-authorware-map":{source:"apache",extensions:["aam"]},"application/x-authorware-seg":{source:"apache",extensions:["aas"]},"application/x-bcpio":{source:"apache",extensions:["bcpio"]},"application/x-bdoc":{compressible:!1,extensions:["bdoc"]},"application/x-bittorrent":{source:"apache",extensions:["torrent"]},"application/x-blorb":{source:"apache",extensions:["blb","blorb"]},"application/x-bzip":{source:"apache",compressible:!1,extensions:["bz"]},"application/x-bzip2":{source:"apache",compressible:!1,extensions:["bz2","boz"]},"application/x-cbr":{source:"apache",extensions:["cbr","cba","cbt","cbz","cb7"]},"application/x-cdlink":{source:"apache",extensions:["vcd"]},"application/x-cfs-compressed":{source:"apache",extensions:["cfs"]},"application/x-chat":{source:"apache",extensions:["chat"]},"application/x-chess-pgn":{source:"apache",extensions:["pgn"]},"application/x-chrome-extension":{extensions:["crx"]},"application/x-cocoa":{source:"nginx",extensions:["cco"]},"application/x-compress":{source:"apache"},"application/x-conference":{source:"apache",extensions:["nsc"]},"application/x-cpio":{source:"apache",extensions:["cpio"]},"application/x-csh":{source:"apache",extensions:["csh"]},"application/x-deb":{compressible:!1},"application/x-debian-package":{source:"apache",extensions:["deb","udeb"]},"application/x-dgc-compressed":{source:"apache",extensions:["dgc"]},"application/x-director":{source:"apache",extensions:["dir","dcr","dxr","cst","cct","cxt","w3d","fgd","swa"]},"application/x-doom":{source:"apache",extensions:["wad"]},"application/x-dtbncx+xml":{source:"apache",extensions:["ncx"]},"application/x-dtbook+xml":{source:"apache",extensions:["dtb"]},"application/x-dtbresource+xml":{source:"apache",extensions:["res"]},"application/x-dvi":{source:"apache",compressible:!1,extensions:["dvi"]},"application/x-envoy":{source:"apache",extensions:["evy"]},"application/x-eva":{source:"apache",extensions:["eva"]},"application/x-font-bdf":{source:"apache",extensions:["bdf"]},"application/x-font-dos":{source:"apache"},"application/x-font-framemaker":{source:"apache"},"application/x-font-ghostscript":{source:"apache",extensions:["gsf"]},"application/x-font-libgrx":{source:"apache"},"application/x-font-linux-psf":{source:"apache",extensions:["psf"]},"application/x-font-otf":{source:"apache",compressible:!0,extensions:["otf"]},"application/x-font-pcf":{source:"apache",extensions:["pcf"]},"application/x-font-snf":{source:"apache",extensions:["snf"]},"application/x-font-speedo":{source:"apache"},"application/x-font-sunos-news":{source:"apache"},"application/x-font-ttf":{source:"apache",compressible:!0,extensions:["ttf","ttc"]},"application/x-font-type1":{source:"apache",extensions:["pfa","pfb","pfm","afm"]},"application/x-font-vfont":{source:"apache"},"application/x-freearc":{source:"apache",extensions:["arc"]},"application/x-futuresplash":{source:"apache",extensions:["spl"]},"application/x-gca-compressed":{source:"apache",extensions:["gca"]},"application/x-glulx":{source:"apache",extensions:["ulx"]},"application/x-gnumeric":{source:"apache",extensions:["gnumeric"]},"application/x-gramps-xml":{source:"apache",extensions:["gramps"]},"application/x-gtar":{source:"apache",extensions:["gtar"]},"application/x-gzip":{source:"apache"},"application/x-hdf":{source:"apache",extensions:["hdf"]},"application/x-httpd-php":{compressible:!0,extensions:["php"]},"application/x-install-instructions":{source:"apache",extensions:["install"]},"application/x-iso9660-image":{source:"apache",extensions:["iso"]},"application/x-java-archive-diff":{source:"nginx",extensions:["jardiff"]},"application/x-java-jnlp-file":{source:"apache",compressible:!1,extensions:["jnlp"]},"application/x-javascript":{compressible:!0},"application/x-latex":{source:"apache",compressible:!1,extensions:["latex"]},"application/x-lua-bytecode":{extensions:["luac"]},"application/x-lzh-compressed":{source:"apache",extensions:["lzh","lha"]},"application/x-makeself":{source:"nginx",extensions:["run"]},"application/x-mie":{source:"apache",extensions:["mie"]},"application/x-mobipocket-ebook":{source:"apache",extensions:["prc","mobi"]},"application/x-mpegurl":{compressible:!1},"application/x-ms-application":{source:"apache",extensions:["application"]},"application/x-ms-shortcut":{source:"apache",extensions:["lnk"]},"application/x-ms-wmd":{source:"apache",extensions:["wmd"]},"application/x-ms-wmz":{source:"apache",extensions:["wmz"]},"application/x-ms-xbap":{source:"apache",extensions:["xbap"]},"application/x-msaccess":{source:"apache",extensions:["mdb"]},"application/x-msbinder":{source:"apache",extensions:["obd"]},"application/x-mscardfile":{source:"apache",extensions:["crd"]},"application/x-msclip":{source:"apache",extensions:["clp"]},"application/x-msdos-program":{extensions:["exe"]},"application/x-msdownload":{source:"apache",extensions:["exe","dll","com","bat","msi"]},"application/x-msmediaview":{source:"apache",extensions:["mvb","m13","m14"]},"application/x-msmetafile":{source:"apache",extensions:["wmf","wmz","emf","emz"]},"application/x-msmoney":{source:"apache",extensions:["mny"]},"application/x-mspublisher":{source:"apache",extensions:["pub"]},"application/x-msschedule":{source:"apache",extensions:["scd"]},"application/x-msterminal":{source:"apache",extensions:["trm"]},"application/x-mswrite":{source:"apache",extensions:["wri"]},"application/x-netcdf":{source:"apache",extensions:["nc","cdf"]},"application/x-ns-proxy-autoconfig":{compressible:!0,extensions:["pac"]},"application/x-nzb":{source:"apache",extensions:["nzb"]},"application/x-perl":{source:"nginx",extensions:["pl","pm"]},"application/x-pilot":{source:"nginx",extensions:["prc","pdb"]},"application/x-pkcs12":{source:"apache",compressible:!1,extensions:["p12","pfx"]},"application/x-pkcs7-certificates":{source:"apache",extensions:["p7b","spc"]},"application/x-pkcs7-certreqresp":{source:"apache",extensions:["p7r"]},"application/x-rar-compressed":{source:"apache",compressible:!1,extensions:["rar"]},"application/x-redhat-package-manager":{source:"nginx",extensions:["rpm"]},"application/x-research-info-systems":{source:"apache",extensions:["ris"]},"application/x-sea":{source:"nginx",extensions:["sea"]},"application/x-sh":{source:"apache",compressible:!0,extensions:["sh"]},"application/x-shar":{source:"apache",extensions:["shar"]},"application/x-shockwave-flash":{source:"apache",compressible:!1,extensions:["swf"]},"application/x-silverlight-app":{source:"apache",extensions:["xap"]},"application/x-sql":{source:"apache",extensions:["sql"]},"application/x-stuffit":{source:"apache",compressible:!1,extensions:["sit"]},"application/x-stuffitx":{source:"apache",extensions:["sitx"]},"application/x-subrip":{source:"apache",extensions:["srt"]},"application/x-sv4cpio":{source:"apache",extensions:["sv4cpio"]},"application/x-sv4crc":{source:"apache",extensions:["sv4crc"]},"application/x-t3vm-image":{source:"apache",extensions:["t3"]},"application/x-tads":{source:"apache",extensions:["gam"]},"application/x-tar":{source:"apache",compressible:!0,extensions:["tar"]},"application/x-tcl":{source:"apache",extensions:["tcl","tk"]},"application/x-tex":{source:"apache",extensions:["tex"]},"application/x-tex-tfm":{source:"apache",extensions:["tfm"]},"application/x-texinfo":{source:"apache",extensions:["texinfo","texi"]},"application/x-tgif":{source:"apache",extensions:["obj"]},"application/x-ustar":{source:"apache",extensions:["ustar"]},"application/x-wais-source":{source:"apache",extensions:["src"]},"application/x-web-app-manifest+json":{compressible:!0,extensions:["webapp"]},"application/x-www-form-urlencoded":{source:"iana",compressible:!0},"application/x-x509-ca-cert":{source:"apache",extensions:["der","crt","pem"]},"application/x-xfig":{source:"apache",extensions:["fig"]},"application/x-xliff+xml":{source:"apache",extensions:["xlf"]},"application/x-xpinstall":{source:"apache",compressible:!1,extensions:["xpi"]},"application/x-xz":{source:"apache",extensions:["xz"]},"application/x-zmachine":{source:"apache",extensions:["z1","z2","z3","z4","z5","z6","z7","z8"]},"application/x400-bp":{source:"iana"},"application/xacml+xml":{source:"iana"},"application/xaml+xml":{source:"apache",extensions:["xaml"]},"application/xcap-att+xml":{source:"iana"},"application/xcap-caps+xml":{source:"iana"},"application/xcap-diff+xml":{source:"iana",extensions:["xdf"]},"application/xcap-el+xml":{source:"iana"},"application/xcap-error+xml":{source:"iana"},"application/xcap-ns+xml":{source:"iana"},"application/xcon-conference-info+xml":{source:"iana"},"application/xcon-conference-info-diff+xml":{source:"iana"},"application/xenc+xml":{source:"iana",extensions:["xenc"]},"application/xhtml+xml":{source:"iana",compressible:!0,extensions:["xhtml","xht"]},"application/xhtml-voice+xml":{source:"apache"},"application/xml":{source:"iana",compressible:!0,extensions:["xml","xsl","xsd"]},"application/xml-dtd":{source:"iana",compressible:!0,extensions:["dtd"]},"application/xml-external-parsed-entity":{source:"iana"},"application/xml-patch+xml":{source:"iana"},"application/xmpp+xml":{source:"iana"},"application/xop+xml":{source:"iana",compressible:!0,extensions:["xop"]},"application/xproc+xml":{source:"apache",extensions:["xpl"]},"application/xslt+xml":{source:"iana",extensions:["xslt"]},"application/xspf+xml":{source:"apache",extensions:["xspf"]},"application/xv+xml":{source:"iana",extensions:["mxml","xhvml","xvml","xvm"]},"application/yang":{source:"iana",extensions:["yang"]},"application/yin+xml":{source:"iana",extensions:["yin"]},"application/zip":{source:"iana",compressible:!1,extensions:["zip"]},"application/zlib":{source:"iana"},"audio/1d-interleaved-parityfec":{source:"iana"},"audio/32kadpcm":{source:"iana"},"audio/3gpp":{source:"iana"},"audio/3gpp2":{source:"iana"},"audio/ac3":{source:"iana"},"audio/adpcm":{source:"apache",extensions:["adp"]},"audio/amr":{source:"iana"},"audio/amr-wb":{source:"iana"},"audio/amr-wb+":{source:"iana"},"audio/aptx":{source:"iana"},"audio/asc":{source:"iana"},"audio/atrac-advanced-lossless":{source:"iana"},"audio/atrac-x":{source:"iana"},"audio/atrac3":{source:"iana"},"audio/basic":{source:"iana",compressible:!1,extensions:["au","snd"]},"audio/bv16":{source:"iana"},"audio/bv32":{source:"iana"},"audio/clearmode":{source:"iana"},"audio/cn":{source:"iana"},"audio/dat12":{source:"iana"},"audio/dls":{source:"iana"},"audio/dsr-es201108":{source:"iana"},"audio/dsr-es202050":{source:"iana"},"audio/dsr-es202211":{source:"iana"},"audio/dsr-es202212":{source:"iana"},"audio/dv":{source:"iana"},"audio/dvi4":{source:"iana"},"audio/eac3":{source:"iana"},"audio/encaprtp":{source:"iana"},"audio/evrc":{source:"iana"},"audio/evrc-qcp":{source:"iana"},"audio/evrc0":{source:"iana"},"audio/evrc1":{source:"iana"},"audio/evrcb":{source:"iana"},"audio/evrcb0":{source:"iana"},"audio/evrcb1":{source:"iana"},"audio/evrcnw":{source:"iana"},"audio/evrcnw0":{source:"iana"},"audio/evrcnw1":{source:"iana"},"audio/evrcwb":{source:"iana"},"audio/evrcwb0":{source:"iana"},"audio/evrcwb1":{source:"iana"},"audio/evs":{source:"iana"},"audio/fwdred":{source:"iana"},"audio/g711-0":{source:"iana"},"audio/g719":{source:"iana"},"audio/g722":{source:"iana"},"audio/g7221":{source:"iana"},"audio/g723":{source:"iana"},"audio/g726-16":{source:"iana"},"audio/g726-24":{source:"iana"},"audio/g726-32":{source:"iana"},"audio/g726-40":{source:"iana"},"audio/g728":{source:"iana"},"audio/g729":{source:"iana"},"audio/g7291":{source:"iana"},"audio/g729d":{source:"iana"},"audio/g729e":{source:"iana"},"audio/gsm":{source:"iana"},"audio/gsm-efr":{source:"iana"},"audio/gsm-hr-08":{source:"iana"},"audio/ilbc":{source:"iana"},"audio/ip-mr_v2.5":{source:"iana"},"audio/isac":{source:"apache"},"audio/l16":{source:"iana"},"audio/l20":{source:"iana"},"audio/l24":{source:"iana",compressible:!1},"audio/l8":{source:"iana"},"audio/lpc":{source:"iana"},"audio/midi":{source:"apache",extensions:["mid","midi","kar","rmi"]},"audio/mobile-xmf":{source:"iana"},"audio/mp4":{source:"iana",compressible:!1,extensions:["mp4a","m4a"]},"audio/mp4a-latm":{source:"iana"},"audio/mpa":{source:"iana"},"audio/mpa-robust":{source:"iana"},"audio/mpeg":{source:"iana",compressible:!1,extensions:["mpga","mp2","mp2a","mp3","m2a","m3a"]},"audio/mpeg4-generic":{source:"iana"},"audio/musepack":{source:"apache"},"audio/ogg":{source:"iana",compressible:!1,extensions:["oga","ogg","spx"]},"audio/opus":{source:"iana"},"audio/parityfec":{source:"iana"},"audio/pcma":{source:"iana"},"audio/pcma-wb":{source:"iana"},"audio/pcmu":{source:"iana"},"audio/pcmu-wb":{source:"iana"},"audio/prs.sid":{source:"iana"},"audio/qcelp":{source:"iana"},"audio/raptorfec":{source:"iana"},"audio/red":{source:"iana"},"audio/rtp-enc-aescm128":{source:"iana"},"audio/rtp-midi":{source:"iana"},"audio/rtploopback":{source:"iana"},"audio/rtx":{source:"iana"},"audio/s3m":{source:"apache",extensions:["s3m"]},"audio/silk":{source:"apache",extensions:["sil"]},"audio/smv":{source:"iana"},"audio/smv-qcp":{source:"iana"},"audio/smv0":{source:"iana"},"audio/sp-midi":{source:"iana"},"audio/speex":{source:"iana"},"audio/t140c":{source:"iana"},"audio/t38":{source:"iana"},"audio/telephone-event":{source:"iana"},"audio/tone":{source:"iana"},"audio/uemclip":{source:"iana"},"audio/ulpfec":{source:"iana"},"audio/vdvi":{source:"iana"},"audio/vmr-wb":{source:"iana"},"audio/vnd.3gpp.iufp":{source:"iana"},"audio/vnd.4sb":{source:"iana"},"audio/vnd.audiokoz":{source:"iana"},"audio/vnd.celp":{source:"iana"},"audio/vnd.cisco.nse":{source:"iana"},"audio/vnd.cmles.radio-events":{source:"iana"},"audio/vnd.cns.anp1":{source:"iana"},"audio/vnd.cns.inf1":{source:"iana"},"audio/vnd.dece.audio":{source:"iana",extensions:["uva","uvva"]},"audio/vnd.digital-winds":{source:"iana",extensions:["eol"]},"audio/vnd.dlna.adts":{source:"iana"},"audio/vnd.dolby.heaac.1":{source:"iana"},"audio/vnd.dolby.heaac.2":{source:"iana"},"audio/vnd.dolby.mlp":{source:"iana"},"audio/vnd.dolby.mps":{source:"iana"},"audio/vnd.dolby.pl2":{source:"iana"},"audio/vnd.dolby.pl2x":{source:"iana"},"audio/vnd.dolby.pl2z":{source:"iana"},"audio/vnd.dolby.pulse.1":{source:"iana"},"audio/vnd.dra":{source:"iana",extensions:["dra"]},"audio/vnd.dts":{source:"iana",extensions:["dts"]},"audio/vnd.dts.hd":{source:"iana",extensions:["dtshd"]},"audio/vnd.dvb.file":{source:"iana"},"audio/vnd.everad.plj":{source:"iana"},"audio/vnd.hns.audio":{source:"iana"},"audio/vnd.lucent.voice":{source:"iana",extensions:["lvp"]},"audio/vnd.ms-playready.media.pya":{source:"iana",extensions:["pya"]},"audio/vnd.nokia.mobile-xmf":{source:"iana"},"audio/vnd.nortel.vbk":{source:"iana"},"audio/vnd.nuera.ecelp4800":{source:"iana",extensions:["ecelp4800"]},"audio/vnd.nuera.ecelp7470":{source:"iana",extensions:["ecelp7470"]},"audio/vnd.nuera.ecelp9600":{source:"iana",extensions:["ecelp9600"]},"audio/vnd.octel.sbc":{source:"iana"},"audio/vnd.qcelp":{source:"iana"},"audio/vnd.rhetorex.32kadpcm":{source:"iana"},"audio/vnd.rip":{source:"iana",extensions:["rip"]},"audio/vnd.rn-realaudio":{compressible:!1},"audio/vnd.sealedmedia.softseal.mpeg":{source:"iana"},"audio/vnd.vmx.cvsd":{source:"iana"},"audio/vnd.wave":{compressible:!1},"audio/vorbis":{source:"iana",compressible:!1},"audio/vorbis-config":{source:"iana"},"audio/wav":{compressible:!1,extensions:["wav"]},"audio/wave":{compressible:!1,extensions:["wav"]},"audio/webm":{source:"apache",compressible:!1,extensions:["weba"]},"audio/x-aac":{source:"apache",compressible:!1,extensions:["aac"]},"audio/x-aiff":{source:"apache",extensions:["aif","aiff","aifc"]},"audio/x-caf":{source:"apache",compressible:!1,extensions:["caf"]},"audio/x-flac":{source:"apache",extensions:["flac"]},"audio/x-m4a":{source:"nginx",extensions:["m4a"]},"audio/x-matroska":{source:"apache",extensions:["mka"]},"audio/x-mpegurl":{source:"apache",extensions:["m3u"]},"audio/x-ms-wax":{source:"apache",extensions:["wax"]},"audio/x-ms-wma":{source:"apache",extensions:["wma"]},"audio/x-pn-realaudio":{source:"apache",extensions:["ram","ra"]},"audio/x-pn-realaudio-plugin":{source:"apache",extensions:["rmp"]},"audio/x-realaudio":{source:"nginx",extensions:["ra"]},"audio/x-tta":{source:"apache"},"audio/x-wav":{source:"apache",extensions:["wav"]},"audio/xm":{source:"apache",extensions:["xm"]},"chemical/x-cdx":{source:"apache",extensions:["cdx"]},"chemical/x-cif":{source:"apache",extensions:["cif"]},"chemical/x-cmdf":{source:"apache",extensions:["cmdf"]},"chemical/x-cml":{source:"apache",extensions:["cml"]},"chemical/x-csml":{source:"apache",extensions:["csml"]},"chemical/x-pdb":{source:"apache"},"chemical/x-xyz":{source:"apache",extensions:["xyz"]},"font/opentype":{compressible:!0,extensions:["otf"]},"image/bmp":{source:"apache",compressible:!0,extensions:["bmp"]},"image/cgm":{source:"iana",extensions:["cgm"]},"image/fits":{source:"iana"},"image/g3fax":{source:"iana",extensions:["g3"]},"image/gif":{source:"iana",compressible:!1,extensions:["gif"]},"image/ief":{source:"iana",extensions:["ief"]},"image/jp2":{source:"iana"},"image/jpeg":{source:"iana",compressible:!1,extensions:["jpeg","jpg","jpe"]},"image/jpm":{source:"iana"},"image/jpx":{source:"iana"},"image/ktx":{source:"iana",extensions:["ktx"]},"image/naplps":{source:"iana"},"image/pjpeg":{compressible:!1},"image/png":{source:"iana",compressible:!1,extensions:["png"]},"image/prs.btif":{source:"iana",extensions:["btif"]},"image/prs.pti":{source:"iana"},"image/pwg-raster":{source:"iana"},"image/sgi":{source:"apache",extensions:["sgi"]},"image/svg+xml":{source:"iana",compressible:!0,extensions:["svg","svgz"]},"image/t38":{source:"iana"},"image/tiff":{source:"iana",compressible:!1,extensions:["tiff","tif"]},"image/tiff-fx":{source:"iana"},"image/vnd.adobe.photoshop":{source:"iana",compressible:!0,extensions:["psd"]},"image/vnd.airzip.accelerator.azv":{source:"iana"},"image/vnd.cns.inf2":{source:"iana"},"image/vnd.dece.graphic":{source:"iana",extensions:["uvi","uvvi","uvg","uvvg"]},"image/vnd.djvu":{source:"iana",extensions:["djvu","djv"]},"image/vnd.dvb.subtitle":{source:"iana",extensions:["sub"]},"image/vnd.dwg":{source:"iana",extensions:["dwg"]},"image/vnd.dxf":{source:"iana",extensions:["dxf"]},"image/vnd.fastbidsheet":{source:"iana",extensions:["fbs"]},"image/vnd.fpx":{source:"iana",extensions:["fpx"]},"image/vnd.fst":{source:"iana",extensions:["fst"]},"image/vnd.fujixerox.edmics-mmr":{source:"iana",extensions:["mmr"]},"image/vnd.fujixerox.edmics-rlc":{source:"iana",extensions:["rlc"]},"image/vnd.globalgraphics.pgb":{source:"iana"},"image/vnd.microsoft.icon":{source:"iana"},"image/vnd.mix":{source:"iana"},"image/vnd.mozilla.apng":{source:"iana"},"image/vnd.ms-modi":{source:"iana",extensions:["mdi"]},"image/vnd.ms-photo":{source:"apache",extensions:["wdp"]},"image/vnd.net-fpx":{source:"iana",extensions:["npx"]},"image/vnd.radiance":{source:"iana"},"image/vnd.sealed.png":{source:"iana"},"image/vnd.sealedmedia.softseal.gif":{source:"iana"},"image/vnd.sealedmedia.softseal.jpg":{source:"iana"},"image/vnd.svf":{source:"iana"},"image/vnd.tencent.tap":{source:"iana"},"image/vnd.valve.source.texture":{source:"iana"},"image/vnd.wap.wbmp":{source:"iana",extensions:["wbmp"]},"image/vnd.xiff":{source:"iana",extensions:["xif"]},"image/vnd.zbrush.pcx":{source:"iana"},"image/webp":{source:"apache",extensions:["webp"]},"image/x-3ds":{source:"apache",extensions:["3ds"]},"image/x-cmu-raster":{source:"apache",extensions:["ras"]},"image/x-cmx":{source:"apache",extensions:["cmx"]},"image/x-freehand":{source:"apache",extensions:["fh","fhc","fh4","fh5","fh7"]},"image/x-icon":{source:"apache",compressible:!0,extensions:["ico"]},"image/x-jng":{source:"nginx",extensions:["jng"]},"image/x-mrsid-image":{source:"apache",extensions:["sid"]},"image/x-ms-bmp":{source:"nginx",compressible:!0,extensions:["bmp"]},"image/x-pcx":{source:"apache",extensions:["pcx"]},"image/x-pict":{source:"apache",extensions:["pic","pct"]},"image/x-portable-anymap":{source:"apache",extensions:["pnm"]},"image/x-portable-bitmap":{source:"apache",extensions:["pbm"]},"image/x-portable-graymap":{source:"apache",extensions:["pgm"]},"image/x-portable-pixmap":{source:"apache",extensions:["ppm"]},"image/x-rgb":{source:"apache",extensions:["rgb"]},"image/x-tga":{source:"apache",extensions:["tga"]},"image/x-xbitmap":{source:"apache",extensions:["xbm"]},"image/x-xcf":{compressible:!1},"image/x-xpixmap":{source:"apache",extensions:["xpm"]},"image/x-xwindowdump":{source:"apache",extensions:["xwd"]},"message/cpim":{source:"iana"},"message/delivery-status":{source:"iana"},"message/disposition-notification":{source:"iana"},"message/external-body":{source:"iana"},"message/feedback-report":{source:"iana"},"message/global":{source:"iana"},"message/global-delivery-status":{source:"iana"},"message/global-disposition-notification":{source:"iana"},"message/global-headers":{source:"iana"},"message/http":{source:"iana",compressible:!1},"message/imdn+xml":{source:"iana",compressible:!0},"message/news":{source:"iana"},"message/partial":{source:"iana",compressible:!1},"message/rfc822":{source:"iana",compressible:!0,extensions:["eml","mime"]},"message/s-http":{source:"iana"},"message/sip":{source:"iana"},"message/sipfrag":{source:"iana"},"message/tracking-status":{source:"iana"},"message/vnd.si.simp":{source:"iana"},"message/vnd.wfa.wsc":{source:"iana"},"model/iges":{source:"iana",compressible:!1,extensions:["igs","iges"]},"model/mesh":{source:"iana",compressible:!1,extensions:["msh","mesh","silo"]},"model/vnd.collada+xml":{source:"iana",extensions:["dae"]},"model/vnd.dwf":{source:"iana",extensions:["dwf"]},"model/vnd.flatland.3dml":{source:"iana"},"model/vnd.gdl":{source:"iana",extensions:["gdl"]},"model/vnd.gs-gdl":{source:"apache"},"model/vnd.gs.gdl":{source:"iana"},"model/vnd.gtw":{source:"iana",extensions:["gtw"]},"model/vnd.moml+xml":{source:"iana"},"model/vnd.mts":{source:"iana",extensions:["mts"]},"model/vnd.opengex":{source:"iana"},"model/vnd.parasolid.transmit.binary":{source:"iana"},"model/vnd.parasolid.transmit.text":{source:"iana"},"model/vnd.valve.source.compiled-map":{source:"iana"},"model/vnd.vtu":{source:"iana",extensions:["vtu"]},"model/vrml":{source:"iana",compressible:!1,extensions:["wrl","vrml"]},"model/x3d+binary":{source:"apache",compressible:!1,extensions:["x3db","x3dbz"]},"model/x3d+fastinfoset":{source:"iana"},"model/x3d+vrml":{source:"apache",compressible:!1,extensions:["x3dv","x3dvz"]},"model/x3d+xml":{source:"iana",compressible:!0,extensions:["x3d","x3dz"]},"model/x3d-vrml":{source:"iana"},"multipart/alternative":{source:"iana",compressible:!1},"multipart/appledouble":{source:"iana"},"multipart/byteranges":{source:"iana"},"multipart/digest":{source:"iana"},"multipart/encrypted":{source:"iana",compressible:!1},"multipart/form-data":{source:"iana",compressible:!1},"multipart/header-set":{source:"iana"},"multipart/mixed":{source:"iana",compressible:!1},"multipart/parallel":{source:"iana"},"multipart/related":{source:"iana",compressible:!1},"multipart/report":{source:"iana"},"multipart/signed":{source:"iana",compressible:!1},"multipart/voice-message":{source:"iana"},"multipart/x-mixed-replace":{source:"iana"},"text/1d-interleaved-parityfec":{source:"iana"},"text/cache-manifest":{source:"iana",compressible:!0,extensions:["appcache","manifest"]},"text/calendar":{source:"iana",extensions:["ics","ifb"]},"text/calender":{compressible:!0},"text/cmd":{compressible:!0},"text/coffeescript":{extensions:["coffee","litcoffee"]},"text/css":{source:"iana",compressible:!0,extensions:["css"]},"text/csv":{source:"iana",compressible:!0,extensions:["csv"]},"text/csv-schema":{source:"iana"},"text/directory":{source:"iana"},"text/dns":{source:"iana"},"text/ecmascript":{source:"iana"},"text/encaprtp":{source:"iana"},"text/enriched":{source:"iana"},"text/fwdred":{source:"iana"},"text/grammar-ref-list":{source:"iana"},"text/hjson":{extensions:["hjson"]},"text/html":{source:"iana",compressible:!0,extensions:["html","htm","shtml"]},"text/jade":{extensions:["jade"]},"text/javascript":{source:"iana",compressible:!0},"text/jcr-cnd":{source:"iana"},"text/jsx":{compressible:!0,extensions:["jsx"]},"text/less":{extensions:["less"]},"text/markdown":{source:"iana"},"text/mathml":{source:"nginx",extensions:["mml"]},"text/mizar":{source:"iana"},"text/n3":{source:"iana",compressible:!0,extensions:["n3"]},"text/parameters":{source:"iana"},"text/parityfec":{source:"iana"},"text/plain":{source:"iana",compressible:!0,extensions:["txt","text","conf","def","list","log","in","ini"]},"text/provenance-notation":{source:"iana"},"text/prs.fallenstein.rst":{source:"iana"},"text/prs.lines.tag":{source:"iana",extensions:["dsc"]},"text/raptorfec":{source:"iana"},"text/red":{source:"iana"},"text/rfc822-headers":{source:"iana"},"text/richtext":{source:"iana",compressible:!0,extensions:["rtx"]},"text/rtf":{source:"iana",compressible:!0,extensions:["rtf"]},"text/rtp-enc-aescm128":{source:"iana"},"text/rtploopback":{source:"iana"},"text/rtx":{source:"iana"},"text/sgml":{source:"iana",extensions:["sgml","sgm"]},"text/stylus":{extensions:["stylus","styl"]},"text/t140":{source:"iana"},"text/tab-separated-values":{source:"iana",compressible:!0,extensions:["tsv"]},"text/troff":{source:"iana",extensions:["t","tr","roff","man","me","ms"]},"text/turtle":{source:"iana",extensions:["ttl"]},"text/ulpfec":{source:"iana"},"text/uri-list":{source:"iana",compressible:!0,extensions:["uri","uris","urls"]},"text/vcard":{source:"iana",compressible:!0,extensions:["vcard"]},"text/vnd.a":{source:"iana"},"text/vnd.abc":{source:"iana"},"text/vnd.curl":{source:"iana",extensions:["curl"]},"text/vnd.curl.dcurl":{source:"apache",extensions:["dcurl"]},"text/vnd.curl.mcurl":{source:"apache",extensions:["mcurl"]},"text/vnd.curl.scurl":{source:"apache",extensions:["scurl"]},"text/vnd.debian.copyright":{source:"iana"},"text/vnd.dmclientscript":{source:"iana"},"text/vnd.dvb.subtitle":{source:"iana",extensions:["sub"]},"text/vnd.esmertec.theme-descriptor":{source:"iana"},"text/vnd.fly":{source:"iana",extensions:["fly"]},"text/vnd.fmi.flexstor":{source:"iana",extensions:["flx"]},"text/vnd.graphviz":{source:"iana",extensions:["gv"]},"text/vnd.in3d.3dml":{source:"iana",extensions:["3dml"]},"text/vnd.in3d.spot":{source:"iana",extensions:["spot"]},"text/vnd.iptc.newsml":{source:"iana"},"text/vnd.iptc.nitf":{source:"iana"},"text/vnd.latex-z":{source:"iana"},"text/vnd.motorola.reflex":{source:"iana"},"text/vnd.ms-mediapackage":{source:"iana"},"text/vnd.net2phone.commcenter.command":{source:"iana"},"text/vnd.radisys.msml-basic-layout":{source:"iana"},"text/vnd.si.uricatalogue":{source:"iana"},"text/vnd.sun.j2me.app-descriptor":{source:"iana",extensions:["jad"]},"text/vnd.trolltech.linguist":{source:"iana"},"text/vnd.wap.si":{source:"iana"},"text/vnd.wap.sl":{source:"iana"},"text/vnd.wap.wml":{source:"iana",extensions:["wml"]},"text/vnd.wap.wmlscript":{source:"iana",extensions:["wmls"]},"text/vtt":{charset:"UTF-8",compressible:!0,extensions:["vtt"]},"text/x-asm":{source:"apache",extensions:["s","asm"]},"text/x-c":{source:"apache",extensions:["c","cc","cxx","cpp","h","hh","dic"]},"text/x-component":{source:"nginx",extensions:["htc"]},"text/x-fortran":{source:"apache",extensions:["f","for","f77","f90"]},"text/x-gwt-rpc":{compressible:!0},"text/x-handlebars-template":{extensions:["hbs"]},"text/x-java-source":{source:"apache",extensions:["java"]},"text/x-jquery-tmpl":{compressible:!0},"text/x-lua":{extensions:["lua"]},"text/x-markdown":{compressible:!0,extensions:["markdown","md","mkd"]},"text/x-nfo":{source:"apache",extensions:["nfo"]},"text/x-opml":{source:"apache",extensions:["opml"]},"text/x-pascal":{source:"apache",extensions:["p","pas"]},"text/x-processing":{compressible:!0,extensions:["pde"]},"text/x-sass":{extensions:["sass"]},"text/x-scss":{extensions:["scss"]},"text/x-setext":{source:"apache",extensions:["etx"]},"text/x-sfv":{source:"apache",extensions:["sfv"]},"text/x-suse-ymp":{compressible:!0,extensions:["ymp"]},"text/x-uuencode":{source:"apache",extensions:["uu"]},"text/x-vcalendar":{source:"apache",extensions:["vcs"]},"text/x-vcard":{source:"apache",extensions:["vcf"]},"text/xml":{source:"iana",compressible:!0,extensions:["xml"]},"text/xml-external-parsed-entity":{source:"iana"},"text/yaml":{extensions:["yaml","yml"]},"video/1d-interleaved-parityfec":{source:"apache"},"video/3gpp":{source:"apache",extensions:["3gp","3gpp"]},"video/3gpp-tt":{source:"apache"},"video/3gpp2":{source:"apache",extensions:["3g2"]},"video/bmpeg":{source:"apache"},"video/bt656":{source:"apache"},"video/celb":{source:"apache"},"video/dv":{source:"apache"},"video/h261":{source:"apache",extensions:["h261"]},"video/h263":{source:"apache",extensions:["h263"]},"video/h263-1998":{source:"apache"},"video/h263-2000":{source:"apache"},"video/h264":{source:"apache",extensions:["h264"]},"video/h264-rcdo":{source:"apache"},"video/h264-svc":{source:"apache"},"video/jpeg":{source:"apache",extensions:["jpgv"]},"video/jpeg2000":{source:"apache"},"video/jpm":{source:"apache",extensions:["jpm","jpgm"]},"video/mj2":{source:"apache",extensions:["mj2","mjp2"]},"video/mp1s":{source:"apache"},"video/mp2p":{source:"apache"},"video/mp2t":{source:"apache",extensions:["ts"]},"video/mp4":{source:"apache",compressible:!1,extensions:["mp4","mp4v","mpg4"]},"video/mp4v-es":{source:"apache"},"video/mpeg":{source:"apache",compressible:!1,extensions:["mpeg","mpg","mpe","m1v","m2v"]},"video/mpeg4-generic":{source:"apache"},"video/mpv":{source:"apache"},"video/nv":{source:"apache"},"video/ogg":{source:"apache",compressible:!1,extensions:["ogv"]},"video/parityfec":{source:"apache"},"video/pointer":{source:"apache"},"video/quicktime":{source:"apache",compressible:!1,extensions:["qt","mov"]},"video/raw":{source:"apache"},"video/rtp-enc-aescm128":{source:"apache"},"video/rtx":{source:"apache"},"video/smpte292m":{source:"apache"},"video/ulpfec":{source:"apache"},"video/vc1":{source:"apache"},"video/vnd.cctv":{source:"apache"},"video/vnd.dece.hd":{source:"apache",extensions:["uvh","uvvh"]},"video/vnd.dece.mobile":{source:"apache",extensions:["uvm","uvvm"]},"video/vnd.dece.mp4":{source:"apache"},"video/vnd.dece.pd":{source:"apache",extensions:["uvp","uvvp"]},"video/vnd.dece.sd":{source:"apache",extensions:["uvs","uvvs"]},"video/vnd.dece.video":{source:"apache",extensions:["uvv","uvvv"]},"video/vnd.directv.mpeg":{source:"apache"},"video/vnd.directv.mpeg-tts":{source:"apache"},"video/vnd.dlna.mpeg-tts":{source:"apache"},"video/vnd.dvb.file":{source:"apache",extensions:["dvb"]},"video/vnd.fvt":{source:"apache",extensions:["fvt"]},"video/vnd.hns.video":{source:"apache"},"video/vnd.iptvforum.1dparityfec-1010":{source:"apache"},"video/vnd.iptvforum.1dparityfec-2005":{source:"apache"},"video/vnd.iptvforum.2dparityfec-1010":{source:"apache"},"video/vnd.iptvforum.2dparityfec-2005":{source:"apache"},"video/vnd.iptvforum.ttsavc":{source:"apache"},"video/vnd.iptvforum.ttsmpeg2":{source:"apache"},"video/vnd.motorola.video":{source:"apache"},"video/vnd.motorola.videop":{source:"apache"},"video/vnd.mpegurl":{source:"apache",extensions:["mxu","m4u"]},"video/vnd.ms-playready.media.pyv":{source:"apache",extensions:["pyv"]},"video/vnd.nokia.interleaved-multimedia":{source:"apache"},"video/vnd.nokia.videovoip":{source:"apache"},"video/vnd.objectvideo":{source:"apache"},"video/vnd.sealed.mpeg1":{source:"apache"},"video/vnd.sealed.mpeg4":{source:"apache"},"video/vnd.sealed.swf":{source:"apache"},"video/vnd.sealedmedia.softseal.mov":{source:"apache"},"video/vnd.uvvu.mp4":{source:"apache",extensions:["uvu","uvvu"]},"video/vnd.vivo":{source:"apache",extensions:["viv"]},"video/webm":{source:"apache",compressible:!1,extensions:["webm"]},"video/x-f4v":{source:"apache",extensions:["f4v"]},"video/x-fli":{source:"apache",extensions:["fli"]},"video/x-flv":{source:"apache",compressible:!1,extensions:["flv"]},"video/x-m4v":{source:"apache",extensions:["m4v"]},"video/x-matroska":{source:"apache",compressible:!1,extensions:["mkv","mk3d","mks"]},"video/x-mng":{source:"apache",extensions:["mng"]},"video/x-ms-asf":{source:"apache",extensions:["asf","asx"]},"video/x-ms-vob":{source:"apache",extensions:["vob"]},"video/x-ms-wm":{source:"apache",extensions:["wm"]},"video/x-ms-wmv":{source:"apache",compressible:!1,extensions:["wmv"]},"video/x-ms-wmx":{source:"apache",extensions:["wmx"]},"video/x-ms-wvx":{source:"apache",extensions:["wvx"]},"video/x-msvideo":{source:"apache",extensions:["avi"]},"video/x-sgi-movie":{source:"apache",extensions:["movie"]},"video/x-smv":{source:"apache",extensions:["smv"]},"x-conference/x-cooltalk":{source:"apache",extensions:["ice"]},"x-shader/x-fragment":{compressible:!0},"x-shader/x-vertex":{compressible:!0}}})(tZ);var Jdt=tZ.exports;(function(e){var t={};e.exports=t,t.directoryPaths=Kdt,t.mimeTypes=Jdt})(ZX);var Ydt=ZX.exports,nZ={exports:{}},rZ={exports:{}};(function(e){e.exports=["Aston Martin","Audi","Bentley","BMW","Bugatti","Cadillac","Chevrolet","Chrysler","Dodge","Ferrari","Fiat","Ford","Honda","Hyundai","Jaguar","Jeep","Kia","Lamborghini","Land Rover","Maserati","Mazda","Mercedes Benz","Mini","Nissan","Polestar","Porsche","Rolls Royce","Smart","Tesla","Toyota","Volkswagen","Volvo"]})(rZ);var Qdt=rZ.exports,aZ={exports:{}};(function(e){e.exports=["Fiesta","Focus","Taurus","Mustang","Explorer","Expedition","F-150","Model T","Ranchero","Volt","Cruze","Malibu","Impala","Camaro","Corvette","Colorado","Silverado","El Camino","CTS","XTS","ATS","Escalade","Alpine","Charger","LeBaron","PT Cruiser","Challenger","Durango","Grand Caravan","Wrangler","Grand Cherokee","Roadster","Model S","Model 3","Camry","Prius","Land Cruiser","Accord","Civic","Element","Sentra","Altima","A8","A4","Beetle","Jetta","Golf","911","Spyder","Countach","Mercielago","Aventador","1","2","Fortwo","V90","XC90","CX-9"]})(aZ);var Xdt=aZ.exports,oZ={exports:{}};(function(e){e.exports=["Cargo Van","Convertible","Coupe","Crew Cab Pickup","Extended Cab Pickup","Hatchback","Minivan","Passenger Van","SUV","Sedan","Wagon"]})(oZ);var Zdt=oZ.exports,iZ={exports:{}};(function(e){e.exports=["Diesel","Electric","Gasoline","Hybrid"]})(iZ);var eft=iZ.exports;(function(e){var t={};e.exports=t,t.manufacturer=Qdt,t.model=Xdt,t.type=Zdt,t.fuel=eft})(nZ);var tft=nZ.exports,sZ={exports:{}},cZ={exports:{}};(function(e){e.exports=["Rock","Metal","Pop","Electronic","Folk","World","Country","Jazz","Funk","Soul","Hip Hop","Classical","Latin","Reggae","Stage And Screen","Blues","Non Music","Rap"]})(cZ);var nft=cZ.exports;(function(e){var t={};e.exports=t,t.genre=nft})(sZ);var rft=sZ.exports;(function(e){var t={};e.exports=t,t.title="English",t.separator=" & ",t.address=Sut,t.company=Mut,t.internet=Lut,t.database=Wut,t.lorem=qut,t.name=tdt,t.phone_number=rdt,t.cell_phone=odt,t.business=ldt,t.commerce=mdt,t.team=vdt,t.hacker=jdt,t.app=Edt,t.finance=Hdt,t.date=Gdt,t.system=Ydt,t.vehicle=tft,t.music=rft})(sQ);var E_=sQ.exports;(function(e){var t=QY,n=new t({locale:"en_US",localeFallback:"en"});n.locales.en_US=nut,n.locales.en=E_,e.exports=n})(JY);var Ct=JY.exports;const aft=o(e=>{const t=Array.from(Array(10).keys()).map(n=>{const r=Ct.name.firstName(),a=Ct.name.lastName(),i=Ct.internet.email(r,a);return{id:n+1,first_name:r,last_name:a,email:i}});return[{id:0,first_name:"Jane",last_name:"Doe",email:"janedoe@atomic.dev"},...t]},"generateSales"),oft=[{id:0,name:"football-fan",color:"#eddcd2"},{id:1,name:"holiday-card",color:"#fff1e6"},{id:2,name:"influencer",color:"#fde2e4"},{id:3,name:"manager",color:"#fad2e1"},{id:4,name:"musician",color:"#c5dedd"},{id:5,name:"vip",color:"#dbe7e4"}],ift=o(e=>[...oft],"generateTags");var lZ={exports:{}};(function(e){var t=QY,n=new t({locale:"en",localeFallback:"en"});n.locales.en=E_,n.locales.en=E_,e.exports=n})(lZ);var sft=lZ.exports;const uZ=Qt(sft),XD=o(e=>uZ.random.number(99)<e,"weightedBoolean"),pc=o((e,t)=>{const n=e instanceof Date?e.getTime():Date.now()-15768e7,a=(t instanceof Date?t.getTime():Date.now())-n,i=uZ.random.number({max:a}),s=Math.sqrt(i/a)*a;return new Date(n+s)},"randomDate"),cft=["Communication Services","Consumer Discretionary","Consumer Staples","Energy","Financials","Health Care","Industrials","Information Technology","Materials","Real Estate","Utilities"],lft=[1,10,50,250,500],uft=/\W+/,dft=o(e=>Array.from(Array(55).keys()).map(t=>{const n=Ct.company.companyName();return{id:t,name:n,logo:`./logos/${t}.png`,sector:Ct.random.arrayElement(cft),size:Ct.random.arrayElement(lft),linkedIn:`https://www.linkedin.com/company/${n.toLowerCase().replace(uft,"_")}`,website:Ct.internet.url(),phone_number:Ct.phone.phoneNumber(),address:Ct.address.streetAddress(),zipcode:Ct.address.zipCode(),city:Ct.address.city(),stateAbbr:Ct.address.stateAbbr(),nb_contacts:0,nb_deals:0,sales_id:Ct.random.number(2)===0?0:Ct.random.arrayElement(e.sales).id,created_at:pc().toISOString()}}),"generateCompanies"),fft=["male","female","nonbinary"],pft=["cold","cold","cold","warm","warm","hot","in-contract"],mft={1:1,10:4,50:12,250:25,500:50},hft=o(e=>{let n=0;return Array.from(Array(500).keys()).map(r=>{const a=XD(25)&&n<223,i=Ct.random.arrayElement(fft),s=Ct.name.firstName(i),c=Ct.name.lastName(),l=Ct.internet.email(s,c),u=a?"https://marmelab.com/posters/avatar-"+(223-n)+".jpeg":void 0,d=Ct.company.bsAdjective();a&&n++;let p;do p=Ct.random.arrayElement(e.companies);while(p.nb_contacts>=mft[p.size]);p.nb_contacts++;const m=pc(new Date(p.created_at)).toISOString(),v=m;return{id:r,first_name:s,last_name:c,gender:i,title:d.charAt(0).toUpperCase()+d.substr(1),company_id:p.id,email:l,phone_number1:Ct.phone.phoneNumber(),phone_number2:Ct.phone.phoneNumber(),background:Ct.lorem.sentence(),acquisition:Ct.random.arrayElement(["inbound","outbound"]),avatar:u,first_seen:m,last_seen:v,has_newsletter:XD(30),status:Ct.random.arrayElement(pft),tags:Ct.random.arrayElements(e.tags,Ct.random.arrayElement([0,0,0,1,1,2])).map(h=>h.id),sales_id:p.sales_id,nb_notes:0,nb_tasks:0}})},"generateContacts"),gft=["Email","Call","Call","Call","Call","Meeting","Reminder"],vft=["cold","cold","cold","warm","warm","hot","in-contract"],yft=o(e=>Array.from(Array(1200).keys()).map(t=>{const n=Ct.random.arrayElement(e.contacts),r=pc(new Date(n.first_seen)).toISOString();return n.nb_notes++,n.last_seen=r>n.last_seen?r:n.last_seen,{id:t,contact_id:n.id,type:Ct.random.arrayElement(gft),text:Ct.lorem.paragraphs(Ct.random.number({min:1,max:4})),date:r,sales_id:n.sales_id,status:Ct.random.arrayElement(vft)}}),"generateContactNotes"),bft=["Email","Email","Email","Email","Email","Email","Call","Call","Call","Call","Call","Call","Call","Call","Call","Call","Call","Demo","Lunch","Meeting","Follow-up","Follow-up","Thank you","Ship","None"],xft=o(e=>Array.from(Array(400).keys()).map(t=>{const n=Ct.random.arrayElement(e.contacts);return n.nb_tasks++,{id:t,contact_id:n.id,type:Ct.random.arrayElement(bft),text:Ct.lorem.sentence(),due_date:pc(Ct.random.boolean()?new Date:new Date(n.first_seen),new Date(Date.now()+100*24*60*60*1e3)).toISOString(),done_date:void 0}}),"generateTasks"),wft=["Other","Copywriting","Print project","UI Design","Website design"],ZD=["opportunity","proposal-sent","in-negociation","won","lost","delayed"],Cft=o(e=>{const t=Array.from(Array(50).keys()).map(n=>{const r=Ct.random.arrayElement(e.companies);r.nb_deals++;const a=Ct.random.arrayElements(e.contacts.filter(c=>c.company_id===r.id),Ct.random.number({min:1,max:3})),i=Ct.lorem.words(),s=pc(new Date(r.created_at)).toISOString();return{id:n,name:i[0].toUpperCase()+i.slice(1),company_id:r.id,contact_ids:a.map(c=>c.id),type:Ct.random.arrayElement(wft),stage:Ct.random.arrayElement(ZD),description:Ct.lorem.paragraphs(Ct.random.number({min:1,max:4})),amount:Ct.random.number(1e3)*100,created_at:s,updated_at:pc(new Date(s)).toISOString(),start_at:pc(new Date,rwe(new Date,{months:6})).toISOString(),sales_id:r.sales_id,index:0,nb_notes:0}});return ZD.forEach(n=>{t.filter(r=>r.stage===n).forEach((r,a)=>{t[r.id].index=a})}),t},"generateDeals"),Sft=["Email","Call","Call","Call","Call","Meeting","Reminder"],jft=o(e=>Array.from(Array(300).keys()).map(t=>{const n=Ct.random.arrayElement(e.deals);return n.nb_notes++,{id:t,deal_id:n.id,type:Ct.random.arrayElement(Sft),text:Ct.lorem.paragraphs(Ct.random.number({min:1,max:4})),date:pc(new Date(e.companies[n.company_id].created_at)).toISOString(),sales_id:n.sales_id}}),"generateDealNotes"),$ft=o(e=>{e.contactNotes.sort((t,n)=>new Date(t.date).valueOf()-new Date(n.date).valueOf()).forEach(t=>{e.contacts[t.contact_id].status=t.status})},"finalize"),_ft=o(()=>{const e={};return e.sales=aft(),e.tags=ift(),e.companies=dft(e),e.contacts=hft(e),e.contactNotes=yft(e),e.deals=Cft(e),e.dealNotes=jft(e),e.tasks=xft(e),$ft(e),e},"generateData"),kft=xlt(_ft(),!0,300),eN="TASK_MARKED_AS_DONE",Eft="TASK_MARKED_AS_UNDONE",R_="TASK_DONE_NOT_CHANGED";let Vv=R_;const Rft=Qge(kft,[{resource:"contactNotes",afterCreate:o(async(e,t)=>{const{contact_id:n}=e.data,{data:r}=await t.getOne("contacts",{id:n});return await t.update("contacts",{id:n,data:{nb_notes:(r.nb_notes??0)+1},previousData:r}),e},"afterCreate"),afterDelete:o(async(e,t)=>{const{contact_id:n}=e.data,{data:r}=await t.getOne("contacts",{id:n});return await t.update("contacts",{id:n,data:{nb_notes:(r.nb_notes??0)-1},previousData:r}),e},"afterDelete")},{resource:"tasks",afterCreate:o(async(e,t)=>{const{contact_id:n}=e.data,{data:r}=await t.getOne("contacts",{id:n});return await t.update("contacts",{id:n,data:{nb_tasks:(r.nb_tasks??0)+1},previousData:r}),e},"afterCreate"),beforeUpdate:o(async e=>{const{data:t,previousData:n}=e;return n.done_date!==t.done_date?Vv=t.done_date?eN:Eft:Vv=R_,e},"beforeUpdate"),afterUpdate:o(async(e,t)=>{const{contact_id:n}=e.data,{data:r}=await t.getOne("contacts",{id:n});return Vv!==R_&&await t.update("contacts",{id:n,data:{nb_tasks:Vv===eN?(r.nb_tasks??0)-1:(r.nb_tasks??0)+1},previousData:r}),e},"afterUpdate"),afterDelete:o(async(e,t)=>{const{contact_id:n}=e.data,{data:r}=await t.getOne("contacts",{id:n});return await t.update("contacts",{id:n,data:{nb_tasks:(r.nb_tasks??0)-1},previousData:r}),e},"afterDelete")}]),Aft="modulepreload",Pft=o(function(e,t){return new URL(e,t).href},"assetsURL"),tN={},Mft=o(function(t,n,r){let a=Promise.resolve();if(n&&n.length>0){const i=document.getElementsByTagName("link"),s=document.querySelector("meta[property=csp-nonce]"),c=(s==null?void 0:s.nonce)||(s==null?void 0:s.getAttribute("nonce"));a=Promise.all(n.map(l=>{if(l=Pft(l,r),l in tN)return;tN[l]=!0;const u=l.endsWith(".css"),d=u?'[rel="stylesheet"]':"";if(!!r)for(let v=i.length-1;v>=0;v--){const h=i[v];if(h.href===l&&(!u||h.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${l}"]${d}`))return;const m=document.createElement("link");if(m.rel=u?"stylesheet":Aft,u||(m.as="script",m.crossOrigin=""),m.href=l,c&&m.setAttribute("nonce",c),document.head.appendChild(m),u)return new Promise((v,h)=>{m.addEventListener("load",v),m.addEventListener("error",()=>h(new Error(`Unable to preload CSS for ${l}`)))})}))}return a.then(()=>t()).catch(i=>{const s=new Event("vite:preloadError",{cancelable:!0});if(s.payload=i,window.dispatchEvent(s),!s.defaultPrevented)throw i})},"preload"),Tft=g.lazy(()=>Mft(()=>import("./DealList-BjMDZCR4.js"),[],import.meta.url)),Oft={list:Tft},zft=o(()=>f.jsxs(jBe,{dataProvider:Rft,authProvider:kBe,store:V9(void 0,"CRM"),layout:_Be,dashboard:xXe,theme:{...I5e,palette:{background:{default:"#fafafb"}}},children:[f.jsx(ni,{name:"deals",...Oft}),f.jsx(ni,{name:"contacts",...GWe}),f.jsx(ni,{name:"companies",...sWe}),f.jsx(ni,{name:"contactNotes"}),f.jsx(ni,{name:"dealNotes"}),f.jsx(ni,{name:"tasks",list:sC}),f.jsx(ni,{name:"sales",list:sC,recordRepresentation:o(e=>`${e.first_name} ${e.last_name}`,"recordRepresentation")}),f.jsx(ni,{name:"tags",list:sC})]}),"App"),Ift=document.getElementById("root"),Lft=g9(Ift);Lft.render(f.jsx(_t.StrictMode,{children:f.jsx(zft,{})}));export{u2e as $,T3 as A,Be as B,Yo as C,cs as D,Ha as E,hs as F,Go as G,Eg as H,xf as I,cNe as J,E3 as K,XA as L,Wq as M,NDe as N,pd as O,Bft as P,Ah as Q,_t as R,Oa as S,ys as T,Dr as U,Ag as V,YB as W,un as X,PBe as Y,Gr as Z,ve as _,nt as a,SV as a0,pa as a1,r0 as a2,kWe as a3,_B as a4,C8e as a5,Z4e as a6,Ar as a7,km as a8,TV as a9,zg as aa,yDe as ab,gA as ac,L1 as ad,Im as b,ee as c,sV as d,V as e,Wn as f,rp as g,Lg as h,R as i,f as j,Fft as k,Pb as l,Nf as m,dm as n,ep as o,$o as p,Mi as q,g as r,Ig as s,et as t,hg as u,EG as v,Jn as w,Fi as x,Wft as y,va as z}; +//# sourceMappingURL=index-Db7Ww11U.js.map diff --git a/assets/index-43HxY5vD.js.map b/assets/index-Db7Ww11U.js.map similarity index 50% rename from assets/index-43HxY5vD.js.map rename to assets/index-Db7Ww11U.js.map index 27c17bd..b4048a2 100644 --- a/assets/index-43HxY5vD.js.map +++ b/assets/index-Db7Ww11U.js.map @@ -1 +1 @@ -{"version":3,"mappings":"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CX,SAAU,SACX,EACD,eAAgB,CACd,SAAU,SACX,EACD,iBAAkB,CAChB,SAAU,SACX,EACD,kBAAmB,CACjB,SAAU,SACX,EACD,gBAAiB,CACf,SAAU,SACX,EACD,QAAS,CACP,SAAU,UACV,UAAWA,EACZ,EACD,aAAc,CACZ,SAAU,SACX,EACD,aAAc,CACZ,SAAU,qBACV,MAAOc,EACR,EAED,MAAO,CACL,SAAU,UACV,UAAWa,EACZ,EACD,QAAS,CACP,SAAU,UACV,YAAa,kBACb,UAAWA,EACZ,EACD,gBAAiB,CACf,SAAU,UACV,UAAWA,EACZ,EAED,EAAG,CACD,MAAOjC,EACR,EACD,GAAI,CACF,MAAOA,EACR,EACD,GAAI,CACF,MAAOA,EACR,EACD,GAAI,CACF,MAAOA,EACR,EACD,GAAI,CACF,MAAOA,EACR,EACD,GAAI,CACF,MAAOA,EACR,EACD,GAAI,CACF,MAAOA,EACR,EACD,QAAS,CACP,MAAOA,EACR,EACD,WAAY,CACV,MAAOA,EACR,EACD,aAAc,CACZ,MAAOA,EACR,EACD,cAAe,CACb,MAAOA,EACR,EACD,YAAa,CACX,MAAOA,EACR,EACD,SAAU,CACR,MAAOA,EACR,EACD,SAAU,CACR,MAAOA,EACR,EACD,cAAe,CACb,MAAOA,EACR,EACD,mBAAoB,CAClB,MAAOA,EACR,EACD,iBAAkB,CAChB,MAAOA,EACR,EACD,aAAc,CACZ,MAAOA,EACR,EACD,kBAAmB,CACjB,MAAOA,EACR,EACD,gBAAiB,CACf,MAAOA,EACR,EACD,EAAG,CACD,MAAOD,EACR,EACD,GAAI,CACF,MAAOA,EACR,EACD,GAAI,CACF,MAAOA,EACR,EACD,GAAI,CACF,MAAOA,EACR,EACD,GAAI,CACF,MAAOA,EACR,EACD,GAAI,CACF,MAAOA,EACR,EACD,GAAI,CACF,MAAOA,EACR,EACD,OAAQ,CACN,MAAOA,EACR,EACD,UAAW,CACT,MAAOA,EACR,EACD,YAAa,CACX,MAAOA,EACR,EACD,aAAc,CACZ,MAAOA,EACR,EACD,WAAY,CACV,MAAOA,EACR,EACD,QAAS,CACP,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AG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAGA,GAAa,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAGA,GAAa,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAGA,GAAa,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAGA,GAAa,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAGA,GAAa,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAGA,GAAa,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAGA,GAAa,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAGA,GAAa,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAGA,GAAa,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAGA,GAAa,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAGA,GAAa,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAGA,GAAa,EAAG,EAAG,GAAI,GAAI,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAGA,GAAa,EAAG,EAAG,GAAI,GAAI,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAGA,GAAa,EAAG,EAAG,GAAI,GAAI,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAGA,GAAa,EAAG,EAAG,GAAI,GAAI,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAGA,GAAa,EAAG,GAAI,GAAI,GAAI,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAGA,GAAa,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R,CACF,EACD,OAAQ,6BACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,CACR,CACF,EACD,OAAQ,qBACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,0BACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,EACR,EACD,CACE,KAAM,IACN,MAAO,EACR,EACD,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,CACR,CACF,EACD,OAAQ,sCACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,CACR,CACF,EACD,OAAQ,6BACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,4BACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,4BACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,oCACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,EACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,+BACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,wBACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,oCACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,8BACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,0BACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,wBACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,CACR,CACF,EACD,OAAQ,wBACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,EACR,EACD,CACE,KAAM,IACN,MAAO,EACR,EACD,CACE,KAAM,IACN,MAAO,CACR,CACF,EACD,OAAQ,mCACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,6BACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,6BACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,8BACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,mCACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,wBACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,oCACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,oCACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,kCACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,CACR,CACF,EACD,OAAQ,6BACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,8BACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,mCACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,uCACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,0BACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,0BACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,uCACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,4BACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,oCACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,4BACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,0BACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,0BACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,EACD,CACE,KAAM,IACN,MAAO,CACR,CACF,EACD,OAAQ,yBACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,wCACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,EACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,mCACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,EACD,CACE,KAAM,IACN,MAAO,CACR,CACF,EACD,OAAQ,uCACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,EACR,EACD,CACE,KAAM,IACN,MAAO,EACR,EACD,CACE,KAAM,IACN,MAAO,CACR,CACF,EACD,OAAQ,mCACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,+BACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,6BACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,wBACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,CACR,CACF,EACD,OAAQ,oBACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,+BACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,sCACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,oCACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,iCACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,sCACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,+BACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,mCACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,+BACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,6BACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,EACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,+BACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,yBACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,EACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,+BACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,+BACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,4BACT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CpBA,EAAQ,gBAAkBt1R,IAC1Bs1R,EAAQ,kBAAoB90R,0ECH5B+3D,EAAO,QAAa,CAClB,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,6DC3RFA,EAAO,QAAa,CAClB,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,6CC3RF,IAAI6lO,EAAe,GACnB7lO,EAAO,QAAa6lO,EACpBA,EAAa,UAAYp+R,IACzBo+R,EAAa,cAAgB59R,0CCH7B,IAAI69R,EAAQ,GACZ9lO,EAAO,QAAa8lO,EACpBA,EAAM,MAAQ,0BACdA,EAAM,SAAWr+R,IACjBq+R,EAAM,QAAU79R,IAChB69R,EAAM,aAAe12O,0FCLrB4Q,EAAO,QAAa,CAClB,QACA,OACA,OACA,QACA,MACA,OACA,8DCPFA,EAAO,QAAa,CAClB,OACA,MACA,OACA,QACA,OACA,QACA,UACA,OACA,OACA,OACA,QACA,OACA,OACA,UACA,QACA,OACA,QACA,OACA,+DCnBFA,EAAO,QAAa,CAClB,OACA,eACA,YACA,UACA,kBACA,wECNFA,EAAO,QAAa,CAClB,cACA,UACA,UACA,iBACA,UACA,SACA,WACA,+CACA,sBACA,YACA,UACA,QACA,YACA,UACA,aACA,UACA,UACA,aACA,WACA,UACA,UACA,SACA,QACA,UACA,SACA,UACA,yBACA,WACA,4BACA,SACA,sDACA,oBACA,WACA,eACA,UACA,WACA,WACA,SACA,aACA,iBACA,2BACA,OACA,QACA,QACA,mBACA,0BACA,WACA,UACA,QACA,eACA,aACA,gBACA,UACA,OACA,SACA,iBACA,UACA,WACA,WACA,qBACA,UACA,QACA,cACA,oBACA,UACA,UACA,WACA,gBACA,8BACA,OACA,UACA,SACA,gBACA,mBACA,8BACA,QACA,SACA,UACA,UACA,QACA,YACA,SACA,YACA,UACA,aACA,OACA,YACA,WACA,SACA,gBACA,SACA,QACA,oCACA,gCACA,WACA,YACA,UACA,UACA,QACA,YACA,OACA,OACA,UACA,cACA,SACA,QACA,UACA,QACA,SACA,SACA,aACA,QACA,WACA,wCACA,oBACA,SACA,kBACA,mCACA,SACA,UACA,UACA,UACA,yBACA,gBACA,YACA,aACA,QACA,YACA,aACA,SACA,WACA,WACA,OACA,QACA,mBACA,aACA,aACA,YACA,UACA,SACA,aACA,UACA,SACA,WACA,aACA,aACA,UACA,aACA,UACA,UACA,QACA,QACA,uBACA,cACA,gBACA,cACA,YACA,QACA,UACA,OACA,iBACA,2BACA,SACA,OACA,WACA,QACA,wBACA,SACA,mBACA,WACA,OACA,cACA,mBACA,SACA,WACA,cACA,QACA,UACA,UACA,qBACA,SACA,mBACA,eACA,wBACA,cACA,eACA,4BACA,mCACA,QACA,aACA,wBACA,eACA,UACA,SACA,aACA,eACA,YACA,6BACA,WACA,kBACA,UACA,eACA,+CACA,QACA,YACA,QACA,WACA,+BACA,YACA,SACA,cACA,uBACA,SACA,aACA,WACA,WACA,cACA,OACA,UACA,QACA,sBACA,UACA,SACA,eACA,2BACA,SACA,SACA,UACA,uBACA,iBACA,2BACA,uCACA,UACA,aACA,UACA,YACA,UACA,0BACA,uBACA,oBACA,iBACA,QACA,SACA,kECpPFA,EAAO,QAAa,CAClB,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,4DCzPFA,EAAO,QAAa,CAChB,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,6DC1PJA,EAAO,QAAa,CAClB,QACA,OACA,6DCHFA,EAAO,QAAa,CAClB,QACA,SACA,SACA,SACA,QACA,SACA,OACA,QACA,SACA,OACA,SACA,OACA,WACA,SACA,UACA,SACA,UACA,QACA,SACA,OACA,SACA,SACA,UACA,SACA,QACA,SACA,OACA,QACA,QACA,WACA,QACA,WACA,YACA,QACA,OACA,MACA,SACA,QACA,QACA,SACA,SACA,UACA,aACA,YACA,aACA,OACA,QACA,QACA,QACA,SACA,OACA,QACA,OACA,QACA,SACA,QACA,SACA,OACA,QACA,OACA,UACA,SACA,UACA,UACA,OACA,QACA,QACA,SACA,QACA,SACA,SACA,UACA,QACA,UACA,UACA,OACA,QACA,SACA,QACA,QACA,SACA,SACA,UACA,UACA,OACA,OACA,WACA,YACA,MACA,OACA,QACA,SACA,OACA,QACA,OACA,UACA,OACA,QACA,SACA,OACA,OACA,QACA,QACA,QACA,QACA,OACA,OACA,QACA,SACA,SACA,UACA,OACA,OACA,QACA,UACA,UACA,WACA,QACA,WACA,WACA,YACA,YACA,OACA,UACA,OACA,WACA,OACA,QACA,UACA,WACA,OACA,UACA,OACA,OACA,OACA,QACA,QACA,QACA,SACA,SACA,QACA,QACA,QACA,SACA,OACA,OACA,QACA,QACA,UACA,UACA,SACA,OACA,QACA,QACA,SACA,OACA,QACA,SACA,QACA,OACA,OACA,QACA,QACA,QACA,MACA,MACA,MACA,QACA,SACA,QACA,SACA,SACA,SACA,UACA,UACA,OACA,QACA,SACA,SACA,UACA,UACA,UACA,UACA,YACA,YACA,SACA,SACA,SACA,SACA,UACA,SACA,SACA,UACA,aACA,QACA,QACA,aACA,QACA,QACA,SACA,SACA,WACA,WACA,YACA,QACA,SACA,SACA,UACA,MACA,UACA,OACA,QACA,UACA,UACA,WACA,QACA,QACA,QACA,OACA,QACA,OACA,MACA,OACA,OACA,+DCjOFA,EAAO,QAAa,CAClB,WACA,mECFFA,EAAO,QAAa,CAClB,QACA,oECFFA,EAAO,QAAa,CAClB,QACA,oECFFA,EAAO,QAAa,CAClB,UACA,SACA,UACA,WACA,aACA,WACA,cACA,WACA,UACA,UACA,SACA,QACA,WACA,UACA,OACA,SACA,WACA,YACA,QACA,WACA,gBACA,WACA,YACA,cACA,WACA,UACA,WACA,SACA,gBACA,aACA,aACA,WACA,iBACA,eACA,OACA,WACA,SACA,eACA,eACA,iBACA,eACA,YACA,QACA,OACA,UACA,WACA,aACA,gBACA,YACA,iEClDFA,EAAO,QAAa,CAClB,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,4DClDFA,EAAO,QAAa,CAClB,iBACA,oBACA,mBACA,iBACA,sBACA,kBACA,iBACA,kBACA,oBACA,mBACA,kBACA,iBACA,sBACA,sBACA,oBACA,oBACA,mBACA,+BACA,iBACA,eACA,eACA,kBACA,kBACA,iBACA,mBACA,mBACA,oBACA,iCACA,iBACA,kBACA,yBACA,kBACA,sBACA,gBACA,gBACA,gBACA,gBACA,oBACA,kBACA,UACA,kBACA,oBACA,kBACA,mBACA,gBACA,kBACA,gBACA,gBACA,gBACA,kBACA,oBACA,gBACA,eACA,mBACA,gBACA,gBACA,cACA,mBACA,gBACA,iBACA,mBACA,eACA,kBACA,cACA,cACA,eACA,iBACA,iBACA,gBACA,kBACA,eACA,iBACA,gBACA,sBACA,gBACA,gBACA,gBACA,cACA,cACA,iBACA,eACA,cACA,cACA,cACA,YACA,eACA,eACA,aACA,qBACA,eACA,eACA,gBACA,eACA,eACA,eACA,eACA,iBACA,aACA,aACA,eACA,cACA,mBACA,eACA,eACA,eACA,eACA,mBACA,gBACA,iBACA,iBACA,cACA,oBACA,iBACA,cACA,kBACA,eACA,mBACA,aACA,aACA,aACA,aACA,eACA,mBACA,qBACA,sBACA,sBACA,mBACA,qBACA,mBACA,mBACA,eACA,uBACA,eACA,eACA,iBACA,eACA,iBACA,iBACA,mBACA,mBACA,oBACA,kBACA,sEC/IFA,EAAO,QAAa,CAClB,kDACA,oCACA,mCACA,yFCJFA,EAAO,QAAa,CAClB,sCACA,4FCFFA,EAAO,QAAa,CAClB,2FCDFA,EAAO,QAAa,CAClB,kFCDFA,EAAO,QAAa,CAClB,QACA,OACA,QACA,OACA,YACA,YACA,YACA,mECRFA,EAAO,QAAa,CAClB,IACA,IACA,IACA,IACA,KACA,KACA,KACA,4CCRF,IAAI+8N,EAAU,GACd/8N,EAAO,QAAa+8N,EACpBA,EAAQ,YAAct1R,IACtBs1R,EAAQ,YAAc90R,IACtB80R,EAAQ,OAAS3tO,IACjB2tO,EAAQ,QAAUnsO,IAClBmsO,EAAQ,aAAevpO,IACvBupO,EAAQ,qBAAuB7hO,IAC/B6hO,EAAQ,gBAAkBx4N,IAC1Bw4N,EAAQ,cAAgB93N,IACxB83N,EAAQ,kBAAoB9xN,IAC5B8xN,EAAQ,SAAW7xN,IACnB6xN,EAAQ,kBAAoB5xN,IAC5B4xN,EAAQ,MAAQ3xN,IAChB2xN,EAAQ,WAAa1xN,IACrB0xN,EAAQ,UAAYzxN,IACpByxN,EAAQ,KAAOxxN,IACfwxN,EAAQ,YAAchzD,IACtBgzD,EAAQ,eAAiB/yD,IACzB+yD,EAAQ,gBAAkB9yD,IAC1B8yD,EAAQ,UAAY7yD,IACpB6yD,EAAQ,eAAiB5yD,0ECrBzBnqK,EAAO,QAAa,CAClB,MACA,WACA,MACA,+DCJFA,EAAO,QAAa,CAClB,WACA,WACA,cACA,cACA,YACA,WACA,mBACA,cACA,SACA,aACA,eACA,cACA,iBACA,mBACA,eACA,gBACA,gBACA,WACA,YACA,cACA,UACA,aACA,WACA,kBACA,YACA,YACA,WACA,WACA,eACA,UACA,aACA,qBACA,iBACA,cACA,iBACA,cACA,aACA,cACA,aACA,aACA,YACA,UACA,UACA,YACA,YACA,mBACA,gBACA,gBACA,eACA,YACA,eACA,mBACA,cACA,YACA,YACA,WACA,UACA,YACA,cACA,aACA,SACA,YACA,cACA,YACA,iBACA,WACA,eACA,cACA,aACA,kBACA,WACA,YACA,oBACA,gBACA,UACA,qBACA,cACA,SACA,WACA,UACA,gBACA,WACA,cACA,cACA,aACA,eACA,cACA,aACA,gBACA,QACA,kBACA,YACA,WACA,aACA,eACA,gBACA,YACA,UACA,YACA,yECpGFA,EAAO,QAAa,CAClB,UACA,OACA,iBACA,iBACA,iBACA,iBACA,YACA,YACA,aACA,eACA,oBACA,aACA,sBACA,iBACA,aACA,cACA,iBACA,gBACA,gBACA,WACA,WACA,YACA,oBACA,qBACA,gBACA,YACA,gBACA,WACA,cACA,WACA,kBACA,UACA,cACA,aACA,eACA,cACA,YACA,WACA,UACA,iBACA,aACA,iBACA,aACA,SACA,eACA,YACA,aACA,WACA,cACA,iBACA,SACA,YACA,cACA,aACA,cACA,eACA,eACA,QACA,aACA,YACA,aACA,mBACA,SACA,UACA,aACA,aACA,cACA,gBACA,WACA,cACA,UACA,kBACA,eACA,kBACA,UACA,aACA,UACA,YACA,aACA,WACA,aACA,WACA,YACA,oBACA,SACA,SACA,aACA,WACA,gBACA,WACA,WACA,eACA,UACA,kBACA,cACA,cACA,cACA,iBACA,sBACA,cACA,wECrGFA,EAAO,QAAa,CAClB,UACA,SACA,UACA,YACA,WACA,WACA,cACA,WACA,eACA,UACA,0BACA,QACA,WACA,YACA,uBACA,aACA,WACA,YACA,UACA,gBACA,aACA,UACA,iBACA,cACA,OACA,mBACA,WACA,iBACA,aACA,YACA,WACA,aACA,WACA,WACA,cACA,cACA,WACA,QACA,YACA,WACA,kBACA,oBACA,YACA,2BACA,WACA,YACA,YACA,MACA,iBACA,iBACA,iBACA,aACA,eACA,kBACA,YACA,oBACA,WACA,iBACA,iBACA,qBACA,WACA,WACA,SACA,cACA,aACA,YACA,QACA,YACA,aACA,aACA,aACA,oBACA,cACA,gBACA,WACA,cACA,SACA,SACA,oBACA,sBACA,UACA,eACA,UACA,aACA,WACA,eACA,eACA,WACA,WACA,kBACA,WACA,YACA,UACA,iBACA,UACA,UACA,gBACA,aACA,aACA,aACA,UACA,cACA,UACA,mECxGFA,EAAO,QAAa,CAClB,YACA,UACA,YACA,aACA,WACA,SACA,YACA,UACA,SACA,cACA,WACA,WACA,YACA,YACA,UACA,cACA,QACA,UACA,cACA,WACA,UACA,aACA,QACA,kBACA,YACA,aACA,SACA,QACA,OACA,SACA,YACA,aACA,UACA,OACA,WACA,SACA,WACA,YACA,WACA,iBACA,aACA,YACA,YACA,WACA,QACA,UACA,QACA,SACA,WACA,gBACA,WACA,UACA,aACA,WACA,UACA,YACA,SACA,aACA,WACA,yEC5DFA,EAAO,QAAa,CAClB,oBACA,cACA,WACA,YACA,SACA,gBACA,WACA,eACA,aACA,YACA,YACA,aACA,mBACA,SACA,aACA,OACA,aACA,SACA,MACA,MACA,WACA,eACA,UACA,QACA,UACA,SACA,gBACA,SACA,WACA,gBACA,cACA,cACA,UACA,OACA,WACA,YACA,YACA,YACA,cACA,WACA,aACA,WACA,cACA,cACA,iBACA,cACA,cACA,oBACA,iBACA,aACA,aACA,YACA,WACA,cACA,kBACA,eACA,eACA,YACA,aACA,aACA,gBACA,gBACA,aACA,WACA,8DCjEFA,EAAO,QAAa,CAClB,YACA,gBACA,YACA,UACA,eACA,kBACA,YACA,cACA,WACA,WACA,cACA,MACA,YACA,YACA,aACA,eACA,UACA,SACA,eACA,UACA,UACA,gBACA,cACA,gBACA,gBACA,aACA,YACA,aACA,UACA,YACA,gBACA,SACA,YACA,eACA,QACA,UACA,WACA,eACA,UACA,aACA,kBACA,cACA,eACA,gBACA,qEC7CFA,EAAO,QAAa,CAClB,8BACA,sCACA,oGCHF,IAAImzL,EAAU,GACdnzL,EAAO,QAAamzL,EACpBA,EAAQ,OAAS1rP,IACjB0rP,EAAQ,UAAYlrP,IACpBkrP,EAAQ,WAAa/jM,IACrB+jM,EAAQ,KAAOviM,IACfuiM,EAAQ,QAAU3/L,IAClB2/L,EAAQ,aAAej4L,IACvBi4L,EAAQ,QAAU5uL,IAClB4uL,EAAQ,KAAOluL,0ECTfjF,EAAO,QAAa,CAClB,YACA,YACA,qECHFA,EAAO,QAAa,CAClB,cACA,cACA,qECHFA,EAAO,QAAa,CAClB,MACA,MACA,OACA,OACA,MACA,6DCNFA,EAAO,QAAa,CAClB,gEACA,gEACA,kEACA,iEACA,oEACA,gEACA,kEACA,iEACA,uEACA,oEACA,mEACA,mEACA,sEACA,kEACA,mEACA,+DACA,mEACA,oEACA,+DACA,oEACA,oEACA,qEACA,sEACA,kEACA,uEACA,uEACA,wEACA,kEACA,+DACA,kEACA,uEACA,yEACA,oEACA,kEACA,gEACA,mEACA,oEACA,wEACA,qEACA,sEACA,gEACA,iEACA,qEACA,wEACA,4DACA,kEACA,iEACA,+DACA,+DACA,mEACA,iEACA,mEACA,gEACA,qEACA,iEACA,oEACA,kEACA,mEACA,qEACA,iEACA,iEACA,mEACA,kEACA,8DACA,qEACA,+DACA,qEACA,sEACA,gEACA,kEACA,iEACA,oEACA,gEACA,iEACA,kEACA,qEACA,oEACA,sEACA,oEACA,+DACA,sEACA,yEACA,mEACA,qEACA,uEACA,qEACA,uEACA,uEACA,wEACA,mEACA,uEACA,oEACA,iEACA,uEACA,uEACA,kEACA,+DACA,mEACA,qEACA,kEACA,gEACA,wEACA,qEACA,8DACA,qEACA,+DACA,kEACA,kEACA,mEACA,qEACA,uEACA,mEACA,kEACA,kEACA,+DACA,kEACA,kEACA,gEACA,6DACA,oEACA,gEACA,gEACA,gEACA,uEACA,oEACA,mEACA,gEACA,gEACA,mEACA,sEACA,gEACA,+DACA,oEACA,qEACA,yEACA,mEACA,mEACA,mEACA,yEACA,kEACA,qEACA,mEACA,qEACA,8DACA,8DACA,wEACA,uEACA,uEACA,iEACA,iEACA,mEACA,oEACA,oEACA,mEACA,oEACA,kEACA,qEACA,iEACA,wEACA,mEACA,qEACA,oEACA,iEACA,sEACA,uEACA,sEACA,gEACA,qEACA,sEACA,+DACA,qEACA,iEACA,mEACA,qEACA,gEACA,iEACA,kEACA,iEACA,qEACA,iEACA,uEACA,sEACA,uEACA,mEACA,qEACA,mEACA,uEACA,mEACA,sEACA,qEACA,6DACA,mEACA,gEACA,mEACA,kEACA,kEACA,kEACA,iEACA,sEACA,iEACA,kEACA,iEACA,qEACA,qEACA,kEACA,8DACA,sEACA,oEACA,iEACA,uEACA,mEACA,wEACA,iEACA,qEACA,sEACA,wEACA,wEACA,mEACA,oEACA,iEACA,qEACA,sEACA,mEACA,qEACA,gEACA,iEACA,uEACA,mEACA,+DACA,kEACA,kEACA,qEACA,+DACA,uEACA,yEACA,kEACA,oEACA,uEACA,kEACA,kEACA,iEACA,iEACA,qEACA,kEACA,iEACA,wEACA,yEACA,yEACA,+DACA,+DACA,gEACA,iEACA,mEACA,sEACA,gEACA,mEACA,uEACA,sEACA,oEACA,qEACA,oEACA,kEACA,yEACA,mEACA,qEACA,kEACA,kEACA,uEACA,+DACA,qEACA,gEACA,oEACA,qEACA,sEACA,gEACA,gEACA,sEACA,yEACA,kEACA,+DACA,wEACA,qEACA,qEACA,mEACA,oEACA,kEACA,sEACA,mEACA,kEACA,gEACA,iEACA,oEACA,wEACA,yEACA,gEACA,mEACA,sEACA,mEACA,qEACA,yEACA,qEACA,kEACA,qEACA,sEACA,qEACA,sEACA,uEACA,qEACA,mEACA,oEACA,qEACA,oEACA,qEACA,gEACA,qEACA,sEACA,qEACA,8DACA,kEACA,gEACA,mEACA,oEACA,oEACA,kEACA,gEACA,sEACA,wEACA,kEACA,qEACA,oEACA,kEACA,iEACA,yEACA,qEACA,uEACA,wEACA,uEACA,wEACA,+DACA,kEACA,qEACA,+DACA,sEACA,oEACA,oEACA,+DACA,qEACA,oEACA,sEACA,kEACA,sEACA,oEACA,iEACA,uEACA,iEACA,+DACA,gEACA,oEACA,gEACA,kEACA,sEACA,iEACA,mEACA,yEACA,wEACA,mEACA,mEACA,kEACA,iEACA,sEACA,yEACA,qEACA,kEACA,wEACA,gEACA,iEACA,uEACA,6DACA,kEACA,mEACA,mEACA,oEACA,gEACA,mEACA,kEACA,mEACA,mEACA,uEACA,iEACA,uEACA,wEACA,mEACA,qEACA,sEACA,+DACA,oEACA,mEACA,kEACA,sEACA,iEACA,qEACA,uEACA,+DACA,uEACA,uEACA,iEACA,iEACA,qEACA,qEACA,uEACA,8DACA,kEACA,sEACA,qEACA,uEACA,uEACA,sEACA,iEACA,oEACA,gEACA,kEACA,oEACA,yEACA,qEACA,kEACA,iEACA,qEACA,iEACA,uEACA,kEACA,qEACA,mEACA,+DACA,oEACA,uEACA,sEACA,oEACA,gEACA,oEACA,oEACA,oEACA,+DACA,iEACA,sEACA,uEACA,gEACA,+DACA,uEACA,yEACA,iEACA,kEACA,qEACA,mEACA,uEACA,sEACA,+DACA,sEACA,wEACA,sEACA,uEACA,+DACA,qEACA,gEACA,kEACA,yEACA,mEACA,gEACA,kEACA,qEACA,kEACA,kEACA,iEACA,sEACA,mEACA,qEACA,wEACA,uEACA,kEACA,iEACA,4DACA,mEACA,iEACA,iEACA,mEACA,iEACA,sEACA,qEACA,iEACA,kEACA,qEACA,uEACA,qEACA,yEACA,gEACA,iEACA,iEACA,mEACA,oEACA,mEACA,gEACA,iEACA,oEACA,oEACA,qEACA,+DACA,qEACA,mEACA,iEACA,+DACA,kEACA,qEACA,kEACA,sEACA,gEACA,wEACA,qEACA,sEACA,sEACA,kEACA,qEACA,gEACA,oEACA,kEACA,iEACA,iEACA,sEACA,mEACA,kEACA,sEACA,qEACA,iEACA,uEACA,qEACA,qEACA,kEACA,sEACA,mEACA,kEACA,+DACA,kEACA,iEACA,wEACA,uEACA,kEACA,kEACA,qEACA,oEACA,gEACA,kEACA,uEACA,gEACA,mEACA,oEACA,gEACA,gEACA,oEACA,mEACA,qEACA,yEACA,mEACA,sEACA,kEACA,iEACA,uEACA,gEACA,iEACA,uEACA,gEACA,yEACA,uEACA,kEACA,oEACA,mEACA,sEACA,gEACA,uEACA,qEACA,gEACA,sEACA,oEACA,uEACA,sEACA,kEACA,wEACA,mEACA,wEACA,mEACA,yEACA,uEACA,8DACA,qEACA,iEACA,kEACA,mEACA,oEACA,qEACA,iEACA,mEACA,yEACA,yEACA,+DACA,kEACA,gEACA,wEACA,uEACA,iEACA,gEACA,oEACA,mEACA,mEACA,gEACA,uEACA,mEACA,oEACA,sEACA,iEACA,sEACA,oEACA,mEACA,iEACA,+DACA,qEACA,iEACA,kEACA,qEACA,qEACA,kEACA,sEACA,iEACA,8DACA,iEACA,wEACA,sEACA,sEACA,kEACA,oEACA,kEACA,mEACA,oEACA,uEACA,kEACA,kEACA,oEACA,qEACA,mEACA,mEACA,mEACA,qEACA,sEACA,qEACA,gEACA,8DACA,mEACA,uEACA,mEACA,wEACA,yEACA,sEACA,qEACA,uEACA,gEACA,uEACA,oEACA,gEACA,qEACA,kEACA,kEACA,sEACA,oEACA,uEACA,mEACA,sEACA,qEACA,oEACA,yEACA,sEACA,uEACA,wEACA,kEACA,iEACA,wEACA,iEACA,oEACA,kEACA,iEACA,sEACA,oEACA,iEACA,mEACA,oEACA,qEACA,+DACA,mEACA,mEACA,kEACA,qEACA,gEACA,oEACA,iEACA,kEACA,wEACA,qEACA,oEACA,iEACA,wEACA,gEACA,qEACA,oEACA,sEACA,+DACA,iEACA,mEACA,wEACA,kEACA,wEACA,kEACA,uEACA,mEACA,qEACA,gEACA,qEACA,yEACA,oEACA,sEACA,qEACA,mEACA,qEACA,uEACA,gEACA,mEACA,mEACA,kEACA,oEACA,kEACA,kEACA,mEACA,sEACA,oEACA,kEACA,oEACA,qEACA,kEACA,sEACA,gEACA,mEACA,iEACA,gEACA,iEACA,uEACA,oEACA,sEACA,sEACA,iEACA,wEACA,uEACA,qEACA,iEACA,mEACA,mEACA,mEACA,iEACA,qEACA,iEACA,qEACA,uEACA,qEACA,kEACA,kEACA,oEACA,gEACA,iEACA,iEACA,kEACA,kEACA,oEACA,kEACA,qEACA,oEACA,oEACA,sEACA,mEACA,kEACA,sEACA,mEACA,oEACA,oEACA,+DACA,mEACA,mEACA,sEACA,mEACA,qEACA,uEACA,gEACA,kEACA,uEACA,oEACA,oEACA,uEACA,kEACA,oEACA,mEACA,+DACA,oEACA,mEACA,oEACA,uEACA,mEACA,sEACA,iEACA,sEACA,uEACA,iEACA,sEACA,qEACA,sEACA,qEACA,kEACA,iEACA,kEACA,yEACA,gEACA,+DACA,qEACA,kEACA,kEACA,+DACA,yEACA,mEACA,gEACA,kEACA,sEACA,kEACA,8DACA,sEACA,+DACA,oEACA,mEACA,iEACA,mEACA,8DACA,oEACA,gEACA,qEACA,sEACA,uEACA,iEACA,uEACA,kEACA,iEACA,+DACA,oEACA,yEACA,qEACA,oEACA,wEACA,qEACA,sEACA,mEACA,mEACA,sEACA,uEACA,oEACA,sEACA,mEACA,kEACA,yEACA,kEACA,kEACA,oEACA,kEACA,wEACA,qEACA,gEACA,oEACA,mEACA,kEACA,wEACA,oEACA,wEACA,mEACA,kEACA,kEACA,oEACA,mEACA,uEACA,qEACA,mEACA,kEACA,sEACA,yEACA,kEACA,qEACA,uEACA,gEACA,mEACA,yEACA,qEACA,oEACA,qEACA,iEACA,sEACA,qEACA,kEACA,sEACA,oEACA,oEACA,mEACA,kEACA,qEACA,sEACA,uEACA,iEACA,sEACA,mEACA,oEACA,uEACA,oEACA,+DACA,uEACA,kEACA,iEACA,sEACA,iEACA,kEACA,mEACA,mEACA,uEACA,wEACA,oEACA,gEACA,uEACA,wEACA,uEACA,sEACA,iEACA,oEACA,oEACA,iEACA,qEACA,yEACA,wEACA,iEACA,wEACA,mEACA,iEACA,iEACA,qEACA,sEACA,iEACA,wEACA,gEACA,kEACA,oEACA,qEACA,uEACA,sEACA,oEACA,kEACA,iEACA,yEACA,uEACA,qEACA,mEACA,kEACA,sEACA,iEACA,sEACA,gEACA,uEACA,iEACA,iEACA,gEACA,kEACA,oEACA,oEACA,mEACA,oEACA,kEACA,kEACA,gEACA,qEACA,qEACA,sEACA,kEACA,mEACA,qEACA,yEACA,gEACA,qEACA,gEACA,qEACA,uEACA,iEACA,mEACA,uEACA,uEACA,mEACA,qEACA,uEACA,iEACA,sEACA,wEACA,mEACA,qEACA,wEACA,mEACA,mEACA,mEACA,wEACA,yEACA,mEACA,kEACA,mEACA,sEACA,mEACA,oEACA,mEACA,uEACA,kEACA,sEACA,iEACA,yEACA,wEACA,wEACA,iEACA,wEACA,iEACA,qEACA,uEACA,yEACA,oEACA,oEACA,sEACA,oEACA,oEACA,+DACA,qEACA,iEACA,gEACA,oEACA,iEACA,oEACA,sEACA,iEACA,wEACA,qEACA,uEACA,iEACA,oEACA,mEACA,mEACA,qEACA,sEACA,oEACA,mEACA,mEACA,iEACA,kEACA,iEACA,sEACA,oEACA,gEACA,gEACA,qEACA,kEACA,sEACA,qEACA,qEACA,yEACA,kEACA,kEACA,oEACA,sEACA,wEACA,kEACA,uEACA,qEACA,uEACA,gEACA,kEACA,kEACA,kEACA,gEACA,iEACA,sEACA,mEACA,oEACA,qEACA,iEACA,oEACA,kEACA,uEACA,uEACA,sEACA,iEACA,mEACA,mEACA,qEACA,sEACA,qEACA,kEACA,wEACA,sEACA,qEACA,yEACA,iEACA,yEACA,sEACA,gEACA,oEACA,sEACA,qEACA,qEACA,mEACA,oEACA,qEACA,iEACA,uEACA,kEACA,kEACA,kEACA,uEACA,oEACA,kEACA,+DACA,oEACA,8DACA,qEACA,wEACA,qEACA,iEACA,mEACA,iEACA,mEACA,yEACA,oEACA,iEACA,qEACA,iEACA,yEACA,sEACA,yEACA,uEACA,iEACA,mEACA,oEACA,qEACA,oEACA,uEACA,oEACA,mEACA,oEACA,uEACA,iEACA,sEACA,gEACA,qEACA,mEACA,iEACA,oEACA,uEACA,sEACA,uEACA,wEACA,gEACA,mEACA,kEACA,kEACA,uEACA,mEACA,wEACA,wEACA,wEACA,uEACA,mEACA,qEACA,sEACA,gEACA,gEACA,sEACA,qEACA,yEACA,qEACA,mEACA,uEACA,uEACA,uEACA,yEACA,kEACA,sEACA,gEACA,uEACA,sEACA,mEACA,wEACA,mEACA,oEACA,uEACA,qEACA,qEACA,oEACA,qEACA,gEACA,mEACA,uEACA,8DACA,uEACA,qEACA,kEACA,iEACA,iEACA,qEACA,kEACA,oEACA,mEACA,sEACA,oEACA,sEACA,uEACA,iEACA,gEACA,uEACA,8DACA,uEACA,sEACA,kEACA,mEACA,qEACA,sEACA,sEACA,qEACA,qEACA,mEACA,yEACA,uEACA,mEACA,kEACA,gEACA,mEACA,qEACA,mEACA,oEACA,gEACA,uEACA,uEACA,sEACA,uEACA,qEACA,iEACA,oEACA,wEACA,qEACA,2GCtuCF,IAAI4lO,EAAW,GACf5lO,EAAO,QAAa4lO,EACpBA,EAAS,WAAan+R,IACtBm+R,EAAS,cAAgB39R,IACzB29R,EAAS,cAAgBx2O,IACzBw2O,EAAS,WAAah1O,0ECLtBoP,EAAO,QAAa,CAClB,kBACA,kBACA,WACA,YACA,mBACA,aACA,2ECPFA,EAAO,QAAa,CAClB,KACA,QACA,OACA,QACA,QACA,QACA,QACA,WACA,WACA,UACA,SACA,SACA,YACA,mECdFA,EAAO,QAAa,CAClB,SACA,SACA,SACA,MACA,YACA,iECNFA,EAAO,QAAa,CAClB,MACA,UACA,OACA,OACA,WACA,UACA,OACA,YACA,WACA,YACA,SACA,UACA,QACA,SACA,OACA,MACA,UACA,SACA,OACA,SACA,OACA,MACA,WACA,+CCxBF,IAAI+lO,EAAW,GACf/lO,EAAO,QAAa+lO,EACpBA,EAAS,UAAYt+R,IACrBs+R,EAAS,OAAS99R,IAClB89R,EAAS,OAAS32O,IAClB22O,EAAS,KAAOn1O,0ECLhBoP,EAAO,QAAa,CAClB,QACA,cACA,MACA,cACA,MACA,aACA,cACA,aACA,UACA,QACA,OACA,OACA,KACA,OACA,YACA,YACA,KACA,QACA,aACA,SACA,QACA,QACA,OACA,YACA,aACA,MACA,OACA,MACA,QACA,MACA,OACA,eACA,QACA,UACA,MACA,MACA,UACA,aACA,QACA,WACA,QACA,UACA,QACA,OACA,QACA,MACA,OACA,cACA,WACA,QACA,MACA,OACA,MACA,UACA,OACA,OACA,UACA,WACA,KACA,SACA,KACA,SACA,SACA,UACA,UACA,aACA,KACA,OACA,KACA,SACA,SACA,OACA,UACA,iBACA,QACA,WACA,OACA,OACA,QACA,aACA,OACA,WACA,MACA,WACA,aACA,OACA,KACA,UACA,KACA,KACA,UACA,cACA,OACA,QACA,MACA,MACA,OACA,gBACA,MACA,KACA,KACA,YACA,QACA,OACA,OACA,QACA,YACA,KACA,QACA,OACA,cACA,UACA,MACA,aACA,cACA,aACA,QACA,MACA,aACA,WACA,QACA,WACA,OACA,UACA,KACA,OACA,YACA,YACA,OACA,YACA,aACA,MACA,YACA,MACA,KACA,eACA,OACA,QACA,OACA,QACA,QACA,YACA,OACA,KACA,QACA,MACA,UACA,WACA,WACA,QACA,KACA,MACA,UACA,KACA,UACA,OACA,KACA,QACA,SACA,QACA,UACA,MACA,KACA,WACA,aACA,MACA,SACA,UACA,MACA,SACA,QACA,MACA,WACA,QACA,SACA,QACA,UACA,MACA,QACA,WACA,MACA,MACA,QACA,KACA,OACA,SACA,UACA,SACA,WACA,QACA,WACA,YACA,MACA,QACA,QACA,cACA,aACA,QACA,YACA,KACA,MACA,cACA,MACA,QACA,MACA,UACA,MACA,SACA,MACA,WACA,QACA,WACA,KACA,OACA,MACA,KACA,YACA,WACA,UACA,MACA,QACA,iBACA,QACA,UACA,KACA,KACA,aACA,cACA,OACA,KACA,YACA,MACA,aACA,SACA,QACA,QACA,MACA,UACA,IACA,WACA,WACA,KACA,MACA,aACA,eACA,UACA,YACA,aACA,kECzPFA,EAAO,QAAa,CAClB,QACA,SACA,OACA,UACA,cACA,SACA,WACA,SACA,WACA,QACA,WACA,SACA,SACA,UACA,WACA,UACA,YACA,YACA,OACA,YACA,UACA,SACA,QACA,UACA,OACA,QACA,UACA,OACA,SACA,WACA,OACA,UACA,WACA,SACA,UACA,WACA,UACA,QACA,SACA,WACA,gBACA,YACA,SACA,gBACA,YACA,UACA,UACA,UACA,QACA,SACA,UACA,YACA,WACA,QACA,WACA,aACA,UACA,QACA,UACA,WACA,SACA,aACA,QACA,QACA,aACA,SACA,SACA,WACA,SACA,MACA,SACA,WACA,SACA,QACA,WACA,OACA,SACA,YACA,UACA,UACA,MACA,MACA,QACA,UACA,OACA,UACA,SACA,QACA,UACA,MACA,QACA,QACA,SACA,YACA,UACA,SACA,WACA,WACA,UACA,QACA,SACA,MACA,OACA,SACA,WACA,YACA,SACA,UACA,UACA,UACA,WACA,cACA,QACA,SACA,QACA,QACA,OACA,QACA,WACA,WACA,SACA,SACA,YACA,YACA,UACA,SACA,YACA,UACA,OACA,QACA,OACA,OACA,MACA,SACA,UACA,QACA,WACA,OACA,QACA,UACA,QACA,WACA,aACA,QACA,OACA,WACA,OACA,MACA,MACA,YACA,cACA,OACA,MACA,UACA,QACA,QACA,UACA,UACA,aACA,SACA,SACA,OACA,QACA,YACA,QACA,SACA,UACA,aACA,SACA,SACA,UACA,QACA,WACA,QACA,QACA,UACA,SACA,SACA,QACA,QACA,MACA,QACA,QACA,WACA,WACA,SACA,QACA,SACA,QACA,UACA,SACA,QACA,SACA,SACA,SACA,WACA,SACA,OACA,aACA,eACA,UACA,SACA,OACA,MACA,WACA,QACA,MACA,SACA,OACA,SACA,YACA,SACA,YACA,SACA,QACA,WACA,UACA,UACA,WACA,QACA,YACA,QACA,WACA,QACA,YACA,QACA,QACA,QACA,SACA,QACA,SACA,WACA,UACA,SACA,QACA,QACA,QACA,QACA,QACA,SACA,UACA,SACA,QACA,QACA,QACA,QACA,QACA,OACA,WACA,QACA,OACA,OACA,YACA,OACA,UACA,SACA,QACA,UACA,QACA,QACA,SACA,SACA,SACA,WACA,eACA,OACA,QACA,SACA,WACA,cACA,YACA,QACA,cACA,OACA,QACA,UACA,OACA,QACA,QACA,SACA,UACA,YACA,YACA,WACA,aACA,aACA,QACA,UACA,SACA,WACA,WACA,OACA,UACA,UACA,SACA,UACA,UACA,SACA,OACA,QACA,OACA,UACA,UACA,SACA,QACA,UACA,QACA,YACA,YACA,WACA,UACA,WACA,UACA,WACA,aACA,UACA,cACA,UACA,UACA,UACA,UACA,WACA,UACA,UACA,UACA,UACA,WACA,UACA,cACA,UACA,WACA,UACA,aACA,QACA,YACA,YACA,WACA,YACA,YACA,WACA,YACA,aACA,UACA,UACA,SACA,WACA,YACA,UACA,QACA,UACA,QACA,SACA,SACA,aACA,UACA,YACA,WACA,WACA,UACA,UACA,OACA,YACA,UACA,SACA,SACA,QACA,OACA,UACA,cACA,SACA,QACA,SACA,SACA,eACA,WACA,WACA,OACA,YACA,OACA,cACA,UACA,OACA,MACA,QACA,QACA,QACA,YACA,UACA,MACA,WACA,QACA,YACA,YACA,QACA,WACA,YACA,MACA,OACA,UACA,QACA,aACA,QACA,OACA,aACA,SACA,SACA,QACA,SACA,QACA,SACA,QACA,SACA,WACA,WACA,QACA,UACA,QACA,WACA,SACA,UACA,QACA,UACA,UACA,QACA,WACA,UACA,UACA,SACA,SACA,UACA,UACA,SACA,WACA,aACA,UACA,SACA,SACA,SACA,UACA,WACA,SACA,UACA,SACA,aACA,SACA,QACA,WACA,WACA,WACA,SACA,SACA,UACA,UACA,OACA,YACA,UACA,WACA,QACA,SACA,UACA,OACA,WACA,QACA,UACA,UACA,SACA,WACA,UACA,YACA,aACA,UACA,UACA,UACA,SACA,aACA,UACA,UACA,WACA,SACA,UACA,SACA,aACA,WACA,cACA,QACA,cACA,QACA,SACA,SACA,aACA,UACA,QACA,WACA,SACA,MACA,WACA,QACA,QACA,SACA,UACA,QACA,QACA,MACA,OACA,SACA,YACA,MACA,QACA,QACA,WACA,SACA,UACA,YACA,QACA,QACA,UACA,QACA,eACA,SACA,UACA,OACA,aACA,QACA,SACA,WACA,SACA,YACA,cACA,WACA,SACA,QACA,OACA,WACA,WACA,YACA,SACA,WACA,SACA,SACA,SACA,eACA,SACA,QACA,MACA,WACA,SACA,SACA,UACA,SACA,WACA,MACA,SACA,WACA,UACA,WACA,UACA,aACA,WACA,UACA,WACA,WACA,UACA,aACA,UACA,MACA,QACA,MACA,QACA,WACA,YACA,OACA,UACA,WACA,QACA,YACA,YACA,UACA,QACA,WACA,QACA,SACA,WACA,WACA,WACA,OACA,WACA,UACA,WACA,UACA,QACA,SACA,QACA,SACA,UACA,QACA,QACA,QACA,MACA,SACA,QACA,UACA,WACA,UACA,SACA,YACA,SACA,SACA,OACA,YACA,cACA,UACA,YACA,SACA,QACA,QACA,QACA,QACA,SACA,QACA,UACA,UACA,MACA,UACA,QACA,QACA,SACA,gBACA,QACA,SACA,SACA,aACA,OACA,QACA,SACA,UACA,SACA,SACA,UACA,cACA,OACA,WACA,SACA,SACA,cACA,WACA,QACA,QACA,YACA,UACA,YACA,SACA,SACA,UACA,SACA,OACA,UACA,QACA,UACA,SACA,QACA,SACA,SACA,UACA,UACA,MACA,UACA,SACA,QACA,SACA,QACA,QACA,QACA,WACA,QACA,UACA,OACA,SACA,aACA,WACA,WACA,WACA,UACA,YACA,UACA,cACA,WACA,MACA,MACA,WACA,OACA,QACA,QACA,QACA,SACA,UACA,QACA,WACA,WACA,MACA,WACA,QACA,WACA,QACA,QACA,QACA,SACA,SACA,MACA,OACA,UACA,WACA,OACA,UACA,OACA,QACA,SACA,QACA,SACA,SACA,OACA,OACA,UACA,SACA,SACA,OACA,SACA,WACA,UACA,QACA,OACA,OACA,SACA,OACA,MACA,QACA,SACA,QACA,WACA,UACA,SACA,UACA,WACA,SACA,WACA,MACA,YACA,QACA,QACA,QACA,QACA,UACA,WACA,SACA,WACA,MACA,UACA,SACA,OACA,aACA,SACA,QACA,UACA,OACA,SACA,QACA,aACA,QACA,QACA,SACA,SACA,WACA,SACA,YACA,UACA,QACA,MACA,UACA,cACA,WACA,SACA,YACA,QACA,UACA,QACA,SACA,QACA,UACA,QACA,UACA,QACA,QACA,WACA,UACA,UACA,QACA,MACA,QACA,QACA,UACA,YACA,SACA,MACA,SACA,OACA,WACA,SACA,OACA,OACA,MACA,QACA,YACA,OACA,YACA,OACA,YACA,cACA,QACA,aACA,QACA,QACA,SACA,SACA,SACA,QACA,OACA,MACA,QACA,QACA,MACA,YACA,WACA,aACA,QACA,SACA,UACA,SACA,SACA,aACA,YACA,iDCx0BF,IAAIgmO,EAAQ,GACZhmO,EAAO,QAAagmO,EACpBA,EAAM,MAAQv+R,IACdu+R,EAAM,aAAe/9R,0ECHrB+3D,EAAO,QAAa,CACnB,QACA,OACA,SACA,UACA,UACA,QACA,UACA,UACA,SACA,SACA,cACA,SACA,OACA,OACA,SACA,SACA,UACA,SACA,SACA,QACA,SACA,UACA,QACA,QACA,UACA,OACA,UACA,OACA,QACA,UACA,QACA,QACA,OACA,UACA,SACA,UACA,UACA,SACA,QACA,SACA,SACA,UACA,QACA,SACA,UACA,QACA,OACA,SACA,OACA,QACA,MACA,OACA,OACA,SACA,WACA,SACA,QACA,SACA,QACA,SACA,SACA,QACA,WACA,WACA,MACA,WACA,QACA,UACA,OACA,QACA,OACA,QACA,QACA,QACA,QACA,SACA,QACA,QACA,SACA,SACA,SACA,UACA,QACA,SACA,SACA,SACA,UACA,OACA,QACA,QACA,OACA,QACA,WACA,OACA,SACA,QACA,SACA,OACA,QACA,UACA,QACA,QACA,OACA,OACA,OACA,UACA,UACA,SACA,OACA,SACA,SACA,SACA,SACA,QACA,SACA,UACA,QACA,UACA,SACA,OACA,OACA,QACA,MACA,SACA,SACA,OACA,UACA,UACA,QACA,UACA,YACA,MACA,OACA,QACA,MACA,QACA,QACA,OACA,UACA,QACA,YACA,UACA,QACA,QACA,YACA,SACA,UACA,WACA,WACA,SACA,QACA,MACA,MACA,MACA,SACA,OACA,MACA,SACA,OACA,QACA,QACA,OACA,QACA,SACA,UACA,SACA,QACA,MACA,QACA,MACA,SACA,SACA,OACA,OACA,QACA,SACA,QACA,UACA,MACA,QACA,UACA,QACA,SACA,UACA,SACA,UACA,QACA,OACA,SACA,QACA,UACA,MACA,OACA,SACA,QACA,QACA,UACA,QACA,UACA,OACA,OACA,WACA,QACA,QACA,QACA,YACA,SACA,SACA,QACA,SACA,OACA,MACA,UACA,QACA,QACA,WACA,QACA,QACA,OACA,UACA,MACA,WACA,SACA,SACA,SACA,QACA,SACA,OACA,OACA,SACA,OACA,SACA,QACA,OACA,SACA,YACA,SACA,WACA,UACA,MACA,SACA,SACA,SACA,SACA,QACA,OACA,QACA,QACA,OACA,QACA,SACA,MACA,UACA,OACA,MACA,SACA,SACA,UACA,QACA,SACA,UACA,SACA,MACA,UACA,MACA,MACA,QACA,QACA,UACA,UACA,OACA,OACA,UACA,SACA,QACA,SACA,QACA,SACA,UACA,UACA,QACA,OACA,SACA,OACA,WACA,WACA,QACA,OACA,SACA,SACA,QACA,OACA,OACA,WACA,OACA,UACA,WACA,UACA,UACA,OACA,SACA,SACA,WACA,SACA,YACA,SACA,OACA,OACA,SACA,UACA,WACA,OACA,SACA,OACA,SACA,OACA,UACA,SACA,SACA,OACA,QACA,SACA,OACA,QACA,SACA,SACA,QACA,OACA,OACA,OACA,UACA,UACA,MACA,UACA,UACA,UACA,OACA,QACA,UACA,OACA,SACA,QACA,QACA,SACA,WACA,QACA,UACA,SACA,SACA,OACA,MACA,SACA,QACA,YACA,UACA,UACA,QACA,SACA,OACA,UACA,QACA,SACA,QACA,KACA,OACA,WACA,QACA,WACA,WACA,SACA,SACA,UACA,KACA,UACA,QACA,QACA,UACA,QACA,YACA,UACA,QACA,QACA,OACA,UACA,UACA,QACA,SACA,UACA,YACA,SACA,SACA,QACA,UACA,SACA,QACA,YACA,MACA,YACA,SACA,WACA,UACA,UACA,SACA,QACA,YACA,QACA,SACA,UACA,SACA,OACA,QACA,UACA,QACA,aACA,OACA,OACA,SACA,UACA,OACA,SACA,QACA,SACA,QACA,SACA,WACA,QACA,UACA,WACA,SACA,UACA,OACA,OACA,QACA,QACA,KACA,UACA,OACA,OACA,UACA,QACA,QACA,UACA,QACA,UACA,UACA,QACA,SACA,UACA,UACA,WACA,SACA,QACA,OACA,SACA,SACA,SACA,MACA,OACA,QACA,OACA,YACA,QACA,UACA,OACA,QACA,SACA,WACA,QACA,QACA,OACA,UACA,QACA,QACA,OACA,QACA,UACA,SACA,SACA,QACA,SACA,UACA,UACA,OACA,MACA,OACA,WACA,OACA,WACA,MACA,SACA,SACA,OACA,UACA,SACA,SACA,SACA,SACA,UACA,SACA,gECpfDA,EAAO,QAAa,CACnB,OACA,WACA,QACA,UACA,YACA,WACA,QACA,QACA,WACA,UACA,OACA,QACA,QACA,QACA,QACA,SACA,QACA,QACA,OACA,SACA,WACA,QACA,QACA,WACA,UACA,UACA,UACA,UACA,SACA,UACA,SACA,MACA,OACA,UACA,WACA,WACA,SACA,SACA,QACA,SACA,YACA,UACA,YACA,QACA,QACA,YACA,UACA,MACA,QACA,QACA,QACA,QACA,UACA,SACA,QACA,SACA,SACA,OACA,SACA,UACA,YACA,OACA,SACA,SACA,OACA,SACA,QACA,SACA,OACA,YACA,QACA,UACA,UACA,SACA,QACA,QACA,OACA,OACA,SACA,UACA,SACA,UACA,SACA,OACA,OACA,aACA,QACA,SACA,QACA,OACA,OACA,OACA,UACA,QACA,QACA,QACA,QACA,UACA,QACA,QACA,QACA,UACA,SACA,OACA,OACA,SACA,WACA,QACA,OACA,UACA,SACA,OACA,QACA,QACA,QACA,WACA,QACA,MACA,SACA,SACA,YACA,SACA,UACA,SACA,QACA,QACA,SACA,WACA,SACA,YACA,SACA,SACA,UACA,OACA,UACA,QACA,SACA,QACA,QACA,MACA,SACA,QACA,SACA,QACA,UACA,QACA,SACA,UACA,UACA,WACA,QACA,SACA,UACA,UACA,OACA,SACA,UACA,WACA,OACA,OACA,YACA,SACA,QACA,QACA,WACA,OACA,QACA,SACA,QACA,WACA,UACA,UACA,SACA,SACA,UACA,OACA,WACA,SACA,OACA,QACA,MACA,QACA,MACA,SACA,UACA,QACA,WACA,UACA,UACA,UACA,WACA,SACA,QACA,UACA,UACA,OACA,MACA,QACA,OACA,SACA,QACA,QACA,OACA,WACA,SACA,QACA,WACA,OACA,QACA,OACA,SACA,QACA,OACA,UACA,SACA,UACA,QACA,OACA,SACA,WACA,SACA,UACA,UACA,QACA,SACA,UACA,UACA,UACA,SACA,MACA,UACA,YACA,SACA,UACA,SACA,SACA,QACA,SACA,SACA,UACA,QACA,SACA,QACA,QACA,WACA,SACA,SACA,WACA,OACA,KACA,SACA,SACA,QACA,SACA,OACA,QACA,SACA,SACA,OACA,UACA,SACA,QACA,QACA,YACA,SACA,OACA,SACA,OACA,YACA,OACA,QACA,MACA,YACA,QACA,SACA,SACA,OACA,SACA,SACA,SACA,QACA,QACA,UACA,QACA,SACA,QACA,QACA,SACA,SACA,WACA,OACA,QACA,MACA,SACA,QACA,SACA,SACA,QACA,UACA,SACA,UACA,UACA,SACA,YACA,UACA,YACA,SACA,OACA,OACA,MACA,UACA,UACA,SACA,aACA,SACA,UACA,QACA,UACA,SACA,SACA,UACA,QACA,QACA,SACA,OACA,SACA,QACA,OACA,QACA,WACA,SACA,UACA,YACA,UACA,OACA,QACA,SACA,QACA,QACA,MACA,MACA,WACA,UACA,SACA,UACA,OACA,SACA,SACA,SACA,MACA,QACA,SACA,QACA,UACA,SACA,QACA,OACA,OACA,QACA,SACA,aACA,UACA,QACA,YACA,MACA,QACA,SACA,UACA,UACA,QACA,QACA,SACA,QACA,SACA,QACA,QACA,QACA,QACA,QACA,WACA,OACA,YACA,OACA,SACA,OACA,UACA,MACA,SACA,UACA,WACA,UACA,QACA,UACA,WACA,UACA,YACA,SACA,UACA,QACA,aACA,QACA,OACA,SACA,UACA,UACA,UACA,UACA,QACA,YACA,SACA,WACA,QACA,UACA,WACA,SACA,OACA,UACA,SACA,WACA,OACA,OACA,SACA,YACA,QACA,UACA,UACA,OACA,SACA,QACA,QACA,WACA,QACA,WACA,WACA,UACA,OACA,WACA,OACA,QACA,SACA,SACA,SACA,WACA,WACA,UACA,SACA,YACA,SACA,OACA,SACA,OACA,QACA,QACA,SACA,UACA,QACA,SACA,QACA,SACA,SACA,QACA,QACA,SACA,OACA,QACA,SACA,SACA,QACA,OACA,OACA,QACA,MACA,QACA,QACA,QACA,SACA,OACA,WACA,UACA,UACA,QACA,QACA,QACA,QACA,OACA,UACA,QACA,UACA,OACA,SACA,QACA,QACA,QACA,MACA,SACA,UACA,QACA,QACA,WACA,iECpfDA,EAAO,QAAa,CAClB,UACA,QACA,UACA,QACA,QACA,WACA,OACA,SACA,QACA,WACA,MACA,OACA,WACA,UACA,UACA,WACA,QACA,UACA,MACA,OACA,YACA,UACA,OACA,OACA,QACA,UACA,QACA,WACA,QACA,SACA,UACA,QACA,SACA,SACA,SACA,QACA,SACA,SACA,WACA,SACA,SACA,SACA,UACA,WACA,SACA,SACA,WACA,QACA,QACA,QACA,UACA,WACA,QACA,QACA,OACA,QACA,QACA,SACA,QACA,QACA,SACA,QACA,KACA,SACA,OACA,QACA,SACA,SACA,SACA,OACA,SACA,UACA,WACA,UACA,QACA,SACA,OACA,QACA,OACA,QACA,YACA,aACA,OACA,QACA,QACA,aACA,aACA,UACA,SACA,OACA,QACA,YACA,YACA,YACA,aACA,aACA,cACA,YACA,UACA,WACA,SACA,SACA,SACA,aACA,MACA,UACA,UACA,SACA,SACA,UACA,UACA,MACA,OACA,QACA,SACA,QACA,SACA,SACA,SACA,QACA,SACA,QACA,QACA,QACA,QACA,SACA,QACA,UACA,OACA,WACA,OACA,SACA,OACA,QACA,SACA,SACA,UACA,SACA,QACA,QACA,SACA,QACA,SACA,SACA,UACA,SACA,SACA,QACA,QACA,QACA,QACA,QACA,UACA,SACA,SACA,QACA,UACA,UACA,OACA,QACA,OACA,QACA,QACA,OACA,SACA,MACA,OACA,MACA,SACA,WACA,QACA,QACA,YACA,YACA,WACA,QACA,WACA,YACA,SACA,SACA,OACA,QACA,SACA,WACA,WACA,WACA,WACA,SACA,QACA,QACA,SACA,QACA,SACA,QACA,QACA,SACA,SACA,OACA,UACA,WACA,YACA,WACA,UACA,YACA,OACA,UACA,UACA,QACA,QACA,SACA,UACA,aACA,SACA,YACA,YACA,UACA,aACA,WACA,UACA,SACA,SACA,OACA,QACA,MACA,UACA,UACA,OACA,YACA,UACA,QACA,SACA,QACA,MACA,SACA,UACA,OACA,QACA,UACA,QACA,SACA,QACA,OACA,SACA,UACA,SACA,UACA,OACA,OACA,SACA,UACA,UACA,OACA,MACA,SACA,SACA,QACA,QACA,UACA,UACA,MACA,OACA,SACA,WACA,SACA,QACA,UACA,SACA,SACA,OACA,UACA,SACA,SACA,SACA,SACA,QACA,QACA,YACA,SACA,SACA,UACA,YACA,WACA,UACA,UACA,UACA,SACA,SACA,SACA,SACA,SACA,MACA,QACA,OACA,OACA,QACA,QACA,OACA,QACA,OACA,SACA,SACA,UACA,SACA,QACA,UACA,QACA,OACA,aACA,SACA,SACA,WACA,OACA,UACA,OACA,QACA,QACA,MACA,WACA,WACA,UACA,SACA,QACA,SACA,WACA,aACA,YACA,UACA,WACA,WACA,WACA,UACA,SACA,WACA,UACA,QACA,OACA,QACA,SACA,UACA,WACA,QACA,SACA,OACA,UACA,SACA,QACA,QACA,SACA,QACA,SACA,SACA,UACA,SACA,OACA,SACA,QACA,SACA,QACA,SACA,QACA,SACA,UACA,QACA,KACA,SACA,QACA,SACA,SACA,QACA,OACA,OACA,SACA,WACA,UACA,SACA,QACA,UACA,QACA,SACA,SACA,UACA,SACA,SACA,UACA,UACA,UACA,QACA,UACA,UACA,SACA,SACA,UACA,UACA,SACA,UACA,UACA,UACA,SACA,UACA,UACA,QACA,OACA,QACA,OACA,QACA,SACA,UACA,QACA,UACA,YACA,SACA,UACA,WACA,UACA,QACA,UACA,WACA,QACA,YACA,QACA,QACA,SACA,WACA,SACA,QACA,QACA,SACA,QACA,SACA,QACA,OACA,MACA,QACA,SACA,QACA,WACA,SACA,UACA,SACA,OACA,QACA,SACA,UACA,OACA,QACA,UACA,OACA,UACA,SACA,SACA,UACA,SACA,UACA,UACA,SACA,SACA,SACA,UACA,UACA,aACA,UACA,UACA,UACA,OACA,QACA,UACA,SACA,WACA,SACA,QACA,SACA,QACA,SACA,WACA,SACA,UACA,WACA,UACA,SACA,UACA,QACA,YACA,SACA,WACA,WACA,UACA,WACA,SACA,UACA,SACA,SACA,OACA,WACA,QACA,UACA,UACA,SACA,YACA,YACA,UACA,SACA,WACA,WACA,YACA,YACA,WACA,UACA,QACA,QACA,SACA,UACA,QACA,SACA,UACA,UACA,YACA,YACA,QACA,SACA,QACA,OACA,QACA,WACA,QACA,SACA,WACA,SACA,WACA,UACA,WACA,UACA,UACA,UACA,YACA,QACA,UACA,WACA,QACA,OACA,UACA,UACA,UACA,UACA,UACA,OACA,WACA,WACA,QACA,QACA,SACA,UACA,aACA,YACA,aACA,YACA,YACA,WACA,aACA,cACA,UACA,QACA,QACA,SACA,QACA,SACA,QACA,WACA,QACA,SACA,QACA,aACA,QACA,WACA,QACA,QACA,SACA,UACA,UACA,WACA,OACA,UACA,UACA,aACA,aACA,UACA,OACA,SACA,QACA,SACA,QACA,YACA,WACA,UACA,QACA,UACA,WACA,SACA,QACA,QACA,OACA,OACA,QACA,OACA,UACA,QACA,UACA,SACA,OACA,SACA,SACA,WACA,aACA,SACA,SACA,SACA,QACA,SACA,YACA,aACA,WACA,SACA,OACA,UACA,SACA,WACA,UACA,SACA,SACA,SACA,SACA,YACA,UACA,UACA,SACA,UACA,OACA,OACA,WACA,MACA,QACA,WACA,SACA,UACA,WACA,WACA,YACA,aACA,OACA,UACA,UACA,SACA,OACA,SACA,SACA,UACA,QACA,QACA,SACA,SACA,QACA,SACA,QACA,SACA,OACA,SACA,SACA,SACA,UACA,SACA,SACA,SACA,SACA,QACA,MACA,OACA,SACA,OACA,WACA,UACA,SACA,UACA,WACA,WACA,SACA,SACA,QACA,QACA,SACA,SACA,UACA,UACA,QACA,QACA,SACA,UACA,SACA,QACA,SACA,SACA,UACA,QACA,SACA,UACA,SACA,UACA,SACA,UACA,SACA,SACA,SACA,QACA,UACA,QACA,OACA,QACA,QACA,SACA,QACA,UACA,OACA,SACA,MACA,SACA,QACA,QACA,SACA,OACA,WACA,SACA,UACA,SACA,SACA,UACA,MACA,QACA,OACA,QACA,QACA,SACA,UACA,UACA,UACA,QACA,UACA,OACA,QACA,SACA,UACA,SACA,UACA,WACA,QACA,UACA,WACA,UACA,WACA,YACA,SACA,OACA,QACA,SACA,OACA,UACA,UACA,SACA,SACA,QACA,SACA,QACA,UACA,UACA,UACA,UACA,UACA,SACA,UACA,SACA,WACA,WACA,UACA,UACA,QACA,UACA,QACA,QACA,QACA,UACA,QACA,UACA,SACA,SACA,UACA,QACA,SACA,QACA,SACA,SACA,UACA,OACA,OACA,OACA,QACA,OACA,QACA,UACA,UACA,WACA,WACA,WACA,UACA,UACA,YACA,MACA,SACA,SACA,UACA,QACA,UACA,SACA,QACA,OACA,SACA,SACA,QACA,WACA,UACA,SACA,SACA,SACA,OACA,UACA,QACA,QACA,QACA,OACA,QACA,SACA,QACA,SACA,UACA,SACA,QACA,SACA,QACA,OACA,UACA,UACA,UACA,aACA,SACA,SACA,OACA,QACA,KACA,MACA,MACA,QACA,OACA,QACA,UACA,SACA,SACA,SACA,OACA,UACA,SACA,UACA,QACA,SACA,QACA,SACA,QACA,SACA,QACA,SACA,QACA,OACA,SACA,SACA,SACA,OACA,QACA,SACA,SACA,WACA,WACA,WACA,UACA,SACA,QACA,SACA,UACA,WACA,WACA,MACA,QACA,SACA,QACA,UACA,SACA,SACA,UACA,QACA,YACA,QACA,SACA,SACA,SACA,QACA,YACA,OACA,QACA,QACA,SACA,UACA,QACA,YACA,QACA,SACA,OACA,SACA,OACA,SACA,QACA,SACA,SACA,UACA,OACA,QACA,OACA,OACA,QACA,OACA,QACA,OACA,SACA,QACA,QACA,QACA,QACA,QACA,SACA,OACA,UACA,SACA,SACA,QACA,UACA,UACA,QACA,OACA,OACA,QACA,SACA,WACA,SACA,SACA,QACA,OACA,UACA,WACA,aACA,QACA,SACA,QACA,SACA,OACA,QACA,MACA,OACA,QACA,QACA,OACA,SACA,UACA,UACA,MACA,WACA,OACA,QACA,QACA,QACA,SACA,OACA,QACA,OACA,SACA,OACA,SACA,YACA,YACA,UACA,QACA,QACA,QACA,OACA,YACA,YACA,OACA,UACA,YACA,QACA,SACA,UACA,UACA,UACA,SACA,WACA,OACA,QACA,QACA,UACA,QACA,QACA,SACA,SACA,UACA,OACA,QACA,UACA,OACA,SACA,UACA,MACA,SACA,OACA,aACA,QACA,MACA,UACA,SACA,WACA,UACA,WACA,QACA,OACA,QACA,QACA,UACA,WACA,OACA,SACA,UACA,MACA,SACA,QACA,SACA,WACA,SACA,SACA,MACA,OACA,WACA,UACA,WACA,WACA,SACA,SACA,QACA,SACA,SACA,OACA,WACA,QACA,QACA,YACA,WACA,OACA,QACA,SACA,SACA,QACA,WACA,MACA,WACA,YACA,UACA,UACA,UACA,UACA,OACA,QACA,OACA,SACA,UACA,SACA,UACA,YACA,YACA,UACA,YACA,YACA,SACA,QACA,UACA,QACA,OACA,QACA,UACA,SACA,WACA,YACA,WACA,aACA,WACA,QACA,SACA,UACA,SACA,QACA,SACA,YACA,QACA,SACA,OACA,UACA,YACA,YACA,UACA,OACA,OACA,UACA,SACA,WACA,UACA,SACA,UACA,SACA,UACA,UACA,WACA,QACA,QACA,SACA,QACA,MACA,QACA,UACA,OACA,UACA,UACA,YACA,UACA,WACA,MACA,WACA,SACA,YACA,YACA,aACA,WACA,WACA,UACA,SACA,YACA,SACA,UACA,QACA,UACA,WACA,SACA,QACA,SACA,WACA,MACA,SACA,SACA,UACA,WACA,QACA,QACA,UACA,OACA,OACA,UACA,WACA,WACA,WACA,WACA,WACA,UACA,SACA,OACA,SACA,SACA,UACA,SACA,UACA,QACA,SACA,UACA,SACA,QACA,SACA,WACA,QACA,SACA,QACA,YACA,SACA,UACA,QACA,OACA,QACA,WACA,WACA,UACA,QACA,WACA,UACA,UACA,SACA,YACA,SACA,QACA,YACA,WACA,SACA,SACA,MACA,SACA,OACA,UACA,MACA,OACA,YACA,SACA,SACA,SACA,SACA,MACA,UACA,QACA,QACA,QACA,SACA,OACA,QACA,SACA,OACA,QACA,SACA,SACA,UACA,SACA,WACA,QACA,SACA,UACA,SACA,SACA,SACA,QACA,SACA,SACA,SACA,SACA,QACA,QACA,QACA,UACA,SACA,QACA,SACA,QACA,QACA,SACA,SACA,QACA,SACA,SACA,UACA,YACA,QACA,YACA,QACA,UACA,SACA,UACA,UACA,WACA,WACA,UACA,QACA,SACA,SACA,SACA,UACA,UACA,QACA,YACA,UACA,UACA,QACA,SACA,WACA,QACA,SACA,SACA,SACA,SACA,QACA,OACA,SACA,UACA,WACA,QACA,UACA,SACA,SACA,OACA,SACA,SACA,OACA,QACA,WACA,SACA,QACA,MACA,UACA,OACA,MACA,QACA,SACA,UACA,WACA,MACA,MACA,QACA,SACA,MACA,QACA,SACA,WACA,UACA,OACA,OACA,SACA,QACA,QACA,SACA,UACA,WACA,WACA,OACA,UACA,OACA,SACA,SACA,SACA,SACA,SACA,OACA,SACA,QACA,QACA,MACA,OACA,QACA,MACA,WACA,SACA,SACA,OACA,QACA,WACA,UACA,OACA,YACA,SACA,UACA,UACA,QACA,SACA,YACA,UACA,WACA,OACA,OACA,QACA,QACA,QACA,SACA,QACA,SACA,SACA,QACA,QACA,UACA,OACA,QACA,SACA,QACA,QACA,QACA,SACA,QACA,QACA,WACA,QACA,UACA,QACA,QACA,QACA,QACA,UACA,SACA,MACA,OACA,QACA,OACA,UACA,UACA,QACA,SACA,SACA,QACA,QACA,SACA,SACA,OACA,SACA,WACA,YACA,QACA,QACA,QACA,QACA,SACA,UACA,SACA,UACA,SACA,SACA,QACA,SACA,QACA,SACA,UACA,SACA,QACA,UACA,MACA,QACA,SACA,QACA,QACA,SACA,SACA,SACA,SACA,SACA,SACA,QACA,QACA,SACA,SACA,SACA,SACA,UACA,OACA,WACA,SACA,SACA,MACA,WACA,WACA,OACA,WACA,UACA,UACA,SACA,OACA,UACA,SACA,WACA,WACA,WACA,SACA,QACA,SACA,UACA,SACA,QACA,UACA,SACA,UACA,WACA,SACA,QACA,SACA,SACA,UACA,SACA,UACA,QACA,OACA,QACA,UACA,SACA,UACA,QACA,UACA,QACA,OACA,SACA,QACA,QACA,SACA,UACA,SACA,QACA,KACA,OACA,QACA,SACA,SACA,UACA,SACA,QACA,UACA,UACA,QACA,OACA,MACA,OACA,SACA,SACA,OACA,QACA,SACA,UACA,WACA,OACA,YACA,YACA,UACA,SACA,WACA,UACA,QACA,MACA,QACA,UACA,WACA,WACA,SACA,UACA,QACA,SACA,QACA,SACA,QACA,OACA,SACA,WACA,SACA,YACA,OACA,SACA,UACA,SACA,UACA,WACA,QACA,QACA,QACA,SACA,UACA,SACA,MACA,QACA,QACA,UACA,QACA,OACA,OACA,QACA,SACA,OACA,QACA,QACA,SACA,UACA,WACA,QACA,SACA,SACA,QACA,SACA,OACA,SACA,SACA,SACA,UACA,UACA,UACA,SACA,SACA,SACA,UACA,QACA,QACA,OACA,QACA,OACA,QACA,QACA,QACA,SACA,OACA,SACA,SACA,SACA,UACA,UACA,OACA,QACA,UACA,QACA,OACA,SACA,UACA,UACA,SACA,SACA,SACA,OACA,OACA,SACA,UACA,QACA,OACA,UACA,WACA,SACA,SACA,OACA,SACA,SACA,QACA,SACA,WACA,SACA,WACA,QACA,YACA,WACA,UACA,UACA,WACA,YACA,YACA,WACA,WACA,UACA,UACA,WACA,SACA,UACA,UACA,UACA,SACA,QACA,MACA,OACA,SACA,SACA,QACA,SACA,SACA,WACA,SACA,QACA,SACA,SACA,SACA,QACA,QACA,SACA,SACA,SACA,QACA,SACA,QACA,QACA,SACA,SACA,QACA,SACA,QACA,QACA,SACA,SACA,SACA,MACA,UACA,SACA,WACA,QACA,UACA,UACA,UACA,UACA,QACA,SACA,QACA,WACA,SACA,OACA,UACA,UACA,QACA,QACA,QACA,QACA,WACA,SACA,SACA,OACA,QACA,SACA,QACA,SACA,OACA,QACA,SACA,QACA,MACA,WACA,OACA,MACA,OACA,OACA,UACA,UACA,QACA,OACA,OACA,OACA,QACA,OACA,SACA,QACA,OACA,QACA,OACA,SACA,WACA,UACA,WACA,YACA,aACA,aACA,SACA,UACA,UACA,WACA,OACA,SACA,OACA,OACA,QACA,UACA,QACA,QACA,OACA,QACA,OACA,WACA,YACA,QACA,SACA,QACA,UACA,SACA,QACA,SACA,OACA,QACA,UACA,QACA,QACA,QACA,QACA,SACA,SACA,WACA,WACA,WACA,YACA,SACA,UACA,QACA,SACA,SACA,SACA,UACA,UACA,SACA,UACA,QACA,UACA,WACA,SACA,QACA,QACA,SACA,MACA,QACA,SACA,SACA,SACA,OACA,MACA,OACA,QACA,UACA,OACA,QACA,SACA,QACA,QACA,SACA,QACA,SACA,QACA,SACA,SACA,MACA,QACA,OACA,UACA,WACA,QACA,SACA,SACA,SACA,UACA,UACA,WACA,QACA,OACA,SACA,SACA,QACA,SACA,SACA,OACA,QACA,UACA,OACA,MACA,QACA,OACA,QACA,QACA,MACA,OACA,QACA,SACA,QACA,OACA,SACA,UACA,UACA,QACA,UACA,WACA,SACA,QACA,OACA,SACA,OACA,UACA,QACA,UACA,UACA,SACA,SACA,UACA,SACA,OACA,WACA,UACA,QACA,OACA,SACA,SACA,YACA,QACA,QACA,OACA,OACA,SACA,OACA,MACA,SACA,QACA,SACA,QACA,QACA,OACA,UACA,QACA,SACA,SACA,UACA,UACA,OACA,SACA,QACA,SACA,MACA,QACA,SACA,UACA,WACA,SACA,MACA,QACA,QACA,QACA,UACA,QACA,WACA,SACA,UACA,QACA,UACA,SACA,OACA,QACA,SACA,MACA,SACA,QACA,OACA,QACA,QACA,OACA,OACA,OACA,OACA,OACA,UACA,SACA,MACA,OACA,QACA,OACA,OACA,QACA,UACA,QACA,UACA,QACA,MACA,QACA,OACA,QACA,OACA,YACA,OACA,WACA,UACA,WACA,WACA,UACA,WACA,QACA,QACA,UACA,UACA,UACA,UACA,UACA,UACA,MACA,SACA,QACA,UACA,SACA,WACA,YACA,SACA,WACA,SACA,OACA,QACA,QACA,QACA,UACA,UACA,WACA,UACA,UACA,SACA,UACA,SACA,UACA,UACA,QACA,SACA,SACA,UACA,OACA,OACA,SACA,YACA,YACA,WACA,WACA,YACA,UACA,SACA,QACA,SACA,SACA,WACA,YACA,YACA,aACA,aACA,YACA,QACA,SACA,SACA,UACA,aACA,QACA,SACA,SACA,SACA,UACA,UACA,WACA,WACA,UACA,UACA,QACA,UACA,WACA,WACA,UACA,UACA,WACA,SACA,QACA,SACA,SACA,UACA,UACA,aACA,WACA,UACA,OACA,SACA,SACA,SACA,UACA,SACA,SACA,SACA,UACA,UACA,WACA,WACA,QACA,SACA,UACA,UACA,QACA,SACA,OACA,SACA,WACA,SACA,QACA,QACA,SACA,UACA,WACA,UACA,UACA,OACA,SACA,SACA,OACA,QACA,SACA,UACA,UACA,WACA,UACA,WACA,QACA,MACA,QACA,SACA,aACA,aACA,cACA,SACA,UACA,SACA,UACA,MACA,OACA,UACA,WACA,OACA,SACA,UACA,QACA,QACA,UACA,UACA,WACA,SACA,UACA,OACA,SACA,SACA,SACA,QACA,SACA,QACA,SACA,UACA,SACA,SACA,SACA,UACA,SACA,UACA,WACA,WACA,OACA,QACA,SACA,UACA,SACA,SACA,OACA,MACA,UACA,QACA,UACA,WACA,UACA,UACA,SACA,UACA,WACA,SACA,UACA,OACA,QACA,QACA,QACA,UACA,SACA,SACA,OACA,SACA,OACA,UACA,SACA,UACA,WACA,SACA,SACA,WACA,QACA,UACA,WACA,SACA,UACA,UACA,UACA,WACA,WACA,SACA,SACA,QACA,OACA,SACA,UACA,SACA,YACA,aACA,UACA,QACA,QACA,SACA,SACA,SACA,WACA,SACA,OACA,QACA,QACA,SACA,SACA,UACA,WACA,SACA,OACA,SACA,SACA,UACA,MACA,OACA,SACA,QACA,OACA,SACA,OACA,QACA,QACA,UACA,SACA,SACA,SACA,QACA,QACA,OACA,SACA,QACA,SACA,WACA,UACA,OACA,QACA,MACA,UACA,UACA,UACA,SACA,YACA,YACA,YACA,SACA,SACA,OACA,MACA,QACA,OACA,OACA,QACA,QACA,QACA,SACA,OACA,SACA,QACA,SACA,SACA,OACA,SACA,SACA,MACA,WACA,YACA,UACA,OACA,WACA,WACA,OACA,SACA,UACA,SACA,YACA,QACA,SACA,QACA,QACA,OACA,UACA,OACA,OACA,OACA,QACA,MACA,OACA,SACA,QACA,SACA,QACA,OACA,QACA,OACA,OACA,UACA,WACA,SACA,QACA,SACA,SACA,UACA,OACA,UACA,MACA,OACA,SACA,OACA,SACA,OACA,UACA,MACA,QACA,SACA,OACA,SACA,OACA,MACA,OACA,MACA,OACA,QACA,OACA,OACA,SACA,QACA,MACA,QACA,OACA,MACA,OACA,OACA,UACA,MACA,OACA,OACA,OACA,OACA,OACA,QACA,SACA,UACA,OACA,QACA,QACA,QACA,UACA,UACA,UACA,QACA,UACA,SACA,UACA,OACA,OACA,SACA,OACA,UACA,QACA,OACA,MACA,OACA,SACA,QACA,QACA,QACA,SACA,QACA,QACA,QACA,SACA,UACA,WACA,MACA,WACA,WACA,UACA,QACA,SACA,OACA,QACA,UACA,SACA,SACA,QACA,UACA,WACA,QACA,SACA,WACA,WACA,QACA,QACA,OACA,QACA,QACA,SACA,SACA,SACA,UACA,SACA,SACA,SACA,OACA,SACA,QACA,QACA,SACA,WACA,UACA,UACA,QACA,SACA,WACA,YACA,aACA,WACA,QACA,UACA,UACA,SACA,QACA,UACA,UACA,UACA,SACA,WACA,MACA,SACA,SACA,UACA,SACA,UACA,QACA,QACA,UACA,QACA,SACA,QACA,SACA,SACA,UACA,QACA,QACA,SACA,QACA,UACA,YACA,SACA,SACA,UACA,UACA,OACA,QACA,MACA,UACA,WACA,SACA,SACA,OACA,SACA,UACA,SACA,UACA,QACA,OACA,QACA,QACA,SACA,WACA,OACA,SACA,QACA,WACA,YACA,OACA,QACA,SACA,OACA,QACA,QACA,SACA,OACA,MACA,MACA,QACA,WACA,QACA,UACA,OACA,QACA,UACA,WACA,QACA,UACA,UACA,SACA,WACA,OACA,SACA,SACA,QACA,OACA,YACA,QACA,OACA,QACA,OACA,SACA,SACA,UACA,UACA,QACA,QACA,QACA,QACA,MACA,WACA,SACA,UACA,UACA,UACA,OACA,UACA,QACA,SACA,UACA,SACA,OACA,UACA,QACA,MACA,UACA,QACA,YACA,OACA,OACA,UACA,UACA,WACA,YACA,UACA,WACA,UACA,UACA,SACA,OACA,UACA,UACA,YACA,WACA,UACA,UACA,QACA,SACA,SACA,OACA,SACA,QACA,SACA,UACA,SACA,UACA,MACA,QACA,QACA,UACA,QACA,QACA,OACA,QACA,UACA,OACA,SACA,OACA,SACA,UACA,QACA,OACA,QACA,SACA,OACA,QACA,QACA,QACA,QACA,UACA,QACA,SACA,UACA,UACA,QACA,QACA,OACA,QACA,SACA,QACA,QACA,WACA,YACA,MACA,UACA,WACA,SACA,QACA,SACA,QACA,SACA,SACA,WACA,QACA,UACA,QACA,WACA,UACA,UACA,SACA,QACA,QACA,SACA,QACA,OACA,UACA,UACA,WACA,SACA,WACA,WACA,OACA,UACA,SACA,SACA,OACA,YACA,UACA,SACA,SACA,SACA,SACA,WACA,OACA,OACA,SACA,UACA,QACA,QACA,SACA,WACA,SACA,SACA,UACA,SACA,UACA,SACA,SACA,QACA,SACA,QACA,QACA,SACA,UACA,SACA,SACA,OACA,SACA,UACA,SACA,WACA,UACA,WACA,UACA,SACA,UACA,QACA,MACA,SACA,SACA,SACA,UACA,SACA,SACA,QACA,MACA,SACA,SACA,UACA,SACA,OACA,QACA,SACA,QACA,UACA,QACA,QACA,QACA,QACA,SACA,SACA,UACA,SACA,QACA,OACA,WACA,UACA,UACA,SACA,WACA,SACA,UACA,YACA,YACA,WACA,UACA,UACA,WACA,QACA,SACA,UACA,QACA,SACA,SACA,QACA,QACA,SACA,UACA,QACA,UACA,OACA,QACA,SACA,SACA,QACA,SACA,SACA,YACA,SACA,UACA,MACA,QACA,QACA,SACA,QACA,QACA,SACA,QACA,OACA,QACA,OACA,QACA,UACA,UACA,UACA,OACA,SACA,SACA,MACA,QACA,UACA,SACA,WACA,UACA,WACA,UACA,QACA,OACA,SACA,QACA,OACA,WACA,SACA,OACA,SACA,OACA,WACA,WACA,UACA,UACA,WACA,SACA,SACA,QACA,UACA,MACA,QACA,SACA,QACA,SACA,UACA,UACA,WACA,QACA,UACA,OACA,OACA,QACA,QACA,OACA,MACA,MACA,QACA,SACA,SACA,QACA,OACA,OACA,QACA,WACA,SACA,MACA,QACA,SACA,QACA,SACA,SACA,MACA,WACA,WACA,QACA,UACA,SACA,UACA,QACA,SACA,UACA,SACA,OACA,UACA,SACA,WACA,UACA,UACA,OACA,SACA,SACA,UACA,SACA,QACA,QACA,OACA,QACA,SACA,QACA,SACA,SACA,UACA,UACA,QACA,SACA,SACA,SACA,MACA,SACA,QACA,QACA,QACA,SACA,OACA,WACA,YACA,YACA,UACA,SACA,MACA,QACA,UACA,SACA,OACA,QACA,QACA,QACA,QACA,OACA,QACA,SACA,SACA,QACA,SACA,OACA,QACA,SACA,UACA,SACA,SACA,SACA,WACA,QACA,UACA,UACA,SACA,QACA,SACA,WACA,OACA,QACA,QACA,QACA,UACA,WACA,WACA,SACA,QACA,SACA,WACA,SACA,SACA,WACA,WACA,OACA,OACA,OACA,SACA,UACA,WACA,SACA,WACA,WACA,OACA,QACA,QACA,SACA,UACA,SACA,SACA,QACA,OACA,SACA,SACA,OACA,SACA,QACA,UACA,SACA,aACA,UACA,QACA,SACA,UACA,SACA,UACA,SACA,UACA,UACA,QACA,UACA,UACA,WACA,UACA,UACA,aACA,OACA,QACA,UACA,UACA,SACA,SACA,SACA,QACA,QACA,SACA,SACA,SACA,WACA,WACA,YACA,SACA,UACA,UACA,QACA,QACA,SACA,SACA,UACA,SACA,UACA,SACA,UACA,SACA,UACA,WACA,UACA,UACA,SACA,SACA,YACA,UACA,UACA,OACA,UACA,UACA,SACA,SACA,OACA,QACA,YACA,QACA,QACA,QACA,OACA,QACA,OACA,OACA,MACA,OACA,OACA,QACA,OACA,OACA,8DC/7FFA,EAAO,QAAa,CAClB,SACA,YACA,UACA,QACA,aACA,WACA,YACA,YACA,OACA,YACA,YACA,SACA,aACA,UACA,UACA,aACA,SACA,YACA,OACA,QACA,WACA,QACA,SACA,SACA,YACA,SACA,SACA,OACA,QACA,QACA,WACA,YACA,WACA,UACA,OACA,SACA,QACA,QACA,OACA,QACA,QACA,WACA,QACA,QACA,WACA,QACA,QACA,UACA,SACA,QACA,cACA,SACA,QACA,QACA,YACA,UACA,SACA,aACA,SACA,SACA,WACA,eACA,OACA,UACA,UACA,OACA,WACA,SACA,YACA,UACA,UACA,SACA,SACA,QACA,QACA,SACA,SACA,cACA,YACA,WACA,OACA,UACA,SACA,OACA,YACA,QACA,SACA,UACA,UACA,UACA,QACA,YACA,WACA,WACA,SACA,UACA,QACA,UACA,SACA,QACA,UACA,QACA,WACA,SACA,SACA,QACA,QACA,UACA,MACA,SACA,QACA,OACA,QACA,SACA,UACA,QACA,WACA,UACA,UACA,OACA,UACA,UACA,UACA,SACA,WACA,UACA,YACA,SACA,UACA,UACA,WACA,WACA,UACA,QACA,SACA,QACA,QACA,cACA,YACA,SACA,YACA,aACA,YACA,UACA,OACA,UACA,UACA,OACA,QACA,YACA,SACA,SACA,OACA,OACA,SACA,SACA,SACA,WACA,SACA,QACA,QACA,SACA,YACA,UACA,cACA,SACA,SACA,UACA,YACA,SACA,SACA,YACA,SACA,QACA,QACA,UACA,QACA,SACA,aACA,SACA,WACA,QACA,OACA,SACA,SACA,OACA,QACA,QACA,SACA,SACA,WACA,aACA,YACA,OACA,UACA,QACA,QACA,UACA,WACA,QACA,WACA,UACA,UACA,UACA,SACA,UACA,YACA,UACA,QACA,OACA,UACA,OACA,SACA,QACA,QACA,SACA,OACA,UACA,QACA,SACA,aACA,OACA,UACA,QACA,UACA,UACA,OACA,WACA,MACA,QACA,UACA,OACA,QACA,QACA,QACA,SACA,QACA,UACA,UACA,QACA,OACA,UACA,YACA,SACA,SACA,UACA,UACA,SACA,UACA,SACA,SACA,QACA,QACA,WACA,OACA,WACA,SACA,SACA,UACA,OACA,WACA,YACA,WACA,QACA,aACA,WACA,SACA,OACA,QACA,QACA,YACA,SACA,QACA,SACA,UACA,aACA,YACA,UACA,WACA,aACA,WACA,QACA,OACA,SACA,QACA,WACA,OACA,OACA,UACA,QACA,QACA,aACA,WACA,OACA,UACA,SACA,UACA,SACA,SACA,QACA,UACA,SACA,WACA,WACA,QACA,cACA,YACA,WACA,SACA,UACA,QACA,UACA,QACA,WACA,WACA,MACA,QACA,UACA,UACA,UACA,QACA,WACA,SACA,SACA,eACA,UACA,UACA,SACA,YACA,WACA,QACA,WACA,WACA,QACA,UACA,UACA,OACA,QACA,MACA,SACA,UACA,WACA,SACA,UACA,SACA,SACA,WACA,OACA,SACA,UACA,QACA,UACA,YACA,SACA,QACA,UACA,YACA,OACA,YACA,OACA,UACA,gBACA,aACA,QACA,SACA,aACA,OACA,UACA,cACA,QACA,SACA,UACA,WACA,cACA,WACA,WACA,WACA,WACA,UACA,UACA,YACA,SACA,aACA,YACA,WACA,UACA,SACA,UACA,WACA,SACA,WACA,UACA,UACA,QACA,SACA,QACA,UACA,UACA,SACA,SACA,QACA,UACA,QACA,QACA,UACA,aACA,SACA,cACA,UACA,UACA,UACA,UACA,aACA,QACA,QACA,QACA,WACA,UACA,OACA,SACA,QACA,MACA,UACA,WACA,UACA,QACA,WACA,SACA,UACA,QACA,aACA,OACA,UACA,MACA,YACA,UACA,SACA,QACA,SACA,OACA,SACA,UACA,QACA,SACA,UACA,WACA,QACA,OACA,QACA,UACA,YACA,YACA,OACA,aACA,SACA,UACA,aACA,SACA,SACA,UACA,OACA,OACA,QACA,UACA,SACA,QACA,OACA,QACA,UACA,SACA,UACA,QACA,gECzdFA,EAAO,QAAa,CACpB,UACA,2BACA,iCACA,iCACA,MACA,iBACA,gBACA,eACA,kBACA,iBACA,6BACA,mCACA,mCACA,MACA,MACA,aACA,SACA,WACA,cACA,oBACA,QACA,UACA,YACA,aACA,cACA,WACA,MACA,aACA,WACA,UACA,YACA,YACA,mBACA,iBACA,gBACA,kBACA,iBACA,MACA,eACA,uBACA,qBACA,iBACA,cACA,WACA,iBACA,MACA,UACA,WACA,aACA,QACA,YACA,QACA,eACA,aACA,YACA,eACA,eACA,aACA,YACA,eACA,cACA,aACA,oBACA,kBACA,iBACA,oBACA,mBACA,qBACA,qBACA,iBACA,oECvEAA,EAAO,QAAa,CAClB,MACA,OACA,MACA,OACA,6DCLFA,EAAO,QAAa,CAClB,MACA,MACA,IACA,KACA,MACA,KACA,IACA,KACA,MACA,MACA,6DCXFA,EAAO,QAAa,CAClB,WAAc,CACZ,OACA,SACA,SACA,YACA,UACA,SACA,UACA,WACA,WACA,WACA,UACA,SACA,WACA,WACA,UACA,gBACA,SACA,UACA,WACA,QACA,QACA,WACD,EACD,MAAS,CACP,YACA,UACA,QACA,WACA,WACA,YACA,aACA,iBACA,cACA,gBACA,WACA,WACA,UACA,WACA,UACA,QACA,WACA,eACA,eACA,aACA,iBACA,WACA,iBACA,MACA,WACA,UACA,YACA,WACA,WACA,OACA,WACA,gBACA,iBACA,eACA,UACA,YACA,SACD,EACD,IAAO,CACL,aACA,YACA,YACA,UACA,UACA,UACA,WACA,aACA,WACA,cACA,gBACA,YACA,UACA,WACA,UACA,eACA,aACA,YACA,WACA,aACA,YACA,cACA,QACA,iBACA,YACD,yDC1FHA,EAAO,QAAa,CAClB,uCACA,uCACA,6BACA,6BACA,kCACA,2ECNF,IAAI5hB,EAAO,GACX4hB,EAAO,QAAa5hB,EACpBA,EAAK,gBAAkB32C,IACvB22C,EAAK,kBAAoBn2C,IACzBm2C,EAAK,WAAagR,IAClBhR,EAAK,UAAYwS,IACjBxS,EAAK,OAASoV,IACdpV,EAAK,OAAS8c,IACd9c,EAAK,OAASmmB,IACdnmB,EAAK,MAAQ6mB,IACb7mB,EAAK,KAAO6sB,0ECVZjL,EAAO,QAAa,CAClB,eACA,iBACA,iBACA,eACA,eACA,iBACA,iBACA,eACA,oBACA,sBACA,sBACA,oBACA,qBACA,uBACA,uBACA,qBACA,sBACA,wBACA,wBACA,6DCpBF,IAAI6lO,EAAe,GACnB7lO,EAAO,QAAa6lO,EACpBA,EAAa,QAAUp+R,0ECFvBu4D,EAAO,QAAa,CAClB,eACA,iBACA,iBACA,sDCJF,IAAIimO,EAAa,GACjBjmO,EAAO,QAAaimO,EACpBA,EAAW,QAAUx+R,0ECFrBu4D,EAAO,QAAa,CAClB,sBACA,sBACA,sBACA,6ECJFA,EAAO,QAAa,CAClB,aACA,aACA,aACA,mECJFA,EAAO,QAAa,CAClB,OACA,aACA,kBACA,kDCJF,IAAIkmO,EAAW,GACflmO,EAAO,QAAakmO,EACpBA,EAAS,oBAAsBz+R,IAC/By+R,EAAS,yBAA2Bj+R,IACpCi+R,EAAS,kBAAoB92O,0ECJ7B4Q,EAAO,QAAa,CAClB,MACA,QACA,OACA,SACA,SACA,aACA,OACA,QACA,QACA,SACA,OACA,OACA,SACA,SACA,YACA,MACA,WACA,SACA,OACA,SACA,QACA,UACA,OACA,QACA,SACA,OACA,UACA,OACA,QACA,WACA,gEC/BFA,EAAO,QAAa,CAClB,QACA,SACA,QACA,QACA,cACA,YACA,OACA,SACA,QACA,UACA,SACA,SACA,OACA,OACA,OACA,WACA,QACA,WACA,SACA,WACA,aACA,oECtBFA,EAAO,QAAa,CAClB,UAAa,CACX,QACA,YACA,SACA,cACA,WACA,aACA,YACA,YACA,QACA,UACA,UACA,cACA,WACA,WACA,UACA,YACA,OACD,EACD,SAAY,CACV,QACA,SACA,WACA,UACA,SACA,UACA,SACA,QACA,OACA,QACA,QACD,EACD,QAAW,CACT,QACA,MACA,WACA,WACA,QACA,OACA,OACA,SACA,QACA,QACA,QACA,QACA,MACA,SACA,OACA,OACA,UACA,OACA,SACA,QACA,QACA,QACA,WACA,OACD,yDC1DHA,EAAO,QAAa,CAClB,6HACA,oJACA,wHACA,2IACA,2HACA,4HACA,8DACA,8EACA,6GACA,oHACA,uIACA,4JCZF,IAAImmO,EAAW,GACfnmO,EAAO,QAAammO,EACpBA,EAAS,MAAQ1+R,IACjB0+R,EAAS,WAAal+R,IACtBk+R,EAAS,aAAe/2O,IACxB+2O,EAAS,oBAAsBv1O,0ECL/BoP,EAAO,QAAa,CAClB,OACA,OACA,QACA,OACA,QACA,UACA,OACA,WACA,SACA,OACA,WACA,QACA,YACA,SACA,QACA,QACA,QACA,QACA,SACA,YACA,QACA,UACA,OACA,OACA,WACA,SACA,OACA,UACA,QACA,SACA,SACA,SACA,SACA,WACA,QACA,aACA,WACA,SACA,eACA,UACA,UACA,QACA,aACA,YACA,OACA,OACA,SACA,SACA,UACA,SACA,WACA,eACA,UACA,QACA,UACA,WACA,YACA,UACA,UACA,WACA,WACA,SACA,aACA,UACA,aACA,UACA,gECnEFA,EAAO,QAAa,CAClB,sECDF,IAAIomO,EAAO,GACXpmO,EAAO,QAAaomO,EACpBA,EAAK,SAAW3+R,IAChB2+R,EAAK,KAAOn+R,0ECHZ+3D,EAAO,QAAa,CAClB,MACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,MACA,MACA,MACA,MACA,KACA,OACA,OACA,MACA,8DC7BFA,EAAO,QAAa,CAClB,YACA,UACA,WACA,UACA,cACA,UACA,iBACA,YACA,SACA,SACA,aACA,YACA,WACA,QACA,SACA,UACA,cACA,gEClBFA,EAAO,QAAa,CAClB,SACA,WACA,YACA,QACA,YACA,UACA,OACA,OACA,QACA,YACA,SACA,SACA,WACA,aACA,QACA,QACA,OACA,UACA,cACA,cACA,MACA,UACA,YACA,gECxBFA,EAAO,QAAa,CAClB,UACA,SACA,OACA,WACA,WACA,OACA,WACA,QACA,UACA,WACA,WACA,YACA,aACA,QACA,WACA,UACA,SACA,+DClBFA,EAAO,QAAa,CAClB,aACA,YACA,UACA,aACA,cACA,UACA,aACA,WACA,aACA,aACA,cACA,cACA,eACA,eACA,cACA,iEChBFA,EAAO,QAAa,CAClB,gIACA,mEACA,oGACA,mGACA,qGACA,+HACA,+GACA,wJCRF,IAAIqmO,EAAS,GACbrmO,EAAO,QAAaqmO,EACpBA,EAAO,aAAe5+R,IACtB4+R,EAAO,UAAYp+R,IACnBo+R,EAAO,KAAOj3O,IACdi3O,EAAO,KAAOz1O,IACdy1O,EAAO,QAAU7yO,IACjB6yO,EAAO,OAASnrO,0ECPhB8E,EAAO,QAAa,CAClB,UACA,WACA,aACA,SACA,SACA,YACA,cACA,cACA,QACA,WACA,aACA,SACA,aACA,SACA,WACA,OACA,UACA,OACA,SACA,QACA,OACA,MACA,cACA,MACA,KACA,WACA,QACA,UACA,UACA,QACA,SACA,YACA,WACA,YACA,WACA,SACA,UACA,SACA,cACA,YACA,SACA,WACA,WACA,UACA,UACA,UACA,WACA,OACA,SACA,WACA,OACA,UACA,SACA,aACA,UACA,SACA,QACA,SACA,Y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rrO,IAClBqrO,EAAY,OAAShiO,IACrBgiO,EAAY,KAAOthO,IACnBshO,EAAY,QAAUt7N,IACtBs7N,EAAY,MAAQr7N,IACpBq7N,EAAY,aAAep7N,0CCZ3B,IAAIq7N,EAAU,GACdxmO,EAAO,QAAawmO,EACpBA,EAAQ,aAAe/+R,IACvB++R,EAAQ,iBAAmBv+R,IAC3Bu+R,EAAQ,SAAWp3O,IACnBo3O,EAAQ,YAAc51O,0ECJtBoP,EAAO,QAAa,CAClB,KAAM,CACJ,UACA,WACA,QACA,QACA,MACA,OACA,OACA,SACA,YACA,UACA,WACA,UACD,EAGD,aAAc,CACZ,UACA,WACA,QACA,QACA,MACA,OACA,OACA,SACA,YACA,UACA,WACA,UACD,EACD,KAAM,CACJ,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACD,EAGD,aAAc,CACZ,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACD,yDC5DHA,EAAO,QAAa,CAClB,KAAM,CACJ,SACA,SACA,UACA,YACA,WACA,SACA,UACD,EAGD,aAAc,CACZ,SACA,SACA,UACA,YACA,WACA,SACA,UACD,EACD,KAAM,CACJ,MACA,MACA,MACA,MACA,MACA,MACA,KACD,EAGD,aAAc,CACZ,MACA,MACA,MACA,MACA,MACA,MACA,KACD,yCCzCH,IAAIqpB,EAAO,GACXrpB,EAAO,QAAaqpB,EACpBA,EAAK,MAAQ5hF,IACb4hF,EAAK,QAAUphF,0ECHf+3D,EAAO,QAAa,CAChB,gBACF,OACE,QACA,iBACA,OACA,OACA,gBACA,YACA,cACA,gBACA,WACA,QACA,aACA,iBACA,OACA,WACA,cACA,SACA,OACA,OACA,WACA,OACA,WACA,eACA,WACA,YACA,aACA,WACA,eACA,eACA,QACA,UACA,QACA,QACA,WACA,OACA,OACA,UACA,OACA,SACA,OACA,aACA,WACA,eACA,WACA,eACA,eACA,iBACA,iBACA,WACA,aACA,YACA,aACA,WACA,OACA,WACA,YACA,aACA,WACA,iEC/BJA,EAAO,QAAa,CAClB,uCAAwC,CACtC,OAAU,MACX,EACD,qCAAsC,CACpC,OAAU,MACX,EACD,2BAA4B,CAC1B,OAAU,MACX,EACD,kBAAmB,CACjB,OAAU,MACX,EACD,4BAA6B,CAC3B,OAAU,MACX,EACD,gCAAiC,CAC/B,OAAU,OACV,aAAgB,EACjB,EACD,sCAAuC,CACrC,OAAU,OACV,aAAgB,EACjB,EACD,kCAAmC,CACjC,OAAU,OACV,aAAgB,EACjB,EACD,qCAAsC,CACpC,OAAU,OACV,aAAgB,EACjB,EACD,2CAA4C,CAC1C,OAAU,OACV,aAAgB,EACjB,EACD,qCAAsC,CACpC,OAAU,OACV,aAAgB,EACjB,EACD,2CAA4C,CAC1C,OAAU,OACV,aAAgB,EACjB,EACD,8BAA+B,CAC7B,OAAU,OACV,aAAgB,EACjB,EACD,mCAAoC,CAClC,OAAU,OACV,aAAgB,EACjB,EACD,yCAA0C,CACxC,OAAU,OACV,aAAgB,EACjB,EACD,kBAAmB,CACjB,OAAU,MACX,EACD,2BAA4B,CAC1B,OAAU,OACV,WAAc,CAAC,IAAI,CACpB,EACD,wBAAyB,CACvB,OAAU,MACX,EACD,yBAA0B,CACxB,OAAU,SACV,WAAc,CAAC,IAAI,CACpB,EACD,kBAAmB,CACjB,OAAU,MACX,EACD,mBAAoB,CAClB,OAAU,MACX,EACD,uBAAwB,CACtB,OAAU,OACV,aAAgB,GAChB,WAAc,CAAC,MAAM,CACtB,EACD,0BAA2B,CACzB,OAAU,OACV,WAAc,CAAC,SAAS,CACzB,EACD,8BAA+B,CAC7B,OAAU,MACX,EACD,yBAA0B,CACxB,OAAU,MACX,EACD,0BAA2B,CACzB,OAAU,OACV,WAAc,CAAC,SAAS,CACzB,EACD,oBAAqB,CACnB,OAAU,MACX,EACD,8BAA+B,CAC7B,OAAU,MACX,EACD,6BAA8B,CAC5B,OAAU,MACX,EACD,yBAA0B,CACxB,OAAU,MACX,EACD,mBAAoB,CAClB,aAAgB,GAChB,WAAc,CAAC,MAAM,CACtB,EACD,uBAAwB,CACtB,OAAU,MACX,EACD,4BAA6B,CAC3B,OAAU,OACV,aAAgB,EACjB,EACD,2BAA4B,CAC1B,OAAU,MACX,EACD,8BAA+B,CAC7B,OAAU,MACX,EACD,wBAAyB,CACvB,OAAU,MACX,EACD,mBAAoB,CAClB,OAAU,MACX,EACD,uBAAwB,CACtB,OAAU,MACX,EACD,wBAAyB,CACvB,OAAU,OACV,WAAc,CAAC,OAAO,CACvB,EACD,uBAAwB,CACtB,OAAU,MACX,EACD,8BAA+B,CAC7B,OAAU,OACV,WAAc,CAAC,OAAO,CACvB,EACD,6BAA8B,CAC5B,OAAU,OACV,WAAc,CAAC,OAAO,CACvB,EACD,0BAA2B,CACzB,OAAU,OACV,WAAc,CAAC,OAAO,CACvB,EACD,0BAA2B,CACzB,OAAU,OACV,WAAc,CAAC,OAAO,CACvB,EACD,yBAA0B,CACxB,OAAU,OACV,WAAc,CAAC,OAAO,CACvB,EACD,mBAAoB,CAClB,OAAU,MACX,EACD,kBAAmB,CACjB,OAAU,MACX,EACD,2BAA4B,CAC1B,OAAU,MACX,EACD,yBAA0B,CACxB,OAAU,MACX,EACD,kBAAmB,CACjB,OAAU,MACX,EACD,kBAAmB,CACjB,OAAU,MACX,EACD,uBAAwB,CACtB,OAAU,MACX,EACD,8BAA+B,CAC7B,OAAU,OACV,aAAgB,EACjB,EACD,2BAA4B,CAC1B,OAAU,MACX,EACD,kCAAmC,CACjC,OAAU,MACX,EACD,sBAAuB,CACrB,OAAU,MACX,EACD,uBAAwB,CACtB,OAAU,MACX,EACD,uBAAwB,CACtB,OAAU,MACX,EACD,2BAA4B,CAC1B,OAAU,MACX,EACD,wBAAyB,CACvB,OAAU,OACV,aAAgB,EACjB,EACD,uBAAwB,CACtB,OAAU,SACV,WAAc,CAAC,IAAI,CACpB,EACD,wBAAyB,CACvB,OAAU,MACX,EACD,mBAAoB,CAClB,aAAgB,EACjB,EACD,uBAAwB,CACtB,OAAU,OACV,WAAc,CAAC,KAAK,CACrB,EACD,wBAAyB,CACvB,OAAU,MACX,EACD,2BAA4B,CAC1B,OAAU,OACV,WAAc,CAAC,UAAU,CAC1B,EACD,sBAAuB,CACrB,OAAU,MACX,EACD,kBAAmB,CACjB,OAAU,MACX,EACD,qBAAsB,CACpB,OAAU,MACX,EACD,8BAA+B,CAC7B,OAAU,MACX,EACD,oBAAqB,CACnB,OAAU,MACX,EACD,kBAAmB,CACjB,OAAU,MACX,EACD,kBAAmB,CACjB,OAAU,MACX,EACD,kBAAmB,CACjB,OAAU,MACX,EACD,0BAA2B,CACzB,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,wBAAyB,CACvB,OAAU,MACX,EACD,uBAAwB,CACtB,OAAU,OACV,WAAc,CAAC,MAAM,CACtB,EACD,uBAAwB,CACtB,OAAU,OACV,WAAc,CAAC,OAAO,CACvB,EACD,mBAAoB,CAClB,OAAU,MACX,EACD,yBAA0B,CACxB,OAAU,OACV,aAAgB,GAChB,WAAc,CAAC,MAAM,CACtB,EACD,0BAA2B,CACzB,OAAU,MACX,EACD,sBAAuB,CACrB,OAAU,OACV,aAAgB,EACjB,EACD,sBAAuB,CACrB,OAAU,OACV,aAAgB,EACjB,EACD,4CAA6C,CAC3C,OAAU,MACX,EACD,+CAAgD,CAC9C,OAAU,MACX,EACD,iDAAkD,CAChD,OAAU,MACX,EACD,gDAAiD,CAC/C,OAAU,MACX,EACD,mDAAoD,CAClD,OAAU,MACX,EACD,uBAAwB,CACtB,OAAU,OACV,WAAc,CAAC,MAAM,CACtB,EACD,4BAA6B,CAC3B,OAAU,MACX,EACD,uBAAwB,CACtB,OAAU,MACX,EACD,sBAAuB,CACrB,OAAU,MACX,EACD,uBAAwB,CACtB,OAAU,OACV,WAAc,CAAC,MAAM,CACtB,EACD,oBAAqB,CACnB,OAAU,MACX,EACD,kBAAmB,CACjB,OAAU,OACV,WAAc,CAAC,KAAK,CACrB,EACD,0BAA2B,CACzB,OAAU,MACX,EACD,uBAAwB,CACtB,OAAU,MACX,EACD,sBAAuB,CACrB,OAAU,MACX,EACD,mBAAoB,CAClB,OAAU,MACX,EACD,wBAAyB,CACvB,OAAU,MACX,EACD,yBAA0B,CACxB,OAAU,OACV,WAAc,CAAC,KAAK,CACrB,EACD,wBAAyB,CACvB,OAAU,OACV,aAAgB,GAChB,WAAc,CAAC,MAAM,CACtB,EACD,yBAA0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AK,CACrB,EACD,iDAAkD,CAChD,OAAU,OACV,WAAc,CAAC,KAAK,CACrB,EACD,mDAAoD,CAClD,OAAU,OACV,WAAc,CAAC,KAAK,CACrB,EACD,8CAA+C,CAC7C,OAAU,OACV,WAAc,CAAC,KAAK,CACrB,EACD,sBAAuB,CACrB,OAAU,MACX,EACD,iCAAkC,CAChC,OAAU,OACV,aAAgB,EACjB,EACD,iDAAkD,CAChD,OAAU,MACX,EACD,kDAAmD,CACjD,OAAU,MACX,EACD,sCAAuC,CACrC,OAAU,MACX,EACD,mCAAoC,CAClC,OAAU,MACX,EACD,qCAAsC,CACpC,OAAU,MACX,EACD,+CAAgD,CAC9C,OAAU,MACX,EACD,+BAAgC,CAC9B,OAAU,MACX,EACD,uCAAwC,CACtC,OAAU,MACX,EACD,mCAAoC,CAClC,OAAU,MACX,EACD,qCAAsC,CACpC,OAAU,MACX,EACD,uCAAwC,CACtC,OAAU,MACX,EACD,6BAA8B,CAC5B,OAAU,OACV,WAAc,CAAC,IAAI,CACpB,EACD,kCAAmC,CACjC,OAAU,MACX,EACD,wCAAyC,CACvC,OAAU,MACX,EACD,yCAA0C,CACxC,OAAU,MACX,EACD,+DAAgE,CAC9D,OAAU,MACX,EACD,4CAA6C,CAC3C,OAAU,MACX,EACD,oCAAqC,CACnC,OAAU,MACX,EACD,iCAAkC,CAChC,OAAU,MACX,EACD,6CAA8C,CAC5C,OAAU,MACX,EACD,gDAAiD,CAC/C,OAAU,MACX,EACD,mCAAoC,CAClC,OAAU,MACX,EACD,qCAAsC,CACpC,OAAU,MACX,EACD,iCAAkC,CAChC,OAAU,MACX,EACD,oDAAqD,CACnD,OAAU,MACX,EACD,kDAAmD,CACjD,OAAU,MACX,EACD,sCAAuC,CACrC,OAAU,MACX,EACD,iCAAkC,CAChC,OAAU,MACX,EACD,2CAA4C,CAC1C,OAAU,MACX,EACD,8CAA+C,CAC7C,OAAU,MACX,EACD,kCAAmC,CACjC,OAAU,MACX,EACD,0CAA2C,CACzC,OAAU,MACX,EACD,yCAA0C,CACxC,OAAU,MACX,EACD,0BAA2B,CACzB,OAAU,MACX,EACD,2BAA4B,CAC1B,OAAU,MACX,EACD,8BAA+B,CAC7B,OAAU,OACV,WAAc,CAAC,KAAK,CACrB,EACD,mCAAoC,CAClC,OAAU,MACX,EACD,2CAA4C,CAC1C,OAAU,MACX,EACD,8BAA+B,CAC7B,OAAU,MACX,EACD,uDAAwD,CACtD,OAAU,MACX,EACD,2CAA4C,CAC1C,OAAU,MACX,EACD,qCAAsC,CACpC,OAAU,MACX,EACD,oDAAqD,CACnD,OAAU,MACX,EACD,wDAAyD,CACvD,OAAU,MACX,EACD,2BAA4B,CAC1B,OAAU,MACX,EACD,yCAA0C,CACxC,OAAU,MACX,EACD,yCAA0C,CACxC,OAAU,MACX,EACD,kCAAmC,CACjC,OAAU,MACX,EACD,iCAAkC,CAChC,OAAU,MACX,EACD,mCAAoC,CAClC,OAAU,MACX,EACD,mCAAoC,CAClC,OAAU,MACX,EACD,oCAAqC,CACnC,OAAU,MACX,EACD,uCAAwC,CACtC,OAAU,MACX,EACD,8BAA+B,CAC7B,OAAU,MACX,EACD,0CAA2C,CACzC,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,sEAAuE,CACrE,OAAU,MACX,EACD,wEAAyE,CACvE,OAAU,MACX,EACD,4DAA6D,CAC3D,OAAU,MACX,EACD,oEAAqE,CACnE,OAAU,MACX,EACD,0EAA2E,CACzE,OAAU,MACX,EACD,4EAA6E,CAC3E,OAAU,MACX,EACD,0EAA2E,CACzE,OAAU,MACX,EACD,4EAA6E,CAC3E,OAAU,MACX,EACD,2EAA4E,CAC1E,OAAU,MACX,EACD,wEAAyE,CACvE,OAAU,MACX,EACD,wEAAyE,CACvE,OAAU,MACX,EACD,kFAAmF,CACjF,OAAU,MACX,EACD,4EAA6E,CAC3E,OAAU,MACX,EACD,iFAAkF,CAChF,OAAU,MACX,EACD,+EAAgF,CAC9E,OAAU,MACX,EACD,8EAA+E,CAC7E,OAAU,MACX,EACD,4EAA6E,CAC3E,OAAU,OACV,aAAgB,GAChB,WAAc,CAAC,MAAM,CACtB,EACD,qFAAsF,CACpF,OAAU,MACX,EACD,6EAA8E,CAC5E,OAAU,MACX,EACD,qEAAsE,CACpE,OAAU,OACV,WAAc,CAAC,MAAM,CACtB,EACD,yEAA0E,CACxE,OAAU,MACX,EACD,+EAAgF,CAC9E,OAAU,MACX,EACD,+EAAgF,CAC9E,OAAU,MACX,EACD,yEAA0E,CACxE,OAAU,OACV,WAAc,CAAC,MAAM,CACtB,EACD,kFAAmF,CACjF,OAAU,MACX,EACD,mFAAoF,CAClF,OAAU,MACX,EACD,+EAAgF,CAC9E,OAAU,MACX,EACD,wEAAyE,CACvE,OAAU,MACX,EACD,wEAAyE,CACvE,OAAU,SACV,WAAc,CAAC,MAAM,CACtB,EACD,iFAAkF,CAChF,OAAU,MACX,EACD,6EAA8E,CAC5E,OAAU,MACX,EACD,uEAAwE,CACtE,OAAU,MACX,EACD,4EAA6E,CAC3E,OAAU,MACX,EACD,6EAA8E,CAC5E,OAAU,MACX,EACD,2EAA4E,CAC1E,OAAU,MACX,EACD,8EAA+E,CAC7E,OAAU,MACX,EACD,8EAA+E,CAC7E,OAAU,MACX,EACD,+EAAgF,CAC9E,OAAU,MACX,EACD,uFAAwF,CACtF,OAAU,MACX,EACD,oFAAqF,CACnF,OAAU,MACX,EACD,6EAA8E,CAC5E,OAAU,MACX,EACD,6EAA8E,CAC5E,OAAU,MACX,EACD,kFAAmF,CACjF,OAAU,MACX,EACD,8EAA+E,CAC7E,OAAU,MACX,EACD,gFAAiF,CAC/E,OAAU,MACX,EACD,oEAAqE,CACnE,OAAU,OACV,aAAgB,GAChB,WAAc,CAAC,MAAM,CACtB,EACD,6EAA8E,CAC5E,OAAU,MACX,EACD,gFAAiF,CAC/E,OAAU,MACX,EACD,yEAA0E,CACxE,OAAU,MACX,EACD,wEAAyE,CACvE,OAAU,MACX,EACD,mFAAoF,CAClF,OAAU,MACX,EACD,uEAAwE,CACtE,OAAU,SACV,WAAc,CAAC,MAAM,CACtB,EACD,gFAAiF,CAC/E,OAAU,MACX,EACD,4EAA6E,CAC3E,OAAU,MACX,EACD,uFAAwF,CACtF,OAAU,MACX,EACD,4EAA6E,CAC3E,OAAU,MACX,EACD,0DAA2D,CACzD,OAAU,MACX,EACD,kEAAmE,CACjE,OAAU,MACX,EACD,2DAA4D,CAC1D,OAAU,MACX,EACD,0EAA2E,CACzE,OAAU,MACX,EACD,8EAA+E,CAC7E,OAAU,MACX,EACD,0EAA2E,CACzE,OAAU,OACV,aAAgB,GAChB,WAAc,CAAC,MAAM,CACtB,EACD,uFAAwF,CACtF,OAAU,MACX,EACD,mFAAoF,CAClF,OAAU,MACX,EACD,8EAA+E,CAC7E,OAAU,MACX,EACD,+EAAgF,CAC9E,OAAU,MACX,EACD,4EAA6E,CAC3E,OAAU,MACX,EACD,+EAAgF,CAC9E,OAAU,MACX,EACD,+EAAgF,CAC9E,OAAU,MACX,EACD,8EAA+E,CAC7E,OAAU,MACX,EACD,4EAA6E,CAC3E,OAAU,MACX,EACD,0EAA2E,CACzE,OAAU,SACV,WAAc,CAAC,MAAM,CACtB,EACD,mFAAoF,CAClF,OAAU,MACX,EACD,iFAAkF,CAChF,OAAU,MACX,EACD,6DAA8D,CAC5D,OAAU,MACX,EACD,4EAA6E,CAC3E,OAAU,MACX,EACD,2DAA4D,CAC1D,OAAU,MACX,EACD,uCAAwC,CACtC,OAAU,OACV,aAAgB,EACjB,EACD,gCAAiC,CAC/B,OAAU,MACX,EACD,gCAAiC,CAC/B,OAAU,MACX,EACD,yCAA0C,CACxC,OAAU,OACV,WAAc,CAAC,KAAK,CACrB,EACD,8BAA+B,CAC7B,OAAU,MACX,EACD,0BAA2B,CACzB,OAAU,OACV,WAAc,CAAC,IAAI,CACpB,EACD,iCAAkC,CAChC,OAAU,OACV,WAAc,CAAC,KAAK,CACrB,EACD,kCAAmC,CACjC,OAAU,MACX,EACD,kCAAmC,CACjC,OAAU,MACX,EACD,iCAAkC,CAChC,OAAU,OACV,aAAgB,EACjB,EACD,uBAAwB,CACtB,OAAU,OACV,WAAc,CAAC,MAAM,MAAM,MAAM,CAClC,EACD,0BAA2B,CACzB,OAAU,MACX,EACD,2BAA4B,CAC1B,OAAU,MACX,EACD,2BAA4B,CAC1B,OAAU,QACX,EACD,4BAA6B,CAC3B,OAAU,OACV,WAAc,CAAC,KAAK,CACrB,EACD,uBAAwB,CACtB,OAAU,MACX,EACD,4BAA6B,CAC3B,OAAU,OACV,WAAc,CAAC,KAAK,CACrB,EACD,4BAA6B,CAC3B,OAAU,OACV,WAAc,CAAC,KAAK,CACrB,EACD,+CAAgD,CAC9C,OAAU,MACX,EACD,yBAA0B,CACxB,OAAU,OACV,WAAc,CAAC,MAAM,CACtB,EACD,6BAA8B,CAC5B,OAAU,OACV,WAAc,CAAC,IAAI,CACpB,EACD,8CAA+C,CAC7C,OAAU,MACX,EACD,8BAA+B,CAC7B,OAAU,OACV,WAAc,CAAC,KAAK,CACrB,EACD,gCAAiC,CAC/B,OAAU,OACV,WAAc,CAAC,KAAK,CACrB,EACD,kCAAmC,CACjC,OAAU,MACX,EACD,gCAAiC,CAC/B,OAAU,MACX,EACD,kCAAmC,CACjC,OAAU,MACX,EACD,iCAAkC,CAChC,OAAU,MACX,EACD,mCAAoC,CAClC,OAAU,MACX,EACD,2BAA4B,CAC1B,OAAU,MACX,EACD,qCAAsC,CACpC,OAAU,OACV,WAAc,CAAC,KAAK,CACrB,EACD,mCAAoC,CAClC,OAAU,OACV,WAAc,CAAC,KAAK,CACrB,EACD,wCAAyC,CACvC,OAAU,OACV,WAAc,CAAC,KAAK,CACrB,EACD,4BAA6B,CAC3B,OAAU,OACV,WAAc,CAAC,MAAM,CACtB,EACD,kCAAmC,CACjC,OAAU,MACX,EACD,sCAAuC,CACrC,OAAU,MACX,EACD,wCAAyC,CACvC,OAAU,MACX,EACD,oCAAqC,CACnC,OAAU,OACV,WAAc,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,CACnD,EACD,wCAAyC,CACvC,OAAU,MACX,EACD,mCAAoC,CAClC,OAAU,MACX,EACD,mCAAoC,CAClC,OAAU,MACX,EACD,yCAA0C,CACxC,OAAU,MACX,EACD,8CAA+C,CAC7C,OAAU,MACX,EACD,8CAA+C,CAC7C,OAAU,MACX,EACD,gDAAiD,CAC/C,OAAU,MACX,EACD,gDAAiD,CAC/C,OAAU,MACX,EACD,wCAAyC,CACvC,OAAU,MACX,EACD,0CAA2C,CACzC,OAAU,MACX,EACD,+CAAgD,CAC9C,OAAU,MACX,EACD,qDAAsD,CACpD,OAAU,MACX,EACD,uDAAwD,CACtD,OAAU,MACX,EACD,gDAAiD,CAC/C,OAAU,MACX,EACD,iDAAkD,CAChD,OAAU,MACX,EACD,oDAAqD,CACnD,OAAU,MACX,EACD,gCAAiC,CAC/B,OAAU,MACX,EACD,wBAAyB,CACvB,OAAU,MACX,EACD,8BAA+B,CAC7B,OAAU,OACV,WAAc,CAAC,KAAK,CACrB,EACD,qCAAsC,CACpC,OAAU,OACV,WAAc,CAAC,KAAK,CACrB,EACD,yCAA0C,CACxC,OAAU,OACV,WAAc,CAAC,UAAU,CAC1B,EACD,mCAAoC,CAClC,OAAU,MACX,EACD,iCAAkC,CAChC,OAAU,OACV,WAAc,CAAC,YAAY,CAC5B,EACD,0BAA2B,CACzB,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,+BAAgC,CAC9B,OAAU,SACV,WAAc,CAAC,IAAI,CACpB,EACD,mCAAoC,CAClC,OAAU,SACV,WAAc,CAAC,MAAM,CACtB,EACD,qCAAsC,CACpC,OAAU,OACV,WAAc,CAAC,QAAQ,CACxB,EACD,0BAA2B,CACzB,OAAU,MACX,EACD,kCAAmC,CACjC,OAAU,MACX,EACD,wBAAyB,CACvB,OAAU,MACX,EACD,uCAAwC,CACtC,OAAU,OACV,WAAc,CAAC,IAAI,CACpB,EACD,0BAA2B,CACzB,OAAU,MACX,EACD,2BAA4B,CAC1B,OAAU,MACX,EACD,0BAA2B,CACzB,OAAU,MACX,EACD,6BAA8B,CAC5B,OAAU,MACX,EACD,6BAA8B,CAC5B,OAAU,MACX,EACD,6BAA8B,CAC5B,OAAU,MACX,EACD,6BAA8B,CAC5B,OAAU,MACX,EACD,6BAA8B,CAC5B,OAAU,MACX,EACD,6BAA8B,CAC5B,OAAU,MACX,EACD,6BAA8B,CAC5B,OAAU,MACX,EACD,8BAA+B,CAC7B,OAAU,MACX,EACD,6BAA8B,CAC5B,OAAU,MACX,EACD,4CAA6C,CAC3C,OAAU,MACX,EACD,2CAA4C,CAC1C,OAAU,MACX,EACD,0BAA2B,CACzB,OAAU,OACV,WAAc,CAAC,KAAK,CACrB,EACD,uBAAwB,CACtB,OAAU,OACV,WAAc,CAAC,MAAM,CACtB,EACD,uBAAwB,CACtB,OAAU,OACV,WAAc,CAAC,MAAM,CACtB,EACD,uBAAwB,CACtB,OAAU,OACV,WAAc,CAAC,MAAM,CACtB,EACD,0CAA2C,CACzC,OAAU,OACV,WAAc,CAAC,KAAK,CACrB,EACD,8CAA+C,CAC7C,OAAU,OACV,WAAc,CAAC,KAAK,CACrB,EACD,6CAA8C,CAC5C,OAAU,OACV,WAAc,CAAC,KAAK,CACrB,EACD,yCAA0C,CACxC,OAAU,OACV,WAAc,CAAC,KAAK,CACrB,EACD,qCAAsC,CACpC,OAAU,OACV,WAAc,CAAC,MAAM,MAAM,CAC5B,EACD,6BAA8B,CAC5B,OAAU,OACV,aAAgB,EACjB,EACD,uBAAwB,CACtB,OAAU,OACV,WAAc,CAAC,KAAK,CACrB,EACD,iCAAkC,CAChC,OAAU,MACX,EACD,gCAAiC,CAC/B,OAAU,OACV,WAAc,CAAC,SAAS,CACzB,EACD,8CAA+C,CAC7C,OAAU,MACX,EACD,kDAAmD,CACjD,OAAU,MACX,EACD,kCAAmC,CACjC,OAAU,OACV,WAAc,CAAC,OAAO,MAAM,CAC7B,EACD,+BAAgC,CAC9B,OAAU,OACV,WAAc,CAAC,KAAK,CACrB,EACD,+BAAgC,CAC9B,OAAU,OACV,WAAc,CAAC,KAAK,CACrB,EACD,0BAA2B,CACzB,OAAU,MACX,EACD,0BAA2B,CACzB,OAAU,MACX,EACD,0BAA2B,CACzB,OAAU,MACX,EACD,oCAAqC,CACnC,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,oCAAqC,CACnC,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,uCAAwC,CACtC,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,oCAAqC,CACnC,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,sCAAuC,CACrC,OAAU,SACV,WAAc,CAAC,MAAM,KAAK,CAC3B,EACD,6CAA8C,CAC5C,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,oCAAqC,CACnC,OAAU,OACV,WAAc,CAAC,OAAO,CACvB,EACD,sCAAuC,CACrC,OAAU,OACV,WAAc,CAAC,IAAI,CACpB,EACD,gCAAiC,CAC/B,OAAU,MACX,EACD,+BAAgC,CAC9B,OAAU,MACX,EACD,+BAAgC,CAC9B,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,wCAAyC,CACvC,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,+BAAgC,CAC9B,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,wCAAyC,CACvC,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,kCAAmC,CACjC,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,2CAA4C,CAC1C,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,+BAAgC,CAC9B,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,iCAAkC,CAChC,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,wCAAyC,CACvC,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,0CAA2C,CACzC,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,+BAAgC,CAC9B,OAAU,OACV,WAAc,CAAC,MAAM,MAAM,CAC5B,EACD,sBAAuB,CACrB,OAAU,OACV,WAAc,CAAC,KAAK,CACrB,EACD,gCAAiC,CAC/B,OAAU,MACX,EACD,kCAAmC,CACjC,OAAU,SACV,WAAc,CAAC,MAAM,MAAM,CAC5B,EACD,6BAA8B,CAC5B,OAAU,OACV,WAAc,CAAC,KAAK,CACrB,EACD,kCAAmC,CACjC,OAAU,OACV,WAAc,CAAC,KAAK,CACrB,EACD,gCAAiC,CAC/B,OAAU,OACV,WAAc,CAAC,KAAK,CACrB,EACD,yCAA0C,CACxC,OAAU,MACX,EACD,qCAAsC,CACpC,OAAU,MACX,EACD,mCAAoC,CAClC,OAAU,MACX,EACD,sCAAuC,CACrC,OAAU,MACX,EACD,oCAAqC,CACnC,OAAU,MACX,EACD,yCAA0C,CACxC,OAAU,MACX,EACD,4CAA6C,CAC3C,OAAU,OACV,WAAc,CAAC,KAAK,CACrB,EACD,+BAAgC,CAC9B,OAAU,OACV,WAAc,CAAC,OAAO,MAAM,KAAK,CAClC,EACD,wCAAyC,CACvC,OAAU,MACX,EACD,sBAAuB,CACrB,OAAU,MACX,EACD,iCAAkC,CAChC,OAAU,OACV,WAAc,CAAC,KAAK,CACrB,EACD,2BAA4B,CAC1B,OAAU,OACV,WAAc,CAAC,KAAK,CACrB,EACD,+BAAgC,CAC9B,OAAU,OACV,WAAc,CAAC,KAAK,CACrB,EACD,0BAA2B,CACzB,OAAU,OACV,WAAc,CAAC,KAAK,CACrB,EACD,0BAA2B,CACzB,OAAU,MACX,EACD,oCAAqC,CACnC,OAAU,MACX,EACD,uBAAwB,CACtB,OAAU,OACV,WAAc,CAAC,MAAM,MAAM,CAC5B,EACD,4BAA6B,CAC3B,OAAU,OACV,WAAc,CAAC,KAAK,CACrB,EACD,yBAA0B,CACxB,OAAU,OACV,WAAc,CAAC,KAAK,CACrB,EACD,wBAAyB,CACvB,OAAU,OACV,WAAc,CAAC,UAAU,CAC1B,EACD,2BAA4B,CAC1B,OAAU,OACV,WAAc,CAAC,MAAM,CACtB,EACD,gCAAiC,CAC/B,OAAU,MACX,EACD,sCAAuC,CACrC,OAAU,MACX,EACD,wCAAyC,CACvC,OAAU,MACX,EACD,8CAA+C,CAC7C,OAAU,MACX,EACD,kCAAmC,CACjC,OAAU,MACX,EACD,wCAAyC,CACvC,OAAU,MACX,EACD,kCAAmC,CACjC,OAAU,MACX,EACD,wCAAyC,CACvC,OAAU,MACX,EACD,+BAAgC,CAC9B,OAAU,MACX,EACD,qCAAsC,CACpC,OAAU,MACX,EACD,kCAAmC,CACjC,OAAU,MACX,EACD,wCAAyC,CACvC,OAAU,MACX,EACD,iCAAkC,CAChC,OAAU,MACX,EACD,0BAA2B,CACzB,OAAU,MACX,EACD,wCAAyC,CACvC,OAAU,MACX,EACD,sBAAuB,CACrB,OAAU,OACV,WAAc,CAAC,KAAK,CACrB,EACD,2BAA4B,CAC1B,OAAU,MACX,EACD,8BAA+B,CAC7B,OAAU,MACX,EACD,kCAAmC,CACjC,OAAU,MACX,EACD,wCAAyC,CACvC,OAAU,MACX,EACD,wBAAyB,CACvB,OAAU,OACV,WAAc,CAAC,MAAM,MAAM,MAAM,KAAK,CACvC,EACD,4BAA6B,CAC3B,OAAU,OACV,WAAc,CAAC,KAAK,CACrB,EACD,uCAAwC,CACtC,OAAU,MACX,EACD,sBAAuB,CACrB,OAAU,OACV,WAAc,CAAC,KAAK,CACrB,EACD,0BAA2B,CACzB,OAAU,MACX,EACD,0BAA2B,CACzB,OAAU,MACX,EACD,4BAA6B,CAC3B,OAAU,OACV,WAAc,CAAC,OAAO,CACvB,EACD,2BAA4B,CAC1B,OAAU,OACV,WAAc,CAAC,MAAM,CACtB,EACD,iCAAkC,CAChC,OAAU,OACV,WAAc,CAAC,OAAO,CACvB,EACD,2BAA4B,CAC1B,OAAU,OACV,WAAc,CAAC,KAAK,CACrB,EACD,0BAA2B,CACzB,OAAU,MACX,EACD,0BAA2B,CACzB,OAAU,MACX,EACD,wCAAyC,CACvC,OAAU,MACX,EACD,sBAAuB,CACrB,OAAU,MACX,EACD,gCAAiC,CAC/B,OAAU,MACX,EACD,sCAAuC,CACrC,OAAU,MACX,EACD,8CAA+C,CAC7C,OAAU,MACX,EACD,iCAAkC,CAChC,OAAU,OACV,WAAc,CAAC,KAAK,CACrB,EACD,8BAA+B,CAC7B,OAAU,OACV,WAAc,CAAC,KAAK,CACrB,EACD,sBAAuB,CACrB,OAAU,OACV,WAAc,CAAC,KAAK,CACrB,EACD,sCAAuC,CACrC,OAAU,MACX,EACD,yBAA0B,CACxB,OAAU,OACV,WAAc,CAAC,KAAK,CACrB,EACD,+BAAgC,CAC9B,OAAU,MACX,EACD,6BAA8B,CAC5B,OAAU,MACX,EACD,6BAA8B,CAC5B,OAAU,MACX,EACD,6BAA8B,CAC5B,OAAU,OACV,aAAgB,EACjB,EACD,uBAAwB,CACtB,OAAU,OACV,WAAc,CAAC,KAAK,CACrB,EACD,uBAAwB,CACtB,OAAU,OACV,WAAc,CAAC,MAAM,CACtB,EACD,+BAAgC,CAC9B,OAAU,MACX,EACD,0BAA2B,CACzB,OAAU,MACX,EACD,6BAA8B,CAC5B,OAAU,MACX,EACD,6BAA8B,CAC5B,OAAU,MACX,EACD,6BAA8B,CAC5B,OAAU,MACX,EACD,6BAA8B,CAC5B,OAAU,MACX,EACD,6BAA8B,CAC5B,OAAU,MACX,EACD,gCAAiC,CAC/B,OAAU,OACV,WAAc,CAAC,KAAK,CACrB,EACD,mCAAoC,CAClC,OAAU,OACV,WAAc,CAAC,KAAK,CACrB,EACD,kCAAmC,CACjC,OAAU,OACV,WAAc,CAAC,KAAK,CACrB,EACD,yCAA0C,CACxC,OAAU,OACV,WAAc,CAAC,KAAK,CACrB,EACD,oDAAqD,CACnD,OAAU,OACV,WAAc,CAAC,QAAQ,CACxB,EACD,sCAAuC,CACrC,OAAU,MACX,EACD,oCAAqC,CACnC,OAAU,OACV,WAAc,CAAC,KAAK,CACrB,EACD,qCAAsC,CACpC,OAAU,OACV,WAAc,CAAC,KAAK,CACrB,EACD,qCAAsC,CACpC,OAAU,MACX,EACD,yCAA0C,CACxC,OAAU,MACX,EACD,0BAA2B,CACzB,OAAU,MACX,EACD,0CAA2C,CACzC,OAAU,OACV,WAAc,CAAC,KAAK,CACrB,EACD,sBAAuB,CACrB,OAAU,OACV,WAAc,CAAC,MAAM,MAAM,CAC5B,EACD,iCAAkC,CAChC,OAAU,OACV,WAAc,CAAC,KAAK,CACrB,EACD,2BAA4B,CAC1B,OAAU,OACV,WAAc,CAAC,MAAM,CACtB,EACD,wBAAyB,CACvB,OAAU,MACX,EACD,8BAA+B,CAC7B,OAAU,MACX,EACD,4BAA6B,CAC3B,OAAU,MACX,EACD,+BAAgC,CAC9B,OAAU,MACX,EACD,qBAAsB,CACpB,OAAU,OACV,WAAc,CAAC,KAAK,CACrB,EACD,qBAAsB,CACpB,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,mBAAoB,CAClB,OAAU,MACX,EACD,6BAA8B,CAC5B,OAAU,MACX,EACD,uBAAwB,CACtB,OAAU,OACV,WAAc,CAAC,MAAM,CACtB,EACD,2BAA4B,CAC1B,OAAU,OACV,WAAc,CAAC,UAAU,CAC1B,EACD,8BAA+B,CAC7B,OAAU,SACV,aAAgB,GAChB,WAAc,CAAC,IAAI,CACpB,EACD,wBAAyB,CACvB,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,+BAAgC,CAC9B,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,oBAAqB,CACnB,OAAU,QACX,EACD,gCAAiC,CAC/B,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,+BAAgC,CAC9B,OAAU,SACV,WAAc,CAAC,MAAM,MAAM,MAAM,KAAK,CACvC,EACD,+BAAgC,CAC9B,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,+BAAgC,CAC9B,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,sBAAuB,CACrB,OAAU,SACV,WAAc,CAAC,OAAO,CACvB,EACD,qBAAsB,CACpB,aAAgB,GAChB,WAAc,CAAC,MAAM,CACtB,EACD,2BAA4B,CAC1B,OAAU,SACV,WAAc,CAAC,SAAS,CACzB,EACD,sBAAuB,CACrB,OAAU,SACV,WAAc,CAAC,MAAM,OAAO,CAC7B,EACD,qBAAsB,CACpB,OAAU,SACV,aAAgB,GAChB,WAAc,CAAC,IAAI,CACpB,EACD,sBAAuB,CACrB,OAAU,SACV,aAAgB,GAChB,WAAc,CAAC,MAAM,KAAK,CAC3B,EACD,oBAAqB,CACnB,OAAU,SACV,WAAc,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAC7C,EACD,uBAAwB,CACtB,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,+BAAgC,CAC9B,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,qBAAsB,CACpB,OAAU,SACV,WAAc,CAAC,MAAM,CACtB,EACD,0BAA2B,CACzB,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,iCAAkC,CAChC,WAAc,CAAC,KAAK,CACrB,EACD,sBAAuB,CACrB,OAAU,QACV,WAAc,CAAC,KAAK,CACrB,EACD,yBAA0B,CACxB,OAAU,QACX,EACD,2BAA4B,CAC1B,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,qBAAsB,CACpB,OAAU,SACV,WAAc,CAAC,MAAM,CACtB,EACD,oBAAqB,CACnB,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,oBAAqB,CACnB,aAAgB,EACjB,EACD,+BAAgC,CAC9B,OAAU,SACV,WAAc,CAAC,MAAM,MAAM,CAC5B,EACD,+BAAgC,CAC9B,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,yBAA0B,CACxB,OAAU,SACV,WAAc,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK,CACrE,EACD,qBAAsB,CACpB,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,2BAA4B,CAC1B,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,2BAA4B,CAC1B,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,gCAAiC,CAC/B,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,oBAAqB,CACnB,OAAU,SACV,aAAgB,GAChB,WAAc,CAAC,KAAK,CACrB,EACD,sBAAuB,CACrB,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,oBAAqB,CACnB,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,yBAA0B,CACxB,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,yBAA0B,CACxB,OAAU,QACX,EACD,gCAAiC,CAC/B,OAAU,QACX,EACD,iCAAkC,CAChC,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,4BAA6B,CAC3B,OAAU,QACX,EACD,+BAAgC,CAC9B,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,yBAA0B,CACxB,OAAU,SACV,aAAgB,GAChB,WAAc,CAAC,KAAK,CACrB,EACD,yBAA0B,CACxB,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,yBAA0B,CACxB,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,4BAA6B,CAC3B,OAAU,QACX,EACD,gCAAiC,CAC/B,OAAU,QACX,EACD,yBAA0B,CACxB,OAAU,SACV,aAAgB,GAChB,WAAc,CAAC,MAAM,KAAK,CAC3B,EACD,2BAA4B,CAC1B,OAAU,SACV,WAAc,CAAC,MAAM,MAAM,MAAM,KAAK,CACvC,EACD,2BAA4B,CAC1B,OAAU,QACX,EACD,wBAAyB,CACvB,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,6BAA8B,CAC5B,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,+BAAgC,CAC9B,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,sBAAuB,CACrB,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,yBAA0B,CACxB,OAAU,SACV,WAAc,CAAC,UAAU,CAC1B,EACD,2BAA4B,CAC1B,OAAU,SACV,WAAc,CAAC,QAAQ,CACxB,EACD,qBAAsB,CACpB,OAAU,SACV,WAAc,CAAC,MAAM,CACtB,EACD,qBAAsB,CACpB,OAAU,QACX,EACD,oBAAqB,CACnB,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,0BAA2B,CACzB,aAAgB,GAChB,WAAc,CAAC,KAAK,CACrB,EACD,qCAAsC,CACpC,OAAU,SACV,WAAc,CAAC,SAAS,CACzB,EACD,8BAA+B,CAC7B,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,kCAAmC,CACjC,OAAU,QACV,WAAc,CAAC,SAAS,CACzB,EACD,+BAAgC,CAC9B,OAAU,SACV,aAAgB,GAChB,WAAc,CAAC,MAAM,CACtB,EACD,2BAA4B,CAC1B,aAAgB,EACjB,EACD,sBAAuB,CACrB,OAAU,SACV,aAAgB,GAChB,WAAc,CAAC,OAAO,CACvB,EACD,6BAA8B,CAC5B,WAAc,CAAC,MAAM,CACtB,EACD,+BAAgC,CAC9B,OAAU,SACV,WAAc,CAAC,MAAM,KAAK,CAC3B,EACD,yBAA0B,CACxB,OAAU,QACV,WAAc,CAAC,KAAK,CACrB,EACD,oBAAqB,CACnB,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,iCAAkC,CAChC,OAAU,SACV,WAAc,CAAC,MAAM,MAAM,CAC5B,EACD,wBAAyB,CACvB,aAAgB,EACjB,EACD,+BAAgC,CAC9B,OAAU,SACV,WAAc,CAAC,aAAa,CAC7B,EACD,4BAA6B,CAC3B,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,uBAAwB,CACtB,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,uBAAwB,CACtB,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,wBAAyB,CACvB,OAAU,SACV,WAAc,CAAC,MAAM,CACtB,EACD,yBAA0B,CACxB,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,yBAA0B,CACxB,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,2BAA4B,CAC1B,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,uBAAwB,CACtB,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,8BAA+B,CAC7B,WAAc,CAAC,KAAK,CACrB,EACD,2BAA4B,CAC1B,OAAU,SACV,WAAc,CAAC,MAAM,MAAM,MAAM,MAAM,KAAK,CAC7C,EACD,4BAA6B,CAC3B,OAAU,SACV,WAAc,CAAC,MAAM,MAAM,KAAK,CACjC,EACD,2BAA4B,CAC1B,OAAU,SACV,WAAc,CAAC,MAAM,MAAM,MAAM,KAAK,CACvC,EACD,wBAAyB,CACvB,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,4BAA6B,CAC3B,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,2BAA4B,CAC1B,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,2BAA4B,CAC1B,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,wBAAyB,CACvB,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,uBAAwB,CACtB,OAAU,SACV,WAAc,CAAC,KAAK,KAAK,CAC1B,EACD,oCAAqC,CACnC,aAAgB,GAChB,WAAc,CAAC,KAAK,CACrB,EACD,oBAAqB,CACnB,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,qBAAsB,CACpB,OAAU,QACV,WAAc,CAAC,KAAK,IAAI,CACzB,EACD,sBAAuB,CACrB,OAAU,QACV,WAAc,CAAC,MAAM,KAAK,CAC3B,EACD,uBAAwB,CACtB,OAAU,SACV,aAAgB,GAChB,WAAc,CAAC,MAAM,KAAK,CAC3B,EACD,mCAAoC,CAClC,OAAU,SACV,WAAc,CAAC,MAAM,KAAK,CAC3B,EACD,kCAAmC,CACjC,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,+BAAgC,CAC9B,OAAU,SACV,aAAgB,GAChB,WAAc,CAAC,KAAK,CACrB,EACD,uCAAwC,CACtC,OAAU,QACV,WAAc,CAAC,KAAK,CACrB,EACD,sCAAuC,CACrC,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,oBAAqB,CACnB,OAAU,QACV,WAAc,CAAC,KAAK,CACrB,EACD,mBAAoB,CAClB,OAAU,SACV,aAAgB,GAChB,WAAc,CAAC,IAAI,CACpB,EACD,qBAAsB,CACpB,OAAU,SACV,WAAc,CAAC,MAAM,CACtB,EACD,gCAAiC,CAC/B,OAAU,SACV,aAAgB,GAChB,WAAc,CAAC,KAAK,CACrB,EACD,gCAAiC,CAC/B,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,oBAAqB,CACnB,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,wBAAyB,CACvB,OAAU,SACV,aAAgB,GAChB,WAAc,CAAC,KAAK,CACrB,EACD,yBAA0B,CACxB,OAAU,SACV,WAAc,CAAC,MAAM,CACtB,EACD,uBAAwB,CACtB,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,wBAAyB,CACvB,OAAU,SACV,WAAc,CAAC,SAAS,CACzB,EACD,uBAAwB,CACtB,OAAU,SACV,WAAc,CAAC,QAAQ,CACxB,EACD,2BAA4B,CAC1B,OAAU,SACV,WAAc,CAAC,IAAI,CACpB,EACD,qBAAsB,CACpB,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,oBAAqB,CACnB,OAAU,SACV,aAAgB,GAChB,WAAc,CAAC,KAAK,CACrB,EACD,oBAAqB,CACnB,OAAU,SACV,WAAc,CAAC,MAAM,IAAI,CAC1B,EACD,oBAAqB,CACnB,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,wBAAyB,CACvB,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,wBAAyB,CACvB,OAAU,SACV,WAAc,CAAC,UAAU,MAAM,CAChC,EACD,qBAAsB,CACpB,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,sBAAuB,CACrB,OAAU,SACV,WAAc,CAAC,OAAO,CACvB,EACD,4BAA6B,CAC3B,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,sCAAuC,CACrC,aAAgB,GAChB,WAAc,CAAC,QAAQ,CACxB,EACD,oCAAqC,CACnC,OAAU,OACV,aAAgB,EACjB,EACD,6BAA8B,CAC5B,OAAU,SACV,WAAc,CAAC,MAAM,MAAM,KAAK,CACjC,EACD,qBAAsB,CACpB,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,0BAA2B,CACzB,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,0BAA2B,CACzB,OAAU,SACV,aAAgB,GAChB,WAAc,CAAC,KAAK,CACrB,EACD,mBAAoB,CAClB,OAAU,SACV,WAAc,CAAC,IAAI,CACpB,EACD,yBAA0B,CACxB,OAAU,SACV,WAAc,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,CACvD,EACD,sBAAuB,CACrB,OAAU,MACX,EACD,wBAAyB,CACvB,OAAU,MACX,EACD,uBAAwB,CACtB,OAAU,SACV,WAAc,CAAC,MAAM,CACtB,EACD,2BAA4B,CAC1B,OAAU,MACX,EACD,4BAA6B,CAC3B,OAAU,MACX,EACD,4BAA6B,CAC3B,OAAU,OACV,WAAc,CAAC,KAAK,CACrB,EACD,0BAA2B,CACzB,OAAU,MACX,EACD,6BAA8B,CAC5B,OAAU,MACX,EACD,0BAA2B,CACzB,OAAU,MACX,EACD,uCAAwC,CACtC,OAAU,MACX,EACD,4CAA6C,CAC3C,OAAU,MACX,EACD,uBAAwB,CACtB,OAAU,OACV,WAAc,CAAC,MAAM,CACtB,EACD,wBAAyB,CACvB,OAAU,OACV,aAAgB,GAChB,WAAc,CAAC,QAAQ,KAAK,CAC7B,EACD,8BAA+B,CAC7B,OAAU,QACX,EACD,kBAAmB,CACjB,OAAU,OACV,aAAgB,GAChB,WAAc,CAAC,MAAM,MAAM,KAAK,CACjC,EACD,sBAAuB,CACrB,OAAU,OACV,aAAgB,GAChB,WAAc,CAAC,KAAK,CACrB,EACD,yCAA0C,CACxC,OAAU,MACX,EACD,4BAA6B,CAC3B,OAAU,MACX,EACD,uBAAwB,CACtB,OAAU,MACX,EACD,sBAAuB,CACrB,OAAU,OACV,aAAgB,GAChB,WAAc,CAAC,KAAK,CACrB,EACD,wBAAyB,CACvB,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,uBAAwB,CACtB,OAAU,OACV,WAAc,CAAC,MAAM,CACtB,EACD,uBAAwB,CACtB,OAAU,SACV,WAAc,CAAC,MAAM,CACtB,EACD,qBAAsB,CACpB,OAAU,OACV,WAAc,CAAC,OAAO,QAAQ,OAAO,KAAK,CAC3C,EACD,mBAAoB,CAClB,OAAU,OACV,WAAc,CAAC,MAAM,CACtB,EACD,sBAAuB,CACrB,OAAU,OACV,WAAc,CAAC,KAAK,CACrB,EACD,kBAAmB,CACjB,OAAU,OACV,aAAgB,GAChB,WAAc,CAAC,KAAK,CACrB,EACD,mBAAoB,CAClB,OAAU,MACX,EACD,iCAAkC,CAChC,OAAU,MACX,EACD,iBAAkB,CAChB,OAAU,MACX,EACD,aAAc,CACZ,OAAU,MACX,EACD,cAAe,CACb,OAAU,MACX,EACD,YAAa,CACX,OAAU,MACX,EACD,cAAe,CACb,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,YAAa,CACX,OAAU,MACX,EACD,eAAgB,CACd,OAAU,MACX,EACD,gBAAiB,CACf,OAAU,MACX,EACD,aAAc,CACZ,OAAU,MACX,EACD,YAAa,CACX,OAAU,MACX,EACD,gCAAiC,CAC/B,OAAU,MACX,EACD,gBAAiB,CACf,OAAU,MACX,EACD,eAAgB,CACd,OAAU,MACX,EACD,cAAe,CACb,OAAU,OACV,aAAgB,GAChB,WAAc,CAAC,KAAK,KAAK,CAC1B,EACD,aAAc,CACZ,OAAU,MACX,EACD,aAAc,CACZ,OAAU,MACX,EACD,kBAAmB,CACjB,OAAU,MACX,EACD,WAAY,CACV,OAAU,MACX,EACD,cAAe,CACb,OAAU,MACX,EACD,YAAa,CACX,OAAU,MACX,EACD,qBAAsB,CACpB,OAAU,MACX,EACD,qBAAsB,CACpB,OAAU,MACX,EACD,qBAAsB,CACpB,OAAU,MACX,EACD,qBAAsB,CACpB,OAAU,MACX,EACD,WAAY,CACV,OAAU,MACX,EACD,aAAc,CACZ,OAAU,MACX,EACD,aAAc,CACZ,OAAU,MACX,EACD,iBAAkB,CAChB,OAAU,MACX,EACD,aAAc,CACZ,OAAU,MACX,EACD,iBAAkB,CAChB,OAAU,MACX,EACD,cAAe,CACb,OAAU,MACX,EACD,cAAe,CACb,OAAU,MACX,EACD,cAAe,CACb,OAAU,MACX,EACD,eAAgB,CACd,OAAU,MACX,EACD,eAAgB,CACd,OAAU,MACX,EACD,eAAgB,CACd,OAAU,MACX,EACD,gBAAiB,CACf,OAAU,MACX,EACD,gBAAiB,CACf,OAAU,MACX,EACD,eAAgB,CACd,OAAU,MACX,EACD,gBAAiB,CACf,OAAU,MACX,EACD,gBAAiB,CACf,OAAU,MACX,EACD,YAAa,CACX,OAAU,MACX,EACD,eAAgB,CACd,OAAU,MACX,EACD,eAAgB,CACd,OAAU,MACX,EACD,aAAc,CACZ,OAAU,MACX,EACD,aAAc,CACZ,OAAU,MACX,EACD,cAAe,CACb,OAAU,MACX,EACD,aAAc,CACZ,OAAU,MACX,EACD,gBAAiB,CACf,OAAU,MACX,EACD,gBAAiB,CACf,OAAU,MACX,EACD,gBAAiB,CACf,OAAU,MACX,EACD,gBAAiB,CACf,OAAU,MACX,EACD,aAAc,CACZ,OAAU,MACX,EACD,aAAc,CACZ,OAAU,MACX,EACD,cAAe,CACb,OAAU,MACX,EACD,cAAe,CACb,OAAU,MACX,EACD,cAAe,CACb,OAAU,MACX,EACD,YAAa,CACX,OAAU,MACX,EACD,gBAAiB,CACf,OAAU,MACX,EACD,kBAAmB,CACjB,OAAU,MACX,EACD,aAAc,CACZ,OAAU,MACX,EACD,mBAAoB,CAClB,OAAU,MACX,EACD,aAAc,CACZ,OAAU,QACX,EACD,YAAa,CACX,OAAU,MACX,EACD,YAAa,CACX,OAAU,MACX,EACD,YAAa,CACX,OAAU,OACV,aAAgB,EACjB,EACD,WAAY,CACV,OAAU,MACX,EACD,YAAa,CACX,OAAU,MACX,EACD,aAAc,CACZ,OAAU,SACV,WAAc,CAAC,MAAM,OAAO,MAAM,KAAK,CACxC,EACD,mBAAoB,CAClB,OAAU,MACX,EACD,YAAa,CACX,OAAU,OACV,aAAgB,GAChB,WAAc,CAAC,OAAO,KAAK,CAC5B,EACD,kBAAmB,CACjB,OAAU,MACX,EACD,YAAa,CACX,OAAU,MACX,EACD,mBAAoB,CAClB,OAAU,MACX,EACD,aAAc,CACZ,OAAU,OACV,aAAgB,GAChB,WAAc,CAAC,OAAO,MAAM,OAAO,MAAM,MAAM,KAAK,CACrD,EACD,sBAAuB,CACrB,OAAU,MACX,EACD,iBAAkB,CAChB,OAAU,QACX,EACD,YAAa,CACX,OAAU,OACV,aAAgB,GAChB,WAAc,CAAC,MAAM,MAAM,KAAK,CACjC,EACD,aAAc,CACZ,OAAU,MACX,EACD,kBAAmB,CACjB,OAAU,MACX,EACD,aAAc,CACZ,OAAU,MACX,EACD,gBAAiB,CACf,OAAU,MACX,EACD,aAAc,CACZ,OAAU,MACX,EACD,gBAAiB,CACf,OAAU,MACX,EACD,gBAAiB,CACf,OAAU,MACX,EACD,cAAe,CACb,OAAU,MACX,EACD,kBAAmB,CACjB,OAAU,MACX,EACD,YAAa,CACX,OAAU,MACX,EACD,yBAA0B,CACxB,OAAU,MACX,EACD,iBAAkB,CAChB,OAAU,MACX,EACD,oBAAqB,CACnB,OAAU,MACX,EACD,YAAa,CACX,OAAU,MACX,EACD,YAAa,CACX,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,aAAc,CACZ,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,YAAa,CACX,OAAU,MACX,EACD,gBAAiB,CACf,OAAU,MACX,EACD,aAAc,CACZ,OAAU,MACX,EACD,gBAAiB,CACf,OAAU,MACX,EACD,cAAe,CACb,OAAU,MACX,EACD,cAAe,CACb,OAAU,MACX,EACD,YAAa,CACX,OAAU,MACX,EACD,wBAAyB,CACvB,OAAU,MACX,EACD,aAAc,CACZ,OAAU,MACX,EACD,gBAAiB,CACf,OAAU,MACX,EACD,eAAgB,CACd,OAAU,MACX,EACD,aAAc,CACZ,OAAU,MACX,EACD,eAAgB,CACd,OAAU,MACX,EACD,sBAAuB,CACrB,OAAU,MACX,EACD,gBAAiB,CACf,OAAU,MACX,EACD,qBAAsB,CACpB,OAAU,MACX,EACD,iBAAkB,CAChB,OAAU,MACX,EACD,sBAAuB,CACrB,OAAU,MACX,EACD,+BAAgC,CAC9B,OAAU,MACX,EACD,qBAAsB,CACpB,OAAU,MACX,EACD,qBAAsB,CACpB,OAAU,MACX,E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OAAU,OACV,aAAgB,EACjB,EACD,wBAAyB,CACvB,OAAU,MACX,EACD,uBAAwB,CACtB,OAAU,MACX,EACD,mBAAoB,CAClB,OAAU,MACX,EACD,sBAAuB,CACrB,OAAU,OACV,aAAgB,EACjB,EACD,sBAAuB,CACrB,OAAU,OACV,aAAgB,EACjB,EACD,uBAAwB,CACtB,OAAU,MACX,EACD,kBAAmB,CACjB,OAAU,OACV,aAAgB,EACjB,EACD,qBAAsB,CACpB,OAAU,MACX,EACD,oBAAqB,CACnB,OAAU,OACV,aAAgB,EACjB,EACD,mBAAoB,CAClB,OAAU,MACX,EACD,mBAAoB,CAClB,OAAU,OACV,aAAgB,EACjB,EACD,0BAA2B,CACzB,OAAU,MACX,EACD,4BAA6B,CAC3B,OAAU,MACX,EACD,gCAAiC,CAC/B,OAAU,MACX,EACD,sBAAuB,CACrB,OAAU,OACV,aAAgB,GAChB,WAAc,CAAC,WAAW,UAAU,CACrC,EACD,gBAAiB,CACf,OAAU,OACV,WAAc,CAAC,MAAM,KAAK,CAC3B,EACD,gBAAiB,CACf,aAAgB,EACjB,EACD,WAAY,CACV,aAAgB,EACjB,EACD,oBAAqB,CACnB,WAAc,CAAC,SAAS,WAAW,CACpC,EACD,WAAY,CACV,OAAU,OACV,aAAgB,GAChB,WAAc,CAAC,KAAK,CACrB,EACD,WAAY,CACV,OAAU,OACV,aAAgB,GAChB,WAAc,CAAC,KAAK,CACrB,EACD,kBAAmB,CACjB,OAAU,MACX,EACD,iBAAkB,CAChB,OAAU,MACX,EACD,WAAY,CACV,OAAU,MACX,EACD,kBAAmB,CACjB,OAAU,MACX,EACD,gBAAiB,CACf,OAAU,MACX,EACD,gBAAiB,CACf,OAAU,MACX,EACD,cAAe,CACb,OAAU,MACX,EACD,wBAAyB,CACvB,OAAU,MACX,EACD,aAAc,CACZ,WAAc,CAAC,OAAO,CACvB,EACD,YAAa,CACX,OAAU,OACV,aAAgB,GAChB,WAAc,CAAC,OAAO,MAAM,OAAO,CACpC,EACD,YAAa,CACX,WAAc,CAAC,MAAM,CACtB,EACD,kBAAmB,CACjB,OAAU,OACV,aAAgB,E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SACA,OACA,MACA,cACA,aACA,WACA,QACA,gBACA,OACA,SACA,WACA,UACA,cACA,QACA,QACA,SACA,aACA,+DChCFA,EAAO,QAAa,CAClB,SACA,QACA,SACA,UACA,WACA,aACA,QACA,UACA,WACA,OACA,QACA,SACA,SACA,SACA,WACA,WACA,YACA,YACA,MACA,MACA,MACA,WACA,SACA,UACA,UACA,aACA,aACA,UACA,gBACA,WACA,iBACA,WACA,UACA,UACA,QACA,QACA,eACA,SACA,QACA,UACA,SACA,SACA,KACA,KACA,SACA,QACA,OACA,MACA,SACA,WACA,aACA,YACA,IACA,IACA,SACA,MACA,OACA,8DC1DFA,EAAO,QAAa,CAClB,YACA,cACA,QACA,kBACA,sBACA,YACA,UACA,gBACA,MACA,QACA,+DCXFA,EAAO,QAAa,CAClB,SACA,WACA,WACA,gDCJF,IAAI0mO,EAAU,GACd1mO,EAAO,QAAa0mO,EACpBA,EAAQ,aAAej/R,IACvBi/R,EAAQ,MAAQz+R,IAChBy+R,EAAQ,KAAOt3O,IACfs3O,EAAQ,KAAO91O,0ECLfoP,EAAO,QAAa,CAChB,OACA,QACA,MACA,aACA,OACA,QACA,UACA,OACA,OACA,OACA,UACA,YACA,QACA,SACA,mBACA,QACA,YACA,6CClBJ,IAAI2mO,EAAQ,GACZ3mO,EAAO,QAAa2mO,EACpBA,EAAM,MAAQl/R,0CCFd,IAAIirR,EAAK,GACT1yN,EAAO,QAAa0yN,EACpBA,EAAG,MAAQ,UACXA,EAAG,UAAY,MACfA,EAAG,QAAUjrR,IACbirR,EAAG,QAAUzqR,IACbyqR,EAAG,SAAWtjO,IACdsjO,EAAG,SAAW9hO,IACd8hO,EAAG,MAAQl/N,IACXk/N,EAAG,KAAOx3N,IACVw3N,EAAG,aAAenuN,IAClBmuN,EAAG,WAAaztN,IAChBytN,EAAG,SAAWznN,IACdynN,EAAG,SAAWxnN,IACdwnN,EAAG,KAAOvnN,IACVunN,EAAG,OAAStnN,IACZsnN,EAAG,IAAMrnN,IACTqnN,EAAG,QAAUpnN,IACbonN,EAAG,KAAOnnN,IACV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","names":["l","n","p","q","r","t","u","v","w","x","y","z","A","a","B","C","D","E","b","e","F","G","H","I","J","K","L","M","d","c","k","h","g","f","m","N","O","escape","P","Q","R","S","T","U","V","W","react_production_min","reactModule","require$$0","reactJsxRuntime_production_min","jsxRuntimeModule","__name","exports","schedulerModule","aa","ba","require$$1","da","ea","fa","ha","ia","ja","ka","la","ma","na","oa","pa","qa","ra","ta","ua","va","wa","xa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ka","La","Ma","Na","Oa","Pa","Qa","Ra","Sa","Ta","Ua","Va","Wa","Xa","Ya","Za","$a","ab","bb","cb","db","eb","fb","gb","hb","ib","jb","kb","lb","mb","nb","pb","qb","rb","sb","tb","ub","vb","wb","xb","yb","zb","Ab","Bb","Cb","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Nb","Ob","Pb","Qb","Rb","Sb","Tb","Ub","Vb","Wb","Xb","Yb","Zb","$b","ac","bc","cc","dc","ec","fc","gc","hc","ic","jc","kc","lc","mc","nc","oc","pc","qc","rc","sc","tc","uc","vc","wc","xc","yc","Ac","zc","Bc","Cc","Dc","Ec","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Pc","Qc","Rc","Sc","Tc","Uc","Vc","Wc","Xc","Yc","Zc","$c","ad","bd","cd","dd","ed","fd","gd","hd","id","jd","kd","ld","md","nd","od","pd","qd","rd","sd","td","ud","vd","wd","xd","yd","zd","Ad","Bd","Cd","Dd","Ed","Fd","Gd","Hd","Id","Jd","Kd","Ld","Md","Od","Nd","Pd","Qd","Rd","Sd","Td","Ud","Vd","Wd","Xd","Yd","Zd","$d","ae","be","ce","de","ee","fe","ge","he","ie","je","ke","le","me","ne","oe","pe","qe","re","se","te","ue","ve","we","xe","ye","ze","Ae","Be","Ce","De","Ee","Fe","Ge","He","Ie","Je","Ke","Le","Me","Ne","Oe","Pe","Qe","Re","Se","Te","Ue","Ve","We","Xe","Ye","Ze","$e","af","bf","cf","df","ef","ff","gf","hf","jf","kf","lf","mf","nf","of","pf","qf","rf","sf","tf","uf","vf","wf","xf","yf","zf","Af","Bf","Cf","Df","Ef","Ff","Gf","Hf","If","Jf","Kf","ca","sa","Lf","Mf","Nf","Of","Pf","Qf","Rf","Sf","Tf","Uf","Vf","Xf","Wf","Yf","Zf","$f","ag","bg","cg","dg","eg","fg","gg","hg","ig","jg","kg","lg","mg","ng","og","pg","qg","rg","sg","tg","ug","vg","wg","xg","yg","zg","Ag","Bg","Cg","Dg","Eg","Fg","Gg","Hg","Ig","Jg","Kg","Lg","Mg","Ng","Og","Pg","Qg","Rg","Sg","Tg","Ug","Vg","Wg","Xg","Yg","Zg","$g","ah","bh","ch","dh","eh","fh","gh","hh","ih","jh","kh","lh","mh","nh","oh","ph","qh","rh","sh","th","uh","vh","wh","xh","yh","Ch","zh","Ah","Bh","Dh","Eh","Fh","Gh","Hh","Ih","Jh","Kh","Lh","Mh","Nh","Oh","Ph","Qh","Rh","Sh","Th","Uh","Vh","Wh","Xh","Yh","Zh","$h","ai","bi","ci","di","ei","fi","gi","hi","ii","ji","ki","li","mi","ni","oi","pi","qi","ri","si","ti","ui","vi","wi","xi","yi","zi","Ai","Bi","Ci","Di","Ei","Fi","Gi","Ji","Ki","Li","Mi","Ni","Oi","Pi","Qi","Ri","Si","Ti","Ui","Vi","Wi","Xi","Yi","Zi","$i","aj","bj","cj","dj","ej","fj","gj","hj","ij","jj","kj","lj","mj","nj","oj","pj","qj","rj","sj","tj","uj","vj","wj","xj","yj","zj","Aj","Bj","Cj","Dj","Ej","Fj","Gj","Hj","Ij","Jj","Kj","Lj","Mj","Nj","Oj","Pj","Qj","Tj","Uj","Vj","Wj","Xj","Yj","Zj","ak","bk","ck","dk","ek","fk","gk","hk","ik","jk","kk","lk","mk","nk","ok","pk","qk","rk","sk","tk","uk","vk","wk","xk","yk","zk","Ak","Bk","Ck","Dk","Ek","Fk","Gk","Hk","X","Ik","Jk","Kk","Lk","Mk","Nk","Ok","Pk","Qk","Rk","Sk","Tk","Uk","Vk","Wk","Xk","Yk","Zk","$k","al","Y","Z","bl","cl","dl","el","fl","gl","hl","il","jl","kl","ll","ml","nl","ol","pl","ql","rl","sl","tl","ul","vl","wl","xl","yl","zl","Al","Bl","Dl","El","Fl","Gl","Hl","Il","Jl","Kl","Rj","Cl","Hi","Ii","ob","Sj","Ll","Ml","Nl","Ol","Pl","Ql","Rl","Sl","Tl","Ul","Vl","Wl","Xl","Yl","Zl","$l","am","bm","cm","dm","em","fm","gm","hm","reactDom_profiling_min","checkDCE","err","profilingModule","createRoot","AuthContext","createContext","defaultAuthParams","useAuthProvider","useContext","Subscribable","_a","listener","isServer","noop","functionalUpdate","updater","input","isValidTimeout","value","timeUntilStale","updatedAt","staleTime","matchQuery","filters","query","type","exact","fetchStatus","predicate","queryKey","stale","hashQueryKeyByOptions","partialMatchKey","isActive","matchMutation","mutation","status","mutationKey","hashKey","options","_","val","isPlainObject","result","key","replaceEqualDeep","array","isPlainArray","aSize","bItems","bSize","copy","equalItems","i","shallowEqualObjects","o","hasObjectPrototype","ctor","prot","sleep","ms","resolve","scheduleMicrotask","callback","replaceData","prevData","data","addToEnd","items","item","max","newItems","addToStart","FocusManager","__privateAdd","_focused","_cleanup","_setup","__privateSet","onFocus","__privateGet","setup","focused","focusManager","OnlineManager","_online","onOnline","onlineListener","offlineListener","online","onlineManager","defaultRetryDelay","failureCount","canFetch","networkMode","CancelledError","isCancelledError","createRetryer","config","isRetryCancelled","isResolved","continueFn","promiseResolve","promiseReject","promise","outerResolve","outerReject","cancel","cancelOptions","reject","cancelRetry","continueRetry","shouldPause","pause","continueResolve","canContinue","run","promiseOrValue","error","retry","retryDelay","delay","shouldRetry","createNotifyManager","queue","transactions","notifyFn","batchNotifyFn","batch","flush","schedule","batchCalls","args","originalQueue","fn","notifyManager","Removable","_gcTimeout","newGcTime","Query","_setOptions","_dispatch","_initialState","_revertState","_cache","_promise","_retryer","_observers","_defaultOptions","_abortSignalConsumed","__privateMethod","setOptions_fn","getDefaultState","newData","dispatch_fn","state","setStateOptions","observer","fetchOptions","abortController","queryFnContext","addSignalProperty","object","fetchFn","context","_b","_c","_d","onError","action","reducer","hasData","initialDataUpdatedAt","QueryCache","_queries","client","queryHash","queryInMap","defaultedFilters","queries","event","Mutation","_mutationCache","variables","executeMutation","restored","_f","_e","_h","_g","_j","_i","_l","_k","_n","_m","_p","_o","_r","_q","_t","_s","MutationCache","_mutations","_mutationId","_resuming","__privateWrapper","pausedMutations","infiniteQueryBehavior","pages","direction","oldPages","oldPageParams","empty","cancelled","queryFn","fetchPage","param","previous","page","maxPages","addTo","pageParamFn","getPreviousPageParam","getNextPageParam","oldData","remainingPages","pageParams","lastIndex","QueryClient","_queryCache","_queryDefaults","_mutationDefaults","_mountCount","_unsubscribeFocus","_unsubscribeOnline","cachedData","defaultedOptions","queryCache","refetchFilters","defaultedCancelOptions","promises","defaults","queryDefault","QueryObserver","_executeFetch","_updateStaleTimeout","_computeRefetchInterval","_updateRefetchInterval","_updateTimers","_clearStaleTimeout","_clearRefetchInterval","_updateQuery","_notify","_client","_currentQuery","_currentQueryInitialState","_currentResult","_currentResultState","_currentResultOptions","_selectError","_selectFn","_selectResult","_lastQueryWithDefinedData","_staleTimeoutId","_refetchIntervalId","_currentRefetchInterval","_trackedProps","shouldFetchOnMount","executeFetch_fn","updateTimers_fn","shouldFetchOn","clearStaleTimeout_fn","clearRefetchInterval_fn","notifyOptions","prevOptions","prevQuery","updateQuery_fn","mounted","shouldFetchOptionally","updateStaleTimeout_fn","nextRefetchInterval","computeRefetchInterval_fn","updateRefetchInterval_fn","shouldAssignObserverCurrentProperties","trackedResult","prevResult","prevResultState","prevResultOptions","queryInitialState","errorUpdatedAt","isPlaceholderData","fetchOnMount","fetchOptionally","selectError","placeholderData","isFetching","isPending","isError","isLoading","isStale","nextResult","defaultNotifyOptions","shouldNotifyListeners","notifyOnChangeProps","notifyOnChangePropsValue","includedProps","typedKey","notify_fn","timeout","nextInterval","shouldLoadOnMount","field","optimisticResult","MutationObserver","_updateResult","_currentMutation","_mutateOptions","updateResult_fn","QueryClientContext","React.createContext","useQueryClient","queryClient","React.useContext","QueryClientProvider","children","React.useEffect","React.createElement","IsRestoringContext","useIsRestoring","createValue","isReset","QueryErrorResetBoundaryContext","useQueryErrorResetBoundary","shouldThrowError","throwError","params","ensurePreventErrorBoundaryRetry","errorResetBoundary","useClearResetErrorBoundary","getHasError","throwOnError","ensureStaleTime","shouldSuspend","fetchOptimistic","useBaseQuery","Observer","isRestoring","React.useState","React.useSyncExternalStore","React.useCallback","onStoreChange","unsubscribe","useQuery","useMutation","mutate","mutateOptions","_extends","target","source","Action","PopStateEventType","createHashHistory","createHashLocation","window","globalHistory","pathname","search","hash","parsePath","createLocation","createHashHref","to","base","href","url","hashIndex","createPath","validateHashLocation","location","warning","getUrlBasedHistory","invariant","message","cond","createKey","getHistoryState","index","current","_ref","path","parsedPath","searchIndex","getLocation","createHref","validateLocation","v5Compat","getIndex","handlePop","nextIndex","delta","history","push","historyState","replace","createURL","ResultType","immutableRouteKeys","isIndexRoute","route","convertRoutesToDataRoutes","routes","mapRouteProperties","parentPath","manifest","treePath","indexRoute","pathOrLayoutRoute","matchRoutes","locationArg","basename","stripBasename","branches","flattenRoutes","rankRouteBranches","matches","matchRouteBranch","safelyDecodeURI","convertRouteMatchToUiMatch","match","loaderData","parentsMeta","flattenRoute","relativePath","meta","joinPaths","routesMeta","computeScore","_route$path","exploded","explodeOptionalSegments","segments","first","rest","isOptional","required","restExploded","subpath","compareIndexes","paramRe","dynamicSegmentValue","indexRouteValue","emptySegmentValue","staticSegmentValue","splatPenalty","isSplat","s","initialScore","score","segment","branch","matchedParams","matchedPathname","end","remainingPathname","matchPath","normalizePathname","pattern","matcher","compiledParams","compilePath","pathnameBase","captureGroups","memo","paramName","splatValue","safelyDecodeURIComponent","caseSensitive","regexpSource","startIndex","nextChar","resolvePath","fromPathname","toPathname","resolvePathname","normalizeSearch","normalizeHash","getInvalidPathError","char","dest","getPathContributingMatches","getResolveToMatches","v7_relativeSplatPath","pathMatches","idx","resolveTo","toArg","routePathnames","locationPathname","isPathRelative","isEmptyPath","from","routePathnameIndex","toSegments","hasExplicitTrailingSlash","hasCurrentTrailingSlash","paths","_ErrorResponseImpl","statusText","internal","ErrorResponseImpl","isRouteErrorResponse","validMutationMethodsArr","validMutationMethods","validRequestMethodsArr","validRequestMethods","redirectStatusCodes","redirectPreserveMethodStatusCodes","IDLE_NAVIGATION","IDLE_FETCHER","IDLE_BLOCKER","ABSOLUTE_URL_REGEX","defaultMapRouteProperties","TRANSITIONS_STORAGE_KEY","createRouter","init","routerWindow","isBrowser","detectErrorBoundary","dataRoutes","inFlightDataRoutes","future","unlistenHistory","subscribers","savedScrollPositions","getScrollRestorationKey","getScrollPosition","initialScrollRestored","initialMatches","initialErrors","getInternalRouterError","getShortCircuitMatches","initialized","hasLazyRoutes","hasLoaders","errors","router","pendingAction","pendingPreventScrollReset","pendingNavigationController","pendingViewTransitionEnabled","appliedViewTransitions","removePageHideEventListener","isUninterruptedRevalidation","isRevalidationRequired","cancelledDeferredRoutes","cancelledFetcherLoads","fetchControllers","incrementingLoadId","pendingNavigationLoadId","fetchReloadIds","fetchRedirectIds","fetchLoadMatches","activeFetchers","deletedFetchers","activeDeferreds","blockerFunctions","ignoreNextHistoryUpdate","initialize","historyAction","blockerKey","shouldBlockNavigation","updateBlocker","blockers","updateState","startNavigation","restoreAppliedTransitions","_saveAppliedTransitions","persistAppliedTransitions","dispose","deleteFetcher","deleteBlocker","subscribe","newState","opts","completedFetchers","deletedFetchersKeys","fetcher","subscriber","completeNavigation","_temp","_location$state","_location$state2","flushSync","isActionReload","isMutationMethod","actionData","mergeLoaderData","preventScrollReset","viewTransitionOpts","priorPaths","toPaths","getSavedScrollPosition","navigate","normalizedPath","normalizeTo","submission","normalizeNavigateOptions","currentLocation","nextLocation","userReplace","revalidate","interruptActiveLoads","saveScrollPosition","routesToUse","loadingNavigation","notFoundMatches","cancelActiveDeferreds","isHashChangeOnly","request","createClientSideRequest","pendingActionData","pendingError","findNearestBoundary","actionOutput","handleAction","getLoadingNavigation","shortCircuited","handleLoaders","navigation","getSubmittingNavigation","actionMatch","getTargetMatch","callLoaderOrAction","isRedirectResult","startRedirectNavigation","isErrorResult","boundaryMatch","isDeferredResult","overrideNavigation","fetcherSubmission","initialHydration","activeSubmission","getSubmissionFromNavigation","matchesToLoad","revalidatingFetchers","getMatchesToLoad","routeId","updatedFetchers","markFetchRedirectsDone","revalidatingFetcher","getLoadingFetcher","abortFetcher","abortPendingFetchRevalidations","results","loaderResults","fetcherResults","callLoadersAndMaybeResolveData","redirect","findRedirect","fetcherKey","processLoaderData","deferredData","aborted","didAbortFetchLoads","abortStaleFetchLoads","shouldUpdateFetchers","fetch","setFetcherError","handleFetcherAction","handleFetcherLoader","requestMatches","existingFetcher","updateFetcherState","getSubmittingFetcher","fetchRequest","originatingLoadId","actionResult","getDoneFetcher","revalidationRequest","loadId","loadFetcher","staleKey","doneFetcher","resolveDeferredData","_temp2","redirectLocation","isDocumentReload","redirectHistoryAction","formMethod","formAction","formEncType","currentMatches","fetchersToLoad","resolveDeferredResults","getFetcher","deleteFetcherAndUpdateState","count","controller","markFetchersDone","keys","doneKeys","landedId","yeetedKeys","getBlocker","blocker","newBlocker","_ref2","entries","blockerFunction","cancelledRouteIds","dfd","enableScrollRestoration","positions","getPosition","getKey","getScrollKey","_internalSetRoutes","newRoutes","isSubmissionNavigation","prependBasename","fromRouteId","relative","contextualMatches","activeRouteMatch","hasNakedIndexQuery","normalizeFormMethod","isFetcher","isValidMethod","getInvalidBodyError","rawFormMethod","stripHashFromPath","text","acc","_ref3","name","json","searchParams","formData","convertFormDataToSearchParams","convertSearchParamsToFormData","getLoaderMatchesUntilBoundary","boundaryId","boundaryMatches","isInitialLoad","currentUrl","nextUrl","navigationMatches","isNewLoader","currentRouteMatch","nextRouteMatch","shouldRevalidateLoader","isNewRouteInstance","fetcherMatches","fetcherMatch","shouldRevalidate","currentLoaderData","currentMatch","isNew","isMissingData","currentPath","loaderMatch","arg","routeChoice","loadLazyRouteModule","lazyRoute","routeToUpdate","routeUpdates","lazyRouteProperty","isPropertyStaticallyDefined","resultType","onReject","runHandler","handler","abortPromise","handlerError","values","isResponse","isSameBasename","contentType","isDeferredData","_result$init","_result$init2","signal","processRouteLoaderData","statusCode","foundError","loaderHeaders","newLoaderData","mergedLoaderData","_temp5","method","errorMessage","deferred","signals","isRevalidatingLoader","unwrap","_window","transitions","sessionPositions","DataRouterContext","DataRouterStateContext","NavigationContext","LocationContext","RouteContext","RouteErrorContext","useHref","useInRouterContext","UNSAFE_invariant","navigator","useResolvedPath","joinedPathname","useLocation","useMatch","React.useMemo","useIsomorphicLayoutEffect","React.useLayoutEffect","useNavigate","isDataRoute","useNavigateStable","useNavigateUnstable","dataRouterContext","routePathnamesJson","UNSAFE_getResolveToMatches","activeRef","React.useRef","useParams","routeMatch","useRoutes","useRoutesImpl","dataRouterState","parentMatches","parentParams","parentPathnameBase","locationFromContext","_parsedLocationArg$pa","parsedLocationArg","renderedMatches","_renderMatches","DefaultErrorComponent","useRouteError","stack","preStyles","React.Fragment","defaultErrorElement","_RenderErrorBoundary","React.Component","props","errorInfo","RenderErrorBoundary","RenderedRoute","routeContext","_dataRouterState2","_dataRouterState","errorIndex","renderFallback","fallbackIndex","needsToRunLoader","outlet","shouldRenderHydrateFallback","errorElement","hydrateFallbackElement","warningOnce","getChildren","DataRouterHook","DataRouterStateHook","useDataRouterContext","hookName","ctx","useDataRouterState","useRouteContext","useCurrentRouteId","thisRoute","_state$errors","blockerId","useBlocker","shouldBlock","setBlockerKey","alreadyWarned","Navigate","_ref4","isStatic","jsonPath","Route","_props","Router","_ref5","basenameProp","locationProp","navigationType","staticProp","navigationContext","locationContext","trailingPathname","Routes","_ref6","createRoutesFromChildren","React.Children","element","React.isValidElement","updates","_objectWithoutPropertiesLoose","excluded","sourceKeys","isModifiedEvent","shouldProcessLinkClick","_excluded","REACT_ROUTER_VERSION","createHashRouter","parseHydrationData","UNSAFE_mapRouteProperties","deserializeErrors","serialized","UNSAFE_ErrorResponseImpl","ErrorConstructor","ViewTransitionContext","FetchersContext","START_TRANSITION","startTransitionImpl","React","FLUSH_SYNC","flushSyncImpl","ReactDOM","startTransitionSafe","flushSyncSafe","_Deferred","reason","Deferred","RouterProvider","fallbackElement","setStateImpl","pendingState","setPendingState","vtContext","setVtContext","renderDfd","setRenderDfd","transition","setTransition","interruption","setInterruption","fetcherData","v7_startTransition","optInStartTransition","setState","isViewTransitionUnavailable","renderPromise","UNSAFE_DataRouterContext","UNSAFE_DataRouterStateContext","DataRoutes","UNSAFE_useRoutesImpl","Link","React.forwardRef","_ref7","ref","onClick","reloadDocument","unstable_viewTransition","UNSAFE_NavigationContext","absoluteHref","isExternal","targetUrl","internalOnClick","useLinkClickHandler","handleClick","replaceProp","RA_STORE","testLocalStorage","localStorageAvailable","localStorageStore","version","appKey","prefix","prefixLength","subscriptions","publish","onLocalStorageChange","tryParse","storedVersion","getStorage","storage","defaultValue","valueFromStorage","keyPrefix","publishKey","_LocalStorageShim","LocalStorageShim","memoryStorage","freeGlobal","global","_freeGlobal","freeSelf","root","_root","Symbol","_Symbol","objectProto","hasOwnProperty","nativeObjectToString","symToStringTag","getRawTag","isOwn","tag","unmasked","_getRawTag","objectToString","_objectToString","require$$2","nullTag","undefinedTag","baseGetTag","_baseGetTag","isObject","isObject_1","asyncTag","funcTag","genTag","proxyTag","isFunction","isFunction_1","coreJsData","_coreJsData","maskSrcKey","uid","isMasked","func","_isMasked","funcProto","funcToString","toSource","_toSource","require$$3","reRegExpChar","reIsHostCtor","reIsNative","baseIsNative","_baseIsNative","getValue","_getValue","getNative","_getNative","defineProperty","_defineProperty","baseAssignValue","_baseAssignValue","eq","other","eq_1","assignValue","objValue","_assignValue","isArray","isArray_1","isObjectLike","isObjectLike_1","symbolTag","isSymbol","isSymbol_1","reIsDeepProp","reIsPlainProp","isKey","_isKey","nativeCreate","_nativeCreate","hashClear","_hashClear","hashDelete","_hashDelete","HASH_UNDEFINED","hashGet","_hashGet","hashHas","_hashHas","hashSet","_hashSet","require$$4","Hash","length","entry","_Hash","listCacheClear","_listCacheClear","assocIndexOf","_assocIndexOf","arrayProto","splice","listCacheDelete","_listCacheDelete","listCacheGet","_listCacheGet","listCacheHas","_listCacheHas","listCacheSet","_listCacheSet","ListCache","_ListCache","Map","_Map","mapCacheClear","_mapCacheClear","isKeyable","_isKeyable","getMapData","map","_getMapData","mapCacheDelete","_mapCacheDelete","mapCacheGet","_mapCacheGet","mapCacheHas","_mapCacheHas","mapCacheSet","size","_mapCacheSet","MapCache","_MapCache","FUNC_ERROR_TEXT","memoize","resolver","memoized","cache","memoize_1","MAX_MEMOIZE_SIZE","memoizeCapped","_memoizeCapped","rePropName","reEscapeChar","stringToPath","string","number","quote","subString","_stringToPath","arrayMap","iteratee","_arrayMap","INFINITY","symbolProto","symbolToString","baseToString","_baseToString","toString","toString_1","castPath","_castPath","MAX_SAFE_INTEGER","reIsUint","isIndex","_isIndex","toKey","_toKey","baseSet","customizer","nested","newValue","_baseSet","set","set_1","last","last_1","baseGet","_baseGet","baseSlice","start","_baseSlice","parent","_parent","baseUnset","_baseUnset","unset","unset_1","get","get_1","memoryStore","flatStorage","flatten","doFlatten","prop","isEmpty","defaultStore","StoreContext","StoreContextProvider","Store","useEffect","useStoreContext","stackClear","_stackClear","stackDelete","_stackDelete","stackGet","_stackGet","stackHas","_stackHas","LARGE_ARRAY_SIZE","stackSet","pairs","_stackSet","require$$5","Stack","_Stack","setCacheAdd","_setCacheAdd","setCacheHas","_setCacheHas","SetCache","_SetCache","arraySome","_arraySome","cacheHas","_cacheHas","COMPARE_PARTIAL_FLAG","COMPARE_UNORDERED_FLAG","equalArrays","bitmask","equalFunc","isPartial","arrLength","othLength","arrStacked","othStacked","seen","arrValue","othValue","compared","othIndex","_equalArrays","Uint8Array","_Uint8Array","mapToArray","_mapToArray","setToArray","_setToArray","boolTag","dateTag","errorTag","mapTag","numberTag","regexpTag","setTag","stringTag","arrayBufferTag","dataViewTag","symbolValueOf","equalByTag","convert","stacked","_equalByTag","arrayPush","offset","_arrayPush","baseGetAllKeys","keysFunc","symbolsFunc","_baseGetAllKeys","arrayFilter","resIndex","_arrayFilter","stubArray","stubArray_1","propertyIsEnumerable","nativeGetSymbols","getSymbols","symbol","_getSymbols","baseTimes","_baseTimes","argsTag","baseIsArguments","_baseIsArguments","isArguments","isArguments_1","stubFalse","stubFalse_1","freeExports","freeModule","module","moduleExports","Buffer","nativeIsBuffer","isBuffer","isLength","isLength_1","arrayTag","objectTag","weakMapTag","float32Tag","float64Tag","int8Tag","int16Tag","int32Tag","uint8Tag","uint8ClampedTag","uint16Tag","uint32Tag","typedArrayTags","baseIsTypedArray","_baseIsTypedArray","baseUnary","_baseUnary","freeProcess","nodeUtil","types","nodeIsTypedArray","isTypedArray","isTypedArray_1","arrayLikeKeys","inherited","isArr","isArg","isBuff","isType","skipIndexes","_arrayLikeKeys","isPrototype","Ctor","proto","_isPrototype","overArg","transform","_overArg","nativeKeys","_nativeKeys","baseKeys","_baseKeys","isArrayLike","isArrayLike_1","keys_1","getAllKeys","_getAllKeys","equalObjects","objProps","objLength","othProps","objStacked","skipCtor","objCtor","othCtor","_equalObjects","DataView","_DataView","Promise","_Promise","Set","_Set","WeakMap","_WeakMap","require$$6","promiseTag","dataViewCtorString","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","getTag","ctorString","_getTag","require$$7","baseIsEqualDeep","objIsArr","othIsArr","objTag","othTag","objIsObj","othIsObj","isSameTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","_baseIsEqualDeep","baseIsEqual","_baseIsEqual","isEqual","isEqual_1","substituteTokens","template","defaultTokenRegex","expression","argument","defaultI18nProvider","I18nContext","AddNotificationContext","NotificationContext","NotificationContextProvider","notifications","setNotifications","useState","addNotification","useCallback","notification","takeNotification","resetNotifications","contextValue","useMemo","jsx","useAddNotificationContext","useNotificationContext","useNotify","messageType","notificationOptions","I18nContextProvider","defaulti18nContext","locale","useStore","notify","setKey","isInitialized","setInitialized","assignMergeValue","_assignMergeValue","createBaseFor","fromRight","iterable","_createBaseFor","baseFor","_baseFor","allocUnsafe","cloneBuffer","buffer","isDeep","cloneArrayBuffer","arrayBuffer","_cloneArrayBuffer","cloneTypedArray","typedArray","_cloneTypedArray","copyArray","_copyArray","objectCreate","baseCreate","_baseCreate","getPrototype","_getPrototype","initCloneObject","_initCloneObject","isArrayLikeObject","isArrayLikeObject_1","objectCtorString","isPlainObject_1","safeGet","_safeGet","copyObject","_copyObject","nativeKeysIn","_nativeKeysIn","baseKeysIn","isProto","_baseKeysIn","keysIn","keysIn_1","toPlainObject","toPlainObject_1","require$$8","require$$9","require$$10","require$$11","require$$12","require$$13","require$$14","baseMergeDeep","srcIndex","mergeFunc","srcValue","isCommon","isTyped","_baseMergeDeep","baseMerge","_baseMerge","identity","identity_1","apply","thisArg","_apply","nativeMax","overRest","otherArgs","_overRest","constant","constant_1","baseSetToString","_baseSetToString","HOT_COUNT","HOT_SPAN","nativeNow","shortOut","lastCalled","stamp","remaining","_shortOut","setToString","_setToString","baseRest","_baseRest","isIterateeCall","_isIterateeCall","createAssigner","assigner","sources","guard","_createAssigner","merge","merge_1","useI18nProvider","useLocaleState","i18nProvider","defaultLocale","useLocale","useLocales","locales","useTranslate","translate","BasenameContext","BasenameContextProvider","AdminRouter","isInRouter","DummyRouter","InternalRouter","Fragment","now","now_1","reWhitespace","trimmedEndIndex","_trimmedEndIndex","reTrimStart","baseTrim","_baseTrim","NAN","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","toNumber","isBinary","toNumber_1","nativeMin","debounce","wait","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","invokeFunc","time","leadingEdge","timerExpired","remainingWait","timeSinceLastCall","timeSinceLastInvoke","timeWaiting","shouldInvoke","trailingEdge","debounced","isInvoking","debounce_1","useRestoreScrollPosition","storeKey","debounceMs","position","setPosition","useTrackScrollPosition","handleScroll","RestoreScrollPosition","useBasename","useCreatePath","resource","removeDoubleSlashes","useRedirect","redirectTo","absoluteTarget","useResetErrorBoundaryOnLocationChange","resetErrorBoundary","originalPathname","useRef","useScrollToTop","GET_LIST","GET_ONE","GET_MANY","GET_MANY_REFERENCE","CREATE","UPDATE","UPDATE_MANY","DELETE","DELETE_MANY","fetchActionsWithArrayOfIdentifiedRecordsResponse","fetchActionsWithArrayOfRecordsResponse","defaultDataProvider","fetchMap","convertLegacyDataProvider","legacyDataProvider","fetchType","__","DataProviderContext","DataProviderContext$1","_HttpError","body","HttpError","HttpError$1","token","singleMatcher","multiMatcher","decodeComponents","components","split","left","right","decode","tokens","customDecodeURIComponent","replaceMap","decodeUriComponent","encodedURI","splitOnFirst","separator","separatorIndex","includeKeys","descriptor","isNullOrUndefined","strictUriEncode","encodeFragmentIdentifier","encoderForArrayFormat","encode","keyValueSeparator","parserForArrayFormat","accumulator","isEncodedArray","arrayValue","validateArrayFormatSeparator","decodeComponent","keysSorter","removeHash","hashStart","getHash","parseValue","extract","queryStart","parse","formatter","returnValue","parameter","parameter_","key2","value2","stringify","shouldFilter","objectCopy","parseUrl","url_","stringifyUrl","queryFromUrl","queryString","urlObjectForFragmentEncode","pick","filter","fragmentIdentifier","exclude","exclusionFilter","isValidObject","hasKeys","flattenObject","has","Events","EE","once","addListener","emitter","evt","clearEvent","EventEmitter","names","events","handlers","listeners","a1","a2","a3","a4","a5","len","j","undoableEventEmitter","withLifecycleCallbacks","dataProvider","newParams","applyCallbacks","record","records","handlersToApply","callbacksValue","timer","useLogoutIfAccessDenied","authProvider","logout","useLogout","logoutUser","getErrorMessage","logoutIfAccessDeniedWithoutProvider","defaultMessage","arrayReturnTypes","useDataProvider","logoutIfAccessDenied","response","loggedOut","useLoading","mountedRef","isFetchingRef","isMutatingRef","setIsLoading","unsubscribeQueryCache","unsubscribeMutationCache","useRefresh","useGetOne","onSuccess","onSettled","queryOptions","onSuccessEvent","useEvent","onErrorEvent","onSettledEvent","MAX_DATA_LENGTH_TO_CACHE","useGetList","pagination","sort","total","pageInfo","metaValue","resourceValue","oldRecord","useGetMany","ids","spreadableSymbol","isFlattenable","_isFlattenable","baseFlatten","depth","isStrict","_baseFlatten","baseFindIndex","fromIndex","_baseFindIndex","baseIsNaN","_baseIsNaN","strictIndexOf","_strictIndexOf","baseIndexOf","_baseIndexOf","arrayIncludes","_arrayIncludes","arrayIncludesWith","comparator","_arrayIncludesWith","noop_1","createSet","_createSet","baseUniq","includes","outer","computed","seenIndex","_baseUniq","union","arrays","union_1","useGetManyAggregate","callGetManyQueries","capturedArgs","calls","callsByResource","callArgs","callsForResource","aggregatedIds","uniqueMeta","callThatHasAllAggregatedIds","useGetManyReference","is","shallowEqual","objA","objB","keysA","keysB","obj","removeEmpty","child","removeKey","deepRemoveKey","deepKey","deep","SET_SORT","SORT_ASC","SORT_DESC","SET_PAGE","SET_PER_PAGE","SET_FILTER","SHOW_FILTER","HIDE_FILTER","oppositeOrder","queryReducer","previousState","sortReducer","order","defaultSort","useSortState","initialSort","dispatch","useReducer","isFirstRender","paginationReducer","prevState","nextState","defaultPagination","usePaginationState","initialPagination","setPagination","setPerPage","perPage","setPage","useCheckMinimumRequiredProps","displayName","requiredProps","propNames","missingProps","useDeleteWithUndoController","mutationOptions","mutationMeta","otherMutationOptions","useResourceContext","unselect","useUnselect","deleteOne","useDelete","handleDelete","useDeleteWithConfirmController","mutationMode","open","setOpen","handleDialogOpen","handleDialogClose","SaveContext","SaveContextProvider","basePickBy","_basePickBy","baseHasIn","_baseHasIn","hasPath","hasFunc","_hasPath","hasIn","hasIn_1","basePick","_basePick","flatten_1","flatRest","_flatRest","pick_1","usePickSaveContext","useSaveContext","useMutationMiddlewares","callbacks","registerMutationMiddleware","unregisterMutationMiddleware","mutateWithMiddlewares","next","newArgs","useCreateController","disableAuthentication","useAuthenticated","hasEdit","hasShow","useResourceDefinition","finalRedirectTo","getDefaultRedirectRoute","recordToUse","getRecordFromLocation","create","saving","useCreate","validationErrors","save","transformFromSave","metaFromSave","callTimeOptions","getResourceLabel","useGetResourceLabel","defaultTitle","RecordContext","RecordContextProvider","CreateContext","CreateContextProvider","CreateBase","controllerProps","ResourceContextProvider","useCreateContext","useEditController","propsId","DefaultRedirect","getRecordRepresentation","useGetRecordRepresentation","refresh","queryMeta","otherQueryOptions","refetch","recordRepresentation","recordCached","update","useUpdate","onSuccessFromSave","onErrorFromSave","useRecordContext","OptionalRecordContextProvider","RecordRepresentation","EditContext","EditContextProvider","EditBase","useEditContext","ReferenceFieldContext","ReferenceFieldContextProvider","useReferenceFieldContext","useReference","reference","useReferenceFieldController","link","useFieldValue","referenceRecordQuery","resourceDefinition","ReferenceFieldBase","eol","helper","getType","arr","str","num","bool","date","EOL","joinRows","rows","join","_typeof","_createClass","defineProperties","Constructor","protoProps","staticProps","_classCallCheck","instance","Handler","self","isInstanceOfTypeName","resultArray","resultObject","propData","resultCheckType","firstElementWithoutItem","aIndex","firstResult","boolean","globalScope","typeName","escapeDelimiters","textDelimiter","rowDelimiter","forceTextDelimiter","endOfLine","textDelimiterRegex","escapedDelimiter","enclosingCondition","Parser","done","stream","lastRow","finalRows","fillGaps","col","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","_step","row","missing","fileRows","fillRows","getHeaderIndex","header","fillAndPush","newRow","emptyRowIndexByHeader","currentRow","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_iterator2","_step2","elementHeaderIndex","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_iterator3","_step3","itemResult","parseResult","horizontalRows","_this","headers","csv","Stream","_Transform","dist","DEFAULT_OPTIONS","userOptions","_arguments","any","_arguments2","_arguments3","_any","defaultKeys","objectKeys","isOptions","parser","downloadCSV","filename","fakeLink","blob","defaultExporter","jsonExport","defaultExporter$1","fetchRelatedRecords","getRelatedIds","post","useRecordSelection","disableSyncWithStore","localIds","setLocalIds","defaultSelection","storeIds","setStoreIds","resetStore","useRemoveFromStore","setIds","reset","selectionModifiers","idsToAdd","idsToRemove","baseIsMatch","matchData","noCustomizer","_baseIsMatch","isStrictComparable","_isStrictComparable","getMatchData","_getMatchData","matchesStrictComparable","_matchesStrictComparable","baseMatches","_baseMatches","baseMatchesProperty","_baseMatchesProperty","baseProperty","_baseProperty","basePropertyDeep","_basePropertyDeep","property","property_1","baseIteratee","_baseIteratee","getSymbolsIn","_getSymbolsIn","getAllKeysIn","_getAllKeysIn","pickBy","pickBy_1","useSafeSetState","initialState","safeSetState","usePrevious","useTimeout","ready","setReady","useIsMounted","isMounted","useListParams","disableSyncWithLocation","filterDefaultValues","localParams","setLocalParams","defaultParams","setParams","tempParams","requestSignature","queryFromLocation","parseQueryFromLocation","getQuery","changeParams","setSort","newPage","newPerPage","filterValues","emptyObject","displayedFilterValues","debouncedSetFilters","lodashDebounce","displayedFilters","setFilters","hideFilter","filterName","showFilter","validQueryParams","parseObject","hasCustomParams","getNumberOrDefault","possibleNumber","parsedNumber","ListContext","ListFilterContext","usePickFilterContext","ListSortContext","usePickSortContext","ListPaginationContext","usePickPaginationContext","ListContextProvider","useListController","exporter","isValidElement","queryModifiers","selectedIds","previousData","totalPages","currentSort","injectedProps","sanitizeListRestProps","propName","ListBase","useExpanded","single","expandedIds","setExpandedIds","expanded","toggleExpanded","useExpandAll","isExpanded","id2","toggleExpandedAll","unaffectedExpandedIds","expanded_id","useList","defaultFilter","initialPage","initialPerPage","filterCallback","fetchingState","setFetchingState","loadingState","setLoadingState","finalItems","setFinalItems","setSortState","filterRef","setDisplayedFilters","setFilterValues","tempData","flattenFilterValues","filterValue","recordValue","filteredLength","useListContext","propsIndex","propsLength","defaults_1","useListContextWithProps","extractListContextProps","hasCreate","onSelect","onToggleItem","onUnselectItems","useListFilterContext","useListPaginationContext","useListSortContext","emptyArray","useReferenceArrayFieldController","useReferenceManyFieldController","isCheckBoxInput","isDateObject","isObjectType","getEventValue","getNodeParentName","isNameInFieldArray","tempObject","prototypeCopy","isWeb","cloneObject","compact","isUndefined","EVENTS","VALIDATION_MODE","INPUT_VALIDATION_RULES","HookFormContext","useFormContext","FormProvider","getProxyFormState","formState","control","localProxyFormState","isRoot","_key","isEmptyObject","shouldRenderFormState","formStateData","_proxyFormState","updateFormState","convertToArrayPayload","shouldSubscribeByName","signalName","currentName","useSubscribe","subscription","useFormState","methods","disabled","_mounted","_localProxyFormState","_name","isString","generateWatchOutput","_names","formValues","isGlobal","fieldName","useWatch","updateValue","tempPath","useController","shouldUnregister","isArrayField","_registerProps","_shouldUnregisterField","updateMounted","elm","appendErrors","validateAllFieldCriteria","focusFieldBy","fields","fieldsNames","currentField","getValidationModes","mode","isWatched","isBlurEvent","watchName","updateFieldArrayRootError","fieldArrayErrors","isBoolean","isFileInput","isHTMLElement","owner","isMessage","isRadioInput","isRegex","defaultResult","validResult","getCheckboxValue","option","defaultReturn","getRadioValue","getValidateError","getValueAndMessage","validationData","validateField","shouldUseNativeValidation","isFieldArray","refs","maxLength","minLength","min","validate","valueAsNumber","mount","inputValue","inputRef","setCustomValidity","isRadio","isCheckBox","isRadioOrCheckbox","appendErrorsCurry","getMinMaxMessage","exceedMax","maxLengthMessage","minLengthMessage","maxType","minType","exceedMin","maxOutput","minOutput","valueNumber","valueDate","convertTimeToDate","isTime","isWeek","maxLengthOutput","minLengthOutput","patternValue","validateError","validationResult","updatePath","isEmptyArray","childObject","createSubject","isPrimitive","deepEqual","object1","object2","keys1","keys2","val1","val2","isMultipleSelect","live","objectHasFunction","markFieldsDirty","isParentNodeArray","getDirtyFieldsFromDefaultValues","dirtyFieldsFromValues","getDirtyFields","defaultValues","getFieldValueAs","valueAsDate","setValueAs","getFieldValue","getResolverOptions","_fields","criteriaMode","getRuleValue","rule","hasValidation","schemaErrorLookup","skipValidation","isTouched","isSubmitted","reValidateMode","unsetEmptyArray","defaultOptions","createFormControl","flushRootRender","_options","_formState","_defaultValues","_formValues","_state","delayErrorCallback","_subjects","shouldCaptureDirtyFields","validationModeBeforeSubmit","validationModeAfterSubmit","shouldDisplayAllAssociatedErrors","_updateValid","shouldUpdateValid","isValid","_executeSchema","executeBuiltInValidation","_updateIsValidating","_updateFieldArray","shouldSetValues","shouldUpdateFieldsAndState","fieldValues","touchedFields","_getDirty","updateErrors","updateValidAndValue","shouldSkipSetValueAs","setFieldValue","updateTouchAndDirty","fieldValue","shouldDirty","shouldRender","shouldUpdateField","isPreviousDirty","output","isCurrentFieldPristine","isPreviousFieldTouched","shouldRenderByError","fieldState","previousFieldError","updatedFormState","executeSchemaAndUpdateState","shouldOnlyCheckValid","isFieldArrayRoot","fieldError","_removeUnmounted","unregister","getValues","_getWatch","_getFieldArray","fieldReference","optionRef","checkboxRef","radioRef","trigger","setValues","fieldKey","setValue","cloneValue","onChange","isFieldValueUpdated","getCurrentFieldValue","shouldSkipValidation","watched","previousErrorLookupResult","errorLookupResult","fieldNames","getFieldState","clearErrors","inputName","setError","watch","payload","register","disabledIsDefined","fieldRef","radioOrCheckbox","_focusError","handleSubmit","onValid","onInvalid","resetField","_reset","keepStateOptions","updatedValues","cloneUpdatedValues","form","useForm","_formControl","useReferenceParams","newTempParams","useReferenceInputController","enableGetChoices","paramsModifiers","currentValue","isGetMatchingEnabled","possibleValuesData","isFetchingPossibleValues","isLoadingPossibleValues","isPendingPossibleValues","errorPossibleValues","refetchGetList","currentReferenceRecord","refetchReference","errorReference","isLoadingReference","isFetchingReference","isPendingReference","referenceRecord","setReferenceRecord","finalData","finalTotal","FormGroupsContext","ValidationErrorSpecialFormatPrefix","ValidationError","ValidationError$1","getSimpleValidationResolver","transformedErrors","transformErrorFields","arrayHasErrors","transformedArrayErrors","isRaTranslationObj","addTypeAndMessage","ChoicesContext","ChoicesContextProvider","useChoicesContext","list","FormGroupsProvider","formGroups","formContextValue","group","useWarnWhenUnsavedChanges","enable","formRootPathname","isSubmitSuccessful","dirtyFields","isDirty","shouldNotify","setShouldNotify","shouldNotBlock","initialLocation","newLocationIsInsideCurrentLocation","newLocationIsShowView","beforeunload","WarnWhenUnsavedChanges","formRootPathName","formControl","getFormInitialValues","setSubmissionErrors","setErrorFromObject","rootPath","useNotifyIsFormInvalid","enabled","submitCount","submitCountRef","serverError","sanitizeEmptyValues","sanitizedValues","useAugmentedForm","onSubmit","disableInvalidFormNotification","saveContext","defaultValuesIncludingRecord","finalResolver","formRef","finalValues","sanitizeValues","formHandleSubmit","Form","className","noValidate","warnWhenUnsavedChanges","WarnWhenUnsavedChangesComponent","sourceContext","dataRouterStateContext","SourceContextProvider","EMAIL_REGEX","isValidationErrorMessageWithArgs","getMessage","messageArgs","lodashMemoize","combine2Validators","validator1","validator2","result1","resolvedResult1","composeValidators","validators","regex","email","oneOfTypeMessage","FormGroupContext","useFormGroups","useApplyInputDefaultValues","inputProps","isArrayInput","fieldArrayInputControl","finalSource","useWrappedSource","formValue","pathPart","numericRegex","useChoices","optionText","optionValue","disableValue","translateChoice","getChoiceText","choice","choiceName","getChoiceValue","getDisableValue","useFormGroupContext","isRequired","it","defaultFormat","defaultParse","useInput","format","isRequiredOption","initialOnBlur","initialOnChange","finalName","formGroupName","defaultId","useId","sanitizedValidate","controllerField","onBlur","eventOrValue","useSuggestions","allowCreate","choices","createText","limitChoicesToValue","matchSuggestion","selectedItem","suggestionLimit","getSuggestions","getSuggestionsFactory","escapeRegExp","defaultMatchSuggestion","suggestion","suggestionText","isReactElement","suggestions","selected","limitSuggestions","hasExactMatch","filterIsSelectedItem","getSuggestion","limit","ReferenceInputBase","useShowController","ShowContext","ShowContextProvider","ShowBase","useShowContext","paramsRef","hasCallTimeOnError","hasCallTimeOnSuccess","hasCallTimeOnSettled","callTimeResource","callTimeData","callTimeMeta","callTimeParams","returnPromise","otherCallTimeOptions","mutationResult","snapshot","callTimeOnError","callTimeOnSettled","updateCache","updateColl","old","res","coll","callTimeId","callTimePreviousData","userContext","previousRecord","queryKeys","prev","isUndo","newCollection","useDeleteMany","callTimeIds","PreferencesEditorContext","PreferencesEditorContextProvider","isEnabled","setIsEnabled","editor","setEditor","preferenceKey","setPreferenceKey","setPath","title","setTitleString","titleOptions","setTitleOptions","disable","setTitle","ResourceDefinitionContext","ResourceDefinitionContextProvider","defaultDefinitions","definitions","CoreAdminContext","store","finalQueryClient","finalAuthProvider","convertLegacyAuthProvider","finalDataProvider","ErrorBoundaryContext","_ErrorBoundary","Component","_this$props$onReset","_this$props","_len","info","_this$props$onError","_this$props2","prevProps","didCatch","resetKeys","hasArrayChanged","_this$props$onReset2","_this$props3","fallbackRender","FallbackComponent","fallback","childToRender","createElement","ErrorBoundary","useResourceDefinitionContext","useConfigureAdminRouterFromChildren","permissions","usePermissions","routesAndResources","useRoutesAndResourcesFromChildren","useRegisterResources","doLogout","setRoutesAndResources","mergeRoutesAndResources","useRoutesAndResourcesState","getRoutesAndResourceFromNodes","setStatus","getStatus","resolveChildFunction","childFunc","childrenFuncResult","resolvedChildren","functionChild","getSingleChildFunction","newRoutesAndResources","resources","definition","customRoutesWithLayout","customRoutesWithoutLayout","functionChildren","Children","customRoutesFromFragment","customRoutesElement","HasDashboardContext","HasDashboardContextProvider","useHasDashboard","CoreAdminRoutes","Layout","CatchAll","dashboard","LoadingPage","requireAuth","Ready","onlyAnonymousRoutes","setOnlyAnonymousRoutes","checkAuthLoading","setCheckAuthLoading","checkAuth","useCheckAuth","LogoutOnMount","jsxs","WithPermissions","DefaultTitleContext","DefaultTitleContextProvider","useDefaultTitle","DefaultLayout","DefaultError","CoreAdminUI","setErrorInfo","LoginCallbackPage","catchAll","Noop","disableTelemetry","ErrorComponent","layout","loading","LoginPage","img","handleError","createOrGetElement","ResourceContext","OptionalResourceContextProvider","reactIs_production_min","reactIsModule","Resource","edit","show","getElement","ElementOrComponent","isValidElementType","Element","icon","SourceContext","useSourceContext","useResourceDefinitions","inflection","transform_1","capitalize_1","humanize_1","inflect_1","singularize_1","pluralize_1","uncountableWords","pluralRules","singularRules","nonTitlecasedWords","idSuffix","underbar","spaceOrUnderbar","uppercase","underbarPrefix","applyRules","rules","skip","override","pluralize","plural","singularize","singular","inflect","camelize","lowFirstLetter","strPath","strArr","underscore","allUpperCase","humanize","capitalize","dasherize","titleize","demodulize","tableize","classify","foreignKey","dropIdUbar","ordinalize","ltd","suf","transformFunctions","methodFn","resourceDefinitions","hasList","useTranslateLabel","resourceFromContext","label","getFieldLabelTranslationArgs","FieldTitle","translateLabel","condition","defaultLabel","sourceWithoutDigits","sourceSuffix","getSourceParts","defaultLabelTranslation","getResourceFieldLabelKey","parts","lastPartWithDigits","part","onlyDigits","useLayoutEffect","useCheckForApplicationUpdate","ONE_HOUR","onNewVersionAvailableProp","currentHash","onNewVersionAvailable","getHashForUrl","interval","seed","h1","h2","getItem","setItem","storedValue","valueParam","runtimeDefaultValue","hookTimeKey","removeItem","useRemoveItemsFromStore","hookTimeKeyPrefix","removeItems","useResetStore","navigateRef","locationRef","loginUrl","redirectToCurrentLocationAfterLogin","redirectToFromProvider","redirectToParts","newLocation","newLocationOptions","emptyParams","useAuthState","logoutOnFailure","queryParams","isEmptyChildren","authParams","render","component","staticContext","WithPermissions$1","useLogin","locationState","nextPathName","nextSearch","afterLoginUrl","pathName","ret","redirectUrl","AUTH_LOGIN","AUTH_CHECK","AUTH_ERROR","AUTH_LOGOUT","AUTH_GET_PERMISSIONS","legacyAuthProvider","checkAuthWithoutAuthProvider","defaultIdentity","defaultQueryParams","useGetIdentity","useHandleAuthCallback","defaultRedirectUrl","queryResult","previousLocation","PreviousLocationStorageKey","PreferenceKeyContext","PreferenceKeyContextProvider","usePreferenceKey","usePreference","usePreferencesEditor","usePreferenceInput","valueFromStore","setValueFromStore","useSetInspectorTitle","preferencesEditorContext","getValuesFromRecords","_InferredElement","InferredElement","InferredElement$1","toDate","argStr","constructFrom","addDays","amount","_date","addMonths","dayOfMonth","endOfDesiredMonth","daysInMonth","add","duration","years","months","weeks","days","hours","minutes","seconds","dateWithMonths","dateWithDays","minutesToAdd","msToAdd","millisecondsInWeek","millisecondsInDay","millisecondsInMinute","millisecondsInHour","millisecondsInSecond","minutesInMonth","minutesInDay","getDefaultOptions","startOfWeek","weekStartsOn","day","diff","startOfISOWeek","getISOWeekYear","year","fourthOfJanuaryOfNextYear","startOfNextYear","fourthOfJanuaryOfThisYear","startOfThisYear","startOfDay","getTimezoneOffsetInMilliseconds","utcDate","differenceInCalendarDays","dateLeft","dateRight","startOfDayLeft","startOfDayRight","timestampLeft","timestampRight","startOfISOWeekYear","fourthOfJanuary","compareAsc","_dateLeft","_dateRight","isDate","differenceInCalendarMonths","yearDiff","monthDiff","getRoundingMethod","differenceInMilliseconds","endOfDay","endOfMonth","month","isLastDayOfMonth","differenceInMonths","sign","difference","isLastMonthNotFull","differenceInSeconds","startOfMonth","startOfYear","cleanDate","endOfYesterday","formatDistanceLocale","formatDistance","tokenValue","buildFormatLongFn","width","dateFormats","timeFormats","dateTimeFormats","formatLong","formatRelativeLocale","formatRelative","_baseDate","buildLocalizeFn","valuesArray","defaultWidth","eraValues","quarterValues","monthValues","dayValues","dayPeriodValues","formattingDayPeriodValues","ordinalNumber","dirtyNumber","rem100","localize","quarter","buildMatchFn","matchPattern","matchResult","matchedString","parsePatterns","findIndex","findKey","buildMatchPatternFn","matchOrdinalNumberPattern","parseOrdinalNumberPattern","matchEraPatterns","parseEraPatterns","matchQuarterPatterns","parseQuarterPatterns","matchMonthPatterns","parseMonthPatterns","matchDayPatterns","parseDayPatterns","matchDayPeriodPatterns","parseDayPeriodPatterns","enUS","getDayOfYear","getISOWeek","getWeekYear","firstWeekContainsDate","firstWeekOfNextYear","firstWeekOfThisYear","startOfWeekYear","firstWeek","getWeek","addLeadingZeros","targetLength","lightFormatters","signedYear","dayPeriodEnumValue","numberOfDigits","milliseconds","fractionalSeconds","dayPeriodEnum","formatters","era","signedWeekYear","weekYear","twoDigitYear","isoWeekYear","week","isoWeek","dayOfYear","dayOfWeek","localDayOfWeek","isoDayOfWeek","_localize","timezoneOffset","formatTimezoneWithOptionalMinutes","formatTimezone","formatTimezoneShort","timestamp","delimiter","absOffset","dateLongFormatter","timeLongFormatter","dateTimeLongFormatter","datePattern","timePattern","dateTimeFormat","longFormatters","dayOfYearTokenRE","weekYearTokenRE","throwTokens","isProtectedDayOfYearToken","isProtectedWeekYearToken","warnOrThrowProtectedError","_message","subject","formattingTokensRegExp","longFormattingTokensRegExp","escapedStringRegExp","doubleQuoteRegExp","unescapedLatinCharacterRegExp","formatStr","originalDate","substring","firstCharacter","longFormatter","cleanEscapedString","formatterOptions","matched","baseDate","minutesInAlmostTwoDays","comparison","localizeOptions","offsetInSeconds","nearestMonth","monthsSinceStartOfYear","getInternalDefaultOptions","getISODay","isAfter","dateToCompare","_dateToCompare","transpose","fromDate","constructor","TIMEZONE_UNIT_PRIORITY","_Setter","__publicField","_utcDate","Setter","_ValueSetter","validateValue","priority","subPriority","flags","ValueSetter","_DateToSystemTimezoneSetter","DateToSystemTimezoneSetter","_Parser","dateString","_value","_EraParser","EraParser","numericPatterns","timezonePatterns","mapValue","parseFnResult","mapFn","parseNumericPattern","parseTimezonePattern","parseAnyDigitsSigned","parseNDigits","parseNDigitsSigned","dayPeriodEnumToHours","dayPeriod","normalizeTwoDigitYear","currentYear","isCommonEra","absCurrentYear","rangeEnd","rangeEndCentury","isPreviousCentury","isLeapYearIndex","_YearParser","valueCallback","normalizedTwoDigitYear","YearParser","_LocalWeekYearParser","LocalWeekYearParser","_ISOWeekYearParser","_flags","firstWeekOfYear","ISOWeekYearParser","_ExtendedYearParser","ExtendedYearParser","_QuarterParser","QuarterParser","_StandAloneQuarterParser","StandAloneQuarterParser","_MonthParser","MonthParser","_StandAloneMonthParser","StandAloneMonthParser","setWeek","_LocalWeekParser","LocalWeekParser","setISOWeek","_ISOWeekParser","ISOWeekParser","DAYS_IN_MONTH","DAYS_IN_MONTH_LEAP_YEAR","_DateParser","isLeapYear","DateParser","_DayOfYearParser","DayOfYearParser","setDay","currentDay","dayIndex","_DayParser","DayParser","_LocalDayParser","wholeWeekDays","LocalDayParser","_StandAloneLocalDayParser","StandAloneLocalDayParser","setISODay","_ISODayParser","ISODayParser","_AMPMParser","AMPMParser","_AMPMMidnightParser","AMPMMidnightParser","_DayPeriodParser","DayPeriodParser","_Hour1to12Parser","isPM","Hour1to12Parser","_Hour0to23Parser","Hour0to23Parser","_Hour0To11Parser","Hour0To11Parser","_Hour1To24Parser","Hour1To24Parser","_MinuteParser","MinuteParser","_SecondParser","SecondParser","_FractionOfSecondParser","FractionOfSecondParser","_ISOTimezoneWithZParser","ISOTimezoneWithZParser","_ISOTimezoneParser","ISOTimezoneParser","_TimestampSecondsParser","TimestampSecondsParser","_TimestampMillisecondsParser","TimestampMillisecondsParser","parsers","notWhitespaceRegExp","dateStr","referenceDate","subFnOptions","setters","usedTokens","incompatibleTokens","incompatibleToken","usedToken","uniquePrioritySetters","setter","setterArray","isMatch","parseISO","additionalDigits","dateStrings","splitDateString","parseYearResult","parseYear","parseDate","parseTime","parseTimezone","dirtyDate","patterns","dateRegex","timeRegex","timezoneRegex","timeString","captures","century","isWeekDate","parseDateUnit","validateWeekDate","dayOfISOWeekYear","validateDate","validateDayOfYearDate","parseTimeUnit","validateTime","timezoneString","validateTimezone","fourthOfJanuaryDay","daysInMonths","_year","_hours","subMonths","isNumeric","valuesAreNumeric","isInteger","valuesAreInteger","valuesAreBoolean","valuesAreString","HtmlRegexp","isHtml","valuesAreHtml","valuesAreArray","valuesAreDate","isDateString","valuesAreDateString","valuesAreObject","DefaultComponent","defaultType","defaultTypes","hasType","inferElementFromValues","leafValues","vals","leafName","getElementsFromRecords","inferredElement","common","common$1","red","red$1","purple","purple$1","blue","blue$1","lightBlue","lightBlue$1","green","green$1","orange","orange$1","grey","grey$1","formatMuiErrorMessage","code","THEME_ID","reactPropsRegex","isPropValid","sheetForTag","createStyleElement","StyleSheet","before","_proto","nodes","sheet","MS","MOZ","WEBKIT","COMMENT","RULESET","DECLARATION","IMPORT","KEYFRAMES","abs","assign","charat","trim","replacement","indexof","substr","begin","strlen","sizeof","append","combine","line","column","character","characters","node","peek","caret","slice","alloc","dealloc","delimit","whitespace","escaping","commenter","identifier","compile","rulesets","pseudo","points","declarations","atrule","variable","scanning","ampersand","comment","declaration","ruleset","serialize","middleware","collection","rulesheet","prefixer","identifierWithPointTracking","toRules","parsed","getRules","fixedElements","compat","isImplicitRule","parentRules","removeLabel","defaultStylisPlugins","createCache","ssrStyles","dataEmotionAttribute","stylisPlugins","inserted","container","nodesToHydrate","attrib","_insert","omnipresentPlugins","currentSheet","finalizingPlugins","serializer","stylis","styles","selector","shouldCache","reactIs","REACT_STATICS","KNOWN_STATICS","FORWARD_REF_STATICS","MEMO_STATICS","TYPE_STATICS","getStatics","getOwnPropertyNames","getOwnPropertySymbols","getOwnPropertyDescriptor","getPrototypeOf","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","targetStatics","sourceStatics","hoistNonReactStatics_cjs","getRegisteredStyles","registered","registeredStyles","classNames","rawClassName","insertStyles","isStringTag","murmur2","unitlessKeys","hyphenateRegex","animationRegex","isCustomProperty","isProcessableValue","processStyleName","styleName","processStyleValue","p1","p2","cursor","unitless","handleInterpolation","mergedProps","interpolation","createStringFromObject","previousCursor","cached","interpolated","labelPattern","serializeStyles","stringMode","strings","identifierName","hashString","EmotionCacheContext","CacheProvider","withEmotionCache","forwardRef","ThemeContext","Global","sheetRef","rehydrating","sheetRefCurrent","css","keyframes","insertable","testOmitPropsOnStringTag","testOmitPropsOnComponent","getDefaultShouldForwardProp","composeShouldForwardProps","isReal","shouldForwardProp","optionsShouldForwardProp","createStyled","baseTag","targetClassName","defaultShouldForwardProp","shouldUseAs","Styled","finalTag","classInterpolations","finalShouldForwardProp","newProps","ele","possiblyStyleElement","nextTag","nextOptions","tags","newStyled","tagName","ReactPropTypesSecret","ReactPropTypesSecret_1","emptyFunction","emptyFunctionWithReset","factoryWithThrowingShims","shim","componentName","propFullName","secret","getShim","ReactPropTypes","propTypesModule","LAYER","StyledEngineProvider","injectFirst","_jsx","GlobalStyles","defaultTheme","globalStyles","themeInput","styled","emStyled","internal_processStyles","processor","prototype","deepClone","deepmerge","sortBreakpointsValues","breakpointsAsArray","breakpoint1","breakpoint2","createBreakpoints","breakpoints","unit","step","sortedValues","up","down","between","endIndex","only","not","keyIndex","shape","shape$1","defaultBreakpoints","handleBreakpoints","propValue","styleFromPropValue","theme","themeBreakpoints","breakpoint","mediaKey","cssKey","createEmptyBreakpointObject","breakpointsInput","_breakpointsInput$key","breakpointStyleKey","removeUnusedBreakpoints","breakpointKeys","style","breakpointOutput","mergeBreakpointsInOrder","emptyBreakpoints","mergedOutput","computeBreakpointsBase","breakpointValues","breakpointsKeys","resolveBreakpointValues","customBase","_formatMuiErrorMessage","getPath","checkVars","getStyleValue","themeMapping","propValueFinal","userValue","cssProperty","themeKey","properties","directions","aliases","getCssProperties","dir","marginKeys","paddingKeys","createUnaryUnit","_getPath","themeSpacing","createUnarySpacing","transformer","transformed","getStyleFromPropValue","cssProperties","resolveCssProperty","margin","padding","createSpacing","spacingInput","spacing","argsInput","compose","borderTransform","createBorderStyle","border","borderTop","borderRight","borderBottom","borderLeft","borderColor","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor","outline","outlineColor","borderRadius","gap","columnGap","rowGap","gridColumn","gridRow","gridAutoFlow","gridAutoColumns","gridAutoRows","gridTemplateColumns","gridTemplateRows","gridTemplateAreas","gridArea","paletteTransform","color","bgcolor","backgroundColor","sizingTransform","maxWidth","_props$theme","_props$theme2","breakpointsValues","minWidth","height","maxHeight","minHeight","boxSizing","defaultSxConfig","defaultSxConfig$1","objectsHaveSameKeys","objects","allKeys","callIfFn","maybeFn","unstable_createStyleFunctionSx","getThemeValue","styleFunctionSx","_theme$unstable_sxCon","sx","traverse","sxInput","sxObject","styleKey","styleFunctionSx$2","applyStyles","createTheme","paletteInput","shapeInput","muiTheme","isObjectEmpty","useTheme","contextTheme","systemDefaultTheme","useThemeWithoutDefault","themeId","upperTheme","MuiGlobalStyles","splitProps","_props$theme$unstable","extendSxProp","inSx","systemProps","otherProps","finalSx","defaultGenerator","createClassNameGenerator","generate","generator","ClassNameGenerator","ClassNameGenerator$1","clsx","createBox","defaultClassName","generateClassName","BoxRoot","inProps","_extendSxProp","globalStateClasses","generateUtilityClass","slot","globalStatePrefix","globalStateClass","generateUtilityClasses","slots","fnNameMatchRegex","getFunctionName","getFunctionComponentName","getWrappedName","outerType","innerType","wrapperName","functionName","getDisplayName","ForwardRef","Memo","_excluded2","_excluded3","lowercaseFirstLetter","resolveTheme","defaultOverridesResolver","processStyleArg","callableStyle","ownerState","resolvedStylesArg","resolvedStyle","variants","variant","rootShouldForwardProp","slotShouldForwardProp","systemSx","inputOptions","processStyles","componentSlot","inputSkipVariantsResolver","inputSkipSx","overridesResolver","skipVariantsResolver","skipSx","shouldForwardPropOption","defaultStyledResolver","styledEngineStyled","transformStyleArg","stylesArg","muiStyledResolver","styleArg","expressions","transformedStyleArg","expressionsWithDefaultTheme","styleOverrides","resolvedStyleOverrides","slotKey","slotStyle","_theme$components","themeVariants","numOfCustomFnsApplied","placeholders","resolveProps","defaultProps","defaultSlotProps","slotProps","slotPropName","getThemeProps","useThemeProps","useEnhancedEffect","useMediaQueryOld","defaultMatches","matchMedia","ssrMatchMedia","noSsr","setMatch","active","queryList","updateMatch","maybeReactUseSyncExternalStore","React[\"useSyncExternalStore\"]","useMediaQueryNew","getDefaultSnapshot","getServerSnapshot","getSnapshot","mediaQueryList","useMediaQuery","queryInput","supportMatchMedia","clamp","clampWrapper","hexToRgb","colors","decomposeColor","marker","colorSpace","recomposeColor","alpha","lighten","coefficient","createChainedFunction","funcs","later","deprecatedPropType","validator","isMuiElement","muiNames","_muiName","_element$type","ownerDocument","ownerWindow","requirePropFactory","componentNameInError","setRef","globalId","useGlobalId","idOverride","setDefaultId","maybeReactUseId","reactId","unsupportedProp","useControlled","controlled","defaultProp","isControlled","valueState","setValueIfUncontrolled","useEventCallback","useForkRef","UNINITIALIZED","useLazyRef","initArg","EMPTY","useOnMount","_Timeout","Timeout","hadKeyboardEvent","hadFocusVisibleRecently","hadFocusVisibleRecentlyTimeout","inputTypesWhitelist","focusTriggersKeyboardModality","handleKeyDown","handlePointerDown","handleVisibilityChange","prepare","doc","isFocusVisible","useIsFocusVisible","isFocusVisibleRef","handleBlurVisible","handleFocusVisible","getScrollbarSize","documentWidth","cachedType","detectScrollType","dummy","getNormalizedScrollLeft","scrollLeft","usePreviousProps","composeClasses","getUtilityClass","classes","utilityClass","ThemeContext$1","hasSymbol","mergeOuterLocalTheme","outerTheme","localTheme","ThemeProvider","RtlContext","RtlProvider","useRtl","EMPTY_THEME","useThemeScoping","isPrivate","resolvedTheme","mergedTheme","upperPrivateTheme","usePrivateTheme","engineTheme","privateTheme","rtlValue","MuiThemeProvider","StyledEngineThemeContext","defaultCreateStyledComponent","systemStyled","useThemePropsDefault","useThemePropsSystem","useUtilityClasses","getContainerUtilityClass","fixed","disableGutters","createContainer","createStyledComponent","ContainerRoot","breakpointValueKey","joinChildren","childrenArray","React.cloneElement","getSideFromDirection","directionValues","spacingValues","previousDirectionValue","createStack","StackRoot","themeProps","divider","useFlexGap","createMixins","mixins","_interopRequireDefault","colorManipulator","alpha_1","blend","darken_1","darken","emphasize_1","emphasize","getContrastRatio_1","getContrastRatio","getLuminance","hslToRgb","lighten_1","private_safeAlpha","private_safeDarken","private_safeEmphasize","private_safeLighten","rgbToHex","_formatMuiErrorMessage2","_clamp","intToHex","int","hex","colorChannel","decomposedColor","private_safeColorChannel","rgb","foreground","background","lumA","lumB","overlay","opacity","gamma","blendChannel","overlayColor","light","dark","addLightOrDark","intent","shade","tonalOffset","tonalOffsetLight","tonalOffsetDark","getDefaultPrimary","getDefaultSecondary","getDefaultError","getDefaultInfo","getDefaultSuccess","getDefaultWarning","createPalette","palette","contrastThreshold","primary","secondary","success","getContrastText","augmentColor","mainShade","lightShade","darkShade","modes","round","caseAllCaps","defaultFontFamily","createTypography","typography","fontFamily","fontSize","fontWeightLight","fontWeightRegular","fontWeightMedium","fontWeightBold","htmlFontSize","allVariants","pxToRem2","coef","pxToRem","buildVariant","fontWeight","lineHeight","letterSpacing","casing","shadowKeyUmbraOpacity","shadowKeyPenumbraOpacity","shadowAmbientShadowOpacity","createShadow","px","shadows","easing","formatMs","getAutoHeightDuration","createTransitions","inputTransitions","mergedEasing","mergedDuration","durationOption","easingOption","animatedProp","zIndex","zIndex$1","mixinsInput","transitionsInput","typographyInput","systemTheme","systemCreateTheme","defaultTheme$3","useThemeSystem","systemUseThemeProps","createStyled_1","_default","_extends2","_objectWithoutPropertiesLoose2","_styledEngine","_interopRequireWildcard","_deepmerge","_createTheme","_styleFunctionSx","_getRequireWildcardCache","rootShouldForwardProp$1","scopedTheme","SystemThemeProvider","getOverlayAlpha","elevation","alphaValue","getSvgIconUtilityClass","SvgIconRoot","_theme$transitions","_theme$transitions$cr","_theme$transitions2","_theme$typography","_theme$typography$pxT","_theme$typography2","_theme$typography2$px","_theme$typography3","_theme$typography3$px","_palette$ownerState$c","_palette","_palette2","_palette3","SvgIcon","htmlColor","inheritViewBox","titleAccess","viewBox","hasSvgAsChild","more","_jsxs","createSvgIcon","React.memo","unstable_ClassNameGenerator","createUseThemeProps","_setPrototypeOf","_inheritsLoose","subClass","superClass","setPrototypeOf","config$1","TransitionGroupContext","forceReflow","UNMOUNTED","EXITED","ENTERING","ENTERED","EXITING","Transition","_React$Component","parentGroup","appear","initialStatus","nextIn","nextStatus","exit","enter","mounting","_this2","appearing","maybeNode","maybeAppearing","timeouts","enterTimeout","_this3","_this4","doesNotHaveTimeoutOrListener","maybeNextCallback","childProps","Transition$1","_assertThisInitialized","getChildMapping","mapper","mergeChildMappings","getValueForKey","nextKeysPending","pendingKeys","prevKey","childMapping","nextKey","pendingNextKey","getProp","getInitialChildMapping","onExited","cloneElement","getNextChildMapping","nextProps","prevChildMapping","nextChildMapping","hasPrev","hasNext","prevChild","isLeaving","TransitionGroup","handleExited","firstRender","currentChildMapping","childFactory","TransitionGroup$1","reflow","getTransitionProps","_style$transitionDura","_style$transitionTimi","getPaperUtilityClass","square","PaperRoot","_theme$vars$overlays","Paper","Paper$1","isHostComponent","appendOwnerState","elementType","defaultContextValue","ClassNameConfiguratorContext","useClassNamesOverride","disableDefaultClasses","extractEventHandlers","excludeKeys","resolveComponentProps","componentProps","slotState","omitEventHandlers","mergeSlotProps","parameters","getSlotProps","additionalProps","externalSlotProps","externalForwardedProps","joinedClasses","mergedStyle","eventHandlers","componentsPropsWithoutEventHandlers","otherPropsWithoutEventHandlers","internalSlotProps","useSlotProps","_parameters$additiona","skipResolvingSlotProps","resolvedComponentsProps","internalRef","useSlot","initialElementType","getSlotOwnerState","internalForwardedProps","useSlotPropsParams","rootComponent","_mergeSlotProps","slotComponent","slotOwnerState","finalOwnerState","LeafComponent","Ripple","pulsate","rippleX","rippleY","rippleSize","inProp","leaving","setLeaving","rippleClassName","rippleStyles","childClassName","timeoutId","touchRippleClasses","_t2","_t3","_t4","DURATION","DELAY_RIPPLE","enterKeyframe","exitKeyframe","pulsateKeyframe","TouchRippleRoot","TouchRippleRipple","TouchRipple","centerProp","ripples","setRipples","rippleCallback","ignoringMouseDown","startTimer","startTimerCommit","startCommit","oldRipples","center","fakeElement","rect","clientX","clientY","sizeX","sizeY","stop","React.useImperativeHandle","TouchRipple$1","getButtonBaseUtilityClass","buttonBaseClasses","focusVisible","focusVisibleClassName","composedClasses","ButtonBaseRoot","ButtonBase","centerRipple","disableRipple","disableTouchRipple","focusRipple","LinkComponent","onContextMenu","onDragLeave","onFocusVisible","onKeyDown","onKeyUp","onMouseDown","onMouseLeave","onMouseUp","onTouchEnd","onTouchMove","onTouchStart","tabIndex","TouchRippleProps","touchRippleRef","buttonRef","rippleRef","handleRippleRef","focusVisibleRef","setFocusVisible","mountedState","setMountedState","enableTouchRipple","useRippleHandler","rippleAction","eventCallback","skipRippleAction","handleMouseDown","handleContextMenu","handleDragLeave","handleMouseUp","handleMouseLeave","handleTouchStart","handleTouchEnd","handleTouchMove","handleBlur","handleFocus","isNonNativeButton","button","keydownRef","handleKeyUp","ComponentProp","buttonProps","handleRef","ButtonBase$1","getAlertUtilityClass","alertClasses","alertClasses$1","getIconButtonUtilityClass","iconButtonClasses","edge","IconButtonRoot","IconButton","disableFocusRipple","IconButton$1","SuccessOutlinedIcon","ReportProblemOutlinedIcon","ErrorOutlineIcon","InfoOutlinedIcon","ClearIcon","severity","AlertRoot","getColor","getBackgroundColor","AlertIcon","AlertMessage","AlertAction","defaultIconMapping","Alert","closeText","componentsProps","iconMapping","onClose","role","CloseButtonSlot","closeButtonProps","CloseIconSlot","closeIconProps","CloseIcon","Alert$1","getTypographyUtilityClass","align","gutterBottom","noWrap","paragraph","TypographyRoot","defaultVariantMapping","colorTransformations","transformDeprecatedColors","Typography","variantMapping","Typography$1","getAppBarUtilityClass","joinVars","var1","var2","AppBarRoot","backgroundColorDefault","AppBar","enableColorOnDark","AppBar$2","GLOBAL_CLASS_PREFIX","buildStateClass","buildSlotClass","mapEventPropToEvent","eventProp","clickedRootScrollbar","ClickAwayListener","disableReactTree","mouseEvent","onClickAway","touchEvent","movedRef","nodeRef","activatedRef","syntheticEventRef","handleClickAway","insideReactTree","insideDOM","createHandleSynthetic","childrenPropsHandler","handlerName","childrenProps","mappedTouchEvent","mappedMouseEvent","candidatesSelector","getTabIndex","tabindexAttr","isNonTabbableRadio","getRadio","roving","isNodeMatchingSelectorFocusable","defaultGetTabbable","regularTabNodes","orderedTabNodes","nodeTabIndex","defaultIsEnabled","FocusTrap","disableAutoFocus","disableEnforceFocus","disableRestoreFocus","getTabbable","ignoreNextEnforceFocus","sentinelStart","sentinelEnd","nodeToRestore","reactFocusEventTarget","activated","rootRef","lastKeydown","loopFocus","nativeEvent","contain","rootElement","tabbable","_lastKeydown$current","_lastKeydown$current2","isShiftTab","focusNext","focusPrevious","handleFocusSentinel","getContainer","Portal","forwardedRef","disablePortal","mountNode","setMountNode","ReactDOM.createPortal","isOverflowing","ariaHidden","getPaddingRight","isAriaHiddenForbiddenOnElement","isForbiddenTagName","isInputHidden","ariaHiddenSiblings","mountElement","currentElement","elementsToExclude","isNotExcludedElement","isNotForbiddenElement","findIndexOf","handleContainer","containerInfo","restoreStyle","scrollbarSize","scrollContainer","containerWindow","getHiddenSiblings","hiddenSiblings","_ModalManager","modal","modalIndex","containerIndex","ariaHiddenState","nextTop","ModalManager","getHasTransition","defaultManager","useModal","disableEscapeKeyDown","disableScrollLock","manager","closeAfterTransition","onTransitionEnter","onTransitionExited","mountNodeRef","modalRef","exited","setExited","hasTransition","ariaHiddenProp","getDoc","getModal","handleMounted","handleOpen","resolvedContainer","isTopModal","handlePortalRef","handleClose","createHandleKeyDown","otherHandlers","_otherHandlers$onKeyD","createHandleBackdropClick","_otherHandlers$onClic","propsEventHandlers","externalEventHandlers","handleEnter","top","bottom","auto","basePlacements","clippingParents","viewport","popper","variationPlacements","placement","placements","beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite","modifierPhases","getNodeName","getWindow","isElement","OwnElement","isShadowRoot","attributes","effect","initialStyles","styleProperties","attribute","applyStyles$1","getBasePlacement","getUAString","uaData","isLayoutViewport","getBoundingClientRect","includeScale","isFixedStrategy","clientRect","scaleX","scaleY","visualViewport","addVisualOffsets","getLayoutRect","contains","rootNode","getComputedStyle","isTableElement","getDocumentElement","getParentNode","getTrueOffsetParent","getContainingBlock","isFirefox","isIE","elementCss","currentNode","getOffsetParent","offsetParent","getMainAxisFromPlacement","within","mathMax","mathMin","withinMaxClamp","getFreshSideObject","mergePaddingObject","paddingObject","expandToHashMap","hashMap","toPaddingObject","arrow","_state$modifiersData$","arrowElement","popperOffsets","basePlacement","axis","isVertical","arrowRect","minProp","maxProp","endDiff","startDiff","arrowOffsetParent","clientSize","centerToReference","axisProp","_options$element","arrow$1","getVariation","unsetSides","roundOffsetsByDPR","win","dpr","mapToStyles","_Object$assign2","popperRect","variation","offsets","gpuAcceleration","adaptive","roundOffsets","isFixed","_offsets$x","_offsets$y","hasX","hasY","sideX","sideY","heightProp","widthProp","offsetY","offsetX","commonStyles","_Object$assign","computeStyles","_options$gpuAccelerat","_options$adaptive","_options$roundOffsets","computeStyles$1","passive","_options$scroll","scroll","_options$resize","resize","scrollParents","scrollParent","eventListeners","getOppositePlacement","getOppositeVariationPlacement","getWindowScroll","scrollTop","getWindowScrollBarX","getViewportRect","strategy","html","layoutViewport","getDocumentRect","_element$ownerDocumen","winScroll","isScrollParent","_getComputedStyle","overflow","overflowX","overflowY","getScrollParent","listScrollParents","isBody","updatedList","rectToClientRect","getInnerBoundingClientRect","getClientRectFromMixedType","clippingParent","getClippingParents","canEscapeClipping","clipperElement","getClippingRect","boundary","rootBoundary","mainClippingParents","firstClippingParent","clippingRect","accRect","computeOffsets","commonX","commonY","mainAxis","detectOverflow","_options$placement","_options$strategy","_options$boundary","_options$rootBoundary","_options$elementConte","elementContext","_options$altBoundary","altBoundary","_options$padding","altContext","clippingClientRect","referenceClientRect","popperClientRect","elementClientRect","overflowOffsets","offsetData","multiply","computeAutoPlacement","flipVariations","_options$allowedAutoP","allowedAutoPlacements","allPlacements","allowedPlacements","overflows","getExpandedFallbackPlacements","oppositePlacement","flip","_options$mainAxis","checkMainAxis","_options$altAxis","checkAltAxis","specifiedFallbackPlacements","_options$flipVariatio","preferredPlacement","isBasePlacement","fallbackPlacements","referenceRect","checksMap","makeFallbackChecks","firstFittingPlacement","_basePlacement","isStartVariation","mainVariationSide","altVariationSide","checks","check","numberOfChecks","_loop","fittingPlacement","_ret","flip$1","getSideOffsets","preventedOffsets","isAnySideFullyClipped","side","hide","referenceOverflow","popperAltOverflow","referenceClippingOffsets","popperEscapeOffsets","isReferenceHidden","hasPopperEscaped","hide$1","distanceAndSkiddingToXY","rects","invertDistance","skidding","distance","_options$offset","_data$state$placement","offset$1","popperOffsets$1","getAltAxis","preventOverflow","_options$tether","tether","_options$tetherOffset","tetherOffset","altAxis","tetherOffsetValue","normalizedTetherOffsetValue","offsetModifierState","_offsetModifierState$","mainSide","altSide","additive","minLen","maxLen","arrowPaddingObject","arrowPaddingMin","arrowPaddingMax","arrowLen","minOffset","maxOffset","clientOffset","offsetModifierValue","tetherMin","tetherMax","preventedOffset","_offsetModifierState$2","_mainSide","_altSide","_offset","_min","_max","isOriginSide","_offsetModifierValue","_tetherMin","_tetherMax","_preventedOffset","preventOverflow$1","getHTMLElementScroll","getNodeScroll","isElementScaled","getCompositeRect","elementOrVirtualElement","isOffsetParentAnElement","offsetParentIsScaled","documentElement","modifiers","visited","modifier","requires","dep","depModifier","orderModifiers","orderedModifiers","phase","pending","mergeByName","merged","existing","areValidElements","popperGenerator","generatorOptions","_generatorOptions","_generatorOptions$def","defaultModifiers","_generatorOptions$def2","effectCleanupFns","isDestroyed","setOptionsAction","cleanupModifierEffects","runModifierEffects","_state$elements","_state$orderedModifie","_state$orderedModifie2","_ref$options","cleanupFn","noopFn","createPopper","COMPONENT_NAME","getPopperUtilityClass","flipPlacement","resolveAnchorEl","anchorEl","defaultPopperOptions","PopperTooltip","_slots$root","initialPlacement","popperOptions","popperRefProp","TransitionProps","tooltipRef","ownRef","popperRef","handlePopperRef","handlePopperRefRef","rtlPlacement","setPlacement","resolvedAnchorElement","setResolvedAnchorElement","handlePopperUpdate","popperModifiers","Root","rootProps","Popper","containerProp","keepMounted","resolvedAnchorEl","display","transitionProps","useSnackbar","autoHideDuration","disableWindowBlurListener","resumeHideDuration","timerAutoHide","setAutoHideTimer","autoHideDurationParam","handlePause","handleResume","createHandleBlur","onBlurCallback","createHandleFocus","onFocusCallback","createMouseEnter","onMouseEnterCallback","createMouseLeave","onMouseLeaveCallback","externalProps","TextareaAutosize","maxRows","minRows","shadowRef","calculateTextareaStyles","computedStyle","inputShallow","innerHeight","singleRowHeight","outerHeight","outerHeightStyle","overflowing","syncHeight","textareaStyles","handleResize","rAF","debounceHandleResize","resizeObserver","handleChange","stripDiacritics","createFilterOptions","ignoreAccents","ignoreCase","matchFrom","getOptionLabel","filteredOptions","candidate","comp","defaultFilterOptions","pageSize","defaultIsActiveElementInListbox","listboxRef","_listboxRef$current$p","useAutocomplete","unstable_isActiveElementInListbox","unstable_classNamePrefix","autoComplete","autoHighlight","autoSelect","blurOnSelect","clearOnBlur","clearOnEscape","disableClearable","disableCloseOnSelect","disabledProp","disabledItemsFocusable","disableListWrap","filterOptions","filterSelectedOptions","freeSolo","getOptionDisabled","getOptionKey","getOptionLabelProp","_option$label","groupBy","handleHomeEndKeys","idProp","includeInputInList","inputValueProp","isOptionEqualToValue","multiple","onHighlightChange","onInputChange","onOpen","openProp","openOnFocus","readOnly","selectOnFocus","valueProp","optionLabel","ignoreFocus","firstFocus","setAnchorEl","focusedTag","setFocusedTag","defaultHighlighted","highlightedIndexRef","setValueState","setInputValueState","setFocused","resetInputValue","newInputValue","setOpenState","inputPristine","setInputPristine","inputValueIsSelectedValue","popupOpen","previousProps","valueChange","listboxAvailable","focusTag","tagToFocus","validOptionIndex","nextFocus","nextFocusDisabled","setHighlightedIndex","listboxNode","scrollBottom","elementBottom","changeHighlightedIndex","maxIndex","newIndex","getPreviousHighlightedOptionIndex","isSameValue","value1","label1","label2","previousHighlightedOption","syncHighlightedIndex","previousHighlightedOptionIndex","valueItem","currentOption","itemIndex","optionItem","handleListboxRef","handleValue","details","isTouch","selectNewValue","reasonProp","origin","validTagIndex","handleFocusTag","handleClear","handleInputChange","handleOptionMouseMove","handleOptionTouchStart","handleOptionClick","handleTagDelete","handlePopupIndicator","handleInputMouseDown","dirty","groupedOptions","_getOptionKey","default_1","PopperRoot","BasePopper","RootComponent","Popper$1","getListSubheaderUtilityClass","inset","disableSticky","ListSubheaderRoot","ListSubheader","ListSubheader$1","CancelIcon","getChipUtilityClass","chipClasses","chipClasses$1","iconColor","onDelete","clickable","ChipRoot","textColor","ChipLabel","isDeleteKeyboardEvent","keyboardEvent","Chip","avatarProp","clickableProp","deleteIconProp","iconProp","skipFocusWhenDisabled","chipRef","handleDeleteIconClick","moreProps","deleteIcon","avatar","Chip$1","formControlState","states","muiFormControl","FormControlContext","FormControlContext$1","useFormControl","SystemGlobalStyles","hasValue","isFilled","SSR","isAdornedStart","getInputBaseUtilityClass","inputBaseClasses","inputBaseClasses$1","rootOverridesResolver","inputOverridesResolver","endAdornment","fullWidth","hiddenLabel","multiline","startAdornment","InputBaseRoot","InputBaseComponent","placeholder","placeholderHidden","placeholderVisible","inputGlobalStyles","InputBase","_slotProps$input","ariaDescribedby","autoFocus","disableInjectingGlobalStyles","inputComponent","inputPropsProp","inputRefProp","renderSuffix","handleInputRefWarning","handleInputRef","fcs","onFilled","onEmpty","checkDirty","InputComponent","handleAutoFill","Input","InputBase$1","getInputUtilityClass","inputClasses","getOutlinedInputUtilityClass","outlinedInputClasses","outlinedInputClasses$1","getFilledInputUtilityClass","filledInputClasses","filledInputClasses$1","ArrowDropDownIcon","getAutocompleteUtilityClass","autocompleteClasses","_ClearIcon","_ArrowDropDownIcon","hasClearIcon","hasPopupIcon","inputFocused","AutocompleteRoot","AutocompleteEndAdornment","AutocompleteClearIndicator","AutocompletePopupIndicator","AutocompletePopper","AutocompletePaper","AutocompleteLoading","AutocompleteNoOptions","AutocompleteListbox","AutocompleteGroupLabel","AutocompleteGroupUl","Autocomplete","_slotProps$clearIndic","_slotProps$paper","_slotProps$popper","_slotProps$popupIndic","ChipProps","clearIcon","clearText","forcePopupIcon","getLimitTagsText","limitTags","ListboxComponent","ListboxProps","loadingText","noOptionsText","openText","PaperComponent","PopperComponent","popupIcon","renderGroupProp","renderInput","renderOptionProp","renderTags","getRootProps","getInputProps","getInputLabelProps","getPopupIndicatorProps","getClearProps","getTagProps","getListboxProps","getOptionProps","externalListboxRef","_getListboxProps","otherListboxProps","combinedListboxRef","getCustomizedTagProps","renderGroup","renderOption","props2","_createElement","renderListOption","optionProps","clearIndicatorSlotProps","paperSlotProps","popperSlotProps","popupIndicatorSlotProps","renderAutocompletePopperChildren","autocompletePopper","option2","index2","Autocomplete$1","Person","getAvatarUtilityClass","colorDefault","AvatarRoot","AvatarImg","AvatarFallback","useLoaded","crossOrigin","referrerPolicy","src","srcSet","loaded","setLoaded","image","Avatar","alt","childrenProp","imgProps","sizes","hasImg","hasImgNotFailing","ImgSlot","imgSlotProps","Avatar$2","Fade","defaultTimeout","addEndListener","onEnter","onEntered","onEntering","onExit","onExiting","TransitionComponent","normalizedTransitionCallback","maybeIsAppearing","handleEntering","isAppearing","handleEntered","handleExiting","handleExit","handleAddEndListener","Fade$1","getBackdropUtilityClass","invisible","BackdropRoot","Backdrop","_slotProps$root","transitionDuration","rootSlotProps","Backdrop$1","boxClasses","boxClasses$1","Box","Box$1","getButtonUtilityClass","buttonClasses","buttonClasses$1","ButtonGroupContext","ButtonGroupContext$1","ButtonGroupButtonContext","ButtonGroupButtonContext$1","disableElevation","commonIconStyles","ButtonRoot","_theme$palette$getCon","_theme$palette","inheritContainedBackgroundColor","inheritContainedHoverBackgroundColor","ButtonStartIcon","ButtonEndIcon","Button","contextProps","buttonGroupButtonContextPositionClassName","resolvedProps","endIconProp","startIconProp","startIcon","endIcon","positionClassName","Button$2","getCardUtilityClass","CardRoot","Card","raised","Card$1","getCardActionsUtilityClass","disableSpacing","CardActionsRoot","CardActions","CardActions$1","getCardContentUtilityClass","CardContentRoot","CardContent","CardContent$1","getSwitchBaseUtilityClass","checked","SwitchBaseRoot","SwitchBaseInput","SwitchBase","checkedProp","checkedIcon","defaultChecked","setCheckedState","newChecked","hasLabelFor","SwitchBase$1","CheckBoxOutlineBlankIcon","CheckBoxIcon","IndeterminateCheckBoxIcon","getCheckboxUtilityClass","checkboxClasses","checkboxClasses$1","indeterminate","CheckboxRoot","defaultCheckedIcon","defaultIcon","defaultIndeterminateIcon","Checkbox","_icon$props$fontSize","_indeterminateIcon$pr","indeterminateIconProp","indeterminateIcon","Checkbox$1","getCircularProgressUtilityClass","SIZE","circularRotateKeyframe","circularDashKeyframe","disableShrink","CircularProgressRoot","CircularProgressSVG","CircularProgressCircle","CircularProgress","thickness","circleStyle","rootStyle","circumference","CircularProgress$1","Container","Container$1","enableColorScheme","colorSchemeStyles","scheme","_scheme$palette","defaultStyles","themeOverrides","CssBaseline","getModalUtilityClass","ModalRoot","ModalBackdrop","Modal","_slots$backdrop","_slotProps$backdrop","BackdropComponent","BackdropProps","hideBackdrop","onBackdropClick","propsWithDefaults","getBackdropProps","portalRef","RootSlot","BackdropSlot","backdropSlotProps","backdropProps","Modal$1","getDialogUtilityClass","dialogClasses","dialogClasses$1","DialogContext","DialogContext$1","DialogBackdrop","fullScreen","DialogRoot","DialogContainer","DialogPaper","Dialog","defaultTransitionDuration","ariaLabelledbyProp","PaperProps","backdropClick","handleBackdropClick","ariaLabelledby","dialogContextValue","Dialog$1","getDialogActionsUtilityClass","DialogActionsRoot","DialogActions","DialogActions$1","getDialogContentUtilityClass","getDialogTitleUtilityClass","dialogTitleClasses","dialogTitleClasses$1","dividers","DialogContentRoot","DialogContent","DialogContent$1","getDialogContentTextUtilityClass","DialogContentTextRoot","DialogContentText","DialogContentText$1","DialogTitleRoot","DialogTitle","titleId","DialogTitle$1","getDividerUtilityClass","dividerClasses","dividerClasses$1","absolute","flexItem","orientation","textAlign","DividerRoot","DividerWrapper","Divider","Divider$1","getTranslateValue","containerRect","transformValues","resolveContainer","containerPropProp","setTranslateValue","Slide","defaultEasing","easingProp","childrenRef","updatePosition","Slide$1","getDrawerUtilityClass","anchor","DrawerRoot","DrawerDockedRoot","DrawerPaper","oppositeDirection","isHorizontal","getAnchor","Drawer","isRtl","anchorProp","BackdropPropsProp","SlideProps","ModalProps","anchorInvariant","drawer","slidingDrawer","Drawer$1","getFabUtilityClass","fabClasses","fabClasses$1","FabRoot","Fab","Fab$1","disableUnderline","FilledInputRoot","inputBaseRootOverridesResolver","bottomLineColor","hoverBackground","disabledBackground","FilledInputInput","InputBaseInput","inputBaseInputOverridesResolver","FilledInput","_slots$input","componentsPropsProp","filledInputComponentsProps","InputSlot","FilledInput$1","getFormControlUtilityClasses","FormControlRoot","FormControl","visuallyFocused","adornedStart","setAdornedStart","initialAdornedStart","filled","setFilled","initialFilled","focusedState","registerEffect","childContext","FormControl$1","Stack$2","getFormControlLabelUtilityClasses","formControlLabelClasses","formControlLabelClasses$1","labelPlacement","FormControlLabelRoot","AsteriskComponent","FormControlLabel","_slotProps$typography","disableTypography","labelProp","requiredProp","controlProps","typographySlotProps","FormControlLabel$1","getFormGroupUtilityClass","FormGroupRoot","FormGroup","FormGroup$1","getFormHelperTextUtilityClasses","formHelperTextClasses","formHelperTextClasses$1","_span","contained","FormHelperTextRoot","FormHelperText","FormHelperText$1","getFormLabelUtilityClasses","formLabelClasses","formLabelClasses$1","FormLabelRoot","FormLabel","FormLabel$1","GridContext","GridContext$1","getGridUtilityClass","SPACINGS","DIRECTIONS","WRAPS","GRID_SIZES","gridClasses","wrap","getOffset","generateGrid","columnsBreakpointValues","columnValue","generateDirection","extractZeroValueBreakpointKeys","nonZeroKey","sortedBreakpointKeysByValue","generateRowGap","rowSpacing","rowSpacingValues","zeroValueBreakpointKeys","_zeroValueBreakpointK","generateColumnGap","columnSpacing","columnSpacingValues","_zeroValueBreakpointK2","resolveSpacingStyles","spacingStyles","GridRoot","zeroMinWidth","breakpointsStyles","resolveSpacingClasses","spacingClasses","breakpointsClasses","Grid","columnsProp","columnSpacingProp","rowSpacingProp","columnsContext","columns","otherFiltered","Grid$1","getScale","isWebKit154","Grow","autoTimeout","transitionTimingFunction","Grow$1","InputRoot","InputInput","inputComponentsProps","Input$1","getInputAdornmentUtilityClass","inputAdornmentClasses","inputAdornmentClasses$1","disablePointerEvents","InputAdornmentRoot","InputAdornment","variantProp","InputAdornment$1","getInputLabelUtilityClasses","shrink","disableAnimation","InputLabelRoot","InputLabel","shrinkProp","InputLabel$1","getLinearProgressUtilityClass","_t5","_t6","TRANSITION_DURATION","indeterminate1Keyframe","indeterminate2Keyframe","bufferKeyframe","getColorShade","LinearProgressRoot","LinearProgressDashed","LinearProgressBar1","LinearProgressBar2","LinearProgress","valueBuffer","inlineStyles","MuiLinearProgress","getLinkUtilityClass","linkClasses","linkClasses$1","getTextDecoration","transformedColor","channelColor","underline","LinkRoot","TypographyClasses","handlerRef","Link$2","ListContext$1","getListUtilityClass","disablePadding","dense","subheader","ListRoot","List","List$2","getListItemUtilityClass","listItemClasses","listItemClasses$1","getListItemButtonUtilityClass","listItemButtonClasses","listItemButtonClasses$1","alignItems","ListItemButtonRoot","ListItemButton","listItemRef","ListItemButton$1","getListItemSecondaryActionClassesUtilityClass","ListItemSecondaryActionRoot","ListItemSecondaryAction","ListItemSecondaryAction$1","hasSecondaryAction","ListItemRoot","ListItemContainer","ListItem","componentProp","ContainerComponent","ContainerClassName","secondaryAction","ContainerProps","ListItem$1","getListItemAvatarUtilityClass","ListItemAvatarRoot","ListItemAvatar","ListItemAvatar$1","getListItemIconUtilityClass","listItemIconClasses","listItemIconClasses$1","ListItemIconRoot","ListItemIcon","ListItemIcon$1","getListItemTextUtilityClass","listItemTextClasses","listItemTextClasses$1","ListItemTextRoot","ListItemText","primaryProp","primaryTypographyProps","secondaryProp","secondaryTypographyProps","ListItemText$1","nextItem","previousItem","textCriteriaMatches","textCriteria","moveFocus","currentFocus","traversalFunction","wrappedOnce","MenuList","actions","autoFocusItem","listRef","textCriteriaRef","containerElement","noExplicitWidth","criteria","lowerKey","currTime","keepFocusOnCurrent","activeItemIndex","newChildProps","MenuList$1","getPopoverUtilityClass","getOffsetTop","vertical","getOffsetLeft","horizontal","getTransformOriginValue","transformOrigin","PopoverRoot","PopoverPaper","PaperBase","Popover","_slots$paper","anchorOrigin","anchorPosition","anchorReference","marginThreshold","PaperPropsProp","transitionDurationProp","externalPaperSlotProps","paperRef","handlePaperRef","getAnchorOffset","anchorRect","getTransformOrigin","elemRect","getPositioningStyle","elemTransformOrigin","anchorOffset","heightThreshold","widthThreshold","isPositioned","setIsPositioned","setPositioningStyles","positioning","PaperSlot","paperProps","_useSlotProps","rootSlotPropsProp","Popover$1","getMenuUtilityClass","RTL_ORIGIN","LTR_ORIGIN","MenuRoot","MenuPaper","MenuMenuList","Menu","disableAutoFocusItem","MenuListProps","PopoverClasses","menuListActionsRef","handleListKeyDown","paperExternalSlotProps","Menu$3","getMenuItemUtilityClass","menuItemClasses","menuItemClasses$1","MenuItemRoot","MenuItem","tabIndexProp","menuItemRef","MenuItem$1","getNativeSelectUtilityClasses","nativeSelectClasses","nativeSelectClasses$1","nativeSelectSelectStyles","NativeSelectSelect","nativeSelectIconStyles","NativeSelectIcon","NativeSelectInput","IconComponent","NativeSelectInput$1","NotchedOutlineRoot","NotchedOutlineLegend","NotchedOutline","notched","withLabel","OutlinedInputRoot","OutlinedInputInput","OutlinedInput","_React$Fragment","OutlinedInput$1","getPaginationUtilityClass","usePagination","boundaryCount","defaultPage","hideNextButton","hidePrevButton","pageProp","showFirstButton","showLastButton","siblingCount","setPageState","range","startPages","endPages","siblingsStart","siblingsEnd","itemList","buttonPage","getPaginationItemUtilityClass","paginationItemClasses","paginationItemClasses$1","FirstPageIconDefault","LastPageIconDefault","NavigateBeforeIcon","NavigateNextIcon","PaginationItemEllipsis","PaginationItemPage","PaginationItemPageIcon","PaginationItem","Icon","FirstPageIcon","LastPageIcon","PaginationItem$1","PaginationRoot","PaginationUl","defaultGetAriaLabel","Pagination","getItemAriaLabel","renderItem","Pagination$2","getScopedCssBaselineUtilityClass","ScopedCssBaselineRoot","ScopedCssBaseline","ScopedCssBaseline$1","getSelectUtilityClasses","selectClasses","SelectSelect","SelectIcon","SelectNativeInput","areEqualValues","SelectInput","_MenuProps$slotProps","ariaLabel","autoWidth","defaultOpen","displayEmpty","labelId","MenuProps","renderValue","SelectDisplayProps","openState","displayRef","displayNode","setDisplayNode","isOpenControlled","menuMinWidthState","setMenuMinWidthState","handleDisplayRef","anchorElement","childItem","handleItemClick","clonedEvent","displaySingle","displayMultiple","computeDisplay","menuMinWidth","buttonId","listboxId","SelectInput$2","styledRootConfig","StyledInput","StyledOutlinedInput","StyledFilledInput","Select","classesProp","native","restOfClasses","inputComponentRef","Select$1","getSnackbarContentUtilityClass","SnackbarContentRoot","emphasis","SnackbarContentMessage","SnackbarContentAction","SnackbarContent","SnackbarContent$1","getSnackbarUtilityClass","SnackbarRoot","Snackbar","ClickAwayListenerProps","ContentProps","Snackbar$1","getTooltipUtilityClass","tooltipClasses","tooltipClasses$1","disableInteractive","touch","TooltipPopper","TooltipTooltip","TooltipArrow","hystersisOpen","hystersisTimer","cursorPosition","composeEventHandler","eventHandler","Tooltip","_slots$popper","_slots$transition","_slots$tooltip","_slots$arrow","_slotProps$popper2","_slotProps$transition","_slotProps$tooltip","_slotProps$tooltip2","_slotProps$arrow","_ref8","_slotProps$arrow2","describeChild","disableFocusListener","disableHoverListener","disableInteractiveProp","disableTouchListener","enterDelay","enterNextDelay","enterTouchDelay","followCursor","leaveDelay","leaveTouchDelay","PopperComponentProp","PopperProps","TransitionComponentProp","childNode","setChildNode","arrowRef","setArrowRef","ignoreNonTouchEvents","closeTimer","enterTimer","leaveTimer","touchTimer","prevUserSelect","stopTouchInteraction","handleMouseOver","setChildIsFocusVisible","detectTouchStart","handleMouseMove","nameOrDescProps","titleIsString","interactiveWrapperListeners","_PopperProps$popperOp","tooltipModifiers","TooltipComponent","ArrowComponent","popperProps","tooltipProps","tooltipArrowProps","TransitionPropsInner","Tooltip$1","getSwitchUtilityClass","switchClasses","SwitchRoot","SwitchSwitchBase","SwitchTrack","SwitchThumb","Switch","Switch$1","getTabUtilityClass","tabClasses","tabClasses$1","wrapped","TabRoot","Tab","iconPosition","indicator","selectionFollowsFocus","Tab$1","TableContext","TableContext$1","getTableUtilityClass","stickyHeader","TableRoot","defaultComponent","Table","table","Table$1","Tablelvl2Context","Tablelvl2Context$1","getTableBodyUtilityClass","TableBodyRoot","tablelvl2","TableBody","TableBody$1","getTableCellUtilityClass","tableCellClasses","tableCellClasses$1","TableCellRoot","TableCell","paddingProp","scopeProp","sizeProp","sortDirection","isHeadCell","scope","ariaSort","TableCell$1","getTableHeadUtilityClass","TableHeadRoot","TableHead","TableHead$1","getToolbarUtilityClass","ToolbarRoot","Toolbar","Toolbar$2","KeyboardArrowLeft","KeyboardArrowRight","TablePaginationActions","_slots$firstButton","_slots$lastButton","_slots$nextButton","_slots$previousButton","_slots$firstButtonIco","_slots$lastButtonIcon","_slots$nextButtonIcon","_slots$previousButton2","backIconButtonProps","nextIconButtonProps","onPageChange","rowsPerPage","handleFirstPageButtonClick","handleBackButtonClick","handleNextButtonClick","handleLastPageButtonClick","FirstButton","LastButton","NextButton","PreviousButton","FirstButtonIcon","LastButtonIcon","NextButtonIcon","PreviousButtonIcon","FirstButtonSlot","PreviousButtonSlot","NextButtonSlot","LastButtonSlot","firstButtonSlotProps","previousButtonSlotProps","nextButtonSlotProps","lastButtonSlotProps","TablePaginationActions$1","getTablePaginationUtilityClass","tablePaginationClasses","tablePaginationClasses$1","_InputBase","TablePaginationRoot","TablePaginationToolbar","TablePaginationSpacer","TablePaginationSelectLabel","TablePaginationSelect","TablePaginationMenuItem","TablePaginationDisplayedRows","defaultLabelDisplayedRows","TablePagination","_slotProps$select","ActionsComponent","colSpanProp","labelDisplayedRows","labelRowsPerPage","onRowsPerPageChange","rowsPerPageOptions","SelectProps","selectProps","MenuItemComponent","colSpan","selectId","getLabelDisplayedRowsTo","rowsPerPageOption","TablePagination$1","getTableRowUtilityClass","tableRowClasses","tableRowClasses$1","hover","head","footer","TableRowRoot","TableRow","TableRow$1","ArrowDownwardIcon","getTableSortLabelUtilityClass","tableSortLabelClasses","tableSortLabelClasses$1","TableSortLabelRoot","TableSortLabelIcon","TableSortLabel","hideSortIcon","TableSortLabel$1","easeInOutSin","animate","ease","ScrollbarSize","scrollbarHeight","setMeasurements","prevHeight","getTabScrollButtonUtilityClass","tabScrollButtonClasses","tabScrollButtonClasses$1","TabScrollButtonRoot","TabScrollButton","_slots$StartScrollBut","_slots$EndScrollButto","StartButtonIcon","EndButtonIcon","startButtonIconProps","endButtonIconProps","TabScrollButton$1","getTabsUtilityClass","tabsClasses","tabsClasses$1","hideScrollbar","scrollableX","scrollableY","centered","scrollButtonsHideMobile","TabsRoot","TabsScroller","FlexContainer","TabsIndicator","TabsScrollbarSize","defaultIndicatorStyle","Tabs","ariaLabelledBy","allowScrollButtonsMobile","indicatorColor","ScrollButtonComponent","scrollButtons","TabIndicatorProps","TabScrollButtonProps","visibleScrollbar","scrollable","scrollStart","startScrollButtonIconProps","endScrollButtonIconProps","setMounted","indicatorStyle","setIndicatorStyle","displayStartScroll","setDisplayStartScroll","displayEndScroll","setDisplayEndScroll","updateScrollObserver","setUpdateScrollObserver","scrollerStyle","setScrollerStyle","valueToIndex","tabsRef","tabListRef","getTabsMeta","tabsNode","tabsMeta","tabMeta","tab","updateIndicatorState","startValue","startIndicator","correction","newIndicatorStyle","dStart","dSize","scrollValue","animation","moveTabsScroll","getScrollSize","containerSize","totalSize","handleStartScrollClick","handleEndScrollClick","handleScrollbarSizeChange","scrollbarWidth","getConditionalElements","conditionalElements","showScrollButtons","scrollSelectedIntoView","nextScrollStart","updateScrollButtonState","handleMutation","_resizeObserver","_resizeObserver2","mutationObserver","_mutationObserver","_resizeObserver3","tabListChildren","firstTab","lastTab","observerOptions","handleScrollButtonStart","firstObserver","handleScrollButtonEnd","lastObserver","childIndex","childValue","previousItemKey","nextItemKey","Tabs$1","getTextFieldUtilityClass","variantComponent","TextFieldRoot","TextField","FormHelperTextProps","helperText","InputLabelProps","InputProps","select","InputMore","helperTextId","inputLabelId","InputElement","TextInput$1","defaultTrigger","disableHysteresis","threshold","defaultTarget","useScrollTrigger","getTrigger","setTrigger","_utils","Lock","_createSvgIcon","_jsxRuntime","alignIcon","locationDescriptor","translatedLabel","linkParams","getLinkParams","StyledButton","PREFIX","MuiButton","Add","CreateButton","resourceProp","scrollToTop","isSmall","scrollStates","StyledFab","CreateButtonClasses","ContentAdd","RemoveRedEye","ShowButton","recordProp","stopPropagation","ImageEye","PureShowButton","ShowButton$1","Sort","ArrowDropDown","SortButton","isXSmall","handleChangeSort","inverseOrder","buttonLabel","SortIcon","arePropsEqual","SortButton$1","Delete","useSidebarState","SidebarToggleButton","StyledIconButton","MenuIcon","SidebarToggleButtonClasses","LoadingIndicator","RefreshIconButton","LoadingIndicatorClasses","AccountCircle","UserMenuContext","UserMenuContextProvider","PowerSettingsNew","Logout","authenticated","StyledMenuItem","LogoutClasses","ExitIcon","UserMenu","isLargeEnough","handleMenu","UserMenuClasses","AnchorOrigin","TransformOrigin","HideOnScroll","TitlePortal","ThemesContext","useThemesContext","lightTheme","darkTheme","Brightness4","Brightness7","prefersDarkMode","themeValue","defaultThemeInvariants","defaultLightTheme","defaultDarkTheme","ToggleThemeButton","setTheme","handleTogglePaletteType","toggleThemeTitle","Brightness7Icon","Brightness4Icon","alwaysOn","toolbar","defaultToolbarElement","userMenu","DefaultUserMenu","StyledAppBar","AppBarClasses","DefaultToolbar","LocalesMenuButton","MuiAppBar","ApplicationUpdatedNotification","ButtonProps","updateText","notificationText","alertProps","handleButtonClick","CheckForApplicationUpdate","DEFAULT_NOTIFICATION","CheckCircle","ErrorOutline","Confirm","isOpen","content","confirm","confirmColor","ConfirmIcon","ActionCheck","AlertError","onConfirm","translateOptions","handleConfirm","StyledDialog","ConfirmClasses","Dashboard","MenuItemLink","primaryText","leftIcon","sidebarIsOpen","handleMenuTap","renderMenuItem","MenuItemLinkClasses","LinkRef","DashboardMenuItem","DashboardIcon","Report","ExpandMore","History","Settings","Configurable","openButtonLabel","prefixedPreferenceKey","hasPreferencesEditorContext","currentPreferenceKey","isEditorOpen","editorOpenRef","wrapperRef","isCustomizeButtonVisible","setIsCustomizeButtonVisible","handleOpenEditor","handleShowButton","handleHideButton","ConfigurableClasses","SettingsIcon","CancelOutlined","DeleteOutline","InspectorRoot","Inspector","isDragging","setVersion","dialogPosition","setDialogPosition","clickPosition","setClickPosition","handleDragStart","draggedElement","handleDragEnd","handleDragover","moveInspectorIfOutsideScreen","handleReset","StyledPaper","InspectorClasses","DeleteIcon","PageTitle","titleFromPreferences","PageTitleEditor","PageTitleConfigurable","Title","setContainer","isInTheDom","createPortal","Error","ErrorClasses","ErrorIcon","goBack","Sidebar","appBarAlwaysOn","closedSize","toggleSidebar","StyledDrawer","SidebarClasses","lodashGet","DRAWER_WIDTH","CLOSED_DRAWER_WIDTH","ViewList","ResourceMenuItem","DefaultIcon","ResourceMenuItems","hasDashboard","MenuClasses","Loading","loadingPrimary","loadingSecondary","oneSecondHasPassed","LoadingClasses","DefaultAppBar","errorComponent","DefaultMenu","DefaultSidebar","Core","SkipNavigationButton","LayoutClasses","Suspense","StyledProgress","HotTub","NotFound","sanitizeRestProps","NotFoundClasses","defaultAnchorOrigin","Notification","multiLine","currentNotification","setCurrentNotification","confirmationMessage","handleRequestClose","handleUndo","typeFromMessage","autoHideDurationFromMessage","multilineFromMessage","undoable","StyledSnackbar","NotificationClasses","TopToolbar","StyledToolbar","sanitizeToolbarRestProps","BulkDeleteWithConfirmButton","confirmTitle","confirmContent","deleteMany","ActionDelete","BulkDeleteWithUndoButton","BulkDeleteButton","GetApp","DeleteWithUndoButton","DeleteWithConfirmButton","DeleteButton","finalMutationMode","Create","EditButton","EditButtonClasses","ContentCreate","ExportButton","maxResults","customExporter","exporterFromContext","DownloadIcon","Translate","languagesProp","languages","setLocale","getNameForLocale","language","changeLocale","handleLanguageClick","ExpandMoreIcon","LanguageIcon","_Error","Refresh","NavigationRefresh","Save","SaveButton","invalid","alwaysEnable","isValidating","isSubmitting","valueOrDefault","displayedLabel","circularProgressStyle","ContentSave","skipToContent","AuthError","AuthErrorClasses","LockIcon","AuthCallback","InputHelperText","defaultInnerHTML","sanitizeInputRestProps","afterSubmit","allowNull","beforeSubmit","formatOnBlur","initialValue","initializeForm","setFilter","submitError","validateFields","RemoveCircleOutline","useSupportCreateSuggestion","createLabel","createItemLabel","onCreate","renderOnCreate","setRenderOnCreate","finalValue","newSuggestion","CreateSuggestionContext","AutocompleteInput","choicesProp","debounceDelay","emptyText","emptyValue","fieldOverride","inputText","isFetchingProp","isLoadingProp","isPendingProp","isRequiredOverride","fieldStateOverride","filterToQueryProp","DefaultFilterToQuery","formStateOverride","shouldRenderSuggestions","sourceProp","TextFieldProps","filterToQuery","allChoices","fetchError","isFromReference","finalChoices","selectedChoice","useSelectedChoice","setFilterValue","debouncedSetFilter","getCreateItem","handleChangeWithCreateSupport","createId","isListItem","finalOnBlur","doesQueryMatchSelection","selectedItemTexts","doesQueryMatchSuggestion","hasOption","handleAutocompleteChange","_reason","renderHelperText","StyledAutocomplete","mergedTextFieldProps","AutocompleteInputClasses","selectedChoiceRef","getSelectedItems","setSelectedChoice","newSelectedItems","areSelectedItemsEqual","newSelectedChoice","selectedChoiceArray","newSelectedChoiceArray","newChoice","searchText","BooleanInput","DatagridClasses","DatagridRoot","DatagridCell","DatagridCell$1","ExpandRowButton","expandContentId","DatagridContext","DatagridContext$1","useDatagridContext","computeNbColumns","expand","hasBulkActions","DatagridRow","defaultRowClick","recordOverride","rowClick","selectable","expandable","nbColumns","setNbColumns","newNbColumns","handleToggleExpand","handleToggleSelection","areEqual","_1","_2","prevPropsWithoutChildren","_3","_4","nextPropsWithoutChildren","PureDatagridRow","DatagridRow$1","DatagridBody","defaultData","defaultChildren","rowSx","rowStyle","isRowSelectable","rowIndex","PureDatagridBody","DatagridBody$1","DatagridHeaderCell","updateSort","isSorting","sortLabel","StyledTableCell","DatagridHeaderCellClasses","DatagridHeaderCell$1","Placeholder","times","nbChildren","DatagridLoading","nbFakeLines","key1","baseDifference","valuesLength","valuesIndex","_baseDifference","difference_1","ExpandAllButton","DatagridHeader","hasExpand","expandSingle","updateSortCallback","newField","newOrder","handleSelectAll","selectableIds","DatagridContextProvider","DatagridContextProvider$1","Close","BulkActionsToolbar","handleUnselectAllClick","BulkActionsToolbarClasses","ListNoResults","defaultBulkActionButtons","Datagrid","optimized","DefaultEmpty","bulkActionButtons","isRowExpandable","lastSelected","handleToggleItem","lastSelectedIndex","idsBetweenSelections","newSelectedIds","createOrCloneElement","arrayEach","_arrayEach","baseAssign","_baseAssign","baseAssignIn","_baseAssignIn","copySymbols","_copySymbols","copySymbolsIn","_copySymbolsIn","initCloneArray","_initCloneArray","cloneDataView","dataView","_cloneDataView","reFlags","cloneRegExp","regexp","_cloneRegExp","cloneSymbol","_cloneSymbol","initCloneByTag","_initCloneByTag","baseIsMap","_baseIsMap","nodeIsMap","isMap","isMap_1","baseIsSet","_baseIsSet","nodeIsSet","isSet","isSet_1","require$$15","require$$16","require$$17","require$$18","require$$19","require$$20","require$$21","CLONE_DEEP_FLAG","CLONE_FLAT_FLAG","CLONE_SYMBOLS_FLAG","cloneableTags","baseClone","isFlat","isFull","isFunc","subValue","_baseClone","cloneDeep","cloneDeep_1","FilterFormInput","filterElement","handleHide","emptyRecord","FilterFormInputClasses","ActionHide","FilterContext","FilterForm","filtersProps","mergedInitialValuesWithDefaultValues","mergeInitialValuesWithDefaultValues","newValues","getFilterFormValues","previousValues","isFormValid","FilterFormBase","handleFormSubmit","getShownFilters","StyledForm","FilterFormClasses","initialValues","getInputValue","inputValues","innerKey","nestedInputValue","FilterList","FilterButtonMenuItem","onShow","handleShow","useSavedQueries","extractValidSavedQueries","savedQueries","isValidSavedQuery","savedQuery","AddSavedQueryDialog","setSavedQueries","queryName","setQueryName","handleQueryNameChange","addQuery","newSavedQuery","newSavedQueries","RemoveSavedQueryDialog","removeQuery","savedQueryToRemove","savedFilter","FilterButton","filtersProp","disableSaveQuery","hasFilterValues","validSavedQueries","hasSavedCurrentQuery","hiddenFilters","handleClickButton","inputElement","addSavedQueryDialogOpen","setAddSavedQueryDialogOpen","hideAddSavedQueryDialog","showAddSavedQueryDialog","removeSavedQueryDialogOpen","setRemoveSavedQueryDialogOpen","hideRemoveSavedQueryDialog","showRemoveSavedQueryDialog","ContentFilter","matches_1","FilterListItem","getIsSelected","DefaultIsSelected","userToggleFilter","DefaultToggleFilter","toggleFilter","isSelected","StyledListItem","FilterListItemClasses","keysToRemove","Search","FilterLiveSearch","TextInput","SearchIcon","PaginationActions","nbPages","DefaultRowsPerPageOptions","hasNextPage","handlePageChange","handlePerPageChange","labelItem","DateInput","getStringFromDate","defaultInputLabelProps","convertDateToString","pad","yyyy","MM","Clear","ResettableTextField","clearAlwaysVisible","resettable","handleClickClearButton","clearButton","inputAdornedEnd","selectAdornment","visibleClearIcon","ResettableTextFieldClasses","InputPropsWithoutEndAdornment","getEndAdornment","handleMouseDownClearButton","StyledTextField","ResettableTextFieldStyles","MuiTextField","LoadingInput","StyledResettableTextField","ReferenceInput","renderEmptyItemOption","renderMenuItemOption","eventOrChoice","createItem","crudGetMatching","crudGetOne","validation","LoginForm","setLoading","login","submit","LoginFormClasses","Login","defaultLoginForm","backgroundImage","containerRef","backgroundImageLoaded","updateBackgroundImage","lazyLoadBackgroundImage","LoginClasses","DefaultLoginForm","CreateView","aside","Content","CreateClasses","EditActions","defaultActions","EditView","finalActions","EditClasses","Edit","isXs","ToolbarClasses","MuiToolbar","genericMemo","ArrayFieldImpl","listContext","ArrayField","Done","sanitizeFieldRestProps","cellClassName","headerClassName","linkType","sortable","sortBy","sortByOrder","BooleanFieldImpl","valueLabelTrue","valueLabelFalse","TrueIcon","DoneIcon","FalseIcon","looseValue","isTruthyValue","StyledTypography","BooleanField","ChipFieldImpl","StyledChip","ChipFieldClasses","ChipField","DateFieldImpl","showTime","showDate","defaultTransform","toLocaleStringSupportsLocales","dateOptions","DateField","EmailFieldImpl","EmailField","FunctionField","NumberFieldImpl","hasNumberFormat","NumberField","StyledMuiLink","RRLink","LinkClasses","MuiLink","SingleFieldList","resourceLinkPath","SingleFieldListClasses","DefaultChildComponent","ReferenceArrayField","PureReferenceArrayFieldView","ReferenceArrayFieldView","ReferenceArrayFieldClasses","ReferenceField","PureReferenceFieldView","ReferenceFieldView","ReferenceFieldClasses","ReferenceManyField","SelectFieldImpl","choiceText","SelectField","TextFieldImpl","UrlFieldImpl","UrlField","Inbox","Empty","resourceName","emptyMessage","inviteMessage","EmptyClasses","ListToolbar","ListActions","DefaultActions","DefaultPagination","defaultEmpty","ListView","emptyWhileLoading","renderList","ListClasses","renderEmpty","shouldRenderEmptyPage","listFieldTypes","ListGuesser","keepPreviousData","ListViewGuesser","setChild","enableLog","inferredElements","inferredChild","inferredChildElement","representation","SimpleListLoading","hasLeftAvatarOrIcon","hasRightAvatarOrIcon","hasSecondaryText","hasTertiaryText","StyledList","SimpleListLoadingClasses","SimpleList","leftAvatar","rightAvatar","rightIcon","secondaryText","tertiaryText","renderAvatar","avatarCallback","avatarValue","LinkOrNot","SimpleListClasses","classesOverride","AdminUI","loginPage","authCallbackPage","AdminContext","englishMessages","toStr","isArgs","keysShim","isEnumerable","hasDontEnumBug","hasProtoEnumBug","dontEnums","equalsConstructorPrototype","excludedKeys","hasAutomationEqualityBug","equalsConstructorPrototypeIfNotBuggy","theKeys","skipProto","skipConstructor","implementation","origKeys","originalKeys","keysWorksWithArguments","hasSymbols","concat","origDefineProperty","arePropertyDescriptorsSupported","supportsDescriptors","predicates","defineProperties_1","ERROR_MESSAGE","funcType","that","bound","binder","boundLength","boundArgs","functionBind","shams","sym","symObj","symVal","syms","origSymbol","hasSymbolSham","test","$Object","hasProto","bind","undefined","$SyntaxError","$Function","$TypeError","getEvalledConstructor","expressionSyntax","$gOPD","throwTypeError","ThrowTypeError","getProto","needsEval","TypedArray","INTRINSICS","errorProto","doEval","gen","LEGACY_ALIASES","hasOwn","$concat","$spliceApply","$replace","$strSlice","$exec","getBaseIntrinsic","allowMissing","intrinsicName","alias","getIntrinsic","intrinsicBaseName","intrinsic","intrinsicRealName","skipFurtherCaching","desc","GetIntrinsic","$apply","$call","$reflectApply","$defineProperty","$max","originalFunction","applyBind","callBind","$indexOf","callBound","CheckObjectCoercible","optMessage","RequireObjectCoercible","$Array","IsArray","Call","argumentsList","__viteBrowserExternal","hasMap","mapSizeDescriptor","mapSize","mapForEach","hasSet","setSizeDescriptor","setSize","setForEach","hasWeakMap","weakMapHas","hasWeakSet","weakSetHas","hasWeakRef","weakRefDeref","booleanValueOf","functionToString","$match","$slice","$toUpperCase","$toLowerCase","$test","$join","$arrSlice","$floor","bigIntValueOf","gOPS","symToString","hasShammedSymbols","toStringTag","gPO","addNumericSeparator","sepRegex","intStr","dec","utilInspect","inspectCustom","inspectSymbol","objectInspect","inspect_","customInspect","numericSeparator","inspectString","bigIntStr","maxDepth","indent","getIndent","indexOf","inspect","noIndent","newOpts","isRegExp","nameOf","arrObjKeys","symString","markBoxed","attrs","wrapQuotes","xs","singleLineValues","indentedJoin","mapParts","collectionOf","setParts","isWeakMap","weakCollectionOf","isWeakSet","isWeakRef","isNumber","isBigInt","ys","protoTag","constructorTag","defaultStyle","quoteChar","trailer","lowbyte","joinedEntries","baseIndent","lineJoiner","symMap","IsPropertyKey","Type","ES5Type","Get","HasProperty","fnToStr","reflectApply","badArrayLike","isCallableMarker","constructorRegex","isES6ClassFn","fnStr","tryFunctionObject","objectClass","fnClass","genClass","ddaClass","ddaClass2","ddaClass3","hasToStringTag","isIE68","isDDA","all","isCallable","strClass","IsCallable","$Math","$Number","maxSafeInteger","$abs","floor","ES5internalSlots","actualHint","es5","ToPrimitive","ToNumber","prim","trimmed","_isNaN","$isNaN","_isFinite","$isFinite","$sign","ToInteger","regexTester","getDay","tryDateObject","dateClass","symToStr","symStringRegex","isSymbolObject","isSymbolModule","ordinaryToPrimitive","hint","methodNames","GetMethod","es2015","exoticToPrim","toPrimitive","$RegExp","$parseInteger","isOctal","isInvalidHexLiteral","nonWS","nonWSregex","hasNonWS","ws","trimRegex","$trim","ES5ToInteger","ToIntegerOrInfinity","ToLength","LengthOfArrayLike","ToObject","$String","ToString","strValue","tryStringObject","$split","boxedString","splitString","callbackfn","thisO","kPresent","kValue","esArrayMethodBoxesProperly","properlyBoxesNonStrict","properlyBoxesStrict","threwException","arrayMethodBoxesProperly","polyfill","define","getPolyfill","boundCoercible","array_prototype_foreach","$isEnumerable","$push","entrys","object_entries","leftWhitespace","rightWhitespace","zeroWidthSpace","boundTrim","string_prototype_trim","forEach","warn","russianPluralGroups","lastTwo","defaultPluralRules","langToTypeMap","mapping","langs","lang","pluralTypeName","langToPluralType","pluralTypeIndex","pluralType","createMemoizedPluralTypeNameSelector","localePluralTypeStorage","constructTokenRegex","suffix","memoizedPluralTypeName","transformPhrase","phrase","substitutions","tokenRegex","interpolationRegex","pluralRulesOrDefault","texts","bestLocale","pluralTypeWithCount","Polyglot","newLocale","morePhrases","prefixedKey","newPhrases","onMissingKey","nodePolyglot","polyglotI18nProvider","getMessages","initialLocale","availableLocales","polyglotOptions","messages","availableLocalesFinal","polyglotOptionsFinal","polyglot","newPolyglot","defaultMessages","Admin","Header","username","MonetizationOn","sectors","sector","CompanyAvatar","CompanyCard","setElevation","ContactsIcon","DealIcon","LoadingGridList","LoadedGridList","ImageList","Business","LocalShipping","SupervisorAccount","CompanyListFilter","BusinessIcon","LocalShippingIcon","SupervisorAccountIcon","CompanyList","CompanyListActions","CompanyForm","sales","CompanyCreate","PersonAdd","MuiAvatar","getColorFromStatus","Status","ColoredChipField","TagsList","sizeInPixel","LogoField","CompanyAside","stages","stageNames","stageChoices","getDealsByStage","unorderedDeals","dealsByStage","deal","stage","recordA","recordB","CompanyShow","CompanyShowContent","tabValue","setTabValue","handleTabChange","TabPanel","CreateRelatedContactButton","ContactsIterator","DealsIterator","contacts","contact","RouterLink","company","PersonAddIcon","deals","CompanyEdit","companies","ControlPoint","TagsListEdit","newTagName","setNewTagName","newTagColor","setNewTagColor","setDisabled","allTags","isPendingAllTags","isPendingRecordTags","unselectedTags","handleDeleteTag","tagId","handleAddTag","handleOpenCreateDialog","handleNewTagNameChange","handleCreateTag","ControlPointIcon","EditIcon","RoundButton","taskTypes","AddTask","MoreVert","Task","task","showContact","isUpdatePending","handleCheck","MoreVertIcon","TasksIterator","tasks","genders","ContactAside","StatusSelector","NewNote","showStatus","setText","setDate","getCurrentDate","foreignKeyMapping","Note","note","isHover","setHover","isEditing","setEditing","noteText","setNoteText","deleteNote","handleEnterEditMode","handleCancelEdit","handleTextChange","handleNoteUpdate","TrashIcon","NotesIterator","ContactShow","ContactShowContent","AccessTime","TrendingUp","LocalOffer","ContactListFilter","AccessTimeIcon","TrendingUpIcon","LocalOfferIcon","ContactListContent","ContactListActions","ContactList","RaList","isUrl","ContactInputs","handleCreateCompany","ContactEdit","ContactEditContent","ContactCreate","Home","Code","Welcome","HomeIcon","CodeIcon","AttachMoney","updateQueue","makeQueue","raf","writeQueue","onStartQueue","onFrameQueue","onFinishQueue","pendingCount","findTimeout","sync","queuedFn","throttled","nativeRaf","impl","ts","loop","prevTs","eachSafely","each","defineHidden","eachProp","toArray","iterator","flushCalls","isSSR","createStringInterpolator$1","colors$1","skipAnimation","willAdvance","globals","startQueue","currentFrame","prevFrame","frameLoop","flushStartQueue","startSafely","advance","prevIndex","startUnsafely","dt","nextFrame","NUMBER","PERCENTAGE","call","rgba","hsl","hsla","hex3","hex4","hex6","hex8","normalizeColor","parse255","parse1","parse360","parsePercentage","hue2rgb","colorToRgba","int32Color","createInterpolator","extrapolate","outputRange","inputRange","extrapolateLeft","extrapolateRight","findRange","interpolate","inputMin","inputMax","outputMin","outputMax","$get","$observers","hasFluidValue","getFluidValue","getFluidObservers","callFluidObserver","callFluidObservers","observers","_FluidValue","setFluidGetter","FluidValue","setHidden","addFluidObserver","removeFluidObserver","numberRegex","colorRegex","unitRegex","rgbaRegex","cssVariableRegex","variableToRgba","parseCSSVariable","namedColorRegex","rgbaRound","p3","p4","createStringInterpolator","interpolators","_output$find","missingUnit","called","warnInterpolate","deprecateInterpolate","warnDirectCall","deprecateDirectCall","isAnimatedString","useForceUpdate","useMemoOne","getResult","inputs","initial","committed","prevCache","areInputsEqual","useOnce","emptyDeps","usePrev","prevRef","$node","isAnimated","getAnimated","setAnimated","getPayload","_Animated","Animated","_AnimatedValue","AnimatedValue","_AnimatedString","goal","AnimatedString","TreeContext","_AnimatedObject","animated","AnimatedObject","_AnimatedArray","makeAnimated","AnimatedArray","getAnimatedType","parentNode","withAnimated","host","hasInstance","givenProps","givenRef","instanceRef","updateRef","deps","getAnimatedState","forceUpdate","PropsObserver","observerRef","usedProps","_PropsObserver","dependencies","cacheKey","createHost","_applyAnimatedValues","_createAnimatedStyle","_getComponentProps","hostConfig","callProp","matchProp","resolveProp","getDefaultProp","noopTransform","getDefaultProps","DEFAULT_PROPS","RESERVED_PROPS","getForwardProps","forward","inferTo","out","computeGoal","Globals","hasProps","isAsyncTo","detachRefs","ctrl","_ctrl$ref","replaceRef","_ctrl$ref2","c1","c2","c3","c4","c5","bounceOut","easings","_AnimationConfig","AnimationConfig","mergeConfig","newConfig","defaultConfig","sanitizeConfig","mass","frequency","damping","isTensionConfig","_Animation","Animation","scheduleProps","callId","_props$cancel","onStart","onResume","onPause","getCombinedResult","getCancelledResult","getNoopResult","getFinishedResult","finished","runAsync","parentId","onRest","prevTo","prevPromise","preventBail","bail","bailPromise","bailIfEnded","bailSignal","bailResult","arg1","arg2","BailSignal","skipAnimationSignal","SkipAniamtionSignal","stopAsync","resume","animating","cancelId","_BailSignal","_SkipAniamtionSignal","isFrameValue","FrameValue","nextId$1","_FrameValue","idle","$P","HAS_ANIMATED","IS_ANIMATING","IS_PAUSED","hasAnimated","isAnimating","isPaused","setActiveBit","setPausedBit","paused","_SpringValue","changed","anim","toValues","elapsed","v0","velocity","decay","precision","restVelocity","bounceFactor","canBounce","isGrowing","isMoving","isBouncing","numSteps","springForce","dampingForce","acceleration","currVal","finalVal","isLoop","mergeActiveFn","sendEvent","checkFinished","createLoopUpdate","hasToProp","hasFromProp","prevFrom","hasFromChanged","hasToChanged","hasAsyncTo","isAnimatable","immediate","nodeType","goalType","started","hasValueChanged","ACTIVE_EVENTS","oldNode","SpringValue","loopRet","overrides","reverse","createUpdate","findDefined","declareUpdate","_target$animation$typ","_target$animation","_target$defaultProps$","_target$defaultProps","BATCHED_EVENTS","nextId","_Controller","spring","prepareKeys","flushUpdateQueue","springs","Controller","flushUpdate","onResolve","asyncTo","getSprings","prepareSprings","createSpring","setSprings","_excluded$3","SpringContext","Provider","makeContext","SpringRef","_getProps","useSprings","propsFn","layoutId","ctrls","prevLength","declareUpdates","prevContext","hasContext","useSpring","isFn","TransitionPhase","useTransition","trail","expires","exitBeforeEnter","onDestroyed","propsRef","propsConfig","usedTransitions","prevTransitions","_t$ctrl$ref","change","changes","getKeys","expired","reused","leave","exitingTransitions","forceChange","prevPhase","propsDelay","isLeave","expiry","expiryMs","ind","renderTransitions","elem","_Interpolation","_dt","oldValue","checkIdle","becomeIdle","highest","Interpolation","isIdle","_excluded$2","isCustomPropRE","dangerousStyleValue","isUnitlessNumber","attributeCache","applyAnimatedValues","isFilterElement","prefixKey","prefixes","_excluded$1","domTransforms","pxTransforms","degTransforms","addUnit","isValueIdentity","_AnimatedStyle","transforms","xyz","deg","FluidTransform","AnimatedStyle","_FluidTransform","primitives","unstable_batchedUpdates","factory","extend","Color","darker","brighter","reI","reN","reP","reHex","reRgbInteger","reRgbPercent","reRgbaInteger","reRgbaPercent","reHslPercent","reHslaPercent","named","channels","color_formatHex","color_formatHsl","color_formatRgb","hslConvert","rgbn","Rgb","rgbConvert","rgb_formatHex","rgb_formatRgb","Hsl","m2","m1","hsl2rgb","radians","degrees","ED","EB","BC_DA","cubehelixConvert","Cubehelix","cubehelix","cosh","sinh","basis","t1","v1","v2","v3","t2","t3","basis$1","constant$1","linear","exponential","hue","nogamma","rgbGamma","colorRgb","rgbSpline","spline","rgbBasis","numberArray","isNumberArray","genericArray","date$3","interpolateNumber","reA","reB","zero","one","R$1","bs","interpolateRound","cubehelixGamma","colorCubehelix","cubehelixLong","isString_1","ascending","bisector","compare","ascendingComparator","lo","mid","number$2","ascendingBisect","bisectRight","e10","e5","e2","ticks","tickIncrement","r0","r1","power","tickStep","step0","step1","sequence","initRange","domain","implicit","ordinal","unknown","scale","band","ordinalRange","bandwidth","paddingInner","paddingOuter","rescale","pointish","point","constants","normalize","clamper","bimap","d0","d1","polymap","bisect","interpolateValue","untransform","piecewise","continuous","formatDecimal$1","formatDecimalParts","exponent$1","formatGroup$1","grouping","thousands","formatNumerals$1","numerals","formatSpecifier","specifier","FormatSpecifier","formatTrim$1","i0","i1","prefixExponent","formatPrefixAuto$1","exponent","formatRounded$1","formatTypes$1","formatDecimal","formatRounded","formatPrefixAuto","identity$2","formatLocale$2","formatGroup","currencyPrefix","currencySuffix","decimal","formatNumerals","percent","minus","nan","newFormat","fill","comma","formatTypes","formatType","maybeSuffix","valuePrefix","valueSuffix","valueNegative","formatTrim","formatPrefix","formatLocale","precisionFixed","precisionPrefix","precisionRound","tickFormat","linearish","prestep","maxIter","nice","x0","x1","transformLog","transformExp","transformLogn","transformExpn","pow10","powp","logp","reflect","loggish","logs","pows","log","transformSymlog","transformSymexp","symlogish","symlog","t0","newInterval","floori","offseti","millisecond","durationSecond","durationMinute","durationHour","durationDay","durationWeek","durationMonth","durationYear","second","utcSecond","minute","timeMinute","hour","timeHour","weekday","sunday","monday","tuesday","wednesday","thursday","friday","saturday","timeMonth","utcMinute","utcMinute$2","utcHour","utcHour$2","utcDay","utcWeekday","utcSunday","utcMonday","utcTuesday","utcWednesday","utcThursday","utcFriday","utcSaturday","utcMonth","utcMonth$2","utcYear","ticker","tickIntervals","tickInterval","utcTicks","utcTickInterval","utcWeek","timeTicks","timeTickInterval","localDate","newDate","locale_dateTime","locale_date","locale_time","locale_periods","locale_weekdays","locale_shortWeekdays","locale_months","locale_shortMonths","periodRe","formatRe","periodLookup","formatLookup","weekdayRe","weekdayLookup","shortWeekdayRe","shortWeekdayLookup","monthRe","monthLookup","shortMonthRe","shortMonthLookup","formats","formatShortWeekday","formatWeekday","formatShortMonth","formatMonth","formatDayOfMonth","formatMicroseconds","formatYearISO","formatFullYearISO","formatHour24","formatHour12","formatDayOfYear","formatMilliseconds","formatMonthNumber","formatMinutes","formatPeriod","formatQuarter","formatUnixTimestamp","formatUnixTimestampSeconds","formatSeconds","formatWeekdayNumberMonday","formatWeekNumberSunday","formatWeekNumberISO","formatWeekdayNumberSunday","formatWeekNumberMonday","formatYear","formatFullYear","formatZone","formatLiteralPercent","utcFormats","formatUTCShortWeekday","formatUTCWeekday","formatUTCShortMonth","formatUTCMonth","formatUTCDayOfMonth","formatUTCMicroseconds","formatUTCYearISO","formatUTCFullYearISO","formatUTCHour24","formatUTCHour12","formatUTCDayOfYear","formatUTCMilliseconds","formatUTCMonthNumber","formatUTCMinutes","formatUTCPeriod","formatUTCQuarter","formatUTCSeconds","formatUTCWeekdayNumberMonday","formatUTCWeekNumberSunday","formatUTCWeekNumberISO","formatUTCWeekdayNumberSunday","formatUTCWeekNumberMonday","formatUTCYear","formatUTCFullYear","formatUTCZone","parses","parseShortWeekday","parseWeekday","parseShortMonth","parseMonth","parseLocaleDateTime","parseDayOfMonth","parseMicroseconds","parseFullYear","parseHour24","parseDayOfYear","parseMilliseconds","parseMonthNumber","parseMinutes","parsePeriod","parseQuarter","parseUnixTimestamp","parseUnixTimestampSeconds","parseSeconds","parseWeekdayNumberMonday","parseWeekNumberSunday","parseWeekNumberISO","parseWeekdayNumberSunday","parseWeekNumberMonday","parseLocaleDate","parseLocaleTime","parseZone","parseLiteralPercent","pads","newParse","parseSpecifier","timeMonday","timeDay","numberRe","percentRe","requoteRe","requote","timeYear","timeSunday","dISO","timeThursday","dow","UTCdISO","timeFormat","timeParse","utcFormat","utcParse","calendar","invert","formatMillisecond","formatSecond","formatMinute","formatHour","formatDay","formatWeek","timeWeek","timeSecond","utcTime","e$1","o$1","u$1","a$1","ramp$1","interpolateRgbBasis","ramp","ne$1","interpolateCubehelixLong","warm","cool","be$1","pi_1_3","pi_2_3","ve$1","X$3","Y$3","magma","inferno","plasma","without","without_1","epsilon","Linear","dr","Basis","$e$1","BasisClosed","er","BasisOpen","y0","rr","Bundle","beta","dx","dy","tr","custom","bundle","Cardinal","tension","ir","cardinal","CardinalClosed","nr","CardinalOpen","or","y1","x2","y2","CatmullRom","x23","y23","ar","catmullRom","CatmullRomClosed","sr","CatmullRomOpen","lr","LinearClosed","ur","slope3","h0","s0","s1","slope2","MonotoneX","MonotoneY","ReflectContext","monotoneX","monotoneY","Natural","controlPoints","py","pr$1","Step","hr","stepBefore","stepAfter","wr","series","Rr","stackValue","A$1","orderNone","offsetNone","kz","sz","oz","sij","kr","none","j$1","yp","yn","xr","Or","s2","sij0","sij1","s3","skj0","skj1","appearance","peaks","peak","br","sums","sum","yr","vr","tops","bottoms","qr","identity$1","Gr","Lr","Ir","Yr","Ar","Fr","Er","Ur","Xr","Kr","Hr","Vr","Jr","Qr","Zr","$r","et","rt","tt","nt","$","ot","ht","fr","cr","pr","gr","mr","gt","vt","wt","Ct","Wt","Tt","Yt","At","Ft","Et","Ut","Wr","Cr","Xt","Kt","Ht","Nt","Vt","Jt","Qt","Zt","en","jr","Mr","Dr","rn","uniqBy","uniqBy_1","baseForOwn","_baseForOwn","createBaseEach","eachFunc","_createBaseEach","baseEach","_baseEach","baseMap","_baseMap","baseSortBy","comparer","_baseSortBy","compareAscending","valIsDefined","valIsNull","valIsReflexive","valIsSymbol","othIsDefined","othIsNull","othIsReflexive","othIsSymbol","_compareAscending","compareMultiple","orders","objCriteria","othCriteria","ordersLength","_compareMultiple","baseOrderBy","iteratees","_baseOrderBy","p$2","g$1","x$1","T$2","N$1","I$1","k$2","M$1","z$3","P$2","nn","tn","cn","pn","hn","gn","xn","kn","t.createElement","customOmitClone","_customOmitClone","omit","omit_1","isNumber_1","baseFilter","_baseFilter","filter_1","lt","at","ct","st","a.createElement","multiplier","DealsChart","dealsByMonth","AttachMoneyIcon","ResponsiveBar","Contacts","HotContacts","contactData","contactTotal","contactsLoading","LatestNotes","contactNotesData","contactNotesLoading","dealNotesData","dealNotesLoading","allNotes","NoteIcon","Deal","Contact","AssignmentTurnedIn","TasksList","tasksLoading","AssignmentTurnedInIcon","fakeRestDataProvider","loggingEnabled","restServer","FakeRest","getResponse","handle","UndefinedResourceError","paramsWithoutSignal","_UndefinedResourceError","Fake","faker","fake","regExp","unique","found","currentIterations","defaultCompare","startTime","unique_1","uniqueExec","Unique","maxTime","maxRetries","MersenneTwister19937","MATRIX_A","UPPER_MASK","LOWER_MASK","mt","mti","unsigned32","n1","subtraction32","n2","addition32","multiplication32","init_key","key_length","mag01","mersenne","Random","randomNumber","arrayCopy","countToRemove","indexToRemove","RFC4122_TEMPLATE","replacePlaceholders","random","wordMethods","randomWordMethod","words","wholeString","Helpers","getCheckBit","curr","numberList","checkNum","RANGE_REP_REG","REP_REG","RANGE_REG","tmp","repetitions","userName","Name","gender","firstName","lastName","level","job","Address","localeFormat","zipRange","useFullAddress","address","alphaCode","useAbbr","coordinate","radius","isMetric","degreesToRadians","radiansToDegrees","kilometersToMiles","miles","coordinateWithOffset","bearing","lat1","lon1","lat2","lon2","randomCoord","Company","digitStr","Finance","ibanLib","routingNumber","parens","ellipsis","randValue","addressLength","provider","cvv","formatted","countryCode","ibanFormat","findFormat","currentFormat","bban","checksum","iban","vowels","prob","account","card","currency","transactionType","Lorempixel","randomize","categories","category","Unsplash","keyword","keywordFormat","LoremPicsum","grayscale","blur","Image","https","protocol","svgString","rawPrefix","Lorem","hasRightLength","word","properLengthWords","wordCount","sentence","sentenceCount","sentences","paragraphCount","paragraphs","loremMethods","randomLoremMethod","lineCount","Hacker","userAgent","rnd","rand","return_val","randomLang","randomBrowserAndOS","browser","os","randomProc","arch","procs","randomRevision","dots","version_string","delim","firefox_ver","gecko_ver","proc","os_ver","ver","presto_ver","safari","random_ua","Internet","protocols","httpMethods","randNum","randHash","baseRed255","baseGreen255","baseBlue255","redStr","greenStr","blueStr","sep","mac","validSep","memorable","consonant","vowel","_password","Database","Phone","phoneFormatsArrayIndex","_Date","refDate","past","fromMilli","dateOffset","newDates","lastDate","_Time","outputType","Commerce","System","ext","mimes","mimeType","exts","Git","hexChars","noun","verb","commit","shortSha","Vehicle","Music","Faker","localeFallback","_definitions","internet","phone_number","en_US","database","lorem","cell_phone","business","commerce","team","hacker","app","credit_card","finance","system","vehicle","music","generateSales","randomSales","first_name","last_name","generateTags","weightedBoolean","likelyhood","randomDate","minDate","maxDate","minTs","randomRange","generateCompanies","phone","maxContacts","generateContacts","numberOfContacts","has_avatar","fakerCompany","first_seen","last_seen","generateContactNotes","generateTasks","generateDeals","lowercaseName","created_at","generateDealNotes","finalize","generateData","baseDataProvider","TASK_MARKED_AS_DONE","TASK_MARKED_AS_UNDONE","TASK_DONE_NOT_CHANGED","taskUpdateType","augmentedDataProvider","contact_id","DealList","React.lazy","__vitePreload","App","reportWebVitals","onPerfEntry","getCLS","getFID","getFCP","getLCP","getTTFB"],"sources":["../../../../node_modules/react/cjs/react.production.min.js","../../../../node_modules/react/index.js","../../../../node_modules/react/cjs/react-jsx-runtime.production.min.js","../../../../node_modules/react/jsx-runtime.js","../../../../node_modules/scheduler/cjs/scheduler.production.min.js","../../../../node_modules/scheduler/index.js","../../../../node_modules/react-dom/cjs/react-dom.profiling.min.js","../../../../node_modules/react-dom/profiling.js","../../../../node_modules/react-dom/client.js","../../../../packages/ra-core/src/auth/AuthContext.tsx","../../../../packages/ra-core/src/auth/useAuthProvider.ts","../../../../node_modules/@tanstack/query-core/build/modern/subscribable.js","../../../../node_modules/@tanstack/query-core/build/modern/utils.js","../../../../node_modules/@tanstack/query-core/build/modern/focusManager.js","../../../../node_modules/@tanstack/query-core/build/modern/onlineManager.js","../../../../node_modules/@tanstack/query-core/build/modern/retryer.js","../../../../node_modules/@tanstack/query-core/build/modern/notifyManager.js","../../../../node_modules/@tanstack/query-core/build/modern/removable.js","../../../../node_modules/@tanstack/query-core/build/modern/query.js","../../../../node_modules/@tanstack/query-core/build/modern/queryCache.js","../../../../node_modules/@tanstack/query-core/build/modern/mutation.js","../../../../node_modules/@tanstack/query-core/build/modern/mutationCache.js","../../../../node_modules/@tanstack/query-core/build/modern/infiniteQueryBehavior.js","../../../../node_modules/@tanstack/query-core/build/modern/queryClient.js","../../../../node_modules/@tanstack/query-core/build/modern/queryObserver.js","../../../../node_modules/@tanstack/query-core/build/modern/mutationObserver.js","../../../../node_modules/@tanstack/react-query/build/modern/QueryClientProvider.js","../../../../node_modules/@tanstack/react-query/build/modern/isRestoring.js","../../../../node_modules/@tanstack/react-query/build/modern/QueryErrorResetBoundary.js","../../../../node_modules/@tanstack/react-query/build/modern/utils.js","../../../../node_modules/@tanstack/react-query/build/modern/errorBoundaryUtils.js","../../../../node_modules/@tanstack/react-query/build/modern/suspense.js","../../../../node_modules/@tanstack/react-query/build/modern/useBaseQuery.js","../../../../node_modules/@tanstack/react-query/build/modern/useQuery.js","../../../../node_modules/@tanstack/react-query/build/modern/useMutation.js","../../../../node_modules/@remix-run/router/dist/router.js","../../../../node_modules/react-router/dist/index.js","../../../../node_modules/react-router-dom/dist/index.js","../../../../packages/ra-core/src/store/localStorageStore.ts","../../../../node_modules/lodash/_freeGlobal.js","../../../../node_modules/lodash/_root.js","../../../../node_modules/lodash/_Symbol.js","../../../../node_modules/lodash/_getRawTag.js","../../../../node_modules/lodash/_objectToString.js","../../../../node_modules/lodash/_baseGetTag.js","../../../../node_modules/lodash/isObject.js","../../../../node_modules/lodash/isFunction.js","../../../../node_modules/lodash/_coreJsData.js","../../../../node_modules/lodash/_isMasked.js","../../../../node_modules/lodash/_toSource.js","../../../../node_modules/lodash/_baseIsNative.js","../../../../node_modules/lodash/_getValue.js","../../../../node_modules/lodash/_getNative.js","../../../../node_modules/lodash/_defineProperty.js","../../../../node_modules/lodash/_baseAssignValue.js","../../../../node_modules/lodash/eq.js","../../../../node_modules/lodash/_assignValue.js","../../../../node_modules/lodash/isArray.js","../../../../node_modules/lodash/isObjectLike.js","../../../../node_modules/lodash/isSymbol.js","../../../../node_modules/lodash/_isKey.js","../../../../node_modules/lodash/_nativeCreate.js","../../../../node_modules/lodash/_hashClear.js","../../../../node_modules/lodash/_hashDelete.js","../../../../node_modules/lodash/_hashGet.js","../../../../node_modules/lodash/_hashHas.js","../../../../node_modules/lodash/_hashSet.js","../../../../node_modules/lodash/_Hash.js","../../../../node_modules/lodash/_listCacheClear.js","../../../../node_modules/lodash/_assocIndexOf.js","../../../../node_modules/lodash/_listCacheDelete.js","../../../../node_modules/lodash/_listCacheGet.js","../../../../node_modules/lodash/_listCacheHas.js","../../../../node_modules/lodash/_listCacheSet.js","../../../../node_modules/lodash/_ListCache.js","../../../../node_modules/lodash/_Map.js","../../../../node_modules/lodash/_mapCacheClear.js","../../../../node_modules/lodash/_isKeyable.js","../../../../node_modules/lodash/_getMapData.js","../../../../node_modules/lodash/_mapCacheDelete.js","../../../../node_modules/lodash/_mapCacheGet.js","../../../../node_modules/lodash/_mapCacheHas.js","../../../../node_modules/lodash/_mapCacheSet.js","../../../../node_modules/lodash/_MapCache.js","../../../../node_modules/lodash/memoize.js","../../../../node_modules/lodash/_memoizeCapped.js","../../../../node_modules/lodash/_stringToPath.js","../../../../node_modules/lodash/_arrayMap.js","../../../../node_modules/lodash/_baseToString.js","../../../../node_modules/lodash/toString.js","../../../../node_modules/lodash/_castPath.js","../../../../node_modules/lodash/_isIndex.js","../../../../node_modules/lodash/_toKey.js","../../../../node_modules/lodash/_baseSet.js","../../../../node_modules/lodash/set.js","../../../../node_modules/lodash/last.js","../../../../node_modules/lodash/_baseGet.js","../../../../node_modules/lodash/_baseSlice.js","../../../../node_modules/lodash/_parent.js","../../../../node_modules/lodash/_baseUnset.js","../../../../node_modules/lodash/unset.js","../../../../node_modules/lodash/get.js","../../../../packages/ra-core/src/store/memoryStore.tsx","../../../../packages/ra-core/src/store/StoreContext.tsx","../../../../packages/ra-core/src/store/StoreContextProvider.tsx","../../../../packages/ra-core/src/store/useStoreContext.ts","../../../../node_modules/lodash/_stackClear.js","../../../../node_modules/lodash/_stackDelete.js","../../../../node_modules/lodash/_stackGet.js","../../../../node_modules/lodash/_stackHas.js","../../../../node_modules/lodash/_stackSet.js","../../../../node_modules/lodash/_Stack.js","../../../../node_modules/lodash/_setCacheAdd.js","../../../../node_modules/lodash/_setCacheHas.js","../../../../node_modules/lodash/_SetCache.js","../../../../node_modules/lodash/_arraySome.js","../../../../node_modules/lodash/_cacheHas.js","../../../../node_modules/lodash/_equalArrays.js","../../../../node_modules/lodash/_Uint8Array.js","../../../../node_modules/lodash/_mapToArray.js","../../../../node_modules/lodash/_setToArray.js","../../../../node_modules/lodash/_equalByTag.js","../../../../node_modules/lodash/_arrayPush.js","../../../../node_modules/lodash/_baseGetAllKeys.js","../../../../node_modules/lodash/_arrayFilter.js","../../../../node_modules/lodash/stubArray.js","../../../../node_modules/lodash/_getSymbols.js","../../../../node_modules/lodash/_baseTimes.js","../../../../node_modules/lodash/_baseIsArguments.js","../../../../node_modules/lodash/isArguments.js","../../../../node_modules/lodash/stubFalse.js","../../../../node_modules/lodash/isBuffer.js","../../../../node_modules/lodash/isLength.js","../../../../node_modules/lodash/_baseIsTypedArray.js","../../../../node_modules/lodash/_baseUnary.js","../../../../node_modules/lodash/_nodeUtil.js","../../../../node_modules/lodash/isTypedArray.js","../../../../node_modules/lodash/_arrayLikeKeys.js","../../../../node_modules/lodash/_isPrototype.js","../../../../node_modules/lodash/_overArg.js","../../../../node_modules/lodash/_nativeKeys.js","../../../../node_modules/lodash/_baseKeys.js","../../../../node_modules/lodash/isArrayLike.js","../../../../node_modules/lodash/keys.js","../../../../node_modules/lodash/_getAllKeys.js","../../../../node_modules/lodash/_equalObjects.js","../../../../node_modules/lodash/_DataView.js","../../../../node_modules/lodash/_Promise.js","../../../../node_modules/lodash/_Set.js","../../../../node_modules/lodash/_WeakMap.js","../../../../node_modules/lodash/_getTag.js","../../../../node_modules/lodash/_baseIsEqualDeep.js","../../../../node_modules/lodash/_baseIsEqual.js","../../../../node_modules/lodash/isEqual.js","../../../../packages/ra-core/src/i18n/substituteTokens.ts","../../../../packages/ra-core/src/i18n/I18nContext.ts","../../../../packages/ra-core/src/notification/AddNotificationContext.tsx","../../../../packages/ra-core/src/notification/NotificationContext.ts","../../../../packages/ra-core/src/notification/NotificationContextProvider.tsx","../../../../packages/ra-core/src/notification/useAddNotificationContext.tsx","../../../../packages/ra-core/src/notification/useNotificationContext.ts","../../../../packages/ra-core/src/notification/useNotify.ts","../../../../packages/ra-core/src/i18n/I18nContextProvider.tsx","../../../../node_modules/lodash/_assignMergeValue.js","../../../../node_modules/lodash/_createBaseFor.js","../../../../node_modules/lodash/_baseFor.js","../../../../node_modules/lodash/_cloneBuffer.js","../../../../node_modules/lodash/_cloneArrayBuffer.js","../../../../node_modules/lodash/_cloneTypedArray.js","../../../../node_modules/lodash/_copyArray.js","../../../../node_modules/lodash/_baseCreate.js","../../../../node_modules/lodash/_getPrototype.js","../../../../node_modules/lodash/_initCloneObject.js","../../../../node_modules/lodash/isArrayLikeObject.js","../../../../node_modules/lodash/isPlainObject.js","../../../../node_modules/lodash/_safeGet.js","../../../../node_modules/lodash/_copyObject.js","../../../../node_modules/lodash/_nativeKeysIn.js","../../../../node_modules/lodash/_baseKeysIn.js","../../../../node_modules/lodash/keysIn.js","../../../../node_modules/lodash/toPlainObject.js","../../../../node_modules/lodash/_baseMergeDeep.js","../../../../node_modules/lodash/_baseMerge.js","../../../../node_modules/lodash/identity.js","../../../../node_modules/lodash/_apply.js","../../../../node_modules/lodash/_overRest.js","../../../../node_modules/lodash/constant.js","../../../../node_modules/lodash/_baseSetToString.js","../../../../node_modules/lodash/_shortOut.js","../../../../node_modules/lodash/_setToString.js","../../../../node_modules/lodash/_baseRest.js","../../../../node_modules/lodash/_isIterateeCall.js","../../../../node_modules/lodash/_createAssigner.js","../../../../node_modules/lodash/merge.js","../../../../packages/ra-core/src/i18n/useI18nProvider.ts","../../../../packages/ra-core/src/i18n/useLocaleState.tsx","../../../../packages/ra-core/src/i18n/useLocale.tsx","../../../../packages/ra-core/src/i18n/useLocales.ts","../../../../packages/ra-core/src/i18n/useTranslate.ts","../../../../packages/ra-core/src/routing/BasenameContext.ts","../../../../packages/ra-core/src/routing/BasenameContextProvider.tsx","../../../../packages/ra-core/src/routing/AdminRouter.tsx","../../../../node_modules/lodash/now.js","../../../../node_modules/lodash/_trimmedEndIndex.js","../../../../node_modules/lodash/_baseTrim.js","../../../../node_modules/lodash/toNumber.js","../../../../node_modules/lodash/debounce.js","../../../../packages/ra-core/src/routing/useRestoreScrollPosition.ts","../../../../packages/ra-core/src/routing/RestoreScrollPosition.tsx","../../../../packages/ra-core/src/routing/useBasename.ts","../../../../packages/ra-core/src/routing/useCreatePath.ts","../../../../packages/ra-core/src/routing/useRedirect.ts","../../../../packages/ra-core/src/routing/useResetErrorBoundaryOnLocationChange.ts","../../../../packages/ra-core/src/routing/useScrollToTop.tsx","../../../../packages/ra-core/src/dataProvider/dataFetchActions.ts","../../../../packages/ra-core/src/dataProvider/defaultDataProvider.ts","../../../../packages/ra-core/src/dataProvider/convertLegacyDataProvider.ts","../../../../packages/ra-core/src/dataProvider/DataProviderContext.ts","../../../../packages/ra-core/src/dataProvider/HttpError.ts","../../../../node_modules/decode-uri-component/index.js","../../../../node_modules/split-on-first/index.js","../../../../node_modules/filter-obj/index.js","../../../../node_modules/query-string/base.js","../../../../packages/ra-core/src/dataProvider/fetch.ts","../../../../node_modules/eventemitter3/index.js","../../../../packages/ra-core/src/dataProvider/undoableEventEmitter.ts","../../../../packages/ra-core/src/dataProvider/withLifecycleCallbacks.ts","../../../../packages/ra-core/src/auth/useLogoutIfAccessDenied.ts","../../../../packages/ra-core/src/dataProvider/useDataProvider.ts","../../../../packages/ra-core/src/dataProvider/useLoading.ts","../../../../packages/ra-core/src/dataProvider/useRefresh.ts","../../../../packages/ra-core/src/dataProvider/useGetOne.ts","../../../../packages/ra-core/src/dataProvider/useGetList.ts","../../../../packages/ra-core/src/dataProvider/useGetMany.ts","../../../../node_modules/lodash/_isFlattenable.js","../../../../node_modules/lodash/_baseFlatten.js","../../../../node_modules/lodash/_baseFindIndex.js","../../../../node_modules/lodash/_baseIsNaN.js","../../../../node_modules/lodash/_strictIndexOf.js","../../../../node_modules/lodash/_baseIndexOf.js","../../../../node_modules/lodash/_arrayIncludes.js","../../../../node_modules/lodash/_arrayIncludesWith.js","../../../../node_modules/lodash/noop.js","../../../../node_modules/lodash/_createSet.js","../../../../node_modules/lodash/_baseUniq.js","../../../../node_modules/lodash/union.js","../../../../packages/ra-core/src/dataProvider/useGetManyAggregate.ts","../../../../packages/ra-core/src/dataProvider/useGetManyReference.ts","../../../../packages/ra-core/src/util/shallowEqual.ts","../../../../packages/ra-core/src/util/removeEmpty.ts","../../../../packages/ra-core/src/util/removeKey.ts","../../../../packages/ra-core/src/controller/list/queryReducer.ts","../../../../packages/ra-core/src/controller/useSortState.ts","../../../../packages/ra-core/src/controller/usePaginationState.ts","../../../../packages/ra-core/src/controller/checkMinimumRequiredProps.tsx","../../../../packages/ra-core/src/controller/button/useDeleteWithUndoController.tsx","../../../../packages/ra-core/src/controller/button/useDeleteWithConfirmController.tsx","../../../../packages/ra-core/src/controller/saveContext/SaveContext.ts","../../../../packages/ra-core/src/controller/saveContext/SaveContextProvider.tsx","../../../../node_modules/lodash/_basePickBy.js","../../../../node_modules/lodash/_baseHasIn.js","../../../../node_modules/lodash/_hasPath.js","../../../../node_modules/lodash/hasIn.js","../../../../node_modules/lodash/_basePick.js","../../../../node_modules/lodash/flatten.js","../../../../node_modules/lodash/_flatRest.js","../../../../node_modules/lodash/pick.js","../../../../packages/ra-core/src/controller/saveContext/usePickSaveContext.ts","../../../../packages/ra-core/src/controller/saveContext/useSaveContext.ts","../../../../packages/ra-core/src/controller/saveContext/useMutationMiddlewares.ts","../../../../packages/ra-core/src/controller/create/useCreateController.ts","../../../../packages/ra-core/src/controller/record/RecordContext.tsx","../../../../packages/ra-core/src/controller/create/CreateContext.tsx","../../../../packages/ra-core/src/controller/create/CreateContextProvider.tsx","../../../../packages/ra-core/src/controller/create/CreateBase.tsx","../../../../packages/ra-core/src/controller/create/useCreateContext.tsx","../../../../packages/ra-core/src/controller/edit/useEditController.ts","../../../../packages/ra-core/src/controller/record/useRecordContext.ts","../../../../packages/ra-core/src/controller/record/OptionalRecordContextProvider.tsx","../../../../packages/ra-core/src/controller/record/RecordRepresentation.tsx","../../../../packages/ra-core/src/controller/edit/EditContext.tsx","../../../../packages/ra-core/src/controller/edit/EditContextProvider.tsx","../../../../packages/ra-core/src/controller/edit/EditBase.tsx","../../../../packages/ra-core/src/controller/edit/useEditContext.tsx","../../../../packages/ra-core/src/controller/field/ReferenceFieldContext.tsx","../../../../packages/ra-core/src/controller/useReference.ts","../../../../packages/ra-core/src/controller/field/useReferenceFieldController.ts","../../../../packages/ra-core/src/controller/field/ReferenceFieldBase.tsx","../../../../node_modules/jsonexport/dist/core/eol.js","../../../../node_modules/jsonexport/dist/core/helper.js","../../../../node_modules/jsonexport/dist/core/join-rows.js","../../../../node_modules/jsonexport/dist/parser/handler.js","../../../../node_modules/jsonexport/dist/core/escape-delimiters.js","../../../../node_modules/jsonexport/dist/parser/csv.js","../../../../node_modules/jsonexport/dist/core/stream.js","../../../../node_modules/jsonexport/dist/index.js","../../../../packages/ra-core/src/export/downloadCSV.ts","../../../../packages/ra-core/src/export/defaultExporter.ts","../../../../packages/ra-core/src/export/fetchRelatedRecords.ts","../../../../packages/ra-core/src/controller/list/useRecordSelection.ts","../../../../node_modules/lodash/_baseIsMatch.js","../../../../node_modules/lodash/_isStrictComparable.js","../../../../node_modules/lodash/_getMatchData.js","../../../../node_modules/lodash/_matchesStrictComparable.js","../../../../node_modules/lodash/_baseMatches.js","../../../../node_modules/lodash/_baseMatchesProperty.js","../../../../node_modules/lodash/_baseProperty.js","../../../../node_modules/lodash/_basePropertyDeep.js","../../../../node_modules/lodash/property.js","../../../../node_modules/lodash/_baseIteratee.js","../../../../node_modules/lodash/_getSymbolsIn.js","../../../../node_modules/lodash/_getAllKeysIn.js","../../../../node_modules/lodash/pickBy.js","../../../../packages/ra-core/src/util/hooks.ts","../../../../packages/ra-core/src/controller/list/useListParams.ts","../../../../packages/ra-core/src/controller/list/ListContext.tsx","../../../../packages/ra-core/src/controller/list/ListFilterContext.tsx","../../../../packages/ra-core/src/controller/list/ListSortContext.tsx","../../../../packages/ra-core/src/controller/list/ListPaginationContext.tsx","../../../../packages/ra-core/src/controller/list/ListContextProvider.tsx","../../../../packages/ra-core/src/controller/list/useListController.ts","../../../../packages/ra-core/src/controller/list/ListBase.tsx","../../../../packages/ra-core/src/controller/list/useExpanded.tsx","../../../../packages/ra-core/src/controller/list/useList.ts","../../../../packages/ra-core/src/controller/list/useListContext.ts","../../../../node_modules/lodash/defaults.js","../../../../packages/ra-core/src/controller/list/useListContextWithProps.ts","../../../../packages/ra-core/src/controller/list/useListFilterContext.ts","../../../../packages/ra-core/src/controller/list/useListPaginationContext.ts","../../../../packages/ra-core/src/controller/list/useListSortContext.ts","../../../../packages/ra-core/src/controller/list/useUnselect.ts","../../../../packages/ra-core/src/controller/field/useReferenceArrayFieldController.ts","../../../../packages/ra-core/src/controller/field/useReferenceManyFieldController.ts","../../../../node_modules/react-hook-form/dist/index.esm.mjs","../../../../packages/ra-core/src/controller/input/useReferenceParams.ts","../../../../packages/ra-core/src/controller/input/useReferenceInputController.ts","../../../../packages/ra-core/src/form/FormGroupsContext.tsx","../../../../packages/ra-core/src/form/ValidationError.tsx","../../../../packages/ra-core/src/form/getSimpleValidationResolver.ts","../../../../packages/ra-core/src/form/choices/ChoicesContext.ts","../../../../packages/ra-core/src/form/choices/ChoicesContextProvider.tsx","../../../../packages/ra-core/src/form/choices/useChoicesContext.ts","../../../../packages/ra-core/src/form/FormGroupsProvider.tsx","../../../../packages/ra-core/src/form/useWarnWhenUnsavedChanges.tsx","../../../../packages/ra-core/src/form/WarnWhenUnsavedChanges.ts","../../../../packages/ra-core/src/form/getFormInitialValues.ts","../../../../packages/ra-core/src/form/setSubmissionErrors.ts","../../../../packages/ra-core/src/form/useNotifyIsFormInvalid.ts","../../../../packages/ra-core/src/form/sanitizeEmptyValues.ts","../../../../packages/ra-core/src/form/useAugmentedForm.ts","../../../../packages/ra-core/src/form/Form.tsx","../../../../packages/ra-core/src/form/validate.ts","../../../../packages/ra-core/src/form/FormGroupContext.ts","../../../../packages/ra-core/src/form/useFormGroups.ts","../../../../packages/ra-core/src/form/useApplyInputDefaultValues.ts","../../../../packages/ra-core/src/form/useChoices.tsx","../../../../packages/ra-core/src/form/useFormGroupContext.ts","../../../../packages/ra-core/src/form/isRequired.ts","../../../../packages/ra-core/src/form/useInput.ts","../../../../packages/ra-core/src/form/useSuggestions.ts","../../../../packages/ra-core/src/controller/input/ReferenceInputBase.tsx","../../../../packages/ra-core/src/controller/show/useShowController.ts","../../../../packages/ra-core/src/controller/show/ShowContext.tsx","../../../../packages/ra-core/src/controller/show/ShowContextProvider.tsx","../../../../packages/ra-core/src/controller/show/ShowBase.tsx","../../../../packages/ra-core/src/controller/show/useShowContext.tsx","../../../../packages/ra-core/src/dataProvider/useCreate.ts","../../../../packages/ra-core/src/dataProvider/useUpdate.ts","../../../../packages/ra-core/src/dataProvider/useDelete.ts","../../../../packages/ra-core/src/dataProvider/useDeleteMany.ts","../../../../packages/ra-core/src/preferences/PreferencesEditorContext.tsx","../../../../packages/ra-core/src/preferences/PreferencesEditorContextProvider.tsx","../../../../packages/ra-core/src/core/ResourceDefinitionContext.tsx","../../../../packages/ra-core/src/core/CoreAdminContext.tsx","../../../../node_modules/react-error-boundary/dist/react-error-boundary.esm.js","../../../../packages/ra-core/src/core/useResourceDefinitionContext.ts","../../../../packages/ra-core/src/core/useConfigureAdminRouterFromChildren.tsx","../../../../packages/ra-core/src/core/HasDashboardContext.ts","../../../../packages/ra-core/src/core/CoreAdminRoutes.tsx","../../../../packages/ra-core/src/core/DefaultTitleContext.ts","../../../../packages/ra-core/src/core/CoreAdminUI.tsx","../../../../packages/ra-core/src/core/ResourceContext.ts","../../../../packages/ra-core/src/core/ResourceContextProvider.tsx","../../../../packages/ra-core/src/core/OptionalResourceContextProvider.tsx","../../../../node_modules/react-is/cjs/react-is.production.min.js","../../../../node_modules/react-is/index.js","../../../../packages/ra-core/src/core/Resource.tsx","../../../../packages/ra-core/src/core/SourceContext.tsx","../../../../packages/ra-core/src/core/useResourceDefinitions.ts","../../../../node_modules/inflection/lib/inflection.js","../../../../packages/ra-core/src/core/useGetResourceLabel.ts","../../../../packages/ra-core/src/core/useResourceContext.ts","../../../../packages/ra-core/src/core/useResourceDefinition.ts","../../../../packages/ra-core/src/core/useGetRecordRepresentation.ts","../../../../packages/ra-core/src/core/useWrappedSource.ts","../../../../packages/ra-core/src/i18n/useTranslateLabel.ts","../../../../packages/ra-core/src/util/FieldTitle.tsx","../../../../packages/ra-core/src/util/Ready.tsx","../../../../packages/ra-core/src/util/warning.ts","../../../../packages/ra-core/src/util/getFieldLabelTranslationArgs.ts","../../../../packages/ra-core/src/util/useEvent.ts","../../../../packages/ra-core/src/util/useFieldValue.ts","../../../../packages/ra-core/src/util/useCheckForApplicationUpdate.ts","../../../../packages/ra-core/src/store/useStore.ts","../../../../packages/ra-core/src/store/useRemoveFromStore.ts","../../../../packages/ra-core/src/store/useRemoveItemsFromStore.ts","../../../../packages/ra-core/src/store/useResetStore.ts","../../../../packages/ra-core/src/auth/useLogout.ts","../../../../packages/ra-core/src/auth/useAuthState.ts","../../../../packages/ra-core/src/auth/usePermissions.ts","../../../../packages/ra-core/src/auth/useAuthenticated.ts","../../../../packages/ra-core/src/auth/WithPermissions.tsx","../../../../packages/ra-core/src/auth/useLogin.ts","../../../../packages/ra-core/src/auth/types.ts","../../../../packages/ra-core/src/auth/convertLegacyAuthProvider.ts","../../../../packages/ra-core/src/auth/LogoutOnMount.ts","../../../../packages/ra-core/src/auth/useCheckAuth.ts","../../../../packages/ra-core/src/auth/useGetIdentity.ts","../../../../packages/ra-core/src/auth/useHandleAuthCallback.ts","../../../../packages/ra-core/src/preferences/PreferenceKeyContext.tsx","../../../../packages/ra-core/src/preferences/usePreference.ts","../../../../packages/ra-core/src/preferences/usePreferencesEditor.ts","../../../../packages/ra-core/src/preferences/usePreferenceInput.ts","../../../../packages/ra-core/src/preferences/useSetInspectorTitle.ts","../../../../packages/ra-core/src/inference/getValuesFromRecords.ts","../../../../packages/ra-core/src/inference/InferredElement.ts","../../../../node_modules/date-fns/toDate.mjs","../../../../node_modules/date-fns/constructFrom.mjs","../../../../node_modules/date-fns/addDays.mjs","../../../../node_modules/date-fns/addMonths.mjs","../../../../node_modules/date-fns/add.mjs","../../../../node_modules/date-fns/constants.mjs","../../../../node_modules/date-fns/_lib/defaultOptions.mjs","../../../../node_modules/date-fns/startOfWeek.mjs","../../../../node_modules/date-fns/startOfISOWeek.mjs","../../../../node_modules/date-fns/getISOWeekYear.mjs","../../../../node_modules/date-fns/startOfDay.mjs","../../../../node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.mjs","../../../../node_modules/date-fns/differenceInCalendarDays.mjs","../../../../node_modules/date-fns/startOfISOWeekYear.mjs","../../../../node_modules/date-fns/compareAsc.mjs","../../../../node_modules/date-fns/isDate.mjs","../../../../node_modules/date-fns/isValid.mjs","../../../../node_modules/date-fns/differenceInCalendarMonths.mjs","../../../../node_modules/date-fns/_lib/getRoundingMethod.mjs","../../../../node_modules/date-fns/differenceInMilliseconds.mjs","../../../../node_modules/date-fns/endOfDay.mjs","../../../../node_modules/date-fns/endOfMonth.mjs","../../../../node_modules/date-fns/isLastDayOfMonth.mjs","../../../../node_modules/date-fns/differenceInMonths.mjs","../../../../node_modules/date-fns/differenceInSeconds.mjs","../../../../node_modules/date-fns/startOfMonth.mjs","../../../../node_modules/date-fns/startOfYear.mjs","../../../../node_modules/date-fns/endOfYesterday.mjs","../../../../node_modules/date-fns/locale/en-US/_lib/formatDistance.mjs","../../../../node_modules/date-fns/locale/_lib/buildFormatLongFn.mjs","../../../../node_modules/date-fns/locale/en-US/_lib/formatLong.mjs","../../../../node_modules/date-fns/locale/en-US/_lib/formatRelative.mjs","../../../../node_modules/date-fns/locale/_lib/buildLocalizeFn.mjs","../../../../node_modules/date-fns/locale/en-US/_lib/localize.mjs","../../../../node_modules/date-fns/locale/_lib/buildMatchFn.mjs","../../../../node_modules/date-fns/locale/_lib/buildMatchPatternFn.mjs","../../../../node_modules/date-fns/locale/en-US/_lib/match.mjs","../../../../node_modules/date-fns/locale/en-US.mjs","../../../../node_modules/date-fns/getDayOfYear.mjs","../../../../node_modules/date-fns/getISOWeek.mjs","../../../../node_modules/date-fns/getWeekYear.mjs","../../../../node_modules/date-fns/startOfWeekYear.mjs","../../../../node_modules/date-fns/getWeek.mjs","../../../../node_modules/date-fns/_lib/addLeadingZeros.mjs","../../../../node_modules/date-fns/_lib/format/lightFormatters.mjs","../../../../node_modules/date-fns/_lib/format/formatters.mjs","../../../../node_modules/date-fns/_lib/format/longFormatters.mjs","../../../../node_modules/date-fns/_lib/protectedTokens.mjs","../../../../node_modules/date-fns/format.mjs","../../../../node_modules/date-fns/formatDistance.mjs","../../../../node_modules/date-fns/getDefaultOptions.mjs","../../../../node_modules/date-fns/getISODay.mjs","../../../../node_modules/date-fns/isAfter.mjs","../../../../node_modules/date-fns/transpose.mjs","../../../../node_modules/date-fns/parse/_lib/Setter.mjs","../../../../node_modules/date-fns/parse/_lib/Parser.mjs","../../../../node_modules/date-fns/parse/_lib/parsers/EraParser.mjs","../../../../node_modules/date-fns/parse/_lib/constants.mjs","../../../../node_modules/date-fns/parse/_lib/utils.mjs","../../../../node_modules/date-fns/parse/_lib/parsers/YearParser.mjs","../../../../node_modules/date-fns/parse/_lib/parsers/LocalWeekYearParser.mjs","../../../../node_modules/date-fns/parse/_lib/parsers/ISOWeekYearParser.mjs","../../../../node_modules/date-fns/parse/_lib/parsers/ExtendedYearParser.mjs","../../../../node_modules/date-fns/parse/_lib/parsers/QuarterParser.mjs","../../../../node_modules/date-fns/parse/_lib/parsers/StandAloneQuarterParser.mjs","../../../../node_modules/date-fns/parse/_lib/parsers/MonthParser.mjs","../../../../node_modules/date-fns/parse/_lib/parsers/StandAloneMonthParser.mjs","../../../../node_modules/date-fns/setWeek.mjs","../../../../node_modules/date-fns/parse/_lib/parsers/LocalWeekParser.mjs","../../../../node_modules/date-fns/setISOWeek.mjs","../../../../node_modules/date-fns/parse/_lib/parsers/ISOWeekParser.mjs","../../../../node_modules/date-fns/parse/_lib/parsers/DateParser.mjs","../../../../node_modules/date-fns/parse/_lib/parsers/DayOfYearParser.mjs","../../../../node_modules/date-fns/setDay.mjs","../../../../node_modules/date-fns/parse/_lib/parsers/DayParser.mjs","../../../../node_modules/date-fns/parse/_lib/parsers/LocalDayParser.mjs","../../../../node_modules/date-fns/parse/_lib/parsers/StandAloneLocalDayParser.mjs","../../../../node_modules/date-fns/setISODay.mjs","../../../../node_modules/date-fns/parse/_lib/parsers/ISODayParser.mjs","../../../../node_modules/date-fns/parse/_lib/parsers/AMPMParser.mjs","../../../../node_modules/date-fns/parse/_lib/parsers/AMPMMidnightParser.mjs","../../../../node_modules/date-fns/parse/_lib/parsers/DayPeriodParser.mjs","../../../../node_modules/date-fns/parse/_lib/parsers/Hour1to12Parser.mjs","../../../../node_modules/date-fns/parse/_lib/parsers/Hour0to23Parser.mjs","../../../../node_modules/date-fns/parse/_lib/parsers/Hour0To11Parser.mjs","../../../../node_modules/date-fns/parse/_lib/parsers/Hour1To24Parser.mjs","../../../../node_modules/date-fns/parse/_lib/parsers/MinuteParser.mjs","../../../../node_modules/date-fns/parse/_lib/parsers/SecondParser.mjs","../../../../node_modules/date-fns/parse/_lib/parsers/FractionOfSecondParser.mjs","../../../../node_modules/date-fns/parse/_lib/parsers/ISOTimezoneWithZParser.mjs","../../../../node_modules/date-fns/parse/_lib/parsers/ISOTimezoneParser.mjs","../../../../node_modules/date-fns/parse/_lib/parsers/TimestampSecondsParser.mjs","../../../../node_modules/date-fns/parse/_lib/parsers/TimestampMillisecondsParser.mjs","../../../../node_modules/date-fns/parse/_lib/parsers.mjs","../../../../node_modules/date-fns/parse.mjs","../../../../node_modules/date-fns/isMatch.mjs","../../../../node_modules/date-fns/parseISO.mjs","../../../../node_modules/date-fns/subMonths.mjs","../../../../packages/ra-core/src/inference/assertions.ts","../../../../packages/ra-core/src/inference/inferElementFromValues.tsx","../../../../packages/ra-core/src/inference/getElementsFromRecords.ts","../../../../node_modules/@mui/material/colors/common.js","../../../../node_modules/@mui/material/colors/red.js","../../../../node_modules/@mui/material/colors/purple.js","../../../../node_modules/@mui/material/colors/blue.js","../../../../node_modules/@mui/material/colors/lightBlue.js","../../../../node_modules/@mui/material/colors/green.js","../../../../node_modules/@mui/material/colors/orange.js","../../../../node_modules/@mui/material/colors/grey.js","../../../../node_modules/@mui/utils/formatMuiErrorMessage/formatMuiErrorMessage.js","../../../../node_modules/@mui/material/styles/identifier.js","../../../../node_modules/@mui/material/node_modules/@babel/runtime/helpers/esm/extends.js","../../../../node_modules/@mui/material/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../../../../node_modules/@babel/runtime/helpers/esm/extends.js","../../../../node_modules/@emotion/memoize/dist/emotion-memoize.browser.esm.js","../../../../node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.browser.esm.js","../../../../node_modules/@emotion/sheet/dist/emotion-sheet.browser.esm.js","../../../../node_modules/stylis/src/Enum.js","../../../../node_modules/stylis/src/Utility.js","../../../../node_modules/stylis/src/Tokenizer.js","../../../../node_modules/stylis/src/Parser.js","../../../../node_modules/stylis/src/Prefixer.js","../../../../node_modules/stylis/src/Serializer.js","../../../../node_modules/stylis/src/Middleware.js","../../../../node_modules/@emotion/react/node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js","../../../../node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.production.min.js","../../../../node_modules/hoist-non-react-statics/node_modules/react-is/index.js","../../../../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../../../../node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js","../../../../node_modules/@emotion/hash/dist/hash.browser.esm.js","../../../../node_modules/@emotion/unitless/dist/unitless.browser.esm.js","../../../../node_modules/@emotion/serialize/dist/emotion-serialize.browser.esm.js","../../../../node_modules/@emotion/react/dist/emotion-element-699e6908.browser.esm.js","../../../../node_modules/@emotion/react/dist/emotion-react.browser.esm.js","../../../../node_modules/@emotion/styled/base/dist/emotion-styled-base.browser.esm.js","../../../../node_modules/@emotion/styled/dist/emotion-styled.browser.esm.js","../../../../node_modules/prop-types/lib/ReactPropTypesSecret.js","../../../../node_modules/prop-types/factoryWithThrowingShims.js","../../../../node_modules/prop-types/index.js","../../../../node_modules/@emotion/cache/node_modules/@emotion/sheet/dist/emotion-sheet.browser.esm.js","../../../../node_modules/@emotion/cache/node_modules/stylis/src/Enum.js","../../../../node_modules/@emotion/cache/node_modules/stylis/src/Utility.js","../../../../node_modules/@emotion/cache/node_modules/stylis/src/Tokenizer.js","../../../../node_modules/@emotion/cache/node_modules/stylis/src/Parser.js","../../../../node_modules/@emotion/cache/node_modules/stylis/src/Serializer.js","../../../../node_modules/@emotion/cache/node_modules/stylis/src/Middleware.js","../../../../node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js","../../../../node_modules/@mui/styled-engine/StyledEngineProvider/StyledEngineProvider.js","../../../../node_modules/@mui/styled-engine/GlobalStyles/GlobalStyles.js","../../../../node_modules/@mui/styled-engine/index.js","../../../../node_modules/@mui/system/node_modules/@babel/runtime/helpers/esm/extends.js","../../../../node_modules/@mui/system/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../../../../node_modules/@mui/utils/node_modules/@babel/runtime/helpers/esm/extends.js","../../../../node_modules/@mui/utils/deepmerge/deepmerge.js","../../../../node_modules/@mui/system/esm/createTheme/createBreakpoints.js","../../../../node_modules/@mui/system/esm/createTheme/shape.js","../../../../node_modules/@mui/system/esm/merge.js","../../../../node_modules/@mui/system/esm/breakpoints.js","../../../../node_modules/@mui/utils/capitalize/capitalize.js","../../../../node_modules/@mui/system/esm/style.js","../../../../node_modules/@mui/system/esm/memoize.js","../../../../node_modules/@mui/system/esm/spacing.js","../../../../node_modules/@mui/system/esm/createTheme/createSpacing.js","../../../../node_modules/@mui/system/esm/compose.js","../../../../node_modules/@mui/system/esm/borders.js","../../../../node_modules/@mui/system/esm/cssGrid.js","../../../../node_modules/@mui/system/esm/palette.js","../../../../node_modules/@mui/system/esm/sizing.js","../../../../node_modules/@mui/system/esm/styleFunctionSx/defaultSxConfig.js","../../../../node_modules/@mui/system/esm/styleFunctionSx/styleFunctionSx.js","../../../../node_modules/@mui/system/esm/createTheme/applyStyles.js","../../../../node_modules/@mui/system/esm/createTheme/createTheme.js","../../../../node_modules/@mui/system/esm/useThemeWithoutDefault.js","../../../../node_modules/@mui/system/esm/useTheme.js","../../../../node_modules/@mui/system/esm/GlobalStyles/GlobalStyles.js","../../../../node_modules/@mui/system/esm/styleFunctionSx/extendSxProp.js","../../../../node_modules/@mui/utils/ClassNameGenerator/ClassNameGenerator.js","../../../../node_modules/clsx/dist/clsx.mjs","../../../../node_modules/@mui/system/esm/createBox.js","../../../../node_modules/@mui/utils/generateUtilityClass/generateUtilityClass.js","../../../../node_modules/@mui/utils/generateUtilityClasses/generateUtilityClasses.js","../../../../node_modules/@mui/utils/getDisplayName/getDisplayName.js","../../../../node_modules/@mui/system/esm/createStyled.js","../../../../node_modules/@mui/system/esm/styled.js","../../../../node_modules/@mui/utils/resolveProps/resolveProps.js","../../../../node_modules/@mui/system/esm/useThemeProps/getThemeProps.js","../../../../node_modules/@mui/system/esm/useThemeProps/useThemeProps.js","../../../../node_modules/@mui/utils/useEnhancedEffect/useEnhancedEffect.js","../../../../node_modules/@mui/system/esm/useMediaQuery/useMediaQuery.js","../../../../node_modules/@mui/utils/clamp/clamp.js","../../../../node_modules/@mui/system/esm/colorManipulator.js","../../../../node_modules/@mui/private-theming/node_modules/@babel/runtime/helpers/esm/extends.js","../../../../node_modules/@mui/utils/createChainedFunction/createChainedFunction.js","../../../../node_modules/@mui/utils/debounce/debounce.js","../../../../node_modules/@mui/utils/deprecatedPropType/deprecatedPropType.js","../../../../node_modules/@mui/utils/isMuiElement/isMuiElement.js","../../../../node_modules/@mui/utils/ownerDocument/ownerDocument.js","../../../../node_modules/@mui/utils/ownerWindow/ownerWindow.js","../../../../node_modules/@mui/utils/requirePropFactory/requirePropFactory.js","../../../../node_modules/@mui/utils/setRef/setRef.js","../../../../node_modules/@mui/utils/useId/useId.js","../../../../node_modules/@mui/utils/unsupportedProp/unsupportedProp.js","../../../../node_modules/@mui/utils/useControlled/useControlled.js","../../../../node_modules/@mui/utils/useEventCallback/useEventCallback.js","../../../../node_modules/@mui/utils/useForkRef/useForkRef.js","../../../../node_modules/@mui/utils/useLazyRef/useLazyRef.js","../../../../node_modules/@mui/utils/useOnMount/useOnMount.js","../../../../node_modules/@mui/utils/useTimeout/useTimeout.js","../../../../node_modules/@mui/utils/useIsFocusVisible/useIsFocusVisible.js","../../../../node_modules/@mui/utils/getScrollbarSize/getScrollbarSize.js","../../../../node_modules/@mui/utils/scrollLeft/scrollLeft.js","../../../../node_modules/@mui/utils/usePreviousProps/usePreviousProps.js","../../../../node_modules/@mui/utils/composeClasses/composeClasses.js","../../../../node_modules/@mui/private-theming/useTheme/ThemeContext.js","../../../../node_modules/@mui/private-theming/useTheme/useTheme.js","../../../../node_modules/@mui/private-theming/ThemeProvider/nested.js","../../../../node_modules/@mui/private-theming/ThemeProvider/ThemeProvider.js","../../../../node_modules/@mui/system/esm/RtlProvider/index.js","../../../../node_modules/@mui/system/esm/ThemeProvider/ThemeProvider.js","../../../../node_modules/@mui/system/esm/Container/createContainer.js","../../../../node_modules/@mui/system/esm/Stack/createStack.js","../../../../node_modules/@mui/material/styles/createMixins.js","../../../../node_modules/@mui/system/node_modules/@babel/runtime/helpers/interopRequireDefault.js","../../../../node_modules/@mui/system/colorManipulator.js","../../../../node_modules/@mui/material/styles/createPalette.js","../../../../node_modules/@mui/material/styles/createTypography.js","../../../../node_modules/@mui/material/styles/shadows.js","../../../../node_modules/@mui/material/styles/createTransitions.js","../../../../node_modules/@mui/material/styles/zIndex.js","../../../../node_modules/@mui/material/styles/createTheme.js","../../../../node_modules/@mui/material/styles/defaultTheme.js","../../../../node_modules/@mui/material/styles/useTheme.js","../../../../node_modules/@mui/material/styles/useThemeProps.js","../../../../node_modules/@mui/system/node_modules/@babel/runtime/helpers/extends.js","../../../../node_modules/@mui/system/node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","../../../../node_modules/@mui/system/createStyled.js","../../../../node_modules/@mui/material/styles/slotShouldForwardProp.js","../../../../node_modules/@mui/material/styles/rootShouldForwardProp.js","../../../../node_modules/@mui/material/styles/styled.js","../../../../node_modules/@mui/material/styles/ThemeProvider.js","../../../../node_modules/@mui/material/styles/getOverlayAlpha.js","../../../../node_modules/@mui/material/SvgIcon/svgIconClasses.js","../../../../node_modules/@mui/material/SvgIcon/SvgIcon.js","../../../../node_modules/@mui/material/utils/createSvgIcon.js","../../../../node_modules/@mui/material/utils/index.js","../../../../node_modules/@mui/material/zero-styled/index.js","../../../../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../../../../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../../../../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../../../../node_modules/react-transition-group/esm/config.js","../../../../node_modules/react-transition-group/esm/TransitionGroupContext.js","../../../../node_modules/react-transition-group/esm/utils/reflow.js","../../../../node_modules/react-transition-group/esm/Transition.js","../../../../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../../../../node_modules/react-transition-group/esm/utils/ChildMapping.js","../../../../node_modules/react-transition-group/esm/TransitionGroup.js","../../../../node_modules/@mui/material/transitions/utils.js","../../../../node_modules/@mui/material/Paper/paperClasses.js","../../../../node_modules/@mui/material/Paper/Paper.js","../../../../node_modules/@mui/base/node_modules/@babel/runtime/helpers/esm/extends.js","../../../../node_modules/@mui/base/utils/isHostComponent.js","../../../../node_modules/@mui/base/utils/appendOwnerState.js","../../../../node_modules/@mui/base/utils/ClassNameConfigurator.js","../../../../node_modules/@mui/base/utils/extractEventHandlers.js","../../../../node_modules/@mui/base/utils/resolveComponentProps.js","../../../../node_modules/@mui/base/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../../../../node_modules/@mui/base/utils/omitEventHandlers.js","../../../../node_modules/@mui/base/utils/mergeSlotProps.js","../../../../node_modules/@mui/base/utils/useSlotProps.js","../../../../node_modules/@mui/material/utils/useSlot.js","../../../../node_modules/@mui/material/ButtonBase/Ripple.js","../../../../node_modules/@mui/material/ButtonBase/touchRippleClasses.js","../../../../node_modules/@mui/material/ButtonBase/TouchRipple.js","../../../../node_modules/@mui/material/ButtonBase/buttonBaseClasses.js","../../../../node_modules/@mui/material/ButtonBase/ButtonBase.js","../../../../node_modules/@mui/material/Alert/alertClasses.js","../../../../node_modules/@mui/material/IconButton/iconButtonClasses.js","../../../../node_modules/@mui/material/IconButton/IconButton.js","../../../../node_modules/@mui/material/internal/svg-icons/SuccessOutlined.js","../../../../node_modules/@mui/material/internal/svg-icons/ReportProblemOutlined.js","../../../../node_modules/@mui/material/internal/svg-icons/ErrorOutline.js","../../../../node_modules/@mui/material/internal/svg-icons/InfoOutlined.js","../../../../node_modules/@mui/material/internal/svg-icons/Close.js","../../../../node_modules/@mui/material/Alert/Alert.js","../../../../node_modules/@mui/material/Typography/typographyClasses.js","../../../../node_modules/@mui/material/Typography/Typography.js","../../../../node_modules/@mui/material/AppBar/appBarClasses.js","../../../../node_modules/@mui/material/AppBar/AppBar.js","../../../../node_modules/@mui/base/generateUtilityClass/index.js","../../../../node_modules/@mui/base/generateUtilityClasses/index.js","../../../../node_modules/@mui/base/ClickAwayListener/ClickAwayListener.js","../../../../node_modules/@mui/base/FocusTrap/FocusTrap.js","../../../../node_modules/@mui/base/Portal/Portal.js","../../../../node_modules/@mui/base/unstable_useModal/ModalManager.js","../../../../node_modules/@mui/base/unstable_useModal/useModal.js","../../../../node_modules/@popperjs/core/lib/enums.js","../../../../node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","../../../../node_modules/@popperjs/core/lib/dom-utils/getWindow.js","../../../../node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","../../../../node_modules/@popperjs/core/lib/modifiers/applyStyles.js","../../../../node_modules/@popperjs/core/lib/utils/getBasePlacement.js","../../../../node_modules/@popperjs/core/lib/utils/math.js","../../../../node_modules/@popperjs/core/lib/utils/userAgent.js","../../../../node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js","../../../../node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","../../../../node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","../../../../node_modules/@popperjs/core/lib/dom-utils/contains.js","../../../../node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","../../../../node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","../../../../node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","../../../../node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","../../../../node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","../../../../node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","../../../../node_modules/@popperjs/core/lib/utils/within.js","../../../../node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","../../../../node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","../../../../node_modules/@popperjs/core/lib/utils/expandToHashMap.js","../../../../node_modules/@popperjs/core/lib/modifiers/arrow.js","../../../../node_modules/@popperjs/core/lib/utils/getVariation.js","../../../../node_modules/@popperjs/core/lib/modifiers/computeStyles.js","../../../../node_modules/@popperjs/core/lib/modifiers/eventListeners.js","../../../../node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","../../../../node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","../../../../node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","../../../../node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","../../../../node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","../../../../node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","../../../../node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","../../../../node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","../../../../node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","../../../../node_modules/@popperjs/core/lib/utils/rectToClientRect.js","../../../../node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","../../../../node_modules/@popperjs/core/lib/utils/computeOffsets.js","../../../../node_modules/@popperjs/core/lib/utils/detectOverflow.js","../../../../node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","../../../../node_modules/@popperjs/core/lib/modifiers/flip.js","../../../../node_modules/@popperjs/core/lib/modifiers/hide.js","../../../../node_modules/@popperjs/core/lib/modifiers/offset.js","../../../../node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","../../../../node_modules/@popperjs/core/lib/utils/getAltAxis.js","../../../../node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","../../../../node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","../../../../node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","../../../../node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","../../../../node_modules/@popperjs/core/lib/utils/orderModifiers.js","../../../../node_modules/@popperjs/core/lib/utils/debounce.js","../../../../node_modules/@popperjs/core/lib/utils/mergeByName.js","../../../../node_modules/@popperjs/core/lib/createPopper.js","../../../../node_modules/@popperjs/core/lib/popper.js","../../../../node_modules/@mui/base/Popper/popperClasses.js","../../../../node_modules/@mui/base/Popper/Popper.js","../../../../node_modules/@mui/base/useSnackbar/useSnackbar.js","../../../../node_modules/@mui/base/TextareaAutosize/TextareaAutosize.js","../../../../node_modules/@mui/base/useAutocomplete/useAutocomplete.js","../../../../node_modules/@mui/system/useThemeWithoutDefault.js","../../../../node_modules/@mui/material/Popper/Popper.js","../../../../node_modules/@mui/material/ListSubheader/listSubheaderClasses.js","../../../../node_modules/@mui/material/ListSubheader/ListSubheader.js","../../../../node_modules/@mui/material/internal/svg-icons/Cancel.js","../../../../node_modules/@mui/material/Chip/chipClasses.js","../../../../node_modules/@mui/material/Chip/Chip.js","../../../../node_modules/@mui/material/FormControl/formControlState.js","../../../../node_modules/@mui/material/FormControl/FormControlContext.js","../../../../node_modules/@mui/material/FormControl/useFormControl.js","../../../../node_modules/@mui/material/GlobalStyles/GlobalStyles.js","../../../../node_modules/@mui/material/InputBase/utils.js","../../../../node_modules/@mui/material/InputBase/inputBaseClasses.js","../../../../node_modules/@mui/material/InputBase/InputBase.js","../../../../node_modules/@mui/material/Input/inputClasses.js","../../../../node_modules/@mui/material/OutlinedInput/outlinedInputClasses.js","../../../../node_modules/@mui/material/FilledInput/filledInputClasses.js","../../../../node_modules/@mui/material/internal/svg-icons/ArrowDropDown.js","../../../../node_modules/@mui/material/Autocomplete/autocompleteClasses.js","../../../../node_modules/@mui/material/Autocomplete/Autocomplete.js","../../../../node_modules/@mui/material/internal/svg-icons/Person.js","../../../../node_modules/@mui/material/Avatar/avatarClasses.js","../../../../node_modules/@mui/material/Avatar/Avatar.js","../../../../node_modules/@mui/material/Fade/Fade.js","../../../../node_modules/@mui/material/Backdrop/backdropClasses.js","../../../../node_modules/@mui/material/Backdrop/Backdrop.js","../../../../node_modules/@mui/material/Box/boxClasses.js","../../../../node_modules/@mui/material/Box/Box.js","../../../../node_modules/@mui/material/Button/buttonClasses.js","../../../../node_modules/@mui/material/ButtonGroup/ButtonGroupContext.js","../../../../node_modules/@mui/material/ButtonGroup/ButtonGroupButtonContext.js","../../../../node_modules/@mui/material/Button/Button.js","../../../../node_modules/@mui/material/Card/cardClasses.js","../../../../node_modules/@mui/material/Card/Card.js","../../../../node_modules/@mui/material/CardActions/cardActionsClasses.js","../../../../node_modules/@mui/material/CardActions/CardActions.js","../../../../node_modules/@mui/material/CardContent/cardContentClasses.js","../../../../node_modules/@mui/material/CardContent/CardContent.js","../../../../node_modules/@mui/material/internal/switchBaseClasses.js","../../../../node_modules/@mui/material/internal/SwitchBase.js","../../../../node_modules/@mui/material/internal/svg-icons/CheckBoxOutlineBlank.js","../../../../node_modules/@mui/material/internal/svg-icons/CheckBox.js","../../../../node_modules/@mui/material/internal/svg-icons/IndeterminateCheckBox.js","../../../../node_modules/@mui/material/Checkbox/checkboxClasses.js","../../../../node_modules/@mui/material/Checkbox/Checkbox.js","../../../../node_modules/@mui/material/CircularProgress/circularProgressClasses.js","../../../../node_modules/@mui/material/CircularProgress/CircularProgress.js","../../../../node_modules/@mui/material/Container/Container.js","../../../../node_modules/@mui/material/CssBaseline/CssBaseline.js","../../../../node_modules/@mui/material/Modal/modalClasses.js","../../../../node_modules/@mui/material/Modal/Modal.js","../../../../node_modules/@mui/material/Dialog/dialogClasses.js","../../../../node_modules/@mui/material/Dialog/DialogContext.js","../../../../node_modules/@mui/material/Dialog/Dialog.js","../../../../node_modules/@mui/material/DialogActions/dialogActionsClasses.js","../../../../node_modules/@mui/material/DialogActions/DialogActions.js","../../../../node_modules/@mui/material/DialogContent/dialogContentClasses.js","../../../../node_modules/@mui/material/DialogTitle/dialogTitleClasses.js","../../../../node_modules/@mui/material/DialogContent/DialogContent.js","../../../../node_modules/@mui/material/DialogContentText/dialogContentTextClasses.js","../../../../node_modules/@mui/material/DialogContentText/DialogContentText.js","../../../../node_modules/@mui/material/DialogTitle/DialogTitle.js","../../../../node_modules/@mui/material/Divider/dividerClasses.js","../../../../node_modules/@mui/material/Divider/Divider.js","../../../../node_modules/@mui/material/Slide/Slide.js","../../../../node_modules/@mui/material/Drawer/drawerClasses.js","../../../../node_modules/@mui/material/Drawer/Drawer.js","../../../../node_modules/@mui/material/Fab/fabClasses.js","../../../../node_modules/@mui/material/Fab/Fab.js","../../../../node_modules/@mui/material/FilledInput/FilledInput.js","../../../../node_modules/@mui/material/FormControl/formControlClasses.js","../../../../node_modules/@mui/material/FormControl/FormControl.js","../../../../node_modules/@mui/material/Stack/Stack.js","../../../../node_modules/@mui/material/FormControlLabel/formControlLabelClasses.js","../../../../node_modules/@mui/material/FormControlLabel/FormControlLabel.js","../../../../node_modules/@mui/material/FormGroup/formGroupClasses.js","../../../../node_modules/@mui/material/FormGroup/FormGroup.js","../../../../node_modules/@mui/material/FormHelperText/formHelperTextClasses.js","../../../../node_modules/@mui/material/FormHelperText/FormHelperText.js","../../../../node_modules/@mui/material/FormLabel/formLabelClasses.js","../../../../node_modules/@mui/material/FormLabel/FormLabel.js","../../../../node_modules/@mui/material/Grid/GridContext.js","../../../../node_modules/@mui/material/Grid/gridClasses.js","../../../../node_modules/@mui/material/Grid/Grid.js","../../../../node_modules/@mui/material/Grow/Grow.js","../../../../node_modules/@mui/material/Input/Input.js","../../../../node_modules/@mui/material/InputAdornment/inputAdornmentClasses.js","../../../../node_modules/@mui/material/InputAdornment/InputAdornment.js","../../../../node_modules/@mui/material/InputLabel/inputLabelClasses.js","../../../../node_modules/@mui/material/InputLabel/InputLabel.js","../../../../node_modules/@mui/material/LinearProgress/linearProgressClasses.js","../../../../node_modules/@mui/material/LinearProgress/LinearProgress.js","../../../../node_modules/@mui/material/Link/linkClasses.js","../../../../node_modules/@mui/material/Link/getTextDecoration.js","../../../../node_modules/@mui/material/Link/Link.js","../../../../node_modules/@mui/material/List/ListContext.js","../../../../node_modules/@mui/material/List/listClasses.js","../../../../node_modules/@mui/material/List/List.js","../../../../node_modules/@mui/material/ListItem/listItemClasses.js","../../../../node_modules/@mui/material/ListItemButton/listItemButtonClasses.js","../../../../node_modules/@mui/material/ListItemButton/ListItemButton.js","../../../../node_modules/@mui/material/ListItemSecondaryAction/listItemSecondaryActionClasses.js","../../../../node_modules/@mui/material/ListItemSecondaryAction/ListItemSecondaryAction.js","../../../../node_modules/@mui/material/ListItem/ListItem.js","../../../../node_modules/@mui/material/ListItemAvatar/listItemAvatarClasses.js","../../../../node_modules/@mui/material/ListItemAvatar/ListItemAvatar.js","../../../../node_modules/@mui/material/ListItemIcon/listItemIconClasses.js","../../../../node_modules/@mui/material/ListItemIcon/ListItemIcon.js","../../../../node_modules/@mui/material/ListItemText/listItemTextClasses.js","../../../../node_modules/@mui/material/ListItemText/ListItemText.js","../../../../node_modules/@mui/material/MenuList/MenuList.js","../../../../node_modules/@mui/material/Popover/popoverClasses.js","../../../../node_modules/@mui/material/Popover/Popover.js","../../../../node_modules/@mui/material/Menu/menuClasses.js","../../../../node_modules/@mui/material/Menu/Menu.js","../../../../node_modules/@mui/material/MenuItem/menuItemClasses.js","../../../../node_modules/@mui/material/MenuItem/MenuItem.js","../../../../node_modules/@mui/material/NativeSelect/nativeSelectClasses.js","../../../../node_modules/@mui/material/NativeSelect/NativeSelectInput.js","../../../../node_modules/@mui/material/OutlinedInput/NotchedOutline.js","../../../../node_modules/@mui/material/OutlinedInput/OutlinedInput.js","../../../../node_modules/@mui/material/Pagination/paginationClasses.js","../../../../node_modules/@mui/material/usePagination/usePagination.js","../../../../node_modules/@mui/material/PaginationItem/paginationItemClasses.js","../../../../node_modules/@mui/material/internal/svg-icons/FirstPage.js","../../../../node_modules/@mui/material/internal/svg-icons/LastPage.js","../../../../node_modules/@mui/material/internal/svg-icons/NavigateBefore.js","../../../../node_modules/@mui/material/internal/svg-icons/NavigateNext.js","../../../../node_modules/@mui/material/PaginationItem/PaginationItem.js","../../../../node_modules/@mui/material/Pagination/Pagination.js","../../../../node_modules/@mui/material/ScopedCssBaseline/scopedCssBaselineClasses.js","../../../../node_modules/@mui/material/ScopedCssBaseline/ScopedCssBaseline.js","../../../../node_modules/@mui/material/Select/selectClasses.js","../../../../node_modules/@mui/material/Select/SelectInput.js","../../../../node_modules/@mui/material/Select/Select.js","../../../../node_modules/@mui/material/SnackbarContent/snackbarContentClasses.js","../../../../node_modules/@mui/material/SnackbarContent/SnackbarContent.js","../../../../node_modules/@mui/material/Snackbar/snackbarClasses.js","../../../../node_modules/@mui/material/Snackbar/Snackbar.js","../../../../node_modules/@mui/material/Tooltip/tooltipClasses.js","../../../../node_modules/@mui/material/Tooltip/Tooltip.js","../../../../node_modules/@mui/material/Switch/switchClasses.js","../../../../node_modules/@mui/material/Switch/Switch.js","../../../../node_modules/@mui/material/Tab/tabClasses.js","../../../../node_modules/@mui/material/Tab/Tab.js","../../../../node_modules/@mui/material/Table/TableContext.js","../../../../node_modules/@mui/material/Table/tableClasses.js","../../../../node_modules/@mui/material/Table/Table.js","../../../../node_modules/@mui/material/Table/Tablelvl2Context.js","../../../../node_modules/@mui/material/TableBody/tableBodyClasses.js","../../../../node_modules/@mui/material/TableBody/TableBody.js","../../../../node_modules/@mui/material/TableCell/tableCellClasses.js","../../../../node_modules/@mui/material/TableCell/TableCell.js","../../../../node_modules/@mui/material/TableHead/tableHeadClasses.js","../../../../node_modules/@mui/material/TableHead/TableHead.js","../../../../node_modules/@mui/material/Toolbar/toolbarClasses.js","../../../../node_modules/@mui/material/Toolbar/Toolbar.js","../../../../node_modules/@mui/material/internal/svg-icons/KeyboardArrowLeft.js","../../../../node_modules/@mui/material/internal/svg-icons/KeyboardArrowRight.js","../../../../node_modules/@mui/material/TablePagination/TablePaginationActions.js","../../../../node_modules/@mui/material/TablePagination/tablePaginationClasses.js","../../../../node_modules/@mui/material/TablePagination/TablePagination.js","../../../../node_modules/@mui/material/TableRow/tableRowClasses.js","../../../../node_modules/@mui/material/TableRow/TableRow.js","../../../../node_modules/@mui/material/internal/svg-icons/ArrowDownward.js","../../../../node_modules/@mui/material/TableSortLabel/tableSortLabelClasses.js","../../../../node_modules/@mui/material/TableSortLabel/TableSortLabel.js","../../../../node_modules/@mui/material/internal/animate.js","../../../../node_modules/@mui/material/Tabs/ScrollbarSize.js","../../../../node_modules/@mui/material/TabScrollButton/tabScrollButtonClasses.js","../../../../node_modules/@mui/material/TabScrollButton/TabScrollButton.js","../../../../node_modules/@mui/material/Tabs/tabsClasses.js","../../../../node_modules/@mui/material/Tabs/Tabs.js","../../../../node_modules/@mui/material/TextField/textFieldClasses.js","../../../../node_modules/@mui/material/TextField/TextField.js","../../../../node_modules/@mui/material/useScrollTrigger/useScrollTrigger.js","../../../../node_modules/@mui/icons-material/node_modules/@babel/runtime/helpers/interopRequireDefault.js","../../../../node_modules/@mui/icons-material/utils/createSvgIcon.js","../../../../node_modules/@mui/icons-material/Lock.js","../../../../packages/ra-ui-materialui/src/button/Button.tsx","../../../../node_modules/@mui/icons-material/Add.js","../../../../packages/ra-ui-materialui/src/button/CreateButton.tsx","../../../../node_modules/@mui/icons-material/RemoveRedEye.js","../../../../packages/ra-ui-materialui/src/button/ShowButton.tsx","../../../../node_modules/@mui/icons-material/Sort.js","../../../../node_modules/@mui/icons-material/ArrowDropDown.js","../../../../packages/ra-ui-materialui/src/button/SortButton.tsx","../../../../node_modules/@mui/icons-material/Delete.js","../../../../node_modules/@mui/icons-material/Menu.js","../../../../packages/ra-ui-materialui/src/layout/useSidebarState.ts","../../../../packages/ra-ui-materialui/src/layout/SidebarToggleButton.tsx","../../../../packages/ra-ui-materialui/src/layout/LoadingIndicator.tsx","../../../../node_modules/@mui/icons-material/AccountCircle.js","../../../../packages/ra-ui-materialui/src/layout/UserMenuContext.ts","../../../../packages/ra-ui-materialui/src/layout/UserMenuContextProvider.tsx","../../../../node_modules/@mui/icons-material/PowerSettingsNew.js","../../../../packages/ra-ui-materialui/src/auth/Logout.tsx","../../../../packages/ra-ui-materialui/src/layout/UserMenu.tsx","../../../../packages/ra-ui-materialui/src/layout/HideOnScroll.tsx","../../../../packages/ra-ui-materialui/src/layout/TitlePortal.tsx","../../../../packages/ra-ui-materialui/src/theme/ThemesContext.ts","../../../../packages/ra-ui-materialui/src/theme/useThemesContext.ts","../../../../node_modules/@mui/icons-material/Brightness4.js","../../../../node_modules/@mui/icons-material/Brightness7.js","../../../../packages/ra-ui-materialui/src/theme/useTheme.ts","../../../../packages/ra-ui-materialui/src/theme/ThemeProvider.tsx","../../../../packages/ra-ui-materialui/src/theme/defaultTheme.ts","../../../../packages/ra-ui-materialui/src/button/ToggleThemeButton.tsx","../../../../packages/ra-ui-materialui/src/layout/AppBar.tsx","../../../../packages/ra-ui-materialui/src/layout/ApplicationUpdatedNotification.tsx","../../../../packages/ra-ui-materialui/src/layout/CheckForApplicationUpdate.tsx","../../../../node_modules/@mui/icons-material/CheckCircle.js","../../../../node_modules/@mui/icons-material/ErrorOutline.js","../../../../packages/ra-ui-materialui/src/layout/Confirm.tsx","../../../../node_modules/@mui/icons-material/Dashboard.js","../../../../packages/ra-ui-materialui/src/layout/MenuItemLink.tsx","../../../../packages/ra-ui-materialui/src/layout/DashboardMenuItem.tsx","../../../../node_modules/@mui/icons-material/Report.js","../../../../node_modules/@mui/icons-material/ExpandMore.js","../../../../node_modules/@mui/icons-material/History.js","../../../../node_modules/@mui/icons-material/Settings.js","../../../../packages/ra-ui-materialui/src/preferences/Configurable.tsx","../../../../node_modules/@mui/icons-material/CancelOutlined.js","../../../../node_modules/@mui/icons-material/DeleteOutline.js","../../../../packages/ra-ui-materialui/src/preferences/InspectorRoot.tsx","../../../../packages/ra-ui-materialui/src/preferences/Inspector.tsx","../../../../packages/ra-ui-materialui/src/layout/PageTitle.tsx","../../../../packages/ra-ui-materialui/src/layout/PageTitleConfigurable.tsx","../../../../packages/ra-ui-materialui/src/layout/Title.tsx","../../../../packages/ra-ui-materialui/src/layout/Error.tsx","../../../../packages/ra-ui-materialui/src/layout/Sidebar.tsx","../../../../node_modules/@mui/icons-material/ViewList.js","../../../../packages/ra-ui-materialui/src/layout/ResourceMenuItem.tsx","../../../../packages/ra-ui-materialui/src/layout/ResourceMenuItems.tsx","../../../../packages/ra-ui-materialui/src/layout/Menu.tsx","../../../../packages/ra-ui-materialui/src/layout/Loading.tsx","../../../../packages/ra-ui-materialui/src/layout/Layout.tsx","../../../../packages/ra-ui-materialui/src/layout/LinearProgress.tsx","../../../../packages/ra-ui-materialui/src/layout/LoadingPage.tsx","../../../../node_modules/@mui/icons-material/HotTub.js","../../../../packages/ra-ui-materialui/src/layout/NotFound.tsx","../../../../packages/ra-ui-materialui/src/layout/Notification.tsx","../../../../packages/ra-ui-materialui/src/layout/TopToolbar.tsx","../../../../packages/ra-ui-materialui/src/button/BulkDeleteWithConfirmButton.tsx","../../../../packages/ra-ui-materialui/src/button/BulkDeleteWithUndoButton.tsx","../../../../packages/ra-ui-materialui/src/button/BulkDeleteButton.tsx","../../../../node_modules/@mui/icons-material/GetApp.js","../../../../packages/ra-ui-materialui/src/button/DeleteWithUndoButton.tsx","../../../../packages/ra-ui-materialui/src/button/DeleteWithConfirmButton.tsx","../../../../packages/ra-ui-materialui/src/button/DeleteButton.tsx","../../../../node_modules/@mui/icons-material/Create.js","../../../../packages/ra-ui-materialui/src/button/EditButton.tsx","../../../../packages/ra-ui-materialui/src/button/ExportButton.tsx","../../../../node_modules/@mui/icons-material/Translate.js","../../../../packages/ra-ui-materialui/src/button/LocalesMenuButton.tsx","../../../../node_modules/@mui/icons-material/Error.js","../../../../node_modules/@mui/icons-material/Refresh.js","../../../../packages/ra-ui-materialui/src/button/RefreshIconButton.tsx","../../../../node_modules/@mui/icons-material/Save.js","../../../../packages/ra-ui-materialui/src/button/SaveButton.tsx","../../../../packages/ra-ui-materialui/src/button/SkipNavigationButton.tsx","../../../../packages/ra-ui-materialui/src/auth/AuthError.tsx","../../../../packages/ra-ui-materialui/src/auth/AuthCallback.tsx","../../../../packages/ra-ui-materialui/src/input/InputHelperText.tsx","../../../../packages/ra-ui-materialui/src/input/sanitizeInputRestProps.ts","../../../../node_modules/@mui/icons-material/RemoveCircleOutline.js","../../../../packages/ra-ui-materialui/src/input/useSupportCreateSuggestion.tsx","../../../../packages/ra-ui-materialui/src/input/AutocompleteInput.tsx","../../../../packages/ra-ui-materialui/src/input/BooleanInput.tsx","../../../../packages/ra-ui-materialui/src/list/datagrid/useDatagridStyles.tsx","../../../../packages/ra-ui-materialui/src/list/datagrid/DatagridCell.tsx","../../../../packages/ra-ui-materialui/src/list/datagrid/ExpandRowButton.tsx","../../../../packages/ra-ui-materialui/src/list/datagrid/DatagridContext.ts","../../../../packages/ra-ui-materialui/src/list/datagrid/useDatagridContext.ts","../../../../packages/ra-ui-materialui/src/list/datagrid/DatagridRow.tsx","../../../../packages/ra-ui-materialui/src/list/datagrid/DatagridBody.tsx","../../../../packages/ra-ui-materialui/src/list/datagrid/DatagridHeaderCell.tsx","../../../../packages/ra-ui-materialui/src/list/Placeholder.tsx","../../../../packages/ra-ui-materialui/src/list/datagrid/DatagridLoading.tsx","../../../../node_modules/lodash/_baseDifference.js","../../../../node_modules/lodash/difference.js","../../../../packages/ra-ui-materialui/src/list/datagrid/ExpandAllButton.tsx","../../../../packages/ra-ui-materialui/src/list/datagrid/DatagridHeader.tsx","../../../../packages/ra-ui-materialui/src/list/datagrid/DatagridContextProvider.tsx","../../../../node_modules/@mui/icons-material/Close.js","../../../../packages/ra-ui-materialui/src/list/BulkActionsToolbar.tsx","../../../../packages/ra-ui-materialui/src/list/ListNoResults.tsx","../../../../packages/ra-ui-materialui/src/list/datagrid/Datagrid.tsx","../../../../node_modules/lodash/_arrayEach.js","../../../../node_modules/lodash/_baseAssign.js","../../../../node_modules/lodash/_baseAssignIn.js","../../../../node_modules/lodash/_copySymbols.js","../../../../node_modules/lodash/_copySymbolsIn.js","../../../../node_modules/lodash/_initCloneArray.js","../../../../node_modules/lodash/_cloneDataView.js","../../../../node_modules/lodash/_cloneRegExp.js","../../../../node_modules/lodash/_cloneSymbol.js","../../../../node_modules/lodash/_initCloneByTag.js","../../../../node_modules/lodash/_baseIsMap.js","../../../../node_modules/lodash/isMap.js","../../../../node_modules/lodash/_baseIsSet.js","../../../../node_modules/lodash/isSet.js","../../../../node_modules/lodash/_baseClone.js","../../../../node_modules/lodash/cloneDeep.js","../../../../packages/ra-ui-materialui/src/list/filter/FilterFormInput.tsx","../../../../packages/ra-ui-materialui/src/list/FilterContext.tsx","../../../../packages/ra-ui-materialui/src/list/filter/FilterForm.tsx","../../../../node_modules/@mui/icons-material/FilterList.js","../../../../packages/ra-ui-materialui/src/list/filter/FilterButtonMenuItem.tsx","../../../../packages/ra-ui-materialui/src/list/filter/useSavedQueries.ts","../../../../packages/ra-ui-materialui/src/list/filter/AddSavedQueryDialog.tsx","../../../../packages/ra-ui-materialui/src/list/filter/RemoveSavedQueryDialog.tsx","../../../../packages/ra-ui-materialui/src/list/filter/FilterButton.tsx","../../../../packages/ra-ui-materialui/src/list/filter/FilterList.tsx","../../../../node_modules/lodash/matches.js","../../../../packages/ra-ui-materialui/src/list/filter/FilterListItem.tsx","../../../../node_modules/@mui/icons-material/Search.js","../../../../packages/ra-ui-materialui/src/list/filter/FilterLiveSearch.tsx","../../../../packages/ra-ui-materialui/src/list/pagination/PaginationActions.tsx","../../../../packages/ra-ui-materialui/src/list/pagination/Pagination.tsx","../../../../packages/ra-ui-materialui/src/input/DateInput.tsx","../../../../node_modules/@mui/icons-material/Clear.js","../../../../packages/ra-ui-materialui/src/input/ResettableTextField.tsx","../../../../packages/ra-ui-materialui/src/input/LoadingInput.tsx","../../../../packages/ra-ui-materialui/src/input/TextInput.tsx","../../../../packages/ra-ui-materialui/src/input/ReferenceInput.tsx","../../../../packages/ra-ui-materialui/src/input/SelectInput.tsx","../../../../packages/ra-ui-materialui/src/auth/LoginForm.tsx","../../../../packages/ra-ui-materialui/src/auth/Login.tsx","../../../../packages/ra-ui-materialui/src/detail/CreateView.tsx","../../../../packages/ra-ui-materialui/src/detail/Create.tsx","../../../../packages/ra-ui-materialui/src/detail/EditActions.tsx","../../../../packages/ra-ui-materialui/src/detail/EditView.tsx","../../../../packages/ra-ui-materialui/src/detail/Edit.tsx","../../../../packages/ra-ui-materialui/src/form/Toolbar.tsx","../../../../packages/ra-ui-materialui/src/field/genericMemo.ts","../../../../packages/ra-ui-materialui/src/field/ArrayField.tsx","../../../../node_modules/@mui/icons-material/Done.js","../../../../packages/ra-ui-materialui/src/field/sanitizeFieldRestProps.ts","../../../../packages/ra-ui-materialui/src/field/BooleanField.tsx","../../../../packages/ra-ui-materialui/src/field/ChipField.tsx","../../../../packages/ra-ui-materialui/src/field/DateField.tsx","../../../../packages/ra-ui-materialui/src/field/EmailField.tsx","../../../../packages/ra-ui-materialui/src/field/FunctionField.tsx","../../../../packages/ra-ui-materialui/src/field/NumberField.tsx","../../../../packages/ra-ui-materialui/src/Link.tsx","../../../../packages/ra-ui-materialui/src/list/SingleFieldList.tsx","../../../../packages/ra-ui-materialui/src/field/ReferenceArrayField.tsx","../../../../packages/ra-ui-materialui/src/field/ReferenceField.tsx","../../../../packages/ra-ui-materialui/src/field/ReferenceManyField.tsx","../../../../packages/ra-ui-materialui/src/field/SelectField.tsx","../../../../packages/ra-ui-materialui/src/field/TextField.tsx","../../../../packages/ra-ui-materialui/src/field/UrlField.tsx","../../../../node_modules/@mui/icons-material/Inbox.js","../../../../packages/ra-ui-materialui/src/list/Empty.tsx","../../../../packages/ra-ui-materialui/src/list/ListToolbar.tsx","../../../../packages/ra-ui-materialui/src/list/ListActions.tsx","../../../../packages/ra-ui-materialui/src/list/ListView.tsx","../../../../packages/ra-ui-materialui/src/list/List.tsx","../../../../packages/ra-ui-materialui/src/list/listFieldTypes.tsx","../../../../packages/ra-ui-materialui/src/list/ListGuesser.tsx","../../../../packages/ra-ui-materialui/src/list/SimpleList/SimpleListLoading.tsx","../../../../packages/ra-ui-materialui/src/list/SimpleList/SimpleList.tsx","../../../../packages/ra-ui-materialui/src/AdminUI.tsx","../../../../packages/ra-ui-materialui/src/AdminContext.tsx","../../../../packages/ra-language-english/src/index.ts","../../../../node_modules/object-keys/isArguments.js","../../../../node_modules/object-keys/implementation.js","../../../../node_modules/object-keys/index.js","../../../../node_modules/define-properties/index.js","../../../../node_modules/function-bind/implementation.js","../../../../node_modules/function-bind/index.js","../../../../node_modules/has-symbols/shams.js","../../../../node_modules/has-symbols/index.js","../../../../node_modules/has-proto/index.js","../../../../node_modules/has/src/index.js","../../../../node_modules/get-intrinsic/index.js","../../../../node_modules/call-bind/index.js","../../../../node_modules/call-bind/callBound.js","../../../../node_modules/es-abstract/5/CheckObjectCoercible.js","../../../../node_modules/es-abstract/2021/RequireObjectCoercible.js","../../../../node_modules/es-abstract/2021/IsArray.js","../../../../node_modules/es-abstract/2021/Call.js","../../__vite-browser-external","../../../../node_modules/object-inspect/index.js","../../../../node_modules/es-abstract/2021/IsPropertyKey.js","../../../../node_modules/es-abstract/5/Type.js","../../../../node_modules/es-abstract/2021/Type.js","../../../../node_modules/es-abstract/2021/Get.js","../../../../node_modules/es-abstract/2021/HasProperty.js","../../../../node_modules/is-callable/index.js","../../../../node_modules/es-abstract/2021/IsCallable.js","../../../../node_modules/es-abstract/helpers/maxSafeInteger.js","../../../../node_modules/es-abstract/5/abs.js","../../../../node_modules/es-abstract/5/floor.js","../../../../node_modules/es-to-primitive/helpers/isPrimitive.js","../../../../node_modules/es-to-primitive/es5.js","../../../../node_modules/es-abstract/5/ToPrimitive.js","../../../../node_modules/es-abstract/5/ToNumber.js","../../../../node_modules/es-abstract/helpers/isNaN.js","../../../../node_modules/es-abstract/helpers/isFinite.js","../../../../node_modules/es-abstract/helpers/sign.js","../../../../node_modules/es-abstract/5/ToInteger.js","../../../../node_modules/es-abstract/helpers/regexTester.js","../../../../node_modules/es-abstract/helpers/isPrimitive.js","../../../../node_modules/has-tostringtag/shams.js","../../../../node_modules/is-date-object/index.js","../../../../node_modules/is-symbol/index.js","../../../../node_modules/es-to-primitive/es2015.js","../../../../node_modules/es-abstract/2021/ToPrimitive.js","../../../../node_modules/es-abstract/2021/ToNumber.js","../../../../node_modules/es-abstract/2021/ToIntegerOrInfinity.js","../../../../node_modules/es-abstract/2021/ToLength.js","../../../../node_modules/es-abstract/2021/LengthOfArrayLike.js","../../../../node_modules/es-abstract/2021/ToObject.js","../../../../node_modules/es-abstract/2021/ToString.js","../../../../node_modules/is-string/index.js","../../../../node_modules/array.prototype.foreach/implementation.js","../../../../node_modules/es-array-method-boxes-properly/index.js","../../../../node_modules/array.prototype.foreach/polyfill.js","../../../../node_modules/array.prototype.foreach/shim.js","../../../../node_modules/array.prototype.foreach/index.js","../../../../node_modules/object.entries/implementation.js","../../../../node_modules/object.entries/polyfill.js","../../../../node_modules/object.entries/shim.js","../../../../node_modules/object.entries/index.js","../../../../node_modules/string.prototype.trim/implementation.js","../../../../node_modules/string.prototype.trim/polyfill.js","../../../../node_modules/string.prototype.trim/shim.js","../../../../node_modules/string.prototype.trim/index.js","../../../../node_modules/node-polyglot/index.js","../../../../packages/ra-i18n-polyglot/src/index.ts","../../../../packages/react-admin/src/defaultI18nProvider.ts","../../../../packages/react-admin/src/Admin.tsx","../../src/Header.tsx","../../src/Layout.tsx","../../src/authProvider.ts","../../../../node_modules/@mui/icons-material/MonetizationOn.js","../../src/companies/sectors.ts","../../src/companies/CompanyAvatar.tsx","../../src/companies/CompanyCard.tsx","../../src/companies/GridList.tsx","../../../../node_modules/@mui/icons-material/Business.js","../../../../node_modules/@mui/icons-material/LocalShipping.js","../../../../node_modules/@mui/icons-material/SupervisorAccount.js","../../src/companies/sizes.ts","../../src/companies/CompanyListFilter.tsx","../../src/companies/CompanyList.tsx","../../src/companies/CompanyForm.tsx","../../src/companies/CompanyCreate.tsx","../../../../node_modules/@mui/icons-material/PersonAdd.js","../../src/contacts/Avatar.tsx","../../src/misc/Status.tsx","../../src/contacts/TagsList.tsx","../../src/companies/LogoField.tsx","../../src/companies/CompanyAside.tsx","../../src/deals/stages.ts","../../src/companies/CompanyShow.tsx","../../src/companies/CompanyEdit.tsx","../../src/companies/index.ts","../../../../node_modules/@mui/icons-material/ControlPoint.js","../../../../node_modules/@mui/icons-material/Edit.js","../../src/tags/colors.ts","../../src/contacts/TagsListEdit.tsx","../../src/tasks/AddTask.tsx","../../../../node_modules/@mui/icons-material/MoreVert.js","../../src/tasks/Task.tsx","../../src/tasks/TasksIterator.tsx","../../src/contacts/constants.ts","../../src/contacts/ContactAside.tsx","../../src/notes/StatusSelector.tsx","../../src/notes/NewNote.tsx","../../src/notes/Note.tsx","../../src/notes/NotesIterator.tsx","../../src/contacts/ContactShow.tsx","../../../../node_modules/@mui/icons-material/AccessTime.js","../../../../node_modules/@mui/icons-material/TrendingUp.js","../../../../node_modules/@mui/icons-material/LocalOffer.js","../../src/contacts/ContactListFilter.tsx","../../src/contacts/ContactList.tsx","../../src/contacts/ContactInputs.tsx","../../src/contacts/ContactEdit.tsx","../../src/contacts/ContactCreate.tsx","../../src/contacts/index.tsx","../../../../node_modules/@mui/icons-material/Home.js","../../../../node_modules/@mui/icons-material/Code.js","../../src/dashboard/Welcome.tsx","../../../../node_modules/@mui/icons-material/AttachMoney.js","../../../../node_modules/@react-spring/rafz/dist/react-spring-rafz.esm.js","../../../../node_modules/@react-spring/shared/dist/react-spring-shared.esm.js","../../../../node_modules/@react-spring/animated/dist/react-spring-animated.esm.js","../../../../node_modules/@react-spring/core/dist/react-spring-core.esm.js","../../../../node_modules/@react-spring/web/dist/react-spring-web.esm.js","../../../../node_modules/@nivo/tooltip/dist/nivo-tooltip.es.js","../../../../node_modules/d3-color/src/define.js","../../../../node_modules/d3-color/src/color.js","../../../../node_modules/d3-color/src/math.js","../../../../node_modules/d3-color/src/cubehelix.js","../../../../node_modules/d3-interpolate/src/basis.js","../../../../node_modules/d3-interpolate/src/constant.js","../../../../node_modules/d3-interpolate/src/color.js","../../../../node_modules/d3-interpolate/src/rgb.js","../../../../node_modules/d3-interpolate/src/numberArray.js","../../../../node_modules/d3-interpolate/src/array.js","../../../../node_modules/d3-interpolate/src/date.js","../../../../node_modules/d3-interpolate/src/number.js","../../../../node_modules/d3-interpolate/src/object.js","../../../../node_modules/d3-interpolate/src/string.js","../../../../node_modules/d3-interpolate/src/value.js","../../../../node_modules/d3-interpolate/src/round.js","../../../../node_modules/d3-interpolate/src/cubehelix.js","../../../../node_modules/lodash/isString.js","../../../../node_modules/d3-array/src/ascending.js","../../../../node_modules/d3-array/src/bisector.js","../../../../node_modules/d3-array/src/number.js","../../../../node_modules/d3-array/src/bisect.js","../../../../node_modules/d3-array/src/ticks.js","../../../../node_modules/d3-array/src/range.js","../../../../node_modules/d3-scale/src/init.js","../../../../node_modules/d3-scale/src/ordinal.js","../../../../node_modules/d3-scale/src/band.js","../../../../node_modules/d3-scale/src/constant.js","../../../../node_modules/d3-scale/src/number.js","../../../../node_modules/d3-scale/src/continuous.js","../../../../node_modules/d3-scale/node_modules/d3-format/src/formatDecimal.js","../../../../node_modules/d3-scale/node_modules/d3-format/src/exponent.js","../../../../node_modules/d3-scale/node_modules/d3-format/src/formatGroup.js","../../../../node_modules/d3-scale/node_modules/d3-format/src/formatNumerals.js","../../../../node_modules/d3-scale/node_modules/d3-format/src/formatSpecifier.js","../../../../node_modules/d3-scale/node_modules/d3-format/src/formatTrim.js","../../../../node_modules/d3-scale/node_modules/d3-format/src/formatPrefixAuto.js","../../../../node_modules/d3-scale/node_modules/d3-format/src/formatRounded.js","../../../../node_modules/d3-scale/node_modules/d3-format/src/formatTypes.js","../../../../node_modules/d3-scale/node_modules/d3-format/src/identity.js","../../../../node_modules/d3-scale/node_modules/d3-format/src/locale.js","../../../../node_modules/d3-scale/node_modules/d3-format/src/defaultLocale.js","../../../../node_modules/d3-scale/node_modules/d3-format/src/precisionFixed.js","../../../../node_modules/d3-scale/node_modules/d3-format/src/precisionPrefix.js","../../../../node_modules/d3-scale/node_modules/d3-format/src/precisionRound.js","../../../../node_modules/d3-scale/src/tickFormat.js","../../../../node_modules/d3-scale/src/linear.js","../../../../node_modules/d3-scale/src/nice.js","../../../../node_modules/d3-scale/src/log.js","../../../../node_modules/d3-scale/src/symlog.js","../../../../node_modules/d3-time/src/interval.js","../../../../node_modules/d3-time/src/millisecond.js","../../../../node_modules/d3-time/src/duration.js","../../../../node_modules/d3-time/src/second.js","../../../../node_modules/d3-time/src/minute.js","../../../../node_modules/d3-time/src/hour.js","../../../../node_modules/d3-time/src/day.js","../../../../node_modules/d3-time/src/week.js","../../../../node_modules/d3-time/src/month.js","../../../../node_modules/d3-time/src/year.js","../../../../node_modules/d3-time/src/utcMinute.js","../../../../node_modules/d3-time/src/utcHour.js","../../../../node_modules/d3-time/src/utcDay.js","../../../../node_modules/d3-time/src/utcWeek.js","../../../../node_modules/d3-time/src/utcMonth.js","../../../../node_modules/d3-time/src/utcYear.js","../../../../node_modules/d3-time/src/ticks.js","../../../../node_modules/d3-time-format/src/locale.js","../../../../node_modules/d3-time-format/src/defaultLocale.js","../../../../node_modules/d3-scale/src/time.js","../../../../node_modules/d3-scale/src/utcTime.js","../../../../node_modules/d3-scale-chromatic/src/colors.js","../../../../node_modules/d3-scale-chromatic/src/categorical/category10.js","../../../../node_modules/d3-scale-chromatic/src/categorical/Accent.js","../../../../node_modules/d3-scale-chromatic/src/categorical/Dark2.js","../../../../node_modules/d3-scale-chromatic/src/categorical/Paired.js","../../../../node_modules/d3-scale-chromatic/src/categorical/Pastel1.js","../../../../node_modules/d3-scale-chromatic/src/categorical/Pastel2.js","../../../../node_modules/d3-scale-chromatic/src/categorical/Set1.js","../../../../node_modules/d3-scale-chromatic/src/categorical/Set2.js","../../../../node_modules/d3-scale-chromatic/src/categorical/Set3.js","../../../../node_modules/d3-scale-chromatic/src/ramp.js","../../../../node_modules/d3-scale-chromatic/src/diverging/BrBG.js","../../../../node_modules/d3-scale-chromatic/src/diverging/PRGn.js","../../../../node_modules/d3-scale-chromatic/src/diverging/PiYG.js","../../../../node_modules/d3-scale-chromatic/src/diverging/PuOr.js","../../../../node_modules/d3-scale-chromatic/src/diverging/RdBu.js","../../../../node_modules/d3-scale-chromatic/src/diverging/RdGy.js","../../../../node_modules/d3-scale-chromatic/src/diverging/RdYlBu.js","../../../../node_modules/d3-scale-chromatic/src/diverging/RdYlGn.js","../../../../node_modules/d3-scale-chromatic/src/diverging/Spectral.js","../../../../node_modules/d3-scale-chromatic/src/sequential-multi/BuGn.js","../../../../node_modules/d3-scale-chromatic/src/sequential-multi/BuPu.js","../../../../node_modules/d3-scale-chromatic/src/sequential-multi/GnBu.js","../../../../node_modules/d3-scale-chromatic/src/sequential-multi/OrRd.js","../../../../node_modules/d3-scale-chromatic/src/sequential-multi/PuBuGn.js","../../../../node_modules/d3-scale-chromatic/src/sequential-multi/PuBu.js","../../../../node_modules/d3-scale-chromatic/src/sequential-multi/PuRd.js","../../../../node_modules/d3-scale-chromatic/src/sequential-multi/RdPu.js","../../../../node_modules/d3-scale-chromatic/src/sequential-multi/YlGnBu.js","../../../../node_modules/d3-scale-chromatic/src/sequential-multi/YlGn.js","../../../../node_modules/d3-scale-chromatic/src/sequential-multi/YlOrBr.js","../../../../node_modules/d3-scale-chromatic/src/sequential-multi/YlOrRd.js","../../../../node_modules/d3-scale-chromatic/src/sequential-single/Blues.js","../../../../node_modules/d3-scale-chromatic/src/sequential-single/Greens.js","../../../../node_modules/d3-scale-chromatic/src/sequential-single/Greys.js","../../../../node_modules/d3-scale-chromatic/src/sequential-single/Purples.js","../../../../node_modules/d3-scale-chromatic/src/sequential-single/Reds.js","../../../../node_modules/d3-scale-chromatic/src/sequential-single/Oranges.js","../../../../node_modules/d3-scale-chromatic/src/sequential-multi/cividis.js","../../../../node_modules/d3-scale-chromatic/src/sequential-multi/cubehelix.js","../../../../node_modules/d3-scale-chromatic/src/sequential-multi/rainbow.js","../../../../node_modules/d3-scale-chromatic/src/sequential-multi/sinebow.js","../../../../node_modules/d3-scale-chromatic/src/sequential-multi/turbo.js","../../../../node_modules/d3-scale-chromatic/src/sequential-multi/viridis.js","../../../../node_modules/lodash/without.js","../../../../node_modules/d3-shape/src/constant.js","../../../../node_modules/d3-shape/src/math.js","../../../../node_modules/d3-shape/src/curve/linear.js","../../../../node_modules/d3-shape/src/array.js","../../../../node_modules/d3-shape/src/noop.js","../../../../node_modules/d3-shape/src/curve/basis.js","../../../../node_modules/d3-shape/src/curve/basisClosed.js","../../../../node_modules/d3-shape/src/curve/basisOpen.js","../../../../node_modules/d3-shape/src/curve/bundle.js","../../../../node_modules/d3-shape/src/curve/cardinal.js","../../../../node_modules/d3-shape/src/curve/cardinalClosed.js","../../../../node_modules/d3-shape/src/curve/cardinalOpen.js","../../../../node_modules/d3-shape/src/curve/catmullRom.js","../../../../node_modules/d3-shape/src/curve/catmullRomClosed.js","../../../../node_modules/d3-shape/src/curve/catmullRomOpen.js","../../../../node_modules/d3-shape/src/curve/linearClosed.js","../../../../node_modules/d3-shape/src/curve/monotone.js","../../../../node_modules/d3-shape/src/curve/natural.js","../../../../node_modules/d3-shape/src/curve/step.js","../../../../node_modules/d3-shape/src/offset/none.js","../../../../node_modules/d3-shape/src/order/none.js","../../../../node_modules/d3-shape/src/stack.js","../../../../node_modules/d3-shape/src/offset/expand.js","../../../../node_modules/d3-shape/src/offset/diverging.js","../../../../node_modules/d3-shape/src/offset/silhouette.js","../../../../node_modules/d3-shape/src/offset/wiggle.js","../../../../node_modules/d3-shape/src/order/appearance.js","../../../../node_modules/d3-shape/src/order/ascending.js","../../../../node_modules/d3-shape/src/order/descending.js","../../../../node_modules/d3-shape/src/order/insideOut.js","../../../../node_modules/d3-shape/src/order/reverse.js","../../../../node_modules/d3-format/src/formatDecimal.js","../../../../node_modules/d3-format/src/exponent.js","../../../../node_modules/d3-format/src/formatGroup.js","../../../../node_modules/d3-format/src/formatNumerals.js","../../../../node_modules/d3-format/src/formatSpecifier.js","../../../../node_modules/d3-format/src/formatTrim.js","../../../../node_modules/d3-format/src/formatPrefixAuto.js","../../../../node_modules/d3-format/src/formatRounded.js","../../../../node_modules/d3-format/src/formatTypes.js","../../../../node_modules/d3-format/src/identity.js","../../../../node_modules/d3-format/src/locale.js","../../../../node_modules/d3-format/src/defaultLocale.js","../../../../node_modules/@nivo/core/dist/nivo-core.es.js","../../../../node_modules/lodash/uniqBy.js","../../../../node_modules/lodash/_baseForOwn.js","../../../../node_modules/lodash/_createBaseEach.js","../../../../node_modules/lodash/_baseEach.js","../../../../node_modules/lodash/_baseMap.js","../../../../node_modules/lodash/_baseSortBy.js","../../../../node_modules/lodash/_compareAscending.js","../../../../node_modules/lodash/_compareMultiple.js","../../../../node_modules/lodash/_baseOrderBy.js","../../../../node_modules/lodash/sortBy.js","../../../../node_modules/lodash/isDate.js","../../../../node_modules/@nivo/scales/node_modules/d3-time/src/interval.js","../../../../node_modules/@nivo/scales/node_modules/d3-time/src/millisecond.js","../../../../node_modules/@nivo/scales/node_modules/d3-time/src/duration.js","../../../../node_modules/@nivo/scales/node_modules/d3-time/src/second.js","../../../../node_modules/@nivo/scales/node_modules/d3-time/src/minute.js","../../../../node_modules/@nivo/scales/node_modules/d3-time/src/hour.js","../../../../node_modules/@nivo/scales/node_modules/d3-time/src/week.js","../../../../node_modules/@nivo/scales/node_modules/d3-time/src/month.js","../../../../node_modules/@nivo/scales/node_modules/d3-time/src/year.js","../../../../node_modules/@nivo/scales/node_modules/d3-time/src/utcMinute.js","../../../../node_modules/@nivo/scales/node_modules/d3-time/src/utcHour.js","../../../../node_modules/@nivo/scales/node_modules/d3-time/src/utcWeek.js","../../../../node_modules/@nivo/scales/node_modules/d3-time/src/utcMonth.js","../../../../node_modules/@nivo/scales/node_modules/d3-time/src/utcYear.js","../../../../node_modules/@nivo/scales/dist/nivo-scales.es.js","../../../../node_modules/@nivo/axes/dist/nivo-axes.es.js","../../../../node_modules/lodash/_customOmitClone.js","../../../../node_modules/lodash/omit.js","../../../../node_modules/lodash/isNumber.js","../../../../node_modules/lodash/_baseFilter.js","../../../../node_modules/lodash/filter.js","../../../../node_modules/@nivo/annotations/dist/nivo-annotations.es.js","../../../../node_modules/@nivo/colors/dist/nivo-colors.es.js","../../../../node_modules/@nivo/legends/dist/nivo-legends.es.js","../../../../node_modules/@nivo/bar/dist/nivo-bar.es.js","../../src/dashboard/DealsChart.tsx","../../../../node_modules/@mui/icons-material/Contacts.js","../../src/dashboard/HotContacts.tsx","../../../../node_modules/@mui/icons-material/Note.js","../../src/dashboard/LatestNotes.tsx","../../../../node_modules/@mui/icons-material/AssignmentTurnedIn.js","../../src/dashboard/TasksList.tsx","../../src/dashboard/Dashboard.tsx","../../../../node_modules/fakerest/dist/FakeRest.min.js","../../../../packages/ra-data-fakerest/src/index.ts","../../../../node_modules/faker/lib/fake.js","../../../../node_modules/faker/vendor/unique.js","../../../../node_modules/faker/lib/unique.js","../../../../node_modules/faker/vendor/mersenne.js","../../../../node_modules/faker/lib/random.js","../../../../node_modules/faker/lib/helpers.js","../../../../node_modules/faker/lib/name.js","../../../../node_modules/faker/lib/address.js","../../../../node_modules/faker/lib/company.js","../../../../node_modules/faker/lib/iban.js","../../../../node_modules/faker/lib/finance.js","../../../../node_modules/faker/lib/image_providers/lorempixel.js","../../../../node_modules/faker/lib/image_providers/unsplash.js","../../../../node_modules/faker/lib/image_providers/lorempicsum.js","../../../../node_modules/faker/lib/image.js","../../../../node_modules/faker/lib/lorem.js","../../../../node_modules/faker/lib/hacker.js","../../../../node_modules/faker/vendor/user-agent.js","../../../../node_modules/faker/lib/internet.js","../../../../node_modules/faker/lib/database.js","../../../../node_modules/faker/lib/phone_number.js","../../../../node_modules/faker/lib/date.js","../../../../node_modules/faker/lib/time.js","../../../../node_modules/faker/lib/commerce.js","../../../../node_modules/faker/lib/system.js","../../../../node_modules/faker/lib/git.js","../../../../node_modules/faker/lib/vehicle.js","../../../../node_modules/faker/lib/music.js","../../../../node_modules/faker/lib/index.js","../../../../node_modules/faker/lib/locales/en_US/internet/domain_suffix.js","../../../../node_modules/faker/lib/locales/en_US/internet/index.js","../../../../node_modules/faker/lib/locales/en_US/address/default_country.js","../../../../node_modules/faker/lib/locales/en_US/address/postcode_by_state.js","../../../../node_modules/faker/lib/locales/en_US/address/index.js","../../../../node_modules/faker/lib/locales/en_US/phone_number/area_code.js","../../../../node_modules/faker/lib/locales/en_US/phone_number/exchange_code.js","../../../../node_modules/faker/lib/locales/en_US/phone_number/index.js","../../../../node_modules/faker/lib/locales/en_US/index.js","../../../../node_modules/faker/lib/locales/en/address/city_prefix.js","../../../../node_modules/faker/lib/locales/en/address/city_suffix.js","../../../../node_modules/faker/lib/locales/en/address/county.js","../../../../node_modules/faker/lib/locales/en/address/country.js","../../../../node_modules/faker/lib/locales/en/address/country_code.js","../../../../node_modules/faker/lib/locales/en/address/country_code_alpha_3.js","../../../../node_modules/faker/lib/locales/en/address/building_number.js","../../../../node_modules/faker/lib/locales/en/address/street_suffix.js","../../../../node_modules/faker/lib/locales/en/address/secondary_address.js","../../../../node_modules/faker/lib/locales/en/address/postcode.js","../../../../node_modules/faker/lib/locales/en/address/postcode_by_state.js","../../../../node_modules/faker/lib/locales/en/address/state.js","../../../../node_modules/faker/lib/locales/en/address/state_abbr.js","../../../../node_modules/faker/lib/locales/en/address/time_zone.js","../../../../node_modules/faker/lib/locales/en/address/city.js","../../../../node_modules/faker/lib/locales/en/address/street_name.js","../../../../node_modules/faker/lib/locales/en/address/street_address.js","../../../../node_modules/faker/lib/locales/en/address/default_country.js","../../../../node_modules/faker/lib/locales/en/address/direction.js","../../../../node_modules/faker/lib/locales/en/address/direction_abbr.js","../../../../node_modules/faker/lib/locales/en/address/index.js","../../../../node_modules/faker/lib/locales/en/company/suffix.js","../../../../node_modules/faker/lib/locales/en/company/adjective.js","../../../../node_modules/faker/lib/locales/en/company/descriptor.js","../../../../node_modules/faker/lib/locales/en/company/noun.js","../../../../node_modules/faker/lib/locales/en/company/bs_verb.js","../../../../node_modules/faker/lib/locales/en/company/bs_adjective.js","../../../../node_modules/faker/lib/locales/en/company/bs_noun.js","../../../../node_modules/faker/lib/locales/en/company/name.js","../../../../node_modules/faker/lib/locales/en/company/index.js","../../../../node_modules/faker/lib/locales/en/internet/free_email.js","../../../../node_modules/faker/lib/locales/en/internet/example_email.js","../../../../node_modules/faker/lib/locales/en/internet/domain_suffix.js","../../../../node_modules/faker/lib/locales/en/internet/avatar_uri.js","../../../../node_modules/faker/lib/locales/en/internet/index.js","../../../../node_modules/faker/lib/locales/en/database/collation.js","../../../../node_modules/faker/lib/locales/en/database/column.js","../../../../node_modules/faker/lib/locales/en/database/engine.js","../../../../node_modules/faker/lib/locales/en/database/type.js","../../../../node_modules/faker/lib/locales/en/database/index.js","../../../../node_modules/faker/lib/locales/en/lorem/words.js","../../../../node_modules/faker/lib/locales/en/lorem/supplemental.js","../../../../node_modules/faker/lib/locales/en/lorem/index.js","../../../../node_modules/faker/lib/locales/en/name/male_first_name.js","../../../../node_modules/faker/lib/locales/en/name/female_first_name.js","../../../../node_modules/faker/lib/locales/en/name/first_name.js","../../../../node_modules/faker/lib/locales/en/name/last_name.js","../../../../node_modules/faker/lib/locales/en/name/gender.js","../../../../node_modules/faker/lib/locales/en/name/prefix.js","../../../../node_modules/faker/lib/locales/en/name/suffix.js","../../../../node_modules/faker/lib/locales/en/name/title.js","../../../../node_modules/faker/lib/locales/en/name/name.js","../../../../node_modules/faker/lib/locales/en/name/index.js","../../../../node_modules/faker/lib/locales/en/phone_number/formats.js","../../../../node_modules/faker/lib/locales/en/phone_number/index.js","../../../../node_modules/faker/lib/locales/en/cell_phone/formats.js","../../../../node_modules/faker/lib/locales/en/cell_phone/index.js","../../../../node_modules/faker/lib/locales/en/business/credit_card_numbers.js","../../../../node_modules/faker/lib/locales/en/business/credit_card_expiry_dates.js","../../../../node_modules/faker/lib/locales/en/business/credit_card_types.js","../../../../node_modules/faker/lib/locales/en/business/index.js","../../../../node_modules/faker/lib/locales/en/commerce/color.js","../../../../node_modules/faker/lib/locales/en/commerce/department.js","../../../../node_modules/faker/lib/locales/en/commerce/product_name.js","../../../../node_modules/faker/lib/locales/en/commerce/product_description.js","../../../../node_modules/faker/lib/locales/en/commerce/index.js","../../../../node_modules/faker/lib/locales/en/team/creature.js","../../../../node_modules/faker/lib/locales/en/team/name.js","../../../../node_modules/faker/lib/locales/en/team/index.js","../../../../node_modules/faker/lib/locales/en/hacker/abbreviation.js","../../../../node_modules/faker/lib/locales/en/hacker/adjective.js","../../../../node_modules/faker/lib/locales/en/hacker/noun.js","../../../../node_modules/faker/lib/locales/en/hacker/verb.js","../../../../node_modules/faker/lib/locales/en/hacker/ingverb.js","../../../../node_modules/faker/lib/locales/en/hacker/phrase.js","../../../../node_modules/faker/lib/locales/en/hacker/index.js","../../../../node_modules/faker/lib/locales/en/app/name.js","../../../../node_modules/faker/lib/locales/en/app/version.js","../../../../node_modules/faker/lib/locales/en/app/author.js","../../../../node_modules/faker/lib/locales/en/app/index.js","../../../../node_modules/faker/lib/locales/en/finance/account_type.js","../../../../node_modules/faker/lib/locales/en/finance/transaction_type.js","../../../../node_modules/faker/lib/locales/en/finance/currency.js","../../../../node_modules/faker/lib/locales/en/finance/credit_card/visa.js","../../../../node_modules/faker/lib/locales/en/finance/credit_card/mastercard.js","../../../../node_modules/faker/lib/locales/en/finance/credit_card/discover.js","../../../../node_modules/faker/lib/locales/en/finance/credit_card/american_express.js","../../../../node_modules/faker/lib/locales/en/finance/credit_card/diners_club.js","../../../../node_modules/faker/lib/locales/en/finance/credit_card/jcb.js","../../../../node_modules/faker/lib/locales/en/finance/credit_card/switch.js","../../../../node_modules/faker/lib/locales/en/finance/credit_card/solo.js","../../../../node_modules/faker/lib/locales/en/finance/credit_card/maestro.js","../../../../node_modules/faker/lib/locales/en/finance/credit_card/laser.js","../../../../node_modules/faker/lib/locales/en/finance/credit_card/instapayment.js","../../../../node_modules/faker/lib/locales/en/finance/credit_card/index.js","../../../../node_modules/faker/lib/locales/en/finance/index.js","../../../../node_modules/faker/lib/locales/en/date/month.js","../../../../node_modules/faker/lib/locales/en/date/weekday.js","../../../../node_modules/faker/lib/locales/en/date/index.js","../../../../node_modules/faker/lib/locales/en/system/directoryPaths.js","../../../../node_modules/faker/lib/locales/en/system/mimeTypes.js","../../../../node_modules/faker/lib/locales/en/system/index.js","../../../../node_modules/faker/lib/locales/en/vehicle/manufacturer.js","../../../../node_modules/faker/lib/locales/en/vehicle/model.js","../../../../node_modules/faker/lib/locales/en/vehicle/vehicle_type.js","../../../../node_modules/faker/lib/locales/en/vehicle/fuel.js","../../../../node_modules/faker/lib/locales/en/vehicle/index.js","../../../../node_modules/faker/lib/locales/en/music/genre.js","../../../../node_modules/faker/lib/locales/en/music/index.js","../../../../node_modules/faker/lib/locales/en/index.js","../../../../node_modules/faker/locale/en_US.js","../../src/dataGenerator/sales.ts","../../src/dataGenerator/tags.ts","../../../../node_modules/faker/locale/en.js","../../src/dataGenerator/utils.ts","../../src/dataGenerator/companies.ts","../../src/dataGenerator/contacts.ts","../../src/dataGenerator/contactNotes.ts","../../src/dataGenerator/tasks.ts","../../src/dataGenerator/deals.ts","../../src/dataGenerator/dealNotes.ts","../../src/dataGenerator/finalize.ts","../../src/dataGenerator/index.ts","../../src/dataProvider.ts","../../src/deals/index.ts","../../src/App.tsx","../../src/reportWebVitals.js","../../src/index.tsx"],"sourcesContent":["/**\n * @license React\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=Symbol.for(\"react.element\"),n=Symbol.for(\"react.portal\"),p=Symbol.for(\"react.fragment\"),q=Symbol.for(\"react.strict_mode\"),r=Symbol.for(\"react.profiler\"),t=Symbol.for(\"react.provider\"),u=Symbol.for(\"react.context\"),v=Symbol.for(\"react.forward_ref\"),w=Symbol.for(\"react.suspense\"),x=Symbol.for(\"react.memo\"),y=Symbol.for(\"react.lazy\"),z=Symbol.iterator;function A(a){if(null===a||\"object\"!==typeof a)return null;a=z&&a[z]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}\nvar B={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,D={};function E(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}E.prototype.isReactComponent={};\nE.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,a,b,\"setState\")};E.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};function F(){}F.prototype=E.prototype;function G(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}var H=G.prototype=new F;\nH.constructor=G;C(H,E.prototype);H.isPureReactComponent=!0;var I=Array.isArray,J=Object.prototype.hasOwnProperty,K={current:null},L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,e){var d,c={},k=null,h=null;if(null!=b)for(d in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(k=\"\"+b.key),b)J.call(b,d)&&!L.hasOwnProperty(d)&&(c[d]=b[d]);var g=arguments.length-2;if(1===g)c.children=e;else if(1<g){for(var f=Array(g),m=0;m<g;m++)f[m]=arguments[m+2];c.children=f}if(a&&a.defaultProps)for(d in g=a.defaultProps,g)void 0===c[d]&&(c[d]=g[d]);return{$$typeof:l,type:a,key:k,ref:h,props:c,_owner:K.current}}\nfunction N(a,b){return{$$typeof:l,type:a.type,key:b,ref:a.ref,props:a.props,_owner:a._owner}}function O(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===l}function escape(a){var b={\"=\":\"=0\",\":\":\"=2\"};return\"$\"+a.replace(/[=:]/g,function(a){return b[a]})}var P=/\\/+/g;function Q(a,b){return\"object\"===typeof a&&null!==a&&null!=a.key?escape(\"\"+a.key):b.toString(36)}\nfunction R(a,b,e,d,c){var k=typeof a;if(\"undefined\"===k||\"boolean\"===k)a=null;var h=!1;if(null===a)h=!0;else switch(k){case \"string\":case \"number\":h=!0;break;case \"object\":switch(a.$$typeof){case l:case n:h=!0}}if(h)return h=a,c=c(h),a=\"\"===d?\".\"+Q(h,0):d,I(c)?(e=\"\",null!=a&&(e=a.replace(P,\"$&/\")+\"/\"),R(c,b,e,\"\",function(a){return a})):null!=c&&(O(c)&&(c=N(c,e+(!c.key||h&&h.key===c.key?\"\":(\"\"+c.key).replace(P,\"$&/\")+\"/\")+a)),b.push(c)),1;h=0;d=\"\"===d?\".\":d+\":\";if(I(a))for(var g=0;g<a.length;g++){k=\na[g];var f=d+Q(k,g);h+=R(k,b,e,f,c)}else if(f=A(a),\"function\"===typeof f)for(a=f.call(a),g=0;!(k=a.next()).done;)k=k.value,f=d+Q(k,g++),h+=R(k,b,e,f,c);else if(\"object\"===k)throw b=String(a),Error(\"Objects are not valid as a React child (found: \"+(\"[object Object]\"===b?\"object with keys {\"+Object.keys(a).join(\", \")+\"}\":b)+\"). If you meant to render a collection of children, use an array instead.\");return h}\nfunction S(a,b,e){if(null==a)return a;var d=[],c=0;R(a,d,\"\",\"\",function(a){return b.call(e,a,c++)});return d}function T(a){if(-1===a._status){var b=a._result;b=b();b.then(function(b){if(0===a._status||-1===a._status)a._status=1,a._result=b},function(b){if(0===a._status||-1===a._status)a._status=2,a._result=b});-1===a._status&&(a._status=0,a._result=b)}if(1===a._status)return a._result.default;throw a._result;}\nvar U={current:null},V={transition:null},W={ReactCurrentDispatcher:U,ReactCurrentBatchConfig:V,ReactCurrentOwner:K};exports.Children={map:S,forEach:function(a,b,e){S(a,function(){b.apply(this,arguments)},e)},count:function(a){var b=0;S(a,function(){b++});return b},toArray:function(a){return S(a,function(a){return a})||[]},only:function(a){if(!O(a))throw Error(\"React.Children.only expected to receive a single React element child.\");return a}};exports.Component=E;exports.Fragment=p;\nexports.Profiler=r;exports.PureComponent=G;exports.StrictMode=q;exports.Suspense=w;exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=W;\nexports.cloneElement=function(a,b,e){if(null===a||void 0===a)throw Error(\"React.cloneElement(...): The argument must be a React element, but you passed \"+a+\".\");var d=C({},a.props),c=a.key,k=a.ref,h=a._owner;if(null!=b){void 0!==b.ref&&(k=b.ref,h=K.current);void 0!==b.key&&(c=\"\"+b.key);if(a.type&&a.type.defaultProps)var g=a.type.defaultProps;for(f in b)J.call(b,f)&&!L.hasOwnProperty(f)&&(d[f]=void 0===b[f]&&void 0!==g?g[f]:b[f])}var f=arguments.length-2;if(1===f)d.children=e;else if(1<f){g=Array(f);\nfor(var m=0;m<f;m++)g[m]=arguments[m+2];d.children=g}return{$$typeof:l,type:a.type,key:c,ref:k,props:d,_owner:h}};exports.createContext=function(a){a={$$typeof:u,_currentValue:a,_currentValue2:a,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null};a.Provider={$$typeof:t,_context:a};return a.Consumer=a};exports.createElement=M;exports.createFactory=function(a){var b=M.bind(null,a);b.type=a;return b};exports.createRef=function(){return{current:null}};\nexports.forwardRef=function(a){return{$$typeof:v,render:a}};exports.isValidElement=O;exports.lazy=function(a){return{$$typeof:y,_payload:{_status:-1,_result:a},_init:T}};exports.memo=function(a,b){return{$$typeof:x,type:a,compare:void 0===b?null:b}};exports.startTransition=function(a){var b=V.transition;V.transition={};try{a()}finally{V.transition=b}};exports.unstable_act=function(){throw Error(\"act(...) is not supported in production builds of React.\");};\nexports.useCallback=function(a,b){return U.current.useCallback(a,b)};exports.useContext=function(a){return U.current.useContext(a)};exports.useDebugValue=function(){};exports.useDeferredValue=function(a){return U.current.useDeferredValue(a)};exports.useEffect=function(a,b){return U.current.useEffect(a,b)};exports.useId=function(){return U.current.useId()};exports.useImperativeHandle=function(a,b,e){return U.current.useImperativeHandle(a,b,e)};\nexports.useInsertionEffect=function(a,b){return U.current.useInsertionEffect(a,b)};exports.useLayoutEffect=function(a,b){return U.current.useLayoutEffect(a,b)};exports.useMemo=function(a,b){return U.current.useMemo(a,b)};exports.useReducer=function(a,b,e){return U.current.useReducer(a,b,e)};exports.useRef=function(a){return U.current.useRef(a)};exports.useState=function(a){return U.current.useState(a)};exports.useSyncExternalStore=function(a,b,e){return U.current.useSyncExternalStore(a,b,e)};\nexports.useTransition=function(){return U.current.useTransition()};exports.version=\"18.2.0\";\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","/**\n * @license React\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';function f(a,b){var c=a.length;a.push(b);a:for(;0<c;){var d=c-1>>>1,e=a[d];if(0<g(e,b))a[d]=b,a[c]=e,c=d;else break a}}function h(a){return 0===a.length?null:a[0]}function k(a){if(0===a.length)return null;var b=a[0],c=a.pop();if(c!==b){a[0]=c;a:for(var d=0,e=a.length,w=e>>>1;d<w;){var m=2*(d+1)-1,C=a[m],n=m+1,x=a[n];if(0>g(C,c))n<e&&0>g(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(n<e&&0>g(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}\nfunction g(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}var r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=\"function\"===typeof setTimeout?setTimeout:null,E=\"function\"===typeof clearTimeout?clearTimeout:null,F=\"undefined\"!==typeof setImmediate?setImmediate:null;\n\"undefined\"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);null!==b;){if(null===b.callback)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){B=!1;G(a);if(!A)if(null!==h(r))A=!0,I(J);else{var b=h(t);null!==b&&K(H,b.startTime-a)}}\nfunction J(a,b){A=!1;B&&(B=!1,E(L),L=-1);z=!0;var c=y;try{G(b);for(v=h(r);null!==v&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(\"function\"===typeof d){v.callback=null;y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?v.callback=e:v===h(r)&&k(r);G(b)}else k(r);v=h(r)}if(null!==v)var w=!0;else{var m=h(t);null!==m&&K(H,m.startTime-b);w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;\nfunction M(){return exports.unstable_now()-Q<P?!1:!0}function R(){if(null!==O){var a=exports.unstable_now();Q=a;var b=!0;try{b=O(!0,a)}finally{b?S():(N=!1,O=null)}}else N=!1}var S;if(\"function\"===typeof F)S=function(){F(R)};else if(\"undefined\"!==typeof MessageChannel){var T=new MessageChannel,U=T.port2;T.port1.onmessage=R;S=function(){U.postMessage(null)}}else S=function(){D(R,0)};function I(a){O=a;N||(N=!0,S())}function K(a,b){L=D(function(){a(exports.unstable_now())},b)}\nexports.unstable_IdlePriority=5;exports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){A||z||(A=!0,I(J))};\nexports.unstable_forceFrameRate=function(a){0>a||125<a?console.error(\"forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported\"):P=0<a?Math.floor(1E3/a):5};exports.unstable_getCurrentPriorityLevel=function(){return y};exports.unstable_getFirstCallbackNode=function(){return h(r)};exports.unstable_next=function(a){switch(y){case 1:case 2:case 3:var b=3;break;default:b=y}var c=y;y=b;try{return a()}finally{y=c}};exports.unstable_pauseExecution=function(){};\nexports.unstable_requestPaint=function(){};exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=y;y=a;try{return b()}finally{y=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();\"object\"===typeof c&&null!==c?(c=c.delay,c=\"number\"===typeof c&&0<c?d+c:d):c=d;switch(a){case 1:var e=-1;break;case 2:e=250;break;case 5:e=1073741823;break;case 4:e=1E4;break;default:e=5E3}e=c+e;a={id:u++,callback:b,priorityLevel:a,startTime:c,expirationTime:e,sortIndex:-1};c>d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","/**\n * @license React\n * react-dom.profiling.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n 'use strict';\n\n/* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());\n}\n /*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),ba=require(\"scheduler\");function p(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c<arguments.length;c++)b+=\"&args[]=\"+encodeURIComponent(arguments[c]);return\"Minified React error #\"+a+\"; visit \"+b+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}var da=new Set,ea={};function fa(a,b){ha(a,b);ha(a+\"Capture\",b)}\nfunction ha(a,b){ea[a]=b;for(a=0;a<b.length;a++)da.add(b[a])}\nvar ia=!(\"undefined\"===typeof window||\"undefined\"===typeof window.document||\"undefined\"===typeof window.document.createElement),ja=Object.prototype.hasOwnProperty,ka=/^[: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]*$/,la=\n{},ma={};function na(a){if(ja.call(ma,a))return!0;if(ja.call(la,a))return!1;if(ka.test(a))return ma[a]=!0;la[a]=!0;return!1}function oa(a,b,c,d){if(null!==c&&0===c.type)return!1;switch(typeof b){case \"function\":case \"symbol\":return!0;case \"boolean\":if(d)return!1;if(null!==c)return!c.acceptsBooleans;a=a.toLowerCase().slice(0,5);return\"data-\"!==a&&\"aria-\"!==a;default:return!1}}\nfunction pa(a,b,c,d){if(null===b||\"undefined\"===typeof b||oa(a,b,c,d))return!0;if(d)return!1;if(null!==c)switch(c.type){case 3:return!b;case 4:return!1===b;case 5:return isNaN(b);case 6:return isNaN(b)||1>b}return!1}function qa(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var t={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){t[a]=new qa(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];t[b]=new qa(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){t[a]=new qa(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){t[a]=new qa(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){t[a]=new qa(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){t[a]=new qa(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){t[a]=new qa(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){t[a]=new qa(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){t[a]=new qa(a,5,!1,a.toLowerCase(),null,!1,!1)});var ra=/[\\-:]([a-z])/g;function ta(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(ra,\nta);t[b]=new qa(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(ra,ta);t[b]=new qa(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(ra,ta);t[b]=new qa(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){t[a]=new qa(a,1,!1,a.toLowerCase(),null,!1,!1)});\nt.xlinkHref=new qa(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){t[a]=new qa(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction ua(a,b,c,d){var e=t.hasOwnProperty(b)?t[b]:null;if(null!==e?0!==e.type:d||!(2<b.length)||\"o\"!==b[0]&&\"O\"!==b[0]||\"n\"!==b[1]&&\"N\"!==b[1])pa(b,c,e,d)&&(c=null),d||null===e?na(b)&&(null===c?a.removeAttribute(b):a.setAttribute(b,\"\"+c)):e.mustUseProperty?a[e.propertyName]=null===c?3===e.type?!1:\"\":c:(b=e.attributeName,d=e.attributeNamespace,null===c?a.removeAttribute(b):(e=e.type,c=3===e||4===e&&!0===c?\"\":\"\"+c,d?a.setAttributeNS(d,b,c):a.setAttribute(b,c)))}\nvar va=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,wa=Symbol.for(\"react.element\"),xa=Symbol.for(\"react.portal\"),ya=Symbol.for(\"react.fragment\"),za=Symbol.for(\"react.strict_mode\"),Aa=Symbol.for(\"react.profiler\"),Ba=Symbol.for(\"react.provider\"),Ca=Symbol.for(\"react.context\"),Da=Symbol.for(\"react.forward_ref\"),Ea=Symbol.for(\"react.suspense\"),Fa=Symbol.for(\"react.suspense_list\"),Ga=Symbol.for(\"react.memo\"),Ha=Symbol.for(\"react.lazy\");Symbol.for(\"react.scope\");Symbol.for(\"react.debug_trace_mode\");\nvar Ia=Symbol.for(\"react.offscreen\");Symbol.for(\"react.legacy_hidden\");Symbol.for(\"react.cache\");Symbol.for(\"react.tracing_marker\");var Ja=Symbol.iterator;function Ka(a){if(null===a||\"object\"!==typeof a)return null;a=Ja&&a[Ja]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}var u=Object.assign,La;function Ma(a){if(void 0===La)try{throw Error();}catch(c){var b=c.stack.trim().match(/\\n( *(at )?)/);La=b&&b[1]||\"\"}return\"\\n\"+La+a}var Na=!1;\nfunction Oa(a,b){if(!a||Na)return\"\";Na=!0;var c=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(b)if(b=function(){throw Error();},Object.defineProperty(b.prototype,\"props\",{set:function(){throw Error();}}),\"object\"===typeof Reflect&&Reflect.construct){try{Reflect.construct(b,[])}catch(l){var d=l}Reflect.construct(a,[],b)}else{try{b.call()}catch(l){d=l}a.call(b.prototype)}else{try{throw Error();}catch(l){d=l}a()}}catch(l){if(l&&d&&\"string\"===typeof l.stack){for(var e=l.stack.split(\"\\n\"),\nf=d.stack.split(\"\\n\"),g=e.length-1,h=f.length-1;1<=g&&0<=h&&e[g]!==f[h];)h--;for(;1<=g&&0<=h;g--,h--)if(e[g]!==f[h]){if(1!==g||1!==h){do if(g--,h--,0>h||e[g]!==f[h]){var k=\"\\n\"+e[g].replace(\" at new \",\" at \");a.displayName&&k.includes(\"<anonymous>\")&&(k=k.replace(\"<anonymous>\",a.displayName));return k}while(1<=g&&0<=h)}break}}}finally{Na=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Ma(a):\"\"}\nfunction Pa(a){switch(a.tag){case 5:return Ma(a.type);case 16:return Ma(\"Lazy\");case 13:return Ma(\"Suspense\");case 19:return Ma(\"SuspenseList\");case 0:case 2:case 15:return a=Oa(a.type,!1),a;case 11:return a=Oa(a.type.render,!1),a;case 1:return a=Oa(a.type,!0),a;default:return\"\"}}\nfunction Qa(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ya:return\"Fragment\";case xa:return\"Portal\";case Aa:return\"Profiler\";case za:return\"StrictMode\";case Ea:return\"Suspense\";case Fa:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case Ca:return(a.displayName||\"Context\")+\".Consumer\";case Ba:return(a._context.displayName||\"Context\")+\".Provider\";case Da:var b=a.render;a=a.displayName;a||(a=b.displayName||\nb.name||\"\",a=\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");return a;case Ga:return b=a.displayName||null,null!==b?b:Qa(a.type)||\"Memo\";case Ha:b=a._payload;a=a._init;try{return Qa(a(b))}catch(c){}}return null}\nfunction Ra(a){var b=a.type;switch(a.tag){case 24:return\"Cache\";case 9:return(b.displayName||\"Context\")+\".Consumer\";case 10:return(b._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return a=b.render,a=a.displayName||a.name||\"\",b.displayName||(\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return b;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return Qa(b);case 8:return b===za?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";\ncase 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(\"function\"===typeof b)return b.displayName||b.name||null;if(\"string\"===typeof b)return b}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"string\":case \"undefined\":return a;case \"object\":return a;default:return\"\"}}\nfunction Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return u({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function $a(a,b){b=b.checked;null!=b&&ua(a,\"checked\",b,!1)}\nfunction ab(a,b){$a(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?bb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&bb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction cb(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction bb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}var db=Array.isArray;\nfunction eb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e<c.length;e++)b[\"$\"+c[e]]=!0;for(c=0;c<a.length;c++)e=b.hasOwnProperty(\"$\"+a[c].value),a[c].selected!==e&&(a[c].selected=e),e&&d&&(a[c].defaultSelected=!0)}else{c=\"\"+Sa(c);b=null;for(e=0;e<a.length;e++){if(a[e].value===c){a[e].selected=!0;d&&(a[e].defaultSelected=!0);return}null!==b||a[e].disabled||(b=a[e])}null!==b&&(b.selected=!0)}}\nfunction fb(a,b){if(null!=b.dangerouslySetInnerHTML)throw Error(p(91));return u({},b,{value:void 0,defaultValue:void 0,children:\"\"+a._wrapperState.initialValue})}function gb(a,b){var c=b.value;if(null==c){c=b.children;b=b.defaultValue;if(null!=c){if(null!=b)throw Error(p(92));if(db(c)){if(1<c.length)throw Error(p(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:Sa(c)}}\nfunction hb(a,b){var c=Sa(b.value),d=Sa(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function ib(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}function jb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}\nfunction kb(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?jb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar lb,mb=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(\"http://www.w3.org/2000/svg\"!==a.namespaceURI||\"innerHTML\"in a)a.innerHTML=b;else{lb=lb||document.createElement(\"div\");lb.innerHTML=\"<svg>\"+b.valueOf().toString()+\"</svg>\";for(b=lb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction nb(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar pb={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,\nzoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(pb).forEach(function(a){qb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);pb[b]=pb[a]})});function rb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||pb.hasOwnProperty(a)&&pb[a]?(\"\"+b).trim():b+\"px\"}\nfunction sb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=rb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var tb=u({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction ub(a,b){if(b){if(tb[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(p(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(p(60));if(\"object\"!==typeof b.dangerouslySetInnerHTML||!(\"__html\"in b.dangerouslySetInnerHTML))throw Error(p(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(p(62));}}\nfunction vb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){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 wb=null;function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(p(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;a<b.length;a++)Bb(b[a])}}function Gb(a,b){return a(b)}function Hb(){}var Ib=!1;function Jb(a,b,c){if(Ib)return a(b,c);Ib=!0;try{return Gb(a,b,c)}finally{if(Ib=!1,null!==zb||null!==Ab)Hb(),Fb()}}\nfunction Kb(a,b){var c=a.stateNode;if(null===c)return null;var d=Db(c);if(null===d)return null;c=d[b];a:switch(b){case \"onClick\":case \"onClickCapture\":case \"onDoubleClick\":case \"onDoubleClickCapture\":case \"onMouseDown\":case \"onMouseDownCapture\":case \"onMouseMove\":case \"onMouseMoveCapture\":case \"onMouseUp\":case \"onMouseUpCapture\":case \"onMouseEnter\":(d=!d.disabled)||(a=a.type,d=!(\"button\"===a||\"input\"===a||\"select\"===a||\"textarea\"===a));a=!d;break a;default:a=!1}if(a)return null;if(c&&\"function\"!==\ntypeof c)throw Error(p(231,b,typeof c));return c}var Lb=!1;if(ia)try{var Mb={};Object.defineProperty(Mb,\"passive\",{get:function(){Lb=!0}});window.addEventListener(\"test\",Mb,Mb);window.removeEventListener(\"test\",Mb,Mb)}catch(a){Lb=!1}function Nb(a,b,c,d,e,f,g,h,k){var l=Array.prototype.slice.call(arguments,3);try{b.apply(c,l)}catch(n){this.onError(n)}}var Ob=!1,Pb=null,Qb=!1,Rb=null,Sb={onError:function(a){Ob=!0;Pb=a}};function Tb(a,b,c,d,e,f,g,h,k){Ob=!1;Pb=null;Nb.apply(Sb,arguments)}\nfunction Ub(a,b,c,d,e,f,g,h,k){Tb.apply(this,arguments);if(Ob){if(Ob){var l=Pb;Ob=!1;Pb=null}else throw Error(p(198));Qb||(Qb=!0,Rb=l)}}function Vb(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else{a=b;do b=a,0!==(b.flags&4098)&&(c=b.return),a=b.return;while(a)}return 3===b.tag?c:null}function Wb(a){if(13===a.tag){var b=a.memoizedState;null===b&&(a=a.alternate,null!==a&&(b=a.memoizedState));if(null!==b)return b.dehydrated}return null}function Xb(a){if(Vb(a)!==a)throw Error(p(188));}\nfunction Yb(a){var b=a.alternate;if(!b){b=Vb(a);if(null===b)throw Error(p(188));return b!==a?null:a}for(var c=a,d=b;;){var e=c.return;if(null===e)break;var f=e.alternate;if(null===f){d=e.return;if(null!==d){c=d;continue}break}if(e.child===f.child){for(f=e.child;f;){if(f===c)return Xb(e),a;if(f===d)return Xb(e),b;f=f.sibling}throw Error(p(188));}if(c.return!==d.return)c=e,d=f;else{for(var g=!1,h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===\nc){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}if(!g)throw Error(p(189));}}if(c.alternate!==d)throw Error(p(190));}if(3!==c.tag)throw Error(p(188));return c.stateNode.current===c?a:b}function Zb(a){a=Yb(a);return null!==a?$b(a):null}function $b(a){if(5===a.tag||6===a.tag)return a;for(a=a.child;null!==a;){var b=$b(a);if(null!==b)return b;a=a.sibling}return null}\nvar ac=ba.unstable_scheduleCallback,bc=ba.unstable_cancelCallback,cc=ba.unstable_shouldYield,dc=ba.unstable_requestPaint,A=ba.unstable_now,ec=ba.unstable_getCurrentPriorityLevel,fc=ba.unstable_ImmediatePriority,gc=ba.unstable_UserBlockingPriority,hc=ba.unstable_NormalPriority,ic=ba.unstable_LowPriority,jc=ba.unstable_IdlePriority,kc=null,lc=null,B=null,mc=\"undefined\"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__;\nfunction nc(a,b){if(lc&&\"function\"===typeof lc.onCommitFiberRoot)try{var c=128===(a.current.flags&128);switch(b){case 1:var d=fc;break;case 4:d=gc;break;case 16:d=hc;break;case 536870912:d=jc;break;default:d=hc}lc.onCommitFiberRoot(kc,a,d,c)}catch(e){}}function oc(a){B=a}function pc(){for(var a=new Map,b=1,c=0;31>c;c++){var d=qc(b);a.set(b,d);b*=2}return a}function rc(){null!==B&&\"function\"===typeof B.markCommitStopped&&B.markCommitStopped()}\nfunction sc(a){null!==B&&\"function\"===typeof B.markComponentRenderStarted&&B.markComponentRenderStarted(a)}function tc(){null!==B&&\"function\"===typeof B.markComponentRenderStopped&&B.markComponentRenderStopped()}function uc(a){null!==B&&\"function\"===typeof B.markComponentLayoutEffectUnmountStarted&&B.markComponentLayoutEffectUnmountStarted(a)}function vc(){null!==B&&\"function\"===typeof B.markComponentLayoutEffectUnmountStopped&&B.markComponentLayoutEffectUnmountStopped()}\nfunction wc(a){null!==B&&\"function\"===typeof B.markRenderStarted&&B.markRenderStarted(a)}function xc(){null!==B&&\"function\"===typeof B.markRenderStopped&&B.markRenderStopped()}function yc(a,b){null!==B&&\"function\"===typeof B.markStateUpdateScheduled&&B.markStateUpdateScheduled(a,b)}var Ac=Math.clz32?Math.clz32:zc,Bc=Math.log,Cc=Math.LN2;function zc(a){a>>>=0;return 0===a?32:31-(Bc(a)/Cc|0)|0}\nfunction qc(a){if(a&1)return\"Sync\";if(a&2)return\"InputContinuousHydration\";if(a&4)return\"InputContinuous\";if(a&8)return\"DefaultHydration\";if(a&16)return\"Default\";if(a&32)return\"TransitionHydration\";if(a&4194240)return\"Transition\";if(a&130023424)return\"Retry\";if(a&134217728)return\"SelectiveHydration\";if(a&268435456)return\"IdleHydration\";if(a&536870912)return\"Idle\";if(a&1073741824)return\"Offscreen\"}var Dc=64,Ec=4194304;\nfunction Fc(a){switch(a&-a){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: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 a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;\ndefault:return a}}function Gc(a,b){var c=a.pendingLanes;if(0===c)return 0;var d=0,e=a.suspendedLanes,f=a.pingedLanes,g=c&268435455;if(0!==g){var h=g&~e;0!==h?d=Fc(h):(f&=g,0!==f&&(d=Fc(f)))}else g=c&~e,0!==g?d=Fc(g):0!==f&&(d=Fc(f));if(0===d)return 0;if(0!==b&&b!==d&&0===(b&e)&&(e=d&-d,f=b&-b,e>=f||16===e&&0!==(f&4194240)))return b;0!==(d&4)&&(d|=c&16);b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0<b;)c=31-Ac(b),e=1<<c,d|=a[c],b&=~e;return d}\nfunction Hc(a,b){switch(a){case 1:case 2:case 4:return b+250;case 8:case 16:case 32:case 64: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 b+5E3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}\nfunction Ic(a,b){for(var c=a.suspendedLanes,d=a.pingedLanes,e=a.expirationTimes,f=a.pendingLanes;0<f;){var g=31-Ac(f),h=1<<g,k=e[g];if(-1===k){if(0===(h&c)||0!==(h&d))e[g]=Hc(h,b)}else k<=b&&(a.expiredLanes|=h);f&=~h}}function Jc(a){a=a.pendingLanes&-1073741825;return 0!==a?a:a&1073741824?1073741824:0}function Kc(){var a=Dc;Dc<<=1;0===(Dc&4194240)&&(Dc=64);return a}function Lc(a){for(var b=[],c=0;31>c;c++)b.push(a);return b}\nfunction Mc(a,b,c){a.pendingLanes|=b;536870912!==b&&(a.suspendedLanes=0,a.pingedLanes=0);a=a.eventTimes;b=31-Ac(b);a[b]=c}function Nc(a,b){var c=a.pendingLanes&~b;a.pendingLanes=b;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=b;a.mutableReadLanes&=b;a.entangledLanes&=b;b=a.entanglements;var d=a.eventTimes;for(a=a.expirationTimes;0<c;){var e=31-Ac(c),f=1<<e;b[e]=0;d[e]=-1;a[e]=-1;c&=~f}}\nfunction Oc(a,b){var c=a.entangledLanes|=b;for(a=a.entanglements;c;){var d=31-Ac(c),e=1<<d;e&b|a[d]&b&&(a[d]|=b);c&=~e}}function Pc(a,b,c){if(mc)for(a=a.pendingUpdatersLaneMap;0<c;){var d=31-Ac(c),e=1<<d;a[d].add(b);c&=~e}}function Qc(a,b){if(mc)for(var c=a.pendingUpdatersLaneMap,d=a.memoizedUpdaters;0<b;){var e=31-Ac(b);a=1<<e;e=c[e];0<e.size&&(e.forEach(function(a){var b=a.alternate;null!==b&&d.has(b)||d.add(a)}),e.clear());b&=~a}}var E=0;\nfunction Rc(a){a&=-a;return 1<a?4<a?0!==(a&268435455)?16:536870912:4:1}var Sc,Tc,Uc,Vc,Wc,Xc=!1,Yc=[],Zc=null,$c=null,ad=null,bd=new Map,cd=new Map,dd=[],ed=\"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 submit\".split(\" \");\nfunction fd(a,b){switch(a){case \"focusin\":case \"focusout\":Zc=null;break;case \"dragenter\":case \"dragleave\":$c=null;break;case \"mouseover\":case \"mouseout\":ad=null;break;case \"pointerover\":case \"pointerout\":bd.delete(b.pointerId);break;case \"gotpointercapture\":case \"lostpointercapture\":cd.delete(b.pointerId)}}\nfunction gd(a,b,c,d,e,f){if(null===a||a.nativeEvent!==f)return a={blockedOn:b,domEventName:c,eventSystemFlags:d,nativeEvent:f,targetContainers:[e]},null!==b&&(b=Cb(b),null!==b&&Tc(b)),a;a.eventSystemFlags|=d;b=a.targetContainers;null!==e&&-1===b.indexOf(e)&&b.push(e);return a}\nfunction hd(a,b,c,d,e){switch(b){case \"focusin\":return Zc=gd(Zc,a,b,c,d,e),!0;case \"dragenter\":return $c=gd($c,a,b,c,d,e),!0;case \"mouseover\":return ad=gd(ad,a,b,c,d,e),!0;case \"pointerover\":var f=e.pointerId;bd.set(f,gd(bd.get(f)||null,a,b,c,d,e));return!0;case \"gotpointercapture\":return f=e.pointerId,cd.set(f,gd(cd.get(f)||null,a,b,c,d,e)),!0}return!1}\nfunction id(a){var b=jd(a.target);if(null!==b){var c=Vb(b);if(null!==c)if(b=c.tag,13===b){if(b=Wb(c),null!==b){a.blockedOn=b;Wc(a.priority,function(){Uc(c)});return}}else if(3===b&&c.stateNode.current.memoizedState.isDehydrated){a.blockedOn=3===c.tag?c.stateNode.containerInfo:null;return}}a.blockedOn=null}\nfunction kd(a){if(null!==a.blockedOn)return!1;for(var b=a.targetContainers;0<b.length;){var c=ld(a.domEventName,a.eventSystemFlags,b[0],a.nativeEvent);if(null===c){c=a.nativeEvent;var d=new c.constructor(c.type,c);wb=d;c.target.dispatchEvent(d);wb=null}else return b=Cb(c),null!==b&&Tc(b),a.blockedOn=c,!1;b.shift()}return!0}function md(a,b,c){kd(a)&&c.delete(b)}function nd(){Xc=!1;null!==Zc&&kd(Zc)&&(Zc=null);null!==$c&&kd($c)&&($c=null);null!==ad&&kd(ad)&&(ad=null);bd.forEach(md);cd.forEach(md)}\nfunction od(a,b){a.blockedOn===b&&(a.blockedOn=null,Xc||(Xc=!0,ba.unstable_scheduleCallback(ba.unstable_NormalPriority,nd)))}\nfunction pd(a){function b(b){return od(b,a)}if(0<Yc.length){od(Yc[0],a);for(var c=1;c<Yc.length;c++){var d=Yc[c];d.blockedOn===a&&(d.blockedOn=null)}}null!==Zc&&od(Zc,a);null!==$c&&od($c,a);null!==ad&&od(ad,a);bd.forEach(b);cd.forEach(b);for(c=0;c<dd.length;c++)d=dd[c],d.blockedOn===a&&(d.blockedOn=null);for(;0<dd.length&&(c=dd[0],null===c.blockedOn);)id(c),null===c.blockedOn&&dd.shift()}var qd=va.ReactCurrentBatchConfig,rd=!0;\nfunction sd(a,b,c,d){var e=E,f=qd.transition;qd.transition=null;try{E=1,td(a,b,c,d)}finally{E=e,qd.transition=f}}function ud(a,b,c,d){var e=E,f=qd.transition;qd.transition=null;try{E=4,td(a,b,c,d)}finally{E=e,qd.transition=f}}\nfunction td(a,b,c,d){if(rd){var e=ld(a,b,c,d);if(null===e)vd(a,b,d,wd,c),fd(a,d);else if(hd(e,a,b,c,d))d.stopPropagation();else if(fd(a,d),b&4&&-1<ed.indexOf(a)){for(;null!==e;){var f=Cb(e);null!==f&&Sc(f);f=ld(a,b,c,d);null===f&&vd(a,b,d,wd,c);if(f===e)break;e=f}null!==e&&d.stopPropagation()}else vd(a,b,d,null,c)}}var wd=null;\nfunction ld(a,b,c,d){wd=null;a=xb(d);a=jd(a);if(null!==a)if(b=Vb(a),null===b)a=null;else if(c=b.tag,13===c){a=Wb(b);if(null!==a)return a;a=null}else if(3===c){if(b.stateNode.current.memoizedState.isDehydrated)return 3===b.tag?b.stateNode.containerInfo:null;a=null}else b!==a&&(a=null);wd=a;return null}\nfunction xd(a){switch(a){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 \"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 1;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 \"toggle\":case \"touchmove\":case \"wheel\":case \"mouseenter\":case \"mouseleave\":case \"pointerenter\":case \"pointerleave\":return 4;\ncase \"message\":switch(ec()){case fc:return 1;case gc:return 4;case hc:case ic:return 16;case jc:return 536870912;default:return 16}default:return 16}}var yd=null,zd=null,Ad=null;function Bd(){if(Ad)return Ad;var a,b=zd,c=b.length,d,e=\"value\"in yd?yd.value:yd.textContent,f=e.length;for(a=0;a<c&&b[a]===e[a];a++);var g=c-a;for(d=1;d<=g&&b[c-d]===e[f-d];d++);return Ad=e.slice(a,1<d?1-d:void 0)}\nfunction Cd(a){var b=a.keyCode;\"charCode\"in a?(a=a.charCode,0===a&&13===b&&(a=13)):a=b;10===a&&(a=13);return 32<=a||13===a?a:0}function Dd(){return!0}function Ed(){return!1}\nfunction Fd(a){function b(b,d,e,f,g){this._reactName=b;this._targetInst=e;this.type=d;this.nativeEvent=f;this.target=g;this.currentTarget=null;for(var c in a)a.hasOwnProperty(c)&&(b=a[c],this[c]=b?b(f):f[c]);this.isDefaultPrevented=(null!=f.defaultPrevented?f.defaultPrevented:!1===f.returnValue)?Dd:Ed;this.isPropagationStopped=Ed;return this}u(b.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():\"unknown\"!==typeof a.returnValue&&\n(a.returnValue=!1),this.isDefaultPrevented=Dd)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():\"unknown\"!==typeof a.cancelBubble&&(a.cancelBubble=!0),this.isPropagationStopped=Dd)},persist:function(){},isPersistent:Dd});return b}\nvar Gd={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(a){return a.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Hd=Fd(Gd),Id=u({},Gd,{view:0,detail:0}),Jd=Fd(Id),Kd,Ld,Md,Od=u({},Id,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Nd,button:0,buttons:0,relatedTarget:function(a){return void 0===a.relatedTarget?a.fromElement===a.srcElement?a.toElement:a.fromElement:a.relatedTarget},movementX:function(a){if(\"movementX\"in\na)return a.movementX;a!==Md&&(Md&&\"mousemove\"===a.type?(Kd=a.screenX-Md.screenX,Ld=a.screenY-Md.screenY):Ld=Kd=0,Md=a);return Kd},movementY:function(a){return\"movementY\"in a?a.movementY:Ld}}),Pd=Fd(Od),Qd=u({},Od,{dataTransfer:0}),Rd=Fd(Qd),Sd=u({},Id,{relatedTarget:0}),Td=Fd(Sd),Ud=u({},Gd,{animationName:0,elapsedTime:0,pseudoElement:0}),Vd=Fd(Ud),Wd=u({},Gd,{clipboardData:function(a){return\"clipboardData\"in a?a.clipboardData:window.clipboardData}}),Xd=Fd(Wd),Yd=u({},Gd,{data:0}),Zd=Fd(Yd),$d={Esc:\"Escape\",\nSpacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},ae={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\",\n119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"},be={Alt:\"altKey\",Control:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};function ce(a){var b=this.nativeEvent;return b.getModifierState?b.getModifierState(a):(a=be[a])?!!b[a]:!1}function Nd(){return ce}\nvar de=u({},Id,{key:function(a){if(a.key){var b=$d[a.key]||a.key;if(\"Unidentified\"!==b)return b}return\"keypress\"===a.type?(a=Cd(a),13===a?\"Enter\":String.fromCharCode(a)):\"keydown\"===a.type||\"keyup\"===a.type?ae[a.keyCode]||\"Unidentified\":\"\"},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Nd,charCode:function(a){return\"keypress\"===a.type?Cd(a):0},keyCode:function(a){return\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0},which:function(a){return\"keypress\"===\na.type?Cd(a):\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0}}),ee=Fd(de),fe=u({},Od,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),ge=Fd(fe),he=u({},Id,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Nd}),ie=Fd(he),je=u({},Gd,{propertyName:0,elapsedTime:0,pseudoElement:0}),ke=Fd(je),le=u({},Od,{deltaX:function(a){return\"deltaX\"in a?a.deltaX:\"wheelDeltaX\"in a?-a.wheelDeltaX:0},\ndeltaY:function(a){return\"deltaY\"in a?a.deltaY:\"wheelDeltaY\"in a?-a.wheelDeltaY:\"wheelDelta\"in a?-a.wheelDelta:0},deltaZ:0,deltaMode:0}),me=Fd(le),ne=[9,13,27,32],oe=ia&&\"CompositionEvent\"in window,pe=null;ia&&\"documentMode\"in document&&(pe=document.documentMode);var qe=ia&&\"TextEvent\"in window&&!pe,re=ia&&(!oe||pe&&8<pe&&11>=pe),se=String.fromCharCode(32),te=!1;\nfunction ue(a,b){switch(a){case \"keyup\":return-1!==ne.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function ve(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var we=!1;function xe(a,b){switch(a){case \"compositionend\":return ve(b);case \"keypress\":if(32!==b.which)return null;te=!0;return se;case \"textInput\":return a=b.data,a===se&&te?null:a;default:return null}}\nfunction ye(a,b){if(we)return\"compositionend\"===a||!oe&&ue(a,b)?(a=Bd(),Ad=zd=yd=null,we=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1<b.char.length)return b.char;if(b.which)return String.fromCharCode(b.which)}return null;case \"compositionend\":return re&&\"ko\"!==b.locale?null:b.data;default:return null}}\nvar ze={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 Ae(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return\"input\"===b?!!ze[a.type]:\"textarea\"===b?!0:!1}function Be(a,b,c,d){Eb(d);b=Ce(b,\"onChange\");0<b.length&&(c=new Hd(\"onChange\",\"change\",null,c,d),a.push({event:c,listeners:b}))}var De=null,Ee=null;function Fe(a){Ge(a,0)}function He(a){var b=Ie(a);if(Wa(b))return a}\nfunction Je(a,b){if(\"change\"===a)return b}var Ke=!1;if(ia){var Le;if(ia){var Me=\"oninput\"in document;if(!Me){var Ne=document.createElement(\"div\");Ne.setAttribute(\"oninput\",\"return;\");Me=\"function\"===typeof Ne.oninput}Le=Me}else Le=!1;Ke=Le&&(!document.documentMode||9<document.documentMode)}function Oe(){De&&(De.detachEvent(\"onpropertychange\",Pe),Ee=De=null)}function Pe(a){if(\"value\"===a.propertyName&&He(Ee)){var b=[];Be(b,Ee,a,xb(a));Jb(Fe,b)}}\nfunction Qe(a,b,c){\"focusin\"===a?(Oe(),De=b,Ee=c,De.attachEvent(\"onpropertychange\",Pe)):\"focusout\"===a&&Oe()}function Re(a){if(\"selectionchange\"===a||\"keyup\"===a||\"keydown\"===a)return He(Ee)}function Se(a,b){if(\"click\"===a)return He(b)}function Te(a,b){if(\"input\"===a||\"change\"===a)return He(b)}function Ue(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var Ve=\"function\"===typeof Object.is?Object.is:Ue;\nfunction We(a,b){if(Ve(a,b))return!0;if(\"object\"!==typeof a||null===a||\"object\"!==typeof b||null===b)return!1;var c=Object.keys(a),d=Object.keys(b);if(c.length!==d.length)return!1;for(d=0;d<c.length;d++){var e=c[d];if(!ja.call(b,e)||!Ve(a[e],b[e]))return!1}return!0}function Xe(a){for(;a&&a.firstChild;)a=a.firstChild;return a}\nfunction Ye(a,b){var c=Xe(a);a=0;for(var d;c;){if(3===c.nodeType){d=a+c.textContent.length;if(a<=b&&d>=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Xe(c)}}function Ze(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Ze(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction $e(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function af(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nfunction bf(a){var b=$e(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Ze(c.ownerDocument.documentElement,c)){if(null!==d&&af(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Ye(c,f);var g=Ye(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c<b.length;c++)a=b[c],a.element.scrollLeft=a.left,a.element.scrollTop=a.top}}\nvar cf=ia&&\"documentMode\"in document&&11>=document.documentMode,df=null,ef=null,ff=null,gf=!1;\nfunction hf(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;gf||null==df||df!==Xa(d)||(d=df,\"selectionStart\"in d&&af(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),ff&&We(ff,d)||(ff=d,d=Ce(ef,\"onSelect\"),0<d.length&&(b=new Hd(\"onSelect\",\"select\",null,b,c),a.push({event:b,listeners:d}),b.target=df)))}\nfunction jf(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\"Webkit\"+a]=\"webkit\"+b;c[\"Moz\"+a]=\"moz\"+b;return c}var kf={animationend:jf(\"Animation\",\"AnimationEnd\"),animationiteration:jf(\"Animation\",\"AnimationIteration\"),animationstart:jf(\"Animation\",\"AnimationStart\"),transitionend:jf(\"Transition\",\"TransitionEnd\")},lf={},mf={};\nia&&(mf=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete kf.animationend.animation,delete kf.animationiteration.animation,delete kf.animationstart.animation),\"TransitionEvent\"in window||delete kf.transitionend.transition);function nf(a){if(lf[a])return lf[a];if(!kf[a])return a;var b=kf[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in mf)return lf[a]=b[c];return a}var of=nf(\"animationend\"),pf=nf(\"animationiteration\"),qf=nf(\"animationstart\"),rf=nf(\"transitionend\"),sf=new Map,tf=\"abort auxClick 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(\" \");\nfunction uf(a,b){sf.set(a,b);fa(b,[a])}for(var vf=0;vf<tf.length;vf++){var wf=tf[vf],xf=wf.toLowerCase(),yf=wf[0].toUpperCase()+wf.slice(1);uf(xf,\"on\"+yf)}uf(of,\"onAnimationEnd\");uf(pf,\"onAnimationIteration\");uf(qf,\"onAnimationStart\");uf(\"dblclick\",\"onDoubleClick\");uf(\"focusin\",\"onFocus\");uf(\"focusout\",\"onBlur\");uf(rf,\"onTransitionEnd\");ha(\"onMouseEnter\",[\"mouseout\",\"mouseover\"]);ha(\"onMouseLeave\",[\"mouseout\",\"mouseover\"]);ha(\"onPointerEnter\",[\"pointerout\",\"pointerover\"]);\nha(\"onPointerLeave\",[\"pointerout\",\"pointerover\"]);fa(\"onChange\",\"change click focusin focusout input keydown keyup selectionchange\".split(\" \"));fa(\"onSelect\",\"focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange\".split(\" \"));fa(\"onBeforeInput\",[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]);fa(\"onCompositionEnd\",\"compositionend focusout keydown keypress keyup mousedown\".split(\" \"));fa(\"onCompositionStart\",\"compositionstart focusout keydown keypress keyup mousedown\".split(\" \"));\nfa(\"onCompositionUpdate\",\"compositionupdate focusout keydown keypress keyup mousedown\".split(\" \"));var zf=\"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(\" \"),Af=new Set(\"cancel close invalid load scroll toggle\".split(\" \").concat(zf));\nfunction Bf(a,b,c){var d=a.type||\"unknown-event\";a.currentTarget=c;Ub(d,b,void 0,a);a.currentTarget=null}\nfunction Ge(a,b){b=0!==(b&4);for(var c=0;c<a.length;c++){var d=a[c],e=d.event;d=d.listeners;a:{var f=void 0;if(b)for(var g=d.length-1;0<=g;g--){var h=d[g],k=h.instance,l=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;Bf(e,h,l);f=k}else for(g=0;g<d.length;g++){h=d[g];k=h.instance;l=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;Bf(e,h,l);f=k}}}if(Qb)throw a=Rb,Qb=!1,Rb=null,a;}\nfunction F(a,b){var c=b[Cf];void 0===c&&(c=b[Cf]=new Set);var d=a+\"__bubble\";c.has(d)||(Df(b,a,2,!1),c.add(d))}function Ef(a,b,c){var d=0;b&&(d|=4);Df(c,a,d,b)}var Ff=\"_reactListening\"+Math.random().toString(36).slice(2);function Gf(a){if(!a[Ff]){a[Ff]=!0;da.forEach(function(b){\"selectionchange\"!==b&&(Af.has(b)||Ef(b,!1,a),Ef(b,!0,a))});var b=9===a.nodeType?a:a.ownerDocument;null===b||b[Ff]||(b[Ff]=!0,Ef(\"selectionchange\",!1,b))}}\nfunction Df(a,b,c,d){switch(xd(b)){case 1:var e=sd;break;case 4:e=ud;break;default:e=td}c=e.bind(null,b,c,a);e=void 0;!Lb||\"touchstart\"!==b&&\"touchmove\"!==b&&\"wheel\"!==b||(e=!0);d?void 0!==e?a.addEventListener(b,c,{capture:!0,passive:e}):a.addEventListener(b,c,!0):void 0!==e?a.addEventListener(b,c,{passive:e}):a.addEventListener(b,c,!1)}\nfunction vd(a,b,c,d,e){var f=d;if(0===(b&1)&&0===(b&2)&&null!==d)a:for(;;){if(null===d)return;var g=d.tag;if(3===g||4===g){var h=d.stateNode.containerInfo;if(h===e||8===h.nodeType&&h.parentNode===e)break;if(4===g)for(g=d.return;null!==g;){var k=g.tag;if(3===k||4===k)if(k=g.stateNode.containerInfo,k===e||8===k.nodeType&&k.parentNode===e)return;g=g.return}for(;null!==h;){g=jd(h);if(null===g)return;k=g.tag;if(5===k||6===k){d=f=g;continue a}h=h.parentNode}}d=d.return}Jb(function(){var d=f,e=xb(c),g=[];\na:{var h=sf.get(a);if(void 0!==h){var k=Hd,m=a;switch(a){case \"keypress\":if(0===Cd(c))break a;case \"keydown\":case \"keyup\":k=ee;break;case \"focusin\":m=\"focus\";k=Td;break;case \"focusout\":m=\"blur\";k=Td;break;case \"beforeblur\":case \"afterblur\":k=Td;break;case \"click\":if(2===c.button)break a;case \"auxclick\":case \"dblclick\":case \"mousedown\":case \"mousemove\":case \"mouseup\":case \"mouseout\":case \"mouseover\":case \"contextmenu\":k=Pd;break;case \"drag\":case \"dragend\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"dragstart\":case \"drop\":k=\nRd;break;case \"touchcancel\":case \"touchend\":case \"touchmove\":case \"touchstart\":k=ie;break;case of:case pf:case qf:k=Vd;break;case rf:k=ke;break;case \"scroll\":k=Jd;break;case \"wheel\":k=me;break;case \"copy\":case \"cut\":case \"paste\":k=Xd;break;case \"gotpointercapture\":case \"lostpointercapture\":case \"pointercancel\":case \"pointerdown\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"pointerup\":k=ge}var w=0!==(b&4),C=!w&&\"scroll\"===a,x=w?null!==h?h+\"Capture\":null:h;w=[];for(var y=d,v;null!==\ny;){v=y;var D=v.stateNode;5===v.tag&&null!==D&&(v=D,null!==x&&(D=Kb(y,x),null!=D&&w.push(Hf(y,D,v))));if(C)break;y=y.return}0<w.length&&(h=new k(h,m,null,c,e),g.push({event:h,listeners:w}))}}if(0===(b&7)){a:{h=\"mouseover\"===a||\"pointerover\"===a;k=\"mouseout\"===a||\"pointerout\"===a;if(h&&c!==wb&&(m=c.relatedTarget||c.fromElement)&&(jd(m)||m[If]))break a;if(k||h){h=e.window===e?e:(h=e.ownerDocument)?h.defaultView||h.parentWindow:window;if(k){if(m=c.relatedTarget||c.toElement,k=d,m=m?jd(m):null,null!==\nm&&(C=Vb(m),m!==C||5!==m.tag&&6!==m.tag))m=null}else k=null,m=d;if(k!==m){w=Pd;D=\"onMouseLeave\";x=\"onMouseEnter\";y=\"mouse\";if(\"pointerout\"===a||\"pointerover\"===a)w=ge,D=\"onPointerLeave\",x=\"onPointerEnter\",y=\"pointer\";C=null==k?h:Ie(k);v=null==m?h:Ie(m);h=new w(D,y+\"leave\",k,c,e);h.target=C;h.relatedTarget=v;D=null;jd(e)===d&&(w=new w(x,y+\"enter\",m,c,e),w.target=v,w.relatedTarget=C,D=w);C=D;if(k&&m)b:{w=k;x=m;y=0;for(v=w;v;v=Jf(v))y++;v=0;for(D=x;D;D=Jf(D))v++;for(;0<y-v;)w=Jf(w),y--;for(;0<v-y;)x=\nJf(x),v--;for(;y--;){if(w===x||null!==x&&w===x.alternate)break b;w=Jf(w);x=Jf(x)}w=null}else w=null;null!==k&&Kf(g,h,k,w,!1);null!==m&&null!==C&&Kf(g,C,m,w,!0)}}}a:{h=d?Ie(d):window;k=h.nodeName&&h.nodeName.toLowerCase();if(\"select\"===k||\"input\"===k&&\"file\"===h.type)var ca=Je;else if(Ae(h))if(Ke)ca=Te;else{ca=Re;var R=Qe}else(k=h.nodeName)&&\"input\"===k.toLowerCase()&&(\"checkbox\"===h.type||\"radio\"===h.type)&&(ca=Se);if(ca&&(ca=ca(a,d))){Be(g,ca,c,e);break a}R&&R(a,h,d);\"focusout\"===a&&(R=h._wrapperState)&&\nR.controlled&&\"number\"===h.type&&bb(h,\"number\",h.value)}R=d?Ie(d):window;switch(a){case \"focusin\":if(Ae(R)||\"true\"===R.contentEditable)df=R,ef=d,ff=null;break;case \"focusout\":ff=ef=df=null;break;case \"mousedown\":gf=!0;break;case \"contextmenu\":case \"mouseup\":case \"dragend\":gf=!1;hf(g,c,e);break;case \"selectionchange\":if(cf)break;case \"keydown\":case \"keyup\":hf(g,c,e)}var sa;if(oe)b:{switch(a){case \"compositionstart\":var V=\"onCompositionStart\";break b;case \"compositionend\":V=\"onCompositionEnd\";break b;\ncase \"compositionupdate\":V=\"onCompositionUpdate\";break b}V=void 0}else we?ue(a,c)&&(V=\"onCompositionEnd\"):\"keydown\"===a&&229===c.keyCode&&(V=\"onCompositionStart\");V&&(re&&\"ko\"!==c.locale&&(we||\"onCompositionStart\"!==V?\"onCompositionEnd\"===V&&we&&(sa=Bd()):(yd=e,zd=\"value\"in yd?yd.value:yd.textContent,we=!0)),R=Ce(d,V),0<R.length&&(V=new Zd(V,a,null,c,e),g.push({event:V,listeners:R}),sa?V.data=sa:(sa=ve(c),null!==sa&&(V.data=sa))));if(sa=qe?xe(a,c):ye(a,c))d=Ce(d,\"onBeforeInput\"),0<d.length&&(e=new Zd(\"onBeforeInput\",\n\"beforeinput\",null,c,e),g.push({event:e,listeners:d}),e.data=sa)}Ge(g,b)})}function Hf(a,b,c){return{instance:a,listener:b,currentTarget:c}}function Ce(a,b){for(var c=b+\"Capture\",d=[];null!==a;){var e=a,f=e.stateNode;5===e.tag&&null!==f&&(e=f,f=Kb(a,c),null!=f&&d.unshift(Hf(a,f,e)),f=Kb(a,b),null!=f&&d.push(Hf(a,f,e)));a=a.return}return d}function Jf(a){if(null===a)return null;do a=a.return;while(a&&5!==a.tag);return a?a:null}\nfunction Kf(a,b,c,d,e){for(var f=b._reactName,g=[];null!==c&&c!==d;){var h=c,k=h.alternate,l=h.stateNode;if(null!==k&&k===d)break;5===h.tag&&null!==l&&(h=l,e?(k=Kb(c,f),null!=k&&g.unshift(Hf(c,k,h))):e||(k=Kb(c,f),null!=k&&g.push(Hf(c,k,h))));c=c.return}0!==g.length&&a.push({event:b,listeners:g})}var Lf=/\\r\\n?/g,Mf=/\\u0000|\\uFFFD/g;function Nf(a){return(\"string\"===typeof a?a:\"\"+a).replace(Lf,\"\\n\").replace(Mf,\"\")}function Of(a,b,c){b=Nf(b);if(Nf(a)!==b&&c)throw Error(p(425));}function Pf(){}\nvar Qf=null,Rf=null;function Sf(a,b){return\"textarea\"===a||\"noscript\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html}\nvar Tf=\"function\"===typeof setTimeout?setTimeout:void 0,Uf=\"function\"===typeof clearTimeout?clearTimeout:void 0,Vf=\"function\"===typeof Promise?Promise:void 0,Xf=\"function\"===typeof queueMicrotask?queueMicrotask:\"undefined\"!==typeof Vf?function(a){return Vf.resolve(null).then(a).catch(Wf)}:Tf;function Wf(a){setTimeout(function(){throw a;})}\nfunction Yf(a,b){var c=b,d=0;do{var e=c.nextSibling;a.removeChild(c);if(e&&8===e.nodeType)if(c=e.data,\"/$\"===c){if(0===d){a.removeChild(e);pd(b);return}d--}else\"$\"!==c&&\"$?\"!==c&&\"$!\"!==c||d++;c=e}while(c);pd(b)}function Zf(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break;if(8===b){b=a.data;if(\"$\"===b||\"$!\"===b||\"$?\"===b)break;if(\"/$\"===b)return null}}return a}\nfunction $f(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){var c=a.data;if(\"$\"===c||\"$!\"===c||\"$?\"===c){if(0===b)return a;b--}else\"/$\"===c&&b++}a=a.previousSibling}return null}var ag=Math.random().toString(36).slice(2),bg=\"__reactFiber$\"+ag,cg=\"__reactProps$\"+ag,If=\"__reactContainer$\"+ag,Cf=\"__reactEvents$\"+ag,dg=\"__reactListeners$\"+ag,eg=\"__reactHandles$\"+ag;\nfunction jd(a){var b=a[bg];if(b)return b;for(var c=a.parentNode;c;){if(b=c[If]||c[bg]){c=b.alternate;if(null!==b.child||null!==c&&null!==c.child)for(a=$f(a);null!==a;){if(c=a[bg])return c;a=$f(a)}return b}a=c;c=a.parentNode}return null}function Cb(a){a=a[bg]||a[If];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag&&3!==a.tag?null:a}function Ie(a){if(5===a.tag||6===a.tag)return a.stateNode;throw Error(p(33));}function Db(a){return a[cg]||null}var fg=[],gg=-1;function hg(a){return{current:a}}\nfunction G(a){0>gg||(a.current=fg[gg],fg[gg]=null,gg--)}function H(a,b){gg++;fg[gg]=a.current;a.current=b}var ig={},I=hg(ig),jg=hg(!1),kg=ig;function lg(a,b){var c=a.type.contextTypes;if(!c)return ig;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}\nfunction mg(a){a=a.childContextTypes;return null!==a&&void 0!==a}function ng(){G(jg);G(I)}function og(a,b,c){if(I.current!==ig)throw Error(p(168));H(I,b);H(jg,c)}function pg(a,b,c){var d=a.stateNode;b=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in b))throw Error(p(108,Ra(a)||\"Unknown\",e));return u({},c,d)}\nfunction qg(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||ig;kg=I.current;H(I,a);H(jg,jg.current);return!0}function rg(a,b,c){var d=a.stateNode;if(!d)throw Error(p(169));c?(a=pg(a,b,kg),d.__reactInternalMemoizedMergedChildContext=a,G(jg),G(I),H(I,a)):G(jg);H(jg,c)}var sg=null,tg=!1,ug=!1;function vg(a){null===sg?sg=[a]:sg.push(a)}function wg(a){tg=!0;vg(a)}\nfunction xg(){if(!ug&&null!==sg){ug=!0;var a=0,b=E;try{var c=sg;for(E=1;a<c.length;a++){var d=c[a];do d=d(!0);while(null!==d)}sg=null;tg=!1}catch(e){throw null!==sg&&(sg=sg.slice(a+1)),ac(fc,xg),e;}finally{E=b,ug=!1}}return null}var yg=[],zg=0,Ag=null,Bg=0,Cg=[],Dg=0,Eg=null,Fg=1,Gg=\"\";function Hg(a,b){yg[zg++]=Bg;yg[zg++]=Ag;Ag=a;Bg=b}\nfunction Ig(a,b,c){Cg[Dg++]=Fg;Cg[Dg++]=Gg;Cg[Dg++]=Eg;Eg=a;var d=Fg;a=Gg;var e=32-Ac(d)-1;d&=~(1<<e);c+=1;var f=32-Ac(b)+e;if(30<f){var g=e-e%5;f=(d&(1<<g)-1).toString(32);d>>=g;e-=g;Fg=1<<32-Ac(b)+e|c<<e|d;Gg=f+a}else Fg=1<<f|c<<e|d,Gg=a}function Jg(a){null!==a.return&&(Hg(a,1),Ig(a,1,0))}function Kg(a){for(;a===Ag;)Ag=yg[--zg],yg[zg]=null,Bg=yg[--zg],yg[zg]=null;for(;a===Eg;)Eg=Cg[--Dg],Cg[Dg]=null,Gg=Cg[--Dg],Cg[Dg]=null,Fg=Cg[--Dg],Cg[Dg]=null}var Lg=null,Mg=null,J=!1,Ng=null;\nfunction Og(a,b){var c=Pg(5,null,null,0);c.elementType=\"DELETED\";c.stateNode=b;c.return=a;b=a.deletions;null===b?(a.deletions=[c],a.flags|=16):b.push(c)}\nfunction Qg(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,Lg=a,Mg=Zf(b.firstChild),!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,Lg=a,Mg=null,!0):!1;case 13:return b=8!==b.nodeType?null:b,null!==b?(c=null!==Eg?{id:Fg,overflow:Gg}:null,a.memoizedState={dehydrated:b,treeContext:c,retryLane:1073741824},c=Pg(18,null,null,0),c.stateNode=b,c.return=a,a.child=c,Lg=a,Mg=\nnull,!0):!1;default:return!1}}function Rg(a){return 0!==(a.mode&1)&&0===(a.flags&128)}function Sg(a){if(J){var b=Mg;if(b){var c=b;if(!Qg(a,b)){if(Rg(a))throw Error(p(418));b=Zf(c.nextSibling);var d=Lg;b&&Qg(a,b)?Og(d,c):(a.flags=a.flags&-4097|2,J=!1,Lg=a)}}else{if(Rg(a))throw Error(p(418));a.flags=a.flags&-4097|2;J=!1;Lg=a}}}function Tg(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;Lg=a}\nfunction Ug(a){if(a!==Lg)return!1;if(!J)return Tg(a),J=!0,!1;var b;(b=3!==a.tag)&&!(b=5!==a.tag)&&(b=a.type,b=\"head\"!==b&&\"body\"!==b&&!Sf(a.type,a.memoizedProps));if(b&&(b=Mg)){if(Rg(a))throw Vg(),Error(p(418));for(;b;)Og(a,b),b=Zf(b.nextSibling)}Tg(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(p(317));a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if(\"/$\"===c){if(0===b){Mg=Zf(a.nextSibling);break a}b--}else\"$\"!==c&&\"$!\"!==c&&\"$?\"!==c||b++}a=a.nextSibling}Mg=\nnull}}else Mg=Lg?Zf(a.stateNode.nextSibling):null;return!0}function Vg(){for(var a=Mg;a;)a=Zf(a.nextSibling)}function Wg(){Mg=Lg=null;J=!1}function Xg(a){null===Ng?Ng=[a]:Ng.push(a)}var Yg=va.ReactCurrentBatchConfig;function Zg(a,b){if(a&&a.defaultProps){b=u({},b);a=a.defaultProps;for(var c in a)void 0===b[c]&&(b[c]=a[c]);return b}return b}var $g=hg(null),ah=null,bh=null,ch=null;function dh(){ch=bh=ah=null}function eh(a){var b=$g.current;G($g);a._currentValue=b}\nfunction fh(a,b,c){for(;null!==a;){var d=a.alternate;(a.childLanes&b)!==b?(a.childLanes|=b,null!==d&&(d.childLanes|=b)):null!==d&&(d.childLanes&b)!==b&&(d.childLanes|=b);if(a===c)break;a=a.return}}function gh(a,b){ah=a;ch=bh=null;a=a.dependencies;null!==a&&null!==a.firstContext&&(0!==(a.lanes&b)&&(hh=!0),a.firstContext=null)}\nfunction ih(a){var b=a._currentValue;if(ch!==a)if(a={context:a,memoizedValue:b,next:null},null===bh){if(null===ah)throw Error(p(308));bh=a;ah.dependencies={lanes:0,firstContext:a}}else bh=bh.next=a;return b}var jh=null;function kh(a){null===jh?jh=[a]:jh.push(a)}function lh(a,b,c,d){var e=b.interleaved;null===e?(c.next=c,kh(b)):(c.next=e.next,e.next=c);b.interleaved=c;return mh(a,d)}\nfunction mh(a,b){a.lanes|=b;var c=a.alternate;null!==c&&(c.lanes|=b);c=a;for(a=a.return;null!==a;)a.childLanes|=b,c=a.alternate,null!==c&&(c.childLanes|=b),c=a,a=a.return;return 3===c.tag?c.stateNode:null}var nh=!1;function oh(a){a.updateQueue={baseState:a.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}\nfunction ph(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,firstBaseUpdate:a.firstBaseUpdate,lastBaseUpdate:a.lastBaseUpdate,shared:a.shared,effects:a.effects})}function qh(a,b){return{eventTime:a,lane:b,tag:0,payload:null,callback:null,next:null}}\nfunction rh(a,b,c){var d=a.updateQueue;if(null===d)return null;d=d.shared;if(0!==(K&2)){var e=d.pending;null===e?b.next=b:(b.next=e.next,e.next=b);d.pending=b;return mh(a,c)}e=d.interleaved;null===e?(b.next=b,kh(d)):(b.next=e.next,e.next=b);d.interleaved=b;return mh(a,c)}function sh(a,b,c){b=b.updateQueue;if(null!==b&&(b=b.shared,0!==(c&4194240))){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Oc(a,c)}}\nfunction th(a,b){var c=a.updateQueue,d=a.alternate;if(null!==d&&(d=d.updateQueue,c===d)){var e=null,f=null;c=c.firstBaseUpdate;if(null!==c){do{var g={eventTime:c.eventTime,lane:c.lane,tag:c.tag,payload:c.payload,callback:c.callback,next:null};null===f?e=f=g:f=f.next=g;c=c.next}while(null!==c);null===f?e=f=b:f=f.next=b}else e=f=b;c={baseState:d.baseState,firstBaseUpdate:e,lastBaseUpdate:f,shared:d.shared,effects:d.effects};a.updateQueue=c;return}a=c.lastBaseUpdate;null===a?c.firstBaseUpdate=b:a.next=\nb;c.lastBaseUpdate=b}\nfunction uh(a,b,c,d){var e=a.updateQueue;nh=!1;var f=e.firstBaseUpdate,g=e.lastBaseUpdate,h=e.shared.pending;if(null!==h){e.shared.pending=null;var k=h,l=k.next;k.next=null;null===g?f=l:g.next=l;g=k;var n=a.alternate;null!==n&&(n=n.updateQueue,h=n.lastBaseUpdate,h!==g&&(null===h?n.firstBaseUpdate=l:h.next=l,n.lastBaseUpdate=k))}if(null!==f){var q=e.baseState;g=0;n=l=k=null;h=f;do{var r=h.lane,z=h.eventTime;if((d&r)===r){null!==n&&(n=n.next={eventTime:z,lane:0,tag:h.tag,payload:h.payload,callback:h.callback,\nnext:null});a:{var m=a,w=h;r=b;z=c;switch(w.tag){case 1:m=w.payload;if(\"function\"===typeof m){q=m.call(z,q,r);break a}q=m;break a;case 3:m.flags=m.flags&-65537|128;case 0:m=w.payload;r=\"function\"===typeof m?m.call(z,q,r):m;if(null===r||void 0===r)break a;q=u({},q,r);break a;case 2:nh=!0}}null!==h.callback&&0!==h.lane&&(a.flags|=64,r=e.effects,null===r?e.effects=[h]:r.push(h))}else z={eventTime:z,lane:r,tag:h.tag,payload:h.payload,callback:h.callback,next:null},null===n?(l=n=z,k=q):n=n.next=z,g|=r;\nh=h.next;if(null===h)if(h=e.shared.pending,null===h)break;else r=h,h=r.next,r.next=null,e.lastBaseUpdate=r,e.shared.pending=null}while(1);null===n&&(k=q);e.baseState=k;e.firstBaseUpdate=l;e.lastBaseUpdate=n;b=e.shared.interleaved;if(null!==b){e=b;do g|=e.lane,e=e.next;while(e!==b)}else null===f&&(e.shared.lanes=0);vh|=g;a.lanes=g;a.memoizedState=q}}\nfunction wh(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;b<a.length;b++){var d=a[b],e=d.callback;if(null!==e){d.callback=null;d=c;if(\"function\"!==typeof e)throw Error(p(191,e));e.call(d)}}}var xh=(new aa.Component).refs;function yh(a,b,c,d){b=a.memoizedState;c=c(d,b);c=null===c||void 0===c?b:u({},b,c);a.memoizedState=c;0===a.lanes&&(a.updateQueue.baseState=c)}\nvar Ch={isMounted:function(a){return(a=a._reactInternals)?Vb(a)===a:!1},enqueueSetState:function(a,b,c){a=a._reactInternals;var d=zh(),e=Ah(a),f=qh(d,e);f.payload=b;void 0!==c&&null!==c&&(f.callback=c);b=rh(a,f,e);null!==b&&(Bh(b,a,e,d),sh(b,a,e));yc(a,e)},enqueueReplaceState:function(a,b,c){a=a._reactInternals;var d=zh(),e=Ah(a),f=qh(d,e);f.tag=1;f.payload=b;void 0!==c&&null!==c&&(f.callback=c);b=rh(a,f,e);null!==b&&(Bh(b,a,e,d),sh(b,a,e));yc(a,e)},enqueueForceUpdate:function(a,b){a=a._reactInternals;\nvar c=zh(),d=Ah(a),e=qh(c,d);e.tag=2;void 0!==b&&null!==b&&(e.callback=b);b=rh(a,e,d);null!==b&&(Bh(b,a,d,c),sh(b,a,d));null!==B&&\"function\"===typeof B.markForceUpdateScheduled&&B.markForceUpdateScheduled(a,d)}};function Dh(a,b,c,d,e,f,g){a=a.stateNode;return\"function\"===typeof a.shouldComponentUpdate?a.shouldComponentUpdate(d,f,g):b.prototype&&b.prototype.isPureReactComponent?!We(c,d)||!We(e,f):!0}\nfunction Eh(a,b,c){var d=!1,e=ig;var f=b.contextType;\"object\"===typeof f&&null!==f?f=ih(f):(e=mg(b)?kg:I.current,d=b.contextTypes,f=(d=null!==d&&void 0!==d)?lg(a,e):ig);b=new b(c,f);a.memoizedState=null!==b.state&&void 0!==b.state?b.state:null;b.updater=Ch;a.stateNode=b;b._reactInternals=a;d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=e,a.__reactInternalMemoizedMaskedChildContext=f);return b}\nfunction Fh(a,b,c,d){a=b.state;\"function\"===typeof b.componentWillReceiveProps&&b.componentWillReceiveProps(c,d);\"function\"===typeof b.UNSAFE_componentWillReceiveProps&&b.UNSAFE_componentWillReceiveProps(c,d);b.state!==a&&Ch.enqueueReplaceState(b,b.state,null)}\nfunction Gh(a,b,c,d){var e=a.stateNode;e.props=c;e.state=a.memoizedState;e.refs=xh;oh(a);var f=b.contextType;\"object\"===typeof f&&null!==f?e.context=ih(f):(f=mg(b)?kg:I.current,e.context=lg(a,f));e.state=a.memoizedState;f=b.getDerivedStateFromProps;\"function\"===typeof f&&(yh(a,b,f,c),e.state=a.memoizedState);\"function\"===typeof b.getDerivedStateFromProps||\"function\"===typeof e.getSnapshotBeforeUpdate||\"function\"!==typeof e.UNSAFE_componentWillMount&&\"function\"!==typeof e.componentWillMount||(b=e.state,\n\"function\"===typeof e.componentWillMount&&e.componentWillMount(),\"function\"===typeof e.UNSAFE_componentWillMount&&e.UNSAFE_componentWillMount(),b!==e.state&&Ch.enqueueReplaceState(e,e.state,null),uh(a,c,e,d),e.state=a.memoizedState);\"function\"===typeof e.componentDidMount&&(a.flags|=4194308)}\nfunction Hh(a,b,c){a=c.ref;if(null!==a&&\"function\"!==typeof a&&\"object\"!==typeof a){if(c._owner){c=c._owner;if(c){if(1!==c.tag)throw Error(p(309));var d=c.stateNode}if(!d)throw Error(p(147,a));var e=d,f=\"\"+a;if(null!==b&&null!==b.ref&&\"function\"===typeof b.ref&&b.ref._stringRef===f)return b.ref;b=function(a){var b=e.refs;b===xh&&(b=e.refs={});null===a?delete b[f]:b[f]=a};b._stringRef=f;return b}if(\"string\"!==typeof a)throw Error(p(284));if(!c._owner)throw Error(p(290,a));}return a}\nfunction Ih(a,b){a=Object.prototype.toString.call(b);throw Error(p(31,\"[object Object]\"===a?\"object with keys {\"+Object.keys(b).join(\", \")+\"}\":a));}function Jh(a){var b=a._init;return b(a._payload)}\nfunction Kh(a){function b(b,c){if(a){var d=b.deletions;null===d?(b.deletions=[c],b.flags|=16):d.push(c)}}function c(c,d){if(!a)return null;for(;null!==d;)b(c,d),d=d.sibling;return null}function d(a,b){for(a=new Map;null!==b;)null!==b.key?a.set(b.key,b):a.set(b.index,b),b=b.sibling;return a}function e(a,b){a=Lh(a,b);a.index=0;a.sibling=null;return a}function f(b,c,d){b.index=d;if(!a)return b.flags|=1048576,c;d=b.alternate;if(null!==d)return d=d.index,d<c?(b.flags|=2,c):d;b.flags|=2;return c}function g(b){a&&\nnull===b.alternate&&(b.flags|=2);return b}function h(a,b,c,d){if(null===b||6!==b.tag)return b=Mh(c,a.mode,d),b.return=a,b;b=e(b,c);b.return=a;return b}function k(a,b,c,d){var f=c.type;if(f===ya)return n(a,b,c.props.children,d,c.key);if(null!==b&&(b.elementType===f||\"object\"===typeof f&&null!==f&&f.$$typeof===Ha&&Jh(f)===b.type))return d=e(b,c.props),d.ref=Hh(a,b,c),d.return=a,d;d=Nh(c.type,c.key,c.props,null,a.mode,d);d.ref=Hh(a,b,c);d.return=a;return d}function l(a,b,c,d){if(null===b||4!==b.tag||\nb.stateNode.containerInfo!==c.containerInfo||b.stateNode.implementation!==c.implementation)return b=Oh(c,a.mode,d),b.return=a,b;b=e(b,c.children||[]);b.return=a;return b}function n(a,b,c,d,f){if(null===b||7!==b.tag)return b=Ph(c,a.mode,d,f),b.return=a,b;b=e(b,c);b.return=a;return b}function q(a,b,c){if(\"string\"===typeof b&&\"\"!==b||\"number\"===typeof b)return b=Mh(\"\"+b,a.mode,c),b.return=a,b;if(\"object\"===typeof b&&null!==b){switch(b.$$typeof){case wa:return c=Nh(b.type,b.key,b.props,null,a.mode,c),\nc.ref=Hh(a,null,b),c.return=a,c;case xa:return b=Oh(b,a.mode,c),b.return=a,b;case Ha:var d=b._init;return q(a,d(b._payload),c)}if(db(b)||Ka(b))return b=Ph(b,a.mode,c,null),b.return=a,b;Ih(a,b)}return null}function r(a,b,c,d){var e=null!==b?b.key:null;if(\"string\"===typeof c&&\"\"!==c||\"number\"===typeof c)return null!==e?null:h(a,b,\"\"+c,d);if(\"object\"===typeof c&&null!==c){switch(c.$$typeof){case wa:return c.key===e?k(a,b,c,d):null;case xa:return c.key===e?l(a,b,c,d):null;case Ha:return e=c._init,r(a,\nb,e(c._payload),d)}if(db(c)||Ka(c))return null!==e?null:n(a,b,c,d,null);Ih(a,c)}return null}function z(a,b,c,d,e){if(\"string\"===typeof d&&\"\"!==d||\"number\"===typeof d)return a=a.get(c)||null,h(b,a,\"\"+d,e);if(\"object\"===typeof d&&null!==d){switch(d.$$typeof){case wa:return a=a.get(null===d.key?c:d.key)||null,k(b,a,d,e);case xa:return a=a.get(null===d.key?c:d.key)||null,l(b,a,d,e);case Ha:var f=d._init;return z(a,b,c,f(d._payload),e)}if(db(d)||Ka(d))return a=a.get(c)||null,n(b,a,d,e,null);Ih(b,d)}return null}\nfunction m(e,g,h,k){for(var l=null,v=null,n=g,m=g=0,y=null;null!==n&&m<h.length;m++){n.index>m?(y=n,n=null):y=n.sibling;var x=r(e,n,h[m],k);if(null===x){null===n&&(n=y);break}a&&n&&null===x.alternate&&b(e,n);g=f(x,g,m);null===v?l=x:v.sibling=x;v=x;n=y}if(m===h.length)return c(e,n),J&&Hg(e,m),l;if(null===n){for(;m<h.length;m++)n=q(e,h[m],k),null!==n&&(g=f(n,g,m),null===v?l=n:v.sibling=n,v=n);J&&Hg(e,m);return l}for(n=d(e,n);m<h.length;m++)y=z(n,e,m,h[m],k),null!==y&&(a&&null!==y.alternate&&n.delete(null===\ny.key?m:y.key),g=f(y,g,m),null===v?l=y:v.sibling=y,v=y);a&&n.forEach(function(a){return b(e,a)});J&&Hg(e,m);return l}function w(e,g,h,k){var l=Ka(h);if(\"function\"!==typeof l)throw Error(p(150));h=l.call(h);if(null==h)throw Error(p(151));for(var n=l=null,m=g,v=g=0,y=null,x=h.next();null!==m&&!x.done;v++,x=h.next()){m.index>v?(y=m,m=null):y=m.sibling;var w=r(e,m,x.value,k);if(null===w){null===m&&(m=y);break}a&&m&&null===w.alternate&&b(e,m);g=f(w,g,v);null===n?l=w:n.sibling=w;n=w;m=y}if(x.done)return c(e,\nm),J&&Hg(e,v),l;if(null===m){for(;!x.done;v++,x=h.next())x=q(e,x.value,k),null!==x&&(g=f(x,g,v),null===n?l=x:n.sibling=x,n=x);J&&Hg(e,v);return l}for(m=d(e,m);!x.done;v++,x=h.next())x=z(m,e,v,x.value,k),null!==x&&(a&&null!==x.alternate&&m.delete(null===x.key?v:x.key),g=f(x,g,v),null===n?l=x:n.sibling=x,n=x);a&&m.forEach(function(a){return b(e,a)});J&&Hg(e,v);return l}function C(a,d,f,h){\"object\"===typeof f&&null!==f&&f.type===ya&&null===f.key&&(f=f.props.children);if(\"object\"===typeof f&&null!==f){switch(f.$$typeof){case wa:a:{for(var k=\nf.key,l=d;null!==l;){if(l.key===k){k=f.type;if(k===ya){if(7===l.tag){c(a,l.sibling);d=e(l,f.props.children);d.return=a;a=d;break a}}else if(l.elementType===k||\"object\"===typeof k&&null!==k&&k.$$typeof===Ha&&Jh(k)===l.type){c(a,l.sibling);d=e(l,f.props);d.ref=Hh(a,l,f);d.return=a;a=d;break a}c(a,l);break}else b(a,l);l=l.sibling}f.type===ya?(d=Ph(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Nh(f.type,f.key,f.props,null,a.mode,h),h.ref=Hh(a,d,f),h.return=a,a=h)}return g(a);case xa:a:{for(l=f.key;null!==\nd;){if(d.key===l)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=Oh(f,a.mode,h);d.return=a;a=d}return g(a);case Ha:return l=f._init,C(a,d,l(f._payload),h)}if(db(f))return m(a,d,f,h);if(Ka(f))return w(a,d,f,h);Ih(a,f)}return\"string\"===typeof f&&\"\"!==f||\"number\"===typeof f?(f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):\n(c(a,d),d=Mh(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return C}var Qh=Kh(!0),Rh=Kh(!1),Sh={},Th=hg(Sh),Uh=hg(Sh),Vh=hg(Sh);function Wh(a){if(a===Sh)throw Error(p(174));return a}function Xh(a,b){H(Vh,b);H(Uh,a);H(Th,Sh);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:kb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=kb(b,a)}G(Th);H(Th,b)}function Yh(){G(Th);G(Uh);G(Vh)}\nfunction Zh(a){Wh(Vh.current);var b=Wh(Th.current);var c=kb(b,a.type);b!==c&&(H(Uh,a),H(Th,c))}function $h(a){Uh.current===a&&(G(Th),G(Uh))}var L=hg(0);\nfunction ai(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||\"$?\"===c.data||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&128))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var bi=[];\nfunction ci(){for(var a=0;a<bi.length;a++)bi[a]._workInProgressVersionPrimary=null;bi.length=0}var di=va.ReactCurrentDispatcher,ei=va.ReactCurrentBatchConfig,fi=0,M=null,N=null,O=null,gi=!1,hi=!1,ii=0,ji=0;function P(){throw Error(p(321));}function ki(a,b){if(null===b)return!1;for(var c=0;c<b.length&&c<a.length;c++)if(!Ve(a[c],b[c]))return!1;return!0}\nfunction li(a,b,c,d,e,f){fi=f;M=b;b.memoizedState=null;b.updateQueue=null;b.lanes=0;di.current=null===a||null===a.memoizedState?mi:ni;a=c(d,e);if(hi){f=0;do{hi=!1;ii=0;if(25<=f)throw Error(p(301));f+=1;O=N=null;b.updateQueue=null;di.current=oi;a=c(d,e)}while(hi)}di.current=pi;b=null!==N&&null!==N.next;fi=0;O=N=M=null;gi=!1;if(b)throw Error(p(300));return a}function qi(){var a=0!==ii;ii=0;return a}\nfunction ri(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===O?M.memoizedState=O=a:O=O.next=a;return O}function si(){if(null===N){var a=M.alternate;a=null!==a?a.memoizedState:null}else a=N.next;var b=null===O?M.memoizedState:O.next;if(null!==b)O=b,N=a;else{if(null===a)throw Error(p(310));N=a;a={memoizedState:N.memoizedState,baseState:N.baseState,baseQueue:N.baseQueue,queue:N.queue,next:null};null===O?M.memoizedState=O=a:O=O.next=a}return O}\nfunction ti(a,b){return\"function\"===typeof b?b(a):b}\nfunction ui(a){var b=si(),c=b.queue;if(null===c)throw Error(p(311));c.lastRenderedReducer=a;var d=N,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){f=e.next;d=d.baseState;var h=g=null,k=null,l=f;do{var n=l.lane;if((fi&n)===n)null!==k&&(k=k.next={lane:0,action:l.action,hasEagerState:l.hasEagerState,eagerState:l.eagerState,next:null}),d=l.hasEagerState?l.eagerState:a(d,l.action);else{var q={lane:n,action:l.action,hasEagerState:l.hasEagerState,\neagerState:l.eagerState,next:null};null===k?(h=k=q,g=d):k=k.next=q;M.lanes|=n;vh|=n}l=l.next}while(null!==l&&l!==f);null===k?g=d:k.next=h;Ve(d,b.memoizedState)||(hh=!0);b.memoizedState=d;b.baseState=g;b.baseQueue=k;c.lastRenderedState=d}a=c.interleaved;if(null!==a){e=a;do f=e.lane,M.lanes|=f,vh|=f,e=e.next;while(e!==a)}else null===e&&(c.lanes=0);return[b.memoizedState,c.dispatch]}\nfunction vi(a){var b=si(),c=b.queue;if(null===c)throw Error(p(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);Ve(f,b.memoizedState)||(hh=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}function wi(){}\nfunction xi(a,b){var c=M,d=si(),e=b(),f=!Ve(d.memoizedState,e);f&&(d.memoizedState=e,hh=!0);d=d.queue;yi(zi.bind(null,c,d,a),[a]);if(d.getSnapshot!==b||f||null!==O&&O.memoizedState.tag&1){c.flags|=2048;Ai(9,Bi.bind(null,c,d,e,b),void 0,null);if(null===Q)throw Error(p(349));0!==(fi&30)||Ci(c,b,e)}return e}function Ci(a,b,c){a.flags|=16384;a={getSnapshot:b,value:c};b=M.updateQueue;null===b?(b={lastEffect:null,stores:null},M.updateQueue=b,b.stores=[a]):(c=b.stores,null===c?b.stores=[a]:c.push(a))}\nfunction Bi(a,b,c,d){b.value=c;b.getSnapshot=d;Di(b)&&Ei(a)}function zi(a,b,c){return c(function(){Di(b)&&Ei(a)})}function Di(a){var b=a.getSnapshot;a=a.value;try{var c=b();return!Ve(a,c)}catch(d){return!0}}function Ei(a){var b=mh(a,1);null!==b&&Bh(b,a,1,-1)}\nfunction Fi(a){var b=ri();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:ti,lastRenderedState:a};b.queue=a;a=a.dispatch=Gi.bind(null,M,a);return[b.memoizedState,a]}\nfunction Ai(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};b=M.updateQueue;null===b?(b={lastEffect:null,stores:null},M.updateQueue=b,b.lastEffect=a.next=a):(c=b.lastEffect,null===c?b.lastEffect=a.next=a:(d=c.next,c.next=a,a.next=d,b.lastEffect=a));return a}function Ji(){return si().memoizedState}function Ki(a,b,c,d){var e=ri();M.flags|=a;e.memoizedState=Ai(1|b,c,void 0,void 0===d?null:d)}\nfunction Li(a,b,c,d){var e=si();d=void 0===d?null:d;var f=void 0;if(null!==N){var g=N.memoizedState;f=g.destroy;if(null!==d&&ki(d,g.deps)){e.memoizedState=Ai(b,c,f,d);return}}M.flags|=a;e.memoizedState=Ai(1|b,c,f,d)}function Mi(a,b){return Ki(8390656,8,a,b)}function yi(a,b){return Li(2048,8,a,b)}function Ni(a,b){return Li(4,2,a,b)}function Oi(a,b){return Li(4,4,a,b)}\nfunction Pi(a,b){if(\"function\"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}function Qi(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return Li(4,4,Pi.bind(null,b,a),c)}function Ri(){}function Si(a,b){var c=si();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&ki(b,d[1]))return d[0];c.memoizedState=[a,b];return a}\nfunction Ti(a,b){var c=si();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&ki(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a}function Ui(a,b,c){if(0===(fi&21))return a.baseState&&(a.baseState=!1,hh=!0),a.memoizedState=c;Ve(c,b)||(c=Kc(),M.lanes|=c,vh|=c,a.baseState=!0);return b}function Vi(a,b){var c=E;E=0!==c&&4>c?c:4;a(!0);var d=ei.transition;ei.transition={};try{a(!1),b()}finally{E=c,ei.transition=d}}function Wi(){return si().memoizedState}\nfunction Xi(a,b,c){var d=Ah(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(Yi(a))Zi(b,c);else if(c=lh(a,b,c,d),null!==c){var e=zh();Bh(c,a,d,e);$i(c,b,d)}yc(a,d)}\nfunction Gi(a,b,c){var d=Ah(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(Yi(a))Zi(b,e);else{var f=a.alternate;if(0===a.lanes&&(null===f||0===f.lanes)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.hasEagerState=!0;e.eagerState=h;if(Ve(h,g)){var k=b.interleaved;null===k?(e.next=e,kh(b)):(e.next=k.next,k.next=e);b.interleaved=e;return}}catch(l){}finally{}c=lh(a,b,e,d);null!==c&&(e=zh(),Bh(c,a,d,e),$i(c,b,d))}yc(a,d)}\nfunction Yi(a){var b=a.alternate;return a===M||null!==b&&b===M}function Zi(a,b){hi=gi=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function $i(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Oc(a,c)}}\nvar pi={readContext:ih,useCallback:P,useContext:P,useEffect:P,useImperativeHandle:P,useInsertionEffect:P,useLayoutEffect:P,useMemo:P,useReducer:P,useRef:P,useState:P,useDebugValue:P,useDeferredValue:P,useTransition:P,useMutableSource:P,useSyncExternalStore:P,useId:P,unstable_isNewReconciler:!1},mi={readContext:ih,useCallback:function(a,b){ri().memoizedState=[a,void 0===b?null:b];return a},useContext:ih,useEffect:Mi,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return Ki(4194308,\n4,Pi.bind(null,b,a),c)},useLayoutEffect:function(a,b){return Ki(4194308,4,a,b)},useInsertionEffect:function(a,b){return Ki(4,2,a,b)},useMemo:function(a,b){var c=ri();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=ri();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};d.queue=a;a=a.dispatch=Xi.bind(null,M,a);return[d.memoizedState,a]},useRef:function(a){var b=\nri();a={current:a};return b.memoizedState=a},useState:Fi,useDebugValue:Ri,useDeferredValue:function(a){return ri().memoizedState=a},useTransition:function(){var a=Fi(!1),b=a[0];a=Vi.bind(null,a[1]);ri().memoizedState=a;return[b,a]},useMutableSource:function(){},useSyncExternalStore:function(a,b,c){var d=M,e=ri();if(J){if(void 0===c)throw Error(p(407));c=c()}else{c=b();if(null===Q)throw Error(p(349));0!==(fi&30)||Ci(d,b,c)}e.memoizedState=c;var f={value:c,getSnapshot:b};e.queue=f;Mi(zi.bind(null,d,\nf,a),[a]);d.flags|=2048;Ai(9,Bi.bind(null,d,f,c,b),void 0,null);return c},useId:function(){var a=ri(),b=Q.identifierPrefix;if(J){var c=Gg;var d=Fg;c=(d&~(1<<32-Ac(d)-1)).toString(32)+c;b=\":\"+b+\"R\"+c;c=ii++;0<c&&(b+=\"H\"+c.toString(32));b+=\":\"}else c=ji++,b=\":\"+b+\"r\"+c.toString(32)+\":\";return a.memoizedState=b},unstable_isNewReconciler:!1},ni={readContext:ih,useCallback:Si,useContext:ih,useEffect:yi,useImperativeHandle:Qi,useInsertionEffect:Ni,useLayoutEffect:Oi,useMemo:Ti,useReducer:ui,useRef:Ji,useState:function(){return ui(ti)},\nuseDebugValue:Ri,useDeferredValue:function(a){var b=si();return Ui(b,N.memoizedState,a)},useTransition:function(){var a=ui(ti)[0],b=si().memoizedState;return[a,b]},useMutableSource:wi,useSyncExternalStore:xi,useId:Wi,unstable_isNewReconciler:!1},oi={readContext:ih,useCallback:Si,useContext:ih,useEffect:yi,useImperativeHandle:Qi,useInsertionEffect:Ni,useLayoutEffect:Oi,useMemo:Ti,useReducer:vi,useRef:Ji,useState:function(){return vi(ti)},useDebugValue:Ri,useDeferredValue:function(a){var b=si();return null===\nN?b.memoizedState=a:Ui(b,N.memoizedState,a)},useTransition:function(){var a=vi(ti)[0],b=si().memoizedState;return[a,b]},useMutableSource:wi,useSyncExternalStore:xi,useId:Wi,unstable_isNewReconciler:!1},aj=ba.unstable_now,bj=0,cj=-1,dj=-1,ej=-1,fj=!1,gj=!1;function hj(a,b){if(0<=dj){var c=aj()-dj;a.actualDuration+=c;b&&(a.selfBaseDuration=c);dj=-1}}\nfunction ij(a){if(0<=cj){var b=aj()-cj;cj=-1;for(a=a.return;null!==a;){switch(a.tag){case 3:a.stateNode.effectDuration+=b;return;case 12:a.stateNode.effectDuration+=b;return}a=a.return}}}function jj(a){if(0<=ej){var b=aj()-ej;ej=-1;for(a=a.return;null!==a;){switch(a.tag){case 3:a=a.stateNode;null!==a&&(a.passiveEffectDuration+=b);return;case 12:a=a.stateNode;null!==a&&(a.passiveEffectDuration+=b);return}a=a.return}}}function kj(){cj=aj()}\nfunction lj(a){for(var b=a.child;b;)a.actualDuration+=b.actualDuration,b=b.sibling}function mj(a,b){try{var c=\"\",d=b;do c+=Pa(d),d=d.return;while(d);var e=c}catch(f){e=\"\\nError generating stack: \"+f.message+\"\\n\"+f.stack}return{value:a,source:b,stack:e,digest:null}}function nj(a,b,c){return{value:a,source:null,stack:null!=c?c:null,digest:null!=b?b:null}}function oj(a,b){try{console.error(b.value)}catch(c){setTimeout(function(){throw c;})}}var pj=\"function\"===typeof WeakMap?WeakMap:Map;\nfunction qj(a,b,c){c=qh(-1,c);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){rj||(rj=!0,sj=d);oj(a,b)};return c}\nfunction tj(a,b,c){c=qh(-1,c);c.tag=3;var d=a.type.getDerivedStateFromError;if(\"function\"===typeof d){var e=b.value;c.payload=function(){return d(e)};c.callback=function(){oj(a,b)}}var f=a.stateNode;null!==f&&\"function\"===typeof f.componentDidCatch&&(c.callback=function(){oj(a,b);\"function\"!==typeof d&&(null===uj?uj=new Set([this]):uj.add(this));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:\"\"})});return c}\nfunction vj(a,b,c){var d=a.pingCache;if(null===d){d=a.pingCache=new pj;var e=new Set;d.set(b,e)}else e=d.get(b),void 0===e&&(e=new Set,d.set(b,e));e.has(c)||(e.add(c),d=wj.bind(null,a,b,c),mc&&xj(a,c),b.then(d,d))}function yj(a){do{var b;if(b=13===a.tag)b=a.memoizedState,b=null!==b?null!==b.dehydrated?!0:!1:!0;if(b)return a;a=a.return}while(null!==a);return null}\nfunction zj(a,b,c,d,e){if(0===(a.mode&1))return a===b?a.flags|=65536:(a.flags|=128,c.flags|=131072,c.flags&=-52805,1===c.tag&&(null===c.alternate?c.tag=17:(b=qh(-1,1),b.tag=2,rh(c,b,1))),c.lanes|=1),a;a.flags|=65536;a.lanes=e;return a}var Aj=va.ReactCurrentOwner,hh=!1;function Bj(a,b,c,d){b.child=null===a?Rh(b,null,c,d):Qh(b,a.child,c,d)}\nfunction Cj(a,b,c,d,e){c=c.render;var f=b.ref;gh(b,e);sc(b);d=li(a,b,c,d,f,e);c=qi();tc();if(null!==a&&!hh)return b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,Dj(a,b,e);J&&c&&Jg(b);b.flags|=1;Bj(a,b,d,e);return b.child}\nfunction Ej(a,b,c,d,e){if(null===a){var f=c.type;if(\"function\"===typeof f&&!Fj(f)&&void 0===f.defaultProps&&null===c.compare&&void 0===c.defaultProps)return b.tag=15,b.type=f,Gj(a,b,f,d,e);a=Nh(c.type,null,d,b,b.mode,e);a.ref=b.ref;a.return=b;return b.child=a}f=a.child;if(0===(a.lanes&e)){var g=f.memoizedProps;c=c.compare;c=null!==c?c:We;if(c(g,d)&&a.ref===b.ref)return Dj(a,b,e)}b.flags|=1;a=Lh(f,d);a.ref=b.ref;a.return=b;return b.child=a}\nfunction Gj(a,b,c,d,e){if(null!==a){var f=a.memoizedProps;if(We(f,d)&&a.ref===b.ref)if(hh=!1,b.pendingProps=d=f,0!==(a.lanes&e))0!==(a.flags&131072)&&(hh=!0);else return b.lanes=a.lanes,Dj(a,b,e)}return Hj(a,b,c,d,e)}\nfunction Ij(a,b,c){var d=b.pendingProps,e=d.children,f=null!==a?a.memoizedState:null;if(\"hidden\"===d.mode)if(0===(b.mode&1))b.memoizedState={baseLanes:0,cachePool:null,transitions:null},H(Jj,Kj),Kj|=c;else{if(0===(c&1073741824))return a=null!==f?f.baseLanes|c:c,b.lanes=b.childLanes=1073741824,b.memoizedState={baseLanes:a,cachePool:null,transitions:null},b.updateQueue=null,H(Jj,Kj),Kj|=a,null;b.memoizedState={baseLanes:0,cachePool:null,transitions:null};d=null!==f?f.baseLanes:c;H(Jj,Kj);Kj|=d}else null!==\nf?(d=f.baseLanes|c,b.memoizedState=null):d=c,H(Jj,Kj),Kj|=d;Bj(a,b,e,c);return b.child}function Lj(a,b){var c=b.ref;if(null===a&&null!==c||null!==a&&a.ref!==c)b.flags|=512,b.flags|=2097152}function Hj(a,b,c,d,e){var f=mg(c)?kg:I.current;f=lg(b,f);gh(b,e);sc(b);c=li(a,b,c,d,f,e);d=qi();tc();if(null!==a&&!hh)return b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,Dj(a,b,e);J&&d&&Jg(b);b.flags|=1;Bj(a,b,c,e);return b.child}\nfunction Mj(a,b,c,d,e){if(mg(c)){var f=!0;qg(b)}else f=!1;gh(b,e);if(null===b.stateNode)Nj(a,b),Eh(b,c,d),Gh(b,c,d,e),d=!0;else if(null===a){var g=b.stateNode,h=b.memoizedProps;g.props=h;var k=g.context,l=c.contextType;\"object\"===typeof l&&null!==l?l=ih(l):(l=mg(c)?kg:I.current,l=lg(b,l));var n=c.getDerivedStateFromProps,q=\"function\"===typeof n||\"function\"===typeof g.getSnapshotBeforeUpdate;q||\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||\n(h!==d||k!==l)&&Fh(b,g,d,l);nh=!1;var r=b.memoizedState;g.state=r;uh(b,d,g,e);k=b.memoizedState;h!==d||r!==k||jg.current||nh?(\"function\"===typeof n&&(yh(b,c,n,d),k=b.memoizedState),(h=nh||Dh(b,c,h,d,r,k,l))?(q||\"function\"!==typeof g.UNSAFE_componentWillMount&&\"function\"!==typeof g.componentWillMount||(\"function\"===typeof g.componentWillMount&&g.componentWillMount(),\"function\"===typeof g.UNSAFE_componentWillMount&&g.UNSAFE_componentWillMount()),\"function\"===typeof g.componentDidMount&&(b.flags|=4194308)):\n(\"function\"===typeof g.componentDidMount&&(b.flags|=4194308),b.memoizedProps=d,b.memoizedState=k),g.props=d,g.state=k,g.context=l,d=h):(\"function\"===typeof g.componentDidMount&&(b.flags|=4194308),d=!1)}else{g=b.stateNode;ph(a,b);h=b.memoizedProps;l=b.type===b.elementType?h:Zg(b.type,h);g.props=l;q=b.pendingProps;r=g.context;k=c.contextType;\"object\"===typeof k&&null!==k?k=ih(k):(k=mg(c)?kg:I.current,k=lg(b,k));var z=c.getDerivedStateFromProps;(n=\"function\"===typeof z||\"function\"===typeof g.getSnapshotBeforeUpdate)||\n\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||(h!==q||r!==k)&&Fh(b,g,d,k);nh=!1;r=b.memoizedState;g.state=r;uh(b,d,g,e);var m=b.memoizedState;h!==q||r!==m||jg.current||nh?(\"function\"===typeof z&&(yh(b,c,z,d),m=b.memoizedState),(l=nh||Dh(b,c,l,d,r,m,k)||!1)?(n||\"function\"!==typeof g.UNSAFE_componentWillUpdate&&\"function\"!==typeof g.componentWillUpdate||(\"function\"===typeof g.componentWillUpdate&&g.componentWillUpdate(d,m,k),\"function\"===typeof g.UNSAFE_componentWillUpdate&&\ng.UNSAFE_componentWillUpdate(d,m,k)),\"function\"===typeof g.componentDidUpdate&&(b.flags|=4),\"function\"===typeof g.getSnapshotBeforeUpdate&&(b.flags|=1024)):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=1024),b.memoizedProps=d,b.memoizedState=m),g.props=d,g.state=m,g.context=k,d=l):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&r===\na.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=1024),d=!1)}return Oj(a,b,c,d,f,e)}\nfunction Oj(a,b,c,d,e,f){Lj(a,b);var g=0!==(b.flags&128);if(!d&&!g)return e&&rg(b,c,!1),Dj(a,b,f);d=b.stateNode;Aj.current=b;if(g&&\"function\"!==typeof c.getDerivedStateFromError){var h=null;dj=-1}else sc(b),h=d.render(),tc();b.flags|=1;null!==a&&g?(g=h,b.child=Qh(b,a.child,null,f),b.child=Qh(b,null,g,f)):Bj(a,b,h,f);b.memoizedState=d.state;e&&rg(b,c,!0);return b.child}\nfunction Pj(a){var b=a.stateNode;b.pendingContext?og(a,b.pendingContext,b.pendingContext!==b.context):b.context&&og(a,b.context,!1);Xh(a,b.containerInfo)}function Qj(a,b,c,d,e){Wg();Xg(e);b.flags|=256;Bj(a,b,c,d);return b.child}var Tj={dehydrated:null,treeContext:null,retryLane:0};function Uj(a){return{baseLanes:a,cachePool:null,transitions:null}}\nfunction Vj(a,b,c){var d=b.pendingProps,e=L.current,f=!1,g=0!==(b.flags&128),h;(h=g)||(h=null!==a&&null===a.memoizedState?!1:0!==(e&2));if(h)f=!0,b.flags&=-129;else if(null===a||null!==a.memoizedState)e|=1;H(L,e&1);if(null===a){Sg(b);a=b.memoizedState;if(null!==a&&(a=a.dehydrated,null!==a))return 0===(b.mode&1)?b.lanes=1:\"$!\"===a.data?b.lanes=8:b.lanes=1073741824,null;g=d.children;a=d.fallback;return f?(d=b.mode,f=b.child,g={mode:\"hidden\",children:g},0===(d&1)&&null!==f?(f.childLanes=0,f.pendingProps=\ng,b.mode&2&&(f.actualDuration=0,f.actualStartTime=-1,f.selfBaseDuration=0,f.treeBaseDuration=0)):f=Wj(g,d,0,null),a=Ph(a,d,c,null),f.return=b,a.return=b,f.sibling=a,b.child=f,b.child.memoizedState=Uj(c),b.memoizedState=Tj,a):Xj(b,g)}e=a.memoizedState;if(null!==e&&(h=e.dehydrated,null!==h))return Yj(a,b,g,d,h,e,c);if(f){f=d.fallback;g=b.mode;e=a.child;h=e.sibling;var k={mode:\"hidden\",children:d.children};0===(g&1)&&b.child!==e?(d=b.child,d.childLanes=0,d.pendingProps=k,b.mode&2&&(d.actualDuration=\n0,d.actualStartTime=-1,d.selfBaseDuration=e.selfBaseDuration,d.treeBaseDuration=e.treeBaseDuration),b.deletions=null):(d=Lh(e,k),d.subtreeFlags=e.subtreeFlags&14680064);null!==h?f=Lh(h,f):(f=Ph(f,g,c,null),f.flags|=2);f.return=b;d.return=b;d.sibling=f;b.child=d;d=f;f=b.child;g=a.child.memoizedState;g=null===g?Uj(c):{baseLanes:g.baseLanes|c,cachePool:null,transitions:g.transitions};f.memoizedState=g;f.childLanes=a.childLanes&~c;b.memoizedState=Tj;return d}f=a.child;a=f.sibling;d=Lh(f,{mode:\"visible\",\nchildren:d.children});0===(b.mode&1)&&(d.lanes=c);d.return=b;d.sibling=null;null!==a&&(c=b.deletions,null===c?(b.deletions=[a],b.flags|=16):c.push(a));b.child=d;b.memoizedState=null;return d}function Xj(a,b){b=Wj({mode:\"visible\",children:b},a.mode,0,null);b.return=a;return a.child=b}function Zj(a,b,c,d){null!==d&&Xg(d);Qh(b,a.child,null,c);a=Xj(b,b.pendingProps.children);a.flags|=2;b.memoizedState=null;return a}\nfunction Yj(a,b,c,d,e,f,g){if(c){if(b.flags&256)return b.flags&=-257,d=nj(Error(p(422))),Zj(a,b,g,d);if(null!==b.memoizedState)return b.child=a.child,b.flags|=128,null;f=d.fallback;e=b.mode;d=Wj({mode:\"visible\",children:d.children},e,0,null);f=Ph(f,e,g,null);f.flags|=2;d.return=b;f.return=b;d.sibling=f;b.child=d;0!==(b.mode&1)&&Qh(b,a.child,null,g);b.child.memoizedState=Uj(g);b.memoizedState=Tj;return f}if(0===(b.mode&1))return Zj(a,b,g,null);if(\"$!\"===e.data){d=e.nextSibling&&e.nextSibling.dataset;\nif(d)var h=d.dgst;d=h;f=Error(p(419));d=nj(f,d,void 0);return Zj(a,b,g,d)}h=0!==(g&a.childLanes);if(hh||h){d=Q;if(null!==d){switch(g&-g){case 4:e=2;break;case 16:e=8;break;case 64: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:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:e=32;break;case 536870912:e=268435456;break;default:e=0}e=0!==(e&(d.suspendedLanes|g))?0:e;\n0!==e&&e!==f.retryLane&&(f.retryLane=e,mh(a,e),Bh(d,a,e,-1))}ak();d=nj(Error(p(421)));return Zj(a,b,g,d)}if(\"$?\"===e.data)return b.flags|=128,b.child=a.child,b=bk.bind(null,a),e._reactRetry=b,null;a=f.treeContext;Mg=Zf(e.nextSibling);Lg=b;J=!0;Ng=null;null!==a&&(Cg[Dg++]=Fg,Cg[Dg++]=Gg,Cg[Dg++]=Eg,Fg=a.id,Gg=a.overflow,Eg=b);b=Xj(b,d.children);b.flags|=4096;return b}function ck(a,b,c){a.lanes|=b;var d=a.alternate;null!==d&&(d.lanes|=b);fh(a.return,b,c)}\nfunction dk(a,b,c,d,e){var f=a.memoizedState;null===f?a.memoizedState={isBackwards:b,rendering:null,renderingStartTime:0,last:d,tail:c,tailMode:e}:(f.isBackwards=b,f.rendering=null,f.renderingStartTime=0,f.last=d,f.tail=c,f.tailMode=e)}\nfunction ek(a,b,c){var d=b.pendingProps,e=d.revealOrder,f=d.tail;Bj(a,b,d.children,c);d=L.current;if(0!==(d&2))d=d&1|2,b.flags|=128;else{if(null!==a&&0!==(a.flags&128))a:for(a=b.child;null!==a;){if(13===a.tag)null!==a.memoizedState&&ck(a,c,b);else if(19===a.tag)ck(a,c,b);else if(null!==a.child){a.child.return=a;a=a.child;continue}if(a===b)break a;for(;null===a.sibling;){if(null===a.return||a.return===b)break a;a=a.return}a.sibling.return=a.return;a=a.sibling}d&=1}H(L,d);if(0===(b.mode&1))b.memoizedState=\nnull;else switch(e){case \"forwards\":c=b.child;for(e=null;null!==c;)a=c.alternate,null!==a&&null===ai(a)&&(e=c),c=c.sibling;c=e;null===c?(e=b.child,b.child=null):(e=c.sibling,c.sibling=null);dk(b,!1,e,c,f);break;case \"backwards\":c=null;e=b.child;for(b.child=null;null!==e;){a=e.alternate;if(null!==a&&null===ai(a)){b.child=e;break}a=e.sibling;e.sibling=c;c=e;e=a}dk(b,!0,c,null,f);break;case \"together\":dk(b,!1,null,null,void 0);break;default:b.memoizedState=null}return b.child}\nfunction Nj(a,b){0===(b.mode&1)&&null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2)}function Dj(a,b,c){null!==a&&(b.dependencies=a.dependencies);dj=-1;vh|=b.lanes;if(0===(c&b.childLanes))return null;if(null!==a&&b.child!==a.child)throw Error(p(153));if(null!==b.child){a=b.child;c=Lh(a,a.pendingProps);b.child=c;for(c.return=b;null!==a.sibling;)a=a.sibling,c=c.sibling=Lh(a,a.pendingProps),c.return=b;c.sibling=null}return b.child}\nfunction fk(a,b,c){switch(b.tag){case 3:Pj(b);Wg();break;case 5:Zh(b);break;case 1:mg(b.type)&&qg(b);break;case 4:Xh(b,b.stateNode.containerInfo);break;case 10:var d=b.type._context,e=b.memoizedProps.value;H($g,d._currentValue);d._currentValue=e;break;case 12:0!==(c&b.childLanes)&&(b.flags|=4);d=b.stateNode;d.effectDuration=0;d.passiveEffectDuration=0;break;case 13:d=b.memoizedState;if(null!==d){if(null!==d.dehydrated)return H(L,L.current&1),b.flags|=128,null;if(0!==(c&b.child.childLanes))return Vj(a,\nb,c);H(L,L.current&1);a=Dj(a,b,c);return null!==a?a.sibling:null}H(L,L.current&1);break;case 19:d=0!==(c&b.childLanes);if(0!==(a.flags&128)){if(d)return ek(a,b,c);b.flags|=128}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null,e.lastEffect=null);H(L,L.current);if(d)break;else return null;case 22:case 23:return b.lanes=0,Ij(a,b,c)}return Dj(a,b,c)}var gk,hk,ik,jk;\ngk=function(a,b){for(var c=b.child;null!==c;){if(5===c.tag||6===c.tag)a.appendChild(c.stateNode);else if(4!==c.tag&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return}c.sibling.return=c.return;c=c.sibling}};hk=function(){};\nik=function(a,b,c,d){var e=a.memoizedProps;if(e!==d){a=b.stateNode;Wh(Th.current);var f=null;switch(c){case \"input\":e=Ya(a,e);d=Ya(a,d);f=[];break;case \"select\":e=u({},e,{value:void 0});d=u({},d,{value:void 0});f=[];break;case \"textarea\":e=fb(a,e);d=fb(a,d);f=[];break;default:\"function\"!==typeof e.onClick&&\"function\"===typeof d.onClick&&(a.onclick=Pf)}ub(c,d);var g;c=null;for(l in e)if(!d.hasOwnProperty(l)&&e.hasOwnProperty(l)&&null!=e[l])if(\"style\"===l){var h=e[l];for(g in h)h.hasOwnProperty(g)&&\n(c||(c={}),c[g]=\"\")}else\"dangerouslySetInnerHTML\"!==l&&\"children\"!==l&&\"suppressContentEditableWarning\"!==l&&\"suppressHydrationWarning\"!==l&&\"autoFocus\"!==l&&(ea.hasOwnProperty(l)?f||(f=[]):(f=f||[]).push(l,null));for(l in d){var k=d[l];h=null!=e?e[l]:void 0;if(d.hasOwnProperty(l)&&k!==h&&(null!=k||null!=h))if(\"style\"===l)if(h){for(g in h)!h.hasOwnProperty(g)||k&&k.hasOwnProperty(g)||(c||(c={}),c[g]=\"\");for(g in k)k.hasOwnProperty(g)&&h[g]!==k[g]&&(c||(c={}),c[g]=k[g])}else c||(f||(f=[]),f.push(l,\nc)),c=k;else\"dangerouslySetInnerHTML\"===l?(k=k?k.__html:void 0,h=h?h.__html:void 0,null!=k&&h!==k&&(f=f||[]).push(l,k)):\"children\"===l?\"string\"!==typeof k&&\"number\"!==typeof k||(f=f||[]).push(l,\"\"+k):\"suppressContentEditableWarning\"!==l&&\"suppressHydrationWarning\"!==l&&(ea.hasOwnProperty(l)?(null!=k&&\"onScroll\"===l&&F(\"scroll\",a),f||h===k||(f=[])):(f=f||[]).push(l,k))}c&&(f=f||[]).push(\"style\",c);var l=f;if(b.updateQueue=l)b.flags|=4}};jk=function(a,b,c,d){c!==d&&(b.flags|=4)};\nfunction kk(a,b){if(!J)switch(a.tailMode){case \"hidden\":b=a.tail;for(var c=null;null!==b;)null!==b.alternate&&(c=b),b=b.sibling;null===c?a.tail=null:c.sibling=null;break;case \"collapsed\":c=a.tail;for(var d=null;null!==c;)null!==c.alternate&&(d=c),c=c.sibling;null===d?b||null===a.tail?a.tail=null:a.tail.sibling=null:d.sibling=null}}\nfunction S(a){var b=null!==a.alternate&&a.alternate.child===a.child,c=0,d=0;if(b)if(0!==(a.mode&2)){for(var e=a.selfBaseDuration,f=a.child;null!==f;)c|=f.lanes|f.childLanes,d|=f.subtreeFlags&14680064,d|=f.flags&14680064,e+=f.treeBaseDuration,f=f.sibling;a.treeBaseDuration=e}else for(e=a.child;null!==e;)c|=e.lanes|e.childLanes,d|=e.subtreeFlags&14680064,d|=e.flags&14680064,e.return=a,e=e.sibling;else if(0!==(a.mode&2)){e=a.actualDuration;f=a.selfBaseDuration;for(var g=a.child;null!==g;)c|=g.lanes|\ng.childLanes,d|=g.subtreeFlags,d|=g.flags,e+=g.actualDuration,f+=g.treeBaseDuration,g=g.sibling;a.actualDuration=e;a.treeBaseDuration=f}else for(e=a.child;null!==e;)c|=e.lanes|e.childLanes,d|=e.subtreeFlags,d|=e.flags,e.return=a,e=e.sibling;a.subtreeFlags|=d;a.childLanes=c;return b}\nfunction lk(a,b,c){var d=b.pendingProps;Kg(b);switch(b.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return S(b),null;case 1:return mg(b.type)&&ng(),S(b),null;case 3:d=b.stateNode;Yh();G(jg);G(I);ci();d.pendingContext&&(d.context=d.pendingContext,d.pendingContext=null);if(null===a||null===a.child)Ug(b)?b.flags|=4:null===a||a.memoizedState.isDehydrated&&0===(b.flags&256)||(b.flags|=1024,null!==Ng&&(mk(Ng),Ng=null));hk(a,b);S(b);return null;case 5:$h(b);var e=Wh(Vh.current);\nc=b.type;if(null!==a&&null!=b.stateNode)ik(a,b,c,d,e),a.ref!==b.ref&&(b.flags|=512,b.flags|=2097152);else{if(!d){if(null===b.stateNode)throw Error(p(166));S(b);return null}a=Wh(Th.current);if(Ug(b)){d=b.stateNode;a=b.type;c=b.memoizedProps;d[bg]=b;d[cg]=c;var f=0!==(b.mode&1);switch(a){case \"dialog\":F(\"cancel\",d);F(\"close\",d);break;case \"iframe\":case \"object\":case \"embed\":F(\"load\",d);break;case \"video\":case \"audio\":for(e=0;e<zf.length;e++)F(zf[e],d);break;case \"source\":F(\"error\",d);break;case \"img\":case \"image\":case \"link\":F(\"error\",\nd);F(\"load\",d);break;case \"details\":F(\"toggle\",d);break;case \"input\":Za(d,c);F(\"invalid\",d);break;case \"select\":d._wrapperState={wasMultiple:!!c.multiple};F(\"invalid\",d);break;case \"textarea\":gb(d,c),F(\"invalid\",d)}ub(a,c);e=null;for(var g in c)if(c.hasOwnProperty(g)){var h=c[g];\"children\"===g?\"string\"===typeof h?d.textContent!==h&&(!0!==c.suppressHydrationWarning&&Of(d.textContent,h,f),e=[\"children\",h]):\"number\"===typeof h&&d.textContent!==\"\"+h&&(!0!==c.suppressHydrationWarning&&Of(d.textContent,\nh,f),e=[\"children\",\"\"+h]):ea.hasOwnProperty(g)&&null!=h&&\"onScroll\"===g&&F(\"scroll\",d)}switch(a){case \"input\":Va(d);cb(d,c,!0);break;case \"textarea\":Va(d);ib(d);break;case \"select\":case \"option\":break;default:\"function\"===typeof c.onClick&&(d.onclick=Pf)}d=e;b.updateQueue=d;null!==d&&(b.flags|=4)}else{g=9===e.nodeType?e:e.ownerDocument;\"http://www.w3.org/1999/xhtml\"===a&&(a=jb(c));\"http://www.w3.org/1999/xhtml\"===a?\"script\"===c?(a=g.createElement(\"div\"),a.innerHTML=\"<script>\\x3c/script>\",a=a.removeChild(a.firstChild)):\n\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[bg]=b;a[cg]=d;gk(a,b,!1,!1);b.stateNode=a;a:{g=vb(c,d);switch(c){case \"dialog\":F(\"cancel\",a);F(\"close\",a);e=d;break;case \"iframe\":case \"object\":case \"embed\":F(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;e<zf.length;e++)F(zf[e],a);e=d;break;case \"source\":F(\"error\",a);e=d;break;case \"img\":case \"image\":case \"link\":F(\"error\",\na);F(\"load\",a);e=d;break;case \"details\":F(\"toggle\",a);e=d;break;case \"input\":Za(a,d);e=Ya(a,d);F(\"invalid\",a);break;case \"option\":e=d;break;case \"select\":a._wrapperState={wasMultiple:!!d.multiple};e=u({},d,{value:void 0});F(\"invalid\",a);break;case \"textarea\":gb(a,d);e=fb(a,d);F(\"invalid\",a);break;default:e=d}ub(c,e);h=e;for(f in h)if(h.hasOwnProperty(f)){var k=h[f];\"style\"===f?sb(a,k):\"dangerouslySetInnerHTML\"===f?(k=k?k.__html:void 0,null!=k&&mb(a,k)):\"children\"===f?\"string\"===typeof k?(\"textarea\"!==\nc||\"\"!==k)&&nb(a,k):\"number\"===typeof k&&nb(a,\"\"+k):\"suppressContentEditableWarning\"!==f&&\"suppressHydrationWarning\"!==f&&\"autoFocus\"!==f&&(ea.hasOwnProperty(f)?null!=k&&\"onScroll\"===f&&F(\"scroll\",a):null!=k&&ua(a,f,k,g))}switch(c){case \"input\":Va(a);cb(a,d,!1);break;case \"textarea\":Va(a);ib(a);break;case \"option\":null!=d.value&&a.setAttribute(\"value\",\"\"+Sa(d.value));break;case \"select\":a.multiple=!!d.multiple;f=d.value;null!=f?eb(a,!!d.multiple,f,!1):null!=d.defaultValue&&eb(a,!!d.multiple,d.defaultValue,\n!0);break;default:\"function\"===typeof e.onClick&&(a.onclick=Pf)}switch(c){case \"button\":case \"input\":case \"select\":case \"textarea\":d=!!d.autoFocus;break a;case \"img\":d=!0;break a;default:d=!1}}d&&(b.flags|=4)}null!==b.ref&&(b.flags|=512,b.flags|=2097152)}S(b);return null;case 6:if(a&&null!=b.stateNode)jk(a,b,a.memoizedProps,d);else{if(\"string\"!==typeof d&&null===b.stateNode)throw Error(p(166));a=Wh(Vh.current);Wh(Th.current);if(Ug(b)){d=b.stateNode;a=b.memoizedProps;d[bg]=b;if(c=d.nodeValue!==a)if(f=\nLg,null!==f)switch(f.tag){case 3:Of(d.nodeValue,a,0!==(f.mode&1));break;case 5:!0!==f.memoizedProps.suppressHydrationWarning&&Of(d.nodeValue,a,0!==(f.mode&1))}c&&(b.flags|=4)}else d=(9===a.nodeType?a:a.ownerDocument).createTextNode(d),d[bg]=b,b.stateNode=d}S(b);return null;case 13:G(L);d=b.memoizedState;if(null===a||null!==a.memoizedState&&null!==a.memoizedState.dehydrated){if(J&&null!==Mg&&0!==(b.mode&1)&&0===(b.flags&128))Vg(),Wg(),b.flags|=98560,f=!1;else if(f=Ug(b),null!==d&&null!==d.dehydrated){if(null===\na){if(!f)throw Error(p(318));f=b.memoizedState;f=null!==f?f.dehydrated:null;if(!f)throw Error(p(317));f[bg]=b;S(b);0!==(b.mode&2)&&null!==d&&(f=b.child,null!==f&&(b.treeBaseDuration-=f.treeBaseDuration))}else Wg(),0===(b.flags&128)&&(b.memoizedState=null),b.flags|=4,S(b),0!==(b.mode&2)&&null!==d&&(f=b.child,null!==f&&(b.treeBaseDuration-=f.treeBaseDuration));f=!1}else null!==Ng&&(mk(Ng),Ng=null),f=!0;if(!f)return b.flags&65536?b:null}if(0!==(b.flags&128))return b.lanes=c,0!==(b.mode&2)&&lj(b),b;d=\nnull!==d;d!==(null!==a&&null!==a.memoizedState)&&d&&(b.child.flags|=8192,0!==(b.mode&1)&&(null===a||0!==(L.current&1)?0===T&&(T=3):ak()));null!==b.updateQueue&&(b.flags|=4);S(b);0!==(b.mode&2)&&d&&(d=b.child,null!==d&&(b.treeBaseDuration-=d.treeBaseDuration));return null;case 4:return Yh(),hk(a,b),null===a&&Gf(b.stateNode.containerInfo),S(b),null;case 10:return eh(b.type._context),S(b),null;case 17:return mg(b.type)&&ng(),S(b),null;case 19:G(L);f=b.memoizedState;if(null===f)return S(b),null;d=0!==\n(b.flags&128);g=f.rendering;if(null===g)if(d)kk(f,!1);else{if(0!==T||null!==a&&0!==(a.flags&128))for(a=b.child;null!==a;){g=ai(a);if(null!==g){b.flags|=128;kk(f,!1);d=g.updateQueue;null!==d&&(b.updateQueue=d,b.flags|=4);b.subtreeFlags=0;d=c;for(a=b.child;null!==a;)c=a,g=d,c.flags&=14680066,f=c.alternate,null===f?(c.childLanes=0,c.lanes=g,c.child=null,c.subtreeFlags=0,c.memoizedProps=null,c.memoizedState=null,c.updateQueue=null,c.dependencies=null,c.stateNode=null,c.selfBaseDuration=0,c.treeBaseDuration=\n0):(c.childLanes=f.childLanes,c.lanes=f.lanes,c.child=f.child,c.subtreeFlags=0,c.deletions=null,c.memoizedProps=f.memoizedProps,c.memoizedState=f.memoizedState,c.updateQueue=f.updateQueue,c.type=f.type,g=f.dependencies,c.dependencies=null===g?null:{lanes:g.lanes,firstContext:g.firstContext},c.selfBaseDuration=f.selfBaseDuration,c.treeBaseDuration=f.treeBaseDuration),a=a.sibling;H(L,L.current&1|2);return b.child}a=a.sibling}null!==f.tail&&A()>nk&&(b.flags|=128,d=!0,kk(f,!1),b.lanes=4194304)}else{if(!d)if(a=\nai(g),null!==a){if(b.flags|=128,d=!0,a=a.updateQueue,null!==a&&(b.updateQueue=a,b.flags|=4),kk(f,!0),null===f.tail&&\"hidden\"===f.tailMode&&!g.alternate&&!J)return S(b),null}else 2*A()-f.renderingStartTime>nk&&1073741824!==c&&(b.flags|=128,d=!0,kk(f,!1),b.lanes=4194304);f.isBackwards?(g.sibling=b.child,b.child=g):(a=f.last,null!==a?a.sibling=g:b.child=g,f.last=g)}if(null!==f.tail)return b=f.tail,f.rendering=b,f.tail=b.sibling,f.renderingStartTime=A(),b.sibling=null,a=L.current,H(L,d?a&1|2:a&1),b;S(b);\nreturn null;case 22:case 23:return ok(),d=null!==b.memoizedState,null!==a&&null!==a.memoizedState!==d&&(b.flags|=8192),d&&0!==(b.mode&1)?0!==(Kj&1073741824)&&(S(b),b.subtreeFlags&6&&(b.flags|=8192)):S(b),null;case 24:return null;case 25:return null}throw Error(p(156,b.tag));}\nfunction pk(a,b){Kg(b);switch(b.tag){case 1:return mg(b.type)&&ng(),a=b.flags,a&65536?(b.flags=a&-65537|128,0!==(b.mode&2)&&lj(b),b):null;case 3:return Yh(),G(jg),G(I),ci(),a=b.flags,0!==(a&65536)&&0===(a&128)?(b.flags=a&-65537|128,b):null;case 5:return $h(b),null;case 13:G(L);a=b.memoizedState;if(null!==a&&null!==a.dehydrated){if(null===b.alternate)throw Error(p(340));Wg()}a=b.flags;return a&65536?(b.flags=a&-65537|128,0!==(b.mode&2)&&lj(b),b):null;case 19:return G(L),null;case 4:return Yh(),null;\ncase 10:return eh(b.type._context),null;case 22:case 23:return ok(),null;case 24:return null;default:return null}}var qk=!1,rk=!1,sk=\"function\"===typeof WeakSet?WeakSet:Set,U=null,tk=null,uk=null;function vk(a,b){b.props=a.memoizedProps;b.state=a.memoizedState;if(a.mode&2)try{kj(),b.componentWillUnmount()}finally{ij(a)}else b.componentWillUnmount()}\nfunction wk(a,b){var c=a.ref;if(null!==c)if(\"function\"===typeof c)try{if(a.mode&2)try{kj(),c(null)}finally{ij(a)}else c(null)}catch(d){W(a,b,d)}else c.current=null}function xk(a,b,c){try{c()}catch(d){W(a,b,d)}}var yk=!1;\nfunction zk(a,b){Qf=rd;a=$e();if(af(a)){if(\"selectionStart\"in a)var c={start:a.selectionStart,end:a.selectionEnd};else a:{c=(c=a.ownerDocument)&&c.defaultView||window;var d=c.getSelection&&c.getSelection();if(d&&0!==d.rangeCount){c=d.anchorNode;var e=d.anchorOffset,f=d.focusNode;d=d.focusOffset;try{c.nodeType,f.nodeType}catch(D){c=null;break a}var g=0,h=-1,k=-1,l=0,n=0,q=a,r=null;b:for(;;){for(var z;;){q!==c||0!==e&&3!==q.nodeType||(h=g+e);q!==f||0!==d&&3!==q.nodeType||(k=g+d);3===q.nodeType&&(g+=\nq.nodeValue.length);if(null===(z=q.firstChild))break;r=q;q=z}for(;;){if(q===a)break b;r===c&&++l===e&&(h=g);r===f&&++n===d&&(k=g);if(null!==(z=q.nextSibling))break;q=r;r=q.parentNode}q=z}c=-1===h||-1===k?null:{start:h,end:k}}else c=null}c=c||{start:0,end:0}}else c=null;Rf={focusedElem:a,selectionRange:c};rd=!1;for(U=b;null!==U;)if(b=U,a=b.child,0!==(b.subtreeFlags&1028)&&null!==a)a.return=b,U=a;else for(;null!==U;){b=U;try{var m=b.alternate;if(0!==(b.flags&1024))switch(b.tag){case 0:case 11:case 15:break;\ncase 1:if(null!==m){var w=m.memoizedProps,C=m.memoizedState,x=b.stateNode,y=x.getSnapshotBeforeUpdate(b.elementType===b.type?w:Zg(b.type,w),C);x.__reactInternalSnapshotBeforeUpdate=y}break;case 3:var v=b.stateNode.containerInfo;1===v.nodeType?v.textContent=\"\":9===v.nodeType&&v.documentElement&&v.removeChild(v.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p(163));}}catch(D){W(b,b.return,D)}a=b.sibling;if(null!==a){a.return=b.return;U=a;break}U=b.return}m=yk;yk=!1;return m}\nfunction Ak(a,b,c){var d=b.updateQueue;d=null!==d?d.lastEffect:null;if(null!==d){var e=d=d.next;do{if((e.tag&a)===a){var f=e.destroy;e.destroy=void 0;void 0!==f&&(0!==(a&8)?null!==B&&\"function\"===typeof B.markComponentPassiveEffectUnmountStarted&&B.markComponentPassiveEffectUnmountStarted(b):0!==(a&4)&&uc(b),xk(b,c,f),0!==(a&8)?null!==B&&\"function\"===typeof B.markComponentPassiveEffectUnmountStopped&&B.markComponentPassiveEffectUnmountStopped():0!==(a&4)&&vc())}e=e.next}while(e!==d)}}\nfunction Bk(a,b){var c=b.updateQueue;c=null!==c?c.lastEffect:null;if(null!==c){var d=c=c.next;do{if((d.tag&a)===a){0!==(a&8)?null!==B&&\"function\"===typeof B.markComponentPassiveEffectMountStarted&&B.markComponentPassiveEffectMountStarted(b):0!==(a&4)&&null!==B&&\"function\"===typeof B.markComponentLayoutEffectMountStarted&&B.markComponentLayoutEffectMountStarted(b);var e=d.create;d.destroy=e();0!==(a&8)?null!==B&&\"function\"===typeof B.markComponentPassiveEffectMountStopped&&B.markComponentPassiveEffectMountStopped():\n0!==(a&4)&&null!==B&&\"function\"===typeof B.markComponentLayoutEffectMountStopped&&B.markComponentLayoutEffectMountStopped()}d=d.next}while(d!==c)}}function Ck(a){var b=a.ref;if(null!==b){var c=a.stateNode;if(\"function\"===typeof b)if(a.mode&2)try{kj(),b(c)}finally{ij(a)}else b(c);else b.current=c}}\nfunction Dk(a){var b=a.alternate;null!==b&&(a.alternate=null,Dk(b));a.child=null;a.deletions=null;a.sibling=null;5===a.tag&&(b=a.stateNode,null!==b&&(delete b[bg],delete b[cg],delete b[Cf],delete b[dg],delete b[eg]));a.stateNode=null;a.return=null;a.dependencies=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.stateNode=null;a.updateQueue=null}function Ek(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Fk(a){a:for(;;){for(;null===a.sibling;){if(null===a.return||Ek(a.return))return null;a=a.return}a.sibling.return=a.return;for(a=a.sibling;5!==a.tag&&6!==a.tag&&18!==a.tag;){if(a.flags&2)continue a;if(null===a.child||4===a.tag)continue a;else a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}\nfunction Gk(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=Pf));else if(4!==d&&(a=a.child,null!==a))for(Gk(a,b,c),a=a.sibling;null!==a;)Gk(a,b,c),a=a.sibling}\nfunction Hk(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Hk(a,b,c),a=a.sibling;null!==a;)Hk(a,b,c),a=a.sibling}var X=null,Ik=!1;function Jk(a,b,c){for(c=c.child;null!==c;)Kk(a,b,c),c=c.sibling}\nfunction Kk(a,b,c){if(lc&&\"function\"===typeof lc.onCommitFiberUnmount)try{lc.onCommitFiberUnmount(kc,c)}catch(h){}switch(c.tag){case 5:rk||wk(c,b);case 6:var d=X,e=Ik;X=null;Jk(a,b,c);X=d;Ik=e;null!==X&&(Ik?(a=X,c=c.stateNode,8===a.nodeType?a.parentNode.removeChild(c):a.removeChild(c)):X.removeChild(c.stateNode));break;case 18:null!==X&&(Ik?(a=X,c=c.stateNode,8===a.nodeType?Yf(a.parentNode,c):1===a.nodeType&&Yf(a,c),pd(a)):Yf(X,c.stateNode));break;case 4:d=X;e=Ik;X=c.stateNode.containerInfo;Ik=!0;\nJk(a,b,c);X=d;Ik=e;break;case 0:case 11:case 14:case 15:if(!rk&&(d=c.updateQueue,null!==d&&(d=d.lastEffect,null!==d))){e=d=d.next;do{var f=e,g=f.destroy;f=f.tag;void 0!==g&&(0!==(f&2)?xk(c,b,g):0!==(f&4)&&(uc(c),c.mode&2?(kj(),xk(c,b,g),ij(c)):xk(c,b,g),vc()));e=e.next}while(e!==d)}Jk(a,b,c);break;case 1:if(!rk&&(wk(c,b),d=c.stateNode,\"function\"===typeof d.componentWillUnmount))try{vk(c,d)}catch(h){W(c,b,h)}Jk(a,b,c);break;case 21:Jk(a,b,c);break;case 22:c.mode&1?(rk=(d=rk)||null!==c.memoizedState,\nJk(a,b,c),rk=d):Jk(a,b,c);break;default:Jk(a,b,c)}}function Lk(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new sk);b.forEach(function(b){var d=Mk.bind(null,a,b);if(!c.has(b)){c.add(b);if(mc)if(null!==tk&&null!==uk)xj(uk,tk);else throw Error(p(413));b.then(d,d)}})}}function Nk(a,b,c){tk=c;uk=a;Ok(b,a);uk=tk=null}\nfunction Pk(a,b){var c=b.deletions;if(null!==c)for(var d=0;d<c.length;d++){var e=c[d];try{var f=a,g=b,h=g;a:for(;null!==h;){switch(h.tag){case 5:X=h.stateNode;Ik=!1;break a;case 3:X=h.stateNode.containerInfo;Ik=!0;break a;case 4:X=h.stateNode.containerInfo;Ik=!0;break a}h=h.return}if(null===X)throw Error(p(160));Kk(f,g,e);X=null;Ik=!1;var k=e.alternate;null!==k&&(k.return=null);e.return=null}catch(l){W(e,b,l)}}if(b.subtreeFlags&12854)for(b=b.child;null!==b;)Ok(b,a),b=b.sibling}\nfunction Ok(a,b){var c=a.alternate,d=a.flags;switch(a.tag){case 0:case 11:case 14:case 15:Pk(b,a);Qk(a);if(d&4){try{Ak(3,a,a.return),Bk(3,a)}catch(m){W(a,a.return,m)}if(a.mode&2){try{kj(),Ak(5,a,a.return)}catch(m){W(a,a.return,m)}ij(a)}else try{Ak(5,a,a.return)}catch(m){W(a,a.return,m)}}break;case 1:Pk(b,a);Qk(a);d&512&&null!==c&&wk(c,c.return);break;case 5:Pk(b,a);Qk(a);d&512&&null!==c&&wk(c,c.return);if(a.flags&32){var e=a.stateNode;try{nb(e,\"\")}catch(m){W(a,a.return,m)}}if(d&4&&(e=a.stateNode,\nnull!=e)){var f=a.memoizedProps,g=null!==c?c.memoizedProps:f,h=a.type,k=a.updateQueue;a.updateQueue=null;if(null!==k)try{\"input\"===h&&\"radio\"===f.type&&null!=f.name&&$a(e,f);vb(h,g);var l=vb(h,f);for(g=0;g<k.length;g+=2){var n=k[g],q=k[g+1];\"style\"===n?sb(e,q):\"dangerouslySetInnerHTML\"===n?mb(e,q):\"children\"===n?nb(e,q):ua(e,n,q,l)}switch(h){case \"input\":ab(e,f);break;case \"textarea\":hb(e,f);break;case \"select\":var r=e._wrapperState.wasMultiple;e._wrapperState.wasMultiple=!!f.multiple;var z=f.value;\nnull!=z?eb(e,!!f.multiple,z,!1):r!==!!f.multiple&&(null!=f.defaultValue?eb(e,!!f.multiple,f.defaultValue,!0):eb(e,!!f.multiple,f.multiple?[]:\"\",!1))}e[cg]=f}catch(m){W(a,a.return,m)}}break;case 6:Pk(b,a);Qk(a);if(d&4){if(null===a.stateNode)throw Error(p(162));e=a.stateNode;f=a.memoizedProps;try{e.nodeValue=f}catch(m){W(a,a.return,m)}}break;case 3:Pk(b,a);Qk(a);if(d&4&&null!==c&&c.memoizedState.isDehydrated)try{pd(b.containerInfo)}catch(m){W(a,a.return,m)}break;case 4:Pk(b,a);Qk(a);break;case 13:Pk(b,\na);Qk(a);e=a.child;e.flags&8192&&(f=null!==e.memoizedState,e.stateNode.isHidden=f,!f||null!==e.alternate&&null!==e.alternate.memoizedState||(Rk=A()));d&4&&Lk(a);break;case 22:n=null!==c&&null!==c.memoizedState;a.mode&1?(rk=(l=rk)||n,Pk(b,a),rk=l):Pk(b,a);Qk(a);if(d&8192){l=null!==a.memoizedState;if((a.stateNode.isHidden=l)&&!n&&0!==(a.mode&1))for(U=a,n=a.child;null!==n;){for(q=U=n;null!==U;){r=U;z=r.child;switch(r.tag){case 0:case 11:case 14:case 15:if(r.mode&2)try{kj(),Ak(4,r,r.return)}finally{ij(r)}else Ak(4,\nr,r.return);break;case 1:wk(r,r.return);d=r.stateNode;if(\"function\"===typeof d.componentWillUnmount){c=r;b=r.return;try{vk(c,d)}catch(m){W(c,b,m)}}break;case 5:wk(r,r.return);break;case 22:if(null!==r.memoizedState){Sk(q);continue}}null!==z?(z.return=r,U=z):Sk(q)}n=n.sibling}a:for(n=null,q=a;;){if(5===q.tag){if(null===n){n=q;try{e=q.stateNode,l?(f=e.style,\"function\"===typeof f.setProperty?f.setProperty(\"display\",\"none\",\"important\"):f.display=\"none\"):(h=q.stateNode,k=q.memoizedProps.style,g=void 0!==\nk&&null!==k&&k.hasOwnProperty(\"display\")?k.display:null,h.style.display=rb(\"display\",g))}catch(m){W(a,a.return,m)}}}else if(6===q.tag){if(null===n)try{q.stateNode.nodeValue=l?\"\":q.memoizedProps}catch(m){W(a,a.return,m)}}else if((22!==q.tag&&23!==q.tag||null===q.memoizedState||q===a)&&null!==q.child){q.child.return=q;q=q.child;continue}if(q===a)break a;for(;null===q.sibling;){if(null===q.return||q.return===a)break a;n===q&&(n=null);q=q.return}n===q&&(n=null);q.sibling.return=q.return;q=q.sibling}}break;\ncase 19:Pk(b,a);Qk(a);d&4&&Lk(a);break;case 21:break;default:Pk(b,a),Qk(a)}}function Qk(a){var b=a.flags;if(b&2){try{a:{for(var c=a.return;null!==c;){if(Ek(c)){var d=c;break a}c=c.return}throw Error(p(160));}switch(d.tag){case 5:var e=d.stateNode;d.flags&32&&(nb(e,\"\"),d.flags&=-33);var f=Fk(a);Hk(a,f,e);break;case 3:case 4:var g=d.stateNode.containerInfo,h=Fk(a);Gk(a,h,g);break;default:throw Error(p(161));}}catch(k){W(a,a.return,k)}a.flags&=-3}b&4096&&(a.flags&=-4097)}\nfunction Tk(a,b,c){tk=c;uk=b;U=a;Uk(a,b,c);uk=tk=null}\nfunction Uk(a,b,c){for(var d=0!==(a.mode&1);null!==U;){var e=U,f=e.child;if(22===e.tag&&d){var g=null!==e.memoizedState||qk;if(!g){var h=e.alternate,k=null!==h&&null!==h.memoizedState||rk;h=qk;var l=rk;qk=g;if((rk=k)&&!l)for(U=e;null!==U;)g=U,k=g.child,22===g.tag&&null!==g.memoizedState?Vk(e):null!==k?(k.return=g,U=k):Vk(e);for(;null!==f;)U=f,Uk(f,b,c),f=f.sibling;U=e;qk=h;rk=l}Wk(a,b,c)}else 0!==(e.subtreeFlags&8772)&&null!==f?(f.return=e,U=f):Wk(a,b,c)}}\nfunction Wk(a){for(;null!==U;){var b=U;if(0!==(b.flags&8772)){var c=b.alternate;try{if(0!==(b.flags&8772))switch(b.tag){case 0:case 11:case 15:if(!rk)if(b.mode&2)try{kj(),Bk(5,b)}finally{ij(b)}else Bk(5,b);break;case 1:var d=b.stateNode;if(b.flags&4&&!rk)if(null===c)if(b.mode&2)try{kj(),d.componentDidMount()}finally{ij(b)}else d.componentDidMount();else{var e=b.elementType===b.type?c.memoizedProps:Zg(b.type,c.memoizedProps),f=c.memoizedState;if(b.mode&2)try{kj(),d.componentDidUpdate(e,f,d.__reactInternalSnapshotBeforeUpdate)}finally{ij(b)}else d.componentDidUpdate(e,\nf,d.__reactInternalSnapshotBeforeUpdate)}var g=b.updateQueue;null!==g&&wh(b,g,d);break;case 3:var h=b.updateQueue;if(null!==h){var k=null;if(null!==b.child)switch(b.child.tag){case 5:k=b.child.stateNode;break;case 1:k=b.child.stateNode}wh(b,h,k)}break;case 5:var l=b.stateNode;if(null===c&&b.flags&4){k=l;var n=b.memoizedProps;switch(b.type){case \"button\":case \"input\":case \"select\":case \"textarea\":n.autoFocus&&k.focus();break;case \"img\":n.src&&(k.src=n.src)}}break;case 6:break;case 4:break;case 12:var q=\nb.memoizedProps,r=q.onCommit,z=q.onRender,m=b.stateNode.effectDuration;k=bj;c=null===c?\"mount\":\"update\";fj&&(c=\"nested-update\");\"function\"===typeof z&&z(b.memoizedProps.id,c,b.actualDuration,b.treeBaseDuration,b.actualStartTime,k);\"function\"===typeof r&&r(b.memoizedProps.id,c,m,k);Xk(b);var w=b.return;a:for(;null!==w;){switch(w.tag){case 3:w.stateNode.effectDuration+=m;break a;case 12:w.stateNode.effectDuration+=m;break a}w=w.return}break;case 13:if(null===b.memoizedState){var C=b.alternate;if(null!==\nC){var x=C.memoizedState;if(null!==x){var y=x.dehydrated;null!==y&&pd(y)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(p(163));}rk||b.flags&512&&Ck(b)}catch(v){W(b,b.return,v)}}if(b===a){U=null;break}k=b.sibling;if(null!==k){k.return=b.return;U=k;break}U=b.return}}function Sk(a){for(;null!==U;){var b=U;if(b===a){U=null;break}var c=b.sibling;if(null!==c){c.return=b.return;U=c;break}U=b.return}}\nfunction Vk(a){for(;null!==U;){var b=U;try{switch(b.tag){case 0:case 11:case 15:if(b.mode&2)try{kj();var c=b.return;try{Bk(4,b)}catch(l){W(b,c,l)}}finally{ij(b)}else{var d=b.return;try{Bk(4,b)}catch(l){W(b,d,l)}}break;case 1:var e=b.stateNode;if(\"function\"===typeof e.componentDidMount){var f=b.return;try{e.componentDidMount()}catch(l){W(b,f,l)}}var g=b.return;try{Ck(b)}catch(l){W(b,g,l)}break;case 5:var h=b.return;try{Ck(b)}catch(l){W(b,h,l)}}}catch(l){W(b,b.return,l)}if(b===a){U=null;break}var k=\nb.sibling;if(null!==k){k.return=b.return;U=k;break}U=b.return}}var Yk=Math.ceil,Zk=va.ReactCurrentDispatcher,$k=va.ReactCurrentOwner,al=va.ReactCurrentBatchConfig,K=0,Q=null,Y=null,Z=0,Kj=0,Jj=hg(0),T=0,bl=null,vh=0,cl=0,dl=0,el=null,fl=null,Rk=0,nk=Infinity,gl=null,rj=!1,sj=null,uj=null,hl=!1,il=null,jl=0,kl=[],ll=0,ml=null,nl=-1,ol=0;function zh(){return 0!==(K&6)?A():-1!==nl?nl:nl=A()}\nfunction Ah(a){if(0===(a.mode&1))return 1;if(0!==(K&2)&&0!==Z)return Z&-Z;if(null!==Yg.transition)return 0===ol&&(ol=Kc()),ol;a=E;if(0!==a)return a;a=window.event;a=void 0===a?16:xd(a.type);return a}function Bh(a,b,c,d){if(50<ll)throw ll=0,ml=null,Error(p(185));Mc(a,c,d);if(0===(K&2)||a!==Q)mc&&Pc(a,b,c),a===Q&&(0===(K&2)&&(cl|=c),4===T&&pl(a,Z)),ql(a,d),1===c&&0===K&&0===(b.mode&1)&&(nk=A()+500,tg&&xg())}\nfunction ql(a,b){var c=a.callbackNode;Ic(a,b);var d=Gc(a,a===Q?Z:0);if(0===d)null!==c&&bc(c),a.callbackNode=null,a.callbackPriority=0;else if(b=d&-d,a.callbackPriority!==b){null!=c&&bc(c);if(1===b)0===a.tag?wg(rl.bind(null,a)):vg(rl.bind(null,a)),Xf(function(){0===(K&6)&&xg()}),c=null;else{switch(Rc(d)){case 1:c=fc;break;case 4:c=gc;break;case 16:c=hc;break;case 536870912:c=jc;break;default:c=hc}c=sl(c,tl.bind(null,a))}a.callbackPriority=b;a.callbackNode=c}}\nfunction tl(a,b){gj=fj=!1;nl=-1;ol=0;if(0!==(K&6))throw Error(p(327));var c=a.callbackNode;if(ul()&&a.callbackNode!==c)return null;var d=Gc(a,a===Q?Z:0);if(0===d)return null;if(0!==(d&30)||0!==(d&a.expiredLanes)||b)b=vl(a,d);else{b=d;var e=K;K|=2;var f=wl();if(Q!==a||Z!==b){if(mc){var g=a.memoizedUpdaters;0<g.size&&(xj(a,Z),g.clear());Qc(a,b)}gl=null;nk=A()+500;xl(a,b)}wc(b);do try{yl();break}catch(h){zl(a,h)}while(1);dh();Zk.current=f;K=e;null!==Y?(null!==B&&\"function\"===typeof B.markRenderYielded&&\nB.markRenderYielded(),b=0):(xc(),Q=null,Z=0,b=T)}if(0!==b){2===b&&(e=Jc(a),0!==e&&(d=e,b=Al(a,e)));if(1===b)throw c=bl,xl(a,0),pl(a,d),ql(a,A()),c;if(6===b)pl(a,d);else{e=a.current.alternate;if(0===(d&30)&&!Bl(e)&&(b=vl(a,d),2===b&&(f=Jc(a),0!==f&&(d=f,b=Al(a,f))),1===b))throw c=bl,xl(a,0),pl(a,d),ql(a,A()),c;a.finishedWork=e;a.finishedLanes=d;switch(b){case 0:case 1:throw Error(p(345));case 2:Dl(a,fl,gl);break;case 3:pl(a,d);if((d&130023424)===d&&(b=Rk+500-A(),10<b)){if(0!==Gc(a,0))break;e=a.suspendedLanes;\nif((e&d)!==d){zh();a.pingedLanes|=a.suspendedLanes&e;break}a.timeoutHandle=Tf(Dl.bind(null,a,fl,gl),b);break}Dl(a,fl,gl);break;case 4:pl(a,d);if((d&4194240)===d)break;b=a.eventTimes;for(e=-1;0<d;)g=31-Ac(d),f=1<<g,g=b[g],g>e&&(e=g),d&=~f;d=e;d=A()-d;d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*Yk(d/1960))-d;if(10<d){a.timeoutHandle=Tf(Dl.bind(null,a,fl,gl),d);break}Dl(a,fl,gl);break;case 5:Dl(a,fl,gl);break;default:throw Error(p(329));}}}ql(a,A());return a.callbackNode===\nc?tl.bind(null,a):null}function Al(a,b){var c=el;a.current.memoizedState.isDehydrated&&(xl(a,b).flags|=256);a=vl(a,b);2!==a&&(b=fl,fl=c,null!==b&&mk(b));return a}function mk(a){null===fl?fl=a:fl.push.apply(fl,a)}\nfunction Bl(a){for(var b=a;;){if(b.flags&16384){var c=b.updateQueue;if(null!==c&&(c=c.stores,null!==c))for(var d=0;d<c.length;d++){var e=c[d],f=e.getSnapshot;e=e.value;try{if(!Ve(f(),e))return!1}catch(g){return!1}}}c=b.child;if(b.subtreeFlags&16384&&null!==c)c.return=b,b=c;else{if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return!0;b=b.return}b.sibling.return=b.return;b=b.sibling}}return!0}\nfunction pl(a,b){b&=~dl;b&=~cl;a.suspendedLanes|=b;a.pingedLanes&=~b;for(a=a.expirationTimes;0<b;){var c=31-Ac(b),d=1<<c;a[c]=-1;b&=~d}}function rl(a){fj=gj;gj=!1;if(0!==(K&6))throw Error(p(327));ul();var b=Gc(a,0);if(0===(b&1))return ql(a,A()),null;var c=vl(a,b);if(0!==a.tag&&2===c){var d=Jc(a);0!==d&&(b=d,c=Al(a,d))}if(1===c)throw c=bl,xl(a,0),pl(a,b),ql(a,A()),c;if(6===c)throw Error(p(345));a.finishedWork=a.current.alternate;a.finishedLanes=b;Dl(a,fl,gl);ql(a,A());return null}\nfunction El(a,b){var c=K;K|=1;try{return a(b)}finally{K=c,0===K&&(nk=A()+500,tg&&xg())}}function Fl(a){null!==il&&0===il.tag&&0===(K&6)&&ul();var b=K;K|=1;var c=al.transition,d=E;try{if(al.transition=null,E=1,a)return a()}finally{E=d,al.transition=c,K=b,0===(K&6)&&xg()}}function ok(){Kj=Jj.current;G(Jj)}\nfunction xl(a,b){a.finishedWork=null;a.finishedLanes=0;var c=a.timeoutHandle;-1!==c&&(a.timeoutHandle=-1,Uf(c));if(null!==Y)for(c=Y.return;null!==c;){var d=c;Kg(d);switch(d.tag){case 1:d=d.type.childContextTypes;null!==d&&void 0!==d&&ng();break;case 3:Yh();G(jg);G(I);ci();break;case 5:$h(d);break;case 4:Yh();break;case 13:G(L);break;case 19:G(L);break;case 10:eh(d.type._context);break;case 22:case 23:ok()}c=c.return}Q=a;Y=a=Lh(a.current,null);Z=Kj=b;T=0;bl=null;dl=cl=vh=0;fl=el=null;if(null!==jh){for(b=\n0;b<jh.length;b++)if(c=jh[b],d=c.interleaved,null!==d){c.interleaved=null;var e=d.next,f=c.pending;if(null!==f){var g=f.next;f.next=e;d.next=g}c.pending=d}jh=null}return a}\nfunction zl(a,b){do{var c=Y;try{dh();di.current=pi;if(gi){for(var d=M.memoizedState;null!==d;){var e=d.queue;null!==e&&(e.pending=null);d=d.next}gi=!1}fi=0;O=N=M=null;hi=!1;ii=0;$k.current=null;if(null===c||null===c.return){T=1;bl=b;Y=null;break}c.mode&2&&hj(c,!0);tc();if(null!==b&&\"object\"===typeof b&&\"function\"===typeof b.then){var f=b;null!==B&&\"function\"===typeof B.markComponentSuspended&&B.markComponentSuspended(c,f,Z)}else null!==B&&\"function\"===typeof B.markComponentErrored&&B.markComponentErrored(c,\nb,Z);a:{var g=a,h=c.return,k=c;f=b;b=Z;k.flags|=32768;mc&&xj(g,b);if(null!==f&&\"object\"===typeof f&&\"function\"===typeof f.then){var l=f,n=k,q=n.tag;if(0===(n.mode&1)&&(0===q||11===q||15===q)){var r=n.alternate;r?(n.updateQueue=r.updateQueue,n.memoizedState=r.memoizedState,n.lanes=r.lanes):(n.updateQueue=null,n.memoizedState=null)}var z=yj(h);if(null!==z){z.flags&=-257;zj(z,h,k,g,b);z.mode&1&&vj(g,l,b);b=z;f=l;var m=b.updateQueue;if(null===m){var w=new Set;w.add(f);b.updateQueue=w}else m.add(f);break a}else{if(0===\n(b&1)){vj(g,l,b);ak();break a}f=Error(p(426))}}else if(J&&k.mode&1){var C=yj(h);if(null!==C){0===(C.flags&65536)&&(C.flags|=256);zj(C,h,k,g,b);Xg(mj(f,k));break a}}g=f=mj(f,k);4!==T&&(T=2);null===el?el=[g]:el.push(g);g=h;do{switch(g.tag){case 3:g.flags|=65536;b&=-b;g.lanes|=b;var x=qj(g,f,b);th(g,x);break a;case 1:k=f;var y=g.type,v=g.stateNode;if(0===(g.flags&128)&&(\"function\"===typeof y.getDerivedStateFromError||null!==v&&\"function\"===typeof v.componentDidCatch&&(null===uj||!uj.has(v)))){g.flags|=\n65536;b&=-b;g.lanes|=b;var D=tj(g,k,b);th(g,D);break a}}g=g.return}while(null!==g)}Gl(c)}catch(ca){b=ca;Y===c&&null!==c&&(Y=c=c.return);continue}break}while(1)}function wl(){var a=Zk.current;Zk.current=pi;return null===a?pi:a}function ak(){if(0===T||3===T||2===T)T=4;null===Q||0===(vh&268435455)&&0===(cl&268435455)||pl(Q,Z)}\nfunction vl(a,b){var c=K;K|=2;var d=wl();if(Q!==a||Z!==b){if(mc){var e=a.memoizedUpdaters;0<e.size&&(xj(a,Z),e.clear());Qc(a,b)}gl=null;xl(a,b)}wc(b);do try{Hl();break}catch(f){zl(a,f)}while(1);dh();K=c;Zk.current=d;if(null!==Y)throw Error(p(261));xc();Q=null;Z=0;return T}function Hl(){for(;null!==Y;)Il(Y)}function yl(){for(;null!==Y&&!cc();)Il(Y)}\nfunction Il(a){var b=a.alternate;0!==(a.mode&2)?(dj=aj(),0>a.actualStartTime&&(a.actualStartTime=aj()),b=Jl(b,a,Kj),hj(a,!0)):b=Jl(b,a,Kj);a.memoizedProps=a.pendingProps;null===b?Gl(a):Y=b;$k.current=null}\nfunction Gl(a){var b=a;do{var c=b.alternate;a=b.return;if(0===(b.flags&32768)){if(0===(b.mode&2))c=lk(c,b,Kj);else{var d=b;dj=aj();0>d.actualStartTime&&(d.actualStartTime=aj());c=lk(c,b,Kj);hj(b,!1)}if(null!==c){Y=c;return}}else{c=pk(c,b);if(null!==c){c.flags&=32767;Y=c;return}if(0!==(b.mode&2)){hj(b,!1);c=b.actualDuration;for(d=b.child;null!==d;)c+=d.actualDuration,d=d.sibling;b.actualDuration=c}if(null!==a)a.flags|=32768,a.subtreeFlags=0,a.deletions=null;else{T=6;Y=null;return}}b=b.sibling;if(null!==\nb){Y=b;return}Y=b=a}while(null!==b);0===T&&(T=5)}function Dl(a,b,c){var d=E,e=al.transition;try{al.transition=null,E=1,Kl(a,b,c,d)}finally{al.transition=e,E=d}return null}\nfunction Kl(a,b,c,d){do ul();while(null!==il);if(0!==(K&6))throw Error(p(327));c=a.finishedWork;var e=a.finishedLanes;null!==B&&\"function\"===typeof B.markCommitStarted&&B.markCommitStarted(e);if(null===c)return rc(),null;a.finishedWork=null;a.finishedLanes=0;if(c===a.current)throw Error(p(177));a.callbackNode=null;a.callbackPriority=0;var f=c.lanes|c.childLanes;Nc(a,f);a===Q&&(Y=Q=null,Z=0);0===(c.subtreeFlags&2064)&&0===(c.flags&2064)||hl||(hl=!0,sl(hc,function(){ul();return null}));f=0!==(c.flags&\n15990);if(0!==(c.subtreeFlags&15990)||f){f=al.transition;al.transition=null;var g=E;E=1;var h=K;K|=4;$k.current=null;zk(a,c);bj=aj();Nk(a,c,e);bf(Rf);rd=!!Qf;Rf=Qf=null;a.current=c;null!==B&&\"function\"===typeof B.markLayoutEffectsStarted&&B.markLayoutEffectsStarted(e);Tk(c,a,e);null!==B&&\"function\"===typeof B.markLayoutEffectsStopped&&B.markLayoutEffectsStopped();dc();K=h;E=g;al.transition=f}else a.current=c,bj=aj();hl&&(hl=!1,il=a,jl=e);f=a.pendingLanes;0===f&&(uj=null);nc(c.stateNode,d);mc&&a.memoizedUpdaters.clear();\nql(a,A());if(null!==b)for(d=a.onRecoverableError,c=0;c<b.length;c++)e=b[c],d(e.value,{componentStack:e.stack,digest:e.digest});if(rj)throw rj=!1,a=sj,sj=null,a;0!==(jl&1)&&0!==a.tag&&ul();f=a.pendingLanes;0!==(f&1)?(gj=!0,a===ml?ll++:(ll=0,ml=a)):ll=0;xg();rc();return null}\nfunction ul(){if(null!==il){var a=Rc(jl),b=al.transition,c=E;try{al.transition=null;E=16>a?16:a;if(null===il)var d=!1;else{a=il;var e=jl;il=null;jl=0;if(0!==(K&6))throw Error(p(331));null!==B&&\"function\"===typeof B.markPassiveEffectsStarted&&B.markPassiveEffectsStarted(e);e=K;K|=4;for(U=a.current;null!==U;){var f=U,g=f.child;if(0!==(U.flags&16)){var h=f.deletions;if(null!==h){for(var k=0;k<h.length;k++){var l=h[k];for(U=l;null!==U;){var n=U,q=n;switch(q.tag){case 0:case 11:case 15:q.mode&2?(ej=aj(),\nAk(8,q,f),jj(q)):Ak(8,q,f)}var r=n.child;if(null!==r)r.return=n,U=r;else for(;null!==U;){n=U;var z=n.sibling,m=n.return;Dk(n);if(n===l){U=null;break}if(null!==z){z.return=m;U=z;break}U=m}}}var w=f.alternate;if(null!==w){var C=w.child;if(null!==C){w.child=null;do{var x=C.sibling;C.sibling=null;C=x}while(null!==C)}}U=f}}if(0!==(f.subtreeFlags&2064)&&null!==g)g.return=f,U=g;else b:for(;null!==U;){f=U;if(0!==(f.flags&2048))switch(k=f,k.tag){case 0:case 11:case 15:k.mode&2?(ej=aj(),Ak(9,k,k.return),jj(k)):\nAk(9,k,k.return)}var y=f.sibling;if(null!==y){y.return=f.return;U=y;break b}U=f.return}}var v=a.current;for(U=v;null!==U;){g=U;var D=g.child;if(0!==(g.subtreeFlags&2064)&&null!==D)D.return=g,U=D;else b:for(g=v;null!==U;){h=U;if(0!==(h.flags&2048))try{switch(l=h,l.tag){case 0:case 11:case 15:if(l.mode&2){ej=aj();try{Bk(9,l)}finally{jj(l)}}else Bk(9,l)}}catch(Rj){W(h,h.return,Rj)}if(h===g){U=null;break b}var ca=h.sibling;if(null!==ca){ca.return=h.return;U=ca;break b}U=h.return}}v=kl;kl=[];for(D=0;D<\nv.length;D++){var R=v[D];if(0!==(R.flags&4))switch(R.tag){case 12:var sa=R.stateNode.passiveEffectDuration,V=R.memoizedProps,Cl=V.id,Hi=V.onPostCommit;ca=bj;var Ii=null===R.alternate?\"mount\":\"update\";fj&&(Ii=\"nested-update\");\"function\"===typeof Hi&&Hi(Cl,Ii,sa,ca);var ob=R.return;b:for(;null!==ob;){switch(ob.tag){case 3:ob.stateNode.passiveEffectDuration+=sa;break b;case 12:ob.stateNode.passiveEffectDuration+=sa;break b}ob=ob.return}}}null!==B&&\"function\"===typeof B.markPassiveEffectsStopped&&B.markPassiveEffectsStopped();\nK=e;xg();if(lc&&\"function\"===typeof lc.onPostCommitFiberRoot)try{lc.onPostCommitFiberRoot(kc,a)}catch(Rj){}var Sj=a.current.stateNode;Sj.effectDuration=0;Sj.passiveEffectDuration=0;d=!0}return d}finally{E=c,al.transition=b}}return!1}function Xk(a){kl.push(a);hl||(hl=!0,sl(hc,function(){ul();return null}))}function Ll(a,b,c){b=mj(c,b);b=qj(a,b,1);a=rh(a,b,1);b=zh();null!==a&&(Mc(a,1,b),ql(a,b))}\nfunction W(a,b,c){if(3===a.tag)Ll(a,a,c);else for(;null!==b;){if(3===b.tag){Ll(b,a,c);break}else if(1===b.tag){var d=b.stateNode;if(\"function\"===typeof b.type.getDerivedStateFromError||\"function\"===typeof d.componentDidCatch&&(null===uj||!uj.has(d))){a=mj(c,a);a=tj(b,a,1);b=rh(b,a,1);a=zh();null!==b&&(Mc(b,1,a),ql(b,a));break}}b=b.return}}\nfunction wj(a,b,c){var d=a.pingCache;null!==d&&d.delete(b);b=zh();a.pingedLanes|=a.suspendedLanes&c;Q===a&&(Z&c)===c&&(4===T||3===T&&(Z&130023424)===Z&&500>A()-Rk?xl(a,0):dl|=c);ql(a,b)}function Ml(a,b){0===b&&(0===(a.mode&1)?b=1:(b=Ec,Ec<<=1,0===(Ec&130023424)&&(Ec=4194304)));var c=zh();a=mh(a,b);null!==a&&(Mc(a,b,c),ql(a,c))}function bk(a){var b=a.memoizedState,c=0;null!==b&&(c=b.retryLane);Ml(a,c)}\nfunction Mk(a,b){var c=0;switch(a.tag){case 13:var d=a.stateNode;var e=a.memoizedState;null!==e&&(c=e.retryLane);break;case 19:d=a.stateNode;break;default:throw Error(p(314));}null!==d&&d.delete(b);Ml(a,c)}var Jl;\nJl=function(a,b,c){if(null!==a)if(a.memoizedProps!==b.pendingProps||jg.current)hh=!0;else{if(0===(a.lanes&c)&&0===(b.flags&128))return hh=!1,fk(a,b,c);hh=0!==(a.flags&131072)?!0:!1}else hh=!1,J&&0!==(b.flags&1048576)&&Ig(b,Bg,b.index);b.lanes=0;switch(b.tag){case 2:var d=b.type;Nj(a,b);a=b.pendingProps;var e=lg(b,I.current);gh(b,c);sc(b);e=li(null,b,d,a,e,c);var f=qi();tc();b.flags|=1;\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof?(b.tag=1,b.memoizedState=null,b.updateQueue=\nnull,mg(d)?(f=!0,qg(b)):f=!1,b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null,oh(b),e.updater=Ch,b.stateNode=e,e._reactInternals=b,Gh(b,d,a,c),b=Oj(null,b,d,!0,f,c)):(b.tag=0,J&&f&&Jg(b),Bj(null,b,e,c),b=b.child);return b;case 16:d=b.elementType;a:{Nj(a,b);a=b.pendingProps;e=d._init;d=e(d._payload);b.type=d;e=b.tag=Nl(d);a=Zg(d,a);switch(e){case 0:b=Hj(null,b,d,a,c);break a;case 1:b=Mj(null,b,d,a,c);break a;case 11:b=Cj(null,b,d,a,c);break a;case 14:b=Ej(null,b,d,Zg(d.type,a),c);break a}throw Error(p(306,\nd,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Zg(d,e),Hj(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Zg(d,e),Mj(a,b,d,e,c);case 3:a:{Pj(b);if(null===a)throw Error(p(387));d=b.pendingProps;f=b.memoizedState;e=f.element;ph(a,b);uh(b,d,null,c);var g=b.memoizedState;d=g.element;if(f.isDehydrated)if(f={element:d,isDehydrated:!1,cache:g.cache,pendingSuspenseBoundaries:g.pendingSuspenseBoundaries,transitions:g.transitions},b.updateQueue.baseState=\nf,b.memoizedState=f,b.flags&256){e=mj(Error(p(423)),b);b=Qj(a,b,d,c,e);break a}else if(d!==e){e=mj(Error(p(424)),b);b=Qj(a,b,d,c,e);break a}else for(Mg=Zf(b.stateNode.containerInfo.firstChild),Lg=b,J=!0,Ng=null,c=Rh(b,null,d,c),b.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{Wg();if(d===e){b=Dj(a,b,c);break a}Bj(a,b,d,c)}b=b.child}return b;case 5:return Zh(b),null===a&&Sg(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,Sf(d,e)?g=null:null!==f&&Sf(d,f)&&(b.flags|=32),\nLj(a,b),Bj(a,b,g,c),b.child;case 6:return null===a&&Sg(b),null;case 13:return Vj(a,b,c);case 4:return Xh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Qh(b,null,d,c):Bj(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Zg(d,e),Cj(a,b,d,e,c);case 7:return Bj(a,b,b.pendingProps,c),b.child;case 8:return Bj(a,b,b.pendingProps.children,c),b.child;case 12:return b.flags|=4,d=b.stateNode,d.effectDuration=0,d.passiveEffectDuration=0,Bj(a,b,b.pendingProps.children,\nc),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;f=b.memoizedProps;g=e.value;H($g,d._currentValue);d._currentValue=g;if(null!==f)if(Ve(f.value,g)){if(f.children===e.children&&!jg.current){b=Dj(a,b,c);break a}}else for(f=b.child,null!==f&&(f.return=b);null!==f;){var h=f.dependencies;if(null!==h){g=f.child;for(var k=h.firstContext;null!==k;){if(k.context===d){if(1===f.tag){k=qh(-1,c&-c);k.tag=2;var l=f.updateQueue;if(null!==l){l=l.shared;var n=l.pending;null===n?k.next=k:(k.next=n.next,n.next=\nk);l.pending=k}}f.lanes|=c;k=f.alternate;null!==k&&(k.lanes|=c);fh(f.return,c,b);h.lanes|=c;break}k=k.next}}else if(10===f.tag)g=f.type===b.type?null:f.child;else if(18===f.tag){g=f.return;if(null===g)throw Error(p(341));g.lanes|=c;h=g.alternate;null!==h&&(h.lanes|=c);fh(g,c,b);g=f.sibling}else g=f.child;if(null!==g)g.return=f;else for(g=f;null!==g;){if(g===b){g=null;break}f=g.sibling;if(null!==f){f.return=g.return;g=f;break}g=g.return}f=g}Bj(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,\nd=b.pendingProps.children,gh(b,c),e=ih(e),sc(b),d=d(e),tc(),b.flags|=1,Bj(a,b,d,c),b.child;case 14:return d=b.type,e=Zg(d,b.pendingProps),e=Zg(d.type,e),Ej(a,b,d,e,c);case 15:return Gj(a,b,b.type,b.pendingProps,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Zg(d,e),Nj(a,b),b.tag=1,mg(d)?(a=!0,qg(b)):a=!1,gh(b,c),Eh(b,d,e),Gh(b,d,e,c),Oj(null,b,d,!0,a,c);case 19:return ek(a,b,c);case 22:return Ij(a,b,c)}throw Error(p(156,b.tag));};\nfunction xj(a,b){mc&&a.memoizedUpdaters.forEach(function(c){Pc(a,c,b)})}function sl(a,b){return ac(a,b)}\nfunction Ol(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.subtreeFlags=this.flags=0;this.deletions=null;this.childLanes=this.lanes=0;this.alternate=null;this.actualDuration=0;this.actualStartTime=-1;this.treeBaseDuration=this.selfBaseDuration=0}function Pg(a,b,c,d){return new Ol(a,b,c,d)}\nfunction Fj(a){a=a.prototype;return!(!a||!a.isReactComponent)}function Nl(a){if(\"function\"===typeof a)return Fj(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Da)return 11;if(a===Ga)return 14}return 2}\nfunction Lh(a,b){var c=a.alternate;null===c?(c=Pg(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.subtreeFlags=0,c.deletions=null,c.actualDuration=0,c.actualStartTime=-1);c.flags=a.flags&14680064;c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:\n{lanes:b.lanes,firstContext:b.firstContext};c.sibling=a.sibling;c.index=a.index;c.ref=a.ref;c.selfBaseDuration=a.selfBaseDuration;c.treeBaseDuration=a.treeBaseDuration;return c}\nfunction Nh(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)Fj(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ya:return Ph(c.children,e,f,b);case za:g=8;e|=8;break;case Aa:return a=Pg(12,c,b,e|2),a.elementType=Aa,a.lanes=f,a.stateNode={effectDuration:0,passiveEffectDuration:0},a;case Ea:return a=Pg(13,c,b,e),a.elementType=Ea,a.lanes=f,a;case Fa:return a=Pg(19,c,b,e),a.elementType=Fa,a.lanes=f,a;case Ia:return Wj(c,e,f,b);default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case Ba:g=\n10;break a;case Ca:g=9;break a;case Da:g=11;break a;case Ga:g=14;break a;case Ha:g=16;d=null;break a}throw Error(p(130,null==a?a:typeof a,\"\"));}b=Pg(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function Ph(a,b,c,d){a=Pg(7,a,d,b);a.lanes=c;return a}function Wj(a,b,c,d){a=Pg(22,a,d,b);a.elementType=Ia;a.lanes=c;a.stateNode={isHidden:!1};return a}function Mh(a,b,c){a=Pg(6,a,null,b);a.lanes=c;return a}\nfunction Oh(a,b,c){b=Pg(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction Pl(a,b,c,d,e){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.callbackNode=this.pendingContext=this.context=null;this.callbackPriority=0;this.eventTimes=Lc(0);this.expirationTimes=Lc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=Lc(0);this.identifierPrefix=d;this.onRecoverableError=e;this.mutableSourceEagerHydrationData=\nnull;this.passiveEffectDuration=this.effectDuration=0;this.memoizedUpdaters=new Set;a=this.pendingUpdatersLaneMap=[];for(b=0;31>b;b++)a.push(new Set)}function Ql(a,b,c,d,e,f,g,h,k){a=new Pl(a,b,c,h,k);1===b?(b=1,!0===f&&(b|=8)):b=0;mc&&(b|=2);f=Pg(3,null,null,b);a.current=f;f.stateNode=a;f.memoizedState={element:d,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null};oh(f);return a}\nfunction Rl(a,b,c){var d=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:xa,key:null==d?null:\"\"+d,children:a,containerInfo:b,implementation:c}}\nfunction Sl(a){if(!a)return ig;a=a._reactInternals;a:{if(Vb(a)!==a||1!==a.tag)throw Error(p(170));var b=a;do{switch(b.tag){case 3:b=b.stateNode.context;break a;case 1:if(mg(b.type)){b=b.stateNode.__reactInternalMemoizedMergedChildContext;break a}}b=b.return}while(null!==b);throw Error(p(171));}if(1===a.tag){var c=a.type;if(mg(c))return pg(a,c,b)}return b}\nfunction Tl(a,b,c,d,e,f,g,h,k){a=Ql(c,d,!0,a,e,f,g,h,k);a.context=Sl(null);c=a.current;d=zh();e=Ah(c);f=qh(d,e);f.callback=void 0!==b&&null!==b?b:null;rh(c,f,e);a.current.lanes=e;Mc(a,e,d);ql(a,d);return a}\nfunction Ul(a,b,c,d){var e=b.current,f=zh(),g=Ah(e);null!==B&&\"function\"===typeof B.markRenderScheduled&&B.markRenderScheduled(g);c=Sl(c);null===b.context?b.context=c:b.pendingContext=c;b=qh(f,g);b.payload={element:a};d=void 0===d?null:d;null!==d&&(b.callback=d);a=rh(e,b,g);null!==a&&(Bh(a,e,g,f),sh(a,e,g));return g}function Vl(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}\nfunction Wl(a,b){a=a.memoizedState;if(null!==a&&null!==a.dehydrated){var c=a.retryLane;a.retryLane=0!==c&&c<b?c:b}}function Xl(a,b){Wl(a,b);(a=a.alternate)&&Wl(a,b)}function Yl(){return null}var Zl=\"function\"===typeof reportError?reportError:function(a){console.error(a)};function $l(a){this._internalRoot=a}am.prototype.render=$l.prototype.render=function(a){var b=this._internalRoot;if(null===b)throw Error(p(409));Ul(a,b,null,null)};\nam.prototype.unmount=$l.prototype.unmount=function(){var a=this._internalRoot;if(null!==a){this._internalRoot=null;var b=a.containerInfo;Fl(function(){Ul(null,a,null,null)});b[If]=null}};function am(a){this._internalRoot=a}am.prototype.unstable_scheduleHydration=function(a){if(a){var b=Vc();a={blockedOn:null,target:a,priority:b};for(var c=0;c<dd.length&&0!==b&&b<dd[c].priority;c++);dd.splice(c,0,a);0===c&&id(a)}};function bm(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType)}\nfunction cm(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType&&(8!==a.nodeType||\" react-mount-point-unstable \"!==a.nodeValue))}function dm(){}\nfunction em(a,b,c,d,e){if(e){if(\"function\"===typeof d){var f=d;d=function(){var a=Vl(g);f.call(a)}}var g=Tl(b,d,a,0,null,!1,!1,\"\",dm);a._reactRootContainer=g;a[If]=g.current;Gf(8===a.nodeType?a.parentNode:a);Fl();return g}for(;e=a.lastChild;)a.removeChild(e);if(\"function\"===typeof d){var h=d;d=function(){var a=Vl(k);h.call(a)}}var k=Ql(a,0,!1,null,null,!1,!1,\"\",dm);a._reactRootContainer=k;a[If]=k.current;Gf(8===a.nodeType?a.parentNode:a);Fl(function(){Ul(b,k,c,d)});return k}\nfunction fm(a,b,c,d,e){var f=c._reactRootContainer;if(f){var g=f;if(\"function\"===typeof e){var h=e;e=function(){var a=Vl(g);h.call(a)}}Ul(b,g,a,e)}else g=em(c,b,a,e,d);return Vl(g)}Sc=function(a){switch(a.tag){case 3:var b=a.stateNode;if(b.current.memoizedState.isDehydrated){var c=Fc(b.pendingLanes);0!==c&&(Oc(b,c|1),ql(b,A()),0===(K&6)&&(nk=A()+500,xg()))}break;case 13:Fl(function(){var b=mh(a,1);if(null!==b){var c=zh();Bh(b,a,1,c)}}),Xl(a,1)}};\nTc=function(a){if(13===a.tag){var b=mh(a,134217728);if(null!==b){var c=zh();Bh(b,a,134217728,c)}Xl(a,134217728)}};Uc=function(a){if(13===a.tag){var b=Ah(a),c=mh(a,b);if(null!==c){var d=zh();Bh(c,a,b,d)}Xl(a,b)}};Vc=function(){return E};Wc=function(a,b){var c=E;try{return E=a,b()}finally{E=c}};\nyb=function(a,b,c){switch(b){case \"input\":ab(a,c);b=c.name;if(\"radio\"===c.type&&null!=b){for(c=a;c.parentNode;)c=c.parentNode;c=c.querySelectorAll(\"input[name=\"+JSON.stringify(\"\"+b)+'][type=\"radio\"]');for(b=0;b<c.length;b++){var d=c[b];if(d!==a&&d.form===a.form){var e=Db(d);if(!e)throw Error(p(90));Wa(d);ab(d,e)}}}break;case \"textarea\":hb(a,c);break;case \"select\":b=c.value,null!=b&&eb(a,!!c.multiple,b,!1)}};Gb=El;Hb=Fl;\nvar gm={usingClientEntryPoint:!1,Events:[Cb,Ie,Db,Eb,Fb,El]},hm={findFiberByHostInstance:jd,bundleType:0,version:\"18.2.0\",rendererPackageName:\"react-dom\"};\n(function(a){if(\"undefined\"===typeof __REACT_DEVTOOLS_GLOBAL_HOOK__)return!1;var b=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(b.isDisabled||!b.supportsFiber)return!0;try{a=u({},a,{getLaneLabelMap:pc,injectProfilingHooks:oc}),kc=b.inject(a),lc=b}catch(c){}return b.checkDCE?!0:!1})({bundleType:hm.bundleType,version:hm.version,rendererPackageName:hm.rendererPackageName,rendererConfig:hm.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,\noverridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:va.ReactCurrentDispatcher,findHostInstanceByFiber:function(a){a=Zb(a);return null===a?null:a.stateNode},findFiberByHostInstance:hm.findFiberByHostInstance||Yl,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:\"18.2.0-next-9e3b772b8-20220608\"});\nexports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=gm;exports.createPortal=function(a,b){var c=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!bm(b))throw Error(p(200));return Rl(a,b,null,c)};\nexports.createRoot=function(a,b){if(!bm(a))throw Error(p(299));var c=!1,d=\"\",e=Zl;null!==b&&void 0!==b&&(!0===b.unstable_strictMode&&(c=!0),void 0!==b.identifierPrefix&&(d=b.identifierPrefix),void 0!==b.onRecoverableError&&(e=b.onRecoverableError));b=Ql(a,1,!1,null,null,c,!1,d,e);a[If]=b.current;Gf(8===a.nodeType?a.parentNode:a);return new $l(b)};\nexports.findDOMNode=function(a){if(null==a)return null;if(1===a.nodeType)return a;var b=a._reactInternals;if(void 0===b){if(\"function\"===typeof a.render)throw Error(p(188));a=Object.keys(a).join(\",\");throw Error(p(268,a));}a=Zb(b);a=null===a?null:a.stateNode;return a};exports.flushSync=function(a){return Fl(a)};exports.hydrate=function(a,b,c){if(!cm(b))throw Error(p(200));return fm(null,a,b,!0,c)};\nexports.hydrateRoot=function(a,b,c){if(!bm(a))throw Error(p(405));var d=null!=c&&c.hydratedSources||null,e=!1,f=\"\",g=Zl;null!==c&&void 0!==c&&(!0===c.unstable_strictMode&&(e=!0),void 0!==c.identifierPrefix&&(f=c.identifierPrefix),void 0!==c.onRecoverableError&&(g=c.onRecoverableError));b=Tl(b,null,a,1,null!=c?c:null,e,!1,f,g);a[If]=b.current;Gf(a);if(d)for(a=0;a<d.length;a++)c=d[a],e=c._getVersion,e=e(c._source),null==b.mutableSourceEagerHydrationData?b.mutableSourceEagerHydrationData=[c,e]:b.mutableSourceEagerHydrationData.push(c,\ne);return new am(b)};exports.render=function(a,b,c){if(!cm(b))throw Error(p(200));return fm(null,a,b,!1,c)};exports.unmountComponentAtNode=function(a){if(!cm(a))throw Error(p(40));return a._reactRootContainer?(Fl(function(){fm(null,null,a,!1,function(){a._reactRootContainer=null;a[If]=null})}),!0):!1};exports.unstable_batchedUpdates=El;\nexports.unstable_renderSubtreeIntoContainer=function(a,b,c,d){if(!cm(c))throw Error(p(200));if(null==a||void 0===a._reactInternals)throw Error(p(38));return fm(a,b,c,!1,d)};exports.version=\"18.2.0-next-9e3b772b8-20220608\";\n\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error());\n}\n \n","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.profiling.min.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n","'use strict';\n\nvar m = require('react-dom');\nif (process.env.NODE_ENV === 'production') {\n exports.createRoot = m.createRoot;\n exports.hydrateRoot = m.hydrateRoot;\n} else {\n var i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n exports.createRoot = function(c, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.createRoot(c, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n exports.hydrateRoot = function(c, h, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.hydrateRoot(c, h, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n}\n","import { createContext } from 'react';\n\nimport { AuthProvider } from '../types';\n\nexport const AuthContext = createContext<AuthProvider | undefined>(undefined);\n\nAuthContext.displayName = 'AuthContext';\n","import { useContext } from 'react';\n\nimport { AuthProvider } from '../types';\nimport { AuthContext } from './AuthContext';\n\nexport const defaultAuthParams = {\n loginUrl: '/login',\n afterLoginUrl: '/',\n};\n\n/**\n * Get the authProvider stored in the context\n */\nconst useAuthProvider = <\n AuthProviderType extends AuthProvider = AuthProvider\n>(): AuthProviderType | undefined =>\n useContext(AuthContext) as AuthProviderType | undefined;\n\nexport default useAuthProvider;\n","// src/subscribable.ts\nvar Subscribable = class {\n constructor() {\n this.listeners = /* @__PURE__ */ new Set();\n this.subscribe = this.subscribe.bind(this);\n }\n subscribe(listener) {\n this.listeners.add(listener);\n this.onSubscribe();\n return () => {\n this.listeners.delete(listener);\n this.onUnsubscribe();\n };\n }\n hasListeners() {\n return this.listeners.size > 0;\n }\n onSubscribe() {\n }\n onUnsubscribe() {\n }\n};\nexport {\n Subscribable\n};\n//# sourceMappingURL=subscribable.js.map","// src/utils.ts\nvar isServer = typeof window === \"undefined\" || \"Deno\" in window;\nfunction noop() {\n return void 0;\n}\nfunction functionalUpdate(updater, input) {\n return typeof updater === \"function\" ? updater(input) : updater;\n}\nfunction isValidTimeout(value) {\n return typeof value === \"number\" && value >= 0 && value !== Infinity;\n}\nfunction timeUntilStale(updatedAt, staleTime) {\n return Math.max(updatedAt + (staleTime || 0) - Date.now(), 0);\n}\nfunction matchQuery(filters, query) {\n const {\n type = \"all\",\n exact,\n fetchStatus,\n predicate,\n queryKey,\n stale\n } = filters;\n if (queryKey) {\n if (exact) {\n if (query.queryHash !== hashQueryKeyByOptions(queryKey, query.options)) {\n return false;\n }\n } else if (!partialMatchKey(query.queryKey, queryKey)) {\n return false;\n }\n }\n if (type !== \"all\") {\n const isActive = query.isActive();\n if (type === \"active\" && !isActive) {\n return false;\n }\n if (type === \"inactive\" && isActive) {\n return false;\n }\n }\n if (typeof stale === \"boolean\" && query.isStale() !== stale) {\n return false;\n }\n if (typeof fetchStatus !== \"undefined\" && fetchStatus !== query.state.fetchStatus) {\n return false;\n }\n if (predicate && !predicate(query)) {\n return false;\n }\n return true;\n}\nfunction matchMutation(filters, mutation) {\n const { exact, status, predicate, mutationKey } = filters;\n if (mutationKey) {\n if (!mutation.options.mutationKey) {\n return false;\n }\n if (exact) {\n if (hashKey(mutation.options.mutationKey) !== hashKey(mutationKey)) {\n return false;\n }\n } else if (!partialMatchKey(mutation.options.mutationKey, mutationKey)) {\n return false;\n }\n }\n if (status && mutation.state.status !== status) {\n return false;\n }\n if (predicate && !predicate(mutation)) {\n return false;\n }\n return true;\n}\nfunction hashQueryKeyByOptions(queryKey, options) {\n const hashFn = options?.queryKeyHashFn || hashKey;\n return hashFn(queryKey);\n}\nfunction hashKey(queryKey) {\n return JSON.stringify(\n queryKey,\n (_, val) => isPlainObject(val) ? Object.keys(val).sort().reduce((result, key) => {\n result[key] = val[key];\n return result;\n }, {}) : val\n );\n}\nfunction partialMatchKey(a, b) {\n if (a === b) {\n return true;\n }\n if (typeof a !== typeof b) {\n return false;\n }\n if (a && b && typeof a === \"object\" && typeof b === \"object\") {\n return !Object.keys(b).some((key) => !partialMatchKey(a[key], b[key]));\n }\n return false;\n}\nfunction replaceEqualDeep(a, b) {\n if (a === b) {\n return a;\n }\n const array = isPlainArray(a) && isPlainArray(b);\n if (array || isPlainObject(a) && isPlainObject(b)) {\n const aSize = array ? a.length : Object.keys(a).length;\n const bItems = array ? b : Object.keys(b);\n const bSize = bItems.length;\n const copy = array ? [] : {};\n let equalItems = 0;\n for (let i = 0; i < bSize; i++) {\n const key = array ? i : bItems[i];\n copy[key] = replaceEqualDeep(a[key], b[key]);\n if (copy[key] === a[key]) {\n equalItems++;\n }\n }\n return aSize === bSize && equalItems === aSize ? a : copy;\n }\n return b;\n}\nfunction shallowEqualObjects(a, b) {\n if (a && !b || b && !a) {\n return false;\n }\n for (const key in a) {\n if (a[key] !== b[key]) {\n return false;\n }\n }\n return true;\n}\nfunction isPlainArray(value) {\n return Array.isArray(value) && value.length === Object.keys(value).length;\n}\nfunction isPlainObject(o) {\n if (!hasObjectPrototype(o)) {\n return false;\n }\n const ctor = o.constructor;\n if (typeof ctor === \"undefined\") {\n return true;\n }\n const prot = ctor.prototype;\n if (!hasObjectPrototype(prot)) {\n return false;\n }\n if (!prot.hasOwnProperty(\"isPrototypeOf\")) {\n return false;\n }\n return true;\n}\nfunction hasObjectPrototype(o) {\n return Object.prototype.toString.call(o) === \"[object Object]\";\n}\nfunction sleep(ms) {\n return new Promise((resolve) => {\n setTimeout(resolve, ms);\n });\n}\nfunction scheduleMicrotask(callback) {\n sleep(0).then(callback);\n}\nfunction replaceData(prevData, data, options) {\n if (typeof options.structuralSharing === \"function\") {\n return options.structuralSharing(prevData, data);\n } else if (options.structuralSharing !== false) {\n return replaceEqualDeep(prevData, data);\n }\n return data;\n}\nfunction keepPreviousData(previousData) {\n return previousData;\n}\nfunction addToEnd(items, item, max = 0) {\n const newItems = [...items, item];\n return max && newItems.length > max ? newItems.slice(1) : newItems;\n}\nfunction addToStart(items, item, max = 0) {\n const newItems = [item, ...items];\n return max && newItems.length > max ? newItems.slice(0, -1) : newItems;\n}\nexport {\n addToEnd,\n addToStart,\n functionalUpdate,\n hashKey,\n hashQueryKeyByOptions,\n isPlainArray,\n isPlainObject,\n isServer,\n isValidTimeout,\n keepPreviousData,\n matchMutation,\n matchQuery,\n noop,\n partialMatchKey,\n replaceData,\n replaceEqualDeep,\n scheduleMicrotask,\n shallowEqualObjects,\n sleep,\n timeUntilStale\n};\n//# sourceMappingURL=utils.js.map","// src/focusManager.ts\nimport { Subscribable } from \"./subscribable.js\";\nimport { isServer } from \"./utils.js\";\nvar FocusManager = class extends Subscribable {\n #focused;\n #cleanup;\n #setup;\n constructor() {\n super();\n this.#setup = (onFocus) => {\n if (!isServer && window.addEventListener) {\n const listener = () => onFocus();\n window.addEventListener(\"visibilitychange\", listener, false);\n return () => {\n window.removeEventListener(\"visibilitychange\", listener);\n };\n }\n return;\n };\n }\n onSubscribe() {\n if (!this.#cleanup) {\n this.setEventListener(this.#setup);\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#cleanup?.();\n this.#cleanup = void 0;\n }\n }\n setEventListener(setup) {\n this.#setup = setup;\n this.#cleanup?.();\n this.#cleanup = setup((focused) => {\n if (typeof focused === \"boolean\") {\n this.setFocused(focused);\n } else {\n this.onFocus();\n }\n });\n }\n setFocused(focused) {\n const changed = this.#focused !== focused;\n if (changed) {\n this.#focused = focused;\n this.onFocus();\n }\n }\n onFocus() {\n this.listeners.forEach((listener) => {\n listener();\n });\n }\n isFocused() {\n if (typeof this.#focused === \"boolean\") {\n return this.#focused;\n }\n return globalThis.document?.visibilityState !== \"hidden\";\n }\n};\nvar focusManager = new FocusManager();\nexport {\n FocusManager,\n focusManager\n};\n//# sourceMappingURL=focusManager.js.map","// src/onlineManager.ts\nimport { Subscribable } from \"./subscribable.js\";\nimport { isServer } from \"./utils.js\";\nvar OnlineManager = class extends Subscribable {\n #online = true;\n #cleanup;\n #setup;\n constructor() {\n super();\n this.#setup = (onOnline) => {\n if (!isServer && window.addEventListener) {\n const onlineListener = () => onOnline(true);\n const offlineListener = () => onOnline(false);\n window.addEventListener(\"online\", onlineListener, false);\n window.addEventListener(\"offline\", offlineListener, false);\n return () => {\n window.removeEventListener(\"online\", onlineListener);\n window.removeEventListener(\"offline\", offlineListener);\n };\n }\n return;\n };\n }\n onSubscribe() {\n if (!this.#cleanup) {\n this.setEventListener(this.#setup);\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#cleanup?.();\n this.#cleanup = void 0;\n }\n }\n setEventListener(setup) {\n this.#setup = setup;\n this.#cleanup?.();\n this.#cleanup = setup(this.setOnline.bind(this));\n }\n setOnline(online) {\n const changed = this.#online !== online;\n if (changed) {\n this.#online = online;\n this.listeners.forEach((listener) => {\n listener(online);\n });\n }\n }\n isOnline() {\n return this.#online;\n }\n};\nvar onlineManager = new OnlineManager();\nexport {\n OnlineManager,\n onlineManager\n};\n//# sourceMappingURL=onlineManager.js.map","// src/retryer.ts\nimport { focusManager } from \"./focusManager.js\";\nimport { onlineManager } from \"./onlineManager.js\";\nimport { isServer, sleep } from \"./utils.js\";\nfunction defaultRetryDelay(failureCount) {\n return Math.min(1e3 * 2 ** failureCount, 3e4);\n}\nfunction canFetch(networkMode) {\n return (networkMode ?? \"online\") === \"online\" ? onlineManager.isOnline() : true;\n}\nvar CancelledError = class {\n constructor(options) {\n this.revert = options?.revert;\n this.silent = options?.silent;\n }\n};\nfunction isCancelledError(value) {\n return value instanceof CancelledError;\n}\nfunction createRetryer(config) {\n let isRetryCancelled = false;\n let failureCount = 0;\n let isResolved = false;\n let continueFn;\n let promiseResolve;\n let promiseReject;\n const promise = new Promise((outerResolve, outerReject) => {\n promiseResolve = outerResolve;\n promiseReject = outerReject;\n });\n const cancel = (cancelOptions) => {\n if (!isResolved) {\n reject(new CancelledError(cancelOptions));\n config.abort?.();\n }\n };\n const cancelRetry = () => {\n isRetryCancelled = true;\n };\n const continueRetry = () => {\n isRetryCancelled = false;\n };\n const shouldPause = () => !focusManager.isFocused() || config.networkMode !== \"always\" && !onlineManager.isOnline();\n const resolve = (value) => {\n if (!isResolved) {\n isResolved = true;\n config.onSuccess?.(value);\n continueFn?.();\n promiseResolve(value);\n }\n };\n const reject = (value) => {\n if (!isResolved) {\n isResolved = true;\n config.onError?.(value);\n continueFn?.();\n promiseReject(value);\n }\n };\n const pause = () => {\n return new Promise((continueResolve) => {\n continueFn = (value) => {\n const canContinue = isResolved || !shouldPause();\n if (canContinue) {\n continueResolve(value);\n }\n return canContinue;\n };\n config.onPause?.();\n }).then(() => {\n continueFn = void 0;\n if (!isResolved) {\n config.onContinue?.();\n }\n });\n };\n const run = () => {\n if (isResolved) {\n return;\n }\n let promiseOrValue;\n try {\n promiseOrValue = config.fn();\n } catch (error) {\n promiseOrValue = Promise.reject(error);\n }\n Promise.resolve(promiseOrValue).then(resolve).catch((error) => {\n if (isResolved) {\n return;\n }\n const retry = config.retry ?? (isServer ? 0 : 3);\n const retryDelay = config.retryDelay ?? defaultRetryDelay;\n const delay = typeof retryDelay === \"function\" ? retryDelay(failureCount, error) : retryDelay;\n const shouldRetry = retry === true || typeof retry === \"number\" && failureCount < retry || typeof retry === \"function\" && retry(failureCount, error);\n if (isRetryCancelled || !shouldRetry) {\n reject(error);\n return;\n }\n failureCount++;\n config.onFail?.(failureCount, error);\n sleep(delay).then(() => {\n if (shouldPause()) {\n return pause();\n }\n return;\n }).then(() => {\n if (isRetryCancelled) {\n reject(error);\n } else {\n run();\n }\n });\n });\n };\n if (canFetch(config.networkMode)) {\n run();\n } else {\n pause().then(run);\n }\n return {\n promise,\n cancel,\n continue: () => {\n const didContinue = continueFn?.();\n return didContinue ? promise : Promise.resolve();\n },\n cancelRetry,\n continueRetry\n };\n}\nexport {\n CancelledError,\n canFetch,\n createRetryer,\n isCancelledError\n};\n//# sourceMappingURL=retryer.js.map","// src/notifyManager.ts\nimport { scheduleMicrotask } from \"./utils.js\";\nfunction createNotifyManager() {\n let queue = [];\n let transactions = 0;\n let notifyFn = (callback) => {\n callback();\n };\n let batchNotifyFn = (callback) => {\n callback();\n };\n const batch = (callback) => {\n let result;\n transactions++;\n try {\n result = callback();\n } finally {\n transactions--;\n if (!transactions) {\n flush();\n }\n }\n return result;\n };\n const schedule = (callback) => {\n if (transactions) {\n queue.push(callback);\n } else {\n scheduleMicrotask(() => {\n notifyFn(callback);\n });\n }\n };\n const batchCalls = (callback) => {\n return (...args) => {\n schedule(() => {\n callback(...args);\n });\n };\n };\n const flush = () => {\n const originalQueue = queue;\n queue = [];\n if (originalQueue.length) {\n scheduleMicrotask(() => {\n batchNotifyFn(() => {\n originalQueue.forEach((callback) => {\n notifyFn(callback);\n });\n });\n });\n }\n };\n const setNotifyFunction = (fn) => {\n notifyFn = fn;\n };\n const setBatchNotifyFunction = (fn) => {\n batchNotifyFn = fn;\n };\n return {\n batch,\n batchCalls,\n schedule,\n setNotifyFunction,\n setBatchNotifyFunction\n };\n}\nvar notifyManager = createNotifyManager();\nexport {\n createNotifyManager,\n notifyManager\n};\n//# sourceMappingURL=notifyManager.js.map","// src/removable.ts\nimport { isServer, isValidTimeout } from \"./utils.js\";\nvar Removable = class {\n #gcTimeout;\n destroy() {\n this.clearGcTimeout();\n }\n scheduleGc() {\n this.clearGcTimeout();\n if (isValidTimeout(this.gcTime)) {\n this.#gcTimeout = setTimeout(() => {\n this.optionalRemove();\n }, this.gcTime);\n }\n }\n updateGcTime(newGcTime) {\n this.gcTime = Math.max(\n this.gcTime || 0,\n newGcTime ?? (isServer ? Infinity : 5 * 60 * 1e3)\n );\n }\n clearGcTimeout() {\n if (this.#gcTimeout) {\n clearTimeout(this.#gcTimeout);\n this.#gcTimeout = void 0;\n }\n }\n};\nexport {\n Removable\n};\n//# sourceMappingURL=removable.js.map","// src/query.ts\nimport { noop, replaceData, timeUntilStale } from \"./utils.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { canFetch, createRetryer, isCancelledError } from \"./retryer.js\";\nimport { Removable } from \"./removable.js\";\nvar Query = class extends Removable {\n constructor(config) {\n super();\n this.#abortSignalConsumed = false;\n this.#defaultOptions = config.defaultOptions;\n this.#setOptions(config.options);\n this.#observers = [];\n this.#cache = config.cache;\n this.queryKey = config.queryKey;\n this.queryHash = config.queryHash;\n this.#initialState = config.state || getDefaultState(this.options);\n this.state = this.#initialState;\n this.scheduleGc();\n }\n #initialState;\n #revertState;\n #cache;\n #promise;\n #retryer;\n #observers;\n #defaultOptions;\n #abortSignalConsumed;\n get meta() {\n return this.options.meta;\n }\n #setOptions(options) {\n this.options = { ...this.#defaultOptions, ...options };\n this.updateGcTime(this.options.gcTime);\n }\n optionalRemove() {\n if (!this.#observers.length && this.state.fetchStatus === \"idle\") {\n this.#cache.remove(this);\n }\n }\n setData(newData, options) {\n const data = replaceData(this.state.data, newData, this.options);\n this.#dispatch({\n data,\n type: \"success\",\n dataUpdatedAt: options?.updatedAt,\n manual: options?.manual\n });\n return data;\n }\n setState(state, setStateOptions) {\n this.#dispatch({ type: \"setState\", state, setStateOptions });\n }\n cancel(options) {\n const promise = this.#promise;\n this.#retryer?.cancel(options);\n return promise ? promise.then(noop).catch(noop) : Promise.resolve();\n }\n destroy() {\n super.destroy();\n this.cancel({ silent: true });\n }\n reset() {\n this.destroy();\n this.setState(this.#initialState);\n }\n isActive() {\n return this.#observers.some(\n (observer) => observer.options.enabled !== false\n );\n }\n isDisabled() {\n return this.getObserversCount() > 0 && !this.isActive();\n }\n isStale() {\n return this.state.isInvalidated || !this.state.dataUpdatedAt || this.#observers.some((observer) => observer.getCurrentResult().isStale);\n }\n isStaleByTime(staleTime = 0) {\n return this.state.isInvalidated || !this.state.dataUpdatedAt || !timeUntilStale(this.state.dataUpdatedAt, staleTime);\n }\n onFocus() {\n const observer = this.#observers.find((x) => x.shouldFetchOnWindowFocus());\n observer?.refetch({ cancelRefetch: false });\n this.#retryer?.continue();\n }\n onOnline() {\n const observer = this.#observers.find((x) => x.shouldFetchOnReconnect());\n observer?.refetch({ cancelRefetch: false });\n this.#retryer?.continue();\n }\n addObserver(observer) {\n if (!this.#observers.includes(observer)) {\n this.#observers.push(observer);\n this.clearGcTimeout();\n this.#cache.notify({ type: \"observerAdded\", query: this, observer });\n }\n }\n removeObserver(observer) {\n if (this.#observers.includes(observer)) {\n this.#observers = this.#observers.filter((x) => x !== observer);\n if (!this.#observers.length) {\n if (this.#retryer) {\n if (this.#abortSignalConsumed) {\n this.#retryer.cancel({ revert: true });\n } else {\n this.#retryer.cancelRetry();\n }\n }\n this.scheduleGc();\n }\n this.#cache.notify({ type: \"observerRemoved\", query: this, observer });\n }\n }\n getObserversCount() {\n return this.#observers.length;\n }\n invalidate() {\n if (!this.state.isInvalidated) {\n this.#dispatch({ type: \"invalidate\" });\n }\n }\n fetch(options, fetchOptions) {\n if (this.state.fetchStatus !== \"idle\") {\n if (this.state.dataUpdatedAt && fetchOptions?.cancelRefetch) {\n this.cancel({ silent: true });\n } else if (this.#promise) {\n this.#retryer?.continueRetry();\n return this.#promise;\n }\n }\n if (options) {\n this.#setOptions(options);\n }\n if (!this.options.queryFn) {\n const observer = this.#observers.find((x) => x.options.queryFn);\n if (observer) {\n this.#setOptions(observer.options);\n }\n }\n if (process.env.NODE_ENV !== \"production\") {\n if (!Array.isArray(this.options.queryKey)) {\n console.error(\n `As of v4, queryKey needs to be an Array. If you are using a string like 'repoData', please change it to an Array, e.g. ['repoData']`\n );\n }\n }\n const abortController = new AbortController();\n const queryFnContext = {\n queryKey: this.queryKey,\n meta: this.meta\n };\n const addSignalProperty = (object) => {\n Object.defineProperty(object, \"signal\", {\n enumerable: true,\n get: () => {\n this.#abortSignalConsumed = true;\n return abortController.signal;\n }\n });\n };\n addSignalProperty(queryFnContext);\n const fetchFn = () => {\n if (!this.options.queryFn) {\n return Promise.reject(\n new Error(`Missing queryFn: '${this.options.queryHash}'`)\n );\n }\n this.#abortSignalConsumed = false;\n if (this.options.persister) {\n return this.options.persister(\n this.options.queryFn,\n queryFnContext,\n this\n );\n }\n return this.options.queryFn(\n queryFnContext\n );\n };\n const context = {\n fetchOptions,\n options: this.options,\n queryKey: this.queryKey,\n state: this.state,\n fetchFn\n };\n addSignalProperty(context);\n this.options.behavior?.onFetch(\n context,\n this\n );\n this.#revertState = this.state;\n if (this.state.fetchStatus === \"idle\" || this.state.fetchMeta !== context.fetchOptions?.meta) {\n this.#dispatch({ type: \"fetch\", meta: context.fetchOptions?.meta });\n }\n const onError = (error) => {\n if (!(isCancelledError(error) && error.silent)) {\n this.#dispatch({\n type: \"error\",\n error\n });\n }\n if (!isCancelledError(error)) {\n this.#cache.config.onError?.(\n error,\n this\n );\n this.#cache.config.onSettled?.(\n this.state.data,\n error,\n this\n );\n }\n if (!this.isFetchingOptimistic) {\n this.scheduleGc();\n }\n this.isFetchingOptimistic = false;\n };\n this.#retryer = createRetryer({\n fn: context.fetchFn,\n abort: abortController.abort.bind(abortController),\n onSuccess: (data) => {\n if (typeof data === \"undefined\") {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(\n `Query data cannot be undefined. Please make sure to return a value other than undefined from your query function. Affected query key: ${this.queryHash}`\n );\n }\n onError(new Error(`${this.queryHash} data is undefined`));\n return;\n }\n this.setData(data);\n this.#cache.config.onSuccess?.(data, this);\n this.#cache.config.onSettled?.(\n data,\n this.state.error,\n this\n );\n if (!this.isFetchingOptimistic) {\n this.scheduleGc();\n }\n this.isFetchingOptimistic = false;\n },\n onError,\n onFail: (failureCount, error) => {\n this.#dispatch({ type: \"failed\", failureCount, error });\n },\n onPause: () => {\n this.#dispatch({ type: \"pause\" });\n },\n onContinue: () => {\n this.#dispatch({ type: \"continue\" });\n },\n retry: context.options.retry,\n retryDelay: context.options.retryDelay,\n networkMode: context.options.networkMode\n });\n this.#promise = this.#retryer.promise;\n return this.#promise;\n }\n #dispatch(action) {\n const reducer = (state) => {\n switch (action.type) {\n case \"failed\":\n return {\n ...state,\n fetchFailureCount: action.failureCount,\n fetchFailureReason: action.error\n };\n case \"pause\":\n return {\n ...state,\n fetchStatus: \"paused\"\n };\n case \"continue\":\n return {\n ...state,\n fetchStatus: \"fetching\"\n };\n case \"fetch\":\n return {\n ...state,\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchMeta: action.meta ?? null,\n fetchStatus: canFetch(this.options.networkMode) ? \"fetching\" : \"paused\",\n ...!state.dataUpdatedAt && {\n error: null,\n status: \"pending\"\n }\n };\n case \"success\":\n return {\n ...state,\n data: action.data,\n dataUpdateCount: state.dataUpdateCount + 1,\n dataUpdatedAt: action.dataUpdatedAt ?? Date.now(),\n error: null,\n isInvalidated: false,\n status: \"success\",\n ...!action.manual && {\n fetchStatus: \"idle\",\n fetchFailureCount: 0,\n fetchFailureReason: null\n }\n };\n case \"error\":\n const error = action.error;\n if (isCancelledError(error) && error.revert && this.#revertState) {\n return { ...this.#revertState, fetchStatus: \"idle\" };\n }\n return {\n ...state,\n error,\n errorUpdateCount: state.errorUpdateCount + 1,\n errorUpdatedAt: Date.now(),\n fetchFailureCount: state.fetchFailureCount + 1,\n fetchFailureReason: error,\n fetchStatus: \"idle\",\n status: \"error\"\n };\n case \"invalidate\":\n return {\n ...state,\n isInvalidated: true\n };\n case \"setState\":\n return {\n ...state,\n ...action.state\n };\n }\n };\n this.state = reducer(this.state);\n notifyManager.batch(() => {\n this.#observers.forEach((observer) => {\n observer.onQueryUpdate();\n });\n this.#cache.notify({ query: this, type: \"updated\", action });\n });\n }\n};\nfunction getDefaultState(options) {\n const data = typeof options.initialData === \"function\" ? options.initialData() : options.initialData;\n const hasData = typeof data !== \"undefined\";\n const initialDataUpdatedAt = hasData ? typeof options.initialDataUpdatedAt === \"function\" ? options.initialDataUpdatedAt() : options.initialDataUpdatedAt : 0;\n return {\n data,\n dataUpdateCount: 0,\n dataUpdatedAt: hasData ? initialDataUpdatedAt ?? Date.now() : 0,\n error: null,\n errorUpdateCount: 0,\n errorUpdatedAt: 0,\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchMeta: null,\n isInvalidated: false,\n status: hasData ? \"success\" : \"pending\",\n fetchStatus: \"idle\"\n };\n}\nexport {\n Query\n};\n//# sourceMappingURL=query.js.map","// src/queryCache.ts\nimport { hashQueryKeyByOptions, matchQuery } from \"./utils.js\";\nimport { Query } from \"./query.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Subscribable } from \"./subscribable.js\";\nvar QueryCache = class extends Subscribable {\n constructor(config = {}) {\n super();\n this.config = config;\n this.#queries = /* @__PURE__ */ new Map();\n }\n #queries;\n build(client, options, state) {\n const queryKey = options.queryKey;\n const queryHash = options.queryHash ?? hashQueryKeyByOptions(queryKey, options);\n let query = this.get(queryHash);\n if (!query) {\n query = new Query({\n cache: this,\n queryKey,\n queryHash,\n options: client.defaultQueryOptions(options),\n state,\n defaultOptions: client.getQueryDefaults(queryKey)\n });\n this.add(query);\n }\n return query;\n }\n add(query) {\n if (!this.#queries.has(query.queryHash)) {\n this.#queries.set(query.queryHash, query);\n this.notify({\n type: \"added\",\n query\n });\n }\n }\n remove(query) {\n const queryInMap = this.#queries.get(query.queryHash);\n if (queryInMap) {\n query.destroy();\n if (queryInMap === query) {\n this.#queries.delete(query.queryHash);\n }\n this.notify({ type: \"removed\", query });\n }\n }\n clear() {\n notifyManager.batch(() => {\n this.getAll().forEach((query) => {\n this.remove(query);\n });\n });\n }\n get(queryHash) {\n return this.#queries.get(queryHash);\n }\n getAll() {\n return [...this.#queries.values()];\n }\n find(filters) {\n const defaultedFilters = { exact: true, ...filters };\n return this.getAll().find(\n (query) => matchQuery(defaultedFilters, query)\n );\n }\n findAll(filters = {}) {\n const queries = this.getAll();\n return Object.keys(filters).length > 0 ? queries.filter((query) => matchQuery(filters, query)) : queries;\n }\n notify(event) {\n notifyManager.batch(() => {\n this.listeners.forEach((listener) => {\n listener(event);\n });\n });\n }\n onFocus() {\n notifyManager.batch(() => {\n this.getAll().forEach((query) => {\n query.onFocus();\n });\n });\n }\n onOnline() {\n notifyManager.batch(() => {\n this.getAll().forEach((query) => {\n query.onOnline();\n });\n });\n }\n};\nexport {\n QueryCache\n};\n//# sourceMappingURL=queryCache.js.map","// src/mutation.ts\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Removable } from \"./removable.js\";\nimport { canFetch, createRetryer } from \"./retryer.js\";\nvar Mutation = class extends Removable {\n constructor(config) {\n super();\n this.mutationId = config.mutationId;\n this.#defaultOptions = config.defaultOptions;\n this.#mutationCache = config.mutationCache;\n this.#observers = [];\n this.state = config.state || getDefaultState();\n this.setOptions(config.options);\n this.scheduleGc();\n }\n #observers;\n #defaultOptions;\n #mutationCache;\n #retryer;\n setOptions(options) {\n this.options = { ...this.#defaultOptions, ...options };\n this.updateGcTime(this.options.gcTime);\n }\n get meta() {\n return this.options.meta;\n }\n addObserver(observer) {\n if (!this.#observers.includes(observer)) {\n this.#observers.push(observer);\n this.clearGcTimeout();\n this.#mutationCache.notify({\n type: \"observerAdded\",\n mutation: this,\n observer\n });\n }\n }\n removeObserver(observer) {\n this.#observers = this.#observers.filter((x) => x !== observer);\n this.scheduleGc();\n this.#mutationCache.notify({\n type: \"observerRemoved\",\n mutation: this,\n observer\n });\n }\n optionalRemove() {\n if (!this.#observers.length) {\n if (this.state.status === \"pending\") {\n this.scheduleGc();\n } else {\n this.#mutationCache.remove(this);\n }\n }\n }\n continue() {\n return this.#retryer?.continue() ?? // continuing a mutation assumes that variables are set, mutation must have been dehydrated before\n this.execute(this.state.variables);\n }\n async execute(variables) {\n const executeMutation = () => {\n this.#retryer = createRetryer({\n fn: () => {\n if (!this.options.mutationFn) {\n return Promise.reject(new Error(\"No mutationFn found\"));\n }\n return this.options.mutationFn(variables);\n },\n onFail: (failureCount, error) => {\n this.#dispatch({ type: \"failed\", failureCount, error });\n },\n onPause: () => {\n this.#dispatch({ type: \"pause\" });\n },\n onContinue: () => {\n this.#dispatch({ type: \"continue\" });\n },\n retry: this.options.retry ?? 0,\n retryDelay: this.options.retryDelay,\n networkMode: this.options.networkMode\n });\n return this.#retryer.promise;\n };\n const restored = this.state.status === \"pending\";\n try {\n if (!restored) {\n this.#dispatch({ type: \"pending\", variables });\n await this.#mutationCache.config.onMutate?.(\n variables,\n this\n );\n const context = await this.options.onMutate?.(variables);\n if (context !== this.state.context) {\n this.#dispatch({\n type: \"pending\",\n context,\n variables\n });\n }\n }\n const data = await executeMutation();\n await this.#mutationCache.config.onSuccess?.(\n data,\n variables,\n this.state.context,\n this\n );\n await this.options.onSuccess?.(data, variables, this.state.context);\n await this.#mutationCache.config.onSettled?.(\n data,\n null,\n this.state.variables,\n this.state.context,\n this\n );\n await this.options.onSettled?.(data, null, variables, this.state.context);\n this.#dispatch({ type: \"success\", data });\n return data;\n } catch (error) {\n try {\n await this.#mutationCache.config.onError?.(\n error,\n variables,\n this.state.context,\n this\n );\n await this.options.onError?.(\n error,\n variables,\n this.state.context\n );\n await this.#mutationCache.config.onSettled?.(\n void 0,\n error,\n this.state.variables,\n this.state.context,\n this\n );\n await this.options.onSettled?.(\n void 0,\n error,\n variables,\n this.state.context\n );\n throw error;\n } finally {\n this.#dispatch({ type: \"error\", error });\n }\n }\n }\n #dispatch(action) {\n const reducer = (state) => {\n switch (action.type) {\n case \"failed\":\n return {\n ...state,\n failureCount: action.failureCount,\n failureReason: action.error\n };\n case \"pause\":\n return {\n ...state,\n isPaused: true\n };\n case \"continue\":\n return {\n ...state,\n isPaused: false\n };\n case \"pending\":\n return {\n ...state,\n context: action.context,\n data: void 0,\n failureCount: 0,\n failureReason: null,\n error: null,\n isPaused: !canFetch(this.options.networkMode),\n status: \"pending\",\n variables: action.variables,\n submittedAt: Date.now()\n };\n case \"success\":\n return {\n ...state,\n data: action.data,\n failureCount: 0,\n failureReason: null,\n error: null,\n status: \"success\",\n isPaused: false\n };\n case \"error\":\n return {\n ...state,\n data: void 0,\n error: action.error,\n failureCount: state.failureCount + 1,\n failureReason: action.error,\n isPaused: false,\n status: \"error\"\n };\n }\n };\n this.state = reducer(this.state);\n notifyManager.batch(() => {\n this.#observers.forEach((observer) => {\n observer.onMutationUpdate(action);\n });\n this.#mutationCache.notify({\n mutation: this,\n type: \"updated\",\n action\n });\n });\n }\n};\nfunction getDefaultState() {\n return {\n context: void 0,\n data: void 0,\n error: null,\n failureCount: 0,\n failureReason: null,\n isPaused: false,\n status: \"idle\",\n variables: void 0,\n submittedAt: 0\n };\n}\nexport {\n Mutation,\n getDefaultState\n};\n//# sourceMappingURL=mutation.js.map","// src/mutationCache.ts\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Mutation } from \"./mutation.js\";\nimport { matchMutation, noop } from \"./utils.js\";\nimport { Subscribable } from \"./subscribable.js\";\nvar MutationCache = class extends Subscribable {\n constructor(config = {}) {\n super();\n this.config = config;\n this.#mutations = [];\n this.#mutationId = 0;\n }\n #mutations;\n #mutationId;\n #resuming;\n build(client, options, state) {\n const mutation = new Mutation({\n mutationCache: this,\n mutationId: ++this.#mutationId,\n options: client.defaultMutationOptions(options),\n state\n });\n this.add(mutation);\n return mutation;\n }\n add(mutation) {\n this.#mutations.push(mutation);\n this.notify({ type: \"added\", mutation });\n }\n remove(mutation) {\n this.#mutations = this.#mutations.filter((x) => x !== mutation);\n this.notify({ type: \"removed\", mutation });\n }\n clear() {\n notifyManager.batch(() => {\n this.#mutations.forEach((mutation) => {\n this.remove(mutation);\n });\n });\n }\n getAll() {\n return this.#mutations;\n }\n find(filters) {\n const defaultedFilters = { exact: true, ...filters };\n return this.#mutations.find(\n (mutation) => matchMutation(defaultedFilters, mutation)\n );\n }\n findAll(filters = {}) {\n return this.#mutations.filter(\n (mutation) => matchMutation(filters, mutation)\n );\n }\n notify(event) {\n notifyManager.batch(() => {\n this.listeners.forEach((listener) => {\n listener(event);\n });\n });\n }\n resumePausedMutations() {\n this.#resuming = (this.#resuming ?? Promise.resolve()).then(() => {\n const pausedMutations = this.#mutations.filter((x) => x.state.isPaused);\n return notifyManager.batch(\n () => pausedMutations.reduce(\n (promise, mutation) => promise.then(() => mutation.continue().catch(noop)),\n Promise.resolve()\n )\n );\n }).then(() => {\n this.#resuming = void 0;\n });\n return this.#resuming;\n }\n};\nexport {\n MutationCache\n};\n//# sourceMappingURL=mutationCache.js.map","// src/infiniteQueryBehavior.ts\nimport { addToEnd, addToStart } from \"./utils.js\";\nfunction infiniteQueryBehavior(pages) {\n return {\n onFetch: (context, query) => {\n const fetchFn = async () => {\n const options = context.options;\n const direction = context.fetchOptions?.meta?.fetchMore?.direction;\n const oldPages = context.state.data?.pages || [];\n const oldPageParams = context.state.data?.pageParams || [];\n const empty = { pages: [], pageParams: [] };\n let cancelled = false;\n const addSignalProperty = (object) => {\n Object.defineProperty(object, \"signal\", {\n enumerable: true,\n get: () => {\n if (context.signal.aborted) {\n cancelled = true;\n } else {\n context.signal.addEventListener(\"abort\", () => {\n cancelled = true;\n });\n }\n return context.signal;\n }\n });\n };\n const queryFn = context.options.queryFn || (() => Promise.reject(\n new Error(`Missing queryFn: '${context.options.queryHash}'`)\n ));\n const fetchPage = async (data, param, previous) => {\n if (cancelled) {\n return Promise.reject();\n }\n if (param == null && data.pages.length) {\n return Promise.resolve(data);\n }\n const queryFnContext = {\n queryKey: context.queryKey,\n pageParam: param,\n direction: previous ? \"backward\" : \"forward\",\n meta: context.options.meta\n };\n addSignalProperty(queryFnContext);\n const page = await queryFn(\n queryFnContext\n );\n const { maxPages } = context.options;\n const addTo = previous ? addToStart : addToEnd;\n return {\n pages: addTo(data.pages, page, maxPages),\n pageParams: addTo(data.pageParams, param, maxPages)\n };\n };\n let result;\n if (direction && oldPages.length) {\n const previous = direction === \"backward\";\n const pageParamFn = previous ? getPreviousPageParam : getNextPageParam;\n const oldData = {\n pages: oldPages,\n pageParams: oldPageParams\n };\n const param = pageParamFn(options, oldData);\n result = await fetchPage(oldData, param, previous);\n } else {\n result = await fetchPage(\n empty,\n oldPageParams[0] ?? options.initialPageParam\n );\n const remainingPages = pages ?? oldPages.length;\n for (let i = 1; i < remainingPages; i++) {\n const param = getNextPageParam(options, result);\n result = await fetchPage(result, param);\n }\n }\n return result;\n };\n if (context.options.persister) {\n context.fetchFn = () => {\n return context.options.persister?.(\n fetchFn,\n {\n queryKey: context.queryKey,\n meta: context.options.meta,\n signal: context.signal\n },\n query\n );\n };\n } else {\n context.fetchFn = fetchFn;\n }\n }\n };\n}\nfunction getNextPageParam(options, { pages, pageParams }) {\n const lastIndex = pages.length - 1;\n return options.getNextPageParam(\n pages[lastIndex],\n pages,\n pageParams[lastIndex],\n pageParams\n );\n}\nfunction getPreviousPageParam(options, { pages, pageParams }) {\n return options.getPreviousPageParam?.(\n pages[0],\n pages,\n pageParams[0],\n pageParams\n );\n}\nfunction hasNextPage(options, data) {\n if (!data)\n return false;\n return getNextPageParam(options, data) != null;\n}\nfunction hasPreviousPage(options, data) {\n if (!data || !options.getPreviousPageParam)\n return false;\n return getPreviousPageParam(options, data) != null;\n}\nexport {\n hasNextPage,\n hasPreviousPage,\n infiniteQueryBehavior\n};\n//# sourceMappingURL=infiniteQueryBehavior.js.map","// src/queryClient.ts\nimport {\n functionalUpdate,\n hashKey,\n hashQueryKeyByOptions,\n noop,\n partialMatchKey\n} from \"./utils.js\";\nimport { QueryCache } from \"./queryCache.js\";\nimport { MutationCache } from \"./mutationCache.js\";\nimport { focusManager } from \"./focusManager.js\";\nimport { onlineManager } from \"./onlineManager.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { infiniteQueryBehavior } from \"./infiniteQueryBehavior.js\";\nvar QueryClient = class {\n #queryCache;\n #mutationCache;\n #defaultOptions;\n #queryDefaults;\n #mutationDefaults;\n #mountCount;\n #unsubscribeFocus;\n #unsubscribeOnline;\n constructor(config = {}) {\n this.#queryCache = config.queryCache || new QueryCache();\n this.#mutationCache = config.mutationCache || new MutationCache();\n this.#defaultOptions = config.defaultOptions || {};\n this.#queryDefaults = /* @__PURE__ */ new Map();\n this.#mutationDefaults = /* @__PURE__ */ new Map();\n this.#mountCount = 0;\n }\n mount() {\n this.#mountCount++;\n if (this.#mountCount !== 1)\n return;\n this.#unsubscribeFocus = focusManager.subscribe(() => {\n if (focusManager.isFocused()) {\n this.resumePausedMutations();\n this.#queryCache.onFocus();\n }\n });\n this.#unsubscribeOnline = onlineManager.subscribe(() => {\n if (onlineManager.isOnline()) {\n this.resumePausedMutations();\n this.#queryCache.onOnline();\n }\n });\n }\n unmount() {\n this.#mountCount--;\n if (this.#mountCount !== 0)\n return;\n this.#unsubscribeFocus?.();\n this.#unsubscribeFocus = void 0;\n this.#unsubscribeOnline?.();\n this.#unsubscribeOnline = void 0;\n }\n isFetching(filters) {\n return this.#queryCache.findAll({ ...filters, fetchStatus: \"fetching\" }).length;\n }\n isMutating(filters) {\n return this.#mutationCache.findAll({ ...filters, status: \"pending\" }).length;\n }\n getQueryData(queryKey) {\n return this.#queryCache.find({ queryKey })?.state.data;\n }\n ensureQueryData(options) {\n const cachedData = this.getQueryData(options.queryKey);\n return cachedData !== void 0 ? Promise.resolve(cachedData) : this.fetchQuery(options);\n }\n getQueriesData(filters) {\n return this.getQueryCache().findAll(filters).map(({ queryKey, state }) => {\n const data = state.data;\n return [queryKey, data];\n });\n }\n setQueryData(queryKey, updater, options) {\n const query = this.#queryCache.find({ queryKey });\n const prevData = query?.state.data;\n const data = functionalUpdate(updater, prevData);\n if (typeof data === \"undefined\") {\n return void 0;\n }\n const defaultedOptions = this.defaultQueryOptions({ queryKey });\n return this.#queryCache.build(this, defaultedOptions).setData(data, { ...options, manual: true });\n }\n setQueriesData(filters, updater, options) {\n return notifyManager.batch(\n () => this.getQueryCache().findAll(filters).map(({ queryKey }) => [\n queryKey,\n this.setQueryData(queryKey, updater, options)\n ])\n );\n }\n getQueryState(queryKey) {\n return this.#queryCache.find({ queryKey })?.state;\n }\n removeQueries(filters) {\n const queryCache = this.#queryCache;\n notifyManager.batch(() => {\n queryCache.findAll(filters).forEach((query) => {\n queryCache.remove(query);\n });\n });\n }\n resetQueries(filters, options) {\n const queryCache = this.#queryCache;\n const refetchFilters = {\n type: \"active\",\n ...filters\n };\n return notifyManager.batch(() => {\n queryCache.findAll(filters).forEach((query) => {\n query.reset();\n });\n return this.refetchQueries(refetchFilters, options);\n });\n }\n cancelQueries(filters = {}, cancelOptions = {}) {\n const defaultedCancelOptions = { revert: true, ...cancelOptions };\n const promises = notifyManager.batch(\n () => this.#queryCache.findAll(filters).map((query) => query.cancel(defaultedCancelOptions))\n );\n return Promise.all(promises).then(noop).catch(noop);\n }\n invalidateQueries(filters = {}, options = {}) {\n return notifyManager.batch(() => {\n this.#queryCache.findAll(filters).forEach((query) => {\n query.invalidate();\n });\n if (filters.refetchType === \"none\") {\n return Promise.resolve();\n }\n const refetchFilters = {\n ...filters,\n type: filters.refetchType ?? filters.type ?? \"active\"\n };\n return this.refetchQueries(refetchFilters, options);\n });\n }\n refetchQueries(filters = {}, options) {\n const fetchOptions = {\n ...options,\n cancelRefetch: options?.cancelRefetch ?? true\n };\n const promises = notifyManager.batch(\n () => this.#queryCache.findAll(filters).filter((query) => !query.isDisabled()).map((query) => {\n let promise = query.fetch(void 0, fetchOptions);\n if (!fetchOptions.throwOnError) {\n promise = promise.catch(noop);\n }\n return query.state.fetchStatus === \"paused\" ? Promise.resolve() : promise;\n })\n );\n return Promise.all(promises).then(noop);\n }\n fetchQuery(options) {\n const defaultedOptions = this.defaultQueryOptions(options);\n if (typeof defaultedOptions.retry === \"undefined\") {\n defaultedOptions.retry = false;\n }\n const query = this.#queryCache.build(this, defaultedOptions);\n return query.isStaleByTime(defaultedOptions.staleTime) ? query.fetch(defaultedOptions) : Promise.resolve(query.state.data);\n }\n prefetchQuery(options) {\n return this.fetchQuery(options).then(noop).catch(noop);\n }\n fetchInfiniteQuery(options) {\n options.behavior = infiniteQueryBehavior(options.pages);\n return this.fetchQuery(options);\n }\n prefetchInfiniteQuery(options) {\n return this.fetchInfiniteQuery(options).then(noop).catch(noop);\n }\n resumePausedMutations() {\n return this.#mutationCache.resumePausedMutations();\n }\n getQueryCache() {\n return this.#queryCache;\n }\n getMutationCache() {\n return this.#mutationCache;\n }\n getDefaultOptions() {\n return this.#defaultOptions;\n }\n setDefaultOptions(options) {\n this.#defaultOptions = options;\n }\n setQueryDefaults(queryKey, options) {\n this.#queryDefaults.set(hashKey(queryKey), {\n queryKey,\n defaultOptions: options\n });\n }\n getQueryDefaults(queryKey) {\n const defaults = [...this.#queryDefaults.values()];\n let result = {};\n defaults.forEach((queryDefault) => {\n if (partialMatchKey(queryKey, queryDefault.queryKey)) {\n result = { ...result, ...queryDefault.defaultOptions };\n }\n });\n return result;\n }\n setMutationDefaults(mutationKey, options) {\n this.#mutationDefaults.set(hashKey(mutationKey), {\n mutationKey,\n defaultOptions: options\n });\n }\n getMutationDefaults(mutationKey) {\n const defaults = [...this.#mutationDefaults.values()];\n let result = {};\n defaults.forEach((queryDefault) => {\n if (partialMatchKey(mutationKey, queryDefault.mutationKey)) {\n result = { ...result, ...queryDefault.defaultOptions };\n }\n });\n return result;\n }\n defaultQueryOptions(options) {\n if (options?._defaulted) {\n return options;\n }\n const defaultedOptions = {\n ...this.#defaultOptions.queries,\n ...options?.queryKey && this.getQueryDefaults(options.queryKey),\n ...options,\n _defaulted: true\n };\n if (!defaultedOptions.queryHash) {\n defaultedOptions.queryHash = hashQueryKeyByOptions(\n defaultedOptions.queryKey,\n defaultedOptions\n );\n }\n if (typeof defaultedOptions.refetchOnReconnect === \"undefined\") {\n defaultedOptions.refetchOnReconnect = defaultedOptions.networkMode !== \"always\";\n }\n if (typeof defaultedOptions.throwOnError === \"undefined\") {\n defaultedOptions.throwOnError = !!defaultedOptions.suspense;\n }\n if (typeof defaultedOptions.networkMode === \"undefined\" && defaultedOptions.persister) {\n defaultedOptions.networkMode = \"offlineFirst\";\n }\n return defaultedOptions;\n }\n defaultMutationOptions(options) {\n if (options?._defaulted) {\n return options;\n }\n return {\n ...this.#defaultOptions.mutations,\n ...options?.mutationKey && this.getMutationDefaults(options.mutationKey),\n ...options,\n _defaulted: true\n };\n }\n clear() {\n this.#queryCache.clear();\n this.#mutationCache.clear();\n }\n};\nexport {\n QueryClient\n};\n//# sourceMappingURL=queryClient.js.map","// src/queryObserver.ts\nimport {\n isServer,\n isValidTimeout,\n noop,\n replaceData,\n shallowEqualObjects,\n timeUntilStale\n} from \"./utils.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { focusManager } from \"./focusManager.js\";\nimport { Subscribable } from \"./subscribable.js\";\nimport { canFetch } from \"./retryer.js\";\nvar QueryObserver = class extends Subscribable {\n constructor(client, options) {\n super();\n this.#currentQuery = void 0;\n this.#currentQueryInitialState = void 0;\n this.#currentResult = void 0;\n this.#trackedProps = /* @__PURE__ */ new Set();\n this.#client = client;\n this.options = options;\n this.#selectError = null;\n this.bindMethods();\n this.setOptions(options);\n }\n #client;\n #currentQuery;\n #currentQueryInitialState;\n #currentResult;\n #currentResultState;\n #currentResultOptions;\n #selectError;\n #selectFn;\n #selectResult;\n // This property keeps track of the last query with defined data.\n // It will be used to pass the previous data and query to the placeholder function between renders.\n #lastQueryWithDefinedData;\n #staleTimeoutId;\n #refetchIntervalId;\n #currentRefetchInterval;\n #trackedProps;\n bindMethods() {\n this.refetch = this.refetch.bind(this);\n }\n onSubscribe() {\n if (this.listeners.size === 1) {\n this.#currentQuery.addObserver(this);\n if (shouldFetchOnMount(this.#currentQuery, this.options)) {\n this.#executeFetch();\n } else {\n this.updateResult();\n }\n this.#updateTimers();\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.destroy();\n }\n }\n shouldFetchOnReconnect() {\n return shouldFetchOn(\n this.#currentQuery,\n this.options,\n this.options.refetchOnReconnect\n );\n }\n shouldFetchOnWindowFocus() {\n return shouldFetchOn(\n this.#currentQuery,\n this.options,\n this.options.refetchOnWindowFocus\n );\n }\n destroy() {\n this.listeners = /* @__PURE__ */ new Set();\n this.#clearStaleTimeout();\n this.#clearRefetchInterval();\n this.#currentQuery.removeObserver(this);\n }\n setOptions(options, notifyOptions) {\n const prevOptions = this.options;\n const prevQuery = this.#currentQuery;\n this.options = this.#client.defaultQueryOptions(options);\n if (!shallowEqualObjects(prevOptions, this.options)) {\n this.#client.getQueryCache().notify({\n type: \"observerOptionsUpdated\",\n query: this.#currentQuery,\n observer: this\n });\n }\n if (typeof this.options.enabled !== \"undefined\" && typeof this.options.enabled !== \"boolean\") {\n throw new Error(\"Expected enabled to be a boolean\");\n }\n if (!this.options.queryKey) {\n this.options.queryKey = prevOptions.queryKey;\n }\n this.#updateQuery();\n const mounted = this.hasListeners();\n if (mounted && shouldFetchOptionally(\n this.#currentQuery,\n prevQuery,\n this.options,\n prevOptions\n )) {\n this.#executeFetch();\n }\n this.updateResult(notifyOptions);\n if (mounted && (this.#currentQuery !== prevQuery || this.options.enabled !== prevOptions.enabled || this.options.staleTime !== prevOptions.staleTime)) {\n this.#updateStaleTimeout();\n }\n const nextRefetchInterval = this.#computeRefetchInterval();\n if (mounted && (this.#currentQuery !== prevQuery || this.options.enabled !== prevOptions.enabled || nextRefetchInterval !== this.#currentRefetchInterval)) {\n this.#updateRefetchInterval(nextRefetchInterval);\n }\n }\n getOptimisticResult(options) {\n const query = this.#client.getQueryCache().build(this.#client, options);\n const result = this.createResult(query, options);\n if (shouldAssignObserverCurrentProperties(this, result)) {\n this.#currentResult = result;\n this.#currentResultOptions = this.options;\n this.#currentResultState = this.#currentQuery.state;\n }\n return result;\n }\n getCurrentResult() {\n return this.#currentResult;\n }\n trackResult(result) {\n const trackedResult = {};\n Object.keys(result).forEach((key) => {\n Object.defineProperty(trackedResult, key, {\n configurable: false,\n enumerable: true,\n get: () => {\n this.#trackedProps.add(key);\n return result[key];\n }\n });\n });\n return trackedResult;\n }\n getCurrentQuery() {\n return this.#currentQuery;\n }\n refetch({ ...options } = {}) {\n return this.fetch({\n ...options\n });\n }\n fetchOptimistic(options) {\n const defaultedOptions = this.#client.defaultQueryOptions(options);\n const query = this.#client.getQueryCache().build(this.#client, defaultedOptions);\n query.isFetchingOptimistic = true;\n return query.fetch().then(() => this.createResult(query, defaultedOptions));\n }\n fetch(fetchOptions) {\n return this.#executeFetch({\n ...fetchOptions,\n cancelRefetch: fetchOptions.cancelRefetch ?? true\n }).then(() => {\n this.updateResult();\n return this.#currentResult;\n });\n }\n #executeFetch(fetchOptions) {\n this.#updateQuery();\n let promise = this.#currentQuery.fetch(\n this.options,\n fetchOptions\n );\n if (!fetchOptions?.throwOnError) {\n promise = promise.catch(noop);\n }\n return promise;\n }\n #updateStaleTimeout() {\n this.#clearStaleTimeout();\n if (isServer || this.#currentResult.isStale || !isValidTimeout(this.options.staleTime)) {\n return;\n }\n const time = timeUntilStale(\n this.#currentResult.dataUpdatedAt,\n this.options.staleTime\n );\n const timeout = time + 1;\n this.#staleTimeoutId = setTimeout(() => {\n if (!this.#currentResult.isStale) {\n this.updateResult();\n }\n }, timeout);\n }\n #computeRefetchInterval() {\n return (typeof this.options.refetchInterval === \"function\" ? this.options.refetchInterval(this.#currentQuery) : this.options.refetchInterval) ?? false;\n }\n #updateRefetchInterval(nextInterval) {\n this.#clearRefetchInterval();\n this.#currentRefetchInterval = nextInterval;\n if (isServer || this.options.enabled === false || !isValidTimeout(this.#currentRefetchInterval) || this.#currentRefetchInterval === 0) {\n return;\n }\n this.#refetchIntervalId = setInterval(() => {\n if (this.options.refetchIntervalInBackground || focusManager.isFocused()) {\n this.#executeFetch();\n }\n }, this.#currentRefetchInterval);\n }\n #updateTimers() {\n this.#updateStaleTimeout();\n this.#updateRefetchInterval(this.#computeRefetchInterval());\n }\n #clearStaleTimeout() {\n if (this.#staleTimeoutId) {\n clearTimeout(this.#staleTimeoutId);\n this.#staleTimeoutId = void 0;\n }\n }\n #clearRefetchInterval() {\n if (this.#refetchIntervalId) {\n clearInterval(this.#refetchIntervalId);\n this.#refetchIntervalId = void 0;\n }\n }\n createResult(query, options) {\n const prevQuery = this.#currentQuery;\n const prevOptions = this.options;\n const prevResult = this.#currentResult;\n const prevResultState = this.#currentResultState;\n const prevResultOptions = this.#currentResultOptions;\n const queryChange = query !== prevQuery;\n const queryInitialState = queryChange ? query.state : this.#currentQueryInitialState;\n const { state } = query;\n let { error, errorUpdatedAt, fetchStatus, status } = state;\n let isPlaceholderData = false;\n let data;\n if (options._optimisticResults) {\n const mounted = this.hasListeners();\n const fetchOnMount = !mounted && shouldFetchOnMount(query, options);\n const fetchOptionally = mounted && shouldFetchOptionally(query, prevQuery, options, prevOptions);\n if (fetchOnMount || fetchOptionally) {\n fetchStatus = canFetch(query.options.networkMode) ? \"fetching\" : \"paused\";\n if (!state.dataUpdatedAt) {\n status = \"pending\";\n }\n }\n if (options._optimisticResults === \"isRestoring\") {\n fetchStatus = \"idle\";\n }\n }\n if (options.select && typeof state.data !== \"undefined\") {\n if (prevResult && state.data === prevResultState?.data && options.select === this.#selectFn) {\n data = this.#selectResult;\n } else {\n try {\n this.#selectFn = options.select;\n data = options.select(state.data);\n data = replaceData(prevResult?.data, data, options);\n this.#selectResult = data;\n this.#selectError = null;\n } catch (selectError) {\n this.#selectError = selectError;\n }\n }\n } else {\n data = state.data;\n }\n if (typeof options.placeholderData !== \"undefined\" && typeof data === \"undefined\" && status === \"pending\") {\n let placeholderData;\n if (prevResult?.isPlaceholderData && options.placeholderData === prevResultOptions?.placeholderData) {\n placeholderData = prevResult.data;\n } else {\n placeholderData = typeof options.placeholderData === \"function\" ? options.placeholderData(\n this.#lastQueryWithDefinedData?.state.data,\n this.#lastQueryWithDefinedData\n ) : options.placeholderData;\n if (options.select && typeof placeholderData !== \"undefined\") {\n try {\n placeholderData = options.select(placeholderData);\n this.#selectError = null;\n } catch (selectError) {\n this.#selectError = selectError;\n }\n }\n }\n if (typeof placeholderData !== \"undefined\") {\n status = \"success\";\n data = replaceData(\n prevResult?.data,\n placeholderData,\n options\n );\n isPlaceholderData = true;\n }\n }\n if (this.#selectError) {\n error = this.#selectError;\n data = this.#selectResult;\n errorUpdatedAt = Date.now();\n status = \"error\";\n }\n const isFetching = fetchStatus === \"fetching\";\n const isPending = status === \"pending\";\n const isError = status === \"error\";\n const isLoading = isPending && isFetching;\n const result = {\n status,\n fetchStatus,\n isPending,\n isSuccess: status === \"success\",\n isError,\n isInitialLoading: isLoading,\n isLoading,\n data,\n dataUpdatedAt: state.dataUpdatedAt,\n error,\n errorUpdatedAt,\n failureCount: state.fetchFailureCount,\n failureReason: state.fetchFailureReason,\n errorUpdateCount: state.errorUpdateCount,\n isFetched: state.dataUpdateCount > 0 || state.errorUpdateCount > 0,\n isFetchedAfterMount: state.dataUpdateCount > queryInitialState.dataUpdateCount || state.errorUpdateCount > queryInitialState.errorUpdateCount,\n isFetching,\n isRefetching: isFetching && !isPending,\n isLoadingError: isError && state.dataUpdatedAt === 0,\n isPaused: fetchStatus === \"paused\",\n isPlaceholderData,\n isRefetchError: isError && state.dataUpdatedAt !== 0,\n isStale: isStale(query, options),\n refetch: this.refetch\n };\n return result;\n }\n updateResult(notifyOptions) {\n const prevResult = this.#currentResult;\n const nextResult = this.createResult(this.#currentQuery, this.options);\n this.#currentResultState = this.#currentQuery.state;\n this.#currentResultOptions = this.options;\n if (this.#currentResultState.data !== void 0) {\n this.#lastQueryWithDefinedData = this.#currentQuery;\n }\n if (shallowEqualObjects(nextResult, prevResult)) {\n return;\n }\n this.#currentResult = nextResult;\n const defaultNotifyOptions = {};\n const shouldNotifyListeners = () => {\n if (!prevResult) {\n return true;\n }\n const { notifyOnChangeProps } = this.options;\n const notifyOnChangePropsValue = typeof notifyOnChangeProps === \"function\" ? notifyOnChangeProps() : notifyOnChangeProps;\n if (notifyOnChangePropsValue === \"all\" || !notifyOnChangePropsValue && !this.#trackedProps.size) {\n return true;\n }\n const includedProps = new Set(\n notifyOnChangePropsValue ?? this.#trackedProps\n );\n if (this.options.throwOnError) {\n includedProps.add(\"error\");\n }\n return Object.keys(this.#currentResult).some((key) => {\n const typedKey = key;\n const changed = this.#currentResult[typedKey] !== prevResult[typedKey];\n return changed && includedProps.has(typedKey);\n });\n };\n if (notifyOptions?.listeners !== false && shouldNotifyListeners()) {\n defaultNotifyOptions.listeners = true;\n }\n this.#notify({ ...defaultNotifyOptions, ...notifyOptions });\n }\n #updateQuery() {\n const query = this.#client.getQueryCache().build(this.#client, this.options);\n if (query === this.#currentQuery) {\n return;\n }\n const prevQuery = this.#currentQuery;\n this.#currentQuery = query;\n this.#currentQueryInitialState = query.state;\n if (this.hasListeners()) {\n prevQuery?.removeObserver(this);\n query.addObserver(this);\n }\n }\n onQueryUpdate() {\n this.updateResult();\n if (this.hasListeners()) {\n this.#updateTimers();\n }\n }\n #notify(notifyOptions) {\n notifyManager.batch(() => {\n if (notifyOptions.listeners) {\n this.listeners.forEach((listener) => {\n listener(this.#currentResult);\n });\n }\n this.#client.getQueryCache().notify({\n query: this.#currentQuery,\n type: \"observerResultsUpdated\"\n });\n });\n }\n};\nfunction shouldLoadOnMount(query, options) {\n return options.enabled !== false && !query.state.dataUpdatedAt && !(query.state.status === \"error\" && options.retryOnMount === false);\n}\nfunction shouldFetchOnMount(query, options) {\n return shouldLoadOnMount(query, options) || query.state.dataUpdatedAt > 0 && shouldFetchOn(query, options, options.refetchOnMount);\n}\nfunction shouldFetchOn(query, options, field) {\n if (options.enabled !== false) {\n const value = typeof field === \"function\" ? field(query) : field;\n return value === \"always\" || value !== false && isStale(query, options);\n }\n return false;\n}\nfunction shouldFetchOptionally(query, prevQuery, options, prevOptions) {\n return options.enabled !== false && (query !== prevQuery || prevOptions.enabled === false) && (!options.suspense || query.state.status !== \"error\") && isStale(query, options);\n}\nfunction isStale(query, options) {\n return query.isStaleByTime(options.staleTime);\n}\nfunction shouldAssignObserverCurrentProperties(observer, optimisticResult) {\n if (!shallowEqualObjects(observer.getCurrentResult(), optimisticResult)) {\n return true;\n }\n return false;\n}\nexport {\n QueryObserver\n};\n//# sourceMappingURL=queryObserver.js.map","// src/mutationObserver.ts\nimport { getDefaultState } from \"./mutation.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Subscribable } from \"./subscribable.js\";\nimport { shallowEqualObjects } from \"./utils.js\";\nvar MutationObserver = class extends Subscribable {\n constructor(client, options) {\n super();\n this.#currentResult = void 0;\n this.#client = client;\n this.setOptions(options);\n this.bindMethods();\n this.#updateResult();\n }\n #client;\n #currentResult;\n #currentMutation;\n #mutateOptions;\n bindMethods() {\n this.mutate = this.mutate.bind(this);\n this.reset = this.reset.bind(this);\n }\n setOptions(options) {\n const prevOptions = this.options;\n this.options = this.#client.defaultMutationOptions(options);\n if (!shallowEqualObjects(prevOptions, this.options)) {\n this.#client.getMutationCache().notify({\n type: \"observerOptionsUpdated\",\n mutation: this.#currentMutation,\n observer: this\n });\n }\n this.#currentMutation?.setOptions(this.options);\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#currentMutation?.removeObserver(this);\n }\n }\n onMutationUpdate(action) {\n this.#updateResult();\n this.#notify(action);\n }\n getCurrentResult() {\n return this.#currentResult;\n }\n reset() {\n this.#currentMutation = void 0;\n this.#updateResult();\n this.#notify();\n }\n mutate(variables, options) {\n this.#mutateOptions = options;\n this.#currentMutation?.removeObserver(this);\n this.#currentMutation = this.#client.getMutationCache().build(this.#client, this.options);\n this.#currentMutation.addObserver(this);\n return this.#currentMutation.execute(variables);\n }\n #updateResult() {\n const state = this.#currentMutation?.state ?? getDefaultState();\n this.#currentResult = {\n ...state,\n isPending: state.status === \"pending\",\n isSuccess: state.status === \"success\",\n isError: state.status === \"error\",\n isIdle: state.status === \"idle\",\n mutate: this.mutate,\n reset: this.reset\n };\n }\n #notify(action) {\n notifyManager.batch(() => {\n if (this.#mutateOptions && this.hasListeners()) {\n if (action?.type === \"success\") {\n this.#mutateOptions.onSuccess?.(\n action.data,\n this.#currentResult.variables,\n this.#currentResult.context\n );\n this.#mutateOptions.onSettled?.(\n action.data,\n null,\n this.#currentResult.variables,\n this.#currentResult.context\n );\n } else if (action?.type === \"error\") {\n this.#mutateOptions.onError?.(\n action.error,\n this.#currentResult.variables,\n this.#currentResult.context\n );\n this.#mutateOptions.onSettled?.(\n void 0,\n action.error,\n this.#currentResult.variables,\n this.#currentResult.context\n );\n }\n }\n this.listeners.forEach((listener) => {\n listener(this.#currentResult);\n });\n });\n }\n};\nexport {\n MutationObserver\n};\n//# sourceMappingURL=mutationObserver.js.map","\"use client\";\n\n// src/QueryClientProvider.tsx\nimport * as React from \"react\";\nvar QueryClientContext = React.createContext(\n void 0\n);\nvar useQueryClient = (queryClient) => {\n const client = React.useContext(QueryClientContext);\n if (queryClient) {\n return queryClient;\n }\n if (!client) {\n throw new Error(\"No QueryClient set, use QueryClientProvider to set one\");\n }\n return client;\n};\nvar QueryClientProvider = ({\n client,\n children\n}) => {\n React.useEffect(() => {\n client.mount();\n return () => {\n client.unmount();\n };\n }, [client]);\n return /* @__PURE__ */ React.createElement(QueryClientContext.Provider, { value: client }, children);\n};\nexport {\n QueryClientContext,\n QueryClientProvider,\n useQueryClient\n};\n//# sourceMappingURL=QueryClientProvider.js.map","\"use client\";\n\n// src/isRestoring.ts\nimport * as React from \"react\";\nvar IsRestoringContext = React.createContext(false);\nvar useIsRestoring = () => React.useContext(IsRestoringContext);\nvar IsRestoringProvider = IsRestoringContext.Provider;\nexport {\n IsRestoringProvider,\n useIsRestoring\n};\n//# sourceMappingURL=isRestoring.js.map","\"use client\";\n\n// src/QueryErrorResetBoundary.tsx\nimport * as React from \"react\";\nfunction createValue() {\n let isReset = false;\n return {\n clearReset: () => {\n isReset = false;\n },\n reset: () => {\n isReset = true;\n },\n isReset: () => {\n return isReset;\n }\n };\n}\nvar QueryErrorResetBoundaryContext = React.createContext(createValue());\nvar useQueryErrorResetBoundary = () => React.useContext(QueryErrorResetBoundaryContext);\nvar QueryErrorResetBoundary = ({\n children\n}) => {\n const [value] = React.useState(() => createValue());\n return /* @__PURE__ */ React.createElement(QueryErrorResetBoundaryContext.Provider, { value }, typeof children === \"function\" ? children(value) : children);\n};\nexport {\n QueryErrorResetBoundary,\n useQueryErrorResetBoundary\n};\n//# sourceMappingURL=QueryErrorResetBoundary.js.map","// src/utils.ts\nfunction shouldThrowError(throwError, params) {\n if (typeof throwError === \"function\") {\n return throwError(...params);\n }\n return !!throwError;\n}\nexport {\n shouldThrowError\n};\n//# sourceMappingURL=utils.js.map","\"use client\";\n\n// src/errorBoundaryUtils.ts\nimport * as React from \"react\";\nimport { shouldThrowError } from \"./utils.js\";\nvar ensurePreventErrorBoundaryRetry = (options, errorResetBoundary) => {\n if (options.suspense || options.throwOnError) {\n if (!errorResetBoundary.isReset()) {\n options.retryOnMount = false;\n }\n }\n};\nvar useClearResetErrorBoundary = (errorResetBoundary) => {\n React.useEffect(() => {\n errorResetBoundary.clearReset();\n }, [errorResetBoundary]);\n};\nvar getHasError = ({\n result,\n errorResetBoundary,\n throwOnError,\n query\n}) => {\n return result.isError && !errorResetBoundary.isReset() && !result.isFetching && shouldThrowError(throwOnError, [result.error, query]);\n};\nexport {\n ensurePreventErrorBoundaryRetry,\n getHasError,\n useClearResetErrorBoundary\n};\n//# sourceMappingURL=errorBoundaryUtils.js.map","// src/suspense.ts\nvar defaultThrowOnError = (_error, query) => typeof query.state.data === \"undefined\";\nvar ensureStaleTime = (defaultedOptions) => {\n if (defaultedOptions.suspense) {\n if (typeof defaultedOptions.staleTime !== \"number\") {\n defaultedOptions.staleTime = 1e3;\n }\n }\n};\nvar willFetch = (result, isRestoring) => result.isLoading && result.isFetching && !isRestoring;\nvar shouldSuspend = (defaultedOptions, result) => defaultedOptions?.suspense && result.isPending;\nvar fetchOptimistic = (defaultedOptions, observer, errorResetBoundary) => observer.fetchOptimistic(defaultedOptions).catch(() => {\n errorResetBoundary.clearReset();\n});\nexport {\n defaultThrowOnError,\n ensureStaleTime,\n fetchOptimistic,\n shouldSuspend,\n willFetch\n};\n//# sourceMappingURL=suspense.js.map","\"use client\";\n\n// src/useBaseQuery.ts\nimport * as React from \"react\";\nimport { notifyManager } from \"@tanstack/query-core\";\nimport { useQueryErrorResetBoundary } from \"./QueryErrorResetBoundary.js\";\nimport { useQueryClient } from \"./QueryClientProvider.js\";\nimport { useIsRestoring } from \"./isRestoring.js\";\nimport {\n ensurePreventErrorBoundaryRetry,\n getHasError,\n useClearResetErrorBoundary\n} from \"./errorBoundaryUtils.js\";\nimport { ensureStaleTime, fetchOptimistic, shouldSuspend } from \"./suspense.js\";\nfunction useBaseQuery(options, Observer, queryClient) {\n if (process.env.NODE_ENV !== \"production\") {\n if (typeof options !== \"object\" || Array.isArray(options)) {\n throw new Error(\n 'Bad argument type. Starting with v5, only the \"Object\" form is allowed when calling query related functions. Please use the error stack to find the culprit call. More info here: https://tanstack.com/query/latest/docs/react/guides/migrating-to-v5#supports-a-single-signature-one-object'\n );\n }\n }\n const client = useQueryClient(queryClient);\n const isRestoring = useIsRestoring();\n const errorResetBoundary = useQueryErrorResetBoundary();\n const defaultedOptions = client.defaultQueryOptions(options);\n defaultedOptions._optimisticResults = isRestoring ? \"isRestoring\" : \"optimistic\";\n ensureStaleTime(defaultedOptions);\n ensurePreventErrorBoundaryRetry(defaultedOptions, errorResetBoundary);\n useClearResetErrorBoundary(errorResetBoundary);\n const [observer] = React.useState(\n () => new Observer(\n client,\n defaultedOptions\n )\n );\n const result = observer.getOptimisticResult(defaultedOptions);\n React.useSyncExternalStore(\n React.useCallback(\n (onStoreChange) => {\n const unsubscribe = isRestoring ? () => void 0 : observer.subscribe(notifyManager.batchCalls(onStoreChange));\n observer.updateResult();\n return unsubscribe;\n },\n [observer, isRestoring]\n ),\n () => observer.getCurrentResult(),\n () => observer.getCurrentResult()\n );\n React.useEffect(() => {\n observer.setOptions(defaultedOptions, { listeners: false });\n }, [defaultedOptions, observer]);\n if (shouldSuspend(defaultedOptions, result)) {\n throw fetchOptimistic(defaultedOptions, observer, errorResetBoundary);\n }\n if (getHasError({\n result,\n errorResetBoundary,\n throwOnError: defaultedOptions.throwOnError,\n query: observer.getCurrentQuery()\n })) {\n throw result.error;\n }\n return !defaultedOptions.notifyOnChangeProps ? observer.trackResult(result) : result;\n}\nexport {\n useBaseQuery\n};\n//# sourceMappingURL=useBaseQuery.js.map","\"use client\";\n\n// src/useQuery.ts\nimport { QueryObserver } from \"@tanstack/query-core\";\nimport { useBaseQuery } from \"./useBaseQuery.js\";\nfunction useQuery(options, queryClient) {\n return useBaseQuery(options, QueryObserver, queryClient);\n}\nexport {\n useQuery\n};\n//# sourceMappingURL=useQuery.js.map","\"use client\";\n\n// src/useMutation.ts\nimport * as React from \"react\";\nimport { MutationObserver, notifyManager } from \"@tanstack/query-core\";\nimport { useQueryClient } from \"./QueryClientProvider.js\";\nimport { shouldThrowError } from \"./utils.js\";\nfunction useMutation(options, queryClient) {\n const client = useQueryClient(queryClient);\n const [observer] = React.useState(\n () => new MutationObserver(\n client,\n options\n )\n );\n React.useEffect(() => {\n observer.setOptions(options);\n }, [observer, options]);\n const result = React.useSyncExternalStore(\n React.useCallback(\n (onStoreChange) => observer.subscribe(notifyManager.batchCalls(onStoreChange)),\n [observer]\n ),\n () => observer.getCurrentResult(),\n () => observer.getCurrentResult()\n );\n const mutate = React.useCallback(\n (variables, mutateOptions) => {\n observer.mutate(variables, mutateOptions).catch(noop);\n },\n [observer]\n );\n if (result.error && shouldThrowError(observer.options.throwOnError, [result.error])) {\n throw result.error;\n }\n return { ...result, mutate, mutateAsync: result.mutate };\n}\nfunction noop() {\n}\nexport {\n useMutation\n};\n//# sourceMappingURL=useMutation.js.map","/**\n * @remix-run/router v1.15.0\n *\n * Copyright (c) Remix Software Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nfunction _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Types and Constants\n////////////////////////////////////////////////////////////////////////////////\n/**\n * Actions represent the type of change to a location value.\n */\nvar Action;\n(function (Action) {\n /**\n * A POP indicates a change to an arbitrary index in the history stack, such\n * as a back or forward navigation. It does not describe the direction of the\n * navigation, only that the current index changed.\n *\n * Note: This is the default action for newly created history objects.\n */\n Action[\"Pop\"] = \"POP\";\n /**\n * A PUSH indicates a new entry being added to the history stack, such as when\n * a link is clicked and a new page loads. When this happens, all subsequent\n * entries in the stack are lost.\n */\n Action[\"Push\"] = \"PUSH\";\n /**\n * A REPLACE indicates the entry at the current index in the history stack\n * being replaced by a new one.\n */\n Action[\"Replace\"] = \"REPLACE\";\n})(Action || (Action = {}));\nconst PopStateEventType = \"popstate\";\n/**\n * Memory history stores the current location in memory. It is designed for use\n * in stateful non-browser environments like tests and React Native.\n */\nfunction createMemoryHistory(options) {\n if (options === void 0) {\n options = {};\n }\n let {\n initialEntries = [\"/\"],\n initialIndex,\n v5Compat = false\n } = options;\n let entries; // Declare so we can access from createMemoryLocation\n entries = initialEntries.map((entry, index) => createMemoryLocation(entry, typeof entry === \"string\" ? null : entry.state, index === 0 ? \"default\" : undefined));\n let index = clampIndex(initialIndex == null ? entries.length - 1 : initialIndex);\n let action = Action.Pop;\n let listener = null;\n function clampIndex(n) {\n return Math.min(Math.max(n, 0), entries.length - 1);\n }\n function getCurrentLocation() {\n return entries[index];\n }\n function createMemoryLocation(to, state, key) {\n if (state === void 0) {\n state = null;\n }\n let location = createLocation(entries ? getCurrentLocation().pathname : \"/\", to, state, key);\n warning(location.pathname.charAt(0) === \"/\", \"relative pathnames are not supported in memory history: \" + JSON.stringify(to));\n return location;\n }\n function createHref(to) {\n return typeof to === \"string\" ? to : createPath(to);\n }\n let history = {\n get index() {\n return index;\n },\n get action() {\n return action;\n },\n get location() {\n return getCurrentLocation();\n },\n createHref,\n createURL(to) {\n return new URL(createHref(to), \"http://localhost\");\n },\n encodeLocation(to) {\n let path = typeof to === \"string\" ? parsePath(to) : to;\n return {\n pathname: path.pathname || \"\",\n search: path.search || \"\",\n hash: path.hash || \"\"\n };\n },\n push(to, state) {\n action = Action.Push;\n let nextLocation = createMemoryLocation(to, state);\n index += 1;\n entries.splice(index, entries.length, nextLocation);\n if (v5Compat && listener) {\n listener({\n action,\n location: nextLocation,\n delta: 1\n });\n }\n },\n replace(to, state) {\n action = Action.Replace;\n let nextLocation = createMemoryLocation(to, state);\n entries[index] = nextLocation;\n if (v5Compat && listener) {\n listener({\n action,\n location: nextLocation,\n delta: 0\n });\n }\n },\n go(delta) {\n action = Action.Pop;\n let nextIndex = clampIndex(index + delta);\n let nextLocation = entries[nextIndex];\n index = nextIndex;\n if (listener) {\n listener({\n action,\n location: nextLocation,\n delta\n });\n }\n },\n listen(fn) {\n listener = fn;\n return () => {\n listener = null;\n };\n }\n };\n return history;\n}\n/**\n * Browser history stores the location in regular URLs. This is the standard for\n * most web apps, but it requires some configuration on the server to ensure you\n * serve the same app at multiple URLs.\n *\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createbrowserhistory\n */\nfunction createBrowserHistory(options) {\n if (options === void 0) {\n options = {};\n }\n function createBrowserLocation(window, globalHistory) {\n let {\n pathname,\n search,\n hash\n } = window.location;\n return createLocation(\"\", {\n pathname,\n search,\n hash\n },\n // state defaults to `null` because `window.history.state` does\n globalHistory.state && globalHistory.state.usr || null, globalHistory.state && globalHistory.state.key || \"default\");\n }\n function createBrowserHref(window, to) {\n return typeof to === \"string\" ? to : createPath(to);\n }\n return getUrlBasedHistory(createBrowserLocation, createBrowserHref, null, options);\n}\n/**\n * Hash history stores the location in window.location.hash. This makes it ideal\n * for situations where you don't want to send the location to the server for\n * some reason, either because you do cannot configure it or the URL space is\n * reserved for something else.\n *\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createhashhistory\n */\nfunction createHashHistory(options) {\n if (options === void 0) {\n options = {};\n }\n function createHashLocation(window, globalHistory) {\n let {\n pathname = \"/\",\n search = \"\",\n hash = \"\"\n } = parsePath(window.location.hash.substr(1));\n // Hash URL should always have a leading / just like window.location.pathname\n // does, so if an app ends up at a route like /#something then we add a\n // leading slash so all of our path-matching behaves the same as if it would\n // in a browser router. This is particularly important when there exists a\n // root splat route (<Route path=\"*\">) since that matches internally against\n // \"/*\" and we'd expect /#something to 404 in a hash router app.\n if (!pathname.startsWith(\"/\") && !pathname.startsWith(\".\")) {\n pathname = \"/\" + pathname;\n }\n return createLocation(\"\", {\n pathname,\n search,\n hash\n },\n // state defaults to `null` because `window.history.state` does\n globalHistory.state && globalHistory.state.usr || null, globalHistory.state && globalHistory.state.key || \"default\");\n }\n function createHashHref(window, to) {\n let base = window.document.querySelector(\"base\");\n let href = \"\";\n if (base && base.getAttribute(\"href\")) {\n let url = window.location.href;\n let hashIndex = url.indexOf(\"#\");\n href = hashIndex === -1 ? url : url.slice(0, hashIndex);\n }\n return href + \"#\" + (typeof to === \"string\" ? to : createPath(to));\n }\n function validateHashLocation(location, to) {\n warning(location.pathname.charAt(0) === \"/\", \"relative pathnames are not supported in hash history.push(\" + JSON.stringify(to) + \")\");\n }\n return getUrlBasedHistory(createHashLocation, createHashHref, validateHashLocation, options);\n}\nfunction invariant(value, message) {\n if (value === false || value === null || typeof value === \"undefined\") {\n throw new Error(message);\n }\n}\nfunction warning(cond, message) {\n if (!cond) {\n // eslint-disable-next-line no-console\n if (typeof console !== \"undefined\") console.warn(message);\n try {\n // Welcome to debugging history!\n //\n // This error is thrown as a convenience, so you can more easily\n // find the source for a warning that appears in the console by\n // enabling \"pause on exceptions\" in your JavaScript debugger.\n throw new Error(message);\n // eslint-disable-next-line no-empty\n } catch (e) {}\n }\n}\nfunction createKey() {\n return Math.random().toString(36).substr(2, 8);\n}\n/**\n * For browser-based histories, we combine the state and key into an object\n */\nfunction getHistoryState(location, index) {\n return {\n usr: location.state,\n key: location.key,\n idx: index\n };\n}\n/**\n * Creates a Location object with a unique key from the given Path\n */\nfunction createLocation(current, to, state, key) {\n if (state === void 0) {\n state = null;\n }\n let location = _extends({\n pathname: typeof current === \"string\" ? current : current.pathname,\n search: \"\",\n hash: \"\"\n }, typeof to === \"string\" ? parsePath(to) : to, {\n state,\n // TODO: This could be cleaned up. push/replace should probably just take\n // full Locations now and avoid the need to run through this flow at all\n // But that's a pretty big refactor to the current test suite so going to\n // keep as is for the time being and just let any incoming keys take precedence\n key: to && to.key || key || createKey()\n });\n return location;\n}\n/**\n * Creates a string URL path from the given pathname, search, and hash components.\n */\nfunction createPath(_ref) {\n let {\n pathname = \"/\",\n search = \"\",\n hash = \"\"\n } = _ref;\n if (search && search !== \"?\") pathname += search.charAt(0) === \"?\" ? search : \"?\" + search;\n if (hash && hash !== \"#\") pathname += hash.charAt(0) === \"#\" ? hash : \"#\" + hash;\n return pathname;\n}\n/**\n * Parses a string URL path into its separate pathname, search, and hash components.\n */\nfunction parsePath(path) {\n let parsedPath = {};\n if (path) {\n let hashIndex = path.indexOf(\"#\");\n if (hashIndex >= 0) {\n parsedPath.hash = path.substr(hashIndex);\n path = path.substr(0, hashIndex);\n }\n let searchIndex = path.indexOf(\"?\");\n if (searchIndex >= 0) {\n parsedPath.search = path.substr(searchIndex);\n path = path.substr(0, searchIndex);\n }\n if (path) {\n parsedPath.pathname = path;\n }\n }\n return parsedPath;\n}\nfunction getUrlBasedHistory(getLocation, createHref, validateLocation, options) {\n if (options === void 0) {\n options = {};\n }\n let {\n window = document.defaultView,\n v5Compat = false\n } = options;\n let globalHistory = window.history;\n let action = Action.Pop;\n let listener = null;\n let index = getIndex();\n // Index should only be null when we initialize. If not, it's because the\n // user called history.pushState or history.replaceState directly, in which\n // case we should log a warning as it will result in bugs.\n if (index == null) {\n index = 0;\n globalHistory.replaceState(_extends({}, globalHistory.state, {\n idx: index\n }), \"\");\n }\n function getIndex() {\n let state = globalHistory.state || {\n idx: null\n };\n return state.idx;\n }\n function handlePop() {\n action = Action.Pop;\n let nextIndex = getIndex();\n let delta = nextIndex == null ? null : nextIndex - index;\n index = nextIndex;\n if (listener) {\n listener({\n action,\n location: history.location,\n delta\n });\n }\n }\n function push(to, state) {\n action = Action.Push;\n let location = createLocation(history.location, to, state);\n if (validateLocation) validateLocation(location, to);\n index = getIndex() + 1;\n let historyState = getHistoryState(location, index);\n let url = history.createHref(location);\n // try...catch because iOS limits us to 100 pushState calls :/\n try {\n globalHistory.pushState(historyState, \"\", url);\n } catch (error) {\n // If the exception is because `state` can't be serialized, let that throw\n // outwards just like a replace call would so the dev knows the cause\n // https://html.spec.whatwg.org/multipage/nav-history-apis.html#shared-history-push/replace-state-steps\n // https://html.spec.whatwg.org/multipage/structured-data.html#structuredserializeinternal\n if (error instanceof DOMException && error.name === \"DataCloneError\") {\n throw error;\n }\n // They are going to lose state here, but there is no real\n // way to warn them about it since the page will refresh...\n window.location.assign(url);\n }\n if (v5Compat && listener) {\n listener({\n action,\n location: history.location,\n delta: 1\n });\n }\n }\n function replace(to, state) {\n action = Action.Replace;\n let location = createLocation(history.location, to, state);\n if (validateLocation) validateLocation(location, to);\n index = getIndex();\n let historyState = getHistoryState(location, index);\n let url = history.createHref(location);\n globalHistory.replaceState(historyState, \"\", url);\n if (v5Compat && listener) {\n listener({\n action,\n location: history.location,\n delta: 0\n });\n }\n }\n function createURL(to) {\n // window.location.origin is \"null\" (the literal string value) in Firefox\n // under certain conditions, notably when serving from a local HTML file\n // See https://bugzilla.mozilla.org/show_bug.cgi?id=878297\n let base = window.location.origin !== \"null\" ? window.location.origin : window.location.href;\n let href = typeof to === \"string\" ? to : createPath(to);\n invariant(base, \"No window.location.(origin|href) available to create URL for href: \" + href);\n return new URL(href, base);\n }\n let history = {\n get action() {\n return action;\n },\n get location() {\n return getLocation(window, globalHistory);\n },\n listen(fn) {\n if (listener) {\n throw new Error(\"A history only accepts one active listener\");\n }\n window.addEventListener(PopStateEventType, handlePop);\n listener = fn;\n return () => {\n window.removeEventListener(PopStateEventType, handlePop);\n listener = null;\n };\n },\n createHref(to) {\n return createHref(window, to);\n },\n createURL,\n encodeLocation(to) {\n // Encode a Location the same way window.location would\n let url = createURL(to);\n return {\n pathname: url.pathname,\n search: url.search,\n hash: url.hash\n };\n },\n push,\n replace,\n go(n) {\n return globalHistory.go(n);\n }\n };\n return history;\n}\n//#endregion\n\nvar ResultType;\n(function (ResultType) {\n ResultType[\"data\"] = \"data\";\n ResultType[\"deferred\"] = \"deferred\";\n ResultType[\"redirect\"] = \"redirect\";\n ResultType[\"error\"] = \"error\";\n})(ResultType || (ResultType = {}));\nconst immutableRouteKeys = new Set([\"lazy\", \"caseSensitive\", \"path\", \"id\", \"index\", \"children\"]);\nfunction isIndexRoute(route) {\n return route.index === true;\n}\n// Walk the route tree generating unique IDs where necessary, so we are working\n// solely with AgnosticDataRouteObject's within the Router\nfunction convertRoutesToDataRoutes(routes, mapRouteProperties, parentPath, manifest) {\n if (parentPath === void 0) {\n parentPath = [];\n }\n if (manifest === void 0) {\n manifest = {};\n }\n return routes.map((route, index) => {\n let treePath = [...parentPath, index];\n let id = typeof route.id === \"string\" ? route.id : treePath.join(\"-\");\n invariant(route.index !== true || !route.children, \"Cannot specify children on an index route\");\n invariant(!manifest[id], \"Found a route id collision on id \\\"\" + id + \"\\\". Route \" + \"id's must be globally unique within Data Router usages\");\n if (isIndexRoute(route)) {\n let indexRoute = _extends({}, route, mapRouteProperties(route), {\n id\n });\n manifest[id] = indexRoute;\n return indexRoute;\n } else {\n let pathOrLayoutRoute = _extends({}, route, mapRouteProperties(route), {\n id,\n children: undefined\n });\n manifest[id] = pathOrLayoutRoute;\n if (route.children) {\n pathOrLayoutRoute.children = convertRoutesToDataRoutes(route.children, mapRouteProperties, treePath, manifest);\n }\n return pathOrLayoutRoute;\n }\n });\n}\n/**\n * Matches the given routes to a location and returns the match data.\n *\n * @see https://reactrouter.com/utils/match-routes\n */\nfunction matchRoutes(routes, locationArg, basename) {\n if (basename === void 0) {\n basename = \"/\";\n }\n let location = typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n let pathname = stripBasename(location.pathname || \"/\", basename);\n if (pathname == null) {\n return null;\n }\n let branches = flattenRoutes(routes);\n rankRouteBranches(branches);\n let matches = null;\n for (let i = 0; matches == null && i < branches.length; ++i) {\n matches = matchRouteBranch(branches[i],\n // Incoming pathnames are generally encoded from either window.location\n // or from router.navigate, but we want to match against the unencoded\n // paths in the route definitions. Memory router locations won't be\n // encoded here but there also shouldn't be anything to decode so this\n // should be a safe operation. This avoids needing matchRoutes to be\n // history-aware.\n safelyDecodeURI(pathname));\n }\n return matches;\n}\nfunction convertRouteMatchToUiMatch(match, loaderData) {\n let {\n route,\n pathname,\n params\n } = match;\n return {\n id: route.id,\n pathname,\n params,\n data: loaderData[route.id],\n handle: route.handle\n };\n}\nfunction flattenRoutes(routes, branches, parentsMeta, parentPath) {\n if (branches === void 0) {\n branches = [];\n }\n if (parentsMeta === void 0) {\n parentsMeta = [];\n }\n if (parentPath === void 0) {\n parentPath = \"\";\n }\n let flattenRoute = (route, index, relativePath) => {\n let meta = {\n relativePath: relativePath === undefined ? route.path || \"\" : relativePath,\n caseSensitive: route.caseSensitive === true,\n childrenIndex: index,\n route\n };\n if (meta.relativePath.startsWith(\"/\")) {\n invariant(meta.relativePath.startsWith(parentPath), \"Absolute route path \\\"\" + meta.relativePath + \"\\\" nested under path \" + (\"\\\"\" + parentPath + \"\\\" is not valid. An absolute child route path \") + \"must start with the combined path of all its parent routes.\");\n meta.relativePath = meta.relativePath.slice(parentPath.length);\n }\n let path = joinPaths([parentPath, meta.relativePath]);\n let routesMeta = parentsMeta.concat(meta);\n // Add the children before adding this route to the array, so we traverse the\n // route tree depth-first and child routes appear before their parents in\n // the \"flattened\" version.\n if (route.children && route.children.length > 0) {\n invariant(\n // Our types know better, but runtime JS may not!\n // @ts-expect-error\n route.index !== true, \"Index routes must not have child routes. Please remove \" + (\"all child routes from route path \\\"\" + path + \"\\\".\"));\n flattenRoutes(route.children, branches, routesMeta, path);\n }\n // Routes without a path shouldn't ever match by themselves unless they are\n // index routes, so don't add them to the list of possible branches.\n if (route.path == null && !route.index) {\n return;\n }\n branches.push({\n path,\n score: computeScore(path, route.index),\n routesMeta\n });\n };\n routes.forEach((route, index) => {\n var _route$path;\n // coarse-grain check for optional params\n if (route.path === \"\" || !((_route$path = route.path) != null && _route$path.includes(\"?\"))) {\n flattenRoute(route, index);\n } else {\n for (let exploded of explodeOptionalSegments(route.path)) {\n flattenRoute(route, index, exploded);\n }\n }\n });\n return branches;\n}\n/**\n * Computes all combinations of optional path segments for a given path,\n * excluding combinations that are ambiguous and of lower priority.\n *\n * For example, `/one/:two?/three/:four?/:five?` explodes to:\n * - `/one/three`\n * - `/one/:two/three`\n * - `/one/three/:four`\n * - `/one/three/:five`\n * - `/one/:two/three/:four`\n * - `/one/:two/three/:five`\n * - `/one/three/:four/:five`\n * - `/one/:two/three/:four/:five`\n */\nfunction explodeOptionalSegments(path) {\n let segments = path.split(\"/\");\n if (segments.length === 0) return [];\n let [first, ...rest] = segments;\n // Optional path segments are denoted by a trailing `?`\n let isOptional = first.endsWith(\"?\");\n // Compute the corresponding required segment: `foo?` -> `foo`\n let required = first.replace(/\\?$/, \"\");\n if (rest.length === 0) {\n // Intepret empty string as omitting an optional segment\n // `[\"one\", \"\", \"three\"]` corresponds to omitting `:two` from `/one/:two?/three` -> `/one/three`\n return isOptional ? [required, \"\"] : [required];\n }\n let restExploded = explodeOptionalSegments(rest.join(\"/\"));\n let result = [];\n // All child paths with the prefix. Do this for all children before the\n // optional version for all children, so we get consistent ordering where the\n // parent optional aspect is preferred as required. Otherwise, we can get\n // child sections interspersed where deeper optional segments are higher than\n // parent optional segments, where for example, /:two would explode _earlier_\n // then /:one. By always including the parent as required _for all children_\n // first, we avoid this issue\n result.push(...restExploded.map(subpath => subpath === \"\" ? required : [required, subpath].join(\"/\")));\n // Then, if this is an optional value, add all child versions without\n if (isOptional) {\n result.push(...restExploded);\n }\n // for absolute paths, ensure `/` instead of empty segment\n return result.map(exploded => path.startsWith(\"/\") && exploded === \"\" ? \"/\" : exploded);\n}\nfunction rankRouteBranches(branches) {\n branches.sort((a, b) => a.score !== b.score ? b.score - a.score // Higher score first\n : compareIndexes(a.routesMeta.map(meta => meta.childrenIndex), b.routesMeta.map(meta => meta.childrenIndex)));\n}\nconst paramRe = /^:[\\w-]+$/;\nconst dynamicSegmentValue = 3;\nconst indexRouteValue = 2;\nconst emptySegmentValue = 1;\nconst staticSegmentValue = 10;\nconst splatPenalty = -2;\nconst isSplat = s => s === \"*\";\nfunction computeScore(path, index) {\n let segments = path.split(\"/\");\n let initialScore = segments.length;\n if (segments.some(isSplat)) {\n initialScore += splatPenalty;\n }\n if (index) {\n initialScore += indexRouteValue;\n }\n return segments.filter(s => !isSplat(s)).reduce((score, segment) => score + (paramRe.test(segment) ? dynamicSegmentValue : segment === \"\" ? emptySegmentValue : staticSegmentValue), initialScore);\n}\nfunction compareIndexes(a, b) {\n let siblings = a.length === b.length && a.slice(0, -1).every((n, i) => n === b[i]);\n return siblings ?\n // If two routes are siblings, we should try to match the earlier sibling\n // first. This allows people to have fine-grained control over the matching\n // behavior by simply putting routes with identical paths in the order they\n // want them tried.\n a[a.length - 1] - b[b.length - 1] :\n // Otherwise, it doesn't really make sense to rank non-siblings by index,\n // so they sort equally.\n 0;\n}\nfunction matchRouteBranch(branch, pathname) {\n let {\n routesMeta\n } = branch;\n let matchedParams = {};\n let matchedPathname = \"/\";\n let matches = [];\n for (let i = 0; i < routesMeta.length; ++i) {\n let meta = routesMeta[i];\n let end = i === routesMeta.length - 1;\n let remainingPathname = matchedPathname === \"/\" ? pathname : pathname.slice(matchedPathname.length) || \"/\";\n let match = matchPath({\n path: meta.relativePath,\n caseSensitive: meta.caseSensitive,\n end\n }, remainingPathname);\n if (!match) return null;\n Object.assign(matchedParams, match.params);\n let route = meta.route;\n matches.push({\n // TODO: Can this as be avoided?\n params: matchedParams,\n pathname: joinPaths([matchedPathname, match.pathname]),\n pathnameBase: normalizePathname(joinPaths([matchedPathname, match.pathnameBase])),\n route\n });\n if (match.pathnameBase !== \"/\") {\n matchedPathname = joinPaths([matchedPathname, match.pathnameBase]);\n }\n }\n return matches;\n}\n/**\n * Returns a path with params interpolated.\n *\n * @see https://reactrouter.com/utils/generate-path\n */\nfunction generatePath(originalPath, params) {\n if (params === void 0) {\n params = {};\n }\n let path = originalPath;\n if (path.endsWith(\"*\") && path !== \"*\" && !path.endsWith(\"/*\")) {\n warning(false, \"Route path \\\"\" + path + \"\\\" will be treated as if it were \" + (\"\\\"\" + path.replace(/\\*$/, \"/*\") + \"\\\" because the `*` character must \") + \"always follow a `/` in the pattern. To get rid of this warning, \" + (\"please change the route path to \\\"\" + path.replace(/\\*$/, \"/*\") + \"\\\".\"));\n path = path.replace(/\\*$/, \"/*\");\n }\n // ensure `/` is added at the beginning if the path is absolute\n const prefix = path.startsWith(\"/\") ? \"/\" : \"\";\n const stringify = p => p == null ? \"\" : typeof p === \"string\" ? p : String(p);\n const segments = path.split(/\\/+/).map((segment, index, array) => {\n const isLastSegment = index === array.length - 1;\n // only apply the splat if it's the last segment\n if (isLastSegment && segment === \"*\") {\n const star = \"*\";\n // Apply the splat\n return stringify(params[star]);\n }\n const keyMatch = segment.match(/^:([\\w-]+)(\\??)$/);\n if (keyMatch) {\n const [, key, optional] = keyMatch;\n let param = params[key];\n invariant(optional === \"?\" || param != null, \"Missing \\\":\" + key + \"\\\" param\");\n return stringify(param);\n }\n // Remove any optional markers from optional static segments\n return segment.replace(/\\?$/g, \"\");\n })\n // Remove empty segments\n .filter(segment => !!segment);\n return prefix + segments.join(\"/\");\n}\n/**\n * Performs pattern matching on a URL pathname and returns information about\n * the match.\n *\n * @see https://reactrouter.com/utils/match-path\n */\nfunction matchPath(pattern, pathname) {\n if (typeof pattern === \"string\") {\n pattern = {\n path: pattern,\n caseSensitive: false,\n end: true\n };\n }\n let [matcher, compiledParams] = compilePath(pattern.path, pattern.caseSensitive, pattern.end);\n let match = pathname.match(matcher);\n if (!match) return null;\n let matchedPathname = match[0];\n let pathnameBase = matchedPathname.replace(/(.)\\/+$/, \"$1\");\n let captureGroups = match.slice(1);\n let params = compiledParams.reduce((memo, _ref, index) => {\n let {\n paramName,\n isOptional\n } = _ref;\n // We need to compute the pathnameBase here using the raw splat value\n // instead of using params[\"*\"] later because it will be decoded then\n if (paramName === \"*\") {\n let splatValue = captureGroups[index] || \"\";\n pathnameBase = matchedPathname.slice(0, matchedPathname.length - splatValue.length).replace(/(.)\\/+$/, \"$1\");\n }\n const value = captureGroups[index];\n if (isOptional && !value) {\n memo[paramName] = undefined;\n } else {\n memo[paramName] = safelyDecodeURIComponent(value || \"\", paramName);\n }\n return memo;\n }, {});\n return {\n params,\n pathname: matchedPathname,\n pathnameBase,\n pattern\n };\n}\nfunction compilePath(path, caseSensitive, end) {\n if (caseSensitive === void 0) {\n caseSensitive = false;\n }\n if (end === void 0) {\n end = true;\n }\n warning(path === \"*\" || !path.endsWith(\"*\") || path.endsWith(\"/*\"), \"Route path \\\"\" + path + \"\\\" will be treated as if it were \" + (\"\\\"\" + path.replace(/\\*$/, \"/*\") + \"\\\" because the `*` character must \") + \"always follow a `/` in the pattern. To get rid of this warning, \" + (\"please change the route path to \\\"\" + path.replace(/\\*$/, \"/*\") + \"\\\".\"));\n let params = [];\n let regexpSource = \"^\" + path.replace(/\\/*\\*?$/, \"\") // Ignore trailing / and /*, we'll handle it below\n .replace(/^\\/*/, \"/\") // Make sure it has a leading /\n .replace(/[\\\\.*+^${}|()[\\]]/g, \"\\\\$&\") // Escape special regex chars\n .replace(/\\/:([\\w-]+)(\\?)?/g, (_, paramName, isOptional) => {\n params.push({\n paramName,\n isOptional: isOptional != null\n });\n return isOptional ? \"/?([^\\\\/]+)?\" : \"/([^\\\\/]+)\";\n });\n if (path.endsWith(\"*\")) {\n params.push({\n paramName: \"*\"\n });\n regexpSource += path === \"*\" || path === \"/*\" ? \"(.*)$\" // Already matched the initial /, just match the rest\n : \"(?:\\\\/(.+)|\\\\/*)$\"; // Don't include the / in params[\"*\"]\n } else if (end) {\n // When matching to the end, ignore trailing slashes\n regexpSource += \"\\\\/*$\";\n } else if (path !== \"\" && path !== \"/\") {\n // If our path is non-empty and contains anything beyond an initial slash,\n // then we have _some_ form of path in our regex, so we should expect to\n // match only if we find the end of this path segment. Look for an optional\n // non-captured trailing slash (to match a portion of the URL) or the end\n // of the path (if we've matched to the end). We used to do this with a\n // word boundary but that gives false positives on routes like\n // /user-preferences since `-` counts as a word boundary.\n regexpSource += \"(?:(?=\\\\/|$))\";\n } else ;\n let matcher = new RegExp(regexpSource, caseSensitive ? undefined : \"i\");\n return [matcher, params];\n}\nfunction safelyDecodeURI(value) {\n try {\n return decodeURI(value);\n } catch (error) {\n warning(false, \"The URL path \\\"\" + value + \"\\\" could not be decoded because it is is a \" + \"malformed URL segment. This is probably due to a bad percent \" + (\"encoding (\" + error + \").\"));\n return value;\n }\n}\nfunction safelyDecodeURIComponent(value, paramName) {\n try {\n return decodeURIComponent(value);\n } catch (error) {\n warning(false, \"The value for the URL param \\\"\" + paramName + \"\\\" will not be decoded because\" + (\" the string \\\"\" + value + \"\\\" is a malformed URL segment. This is probably\") + (\" due to a bad percent encoding (\" + error + \").\"));\n return value;\n }\n}\n/**\n * @private\n */\nfunction stripBasename(pathname, basename) {\n if (basename === \"/\") return pathname;\n if (!pathname.toLowerCase().startsWith(basename.toLowerCase())) {\n return null;\n }\n // We want to leave trailing slash behavior in the user's control, so if they\n // specify a basename with a trailing slash, we should support it\n let startIndex = basename.endsWith(\"/\") ? basename.length - 1 : basename.length;\n let nextChar = pathname.charAt(startIndex);\n if (nextChar && nextChar !== \"/\") {\n // pathname does not start with basename/\n return null;\n }\n return pathname.slice(startIndex) || \"/\";\n}\n/**\n * Returns a resolved path object relative to the given pathname.\n *\n * @see https://reactrouter.com/utils/resolve-path\n */\nfunction resolvePath(to, fromPathname) {\n if (fromPathname === void 0) {\n fromPathname = \"/\";\n }\n let {\n pathname: toPathname,\n search = \"\",\n hash = \"\"\n } = typeof to === \"string\" ? parsePath(to) : to;\n let pathname = toPathname ? toPathname.startsWith(\"/\") ? toPathname : resolvePathname(toPathname, fromPathname) : fromPathname;\n return {\n pathname,\n search: normalizeSearch(search),\n hash: normalizeHash(hash)\n };\n}\nfunction resolvePathname(relativePath, fromPathname) {\n let segments = fromPathname.replace(/\\/+$/, \"\").split(\"/\");\n let relativeSegments = relativePath.split(\"/\");\n relativeSegments.forEach(segment => {\n if (segment === \"..\") {\n // Keep the root \"\" segment so the pathname starts at /\n if (segments.length > 1) segments.pop();\n } else if (segment !== \".\") {\n segments.push(segment);\n }\n });\n return segments.length > 1 ? segments.join(\"/\") : \"/\";\n}\nfunction getInvalidPathError(char, field, dest, path) {\n return \"Cannot include a '\" + char + \"' character in a manually specified \" + (\"`to.\" + field + \"` field [\" + JSON.stringify(path) + \"]. Please separate it out to the \") + (\"`to.\" + dest + \"` field. Alternatively you may provide the full path as \") + \"a string in <Link to=\\\"...\\\"> and the router will parse it for you.\";\n}\n/**\n * @private\n *\n * When processing relative navigation we want to ignore ancestor routes that\n * do not contribute to the path, such that index/pathless layout routes don't\n * interfere.\n *\n * For example, when moving a route element into an index route and/or a\n * pathless layout route, relative link behavior contained within should stay\n * the same. Both of the following examples should link back to the root:\n *\n * <Route path=\"/\">\n * <Route path=\"accounts\" element={<Link to=\"..\"}>\n * </Route>\n *\n * <Route path=\"/\">\n * <Route path=\"accounts\">\n * <Route element={<AccountsLayout />}> // <-- Does not contribute\n * <Route index element={<Link to=\"..\"} /> // <-- Does not contribute\n * </Route\n * </Route>\n * </Route>\n */\nfunction getPathContributingMatches(matches) {\n return matches.filter((match, index) => index === 0 || match.route.path && match.route.path.length > 0);\n}\n// Return the array of pathnames for the current route matches - used to\n// generate the routePathnames input for resolveTo()\nfunction getResolveToMatches(matches, v7_relativeSplatPath) {\n let pathMatches = getPathContributingMatches(matches);\n // When v7_relativeSplatPath is enabled, use the full pathname for the leaf\n // match so we include splat values for \".\" links. See:\n // https://github.com/remix-run/react-router/issues/11052#issuecomment-1836589329\n if (v7_relativeSplatPath) {\n return pathMatches.map((match, idx) => idx === matches.length - 1 ? match.pathname : match.pathnameBase);\n }\n return pathMatches.map(match => match.pathnameBase);\n}\n/**\n * @private\n */\nfunction resolveTo(toArg, routePathnames, locationPathname, isPathRelative) {\n if (isPathRelative === void 0) {\n isPathRelative = false;\n }\n let to;\n if (typeof toArg === \"string\") {\n to = parsePath(toArg);\n } else {\n to = _extends({}, toArg);\n invariant(!to.pathname || !to.pathname.includes(\"?\"), getInvalidPathError(\"?\", \"pathname\", \"search\", to));\n invariant(!to.pathname || !to.pathname.includes(\"#\"), getInvalidPathError(\"#\", \"pathname\", \"hash\", to));\n invariant(!to.search || !to.search.includes(\"#\"), getInvalidPathError(\"#\", \"search\", \"hash\", to));\n }\n let isEmptyPath = toArg === \"\" || to.pathname === \"\";\n let toPathname = isEmptyPath ? \"/\" : to.pathname;\n let from;\n // Routing is relative to the current pathname if explicitly requested.\n //\n // If a pathname is explicitly provided in `to`, it should be relative to the\n // route context. This is explained in `Note on `<Link to>` values` in our\n // migration guide from v5 as a means of disambiguation between `to` values\n // that begin with `/` and those that do not. However, this is problematic for\n // `to` values that do not provide a pathname. `to` can simply be a search or\n // hash string, in which case we should assume that the navigation is relative\n // to the current location's pathname and *not* the route pathname.\n if (toPathname == null) {\n from = locationPathname;\n } else {\n let routePathnameIndex = routePathnames.length - 1;\n // With relative=\"route\" (the default), each leading .. segment means\n // \"go up one route\" instead of \"go up one URL segment\". This is a key\n // difference from how <a href> works and a major reason we call this a\n // \"to\" value instead of a \"href\".\n if (!isPathRelative && toPathname.startsWith(\"..\")) {\n let toSegments = toPathname.split(\"/\");\n while (toSegments[0] === \"..\") {\n toSegments.shift();\n routePathnameIndex -= 1;\n }\n to.pathname = toSegments.join(\"/\");\n }\n from = routePathnameIndex >= 0 ? routePathnames[routePathnameIndex] : \"/\";\n }\n let path = resolvePath(to, from);\n // Ensure the pathname has a trailing slash if the original \"to\" had one\n let hasExplicitTrailingSlash = toPathname && toPathname !== \"/\" && toPathname.endsWith(\"/\");\n // Or if this was a link to the current path which has a trailing slash\n let hasCurrentTrailingSlash = (isEmptyPath || toPathname === \".\") && locationPathname.endsWith(\"/\");\n if (!path.pathname.endsWith(\"/\") && (hasExplicitTrailingSlash || hasCurrentTrailingSlash)) {\n path.pathname += \"/\";\n }\n return path;\n}\n/**\n * @private\n */\nfunction getToPathname(to) {\n // Empty strings should be treated the same as / paths\n return to === \"\" || to.pathname === \"\" ? \"/\" : typeof to === \"string\" ? parsePath(to).pathname : to.pathname;\n}\n/**\n * @private\n */\nconst joinPaths = paths => paths.join(\"/\").replace(/\\/\\/+/g, \"/\");\n/**\n * @private\n */\nconst normalizePathname = pathname => pathname.replace(/\\/+$/, \"\").replace(/^\\/*/, \"/\");\n/**\n * @private\n */\nconst normalizeSearch = search => !search || search === \"?\" ? \"\" : search.startsWith(\"?\") ? search : \"?\" + search;\n/**\n * @private\n */\nconst normalizeHash = hash => !hash || hash === \"#\" ? \"\" : hash.startsWith(\"#\") ? hash : \"#\" + hash;\n/**\n * This is a shortcut for creating `application/json` responses. Converts `data`\n * to JSON and sets the `Content-Type` header.\n */\nconst json = function json(data, init) {\n if (init === void 0) {\n init = {};\n }\n let responseInit = typeof init === \"number\" ? {\n status: init\n } : init;\n let headers = new Headers(responseInit.headers);\n if (!headers.has(\"Content-Type\")) {\n headers.set(\"Content-Type\", \"application/json; charset=utf-8\");\n }\n return new Response(JSON.stringify(data), _extends({}, responseInit, {\n headers\n }));\n};\nclass AbortedDeferredError extends Error {}\nclass DeferredData {\n constructor(data, responseInit) {\n this.pendingKeysSet = new Set();\n this.subscribers = new Set();\n this.deferredKeys = [];\n invariant(data && typeof data === \"object\" && !Array.isArray(data), \"defer() only accepts plain objects\");\n // Set up an AbortController + Promise we can race against to exit early\n // cancellation\n let reject;\n this.abortPromise = new Promise((_, r) => reject = r);\n this.controller = new AbortController();\n let onAbort = () => reject(new AbortedDeferredError(\"Deferred data aborted\"));\n this.unlistenAbortSignal = () => this.controller.signal.removeEventListener(\"abort\", onAbort);\n this.controller.signal.addEventListener(\"abort\", onAbort);\n this.data = Object.entries(data).reduce((acc, _ref2) => {\n let [key, value] = _ref2;\n return Object.assign(acc, {\n [key]: this.trackPromise(key, value)\n });\n }, {});\n if (this.done) {\n // All incoming values were resolved\n this.unlistenAbortSignal();\n }\n this.init = responseInit;\n }\n trackPromise(key, value) {\n if (!(value instanceof Promise)) {\n return value;\n }\n this.deferredKeys.push(key);\n this.pendingKeysSet.add(key);\n // We store a little wrapper promise that will be extended with\n // _data/_error props upon resolve/reject\n let promise = Promise.race([value, this.abortPromise]).then(data => this.onSettle(promise, key, undefined, data), error => this.onSettle(promise, key, error));\n // Register rejection listeners to avoid uncaught promise rejections on\n // errors or aborted deferred values\n promise.catch(() => {});\n Object.defineProperty(promise, \"_tracked\", {\n get: () => true\n });\n return promise;\n }\n onSettle(promise, key, error, data) {\n if (this.controller.signal.aborted && error instanceof AbortedDeferredError) {\n this.unlistenAbortSignal();\n Object.defineProperty(promise, \"_error\", {\n get: () => error\n });\n return Promise.reject(error);\n }\n this.pendingKeysSet.delete(key);\n if (this.done) {\n // Nothing left to abort!\n this.unlistenAbortSignal();\n }\n // If the promise was resolved/rejected with undefined, we'll throw an error as you\n // should always resolve with a value or null\n if (error === undefined && data === undefined) {\n let undefinedError = new Error(\"Deferred data for key \\\"\" + key + \"\\\" resolved/rejected with `undefined`, \" + \"you must resolve/reject with a value or `null`.\");\n Object.defineProperty(promise, \"_error\", {\n get: () => undefinedError\n });\n this.emit(false, key);\n return Promise.reject(undefinedError);\n }\n if (data === undefined) {\n Object.defineProperty(promise, \"_error\", {\n get: () => error\n });\n this.emit(false, key);\n return Promise.reject(error);\n }\n Object.defineProperty(promise, \"_data\", {\n get: () => data\n });\n this.emit(false, key);\n return data;\n }\n emit(aborted, settledKey) {\n this.subscribers.forEach(subscriber => subscriber(aborted, settledKey));\n }\n subscribe(fn) {\n this.subscribers.add(fn);\n return () => this.subscribers.delete(fn);\n }\n cancel() {\n this.controller.abort();\n this.pendingKeysSet.forEach((v, k) => this.pendingKeysSet.delete(k));\n this.emit(true);\n }\n async resolveData(signal) {\n let aborted = false;\n if (!this.done) {\n let onAbort = () => this.cancel();\n signal.addEventListener(\"abort\", onAbort);\n aborted = await new Promise(resolve => {\n this.subscribe(aborted => {\n signal.removeEventListener(\"abort\", onAbort);\n if (aborted || this.done) {\n resolve(aborted);\n }\n });\n });\n }\n return aborted;\n }\n get done() {\n return this.pendingKeysSet.size === 0;\n }\n get unwrappedData() {\n invariant(this.data !== null && this.done, \"Can only unwrap data on initialized and settled deferreds\");\n return Object.entries(this.data).reduce((acc, _ref3) => {\n let [key, value] = _ref3;\n return Object.assign(acc, {\n [key]: unwrapTrackedPromise(value)\n });\n }, {});\n }\n get pendingKeys() {\n return Array.from(this.pendingKeysSet);\n }\n}\nfunction isTrackedPromise(value) {\n return value instanceof Promise && value._tracked === true;\n}\nfunction unwrapTrackedPromise(value) {\n if (!isTrackedPromise(value)) {\n return value;\n }\n if (value._error) {\n throw value._error;\n }\n return value._data;\n}\nconst defer = function defer(data, init) {\n if (init === void 0) {\n init = {};\n }\n let responseInit = typeof init === \"number\" ? {\n status: init\n } : init;\n return new DeferredData(data, responseInit);\n};\n/**\n * A redirect response. Sets the status code and the `Location` header.\n * Defaults to \"302 Found\".\n */\nconst redirect = function redirect(url, init) {\n if (init === void 0) {\n init = 302;\n }\n let responseInit = init;\n if (typeof responseInit === \"number\") {\n responseInit = {\n status: responseInit\n };\n } else if (typeof responseInit.status === \"undefined\") {\n responseInit.status = 302;\n }\n let headers = new Headers(responseInit.headers);\n headers.set(\"Location\", url);\n return new Response(null, _extends({}, responseInit, {\n headers\n }));\n};\n/**\n * A redirect response that will force a document reload to the new location.\n * Sets the status code and the `Location` header.\n * Defaults to \"302 Found\".\n */\nconst redirectDocument = (url, init) => {\n let response = redirect(url, init);\n response.headers.set(\"X-Remix-Reload-Document\", \"true\");\n return response;\n};\n/**\n * @private\n * Utility class we use to hold auto-unwrapped 4xx/5xx Response bodies\n *\n * We don't export the class for public use since it's an implementation\n * detail, but we export the interface above so folks can build their own\n * abstractions around instances via isRouteErrorResponse()\n */\nclass ErrorResponseImpl {\n constructor(status, statusText, data, internal) {\n if (internal === void 0) {\n internal = false;\n }\n this.status = status;\n this.statusText = statusText || \"\";\n this.internal = internal;\n if (data instanceof Error) {\n this.data = data.toString();\n this.error = data;\n } else {\n this.data = data;\n }\n }\n}\n/**\n * Check if the given error is an ErrorResponse generated from a 4xx/5xx\n * Response thrown from an action/loader\n */\nfunction isRouteErrorResponse(error) {\n return error != null && typeof error.status === \"number\" && typeof error.statusText === \"string\" && typeof error.internal === \"boolean\" && \"data\" in error;\n}\n\nconst validMutationMethodsArr = [\"post\", \"put\", \"patch\", \"delete\"];\nconst validMutationMethods = new Set(validMutationMethodsArr);\nconst validRequestMethodsArr = [\"get\", ...validMutationMethodsArr];\nconst validRequestMethods = new Set(validRequestMethodsArr);\nconst redirectStatusCodes = new Set([301, 302, 303, 307, 308]);\nconst redirectPreserveMethodStatusCodes = new Set([307, 308]);\nconst IDLE_NAVIGATION = {\n state: \"idle\",\n location: undefined,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n json: undefined,\n text: undefined\n};\nconst IDLE_FETCHER = {\n state: \"idle\",\n data: undefined,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n json: undefined,\n text: undefined\n};\nconst IDLE_BLOCKER = {\n state: \"unblocked\",\n proceed: undefined,\n reset: undefined,\n location: undefined\n};\nconst ABSOLUTE_URL_REGEX = /^(?:[a-z][a-z0-9+.-]*:|\\/\\/)/i;\nconst defaultMapRouteProperties = route => ({\n hasErrorBoundary: Boolean(route.hasErrorBoundary)\n});\nconst TRANSITIONS_STORAGE_KEY = \"remix-router-transitions\";\n//#endregion\n////////////////////////////////////////////////////////////////////////////////\n//#region createRouter\n////////////////////////////////////////////////////////////////////////////////\n/**\n * Create a router and listen to history POP navigations\n */\nfunction createRouter(init) {\n const routerWindow = init.window ? init.window : typeof window !== \"undefined\" ? window : undefined;\n const isBrowser = typeof routerWindow !== \"undefined\" && typeof routerWindow.document !== \"undefined\" && typeof routerWindow.document.createElement !== \"undefined\";\n const isServer = !isBrowser;\n invariant(init.routes.length > 0, \"You must provide a non-empty routes array to createRouter\");\n let mapRouteProperties;\n if (init.mapRouteProperties) {\n mapRouteProperties = init.mapRouteProperties;\n } else if (init.detectErrorBoundary) {\n // If they are still using the deprecated version, wrap it with the new API\n let detectErrorBoundary = init.detectErrorBoundary;\n mapRouteProperties = route => ({\n hasErrorBoundary: detectErrorBoundary(route)\n });\n } else {\n mapRouteProperties = defaultMapRouteProperties;\n }\n // Routes keyed by ID\n let manifest = {};\n // Routes in tree format for matching\n let dataRoutes = convertRoutesToDataRoutes(init.routes, mapRouteProperties, undefined, manifest);\n let inFlightDataRoutes;\n let basename = init.basename || \"/\";\n // Config driven behavior flags\n let future = _extends({\n v7_fetcherPersist: false,\n v7_normalizeFormMethod: false,\n v7_partialHydration: false,\n v7_prependBasename: false,\n v7_relativeSplatPath: false\n }, init.future);\n // Cleanup function for history\n let unlistenHistory = null;\n // Externally-provided functions to call on all state changes\n let subscribers = new Set();\n // Externally-provided object to hold scroll restoration locations during routing\n let savedScrollPositions = null;\n // Externally-provided function to get scroll restoration keys\n let getScrollRestorationKey = null;\n // Externally-provided function to get current scroll position\n let getScrollPosition = null;\n // One-time flag to control the initial hydration scroll restoration. Because\n // we don't get the saved positions from <ScrollRestoration /> until _after_\n // the initial render, we need to manually trigger a separate updateState to\n // send along the restoreScrollPosition\n // Set to true if we have `hydrationData` since we assume we were SSR'd and that\n // SSR did the initial scroll restoration.\n let initialScrollRestored = init.hydrationData != null;\n let initialMatches = matchRoutes(dataRoutes, init.history.location, basename);\n let initialErrors = null;\n if (initialMatches == null) {\n // If we do not match a user-provided-route, fall back to the root\n // to allow the error boundary to take over\n let error = getInternalRouterError(404, {\n pathname: init.history.location.pathname\n });\n let {\n matches,\n route\n } = getShortCircuitMatches(dataRoutes);\n initialMatches = matches;\n initialErrors = {\n [route.id]: error\n };\n }\n let initialized;\n let hasLazyRoutes = initialMatches.some(m => m.route.lazy);\n let hasLoaders = initialMatches.some(m => m.route.loader);\n if (hasLazyRoutes) {\n // All initialMatches need to be loaded before we're ready. If we have lazy\n // functions around still then we'll need to run them in initialize()\n initialized = false;\n } else if (!hasLoaders) {\n // If we've got no loaders to run, then we're good to go\n initialized = true;\n } else if (future.v7_partialHydration) {\n // If partial hydration is enabled, we're initialized so long as we were\n // provided with hydrationData for every route with a loader, and no loaders\n // were marked for explicit hydration\n let loaderData = init.hydrationData ? init.hydrationData.loaderData : null;\n let errors = init.hydrationData ? init.hydrationData.errors : null;\n initialized = initialMatches.every(m => m.route.loader && m.route.loader.hydrate !== true && (loaderData && loaderData[m.route.id] !== undefined || errors && errors[m.route.id] !== undefined));\n } else {\n // Without partial hydration - we're initialized if we were provided any\n // hydrationData - which is expected to be complete\n initialized = init.hydrationData != null;\n }\n let router;\n let state = {\n historyAction: init.history.action,\n location: init.history.location,\n matches: initialMatches,\n initialized,\n navigation: IDLE_NAVIGATION,\n // Don't restore on initial updateState() if we were SSR'd\n restoreScrollPosition: init.hydrationData != null ? false : null,\n preventScrollReset: false,\n revalidation: \"idle\",\n loaderData: init.hydrationData && init.hydrationData.loaderData || {},\n actionData: init.hydrationData && init.hydrationData.actionData || null,\n errors: init.hydrationData && init.hydrationData.errors || initialErrors,\n fetchers: new Map(),\n blockers: new Map()\n };\n // -- Stateful internal variables to manage navigations --\n // Current navigation in progress (to be committed in completeNavigation)\n let pendingAction = Action.Pop;\n // Should the current navigation prevent the scroll reset if scroll cannot\n // be restored?\n let pendingPreventScrollReset = false;\n // AbortController for the active navigation\n let pendingNavigationController;\n // Should the current navigation enable document.startViewTransition?\n let pendingViewTransitionEnabled = false;\n // Store applied view transitions so we can apply them on POP\n let appliedViewTransitions = new Map();\n // Cleanup function for persisting applied transitions to sessionStorage\n let removePageHideEventListener = null;\n // We use this to avoid touching history in completeNavigation if a\n // revalidation is entirely uninterrupted\n let isUninterruptedRevalidation = false;\n // Use this internal flag to force revalidation of all loaders:\n // - submissions (completed or interrupted)\n // - useRevalidator()\n // - X-Remix-Revalidate (from redirect)\n let isRevalidationRequired = false;\n // Use this internal array to capture routes that require revalidation due\n // to a cancelled deferred on action submission\n let cancelledDeferredRoutes = [];\n // Use this internal array to capture fetcher loads that were cancelled by an\n // action navigation and require revalidation\n let cancelledFetcherLoads = [];\n // AbortControllers for any in-flight fetchers\n let fetchControllers = new Map();\n // Track loads based on the order in which they started\n let incrementingLoadId = 0;\n // Track the outstanding pending navigation data load to be compared against\n // the globally incrementing load when a fetcher load lands after a completed\n // navigation\n let pendingNavigationLoadId = -1;\n // Fetchers that triggered data reloads as a result of their actions\n let fetchReloadIds = new Map();\n // Fetchers that triggered redirect navigations\n let fetchRedirectIds = new Set();\n // Most recent href/match for fetcher.load calls for fetchers\n let fetchLoadMatches = new Map();\n // Ref-count mounted fetchers so we know when it's ok to clean them up\n let activeFetchers = new Map();\n // Fetchers that have requested a delete when using v7_fetcherPersist,\n // they'll be officially removed after they return to idle\n let deletedFetchers = new Set();\n // Store DeferredData instances for active route matches. When a\n // route loader returns defer() we stick one in here. Then, when a nested\n // promise resolves we update loaderData. If a new navigation starts we\n // cancel active deferreds for eliminated routes.\n let activeDeferreds = new Map();\n // Store blocker functions in a separate Map outside of router state since\n // we don't need to update UI state if they change\n let blockerFunctions = new Map();\n // Flag to ignore the next history update, so we can revert the URL change on\n // a POP navigation that was blocked by the user without touching router state\n let ignoreNextHistoryUpdate = false;\n // Initialize the router, all side effects should be kicked off from here.\n // Implemented as a Fluent API for ease of:\n // let router = createRouter(init).initialize();\n function initialize() {\n // If history informs us of a POP navigation, start the navigation but do not update\n // state. We'll update our own state once the navigation completes\n unlistenHistory = init.history.listen(_ref => {\n let {\n action: historyAction,\n location,\n delta\n } = _ref;\n // Ignore this event if it was just us resetting the URL from a\n // blocked POP navigation\n if (ignoreNextHistoryUpdate) {\n ignoreNextHistoryUpdate = false;\n return;\n }\n warning(blockerFunctions.size === 0 || delta != null, \"You are trying to use a blocker on a POP navigation to a location \" + \"that was not created by @remix-run/router. This will fail silently in \" + \"production. This can happen if you are navigating outside the router \" + \"via `window.history.pushState`/`window.location.hash` instead of using \" + \"router navigation APIs. This can also happen if you are using \" + \"createHashRouter and the user manually changes the URL.\");\n let blockerKey = shouldBlockNavigation({\n currentLocation: state.location,\n nextLocation: location,\n historyAction\n });\n if (blockerKey && delta != null) {\n // Restore the URL to match the current UI, but don't update router state\n ignoreNextHistoryUpdate = true;\n init.history.go(delta * -1);\n // Put the blocker into a blocked state\n updateBlocker(blockerKey, {\n state: \"blocked\",\n location,\n proceed() {\n updateBlocker(blockerKey, {\n state: \"proceeding\",\n proceed: undefined,\n reset: undefined,\n location\n });\n // Re-do the same POP navigation we just blocked\n init.history.go(delta);\n },\n reset() {\n let blockers = new Map(state.blockers);\n blockers.set(blockerKey, IDLE_BLOCKER);\n updateState({\n blockers\n });\n }\n });\n return;\n }\n return startNavigation(historyAction, location);\n });\n if (isBrowser) {\n // FIXME: This feels gross. How can we cleanup the lines between\n // scrollRestoration/appliedTransitions persistance?\n restoreAppliedTransitions(routerWindow, appliedViewTransitions);\n let _saveAppliedTransitions = () => persistAppliedTransitions(routerWindow, appliedViewTransitions);\n routerWindow.addEventListener(\"pagehide\", _saveAppliedTransitions);\n removePageHideEventListener = () => routerWindow.removeEventListener(\"pagehide\", _saveAppliedTransitions);\n }\n // Kick off initial data load if needed. Use Pop to avoid modifying history\n // Note we don't do any handling of lazy here. For SPA's it'll get handled\n // in the normal navigation flow. For SSR it's expected that lazy modules are\n // resolved prior to router creation since we can't go into a fallbackElement\n // UI for SSR'd apps\n if (!state.initialized) {\n startNavigation(Action.Pop, state.location, {\n initialHydration: true\n });\n }\n return router;\n }\n // Clean up a router and it's side effects\n function dispose() {\n if (unlistenHistory) {\n unlistenHistory();\n }\n if (removePageHideEventListener) {\n removePageHideEventListener();\n }\n subscribers.clear();\n pendingNavigationController && pendingNavigationController.abort();\n state.fetchers.forEach((_, key) => deleteFetcher(key));\n state.blockers.forEach((_, key) => deleteBlocker(key));\n }\n // Subscribe to state updates for the router\n function subscribe(fn) {\n subscribers.add(fn);\n return () => subscribers.delete(fn);\n }\n // Update our state and notify the calling context of the change\n function updateState(newState, opts) {\n if (opts === void 0) {\n opts = {};\n }\n state = _extends({}, state, newState);\n // Prep fetcher cleanup so we can tell the UI which fetcher data entries\n // can be removed\n let completedFetchers = [];\n let deletedFetchersKeys = [];\n if (future.v7_fetcherPersist) {\n state.fetchers.forEach((fetcher, key) => {\n if (fetcher.state === \"idle\") {\n if (deletedFetchers.has(key)) {\n // Unmounted from the UI and can be totally removed\n deletedFetchersKeys.push(key);\n } else {\n // Returned to idle but still mounted in the UI, so semi-remains for\n // revalidations and such\n completedFetchers.push(key);\n }\n }\n });\n }\n // Iterate over a local copy so that if flushSync is used and we end up\n // removing and adding a new subscriber due to the useCallback dependencies,\n // we don't get ourselves into a loop calling the new subscriber immediately\n [...subscribers].forEach(subscriber => subscriber(state, {\n deletedFetchers: deletedFetchersKeys,\n unstable_viewTransitionOpts: opts.viewTransitionOpts,\n unstable_flushSync: opts.flushSync === true\n }));\n // Remove idle fetchers from state since we only care about in-flight fetchers.\n if (future.v7_fetcherPersist) {\n completedFetchers.forEach(key => state.fetchers.delete(key));\n deletedFetchersKeys.forEach(key => deleteFetcher(key));\n }\n }\n // Complete a navigation returning the state.navigation back to the IDLE_NAVIGATION\n // and setting state.[historyAction/location/matches] to the new route.\n // - Location is a required param\n // - Navigation will always be set to IDLE_NAVIGATION\n // - Can pass any other state in newState\n function completeNavigation(location, newState, _temp) {\n var _location$state, _location$state2;\n let {\n flushSync\n } = _temp === void 0 ? {} : _temp;\n // Deduce if we're in a loading/actionReload state:\n // - We have committed actionData in the store\n // - The current navigation was a mutation submission\n // - We're past the submitting state and into the loading state\n // - The location being loaded is not the result of a redirect\n let isActionReload = state.actionData != null && state.navigation.formMethod != null && isMutationMethod(state.navigation.formMethod) && state.navigation.state === \"loading\" && ((_location$state = location.state) == null ? void 0 : _location$state._isRedirect) !== true;\n let actionData;\n if (newState.actionData) {\n if (Object.keys(newState.actionData).length > 0) {\n actionData = newState.actionData;\n } else {\n // Empty actionData -> clear prior actionData due to an action error\n actionData = null;\n }\n } else if (isActionReload) {\n // Keep the current data if we're wrapping up the action reload\n actionData = state.actionData;\n } else {\n // Clear actionData on any other completed navigations\n actionData = null;\n }\n // Always preserve any existing loaderData from re-used routes\n let loaderData = newState.loaderData ? mergeLoaderData(state.loaderData, newState.loaderData, newState.matches || [], newState.errors) : state.loaderData;\n // On a successful navigation we can assume we got through all blockers\n // so we can start fresh\n let blockers = state.blockers;\n if (blockers.size > 0) {\n blockers = new Map(blockers);\n blockers.forEach((_, k) => blockers.set(k, IDLE_BLOCKER));\n }\n // Always respect the user flag. Otherwise don't reset on mutation\n // submission navigations unless they redirect\n let preventScrollReset = pendingPreventScrollReset === true || state.navigation.formMethod != null && isMutationMethod(state.navigation.formMethod) && ((_location$state2 = location.state) == null ? void 0 : _location$state2._isRedirect) !== true;\n if (inFlightDataRoutes) {\n dataRoutes = inFlightDataRoutes;\n inFlightDataRoutes = undefined;\n }\n if (isUninterruptedRevalidation) ; else if (pendingAction === Action.Pop) ; else if (pendingAction === Action.Push) {\n init.history.push(location, location.state);\n } else if (pendingAction === Action.Replace) {\n init.history.replace(location, location.state);\n }\n let viewTransitionOpts;\n // On POP, enable transitions if they were enabled on the original navigation\n if (pendingAction === Action.Pop) {\n // Forward takes precedence so they behave like the original navigation\n let priorPaths = appliedViewTransitions.get(state.location.pathname);\n if (priorPaths && priorPaths.has(location.pathname)) {\n viewTransitionOpts = {\n currentLocation: state.location,\n nextLocation: location\n };\n } else if (appliedViewTransitions.has(location.pathname)) {\n // If we don't have a previous forward nav, assume we're popping back to\n // the new location and enable if that location previously enabled\n viewTransitionOpts = {\n currentLocation: location,\n nextLocation: state.location\n };\n }\n } else if (pendingViewTransitionEnabled) {\n // Store the applied transition on PUSH/REPLACE\n let toPaths = appliedViewTransitions.get(state.location.pathname);\n if (toPaths) {\n toPaths.add(location.pathname);\n } else {\n toPaths = new Set([location.pathname]);\n appliedViewTransitions.set(state.location.pathname, toPaths);\n }\n viewTransitionOpts = {\n currentLocation: state.location,\n nextLocation: location\n };\n }\n updateState(_extends({}, newState, {\n actionData,\n loaderData,\n historyAction: pendingAction,\n location,\n initialized: true,\n navigation: IDLE_NAVIGATION,\n revalidation: \"idle\",\n restoreScrollPosition: getSavedScrollPosition(location, newState.matches || state.matches),\n preventScrollReset,\n blockers\n }), {\n viewTransitionOpts,\n flushSync: flushSync === true\n });\n // Reset stateful navigation vars\n pendingAction = Action.Pop;\n pendingPreventScrollReset = false;\n pendingViewTransitionEnabled = false;\n isUninterruptedRevalidation = false;\n isRevalidationRequired = false;\n cancelledDeferredRoutes = [];\n cancelledFetcherLoads = [];\n }\n // Trigger a navigation event, which can either be a numerical POP or a PUSH\n // replace with an optional submission\n async function navigate(to, opts) {\n if (typeof to === \"number\") {\n init.history.go(to);\n return;\n }\n let normalizedPath = normalizeTo(state.location, state.matches, basename, future.v7_prependBasename, to, future.v7_relativeSplatPath, opts == null ? void 0 : opts.fromRouteId, opts == null ? void 0 : opts.relative);\n let {\n path,\n submission,\n error\n } = normalizeNavigateOptions(future.v7_normalizeFormMethod, false, normalizedPath, opts);\n let currentLocation = state.location;\n let nextLocation = createLocation(state.location, path, opts && opts.state);\n // When using navigate as a PUSH/REPLACE we aren't reading an already-encoded\n // URL from window.location, so we need to encode it here so the behavior\n // remains the same as POP and non-data-router usages. new URL() does all\n // the same encoding we'd get from a history.pushState/window.location read\n // without having to touch history\n nextLocation = _extends({}, nextLocation, init.history.encodeLocation(nextLocation));\n let userReplace = opts && opts.replace != null ? opts.replace : undefined;\n let historyAction = Action.Push;\n if (userReplace === true) {\n historyAction = Action.Replace;\n } else if (userReplace === false) ; else if (submission != null && isMutationMethod(submission.formMethod) && submission.formAction === state.location.pathname + state.location.search) {\n // By default on submissions to the current location we REPLACE so that\n // users don't have to double-click the back button to get to the prior\n // location. If the user redirects to a different location from the\n // action/loader this will be ignored and the redirect will be a PUSH\n historyAction = Action.Replace;\n }\n let preventScrollReset = opts && \"preventScrollReset\" in opts ? opts.preventScrollReset === true : undefined;\n let flushSync = (opts && opts.unstable_flushSync) === true;\n let blockerKey = shouldBlockNavigation({\n currentLocation,\n nextLocation,\n historyAction\n });\n if (blockerKey) {\n // Put the blocker into a blocked state\n updateBlocker(blockerKey, {\n state: \"blocked\",\n location: nextLocation,\n proceed() {\n updateBlocker(blockerKey, {\n state: \"proceeding\",\n proceed: undefined,\n reset: undefined,\n location: nextLocation\n });\n // Send the same navigation through\n navigate(to, opts);\n },\n reset() {\n let blockers = new Map(state.blockers);\n blockers.set(blockerKey, IDLE_BLOCKER);\n updateState({\n blockers\n });\n }\n });\n return;\n }\n return await startNavigation(historyAction, nextLocation, {\n submission,\n // Send through the formData serialization error if we have one so we can\n // render at the right error boundary after we match routes\n pendingError: error,\n preventScrollReset,\n replace: opts && opts.replace,\n enableViewTransition: opts && opts.unstable_viewTransition,\n flushSync\n });\n }\n // Revalidate all current loaders. If a navigation is in progress or if this\n // is interrupted by a navigation, allow this to \"succeed\" by calling all\n // loaders during the next loader round\n function revalidate() {\n interruptActiveLoads();\n updateState({\n revalidation: \"loading\"\n });\n // If we're currently submitting an action, we don't need to start a new\n // navigation, we'll just let the follow up loader execution call all loaders\n if (state.navigation.state === \"submitting\") {\n return;\n }\n // If we're currently in an idle state, start a new navigation for the current\n // action/location and mark it as uninterrupted, which will skip the history\n // update in completeNavigation\n if (state.navigation.state === \"idle\") {\n startNavigation(state.historyAction, state.location, {\n startUninterruptedRevalidation: true\n });\n return;\n }\n // Otherwise, if we're currently in a loading state, just start a new\n // navigation to the navigation.location but do not trigger an uninterrupted\n // revalidation so that history correctly updates once the navigation completes\n startNavigation(pendingAction || state.historyAction, state.navigation.location, {\n overrideNavigation: state.navigation\n });\n }\n // Start a navigation to the given action/location. Can optionally provide a\n // overrideNavigation which will override the normalLoad in the case of a redirect\n // navigation\n async function startNavigation(historyAction, location, opts) {\n // Abort any in-progress navigations and start a new one. Unset any ongoing\n // uninterrupted revalidations unless told otherwise, since we want this\n // new navigation to update history normally\n pendingNavigationController && pendingNavigationController.abort();\n pendingNavigationController = null;\n pendingAction = historyAction;\n isUninterruptedRevalidation = (opts && opts.startUninterruptedRevalidation) === true;\n // Save the current scroll position every time we start a new navigation,\n // and track whether we should reset scroll on completion\n saveScrollPosition(state.location, state.matches);\n pendingPreventScrollReset = (opts && opts.preventScrollReset) === true;\n pendingViewTransitionEnabled = (opts && opts.enableViewTransition) === true;\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let loadingNavigation = opts && opts.overrideNavigation;\n let matches = matchRoutes(routesToUse, location, basename);\n let flushSync = (opts && opts.flushSync) === true;\n // Short circuit with a 404 on the root error boundary if we match nothing\n if (!matches) {\n let error = getInternalRouterError(404, {\n pathname: location.pathname\n });\n let {\n matches: notFoundMatches,\n route\n } = getShortCircuitMatches(routesToUse);\n // Cancel all pending deferred on 404s since we don't keep any routes\n cancelActiveDeferreds();\n completeNavigation(location, {\n matches: notFoundMatches,\n loaderData: {},\n errors: {\n [route.id]: error\n }\n }, {\n flushSync\n });\n return;\n }\n // Short circuit if it's only a hash change and not a revalidation or\n // mutation submission.\n //\n // Ignore on initial page loads because since the initial load will always\n // be \"same hash\". For example, on /page#hash and submit a <Form method=\"post\">\n // which will default to a navigation to /page\n if (state.initialized && !isRevalidationRequired && isHashChangeOnly(state.location, location) && !(opts && opts.submission && isMutationMethod(opts.submission.formMethod))) {\n completeNavigation(location, {\n matches\n }, {\n flushSync\n });\n return;\n }\n // Create a controller/Request for this navigation\n pendingNavigationController = new AbortController();\n let request = createClientSideRequest(init.history, location, pendingNavigationController.signal, opts && opts.submission);\n let pendingActionData;\n let pendingError;\n if (opts && opts.pendingError) {\n // If we have a pendingError, it means the user attempted a GET submission\n // with binary FormData so assign here and skip to handleLoaders. That\n // way we handle calling loaders above the boundary etc. It's not really\n // different from an actionError in that sense.\n pendingError = {\n [findNearestBoundary(matches).route.id]: opts.pendingError\n };\n } else if (opts && opts.submission && isMutationMethod(opts.submission.formMethod)) {\n // Call action if we received an action submission\n let actionOutput = await handleAction(request, location, opts.submission, matches, {\n replace: opts.replace,\n flushSync\n });\n if (actionOutput.shortCircuited) {\n return;\n }\n pendingActionData = actionOutput.pendingActionData;\n pendingError = actionOutput.pendingActionError;\n loadingNavigation = getLoadingNavigation(location, opts.submission);\n flushSync = false;\n // Create a GET request for the loaders\n request = new Request(request.url, {\n signal: request.signal\n });\n }\n // Call loaders\n let {\n shortCircuited,\n loaderData,\n errors\n } = await handleLoaders(request, location, matches, loadingNavigation, opts && opts.submission, opts && opts.fetcherSubmission, opts && opts.replace, opts && opts.initialHydration === true, flushSync, pendingActionData, pendingError);\n if (shortCircuited) {\n return;\n }\n // Clean up now that the action/loaders have completed. Don't clean up if\n // we short circuited because pendingNavigationController will have already\n // been assigned to a new controller for the next navigation\n pendingNavigationController = null;\n completeNavigation(location, _extends({\n matches\n }, pendingActionData ? {\n actionData: pendingActionData\n } : {}, {\n loaderData,\n errors\n }));\n }\n // Call the action matched by the leaf route for this navigation and handle\n // redirects/errors\n async function handleAction(request, location, submission, matches, opts) {\n if (opts === void 0) {\n opts = {};\n }\n interruptActiveLoads();\n // Put us in a submitting state\n let navigation = getSubmittingNavigation(location, submission);\n updateState({\n navigation\n }, {\n flushSync: opts.flushSync === true\n });\n // Call our action and get the result\n let result;\n let actionMatch = getTargetMatch(matches, location);\n if (!actionMatch.route.action && !actionMatch.route.lazy) {\n result = {\n type: ResultType.error,\n error: getInternalRouterError(405, {\n method: request.method,\n pathname: location.pathname,\n routeId: actionMatch.route.id\n })\n };\n } else {\n result = await callLoaderOrAction(\"action\", request, actionMatch, matches, manifest, mapRouteProperties, basename, future.v7_relativeSplatPath);\n if (request.signal.aborted) {\n return {\n shortCircuited: true\n };\n }\n }\n if (isRedirectResult(result)) {\n let replace;\n if (opts && opts.replace != null) {\n replace = opts.replace;\n } else {\n // If the user didn't explicity indicate replace behavior, replace if\n // we redirected to the exact same location we're currently at to avoid\n // double back-buttons\n replace = result.location === state.location.pathname + state.location.search;\n }\n await startRedirectNavigation(state, result, {\n submission,\n replace\n });\n return {\n shortCircuited: true\n };\n }\n if (isErrorResult(result)) {\n // Store off the pending error - we use it to determine which loaders\n // to call and will commit it when we complete the navigation\n let boundaryMatch = findNearestBoundary(matches, actionMatch.route.id);\n // By default, all submissions are REPLACE navigations, but if the\n // action threw an error that'll be rendered in an errorElement, we fall\n // back to PUSH so that the user can use the back button to get back to\n // the pre-submission form location to try again\n if ((opts && opts.replace) !== true) {\n pendingAction = Action.Push;\n }\n return {\n // Send back an empty object we can use to clear out any prior actionData\n pendingActionData: {},\n pendingActionError: {\n [boundaryMatch.route.id]: result.error\n }\n };\n }\n if (isDeferredResult(result)) {\n throw getInternalRouterError(400, {\n type: \"defer-action\"\n });\n }\n return {\n pendingActionData: {\n [actionMatch.route.id]: result.data\n }\n };\n }\n // Call all applicable loaders for the given matches, handling redirects,\n // errors, etc.\n async function handleLoaders(request, location, matches, overrideNavigation, submission, fetcherSubmission, replace, initialHydration, flushSync, pendingActionData, pendingError) {\n // Figure out the right navigation we want to use for data loading\n let loadingNavigation = overrideNavigation || getLoadingNavigation(location, submission);\n // If this was a redirect from an action we don't have a \"submission\" but\n // we have it on the loading navigation so use that if available\n let activeSubmission = submission || fetcherSubmission || getSubmissionFromNavigation(loadingNavigation);\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let [matchesToLoad, revalidatingFetchers] = getMatchesToLoad(init.history, state, matches, activeSubmission, location, future.v7_partialHydration && initialHydration === true, isRevalidationRequired, cancelledDeferredRoutes, cancelledFetcherLoads, deletedFetchers, fetchLoadMatches, fetchRedirectIds, routesToUse, basename, pendingActionData, pendingError);\n // Cancel pending deferreds for no-longer-matched routes or routes we're\n // about to reload. Note that if this is an action reload we would have\n // already cancelled all pending deferreds so this would be a no-op\n cancelActiveDeferreds(routeId => !(matches && matches.some(m => m.route.id === routeId)) || matchesToLoad && matchesToLoad.some(m => m.route.id === routeId));\n pendingNavigationLoadId = ++incrementingLoadId;\n // Short circuit if we have no loaders to run\n if (matchesToLoad.length === 0 && revalidatingFetchers.length === 0) {\n let updatedFetchers = markFetchRedirectsDone();\n completeNavigation(location, _extends({\n matches,\n loaderData: {},\n // Commit pending error if we're short circuiting\n errors: pendingError || null\n }, pendingActionData ? {\n actionData: pendingActionData\n } : {}, updatedFetchers ? {\n fetchers: new Map(state.fetchers)\n } : {}), {\n flushSync\n });\n return {\n shortCircuited: true\n };\n }\n // If this is an uninterrupted revalidation, we remain in our current idle\n // state. If not, we need to switch to our loading state and load data,\n // preserving any new action data or existing action data (in the case of\n // a revalidation interrupting an actionReload)\n // If we have partialHydration enabled, then don't update the state for the\n // initial data load since iot's not a \"navigation\"\n if (!isUninterruptedRevalidation && (!future.v7_partialHydration || !initialHydration)) {\n revalidatingFetchers.forEach(rf => {\n let fetcher = state.fetchers.get(rf.key);\n let revalidatingFetcher = getLoadingFetcher(undefined, fetcher ? fetcher.data : undefined);\n state.fetchers.set(rf.key, revalidatingFetcher);\n });\n let actionData = pendingActionData || state.actionData;\n updateState(_extends({\n navigation: loadingNavigation\n }, actionData ? Object.keys(actionData).length === 0 ? {\n actionData: null\n } : {\n actionData\n } : {}, revalidatingFetchers.length > 0 ? {\n fetchers: new Map(state.fetchers)\n } : {}), {\n flushSync\n });\n }\n revalidatingFetchers.forEach(rf => {\n if (fetchControllers.has(rf.key)) {\n abortFetcher(rf.key);\n }\n if (rf.controller) {\n // Fetchers use an independent AbortController so that aborting a fetcher\n // (via deleteFetcher) does not abort the triggering navigation that\n // triggered the revalidation\n fetchControllers.set(rf.key, rf.controller);\n }\n });\n // Proxy navigation abort through to revalidation fetchers\n let abortPendingFetchRevalidations = () => revalidatingFetchers.forEach(f => abortFetcher(f.key));\n if (pendingNavigationController) {\n pendingNavigationController.signal.addEventListener(\"abort\", abortPendingFetchRevalidations);\n }\n let {\n results,\n loaderResults,\n fetcherResults\n } = await callLoadersAndMaybeResolveData(state.matches, matches, matchesToLoad, revalidatingFetchers, request);\n if (request.signal.aborted) {\n return {\n shortCircuited: true\n };\n }\n // Clean up _after_ loaders have completed. Don't clean up if we short\n // circuited because fetchControllers would have been aborted and\n // reassigned to new controllers for the next navigation\n if (pendingNavigationController) {\n pendingNavigationController.signal.removeEventListener(\"abort\", abortPendingFetchRevalidations);\n }\n revalidatingFetchers.forEach(rf => fetchControllers.delete(rf.key));\n // If any loaders returned a redirect Response, start a new REPLACE navigation\n let redirect = findRedirect(results);\n if (redirect) {\n if (redirect.idx >= matchesToLoad.length) {\n // If this redirect came from a fetcher make sure we mark it in\n // fetchRedirectIds so it doesn't get revalidated on the next set of\n // loader executions\n let fetcherKey = revalidatingFetchers[redirect.idx - matchesToLoad.length].key;\n fetchRedirectIds.add(fetcherKey);\n }\n await startRedirectNavigation(state, redirect.result, {\n replace\n });\n return {\n shortCircuited: true\n };\n }\n // Process and commit output from loaders\n let {\n loaderData,\n errors\n } = processLoaderData(state, matches, matchesToLoad, loaderResults, pendingError, revalidatingFetchers, fetcherResults, activeDeferreds);\n // Wire up subscribers to update loaderData as promises settle\n activeDeferreds.forEach((deferredData, routeId) => {\n deferredData.subscribe(aborted => {\n // Note: No need to updateState here since the TrackedPromise on\n // loaderData is stable across resolve/reject\n // Remove this instance if we were aborted or if promises have settled\n if (aborted || deferredData.done) {\n activeDeferreds.delete(routeId);\n }\n });\n });\n let updatedFetchers = markFetchRedirectsDone();\n let didAbortFetchLoads = abortStaleFetchLoads(pendingNavigationLoadId);\n let shouldUpdateFetchers = updatedFetchers || didAbortFetchLoads || revalidatingFetchers.length > 0;\n return _extends({\n loaderData,\n errors\n }, shouldUpdateFetchers ? {\n fetchers: new Map(state.fetchers)\n } : {});\n }\n // Trigger a fetcher load/submit for the given fetcher key\n function fetch(key, routeId, href, opts) {\n if (isServer) {\n throw new Error(\"router.fetch() was called during the server render, but it shouldn't be. \" + \"You are likely calling a useFetcher() method in the body of your component. \" + \"Try moving it to a useEffect or a callback.\");\n }\n if (fetchControllers.has(key)) abortFetcher(key);\n let flushSync = (opts && opts.unstable_flushSync) === true;\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let normalizedPath = normalizeTo(state.location, state.matches, basename, future.v7_prependBasename, href, future.v7_relativeSplatPath, routeId, opts == null ? void 0 : opts.relative);\n let matches = matchRoutes(routesToUse, normalizedPath, basename);\n if (!matches) {\n setFetcherError(key, routeId, getInternalRouterError(404, {\n pathname: normalizedPath\n }), {\n flushSync\n });\n return;\n }\n let {\n path,\n submission,\n error\n } = normalizeNavigateOptions(future.v7_normalizeFormMethod, true, normalizedPath, opts);\n if (error) {\n setFetcherError(key, routeId, error, {\n flushSync\n });\n return;\n }\n let match = getTargetMatch(matches, path);\n pendingPreventScrollReset = (opts && opts.preventScrollReset) === true;\n if (submission && isMutationMethod(submission.formMethod)) {\n handleFetcherAction(key, routeId, path, match, matches, flushSync, submission);\n return;\n }\n // Store off the match so we can call it's shouldRevalidate on subsequent\n // revalidations\n fetchLoadMatches.set(key, {\n routeId,\n path\n });\n handleFetcherLoader(key, routeId, path, match, matches, flushSync, submission);\n }\n // Call the action for the matched fetcher.submit(), and then handle redirects,\n // errors, and revalidation\n async function handleFetcherAction(key, routeId, path, match, requestMatches, flushSync, submission) {\n interruptActiveLoads();\n fetchLoadMatches.delete(key);\n if (!match.route.action && !match.route.lazy) {\n let error = getInternalRouterError(405, {\n method: submission.formMethod,\n pathname: path,\n routeId: routeId\n });\n setFetcherError(key, routeId, error, {\n flushSync\n });\n return;\n }\n // Put this fetcher into it's submitting state\n let existingFetcher = state.fetchers.get(key);\n updateFetcherState(key, getSubmittingFetcher(submission, existingFetcher), {\n flushSync\n });\n // Call the action for the fetcher\n let abortController = new AbortController();\n let fetchRequest = createClientSideRequest(init.history, path, abortController.signal, submission);\n fetchControllers.set(key, abortController);\n let originatingLoadId = incrementingLoadId;\n let actionResult = await callLoaderOrAction(\"action\", fetchRequest, match, requestMatches, manifest, mapRouteProperties, basename, future.v7_relativeSplatPath);\n if (fetchRequest.signal.aborted) {\n // We can delete this so long as we weren't aborted by our own fetcher\n // re-submit which would have put _new_ controller is in fetchControllers\n if (fetchControllers.get(key) === abortController) {\n fetchControllers.delete(key);\n }\n return;\n }\n // When using v7_fetcherPersist, we don't want errors bubbling up to the UI\n // or redirects processed for unmounted fetchers so we just revert them to\n // idle\n if (future.v7_fetcherPersist && deletedFetchers.has(key)) {\n if (isRedirectResult(actionResult) || isErrorResult(actionResult)) {\n updateFetcherState(key, getDoneFetcher(undefined));\n return;\n }\n // Let SuccessResult's fall through for revalidation\n } else {\n if (isRedirectResult(actionResult)) {\n fetchControllers.delete(key);\n if (pendingNavigationLoadId > originatingLoadId) {\n // A new navigation was kicked off after our action started, so that\n // should take precedence over this redirect navigation. We already\n // set isRevalidationRequired so all loaders for the new route should\n // fire unless opted out via shouldRevalidate\n updateFetcherState(key, getDoneFetcher(undefined));\n return;\n } else {\n fetchRedirectIds.add(key);\n updateFetcherState(key, getLoadingFetcher(submission));\n return startRedirectNavigation(state, actionResult, {\n fetcherSubmission: submission\n });\n }\n }\n // Process any non-redirect errors thrown\n if (isErrorResult(actionResult)) {\n setFetcherError(key, routeId, actionResult.error);\n return;\n }\n }\n if (isDeferredResult(actionResult)) {\n throw getInternalRouterError(400, {\n type: \"defer-action\"\n });\n }\n // Start the data load for current matches, or the next location if we're\n // in the middle of a navigation\n let nextLocation = state.navigation.location || state.location;\n let revalidationRequest = createClientSideRequest(init.history, nextLocation, abortController.signal);\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let matches = state.navigation.state !== \"idle\" ? matchRoutes(routesToUse, state.navigation.location, basename) : state.matches;\n invariant(matches, \"Didn't find any matches after fetcher action\");\n let loadId = ++incrementingLoadId;\n fetchReloadIds.set(key, loadId);\n let loadFetcher = getLoadingFetcher(submission, actionResult.data);\n state.fetchers.set(key, loadFetcher);\n let [matchesToLoad, revalidatingFetchers] = getMatchesToLoad(init.history, state, matches, submission, nextLocation, false, isRevalidationRequired, cancelledDeferredRoutes, cancelledFetcherLoads, deletedFetchers, fetchLoadMatches, fetchRedirectIds, routesToUse, basename, {\n [match.route.id]: actionResult.data\n }, undefined // No need to send through errors since we short circuit above\n );\n // Put all revalidating fetchers into the loading state, except for the\n // current fetcher which we want to keep in it's current loading state which\n // contains it's action submission info + action data\n revalidatingFetchers.filter(rf => rf.key !== key).forEach(rf => {\n let staleKey = rf.key;\n let existingFetcher = state.fetchers.get(staleKey);\n let revalidatingFetcher = getLoadingFetcher(undefined, existingFetcher ? existingFetcher.data : undefined);\n state.fetchers.set(staleKey, revalidatingFetcher);\n if (fetchControllers.has(staleKey)) {\n abortFetcher(staleKey);\n }\n if (rf.controller) {\n fetchControllers.set(staleKey, rf.controller);\n }\n });\n updateState({\n fetchers: new Map(state.fetchers)\n });\n let abortPendingFetchRevalidations = () => revalidatingFetchers.forEach(rf => abortFetcher(rf.key));\n abortController.signal.addEventListener(\"abort\", abortPendingFetchRevalidations);\n let {\n results,\n loaderResults,\n fetcherResults\n } = await callLoadersAndMaybeResolveData(state.matches, matches, matchesToLoad, revalidatingFetchers, revalidationRequest);\n if (abortController.signal.aborted) {\n return;\n }\n abortController.signal.removeEventListener(\"abort\", abortPendingFetchRevalidations);\n fetchReloadIds.delete(key);\n fetchControllers.delete(key);\n revalidatingFetchers.forEach(r => fetchControllers.delete(r.key));\n let redirect = findRedirect(results);\n if (redirect) {\n if (redirect.idx >= matchesToLoad.length) {\n // If this redirect came from a fetcher make sure we mark it in\n // fetchRedirectIds so it doesn't get revalidated on the next set of\n // loader executions\n let fetcherKey = revalidatingFetchers[redirect.idx - matchesToLoad.length].key;\n fetchRedirectIds.add(fetcherKey);\n }\n return startRedirectNavigation(state, redirect.result);\n }\n // Process and commit output from loaders\n let {\n loaderData,\n errors\n } = processLoaderData(state, state.matches, matchesToLoad, loaderResults, undefined, revalidatingFetchers, fetcherResults, activeDeferreds);\n // Since we let revalidations complete even if the submitting fetcher was\n // deleted, only put it back to idle if it hasn't been deleted\n if (state.fetchers.has(key)) {\n let doneFetcher = getDoneFetcher(actionResult.data);\n state.fetchers.set(key, doneFetcher);\n }\n abortStaleFetchLoads(loadId);\n // If we are currently in a navigation loading state and this fetcher is\n // more recent than the navigation, we want the newer data so abort the\n // navigation and complete it with the fetcher data\n if (state.navigation.state === \"loading\" && loadId > pendingNavigationLoadId) {\n invariant(pendingAction, \"Expected pending action\");\n pendingNavigationController && pendingNavigationController.abort();\n completeNavigation(state.navigation.location, {\n matches,\n loaderData,\n errors,\n fetchers: new Map(state.fetchers)\n });\n } else {\n // otherwise just update with the fetcher data, preserving any existing\n // loaderData for loaders that did not need to reload. We have to\n // manually merge here since we aren't going through completeNavigation\n updateState({\n errors,\n loaderData: mergeLoaderData(state.loaderData, loaderData, matches, errors),\n fetchers: new Map(state.fetchers)\n });\n isRevalidationRequired = false;\n }\n }\n // Call the matched loader for fetcher.load(), handling redirects, errors, etc.\n async function handleFetcherLoader(key, routeId, path, match, matches, flushSync, submission) {\n let existingFetcher = state.fetchers.get(key);\n updateFetcherState(key, getLoadingFetcher(submission, existingFetcher ? existingFetcher.data : undefined), {\n flushSync\n });\n // Call the loader for this fetcher route match\n let abortController = new AbortController();\n let fetchRequest = createClientSideRequest(init.history, path, abortController.signal);\n fetchControllers.set(key, abortController);\n let originatingLoadId = incrementingLoadId;\n let result = await callLoaderOrAction(\"loader\", fetchRequest, match, matches, manifest, mapRouteProperties, basename, future.v7_relativeSplatPath);\n // Deferred isn't supported for fetcher loads, await everything and treat it\n // as a normal load. resolveDeferredData will return undefined if this\n // fetcher gets aborted, so we just leave result untouched and short circuit\n // below if that happens\n if (isDeferredResult(result)) {\n result = (await resolveDeferredData(result, fetchRequest.signal, true)) || result;\n }\n // We can delete this so long as we weren't aborted by our our own fetcher\n // re-load which would have put _new_ controller is in fetchControllers\n if (fetchControllers.get(key) === abortController) {\n fetchControllers.delete(key);\n }\n if (fetchRequest.signal.aborted) {\n return;\n }\n // We don't want errors bubbling up or redirects followed for unmounted\n // fetchers, so short circuit here if it was removed from the UI\n if (deletedFetchers.has(key)) {\n updateFetcherState(key, getDoneFetcher(undefined));\n return;\n }\n // If the loader threw a redirect Response, start a new REPLACE navigation\n if (isRedirectResult(result)) {\n if (pendingNavigationLoadId > originatingLoadId) {\n // A new navigation was kicked off after our loader started, so that\n // should take precedence over this redirect navigation\n updateFetcherState(key, getDoneFetcher(undefined));\n return;\n } else {\n fetchRedirectIds.add(key);\n await startRedirectNavigation(state, result);\n return;\n }\n }\n // Process any non-redirect errors thrown\n if (isErrorResult(result)) {\n setFetcherError(key, routeId, result.error);\n return;\n }\n invariant(!isDeferredResult(result), \"Unhandled fetcher deferred data\");\n // Put the fetcher back into an idle state\n updateFetcherState(key, getDoneFetcher(result.data));\n }\n /**\n * Utility function to handle redirects returned from an action or loader.\n * Normally, a redirect \"replaces\" the navigation that triggered it. So, for\n * example:\n *\n * - user is on /a\n * - user clicks a link to /b\n * - loader for /b redirects to /c\n *\n * In a non-JS app the browser would track the in-flight navigation to /b and\n * then replace it with /c when it encountered the redirect response. In\n * the end it would only ever update the URL bar with /c.\n *\n * In client-side routing using pushState/replaceState, we aim to emulate\n * this behavior and we also do not update history until the end of the\n * navigation (including processed redirects). This means that we never\n * actually touch history until we've processed redirects, so we just use\n * the history action from the original navigation (PUSH or REPLACE).\n */\n async function startRedirectNavigation(state, redirect, _temp2) {\n let {\n submission,\n fetcherSubmission,\n replace\n } = _temp2 === void 0 ? {} : _temp2;\n if (redirect.revalidate) {\n isRevalidationRequired = true;\n }\n let redirectLocation = createLocation(state.location, redirect.location, {\n _isRedirect: true\n });\n invariant(redirectLocation, \"Expected a location on the redirect navigation\");\n if (isBrowser) {\n let isDocumentReload = false;\n if (redirect.reloadDocument) {\n // Hard reload if the response contained X-Remix-Reload-Document\n isDocumentReload = true;\n } else if (ABSOLUTE_URL_REGEX.test(redirect.location)) {\n const url = init.history.createURL(redirect.location);\n isDocumentReload =\n // Hard reload if it's an absolute URL to a new origin\n url.origin !== routerWindow.location.origin ||\n // Hard reload if it's an absolute URL that does not match our basename\n stripBasename(url.pathname, basename) == null;\n }\n if (isDocumentReload) {\n if (replace) {\n routerWindow.location.replace(redirect.location);\n } else {\n routerWindow.location.assign(redirect.location);\n }\n return;\n }\n }\n // There's no need to abort on redirects, since we don't detect the\n // redirect until the action/loaders have settled\n pendingNavigationController = null;\n let redirectHistoryAction = replace === true ? Action.Replace : Action.Push;\n // Use the incoming submission if provided, fallback on the active one in\n // state.navigation\n let {\n formMethod,\n formAction,\n formEncType\n } = state.navigation;\n if (!submission && !fetcherSubmission && formMethod && formAction && formEncType) {\n submission = getSubmissionFromNavigation(state.navigation);\n }\n // If this was a 307/308 submission we want to preserve the HTTP method and\n // re-submit the GET/POST/PUT/PATCH/DELETE as a submission navigation to the\n // redirected location\n let activeSubmission = submission || fetcherSubmission;\n if (redirectPreserveMethodStatusCodes.has(redirect.status) && activeSubmission && isMutationMethod(activeSubmission.formMethod)) {\n await startNavigation(redirectHistoryAction, redirectLocation, {\n submission: _extends({}, activeSubmission, {\n formAction: redirect.location\n }),\n // Preserve this flag across redirects\n preventScrollReset: pendingPreventScrollReset\n });\n } else {\n // If we have a navigation submission, we will preserve it through the\n // redirect navigation\n let overrideNavigation = getLoadingNavigation(redirectLocation, submission);\n await startNavigation(redirectHistoryAction, redirectLocation, {\n overrideNavigation,\n // Send fetcher submissions through for shouldRevalidate\n fetcherSubmission,\n // Preserve this flag across redirects\n preventScrollReset: pendingPreventScrollReset\n });\n }\n }\n async function callLoadersAndMaybeResolveData(currentMatches, matches, matchesToLoad, fetchersToLoad, request) {\n // Call all navigation loaders and revalidating fetcher loaders in parallel,\n // then slice off the results into separate arrays so we can handle them\n // accordingly\n let results = await Promise.all([...matchesToLoad.map(match => callLoaderOrAction(\"loader\", request, match, matches, manifest, mapRouteProperties, basename, future.v7_relativeSplatPath)), ...fetchersToLoad.map(f => {\n if (f.matches && f.match && f.controller) {\n return callLoaderOrAction(\"loader\", createClientSideRequest(init.history, f.path, f.controller.signal), f.match, f.matches, manifest, mapRouteProperties, basename, future.v7_relativeSplatPath);\n } else {\n let error = {\n type: ResultType.error,\n error: getInternalRouterError(404, {\n pathname: f.path\n })\n };\n return error;\n }\n })]);\n let loaderResults = results.slice(0, matchesToLoad.length);\n let fetcherResults = results.slice(matchesToLoad.length);\n await Promise.all([resolveDeferredResults(currentMatches, matchesToLoad, loaderResults, loaderResults.map(() => request.signal), false, state.loaderData), resolveDeferredResults(currentMatches, fetchersToLoad.map(f => f.match), fetcherResults, fetchersToLoad.map(f => f.controller ? f.controller.signal : null), true)]);\n return {\n results,\n loaderResults,\n fetcherResults\n };\n }\n function interruptActiveLoads() {\n // Every interruption triggers a revalidation\n isRevalidationRequired = true;\n // Cancel pending route-level deferreds and mark cancelled routes for\n // revalidation\n cancelledDeferredRoutes.push(...cancelActiveDeferreds());\n // Abort in-flight fetcher loads\n fetchLoadMatches.forEach((_, key) => {\n if (fetchControllers.has(key)) {\n cancelledFetcherLoads.push(key);\n abortFetcher(key);\n }\n });\n }\n function updateFetcherState(key, fetcher, opts) {\n if (opts === void 0) {\n opts = {};\n }\n state.fetchers.set(key, fetcher);\n updateState({\n fetchers: new Map(state.fetchers)\n }, {\n flushSync: (opts && opts.flushSync) === true\n });\n }\n function setFetcherError(key, routeId, error, opts) {\n if (opts === void 0) {\n opts = {};\n }\n let boundaryMatch = findNearestBoundary(state.matches, routeId);\n deleteFetcher(key);\n updateState({\n errors: {\n [boundaryMatch.route.id]: error\n },\n fetchers: new Map(state.fetchers)\n }, {\n flushSync: (opts && opts.flushSync) === true\n });\n }\n function getFetcher(key) {\n if (future.v7_fetcherPersist) {\n activeFetchers.set(key, (activeFetchers.get(key) || 0) + 1);\n // If this fetcher was previously marked for deletion, unmark it since we\n // have a new instance\n if (deletedFetchers.has(key)) {\n deletedFetchers.delete(key);\n }\n }\n return state.fetchers.get(key) || IDLE_FETCHER;\n }\n function deleteFetcher(key) {\n let fetcher = state.fetchers.get(key);\n // Don't abort the controller if this is a deletion of a fetcher.submit()\n // in it's loading phase since - we don't want to abort the corresponding\n // revalidation and want them to complete and land\n if (fetchControllers.has(key) && !(fetcher && fetcher.state === \"loading\" && fetchReloadIds.has(key))) {\n abortFetcher(key);\n }\n fetchLoadMatches.delete(key);\n fetchReloadIds.delete(key);\n fetchRedirectIds.delete(key);\n deletedFetchers.delete(key);\n state.fetchers.delete(key);\n }\n function deleteFetcherAndUpdateState(key) {\n if (future.v7_fetcherPersist) {\n let count = (activeFetchers.get(key) || 0) - 1;\n if (count <= 0) {\n activeFetchers.delete(key);\n deletedFetchers.add(key);\n } else {\n activeFetchers.set(key, count);\n }\n } else {\n deleteFetcher(key);\n }\n updateState({\n fetchers: new Map(state.fetchers)\n });\n }\n function abortFetcher(key) {\n let controller = fetchControllers.get(key);\n invariant(controller, \"Expected fetch controller: \" + key);\n controller.abort();\n fetchControllers.delete(key);\n }\n function markFetchersDone(keys) {\n for (let key of keys) {\n let fetcher = getFetcher(key);\n let doneFetcher = getDoneFetcher(fetcher.data);\n state.fetchers.set(key, doneFetcher);\n }\n }\n function markFetchRedirectsDone() {\n let doneKeys = [];\n let updatedFetchers = false;\n for (let key of fetchRedirectIds) {\n let fetcher = state.fetchers.get(key);\n invariant(fetcher, \"Expected fetcher: \" + key);\n if (fetcher.state === \"loading\") {\n fetchRedirectIds.delete(key);\n doneKeys.push(key);\n updatedFetchers = true;\n }\n }\n markFetchersDone(doneKeys);\n return updatedFetchers;\n }\n function abortStaleFetchLoads(landedId) {\n let yeetedKeys = [];\n for (let [key, id] of fetchReloadIds) {\n if (id < landedId) {\n let fetcher = state.fetchers.get(key);\n invariant(fetcher, \"Expected fetcher: \" + key);\n if (fetcher.state === \"loading\") {\n abortFetcher(key);\n fetchReloadIds.delete(key);\n yeetedKeys.push(key);\n }\n }\n }\n markFetchersDone(yeetedKeys);\n return yeetedKeys.length > 0;\n }\n function getBlocker(key, fn) {\n let blocker = state.blockers.get(key) || IDLE_BLOCKER;\n if (blockerFunctions.get(key) !== fn) {\n blockerFunctions.set(key, fn);\n }\n return blocker;\n }\n function deleteBlocker(key) {\n state.blockers.delete(key);\n blockerFunctions.delete(key);\n }\n // Utility function to update blockers, ensuring valid state transitions\n function updateBlocker(key, newBlocker) {\n let blocker = state.blockers.get(key) || IDLE_BLOCKER;\n // Poor mans state machine :)\n // https://mermaid.live/edit#pako:eNqVkc9OwzAMxl8l8nnjAYrEtDIOHEBIgwvKJTReGy3_lDpIqO27k6awMG0XcrLlnz87nwdonESogKXXBuE79rq75XZO3-yHds0RJVuv70YrPlUrCEe2HfrORS3rubqZfuhtpg5C9wk5tZ4VKcRUq88q9Z8RS0-48cE1iHJkL0ugbHuFLus9L6spZy8nX9MP2CNdomVaposqu3fGayT8T8-jJQwhepo_UtpgBQaDEUom04dZhAN1aJBDlUKJBxE1ceB2Smj0Mln-IBW5AFU2dwUiktt_2Qaq2dBfaKdEup85UV7Yd-dKjlnkabl2Pvr0DTkTreM\n invariant(blocker.state === \"unblocked\" && newBlocker.state === \"blocked\" || blocker.state === \"blocked\" && newBlocker.state === \"blocked\" || blocker.state === \"blocked\" && newBlocker.state === \"proceeding\" || blocker.state === \"blocked\" && newBlocker.state === \"unblocked\" || blocker.state === \"proceeding\" && newBlocker.state === \"unblocked\", \"Invalid blocker state transition: \" + blocker.state + \" -> \" + newBlocker.state);\n let blockers = new Map(state.blockers);\n blockers.set(key, newBlocker);\n updateState({\n blockers\n });\n }\n function shouldBlockNavigation(_ref2) {\n let {\n currentLocation,\n nextLocation,\n historyAction\n } = _ref2;\n if (blockerFunctions.size === 0) {\n return;\n }\n // We ony support a single active blocker at the moment since we don't have\n // any compelling use cases for multi-blocker yet\n if (blockerFunctions.size > 1) {\n warning(false, \"A router only supports one blocker at a time\");\n }\n let entries = Array.from(blockerFunctions.entries());\n let [blockerKey, blockerFunction] = entries[entries.length - 1];\n let blocker = state.blockers.get(blockerKey);\n if (blocker && blocker.state === \"proceeding\") {\n // If the blocker is currently proceeding, we don't need to re-check\n // it and can let this navigation continue\n return;\n }\n // At this point, we know we're unblocked/blocked so we need to check the\n // user-provided blocker function\n if (blockerFunction({\n currentLocation,\n nextLocation,\n historyAction\n })) {\n return blockerKey;\n }\n }\n function cancelActiveDeferreds(predicate) {\n let cancelledRouteIds = [];\n activeDeferreds.forEach((dfd, routeId) => {\n if (!predicate || predicate(routeId)) {\n // Cancel the deferred - but do not remove from activeDeferreds here -\n // we rely on the subscribers to do that so our tests can assert proper\n // cleanup via _internalActiveDeferreds\n dfd.cancel();\n cancelledRouteIds.push(routeId);\n activeDeferreds.delete(routeId);\n }\n });\n return cancelledRouteIds;\n }\n // Opt in to capturing and reporting scroll positions during navigations,\n // used by the <ScrollRestoration> component\n function enableScrollRestoration(positions, getPosition, getKey) {\n savedScrollPositions = positions;\n getScrollPosition = getPosition;\n getScrollRestorationKey = getKey || null;\n // Perform initial hydration scroll restoration, since we miss the boat on\n // the initial updateState() because we've not yet rendered <ScrollRestoration/>\n // and therefore have no savedScrollPositions available\n if (!initialScrollRestored && state.navigation === IDLE_NAVIGATION) {\n initialScrollRestored = true;\n let y = getSavedScrollPosition(state.location, state.matches);\n if (y != null) {\n updateState({\n restoreScrollPosition: y\n });\n }\n }\n return () => {\n savedScrollPositions = null;\n getScrollPosition = null;\n getScrollRestorationKey = null;\n };\n }\n function getScrollKey(location, matches) {\n if (getScrollRestorationKey) {\n let key = getScrollRestorationKey(location, matches.map(m => convertRouteMatchToUiMatch(m, state.loaderData)));\n return key || location.key;\n }\n return location.key;\n }\n function saveScrollPosition(location, matches) {\n if (savedScrollPositions && getScrollPosition) {\n let key = getScrollKey(location, matches);\n savedScrollPositions[key] = getScrollPosition();\n }\n }\n function getSavedScrollPosition(location, matches) {\n if (savedScrollPositions) {\n let key = getScrollKey(location, matches);\n let y = savedScrollPositions[key];\n if (typeof y === \"number\") {\n return y;\n }\n }\n return null;\n }\n function _internalSetRoutes(newRoutes) {\n manifest = {};\n inFlightDataRoutes = convertRoutesToDataRoutes(newRoutes, mapRouteProperties, undefined, manifest);\n }\n router = {\n get basename() {\n return basename;\n },\n get future() {\n return future;\n },\n get state() {\n return state;\n },\n get routes() {\n return dataRoutes;\n },\n get window() {\n return routerWindow;\n },\n initialize,\n subscribe,\n enableScrollRestoration,\n navigate,\n fetch,\n revalidate,\n // Passthrough to history-aware createHref used by useHref so we get proper\n // hash-aware URLs in DOM paths\n createHref: to => init.history.createHref(to),\n encodeLocation: to => init.history.encodeLocation(to),\n getFetcher,\n deleteFetcher: deleteFetcherAndUpdateState,\n dispose,\n getBlocker,\n deleteBlocker,\n _internalFetchControllers: fetchControllers,\n _internalActiveDeferreds: activeDeferreds,\n // TODO: Remove setRoutes, it's temporary to avoid dealing with\n // updating the tree while validating the update algorithm.\n _internalSetRoutes\n };\n return router;\n}\n//#endregion\n////////////////////////////////////////////////////////////////////////////////\n//#region createStaticHandler\n////////////////////////////////////////////////////////////////////////////////\nconst UNSAFE_DEFERRED_SYMBOL = Symbol(\"deferred\");\nfunction createStaticHandler(routes, opts) {\n invariant(routes.length > 0, \"You must provide a non-empty routes array to createStaticHandler\");\n let manifest = {};\n let basename = (opts ? opts.basename : null) || \"/\";\n let mapRouteProperties;\n if (opts != null && opts.mapRouteProperties) {\n mapRouteProperties = opts.mapRouteProperties;\n } else if (opts != null && opts.detectErrorBoundary) {\n // If they are still using the deprecated version, wrap it with the new API\n let detectErrorBoundary = opts.detectErrorBoundary;\n mapRouteProperties = route => ({\n hasErrorBoundary: detectErrorBoundary(route)\n });\n } else {\n mapRouteProperties = defaultMapRouteProperties;\n }\n // Config driven behavior flags\n let future = _extends({\n v7_relativeSplatPath: false,\n v7_throwAbortReason: false\n }, opts ? opts.future : null);\n let dataRoutes = convertRoutesToDataRoutes(routes, mapRouteProperties, undefined, manifest);\n /**\n * The query() method is intended for document requests, in which we want to\n * call an optional action and potentially multiple loaders for all nested\n * routes. It returns a StaticHandlerContext object, which is very similar\n * to the router state (location, loaderData, actionData, errors, etc.) and\n * also adds SSR-specific information such as the statusCode and headers\n * from action/loaders Responses.\n *\n * It _should_ never throw and should report all errors through the\n * returned context.errors object, properly associating errors to their error\n * boundary. Additionally, it tracks _deepestRenderedBoundaryId which can be\n * used to emulate React error boundaries during SSr by performing a second\n * pass only down to the boundaryId.\n *\n * The one exception where we do not return a StaticHandlerContext is when a\n * redirect response is returned or thrown from any action/loader. We\n * propagate that out and return the raw Response so the HTTP server can\n * return it directly.\n */\n async function query(request, _temp3) {\n let {\n requestContext\n } = _temp3 === void 0 ? {} : _temp3;\n let url = new URL(request.url);\n let method = request.method;\n let location = createLocation(\"\", createPath(url), null, \"default\");\n let matches = matchRoutes(dataRoutes, location, basename);\n // SSR supports HEAD requests while SPA doesn't\n if (!isValidMethod(method) && method !== \"HEAD\") {\n let error = getInternalRouterError(405, {\n method\n });\n let {\n matches: methodNotAllowedMatches,\n route\n } = getShortCircuitMatches(dataRoutes);\n return {\n basename,\n location,\n matches: methodNotAllowedMatches,\n loaderData: {},\n actionData: null,\n errors: {\n [route.id]: error\n },\n statusCode: error.status,\n loaderHeaders: {},\n actionHeaders: {},\n activeDeferreds: null\n };\n } else if (!matches) {\n let error = getInternalRouterError(404, {\n pathname: location.pathname\n });\n let {\n matches: notFoundMatches,\n route\n } = getShortCircuitMatches(dataRoutes);\n return {\n basename,\n location,\n matches: notFoundMatches,\n loaderData: {},\n actionData: null,\n errors: {\n [route.id]: error\n },\n statusCode: error.status,\n loaderHeaders: {},\n actionHeaders: {},\n activeDeferreds: null\n };\n }\n let result = await queryImpl(request, location, matches, requestContext);\n if (isResponse(result)) {\n return result;\n }\n // When returning StaticHandlerContext, we patch back in the location here\n // since we need it for React Context. But this helps keep our submit and\n // loadRouteData operating on a Request instead of a Location\n return _extends({\n location,\n basename\n }, result);\n }\n /**\n * The queryRoute() method is intended for targeted route requests, either\n * for fetch ?_data requests or resource route requests. In this case, we\n * are only ever calling a single action or loader, and we are returning the\n * returned value directly. In most cases, this will be a Response returned\n * from the action/loader, but it may be a primitive or other value as well -\n * and in such cases the calling context should handle that accordingly.\n *\n * We do respect the throw/return differentiation, so if an action/loader\n * throws, then this method will throw the value. This is important so we\n * can do proper boundary identification in Remix where a thrown Response\n * must go to the Catch Boundary but a returned Response is happy-path.\n *\n * One thing to note is that any Router-initiated Errors that make sense\n * to associate with a status code will be thrown as an ErrorResponse\n * instance which include the raw Error, such that the calling context can\n * serialize the error as they see fit while including the proper response\n * code. Examples here are 404 and 405 errors that occur prior to reaching\n * any user-defined loaders.\n */\n async function queryRoute(request, _temp4) {\n let {\n routeId,\n requestContext\n } = _temp4 === void 0 ? {} : _temp4;\n let url = new URL(request.url);\n let method = request.method;\n let location = createLocation(\"\", createPath(url), null, \"default\");\n let matches = matchRoutes(dataRoutes, location, basename);\n // SSR supports HEAD requests while SPA doesn't\n if (!isValidMethod(method) && method !== \"HEAD\" && method !== \"OPTIONS\") {\n throw getInternalRouterError(405, {\n method\n });\n } else if (!matches) {\n throw getInternalRouterError(404, {\n pathname: location.pathname\n });\n }\n let match = routeId ? matches.find(m => m.route.id === routeId) : getTargetMatch(matches, location);\n if (routeId && !match) {\n throw getInternalRouterError(403, {\n pathname: location.pathname,\n routeId\n });\n } else if (!match) {\n // This should never hit I don't think?\n throw getInternalRouterError(404, {\n pathname: location.pathname\n });\n }\n let result = await queryImpl(request, location, matches, requestContext, match);\n if (isResponse(result)) {\n return result;\n }\n let error = result.errors ? Object.values(result.errors)[0] : undefined;\n if (error !== undefined) {\n // If we got back result.errors, that means the loader/action threw\n // _something_ that wasn't a Response, but it's not guaranteed/required\n // to be an `instanceof Error` either, so we have to use throw here to\n // preserve the \"error\" state outside of queryImpl.\n throw error;\n }\n // Pick off the right state value to return\n if (result.actionData) {\n return Object.values(result.actionData)[0];\n }\n if (result.loaderData) {\n var _result$activeDeferre;\n let data = Object.values(result.loaderData)[0];\n if ((_result$activeDeferre = result.activeDeferreds) != null && _result$activeDeferre[match.route.id]) {\n data[UNSAFE_DEFERRED_SYMBOL] = result.activeDeferreds[match.route.id];\n }\n return data;\n }\n return undefined;\n }\n async function queryImpl(request, location, matches, requestContext, routeMatch) {\n invariant(request.signal, \"query()/queryRoute() requests must contain an AbortController signal\");\n try {\n if (isMutationMethod(request.method.toLowerCase())) {\n let result = await submit(request, matches, routeMatch || getTargetMatch(matches, location), requestContext, routeMatch != null);\n return result;\n }\n let result = await loadRouteData(request, matches, requestContext, routeMatch);\n return isResponse(result) ? result : _extends({}, result, {\n actionData: null,\n actionHeaders: {}\n });\n } catch (e) {\n // If the user threw/returned a Response in callLoaderOrAction, we throw\n // it to bail out and then return or throw here based on whether the user\n // returned or threw\n if (isQueryRouteResponse(e)) {\n if (e.type === ResultType.error) {\n throw e.response;\n }\n return e.response;\n }\n // Redirects are always returned since they don't propagate to catch\n // boundaries\n if (isRedirectResponse(e)) {\n return e;\n }\n throw e;\n }\n }\n async function submit(request, matches, actionMatch, requestContext, isRouteRequest) {\n let result;\n if (!actionMatch.route.action && !actionMatch.route.lazy) {\n let error = getInternalRouterError(405, {\n method: request.method,\n pathname: new URL(request.url).pathname,\n routeId: actionMatch.route.id\n });\n if (isRouteRequest) {\n throw error;\n }\n result = {\n type: ResultType.error,\n error\n };\n } else {\n result = await callLoaderOrAction(\"action\", request, actionMatch, matches, manifest, mapRouteProperties, basename, future.v7_relativeSplatPath, {\n isStaticRequest: true,\n isRouteRequest,\n requestContext\n });\n if (request.signal.aborted) {\n throwStaticHandlerAbortedError(request, isRouteRequest, future);\n }\n }\n if (isRedirectResult(result)) {\n // Uhhhh - this should never happen, we should always throw these from\n // callLoaderOrAction, but the type narrowing here keeps TS happy and we\n // can get back on the \"throw all redirect responses\" train here should\n // this ever happen :/\n throw new Response(null, {\n status: result.status,\n headers: {\n Location: result.location\n }\n });\n }\n if (isDeferredResult(result)) {\n let error = getInternalRouterError(400, {\n type: \"defer-action\"\n });\n if (isRouteRequest) {\n throw error;\n }\n result = {\n type: ResultType.error,\n error\n };\n }\n if (isRouteRequest) {\n // Note: This should only be non-Response values if we get here, since\n // isRouteRequest should throw any Response received in callLoaderOrAction\n if (isErrorResult(result)) {\n throw result.error;\n }\n return {\n matches: [actionMatch],\n loaderData: {},\n actionData: {\n [actionMatch.route.id]: result.data\n },\n errors: null,\n // Note: statusCode + headers are unused here since queryRoute will\n // return the raw Response or value\n statusCode: 200,\n loaderHeaders: {},\n actionHeaders: {},\n activeDeferreds: null\n };\n }\n if (isErrorResult(result)) {\n // Store off the pending error - we use it to determine which loaders\n // to call and will commit it when we complete the navigation\n let boundaryMatch = findNearestBoundary(matches, actionMatch.route.id);\n let context = await loadRouteData(request, matches, requestContext, undefined, {\n [boundaryMatch.route.id]: result.error\n });\n // action status codes take precedence over loader status codes\n return _extends({}, context, {\n statusCode: isRouteErrorResponse(result.error) ? result.error.status : 500,\n actionData: null,\n actionHeaders: _extends({}, result.headers ? {\n [actionMatch.route.id]: result.headers\n } : {})\n });\n }\n // Create a GET request for the loaders\n let loaderRequest = new Request(request.url, {\n headers: request.headers,\n redirect: request.redirect,\n signal: request.signal\n });\n let context = await loadRouteData(loaderRequest, matches, requestContext);\n return _extends({}, context, result.statusCode ? {\n statusCode: result.statusCode\n } : {}, {\n actionData: {\n [actionMatch.route.id]: result.data\n },\n actionHeaders: _extends({}, result.headers ? {\n [actionMatch.route.id]: result.headers\n } : {})\n });\n }\n async function loadRouteData(request, matches, requestContext, routeMatch, pendingActionError) {\n let isRouteRequest = routeMatch != null;\n // Short circuit if we have no loaders to run (queryRoute())\n if (isRouteRequest && !(routeMatch != null && routeMatch.route.loader) && !(routeMatch != null && routeMatch.route.lazy)) {\n throw getInternalRouterError(400, {\n method: request.method,\n pathname: new URL(request.url).pathname,\n routeId: routeMatch == null ? void 0 : routeMatch.route.id\n });\n }\n let requestMatches = routeMatch ? [routeMatch] : getLoaderMatchesUntilBoundary(matches, Object.keys(pendingActionError || {})[0]);\n let matchesToLoad = requestMatches.filter(m => m.route.loader || m.route.lazy);\n // Short circuit if we have no loaders to run (query())\n if (matchesToLoad.length === 0) {\n return {\n matches,\n // Add a null for all matched routes for proper revalidation on the client\n loaderData: matches.reduce((acc, m) => Object.assign(acc, {\n [m.route.id]: null\n }), {}),\n errors: pendingActionError || null,\n statusCode: 200,\n loaderHeaders: {},\n activeDeferreds: null\n };\n }\n let results = await Promise.all([...matchesToLoad.map(match => callLoaderOrAction(\"loader\", request, match, matches, manifest, mapRouteProperties, basename, future.v7_relativeSplatPath, {\n isStaticRequest: true,\n isRouteRequest,\n requestContext\n }))]);\n if (request.signal.aborted) {\n throwStaticHandlerAbortedError(request, isRouteRequest, future);\n }\n // Process and commit output from loaders\n let activeDeferreds = new Map();\n let context = processRouteLoaderData(matches, matchesToLoad, results, pendingActionError, activeDeferreds);\n // Add a null for any non-loader matches for proper revalidation on the client\n let executedLoaders = new Set(matchesToLoad.map(match => match.route.id));\n matches.forEach(match => {\n if (!executedLoaders.has(match.route.id)) {\n context.loaderData[match.route.id] = null;\n }\n });\n return _extends({}, context, {\n matches,\n activeDeferreds: activeDeferreds.size > 0 ? Object.fromEntries(activeDeferreds.entries()) : null\n });\n }\n return {\n dataRoutes,\n query,\n queryRoute\n };\n}\n//#endregion\n////////////////////////////////////////////////////////////////////////////////\n//#region Helpers\n////////////////////////////////////////////////////////////////////////////////\n/**\n * Given an existing StaticHandlerContext and an error thrown at render time,\n * provide an updated StaticHandlerContext suitable for a second SSR render\n */\nfunction getStaticContextFromError(routes, context, error) {\n let newContext = _extends({}, context, {\n statusCode: isRouteErrorResponse(error) ? error.status : 500,\n errors: {\n [context._deepestRenderedBoundaryId || routes[0].id]: error\n }\n });\n return newContext;\n}\nfunction throwStaticHandlerAbortedError(request, isRouteRequest, future) {\n if (future.v7_throwAbortReason && request.signal.reason !== undefined) {\n throw request.signal.reason;\n }\n let method = isRouteRequest ? \"queryRoute\" : \"query\";\n throw new Error(method + \"() call aborted: \" + request.method + \" \" + request.url);\n}\nfunction isSubmissionNavigation(opts) {\n return opts != null && (\"formData\" in opts && opts.formData != null || \"body\" in opts && opts.body !== undefined);\n}\nfunction normalizeTo(location, matches, basename, prependBasename, to, v7_relativeSplatPath, fromRouteId, relative) {\n let contextualMatches;\n let activeRouteMatch;\n if (fromRouteId) {\n // Grab matches up to the calling route so our route-relative logic is\n // relative to the correct source route\n contextualMatches = [];\n for (let match of matches) {\n contextualMatches.push(match);\n if (match.route.id === fromRouteId) {\n activeRouteMatch = match;\n break;\n }\n }\n } else {\n contextualMatches = matches;\n activeRouteMatch = matches[matches.length - 1];\n }\n // Resolve the relative path\n let path = resolveTo(to ? to : \".\", getResolveToMatches(contextualMatches, v7_relativeSplatPath), stripBasename(location.pathname, basename) || location.pathname, relative === \"path\");\n // When `to` is not specified we inherit search/hash from the current\n // location, unlike when to=\".\" and we just inherit the path.\n // See https://github.com/remix-run/remix/issues/927\n if (to == null) {\n path.search = location.search;\n path.hash = location.hash;\n }\n // Add an ?index param for matched index routes if we don't already have one\n if ((to == null || to === \"\" || to === \".\") && activeRouteMatch && activeRouteMatch.route.index && !hasNakedIndexQuery(path.search)) {\n path.search = path.search ? path.search.replace(/^\\?/, \"?index&\") : \"?index\";\n }\n // If we're operating within a basename, prepend it to the pathname. If\n // this is a root navigation, then just use the raw basename which allows\n // the basename to have full control over the presence of a trailing slash\n // on root actions\n if (prependBasename && basename !== \"/\") {\n path.pathname = path.pathname === \"/\" ? basename : joinPaths([basename, path.pathname]);\n }\n return createPath(path);\n}\n// Normalize navigation options by converting formMethod=GET formData objects to\n// URLSearchParams so they behave identically to links with query params\nfunction normalizeNavigateOptions(normalizeFormMethod, isFetcher, path, opts) {\n // Return location verbatim on non-submission navigations\n if (!opts || !isSubmissionNavigation(opts)) {\n return {\n path\n };\n }\n if (opts.formMethod && !isValidMethod(opts.formMethod)) {\n return {\n path,\n error: getInternalRouterError(405, {\n method: opts.formMethod\n })\n };\n }\n let getInvalidBodyError = () => ({\n path,\n error: getInternalRouterError(400, {\n type: \"invalid-body\"\n })\n });\n // Create a Submission on non-GET navigations\n let rawFormMethod = opts.formMethod || \"get\";\n let formMethod = normalizeFormMethod ? rawFormMethod.toUpperCase() : rawFormMethod.toLowerCase();\n let formAction = stripHashFromPath(path);\n if (opts.body !== undefined) {\n if (opts.formEncType === \"text/plain\") {\n // text only support POST/PUT/PATCH/DELETE submissions\n if (!isMutationMethod(formMethod)) {\n return getInvalidBodyError();\n }\n let text = typeof opts.body === \"string\" ? opts.body : opts.body instanceof FormData || opts.body instanceof URLSearchParams ?\n // https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#plain-text-form-data\n Array.from(opts.body.entries()).reduce((acc, _ref3) => {\n let [name, value] = _ref3;\n return \"\" + acc + name + \"=\" + value + \"\\n\";\n }, \"\") : String(opts.body);\n return {\n path,\n submission: {\n formMethod,\n formAction,\n formEncType: opts.formEncType,\n formData: undefined,\n json: undefined,\n text\n }\n };\n } else if (opts.formEncType === \"application/json\") {\n // json only supports POST/PUT/PATCH/DELETE submissions\n if (!isMutationMethod(formMethod)) {\n return getInvalidBodyError();\n }\n try {\n let json = typeof opts.body === \"string\" ? JSON.parse(opts.body) : opts.body;\n return {\n path,\n submission: {\n formMethod,\n formAction,\n formEncType: opts.formEncType,\n formData: undefined,\n json,\n text: undefined\n }\n };\n } catch (e) {\n return getInvalidBodyError();\n }\n }\n }\n invariant(typeof FormData === \"function\", \"FormData is not available in this environment\");\n let searchParams;\n let formData;\n if (opts.formData) {\n searchParams = convertFormDataToSearchParams(opts.formData);\n formData = opts.formData;\n } else if (opts.body instanceof FormData) {\n searchParams = convertFormDataToSearchParams(opts.body);\n formData = opts.body;\n } else if (opts.body instanceof URLSearchParams) {\n searchParams = opts.body;\n formData = convertSearchParamsToFormData(searchParams);\n } else if (opts.body == null) {\n searchParams = new URLSearchParams();\n formData = new FormData();\n } else {\n try {\n searchParams = new URLSearchParams(opts.body);\n formData = convertSearchParamsToFormData(searchParams);\n } catch (e) {\n return getInvalidBodyError();\n }\n }\n let submission = {\n formMethod,\n formAction,\n formEncType: opts && opts.formEncType || \"application/x-www-form-urlencoded\",\n formData,\n json: undefined,\n text: undefined\n };\n if (isMutationMethod(submission.formMethod)) {\n return {\n path,\n submission\n };\n }\n // Flatten submission onto URLSearchParams for GET submissions\n let parsedPath = parsePath(path);\n // On GET navigation submissions we can drop the ?index param from the\n // resulting location since all loaders will run. But fetcher GET submissions\n // only run a single loader so we need to preserve any incoming ?index params\n if (isFetcher && parsedPath.search && hasNakedIndexQuery(parsedPath.search)) {\n searchParams.append(\"index\", \"\");\n }\n parsedPath.search = \"?\" + searchParams;\n return {\n path: createPath(parsedPath),\n submission\n };\n}\n// Filter out all routes below any caught error as they aren't going to\n// render so we don't need to load them\nfunction getLoaderMatchesUntilBoundary(matches, boundaryId) {\n let boundaryMatches = matches;\n if (boundaryId) {\n let index = matches.findIndex(m => m.route.id === boundaryId);\n if (index >= 0) {\n boundaryMatches = matches.slice(0, index);\n }\n }\n return boundaryMatches;\n}\nfunction getMatchesToLoad(history, state, matches, submission, location, isInitialLoad, isRevalidationRequired, cancelledDeferredRoutes, cancelledFetcherLoads, deletedFetchers, fetchLoadMatches, fetchRedirectIds, routesToUse, basename, pendingActionData, pendingError) {\n let actionResult = pendingError ? Object.values(pendingError)[0] : pendingActionData ? Object.values(pendingActionData)[0] : undefined;\n let currentUrl = history.createURL(state.location);\n let nextUrl = history.createURL(location);\n // Pick navigation matches that are net-new or qualify for revalidation\n let boundaryId = pendingError ? Object.keys(pendingError)[0] : undefined;\n let boundaryMatches = getLoaderMatchesUntilBoundary(matches, boundaryId);\n let navigationMatches = boundaryMatches.filter((match, index) => {\n let {\n route\n } = match;\n if (route.lazy) {\n // We haven't loaded this route yet so we don't know if it's got a loader!\n return true;\n }\n if (route.loader == null) {\n return false;\n }\n if (isInitialLoad) {\n if (route.loader.hydrate) {\n return true;\n }\n return state.loaderData[route.id] === undefined && (\n // Don't re-run if the loader ran and threw an error\n !state.errors || state.errors[route.id] === undefined);\n }\n // Always call the loader on new route instances and pending defer cancellations\n if (isNewLoader(state.loaderData, state.matches[index], match) || cancelledDeferredRoutes.some(id => id === match.route.id)) {\n return true;\n }\n // This is the default implementation for when we revalidate. If the route\n // provides it's own implementation, then we give them full control but\n // provide this value so they can leverage it if needed after they check\n // their own specific use cases\n let currentRouteMatch = state.matches[index];\n let nextRouteMatch = match;\n return shouldRevalidateLoader(match, _extends({\n currentUrl,\n currentParams: currentRouteMatch.params,\n nextUrl,\n nextParams: nextRouteMatch.params\n }, submission, {\n actionResult,\n defaultShouldRevalidate:\n // Forced revalidation due to submission, useRevalidator, or X-Remix-Revalidate\n isRevalidationRequired ||\n // Clicked the same link, resubmitted a GET form\n currentUrl.pathname + currentUrl.search === nextUrl.pathname + nextUrl.search ||\n // Search params affect all loaders\n currentUrl.search !== nextUrl.search || isNewRouteInstance(currentRouteMatch, nextRouteMatch)\n }));\n });\n // Pick fetcher.loads that need to be revalidated\n let revalidatingFetchers = [];\n fetchLoadMatches.forEach((f, key) => {\n // Don't revalidate:\n // - on initial load (shouldn't be any fetchers then anyway)\n // - if fetcher won't be present in the subsequent render\n // - no longer matches the URL (v7_fetcherPersist=false)\n // - was unmounted but persisted due to v7_fetcherPersist=true\n if (isInitialLoad || !matches.some(m => m.route.id === f.routeId) || deletedFetchers.has(key)) {\n return;\n }\n let fetcherMatches = matchRoutes(routesToUse, f.path, basename);\n // If the fetcher path no longer matches, push it in with null matches so\n // we can trigger a 404 in callLoadersAndMaybeResolveData. Note this is\n // currently only a use-case for Remix HMR where the route tree can change\n // at runtime and remove a route previously loaded via a fetcher\n if (!fetcherMatches) {\n revalidatingFetchers.push({\n key,\n routeId: f.routeId,\n path: f.path,\n matches: null,\n match: null,\n controller: null\n });\n return;\n }\n // Revalidating fetchers are decoupled from the route matches since they\n // load from a static href. They revalidate based on explicit revalidation\n // (submission, useRevalidator, or X-Remix-Revalidate)\n let fetcher = state.fetchers.get(key);\n let fetcherMatch = getTargetMatch(fetcherMatches, f.path);\n let shouldRevalidate = false;\n if (fetchRedirectIds.has(key)) {\n // Never trigger a revalidation of an actively redirecting fetcher\n shouldRevalidate = false;\n } else if (cancelledFetcherLoads.includes(key)) {\n // Always revalidate if the fetcher was cancelled\n shouldRevalidate = true;\n } else if (fetcher && fetcher.state !== \"idle\" && fetcher.data === undefined) {\n // If the fetcher hasn't ever completed loading yet, then this isn't a\n // revalidation, it would just be a brand new load if an explicit\n // revalidation is required\n shouldRevalidate = isRevalidationRequired;\n } else {\n // Otherwise fall back on any user-defined shouldRevalidate, defaulting\n // to explicit revalidations only\n shouldRevalidate = shouldRevalidateLoader(fetcherMatch, _extends({\n currentUrl,\n currentParams: state.matches[state.matches.length - 1].params,\n nextUrl,\n nextParams: matches[matches.length - 1].params\n }, submission, {\n actionResult,\n defaultShouldRevalidate: isRevalidationRequired\n }));\n }\n if (shouldRevalidate) {\n revalidatingFetchers.push({\n key,\n routeId: f.routeId,\n path: f.path,\n matches: fetcherMatches,\n match: fetcherMatch,\n controller: new AbortController()\n });\n }\n });\n return [navigationMatches, revalidatingFetchers];\n}\nfunction isNewLoader(currentLoaderData, currentMatch, match) {\n let isNew =\n // [a] -> [a, b]\n !currentMatch ||\n // [a, b] -> [a, c]\n match.route.id !== currentMatch.route.id;\n // Handle the case that we don't have data for a re-used route, potentially\n // from a prior error or from a cancelled pending deferred\n let isMissingData = currentLoaderData[match.route.id] === undefined;\n // Always load if this is a net-new route or we don't yet have data\n return isNew || isMissingData;\n}\nfunction isNewRouteInstance(currentMatch, match) {\n let currentPath = currentMatch.route.path;\n return (\n // param change for this match, /users/123 -> /users/456\n currentMatch.pathname !== match.pathname ||\n // splat param changed, which is not present in match.path\n // e.g. /files/images/avatar.jpg -> files/finances.xls\n currentPath != null && currentPath.endsWith(\"*\") && currentMatch.params[\"*\"] !== match.params[\"*\"]\n );\n}\nfunction shouldRevalidateLoader(loaderMatch, arg) {\n if (loaderMatch.route.shouldRevalidate) {\n let routeChoice = loaderMatch.route.shouldRevalidate(arg);\n if (typeof routeChoice === \"boolean\") {\n return routeChoice;\n }\n }\n return arg.defaultShouldRevalidate;\n}\n/**\n * Execute route.lazy() methods to lazily load route modules (loader, action,\n * shouldRevalidate) and update the routeManifest in place which shares objects\n * with dataRoutes so those get updated as well.\n */\nasync function loadLazyRouteModule(route, mapRouteProperties, manifest) {\n if (!route.lazy) {\n return;\n }\n let lazyRoute = await route.lazy();\n // If the lazy route function was executed and removed by another parallel\n // call then we can return - first lazy() to finish wins because the return\n // value of lazy is expected to be static\n if (!route.lazy) {\n return;\n }\n let routeToUpdate = manifest[route.id];\n invariant(routeToUpdate, \"No route found in manifest\");\n // Update the route in place. This should be safe because there's no way\n // we could yet be sitting on this route as we can't get there without\n // resolving lazy() first.\n //\n // This is different than the HMR \"update\" use-case where we may actively be\n // on the route being updated. The main concern boils down to \"does this\n // mutation affect any ongoing navigations or any current state.matches\n // values?\". If not, it should be safe to update in place.\n let routeUpdates = {};\n for (let lazyRouteProperty in lazyRoute) {\n let staticRouteValue = routeToUpdate[lazyRouteProperty];\n let isPropertyStaticallyDefined = staticRouteValue !== undefined &&\n // This property isn't static since it should always be updated based\n // on the route updates\n lazyRouteProperty !== \"hasErrorBoundary\";\n warning(!isPropertyStaticallyDefined, \"Route \\\"\" + routeToUpdate.id + \"\\\" has a static property \\\"\" + lazyRouteProperty + \"\\\" \" + \"defined but its lazy function is also returning a value for this property. \" + (\"The lazy route property \\\"\" + lazyRouteProperty + \"\\\" will be ignored.\"));\n if (!isPropertyStaticallyDefined && !immutableRouteKeys.has(lazyRouteProperty)) {\n routeUpdates[lazyRouteProperty] = lazyRoute[lazyRouteProperty];\n }\n }\n // Mutate the route with the provided updates. Do this first so we pass\n // the updated version to mapRouteProperties\n Object.assign(routeToUpdate, routeUpdates);\n // Mutate the `hasErrorBoundary` property on the route based on the route\n // updates and remove the `lazy` function so we don't resolve the lazy\n // route again.\n Object.assign(routeToUpdate, _extends({}, mapRouteProperties(routeToUpdate), {\n lazy: undefined\n }));\n}\nasync function callLoaderOrAction(type, request, match, matches, manifest, mapRouteProperties, basename, v7_relativeSplatPath, opts) {\n if (opts === void 0) {\n opts = {};\n }\n let resultType;\n let result;\n let onReject;\n let runHandler = handler => {\n // Setup a promise we can race against so that abort signals short circuit\n let reject;\n let abortPromise = new Promise((_, r) => reject = r);\n onReject = () => reject();\n request.signal.addEventListener(\"abort\", onReject);\n return Promise.race([handler({\n request,\n params: match.params,\n context: opts.requestContext\n }), abortPromise]);\n };\n try {\n let handler = match.route[type];\n if (match.route.lazy) {\n if (handler) {\n // Run statically defined handler in parallel with lazy()\n let handlerError;\n let values = await Promise.all([\n // If the handler throws, don't let it immediately bubble out,\n // since we need to let the lazy() execution finish so we know if this\n // route has a boundary that can handle the error\n runHandler(handler).catch(e => {\n handlerError = e;\n }), loadLazyRouteModule(match.route, mapRouteProperties, manifest)]);\n if (handlerError) {\n throw handlerError;\n }\n result = values[0];\n } else {\n // Load lazy route module, then run any returned handler\n await loadLazyRouteModule(match.route, mapRouteProperties, manifest);\n handler = match.route[type];\n if (handler) {\n // Handler still run even if we got interrupted to maintain consistency\n // with un-abortable behavior of handler execution on non-lazy or\n // previously-lazy-loaded routes\n result = await runHandler(handler);\n } else if (type === \"action\") {\n let url = new URL(request.url);\n let pathname = url.pathname + url.search;\n throw getInternalRouterError(405, {\n method: request.method,\n pathname,\n routeId: match.route.id\n });\n } else {\n // lazy() route has no loader to run. Short circuit here so we don't\n // hit the invariant below that errors on returning undefined.\n return {\n type: ResultType.data,\n data: undefined\n };\n }\n }\n } else if (!handler) {\n let url = new URL(request.url);\n let pathname = url.pathname + url.search;\n throw getInternalRouterError(404, {\n pathname\n });\n } else {\n result = await runHandler(handler);\n }\n invariant(result !== undefined, \"You defined \" + (type === \"action\" ? \"an action\" : \"a loader\") + \" for route \" + (\"\\\"\" + match.route.id + \"\\\" but didn't return anything from your `\" + type + \"` \") + \"function. Please return a value or `null`.\");\n } catch (e) {\n resultType = ResultType.error;\n result = e;\n } finally {\n if (onReject) {\n request.signal.removeEventListener(\"abort\", onReject);\n }\n }\n if (isResponse(result)) {\n let status = result.status;\n // Process redirects\n if (redirectStatusCodes.has(status)) {\n let location = result.headers.get(\"Location\");\n invariant(location, \"Redirects returned/thrown from loaders/actions must have a Location header\");\n // Support relative routing in internal redirects\n if (!ABSOLUTE_URL_REGEX.test(location)) {\n location = normalizeTo(new URL(request.url), matches.slice(0, matches.indexOf(match) + 1), basename, true, location, v7_relativeSplatPath);\n } else if (!opts.isStaticRequest) {\n // Strip off the protocol+origin for same-origin + same-basename absolute\n // redirects. If this is a static request, we can let it go back to the\n // browser as-is\n let currentUrl = new URL(request.url);\n let url = location.startsWith(\"//\") ? new URL(currentUrl.protocol + location) : new URL(location);\n let isSameBasename = stripBasename(url.pathname, basename) != null;\n if (url.origin === currentUrl.origin && isSameBasename) {\n location = url.pathname + url.search + url.hash;\n }\n }\n // Don't process redirects in the router during static requests requests.\n // Instead, throw the Response and let the server handle it with an HTTP\n // redirect. We also update the Location header in place in this flow so\n // basename and relative routing is taken into account\n if (opts.isStaticRequest) {\n result.headers.set(\"Location\", location);\n throw result;\n }\n return {\n type: ResultType.redirect,\n status,\n location,\n revalidate: result.headers.get(\"X-Remix-Revalidate\") !== null,\n reloadDocument: result.headers.get(\"X-Remix-Reload-Document\") !== null\n };\n }\n // For SSR single-route requests, we want to hand Responses back directly\n // without unwrapping. We do this with the QueryRouteResponse wrapper\n // interface so we can know whether it was returned or thrown\n if (opts.isRouteRequest) {\n let queryRouteResponse = {\n type: resultType === ResultType.error ? ResultType.error : ResultType.data,\n response: result\n };\n throw queryRouteResponse;\n }\n let data;\n try {\n let contentType = result.headers.get(\"Content-Type\");\n // Check between word boundaries instead of startsWith() due to the last\n // paragraph of https://httpwg.org/specs/rfc9110.html#field.content-type\n if (contentType && /\\bapplication\\/json\\b/.test(contentType)) {\n if (result.body == null) {\n data = null;\n } else {\n data = await result.json();\n }\n } else {\n data = await result.text();\n }\n } catch (e) {\n return {\n type: ResultType.error,\n error: e\n };\n }\n if (resultType === ResultType.error) {\n return {\n type: resultType,\n error: new ErrorResponseImpl(status, result.statusText, data),\n headers: result.headers\n };\n }\n return {\n type: ResultType.data,\n data,\n statusCode: result.status,\n headers: result.headers\n };\n }\n if (resultType === ResultType.error) {\n return {\n type: resultType,\n error: result\n };\n }\n if (isDeferredData(result)) {\n var _result$init, _result$init2;\n return {\n type: ResultType.deferred,\n deferredData: result,\n statusCode: (_result$init = result.init) == null ? void 0 : _result$init.status,\n headers: ((_result$init2 = result.init) == null ? void 0 : _result$init2.headers) && new Headers(result.init.headers)\n };\n }\n return {\n type: ResultType.data,\n data: result\n };\n}\n// Utility method for creating the Request instances for loaders/actions during\n// client-side navigations and fetches. During SSR we will always have a\n// Request instance from the static handler (query/queryRoute)\nfunction createClientSideRequest(history, location, signal, submission) {\n let url = history.createURL(stripHashFromPath(location)).toString();\n let init = {\n signal\n };\n if (submission && isMutationMethod(submission.formMethod)) {\n let {\n formMethod,\n formEncType\n } = submission;\n // Didn't think we needed this but it turns out unlike other methods, patch\n // won't be properly normalized to uppercase and results in a 405 error.\n // See: https://fetch.spec.whatwg.org/#concept-method\n init.method = formMethod.toUpperCase();\n if (formEncType === \"application/json\") {\n init.headers = new Headers({\n \"Content-Type\": formEncType\n });\n init.body = JSON.stringify(submission.json);\n } else if (formEncType === \"text/plain\") {\n // Content-Type is inferred (https://fetch.spec.whatwg.org/#dom-request)\n init.body = submission.text;\n } else if (formEncType === \"application/x-www-form-urlencoded\" && submission.formData) {\n // Content-Type is inferred (https://fetch.spec.whatwg.org/#dom-request)\n init.body = convertFormDataToSearchParams(submission.formData);\n } else {\n // Content-Type is inferred (https://fetch.spec.whatwg.org/#dom-request)\n init.body = submission.formData;\n }\n }\n return new Request(url, init);\n}\nfunction convertFormDataToSearchParams(formData) {\n let searchParams = new URLSearchParams();\n for (let [key, value] of formData.entries()) {\n // https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#converting-an-entry-list-to-a-list-of-name-value-pairs\n searchParams.append(key, typeof value === \"string\" ? value : value.name);\n }\n return searchParams;\n}\nfunction convertSearchParamsToFormData(searchParams) {\n let formData = new FormData();\n for (let [key, value] of searchParams.entries()) {\n formData.append(key, value);\n }\n return formData;\n}\nfunction processRouteLoaderData(matches, matchesToLoad, results, pendingError, activeDeferreds) {\n // Fill in loaderData/errors from our loaders\n let loaderData = {};\n let errors = null;\n let statusCode;\n let foundError = false;\n let loaderHeaders = {};\n // Process loader results into state.loaderData/state.errors\n results.forEach((result, index) => {\n let id = matchesToLoad[index].route.id;\n invariant(!isRedirectResult(result), \"Cannot handle redirect results in processLoaderData\");\n if (isErrorResult(result)) {\n // Look upwards from the matched route for the closest ancestor\n // error boundary, defaulting to the root match\n let boundaryMatch = findNearestBoundary(matches, id);\n let error = result.error;\n // If we have a pending action error, we report it at the highest-route\n // that throws a loader error, and then clear it out to indicate that\n // it was consumed\n if (pendingError) {\n error = Object.values(pendingError)[0];\n pendingError = undefined;\n }\n errors = errors || {};\n // Prefer higher error values if lower errors bubble to the same boundary\n if (errors[boundaryMatch.route.id] == null) {\n errors[boundaryMatch.route.id] = error;\n }\n // Clear our any prior loaderData for the throwing route\n loaderData[id] = undefined;\n // Once we find our first (highest) error, we set the status code and\n // prevent deeper status codes from overriding\n if (!foundError) {\n foundError = true;\n statusCode = isRouteErrorResponse(result.error) ? result.error.status : 500;\n }\n if (result.headers) {\n loaderHeaders[id] = result.headers;\n }\n } else {\n if (isDeferredResult(result)) {\n activeDeferreds.set(id, result.deferredData);\n loaderData[id] = result.deferredData.data;\n } else {\n loaderData[id] = result.data;\n }\n // Error status codes always override success status codes, but if all\n // loaders are successful we take the deepest status code.\n if (result.statusCode != null && result.statusCode !== 200 && !foundError) {\n statusCode = result.statusCode;\n }\n if (result.headers) {\n loaderHeaders[id] = result.headers;\n }\n }\n });\n // If we didn't consume the pending action error (i.e., all loaders\n // resolved), then consume it here. Also clear out any loaderData for the\n // throwing route\n if (pendingError) {\n errors = pendingError;\n loaderData[Object.keys(pendingError)[0]] = undefined;\n }\n return {\n loaderData,\n errors,\n statusCode: statusCode || 200,\n loaderHeaders\n };\n}\nfunction processLoaderData(state, matches, matchesToLoad, results, pendingError, revalidatingFetchers, fetcherResults, activeDeferreds) {\n let {\n loaderData,\n errors\n } = processRouteLoaderData(matches, matchesToLoad, results, pendingError, activeDeferreds);\n // Process results from our revalidating fetchers\n for (let index = 0; index < revalidatingFetchers.length; index++) {\n let {\n key,\n match,\n controller\n } = revalidatingFetchers[index];\n invariant(fetcherResults !== undefined && fetcherResults[index] !== undefined, \"Did not find corresponding fetcher result\");\n let result = fetcherResults[index];\n // Process fetcher non-redirect errors\n if (controller && controller.signal.aborted) {\n // Nothing to do for aborted fetchers\n continue;\n } else if (isErrorResult(result)) {\n let boundaryMatch = findNearestBoundary(state.matches, match == null ? void 0 : match.route.id);\n if (!(errors && errors[boundaryMatch.route.id])) {\n errors = _extends({}, errors, {\n [boundaryMatch.route.id]: result.error\n });\n }\n state.fetchers.delete(key);\n } else if (isRedirectResult(result)) {\n // Should never get here, redirects should get processed above, but we\n // keep this to type narrow to a success result in the else\n invariant(false, \"Unhandled fetcher revalidation redirect\");\n } else if (isDeferredResult(result)) {\n // Should never get here, deferred data should be awaited for fetchers\n // in resolveDeferredResults\n invariant(false, \"Unhandled fetcher deferred data\");\n } else {\n let doneFetcher = getDoneFetcher(result.data);\n state.fetchers.set(key, doneFetcher);\n }\n }\n return {\n loaderData,\n errors\n };\n}\nfunction mergeLoaderData(loaderData, newLoaderData, matches, errors) {\n let mergedLoaderData = _extends({}, newLoaderData);\n for (let match of matches) {\n let id = match.route.id;\n if (newLoaderData.hasOwnProperty(id)) {\n if (newLoaderData[id] !== undefined) {\n mergedLoaderData[id] = newLoaderData[id];\n }\n } else if (loaderData[id] !== undefined && match.route.loader) {\n // Preserve existing keys not included in newLoaderData and where a loader\n // wasn't removed by HMR\n mergedLoaderData[id] = loaderData[id];\n }\n if (errors && errors.hasOwnProperty(id)) {\n // Don't keep any loader data below the boundary\n break;\n }\n }\n return mergedLoaderData;\n}\n// Find the nearest error boundary, looking upwards from the leaf route (or the\n// route specified by routeId) for the closest ancestor error boundary,\n// defaulting to the root match\nfunction findNearestBoundary(matches, routeId) {\n let eligibleMatches = routeId ? matches.slice(0, matches.findIndex(m => m.route.id === routeId) + 1) : [...matches];\n return eligibleMatches.reverse().find(m => m.route.hasErrorBoundary === true) || matches[0];\n}\nfunction getShortCircuitMatches(routes) {\n // Prefer a root layout route if present, otherwise shim in a route object\n let route = routes.length === 1 ? routes[0] : routes.find(r => r.index || !r.path || r.path === \"/\") || {\n id: \"__shim-error-route__\"\n };\n return {\n matches: [{\n params: {},\n pathname: \"\",\n pathnameBase: \"\",\n route\n }],\n route\n };\n}\nfunction getInternalRouterError(status, _temp5) {\n let {\n pathname,\n routeId,\n method,\n type\n } = _temp5 === void 0 ? {} : _temp5;\n let statusText = \"Unknown Server Error\";\n let errorMessage = \"Unknown @remix-run/router error\";\n if (status === 400) {\n statusText = \"Bad Request\";\n if (method && pathname && routeId) {\n errorMessage = \"You made a \" + method + \" request to \\\"\" + pathname + \"\\\" but \" + (\"did not provide a `loader` for route \\\"\" + routeId + \"\\\", \") + \"so there is no way to handle the request.\";\n } else if (type === \"defer-action\") {\n errorMessage = \"defer() is not supported in actions\";\n } else if (type === \"invalid-body\") {\n errorMessage = \"Unable to encode submission body\";\n }\n } else if (status === 403) {\n statusText = \"Forbidden\";\n errorMessage = \"Route \\\"\" + routeId + \"\\\" does not match URL \\\"\" + pathname + \"\\\"\";\n } else if (status === 404) {\n statusText = \"Not Found\";\n errorMessage = \"No route matches URL \\\"\" + pathname + \"\\\"\";\n } else if (status === 405) {\n statusText = \"Method Not Allowed\";\n if (method && pathname && routeId) {\n errorMessage = \"You made a \" + method.toUpperCase() + \" request to \\\"\" + pathname + \"\\\" but \" + (\"did not provide an `action` for route \\\"\" + routeId + \"\\\", \") + \"so there is no way to handle the request.\";\n } else if (method) {\n errorMessage = \"Invalid request method \\\"\" + method.toUpperCase() + \"\\\"\";\n }\n }\n return new ErrorResponseImpl(status || 500, statusText, new Error(errorMessage), true);\n}\n// Find any returned redirect errors, starting from the lowest match\nfunction findRedirect(results) {\n for (let i = results.length - 1; i >= 0; i--) {\n let result = results[i];\n if (isRedirectResult(result)) {\n return {\n result,\n idx: i\n };\n }\n }\n}\nfunction stripHashFromPath(path) {\n let parsedPath = typeof path === \"string\" ? parsePath(path) : path;\n return createPath(_extends({}, parsedPath, {\n hash: \"\"\n }));\n}\nfunction isHashChangeOnly(a, b) {\n if (a.pathname !== b.pathname || a.search !== b.search) {\n return false;\n }\n if (a.hash === \"\") {\n // /page -> /page#hash\n return b.hash !== \"\";\n } else if (a.hash === b.hash) {\n // /page#hash -> /page#hash\n return true;\n } else if (b.hash !== \"\") {\n // /page#hash -> /page#other\n return true;\n }\n // If the hash is removed the browser will re-perform a request to the server\n // /page#hash -> /page\n return false;\n}\nfunction isDeferredResult(result) {\n return result.type === ResultType.deferred;\n}\nfunction isErrorResult(result) {\n return result.type === ResultType.error;\n}\nfunction isRedirectResult(result) {\n return (result && result.type) === ResultType.redirect;\n}\nfunction isDeferredData(value) {\n let deferred = value;\n return deferred && typeof deferred === \"object\" && typeof deferred.data === \"object\" && typeof deferred.subscribe === \"function\" && typeof deferred.cancel === \"function\" && typeof deferred.resolveData === \"function\";\n}\nfunction isResponse(value) {\n return value != null && typeof value.status === \"number\" && typeof value.statusText === \"string\" && typeof value.headers === \"object\" && typeof value.body !== \"undefined\";\n}\nfunction isRedirectResponse(result) {\n if (!isResponse(result)) {\n return false;\n }\n let status = result.status;\n let location = result.headers.get(\"Location\");\n return status >= 300 && status <= 399 && location != null;\n}\nfunction isQueryRouteResponse(obj) {\n return obj && isResponse(obj.response) && (obj.type === ResultType.data || obj.type === ResultType.error);\n}\nfunction isValidMethod(method) {\n return validRequestMethods.has(method.toLowerCase());\n}\nfunction isMutationMethod(method) {\n return validMutationMethods.has(method.toLowerCase());\n}\nasync function resolveDeferredResults(currentMatches, matchesToLoad, results, signals, isFetcher, currentLoaderData) {\n for (let index = 0; index < results.length; index++) {\n let result = results[index];\n let match = matchesToLoad[index];\n // If we don't have a match, then we can have a deferred result to do\n // anything with. This is for revalidating fetchers where the route was\n // removed during HMR\n if (!match) {\n continue;\n }\n let currentMatch = currentMatches.find(m => m.route.id === match.route.id);\n let isRevalidatingLoader = currentMatch != null && !isNewRouteInstance(currentMatch, match) && (currentLoaderData && currentLoaderData[match.route.id]) !== undefined;\n if (isDeferredResult(result) && (isFetcher || isRevalidatingLoader)) {\n // Note: we do not have to touch activeDeferreds here since we race them\n // against the signal in resolveDeferredData and they'll get aborted\n // there if needed\n let signal = signals[index];\n invariant(signal, \"Expected an AbortSignal for revalidating fetcher deferred result\");\n await resolveDeferredData(result, signal, isFetcher).then(result => {\n if (result) {\n results[index] = result || results[index];\n }\n });\n }\n }\n}\nasync function resolveDeferredData(result, signal, unwrap) {\n if (unwrap === void 0) {\n unwrap = false;\n }\n let aborted = await result.deferredData.resolveData(signal);\n if (aborted) {\n return;\n }\n if (unwrap) {\n try {\n return {\n type: ResultType.data,\n data: result.deferredData.unwrappedData\n };\n } catch (e) {\n // Handle any TrackedPromise._error values encountered while unwrapping\n return {\n type: ResultType.error,\n error: e\n };\n }\n }\n return {\n type: ResultType.data,\n data: result.deferredData.data\n };\n}\nfunction hasNakedIndexQuery(search) {\n return new URLSearchParams(search).getAll(\"index\").some(v => v === \"\");\n}\nfunction getTargetMatch(matches, location) {\n let search = typeof location === \"string\" ? parsePath(location).search : location.search;\n if (matches[matches.length - 1].route.index && hasNakedIndexQuery(search || \"\")) {\n // Return the leaf index route when index is present\n return matches[matches.length - 1];\n }\n // Otherwise grab the deepest \"path contributing\" match (ignoring index and\n // pathless layout routes)\n let pathMatches = getPathContributingMatches(matches);\n return pathMatches[pathMatches.length - 1];\n}\nfunction getSubmissionFromNavigation(navigation) {\n let {\n formMethod,\n formAction,\n formEncType,\n text,\n formData,\n json\n } = navigation;\n if (!formMethod || !formAction || !formEncType) {\n return;\n }\n if (text != null) {\n return {\n formMethod,\n formAction,\n formEncType,\n formData: undefined,\n json: undefined,\n text\n };\n } else if (formData != null) {\n return {\n formMethod,\n formAction,\n formEncType,\n formData,\n json: undefined,\n text: undefined\n };\n } else if (json !== undefined) {\n return {\n formMethod,\n formAction,\n formEncType,\n formData: undefined,\n json,\n text: undefined\n };\n }\n}\nfunction getLoadingNavigation(location, submission) {\n if (submission) {\n let navigation = {\n state: \"loading\",\n location,\n formMethod: submission.formMethod,\n formAction: submission.formAction,\n formEncType: submission.formEncType,\n formData: submission.formData,\n json: submission.json,\n text: submission.text\n };\n return navigation;\n } else {\n let navigation = {\n state: \"loading\",\n location,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n json: undefined,\n text: undefined\n };\n return navigation;\n }\n}\nfunction getSubmittingNavigation(location, submission) {\n let navigation = {\n state: \"submitting\",\n location,\n formMethod: submission.formMethod,\n formAction: submission.formAction,\n formEncType: submission.formEncType,\n formData: submission.formData,\n json: submission.json,\n text: submission.text\n };\n return navigation;\n}\nfunction getLoadingFetcher(submission, data) {\n if (submission) {\n let fetcher = {\n state: \"loading\",\n formMethod: submission.formMethod,\n formAction: submission.formAction,\n formEncType: submission.formEncType,\n formData: submission.formData,\n json: submission.json,\n text: submission.text,\n data\n };\n return fetcher;\n } else {\n let fetcher = {\n state: \"loading\",\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n json: undefined,\n text: undefined,\n data\n };\n return fetcher;\n }\n}\nfunction getSubmittingFetcher(submission, existingFetcher) {\n let fetcher = {\n state: \"submitting\",\n formMethod: submission.formMethod,\n formAction: submission.formAction,\n formEncType: submission.formEncType,\n formData: submission.formData,\n json: submission.json,\n text: submission.text,\n data: existingFetcher ? existingFetcher.data : undefined\n };\n return fetcher;\n}\nfunction getDoneFetcher(data) {\n let fetcher = {\n state: \"idle\",\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n json: undefined,\n text: undefined,\n data\n };\n return fetcher;\n}\nfunction restoreAppliedTransitions(_window, transitions) {\n try {\n let sessionPositions = _window.sessionStorage.getItem(TRANSITIONS_STORAGE_KEY);\n if (sessionPositions) {\n let json = JSON.parse(sessionPositions);\n for (let [k, v] of Object.entries(json || {})) {\n if (v && Array.isArray(v)) {\n transitions.set(k, new Set(v || []));\n }\n }\n }\n } catch (e) {\n // no-op, use default empty object\n }\n}\nfunction persistAppliedTransitions(_window, transitions) {\n if (transitions.size > 0) {\n let json = {};\n for (let [k, v] of transitions) {\n json[k] = [...v];\n }\n try {\n _window.sessionStorage.setItem(TRANSITIONS_STORAGE_KEY, JSON.stringify(json));\n } catch (error) {\n warning(false, \"Failed to save applied view transitions in sessionStorage (\" + error + \").\");\n }\n }\n}\n//#endregion\n\nexport { AbortedDeferredError, Action, IDLE_BLOCKER, IDLE_FETCHER, IDLE_NAVIGATION, UNSAFE_DEFERRED_SYMBOL, DeferredData as UNSAFE_DeferredData, ErrorResponseImpl as UNSAFE_ErrorResponseImpl, convertRouteMatchToUiMatch as UNSAFE_convertRouteMatchToUiMatch, convertRoutesToDataRoutes as UNSAFE_convertRoutesToDataRoutes, getResolveToMatches as UNSAFE_getResolveToMatches, invariant as UNSAFE_invariant, warning as UNSAFE_warning, createBrowserHistory, createHashHistory, createMemoryHistory, createPath, createRouter, createStaticHandler, defer, generatePath, getStaticContextFromError, getToPathname, isDeferredData, isRouteErrorResponse, joinPaths, json, matchPath, matchRoutes, normalizePathname, parsePath, redirect, redirectDocument, resolvePath, resolveTo, stripBasename };\n//# sourceMappingURL=router.js.map\n","/**\n * React Router v6.22.0\n *\n * Copyright (c) Remix Software Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nimport * as React from 'react';\nimport { UNSAFE_invariant, joinPaths, matchPath, UNSAFE_getResolveToMatches, UNSAFE_warning, resolveTo, parsePath, matchRoutes, Action, UNSAFE_convertRouteMatchToUiMatch, stripBasename, IDLE_BLOCKER, isRouteErrorResponse, createMemoryHistory, AbortedDeferredError, createRouter } from '@remix-run/router';\nexport { AbortedDeferredError, Action as NavigationType, createPath, defer, generatePath, isRouteErrorResponse, json, matchPath, matchRoutes, parsePath, redirect, redirectDocument, resolvePath } from '@remix-run/router';\n\nfunction _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\n\n// Create react-specific types from the agnostic types in @remix-run/router to\n// export from react-router\nconst DataRouterContext = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== \"production\") {\n DataRouterContext.displayName = \"DataRouter\";\n}\nconst DataRouterStateContext = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== \"production\") {\n DataRouterStateContext.displayName = \"DataRouterState\";\n}\nconst AwaitContext = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== \"production\") {\n AwaitContext.displayName = \"Await\";\n}\n\n/**\n * A Navigator is a \"location changer\"; it's how you get to different locations.\n *\n * Every history instance conforms to the Navigator interface, but the\n * distinction is useful primarily when it comes to the low-level `<Router>` API\n * where both the location and a navigator must be provided separately in order\n * to avoid \"tearing\" that may occur in a suspense-enabled app if the action\n * and/or location were to be read directly from the history instance.\n */\n\nconst NavigationContext = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== \"production\") {\n NavigationContext.displayName = \"Navigation\";\n}\nconst LocationContext = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== \"production\") {\n LocationContext.displayName = \"Location\";\n}\nconst RouteContext = /*#__PURE__*/React.createContext({\n outlet: null,\n matches: [],\n isDataRoute: false\n});\nif (process.env.NODE_ENV !== \"production\") {\n RouteContext.displayName = \"Route\";\n}\nconst RouteErrorContext = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== \"production\") {\n RouteErrorContext.displayName = \"RouteError\";\n}\n\n/**\n * Returns the full href for the given \"to\" value. This is useful for building\n * custom links that are also accessible and preserve right-click behavior.\n *\n * @see https://reactrouter.com/hooks/use-href\n */\nfunction useHref(to, _temp) {\n let {\n relative\n } = _temp === void 0 ? {} : _temp;\n !useInRouterContext() ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n \"useHref() may be used only in the context of a <Router> component.\") : UNSAFE_invariant(false) : void 0;\n let {\n basename,\n navigator\n } = React.useContext(NavigationContext);\n let {\n hash,\n pathname,\n search\n } = useResolvedPath(to, {\n relative\n });\n let joinedPathname = pathname;\n\n // If we're operating within a basename, prepend it to the pathname prior\n // to creating the href. If this is a root navigation, then just use the raw\n // basename which allows the basename to have full control over the presence\n // of a trailing slash on root links\n if (basename !== \"/\") {\n joinedPathname = pathname === \"/\" ? basename : joinPaths([basename, pathname]);\n }\n return navigator.createHref({\n pathname: joinedPathname,\n search,\n hash\n });\n}\n\n/**\n * Returns true if this component is a descendant of a `<Router>`.\n *\n * @see https://reactrouter.com/hooks/use-in-router-context\n */\nfunction useInRouterContext() {\n return React.useContext(LocationContext) != null;\n}\n\n/**\n * Returns the current location object, which represents the current URL in web\n * browsers.\n *\n * Note: If you're using this it may mean you're doing some of your own\n * \"routing\" in your app, and we'd like to know what your use case is. We may\n * be able to provide something higher-level to better suit your needs.\n *\n * @see https://reactrouter.com/hooks/use-location\n */\nfunction useLocation() {\n !useInRouterContext() ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n \"useLocation() may be used only in the context of a <Router> component.\") : UNSAFE_invariant(false) : void 0;\n return React.useContext(LocationContext).location;\n}\n\n/**\n * Returns the current navigation action which describes how the router came to\n * the current location, either by a pop, push, or replace on the history stack.\n *\n * @see https://reactrouter.com/hooks/use-navigation-type\n */\nfunction useNavigationType() {\n return React.useContext(LocationContext).navigationType;\n}\n\n/**\n * Returns a PathMatch object if the given pattern matches the current URL.\n * This is useful for components that need to know \"active\" state, e.g.\n * `<NavLink>`.\n *\n * @see https://reactrouter.com/hooks/use-match\n */\nfunction useMatch(pattern) {\n !useInRouterContext() ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n \"useMatch() may be used only in the context of a <Router> component.\") : UNSAFE_invariant(false) : void 0;\n let {\n pathname\n } = useLocation();\n return React.useMemo(() => matchPath(pattern, pathname), [pathname, pattern]);\n}\n\n/**\n * The interface for the navigate() function returned from useNavigate().\n */\n\nconst navigateEffectWarning = \"You should call navigate() in a React.useEffect(), not when \" + \"your component is first rendered.\";\n\n// Mute warnings for calls to useNavigate in SSR environments\nfunction useIsomorphicLayoutEffect(cb) {\n let isStatic = React.useContext(NavigationContext).static;\n if (!isStatic) {\n // We should be able to get rid of this once react 18.3 is released\n // See: https://github.com/facebook/react/pull/26395\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useLayoutEffect(cb);\n }\n}\n\n/**\n * Returns an imperative method for changing the location. Used by `<Link>`s, but\n * may also be used by other elements to change the location.\n *\n * @see https://reactrouter.com/hooks/use-navigate\n */\nfunction useNavigate() {\n let {\n isDataRoute\n } = React.useContext(RouteContext);\n // Conditional usage is OK here because the usage of a data router is static\n // eslint-disable-next-line react-hooks/rules-of-hooks\n return isDataRoute ? useNavigateStable() : useNavigateUnstable();\n}\nfunction useNavigateUnstable() {\n !useInRouterContext() ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n \"useNavigate() may be used only in the context of a <Router> component.\") : UNSAFE_invariant(false) : void 0;\n let dataRouterContext = React.useContext(DataRouterContext);\n let {\n basename,\n future,\n navigator\n } = React.useContext(NavigationContext);\n let {\n matches\n } = React.useContext(RouteContext);\n let {\n pathname: locationPathname\n } = useLocation();\n let routePathnamesJson = JSON.stringify(UNSAFE_getResolveToMatches(matches, future.v7_relativeSplatPath));\n let activeRef = React.useRef(false);\n useIsomorphicLayoutEffect(() => {\n activeRef.current = true;\n });\n let navigate = React.useCallback(function (to, options) {\n if (options === void 0) {\n options = {};\n }\n process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(activeRef.current, navigateEffectWarning) : void 0;\n\n // Short circuit here since if this happens on first render the navigate\n // is useless because we haven't wired up our history listener yet\n if (!activeRef.current) return;\n if (typeof to === \"number\") {\n navigator.go(to);\n return;\n }\n let path = resolveTo(to, JSON.parse(routePathnamesJson), locationPathname, options.relative === \"path\");\n\n // If we're operating within a basename, prepend it to the pathname prior\n // to handing off to history (but only if we're not in a data router,\n // otherwise it'll prepend the basename inside of the router).\n // If this is a root navigation, then we navigate to the raw basename\n // which allows the basename to have full control over the presence of a\n // trailing slash on root links\n if (dataRouterContext == null && basename !== \"/\") {\n path.pathname = path.pathname === \"/\" ? basename : joinPaths([basename, path.pathname]);\n }\n (!!options.replace ? navigator.replace : navigator.push)(path, options.state, options);\n }, [basename, navigator, routePathnamesJson, locationPathname, dataRouterContext]);\n return navigate;\n}\nconst OutletContext = /*#__PURE__*/React.createContext(null);\n\n/**\n * Returns the context (if provided) for the child route at this level of the route\n * hierarchy.\n * @see https://reactrouter.com/hooks/use-outlet-context\n */\nfunction useOutletContext() {\n return React.useContext(OutletContext);\n}\n\n/**\n * Returns the element for the child route at this level of the route\n * hierarchy. Used internally by `<Outlet>` to render child routes.\n *\n * @see https://reactrouter.com/hooks/use-outlet\n */\nfunction useOutlet(context) {\n let outlet = React.useContext(RouteContext).outlet;\n if (outlet) {\n return /*#__PURE__*/React.createElement(OutletContext.Provider, {\n value: context\n }, outlet);\n }\n return outlet;\n}\n\n/**\n * Returns an object of key/value pairs of the dynamic params from the current\n * URL that were matched by the route path.\n *\n * @see https://reactrouter.com/hooks/use-params\n */\nfunction useParams() {\n let {\n matches\n } = React.useContext(RouteContext);\n let routeMatch = matches[matches.length - 1];\n return routeMatch ? routeMatch.params : {};\n}\n\n/**\n * Resolves the pathname of the given `to` value against the current location.\n *\n * @see https://reactrouter.com/hooks/use-resolved-path\n */\nfunction useResolvedPath(to, _temp2) {\n let {\n relative\n } = _temp2 === void 0 ? {} : _temp2;\n let {\n future\n } = React.useContext(NavigationContext);\n let {\n matches\n } = React.useContext(RouteContext);\n let {\n pathname: locationPathname\n } = useLocation();\n let routePathnamesJson = JSON.stringify(UNSAFE_getResolveToMatches(matches, future.v7_relativeSplatPath));\n return React.useMemo(() => resolveTo(to, JSON.parse(routePathnamesJson), locationPathname, relative === \"path\"), [to, routePathnamesJson, locationPathname, relative]);\n}\n\n/**\n * Returns the element of the route that matched the current location, prepared\n * with the correct context to render the remainder of the route tree. Route\n * elements in the tree must render an `<Outlet>` to render their child route's\n * element.\n *\n * @see https://reactrouter.com/hooks/use-routes\n */\nfunction useRoutes(routes, locationArg) {\n return useRoutesImpl(routes, locationArg);\n}\n\n// Internal implementation with accept optional param for RouterProvider usage\nfunction useRoutesImpl(routes, locationArg, dataRouterState, future) {\n !useInRouterContext() ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n \"useRoutes() may be used only in the context of a <Router> component.\") : UNSAFE_invariant(false) : void 0;\n let {\n navigator\n } = React.useContext(NavigationContext);\n let {\n matches: parentMatches\n } = React.useContext(RouteContext);\n let routeMatch = parentMatches[parentMatches.length - 1];\n let parentParams = routeMatch ? routeMatch.params : {};\n let parentPathname = routeMatch ? routeMatch.pathname : \"/\";\n let parentPathnameBase = routeMatch ? routeMatch.pathnameBase : \"/\";\n let parentRoute = routeMatch && routeMatch.route;\n if (process.env.NODE_ENV !== \"production\") {\n // You won't get a warning about 2 different <Routes> under a <Route>\n // without a trailing *, but this is a best-effort warning anyway since we\n // cannot even give the warning unless they land at the parent route.\n //\n // Example:\n //\n // <Routes>\n // {/* This route path MUST end with /* because otherwise\n // it will never match /blog/post/123 */}\n // <Route path=\"blog\" element={<Blog />} />\n // <Route path=\"blog/feed\" element={<BlogFeed />} />\n // </Routes>\n //\n // function Blog() {\n // return (\n // <Routes>\n // <Route path=\"post/:id\" element={<Post />} />\n // </Routes>\n // );\n // }\n let parentPath = parentRoute && parentRoute.path || \"\";\n warningOnce(parentPathname, !parentRoute || parentPath.endsWith(\"*\"), \"You rendered descendant <Routes> (or called `useRoutes()`) at \" + (\"\\\"\" + parentPathname + \"\\\" (under <Route path=\\\"\" + parentPath + \"\\\">) but the \") + \"parent route path has no trailing \\\"*\\\". This means if you navigate \" + \"deeper, the parent won't match anymore and therefore the child \" + \"routes will never render.\\n\\n\" + (\"Please change the parent <Route path=\\\"\" + parentPath + \"\\\"> to <Route \") + (\"path=\\\"\" + (parentPath === \"/\" ? \"*\" : parentPath + \"/*\") + \"\\\">.\"));\n }\n let locationFromContext = useLocation();\n let location;\n if (locationArg) {\n var _parsedLocationArg$pa;\n let parsedLocationArg = typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n !(parentPathnameBase === \"/\" || ((_parsedLocationArg$pa = parsedLocationArg.pathname) == null ? void 0 : _parsedLocationArg$pa.startsWith(parentPathnameBase))) ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, \"When overriding the location using `<Routes location>` or `useRoutes(routes, location)`, \" + \"the location pathname must begin with the portion of the URL pathname that was \" + (\"matched by all parent routes. The current pathname base is \\\"\" + parentPathnameBase + \"\\\" \") + (\"but pathname \\\"\" + parsedLocationArg.pathname + \"\\\" was given in the `location` prop.\")) : UNSAFE_invariant(false) : void 0;\n location = parsedLocationArg;\n } else {\n location = locationFromContext;\n }\n let pathname = location.pathname || \"/\";\n let remainingPathname = parentPathnameBase === \"/\" ? pathname : pathname.slice(parentPathnameBase.length) || \"/\";\n let matches = matchRoutes(routes, {\n pathname: remainingPathname\n });\n if (process.env.NODE_ENV !== \"production\") {\n process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(parentRoute || matches != null, \"No routes matched location \\\"\" + location.pathname + location.search + location.hash + \"\\\" \") : void 0;\n process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(matches == null || matches[matches.length - 1].route.element !== undefined || matches[matches.length - 1].route.Component !== undefined || matches[matches.length - 1].route.lazy !== undefined, \"Matched leaf route at location \\\"\" + location.pathname + location.search + location.hash + \"\\\" \" + \"does not have an element or Component. This means it will render an <Outlet /> with a \" + \"null value by default resulting in an \\\"empty\\\" page.\") : void 0;\n }\n let renderedMatches = _renderMatches(matches && matches.map(match => Object.assign({}, match, {\n params: Object.assign({}, parentParams, match.params),\n pathname: joinPaths([parentPathnameBase,\n // Re-encode pathnames that were decoded inside matchRoutes\n navigator.encodeLocation ? navigator.encodeLocation(match.pathname).pathname : match.pathname]),\n pathnameBase: match.pathnameBase === \"/\" ? parentPathnameBase : joinPaths([parentPathnameBase,\n // Re-encode pathnames that were decoded inside matchRoutes\n navigator.encodeLocation ? navigator.encodeLocation(match.pathnameBase).pathname : match.pathnameBase])\n })), parentMatches, dataRouterState, future);\n\n // When a user passes in a `locationArg`, the associated routes need to\n // be wrapped in a new `LocationContext.Provider` in order for `useLocation`\n // to use the scoped location instead of the global location.\n if (locationArg && renderedMatches) {\n return /*#__PURE__*/React.createElement(LocationContext.Provider, {\n value: {\n location: _extends({\n pathname: \"/\",\n search: \"\",\n hash: \"\",\n state: null,\n key: \"default\"\n }, location),\n navigationType: Action.Pop\n }\n }, renderedMatches);\n }\n return renderedMatches;\n}\nfunction DefaultErrorComponent() {\n let error = useRouteError();\n let message = isRouteErrorResponse(error) ? error.status + \" \" + error.statusText : error instanceof Error ? error.message : JSON.stringify(error);\n let stack = error instanceof Error ? error.stack : null;\n let lightgrey = \"rgba(200,200,200, 0.5)\";\n let preStyles = {\n padding: \"0.5rem\",\n backgroundColor: lightgrey\n };\n let codeStyles = {\n padding: \"2px 4px\",\n backgroundColor: lightgrey\n };\n let devInfo = null;\n if (process.env.NODE_ENV !== \"production\") {\n console.error(\"Error handled by React Router default ErrorBoundary:\", error);\n devInfo = /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"p\", null, \"\\uD83D\\uDCBF Hey developer \\uD83D\\uDC4B\"), /*#__PURE__*/React.createElement(\"p\", null, \"You can provide a way better UX than this when your app throws errors by providing your own \", /*#__PURE__*/React.createElement(\"code\", {\n style: codeStyles\n }, \"ErrorBoundary\"), \" or\", \" \", /*#__PURE__*/React.createElement(\"code\", {\n style: codeStyles\n }, \"errorElement\"), \" prop on your route.\"));\n }\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"h2\", null, \"Unexpected Application Error!\"), /*#__PURE__*/React.createElement(\"h3\", {\n style: {\n fontStyle: \"italic\"\n }\n }, message), stack ? /*#__PURE__*/React.createElement(\"pre\", {\n style: preStyles\n }, stack) : null, devInfo);\n}\nconst defaultErrorElement = /*#__PURE__*/React.createElement(DefaultErrorComponent, null);\nclass RenderErrorBoundary extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n location: props.location,\n revalidation: props.revalidation,\n error: props.error\n };\n }\n static getDerivedStateFromError(error) {\n return {\n error: error\n };\n }\n static getDerivedStateFromProps(props, state) {\n // When we get into an error state, the user will likely click \"back\" to the\n // previous page that didn't have an error. Because this wraps the entire\n // application, that will have no effect--the error page continues to display.\n // This gives us a mechanism to recover from the error when the location changes.\n //\n // Whether we're in an error state or not, we update the location in state\n // so that when we are in an error state, it gets reset when a new location\n // comes in and the user recovers from the error.\n if (state.location !== props.location || state.revalidation !== \"idle\" && props.revalidation === \"idle\") {\n return {\n error: props.error,\n location: props.location,\n revalidation: props.revalidation\n };\n }\n\n // If we're not changing locations, preserve the location but still surface\n // any new errors that may come through. We retain the existing error, we do\n // this because the error provided from the app state may be cleared without\n // the location changing.\n return {\n error: props.error !== undefined ? props.error : state.error,\n location: state.location,\n revalidation: props.revalidation || state.revalidation\n };\n }\n componentDidCatch(error, errorInfo) {\n console.error(\"React Router caught the following error during render\", error, errorInfo);\n }\n render() {\n return this.state.error !== undefined ? /*#__PURE__*/React.createElement(RouteContext.Provider, {\n value: this.props.routeContext\n }, /*#__PURE__*/React.createElement(RouteErrorContext.Provider, {\n value: this.state.error,\n children: this.props.component\n })) : this.props.children;\n }\n}\nfunction RenderedRoute(_ref) {\n let {\n routeContext,\n match,\n children\n } = _ref;\n let dataRouterContext = React.useContext(DataRouterContext);\n\n // Track how deep we got in our render pass to emulate SSR componentDidCatch\n // in a DataStaticRouter\n if (dataRouterContext && dataRouterContext.static && dataRouterContext.staticContext && (match.route.errorElement || match.route.ErrorBoundary)) {\n dataRouterContext.staticContext._deepestRenderedBoundaryId = match.route.id;\n }\n return /*#__PURE__*/React.createElement(RouteContext.Provider, {\n value: routeContext\n }, children);\n}\nfunction _renderMatches(matches, parentMatches, dataRouterState, future) {\n var _dataRouterState2;\n if (parentMatches === void 0) {\n parentMatches = [];\n }\n if (dataRouterState === void 0) {\n dataRouterState = null;\n }\n if (future === void 0) {\n future = null;\n }\n if (matches == null) {\n var _dataRouterState;\n if ((_dataRouterState = dataRouterState) != null && _dataRouterState.errors) {\n // Don't bail if we have data router errors so we can render them in the\n // boundary. Use the pre-matched (or shimmed) matches\n matches = dataRouterState.matches;\n } else {\n return null;\n }\n }\n let renderedMatches = matches;\n\n // If we have data errors, trim matches to the highest error boundary\n let errors = (_dataRouterState2 = dataRouterState) == null ? void 0 : _dataRouterState2.errors;\n if (errors != null) {\n let errorIndex = renderedMatches.findIndex(m => m.route.id && (errors == null ? void 0 : errors[m.route.id]));\n !(errorIndex >= 0) ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, \"Could not find a matching route for errors on route IDs: \" + Object.keys(errors).join(\",\")) : UNSAFE_invariant(false) : void 0;\n renderedMatches = renderedMatches.slice(0, Math.min(renderedMatches.length, errorIndex + 1));\n }\n\n // If we're in a partial hydration mode, detect if we need to render down to\n // a given HydrateFallback while we load the rest of the hydration data\n let renderFallback = false;\n let fallbackIndex = -1;\n if (dataRouterState && future && future.v7_partialHydration) {\n for (let i = 0; i < renderedMatches.length; i++) {\n let match = renderedMatches[i];\n // Track the deepest fallback up until the first route without data\n if (match.route.HydrateFallback || match.route.hydrateFallbackElement) {\n fallbackIndex = i;\n }\n if (match.route.id) {\n let {\n loaderData,\n errors\n } = dataRouterState;\n let needsToRunLoader = match.route.loader && loaderData[match.route.id] === undefined && (!errors || errors[match.route.id] === undefined);\n if (match.route.lazy || needsToRunLoader) {\n // We found the first route that's not ready to render (waiting on\n // lazy, or has a loader that hasn't run yet). Flag that we need to\n // render a fallback and render up until the appropriate fallback\n renderFallback = true;\n if (fallbackIndex >= 0) {\n renderedMatches = renderedMatches.slice(0, fallbackIndex + 1);\n } else {\n renderedMatches = [renderedMatches[0]];\n }\n break;\n }\n }\n }\n }\n return renderedMatches.reduceRight((outlet, match, index) => {\n // Only data routers handle errors/fallbacks\n let error;\n let shouldRenderHydrateFallback = false;\n let errorElement = null;\n let hydrateFallbackElement = null;\n if (dataRouterState) {\n error = errors && match.route.id ? errors[match.route.id] : undefined;\n errorElement = match.route.errorElement || defaultErrorElement;\n if (renderFallback) {\n if (fallbackIndex < 0 && index === 0) {\n warningOnce(\"route-fallback\", false, \"No `HydrateFallback` element provided to render during initial hydration\");\n shouldRenderHydrateFallback = true;\n hydrateFallbackElement = null;\n } else if (fallbackIndex === index) {\n shouldRenderHydrateFallback = true;\n hydrateFallbackElement = match.route.hydrateFallbackElement || null;\n }\n }\n }\n let matches = parentMatches.concat(renderedMatches.slice(0, index + 1));\n let getChildren = () => {\n let children;\n if (error) {\n children = errorElement;\n } else if (shouldRenderHydrateFallback) {\n children = hydrateFallbackElement;\n } else if (match.route.Component) {\n // Note: This is a de-optimized path since React won't re-use the\n // ReactElement since it's identity changes with each new\n // React.createElement call. We keep this so folks can use\n // `<Route Component={...}>` in `<Routes>` but generally `Component`\n // usage is only advised in `RouterProvider` when we can convert it to\n // `element` ahead of time.\n children = /*#__PURE__*/React.createElement(match.route.Component, null);\n } else if (match.route.element) {\n children = match.route.element;\n } else {\n children = outlet;\n }\n return /*#__PURE__*/React.createElement(RenderedRoute, {\n match: match,\n routeContext: {\n outlet,\n matches,\n isDataRoute: dataRouterState != null\n },\n children: children\n });\n };\n // Only wrap in an error boundary within data router usages when we have an\n // ErrorBoundary/errorElement on this route. Otherwise let it bubble up to\n // an ancestor ErrorBoundary/errorElement\n return dataRouterState && (match.route.ErrorBoundary || match.route.errorElement || index === 0) ? /*#__PURE__*/React.createElement(RenderErrorBoundary, {\n location: dataRouterState.location,\n revalidation: dataRouterState.revalidation,\n component: errorElement,\n error: error,\n children: getChildren(),\n routeContext: {\n outlet: null,\n matches,\n isDataRoute: true\n }\n }) : getChildren();\n }, null);\n}\nvar DataRouterHook = /*#__PURE__*/function (DataRouterHook) {\n DataRouterHook[\"UseBlocker\"] = \"useBlocker\";\n DataRouterHook[\"UseRevalidator\"] = \"useRevalidator\";\n DataRouterHook[\"UseNavigateStable\"] = \"useNavigate\";\n return DataRouterHook;\n}(DataRouterHook || {});\nvar DataRouterStateHook = /*#__PURE__*/function (DataRouterStateHook) {\n DataRouterStateHook[\"UseBlocker\"] = \"useBlocker\";\n DataRouterStateHook[\"UseLoaderData\"] = \"useLoaderData\";\n DataRouterStateHook[\"UseActionData\"] = \"useActionData\";\n DataRouterStateHook[\"UseRouteError\"] = \"useRouteError\";\n DataRouterStateHook[\"UseNavigation\"] = \"useNavigation\";\n DataRouterStateHook[\"UseRouteLoaderData\"] = \"useRouteLoaderData\";\n DataRouterStateHook[\"UseMatches\"] = \"useMatches\";\n DataRouterStateHook[\"UseRevalidator\"] = \"useRevalidator\";\n DataRouterStateHook[\"UseNavigateStable\"] = \"useNavigate\";\n DataRouterStateHook[\"UseRouteId\"] = \"useRouteId\";\n return DataRouterStateHook;\n}(DataRouterStateHook || {});\nfunction getDataRouterConsoleError(hookName) {\n return hookName + \" must be used within a data router. See https://reactrouter.com/routers/picking-a-router.\";\n}\nfunction useDataRouterContext(hookName) {\n let ctx = React.useContext(DataRouterContext);\n !ctx ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, getDataRouterConsoleError(hookName)) : UNSAFE_invariant(false) : void 0;\n return ctx;\n}\nfunction useDataRouterState(hookName) {\n let state = React.useContext(DataRouterStateContext);\n !state ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, getDataRouterConsoleError(hookName)) : UNSAFE_invariant(false) : void 0;\n return state;\n}\nfunction useRouteContext(hookName) {\n let route = React.useContext(RouteContext);\n !route ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, getDataRouterConsoleError(hookName)) : UNSAFE_invariant(false) : void 0;\n return route;\n}\n\n// Internal version with hookName-aware debugging\nfunction useCurrentRouteId(hookName) {\n let route = useRouteContext(hookName);\n let thisRoute = route.matches[route.matches.length - 1];\n !thisRoute.route.id ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, hookName + \" can only be used on routes that contain a unique \\\"id\\\"\") : UNSAFE_invariant(false) : void 0;\n return thisRoute.route.id;\n}\n\n/**\n * Returns the ID for the nearest contextual route\n */\nfunction useRouteId() {\n return useCurrentRouteId(DataRouterStateHook.UseRouteId);\n}\n\n/**\n * Returns the current navigation, defaulting to an \"idle\" navigation when\n * no navigation is in progress\n */\nfunction useNavigation() {\n let state = useDataRouterState(DataRouterStateHook.UseNavigation);\n return state.navigation;\n}\n\n/**\n * Returns a revalidate function for manually triggering revalidation, as well\n * as the current state of any manual revalidations\n */\nfunction useRevalidator() {\n let dataRouterContext = useDataRouterContext(DataRouterHook.UseRevalidator);\n let state = useDataRouterState(DataRouterStateHook.UseRevalidator);\n return React.useMemo(() => ({\n revalidate: dataRouterContext.router.revalidate,\n state: state.revalidation\n }), [dataRouterContext.router.revalidate, state.revalidation]);\n}\n\n/**\n * Returns the active route matches, useful for accessing loaderData for\n * parent/child routes or the route \"handle\" property\n */\nfunction useMatches() {\n let {\n matches,\n loaderData\n } = useDataRouterState(DataRouterStateHook.UseMatches);\n return React.useMemo(() => matches.map(m => UNSAFE_convertRouteMatchToUiMatch(m, loaderData)), [matches, loaderData]);\n}\n\n/**\n * Returns the loader data for the nearest ancestor Route loader\n */\nfunction useLoaderData() {\n let state = useDataRouterState(DataRouterStateHook.UseLoaderData);\n let routeId = useCurrentRouteId(DataRouterStateHook.UseLoaderData);\n if (state.errors && state.errors[routeId] != null) {\n console.error(\"You cannot `useLoaderData` in an errorElement (routeId: \" + routeId + \")\");\n return undefined;\n }\n return state.loaderData[routeId];\n}\n\n/**\n * Returns the loaderData for the given routeId\n */\nfunction useRouteLoaderData(routeId) {\n let state = useDataRouterState(DataRouterStateHook.UseRouteLoaderData);\n return state.loaderData[routeId];\n}\n\n/**\n * Returns the action data for the nearest ancestor Route action\n */\nfunction useActionData() {\n let state = useDataRouterState(DataRouterStateHook.UseActionData);\n let routeId = useCurrentRouteId(DataRouterStateHook.UseLoaderData);\n return state.actionData ? state.actionData[routeId] : undefined;\n}\n\n/**\n * Returns the nearest ancestor Route error, which could be a loader/action\n * error or a render error. This is intended to be called from your\n * ErrorBoundary/errorElement to display a proper error message.\n */\nfunction useRouteError() {\n var _state$errors;\n let error = React.useContext(RouteErrorContext);\n let state = useDataRouterState(DataRouterStateHook.UseRouteError);\n let routeId = useCurrentRouteId(DataRouterStateHook.UseRouteError);\n\n // If this was a render error, we put it in a RouteError context inside\n // of RenderErrorBoundary\n if (error !== undefined) {\n return error;\n }\n\n // Otherwise look for errors from our data router state\n return (_state$errors = state.errors) == null ? void 0 : _state$errors[routeId];\n}\n\n/**\n * Returns the happy-path data from the nearest ancestor `<Await />` value\n */\nfunction useAsyncValue() {\n let value = React.useContext(AwaitContext);\n return value == null ? void 0 : value._data;\n}\n\n/**\n * Returns the error from the nearest ancestor `<Await />` value\n */\nfunction useAsyncError() {\n let value = React.useContext(AwaitContext);\n return value == null ? void 0 : value._error;\n}\nlet blockerId = 0;\n\n/**\n * Allow the application to block navigations within the SPA and present the\n * user a confirmation dialog to confirm the navigation. Mostly used to avoid\n * using half-filled form data. This does not handle hard-reloads or\n * cross-origin navigations.\n */\nfunction useBlocker(shouldBlock) {\n let {\n router,\n basename\n } = useDataRouterContext(DataRouterHook.UseBlocker);\n let state = useDataRouterState(DataRouterStateHook.UseBlocker);\n let [blockerKey, setBlockerKey] = React.useState(\"\");\n let blockerFunction = React.useCallback(arg => {\n if (typeof shouldBlock !== \"function\") {\n return !!shouldBlock;\n }\n if (basename === \"/\") {\n return shouldBlock(arg);\n }\n\n // If they provided us a function and we've got an active basename, strip\n // it from the locations we expose to the user to match the behavior of\n // useLocation\n let {\n currentLocation,\n nextLocation,\n historyAction\n } = arg;\n return shouldBlock({\n currentLocation: _extends({}, currentLocation, {\n pathname: stripBasename(currentLocation.pathname, basename) || currentLocation.pathname\n }),\n nextLocation: _extends({}, nextLocation, {\n pathname: stripBasename(nextLocation.pathname, basename) || nextLocation.pathname\n }),\n historyAction\n });\n }, [basename, shouldBlock]);\n\n // This effect is in charge of blocker key assignment and deletion (which is\n // tightly coupled to the key)\n React.useEffect(() => {\n let key = String(++blockerId);\n setBlockerKey(key);\n return () => router.deleteBlocker(key);\n }, [router]);\n\n // This effect handles assigning the blockerFunction. This is to handle\n // unstable blocker function identities, and happens only after the prior\n // effect so we don't get an orphaned blockerFunction in the router with a\n // key of \"\". Until then we just have the IDLE_BLOCKER.\n React.useEffect(() => {\n if (blockerKey !== \"\") {\n router.getBlocker(blockerKey, blockerFunction);\n }\n }, [router, blockerKey, blockerFunction]);\n\n // Prefer the blocker from `state` not `router.state` since DataRouterContext\n // is memoized so this ensures we update on blocker state updates\n return blockerKey && state.blockers.has(blockerKey) ? state.blockers.get(blockerKey) : IDLE_BLOCKER;\n}\n\n/**\n * Stable version of useNavigate that is used when we are in the context of\n * a RouterProvider.\n */\nfunction useNavigateStable() {\n let {\n router\n } = useDataRouterContext(DataRouterHook.UseNavigateStable);\n let id = useCurrentRouteId(DataRouterStateHook.UseNavigateStable);\n let activeRef = React.useRef(false);\n useIsomorphicLayoutEffect(() => {\n activeRef.current = true;\n });\n let navigate = React.useCallback(function (to, options) {\n if (options === void 0) {\n options = {};\n }\n process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(activeRef.current, navigateEffectWarning) : void 0;\n\n // Short circuit here since if this happens on first render the navigate\n // is useless because we haven't wired up our router subscriber yet\n if (!activeRef.current) return;\n if (typeof to === \"number\") {\n router.navigate(to);\n } else {\n router.navigate(to, _extends({\n fromRouteId: id\n }, options));\n }\n }, [router, id]);\n return navigate;\n}\nconst alreadyWarned = {};\nfunction warningOnce(key, cond, message) {\n if (!cond && !alreadyWarned[key]) {\n alreadyWarned[key] = true;\n process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(false, message) : void 0;\n }\n}\n\n/**\n Webpack + React 17 fails to compile on any of the following because webpack\n complains that `startTransition` doesn't exist in `React`:\n * import { startTransition } from \"react\"\n * import * as React from from \"react\";\n \"startTransition\" in React ? React.startTransition(() => setState()) : setState()\n * import * as React from from \"react\";\n \"startTransition\" in React ? React[\"startTransition\"](() => setState()) : setState()\n\n Moving it to a constant such as the following solves the Webpack/React 17 issue:\n * import * as React from from \"react\";\n const START_TRANSITION = \"startTransition\";\n START_TRANSITION in React ? React[START_TRANSITION](() => setState()) : setState()\n\n However, that introduces webpack/terser minification issues in production builds\n in React 18 where minification/obfuscation ends up removing the call of\n React.startTransition entirely from the first half of the ternary. Grabbing\n this exported reference once up front resolves that issue.\n\n See https://github.com/remix-run/react-router/issues/10579\n*/\nconst START_TRANSITION = \"startTransition\";\nconst startTransitionImpl = React[START_TRANSITION];\n\n/**\n * Given a Remix Router instance, render the appropriate UI\n */\nfunction RouterProvider(_ref) {\n let {\n fallbackElement,\n router,\n future\n } = _ref;\n let [state, setStateImpl] = React.useState(router.state);\n let {\n v7_startTransition\n } = future || {};\n let setState = React.useCallback(newState => {\n if (v7_startTransition && startTransitionImpl) {\n startTransitionImpl(() => setStateImpl(newState));\n } else {\n setStateImpl(newState);\n }\n }, [setStateImpl, v7_startTransition]);\n\n // Need to use a layout effect here so we are subscribed early enough to\n // pick up on any render-driven redirects/navigations (useEffect/<Navigate>)\n React.useLayoutEffect(() => router.subscribe(setState), [router, setState]);\n React.useEffect(() => {\n process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(fallbackElement == null || !router.future.v7_partialHydration, \"`<RouterProvider fallbackElement>` is deprecated when using \" + \"`v7_partialHydration`, use a `HydrateFallback` component instead\") : void 0;\n // Only log this once on initial mount\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n let navigator = React.useMemo(() => {\n return {\n createHref: router.createHref,\n encodeLocation: router.encodeLocation,\n go: n => router.navigate(n),\n push: (to, state, opts) => router.navigate(to, {\n state,\n preventScrollReset: opts == null ? void 0 : opts.preventScrollReset\n }),\n replace: (to, state, opts) => router.navigate(to, {\n replace: true,\n state,\n preventScrollReset: opts == null ? void 0 : opts.preventScrollReset\n })\n };\n }, [router]);\n let basename = router.basename || \"/\";\n let dataRouterContext = React.useMemo(() => ({\n router,\n navigator,\n static: false,\n basename\n }), [router, navigator, basename]);\n\n // The fragment and {null} here are important! We need them to keep React 18's\n // useId happy when we are server-rendering since we may have a <script> here\n // containing the hydrated server-side staticContext (from StaticRouterProvider).\n // useId relies on the component tree structure to generate deterministic id's\n // so we need to ensure it remains the same on the client even though\n // we don't need the <script> tag\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(DataRouterContext.Provider, {\n value: dataRouterContext\n }, /*#__PURE__*/React.createElement(DataRouterStateContext.Provider, {\n value: state\n }, /*#__PURE__*/React.createElement(Router, {\n basename: basename,\n location: state.location,\n navigationType: state.historyAction,\n navigator: navigator,\n future: {\n v7_relativeSplatPath: router.future.v7_relativeSplatPath\n }\n }, state.initialized || router.future.v7_partialHydration ? /*#__PURE__*/React.createElement(DataRoutes, {\n routes: router.routes,\n future: router.future,\n state: state\n }) : fallbackElement))), null);\n}\nfunction DataRoutes(_ref2) {\n let {\n routes,\n future,\n state\n } = _ref2;\n return useRoutesImpl(routes, undefined, state, future);\n}\n/**\n * A `<Router>` that stores all entries in memory.\n *\n * @see https://reactrouter.com/router-components/memory-router\n */\nfunction MemoryRouter(_ref3) {\n let {\n basename,\n children,\n initialEntries,\n initialIndex,\n future\n } = _ref3;\n let historyRef = React.useRef();\n if (historyRef.current == null) {\n historyRef.current = createMemoryHistory({\n initialEntries,\n initialIndex,\n v5Compat: true\n });\n }\n let history = historyRef.current;\n let [state, setStateImpl] = React.useState({\n action: history.action,\n location: history.location\n });\n let {\n v7_startTransition\n } = future || {};\n let setState = React.useCallback(newState => {\n v7_startTransition && startTransitionImpl ? startTransitionImpl(() => setStateImpl(newState)) : setStateImpl(newState);\n }, [setStateImpl, v7_startTransition]);\n React.useLayoutEffect(() => history.listen(setState), [history, setState]);\n return /*#__PURE__*/React.createElement(Router, {\n basename: basename,\n children: children,\n location: state.location,\n navigationType: state.action,\n navigator: history,\n future: future\n });\n}\n/**\n * Changes the current location.\n *\n * Note: This API is mostly useful in React.Component subclasses that are not\n * able to use hooks. In functional components, we recommend you use the\n * `useNavigate` hook instead.\n *\n * @see https://reactrouter.com/components/navigate\n */\nfunction Navigate(_ref4) {\n let {\n to,\n replace,\n state,\n relative\n } = _ref4;\n !useInRouterContext() ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, // TODO: This error is probably because they somehow have 2 versions of\n // the router loaded. We can help them understand how to avoid that.\n \"<Navigate> may be used only in the context of a <Router> component.\") : UNSAFE_invariant(false) : void 0;\n let {\n future,\n static: isStatic\n } = React.useContext(NavigationContext);\n process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(!isStatic, \"<Navigate> must not be used on the initial render in a <StaticRouter>. \" + \"This is a no-op, but you should modify your code so the <Navigate> is \" + \"only ever rendered in response to some user interaction or state change.\") : void 0;\n let {\n matches\n } = React.useContext(RouteContext);\n let {\n pathname: locationPathname\n } = useLocation();\n let navigate = useNavigate();\n\n // Resolve the path outside of the effect so that when effects run twice in\n // StrictMode they navigate to the same place\n let path = resolveTo(to, UNSAFE_getResolveToMatches(matches, future.v7_relativeSplatPath), locationPathname, relative === \"path\");\n let jsonPath = JSON.stringify(path);\n React.useEffect(() => navigate(JSON.parse(jsonPath), {\n replace,\n state,\n relative\n }), [navigate, jsonPath, relative, replace, state]);\n return null;\n}\n/**\n * Renders the child route's element, if there is one.\n *\n * @see https://reactrouter.com/components/outlet\n */\nfunction Outlet(props) {\n return useOutlet(props.context);\n}\n/**\n * Declares an element that should be rendered at a certain URL path.\n *\n * @see https://reactrouter.com/components/route\n */\nfunction Route(_props) {\n process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, \"A <Route> is only ever to be used as the child of <Routes> element, \" + \"never rendered directly. Please wrap your <Route> in a <Routes>.\") : UNSAFE_invariant(false) ;\n}\n/**\n * Provides location context for the rest of the app.\n *\n * Note: You usually won't render a `<Router>` directly. Instead, you'll render a\n * router that is more specific to your environment such as a `<BrowserRouter>`\n * in web browsers or a `<StaticRouter>` for server rendering.\n *\n * @see https://reactrouter.com/router-components/router\n */\nfunction Router(_ref5) {\n let {\n basename: basenameProp = \"/\",\n children = null,\n location: locationProp,\n navigationType = Action.Pop,\n navigator,\n static: staticProp = false,\n future\n } = _ref5;\n !!useInRouterContext() ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, \"You cannot render a <Router> inside another <Router>.\" + \" You should never have more than one in your app.\") : UNSAFE_invariant(false) : void 0;\n\n // Preserve trailing slashes on basename, so we can let the user control\n // the enforcement of trailing slashes throughout the app\n let basename = basenameProp.replace(/^\\/*/, \"/\");\n let navigationContext = React.useMemo(() => ({\n basename,\n navigator,\n static: staticProp,\n future: _extends({\n v7_relativeSplatPath: false\n }, future)\n }), [basename, future, navigator, staticProp]);\n if (typeof locationProp === \"string\") {\n locationProp = parsePath(locationProp);\n }\n let {\n pathname = \"/\",\n search = \"\",\n hash = \"\",\n state = null,\n key = \"default\"\n } = locationProp;\n let locationContext = React.useMemo(() => {\n let trailingPathname = stripBasename(pathname, basename);\n if (trailingPathname == null) {\n return null;\n }\n return {\n location: {\n pathname: trailingPathname,\n search,\n hash,\n state,\n key\n },\n navigationType\n };\n }, [basename, pathname, search, hash, state, key, navigationType]);\n process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(locationContext != null, \"<Router basename=\\\"\" + basename + \"\\\"> is not able to match the URL \" + (\"\\\"\" + pathname + search + hash + \"\\\" because it does not start with the \") + \"basename, so the <Router> won't render anything.\") : void 0;\n if (locationContext == null) {\n return null;\n }\n return /*#__PURE__*/React.createElement(NavigationContext.Provider, {\n value: navigationContext\n }, /*#__PURE__*/React.createElement(LocationContext.Provider, {\n children: children,\n value: locationContext\n }));\n}\n/**\n * A container for a nested tree of `<Route>` elements that renders the branch\n * that best matches the current location.\n *\n * @see https://reactrouter.com/components/routes\n */\nfunction Routes(_ref6) {\n let {\n children,\n location\n } = _ref6;\n return useRoutes(createRoutesFromChildren(children), location);\n}\n/**\n * Component to use for rendering lazily loaded data from returning defer()\n * in a loader function\n */\nfunction Await(_ref7) {\n let {\n children,\n errorElement,\n resolve\n } = _ref7;\n return /*#__PURE__*/React.createElement(AwaitErrorBoundary, {\n resolve: resolve,\n errorElement: errorElement\n }, /*#__PURE__*/React.createElement(ResolveAwait, null, children));\n}\nvar AwaitRenderStatus = /*#__PURE__*/function (AwaitRenderStatus) {\n AwaitRenderStatus[AwaitRenderStatus[\"pending\"] = 0] = \"pending\";\n AwaitRenderStatus[AwaitRenderStatus[\"success\"] = 1] = \"success\";\n AwaitRenderStatus[AwaitRenderStatus[\"error\"] = 2] = \"error\";\n return AwaitRenderStatus;\n}(AwaitRenderStatus || {});\nconst neverSettledPromise = new Promise(() => {});\nclass AwaitErrorBoundary extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n error: null\n };\n }\n static getDerivedStateFromError(error) {\n return {\n error\n };\n }\n componentDidCatch(error, errorInfo) {\n console.error(\"<Await> caught the following error during render\", error, errorInfo);\n }\n render() {\n let {\n children,\n errorElement,\n resolve\n } = this.props;\n let promise = null;\n let status = AwaitRenderStatus.pending;\n if (!(resolve instanceof Promise)) {\n // Didn't get a promise - provide as a resolved promise\n status = AwaitRenderStatus.success;\n promise = Promise.resolve();\n Object.defineProperty(promise, \"_tracked\", {\n get: () => true\n });\n Object.defineProperty(promise, \"_data\", {\n get: () => resolve\n });\n } else if (this.state.error) {\n // Caught a render error, provide it as a rejected promise\n status = AwaitRenderStatus.error;\n let renderError = this.state.error;\n promise = Promise.reject().catch(() => {}); // Avoid unhandled rejection warnings\n Object.defineProperty(promise, \"_tracked\", {\n get: () => true\n });\n Object.defineProperty(promise, \"_error\", {\n get: () => renderError\n });\n } else if (resolve._tracked) {\n // Already tracked promise - check contents\n promise = resolve;\n status = promise._error !== undefined ? AwaitRenderStatus.error : promise._data !== undefined ? AwaitRenderStatus.success : AwaitRenderStatus.pending;\n } else {\n // Raw (untracked) promise - track it\n status = AwaitRenderStatus.pending;\n Object.defineProperty(resolve, \"_tracked\", {\n get: () => true\n });\n promise = resolve.then(data => Object.defineProperty(resolve, \"_data\", {\n get: () => data\n }), error => Object.defineProperty(resolve, \"_error\", {\n get: () => error\n }));\n }\n if (status === AwaitRenderStatus.error && promise._error instanceof AbortedDeferredError) {\n // Freeze the UI by throwing a never resolved promise\n throw neverSettledPromise;\n }\n if (status === AwaitRenderStatus.error && !errorElement) {\n // No errorElement, throw to the nearest route-level error boundary\n throw promise._error;\n }\n if (status === AwaitRenderStatus.error) {\n // Render via our errorElement\n return /*#__PURE__*/React.createElement(AwaitContext.Provider, {\n value: promise,\n children: errorElement\n });\n }\n if (status === AwaitRenderStatus.success) {\n // Render children with resolved value\n return /*#__PURE__*/React.createElement(AwaitContext.Provider, {\n value: promise,\n children: children\n });\n }\n\n // Throw to the suspense boundary\n throw promise;\n }\n}\n\n/**\n * @private\n * Indirection to leverage useAsyncValue for a render-prop API on `<Await>`\n */\nfunction ResolveAwait(_ref8) {\n let {\n children\n } = _ref8;\n let data = useAsyncValue();\n let toRender = typeof children === \"function\" ? children(data) : children;\n return /*#__PURE__*/React.createElement(React.Fragment, null, toRender);\n}\n\n///////////////////////////////////////////////////////////////////////////////\n// UTILS\n///////////////////////////////////////////////////////////////////////////////\n\n/**\n * Creates a route config from a React \"children\" object, which is usually\n * either a `<Route>` element or an array of them. Used internally by\n * `<Routes>` to create a route config from its children.\n *\n * @see https://reactrouter.com/utils/create-routes-from-children\n */\nfunction createRoutesFromChildren(children, parentPath) {\n if (parentPath === void 0) {\n parentPath = [];\n }\n let routes = [];\n React.Children.forEach(children, (element, index) => {\n if (! /*#__PURE__*/React.isValidElement(element)) {\n // Ignore non-elements. This allows people to more easily inline\n // conditionals in their route config.\n return;\n }\n let treePath = [...parentPath, index];\n if (element.type === React.Fragment) {\n // Transparently support React.Fragment and its children.\n routes.push.apply(routes, createRoutesFromChildren(element.props.children, treePath));\n return;\n }\n !(element.type === Route) ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, \"[\" + (typeof element.type === \"string\" ? element.type : element.type.name) + \"] is not a <Route> component. All component children of <Routes> must be a <Route> or <React.Fragment>\") : UNSAFE_invariant(false) : void 0;\n !(!element.props.index || !element.props.children) ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, \"An index route cannot have child routes.\") : UNSAFE_invariant(false) : void 0;\n let route = {\n id: element.props.id || treePath.join(\"-\"),\n caseSensitive: element.props.caseSensitive,\n element: element.props.element,\n Component: element.props.Component,\n index: element.props.index,\n path: element.props.path,\n loader: element.props.loader,\n action: element.props.action,\n errorElement: element.props.errorElement,\n ErrorBoundary: element.props.ErrorBoundary,\n hasErrorBoundary: element.props.ErrorBoundary != null || element.props.errorElement != null,\n shouldRevalidate: element.props.shouldRevalidate,\n handle: element.props.handle,\n lazy: element.props.lazy\n };\n if (element.props.children) {\n route.children = createRoutesFromChildren(element.props.children, treePath);\n }\n routes.push(route);\n });\n return routes;\n}\n\n/**\n * Renders the result of `matchRoutes()` into a React element.\n */\nfunction renderMatches(matches) {\n return _renderMatches(matches);\n}\n\nfunction mapRouteProperties(route) {\n let updates = {\n // Note: this check also occurs in createRoutesFromChildren so update\n // there if you change this -- please and thank you!\n hasErrorBoundary: route.ErrorBoundary != null || route.errorElement != null\n };\n if (route.Component) {\n if (process.env.NODE_ENV !== \"production\") {\n if (route.element) {\n process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(false, \"You should not include both `Component` and `element` on your route - \" + \"`Component` will be used.\") : void 0;\n }\n }\n Object.assign(updates, {\n element: /*#__PURE__*/React.createElement(route.Component),\n Component: undefined\n });\n }\n if (route.HydrateFallback) {\n if (process.env.NODE_ENV !== \"production\") {\n if (route.hydrateFallbackElement) {\n process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(false, \"You should not include both `HydrateFallback` and `hydrateFallbackElement` on your route - \" + \"`HydrateFallback` will be used.\") : void 0;\n }\n }\n Object.assign(updates, {\n hydrateFallbackElement: /*#__PURE__*/React.createElement(route.HydrateFallback),\n HydrateFallback: undefined\n });\n }\n if (route.ErrorBoundary) {\n if (process.env.NODE_ENV !== \"production\") {\n if (route.errorElement) {\n process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(false, \"You should not include both `ErrorBoundary` and `errorElement` on your route - \" + \"`ErrorBoundary` will be used.\") : void 0;\n }\n }\n Object.assign(updates, {\n errorElement: /*#__PURE__*/React.createElement(route.ErrorBoundary),\n ErrorBoundary: undefined\n });\n }\n return updates;\n}\nfunction createMemoryRouter(routes, opts) {\n return createRouter({\n basename: opts == null ? void 0 : opts.basename,\n future: _extends({}, opts == null ? void 0 : opts.future, {\n v7_prependBasename: true\n }),\n history: createMemoryHistory({\n initialEntries: opts == null ? void 0 : opts.initialEntries,\n initialIndex: opts == null ? void 0 : opts.initialIndex\n }),\n hydrationData: opts == null ? void 0 : opts.hydrationData,\n routes,\n mapRouteProperties\n }).initialize();\n}\n\nexport { Await, MemoryRouter, Navigate, Outlet, Route, Router, RouterProvider, Routes, DataRouterContext as UNSAFE_DataRouterContext, DataRouterStateContext as UNSAFE_DataRouterStateContext, LocationContext as UNSAFE_LocationContext, NavigationContext as UNSAFE_NavigationContext, RouteContext as UNSAFE_RouteContext, mapRouteProperties as UNSAFE_mapRouteProperties, useRouteId as UNSAFE_useRouteId, useRoutesImpl as UNSAFE_useRoutesImpl, createMemoryRouter, createRoutesFromChildren, createRoutesFromChildren as createRoutesFromElements, renderMatches, useActionData, useAsyncError, useAsyncValue, useBlocker, useHref, useInRouterContext, useLoaderData, useLocation, useMatch, useMatches, useNavigate, useNavigation, useNavigationType, useOutlet, useOutletContext, useParams, useResolvedPath, useRevalidator, useRouteError, useRouteLoaderData, useRoutes };\n//# sourceMappingURL=index.js.map\n","/**\n * React Router DOM v6.22.0\n *\n * Copyright (c) Remix Software Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nimport * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport { UNSAFE_mapRouteProperties, UNSAFE_DataRouterContext, UNSAFE_DataRouterStateContext, Router, UNSAFE_useRoutesImpl, UNSAFE_NavigationContext, useHref, useResolvedPath, useLocation, useNavigate, createPath, UNSAFE_useRouteId, UNSAFE_RouteContext, useMatches, useNavigation, useBlocker } from 'react-router';\nexport { AbortedDeferredError, Await, MemoryRouter, Navigate, NavigationType, Outlet, Route, Router, Routes, UNSAFE_DataRouterContext, UNSAFE_DataRouterStateContext, UNSAFE_LocationContext, UNSAFE_NavigationContext, UNSAFE_RouteContext, UNSAFE_useRouteId, createMemoryRouter, createPath, createRoutesFromChildren, createRoutesFromElements, defer, generatePath, isRouteErrorResponse, json, matchPath, matchRoutes, parsePath, redirect, redirectDocument, renderMatches, resolvePath, useActionData, useAsyncError, useAsyncValue, useBlocker, useHref, useInRouterContext, useLoaderData, useLocation, useMatch, useMatches, useNavigate, useNavigation, useNavigationType, useOutlet, useOutletContext, useParams, useResolvedPath, useRevalidator, useRouteError, useRouteLoaderData, useRoutes } from 'react-router';\nimport { stripBasename, UNSAFE_warning, createRouter, createBrowserHistory, createHashHistory, UNSAFE_ErrorResponseImpl, UNSAFE_invariant, joinPaths, IDLE_FETCHER, matchPath } from '@remix-run/router';\n\nfunction _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}\n\nconst defaultMethod = \"get\";\nconst defaultEncType = \"application/x-www-form-urlencoded\";\nfunction isHtmlElement(object) {\n return object != null && typeof object.tagName === \"string\";\n}\nfunction isButtonElement(object) {\n return isHtmlElement(object) && object.tagName.toLowerCase() === \"button\";\n}\nfunction isFormElement(object) {\n return isHtmlElement(object) && object.tagName.toLowerCase() === \"form\";\n}\nfunction isInputElement(object) {\n return isHtmlElement(object) && object.tagName.toLowerCase() === \"input\";\n}\nfunction isModifiedEvent(event) {\n return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\nfunction shouldProcessLinkClick(event, target) {\n return event.button === 0 && (\n // Ignore everything but left clicks\n !target || target === \"_self\") &&\n // Let browser handle \"target=_blank\" etc.\n !isModifiedEvent(event) // Ignore clicks with modifier keys\n ;\n}\n/**\n * Creates a URLSearchParams object using the given initializer.\n *\n * This is identical to `new URLSearchParams(init)` except it also\n * supports arrays as values in the object form of the initializer\n * instead of just strings. This is convenient when you need multiple\n * values for a given key, but don't want to use an array initializer.\n *\n * For example, instead of:\n *\n * let searchParams = new URLSearchParams([\n * ['sort', 'name'],\n * ['sort', 'price']\n * ]);\n *\n * you can do:\n *\n * let searchParams = createSearchParams({\n * sort: ['name', 'price']\n * });\n */\nfunction createSearchParams(init) {\n if (init === void 0) {\n init = \"\";\n }\n return new URLSearchParams(typeof init === \"string\" || Array.isArray(init) || init instanceof URLSearchParams ? init : Object.keys(init).reduce((memo, key) => {\n let value = init[key];\n return memo.concat(Array.isArray(value) ? value.map(v => [key, v]) : [[key, value]]);\n }, []));\n}\nfunction getSearchParamsForLocation(locationSearch, defaultSearchParams) {\n let searchParams = createSearchParams(locationSearch);\n if (defaultSearchParams) {\n // Use `defaultSearchParams.forEach(...)` here instead of iterating of\n // `defaultSearchParams.keys()` to work-around a bug in Firefox related to\n // web extensions. Relevant Bugzilla tickets:\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1414602\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1023984\n defaultSearchParams.forEach((_, key) => {\n if (!searchParams.has(key)) {\n defaultSearchParams.getAll(key).forEach(value => {\n searchParams.append(key, value);\n });\n }\n });\n }\n return searchParams;\n}\n// One-time check for submitter support\nlet _formDataSupportsSubmitter = null;\nfunction isFormDataSubmitterSupported() {\n if (_formDataSupportsSubmitter === null) {\n try {\n new FormData(document.createElement(\"form\"),\n // @ts-expect-error if FormData supports the submitter parameter, this will throw\n 0);\n _formDataSupportsSubmitter = false;\n } catch (e) {\n _formDataSupportsSubmitter = true;\n }\n }\n return _formDataSupportsSubmitter;\n}\nconst supportedFormEncTypes = new Set([\"application/x-www-form-urlencoded\", \"multipart/form-data\", \"text/plain\"]);\nfunction getFormEncType(encType) {\n if (encType != null && !supportedFormEncTypes.has(encType)) {\n process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(false, \"\\\"\" + encType + \"\\\" is not a valid `encType` for `<Form>`/`<fetcher.Form>` \" + (\"and will default to \\\"\" + defaultEncType + \"\\\"\")) : void 0;\n return null;\n }\n return encType;\n}\nfunction getFormSubmissionInfo(target, basename) {\n let method;\n let action;\n let encType;\n let formData;\n let body;\n if (isFormElement(target)) {\n // When grabbing the action from the element, it will have had the basename\n // prefixed to ensure non-JS scenarios work, so strip it since we'll\n // re-prefix in the router\n let attr = target.getAttribute(\"action\");\n action = attr ? stripBasename(attr, basename) : null;\n method = target.getAttribute(\"method\") || defaultMethod;\n encType = getFormEncType(target.getAttribute(\"enctype\")) || defaultEncType;\n formData = new FormData(target);\n } else if (isButtonElement(target) || isInputElement(target) && (target.type === \"submit\" || target.type === \"image\")) {\n let form = target.form;\n if (form == null) {\n throw new Error(\"Cannot submit a <button> or <input type=\\\"submit\\\"> without a <form>\");\n }\n // <button>/<input type=\"submit\"> may override attributes of <form>\n // When grabbing the action from the element, it will have had the basename\n // prefixed to ensure non-JS scenarios work, so strip it since we'll\n // re-prefix in the router\n let attr = target.getAttribute(\"formaction\") || form.getAttribute(\"action\");\n action = attr ? stripBasename(attr, basename) : null;\n method = target.getAttribute(\"formmethod\") || form.getAttribute(\"method\") || defaultMethod;\n encType = getFormEncType(target.getAttribute(\"formenctype\")) || getFormEncType(form.getAttribute(\"enctype\")) || defaultEncType;\n // Build a FormData object populated from a form and submitter\n formData = new FormData(form, target);\n // If this browser doesn't support the `FormData(el, submitter)` format,\n // then tack on the submitter value at the end. This is a lightweight\n // solution that is not 100% spec compliant. For complete support in older\n // browsers, consider using the `formdata-submitter-polyfill` package\n if (!isFormDataSubmitterSupported()) {\n let {\n name,\n type,\n value\n } = target;\n if (type === \"image\") {\n let prefix = name ? name + \".\" : \"\";\n formData.append(prefix + \"x\", \"0\");\n formData.append(prefix + \"y\", \"0\");\n } else if (name) {\n formData.append(name, value);\n }\n }\n } else if (isHtmlElement(target)) {\n throw new Error(\"Cannot submit element that is not <form>, <button>, or \" + \"<input type=\\\"submit|image\\\">\");\n } else {\n method = defaultMethod;\n action = null;\n encType = defaultEncType;\n body = target;\n }\n // Send body for <Form encType=\"text/plain\" so we encode it into text\n if (formData && encType === \"text/plain\") {\n body = formData;\n formData = undefined;\n }\n return {\n action,\n method: method.toLowerCase(),\n encType,\n formData,\n body\n };\n}\n\nconst _excluded = [\"onClick\", \"relative\", \"reloadDocument\", \"replace\", \"state\", \"target\", \"to\", \"preventScrollReset\", \"unstable_viewTransition\"],\n _excluded2 = [\"aria-current\", \"caseSensitive\", \"className\", \"end\", \"style\", \"to\", \"unstable_viewTransition\", \"children\"],\n _excluded3 = [\"fetcherKey\", \"navigate\", \"reloadDocument\", \"replace\", \"state\", \"method\", \"action\", \"onSubmit\", \"relative\", \"preventScrollReset\", \"unstable_viewTransition\"];\n// HEY YOU! DON'T TOUCH THIS VARIABLE!\n//\n// It is replaced with the proper version at build time via a babel plugin in\n// the rollup config.\n//\n// Export a global property onto the window for React Router detection by the\n// Core Web Vitals Technology Report. This way they can configure the `wappalyzer`\n// to detect and properly classify live websites as being built with React Router:\n// https://github.com/HTTPArchive/wappalyzer/blob/main/src/technologies/r.json\nconst REACT_ROUTER_VERSION = \"6\";\ntry {\n window.__reactRouterVersion = REACT_ROUTER_VERSION;\n} catch (e) {\n // no-op\n}\nfunction createBrowserRouter(routes, opts) {\n return createRouter({\n basename: opts == null ? void 0 : opts.basename,\n future: _extends({}, opts == null ? void 0 : opts.future, {\n v7_prependBasename: true\n }),\n history: createBrowserHistory({\n window: opts == null ? void 0 : opts.window\n }),\n hydrationData: (opts == null ? void 0 : opts.hydrationData) || parseHydrationData(),\n routes,\n mapRouteProperties: UNSAFE_mapRouteProperties,\n window: opts == null ? void 0 : opts.window\n }).initialize();\n}\nfunction createHashRouter(routes, opts) {\n return createRouter({\n basename: opts == null ? void 0 : opts.basename,\n future: _extends({}, opts == null ? void 0 : opts.future, {\n v7_prependBasename: true\n }),\n history: createHashHistory({\n window: opts == null ? void 0 : opts.window\n }),\n hydrationData: (opts == null ? void 0 : opts.hydrationData) || parseHydrationData(),\n routes,\n mapRouteProperties: UNSAFE_mapRouteProperties,\n window: opts == null ? void 0 : opts.window\n }).initialize();\n}\nfunction parseHydrationData() {\n var _window;\n let state = (_window = window) == null ? void 0 : _window.__staticRouterHydrationData;\n if (state && state.errors) {\n state = _extends({}, state, {\n errors: deserializeErrors(state.errors)\n });\n }\n return state;\n}\nfunction deserializeErrors(errors) {\n if (!errors) return null;\n let entries = Object.entries(errors);\n let serialized = {};\n for (let [key, val] of entries) {\n // Hey you! If you change this, please change the corresponding logic in\n // serializeErrors in react-router-dom/server.tsx :)\n if (val && val.__type === \"RouteErrorResponse\") {\n serialized[key] = new UNSAFE_ErrorResponseImpl(val.status, val.statusText, val.data, val.internal === true);\n } else if (val && val.__type === \"Error\") {\n // Attempt to reconstruct the right type of Error (i.e., ReferenceError)\n if (val.__subType) {\n let ErrorConstructor = window[val.__subType];\n if (typeof ErrorConstructor === \"function\") {\n try {\n // @ts-expect-error\n let error = new ErrorConstructor(val.message);\n // Wipe away the client-side stack trace. Nothing to fill it in with\n // because we don't serialize SSR stack traces for security reasons\n error.stack = \"\";\n serialized[key] = error;\n } catch (e) {\n // no-op - fall through and create a normal Error\n }\n }\n }\n if (serialized[key] == null) {\n let error = new Error(val.message);\n // Wipe away the client-side stack trace. Nothing to fill it in with\n // because we don't serialize SSR stack traces for security reasons\n error.stack = \"\";\n serialized[key] = error;\n }\n } else {\n serialized[key] = val;\n }\n }\n return serialized;\n}\nconst ViewTransitionContext = /*#__PURE__*/React.createContext({\n isTransitioning: false\n});\nif (process.env.NODE_ENV !== \"production\") {\n ViewTransitionContext.displayName = \"ViewTransition\";\n}\nconst FetchersContext = /*#__PURE__*/React.createContext(new Map());\nif (process.env.NODE_ENV !== \"production\") {\n FetchersContext.displayName = \"Fetchers\";\n}\n//#endregion\n////////////////////////////////////////////////////////////////////////////////\n//#region Components\n////////////////////////////////////////////////////////////////////////////////\n/**\n Webpack + React 17 fails to compile on any of the following because webpack\n complains that `startTransition` doesn't exist in `React`:\n * import { startTransition } from \"react\"\n * import * as React from from \"react\";\n \"startTransition\" in React ? React.startTransition(() => setState()) : setState()\n * import * as React from from \"react\";\n \"startTransition\" in React ? React[\"startTransition\"](() => setState()) : setState()\n\n Moving it to a constant such as the following solves the Webpack/React 17 issue:\n * import * as React from from \"react\";\n const START_TRANSITION = \"startTransition\";\n START_TRANSITION in React ? React[START_TRANSITION](() => setState()) : setState()\n\n However, that introduces webpack/terser minification issues in production builds\n in React 18 where minification/obfuscation ends up removing the call of\n React.startTransition entirely from the first half of the ternary. Grabbing\n this exported reference once up front resolves that issue.\n\n See https://github.com/remix-run/react-router/issues/10579\n*/\nconst START_TRANSITION = \"startTransition\";\nconst startTransitionImpl = React[START_TRANSITION];\nconst FLUSH_SYNC = \"flushSync\";\nconst flushSyncImpl = ReactDOM[FLUSH_SYNC];\nconst USE_ID = \"useId\";\nconst useIdImpl = React[USE_ID];\nfunction startTransitionSafe(cb) {\n if (startTransitionImpl) {\n startTransitionImpl(cb);\n } else {\n cb();\n }\n}\nfunction flushSyncSafe(cb) {\n if (flushSyncImpl) {\n flushSyncImpl(cb);\n } else {\n cb();\n }\n}\nclass Deferred {\n constructor() {\n this.status = \"pending\";\n this.promise = new Promise((resolve, reject) => {\n this.resolve = value => {\n if (this.status === \"pending\") {\n this.status = \"resolved\";\n resolve(value);\n }\n };\n this.reject = reason => {\n if (this.status === \"pending\") {\n this.status = \"rejected\";\n reject(reason);\n }\n };\n });\n }\n}\n/**\n * Given a Remix Router instance, render the appropriate UI\n */\nfunction RouterProvider(_ref) {\n let {\n fallbackElement,\n router,\n future\n } = _ref;\n let [state, setStateImpl] = React.useState(router.state);\n let [pendingState, setPendingState] = React.useState();\n let [vtContext, setVtContext] = React.useState({\n isTransitioning: false\n });\n let [renderDfd, setRenderDfd] = React.useState();\n let [transition, setTransition] = React.useState();\n let [interruption, setInterruption] = React.useState();\n let fetcherData = React.useRef(new Map());\n let {\n v7_startTransition\n } = future || {};\n let optInStartTransition = React.useCallback(cb => {\n if (v7_startTransition) {\n startTransitionSafe(cb);\n } else {\n cb();\n }\n }, [v7_startTransition]);\n let setState = React.useCallback((newState, _ref2) => {\n let {\n deletedFetchers,\n unstable_flushSync: flushSync,\n unstable_viewTransitionOpts: viewTransitionOpts\n } = _ref2;\n deletedFetchers.forEach(key => fetcherData.current.delete(key));\n newState.fetchers.forEach((fetcher, key) => {\n if (fetcher.data !== undefined) {\n fetcherData.current.set(key, fetcher.data);\n }\n });\n let isViewTransitionUnavailable = router.window == null || typeof router.window.document.startViewTransition !== \"function\";\n // If this isn't a view transition or it's not available in this browser,\n // just update and be done with it\n if (!viewTransitionOpts || isViewTransitionUnavailable) {\n if (flushSync) {\n flushSyncSafe(() => setStateImpl(newState));\n } else {\n optInStartTransition(() => setStateImpl(newState));\n }\n return;\n }\n // flushSync + startViewTransition\n if (flushSync) {\n // Flush through the context to mark DOM elements as transition=ing\n flushSyncSafe(() => {\n // Cancel any pending transitions\n if (transition) {\n renderDfd && renderDfd.resolve();\n transition.skipTransition();\n }\n setVtContext({\n isTransitioning: true,\n flushSync: true,\n currentLocation: viewTransitionOpts.currentLocation,\n nextLocation: viewTransitionOpts.nextLocation\n });\n });\n // Update the DOM\n let t = router.window.document.startViewTransition(() => {\n flushSyncSafe(() => setStateImpl(newState));\n });\n // Clean up after the animation completes\n t.finished.finally(() => {\n flushSyncSafe(() => {\n setRenderDfd(undefined);\n setTransition(undefined);\n setPendingState(undefined);\n setVtContext({\n isTransitioning: false\n });\n });\n });\n flushSyncSafe(() => setTransition(t));\n return;\n }\n // startTransition + startViewTransition\n if (transition) {\n // Interrupting an in-progress transition, cancel and let everything flush\n // out, and then kick off a new transition from the interruption state\n renderDfd && renderDfd.resolve();\n transition.skipTransition();\n setInterruption({\n state: newState,\n currentLocation: viewTransitionOpts.currentLocation,\n nextLocation: viewTransitionOpts.nextLocation\n });\n } else {\n // Completed navigation update with opted-in view transitions, let 'er rip\n setPendingState(newState);\n setVtContext({\n isTransitioning: true,\n flushSync: false,\n currentLocation: viewTransitionOpts.currentLocation,\n nextLocation: viewTransitionOpts.nextLocation\n });\n }\n }, [router.window, transition, renderDfd, fetcherData, optInStartTransition]);\n // Need to use a layout effect here so we are subscribed early enough to\n // pick up on any render-driven redirects/navigations (useEffect/<Navigate>)\n React.useLayoutEffect(() => router.subscribe(setState), [router, setState]);\n // When we start a view transition, create a Deferred we can use for the\n // eventual \"completed\" render\n React.useEffect(() => {\n if (vtContext.isTransitioning && !vtContext.flushSync) {\n setRenderDfd(new Deferred());\n }\n }, [vtContext]);\n // Once the deferred is created, kick off startViewTransition() to update the\n // DOM and then wait on the Deferred to resolve (indicating the DOM update has\n // happened)\n React.useEffect(() => {\n if (renderDfd && pendingState && router.window) {\n let newState = pendingState;\n let renderPromise = renderDfd.promise;\n let transition = router.window.document.startViewTransition(async () => {\n optInStartTransition(() => setStateImpl(newState));\n await renderPromise;\n });\n transition.finished.finally(() => {\n setRenderDfd(undefined);\n setTransition(undefined);\n setPendingState(undefined);\n setVtContext({\n isTransitioning: false\n });\n });\n setTransition(transition);\n }\n }, [optInStartTransition, pendingState, renderDfd, router.window]);\n // When the new location finally renders and is committed to the DOM, this\n // effect will run to resolve the transition\n React.useEffect(() => {\n if (renderDfd && pendingState && state.location.key === pendingState.location.key) {\n renderDfd.resolve();\n }\n }, [renderDfd, transition, state.location, pendingState]);\n // If we get interrupted with a new navigation during a transition, we skip\n // the active transition, let it cleanup, then kick it off again here\n React.useEffect(() => {\n if (!vtContext.isTransitioning && interruption) {\n setPendingState(interruption.state);\n setVtContext({\n isTransitioning: true,\n flushSync: false,\n currentLocation: interruption.currentLocation,\n nextLocation: interruption.nextLocation\n });\n setInterruption(undefined);\n }\n }, [vtContext.isTransitioning, interruption]);\n React.useEffect(() => {\n process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(fallbackElement == null || !router.future.v7_partialHydration, \"`<RouterProvider fallbackElement>` is deprecated when using \" + \"`v7_partialHydration`, use a `HydrateFallback` component instead\") : void 0;\n // Only log this once on initial mount\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n let navigator = React.useMemo(() => {\n return {\n createHref: router.createHref,\n encodeLocation: router.encodeLocation,\n go: n => router.navigate(n),\n push: (to, state, opts) => router.navigate(to, {\n state,\n preventScrollReset: opts == null ? void 0 : opts.preventScrollReset\n }),\n replace: (to, state, opts) => router.navigate(to, {\n replace: true,\n state,\n preventScrollReset: opts == null ? void 0 : opts.preventScrollReset\n })\n };\n }, [router]);\n let basename = router.basename || \"/\";\n let dataRouterContext = React.useMemo(() => ({\n router,\n navigator,\n static: false,\n basename\n }), [router, navigator, basename]);\n // The fragment and {null} here are important! We need them to keep React 18's\n // useId happy when we are server-rendering since we may have a <script> here\n // containing the hydrated server-side staticContext (from StaticRouterProvider).\n // useId relies on the component tree structure to generate deterministic id's\n // so we need to ensure it remains the same on the client even though\n // we don't need the <script> tag\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(UNSAFE_DataRouterContext.Provider, {\n value: dataRouterContext\n }, /*#__PURE__*/React.createElement(UNSAFE_DataRouterStateContext.Provider, {\n value: state\n }, /*#__PURE__*/React.createElement(FetchersContext.Provider, {\n value: fetcherData.current\n }, /*#__PURE__*/React.createElement(ViewTransitionContext.Provider, {\n value: vtContext\n }, /*#__PURE__*/React.createElement(Router, {\n basename: basename,\n location: state.location,\n navigationType: state.historyAction,\n navigator: navigator,\n future: {\n v7_relativeSplatPath: router.future.v7_relativeSplatPath\n }\n }, state.initialized || router.future.v7_partialHydration ? /*#__PURE__*/React.createElement(DataRoutes, {\n routes: router.routes,\n future: router.future,\n state: state\n }) : fallbackElement))))), null);\n}\nfunction DataRoutes(_ref3) {\n let {\n routes,\n future,\n state\n } = _ref3;\n return UNSAFE_useRoutesImpl(routes, undefined, state, future);\n}\n/**\n * A `<Router>` for use in web browsers. Provides the cleanest URLs.\n */\nfunction BrowserRouter(_ref4) {\n let {\n basename,\n children,\n future,\n window\n } = _ref4;\n let historyRef = React.useRef();\n if (historyRef.current == null) {\n historyRef.current = createBrowserHistory({\n window,\n v5Compat: true\n });\n }\n let history = historyRef.current;\n let [state, setStateImpl] = React.useState({\n action: history.action,\n location: history.location\n });\n let {\n v7_startTransition\n } = future || {};\n let setState = React.useCallback(newState => {\n v7_startTransition && startTransitionImpl ? startTransitionImpl(() => setStateImpl(newState)) : setStateImpl(newState);\n }, [setStateImpl, v7_startTransition]);\n React.useLayoutEffect(() => history.listen(setState), [history, setState]);\n return /*#__PURE__*/React.createElement(Router, {\n basename: basename,\n children: children,\n location: state.location,\n navigationType: state.action,\n navigator: history,\n future: future\n });\n}\n/**\n * A `<Router>` for use in web browsers. Stores the location in the hash\n * portion of the URL so it is not sent to the server.\n */\nfunction HashRouter(_ref5) {\n let {\n basename,\n children,\n future,\n window\n } = _ref5;\n let historyRef = React.useRef();\n if (historyRef.current == null) {\n historyRef.current = createHashHistory({\n window,\n v5Compat: true\n });\n }\n let history = historyRef.current;\n let [state, setStateImpl] = React.useState({\n action: history.action,\n location: history.location\n });\n let {\n v7_startTransition\n } = future || {};\n let setState = React.useCallback(newState => {\n v7_startTransition && startTransitionImpl ? startTransitionImpl(() => setStateImpl(newState)) : setStateImpl(newState);\n }, [setStateImpl, v7_startTransition]);\n React.useLayoutEffect(() => history.listen(setState), [history, setState]);\n return /*#__PURE__*/React.createElement(Router, {\n basename: basename,\n children: children,\n location: state.location,\n navigationType: state.action,\n navigator: history,\n future: future\n });\n}\n/**\n * A `<Router>` that accepts a pre-instantiated history object. It's important\n * to note that using your own history object is highly discouraged and may add\n * two versions of the history library to your bundles unless you use the same\n * version of the history library that React Router uses internally.\n */\nfunction HistoryRouter(_ref6) {\n let {\n basename,\n children,\n future,\n history\n } = _ref6;\n let [state, setStateImpl] = React.useState({\n action: history.action,\n location: history.location\n });\n let {\n v7_startTransition\n } = future || {};\n let setState = React.useCallback(newState => {\n v7_startTransition && startTransitionImpl ? startTransitionImpl(() => setStateImpl(newState)) : setStateImpl(newState);\n }, [setStateImpl, v7_startTransition]);\n React.useLayoutEffect(() => history.listen(setState), [history, setState]);\n return /*#__PURE__*/React.createElement(Router, {\n basename: basename,\n children: children,\n location: state.location,\n navigationType: state.action,\n navigator: history,\n future: future\n });\n}\nif (process.env.NODE_ENV !== \"production\") {\n HistoryRouter.displayName = \"unstable_HistoryRouter\";\n}\nconst isBrowser = typeof window !== \"undefined\" && typeof window.document !== \"undefined\" && typeof window.document.createElement !== \"undefined\";\nconst ABSOLUTE_URL_REGEX = /^(?:[a-z][a-z0-9+.-]*:|\\/\\/)/i;\n/**\n * The public API for rendering a history-aware `<a>`.\n */\nconst Link = /*#__PURE__*/React.forwardRef(function LinkWithRef(_ref7, ref) {\n let {\n onClick,\n relative,\n reloadDocument,\n replace,\n state,\n target,\n to,\n preventScrollReset,\n unstable_viewTransition\n } = _ref7,\n rest = _objectWithoutPropertiesLoose(_ref7, _excluded);\n let {\n basename\n } = React.useContext(UNSAFE_NavigationContext);\n // Rendered into <a href> for absolute URLs\n let absoluteHref;\n let isExternal = false;\n if (typeof to === \"string\" && ABSOLUTE_URL_REGEX.test(to)) {\n // Render the absolute href server- and client-side\n absoluteHref = to;\n // Only check for external origins client-side\n if (isBrowser) {\n try {\n let currentUrl = new URL(window.location.href);\n let targetUrl = to.startsWith(\"//\") ? new URL(currentUrl.protocol + to) : new URL(to);\n let path = stripBasename(targetUrl.pathname, basename);\n if (targetUrl.origin === currentUrl.origin && path != null) {\n // Strip the protocol/origin/basename for same-origin absolute URLs\n to = path + targetUrl.search + targetUrl.hash;\n } else {\n isExternal = true;\n }\n } catch (e) {\n // We can't do external URL detection without a valid URL\n process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(false, \"<Link to=\\\"\" + to + \"\\\"> contains an invalid URL which will probably break \" + \"when clicked - please update to a valid URL path.\") : void 0;\n }\n }\n }\n // Rendered into <a href> for relative URLs\n let href = useHref(to, {\n relative\n });\n let internalOnClick = useLinkClickHandler(to, {\n replace,\n state,\n target,\n preventScrollReset,\n relative,\n unstable_viewTransition\n });\n function handleClick(event) {\n if (onClick) onClick(event);\n if (!event.defaultPrevented) {\n internalOnClick(event);\n }\n }\n return (\n /*#__PURE__*/\n // eslint-disable-next-line jsx-a11y/anchor-has-content\n React.createElement(\"a\", _extends({}, rest, {\n href: absoluteHref || href,\n onClick: isExternal || reloadDocument ? onClick : handleClick,\n ref: ref,\n target: target\n }))\n );\n});\nif (process.env.NODE_ENV !== \"production\") {\n Link.displayName = \"Link\";\n}\n/**\n * A `<Link>` wrapper that knows if it's \"active\" or not.\n */\nconst NavLink = /*#__PURE__*/React.forwardRef(function NavLinkWithRef(_ref8, ref) {\n let {\n \"aria-current\": ariaCurrentProp = \"page\",\n caseSensitive = false,\n className: classNameProp = \"\",\n end = false,\n style: styleProp,\n to,\n unstable_viewTransition,\n children\n } = _ref8,\n rest = _objectWithoutPropertiesLoose(_ref8, _excluded2);\n let path = useResolvedPath(to, {\n relative: rest.relative\n });\n let location = useLocation();\n let routerState = React.useContext(UNSAFE_DataRouterStateContext);\n let {\n navigator,\n basename\n } = React.useContext(UNSAFE_NavigationContext);\n let isTransitioning = routerState != null &&\n // Conditional usage is OK here because the usage of a data router is static\n // eslint-disable-next-line react-hooks/rules-of-hooks\n useViewTransitionState(path) && unstable_viewTransition === true;\n let toPathname = navigator.encodeLocation ? navigator.encodeLocation(path).pathname : path.pathname;\n let locationPathname = location.pathname;\n let nextLocationPathname = routerState && routerState.navigation && routerState.navigation.location ? routerState.navigation.location.pathname : null;\n if (!caseSensitive) {\n locationPathname = locationPathname.toLowerCase();\n nextLocationPathname = nextLocationPathname ? nextLocationPathname.toLowerCase() : null;\n toPathname = toPathname.toLowerCase();\n }\n if (nextLocationPathname && basename) {\n nextLocationPathname = stripBasename(nextLocationPathname, basename) || nextLocationPathname;\n }\n // If the `to` has a trailing slash, look at that exact spot. Otherwise,\n // we're looking for a slash _after_ what's in `to`. For example:\n //\n // <NavLink to=\"/users\"> and <NavLink to=\"/users/\">\n // both want to look for a / at index 6 to match URL `/users/matt`\n const endSlashPosition = toPathname !== \"/\" && toPathname.endsWith(\"/\") ? toPathname.length - 1 : toPathname.length;\n let isActive = locationPathname === toPathname || !end && locationPathname.startsWith(toPathname) && locationPathname.charAt(endSlashPosition) === \"/\";\n let isPending = nextLocationPathname != null && (nextLocationPathname === toPathname || !end && nextLocationPathname.startsWith(toPathname) && nextLocationPathname.charAt(toPathname.length) === \"/\");\n let renderProps = {\n isActive,\n isPending,\n isTransitioning\n };\n let ariaCurrent = isActive ? ariaCurrentProp : undefined;\n let className;\n if (typeof classNameProp === \"function\") {\n className = classNameProp(renderProps);\n } else {\n // If the className prop is not a function, we use a default `active`\n // class for <NavLink />s that are active. In v5 `active` was the default\n // value for `activeClassName`, but we are removing that API and can still\n // use the old default behavior for a cleaner upgrade path and keep the\n // simple styling rules working as they currently do.\n className = [classNameProp, isActive ? \"active\" : null, isPending ? \"pending\" : null, isTransitioning ? \"transitioning\" : null].filter(Boolean).join(\" \");\n }\n let style = typeof styleProp === \"function\" ? styleProp(renderProps) : styleProp;\n return /*#__PURE__*/React.createElement(Link, _extends({}, rest, {\n \"aria-current\": ariaCurrent,\n className: className,\n ref: ref,\n style: style,\n to: to,\n unstable_viewTransition: unstable_viewTransition\n }), typeof children === \"function\" ? children(renderProps) : children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n NavLink.displayName = \"NavLink\";\n}\n/**\n * A `@remix-run/router`-aware `<form>`. It behaves like a normal form except\n * that the interaction with the server is with `fetch` instead of new document\n * requests, allowing components to add nicer UX to the page as the form is\n * submitted and returns with data.\n */\nconst Form = /*#__PURE__*/React.forwardRef((_ref9, forwardedRef) => {\n let {\n fetcherKey,\n navigate,\n reloadDocument,\n replace,\n state,\n method = defaultMethod,\n action,\n onSubmit,\n relative,\n preventScrollReset,\n unstable_viewTransition\n } = _ref9,\n props = _objectWithoutPropertiesLoose(_ref9, _excluded3);\n let submit = useSubmit();\n let formAction = useFormAction(action, {\n relative\n });\n let formMethod = method.toLowerCase() === \"get\" ? \"get\" : \"post\";\n let submitHandler = event => {\n onSubmit && onSubmit(event);\n if (event.defaultPrevented) return;\n event.preventDefault();\n let submitter = event.nativeEvent.submitter;\n let submitMethod = (submitter == null ? void 0 : submitter.getAttribute(\"formmethod\")) || method;\n submit(submitter || event.currentTarget, {\n fetcherKey,\n method: submitMethod,\n navigate,\n replace,\n state,\n relative,\n preventScrollReset,\n unstable_viewTransition\n });\n };\n return /*#__PURE__*/React.createElement(\"form\", _extends({\n ref: forwardedRef,\n method: formMethod,\n action: formAction,\n onSubmit: reloadDocument ? onSubmit : submitHandler\n }, props));\n});\nif (process.env.NODE_ENV !== \"production\") {\n Form.displayName = \"Form\";\n}\n/**\n * This component will emulate the browser's scroll restoration on location\n * changes.\n */\nfunction ScrollRestoration(_ref10) {\n let {\n getKey,\n storageKey\n } = _ref10;\n useScrollRestoration({\n getKey,\n storageKey\n });\n return null;\n}\nif (process.env.NODE_ENV !== \"production\") {\n ScrollRestoration.displayName = \"ScrollRestoration\";\n}\n//#endregion\n////////////////////////////////////////////////////////////////////////////////\n//#region Hooks\n////////////////////////////////////////////////////////////////////////////////\nvar DataRouterHook;\n(function (DataRouterHook) {\n DataRouterHook[\"UseScrollRestoration\"] = \"useScrollRestoration\";\n DataRouterHook[\"UseSubmit\"] = \"useSubmit\";\n DataRouterHook[\"UseSubmitFetcher\"] = \"useSubmitFetcher\";\n DataRouterHook[\"UseFetcher\"] = \"useFetcher\";\n DataRouterHook[\"useViewTransitionState\"] = \"useViewTransitionState\";\n})(DataRouterHook || (DataRouterHook = {}));\nvar DataRouterStateHook;\n(function (DataRouterStateHook) {\n DataRouterStateHook[\"UseFetcher\"] = \"useFetcher\";\n DataRouterStateHook[\"UseFetchers\"] = \"useFetchers\";\n DataRouterStateHook[\"UseScrollRestoration\"] = \"useScrollRestoration\";\n})(DataRouterStateHook || (DataRouterStateHook = {}));\n// Internal hooks\nfunction getDataRouterConsoleError(hookName) {\n return hookName + \" must be used within a data router. See https://reactrouter.com/routers/picking-a-router.\";\n}\nfunction useDataRouterContext(hookName) {\n let ctx = React.useContext(UNSAFE_DataRouterContext);\n !ctx ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, getDataRouterConsoleError(hookName)) : UNSAFE_invariant(false) : void 0;\n return ctx;\n}\nfunction useDataRouterState(hookName) {\n let state = React.useContext(UNSAFE_DataRouterStateContext);\n !state ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, getDataRouterConsoleError(hookName)) : UNSAFE_invariant(false) : void 0;\n return state;\n}\n// External hooks\n/**\n * Handles the click behavior for router `<Link>` components. This is useful if\n * you need to create custom `<Link>` components with the same click behavior we\n * use in our exported `<Link>`.\n */\nfunction useLinkClickHandler(to, _temp) {\n let {\n target,\n replace: replaceProp,\n state,\n preventScrollReset,\n relative,\n unstable_viewTransition\n } = _temp === void 0 ? {} : _temp;\n let navigate = useNavigate();\n let location = useLocation();\n let path = useResolvedPath(to, {\n relative\n });\n return React.useCallback(event => {\n if (shouldProcessLinkClick(event, target)) {\n event.preventDefault();\n // If the URL hasn't changed, a regular <a> will do a replace instead of\n // a push, so do the same here unless the replace prop is explicitly set\n let replace = replaceProp !== undefined ? replaceProp : createPath(location) === createPath(path);\n navigate(to, {\n replace,\n state,\n preventScrollReset,\n relative,\n unstable_viewTransition\n });\n }\n }, [location, navigate, path, replaceProp, state, target, to, preventScrollReset, relative, unstable_viewTransition]);\n}\n/**\n * A convenient wrapper for reading and writing search parameters via the\n * URLSearchParams interface.\n */\nfunction useSearchParams(defaultInit) {\n process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(typeof URLSearchParams !== \"undefined\", \"You cannot use the `useSearchParams` hook in a browser that does not \" + \"support the URLSearchParams API. If you need to support Internet \" + \"Explorer 11, we recommend you load a polyfill such as \" + \"https://github.com/ungap/url-search-params\\n\\n\" + \"If you're unsure how to load polyfills, we recommend you check out \" + \"https://polyfill.io/v3/ which provides some recommendations about how \" + \"to load polyfills only for users that need them, instead of for every \" + \"user.\") : void 0;\n let defaultSearchParamsRef = React.useRef(createSearchParams(defaultInit));\n let hasSetSearchParamsRef = React.useRef(false);\n let location = useLocation();\n let searchParams = React.useMemo(() =>\n // Only merge in the defaults if we haven't yet called setSearchParams.\n // Once we call that we want those to take precedence, otherwise you can't\n // remove a param with setSearchParams({}) if it has an initial value\n getSearchParamsForLocation(location.search, hasSetSearchParamsRef.current ? null : defaultSearchParamsRef.current), [location.search]);\n let navigate = useNavigate();\n let setSearchParams = React.useCallback((nextInit, navigateOptions) => {\n const newSearchParams = createSearchParams(typeof nextInit === \"function\" ? nextInit(searchParams) : nextInit);\n hasSetSearchParamsRef.current = true;\n navigate(\"?\" + newSearchParams, navigateOptions);\n }, [navigate, searchParams]);\n return [searchParams, setSearchParams];\n}\nfunction validateClientSideSubmission() {\n if (typeof document === \"undefined\") {\n throw new Error(\"You are calling submit during the server render. \" + \"Try calling submit within a `useEffect` or callback instead.\");\n }\n}\nlet fetcherId = 0;\nlet getUniqueFetcherId = () => \"__\" + String(++fetcherId) + \"__\";\n/**\n * Returns a function that may be used to programmatically submit a form (or\n * some arbitrary data) to the server.\n */\nfunction useSubmit() {\n let {\n router\n } = useDataRouterContext(DataRouterHook.UseSubmit);\n let {\n basename\n } = React.useContext(UNSAFE_NavigationContext);\n let currentRouteId = UNSAFE_useRouteId();\n return React.useCallback(function (target, options) {\n if (options === void 0) {\n options = {};\n }\n validateClientSideSubmission();\n let {\n action,\n method,\n encType,\n formData,\n body\n } = getFormSubmissionInfo(target, basename);\n if (options.navigate === false) {\n let key = options.fetcherKey || getUniqueFetcherId();\n router.fetch(key, currentRouteId, options.action || action, {\n preventScrollReset: options.preventScrollReset,\n formData,\n body,\n formMethod: options.method || method,\n formEncType: options.encType || encType,\n unstable_flushSync: options.unstable_flushSync\n });\n } else {\n router.navigate(options.action || action, {\n preventScrollReset: options.preventScrollReset,\n formData,\n body,\n formMethod: options.method || method,\n formEncType: options.encType || encType,\n replace: options.replace,\n state: options.state,\n fromRouteId: currentRouteId,\n unstable_flushSync: options.unstable_flushSync,\n unstable_viewTransition: options.unstable_viewTransition\n });\n }\n }, [router, basename, currentRouteId]);\n}\n// v7: Eventually we should deprecate this entirely in favor of using the\n// router method directly?\nfunction useFormAction(action, _temp2) {\n let {\n relative\n } = _temp2 === void 0 ? {} : _temp2;\n let {\n basename\n } = React.useContext(UNSAFE_NavigationContext);\n let routeContext = React.useContext(UNSAFE_RouteContext);\n !routeContext ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, \"useFormAction must be used inside a RouteContext\") : UNSAFE_invariant(false) : void 0;\n let [match] = routeContext.matches.slice(-1);\n // Shallow clone path so we can modify it below, otherwise we modify the\n // object referenced by useMemo inside useResolvedPath\n let path = _extends({}, useResolvedPath(action ? action : \".\", {\n relative\n }));\n // If no action was specified, browsers will persist current search params\n // when determining the path, so match that behavior\n // https://github.com/remix-run/remix/issues/927\n let location = useLocation();\n if (action == null) {\n // Safe to write to this directly here since if action was undefined, we\n // would have called useResolvedPath(\".\") which will never include a search\n path.search = location.search;\n // When grabbing search params from the URL, remove any included ?index param\n // since it might not apply to our contextual route. We add it back based\n // on match.route.index below\n let params = new URLSearchParams(path.search);\n if (params.has(\"index\") && params.get(\"index\") === \"\") {\n params.delete(\"index\");\n path.search = params.toString() ? \"?\" + params.toString() : \"\";\n }\n }\n if ((!action || action === \".\") && match.route.index) {\n path.search = path.search ? path.search.replace(/^\\?/, \"?index&\") : \"?index\";\n }\n // If we're operating within a basename, prepend it to the pathname prior\n // to creating the form action. If this is a root navigation, then just use\n // the raw basename which allows the basename to have full control over the\n // presence of a trailing slash on root actions\n if (basename !== \"/\") {\n path.pathname = path.pathname === \"/\" ? basename : joinPaths([basename, path.pathname]);\n }\n return createPath(path);\n}\n// TODO: (v7) Change the useFetcher generic default from `any` to `unknown`\n/**\n * Interacts with route loaders and actions without causing a navigation. Great\n * for any interaction that stays on the same page.\n */\nfunction useFetcher(_temp3) {\n var _route$matches;\n let {\n key\n } = _temp3 === void 0 ? {} : _temp3;\n let {\n router\n } = useDataRouterContext(DataRouterHook.UseFetcher);\n let state = useDataRouterState(DataRouterStateHook.UseFetcher);\n let fetcherData = React.useContext(FetchersContext);\n let route = React.useContext(UNSAFE_RouteContext);\n let routeId = (_route$matches = route.matches[route.matches.length - 1]) == null ? void 0 : _route$matches.route.id;\n !fetcherData ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, \"useFetcher must be used inside a FetchersContext\") : UNSAFE_invariant(false) : void 0;\n !route ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, \"useFetcher must be used inside a RouteContext\") : UNSAFE_invariant(false) : void 0;\n !(routeId != null) ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, \"useFetcher can only be used on routes that contain a unique \\\"id\\\"\") : UNSAFE_invariant(false) : void 0;\n // Fetcher key handling\n // OK to call conditionally to feature detect `useId`\n // eslint-disable-next-line react-hooks/rules-of-hooks\n let defaultKey = useIdImpl ? useIdImpl() : \"\";\n let [fetcherKey, setFetcherKey] = React.useState(key || defaultKey);\n if (key && key !== fetcherKey) {\n setFetcherKey(key);\n } else if (!fetcherKey) {\n // We will only fall through here when `useId` is not available\n setFetcherKey(getUniqueFetcherId());\n }\n // Registration/cleanup\n React.useEffect(() => {\n router.getFetcher(fetcherKey);\n return () => {\n // Tell the router we've unmounted - if v7_fetcherPersist is enabled this\n // will not delete immediately but instead queue up a delete after the\n // fetcher returns to an `idle` state\n router.deleteFetcher(fetcherKey);\n };\n }, [router, fetcherKey]);\n // Fetcher additions\n let load = React.useCallback((href, opts) => {\n !routeId ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, \"No routeId available for fetcher.load()\") : UNSAFE_invariant(false) : void 0;\n router.fetch(fetcherKey, routeId, href, opts);\n }, [fetcherKey, routeId, router]);\n let submitImpl = useSubmit();\n let submit = React.useCallback((target, opts) => {\n submitImpl(target, _extends({}, opts, {\n navigate: false,\n fetcherKey\n }));\n }, [fetcherKey, submitImpl]);\n let FetcherForm = React.useMemo(() => {\n let FetcherForm = /*#__PURE__*/React.forwardRef((props, ref) => {\n return /*#__PURE__*/React.createElement(Form, _extends({}, props, {\n navigate: false,\n fetcherKey: fetcherKey,\n ref: ref\n }));\n });\n if (process.env.NODE_ENV !== \"production\") {\n FetcherForm.displayName = \"fetcher.Form\";\n }\n return FetcherForm;\n }, [fetcherKey]);\n // Exposed FetcherWithComponents\n let fetcher = state.fetchers.get(fetcherKey) || IDLE_FETCHER;\n let data = fetcherData.get(fetcherKey);\n let fetcherWithComponents = React.useMemo(() => _extends({\n Form: FetcherForm,\n submit,\n load\n }, fetcher, {\n data\n }), [FetcherForm, submit, load, fetcher, data]);\n return fetcherWithComponents;\n}\n/**\n * Provides all fetchers currently on the page. Useful for layouts and parent\n * routes that need to provide pending/optimistic UI regarding the fetch.\n */\nfunction useFetchers() {\n let state = useDataRouterState(DataRouterStateHook.UseFetchers);\n return Array.from(state.fetchers.entries()).map(_ref11 => {\n let [key, fetcher] = _ref11;\n return _extends({}, fetcher, {\n key\n });\n });\n}\nconst SCROLL_RESTORATION_STORAGE_KEY = \"react-router-scroll-positions\";\nlet savedScrollPositions = {};\n/**\n * When rendered inside a RouterProvider, will restore scroll positions on navigations\n */\nfunction useScrollRestoration(_temp4) {\n let {\n getKey,\n storageKey\n } = _temp4 === void 0 ? {} : _temp4;\n let {\n router\n } = useDataRouterContext(DataRouterHook.UseScrollRestoration);\n let {\n restoreScrollPosition,\n preventScrollReset\n } = useDataRouterState(DataRouterStateHook.UseScrollRestoration);\n let {\n basename\n } = React.useContext(UNSAFE_NavigationContext);\n let location = useLocation();\n let matches = useMatches();\n let navigation = useNavigation();\n // Trigger manual scroll restoration while we're active\n React.useEffect(() => {\n window.history.scrollRestoration = \"manual\";\n return () => {\n window.history.scrollRestoration = \"auto\";\n };\n }, []);\n // Save positions on pagehide\n usePageHide(React.useCallback(() => {\n if (navigation.state === \"idle\") {\n let key = (getKey ? getKey(location, matches) : null) || location.key;\n savedScrollPositions[key] = window.scrollY;\n }\n try {\n sessionStorage.setItem(storageKey || SCROLL_RESTORATION_STORAGE_KEY, JSON.stringify(savedScrollPositions));\n } catch (error) {\n process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(false, \"Failed to save scroll positions in sessionStorage, <ScrollRestoration /> will not work properly (\" + error + \").\") : void 0;\n }\n window.history.scrollRestoration = \"auto\";\n }, [storageKey, getKey, navigation.state, location, matches]));\n // Read in any saved scroll locations\n if (typeof document !== \"undefined\") {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useLayoutEffect(() => {\n try {\n let sessionPositions = sessionStorage.getItem(storageKey || SCROLL_RESTORATION_STORAGE_KEY);\n if (sessionPositions) {\n savedScrollPositions = JSON.parse(sessionPositions);\n }\n } catch (e) {\n // no-op, use default empty object\n }\n }, [storageKey]);\n // Enable scroll restoration in the router\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useLayoutEffect(() => {\n let getKeyWithoutBasename = getKey && basename !== \"/\" ? (location, matches) => getKey( // Strip the basename to match useLocation()\n _extends({}, location, {\n pathname: stripBasename(location.pathname, basename) || location.pathname\n }), matches) : getKey;\n let disableScrollRestoration = router == null ? void 0 : router.enableScrollRestoration(savedScrollPositions, () => window.scrollY, getKeyWithoutBasename);\n return () => disableScrollRestoration && disableScrollRestoration();\n }, [router, basename, getKey]);\n // Restore scrolling when state.restoreScrollPosition changes\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useLayoutEffect(() => {\n // Explicit false means don't do anything (used for submissions)\n if (restoreScrollPosition === false) {\n return;\n }\n // been here before, scroll to it\n if (typeof restoreScrollPosition === \"number\") {\n window.scrollTo(0, restoreScrollPosition);\n return;\n }\n // try to scroll to the hash\n if (location.hash) {\n let el = document.getElementById(decodeURIComponent(location.hash.slice(1)));\n if (el) {\n el.scrollIntoView();\n return;\n }\n }\n // Don't reset if this navigation opted out\n if (preventScrollReset === true) {\n return;\n }\n // otherwise go to the top on new locations\n window.scrollTo(0, 0);\n }, [location, restoreScrollPosition, preventScrollReset]);\n }\n}\n/**\n * Setup a callback to be fired on the window's `beforeunload` event. This is\n * useful for saving some data to `window.localStorage` just before the page\n * refreshes.\n *\n * Note: The `callback` argument should be a function created with\n * `React.useCallback()`.\n */\nfunction useBeforeUnload(callback, options) {\n let {\n capture\n } = options || {};\n React.useEffect(() => {\n let opts = capture != null ? {\n capture\n } : undefined;\n window.addEventListener(\"beforeunload\", callback, opts);\n return () => {\n window.removeEventListener(\"beforeunload\", callback, opts);\n };\n }, [callback, capture]);\n}\n/**\n * Setup a callback to be fired on the window's `pagehide` event. This is\n * useful for saving some data to `window.localStorage` just before the page\n * refreshes. This event is better supported than beforeunload across browsers.\n *\n * Note: The `callback` argument should be a function created with\n * `React.useCallback()`.\n */\nfunction usePageHide(callback, options) {\n let {\n capture\n } = options || {};\n React.useEffect(() => {\n let opts = capture != null ? {\n capture\n } : undefined;\n window.addEventListener(\"pagehide\", callback, opts);\n return () => {\n window.removeEventListener(\"pagehide\", callback, opts);\n };\n }, [callback, capture]);\n}\n/**\n * Wrapper around useBlocker to show a window.confirm prompt to users instead\n * of building a custom UI with useBlocker.\n *\n * Warning: This has *a lot of rough edges* and behaves very differently (and\n * very incorrectly in some cases) across browsers if user click addition\n * back/forward navigations while the confirm is open. Use at your own risk.\n */\nfunction usePrompt(_ref12) {\n let {\n when,\n message\n } = _ref12;\n let blocker = useBlocker(when);\n React.useEffect(() => {\n if (blocker.state === \"blocked\") {\n let proceed = window.confirm(message);\n if (proceed) {\n // This timeout is needed to avoid a weird \"race\" on POP navigations\n // between the `window.history` revert navigation and the result of\n // `window.confirm`\n setTimeout(blocker.proceed, 0);\n } else {\n blocker.reset();\n }\n }\n }, [blocker, message]);\n React.useEffect(() => {\n if (blocker.state === \"blocked\" && !when) {\n blocker.reset();\n }\n }, [blocker, when]);\n}\n/**\n * Return a boolean indicating if there is an active view transition to the\n * given href. You can use this value to render CSS classes or viewTransitionName\n * styles onto your elements\n *\n * @param href The destination href\n * @param [opts.relative] Relative routing type (\"route\" | \"path\")\n */\nfunction useViewTransitionState(to, opts) {\n if (opts === void 0) {\n opts = {};\n }\n let vtContext = React.useContext(ViewTransitionContext);\n !(vtContext != null) ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, \"`unstable_useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. \" + \"Did you accidentally import `RouterProvider` from `react-router`?\") : UNSAFE_invariant(false) : void 0;\n let {\n basename\n } = useDataRouterContext(DataRouterHook.useViewTransitionState);\n let path = useResolvedPath(to, {\n relative: opts.relative\n });\n if (!vtContext.isTransitioning) {\n return false;\n }\n let currentPath = stripBasename(vtContext.currentLocation.pathname, basename) || vtContext.currentLocation.pathname;\n let nextPath = stripBasename(vtContext.nextLocation.pathname, basename) || vtContext.nextLocation.pathname;\n // Transition is active if we're going to or coming from the indicated\n // destination. This ensures that other PUSH navigations that reverse\n // an indicated transition apply. I.e., on the list view you have:\n //\n // <NavLink to=\"/details/1\" unstable_viewTransition>\n //\n // If you click the breadcrumb back to the list view:\n //\n // <NavLink to=\"/list\" unstable_viewTransition>\n //\n // We should apply the transition because it's indicated as active going\n // from /list -> /details/1 and therefore should be active on the reverse\n // (even though this isn't strictly a POP reverse)\n return matchPath(path.pathname, nextPath) != null || matchPath(path.pathname, currentPath) != null;\n}\n//#endregion\n\nexport { BrowserRouter, Form, HashRouter, Link, NavLink, RouterProvider, ScrollRestoration, FetchersContext as UNSAFE_FetchersContext, ViewTransitionContext as UNSAFE_ViewTransitionContext, useScrollRestoration as UNSAFE_useScrollRestoration, createBrowserRouter, createHashRouter, createSearchParams, HistoryRouter as unstable_HistoryRouter, usePrompt as unstable_usePrompt, useViewTransitionState as unstable_useViewTransitionState, useBeforeUnload, useFetcher, useFetchers, useFormAction, useLinkClickHandler, useSearchParams, useSubmit };\n//# sourceMappingURL=index.js.map\n","import { Store } from './types';\n\ntype Subscription = {\n key: string;\n callback: (value: any) => void;\n};\n\nconst RA_STORE = 'RaStore';\n\n// localStorage isn't available in incognito mode. We need to detect it\nconst testLocalStorage = () => {\n // eslint-disable-next-line eqeqeq\n if (typeof window === 'undefined' || window.localStorage == undefined) {\n return false;\n }\n\n try {\n window.localStorage.setItem('test', 'test');\n window.localStorage.removeItem('test');\n return true;\n } catch (e) {\n return false;\n }\n};\n\nlet localStorageAvailable = testLocalStorage();\n\n/**\n * Store using localStorage, or memory storage in incognito mode\n *\n * @example\n *\n * import { localStorageStore } from 'react-admin';\n *\n * const App = () => (\n * <Admin store={localStorageStore()}>\n * ...\n * </Admin>\n * );\n */\nexport const localStorageStore = (\n version: string = '1',\n appKey: string = ''\n): Store => {\n const prefix = `${RA_STORE}${appKey}`;\n const prefixLength = prefix.length;\n const subscriptions: { [key: string]: Subscription } = {};\n const publish = (key: string, value: any) => {\n Object.keys(subscriptions).forEach(id => {\n if (!subscriptions[id]) return; // may happen if a component unmounts after a first subscriber was notified\n if (subscriptions[id].key === key) {\n subscriptions[id].callback(value);\n }\n });\n };\n\n // Whenever the local storage changes in another document, look for matching subscribers.\n // This allows to synchronize state across tabs\n const onLocalStorageChange = (event: StorageEvent): void => {\n if (event.key?.substring(0, prefixLength) !== prefix) {\n return;\n }\n const key = event.key.substring(prefixLength + 1);\n const value = event.newValue ? tryParse(event.newValue) : undefined;\n Object.keys(subscriptions).forEach(id => {\n if (!subscriptions[id]) return; // may happen if a component unmounts after a first subscriber was notified\n if (subscriptions[id].key === key) {\n if (value === null) {\n // an event with a null value is sent when the key is deleted.\n // to enable default value, we need to call setValue(undefined) instead of setValue(null)\n subscriptions[id].callback(undefined);\n } else {\n subscriptions[id].callback(\n value == null ? undefined : value\n );\n }\n }\n });\n };\n\n return {\n setup: () => {\n if (localStorageAvailable) {\n const storedVersion = getStorage().getItem(`${prefix}.version`);\n if (storedVersion && storedVersion !== version) {\n const storage = getStorage();\n Object.keys(storage).forEach(key => {\n if (key.startsWith(prefix)) {\n storage.removeItem(key);\n }\n });\n }\n getStorage().setItem(`${prefix}.version`, version);\n window.addEventListener('storage', onLocalStorageChange);\n }\n },\n teardown: () => {\n if (localStorageAvailable) {\n window.removeEventListener('storage', onLocalStorageChange);\n }\n },\n getItem<T = any>(key: string, defaultValue?: T): T {\n const valueFromStorage = getStorage().getItem(`${prefix}.${key}`);\n\n // eslint-disable-next-line eqeqeq\n return valueFromStorage == null\n ? defaultValue\n : tryParse(valueFromStorage);\n },\n setItem<T = any>(key: string, value: T): void {\n if (value === undefined) {\n getStorage().removeItem(`${prefix}.${key}`);\n } else {\n getStorage().setItem(`${prefix}.${key}`, JSON.stringify(value));\n }\n publish(key, value);\n },\n removeItem(key: string): void {\n getStorage().removeItem(`${prefix}.${key}`);\n publish(key, undefined);\n },\n removeItems(keyPrefix: string): void {\n const storage = getStorage();\n Object.keys(storage).forEach(key => {\n if (key.startsWith(`${prefix}.${keyPrefix}`)) {\n storage.removeItem(key);\n const publishKey = key.substring(prefixLength + 1);\n publish(publishKey, undefined);\n }\n });\n },\n reset(): void {\n const storage = getStorage();\n Object.keys(storage).forEach(key => {\n if (key.startsWith(prefix)) {\n storage.removeItem(key);\n const publishKey = key.substring(prefixLength + 1);\n publish(publishKey, undefined);\n }\n });\n },\n subscribe: (key: string, callback: (value: string) => void) => {\n const id = Math.random().toString();\n subscriptions[id] = {\n key,\n callback,\n };\n return () => {\n delete subscriptions[id];\n };\n },\n };\n};\n\nconst tryParse = (value: string): any => {\n try {\n return JSON.parse(value);\n } catch (e) {\n return value;\n }\n};\nclass LocalStorageShim {\n valuesMap: any = new Map();\n\n getItem(key: string) {\n if (this.valuesMap.has(key)) {\n return String(this.valuesMap.get(key));\n }\n return null;\n }\n\n setItem(key: string, value: string) {\n this.valuesMap.set(key, value);\n }\n\n removeItem(key: string) {\n this.valuesMap.delete(key);\n }\n\n removeItems(keyPrefix: string) {\n this.valuesMap.forEach((value, key) => {\n if (key.startsWith(keyPrefix)) {\n this.valuesMap.delete(key);\n }\n });\n }\n\n clear() {\n this.valuesMap.clear();\n }\n\n key(i): string {\n if (arguments.length === 0) {\n throw new TypeError(\n \"Failed to execute 'key' on 'Storage': 1 argument required, but only 0 present.\"\n ); // this is a TypeError implemented on Chrome, Firefox throws Not enough arguments to Storage.key.\n }\n const arr = Array.from(this.valuesMap.keys()) as string[];\n return arr[i];\n }\n\n get length() {\n return this.valuesMap.size;\n }\n}\nconst memoryStorage = new LocalStorageShim();\n\nexport const getStorage = () => {\n return localStorageAvailable ? window.localStorage : memoryStorage;\n};\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","var baseGetTag = require('./_baseGetTag'),\n isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n","var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n","var coreJsData = require('./_coreJsData');\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nmodule.exports = isMasked;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n","var isFunction = require('./isFunction'),\n isMasked = require('./_isMasked'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n","var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n","var getNative = require('./_getNative');\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nmodule.exports = defineProperty;\n","var defineProperty = require('./_defineProperty');\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nmodule.exports = baseAssignValue;\n","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignValue;\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","var isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/;\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\nmodule.exports = isKey;\n","var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n","var nativeCreate = require('./_nativeCreate');\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nmodule.exports = hashClear;\n","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = hashDelete;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nmodule.exports = hashGet;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nmodule.exports = hashHas;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nmodule.exports = hashSet;\n","var hashClear = require('./_hashClear'),\n hashDelete = require('./_hashDelete'),\n hashGet = require('./_hashGet'),\n hashHas = require('./_hashHas'),\n hashSet = require('./_hashSet');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nmodule.exports = Hash;\n","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nmodule.exports = listCacheClear;\n","var eq = require('./eq');\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nmodule.exports = listCacheDelete;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nmodule.exports = listCacheGet;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nmodule.exports = listCacheSet;\n","var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n","var Hash = require('./_Hash'),\n ListCache = require('./_ListCache'),\n Map = require('./_Map');\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nmodule.exports = mapCacheClear;\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nmodule.exports = isKeyable;\n","var isKeyable = require('./_isKeyable');\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nmodule.exports = getMapData;\n","var getMapData = require('./_getMapData');\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = mapCacheDelete;\n","var getMapData = require('./_getMapData');\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nmodule.exports = mapCacheGet;\n","var getMapData = require('./_getMapData');\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nmodule.exports = mapCacheHas;\n","var getMapData = require('./_getMapData');\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nmodule.exports = mapCacheSet;\n","var mapCacheClear = require('./_mapCacheClear'),\n mapCacheDelete = require('./_mapCacheDelete'),\n mapCacheGet = require('./_mapCacheGet'),\n mapCacheHas = require('./_mapCacheHas'),\n mapCacheSet = require('./_mapCacheSet');\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nmodule.exports = MapCache;\n","var MapCache = require('./_MapCache');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Expose `MapCache`.\nmemoize.Cache = MapCache;\n\nmodule.exports = memoize;\n","var memoize = require('./memoize');\n\n/** Used as the maximum memoize cache size. */\nvar MAX_MEMOIZE_SIZE = 500;\n\n/**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\nfunction memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n}\n\nmodule.exports = memoizeCapped;\n","var memoizeCapped = require('./_memoizeCapped');\n\n/** Used to match property names within property paths. */\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\nmodule.exports = stringToPath;\n","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nmodule.exports = arrayMap;\n","var Symbol = require('./_Symbol'),\n arrayMap = require('./_arrayMap'),\n isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = baseToString;\n","var baseToString = require('./_baseToString');\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\nmodule.exports = toString;\n","var isArray = require('./isArray'),\n isKey = require('./_isKey'),\n stringToPath = require('./_stringToPath'),\n toString = require('./toString');\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n}\n\nmodule.exports = castPath;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n","var isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = toKey;\n","var assignValue = require('./_assignValue'),\n castPath = require('./_castPath'),\n isIndex = require('./_isIndex'),\n isObject = require('./isObject'),\n toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.set`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @param {Function} [customizer] The function to customize path creation.\n * @returns {Object} Returns `object`.\n */\nfunction baseSet(object, path, value, customizer) {\n if (!isObject(object)) {\n return object;\n }\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n lastIndex = length - 1,\n nested = object;\n\n while (nested != null && ++index < length) {\n var key = toKey(path[index]),\n newValue = value;\n\n if (key === '__proto__' || key === 'constructor' || key === 'prototype') {\n return object;\n }\n\n if (index != lastIndex) {\n var objValue = nested[key];\n newValue = customizer ? customizer(objValue, key, nested) : undefined;\n if (newValue === undefined) {\n newValue = isObject(objValue)\n ? objValue\n : (isIndex(path[index + 1]) ? [] : {});\n }\n }\n assignValue(nested, key, newValue);\n nested = nested[key];\n }\n return object;\n}\n\nmodule.exports = baseSet;\n","var baseSet = require('./_baseSet');\n\n/**\n * Sets the value at `path` of `object`. If a portion of `path` doesn't exist,\n * it's created. Arrays are created for missing index properties while objects\n * are created for all other missing properties. Use `_.setWith` to customize\n * `path` creation.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.set(object, 'a[0].b.c', 4);\n * console.log(object.a[0].b.c);\n * // => 4\n *\n * _.set(object, ['x', '0', 'y', 'z'], 5);\n * console.log(object.x[0].y.z);\n * // => 5\n */\nfunction set(object, path, value) {\n return object == null ? object : baseSet(object, path, value);\n}\n\nmodule.exports = set;\n","/**\n * Gets the last element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {*} Returns the last element of `array`.\n * @example\n *\n * _.last([1, 2, 3]);\n * // => 3\n */\nfunction last(array) {\n var length = array == null ? 0 : array.length;\n return length ? array[length - 1] : undefined;\n}\n\nmodule.exports = last;\n","var castPath = require('./_castPath'),\n toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = castPath(path, object);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\nmodule.exports = baseGet;\n","/**\n * The base implementation of `_.slice` without an iteratee call guard.\n *\n * @private\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\nfunction baseSlice(array, start, end) {\n var index = -1,\n length = array.length;\n\n if (start < 0) {\n start = -start > length ? 0 : (length + start);\n }\n end = end > length ? length : end;\n if (end < 0) {\n end += length;\n }\n length = start > end ? 0 : ((end - start) >>> 0);\n start >>>= 0;\n\n var result = Array(length);\n while (++index < length) {\n result[index] = array[index + start];\n }\n return result;\n}\n\nmodule.exports = baseSlice;\n","var baseGet = require('./_baseGet'),\n baseSlice = require('./_baseSlice');\n\n/**\n * Gets the parent value at `path` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array} path The path to get the parent value of.\n * @returns {*} Returns the parent value.\n */\nfunction parent(object, path) {\n return path.length < 2 ? object : baseGet(object, baseSlice(path, 0, -1));\n}\n\nmodule.exports = parent;\n","var castPath = require('./_castPath'),\n last = require('./last'),\n parent = require('./_parent'),\n toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.unset`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The property path to unset.\n * @returns {boolean} Returns `true` if the property is deleted, else `false`.\n */\nfunction baseUnset(object, path) {\n path = castPath(path, object);\n object = parent(object, path);\n return object == null || delete object[toKey(last(path))];\n}\n\nmodule.exports = baseUnset;\n","var baseUnset = require('./_baseUnset');\n\n/**\n * Removes the property at `path` of `object`.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to unset.\n * @returns {boolean} Returns `true` if the property is deleted, else `false`.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 7 } }] };\n * _.unset(object, 'a[0].b.c');\n * // => true\n *\n * console.log(object);\n * // => { 'a': [{ 'b': {} }] };\n *\n * _.unset(object, ['a', '0', 'b', 'c']);\n * // => true\n *\n * console.log(object);\n * // => { 'a': [{ 'b': {} }] };\n */\nfunction unset(object, path) {\n return object == null ? true : baseUnset(object, path);\n}\n\nmodule.exports = unset;\n","var baseGet = require('./_baseGet');\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\nmodule.exports = get;\n","import set from 'lodash/set';\nimport unset from 'lodash/unset';\nimport get from 'lodash/get';\nimport { Store } from './types';\n\ntype Subscription = {\n key: string;\n callback: (value: any) => void;\n};\n\n/**\n * Store using memory\n *\n * @example\n *\n * import { memoryStore } from 'react-admin';\n *\n * const App = () => (\n * <Admin store={memoryStore()}>\n * ...\n * </Admin>\n * );\n */\nexport const memoryStore = (storage: any = {}): Store => {\n const subscriptions: { [key: string]: Subscription } = {};\n const publish = (key: string, value: any) => {\n Object.keys(subscriptions).forEach(id => {\n if (!subscriptions[id]) return; // may happen if a component unmounts after a first subscriber was notified\n if (subscriptions[id].key === key) {\n subscriptions[id].callback(value);\n }\n });\n };\n return {\n setup: () => {},\n teardown: () => {\n Object.keys(storage).forEach(key => delete storage[key]);\n },\n getItem<T = any>(key: string, defaultValue?: T): T {\n return get(storage, key, defaultValue);\n },\n setItem<T = any>(key: string, value: T): void {\n set(storage, key, value);\n publish(key, value);\n },\n removeItem(key: string): void {\n unset(storage, key);\n publish(key, undefined);\n },\n removeItems(keyPrefix: string): void {\n const flatStorage = flatten(storage);\n Object.keys(flatStorage).forEach(key => {\n if (!key.startsWith(keyPrefix)) {\n return;\n }\n unset(storage, key);\n publish(key, undefined);\n });\n },\n reset(): void {\n const flatStorage = flatten(storage);\n Object.keys(flatStorage).forEach(key => {\n unset(storage, key);\n publish(key, undefined);\n });\n },\n subscribe: (key: string, callback: (value: string) => void) => {\n const id = Math.random().toString();\n subscriptions[id] = {\n key,\n callback,\n };\n return () => {\n delete subscriptions[id];\n };\n },\n };\n};\n\n// taken from https://stackoverflow.com/a/19101235/1333479\nconst flatten = (data: any) => {\n var result = {};\n function doFlatten(current, prop) {\n if (Object(current) !== current) {\n // scalar value\n result[prop] = current;\n } else if (Array.isArray(current)) {\n // array\n result[prop] = current;\n } else {\n // object\n var isEmpty = true;\n for (var p in current) {\n isEmpty = false;\n doFlatten(current[p], prop ? prop + '.' + p : p);\n }\n if (isEmpty && prop) result[prop] = {};\n }\n }\n doFlatten(data, '');\n return result;\n};\n","import { createContext } from 'react';\n\nimport { Store } from './types';\nimport { memoryStore } from './memoryStore';\n\nconst defaultStore = memoryStore();\n\nexport const StoreContext = createContext<Store>(defaultStore);\n","import * as React from 'react';\nimport { useEffect } from 'react';\nimport { StoreContext } from './StoreContext';\nimport { Store } from './types';\n\nexport const StoreContextProvider = ({\n value: Store,\n children,\n}: StoreContextProviderProps) => {\n useEffect(() => {\n Store.setup();\n return () => {\n Store.teardown();\n };\n }, [Store]);\n\n return (\n <StoreContext.Provider value={Store}>{children}</StoreContext.Provider>\n );\n};\n\nexport interface StoreContextProviderProps {\n value: Store;\n children: React.ReactNode;\n}\n","import { useContext } from 'react';\n\nimport { StoreContext } from './StoreContext';\n\n/**\n * Get the Store stored in the StoreContext\n */\nexport const useStoreContext = () => useContext(StoreContext);\n","var ListCache = require('./_ListCache');\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nmodule.exports = stackClear;\n","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nmodule.exports = stackDelete;\n","/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nmodule.exports = stackGet;\n","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nmodule.exports = stackHas;\n","var ListCache = require('./_ListCache'),\n Map = require('./_Map'),\n MapCache = require('./_MapCache');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nmodule.exports = stackSet;\n","var ListCache = require('./_ListCache'),\n stackClear = require('./_stackClear'),\n stackDelete = require('./_stackDelete'),\n stackGet = require('./_stackGet'),\n stackHas = require('./_stackHas'),\n stackSet = require('./_stackSet');\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nmodule.exports = Stack;\n","/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\nmodule.exports = setCacheAdd;\n","/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\nmodule.exports = setCacheHas;\n","var MapCache = require('./_MapCache'),\n setCacheAdd = require('./_setCacheAdd'),\n setCacheHas = require('./_setCacheHas');\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\nmodule.exports = SetCache;\n","/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n","/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\nmodule.exports = cacheHas;\n","var SetCache = require('./_SetCache'),\n arraySome = require('./_arraySome'),\n cacheHas = require('./_cacheHas');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Check that cyclic values are equal.\n var arrStacked = stack.get(array);\n var othStacked = stack.get(other);\n if (arrStacked && othStacked) {\n return arrStacked == other && othStacked == array;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalArrays;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n","/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\nmodule.exports = mapToArray;\n","/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\nmodule.exports = setToArray;\n","var Symbol = require('./_Symbol'),\n Uint8Array = require('./_Uint8Array'),\n eq = require('./eq'),\n equalArrays = require('./_equalArrays'),\n mapToArray = require('./_mapToArray'),\n setToArray = require('./_setToArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n","/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nmodule.exports = arrayPush;\n","var arrayPush = require('./_arrayPush'),\n isArray = require('./isArray');\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\nmodule.exports = baseGetAllKeys;\n","/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nmodule.exports = arrayFilter;\n","/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\nmodule.exports = stubArray;\n","var arrayFilter = require('./_arrayFilter'),\n stubArray = require('./stubArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nmodule.exports = getSymbols;\n","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nmodule.exports = baseTimes;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nmodule.exports = baseIsArguments;\n","var baseIsArguments = require('./_baseIsArguments'),\n isObjectLike = require('./isObjectLike');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nmodule.exports = isArguments;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n","var root = require('./_root'),\n stubFalse = require('./stubFalse');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nmodule.exports = isBuffer;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n","var baseGetTag = require('./_baseGetTag'),\n isLength = require('./isLength'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nmodule.exports = baseIsTypedArray;\n","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n","var baseIsTypedArray = require('./_baseIsTypedArray'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nmodule.exports = isTypedArray;\n","var baseTimes = require('./_baseTimes'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isIndex = require('./_isIndex'),\n isTypedArray = require('./isTypedArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = arrayLikeKeys;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nmodule.exports = isPrototype;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;\n","var overArg = require('./_overArg');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nmodule.exports = nativeKeys;\n","var isPrototype = require('./_isPrototype'),\n nativeKeys = require('./_nativeKeys');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeys;\n","var isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeys = require('./_baseKeys'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nmodule.exports = keys;\n","var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbols = require('./_getSymbols'),\n keys = require('./keys');\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\nmodule.exports = getAllKeys;\n","var getAllKeys = require('./_getAllKeys');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Check that cyclic values are equal.\n var objStacked = stack.get(object);\n var othStacked = stack.get(other);\n if (objStacked && othStacked) {\n return objStacked == other && othStacked == object;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalObjects;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nmodule.exports = DataView;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nmodule.exports = Promise;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nmodule.exports = Set;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nmodule.exports = WeakMap;\n","var DataView = require('./_DataView'),\n Map = require('./_Map'),\n Promise = require('./_Promise'),\n Set = require('./_Set'),\n WeakMap = require('./_WeakMap'),\n baseGetTag = require('./_baseGetTag'),\n toSource = require('./_toSource');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nmodule.exports = getTag;\n","var Stack = require('./_Stack'),\n equalArrays = require('./_equalArrays'),\n equalByTag = require('./_equalByTag'),\n equalObjects = require('./_equalObjects'),\n getTag = require('./_getTag'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isTypedArray = require('./isTypedArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\nmodule.exports = baseIsEqualDeep;\n","var baseIsEqualDeep = require('./_baseIsEqualDeep'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\nmodule.exports = baseIsEqual;\n","var baseIsEqual = require('./_baseIsEqual');\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\nfunction isEqual(value, other) {\n return baseIsEqual(value, other);\n}\n\nmodule.exports = isEqual;\n","/**\n * Replace tokens by their value in the given string\n *\n * @param {string} template The template with interpolation tokens, e.g. 'Hello, %{name}'\n * @param {object} data The data to interpolate, e.g. { name: 'John' }\n * @returns {string} The interpolated string, e.g. 'Hello, John'\n */\nexport const substituteTokens = (template, data) =>\n template && data\n ? String.prototype.replace.call(template, defaultTokenRegex, function (\n expression,\n argument\n ) {\n if (!data.hasOwnProperty(argument) || data[argument] == null) {\n return expression;\n }\n return data[argument];\n })\n : template;\n\n// tokens are like 'Hello, %{name}'\nconst defaultTokenRegex = /%\\{(.*?)\\}/g;\n","import { createContext } from 'react';\nimport { I18nProvider } from '../types';\nimport { substituteTokens } from './substituteTokens';\n\nexport type I18nContextProps = I18nProvider;\n\nconst defaultI18nProvider = {\n translate: (key, options) =>\n options?._\n ? substituteTokens(options._, options)\n : substituteTokens(key, options),\n changeLocale: () => Promise.resolve(),\n getLocale: () => 'en',\n};\n\nexport const I18nContext = createContext<I18nProvider>(defaultI18nProvider);\n\nI18nContext.displayName = 'I18nContext';\n","import { createContext } from 'react';\n\nimport { NotificationPayload } from './types';\n\nexport const AddNotificationContext = createContext<\n (notification: NotificationPayload) => void\n>(() => {});\n","import { createContext, Dispatch, SetStateAction } from 'react';\n\nimport { NotificationPayload } from './types';\n\nexport type NotificationContextType = {\n notifications: NotificationPayload[];\n addNotification: (notification: NotificationPayload) => void;\n takeNotification: () => NotificationPayload | void;\n resetNotifications: () => void;\n setNotifications: Dispatch<SetStateAction<NotificationPayload[]>>;\n};\n\n/**\n * Context for the notification state and modifiers\n *\n * @example // display notifications\n * import { useNotificationContext } from 'react-admin';\n *\n * const App = () => {\n * const { notifications } = useNotificationContext();\n * return (\n * <ul>\n * {notifications.map(({ message }) => (\n * <li key={index}>{ message }</li>\n * ))}\n * </ul>\n * );\n * };\n *\n * @example // reset notifications\n * import { useNotificationContext } from 'react-admin';\n *\n * const ResetNotificationsButton = () => {\n * const { resetNotifications } = useNotificationContext();\n * return (\n * <button onClick={() => resetNotifications()}>Reset notifications</button>\n * );\n * };\n */\nexport const NotificationContext = createContext<NotificationContextType>({\n notifications: [],\n addNotification: () => {},\n takeNotification: () => {},\n resetNotifications: () => {},\n setNotifications: () => {},\n});\n","import * as React from 'react';\nimport { useState, useCallback, useMemo } from 'react';\n\nimport { NotificationPayload } from './types';\nimport { NotificationContext } from './NotificationContext';\nimport { AddNotificationContext } from './AddNotificationContext';\n\nexport const NotificationContextProvider = ({ children }) => {\n const [notifications, setNotifications] = useState<NotificationPayload[]>(\n []\n );\n\n const addNotification = useCallback((notification: NotificationPayload) => {\n setNotifications(notifications => [...notifications, notification]);\n }, []);\n\n const takeNotification = useCallback(() => {\n if (notifications.length === 0) return;\n const [notification, ...rest] = notifications;\n setNotifications(rest);\n return notification;\n }, [notifications]);\n\n const resetNotifications = useCallback(() => {\n setNotifications([]);\n }, []);\n\n const contextValue = useMemo(\n () => ({\n notifications,\n addNotification,\n takeNotification,\n resetNotifications,\n setNotifications,\n }),\n [notifications] // eslint-disable-line react-hooks/exhaustive-deps\n );\n\n // we separate the addNotification context to avoid rerendering all components\n // that depend on useNotify when a notification is dispatched\n return (\n <NotificationContext.Provider value={contextValue}>\n <AddNotificationContext.Provider value={addNotification}>\n {children}\n </AddNotificationContext.Provider>\n </NotificationContext.Provider>\n );\n};\n","import { useContext } from 'react';\nimport { AddNotificationContext } from './AddNotificationContext';\n\nexport const useAddNotificationContext = () =>\n useContext(AddNotificationContext);\n","import { useContext } from 'react';\nimport { NotificationContext } from './NotificationContext';\n\nexport const useNotificationContext = () => useContext(NotificationContext);\n","import { useCallback, ReactNode } from 'react';\n\nimport { useAddNotificationContext } from './useAddNotificationContext';\nimport { NotificationType, NotificationOptions } from './types';\n\n/**\n * Hook for Notification Side Effect\n *\n * @example\n *\n * const notify = useNotify();\n * // simple message (info level)\n * notify('Level complete');\n * // specify level\n * notify('A problem occurred', { type: 'error' })\n * // pass arguments to the translation function\n * notify('Deleted %{count} elements', { type: 'info', messageArgs: { smart_count: 23 } })\n * // show the action as undoable in the notification\n * notify('Post renamed', { type: 'info', undoable: true })\n */\nexport const useNotify = () => {\n const addNotification = useAddNotificationContext();\n return useCallback(\n (\n message: string | ReactNode,\n options: NotificationOptions & { type?: NotificationType } = {}\n ) => {\n const {\n type: messageType = 'info',\n ...notificationOptions\n } = options;\n addNotification({\n message,\n type: messageType,\n notificationOptions,\n });\n },\n [addNotification]\n );\n};\n","import * as React from 'react';\nimport { useEffect, useState, ReactNode } from 'react';\n\nimport { I18nContext } from './I18nContext';\nimport { useStore } from '../store/useStore';\nimport { useNotify } from '../notification';\nimport { I18nProvider } from '../types';\n\n/**\n * Store the i18nProvider in a context, and rerender children when the locale changes\n */\nexport const I18nContextProvider = ({\n value = defaulti18nContext,\n children,\n}: I18nContextProviderProps) => {\n const [locale] = useStore('locale');\n const notify = useNotify();\n const [key, setKey] = useState(0);\n // to avoid blinking effect, delay first render if the user has a non-default locale\n const [isInitialized, setInitialized] = useState(\n locale === value.getLocale()\n );\n\n // watch store for locale changes\n useEffect(() => {\n if (locale && value.getLocale() !== locale) {\n new Promise(resolve => {\n // so we systematically return a Promise for the messages\n // i18nProvider may return a Promise for language changes,\n resolve(value.changeLocale(locale));\n })\n .then(() => {\n // Force full page re-render.\n // This is slow on locale change, but it's a good way\n // to avoid having one subscription to the locale\n // for each call to translate()\n setKey(key => key + 1);\n setInitialized(true);\n })\n .catch(error => {\n setInitialized(true);\n notify('ra.notification.i18n_error', { type: 'error' });\n console.error(error);\n });\n } else {\n setInitialized(true);\n }\n }, [value, locale, notify]);\n\n return isInitialized ? (\n <I18nContext.Provider value={value} key={key}>\n {children}\n </I18nContext.Provider>\n ) : null;\n};\n\nexport interface I18nContextProviderProps {\n value?: I18nProvider;\n children: ReactNode;\n}\n\nconst defaulti18nContext = {\n translate: x => x,\n changeLocale: () => Promise.resolve(),\n getLocale: () => 'en',\n};\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignMergeValue;\n","/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n","var createBaseFor = require('./_createBaseFor');\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n","var root = require('./_root');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\nmodule.exports = cloneBuffer;\n","var Uint8Array = require('./_Uint8Array');\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\nmodule.exports = cloneArrayBuffer;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\nmodule.exports = cloneTypedArray;\n","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = copyArray;\n","var isObject = require('./isObject');\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\nmodule.exports = baseCreate;\n","var overArg = require('./_overArg');\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nmodule.exports = getPrototype;\n","var baseCreate = require('./_baseCreate'),\n getPrototype = require('./_getPrototype'),\n isPrototype = require('./_isPrototype');\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\nmodule.exports = initCloneObject;\n","var isArrayLike = require('./isArrayLike'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\nmodule.exports = isArrayLikeObject;\n","var baseGetTag = require('./_baseGetTag'),\n getPrototype = require('./_getPrototype'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nmodule.exports = isPlainObject;\n","/**\n * Gets the value at `key`, unless `key` is \"__proto__\" or \"constructor\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction safeGet(object, key) {\n if (key === 'constructor' && typeof object[key] === 'function') {\n return;\n }\n\n if (key == '__proto__') {\n return;\n }\n\n return object[key];\n}\n\nmodule.exports = safeGet;\n","var assignValue = require('./_assignValue'),\n baseAssignValue = require('./_baseAssignValue');\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nmodule.exports = copyObject;\n","/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = nativeKeysIn;\n","var isObject = require('./isObject'),\n isPrototype = require('./_isPrototype'),\n nativeKeysIn = require('./_nativeKeysIn');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeysIn;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeysIn = require('./_baseKeysIn'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nmodule.exports = keysIn;\n","var copyObject = require('./_copyObject'),\n keysIn = require('./keysIn');\n\n/**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\nfunction toPlainObject(value) {\n return copyObject(value, keysIn(value));\n}\n\nmodule.exports = toPlainObject;\n","var assignMergeValue = require('./_assignMergeValue'),\n cloneBuffer = require('./_cloneBuffer'),\n cloneTypedArray = require('./_cloneTypedArray'),\n copyArray = require('./_copyArray'),\n initCloneObject = require('./_initCloneObject'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isArrayLikeObject = require('./isArrayLikeObject'),\n isBuffer = require('./isBuffer'),\n isFunction = require('./isFunction'),\n isObject = require('./isObject'),\n isPlainObject = require('./isPlainObject'),\n isTypedArray = require('./isTypedArray'),\n safeGet = require('./_safeGet'),\n toPlainObject = require('./toPlainObject');\n\n/**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = safeGet(object, key),\n srcValue = safeGet(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = isArray(srcValue),\n isBuff = !isArr && isBuffer(srcValue),\n isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (isArray(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n }\n else if (isBuff) {\n isCommon = false;\n newValue = cloneBuffer(srcValue, true);\n }\n else if (isTyped) {\n isCommon = false;\n newValue = cloneTypedArray(srcValue, true);\n }\n else {\n newValue = [];\n }\n }\n else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n newValue = objValue;\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n }\n else if (!isObject(objValue) || isFunction(objValue)) {\n newValue = initCloneObject(srcValue);\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n assignMergeValue(object, key, newValue);\n}\n\nmodule.exports = baseMergeDeep;\n","var Stack = require('./_Stack'),\n assignMergeValue = require('./_assignMergeValue'),\n baseFor = require('./_baseFor'),\n baseMergeDeep = require('./_baseMergeDeep'),\n isObject = require('./isObject'),\n keysIn = require('./keysIn'),\n safeGet = require('./_safeGet');\n\n/**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n baseFor(source, function(srcValue, key) {\n stack || (stack = new Stack);\n if (isObject(srcValue)) {\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n }, keysIn);\n}\n\nmodule.exports = baseMerge;\n","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n","/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\nmodule.exports = apply;\n","var apply = require('./_apply');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\nmodule.exports = overRest;\n","/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\nmodule.exports = constant;\n","var constant = require('./constant'),\n defineProperty = require('./_defineProperty'),\n identity = require('./identity');\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n};\n\nmodule.exports = baseSetToString;\n","/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeNow = Date.now;\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\nmodule.exports = shortOut;\n","var baseSetToString = require('./_baseSetToString'),\n shortOut = require('./_shortOut');\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\nmodule.exports = setToString;\n","var identity = require('./identity'),\n overRest = require('./_overRest'),\n setToString = require('./_setToString');\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\nmodule.exports = baseRest;\n","var eq = require('./eq'),\n isArrayLike = require('./isArrayLike'),\n isIndex = require('./_isIndex'),\n isObject = require('./isObject');\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n","var baseRest = require('./_baseRest'),\n isIterateeCall = require('./_isIterateeCall');\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\nmodule.exports = createAssigner;\n","var baseMerge = require('./_baseMerge'),\n createAssigner = require('./_createAssigner');\n\n/**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n * 'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n * 'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\nvar merge = createAssigner(function(object, source, srcIndex) {\n baseMerge(object, source, srcIndex);\n});\n\nmodule.exports = merge;\n","import { useContext } from 'react';\n\nimport { I18nContext } from './I18nContext';\n\n/**\n * Get the i18nProvider instance declared in the <Admin> component\n *\n * @example\n *\n * const CurrentLanguage = () => {\n * const i18nProvider = useI18nProvider();\n * const locale = i18nProvider.getLocale();\n * return <span>{locale}</span>;\n * };\n */\nexport const useI18nProvider = () => useContext(I18nContext);\n","import { useMemo } from 'react';\nimport { useI18nProvider } from './useI18nProvider';\nimport { useStore } from '../store/useStore';\n\n/**\n * Get the current locale and the ability to change it\n *\n * @example\n *\n * import { useLocaleState } from 'react-admin';\n *\n * const availableLanguages = {\n * en: 'English',\n * fr: 'Français',\n * }\n * const LocaleSwitcher = () => {\n * const [locale, setLocale] = useLocaleState();\n * return (\n * <div>\n * <div>Language</div>\n * <Button disabled={locale === 'fr'} onClick={() => setLocale('fr')}>\n * English\n * </Button>\n * <Button disabled={locale === 'en'} onClick={() => setLocale('en')}>\n * French\n * </Button>\n * </div>\n * );\n * };\n */\nexport const useLocaleState = () => {\n const i18nProvider = useI18nProvider();\n const defaultLocale = useMemo(() => i18nProvider.getLocale(), [\n i18nProvider,\n ]);\n return useStore<string>('locale', defaultLocale);\n};\n","import { useLocaleState } from './useLocaleState';\n\n/**\n * Get the current locale\n *\n * @example\n *\n * import { useLocale } from 'react-admin';\n *\n * const availableLanguages = {\n * en: 'English',\n * fr: 'Français',\n * }\n * const CurrentLanguage = () => {\n * const locale = useLocale();\n * return <span>{availableLanguages[locale]}</span>;\n * }\n */\nexport const useLocale = () => {\n const [locale] = useLocaleState();\n return locale;\n};\n","import { useMemo } from 'react';\nimport { useI18nProvider } from './useI18nProvider';\n\n/**\n * A hook that gets the available locales from the i18nProvider.\n * @example\n *\n * import { useLocales } from 'react-admin';\n *\n * const LocaleSelector = () => {\n * const locales = useLocales();\n * const [currentLocale, setCurrentLocale] = useLocaleState();\n *\n * return (\n * <select onChange={event => setCurrentLocale(event.target.value)}>\n * {locales.map(locale => (\n * <option key={locale.locale} value={locale.locale}>\n * {locale.name}\n * </option>\n * )}\n * </select>\n * );\n * }\n */\nexport const useLocales = (options?: UseLocalesOptions) => {\n const i18nProvider = useI18nProvider();\n const locales = useMemo(\n () => (i18nProvider?.getLocales ? i18nProvider?.getLocales() : []),\n [i18nProvider]\n );\n return options?.locales ?? locales;\n};\n\nexport interface UseLocalesOptions {\n locales?: { locale: string; name: string }[];\n}\n","import { useCallback } from 'react';\n\nimport { Translate } from '../types';\nimport { useI18nProvider } from './useI18nProvider';\n\n/**\n * Translate a string using the current locale and the translations from the i18nProvider\n *\n * @see Polyglot.t()\n * @link https://airbnb.io/polyglot.js/#polyglotprototypetkey-interpolationoptions\n *\n * @return {Function} A translation function, accepting two arguments\n * - a string used as key in the translations\n * - an interpolationOptions object\n *\n * @example\n *\n * import { useTranslate } from 'react-admin';\n *\n * const SettingsMenu = () => {\n * const translate = useTranslate();\n * return <MenuItem>{translate('settings')}</MenuItem>;\n * }\n */\nexport const useTranslate = (): Translate => {\n const i18nProvider = useI18nProvider();\n const translate = useCallback(\n (key: string, options?: any) =>\n i18nProvider.translate(key, options) as string,\n // update the hook each time the locale changes\n [i18nProvider] // eslint-disable-line react-hooks/exhaustive-deps\n );\n return i18nProvider ? translate : identity;\n};\n\nconst identity = key => key;\n","import { createContext } from 'react';\n\nexport const BasenameContext = createContext('');\n","import * as React from 'react';\nimport { BasenameContext } from './BasenameContext';\n\n/**\n * Set the string to append to all links to the admin app.\n *\n * Useful when the app is mounted on a sub path, e.g. '/admin'.\n * Used internally by the `<Admin>` component.\n *\n * @see useBasename\n */\nexport const BasenameContextProvider = ({ children, basename }) => (\n <BasenameContext.Provider value={basename}>\n {children}\n </BasenameContext.Provider>\n);\n","import * as React from 'react';\nimport { ReactNode } from 'react';\nimport {\n useInRouterContext,\n createHashRouter,\n RouterProvider,\n} from 'react-router-dom';\n\nimport { BasenameContextProvider } from './BasenameContextProvider';\n\n/**\n * Creates a react-router Router unless the app is already inside existing router.\n * Also creates a BasenameContext with the basename prop\n */\nexport const AdminRouter = ({ basename = '', children }: AdminRouterProps) => {\n const isInRouter = useInRouterContext();\n const Router = isInRouter ? DummyRouter : InternalRouter;\n\n return (\n <BasenameContextProvider basename={isInRouter ? basename : ''}>\n <Router basename={basename}>{children}</Router>\n </BasenameContextProvider>\n );\n};\n\nexport interface AdminRouterProps {\n basename?: string;\n children: React.ReactNode;\n}\n\nconst DummyRouter = ({\n children,\n}: {\n children: ReactNode;\n basename?: string;\n}) => <>{children}</>;\n\nconst InternalRouter = ({\n children,\n basename,\n}: {\n children: ReactNode;\n basename?: string;\n}) => {\n const router = createHashRouter([{ path: '*', element: <>{children}</> }], {\n basename,\n });\n return <RouterProvider router={router} />;\n};\n","var root = require('./_root');\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nmodule.exports = now;\n","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nmodule.exports = trimmedEndIndex;\n","var trimmedEndIndex = require('./_trimmedEndIndex');\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nmodule.exports = baseTrim;\n","var baseTrim = require('./_baseTrim'),\n isObject = require('./isObject'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n","var isObject = require('./isObject'),\n now = require('./now'),\n toNumber = require('./toNumber');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nmodule.exports = debounce;\n","import { useEffect } from 'react';\nimport { useLocation } from 'react-router';\nimport debounce from 'lodash/debounce';\n\nimport { useStore } from '../store';\n\n/**\n * A hook that tracks the scroll position and restores it when the component mounts.\n * @param storeKey The key under which to store the scroll position in the store\n * @param debounceMs The debounce time in milliseconds\n *\n * @example\n * import { useRestoreScrollPosition } from 'ra-core';\n *\n * const MyCustomPage = () => {\n * useRestoreScrollPosition('my-list');\n *\n * return (\n * <div>\n * <h1>My Custom Page</h1>\n * <VeryLongContent />\n * </div>\n * );\n * };\n */\nexport const useRestoreScrollPosition = (\n storeKey: string,\n debounceMs = 250\n) => {\n const [position, setPosition] = useTrackScrollPosition(\n storeKey,\n debounceMs\n );\n const location = useLocation();\n\n useEffect(() => {\n if (position != null && location.state?._scrollToTop !== true) {\n setPosition(undefined);\n window.scrollTo(0, position);\n }\n // We only want to run this effect on mount\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n};\n\n/**\n * A hook that tracks the scroll position and stores it.\n * @param storeKey The key under which to store the scroll position in the store\n * @param debounceMs The debounce time in milliseconds\n *\n * @example\n * import { useTrackScrollPosition } from 'ra-core';\n *\n * const MyCustomPage = () => {\n * useTrackScrollPosition('my-list');\n *\n * return (\n * <div>\n * <h1>My Custom Page</h1>\n * <VeryLongContent />\n * </div>\n * );\n * };\n */\nexport const useTrackScrollPosition = (storeKey: string, debounceMs = 250) => {\n const [position, setPosition] = useStore(storeKey);\n\n useEffect(() => {\n if (typeof window === 'undefined') {\n return;\n }\n const handleScroll = debounce(() => {\n setPosition(window.scrollY);\n }, debounceMs);\n\n window.addEventListener('scroll', handleScroll);\n\n return () => {\n window.removeEventListener('scroll', handleScroll);\n };\n }, [debounceMs, setPosition]);\n\n return [position, setPosition];\n};\n","import { ReactNode } from 'react';\nimport { useRestoreScrollPosition } from './useRestoreScrollPosition';\n\n/**\n * A component that tracks the scroll position and restores it when the component mounts.\n * @param children The content to render\n * @param key The key under which to store the scroll position in the store\n * @param debounceMs The debounce time in milliseconds\n *\n * @example\n * import { RestoreScrollPosition } from 'ra-core';\n *\n * const MyCustomPage = () => {\n * <RestoreScrollPosition key=\"my-list\">\n * <div>\n * <h1>My Custom Page</h1>\n * <VeryLongContent />\n * </div>\n * </RestoreScrollPosition>\n * };\n */\nexport const RestoreScrollPosition = ({\n children,\n storeKey,\n debounce = 250,\n}: {\n storeKey: string;\n debounce?: number;\n children: ReactNode;\n}) => {\n useRestoreScrollPosition(storeKey, debounce);\n return children;\n};\n","import { useContext } from 'react';\n\nimport { BasenameContext } from './BasenameContext';\n\n/**\n * Get the string to append to all links to the admin app.\n *\n * Useful when the app is mounted on a sub path, e.g. '/admin'.\n *\n * This hook is used internally by all react-admin components that\n * contain a link, and requires that the basename is set via the\n * `<BasenameContextProvider>` component (or via the `<Admin>` component,\n * which calls BasenameContextProvider internally).\n *\n * @see BasenameContextProvider\n *\n * @example\n * import { useBasename } from 'react-admin';\n *\n * const ArticleLink = ({ title, id }) => {\n * const basename = useBasename();\n * return <a href={`${basename}/articles/${id}`}>{title}</a>;\n * };\n */\nexport const useBasename = () => useContext(BasenameContext);\n","import { useCallback } from 'react';\n\nimport { Identifier } from '../types';\nimport { useBasename } from './useBasename';\n\n/**\n * Get a callback to create a link to a given page in the admin app.\n *\n * The callback expects an object as parameter, containing the following properties:\n * - type: 'list', 'edit', 'show' or 'create'\n * - resource\n * - id (optional), for 'edit' or 'show' pages\n *\n * This is used internally by react-admin to allow default components to work\n * in applications that are mounted on a sub path, e.g. '/admin'. If your app\n * is mounted in the root path, you don't need it, and you can create links by\n * hand, e.g. '/articles/1/show'.\n *\n * @example\n * import { useCreatePath, useRecordContext } from 'react-admin';\n * import { useNavigate } from 'react-router-dom';\n *\n * const PostEditButton = () => {\n * const createPath = useCreatePath();\n * const record = useRecordContext();\n * const navigate = useNavigate();\n *\n * const handleClick = () => {\n * const link = createPath({\n * type: 'edit',\n * resource: 'posts',\n * id: record.id\n * });\n * navigate(link);\n * };\n *\n * return <button onClick={handleClick}>Edit Post</button>;\n * };\n */\nexport const useCreatePath = () => {\n const basename = useBasename();\n return useCallback(\n ({ resource, id, type }: CreatePathParams): string => {\n if (\n ['list', 'create', 'edit', 'show'].includes(type) &&\n !resource\n ) {\n throw new Error(\n 'Cannot create a link without a resource. You must provide the resource name.'\n );\n }\n switch (type) {\n case 'list':\n return removeDoubleSlashes(`${basename}/${resource}`);\n case 'create':\n return removeDoubleSlashes(\n `${basename}/${resource}/create`\n );\n case 'edit': {\n if (id == null) {\n // maybe the id isn't defined yet\n // instead of throwing an error, fallback to list link\n return removeDoubleSlashes(`${basename}/${resource}`);\n }\n return removeDoubleSlashes(\n `${basename}/${resource}/${encodeURIComponent(id)}`\n );\n }\n case 'show': {\n if (id == null) {\n // maybe the id isn't defined yet\n // instead of throwing an error, fallback to list link\n return removeDoubleSlashes(`${basename}/${resource}`);\n }\n return removeDoubleSlashes(\n `${basename}/${resource}/${encodeURIComponent(id)}/show`\n );\n }\n default:\n return type;\n }\n },\n [basename]\n );\n};\n\ntype AnyString = string & {};\nexport type CreatePathType = 'list' | 'edit' | 'show' | 'create' | AnyString;\n\nexport interface CreatePathParams {\n type: CreatePathType;\n resource?: string;\n id?: Identifier;\n}\n\nexport const removeDoubleSlashes = (path: string) => path.replace('//', '/');\n","import { useCallback } from 'react';\nimport { useNavigate, To } from 'react-router-dom';\nimport { Identifier, RaRecord } from '../types';\n\nimport { useBasename } from './useBasename';\nimport { CreatePathType, useCreatePath } from './useCreatePath';\n\ntype RedirectToFunction = (\n resource?: string,\n id?: Identifier,\n data?: Partial<RaRecord>,\n state?: object\n) => To;\n\nexport type RedirectionSideEffect = CreatePathType | false | RedirectToFunction;\n\n/**\n * Hook for Redirection Side Effect\n *\n * @example\n *\n * const redirect = useRedirect();\n * // redirect to list view\n * redirect('list', 'posts');\n * // redirect to edit view\n * redirect('edit', 'posts', 123);\n * // redirect to edit view with state data\n * redirect('edit', 'comments', 123, {}, { record: { post_id: record.id } });\n * // do not redirect\n * redirect(false);\n * // redirect to the result of a function\n * redirect((resource, id, data) => ...)\n */\nexport const useRedirect = () => {\n const navigate = useNavigate();\n const basename = useBasename();\n const createPath = useCreatePath();\n\n return useCallback(\n (\n redirectTo: RedirectionSideEffect,\n resource: string = '',\n id?: Identifier,\n data?: Partial<RaRecord>,\n state: object = {}\n ) => {\n if (!redirectTo) {\n return;\n } else if (typeof redirectTo === 'function') {\n const target: To = redirectTo(resource, id, data);\n const absoluteTarget =\n typeof target === 'string'\n ? `${basename}/${target}`\n : {\n pathname: `${basename}/${target.pathname}`,\n ...target,\n };\n navigate(absoluteTarget, {\n state: { _scrollToTop: true, ...state },\n });\n return;\n } else if (\n typeof redirectTo === 'string' &&\n redirectTo.startsWith('http') &&\n window\n ) {\n // redirection to an absolute url\n // history doesn't handle that case, so we handle it by hand\n window.location.href = redirectTo;\n return;\n } else {\n // redirection to an internal link\n navigate(createPath({ resource, id, type: redirectTo }), {\n state:\n // We force the scrollToTop except when navigating to a list\n // where this is already done by <RestoreScrollPosition> in <Resource>\n redirectTo === 'list'\n ? state\n : { _scrollToTop: true, ...state },\n });\n return;\n }\n },\n [navigate, basename, createPath]\n );\n};\n","import { useEffect, useRef } from 'react';\nimport { useLocation } from 'react-router';\n\n/**\n * A hook to use inside the component passed to FallbackComponent\n * of react-error-boundary. It resets the error boundary state whenever\n * the location changes\n * @param {Function} resetErrorBoundary\n */\nexport const useResetErrorBoundaryOnLocationChange = (\n resetErrorBoundary: () => void\n) => {\n const { pathname } = useLocation();\n const originalPathname = useRef(pathname);\n\n useEffect(() => {\n if (pathname !== originalPathname.current) {\n resetErrorBoundary();\n }\n }, [pathname, resetErrorBoundary]);\n};\n","import { useEffect } from 'react';\nimport { useLocation } from 'react-router-dom';\n\n/**\n * Scroll the window to top when the target location contains the _scrollToTop state\n *\n * @see CoreAdminRouter where it's enabled by default\n *\n * @example // usage in buttons\n * import { Link } from 'react-router-dom';\n * import { Button } from '@mui/material';\n *\n * const FooButton = () => (\n * <Button\n * component={Link}\n * to={{\n * pathname: '/foo',\n * state: { _scrollToTop: true },\n * }}\n * >\n * Go to foo\n * </Button>\n * );\n */\nexport const useScrollToTop = () => {\n const location = useLocation();\n useEffect(() => {\n if (\n (location.state as any)?._scrollToTop &&\n typeof window != 'undefined' &&\n typeof window.scrollTo === 'function'\n ) {\n window.scrollTo(0, 0);\n }\n }, [location]);\n};\n","export const GET_LIST = 'GET_LIST';\nexport const GET_ONE = 'GET_ONE';\nexport const GET_MANY = 'GET_MANY';\nexport const GET_MANY_REFERENCE = 'GET_MANY_REFERENCE';\nexport const CREATE = 'CREATE';\nexport const UPDATE = 'UPDATE';\nexport const UPDATE_MANY = 'UPDATE_MANY';\nexport const DELETE = 'DELETE';\nexport const DELETE_MANY = 'DELETE_MANY';\n\nexport const fetchActionsWithRecordResponse = ['getOne', 'create', 'update'];\nexport const fetchActionsWithArrayOfIdentifiedRecordsResponse = [\n 'getList',\n 'getMany',\n 'getManyReference',\n];\nexport const fetchActionsWithArrayOfRecordsResponse = [\n ...fetchActionsWithArrayOfIdentifiedRecordsResponse,\n 'updateMany',\n 'deleteMany',\n];\nexport const fetchActionsWithTotalResponse = ['getList', 'getManyReference'];\n\nexport const reactAdminFetchActions = [\n ...fetchActionsWithRecordResponse,\n ...fetchActionsWithArrayOfRecordsResponse,\n];\n\nexport const sanitizeFetchType = (fetchType: string) => {\n switch (fetchType) {\n case GET_LIST:\n return 'getList';\n case GET_ONE:\n return 'getOne';\n case GET_MANY:\n return 'getMany';\n case GET_MANY_REFERENCE:\n return 'getManyReference';\n case CREATE:\n return 'create';\n case UPDATE:\n return 'update';\n case UPDATE_MANY:\n return 'updateMany';\n case DELETE:\n return 'delete';\n case DELETE_MANY:\n return 'deleteMany';\n default:\n return fetchType;\n }\n};\n","import { DataProvider } from '../types';\n\n// avoids adding a context in tests\nexport const defaultDataProvider: DataProvider = {\n create: async () => {\n throw new Error('create is not implemented');\n },\n delete: async () => {\n throw new Error('delete not implemented');\n },\n deleteMany: async () => {\n throw new Error('deleteMany is not implemented');\n },\n getList: async () => {\n throw new Error('getList is not implemented');\n },\n getMany: async () => {\n throw new Error('getMany is not implemented');\n },\n getManyReference: async () => {\n throw new Error('getManyReference is not implemented');\n },\n getOne: async () => {\n throw new Error('getOne is not implemented');\n },\n update: async () => {\n throw new Error('update not implemented');\n },\n updateMany: async () => {\n throw new Error('updateMany not implemented');\n },\n};\n","import {\n CREATE,\n DELETE,\n DELETE_MANY,\n GET_LIST,\n GET_MANY,\n GET_MANY_REFERENCE,\n GET_ONE,\n UPDATE,\n UPDATE_MANY,\n} from './dataFetchActions';\nimport { LegacyDataProvider, DataProvider } from '../types';\nimport { defaultDataProvider } from './defaultDataProvider';\n\nconst fetchMap = {\n create: CREATE,\n delete: DELETE,\n deleteMany: DELETE_MANY,\n getList: GET_LIST,\n getMany: GET_MANY,\n getManyReference: GET_MANY_REFERENCE,\n getOne: GET_ONE,\n update: UPDATE,\n updateMany: UPDATE_MANY,\n};\n\ninterface ConvertedDataProvider extends DataProvider {\n [key: string]: (...params: any) => Promise<any>;\n}\n/**\n * Turn a function-based dataProvider to an object-based one\n *\n * Allows using legacy dataProviders transparently.\n *\n * @param {Function} legacyDataProvider A legacy dataProvider (type, resource, params) => Promise<any>\n *\n * @returns {Object} A dataProvider that react-admin can use\n */\nconst convertLegacyDataProvider = (\n legacyDataProvider: LegacyDataProvider\n): ConvertedDataProvider => {\n const proxy = new Proxy(defaultDataProvider, {\n get(_, name) {\n return (resource, params) => {\n if (Object.keys(fetchMap).includes(name.toString())) {\n const fetchType = fetchMap[name.toString()];\n return legacyDataProvider(fetchType, resource, params);\n }\n\n return legacyDataProvider(name.toString(), resource, params);\n };\n },\n apply(_, __, args) {\n return legacyDataProvider.apply(legacyDataProvider, args);\n },\n });\n\n return proxy;\n};\n\nexport default convertLegacyDataProvider;\n","import { createContext } from 'react';\n\nimport { DataProvider } from '../types';\n\nconst DataProviderContext = createContext<DataProvider | null>(null);\n\nDataProviderContext.displayName = 'DataProviderContext';\n\nexport default DataProviderContext;\n","class HttpError extends Error {\n constructor(\n public readonly message,\n public readonly status,\n public readonly body: any = null\n ) {\n super(message);\n Object.setPrototypeOf(this, HttpError.prototype);\n this.name = this.constructor.name;\n if (typeof Error.captureStackTrace === 'function') {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = new Error(message).stack;\n }\n this.stack = new Error().stack;\n }\n}\n\nexport default HttpError;\n","const token = '%[a-f0-9]{2}';\nconst singleMatcher = new RegExp('(' + token + ')|([^%]+?)', 'gi');\nconst multiMatcher = new RegExp('(' + token + ')+', 'gi');\n\nfunction decodeComponents(components, split) {\n\ttry {\n\t\t// Try to decode the entire string first\n\t\treturn [decodeURIComponent(components.join(''))];\n\t} catch {\n\t\t// Do nothing\n\t}\n\n\tif (components.length === 1) {\n\t\treturn components;\n\t}\n\n\tsplit = split || 1;\n\n\t// Split the array in 2 parts\n\tconst left = components.slice(0, split);\n\tconst right = components.slice(split);\n\n\treturn Array.prototype.concat.call([], decodeComponents(left), decodeComponents(right));\n}\n\nfunction decode(input) {\n\ttry {\n\t\treturn decodeURIComponent(input);\n\t} catch {\n\t\tlet tokens = input.match(singleMatcher) || [];\n\n\t\tfor (let i = 1; i < tokens.length; i++) {\n\t\t\tinput = decodeComponents(tokens, i).join('');\n\n\t\t\ttokens = input.match(singleMatcher) || [];\n\t\t}\n\n\t\treturn input;\n\t}\n}\n\nfunction customDecodeURIComponent(input) {\n\t// Keep track of all the replacements and prefill the map with the `BOM`\n\tconst replaceMap = {\n\t\t'%FE%FF': '\\uFFFD\\uFFFD',\n\t\t'%FF%FE': '\\uFFFD\\uFFFD',\n\t};\n\n\tlet match = multiMatcher.exec(input);\n\twhile (match) {\n\t\ttry {\n\t\t\t// Decode as big chunks as possible\n\t\t\treplaceMap[match[0]] = decodeURIComponent(match[0]);\n\t\t} catch {\n\t\t\tconst result = decode(match[0]);\n\n\t\t\tif (result !== match[0]) {\n\t\t\t\treplaceMap[match[0]] = result;\n\t\t\t}\n\t\t}\n\n\t\tmatch = multiMatcher.exec(input);\n\t}\n\n\t// Add `%C2` at the end of the map to make sure it does not replace the combinator before everything else\n\treplaceMap['%C2'] = '\\uFFFD';\n\n\tconst entries = Object.keys(replaceMap);\n\n\tfor (const key of entries) {\n\t\t// Replace all decoded components\n\t\tinput = input.replace(new RegExp(key, 'g'), replaceMap[key]);\n\t}\n\n\treturn input;\n}\n\nexport default function decodeUriComponent(encodedURI) {\n\tif (typeof encodedURI !== 'string') {\n\t\tthrow new TypeError('Expected `encodedURI` to be of type `string`, got `' + typeof encodedURI + '`');\n\t}\n\n\ttry {\n\t\t// Try the built in decoder first\n\t\treturn decodeURIComponent(encodedURI);\n\t} catch {\n\t\t// Fallback to a more advanced decoder\n\t\treturn customDecodeURIComponent(encodedURI);\n\t}\n}\n","export default function splitOnFirst(string, separator) {\n\tif (!(typeof string === 'string' && typeof separator === 'string')) {\n\t\tthrow new TypeError('Expected the arguments to be of type `string`');\n\t}\n\n\tif (string === '' || separator === '') {\n\t\treturn [];\n\t}\n\n\tconst separatorIndex = string.indexOf(separator);\n\n\tif (separatorIndex === -1) {\n\t\treturn [];\n\t}\n\n\treturn [\n\t\tstring.slice(0, separatorIndex),\n\t\tstring.slice(separatorIndex + separator.length)\n\t];\n}\n","export function includeKeys(object, predicate) {\n\tconst result = {};\n\n\tif (Array.isArray(predicate)) {\n\t\tfor (const key of predicate) {\n\t\t\tconst descriptor = Object.getOwnPropertyDescriptor(object, key);\n\t\t\tif (descriptor?.enumerable) {\n\t\t\t\tObject.defineProperty(result, key, descriptor);\n\t\t\t}\n\t\t}\n\t} else {\n\t\t// `Reflect.ownKeys()` is required to retrieve symbol properties\n\t\tfor (const key of Reflect.ownKeys(object)) {\n\t\t\tconst descriptor = Object.getOwnPropertyDescriptor(object, key);\n\t\t\tif (descriptor.enumerable) {\n\t\t\t\tconst value = object[key];\n\t\t\t\tif (predicate(key, value, object)) {\n\t\t\t\t\tObject.defineProperty(result, key, descriptor);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn result;\n}\n\nexport function excludeKeys(object, predicate) {\n\tif (Array.isArray(predicate)) {\n\t\tconst set = new Set(predicate);\n\t\treturn includeKeys(object, key => !set.has(key));\n\t}\n\n\treturn includeKeys(object, (key, value, object) => !predicate(key, value, object));\n}\n","import decodeComponent from 'decode-uri-component';\nimport splitOnFirst from 'split-on-first';\nimport {includeKeys} from 'filter-obj';\n\nconst isNullOrUndefined = value => value === null || value === undefined;\n\n// eslint-disable-next-line unicorn/prefer-code-point\nconst strictUriEncode = string => encodeURIComponent(string).replaceAll(/[!'()*]/g, x => `%${x.charCodeAt(0).toString(16).toUpperCase()}`);\n\nconst encodeFragmentIdentifier = Symbol('encodeFragmentIdentifier');\n\nfunction encoderForArrayFormat(options) {\n\tswitch (options.arrayFormat) {\n\t\tcase 'index': {\n\t\t\treturn key => (result, value) => {\n\t\t\t\tconst index = result.length;\n\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined\n\t\t\t\t\t|| (options.skipNull && value === null)\n\t\t\t\t\t|| (options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [\n\t\t\t\t\t\t...result, [encode(key, options), '[', index, ']'].join(''),\n\t\t\t\t\t];\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\t...result,\n\t\t\t\t\t[encode(key, options), '[', encode(index, options), ']=', encode(value, options)].join(''),\n\t\t\t\t];\n\t\t\t};\n\t\t}\n\n\t\tcase 'bracket': {\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined\n\t\t\t\t\t|| (options.skipNull && value === null)\n\t\t\t\t\t|| (options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [\n\t\t\t\t\t\t...result,\n\t\t\t\t\t\t[encode(key, options), '[]'].join(''),\n\t\t\t\t\t];\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\t...result,\n\t\t\t\t\t[encode(key, options), '[]=', encode(value, options)].join(''),\n\t\t\t\t];\n\t\t\t};\n\t\t}\n\n\t\tcase 'colon-list-separator': {\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined\n\t\t\t\t\t|| (options.skipNull && value === null)\n\t\t\t\t\t|| (options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [\n\t\t\t\t\t\t...result,\n\t\t\t\t\t\t[encode(key, options), ':list='].join(''),\n\t\t\t\t\t];\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\t...result,\n\t\t\t\t\t[encode(key, options), ':list=', encode(value, options)].join(''),\n\t\t\t\t];\n\t\t\t};\n\t\t}\n\n\t\tcase 'comma':\n\t\tcase 'separator':\n\t\tcase 'bracket-separator': {\n\t\t\tconst keyValueSeparator = options.arrayFormat === 'bracket-separator'\n\t\t\t\t? '[]='\n\t\t\t\t: '=';\n\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined\n\t\t\t\t\t|| (options.skipNull && value === null)\n\t\t\t\t\t|| (options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\t// Translate null to an empty string so that it doesn't serialize as 'null'\n\t\t\t\tvalue = value === null ? '' : value;\n\n\t\t\t\tif (result.length === 0) {\n\t\t\t\t\treturn [[encode(key, options), keyValueSeparator, encode(value, options)].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [[result, encode(value, options)].join(options.arrayFormatSeparator)];\n\t\t\t};\n\t\t}\n\n\t\tdefault: {\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined\n\t\t\t\t\t|| (options.skipNull && value === null)\n\t\t\t\t\t|| (options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [\n\t\t\t\t\t\t...result,\n\t\t\t\t\t\tencode(key, options),\n\t\t\t\t\t];\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\t...result,\n\t\t\t\t\t[encode(key, options), '=', encode(value, options)].join(''),\n\t\t\t\t];\n\t\t\t};\n\t\t}\n\t}\n}\n\nfunction parserForArrayFormat(options) {\n\tlet result;\n\n\tswitch (options.arrayFormat) {\n\t\tcase 'index': {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /\\[(\\d*)]$/.exec(key);\n\n\t\t\t\tkey = key.replace(/\\[\\d*]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = {};\n\t\t\t\t}\n\n\t\t\t\taccumulator[key][result[1]] = value;\n\t\t\t};\n\t\t}\n\n\t\tcase 'bracket': {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /(\\[])$/.exec(key);\n\t\t\t\tkey = key.replace(/\\[]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = [value];\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [...accumulator[key], value];\n\t\t\t};\n\t\t}\n\n\t\tcase 'colon-list-separator': {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /(:list)$/.exec(key);\n\t\t\t\tkey = key.replace(/:list$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = [value];\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [...accumulator[key], value];\n\t\t\t};\n\t\t}\n\n\t\tcase 'comma':\n\t\tcase 'separator': {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tconst isArray = typeof value === 'string' && value.includes(options.arrayFormatSeparator);\n\t\t\t\tconst isEncodedArray = (typeof value === 'string' && !isArray && decode(value, options).includes(options.arrayFormatSeparator));\n\t\t\t\tvalue = isEncodedArray ? decode(value, options) : value;\n\t\t\t\tconst newValue = isArray || isEncodedArray ? value.split(options.arrayFormatSeparator).map(item => decode(item, options)) : (value === null ? value : decode(value, options));\n\t\t\t\taccumulator[key] = newValue;\n\t\t\t};\n\t\t}\n\n\t\tcase 'bracket-separator': {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tconst isArray = /(\\[])$/.test(key);\n\t\t\t\tkey = key.replace(/\\[]$/, '');\n\n\t\t\t\tif (!isArray) {\n\t\t\t\t\taccumulator[key] = value ? decode(value, options) : value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst arrayValue = value === null\n\t\t\t\t\t? []\n\t\t\t\t\t: value.split(options.arrayFormatSeparator).map(item => decode(item, options));\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = arrayValue;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [...accumulator[key], ...arrayValue];\n\t\t\t};\n\t\t}\n\n\t\tdefault: {\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [...[accumulator[key]].flat(), value];\n\t\t\t};\n\t\t}\n\t}\n}\n\nfunction validateArrayFormatSeparator(value) {\n\tif (typeof value !== 'string' || value.length !== 1) {\n\t\tthrow new TypeError('arrayFormatSeparator must be single character string');\n\t}\n}\n\nfunction encode(value, options) {\n\tif (options.encode) {\n\t\treturn options.strict ? strictUriEncode(value) : encodeURIComponent(value);\n\t}\n\n\treturn value;\n}\n\nfunction decode(value, options) {\n\tif (options.decode) {\n\t\treturn decodeComponent(value);\n\t}\n\n\treturn value;\n}\n\nfunction keysSorter(input) {\n\tif (Array.isArray(input)) {\n\t\treturn input.sort();\n\t}\n\n\tif (typeof input === 'object') {\n\t\treturn keysSorter(Object.keys(input))\n\t\t\t.sort((a, b) => Number(a) - Number(b))\n\t\t\t.map(key => input[key]);\n\t}\n\n\treturn input;\n}\n\nfunction removeHash(input) {\n\tconst hashStart = input.indexOf('#');\n\tif (hashStart !== -1) {\n\t\tinput = input.slice(0, hashStart);\n\t}\n\n\treturn input;\n}\n\nfunction getHash(url) {\n\tlet hash = '';\n\tconst hashStart = url.indexOf('#');\n\tif (hashStart !== -1) {\n\t\thash = url.slice(hashStart);\n\t}\n\n\treturn hash;\n}\n\nfunction parseValue(value, options) {\n\tif (options.parseNumbers && !Number.isNaN(Number(value)) && (typeof value === 'string' && value.trim() !== '')) {\n\t\tvalue = Number(value);\n\t} else if (options.parseBooleans && value !== null && (value.toLowerCase() === 'true' || value.toLowerCase() === 'false')) {\n\t\tvalue = value.toLowerCase() === 'true';\n\t}\n\n\treturn value;\n}\n\nexport function extract(input) {\n\tinput = removeHash(input);\n\tconst queryStart = input.indexOf('?');\n\tif (queryStart === -1) {\n\t\treturn '';\n\t}\n\n\treturn input.slice(queryStart + 1);\n}\n\nexport function parse(query, options) {\n\toptions = {\n\t\tdecode: true,\n\t\tsort: true,\n\t\tarrayFormat: 'none',\n\t\tarrayFormatSeparator: ',',\n\t\tparseNumbers: false,\n\t\tparseBooleans: false,\n\t\t...options,\n\t};\n\n\tvalidateArrayFormatSeparator(options.arrayFormatSeparator);\n\n\tconst formatter = parserForArrayFormat(options);\n\n\t// Create an object with no prototype\n\tconst returnValue = Object.create(null);\n\n\tif (typeof query !== 'string') {\n\t\treturn returnValue;\n\t}\n\n\tquery = query.trim().replace(/^[?#&]/, '');\n\n\tif (!query) {\n\t\treturn returnValue;\n\t}\n\n\tfor (const parameter of query.split('&')) {\n\t\tif (parameter === '') {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst parameter_ = options.decode ? parameter.replaceAll('+', ' ') : parameter;\n\n\t\tlet [key, value] = splitOnFirst(parameter_, '=');\n\n\t\tif (key === undefined) {\n\t\t\tkey = parameter_;\n\t\t}\n\n\t\t// Missing `=` should be `null`:\n\t\t// http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters\n\t\tvalue = value === undefined ? null : (['comma', 'separator', 'bracket-separator'].includes(options.arrayFormat) ? value : decode(value, options));\n\t\tformatter(decode(key, options), value, returnValue);\n\t}\n\n\tfor (const [key, value] of Object.entries(returnValue)) {\n\t\tif (typeof value === 'object' && value !== null) {\n\t\t\tfor (const [key2, value2] of Object.entries(value)) {\n\t\t\t\tvalue[key2] = parseValue(value2, options);\n\t\t\t}\n\t\t} else {\n\t\t\treturnValue[key] = parseValue(value, options);\n\t\t}\n\t}\n\n\tif (options.sort === false) {\n\t\treturn returnValue;\n\t}\n\n\t// TODO: Remove the use of `reduce`.\n\t// eslint-disable-next-line unicorn/no-array-reduce\n\treturn (options.sort === true ? Object.keys(returnValue).sort() : Object.keys(returnValue).sort(options.sort)).reduce((result, key) => {\n\t\tconst value = returnValue[key];\n\t\tresult[key] = Boolean(value) && typeof value === 'object' && !Array.isArray(value) ? keysSorter(value) : value;\n\t\treturn result;\n\t}, Object.create(null));\n}\n\nexport function stringify(object, options) {\n\tif (!object) {\n\t\treturn '';\n\t}\n\n\toptions = {\n\t\tencode: true,\n\t\tstrict: true,\n\t\tarrayFormat: 'none',\n\t\tarrayFormatSeparator: ',',\n\t\t...options,\n\t};\n\n\tvalidateArrayFormatSeparator(options.arrayFormatSeparator);\n\n\tconst shouldFilter = key => (\n\t\t(options.skipNull && isNullOrUndefined(object[key]))\n\t\t|| (options.skipEmptyString && object[key] === '')\n\t);\n\n\tconst formatter = encoderForArrayFormat(options);\n\n\tconst objectCopy = {};\n\n\tfor (const [key, value] of Object.entries(object)) {\n\t\tif (!shouldFilter(key)) {\n\t\t\tobjectCopy[key] = value;\n\t\t}\n\t}\n\n\tconst keys = Object.keys(objectCopy);\n\n\tif (options.sort !== false) {\n\t\tkeys.sort(options.sort);\n\t}\n\n\treturn keys.map(key => {\n\t\tconst value = object[key];\n\n\t\tif (value === undefined) {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (value === null) {\n\t\t\treturn encode(key, options);\n\t\t}\n\n\t\tif (Array.isArray(value)) {\n\t\t\tif (value.length === 0 && options.arrayFormat === 'bracket-separator') {\n\t\t\t\treturn encode(key, options) + '[]';\n\t\t\t}\n\n\t\t\treturn value\n\t\t\t\t.reduce(formatter(key), [])\n\t\t\t\t.join('&');\n\t\t}\n\n\t\treturn encode(key, options) + '=' + encode(value, options);\n\t}).filter(x => x.length > 0).join('&');\n}\n\nexport function parseUrl(url, options) {\n\toptions = {\n\t\tdecode: true,\n\t\t...options,\n\t};\n\n\tlet [url_, hash] = splitOnFirst(url, '#');\n\n\tif (url_ === undefined) {\n\t\turl_ = url;\n\t}\n\n\treturn {\n\t\turl: url_?.split('?')?.[0] ?? '',\n\t\tquery: parse(extract(url), options),\n\t\t...(options && options.parseFragmentIdentifier && hash ? {fragmentIdentifier: decode(hash, options)} : {}),\n\t};\n}\n\nexport function stringifyUrl(object, options) {\n\toptions = {\n\t\tencode: true,\n\t\tstrict: true,\n\t\t[encodeFragmentIdentifier]: true,\n\t\t...options,\n\t};\n\n\tconst url = removeHash(object.url).split('?')[0] || '';\n\tconst queryFromUrl = extract(object.url);\n\n\tconst query = {\n\t\t...parse(queryFromUrl, {sort: false}),\n\t\t...object.query,\n\t};\n\n\tlet queryString = stringify(query, options);\n\tqueryString &&= `?${queryString}`;\n\n\tlet hash = getHash(object.url);\n\tif (typeof object.fragmentIdentifier === 'string') {\n\t\tconst urlObjectForFragmentEncode = new URL(url);\n\t\turlObjectForFragmentEncode.hash = object.fragmentIdentifier;\n\t\thash = options[encodeFragmentIdentifier] ? urlObjectForFragmentEncode.hash : `#${object.fragmentIdentifier}`;\n\t}\n\n\treturn `${url}${queryString}${hash}`;\n}\n\nexport function pick(input, filter, options) {\n\toptions = {\n\t\tparseFragmentIdentifier: true,\n\t\t[encodeFragmentIdentifier]: false,\n\t\t...options,\n\t};\n\n\tconst {url, query, fragmentIdentifier} = parseUrl(input, options);\n\n\treturn stringifyUrl({\n\t\turl,\n\t\tquery: includeKeys(query, filter),\n\t\tfragmentIdentifier,\n\t}, options);\n}\n\nexport function exclude(input, filter, options) {\n\tconst exclusionFilter = Array.isArray(filter) ? key => !filter.includes(key) : (key, value) => !filter(key, value);\n\n\treturn pick(input, exclusionFilter, options);\n}\n","import HttpError from './HttpError';\nimport queryString from 'query-string';\n\nexport interface Options extends RequestInit {\n user?: {\n authenticated?: boolean;\n token?: string;\n };\n}\n\nexport const createHeadersFromOptions = (options: Options): Headers => {\n const requestHeaders = (options.headers ||\n new Headers({\n Accept: 'application/json',\n })) as Headers;\n const hasBody = options && options.body;\n const isContentTypeSet = requestHeaders.has('Content-Type');\n const isGetMethod = !options?.method || options?.method === 'GET';\n const isFormData = options?.body instanceof FormData;\n\n const shouldSetContentType =\n hasBody && !isContentTypeSet && !isGetMethod && !isFormData;\n if (shouldSetContentType) {\n requestHeaders.set('Content-Type', 'application/json');\n }\n\n if (options.user && options.user.authenticated && options.user.token) {\n requestHeaders.set('Authorization', options.user.token);\n }\n\n return requestHeaders;\n};\n\n/**\n * Utility function to make HTTP calls. It's similar to the HTML5 `fetch()`, except it handles JSON decoding and HTTP error codes automatically.\n *\n * @param url the URL to call\n * @param options the options to pass to the HTTP call\n * @param options.user the user object, used for the Authorization header\n * @param options.user.token the token to pass as the Authorization header\n * @param options.user.authenticated whether the user is authenticated or not (the Authorization header will be set only if this is true)\n * @param options.headers the headers to pass to the HTTP call\n *\n * @returns {Promise} the Promise for a response object containing the following properties:\n * - status: the HTTP status code\n * - headers: the HTTP headers\n * - body: the response body\n * - json: the response body parsed as JSON\n */\nexport const fetchJson = (url, options: Options = {}) => {\n const requestHeaders = createHeadersFromOptions(options);\n\n return fetch(url, { ...options, headers: requestHeaders })\n .then(response =>\n response.text().then(text => ({\n status: response.status,\n statusText: response.statusText,\n headers: response.headers,\n body: text,\n }))\n )\n .then(({ status, statusText, headers, body }) => {\n let json;\n try {\n json = JSON.parse(body);\n } catch (e) {\n // not json, no big deal\n }\n if (status < 200 || status >= 300) {\n return Promise.reject(\n new HttpError(\n (json && json.message) || statusText,\n status,\n json\n )\n );\n }\n return Promise.resolve({ status, headers, body, json });\n });\n};\n\nexport const queryParameters = queryString.stringify;\n\nconst isValidObject = value => {\n if (!value) {\n return false;\n }\n\n const isArray = Array.isArray(value);\n const isBuffer = typeof Buffer !== 'undefined' && Buffer.isBuffer(value);\n const isObject =\n Object.prototype.toString.call(value) === '[object Object]';\n const hasKeys = !!Object.keys(value).length;\n\n return !isArray && !isBuffer && isObject && hasKeys;\n};\n\nexport const flattenObject = (value: any, path: string[] = []) => {\n if (isValidObject(value)) {\n return Object.assign(\n {},\n ...Object.keys(value).map(key =>\n flattenObject(value[key], path.concat([key]))\n )\n );\n } else {\n return path.length ? { [path.join('.')]: value } : value;\n }\n};\n","'use strict';\n\nvar has = Object.prototype.hasOwnProperty\n , prefix = '~';\n\n/**\n * Constructor to create a storage for our `EE` objects.\n * An `Events` instance is a plain object whose properties are event names.\n *\n * @constructor\n * @private\n */\nfunction Events() {}\n\n//\n// We try to not inherit from `Object.prototype`. In some engines creating an\n// instance in this way is faster than calling `Object.create(null)` directly.\n// If `Object.create(null)` is not supported we prefix the event names with a\n// character to make sure that the built-in object properties are not\n// overridden or used as an attack vector.\n//\nif (Object.create) {\n Events.prototype = Object.create(null);\n\n //\n // This hack is needed because the `__proto__` property is still inherited in\n // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n //\n if (!new Events().__proto__) prefix = false;\n}\n\n/**\n * Representation of a single event listener.\n *\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n * @constructor\n * @private\n */\nfunction EE(fn, context, once) {\n this.fn = fn;\n this.context = context;\n this.once = once || false;\n}\n\n/**\n * Add a listener for a given event.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} once Specify if the listener is a one-time listener.\n * @returns {EventEmitter}\n * @private\n */\nfunction addListener(emitter, event, fn, context, once) {\n if (typeof fn !== 'function') {\n throw new TypeError('The listener must be a function');\n }\n\n var listener = new EE(fn, context || emitter, once)\n , evt = prefix ? prefix + event : event;\n\n if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;\n else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);\n else emitter._events[evt] = [emitter._events[evt], listener];\n\n return emitter;\n}\n\n/**\n * Clear event by name.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} evt The Event name.\n * @private\n */\nfunction clearEvent(emitter, evt) {\n if (--emitter._eventsCount === 0) emitter._events = new Events();\n else delete emitter._events[evt];\n}\n\n/**\n * Minimal `EventEmitter` interface that is molded against the Node.js\n * `EventEmitter` interface.\n *\n * @constructor\n * @public\n */\nfunction EventEmitter() {\n this._events = new Events();\n this._eventsCount = 0;\n}\n\n/**\n * Return an array listing the events for which the emitter has registered\n * listeners.\n *\n * @returns {Array}\n * @public\n */\nEventEmitter.prototype.eventNames = function eventNames() {\n var names = []\n , events\n , name;\n\n if (this._eventsCount === 0) return names;\n\n for (name in (events = this._events)) {\n if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n }\n\n if (Object.getOwnPropertySymbols) {\n return names.concat(Object.getOwnPropertySymbols(events));\n }\n\n return names;\n};\n\n/**\n * Return the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Array} The registered listeners.\n * @public\n */\nEventEmitter.prototype.listeners = function listeners(event) {\n var evt = prefix ? prefix + event : event\n , handlers = this._events[evt];\n\n if (!handlers) return [];\n if (handlers.fn) return [handlers.fn];\n\n for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {\n ee[i] = handlers[i].fn;\n }\n\n return ee;\n};\n\n/**\n * Return the number of listeners listening to a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Number} The number of listeners.\n * @public\n */\nEventEmitter.prototype.listenerCount = function listenerCount(event) {\n var evt = prefix ? prefix + event : event\n , listeners = this._events[evt];\n\n if (!listeners) return 0;\n if (listeners.fn) return 1;\n return listeners.length;\n};\n\n/**\n * Calls each of the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Boolean} `true` if the event had listeners, else `false`.\n * @public\n */\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return false;\n\n var listeners = this._events[evt]\n , len = arguments.length\n , args\n , i;\n\n if (listeners.fn) {\n if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n switch (len) {\n case 1: return listeners.fn.call(listeners.context), true;\n case 2: return listeners.fn.call(listeners.context, a1), true;\n case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n }\n\n for (i = 1, args = new Array(len -1); i < len; i++) {\n args[i - 1] = arguments[i];\n }\n\n listeners.fn.apply(listeners.context, args);\n } else {\n var length = listeners.length\n , j;\n\n for (i = 0; i < length; i++) {\n if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n switch (len) {\n case 1: listeners[i].fn.call(listeners[i].context); break;\n case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;\n default:\n if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\n args[j - 1] = arguments[j];\n }\n\n listeners[i].fn.apply(listeners[i].context, args);\n }\n }\n }\n\n return true;\n};\n\n/**\n * Add a listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.on = function on(event, fn, context) {\n return addListener(this, event, fn, context, false);\n};\n\n/**\n * Add a one-time listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.once = function once(event, fn, context) {\n return addListener(this, event, fn, context, true);\n};\n\n/**\n * Remove the listeners of a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn Only remove the listeners that match this function.\n * @param {*} context Only remove the listeners that have this context.\n * @param {Boolean} once Only remove one-time listeners.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return this;\n if (!fn) {\n clearEvent(this, evt);\n return this;\n }\n\n var listeners = this._events[evt];\n\n if (listeners.fn) {\n if (\n listeners.fn === fn &&\n (!once || listeners.once) &&\n (!context || listeners.context === context)\n ) {\n clearEvent(this, evt);\n }\n } else {\n for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n if (\n listeners[i].fn !== fn ||\n (once && !listeners[i].once) ||\n (context && listeners[i].context !== context)\n ) {\n events.push(listeners[i]);\n }\n }\n\n //\n // Reset the array, or remove it completely if we have no more listeners.\n //\n if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\n else clearEvent(this, evt);\n }\n\n return this;\n};\n\n/**\n * Remove all listeners, or those of the specified event.\n *\n * @param {(String|Symbol)} [event] The event name.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n var evt;\n\n if (event) {\n evt = prefix ? prefix + event : event;\n if (this._events[evt]) clearEvent(this, evt);\n } else {\n this._events = new Events();\n this._eventsCount = 0;\n }\n\n return this;\n};\n\n//\n// Alias methods names because people roll like that.\n//\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n//\n// Expose the prefix.\n//\nEventEmitter.prefixed = prefix;\n\n//\n// Allow `EventEmitter` to be imported as module namespace.\n//\nEventEmitter.EventEmitter = EventEmitter;\n\n//\n// Expose the module.\n//\nif ('undefined' !== typeof module) {\n module.exports = EventEmitter;\n}\n","import EventEmitter from 'eventemitter3';\n\nexport default new EventEmitter();\n","import {\n CreateParams,\n CreateResult,\n DataProvider,\n DeleteManyParams,\n DeleteManyResult,\n DeleteParams,\n DeleteResult,\n GetListParams,\n GetListResult,\n GetManyParams,\n GetManyReferenceParams,\n GetManyReferenceResult,\n GetManyResult,\n GetOneParams,\n GetOneResult,\n RaRecord,\n UpdateManyParams,\n UpdateManyResult,\n UpdateParams,\n UpdateResult,\n} from '../types';\n\n/**\n * Extend a dataProvider to execute callbacks before and after read and write calls.\n *\n * @param {DataProvider} dataProvider The dataProvider to wrap\n * @param {ResourceCallbacks[]} handlers An array of ResourceCallbacks\n *\n * @typedef {Object} ResourceCallbacks\n * @property {string} resource The resource name\n * @property {AfterCreate} [afterCreate] A callback (or array of callbacks) executed after create\n * @property {AfterDelete} [afterDelete] A callback (or array of callbacks) executed after delete\n * @property {AfterDeleteMany} [afterDeleteMany] A callback (or array of callbacks) executed after deleteMany\n * @property {AfterGetList} [afterGetList] A callback (or array of callbacks) executed after getList\n * @property {AfterGetMany} [afterGetMany] A callback (or array of callbacks) executed after getMany\n * @property {AfterGetManyReference} [afterGetManyReference] A callback (or array of callbacks) executed after getManyReference\n * @property {AfterGetOne} [afterGetOne] A callback (or array of callbacks) executed after getOne\n * @property {AfterRead} [afterRead] A callback (or array of callbacks) executed after read (getList, getMany, getManyReference, getOne)\n * @property {AfterSave} [afterSave] A callback (or array of callbacks) executed after save (create, update, updateMany)\n * @property {AfterUpdate} [afterUpdate] A callback (or array of callbacks) executed after update\n * @property {AfterUpdateMany} [afterUpdateMany] A callback (or array of callbacks) executed after updateMany\n * @property {BeforeCreate} [beforeCreate] A callback (or array of callbacks) executed before create\n * @property {BeforeDelete} [beforeDelete] A callback (or array of callbacks) executed before delete\n * @property {BeforeDeleteMany} [beforeDeleteMany] A callback (or array of callbacks) executed before deleteMany\n * @property {BeforeGetList} [beforeGetList] A callback (or array of callbacks) executed before getList\n * @property {BeforeGetMany} [beforeGetMany] A callback (or array of callbacks) executed before getMany\n * @property {BeforeGetManyReference} [beforeGetManyReference] A callback (or array of callbacks) executed before getManyReference\n * @property {BeforeGetOne} [beforeGetOne] A callback (or array of callbacks) executed before getOne\n * @property {BeforeSave} [beforeSave] A callback (or array of callbacks) executed before save (create, update, updateMany)\n * @property {BeforeUpdate} [beforeUpdate] A callback (or array of callbacks) executed before update\n * @property {BeforeUpdateMany} [beforeUpdateMany] A callback (or array of callbacks) executed before updateMany\n *\n * Warnings:\n * - As queries issued in the callbacks are not done through react-query,\n * any change in the data will not be automatically reflected in the UI.\n * - The callbacks are not executed in a transaction. In case of error,\n * the backend may be left in an inconsistent state.\n * - When calling the API directly using fetch or another client,\n * the callbacks will not be executed, leaving the backend in a possibly inconsistent state.\n * - If a callback triggers the query it's listening to, this will lead to a infinite loop.\n *\n * @example\n *\n * const dataProvider = withLifecycleCallbacks(\n * jsonServerProvider(\"http://localhost:3000\"),\n * [\n * {\n * resource: \"posts\",\n * afterRead: async (data, dataProvider, resource) => {\n * // rename field to the record\n * data.user_id = data.userId;\n * return data;\n * },\n * // executed after create, update and updateMany\n * afterSave: async (record, dataProvider, resource) => {\n * // update the author's nb_posts\n * const { total } = await dataProvider.getList(\"users\", {\n * filter: { id: record.user_id },\n * pagination: { page: 1, perPage: 1 },\n * });\n * await dataProvider.update(\"users\", {\n * id: user.id,\n * data: { nb_posts: total },\n * previousData: user,\n * });\n * return record;\n * },\n * beforeDelete: async (params, dataProvider, resource) => {\n * // delete all comments linked to the post\n * const { data: comments } = await dataProvider.getManyReference(\n * \"comments\",\n * {\n * target: \"post_id\",\n * id: params.id,\n * }\n * );\n * if (comments.length > 0) {\n * await dataProvider.deleteMany(\"comments\", {\n * ids: comments.map((comment) => comment.id),\n * });\n * }\n * // update the author's nb_posts\n * const { data: post } = await dataProvider.getOne(\"posts\", {\n * id: params.id,\n * });\n * const { total } = await dataProvider.getList(\"users\", {\n * filter: { id: post.user_id },\n * pagination: { page: 1, perPage: 1 },\n * });\n * await dataProvider.update(\"users\", {\n * id: user.id,\n * data: { nb_posts: total - 1 },\n * previousData: user,\n * });\n * return params;\n * },\n * },\n * ]\n * );\n */\nexport const withLifecycleCallbacks = (\n dataProvider: DataProvider,\n handlers: ResourceCallbacks[]\n): DataProvider => {\n return {\n ...dataProvider,\n\n getList: async function <RecordType extends RaRecord = any>(\n resource: string,\n params: GetListParams\n ) {\n let newParams = params;\n\n newParams = await applyCallbacks({\n name: 'beforeGetList',\n params: newParams,\n dataProvider,\n handlers,\n resource,\n });\n let result = await dataProvider.getList<RecordType>(\n resource,\n newParams\n );\n result = await applyCallbacks({\n name: 'afterGetList',\n params: result,\n dataProvider,\n handlers,\n resource,\n });\n result.data = await Promise.all(\n result.data.map(record =>\n applyCallbacks({\n name: 'afterRead',\n params: record,\n dataProvider,\n handlers,\n resource,\n })\n )\n );\n\n return result;\n },\n\n getOne: async function <RecordType extends RaRecord = any>(\n resource: string,\n params: GetOneParams<RecordType>\n ) {\n let newParams = params;\n\n newParams = await applyCallbacks({\n name: 'beforeGetOne',\n params: newParams,\n dataProvider,\n handlers,\n resource,\n });\n let result = await dataProvider.getOne<RecordType>(\n resource,\n newParams\n );\n result = await applyCallbacks({\n name: 'afterGetOne',\n params: result,\n dataProvider,\n handlers,\n resource,\n });\n result.data = await applyCallbacks({\n name: 'afterRead',\n params: result.data,\n dataProvider,\n handlers,\n resource,\n });\n\n return result;\n },\n\n getMany: async function <RecordType extends RaRecord = any>(\n resource: string,\n params: GetManyParams\n ) {\n let newParams = params;\n\n newParams = await applyCallbacks({\n name: 'beforeGetMany',\n params: newParams,\n dataProvider,\n handlers,\n resource,\n });\n let result = await dataProvider.getMany<RecordType>(\n resource,\n newParams\n );\n result = await applyCallbacks({\n name: 'afterGetMany',\n params: result,\n dataProvider,\n handlers,\n resource,\n });\n result.data = await Promise.all(\n result.data.map(record =>\n applyCallbacks({\n name: 'afterRead',\n params: record,\n dataProvider,\n handlers,\n resource,\n })\n )\n );\n\n return result;\n },\n\n getManyReference: async function <RecordType extends RaRecord = any>(\n resource: string,\n params: GetManyReferenceParams\n ) {\n let newParams = params;\n\n newParams = await applyCallbacks({\n name: 'beforeGetManyReference',\n params: newParams,\n dataProvider,\n handlers,\n resource,\n });\n let result = await dataProvider.getManyReference<RecordType>(\n resource,\n newParams\n );\n result = await applyCallbacks({\n name: 'afterGetManyReference',\n params: result,\n dataProvider,\n handlers,\n resource,\n });\n result.data = await Promise.all(\n result.data.map(record =>\n applyCallbacks({\n name: 'afterRead',\n params: record,\n dataProvider,\n handlers,\n resource,\n })\n )\n );\n return result;\n },\n\n update: async function <RecordType extends RaRecord = any>(\n resource: string,\n params: UpdateParams<RecordType>\n ) {\n let newParams = params;\n\n newParams = await applyCallbacks({\n name: 'beforeUpdate',\n params: newParams,\n dataProvider,\n handlers,\n resource,\n });\n newParams.data = await applyCallbacks({\n name: 'beforeSave',\n params: newParams.data,\n dataProvider,\n handlers,\n resource,\n });\n let result = await dataProvider.update<RecordType>(\n resource,\n newParams\n );\n result = await applyCallbacks({\n name: 'afterUpdate',\n params: result,\n dataProvider,\n handlers,\n resource,\n });\n result.data = await applyCallbacks({\n name: 'afterSave',\n params: result.data,\n dataProvider,\n handlers,\n resource,\n });\n\n return result;\n },\n\n create: async function <RecordType extends RaRecord = any>(\n resource: string,\n params: CreateParams<RecordType>\n ) {\n let newParams = params;\n\n newParams = await applyCallbacks({\n name: 'beforeCreate',\n params: newParams,\n dataProvider,\n handlers,\n resource,\n });\n newParams.data = await applyCallbacks({\n name: 'beforeSave',\n params: newParams.data,\n dataProvider,\n handlers,\n resource,\n });\n let result = await dataProvider.create<RecordType>(\n resource,\n newParams\n );\n result = await applyCallbacks({\n name: 'afterCreate',\n params: result,\n dataProvider,\n handlers,\n resource,\n });\n result.data = await applyCallbacks({\n name: 'afterSave',\n params: result.data,\n dataProvider,\n handlers,\n resource,\n });\n\n return result;\n },\n\n delete: async function <RecordType extends RaRecord = any>(\n resource: string,\n params: DeleteParams<RecordType>\n ) {\n let newParams = params;\n\n newParams = await applyCallbacks({\n name: 'beforeDelete',\n params: newParams,\n dataProvider,\n handlers,\n resource,\n });\n let result = await dataProvider.delete<RecordType>(\n resource,\n newParams\n );\n result = await applyCallbacks({\n name: 'afterDelete',\n params: result,\n dataProvider,\n handlers,\n resource,\n });\n\n return result;\n },\n\n updateMany: async function <RecordType extends RaRecord = any>(\n resource: string,\n params: UpdateManyParams<RecordType>\n ) {\n let newParams = params;\n\n newParams = await applyCallbacks({\n name: 'beforeUpdateMany',\n params: newParams,\n dataProvider,\n handlers,\n resource,\n });\n\n newParams.data = await applyCallbacks({\n name: 'beforeSave',\n params: newParams.data,\n dataProvider,\n handlers,\n resource,\n });\n\n let result = await dataProvider.updateMany<RecordType>(\n resource,\n newParams\n );\n result = await applyCallbacks({\n name: 'afterUpdateMany',\n params: result,\n dataProvider,\n handlers,\n resource,\n });\n\n const afterSaveHandlers = handlers.filter(\n h =>\n (h.resource === resource || h.resource === '*') &&\n h.afterSave\n );\n\n if (afterSaveHandlers.length > 0) {\n const { data: records } = await dataProvider.getMany(resource, {\n //@ts-ignore\n ids: result.data,\n });\n await Promise.all(\n records.map(record =>\n applyCallbacks({\n name: 'afterSave',\n params: record,\n dataProvider,\n handlers,\n resource,\n })\n )\n );\n }\n\n return result;\n },\n\n deleteMany: async function <RecordType extends RaRecord = any>(\n resource: string,\n params: DeleteManyParams<RecordType>\n ) {\n let newParams = params;\n\n newParams = await applyCallbacks({\n name: 'beforeDeleteMany',\n params: newParams,\n dataProvider,\n handlers,\n resource,\n });\n let result = await dataProvider.deleteMany<RecordType>(\n resource,\n newParams\n );\n result = await applyCallbacks({\n name: 'afterDeleteMany',\n params: result,\n dataProvider,\n handlers,\n resource,\n });\n\n return result;\n },\n };\n};\n\n/**\n * Apply callbacks to the params for the given resource and hook\n * @param {DataProvider} dataProvider The dataProvider\n * @param {ResourceCallbacks[]} handlers An array of ResourceCallbacks\n * @param {string} resource The resource name\n * @param {string} hook The hook name (beforeGetList, afterGetOne, etc.)\n * @param {U} params The params / result to pass to the callbacks\n * @returns {Promise<U>} The params / result after the callbacks have been applied\n */\nexport const applyCallbacks = async function <U>({\n name,\n params,\n dataProvider,\n handlers,\n resource,\n}: {\n name: string;\n params: U;\n dataProvider: DataProvider;\n handlers: ResourceCallbacks[];\n resource: string;\n}): Promise<U> {\n let newParams = params;\n const handlersToApply = handlers.filter(\n h => (h.resource === resource || h.resource === '*') && h[name]\n );\n for (let handler of handlersToApply) {\n const callbacksValue: ResourceCallbacksValue<any> = handler[name];\n if (Array.isArray(callbacksValue)) {\n for (let callback of callbacksValue ?? []) {\n newParams = await callback(newParams, dataProvider, resource);\n }\n } else {\n newParams = await callbacksValue(newParams, dataProvider, resource);\n }\n }\n return newParams;\n};\n\nexport type ResourceCallback<U> = {\n (params: U, dataProvider: DataProvider, resource: string): Promise<U>;\n};\n\nexport type ResourceCallbacksValue<V> =\n | ResourceCallback<V>\n | ResourceCallback<V>[];\n\nexport type ResourceCallbacks<T extends RaRecord = any> = {\n resource: string;\n afterCreate?: ResourceCallbacksValue<CreateResult<T>>;\n afterDelete?: ResourceCallbacksValue<DeleteResult<T>>;\n afterDeleteMany?: ResourceCallbacksValue<DeleteManyResult<T>>;\n afterGetList?: ResourceCallbacksValue<GetListResult<T>>;\n afterGetMany?: ResourceCallbacksValue<GetManyResult<T>>;\n afterGetManyReference?: ResourceCallbacksValue<GetManyReferenceResult<T>>;\n afterGetOne?: ResourceCallbacksValue<GetOneResult<T>>;\n afterUpdate?: ResourceCallbacksValue<UpdateResult<T>>;\n afterUpdateMany?: ResourceCallbacksValue<UpdateManyResult<T>>;\n beforeCreate?: ResourceCallbacksValue<CreateParams<T>>;\n beforeDelete?: ResourceCallbacksValue<DeleteParams<T>>;\n beforeDeleteMany?: ResourceCallbacksValue<DeleteManyParams<T>>;\n beforeGetList?: ResourceCallbacksValue<GetListParams>;\n beforeGetMany?: ResourceCallbacksValue<GetManyParams>;\n beforeGetManyReference?: ResourceCallbacksValue<GetManyReferenceParams>;\n beforeGetOne?: ResourceCallbacksValue<GetOneParams<T>>;\n beforeUpdate?: ResourceCallbacksValue<UpdateParams<T>>;\n beforeUpdateMany?: ResourceCallbacksValue<UpdateManyParams<T>>;\n\n // The following hooks don't match a dataProvider method\n\n /**\n * Modify the data before it is sent to the dataProvider.\n *\n * Used in create, update, and updateMany\n *\n * Note: This callback doesn't modify the record itself, but the data argument\n * (which may be a diff, especially when called with updateMany).\n */\n beforeSave?: ResourceCallbacksValue<T>;\n /**\n * Update a record after it has been read from the dataProvider\n *\n * Used in getOne, getList, getMany, and getManyReference\n */\n afterRead?: ResourceCallbacksValue<T>;\n /**\n * Use the record after it is returned by the dataProvider.\n *\n * Used in create, update, and updateMany\n */\n afterSave?: ResourceCallbacksValue<T>;\n};\n","import { useCallback } from 'react';\n\nimport useAuthProvider from './useAuthProvider';\nimport useLogout from './useLogout';\nimport { useNotify } from '../notification';\nimport { useNavigate } from 'react-router';\n\nlet timer;\n\n/**\n * Returns a callback used to call the authProvider.checkError() method\n * and an error from the dataProvider. If the authProvider rejects the call,\n * the hook logs the user out and shows a logged out notification.\n *\n * Used in the useDataProvider hook to check for access denied responses\n * (e.g. 401 or 403 responses) and trigger a logout.\n *\n * @see useLogout\n * @see useDataProvider\n *\n * @returns {Function} logoutIfAccessDenied callback\n *\n * @example\n *\n * import { useLogoutIfAccessDenied, useNotify, DataProviderContext } from 'react-admin';\n *\n * const FetchRestrictedResource = () => {\n * const dataProvider = useContext(DataProviderContext);\n * const logoutIfAccessDenied = useLogoutIfAccessDenied();\n * const notify = useNotify()\n * useEffect(() => {\n * dataProvider.getOne('secret', { id: 123 })\n * .catch(error => {\n * logoutIfAccessDenied(error);\n * notify('server error', { type: 'error' });\n * })\n * }, []);\n * // ...\n * }\n */\nconst useLogoutIfAccessDenied = (): LogoutIfAccessDenied => {\n const authProvider = useAuthProvider();\n const logout = useLogout();\n const notify = useNotify();\n const navigate = useNavigate();\n const logoutIfAccessDenied = useCallback(\n (error?: any) => {\n if (!authProvider) {\n return logoutIfAccessDeniedWithoutProvider();\n }\n return authProvider\n .checkError(error)\n .then(() => false)\n .catch(async e => {\n const logoutUser = e?.logoutUser ?? true;\n //manual debounce\n if (timer) {\n // side effects already triggered in this tick, exit\n return true;\n }\n timer = setTimeout(() => {\n timer = undefined;\n }, 0);\n\n const redirectTo =\n e && e.redirectTo != null\n ? e.redirectTo\n : error && error.redirectTo\n ? error.redirectTo\n : undefined;\n\n const shouldNotify = !(\n (e && e.message === false) ||\n (error && error.message === false) ||\n redirectTo?.startsWith('http')\n );\n if (shouldNotify) {\n // notify only if not yet logged out\n authProvider\n .checkAuth({})\n .then(() => {\n if (logoutUser) {\n notify(\n getErrorMessage(\n e,\n 'ra.notification.logged_out'\n ),\n { type: 'error' }\n );\n } else {\n notify(\n getErrorMessage(\n e,\n 'ra.notification.not_authorized'\n ),\n { type: 'error' }\n );\n }\n })\n .catch(() => {});\n }\n\n if (logoutUser) {\n logout({}, redirectTo);\n } else {\n if (redirectTo.startsWith('http')) {\n // absolute link (e.g. https://my.oidc.server/login)\n window.location.href = redirectTo;\n } else {\n // internal location\n navigate(redirectTo);\n }\n }\n\n return true;\n });\n },\n [authProvider, logout, notify, navigate]\n );\n return logoutIfAccessDenied;\n};\n\nconst logoutIfAccessDeniedWithoutProvider = () => Promise.resolve(false);\n\n/**\n * Call the authProvider.authError() method, using the error passed as argument.\n * If the authProvider rejects the call, logs the user out and shows a logged out notification.\n *\n * @param {Error} error An Error object (usually returned by the dataProvider)\n *\n * @return {Promise} Resolved to true if there was a logout, false otherwise\n */\ntype LogoutIfAccessDenied = (error?: any) => Promise<boolean>;\n\nconst getErrorMessage = (error, defaultMessage) =>\n typeof error === 'string'\n ? error\n : typeof error === 'undefined' || !error.message\n ? defaultMessage\n : error.message;\n\nexport default useLogoutIfAccessDenied;\n","import { useContext, useMemo } from 'react';\n\nimport DataProviderContext from './DataProviderContext';\nimport { defaultDataProvider } from './defaultDataProvider';\nimport validateResponseFormat from './validateResponseFormat';\nimport { DataProvider } from '../types';\nimport useLogoutIfAccessDenied from '../auth/useLogoutIfAccessDenied';\nimport { reactAdminFetchActions } from './dataFetchActions';\n\n/**\n * Hook for getting a dataProvider\n *\n * Gets a dataProvider object, which behaves just like the real dataProvider\n * (same methods returning a Promise). But it's actually a Proxy object,\n * which validates the response format, and logs the user out upon error\n * if authProvider.checkError() rejects.\n *\n * @return dataProvider\n *\n * @example Basic usage\n *\n * import * as React from 'react';\n * import { useState } from 'react';\n * import { useDataProvider } from 'react-admin';\n *\n * const PostList = () => {\n * const [posts, setPosts] = useState([])\n * const dataProvider = useDataProvider();\n * useEffect(() => {\n * dataProvider.getList('posts', { filter: { status: 'pending' }})\n * .then(({ data }) => setPosts(data));\n * }, [])\n *\n * return (\n * <Fragment>\n * {posts.map((post, key) => <PostDetail post={post} key={key} />)}\n * </Fragment>\n * );\n * }\n *\n * @example Handling all states (loading, error, success)\n *\n * import { useState, useEffect } from 'react';\n * import { useDataProvider } from 'react-admin';\n *\n * const UserProfile = ({ userId }) => {\n * const dataProvider = useDataProvider();\n * const [user, setUser] = useState();\n * const [loading, setLoading] = useState(true);\n * const [error, setError] = useState();\n * useEffect(() => {\n * dataProvider.getOne('users', { id: userId })\n * .then(({ data }) => {\n * setUser(data);\n * setLoading(false);\n * })\n * .catch(error => {\n * setError(error);\n * setLoading(false);\n * })\n * }, []);\n *\n * if (loading) return <Loading />;\n * if (error) return <Error />\n * if (!user) return null;\n *\n * return (\n * <ul>\n * <li>Name: {user.name}</li>\n * <li>Email: {user.email}</li>\n * </ul>\n * )\n * }\n */\n\nconst arrayReturnTypes = ['getList', 'getMany', 'getManyReference'];\n\nexport const useDataProvider = <\n TDataProvider extends DataProvider = DataProvider\n>(): TDataProvider => {\n const dataProvider = ((useContext(DataProviderContext) ||\n defaultDataProvider) as unknown) as TDataProvider;\n\n const logoutIfAccessDenied = useLogoutIfAccessDenied();\n\n const dataProviderProxy = useMemo(() => {\n return new Proxy(dataProvider, {\n get: (target, name) => {\n if (typeof name === 'symbol' || name === 'then') {\n return;\n }\n return (...args) => {\n const type = name.toString();\n\n if (typeof dataProvider[type] !== 'function') {\n throw new Error(\n `Unknown dataProvider function: ${type}`\n );\n }\n\n try {\n return dataProvider[type]\n .apply(dataProvider, args)\n .then(response => {\n if (\n process.env.NODE_ENV !== 'production' &&\n reactAdminFetchActions.includes(type)\n ) {\n validateResponseFormat(response, type);\n }\n return response;\n })\n .catch(error => {\n if (\n process.env.NODE_ENV !== 'production' &&\n // do not log AbortErrors\n !isAbortError(error)\n ) {\n console.error(error);\n }\n return logoutIfAccessDenied(error).then(\n loggedOut => {\n if (loggedOut)\n return {\n data: arrayReturnTypes.includes(\n type\n )\n ? []\n : {},\n };\n throw error;\n }\n );\n });\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n console.error(e);\n }\n throw new Error(\n 'The dataProvider threw an error. It should return a rejected Promise instead.'\n );\n }\n };\n },\n });\n }, [dataProvider, logoutIfAccessDenied]);\n\n return dataProviderProxy;\n};\n\nconst isAbortError = error =>\n error instanceof DOMException &&\n (error as DOMException).name === 'AbortError';\n","import React from 'react';\n\nimport { notifyManager, useQueryClient } from '@tanstack/react-query';\n\n/**\n * Get the state of the dataProvider connection.\n *\n * Returns true if a query or a mutation is pending.\n *\n * Custom implementation because react-query's useIsFetching and useIsMutating\n * render each time the number of active queries changes, which is too often.\n *\n * @see useIsFetching\n * @see useIsMutating\n */\nexport const useLoading = (): boolean => {\n const client = useQueryClient();\n const mountedRef = React.useRef(false);\n const isFetchingRef = React.useRef(client.isFetching() > 0);\n const isMutatingRef = React.useRef(client.isMutating() > 0);\n\n const [isLoading, setIsLoading] = React.useState<boolean>(\n isFetchingRef.current || isMutatingRef.current\n );\n\n React.useEffect(() => {\n mountedRef.current = true;\n\n const unsubscribeQueryCache = client.getQueryCache().subscribe(\n notifyManager.batchCalls(() => {\n if (mountedRef.current) {\n isFetchingRef.current = client.isFetching() > 0;\n setIsLoading(\n isFetchingRef.current || isMutatingRef.current\n );\n }\n })\n );\n\n const unsubscribeMutationCache = client.getMutationCache().subscribe(\n notifyManager.batchCalls(() => {\n if (mountedRef.current) {\n isMutatingRef.current = client.isMutating() > 0;\n setIsLoading(\n isFetchingRef.current || isMutatingRef.current\n );\n }\n })\n );\n\n return () => {\n mountedRef.current = false;\n unsubscribeQueryCache();\n unsubscribeMutationCache();\n };\n }, [client]);\n\n return isLoading;\n};\n","import { useCallback } from 'react';\nimport { useQueryClient } from '@tanstack/react-query';\n\n/**\n * Hook for triggering a page refresh. Returns a callback function.\n *\n * The callback invalidates all queries and refetches the active ones.\n * Any component depending on react-query data will be re-rendered.\n *\n * @example\n *\n * const refresh = useRefresh();\n * const handleClick = () => {\n * refresh();\n * };\n */\nexport const useRefresh = () => {\n const queryClient = useQueryClient();\n return useCallback(() => {\n queryClient.invalidateQueries();\n }, [queryClient]);\n};\n","import { RaRecord, GetOneParams, GetOneResult } from '../types';\nimport {\n useQuery,\n UseQueryOptions,\n UseQueryResult,\n} from '@tanstack/react-query';\nimport { useDataProvider } from './useDataProvider';\nimport { useEffect } from 'react';\nimport { useEvent } from '../util';\n\n/**\n * Call the dataProvider.getOne() method and return the resolved value\n * as well as the loading state.\n *\n * The return value updates according to the request state:\n *\n * - start: { isPending: true, isFetching: true, refetch }\n * - success: { data: [data from response], isPending: false, refetch }\n * - error: { error: [error from response], isPending: false, refetch }\n *\n * This hook will return the cached result when called a second time\n * with the same parameters, until the response arrives.\n *\n * @param resource The resource name, e.g. 'posts'\n * @param {Params} params The getOne parameters { id, meta }, e.g. { id: 123 }\n * @param {Options} options Options object to pass to the react-query queryClient.\n *\n * @typedef Params\n * @prop id a resource identifier, e.g. 123\n *\n * @typedef Options\n * @prop enabled Flag to conditionally run the query. If it's false, the query will not run\n * @prop onSuccess Side effect function to be executed upon success, e.g. { onSuccess: { refresh: true } }\n * @prop onError Side effect function to be executed upon failure, e.g. { onError: error => notify(error.message) }\n *\n * @returns The current request state. Destructure as { data, error, isPending, refetch }.\n *\n * @example\n *\n * import { useGetOne, useRecordContext } from 'react-admin';\n *\n * const UserProfile = () => {\n * const record = useRecordContext();\n * const { data, isPending, error } = useGetOne('users', { id: record.id });\n * if (isPending) { return <Loading />; }\n * if (error) { return <p>ERROR</p>; }\n * return <div>User {data.username}</div>;\n * };\n */\nexport const useGetOne = <RecordType extends RaRecord = any>(\n resource: string,\n { id, meta }: GetOneParams<RecordType>,\n options: UseGetOneOptions<RecordType> = {}\n): UseGetOneHookValue<RecordType> => {\n const dataProvider = useDataProvider();\n const {\n onError = noop,\n onSuccess = noop,\n onSettled = noop,\n ...queryOptions\n } = options;\n const onSuccessEvent = useEvent(onSuccess);\n const onErrorEvent = useEvent(onError);\n const onSettledEvent = useEvent(onSettled);\n\n const result = useQuery<RecordType>({\n // Sometimes the id comes as a string (e.g. when read from the URL in a Show view).\n // Sometimes the id comes as a number (e.g. when read from a Record in useGetList response).\n // As the react-query cache is type-sensitive, we always stringify the identifier to get a match\n queryKey: [resource, 'getOne', { id: String(id), meta }],\n queryFn: ({ signal }) =>\n dataProvider\n .getOne<RecordType>(resource, { id, meta, signal })\n .then(({ data }) => data),\n ...queryOptions,\n });\n\n useEffect(() => {\n if (result.data === undefined || result.isFetching) return;\n onSuccessEvent(result.data);\n }, [onSuccessEvent, result.data, result.isFetching]);\n\n useEffect(() => {\n if (result.error == null || result.isFetching) return;\n onErrorEvent(result.error);\n }, [onErrorEvent, result.error, result.isFetching]);\n\n useEffect(() => {\n if (result.status === 'pending' || result.isFetching) return;\n onSettledEvent(result.data, result.error);\n }, [\n onSettledEvent,\n result.data,\n result.error,\n result.status,\n result.isFetching,\n ]);\n\n return result;\n};\n\nconst noop = () => undefined;\n\nexport type UseGetOneOptions<RecordType extends RaRecord = any> = Omit<\n UseQueryOptions<GetOneResult<RecordType>['data']>,\n 'queryKey' | 'queryFn'\n> & {\n onSuccess?: (data: GetOneResult<RecordType>['data']) => void;\n onError?: (error: Error) => void;\n onSettled?: (\n data?: GetOneResult<RecordType>['data'],\n error?: Error | null\n ) => void;\n};\n\nexport type UseGetOneHookValue<\n RecordType extends RaRecord = any\n> = UseQueryResult<GetOneResult<RecordType>['data']>;\n","import { useEffect, useMemo, useRef } from 'react';\nimport {\n useQuery,\n UseQueryOptions,\n UseQueryResult,\n useQueryClient,\n} from '@tanstack/react-query';\n\nimport { RaRecord, GetListParams, GetListResult } from '../types';\nimport { useDataProvider } from './useDataProvider';\nimport { useEvent } from '../util';\n\nconst MAX_DATA_LENGTH_TO_CACHE = 100;\n\n/**\n * Call the dataProvider.getList() method and return the resolved result\n * as well as the loading state.\n *\n * The return value updates according to the request state:\n *\n * - start: { isPending: true, refetch }\n * - success: { data: [data from store], total: [total from response], isPending: false, refetch }\n * - error: { error: [error from response], isPending: false, refetch }\n *\n * This hook will return the cached result when called a second time\n * with the same parameters, until the response arrives.\n *\n * @param {string} resource The resource name, e.g. 'posts'\n * @param {Params} params The getList parameters { pagination, sort, filter, meta }\n * @param {Object} options Options object to pass to the queryClient.\n * May include side effects to be executed upon success or failure, e.g. { onSuccess: () => { refresh(); } }\n *\n * @typedef Params\n * @prop params.pagination The request pagination { page, perPage }, e.g. { page: 1, perPage: 10 }\n * @prop params.sort The request sort { field, order }, e.g. { field: 'id', order: 'DESC' }\n * @prop params.filter The request filters, e.g. { title: 'hello, world' }\n * @prop params.meta Optional meta parameters\n *\n * @returns The current request state. Destructure as { data, total, error, isPending, refetch }.\n *\n * @example\n *\n * import { useGetList } from 'react-admin';\n *\n * const LatestNews = () => {\n * const { data, total, isPending, error } = useGetList(\n * 'posts',\n * { pagination: { page: 1, perPage: 10 }, sort: { field: 'published_at', order: 'DESC' } }\n * );\n * if (isPending) { return <Loading />; }\n * if (error) { return <p>ERROR</p>; }\n * return <ul>{data.map(item =>\n * <li key={item.id}>{item.title}</li>\n * )}</ul>;\n * };\n */\nexport const useGetList = <RecordType extends RaRecord = any>(\n resource: string,\n params: Partial<GetListParams> = {},\n options: UseGetListOptions<RecordType> = {}\n): UseGetListHookValue<RecordType> => {\n const {\n pagination = { page: 1, perPage: 25 },\n sort = { field: 'id', order: 'DESC' },\n filter = {},\n meta,\n } = params;\n const dataProvider = useDataProvider();\n const queryClient = useQueryClient();\n const {\n onError = noop,\n onSuccess = noop,\n onSettled = noop,\n ...queryOptions\n } = options;\n const onSuccessEvent = useEvent(onSuccess);\n const onErrorEvent = useEvent(onError);\n const onSettledEvent = useEvent(onSettled);\n\n const result = useQuery<\n GetListResult<RecordType>,\n Error,\n GetListResult<RecordType>\n >({\n queryKey: [resource, 'getList', { pagination, sort, filter, meta }],\n queryFn: ({ signal }) =>\n dataProvider\n .getList<RecordType>(resource, {\n pagination,\n sort,\n filter,\n meta,\n signal,\n })\n .then(({ data, total, pageInfo }) => ({\n data,\n total,\n pageInfo,\n })),\n ...queryOptions,\n });\n\n const metaValue = useRef(meta);\n const resourceValue = useRef(resource);\n\n useEffect(() => {\n metaValue.current = meta;\n }, [meta]);\n\n useEffect(() => {\n resourceValue.current = resource;\n }, [resource]);\n\n useEffect(() => {\n if (result.data === undefined || result.isFetching) return;\n\n // optimistically populate the getOne cache\n if (\n result.data?.data &&\n result.data.data.length <= MAX_DATA_LENGTH_TO_CACHE\n ) {\n result.data.data.forEach(record => {\n queryClient.setQueryData(\n [\n resourceValue.current,\n 'getOne',\n { id: String(record.id), meta: metaValue.current },\n ],\n oldRecord => oldRecord ?? record\n );\n });\n }\n onSuccessEvent(result.data);\n }, [onSuccessEvent, queryClient, result.data, result.isFetching]);\n\n useEffect(() => {\n if (result.error == null || result.isFetching) return;\n onErrorEvent(result.error);\n }, [onErrorEvent, result.error, result.isFetching]);\n\n useEffect(() => {\n if (result.status === 'pending' || result.isFetching) return;\n onSettledEvent(result.data, result.error);\n }, [\n onSettledEvent,\n result.data,\n result.error,\n result.status,\n result.isFetching,\n ]);\n\n return useMemo(\n () =>\n result.data\n ? {\n ...result,\n data: result.data?.data,\n total: result.data?.total,\n pageInfo: result.data?.pageInfo,\n }\n : result,\n [result]\n ) as UseQueryResult<RecordType[], Error> & {\n total?: number;\n pageInfo?: {\n hasNextPage?: boolean;\n hasPreviousPage?: boolean;\n };\n };\n};\n\nconst noop = () => undefined;\n\nexport type UseGetListOptions<RecordType extends RaRecord = any> = Omit<\n UseQueryOptions<GetListResult<RecordType>, Error>,\n 'queryKey' | 'queryFn'\n> & {\n onSuccess?: (value: GetListResult<RecordType>) => void;\n onError?: (error: Error) => void;\n onSettled?: (\n data?: GetListResult<RecordType>,\n error?: Error | null\n ) => void;\n};\n\nexport type UseGetListHookValue<\n RecordType extends RaRecord = any\n> = UseQueryResult<RecordType[], Error> & {\n total?: number;\n pageInfo?: {\n hasNextPage?: boolean;\n hasPreviousPage?: boolean;\n };\n};\n","import { useEffect, useRef } from 'react';\nimport {\n useQuery,\n UseQueryOptions,\n UseQueryResult,\n useQueryClient,\n hashKey,\n} from '@tanstack/react-query';\n\nimport { RaRecord, GetManyParams } from '../types';\nimport { useDataProvider } from './useDataProvider';\nimport { useEvent } from '../util';\n\n/**\n * Call the dataProvider.getMany() method and return the resolved result\n * as well as the loading state.\n *\n * The return value updates according to the request state:\n *\n * - start: { isPending: true, refetch }\n * - success: { data: [data from store], isPending: false, refetch }\n * - error: { error: [error from response], isPending: false, refetch }\n *\n * This hook will return the cached result when called a second time\n * with the same parameters, until the response arrives.\n *\n * @param {string} resource The resource name, e.g. 'posts'\n * @param {Params} params The getMany parameters { ids, meta }\n * @param {Object} options Options object to pass to the queryClient.\n * May include side effects to be executed upon success or failure, e.g. { onSuccess: () => { refresh(); } }\n *\n * @typedef Params\n * @prop params.ids The ids to get, e.g. [123, 456, 789]\n * @prop params.meta Optional meta parameters\n *\n * @returns The current request state. Destructure as { data, error, isPending, refetch }.\n *\n * @example\n *\n * import { useGetMany } from 'react-admin';\n *\n * const PostTags = ({ post }) => {\n * const { data, isPending, error } = useGetMany(\n * 'tags',\n * { ids: post.tags },\n * );\n * if (isPending) { return <Loading />; }\n * if (error) { return <p>ERROR</p>; }\n * return <ul>{data.map(tag =>\n * <li key={tag.id}>{tag.name}</li>\n * )}</ul>;\n * };\n */\nexport const useGetMany = <RecordType extends RaRecord = any>(\n resource: string,\n params: Partial<GetManyParams> = {},\n options: UseGetManyOptions<RecordType> = {}\n): UseGetManyHookValue<RecordType> => {\n const { ids, meta } = params;\n const dataProvider = useDataProvider();\n const queryClient = useQueryClient();\n const queryCache = queryClient.getQueryCache();\n const {\n onError = noop,\n onSuccess = noop,\n onSettled = noop,\n ...queryOptions\n } = options;\n const onSuccessEvent = useEvent(onSuccess);\n const onErrorEvent = useEvent(onError);\n const onSettledEvent = useEvent(onSettled);\n\n const result = useQuery<RecordType[], Error, RecordType[]>({\n queryKey: [\n resource,\n 'getMany',\n {\n ids: !ids || ids.length === 0 ? [] : ids.map(id => String(id)),\n meta,\n },\n ],\n queryFn: ({ signal }) => {\n if (!ids || ids.length === 0) {\n // no need to call the dataProvider\n return Promise.resolve([]);\n }\n return dataProvider\n .getMany<RecordType>(resource, { ids, meta, signal })\n .then(({ data }) => data);\n },\n placeholderData: () => {\n const records =\n !ids || ids.length === 0\n ? []\n : ids.map(id => {\n const queryHash = hashKey([\n resource,\n 'getOne',\n { id: String(id), meta },\n ]);\n return queryCache.get<RecordType>(queryHash)?.state\n ?.data;\n });\n if (records.some(record => record === undefined)) {\n return undefined;\n } else {\n return records as RecordType[];\n }\n },\n retry: false,\n ...queryOptions,\n });\n\n const metaValue = useRef(meta);\n const resourceValue = useRef(resource);\n\n useEffect(() => {\n metaValue.current = meta;\n }, [meta]);\n\n useEffect(() => {\n resourceValue.current = resource;\n }, [resource]);\n\n useEffect(() => {\n if (result.data === undefined || result.isFetching) return;\n // optimistically populate the getOne cache\n result.data.forEach(record => {\n queryClient.setQueryData(\n [\n resourceValue.current,\n 'getOne',\n { id: String(record.id), meta: metaValue.current },\n ],\n oldRecord => oldRecord ?? record\n );\n });\n\n onSuccessEvent(result.data);\n }, [queryClient, onSuccessEvent, result.data, result.isFetching]);\n\n useEffect(() => {\n if (result.error == null || result.isFetching) return;\n onErrorEvent(result.error);\n }, [onErrorEvent, result.error, result.isFetching]);\n\n useEffect(() => {\n if (result.status === 'pending' || result.isFetching) return;\n onSettledEvent(result.data, result.error);\n }, [\n onSettledEvent,\n result.data,\n result.error,\n result.status,\n result.isFetching,\n ]);\n\n return result;\n};\n\nconst noop = () => undefined;\n\nexport type UseGetManyOptions<RecordType extends RaRecord = any> = Omit<\n UseQueryOptions<RecordType[], Error>,\n 'queryKey' | 'queryFn'\n> & {\n onSuccess?: (data: RecordType[]) => void;\n onError?: (error: Error) => void;\n onSettled?: (data?: RecordType[], error?: Error | null) => void;\n};\n\nexport type UseGetManyHookValue<\n RecordType extends RaRecord = any\n> = UseQueryResult<RecordType[], Error>;\n","var Symbol = require('./_Symbol'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray');\n\n/** Built-in value references. */\nvar spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined;\n\n/**\n * Checks if `value` is a flattenable `arguments` object or array.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.\n */\nfunction isFlattenable(value) {\n return isArray(value) || isArguments(value) ||\n !!(spreadableSymbol && value && value[spreadableSymbol]);\n}\n\nmodule.exports = isFlattenable;\n","var arrayPush = require('./_arrayPush'),\n isFlattenable = require('./_isFlattenable');\n\n/**\n * The base implementation of `_.flatten` with support for restricting flattening.\n *\n * @private\n * @param {Array} array The array to flatten.\n * @param {number} depth The maximum recursion depth.\n * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.\n * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.\n * @param {Array} [result=[]] The initial result value.\n * @returns {Array} Returns the new flattened array.\n */\nfunction baseFlatten(array, depth, predicate, isStrict, result) {\n var index = -1,\n length = array.length;\n\n predicate || (predicate = isFlattenable);\n result || (result = []);\n\n while (++index < length) {\n var value = array[index];\n if (depth > 0 && predicate(value)) {\n if (depth > 1) {\n // Recursively flatten arrays (susceptible to call stack limits).\n baseFlatten(value, depth - 1, predicate, isStrict, result);\n } else {\n arrayPush(result, value);\n }\n } else if (!isStrict) {\n result[result.length] = value;\n }\n }\n return result;\n}\n\nmodule.exports = baseFlatten;\n","/**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = baseFindIndex;\n","/**\n * The base implementation of `_.isNaN` without support for number objects.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n */\nfunction baseIsNaN(value) {\n return value !== value;\n}\n\nmodule.exports = baseIsNaN;\n","/**\n * A specialized version of `_.indexOf` which performs strict equality\n * comparisons of values, i.e. `===`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction strictIndexOf(array, value, fromIndex) {\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = strictIndexOf;\n","var baseFindIndex = require('./_baseFindIndex'),\n baseIsNaN = require('./_baseIsNaN'),\n strictIndexOf = require('./_strictIndexOf');\n\n/**\n * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseIndexOf(array, value, fromIndex) {\n return value === value\n ? strictIndexOf(array, value, fromIndex)\n : baseFindIndex(array, baseIsNaN, fromIndex);\n}\n\nmodule.exports = baseIndexOf;\n","var baseIndexOf = require('./_baseIndexOf');\n\n/**\n * A specialized version of `_.includes` for arrays without support for\n * specifying an index to search from.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludes(array, value) {\n var length = array == null ? 0 : array.length;\n return !!length && baseIndexOf(array, value, 0) > -1;\n}\n\nmodule.exports = arrayIncludes;\n","/**\n * This function is like `arrayIncludes` except that it accepts a comparator.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludesWith(array, value, comparator) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (comparator(value, array[index])) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arrayIncludesWith;\n","/**\n * This method returns `undefined`.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Util\n * @example\n *\n * _.times(2, _.noop);\n * // => [undefined, undefined]\n */\nfunction noop() {\n // No operation performed.\n}\n\nmodule.exports = noop;\n","var Set = require('./_Set'),\n noop = require('./noop'),\n setToArray = require('./_setToArray');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Creates a set object of `values`.\n *\n * @private\n * @param {Array} values The values to add to the set.\n * @returns {Object} Returns the new set.\n */\nvar createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) {\n return new Set(values);\n};\n\nmodule.exports = createSet;\n","var SetCache = require('./_SetCache'),\n arrayIncludes = require('./_arrayIncludes'),\n arrayIncludesWith = require('./_arrayIncludesWith'),\n cacheHas = require('./_cacheHas'),\n createSet = require('./_createSet'),\n setToArray = require('./_setToArray');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * The base implementation of `_.uniqBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\nfunction baseUniq(array, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n length = array.length,\n isCommon = true,\n result = [],\n seen = result;\n\n if (comparator) {\n isCommon = false;\n includes = arrayIncludesWith;\n }\n else if (length >= LARGE_ARRAY_SIZE) {\n var set = iteratee ? null : createSet(array);\n if (set) {\n return setToArray(set);\n }\n isCommon = false;\n includes = cacheHas;\n seen = new SetCache;\n }\n else {\n seen = iteratee ? [] : result;\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n value = (comparator || value !== 0) ? value : 0;\n if (isCommon && computed === computed) {\n var seenIndex = seen.length;\n while (seenIndex--) {\n if (seen[seenIndex] === computed) {\n continue outer;\n }\n }\n if (iteratee) {\n seen.push(computed);\n }\n result.push(value);\n }\n else if (!includes(seen, computed, comparator)) {\n if (seen !== result) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n}\n\nmodule.exports = baseUniq;\n","var baseFlatten = require('./_baseFlatten'),\n baseRest = require('./_baseRest'),\n baseUniq = require('./_baseUniq'),\n isArrayLikeObject = require('./isArrayLikeObject');\n\n/**\n * Creates an array of unique values, in order, from all given arrays using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of combined values.\n * @example\n *\n * _.union([2], [1, 2]);\n * // => [2, 1]\n */\nvar union = baseRest(function(arrays) {\n return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true));\n});\n\nmodule.exports = union;\n","import { useEffect, useMemo, useRef } from 'react';\nimport {\n QueryClient,\n useQueryClient,\n useQuery,\n UseQueryOptions,\n hashKey,\n} from '@tanstack/react-query';\nimport union from 'lodash/union';\n\nimport { UseGetManyHookValue } from './useGetMany';\nimport { Identifier, RaRecord, GetManyParams, DataProvider } from '../types';\nimport { useDataProvider } from './useDataProvider';\nimport { useEvent } from '../util';\n\n/**\n * Call the dataProvider.getMany() method and return the resolved result\n * as well as the loading state.\n *\n * The return value updates according to the request state:\n *\n * - start: { isPending: true, isFetching: true, refetch }\n * - success: { data: [data from response], isPending: false, isFetching: false, refetch }\n * - error: { error: [error from response], isPending: false, isFetching: false, refetch }\n *\n * This hook will return the cached result when called a second time\n * with the same parameters, until the response arrives.\n *\n * This hook aggregates and deduplicates calls to the same resource, so for instance, if an app calls:\n *\n * useGetManyAggregate('tags', [1, 2, 3]);\n * useGetManyAggregate('tags', [3, 4]);\n *\n * during the same tick, the hook will only call the dataProvider once with the following parameters:\n *\n * dataProvider.getMany('tags', [1, 2, 3, 4])\n *\n * @param resource The resource name, e.g. 'posts'\n * @param {Params} params The getMany parameters { ids, meta }\n * @param {Object} options Options object to pass to the dataProvider.\n * @param {boolean} options.enabled Flag to conditionally run the query. If it's false, the query will not run\n * @param {Function} options.onSuccess Side effect function to be executed upon success, e.g. { onSuccess: { refresh: true } }\n * @param {Function} options.onError Side effect function to be executed upon failure, e.g. { onError: error => notify(error.message) }\n *\n * @typedef Params\n * @prop params.ids The ids to get, e.g. [123, 456, 789]\n * @prop params.meta Optional meta parameters\n\n * @returns The current request state. Destructure as { data, error, isPending, isFetching, refetch }.\n *\n * @example\n *\n * import { useGetManyAggregate, useRecordContext } from 'react-admin';\n *\n * const PostTags = () => {\n * const record = useRecordContext();\n * const { data, isPending, error } = useGetManyAggregate('tags', { ids: record.tagIds });\n * if (isPending) { return <Loading />; }\n * if (error) { return <p>ERROR</p>; }\n * return (\n * <ul>\n * {data.map(tag => (\n * <li key={tag.id}>{tag.name}</li>\n * ))}\n * </ul>\n * );\n * };\n */\nexport const useGetManyAggregate = <RecordType extends RaRecord = any>(\n resource: string,\n params: GetManyParams,\n options: UseGetManyAggregateOptions<RecordType> = {}\n): UseGetManyHookValue<RecordType> => {\n const dataProvider = useDataProvider();\n const queryClient = useQueryClient();\n const queryCache = queryClient.getQueryCache();\n const {\n onError = noop,\n onSuccess = noop,\n onSettled = noop,\n ...queryOptions\n } = options;\n const onSuccessEvent = useEvent(onSuccess);\n const onErrorEvent = useEvent(onError);\n const onSettledEvent = useEvent(onSettled);\n\n const { ids, meta } = params;\n const placeholderData = useMemo(() => {\n const records = (Array.isArray(ids) ? ids : [ids]).map(id => {\n const queryHash = hashKey([\n resource,\n 'getOne',\n { id: String(id), meta },\n ]);\n return queryCache.get<RecordType>(queryHash)?.state?.data;\n });\n if (records.some(record => record === undefined)) {\n return undefined;\n } else {\n return records as RecordType[];\n }\n }, [ids, queryCache, resource, meta]);\n\n const result = useQuery<RecordType[], Error, RecordType[]>({\n queryKey: [\n resource,\n 'getMany',\n {\n ids: (Array.isArray(ids) ? ids : [ids]).map(id => String(id)),\n meta,\n },\n ],\n queryFn: ({ signal }) =>\n new Promise((resolve, reject) => {\n if (!ids || ids.length === 0) {\n // no need to call the dataProvider\n return resolve([]);\n }\n // debounced / batched fetch\n return callGetManyQueries({\n resource,\n ids,\n meta,\n resolve,\n reject,\n dataProvider,\n queryClient,\n signal,\n });\n }),\n placeholderData,\n retry: false,\n ...queryOptions,\n });\n\n const metaValue = useRef(meta);\n const resourceValue = useRef(resource);\n\n useEffect(() => {\n metaValue.current = meta;\n }, [meta]);\n\n useEffect(() => {\n resourceValue.current = resource;\n }, [resource]);\n\n useEffect(() => {\n if (result.data === undefined || result.isFetching) return;\n\n // optimistically populate the getOne cache\n (result.data ?? []).forEach(record => {\n queryClient.setQueryData(\n [\n resourceValue.current,\n 'getOne',\n { id: String(record.id), meta: metaValue.current },\n ],\n oldRecord => oldRecord ?? record\n );\n });\n\n onSuccessEvent(result.data);\n }, [queryClient, onSuccessEvent, result.data, result.isFetching]);\n\n useEffect(() => {\n if (result.error == null || result.isFetching) return;\n onErrorEvent(result.error);\n }, [onErrorEvent, result.error, result.isFetching]);\n\n useEffect(() => {\n if (result.status === 'pending' || result.isFetching) return;\n onSettledEvent(result.data, result.error);\n }, [\n onSettledEvent,\n result.data,\n result.error,\n result.status,\n result.isFetching,\n ]);\n\n return result;\n};\n\n/**\n * Batch all calls to a function into one single call with the arguments of all the calls.\n *\n * @example\n * let sum = 0;\n * const add = (args) => { sum = args.reduce((arg, total) => total + arg, 0); };\n * const addBatched = batch(add);\n * addBatched(2);\n * addBatched(8);\n * // add will be called once with arguments [2, 8]\n * // and sum will be equal to 10\n */\nconst batch = fn => {\n let capturedArgs: any[] = [];\n let timeout: ReturnType<typeof setTimeout> | null = null;\n return (arg: any) => {\n capturedArgs.push(arg);\n if (timeout) clearTimeout(timeout);\n timeout = setTimeout(() => {\n timeout = null;\n fn([...capturedArgs]);\n capturedArgs = [];\n }, 0);\n };\n};\n\ninterface GetManyCallArgs {\n resource: string;\n ids: Identifier[];\n meta?: any;\n resolve: (data: any[]) => void;\n reject: (error?: any) => void;\n dataProvider: DataProvider;\n queryClient: QueryClient;\n signal: AbortSignal;\n}\n\n/**\n * Group and execute all calls to the dataProvider.getMany() method for the current tick\n *\n * Thanks to batch(), this function executes at most once per tick,\n * whatever the number of calls to useGetManyAggregate().\n */\nconst callGetManyQueries = batch((calls: GetManyCallArgs[]) => {\n const dataProvider = calls[0].dataProvider;\n const queryClient = calls[0].queryClient;\n\n /**\n * Aggregate calls by resource\n *\n * callsByResource will look like:\n * {\n * posts: [{ resource, ids, resolve, reject, dataProvider, queryClient }, ...],\n * tags: [{ resource, ids, resolve, reject, dataProvider, queryClient }, ...],\n * }\n */\n const callsByResource = calls.reduce((acc, callArgs) => {\n if (!acc[callArgs.resource]) {\n acc[callArgs.resource] = [];\n }\n acc[callArgs.resource].push(callArgs);\n return acc;\n }, {} as { [resource: string]: GetManyCallArgs[] });\n\n /**\n * For each resource, aggregate ids and call dataProvider.getMany() once\n */\n Object.keys(callsByResource).forEach(resource => {\n const callsForResource = callsByResource[resource];\n\n /**\n * Extract ids from queries, aggregate and deduplicate them\n *\n * @example from [[1, 2], [2, null, 3], [4, null]] to [1, 2, 3, 4]\n */\n const aggregatedIds = callsForResource\n .reduce((acc, { ids }) => union(acc, ids), []) // concat + unique\n .filter(v => v != null && v !== ''); // remove null values\n\n const uniqueMeta = callsForResource.reduce(\n (acc, { meta }) => meta || acc,\n undefined\n );\n\n if (aggregatedIds.length === 0) {\n // no need to call the data provider if all the ids are null\n callsForResource.forEach(({ resolve }) => {\n resolve([]);\n });\n return;\n }\n\n const callThatHasAllAggregatedIds = callsForResource.find(\n ({ ids, signal }) =>\n JSON.stringify(ids) === JSON.stringify(aggregatedIds) &&\n !signal.aborted\n );\n if (callThatHasAllAggregatedIds) {\n // There is only one call (no aggregation), or one of the calls has the same ids as the sum of all calls.\n // Either way, we can't trigger a new fetchQuery with the same signature, as it's already pending.\n // Therefore, we reply with the dataProvider\n const {\n dataProvider,\n resource,\n ids,\n meta,\n signal,\n } = callThatHasAllAggregatedIds;\n\n dataProvider\n .getMany<any>(resource, { ids, meta, signal })\n .then(({ data }) => data)\n .then(\n data => {\n // We must then resolve all the pending calls with the data they requested\n callsForResource.forEach(({ ids, resolve }) => {\n resolve(\n data.filter(record =>\n ids\n .map(id => String(id))\n .includes(String(record.id))\n )\n );\n });\n },\n error => {\n // All pending calls must also receive the error\n callsForResource.forEach(({ reject }) => {\n reject(error);\n });\n }\n );\n return;\n }\n\n /**\n * Call dataProvider.getMany() with the aggregatedIds,\n * and resolve each of the promises using the results\n */\n queryClient\n .fetchQuery<any[], Error, any[]>({\n queryKey: [\n resource,\n 'getMany',\n {\n ids: aggregatedIds.map(id => String(id)),\n meta: uniqueMeta,\n },\n ],\n queryFn: ({ signal }) =>\n dataProvider\n .getMany<any>(resource, {\n ids: aggregatedIds,\n meta: uniqueMeta,\n signal,\n })\n .then(({ data }) => data),\n })\n .then(data => {\n callsForResource.forEach(({ ids, resolve }) => {\n resolve(\n data.filter(record =>\n ids\n .map(id => String(id))\n .includes(String(record.id))\n )\n );\n });\n })\n .catch(error =>\n callsForResource.forEach(({ reject }) => reject(error))\n );\n });\n});\n\nconst noop = () => undefined;\n\nexport type UseGetManyAggregateOptions<RecordType extends RaRecord> = Omit<\n UseQueryOptions<RecordType[]>,\n 'queryKey' | 'queryFn'\n> & {\n onSuccess?: (data: RecordType[]) => void;\n onError?: (error: Error) => void;\n onSettled?: (data?: RecordType[], error?: Error | null) => void;\n};\n","import { useEffect, useMemo } from 'react';\nimport {\n useQuery,\n UseQueryOptions,\n UseQueryResult,\n useQueryClient,\n} from '@tanstack/react-query';\n\nimport {\n RaRecord,\n GetManyReferenceParams,\n GetManyReferenceResult,\n} from '../types';\nimport { useDataProvider } from './useDataProvider';\nimport { useEvent } from '../util';\n\n/**\n * Call the dataProvider.getManyReference() method and return the resolved result\n * as well as the loading state.\n *\n * The return value updates according to the request state:\n *\n * - start: { isPending: true, refetch }\n * - success: { data: [data from store], total: [total from response], isPending: false, refetch }\n * - error: { error: [error from response], isPending: false, refetch }\n *\n * This hook will return the cached result when called a second time\n * with the same parameters, until the response arrives.\n *\n * @param {string} resource The resource name, e.g. 'posts'\n * @param {Params} params The getManyReference parameters { target, id, pagination, sort, filter, meta }\n * @param {Object} options Options object to pass to the queryClient.\n * May include side effects to be executed upon success or failure, e.g. { onSuccess: () => { refresh(); } }\n *\n * @typedef Params\n * @prop params.target The target resource key, e.g. 'post_id'\n * @prop params.id The identifier of the record to look for in target, e.g. '123'\n * @prop params.pagination The request pagination { page, perPage }, e.g. { page: 1, perPage: 10 }\n * @prop params.sort The request sort { field, order }, e.g. { field: 'id', order: 'DESC' }\n * @prop params.filter The request filters, e.g. { title: 'hello, world' }\n * @prop params.meta Optional meta parameters\n *\n * @returns The current request state. Destructure as { data, total, error, isPending, refetch }.\n *\n * @example\n *\n * import { useGetManyReference, useRecordContext } from 'react-admin';\n *\n * const PostComments = () => {\n * const record = useRecordContext();\n * // fetch all comments related to the current record\n * const { data, isPending, error } = useGetManyReference(\n * 'comments',\n * { target: 'post_id', id: record.id, pagination: { page: 1, perPage: 10 }, sort: { field: 'published_at', order: 'DESC' } }\n * );\n * if (isPending) { return <Loading />; }\n * if (error) { return <p>ERROR</p>; }\n * return <ul>{data.map(comment =>\n * <li key={comment.id}>{comment.body}</li>\n * )}</ul>;\n * };\n */\nexport const useGetManyReference = <RecordType extends RaRecord = any>(\n resource: string,\n params: Partial<GetManyReferenceParams> = {},\n options: UseGetManyReferenceHookOptions<RecordType> = {}\n): UseGetManyReferenceHookValue<RecordType> => {\n const {\n target,\n id,\n pagination = { page: 1, perPage: 25 },\n sort = { field: 'id', order: 'DESC' },\n filter = {},\n meta,\n } = params;\n const dataProvider = useDataProvider();\n const queryClient = useQueryClient();\n const {\n onError = noop,\n onSuccess = noop,\n onSettled = noop,\n ...queryOptions\n } = options;\n const onSuccessEvent = useEvent(onSuccess);\n const onErrorEvent = useEvent(onError);\n const onSettledEvent = useEvent(onSettled);\n\n const result = useQuery<\n GetManyReferenceResult<RecordType>,\n Error,\n GetManyReferenceResult<RecordType>\n >({\n queryKey: [\n resource,\n 'getManyReference',\n { target, id, pagination, sort, filter, meta },\n ],\n queryFn: ({ signal }) => {\n if (!target || id == null) {\n // check at runtime to support partial parameters with the enabled option\n return Promise.reject(new Error('target and id are required'));\n }\n return dataProvider\n .getManyReference<RecordType>(resource, {\n target,\n id,\n pagination,\n sort,\n filter,\n meta,\n signal,\n })\n .then(({ data, total, pageInfo }) => ({\n data,\n total,\n pageInfo,\n }));\n },\n ...queryOptions,\n });\n\n useEffect(() => {\n if (result.data === undefined) return;\n // optimistically populate the getOne cache\n result.data?.data?.forEach(record => {\n queryClient.setQueryData(\n [resource, 'getOne', { id: String(record.id), meta }],\n oldRecord => oldRecord ?? record\n );\n });\n\n onSuccessEvent(result.data);\n }, [queryClient, meta, onSuccessEvent, resource, result.data]);\n\n useEffect(() => {\n if (result.error == null) return;\n onErrorEvent(result.error);\n }, [onErrorEvent, result.error]);\n\n useEffect(() => {\n if (result.status === 'pending') return;\n onSettledEvent(result.data, result.error);\n }, [onSettledEvent, result.data, result.error, result.status]);\n\n return useMemo(\n () =>\n result.data\n ? {\n ...result,\n data: result.data?.data,\n total: result.data?.total,\n pageInfo: result.data?.pageInfo,\n }\n : result,\n [result]\n ) as UseQueryResult<RecordType[], Error> & {\n total?: number;\n pageInfo?: {\n hasNextPage?: boolean;\n hasPreviousPage?: boolean;\n };\n };\n};\n\nexport type UseGetManyReferenceHookOptions<\n RecordType extends RaRecord = any\n> = Omit<\n UseQueryOptions<GetManyReferenceResult<RecordType>>,\n 'queryKey' | 'queryFn'\n> & {\n onSuccess?: (data: GetManyReferenceResult<RecordType>) => void;\n onError?: (error: Error) => void;\n onSettled?: (\n data?: GetManyReferenceResult<RecordType>,\n error?: Error | null\n ) => void;\n};\n\nexport type UseGetManyReferenceHookValue<\n RecordType extends RaRecord = any\n> = Omit<UseQueryResult<RecordType[]>, 'queryKey' | 'queryFn'> & {\n total?: number;\n pageInfo?: {\n hasNextPage?: boolean;\n hasPreviousPage?: boolean;\n };\n};\n\nconst noop = () => undefined;\n","function is(x: unknown, y: unknown) {\n if (x === y) {\n return x !== 0 || y !== 0 || 1 / x === 1 / y;\n } else {\n // eslint-disable-next-line no-self-compare\n return x !== x && y !== y;\n }\n}\n\nexport const shallowEqual = (objA: any, objB: any) => {\n if (is(objA, objB)) return true;\n\n if (\n typeof objA !== 'object' ||\n objA === null ||\n typeof objB !== 'object' ||\n objB === null\n ) {\n return false;\n }\n\n const keysA = Object.keys(objA);\n const keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) return false;\n\n for (let i = 0; i < keysA.length; i++) {\n if (\n !Object.prototype.hasOwnProperty.call(objB, keysA[i]) ||\n !is(objA[keysA[i]], objB[keysA[i]])\n ) {\n return false;\n }\n }\n\n return true;\n};\n","import { shallowEqual } from './shallowEqual';\n\nconst isObject = obj =>\n obj && Object.prototype.toString.call(obj) === '[object Object]';\n\nconst isEmpty = obj =>\n obj instanceof Date\n ? false\n : obj === '' ||\n obj === null ||\n obj === undefined ||\n shallowEqual(obj, {});\n\nconst removeEmpty = object =>\n Object.keys(object).reduce((acc, key) => {\n let child = object[key];\n\n if (isObject(object[key])) {\n child = removeEmpty(object[key]);\n }\n\n return isEmpty(child) ? acc : { ...acc, [key]: child };\n }, {});\n\nexport default removeEmpty;\n","const removeKey = (target, path) =>\n Object.keys(target).reduce((acc, key) => {\n if (key !== path) {\n return Object.assign({}, acc, { [key]: target[key] });\n }\n\n return acc;\n }, {});\n\nconst deepRemoveKey = (target, path) => {\n const paths = path.split('.');\n\n if (paths.length === 1) {\n return removeKey(target, path);\n }\n\n const deepKey = paths[0];\n if (target[deepKey] === undefined) {\n return target;\n }\n const deep = deepRemoveKey(target[deepKey], paths.slice(1).join('.'));\n\n if (Object.keys(deep).length === 0) {\n return removeKey(target, deepKey);\n }\n\n return Object.assign({}, target, { [deepKey]: deep });\n};\n\nexport default deepRemoveKey;\n","import { Reducer } from 'react';\nimport set from 'lodash/set';\n\nimport removeEmpty from '../../util/removeEmpty';\nimport removeKey from '../../util/removeKey';\nimport { ListParams } from './useListParams';\n\nexport const SET_SORT = 'SET_SORT';\nexport const SORT_ASC = 'ASC';\nexport const SORT_DESC = 'DESC';\n\nexport const SET_PAGE = 'SET_PAGE';\nexport const SET_PER_PAGE = 'SET_PER_PAGE';\n\nexport const SET_FILTER = 'SET_FILTER';\nexport const SHOW_FILTER = 'SHOW_FILTER';\nexport const HIDE_FILTER = 'HIDE_FILTER';\n\nconst oppositeOrder = direction =>\n direction === SORT_DESC ? SORT_ASC : SORT_DESC;\n\ntype ActionTypes =\n | {\n type: typeof SET_SORT;\n payload: {\n field: string;\n order?: typeof SORT_ASC | typeof SORT_DESC;\n };\n }\n | {\n type: typeof SET_PAGE;\n payload: number;\n }\n | {\n type: typeof SET_PER_PAGE;\n payload: number;\n }\n | {\n type: typeof SET_FILTER;\n payload: {\n filter: any;\n displayedFilters?: { [key: string]: boolean };\n };\n }\n | {\n type: typeof SHOW_FILTER;\n payload: { filterName: string; defaultValue?: any };\n }\n | {\n type: typeof HIDE_FILTER;\n payload: string;\n };\n\n/**\n * This reducer is for the react-router query string.\n */\nexport const queryReducer: Reducer<ListParams, ActionTypes> = (\n previousState,\n action\n) => {\n switch (action.type) {\n case SET_SORT:\n if (action.payload.field === previousState.sort) {\n return {\n ...previousState,\n order: oppositeOrder(previousState.order),\n page: 1,\n };\n }\n\n return {\n ...previousState,\n sort: action.payload.field,\n order: action.payload.order || SORT_ASC,\n page: 1,\n };\n\n case SET_PAGE:\n return { ...previousState, page: action.payload };\n\n case SET_PER_PAGE:\n return { ...previousState, page: 1, perPage: action.payload };\n\n case SET_FILTER: {\n return {\n ...previousState,\n page: 1,\n filter: action.payload.filter,\n displayedFilters: action.payload.displayedFilters\n ? action.payload.displayedFilters\n : previousState.displayedFilters,\n };\n }\n\n case SHOW_FILTER: {\n if (\n previousState.displayedFilters &&\n previousState.displayedFilters[action.payload.filterName]\n ) {\n // the filter is already shown\n return previousState;\n }\n return {\n ...previousState,\n filter:\n typeof action.payload.defaultValue !== 'undefined'\n ? set(\n previousState.filter,\n action.payload.filterName,\n action.payload.defaultValue\n )\n : previousState.filter,\n // we don't use lodash.set() for displayed filters\n // to avoid problems with compound filter names (e.g. 'author.name')\n displayedFilters: {\n ...previousState.displayedFilters,\n [action.payload.filterName]: true,\n },\n };\n }\n\n case HIDE_FILTER: {\n return {\n ...previousState,\n filter: removeEmpty(\n removeKey(previousState.filter, action.payload)\n ),\n // we don't use lodash.set() for displayed filters\n // to avoid problems with compound filter names (e.g. 'author.name')\n displayedFilters: previousState.displayedFilters\n ? Object.keys(previousState.displayedFilters).reduce(\n (filters, filter) => {\n return filter !== action.payload\n ? { ...filters, [filter]: true }\n : filters;\n },\n {}\n )\n : previousState.displayedFilters,\n };\n }\n\n default:\n return previousState;\n }\n};\n\nexport default queryReducer;\n","import { useReducer, useEffect, useRef, useCallback } from 'react';\n\nimport { SORT_ASC, SORT_DESC } from './list/queryReducer';\nimport { SortPayload } from '../types';\n\nexport interface SortProps {\n setSortField: (field: SortPayload['field']) => void;\n setSortOrder: (order: SortPayload['order']) => void;\n setSort: (sort: SortPayload) => void;\n sort: SortPayload;\n}\n\ntype Action =\n | { type: 'SET_SORT'; payload: SortPayload }\n | { type: 'SET_SORT_FIELD'; payload: SortPayload['field'] }\n | { type: 'SET_SORT_ORDER'; payload: SortPayload['order'] };\n\nconst sortReducer = (state: SortPayload, action: Action): SortPayload => {\n switch (action.type) {\n case 'SET_SORT':\n return action.payload;\n case 'SET_SORT_FIELD': {\n const field = action.payload;\n const order =\n state.field === field\n ? state.order === SORT_ASC\n ? SORT_DESC\n : SORT_ASC\n : SORT_ASC;\n return { field, order };\n }\n case 'SET_SORT_ORDER': {\n const order = action.payload;\n if (!state.field) {\n throw new Error(\n 'cannot change the order on an undefined sort field'\n );\n }\n return {\n field: state.field,\n order,\n };\n }\n default:\n return state;\n }\n};\n\nexport const defaultSort = { field: '', order: 'ASC' } as const;\n\n/**\n * Set the sort { field, order }\n * @name setSort\n * @function\n * @param {SortPayload} sort the sort object\n */\n\n/**\n * Set the sort field, swap the order if the field is the same\n * @name setSortField\n * @function\n * @param {string} field the sort field\n */\n\n/**\n * Set the sort order\n * @name setSortOrder\n * @function\n * @param {string} order The sort order, either ASC or DESC\n */\n\n/**\n * @typedef SortProps\n * @type {Object}\n * @property {Object} sort: the sort object.\n * @property {string} sort.field: the sort object.\n * @property {'ASC' | 'DESC'} sort.order: the sort object.\n * @property {setSort} setSort\n * @property {setSortField} setSortField\n * @property {setSortOrder} setSortOrder\n */\n\n/**\n * Hooks to provide sort state\n *\n * @example\n *\n * const { sort, setSort, setSortField, setSortOrder } = useSort({\n * field: 'name',\n * order: 'ASC',\n * });\n *\n * setSort({ field: 'name', order: 'ASC' });\n * // is the same as\n * setSortField('name');\n * setSortOrder('ASC');\n *\n * @param {Object} initialSort\n * @param {string} initialSort.field The initial sort field\n * @param {string} initialSort.order The initial sort order\n * @returns {SortProps} The sort props\n */\nconst useSortState = (initialSort: SortPayload = defaultSort): SortProps => {\n const [sort, dispatch] = useReducer(sortReducer, initialSort);\n const isFirstRender = useRef(true);\n useEffect(() => {\n if (isFirstRender.current) {\n isFirstRender.current = false;\n return;\n }\n dispatch({ type: 'SET_SORT', payload: initialSort });\n }, [initialSort.field, initialSort.order]); // eslint-disable-line react-hooks/exhaustive-deps\n\n return {\n setSort: useCallback(\n (sort: SortPayload) =>\n dispatch({ type: 'SET_SORT', payload: sort }),\n [dispatch]\n ),\n setSortField: useCallback(\n (field: string) =>\n dispatch({ type: 'SET_SORT_FIELD', payload: field }),\n [dispatch]\n ),\n setSortOrder: useCallback(\n (order: 'ASC' | 'DESC') =>\n dispatch({ type: 'SET_SORT_ORDER', payload: order }),\n [dispatch]\n ),\n sort,\n };\n};\n\nexport default useSortState;\n","import { useEffect, useReducer, useCallback, useRef } from 'react';\nimport { PaginationPayload } from '../types';\n\n/**\n * @typedef PaginationProps\n * @type {Object}\n * @property {number} page: The page number.\n * @property {number} perPage: The number of item per page.\n * @property {Function} setPage: Set the page number\n * @property {Function} setPerPage: Set the per page number\n * @property {Function} setPagination: Set page and perPage pagination numbers\n */\nexport interface PaginationHookResult {\n page: number;\n perPage: number;\n pagination: PaginationPayload;\n setPage: (page: number) => void;\n setPerPage: (perPage: number) => void;\n setPagination: (pagination: PaginationPayload) => void;\n}\n\nconst paginationReducer = (\n prevState: PaginationPayload,\n nextState: Partial<PaginationPayload>\n): PaginationPayload => {\n return {\n ...prevState,\n ...nextState,\n };\n};\n\nconst defaultPagination = {\n page: 1,\n perPage: 25,\n};\n\n/**\n * Hooks to provide pagination state (page and perPage)\n *\n * @example\n *\n * const { page, setPage, perPage, setPerPage } = usePagination(initialPerPage);\n *\n * @param {number} initialPagination the initial value per page\n * @returns {PaginationHookResult} The pagination props\n */\nexport default (\n initialPagination: { perPage?: number; page?: number } = {}\n): PaginationHookResult => {\n const [pagination, setPagination] = useReducer(paginationReducer, {\n ...defaultPagination,\n ...initialPagination,\n });\n const isFirstRender = useRef(true);\n\n const setPerPage = useCallback(\n perPage => setPagination({ perPage, page: 1 }),\n []\n );\n const setPage = useCallback(page => setPagination({ page }), []);\n\n useEffect(() => {\n if (isFirstRender.current) {\n isFirstRender.current = false;\n return;\n }\n setPerPage(initialPagination.perPage || 25);\n }, [initialPagination.perPage, setPerPage]);\n\n return {\n page: pagination.page,\n perPage: pagination.perPage,\n pagination,\n setPage,\n setPerPage,\n setPagination,\n };\n};\n","import * as React from 'react';\nimport { ComponentType } from 'react';\n\nconst checkMinimumRequiredProps = (\n displayName: string,\n requiredProps: string[]\n) => (WrappedComponent: ComponentType) => (props: any) => {\n useCheckMinimumRequiredProps(displayName, requiredProps, props);\n return <WrappedComponent {...props} />;\n};\n\nexport default checkMinimumRequiredProps;\n\n// Not a hook but named that way to avoid conflicts with the old one\nexport const useCheckMinimumRequiredProps = (\n displayName: string,\n requiredProps: string[],\n props: any\n): void => {\n const propNames = Object.keys(props);\n const missingProps = requiredProps.filter(\n prop => !propNames.includes(prop)\n );\n\n if (missingProps.length > 0) {\n throw new Error(\n `<${displayName}> component is not properly configured, some essential props are missing.\nBe sure to pass the props from the parent. Example:\n\nconst My${displayName} = props => (\n <${displayName} {...props}></${displayName}>\n);\n\nThe missing props are: ${missingProps.join(', ')}`\n );\n }\n};\n","import { useCallback, ReactEventHandler } from 'react';\nimport { UseMutationOptions } from '@tanstack/react-query';\n\nimport { useDelete } from '../../dataProvider';\nimport { useUnselect } from '../../controller';\nimport { useRedirect, RedirectionSideEffect } from '../../routing';\nimport { useNotify } from '../../notification';\nimport { RaRecord, DeleteParams } from '../../types';\nimport { useResourceContext } from '../../core';\n\n/**\n * Prepare callback for a Delete button with undo support\n *\n * @example\n *\n * import React from 'react';\n * import ActionDelete from '@mui/icons-material/Delete';\n * import { Button, useDeleteWithUndoController } from 'react-admin';\n *\n * const DeleteButton = ({\n * resource,\n * record,\n * redirect,\n * onClick,\n * ...rest\n * }) => {\n * const { isPending, handleDelete } = useDeleteWithUndoController({\n * resource,\n * record,\n * redirect,\n * onClick,\n * });\n *\n * return (\n * <Button\n * onClick={handleDelete}\n * disabled={isPending}\n * label=\"ra.action.delete\"\n * {...rest}\n * >\n * <ActionDelete />\n * </Button>\n * );\n * };\n */\nconst useDeleteWithUndoController = <RecordType extends RaRecord = any>(\n props: UseDeleteWithUndoControllerParams<RecordType>\n): UseDeleteWithUndoControllerReturn => {\n const {\n record,\n redirect: redirectTo = 'list',\n onClick,\n mutationOptions = {},\n } = props;\n const { meta: mutationMeta, ...otherMutationOptions } = mutationOptions;\n const resource = useResourceContext(props);\n const notify = useNotify();\n const unselect = useUnselect(resource);\n const redirect = useRedirect();\n const [deleteOne, { isPending }] = useDelete<RecordType>(\n resource,\n undefined,\n {\n onSuccess: () => {\n notify('ra.notification.deleted', {\n type: 'info',\n messageArgs: { smart_count: 1 },\n undoable: true,\n });\n record && unselect([record.id]);\n redirect(redirectTo, resource);\n },\n onError: (error: Error) => {\n notify(\n typeof error === 'string'\n ? error\n : error.message || 'ra.notification.http_error',\n {\n type: 'error',\n messageArgs: {\n _:\n typeof error === 'string'\n ? error\n : error && error.message\n ? error.message\n : undefined,\n },\n }\n );\n },\n }\n );\n\n const handleDelete = useCallback(\n event => {\n event.stopPropagation();\n if (!record) {\n throw new Error(\n 'The record cannot be deleted because no record has been passed'\n );\n }\n deleteOne(\n resource,\n {\n id: record.id,\n previousData: record,\n meta: mutationMeta,\n },\n {\n mutationMode: 'undoable',\n ...otherMutationOptions,\n }\n );\n if (typeof onClick === 'function') {\n onClick(event);\n }\n },\n [\n deleteOne,\n mutationMeta,\n otherMutationOptions,\n onClick,\n record,\n resource,\n ]\n );\n\n return { isPending, isLoading: isPending, handleDelete };\n};\n\nexport interface UseDeleteWithUndoControllerParams<\n RecordType extends RaRecord = any,\n MutationOptionsError = unknown\n> {\n record?: RecordType;\n redirect?: RedirectionSideEffect;\n resource?: string;\n onClick?: ReactEventHandler<any>;\n mutationOptions?: UseMutationOptions<\n RecordType,\n MutationOptionsError,\n DeleteParams<RecordType>\n >;\n}\n\nexport interface UseDeleteWithUndoControllerReturn {\n isPending: boolean;\n isLoading: boolean;\n handleDelete: ReactEventHandler<any>;\n}\n\nexport default useDeleteWithUndoController;\n","import {\n useState,\n useCallback,\n ReactEventHandler,\n SyntheticEvent,\n} from 'react';\nimport { UseMutationOptions } from '@tanstack/react-query';\n\nimport { useDelete } from '../../dataProvider';\nimport { useUnselect } from '../../controller';\nimport { useRedirect, RedirectionSideEffect } from '../../routing';\nimport { useNotify } from '../../notification';\nimport { RaRecord, MutationMode, DeleteParams } from '../../types';\nimport { useResourceContext } from '../../core';\n\n/**\n * Prepare a set of callbacks for a delete button guarded by confirmation dialog\n *\n * @example\n *\n * const DeleteButton = ({\n * resource,\n * record,\n * redirect,\n * onClick,\n * ...rest\n * }) => {\n * const {\n * open,\n * isPending,\n * handleDialogOpen,\n * handleDialogClose,\n * handleDelete,\n * } = useDeleteWithConfirmController({\n * resource,\n * record,\n * redirect,\n * onClick,\n * });\n *\n * return (\n * <Fragment>\n * <Button\n * onClick={handleDialogOpen}\n * label=\"ra.action.delete\"\n * {...rest}\n * >\n * {icon}\n * </Button>\n * <Confirm\n * isOpen={open}\n * loading={isPending}\n * title=\"ra.message.delete_title\"\n * content=\"ra.message.delete_content\"\n * translateOptions={{\n * name: resource,\n * id: record.id,\n * }}\n * onConfirm={handleDelete}\n * onClose={handleDialogClose}\n * />\n * </Fragment>\n * );\n * };\n */\nconst useDeleteWithConfirmController = <RecordType extends RaRecord = any>(\n props: UseDeleteWithConfirmControllerParams<RecordType>\n): UseDeleteWithConfirmControllerReturn => {\n const {\n record,\n redirect: redirectTo = 'list',\n mutationMode,\n onClick,\n mutationOptions = {},\n } = props;\n const { meta: mutationMeta, ...otherMutationOptions } = mutationOptions;\n const resource = useResourceContext(props);\n const [open, setOpen] = useState(false);\n const notify = useNotify();\n const unselect = useUnselect(resource);\n const redirect = useRedirect();\n const [deleteOne, { isPending }] = useDelete<RecordType>(\n resource,\n undefined,\n {\n onSuccess: () => {\n setOpen(false);\n notify('ra.notification.deleted', {\n type: 'info',\n messageArgs: { smart_count: 1 },\n undoable: mutationMode === 'undoable',\n });\n record && unselect([record.id]);\n redirect(redirectTo, resource);\n },\n onError: (error: Error) => {\n setOpen(false);\n\n notify(\n typeof error === 'string'\n ? error\n : error.message || 'ra.notification.http_error',\n {\n type: 'error',\n messageArgs: {\n _:\n typeof error === 'string'\n ? error\n : error && error.message\n ? error.message\n : undefined,\n },\n }\n );\n },\n }\n );\n\n const handleDialogOpen = e => {\n setOpen(true);\n e.stopPropagation();\n };\n\n const handleDialogClose = e => {\n setOpen(false);\n e.stopPropagation();\n };\n\n const handleDelete = useCallback(\n event => {\n event.stopPropagation();\n if (!record) {\n throw new Error(\n 'The record cannot be deleted because no record has been passed'\n );\n }\n deleteOne(\n resource,\n {\n id: record.id,\n previousData: record,\n meta: mutationMeta,\n },\n {\n mutationMode,\n ...otherMutationOptions,\n }\n );\n if (typeof onClick === 'function') {\n onClick(event);\n }\n },\n [\n deleteOne,\n mutationMeta,\n mutationMode,\n otherMutationOptions,\n onClick,\n record,\n resource,\n ]\n );\n\n return {\n open,\n isPending,\n isLoading: isPending,\n handleDialogOpen,\n handleDialogClose,\n handleDelete,\n };\n};\n\nexport interface UseDeleteWithConfirmControllerParams<\n RecordType extends RaRecord = any,\n MutationOptionsError = unknown\n> {\n mutationMode?: MutationMode;\n record?: RecordType;\n redirect?: RedirectionSideEffect;\n resource?: string;\n onClick?: ReactEventHandler<any>;\n mutationOptions?: UseMutationOptions<\n RecordType,\n MutationOptionsError,\n DeleteParams<RecordType>\n >;\n}\n\nexport interface UseDeleteWithConfirmControllerReturn {\n open: boolean;\n isLoading: boolean;\n isPending: boolean;\n handleDialogOpen: (e: SyntheticEvent) => void;\n handleDialogClose: (e: SyntheticEvent) => void;\n handleDelete: ReactEventHandler<any>;\n}\n\nexport default useDeleteWithConfirmController;\n","import { createContext } from 'react';\nimport {\n RaRecord,\n OnError,\n OnSuccess,\n TransformData,\n MutationMode,\n} from '../../types';\nimport { Middleware } from './useMutationMiddlewares';\n\nexport interface SaveContextValue<\n RecordType extends RaRecord = any,\n MutateFunc extends (...args: any[]) => any = (...args: any[]) => any\n> {\n save?: SaveHandler<RecordType>;\n /**\n * @deprecated. Rely on the form isSubmitting value instead\n */\n saving?: boolean;\n mutationMode?: MutationMode;\n registerMutationMiddleware?: (callback: Middleware<MutateFunc>) => void;\n unregisterMutationMiddleware?: (callback: Middleware<MutateFunc>) => void;\n}\n\nexport type SaveHandler<RecordType> = (\n record: Partial<RecordType>,\n callbacks?: SaveHandlerCallbacks\n) => Promise<void | RecordType> | Record<string, string>;\n\nexport type SaveHandlerCallbacks = {\n onSuccess?: OnSuccess;\n onError?: OnError;\n transform?: TransformData;\n meta?: any;\n};\nexport const SaveContext = createContext<SaveContextValue>({});\n","import * as React from 'react';\nimport { SaveContext } from './SaveContext';\n\nexport const SaveContextProvider = ({ children, value }) => (\n <SaveContext.Provider value={value}>{children}</SaveContext.Provider>\n);\n","var baseGet = require('./_baseGet'),\n baseSet = require('./_baseSet'),\n castPath = require('./_castPath');\n\n/**\n * The base implementation of `_.pickBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} paths The property paths to pick.\n * @param {Function} predicate The function invoked per property.\n * @returns {Object} Returns the new object.\n */\nfunction basePickBy(object, paths, predicate) {\n var index = -1,\n length = paths.length,\n result = {};\n\n while (++index < length) {\n var path = paths[index],\n value = baseGet(object, path);\n\n if (predicate(value, path)) {\n baseSet(result, castPath(path, object), value);\n }\n }\n return result;\n}\n\nmodule.exports = basePickBy;\n","/**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHasIn(object, key) {\n return object != null && key in Object(object);\n}\n\nmodule.exports = baseHasIn;\n","var castPath = require('./_castPath'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isIndex = require('./_isIndex'),\n isLength = require('./isLength'),\n toKey = require('./_toKey');\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n result = false;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result || ++index != length) {\n return result;\n }\n length = object == null ? 0 : object.length;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n}\n\nmodule.exports = hasPath;\n","var baseHasIn = require('./_baseHasIn'),\n hasPath = require('./_hasPath');\n\n/**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\nfunction hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n}\n\nmodule.exports = hasIn;\n","var basePickBy = require('./_basePickBy'),\n hasIn = require('./hasIn');\n\n/**\n * The base implementation of `_.pick` without support for individual\n * property identifiers.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} paths The property paths to pick.\n * @returns {Object} Returns the new object.\n */\nfunction basePick(object, paths) {\n return basePickBy(object, paths, function(value, path) {\n return hasIn(object, path);\n });\n}\n\nmodule.exports = basePick;\n","var baseFlatten = require('./_baseFlatten');\n\n/**\n * Flattens `array` a single level deep.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to flatten.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * _.flatten([1, [2, [3, [4]], 5]]);\n * // => [1, 2, [3, [4]], 5]\n */\nfunction flatten(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseFlatten(array, 1) : [];\n}\n\nmodule.exports = flatten;\n","var flatten = require('./flatten'),\n overRest = require('./_overRest'),\n setToString = require('./_setToString');\n\n/**\n * A specialized version of `baseRest` which flattens the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @returns {Function} Returns the new function.\n */\nfunction flatRest(func) {\n return setToString(overRest(func, undefined, flatten), func + '');\n}\n\nmodule.exports = flatRest;\n","var basePick = require('./_basePick'),\n flatRest = require('./_flatRest');\n\n/**\n * Creates an object composed of the picked `object` properties.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The source object.\n * @param {...(string|string[])} [paths] The property paths to pick.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.pick(object, ['a', 'c']);\n * // => { 'a': 1, 'c': 3 }\n */\nvar pick = flatRest(function(object, paths) {\n return object == null ? {} : basePick(object, paths);\n});\n\nmodule.exports = pick;\n","import { useMemo } from 'react';\nimport pick from 'lodash/pick';\nimport { SaveContextValue } from './SaveContext';\n\n/**\n * This hook extracts the `save`, `saving` and mutationMode properties from either the `CreateContext` or `EditContext`. This ensures the `SaveContext` doesn't rerender when those two contexts have other properties changes.\n */\nexport const usePickSaveContext = <\n ContextType extends SaveContextValue = SaveContextValue\n>(\n context: ContextType\n): SaveContextValue => {\n const value = useMemo(\n () =>\n pick(context, [\n 'save',\n 'saving',\n 'mutationMode',\n 'registerMutationMiddleware',\n 'unregisterMutationMiddleware',\n ]),\n /* eslint-disable react-hooks/exhaustive-deps */\n [\n context.save,\n context.saving,\n context.mutationMode,\n context.registerMutationMiddleware,\n context.unregisterMutationMiddleware,\n ]\n /* eslint-enable react-hooks/exhaustive-deps */\n );\n\n return value;\n};\n","import { useContext } from 'react';\nimport { SaveContext, SaveContextValue } from './SaveContext';\n/**\n * Get the save() function and its status\n *\n * Used in forms.\n *\n * @example\n *\n * const {\n * save,\n * saving\n * } = useSaveContext();\n */\nexport const useSaveContext = <\n PropsType extends SaveContextValue = SaveContextValue\n>(\n _props?: PropsType\n): SaveContextValue => {\n return useContext(SaveContext);\n};\n","import { useCallback, useMemo, useRef } from 'react';\n\n/**\n * Internal hook used to handle mutation middlewares.\n *\n * @example\n * // We have a form creating an order for a new customer.\n * // The form contains the customer fields in addition to the order fields\n * // but they should be saved as a new customer resource record\n * // and the order should only reference this new customer\n * type Order = { id: string; reference: string };\n * type OrderCreateFormData = { id: string; reference: string; customer: Customer };\n * type Customer = { id: string; email: string; firstName: string; lastName: string };\n *\n * const CustomerForm = props => {\n * const [createCustomer] = useCreate<Customer>();\n * const middleware: Middleware<UseCreateResult<OrderCreateFormData>[0]> = useCallback(async (resource, params, next) => {\n * const { data } = params;\n * const { user, ...orderData } = data;\n * const { data = newCustomer } = await createCustomer('customers', { data: user });\n * const orderDataWithCustomer = { ...orderData, customerId: newCustomer.id };\n * next(resource, { data: orderDataWithCustomer });\n * }, [createCustomer]);\n * useRegisterMutationMiddleware(middleware);\n *\n * return (\n * <>\n * <TextInput source=\"user.email\" />\n * <TextInput source=\"user.firstName\" />\n * <TextInput source=\"user.lastName\" />\n * </>\n * );\n * }\n */\nexport const useMutationMiddlewares = <\n MutateFunc extends (...args: any[]) => any = (...args: any[]) => any\n>(): UseMutationMiddlewaresResult<MutateFunc> => {\n const callbacks = useRef<Middleware<MutateFunc>[]>([]);\n\n const registerMutationMiddleware = useCallback(\n (callback: Middleware<MutateFunc>) => {\n callbacks.current.push(callback);\n },\n []\n );\n\n const unregisterMutationMiddleware = useCallback(\n (callback: Middleware<MutateFunc>) => {\n callbacks.current = callbacks.current.filter(cb => cb !== callback);\n },\n []\n );\n\n const mutateWithMiddlewares = useCallback(\n (\n fn: MutateFunc,\n ...args: Parameters<MutateFunc>\n ): ReturnType<MutateFunc> => {\n let index = callbacks.current.length - 1;\n\n // Called by middlewares to call the next middleware function\n // Should take the same arguments as the original mutation function\n const next = (...newArgs: any) => {\n // Decrement the middlewares counter so that when next is called again, we\n // call the next middleware\n index--;\n\n // If there are no more middlewares, we call the original mutation function\n if (index >= 0) {\n return callbacks.current[index](...newArgs, next);\n } else {\n return fn(...newArgs);\n }\n };\n\n if (callbacks.current.length > 0) {\n // Call the first middleware with the same args as the original mutation function\n // with an additional next function\n return callbacks.current[index](...args, next);\n }\n\n return fn(...args);\n },\n []\n );\n\n const functions = useMemo<UseMutationMiddlewaresResult<MutateFunc>>(\n () => ({\n registerMutationMiddleware,\n mutateWithMiddlewares,\n unregisterMutationMiddleware,\n }),\n [\n registerMutationMiddleware,\n mutateWithMiddlewares,\n unregisterMutationMiddleware,\n ]\n );\n\n return functions;\n};\n\nexport interface UseMutationMiddlewaresResult<\n MutateFunc extends (...args: any[]) => any = (...args: any[]) => any\n> {\n registerMutationMiddleware: (callback: Middleware<MutateFunc>) => void;\n mutateWithMiddlewares: (\n mutate: MutateFunc,\n ...args: Parameters<MutateFunc>\n ) => ReturnType<MutateFunc>;\n unregisterMutationMiddleware: (callback: Middleware<MutateFunc>) => void;\n}\n\nexport type Middleware<\n MutateFunc = (...args: any[]) => any\n> = MutateFunc extends (...a: any[]) => infer R\n ? (...a: [...U: Parameters<MutateFunc>, next: MutateFunc]) => R\n : never;\n","import { useCallback } from 'react';\n// @ts-ignore\nimport queryString from 'query-string';\nimport { useLocation, Location } from 'react-router-dom';\nimport { UseMutationOptions } from '@tanstack/react-query';\n\nimport { useAuthenticated } from '../../auth';\nimport {\n HttpError,\n useCreate,\n UseCreateMutateParams,\n} from '../../dataProvider';\nimport { useRedirect, RedirectionSideEffect } from '../../routing';\nimport { useNotify } from '../../notification';\nimport {\n SaveContextValue,\n SaveHandlerCallbacks,\n useMutationMiddlewares,\n} from '../saveContext';\nimport { useTranslate } from '../../i18n';\nimport { Identifier, RaRecord, TransformData } from '../../types';\nimport {\n useResourceContext,\n useResourceDefinition,\n useGetResourceLabel,\n} from '../../core';\n\n/**\n * Prepare data for the Create view\n *\n * @param {Object} props The props passed to the Create component.\n *\n * @return {Object} controllerProps Fetched data and callbacks for the Create view\n *\n * @example\n *\n * import { useCreateController } from 'react-admin';\n * import CreateView from './CreateView';\n *\n * const MyCreate = props => {\n * const controllerProps = useCreateController(props);\n * return <CreateView {...controllerProps} {...props} />;\n * }\n */\nexport const useCreateController = <\n RecordType extends Omit<RaRecord, 'id'> = any,\n MutationOptionsError = Error,\n ResultRecordType extends RaRecord = RecordType & { id: Identifier }\n>(\n props: CreateControllerProps<\n RecordType,\n MutationOptionsError,\n ResultRecordType\n > = {}\n): CreateControllerResult<RecordType> => {\n const {\n disableAuthentication,\n record,\n redirect: redirectTo,\n transform,\n mutationOptions = {},\n } = props;\n\n useAuthenticated({ enabled: !disableAuthentication });\n const resource = useResourceContext(props);\n if (!resource) {\n throw new Error(\n 'useCreateController requires a non-empty resource prop or context'\n );\n }\n const { hasEdit, hasShow } = useResourceDefinition(props);\n const finalRedirectTo =\n redirectTo ?? getDefaultRedirectRoute(hasShow, hasEdit);\n const location = useLocation();\n const translate = useTranslate();\n const notify = useNotify();\n const redirect = useRedirect();\n const recordToUse = record ?? getRecordFromLocation(location) ?? undefined;\n const {\n onSuccess,\n onError,\n meta,\n ...otherMutationOptions\n } = mutationOptions;\n const {\n registerMutationMiddleware,\n mutateWithMiddlewares,\n unregisterMutationMiddleware,\n } = useMutationMiddlewares();\n\n const [create, { isPending: saving }] = useCreate<\n RecordType,\n MutationOptionsError,\n ResultRecordType\n >(resource, undefined, {\n onSuccess: async (data, variables, context) => {\n if (onSuccess) {\n return onSuccess(data, variables, context);\n }\n\n notify('ra.notification.created', {\n type: 'info',\n messageArgs: { smart_count: 1 },\n });\n redirect(finalRedirectTo, resource, data.id, data);\n },\n onError: (error: MutationOptionsError, variables, context) => {\n if (onError) {\n return onError(error, variables, context);\n }\n // Don't trigger a notification if this is a validation error\n // (notification will be handled by the useNotifyIsFormInvalid hook)\n const validationErrors = (error as HttpError)?.body?.errors;\n const hasValidationErrors =\n !!validationErrors && Object.keys(validationErrors).length > 0;\n if (!hasValidationErrors) {\n notify(\n typeof error === 'string'\n ? error\n : (error as Error).message ||\n 'ra.notification.http_error',\n {\n type: 'error',\n messageArgs: {\n _:\n typeof error === 'string'\n ? error\n : error instanceof Error ||\n (typeof error === 'object' &&\n error !== null &&\n error.hasOwnProperty('message'))\n ? // @ts-ignore\n error.message\n : undefined,\n },\n }\n );\n }\n },\n ...otherMutationOptions,\n returnPromise: true,\n mutateWithMiddlewares,\n });\n\n const save = useCallback(\n (\n data: Partial<RecordType>,\n {\n transform: transformFromSave,\n meta: metaFromSave,\n ...callTimeOptions\n } = {} as SaveHandlerCallbacks\n ) =>\n Promise.resolve(\n transformFromSave\n ? transformFromSave(data)\n : transform\n ? transform(data)\n : data\n ).then(async (data: Partial<RecordType>) => {\n try {\n await create(\n resource,\n { data, meta: metaFromSave ?? meta },\n callTimeOptions\n );\n } catch (error) {\n if (\n (error instanceof HttpError ||\n (typeof error === 'object' &&\n error !== null &&\n error.hasOwnProperty('body'))) &&\n error.body?.errors != null\n ) {\n return error.body.errors;\n }\n }\n }),\n [create, meta, resource, transform]\n );\n\n const getResourceLabel = useGetResourceLabel();\n const defaultTitle = translate('ra.page.create', {\n name: getResourceLabel(resource, 1),\n });\n\n return {\n isFetching: false,\n isLoading: false,\n isPending: saving,\n saving,\n defaultTitle,\n save,\n resource,\n record: recordToUse,\n redirect: finalRedirectTo,\n registerMutationMiddleware,\n unregisterMutationMiddleware,\n };\n};\n\nexport interface CreateControllerProps<\n RecordType extends Omit<RaRecord, 'id'> = any,\n MutationOptionsError = Error,\n ResultRecordType extends RaRecord = RecordType & { id: Identifier }\n> {\n disableAuthentication?: boolean;\n hasEdit?: boolean;\n hasShow?: boolean;\n record?: Partial<RecordType>;\n redirect?: RedirectionSideEffect;\n resource?: string;\n mutationOptions?: UseMutationOptions<\n ResultRecordType,\n MutationOptionsError,\n UseCreateMutateParams<RecordType>\n > & { meta?: any };\n transform?: TransformData;\n}\n\nexport interface CreateControllerResult<\n RecordType extends Omit<RaRecord, 'id'> = any\n> extends SaveContextValue {\n defaultTitle?: string;\n isFetching: boolean;\n isPending: boolean;\n isLoading: boolean;\n record?: Partial<RecordType>;\n redirect: RedirectionSideEffect;\n resource: string;\n}\n\n/**\n * Get the initial record from the location, whether it comes from the location\n * state or is serialized in the url search part.\n */\nexport const getRecordFromLocation = ({ state, search }: Location) => {\n if (state && (state as StateWithRecord).record) {\n return (state as StateWithRecord).record;\n }\n if (search) {\n try {\n const searchParams = queryString.parse(search);\n if (searchParams.source) {\n if (Array.isArray(searchParams.source)) {\n console.error(\n `Failed to parse location search parameter '${search}'. To pre-fill some fields in the Create form, pass a stringified source parameter (e.g. '?source={\"title\":\"foo\"}')`\n );\n return;\n }\n return JSON.parse(searchParams.source);\n }\n } catch (e) {\n console.error(\n `Failed to parse location search parameter '${search}'. To pre-fill some fields in the Create form, pass a stringified source parameter (e.g. '?source={\"title\":\"foo\"}')`\n );\n }\n }\n return null;\n};\n\ntype StateWithRecord = {\n record?: Partial<RaRecord>;\n};\n\nconst getDefaultRedirectRoute = (hasShow, hasEdit) => {\n if (hasEdit) {\n return 'edit';\n }\n if (hasShow) {\n return 'show';\n }\n return 'list';\n};\n","import * as React from 'react';\nimport { createContext, ReactNode } from 'react';\nimport { RaRecord } from '../../types';\n\n/**\n * Context to store a record.\n *\n * @see RecordContextProvider\n * @see useRecordContext\n */\nexport const RecordContext = createContext<\n RaRecord | Omit<RaRecord, 'id'> | undefined\n>(undefined);\n\nRecordContext.displayName = 'RecordContext';\n\n/**\n * Provider for the Record Context, to store a record.\n *\n * Use the useRecordContext() hook to read the context.\n * That's what the Edit and Show components do in react-admin.\n *\n * Many react-admin components read the RecordContext, including all Field\n * components.\n *\n * @example\n *\n * import { useGetOne, RecordContextProvider } from 'ra-core';\n *\n * const Show = ({ resource, id }) => {\n * const { data } = useGetOne(resource, { id });\n * return (\n * <RecordContextProvider value={data}>\n * ...\n * </RecordContextProvider>\n * );\n * };\n */\nexport const RecordContextProvider = <\n RecordType extends RaRecord | Omit<RaRecord, 'id'> = RaRecord\n>({\n children,\n value,\n}: RecordContextProviderProps<RecordType>) => (\n <RecordContext.Provider value={value}>{children}</RecordContext.Provider>\n);\n\nexport interface RecordContextProviderProps<RecordType> {\n children: ReactNode;\n value?: RecordType;\n}\n","import { createContext } from 'react';\nimport { CreateControllerResult } from './useCreateController';\n\n/**\n * Context to store the result of the useCreateController() hook.\n *\n * Use the useCreateContext() hook to read the context. That's what the Create components do in react-admin.\n *\n * @example\n *\n * import { useCreateController, CreateContextProvider } from 'ra-core';\n *\n * const Create = props => {\n * const controllerProps = useCreateController(props);\n * return (\n * <CreateContextProvider value={controllerProps}>\n * ...\n * </CreateContextProvider>\n * );\n * };\n */\nexport const CreateContext = createContext<CreateControllerResult | null>(null);\n\nCreateContext.displayName = 'CreateContext';\n","import * as React from 'react';\nimport { ReactNode } from 'react';\n\nimport { RaRecord } from '../../types';\nimport { RecordContextProvider } from '../record/RecordContext';\nimport { CreateContext } from './CreateContext';\nimport { CreateControllerResult } from './useCreateController';\nimport { SaveContextProvider, usePickSaveContext } from '../saveContext';\n\n/**\n * Create a Create Context.\n *\n * @example\n *\n * const MyCreate = (props) => {\n * const controllerProps = useCreateController(props);\n * return (\n * <CreateContextProvider value={controllerProps}>\n * <MyCreateView>\n * </CreateContextProvider>\n * );\n * };\n *\n * const MyCreateView = () => {\n * const record = useRecordContext();\n * // or, to rerender only when the save operation change but not data\n * const { saving } = useCreateContext();\n * }\n *\n * @see CreateContext\n * @see RecordContext\n */\nexport const CreateContextProvider = ({\n children,\n value,\n}: {\n children: ReactNode;\n value: CreateControllerResult;\n}) => (\n <CreateContext.Provider value={value}>\n <SaveContextProvider\n value={{\n ...usePickSaveContext(value),\n mutationMode: 'pessimistic',\n }}\n >\n <RecordContextProvider<Partial<RaRecord>>\n value={value && value.record}\n >\n {children}\n </RecordContextProvider>\n </SaveContextProvider>\n </CreateContext.Provider>\n);\n","import * as React from 'react';\nimport { ReactNode } from 'react';\nimport {\n useCreateController,\n CreateControllerProps,\n} from './useCreateController';\nimport { CreateContextProvider } from './CreateContextProvider';\nimport { Identifier, RaRecord } from '../../types';\nimport { ResourceContextProvider } from '../../core';\n\n/**\n * Call useCreateController and put the value in a CreateContext\n *\n * Base class for <Create> components, without UI.\n *\n * Accepts any props accepted by useCreateController:\n * - id: The record identifier\n * - resource: The resource\n *\n * @example // Custom edit layout\n *\n * const PostCreate = () => (\n * <CreateBase>\n * <Grid container>\n * <Grid item xs={8}>\n * <SimpleForm>\n * ...\n * </SimpleForm>\n * </Grid>\n * <Grid item xs={4}>\n * Create instructions...\n * </Grid>\n * </Grid>\n * <div>\n * Post related links...\n * </div>\n * </CreateBase>\n * );\n */\nexport const CreateBase = <\n RecordType extends Omit<RaRecord, 'id'> = any,\n ResultRecordType extends RaRecord = RecordType & { id: Identifier }\n>({\n children,\n ...props\n}: CreateControllerProps<RecordType, Error, ResultRecordType> & {\n children: ReactNode;\n}) => {\n const controllerProps = useCreateController<\n RecordType,\n Error,\n ResultRecordType\n >(props);\n const body = (\n <CreateContextProvider value={controllerProps}>\n {children}\n </CreateContextProvider>\n );\n return props.resource ? (\n // support resource override via props\n <ResourceContextProvider value={props.resource}>\n {body}\n </ResourceContextProvider>\n ) : (\n body\n );\n};\n","import { useContext } from 'react';\n\nimport { RaRecord } from '../../types';\nimport { CreateContext } from './CreateContext';\nimport { CreateControllerResult } from './useCreateController';\n\n/**\n * Hook to read the create controller props from the CreateContext.\n *\n * Used within a <CreateContextProvider> (e.g. as a descendent of <Create>).\n *\n * @returns {CreateControllerResult} create controller props\n *\n * @see useCreateController for how it is filled\n */\nexport const useCreateContext = <\n RecordType extends RaRecord = RaRecord\n>(): CreateControllerResult<RecordType> => {\n const context = useContext(CreateContext);\n if (!context) {\n throw new Error(\n 'useCreateContext must be used inside a CreateContextProvider'\n );\n }\n return context;\n};\n","import { useCallback } from 'react';\nimport { useParams } from 'react-router-dom';\n\nimport { useAuthenticated } from '../../auth';\nimport { RaRecord, MutationMode, TransformData } from '../../types';\nimport { useRedirect, RedirectionSideEffect } from '../../routing';\nimport { useNotify } from '../../notification';\nimport {\n useGetOne,\n useUpdate,\n useRefresh,\n UseGetOneHookValue,\n HttpError,\n UseGetOneOptions,\n UseUpdateOptions,\n} from '../../dataProvider';\nimport { useTranslate } from '../../i18n';\nimport {\n useResourceContext,\n useGetResourceLabel,\n useGetRecordRepresentation,\n} from '../../core';\nimport {\n SaveContextValue,\n SaveHandlerCallbacks,\n useMutationMiddlewares,\n} from '../saveContext';\n\n/**\n * Prepare data for the Edit view.\n *\n * useEditController does a few things:\n * - it grabs the id from the URL and the resource name from the ResourceContext,\n * - it fetches the record via useGetOne,\n * - it prepares the page title.\n *\n * @param {Object} props The props passed to the Edit component.\n *\n * @return {Object} controllerProps Fetched data and callbacks for the Edit view\n *\n * @example\n *\n * import { useEditController } from 'react-admin';\n * import EditView from './EditView';\n *\n * const MyEdit = () => {\n * const controllerProps = useEditController({ resource: 'posts', id: 123 });\n * return <EditView {...controllerProps} {...props} />;\n * }\n */\nexport const useEditController = <\n RecordType extends RaRecord = any,\n ErrorType = Error\n>(\n props: EditControllerProps<RecordType, ErrorType> = {}\n): EditControllerResult<RecordType> => {\n const {\n disableAuthentication,\n id: propsId,\n mutationMode = 'undoable',\n mutationOptions = {},\n queryOptions = {},\n redirect: redirectTo = DefaultRedirect,\n transform,\n } = props;\n useAuthenticated({ enabled: !disableAuthentication });\n const resource = useResourceContext(props);\n if (!resource) {\n throw new Error(\n 'useEditController requires a non-empty resource prop or context'\n );\n }\n const getRecordRepresentation = useGetRecordRepresentation(resource);\n const translate = useTranslate();\n const notify = useNotify();\n const redirect = useRedirect();\n const refresh = useRefresh();\n const { id: routeId } = useParams<'id'>();\n if (!routeId && !propsId) {\n throw new Error(\n 'useEditController requires an id prop or a route with an /:id? parameter.'\n );\n }\n const id = propsId ?? decodeURIComponent(routeId!);\n const { meta: queryMeta, ...otherQueryOptions } = queryOptions;\n const {\n meta: mutationMeta,\n onSuccess,\n onError,\n ...otherMutationOptions\n } = mutationOptions;\n const {\n registerMutationMiddleware,\n mutateWithMiddlewares,\n unregisterMutationMiddleware,\n } = useMutationMiddlewares();\n const {\n data: record,\n error,\n isLoading,\n isFetching,\n isPending,\n refetch,\n } = useGetOne<RecordType>(\n resource,\n { id, meta: queryMeta },\n {\n onError: () => {\n notify('ra.notification.item_doesnt_exist', {\n type: 'error',\n });\n redirect('list', resource);\n refresh();\n },\n refetchOnReconnect: false,\n refetchOnWindowFocus: false,\n retry: false,\n ...otherQueryOptions,\n }\n );\n\n // eslint-disable-next-line eqeqeq\n if (record && record.id && record.id != id) {\n throw new Error(\n `useEditController: Fetched record's id attribute (${record.id}) must match the requested 'id' (${id})`\n );\n }\n\n const getResourceLabel = useGetResourceLabel();\n const recordRepresentation = getRecordRepresentation(record);\n const defaultTitle = translate('ra.page.edit', {\n name: getResourceLabel(resource, 1),\n id,\n record,\n recordRepresentation:\n typeof recordRepresentation === 'string'\n ? recordRepresentation\n : '',\n });\n\n const recordCached = { id, previousData: record };\n\n const [update, { isPending: saving }] = useUpdate<RecordType, ErrorType>(\n resource,\n recordCached,\n {\n onSuccess: async (data, variables, context) => {\n if (onSuccess) {\n return onSuccess(data, variables, context);\n }\n notify('ra.notification.updated', {\n type: 'info',\n messageArgs: { smart_count: 1 },\n undoable: mutationMode === 'undoable',\n });\n redirect(redirectTo, resource, data.id, data);\n },\n onError: (error, variables, context) => {\n if (onError) {\n return onError(error, variables, context);\n }\n // Don't trigger a notification if this is a validation error\n // (notification will be handled by the useNotifyIsFormInvalid hook)\n const validationErrors = (error as HttpError)?.body?.errors;\n const hasValidationErrors =\n !!validationErrors &&\n Object.keys(validationErrors).length > 0;\n if (!hasValidationErrors || mutationMode !== 'pessimistic') {\n notify(\n typeof error === 'string'\n ? error\n : (error as Error).message ||\n 'ra.notification.http_error',\n {\n type: 'error',\n messageArgs: {\n _:\n typeof error === 'string'\n ? error\n : error instanceof Error ||\n (typeof error === 'object' &&\n error !== null &&\n error.hasOwnProperty('message'))\n ? // @ts-ignore\n error.message\n : undefined,\n },\n }\n );\n }\n },\n ...otherMutationOptions,\n mutationMode,\n returnPromise: mutationMode === 'pessimistic',\n mutateWithMiddlewares,\n }\n );\n\n const save = useCallback(\n (\n data: Partial<RecordType>,\n {\n onSuccess: onSuccessFromSave,\n onError: onErrorFromSave,\n transform: transformFromSave,\n meta: metaFromSave,\n } = {} as SaveHandlerCallbacks\n ) =>\n Promise.resolve(\n transformFromSave\n ? transformFromSave(data, {\n previousData: recordCached.previousData,\n })\n : transform\n ? transform(data, {\n previousData: recordCached.previousData,\n })\n : data\n ).then(async (data: Partial<RecordType>) => {\n try {\n await update(\n resource,\n {\n id,\n data,\n meta: metaFromSave ?? mutationMeta,\n },\n {\n onError: onErrorFromSave,\n onSuccess: onSuccessFromSave,\n }\n );\n } catch (error) {\n if ((error as HttpError).body?.errors != null) {\n return (error as HttpError).body.errors;\n }\n }\n }),\n [\n id,\n mutationMeta,\n resource,\n transform,\n update,\n recordCached.previousData,\n ]\n );\n\n return {\n defaultTitle,\n error,\n isFetching,\n isLoading,\n isPending,\n mutationMode,\n record,\n redirect: redirectTo,\n refetch,\n registerMutationMiddleware,\n resource,\n save,\n saving,\n unregisterMutationMiddleware,\n } as EditControllerResult<RecordType>;\n};\n\nconst DefaultRedirect = 'list';\n\nexport interface EditControllerProps<\n RecordType extends RaRecord = any,\n ErrorType = Error\n> {\n disableAuthentication?: boolean;\n id?: RecordType['id'];\n mutationMode?: MutationMode;\n mutationOptions?: UseUpdateOptions<RecordType, ErrorType>;\n queryOptions?: UseGetOneOptions<RecordType>;\n redirect?: RedirectionSideEffect;\n resource?: string;\n transform?: TransformData;\n [key: string]: any;\n}\n\nexport interface EditControllerBaseResult<RecordType extends RaRecord = any>\n extends SaveContextValue<RecordType> {\n defaultTitle?: string;\n isFetching: boolean;\n isLoading: boolean;\n refetch: UseGetOneHookValue<RecordType>['refetch'];\n redirect: RedirectionSideEffect;\n resource: string;\n}\n\nexport interface EditControllerLoadingResult<RecordType extends RaRecord = any>\n extends EditControllerBaseResult<RecordType> {\n record: undefined;\n error: null;\n isPending: true;\n}\nexport interface EditControllerLoadingErrorResult<\n RecordType extends RaRecord = any,\n TError = Error\n> extends EditControllerBaseResult<RecordType> {\n record: undefined;\n error: TError;\n isPending: false;\n}\nexport interface EditControllerRefetchErrorResult<\n RecordType extends RaRecord = any,\n TError = Error\n> extends EditControllerBaseResult<RecordType> {\n record: RecordType;\n error: TError;\n isPending: false;\n}\nexport interface EditControllerSuccessResult<RecordType extends RaRecord = any>\n extends EditControllerBaseResult<RecordType> {\n record: RecordType;\n error: null;\n isPending: false;\n}\n\nexport type EditControllerResult<RecordType extends RaRecord = any> =\n | EditControllerLoadingResult<RecordType>\n | EditControllerLoadingErrorResult<RecordType>\n | EditControllerRefetchErrorResult<RecordType>\n | EditControllerSuccessResult<RecordType>;\n","import { useContext } from 'react';\nimport { RecordContext } from './RecordContext';\nimport { RaRecord } from '../../types';\n\n/**\n * Hook to read the record from a RecordContext.\n *\n * Must be used within a <RecordContext> such as provided by the <EditContextProvider>\n * (e.g. as a descendent of <Edit> or <EditBase>) or within a <ShowContextProvider>\n * (e.g. as a descendent of <Show> or <ShowBase>)\n *\n * @example // basic usage\n *\n * import { useRecordContext } from 'ra-core';\n *\n * const TitleField = () => {\n * const record = useRecordContext();\n * return <span>{record && record.title}</span>;\n * };\n *\n * @example // allow record override via props\n *\n * import { useRecordContext } from 'ra-core';\n *\n * const TitleField = (props) => {\n * const record = useRecordContext(props);\n * return <span>{record && record.title}</span>;\n * };\n * render(<TextField record={record} />);\n *\n * @returns {RaRecord} A record object\n */\nexport const useRecordContext = <\n RecordType extends RaRecord | Omit<RaRecord, 'id'> = RaRecord\n>(\n props?: UseRecordContextParams<RecordType>\n): RecordType | undefined => {\n // Can't find a way to specify the RecordType when CreateContext is declared\n // @ts-ignore\n const context = useContext<RecordType | undefined>(RecordContext);\n\n return (props && props.record) || context;\n};\n\nexport interface UseRecordContextParams<\n RecordType extends RaRecord | Omit<RaRecord, 'id'> = RaRecord\n> {\n record?: RecordType;\n [key: string]: any;\n}\n","import * as React from 'react';\nimport { ReactElement } from 'react';\nimport { RaRecord } from '../../types';\nimport { RecordContextProvider } from './RecordContext';\n\n/**\n * Wrap children with a RecordContext provider only if the value is defined.\n *\n * Allows a component to work outside of a record context.\n *\n * @example\n *\n * import { OptionalRecordContextProvider, TextField } from 'react-admin';\n *\n * const RecordTitle = ({ record }) => (\n * <OptionalRecordContextProvider value={record}>\n * <TextField source=\"title\" />\n * </OptionalRecordContextProvider>\n * );\n */\nexport const OptionalRecordContextProvider = <\n RecordType extends RaRecord | Omit<RaRecord, 'id'> = RaRecord\n>({\n value,\n children,\n}: {\n children: ReactElement;\n value?: RecordType;\n}) =>\n value ? (\n <RecordContextProvider value={value}>{children}</RecordContextProvider>\n ) : (\n children\n );\n","import * as React from 'react';\nimport { useGetRecordRepresentation, useResourceContext } from '../../core';\nimport { RaRecord } from '../../types';\nimport { useRecordContext } from './useRecordContext';\n\n/**\n * Render the record representation as specified on its parent <Resource>.\n * @param props The component props\n * @param {string} props.resource The resource name\n * @param {RaRecord} props.record The record to render\n */\nexport const RecordRepresentation = (props: {\n record?: RaRecord;\n resource?: string;\n}) => {\n const record = useRecordContext(props);\n const resource = useResourceContext(props);\n const getRecordRepresentation = useGetRecordRepresentation(resource);\n\n return <>{getRecordRepresentation(record)}</>;\n};\n","import { createContext } from 'react';\nimport { EditControllerResult } from './useEditController';\n\n/**\n * Context to store the result of the useEditController() hook.\n *\n * Use the useEditContext() hook to read the context. That's what the Edit components do in react-admin.\n *\n * @example\n *\n * import { useEditController, EditContextProvider } from 'ra-core';\n *\n * const Edit = props => {\n * const controllerProps = useEditController(props);\n * return (\n * <EditContextProvider value={controllerProps}>\n * ...\n * </EditContextProvider>\n * );\n * };\n */\nexport const EditContext = createContext<EditControllerResult | null>(null);\n\nEditContext.displayName = 'EditContext';\n","import * as React from 'react';\nimport { ReactNode } from 'react';\nimport { RaRecord } from '../../types';\nimport { RecordContextProvider } from '../record';\nimport { SaveContextProvider, usePickSaveContext } from '../saveContext';\nimport { EditContext } from './EditContext';\nimport { EditControllerResult } from './useEditController';\n\n/**\n * Create an Edit Context.\n *\n * @example\n *\n * const MyEdit = (props) => {\n * const controllerProps = useEditController(props);\n * return (\n * <EditContextProvider value={controllerProps}>\n * <MyEditView>\n * </EditContextProvider>\n * );\n * };\n *\n * const MyEditView = () => {\n * const record = useRecordContext();\n * // or, to rerender only when the save operation change but not data\n * const { saving } = useEditContext();\n * }\n *\n * @see EditContext\n * @see RecordContext\n */\nexport const EditContextProvider = ({\n children,\n value,\n}: {\n children: ReactNode;\n value: EditControllerResult;\n}) => (\n <EditContext.Provider value={value}>\n <SaveContextProvider value={usePickSaveContext(value)}>\n <RecordContextProvider<Partial<RaRecord>>\n value={value && value.record}\n >\n {children}\n </RecordContextProvider>\n </SaveContextProvider>\n </EditContext.Provider>\n);\n","import * as React from 'react';\nimport { ReactNode } from 'react';\n\nimport { RaRecord } from '../../types';\nimport { useEditController, EditControllerProps } from './useEditController';\nimport { EditContextProvider } from './EditContextProvider';\nimport { ResourceContextProvider } from '../../core';\n\n/**\n * Call useEditController and put the value in a EditContext\n *\n * Base class for <Edit> components, without UI.\n *\n * Accepts any props accepted by useEditController:\n * - id: The record identifier\n * - resource: The resource\n *\n * @example // Custom edit layout\n *\n * const PostEdit = () => (\n * <EditBase resource=\"posts\">\n * <Grid container>\n * <Grid item xs={8}>\n * <SimpleForm>\n * ...\n * </SimpleForm>\n * </Grid>\n * <Grid item xs={4}>\n * Edit instructions...\n * </Grid>\n * </Grid>\n * <div>\n * Post related links...\n * </div>\n * </EditBase>\n * );\n */\nexport const EditBase = <RecordType extends RaRecord = any>({\n children,\n ...props\n}: { children: ReactNode } & EditControllerProps<RecordType>) => {\n const controllerProps = useEditController<RecordType>(props);\n const body = (\n <EditContextProvider value={controllerProps}>\n {children}\n </EditContextProvider>\n );\n return props.resource ? (\n // support resource override via props\n <ResourceContextProvider value={props.resource}>\n {body}\n </ResourceContextProvider>\n ) : (\n body\n );\n};\n","import { useContext } from 'react';\n\nimport { RaRecord } from '../../types';\nimport { EditContext } from './EditContext';\nimport { EditControllerResult } from './useEditController';\n\n/**\n * Hook to read the edit controller props from the EditContext.\n *\n * Used within a <EditContextProvider> (e.g. as a descendent of <Edit>).\n *\n * @returns {EditControllerResult} edit controller props\n *\n * @see useEditController for how it is filled\n */\nexport const useEditContext = <\n RecordType extends RaRecord = any\n>(): EditControllerResult<RecordType> => {\n const context = useContext(EditContext);\n if (!context) {\n throw new Error(\n 'useEditContext must be used inside an EditContextProvider'\n );\n }\n return context;\n};\n","import { createContext, useContext } from 'react';\nimport type { UseReferenceFieldControllerResult } from './useReferenceFieldController';\n\nexport const ReferenceFieldContext = createContext<UseReferenceFieldControllerResult | null>(\n null\n);\n\nexport const ReferenceFieldContextProvider = ReferenceFieldContext.Provider;\n\nexport const useReferenceFieldContext = () => {\n const context = useContext(ReferenceFieldContext);\n if (!context) {\n throw new Error(\n 'useReferenceFieldContext must be used inside a ReferenceFieldContextProvider'\n );\n }\n return context;\n};\n","import { RaRecord, Identifier } from '../types';\nimport { UseGetManyHookValue, useGetManyAggregate } from '../dataProvider';\nimport { UseQueryOptions } from '@tanstack/react-query';\n\ninterface UseReferenceProps<RecordType extends RaRecord = any> {\n id: Identifier;\n reference: string;\n options?: Omit<UseQueryOptions<RecordType[]>, 'queryFn' | 'queryKey'> & {\n meta?: any;\n };\n}\n\nexport interface UseReferenceResult<RecordType extends RaRecord = any> {\n isLoading: boolean;\n isPending: boolean;\n isFetching: boolean;\n referenceRecord?: RecordType;\n error?: any;\n refetch: UseGetManyHookValue<RecordType>['refetch'];\n}\n\n/**\n * @typedef UseReferenceResult\n * @type {Object}\n * @property {boolean} isFetching: boolean indicating if the reference is loading\n * @property {boolean} isLoading: boolean indicating if the reference has loaded at least once\n * @property {Object} referenceRecord: the referenced record.\n */\n\n/**\n * Fetch reference record, and return it when available\n *\n * The reference prop should be the name of one of the <Resource> components\n * added as <Admin> child.\n *\n * @example\n *\n * const { isLoading, referenceRecord } = useReference({\n * id: 7,\n * reference: 'users',\n * });\n *\n * @param {Object} option\n * @param {string} option.reference The linked resource name\n * @param {string} option.id The id of the reference\n * @param {Object} option.options Options passed to the dataProvider\n *\n * @returns {UseReferenceResult} The reference record\n */\nexport const useReference = <RecordType extends RaRecord = RaRecord>({\n reference,\n id,\n options = {},\n}: UseReferenceProps<RecordType>): UseReferenceResult<RecordType> => {\n const { meta, ...otherQueryOptions } = options;\n const {\n data,\n error,\n isLoading,\n isFetching,\n isPending,\n refetch,\n } = useGetManyAggregate<RecordType>(\n reference,\n { ids: [id], meta },\n otherQueryOptions\n );\n return {\n referenceRecord: error ? undefined : data ? data[0] : undefined,\n refetch,\n error,\n isLoading,\n isFetching,\n isPending,\n };\n};\n","import { useMemo } from 'react';\nimport { UseQueryOptions } from '@tanstack/react-query';\nimport { RaRecord } from '../../types';\nimport { LinkToType, useCreatePath } from '../../routing';\nimport { UseReferenceResult, useReference } from '../useReference';\nimport { useResourceDefinition } from '../../core';\nimport { useFieldValue } from '../../util';\n\nexport const useReferenceFieldController = <\n ReferenceRecordType extends RaRecord = RaRecord\n>(\n options: UseReferenceFieldControllerOptions<ReferenceRecordType>\n): UseReferenceFieldControllerResult<ReferenceRecordType> => {\n const { link = 'edit', reference, queryOptions } = options;\n if (!reference) {\n throw new Error(\n 'useReferenceFieldController: missing reference prop. You must provide a reference, e.g. reference=\"posts\".'\n );\n }\n const id = useFieldValue(options);\n const referenceRecordQuery = useReference<ReferenceRecordType>({\n reference,\n id,\n options: {\n ...queryOptions,\n enabled:\n (queryOptions?.enabled == null ||\n queryOptions?.enabled === true) &&\n id != null,\n },\n });\n\n const createPath = useCreatePath();\n const resourceDefinition = useResourceDefinition({ resource: reference });\n\n const result = useMemo(\n () =>\n ({\n ...referenceRecordQuery,\n link:\n referenceRecordQuery.referenceRecord != null\n ? link === false ||\n (link === 'edit' && !resourceDefinition.hasEdit) ||\n (link === 'show' && !resourceDefinition.hasShow)\n ? false\n : createPath({\n resource: reference,\n id: referenceRecordQuery.referenceRecord.id,\n type:\n typeof link === 'function'\n ? link(\n referenceRecordQuery.referenceRecord,\n reference\n )\n : link,\n })\n : undefined,\n } as const),\n [createPath, link, reference, referenceRecordQuery, resourceDefinition]\n );\n return result;\n};\n\nexport interface UseReferenceFieldControllerOptions<\n ReferenceRecordType extends RaRecord = RaRecord\n> {\n source: string;\n queryOptions?: Partial<\n UseQueryOptions<ReferenceRecordType[], Error> & {\n meta?: any;\n }\n >;\n reference: string;\n link?: LinkToType<ReferenceRecordType>;\n}\n\nexport interface UseReferenceFieldControllerResult<\n ReferenceRecordType extends RaRecord = RaRecord\n> extends UseReferenceResult<ReferenceRecordType> {\n link?: string | false;\n}\n","import * as React from 'react';\nimport { ReactNode } from 'react';\nimport { UseQueryOptions } from '@tanstack/react-query';\nimport { ReferenceFieldContextProvider } from './ReferenceFieldContext';\nimport { RaRecord } from '../../types';\nimport { useReferenceFieldController } from './useReferenceFieldController';\nimport { ResourceContextProvider } from '../../core';\nimport { RecordContextProvider } from '../record';\n\n/**\n * Fetch reference record, and render its representation, or delegate rendering to child component.\n *\n * The reference prop should be the name of one of the <Resource> components\n * added as <Admin> child.\n *\n * @example // using recordRepresentation\n * <ReferenceFieldBase label=\"User\" source=\"userId\" reference=\"users\" />\n *\n * @example // using a Field component to represent the record\n * <ReferenceFieldBase label=\"User\" source=\"userId\" reference=\"users\">\n * <TextField source=\"name\" />\n * </ReferenceFieldBase>\n *\n * @example // By default, includes a link to the <Edit> page of the related record\n * // (`/users/:userId` in the previous example).\n * // Set the `link` prop to \"show\" to link to the <Show> page instead.\n * <ReferenceFieldBase label=\"User\" source=\"userId\" reference=\"users\" link=\"show\" />\n *\n * @example // You can also prevent `<ReferenceFieldBase>` from adding link to children\n * // by setting `link` to false.\n * <ReferenceFieldBase label=\"User\" source=\"userId\" reference=\"users\" link={false} />\n *\n * @example // Alternatively, you can also pass a custom function to `link`.\n * // It must take reference and record as arguments and return a string\n * <ReferenceFieldBase label=\"User\" source=\"userId\" reference=\"users\" link={(record, reference) => \"/path/to/${reference}/${record}\"} />\n *\n * @default\n * In previous versions of React-Admin, the prop `linkType` was used. It is now deprecated and replaced with `link`. However\n * backward-compatibility is still kept\n */\nexport const ReferenceFieldBase = <\n ReferenceRecordType extends RaRecord = RaRecord\n>(\n props: ReferenceFieldBaseProps<ReferenceRecordType>\n) => {\n const { children } = props;\n\n const controllerProps = useReferenceFieldController<ReferenceRecordType>(\n props\n );\n\n return (\n <ResourceContextProvider value={props.reference}>\n <ReferenceFieldContextProvider value={controllerProps}>\n <RecordContextProvider value={controllerProps.referenceRecord}>\n {children}\n </RecordContextProvider>\n </ReferenceFieldContextProvider>\n </ResourceContextProvider>\n );\n};\n\nexport interface ReferenceFieldBaseProps<\n ReferenceRecordType extends RaRecord = RaRecord\n> {\n children?: ReactNode;\n className?: string;\n error?: ReactNode;\n queryOptions?: Partial<\n UseQueryOptions<ReferenceRecordType[], Error> & {\n meta?: any;\n }\n >;\n reference: string;\n source: string;\n}\n","/* jshint node:true */\n 'use strict';\n\n module.exports = \"\\n\";\n ","'use strict';\n\nmodule.exports.isFunction = function (fn) {\n var getType = {};\n return fn && getType.toString.call(fn) === '[object Function]';\n};\n\nmodule.exports.isArray = function (arr) {\n return Array.isArray(arr);\n};\n\nmodule.exports.isObject = function (obj) {\n return obj instanceof Object;\n};\n\nmodule.exports.isString = function (str) {\n return typeof str === 'string';\n};\n\nmodule.exports.isNumber = function (num) {\n return typeof num === 'number';\n};\n\nmodule.exports.isBoolean = function (bool) {\n return typeof bool === 'boolean';\n};\n\nmodule.exports.isDate = function (date) {\n return date instanceof Date;\n};","'use strict';\n\nvar EOL = require('./eol');\nvar helper = require('./helper');\n\nmodule.exports = function joinRows(rows, join) {\n if (!rows || !helper.isArray(rows)) {\n throw new TypeError('Invalid params \"rows\" for joinRows.' + ' Must be an array of string.');\n }\n //Merge all rows in a single output with the correct End of Line string\n var r = rows.join(join || EOL || '\\n');\n return r;\n};","/* jshint node:true */\n'use strict';\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar helper = require('../core/helper');\n\nvar Handler = function () {\n function Handler(options) {\n _classCallCheck(this, Handler);\n\n this._options = options;\n\n // an object of {typeName:(value,index,parent)=>any}\n this._options.typeHandlers = this._options.typeHandlers || {};\n }\n\n /**\n * Check if results needing mapping to alternate value\n *\n * @returns [{item, value}] result\n */\n\n\n _createClass(Handler, [{\n key: '_setHeaders',\n value: function _setHeaders(result, item) {\n var self = this;\n if (!item) return result;\n return result.map(function (element) {\n element.item = element.item ? item + self._options.headerPathString + element.item : item;\n return element;\n });\n }\n }, {\n key: 'castValue',\n value: function castValue(element, item, index, parent) {\n //cast by matching constructor\n var types = this._options.typeHandlers;\n for (var type in types) {\n if (isInstanceOfTypeName(element, type)) {\n element = types[type].call(types, element, index, parent);\n break; //first match we move on\n }\n }\n\n return element;\n }\n }, {\n key: 'checkComplex',\n value: function checkComplex(element, item) {\n //Check if element is a Date\n if (helper.isDate(element)) {\n return [{\n item: item,\n value: (this._options.handleDate || this._handleDate)(element, item)\n }];\n }\n //Check if element is an Array\n else if (helper.isArray(element)) {\n var resultArray = this._handleArray(element, item);\n return this._setHeaders(resultArray, item);\n }\n //Check if element is a Object\n else if (helper.isObject(element)) {\n var resultObject = this._handleObject(element);\n return this._setHeaders(resultObject, item);\n }\n\n return [{\n item: item,\n value: ''\n }];\n }\n\n /**\n * Check the element type of the element call the correct handle function\n *\n * @param element Element that will be checked\n * @param item Used to make the headers/path breadcrumb\n * @returns [{item, value}] result\n */\n\n }, {\n key: 'check',\n value: function check(element, item, index, parent) {\n element = this.castValue(element, item, index, parent);\n // try simple value by highier performance switch\n switch (typeof element === 'undefined' ? 'undefined' : _typeof(element)) {\n case 'string':\n return [{\n item: item,\n value: this._handleString(element, item)\n }];\n\n case 'number':\n return [{\n item: item,\n value: this._handleNumber(element, item)\n }];\n\n case 'boolean':\n return [{\n item: item,\n value: this._handleBoolean.bind(this)(element, item)\n }];\n }\n\n return this.checkComplex(element, item);\n }\n\n /**\n * Handle all Objects\n *\n * @param {Object} obj\n * @returns [{item, value}] result\n */\n\n }, {\n key: '_handleObject',\n value: function _handleObject(obj) {\n var result = [];\n //Look every object props\n for (var prop in obj) {\n var propData = obj[prop];\n //Check the propData type\n var resultCheckType = this.check(propData, prop, prop, obj);\n //Append to results aka merge results aka array-append-array\n result = result.concat(resultCheckType);\n }\n return result;\n }\n\n /**\n * Handle all Arrays, merges arrays with primitive types in a single value\n *\n * @param {Array} array\n * @returns [{item, value}] result\n */\n\n }, {\n key: '_handleArray',\n value: function _handleArray(array) {\n var self = this;\n var result = [];\n var firstElementWithoutItem;\n for (var aIndex = 0; aIndex < array.length; ++aIndex) {\n var element = array[aIndex];\n //Check the propData type\n var resultCheckType = self.check(element, null, aIndex, array);\n //Check for results without itens, merge all itens with the first occurrence\n if (resultCheckType.length === 0) continue;\n var firstResult = resultCheckType[0];\n if (!firstResult.item && firstElementWithoutItem !== undefined) {\n firstElementWithoutItem.value += self._options.arrayPathString + firstResult.value;\n continue;\n } else if (resultCheckType.length > 0 && !firstResult.item && firstElementWithoutItem === undefined) {\n firstElementWithoutItem = firstResult;\n }\n //Append to results\n result = result.concat(resultCheckType);\n }\n return result;\n }\n /**\n * Handle all Boolean variables, can be replaced with options.handleBoolean\n *\n * @param {Boolean} boolean\n * @returns {String} result\n */\n\n }, {\n key: '_handleBoolean',\n value: function _handleBoolean(boolean) {\n var result;\n //Check for booolean options\n if (boolean) {\n result = this._options.booleanTrueString || 'true';\n } else {\n result = this._options.booleanFalseString || 'false';\n }\n return result;\n }\n /**\n * Handle all String variables, can be replaced with options.handleString\n *\n * @param {String} string\n * @returns {String} string\n */\n\n }, {\n key: '_handleString',\n value: function _handleString(string) {\n return string;\n }\n /**\n * Handle all Number variables, can be replaced with options.handleNumber\n *\n * @param {Number} number\n * @returns {Number} number\n */\n\n }, {\n key: '_handleNumber',\n value: function _handleNumber(number) {\n return number;\n }\n /**\n * Handle all Date variables, can be replaced with options.handleDate\n *\n * @param {Date} number\n * @returns {string} result\n */\n\n }, {\n key: '_handleDate',\n value: function _handleDate(date) {\n return date.toLocaleDateString();\n }\n }]);\n\n return Handler;\n}();\n\nmodule.exports = Handler;\n\nvar globalScope = typeof window === \"undefined\" ? global : window;\nfunction isInstanceOfTypeName(element, typeName) {\n if (element instanceof globalScope[typeName]) {\n return true; //Buffer and complex objects\n }\n\n //literals in javascript cannot be checked by instance of\n switch (typeof element === 'undefined' ? 'undefined' : _typeof(element)) {\n case 'string':\n return typeName === \"String\";\n case 'boolean':\n return typeName === \"Boolean\";\n case 'number':\n return typeName === \"Number\";\n }\n\n return false;\n}","/* jshint node:true */\n'use strict';\n\n// Escape the textDelimiters contained in the field\n/*(https://tools.ietf.org/html/rfc4180)\n 7. If double-quotes are used to enclose fields, then a double-quote\n appearing inside a field must be escaped by preceding it with\n another double quote.\n For example: \"aaa\",\"b\"\"bb\",\"ccc\"\n*/\n\nmodule.exports = function escapedDelimiters(textDelimiter, rowDelimiter, forceTextDelimiter) {\n var endOfLine = '\\n';\n\n if (typeof textDelimiter !== 'string') {\n throw new TypeError('Invalid param \"textDelimiter\", must be a string.');\n }\n\n if (typeof rowDelimiter !== 'string') {\n throw new TypeError('Invalid param \"rowDelimiter\", must be a string.');\n }\n\n var textDelimiterRegex = new RegExp(\"\\\\\" + textDelimiter, 'g');\n var escapedDelimiter = textDelimiter + textDelimiter;\n\n var enclosingCondition = textDelimiter === '\"' ? function (value) {\n return value.indexOf(rowDelimiter) >= 0 || value.indexOf(endOfLine) >= 0 || value.indexOf('\"') >= 0;\n } : function (value) {\n return value.indexOf(rowDelimiter) >= 0 || value.indexOf(endOfLine) >= 0;\n };\n\n return function (value) {\n if (forceTextDelimiter) value = \"\" + value;\n\n if (!value.replace) return value;\n // Escape the textDelimiters contained in the field\n value = value.replace(textDelimiterRegex, escapedDelimiter);\n\n // Escape the whole field if it contains a rowDelimiter or a linebreak or double quote\n if (forceTextDelimiter || enclosingCondition(value)) {\n value = textDelimiter + value + textDelimiter;\n }\n\n return value;\n };\n};","/* jshint node:true */\n'use strict';\n\n/**\n * Module dependencies.\n */\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar joinRows = require('../core/join-rows');\nvar Handler = require('./handler');\nvar helper = require('../core/helper');\n\nvar Parser = function () {\n function Parser(options) {\n _classCallCheck(this, Parser);\n\n this._options = options || {};\n this._handler = new Handler(this._options);\n this._headers = this._options.headers || [];\n this._escape = require('../core/escape-delimiters')(this._options.textDelimiter, this._options.rowDelimiter, this._options.forceTextDelimiter);\n }\n\n /**\n * Generates a CSV file with optional headers based on the passed JSON,\n * with can be an Object or Array.\n *\n * @param {Object|Array} json\n * @param {Function} done(err,csv) - Callback function\n * if error, returning error in call back.\n * if csv is created successfully, returning csv output to callback.\n */\n\n\n _createClass(Parser, [{\n key: 'parse',\n value: function parse(json, done, stream) {\n if (helper.isArray(json)) return done(null, this._parseArray(json, stream));else if (helper.isObject(json)) return done(null, this._parseObject(json));\n return done(new Error('Unable to parse the JSON object, its not an Array or Object.'));\n }\n }, {\n key: '_checkRows',\n value: function _checkRows(rows) {\n var lastRow = null;\n var finalRows = [];\n var fillGaps = function fillGaps(col, index) {\n return col === '' || col === undefined ? lastRow[index] : col;\n };\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = rows[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var row = _step.value;\n\n var missing = this._headers.length - row.length;\n if (missing > 0) row = row.concat(Array(missing).join(\".\").split(\".\"));\n if (lastRow && this._options.fillGaps) row = row.map(fillGaps);\n finalRows.push(row.join(this._options.rowDelimiter));\n lastRow = row;\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n return finalRows;\n }\n }, {\n key: '_parseArray',\n value: function _parseArray(json, stream) {\n var self = this;\n this._headers = this._headers || [];\n var fileRows = [];\n var outputFile = void 0;\n var fillRows = void 0;\n\n var getHeaderIndex = function getHeaderIndex(header) {\n var index = self._headers.indexOf(header);\n if (index === -1) {\n self._headers.push(header);\n index = self._headers.indexOf(header);\n }\n return index;\n };\n\n //Generate the csv output\n fillRows = function fillRows(result) {\n var rows = [];\n var fillAndPush = function fillAndPush(row) {\n return rows.push(row.map(function (col) {\n return col != null ? col : '';\n }));\n };\n // initialize the array with empty strings to handle 'unpopular' headers\n var newRow = function newRow() {\n return new Array(self._headers.length).fill(null);\n };\n var emptyRowIndexByHeader = {};\n var currentRow = newRow();\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n for (var _iterator2 = result[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var element = _step2.value;\n\n var elementHeaderIndex = getHeaderIndex(element.item);\n if (currentRow[elementHeaderIndex] != undefined) {\n fillAndPush(currentRow);\n currentRow = newRow();\n }\n emptyRowIndexByHeader[elementHeaderIndex] = emptyRowIndexByHeader[elementHeaderIndex] || 0;\n // make sure there isn't a empty row for this header\n if (self._options.fillTopRow && emptyRowIndexByHeader[elementHeaderIndex] < rows.length) {\n rows[emptyRowIndexByHeader[elementHeaderIndex]][elementHeaderIndex] = self._escape(element.value);\n emptyRowIndexByHeader[elementHeaderIndex] += 1;\n continue;\n }\n currentRow[elementHeaderIndex] = self._escape(element.value);\n emptyRowIndexByHeader[elementHeaderIndex] += 1;\n }\n // push last row\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n\n if (currentRow.length > 0) {\n fillAndPush(currentRow);\n }\n fileRows = fileRows.concat(self._checkRows(rows));\n };\n var _iteratorNormalCompletion3 = true;\n var _didIteratorError3 = false;\n var _iteratorError3 = undefined;\n\n try {\n for (var _iterator3 = json[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n var item = _step3.value;\n\n //Call checkType to list all items inside this object\n //Items are returned as a object {item: 'Prop Value, Item Name', value: 'Prop Data Value'}\n var itemResult = self._handler.check(item, self._options.mainPathItem, item, json);\n fillRows(itemResult);\n }\n } catch (err) {\n _didIteratorError3 = true;\n _iteratorError3 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion3 && _iterator3.return) {\n _iterator3.return();\n }\n } finally {\n if (_didIteratorError3) {\n throw _iteratorError3;\n }\n }\n }\n\n if (!stream && self._options.includeHeaders) {\n //Add the headers to the first line\n fileRows.unshift(this.headers);\n }\n\n return joinRows(fileRows, self._options.endOfLine);\n }\n }, {\n key: '_parseObject',\n value: function _parseObject(json) {\n var self = this;\n var fileRows = [];\n var parseResult = [];\n var outputFile = void 0;\n var fillRows = void 0;\n var horizontalRows = [[], []];\n\n fillRows = function fillRows(result) {\n var value = result.value || result.value === 0 ? result.value.toString() : self._options.undefinedString;\n value = self._escape(value);\n\n //Type header;value\n if (self._options.verticalOutput) {\n var row = [result.item, value];\n fileRows.push(row.join(self._options.rowDelimiter));\n } else {\n horizontalRows[0].push(result.item);\n horizontalRows[1].push(value);\n }\n };\n for (var prop in json) {\n var prefix = \"\";\n if (this._options.mainPathItem) prefix = this._options.mainPathItem + this._options.headerPathString;\n parseResult = this._handler.check(json[prop], prefix + prop, prop, json);\n\n parseResult.forEach(fillRows);\n }\n if (!this._options.verticalOutput) {\n fileRows.push(horizontalRows[0].join(this._options.rowDelimiter));\n fileRows.push(horizontalRows[1].join(this._options.rowDelimiter));\n }\n return joinRows(fileRows, this._options.endOfLine);\n }\n }, {\n key: 'headers',\n get: function get() {\n var _this = this;\n\n var headers = this._headers;\n\n if (this._options.rename && this._options.rename.length > 0) headers = headers.map(function (header) {\n return _this._options.rename[_this._options.headers.indexOf(header)] || header;\n });\n\n if (this._options.forceTextDelimiter) {\n headers = headers.map(function (header) {\n return '' + _this._options.textDelimiter + header + _this._options.textDelimiter;\n });\n }\n\n if (this._options.mapHeaders) headers = headers.map(this._options.mapHeaders);\n\n return headers.join(this._options.rowDelimiter);\n }\n }]);\n\n return Parser;\n}();\n\nmodule.exports = Parser;","/* jshint node:true */\n 'use strict';\n\n var Stream = function (_Transform) {\n throw new Error(\"jsonexport called without third argument as a callback and is required\")\n }\n\n module.exports = Stream;\n ","/* jshint node:true */\n'use strict';\n/**\n * Module dependencies.\n */\n//const _ = require('underscore');\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar Parser = require('./parser/csv');\nvar Stream = require('./core/stream');\nvar helper = require('./core/helper');\nvar EOL = require('./core/eol');\n\n/**\n * Main function that converts json to csv\n *\n * @param {Object|Array} json\n * @param {Object} [options]\n * @param {Function} callback(err, csv) - Callback function\n * if error, returning error in call back.\n * if csv is created successfully, returning csv output to callback.\n */\nmodule.exports = function () {\n var DEFAULT_OPTIONS = {\n headers: [], // Array\n rename: [], // Array\n headerPathString: '.', // String\n rowDelimiter: ',', // String\n textDelimiter: '\"', // String\n arrayPathString: ';', // String\n undefinedString: '', // String\n endOfLine: EOL || '\\n', // String\n mainPathItem: null, // String\n booleanTrueString: null, // String\n booleanFalseString: null, // String\n includeHeaders: true, // Boolean\n fillGaps: false, // Boolean\n verticalOutput: true, // Boolean\n forceTextDelimiter: false //Boolean\n };\n // argument parsing\n var json = void 0,\n userOptions = void 0,\n callback = void 0;\n if (arguments.length === 3) {\n var _arguments = Array.prototype.slice.call(arguments);\n\n json = _arguments[0];\n userOptions = _arguments[1];\n callback = _arguments[2];\n } else if (arguments.length === 2) {\n var any = void 0;\n\n var _arguments2 = Array.prototype.slice.call(arguments);\n\n json = _arguments2[0];\n any = _arguments2[1];\n\n if (typeof any === 'function') {\n callback = any;\n } else if ((typeof any === 'undefined' ? 'undefined' : _typeof(any)) === 'object') {\n userOptions = any;\n }\n } else if (arguments.length === 1) {\n var _arguments3 = Array.prototype.slice.call(arguments),\n _any = _arguments3[0];\n\n if ((typeof _any === 'undefined' ? 'undefined' : _typeof(_any)) === 'object') {\n var defaultKeys = Object.keys(DEFAULT_OPTIONS);\n var objectKeys = Object.keys(_any);\n var isOptions = objectKeys.every(function (key) {\n return defaultKeys.includes(key);\n });\n if (objectKeys.length > 0 && isOptions) {\n userOptions = _any;\n } else {\n json = _any;\n }\n } else {\n json = _any;\n }\n } else {\n return new Stream(new Parser(DEFAULT_OPTIONS));\n }\n var options = Object.assign({}, DEFAULT_OPTIONS, userOptions);\n var parser = new Parser(options);\n // if no json is provided Stream API will be used\n if (!json) {\n return new Stream(parser);\n }\n // always return an promise\n return new Promise(function (resolve, reject) {\n parser.parse(json, function (err, result) {\n if (callback) return callback(err, result);\n if (err) return reject(err);\n if (reject) return resolve(result);\n });\n });\n};","export default (csv: string, filename: string = 'export'): void => {\n const fakeLink = document.createElement('a');\n fakeLink.style.display = 'none';\n document.body.appendChild(fakeLink);\n const blob = new Blob([csv], { type: 'text/csv;charset=utf-8' });\n // @ts-ignore\n if (window.navigator && window.navigator.msSaveOrOpenBlob) {\n // Manage IE11+ & Edge\n // @ts-ignore\n window.navigator.msSaveOrOpenBlob(blob, `${filename}.csv`);\n } else {\n fakeLink.setAttribute('href', URL.createObjectURL(blob));\n fakeLink.setAttribute('download', `${filename}.csv`);\n fakeLink.click();\n }\n};\n","import jsonExport from 'jsonexport/dist';\n\nimport downloadCSV from './downloadCSV';\nimport { Exporter } from '../types';\n\nconst defaultExporter: Exporter = (data, _, __, resource) =>\n jsonExport(data, (err, csv) => downloadCSV(csv, resource));\n\nexport default defaultExporter;\n","import { RaRecord, Identifier, DataProvider } from '../types';\n\n/**\n * Helper function for calling the dataProvider.getMany() method,\n * and getting a Promise for the records indexed by id in return.\n *\n * @example\n * fetchRelatedRecords(dataProvider)(records, 'post_id', 'posts').then(posts =>\n * posts.map(record => ({\n * ...record,\n * post_title: posts[record.post_id].title,\n * }))\n * );\n */\nconst fetchRelatedRecords = (dataProvider: DataProvider) => (\n data,\n field,\n resource\n) =>\n dataProvider\n .getMany(resource, { ids: getRelatedIds(data, field) })\n .then(({ data }) =>\n data.reduce((acc, post) => {\n acc[post.id] = post;\n return acc;\n }, {})\n );\n\n/**\n * Extracts, aggregates and deduplicates the ids of related records\n *\n * @example\n * const books = [\n * { id: 1, author_id: 123, title: 'Pride and Prejudice' },\n * { id: 2, author_id: 123, title: 'Sense and Sensibility' },\n * { id: 3, author_id: 456, title: 'War and Peace' },\n * ];\n * getRelatedIds(books, 'author_id'); => [123, 456]\n *\n * @example\n * const books = [\n * { id: 1, tag_ids: [1, 2], title: 'Pride and Prejudice' },\n * { id: 2, tag_ids: [2, 3], title: 'Sense and Sensibility' },\n * { id: 3, tag_ids: [4], title: 'War and Peace' },\n * ];\n * getRelatedIds(records, 'tag_ids'); => [1, 2, 3, 4]\n *\n * @param {Object[]} records An array of records\n * @param {string} field the identifier of the record field to use\n */\nexport const getRelatedIds = (\n records: RaRecord[],\n field: string\n): Identifier[] =>\n Array.from(\n new Set(\n records\n .filter(record => record[field] != null)\n .map(record => record[field])\n .reduce((ids, value) => ids.concat(value), [])\n )\n );\n\nexport default fetchRelatedRecords;\n","import { useCallback, useMemo, useState } from 'react';\n\nimport { useStore, useRemoveFromStore } from '../../store';\nimport { RaRecord } from '../../types';\n\ntype UseRecordSelectionWithResourceArgs = {\n resource: string;\n disableSyncWithStore?: false;\n};\ntype UseRecordSelectionWithNoStoreArgs = {\n resource?: string;\n disableSyncWithStore: true;\n};\n\nexport type UseRecordSelectionArgs =\n | UseRecordSelectionWithResourceArgs\n | UseRecordSelectionWithNoStoreArgs;\n\nexport type UseRecordSelectionResult<RecordType extends RaRecord = any> = [\n RecordType['id'][],\n {\n select: (ids: RecordType['id'][]) => void;\n unselect: (ids: RecordType['id'][]) => void;\n toggle: (id: RecordType['id']) => void;\n clearSelection: () => void;\n }\n];\n\n/**\n * Get the list of selected items for a resource, and callbacks to change the selection\n *\n * @param args.resource The resource name, e.g. 'posts'\n * @param args.disableSyncWithStore Controls the selection syncronization with the store\n *\n * @returns {Object} Destructure as [selectedIds, { select, toggle, clearSelection }].\n */\nexport const useRecordSelection = <RecordType extends RaRecord = any>(\n args: UseRecordSelectionArgs\n): UseRecordSelectionResult<RecordType> => {\n const { resource = '', disableSyncWithStore = false } = args;\n\n const storeKey = `${resource}.selectedIds`;\n\n const [localIds, setLocalIds] = useState<RecordType['id'][]>(\n defaultSelection\n );\n // As we can't conditionally call a hook, if the storeKey is false,\n // we'll ignore the params variable later on and won't call setParams either.\n const [storeIds, setStoreIds] = useStore<RecordType['id'][]>(\n storeKey,\n defaultSelection\n );\n const resetStore = useRemoveFromStore(storeKey);\n\n const ids = disableSyncWithStore ? localIds : storeIds;\n const setIds = disableSyncWithStore ? setLocalIds : setStoreIds;\n\n const reset = useCallback(() => {\n if (disableSyncWithStore) {\n setLocalIds(defaultSelection);\n } else {\n resetStore();\n }\n }, [disableSyncWithStore, resetStore]);\n\n const selectionModifiers = useMemo(\n () => ({\n select: (idsToAdd: RecordType['id'][]) => {\n if (!idsToAdd) return;\n setIds([...idsToAdd]);\n },\n unselect(idsToRemove: RecordType['id'][]) {\n if (!idsToRemove || idsToRemove.length === 0) return;\n setIds(ids => {\n if (!Array.isArray(ids)) return [];\n return ids.filter(id => !idsToRemove.includes(id));\n });\n },\n toggle: (id: RecordType['id']) => {\n if (typeof id === 'undefined') return;\n setIds(ids => {\n if (!Array.isArray(ids)) return [...ids];\n const index = ids.indexOf(id);\n return index > -1\n ? [...ids.slice(0, index), ...ids.slice(index + 1)]\n : [...ids, id];\n });\n },\n clearSelection: () => {\n reset();\n },\n }),\n [setIds, reset]\n );\n\n return [ids, selectionModifiers];\n};\n\nconst defaultSelection = [];\n","var Stack = require('./_Stack'),\n baseIsEqual = require('./_baseIsEqual');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\nfunction baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (index--) {\n var data = matchData[index];\n if ((noCustomizer && data[2])\n ? data[1] !== object[data[0]]\n : !(data[0] in object)\n ) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var stack = new Stack;\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n if (!(result === undefined\n ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n}\n\nmodule.exports = baseIsMatch;\n","var isObject = require('./isObject');\n\n/**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\nfunction isStrictComparable(value) {\n return value === value && !isObject(value);\n}\n\nmodule.exports = isStrictComparable;\n","var isStrictComparable = require('./_isStrictComparable'),\n keys = require('./keys');\n\n/**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\nfunction getMatchData(object) {\n var result = keys(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n}\n\nmodule.exports = getMatchData;\n","/**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n}\n\nmodule.exports = matchesStrictComparable;\n","var baseIsMatch = require('./_baseIsMatch'),\n getMatchData = require('./_getMatchData'),\n matchesStrictComparable = require('./_matchesStrictComparable');\n\n/**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n}\n\nmodule.exports = baseMatches;\n","var baseIsEqual = require('./_baseIsEqual'),\n get = require('./get'),\n hasIn = require('./hasIn'),\n isKey = require('./_isKey'),\n isStrictComparable = require('./_isStrictComparable'),\n matchesStrictComparable = require('./_matchesStrictComparable'),\n toKey = require('./_toKey');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? hasIn(object, path)\n : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);\n };\n}\n\nmodule.exports = baseMatchesProperty;\n","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n","var baseGet = require('./_baseGet');\n\n/**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n}\n\nmodule.exports = basePropertyDeep;\n","var baseProperty = require('./_baseProperty'),\n basePropertyDeep = require('./_basePropertyDeep'),\n isKey = require('./_isKey'),\n toKey = require('./_toKey');\n\n/**\n * Creates a function that returns the value at `path` of a given object.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var objects = [\n * { 'a': { 'b': 2 } },\n * { 'a': { 'b': 1 } }\n * ];\n *\n * _.map(objects, _.property('a.b'));\n * // => [2, 1]\n *\n * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n * // => [1, 2]\n */\nfunction property(path) {\n return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\n}\n\nmodule.exports = property;\n","var baseMatches = require('./_baseMatches'),\n baseMatchesProperty = require('./_baseMatchesProperty'),\n identity = require('./identity'),\n isArray = require('./isArray'),\n property = require('./property');\n\n/**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\nfunction baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n}\n\nmodule.exports = baseIteratee;\n","var arrayPush = require('./_arrayPush'),\n getPrototype = require('./_getPrototype'),\n getSymbols = require('./_getSymbols'),\n stubArray = require('./stubArray');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own and inherited enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {\n var result = [];\n while (object) {\n arrayPush(result, getSymbols(object));\n object = getPrototype(object);\n }\n return result;\n};\n\nmodule.exports = getSymbolsIn;\n","var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbolsIn = require('./_getSymbolsIn'),\n keysIn = require('./keysIn');\n\n/**\n * Creates an array of own and inherited enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeysIn(object) {\n return baseGetAllKeys(object, keysIn, getSymbolsIn);\n}\n\nmodule.exports = getAllKeysIn;\n","var arrayMap = require('./_arrayMap'),\n baseIteratee = require('./_baseIteratee'),\n basePickBy = require('./_basePickBy'),\n getAllKeysIn = require('./_getAllKeysIn');\n\n/**\n * Creates an object composed of the `object` properties `predicate` returns\n * truthy for. The predicate is invoked with two arguments: (value, key).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The source object.\n * @param {Function} [predicate=_.identity] The function invoked per property.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.pickBy(object, _.isNumber);\n * // => { 'a': 1, 'c': 3 }\n */\nfunction pickBy(object, predicate) {\n if (object == null) {\n return {};\n }\n var props = arrayMap(getAllKeysIn(object), function(prop) {\n return [prop];\n });\n predicate = baseIteratee(predicate);\n return basePickBy(object, props, function(value, path) {\n return predicate(value, path[0]);\n });\n}\n\nmodule.exports = pickBy;\n","import * as React from 'react';\nimport { useState, useRef, useEffect, useCallback } from 'react';\nimport isEqual from 'lodash/isEqual';\n\n// thanks Kent C Dodds for the following helpers\n\nexport function useSafeSetState<T>(\n initialState?: T | (() => T)\n): [T | undefined, React.Dispatch<React.SetStateAction<T>>] {\n const [state, setState] = useState(initialState);\n\n const mountedRef = useRef(false);\n useEffect(() => {\n mountedRef.current = true;\n return () => {\n mountedRef.current = false;\n };\n }, []);\n const safeSetState = useCallback(\n args => {\n if (mountedRef.current) {\n return setState(args);\n }\n },\n [mountedRef, setState]\n );\n\n return [state, safeSetState];\n}\n\nexport function usePrevious(value) {\n const ref = useRef();\n useEffect(() => {\n ref.current = value;\n });\n return ref.current;\n}\n\nexport function useDeepCompareEffect(callback, inputs) {\n const cleanupRef = useRef();\n useEffect(() => {\n if (!isEqual(previousInputs, inputs)) {\n cleanupRef.current = callback();\n }\n return cleanupRef.current;\n });\n const previousInputs = usePrevious(inputs);\n}\n\n/**\n * A hook that returns true once a delay has expired.\n * @param ms The delay in milliseconds\n * @param key A key that can be used to reset the timer\n * @returns true if the delay has expired, false otherwise\n */\nexport function useTimeout(ms = 0, key = '') {\n const [ready, setReady] = useSafeSetState(false);\n\n useEffect(() => {\n setReady(false);\n let timer = setTimeout(() => {\n setReady(true);\n }, ms);\n\n return () => {\n clearTimeout(timer);\n };\n }, [key, ms, setReady]);\n\n return ready;\n}\n\nexport function useIsMounted() {\n const isMounted = useRef(true);\n useEffect(() => {\n isMounted.current = true;\n return () => {\n isMounted.current = false;\n };\n }, []);\n return isMounted;\n}\n","import { useCallback, useMemo, useEffect, useState, useRef } from 'react';\nimport queryString from 'query-string';\nimport lodashDebounce from 'lodash/debounce';\nimport pickBy from 'lodash/pickBy';\nimport { useNavigate, useLocation } from 'react-router-dom';\n\nimport { useStore } from '../../store';\nimport queryReducer, {\n SET_FILTER,\n HIDE_FILTER,\n SHOW_FILTER,\n SET_PAGE,\n SET_PER_PAGE,\n SET_SORT,\n SORT_ASC,\n} from './queryReducer';\nimport { SortPayload, FilterPayload } from '../../types';\nimport removeEmpty from '../../util/removeEmpty';\nimport { useIsMounted } from '../../util/hooks';\n\nexport interface ListParams {\n sort: string;\n order: 'ASC' | 'DESC';\n page: number;\n perPage: number;\n filter: any;\n displayedFilters: any;\n}\n\n/**\n * Get the list parameters (page, sort, filters) and modifiers.\n *\n * These parameters are merged from 3 sources:\n * - the query string from the URL\n * - the params stored in the state (from previous navigation)\n * - the options passed to the hook (including the filter defaultValues)\n *\n * @returns {Array} A tuple [parameters, modifiers].\n * Destructure as [\n * { page, perPage, sort, order, filter, filterValues, displayedFilters, requestSignature },\n * { setFilters, hideFilter, showFilter, setPage, setPerPage, setSort }\n * ]\n *\n * @example\n *\n * const [listParams, listParamsActions] = useListParams({\n * resource: 'posts',\n * location: location // From react-router. Injected to your component by react-admin inside a List\n * filterDefaultValues: {\n * published: true\n * },\n * sort: {\n * field: 'published_at',\n * order: 'DESC'\n * },\n * perPage: 25\n * });\n *\n * const {\n * page,\n * perPage,\n * sort,\n * order,\n * filter,\n * filterValues,\n * displayedFilters,\n * requestSignature\n * } = listParams;\n *\n * const {\n * setFilters,\n * hideFilter,\n * showFilter,\n * setPage,\n * setPerPage,\n * setSort,\n * } = listParamsActions;\n */\nexport const useListParams = ({\n debounce = 500,\n disableSyncWithLocation = false,\n filterDefaultValues,\n perPage = 10,\n resource,\n sort = defaultSort,\n storeKey = `${resource}.listParams`,\n}: ListParamsOptions): [Parameters, Modifiers] => {\n const location = useLocation();\n const navigate = useNavigate();\n const [localParams, setLocalParams] = useState(defaultParams);\n // As we can't conditionally call a hook, if the storeKey is false,\n // we'll ignore the params variable later on and won't call setParams either.\n const [params, setParams] = useStore(\n storeKey || `${resource}.listParams`,\n defaultParams\n );\n const tempParams = useRef<ListParams>();\n const isMounted = useIsMounted();\n const disableSyncWithStore = storeKey === false;\n\n const requestSignature = [\n location.search,\n resource,\n storeKey,\n JSON.stringify(\n disableSyncWithLocation || disableSyncWithStore\n ? localParams\n : params\n ),\n JSON.stringify(filterDefaultValues),\n JSON.stringify(sort),\n perPage,\n disableSyncWithLocation,\n ];\n\n const queryFromLocation = disableSyncWithLocation\n ? {}\n : parseQueryFromLocation(location);\n\n const query = useMemo(\n () =>\n getQuery({\n queryFromLocation,\n params:\n disableSyncWithLocation || disableSyncWithStore\n ? localParams\n : params,\n filterDefaultValues,\n sort,\n perPage,\n }),\n requestSignature // eslint-disable-line react-hooks/exhaustive-deps\n );\n\n // if the location includes params (for example from a link like\n // the categories products on the demo), we need to persist them in the\n // store as well so that we don't lose them after a redirection back\n // to the list\n useEffect(() => {\n if (\n Object.keys(queryFromLocation).length > 0 &&\n !disableSyncWithStore\n ) {\n setParams(query);\n }\n }, [location.search]); // eslint-disable-line\n\n const changeParams = useCallback(\n action => {\n // do not change params if the component is already unmounted\n // this is necessary because changeParams can be debounced, and therefore\n // executed after the component is unmounted\n if (!isMounted.current) return;\n\n if (!tempParams.current) {\n // no other changeParams action dispatched this tick\n tempParams.current = queryReducer(query, action);\n // schedule side effects for next tick\n setTimeout(() => {\n if (!tempParams.current) {\n // the side effects were already processed by another changeParams\n return;\n }\n if (disableSyncWithLocation) {\n setLocalParams(tempParams.current);\n } else {\n // the useEffect above will apply the changes to the params in the store\n navigate(\n {\n search: `?${queryString.stringify({\n ...tempParams.current,\n filter: JSON.stringify(\n tempParams.current.filter\n ),\n displayedFilters: JSON.stringify(\n tempParams.current.displayedFilters\n ),\n })}`,\n },\n {\n state: {\n _scrollToTop: action.type === SET_PAGE,\n },\n }\n );\n }\n tempParams.current = undefined;\n }, 0);\n } else {\n // side effects already scheduled, just change the params\n tempParams.current = queryReducer(tempParams.current, action);\n }\n },\n [...requestSignature, navigate] // eslint-disable-line react-hooks/exhaustive-deps\n );\n\n const setSort = useCallback(\n (sort: SortPayload) =>\n changeParams({\n type: SET_SORT,\n payload: sort,\n }),\n [changeParams]\n );\n\n const setPage = useCallback(\n (newPage: number) => changeParams({ type: SET_PAGE, payload: newPage }),\n [changeParams]\n );\n\n const setPerPage = useCallback(\n (newPerPage: number) =>\n changeParams({ type: SET_PER_PAGE, payload: newPerPage }),\n [changeParams]\n );\n\n const filterValues = query.filter || emptyObject;\n const displayedFilterValues = query.displayedFilters || emptyObject;\n\n const debouncedSetFilters = lodashDebounce((filter, displayedFilters) => {\n changeParams({\n type: SET_FILTER,\n payload: {\n filter: removeEmpty(filter),\n displayedFilters,\n },\n });\n }, debounce);\n\n const setFilters = useCallback(\n (filter, displayedFilters = undefined, debounce = false) =>\n debounce\n ? debouncedSetFilters(filter, displayedFilters)\n : changeParams({\n type: SET_FILTER,\n payload: {\n filter: removeEmpty(filter),\n displayedFilters,\n },\n }),\n [changeParams] // eslint-disable-line react-hooks/exhaustive-deps\n );\n\n const hideFilter = useCallback(\n (filterName: string) => {\n changeParams({\n type: HIDE_FILTER,\n payload: filterName,\n });\n },\n [changeParams]\n );\n\n const showFilter = useCallback(\n (filterName: string, defaultValue: any) => {\n changeParams({\n type: SHOW_FILTER,\n payload: {\n filterName,\n defaultValue,\n },\n });\n },\n [changeParams]\n );\n\n return [\n {\n filterValues,\n requestSignature,\n ...query,\n displayedFilters: displayedFilterValues,\n },\n {\n changeParams,\n setPage,\n setPerPage,\n setSort,\n setFilters,\n hideFilter,\n showFilter,\n },\n ];\n};\n\nexport const validQueryParams = [\n 'page',\n 'perPage',\n 'sort',\n 'order',\n 'filter',\n 'displayedFilters',\n];\n\nconst parseObject = (query, field) => {\n if (query[field] && typeof query[field] === 'string') {\n try {\n query[field] = JSON.parse(query[field]);\n } catch (err) {\n delete query[field];\n }\n }\n};\n\nexport const parseQueryFromLocation = ({ search }): Partial<ListParams> => {\n const query = pickBy(\n queryString.parse(search),\n (v, k) => validQueryParams.indexOf(k) !== -1\n );\n parseObject(query, 'filter');\n parseObject(query, 'displayedFilters');\n return query;\n};\n\n/**\n * Check if user has already set custom sort, page, or filters for this list\n *\n * User params come from the store as the params props. By default,\n * this object is:\n *\n * { filter: {}, order: null, page: 1, perPage: null, sort: null }\n *\n * To check if the user has custom params, we must compare the params\n * to these initial values.\n *\n * @param {Object} params\n */\nexport const hasCustomParams = (params: ListParams) => {\n return (\n params &&\n params.filter &&\n (Object.keys(params.filter).length > 0 ||\n params.order != null ||\n params.page !== 1 ||\n params.perPage != null ||\n params.sort != null)\n );\n};\n\n/**\n * Merge list params from 3 different sources:\n * - the query string\n * - the params stored in the state (from previous navigation)\n * - the props passed to the List component (including the filter defaultValues)\n */\nexport const getQuery = ({\n queryFromLocation,\n params,\n filterDefaultValues,\n sort,\n perPage,\n}) => {\n const query: Partial<ListParams> =\n Object.keys(queryFromLocation).length > 0\n ? queryFromLocation\n : hasCustomParams(params)\n ? { ...params }\n : { filter: filterDefaultValues || {} };\n\n if (!query.sort) {\n query.sort = sort.field;\n query.order = sort.order;\n }\n if (query.perPage == null) {\n query.perPage = perPage;\n }\n if (query.page == null) {\n query.page = 1;\n }\n\n return {\n ...query,\n page: getNumberOrDefault(query.page, 1),\n perPage: getNumberOrDefault(query.perPage, 10),\n } as ListParams;\n};\n\nexport const getNumberOrDefault = (\n possibleNumber: string | number | undefined,\n defaultValue: number\n) => {\n if (typeof possibleNumber === 'undefined') {\n return defaultValue;\n }\n const parsedNumber =\n typeof possibleNumber === 'string'\n ? parseInt(possibleNumber, 10)\n : possibleNumber;\n\n return isNaN(parsedNumber) ? defaultValue : parsedNumber;\n};\n\nexport interface ListParamsOptions {\n debounce?: number;\n // Whether to disable the synchronization of the list parameters with\n // the current location (URL search parameters)\n disableSyncWithLocation?: boolean;\n // default value for a filter when displayed but not yet set\n filterDefaultValues?: FilterPayload;\n perPage?: number;\n resource: string;\n sort?: SortPayload;\n storeKey?: string | false;\n}\n\ninterface Parameters extends ListParams {\n filterValues: object;\n displayedFilters: {\n [key: string]: boolean;\n };\n requestSignature: any[];\n}\n\ninterface Modifiers {\n changeParams: (action: any) => void;\n setPage: (page: number) => void;\n setPerPage: (pageSize: number) => void;\n setSort: (sort: SortPayload) => void;\n setFilters: (\n filters: any,\n displayedFilters?: any,\n debounce?: boolean\n ) => void;\n hideFilter: (filterName: string) => void;\n showFilter: (filterName: string, defaultValue: any) => void;\n}\n\nconst emptyObject = {};\n\nconst defaultSort = {\n field: 'id',\n order: SORT_ASC,\n} as const;\n\nconst defaultParams = {};\n","import { createContext } from 'react';\nimport { ListControllerResult } from './useListController';\n\n/**\n * Context to store the result of the useListController() hook.\n *\n * Use the useListContext() hook to read the context. That's what many\n * List components do in react-admin (e.g. <Datagrid>, <FilterForm>, <Pagination>).\n *\n * @typedef {Object} ListControllerProps\n * @prop {Array} data an array of the list records, e.g. [{ id: 123, title: 'hello world' }, { ... }]\n * @prop {integer} total the total number of results for the current filters, excluding pagination. Useful to build the pagination controls. e.g. 23\n * @prop {boolean} isFetching boolean that is true on mount, and false once the data was fetched\n * @prop {boolean} isLoading boolean that is false until the data is available\n * @prop {integer} page the current page. Starts at 1\n * @prop {Function} setPage a callback to change the page, e.g. setPage(3)\n * @prop {integer} perPage the number of results per page. Defaults to 25\n * @prop {Function} setPerPage a callback to change the number of results per page, e.g. setPerPage(25)\n * @prop {Object} sort a sort object { field, order }, e.g. { field: 'date', order: 'DESC' }\n * @prop {Function} setSort a callback to change the sort, e.g. setSort({ field: 'name', order: 'ASC' })\n * @prop {Object} filterValues a dictionary of filter values, e.g. { title: 'lorem', nationality: 'fr' }\n * @prop {Function} setFilters a callback to update the filters, e.g. setFilters(filters, displayedFilters)\n * @prop {Object} displayedFilters a dictionary of the displayed filters, e.g. { title: true, nationality: true }\n * @prop {Function} showFilter a callback to show one of the filters, e.g. showFilter('title', defaultValue)\n * @prop {Function} hideFilter a callback to hide one of the filters, e.g. hideFilter('title')\n * @prop {Array} selectedIds an array listing the ids of the selected rows, e.g. [123, 456]\n * @prop {Function} onSelect callback to change the list of selected rows, e.g. onSelect([456, 789])\n * @prop {Function} onToggleItem callback to toggle the selection of a given record based on its id, e.g. onToggleItem(456)\n * @prop {Function} onUnselectItems callback to clear the selection, e.g. onUnselectItems();\n * @prop {string} defaultTitle the translated title based on the resource, e.g. 'Posts'\n * @prop {string} resource the resource name, deduced from the location. e.g. 'posts'\n * @prop {Function} refetch a function for triggering a refetch of the list data\n *\n * @typedef Props\n * @prop {ListControllerResult} value\n *\n * @param {Props}\n *\n * @see useListController\n * @see useListContext\n *\n * @example\n *\n * import { useListController, ListContext } from 'ra-core';\n *\n * const List = props => {\n * const controllerProps = useListController(props);\n * return (\n * <ListContext.Provider value={controllerProps}>\n * ...\n * </ListContext.Provider>\n * );\n * };\n */\nexport const ListContext = createContext<ListControllerResult | null>(null);\n\nListContext.displayName = 'ListContext';\n","import { createContext, useMemo } from 'react';\nimport pick from 'lodash/pick';\nimport { ListControllerResult } from './useListController';\n\n/**\n * Context to store the filter part of the useListController() result.\n *\n * Use the useListFilterContext() hook to read the context. That's what many\n * List components do in react-admin (e.g. <FilterForm>, <FilterListItem>).\n *\n * @typedef {Object} ListFilterContextValue\n * @prop {Object} filterValues a dictionary of filter values, e.g. { title: 'lorem', nationality: 'fr' }\n * @prop {Function} setFilters a callback to update the filters, e.g. setFilters(filters, displayedFilters)\n * @prop {Object} displayedFilters a dictionary of the displayed filters, e.g. { title: true, nationality: true }\n * @prop {Function} showFilter a callback to show one of the filters, e.g. showFilter('title', defaultValue)\n * @prop {Function} hideFilter a callback to hide one of the filters, e.g. hideFilter('title')\n * @prop {string} resource the resource name, deduced from the location. e.g. 'posts'\n *\n * @typedef Props\n * @prop {ListFilterContextValue} value\n *\n * @param {Props}\n *\n * @see useListController\n * @see useListFilterContext\n *\n * @example\n *\n * import { useListController, usePickFilterContext, ListFilterContext } from 'ra-core';\n *\n * const List = props => {\n * const controllerProps = useListController(props);\n * return (\n * <ListFilterContext.Provider value={usePickFilterContext(controllerProps)}>\n * ...\n * </ListFilterContext.Provider>\n * );\n * };\n */\nexport const ListFilterContext = createContext<\n ListFilterContextValue | undefined\n>(undefined);\n\nexport type ListFilterContextValue = Pick<\n ListControllerResult,\n | 'displayedFilters'\n | 'filterValues'\n | 'hideFilter'\n | 'setFilters'\n | 'showFilter'\n | 'resource'\n>;\n\nexport const usePickFilterContext = (\n context: ListControllerResult\n): ListFilterContextValue =>\n useMemo(\n () =>\n pick(context, [\n 'displayedFilters',\n 'filterValues',\n 'hideFilter',\n 'setFilters',\n 'showFilter',\n 'resource',\n ]),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n context.displayedFilters,\n context.filterValues,\n context.hideFilter,\n context.setFilters,\n context.showFilter,\n ]\n );\n\nListFilterContext.displayName = 'ListFilterContext';\n","import { createContext, useMemo } from 'react';\nimport pick from 'lodash/pick';\nimport { ListControllerResult } from './useListController';\n\n/**\n * Context to store the sort part of the useListController() result.\n *\n * Use the useListSortContext() hook to read the context. That's what many\n * List components do in react-admin (e.g. <SortButton>).\n *\n * @typedef {Object} ListSortContextValue\n * @prop {Object} sort a sort object { field, order }, e.g. { field: 'date', order: 'DESC' }\n * @prop {Function} setSort a callback to change the sort, e.g. setSort({ field: 'name', order: 'ASC' })\n * @prop {string} resource the resource name, deduced from the location. e.g. 'posts'\n *\n * @typedef Props\n * @prop {ListSortContextValue} value\n *\n * @param {Props}\n *\n * @see useListController\n * @see useListSortContext\n *\n * @example\n *\n * import { useListController, usePickSortContext, ListSortContext } from 'ra-core';\n *\n * const List = props => {\n * const controllerProps = useListController(props);\n * return (\n * <ListSortContext.Provider value={usePickSortContext(controllerProps)}>\n * ...\n * </ListSortContext.Provider>\n * );\n * };\n */\nexport const ListSortContext = createContext<ListSortContextValue | undefined>(\n undefined\n);\n\nexport type ListSortContextValue = Pick<\n ListControllerResult,\n 'sort' | 'setSort' | 'resource'\n>;\n\nexport const usePickSortContext = (\n context: ListControllerResult\n): ListSortContextValue =>\n useMemo(\n () => pick(context, ['sort', 'setSort', 'resource']),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [context.sort, context.setSort]\n );\n\nListSortContext.displayName = 'ListSortContext';\n","import { createContext, useMemo } from 'react';\nimport pick from 'lodash/pick';\nimport { ListControllerResult } from './useListController';\n\n/**\n * Context to store the pagination part of the useListController() result.\n *\n * Use the useListPaginationContext() hook to read the pagination information.\n * That's what List components do in react-admin (e.g. <Pagination>).\n *\n * @typedef {Object} ListPaginationContextValue\n * @prop {boolean} isLoading boolean that is false until the data is available\n * @prop {integer} total the total number of results for the current filters, excluding pagination. Useful to build the pagination controls. e.g. 23\n * @prop {integer} page the current page. Starts at 1\n * @prop {Function} setPage a callback to change the page, e.g. setPage(3)\n * @prop {integer} perPage the number of results per page. Defaults to 25\n * @prop {Function} setPerPage a callback to change the number of results per page, e.g. setPerPage(25)\n * @prop {Boolean} hasPreviousPage true if the current page is not the first one\n * @prop {Boolean} hasNextPage true if the current page is not the last one\n\n * @prop {string} resource the resource name, deduced from the location. e.g. 'posts'\n *\n * @typedef Props\n * @prop {ListPaginationContextValue} value\n *\n * @param {Props}\n *\n * @see useListController\n * @see useListContext\n *\n * @example\n *\n * import { useListController, ListPaginationContext } from 'ra-core';\n *\n * const List = props => {\n * const controllerProps = useListController(props);\n * return (\n * <ListPaginationContext.Provider value={controllerProps}>\n * ...\n * </ListPaginationContext.Provider>\n * );\n * };\n */\nexport const ListPaginationContext = createContext<\n ListPaginationContextValue | undefined\n>(undefined);\n\nListPaginationContext.displayName = 'ListPaginationContext';\n\nexport type ListPaginationContextValue = Pick<\n ListControllerResult,\n | 'isLoading'\n | 'isPending'\n | 'hasPreviousPage'\n | 'hasNextPage'\n | 'page'\n | 'perPage'\n | 'setPage'\n | 'setPerPage'\n | 'total'\n | 'resource'\n>;\n\nexport const usePickPaginationContext = (\n context: ListControllerResult\n): ListPaginationContextValue =>\n useMemo(\n () =>\n pick(context, [\n 'isLoading',\n 'isPending',\n 'hasPreviousPage',\n 'hasNextPage',\n 'page',\n 'perPage',\n 'setPage',\n 'setPerPage',\n 'total',\n 'resource',\n ]),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n context.isLoading,\n context.isPending,\n context.hasPreviousPage,\n context.hasNextPage,\n context.page,\n context.perPage,\n context.setPage,\n context.setPerPage,\n context.total,\n ]\n );\n","import * as React from 'react';\nimport { ListContext } from './ListContext';\nimport { ListFilterContext, usePickFilterContext } from './ListFilterContext';\nimport { ListSortContext, usePickSortContext } from './ListSortContext';\nimport {\n ListPaginationContext,\n usePickPaginationContext,\n} from './ListPaginationContext';\nimport { ListControllerResult } from './useListController';\n\n/**\n * Create a List Context and several thematic List subcontext.\n *\n * Allows children to subscribe to part of the ListContext, and bail out of\n * rendering when some parts of the context that they don't depend on change\n * (because unfortunately React doesn't allow to use context selectors yet).\n *\n * @example\n *\n * const MyList = (props) => {\n * const controllerProps = useListController(props);\n * return (\n * <ListContextProvider value={controllerProps}>\n * <MyListView>\n * </ListContextProvider>\n * );\n * };\n *\n * const MyListView = () => {\n * const { data, filterValues, setFilters } = useListContext();\n * // or, to rerender only when filters change but not data\n * const { filterValues, setFilters } = useListFilterContext();\n * }\n *\n * @see ListContext\n * @see ListFilterContext\n */\nexport const ListContextProvider = ({\n value,\n children,\n}: {\n value: ListControllerResult;\n children: React.ReactNode;\n}) => (\n <ListContext.Provider value={value}>\n <ListFilterContext.Provider value={usePickFilterContext(value)}>\n <ListSortContext.Provider value={usePickSortContext(value)}>\n <ListPaginationContext.Provider\n value={usePickPaginationContext(value)}\n >\n {children}\n </ListPaginationContext.Provider>\n </ListSortContext.Provider>\n </ListFilterContext.Provider>\n </ListContext.Provider>\n);\n","import { isValidElement, useEffect, useMemo } from 'react';\n\nimport { useAuthenticated } from '../../auth';\nimport { useTranslate } from '../../i18n';\nimport { useNotify } from '../../notification';\nimport {\n useGetList,\n UseGetListHookValue,\n UseGetListOptions,\n} from '../../dataProvider';\nimport { SORT_ASC } from './queryReducer';\nimport { defaultExporter } from '../../export';\nimport { FilterPayload, SortPayload, RaRecord, Exporter } from '../../types';\nimport { useResourceContext, useGetResourceLabel } from '../../core';\nimport { useRecordSelection } from './useRecordSelection';\nimport { useListParams } from './useListParams';\n\n/**\n * Prepare data for the List view\n *\n * @param {Object} props The props passed to the List component.\n *\n * @return {Object} controllerProps Fetched and computed data for the List view\n *\n * @example\n *\n * import { useListController } from 'react-admin';\n * import ListView from './ListView';\n *\n * const MyList = props => {\n * const controllerProps = useListController(props);\n * return <ListView {...controllerProps} {...props} />;\n * }\n */\nexport const useListController = <RecordType extends RaRecord = any>(\n props: ListControllerProps<RecordType> = {}\n): ListControllerResult<RecordType> => {\n const {\n debounce = 500,\n disableAuthentication,\n disableSyncWithLocation,\n exporter = defaultExporter,\n filter,\n filterDefaultValues,\n perPage = 10,\n queryOptions = {},\n sort = defaultSort,\n storeKey,\n } = props;\n useAuthenticated({ enabled: !disableAuthentication });\n const resource = useResourceContext(props);\n const { meta, ...otherQueryOptions } = queryOptions;\n\n if (!resource) {\n throw new Error(\n `useListController requires a non-empty resource prop or context`\n );\n }\n if (filter && isValidElement(filter)) {\n throw new Error(\n 'useListController received a React element as `filter` props. If you intended to set the list filter elements, use the `filters` (with an s) prop instead. The `filter` prop is internal and should not be set by the developer.'\n );\n }\n\n const translate = useTranslate();\n const notify = useNotify();\n\n const [query, queryModifiers] = useListParams({\n debounce,\n disableSyncWithLocation,\n filterDefaultValues,\n perPage,\n resource,\n sort,\n storeKey,\n });\n\n const [selectedIds, selectionModifiers] = useRecordSelection({\n resource,\n disableSyncWithStore: storeKey === false,\n });\n\n const {\n data,\n pageInfo,\n total,\n error,\n isLoading,\n isFetching,\n isPending,\n refetch,\n } = useGetList<RecordType>(\n resource,\n {\n pagination: {\n page: query.page,\n perPage: query.perPage,\n },\n sort: { field: query.sort, order: query.order },\n filter: { ...query.filter, ...filter },\n meta,\n },\n {\n placeholderData: previousData => previousData,\n retry: false,\n onError: error =>\n notify(error?.message || 'ra.notification.http_error', {\n type: 'error',\n messageArgs: {\n _: error?.message,\n },\n }),\n ...otherQueryOptions,\n }\n );\n\n // change page if there is no data\n useEffect(() => {\n if (\n query.page <= 0 ||\n (!isFetching &&\n query.page > 1 &&\n (data == null || data?.length === 0))\n ) {\n // Query for a page that doesn't exist, set page to 1\n queryModifiers.setPage(1);\n return;\n }\n if (total == null) {\n return;\n }\n const totalPages = Math.ceil(total / query.perPage) || 1;\n if (!isFetching && query.page > totalPages) {\n // Query for a page out of bounds, set page to the last existing page\n // It occurs when deleting the last element of the last page\n queryModifiers.setPage(totalPages);\n }\n }, [isFetching, query.page, query.perPage, data, queryModifiers, total]);\n\n const currentSort = useMemo(\n () => ({\n field: query.sort,\n order: query.order,\n }),\n [query.sort, query.order]\n );\n\n const getResourceLabel = useGetResourceLabel();\n const defaultTitle = translate('ra.page.list', {\n name: getResourceLabel(resource, 2),\n });\n\n return {\n sort: currentSort,\n data,\n defaultTitle,\n displayedFilters: query.displayedFilters,\n error,\n exporter,\n filter,\n filterValues: query.filterValues,\n hideFilter: queryModifiers.hideFilter,\n isFetching,\n isLoading,\n isPending,\n onSelect: selectionModifiers.select,\n onToggleItem: selectionModifiers.toggle,\n onUnselectItems: selectionModifiers.clearSelection,\n page: query.page,\n perPage: query.perPage,\n refetch,\n resource,\n selectedIds,\n setFilters: queryModifiers.setFilters,\n setPage: queryModifiers.setPage,\n setPerPage: queryModifiers.setPerPage,\n setSort: queryModifiers.setSort,\n showFilter: queryModifiers.showFilter,\n total: total,\n hasNextPage: pageInfo\n ? pageInfo.hasNextPage\n : total != null\n ? query.page * query.perPage < total\n : undefined,\n hasPreviousPage: pageInfo ? pageInfo.hasPreviousPage : query.page > 1,\n } as ListControllerResult<RecordType>;\n};\n\nexport interface ListControllerProps<RecordType extends RaRecord = any> {\n /**\n * The debounce delay for filter queries in milliseconds. Defaults to 500ms.\n *\n * @see https://marmelab.com/react-admin/List.html#debounce\n * @example\n * // wait 1 seconds instead of 500 milliseconds befoce calling the dataProvider\n * const PostList = () => (\n * <List debounce={1000}>\n * ...\n * </List>\n * );\n */\n debounce?: number;\n\n /**\n * Allow anonymous access to the list view. Defaults to false.\n *\n * @see https://marmelab.com/react-admin/List.html#disableauthentication\n * @example\n * import { List } from 'react-admin';\n *\n * const BoolkList = () => (\n * <List disableAuthentication>\n * ...\n * </List>\n * );\n */\n disableAuthentication?: boolean;\n\n /**\n * Whether to disable the synchronization of the list parameters with the current location (URL search parameters)\n *\n * @see https://marmelab.com/react-admin/List.html#disablesyncwithlocation\n * @example\n * const Dashboard = () => (\n * <div>\n * // ...\n * <ResourceContextProvider value=\"posts\">\n * <List disableSyncWithLocation>\n * <SimpleList\n * primaryText={record => record.title}\n * secondaryText={record => `${record.views} views`}\n * tertiaryText={record => new Date(record.published_at).toLocaleDateString()}\n * />\n * </List>\n * </ResourceContextProvider>\n * <ResourceContextProvider value=\"comments\">\n * <List disableSyncWithLocation>\n * <SimpleList\n * primaryText={record => record.title}\n * secondaryText={record => `${record.views} views`}\n * tertiaryText={record => new Date(record.published_at).toLocaleDateString()}\n * />\n * </List>\n * </ResourceContextProvider>\n * </div>\n * )\n */\n disableSyncWithLocation?: boolean;\n\n /**\n * The function called when a user exports the list\n *\n * @see https://marmelab.com/react-admin/List.html#exporter\n * @example\n * import { List, downloadCSV } from 'react-admin';\n * import jsonExport from 'jsonexport/dist';\n *\n * const exporter = posts => {\n * const postsForExport = posts.map(post => {\n * const { backLinks, author, ...postForExport } = post; // omit backLinks and author\n * postForExport.author_name = post.author.name; // add a field\n * return postForExport;\n * });\n * jsonExport(postsForExport, {\n * headers: ['id', 'title', 'author_name', 'body'] // order fields in the export\n * }, (err, csv) => {\n * downloadCSV(csv, 'posts'); // download as 'posts.csv` file\n * });\n * };\n *\n * const PostList = () => (\n * <List exporter={exporter}>\n * ...\n * </List>\n * )\n */\n exporter?: Exporter | false;\n\n /**\n * Permanent filter applied to all getList queries, regardless of the user selected filters.\n *\n * @see https://marmelab.com/react-admin/List.html#filter\n * @example\n * export const PostList = () => (\n * <List filter={{ is_published: true }}>\n * ...\n * </List>\n * );\n */\n filter?: FilterPayload;\n\n /**\n * The filter to apply when calling getList if the filter is empty.\n *\n * @see https://marmelab.com/react-admin/List.html#filterdefaultvalues\n * @example\n * const postFilters = [\n * <TextInput label=\"Search\" source=\"q\" alwaysOn />,\n * <BooleanInput source=\"is_published\" alwaysOn />,\n * <TextInput source=\"title\" defaultValue=\"Hello, World!\" />,\n * ];\n *\n * export const PostList = () => (\n * <List filters={postFilters} filterDefaultValues={{ is_published: true }}>\n * ...\n * </List>\n * );\n */\n filterDefaultValues?: object;\n\n /**\n * The number of results per page. Defaults to 10.\n *\n * @see https://marmelab.com/react-admin/List.html#perpage\n * @example\n * export const PostList = () => (\n * <List perPage={25}>\n * ...\n * </List>\n * );\n */\n perPage?: number;\n\n /**\n * The options passed to react-query's useQuery when calling getList.\n *\n * @see https://marmelab.com/react-admin/List.html#queryoptions\n * @example\n * import { useNotify, useRedirect, List } from 'react-admin';\n *\n * const PostList = () => {\n * const notify = useNotify();\n * const redirect = useRedirect();\n *\n * const onError = (error) => {\n * notify(`Could not load list: ${error.message}`, { type: 'error' });\n * redirect('/dashboard');\n * };\n *\n * return (\n * <List queryOptions={{ onError }}>\n * ...\n * </List>\n * );\n * }\n */\n queryOptions?: UseGetListOptions<RecordType>;\n\n /**\n * The resource name. Defaults to the resource from ResourceContext.\n *\n * @see https://marmelab.com/react-admin/List.html#resource\n * @example\n * import { List } from 'react-admin';\n *\n * const PostList = () => (\n * <List resource=\"posts\">\n * ...\n * </List>\n * );\n */\n resource?: string;\n\n /**\n * The default sort field and order. Defaults to { field: 'id', order: 'ASC' }.\n *\n * @see https://marmelab.com/react-admin/List.html#sort\n * @example\n * export const PostList = () => (\n * <List sort={{ field: 'published_at', order: 'DESC' }}>\n * ...\n * </List>\n * );\n */\n sort?: SortPayload;\n\n /**\n * The key to use to store the current filter & sort. Pass false to disable.\n *\n * @see https://marmelab.com/react-admin/List.html#storekey\n * @example\n * const NewerBooks = () => (\n * <List\n * resource=\"books\"\n * storeKey=\"newerBooks\"\n * sort={{ field: 'year', order: 'DESC' }}\n * >\n * ...\n * </List>\n * );\n */\n storeKey?: string | false;\n}\n\nconst defaultSort = {\n field: 'id',\n order: SORT_ASC,\n} as const;\n\nexport const injectedProps = [\n 'sort',\n 'data',\n 'defaultTitle',\n 'displayedFilters',\n 'error',\n 'exporter',\n 'filterValues',\n 'hasNextPage',\n 'hasPreviousPage',\n 'hideFilter',\n 'isFetching',\n 'isLoading',\n 'isPending',\n 'onSelect',\n 'onToggleItem',\n 'onUnselectItems',\n 'page',\n 'perPage',\n 'refetch',\n 'refresh',\n 'resource',\n 'selectedIds',\n 'setFilters',\n 'setPage',\n 'setPerPage',\n 'setSort',\n 'showFilter',\n 'total',\n 'totalPages',\n];\n\n/**\n * Select the props injected by the useListController hook\n * to be passed to the List children need\n * This is an implementation of pick()\n */\nexport const getListControllerProps = props =>\n injectedProps.reduce((acc, key) => ({ ...acc, [key]: props[key] }), {});\n\n/**\n * Select the props not injected by the useListController hook\n * to be used inside the List children to sanitize props injected by List\n * This is an implementation of omit()\n */\nexport const sanitizeListRestProps = props =>\n Object.keys(props)\n .filter(propName => !injectedProps.includes(propName))\n .reduce((acc, key) => ({ ...acc, [key]: props[key] }), {});\n\nexport interface ListControllerBaseResult<RecordType extends RaRecord = any> {\n sort: SortPayload;\n defaultTitle?: string;\n displayedFilters: any;\n exporter?: Exporter | false;\n filter?: FilterPayload;\n filterValues: any;\n hideFilter: (filterName: string) => void;\n onSelect: (ids: RecordType['id'][]) => void;\n onToggleItem: (id: RecordType['id']) => void;\n onUnselectItems: () => void;\n page: number;\n perPage: number;\n refetch: (() => void) | UseGetListHookValue<RecordType>['refetch'];\n resource: string;\n selectedIds: RecordType['id'][];\n setFilters: (\n filters: any,\n displayedFilters?: any,\n debounce?: boolean\n ) => void;\n setPage: (page: number) => void;\n setPerPage: (page: number) => void;\n setSort: (sort: SortPayload) => void;\n showFilter: (filterName: string, defaultValue: any) => void;\n hasNextPage?: boolean;\n hasPreviousPage?: boolean;\n isFetching?: boolean;\n isLoading?: boolean;\n}\n\nexport interface ListControllerLoadingResult<RecordType extends RaRecord = any>\n extends ListControllerBaseResult<RecordType> {\n data: undefined;\n total: undefined;\n error: null;\n isPending: true;\n}\nexport interface ListControllerErrorResult<\n RecordType extends RaRecord = any,\n TError = Error\n> extends ListControllerBaseResult<RecordType> {\n data: undefined;\n total: undefined;\n error: TError;\n isPending: false;\n}\nexport interface ListControllerRefetchErrorResult<\n RecordType extends RaRecord = any,\n TError = Error\n> extends ListControllerBaseResult<RecordType> {\n data: RecordType[];\n total: number;\n error: TError;\n isPending: false;\n}\nexport interface ListControllerSuccessResult<RecordType extends RaRecord = any>\n extends ListControllerBaseResult<RecordType> {\n data: RecordType[];\n total: number;\n error: null;\n isPending: false;\n}\n\nexport type ListControllerResult<RecordType extends RaRecord = any> =\n | ListControllerLoadingResult<RecordType>\n | ListControllerErrorResult<RecordType>\n | ListControllerRefetchErrorResult<RecordType>\n | ListControllerSuccessResult<RecordType>;\n","import * as React from 'react';\nimport { ReactNode } from 'react';\nimport { useListController, ListControllerProps } from './useListController';\nimport { ResourceContextProvider } from '../../core';\nimport { RaRecord } from '../../types';\nimport { ListContextProvider } from './ListContextProvider';\n\n/**\n * Call useListController and put the value in a ListContext\n *\n * Base class for <List> components, without UI.\n *\n * Accepts any props accepted by useListController:\n * - filter: permanent filter applied to the list\n * - filters: Filter element, to display the filters\n * - filterDefaultValues: object;\n * - perPage: Number of results per page\n * - sort: Default sort\n * - exporter: exported function\n *\n * @example // Custom list layout\n *\n * const PostList = () => (\n * <ListBase perPage={10}>\n * <div>\n * List metrics...\n * </div>\n * <Grid container>\n * <Grid item xs={8}>\n * <SimpleList primaryText={record => record.title} />\n * </Grid>\n * <Grid item xs={4}>\n * List instructions...\n * </Grid>\n * </Grid>\n * <div>\n * Post related links...\n * </div>\n * </ListBase>\n * );\n */\nexport const ListBase = <RecordType extends RaRecord = any>({\n children,\n ...props\n}: ListControllerProps<RecordType> & { children: ReactNode }) => (\n <ResourceContextProvider value={props.resource}>\n <ListContextProvider value={useListController<RecordType>(props)}>\n {children}\n </ListContextProvider>\n </ResourceContextProvider>\n);\n","import { useCallback } from 'react';\n\nimport { useStore } from '../../store';\nimport { Identifier } from '../../types';\n\n/**\n * State-like hook for controlling the expanded state of a list item\n *\n * @param {string} resource The resource name, e.g. 'posts'\n * @param {string|integer} id The record identifier, e.g. 123\n * @param {boolean} single Forces only one id to be expanded at a time\n * @returns {Object} Destructure as [expanded, toggleExpanded].\n *\n * @example\n *\n * const [expanded, toggleExpanded] = useExpanded('posts', 123);\n * const expandIcon = expanded ? ExpandLess : ExpandMore;\n * const onExpandClick = () => toggleExpanded();\n */\nexport const useExpanded = (\n resource: string,\n id: Identifier,\n single: boolean = false\n): [boolean, () => void] => {\n const [expandedIds, setExpandedIds] = useStore<Identifier[]>(\n `${resource}.datagrid.expanded`,\n []\n );\n const expanded = Array.isArray(expandedIds)\n ? // eslint-disable-next-line eqeqeq\n expandedIds.map(el => el == id).indexOf(true) !== -1\n : false;\n\n const toggleExpanded = useCallback(() => {\n setExpandedIds(ids => {\n if (!Array.isArray(ids)) {\n return [id];\n }\n const index = ids.findIndex(el => el == id); // eslint-disable-line eqeqeq\n return index > -1\n ? single\n ? []\n : [...ids.slice(0, index), ...ids.slice(index + 1)]\n : single\n ? [id]\n : [...ids, id];\n });\n }, [setExpandedIds, id, single]);\n\n return [expanded, toggleExpanded];\n};\n\n/**\n * State-like hook for controlling the expanded state of many list items\n * expanded state is true when at least one item from ids is expanded.\n *\n * @param {string} resource The resource name, e.g. 'posts'\n * @param {Identifier[]} ids A list of record identifiers\n * @returns {Object} Destructure as [expanded, toggleExpanded].\n *\n * @example\n *\n * const [expanded, toggleExpanded] = useExpandAll('posts', [123, 124, 125]);\n * const expandIcon = expanded ? ExpandLess : ExpandMore;\n * const onExpandClick = () => toggleExpanded();\n */\nexport const useExpandAll = (\n resource: string,\n ids: Identifier[]\n): [boolean, () => void] => {\n const [expandedIds, setExpandedIds] = useStore<Identifier[]>(\n `${resource}.datagrid.expanded`,\n []\n );\n\n const isExpanded = Array.isArray(expandedIds)\n ? // eslint-disable-next-line eqeqeq\n expandedIds.some(id => ids.some(id2 => id2 == id))\n : false;\n\n const toggleExpandedAll = useCallback(() => {\n const unaffectedExpandedIds = expandedIds.filter(\n // eslint-disable-next-line eqeqeq\n expanded_id => !ids.some(id => id == expanded_id)\n );\n setExpandedIds(\n isExpanded\n ? unaffectedExpandedIds\n : unaffectedExpandedIds.concat(ids)\n );\n }, [expandedIds, setExpandedIds, isExpanded, ids]);\n\n return [isExpanded, toggleExpandedAll];\n};\n","import { useCallback, useEffect, useRef } from 'react';\nimport get from 'lodash/get';\nimport isEqual from 'lodash/isEqual';\nimport { removeEmpty, useSafeSetState } from '../../util';\nimport { FilterPayload, RaRecord, SortPayload } from '../../types';\nimport { useResourceContext } from '../../core';\nimport usePaginationState from '../usePaginationState';\nimport useSortState from '../useSortState';\nimport { useRecordSelection } from './useRecordSelection';\nimport { ListControllerResult } from './useListController';\nimport { flattenObject } from '../../dataProvider/fetch';\n\nconst refetch = () => {\n throw new Error(\n 'refetch is not available for a ListContext built from useList based on local data'\n );\n};\n\n/**\n * Handle filtering, sorting and pagination on local data.\n *\n * Returns the data and callbacks expected by <ListContext>.\n *\n * @example\n * const data = [\n * { id: 1, name: 'Arnold' },\n * { id: 2, name: 'Sylvester' },\n * { id: 3, name: 'Jean-Claude' },\n * ]\n *\n * const MyComponent = () => {\n * const listContext = useList({ data });\n * return (\n * <ListContextProvider value={listContext}>\n * <Datagrid>\n * <TextField source=\"id\" />\n * <TextField source=\"name\" />\n * </Datagrid>\n * </ListContextProvider>\n * );\n * };\n *\n * @param {UseListOptions} props\n * @param {RaRecord[]} props.data An array of records\n * @param {Boolean} props.isFetching: Optional. A boolean indicating whether the data is being loaded\n * @param {Boolean} props.isLoading: Optional. A boolean indicating whether the data has been loaded at least once\n * @param {Error | String} props.error: Optional. The error if any occurred while loading the data\n * @param {Object} props.filter: Optional. An object containing the filters applied on the data\n * @param {Number} props.page: Optional. The initial page index\n * @param {Number} props.perPage: Optional. The initial page size\n * @param {SortPayload} props.sort: Optional. The initial sort (field and order)\n * @param {filterCallback} prop.filterCallback Optional. A function that allows you to make a custom filter\n */\nexport const useList = <RecordType extends RaRecord = any>(\n props: UseListOptions<RecordType>\n): UseListValue<RecordType> => {\n const {\n data,\n error,\n filter = defaultFilter,\n isFetching = false,\n isLoading = false,\n isPending = false,\n page: initialPage = 1,\n perPage: initialPerPage = 1000,\n sort: initialSort,\n filterCallback = (record: RecordType) => Boolean(record),\n } = props;\n const resource = useResourceContext(props);\n\n const [fetchingState, setFetchingState] = useSafeSetState<boolean>(\n isFetching\n ) as [boolean, (isFetching: boolean) => void];\n\n const [loadingState, setLoadingState] = useSafeSetState<boolean>(\n isLoading\n ) as [boolean, (isLoading: boolean) => void];\n\n const [pendingState, setPendingState] = useSafeSetState<boolean>(\n isPending\n ) as [boolean, (isPending: boolean) => void];\n\n const [finalItems, setFinalItems] = useSafeSetState<{\n data?: RecordType[];\n total?: number;\n }>(() => ({\n data,\n total: data ? data.length : undefined,\n }));\n\n // pagination logic\n const { page, setPage, perPage, setPerPage } = usePaginationState({\n page: initialPage,\n perPage: initialPerPage,\n });\n\n // sort logic\n const { sort, setSort: setSortState } = useSortState(initialSort);\n const setSort = useCallback(\n (sort: SortPayload) => {\n setSortState(sort);\n setPage(1);\n },\n [setPage, setSortState]\n );\n\n // selection logic\n const [selectedIds, selectionModifiers] = useRecordSelection(\n resource\n ? {\n resource,\n }\n : { disableSyncWithStore: true }\n );\n\n // filter logic\n const filterRef = useRef(filter);\n const [displayedFilters, setDisplayedFilters] = useSafeSetState<{\n [key: string]: boolean;\n }>({});\n const [filterValues, setFilterValues] = useSafeSetState<{\n [key: string]: any;\n }>(filter);\n const hideFilter = useCallback(\n (filterName: string) => {\n setDisplayedFilters(previousState => {\n const { [filterName]: _, ...newState } = previousState;\n return newState;\n });\n setFilterValues(previousState => {\n const { [filterName]: _, ...newState } = previousState;\n return newState;\n });\n },\n [setDisplayedFilters, setFilterValues]\n );\n const showFilter = useCallback(\n (filterName: string, defaultValue: any) => {\n setDisplayedFilters(previousState => ({\n ...previousState,\n [filterName]: true,\n }));\n setFilterValues(previousState =>\n removeEmpty({\n ...previousState,\n [filterName]: defaultValue,\n })\n );\n },\n [setDisplayedFilters, setFilterValues]\n );\n const setFilters = useCallback(\n (filters, displayedFilters = undefined) => {\n setFilterValues(removeEmpty(filters));\n if (displayedFilters) {\n setDisplayedFilters(displayedFilters);\n }\n setPage(1);\n },\n [setDisplayedFilters, setFilterValues, setPage]\n );\n // handle filter prop change\n useEffect(() => {\n if (!isEqual(filter, filterRef.current)) {\n filterRef.current = filter;\n setFilterValues(filter);\n }\n });\n\n // We do all the data processing (filtering, sorting, paginating) client-side\n useEffect(\n () => {\n if (isLoading || !data) return;\n let tempData = data;\n\n // 1. filter\n if (filterValues) {\n const flattenFilterValues = flattenObject(filterValues);\n tempData = data\n .filter(record =>\n Object.entries(flattenFilterValues).every(\n ([filterName, filterValue]) => {\n const recordValue = get(record, filterName);\n const result = Array.isArray(recordValue)\n ? Array.isArray(filterValue)\n ? recordValue.some(item =>\n filterValue.includes(item)\n )\n : recordValue.includes(filterValue)\n : Array.isArray(filterValue)\n ? filterValue.includes(recordValue)\n : filterName === 'q' // special full-text filter\n ? Object.keys(record).some(\n key =>\n typeof record[key] === 'string' &&\n record[key]\n .toLowerCase()\n .includes(\n (filterValue as string).toLowerCase()\n )\n )\n : filterValue == recordValue; // eslint-disable-line eqeqeq\n return result;\n }\n )\n )\n .filter(filterCallback);\n }\n const filteredLength = tempData.length;\n\n // 2. sort\n if (sort.field) {\n tempData = tempData.sort((a, b) => {\n if (get(a, sort.field) > get(b, sort.field)) {\n return sort.order === 'ASC' ? 1 : -1;\n }\n if (get(a, sort.field) < get(b, sort.field)) {\n return sort.order === 'ASC' ? -1 : 1;\n }\n return 0;\n });\n }\n\n // 3. paginate\n tempData = tempData.slice((page - 1) * perPage, page * perPage);\n\n setFinalItems({\n data: tempData,\n total: filteredLength,\n });\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n // eslint-disable-next-line react-hooks/exhaustive-deps\n JSON.stringify(data),\n filterValues,\n isLoading,\n page,\n perPage,\n setFinalItems,\n sort.field,\n sort.order,\n ]\n );\n\n useEffect(() => {\n if (isFetching !== fetchingState) {\n setFetchingState(isFetching);\n }\n }, [isFetching, fetchingState, setFetchingState]);\n\n useEffect(() => {\n if (isLoading !== loadingState) {\n setLoadingState(isLoading);\n }\n }, [isLoading, loadingState, setLoadingState]);\n\n useEffect(() => {\n if (isPending !== pendingState) {\n setPendingState(isPending);\n }\n }, [isPending, pendingState, setPendingState]);\n\n return {\n sort,\n data: pendingState ? undefined : finalItems?.data ?? [],\n defaultTitle: '',\n error: error ?? null,\n displayedFilters,\n filterValues,\n hasNextPage:\n finalItems?.total == null\n ? false\n : page * perPage < finalItems.total,\n hasPreviousPage: page > 1,\n hideFilter,\n isFetching: fetchingState,\n isLoading: loadingState,\n isPending: pendingState,\n onSelect: selectionModifiers.select,\n onToggleItem: selectionModifiers.toggle,\n onUnselectItems: selectionModifiers.clearSelection,\n page,\n perPage,\n resource: '',\n refetch,\n selectedIds,\n setFilters,\n setPage,\n setPerPage,\n setSort,\n showFilter,\n total: finalItems?.total,\n } as UseListValue<RecordType>;\n};\n\nexport interface UseListOptions<RecordType extends RaRecord = any> {\n data?: RecordType[];\n error?: any;\n filter?: FilterPayload;\n isFetching?: boolean;\n isLoading?: boolean;\n isPending?: boolean;\n page?: number;\n perPage?: number;\n sort?: SortPayload;\n resource?: string;\n filterCallback?: (record: RecordType) => boolean;\n}\n\nexport type UseListValue<\n RecordType extends RaRecord = any\n> = ListControllerResult<RecordType>;\n\nconst defaultFilter = {};\n","import { useContext } from 'react';\n\nimport { ListContext } from './ListContext';\nimport { ListControllerResult } from './useListController';\nimport { RaRecord } from '../../types';\n\n/**\n * Hook to read the list controller props from the ListContext.\n *\n * Used within a <ListContextProvider> (e.g. as a descendent of <List>).\n *\n * @returns {ListControllerResult} list controller props\n *\n * @see useListController for how it is filled\n *\n * @example // custom list view\n *\n * import { useListContext } from 'react-admin';\n *\n * const MyList = () => {\n * const { data, isPending } = useListContext();\n * if (isPending) {\n * return <>Loading...</>;\n * }\n * return (\n * <ul>\n * {data.map(record => (\n * <li key={record.id}>{record.name}</li>\n * ))}\n * </ul>\n * );\n * }\n *\n * @example // custom pagination\n *\n * import { useListContext } from 'react-admin';\n * import { Button, Toolbar } from '@mui/material';\n * import ChevronLeft from '@mui/icons-material/ChevronLeft';\n * import ChevronRight from '@mui/icons-material/ChevronRight';\n *\n * const PrevNextPagination = () => {\n * const { page, perPage, total, setPage } = useListContext();\n * const nbPages = Math.ceil(total / perPage) || 1;\n * return (\n * nbPages > 1 &&\n * <Toolbar>\n * {page > 1 &&\n * <Button color=\"primary\" key=\"prev\" onClick={() => setPage(page - 1)}>\n * <ChevronLeft />\n * Prev\n * </Button>\n * }\n * {page !== nbPages &&\n * <Button color=\"primary\" key=\"next\" onClick={() => setPage(page + 1)}>\n * Next\n * <ChevronRight />\n * </Button>\n * }\n * </Toolbar>\n * );\n * }\n */\nexport const useListContext = <\n RecordType extends RaRecord = any\n>(): ListControllerResult<RecordType> => {\n const context = useContext(ListContext);\n if (!context) {\n throw new Error(\n 'useListContext must be used inside a ListContextProvider'\n );\n }\n return context;\n};\n","var baseRest = require('./_baseRest'),\n eq = require('./eq'),\n isIterateeCall = require('./_isIterateeCall'),\n keysIn = require('./keysIn');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns own and inherited enumerable string keyed properties of source\n * objects to the destination object for all destination properties that\n * resolve to `undefined`. Source objects are applied from left to right.\n * Once a property is set, additional values of the same property are ignored.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.defaultsDeep\n * @example\n *\n * _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n * // => { 'a': 1, 'b': 2 }\n */\nvar defaults = baseRest(function(object, sources) {\n object = Object(object);\n\n var index = -1;\n var length = sources.length;\n var guard = length > 2 ? sources[2] : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n length = 1;\n }\n\n while (++index < length) {\n var source = sources[index];\n var props = keysIn(source);\n var propsIndex = -1;\n var propsLength = props.length;\n\n while (++propsIndex < propsLength) {\n var key = props[propsIndex];\n var value = object[key];\n\n if (value === undefined ||\n (eq(value, objectProto[key]) && !hasOwnProperty.call(object, key))) {\n object[key] = source[key];\n }\n }\n }\n\n return object;\n});\n\nmodule.exports = defaults;\n","import { useContext, useMemo } from 'react';\nimport defaults from 'lodash/defaults';\n\nimport { ListContext } from './ListContext';\nimport { ListControllerResult } from './useListController';\nimport { RaRecord } from '../../types';\n\n/**\n * Hook to read the list controller props from the ListContext.\n *\n * Mostly used within a <ListContext.Provider> (e.g. as a descendent of <List>\n * or <ListBase>).\n *\n * But you can also use it without a <ListContext.Provider>. In this case, it is up to you\n * to pass all the necessary props (see the list below).\n *\n * The given props will take precedence over context values.\n *\n * @typedef {Object} ListControllerProps\n * @prop {Object} data an array of the list records, e.g. [{ id: 123, title: 'hello world' }, { ... }]\n * @prop {integer} total the total number of results for the current filters, excluding pagination. Useful to build the pagination controls. e.g. 23\n * @prop {boolean} isFetching boolean that is true on mount, and false once the data was fetched\n * @prop {boolean} isLoading boolean that is false until the data is available\n * @prop {integer} page the current page. Starts at 1\n * @prop {Function} setPage a callback to change the page, e.g. setPage(3)\n * @prop {integer} perPage the number of results per page. Defaults to 25\n * @prop {Function} setPerPage a callback to change the number of results per page, e.g. setPerPage(25)\n * @prop {Object} sort a sort object { field, order }, e.g. { field: 'date', order: 'DESC' }\n * @prop {Function} setSort a callback to change the sort, e.g. setSort({ field : 'name', order: 'ASC' })\n * @prop {Object} filterValues a dictionary of filter values, e.g. { title: 'lorem', nationality: 'fr' }\n * @prop {Function} setFilters a callback to update the filters, e.g. setFilters(filters, displayedFilters)\n * @prop {Object} displayedFilters a dictionary of the displayed filters, e.g. { title: true, nationality: true }\n * @prop {Function} showFilter a callback to show one of the filters, e.g. showFilter('title', defaultValue)\n * @prop {Function} hideFilter a callback to hide one of the filters, e.g. hideFilter('title')\n * @prop {Array} selectedIds an array listing the ids of the selected rows, e.g. [123, 456]\n * @prop {Function} onSelect callback to change the list of selected rows, e.g. onSelect([456, 789])\n * @prop {Function} onToggleItem callback to toggle the selection of a given record based on its id, e.g. onToggleItem(456)\n * @prop {Function} onUnselectItems callback to clear the selection, e.g. onUnselectItems();\n * @prop {string} defaultTitle the translated title based on the resource, e.g. 'Posts'\n * @prop {string} resource the resource name, deduced from the location. e.g. 'posts'\n *\n * @param {ListControllerProps} props Props passed to the useListContext hook\n *\n * @returns {ListControllerResult} list controller props\n *\n * @see useListController for how it is filled\n */\nexport const useListContextWithProps = <RecordType extends RaRecord = any>(\n props?: any\n): Partial<ListControllerResult<RecordType>> => {\n const context = useContext(ListContext);\n // Props take precedence over the context\n return useMemo(\n () =>\n defaults(\n {},\n props != null ? extractListContextProps<RecordType>(props) : {},\n context\n ),\n [context, props]\n );\n};\n\n/**\n * Extract only the list controller props\n *\n * @param {Object} props Props passed to the useListContext hook\n *\n * @returns {ListControllerResult} List controller props\n */\nconst extractListContextProps = <RecordType extends RaRecord = any>({\n sort,\n data,\n defaultTitle,\n displayedFilters,\n exporter,\n filterValues,\n hasCreate,\n hideFilter,\n isFetching,\n isLoading,\n isPending,\n onSelect,\n onToggleItem,\n onUnselectItems,\n page,\n perPage,\n refetch,\n resource,\n selectedIds,\n setFilters,\n setPage,\n setPerPage,\n setSort,\n showFilter,\n total,\n}: Partial<ListControllerResult<RecordType>> & Record<string, any>) => ({\n sort,\n data,\n defaultTitle,\n displayedFilters,\n exporter,\n filterValues,\n hasCreate,\n hideFilter,\n isFetching,\n isLoading,\n isPending,\n onSelect,\n onToggleItem,\n onUnselectItems,\n page,\n perPage,\n refetch,\n resource,\n selectedIds,\n setFilters,\n setPage,\n setPerPage,\n setSort,\n showFilter,\n total,\n});\n","import { useContext } from 'react';\n\nimport { ListFilterContext, ListFilterContextValue } from './ListFilterContext';\n\n/**\n * Hook to read the list props from the ListFilterContext.\n *\n * Must be used within a <ListFilterContextProvider>.\n *\n * @returns {ListFilterContextValue} list controller props\n *\n * @see useListController for how it is filled\n */\nexport const useListFilterContext = (): ListFilterContextValue => {\n const context = useContext(ListFilterContext);\n if (!context) {\n throw new Error(\n 'useListFilterContext must be used inside a ListFilterContextProvider'\n );\n }\n return context;\n};\n","import { useContext } from 'react';\n\nimport {\n ListPaginationContext,\n ListPaginationContextValue,\n} from './ListPaginationContext';\n\n/**\n * Hook to read the list pagination controller props from the ListPaginationContext.\n *\n * Must be used within a <ListPaginationContext> (e.g. as a descendent of <List>\n * or <ListBase>).\n *\n * @returns {ListPaginationContextValue} list controller props\n *\n * @see useListController for how it is filled\n */\nexport const useListPaginationContext = (): ListPaginationContextValue => {\n const context = useContext(ListPaginationContext);\n if (!context) {\n throw new Error(\n 'useListPaginationContext must be used inside a ListPaginationContextProvider'\n );\n }\n return context;\n};\n","import { useContext } from 'react';\n\nimport { ListSortContext, ListSortContextValue } from './ListSortContext';\n\n/**\n * Hook to read the list sort controller props from the ListSortContext.\n *\n * Must be used within a <ListSortContextProvider> (e.g. as a descendent of <List>\n * or <ListBase>).\n *\n * @returns {ListSortContextValue} list controller props\n *\n * @see useListController for how it is filled\n */\nexport const useListSortContext = (): ListSortContextValue => {\n const context = useContext(ListSortContext);\n if (!context) {\n throw new Error(\n 'useListSortContext must be used inside a ListSortContextProvider'\n );\n }\n return context;\n};\n","import { useCallback } from 'react';\n\nimport { useRecordSelection } from './useRecordSelection';\nimport { Identifier } from '../../types';\n\n/**\n * Hook to Unselect the rows of a datagrid\n *\n * @example\n *\n * const unselect = useUnselect('posts');\n * unselect([123, 456]);\n */\nexport const useUnselect = (resource?: string) => {\n const [, { unselect }] = useRecordSelection(\n resource ? { resource } : { disableSyncWithStore: true }\n );\n return useCallback(\n (ids: Identifier[]) => {\n unselect(ids);\n },\n [unselect]\n );\n};\n","import get from 'lodash/get';\nimport { RaRecord, SortPayload } from '../../types';\nimport { useGetManyAggregate } from '../../dataProvider';\nimport { ListControllerResult, useList } from '../list';\nimport { useNotify } from '../../notification';\nimport { UseQueryOptions } from '@tanstack/react-query';\n\nexport interface UseReferenceArrayFieldControllerParams<\n RecordType extends RaRecord = RaRecord,\n ReferenceRecordType extends RaRecord = RaRecord\n> {\n filter?: any;\n page?: number;\n perPage?: number;\n record?: RecordType;\n reference: string;\n resource?: string;\n sort?: SortPayload;\n source: string;\n queryOptions?: Omit<\n UseQueryOptions<ReferenceRecordType[]>,\n 'queryFn' | 'queryKey'\n >;\n}\n\nconst emptyArray = [];\nconst defaultFilter = {};\n\n/**\n * Hook that fetches records from another resource specified\n * by an array of *ids* in current record.\n *\n * @example\n *\n * const { data, error, isFetching, isPending } = useReferenceArrayFieldController({\n * record: { referenceIds: ['id1', 'id2']};\n * reference: 'reference';\n * resource: 'resource';\n * source: 'referenceIds';\n * });\n *\n * @param {Object} props\n * @param {Object} props.record The current resource record\n * @param {string} props.reference The linked resource name\n * @param {string} props.resource The current resource name\n * @param {string} props.source The key of the linked resource identifier\n *\n * @param {Props} props\n *\n * @returns {ListControllerResult} The reference props\n */\nexport const useReferenceArrayFieldController = <\n RecordType extends RaRecord = RaRecord,\n ReferenceRecordType extends RaRecord = RaRecord\n>(\n props: UseReferenceArrayFieldControllerParams<\n RecordType,\n ReferenceRecordType\n >\n): ListControllerResult => {\n const {\n filter = defaultFilter,\n page = 1,\n perPage = 1000,\n record,\n reference,\n sort,\n source,\n queryOptions = {},\n } = props;\n const notify = useNotify();\n const value = get(record, source);\n const { meta, ...otherQueryOptions } = queryOptions;\n const ids = Array.isArray(value) ? value : emptyArray;\n\n const {\n data,\n error,\n isLoading,\n isFetching,\n isPending,\n refetch,\n } = useGetManyAggregate<ReferenceRecordType>(\n reference,\n { ids, meta },\n {\n onError: error =>\n notify(\n typeof error === 'string'\n ? error\n : error.message || 'ra.notification.http_error',\n {\n type: 'error',\n messageArgs: {\n _:\n typeof error === 'string'\n ? error\n : error && error.message\n ? error.message\n : undefined,\n },\n }\n ),\n ...otherQueryOptions,\n }\n );\n\n const listProps = useList<ReferenceRecordType>({\n data,\n error,\n filter,\n isFetching,\n isLoading,\n isPending,\n page,\n perPage,\n sort,\n });\n\n return {\n ...listProps,\n defaultTitle: undefined,\n refetch,\n resource: reference,\n };\n};\n","import { useCallback, useEffect, useRef } from 'react';\nimport { UseQueryOptions } from '@tanstack/react-query';\nimport get from 'lodash/get';\nimport isEqual from 'lodash/isEqual';\nimport lodashDebounce from 'lodash/debounce';\n\nimport { useSafeSetState, removeEmpty } from '../../util';\nimport { useGetManyReference } from '../../dataProvider';\nimport { useNotify } from '../../notification';\nimport { Identifier, RaRecord, SortPayload } from '../../types';\nimport { ListControllerResult } from '../list';\nimport usePaginationState from '../usePaginationState';\nimport { useRecordSelection } from '../list/useRecordSelection';\nimport useSortState from '../useSortState';\nimport { useResourceContext } from '../../core';\n\nexport interface UseReferenceManyFieldControllerParams<\n RecordType extends RaRecord = RaRecord,\n ReferenceRecordType extends RaRecord = RaRecord\n> {\n debounce?: number;\n filter?: any;\n page?: number;\n perPage?: number;\n record?: RecordType;\n reference: string;\n resource?: string;\n sort?: SortPayload;\n source?: string;\n target: string;\n queryOptions?: UseQueryOptions<\n { data: ReferenceRecordType[]; total: number },\n Error\n >;\n}\n\nconst defaultFilter = {};\n\n/**\n * Fetch reference records, and return them when available\n *\n * Uses dataProvider.getManyReference() internally.\n *\n * @example // fetch the comments related to the current post\n * const { isPending, data } = useReferenceManyFieldController({\n * reference: 'comments',\n * target: 'post_id',\n * record: { id: 123, title: 'hello, world' },\n * resource: 'posts',\n * });\n *\n * @param {Object} props\n * @param {string} props.reference The linked resource name. Required.\n * @param {string} props.target The target resource key. Required.\n * @param {Object} props.filter The filter applied on the recorded records list\n * @param {number} props.page the page number\n * @param {number} props.perPage the number of item per page\n * @param {Object} props.record The current resource record\n * @param {string} props.resource The current resource name\n * @param {Object} props.sort the sort to apply to the referenced records\n * @param {string} props.source The key of the linked resource identifier\n * @param {UseQuery Options} props.queryOptions `react-query` options`\n *\n * @returns {ListControllerResult} The reference many props\n */\nexport const useReferenceManyFieldController = <\n RecordType extends RaRecord = RaRecord,\n ReferenceRecordType extends RaRecord = RaRecord\n>(\n props: UseReferenceManyFieldControllerParams<\n RecordType,\n ReferenceRecordType\n >\n): ListControllerResult<ReferenceRecordType> => {\n const {\n debounce = 500,\n reference,\n record,\n target,\n filter = defaultFilter,\n source = 'id',\n page: initialPage,\n perPage: initialPerPage,\n sort: initialSort = { field: 'id', order: 'DESC' },\n queryOptions = {} as UseQueryOptions<\n { data: ReferenceRecordType[]; total: number },\n Error\n >,\n } = props;\n const notify = useNotify();\n const resource = useResourceContext(props);\n const { meta, ...otherQueryOptions } = queryOptions;\n\n // pagination logic\n const { page, setPage, perPage, setPerPage } = usePaginationState({\n page: initialPage,\n perPage: initialPerPage,\n });\n\n // sort logic\n const { sort, setSort: setSortState } = useSortState(initialSort);\n const setSort = useCallback(\n (sort: SortPayload) => {\n setSortState(sort);\n setPage(1);\n },\n [setPage, setSortState]\n );\n\n // selection logic\n const [selectedIds, selectionModifiers] = useRecordSelection({\n resource: `${resource}.${record?.id}.${reference}`,\n });\n\n // filter logic\n const filterRef = useRef(filter);\n const [displayedFilters, setDisplayedFilters] = useSafeSetState<{\n [key: string]: boolean;\n }>({});\n const [filterValues, setFilterValues] = useSafeSetState<{\n [key: string]: any;\n }>(filter);\n const hideFilter = useCallback(\n (filterName: string) => {\n setDisplayedFilters(previousState => {\n const { [filterName]: _, ...newState } = previousState;\n return newState;\n });\n setFilterValues(previousState => {\n const { [filterName]: _, ...newState } = previousState;\n return newState;\n });\n },\n [setDisplayedFilters, setFilterValues]\n );\n const showFilter = useCallback(\n (filterName: string, defaultValue: any) => {\n setDisplayedFilters(previousState => ({\n ...previousState,\n [filterName]: true,\n }));\n setFilterValues(previousState => ({\n ...previousState,\n [filterName]: defaultValue,\n }));\n },\n [setDisplayedFilters, setFilterValues]\n );\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const debouncedSetFilters = useCallback(\n lodashDebounce((filters, displayedFilters) => {\n setFilterValues(removeEmpty(filters));\n setDisplayedFilters(displayedFilters);\n setPage(1);\n }, debounce),\n [setDisplayedFilters, setFilterValues, setPage]\n );\n\n const setFilters = useCallback(\n (filters, displayedFilters, debounce = false) => {\n if (debounce) {\n debouncedSetFilters(filters, displayedFilters);\n } else {\n setFilterValues(removeEmpty(filters));\n setDisplayedFilters(displayedFilters);\n setPage(1);\n }\n },\n [setDisplayedFilters, setFilterValues, setPage, debouncedSetFilters]\n );\n // handle filter prop change\n useEffect(() => {\n if (!isEqual(filter, filterRef.current)) {\n filterRef.current = filter;\n setFilterValues(filter);\n }\n });\n\n const {\n data,\n total,\n pageInfo,\n error,\n isFetching,\n isLoading,\n isPending,\n refetch,\n } = useGetManyReference<ReferenceRecordType>(\n reference,\n {\n target,\n id: get(record, source) as Identifier,\n pagination: { page, perPage },\n sort,\n filter: filterValues,\n meta,\n },\n {\n enabled: get(record, source) != null,\n placeholderData: previousData => previousData,\n onError: error =>\n notify(\n typeof error === 'string'\n ? error\n : error.message || 'ra.notification.http_error',\n {\n type: 'error',\n messageArgs: {\n _:\n typeof error === 'string'\n ? error\n : error && error.message\n ? error.message\n : undefined,\n },\n }\n ),\n ...otherQueryOptions,\n }\n );\n\n return {\n sort,\n data,\n defaultTitle: undefined,\n displayedFilters,\n error,\n filterValues,\n hideFilter,\n isFetching,\n isLoading,\n isPending,\n onSelect: selectionModifiers.select,\n onToggleItem: selectionModifiers.toggle,\n onUnselectItems: selectionModifiers.clearSelection,\n page,\n perPage,\n refetch,\n resource: reference,\n selectedIds,\n setFilters,\n setPage,\n setPerPage,\n hasNextPage: pageInfo\n ? pageInfo.hasNextPage\n : total != null\n ? page * perPage < total\n : undefined,\n hasPreviousPage: pageInfo ? pageInfo.hasPreviousPage : page > 1,\n setSort,\n showFilter,\n total,\n } as ListControllerResult<ReferenceRecordType>;\n};\n","import React from 'react';\n\nvar isCheckBoxInput = (element) => element.type === 'checkbox';\n\nvar isDateObject = (value) => value instanceof Date;\n\nvar isNullOrUndefined = (value) => value == null;\n\nconst isObjectType = (value) => typeof value === 'object';\nvar isObject = (value) => !isNullOrUndefined(value) &&\n !Array.isArray(value) &&\n isObjectType(value) &&\n !isDateObject(value);\n\nvar getEventValue = (event) => isObject(event) && event.target\n ? isCheckBoxInput(event.target)\n ? event.target.checked\n : event.target.value\n : event;\n\nvar getNodeParentName = (name) => name.substring(0, name.search(/\\.\\d+(\\.|$)/)) || name;\n\nvar isNameInFieldArray = (names, name) => names.has(getNodeParentName(name));\n\nvar isPlainObject = (tempObject) => {\n const prototypeCopy = tempObject.constructor && tempObject.constructor.prototype;\n return (isObject(prototypeCopy) && prototypeCopy.hasOwnProperty('isPrototypeOf'));\n};\n\nvar isWeb = typeof window !== 'undefined' &&\n typeof window.HTMLElement !== 'undefined' &&\n typeof document !== 'undefined';\n\nfunction cloneObject(data) {\n let copy;\n const isArray = Array.isArray(data);\n if (data instanceof Date) {\n copy = new Date(data);\n }\n else if (data instanceof Set) {\n copy = new Set(data);\n }\n else if (!(isWeb && (data instanceof Blob || data instanceof FileList)) &&\n (isArray || isObject(data))) {\n copy = isArray ? [] : {};\n if (!Array.isArray(data) && !isPlainObject(data)) {\n copy = data;\n }\n else {\n for (const key in data) {\n copy[key] = cloneObject(data[key]);\n }\n }\n }\n else {\n return data;\n }\n return copy;\n}\n\nvar compact = (value) => Array.isArray(value) ? value.filter(Boolean) : [];\n\nvar isUndefined = (val) => val === undefined;\n\nvar get = (obj, path, defaultValue) => {\n if (!path || !isObject(obj)) {\n return defaultValue;\n }\n const result = compact(path.split(/[,[\\].]+?/)).reduce((result, key) => isNullOrUndefined(result) ? result : result[key], obj);\n return isUndefined(result) || result === obj\n ? isUndefined(obj[path])\n ? defaultValue\n : obj[path]\n : result;\n};\n\nconst EVENTS = {\n BLUR: 'blur',\n FOCUS_OUT: 'focusout',\n CHANGE: 'change',\n};\nconst VALIDATION_MODE = {\n onBlur: 'onBlur',\n onChange: 'onChange',\n onSubmit: 'onSubmit',\n onTouched: 'onTouched',\n all: 'all',\n};\nconst INPUT_VALIDATION_RULES = {\n max: 'max',\n min: 'min',\n maxLength: 'maxLength',\n minLength: 'minLength',\n pattern: 'pattern',\n required: 'required',\n validate: 'validate',\n};\n\nconst HookFormContext = React.createContext(null);\n/**\n * This custom hook allows you to access the form context. useFormContext is intended to be used in deeply nested structures, where it would become inconvenient to pass the context as a prop. To be used with {@link FormProvider}.\n *\n * @remarks\n * [API](https://react-hook-form.com/api/useformcontext) • [Demo](https://codesandbox.io/s/react-hook-form-v7-form-context-ytudi)\n *\n * @returns return all useForm methods\n *\n * @example\n * ```tsx\n * function App() {\n * const methods = useForm();\n * const onSubmit = data => console.log(data);\n *\n * return (\n * <FormProvider {...methods} >\n * <form onSubmit={methods.handleSubmit(onSubmit)}>\n * <NestedInput />\n * <input type=\"submit\" />\n * </form>\n * </FormProvider>\n * );\n * }\n *\n * function NestedInput() {\n * const { register } = useFormContext(); // retrieve all hook methods\n * return <input {...register(\"test\")} />;\n * }\n * ```\n */\nconst useFormContext = () => React.useContext(HookFormContext);\n/**\n * A provider component that propagates the `useForm` methods to all children components via [React Context](https://reactjs.org/docs/context.html) API. To be used with {@link useFormContext}.\n *\n * @remarks\n * [API](https://react-hook-form.com/api/useformcontext) • [Demo](https://codesandbox.io/s/react-hook-form-v7-form-context-ytudi)\n *\n * @param props - all useFrom methods\n *\n * @example\n * ```tsx\n * function App() {\n * const methods = useForm();\n * const onSubmit = data => console.log(data);\n *\n * return (\n * <FormProvider {...methods} >\n * <form onSubmit={methods.handleSubmit(onSubmit)}>\n * <NestedInput />\n * <input type=\"submit\" />\n * </form>\n * </FormProvider>\n * );\n * }\n *\n * function NestedInput() {\n * const { register } = useFormContext(); // retrieve all hook methods\n * return <input {...register(\"test\")} />;\n * }\n * ```\n */\nconst FormProvider = (props) => {\n const { children, ...data } = props;\n return (React.createElement(HookFormContext.Provider, { value: data }, children));\n};\n\nvar getProxyFormState = (formState, control, localProxyFormState, isRoot = true) => {\n const result = {\n defaultValues: control._defaultValues,\n };\n for (const key in formState) {\n Object.defineProperty(result, key, {\n get: () => {\n const _key = key;\n if (control._proxyFormState[_key] !== VALIDATION_MODE.all) {\n control._proxyFormState[_key] = !isRoot || VALIDATION_MODE.all;\n }\n localProxyFormState && (localProxyFormState[_key] = true);\n return formState[_key];\n },\n });\n }\n return result;\n};\n\nvar isEmptyObject = (value) => isObject(value) && !Object.keys(value).length;\n\nvar shouldRenderFormState = (formStateData, _proxyFormState, updateFormState, isRoot) => {\n updateFormState(formStateData);\n const { name, ...formState } = formStateData;\n return (isEmptyObject(formState) ||\n Object.keys(formState).length >= Object.keys(_proxyFormState).length ||\n Object.keys(formState).find((key) => _proxyFormState[key] ===\n (!isRoot || VALIDATION_MODE.all)));\n};\n\nvar convertToArrayPayload = (value) => (Array.isArray(value) ? value : [value]);\n\nvar shouldSubscribeByName = (name, signalName, exact) => exact && signalName\n ? name === signalName\n : !name ||\n !signalName ||\n name === signalName ||\n convertToArrayPayload(name).some((currentName) => currentName &&\n (currentName.startsWith(signalName) ||\n signalName.startsWith(currentName)));\n\nfunction useSubscribe(props) {\n const _props = React.useRef(props);\n _props.current = props;\n React.useEffect(() => {\n const subscription = !props.disabled &&\n _props.current.subject &&\n _props.current.subject.subscribe({\n next: _props.current.next,\n });\n return () => {\n subscription && subscription.unsubscribe();\n };\n }, [props.disabled]);\n}\n\n/**\n * This custom hook allows you to subscribe to each form state, and isolate the re-render at the custom hook level. It has its scope in terms of form state subscription, so it would not affect other useFormState and useForm. Using this hook can reduce the re-render impact on large and complex form application.\n *\n * @remarks\n * [API](https://react-hook-form.com/api/useformstate) • [Demo](https://codesandbox.io/s/useformstate-75xly)\n *\n * @param props - include options on specify fields to subscribe. {@link UseFormStateReturn}\n *\n * @example\n * ```tsx\n * function App() {\n * const { register, handleSubmit, control } = useForm({\n * defaultValues: {\n * firstName: \"firstName\"\n * }});\n * const { dirtyFields } = useFormState({\n * control\n * });\n * const onSubmit = (data) => console.log(data);\n *\n * return (\n * <form onSubmit={handleSubmit(onSubmit)}>\n * <input {...register(\"firstName\")} placeholder=\"First Name\" />\n * {dirtyFields.firstName && <p>Field is dirty.</p>}\n * <input type=\"submit\" />\n * </form>\n * );\n * }\n * ```\n */\nfunction useFormState(props) {\n const methods = useFormContext();\n const { control = methods.control, disabled, name, exact } = props || {};\n const [formState, updateFormState] = React.useState(control._formState);\n const _mounted = React.useRef(true);\n const _localProxyFormState = React.useRef({\n isDirty: false,\n isLoading: false,\n dirtyFields: false,\n touchedFields: false,\n isValidating: false,\n isValid: false,\n errors: false,\n });\n const _name = React.useRef(name);\n _name.current = name;\n useSubscribe({\n disabled,\n next: (value) => _mounted.current &&\n shouldSubscribeByName(_name.current, value.name, exact) &&\n shouldRenderFormState(value, _localProxyFormState.current, control._updateFormState) &&\n updateFormState({\n ...control._formState,\n ...value,\n }),\n subject: control._subjects.state,\n });\n React.useEffect(() => {\n _mounted.current = true;\n _localProxyFormState.current.isValid && control._updateValid(true);\n return () => {\n _mounted.current = false;\n };\n }, [control]);\n return getProxyFormState(formState, control, _localProxyFormState.current, false);\n}\n\nvar isString = (value) => typeof value === 'string';\n\nvar generateWatchOutput = (names, _names, formValues, isGlobal, defaultValue) => {\n if (isString(names)) {\n isGlobal && _names.watch.add(names);\n return get(formValues, names, defaultValue);\n }\n if (Array.isArray(names)) {\n return names.map((fieldName) => (isGlobal && _names.watch.add(fieldName), get(formValues, fieldName)));\n }\n isGlobal && (_names.watchAll = true);\n return formValues;\n};\n\n/**\n * Custom hook to subscribe to field change and isolate re-rendering at the component level.\n *\n * @remarks\n *\n * [API](https://react-hook-form.com/api/usewatch) • [Demo](https://codesandbox.io/s/react-hook-form-v7-ts-usewatch-h9i5e)\n *\n * @example\n * ```tsx\n * const { watch } = useForm();\n * const values = useWatch({\n * name: \"fieldName\"\n * control,\n * })\n * ```\n */\nfunction useWatch(props) {\n const methods = useFormContext();\n const { control = methods.control, name, defaultValue, disabled, exact, } = props || {};\n const _name = React.useRef(name);\n _name.current = name;\n useSubscribe({\n disabled,\n subject: control._subjects.values,\n next: (formState) => {\n if (shouldSubscribeByName(_name.current, formState.name, exact)) {\n updateValue(cloneObject(generateWatchOutput(_name.current, control._names, formState.values || control._formValues, false, defaultValue)));\n }\n },\n });\n const [value, updateValue] = React.useState(control._getWatch(name, defaultValue));\n React.useEffect(() => control._removeUnmounted());\n return value;\n}\n\nvar isKey = (value) => /^\\w*$/.test(value);\n\nvar stringToPath = (input) => compact(input.replace(/[\"|']|\\]/g, '').split(/\\.|\\[/));\n\nfunction set(object, path, value) {\n let index = -1;\n const tempPath = isKey(path) ? [path] : stringToPath(path);\n const length = tempPath.length;\n const lastIndex = length - 1;\n while (++index < length) {\n const key = tempPath[index];\n let newValue = value;\n if (index !== lastIndex) {\n const objValue = object[key];\n newValue =\n isObject(objValue) || Array.isArray(objValue)\n ? objValue\n : !isNaN(+tempPath[index + 1])\n ? []\n : {};\n }\n object[key] = newValue;\n object = object[key];\n }\n return object;\n}\n\n/**\n * Custom hook to work with controlled component, this function provide you with both form and field level state. Re-render is isolated at the hook level.\n *\n * @remarks\n * [API](https://react-hook-form.com/api/usecontroller) • [Demo](https://codesandbox.io/s/usecontroller-0o8px)\n *\n * @param props - the path name to the form field value, and validation rules.\n *\n * @returns field properties, field and form state. {@link UseControllerReturn}\n *\n * @example\n * ```tsx\n * function Input(props) {\n * const { field, fieldState, formState } = useController(props);\n * return (\n * <div>\n * <input {...field} placeholder={props.name} />\n * <p>{fieldState.isTouched && \"Touched\"}</p>\n * <p>{formState.isSubmitted ? \"submitted\" : \"\"}</p>\n * </div>\n * );\n * }\n * ```\n */\nfunction useController(props) {\n const methods = useFormContext();\n const { name, control = methods.control, shouldUnregister } = props;\n const isArrayField = isNameInFieldArray(control._names.array, name);\n const value = useWatch({\n control,\n name,\n defaultValue: get(control._formValues, name, get(control._defaultValues, name, props.defaultValue)),\n exact: true,\n });\n const formState = useFormState({\n control,\n name,\n });\n const _registerProps = React.useRef(control.register(name, {\n ...props.rules,\n value,\n }));\n React.useEffect(() => {\n const _shouldUnregisterField = control._options.shouldUnregister || shouldUnregister;\n const updateMounted = (name, value) => {\n const field = get(control._fields, name);\n if (field) {\n field._f.mount = value;\n }\n };\n updateMounted(name, true);\n if (_shouldUnregisterField) {\n const value = cloneObject(get(control._options.defaultValues, name));\n set(control._defaultValues, name, value);\n if (isUndefined(get(control._formValues, name))) {\n set(control._formValues, name, value);\n }\n }\n return () => {\n (isArrayField\n ? _shouldUnregisterField && !control._state.action\n : _shouldUnregisterField)\n ? control.unregister(name)\n : updateMounted(name, false);\n };\n }, [name, control, isArrayField, shouldUnregister]);\n return {\n field: {\n name,\n value,\n onChange: React.useCallback((event) => _registerProps.current.onChange({\n target: {\n value: getEventValue(event),\n name: name,\n },\n type: EVENTS.CHANGE,\n }), [name]),\n onBlur: React.useCallback(() => _registerProps.current.onBlur({\n target: {\n value: get(control._formValues, name),\n name: name,\n },\n type: EVENTS.BLUR,\n }), [name, control]),\n ref: (elm) => {\n const field = get(control._fields, name);\n if (field && elm) {\n field._f.ref = {\n focus: () => elm.focus(),\n select: () => elm.select(),\n setCustomValidity: (message) => elm.setCustomValidity(message),\n reportValidity: () => elm.reportValidity(),\n };\n }\n },\n },\n formState,\n fieldState: Object.defineProperties({}, {\n invalid: {\n enumerable: true,\n get: () => !!get(formState.errors, name),\n },\n isDirty: {\n enumerable: true,\n get: () => !!get(formState.dirtyFields, name),\n },\n isTouched: {\n enumerable: true,\n get: () => !!get(formState.touchedFields, name),\n },\n error: {\n enumerable: true,\n get: () => get(formState.errors, name),\n },\n }),\n };\n}\n\n/**\n * Component based on `useController` hook to work with controlled component.\n *\n * @remarks\n * [API](https://react-hook-form.com/api/usecontroller/controller) • [Demo](https://codesandbox.io/s/react-hook-form-v6-controller-ts-jwyzw) • [Video](https://www.youtube.com/watch?v=N2UNk_UCVyA)\n *\n * @param props - the path name to the form field value, and validation rules.\n *\n * @returns provide field handler functions, field and form state.\n *\n * @example\n * ```tsx\n * function App() {\n * const { control } = useForm<FormValues>({\n * defaultValues: {\n * test: \"\"\n * }\n * });\n *\n * return (\n * <form>\n * <Controller\n * control={control}\n * name=\"test\"\n * render={({ field: { onChange, onBlur, value, ref }, formState, fieldState }) => (\n * <>\n * <input\n * onChange={onChange} // send value to hook form\n * onBlur={onBlur} // notify when input is touched\n * value={value} // return updated value\n * ref={ref} // set ref for focus management\n * />\n * <p>{formState.isSubmitted ? \"submitted\" : \"\"}</p>\n * <p>{fieldState.isTouched ? \"touched\" : \"\"}</p>\n * </>\n * )}\n * />\n * </form>\n * );\n * }\n * ```\n */\nconst Controller = (props) => props.render(useController(props));\n\nvar appendErrors = (name, validateAllFieldCriteria, errors, type, message) => validateAllFieldCriteria\n ? {\n ...errors[name],\n types: {\n ...(errors[name] && errors[name].types ? errors[name].types : {}),\n [type]: message || true,\n },\n }\n : {};\n\nconst focusFieldBy = (fields, callback, fieldsNames) => {\n for (const key of fieldsNames || Object.keys(fields)) {\n const field = get(fields, key);\n if (field) {\n const { _f, ...currentField } = field;\n if (_f && callback(_f.name)) {\n if (_f.ref.focus) {\n _f.ref.focus();\n break;\n }\n else if (_f.refs && _f.refs[0].focus) {\n _f.refs[0].focus();\n break;\n }\n }\n else if (isObject(currentField)) {\n focusFieldBy(currentField, callback);\n }\n }\n }\n};\n\nvar generateId = () => {\n const d = typeof performance === 'undefined' ? Date.now() : performance.now() * 1000;\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {\n const r = (Math.random() * 16 + d) % 16 | 0;\n return (c == 'x' ? r : (r & 0x3) | 0x8).toString(16);\n });\n};\n\nvar getFocusFieldName = (name, index, options = {}) => options.shouldFocus || isUndefined(options.shouldFocus)\n ? options.focusName ||\n `${name}.${isUndefined(options.focusIndex) ? index : options.focusIndex}.`\n : '';\n\nvar getValidationModes = (mode) => ({\n isOnSubmit: !mode || mode === VALIDATION_MODE.onSubmit,\n isOnBlur: mode === VALIDATION_MODE.onBlur,\n isOnChange: mode === VALIDATION_MODE.onChange,\n isOnAll: mode === VALIDATION_MODE.all,\n isOnTouch: mode === VALIDATION_MODE.onTouched,\n});\n\nvar isWatched = (name, _names, isBlurEvent) => !isBlurEvent &&\n (_names.watchAll ||\n _names.watch.has(name) ||\n [..._names.watch].some((watchName) => name.startsWith(watchName) &&\n /^\\.\\w+/.test(name.slice(watchName.length))));\n\nvar updateFieldArrayRootError = (errors, error, name) => {\n const fieldArrayErrors = compact(get(errors, name));\n set(fieldArrayErrors, 'root', error[name]);\n set(errors, name, fieldArrayErrors);\n return errors;\n};\n\nvar isBoolean = (value) => typeof value === 'boolean';\n\nvar isFileInput = (element) => element.type === 'file';\n\nvar isFunction = (value) => typeof value === 'function';\n\nvar isHTMLElement = (value) => {\n if (!isWeb) {\n return false;\n }\n const owner = value ? value.ownerDocument : 0;\n return (value instanceof\n (owner && owner.defaultView ? owner.defaultView.HTMLElement : HTMLElement));\n};\n\nvar isMessage = (value) => isString(value);\n\nvar isRadioInput = (element) => element.type === 'radio';\n\nvar isRegex = (value) => value instanceof RegExp;\n\nconst defaultResult = {\n value: false,\n isValid: false,\n};\nconst validResult = { value: true, isValid: true };\nvar getCheckboxValue = (options) => {\n if (Array.isArray(options)) {\n if (options.length > 1) {\n const values = options\n .filter((option) => option && option.checked && !option.disabled)\n .map((option) => option.value);\n return { value: values, isValid: !!values.length };\n }\n return options[0].checked && !options[0].disabled\n ? // @ts-expect-error expected to work in the browser\n options[0].attributes && !isUndefined(options[0].attributes.value)\n ? isUndefined(options[0].value) || options[0].value === ''\n ? validResult\n : { value: options[0].value, isValid: true }\n : validResult\n : defaultResult;\n }\n return defaultResult;\n};\n\nconst defaultReturn = {\n isValid: false,\n value: null,\n};\nvar getRadioValue = (options) => Array.isArray(options)\n ? options.reduce((previous, option) => option && option.checked && !option.disabled\n ? {\n isValid: true,\n value: option.value,\n }\n : previous, defaultReturn)\n : defaultReturn;\n\nfunction getValidateError(result, ref, type = 'validate') {\n if (isMessage(result) ||\n (Array.isArray(result) && result.every(isMessage)) ||\n (isBoolean(result) && !result)) {\n return {\n type,\n message: isMessage(result) ? result : '',\n ref,\n };\n }\n}\n\nvar getValueAndMessage = (validationData) => isObject(validationData) && !isRegex(validationData)\n ? validationData\n : {\n value: validationData,\n message: '',\n };\n\nvar validateField = async (field, formValues, validateAllFieldCriteria, shouldUseNativeValidation, isFieldArray) => {\n const { ref, refs, required, maxLength, minLength, min, max, pattern, validate, name, valueAsNumber, mount, disabled, } = field._f;\n const inputValue = get(formValues, name);\n if (!mount || disabled) {\n return {};\n }\n const inputRef = refs ? refs[0] : ref;\n const setCustomValidity = (message) => {\n if (shouldUseNativeValidation && inputRef.reportValidity) {\n inputRef.setCustomValidity(isBoolean(message) ? '' : message || '');\n inputRef.reportValidity();\n }\n };\n const error = {};\n const isRadio = isRadioInput(ref);\n const isCheckBox = isCheckBoxInput(ref);\n const isRadioOrCheckbox = isRadio || isCheckBox;\n const isEmpty = ((valueAsNumber || isFileInput(ref)) &&\n isUndefined(ref.value) &&\n isUndefined(inputValue)) ||\n (isHTMLElement(ref) && ref.value === '') ||\n inputValue === '' ||\n (Array.isArray(inputValue) && !inputValue.length);\n const appendErrorsCurry = appendErrors.bind(null, name, validateAllFieldCriteria, error);\n const getMinMaxMessage = (exceedMax, maxLengthMessage, minLengthMessage, maxType = INPUT_VALIDATION_RULES.maxLength, minType = INPUT_VALIDATION_RULES.minLength) => {\n const message = exceedMax ? maxLengthMessage : minLengthMessage;\n error[name] = {\n type: exceedMax ? maxType : minType,\n message,\n ref,\n ...appendErrorsCurry(exceedMax ? maxType : minType, message),\n };\n };\n if (isFieldArray\n ? !Array.isArray(inputValue) || !inputValue.length\n : required &&\n ((!isRadioOrCheckbox && (isEmpty || isNullOrUndefined(inputValue))) ||\n (isBoolean(inputValue) && !inputValue) ||\n (isCheckBox && !getCheckboxValue(refs).isValid) ||\n (isRadio && !getRadioValue(refs).isValid))) {\n const { value, message } = isMessage(required)\n ? { value: !!required, message: required }\n : getValueAndMessage(required);\n if (value) {\n error[name] = {\n type: INPUT_VALIDATION_RULES.required,\n message,\n ref: inputRef,\n ...appendErrorsCurry(INPUT_VALIDATION_RULES.required, message),\n };\n if (!validateAllFieldCriteria) {\n setCustomValidity(message);\n return error;\n }\n }\n }\n if (!isEmpty && (!isNullOrUndefined(min) || !isNullOrUndefined(max))) {\n let exceedMax;\n let exceedMin;\n const maxOutput = getValueAndMessage(max);\n const minOutput = getValueAndMessage(min);\n if (!isNullOrUndefined(inputValue) && !isNaN(inputValue)) {\n const valueNumber = ref.valueAsNumber ||\n (inputValue ? +inputValue : inputValue);\n if (!isNullOrUndefined(maxOutput.value)) {\n exceedMax = valueNumber > maxOutput.value;\n }\n if (!isNullOrUndefined(minOutput.value)) {\n exceedMin = valueNumber < minOutput.value;\n }\n }\n else {\n const valueDate = ref.valueAsDate || new Date(inputValue);\n const convertTimeToDate = (time) => new Date(new Date().toDateString() + ' ' + time);\n const isTime = ref.type == 'time';\n const isWeek = ref.type == 'week';\n if (isString(maxOutput.value) && inputValue) {\n exceedMax = isTime\n ? convertTimeToDate(inputValue) > convertTimeToDate(maxOutput.value)\n : isWeek\n ? inputValue > maxOutput.value\n : valueDate > new Date(maxOutput.value);\n }\n if (isString(minOutput.value) && inputValue) {\n exceedMin = isTime\n ? convertTimeToDate(inputValue) < convertTimeToDate(minOutput.value)\n : isWeek\n ? inputValue < minOutput.value\n : valueDate < new Date(minOutput.value);\n }\n }\n if (exceedMax || exceedMin) {\n getMinMaxMessage(!!exceedMax, maxOutput.message, minOutput.message, INPUT_VALIDATION_RULES.max, INPUT_VALIDATION_RULES.min);\n if (!validateAllFieldCriteria) {\n setCustomValidity(error[name].message);\n return error;\n }\n }\n }\n if ((maxLength || minLength) &&\n !isEmpty &&\n (isString(inputValue) || (isFieldArray && Array.isArray(inputValue)))) {\n const maxLengthOutput = getValueAndMessage(maxLength);\n const minLengthOutput = getValueAndMessage(minLength);\n const exceedMax = !isNullOrUndefined(maxLengthOutput.value) &&\n inputValue.length > +maxLengthOutput.value;\n const exceedMin = !isNullOrUndefined(minLengthOutput.value) &&\n inputValue.length < +minLengthOutput.value;\n if (exceedMax || exceedMin) {\n getMinMaxMessage(exceedMax, maxLengthOutput.message, minLengthOutput.message);\n if (!validateAllFieldCriteria) {\n setCustomValidity(error[name].message);\n return error;\n }\n }\n }\n if (pattern && !isEmpty && isString(inputValue)) {\n const { value: patternValue, message } = getValueAndMessage(pattern);\n if (isRegex(patternValue) && !inputValue.match(patternValue)) {\n error[name] = {\n type: INPUT_VALIDATION_RULES.pattern,\n message,\n ref,\n ...appendErrorsCurry(INPUT_VALIDATION_RULES.pattern, message),\n };\n if (!validateAllFieldCriteria) {\n setCustomValidity(message);\n return error;\n }\n }\n }\n if (validate) {\n if (isFunction(validate)) {\n const result = await validate(inputValue, formValues);\n const validateError = getValidateError(result, inputRef);\n if (validateError) {\n error[name] = {\n ...validateError,\n ...appendErrorsCurry(INPUT_VALIDATION_RULES.validate, validateError.message),\n };\n if (!validateAllFieldCriteria) {\n setCustomValidity(validateError.message);\n return error;\n }\n }\n }\n else if (isObject(validate)) {\n let validationResult = {};\n for (const key in validate) {\n if (!isEmptyObject(validationResult) && !validateAllFieldCriteria) {\n break;\n }\n const validateError = getValidateError(await validate[key](inputValue, formValues), inputRef, key);\n if (validateError) {\n validationResult = {\n ...validateError,\n ...appendErrorsCurry(key, validateError.message),\n };\n setCustomValidity(validateError.message);\n if (validateAllFieldCriteria) {\n error[name] = validationResult;\n }\n }\n }\n if (!isEmptyObject(validationResult)) {\n error[name] = {\n ref: inputRef,\n ...validationResult,\n };\n if (!validateAllFieldCriteria) {\n return error;\n }\n }\n }\n }\n setCustomValidity(true);\n return error;\n};\n\nfunction append(data, value) {\n return [...data, ...convertToArrayPayload(value)];\n}\n\nvar fillEmptyArray = (value) => Array.isArray(value) ? value.map(() => undefined) : undefined;\n\nfunction insert(data, index, value) {\n return [\n ...data.slice(0, index),\n ...convertToArrayPayload(value),\n ...data.slice(index),\n ];\n}\n\nvar moveArrayAt = (data, from, to) => {\n if (!Array.isArray(data)) {\n return [];\n }\n if (isUndefined(data[to])) {\n data[to] = undefined;\n }\n data.splice(to, 0, data.splice(from, 1)[0]);\n return data;\n};\n\nfunction prepend(data, value) {\n return [...convertToArrayPayload(value), ...convertToArrayPayload(data)];\n}\n\nfunction removeAtIndexes(data, indexes) {\n let i = 0;\n const temp = [...data];\n for (const index of indexes) {\n temp.splice(index - i, 1);\n i++;\n }\n return compact(temp).length ? temp : [];\n}\nvar removeArrayAt = (data, index) => isUndefined(index)\n ? []\n : removeAtIndexes(data, convertToArrayPayload(index).sort((a, b) => a - b));\n\nvar swapArrayAt = (data, indexA, indexB) => {\n data[indexA] = [data[indexB], (data[indexB] = data[indexA])][0];\n};\n\nfunction baseGet(object, updatePath) {\n const length = updatePath.slice(0, -1).length;\n let index = 0;\n while (index < length) {\n object = isUndefined(object) ? index++ : object[updatePath[index++]];\n }\n return object;\n}\nfunction isEmptyArray(obj) {\n for (const key in obj) {\n if (!isUndefined(obj[key])) {\n return false;\n }\n }\n return true;\n}\nfunction unset(object, path) {\n const paths = Array.isArray(path)\n ? path\n : isKey(path)\n ? [path]\n : stringToPath(path);\n const childObject = paths.length === 1 ? object : baseGet(object, paths);\n const index = paths.length - 1;\n const key = paths[index];\n if (childObject) {\n delete childObject[key];\n }\n if (index !== 0 &&\n ((isObject(childObject) && isEmptyObject(childObject)) ||\n (Array.isArray(childObject) && isEmptyArray(childObject)))) {\n unset(object, paths.slice(0, -1));\n }\n return object;\n}\n\nvar updateAt = (fieldValues, index, value) => {\n fieldValues[index] = value;\n return fieldValues;\n};\n\n/**\n * A custom hook that exposes convenient methods to perform operations with a list of dynamic inputs that need to be appended, updated, removed etc. • [Demo](https://codesandbox.io/s/react-hook-form-usefieldarray-ssugn) • [Video](https://youtu.be/4MrbfGSFY2A)\n *\n * @remarks\n * [API](https://react-hook-form.com/api/usefieldarray) • [Demo](https://codesandbox.io/s/react-hook-form-usefieldarray-ssugn)\n *\n * @param props - useFieldArray props\n *\n * @returns methods - functions to manipulate with the Field Arrays (dynamic inputs) {@link UseFieldArrayReturn}\n *\n * @example\n * ```tsx\n * function App() {\n * const { register, control, handleSubmit, reset, trigger, setError } = useForm({\n * defaultValues: {\n * test: []\n * }\n * });\n * const { fields, append } = useFieldArray({\n * control,\n * name: \"test\"\n * });\n *\n * return (\n * <form onSubmit={handleSubmit(data => console.log(data))}>\n * {fields.map((item, index) => (\n * <input key={item.id} {...register(`test.${index}.firstName`)} />\n * ))}\n * <button type=\"button\" onClick={() => append({ firstName: \"bill\" })}>\n * append\n * </button>\n * <input type=\"submit\" />\n * </form>\n * );\n * }\n * ```\n */\nfunction useFieldArray(props) {\n const methods = useFormContext();\n const { control = methods.control, name, keyName = 'id', shouldUnregister, } = props;\n const [fields, setFields] = React.useState(control._getFieldArray(name));\n const ids = React.useRef(control._getFieldArray(name).map(generateId));\n const _fieldIds = React.useRef(fields);\n const _name = React.useRef(name);\n const _actioned = React.useRef(false);\n _name.current = name;\n _fieldIds.current = fields;\n control._names.array.add(name);\n props.rules &&\n control.register(name, props.rules);\n useSubscribe({\n next: ({ values, name: fieldArrayName, }) => {\n if (fieldArrayName === _name.current || !fieldArrayName) {\n const fieldValues = get(values, _name.current);\n if (Array.isArray(fieldValues)) {\n setFields(fieldValues);\n ids.current = fieldValues.map(generateId);\n }\n }\n },\n subject: control._subjects.array,\n });\n const updateValues = React.useCallback((updatedFieldArrayValues) => {\n _actioned.current = true;\n control._updateFieldArray(name, updatedFieldArrayValues);\n }, [control, name]);\n const append$1 = (value, options) => {\n const appendValue = convertToArrayPayload(cloneObject(value));\n const updatedFieldArrayValues = append(control._getFieldArray(name), appendValue);\n control._names.focus = getFocusFieldName(name, updatedFieldArrayValues.length - 1, options);\n ids.current = append(ids.current, appendValue.map(generateId));\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(name, updatedFieldArrayValues, append, {\n argA: fillEmptyArray(value),\n });\n };\n const prepend$1 = (value, options) => {\n const prependValue = convertToArrayPayload(cloneObject(value));\n const updatedFieldArrayValues = prepend(control._getFieldArray(name), prependValue);\n control._names.focus = getFocusFieldName(name, 0, options);\n ids.current = prepend(ids.current, prependValue.map(generateId));\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(name, updatedFieldArrayValues, prepend, {\n argA: fillEmptyArray(value),\n });\n };\n const remove = (index) => {\n const updatedFieldArrayValues = removeArrayAt(control._getFieldArray(name), index);\n ids.current = removeArrayAt(ids.current, index);\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(name, updatedFieldArrayValues, removeArrayAt, {\n argA: index,\n });\n };\n const insert$1 = (index, value, options) => {\n const insertValue = convertToArrayPayload(cloneObject(value));\n const updatedFieldArrayValues = insert(control._getFieldArray(name), index, insertValue);\n control._names.focus = getFocusFieldName(name, index, options);\n ids.current = insert(ids.current, index, insertValue.map(generateId));\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(name, updatedFieldArrayValues, insert, {\n argA: index,\n argB: fillEmptyArray(value),\n });\n };\n const swap = (indexA, indexB) => {\n const updatedFieldArrayValues = control._getFieldArray(name);\n swapArrayAt(updatedFieldArrayValues, indexA, indexB);\n swapArrayAt(ids.current, indexA, indexB);\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(name, updatedFieldArrayValues, swapArrayAt, {\n argA: indexA,\n argB: indexB,\n }, false);\n };\n const move = (from, to) => {\n const updatedFieldArrayValues = control._getFieldArray(name);\n moveArrayAt(updatedFieldArrayValues, from, to);\n moveArrayAt(ids.current, from, to);\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(name, updatedFieldArrayValues, moveArrayAt, {\n argA: from,\n argB: to,\n }, false);\n };\n const update = (index, value) => {\n const updateValue = cloneObject(value);\n const updatedFieldArrayValues = updateAt(control._getFieldArray(name), index, updateValue);\n ids.current = [...updatedFieldArrayValues].map((item, i) => !item || i === index ? generateId() : ids.current[i]);\n updateValues(updatedFieldArrayValues);\n setFields([...updatedFieldArrayValues]);\n control._updateFieldArray(name, updatedFieldArrayValues, updateAt, {\n argA: index,\n argB: updateValue,\n }, true, false);\n };\n const replace = (value) => {\n const updatedFieldArrayValues = convertToArrayPayload(cloneObject(value));\n ids.current = updatedFieldArrayValues.map(generateId);\n updateValues([...updatedFieldArrayValues]);\n setFields([...updatedFieldArrayValues]);\n control._updateFieldArray(name, [...updatedFieldArrayValues], (data) => data, {}, true, false);\n };\n React.useEffect(() => {\n control._state.action = false;\n isWatched(name, control._names) &&\n control._subjects.state.next({\n ...control._formState,\n });\n if (_actioned.current &&\n (!getValidationModes(control._options.mode).isOnSubmit ||\n control._formState.isSubmitted)) {\n if (control._options.resolver) {\n control._executeSchema([name]).then((result) => {\n const error = get(result.errors, name);\n const existingError = get(control._formState.errors, name);\n if (existingError ? !error && existingError.type : error && error.type) {\n error\n ? set(control._formState.errors, name, error)\n : unset(control._formState.errors, name);\n control._subjects.state.next({\n errors: control._formState.errors,\n });\n }\n });\n }\n else {\n const field = get(control._fields, name);\n if (field && field._f) {\n validateField(field, control._formValues, control._options.criteriaMode === VALIDATION_MODE.all, control._options.shouldUseNativeValidation, true).then((error) => !isEmptyObject(error) &&\n control._subjects.state.next({\n errors: updateFieldArrayRootError(control._formState.errors, error, name),\n }));\n }\n }\n }\n control._subjects.values.next({\n name,\n values: { ...control._formValues },\n });\n control._names.focus &&\n focusFieldBy(control._fields, (key) => !!key && key.startsWith(control._names.focus || ''));\n control._names.focus = '';\n control._updateValid();\n }, [fields, name, control]);\n React.useEffect(() => {\n !get(control._formValues, name) && control._updateFieldArray(name);\n return () => {\n (control._options.shouldUnregister || shouldUnregister) &&\n control.unregister(name);\n };\n }, [name, control, keyName, shouldUnregister]);\n return {\n swap: React.useCallback(swap, [updateValues, name, control]),\n move: React.useCallback(move, [updateValues, name, control]),\n prepend: React.useCallback(prepend$1, [updateValues, name, control]),\n append: React.useCallback(append$1, [updateValues, name, control]),\n remove: React.useCallback(remove, [updateValues, name, control]),\n insert: React.useCallback(insert$1, [updateValues, name, control]),\n update: React.useCallback(update, [updateValues, name, control]),\n replace: React.useCallback(replace, [updateValues, name, control]),\n fields: React.useMemo(() => fields.map((field, index) => ({\n ...field,\n [keyName]: ids.current[index] || generateId(),\n })), [fields, keyName]),\n };\n}\n\nfunction createSubject() {\n let _observers = [];\n const next = (value) => {\n for (const observer of _observers) {\n observer.next && observer.next(value);\n }\n };\n const subscribe = (observer) => {\n _observers.push(observer);\n return {\n unsubscribe: () => {\n _observers = _observers.filter((o) => o !== observer);\n },\n };\n };\n const unsubscribe = () => {\n _observers = [];\n };\n return {\n get observers() {\n return _observers;\n },\n next,\n subscribe,\n unsubscribe,\n };\n}\n\nvar isPrimitive = (value) => isNullOrUndefined(value) || !isObjectType(value);\n\nfunction deepEqual(object1, object2) {\n if (isPrimitive(object1) || isPrimitive(object2)) {\n return object1 === object2;\n }\n if (isDateObject(object1) && isDateObject(object2)) {\n return object1.getTime() === object2.getTime();\n }\n const keys1 = Object.keys(object1);\n const keys2 = Object.keys(object2);\n if (keys1.length !== keys2.length) {\n return false;\n }\n for (const key of keys1) {\n const val1 = object1[key];\n if (!keys2.includes(key)) {\n return false;\n }\n if (key !== 'ref') {\n const val2 = object2[key];\n if ((isDateObject(val1) && isDateObject(val2)) ||\n (isObject(val1) && isObject(val2)) ||\n (Array.isArray(val1) && Array.isArray(val2))\n ? !deepEqual(val1, val2)\n : val1 !== val2) {\n return false;\n }\n }\n }\n return true;\n}\n\nvar isMultipleSelect = (element) => element.type === `select-multiple`;\n\nvar isRadioOrCheckbox = (ref) => isRadioInput(ref) || isCheckBoxInput(ref);\n\nvar live = (ref) => isHTMLElement(ref) && ref.isConnected;\n\nvar objectHasFunction = (data) => {\n for (const key in data) {\n if (isFunction(data[key])) {\n return true;\n }\n }\n return false;\n};\n\nfunction markFieldsDirty(data, fields = {}) {\n const isParentNodeArray = Array.isArray(data);\n if (isObject(data) || isParentNodeArray) {\n for (const key in data) {\n if (Array.isArray(data[key]) ||\n (isObject(data[key]) && !objectHasFunction(data[key]))) {\n fields[key] = Array.isArray(data[key]) ? [] : {};\n markFieldsDirty(data[key], fields[key]);\n }\n else if (!isNullOrUndefined(data[key])) {\n fields[key] = true;\n }\n }\n }\n return fields;\n}\nfunction getDirtyFieldsFromDefaultValues(data, formValues, dirtyFieldsFromValues) {\n const isParentNodeArray = Array.isArray(data);\n if (isObject(data) || isParentNodeArray) {\n for (const key in data) {\n if (Array.isArray(data[key]) ||\n (isObject(data[key]) && !objectHasFunction(data[key]))) {\n if (isUndefined(formValues) ||\n isPrimitive(dirtyFieldsFromValues[key])) {\n dirtyFieldsFromValues[key] = Array.isArray(data[key])\n ? markFieldsDirty(data[key], [])\n : { ...markFieldsDirty(data[key]) };\n }\n else {\n getDirtyFieldsFromDefaultValues(data[key], isNullOrUndefined(formValues) ? {} : formValues[key], dirtyFieldsFromValues[key]);\n }\n }\n else {\n dirtyFieldsFromValues[key] = !deepEqual(data[key], formValues[key]);\n }\n }\n }\n return dirtyFieldsFromValues;\n}\nvar getDirtyFields = (defaultValues, formValues) => getDirtyFieldsFromDefaultValues(defaultValues, formValues, markFieldsDirty(formValues));\n\nvar getFieldValueAs = (value, { valueAsNumber, valueAsDate, setValueAs }) => isUndefined(value)\n ? value\n : valueAsNumber\n ? value === ''\n ? NaN\n : value\n ? +value\n : value\n : valueAsDate && isString(value)\n ? new Date(value)\n : setValueAs\n ? setValueAs(value)\n : value;\n\nfunction getFieldValue(_f) {\n const ref = _f.ref;\n if (_f.refs ? _f.refs.every((ref) => ref.disabled) : ref.disabled) {\n return;\n }\n if (isFileInput(ref)) {\n return ref.files;\n }\n if (isRadioInput(ref)) {\n return getRadioValue(_f.refs).value;\n }\n if (isMultipleSelect(ref)) {\n return [...ref.selectedOptions].map(({ value }) => value);\n }\n if (isCheckBoxInput(ref)) {\n return getCheckboxValue(_f.refs).value;\n }\n return getFieldValueAs(isUndefined(ref.value) ? _f.ref.value : ref.value, _f);\n}\n\nvar getResolverOptions = (fieldsNames, _fields, criteriaMode, shouldUseNativeValidation) => {\n const fields = {};\n for (const name of fieldsNames) {\n const field = get(_fields, name);\n field && set(fields, name, field._f);\n }\n return {\n criteriaMode,\n names: [...fieldsNames],\n fields,\n shouldUseNativeValidation,\n };\n};\n\nvar getRuleValue = (rule) => isUndefined(rule)\n ? rule\n : isRegex(rule)\n ? rule.source\n : isObject(rule)\n ? isRegex(rule.value)\n ? rule.value.source\n : rule.value\n : rule;\n\nvar hasValidation = (options) => options.mount &&\n (options.required ||\n options.min ||\n options.max ||\n options.maxLength ||\n options.minLength ||\n options.pattern ||\n options.validate);\n\nfunction schemaErrorLookup(errors, _fields, name) {\n const error = get(errors, name);\n if (error || isKey(name)) {\n return {\n error,\n name,\n };\n }\n const names = name.split('.');\n while (names.length) {\n const fieldName = names.join('.');\n const field = get(_fields, fieldName);\n const foundError = get(errors, fieldName);\n if (field && !Array.isArray(field) && name !== fieldName) {\n return { name };\n }\n if (foundError && foundError.type) {\n return {\n name: fieldName,\n error: foundError,\n };\n }\n names.pop();\n }\n return {\n name,\n };\n}\n\nvar skipValidation = (isBlurEvent, isTouched, isSubmitted, reValidateMode, mode) => {\n if (mode.isOnAll) {\n return false;\n }\n else if (!isSubmitted && mode.isOnTouch) {\n return !(isTouched || isBlurEvent);\n }\n else if (isSubmitted ? reValidateMode.isOnBlur : mode.isOnBlur) {\n return !isBlurEvent;\n }\n else if (isSubmitted ? reValidateMode.isOnChange : mode.isOnChange) {\n return isBlurEvent;\n }\n return true;\n};\n\nvar unsetEmptyArray = (ref, name) => !compact(get(ref, name)).length && unset(ref, name);\n\nconst defaultOptions = {\n mode: VALIDATION_MODE.onSubmit,\n reValidateMode: VALIDATION_MODE.onChange,\n shouldFocusError: true,\n};\nfunction createFormControl(props = {}, flushRootRender) {\n let _options = {\n ...defaultOptions,\n ...props,\n };\n let _formState = {\n submitCount: 0,\n isDirty: false,\n isLoading: isFunction(_options.defaultValues),\n isValidating: false,\n isSubmitted: false,\n isSubmitting: false,\n isSubmitSuccessful: false,\n isValid: false,\n touchedFields: {},\n dirtyFields: {},\n errors: {},\n };\n let _fields = {};\n let _defaultValues = isObject(_options.defaultValues) || isObject(_options.values)\n ? cloneObject(_options.defaultValues || _options.values) || {}\n : {};\n let _formValues = _options.shouldUnregister\n ? {}\n : cloneObject(_defaultValues);\n let _state = {\n action: false,\n mount: false,\n watch: false,\n };\n let _names = {\n mount: new Set(),\n unMount: new Set(),\n array: new Set(),\n watch: new Set(),\n };\n let delayErrorCallback;\n let timer = 0;\n const _proxyFormState = {\n isDirty: false,\n dirtyFields: false,\n touchedFields: false,\n isValidating: false,\n isValid: false,\n errors: false,\n };\n const _subjects = {\n values: createSubject(),\n array: createSubject(),\n state: createSubject(),\n };\n const shouldCaptureDirtyFields = props.resetOptions && props.resetOptions.keepDirtyValues;\n const validationModeBeforeSubmit = getValidationModes(_options.mode);\n const validationModeAfterSubmit = getValidationModes(_options.reValidateMode);\n const shouldDisplayAllAssociatedErrors = _options.criteriaMode === VALIDATION_MODE.all;\n const debounce = (callback) => (wait) => {\n clearTimeout(timer);\n timer = setTimeout(callback, wait);\n };\n const _updateValid = async (shouldUpdateValid) => {\n if (_proxyFormState.isValid || shouldUpdateValid) {\n const isValid = _options.resolver\n ? isEmptyObject((await _executeSchema()).errors)\n : await executeBuiltInValidation(_fields, true);\n if (isValid !== _formState.isValid) {\n _subjects.state.next({\n isValid,\n });\n }\n }\n };\n const _updateIsValidating = (value) => _proxyFormState.isValidating &&\n _subjects.state.next({\n isValidating: value,\n });\n const _updateFieldArray = (name, values = [], method, args, shouldSetValues = true, shouldUpdateFieldsAndState = true) => {\n if (args && method) {\n _state.action = true;\n if (shouldUpdateFieldsAndState && Array.isArray(get(_fields, name))) {\n const fieldValues = method(get(_fields, name), args.argA, args.argB);\n shouldSetValues && set(_fields, name, fieldValues);\n }\n if (shouldUpdateFieldsAndState &&\n Array.isArray(get(_formState.errors, name))) {\n const errors = method(get(_formState.errors, name), args.argA, args.argB);\n shouldSetValues && set(_formState.errors, name, errors);\n unsetEmptyArray(_formState.errors, name);\n }\n if (_proxyFormState.touchedFields &&\n shouldUpdateFieldsAndState &&\n Array.isArray(get(_formState.touchedFields, name))) {\n const touchedFields = method(get(_formState.touchedFields, name), args.argA, args.argB);\n shouldSetValues && set(_formState.touchedFields, name, touchedFields);\n }\n if (_proxyFormState.dirtyFields) {\n _formState.dirtyFields = getDirtyFields(_defaultValues, _formValues);\n }\n _subjects.state.next({\n name,\n isDirty: _getDirty(name, values),\n dirtyFields: _formState.dirtyFields,\n errors: _formState.errors,\n isValid: _formState.isValid,\n });\n }\n else {\n set(_formValues, name, values);\n }\n };\n const updateErrors = (name, error) => {\n set(_formState.errors, name, error);\n _subjects.state.next({\n errors: _formState.errors,\n });\n };\n const updateValidAndValue = (name, shouldSkipSetValueAs, value, ref) => {\n const field = get(_fields, name);\n if (field) {\n const defaultValue = get(_formValues, name, isUndefined(value) ? get(_defaultValues, name) : value);\n isUndefined(defaultValue) ||\n (ref && ref.defaultChecked) ||\n shouldSkipSetValueAs\n ? set(_formValues, name, shouldSkipSetValueAs ? defaultValue : getFieldValue(field._f))\n : setFieldValue(name, defaultValue);\n _state.mount && _updateValid();\n }\n };\n const updateTouchAndDirty = (name, fieldValue, isBlurEvent, shouldDirty, shouldRender) => {\n let shouldUpdateField = false;\n let isPreviousDirty = false;\n const output = {\n name,\n };\n if (!isBlurEvent || shouldDirty) {\n if (_proxyFormState.isDirty) {\n isPreviousDirty = _formState.isDirty;\n _formState.isDirty = output.isDirty = _getDirty();\n shouldUpdateField = isPreviousDirty !== output.isDirty;\n }\n const isCurrentFieldPristine = deepEqual(get(_defaultValues, name), fieldValue);\n isPreviousDirty = get(_formState.dirtyFields, name);\n isCurrentFieldPristine\n ? unset(_formState.dirtyFields, name)\n : set(_formState.dirtyFields, name, true);\n output.dirtyFields = _formState.dirtyFields;\n shouldUpdateField =\n shouldUpdateField ||\n (_proxyFormState.dirtyFields &&\n isPreviousDirty !== !isCurrentFieldPristine);\n }\n if (isBlurEvent) {\n const isPreviousFieldTouched = get(_formState.touchedFields, name);\n if (!isPreviousFieldTouched) {\n set(_formState.touchedFields, name, isBlurEvent);\n output.touchedFields = _formState.touchedFields;\n shouldUpdateField =\n shouldUpdateField ||\n (_proxyFormState.touchedFields &&\n isPreviousFieldTouched !== isBlurEvent);\n }\n }\n shouldUpdateField && shouldRender && _subjects.state.next(output);\n return shouldUpdateField ? output : {};\n };\n const shouldRenderByError = (name, isValid, error, fieldState) => {\n const previousFieldError = get(_formState.errors, name);\n const shouldUpdateValid = _proxyFormState.isValid &&\n isBoolean(isValid) &&\n _formState.isValid !== isValid;\n if (props.delayError && error) {\n delayErrorCallback = debounce(() => updateErrors(name, error));\n delayErrorCallback(props.delayError);\n }\n else {\n clearTimeout(timer);\n delayErrorCallback = null;\n error\n ? set(_formState.errors, name, error)\n : unset(_formState.errors, name);\n }\n if ((error ? !deepEqual(previousFieldError, error) : previousFieldError) ||\n !isEmptyObject(fieldState) ||\n shouldUpdateValid) {\n const updatedFormState = {\n ...fieldState,\n ...(shouldUpdateValid && isBoolean(isValid) ? { isValid } : {}),\n errors: _formState.errors,\n name,\n };\n _formState = {\n ..._formState,\n ...updatedFormState,\n };\n _subjects.state.next(updatedFormState);\n }\n _updateIsValidating(false);\n };\n const _executeSchema = async (name) => _options.resolver(_formValues, _options.context, getResolverOptions(name || _names.mount, _fields, _options.criteriaMode, _options.shouldUseNativeValidation));\n const executeSchemaAndUpdateState = async (names) => {\n const { errors } = await _executeSchema();\n if (names) {\n for (const name of names) {\n const error = get(errors, name);\n error\n ? set(_formState.errors, name, error)\n : unset(_formState.errors, name);\n }\n }\n else {\n _formState.errors = errors;\n }\n return errors;\n };\n const executeBuiltInValidation = async (fields, shouldOnlyCheckValid, context = {\n valid: true,\n }) => {\n for (const name in fields) {\n const field = fields[name];\n if (field) {\n const { _f, ...fieldValue } = field;\n if (_f) {\n const isFieldArrayRoot = _names.array.has(_f.name);\n const fieldError = await validateField(field, _formValues, shouldDisplayAllAssociatedErrors, _options.shouldUseNativeValidation && !shouldOnlyCheckValid, isFieldArrayRoot);\n if (fieldError[_f.name]) {\n context.valid = false;\n if (shouldOnlyCheckValid) {\n break;\n }\n }\n !shouldOnlyCheckValid &&\n (get(fieldError, _f.name)\n ? isFieldArrayRoot\n ? updateFieldArrayRootError(_formState.errors, fieldError, _f.name)\n : set(_formState.errors, _f.name, fieldError[_f.name])\n : unset(_formState.errors, _f.name));\n }\n fieldValue &&\n (await executeBuiltInValidation(fieldValue, shouldOnlyCheckValid, context));\n }\n }\n return context.valid;\n };\n const _removeUnmounted = () => {\n for (const name of _names.unMount) {\n const field = get(_fields, name);\n field &&\n (field._f.refs\n ? field._f.refs.every((ref) => !live(ref))\n : !live(field._f.ref)) &&\n unregister(name);\n }\n _names.unMount = new Set();\n };\n const _getDirty = (name, data) => (name && data && set(_formValues, name, data),\n !deepEqual(getValues(), _defaultValues));\n const _getWatch = (names, defaultValue, isGlobal) => generateWatchOutput(names, _names, {\n ...(_state.mount\n ? _formValues\n : isUndefined(defaultValue)\n ? _defaultValues\n : isString(names)\n ? { [names]: defaultValue }\n : defaultValue),\n }, isGlobal, defaultValue);\n const _getFieldArray = (name) => compact(get(_state.mount ? _formValues : _defaultValues, name, props.shouldUnregister ? get(_defaultValues, name, []) : []));\n const setFieldValue = (name, value, options = {}) => {\n const field = get(_fields, name);\n let fieldValue = value;\n if (field) {\n const fieldReference = field._f;\n if (fieldReference) {\n !fieldReference.disabled &&\n set(_formValues, name, getFieldValueAs(value, fieldReference));\n fieldValue =\n isHTMLElement(fieldReference.ref) && isNullOrUndefined(value)\n ? ''\n : value;\n if (isMultipleSelect(fieldReference.ref)) {\n [...fieldReference.ref.options].forEach((optionRef) => (optionRef.selected = fieldValue.includes(optionRef.value)));\n }\n else if (fieldReference.refs) {\n if (isCheckBoxInput(fieldReference.ref)) {\n fieldReference.refs.length > 1\n ? fieldReference.refs.forEach((checkboxRef) => (!checkboxRef.defaultChecked || !checkboxRef.disabled) &&\n (checkboxRef.checked = Array.isArray(fieldValue)\n ? !!fieldValue.find((data) => data === checkboxRef.value)\n : fieldValue === checkboxRef.value))\n : fieldReference.refs[0] &&\n (fieldReference.refs[0].checked = !!fieldValue);\n }\n else {\n fieldReference.refs.forEach((radioRef) => (radioRef.checked = radioRef.value === fieldValue));\n }\n }\n else if (isFileInput(fieldReference.ref)) {\n fieldReference.ref.value = '';\n }\n else {\n fieldReference.ref.value = fieldValue;\n if (!fieldReference.ref.type) {\n _subjects.values.next({\n name,\n values: { ..._formValues },\n });\n }\n }\n }\n }\n (options.shouldDirty || options.shouldTouch) &&\n updateTouchAndDirty(name, fieldValue, options.shouldTouch, options.shouldDirty, true);\n options.shouldValidate && trigger(name);\n };\n const setValues = (name, value, options) => {\n for (const fieldKey in value) {\n const fieldValue = value[fieldKey];\n const fieldName = `${name}.${fieldKey}`;\n const field = get(_fields, fieldName);\n (_names.array.has(name) ||\n !isPrimitive(fieldValue) ||\n (field && !field._f)) &&\n !isDateObject(fieldValue)\n ? setValues(fieldName, fieldValue, options)\n : setFieldValue(fieldName, fieldValue, options);\n }\n };\n const setValue = (name, value, options = {}) => {\n const field = get(_fields, name);\n const isFieldArray = _names.array.has(name);\n const cloneValue = cloneObject(value);\n set(_formValues, name, cloneValue);\n if (isFieldArray) {\n _subjects.array.next({\n name,\n values: { ..._formValues },\n });\n if ((_proxyFormState.isDirty || _proxyFormState.dirtyFields) &&\n options.shouldDirty) {\n _subjects.state.next({\n name,\n dirtyFields: getDirtyFields(_defaultValues, _formValues),\n isDirty: _getDirty(name, cloneValue),\n });\n }\n }\n else {\n field && !field._f && !isNullOrUndefined(cloneValue)\n ? setValues(name, cloneValue, options)\n : setFieldValue(name, cloneValue, options);\n }\n isWatched(name, _names) && _subjects.state.next({ ..._formState });\n _subjects.values.next({\n name,\n values: { ..._formValues },\n });\n !_state.mount && flushRootRender();\n };\n const onChange = async (event) => {\n const target = event.target;\n let name = target.name;\n let isFieldValueUpdated = true;\n const field = get(_fields, name);\n const getCurrentFieldValue = () => target.type ? getFieldValue(field._f) : getEventValue(event);\n if (field) {\n let error;\n let isValid;\n const fieldValue = getCurrentFieldValue();\n const isBlurEvent = event.type === EVENTS.BLUR || event.type === EVENTS.FOCUS_OUT;\n const shouldSkipValidation = (!hasValidation(field._f) &&\n !_options.resolver &&\n !get(_formState.errors, name) &&\n !field._f.deps) ||\n skipValidation(isBlurEvent, get(_formState.touchedFields, name), _formState.isSubmitted, validationModeAfterSubmit, validationModeBeforeSubmit);\n const watched = isWatched(name, _names, isBlurEvent);\n set(_formValues, name, fieldValue);\n if (isBlurEvent) {\n field._f.onBlur && field._f.onBlur(event);\n delayErrorCallback && delayErrorCallback(0);\n }\n else if (field._f.onChange) {\n field._f.onChange(event);\n }\n const fieldState = updateTouchAndDirty(name, fieldValue, isBlurEvent, false);\n const shouldRender = !isEmptyObject(fieldState) || watched;\n !isBlurEvent &&\n _subjects.values.next({\n name,\n type: event.type,\n values: { ..._formValues },\n });\n if (shouldSkipValidation) {\n _proxyFormState.isValid && _updateValid();\n return (shouldRender &&\n _subjects.state.next({ name, ...(watched ? {} : fieldState) }));\n }\n !isBlurEvent && watched && _subjects.state.next({ ..._formState });\n _updateIsValidating(true);\n if (_options.resolver) {\n const { errors } = await _executeSchema([name]);\n const previousErrorLookupResult = schemaErrorLookup(_formState.errors, _fields, name);\n const errorLookupResult = schemaErrorLookup(errors, _fields, previousErrorLookupResult.name || name);\n error = errorLookupResult.error;\n name = errorLookupResult.name;\n isValid = isEmptyObject(errors);\n }\n else {\n error = (await validateField(field, _formValues, shouldDisplayAllAssociatedErrors, _options.shouldUseNativeValidation))[name];\n isFieldValueUpdated =\n isNaN(fieldValue) ||\n fieldValue === get(_formValues, name, fieldValue);\n if (isFieldValueUpdated) {\n if (error) {\n isValid = false;\n }\n else if (_proxyFormState.isValid) {\n isValid = await executeBuiltInValidation(_fields, true);\n }\n }\n }\n if (isFieldValueUpdated) {\n field._f.deps &&\n trigger(field._f.deps);\n shouldRenderByError(name, isValid, error, fieldState);\n }\n }\n };\n const trigger = async (name, options = {}) => {\n let isValid;\n let validationResult;\n const fieldNames = convertToArrayPayload(name);\n _updateIsValidating(true);\n if (_options.resolver) {\n const errors = await executeSchemaAndUpdateState(isUndefined(name) ? name : fieldNames);\n isValid = isEmptyObject(errors);\n validationResult = name\n ? !fieldNames.some((name) => get(errors, name))\n : isValid;\n }\n else if (name) {\n validationResult = (await Promise.all(fieldNames.map(async (fieldName) => {\n const field = get(_fields, fieldName);\n return await executeBuiltInValidation(field && field._f ? { [fieldName]: field } : field);\n }))).every(Boolean);\n !(!validationResult && !_formState.isValid) && _updateValid();\n }\n else {\n validationResult = isValid = await executeBuiltInValidation(_fields);\n }\n _subjects.state.next({\n ...(!isString(name) ||\n (_proxyFormState.isValid && isValid !== _formState.isValid)\n ? {}\n : { name }),\n ...(_options.resolver || !name ? { isValid } : {}),\n errors: _formState.errors,\n isValidating: false,\n });\n options.shouldFocus &&\n !validationResult &&\n focusFieldBy(_fields, (key) => key && get(_formState.errors, key), name ? fieldNames : _names.mount);\n return validationResult;\n };\n const getValues = (fieldNames) => {\n const values = {\n ..._defaultValues,\n ...(_state.mount ? _formValues : {}),\n };\n return isUndefined(fieldNames)\n ? values\n : isString(fieldNames)\n ? get(values, fieldNames)\n : fieldNames.map((name) => get(values, name));\n };\n const getFieldState = (name, formState) => ({\n invalid: !!get((formState || _formState).errors, name),\n isDirty: !!get((formState || _formState).dirtyFields, name),\n isTouched: !!get((formState || _formState).touchedFields, name),\n error: get((formState || _formState).errors, name),\n });\n const clearErrors = (name) => {\n name &&\n convertToArrayPayload(name).forEach((inputName) => unset(_formState.errors, inputName));\n _subjects.state.next({\n errors: name ? _formState.errors : {},\n });\n };\n const setError = (name, error, options) => {\n const ref = (get(_fields, name, { _f: {} })._f || {}).ref;\n set(_formState.errors, name, {\n ...error,\n ref,\n });\n _subjects.state.next({\n name,\n errors: _formState.errors,\n isValid: false,\n });\n options && options.shouldFocus && ref && ref.focus && ref.focus();\n };\n const watch = (name, defaultValue) => isFunction(name)\n ? _subjects.values.subscribe({\n next: (payload) => name(_getWatch(undefined, defaultValue), payload),\n })\n : _getWatch(name, defaultValue, true);\n const unregister = (name, options = {}) => {\n for (const fieldName of name ? convertToArrayPayload(name) : _names.mount) {\n _names.mount.delete(fieldName);\n _names.array.delete(fieldName);\n if (!options.keepValue) {\n unset(_fields, fieldName);\n unset(_formValues, fieldName);\n }\n !options.keepError && unset(_formState.errors, fieldName);\n !options.keepDirty && unset(_formState.dirtyFields, fieldName);\n !options.keepTouched && unset(_formState.touchedFields, fieldName);\n !_options.shouldUnregister &&\n !options.keepDefaultValue &&\n unset(_defaultValues, fieldName);\n }\n _subjects.values.next({\n values: { ..._formValues },\n });\n _subjects.state.next({\n ..._formState,\n ...(!options.keepDirty ? {} : { isDirty: _getDirty() }),\n });\n !options.keepIsValid && _updateValid();\n };\n const register = (name, options = {}) => {\n let field = get(_fields, name);\n const disabledIsDefined = isBoolean(options.disabled);\n set(_fields, name, {\n ...(field || {}),\n _f: {\n ...(field && field._f ? field._f : { ref: { name } }),\n name,\n mount: true,\n ...options,\n },\n });\n _names.mount.add(name);\n field\n ? disabledIsDefined &&\n set(_formValues, name, options.disabled\n ? undefined\n : get(_formValues, name, getFieldValue(field._f)))\n : updateValidAndValue(name, true, options.value);\n return {\n ...(disabledIsDefined ? { disabled: options.disabled } : {}),\n ...(_options.shouldUseNativeValidation\n ? {\n required: !!options.required,\n min: getRuleValue(options.min),\n max: getRuleValue(options.max),\n minLength: getRuleValue(options.minLength),\n maxLength: getRuleValue(options.maxLength),\n pattern: getRuleValue(options.pattern),\n }\n : {}),\n name,\n onChange,\n onBlur: onChange,\n ref: (ref) => {\n if (ref) {\n register(name, options);\n field = get(_fields, name);\n const fieldRef = isUndefined(ref.value)\n ? ref.querySelectorAll\n ? ref.querySelectorAll('input,select,textarea')[0] || ref\n : ref\n : ref;\n const radioOrCheckbox = isRadioOrCheckbox(fieldRef);\n const refs = field._f.refs || [];\n if (radioOrCheckbox\n ? refs.find((option) => option === fieldRef)\n : fieldRef === field._f.ref) {\n return;\n }\n set(_fields, name, {\n _f: {\n ...field._f,\n ...(radioOrCheckbox\n ? {\n refs: [\n ...refs.filter(live),\n fieldRef,\n ...(Array.isArray(get(_defaultValues, name)) ? [{}] : []),\n ],\n ref: { type: fieldRef.type, name },\n }\n : { ref: fieldRef }),\n },\n });\n updateValidAndValue(name, false, undefined, fieldRef);\n }\n else {\n field = get(_fields, name, {});\n if (field._f) {\n field._f.mount = false;\n }\n (_options.shouldUnregister || options.shouldUnregister) &&\n !(isNameInFieldArray(_names.array, name) && _state.action) &&\n _names.unMount.add(name);\n }\n },\n };\n };\n const _focusError = () => _options.shouldFocusError &&\n focusFieldBy(_fields, (key) => key && get(_formState.errors, key), _names.mount);\n const handleSubmit = (onValid, onInvalid) => async (e) => {\n if (e) {\n e.preventDefault && e.preventDefault();\n e.persist && e.persist();\n }\n let fieldValues = cloneObject(_formValues);\n _subjects.state.next({\n isSubmitting: true,\n });\n if (_options.resolver) {\n const { errors, values } = await _executeSchema();\n _formState.errors = errors;\n fieldValues = values;\n }\n else {\n await executeBuiltInValidation(_fields);\n }\n unset(_formState.errors, 'root');\n if (isEmptyObject(_formState.errors)) {\n _subjects.state.next({\n errors: {},\n });\n await onValid(fieldValues, e);\n }\n else {\n if (onInvalid) {\n await onInvalid({ ..._formState.errors }, e);\n }\n _focusError();\n setTimeout(_focusError);\n }\n _subjects.state.next({\n isSubmitted: true,\n isSubmitting: false,\n isSubmitSuccessful: isEmptyObject(_formState.errors),\n submitCount: _formState.submitCount + 1,\n errors: _formState.errors,\n });\n };\n const resetField = (name, options = {}) => {\n if (get(_fields, name)) {\n if (isUndefined(options.defaultValue)) {\n setValue(name, get(_defaultValues, name));\n }\n else {\n setValue(name, options.defaultValue);\n set(_defaultValues, name, options.defaultValue);\n }\n if (!options.keepTouched) {\n unset(_formState.touchedFields, name);\n }\n if (!options.keepDirty) {\n unset(_formState.dirtyFields, name);\n _formState.isDirty = options.defaultValue\n ? _getDirty(name, get(_defaultValues, name))\n : _getDirty();\n }\n if (!options.keepError) {\n unset(_formState.errors, name);\n _proxyFormState.isValid && _updateValid();\n }\n _subjects.state.next({ ..._formState });\n }\n };\n const _reset = (formValues, keepStateOptions = {}) => {\n const updatedValues = formValues || _defaultValues;\n const cloneUpdatedValues = cloneObject(updatedValues);\n const values = formValues && !isEmptyObject(formValues)\n ? cloneUpdatedValues\n : _defaultValues;\n if (!keepStateOptions.keepDefaultValues) {\n _defaultValues = updatedValues;\n }\n if (!keepStateOptions.keepValues) {\n if (keepStateOptions.keepDirtyValues || shouldCaptureDirtyFields) {\n for (const fieldName of _names.mount) {\n get(_formState.dirtyFields, fieldName)\n ? set(values, fieldName, get(_formValues, fieldName))\n : setValue(fieldName, get(values, fieldName));\n }\n }\n else {\n if (isWeb && isUndefined(formValues)) {\n for (const name of _names.mount) {\n const field = get(_fields, name);\n if (field && field._f) {\n const fieldReference = Array.isArray(field._f.refs)\n ? field._f.refs[0]\n : field._f.ref;\n if (isHTMLElement(fieldReference)) {\n const form = fieldReference.closest('form');\n if (form) {\n form.reset();\n break;\n }\n }\n }\n }\n }\n _fields = {};\n }\n _formValues = props.shouldUnregister\n ? keepStateOptions.keepDefaultValues\n ? cloneObject(_defaultValues)\n : {}\n : cloneUpdatedValues;\n _subjects.array.next({\n values: { ...values },\n });\n _subjects.values.next({\n values: { ...values },\n });\n }\n _names = {\n mount: new Set(),\n unMount: new Set(),\n array: new Set(),\n watch: new Set(),\n watchAll: false,\n focus: '',\n };\n !_state.mount && flushRootRender();\n _state.mount = !_proxyFormState.isValid || !!keepStateOptions.keepIsValid;\n _state.watch = !!props.shouldUnregister;\n _subjects.state.next({\n submitCount: keepStateOptions.keepSubmitCount\n ? _formState.submitCount\n : 0,\n isDirty: keepStateOptions.keepDirty\n ? _formState.isDirty\n : !!(keepStateOptions.keepDefaultValues &&\n !deepEqual(formValues, _defaultValues)),\n isSubmitted: keepStateOptions.keepIsSubmitted\n ? _formState.isSubmitted\n : false,\n dirtyFields: keepStateOptions.keepDirtyValues\n ? _formState.dirtyFields\n : keepStateOptions.keepDefaultValues && formValues\n ? getDirtyFields(_defaultValues, formValues)\n : {},\n touchedFields: keepStateOptions.keepTouched\n ? _formState.touchedFields\n : {},\n errors: keepStateOptions.keepErrors ? _formState.errors : {},\n isSubmitting: false,\n isSubmitSuccessful: false,\n });\n };\n const reset = (formValues, keepStateOptions) => _reset(isFunction(formValues)\n ? formValues(_formValues)\n : formValues, keepStateOptions);\n const setFocus = (name, options = {}) => {\n const field = get(_fields, name);\n const fieldReference = field && field._f;\n if (fieldReference) {\n const fieldRef = fieldReference.refs\n ? fieldReference.refs[0]\n : fieldReference.ref;\n if (fieldRef.focus) {\n fieldRef.focus();\n options.shouldSelect && fieldRef.select();\n }\n }\n };\n const _updateFormState = (updatedFormState) => {\n _formState = {\n ..._formState,\n ...updatedFormState,\n };\n };\n const _resetDefaultValues = () => isFunction(_options.defaultValues) &&\n _options.defaultValues().then((values) => {\n reset(values, _options.resetOptions);\n _subjects.state.next({\n isLoading: false,\n });\n });\n return {\n control: {\n register,\n unregister,\n getFieldState,\n _executeSchema,\n _getWatch,\n _getDirty,\n _updateValid,\n _removeUnmounted,\n _updateFieldArray,\n _getFieldArray,\n _reset,\n _resetDefaultValues,\n _updateFormState,\n _subjects,\n _proxyFormState,\n get _fields() {\n return _fields;\n },\n get _formValues() {\n return _formValues;\n },\n get _state() {\n return _state;\n },\n set _state(value) {\n _state = value;\n },\n get _defaultValues() {\n return _defaultValues;\n },\n get _names() {\n return _names;\n },\n set _names(value) {\n _names = value;\n },\n get _formState() {\n return _formState;\n },\n set _formState(value) {\n _formState = value;\n },\n get _options() {\n return _options;\n },\n set _options(value) {\n _options = {\n ..._options,\n ...value,\n };\n },\n },\n trigger,\n register,\n handleSubmit,\n watch,\n setValue,\n getValues,\n reset,\n resetField,\n clearErrors,\n unregister,\n setError,\n setFocus,\n getFieldState,\n };\n}\n\n/**\n * Custom hook to manage the entire form.\n *\n * @remarks\n * [API](https://react-hook-form.com/api/useform) • [Demo](https://codesandbox.io/s/react-hook-form-get-started-ts-5ksmm) • [Video](https://www.youtube.com/watch?v=RkXv4AXXC_4)\n *\n * @param props - form configuration and validation parameters.\n *\n * @returns methods - individual functions to manage the form state. {@link UseFormReturn}\n *\n * @example\n * ```tsx\n * function App() {\n * const { register, handleSubmit, watch, formState: { errors } } = useForm();\n * const onSubmit = data => console.log(data);\n *\n * console.log(watch(\"example\"));\n *\n * return (\n * <form onSubmit={handleSubmit(onSubmit)}>\n * <input defaultValue=\"test\" {...register(\"example\")} />\n * <input {...register(\"exampleRequired\", { required: true })} />\n * {errors.exampleRequired && <span>This field is required</span>}\n * <input type=\"submit\" />\n * </form>\n * );\n * }\n * ```\n */\nfunction useForm(props = {}) {\n const _formControl = React.useRef();\n const [formState, updateFormState] = React.useState({\n isDirty: false,\n isValidating: false,\n isLoading: isFunction(props.defaultValues),\n isSubmitted: false,\n isSubmitting: false,\n isSubmitSuccessful: false,\n isValid: false,\n submitCount: 0,\n dirtyFields: {},\n touchedFields: {},\n errors: {},\n defaultValues: isFunction(props.defaultValues)\n ? undefined\n : props.defaultValues,\n });\n if (!_formControl.current) {\n _formControl.current = {\n ...createFormControl(props, () => updateFormState((formState) => ({ ...formState }))),\n formState,\n };\n }\n const control = _formControl.current.control;\n control._options = props;\n useSubscribe({\n subject: control._subjects.state,\n next: (value) => {\n if (shouldRenderFormState(value, control._proxyFormState, control._updateFormState, true)) {\n updateFormState({ ...control._formState });\n }\n },\n });\n React.useEffect(() => {\n if (props.values && !deepEqual(props.values, control._defaultValues)) {\n control._reset(props.values, control._options.resetOptions);\n }\n else {\n control._resetDefaultValues();\n }\n }, [props.values, control]);\n React.useEffect(() => {\n if (!control._state.mount) {\n control._updateValid();\n control._state.mount = true;\n }\n if (control._state.watch) {\n control._state.watch = false;\n control._subjects.state.next({ ...control._formState });\n }\n control._removeUnmounted();\n });\n _formControl.current.formState = getProxyFormState(formState, control);\n return _formControl.current;\n}\n\nexport { Controller, FormProvider, appendErrors, get, set, useController, useFieldArray, useForm, useFormContext, useFormState, useWatch };\n//# sourceMappingURL=index.esm.mjs.map\n","import { useCallback, useMemo, useState, useRef, useEffect } from 'react';\nimport lodashDebounce from 'lodash/debounce';\n\nimport { SortPayload, FilterPayload } from '../../types';\nimport removeEmpty from '../../util/removeEmpty';\nimport {\n queryReducer,\n HIDE_FILTER,\n SET_FILTER,\n SET_PAGE,\n SET_PER_PAGE,\n SET_SORT,\n SHOW_FILTER,\n SORT_ASC,\n} from '../list';\n\n/**\n * Get the reference inputs parameters (page, sort, filters) and modifiers.\n *\n * @returns {Array} A tuple [parameters, modifiers].\n * Destructure as [\n * { page, perPage, sort, order, filter, filterValues, displayedFilters, requestSignature },\n * { setFilters, hideFilter, showFilter, setPage, setPerPage, setSort }\n * ]\n *\n * @example\n *\n * const [referenceParams, referenceParamsActions] = useReferenceParams({\n * resource: 'posts',\n * filterDefaultValues: {\n * published: true\n * },\n * sort: {\n * field: 'published_at',\n * order: 'DESC'\n * },\n * perPage: 25\n * });\n *\n * const {\n * page,\n * perPage,\n * sort,\n * order,\n * filter,\n * filterValues,\n * displayedFilters,\n * requestSignature\n * } = referenceParams;\n *\n * const {\n * setFilters,\n * hideFilter,\n * showFilter,\n * setPage,\n * setPerPage,\n * setSort,\n * } = referenceParamsActions;\n */\nexport const useReferenceParams = ({\n resource,\n filter,\n sort = defaultSort,\n page = 1,\n perPage = 10,\n debounce = 500,\n}: ReferenceParamsOptions): [Parameters, Modifiers] => {\n const [params, setParams] = useState(defaultParams);\n const tempParams = useRef<ReferenceParams>();\n\n const requestSignature = [\n resource,\n JSON.stringify(params),\n JSON.stringify(filter),\n JSON.stringify(sort),\n page,\n perPage,\n ];\n\n const query = useMemo(\n () =>\n getQuery({\n params: params,\n filterDefaultValues: filter,\n sort,\n page,\n perPage,\n }),\n requestSignature // eslint-disable-line react-hooks/exhaustive-deps\n );\n\n const changeParams = useCallback(action => {\n if (!tempParams.current) {\n // no other changeParams action dispatched this tick\n const newTempParams = queryReducer(query, action);\n tempParams.current = newTempParams;\n // schedule side effects for next tick\n setTimeout(() => {\n setParams(newTempParams);\n tempParams.current = undefined;\n }, 0);\n } else {\n // side effects already scheduled, just change the params\n tempParams.current = queryReducer(tempParams.current, action);\n }\n }, requestSignature); // eslint-disable-line react-hooks/exhaustive-deps\n\n const setSort = useCallback(\n (sort: SortPayload) =>\n changeParams({\n type: SET_SORT,\n payload: sort,\n }),\n requestSignature // eslint-disable-line react-hooks/exhaustive-deps\n );\n\n const setPage = useCallback(\n (newPage: number) => changeParams({ type: SET_PAGE, payload: newPage }),\n requestSignature // eslint-disable-line react-hooks/exhaustive-deps\n );\n\n const setPerPage = useCallback(\n (newPerPage: number) =>\n changeParams({ type: SET_PER_PAGE, payload: newPerPage }),\n requestSignature // eslint-disable-line react-hooks/exhaustive-deps\n );\n\n const filterValues = query.filter || emptyObject;\n const displayedFilterValues = query.displayedFilters || emptyObject;\n\n const debouncedSetFilters = useRef(\n lodashDebounce((filter, displayedFilters = undefined) => {\n changeParams({\n type: SET_FILTER,\n payload: {\n filter: removeEmpty(filter),\n displayedFilters,\n },\n });\n }, debounce)\n );\n useEffect(() => {\n return () => {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n debouncedSetFilters.current.cancel();\n };\n }, []);\n\n const setFilters = useCallback(\n (filter, displayedFilters = undefined, debounce = false) => {\n debounce\n ? debouncedSetFilters.current(filter, displayedFilters)\n : changeParams({\n type: SET_FILTER,\n payload: {\n filter: removeEmpty(filter),\n displayedFilters,\n },\n });\n },\n requestSignature // eslint-disable-line react-hooks/exhaustive-deps\n );\n\n const hideFilter = useCallback((filterName: string) => {\n changeParams({\n type: HIDE_FILTER,\n payload: filterName,\n });\n }, requestSignature); // eslint-disable-line react-hooks/exhaustive-deps\n\n const showFilter = useCallback((filterName: string, defaultValue: any) => {\n changeParams({\n type: SHOW_FILTER,\n payload: {\n filterName,\n defaultValue,\n },\n });\n }, requestSignature); // eslint-disable-line react-hooks/exhaustive-deps\n return [\n {\n filterValues,\n requestSignature,\n ...query,\n displayedFilters: displayedFilterValues,\n },\n {\n changeParams,\n setPage,\n setPerPage,\n setSort,\n setFilters,\n hideFilter,\n showFilter,\n },\n ];\n};\n\nexport const validQueryParams = [\n 'page',\n 'perPage',\n 'sort',\n 'order',\n 'filter',\n 'displayedFilters',\n];\n\n/**\n * Merge list params from 2 different sources:\n * - the params stored in the local state\n * - the props passed to the List component (including the filter defaultValues)\n */\nexport const getQuery = ({\n params,\n filterDefaultValues,\n sort,\n page,\n perPage,\n}) => {\n const query: Partial<ReferenceParams> = hasCustomParams(params)\n ? { ...params }\n : { filter: filterDefaultValues || {} };\n\n if (!query.sort) {\n query.sort = sort.field;\n query.order = sort.order;\n }\n if (query.page == null) {\n query.page = page;\n }\n if (query.perPage == null) {\n query.perPage = perPage;\n }\n if (query.page == null) {\n query.page = 1;\n }\n\n return {\n ...query,\n page: getNumberOrDefault(query.page, 1),\n perPage: getNumberOrDefault(query.perPage, 10),\n } as ReferenceParams;\n};\n\n/**\n * Check if user has already set custom sort, page, or filters for this list\n *\n * User params come from the Redux store as the params props. By default,\n * this object is:\n *\n * { filter: {}, order: null, page: 1, perPage: null, sort: null }\n *\n * To check if the user has custom params, we must compare the params\n * to these initial values.\n *\n * @param {Object} params\n */\nexport const hasCustomParams = (params: ReferenceParams) => {\n return (\n params &&\n params.filter &&\n (Object.keys(params.filter).length > 0 ||\n params.order != null ||\n params.page !== 1 ||\n params.perPage != null ||\n params.sort != null)\n );\n};\n\nexport const getNumberOrDefault = (\n possibleNumber: string | number | undefined,\n defaultValue: number\n) => {\n if (typeof possibleNumber === 'undefined') {\n return defaultValue;\n }\n const parsedNumber =\n typeof possibleNumber === 'string'\n ? parseInt(possibleNumber, 10)\n : possibleNumber;\n\n return isNaN(parsedNumber) ? defaultValue : parsedNumber;\n};\n\nexport interface ReferenceParamsOptions {\n resource: string;\n page?: number;\n perPage?: number;\n sort?: SortPayload;\n // default value for a filter when displayed but not yet set\n filter?: FilterPayload;\n debounce?: number;\n}\n\nexport interface ReferenceParams {\n sort: string;\n order: 'ASC' | 'DESC';\n page: number;\n perPage: number;\n filter: any;\n displayedFilters: any;\n}\n\ninterface Parameters extends ReferenceParams {\n filterValues: object;\n displayedFilters: {\n [key: string]: boolean;\n };\n requestSignature: any[];\n}\n\ninterface Modifiers {\n changeParams: (action: any) => void;\n setPage: (page: number) => void;\n setPerPage: (pageSize: number) => void;\n setSort: (sort: SortPayload) => void;\n setFilters: (\n filters: any,\n displayedFilters?: any,\n debounce?: boolean\n ) => void;\n hideFilter: (filterName: string) => void;\n showFilter: (filterName: string, defaultValue: any) => void;\n}\n\nconst emptyObject = {};\n\nconst defaultSort = {\n field: 'id',\n order: SORT_ASC,\n} as const;\n\nconst defaultParams = {};\n","import { useCallback, useEffect, useMemo, useState } from 'react';\nimport { useWatch } from 'react-hook-form';\nimport { useGetList } from '../../dataProvider';\nimport { FilterPayload, RaRecord, SortPayload } from '../../types';\nimport { useReference } from '../useReference';\nimport { ChoicesContextValue } from '../../form';\nimport { useReferenceParams } from './useReferenceParams';\nimport { UseQueryOptions } from '@tanstack/react-query';\n\n/**\n * A hook for choosing a reference record. Useful for foreign keys.\n *\n * This hook fetches the possible values in the reference resource\n * (using `dataProvider.getList()`), it returns the possible choices\n * as the `choices` attribute.\n *\n * @example\n * const {\n * choices, // the available reference resource\n * } = useReferenceInputController({\n * input, // the input props\n * resource: 'comments',\n * reference: 'posts',\n * source: 'post_id',\n * });\n *\n * The hook also allow to filter results. It returns a `setFilters`\n * function. It uses the value to create a filter for the query.\n * You can also add a permanentFilter to further filter the result:\n *\n * @example\n * const {\n * choices, // the available reference resource\n * setFilter,\n * } = useReferenceInputController({\n * input, // the input props\n * resource: 'comments',\n * reference: 'posts',\n * source: 'post_id',\n * permanentFilter: {\n * author: 'john'\n * },\n * });\n */\nexport const useReferenceInputController = <RecordType extends RaRecord = any>(\n props: UseReferenceInputControllerParams\n): ChoicesContextValue<RecordType> => {\n const {\n debounce,\n enableGetChoices,\n filter,\n page: initialPage = 1,\n perPage: initialPerPage = 25,\n sort: initialSort,\n queryOptions = {},\n reference,\n source,\n } = props;\n const { meta, ...otherQueryOptions } = queryOptions;\n\n const [params, paramsModifiers] = useReferenceParams({\n resource: reference,\n page: initialPage,\n perPage: initialPerPage,\n sort: initialSort,\n debounce,\n filter,\n });\n\n // selection logic\n const currentValue = useWatch({ name: source });\n\n const isGetMatchingEnabled = enableGetChoices\n ? enableGetChoices(params.filterValues)\n : true;\n\n // fetch possible values\n const {\n data: possibleValuesData = [],\n total,\n pageInfo,\n isFetching: isFetchingPossibleValues,\n isLoading: isLoadingPossibleValues,\n isPending: isPendingPossibleValues,\n error: errorPossibleValues,\n refetch: refetchGetList,\n } = useGetList<RecordType>(\n reference,\n {\n pagination: {\n page: params.page,\n perPage: params.perPage,\n },\n sort: { field: params.sort, order: params.order },\n filter: { ...params.filter, ...filter },\n meta,\n },\n {\n enabled: isGetMatchingEnabled,\n placeholderData: previousData => previousData,\n ...otherQueryOptions,\n }\n );\n\n // fetch current value\n const {\n referenceRecord: currentReferenceRecord,\n refetch: refetchReference,\n error: errorReference,\n isLoading: isLoadingReference,\n isFetching: isFetchingReference,\n isPending: isPendingReference,\n } = useReference<RecordType>({\n id: currentValue,\n reference,\n // @ts-ignore the types of the queryOptions for the getMAny and getList are not compatible\n options: {\n enabled: currentValue != null && currentValue !== '',\n meta,\n ...otherQueryOptions,\n },\n });\n\n const isPending =\n // The reference query isn't enabled when there is no value yet but as it has no data, react-query will flag it as pending\n (currentValue != null && currentValue !== '' && isPendingReference) ||\n isPendingPossibleValues;\n\n // We need to delay the update of the referenceRecord and the finalData\n // to the next React state update, because otherwise it can raise a warning\n // with AutocompleteInput saying the current value is not in the list of choices\n const [referenceRecord, setReferenceRecord] = useState<\n RecordType | undefined\n >(undefined);\n useEffect(() => {\n setReferenceRecord(currentReferenceRecord);\n }, [currentReferenceRecord]);\n\n // add current value to possible sources\n let finalData: RecordType[], finalTotal: number | undefined;\n if (\n !referenceRecord ||\n possibleValuesData.find(record => record.id === referenceRecord.id)\n ) {\n finalData = possibleValuesData;\n finalTotal = total;\n } else {\n finalData = [referenceRecord, ...possibleValuesData];\n finalTotal = total == null ? undefined : total + 1;\n }\n\n const refetch = useCallback(() => {\n refetchGetList();\n refetchReference();\n }, [refetchGetList, refetchReference]);\n\n const currentSort = useMemo(\n () => ({\n field: params.sort,\n order: params.order,\n }),\n [params.sort, params.order]\n );\n return {\n sort: currentSort,\n allChoices: finalData,\n availableChoices: possibleValuesData,\n selectedChoices: referenceRecord ? [referenceRecord] : [],\n displayedFilters: params.displayedFilters,\n error: errorReference || errorPossibleValues,\n filter: params.filter,\n filterValues: params.filterValues,\n hideFilter: paramsModifiers.hideFilter,\n isFetching: isFetchingReference || isFetchingPossibleValues,\n isLoading: isLoadingReference || isLoadingPossibleValues,\n isPending: isPending,\n page: params.page,\n perPage: params.perPage,\n refetch,\n resource: reference,\n setFilters: paramsModifiers.setFilters,\n setPage: paramsModifiers.setPage,\n setPerPage: paramsModifiers.setPerPage,\n setSort: paramsModifiers.setSort,\n showFilter: paramsModifiers.showFilter,\n source,\n total: finalTotal,\n hasNextPage: pageInfo\n ? pageInfo.hasNextPage\n : total != null\n ? params.page * params.perPage < total\n : undefined,\n hasPreviousPage: pageInfo ? pageInfo.hasPreviousPage : params.page > 1,\n isFromReference: true,\n } as ChoicesContextValue<RecordType>;\n};\n\nexport interface UseReferenceInputControllerParams<\n RecordType extends RaRecord = any\n> {\n debounce?: number;\n filter?: FilterPayload;\n queryOptions?: Omit<\n UseQueryOptions<{\n data: RecordType[];\n total?: number;\n pageInfo?: {\n hasNextPage?: boolean;\n hasPreviousPage?: boolean;\n };\n }>,\n 'queryFn' | 'queryKey'\n > & { meta?: any };\n page?: number;\n perPage?: number;\n record?: RaRecord;\n reference: string;\n resource?: string;\n sort?: SortPayload;\n source: string;\n enableGetChoices?: (filters: any) => boolean;\n}\n","import { createContext } from 'react';\n\nexport const FormGroupsContext = createContext<\n FormGroupsContextValue | undefined\n>(undefined);\n\nexport type FormGroupSubscriber = () => void;\n\nexport type FormGroupsContextValue = {\n registerGroup: (name: string) => void;\n unregisterGroup: (name: string) => void;\n registerField: (source: string, group?: string) => void;\n unregisterField: (source: string, group?: string) => void;\n getGroupFields: (name: string) => string[];\n /**\n * Subscribe to any changes of the group content (fields added or removed).\n * Subscribers can get the current fields of the group by calling getGroupFields.\n * Returns a function to unsubscribe.\n */\n subscribe: (name: string, subscriber: FormGroupSubscriber) => () => void;\n};\n","import * as React from 'react';\nimport {\n ValidationErrorMessage,\n ValidationErrorMessageWithArgs,\n} from './validate';\nimport { useTranslate } from '../i18n';\n\nexport interface ValidationErrorProps {\n error: ValidationErrorMessage;\n}\n\nconst ValidationErrorSpecialFormatPrefix = '@@react-admin@@';\nconst ValidationError = (props: ValidationErrorProps) => {\n const { error } = props;\n let errorMessage = error;\n const translate = useTranslate();\n // react-hook-form expects errors to be plain strings but our validators can return objects\n // that have message and args.\n // To avoid double translation for users that validate with a schema instead of our validators\n // we use a special format for our validators errors.\n // The useInput hook handle the special formatting\n if (\n typeof error === 'string' &&\n error.startsWith(ValidationErrorSpecialFormatPrefix)\n ) {\n errorMessage = JSON.parse(\n error.substring(ValidationErrorSpecialFormatPrefix.length)\n );\n }\n if ((errorMessage as ValidationErrorMessageWithArgs).message) {\n const {\n message,\n args,\n } = errorMessage as ValidationErrorMessageWithArgs;\n return <>{translate(message, { _: message, ...args })}</>;\n }\n\n return <>{translate(errorMessage as string, { _: errorMessage })}</>;\n};\n\nexport default ValidationError;\n","import { FieldValues } from 'react-hook-form';\n\n/**\n * Convert a simple validation function that returns an object matching the form shape with errors\n * to a validation resolver compatible with react-hook-form.\n *\n * @example\n * const validate = (values: any) => {\n * if (values.username == null || values.username.trim() === '') {\n * return { username: 'Required' };\n * }\n * }\n *\n * const validationResolver = getSimpleValidationResolver(validate);\n *\n * const UserForm = () => (\n * <Form\n * defaultValues={{ username: 'John' }}\n * validationResolver={validationResolver}\n * >\n * <TextField source=\"username\" />\n * </Form>\n * );\n */\nexport const getSimpleValidationResolver = (validate: ValidateForm) => async (\n data: FieldValues\n) => {\n const errors = await validate(data);\n\n // If there are no errors, early return the form values\n if (!errors || isEmptyObject(errors)) {\n return { values: data, errors: {} };\n }\n\n // Else, we return an error object shaped like errors but having for each leaf\n // `type: 'manual'` and a `message` prop like react-hook-form expects it\n const transformedErrors = transformErrorFields(errors);\n\n // Sometimes we still need to transform the error object to realize there are actually\n // no errors in it.\n // e.g. with an ArrayInput we can get something like: `{backlinks: [{}, {}]}`\n // If, after transformation, there are no errors, we return the form values\n if (!transformedErrors || isEmptyObject(transformedErrors)) {\n return { values: data, errors: {} };\n }\n\n // Else return the errors and no values\n return {\n values: {},\n errors: transformedErrors,\n };\n};\n\nconst transformErrorFields = (error: object) => {\n return Object.keys(error).reduce((acc, field) => {\n // Handle arrays\n if (Array.isArray(error[field])) {\n let arrayHasErrors = false;\n const transformedArrayErrors = error[field].map(item => {\n if (!isEmptyObject(item)) {\n arrayHasErrors = true;\n }\n return transformErrorFields(item);\n });\n if (!arrayHasErrors) {\n return acc;\n }\n return {\n ...acc,\n [field]: transformedArrayErrors,\n };\n }\n\n // Handle objects\n if (isEmptyObject(error[field])) {\n return acc;\n }\n if (\n typeof error[field] === 'object' &&\n !isRaTranslationObj(error[field])\n ) {\n return {\n ...acc,\n [field]: transformErrorFields(error[field]),\n };\n }\n\n // Handle leaf (either primary type or RaTranslationObj)\n return {\n ...acc,\n [field]: addTypeAndMessage(error[field]),\n };\n }, {} as FieldValues);\n};\n\nconst addTypeAndMessage = (error: object) => ({\n type: 'manual',\n message: isRaTranslationObj(error) ? error : { message: error },\n});\n\nconst isRaTranslationObj = (obj: object) =>\n Object.keys(obj).includes('message') && Object.keys(obj).includes('args');\n\nconst isEmptyObject = (obj: object) =>\n Object.getOwnPropertyNames(obj).length === 0;\n\nexport type ValidateForm = (\n data: FieldValues\n) => FieldValues | Promise<FieldValues>;\n","import { createContext } from 'react';\nimport { UseGetListHookValue } from '../../dataProvider/useGetList';\nimport { FilterPayload, RaRecord, SortPayload } from '../../types';\n\n/**\n * Context to store choices and functions to retrieve them.\n *\n * Use the useChoicesContext() hook to read the context.\n */\nexport const ChoicesContext = createContext<ChoicesContextValue | undefined>(\n undefined\n);\n\nexport type ChoicesContextBaseValue<RecordType extends RaRecord = any> = {\n displayedFilters: any;\n filter?: FilterPayload;\n filterValues: any;\n hasNextPage?: boolean;\n hasPreviousPage?: boolean;\n hideFilter: (filterName: string) => void;\n isFetching: boolean;\n isLoading: boolean;\n page: number;\n perPage: number;\n refetch: (() => void) | UseGetListHookValue<RecordType>['refetch'];\n resource: string;\n setFilters: (\n filters: any,\n displayedFilters?: any,\n debounce?: boolean\n ) => void;\n setPage: (page: number) => void;\n setPerPage: (page: number) => void;\n setSort: (sort: SortPayload) => void;\n showFilter: (filterName: string, defaultValue: any) => void;\n sort: SortPayload;\n source: string;\n isFromReference: boolean;\n};\n\nexport interface ChoicesContextLoadingResult<RecordType extends RaRecord = any>\n extends ChoicesContextBaseValue<RecordType> {\n allChoices: undefined;\n availableChoices: undefined;\n selectedChoices: undefined;\n total: undefined;\n error: null;\n isPending: true;\n}\nexport interface ChoicesContextErrorResult<\n RecordType extends RaRecord = any,\n TError = Error\n> extends ChoicesContextBaseValue<RecordType> {\n allChoices: undefined;\n availableChoices: undefined;\n selectedChoices: undefined;\n total: undefined;\n error: TError;\n isPending: false;\n}\nexport interface ChoicesContextRefetchErrorResult<\n RecordType extends RaRecord = any,\n TError = Error\n> extends ChoicesContextBaseValue<RecordType> {\n allChoices: RecordType[];\n availableChoices: RecordType[];\n selectedChoices: RecordType[];\n total: number;\n error: TError;\n isPending: false;\n}\nexport interface ChoicesContextSuccessResult<RecordType extends RaRecord = any>\n extends ChoicesContextBaseValue<RecordType> {\n allChoices: RecordType[];\n availableChoices: RecordType[];\n selectedChoices: RecordType[];\n total: number;\n error: null;\n isPending: false;\n}\n\nexport type ChoicesContextValue<RecordType extends RaRecord = any> =\n | ChoicesContextLoadingResult<RecordType>\n | ChoicesContextErrorResult<RecordType>\n | ChoicesContextRefetchErrorResult<RecordType>\n | ChoicesContextSuccessResult<RecordType>;\n","import * as React from 'react';\nimport { ReactNode } from 'react';\nimport { ChoicesContext, ChoicesContextValue } from './ChoicesContext';\n\nexport const ChoicesContextProvider = ({\n children,\n value,\n}: {\n children: ReactNode;\n value: ChoicesContextValue;\n}) => (\n <ChoicesContext.Provider value={value}>{children}</ChoicesContext.Provider>\n);\n","import { useContext, useMemo } from 'react';\nimport { RaRecord } from '../../types';\nimport { useList } from '../../controller';\nimport { ChoicesContext, ChoicesContextValue } from './ChoicesContext';\n\nexport const useChoicesContext = <ChoicesType extends RaRecord = RaRecord>(\n options: Partial<ChoicesContextValue> & { choices?: ChoicesType[] } = {}\n): ChoicesContextValue<ChoicesType> => {\n const context = useContext(ChoicesContext) as ChoicesContextValue<\n ChoicesType\n >;\n // @ts-ignore cannot satisfy the type of useList because of ability to pass partial options\n const { data, ...list } = useList<ChoicesType>({\n data: options.choices,\n isLoading: options.isLoading ?? false,\n isPending: options.isPending ?? false,\n isFetching: options.isFetching ?? false,\n error: options.error,\n // When not in a ChoicesContext, paginating does not make sense (e.g. AutocompleteInput).\n perPage: Infinity,\n });\n const result = useMemo(() => {\n // Props take precedence over context.\n if (options.choices || !context) {\n return {\n allChoices: data,\n availableChoices: options.availableChoices ?? data,\n selectedChoices: options.selectedChoices ?? data,\n displayedFilters:\n options.selectedChoices ?? list.displayedFilters,\n error: options.error,\n filter: options.filter ?? list.filter,\n filterValues: options.filterValues ?? list.filterValues,\n hasNextPage: options.hasNextPage ?? list.hasNextPage,\n hasPreviousPage:\n options.hasPreviousPage ?? list.hasPreviousPage,\n hideFilter: options.hideFilter ?? list.hideFilter,\n isLoading: list.isLoading ?? false, // we must take the one for useList, otherwise the loading state isn't synchronized with the data\n isPending: list.isPending ?? false, // same\n isFetching: list.isFetching ?? false, // same\n page: options.page ?? list.page,\n perPage: options.perPage ?? list.perPage,\n refetch: options.refetch ?? list.refetch,\n resource: options.resource ?? list.resource,\n setFilters: options.setFilters ?? list.setFilters,\n setPage: options.setPage ?? list.setPage,\n setPerPage: options.setPerPage ?? list.setPerPage,\n setSort: options.setSort ?? list.setSort,\n showFilter: options.showFilter ?? list.showFilter,\n sort: options.sort ?? list.sort,\n source: options.source,\n total: options.total ?? list.total,\n isFromReference: false,\n };\n }\n return context;\n }, [context, data, list, options]);\n\n return result as ChoicesContextValue<ChoicesType>;\n};\n","import * as React from 'react';\nimport { ReactNode, useMemo, useRef } from 'react';\nimport {\n FormGroupsContext,\n FormGroupsContextValue,\n FormGroupSubscriber,\n} from './FormGroupsContext';\n\n/**\n * This component provides functions through context to manage form groups,\n * allowing to link or unlink an input to a group.\n * @see FormGroupContextProvider\n * @see useFormGroup\n * @see useFormGroups\n */\nexport const FormGroupsProvider = ({ children }: { children: ReactNode }) => {\n const formGroups = useRef<{ [key: string]: string[] }>({});\n const subscribers = useRef<{\n [key: string]: FormGroupSubscriber[];\n }>({});\n\n const formContextValue = useMemo<FormGroupsContextValue>(\n () => ({\n /**\n * Register a subscriber function for the specified group. The subscriber\n * will be called whenever the group content changes (fields added or removed).\n */\n subscribe: (group, subscriber) => {\n if (!subscribers.current[group]) {\n subscribers.current[group] = [];\n }\n subscribers.current[group].push(subscriber);\n\n return () => {\n subscribers.current[group] = subscribers.current[\n group\n ].filter(s => s !== subscriber);\n };\n },\n getGroupFields: name => formGroups.current[name] || [],\n registerGroup: name => {\n formGroups.current[name] = formGroups.current[name] || [];\n },\n unregisterGroup: name => {\n delete formGroups[name];\n },\n registerField: (source, group) => {\n if (group != null) {\n if (!(formGroups.current[group] || []).includes(source)) {\n formGroups.current[group] = [\n ...(formGroups.current[group] || []),\n source,\n ];\n // Notify subscribers that the group fields have changed\n if (subscribers.current[group]) {\n subscribers.current[group].forEach(subscriber =>\n subscriber()\n );\n }\n }\n }\n },\n unregisterField: (source, group) => {\n if (group != null) {\n if (!formGroups.current[group]) {\n console.warn(`Invalid form group ${group}`);\n } else {\n const fields = new Set(formGroups.current[group]);\n fields.delete(source);\n formGroups.current[group] = Array.from(fields);\n\n // Notify subscribers that the group fields have changed\n if (subscribers.current[group]) {\n subscribers.current[group].forEach(subscriber =>\n subscriber()\n );\n }\n }\n }\n },\n }),\n []\n );\n\n return (\n <FormGroupsContext.Provider value={formContextValue}>\n {children}\n </FormGroupsContext.Provider>\n );\n};\n","import { useEffect, useState } from 'react';\nimport { Control, useFormState } from 'react-hook-form';\nimport { useBlocker } from 'react-router-dom';\nimport { useTranslate } from '../i18n';\n\n/**\n * Display a confirmation dialog if the form has unsaved changes.\n * - If the user confirms, the navigation continues and the changes are lost.\n * - If the user cancels, the navigation is cancelled and the changes are kept.\n */\nexport const useWarnWhenUnsavedChanges = (\n enable: boolean,\n formRootPathname?: string,\n control?: Control\n) => {\n const translate = useTranslate();\n const { isSubmitSuccessful, dirtyFields } = useFormState(\n control ? { control } : undefined\n );\n const isDirty = Object.keys(dirtyFields).length > 0;\n const [shouldNotify, setShouldNotify] = useState(false);\n\n const shouldNotBlock = !enable || !isDirty || isSubmitSuccessful;\n\n const blocker = useBlocker(({ currentLocation, nextLocation }) => {\n if (shouldNotBlock) return false;\n\n // Also check if the new location is inside the form\n const initialLocation = formRootPathname || currentLocation.pathname;\n const newLocationIsInsideCurrentLocation = nextLocation.pathname.startsWith(\n initialLocation\n );\n const newLocationIsShowView = nextLocation.pathname.startsWith(\n `${initialLocation}/show`\n );\n const newLocationIsInsideForm =\n newLocationIsInsideCurrentLocation && !newLocationIsShowView;\n if (newLocationIsInsideForm) return false;\n\n return true;\n });\n\n useEffect(() => {\n if (blocker.state === 'blocked') {\n // Corner case: the blocker might be triggered by a redirect in the onSuccess side effect,\n // happening during the same tick the form is reset after a successful save.\n // In that case, the blocker will block but shouldNotBlock will be true one tick after.\n // If we are in that case, we can proceed immediately.\n if (shouldNotBlock) {\n blocker.proceed();\n return;\n }\n\n setShouldNotify(true);\n }\n // This effect should only run when the blocker state changes, not when shouldNotBlock changes.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [blocker.state]);\n\n useEffect(() => {\n if (shouldNotify) {\n const shouldProceed = window.confirm(\n translate('ra.message.unsaved_changes')\n );\n if (shouldProceed) {\n blocker.proceed && blocker.proceed();\n } else {\n blocker.reset && blocker.reset();\n }\n }\n setShouldNotify(false);\n // Can't use blocker in the dependency array because it is not stable across rerenders\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [shouldNotify, translate]);\n\n // This effect handles document navigation, e.g. closing the tab\n useEffect(() => {\n const beforeunload = (e: BeforeUnloadEvent) => {\n // Invoking event.preventDefault() will trigger a warning dialog when the user closes or navigates the tab\n // https://developer.mozilla.org/en-US/docs/Web/API/Window/beforeunload_event#examples\n e.preventDefault();\n // Included for legacy support, e.g. Chrome/Edge < 119\n e.returnValue = true;\n };\n\n if (shouldNotBlock) {\n return;\n }\n\n window.addEventListener('beforeunload', beforeunload);\n\n return () => {\n window.removeEventListener('beforeunload', beforeunload);\n };\n }, [shouldNotBlock]);\n};\n","import { useWarnWhenUnsavedChanges } from './useWarnWhenUnsavedChanges';\n\nexport const WarnWhenUnsavedChanges = ({\n enable = true,\n formRootPathName,\n formControl,\n}) => {\n useWarnWhenUnsavedChanges(enable, formRootPathName, formControl);\n return null;\n};\n","import merge from 'lodash/merge';\nimport { RaRecord } from '../types';\n\nexport default function getFormInitialValues(\n defaultValues: DefaultValue,\n record?: Partial<RaRecord>\n) {\n const finalInitialValues = merge(\n {},\n getValues(defaultValues, record),\n record\n );\n return finalInitialValues;\n}\n\nfunction getValues(values, record) {\n if (typeof values === 'object') {\n return values;\n }\n\n if (typeof values === 'function') {\n return values(record);\n }\n\n return {};\n}\n\ninterface DefaultValueObject {\n [key: string]: any;\n}\ntype DefaultValueFunction = (record: RaRecord) => DefaultValueObject;\ntype DefaultValue = DefaultValueObject | DefaultValueFunction;\n","import { FieldValues, UseFormSetError } from 'react-hook-form';\n\n/**\n * This internal function is used to convert an object matching the form shape with errors to a\n * format compatible with react-hook-form. It's used to handle submission errors. Only useful when\n * you are implementing a custom form without leveraging our Form component.\n *\n * @example\n * const MyForm = () => {\n * const { register, handleSubmit, setError } = useForm();\n * const onSubmit = data => {\n * return saveAsync(data).catch(error => setSubmissionErrors(error.body.details));\n * };\n *\n * return (\n * <form onSubmit={handleSubmit(onSubmit)}>\n * ...\n * </form>\n * );\n * };\n */\nexport const setSubmissionErrors = (\n errors: FieldValues,\n setError: UseFormSetError<FieldValues>\n) => {\n const setErrorFromObject = (errors: FieldValues, rootPath: string) => {\n Object.entries(errors).forEach(([name, error]) => {\n if (typeof error === 'object') {\n setErrorFromObject(error, `${rootPath}${name}.`);\n return;\n }\n setError(`${rootPath}${name}`, {\n type: 'server',\n message: error.toString(),\n });\n });\n };\n setErrorFromObject(errors, '');\n};\n","import { useEffect, useRef } from 'react';\nimport { useFormState, Control } from 'react-hook-form';\nimport { useNotify } from '../notification';\n\n/**\n * This hook display an error message on submit in Form and SaveButton.\n *\n * We can't do the form validity check in the form submit handler\n * as the form state may not have been updated yet when onSubmit validation mode is enabled\n * or when the form hasn't been touched at all.\n */\nexport const useNotifyIsFormInvalid = (\n control?: Control,\n enabled: boolean = true\n) => {\n const { submitCount, errors } = useFormState(\n control ? { control } : undefined\n );\n const submitCountRef = useRef(submitCount);\n const notify = useNotify();\n\n useEffect(() => {\n // Checking the submit count allows us to only display the notification after users\n // tried to submit\n if (submitCount > submitCountRef.current && enabled) {\n submitCountRef.current = submitCount;\n\n if (Object.keys(errors).length > 0) {\n const serverError =\n typeof errors.root?.serverError?.message === 'string'\n ? errors.root.serverError.message\n : undefined;\n notify(serverError || 'ra.message.invalid_form', {\n type: 'error',\n });\n }\n }\n }, [errors, submitCount, notify, enabled]);\n};\n","/**\n * Remove empty strings from form state\n *\n * @example\n * sanitizeEmptyValues({ foo: '', bar: 'baz' }) // { bar: 'baz' }\n */\nexport const sanitizeEmptyValues = (values: any, record: any = {}): any => {\n const sanitizedValues = {};\n Object.keys(values).forEach(key => {\n if (values[key] == null || values[key] === '') {\n if (record.hasOwnProperty(key)) {\n // user has emptied a field, make the value null\n sanitizedValues[key] = null;\n } else {\n // user has emptied a field, but the initial value was undefined\n // so we don't include it in the sanitized values\n }\n } else {\n // this is a non-empty value, so we include it in the sanitized values\n sanitizedValues[key] = values[key];\n }\n });\n return sanitizedValues;\n};\n","import { BaseSyntheticEvent, useCallback, useMemo, useRef } from 'react';\nimport {\n FieldValues,\n SubmitHandler,\n useForm,\n UseFormProps,\n} from 'react-hook-form';\n\nimport { RaRecord } from '../types';\nimport { SaveHandler, useSaveContext } from '../controller';\nimport { useRecordContext } from '../controller';\nimport getFormInitialValues from './getFormInitialValues';\nimport {\n getSimpleValidationResolver,\n ValidateForm,\n} from './getSimpleValidationResolver';\nimport { setSubmissionErrors } from './setSubmissionErrors';\nimport { useNotifyIsFormInvalid } from './useNotifyIsFormInvalid';\nimport { sanitizeEmptyValues as sanitizeValues } from './sanitizeEmptyValues';\n\n/**\n * Wrapper around react-hook-form's useForm\n *\n * This hook adds the following features to react-hook-form's useForm:\n *\n * - form initialization based on RecordContext\n * - validation based on a validate function\n * - sanitization of empty values\n * - notification on invalid form\n * - stop form submission event propagation\n */\nexport const useAugmentedForm = <RecordType = any>(\n props: UseAugmentedFormProps<RecordType>\n) => {\n const {\n criteriaMode = 'firstError',\n defaultValues,\n formRootPathname,\n resolver,\n reValidateMode = 'onChange',\n onSubmit,\n sanitizeEmptyValues,\n validate,\n disableInvalidFormNotification,\n ...rest\n } = props;\n const record = useRecordContext(props);\n const saveContext = useSaveContext();\n\n const defaultValuesIncludingRecord = useMemo(\n () => getFormInitialValues(defaultValues, record),\n // eslint-disable-next-line\n [\n // eslint-disable-next-line\n JSON.stringify({\n defaultValues:\n typeof defaultValues === 'function'\n ? 'function'\n : defaultValues,\n record,\n }),\n ]\n );\n\n const finalResolver = resolver\n ? resolver\n : validate\n ? getSimpleValidationResolver(validate)\n : undefined;\n\n const form = useForm({\n criteriaMode,\n values: defaultValuesIncludingRecord,\n reValidateMode,\n resolver: finalResolver,\n ...rest,\n });\n\n const formRef = useRef(form);\n\n // notify on invalid form\n useNotifyIsFormInvalid(form.control, !disableInvalidFormNotification);\n\n // submit callbacks\n const handleSubmit = useCallback(\n async (values, event) => {\n let errors;\n const finalValues = sanitizeEmptyValues\n ? sanitizeValues(values, record)\n : values;\n if (onSubmit) {\n errors = await onSubmit(finalValues, event);\n }\n if (onSubmit == null && saveContext?.save) {\n errors = await saveContext.save(finalValues, event);\n }\n if (errors != null) {\n setSubmissionErrors(errors, formRef.current.setError);\n }\n },\n [onSubmit, saveContext, sanitizeEmptyValues, record]\n );\n\n const formHandleSubmit = useCallback(\n (event: BaseSyntheticEvent) => {\n if (!event.defaultPrevented) {\n // Prevent outer forms to receive the event\n event.stopPropagation();\n form.handleSubmit(handleSubmit)(event);\n }\n return;\n },\n [form, handleSubmit]\n );\n\n return {\n form,\n handleSubmit,\n formHandleSubmit,\n };\n};\n\nexport type UseAugmentedFormProps<RecordType = any> = UseFormOwnProps<\n RecordType\n> &\n Omit<UseFormProps, 'onSubmit'> & {\n validate?: ValidateForm;\n };\n\nexport interface UseFormOwnProps<RecordType = any> {\n defaultValues?: any;\n formRootPathname?: string;\n record?: Partial<RaRecord>;\n onSubmit?: SubmitHandler<FieldValues> | SaveHandler<RecordType>;\n sanitizeEmptyValues?: boolean;\n disableInvalidFormNotification?: boolean;\n}\n","import * as React from 'react';\nimport { ReactNode, useContext } from 'react';\nimport {\n FormProvider,\n FieldValues,\n UseFormProps,\n SubmitHandler,\n} from 'react-hook-form';\nimport {\n UNSAFE_DataRouterContext,\n UNSAFE_DataRouterStateContext,\n} from 'react-router';\n\nimport { FormGroupsProvider } from './FormGroupsProvider';\nimport { RaRecord } from '../types';\nimport {\n useRecordContext,\n OptionalRecordContextProvider,\n SaveHandler,\n} from '../controller';\nimport {\n SourceContextProvider,\n SourceContextValue,\n useResourceContext,\n} from '../core';\nimport { ValidateForm } from './getSimpleValidationResolver';\nimport { WarnWhenUnsavedChanges } from './WarnWhenUnsavedChanges';\nimport { useAugmentedForm } from './useAugmentedForm';\n\n/**\n * Creates a form element, initialized with the current record, calling the saveContext on submit\n *\n * Wrapper around react-hook-form's useForm, FormContextProvider, and <form>.\n * Also sets up a FormGroupContext, and handles submission validation.\n *\n * @example\n *\n * const MyForm = ({ record, defaultValues, validate }) => (\n * <Form record={record} defaultValues={defaultValues} validate={validate}>\n * <Stack>\n * <TextInput source=\"title\" />\n * <SaveButton />\n * </Stack>\n * </Form>\n * );\n *\n * @typedef {Object} Props the props you can use\n * @prop {Object} defaultValues\n * @prop {Function} validate\n * @prop {Function} save\n *\n * @see useForm\n * @see FormGroupContext\n *\n * @link https://react-hook-form.com/docs/useformcontext\n */\nexport function Form<RecordType = any>(props: FormProps<RecordType>) {\n const {\n children,\n id,\n className,\n noValidate = false,\n formRootPathname,\n warnWhenUnsavedChanges,\n WarnWhenUnsavedChangesComponent = WarnWhenUnsavedChanges,\n } = props;\n const record = useRecordContext(props);\n const resource = useResourceContext(props);\n const { form, formHandleSubmit } = useAugmentedForm(props);\n const sourceContext = React.useMemo<SourceContextValue>(\n () => ({\n getSource: (source: string) => source,\n getLabel: (source: string) =>\n `resources.${resource}.fields.${source}`,\n }),\n [resource]\n );\n const dataRouterContext = useContext(UNSAFE_DataRouterContext);\n const dataRouterStateContext = useContext(UNSAFE_DataRouterStateContext);\n if (\n warnWhenUnsavedChanges &&\n (!dataRouterContext || !dataRouterStateContext) &&\n process.env.NODE_ENV === 'development'\n ) {\n console.error(\n 'Cannot use the warnWhenUnsavedChanges feature outside of a DataRouter. ' +\n 'The warnWhenUnsavedChanges feature is disabled. ' +\n 'Remove the warnWhenUnsavedChanges prop or convert your custom router to a Data Router.'\n );\n }\n\n return (\n <OptionalRecordContextProvider value={record}>\n <SourceContextProvider value={sourceContext}>\n <FormProvider {...form}>\n <FormGroupsProvider>\n <form\n onSubmit={formHandleSubmit}\n noValidate={noValidate}\n id={id}\n className={className}\n >\n {children}\n </form>\n {warnWhenUnsavedChanges &&\n dataRouterContext &&\n dataRouterStateContext && (\n <WarnWhenUnsavedChangesComponent\n enable\n formRootPathName={formRootPathname}\n formControl={form.control}\n />\n )}\n </FormGroupsProvider>\n </FormProvider>\n </SourceContextProvider>\n </OptionalRecordContextProvider>\n );\n}\n\nexport type FormProps<RecordType = any> = FormOwnProps<RecordType> &\n Omit<UseFormProps, 'onSubmit'> & {\n validate?: ValidateForm;\n noValidate?: boolean;\n WarnWhenUnsavedChangesComponent?: React.ComponentType<{\n enable?: boolean;\n formRootPathName?: string;\n formControl?: any;\n }>;\n };\n\nexport interface FormOwnProps<RecordType = any> {\n children: ReactNode;\n className?: string;\n defaultValues?: any;\n formRootPathname?: string;\n id?: string;\n record?: Partial<RaRecord>;\n resource?: string;\n onSubmit?: SubmitHandler<FieldValues> | SaveHandler<RecordType>;\n warnWhenUnsavedChanges?: boolean;\n sanitizeEmptyValues?: boolean;\n disableInvalidFormNotification?: boolean;\n}\n","import lodashMemoize from 'lodash/memoize';\n\n/* eslint-disable no-underscore-dangle */\n/* @link http://stackoverflow.com/questions/46155/validate-email-address-in-javascript */\nconst EMAIL_REGEX = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/; // eslint-disable-line no-useless-escape\n\nexport const isEmpty = (value: any) =>\n typeof value === 'undefined' ||\n value === null ||\n value === '' ||\n (Array.isArray(value) && value.length === 0);\n\nexport interface ValidationErrorMessageWithArgs {\n message: string;\n args: {\n [key: string]: ValidationErrorMessageWithArgs | any;\n };\n}\n\nexport type ValidationErrorMessage = string | ValidationErrorMessageWithArgs;\n\nexport type Validator = (\n value: any,\n values: any,\n props: any\n) =>\n | ValidationErrorMessage\n | null\n | undefined\n | Promise<ValidationErrorMessage | null | undefined>;\n\n// type predicate, see https://www.typescriptlang.org/docs/handbook/2/narrowing.html#using-type-predicates\nfunction isValidationErrorMessageWithArgs(\n error: ReturnType<Validator>\n): error is ValidationErrorMessageWithArgs {\n return error ? error.hasOwnProperty('message') : false;\n}\n\ninterface MessageFuncParams {\n args: any;\n value: any;\n values: any;\n}\n\ntype MessageFunc = (params: MessageFuncParams) => ValidationErrorMessage;\n\nconst getMessage = (\n message: string | MessageFunc,\n messageArgs: any,\n value: any,\n values: any\n) =>\n typeof message === 'function'\n ? message({\n args: messageArgs,\n value,\n values,\n })\n : messageArgs\n ? {\n message,\n args: messageArgs,\n }\n : message;\n\ntype Memoize = <T extends (...args: any[]) => any>(\n func: T,\n resolver?: (...args: any[]) => any\n) => T;\n\n// If we define validation functions directly in JSX, it will\n// result in a new function at every render, and then trigger infinite re-render.\n// Hence, we memoize every built-in validator to prevent a \"Maximum call stack\" error.\nconst memoize: Memoize = (fn: any) =>\n lodashMemoize(fn, (...args) => JSON.stringify(args));\n\nconst isFunction = value => typeof value === 'function';\n\nexport const combine2Validators = (\n validator1: Validator,\n validator2: Validator\n): Validator => {\n return (value, values, meta) => {\n const result1 = validator1(value, values, meta);\n if (!result1) {\n return validator2(value, values, meta);\n }\n if (\n typeof result1 === 'string' ||\n isValidationErrorMessageWithArgs(result1)\n ) {\n return result1;\n }\n\n return result1.then(resolvedResult1 => {\n if (!resolvedResult1) {\n return validator2(value, values, meta);\n }\n return resolvedResult1;\n });\n };\n};\n\n// Compose multiple validators into a single one for use with react-hook-form\nexport const composeValidators = (...validators) => {\n const allValidators = (Array.isArray(validators[0])\n ? validators[0]\n : validators\n ).filter(isFunction) as Validator[];\n return allValidators.reduce(combine2Validators, () => null);\n};\n\n// Compose multiple validators into a single one for use with react-hook-form\nexport const composeSyncValidators = (...validators) => (\n value,\n values,\n meta\n) => {\n const allValidators = (Array.isArray(validators[0])\n ? validators[0]\n : validators\n ).filter(isFunction) as Validator[];\n\n for (const validator of allValidators) {\n const error = validator(value, values, meta);\n\n if (error) {\n return error;\n }\n }\n};\n\n/**\n * Required validator\n *\n * Returns an error if the value is null, undefined, or empty\n *\n * @param {string|Function} message\n *\n * @example\n *\n * const titleValidators = [required('The title is required')];\n * <TextInput name=\"title\" validate={titleValidators} />\n */\nexport const required = memoize((message = 'ra.validation.required') =>\n Object.assign(\n (value, values) =>\n isEmpty(value)\n ? getMessage(message, undefined, value, values)\n : undefined,\n { isRequired: true }\n )\n);\n\n/**\n * Minimum length validator\n *\n * Returns an error if the value has a length less than the parameter\n *\n * @param {integer} min\n * @param {string|Function} message\n *\n * @example\n *\n * const passwordValidators = [minLength(10, 'Should be at least 10 characters')];\n * <TextInput type=\"password\" name=\"password\" validate={passwordValidators} />\n */\nexport const minLength = memoize(\n (min, message = 'ra.validation.minLength') => (value, values) =>\n !isEmpty(value) && value.length < min\n ? getMessage(message, { min }, value, values)\n : undefined\n);\n\n/**\n * Maximum length validator\n *\n * Returns an error if the value has a length higher than the parameter\n *\n * @param {integer} max\n * @param {string|Function} message\n *\n * @example\n *\n * const nameValidators = [maxLength(10, 'Should be at most 10 characters')];\n * <TextInput name=\"name\" validate={nameValidators} />\n */\nexport const maxLength = memoize(\n (max, message = 'ra.validation.maxLength') => (value, values) =>\n !isEmpty(value) && value.length > max\n ? getMessage(message, { max }, value, values)\n : undefined\n);\n\n/**\n * Minimum validator\n *\n * Returns an error if the value is less than the parameter\n *\n * @param {integer} min\n * @param {string|Function} message\n *\n * @example\n *\n * const fooValidators = [minValue(5, 'Should be more than 5')];\n * <NumberInput name=\"foo\" validate={fooValidators} />\n */\nexport const minValue = memoize(\n (min, message = 'ra.validation.minValue') => (value, values) =>\n !isEmpty(value) && value < min\n ? getMessage(message, { min }, value, values)\n : undefined\n);\n\n/**\n * Maximum validator\n *\n * Returns an error if the value is higher than the parameter\n *\n * @param {integer} max\n * @param {string|Function} message\n *\n * @example\n *\n * const fooValidators = [maxValue(10, 'Should be less than 10')];\n * <NumberInput name=\"foo\" validate={fooValidators} />\n */\nexport const maxValue = memoize(\n (max, message = 'ra.validation.maxValue') => (value, values) =>\n !isEmpty(value) && value > max\n ? getMessage(message, { max }, value, values)\n : undefined\n);\n\n/**\n * Number validator\n *\n * Returns an error if the value is not a number\n *\n * @param {string|Function} message\n *\n * @example\n *\n * const ageValidators = [number('Must be a number')];\n * <TextInput name=\"age\" validate={ageValidators} />\n */\nexport const number = memoize(\n (message = 'ra.validation.number') => (value, values) =>\n !isEmpty(value) && isNaN(Number(value))\n ? getMessage(message, undefined, value, values)\n : undefined\n);\n\n/**\n * Regular expression validator\n *\n * Returns an error if the value does not match the pattern given as parameter\n *\n * @param {RegExp} pattern\n * @param {string|Function} message\n *\n * @example\n *\n * const zipValidators = [regex(/^\\d{5}(?:[-\\s]\\d{4})?$/, 'Must be a zip code')];\n * <TextInput name=\"zip\" validate={zipValidators} />\n */\nexport const regex = lodashMemoize(\n (pattern, message = 'ra.validation.regex') => (value, values?) =>\n !isEmpty(value) && typeof value === 'string' && !pattern.test(value)\n ? getMessage(message, { pattern }, value, values)\n : undefined,\n (pattern, message) => {\n return pattern.toString() + message;\n }\n);\n\n/**\n * Email validator\n *\n * Returns an error if the value is not a valid email\n *\n * @param {string|Function} message\n *\n * @example\n *\n * const emailValidators = [email('Must be an email')];\n * <TextInput name=\"email\" validate={emailValidators} />\n */\nexport const email = memoize((message = 'ra.validation.email') =>\n regex(EMAIL_REGEX, message)\n);\n\nconst oneOfTypeMessage: MessageFunc = ({ args }) => ({\n message: 'ra.validation.oneOf',\n args,\n});\n\n/**\n * Choices validator\n *\n * Returns an error if the value is not among the list passed as parameter\n *\n * @param {array} list\n * @param {string|Function} message\n *\n * @example\n *\n * const genderValidators = [choices(['male', 'female'], 'Must be either Male or Female')];\n * <TextInput name=\"gender\" validate={genderValidators} />\n */\nexport const choices = memoize(\n (list, message = oneOfTypeMessage) => (value, values) =>\n !isEmpty(value) && list.indexOf(value) === -1\n ? getMessage(message, { list }, value, values)\n : undefined\n);\n\n/**\n * Given a validator, returns a boolean indicating whether the field is required or not.\n */\nexport const isRequired = validate => {\n if (validate && validate.isRequired) {\n return true;\n }\n if (Array.isArray(validate)) {\n return !!validate.find(it => it.isRequired);\n }\n return false;\n};\n","import { createContext } from 'react';\n\n/**\n * Context allowing inputs to register to a specific group.\n * This enables other components in the group to access group properties such as its\n * validation (valid/invalid) or whether its inputs have been updated (dirty/pristine).\n *\n * This should only be used through a FormGroupContextProvider.\n */\nexport const FormGroupContext = createContext<FormGroupContextValue | null>(\n null\n);\n\nexport type FormGroupContextValue = string;\n","import { useContext } from 'react';\nimport { FormGroupsContext } from './FormGroupsContext';\n\n/**\n * Retrieve the form groups management context. Used by inputs to register themselves into a form group.\n */\nexport const useFormGroups = () => {\n const context = useContext(FormGroupsContext);\n return context;\n};\n","import { useEffect } from 'react';\nimport {\n FieldValues,\n UseFieldArrayReturn,\n useFormContext,\n} from 'react-hook-form';\nimport get from 'lodash/get';\nimport { useRecordContext } from '../controller';\nimport { InputProps } from './useInput';\nimport { useWrappedSource } from '../core';\n\ninterface StandardInput {\n inputProps: Partial<InputProps> & { source: string };\n isArrayInput?: undefined;\n fieldArrayInputControl?: undefined;\n}\n\ninterface ArrayInput {\n inputProps: Partial<InputProps> & { source: string };\n isArrayInput: true;\n fieldArrayInputControl: UseFieldArrayReturn<FieldValues, string, 'id'>;\n}\n\ntype Props = StandardInput | ArrayInput;\n\n/*\n * This hook updates the input with the default value if default value is present\n * and field input is not already populated or dirty\n */\nexport const useApplyInputDefaultValues = ({\n inputProps,\n isArrayInput,\n fieldArrayInputControl,\n}: Props) => {\n const { defaultValue, source } = inputProps;\n const finalSource = useWrappedSource(source);\n\n const record = useRecordContext(inputProps);\n const {\n getValues,\n resetField,\n getFieldState,\n formState,\n reset,\n } = useFormContext();\n const recordValue = get(record, finalSource);\n const formValue = get(getValues(), finalSource);\n const { isDirty } = getFieldState(finalSource, formState);\n\n useEffect(() => {\n if (\n defaultValue == null ||\n formValue != null ||\n recordValue != null ||\n isDirty\n ) {\n return;\n }\n\n // Side note: For Array Input but checked for all to avoid possible regression\n // Since we use get(record, source), if source is like foo.23.bar,\n // this effect will run. However we only want to set the default value\n // for the subfield bar if the record actually has a value for foo.23\n const pathContainsIndex = finalSource\n .split('.')\n .some(pathPart => numericRegex.test(pathPart));\n if (pathContainsIndex) {\n const parentPath = finalSource.split('.').slice(0, -1).join('.');\n const parentValue = get(getValues(), parentPath);\n if (parentValue == null) {\n // the parent is undefined, so we don't want to set the default value\n return;\n }\n }\n\n if (isArrayInput) {\n if (!fieldArrayInputControl) {\n throw new Error(\n 'useApplyInputDefaultValues: No fieldArrayInputControl passed in props for array input usage'\n );\n }\n\n // We need to update inputs nested in array using react hook forms\n // own array controller rather then the generic reset to prevent control losing\n // context of the nested inputs\n fieldArrayInputControl.replace(defaultValue);\n // resets the form so that control no longer sees the form as dirty after\n // defaults applied\n reset({}, { keepValues: true });\n\n return;\n }\n\n resetField(finalSource, { defaultValue });\n });\n};\n\nconst numericRegex = /^\\d+$/;\n","import * as React from 'react';\nimport { ReactElement, isValidElement, useCallback } from 'react';\nimport get from 'lodash/get';\n\nimport { useTranslate } from '../i18n';\nimport { RaRecord } from '../types';\nimport { RecordContextProvider } from '../controller';\n\nexport type OptionTextElement = ReactElement<{\n record: RaRecord;\n}>;\nexport type OptionTextFunc = (choice: any) => React.ReactNode;\nexport type OptionText = OptionTextElement | OptionTextFunc | string;\n\nexport interface ChoicesProps {\n choices?: any[];\n isFetching?: boolean;\n isLoading?: boolean;\n isPending?: boolean;\n optionValue?: string;\n optionText?: OptionText;\n translateChoice?: boolean;\n}\n\nexport interface UseChoicesOptions {\n optionValue?: string;\n optionText?: OptionText;\n disableValue?: string;\n translateChoice?: boolean;\n}\n\n/*\n * Returns helper functions for choices handling.\n *\n * @param optionText Either a string defining the property to use to get the choice text, a function or a React element\n * @param optionValue The property to use to get the choice value\n * @param translateChoice A boolean indicating whether to option text should be translated\n *\n * @returns An object with helper functions:\n * - getChoiceText: Returns the choice text or a React element\n * - getChoiceValue: Returns the choice value\n */\nexport const useChoices = ({\n optionText = 'name',\n optionValue = 'id',\n disableValue = 'disabled',\n translateChoice = true,\n}: UseChoicesOptions) => {\n const translate = useTranslate();\n\n const getChoiceText = useCallback(\n choice => {\n if (isValidElement<{ record: any }>(optionText)) {\n return (\n <RecordContextProvider value={choice}>\n {optionText}\n </RecordContextProvider>\n );\n }\n const choiceName =\n typeof optionText === 'function'\n ? optionText(choice)\n : get(choice, optionText);\n\n return isValidElement(choiceName)\n ? choiceName\n : translateChoice\n ? translate(String(choiceName), { _: choiceName })\n : String(choiceName);\n },\n [optionText, translate, translateChoice]\n );\n\n const getChoiceValue = useCallback(choice => get(choice, optionValue), [\n optionValue,\n ]);\n\n const getDisableValue = useCallback(choice => get(choice, disableValue), [\n disableValue,\n ]);\n\n return {\n getChoiceText,\n getChoiceValue,\n getDisableValue,\n };\n};\n","import { useContext } from 'react';\nimport { FormGroupContext } from './FormGroupContext';\n\n/**\n * Retrieve the name of the form group the consumer belongs to. May be undefined if the consumer is not inside a form group.\n */\nexport const useFormGroupContext = () => {\n const context = useContext(FormGroupContext);\n return context;\n};\n","const isRequired = validate => {\n if (validate && validate.isRequired) {\n return true;\n }\n if (Array.isArray(validate)) {\n return validate.some(it => it.isRequired);\n }\n return false;\n};\n\nexport default isRequired;\n","import { ReactElement, useEffect, useId } from 'react';\nimport {\n ControllerFieldState,\n ControllerRenderProps,\n useController,\n UseControllerProps,\n UseControllerReturn,\n UseFormStateReturn,\n} from 'react-hook-form';\nimport get from 'lodash/get';\n\nimport { useRecordContext } from '../controller';\nimport { composeValidators, Validator } from './validate';\nimport isRequired from './isRequired';\nimport { useFormGroupContext } from './useFormGroupContext';\nimport { useFormGroups } from './useFormGroups';\nimport { useApplyInputDefaultValues } from './useApplyInputDefaultValues';\nimport { useEvent } from '../util';\nimport { useWrappedSource } from '../core';\n\n// replace null or undefined values by empty string to avoid controlled/uncontrolled input warning\nconst defaultFormat = (value: any) => (value == null ? '' : value);\n// parse empty string into null as it's more suitable for a majority of backends\nconst defaultParse = (value: string) => (value === '' ? null : value);\n\nexport const useInput = <ValueType = any>(\n props: InputProps<ValueType>\n): UseInputValue => {\n const {\n defaultValue,\n format = defaultFormat,\n id,\n isRequired: isRequiredOption,\n name,\n onBlur: initialOnBlur,\n onChange: initialOnChange,\n parse = defaultParse,\n source,\n validate,\n ...options\n } = props;\n const finalSource = useWrappedSource(source);\n const finalName = name || finalSource;\n const formGroupName = useFormGroupContext();\n const formGroups = useFormGroups();\n const record = useRecordContext();\n const defaultId = useId();\n\n if (\n !source &&\n props.label == null &&\n process.env.NODE_ENV === 'development'\n ) {\n console.warn(\n 'Input components require either a source or a label prop.'\n );\n }\n\n useEffect(() => {\n if (!formGroups || formGroupName == null) {\n return;\n }\n\n formGroups.registerField(finalSource, formGroupName);\n\n return () => {\n formGroups.unregisterField(finalSource, formGroupName);\n };\n }, [formGroups, formGroupName, finalSource]);\n\n const sanitizedValidate = Array.isArray(validate)\n ? composeValidators(validate)\n : validate;\n\n // Fetch the defaultValue from the record if available or apply the provided defaultValue.\n // This ensures dynamically added inputs have their value set correctly (ArrayInput for example).\n // We don't do this for the form level defaultValues so that it works as it should in react-hook-form\n // (i.e. field level defaultValue override form level defaultValues for this field).\n const { field: controllerField, fieldState, formState } = useController({\n name: finalName,\n defaultValue: get(record, finalSource, defaultValue),\n rules: {\n validate: async (value, values) => {\n if (!sanitizedValidate) return true;\n const error = await sanitizedValidate(value, values, props);\n\n if (!error) return true;\n // react-hook-form expects errors to be plain strings but our validators can return objects\n // that have message and args.\n // To avoid double translation for users that validate with a schema instead of our validators\n // we use a special format for our validators errors.\n // The ValidationError component will check for this format and extract the message and args\n // to translate.\n return `@@react-admin@@${JSON.stringify(error)}`;\n },\n },\n ...options,\n // Workaround for https://github.com/react-hook-form/react-hook-form/issues/10907\n // FIXME - remove when fixed\n // @ts-ignore - only exists since react-hook-form 7.46.0\n disabled: options.disabled || undefined,\n });\n\n // Because our forms may receive an asynchronously loaded record for instance,\n // they may reset their default values which would override the input default value.\n // This hook ensures that the input default value is applied when a new record is loaded but has\n // no value for the input.\n useApplyInputDefaultValues({ inputProps: props });\n\n const onBlur = useEvent((...event: any[]) => {\n controllerField.onBlur();\n if (initialOnBlur) {\n initialOnBlur(...event);\n }\n });\n\n const onChange = useEvent((...event: any[]) => {\n const eventOrValue = (props.type === 'checkbox' &&\n event[0]?.target?.value === 'on'\n ? event[0].target.checked\n : event[0]?.target?.value ?? event[0]) as any;\n controllerField.onChange(parse ? parse(eventOrValue) : eventOrValue);\n if (initialOnChange) {\n initialOnChange(...event);\n }\n });\n\n const field = {\n ...controllerField,\n value: format ? format(controllerField.value) : controllerField.value,\n onBlur,\n onChange,\n };\n\n return {\n id: id || defaultId,\n field,\n fieldState,\n formState,\n isRequired: isRequiredOption || isRequired(validate),\n };\n};\n\nexport type InputProps<ValueType = any> = Omit<\n UseControllerProps,\n 'name' | 'defaultValue' | 'rules'\n> &\n Partial<UseControllerReturn> & {\n alwaysOn?: any;\n defaultValue?: any;\n format?: (value: ValueType) => any;\n id?: string;\n isRequired?: boolean;\n label?: string | ReactElement | false;\n helperText?: string | ReactElement | false;\n name?: string;\n onBlur?: (...event: any[]) => void;\n onChange?: (...event: any[]) => void;\n parse?: (value: any) => ValueType;\n type?: string;\n resource?: string;\n source: string;\n validate?: Validator | Validator[];\n };\n\nexport type UseInputValue = {\n id: string;\n isRequired: boolean;\n field: ControllerRenderProps;\n formState: UseFormStateReturn<Record<string, string>>;\n fieldState: ControllerFieldState;\n};\n","import { useCallback, isValidElement, ReactElement } from 'react';\nimport set from 'lodash/set';\nimport { useChoices, OptionText, UseChoicesOptions } from './useChoices';\nimport { useTranslate } from '../i18n';\n\n/*\n * Returns helper functions for suggestions handling.\n *\n * @param allowDuplicates A boolean indicating whether a suggestion can be added several times\n * @param choices An array of available choices\n * @param limitChoicesToValue A boolean indicating whether the initial suggestions should be limited to the currently selected one(s)\n * @param matchSuggestion Optional unless `optionText` is a React element. Function which check whether a choice matches a filter. Must return a boolean.\n * @param optionText Either a string defining the property to use to get the choice text, a function or a React element\n * @param optionValue The property to use to get the choice value\n * @param selectedItem The currently selected item. Maybe an array of selected items\n * @param suggestionLimit The maximum number of suggestions returned\n * @param translateChoice A boolean indicating whether to option text should be translated\n *\n * @returns An object with helper functions:\n * - getChoiceText: Returns the choice text or a React element\n * - getChoiceValue: Returns the choice value\n * - getSuggestions: A function taking a filter value (string) and returning the matching suggestions\n */\nexport const useSuggestions = ({\n allowCreate,\n choices,\n createText = 'ra.action.create',\n createValue = '@@create',\n limitChoicesToValue,\n matchSuggestion,\n optionText,\n optionValue,\n selectedItem,\n suggestionLimit = 0,\n translateChoice,\n}: UseSuggestionsOptions) => {\n const translate = useTranslate();\n const { getChoiceText, getChoiceValue } = useChoices({\n optionText,\n optionValue,\n translateChoice,\n });\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const getSuggestions = useCallback(\n getSuggestionsFactory({\n allowCreate,\n choices,\n createText,\n createValue,\n getChoiceText,\n getChoiceValue,\n limitChoicesToValue,\n matchSuggestion,\n optionText,\n optionValue,\n selectedItem,\n suggestionLimit,\n }),\n [\n allowCreate,\n choices,\n createText,\n createValue,\n getChoiceText,\n getChoiceValue,\n limitChoicesToValue,\n matchSuggestion,\n optionText,\n optionValue,\n selectedItem,\n suggestionLimit,\n translate,\n ]\n );\n\n return {\n getChoiceText,\n getChoiceValue,\n getSuggestions,\n };\n};\n\nconst escapeRegExp = value =>\n value ? value.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&') : ''; // $& means the whole matched string\n\nexport interface UseSuggestionsOptions extends UseChoicesOptions {\n allowCreate?: boolean;\n allowDuplicates?: boolean;\n choices?: any[];\n createText?: string;\n createValue?: any;\n limitChoicesToValue?: boolean;\n matchSuggestion?: (\n filter: string,\n suggestion: any,\n exact?: boolean\n ) => boolean;\n suggestionLimit?: number;\n selectedItem?: any | any[];\n}\n\n/**\n * Default matcher implementation which check whether the suggestion text matches the filter.\n */\nconst defaultMatchSuggestion = getChoiceText => (\n filter,\n suggestion,\n exact = false\n) => {\n const suggestionText = getChoiceText(suggestion);\n\n const isReactElement = isValidElement(suggestionText);\n const regex = escapeRegExp(filter);\n\n return isReactElement\n ? false\n : suggestionText &&\n !!suggestionText.match(\n // We must escape any RegExp reserved characters to avoid errors\n // For example, the filter might contain * which must be escaped as \\*\n new RegExp(exact ? `^${regex}$` : regex, 'i')\n );\n};\n\n/**\n * Get the suggestions to display after applying a fuzzy search on the available choices\n *\n * @example\n *\n * getSuggestions({\n * choices: [{ id: 1, name: 'admin' }, { id: 2, name: 'publisher' }],\n * optionText: 'name',\n * optionValue: 'id',\n * getSuggestionText: choice => choice[optionText],\n * })('pub')\n *\n * // Will return [{ id: 2, name: 'publisher' }]\n * getSuggestions({\n * choices: [{ id: 1, name: 'admin' }, { id: 2, name: 'publisher' }],\n * optionText: 'name',\n * optionValue: 'id',\n * getSuggestionText: choice => choice[optionText],\n * })('pub')\n *\n * // Will return [{ id: 2, name: 'publisher' }]\n */\nexport const getSuggestionsFactory = ({\n allowCreate = false,\n choices = [],\n createText = 'ra.action.create',\n createValue = '@@create',\n optionText = 'name',\n optionValue = 'id',\n getChoiceText,\n getChoiceValue,\n limitChoicesToValue = false,\n matchSuggestion = defaultMatchSuggestion(getChoiceText),\n selectedItem,\n suggestionLimit = 0,\n}: UseSuggestionsOptions & {\n getChoiceText: (choice: any) => string | ReactElement;\n getChoiceValue: (choice: any) => string;\n}) => filter => {\n let suggestions: any[] = [];\n // if an item is selected and matches the filter\n if (\n selectedItem &&\n !Array.isArray(selectedItem) &&\n matchSuggestion(filter, selectedItem)\n ) {\n if (limitChoicesToValue) {\n // display only the selected item\n suggestions = choices.filter(\n choice =>\n getChoiceValue(choice) === getChoiceValue(selectedItem)\n );\n } else {\n suggestions = [...choices];\n }\n } else {\n suggestions = choices.filter(\n choice =>\n matchSuggestion(filter, choice) ||\n (selectedItem != null &&\n (!Array.isArray(selectedItem)\n ? getChoiceValue(choice) ===\n getChoiceValue(selectedItem)\n : selectedItem.some(\n selected =>\n getChoiceValue(choice) ===\n getChoiceValue(selected)\n )))\n );\n }\n\n suggestions = limitSuggestions(suggestions, suggestionLimit);\n\n const hasExactMatch = suggestions.some(suggestion =>\n matchSuggestion(filter, suggestion, true)\n );\n\n if (allowCreate) {\n const filterIsSelectedItem =\n // If the selectedItem is an array (for example AutocompleteArrayInput)\n // we shouldn't try to match\n !!selectedItem && !Array.isArray(selectedItem)\n ? matchSuggestion(filter, selectedItem, true)\n : false;\n if (!hasExactMatch && !filterIsSelectedItem) {\n suggestions.push(\n getSuggestion({\n optionText,\n optionValue,\n text: createText,\n value: createValue,\n })\n );\n }\n }\n\n // Only keep unique items. Necessary because we might have fetched\n // the currently selected choice in addition of the possible choices\n // that may also contain it\n const result = suggestions.filter(\n (suggestion, index) => suggestions.indexOf(suggestion) === index\n );\n return result;\n};\n\n/**\n * @example\n *\n * limitSuggestions(\n * [{ id: 1, name: 'foo'}, { id: 2, name: 'bar' }],\n * 1\n * );\n *\n * // Will return [{ id: 1, name: 'foo' }]\n *\n * @param suggestions List of suggestions\n * @param limit\n */\nconst limitSuggestions = (suggestions: any[], limit: any = 0) =>\n Number.isInteger(limit) && limit > 0\n ? suggestions.slice(0, limit)\n : suggestions;\n\n/**\n * addSuggestion(\n * [{ id: 1, name: 'foo'}, { id: 2, name: 'bar' }],\n * );\n *\n * // Will return [{ id: null, name: '' }, { id: 1, name: 'foo' }, { id: 2, name: 'bar' }]\n *\n * @param suggestions List of suggestions\n * @param options\n * @param options.optionText\n */\nconst getSuggestion = ({\n optionText = 'name',\n optionValue = 'id',\n text = '',\n value = null,\n}: {\n optionText: OptionText;\n optionValue: string;\n text: string;\n value: any;\n}) => {\n const suggestion = {};\n set(suggestion, optionValue, value);\n if (typeof optionText === 'string') {\n set(suggestion, optionText, text);\n }\n\n return suggestion;\n};\n","import React, { ReactNode } from 'react';\n\nimport { ResourceContextProvider } from '../../core';\nimport { ChoicesContextProvider, InputProps } from '../../form';\nimport {\n UseReferenceInputControllerParams,\n useReferenceInputController,\n} from './useReferenceInputController';\n\n/**\n * An Input component for choosing a reference record. Useful for foreign keys.\n *\n * This component fetches the possible values in the reference resource\n * (using `dataProvider.getList()`), and renders the child you passed\n * to which it passes the possible choices via a `ChoicesContext`.\n *\n * You must pass a child selection component to customize the way the reference\n * selector is displayed (e.g. using `<SelectInput>` or `<RadioButtonGroupInput>`\n * instead of `<AutocompleteInput>` ).\n *\n * Note that the child component should handle the error and loading cases as this base component does not.\n *\n * @example // using a SelectInput as selector\n * export const CommentEdit = () => (\n * <Edit>\n * <SimpleForm>\n * <ReferenceInputBase label=\"Post\" source=\"post_id\" reference=\"posts\">\n * <SelectInput optionText=\"title\" />\n * </ReferenceInputBase>\n * </SimpleForm>\n * </Edit>\n * );\n *\n * By default, restricts the possible values to 25. You can extend this limit\n * by setting the `perPage` prop.\n *\n * @example\n * <ReferenceInputBase source=\"post_id\" reference=\"posts\" perPage={100}/>\n *\n * By default, orders the possible values by id desc. You can change this order\n * by setting the `sort` prop (an object with `field` and `order` properties).\n *\n * @example\n * <ReferenceInputBase\n * source=\"post_id\"\n * reference=\"posts\"\n * sort={{ field: 'title', order: 'ASC' }}\n * >\n * <SelectInput optionText=\"title\" />\n * </ReferenceInputBase>\n *\n * Also, you can filter the query used to populate the possible values. Use the\n * `filter` prop for that.\n *\n * @example\n * <ReferenceInputBase\n * source=\"post_id\"\n * reference=\"posts\"\n * filter={{ is_published: true }}\n * >\n * <SelectInput optionText=\"title\" />\n * </ReferenceInputBase>\n *\n * The enclosed component may filter results. ReferenceInputBase create a ChoicesContext which provides\n * a `setFilters` function. You can call this function to filter the results.\n */\nexport const ReferenceInputBase = (props: ReferenceInputBaseProps) => {\n const {\n children,\n reference,\n sort = { field: 'id', order: 'DESC' },\n filter = {},\n } = props;\n\n const controllerProps = useReferenceInputController({\n ...props,\n sort,\n filter,\n });\n\n return (\n <ResourceContextProvider value={reference}>\n <ChoicesContextProvider value={controllerProps}>\n {children}\n </ChoicesContextProvider>\n </ResourceContextProvider>\n );\n};\n\nexport interface ReferenceInputBaseProps\n extends InputProps,\n UseReferenceInputControllerParams {\n children?: ReactNode;\n}\n","import { useParams } from 'react-router-dom';\n\nimport { useAuthenticated } from '../../auth';\nimport { RaRecord } from '../../types';\nimport {\n useGetOne,\n useRefresh,\n UseGetOneHookValue,\n UseGetOneOptions,\n} from '../../dataProvider';\nimport { useTranslate } from '../../i18n';\nimport { useRedirect } from '../../routing';\nimport { useNotify } from '../../notification';\nimport {\n useResourceContext,\n useGetResourceLabel,\n useGetRecordRepresentation,\n} from '../../core';\n\n/**\n * Prepare data for the Show view.\n *\n * useShowController does a few things:\n * - it grabs the id from the URL and the resource name from the ResourceContext,\n * - it fetches the record via useGetOne,\n * - it prepares the page title.\n *\n * @param {Object} props The props passed to the Show component.\n *\n * @return {Object} controllerProps Fetched data and callbacks for the Show view\n *\n * @example\n *\n * import { useShowController } from 'react-admin';\n * import ShowView from './ShowView';\n *\n * const MyShow = () => {\n * const controllerProps = useShowController();\n * return <ShowView {...controllerProps} />;\n * };\n *\n * @example // useShowController can also take its parameters from props\n *\n * import { useShowController } from 'react-admin';\n * import ShowView from './ShowView';\n *\n * const MyShow = () => {\n * const controllerProps = useShowController({ resource: 'posts', id: 1234 });\n * return <ShowView {...controllerProps} />;\n * };\n */\nexport const useShowController = <RecordType extends RaRecord = any>(\n props: ShowControllerProps<RecordType> = {}\n): ShowControllerResult<RecordType> => {\n const { disableAuthentication, id: propsId, queryOptions = {} } = props;\n useAuthenticated({ enabled: !disableAuthentication });\n const resource = useResourceContext(props);\n if (!resource) {\n throw new Error(\n `useShowController requires a non-empty resource prop or context`\n );\n }\n const getRecordRepresentation = useGetRecordRepresentation(resource);\n const translate = useTranslate();\n const notify = useNotify();\n const redirect = useRedirect();\n const refresh = useRefresh();\n const { id: routeId } = useParams<'id'>();\n if (!routeId && !propsId) {\n throw new Error(\n 'useShowController requires an id prop or a route with an /:id? parameter.'\n );\n }\n const id = propsId != null ? propsId : decodeURIComponent(routeId!);\n const { meta, ...otherQueryOptions } = queryOptions;\n\n const {\n data: record,\n error,\n isLoading,\n isFetching,\n isPending,\n refetch,\n } = useGetOne<RecordType>(\n resource,\n { id, meta },\n {\n onError: () => {\n notify('ra.notification.item_doesnt_exist', {\n type: 'error',\n });\n redirect('list', resource);\n refresh();\n },\n retry: false,\n ...otherQueryOptions,\n }\n );\n\n // eslint-disable-next-line eqeqeq\n if (record && record.id && record.id != id) {\n throw new Error(\n `useShowController: Fetched record's id attribute (${record.id}) must match the requested 'id' (${id})`\n );\n }\n\n const getResourceLabel = useGetResourceLabel();\n const recordRepresentation = getRecordRepresentation(record);\n const defaultTitle = translate('ra.page.show', {\n name: getResourceLabel(resource, 1),\n id,\n record,\n recordRepresentation:\n typeof recordRepresentation === 'string'\n ? recordRepresentation\n : '',\n });\n\n return {\n defaultTitle,\n error,\n isLoading,\n isFetching,\n isPending,\n record,\n refetch,\n resource,\n } as ShowControllerResult<RecordType>;\n};\n\nexport interface ShowControllerProps<RecordType extends RaRecord = any> {\n disableAuthentication?: boolean;\n id?: RecordType['id'];\n queryOptions?: UseGetOneOptions<RecordType>;\n resource?: string;\n}\n\nexport interface ShowControllerBaseResult<RecordType extends RaRecord = any> {\n defaultTitle?: string;\n isFetching: boolean;\n isLoading: boolean;\n resource: string;\n record?: RecordType;\n refetch: UseGetOneHookValue<RecordType>['refetch'];\n}\n\nexport interface ShowControllerLoadingResult<RecordType extends RaRecord = any>\n extends ShowControllerBaseResult<RecordType> {\n record: undefined;\n error: null;\n isPending: true;\n}\nexport interface ShowControllerLoadingErrorResult<\n RecordType extends RaRecord = any,\n TError = Error\n> extends ShowControllerBaseResult<RecordType> {\n record: undefined;\n error: TError;\n isPending: false;\n}\nexport interface ShowControllerRefetchErrorResult<\n RecordType extends RaRecord = any,\n TError = Error\n> extends ShowControllerBaseResult<RecordType> {\n record: RecordType;\n error: TError;\n isPending: false;\n}\nexport interface ShowControllerSuccessResult<RecordType extends RaRecord = any>\n extends ShowControllerBaseResult<RecordType> {\n record: RecordType;\n error: null;\n isPending: false;\n}\n\nexport type ShowControllerResult<RecordType extends RaRecord = any> =\n | ShowControllerLoadingResult<RecordType>\n | ShowControllerLoadingErrorResult<RecordType>\n | ShowControllerRefetchErrorResult<RecordType>\n | ShowControllerSuccessResult<RecordType>;\n","import { createContext } from 'react';\nimport { ShowControllerResult } from './useShowController';\n\n/**\n * Context to store the result of the useShowController() hook.\n *\n * Use the useShowContext() hook to read the context. That's what the Show components do in react-admin.\n *\n * @example\n *\n * import { useShowController, ShowContextProvider } from 'ra-core';\n *\n * const Show = props => {\n * const controllerProps = useShowController(props);\n * return (\n * <ShowContextProvider value={controllerProps}>\n * ...\n * </ShowContextProvider>\n * );\n * };\n */\nexport const ShowContext = createContext<ShowControllerResult | null>(null);\n\nShowContext.displayName = 'ShowContext';\n","import * as React from 'react';\nimport { ReactNode } from 'react';\nimport { RaRecord } from '../../types';\nimport { RecordContextProvider } from '../record/RecordContext';\nimport { ShowContext } from './ShowContext';\nimport { ShowControllerResult } from './useShowController';\n\n/**\n * Create a Show Context.\n *\n * @example\n *\n * const MyShow = (props) => {\n * const controllerProps = useShowController(props);\n * return (\n * <ShowContextProvider value={controllerProps}>\n * <MyShowView>\n * </ShowContextProvider>\n * );\n * };\n *\n * const MyShowView = () => {\n * const record = useRecordContext();\n * }\n *\n * @see ShowContext\n * @see RecordContext\n */\nexport const ShowContextProvider = ({\n children,\n value,\n}: {\n children: ReactNode;\n value: ShowControllerResult;\n}) => (\n <ShowContext.Provider value={value}>\n <RecordContextProvider<Partial<RaRecord>> value={value && value.record}>\n {children}\n </RecordContextProvider>\n </ShowContext.Provider>\n);\n","import * as React from 'react';\nimport { ReactElement } from 'react';\n\nimport { RaRecord } from '../../types';\nimport { useShowController, ShowControllerProps } from './useShowController';\nimport { ShowContextProvider } from './ShowContextProvider';\nimport { ResourceContextProvider } from '../../core';\n\n/**\n * Call useShowController and put the value in a ShowContext\n *\n * Base class for <Show> components, without UI.\n *\n * Accepts any props accepted by useShowController:\n * - id: The record identifier\n * - resource: The resource\n *\n * @example // Custom show layout\n *\n * const PostShow = () => (\n * <ShowBase resource=\"posts\">\n * <Grid container>\n * <Grid item xs={8}>\n * <SimpleForm>\n * ...\n * </SimpleForm>\n * </Grid>\n * <Grid item xs={4}>\n * Show instructions...\n * </Grid>\n * </Grid>\n * <div>\n * Post related links...\n * </div>\n * </ShowBase>\n * );\n */\nexport const ShowBase = <RecordType extends RaRecord = any>({\n children,\n ...props\n}: { children: ReactElement } & ShowControllerProps<RecordType>) => {\n const controllerProps = useShowController<RecordType>(props);\n const body = (\n <ShowContextProvider value={controllerProps}>\n {children}\n </ShowContextProvider>\n );\n return props.resource ? (\n // support resource override via props\n <ResourceContextProvider value={props.resource}>\n {body}\n </ResourceContextProvider>\n ) : (\n body\n );\n};\n","import { useContext } from 'react';\n\nimport { RaRecord } from '../../types';\nimport { ShowContext } from './ShowContext';\nimport { ShowControllerResult } from './useShowController';\n\n/**\n * Hook to read the show controller props from the ShowContext.\n *\n * Used within a <ShowContextProvider> (e.g. as a descendent of <Show>).\n *\n * @returns {ShowControllerResult} create controller props\n *\n * @see useShowController for how it is filled\n */\nexport const useShowContext = <\n RecordType extends RaRecord = any\n>(): ShowControllerResult<RecordType> => {\n const context = useContext(ShowContext);\n // Props take precedence over the context\n if (!context) {\n throw new Error(\n 'useShowContext must be used inside a ShowContextProvider'\n );\n }\n return context;\n};\n","import { useMemo, useRef } from 'react';\nimport {\n useMutation,\n UseMutationOptions,\n UseMutationResult,\n useQueryClient,\n MutateOptions,\n} from '@tanstack/react-query';\n\nimport { useDataProvider } from './useDataProvider';\nimport { RaRecord, CreateParams, Identifier, DataProvider } from '../types';\nimport { useEvent } from '../util';\n\n/**\n * Get a callback to call the dataProvider.create() method, the result and the loading state.\n *\n * @param {string} resource\n * @param {Params} params The create parameters { data }\n * @param {Object} options Options object to pass to the queryClient.\n * May include side effects to be executed upon success or failure, e.g. { onSuccess: () => { refresh(); } }\n *\n * @typedef Params\n * @prop params.data The record to create, e.g. { title: 'hello, world' }\n *\n * @returns The current mutation state. Destructure as [create, { data, error, isPending }].\n *\n * The return value updates according to the request state:\n *\n * - initial: [create, { isPending: false, isIdle: true }]\n * - start: [create, { isPending: true }]\n * - success: [create, { data: [data from response], isPending: false, isSuccess: true }]\n * - error: [create, { error: [error from response], isPending: false, isError: true }]\n *\n * The create() function must be called with a resource and a parameter object: create(resource, { data, meta }, options)\n *\n * This hook uses react-query useMutation under the hood.\n * This means the state object contains mutate, isIdle, reset and other react-query methods.\n *\n * @see https://tanstack.com/query/v5/docs/react/reference/useMutation\n *\n * @example // set params when calling the create callback\n *\n * import { useCreate, useRecordContext } from 'react-admin';\n *\n * const LikeButton = () => {\n * const record = useRecordContext();\n * const like = { postId: record.id };\n * const [create, { isPending, error }] = useCreate();\n * const handleClick = () => {\n * create('likes', { data: like })\n * }\n * if (error) { return <p>ERROR</p>; }\n * return <button disabled={isPending} onClick={handleClick}>Like</button>;\n * };\n *\n * @example // set params when calling the hook\n *\n * import { useCreate, useRecordContext } from 'react-admin';\n *\n * const LikeButton = () => {\n * const record = useRecordContext();\n * const like = { postId: record.id };\n * const [create, { isPending, error }] = useCreate('likes', { data: like });\n * if (error) { return <p>ERROR</p>; }\n * return <button disabled={isPending} onClick={() => create()}>Like</button>;\n * };\n *\n * @example // TypeScript\n * const [create, { data }] = useCreate<Product>('products', { data: product });\n * \\-- data is Product\n */\nexport const useCreate = <\n RecordType extends Omit<RaRecord, 'id'> = any,\n MutationError = unknown,\n ResultRecordType extends RaRecord = RecordType & { id: Identifier }\n>(\n resource?: string,\n params: Partial<CreateParams<Partial<RecordType>>> = {},\n options: UseCreateOptions<RecordType, MutationError, ResultRecordType> = {}\n): UseCreateResult<RecordType, boolean, MutationError, ResultRecordType> => {\n const dataProvider = useDataProvider();\n const queryClient = useQueryClient();\n const paramsRef = useRef<Partial<CreateParams<Partial<RecordType>>>>(\n params\n );\n const hasCallTimeOnError = useRef(false);\n const hasCallTimeOnSuccess = useRef(false);\n const hasCallTimeOnSettled = useRef(false);\n const { mutateWithMiddlewares, ...mutationOptions } = options;\n const mutation = useMutation<\n ResultRecordType,\n MutationError,\n Partial<UseCreateMutateParams<RecordType>>\n >({\n mutationFn: ({\n resource: callTimeResource = resource,\n data: callTimeData = paramsRef.current.data,\n meta: callTimeMeta = paramsRef.current.meta,\n } = {}) => {\n if (!callTimeResource) {\n throw new Error(\n 'useCreate mutation requires a non-empty resource'\n );\n }\n if (!callTimeData) {\n throw new Error(\n 'useCreate mutation requires a non-empty data object'\n );\n }\n if (mutateWithMiddlewares) {\n return mutateWithMiddlewares(\n dataProvider.create.bind(dataProvider),\n callTimeResource,\n {\n data: callTimeData,\n meta: callTimeMeta,\n }\n ).then(({ data }) => data);\n }\n return dataProvider\n .create<RecordType, ResultRecordType>(callTimeResource, {\n data: callTimeData,\n meta: callTimeMeta,\n })\n .then(({ data }) => data);\n },\n ...mutationOptions,\n onError: (error, variables, context) => {\n if (options.onError && !hasCallTimeOnError.current) {\n return options.onError(error, variables, context);\n }\n },\n onSuccess: (\n data: ResultRecordType,\n variables: Partial<UseCreateMutateParams<RecordType>> = {},\n context: unknown\n ) => {\n const { resource: callTimeResource = resource } = variables;\n queryClient.setQueryData(\n [callTimeResource, 'getOne', { id: String(data.id) }],\n data\n );\n queryClient.invalidateQueries({\n queryKey: [callTimeResource, 'getList'],\n });\n queryClient.invalidateQueries({\n queryKey: [callTimeResource, 'getInfiniteList'],\n });\n queryClient.invalidateQueries({\n queryKey: [callTimeResource, 'getMany'],\n });\n queryClient.invalidateQueries({\n queryKey: [callTimeResource, 'getManyReference'],\n });\n\n if (options.onSuccess && !hasCallTimeOnSuccess.current) {\n options.onSuccess(data, variables, context);\n }\n },\n onSettled: (data, error, variables, context) => {\n if (options.onSettled && !hasCallTimeOnSettled.current) {\n return options.onSettled(data, error, variables, context);\n }\n },\n });\n\n const create = (\n callTimeResource: string | undefined = resource,\n callTimeParams: Partial<CreateParams<Partial<RecordType>>> = {},\n callTimeOptions: MutateOptions<\n ResultRecordType,\n MutationError,\n Partial<UseCreateMutateParams<RecordType>>,\n unknown\n > & { returnPromise?: boolean } = {}\n ) => {\n const {\n returnPromise = options.returnPromise,\n ...otherCallTimeOptions\n } = callTimeOptions;\n\n hasCallTimeOnError.current = !!otherCallTimeOptions.onError;\n hasCallTimeOnSuccess.current = !!otherCallTimeOptions.onSuccess;\n hasCallTimeOnSettled.current = !!otherCallTimeOptions.onSettled;\n\n if (returnPromise) {\n return mutation.mutateAsync(\n { resource: callTimeResource, ...callTimeParams },\n otherCallTimeOptions\n );\n }\n return mutation.mutate(\n { resource: callTimeResource, ...callTimeParams },\n otherCallTimeOptions\n );\n };\n\n const mutationResult = useMemo(\n () => ({\n isLoading: mutation.isPending,\n ...mutation,\n }),\n [mutation]\n );\n\n return [useEvent(create), mutationResult];\n};\n\nexport interface UseCreateMutateParams<\n RecordType extends Omit<RaRecord, 'id'> = any\n> {\n resource?: string;\n data?: Partial<Omit<RecordType, 'id'>>;\n meta?: any;\n}\n\nexport type UseCreateOptions<\n RecordType extends Omit<RaRecord, 'id'> = any,\n MutationError = unknown,\n ResultRecordType extends RaRecord = RecordType & { id: Identifier }\n> = Omit<\n UseMutationOptions<\n ResultRecordType,\n MutationError,\n Partial<UseCreateMutateParams<RecordType>>\n >,\n 'mutationFn'\n> & {\n returnPromise?: boolean;\n mutateWithMiddlewares?: <\n CreateFunctionType extends DataProvider['create'] = DataProvider['create']\n >(\n mutate: CreateFunctionType,\n ...Params: Parameters<CreateFunctionType>\n ) => ReturnType<CreateFunctionType>;\n};\n\nexport type CreateMutationFunction<\n RecordType extends Omit<RaRecord, 'id'> = any,\n TReturnPromise extends boolean = boolean,\n MutationError = unknown,\n ResultRecordType extends RaRecord = RecordType & { id: Identifier }\n> = (\n resource?: string,\n params?: Partial<CreateParams<Partial<RecordType>>>,\n options?: MutateOptions<\n ResultRecordType,\n MutationError,\n Partial<UseCreateMutateParams<RecordType>>,\n unknown\n > & { returnPromise?: TReturnPromise }\n) => TReturnPromise extends true ? Promise<ResultRecordType> : void;\n\nexport type UseCreateResult<\n RecordType extends Omit<RaRecord, 'id'> = any,\n TReturnPromise extends boolean = boolean,\n MutationError = unknown,\n ResultRecordType extends RaRecord = RecordType & { id: Identifier }\n> = [\n CreateMutationFunction<\n RecordType,\n TReturnPromise,\n MutationError,\n ResultRecordType\n >,\n UseMutationResult<\n ResultRecordType,\n MutationError,\n Partial<UseCreateMutateParams<RecordType>>,\n unknown\n >\n];\n","import { useMemo, useRef } from 'react';\nimport {\n useMutation,\n useQueryClient,\n UseMutationOptions,\n UseMutationResult,\n MutateOptions,\n QueryKey,\n UseInfiniteQueryResult,\n InfiniteData,\n} from '@tanstack/react-query';\n\nimport { useDataProvider } from './useDataProvider';\nimport undoableEventEmitter from './undoableEventEmitter';\nimport {\n RaRecord,\n UpdateParams,\n MutationMode,\n GetListResult as OriginalGetListResult,\n GetInfiniteListResult,\n DataProvider,\n} from '../types';\nimport { useEvent } from '../util';\n\n/**\n * Get a callback to call the dataProvider.update() method, the result and the loading state.\n *\n * @param {string} resource\n * @param {Params} params The update parameters { id, data, previousData, meta }\n * @param {Object} options Options object to pass to the queryClient.\n * May include side effects to be executed upon success or failure, e.g. { onSuccess: () => { refresh(); } }\n * May include a mutation mode (optimistic/pessimistic/undoable), e.g. { mutationMode: 'undoable' }\n *\n * @typedef Params\n * @prop params.id The resource identifier, e.g. 123\n * @prop params.data The updates to merge into the record, e.g. { views: 10 }\n * @prop params.previousData The record before the update is applied\n * @prop params.meta Optional meta data\n *\n * @returns The current mutation state. Destructure as [update, { data, error, isPending }].\n *\n * The return value updates according to the request state:\n *\n * - initial: [update, { isPending: false, isIdle: true }]\n * - start: [update, { isPending: true }]\n * - success: [update, { data: [data from response], isPending: false, isSuccess: true }]\n * - error: [update, { error: [error from response], isPending: false, isError: true }]\n *\n * The update() function must be called with a resource and a parameter object: update(resource, { id, data, previousData }, options)\n *\n * This hook uses react-query useMutation under the hood.\n * This means the state object contains mutate, isIdle, reset and other react-query methods.\n *\n * @see https://react-query-v3.tanstack.com/reference/useMutation\n *\n * @example // set params when calling the update callback\n *\n * import { useUpdate, useRecordContext } from 'react-admin';\n *\n * const IncreaseLikeButton = () => {\n * const record = useRecordContext();\n * const diff = { likes: record.likes + 1 };\n * const [update, { isPending, error }] = useUpdate();\n * const handleClick = () => {\n * update('likes', { id: record.id, data: diff, previousData: record })\n * }\n * if (error) { return <p>ERROR</p>; }\n * return <button disabled={isPending} onClick={handleClick}>Like</div>;\n * };\n *\n * @example // set params when calling the hook\n *\n * import { useUpdate, useRecordContext } from 'react-admin';\n *\n * const IncreaseLikeButton = () => {\n * const record = useRecordContext();\n * const diff = { likes: record.likes + 1 };\n * const [update, { isPending, error }] = useUpdate('likes', { id: record.id, data: diff, previousData: record });\n * if (error) { return <p>ERROR</p>; }\n * return <button disabled={isPending} onClick={() => update()}>Like</button>;\n * };\n *\n * @example // TypeScript\n * const [update, { data }] = useUpdate<Product>('products', { id, data: diff, previousData: product });\n * \\-- data is Product\n */\nexport const useUpdate = <RecordType extends RaRecord = any, ErrorType = Error>(\n resource?: string,\n params: Partial<UpdateParams<RecordType>> = {},\n options: UseUpdateOptions<RecordType, ErrorType> = {}\n): UseUpdateResult<RecordType, boolean, ErrorType> => {\n const dataProvider = useDataProvider();\n const queryClient = useQueryClient();\n const { id, data, meta } = params;\n const {\n mutationMode = 'pessimistic',\n mutateWithMiddlewares,\n ...mutationOptions\n } = options;\n const mode = useRef<MutationMode>(mutationMode);\n const paramsRef = useRef<Partial<UpdateParams<RecordType>>>(params);\n const snapshot = useRef<Snapshot>([]);\n // We need to store the call-time onError and onSettled in refs to be able to call them in the useMutation hook even\n // when the calling component is unmounted\n const callTimeOnError = useRef<\n UseUpdateOptions<RecordType, ErrorType>['onError']\n >();\n const callTimeOnSettled = useRef<\n UseUpdateOptions<RecordType, ErrorType>['onSettled']\n >();\n\n // We don't need to keep a ref on the onSuccess callback as we call it ourselves for optimistic and\n // undoable mutations. There is a limitation though: if one of the side effects applied by the onSuccess callback\n // unmounts the component that called the useUpdate hook (redirect for instance), it must be the last one applied,\n // otherwise the other side effects may not applied.\n const hasCallTimeOnSuccess = useRef(false);\n\n const updateCache = ({ resource, id, data }) => {\n // hack: only way to tell react-query not to fetch this query for the next 5 seconds\n // because setQueryData doesn't accept a stale time option\n const now = Date.now();\n const updatedAt = mode.current === 'undoable' ? now + 5 * 1000 : now;\n\n const updateColl = (old: RecordType[]) => {\n if (!old) return old;\n const index = old.findIndex(\n // eslint-disable-next-line eqeqeq\n record => record.id == id\n );\n if (index === -1) {\n return old;\n }\n return [\n ...old.slice(0, index),\n { ...old[index], ...data } as RecordType,\n ...old.slice(index + 1),\n ];\n };\n\n type GetListResult = Omit<OriginalGetListResult, 'data'> & {\n data?: RecordType[];\n };\n\n queryClient.setQueryData(\n [resource, 'getOne', { id: String(id), meta }],\n (record: RecordType) => ({ ...record, ...data }),\n { updatedAt }\n );\n queryClient.setQueriesData(\n { queryKey: [resource, 'getList'] },\n (res: GetListResult) =>\n res && res.data ? { ...res, data: updateColl(res.data) } : res,\n { updatedAt }\n );\n queryClient.setQueriesData(\n { queryKey: [resource, 'getInfiniteList'] },\n (\n res: UseInfiniteQueryResult<\n InfiniteData<GetInfiniteListResult>\n >['data']\n ) =>\n res && res.pages\n ? {\n ...res,\n pages: res.pages.map(page => ({\n ...page,\n data: updateColl(page.data),\n })),\n }\n : res,\n { updatedAt }\n );\n queryClient.setQueriesData(\n { queryKey: [resource, 'getMany'] },\n (coll: RecordType[]) =>\n coll && coll.length > 0 ? updateColl(coll) : coll,\n { updatedAt }\n );\n queryClient.setQueriesData(\n { queryKey: [resource, 'getManyReference'] },\n (res: GetListResult) =>\n res && res.data\n ? { data: updateColl(res.data), total: res.total }\n : res,\n { updatedAt }\n );\n };\n\n const mutation = useMutation<\n RecordType,\n ErrorType,\n Partial<UseUpdateMutateParams<RecordType>>\n >({\n mutationFn: ({\n resource: callTimeResource = resource,\n id: callTimeId = paramsRef.current.id,\n data: callTimeData = paramsRef.current.data,\n meta: callTimeMeta = paramsRef.current.meta,\n previousData: callTimePreviousData = paramsRef.current.previousData,\n } = {}) => {\n if (!callTimeResource) {\n throw new Error(\n 'useUpdate mutation requires a non-empty resource'\n );\n }\n if (!callTimeId) {\n throw new Error('useUpdate mutation requires a non-empty id');\n }\n if (!callTimeData) {\n throw new Error(\n 'useUpdate mutation requires a non-empty data object'\n );\n }\n if (mutateWithMiddlewares) {\n return mutateWithMiddlewares(\n dataProvider.update.bind(dataProvider),\n callTimeResource,\n {\n id: callTimeId,\n data: callTimeData,\n previousData: callTimePreviousData,\n meta: callTimeMeta,\n }\n ).then(({ data }) => data);\n }\n return dataProvider\n .update<RecordType>(callTimeResource, {\n id: callTimeId,\n data: callTimeData,\n previousData: callTimePreviousData,\n meta: callTimeMeta,\n })\n .then(({ data }) => data);\n },\n ...mutationOptions,\n onMutate: async (\n variables: Partial<UseUpdateMutateParams<RecordType>>\n ) => {\n if (mutationOptions.onMutate) {\n const userContext =\n (await mutationOptions.onMutate(variables)) || {};\n return {\n snapshot: snapshot.current,\n // @ts-ignore\n ...userContext,\n };\n } else {\n // Return a context object with the snapshot value\n return { snapshot: snapshot.current };\n }\n },\n onError: (error, variables = {}, context: { snapshot: Snapshot }) => {\n if (mode.current === 'optimistic' || mode.current === 'undoable') {\n // If the mutation fails, use the context returned from onMutate to rollback\n context.snapshot.forEach(([key, value]) => {\n queryClient.setQueryData(key, value);\n });\n }\n\n if (callTimeOnError.current) {\n return callTimeOnError.current(error, variables, context);\n }\n if (mutationOptions.onError) {\n return mutationOptions.onError(error, variables, context);\n }\n // call-time error callback is executed by react-query\n },\n onSuccess: (\n data: RecordType,\n variables: Partial<UseUpdateMutateParams<RecordType>> = {},\n context: unknown\n ) => {\n if (mode.current === 'pessimistic') {\n // update the getOne and getList query cache with the new result\n const {\n resource: callTimeResource = resource,\n id: callTimeId = id,\n } = variables;\n updateCache({\n resource: callTimeResource,\n id: callTimeId,\n data,\n });\n\n if (\n mutationOptions.onSuccess &&\n !hasCallTimeOnSuccess.current\n ) {\n mutationOptions.onSuccess(data, variables, context);\n }\n }\n },\n onSettled: (\n data,\n error,\n variables = {},\n context: { snapshot: Snapshot }\n ) => {\n if (mode.current === 'optimistic' || mode.current === 'undoable') {\n // Always refetch after error or success:\n context.snapshot.forEach(([queryKey]) => {\n queryClient.invalidateQueries({ queryKey });\n });\n }\n\n if (callTimeOnSettled.current) {\n return callTimeOnSettled.current(\n data,\n error,\n variables,\n context\n );\n }\n if (mutationOptions.onSettled) {\n return mutationOptions.onSettled(\n data,\n error,\n variables,\n context\n );\n }\n },\n });\n\n const update = async (\n callTimeResource: string | undefined = resource,\n callTimeParams: Partial<UpdateParams<RecordType>> = {},\n callTimeOptions: MutateOptions<\n RecordType,\n ErrorType,\n Partial<UseUpdateMutateParams<RecordType>>,\n unknown\n > & { mutationMode?: MutationMode; returnPromise?: boolean } = {}\n ) => {\n const {\n mutationMode,\n returnPromise = mutationOptions.returnPromise,\n onError,\n onSettled,\n onSuccess,\n ...otherCallTimeOptions\n } = callTimeOptions;\n\n // We need to keep the onSuccess callback here and not in the useMutation for undoable mutations\n hasCallTimeOnSuccess.current = !!onSuccess;\n // We need to store the onError and onSettled callbacks here to be able to call them in the useMutation hook\n // so that they are called even when the calling component is unmounted\n callTimeOnError.current = onError;\n callTimeOnSettled.current = onSettled;\n\n // store the hook time params *at the moment of the call*\n // because they may change afterwards, which would break the undoable mode\n // as the previousData would be overwritten by the optimistic update\n paramsRef.current = params;\n\n if (mutationMode) {\n mode.current = mutationMode;\n }\n\n if (returnPromise && mode.current !== 'pessimistic') {\n console.warn(\n 'The returnPromise parameter can only be used if the mutationMode is set to pessimistic'\n );\n }\n\n if (mode.current === 'pessimistic') {\n if (returnPromise) {\n return mutation.mutateAsync(\n { resource: callTimeResource, ...callTimeParams },\n // We don't pass onError and onSettled here as we will call them in the useMutation hook side effects\n { onSuccess, ...otherCallTimeOptions }\n );\n }\n return mutation.mutate(\n { resource: callTimeResource, ...callTimeParams },\n // We don't pass onError and onSettled here as we will call them in the useMutation hook side effects\n { onSuccess, ...otherCallTimeOptions }\n );\n }\n\n const {\n id: callTimeId = id,\n data: callTimeData = data,\n meta: callTimeMeta = meta,\n } = callTimeParams;\n\n // optimistic update as documented in https://react-query-v3.tanstack.com/guides/optimistic-updates\n // except we do it in a mutate wrapper instead of the onMutate callback\n // to have access to success side effects\n\n const previousRecord = queryClient.getQueryData<RecordType>([\n callTimeResource,\n 'getOne',\n { id: String(callTimeId), meta: callTimeMeta },\n ]);\n\n const queryKeys = [\n [\n callTimeResource,\n 'getOne',\n { id: String(callTimeId), meta: callTimeMeta },\n ],\n [callTimeResource, 'getList'],\n [callTimeResource, 'getInfiniteList'],\n [callTimeResource, 'getMany'],\n [callTimeResource, 'getManyReference'],\n ];\n\n /**\n * Snapshot the previous values via queryClient.getQueriesData()\n *\n * The snapshotData ref will contain an array of tuples [query key, associated data]\n *\n * @example\n * [\n * [['posts', 'getOne', { id: '1' }], { id: 1, title: 'Hello' }],\n * [['posts', 'getList'], { data: [{ id: 1, title: 'Hello' }], total: 1 }],\n * [['posts', 'getMany'], [{ id: 1, title: 'Hello' }]],\n * ]\n *\n * @see https://react-query-v3.tanstack.com/reference/QueryClient#queryclientgetqueriesdata\n */\n snapshot.current = queryKeys.reduce(\n (prev, queryKey) =>\n prev.concat(queryClient.getQueriesData({ queryKey })),\n [] as Snapshot\n );\n\n // Cancel any outgoing re-fetches (so they don't overwrite our optimistic update)\n await Promise.all(\n snapshot.current.map(([queryKey]) =>\n queryClient.cancelQueries({ queryKey })\n )\n );\n\n // Optimistically update to the new value\n updateCache({\n resource: callTimeResource,\n id: callTimeId,\n data: callTimeData,\n });\n\n // run the success callbacks during the next tick\n setTimeout(() => {\n if (onSuccess) {\n onSuccess(\n { ...previousRecord, ...callTimeData } as RecordType,\n { resource: callTimeResource, ...callTimeParams },\n { snapshot: snapshot.current }\n );\n } else if (\n mutationOptions.onSuccess &&\n !hasCallTimeOnSuccess.current\n ) {\n mutationOptions.onSuccess(\n { ...previousRecord, ...callTimeData } as RecordType,\n { resource: callTimeResource, ...callTimeParams },\n { snapshot: snapshot.current }\n );\n }\n }, 0);\n\n if (mode.current === 'optimistic') {\n // call the mutate method without success side effects\n return mutation.mutate({\n resource: callTimeResource,\n // We don't pass onError and onSettled here as we will call them in the useMutation hook side effects\n ...callTimeParams,\n });\n } else {\n // undoable mutation: register the mutation for later\n undoableEventEmitter.once('end', ({ isUndo }) => {\n if (isUndo) {\n // rollback\n snapshot.current.forEach(([key, value]) => {\n queryClient.setQueryData(key, value);\n });\n } else {\n // call the mutate method without success side effects\n mutation.mutate({\n resource: callTimeResource,\n ...callTimeParams,\n });\n }\n });\n }\n };\n\n const mutationResult = useMemo(\n () => ({\n isLoading: mutation.isPending,\n ...mutation,\n }),\n [mutation]\n );\n\n return [useEvent(update), mutationResult];\n};\n\ntype Snapshot = [key: QueryKey, value: any][];\n\nexport interface UseUpdateMutateParams<RecordType extends RaRecord = any> {\n resource?: string;\n id?: RecordType['id'];\n data?: Partial<RecordType>;\n previousData?: any;\n meta?: any;\n}\n\nexport type UseUpdateOptions<\n RecordType extends RaRecord = any,\n ErrorType = Error\n> = UseMutationOptions<\n RecordType,\n ErrorType,\n Partial<Omit<UseUpdateMutateParams<RecordType>, 'mutationFn'>>\n> & {\n mutationMode?: MutationMode;\n returnPromise?: boolean;\n mutateWithMiddlewares?: <\n UpdateFunctionType extends DataProvider['update'] = DataProvider['update']\n >(\n mutate: UpdateFunctionType,\n ...Params: Parameters<UpdateFunctionType>\n ) => ReturnType<UpdateFunctionType>;\n};\n\nexport type UpdateMutationFunction<\n RecordType extends RaRecord = any,\n TReturnPromise extends boolean = boolean,\n ErrorType = Error\n> = (\n resource?: string,\n params?: Partial<UpdateParams<RecordType>>,\n options?: MutateOptions<\n RecordType,\n ErrorType,\n Partial<UseUpdateMutateParams<RecordType>>,\n unknown\n > & { mutationMode?: MutationMode; returnPromise?: TReturnPromise }\n) => Promise<TReturnPromise extends true ? RecordType : void>;\n\nexport type UseUpdateResult<\n RecordType extends RaRecord = any,\n TReturnPromise extends boolean = boolean,\n ErrorType = Error\n> = [\n UpdateMutationFunction<RecordType, TReturnPromise, ErrorType>,\n UseMutationResult<\n RecordType,\n ErrorType,\n Partial<UpdateParams<RecordType> & { resource?: string }>,\n unknown\n >\n];\n","import { useMemo, useRef } from 'react';\nimport {\n useMutation,\n useQueryClient,\n UseMutationOptions,\n UseMutationResult,\n MutateOptions,\n QueryKey,\n UseInfiniteQueryResult,\n InfiniteData,\n} from '@tanstack/react-query';\n\nimport { useDataProvider } from './useDataProvider';\nimport undoableEventEmitter from './undoableEventEmitter';\nimport {\n RaRecord,\n DeleteParams,\n MutationMode,\n GetListResult as OriginalGetListResult,\n GetInfiniteListResult,\n} from '../types';\nimport { useEvent } from '../util';\n\n/**\n * Get a callback to call the dataProvider.delete() method, the result and the loading state.\n *\n * @param {string} resource\n * @param {Params} params The delete parameters { id, previousData }\n * @param {Object} options Options object to pass to the queryClient.\n * May include side effects to be executed upon success or failure, e.g. { onSuccess: () => { refresh(); } }\n * May include a mutation mode (optimistic/pessimistic/undoable), e.g. { mutationMode: 'undoable' }\n *\n * @typedef Params\n * @prop params.id The resource identifier, e.g. 123\n * @prop params.previousData The record before the update is applied\n *\n * @returns The current mutation state. Destructure as [deleteOne, { data, error, isPending }].\n *\n * The return value updates according to the request state:\n *\n * - initial: [deleteOne, { isPending: false, isIdle: true }]\n * - start: [deleteOne, { isPending: true }]\n * - success: [deleteOne, { data: [data from response], isPending: false, isSuccess: true }]\n * - error: [deleteOne, { error: [error from response], isPending: false, isError: true }]\n *\n * The deleteOne() function must be called with a resource and a parameter object: deleteOne(resource, { id, previousData, meta }, options)\n *\n * This hook uses react-query useMutation under the hood.\n * This means the state object contains mutate, isIdle, reset and other react-query methods.\n *\n * @see https://tanstack.com/query/v5/docs/react/reference/useMutation\n *\n * @example // set params when calling the deleteOne callback\n *\n * import { useDelete, useRecordContext } from 'react-admin';\n *\n * const DeleteButton = () => {\n * const record = useRecordContext();\n * const [deleteOne, { isPending, error }] = useDelete();\n * const handleClick = () => {\n * deleteOne('likes', { id: record.id, previousData: record })\n * }\n * if (error) { return <p>ERROR</p>; }\n * return <button disabled={isPending} onClick={handleClick}>Delete</div>;\n * };\n *\n * @example // set params when calling the hook\n *\n * import { useDelete, useRecordContext } from 'react-admin';\n *\n * const DeleteButton = () => {\n * const record = useRecordContext();\n * const [deleteOne, { isPending, error }] = useDelete('likes', { id: record.id, previousData: record });\n * if (error) { return <p>ERROR</p>; }\n * return <button disabled={isPending} onClick={() => deleteOne()}>Delete</button>;\n * };\n *\n * @example // TypeScript\n * const [delete, { data }] = useDelete<Product>('products', { id, previousData: product });\n * \\-- data is Product\n */\nexport const useDelete = <\n RecordType extends RaRecord = any,\n MutationError = unknown\n>(\n resource?: string,\n params: Partial<DeleteParams<RecordType>> = {},\n options: UseDeleteOptions<RecordType, MutationError> = {}\n): UseDeleteResult<RecordType, MutationError> => {\n const dataProvider = useDataProvider();\n const queryClient = useQueryClient();\n const { id, previousData } = params;\n const { mutationMode = 'pessimistic', ...mutationOptions } = options;\n const mode = useRef<MutationMode>(mutationMode);\n const paramsRef = useRef<Partial<DeleteParams<RecordType>>>(params);\n const snapshot = useRef<Snapshot>([]);\n const hasCallTimeOnError = useRef(false);\n const hasCallTimeOnSuccess = useRef(false);\n const hasCallTimeOnSettled = useRef(false);\n\n const updateCache = ({ resource, id }) => {\n // hack: only way to tell react-query not to fetch this query for the next 5 seconds\n // because setQueryData doesn't accept a stale time option\n const now = Date.now();\n const updatedAt = mode.current === 'undoable' ? now + 5 * 1000 : now;\n\n const updateColl = (old: RecordType[]) => {\n if (!old) return old;\n const index = old.findIndex(\n // eslint-disable-next-line eqeqeq\n record => record.id == id\n );\n if (index === -1) {\n return old;\n }\n return [...old.slice(0, index), ...old.slice(index + 1)];\n };\n\n type GetListResult = Omit<OriginalGetListResult, 'data'> & {\n data?: RecordType[];\n };\n\n queryClient.setQueriesData(\n { queryKey: [resource, 'getList'] },\n (res: GetListResult) => {\n if (!res || !res.data) return res;\n const newCollection = updateColl(res.data);\n const recordWasFound = newCollection.length < res.data.length;\n return recordWasFound\n ? {\n data: newCollection,\n total: res.total ? res.total - 1 : undefined,\n pageInfo: res.pageInfo,\n }\n : res;\n },\n { updatedAt }\n );\n queryClient.setQueriesData(\n { queryKey: [resource, 'getInfiniteList'] },\n (\n res: UseInfiniteQueryResult<\n InfiniteData<GetInfiniteListResult>\n >['data']\n ) => {\n if (!res || !res.pages) return res;\n return {\n ...res,\n pages: res.pages.map(page => {\n const newCollection = updateColl(page.data);\n const recordWasFound =\n newCollection.length < page.data.length;\n return recordWasFound\n ? {\n ...page,\n data: newCollection,\n total: page.total\n ? page.total - 1\n : undefined,\n pageInfo: page.pageInfo,\n }\n : page;\n }),\n };\n },\n { updatedAt }\n );\n queryClient.setQueriesData(\n { queryKey: [resource, 'getMany'] },\n (coll: RecordType[]) =>\n coll && coll.length > 0 ? updateColl(coll) : coll,\n { updatedAt }\n );\n queryClient.setQueriesData(\n { queryKey: [resource, 'getManyReference'] },\n (res: GetListResult) => {\n if (!res || !res.data) return res;\n const newCollection = updateColl(res.data);\n const recordWasFound = newCollection.length < res.data.length;\n return recordWasFound\n ? {\n data: newCollection,\n total: res.total! - 1,\n }\n : res;\n },\n { updatedAt }\n );\n };\n\n const mutation = useMutation<\n RecordType,\n MutationError,\n Partial<UseDeleteMutateParams<RecordType>>\n >({\n mutationFn: ({\n resource: callTimeResource = resource,\n id: callTimeId = paramsRef.current.id,\n previousData: callTimePreviousData = paramsRef.current.previousData,\n meta: callTimeMeta = paramsRef.current.meta,\n } = {}) => {\n if (!callTimeResource) {\n throw new Error(\n 'useDelete mutation requires a non-empty resource'\n );\n }\n if (!callTimeId) {\n throw new Error('useDelete mutation requires a non-empty id');\n }\n return dataProvider\n .delete<RecordType>(callTimeResource, {\n id: callTimeId,\n previousData: callTimePreviousData,\n meta: callTimeMeta,\n })\n .then(({ data }) => data);\n },\n ...mutationOptions,\n onMutate: async (\n variables: Partial<UseDeleteMutateParams<RecordType>>\n ) => {\n if (mutationOptions.onMutate) {\n const userContext =\n (await mutationOptions.onMutate(variables)) || {};\n return {\n snapshot: snapshot.current,\n // @ts-ignore\n ...userContext,\n };\n } else {\n // Return a context object with the snapshot value\n return { snapshot: snapshot.current };\n }\n },\n onError: (\n error: MutationError,\n variables: Partial<UseDeleteMutateParams<RecordType>> = {},\n context: { snapshot: Snapshot }\n ) => {\n if (mode.current === 'optimistic' || mode.current === 'undoable') {\n // If the mutation fails, use the context returned from onMutate to rollback\n context.snapshot.forEach(([key, value]) => {\n queryClient.setQueryData(key, value);\n });\n }\n\n if (mutationOptions.onError && !hasCallTimeOnError.current) {\n return mutationOptions.onError(error, variables, context);\n }\n // call-time error callback is executed by react-query\n },\n onSuccess: (\n data: RecordType,\n variables: Partial<UseDeleteMutateParams<RecordType>> = {},\n context: unknown\n ) => {\n if (mode.current === 'pessimistic') {\n // update the getOne and getList query cache with the new result\n const {\n resource: callTimeResource = resource,\n id: callTimeId = id,\n } = variables;\n updateCache({\n resource: callTimeResource,\n id: callTimeId,\n });\n\n if (\n mutationOptions.onSuccess &&\n !hasCallTimeOnSuccess.current\n ) {\n mutationOptions.onSuccess(data, variables, context);\n }\n // call-time success callback is executed by react-query\n }\n },\n onSettled: (\n data: RecordType,\n error: MutationError,\n variables: Partial<UseDeleteMutateParams<RecordType>> = {},\n context: { snapshot: Snapshot }\n ) => {\n if (mode.current === 'optimistic' || mode.current === 'undoable') {\n // Always refetch after error or success:\n context.snapshot.forEach(([queryKey]) => {\n queryClient.invalidateQueries({ queryKey });\n });\n }\n\n if (mutationOptions.onSettled && !hasCallTimeOnSettled.current) {\n return mutationOptions.onSettled(\n data,\n error,\n variables,\n context\n );\n }\n },\n });\n\n const mutate = async (\n callTimeResource: string | undefined = resource,\n callTimeParams: Partial<DeleteParams<RecordType>> = {},\n callTimeOptions: MutateOptions<\n RecordType,\n MutationError,\n Partial<UseDeleteMutateParams<RecordType>>,\n unknown\n > & {\n mutationMode?: MutationMode;\n onSuccess?: (\n data: RecordType | undefined,\n variables: Partial<UseDeleteMutateParams<RecordType>>,\n context: unknown\n ) => void;\n } = {}\n ) => {\n const { mutationMode, ...otherCallTimeOptions } = callTimeOptions;\n hasCallTimeOnError.current = !!callTimeOptions.onError;\n hasCallTimeOnSuccess.current = !!callTimeOptions.onSuccess;\n hasCallTimeOnSettled.current = !!callTimeOptions.onSettled;\n\n // store the hook time params *at the moment of the call*\n // because they may change afterwards, which would break the undoable mode\n // as the previousData would be overwritten by the optimistic update\n paramsRef.current = params;\n\n if (mutationMode) {\n mode.current = mutationMode;\n }\n\n if (mode.current === 'pessimistic') {\n return mutation.mutate(\n { resource: callTimeResource, ...callTimeParams },\n otherCallTimeOptions\n );\n }\n\n const {\n id: callTimeId = id,\n previousData: callTimePreviousData = previousData,\n } = callTimeParams;\n\n // optimistic update as documented in https://react-query-v5.tanstack.com/guides/optimistic-updates\n // except we do it in a mutate wrapper instead of the onMutate callback\n // to have access to success side effects\n\n const queryKeys = [\n [callTimeResource, 'getList'],\n [callTimeResource, 'getInfiniteList'],\n [callTimeResource, 'getMany'],\n [callTimeResource, 'getManyReference'],\n ];\n\n /**\n * Snapshot the previous values via queryClient.getQueriesData()\n *\n * The snapshotData ref will contain an array of tuples [query key, associated data]\n *\n * @example\n * [\n * [['posts', 'getList'], { data: [{ id: 1, title: 'Hello' }], total: 1 }],\n * [['posts', 'getMany'], [{ id: 1, title: 'Hello' }]],\n * ]\n *\n * @see https://tanstack.com/query/v5/docs/react/reference/QueryClient#queryclientgetqueriesdata\n */\n snapshot.current = queryKeys.reduce(\n (prev, queryKey) =>\n prev.concat(queryClient.getQueriesData({ queryKey })),\n [] as Snapshot\n );\n\n // Cancel any outgoing re-fetches (so they don't overwrite our optimistic update)\n await Promise.all(\n snapshot.current.map(([queryKey]) =>\n queryClient.cancelQueries({ queryKey })\n )\n );\n\n // Optimistically update to the new value\n updateCache({\n resource: callTimeResource,\n id: callTimeId,\n });\n\n // run the success callbacks during the next tick\n setTimeout(() => {\n if (callTimeOptions.onSuccess) {\n callTimeOptions.onSuccess(\n callTimePreviousData,\n { resource: callTimeResource, ...callTimeParams },\n { snapshot: snapshot.current }\n );\n } else if (mutationOptions.onSuccess) {\n mutationOptions.onSuccess(\n callTimePreviousData,\n { resource: callTimeResource, ...callTimeParams },\n { snapshot: snapshot.current }\n );\n }\n }, 0);\n\n if (mode.current === 'optimistic') {\n // call the mutate method without success side effects\n return mutation.mutate(\n { resource: callTimeResource, ...callTimeParams },\n {\n onSettled: callTimeOptions.onSettled,\n onError: callTimeOptions.onError,\n }\n );\n } else {\n // undoable mutation: register the mutation for later\n undoableEventEmitter.once('end', ({ isUndo }) => {\n if (isUndo) {\n // rollback\n snapshot.current.forEach(([key, value]) => {\n queryClient.setQueryData(key, value);\n });\n } else {\n // call the mutate method without success side effects\n mutation.mutate(\n { resource: callTimeResource, ...callTimeParams },\n {\n onSettled: callTimeOptions.onSettled,\n onError: callTimeOptions.onError,\n }\n );\n }\n });\n }\n };\n\n const mutationResult = useMemo(\n () => ({\n isLoading: mutation.isPending,\n ...mutation,\n }),\n [mutation]\n );\n\n return [useEvent(mutate), mutationResult];\n};\n\ntype Snapshot = [key: QueryKey, value: any][];\n\nexport interface UseDeleteMutateParams<RecordType extends RaRecord = any> {\n resource?: string;\n id?: RecordType['id'];\n data?: Partial<RecordType>;\n previousData?: any;\n meta?: any;\n}\n\nexport type UseDeleteOptions<\n RecordType extends RaRecord = any,\n MutationError = unknown\n> = UseMutationOptions<\n RecordType,\n MutationError,\n Partial<UseDeleteMutateParams<RecordType>>\n> & {\n mutationMode?: MutationMode;\n onSuccess?: (\n data: RecordType | undefined,\n variables: Partial<UseDeleteMutateParams<RecordType>>,\n context: unknown\n ) => void;\n};\n\nexport type UseDeleteResult<\n RecordType extends RaRecord = any,\n MutationError = unknown\n> = [\n (\n resource?: string,\n params?: Partial<DeleteParams<RecordType>>,\n options?: MutateOptions<\n RecordType,\n MutationError,\n Partial<UseDeleteMutateParams<RecordType>>,\n unknown\n > & {\n mutationMode?: MutationMode;\n }\n ) => Promise<void>,\n UseMutationResult<\n RecordType,\n MutationError,\n Partial<DeleteParams<RecordType> & { resource?: string }>,\n unknown\n >\n];\n","import { useMemo, useRef } from 'react';\nimport {\n useMutation,\n useQueryClient,\n UseMutationOptions,\n UseMutationResult,\n MutateOptions,\n QueryKey,\n UseInfiniteQueryResult,\n InfiniteData,\n} from '@tanstack/react-query';\n\nimport { useDataProvider } from './useDataProvider';\nimport undoableEventEmitter from './undoableEventEmitter';\nimport {\n RaRecord,\n DeleteManyParams,\n MutationMode,\n GetListResult as OriginalGetListResult,\n GetInfiniteListResult,\n} from '../types';\nimport { useEvent } from '../util';\n\n/**\n * Get a callback to call the dataProvider.delete() method, the result and the loading state.\n *\n * @param {string} resource\n * @param {Params} params The delete parameters { ids }\n * @param {Object} options Options object to pass to the queryClient.\n * May include side effects to be executed upon success or failure, e.g. { onSuccess: () => { refresh(); } }\n * May include a mutation mode (optimistic/pessimistic/undoable), e.g. { mutationMode: 'undoable' }\n *\n * @typedef Params\n * @prop params.ids The resource identifiers, e.g. [123, 456]\n *\n * @returns The current mutation state. Destructure as [deleteMany, { data, error, isPending }].\n *\n * The return value updates according to the request state:\n *\n * - initial: [deleteMany, { isPending: false, isIdle: true }]\n * - start: [deleteMany, { isPending: true }]\n * - success: [deleteMany, { data: [data from response], isPending: false, isSuccess: true }]\n * - error: [deleteMany, { error: [error from response], isPending: false, isError: true }]\n *\n * The deleteMany() function must be called with a resource and a parameter object: deleteMany(resource, { ids, meta }, options)\n *\n * This hook uses react-query useMutation under the hood.\n * This means the state object contains mutate, isIdle, reset and other react-query methods.\n *\n * @see https://tanstack.com/query/v5/docs/react/reference/useMutation\n *\n * @example // set params when calling the deleteMany callback\n *\n * import { useDeleteMany } from 'react-admin';\n *\n * const BulkDeletePostsButton = ({ selectedIds }) => {\n * const [deleteMany, { isPending, error }] = useDeleteMany();\n * const handleClick = () => {\n * deleteMany('posts', { ids: selectedIds })\n * }\n * if (error) { return <p>ERROR</p>; }\n * return <button disabled={isPending} onClick={handleClick}>Delete selected posts</button>;\n * };\n *\n * @example // set params when calling the hook\n *\n * import { useDeleteMany } from 'react-admin';\n *\n * const BulkDeletePostsButton = ({ selectedIds }) => {\n * const [deleteMany, { isPending, error }] = useDeleteMany('posts', { ids: selectedIds });\n * const handleClick = () => {\n * deleteMany()\n * }\n * if (error) { return <p>ERROR</p>; }\n * return <button disabled={isPending} onClick={handleClick}>Delete selected posts</button>;\n * };\n *\n * @example // TypeScript\n * const [deleteMany, { data }] = useDeleteMany<Product>('products', { ids });\n * \\-- data is Product\n */\nexport const useDeleteMany = <\n RecordType extends RaRecord = any,\n MutationError = unknown\n>(\n resource?: string,\n params: Partial<DeleteManyParams<RecordType>> = {},\n options: UseDeleteManyOptions<RecordType, MutationError> = {}\n): UseDeleteManyResult<RecordType, MutationError> => {\n const dataProvider = useDataProvider();\n const queryClient = useQueryClient();\n const { ids } = params;\n const { mutationMode = 'pessimistic', ...mutationOptions } = options;\n const mode = useRef<MutationMode>(mutationMode);\n const paramsRef = useRef<Partial<DeleteManyParams<RecordType>>>({});\n const snapshot = useRef<Snapshot>([]);\n const hasCallTimeOnError = useRef(false);\n const hasCallTimeOnSuccess = useRef(false);\n const hasCallTimeOnSettled = useRef(false);\n\n const updateCache = ({ resource, ids }) => {\n // hack: only way to tell react-query not to fetch this query for the next 5 seconds\n // because setQueryData doesn't accept a stale time option\n const now = Date.now();\n const updatedAt = mode.current === 'undoable' ? now + 5 * 1000 : now;\n\n const updateColl = (old: RecordType[]) => {\n if (!old) return old;\n let newCollection = [...old];\n ids.forEach(id => {\n const index = newCollection.findIndex(\n // eslint-disable-next-line eqeqeq\n record => record.id == id\n );\n if (index === -1) {\n return;\n }\n newCollection = [\n ...newCollection.slice(0, index),\n ...newCollection.slice(index + 1),\n ];\n });\n return newCollection;\n };\n\n type GetListResult = Omit<OriginalGetListResult, 'data'> & {\n data?: RecordType[];\n };\n\n queryClient.setQueriesData(\n { queryKey: [resource, 'getList'] },\n (res: GetListResult) => {\n if (!res || !res.data) return res;\n const newCollection = updateColl(res.data);\n const recordWasFound = newCollection.length < res.data.length;\n return recordWasFound\n ? {\n data: newCollection,\n total: res.total\n ? res.total -\n (res.data.length - newCollection.length)\n : undefined,\n pageInfo: res.pageInfo,\n }\n : res;\n },\n { updatedAt }\n );\n queryClient.setQueriesData(\n { queryKey: [resource, 'getInfiniteList'] },\n (\n res: UseInfiniteQueryResult<\n InfiniteData<GetInfiniteListResult>\n >['data']\n ) => {\n if (!res || !res.pages) return res;\n return {\n ...res,\n pages: res.pages.map(page => {\n const newCollection = updateColl(page.data);\n const recordWasFound =\n newCollection.length < page.data.length;\n return recordWasFound\n ? {\n ...page,\n data: newCollection,\n total: page.total\n ? page.total -\n (page.data.length -\n newCollection.length)\n : undefined,\n pageInfo: page.pageInfo,\n }\n : page;\n }),\n };\n },\n { updatedAt }\n );\n queryClient.setQueriesData(\n { queryKey: [resource, 'getMany'] },\n (coll: RecordType[]) =>\n coll && coll.length > 0 ? updateColl(coll) : coll,\n { updatedAt }\n );\n queryClient.setQueriesData(\n { queryKey: [resource, 'getManyReference'] },\n (res: GetListResult) => {\n if (!res || !res.data) return res;\n const newCollection = updateColl(res.data);\n const recordWasFound = newCollection.length < res.data.length;\n if (!recordWasFound) {\n return res;\n }\n if (res.total) {\n return {\n data: newCollection,\n total:\n res.total -\n (res.data.length - newCollection.length),\n };\n }\n if (res.pageInfo) {\n return {\n data: newCollection,\n pageInfo: res.pageInfo,\n };\n }\n throw new Error(\n 'Found getList result in cache without total or pageInfo'\n );\n },\n { updatedAt }\n );\n };\n\n const mutation = useMutation<\n RecordType['id'][],\n MutationError,\n Partial<UseDeleteManyMutateParams<RecordType>>\n >({\n mutationFn: ({\n resource: callTimeResource = resource,\n ids: callTimeIds = paramsRef.current.ids,\n meta: callTimeMeta = paramsRef.current.meta,\n } = {}) => {\n if (!callTimeResource) {\n throw new Error(\n 'useDeleteMany mutation requires a non-empty resource'\n );\n }\n if (!callTimeIds) {\n throw new Error(\n 'useDeleteMany mutation requires an array of ids'\n );\n }\n if (callTimeIds.length === 0) {\n return Promise.resolve([]);\n }\n return dataProvider\n .deleteMany<RecordType>(callTimeResource, {\n ids: callTimeIds,\n meta: callTimeMeta,\n })\n .then(({ data }) => data || []);\n },\n ...mutationOptions,\n onMutate: async (\n variables: Partial<UseDeleteManyMutateParams<RecordType>>\n ) => {\n if (mutationOptions.onMutate) {\n const userContext =\n (await mutationOptions.onMutate(variables)) || {};\n return {\n snapshot: snapshot.current,\n // @ts-ignore\n ...userContext,\n };\n } else {\n // Return a context object with the snapshot value\n return { snapshot: snapshot.current };\n }\n },\n onError: (\n error: MutationError,\n variables: Partial<UseDeleteManyMutateParams<RecordType>> = {},\n context: { snapshot: Snapshot }\n ) => {\n if (mode.current === 'optimistic' || mode.current === 'undoable') {\n // If the mutation fails, use the context returned from onMutate to rollback\n context.snapshot.forEach(([key, value]) => {\n queryClient.setQueryData(key, value);\n });\n }\n\n if (mutationOptions.onError && !hasCallTimeOnError.current) {\n return mutationOptions.onError(error, variables, context);\n }\n // call-time error callback is executed by react-query\n },\n onSuccess: (\n data: RecordType['id'][],\n variables: Partial<UseDeleteManyMutateParams<RecordType>> = {},\n context: unknown\n ) => {\n if (mode.current === 'pessimistic') {\n // update the getOne and getList query cache with the new result\n const {\n resource: callTimeResource = resource,\n ids: callTimeIds = ids,\n } = variables;\n updateCache({\n resource: callTimeResource,\n ids: callTimeIds,\n });\n\n if (\n mutationOptions.onSuccess &&\n !hasCallTimeOnSuccess.current\n ) {\n mutationOptions.onSuccess(data, variables, context);\n }\n // call-time success callback is executed by react-query\n }\n },\n onSettled: (\n data: RecordType['id'][],\n error: MutationError,\n variables: Partial<UseDeleteManyMutateParams<RecordType>> = {},\n context: { snapshot: Snapshot }\n ) => {\n if (mode.current === 'optimistic' || mode.current === 'undoable') {\n // Always refetch after error or success:\n context.snapshot.forEach(([queryKey]) => {\n queryClient.invalidateQueries({ queryKey });\n });\n }\n\n if (mutationOptions.onSettled && !hasCallTimeOnSettled.current) {\n return mutationOptions.onSettled(\n data,\n error,\n variables,\n context\n );\n }\n },\n });\n\n const mutate = async (\n callTimeResource: string | undefined = resource,\n callTimeParams: Partial<DeleteManyParams<RecordType>> = {},\n callTimeOptions: MutateOptions<\n RecordType['id'][],\n unknown,\n Partial<UseDeleteManyMutateParams<RecordType>>,\n unknown\n > & { mutationMode?: MutationMode } = {}\n ) => {\n const { mutationMode, ...otherCallTimeOptions } = callTimeOptions;\n hasCallTimeOnError.current = !!callTimeOptions.onError;\n hasCallTimeOnSuccess.current = !!callTimeOptions.onSuccess;\n hasCallTimeOnSettled.current = !!callTimeOptions.onSettled;\n // store the hook time params *at the moment of the call*\n // because they may change afterwards, which would break the undoable mode\n // as the previousData would be overwritten by the optimistic update\n paramsRef.current = params;\n\n if (mutationMode) {\n mode.current = mutationMode;\n }\n\n if (mode.current === 'pessimistic') {\n return mutation.mutate(\n { resource: callTimeResource, ...callTimeParams },\n {\n onSuccess: otherCallTimeOptions.onSuccess,\n onSettled: otherCallTimeOptions.onSettled,\n onError: otherCallTimeOptions.onError,\n }\n );\n }\n\n const { ids: callTimeIds = ids } = callTimeParams;\n if (!callTimeIds) {\n throw new Error('useDeleteMany mutation requires an array of ids');\n }\n\n // optimistic update as documented in https://react-query-v5.tanstack.com/guides/optimistic-updates\n // except we do it in a mutate wrapper instead of the onMutate callback\n // to have access to success side effects\n\n const queryKeys = [\n [callTimeResource, 'getList'],\n [callTimeResource, 'getInfiniteList'],\n [callTimeResource, 'getMany'],\n [callTimeResource, 'getManyReference'],\n ];\n\n /**\n * Snapshot the previous values via queryClient.getQueriesData()\n *\n * The snapshotData ref will contain an array of tuples [query key, associated data]\n *\n * @example\n * [\n * [['posts', 'getList'], { data: [{ id: 1, title: 'Hello' }], total: 1 }],\n * [['posts', 'getMany'], [{ id: 1, title: 'Hello' }]],\n * ]\n *\n * @see https://tanstack.com/query/v5/docs/react/reference/QueryClient#queryclientgetqueriesdata\n */\n snapshot.current = queryKeys.reduce(\n (prev, queryKey) =>\n prev.concat(queryClient.getQueriesData({ queryKey })),\n [] as Snapshot\n );\n\n // Cancel any outgoing re-fetches (so they don't overwrite our optimistic update)\n await Promise.all(\n snapshot.current.map(([queryKey]) =>\n queryClient.cancelQueries({ queryKey })\n )\n );\n\n // Optimistically update to the new value\n updateCache({\n resource: callTimeResource,\n ids: callTimeIds,\n });\n\n // run the success callbacks during the next tick\n setTimeout(() => {\n if (otherCallTimeOptions.onSuccess) {\n otherCallTimeOptions.onSuccess(\n callTimeIds,\n { resource: callTimeResource, ...callTimeParams },\n { snapshot: snapshot.current }\n );\n } else if (mutationOptions.onSuccess) {\n mutationOptions.onSuccess(\n callTimeIds,\n { resource: callTimeResource, ...callTimeParams },\n { snapshot: snapshot.current }\n );\n }\n }, 0);\n\n if (mode.current === 'optimistic') {\n // call the mutate method without success side effects\n return mutation.mutate(\n { resource: callTimeResource, ...callTimeParams },\n {\n onSettled: otherCallTimeOptions.onSettled,\n onError: otherCallTimeOptions.onError,\n }\n );\n } else {\n // undoable mutation: register the mutation for later\n undoableEventEmitter.once('end', ({ isUndo }) => {\n if (isUndo) {\n // rollback\n snapshot.current.forEach(([key, value]) => {\n queryClient.setQueryData(key, value);\n });\n } else {\n // call the mutate method without success side effects\n mutation.mutate(\n { resource: callTimeResource, ...callTimeParams },\n {\n onSettled: otherCallTimeOptions.onSettled,\n onError: otherCallTimeOptions.onError,\n }\n );\n }\n });\n }\n };\n\n const mutationResult = useMemo(\n () => ({\n isLoading: mutation.isPending,\n ...mutation,\n }),\n [mutation]\n );\n\n return [useEvent(mutate), mutationResult];\n};\n\ntype Snapshot = [key: QueryKey, value: any][];\n\nexport interface UseDeleteManyMutateParams<RecordType extends RaRecord = any> {\n resource?: string;\n ids?: RecordType['id'][];\n meta?: any;\n}\n\nexport type UseDeleteManyOptions<\n RecordType extends RaRecord = any,\n MutationError = unknown\n> = UseMutationOptions<\n RecordType['id'][],\n MutationError,\n Partial<UseDeleteManyMutateParams<RecordType>>\n> & { mutationMode?: MutationMode };\n\nexport type UseDeleteManyResult<\n RecordType extends RaRecord = any,\n MutationError = unknown\n> = [\n (\n resource?: string,\n params?: Partial<DeleteManyParams<RecordType>>,\n options?: MutateOptions<\n RecordType['id'][],\n MutationError,\n Partial<UseDeleteManyMutateParams<RecordType>>,\n unknown\n > & { mutationMode?: MutationMode }\n ) => Promise<void>,\n UseMutationResult<\n RecordType['id'][],\n MutationError,\n Partial<DeleteManyParams<RecordType> & { resource?: string }>,\n unknown\n >\n];\n","import * as React from 'react';\nimport { createContext, ReactElement } from 'react';\n\nexport const PreferencesEditorContext = createContext<\n PreferencesEditorContextValue | undefined\n>(undefined);\n\nexport type PreferencesEditorContextValue = {\n editor: ReactElement | null;\n setEditor: React.Dispatch<React.SetStateAction<ReactElement | null>>;\n preferenceKey: string | null;\n setPreferenceKey: React.Dispatch<React.SetStateAction<string | null>>;\n title: string | null;\n titleOptions?: any;\n setTitle: (title: string, titleOptions?: any) => void;\n isEnabled: boolean;\n enable: () => void;\n disable: () => void;\n path: string | null;\n setPath: (path: string) => void;\n};\n","import * as React from 'react';\nimport { ReactElement, useCallback, useMemo, useState } from 'react';\nimport {\n PreferencesEditorContext,\n PreferencesEditorContextValue,\n} from './PreferencesEditorContext';\n\nexport const PreferencesEditorContextProvider = ({ children }) => {\n const [isEnabled, setIsEnabled] = useState(false);\n const [editor, setEditor] = useState<ReactElement | null>(null);\n const [preferenceKey, setPreferenceKey] = useState<string | null>(null);\n const [path, setPath] = useState<string | null>(null);\n const [title, setTitleString] = useState<string | null>(null);\n const [titleOptions, setTitleOptions] = useState<any>();\n const enable = useCallback(() => setIsEnabled(true), []);\n const disable = useCallback(() => {\n setIsEnabled(false);\n setEditor(null);\n }, []);\n\n const setTitle = useCallback((title: string, titleOptions?: any) => {\n setTitleString(title);\n setTitleOptions(titleOptions);\n }, []);\n\n const context = useMemo<PreferencesEditorContextValue>(() => {\n return {\n editor,\n setEditor,\n preferenceKey,\n setPreferenceKey,\n title,\n titleOptions,\n setTitle,\n isEnabled,\n disable,\n enable,\n path,\n setPath,\n };\n }, [\n disable,\n enable,\n editor,\n preferenceKey,\n isEnabled,\n path,\n setPath,\n title,\n titleOptions,\n setTitle,\n ]);\n\n return (\n <PreferencesEditorContext.Provider value={context}>\n {children}\n </PreferencesEditorContext.Provider>\n );\n};\n","import * as React from 'react';\nimport { createContext, useCallback, useState, useMemo } from 'react';\nimport isEqual from 'lodash/isEqual';\n\nimport { AdminChildren, ResourceDefinition, ResourceOptions } from '../types';\n\nexport type ResourceDefinitions<OptionsType extends ResourceOptions = any> = {\n [name: string]: ResourceDefinition<OptionsType>;\n};\n\nexport type ResourceDefinitionContextValue = {\n definitions: ResourceDefinitions;\n register: (config: ResourceDefinition) => void;\n unregister: (config: ResourceDefinition) => void;\n};\n\nexport const ResourceDefinitionContext = createContext<\n ResourceDefinitionContextValue\n>({\n definitions: {},\n register: () => {},\n unregister: () => {},\n});\n\n/**\n * Context to store the current resource Definition.\n *\n * Use the useResourceDefinition() hook to read the context.\n *\n * @example\n *\n * import { useResourceDefinition, useTranslate } from 'ra-core';\n *\n * const PostMenuItem = () => {\n * const { name, icon } = useResourceDefinition({ resource: 'posts' });\n *\n * return (\n * <MenuItem>\n * <ListItemIcon>{icon}</ListItemIcon>\n * {name}\n * </MenuItem>\n * );\n * };\n */\nexport const ResourceDefinitionContextProvider = ({\n definitions: defaultDefinitions = {},\n children,\n}: {\n definitions?: ResourceDefinitions;\n children: AdminChildren;\n}) => {\n const [definitions, setState] = useState<ResourceDefinitions>(\n defaultDefinitions\n );\n\n const register = useCallback((config: ResourceDefinition) => {\n setState(prev =>\n isEqual(prev[config.name], config)\n ? prev\n : {\n ...prev,\n [config.name]: config,\n }\n );\n }, []);\n\n const unregister = useCallback((config: ResourceDefinition) => {\n setState(prev => {\n const { [config.name]: _, ...rest } = prev;\n return rest;\n });\n }, []);\n\n const contextValue = useMemo(\n () => ({ definitions, register, unregister }),\n [definitions] // eslint-disable-line react-hooks/exhaustive-deps\n );\n\n return (\n <ResourceDefinitionContext.Provider value={contextValue}>\n {/* Had to cast here because Provider only accepts ReactNode but we might have a render function */}\n {children as React.ReactNode}\n </ResourceDefinitionContext.Provider>\n );\n};\n","import * as React from 'react';\nimport { useMemo } from 'react';\nimport { QueryClientProvider, QueryClient } from '@tanstack/react-query';\n\nimport { AdminRouter } from '../routing';\nimport { AuthContext, convertLegacyAuthProvider } from '../auth';\nimport {\n DataProviderContext,\n convertLegacyDataProvider,\n defaultDataProvider,\n} from '../dataProvider';\nimport { StoreContextProvider, Store, memoryStore } from '../store';\nimport { PreferencesEditorContextProvider } from '../preferences/PreferencesEditorContextProvider';\nimport { I18nContextProvider } from '../i18n';\nimport { ResourceDefinitionContextProvider } from './ResourceDefinitionContext';\nimport { NotificationContextProvider } from '../notification';\nimport {\n AuthProvider,\n LegacyAuthProvider,\n I18nProvider,\n DataProvider,\n AdminChildren,\n DashboardComponent,\n LegacyDataProvider,\n} from '../types';\n\nconst defaultStore = memoryStore();\n\nexport interface CoreAdminContextProps {\n /**\n * The authentication provider for security and permissions\n *\n * @see https://marmelab.com/react-admin/Authentication.html\n * @example\n * import authProvider from './authProvider';\n *\n * const App = () => (\n * <Admin authProvider={authProvider}>\n * ...\n * </Admin>\n * );\n */\n authProvider?: AuthProvider | LegacyAuthProvider;\n\n /**\n * The base path for all URLs generated by react-admin.\n *\n * @see https://marmelab.com/react-admin/Admin.html#using-react-admin-in-a-sub-path\n * @example\n * import { Admin } from 'react-admin';\n * import { BrowserRouter } from 'react-router-dom';\n * import { dataProvider } from './dataProvider';\n *\n * const App = () => (\n * <BrowserRouter>\n * <Admin basename=\"/admin\" dataProvider={dataProvider}>\n * ...\n * </Admin>\n * </BrowserRouter>\n * );\n */\n basename?: string;\n\n children?: AdminChildren;\n\n /**\n * The component to use for the dashboard page (displayed on the `/` route).\n *\n * @see https://marmelab.com/react-admin/Admin.html#dashboard\n * @example\n * import { Admin } from 'react-admin';\n * import Dashboard from './Dashboard';\n * import { dataProvider } from './dataProvider';\n *\n * const App = () => (\n * <Admin dashboard={Dashboard} dataProvider={dataProvider}>\n * ...\n * </Admin>\n * );\n */\n dashboard?: DashboardComponent;\n\n /**\n * The data provider used to communicate with the API\n *\n * @see https://marmelab.com/react-admin/DataProviders.html\n * @example\n * import { Admin } from 'react-admin';\n * import simpleRestProvider from 'ra-data-simple-rest';\n * const dataProvider = simpleRestProvider('http://path.to.my.api/');\n *\n * const App = () => (\n * <Admin dataProvider={dataProvider}>\n * ...\n * </Admin>\n * );\n */\n dataProvider?: DataProvider | LegacyDataProvider;\n\n /**\n * The adapter for storing user preferences\n *\n * @see https://marmelab.com/react-admin/Admin.html#store\n * @example\n * import { Admin, memoryStore } from 'react-admin';\n *\n * const App = () => (\n * <Admin dataProvider={dataProvider} store={memoryStore()}>\n * ...\n * </Admin>\n * );\n */\n store?: Store;\n\n /**\n * The react-query client\n *\n * @see https://marmelab.com/react-admin/Admin.html#queryclient\n * @example\n * import { Admin } from 'react-admin';\n * import { QueryClient } from '@tanstack/react-query';\n *\n * const queryClient = new QueryClient({\n * defaultOptions: {\n * queries: {\n * retry: false,\n * structuralSharing: false,\n * },\n * mutations: {\n * retryDelay: 10000,\n * },\n * },\n * });\n *\n * const App = () => (\n * <Admin queryClient={queryClient} dataProvider={...}>\n * ...\n * </Admin>\n * );\n */\n queryClient?: QueryClient;\n\n /**\n * The internationalization provider for translations\n *\n * @see https://marmelab.com/react-admin/Translation.html\n * @example\n * // in src/i18nProvider.js\n * import polyglotI18nProvider from 'ra-i18n-polyglot';\n * import fr from 'ra-language-french';\n *\n * export const i18nProvider = polyglotI18nProvider(() => fr, 'fr');\n *\n * // in src/App.js\n * import { Admin } from 'react-admin';\n * import { dataProvider } from './dataProvider';\n * import { i18nProvider } from './i18nProvider';\n *\n * const App = () => (\n * <Admin dataProvider={dataProvider} i18nProvider={i18nProvider}>\n * ...\n * </Admin>\n * );\n */\n i18nProvider?: I18nProvider;\n}\n\nexport const CoreAdminContext = (props: CoreAdminContextProps) => {\n const {\n authProvider,\n basename,\n dataProvider = defaultDataProvider,\n i18nProvider,\n store = defaultStore,\n children,\n queryClient,\n } = props;\n\n if (!dataProvider) {\n throw new Error(`Missing dataProvider prop.\nReact-admin requires a valid dataProvider function to work.`);\n }\n\n const finalQueryClient = useMemo(() => queryClient || new QueryClient(), [\n queryClient,\n ]);\n\n const finalAuthProvider = useMemo(\n () =>\n authProvider instanceof Function\n ? convertLegacyAuthProvider(authProvider)\n : authProvider,\n [authProvider]\n );\n\n const finalDataProvider = useMemo(\n () =>\n dataProvider instanceof Function\n ? convertLegacyDataProvider(dataProvider)\n : dataProvider,\n [dataProvider]\n );\n\n return (\n <AuthContext.Provider value={finalAuthProvider}>\n <DataProviderContext.Provider value={finalDataProvider}>\n <StoreContextProvider value={store}>\n <PreferencesEditorContextProvider>\n <QueryClientProvider client={finalQueryClient}>\n <AdminRouter basename={basename}>\n <I18nContextProvider value={i18nProvider}>\n <NotificationContextProvider>\n <ResourceDefinitionContextProvider>\n {children}\n </ResourceDefinitionContextProvider>\n </NotificationContextProvider>\n </I18nContextProvider>\n </AdminRouter>\n </QueryClientProvider>\n </PreferencesEditorContextProvider>\n </StoreContextProvider>\n </DataProviderContext.Provider>\n </AuthContext.Provider>\n );\n};\n","'use client';\nimport { createContext, Component, createElement, isValidElement, useContext, useState, useMemo, forwardRef } from 'react';\n\nconst ErrorBoundaryContext = createContext(null);\n\nconst initialState = {\n didCatch: false,\n error: null\n};\nclass ErrorBoundary extends Component {\n constructor(props) {\n super(props);\n this.resetErrorBoundary = this.resetErrorBoundary.bind(this);\n this.state = initialState;\n }\n static getDerivedStateFromError(error) {\n return {\n didCatch: true,\n error\n };\n }\n resetErrorBoundary() {\n const {\n error\n } = this.state;\n if (error !== null) {\n var _this$props$onReset, _this$props;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n (_this$props$onReset = (_this$props = this.props).onReset) === null || _this$props$onReset === void 0 ? void 0 : _this$props$onReset.call(_this$props, {\n args,\n reason: \"imperative-api\"\n });\n this.setState(initialState);\n }\n }\n componentDidCatch(error, info) {\n var _this$props$onError, _this$props2;\n (_this$props$onError = (_this$props2 = this.props).onError) === null || _this$props$onError === void 0 ? void 0 : _this$props$onError.call(_this$props2, error, info);\n }\n componentDidUpdate(prevProps, prevState) {\n const {\n didCatch\n } = this.state;\n const {\n resetKeys\n } = this.props;\n\n // There's an edge case where if the thing that triggered the error happens to *also* be in the resetKeys array,\n // we'd end up resetting the error boundary immediately.\n // This would likely trigger a second error to be thrown.\n // So we make sure that we don't check the resetKeys on the first call of cDU after the error is set.\n\n if (didCatch && prevState.error !== null && hasArrayChanged(prevProps.resetKeys, resetKeys)) {\n var _this$props$onReset2, _this$props3;\n (_this$props$onReset2 = (_this$props3 = this.props).onReset) === null || _this$props$onReset2 === void 0 ? void 0 : _this$props$onReset2.call(_this$props3, {\n next: resetKeys,\n prev: prevProps.resetKeys,\n reason: \"keys\"\n });\n this.setState(initialState);\n }\n }\n render() {\n const {\n children,\n fallbackRender,\n FallbackComponent,\n fallback\n } = this.props;\n const {\n didCatch,\n error\n } = this.state;\n let childToRender = children;\n if (didCatch) {\n const props = {\n error,\n resetErrorBoundary: this.resetErrorBoundary\n };\n if (typeof fallbackRender === \"function\") {\n childToRender = fallbackRender(props);\n } else if (FallbackComponent) {\n childToRender = createElement(FallbackComponent, props);\n } else if (fallback === null || isValidElement(fallback)) {\n childToRender = fallback;\n } else {\n throw error;\n }\n }\n return createElement(ErrorBoundaryContext.Provider, {\n value: {\n didCatch,\n error,\n resetErrorBoundary: this.resetErrorBoundary\n }\n }, childToRender);\n }\n}\nfunction hasArrayChanged() {\n let a = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n let b = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n return a.length !== b.length || a.some((item, index) => !Object.is(item, b[index]));\n}\n\nfunction assertErrorBoundaryContext(value) {\n if (value == null || typeof value.didCatch !== \"boolean\" || typeof value.resetErrorBoundary !== \"function\") {\n throw new Error(\"ErrorBoundaryContext not found\");\n }\n}\n\nfunction useErrorBoundary() {\n const context = useContext(ErrorBoundaryContext);\n assertErrorBoundaryContext(context);\n const [state, setState] = useState({\n error: null,\n hasError: false\n });\n const memoized = useMemo(() => ({\n resetBoundary: () => {\n context.resetErrorBoundary();\n setState({\n error: null,\n hasError: false\n });\n },\n showBoundary: error => setState({\n error,\n hasError: true\n })\n }), [context.resetErrorBoundary]);\n if (state.hasError) {\n throw state.error;\n }\n return memoized;\n}\n\nfunction withErrorBoundary(component, errorBoundaryProps) {\n const Wrapped = forwardRef((props, ref) => createElement(ErrorBoundary, errorBoundaryProps, createElement(component, {\n ...props,\n ref\n })));\n\n // Format for display in DevTools\n const name = component.displayName || component.name || \"Unknown\";\n Wrapped.displayName = \"withErrorBoundary(\".concat(name, \")\");\n return Wrapped;\n}\n\nexport { ErrorBoundary, ErrorBoundaryContext, useErrorBoundary, withErrorBoundary };\n","import { useContext } from 'react';\n\nimport { ResourceDefinitionContext } from './ResourceDefinitionContext';\n\nexport const useResourceDefinitionContext = () =>\n useContext(ResourceDefinitionContext);\n","import * as React from 'react';\nimport {\n Children,\n Dispatch,\n Fragment,\n ReactElement,\n ReactNode,\n SetStateAction,\n useCallback,\n useEffect,\n useState,\n} from 'react';\nimport { useLogout, usePermissions } from '../auth';\nimport { useSafeSetState } from '../util';\nimport {\n AdminChildren,\n RenderResourcesFunction,\n ResourceDefinition,\n ResourceProps,\n} from '../types';\nimport { CustomRoutesProps } from './CustomRoutes';\nimport { useResourceDefinitionContext } from './useResourceDefinitionContext';\n\n/**\n * This hook inspects the CoreAdminRouter children and returns them separated in three groups:\n * - Custom routes without layout\n * - Custom routes with layout\n * - Resources\n *\n * It also returns a status:\n * - loading: still loading children from a function child\n * - empty: no resources were provided among children\n * - ready: admin is ready to be rendered\n *\n * @example\n * const {\n * customRoutesWithLayout,\n * customRoutesWithoutLayout,\n * resources,\n * status,\n * } = useConfigureAdminRouterFromChildren(children);\n */\nexport const useConfigureAdminRouterFromChildren = (\n children: AdminChildren\n): RoutesAndResources & { status: AdminRouterStatus } => {\n const { permissions, isPending } = usePermissions();\n\n // Whenever children are updated, update our custom routes and resources\n const [routesAndResources, status] = useRoutesAndResourcesFromChildren(\n children,\n permissions,\n isPending\n );\n\n // Whenever the resources change, we must ensure they're all registered\n useRegisterResources(routesAndResources.resources, permissions);\n\n return {\n customRoutesWithLayout: routesAndResources.customRoutesWithLayout,\n customRoutesWithoutLayout: routesAndResources.customRoutesWithoutLayout,\n status,\n resources: routesAndResources.resources,\n };\n};\n\n/**\n * A hook that determine the routes and resources from React nodes and permissions.\n * Returns a tuple with the routes and resources as a single object, and the status.\n * @param children React nodes to inspect\n * @param permissions The permissions\n */\nconst useRoutesAndResourcesFromChildren = (\n children: AdminChildren,\n permissions: any,\n isLoading: boolean\n): [RoutesAndResources, AdminRouterStatus] => {\n // Gather custom routes and resources that were declared as direct children of CoreAdminRouter\n // e.g. Not returned from the child function (if any)\n // We need to know right away whether some resources were declared to correctly\n // initialize the status at the next stop\n const doLogout = useLogout();\n const [\n routesAndResources,\n setRoutesAndResources,\n mergeRoutesAndResources,\n ] = useRoutesAndResourcesState(getRoutesAndResourceFromNodes(children));\n\n const [status, setStatus] = useSafeSetState<AdminRouterStatus>(() =>\n getStatus({\n children,\n ...routesAndResources,\n })\n );\n if (!status) {\n throw new Error('Status should be defined');\n }\n\n useEffect(() => {\n const resolveChildFunction = async (\n childFunc: RenderResourcesFunction\n ) => {\n try {\n const childrenFuncResult = childFunc(permissions);\n if ((childrenFuncResult as Promise<ReactNode>)?.then) {\n (childrenFuncResult as Promise<ReactNode>).then(\n resolvedChildren => {\n mergeRoutesAndResources(\n getRoutesAndResourceFromNodes(resolvedChildren)\n );\n setStatus('ready');\n }\n );\n } else {\n mergeRoutesAndResources(\n getRoutesAndResourceFromNodes(\n childrenFuncResult as ReactNode\n )\n );\n setStatus('ready');\n }\n } catch (error) {\n console.error(error);\n doLogout();\n }\n };\n\n const updateFromChildren = async () => {\n const functionChild = getSingleChildFunction(children);\n const newRoutesAndResources = getRoutesAndResourceFromNodes(\n children\n );\n setRoutesAndResources(newRoutesAndResources);\n setStatus(\n !!functionChild\n ? 'loading'\n : newRoutesAndResources.resources.length > 0 ||\n newRoutesAndResources.customRoutesWithLayout.length > 0 ||\n newRoutesAndResources.customRoutesWithoutLayout.length > 0\n ? 'ready'\n : 'empty'\n );\n\n if (functionChild) {\n resolveChildFunction(functionChild);\n }\n };\n if (!isLoading) {\n updateFromChildren();\n }\n }, [\n children,\n doLogout,\n isLoading,\n mergeRoutesAndResources,\n permissions,\n setRoutesAndResources,\n setStatus,\n ]);\n\n return [routesAndResources, status];\n};\n\n/*\n * A hook that store the routes and resources just like setState but also provides an additional function\n * to merge new routes and resources with the existing ones.\n */\nconst useRoutesAndResourcesState = (\n initialState: RoutesAndResources\n): [\n RoutesAndResources,\n Dispatch<SetStateAction<RoutesAndResources>>,\n (newRoutesAndResources: RoutesAndResources) => void\n] => {\n const [routesAndResources, setRoutesAndResources] = useState(initialState);\n\n const mergeRoutesAndResources = useCallback(\n (newRoutesAndResources: RoutesAndResources) => {\n setRoutesAndResources(previous => ({\n customRoutesWithLayout: previous.customRoutesWithLayout.concat(\n newRoutesAndResources.customRoutesWithLayout\n ),\n customRoutesWithoutLayout: previous.customRoutesWithoutLayout.concat(\n newRoutesAndResources.customRoutesWithoutLayout\n ),\n resources: previous.resources.concat(\n newRoutesAndResources.resources\n ),\n }));\n },\n []\n );\n\n return [routesAndResources, setRoutesAndResources, mergeRoutesAndResources];\n};\n\n/**\n * A hook that register resources and unregister them when the calling component is unmounted.\n * @param resources: An array of Resource elements\n * @param permissions: The permissions\n */\nconst useRegisterResources = (\n resources: (ReactElement & ResourceWithRegisterFunction)[],\n permissions: any\n) => {\n const { register, unregister } = useResourceDefinitionContext();\n\n useEffect(() => {\n resources.forEach(resource => {\n if (\n typeof ((resource.type as unknown) as ResourceWithRegisterFunction)\n .registerResource === 'function'\n ) {\n const definition = ((resource.type as unknown) as ResourceWithRegisterFunction).registerResource(\n resource.props,\n permissions\n );\n register(definition);\n } else {\n throw new Error(\n 'When using a custom Resource element, it must have a static registerResource method accepting its props and returning a ResourceDefinition'\n );\n }\n });\n return () => {\n resources.forEach(resource => {\n if (\n typeof ((resource.type as unknown) as ResourceWithRegisterFunction)\n .registerResource === 'function'\n ) {\n const definition = ((resource.type as unknown) as ResourceWithRegisterFunction).registerResource(\n resource.props,\n permissions\n );\n unregister(definition);\n } else {\n throw new Error(\n 'When using a custom Resource element, it must have a static registerResource method accepting its props and returning a ResourceDefinition'\n );\n }\n });\n };\n }, [permissions, register, resources, unregister]);\n};\n\nconst getStatus = ({\n children,\n resources,\n customRoutesWithLayout,\n customRoutesWithoutLayout,\n}: {\n children: AdminChildren;\n resources: ReactNode[];\n customRoutesWithLayout: ReactNode[];\n customRoutesWithoutLayout: ReactNode[];\n}): AdminRouterStatus => {\n return getSingleChildFunction(children)\n ? 'loading'\n : resources.length > 0 ||\n customRoutesWithLayout.length > 0 ||\n customRoutesWithoutLayout.length > 0\n ? 'ready'\n : 'empty';\n};\n\n/**\n * Inspect the children of a CoreAdminRouter to see if one of them is a function.\n * Throws an error if there are more than one function child.\n * Returns the function child if one was provided, or null otherwise.\n */\nconst getSingleChildFunction = (\n children: AdminChildren\n): RenderResourcesFunction | null => {\n const childrenArray = Array.isArray(children) ? children : [children];\n\n const functionChildren = childrenArray.filter(\n child => typeof child === 'function'\n );\n\n if (functionChildren.length > 1) {\n throw new Error(\n 'You can only provide one function child to AdminRouter'\n );\n }\n\n if (functionChildren.length === 0) {\n return null;\n }\n\n return functionChildren[0] as RenderResourcesFunction;\n};\n\n/**\n * Inspect the children and return an object with the following keys:\n * - customRoutesWithLayout: an array of the custom routes to render inside the layout\n * - customRoutesWithoutLayout: an array of custom routes to render outside the layout\n * - resources: an array of resources elements\n */\nconst getRoutesAndResourceFromNodes = (\n children: AdminChildren\n): RoutesAndResources => {\n const customRoutesWithLayout: ReactNode[] = [];\n const customRoutesWithoutLayout: ReactNode[] = [];\n const resources: (ReactElement & ResourceWithRegisterFunction)[] = [];\n\n if (typeof children === 'function') {\n return {\n customRoutesWithLayout: [],\n customRoutesWithoutLayout: [],\n resources: [],\n };\n }\n // @ts-ignore\n Children.forEach(children, element => {\n if (!React.isValidElement(element)) {\n // Ignore non-elements. This allows people to more easily inline\n // conditionals in their route config.\n return;\n }\n if (element.type === Fragment) {\n const customRoutesFromFragment = getRoutesAndResourceFromNodes(\n element.props.children\n );\n customRoutesWithLayout.push(\n ...customRoutesFromFragment.customRoutesWithLayout\n );\n customRoutesWithoutLayout.push(\n ...customRoutesFromFragment.customRoutesWithoutLayout\n );\n resources.push(...customRoutesFromFragment.resources);\n }\n\n if ((element.type as any).raName === 'CustomRoutes') {\n const customRoutesElement = element as ReactElement<\n CustomRoutesProps\n >;\n\n if (customRoutesElement.props.noLayout) {\n customRoutesWithoutLayout.push(\n customRoutesElement.props.children\n );\n } else {\n customRoutesWithLayout.push(customRoutesElement.props.children);\n }\n } else if ((element.type as any).raName === 'Resource') {\n resources.push(\n element as ReactElement & ResourceWithRegisterFunction\n );\n }\n });\n\n return {\n customRoutesWithLayout,\n customRoutesWithoutLayout,\n resources,\n };\n};\n\ntype RoutesAndResources = {\n customRoutesWithLayout: ReactNode[];\n customRoutesWithoutLayout: ReactNode[];\n resources: (ReactElement & ResourceWithRegisterFunction)[];\n};\n\ntype ResourceWithRegisterFunction = {\n registerResource: (\n props: ResourceProps,\n permissions: any\n ) => ResourceDefinition;\n};\n\ntype AdminRouterStatus = 'loading' | 'empty' | 'ready';\n","import { createContext, useContext } from 'react';\n\nexport const HasDashboardContext = createContext<boolean>(false);\n\nexport const HasDashboardContextProvider = HasDashboardContext.Provider;\n\n/**\n * Returns true if the app has a dashboard defined at the <Admin> level.\n *\n * @private\n * @example\n * import { useHasDashboard } from 'react-admin';\n *\n * const MyMenu = () => {\n * const hasDashboard = useHasDashboard();\n * return (\n * <Menu>\n * {hasDashboard && <DashboardMenuItem />}\n * <MenuItemLink to=\"/posts\" />\n * <MenuItemLink to=\"/comments\" />\n * </Menu>\n * );\n * }\n */\nexport const useHasDashboard = () => useContext(HasDashboardContext);\n","import * as React from 'react';\nimport { useState, useEffect, Children, ComponentType } from 'react';\nimport { Navigate, Route, Routes } from 'react-router-dom';\n\nimport { WithPermissions, useCheckAuth, LogoutOnMount } from '../auth';\nimport { useScrollToTop, useCreatePath } from '../routing';\nimport {\n AdminChildren,\n CatchAllComponent,\n DashboardComponent,\n LayoutComponent,\n LoadingComponent,\n} from '../types';\nimport { useConfigureAdminRouterFromChildren } from './useConfigureAdminRouterFromChildren';\nimport { HasDashboardContextProvider } from './HasDashboardContext';\n\nexport const CoreAdminRoutes = (props: CoreAdminRoutesProps) => {\n useScrollToTop();\n const createPath = useCreatePath();\n\n const {\n customRoutesWithLayout,\n customRoutesWithoutLayout,\n status,\n resources,\n } = useConfigureAdminRouterFromChildren(props.children);\n\n const {\n layout: Layout,\n catchAll: CatchAll,\n dashboard,\n loading: LoadingPage,\n requireAuth,\n ready: Ready,\n } = props;\n\n const [onlyAnonymousRoutes, setOnlyAnonymousRoutes] = useState(requireAuth);\n const [checkAuthLoading, setCheckAuthLoading] = useState(requireAuth);\n const checkAuth = useCheckAuth();\n\n useEffect(() => {\n if (requireAuth) {\n // do not log the user out on failure to allow access to custom routes with no layout\n // for other routes, the LogoutOnMount component will log the user out\n checkAuth(undefined, false)\n .then(() => {\n setOnlyAnonymousRoutes(false);\n })\n .catch(() => {})\n .finally(() => {\n setCheckAuthLoading(false);\n });\n }\n }, [checkAuth, requireAuth]);\n\n if (status === 'empty') {\n if (!Ready) {\n throw new Error(\n 'The admin is empty. Please provide an empty component, or pass Resource or CustomRoutes as children.'\n );\n }\n return <Ready />;\n }\n\n // Note: custom routes with no layout are always rendered, regardless of the auth status\n\n if (status === 'loading' || checkAuthLoading) {\n return (\n <Routes>\n {customRoutesWithoutLayout}\n <Route\n path=\"*\"\n element={\n <div style={{ height: '100vh' }}>\n <LoadingPage />\n </div>\n }\n />\n </Routes>\n );\n }\n\n if (onlyAnonymousRoutes) {\n return (\n <Routes>\n {customRoutesWithoutLayout}\n <Route path=\"*\" element={<LogoutOnMount />} />\n </Routes>\n );\n }\n\n return (\n <Routes>\n {/*\n Render the custom routes that were outside the child function.\n */}\n {customRoutesWithoutLayout}\n <Route\n path=\"/*\"\n element={\n <HasDashboardContextProvider value={!!dashboard}>\n <Layout>\n <Routes>\n {customRoutesWithLayout}\n {Children.map(resources, resource => (\n <Route\n key={resource.props.name}\n path={`${resource.props.name}/*`}\n element={resource}\n />\n ))}\n <Route\n path=\"/\"\n element={\n dashboard ? (\n <WithPermissions\n authParams={defaultAuthParams}\n component={dashboard}\n />\n ) : resources.length > 0 ? (\n <Navigate\n to={createPath({\n resource:\n resources[0].props.name,\n type: 'list',\n })}\n />\n ) : null\n }\n />\n <Route path=\"*\" element={<CatchAll />} />\n </Routes>\n </Layout>\n </HasDashboardContextProvider>\n }\n />\n </Routes>\n );\n};\n\nexport interface CoreAdminRoutesProps {\n dashboard?: DashboardComponent;\n layout: LayoutComponent;\n catchAll: CatchAllComponent;\n children?: AdminChildren;\n loading: LoadingComponent;\n requireAuth?: boolean;\n ready?: ComponentType;\n}\n\nconst defaultAuthParams = { params: { route: 'dashboard' } };\n","import { createContext, useContext } from 'react';\nimport type { TitleComponent } from '../types';\n\nexport const DefaultTitleContext = createContext<TitleComponent>('React Admin');\n\nexport const DefaultTitleContextProvider = DefaultTitleContext.Provider;\n\n/**\n * Get the application title defined at the `<Admin>` level\n *\n * @example\n * import { useDefaultTitle } from 'react-admin';\n *\n * const AppBar = () => {\n * const defaultTitle = useDefaultTitle();\n * return <span>{defaultTitle}</span>;\n * }\n */\nexport const useDefaultTitle = () => useContext(DefaultTitleContext);\n","import * as React from 'react';\nimport {\n ComponentType,\n useEffect,\n isValidElement,\n createElement,\n useState,\n ErrorInfo,\n ReactElement,\n} from 'react';\nimport { Routes, Route } from 'react-router-dom';\nimport { ErrorBoundary } from 'react-error-boundary';\n\nimport { CoreAdminRoutes } from './CoreAdminRoutes';\nimport { useResetErrorBoundaryOnLocationChange } from '../routing';\nimport { Ready } from '../util';\nimport { DefaultTitleContextProvider } from './DefaultTitleContext';\nimport type {\n TitleComponent,\n LoginComponent,\n LayoutComponent,\n AdminChildren,\n CatchAllComponent,\n DashboardComponent,\n LoadingComponent,\n} from '../types';\n\nexport type ChildrenFunction = () => ComponentType[];\n\nconst DefaultLayout = ({ children }: { children: React.ReactNode }) => (\n <>{children}</>\n);\nconst DefaultError = ({ error, errorInfo, resetErrorBoundary }) => {\n useResetErrorBoundaryOnLocationChange(resetErrorBoundary);\n return (\n <div>\n <h1>Error</h1>\n <pre>\n {error.message}\n {errorInfo?.componentStack}\n </pre>\n </div>\n );\n};\n\nexport interface CoreAdminUIProps {\n /**\n * The content displayed when the user visits the /auth-callback page, used for redirection by third-party authentication providers\n *\n * @see https://marmelab.com/react-admin/Admin.html#authcallbackpage\n * @example\n * import { Admin } from 'react-admin';\n * import { dataProvider } from './dataProvider';\n * import { authProvider } from './authProvider';\n * import MyAuthCallbackPage from './MyAuthCallbackPage';\n *\n * const App = () => (\n * <Admin\n * authCallbackPage={MyAuthCallbackPage}\n * authProvider={authProvider}\n * dataProvider={dataProvider}\n * >\n * ...\n * </Admin>\n * );\n */\n authCallbackPage?: ComponentType | boolean;\n\n /**\n * A catch-all react component to display when the URL does not match any\n *\n * @see https://marmelab.com/react-admin/Admin.html#catchall\n * @example\n * // in src/NotFound.js\n * import Card from '@mui/material/Card';\n * import CardContent from '@mui/material/CardContent';\n * import { Title } from 'react-admin';\n *\n * export const NotFound = () => (\n * <Card>\n * <Title title=\"Not Found\" />\n * <CardContent>\n * <h1>404: Page not found</h1>\n * </CardContent>\n * </Card>\n * );\n *\n * // in src/App.js\n * import { Admin } from 'react-admin';\n * import { dataProvider } from './dataProvider';\n * import { NotFound } from './NotFound';\n *\n * const App = () => (\n * <Admin catchAll={NotFound} dataProvider={dataProvider}>\n * ...\n * </Admin>\n * );\n */\n catchAll?: CatchAllComponent;\n\n children?: AdminChildren;\n\n /**\n * The component to use for the dashboard page (displayed on the `/` route).\n *\n * @see https://marmelab.com/react-admin/Admin.html#dashboard\n * @example\n * import { Admin } from 'react-admin';\n * import Dashboard from './Dashboard';\n * import { dataProvider } from './dataProvider';\n *\n * const App = () => (\n * <Admin dashboard={Dashboard} dataProvider={dataProvider}>\n * ...\n * </Admin>\n * );\n */\n dashboard?: DashboardComponent;\n\n /**\n * Set to true to disable anonymous telemetry collection\n *\n * @see https://marmelab.com/react-admin/Admin.html#disabletelemetry\n * @example\n * import { Admin } from 'react-admin';\n * import { dataProvider } from './dataProvider';\n *\n * const App = () => (\n * <Admin disableTelemetry dataProvider={dataProvider}>\n * ...\n * </Admin>\n * );\n */\n disableTelemetry?: boolean;\n\n /**\n * The component displayed when an error is caught in a child component\n * @see https://marmelab.com/react-admin/Admin.html#error\n * @example\n * import { Admin } from 'react-admin';\n * import { MyError } from './error';\n *\n * const App = () => (\n * <Admin error={MyError}>\n * ...\n * </Admin>\n * );\n */\n error?: ({\n errorInfo,\n error,\n resetErrorBoundary,\n }: {\n errorInfo?: ErrorInfo;\n error?: Error;\n resetErrorBoundary?: (args) => void;\n }) => ReactElement;\n\n /**\n * The main app layout component\n *\n * @see https://marmelab.com/react-admin/Admin.html#layout\n * @example\n * import { Admin, Layout } from 'react-admin';\n *\n * const MyLayout = ({ children }) => (\n * <Layout appBarAlwaysOn>\n * {children}\n * </Layout>\n * );\n *\n * export const App = () => (\n * <Admin dataProvider={dataProvider} layout={MyLayout}>\n * ...\n * </Admin>\n * );\n */\n layout?: LayoutComponent;\n\n /**\n * The component displayed while fetching the auth provider if the admin child is an async function\n */\n loading?: LoadingComponent;\n\n /**\n * The component displayed when the user visits the /login page\n * @see https://marmelab.com/react-admin/Admin.html#loginpage\n * @example\n * import { Admin } from 'react-admin';\n * import { dataProvider } from './dataProvider';\n * import { authProvider } from './authProvider';\n * import MyLoginPage from './MyLoginPage';\n *\n * const App = () => (\n * <Admin\n * loginPage={MyLoginPage}\n * authProvider={authProvider}\n * dataProvider={dataProvider}\n * >\n * ...\n * </Admin>\n * );\n */\n loginPage?: LoginComponent | boolean;\n\n /**\n * Flag to require authentication for all routes. Defaults to false.\n *\n * @see https://marmelab.com/react-admin/Admin.html#requireauth\n * @example\n * import { Admin } from 'react-admin';\n * import { dataProvider } from './dataProvider';\n * import { authProvider } from './authProvider';\n *\n * const App = () => (\n * <Admin\n * requireAuth\n * authProvider={authProvider}\n * dataProvider={dataProvider}\n * >\n * ...\n * </Admin>\n * );\n */\n requireAuth?: boolean;\n\n /**\n * The page to display when the admin has no Resource children\n *\n * @see https://marmelab.com/react-admin/Admin.html#ready\n * @example\n * import { Admin } from 'react-admin';\n *\n * const Ready = () => (\n * <div>\n * <h1>Admin ready</h1>\n * <p>You can now add resources</p>\n * </div>\n * )\n *\n * const App = () => (\n * <Admin ready={Ready}>\n * ...\n * </Admin>\n * );\n */\n ready?: ComponentType;\n\n /**\n * The title of the error page\n * @see https://marmelab.com/react-admin/Admin.html#title\n * @example\n * import { Admin } from 'react-admin';\n * import { dataProvider } from './dataProvider';\n *\n * const App = () => (\n * <Admin title=\"My Admin\" dataProvider={dataProvider}>\n * ...\n * </Admin>\n * );\n */\n title?: TitleComponent;\n}\n\nexport const CoreAdminUI = (props: CoreAdminUIProps) => {\n const [errorInfo, setErrorInfo] = useState<ErrorInfo>({});\n const {\n authCallbackPage: LoginCallbackPage = false,\n catchAll = Noop,\n children,\n dashboard,\n disableTelemetry = false,\n error: ErrorComponent = DefaultError,\n layout = DefaultLayout,\n loading = Noop,\n loginPage: LoginPage = false,\n ready = Ready,\n requireAuth = false,\n title = 'React Admin',\n } = props;\n\n useEffect(() => {\n if (\n disableTelemetry ||\n process.env.NODE_ENV !== 'production' ||\n typeof window === 'undefined' ||\n typeof window.location === 'undefined' ||\n typeof Image === 'undefined'\n ) {\n return;\n }\n const img = new Image();\n img.src = `https://react-admin-telemetry.marmelab.com/react-admin-telemetry?domain=${window.location.hostname}`;\n }, [disableTelemetry]);\n\n const handleError = (error: Error, info: ErrorInfo) => setErrorInfo(info);\n\n return (\n <DefaultTitleContextProvider value={title}>\n <ErrorBoundary\n onError={handleError}\n fallbackRender={({ error, resetErrorBoundary }) => (\n <ErrorComponent\n error={error}\n errorInfo={errorInfo}\n resetErrorBoundary={resetErrorBoundary}\n />\n )}\n >\n <Routes>\n {LoginPage !== false && LoginPage !== true ? (\n <Route\n path=\"/login\"\n element={createOrGetElement(LoginPage)}\n />\n ) : null}\n\n {LoginCallbackPage !== false &&\n LoginCallbackPage !== true ? (\n <Route\n path=\"/auth-callback\"\n element={createOrGetElement(LoginCallbackPage)}\n />\n ) : null}\n\n <Route\n path=\"/*\"\n element={\n <CoreAdminRoutes\n catchAll={catchAll}\n dashboard={dashboard}\n layout={layout}\n loading={loading}\n requireAuth={requireAuth}\n ready={ready}\n >\n {children}\n </CoreAdminRoutes>\n }\n />\n </Routes>\n </ErrorBoundary>\n </DefaultTitleContextProvider>\n );\n};\n\nconst createOrGetElement = el => (isValidElement(el) ? el : createElement(el));\n\nconst Noop = () => null;\n","import { createContext } from 'react';\n\n/**\n * Context to store the current resource name.\n *\n * Use the useResource() hook to read the context. That's what most components do in react-admin.\n *\n * @example\n *\n * import { useResourceContext, useTranslate } from 'ra-core';\n *\n * const MyCustomEditTitle = props => {\n * const name = useResourceContext(props);\n *\n * return (\n * <h1>{translate(`${name}.name`)}</h1>\n * );\n * };\n */\nexport const ResourceContext = createContext<ResourceContextValue>(undefined);\n\nexport type ResourceContextValue = string | undefined;\n","import * as React from 'react';\nimport { ReactNode } from 'react';\nimport { ResourceContext, ResourceContextValue } from './ResourceContext';\n\n/**\n * Create a Resource Context with the resource name\n *\n * Some react-admin components rely on the resource name to be available in the context.\n * This component provides it.\n *\n * If the value is empty, the context is not provided.\n *\n * @param {string} value the resource name\n * @example\n *\n * import { ResourceContextProvider } from 'react-admin';\n *\n * const MyComponent = () => (\n * <ResourceContextProvider value=\"posts\">\n * <MyResourceSpecificComponent />\n * </ResourceContextProvider>\n * );\n */\nexport const ResourceContextProvider = ({\n children,\n value,\n}: {\n children: ReactNode;\n value?: ResourceContextValue;\n}) =>\n value ? (\n <ResourceContext.Provider value={value}>\n {children}\n </ResourceContext.Provider>\n ) : (\n children\n );\n","import * as React from 'react';\nimport { ReactElement } from 'react';\nimport { ResourceContextValue } from './ResourceContext';\nimport { ResourceContextProvider } from './ResourceContextProvider';\n\n/**\n * Wrap children with a ResourceContext provider only if the value is defined.\n *\n * Allows a component to work outside of a resource context.\n *\n * @example\n *\n * import { OptionalResourceContextProvider, EditButton } from 'react-admin';\n *\n * const Button = ({ resource }) => (\n * <OptionalResourceContextProvider value={resource}>\n * <EditButton />\n * </OptionalResourceContextProvider>\n * );\n */\nexport const OptionalResourceContextProvider = ({\n value,\n children,\n}: {\n value?: ResourceContextValue;\n children: ReactElement;\n}) =>\n value ? (\n <ResourceContextProvider value={value}>\n {children}\n </ResourceContextProvider>\n ) : (\n children\n );\n","/**\n * @license React\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var b=Symbol.for(\"react.element\"),c=Symbol.for(\"react.portal\"),d=Symbol.for(\"react.fragment\"),e=Symbol.for(\"react.strict_mode\"),f=Symbol.for(\"react.profiler\"),g=Symbol.for(\"react.provider\"),h=Symbol.for(\"react.context\"),k=Symbol.for(\"react.server_context\"),l=Symbol.for(\"react.forward_ref\"),m=Symbol.for(\"react.suspense\"),n=Symbol.for(\"react.suspense_list\"),p=Symbol.for(\"react.memo\"),q=Symbol.for(\"react.lazy\"),t=Symbol.for(\"react.offscreen\"),u;u=Symbol.for(\"react.module.reference\");\nfunction v(a){if(\"object\"===typeof a&&null!==a){var r=a.$$typeof;switch(r){case b:switch(a=a.type,a){case d:case f:case e:case m:case n:return a;default:switch(a=a&&a.$$typeof,a){case k:case h:case l:case q:case p:case g:return a;default:return r}}case c:return r}}}exports.ContextConsumer=h;exports.ContextProvider=g;exports.Element=b;exports.ForwardRef=l;exports.Fragment=d;exports.Lazy=q;exports.Memo=p;exports.Portal=c;exports.Profiler=f;exports.StrictMode=e;exports.Suspense=m;\nexports.SuspenseList=n;exports.isAsyncMode=function(){return!1};exports.isConcurrentMode=function(){return!1};exports.isContextConsumer=function(a){return v(a)===h};exports.isContextProvider=function(a){return v(a)===g};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===b};exports.isForwardRef=function(a){return v(a)===l};exports.isFragment=function(a){return v(a)===d};exports.isLazy=function(a){return v(a)===q};exports.isMemo=function(a){return v(a)===p};\nexports.isPortal=function(a){return v(a)===c};exports.isProfiler=function(a){return v(a)===f};exports.isStrictMode=function(a){return v(a)===e};exports.isSuspense=function(a){return v(a)===m};exports.isSuspenseList=function(a){return v(a)===n};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===d||a===f||a===e||a===m||a===n||a===t||\"object\"===typeof a&&null!==a&&(a.$$typeof===q||a.$$typeof===p||a.$$typeof===g||a.$$typeof===h||a.$$typeof===l||a.$$typeof===u||void 0!==a.getModuleId)?!0:!1};exports.typeOf=v;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","import * as React from 'react';\nimport { ComponentType, ReactElement, isValidElement } from 'react';\nimport { Route, Routes } from 'react-router-dom';\nimport { isValidElementType } from 'react-is';\n\nimport { ResourceProps } from '../types';\nimport { ResourceContextProvider } from './ResourceContextProvider';\nimport { RestoreScrollPosition } from '../routing/RestoreScrollPosition';\n\nexport const Resource = (props: ResourceProps) => {\n const { create, edit, list, name, show } = props;\n\n return (\n <ResourceContextProvider value={name}>\n <Routes>\n {create && (\n <Route path=\"create/*\" element={getElement(create)} />\n )}\n {show && <Route path=\":id/show/*\" element={getElement(show)} />}\n {edit && <Route path=\":id/*\" element={getElement(edit)} />}\n {list && (\n <Route\n path=\"/*\"\n element={\n <RestoreScrollPosition\n storeKey={`${name}.list.scrollPosition`}\n >\n {getElement(list)}\n </RestoreScrollPosition>\n }\n />\n )}\n {props.children}\n </Routes>\n </ResourceContextProvider>\n );\n};\n\nconst getElement = (ElementOrComponent: ComponentType<any> | ReactElement) => {\n if (isValidElement(ElementOrComponent)) {\n return ElementOrComponent;\n }\n\n if (isValidElementType(ElementOrComponent)) {\n const Element = ElementOrComponent as ComponentType<any>;\n return <Element />;\n }\n\n return null;\n};\n\nResource.raName = 'Resource';\n\nResource.registerResource = ({\n create,\n edit,\n icon,\n list,\n name,\n options,\n show,\n recordRepresentation,\n hasCreate,\n hasEdit,\n hasShow,\n}: ResourceProps) => ({\n name,\n options,\n hasList: !!list,\n hasCreate: !!create || !!hasCreate,\n hasEdit: !!edit || !!hasEdit,\n hasShow: !!show || !!hasShow,\n icon,\n recordRepresentation,\n});\n","import { createContext, useContext } from 'react';\n\nexport type SourceContextValue =\n | {\n /*\n * Returns the source for a field or input, modified according to the context.\n */\n getSource: (source: string) => string;\n /*\n * Returns the label for a field or input, modified according to the context. Returns a translation key.\n */\n getLabel: (source: string) => string;\n }\n | undefined;\n\n/**\n * Context that provides a function that accept a source and return a modified source (prefixed, suffixed, etc.) for fields and inputs.\n *\n * @example\n * const sourceContext = {\n * getSource: source => `coordinates.${source}`,\n * getLabel: source => `resources.posts.fields.${source}`,\n * }\n * const CoordinatesInput = () => {\n * return (\n * <SouceContextProvider value={sourceContext}>\n * <TextInput source=\"lat\" />\n * <TextInput source=\"lng\" />\n * </SouceContextProvider>\n * );\n * };\n */\nexport const SourceContext = createContext<SourceContextValue>(undefined);\n\nexport const SourceContextProvider = SourceContext.Provider;\n\nexport const useSourceContext = () => useContext(SourceContext);\n","import type { ResourceOptions } from '../types';\nimport type { ResourceDefinitions } from './ResourceDefinitionContext';\nimport { useResourceDefinitionContext } from './useResourceDefinitionContext';\n\n/**\n * Get the definition of the all resources\n *\n * @example\n *\n * const definitions = useResourceDefinitions();\n * console.log(definitions.posts);\n * // {\n * // name: 'posts',\n * // hasList: true,\n * // hasEdit: true,\n * // hasShow: true,\n * // hasCreate: true,\n * // options: {},\n * // icon: PostIcon,\n * // recordRepresentation: 'title',\n * // }\n */\nexport const useResourceDefinitions = <\n OptionsType extends ResourceOptions = any\n>(): ResourceDefinitions<OptionsType> =>\n useResourceDefinitionContext().definitions;\n","\"use strict\";\n/*!\n * inflection\n * Copyright(c) 2011 Ben Lin <ben@dreamerslab.com>\n * MIT Licensed\n *\n * @fileoverview\n * A port of inflection-js to node.js module.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.transform = exports.ordinalize = exports.foreignKey = exports.classify = exports.tableize = exports.demodulize = exports.titleize = exports.dasherize = exports.capitalize = exports.humanize = exports.underscore = exports.camelize = exports.inflect = exports.singularize = exports.pluralize = void 0;\n/**\n * @description This is a list of nouns that use the same form for both singular and plural.\n * This list should remain entirely in lower case to correctly match Strings.\n */\nconst uncountableWords = [\n // 'access',\n 'accommodation',\n 'adulthood',\n 'advertising',\n 'advice',\n 'aggression',\n 'aid',\n 'air',\n 'aircraft',\n 'alcohol',\n 'anger',\n 'applause',\n 'arithmetic',\n // 'art',\n 'assistance',\n 'athletics',\n // 'attention',\n 'bacon',\n 'baggage',\n // 'ballet',\n // 'beauty',\n 'beef',\n // 'beer',\n // 'behavior',\n 'biology',\n // 'billiards',\n 'blood',\n 'botany',\n // 'bowels',\n 'bread',\n // 'business',\n 'butter',\n 'carbon',\n 'cardboard',\n 'cash',\n 'chalk',\n 'chaos',\n 'chess',\n 'crossroads',\n 'countryside',\n // 'damage',\n 'dancing',\n // 'danger',\n 'deer',\n // 'delight',\n // 'dessert',\n 'dignity',\n 'dirt',\n // 'distribution',\n 'dust',\n 'economics',\n 'education',\n 'electricity',\n // 'employment',\n // 'energy',\n 'engineering',\n 'enjoyment',\n // 'entertainment',\n 'envy',\n 'equipment',\n 'ethics',\n 'evidence',\n 'evolution',\n // 'failure',\n // 'faith',\n 'fame',\n 'fiction',\n // 'fish',\n 'flour',\n 'flu',\n 'food',\n // 'freedom',\n // 'fruit',\n 'fuel',\n 'fun',\n // 'funeral',\n 'furniture',\n 'gallows',\n 'garbage',\n 'garlic',\n // 'gas',\n 'genetics',\n // 'glass',\n 'gold',\n 'golf',\n 'gossip',\n // 'grass',\n 'gratitude',\n 'grief',\n // 'ground',\n 'guilt',\n 'gymnastics',\n // 'hair',\n 'happiness',\n 'hardware',\n 'harm',\n 'hate',\n 'hatred',\n 'health',\n 'heat',\n // 'height',\n 'help',\n 'homework',\n 'honesty',\n 'honey',\n 'hospitality',\n 'housework',\n 'humour',\n 'hunger',\n 'hydrogen',\n 'ice',\n 'importance',\n 'inflation',\n 'information',\n // 'injustice',\n 'innocence',\n // 'intelligence',\n 'iron',\n 'irony',\n 'jam',\n // 'jealousy',\n // 'jelly',\n 'jewelry',\n // 'joy',\n 'judo',\n // 'juice',\n // 'justice',\n 'karate',\n // 'kindness',\n 'knowledge',\n // 'labour',\n 'lack',\n // 'land',\n 'laughter',\n 'lava',\n 'leather',\n 'leisure',\n 'lightning',\n 'linguine',\n 'linguini',\n 'linguistics',\n 'literature',\n 'litter',\n 'livestock',\n 'logic',\n 'loneliness',\n // 'love',\n 'luck',\n 'luggage',\n 'macaroni',\n 'machinery',\n 'magic',\n // 'mail',\n 'management',\n 'mankind',\n 'marble',\n 'mathematics',\n 'mayonnaise',\n 'measles',\n // 'meat',\n // 'metal',\n 'methane',\n 'milk',\n 'minus',\n 'money',\n // 'moose',\n 'mud',\n 'music',\n 'mumps',\n 'nature',\n 'news',\n 'nitrogen',\n 'nonsense',\n 'nurture',\n 'nutrition',\n 'obedience',\n 'obesity',\n // 'oil',\n 'oxygen',\n // 'paper',\n // 'passion',\n 'pasta',\n 'patience',\n // 'permission',\n 'physics',\n 'poetry',\n 'pollution',\n 'poverty',\n // 'power',\n 'pride',\n // 'production',\n // 'progress',\n // 'pronunciation',\n 'psychology',\n 'publicity',\n 'punctuation',\n // 'quality',\n // 'quantity',\n 'quartz',\n 'racism',\n // 'rain',\n // 'recreation',\n 'relaxation',\n 'reliability',\n 'research',\n 'respect',\n 'revenge',\n 'rice',\n 'rubbish',\n 'rum',\n 'safety',\n // 'salad',\n // 'salt',\n // 'sand',\n // 'satire',\n 'scenery',\n 'seafood',\n 'seaside',\n 'series',\n 'shame',\n 'sheep',\n 'shopping',\n // 'silence',\n 'sleep',\n // 'slang'\n 'smoke',\n 'smoking',\n 'snow',\n 'soap',\n 'software',\n 'soil',\n // 'sorrow',\n // 'soup',\n 'spaghetti',\n // 'speed',\n 'species',\n // 'spelling',\n // 'sport',\n 'steam',\n // 'strength',\n 'stuff',\n 'stupidity',\n // 'success',\n // 'sugar',\n 'sunshine',\n 'symmetry',\n // 'tea',\n 'tennis',\n 'thirst',\n 'thunder',\n 'timber',\n // 'time',\n // 'toast',\n // 'tolerance',\n // 'trade',\n 'traffic',\n 'transportation',\n // 'travel',\n 'trust',\n // 'understanding',\n 'underwear',\n 'unemployment',\n 'unity',\n // 'usage',\n 'validity',\n 'veal',\n 'vegetation',\n 'vegetarianism',\n 'vengeance',\n 'violence',\n // 'vision',\n 'vitality',\n 'warmth',\n // 'water',\n 'wealth',\n 'weather',\n // 'weight',\n 'welfare',\n 'wheat',\n // 'whiskey',\n // 'width',\n 'wildlife',\n // 'wine',\n 'wisdom',\n // 'wood',\n // 'wool',\n // 'work',\n // 'yeast',\n 'yoga',\n 'zinc',\n 'zoology',\n];\n/**\n * @description These rules translate from the singular form of a noun to its plural form.\n */\nconst regex = {\n plural: {\n men: new RegExp('^(m|wom)en$', 'gi'),\n people: new RegExp('(pe)ople$', 'gi'),\n children: new RegExp('(child)ren$', 'gi'),\n tia: new RegExp('([ti])a$', 'gi'),\n analyses: new RegExp('((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)ses$', 'gi'),\n databases: new RegExp('(database)s$', 'gi'),\n drives: new RegExp('(drive)s$', 'gi'),\n hives: new RegExp('(hi|ti)ves$', 'gi'),\n curves: new RegExp('(curve)s$', 'gi'),\n lrves: new RegExp('([lr])ves$', 'gi'),\n aves: new RegExp('([a])ves$', 'gi'),\n foves: new RegExp('([^fo])ves$', 'gi'),\n movies: new RegExp('(m)ovies$', 'gi'),\n aeiouyies: new RegExp('([^aeiouy]|qu)ies$', 'gi'),\n series: new RegExp('(s)eries$', 'gi'),\n xes: new RegExp('(x|ch|ss|sh)es$', 'gi'),\n mice: new RegExp('([m|l])ice$', 'gi'),\n buses: new RegExp('(bus)es$', 'gi'),\n oes: new RegExp('(o)es$', 'gi'),\n shoes: new RegExp('(shoe)s$', 'gi'),\n crises: new RegExp('(cris|ax|test)es$', 'gi'),\n octopuses: new RegExp('(octop|vir)uses$', 'gi'),\n aliases: new RegExp('(alias|canvas|status|campus)es$', 'gi'),\n summonses: new RegExp('^(summons|bonus)es$', 'gi'),\n oxen: new RegExp('^(ox)en', 'gi'),\n matrices: new RegExp('(matr)ices$', 'gi'),\n vertices: new RegExp('(vert|ind)ices$', 'gi'),\n feet: new RegExp('^feet$', 'gi'),\n teeth: new RegExp('^teeth$', 'gi'),\n geese: new RegExp('^geese$', 'gi'),\n quizzes: new RegExp('(quiz)zes$', 'gi'),\n whereases: new RegExp('^(whereas)es$', 'gi'),\n criteria: new RegExp('^(criteri)a$', 'gi'),\n genera: new RegExp('^genera$', 'gi'),\n ss: new RegExp('ss$', 'gi'),\n s: new RegExp('s$', 'gi'),\n },\n singular: {\n man: new RegExp('^(m|wom)an$', 'gi'),\n person: new RegExp('(pe)rson$', 'gi'),\n child: new RegExp('(child)$', 'gi'),\n drive: new RegExp('(drive)$', 'gi'),\n ox: new RegExp('^(ox)$', 'gi'),\n axis: new RegExp('(ax|test)is$', 'gi'),\n octopus: new RegExp('(octop|vir)us$', 'gi'),\n alias: new RegExp('(alias|status|canvas|campus)$', 'gi'),\n summons: new RegExp('^(summons|bonus)$', 'gi'),\n bus: new RegExp('(bu)s$', 'gi'),\n buffalo: new RegExp('(buffal|tomat|potat)o$', 'gi'),\n tium: new RegExp('([ti])um$', 'gi'),\n sis: new RegExp('sis$', 'gi'),\n ffe: new RegExp('(?:([^f])fe|([lr])f)$', 'gi'),\n hive: new RegExp('(hi|ti)ve$', 'gi'),\n aeiouyy: new RegExp('([^aeiouy]|qu)y$', 'gi'),\n x: new RegExp('(x|ch|ss|sh)$', 'gi'),\n matrix: new RegExp('(matr)ix$', 'gi'),\n vertex: new RegExp('(vert|ind)ex$', 'gi'),\n mouse: new RegExp('([m|l])ouse$', 'gi'),\n foot: new RegExp('^foot$', 'gi'),\n tooth: new RegExp('^tooth$', 'gi'),\n goose: new RegExp('^goose$', 'gi'),\n quiz: new RegExp('(quiz)$', 'gi'),\n whereas: new RegExp('^(whereas)$', 'gi'),\n criterion: new RegExp('^(criteri)on$', 'gi'),\n genus: new RegExp('^genus$', 'gi'),\n s: new RegExp('s$', 'gi'),\n common: new RegExp('$', 'gi'),\n },\n};\nconst pluralRules = [\n // do not replace if its already a plural word\n [regex.plural.men],\n [regex.plural.people],\n [regex.plural.children],\n [regex.plural.tia],\n [regex.plural.analyses],\n [regex.plural.databases],\n [regex.plural.drives],\n [regex.plural.hives],\n [regex.plural.curves],\n [regex.plural.lrves],\n [regex.plural.foves],\n [regex.plural.aeiouyies],\n [regex.plural.series],\n [regex.plural.movies],\n [regex.plural.xes],\n [regex.plural.mice],\n [regex.plural.buses],\n [regex.plural.oes],\n [regex.plural.shoes],\n [regex.plural.crises],\n [regex.plural.octopuses],\n [regex.plural.aliases],\n [regex.plural.summonses],\n [regex.plural.oxen],\n [regex.plural.matrices],\n [regex.plural.feet],\n [regex.plural.teeth],\n [regex.plural.geese],\n [regex.plural.quizzes],\n [regex.plural.whereases],\n [regex.plural.criteria],\n [regex.plural.genera],\n // original rule\n [regex.singular.man, '$1en'],\n [regex.singular.person, '$1ople'],\n [regex.singular.child, '$1ren'],\n [regex.singular.drive, '$1s'],\n [regex.singular.ox, '$1en'],\n [regex.singular.axis, '$1es'],\n [regex.singular.octopus, '$1uses'],\n [regex.singular.alias, '$1es'],\n [regex.singular.summons, '$1es'],\n [regex.singular.bus, '$1ses'],\n [regex.singular.buffalo, '$1oes'],\n [regex.singular.tium, '$1a'],\n [regex.singular.sis, 'ses'],\n [regex.singular.ffe, '$1$2ves'],\n [regex.singular.hive, '$1ves'],\n [regex.singular.aeiouyy, '$1ies'],\n [regex.singular.matrix, '$1ices'],\n [regex.singular.vertex, '$1ices'],\n [regex.singular.x, '$1es'],\n [regex.singular.mouse, '$1ice'],\n [regex.singular.foot, 'feet'],\n [regex.singular.tooth, 'teeth'],\n [regex.singular.goose, 'geese'],\n [regex.singular.quiz, '$1zes'],\n [regex.singular.whereas, '$1es'],\n [regex.singular.criterion, '$1a'],\n [regex.singular.genus, 'genera'],\n [regex.singular.s, 's'],\n [regex.singular.common, 's'],\n];\n/**\n * @description These rules translate from the plural form of a noun to its singular form.\n */\nconst singularRules = [\n // do not replace if its already a singular word\n [regex.singular.man],\n [regex.singular.person],\n [regex.singular.child],\n [regex.singular.drive],\n [regex.singular.ox],\n [regex.singular.axis],\n [regex.singular.octopus],\n [regex.singular.alias],\n [regex.singular.summons],\n [regex.singular.bus],\n [regex.singular.buffalo],\n [regex.singular.tium],\n [regex.singular.sis],\n [regex.singular.ffe],\n [regex.singular.hive],\n [regex.singular.aeiouyy],\n [regex.singular.x],\n [regex.singular.matrix],\n [regex.singular.mouse],\n [regex.singular.foot],\n [regex.singular.tooth],\n [regex.singular.goose],\n [regex.singular.quiz],\n [regex.singular.whereas],\n [regex.singular.criterion],\n [regex.singular.genus],\n // original rule\n [regex.plural.men, '$1an'],\n [regex.plural.people, '$1rson'],\n [regex.plural.children, '$1'],\n [regex.plural.databases, '$1'],\n [regex.plural.drives, '$1'],\n [regex.plural.genera, 'genus'],\n [regex.plural.criteria, '$1on'],\n [regex.plural.tia, '$1um'],\n [regex.plural.analyses, '$1$2sis'],\n [regex.plural.hives, '$1ve'],\n [regex.plural.curves, '$1'],\n [regex.plural.lrves, '$1f'],\n [regex.plural.aves, '$1ve'],\n [regex.plural.foves, '$1fe'],\n [regex.plural.movies, '$1ovie'],\n [regex.plural.aeiouyies, '$1y'],\n [regex.plural.series, '$1eries'],\n [regex.plural.xes, '$1'],\n [regex.plural.mice, '$1ouse'],\n [regex.plural.buses, '$1'],\n [regex.plural.oes, '$1'],\n [regex.plural.shoes, '$1'],\n [regex.plural.crises, '$1is'],\n [regex.plural.octopuses, '$1us'],\n [regex.plural.aliases, '$1'],\n [regex.plural.summonses, '$1'],\n [regex.plural.oxen, '$1'],\n [regex.plural.matrices, '$1ix'],\n [regex.plural.vertices, '$1ex'],\n [regex.plural.feet, 'foot'],\n [regex.plural.teeth, 'tooth'],\n [regex.plural.geese, 'goose'],\n [regex.plural.quizzes, '$1'],\n [regex.plural.whereases, '$1'],\n [regex.plural.ss, 'ss'],\n [regex.plural.s, ''],\n];\n/**\n * @description This is a list of words that should not be capitalized for title case.\n */\nconst nonTitlecasedWords = [\n 'and',\n 'or',\n 'nor',\n 'a',\n 'an',\n 'the',\n 'so',\n 'but',\n 'to',\n 'of',\n 'at',\n 'by',\n 'from',\n 'into',\n 'on',\n 'onto',\n 'off',\n 'out',\n 'in',\n 'over',\n 'with',\n 'for',\n];\n/**\n * @description These are regular expressions used for converting between String formats.\n */\nconst idSuffix = new RegExp('(_ids|_id)$', 'g');\nconst underbar = new RegExp('_', 'g');\nconst spaceOrUnderbar = new RegExp('[ _]', 'g');\nconst uppercase = new RegExp('([A-Z])', 'g');\nconst underbarPrefix = new RegExp('^_');\n/**\n * A helper method that applies rules based replacement to a String.\n * @param str String to modify and return based on the passed rules.\n * @param rules Regexp to match paired with String to use for replacement\n * @param skip Strings to skip if they match\n * @param override String to return as though this method succeeded (used to conform to APIs)\n * @returns Return passed String modified by passed rules.\n * @example\n *\n * applyRules( 'cows', singular_rules ); // === 'cow'\n */\nfunction applyRules(str, rules, skip, override) {\n if (override) {\n return override;\n }\n else {\n if (skip.includes(str.toLocaleLowerCase())) {\n return str;\n }\n for (const rule of rules) {\n if (str.match(rule[0])) {\n if (rule[1] !== undefined) {\n return str.replace(rule[0], rule[1]);\n }\n return str;\n }\n }\n }\n return str;\n}\n/**\n * This function adds pluralization support to every String object.\n * @param str The subject string.\n * @param plural Overrides normal output with said String.(optional)\n * @returns Singular English language nouns are returned in plural form.\n * @example\n *\n * const inflection = require( 'inflection' );\n *\n * inflection.pluralize( 'person' ); // === 'people'\n * inflection.pluralize( 'octopus' ); // === 'octopuses'\n * inflection.pluralize( 'Hat' ); // === 'Hats'\n * inflection.pluralize( 'person', 'guys' ); // === 'guys'\n */\nfunction pluralize(str, plural) {\n return applyRules(str, pluralRules, uncountableWords, plural);\n}\nexports.pluralize = pluralize;\n/**\n * This function adds singularization support to every String object.\n * @param str The subject string.\n * @param singular Overrides normal output with said String.(optional)\n * @returns Plural English language nouns are returned in singular form.\n * @example\n *\n * const inflection = require( 'inflection' );\n *\n * inflection.singularize( 'people' ); // === 'person'\n * inflection.singularize( 'octopuses' ); // === 'octopus'\n * inflection.singularize( 'Hats' ); // === 'Hat'\n * inflection.singularize( 'guys', 'person' ); // === 'person'\n */\nfunction singularize(str, singular) {\n return applyRules(str, singularRules, uncountableWords, singular);\n}\nexports.singularize = singularize;\n/**\n * This function will pluralize or singularlize a String appropriately based on a number value\n * @param str The subject string.\n * @param count The number to base pluralization off of.\n * @param singular Overrides normal output with said String.(optional)\n * @param plural Overrides normal output with said String.(optional)\n * @returns English language nouns are returned in the plural or singular form based on the count.\n * @example\n *\n * const inflection = require( 'inflection' );\n *\n * inflection.inflect( 'people' 1 ); // === 'person'\n * inflection.inflect( 'octopuses' 1 ); // === 'octopus'\n * inflection.inflect( 'Hats' 1 ); // === 'Hat'\n * inflection.inflect( 'guys', 1 , 'person' ); // === 'person'\n * inflection.inflect( 'inches', 1.5 ); // === 'inches'\n * inflection.inflect( 'person', 2 ); // === 'people'\n * inflection.inflect( 'octopus', 2 ); // === 'octopuses'\n * inflection.inflect( 'Hat', 2 ); // === 'Hats'\n * inflection.inflect( 'person', 2, null, 'guys' ); // === 'guys'\n */\nfunction inflect(str, count, singular, plural) {\n if (isNaN(count))\n return str;\n if (count === 1) {\n return applyRules(str, singularRules, uncountableWords, singular);\n }\n else {\n return applyRules(str, pluralRules, uncountableWords, plural);\n }\n}\nexports.inflect = inflect;\n/**\n * This function adds camelization support to every String object.\n * @param str The subject string.\n * @param lowFirstLetter Default is to capitalize the first letter of the results.(optional)\n * Passing true will lowercase it.\n * @returns Lower case underscored words will be returned in camel case.\n * additionally '/' is translated to '::'\n * @example\n *\n * const inflection = require( 'inflection' );\n *\n * inflection.camelize( 'message_properties' ); // === 'MessageProperties'\n * inflection.camelize( 'message_properties', true ); // === 'messageProperties'\n */\nfunction camelize(str, lowFirstLetter) {\n const strPath = str.split('/');\n const j = strPath.length;\n let strArr, k, l, first;\n for (let i = 0; i < j; i++) {\n strArr = strPath[i].split('_');\n k = 0;\n l = strArr.length;\n for (; k < l; k++) {\n if (k !== 0) {\n strArr[k] = strArr[k].toLowerCase();\n }\n first = strArr[k].charAt(0);\n first =\n lowFirstLetter && i === 0 && k === 0\n ? first.toLowerCase()\n : first.toUpperCase();\n strArr[k] = first + strArr[k].substring(1);\n }\n strPath[i] = strArr.join('');\n }\n return strPath.join('::');\n}\nexports.camelize = camelize;\n/**\n * This function adds underscore support to every String object.\n * @param str The subject string.\n * @param allUpperCase Default is to lowercase and add underscore prefix.(optional)\n * Passing true will return as entered.\n * @returns Camel cased words are returned as lower cased and underscored.\n * additionally '::' is translated to '/'.\n * @example\n *\n * const inflection = require( 'inflection' );\n *\n * inflection.underscore( 'MessageProperties' ); // === 'message_properties'\n * inflection.underscore( 'messageProperties' ); // === 'message_properties'\n * inflection.underscore( 'MP', true ); // === 'MP'\n */\nfunction underscore(str, allUpperCase) {\n if (allUpperCase && str === str.toUpperCase())\n return str;\n const strPath = str.split('::');\n const j = strPath.length;\n for (let i = 0; i < j; i++) {\n strPath[i] = strPath[i].replace(uppercase, '_$1');\n strPath[i] = strPath[i].replace(underbarPrefix, '');\n }\n return strPath.join('/').toLowerCase();\n}\nexports.underscore = underscore;\n/**\n * This function adds humanize support to every String object.\n * @param str The subject string.\n * @param lowFirstLetter Default is to capitalize the first letter of the results.(optional)\n * Passing true will lowercase it.\n * @returns Lower case underscored words will be returned in humanized form.\n * @example\n *\n * const inflection = require( 'inflection' );\n *\n * inflection.humanize( 'message_properties' ); // === 'Message properties'\n * inflection.humanize( 'message_properties', true ); // === 'message properties'\n */\nfunction humanize(str, lowFirstLetter) {\n str = str.toLowerCase();\n str = str.replace(idSuffix, '');\n str = str.replace(underbar, ' ');\n if (!lowFirstLetter) {\n str = capitalize(str);\n }\n return str;\n}\nexports.humanize = humanize;\n/**\n * This function adds capitalization support to every String object.\n * @param str The subject string.\n * @returns All characters will be lower case and the first will be upper.\n * @example\n *\n * const inflection = require( 'inflection' );\n *\n * inflection.capitalize( 'message_properties' ); // === 'Message_properties'\n * inflection.capitalize( 'message properties', true ); // === 'Message properties'\n */\nfunction capitalize(str) {\n str = str.toLowerCase();\n return str.substring(0, 1).toUpperCase() + str.substring(1);\n}\nexports.capitalize = capitalize;\n/**\n * This function replaces underscores with dashes in the string.\n * @param str The subject string.\n * @returns Replaces all spaces or underscores with dashes.\n * @example\n *\n * const inflection = require( 'inflection' );\n *\n * inflection.dasherize( 'message_properties' ); // === 'message-properties'\n * inflection.dasherize( 'Message Properties' ); // === 'Message-Properties'\n */\nfunction dasherize(str) {\n return str.replace(spaceOrUnderbar, '-');\n}\nexports.dasherize = dasherize;\n/**\n * This function adds titleize support to every String object.\n * @param str The subject string.\n * @returns Capitalizes words as you would for a book title.\n * @example\n *\n * const inflection = require( 'inflection' );\n *\n * inflection.titleize( 'message_properties' ); // === 'Message Properties'\n * inflection.titleize( 'message properties to keep' ); // === 'Message Properties to Keep'\n */\nfunction titleize(str) {\n str = str.toLowerCase().replace(underbar, ' ');\n const strArr = str.split(' ');\n const j = strArr.length;\n let d, l;\n for (let i = 0; i < j; i++) {\n d = strArr[i].split('-');\n l = d.length;\n for (let k = 0; k < l; k++) {\n if (nonTitlecasedWords.indexOf(d[k].toLowerCase()) < 0) {\n d[k] = capitalize(d[k]);\n }\n }\n strArr[i] = d.join('-');\n }\n str = strArr.join(' ');\n str = str.substring(0, 1).toUpperCase() + str.substring(1);\n return str;\n}\nexports.titleize = titleize;\n/**\n * This function adds demodulize support to every String object.\n * @param str The subject string.\n * @returns Removes module names leaving only class names.(Ruby style)\n * @example\n *\n * const inflection = require( 'inflection' );\n *\n * inflection.demodulize( 'Message::Bus::Properties' ); // === 'Properties'\n */\nfunction demodulize(str) {\n const strArr = str.split('::');\n return strArr[strArr.length - 1];\n}\nexports.demodulize = demodulize;\n/**\n * This function adds tableize support to every String object.\n * @param str The subject string.\n * @returns Return camel cased words into their underscored plural form.\n * @example\n *\n * const inflection = require( 'inflection' );\n *\n * inflection.tableize( 'MessageBusProperty' ); // === 'message_bus_properties'\n */\nfunction tableize(str) {\n str = underscore(str);\n str = pluralize(str);\n return str;\n}\nexports.tableize = tableize;\n/**\n * This function adds classification support to every String object.\n * @param str The subject string.\n * @returns Underscored plural nouns become the camel cased singular form.\n * @example\n *\n * const inflection = require( 'inflection' );\n *\n * inflection.classify( 'message_bus_properties' ); // === 'MessageBusProperty'\n */\nfunction classify(str) {\n str = camelize(str);\n str = singularize(str);\n return str;\n}\nexports.classify = classify;\n/**\n * This function adds foreign key support to every String object.\n * @param str The subject string.\n * @param dropIdUbar Default is to seperate id with an underbar at the end of the class name,\n you can pass true to skip it.(optional)\n * @returns Underscored plural nouns become the camel cased singular form.\n * @example\n *\n * const inflection = require( 'inflection' );\n *\n * inflection.foreign_key( 'MessageBusProperty' ); // === 'message_bus_property_id'\n * inflection.foreign_key( 'MessageBusProperty', true ); // === 'message_bus_propertyid'\n */\nfunction foreignKey(str, dropIdUbar) {\n str = demodulize(str);\n str = underscore(str) + (dropIdUbar ? '' : '_') + 'id';\n return str;\n}\nexports.foreignKey = foreignKey;\n/**\n * This function adds ordinalize support to every String object.\n * @param str The subject string.\n * @returns Return all found numbers their sequence like '22nd'.\n * @example\n *\n * const inflection = require( 'inflection' );\n *\n * inflection.ordinalize( 'the 1 pitch' ); // === 'the 1st pitch'\n */\nfunction ordinalize(str) {\n const strArr = str.split(' ');\n const j = strArr.length;\n for (let i = 0; i < j; i++) {\n const k = parseInt(strArr[i], 10);\n if (!isNaN(k)) {\n const ltd = strArr[i].substring(strArr[i].length - 2);\n const ld = strArr[i].substring(strArr[i].length - 1);\n let suf = 'th';\n if (ltd != '11' && ltd != '12' && ltd != '13') {\n if (ld === '1') {\n suf = 'st';\n }\n else if (ld === '2') {\n suf = 'nd';\n }\n else if (ld === '3') {\n suf = 'rd';\n }\n }\n strArr[i] += suf;\n }\n }\n return strArr.join(' ');\n}\nexports.ordinalize = ordinalize;\nconst transformFunctions = {\n pluralize,\n singularize,\n camelize,\n underscore,\n humanize,\n capitalize,\n dasherize,\n titleize,\n demodulize,\n tableize,\n classify,\n foreignKey,\n ordinalize,\n};\n/**\n * This function performs multiple inflection methods on a string\n * @param str The subject string.\n * @param arr An array of inflection methods.\n * @returns\n * @example\n *\n * const inflection = require( 'inflection' );\n *\n * inflection.transform( 'all job', [ 'pluralize', 'capitalize', 'dasherize' ]); // === 'All-jobs'\n */\nfunction transform(str, arr) {\n const j = arr.length;\n for (let i = 0; i < j; i++) {\n const method = arr[i];\n const methodFn = transformFunctions[method];\n if (methodFn) {\n str = methodFn(str);\n }\n }\n return str;\n}\nexports.transform = transform;\n","import { useResourceDefinitions } from './useResourceDefinitions';\nimport { useTranslate } from '../i18n';\nimport { humanize, pluralize, singularize } from 'inflection';\n\n/**\n * A hook which returns function to get a translated resource name. It will use the label option of the `Resource` component if it was provided.\n *\n * @returns {GetResourceLabel} A function which takes a resource name and an optional number indicating the number of items (used for pluralization) and returns a translated string.\n * @example\n * const Menu = () => {\n * const resources = useResourceDefinitions();\n * const getResourceLabel = useGetResourceLabel();\n *\n * return (\n * <ul>\n * {Object.keys(resources).map(name => (\n * <li key={name}>\n * {getResourceLabel(name, 2)}\n * </li>\n * ))}\n * </ul>\n * )\n * }\n */\nexport const useGetResourceLabel = (): GetResourceLabel => {\n const translate = useTranslate();\n const definitions = useResourceDefinitions();\n\n return (resource: string, count = 2): string => {\n const resourceDefinition = definitions[resource];\n\n const label = translate(`resources.${resource}.name`, {\n smart_count: count,\n _:\n resourceDefinition &&\n resourceDefinition.options &&\n resourceDefinition.options.label\n ? translate(resourceDefinition.options.label, {\n smart_count: count,\n _: resourceDefinition.options.label,\n })\n : humanize(\n count > 1\n ? pluralize(resource)\n : singularize(resource)\n ),\n });\n\n return label;\n };\n};\n\nexport type GetResourceLabel = (resource: string, count?: number) => string;\n","import { useContext } from 'react';\nimport { ResourceContext, ResourceContextValue } from './ResourceContext';\n\n/**\n * Hook to read the resource from the ResourceContext.\n *\n * Must be used within a <ResourceContextProvider> (e.g. as a descendent of <Resource>\n * or any reference related components), or called with a resource prop.\n *\n * @example\n *\n * const ResourceName = (props) => {\n * const resource = useResourceContext(props);\n * const getResourceLabel = useGetResourceLabel();\n * return <>{getResourceLabel(resource, 1)}</>;\n * }\n *\n * // use it in a resource context\n * const MyComponent = () => (\n * <ResourceContextProvider value=\"posts\">\n * <ResourceName />\n * ...\n * </ResourceContextProvider>\n * );\n *\n * // override resource via props\n * const MyComponent = () => (\n * <>\n * <ResourceName resource=\"posts\"/>\n * ...\n * </>\n * );\n *\n * @returns {ResourceContextValue} The resource name, e.g. 'posts'\n */\nexport const useResourceContext = <\n ResourceInformationsType extends Partial<{ resource: string }>\n>(\n props?: ResourceInformationsType\n): ResourceContextValue => {\n const context = useContext(ResourceContext);\n return (props && props.resource) || context;\n};\n","import { useMemo } from 'react';\nimport defaults from 'lodash/defaults';\n\nimport { useResourceDefinitions } from './useResourceDefinitions';\nimport { useResourceContext } from './useResourceContext';\nimport { ResourceDefinition, ResourceOptions } from '../types';\n\n/**\n * Hook to get the definition of a given resource\n *\n * @example // Get the current resource definition (based on ResourceContext)\n *\n * const definition = useResourceDefinition();\n * console.log(definition);\n * // {\n * // name: 'posts',\n * // hasList: true,\n * // hasEdit: true,\n * // hasShow: true,\n * // hasCreate: true,\n * // options: {},\n * // icon: PostIcon,\n * // }\n *\n * @example // Pass a resource prop to check a different resource definition\n *\n * const definition = useResourceDefinition({ resource: 'posts' });\n */\nexport const useResourceDefinition = <\n OptionsType extends ResourceOptions = any\n>(\n props?: UseResourceDefinitionOptions\n): ResourceDefinition<OptionsType> => {\n const resource = useResourceContext(props);\n const resourceDefinitions = useResourceDefinitions();\n const { hasCreate, hasEdit, hasList, hasShow, recordRepresentation } =\n props || {};\n\n const definition = useMemo(() => {\n return defaults(\n {},\n {\n hasCreate,\n hasEdit,\n hasList,\n hasShow,\n recordRepresentation,\n },\n resource ? resourceDefinitions[resource] : {}\n ) as ResourceDefinition<OptionsType>;\n }, [\n resource,\n resourceDefinitions,\n hasCreate,\n hasEdit,\n hasList,\n hasShow,\n recordRepresentation,\n ]);\n\n return definition;\n};\n\nexport interface UseResourceDefinitionOptions {\n readonly resource?: string;\n readonly hasList?: boolean;\n readonly hasEdit?: boolean;\n readonly hasShow?: boolean;\n readonly hasCreate?: boolean;\n readonly recordRepresentation?:\n | string\n | React.ReactElement\n | ((record: any) => string);\n}\n","import * as React from 'react';\nimport { useCallback, ReactNode } from 'react';\nimport get from 'lodash/get';\n\nimport { useResourceDefinition } from './useResourceDefinition';\n\n/**\n * Get default string representation of a record\n *\n * @example // No customization\n * const getRecordRepresentation = useGetRecordRepresentation('posts');\n * getRecordRepresentation({ id: 1, title: 'Hello' }); // => \"#1\"\n *\n * @example // With <Resource name=\"posts\" recordRepresentation=\"title\" />\n * const getRecordRepresentation = useGetRecordRepresentation('posts');\n * getRecordRepresentation({ id: 1, title: 'Hello' }); // => \"Hello\"\n */\nexport const useGetRecordRepresentation = (\n resource?: string\n): ((record: any) => ReactNode) => {\n const { recordRepresentation } = useResourceDefinition({ resource });\n return useCallback(\n record => {\n if (!record) return '';\n if (typeof recordRepresentation === 'function') {\n return recordRepresentation(record);\n }\n if (typeof recordRepresentation === 'string') {\n return get(record, recordRepresentation);\n }\n if (React.isValidElement(recordRepresentation)) {\n return recordRepresentation;\n }\n if (record?.name != null && record?.name !== '') {\n return record.name;\n }\n if (record?.title != null && record?.title !== '') {\n return record.title;\n }\n if (record?.label != null && record?.label !== '') {\n return record.label;\n }\n if (record?.reference != null && record?.reference !== '') {\n return record.reference;\n }\n return `#${record.id}`;\n },\n [recordRepresentation]\n );\n};\n","import { useSourceContext } from './SourceContext';\n\n/**\n * Get the source prop for a field or input by checking if a source context is available.\n * @param {string} source The original source prop\n * @returns {string} The source prop, either the original one or the one modified by the SourceContext.\n * @example\n * const MyInput = ({ source, ...props }) => {\n * const finalSource = useWrappedSource(source);\n * return <input name={finalSource} {...props} />;\n * };\n */\nexport const useWrappedSource = (source: string) => {\n const sourceContext = useSourceContext();\n return sourceContext?.getSource(source) ?? source;\n};\n","import { useCallback, ReactElement } from 'react';\n\nimport { useTranslate } from './useTranslate';\nimport { getFieldLabelTranslationArgs } from '../util';\nimport { useResourceContext, useSourceContext } from '../core';\n\nexport const useTranslateLabel = () => {\n const translate = useTranslate();\n const resourceFromContext = useResourceContext();\n const sourceContext = useSourceContext();\n\n return useCallback(\n ({\n source,\n label,\n resource,\n }: {\n source?: string;\n label?: string | false | ReactElement;\n resource?: string;\n }) => {\n if (label === false || label === '') {\n return null;\n }\n\n if (label && typeof label !== 'string') {\n return label;\n }\n\n return translate(\n ...getFieldLabelTranslationArgs({\n label: label as string,\n defaultLabel: source\n ? sourceContext?.getLabel(source)\n : undefined,\n resource,\n resourceFromContext,\n source,\n })\n );\n },\n [resourceFromContext, translate, sourceContext]\n );\n};\n","import * as React from 'react';\nimport { ReactElement, memo } from 'react';\n\nimport { useTranslateLabel } from '../i18n';\n\nexport interface FieldTitleProps {\n isRequired?: boolean;\n resource?: string;\n source?: string;\n label?: string | ReactElement | boolean;\n}\n\nexport const FieldTitle = (props: FieldTitleProps) => {\n const { source, label, resource, isRequired } = props;\n const translateLabel = useTranslateLabel();\n\n if (label === true) {\n throw new Error(\n 'Label parameter must be a string, a ReactElement or false'\n );\n }\n\n if (label === false || label === '') {\n return null;\n }\n\n if (label && typeof label !== 'string') {\n return label;\n }\n\n return (\n <span>\n {translateLabel({\n label,\n resource,\n source,\n })}\n {isRequired && <span aria-hidden=\"true\"> *</span>}\n </span>\n );\n};\n\n// What? TypeScript loses the displayName if we don't set it explicitly\nFieldTitle.displayName = 'FieldTitle';\n\nexport default memo(FieldTitle);\n","import * as React from 'react';\nimport { useState } from 'react';\n\nconst styles = {\n root: {\n width: '100vw',\n height: '100vh',\n display: 'flex',\n flexDirection: 'column' as 'column',\n fontFamily: '\"Roboto\", sans-serif',\n },\n main: {\n flex: 1,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n textAlign: 'center' as 'center',\n flexDirection: 'column' as 'column',\n background:\n 'linear-gradient(135deg, #00023b 0%, #00023b 50%, #313264 100%)',\n color: 'white',\n fontSize: '1.5em',\n fontWeight: 'bold' as 'bold',\n },\n secondary: {\n height: '20vh',\n background: '#e8e8e8',\n color: 'black',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-evenly',\n },\n link: {\n textAlign: 'center' as 'center',\n width: 150,\n display: 'block',\n textDecoration: 'none',\n color: 'black',\n opacity: 0.7,\n },\n linkHovered: {\n opacity: 1,\n },\n image: {\n width: 50,\n },\n logo: {\n height: 100,\n },\n};\n\nconst Button = ({ img, label, href }) => {\n const [hovered, setHovered] = useState(false);\n return (\n <div>\n <a\n href={href}\n style={\n hovered\n ? { ...styles.link, ...styles.linkHovered }\n : styles.link\n }\n onMouseEnter={() => setHovered(true)}\n onMouseLeave={() => setHovered(false)}\n >\n <img src={img} alt={label} style={styles.image} />\n <br />\n {label}\n </a>\n </div>\n );\n};\n\nexport default () =>\n process.env.NODE_ENV === 'production' ? (\n <span />\n ) : (\n <div style={styles.root}>\n <div style={styles.main}>\n <img\n style={styles.logo}\n src=\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDIzLjAuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkNhbHF1ZV8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIKCSB2aWV3Qm94PSIwIDAgMTMxIDEzMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTMxIDEzMTsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLnN0MHtmaWxsOiMyMjI0NTg7fQoJLnN0MXtmaWxsOiM1MTUzN0Q7fQoJLnN0MntmaWxsOiNBM0E0Qjk7fQoJLnN0M3tmaWxsOiMwMDAyM0I7fQoJLnN0NHtmaWxsOiNGRkZGRkY7fQoJLnN0NXtlbmFibGUtYmFja2dyb3VuZDpuZXcgICAgO30KPC9zdHlsZT4KPHRpdGxlPkxvZ29fc29tYnJlX2FpPC90aXRsZT4KPGcgaWQ9IlJlY3RhbmdsZV81NiI+Cgk8Zz4KCQk8cmVjdCB4PSIxOS4xIiB5PSIxOSIgdHJhbnNmb3JtPSJtYXRyaXgoMC41IC0wLjg2NiAwLjg2NiAwLjUgLTIzLjkyMjYgODkuNTQ2KSIgY2xhc3M9InN0MCIgd2lkdGg9IjkyLjkiIGhlaWdodD0iOTIuOSIvPgoJCTxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik04MywxMzAuM0wwLjgsODIuOUw0OC4yLDAuN2w4Mi4yLDQ3LjVMODMsMTMwLjN6IE0zLjUsODIuMWw3OC43LDQ1LjVsNDUuNS03OC43TDQ5LDMuNEwzLjUsODIuMXoiLz4KCTwvZz4KPC9nPgo8ZyBpZD0iUmVjdGFuZ2xlXzU2LTIiPgoJPGc+CgkJPHJlY3QgeD0iMTkiIHk9IjE5LjEiIHRyYW5zZm9ybT0ibWF0cml4KDAuODY2IC0wLjUgMC41IDAuODY2IC0yMy45Nzc3IDQxLjUyNykiIGNsYXNzPSJzdDAiIHdpZHRoPSI5Mi45IiBoZWlnaHQ9IjkyLjkiLz4KCQk8cGF0aCBjbGFzcz0ic3QyIiBkPSJNNDcuOSwxMzFMMCw0OEw4My4xLDBsNDgsODMuMUw0Ny45LDEzMXogTTQuMSw0OS4xbDQ1LDc3LjlsNzcuOS00NUw4Miw0LjFMNC4xLDQ5LjF6Ii8+Cgk8L2c+CjwvZz4KPGcgaWQ9IlJlY3RhbmdsZV81Ni0zIj4KCTxnPgoJCTxyZWN0IHg9IjE5LjEiIHk9IjE5IiBjbGFzcz0ic3QzIiB3aWR0aD0iOTIuOSIgaGVpZ2h0PSI5Mi45Ii8+CgkJPHBhdGggY2xhc3M9InN0NCIgZD0iTTExNC41LDExNC41SDE2LjZWMTYuNWg5Ny45VjExNC41eiBNMjEuNiwxMDkuNWg4Ny45VjIxLjVIMjEuNlYxMDkuNXoiLz4KCTwvZz4KPC9nPgo8ZyBpZD0iUmEiPgoJPGcgY2xhc3M9InN0NSI+CgkJPHBhdGggY2xhc3M9InN0NCIgZD0iTTU5LDg2LjdsLTYuNy0xOS4yaC0xLjJIMzguOXYxOS4yaC01LjZWMzguNWgxOC41YzMuNiwwLDYuMywwLjYsOC4xLDEuOGMxLjgsMS4yLDMsMi44LDMuNSw0LjgKCQkJYzAuNSwyLDAuOCw0LjYsMC44LDcuOGMwLDMuNS0wLjQsNi40LTEuMyw4LjdjLTAuOCwyLjMtMi42LDMuOS01LjMsNC44TDY1LDg2LjdINTl6IE01NS43LDYxLjZjMS4yLTAuNywyLTEuNywyLjQtMwoJCQljMC40LTEuMywwLjYtMy4yLDAuNi01LjZjMC0yLjUtMC4yLTQuMy0wLjUtNS42Yy0wLjMtMS4zLTEuMS0yLjItMi4zLTIuOWMtMS4yLTAuNy0zLTEtNS41LTFIMzguOXYxOS4xSDUwCgkJCUM1Mi41LDYyLjYsNTQuNCw2Mi4zLDU1LjcsNjEuNnoiLz4KCQk8cGF0aCBjbGFzcz0ic3Q0IiBkPSJNNzQuMyw4NWMtMS42LTEuNS0yLjUtNC4yLTIuNS04LjJjMC0yLjcsMC4zLTQuOCwwLjktNi4zYzAuNi0xLjUsMS42LTIuNiwzLTMuM2MxLjQtMC43LDMuNC0xLDYtMQoJCQljMS4zLDAsNS4xLDAuMSwxMS40LDAuM3YtMi40YzAtMi45LTAuMi01LTAuNy02LjJjLTAuNS0xLjItMS4zLTItMi42LTIuNGMtMS4yLTAuMy0zLjMtMC41LTYuMy0wLjVjLTEuMywwLTMsMC4xLTQuOSwwLjIKCQkJYy0yLDAuMS0zLjYsMC4zLTQuOCwwLjV2LTQuM2MzLjMtMC43LDcuMS0xLDExLjQtMWMzLjcsMCw2LjUsMC40LDguNCwxLjJjMS44LDAuOCwzLjEsMi4yLDMuOCw0LjFjMC43LDEuOSwxLDQuNywxLDguNHYyMi41aC00LjgKCQkJbC0wLjMtNWgtMC4zYy0wLjgsMi4yLTIuMiwzLjctNC4xLDQuNGMtMS45LDAuNy00LjEsMS4xLTYuNiwxLjFDNzguNiw4Ny4yLDc2LDg2LjUsNzQuMyw4NXogTTg5LjEsODJjMS4yLTAuNCwyLjItMS4yLDIuOC0yLjQKCQkJYzAuOS0xLjgsMS4zLTQuMywxLjMtNy4zdi0yaC0xMGMtMS43LDAtMywwLjItMy44LDAuNWMtMC44LDAuMy0xLjQsMC45LTEuNywxLjhjLTAuMywwLjktMC41LDIuMi0wLjUsNGMwLDEuOCwwLjIsMy4xLDAuNiwzLjkKCQkJYzAuNCwwLjgsMS4xLDEuNCwyLDEuOGMxLDAuMywyLjUsMC41LDQuNSwwLjVDODYuMiw4Mi42LDg3LjgsODIuNCw4OS4xLDgyeiIvPgoJPC9nPgo8L2c+Cjwvc3ZnPgo=\"\n alt=\"react-admin logo\"\n />\n <h1>Welcome to React-admin</h1>\n <div>\n Your application is properly configured.\n <br />\n Now you can add a <Resource> as child of\n <Admin>.\n </div>\n </div>\n <div style={styles.secondary}>\n <Button\n href=\"https://marmelab.com/react-admin/documentation.html\"\n img=\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDIzLjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSIyNHB4IgoJIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAwIDI0IDI0IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAyNCAyNCIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxnIGlkPSJCb3VuZGluZ19Cb3giPgoJPHJlY3QgZmlsbD0ibm9uZSIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ii8+CjwvZz4KPGcgaWQ9IkZsYXQiPgoJPGcgaWQ9InVpX3g1Rl9zcGVjX3g1Rl9oZWFkZXJfY29weV8yIj4KCTwvZz4KCTxnPgoJCTxwYXRoIGQ9Ik0yMSw1Yy0xLjExLTAuMzUtMi4zMy0wLjUtMy41LTAuNWMtMS45NSwwLTQuMDUsMC40LTUuNSwxLjVjLTEuNDUtMS4xLTMuNTUtMS41LTUuNS0xLjVTMi40NSw0LjksMSw2djE0LjY1CgkJCWMwLDAuMjUsMC4yNSwwLjUsMC41LDAuNWMwLjEsMCwwLjE1LTAuMDUsMC4yNS0wLjA1QzMuMSwyMC40NSw1LjA1LDIwLDYuNSwyMGMxLjk1LDAsNC4wNSwwLjQsNS41LDEuNWMxLjM1LTAuODUsMy44LTEuNSw1LjUtMS41CgkJCWMxLjY1LDAsMy4zNSwwLjMsNC43NSwxLjA1YzAuMSwwLjA1LDAuMTUsMC4wNSwwLjI1LDAuMDVjMC4yNSwwLDAuNS0wLjI1LDAuNS0wLjVWNkMyMi40LDUuNTUsMjEuNzUsNS4yNSwyMSw1eiBNMywxOC41VjcKCQkJYzEuMS0wLjM1LDIuMy0wLjUsMy41LTAuNWMxLjM0LDAsMy4xMywwLjQxLDQuNSwwLjk5djExLjVDOS42MywxOC40MSw3Ljg0LDE4LDYuNSwxOEM1LjMsMTgsNC4xLDE4LjE1LDMsMTguNXogTTIxLDE4LjUKCQkJYy0xLjEtMC4zNS0yLjMtMC41LTMuNS0wLjVjLTEuMzQsMC0zLjEzLDAuNDEtNC41LDAuOTlWNy40OWMxLjM3LTAuNTksMy4xNi0wLjk5LDQuNS0wLjk5YzEuMiwwLDIuNCwwLjE1LDMuNSwwLjVWMTguNXoiLz4KCQk8cGF0aCBvcGFjaXR5PSIwLjMiIGQ9Ik0xMSw3LjQ5QzkuNjMsNi45MSw3Ljg0LDYuNSw2LjUsNi41QzUuMyw2LjUsNC4xLDYuNjUsMyw3djExLjVDNC4xLDE4LjE1LDUuMywxOCw2LjUsMTgKCQkJYzEuMzQsMCwzLjEzLDAuNDEsNC41LDAuOTlWNy40OXoiLz4KCTwvZz4KCTxnPgoJCTxwYXRoIGQ9Ik0xNy41LDEwLjVjMC44OCwwLDEuNzMsMC4wOSwyLjUsMC4yNlY5LjI0QzE5LjIxLDkuMDksMTguMzYsOSwxNy41LDljLTEuMjgsMC0yLjQ2LDAuMTYtMy41LDAuNDd2MS41NwoJCQlDMTQuOTksMTAuNjksMTYuMTgsMTAuNSwxNy41LDEwLjV6Ii8+CgkJPHBhdGggZD0iTTE3LjUsMTMuMTZjMC44OCwwLDEuNzMsMC4wOSwyLjUsMC4yNlYxMS45Yy0wLjc5LTAuMTUtMS42NC0wLjI0LTIuNS0wLjI0Yy0xLjI4LDAtMi40NiwwLjE2LTMuNSwwLjQ3djEuNTcKCQkJQzE0Ljk5LDEzLjM2LDE2LjE4LDEzLjE2LDE3LjUsMTMuMTZ6Ii8+CgkJPHBhdGggZD0iTTE3LjUsMTUuODNjMC44OCwwLDEuNzMsMC4wOSwyLjUsMC4yNnYtMS41MmMtMC43OS0wLjE1LTEuNjQtMC4yNC0yLjUtMC4yNGMtMS4yOCwwLTIuNDYsMC4xNi0zLjUsMC40N3YxLjU3CgkJCUMxNC45OSwxNi4wMiwxNi4xOCwxNS44MywxNy41LDE1LjgzeiIvPgoJPC9nPgo8L2c+Cjwvc3ZnPgo=\"\n label=\"Documentation\"\n />\n <Button\n href=\"https://github.com/marmelab/react-admin/tree/master/examples\"\n img=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBmaWxsPSJub25lIiBkPSJNMCAwaDI0djI0SDBWMHoiLz48cGF0aCBkPSJNOS40IDE2LjZMNC44IDEybDQuNi00LjZMOCA2bC02IDYgNiA2IDEuNC0xLjR6bTUuMiAwbDQuNi00LjYtNC42LTQuNkwxNiA2bDYgNi02IDYtMS40LTEuNHoiLz48L3N2Zz4=\"\n label=\"Examples\"\n />\n <Button\n href=\"https://stackoverflow.com/questions/tagged/react-admin\"\n img=\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDIzLjAuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSIyNHB4IgoJIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAwIDI0IDI0IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAyNCAyNCIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxnIGlkPSJCb3VuZGluZ19Cb3giPgoJPHJlY3QgZmlsbD0ibm9uZSIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ii8+CjwvZz4KPGcgaWQ9IkZsYXQiPgoJPGcgaWQ9InVpX3g1Rl9zcGVjX3g1Rl9oZWFkZXJfY29weV8yIj4KCTwvZz4KCTxnPgoJCTxjaXJjbGUgb3BhY2l0eT0iMC4zIiBjeD0iOSIgY3k9IjgiIHI9IjIiLz4KCQk8cGF0aCBvcGFjaXR5PSIwLjMiIGQ9Ik05LDE1Yy0yLjcsMC01LjgsMS4yOS02LDIuMDFMMywxOGgxMnYtMUMxNC44LDE2LjI5LDExLjcsMTUsOSwxNXoiLz4KCQk8cGF0aCBkPSJNMTYuNjcsMTMuMTNDMTguMDQsMTQuMDYsMTksMTUuMzIsMTksMTd2M2g0di0zQzIzLDE0LjgyLDE5LjQzLDEzLjUzLDE2LjY3LDEzLjEzeiIvPgoJCTxwYXRoIGQ9Ik0xNSwxMmMyLjIxLDAsNC0xLjc5LDQtNGMwLTIuMjEtMS43OS00LTQtNGMtMC40NywwLTAuOTEsMC4xLTEuMzMsMC4yNEMxNC41LDUuMjcsMTUsNi41OCwxNSw4cy0wLjUsMi43My0xLjMzLDMuNzYKCQkJQzE0LjA5LDExLjksMTQuNTMsMTIsMTUsMTJ6Ii8+CgkJPHBhdGggZD0iTTksMTJjMi4yMSwwLDQtMS43OSw0LTRjMC0yLjIxLTEuNzktNC00LTRTNSw1Ljc5LDUsOEM1LDEwLjIxLDYuNzksMTIsOSwxMnogTTksNmMxLjEsMCwyLDAuOSwyLDJjMCwxLjEtMC45LDItMiwyCgkJCVM3LDkuMSw3LDhDNyw2LjksNy45LDYsOSw2eiIvPgoJCTxwYXRoIGQ9Ik05LDEzYy0yLjY3LDAtOCwxLjM0LTgsNHYzaDE2di0zQzE3LDE0LjM0LDExLjY3LDEzLDksMTN6IE0xNSwxOEgzbDAtMC45OUMzLjIsMTYuMjksNi4zLDE1LDksMTVzNS44LDEuMjksNiwyVjE4eiIvPgoJPC9nPgo8L2c+Cjwvc3ZnPgo=\"\n label=\"Community\"\n />\n </div>\n </div>\n );\n","export default (condition: any, message: string) => {\n if (condition && process.env.NODE_ENV !== 'production') {\n console.warn(message); // eslint-disable-line\n }\n};\n","import { transform } from 'inflection';\n\ninterface Args {\n label?: string;\n defaultLabel?: string;\n resource?: string;\n resourceFromContext?: string;\n source?: string;\n}\n\ntype TranslationArguments = [string, any?];\n\n/**\n * Returns an array of arguments to use with the translate function for the label of a field.\n * The label will be computed from the resource and source props.\n *\n * Usage:\n * <span>\n * {translate(...getFieldLabelTranslationArgs({ label, resource, source }))}\n * </span>\n *\n * @see useTranslateLabel for a ready-to-use hook\n */\nexport const getFieldLabelTranslationArgs = (\n options?: Args\n): TranslationArguments => {\n if (!options) return [''];\n const {\n label,\n defaultLabel,\n resource,\n resourceFromContext,\n source,\n } = options;\n\n if (typeof label !== 'undefined') return [label, { _: label }];\n\n if (typeof source === 'undefined') return [''];\n\n const { sourceWithoutDigits, sourceSuffix } = getSourceParts(source);\n\n const defaultLabelTranslation = transform(\n sourceSuffix.replace(/\\./g, ' '),\n ['underscore', 'humanize']\n );\n\n if (resource) {\n return [\n getResourceFieldLabelKey(resource, sourceWithoutDigits),\n { _: defaultLabelTranslation },\n ];\n }\n\n if (defaultLabel) {\n return [defaultLabel, { _: defaultLabelTranslation }];\n }\n\n return [\n getResourceFieldLabelKey(\n resourceFromContext || 'undefined',\n sourceWithoutDigits\n ),\n { _: defaultLabelTranslation },\n ];\n};\n\nexport default getFieldLabelTranslationArgs;\n\nexport const getResourceFieldLabelKey = (resource: string, source: string) =>\n `resources.${resource}.fields.${source}`;\n\n/**\n * Uses the source string to guess a translation message and a default label.\n *\n * @example\n * getSourceParts('pictures') // { sourceWithoutDigits: 'pictures', sourceSuffix: 'pictures' }\n * getSourceParts('pictures.url') // { sourceWithoutDigits: 'pictures.url', sourceSuffix: 'pictures.url' }\n * getSourceParts('pictures.0.url') // { sourceWithoutDigits: 'pictures.url', sourceSuffix: 'url' }\n * getSourceParts('pictures.12.urls.5.protocol') // { sourceWithoutDigits: 'pictures.urls.protocol', sourceSuffix: 'protocol' }\n */\nconst getSourceParts = (source: string) => {\n // remove digits, e.g. 'book.authors.2.categories.3.identifier.name' => 'book.authors.categories.identifier.name'\n const sourceWithoutDigits = source.replace(/\\.\\d+\\./g, '.');\n // get final part, e.g. 'book.authors.2.categories.3.identifier.name' => 'identifier.name'\n // we're not using a regexp here to avoid code scanning alert \"Polynomial regular expression used on uncontrolled data\"\n const parts = source.split('.');\n let lastPartWithDigits;\n parts.forEach((part, index) => {\n if (onlyDigits(part)) {\n lastPartWithDigits = index;\n }\n });\n const sourceSuffix =\n lastPartWithDigits != null\n ? parts.slice(lastPartWithDigits + 1).join('.')\n : source;\n\n return { sourceWithoutDigits, sourceSuffix };\n};\n\n// 48 and 57 are the char codes for \"0\" and \"9\", respectively\nconst onlyDigits = s => {\n for (let i = s.length - 1; i >= 0; i--) {\n const d = s.charCodeAt(i);\n if (d < 48 || d > 57) return false;\n }\n return true;\n};\n","import * as React from 'react';\nimport { useCallback } from 'react';\n\n// allow the hook to work in SSR\nconst useLayoutEffect =\n typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;\n\n/**\n * Alternative to useCallback that doesn't update the callback when dependencies change\n *\n * @see https://reactjs.org/docs/hooks-faq.html#how-to-read-an-often-changing-value-from-usecallback\n * @see https://github.com/facebook/react/issues/14099#issuecomment-440013892\n */\nexport const useEvent = <Args extends unknown[], Return>(\n fn: (...args: Args) => Return\n): ((...args: Args) => Return) => {\n const ref = React.useRef<(...args: Args) => Return>(() => {\n throw new Error('Cannot call an event handler while rendering.');\n });\n\n useLayoutEffect(() => {\n ref.current = fn;\n });\n\n return useCallback((...args: Args) => ref.current(...args), []);\n};\n","import get from 'lodash/get';\nimport { Call, Objects } from 'hotscript';\nimport { useRecordContext } from '../controller';\nimport { useSourceContext } from '../core';\n\n/**\n * A hook that gets the value of a field of the current record.\n * @param params The hook parameters\n * @param params.source The field source\n * @param params.record The record to use. Uses the record from the RecordContext if not provided\n * @param params.defaultValue The value to return when the field value is empty\n * @returns The field value\n *\n * @example\n * const MyField = (props: { source: string }) => {\n * const value = useFieldValue(props);\n * return <span>{value}</span>;\n * }\n */\nexport const useFieldValue = <\n RecordType extends Record<string, any> = Record<string, any>\n>(\n params: UseFieldValueOptions<RecordType>\n) => {\n const { defaultValue, source } = params;\n const sourceContext = useSourceContext();\n const record = useRecordContext<RecordType>(params);\n\n return get(\n record,\n sourceContext?.getSource(source) ?? source,\n defaultValue\n );\n};\n\nexport interface UseFieldValueOptions<\n RecordType extends Record<string, any> = Record<string, any>\n> {\n // FIXME: Find a way to throw a type error when defaultValue is not of RecordType[Source] type\n defaultValue?: any;\n source: Call<Objects.AllPaths, RecordType> extends never\n ? AnyString\n : Call<Objects.AllPaths, RecordType>;\n record?: RecordType;\n}\n\ntype AnyString = string & {};\n","import { useEffect, useRef } from 'react';\nimport { useEvent } from './useEvent';\n\n/**\n * Checks if the application code has changed and calls the provided onNewVersionAvailable function when needed.\n *\n * It checks for code update by downloading the provided URL (default to the HTML page) and\n * comparing the hash of the response with the hash of the current page.\n *\n * @param {UseCheckForApplicationUpdateOptions} options The options\n * @param {Function} options.onNewVersionAvailable The function to call when a new version of the application is available.\n * @param {string} options.url Optional. The URL to download to check for code update. Defaults to the current URL.\n * @param {RequestInit} options.fetchOptions Optional. The options passed to fetch function when checking for update.\n * @param {number} options.interval Optional. The interval in milliseconds between two checks. Defaults to 3600000 (1 hour).\n * @param {boolean} options.disabled Optional. Whether the check should be disabled. Defaults to false.\n */\nexport const useCheckForApplicationUpdate = (\n options: UseCheckForApplicationUpdateOptions\n) => {\n const {\n url = window.location.href,\n fetchOptions,\n interval: delay = ONE_HOUR,\n onNewVersionAvailable: onNewVersionAvailableProp,\n disabled = process.env.NODE_ENV !== 'production',\n } = options;\n const currentHash = useRef<number>();\n const onNewVersionAvailable = useEvent(onNewVersionAvailableProp);\n\n useEffect(() => {\n if (disabled) return;\n\n getHashForUrl(url, fetchOptions).then(hash => {\n if (hash != null) {\n currentHash.current = hash;\n }\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [disabled, url, JSON.stringify(fetchOptions)]);\n\n useEffect(() => {\n if (disabled) return;\n\n const interval = setInterval(() => {\n getHashForUrl(url, fetchOptions)\n .then(hash => {\n if (hash != null && currentHash.current !== hash) {\n // Store the latest hash to avoid calling the onNewVersionAvailable function multiple times\n // or when users have closed the notification\n currentHash.current = hash;\n onNewVersionAvailable();\n }\n })\n .catch(() => {\n // Ignore errors to avoid issues when connectivity is lost\n });\n }, delay);\n return () => clearInterval(interval);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n delay,\n onNewVersionAvailable,\n disabled,\n url,\n // eslint-disable-next-line react-hooks/exhaustive-deps\n JSON.stringify(fetchOptions),\n ]);\n};\n\nconst getHashForUrl = async (url: string, fetchOptions?: RequestInit) => {\n try {\n const response = await fetch(url, fetchOptions);\n if (!response.ok) return null;\n const text = await response.text();\n return hash(text);\n } catch (e) {\n return null;\n }\n};\n\n// Simple hash function, taken from https://stackoverflow.com/a/52171480/3723993, suggested by Copilot\nconst hash = (value: string, seed = 0) => {\n let h1 = 0xdeadbeef ^ seed,\n h2 = 0x41c6ce57 ^ seed;\n for (let i = 0, ch; i < value.length; i++) {\n ch = value.charCodeAt(i);\n h1 = Math.imul(h1 ^ ch, 2654435761);\n h2 = Math.imul(h2 ^ ch, 1597334677);\n }\n h1 = Math.imul(h1 ^ (h1 >>> 16), 2246822507);\n h1 ^= Math.imul(h2 ^ (h2 >>> 13), 3266489909);\n h2 = Math.imul(h2 ^ (h2 >>> 16), 2246822507);\n h2 ^= Math.imul(h1 ^ (h1 >>> 13), 3266489909);\n\n return 4294967296 * (2097151 & h2) + (h1 >>> 0);\n};\n\nconst ONE_HOUR = 1000 * 60 * 60;\n\nexport interface UseCheckForApplicationUpdateOptions {\n onNewVersionAvailable: () => void;\n interval?: number;\n url?: string;\n fetchOptions?: RequestInit;\n disabled?: boolean;\n}\n","import { useState, useEffect } from 'react';\nimport isEqual from 'lodash/isEqual';\n\nimport { useEvent } from '../util';\nimport { useStoreContext } from './useStoreContext';\n\n/**\n * Read and write a value from the Store\n *\n * useState-like hook using the global Store for persistence.\n * Each time a store value is changed, all components using this value will be re-rendered.\n *\n * @param {string} key Name of the store key. Separate with dots to namespace, e.g. 'posts.list.columns'.\n * @param {any} defaultValue Default value\n *\n * @return {Object} A value and a setter for the value, in an array - just like for useState()\n *\n * @example\n * import { useStore } from 'react-admin';\n *\n * const PostList = () => {\n * const [density] = useStore('posts.list.density', 'small');\n *\n * return (\n * <List>\n * <Datagrid size={density}>\n * ...\n * </Datagrid>\n * </List>\n * );\n * }\n *\n * // Clicking on this button will trigger a rerender of the PostList!\n * const ChangeDensity: FC<any> = () => {\n * const [density, setDensity] = useStore('posts.list.density', 'small');\n *\n * const changeDensity = (): void => {\n * setDensity(density === 'small' ? 'medium' : 'small');\n * };\n *\n * return (\n * <Button onClick={changeDensity}>\n * {`Change density (current ${density})`}\n * </Button>\n * );\n * };\n */\nexport const useStore = <T = any>(\n key: string,\n defaultValue?: T\n): useStoreResult<T> => {\n const { getItem, setItem, subscribe } = useStoreContext();\n const [value, setValue] = useState(() => getItem(key, defaultValue));\n\n // subscribe to changes on this key, and change the state when they happen\n useEffect(() => {\n const storedValue = getItem(key, defaultValue);\n if (!isEqual(value, storedValue)) {\n setValue(storedValue);\n }\n const unsubscribe = subscribe(key, newValue => {\n setValue(typeof newValue === 'undefined' ? defaultValue : newValue);\n });\n return () => unsubscribe();\n }, [key, subscribe, defaultValue, getItem, value]);\n\n const set = useEvent((valueParam: T, runtimeDefaultValue: T) => {\n const newValue =\n typeof valueParam === 'function' ? valueParam(value) : valueParam;\n // we only set the value in the Store;\n // the value in the local state will be updated\n // by the useEffect during the next render\n setItem(\n key,\n typeof newValue === 'undefined'\n ? typeof runtimeDefaultValue === 'undefined'\n ? defaultValue\n : runtimeDefaultValue\n : newValue\n );\n });\n return [value, set];\n};\n\nexport type useStoreResult<T = any> = [\n T,\n (value: T | ((value: T) => void), defaultValue?: T) => void\n];\n","import { useCallback } from 'react';\n\nimport { useStoreContext } from './useStoreContext';\n\n/**\n * Get a callback to remove an item from the store\n *\n * @example\n * import { useRemoveFromStore } from 'react-admin';\n *\n * const ResetDatagridPrefs = () {\n * const removeItem = useRemoveFromStore();\n *\n * const handleClick = () => {\n * removeItem('datagrid.prefs');\n * };\n *\n * return <Button onClick={hancleClick}>Reset datagrid preferences</Button>;\n * }\n */\nexport const useRemoveFromStore = (hookTimeKey?: string) => {\n const { removeItem } = useStoreContext();\n return useCallback(\n (key?: string) => {\n if (\n typeof key === 'undefined' &&\n typeof hookTimeKey === 'undefined'\n ) {\n throw new Error(\n 'You must provide a key to remove an item from the store'\n );\n }\n // @ts-ignore\n return removeItem(key ?? hookTimeKey);\n },\n [removeItem, hookTimeKey]\n );\n};\n","import { useCallback } from 'react';\n\nimport { useStoreContext } from './useStoreContext';\n\n/**\n * Get a callback to remove all item with a certain key prefix from the store\n *\n * @example\n * import { useRemoveItemsFromStore } from 'react-admin';\n *\n * const ResetDatagridPrefs = () {\n * const removeItems = useRemoveItemsFromStore();\n *\n * const handleClick = () => {\n * removeItems('datagrid.prefs');\n * };\n *\n * return <Button onClick={hancleClick}>Reset datagrid preferences</Button>;\n * }\n */\nexport const useRemoveItemsFromStore = (hookTimeKeyPrefix?: string | null) => {\n const { removeItems } = useStoreContext();\n return useCallback(\n (keyPrefix?: string) => {\n if (\n typeof keyPrefix === 'undefined' &&\n typeof hookTimeKeyPrefix === 'undefined'\n ) {\n throw new Error(\n 'You must provide a key to remove an item from the store'\n );\n }\n // @ts-ignore\n return removeItems(keyPrefix ?? hookTimeKeyPrefix);\n },\n [removeItems, hookTimeKeyPrefix]\n );\n};\n","import { useStoreContext } from './useStoreContext';\n\n/**\n * Get a callback to remove all items from the store\n *\n * @example\n * import { useResetStore } from 'react-admin';\n *\n * const ResetPrefs = () {\n * const reset = useResetStore();\n *\n * const handleClick = () => {\n * reset();\n * };\n *\n * return <Button onClick={handleClick}>Reset preferences</Button>;\n * }\n */\nexport const useResetStore = () => {\n const { reset } = useStoreContext();\n return reset;\n};\n","import { useCallback, useEffect, useRef } from 'react';\nimport { useLocation, useNavigate, Path } from 'react-router-dom';\nimport { useQueryClient } from '@tanstack/react-query';\n\nimport useAuthProvider, { defaultAuthParams } from './useAuthProvider';\nimport { useResetStore } from '../store';\nimport { useBasename } from '../routing';\nimport { removeDoubleSlashes } from '../routing/useCreatePath';\n\n/**\n * Get a callback for calling the authProvider.logout() method,\n * redirect to the login page, and clear the store.\n *\n * @see useAuthProvider\n *\n * @returns {Function} logout callback\n *\n * @example\n *\n * import { useLogout } from 'react-admin';\n *\n * const LogoutButton = () => {\n * const logout = useLogout();\n * const handleClick = () => logout();\n * return <button onClick={handleClick}>Logout</button>;\n * }\n */\nconst useLogout = (): Logout => {\n const authProvider = useAuthProvider();\n const queryClient = useQueryClient();\n const resetStore = useResetStore();\n const navigate = useNavigate();\n // useNavigate forces rerenders on every navigation, even if we don't use the result\n // see https://github.com/remix-run/react-router/issues/7634\n // so we use a ref to bail out of rerenders when we don't need to\n const navigateRef = useRef(navigate);\n const location = useLocation();\n const locationRef = useRef(location);\n const basename = useBasename();\n const loginUrl = removeDoubleSlashes(\n `${basename}/${defaultAuthParams.loginUrl}`\n );\n\n /*\n * We need the current location to pass in the router state\n * so that the login hook knows where to redirect to as next route after login.\n *\n * But if we used the location from useLocation as a dependency of the logout\n * function, it would be rebuilt each time the user changes location.\n * Consequently, that would force a rerender of all components using this hook\n * upon navigation (CoreAdminRouter for example).\n *\n * To avoid that, we store the location in a ref.\n */\n useEffect(() => {\n locationRef.current = location;\n navigateRef.current = navigate;\n }, [location, navigate]);\n\n const logout: Logout = useCallback(\n (\n params = {},\n redirectTo = loginUrl,\n redirectToCurrentLocationAfterLogin = true\n ) => {\n if (authProvider) {\n return authProvider\n .logout(params)\n .then(redirectToFromProvider => {\n if (\n redirectToFromProvider === false ||\n redirectTo === false\n ) {\n resetStore();\n queryClient.clear();\n // do not redirect\n return;\n }\n\n const finalRedirectTo =\n redirectToFromProvider || redirectTo;\n\n if (finalRedirectTo?.startsWith('http')) {\n // absolute link (e.g. https://my.oidc.server/login)\n resetStore();\n queryClient.clear();\n window.location.href = finalRedirectTo;\n return finalRedirectTo;\n }\n\n // redirectTo is an internal location that may contain a query string, e.g. '/login?foo=bar'\n // we must split it to pass a structured location to navigate()\n const redirectToParts = finalRedirectTo.split('?');\n const newLocation: Partial<Path> = {\n pathname: redirectToParts[0],\n };\n let newLocationOptions = {};\n\n if (\n redirectToCurrentLocationAfterLogin &&\n locationRef.current &&\n locationRef.current.pathname\n ) {\n newLocationOptions = {\n state: {\n nextPathname: locationRef.current.pathname,\n nextSearch: locationRef.current.search,\n },\n };\n }\n if (redirectToParts[1]) {\n newLocation.search = redirectToParts[1];\n }\n navigateRef.current(newLocation, newLocationOptions);\n resetStore();\n queryClient.clear();\n\n return redirectToFromProvider;\n });\n } else {\n navigateRef.current(\n {\n pathname: loginUrl,\n },\n {\n state: {\n nextPathname:\n locationRef.current &&\n locationRef.current.pathname,\n },\n }\n );\n resetStore();\n queryClient.clear();\n return Promise.resolve();\n }\n },\n [authProvider, resetStore, loginUrl, queryClient]\n );\n\n return logout;\n};\n\n/**\n * Log the current user out by calling the authProvider.logout() method,\n * and redirect them to the login screen.\n *\n * @param {Object} params The parameters to pass to the authProvider\n * @param {string} redirectTo The path name to redirect the user to (optional, defaults to login)\n * @param {boolean} redirectToCurrentLocationAfterLogin Whether the button shall record the current location to redirect to it after login. true by default.\n *\n * @return {Promise} The authProvider response\n */\ntype Logout = (\n params?: any,\n redirectTo?: string | false,\n redirectToCurrentLocationAfterLogin?: boolean\n) => Promise<any>;\n\nexport default useLogout;\n","import { useEffect, useMemo } from 'react';\nimport {\n QueryObserverResult,\n useQuery,\n UseQueryOptions,\n} from '@tanstack/react-query';\nimport useAuthProvider, { defaultAuthParams } from './useAuthProvider';\nimport useLogout from './useLogout';\nimport { removeDoubleSlashes, useBasename } from '../routing';\nimport { useNotify } from '../notification';\nimport { useEvent } from '../util';\n\nconst emptyParams = {};\n\n/**\n * Hook for getting the authentication status\n *\n * Calls the authProvider.checkAuth() method asynchronously.\n *\n * The return value updates according to the authProvider request state:\n *\n * - isPending: true just after mount, while the authProvider is being called. false once the authProvider has answered.\n * - authenticated: true while loading. then true or false depending on the authProvider response.\n *\n * To avoid rendering a component and force waiting for the authProvider response, use the useAuthState() hook\n * instead of the useAuthenticated() hook.\n *\n * You can render different content depending on the authenticated status.\n *\n * @see useAuthenticated()\n *\n * @param {Object} params Any params you want to pass to the authProvider\n *\n * @param {Boolean} logoutOnFailure: Optional. Whether the user should be logged out if the authProvider fails to authenticate them. False by default.\n *\n * @returns The current auth check state. Destructure as { authenticated, error, isPending }.\n *\n * @example\n * import { useAuthState, Loading } from 'react-admin';\n *\n * const MyPage = () => {\n * const { isPending, authenticated } = useAuthState();\n * if (isPending) {\n * return <Loading />;\n * }\n * if (authenticated) {\n * return <AuthenticatedContent />;\n * }\n * return <AnonymousContent />;\n * };\n */\nconst useAuthState = <ErrorType = Error>(\n params: any = emptyParams,\n logoutOnFailure: boolean = false,\n queryOptions: UseAuthStateOptions<ErrorType> = emptyParams\n): UseAuthStateResult<ErrorType> => {\n const authProvider = useAuthProvider();\n const logout = useLogout();\n const basename = useBasename();\n const notify = useNotify();\n const { onSuccess, onError, onSettled, ...options } = queryOptions;\n\n const result = useQuery<boolean, any>({\n queryKey: ['auth', 'checkAuth', params],\n queryFn: ({ signal }) => {\n // The authProvider is optional in react-admin\n if (!authProvider) {\n return true;\n }\n return authProvider\n .checkAuth({ ...params, signal })\n .then(() => true)\n .catch(error => {\n // This is necessary because react-query requires the error to be defined\n if (error != null) {\n throw error;\n }\n\n throw new Error();\n });\n },\n retry: false,\n ...options,\n });\n\n const onSuccessEvent = useEvent(onSuccess ?? noop);\n const onSettledEvent = useEvent(onSettled ?? noop);\n const onErrorEvent = useEvent(\n onError ??\n ((error: any) => {\n const loginUrl = removeDoubleSlashes(\n `${basename}/${defaultAuthParams.loginUrl}`\n );\n if (logoutOnFailure) {\n logout(\n {},\n error && error.redirectTo != null\n ? error.redirectTo\n : loginUrl\n );\n const shouldSkipNotify = error && error.message === false;\n !shouldSkipNotify &&\n notify(\n getErrorMessage(error, 'ra.auth.auth_check_error'),\n { type: 'error' }\n );\n }\n })\n );\n\n useEffect(() => {\n if (result.data === undefined || result.isFetching) return;\n onSuccessEvent(result.data);\n }, [onSuccessEvent, result.data, result.isFetching]);\n\n useEffect(() => {\n if (result.error == null || result.isFetching) return;\n onErrorEvent(result.error);\n }, [onErrorEvent, result.error, result.isFetching]);\n\n useEffect(() => {\n if (result.status === 'pending' || result.isFetching) return;\n onSettledEvent(result.data, result.error);\n }, [\n onSettledEvent,\n result.data,\n result.error,\n result.status,\n result.isFetching,\n ]);\n\n return useMemo(() => {\n return {\n ...result,\n // If the data is undefined and the query isn't loading anymore, it means the query failed.\n // In that case, we set authenticated to false unless there's no authProvider.\n authenticated:\n result.data ?? result.isLoading ? true : authProvider == null, // Optimistic,\n };\n }, [authProvider, result]);\n};\n\ntype UseAuthStateOptions<ErrorType = Error> = Omit<\n UseQueryOptions<boolean, ErrorType>,\n 'queryKey' | 'queryFn'\n> & {\n onSuccess?: (data: boolean) => void;\n onError?: (err: ErrorType) => void;\n onSettled?: (data?: boolean, error?: Error) => void;\n};\n\nexport type UseAuthStateResult<ErrorType = Error> = QueryObserverResult<\n boolean,\n ErrorType\n> & {\n authenticated: boolean;\n};\n\nexport default useAuthState;\n\nconst getErrorMessage = (error, defaultMessage) =>\n typeof error === 'string'\n ? error\n : typeof error === 'undefined' || !error.message\n ? defaultMessage\n : error.message;\n\nconst noop = () => {};\n","import { useEffect, useMemo } from 'react';\nimport {\n QueryObserverResult,\n useQuery,\n UseQueryOptions,\n} from '@tanstack/react-query';\nimport useAuthProvider from './useAuthProvider';\nimport useLogoutIfAccessDenied from './useLogoutIfAccessDenied';\nimport { useEvent } from '../util';\n\nconst emptyParams = {};\n\n/**\n * Hook for getting user permissions\n *\n * Calls the authProvider.getPermissions() method using react-query.\n * If the authProvider returns a rejected promise, returns empty permissions.\n *\n * The return value updates according to the request state:\n *\n * - start: { isPending: true }\n * - success: { permissions: [any], isPending: false }\n * - error: { error: [error from provider], isPending: false }\n *\n * Useful to enable features based on user permissions\n *\n * @param {Object} params Any params you want to pass to the authProvider\n *\n * @returns The current auth check state. Destructure as { permissions, error, isPending, refetch }.\n *\n * @example\n * import { usePermissions } from 'react-admin';\n *\n * const PostDetail = () => {\n * const { isPending, permissions } = usePermissions();\n * if (!isPending && permissions == 'editor') {\n * return <PostEdit />\n * } else {\n * return <PostShow />\n * }\n * };\n */\nconst usePermissions = <PermissionsType = any, ErrorType = Error>(\n params = emptyParams,\n queryParams: UsePermissionsOptions<PermissionsType, ErrorType> = {\n staleTime: 5 * 60 * 1000,\n }\n): UsePermissionsResult<PermissionsType, ErrorType> => {\n const authProvider = useAuthProvider();\n const logoutIfAccessDenied = useLogoutIfAccessDenied();\n const { onSuccess, onError, onSettled, ...queryOptions } =\n queryParams ?? {};\n\n const result = useQuery<PermissionsType, ErrorType>({\n queryKey: ['auth', 'getPermissions', params],\n queryFn: async ({ signal }) => {\n if (!authProvider) return Promise.resolve([]);\n const permissions = await authProvider.getPermissions({\n ...params,\n signal,\n });\n return permissions ?? null;\n },\n ...queryOptions,\n });\n\n const onSuccessEvent = useEvent(onSuccess ?? noop);\n const onSettledEvent = useEvent(onSettled ?? noop);\n const onErrorEvent = useEvent(\n onError ??\n ((error: ErrorType) => {\n if (process.env.NODE_ENV === 'development') {\n console.error(error);\n }\n logoutIfAccessDenied(error);\n })\n );\n\n useEffect(() => {\n if (result.data === undefined || result.isFetching) return;\n onSuccessEvent(result.data);\n }, [onSuccessEvent, result.data, result.isFetching]);\n\n useEffect(() => {\n if (result.error == null || result.isFetching) return;\n onErrorEvent(result.error);\n }, [onErrorEvent, result.error, result.isFetching]);\n\n useEffect(() => {\n if (result.status === 'pending' || result.isFetching) return;\n onSettledEvent(result.data, result.error);\n }, [\n onSettledEvent,\n result.data,\n result.error,\n result.status,\n result.isFetching,\n ]);\n\n return useMemo(\n () => ({\n ...result,\n permissions: result.data,\n }),\n [result]\n );\n};\n\nexport default usePermissions;\n\nexport interface UsePermissionsOptions<PermissionsType = any, ErrorType = Error>\n extends Omit<\n UseQueryOptions<PermissionsType, ErrorType>,\n 'queryKey' | 'queryFn'\n > {\n onSuccess?: (data: PermissionsType) => void;\n onError?: (err: ErrorType) => void;\n onSettled?: (data?: PermissionsType, error?: ErrorType | null) => void;\n}\n\nexport type UsePermissionsResult<\n PermissionsType = any,\n ErrorType = Error\n> = QueryObserverResult<PermissionsType, ErrorType> & {\n permissions: PermissionsType | undefined;\n};\n\nconst noop = () => {};\n","import { UseQueryOptions } from '@tanstack/react-query';\nimport useAuthState from './useAuthState';\n\n/**\n * Restrict access to authenticated users.\n * Redirect anonymous users to the login page.\n *\n * Use it in your custom page components to require\n * authentication.\n *\n * You can set additional `authParams` at will if your authProvider\n * requires it.\n *\n * @example\n * import { Admin, CustomRoutes, useAuthenticated } from 'react-admin';\n * const FooPage = () => {\n * useAuthenticated();\n * return <Foo />;\n * }\n * const customRoutes = [\n * <Route path=\"/foo\" element={<FooPage />} />\n * ];\n * const App = () => (\n * <Admin>\n * <CustomRoutes>{customRoutes}</CustomRoutes>\n * </Admin>\n * );\n */\nexport const useAuthenticated = <ParamsType = any>({\n params,\n ...options\n}: UseAuthenticatedOptions<ParamsType> = {}) => {\n useAuthState(params ?? emptyParams, true, options);\n};\n\nexport type UseAuthenticatedOptions<ParamsType> = Omit<\n UseQueryOptions<boolean, any> & {\n params?: ParamsType;\n },\n 'queryKey' | 'queryFn'\n>;\n\nconst emptyParams = {};\n","import { Children, ReactElement, ComponentType, createElement } from 'react';\nimport { Location } from 'react-router-dom';\n\nimport warning from '../util/warning';\nimport { useAuthenticated } from './useAuthenticated';\nimport usePermissions from './usePermissions';\n\nexport interface WithPermissionsChildrenParams {\n permissions: any;\n}\n\ntype WithPermissionsChildren = (\n params: WithPermissionsChildrenParams\n) => ReactElement;\n\nexport interface WithPermissionsProps {\n authParams?: object;\n children?: WithPermissionsChildren;\n component?: ComponentType<any>;\n location?: Location;\n render?: WithPermissionsChildren;\n staticContext?: object;\n [key: string]: any;\n}\n\nconst isEmptyChildren = children => Children.count(children) === 0;\n\n/**\n * After checking that the user is authenticated,\n * retrieves the user's permissions for a specific context.\n *\n * Useful for Route components ; used internally by Resource.\n * Use it to decorate your custom page components to require\n * a custom role. It will pass the permissions as a prop to your\n * component.\n *\n * You can set additional `authParams` at will if your authProvider\n * requires it.\n *\n * @example\n * import { Admin, CustomRoutes, WithPermissions } from 'react-admin';\n *\n * const Foo = ({ permissions }) => (\n * {permissions === 'admin' ? <p>Sensitive data</p> : null}\n * <p>Not sensitive data</p>\n * );\n *\n * const customRoutes = [\n * <Route path=\"/foo\" element={\n * <WithPermissions\n * authParams={{ foo: 'bar' }}\n * component={({ permissions, ...props }) => <Foo permissions={permissions} {...props} />}\n * />\n * } />\n * ];\n * const App = () => (\n * <Admin>\n * <CustomRoutes>{customRoutes}</CustomRoutes>\n * </Admin>\n * );\n */\nconst WithPermissions = (props: WithPermissionsProps) => {\n const {\n authParams,\n children,\n render,\n component,\n staticContext,\n ...rest\n } = props;\n warning(\n (render && children && !isEmptyChildren(children)) ||\n (render && component) ||\n (component && children && !isEmptyChildren(children)),\n 'You should only use one of the `component`, `render` and `children` props in <WithPermissions>'\n );\n\n useAuthenticated(authParams);\n const { permissions } = usePermissions(authParams);\n // render even though the usePermissions() call isn't finished (optimistic rendering)\n if (component) {\n return createElement(component, { permissions, ...rest });\n }\n // @deprecated\n if (render) {\n return render({ permissions, ...rest });\n }\n // @deprecated\n if (children) {\n return children({ permissions, ...rest });\n }\n};\n\nexport default WithPermissions as ComponentType<WithPermissionsProps>;\n","import { useCallback } from 'react';\nimport { useLocation, useNavigate } from 'react-router-dom';\n\nimport { useNotificationContext } from '../notification';\nimport { useBasename } from '../routing';\nimport useAuthProvider, { defaultAuthParams } from './useAuthProvider';\nimport { removeDoubleSlashes } from '../routing/useCreatePath';\n\n/**\n * Get a callback for calling the authProvider.login() method\n * and redirect to the previous authenticated page (or the home page) on success.\n *\n * @see useAuthProvider\n *\n * @returns {Function} login callback\n *\n * @example\n *\n * import { useLogin } from 'react-admin';\n *\n * const LoginButton = () => {\n * const [loading, setLoading] = useState(false);\n * const login = useLogin();\n * const handleClick = {\n * setLoading(true);\n * login({ username: 'john', password: 'p@ssw0rd' }, '/posts')\n * .then(() => setLoading(false));\n * }\n * return <button onClick={handleClick}>Login</button>;\n * }\n */\nconst useLogin = (): Login => {\n const authProvider = useAuthProvider();\n const location = useLocation();\n const locationState = location.state as any;\n const navigate = useNavigate();\n const basename = useBasename();\n const { resetNotifications } = useNotificationContext();\n const nextPathName = locationState && locationState.nextPathname;\n const nextSearch = locationState && locationState.nextSearch;\n const afterLoginUrl = removeDoubleSlashes(\n `${basename}/${defaultAuthParams.afterLoginUrl}`\n );\n\n const login = useCallback(\n (params: any = {}, pathName) => {\n if (authProvider) {\n return authProvider.login(params).then(ret => {\n resetNotifications();\n if (ret && ret.hasOwnProperty('redirectTo')) {\n if (ret) {\n navigate(ret.redirectTo);\n }\n } else {\n const redirectUrl = pathName\n ? pathName\n : nextPathName + nextSearch || afterLoginUrl;\n navigate(redirectUrl);\n }\n return ret;\n });\n } else {\n resetNotifications();\n navigate(afterLoginUrl);\n return Promise.resolve();\n }\n },\n [\n authProvider,\n navigate,\n nextPathName,\n nextSearch,\n resetNotifications,\n afterLoginUrl,\n ]\n );\n\n return login;\n};\n\n/**\n * Log a user in by calling the authProvider.login() method\n *\n * @param {Object} params Login parameters to pass to the authProvider. May contain username/email, password, etc\n * @param {string} pathName The path to redirect to after login. By default, redirects to the home page, or to the last page visited after disconnection.\n *\n * @return {Promise} The authProvider response\n */\ntype Login = (params: any, pathName?: string) => Promise<any>;\n\nexport default useLogin;\n","export type UserCheck = (\n payload: object,\n pathName: string,\n routeParams?: object\n) => void;\n\nexport const AUTH_LOGIN = 'AUTH_LOGIN';\nexport const AUTH_CHECK = 'AUTH_CHECK';\nexport const AUTH_ERROR = 'AUTH_ERROR';\nexport const AUTH_LOGOUT = 'AUTH_LOGOUT';\nexport const AUTH_GET_PERMISSIONS = 'AUTH_GET_PERMISSIONS';\n\nexport type AuthActionType =\n | typeof AUTH_LOGIN\n | typeof AUTH_LOGOUT\n | typeof AUTH_ERROR\n | typeof AUTH_CHECK\n | typeof AUTH_GET_PERMISSIONS;\n","import {\n AUTH_LOGIN,\n AUTH_LOGOUT,\n AUTH_CHECK,\n AUTH_ERROR,\n AUTH_GET_PERMISSIONS,\n} from './types';\nimport { AuthProvider, LegacyAuthProvider } from '../types';\n\n/**\n * Turn a function-based authProvider to an object-based one\n *\n * Allows using legacy authProviders transparently.\n *\n * @param {Function} legacyAuthProvider A legacy authProvider (type, params) => Promise<any>\n *\n * @returns {Object} An authProvider that react-admin can use\n */\nexport default (legacyAuthProvider: LegacyAuthProvider): AuthProvider => {\n const authProvider = (...args) => legacyAuthProvider.apply(null, args);\n authProvider.login = params => legacyAuthProvider(AUTH_LOGIN, params);\n authProvider.logout = params => legacyAuthProvider(AUTH_LOGOUT, params);\n authProvider.checkAuth = params => legacyAuthProvider(AUTH_CHECK, params);\n authProvider.checkError = error => legacyAuthProvider(AUTH_ERROR, error);\n authProvider.getPermissions = params =>\n legacyAuthProvider(AUTH_GET_PERMISSIONS, params);\n return authProvider;\n};\n","import { useEffect } from 'react';\nimport useLogout from './useLogout';\n\n/**\n * Log the user out and redirect them to login.\n *\n * To be used as a catch-all route for anonymous users in a secure app.\n *\n * @see CoreAdminRoutes\n */\nexport const LogoutOnMount = () => {\n const logout = useLogout();\n useEffect(() => {\n logout();\n }, [logout]);\n return null;\n};\n","import { useCallback } from 'react';\n\nimport useAuthProvider, { defaultAuthParams } from './useAuthProvider';\nimport useLogout from './useLogout';\nimport { useNotify } from '../notification';\nimport { useBasename } from '../routing';\nimport { removeDoubleSlashes } from '../routing/useCreatePath';\n\n/**\n * Get a callback for calling the authProvider.checkAuth() method.\n * In case of rejection, redirects to the login page, displays a notification,\n * and throws an error.\n *\n * This is a low level hook. See those more specialized hooks\n * for common authentication tasks, based on useCheckAuth.\n *\n * @see useAuthenticated\n * @see useAuthState\n *\n * @returns {Function} checkAuth callback\n *\n * @example\n *\n * import { useCheckAuth } from 'react-admin';\n *\n * const MyProtectedPage = () => {\n * const checkAuth = useCheckAuth();\n * useEffect(() => {\n * checkAuth().catch(() => {});\n * }, []);\n * return <p>Private content: EZAEZEZAET</p>\n * } // tip: use useAuthenticated() hook instead\n *\n * const MyPage = () => {\n * const checkAuth = useCheckAuth();\n * const [authenticated, setAuthenticated] = useState(true); // optimistic auth\n * useEffect(() => {\n * checkAuth({}, false)\n * .then(() => setAuthenticated(true))\n * .catch(() => setAuthenticated(false));\n * }, []);\n * return authenticated ? <Bar /> : <BarNotAuthenticated />;\n * } // tip: use useAuthState() hook instead\n */\nexport const useCheckAuth = (): CheckAuth => {\n const authProvider = useAuthProvider();\n const notify = useNotify();\n const logout = useLogout();\n const basename = useBasename();\n const loginUrl = removeDoubleSlashes(\n `${basename}/${defaultAuthParams.loginUrl}`\n );\n\n const checkAuth = useCallback(\n (params: any = {}, logoutOnFailure = true, redirectTo = loginUrl) =>\n authProvider\n ? authProvider.checkAuth(params).catch(error => {\n if (logoutOnFailure) {\n logout(\n {},\n error && error.redirectTo != null\n ? error.redirectTo\n : redirectTo\n );\n const shouldSkipNotify =\n error && error.message === false;\n !shouldSkipNotify &&\n notify(\n getErrorMessage(\n error,\n 'ra.auth.auth_check_error'\n ),\n { type: 'error' }\n );\n }\n throw error;\n })\n : checkAuthWithoutAuthProvider(),\n [authProvider, logout, notify, loginUrl]\n );\n\n return checkAuth;\n};\n\nconst checkAuthWithoutAuthProvider = () => Promise.resolve();\n\n/**\n * Check if the current user is authenticated by calling authProvider.checkAuth().\n * Logs the user out on failure.\n *\n * @param {Object} params The parameters to pass to the authProvider\n * @param {boolean} logoutOnFailure Whether the user should be logged out if the authProvider fails to authenticate them. True by default.\n * @param {string} redirectTo The login form url. Defaults to '/login'\n *\n * @return {Promise} Resolved to the authProvider response if the user passes the check, or rejected with an error otherwise\n */\nexport type CheckAuth = (\n params?: any,\n logoutOnFailure?: boolean,\n redirectTo?: string\n) => Promise<any>;\n\nconst getErrorMessage = (error, defaultMessage) =>\n typeof error === 'string'\n ? error\n : typeof error === 'undefined' || !error.message\n ? defaultMessage\n : error.message;\n","import { useEffect, useMemo } from 'react';\nimport {\n useQuery,\n UseQueryOptions,\n QueryObserverResult,\n} from '@tanstack/react-query';\n\nimport useAuthProvider from './useAuthProvider';\nimport { UserIdentity } from '../types';\nimport { useEvent } from '../util';\n\nconst defaultIdentity: UserIdentity = {\n id: '',\n};\nconst defaultQueryParams = {\n staleTime: 5 * 60 * 1000,\n};\n\n/**\n * Return the current user identity by calling authProvider.getIdentity() on mount\n *\n * The return value updates according to the call state:\n *\n * - mount: { isPending: true }\n * - success: { identity, refetch: () => {}, isPending: false }\n * - error: { error: Error, isPending: false }\n *\n * The implementation is left to the authProvider.\n *\n * @returns The current user identity. Destructure as { isPending, identity, error, refetch }.\n *\n * @example\n * import { useGetIdentity, useGetOne } from 'react-admin';\n *\n * const PostDetail = ({ id }) => {\n * const { data: post, isPending: postLoading } = useGetOne('posts', { id });\n * const { identity, isPending: identityLoading } = useGetIdentity();\n * if (postLoading || identityLoading) return <>Loading...</>;\n * if (!post.lockedBy || post.lockedBy === identity.id) {\n * // post isn't locked, or is locked by me\n * return <PostEdit post={post} />\n * } else {\n * // post is locked by someone else and cannot be edited\n * return <PostShow post={post} />\n * }\n * }\n */\nexport const useGetIdentity = <ErrorType extends Error = Error>(\n options: UseGetIdentityOptions<ErrorType> = defaultQueryParams\n): UseGetIdentityResult<ErrorType> => {\n const authProvider = useAuthProvider();\n const { onSuccess, onError, onSettled, ...queryOptions } = options;\n\n const result = useQuery({\n queryKey: ['auth', 'getIdentity'],\n queryFn: async ({ signal }) => {\n if (\n authProvider &&\n typeof authProvider.getIdentity === 'function'\n ) {\n return authProvider.getIdentity({ signal });\n } else {\n return defaultIdentity;\n }\n },\n ...queryOptions,\n });\n\n const onSuccessEvent = useEvent(onSuccess ?? noop);\n const onErrorEvent = useEvent(onError ?? noop);\n const onSettledEvent = useEvent(onSettled ?? noop);\n\n useEffect(() => {\n if (result.data === undefined || result.isFetching) return;\n onSuccessEvent(result.data);\n }, [onSuccessEvent, result.data, result.isFetching]);\n\n useEffect(() => {\n if (result.error == null || result.isFetching) return;\n onErrorEvent(result.error);\n }, [onErrorEvent, result.error, result.isFetching]);\n\n useEffect(() => {\n if (result.status === 'pending' || result.isFetching) return;\n onSettledEvent(result.data, result.error);\n }, [\n onSettledEvent,\n result.data,\n result.error,\n result.status,\n result.isFetching,\n ]);\n\n return useMemo(\n () => ({\n ...result,\n identity: result.data,\n }),\n [result]\n );\n};\n\nexport interface UseGetIdentityOptions<ErrorType extends Error = Error>\n extends Omit<\n UseQueryOptions<UserIdentity, ErrorType>,\n 'queryKey' | 'queryFn'\n > {\n onSuccess?: (data: UserIdentity) => void;\n onError?: (err: Error) => void;\n onSettled?: (data?: UserIdentity, error?: Error | null) => void;\n}\n\nexport type UseGetIdentityResult<ErrorType = Error> = QueryObserverResult<\n UserIdentity,\n ErrorType\n> & {\n identity: UserIdentity | undefined;\n};\n\nexport default useGetIdentity;\n\nconst noop = () => {};\n","import { useEffect } from 'react';\nimport { useQuery, UseQueryOptions } from '@tanstack/react-query';\nimport { useLocation } from 'react-router';\nimport { useRedirect } from '../routing';\nimport { AuthRedirectResult } from '../types';\nimport useAuthProvider from './useAuthProvider';\nimport { useEvent } from '../util';\n\n/**\n * This hook calls the `authProvider.handleCallback()` method on mount. This is meant to be used in a route called\n * by an external authentication service (e.g. Auth0) after the user has logged in.\n * By default, it redirects to application home page upon success, or to the `redirectTo` location returned by `authProvider. handleCallback`.\n *\n * @returns An object containing { isPending, data, error, refetch }.\n */\nexport const useHandleAuthCallback = (\n options?: UseHandleAuthCallbackOptions\n) => {\n const authProvider = useAuthProvider();\n const redirect = useRedirect();\n const location = useLocation();\n const locationState = location.state as any;\n const nextPathName = locationState && locationState.nextPathname;\n const nextSearch = locationState && locationState.nextSearch;\n const defaultRedirectUrl = nextPathName ? nextPathName + nextSearch : '/';\n const { onSuccess, onError, onSettled, ...queryOptions } = options ?? {};\n\n const queryResult = useQuery({\n queryKey: ['auth', 'handleCallback'],\n queryFn: ({ signal }) =>\n authProvider && typeof authProvider.handleCallback === 'function'\n ? authProvider\n .handleCallback({ signal })\n .then(result => result ?? null)\n : Promise.resolve(),\n retry: false,\n ...queryOptions,\n });\n\n const onSuccessEvent = useEvent(\n onSuccess ??\n ((data: any) => {\n // AuthProviders relying on a third party services redirect back to the app can't\n // use the location state to store the path on which the user was before the login.\n // So we support a fallback on the localStorage.\n const previousLocation = localStorage.getItem(\n PreviousLocationStorageKey\n );\n const redirectTo =\n (data as AuthRedirectResult)?.redirectTo ??\n previousLocation;\n if (redirectTo === false) {\n return;\n }\n\n redirect(redirectTo ?? defaultRedirectUrl);\n })\n );\n const onErrorEvent = useEvent(onError ?? noop);\n const onSettledEvent = useEvent(onSettled ?? noop);\n\n useEffect(() => {\n if (queryResult.error == null || queryResult.isFetching) return;\n onErrorEvent(queryResult.error);\n }, [onErrorEvent, queryResult.error, queryResult.isFetching]);\n\n useEffect(() => {\n if (queryResult.data === undefined || queryResult.isFetching) return;\n onSuccessEvent(queryResult.data);\n }, [onSuccessEvent, queryResult.data, queryResult.isFetching]);\n\n useEffect(() => {\n if (queryResult.status === 'pending' || queryResult.isFetching) return;\n onSettledEvent(queryResult.data, queryResult.error);\n }, [\n onSettledEvent,\n queryResult.data,\n queryResult.error,\n queryResult.status,\n queryResult.isFetching,\n ]);\n\n return queryResult;\n};\n\n/**\n * Key used to store the previous location in localStorage.\n * Used by the useHandleAuthCallback hook to redirect the user to their previous location after a successful login.\n */\nexport const PreviousLocationStorageKey = '@react-admin/nextPathname';\n\nexport type UseHandleAuthCallbackOptions = Omit<\n UseQueryOptions<AuthRedirectResult | void>,\n 'queryKey' | 'queryFn'\n> & {\n onSuccess?: (data: AuthRedirectResult | void) => void;\n onError?: (err: Error) => void;\n onSettled?: (\n data?: AuthRedirectResult | void,\n error?: Error | null\n ) => void;\n};\n\nconst noop = () => {};\n","import * as React from 'react';\nimport { createContext, useContext } from 'react';\n\nexport const PreferenceKeyContext = createContext<string | null>('');\n\nexport const PreferenceKeyContextProvider = ({\n value = '',\n children,\n}: {\n value?: string | null;\n children: React.ReactNode;\n}) => (\n <PreferenceKeyContext.Provider value={value}>\n {children}\n </PreferenceKeyContext.Provider>\n);\n\nexport const usePreferenceKey = () => {\n return useContext(PreferenceKeyContext);\n};\n","import { useStore } from '../store/useStore';\nimport { usePreferenceKey } from './PreferenceKeyContext';\n\n/**\n * Get a preference value from the store\n *\n * Relies on the store, using a key namespaced with the preference key from the PreferenceKeyContext\n * @example\n *\n * // when used inside a PreferenceKeyContext of value 'my-app'\n * const [theme, setTheme] = usePreference('theme', 'light');\n * // this is equivalent to\n * const [theme, setTheme] = useStore('my-app.theme', 'light');\n */\nexport const usePreference = <T = any>(key?: string, defaultValue?: T) => {\n const preferenceKey = usePreferenceKey();\n if (!preferenceKey) {\n throw new Error(\n \"usePreference cannot be used outside of a Configurable component. Did you forget to wrap your component with <Configurable>? If you don't want to use Configurable, you can use the useStore hook instead.\"\n );\n }\n\n return useStore<T>(\n preferenceKey && key ? `${preferenceKey}.${key}` : preferenceKey ?? key,\n defaultValue\n );\n};\n","import { useContext } from 'react';\nimport {\n PreferencesEditorContext,\n PreferencesEditorContextValue,\n} from './PreferencesEditorContext';\n\nexport const usePreferencesEditor = (): PreferencesEditorContextValue => {\n const context = useContext(PreferencesEditorContext);\n\n if (!context) {\n throw new Error(\n 'usePreferencesEditor must be used within a PreferencesEditorContextProvider'\n );\n }\n\n return context;\n};\n","import { useState, useEffect } from 'react';\n\nimport { usePreference } from './usePreference';\n\n/**\n * Get the props for a preference input that changes the value on blur\n *\n * Relies on `usePreference`, so it's using the PreferenceKeyContext\n *\n * @example\n * const FontSizePreferenceInput = () => {\n * const field = usePreferenceInput('ui.font.size', 10);\n * return (\n * <div>\n * <label for=\"font-size\">Font size</label>\n * <input id=\"font-size\" {...field} />\n * </div>\n * );\n * }\n */\nexport const usePreferenceInput = (key?: string, defaultValue?: any) => {\n const [valueFromStore, setValueFromStore] = usePreference(\n key,\n defaultValue\n );\n const [value, setValue] = useState(valueFromStore);\n useEffect(() => {\n setValue(valueFromStore || defaultValue);\n }, [valueFromStore, defaultValue]);\n\n const onChange = event => {\n setValue(event.target.value === '' ? defaultValue : event.target.value);\n };\n\n const onBlur = () => {\n setValueFromStore(value);\n };\n\n const onKeyDown = event => {\n if (event.key === 'Enter') {\n setValueFromStore(value);\n const form = event.target.form;\n if (form) {\n const index = [...form].indexOf(event.target);\n form.elements[index + 1]?.focus();\n }\n event.preventDefault();\n }\n };\n\n return { value, onChange, onBlur, onKeyDown };\n};\n","import { useEffect } from 'react';\nimport { usePreferencesEditor } from './usePreferencesEditor';\n\n/**\n * Set inspector title on mount\n *\n * @example\n * useSetInspectorTitle('Datagrid');\n */\nexport const useSetInspectorTitle = (title: string, options?: any) => {\n const preferencesEditorContext = usePreferencesEditor();\n if (!preferencesEditorContext) {\n throw new Error(\n 'useSetInspectorTitle cannot be called outside of a PreferencesEditorContext'\n );\n }\n const { setTitle } = preferencesEditorContext;\n\n useEffect(() => {\n setTitle(title, options);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [title, JSON.stringify(options), setTitle]);\n};\n","/**\n * Gets a list of values indexed by field based on a list of records\n *\n * @example\n * const records = [\n * {\n * id: 1,\n * title: \"Lorem Ipsum\",\n * views: 254,\n * user_id: 123,\n * },\n * {\n * id: 2,\n * title: \"Sic Dolor amet\",\n * views: 65,\n * user_id: 456,\n * },\n * ];\n * getValuesFromRecords(records);\n * // {\n * // id: [1, 2],\n * // title: ['Lorem Ipsum', 'Sic Dolor amet'],\n * // views: [254, 65],\n * // user_id: [123, 456],\n * // }\n */\nexport default (records: any[]) =>\n records.reduce((values, record) => {\n Object.keys(record).forEach(fieldName => {\n if (!values[fieldName]) {\n values[fieldName] = [];\n }\n if (record[fieldName] != null) {\n const value = Array.isArray(record[fieldName])\n ? [record[fieldName]]\n : record[fieldName];\n values[fieldName] = values[fieldName].concat(value);\n }\n });\n return values;\n }, {});\n","import { createElement } from 'react';\nimport { InferredType } from './types';\n\nclass InferredElement {\n constructor(\n private type?: InferredType,\n private props?: any,\n private children?: any\n ) {\n this.type = type;\n this.props = props;\n this.children = children;\n }\n\n getElement(props = {}) {\n if (!this.type || !this.type.component) {\n return;\n }\n return this.children\n ? createElement(\n this.type.component,\n { ...this.props, ...props },\n this.children.length > 0\n ? this.children.map((child, index) =>\n child.getElement({ key: index })\n )\n : this.children.getElement()\n )\n : createElement(this.type.component, { ...this.props, ...props });\n }\n\n getProps() {\n return this.props;\n }\n\n isDefined() {\n return !!this.type;\n }\n\n getRepresentation() {\n if (!this.type) {\n return '';\n }\n if (this.type.representation) {\n return this.type.representation(this.props, this.children);\n }\n if (this.type.component) {\n return `<${\n this.type.component.displayName || this.type.component.name\n } source=\"${this.props.source}\" />`;\n }\n return '';\n }\n}\n\nexport default InferredElement;\n","/**\n * @name toDate\n * @category Common Helpers\n * @summary Convert the given argument to an instance of Date.\n *\n * @description\n * Convert the given argument to an instance of Date.\n *\n * If the argument is an instance of Date, the function returns its clone.\n *\n * If the argument is a number, it is treated as a timestamp.\n *\n * If the argument is none of the above, the function returns Invalid Date.\n *\n * **Note**: *all* Date arguments passed to any *date-fns* function is processed by `toDate`.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param argument - The value to convert\n *\n * @returns The parsed date in the local time zone\n *\n * @example\n * // Clone the date:\n * const result = toDate(new Date(2014, 1, 11, 11, 30, 30))\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert the timestamp to date:\n * const result = toDate(1392098430000)\n * //=> Tue Feb 11 2014 11:30:30\n */\nexport function toDate(argument) {\n const argStr = Object.prototype.toString.call(argument);\n\n // Clone the date\n if (\n argument instanceof Date ||\n (typeof argument === \"object\" && argStr === \"[object Date]\")\n ) {\n // Prevent the date to lose the milliseconds when passed to new Date() in IE10\n return new argument.constructor(+argument);\n } else if (\n typeof argument === \"number\" ||\n argStr === \"[object Number]\" ||\n typeof argument === \"string\" ||\n argStr === \"[object String]\"\n ) {\n // TODO: Can we get rid of as?\n return new Date(argument);\n } else {\n // TODO: Can we get rid of as?\n return new Date(NaN);\n }\n}\n\n// Fallback for modularized imports:\nexport default toDate;\n","/**\n * @name constructFrom\n * @category Generic Helpers\n * @summary Constructs a date using the reference date and the value\n *\n * @description\n * The function constructs a new date using the constructor from the reference\n * date and the given value. It helps to build generic functions that accept\n * date extensions.\n *\n * It defaults to `Date` if the passed reference date is a number or a string.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The reference date to take constructor from\n * @param value - The value to create the date\n *\n * @returns Date initialized using the given date and value\n *\n * @example\n * import { constructFrom } from 'date-fns'\n *\n * // A function that clones a date preserving the original type\n * function cloneDate<DateType extends Date(date: DateType): DateType {\n * return constructFrom(\n * date, // Use contrustor from the given date\n * date.getTime() // Use the date value to create a new date\n * )\n * }\n */\nexport function constructFrom(date, value) {\n if (date instanceof Date) {\n return new date.constructor(value);\n } else {\n return new Date(value);\n }\n}\n\n// Fallback for modularized imports:\nexport default constructFrom;\n","import { toDate } from \"./toDate.mjs\";\nimport { constructFrom } from \"./constructFrom.mjs\";\n\n/**\n * @name addDays\n * @category Day Helpers\n * @summary Add the specified number of days to the given date.\n *\n * @description\n * Add the specified number of days to the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The date to be changed\n * @param amount - The amount of days to be added.\n *\n * @returns The new date with the days added\n *\n * @example\n * // Add 10 days to 1 September 2014:\n * const result = addDays(new Date(2014, 8, 1), 10)\n * //=> Thu Sep 11 2014 00:00:00\n */\nexport function addDays(date, amount) {\n const _date = toDate(date);\n if (isNaN(amount)) return constructFrom(date, NaN);\n if (!amount) {\n // If 0 days, no-op to avoid changing times in the hour before end of DST\n return _date;\n }\n _date.setDate(_date.getDate() + amount);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default addDays;\n","import { toDate } from \"./toDate.mjs\";\nimport { constructFrom } from \"./constructFrom.mjs\";\n\n/**\n * @name addMonths\n * @category Month Helpers\n * @summary Add the specified number of months to the given date.\n *\n * @description\n * Add the specified number of months to the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The date to be changed\n * @param amount - The amount of months to be added.\n *\n * @returns The new date with the months added\n *\n * @example\n * // Add 5 months to 1 September 2014:\n * const result = addMonths(new Date(2014, 8, 1), 5)\n * //=> Sun Feb 01 2015 00:00:00\n *\n * // Add one month to 30 January 2023:\n * const result = addMonths(new Date(2023, 0, 30), 1)\n * //=> Tue Feb 28 2023 00:00:00\n */\nexport function addMonths(date, amount) {\n const _date = toDate(date);\n if (isNaN(amount)) return constructFrom(date, NaN);\n if (!amount) {\n // If 0 months, no-op to avoid changing times in the hour before end of DST\n return _date;\n }\n const dayOfMonth = _date.getDate();\n\n // The JS Date object supports date math by accepting out-of-bounds values for\n // month, day, etc. For example, new Date(2020, 0, 0) returns 31 Dec 2019 and\n // new Date(2020, 13, 1) returns 1 Feb 2021. This is *almost* the behavior we\n // want except that dates will wrap around the end of a month, meaning that\n // new Date(2020, 13, 31) will return 3 Mar 2021 not 28 Feb 2021 as desired. So\n // we'll default to the end of the desired month by adding 1 to the desired\n // month and using a date of 0 to back up one day to the end of the desired\n // month.\n const endOfDesiredMonth = constructFrom(date, _date.getTime());\n endOfDesiredMonth.setMonth(_date.getMonth() + amount + 1, 0);\n const daysInMonth = endOfDesiredMonth.getDate();\n if (dayOfMonth >= daysInMonth) {\n // If we're already at the end of the month, then this is the correct date\n // and we're done.\n return endOfDesiredMonth;\n } else {\n // Otherwise, we now know that setting the original day-of-month value won't\n // cause an overflow, so set the desired day-of-month. Note that we can't\n // just set the date of `endOfDesiredMonth` because that object may have had\n // its time changed in the unusual case where where a DST transition was on\n // the last day of the month and its local time was in the hour skipped or\n // repeated next to a DST transition. So we use `date` instead which is\n // guaranteed to still have the original time.\n _date.setFullYear(\n endOfDesiredMonth.getFullYear(),\n endOfDesiredMonth.getMonth(),\n dayOfMonth,\n );\n return _date;\n }\n}\n\n// Fallback for modularized imports:\nexport default addMonths;\n","import { addDays } from \"./addDays.mjs\";\nimport { addMonths } from \"./addMonths.mjs\";\nimport { constructFrom } from \"./constructFrom.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n/**\n * @name add\n * @category Common Helpers\n * @summary Add the specified years, months, weeks, days, hours, minutes and seconds to the given date.\n *\n * @description\n * Add the specified years, months, weeks, days, hours, minutes and seconds to the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The date to be changed\n * @param duration - The object with years, months, weeks, days, hours, minutes and seconds to be added.\n *\n * | Key | Description |\n * |----------------|------------------------------------|\n * | years | Amount of years to be added |\n * | months | Amount of months to be added |\n * | weeks | Amount of weeks to be added |\n * | days | Amount of days to be added |\n * | hours | Amount of hours to be added |\n * | minutes | Amount of minutes to be added |\n * | seconds | Amount of seconds to be added |\n *\n * All values default to 0\n *\n * @returns The new date with the seconds added\n *\n * @example\n * // Add the following duration to 1 September 2014, 10:19:50\n * const result = add(new Date(2014, 8, 1, 10, 19, 50), {\n * years: 2,\n * months: 9,\n * weeks: 1,\n * days: 7,\n * hours: 5,\\\\-7\n * minutes: 9,\n * seconds: 30,\n * })\n * //=> Thu Jun 15 2017 15:29:20\n */\nexport function add(date, duration) {\n const {\n years = 0,\n months = 0,\n weeks = 0,\n days = 0,\n hours = 0,\n minutes = 0,\n seconds = 0,\n } = duration;\n\n // Add years and months\n const _date = toDate(date);\n const dateWithMonths =\n months || years ? addMonths(_date, months + years * 12) : _date;\n\n // Add weeks and days\n const dateWithDays =\n days || weeks ? addDays(dateWithMonths, days + weeks * 7) : dateWithMonths;\n\n // Add days, hours, minutes and seconds\n const minutesToAdd = minutes + hours * 60;\n const secondsToAdd = seconds + minutesToAdd * 60;\n const msToAdd = secondsToAdd * 1000;\n const finalDate = constructFrom(date, dateWithDays.getTime() + msToAdd);\n\n return finalDate;\n}\n\n// Fallback for modularized imports:\nexport default add;\n","/**\n * @module constants\n * @summary Useful constants\n * @description\n * Collection of useful date constants.\n *\n * The constants could be imported from `date-fns/constants`:\n *\n * ```ts\n * import { maxTime, minTime } from \"./constants/date-fns/constants\";\n *\n * function isAllowedTime(time) {\n * return time <= maxTime && time >= minTime;\n * }\n * ```\n */\n\n/**\n * @constant\n * @name daysInWeek\n * @summary Days in 1 week.\n */\nexport const daysInWeek = 7;\n\n/**\n * @constant\n * @name daysInYear\n * @summary Days in 1 year.\n *\n * @description\n * How many days in a year.\n *\n * One years equals 365.2425 days according to the formula:\n *\n * > Leap year occures every 4 years, except for years that are divisable by 100 and not divisable by 400.\n * > 1 mean year = (365+1/4-1/100+1/400) days = 365.2425 days\n */\nexport const daysInYear = 365.2425;\n\n/**\n * @constant\n * @name maxTime\n * @summary Maximum allowed time.\n *\n * @example\n * import { maxTime } from \"./constants/date-fns/constants\";\n *\n * const isValid = 8640000000000001 <= maxTime;\n * //=> false\n *\n * new Date(8640000000000001);\n * //=> Invalid Date\n */\nexport const maxTime = Math.pow(10, 8) * 24 * 60 * 60 * 1000;\n\n/**\n * @constant\n * @name minTime\n * @summary Minimum allowed time.\n *\n * @example\n * import { minTime } from \"./constants/date-fns/constants\";\n *\n * const isValid = -8640000000000001 >= minTime;\n * //=> false\n *\n * new Date(-8640000000000001)\n * //=> Invalid Date\n */\nexport const minTime = -maxTime;\n\n/**\n * @constant\n * @name millisecondsInWeek\n * @summary Milliseconds in 1 week.\n */\nexport const millisecondsInWeek = 604800000;\n\n/**\n * @constant\n * @name millisecondsInDay\n * @summary Milliseconds in 1 day.\n */\nexport const millisecondsInDay = 86400000;\n\n/**\n * @constant\n * @name millisecondsInMinute\n * @summary Milliseconds in 1 minute\n */\nexport const millisecondsInMinute = 60000;\n\n/**\n * @constant\n * @name millisecondsInHour\n * @summary Milliseconds in 1 hour\n */\nexport const millisecondsInHour = 3600000;\n\n/**\n * @constant\n * @name millisecondsInSecond\n * @summary Milliseconds in 1 second\n */\nexport const millisecondsInSecond = 1000;\n\n/**\n * @constant\n * @name minutesInYear\n * @summary Minutes in 1 year.\n */\nexport const minutesInYear = 525600;\n\n/**\n * @constant\n * @name minutesInMonth\n * @summary Minutes in 1 month.\n */\nexport const minutesInMonth = 43200;\n\n/**\n * @constant\n * @name minutesInDay\n * @summary Minutes in 1 day.\n */\nexport const minutesInDay = 1440;\n\n/**\n * @constant\n * @name minutesInHour\n * @summary Minutes in 1 hour.\n */\nexport const minutesInHour = 60;\n\n/**\n * @constant\n * @name monthsInQuarter\n * @summary Months in 1 quarter.\n */\nexport const monthsInQuarter = 3;\n\n/**\n * @constant\n * @name monthsInYear\n * @summary Months in 1 year.\n */\nexport const monthsInYear = 12;\n\n/**\n * @constant\n * @name quartersInYear\n * @summary Quarters in 1 year\n */\nexport const quartersInYear = 4;\n\n/**\n * @constant\n * @name secondsInHour\n * @summary Seconds in 1 hour.\n */\nexport const secondsInHour = 3600;\n\n/**\n * @constant\n * @name secondsInMinute\n * @summary Seconds in 1 minute.\n */\nexport const secondsInMinute = 60;\n\n/**\n * @constant\n * @name secondsInDay\n * @summary Seconds in 1 day.\n */\nexport const secondsInDay = secondsInHour * 24;\n\n/**\n * @constant\n * @name secondsInWeek\n * @summary Seconds in 1 week.\n */\nexport const secondsInWeek = secondsInDay * 7;\n\n/**\n * @constant\n * @name secondsInYear\n * @summary Seconds in 1 year.\n */\nexport const secondsInYear = secondsInDay * daysInYear;\n\n/**\n * @constant\n * @name secondsInMonth\n * @summary Seconds in 1 month\n */\nexport const secondsInMonth = secondsInYear / 12;\n\n/**\n * @constant\n * @name secondsInQuarter\n * @summary Seconds in 1 quarter.\n */\nexport const secondsInQuarter = secondsInMonth * 3;\n","let defaultOptions = {};\n\nexport function getDefaultOptions() {\n return defaultOptions;\n}\n\nexport function setDefaultOptions(newOptions) {\n defaultOptions = newOptions;\n}\n","import { toDate } from \"./toDate.mjs\";\nimport { getDefaultOptions } from \"./_lib/defaultOptions.mjs\";\n\n/**\n * The {@link startOfWeek} function options.\n */\n\n/**\n * @name startOfWeek\n * @category Week Helpers\n * @summary Return the start of a week for the given date.\n *\n * @description\n * Return the start of a week for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n * @param options - An object with options\n *\n * @returns The start of a week\n *\n * @example\n * // The start of a week for 2 September 2014 11:55:00:\n * const result = startOfWeek(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Sun Aug 31 2014 00:00:00\n *\n * @example\n * // If the week starts on Monday, the start of the week for 2 September 2014 11:55:00:\n * const result = startOfWeek(new Date(2014, 8, 2, 11, 55, 0), { weekStartsOn: 1 })\n * //=> Mon Sep 01 2014 00:00:00\n */\nexport function startOfWeek(date, options) {\n const defaultOptions = getDefaultOptions();\n const weekStartsOn =\n options?.weekStartsOn ??\n options?.locale?.options?.weekStartsOn ??\n defaultOptions.weekStartsOn ??\n defaultOptions.locale?.options?.weekStartsOn ??\n 0;\n\n const _date = toDate(date);\n const day = _date.getDay();\n const diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\n\n _date.setDate(_date.getDate() - diff);\n _date.setHours(0, 0, 0, 0);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default startOfWeek;\n","import { startOfWeek } from \"./startOfWeek.mjs\";\n\n/**\n * @name startOfISOWeek\n * @category ISO Week Helpers\n * @summary Return the start of an ISO week for the given date.\n *\n * @description\n * Return the start of an ISO week for the given date.\n * The result will be in the local timezone.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n *\n * @returns The start of an ISO week\n *\n * @example\n * // The start of an ISO week for 2 September 2014 11:55:00:\n * const result = startOfISOWeek(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Mon Sep 01 2014 00:00:00\n */\nexport function startOfISOWeek(date) {\n return startOfWeek(date, { weekStartsOn: 1 });\n}\n\n// Fallback for modularized imports:\nexport default startOfISOWeek;\n","import { constructFrom } from \"./constructFrom.mjs\";\nimport { startOfISOWeek } from \"./startOfISOWeek.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n/**\n * @name getISOWeekYear\n * @category ISO Week-Numbering Year Helpers\n * @summary Get the ISO week-numbering year of the given date.\n *\n * @description\n * Get the ISO week-numbering year of the given date,\n * which always starts 3 days before the year's first Thursday.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The given date\n *\n * @returns The ISO week-numbering year\n *\n * @example\n * // Which ISO-week numbering year is 2 January 2005?\n * const result = getISOWeekYear(new Date(2005, 0, 2))\n * //=> 2004\n */\nexport function getISOWeekYear(date) {\n const _date = toDate(date);\n const year = _date.getFullYear();\n\n const fourthOfJanuaryOfNextYear = constructFrom(date, 0);\n fourthOfJanuaryOfNextYear.setFullYear(year + 1, 0, 4);\n fourthOfJanuaryOfNextYear.setHours(0, 0, 0, 0);\n const startOfNextYear = startOfISOWeek(fourthOfJanuaryOfNextYear);\n\n const fourthOfJanuaryOfThisYear = constructFrom(date, 0);\n fourthOfJanuaryOfThisYear.setFullYear(year, 0, 4);\n fourthOfJanuaryOfThisYear.setHours(0, 0, 0, 0);\n const startOfThisYear = startOfISOWeek(fourthOfJanuaryOfThisYear);\n\n if (_date.getTime() >= startOfNextYear.getTime()) {\n return year + 1;\n } else if (_date.getTime() >= startOfThisYear.getTime()) {\n return year;\n } else {\n return year - 1;\n }\n}\n\n// Fallback for modularized imports:\nexport default getISOWeekYear;\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name startOfDay\n * @category Day Helpers\n * @summary Return the start of a day for the given date.\n *\n * @description\n * Return the start of a day for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n *\n * @returns The start of a day\n *\n * @example\n * // The start of a day for 2 September 2014 11:55:00:\n * const result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 02 2014 00:00:00\n */\nexport function startOfDay(date) {\n const _date = toDate(date);\n _date.setHours(0, 0, 0, 0);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default startOfDay;\n","import { toDate } from \"../toDate.mjs\";\n\n/**\n * Google Chrome as of 67.0.3396.87 introduced timezones with offset that includes seconds.\n * They usually appear for dates that denote time before the timezones were introduced\n * (e.g. for 'Europe/Prague' timezone the offset is GMT+00:57:44 before 1 October 1891\n * and GMT+01:00:00 after that date)\n *\n * Date#getTimezoneOffset returns the offset in minutes and would return 57 for the example above,\n * which would lead to incorrect calculations.\n *\n * This function returns the timezone offset in milliseconds that takes seconds in account.\n */\nexport function getTimezoneOffsetInMilliseconds(date) {\n const _date = toDate(date);\n const utcDate = new Date(\n Date.UTC(\n _date.getFullYear(),\n _date.getMonth(),\n _date.getDate(),\n _date.getHours(),\n _date.getMinutes(),\n _date.getSeconds(),\n _date.getMilliseconds(),\n ),\n );\n utcDate.setUTCFullYear(_date.getFullYear());\n return +date - +utcDate;\n}\n","import { millisecondsInDay } from \"./constants.mjs\";\nimport { startOfDay } from \"./startOfDay.mjs\";\nimport { getTimezoneOffsetInMilliseconds } from \"./_lib/getTimezoneOffsetInMilliseconds.mjs\";\n\n/**\n * @name differenceInCalendarDays\n * @category Day Helpers\n * @summary Get the number of calendar days between the given dates.\n *\n * @description\n * Get the number of calendar days between the given dates. This means that the times are removed\n * from the dates and then the difference in days is calculated.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param dateLeft - The later date\n * @param dateRight - The earlier date\n *\n * @returns The number of calendar days\n *\n * @example\n * // How many calendar days are between\n * // 2 July 2011 23:00:00 and 2 July 2012 00:00:00?\n * const result = differenceInCalendarDays(\n * new Date(2012, 6, 2, 0, 0),\n * new Date(2011, 6, 2, 23, 0)\n * )\n * //=> 366\n * // How many calendar days are between\n * // 2 July 2011 23:59:00 and 3 July 2011 00:01:00?\n * const result = differenceInCalendarDays(\n * new Date(2011, 6, 3, 0, 1),\n * new Date(2011, 6, 2, 23, 59)\n * )\n * //=> 1\n */\nexport function differenceInCalendarDays(dateLeft, dateRight) {\n const startOfDayLeft = startOfDay(dateLeft);\n const startOfDayRight = startOfDay(dateRight);\n\n const timestampLeft =\n +startOfDayLeft - getTimezoneOffsetInMilliseconds(startOfDayLeft);\n const timestampRight =\n +startOfDayRight - getTimezoneOffsetInMilliseconds(startOfDayRight);\n\n // Round the number of days to the nearest integer because the number of\n // milliseconds in a day is not constant (e.g. it's different in the week of\n // the daylight saving time clock shift).\n return Math.round((timestampLeft - timestampRight) / millisecondsInDay);\n}\n\n// Fallback for modularized imports:\nexport default differenceInCalendarDays;\n","import { getISOWeekYear } from \"./getISOWeekYear.mjs\";\nimport { startOfISOWeek } from \"./startOfISOWeek.mjs\";\nimport { constructFrom } from \"./constructFrom.mjs\";\n\n/**\n * @name startOfISOWeekYear\n * @category ISO Week-Numbering Year Helpers\n * @summary Return the start of an ISO week-numbering year for the given date.\n *\n * @description\n * Return the start of an ISO week-numbering year,\n * which always starts 3 days before the year's first Thursday.\n * The result will be in the local timezone.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n *\n * @returns The start of an ISO week-numbering year\n *\n * @example\n * // The start of an ISO week-numbering year for 2 July 2005:\n * const result = startOfISOWeekYear(new Date(2005, 6, 2))\n * //=> Mon Jan 03 2005 00:00:00\n */\nexport function startOfISOWeekYear(date) {\n const year = getISOWeekYear(date);\n const fourthOfJanuary = constructFrom(date, 0);\n fourthOfJanuary.setFullYear(year, 0, 4);\n fourthOfJanuary.setHours(0, 0, 0, 0);\n return startOfISOWeek(fourthOfJanuary);\n}\n\n// Fallback for modularized imports:\nexport default startOfISOWeekYear;\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name compareAsc\n * @category Common Helpers\n * @summary Compare the two dates and return -1, 0 or 1.\n *\n * @description\n * Compare the two dates and return 1 if the first date is after the second,\n * -1 if the first date is before the second or 0 if dates are equal.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param dateLeft - The first date to compare\n * @param dateRight - The second date to compare\n *\n * @returns The result of the comparison\n *\n * @example\n * // Compare 11 February 1987 and 10 July 1989:\n * const result = compareAsc(new Date(1987, 1, 11), new Date(1989, 6, 10))\n * //=> -1\n *\n * @example\n * // Sort the array of dates:\n * const result = [\n * new Date(1995, 6, 2),\n * new Date(1987, 1, 11),\n * new Date(1989, 6, 10)\n * ].sort(compareAsc)\n * //=> [\n * // Wed Feb 11 1987 00:00:00,\n * // Mon Jul 10 1989 00:00:00,\n * // Sun Jul 02 1995 00:00:00\n * // ]\n */\nexport function compareAsc(dateLeft, dateRight) {\n const _dateLeft = toDate(dateLeft);\n const _dateRight = toDate(dateRight);\n\n const diff = _dateLeft.getTime() - _dateRight.getTime();\n\n if (diff < 0) {\n return -1;\n } else if (diff > 0) {\n return 1;\n // Return 0 if diff is 0; return NaN if diff is NaN\n } else {\n return diff;\n }\n}\n\n// Fallback for modularized imports:\nexport default compareAsc;\n","/**\n * @name isDate\n * @category Common Helpers\n * @summary Is the given value a date?\n *\n * @description\n * Returns true if the given value is an instance of Date. The function works for dates transferred across iframes.\n *\n * @param value - The value to check\n *\n * @returns True if the given value is a date\n *\n * @example\n * // For a valid date:\n * const result = isDate(new Date())\n * //=> true\n *\n * @example\n * // For an invalid date:\n * const result = isDate(new Date(NaN))\n * //=> true\n *\n * @example\n * // For some value:\n * const result = isDate('2014-02-31')\n * //=> false\n *\n * @example\n * // For an object:\n * const result = isDate({})\n * //=> false\n */\nexport function isDate(value) {\n return (\n value instanceof Date ||\n (typeof value === \"object\" &&\n Object.prototype.toString.call(value) === \"[object Date]\")\n );\n}\n\n// Fallback for modularized imports:\nexport default isDate;\n","import { isDate } from \"./isDate.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n/**\n * @name isValid\n * @category Common Helpers\n * @summary Is the given date valid?\n *\n * @description\n * Returns false if argument is Invalid Date and true otherwise.\n * Argument is converted to Date using `toDate`. See [toDate](https://date-fns.org/docs/toDate)\n * Invalid Date is a Date, whose time value is NaN.\n *\n * Time value of Date: http://es5.github.io/#x15.9.1.1\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The date to check\n *\n * @returns The date is valid\n *\n * @example\n * // For the valid date:\n * const result = isValid(new Date(2014, 1, 31))\n * //=> true\n *\n * @example\n * // For the value, convertable into a date:\n * const result = isValid(1393804800000)\n * //=> true\n *\n * @example\n * // For the invalid date:\n * const result = isValid(new Date(''))\n * //=> false\n */\nexport function isValid(date) {\n if (!isDate(date) && typeof date !== \"number\") {\n return false;\n }\n const _date = toDate(date);\n return !isNaN(Number(_date));\n}\n\n// Fallback for modularized imports:\nexport default isValid;\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name differenceInCalendarMonths\n * @category Month Helpers\n * @summary Get the number of calendar months between the given dates.\n *\n * @description\n * Get the number of calendar months between the given dates.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param dateLeft - The later date\n * @param dateRight - The earlier date\n *\n * @returns The number of calendar months\n *\n * @example\n * // How many calendar months are between 31 January 2014 and 1 September 2014?\n * const result = differenceInCalendarMonths(\n * new Date(2014, 8, 1),\n * new Date(2014, 0, 31)\n * )\n * //=> 8\n */\nexport function differenceInCalendarMonths(dateLeft, dateRight) {\n const _dateLeft = toDate(dateLeft);\n const _dateRight = toDate(dateRight);\n\n const yearDiff = _dateLeft.getFullYear() - _dateRight.getFullYear();\n const monthDiff = _dateLeft.getMonth() - _dateRight.getMonth();\n\n return yearDiff * 12 + monthDiff;\n}\n\n// Fallback for modularized imports:\nexport default differenceInCalendarMonths;\n","export function getRoundingMethod(method) {\n return (number) => {\n const round = method ? Math[method] : Math.trunc;\n const result = round(number);\n // Prevent negative zero\n return result === 0 ? 0 : result;\n };\n}\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name differenceInMilliseconds\n * @category Millisecond Helpers\n * @summary Get the number of milliseconds between the given dates.\n *\n * @description\n * Get the number of milliseconds between the given dates.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param dateLeft - The later date\n * @param dateRight - The earlier date\n *\n * @returns The number of milliseconds\n *\n * @example\n * // How many milliseconds are between\n * // 2 July 2014 12:30:20.600 and 2 July 2014 12:30:21.700?\n * const result = differenceInMilliseconds(\n * new Date(2014, 6, 2, 12, 30, 21, 700),\n * new Date(2014, 6, 2, 12, 30, 20, 600)\n * )\n * //=> 1100\n */\nexport function differenceInMilliseconds(dateLeft, dateRight) {\n return +toDate(dateLeft) - +toDate(dateRight);\n}\n\n// Fallback for modularized imports:\nexport default differenceInMilliseconds;\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name endOfDay\n * @category Day Helpers\n * @summary Return the end of a day for the given date.\n *\n * @description\n * Return the end of a day for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n *\n * @returns The end of a day\n *\n * @example\n * // The end of a day for 2 September 2014 11:55:00:\n * const result = endOfDay(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 02 2014 23:59:59.999\n */\nexport function endOfDay(date) {\n const _date = toDate(date);\n _date.setHours(23, 59, 59, 999);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default endOfDay;\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name endOfMonth\n * @category Month Helpers\n * @summary Return the end of a month for the given date.\n *\n * @description\n * Return the end of a month for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n *\n * @returns The end of a month\n *\n * @example\n * // The end of a month for 2 September 2014 11:55:00:\n * const result = endOfMonth(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 30 2014 23:59:59.999\n */\nexport function endOfMonth(date) {\n const _date = toDate(date);\n const month = _date.getMonth();\n _date.setFullYear(_date.getFullYear(), month + 1, 0);\n _date.setHours(23, 59, 59, 999);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default endOfMonth;\n","import { endOfDay } from \"./endOfDay.mjs\";\nimport { endOfMonth } from \"./endOfMonth.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n/**\n * @name isLastDayOfMonth\n * @category Month Helpers\n * @summary Is the given date the last day of a month?\n *\n * @description\n * Is the given date the last day of a month?\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The date to check\n\n * @returns The date is the last day of a month\n *\n * @example\n * // Is 28 February 2014 the last day of a month?\n * const result = isLastDayOfMonth(new Date(2014, 1, 28))\n * //=> true\n */\nexport function isLastDayOfMonth(date) {\n const _date = toDate(date);\n return +endOfDay(_date) === +endOfMonth(_date);\n}\n\n// Fallback for modularized imports:\nexport default isLastDayOfMonth;\n","import { compareAsc } from \"./compareAsc.mjs\";\nimport { differenceInCalendarMonths } from \"./differenceInCalendarMonths.mjs\";\nimport { isLastDayOfMonth } from \"./isLastDayOfMonth.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n/**\n * @name differenceInMonths\n * @category Month Helpers\n * @summary Get the number of full months between the given dates.\n *\n * @description\n * Get the number of full months between the given dates using trunc as a default rounding method.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param dateLeft - The later date\n * @param dateRight - The earlier date\n *\n * @returns The number of full months\n *\n * @example\n * // How many full months are between 31 January 2014 and 1 September 2014?\n * const result = differenceInMonths(new Date(2014, 8, 1), new Date(2014, 0, 31))\n * //=> 7\n */\nexport function differenceInMonths(dateLeft, dateRight) {\n const _dateLeft = toDate(dateLeft);\n const _dateRight = toDate(dateRight);\n\n const sign = compareAsc(_dateLeft, _dateRight);\n const difference = Math.abs(\n differenceInCalendarMonths(_dateLeft, _dateRight),\n );\n let result;\n\n // Check for the difference of less than month\n if (difference < 1) {\n result = 0;\n } else {\n if (_dateLeft.getMonth() === 1 && _dateLeft.getDate() > 27) {\n // This will check if the date is end of Feb and assign a higher end of month date\n // to compare it with Jan\n _dateLeft.setDate(30);\n }\n\n _dateLeft.setMonth(_dateLeft.getMonth() - sign * difference);\n\n // Math.abs(diff in full months - diff in calendar months) === 1 if last calendar month is not full\n // If so, result must be decreased by 1 in absolute value\n let isLastMonthNotFull = compareAsc(_dateLeft, _dateRight) === -sign;\n\n // Check for cases of one full calendar month\n if (\n isLastDayOfMonth(toDate(dateLeft)) &&\n difference === 1 &&\n compareAsc(dateLeft, _dateRight) === 1\n ) {\n isLastMonthNotFull = false;\n }\n\n result = sign * (difference - Number(isLastMonthNotFull));\n }\n\n // Prevent negative zero\n return result === 0 ? 0 : result;\n}\n\n// Fallback for modularized imports:\nexport default differenceInMonths;\n","import { getRoundingMethod } from \"./_lib/getRoundingMethod.mjs\";\nimport { differenceInMilliseconds } from \"./differenceInMilliseconds.mjs\";\n\n/**\n * The {@link differenceInSeconds} function options.\n */\n\n/**\n * @name differenceInSeconds\n * @category Second Helpers\n * @summary Get the number of seconds between the given dates.\n *\n * @description\n * Get the number of seconds between the given dates.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param dateLeft - The later date\n * @param dateRight - The earlier date\n * @param options - An object with options.\n *\n * @returns The number of seconds\n *\n * @example\n * // How many seconds are between\n * // 2 July 2014 12:30:07.999 and 2 July 2014 12:30:20.000?\n * const result = differenceInSeconds(\n * new Date(2014, 6, 2, 12, 30, 20, 0),\n * new Date(2014, 6, 2, 12, 30, 7, 999)\n * )\n * //=> 12\n */\nexport function differenceInSeconds(dateLeft, dateRight, options) {\n const diff = differenceInMilliseconds(dateLeft, dateRight) / 1000;\n return getRoundingMethod(options?.roundingMethod)(diff);\n}\n\n// Fallback for modularized imports:\nexport default differenceInSeconds;\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name startOfMonth\n * @category Month Helpers\n * @summary Return the start of a month for the given date.\n *\n * @description\n * Return the start of a month for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n *\n * @returns The start of a month\n *\n * @example\n * // The start of a month for 2 September 2014 11:55:00:\n * const result = startOfMonth(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Mon Sep 01 2014 00:00:00\n */\nexport function startOfMonth(date) {\n const _date = toDate(date);\n _date.setDate(1);\n _date.setHours(0, 0, 0, 0);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default startOfMonth;\n","import { toDate } from \"./toDate.mjs\";\nimport { constructFrom } from \"./constructFrom.mjs\";\n\n/**\n * @name startOfYear\n * @category Year Helpers\n * @summary Return the start of a year for the given date.\n *\n * @description\n * Return the start of a year for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n *\n * @returns The start of a year\n *\n * @example\n * // The start of a year for 2 September 2014 11:55:00:\n * const result = startOfYear(new Date(2014, 8, 2, 11, 55, 00))\n * //=> Wed Jan 01 2014 00:00:00\n */\nexport function startOfYear(date) {\n const cleanDate = toDate(date);\n const _date = constructFrom(date, 0);\n _date.setFullYear(cleanDate.getFullYear(), 0, 1);\n _date.setHours(0, 0, 0, 0);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default startOfYear;\n","/**\n * @name endOfYesterday\n * @category Day Helpers\n * @summary Return the end of yesterday.\n * @pure false\n *\n * @description\n * Return the end of yesterday.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @returns The end of yesterday\n *\n * @example\n * // If today is 6 October 2014:\n * const result = endOfYesterday()\n * //=> Sun Oct 5 2014 23:59:59.999\n */\nexport function endOfYesterday() {\n const now = new Date();\n const year = now.getFullYear();\n const month = now.getMonth();\n const day = now.getDate();\n\n const date = new Date(0);\n date.setFullYear(year, month, day - 1);\n date.setHours(23, 59, 59, 999);\n return date;\n}\n\n// Fallback for modularized imports:\nexport default endOfYesterday;\n","const formatDistanceLocale = {\n lessThanXSeconds: {\n one: \"less than a second\",\n other: \"less than {{count}} seconds\",\n },\n\n xSeconds: {\n one: \"1 second\",\n other: \"{{count}} seconds\",\n },\n\n halfAMinute: \"half a minute\",\n\n lessThanXMinutes: {\n one: \"less than a minute\",\n other: \"less than {{count}} minutes\",\n },\n\n xMinutes: {\n one: \"1 minute\",\n other: \"{{count}} minutes\",\n },\n\n aboutXHours: {\n one: \"about 1 hour\",\n other: \"about {{count}} hours\",\n },\n\n xHours: {\n one: \"1 hour\",\n other: \"{{count}} hours\",\n },\n\n xDays: {\n one: \"1 day\",\n other: \"{{count}} days\",\n },\n\n aboutXWeeks: {\n one: \"about 1 week\",\n other: \"about {{count}} weeks\",\n },\n\n xWeeks: {\n one: \"1 week\",\n other: \"{{count}} weeks\",\n },\n\n aboutXMonths: {\n one: \"about 1 month\",\n other: \"about {{count}} months\",\n },\n\n xMonths: {\n one: \"1 month\",\n other: \"{{count}} months\",\n },\n\n aboutXYears: {\n one: \"about 1 year\",\n other: \"about {{count}} years\",\n },\n\n xYears: {\n one: \"1 year\",\n other: \"{{count}} years\",\n },\n\n overXYears: {\n one: \"over 1 year\",\n other: \"over {{count}} years\",\n },\n\n almostXYears: {\n one: \"almost 1 year\",\n other: \"almost {{count}} years\",\n },\n};\n\nexport const formatDistance = (token, count, options) => {\n let result;\n\n const tokenValue = formatDistanceLocale[token];\n if (typeof tokenValue === \"string\") {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace(\"{{count}}\", count.toString());\n }\n\n if (options?.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return \"in \" + result;\n } else {\n return result + \" ago\";\n }\n }\n\n return result;\n};\n","export function buildFormatLongFn(args) {\n return (options = {}) => {\n // TODO: Remove String()\n const width = options.width ? String(options.width) : args.defaultWidth;\n const format = args.formats[width] || args.formats[args.defaultWidth];\n return format;\n };\n}\n","import { buildFormatLongFn } from \"../../_lib/buildFormatLongFn.mjs\";\n\nconst dateFormats = {\n full: \"EEEE, MMMM do, y\",\n long: \"MMMM do, y\",\n medium: \"MMM d, y\",\n short: \"MM/dd/yyyy\",\n};\n\nconst timeFormats = {\n full: \"h:mm:ss a zzzz\",\n long: \"h:mm:ss a z\",\n medium: \"h:mm:ss a\",\n short: \"h:mm a\",\n};\n\nconst dateTimeFormats = {\n full: \"{{date}} 'at' {{time}}\",\n long: \"{{date}} 'at' {{time}}\",\n medium: \"{{date}}, {{time}}\",\n short: \"{{date}}, {{time}}\",\n};\n\nexport const formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: \"full\",\n }),\n\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: \"full\",\n }),\n\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: \"full\",\n }),\n};\n","const formatRelativeLocale = {\n lastWeek: \"'last' eeee 'at' p\",\n yesterday: \"'yesterday at' p\",\n today: \"'today at' p\",\n tomorrow: \"'tomorrow at' p\",\n nextWeek: \"eeee 'at' p\",\n other: \"P\",\n};\n\nexport const formatRelative = (token, _date, _baseDate, _options) =>\n formatRelativeLocale[token];\n","/* eslint-disable no-unused-vars */\n\n/**\n * The localize function argument callback which allows to convert raw value to\n * the actual type.\n *\n * @param value - The value to convert\n *\n * @returns The converted value\n */\n\n/**\n * The map of localized values for each width.\n */\n\n/**\n * The index type of the locale unit value. It types conversion of units of\n * values that don't start at 0 (i.e. quarters).\n */\n\n/**\n * Converts the unit value to the tuple of values.\n */\n\n/**\n * The tuple of localized era values. The first element represents BC,\n * the second element represents AD.\n */\n\n/**\n * The tuple of localized quarter values. The first element represents Q1.\n */\n\n/**\n * The tuple of localized day values. The first element represents Sunday.\n */\n\n/**\n * The tuple of localized month values. The first element represents January.\n */\n\nexport function buildLocalizeFn(args) {\n return (value, options) => {\n const context = options?.context ? String(options.context) : \"standalone\";\n\n let valuesArray;\n if (context === \"formatting\" && args.formattingValues) {\n const defaultWidth = args.defaultFormattingWidth || args.defaultWidth;\n const width = options?.width ? String(options.width) : defaultWidth;\n\n valuesArray =\n args.formattingValues[width] || args.formattingValues[defaultWidth];\n } else {\n const defaultWidth = args.defaultWidth;\n const width = options?.width ? String(options.width) : args.defaultWidth;\n\n valuesArray = args.values[width] || args.values[defaultWidth];\n }\n const index = args.argumentCallback ? args.argumentCallback(value) : value;\n\n // @ts-expect-error - For some reason TypeScript just don't want to match it, no matter how hard we try. I challenge you to try to remove it!\n return valuesArray[index];\n };\n}\n","import { buildLocalizeFn } from \"../../_lib/buildLocalizeFn.mjs\";\n\nconst eraValues = {\n narrow: [\"B\", \"A\"],\n abbreviated: [\"BC\", \"AD\"],\n wide: [\"Before Christ\", \"Anno Domini\"],\n};\n\nconst quarterValues = {\n narrow: [\"1\", \"2\", \"3\", \"4\"],\n abbreviated: [\"Q1\", \"Q2\", \"Q3\", \"Q4\"],\n wide: [\"1st quarter\", \"2nd quarter\", \"3rd quarter\", \"4th quarter\"],\n};\n\n// Note: in English, the names of days of the week and months are capitalized.\n// If you are making a new locale based on this one, check if the same is true for the language you're working on.\n// Generally, formatted dates should look like they are in the middle of a sentence,\n// e.g. in Spanish language the weekdays and months should be in the lowercase.\nconst monthValues = {\n narrow: [\"J\", \"F\", \"M\", \"A\", \"M\", \"J\", \"J\", \"A\", \"S\", \"O\", \"N\", \"D\"],\n abbreviated: [\n \"Jan\",\n \"Feb\",\n \"Mar\",\n \"Apr\",\n \"May\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sep\",\n \"Oct\",\n \"Nov\",\n \"Dec\",\n ],\n\n wide: [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\",\n ],\n};\n\nconst dayValues = {\n narrow: [\"S\", \"M\", \"T\", \"W\", \"T\", \"F\", \"S\"],\n short: [\"Su\", \"Mo\", \"Tu\", \"We\", \"Th\", \"Fr\", \"Sa\"],\n abbreviated: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n wide: [\n \"Sunday\",\n \"Monday\",\n \"Tuesday\",\n \"Wednesday\",\n \"Thursday\",\n \"Friday\",\n \"Saturday\",\n ],\n};\n\nconst dayPeriodValues = {\n narrow: {\n am: \"a\",\n pm: \"p\",\n midnight: \"mi\",\n noon: \"n\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\",\n },\n abbreviated: {\n am: \"AM\",\n pm: \"PM\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\",\n },\n wide: {\n am: \"a.m.\",\n pm: \"p.m.\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\",\n },\n};\n\nconst formattingDayPeriodValues = {\n narrow: {\n am: \"a\",\n pm: \"p\",\n midnight: \"mi\",\n noon: \"n\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\",\n },\n abbreviated: {\n am: \"AM\",\n pm: \"PM\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\",\n },\n wide: {\n am: \"a.m.\",\n pm: \"p.m.\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\",\n },\n};\n\nconst ordinalNumber = (dirtyNumber, _options) => {\n const number = Number(dirtyNumber);\n\n // If ordinal numbers depend on context, for example,\n // if they are different for different grammatical genders,\n // use `options.unit`.\n //\n // `unit` can be 'year', 'quarter', 'month', 'week', 'date', 'dayOfYear',\n // 'day', 'hour', 'minute', 'second'.\n\n const rem100 = number % 100;\n if (rem100 > 20 || rem100 < 10) {\n switch (rem100 % 10) {\n case 1:\n return number + \"st\";\n case 2:\n return number + \"nd\";\n case 3:\n return number + \"rd\";\n }\n }\n return number + \"th\";\n};\n\nexport const localize = {\n ordinalNumber,\n\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: \"wide\",\n }),\n\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: \"wide\",\n argumentCallback: (quarter) => quarter - 1,\n }),\n\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: \"wide\",\n }),\n\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: \"wide\",\n }),\n\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: \"wide\",\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: \"wide\",\n }),\n};\n","export function buildMatchFn(args) {\n return (string, options = {}) => {\n const width = options.width;\n\n const matchPattern =\n (width && args.matchPatterns[width]) ||\n args.matchPatterns[args.defaultMatchWidth];\n const matchResult = string.match(matchPattern);\n\n if (!matchResult) {\n return null;\n }\n const matchedString = matchResult[0];\n\n const parsePatterns =\n (width && args.parsePatterns[width]) ||\n args.parsePatterns[args.defaultParseWidth];\n\n const key = Array.isArray(parsePatterns)\n ? findIndex(parsePatterns, (pattern) => pattern.test(matchedString))\n : // eslint-disable-next-line @typescript-eslint/no-explicit-any -- I challange you to fix the type\n findKey(parsePatterns, (pattern) => pattern.test(matchedString));\n\n let value;\n\n value = args.valueCallback ? args.valueCallback(key) : key;\n value = options.valueCallback\n ? // eslint-disable-next-line @typescript-eslint/no-explicit-any -- I challange you to fix the type\n options.valueCallback(value)\n : value;\n\n const rest = string.slice(matchedString.length);\n\n return { value, rest };\n };\n}\n\nfunction findKey(object, predicate) {\n for (const key in object) {\n if (\n Object.prototype.hasOwnProperty.call(object, key) &&\n predicate(object[key])\n ) {\n return key;\n }\n }\n return undefined;\n}\n\nfunction findIndex(array, predicate) {\n for (let key = 0; key < array.length; key++) {\n if (predicate(array[key])) {\n return key;\n }\n }\n return undefined;\n}\n","export function buildMatchPatternFn(args) {\n return (string, options = {}) => {\n const matchResult = string.match(args.matchPattern);\n if (!matchResult) return null;\n const matchedString = matchResult[0];\n\n const parseResult = string.match(args.parsePattern);\n if (!parseResult) return null;\n let value = args.valueCallback\n ? args.valueCallback(parseResult[0])\n : parseResult[0];\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any -- I challange you to fix the type\n value = options.valueCallback ? options.valueCallback(value) : value;\n\n const rest = string.slice(matchedString.length);\n\n return { value, rest };\n };\n}\n","import { buildMatchFn } from \"../../_lib/buildMatchFn.mjs\";\nimport { buildMatchPatternFn } from \"../../_lib/buildMatchPatternFn.mjs\";\n\nconst matchOrdinalNumberPattern = /^(\\d+)(th|st|nd|rd)?/i;\nconst parseOrdinalNumberPattern = /\\d+/i;\n\nconst matchEraPatterns = {\n narrow: /^(b|a)/i,\n abbreviated: /^(b\\.?\\s?c\\.?|b\\.?\\s?c\\.?\\s?e\\.?|a\\.?\\s?d\\.?|c\\.?\\s?e\\.?)/i,\n wide: /^(before christ|before common era|anno domini|common era)/i,\n};\nconst parseEraPatterns = {\n any: [/^b/i, /^(a|c)/i],\n};\n\nconst matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^q[1234]/i,\n wide: /^[1234](th|st|nd|rd)? quarter/i,\n};\nconst parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i],\n};\n\nconst matchMonthPatterns = {\n narrow: /^[jfmasond]/i,\n abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,\n wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i,\n};\nconst parseMonthPatterns = {\n narrow: [\n /^j/i,\n /^f/i,\n /^m/i,\n /^a/i,\n /^m/i,\n /^j/i,\n /^j/i,\n /^a/i,\n /^s/i,\n /^o/i,\n /^n/i,\n /^d/i,\n ],\n\n any: [\n /^ja/i,\n /^f/i,\n /^mar/i,\n /^ap/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^au/i,\n /^s/i,\n /^o/i,\n /^n/i,\n /^d/i,\n ],\n};\n\nconst matchDayPatterns = {\n narrow: /^[smtwf]/i,\n short: /^(su|mo|tu|we|th|fr|sa)/i,\n abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i,\n wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i,\n};\nconst parseDayPatterns = {\n narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i],\n any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i],\n};\n\nconst matchDayPeriodPatterns = {\n narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,\n any: /^([ap]\\.?\\s?m\\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i,\n};\nconst parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^mi/i,\n noon: /^no/i,\n morning: /morning/i,\n afternoon: /afternoon/i,\n evening: /evening/i,\n night: /night/i,\n },\n};\n\nexport const match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: (value) => parseInt(value, 10),\n }),\n\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseEraPatterns,\n defaultParseWidth: \"any\",\n }),\n\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: \"any\",\n valueCallback: (index) => index + 1,\n }),\n\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: \"any\",\n }),\n\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseDayPatterns,\n defaultParseWidth: \"any\",\n }),\n\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: \"any\",\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: \"any\",\n }),\n};\n","import { formatDistance } from \"./en-US/_lib/formatDistance.mjs\";\nimport { formatLong } from \"./en-US/_lib/formatLong.mjs\";\nimport { formatRelative } from \"./en-US/_lib/formatRelative.mjs\";\nimport { localize } from \"./en-US/_lib/localize.mjs\";\nimport { match } from \"./en-US/_lib/match.mjs\";\n\n/**\n * @category Locales\n * @summary English locale (United States).\n * @language English\n * @iso-639-2 eng\n * @author Sasha Koss [@kossnocorp](https://github.com/kossnocorp)\n * @author Lesha Koss [@leshakoss](https://github.com/leshakoss)\n */\nexport const enUS = {\n code: \"en-US\",\n formatDistance: formatDistance,\n formatLong: formatLong,\n formatRelative: formatRelative,\n localize: localize,\n match: match,\n options: {\n weekStartsOn: 0 /* Sunday */,\n firstWeekContainsDate: 1,\n },\n};\n\n// Fallback for modularized imports:\nexport default enUS;\n","import { differenceInCalendarDays } from \"./differenceInCalendarDays.mjs\";\nimport { startOfYear } from \"./startOfYear.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n/**\n * @name getDayOfYear\n * @category Day Helpers\n * @summary Get the day of the year of the given date.\n *\n * @description\n * Get the day of the year of the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The given date\n *\n * @returns The day of year\n *\n * @example\n * // Which day of the year is 2 July 2014?\n * const result = getDayOfYear(new Date(2014, 6, 2))\n * //=> 183\n */\nexport function getDayOfYear(date) {\n const _date = toDate(date);\n const diff = differenceInCalendarDays(_date, startOfYear(_date));\n const dayOfYear = diff + 1;\n return dayOfYear;\n}\n\n// Fallback for modularized imports:\nexport default getDayOfYear;\n","import { millisecondsInWeek } from \"./constants.mjs\";\nimport { startOfISOWeek } from \"./startOfISOWeek.mjs\";\nimport { startOfISOWeekYear } from \"./startOfISOWeekYear.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n/**\n * @name getISOWeek\n * @category ISO Week Helpers\n * @summary Get the ISO week of the given date.\n *\n * @description\n * Get the ISO week of the given date.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The given date\n *\n * @returns The ISO week\n *\n * @example\n * // Which week of the ISO-week numbering year is 2 January 2005?\n * const result = getISOWeek(new Date(2005, 0, 2))\n * //=> 53\n */\nexport function getISOWeek(date) {\n const _date = toDate(date);\n const diff = +startOfISOWeek(_date) - +startOfISOWeekYear(_date);\n\n // Round the number of weeks to the nearest integer because the number of\n // milliseconds in a week is not constant (e.g. it's different in the week of\n // the daylight saving time clock shift).\n return Math.round(diff / millisecondsInWeek) + 1;\n}\n\n// Fallback for modularized imports:\nexport default getISOWeek;\n","import { constructFrom } from \"./constructFrom.mjs\";\nimport { startOfWeek } from \"./startOfWeek.mjs\";\nimport { toDate } from \"./toDate.mjs\";\nimport { getDefaultOptions } from \"./_lib/defaultOptions.mjs\";\n\n/**\n * The {@link getWeekYear} function options.\n */\n\n/**\n * @name getWeekYear\n * @category Week-Numbering Year Helpers\n * @summary Get the local week-numbering year of the given date.\n *\n * @description\n * Get the local week-numbering year of the given date.\n * The exact calculation depends on the values of\n * `options.weekStartsOn` (which is the index of the first day of the week)\n * and `options.firstWeekContainsDate` (which is the day of January, which is always in\n * the first week of the week-numbering year)\n *\n * Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The given date\n * @param options - An object with options.\n *\n * @returns The local week-numbering year\n *\n * @example\n * // Which week numbering year is 26 December 2004 with the default settings?\n * const result = getWeekYear(new Date(2004, 11, 26))\n * //=> 2005\n *\n * @example\n * // Which week numbering year is 26 December 2004 if week starts on Saturday?\n * const result = getWeekYear(new Date(2004, 11, 26), { weekStartsOn: 6 })\n * //=> 2004\n *\n * @example\n * // Which week numbering year is 26 December 2004 if the first week contains 4 January?\n * const result = getWeekYear(new Date(2004, 11, 26), { firstWeekContainsDate: 4 })\n * //=> 2004\n */\nexport function getWeekYear(date, options) {\n const _date = toDate(date);\n const year = _date.getFullYear();\n\n const defaultOptions = getDefaultOptions();\n const firstWeekContainsDate =\n options?.firstWeekContainsDate ??\n options?.locale?.options?.firstWeekContainsDate ??\n defaultOptions.firstWeekContainsDate ??\n defaultOptions.locale?.options?.firstWeekContainsDate ??\n 1;\n\n const firstWeekOfNextYear = constructFrom(date, 0);\n firstWeekOfNextYear.setFullYear(year + 1, 0, firstWeekContainsDate);\n firstWeekOfNextYear.setHours(0, 0, 0, 0);\n const startOfNextYear = startOfWeek(firstWeekOfNextYear, options);\n\n const firstWeekOfThisYear = constructFrom(date, 0);\n firstWeekOfThisYear.setFullYear(year, 0, firstWeekContainsDate);\n firstWeekOfThisYear.setHours(0, 0, 0, 0);\n const startOfThisYear = startOfWeek(firstWeekOfThisYear, options);\n\n if (_date.getTime() >= startOfNextYear.getTime()) {\n return year + 1;\n } else if (_date.getTime() >= startOfThisYear.getTime()) {\n return year;\n } else {\n return year - 1;\n }\n}\n\n// Fallback for modularized imports:\nexport default getWeekYear;\n","import { constructFrom } from \"./constructFrom.mjs\";\nimport { getWeekYear } from \"./getWeekYear.mjs\";\nimport { startOfWeek } from \"./startOfWeek.mjs\";\nimport { getDefaultOptions } from \"./_lib/defaultOptions.mjs\";\n\n/**\n * The {@link startOfWeekYear} function options.\n */\n\n/**\n * @name startOfWeekYear\n * @category Week-Numbering Year Helpers\n * @summary Return the start of a local week-numbering year for the given date.\n *\n * @description\n * Return the start of a local week-numbering year.\n * The exact calculation depends on the values of\n * `options.weekStartsOn` (which is the index of the first day of the week)\n * and `options.firstWeekContainsDate` (which is the day of January, which is always in\n * the first week of the week-numbering year)\n *\n * Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n * @param options - An object with options\n *\n * @returns The start of a week-numbering year\n *\n * @example\n * // The start of an a week-numbering year for 2 July 2005 with default settings:\n * const result = startOfWeekYear(new Date(2005, 6, 2))\n * //=> Sun Dec 26 2004 00:00:00\n *\n * @example\n * // The start of a week-numbering year for 2 July 2005\n * // if Monday is the first day of week\n * // and 4 January is always in the first week of the year:\n * const result = startOfWeekYear(new Date(2005, 6, 2), {\n * weekStartsOn: 1,\n * firstWeekContainsDate: 4\n * })\n * //=> Mon Jan 03 2005 00:00:00\n */\nexport function startOfWeekYear(date, options) {\n const defaultOptions = getDefaultOptions();\n const firstWeekContainsDate =\n options?.firstWeekContainsDate ??\n options?.locale?.options?.firstWeekContainsDate ??\n defaultOptions.firstWeekContainsDate ??\n defaultOptions.locale?.options?.firstWeekContainsDate ??\n 1;\n\n const year = getWeekYear(date, options);\n const firstWeek = constructFrom(date, 0);\n firstWeek.setFullYear(year, 0, firstWeekContainsDate);\n firstWeek.setHours(0, 0, 0, 0);\n const _date = startOfWeek(firstWeek, options);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default startOfWeekYear;\n","import { millisecondsInWeek } from \"./constants.mjs\";\nimport { startOfWeek } from \"./startOfWeek.mjs\";\nimport { startOfWeekYear } from \"./startOfWeekYear.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n/**\n * The {@link getWeek} function options.\n */\n\n/**\n * @name getWeek\n * @category Week Helpers\n * @summary Get the local week index of the given date.\n *\n * @description\n * Get the local week index of the given date.\n * The exact calculation depends on the values of\n * `options.weekStartsOn` (which is the index of the first day of the week)\n * and `options.firstWeekContainsDate` (which is the day of January, which is always in\n * the first week of the week-numbering year)\n *\n * Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The given date\n * @param options - An object with options\n *\n * @returns The week\n *\n * @example\n * // Which week of the local week numbering year is 2 January 2005 with default options?\n * const result = getWeek(new Date(2005, 0, 2))\n * //=> 2\n *\n * @example\n * // Which week of the local week numbering year is 2 January 2005,\n * // if Monday is the first day of the week,\n * // and the first week of the year always contains 4 January?\n * const result = getWeek(new Date(2005, 0, 2), {\n * weekStartsOn: 1,\n * firstWeekContainsDate: 4\n * })\n * //=> 53\n */\n\nexport function getWeek(date, options) {\n const _date = toDate(date);\n const diff = +startOfWeek(_date, options) - +startOfWeekYear(_date, options);\n\n // Round the number of weeks to the nearest integer because the number of\n // milliseconds in a week is not constant (e.g. it's different in the week of\n // the daylight saving time clock shift).\n return Math.round(diff / millisecondsInWeek) + 1;\n}\n\n// Fallback for modularized imports:\nexport default getWeek;\n","export function addLeadingZeros(number, targetLength) {\n const sign = number < 0 ? \"-\" : \"\";\n const output = Math.abs(number).toString().padStart(targetLength, \"0\");\n return sign + output;\n}\n","import { addLeadingZeros } from \"../addLeadingZeros.mjs\";\n\n/*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | |\n * | d | Day of month | D | |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | m | Minute | M | Month |\n * | s | Second | S | Fraction of second |\n * | y | Year (abs) | Y | |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n */\n\nexport const lightFormatters = {\n // Year\n y(date, token) {\n // From http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_tokens\n // | Year | y | yy | yyy | yyyy | yyyyy |\n // |----------|-------|----|-------|-------|-------|\n // | AD 1 | 1 | 01 | 001 | 0001 | 00001 |\n // | AD 12 | 12 | 12 | 012 | 0012 | 00012 |\n // | AD 123 | 123 | 23 | 123 | 0123 | 00123 |\n // | AD 1234 | 1234 | 34 | 1234 | 1234 | 01234 |\n // | AD 12345 | 12345 | 45 | 12345 | 12345 | 12345 |\n\n const signedYear = date.getFullYear();\n // Returns 1 for 1 BC (which is year 0 in JavaScript)\n const year = signedYear > 0 ? signedYear : 1 - signedYear;\n return addLeadingZeros(token === \"yy\" ? year % 100 : year, token.length);\n },\n\n // Month\n M(date, token) {\n const month = date.getMonth();\n return token === \"M\" ? String(month + 1) : addLeadingZeros(month + 1, 2);\n },\n\n // Day of the month\n d(date, token) {\n return addLeadingZeros(date.getDate(), token.length);\n },\n\n // AM or PM\n a(date, token) {\n const dayPeriodEnumValue = date.getHours() / 12 >= 1 ? \"pm\" : \"am\";\n\n switch (token) {\n case \"a\":\n case \"aa\":\n return dayPeriodEnumValue.toUpperCase();\n case \"aaa\":\n return dayPeriodEnumValue;\n case \"aaaaa\":\n return dayPeriodEnumValue[0];\n case \"aaaa\":\n default:\n return dayPeriodEnumValue === \"am\" ? \"a.m.\" : \"p.m.\";\n }\n },\n\n // Hour [1-12]\n h(date, token) {\n return addLeadingZeros(date.getHours() % 12 || 12, token.length);\n },\n\n // Hour [0-23]\n H(date, token) {\n return addLeadingZeros(date.getHours(), token.length);\n },\n\n // Minute\n m(date, token) {\n return addLeadingZeros(date.getMinutes(), token.length);\n },\n\n // Second\n s(date, token) {\n return addLeadingZeros(date.getSeconds(), token.length);\n },\n\n // Fraction of second\n S(date, token) {\n const numberOfDigits = token.length;\n const milliseconds = date.getMilliseconds();\n const fractionalSeconds = Math.trunc(\n milliseconds * Math.pow(10, numberOfDigits - 3),\n );\n return addLeadingZeros(fractionalSeconds, token.length);\n },\n};\n","import { getDayOfYear } from \"../../getDayOfYear.mjs\";\nimport { getISOWeek } from \"../../getISOWeek.mjs\";\nimport { getISOWeekYear } from \"../../getISOWeekYear.mjs\";\nimport { getWeek } from \"../../getWeek.mjs\";\nimport { getWeekYear } from \"../../getWeekYear.mjs\";\nimport { addLeadingZeros } from \"../addLeadingZeros.mjs\";\nimport { lightFormatters } from \"./lightFormatters.mjs\";\n\nconst dayPeriodEnum = {\n am: \"am\",\n pm: \"pm\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\",\n};\n\n/*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | Milliseconds in day |\n * | b | AM, PM, noon, midnight | B | Flexible day period |\n * | c | Stand-alone local day of week | C* | Localized hour w/ day period |\n * | d | Day of month | D | Day of year |\n * | e | Local day of week | E | Day of week |\n * | f | | F* | Day of week in month |\n * | g* | Modified Julian day | G | Era |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | i! | ISO day of week | I! | ISO week of year |\n * | j* | Localized hour w/ day period | J* | Localized hour w/o day period |\n * | k | Hour [1-24] | K | Hour [0-11] |\n * | l* | (deprecated) | L | Stand-alone month |\n * | m | Minute | M | Month |\n * | n | | N | |\n * | o! | Ordinal number modifier | O | Timezone (GMT) |\n * | p! | Long localized time | P! | Long localized date |\n * | q | Stand-alone quarter | Q | Quarter |\n * | r* | Related Gregorian year | R! | ISO week-numbering year |\n * | s | Second | S | Fraction of second |\n * | t! | Seconds timestamp | T! | Milliseconds timestamp |\n * | u | Extended year | U* | Cyclic year |\n * | v* | Timezone (generic non-locat.) | V* | Timezone (location) |\n * | w | Local week of year | W* | Week of month |\n * | x | Timezone (ISO-8601 w/o Z) | X | Timezone (ISO-8601) |\n * | y | Year (abs) | Y | Local week-numbering year |\n * | z | Timezone (specific non-locat.) | Z* | Timezone (aliases) |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n *\n * Letters marked by ! are non-standard, but implemented by date-fns:\n * - `o` modifies the previous token to turn it into an ordinal (see `format` docs)\n * - `i` is ISO day of week. For `i` and `ii` is returns numeric ISO week days,\n * i.e. 7 for Sunday, 1 for Monday, etc.\n * - `I` is ISO week of year, as opposed to `w` which is local week of year.\n * - `R` is ISO week-numbering year, as opposed to `Y` which is local week-numbering year.\n * `R` is supposed to be used in conjunction with `I` and `i`\n * for universal ISO week-numbering date, whereas\n * `Y` is supposed to be used in conjunction with `w` and `e`\n * for week-numbering date specific to the locale.\n * - `P` is long localized date format\n * - `p` is long localized time format\n */\n\nexport const formatters = {\n // Era\n G: function (date, token, localize) {\n const era = date.getFullYear() > 0 ? 1 : 0;\n switch (token) {\n // AD, BC\n case \"G\":\n case \"GG\":\n case \"GGG\":\n return localize.era(era, { width: \"abbreviated\" });\n // A, B\n case \"GGGGG\":\n return localize.era(era, { width: \"narrow\" });\n // Anno Domini, Before Christ\n case \"GGGG\":\n default:\n return localize.era(era, { width: \"wide\" });\n }\n },\n\n // Year\n y: function (date, token, localize) {\n // Ordinal number\n if (token === \"yo\") {\n const signedYear = date.getFullYear();\n // Returns 1 for 1 BC (which is year 0 in JavaScript)\n const year = signedYear > 0 ? signedYear : 1 - signedYear;\n return localize.ordinalNumber(year, { unit: \"year\" });\n }\n\n return lightFormatters.y(date, token);\n },\n\n // Local week-numbering year\n Y: function (date, token, localize, options) {\n const signedWeekYear = getWeekYear(date, options);\n // Returns 1 for 1 BC (which is year 0 in JavaScript)\n const weekYear = signedWeekYear > 0 ? signedWeekYear : 1 - signedWeekYear;\n\n // Two digit year\n if (token === \"YY\") {\n const twoDigitYear = weekYear % 100;\n return addLeadingZeros(twoDigitYear, 2);\n }\n\n // Ordinal number\n if (token === \"Yo\") {\n return localize.ordinalNumber(weekYear, { unit: \"year\" });\n }\n\n // Padding\n return addLeadingZeros(weekYear, token.length);\n },\n\n // ISO week-numbering year\n R: function (date, token) {\n const isoWeekYear = getISOWeekYear(date);\n\n // Padding\n return addLeadingZeros(isoWeekYear, token.length);\n },\n\n // Extended year. This is a single number designating the year of this calendar system.\n // The main difference between `y` and `u` localizers are B.C. years:\n // | Year | `y` | `u` |\n // |------|-----|-----|\n // | AC 1 | 1 | 1 |\n // | BC 1 | 1 | 0 |\n // | BC 2 | 2 | -1 |\n // Also `yy` always returns the last two digits of a year,\n // while `uu` pads single digit years to 2 characters and returns other years unchanged.\n u: function (date, token) {\n const year = date.getFullYear();\n return addLeadingZeros(year, token.length);\n },\n\n // Quarter\n Q: function (date, token, localize) {\n const quarter = Math.ceil((date.getMonth() + 1) / 3);\n switch (token) {\n // 1, 2, 3, 4\n case \"Q\":\n return String(quarter);\n // 01, 02, 03, 04\n case \"QQ\":\n return addLeadingZeros(quarter, 2);\n // 1st, 2nd, 3rd, 4th\n case \"Qo\":\n return localize.ordinalNumber(quarter, { unit: \"quarter\" });\n // Q1, Q2, Q3, Q4\n case \"QQQ\":\n return localize.quarter(quarter, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n case \"QQQQQ\":\n return localize.quarter(quarter, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // 1st quarter, 2nd quarter, ...\n case \"QQQQ\":\n default:\n return localize.quarter(quarter, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // Stand-alone quarter\n q: function (date, token, localize) {\n const quarter = Math.ceil((date.getMonth() + 1) / 3);\n switch (token) {\n // 1, 2, 3, 4\n case \"q\":\n return String(quarter);\n // 01, 02, 03, 04\n case \"qq\":\n return addLeadingZeros(quarter, 2);\n // 1st, 2nd, 3rd, 4th\n case \"qo\":\n return localize.ordinalNumber(quarter, { unit: \"quarter\" });\n // Q1, Q2, Q3, Q4\n case \"qqq\":\n return localize.quarter(quarter, {\n width: \"abbreviated\",\n context: \"standalone\",\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n case \"qqqqq\":\n return localize.quarter(quarter, {\n width: \"narrow\",\n context: \"standalone\",\n });\n // 1st quarter, 2nd quarter, ...\n case \"qqqq\":\n default:\n return localize.quarter(quarter, {\n width: \"wide\",\n context: \"standalone\",\n });\n }\n },\n\n // Month\n M: function (date, token, localize) {\n const month = date.getMonth();\n switch (token) {\n case \"M\":\n case \"MM\":\n return lightFormatters.M(date, token);\n // 1st, 2nd, ..., 12th\n case \"Mo\":\n return localize.ordinalNumber(month + 1, { unit: \"month\" });\n // Jan, Feb, ..., Dec\n case \"MMM\":\n return localize.month(month, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n // J, F, ..., D\n case \"MMMMM\":\n return localize.month(month, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // January, February, ..., December\n case \"MMMM\":\n default:\n return localize.month(month, { width: \"wide\", context: \"formatting\" });\n }\n },\n\n // Stand-alone month\n L: function (date, token, localize) {\n const month = date.getMonth();\n switch (token) {\n // 1, 2, ..., 12\n case \"L\":\n return String(month + 1);\n // 01, 02, ..., 12\n case \"LL\":\n return addLeadingZeros(month + 1, 2);\n // 1st, 2nd, ..., 12th\n case \"Lo\":\n return localize.ordinalNumber(month + 1, { unit: \"month\" });\n // Jan, Feb, ..., Dec\n case \"LLL\":\n return localize.month(month, {\n width: \"abbreviated\",\n context: \"standalone\",\n });\n // J, F, ..., D\n case \"LLLLL\":\n return localize.month(month, {\n width: \"narrow\",\n context: \"standalone\",\n });\n // January, February, ..., December\n case \"LLLL\":\n default:\n return localize.month(month, { width: \"wide\", context: \"standalone\" });\n }\n },\n\n // Local week of year\n w: function (date, token, localize, options) {\n const week = getWeek(date, options);\n\n if (token === \"wo\") {\n return localize.ordinalNumber(week, { unit: \"week\" });\n }\n\n return addLeadingZeros(week, token.length);\n },\n\n // ISO week of year\n I: function (date, token, localize) {\n const isoWeek = getISOWeek(date);\n\n if (token === \"Io\") {\n return localize.ordinalNumber(isoWeek, { unit: \"week\" });\n }\n\n return addLeadingZeros(isoWeek, token.length);\n },\n\n // Day of the month\n d: function (date, token, localize) {\n if (token === \"do\") {\n return localize.ordinalNumber(date.getDate(), { unit: \"date\" });\n }\n\n return lightFormatters.d(date, token);\n },\n\n // Day of year\n D: function (date, token, localize) {\n const dayOfYear = getDayOfYear(date);\n\n if (token === \"Do\") {\n return localize.ordinalNumber(dayOfYear, { unit: \"dayOfYear\" });\n }\n\n return addLeadingZeros(dayOfYear, token.length);\n },\n\n // Day of week\n E: function (date, token, localize) {\n const dayOfWeek = date.getDay();\n switch (token) {\n // Tue\n case \"E\":\n case \"EE\":\n case \"EEE\":\n return localize.day(dayOfWeek, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n // T\n case \"EEEEE\":\n return localize.day(dayOfWeek, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // Tu\n case \"EEEEEE\":\n return localize.day(dayOfWeek, {\n width: \"short\",\n context: \"formatting\",\n });\n // Tuesday\n case \"EEEE\":\n default:\n return localize.day(dayOfWeek, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // Local day of week\n e: function (date, token, localize, options) {\n const dayOfWeek = date.getDay();\n const localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;\n switch (token) {\n // Numerical value (Nth day of week with current locale or weekStartsOn)\n case \"e\":\n return String(localDayOfWeek);\n // Padded numerical value\n case \"ee\":\n return addLeadingZeros(localDayOfWeek, 2);\n // 1st, 2nd, ..., 7th\n case \"eo\":\n return localize.ordinalNumber(localDayOfWeek, { unit: \"day\" });\n case \"eee\":\n return localize.day(dayOfWeek, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n // T\n case \"eeeee\":\n return localize.day(dayOfWeek, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // Tu\n case \"eeeeee\":\n return localize.day(dayOfWeek, {\n width: \"short\",\n context: \"formatting\",\n });\n // Tuesday\n case \"eeee\":\n default:\n return localize.day(dayOfWeek, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // Stand-alone local day of week\n c: function (date, token, localize, options) {\n const dayOfWeek = date.getDay();\n const localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;\n switch (token) {\n // Numerical value (same as in `e`)\n case \"c\":\n return String(localDayOfWeek);\n // Padded numerical value\n case \"cc\":\n return addLeadingZeros(localDayOfWeek, token.length);\n // 1st, 2nd, ..., 7th\n case \"co\":\n return localize.ordinalNumber(localDayOfWeek, { unit: \"day\" });\n case \"ccc\":\n return localize.day(dayOfWeek, {\n width: \"abbreviated\",\n context: \"standalone\",\n });\n // T\n case \"ccccc\":\n return localize.day(dayOfWeek, {\n width: \"narrow\",\n context: \"standalone\",\n });\n // Tu\n case \"cccccc\":\n return localize.day(dayOfWeek, {\n width: \"short\",\n context: \"standalone\",\n });\n // Tuesday\n case \"cccc\":\n default:\n return localize.day(dayOfWeek, {\n width: \"wide\",\n context: \"standalone\",\n });\n }\n },\n\n // ISO day of week\n i: function (date, token, localize) {\n const dayOfWeek = date.getDay();\n const isoDayOfWeek = dayOfWeek === 0 ? 7 : dayOfWeek;\n switch (token) {\n // 2\n case \"i\":\n return String(isoDayOfWeek);\n // 02\n case \"ii\":\n return addLeadingZeros(isoDayOfWeek, token.length);\n // 2nd\n case \"io\":\n return localize.ordinalNumber(isoDayOfWeek, { unit: \"day\" });\n // Tue\n case \"iii\":\n return localize.day(dayOfWeek, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n // T\n case \"iiiii\":\n return localize.day(dayOfWeek, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // Tu\n case \"iiiiii\":\n return localize.day(dayOfWeek, {\n width: \"short\",\n context: \"formatting\",\n });\n // Tuesday\n case \"iiii\":\n default:\n return localize.day(dayOfWeek, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // AM or PM\n a: function (date, token, localize) {\n const hours = date.getHours();\n const dayPeriodEnumValue = hours / 12 >= 1 ? \"pm\" : \"am\";\n\n switch (token) {\n case \"a\":\n case \"aa\":\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n case \"aaa\":\n return localize\n .dayPeriod(dayPeriodEnumValue, {\n width: \"abbreviated\",\n context: \"formatting\",\n })\n .toLowerCase();\n case \"aaaaa\":\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"narrow\",\n context: \"formatting\",\n });\n case \"aaaa\":\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // AM, PM, midnight, noon\n b: function (date, token, localize) {\n const hours = date.getHours();\n let dayPeriodEnumValue;\n if (hours === 12) {\n dayPeriodEnumValue = dayPeriodEnum.noon;\n } else if (hours === 0) {\n dayPeriodEnumValue = dayPeriodEnum.midnight;\n } else {\n dayPeriodEnumValue = hours / 12 >= 1 ? \"pm\" : \"am\";\n }\n\n switch (token) {\n case \"b\":\n case \"bb\":\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n case \"bbb\":\n return localize\n .dayPeriod(dayPeriodEnumValue, {\n width: \"abbreviated\",\n context: \"formatting\",\n })\n .toLowerCase();\n case \"bbbbb\":\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"narrow\",\n context: \"formatting\",\n });\n case \"bbbb\":\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // in the morning, in the afternoon, in the evening, at night\n B: function (date, token, localize) {\n const hours = date.getHours();\n let dayPeriodEnumValue;\n if (hours >= 17) {\n dayPeriodEnumValue = dayPeriodEnum.evening;\n } else if (hours >= 12) {\n dayPeriodEnumValue = dayPeriodEnum.afternoon;\n } else if (hours >= 4) {\n dayPeriodEnumValue = dayPeriodEnum.morning;\n } else {\n dayPeriodEnumValue = dayPeriodEnum.night;\n }\n\n switch (token) {\n case \"B\":\n case \"BB\":\n case \"BBB\":\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n case \"BBBBB\":\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"narrow\",\n context: \"formatting\",\n });\n case \"BBBB\":\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // Hour [1-12]\n h: function (date, token, localize) {\n if (token === \"ho\") {\n let hours = date.getHours() % 12;\n if (hours === 0) hours = 12;\n return localize.ordinalNumber(hours, { unit: \"hour\" });\n }\n\n return lightFormatters.h(date, token);\n },\n\n // Hour [0-23]\n H: function (date, token, localize) {\n if (token === \"Ho\") {\n return localize.ordinalNumber(date.getHours(), { unit: \"hour\" });\n }\n\n return lightFormatters.H(date, token);\n },\n\n // Hour [0-11]\n K: function (date, token, localize) {\n const hours = date.getHours() % 12;\n\n if (token === \"Ko\") {\n return localize.ordinalNumber(hours, { unit: \"hour\" });\n }\n\n return addLeadingZeros(hours, token.length);\n },\n\n // Hour [1-24]\n k: function (date, token, localize) {\n let hours = date.getHours();\n if (hours === 0) hours = 24;\n\n if (token === \"ko\") {\n return localize.ordinalNumber(hours, { unit: \"hour\" });\n }\n\n return addLeadingZeros(hours, token.length);\n },\n\n // Minute\n m: function (date, token, localize) {\n if (token === \"mo\") {\n return localize.ordinalNumber(date.getMinutes(), { unit: \"minute\" });\n }\n\n return lightFormatters.m(date, token);\n },\n\n // Second\n s: function (date, token, localize) {\n if (token === \"so\") {\n return localize.ordinalNumber(date.getSeconds(), { unit: \"second\" });\n }\n\n return lightFormatters.s(date, token);\n },\n\n // Fraction of second\n S: function (date, token) {\n return lightFormatters.S(date, token);\n },\n\n // Timezone (ISO-8601. If offset is 0, output is always `'Z'`)\n X: function (date, token, _localize) {\n const timezoneOffset = date.getTimezoneOffset();\n\n if (timezoneOffset === 0) {\n return \"Z\";\n }\n\n switch (token) {\n // Hours and optional minutes\n case \"X\":\n return formatTimezoneWithOptionalMinutes(timezoneOffset);\n\n // Hours, minutes and optional seconds without `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `XX`\n case \"XXXX\":\n case \"XX\": // Hours and minutes without `:` delimiter\n return formatTimezone(timezoneOffset);\n\n // Hours, minutes and optional seconds with `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `XXX`\n case \"XXXXX\":\n case \"XXX\": // Hours and minutes with `:` delimiter\n default:\n return formatTimezone(timezoneOffset, \":\");\n }\n },\n\n // Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent)\n x: function (date, token, _localize) {\n const timezoneOffset = date.getTimezoneOffset();\n\n switch (token) {\n // Hours and optional minutes\n case \"x\":\n return formatTimezoneWithOptionalMinutes(timezoneOffset);\n\n // Hours, minutes and optional seconds without `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `xx`\n case \"xxxx\":\n case \"xx\": // Hours and minutes without `:` delimiter\n return formatTimezone(timezoneOffset);\n\n // Hours, minutes and optional seconds with `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `xxx`\n case \"xxxxx\":\n case \"xxx\": // Hours and minutes with `:` delimiter\n default:\n return formatTimezone(timezoneOffset, \":\");\n }\n },\n\n // Timezone (GMT)\n O: function (date, token, _localize) {\n const timezoneOffset = date.getTimezoneOffset();\n\n switch (token) {\n // Short\n case \"O\":\n case \"OO\":\n case \"OOO\":\n return \"GMT\" + formatTimezoneShort(timezoneOffset, \":\");\n // Long\n case \"OOOO\":\n default:\n return \"GMT\" + formatTimezone(timezoneOffset, \":\");\n }\n },\n\n // Timezone (specific non-location)\n z: function (date, token, _localize) {\n const timezoneOffset = date.getTimezoneOffset();\n\n switch (token) {\n // Short\n case \"z\":\n case \"zz\":\n case \"zzz\":\n return \"GMT\" + formatTimezoneShort(timezoneOffset, \":\");\n // Long\n case \"zzzz\":\n default:\n return \"GMT\" + formatTimezone(timezoneOffset, \":\");\n }\n },\n\n // Seconds timestamp\n t: function (date, token, _localize) {\n const timestamp = Math.trunc(date.getTime() / 1000);\n return addLeadingZeros(timestamp, token.length);\n },\n\n // Milliseconds timestamp\n T: function (date, token, _localize) {\n const timestamp = date.getTime();\n return addLeadingZeros(timestamp, token.length);\n },\n};\n\nfunction formatTimezoneShort(offset, delimiter = \"\") {\n const sign = offset > 0 ? \"-\" : \"+\";\n const absOffset = Math.abs(offset);\n const hours = Math.trunc(absOffset / 60);\n const minutes = absOffset % 60;\n if (minutes === 0) {\n return sign + String(hours);\n }\n return sign + String(hours) + delimiter + addLeadingZeros(minutes, 2);\n}\n\nfunction formatTimezoneWithOptionalMinutes(offset, delimiter) {\n if (offset % 60 === 0) {\n const sign = offset > 0 ? \"-\" : \"+\";\n return sign + addLeadingZeros(Math.abs(offset) / 60, 2);\n }\n return formatTimezone(offset, delimiter);\n}\n\nfunction formatTimezone(offset, delimiter = \"\") {\n const sign = offset > 0 ? \"-\" : \"+\";\n const absOffset = Math.abs(offset);\n const hours = addLeadingZeros(Math.trunc(absOffset / 60), 2);\n const minutes = addLeadingZeros(absOffset % 60, 2);\n return sign + hours + delimiter + minutes;\n}\n","const dateLongFormatter = (pattern, formatLong) => {\n switch (pattern) {\n case \"P\":\n return formatLong.date({ width: \"short\" });\n case \"PP\":\n return formatLong.date({ width: \"medium\" });\n case \"PPP\":\n return formatLong.date({ width: \"long\" });\n case \"PPPP\":\n default:\n return formatLong.date({ width: \"full\" });\n }\n};\n\nconst timeLongFormatter = (pattern, formatLong) => {\n switch (pattern) {\n case \"p\":\n return formatLong.time({ width: \"short\" });\n case \"pp\":\n return formatLong.time({ width: \"medium\" });\n case \"ppp\":\n return formatLong.time({ width: \"long\" });\n case \"pppp\":\n default:\n return formatLong.time({ width: \"full\" });\n }\n};\n\nconst dateTimeLongFormatter = (pattern, formatLong) => {\n const matchResult = pattern.match(/(P+)(p+)?/) || [];\n const datePattern = matchResult[1];\n const timePattern = matchResult[2];\n\n if (!timePattern) {\n return dateLongFormatter(pattern, formatLong);\n }\n\n let dateTimeFormat;\n\n switch (datePattern) {\n case \"P\":\n dateTimeFormat = formatLong.dateTime({ width: \"short\" });\n break;\n case \"PP\":\n dateTimeFormat = formatLong.dateTime({ width: \"medium\" });\n break;\n case \"PPP\":\n dateTimeFormat = formatLong.dateTime({ width: \"long\" });\n break;\n case \"PPPP\":\n default:\n dateTimeFormat = formatLong.dateTime({ width: \"full\" });\n break;\n }\n\n return dateTimeFormat\n .replace(\"{{date}}\", dateLongFormatter(datePattern, formatLong))\n .replace(\"{{time}}\", timeLongFormatter(timePattern, formatLong));\n};\n\nexport const longFormatters = {\n p: timeLongFormatter,\n P: dateTimeLongFormatter,\n};\n","const dayOfYearTokenRE = /^D+$/;\nconst weekYearTokenRE = /^Y+$/;\n\nconst throwTokens = [\"D\", \"DD\", \"YY\", \"YYYY\"];\n\nexport function isProtectedDayOfYearToken(token) {\n return dayOfYearTokenRE.test(token);\n}\n\nexport function isProtectedWeekYearToken(token) {\n return weekYearTokenRE.test(token);\n}\n\nexport function warnOrThrowProtectedError(token, format, input) {\n const _message = message(token, format, input);\n console.warn(_message);\n if (throwTokens.includes(token)) throw new RangeError(_message);\n}\n\nfunction message(token, format, input) {\n const subject = token[0] === \"Y\" ? \"years\" : \"days of the month\";\n return `Use \\`${token.toLowerCase()}\\` instead of \\`${token}\\` (in \\`${format}\\`) for formatting ${subject} to the input \\`${input}\\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`;\n}\n","import { defaultLocale } from \"./_lib/defaultLocale.mjs\";\nimport { getDefaultOptions } from \"./_lib/defaultOptions.mjs\";\nimport { formatters } from \"./_lib/format/formatters.mjs\";\nimport { longFormatters } from \"./_lib/format/longFormatters.mjs\";\nimport {\n isProtectedDayOfYearToken,\n isProtectedWeekYearToken,\n warnOrThrowProtectedError,\n} from \"./_lib/protectedTokens.mjs\";\nimport { isValid } from \"./isValid.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n// Rexports of internal for libraries to use.\n// See: https://github.com/date-fns/date-fns/issues/3638#issuecomment-1877082874\nexport { formatters, longFormatters };\n\n// This RegExp consists of three parts separated by `|`:\n// - [yYQqMLwIdDecihHKkms]o matches any available ordinal number token\n// (one of the certain letters followed by `o`)\n// - (\\w)\\1* matches any sequences of the same letter\n// - '' matches two quote characters in a row\n// - '(''|[^'])+('|$) matches anything surrounded by two quote characters ('),\n// except a single quote symbol, which ends the sequence.\n// Two quote characters do not end the sequence.\n// If there is no matching single quote\n// then the sequence will continue until the end of the string.\n// - . matches any single character unmatched by previous parts of the RegExps\nconst formattingTokensRegExp =\n /[yYQqMLwIdDecihHKkms]o|(\\w)\\1*|''|'(''|[^'])+('|$)|./g;\n\n// This RegExp catches symbols escaped by quotes, and also\n// sequences of symbols P, p, and the combinations like `PPPPPPPppppp`\nconst longFormattingTokensRegExp = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g;\n\nconst escapedStringRegExp = /^'([^]*?)'?$/;\nconst doubleQuoteRegExp = /''/g;\nconst unescapedLatinCharacterRegExp = /[a-zA-Z]/;\n\nexport { format as formatDate };\n\n/**\n * The {@link format} function options.\n */\n\n/**\n * @name format\n * @alias formatDate\n * @category Common Helpers\n * @summary Format the date.\n *\n * @description\n * Return the formatted date string in the given format. The result may vary by locale.\n *\n * > ⚠️ Please note that the `format` tokens differ from Moment.js and other libraries.\n * > See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * The characters wrapped between two single quotes characters (') are escaped.\n * Two single quotes in a row, whether inside or outside a quoted sequence, represent a 'real' single quote.\n * (see the last example)\n *\n * Format of the string is based on Unicode Technical Standard #35:\n * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * with a few additions (see note 7 below the table).\n *\n * Accepted patterns:\n * | Unit | Pattern | Result examples | Notes |\n * |---------------------------------|---------|-----------------------------------|-------|\n * | Era | G..GGG | AD, BC | |\n * | | GGGG | Anno Domini, Before Christ | 2 |\n * | | GGGGG | A, B | |\n * | Calendar year | y | 44, 1, 1900, 2017 | 5 |\n * | | yo | 44th, 1st, 0th, 17th | 5,7 |\n * | | yy | 44, 01, 00, 17 | 5 |\n * | | yyy | 044, 001, 1900, 2017 | 5 |\n * | | yyyy | 0044, 0001, 1900, 2017 | 5 |\n * | | yyyyy | ... | 3,5 |\n * | Local week-numbering year | Y | 44, 1, 1900, 2017 | 5 |\n * | | Yo | 44th, 1st, 1900th, 2017th | 5,7 |\n * | | YY | 44, 01, 00, 17 | 5,8 |\n * | | YYY | 044, 001, 1900, 2017 | 5 |\n * | | YYYY | 0044, 0001, 1900, 2017 | 5,8 |\n * | | YYYYY | ... | 3,5 |\n * | ISO week-numbering year | R | -43, 0, 1, 1900, 2017 | 5,7 |\n * | | RR | -43, 00, 01, 1900, 2017 | 5,7 |\n * | | RRR | -043, 000, 001, 1900, 2017 | 5,7 |\n * | | RRRR | -0043, 0000, 0001, 1900, 2017 | 5,7 |\n * | | RRRRR | ... | 3,5,7 |\n * | Extended year | u | -43, 0, 1, 1900, 2017 | 5 |\n * | | uu | -43, 01, 1900, 2017 | 5 |\n * | | uuu | -043, 001, 1900, 2017 | 5 |\n * | | uuuu | -0043, 0001, 1900, 2017 | 5 |\n * | | uuuuu | ... | 3,5 |\n * | Quarter (formatting) | Q | 1, 2, 3, 4 | |\n * | | Qo | 1st, 2nd, 3rd, 4th | 7 |\n * | | QQ | 01, 02, 03, 04 | |\n * | | QQQ | Q1, Q2, Q3, Q4 | |\n * | | QQQQ | 1st quarter, 2nd quarter, ... | 2 |\n * | | QQQQQ | 1, 2, 3, 4 | 4 |\n * | Quarter (stand-alone) | q | 1, 2, 3, 4 | |\n * | | qo | 1st, 2nd, 3rd, 4th | 7 |\n * | | qq | 01, 02, 03, 04 | |\n * | | qqq | Q1, Q2, Q3, Q4 | |\n * | | qqqq | 1st quarter, 2nd quarter, ... | 2 |\n * | | qqqqq | 1, 2, 3, 4 | 4 |\n * | Month (formatting) | M | 1, 2, ..., 12 | |\n * | | Mo | 1st, 2nd, ..., 12th | 7 |\n * | | MM | 01, 02, ..., 12 | |\n * | | MMM | Jan, Feb, ..., Dec | |\n * | | MMMM | January, February, ..., December | 2 |\n * | | MMMMM | J, F, ..., D | |\n * | Month (stand-alone) | L | 1, 2, ..., 12 | |\n * | | Lo | 1st, 2nd, ..., 12th | 7 |\n * | | LL | 01, 02, ..., 12 | |\n * | | LLL | Jan, Feb, ..., Dec | |\n * | | LLLL | January, February, ..., December | 2 |\n * | | LLLLL | J, F, ..., D | |\n * | Local week of year | w | 1, 2, ..., 53 | |\n * | | wo | 1st, 2nd, ..., 53th | 7 |\n * | | ww | 01, 02, ..., 53 | |\n * | ISO week of year | I | 1, 2, ..., 53 | 7 |\n * | | Io | 1st, 2nd, ..., 53th | 7 |\n * | | II | 01, 02, ..., 53 | 7 |\n * | Day of month | d | 1, 2, ..., 31 | |\n * | | do | 1st, 2nd, ..., 31st | 7 |\n * | | dd | 01, 02, ..., 31 | |\n * | Day of year | D | 1, 2, ..., 365, 366 | 9 |\n * | | Do | 1st, 2nd, ..., 365th, 366th | 7 |\n * | | DD | 01, 02, ..., 365, 366 | 9 |\n * | | DDD | 001, 002, ..., 365, 366 | |\n * | | DDDD | ... | 3 |\n * | Day of week (formatting) | E..EEE | Mon, Tue, Wed, ..., Sun | |\n * | | EEEE | Monday, Tuesday, ..., Sunday | 2 |\n * | | EEEEE | M, T, W, T, F, S, S | |\n * | | EEEEEE | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | ISO day of week (formatting) | i | 1, 2, 3, ..., 7 | 7 |\n * | | io | 1st, 2nd, ..., 7th | 7 |\n * | | ii | 01, 02, ..., 07 | 7 |\n * | | iii | Mon, Tue, Wed, ..., Sun | 7 |\n * | | iiii | Monday, Tuesday, ..., Sunday | 2,7 |\n * | | iiiii | M, T, W, T, F, S, S | 7 |\n * | | iiiiii | Mo, Tu, We, Th, Fr, Sa, Su | 7 |\n * | Local day of week (formatting) | e | 2, 3, 4, ..., 1 | |\n * | | eo | 2nd, 3rd, ..., 1st | 7 |\n * | | ee | 02, 03, ..., 01 | |\n * | | eee | Mon, Tue, Wed, ..., Sun | |\n * | | eeee | Monday, Tuesday, ..., Sunday | 2 |\n * | | eeeee | M, T, W, T, F, S, S | |\n * | | eeeeee | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | Local day of week (stand-alone) | c | 2, 3, 4, ..., 1 | |\n * | | co | 2nd, 3rd, ..., 1st | 7 |\n * | | cc | 02, 03, ..., 01 | |\n * | | ccc | Mon, Tue, Wed, ..., Sun | |\n * | | cccc | Monday, Tuesday, ..., Sunday | 2 |\n * | | ccccc | M, T, W, T, F, S, S | |\n * | | cccccc | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | AM, PM | a..aa | AM, PM | |\n * | | aaa | am, pm | |\n * | | aaaa | a.m., p.m. | 2 |\n * | | aaaaa | a, p | |\n * | AM, PM, noon, midnight | b..bb | AM, PM, noon, midnight | |\n * | | bbb | am, pm, noon, midnight | |\n * | | bbbb | a.m., p.m., noon, midnight | 2 |\n * | | bbbbb | a, p, n, mi | |\n * | Flexible day period | B..BBB | at night, in the morning, ... | |\n * | | BBBB | at night, in the morning, ... | 2 |\n * | | BBBBB | at night, in the morning, ... | |\n * | Hour [1-12] | h | 1, 2, ..., 11, 12 | |\n * | | ho | 1st, 2nd, ..., 11th, 12th | 7 |\n * | | hh | 01, 02, ..., 11, 12 | |\n * | Hour [0-23] | H | 0, 1, 2, ..., 23 | |\n * | | Ho | 0th, 1st, 2nd, ..., 23rd | 7 |\n * | | HH | 00, 01, 02, ..., 23 | |\n * | Hour [0-11] | K | 1, 2, ..., 11, 0 | |\n * | | Ko | 1st, 2nd, ..., 11th, 0th | 7 |\n * | | KK | 01, 02, ..., 11, 00 | |\n * | Hour [1-24] | k | 24, 1, 2, ..., 23 | |\n * | | ko | 24th, 1st, 2nd, ..., 23rd | 7 |\n * | | kk | 24, 01, 02, ..., 23 | |\n * | Minute | m | 0, 1, ..., 59 | |\n * | | mo | 0th, 1st, ..., 59th | 7 |\n * | | mm | 00, 01, ..., 59 | |\n * | Second | s | 0, 1, ..., 59 | |\n * | | so | 0th, 1st, ..., 59th | 7 |\n * | | ss | 00, 01, ..., 59 | |\n * | Fraction of second | S | 0, 1, ..., 9 | |\n * | | SS | 00, 01, ..., 99 | |\n * | | SSS | 000, 001, ..., 999 | |\n * | | SSSS | ... | 3 |\n * | Timezone (ISO-8601 w/ Z) | X | -08, +0530, Z | |\n * | | XX | -0800, +0530, Z | |\n * | | XXX | -08:00, +05:30, Z | |\n * | | XXXX | -0800, +0530, Z, +123456 | 2 |\n * | | XXXXX | -08:00, +05:30, Z, +12:34:56 | |\n * | Timezone (ISO-8601 w/o Z) | x | -08, +0530, +00 | |\n * | | xx | -0800, +0530, +0000 | |\n * | | xxx | -08:00, +05:30, +00:00 | 2 |\n * | | xxxx | -0800, +0530, +0000, +123456 | |\n * | | xxxxx | -08:00, +05:30, +00:00, +12:34:56 | |\n * | Timezone (GMT) | O...OOO | GMT-8, GMT+5:30, GMT+0 | |\n * | | OOOO | GMT-08:00, GMT+05:30, GMT+00:00 | 2 |\n * | Timezone (specific non-locat.) | z...zzz | GMT-8, GMT+5:30, GMT+0 | 6 |\n * | | zzzz | GMT-08:00, GMT+05:30, GMT+00:00 | 2,6 |\n * | Seconds timestamp | t | 512969520 | 7 |\n * | | tt | ... | 3,7 |\n * | Milliseconds timestamp | T | 512969520900 | 7 |\n * | | TT | ... | 3,7 |\n * | Long localized date | P | 04/29/1453 | 7 |\n * | | PP | Apr 29, 1453 | 7 |\n * | | PPP | April 29th, 1453 | 7 |\n * | | PPPP | Friday, April 29th, 1453 | 2,7 |\n * | Long localized time | p | 12:00 AM | 7 |\n * | | pp | 12:00:00 AM | 7 |\n * | | ppp | 12:00:00 AM GMT+2 | 7 |\n * | | pppp | 12:00:00 AM GMT+02:00 | 2,7 |\n * | Combination of date and time | Pp | 04/29/1453, 12:00 AM | 7 |\n * | | PPpp | Apr 29, 1453, 12:00:00 AM | 7 |\n * | | PPPppp | April 29th, 1453 at ... | 7 |\n * | | PPPPpppp| Friday, April 29th, 1453 at ... | 2,7 |\n * Notes:\n * 1. \"Formatting\" units (e.g. formatting quarter) in the default en-US locale\n * are the same as \"stand-alone\" units, but are different in some languages.\n * \"Formatting\" units are declined according to the rules of the language\n * in the context of a date. \"Stand-alone\" units are always nominative singular:\n *\n * `format(new Date(2017, 10, 6), 'do LLLL', {locale: cs}) //=> '6. listopad'`\n *\n * `format(new Date(2017, 10, 6), 'do MMMM', {locale: cs}) //=> '6. listopadu'`\n *\n * 2. Any sequence of the identical letters is a pattern, unless it is escaped by\n * the single quote characters (see below).\n * If the sequence is longer than listed in table (e.g. `EEEEEEEEEEE`)\n * the output will be the same as default pattern for this unit, usually\n * the longest one (in case of ISO weekdays, `EEEE`). Default patterns for units\n * are marked with \"2\" in the last column of the table.\n *\n * `format(new Date(2017, 10, 6), 'MMM') //=> 'Nov'`\n *\n * `format(new Date(2017, 10, 6), 'MMMM') //=> 'November'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMM') //=> 'N'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMMM') //=> 'November'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMMMM') //=> 'November'`\n *\n * 3. Some patterns could be unlimited length (such as `yyyyyyyy`).\n * The output will be padded with zeros to match the length of the pattern.\n *\n * `format(new Date(2017, 10, 6), 'yyyyyyyy') //=> '00002017'`\n *\n * 4. `QQQQQ` and `qqqqq` could be not strictly numerical in some locales.\n * These tokens represent the shortest form of the quarter.\n *\n * 5. The main difference between `y` and `u` patterns are B.C. years:\n *\n * | Year | `y` | `u` |\n * |------|-----|-----|\n * | AC 1 | 1 | 1 |\n * | BC 1 | 1 | 0 |\n * | BC 2 | 2 | -1 |\n *\n * Also `yy` always returns the last two digits of a year,\n * while `uu` pads single digit years to 2 characters and returns other years unchanged:\n *\n * | Year | `yy` | `uu` |\n * |------|------|------|\n * | 1 | 01 | 01 |\n * | 14 | 14 | 14 |\n * | 376 | 76 | 376 |\n * | 1453 | 53 | 1453 |\n *\n * The same difference is true for local and ISO week-numbering years (`Y` and `R`),\n * except local week-numbering years are dependent on `options.weekStartsOn`\n * and `options.firstWeekContainsDate` (compare [getISOWeekYear](https://date-fns.org/docs/getISOWeekYear)\n * and [getWeekYear](https://date-fns.org/docs/getWeekYear)).\n *\n * 6. Specific non-location timezones are currently unavailable in `date-fns`,\n * so right now these tokens fall back to GMT timezones.\n *\n * 7. These patterns are not in the Unicode Technical Standard #35:\n * - `i`: ISO day of week\n * - `I`: ISO week of year\n * - `R`: ISO week-numbering year\n * - `t`: seconds timestamp\n * - `T`: milliseconds timestamp\n * - `o`: ordinal number modifier\n * - `P`: long localized date\n * - `p`: long localized time\n *\n * 8. `YY` and `YYYY` tokens represent week-numbering years but they are often confused with years.\n * You should enable `options.useAdditionalWeekYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * 9. `D` and `DD` tokens represent days of the year but they are often confused with days of the month.\n * You should enable `options.useAdditionalDayOfYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n * @param format - The string of tokens\n * @param options - An object with options\n *\n * @returns The formatted date string\n *\n * @throws `date` must not be Invalid Date\n * @throws `options.locale` must contain `localize` property\n * @throws `options.locale` must contain `formatLong` property\n * @throws use `yyyy` instead of `YYYY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws use `yy` instead of `YY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws use `d` instead of `D` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws use `dd` instead of `DD` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws format string contains an unescaped latin alphabet character\n *\n * @example\n * // Represent 11 February 2014 in middle-endian format:\n * const result = format(new Date(2014, 1, 11), 'MM/dd/yyyy')\n * //=> '02/11/2014'\n *\n * @example\n * // Represent 2 July 2014 in Esperanto:\n * import { eoLocale } from 'date-fns/locale/eo'\n * const result = format(new Date(2014, 6, 2), \"do 'de' MMMM yyyy\", {\n * locale: eoLocale\n * })\n * //=> '2-a de julio 2014'\n *\n * @example\n * // Escape string by single quote characters:\n * const result = format(new Date(2014, 6, 2, 15), \"h 'o''clock'\")\n * //=> \"3 o'clock\"\n */\nexport function format(date, formatStr, options) {\n const defaultOptions = getDefaultOptions();\n const locale = options?.locale ?? defaultOptions.locale ?? defaultLocale;\n\n const firstWeekContainsDate =\n options?.firstWeekContainsDate ??\n options?.locale?.options?.firstWeekContainsDate ??\n defaultOptions.firstWeekContainsDate ??\n defaultOptions.locale?.options?.firstWeekContainsDate ??\n 1;\n\n const weekStartsOn =\n options?.weekStartsOn ??\n options?.locale?.options?.weekStartsOn ??\n defaultOptions.weekStartsOn ??\n defaultOptions.locale?.options?.weekStartsOn ??\n 0;\n\n const originalDate = toDate(date);\n\n if (!isValid(originalDate)) {\n throw new RangeError(\"Invalid time value\");\n }\n\n let parts = formatStr\n .match(longFormattingTokensRegExp)\n .map((substring) => {\n const firstCharacter = substring[0];\n if (firstCharacter === \"p\" || firstCharacter === \"P\") {\n const longFormatter = longFormatters[firstCharacter];\n return longFormatter(substring, locale.formatLong);\n }\n return substring;\n })\n .join(\"\")\n .match(formattingTokensRegExp)\n .map((substring) => {\n // Replace two single quote characters with one single quote character\n if (substring === \"''\") {\n return { isToken: false, value: \"'\" };\n }\n\n const firstCharacter = substring[0];\n if (firstCharacter === \"'\") {\n return { isToken: false, value: cleanEscapedString(substring) };\n }\n\n if (formatters[firstCharacter]) {\n return { isToken: true, value: substring };\n }\n\n if (firstCharacter.match(unescapedLatinCharacterRegExp)) {\n throw new RangeError(\n \"Format string contains an unescaped latin alphabet character `\" +\n firstCharacter +\n \"`\",\n );\n }\n\n return { isToken: false, value: substring };\n });\n\n // invoke localize preprocessor (only for french locales at the moment)\n if (locale.localize.preprocessor) {\n parts = locale.localize.preprocessor(originalDate, parts);\n }\n\n const formatterOptions = {\n firstWeekContainsDate,\n weekStartsOn,\n locale,\n };\n\n return parts\n .map((part) => {\n if (!part.isToken) return part.value;\n\n const token = part.value;\n\n if (\n (!options?.useAdditionalWeekYearTokens &&\n isProtectedWeekYearToken(token)) ||\n (!options?.useAdditionalDayOfYearTokens &&\n isProtectedDayOfYearToken(token))\n ) {\n warnOrThrowProtectedError(token, formatStr, String(date));\n }\n\n const formatter = formatters[token[0]];\n return formatter(originalDate, token, locale.localize, formatterOptions);\n })\n .join(\"\");\n}\n\nfunction cleanEscapedString(input) {\n const matched = input.match(escapedStringRegExp);\n\n if (!matched) {\n return input;\n }\n\n return matched[1].replace(doubleQuoteRegExp, \"'\");\n}\n\n// Fallback for modularized imports:\nexport default format;\n","import { compareAsc } from \"./compareAsc.mjs\";\nimport { minutesInDay, minutesInMonth } from \"./constants.mjs\";\nimport { differenceInMonths } from \"./differenceInMonths.mjs\";\nimport { differenceInSeconds } from \"./differenceInSeconds.mjs\";\nimport { toDate } from \"./toDate.mjs\";\nimport { defaultLocale } from \"./_lib/defaultLocale.mjs\";\nimport { getDefaultOptions } from \"./_lib/defaultOptions.mjs\";\nimport { getTimezoneOffsetInMilliseconds } from \"./_lib/getTimezoneOffsetInMilliseconds.mjs\";\n\n/**\n * The {@link formatDistance} function options.\n */\n\n/**\n * @name formatDistance\n * @category Common Helpers\n * @summary Return the distance between the given dates in words.\n *\n * @description\n * Return the distance between the given dates in words.\n *\n * | Distance between dates | Result |\n * |-------------------------------------------------------------------|---------------------|\n * | 0 ... 30 secs | less than a minute |\n * | 30 secs ... 1 min 30 secs | 1 minute |\n * | 1 min 30 secs ... 44 mins 30 secs | [2..44] minutes |\n * | 44 mins ... 30 secs ... 89 mins 30 secs | about 1 hour |\n * | 89 mins 30 secs ... 23 hrs 59 mins 30 secs | about [2..24] hours |\n * | 23 hrs 59 mins 30 secs ... 41 hrs 59 mins 30 secs | 1 day |\n * | 41 hrs 59 mins 30 secs ... 29 days 23 hrs 59 mins 30 secs | [2..30] days |\n * | 29 days 23 hrs 59 mins 30 secs ... 44 days 23 hrs 59 mins 30 secs | about 1 month |\n * | 44 days 23 hrs 59 mins 30 secs ... 59 days 23 hrs 59 mins 30 secs | about 2 months |\n * | 59 days 23 hrs 59 mins 30 secs ... 1 yr | [2..12] months |\n * | 1 yr ... 1 yr 3 months | about 1 year |\n * | 1 yr 3 months ... 1 yr 9 month s | over 1 year |\n * | 1 yr 9 months ... 2 yrs | almost 2 years |\n * | N yrs ... N yrs 3 months | about N years |\n * | N yrs 3 months ... N yrs 9 months | over N years |\n * | N yrs 9 months ... N+1 yrs | almost N+1 years |\n *\n * With `options.includeSeconds == true`:\n * | Distance between dates | Result |\n * |------------------------|----------------------|\n * | 0 secs ... 5 secs | less than 5 seconds |\n * | 5 secs ... 10 secs | less than 10 seconds |\n * | 10 secs ... 20 secs | less than 20 seconds |\n * | 20 secs ... 40 secs | half a minute |\n * | 40 secs ... 60 secs | less than a minute |\n * | 60 secs ... 90 secs | 1 minute |\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The date\n * @param baseDate - The date to compare with\n * @param options - An object with options\n *\n * @returns The distance in words\n *\n * @throws `date` must not be Invalid Date\n * @throws `baseDate` must not be Invalid Date\n * @throws `options.locale` must contain `formatDistance` property\n *\n * @example\n * // What is the distance between 2 July 2014 and 1 January 2015?\n * const result = formatDistance(new Date(2014, 6, 2), new Date(2015, 0, 1))\n * //=> '6 months'\n *\n * @example\n * // What is the distance between 1 January 2015 00:00:15\n * // and 1 January 2015 00:00:00, including seconds?\n * const result = formatDistance(\n * new Date(2015, 0, 1, 0, 0, 15),\n * new Date(2015, 0, 1, 0, 0, 0),\n * { includeSeconds: true }\n * )\n * //=> 'less than 20 seconds'\n *\n * @example\n * // What is the distance from 1 January 2016\n * // to 1 January 2015, with a suffix?\n * const result = formatDistance(new Date(2015, 0, 1), new Date(2016, 0, 1), {\n * addSuffix: true\n * })\n * //=> 'about 1 year ago'\n *\n * @example\n * // What is the distance between 1 August 2016 and 1 January 2015 in Esperanto?\n * import { eoLocale } from 'date-fns/locale/eo'\n * const result = formatDistance(new Date(2016, 7, 1), new Date(2015, 0, 1), {\n * locale: eoLocale\n * })\n * //=> 'pli ol 1 jaro'\n */\n\nexport function formatDistance(date, baseDate, options) {\n const defaultOptions = getDefaultOptions();\n const locale = options?.locale ?? defaultOptions.locale ?? defaultLocale;\n const minutesInAlmostTwoDays = 2520;\n\n const comparison = compareAsc(date, baseDate);\n\n if (isNaN(comparison)) {\n throw new RangeError(\"Invalid time value\");\n }\n\n const localizeOptions = Object.assign({}, options, {\n addSuffix: options?.addSuffix,\n comparison: comparison,\n });\n\n let dateLeft;\n let dateRight;\n if (comparison > 0) {\n dateLeft = toDate(baseDate);\n dateRight = toDate(date);\n } else {\n dateLeft = toDate(date);\n dateRight = toDate(baseDate);\n }\n\n const seconds = differenceInSeconds(dateRight, dateLeft);\n const offsetInSeconds =\n (getTimezoneOffsetInMilliseconds(dateRight) -\n getTimezoneOffsetInMilliseconds(dateLeft)) /\n 1000;\n const minutes = Math.round((seconds - offsetInSeconds) / 60);\n let months;\n\n // 0 up to 2 mins\n if (minutes < 2) {\n if (options?.includeSeconds) {\n if (seconds < 5) {\n return locale.formatDistance(\"lessThanXSeconds\", 5, localizeOptions);\n } else if (seconds < 10) {\n return locale.formatDistance(\"lessThanXSeconds\", 10, localizeOptions);\n } else if (seconds < 20) {\n return locale.formatDistance(\"lessThanXSeconds\", 20, localizeOptions);\n } else if (seconds < 40) {\n return locale.formatDistance(\"halfAMinute\", 0, localizeOptions);\n } else if (seconds < 60) {\n return locale.formatDistance(\"lessThanXMinutes\", 1, localizeOptions);\n } else {\n return locale.formatDistance(\"xMinutes\", 1, localizeOptions);\n }\n } else {\n if (minutes === 0) {\n return locale.formatDistance(\"lessThanXMinutes\", 1, localizeOptions);\n } else {\n return locale.formatDistance(\"xMinutes\", minutes, localizeOptions);\n }\n }\n\n // 2 mins up to 0.75 hrs\n } else if (minutes < 45) {\n return locale.formatDistance(\"xMinutes\", minutes, localizeOptions);\n\n // 0.75 hrs up to 1.5 hrs\n } else if (minutes < 90) {\n return locale.formatDistance(\"aboutXHours\", 1, localizeOptions);\n\n // 1.5 hrs up to 24 hrs\n } else if (minutes < minutesInDay) {\n const hours = Math.round(minutes / 60);\n return locale.formatDistance(\"aboutXHours\", hours, localizeOptions);\n\n // 1 day up to 1.75 days\n } else if (minutes < minutesInAlmostTwoDays) {\n return locale.formatDistance(\"xDays\", 1, localizeOptions);\n\n // 1.75 days up to 30 days\n } else if (minutes < minutesInMonth) {\n const days = Math.round(minutes / minutesInDay);\n return locale.formatDistance(\"xDays\", days, localizeOptions);\n\n // 1 month up to 2 months\n } else if (minutes < minutesInMonth * 2) {\n months = Math.round(minutes / minutesInMonth);\n return locale.formatDistance(\"aboutXMonths\", months, localizeOptions);\n }\n\n months = differenceInMonths(dateRight, dateLeft);\n\n // 2 months up to 12 months\n if (months < 12) {\n const nearestMonth = Math.round(minutes / minutesInMonth);\n return locale.formatDistance(\"xMonths\", nearestMonth, localizeOptions);\n\n // 1 year up to max Date\n } else {\n const monthsSinceStartOfYear = months % 12;\n const years = Math.trunc(months / 12);\n\n // N years up to 1 years 3 months\n if (monthsSinceStartOfYear < 3) {\n return locale.formatDistance(\"aboutXYears\", years, localizeOptions);\n\n // N years 3 months up to N years 9 months\n } else if (monthsSinceStartOfYear < 9) {\n return locale.formatDistance(\"overXYears\", years, localizeOptions);\n\n // N years 9 months up to N year 12 months\n } else {\n return locale.formatDistance(\"almostXYears\", years + 1, localizeOptions);\n }\n }\n}\n\n// Fallback for modularized imports:\nexport default formatDistance;\n","import { getDefaultOptions as getInternalDefaultOptions } from \"./_lib/defaultOptions.mjs\";\n\n/**\n * @name getDefaultOptions\n * @category Common Helpers\n * @summary Get default options.\n * @pure false\n *\n * @description\n * Returns an object that contains defaults for\n * `options.locale`, `options.weekStartsOn` and `options.firstWeekContainsDate`\n * arguments for all functions.\n *\n * You can change these with [setDefaultOptions](https://date-fns.org/docs/setDefaultOptions).\n *\n * @returns The default options\n *\n * @example\n * const result = getDefaultOptions()\n * //=> {}\n *\n * @example\n * setDefaultOptions({ weekStarsOn: 1, firstWeekContainsDate: 4 })\n * const result = getDefaultOptions()\n * //=> { weekStarsOn: 1, firstWeekContainsDate: 4 }\n */\nexport function getDefaultOptions() {\n return Object.assign({}, getInternalDefaultOptions());\n}\n\n// Fallback for modularized imports:\nexport default getDefaultOptions;\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name getISODay\n * @category Weekday Helpers\n * @summary Get the day of the ISO week of the given date.\n *\n * @description\n * Get the day of the ISO week of the given date,\n * which is 7 for Sunday, 1 for Monday etc.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The given date\n *\n * @returns The day of ISO week\n *\n * @example\n * // Which day of the ISO week is 26 February 2012?\n * const result = getISODay(new Date(2012, 1, 26))\n * //=> 7\n */\nexport function getISODay(date) {\n const _date = toDate(date);\n let day = _date.getDay();\n\n if (day === 0) {\n day = 7;\n }\n\n return day;\n}\n\n// Fallback for modularized imports:\nexport default getISODay;\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name isAfter\n * @category Common Helpers\n * @summary Is the first date after the second one?\n *\n * @description\n * Is the first date after the second one?\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The date that should be after the other one to return true\n * @param dateToCompare - The date to compare with\n *\n * @returns The first date is after the second date\n *\n * @example\n * // Is 10 July 1989 after 11 February 1987?\n * const result = isAfter(new Date(1989, 6, 10), new Date(1987, 1, 11))\n * //=> true\n */\nexport function isAfter(date, dateToCompare) {\n const _date = toDate(date);\n const _dateToCompare = toDate(dateToCompare);\n return _date.getTime() > _dateToCompare.getTime();\n}\n\n// Fallback for modularized imports:\nexport default isAfter;\n","import { constructFrom } from \"./constructFrom.mjs\";\n\n/**\n * @name transpose\n * @category Generic Helpers\n * @summary Transpose the date to the given constructor.\n *\n * @description\n * The function transposes the date to the given constructor. It helps you\n * to transpose the date in the system time zone to say `UTCDate` or any other\n * date extension.\n *\n * @typeParam DateInputType - The input `Date` type derived from the passed argument.\n * @typeParam DateOutputType - The output `Date` type derived from the passed constructor.\n *\n * @param fromDate - The date to use values from\n * @param constructor - The date constructor to use\n *\n * @returns Date transposed to the given constructor\n *\n * @example\n * // Create July 10, 2022 00:00 in locale time zone\n * const date = new Date(2022, 6, 10)\n * //=> 'Sun Jul 10 2022 00:00:00 GMT+0800 (Singapore Standard Time)'\n *\n * @example\n * // Transpose the date to July 10, 2022 00:00 in UTC\n * transpose(date, UTCDate)\n * //=> 'Sun Jul 10 2022 00:00:00 GMT+0000 (Coordinated Universal Time)'\n */\nexport function transpose(fromDate, constructor) {\n const date =\n constructor instanceof Date\n ? constructFrom(constructor, 0)\n : new constructor(0);\n date.setFullYear(\n fromDate.getFullYear(),\n fromDate.getMonth(),\n fromDate.getDate(),\n );\n date.setHours(\n fromDate.getHours(),\n fromDate.getMinutes(),\n fromDate.getSeconds(),\n fromDate.getMilliseconds(),\n );\n return date;\n}\n\n// Fallback for modularized imports:\nexport default transpose;\n","import { transpose } from \"../../transpose.mjs\";\nimport { constructFrom } from \"../../constructFrom.mjs\";\n\nconst TIMEZONE_UNIT_PRIORITY = 10;\n\nexport class Setter {\n subPriority = 0;\n\n validate(_utcDate, _options) {\n return true;\n }\n}\n\nexport class ValueSetter extends Setter {\n constructor(\n value,\n\n validateValue,\n\n setValue,\n\n priority,\n subPriority,\n ) {\n super();\n this.value = value;\n this.validateValue = validateValue;\n this.setValue = setValue;\n this.priority = priority;\n if (subPriority) {\n this.subPriority = subPriority;\n }\n }\n\n validate(date, options) {\n return this.validateValue(date, this.value, options);\n }\n\n set(date, flags, options) {\n return this.setValue(date, flags, this.value, options);\n }\n}\n\nexport class DateToSystemTimezoneSetter extends Setter {\n priority = TIMEZONE_UNIT_PRIORITY;\n subPriority = -1;\n set(date, flags) {\n if (flags.timestampIsSet) return date;\n return constructFrom(date, transpose(date, Date));\n }\n}\n","import { ValueSetter } from \"./Setter.mjs\";\n\nexport class Parser {\n run(dateString, token, match, options) {\n const result = this.parse(dateString, token, match, options);\n if (!result) {\n return null;\n }\n\n return {\n setter: new ValueSetter(\n result.value,\n this.validate,\n this.set,\n this.priority,\n this.subPriority,\n ),\n rest: result.rest,\n };\n }\n\n validate(_utcDate, _value, _options) {\n return true;\n }\n}\n","import { Parser } from \"../Parser.mjs\";\n\nexport class EraParser extends Parser {\n priority = 140;\n\n parse(dateString, token, match) {\n switch (token) {\n // AD, BC\n case \"G\":\n case \"GG\":\n case \"GGG\":\n return (\n match.era(dateString, { width: \"abbreviated\" }) ||\n match.era(dateString, { width: \"narrow\" })\n );\n\n // A, B\n case \"GGGGG\":\n return match.era(dateString, { width: \"narrow\" });\n // Anno Domini, Before Christ\n case \"GGGG\":\n default:\n return (\n match.era(dateString, { width: \"wide\" }) ||\n match.era(dateString, { width: \"abbreviated\" }) ||\n match.era(dateString, { width: \"narrow\" })\n );\n }\n }\n\n set(date, flags, value) {\n flags.era = value;\n date.setFullYear(value, 0, 1);\n date.setHours(0, 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\"R\", \"u\", \"t\", \"T\"];\n}\n","export const numericPatterns = {\n month: /^(1[0-2]|0?\\d)/, // 0 to 12\n date: /^(3[0-1]|[0-2]?\\d)/, // 0 to 31\n dayOfYear: /^(36[0-6]|3[0-5]\\d|[0-2]?\\d?\\d)/, // 0 to 366\n week: /^(5[0-3]|[0-4]?\\d)/, // 0 to 53\n hour23h: /^(2[0-3]|[0-1]?\\d)/, // 0 to 23\n hour24h: /^(2[0-4]|[0-1]?\\d)/, // 0 to 24\n hour11h: /^(1[0-1]|0?\\d)/, // 0 to 11\n hour12h: /^(1[0-2]|0?\\d)/, // 0 to 12\n minute: /^[0-5]?\\d/, // 0 to 59\n second: /^[0-5]?\\d/, // 0 to 59\n\n singleDigit: /^\\d/, // 0 to 9\n twoDigits: /^\\d{1,2}/, // 0 to 99\n threeDigits: /^\\d{1,3}/, // 0 to 999\n fourDigits: /^\\d{1,4}/, // 0 to 9999\n\n anyDigitsSigned: /^-?\\d+/,\n singleDigitSigned: /^-?\\d/, // 0 to 9, -0 to -9\n twoDigitsSigned: /^-?\\d{1,2}/, // 0 to 99, -0 to -99\n threeDigitsSigned: /^-?\\d{1,3}/, // 0 to 999, -0 to -999\n fourDigitsSigned: /^-?\\d{1,4}/, // 0 to 9999, -0 to -9999\n};\n\nexport const timezonePatterns = {\n basicOptionalMinutes: /^([+-])(\\d{2})(\\d{2})?|Z/,\n basic: /^([+-])(\\d{2})(\\d{2})|Z/,\n basicOptionalSeconds: /^([+-])(\\d{2})(\\d{2})((\\d{2}))?|Z/,\n extended: /^([+-])(\\d{2}):(\\d{2})|Z/,\n extendedOptionalSeconds: /^([+-])(\\d{2}):(\\d{2})(:(\\d{2}))?|Z/,\n};\n","import {\n millisecondsInHour,\n millisecondsInMinute,\n millisecondsInSecond,\n} from \"../../constants.mjs\";\nimport { numericPatterns } from \"./constants.mjs\";\n\nexport function mapValue(parseFnResult, mapFn) {\n if (!parseFnResult) {\n return parseFnResult;\n }\n\n return {\n value: mapFn(parseFnResult.value),\n rest: parseFnResult.rest,\n };\n}\n\nexport function parseNumericPattern(pattern, dateString) {\n const matchResult = dateString.match(pattern);\n\n if (!matchResult) {\n return null;\n }\n\n return {\n value: parseInt(matchResult[0], 10),\n rest: dateString.slice(matchResult[0].length),\n };\n}\n\nexport function parseTimezonePattern(pattern, dateString) {\n const matchResult = dateString.match(pattern);\n\n if (!matchResult) {\n return null;\n }\n\n // Input is 'Z'\n if (matchResult[0] === \"Z\") {\n return {\n value: 0,\n rest: dateString.slice(1),\n };\n }\n\n const sign = matchResult[1] === \"+\" ? 1 : -1;\n const hours = matchResult[2] ? parseInt(matchResult[2], 10) : 0;\n const minutes = matchResult[3] ? parseInt(matchResult[3], 10) : 0;\n const seconds = matchResult[5] ? parseInt(matchResult[5], 10) : 0;\n\n return {\n value:\n sign *\n (hours * millisecondsInHour +\n minutes * millisecondsInMinute +\n seconds * millisecondsInSecond),\n rest: dateString.slice(matchResult[0].length),\n };\n}\n\nexport function parseAnyDigitsSigned(dateString) {\n return parseNumericPattern(numericPatterns.anyDigitsSigned, dateString);\n}\n\nexport function parseNDigits(n, dateString) {\n switch (n) {\n case 1:\n return parseNumericPattern(numericPatterns.singleDigit, dateString);\n case 2:\n return parseNumericPattern(numericPatterns.twoDigits, dateString);\n case 3:\n return parseNumericPattern(numericPatterns.threeDigits, dateString);\n case 4:\n return parseNumericPattern(numericPatterns.fourDigits, dateString);\n default:\n return parseNumericPattern(new RegExp(\"^\\\\d{1,\" + n + \"}\"), dateString);\n }\n}\n\nexport function parseNDigitsSigned(n, dateString) {\n switch (n) {\n case 1:\n return parseNumericPattern(numericPatterns.singleDigitSigned, dateString);\n case 2:\n return parseNumericPattern(numericPatterns.twoDigitsSigned, dateString);\n case 3:\n return parseNumericPattern(numericPatterns.threeDigitsSigned, dateString);\n case 4:\n return parseNumericPattern(numericPatterns.fourDigitsSigned, dateString);\n default:\n return parseNumericPattern(new RegExp(\"^-?\\\\d{1,\" + n + \"}\"), dateString);\n }\n}\n\nexport function dayPeriodEnumToHours(dayPeriod) {\n switch (dayPeriod) {\n case \"morning\":\n return 4;\n case \"evening\":\n return 17;\n case \"pm\":\n case \"noon\":\n case \"afternoon\":\n return 12;\n case \"am\":\n case \"midnight\":\n case \"night\":\n default:\n return 0;\n }\n}\n\nexport function normalizeTwoDigitYear(twoDigitYear, currentYear) {\n const isCommonEra = currentYear > 0;\n // Absolute number of the current year:\n // 1 -> 1 AC\n // 0 -> 1 BC\n // -1 -> 2 BC\n const absCurrentYear = isCommonEra ? currentYear : 1 - currentYear;\n\n let result;\n if (absCurrentYear <= 50) {\n result = twoDigitYear || 100;\n } else {\n const rangeEnd = absCurrentYear + 50;\n const rangeEndCentury = Math.trunc(rangeEnd / 100) * 100;\n const isPreviousCentury = twoDigitYear >= rangeEnd % 100;\n result = twoDigitYear + rangeEndCentury - (isPreviousCentury ? 100 : 0);\n }\n\n return isCommonEra ? result : 1 - result;\n}\n\nexport function isLeapYearIndex(year) {\n return year % 400 === 0 || (year % 4 === 0 && year % 100 !== 0);\n}\n","import { Parser } from \"../Parser.mjs\";\nimport { mapValue, normalizeTwoDigitYear, parseNDigits } from \"../utils.mjs\";\n\n// From http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_Patterns\n// | Year | y | yy | yyy | yyyy | yyyyy |\n// |----------|-------|----|-------|-------|-------|\n// | AD 1 | 1 | 01 | 001 | 0001 | 00001 |\n// | AD 12 | 12 | 12 | 012 | 0012 | 00012 |\n// | AD 123 | 123 | 23 | 123 | 0123 | 00123 |\n// | AD 1234 | 1234 | 34 | 1234 | 1234 | 01234 |\n// | AD 12345 | 12345 | 45 | 12345 | 12345 | 12345 |\nexport class YearParser extends Parser {\n priority = 130;\n incompatibleTokens = [\"Y\", \"R\", \"u\", \"w\", \"I\", \"i\", \"e\", \"c\", \"t\", \"T\"];\n\n parse(dateString, token, match) {\n const valueCallback = (year) => ({\n year,\n isTwoDigitYear: token === \"yy\",\n });\n\n switch (token) {\n case \"y\":\n return mapValue(parseNDigits(4, dateString), valueCallback);\n case \"yo\":\n return mapValue(\n match.ordinalNumber(dateString, {\n unit: \"year\",\n }),\n valueCallback,\n );\n default:\n return mapValue(parseNDigits(token.length, dateString), valueCallback);\n }\n }\n\n validate(_date, value) {\n return value.isTwoDigitYear || value.year > 0;\n }\n\n set(date, flags, value) {\n const currentYear = date.getFullYear();\n\n if (value.isTwoDigitYear) {\n const normalizedTwoDigitYear = normalizeTwoDigitYear(\n value.year,\n currentYear,\n );\n date.setFullYear(normalizedTwoDigitYear, 0, 1);\n date.setHours(0, 0, 0, 0);\n return date;\n }\n\n const year =\n !(\"era\" in flags) || flags.era === 1 ? value.year : 1 - value.year;\n date.setFullYear(year, 0, 1);\n date.setHours(0, 0, 0, 0);\n return date;\n }\n}\n","import { getWeekYear } from \"../../../getWeekYear.mjs\";\nimport { startOfWeek } from \"../../../startOfWeek.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport { mapValue, normalizeTwoDigitYear, parseNDigits } from \"../utils.mjs\";\n\n// Local week-numbering year\nexport class LocalWeekYearParser extends Parser {\n priority = 130;\n\n parse(dateString, token, match) {\n const valueCallback = (year) => ({\n year,\n isTwoDigitYear: token === \"YY\",\n });\n\n switch (token) {\n case \"Y\":\n return mapValue(parseNDigits(4, dateString), valueCallback);\n case \"Yo\":\n return mapValue(\n match.ordinalNumber(dateString, {\n unit: \"year\",\n }),\n valueCallback,\n );\n default:\n return mapValue(parseNDigits(token.length, dateString), valueCallback);\n }\n }\n\n validate(_date, value) {\n return value.isTwoDigitYear || value.year > 0;\n }\n\n set(date, flags, value, options) {\n const currentYear = getWeekYear(date, options);\n\n if (value.isTwoDigitYear) {\n const normalizedTwoDigitYear = normalizeTwoDigitYear(\n value.year,\n currentYear,\n );\n date.setFullYear(\n normalizedTwoDigitYear,\n 0,\n options.firstWeekContainsDate,\n );\n date.setHours(0, 0, 0, 0);\n return startOfWeek(date, options);\n }\n\n const year =\n !(\"era\" in flags) || flags.era === 1 ? value.year : 1 - value.year;\n date.setFullYear(year, 0, options.firstWeekContainsDate);\n date.setHours(0, 0, 0, 0);\n return startOfWeek(date, options);\n }\n\n incompatibleTokens = [\n \"y\",\n \"R\",\n \"u\",\n \"Q\",\n \"q\",\n \"M\",\n \"L\",\n \"I\",\n \"d\",\n \"D\",\n \"i\",\n \"t\",\n \"T\",\n ];\n}\n","import { startOfISOWeek } from \"../../../startOfISOWeek.mjs\";\nimport { constructFrom } from \"../../../constructFrom.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport { parseNDigitsSigned } from \"../utils.mjs\";\n\n// ISO week-numbering year\nexport class ISOWeekYearParser extends Parser {\n priority = 130;\n\n parse(dateString, token) {\n if (token === \"R\") {\n return parseNDigitsSigned(4, dateString);\n }\n\n return parseNDigitsSigned(token.length, dateString);\n }\n\n set(date, _flags, value) {\n const firstWeekOfYear = constructFrom(date, 0);\n firstWeekOfYear.setFullYear(value, 0, 4);\n firstWeekOfYear.setHours(0, 0, 0, 0);\n return startOfISOWeek(firstWeekOfYear);\n }\n\n incompatibleTokens = [\n \"G\",\n \"y\",\n \"Y\",\n \"u\",\n \"Q\",\n \"q\",\n \"M\",\n \"L\",\n \"w\",\n \"d\",\n \"D\",\n \"e\",\n \"c\",\n \"t\",\n \"T\",\n ];\n}\n","import { Parser } from \"../Parser.mjs\";\nimport { parseNDigitsSigned } from \"../utils.mjs\";\n\nexport class ExtendedYearParser extends Parser {\n priority = 130;\n\n parse(dateString, token) {\n if (token === \"u\") {\n return parseNDigitsSigned(4, dateString);\n }\n\n return parseNDigitsSigned(token.length, dateString);\n }\n\n set(date, _flags, value) {\n date.setFullYear(value, 0, 1);\n date.setHours(0, 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\"G\", \"y\", \"Y\", \"R\", \"w\", \"I\", \"i\", \"e\", \"c\", \"t\", \"T\"];\n}\n","import { Parser } from \"../Parser.mjs\";\nimport { parseNDigits } from \"../utils.mjs\";\n\nexport class QuarterParser extends Parser {\n priority = 120;\n\n parse(dateString, token, match) {\n switch (token) {\n // 1, 2, 3, 4\n case \"Q\":\n case \"QQ\": // 01, 02, 03, 04\n return parseNDigits(token.length, dateString);\n // 1st, 2nd, 3rd, 4th\n case \"Qo\":\n return match.ordinalNumber(dateString, { unit: \"quarter\" });\n // Q1, Q2, Q3, Q4\n case \"QQQ\":\n return (\n match.quarter(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.quarter(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n })\n );\n\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n case \"QQQQQ\":\n return match.quarter(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // 1st quarter, 2nd quarter, ...\n case \"QQQQ\":\n default:\n return (\n match.quarter(dateString, {\n width: \"wide\",\n context: \"formatting\",\n }) ||\n match.quarter(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.quarter(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n })\n );\n }\n }\n\n validate(_date, value) {\n return value >= 1 && value <= 4;\n }\n\n set(date, _flags, value) {\n date.setMonth((value - 1) * 3, 1);\n date.setHours(0, 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\n \"Y\",\n \"R\",\n \"q\",\n \"M\",\n \"L\",\n \"w\",\n \"I\",\n \"d\",\n \"D\",\n \"i\",\n \"e\",\n \"c\",\n \"t\",\n \"T\",\n ];\n}\n","import { Parser } from \"../Parser.mjs\";\nimport { parseNDigits } from \"../utils.mjs\";\n\nexport class StandAloneQuarterParser extends Parser {\n priority = 120;\n\n parse(dateString, token, match) {\n switch (token) {\n // 1, 2, 3, 4\n case \"q\":\n case \"qq\": // 01, 02, 03, 04\n return parseNDigits(token.length, dateString);\n // 1st, 2nd, 3rd, 4th\n case \"qo\":\n return match.ordinalNumber(dateString, { unit: \"quarter\" });\n // Q1, Q2, Q3, Q4\n case \"qqq\":\n return (\n match.quarter(dateString, {\n width: \"abbreviated\",\n context: \"standalone\",\n }) ||\n match.quarter(dateString, {\n width: \"narrow\",\n context: \"standalone\",\n })\n );\n\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n case \"qqqqq\":\n return match.quarter(dateString, {\n width: \"narrow\",\n context: \"standalone\",\n });\n // 1st quarter, 2nd quarter, ...\n case \"qqqq\":\n default:\n return (\n match.quarter(dateString, {\n width: \"wide\",\n context: \"standalone\",\n }) ||\n match.quarter(dateString, {\n width: \"abbreviated\",\n context: \"standalone\",\n }) ||\n match.quarter(dateString, {\n width: \"narrow\",\n context: \"standalone\",\n })\n );\n }\n }\n\n validate(_date, value) {\n return value >= 1 && value <= 4;\n }\n\n set(date, _flags, value) {\n date.setMonth((value - 1) * 3, 1);\n date.setHours(0, 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\n \"Y\",\n \"R\",\n \"Q\",\n \"M\",\n \"L\",\n \"w\",\n \"I\",\n \"d\",\n \"D\",\n \"i\",\n \"e\",\n \"c\",\n \"t\",\n \"T\",\n ];\n}\n","import { numericPatterns } from \"../constants.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport { mapValue, parseNDigits, parseNumericPattern } from \"../utils.mjs\";\n\nexport class MonthParser extends Parser {\n incompatibleTokens = [\n \"Y\",\n \"R\",\n \"q\",\n \"Q\",\n \"L\",\n \"w\",\n \"I\",\n \"D\",\n \"i\",\n \"e\",\n \"c\",\n \"t\",\n \"T\",\n ];\n\n priority = 110;\n\n parse(dateString, token, match) {\n const valueCallback = (value) => value - 1;\n\n switch (token) {\n // 1, 2, ..., 12\n case \"M\":\n return mapValue(\n parseNumericPattern(numericPatterns.month, dateString),\n valueCallback,\n );\n // 01, 02, ..., 12\n case \"MM\":\n return mapValue(parseNDigits(2, dateString), valueCallback);\n // 1st, 2nd, ..., 12th\n case \"Mo\":\n return mapValue(\n match.ordinalNumber(dateString, {\n unit: \"month\",\n }),\n valueCallback,\n );\n // Jan, Feb, ..., Dec\n case \"MMM\":\n return (\n match.month(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.month(dateString, { width: \"narrow\", context: \"formatting\" })\n );\n\n // J, F, ..., D\n case \"MMMMM\":\n return match.month(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // January, February, ..., December\n case \"MMMM\":\n default:\n return (\n match.month(dateString, { width: \"wide\", context: \"formatting\" }) ||\n match.month(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.month(dateString, { width: \"narrow\", context: \"formatting\" })\n );\n }\n }\n\n validate(_date, value) {\n return value >= 0 && value <= 11;\n }\n\n set(date, _flags, value) {\n date.setMonth(value, 1);\n date.setHours(0, 0, 0, 0);\n return date;\n }\n}\n","import { numericPatterns } from \"../constants.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport { mapValue, parseNDigits, parseNumericPattern } from \"../utils.mjs\";\n\nexport class StandAloneMonthParser extends Parser {\n priority = 110;\n\n parse(dateString, token, match) {\n const valueCallback = (value) => value - 1;\n\n switch (token) {\n // 1, 2, ..., 12\n case \"L\":\n return mapValue(\n parseNumericPattern(numericPatterns.month, dateString),\n valueCallback,\n );\n // 01, 02, ..., 12\n case \"LL\":\n return mapValue(parseNDigits(2, dateString), valueCallback);\n // 1st, 2nd, ..., 12th\n case \"Lo\":\n return mapValue(\n match.ordinalNumber(dateString, {\n unit: \"month\",\n }),\n valueCallback,\n );\n // Jan, Feb, ..., Dec\n case \"LLL\":\n return (\n match.month(dateString, {\n width: \"abbreviated\",\n context: \"standalone\",\n }) ||\n match.month(dateString, { width: \"narrow\", context: \"standalone\" })\n );\n\n // J, F, ..., D\n case \"LLLLL\":\n return match.month(dateString, {\n width: \"narrow\",\n context: \"standalone\",\n });\n // January, February, ..., December\n case \"LLLL\":\n default:\n return (\n match.month(dateString, { width: \"wide\", context: \"standalone\" }) ||\n match.month(dateString, {\n width: \"abbreviated\",\n context: \"standalone\",\n }) ||\n match.month(dateString, { width: \"narrow\", context: \"standalone\" })\n );\n }\n }\n\n validate(_date, value) {\n return value >= 0 && value <= 11;\n }\n\n set(date, _flags, value) {\n date.setMonth(value, 1);\n date.setHours(0, 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\n \"Y\",\n \"R\",\n \"q\",\n \"Q\",\n \"M\",\n \"w\",\n \"I\",\n \"D\",\n \"i\",\n \"e\",\n \"c\",\n \"t\",\n \"T\",\n ];\n}\n","import { getWeek } from \"./getWeek.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n/**\n * The {@link setWeek} function options.\n */\n\n/**\n * @name setWeek\n * @category Week Helpers\n * @summary Set the local week to the given date.\n *\n * @description\n * Set the local week to the given date, saving the weekday number.\n * The exact calculation depends on the values of\n * `options.weekStartsOn` (which is the index of the first day of the week)\n * and `options.firstWeekContainsDate` (which is the day of January, which is always in\n * the first week of the week-numbering year)\n *\n * Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The date to be changed\n * @param week - The week of the new date\n * @param options - An object with options\n *\n * @returns The new date with the local week set\n *\n * @example\n * // Set the 1st week to 2 January 2005 with default options:\n * const result = setWeek(new Date(2005, 0, 2), 1)\n * //=> Sun Dec 26 2004 00:00:00\n *\n * @example\n * // Set the 1st week to 2 January 2005,\n * // if Monday is the first day of the week,\n * // and the first week of the year always contains 4 January:\n * const result = setWeek(new Date(2005, 0, 2), 1, {\n * weekStartsOn: 1,\n * firstWeekContainsDate: 4\n * })\n * //=> Sun Jan 4 2004 00:00:00\n */\nexport function setWeek(date, week, options) {\n const _date = toDate(date);\n const diff = getWeek(_date, options) - week;\n _date.setDate(_date.getDate() - diff * 7);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default setWeek;\n","import { setWeek } from \"../../../setWeek.mjs\";\nimport { startOfWeek } from \"../../../startOfWeek.mjs\";\nimport { numericPatterns } from \"../constants.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport { parseNDigits, parseNumericPattern } from \"../utils.mjs\";\n\n// Local week of year\nexport class LocalWeekParser extends Parser {\n priority = 100;\n\n parse(dateString, token, match) {\n switch (token) {\n case \"w\":\n return parseNumericPattern(numericPatterns.week, dateString);\n case \"wo\":\n return match.ordinalNumber(dateString, { unit: \"week\" });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n\n validate(_date, value) {\n return value >= 1 && value <= 53;\n }\n\n set(date, _flags, value, options) {\n return startOfWeek(setWeek(date, value, options), options);\n }\n\n incompatibleTokens = [\n \"y\",\n \"R\",\n \"u\",\n \"q\",\n \"Q\",\n \"M\",\n \"L\",\n \"I\",\n \"d\",\n \"D\",\n \"i\",\n \"t\",\n \"T\",\n ];\n}\n","import { getISOWeek } from \"./getISOWeek.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n/**\n * @name setISOWeek\n * @category ISO Week Helpers\n * @summary Set the ISO week to the given date.\n *\n * @description\n * Set the ISO week to the given date, saving the weekday number.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The date to be changed\n * @param week - The ISO week of the new date\n *\n * @returns The new date with the ISO week set\n *\n * @example\n * // Set the 53rd ISO week to 7 August 2004:\n * const result = setISOWeek(new Date(2004, 7, 7), 53)\n * //=> Sat Jan 01 2005 00:00:00\n */\nexport function setISOWeek(date, week) {\n const _date = toDate(date);\n const diff = getISOWeek(_date) - week;\n _date.setDate(_date.getDate() - diff * 7);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default setISOWeek;\n","import { setISOWeek } from \"../../../setISOWeek.mjs\";\nimport { startOfISOWeek } from \"../../../startOfISOWeek.mjs\";\nimport { numericPatterns } from \"../constants.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport { parseNDigits, parseNumericPattern } from \"../utils.mjs\";\n\n// ISO week of year\nexport class ISOWeekParser extends Parser {\n priority = 100;\n\n parse(dateString, token, match) {\n switch (token) {\n case \"I\":\n return parseNumericPattern(numericPatterns.week, dateString);\n case \"Io\":\n return match.ordinalNumber(dateString, { unit: \"week\" });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n\n validate(_date, value) {\n return value >= 1 && value <= 53;\n }\n\n set(date, _flags, value) {\n return startOfISOWeek(setISOWeek(date, value));\n }\n\n incompatibleTokens = [\n \"y\",\n \"Y\",\n \"u\",\n \"q\",\n \"Q\",\n \"M\",\n \"L\",\n \"w\",\n \"d\",\n \"D\",\n \"e\",\n \"c\",\n \"t\",\n \"T\",\n ];\n}\n","import { numericPatterns } from \"../constants.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport {\n isLeapYearIndex,\n parseNDigits,\n parseNumericPattern,\n} from \"../utils.mjs\";\n\nconst DAYS_IN_MONTH = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\nconst DAYS_IN_MONTH_LEAP_YEAR = [\n 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31,\n];\n\n// Day of the month\nexport class DateParser extends Parser {\n priority = 90;\n subPriority = 1;\n\n parse(dateString, token, match) {\n switch (token) {\n case \"d\":\n return parseNumericPattern(numericPatterns.date, dateString);\n case \"do\":\n return match.ordinalNumber(dateString, { unit: \"date\" });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n\n validate(date, value) {\n const year = date.getFullYear();\n const isLeapYear = isLeapYearIndex(year);\n const month = date.getMonth();\n if (isLeapYear) {\n return value >= 1 && value <= DAYS_IN_MONTH_LEAP_YEAR[month];\n } else {\n return value >= 1 && value <= DAYS_IN_MONTH[month];\n }\n }\n\n set(date, _flags, value) {\n date.setDate(value);\n date.setHours(0, 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\n \"Y\",\n \"R\",\n \"q\",\n \"Q\",\n \"w\",\n \"I\",\n \"D\",\n \"i\",\n \"e\",\n \"c\",\n \"t\",\n \"T\",\n ];\n}\n","import { numericPatterns } from \"../constants.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport {\n isLeapYearIndex,\n parseNDigits,\n parseNumericPattern,\n} from \"../utils.mjs\";\n\nexport class DayOfYearParser extends Parser {\n priority = 90;\n\n subpriority = 1;\n\n parse(dateString, token, match) {\n switch (token) {\n case \"D\":\n case \"DD\":\n return parseNumericPattern(numericPatterns.dayOfYear, dateString);\n case \"Do\":\n return match.ordinalNumber(dateString, { unit: \"date\" });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n\n validate(date, value) {\n const year = date.getFullYear();\n const isLeapYear = isLeapYearIndex(year);\n if (isLeapYear) {\n return value >= 1 && value <= 366;\n } else {\n return value >= 1 && value <= 365;\n }\n }\n\n set(date, _flags, value) {\n date.setMonth(0, value);\n date.setHours(0, 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\n \"Y\",\n \"R\",\n \"q\",\n \"Q\",\n \"M\",\n \"L\",\n \"w\",\n \"I\",\n \"d\",\n \"E\",\n \"i\",\n \"e\",\n \"c\",\n \"t\",\n \"T\",\n ];\n}\n","import { addDays } from \"./addDays.mjs\";\nimport { toDate } from \"./toDate.mjs\";\nimport { getDefaultOptions } from \"./_lib/defaultOptions.mjs\";\n\n/**\n * The {@link setDay} function options.\n */\n\n/**\n * @name setDay\n * @category Weekday Helpers\n * @summary Set the day of the week to the given date.\n *\n * @description\n * Set the day of the week to the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The date to be changed\n * @param day - The day of the week of the new date\n * @param options - An object with options.\n *\n * @returns The new date with the day of the week set\n *\n * @example\n * // Set week day to Sunday, with the default weekStartsOn of Sunday:\n * const result = setDay(new Date(2014, 8, 1), 0)\n * //=> Sun Aug 31 2014 00:00:00\n *\n * @example\n * // Set week day to Sunday, with a weekStartsOn of Monday:\n * const result = setDay(new Date(2014, 8, 1), 0, { weekStartsOn: 1 })\n * //=> Sun Sep 07 2014 00:00:00\n */\nexport function setDay(date, day, options) {\n const defaultOptions = getDefaultOptions();\n const weekStartsOn =\n options?.weekStartsOn ??\n options?.locale?.options?.weekStartsOn ??\n defaultOptions.weekStartsOn ??\n defaultOptions.locale?.options?.weekStartsOn ??\n 0;\n\n const _date = toDate(date);\n const currentDay = _date.getDay();\n\n const remainder = day % 7;\n const dayIndex = (remainder + 7) % 7;\n\n const delta = 7 - weekStartsOn;\n const diff =\n day < 0 || day > 6\n ? day - ((currentDay + delta) % 7)\n : ((dayIndex + delta) % 7) - ((currentDay + delta) % 7);\n return addDays(_date, diff);\n}\n\n// Fallback for modularized imports:\nexport default setDay;\n","import { setDay } from \"../../../setDay.mjs\";\nimport { Parser } from \"../Parser.mjs\";\n\n// Day of week\nexport class DayParser extends Parser {\n priority = 90;\n\n parse(dateString, token, match) {\n switch (token) {\n // Tue\n case \"E\":\n case \"EE\":\n case \"EEE\":\n return (\n match.day(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.day(dateString, { width: \"short\", context: \"formatting\" }) ||\n match.day(dateString, { width: \"narrow\", context: \"formatting\" })\n );\n\n // T\n case \"EEEEE\":\n return match.day(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // Tu\n case \"EEEEEE\":\n return (\n match.day(dateString, { width: \"short\", context: \"formatting\" }) ||\n match.day(dateString, { width: \"narrow\", context: \"formatting\" })\n );\n\n // Tuesday\n case \"EEEE\":\n default:\n return (\n match.day(dateString, { width: \"wide\", context: \"formatting\" }) ||\n match.day(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.day(dateString, { width: \"short\", context: \"formatting\" }) ||\n match.day(dateString, { width: \"narrow\", context: \"formatting\" })\n );\n }\n }\n\n validate(_date, value) {\n return value >= 0 && value <= 6;\n }\n\n set(date, _flags, value, options) {\n date = setDay(date, value, options);\n date.setHours(0, 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\"D\", \"i\", \"e\", \"c\", \"t\", \"T\"];\n}\n","import { setDay } from \"../../../setDay.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport { mapValue, parseNDigits } from \"../utils.mjs\";\n\n// Local day of week\nexport class LocalDayParser extends Parser {\n priority = 90;\n parse(dateString, token, match, options) {\n const valueCallback = (value) => {\n // We want here floor instead of trunc, so we get -7 for value 0 instead of 0\n const wholeWeekDays = Math.floor((value - 1) / 7) * 7;\n return ((value + options.weekStartsOn + 6) % 7) + wholeWeekDays;\n };\n\n switch (token) {\n // 3\n case \"e\":\n case \"ee\": // 03\n return mapValue(parseNDigits(token.length, dateString), valueCallback);\n // 3rd\n case \"eo\":\n return mapValue(\n match.ordinalNumber(dateString, {\n unit: \"day\",\n }),\n valueCallback,\n );\n // Tue\n case \"eee\":\n return (\n match.day(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.day(dateString, { width: \"short\", context: \"formatting\" }) ||\n match.day(dateString, { width: \"narrow\", context: \"formatting\" })\n );\n\n // T\n case \"eeeee\":\n return match.day(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // Tu\n case \"eeeeee\":\n return (\n match.day(dateString, { width: \"short\", context: \"formatting\" }) ||\n match.day(dateString, { width: \"narrow\", context: \"formatting\" })\n );\n\n // Tuesday\n case \"eeee\":\n default:\n return (\n match.day(dateString, { width: \"wide\", context: \"formatting\" }) ||\n match.day(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.day(dateString, { width: \"short\", context: \"formatting\" }) ||\n match.day(dateString, { width: \"narrow\", context: \"formatting\" })\n );\n }\n }\n\n validate(_date, value) {\n return value >= 0 && value <= 6;\n }\n\n set(date, _flags, value, options) {\n date = setDay(date, value, options);\n date.setHours(0, 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\n \"y\",\n \"R\",\n \"u\",\n \"q\",\n \"Q\",\n \"M\",\n \"L\",\n \"I\",\n \"d\",\n \"D\",\n \"E\",\n \"i\",\n \"c\",\n \"t\",\n \"T\",\n ];\n}\n","import { setDay } from \"../../../setDay.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport { mapValue, parseNDigits } from \"../utils.mjs\";\n\n// Stand-alone local day of week\nexport class StandAloneLocalDayParser extends Parser {\n priority = 90;\n\n parse(dateString, token, match, options) {\n const valueCallback = (value) => {\n // We want here floor instead of trunc, so we get -7 for value 0 instead of 0\n const wholeWeekDays = Math.floor((value - 1) / 7) * 7;\n return ((value + options.weekStartsOn + 6) % 7) + wholeWeekDays;\n };\n\n switch (token) {\n // 3\n case \"c\":\n case \"cc\": // 03\n return mapValue(parseNDigits(token.length, dateString), valueCallback);\n // 3rd\n case \"co\":\n return mapValue(\n match.ordinalNumber(dateString, {\n unit: \"day\",\n }),\n valueCallback,\n );\n // Tue\n case \"ccc\":\n return (\n match.day(dateString, {\n width: \"abbreviated\",\n context: \"standalone\",\n }) ||\n match.day(dateString, { width: \"short\", context: \"standalone\" }) ||\n match.day(dateString, { width: \"narrow\", context: \"standalone\" })\n );\n\n // T\n case \"ccccc\":\n return match.day(dateString, {\n width: \"narrow\",\n context: \"standalone\",\n });\n // Tu\n case \"cccccc\":\n return (\n match.day(dateString, { width: \"short\", context: \"standalone\" }) ||\n match.day(dateString, { width: \"narrow\", context: \"standalone\" })\n );\n\n // Tuesday\n case \"cccc\":\n default:\n return (\n match.day(dateString, { width: \"wide\", context: \"standalone\" }) ||\n match.day(dateString, {\n width: \"abbreviated\",\n context: \"standalone\",\n }) ||\n match.day(dateString, { width: \"short\", context: \"standalone\" }) ||\n match.day(dateString, { width: \"narrow\", context: \"standalone\" })\n );\n }\n }\n\n validate(_date, value) {\n return value >= 0 && value <= 6;\n }\n\n set(date, _flags, value, options) {\n date = setDay(date, value, options);\n date.setHours(0, 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\n \"y\",\n \"R\",\n \"u\",\n \"q\",\n \"Q\",\n \"M\",\n \"L\",\n \"I\",\n \"d\",\n \"D\",\n \"E\",\n \"i\",\n \"e\",\n \"t\",\n \"T\",\n ];\n}\n","import { addDays } from \"./addDays.mjs\";\nimport { getISODay } from \"./getISODay.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n/**\n * @name setISODay\n * @category Weekday Helpers\n * @summary Set the day of the ISO week to the given date.\n *\n * @description\n * Set the day of the ISO week to the given date.\n * ISO week starts with Monday.\n * 7 is the index of Sunday, 1 is the index of Monday etc.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The date to be changed\n * @param day - The day of the ISO week of the new date\n *\n * @returns The new date with the day of the ISO week set\n *\n * @example\n * // Set Sunday to 1 September 2014:\n * const result = setISODay(new Date(2014, 8, 1), 7)\n * //=> Sun Sep 07 2014 00:00:00\n */\nexport function setISODay(date, day) {\n const _date = toDate(date);\n const currentDay = getISODay(_date);\n const diff = day - currentDay;\n return addDays(_date, diff);\n}\n\n// Fallback for modularized imports:\nexport default setISODay;\n","import { setISODay } from \"../../../setISODay.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport { mapValue, parseNDigits } from \"../utils.mjs\";\n\n// ISO day of week\nexport class ISODayParser extends Parser {\n priority = 90;\n\n parse(dateString, token, match) {\n const valueCallback = (value) => {\n if (value === 0) {\n return 7;\n }\n return value;\n };\n\n switch (token) {\n // 2\n case \"i\":\n case \"ii\": // 02\n return parseNDigits(token.length, dateString);\n // 2nd\n case \"io\":\n return match.ordinalNumber(dateString, { unit: \"day\" });\n // Tue\n case \"iii\":\n return mapValue(\n match.day(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.day(dateString, {\n width: \"short\",\n context: \"formatting\",\n }) ||\n match.day(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n }),\n valueCallback,\n );\n // T\n case \"iiiii\":\n return mapValue(\n match.day(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n }),\n valueCallback,\n );\n // Tu\n case \"iiiiii\":\n return mapValue(\n match.day(dateString, {\n width: \"short\",\n context: \"formatting\",\n }) ||\n match.day(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n }),\n valueCallback,\n );\n // Tuesday\n case \"iiii\":\n default:\n return mapValue(\n match.day(dateString, {\n width: \"wide\",\n context: \"formatting\",\n }) ||\n match.day(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.day(dateString, {\n width: \"short\",\n context: \"formatting\",\n }) ||\n match.day(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n }),\n valueCallback,\n );\n }\n }\n\n validate(_date, value) {\n return value >= 1 && value <= 7;\n }\n\n set(date, _flags, value) {\n date = setISODay(date, value);\n date.setHours(0, 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\n \"y\",\n \"Y\",\n \"u\",\n \"q\",\n \"Q\",\n \"M\",\n \"L\",\n \"w\",\n \"d\",\n \"D\",\n \"E\",\n \"e\",\n \"c\",\n \"t\",\n \"T\",\n ];\n}\n","import { Parser } from \"../Parser.mjs\";\nimport { dayPeriodEnumToHours } from \"../utils.mjs\";\n\nexport class AMPMParser extends Parser {\n priority = 80;\n\n parse(dateString, token, match) {\n switch (token) {\n case \"a\":\n case \"aa\":\n case \"aaa\":\n return (\n match.dayPeriod(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.dayPeriod(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n })\n );\n\n case \"aaaaa\":\n return match.dayPeriod(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n });\n case \"aaaa\":\n default:\n return (\n match.dayPeriod(dateString, {\n width: \"wide\",\n context: \"formatting\",\n }) ||\n match.dayPeriod(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.dayPeriod(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n })\n );\n }\n }\n\n set(date, _flags, value) {\n date.setHours(dayPeriodEnumToHours(value), 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\"b\", \"B\", \"H\", \"k\", \"t\", \"T\"];\n}\n","import { Parser } from \"../Parser.mjs\";\nimport { dayPeriodEnumToHours } from \"../utils.mjs\";\n\nexport class AMPMMidnightParser extends Parser {\n priority = 80;\n\n parse(dateString, token, match) {\n switch (token) {\n case \"b\":\n case \"bb\":\n case \"bbb\":\n return (\n match.dayPeriod(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.dayPeriod(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n })\n );\n\n case \"bbbbb\":\n return match.dayPeriod(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n });\n case \"bbbb\":\n default:\n return (\n match.dayPeriod(dateString, {\n width: \"wide\",\n context: \"formatting\",\n }) ||\n match.dayPeriod(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.dayPeriod(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n })\n );\n }\n }\n\n set(date, _flags, value) {\n date.setHours(dayPeriodEnumToHours(value), 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\"a\", \"B\", \"H\", \"k\", \"t\", \"T\"];\n}\n","import { Parser } from \"../Parser.mjs\";\nimport { dayPeriodEnumToHours } from \"../utils.mjs\";\n\n// in the morning, in the afternoon, in the evening, at night\nexport class DayPeriodParser extends Parser {\n priority = 80;\n\n parse(dateString, token, match) {\n switch (token) {\n case \"B\":\n case \"BB\":\n case \"BBB\":\n return (\n match.dayPeriod(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.dayPeriod(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n })\n );\n\n case \"BBBBB\":\n return match.dayPeriod(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n });\n case \"BBBB\":\n default:\n return (\n match.dayPeriod(dateString, {\n width: \"wide\",\n context: \"formatting\",\n }) ||\n match.dayPeriod(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.dayPeriod(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n })\n );\n }\n }\n\n set(date, _flags, value) {\n date.setHours(dayPeriodEnumToHours(value), 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\"a\", \"b\", \"t\", \"T\"];\n}\n","import { numericPatterns } from \"../constants.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport { parseNDigits, parseNumericPattern } from \"../utils.mjs\";\n\nexport class Hour1to12Parser extends Parser {\n priority = 70;\n\n parse(dateString, token, match) {\n switch (token) {\n case \"h\":\n return parseNumericPattern(numericPatterns.hour12h, dateString);\n case \"ho\":\n return match.ordinalNumber(dateString, { unit: \"hour\" });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n\n validate(_date, value) {\n return value >= 1 && value <= 12;\n }\n\n set(date, _flags, value) {\n const isPM = date.getHours() >= 12;\n if (isPM && value < 12) {\n date.setHours(value + 12, 0, 0, 0);\n } else if (!isPM && value === 12) {\n date.setHours(0, 0, 0, 0);\n } else {\n date.setHours(value, 0, 0, 0);\n }\n return date;\n }\n\n incompatibleTokens = [\"H\", \"K\", \"k\", \"t\", \"T\"];\n}\n","import { numericPatterns } from \"../constants.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport { parseNDigits, parseNumericPattern } from \"../utils.mjs\";\n\nexport class Hour0to23Parser extends Parser {\n priority = 70;\n\n parse(dateString, token, match) {\n switch (token) {\n case \"H\":\n return parseNumericPattern(numericPatterns.hour23h, dateString);\n case \"Ho\":\n return match.ordinalNumber(dateString, { unit: \"hour\" });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n\n validate(_date, value) {\n return value >= 0 && value <= 23;\n }\n\n set(date, _flags, value) {\n date.setHours(value, 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\"a\", \"b\", \"h\", \"K\", \"k\", \"t\", \"T\"];\n}\n","import { numericPatterns } from \"../constants.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport { parseNDigits, parseNumericPattern } from \"../utils.mjs\";\n\nexport class Hour0To11Parser extends Parser {\n priority = 70;\n\n parse(dateString, token, match) {\n switch (token) {\n case \"K\":\n return parseNumericPattern(numericPatterns.hour11h, dateString);\n case \"Ko\":\n return match.ordinalNumber(dateString, { unit: \"hour\" });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n\n validate(_date, value) {\n return value >= 0 && value <= 11;\n }\n\n set(date, _flags, value) {\n const isPM = date.getHours() >= 12;\n if (isPM && value < 12) {\n date.setHours(value + 12, 0, 0, 0);\n } else {\n date.setHours(value, 0, 0, 0);\n }\n return date;\n }\n\n incompatibleTokens = [\"h\", \"H\", \"k\", \"t\", \"T\"];\n}\n","import { numericPatterns } from \"../constants.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport { parseNDigits, parseNumericPattern } from \"../utils.mjs\";\n\nexport class Hour1To24Parser extends Parser {\n priority = 70;\n\n parse(dateString, token, match) {\n switch (token) {\n case \"k\":\n return parseNumericPattern(numericPatterns.hour24h, dateString);\n case \"ko\":\n return match.ordinalNumber(dateString, { unit: \"hour\" });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n\n validate(_date, value) {\n return value >= 1 && value <= 24;\n }\n\n set(date, _flags, value) {\n const hours = value <= 24 ? value % 24 : value;\n date.setHours(hours, 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\"a\", \"b\", \"h\", \"H\", \"K\", \"t\", \"T\"];\n}\n","import { numericPatterns } from \"../constants.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport { parseNDigits, parseNumericPattern } from \"../utils.mjs\";\n\nexport class MinuteParser extends Parser {\n priority = 60;\n\n parse(dateString, token, match) {\n switch (token) {\n case \"m\":\n return parseNumericPattern(numericPatterns.minute, dateString);\n case \"mo\":\n return match.ordinalNumber(dateString, { unit: \"minute\" });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n\n validate(_date, value) {\n return value >= 0 && value <= 59;\n }\n\n set(date, _flags, value) {\n date.setMinutes(value, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\"t\", \"T\"];\n}\n","import { numericPatterns } from \"../constants.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport { parseNDigits, parseNumericPattern } from \"../utils.mjs\";\n\nexport class SecondParser extends Parser {\n priority = 50;\n\n parse(dateString, token, match) {\n switch (token) {\n case \"s\":\n return parseNumericPattern(numericPatterns.second, dateString);\n case \"so\":\n return match.ordinalNumber(dateString, { unit: \"second\" });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n\n validate(_date, value) {\n return value >= 0 && value <= 59;\n }\n\n set(date, _flags, value) {\n date.setSeconds(value, 0);\n return date;\n }\n\n incompatibleTokens = [\"t\", \"T\"];\n}\n","import { Parser } from \"../Parser.mjs\";\nimport { mapValue, parseNDigits } from \"../utils.mjs\";\n\nexport class FractionOfSecondParser extends Parser {\n priority = 30;\n\n parse(dateString, token) {\n const valueCallback = (value) =>\n Math.trunc(value * Math.pow(10, -token.length + 3));\n return mapValue(parseNDigits(token.length, dateString), valueCallback);\n }\n\n set(date, _flags, value) {\n date.setMilliseconds(value);\n return date;\n }\n\n incompatibleTokens = [\"t\", \"T\"];\n}\n","import { constructFrom } from \"../../../constructFrom.mjs\";\nimport { getTimezoneOffsetInMilliseconds } from \"../../../_lib/getTimezoneOffsetInMilliseconds.mjs\";\nimport { timezonePatterns } from \"../constants.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport { parseTimezonePattern } from \"../utils.mjs\";\n\n// Timezone (ISO-8601. +00:00 is `'Z'`)\nexport class ISOTimezoneWithZParser extends Parser {\n priority = 10;\n\n parse(dateString, token) {\n switch (token) {\n case \"X\":\n return parseTimezonePattern(\n timezonePatterns.basicOptionalMinutes,\n dateString,\n );\n case \"XX\":\n return parseTimezonePattern(timezonePatterns.basic, dateString);\n case \"XXXX\":\n return parseTimezonePattern(\n timezonePatterns.basicOptionalSeconds,\n dateString,\n );\n case \"XXXXX\":\n return parseTimezonePattern(\n timezonePatterns.extendedOptionalSeconds,\n dateString,\n );\n case \"XXX\":\n default:\n return parseTimezonePattern(timezonePatterns.extended, dateString);\n }\n }\n\n set(date, flags, value) {\n if (flags.timestampIsSet) return date;\n return constructFrom(\n date,\n date.getTime() - getTimezoneOffsetInMilliseconds(date) - value,\n );\n }\n\n incompatibleTokens = [\"t\", \"T\", \"x\"];\n}\n","import { constructFrom } from \"../../../constructFrom.mjs\";\nimport { getTimezoneOffsetInMilliseconds } from \"../../../_lib/getTimezoneOffsetInMilliseconds.mjs\";\nimport { timezonePatterns } from \"../constants.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport { parseTimezonePattern } from \"../utils.mjs\";\n\n// Timezone (ISO-8601)\nexport class ISOTimezoneParser extends Parser {\n priority = 10;\n\n parse(dateString, token) {\n switch (token) {\n case \"x\":\n return parseTimezonePattern(\n timezonePatterns.basicOptionalMinutes,\n dateString,\n );\n case \"xx\":\n return parseTimezonePattern(timezonePatterns.basic, dateString);\n case \"xxxx\":\n return parseTimezonePattern(\n timezonePatterns.basicOptionalSeconds,\n dateString,\n );\n case \"xxxxx\":\n return parseTimezonePattern(\n timezonePatterns.extendedOptionalSeconds,\n dateString,\n );\n case \"xxx\":\n default:\n return parseTimezonePattern(timezonePatterns.extended, dateString);\n }\n }\n\n set(date, flags, value) {\n if (flags.timestampIsSet) return date;\n return constructFrom(\n date,\n date.getTime() - getTimezoneOffsetInMilliseconds(date) - value,\n );\n }\n\n incompatibleTokens = [\"t\", \"T\", \"X\"];\n}\n","import { constructFrom } from \"../../../constructFrom.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport { parseAnyDigitsSigned } from \"../utils.mjs\";\n\nexport class TimestampSecondsParser extends Parser {\n priority = 40;\n\n parse(dateString) {\n return parseAnyDigitsSigned(dateString);\n }\n\n set(date, _flags, value) {\n return [constructFrom(date, value * 1000), { timestampIsSet: true }];\n }\n\n incompatibleTokens = \"*\";\n}\n","import { constructFrom } from \"../../../constructFrom.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport { parseAnyDigitsSigned } from \"../utils.mjs\";\n\nexport class TimestampMillisecondsParser extends Parser {\n priority = 20;\n\n parse(dateString) {\n return parseAnyDigitsSigned(dateString);\n }\n\n set(date, _flags, value) {\n return [constructFrom(date, value), { timestampIsSet: true }];\n }\n\n incompatibleTokens = \"*\";\n}\n","import { EraParser } from \"./parsers/EraParser.mjs\";\nimport { YearParser } from \"./parsers/YearParser.mjs\";\nimport { LocalWeekYearParser } from \"./parsers/LocalWeekYearParser.mjs\";\nimport { ISOWeekYearParser } from \"./parsers/ISOWeekYearParser.mjs\";\nimport { ExtendedYearParser } from \"./parsers/ExtendedYearParser.mjs\";\nimport { QuarterParser } from \"./parsers/QuarterParser.mjs\";\nimport { StandAloneQuarterParser } from \"./parsers/StandAloneQuarterParser.mjs\";\nimport { MonthParser } from \"./parsers/MonthParser.mjs\";\nimport { StandAloneMonthParser } from \"./parsers/StandAloneMonthParser.mjs\";\nimport { LocalWeekParser } from \"./parsers/LocalWeekParser.mjs\";\nimport { ISOWeekParser } from \"./parsers/ISOWeekParser.mjs\";\nimport { DateParser } from \"./parsers/DateParser.mjs\";\nimport { DayOfYearParser } from \"./parsers/DayOfYearParser.mjs\";\nimport { DayParser } from \"./parsers/DayParser.mjs\";\nimport { LocalDayParser } from \"./parsers/LocalDayParser.mjs\";\nimport { StandAloneLocalDayParser } from \"./parsers/StandAloneLocalDayParser.mjs\";\nimport { ISODayParser } from \"./parsers/ISODayParser.mjs\";\nimport { AMPMParser } from \"./parsers/AMPMParser.mjs\";\nimport { AMPMMidnightParser } from \"./parsers/AMPMMidnightParser.mjs\";\nimport { DayPeriodParser } from \"./parsers/DayPeriodParser.mjs\";\nimport { Hour1to12Parser } from \"./parsers/Hour1to12Parser.mjs\";\nimport { Hour0to23Parser } from \"./parsers/Hour0to23Parser.mjs\";\nimport { Hour0To11Parser } from \"./parsers/Hour0To11Parser.mjs\";\nimport { Hour1To24Parser } from \"./parsers/Hour1To24Parser.mjs\";\nimport { MinuteParser } from \"./parsers/MinuteParser.mjs\";\nimport { SecondParser } from \"./parsers/SecondParser.mjs\";\nimport { FractionOfSecondParser } from \"./parsers/FractionOfSecondParser.mjs\";\nimport { ISOTimezoneWithZParser } from \"./parsers/ISOTimezoneWithZParser.mjs\";\nimport { ISOTimezoneParser } from \"./parsers/ISOTimezoneParser.mjs\";\nimport { TimestampSecondsParser } from \"./parsers/TimestampSecondsParser.mjs\";\nimport { TimestampMillisecondsParser } from \"./parsers/TimestampMillisecondsParser.mjs\";\n\n/*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | Milliseconds in day |\n * | b | AM, PM, noon, midnight | B | Flexible day period |\n * | c | Stand-alone local day of week | C* | Localized hour w/ day period |\n * | d | Day of month | D | Day of year |\n * | e | Local day of week | E | Day of week |\n * | f | | F* | Day of week in month |\n * | g* | Modified Julian day | G | Era |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | i! | ISO day of week | I! | ISO week of year |\n * | j* | Localized hour w/ day period | J* | Localized hour w/o day period |\n * | k | Hour [1-24] | K | Hour [0-11] |\n * | l* | (deprecated) | L | Stand-alone month |\n * | m | Minute | M | Month |\n * | n | | N | |\n * | o! | Ordinal number modifier | O* | Timezone (GMT) |\n * | p | | P | |\n * | q | Stand-alone quarter | Q | Quarter |\n * | r* | Related Gregorian year | R! | ISO week-numbering year |\n * | s | Second | S | Fraction of second |\n * | t! | Seconds timestamp | T! | Milliseconds timestamp |\n * | u | Extended year | U* | Cyclic year |\n * | v* | Timezone (generic non-locat.) | V* | Timezone (location) |\n * | w | Local week of year | W* | Week of month |\n * | x | Timezone (ISO-8601 w/o Z) | X | Timezone (ISO-8601) |\n * | y | Year (abs) | Y | Local week-numbering year |\n * | z* | Timezone (specific non-locat.) | Z* | Timezone (aliases) |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n *\n * Letters marked by ! are non-standard, but implemented by date-fns:\n * - `o` modifies the previous token to turn it into an ordinal (see `parse` docs)\n * - `i` is ISO day of week. For `i` and `ii` is returns numeric ISO week days,\n * i.e. 7 for Sunday, 1 for Monday, etc.\n * - `I` is ISO week of year, as opposed to `w` which is local week of year.\n * - `R` is ISO week-numbering year, as opposed to `Y` which is local week-numbering year.\n * `R` is supposed to be used in conjunction with `I` and `i`\n * for universal ISO week-numbering date, whereas\n * `Y` is supposed to be used in conjunction with `w` and `e`\n * for week-numbering date specific to the locale.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any -- It's ok, we want any here\nexport const parsers = {\n G: new EraParser(),\n y: new YearParser(),\n Y: new LocalWeekYearParser(),\n R: new ISOWeekYearParser(),\n u: new ExtendedYearParser(),\n Q: new QuarterParser(),\n q: new StandAloneQuarterParser(),\n M: new MonthParser(),\n L: new StandAloneMonthParser(),\n w: new LocalWeekParser(),\n I: new ISOWeekParser(),\n d: new DateParser(),\n D: new DayOfYearParser(),\n E: new DayParser(),\n e: new LocalDayParser(),\n c: new StandAloneLocalDayParser(),\n i: new ISODayParser(),\n a: new AMPMParser(),\n b: new AMPMMidnightParser(),\n B: new DayPeriodParser(),\n h: new Hour1to12Parser(),\n H: new Hour0to23Parser(),\n K: new Hour0To11Parser(),\n k: new Hour1To24Parser(),\n m: new MinuteParser(),\n s: new SecondParser(),\n S: new FractionOfSecondParser(),\n X: new ISOTimezoneWithZParser(),\n x: new ISOTimezoneParser(),\n t: new TimestampSecondsParser(),\n T: new TimestampMillisecondsParser(),\n};\n","import { constructFrom } from \"./constructFrom.mjs\";\nimport { getDefaultOptions } from \"./getDefaultOptions.mjs\";\nimport { defaultLocale } from \"./_lib/defaultLocale.mjs\";\nimport { toDate } from \"./toDate.mjs\";\nimport { longFormatters } from \"./_lib/format/longFormatters.mjs\";\nimport {\n isProtectedDayOfYearToken,\n isProtectedWeekYearToken,\n warnOrThrowProtectedError,\n} from \"./_lib/protectedTokens.mjs\";\nimport { parsers } from \"./parse/_lib/parsers.mjs\";\nimport { DateToSystemTimezoneSetter } from \"./parse/_lib/Setter.mjs\";\n\n// Rexports of internal for libraries to use.\n// See: https://github.com/date-fns/date-fns/issues/3638#issuecomment-1877082874\nexport { longFormatters, parsers };\n\n/**\n * The {@link parse} function options.\n */\n\n// This RegExp consists of three parts separated by `|`:\n// - [yYQqMLwIdDecihHKkms]o matches any available ordinal number token\n// (one of the certain letters followed by `o`)\n// - (\\w)\\1* matches any sequences of the same letter\n// - '' matches two quote characters in a row\n// - '(''|[^'])+('|$) matches anything surrounded by two quote characters ('),\n// except a single quote symbol, which ends the sequence.\n// Two quote characters do not end the sequence.\n// If there is no matching single quote\n// then the sequence will continue until the end of the string.\n// - . matches any single character unmatched by previous parts of the RegExps\nconst formattingTokensRegExp =\n /[yYQqMLwIdDecihHKkms]o|(\\w)\\1*|''|'(''|[^'])+('|$)|./g;\n\n// This RegExp catches symbols escaped by quotes, and also\n// sequences of symbols P, p, and the combinations like `PPPPPPPppppp`\nconst longFormattingTokensRegExp = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g;\n\nconst escapedStringRegExp = /^'([^]*?)'?$/;\nconst doubleQuoteRegExp = /''/g;\n\nconst notWhitespaceRegExp = /\\S/;\nconst unescapedLatinCharacterRegExp = /[a-zA-Z]/;\n\n/**\n * @name parse\n * @category Common Helpers\n * @summary Parse the date.\n *\n * @description\n * Return the date parsed from string using the given format string.\n *\n * > ⚠️ Please note that the `format` tokens differ from Moment.js and other libraries.\n * > See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * The characters in the format string wrapped between two single quotes characters (') are escaped.\n * Two single quotes in a row, whether inside or outside a quoted sequence, represent a 'real' single quote.\n *\n * Format of the format string is based on Unicode Technical Standard #35:\n * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * with a few additions (see note 5 below the table).\n *\n * Not all tokens are compatible. Combinations that don't make sense or could lead to bugs are prohibited\n * and will throw `RangeError`. For example usage of 24-hour format token with AM/PM token will throw an exception:\n *\n * ```javascript\n * parse('23 AM', 'HH a', new Date())\n * //=> RangeError: The format string mustn't contain `HH` and `a` at the same time\n * ```\n *\n * See the compatibility table: https://docs.google.com/spreadsheets/d/e/2PACX-1vQOPU3xUhplll6dyoMmVUXHKl_8CRDs6_ueLmex3SoqwhuolkuN3O05l4rqx5h1dKX8eb46Ul-CCSrq/pubhtml?gid=0&single=true\n *\n * Accepted format string patterns:\n * | Unit |Prior| Pattern | Result examples | Notes |\n * |---------------------------------|-----|---------|-----------------------------------|-------|\n * | Era | 140 | G..GGG | AD, BC | |\n * | | | GGGG | Anno Domini, Before Christ | 2 |\n * | | | GGGGG | A, B | |\n * | Calendar year | 130 | y | 44, 1, 1900, 2017, 9999 | 4 |\n * | | | yo | 44th, 1st, 1900th, 9999999th | 4,5 |\n * | | | yy | 44, 01, 00, 17 | 4 |\n * | | | yyy | 044, 001, 123, 999 | 4 |\n * | | | yyyy | 0044, 0001, 1900, 2017 | 4 |\n * | | | yyyyy | ... | 2,4 |\n * | Local week-numbering year | 130 | Y | 44, 1, 1900, 2017, 9000 | 4 |\n * | | | Yo | 44th, 1st, 1900th, 9999999th | 4,5 |\n * | | | YY | 44, 01, 00, 17 | 4,6 |\n * | | | YYY | 044, 001, 123, 999 | 4 |\n * | | | YYYY | 0044, 0001, 1900, 2017 | 4,6 |\n * | | | YYYYY | ... | 2,4 |\n * | ISO week-numbering year | 130 | R | -43, 1, 1900, 2017, 9999, -9999 | 4,5 |\n * | | | RR | -43, 01, 00, 17 | 4,5 |\n * | | | RRR | -043, 001, 123, 999, -999 | 4,5 |\n * | | | RRRR | -0043, 0001, 2017, 9999, -9999 | 4,5 |\n * | | | RRRRR | ... | 2,4,5 |\n * | Extended year | 130 | u | -43, 1, 1900, 2017, 9999, -999 | 4 |\n * | | | uu | -43, 01, 99, -99 | 4 |\n * | | | uuu | -043, 001, 123, 999, -999 | 4 |\n * | | | uuuu | -0043, 0001, 2017, 9999, -9999 | 4 |\n * | | | uuuuu | ... | 2,4 |\n * | Quarter (formatting) | 120 | Q | 1, 2, 3, 4 | |\n * | | | Qo | 1st, 2nd, 3rd, 4th | 5 |\n * | | | QQ | 01, 02, 03, 04 | |\n * | | | QQQ | Q1, Q2, Q3, Q4 | |\n * | | | QQQQ | 1st quarter, 2nd quarter, ... | 2 |\n * | | | QQQQQ | 1, 2, 3, 4 | 4 |\n * | Quarter (stand-alone) | 120 | q | 1, 2, 3, 4 | |\n * | | | qo | 1st, 2nd, 3rd, 4th | 5 |\n * | | | qq | 01, 02, 03, 04 | |\n * | | | qqq | Q1, Q2, Q3, Q4 | |\n * | | | qqqq | 1st quarter, 2nd quarter, ... | 2 |\n * | | | qqqqq | 1, 2, 3, 4 | 3 |\n * | Month (formatting) | 110 | M | 1, 2, ..., 12 | |\n * | | | Mo | 1st, 2nd, ..., 12th | 5 |\n * | | | MM | 01, 02, ..., 12 | |\n * | | | MMM | Jan, Feb, ..., Dec | |\n * | | | MMMM | January, February, ..., December | 2 |\n * | | | MMMMM | J, F, ..., D | |\n * | Month (stand-alone) | 110 | L | 1, 2, ..., 12 | |\n * | | | Lo | 1st, 2nd, ..., 12th | 5 |\n * | | | LL | 01, 02, ..., 12 | |\n * | | | LLL | Jan, Feb, ..., Dec | |\n * | | | LLLL | January, February, ..., December | 2 |\n * | | | LLLLL | J, F, ..., D | |\n * | Local week of year | 100 | w | 1, 2, ..., 53 | |\n * | | | wo | 1st, 2nd, ..., 53th | 5 |\n * | | | ww | 01, 02, ..., 53 | |\n * | ISO week of year | 100 | I | 1, 2, ..., 53 | 5 |\n * | | | Io | 1st, 2nd, ..., 53th | 5 |\n * | | | II | 01, 02, ..., 53 | 5 |\n * | Day of month | 90 | d | 1, 2, ..., 31 | |\n * | | | do | 1st, 2nd, ..., 31st | 5 |\n * | | | dd | 01, 02, ..., 31 | |\n * | Day of year | 90 | D | 1, 2, ..., 365, 366 | 7 |\n * | | | Do | 1st, 2nd, ..., 365th, 366th | 5 |\n * | | | DD | 01, 02, ..., 365, 366 | 7 |\n * | | | DDD | 001, 002, ..., 365, 366 | |\n * | | | DDDD | ... | 2 |\n * | Day of week (formatting) | 90 | E..EEE | Mon, Tue, Wed, ..., Sun | |\n * | | | EEEE | Monday, Tuesday, ..., Sunday | 2 |\n * | | | EEEEE | M, T, W, T, F, S, S | |\n * | | | EEEEEE | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | ISO day of week (formatting) | 90 | i | 1, 2, 3, ..., 7 | 5 |\n * | | | io | 1st, 2nd, ..., 7th | 5 |\n * | | | ii | 01, 02, ..., 07 | 5 |\n * | | | iii | Mon, Tue, Wed, ..., Sun | 5 |\n * | | | iiii | Monday, Tuesday, ..., Sunday | 2,5 |\n * | | | iiiii | M, T, W, T, F, S, S | 5 |\n * | | | iiiiii | Mo, Tu, We, Th, Fr, Sa, Su | 5 |\n * | Local day of week (formatting) | 90 | e | 2, 3, 4, ..., 1 | |\n * | | | eo | 2nd, 3rd, ..., 1st | 5 |\n * | | | ee | 02, 03, ..., 01 | |\n * | | | eee | Mon, Tue, Wed, ..., Sun | |\n * | | | eeee | Monday, Tuesday, ..., Sunday | 2 |\n * | | | eeeee | M, T, W, T, F, S, S | |\n * | | | eeeeee | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | Local day of week (stand-alone) | 90 | c | 2, 3, 4, ..., 1 | |\n * | | | co | 2nd, 3rd, ..., 1st | 5 |\n * | | | cc | 02, 03, ..., 01 | |\n * | | | ccc | Mon, Tue, Wed, ..., Sun | |\n * | | | cccc | Monday, Tuesday, ..., Sunday | 2 |\n * | | | ccccc | M, T, W, T, F, S, S | |\n * | | | cccccc | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | AM, PM | 80 | a..aaa | AM, PM | |\n * | | | aaaa | a.m., p.m. | 2 |\n * | | | aaaaa | a, p | |\n * | AM, PM, noon, midnight | 80 | b..bbb | AM, PM, noon, midnight | |\n * | | | bbbb | a.m., p.m., noon, midnight | 2 |\n * | | | bbbbb | a, p, n, mi | |\n * | Flexible day period | 80 | B..BBB | at night, in the morning, ... | |\n * | | | BBBB | at night, in the morning, ... | 2 |\n * | | | BBBBB | at night, in the morning, ... | |\n * | Hour [1-12] | 70 | h | 1, 2, ..., 11, 12 | |\n * | | | ho | 1st, 2nd, ..., 11th, 12th | 5 |\n * | | | hh | 01, 02, ..., 11, 12 | |\n * | Hour [0-23] | 70 | H | 0, 1, 2, ..., 23 | |\n * | | | Ho | 0th, 1st, 2nd, ..., 23rd | 5 |\n * | | | HH | 00, 01, 02, ..., 23 | |\n * | Hour [0-11] | 70 | K | 1, 2, ..., 11, 0 | |\n * | | | Ko | 1st, 2nd, ..., 11th, 0th | 5 |\n * | | | KK | 01, 02, ..., 11, 00 | |\n * | Hour [1-24] | 70 | k | 24, 1, 2, ..., 23 | |\n * | | | ko | 24th, 1st, 2nd, ..., 23rd | 5 |\n * | | | kk | 24, 01, 02, ..., 23 | |\n * | Minute | 60 | m | 0, 1, ..., 59 | |\n * | | | mo | 0th, 1st, ..., 59th | 5 |\n * | | | mm | 00, 01, ..., 59 | |\n * | Second | 50 | s | 0, 1, ..., 59 | |\n * | | | so | 0th, 1st, ..., 59th | 5 |\n * | | | ss | 00, 01, ..., 59 | |\n * | Seconds timestamp | 40 | t | 512969520 | |\n * | | | tt | ... | 2 |\n * | Fraction of second | 30 | S | 0, 1, ..., 9 | |\n * | | | SS | 00, 01, ..., 99 | |\n * | | | SSS | 000, 001, ..., 999 | |\n * | | | SSSS | ... | 2 |\n * | Milliseconds timestamp | 20 | T | 512969520900 | |\n * | | | TT | ... | 2 |\n * | Timezone (ISO-8601 w/ Z) | 10 | X | -08, +0530, Z | |\n * | | | XX | -0800, +0530, Z | |\n * | | | XXX | -08:00, +05:30, Z | |\n * | | | XXXX | -0800, +0530, Z, +123456 | 2 |\n * | | | XXXXX | -08:00, +05:30, Z, +12:34:56 | |\n * | Timezone (ISO-8601 w/o Z) | 10 | x | -08, +0530, +00 | |\n * | | | xx | -0800, +0530, +0000 | |\n * | | | xxx | -08:00, +05:30, +00:00 | 2 |\n * | | | xxxx | -0800, +0530, +0000, +123456 | |\n * | | | xxxxx | -08:00, +05:30, +00:00, +12:34:56 | |\n * | Long localized date | NA | P | 05/29/1453 | 5,8 |\n * | | | PP | May 29, 1453 | |\n * | | | PPP | May 29th, 1453 | |\n * | | | PPPP | Sunday, May 29th, 1453 | 2,5,8 |\n * | Long localized time | NA | p | 12:00 AM | 5,8 |\n * | | | pp | 12:00:00 AM | |\n * | Combination of date and time | NA | Pp | 05/29/1453, 12:00 AM | |\n * | | | PPpp | May 29, 1453, 12:00:00 AM | |\n * | | | PPPpp | May 29th, 1453 at ... | |\n * | | | PPPPpp | Sunday, May 29th, 1453 at ... | 2,5,8 |\n * Notes:\n * 1. \"Formatting\" units (e.g. formatting quarter) in the default en-US locale\n * are the same as \"stand-alone\" units, but are different in some languages.\n * \"Formatting\" units are declined according to the rules of the language\n * in the context of a date. \"Stand-alone\" units are always nominative singular.\n * In `format` function, they will produce different result:\n *\n * `format(new Date(2017, 10, 6), 'do LLLL', {locale: cs}) //=> '6. listopad'`\n *\n * `format(new Date(2017, 10, 6), 'do MMMM', {locale: cs}) //=> '6. listopadu'`\n *\n * `parse` will try to match both formatting and stand-alone units interchangably.\n *\n * 2. Any sequence of the identical letters is a pattern, unless it is escaped by\n * the single quote characters (see below).\n * If the sequence is longer than listed in table:\n * - for numerical units (`yyyyyyyy`) `parse` will try to match a number\n * as wide as the sequence\n * - for text units (`MMMMMMMM`) `parse` will try to match the widest variation of the unit.\n * These variations are marked with \"2\" in the last column of the table.\n *\n * 3. `QQQQQ` and `qqqqq` could be not strictly numerical in some locales.\n * These tokens represent the shortest form of the quarter.\n *\n * 4. The main difference between `y` and `u` patterns are B.C. years:\n *\n * | Year | `y` | `u` |\n * |------|-----|-----|\n * | AC 1 | 1 | 1 |\n * | BC 1 | 1 | 0 |\n * | BC 2 | 2 | -1 |\n *\n * Also `yy` will try to guess the century of two digit year by proximity with `referenceDate`:\n *\n * `parse('50', 'yy', new Date(2018, 0, 1)) //=> Sat Jan 01 2050 00:00:00`\n *\n * `parse('75', 'yy', new Date(2018, 0, 1)) //=> Wed Jan 01 1975 00:00:00`\n *\n * while `uu` will just assign the year as is:\n *\n * `parse('50', 'uu', new Date(2018, 0, 1)) //=> Sat Jan 01 0050 00:00:00`\n *\n * `parse('75', 'uu', new Date(2018, 0, 1)) //=> Tue Jan 01 0075 00:00:00`\n *\n * The same difference is true for local and ISO week-numbering years (`Y` and `R`),\n * except local week-numbering years are dependent on `options.weekStartsOn`\n * and `options.firstWeekContainsDate` (compare [setISOWeekYear](https://date-fns.org/docs/setISOWeekYear)\n * and [setWeekYear](https://date-fns.org/docs/setWeekYear)).\n *\n * 5. These patterns are not in the Unicode Technical Standard #35:\n * - `i`: ISO day of week\n * - `I`: ISO week of year\n * - `R`: ISO week-numbering year\n * - `o`: ordinal number modifier\n * - `P`: long localized date\n * - `p`: long localized time\n *\n * 6. `YY` and `YYYY` tokens represent week-numbering years but they are often confused with years.\n * You should enable `options.useAdditionalWeekYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * 7. `D` and `DD` tokens represent days of the year but they are ofthen confused with days of the month.\n * You should enable `options.useAdditionalDayOfYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * 8. `P+` tokens do not have a defined priority since they are merely aliases to other tokens based\n * on the given locale.\n *\n * using `en-US` locale: `P` => `MM/dd/yyyy`\n * using `en-US` locale: `p` => `hh:mm a`\n * using `pt-BR` locale: `P` => `dd/MM/yyyy`\n * using `pt-BR` locale: `p` => `HH:mm`\n *\n * Values will be assigned to the date in the descending order of its unit's priority.\n * Units of an equal priority overwrite each other in the order of appearance.\n *\n * If no values of higher priority are parsed (e.g. when parsing string 'January 1st' without a year),\n * the values will be taken from 3rd argument `referenceDate` which works as a context of parsing.\n *\n * `referenceDate` must be passed for correct work of the function.\n * If you're not sure which `referenceDate` to supply, create a new instance of Date:\n * `parse('02/11/2014', 'MM/dd/yyyy', new Date())`\n * In this case parsing will be done in the context of the current date.\n * If `referenceDate` is `Invalid Date` or a value not convertible to valid `Date`,\n * then `Invalid Date` will be returned.\n *\n * The result may vary by locale.\n *\n * If `formatString` matches with `dateString` but does not provides tokens, `referenceDate` will be returned.\n *\n * If parsing failed, `Invalid Date` will be returned.\n * Invalid Date is a Date, whose time value is NaN.\n * Time value of Date: http://es5.github.io/#x15.9.1.1\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param dateStr - The string to parse\n * @param formatStr - The string of tokens\n * @param referenceDate - defines values missing from the parsed dateString\n * @param options - An object with options.\n * see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * @returns The parsed date\n *\n * @throws `options.locale` must contain `match` property\n * @throws use `yyyy` instead of `YYYY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws use `yy` instead of `YY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws use `d` instead of `D` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws use `dd` instead of `DD` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws format string contains an unescaped latin alphabet character\n *\n * @example\n * // Parse 11 February 2014 from middle-endian format:\n * var result = parse('02/11/2014', 'MM/dd/yyyy', new Date())\n * //=> Tue Feb 11 2014 00:00:00\n *\n * @example\n * // Parse 28th of February in Esperanto locale in the context of 2010 year:\n * import eo from 'date-fns/locale/eo'\n * var result = parse('28-a de februaro', \"do 'de' MMMM\", new Date(2010, 0, 1), {\n * locale: eo\n * })\n * //=> Sun Feb 28 2010 00:00:00\n */\nexport function parse(dateStr, formatStr, referenceDate, options) {\n const defaultOptions = getDefaultOptions();\n const locale = options?.locale ?? defaultOptions.locale ?? defaultLocale;\n\n const firstWeekContainsDate =\n options?.firstWeekContainsDate ??\n options?.locale?.options?.firstWeekContainsDate ??\n defaultOptions.firstWeekContainsDate ??\n defaultOptions.locale?.options?.firstWeekContainsDate ??\n 1;\n\n const weekStartsOn =\n options?.weekStartsOn ??\n options?.locale?.options?.weekStartsOn ??\n defaultOptions.weekStartsOn ??\n defaultOptions.locale?.options?.weekStartsOn ??\n 0;\n\n if (formatStr === \"\") {\n if (dateStr === \"\") {\n return toDate(referenceDate);\n } else {\n return constructFrom(referenceDate, NaN);\n }\n }\n\n const subFnOptions = {\n firstWeekContainsDate,\n weekStartsOn,\n locale,\n };\n\n // If timezone isn't specified, it will be set to the system timezone\n const setters = [new DateToSystemTimezoneSetter()];\n\n const tokens = formatStr\n .match(longFormattingTokensRegExp)\n .map((substring) => {\n const firstCharacter = substring[0];\n if (firstCharacter in longFormatters) {\n const longFormatter = longFormatters[firstCharacter];\n return longFormatter(substring, locale.formatLong);\n }\n return substring;\n })\n .join(\"\")\n .match(formattingTokensRegExp);\n\n const usedTokens = [];\n\n for (let token of tokens) {\n if (\n !options?.useAdditionalWeekYearTokens &&\n isProtectedWeekYearToken(token)\n ) {\n warnOrThrowProtectedError(token, formatStr, dateStr);\n }\n if (\n !options?.useAdditionalDayOfYearTokens &&\n isProtectedDayOfYearToken(token)\n ) {\n warnOrThrowProtectedError(token, formatStr, dateStr);\n }\n\n const firstCharacter = token[0];\n const parser = parsers[firstCharacter];\n if (parser) {\n const { incompatibleTokens } = parser;\n if (Array.isArray(incompatibleTokens)) {\n const incompatibleToken = usedTokens.find(\n (usedToken) =>\n incompatibleTokens.includes(usedToken.token) ||\n usedToken.token === firstCharacter,\n );\n if (incompatibleToken) {\n throw new RangeError(\n `The format string mustn't contain \\`${incompatibleToken.fullToken}\\` and \\`${token}\\` at the same time`,\n );\n }\n } else if (parser.incompatibleTokens === \"*\" && usedTokens.length > 0) {\n throw new RangeError(\n `The format string mustn't contain \\`${token}\\` and any other token at the same time`,\n );\n }\n\n usedTokens.push({ token: firstCharacter, fullToken: token });\n\n const parseResult = parser.run(\n dateStr,\n token,\n locale.match,\n subFnOptions,\n );\n\n if (!parseResult) {\n return constructFrom(referenceDate, NaN);\n }\n\n setters.push(parseResult.setter);\n\n dateStr = parseResult.rest;\n } else {\n if (firstCharacter.match(unescapedLatinCharacterRegExp)) {\n throw new RangeError(\n \"Format string contains an unescaped latin alphabet character `\" +\n firstCharacter +\n \"`\",\n );\n }\n\n // Replace two single quote characters with one single quote character\n if (token === \"''\") {\n token = \"'\";\n } else if (firstCharacter === \"'\") {\n token = cleanEscapedString(token);\n }\n\n // Cut token from string, or, if string doesn't match the token, return Invalid Date\n if (dateStr.indexOf(token) === 0) {\n dateStr = dateStr.slice(token.length);\n } else {\n return constructFrom(referenceDate, NaN);\n }\n }\n }\n\n // Check if the remaining input contains something other than whitespace\n if (dateStr.length > 0 && notWhitespaceRegExp.test(dateStr)) {\n return constructFrom(referenceDate, NaN);\n }\n\n const uniquePrioritySetters = setters\n .map((setter) => setter.priority)\n .sort((a, b) => b - a)\n .filter((priority, index, array) => array.indexOf(priority) === index)\n .map((priority) =>\n setters\n .filter((setter) => setter.priority === priority)\n .sort((a, b) => b.subPriority - a.subPriority),\n )\n .map((setterArray) => setterArray[0]);\n\n let date = toDate(referenceDate);\n\n if (isNaN(date.getTime())) {\n return constructFrom(referenceDate, NaN);\n }\n\n const flags = {};\n for (const setter of uniquePrioritySetters) {\n if (!setter.validate(date, subFnOptions)) {\n return constructFrom(referenceDate, NaN);\n }\n\n const result = setter.set(date, flags, subFnOptions);\n // Result is tuple (date, flags)\n if (Array.isArray(result)) {\n date = result[0];\n Object.assign(flags, result[1]);\n // Result is date\n } else {\n date = result;\n }\n }\n\n return constructFrom(referenceDate, date);\n}\n\nfunction cleanEscapedString(input) {\n return input.match(escapedStringRegExp)[1].replace(doubleQuoteRegExp, \"'\");\n}\n\n// Fallback for modularized imports:\nexport default parse;\n","import { isValid } from \"./isValid.mjs\";\nimport { parse } from \"./parse.mjs\";\n\n/**\n * The {@link isMatch} function options.\n */\n\n/**\n * @name isMatch\n * @category Common Helpers\n * @summary validates the date string against given formats\n *\n * @description\n * Return the true if given date is string correct against the given format else\n * will return false.\n *\n * > ⚠️ Please note that the `format` tokens differ from Moment.js and other libraries.\n * > See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * The characters in the format string wrapped between two single quotes characters (') are escaped.\n * Two single quotes in a row, whether inside or outside a quoted sequence, represent a 'real' single quote.\n *\n * Format of the format string is based on Unicode Technical Standard #35:\n * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * with a few additions (see note 5 below the table).\n *\n * Not all tokens are compatible. Combinations that don't make sense or could lead to bugs are prohibited\n * and will throw `RangeError`. For example usage of 24-hour format token with AM/PM token will throw an exception:\n *\n * ```javascript\n * isMatch('23 AM', 'HH a')\n * //=> RangeError: The format string mustn't contain `HH` and `a` at the same time\n * ```\n *\n * See the compatibility table: https://docs.google.com/spreadsheets/d/e/2PACX-1vQOPU3xUhplll6dyoMmVUXHKl_8CRDs6_ueLmex3SoqwhuolkuN3O05l4rqx5h1dKX8eb46Ul-CCSrq/pubhtml?gid=0&single=true\n *\n * Accepted format string patterns:\n * | Unit |Prior| Pattern | Result examples | Notes |\n * |---------------------------------|-----|---------|-----------------------------------|-------|\n * | Era | 140 | G..GGG | AD, BC | |\n * | | | GGGG | Anno Domini, Before Christ | 2 |\n * | | | GGGGG | A, B | |\n * | Calendar year | 130 | y | 44, 1, 1900, 2017, 9999 | 4 |\n * | | | yo | 44th, 1st, 1900th, 9999999th | 4,5 |\n * | | | yy | 44, 01, 00, 17 | 4 |\n * | | | yyy | 044, 001, 123, 999 | 4 |\n * | | | yyyy | 0044, 0001, 1900, 2017 | 4 |\n * | | | yyyyy | ... | 2,4 |\n * | Local week-numbering year | 130 | Y | 44, 1, 1900, 2017, 9000 | 4 |\n * | | | Yo | 44th, 1st, 1900th, 9999999th | 4,5 |\n * | | | YY | 44, 01, 00, 17 | 4,6 |\n * | | | YYY | 044, 001, 123, 999 | 4 |\n * | | | YYYY | 0044, 0001, 1900, 2017 | 4,6 |\n * | | | YYYYY | ... | 2,4 |\n * | ISO week-numbering year | 130 | R | -43, 1, 1900, 2017, 9999, -9999 | 4,5 |\n * | | | RR | -43, 01, 00, 17 | 4,5 |\n * | | | RRR | -043, 001, 123, 999, -999 | 4,5 |\n * | | | RRRR | -0043, 0001, 2017, 9999, -9999 | 4,5 |\n * | | | RRRRR | ... | 2,4,5 |\n * | Extended year | 130 | u | -43, 1, 1900, 2017, 9999, -999 | 4 |\n * | | | uu | -43, 01, 99, -99 | 4 |\n * | | | uuu | -043, 001, 123, 999, -999 | 4 |\n * | | | uuuu | -0043, 0001, 2017, 9999, -9999 | 4 |\n * | | | uuuuu | ... | 2,4 |\n * | Quarter (formatting) | 120 | Q | 1, 2, 3, 4 | |\n * | | | Qo | 1st, 2nd, 3rd, 4th | 5 |\n * | | | QQ | 01, 02, 03, 04 | |\n * | | | QQQ | Q1, Q2, Q3, Q4 | |\n * | | | QQQQ | 1st quarter, 2nd quarter, ... | 2 |\n * | | | QQQQQ | 1, 2, 3, 4 | 4 |\n * | Quarter (stand-alone) | 120 | q | 1, 2, 3, 4 | |\n * | | | qo | 1st, 2nd, 3rd, 4th | 5 |\n * | | | qq | 01, 02, 03, 04 | |\n * | | | qqq | Q1, Q2, Q3, Q4 | |\n * | | | qqqq | 1st quarter, 2nd quarter, ... | 2 |\n * | | | qqqqq | 1, 2, 3, 4 | 3 |\n * | Month (formatting) | 110 | M | 1, 2, ..., 12 | |\n * | | | Mo | 1st, 2nd, ..., 12th | 5 |\n * | | | MM | 01, 02, ..., 12 | |\n * | | | MMM | Jan, Feb, ..., Dec | |\n * | | | MMMM | January, February, ..., December | 2 |\n * | | | MMMMM | J, F, ..., D | |\n * | Month (stand-alone) | 110 | L | 1, 2, ..., 12 | |\n * | | | Lo | 1st, 2nd, ..., 12th | 5 |\n * | | | LL | 01, 02, ..., 12 | |\n * | | | LLL | Jan, Feb, ..., Dec | |\n * | | | LLLL | January, February, ..., December | 2 |\n * | | | LLLLL | J, F, ..., D | |\n * | Local week of year | 100 | w | 1, 2, ..., 53 | |\n * | | | wo | 1st, 2nd, ..., 53th | 5 |\n * | | | ww | 01, 02, ..., 53 | |\n * | ISO week of year | 100 | I | 1, 2, ..., 53 | 5 |\n * | | | Io | 1st, 2nd, ..., 53th | 5 |\n * | | | II | 01, 02, ..., 53 | 5 |\n * | Day of month | 90 | d | 1, 2, ..., 31 | |\n * | | | do | 1st, 2nd, ..., 31st | 5 |\n * | | | dd | 01, 02, ..., 31 | |\n * | Day of year | 90 | D | 1, 2, ..., 365, 366 | 7 |\n * | | | Do | 1st, 2nd, ..., 365th, 366th | 5 |\n * | | | DD | 01, 02, ..., 365, 366 | 7 |\n * | | | DDD | 001, 002, ..., 365, 366 | |\n * | | | DDDD | ... | 2 |\n * | Day of week (formatting) | 90 | E..EEE | Mon, Tue, Wed, ..., Su | |\n * | | | EEEE | Monday, Tuesday, ..., Sunday | 2 |\n * | | | EEEEE | M, T, W, T, F, S, S | |\n * | | | EEEEEE | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | ISO day of week (formatting) | 90 | i | 1, 2, 3, ..., 7 | 5 |\n * | | | io | 1st, 2nd, ..., 7th | 5 |\n * | | | ii | 01, 02, ..., 07 | 5 |\n * | | | iii | Mon, Tue, Wed, ..., Su | 5 |\n * | | | iiii | Monday, Tuesday, ..., Sunday | 2,5 |\n * | | | iiiii | M, T, W, T, F, S, S | 5 |\n * | | | iiiiii | Mo, Tu, We, Th, Fr, Sa, Su | 5 |\n * | Local day of week (formatting) | 90 | e | 2, 3, 4, ..., 1 | |\n * | | | eo | 2nd, 3rd, ..., 1st | 5 |\n * | | | ee | 02, 03, ..., 01 | |\n * | | | eee | Mon, Tue, Wed, ..., Su | |\n * | | | eeee | Monday, Tuesday, ..., Sunday | 2 |\n * | | | eeeee | M, T, W, T, F, S, S | |\n * | | | eeeeee | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | Local day of week (stand-alone) | 90 | c | 2, 3, 4, ..., 1 | |\n * | | | co | 2nd, 3rd, ..., 1st | 5 |\n * | | | cc | 02, 03, ..., 01 | |\n * | | | ccc | Mon, Tue, Wed, ..., Su | |\n * | | | cccc | Monday, Tuesday, ..., Sunday | 2 |\n * | | | ccccc | M, T, W, T, F, S, S | |\n * | | | cccccc | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | AM, PM | 80 | a..aaa | AM, PM | |\n * | | | aaaa | a.m., p.m. | 2 |\n * | | | aaaaa | a, p | |\n * | AM, PM, noon, midnight | 80 | b..bbb | AM, PM, noon, midnight | |\n * | | | bbbb | a.m., p.m., noon, midnight | 2 |\n * | | | bbbbb | a, p, n, mi | |\n * | Flexible day period | 80 | B..BBB | at night, in the morning, ... | |\n * | | | BBBB | at night, in the morning, ... | 2 |\n * | | | BBBBB | at night, in the morning, ... | |\n * | Hour [1-12] | 70 | h | 1, 2, ..., 11, 12 | |\n * | | | ho | 1st, 2nd, ..., 11th, 12th | 5 |\n * | | | hh | 01, 02, ..., 11, 12 | |\n * | Hour [0-23] | 70 | H | 0, 1, 2, ..., 23 | |\n * | | | Ho | 0th, 1st, 2nd, ..., 23rd | 5 |\n * | | | HH | 00, 01, 02, ..., 23 | |\n * | Hour [0-11] | 70 | K | 1, 2, ..., 11, 0 | |\n * | | | Ko | 1st, 2nd, ..., 11th, 0th | 5 |\n * | | | KK | 01, 02, ..., 11, 00 | |\n * | Hour [1-24] | 70 | k | 24, 1, 2, ..., 23 | |\n * | | | ko | 24th, 1st, 2nd, ..., 23rd | 5 |\n * | | | kk | 24, 01, 02, ..., 23 | |\n * | Minute | 60 | m | 0, 1, ..., 59 | |\n * | | | mo | 0th, 1st, ..., 59th | 5 |\n * | | | mm | 00, 01, ..., 59 | |\n * | Second | 50 | s | 0, 1, ..., 59 | |\n * | | | so | 0th, 1st, ..., 59th | 5 |\n * | | | ss | 00, 01, ..., 59 | |\n * | Seconds timestamp | 40 | t | 512969520 | |\n * | | | tt | ... | 2 |\n * | Fraction of second | 30 | S | 0, 1, ..., 9 | |\n * | | | SS | 00, 01, ..., 99 | |\n * | | | SSS | 000, 001, ..., 999 | |\n * | | | SSSS | ... | 2 |\n * | Milliseconds timestamp | 20 | T | 512969520900 | |\n * | | | TT | ... | 2 |\n * | Timezone (ISO-8601 w/ Z) | 10 | X | -08, +0530, Z | |\n * | | | XX | -0800, +0530, Z | |\n * | | | XXX | -08:00, +05:30, Z | |\n * | | | XXXX | -0800, +0530, Z, +123456 | 2 |\n * | | | XXXXX | -08:00, +05:30, Z, +12:34:56 | |\n * | Timezone (ISO-8601 w/o Z) | 10 | x | -08, +0530, +00 | |\n * | | | xx | -0800, +0530, +0000 | |\n * | | | xxx | -08:00, +05:30, +00:00 | 2 |\n * | | | xxxx | -0800, +0530, +0000, +123456 | |\n * | | | xxxxx | -08:00, +05:30, +00:00, +12:34:56 | |\n * | Long localized date | NA | P | 05/29/1453 | 5,8 |\n * | | | PP | May 29, 1453 | |\n * | | | PPP | May 29th, 1453 | |\n * | | | PPPP | Sunday, May 29th, 1453 | 2,5,8 |\n * | Long localized time | NA | p | 12:00 AM | 5,8 |\n * | | | pp | 12:00:00 AM | |\n * | Combination of date and time | NA | Pp | 05/29/1453, 12:00 AM | |\n * | | | PPpp | May 29, 1453, 12:00:00 AM | |\n * | | | PPPpp | May 29th, 1453 at ... | |\n * | | | PPPPpp | Sunday, May 29th, 1453 at ... | 2,5,8 |\n * Notes:\n * 1. \"Formatting\" units (e.g. formatting quarter) in the default en-US locale\n * are the same as \"stand-alone\" units, but are different in some languages.\n * \"Formatting\" units are declined according to the rules of the language\n * in the context of a date. \"Stand-alone\" units are always nominative singular.\n * In `format` function, they will produce different result:\n *\n * `format(new Date(2017, 10, 6), 'do LLLL', {locale: cs}) //=> '6. listopad'`\n *\n * `format(new Date(2017, 10, 6), 'do MMMM', {locale: cs}) //=> '6. listopadu'`\n *\n * `isMatch` will try to match both formatting and stand-alone units interchangably.\n *\n * 2. Any sequence of the identical letters is a pattern, unless it is escaped by\n * the single quote characters (see below).\n * If the sequence is longer than listed in table:\n * - for numerical units (`yyyyyyyy`) `isMatch` will try to match a number\n * as wide as the sequence\n * - for text units (`MMMMMMMM`) `isMatch` will try to match the widest variation of the unit.\n * These variations are marked with \"2\" in the last column of the table.\n *\n * 3. `QQQQQ` and `qqqqq` could be not strictly numerical in some locales.\n * These tokens represent the shortest form of the quarter.\n *\n * 4. The main difference between `y` and `u` patterns are B.C. years:\n *\n * | Year | `y` | `u` |\n * |------|-----|-----|\n * | AC 1 | 1 | 1 |\n * | BC 1 | 1 | 0 |\n * | BC 2 | 2 | -1 |\n *\n * Also `yy` will try to guess the century of two digit year by proximity with `referenceDate`:\n *\n * `isMatch('50', 'yy') //=> true`\n *\n * `isMatch('75', 'yy') //=> true`\n *\n * while `uu` will use the year as is:\n *\n * `isMatch('50', 'uu') //=> true`\n *\n * `isMatch('75', 'uu') //=> true`\n *\n * The same difference is true for local and ISO week-numbering years (`Y` and `R`),\n * except local week-numbering years are dependent on `options.weekStartsOn`\n * and `options.firstWeekContainsDate` (compare [setISOWeekYear](https://date-fns.org/docs/setISOWeekYear)\n * and [setWeekYear](https://date-fns.org/docs/setWeekYear)).\n *\n * 5. These patterns are not in the Unicode Technical Standard #35:\n * - `i`: ISO day of week\n * - `I`: ISO week of year\n * - `R`: ISO week-numbering year\n * - `o`: ordinal number modifier\n * - `P`: long localized date\n * - `p`: long localized time\n *\n * 6. `YY` and `YYYY` tokens represent week-numbering years but they are often confused with years.\n * You should enable `options.useAdditionalWeekYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * 7. `D` and `DD` tokens represent days of the year but they are ofthen confused with days of the month.\n * You should enable `options.useAdditionalDayOfYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * 8. `P+` tokens do not have a defined priority since they are merely aliases to other tokens based\n * on the given locale.\n *\n * using `en-US` locale: `P` => `MM/dd/yyyy`\n * using `en-US` locale: `p` => `hh:mm a`\n * using `pt-BR` locale: `P` => `dd/MM/yyyy`\n * using `pt-BR` locale: `p` => `HH:mm`\n *\n * Values will be checked in the descending order of its unit's priority.\n * Units of an equal priority overwrite each other in the order of appearance.\n *\n * If no values of higher priority are matched (e.g. when matching string 'January 1st' without a year),\n * the values will be taken from today's using `new Date()` date which works as a context of parsing.\n *\n * The result may vary by locale.\n *\n * If `formatString` matches with `dateString` but does not provides tokens, `referenceDate` will be returned.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param dateStr - The date string to verify\n * @param format - The string of tokens\n * @param options - An object with options.\n * see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * @returns Is format string a match for date string?\n *\n * @throws `options.locale` must contain `match` property\n * @throws use `yyyy` instead of `YYYY` for formatting years; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws use `yy` instead of `YY` for formatting years; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws use `d` instead of `D` for formatting days of the month; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws use `dd` instead of `DD` for formatting days of the month; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws format string contains an unescaped latin alphabet character\n *\n * @example\n * // Match 11 February 2014 from middle-endian format:\n * const result = isMatch('02/11/2014', 'MM/dd/yyyy')\n * //=> true\n *\n * @example\n * // Match 28th of February in Esperanto locale in the context of 2010 year:\n * import eo from 'date-fns/locale/eo'\n * const result = isMatch('28-a de februaro', \"do 'de' MMMM\", {\n * locale: eo\n * })\n * //=> true\n */\nexport function isMatch(dateStr, formatStr, options) {\n return isValid(parse(dateStr, formatStr, new Date(), options));\n}\n\n// Fallback for modularized imports:\nexport default isMatch;\n","import { millisecondsInHour, millisecondsInMinute } from \"./constants.mjs\";\n\n/**\n * The {@link parseISO} function options.\n */\n\n/**\n * @name parseISO\n * @category Common Helpers\n * @summary Parse ISO string\n *\n * @description\n * Parse the given string in ISO 8601 format and return an instance of Date.\n *\n * Function accepts complete ISO 8601 formats as well as partial implementations.\n * ISO 8601: http://en.wikipedia.org/wiki/ISO_8601\n *\n * If the argument isn't a string, the function cannot parse the string or\n * the values are invalid, it returns Invalid Date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param argument - The value to convert\n * @param options - An object with options\n *\n * @returns The parsed date in the local time zone\n *\n * @example\n * // Convert string '2014-02-11T11:30:30' to date:\n * const result = parseISO('2014-02-11T11:30:30')\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert string '+02014101' to date,\n * // if the additional number of digits in the extended year format is 1:\n * const result = parseISO('+02014101', { additionalDigits: 1 })\n * //=> Fri Apr 11 2014 00:00:00\n */\nexport function parseISO(argument, options) {\n const additionalDigits = options?.additionalDigits ?? 2;\n const dateStrings = splitDateString(argument);\n\n let date;\n if (dateStrings.date) {\n const parseYearResult = parseYear(dateStrings.date, additionalDigits);\n date = parseDate(parseYearResult.restDateString, parseYearResult.year);\n }\n\n if (!date || isNaN(date.getTime())) {\n return new Date(NaN);\n }\n\n const timestamp = date.getTime();\n let time = 0;\n let offset;\n\n if (dateStrings.time) {\n time = parseTime(dateStrings.time);\n if (isNaN(time)) {\n return new Date(NaN);\n }\n }\n\n if (dateStrings.timezone) {\n offset = parseTimezone(dateStrings.timezone);\n if (isNaN(offset)) {\n return new Date(NaN);\n }\n } else {\n const dirtyDate = new Date(timestamp + time);\n // JS parsed string assuming it's in UTC timezone\n // but we need it to be parsed in our timezone\n // so we use utc values to build date in our timezone.\n // Year values from 0 to 99 map to the years 1900 to 1999\n // so set year explicitly with setFullYear.\n const result = new Date(0);\n result.setFullYear(\n dirtyDate.getUTCFullYear(),\n dirtyDate.getUTCMonth(),\n dirtyDate.getUTCDate(),\n );\n result.setHours(\n dirtyDate.getUTCHours(),\n dirtyDate.getUTCMinutes(),\n dirtyDate.getUTCSeconds(),\n dirtyDate.getUTCMilliseconds(),\n );\n return result;\n }\n\n return new Date(timestamp + time + offset);\n}\n\nconst patterns = {\n dateTimeDelimiter: /[T ]/,\n timeZoneDelimiter: /[Z ]/i,\n timezone: /([Z+-].*)$/,\n};\n\nconst dateRegex =\n /^-?(?:(\\d{3})|(\\d{2})(?:-?(\\d{2}))?|W(\\d{2})(?:-?(\\d{1}))?|)$/;\nconst timeRegex =\n /^(\\d{2}(?:[.,]\\d*)?)(?::?(\\d{2}(?:[.,]\\d*)?))?(?::?(\\d{2}(?:[.,]\\d*)?))?$/;\nconst timezoneRegex = /^([+-])(\\d{2})(?::?(\\d{2}))?$/;\n\nfunction splitDateString(dateString) {\n const dateStrings = {};\n const array = dateString.split(patterns.dateTimeDelimiter);\n let timeString;\n\n // The regex match should only return at maximum two array elements.\n // [date], [time], or [date, time].\n if (array.length > 2) {\n return dateStrings;\n }\n\n if (/:/.test(array[0])) {\n timeString = array[0];\n } else {\n dateStrings.date = array[0];\n timeString = array[1];\n if (patterns.timeZoneDelimiter.test(dateStrings.date)) {\n dateStrings.date = dateString.split(patterns.timeZoneDelimiter)[0];\n timeString = dateString.substr(\n dateStrings.date.length,\n dateString.length,\n );\n }\n }\n\n if (timeString) {\n const token = patterns.timezone.exec(timeString);\n if (token) {\n dateStrings.time = timeString.replace(token[1], \"\");\n dateStrings.timezone = token[1];\n } else {\n dateStrings.time = timeString;\n }\n }\n\n return dateStrings;\n}\n\nfunction parseYear(dateString, additionalDigits) {\n const regex = new RegExp(\n \"^(?:(\\\\d{4}|[+-]\\\\d{\" +\n (4 + additionalDigits) +\n \"})|(\\\\d{2}|[+-]\\\\d{\" +\n (2 + additionalDigits) +\n \"})$)\",\n );\n\n const captures = dateString.match(regex);\n // Invalid ISO-formatted year\n if (!captures) return { year: NaN, restDateString: \"\" };\n\n const year = captures[1] ? parseInt(captures[1]) : null;\n const century = captures[2] ? parseInt(captures[2]) : null;\n\n // either year or century is null, not both\n return {\n year: century === null ? year : century * 100,\n restDateString: dateString.slice((captures[1] || captures[2]).length),\n };\n}\n\nfunction parseDate(dateString, year) {\n // Invalid ISO-formatted year\n if (year === null) return new Date(NaN);\n\n const captures = dateString.match(dateRegex);\n // Invalid ISO-formatted string\n if (!captures) return new Date(NaN);\n\n const isWeekDate = !!captures[4];\n const dayOfYear = parseDateUnit(captures[1]);\n const month = parseDateUnit(captures[2]) - 1;\n const day = parseDateUnit(captures[3]);\n const week = parseDateUnit(captures[4]);\n const dayOfWeek = parseDateUnit(captures[5]) - 1;\n\n if (isWeekDate) {\n if (!validateWeekDate(year, week, dayOfWeek)) {\n return new Date(NaN);\n }\n return dayOfISOWeekYear(year, week, dayOfWeek);\n } else {\n const date = new Date(0);\n if (\n !validateDate(year, month, day) ||\n !validateDayOfYearDate(year, dayOfYear)\n ) {\n return new Date(NaN);\n }\n date.setUTCFullYear(year, month, Math.max(dayOfYear, day));\n return date;\n }\n}\n\nfunction parseDateUnit(value) {\n return value ? parseInt(value) : 1;\n}\n\nfunction parseTime(timeString) {\n const captures = timeString.match(timeRegex);\n if (!captures) return NaN; // Invalid ISO-formatted time\n\n const hours = parseTimeUnit(captures[1]);\n const minutes = parseTimeUnit(captures[2]);\n const seconds = parseTimeUnit(captures[3]);\n\n if (!validateTime(hours, minutes, seconds)) {\n return NaN;\n }\n\n return (\n hours * millisecondsInHour + minutes * millisecondsInMinute + seconds * 1000\n );\n}\n\nfunction parseTimeUnit(value) {\n return (value && parseFloat(value.replace(\",\", \".\"))) || 0;\n}\n\nfunction parseTimezone(timezoneString) {\n if (timezoneString === \"Z\") return 0;\n\n const captures = timezoneString.match(timezoneRegex);\n if (!captures) return 0;\n\n const sign = captures[1] === \"+\" ? -1 : 1;\n const hours = parseInt(captures[2]);\n const minutes = (captures[3] && parseInt(captures[3])) || 0;\n\n if (!validateTimezone(hours, minutes)) {\n return NaN;\n }\n\n return sign * (hours * millisecondsInHour + minutes * millisecondsInMinute);\n}\n\nfunction dayOfISOWeekYear(isoWeekYear, week, day) {\n const date = new Date(0);\n date.setUTCFullYear(isoWeekYear, 0, 4);\n const fourthOfJanuaryDay = date.getUTCDay() || 7;\n const diff = (week - 1) * 7 + day + 1 - fourthOfJanuaryDay;\n date.setUTCDate(date.getUTCDate() + diff);\n return date;\n}\n\n// Validation functions\n\n// February is null to handle the leap year (using ||)\nconst daysInMonths = [31, null, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\n\nfunction isLeapYearIndex(year) {\n return year % 400 === 0 || (year % 4 === 0 && year % 100 !== 0);\n}\n\nfunction validateDate(year, month, date) {\n return (\n month >= 0 &&\n month <= 11 &&\n date >= 1 &&\n date <= (daysInMonths[month] || (isLeapYearIndex(year) ? 29 : 28))\n );\n}\n\nfunction validateDayOfYearDate(year, dayOfYear) {\n return dayOfYear >= 1 && dayOfYear <= (isLeapYearIndex(year) ? 366 : 365);\n}\n\nfunction validateWeekDate(_year, week, day) {\n return week >= 1 && week <= 53 && day >= 0 && day <= 6;\n}\n\nfunction validateTime(hours, minutes, seconds) {\n if (hours === 24) {\n return minutes === 0 && seconds === 0;\n }\n\n return (\n seconds >= 0 &&\n seconds < 60 &&\n minutes >= 0 &&\n minutes < 60 &&\n hours >= 0 &&\n hours < 25\n );\n}\n\nfunction validateTimezone(_hours, minutes) {\n return minutes >= 0 && minutes <= 59;\n}\n\n// Fallback for modularized imports:\nexport default parseISO;\n","import { addMonths } from \"./addMonths.mjs\";\n\n/**\n * @name subMonths\n * @category Month Helpers\n * @summary Subtract the specified number of months from the given date.\n *\n * @description\n * Subtract the specified number of months from the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The date to be changed\n * @param amount - The amount of months to be subtracted.\n *\n * @returns The new date with the months subtracted\n *\n * @example\n * // Subtract 5 months from 1 February 2015:\n * const result = subMonths(new Date(2015, 1, 1), 5)\n * //=> Mon Sep 01 2014 00:00:00\n */\nexport function subMonths(date, amount) {\n return addMonths(date, -amount);\n}\n\n// Fallback for modularized imports:\nexport default subMonths;\n","import { isMatch, isValid, parseISO } from 'date-fns';\n\nexport const isNumeric = (value: any) =>\n !isNaN(parseFloat(value)) && isFinite(value);\nexport const valuesAreNumeric = (values: any[]) => values.every(isNumeric);\n\nexport const isInteger = (value: any) =>\n Number.isInteger(value) || !isNaN(parseInt(value));\nexport const valuesAreInteger = (values: any[]) => values.every(isInteger);\n\nexport const isBoolean = (value: any) => typeof value === 'boolean';\nexport const valuesAreBoolean = (values: any[]) => values.every(isBoolean);\n\nexport const isBooleanString = (value: any) =>\n ['true', 'false'].includes(value.toString().toLowerCase());\nexport const valuesAreBooleanString = (values: any[]) =>\n values.every(isBooleanString);\n\nexport const isString = (value: any) => typeof value === 'string';\nexport const valuesAreString = (values: any[]) => values.every(isString);\n\nconst HtmlRegexp = /<([A-Z][A-Z0-9]*)\\b[^>]*>(.*?)<\\/\\1>/i;\nexport const isHtml = (value: any) => !value || HtmlRegexp.test(value);\nexport const valuesAreHtml = (values: any[]) => values.every(isHtml);\n\nconst UrlRegexp = /http(s*):\\/\\/.*/i;\nexport const isUrl = (value: any) => !value || UrlRegexp.test(value);\nexport const valuesAreUrl = (values: any[]) => values.every(isUrl);\n\nconst ImageUrlRegexp = /http(s*):\\/\\/.*\\.(jpeg|jpg|jfif|pjpeg|pjp|png|svg|gif|webp|apng|bmp|ico|cur|tif|tiff)/i;\nexport const isImageUrl = (value: any) => !value || ImageUrlRegexp.test(value);\nexport const valuesAreImageUrl = (values: any[]) => values.every(isImageUrl);\n\n// This is a very simple regex to find emails\n// It is NOT meant to validate emails as the spec is way more complicated but is\n// enough for our inference needs\nconst EmailRegexp = /@{1}/;\nexport const isEmail = (value: any) => !value || EmailRegexp.test(value);\nexport const valuesAreEmail = (values: any[]) => values.every(isEmail);\n\nexport const isArray = (value: any) => Array.isArray(value);\nexport const valuesAreArray = (values: any[]) => values.every(isArray);\n\nexport const isDate = (value: any) => !value || value instanceof Date;\nexport const valuesAreDate = (values: any[]) => values.every(isDate);\n\nexport const isDateString = (value: any) =>\n !value ||\n (typeof value === 'string' &&\n (isMatch(value, 'MM/dd/yyyy') ||\n isMatch(value, 'MM/dd/yy') ||\n isValid(parseISO(value))));\n\nexport const valuesAreDateString = (values: any[]) =>\n values.every(isDateString);\n\nexport const isObject = (value: any) =>\n Object.prototype.toString.call(value) === '[object Object]';\nexport const valuesAreObject = (values: any[]) => values.every(isObject);\n","import * as React from 'react';\n\nimport getValuesFromRecords from './getValuesFromRecords';\nimport InferredElement from './InferredElement';\n\nimport {\n isObject,\n valuesAreArray,\n valuesAreBoolean,\n valuesAreDate,\n valuesAreDateString,\n valuesAreHtml,\n valuesAreInteger,\n valuesAreNumeric,\n valuesAreObject,\n valuesAreString,\n} from './assertions';\nimport { InferredTypeMap } from './types';\nimport { pluralize } from 'inflection';\n\nconst DefaultComponent = () => <span>;</span>;\nconst defaultType = {\n type: DefaultComponent,\n representation: () => '<DefaultComponent />',\n};\nconst defaultTypes = {\n array: defaultType,\n boolean: defaultType,\n date: defaultType,\n email: defaultType,\n id: defaultType,\n number: defaultType,\n reference: defaultType,\n referenceArray: defaultType,\n richText: defaultType,\n string: defaultType,\n url: defaultType,\n};\n\nconst hasType = (type, types) => typeof types[type] !== 'undefined';\n\n/**\n * Guesses an element based on an array of values\n *\n * @example\n * inferElementFromValues(\n * 'address',\n * ['2 Baker Street', '1 Downing street'],\n * { number: NumberField, string: StringField }\n * );\n * // new InferredElement(<StringField source=\"address\" />)\n *\n * Types are optional: if a type isn't provided, the function falls back\n * to the nearest type.\n *\n * @example\n * inferElementFromValues(\n * 'content',\n * ['<h1>Hello</h1>'],\n * { string: StringField } // no richText type\n * );\n * // new InferredElement(<StringField source=\"content\" />)\n *\n * Types can be disabled by passing a falsy value.\n *\n * @example\n * inferElementFromValues(\n * 'content',\n * ['<h1>Hello</h1>'],\n * { string: StringField, richText: false }\n * );\n * // null\n *\n * @param {string} name Property name, e.g. 'date_of_birth'\n * @param {any[]} values an array of values from which to determine the type, e.g. [12, 34.4, 43]\n * @param {Object} types A set of components indexed by type. The string type is the only required one\n *\n * @return InferredElement\n */\nconst inferElementFromValues = (\n name,\n values = [],\n types: InferredTypeMap = defaultTypes\n) => {\n if (name === 'id' && hasType('id', types)) {\n return new InferredElement(types.id, { source: name });\n }\n if (name.substr(name.length - 3) === '_id' && hasType('reference', types)) {\n const reference = pluralize(name.substr(0, name.length - 3));\n return (\n types.reference &&\n new InferredElement(types.reference, {\n source: name,\n reference,\n })\n );\n }\n if (name.substr(name.length - 2) === 'Id' && hasType('reference', types)) {\n const reference = pluralize(name.substr(0, name.length - 2));\n return (\n types.reference &&\n new InferredElement(types.reference, {\n source: name,\n reference,\n })\n );\n }\n if (\n name.substr(name.length - 4) === '_ids' &&\n hasType('referenceArray', types)\n ) {\n const reference = pluralize(name.substr(0, name.length - 4));\n return (\n types.referenceArray &&\n new InferredElement(types.referenceArray, {\n source: name,\n reference,\n })\n );\n }\n if (\n name.substr(name.length - 3) === 'Ids' &&\n hasType('referenceArray', types)\n ) {\n const reference = pluralize(name.substr(0, name.length - 3));\n return (\n types.referenceArray &&\n new InferredElement(types.referenceArray, {\n source: name,\n reference,\n })\n );\n }\n if (values.length === 0) {\n // FIXME introspect further using name\n return new InferredElement(types.string, { source: name });\n }\n if (valuesAreArray(values)) {\n if (isObject(values[0][0]) && hasType('array', types)) {\n const leafValues = getValuesFromRecords(\n values.reduce((acc, vals) => acc.concat(vals), [])\n );\n // FIXME bad visual representation\n return (\n types.array &&\n new InferredElement(\n types.array,\n {\n source: name,\n },\n Object.keys(leafValues).map(leafName =>\n inferElementFromValues(\n leafName,\n leafValues[leafName],\n types\n )\n )\n )\n );\n }\n // FIXME introspect further\n return new InferredElement(types.string, { source: name });\n }\n if (valuesAreBoolean(values) && hasType('boolean', types)) {\n return new InferredElement(types.boolean, { source: name });\n }\n if (valuesAreDate(values) && hasType('date', types)) {\n return new InferredElement(types.date, { source: name });\n }\n if (valuesAreString(values)) {\n if (name === 'email' && hasType('email', types)) {\n return new InferredElement(types.email, { source: name });\n }\n if (name === 'url' && hasType('url', types)) {\n return new InferredElement(types.url, { source: name });\n }\n if (valuesAreDateString(values) && hasType('date', types)) {\n return new InferredElement(types.date, { source: name });\n }\n if (valuesAreHtml(values) && hasType('richText', types)) {\n return new InferredElement(types.richText, { source: name });\n }\n return new InferredElement(types.string, { source: name });\n }\n if (\n (valuesAreInteger(values) || valuesAreNumeric(values)) &&\n hasType('number', types)\n ) {\n return new InferredElement(types.number, { source: name });\n }\n if (valuesAreObject(values)) {\n // we need to go deeper\n // Arbitrarily, choose the first prop of the first object\n const propName = Object.keys(values[0]).shift();\n if (!propName) {\n return new InferredElement(types.string, { source: name });\n }\n const leafValues = values.map(v => v[propName]);\n return inferElementFromValues(`${name}.${propName}`, leafValues, types);\n }\n return new InferredElement(types.string, { source: name });\n};\n\nexport default inferElementFromValues;\n","import inferElementFromValues from './inferElementFromValues';\nimport getValuesFromRecords from './getValuesFromRecords';\nimport { InferredTypeMap } from './types';\nimport InferredElement from './InferredElement';\n\n/**\n * Get a list of React-admin field components from a list of records\n *\n * @example\n * const records = [\n * {\n * \"id\": 1,\n * \"title\": \"Lorem Ipsum\",\n * \"views\": 254,\n * \"user_id\": 123,\n * },\n * {\n * \"id\": 2,\n * \"title\": \"Sic Dolor amet\",\n * \"user_id\": 456,\n * },\n * ];\n * const types = {\n * id: NumberField,\n * string: TextField,\n * number: NumberField,\n * reference: ReferenceField\n * };\n * const components = getElementsFromRecords(records, types);\n * // [\n * // <NumberField source=\"id\" />,\n * // <TextField source=\"title\" />,\n * // <NumberField source=\"views\" />,\n * // <ReferenceField source=\"user_id\" reference=\"users\"><NumberField source=\"id\" /></ReferenceField>,\n * // ];\n */\nexport default (records: any[], types: InferredTypeMap) => {\n const fieldValues = getValuesFromRecords(records);\n return Object.keys(fieldValues)\n .reduce(\n (fields, fieldName) =>\n fields.concat(\n inferElementFromValues(\n fieldName,\n fieldValues[fieldName],\n types\n )\n ),\n [] as InferredElement[]\n )\n .filter(inferredElement => inferredElement.isDefined());\n};\n","const common = {\n black: '#000',\n white: '#fff'\n};\nexport default common;","const red = {\n 50: '#ffebee',\n 100: '#ffcdd2',\n 200: '#ef9a9a',\n 300: '#e57373',\n 400: '#ef5350',\n 500: '#f44336',\n 600: '#e53935',\n 700: '#d32f2f',\n 800: '#c62828',\n 900: '#b71c1c',\n A100: '#ff8a80',\n A200: '#ff5252',\n A400: '#ff1744',\n A700: '#d50000'\n};\nexport default red;","const purple = {\n 50: '#f3e5f5',\n 100: '#e1bee7',\n 200: '#ce93d8',\n 300: '#ba68c8',\n 400: '#ab47bc',\n 500: '#9c27b0',\n 600: '#8e24aa',\n 700: '#7b1fa2',\n 800: '#6a1b9a',\n 900: '#4a148c',\n A100: '#ea80fc',\n A200: '#e040fb',\n A400: '#d500f9',\n A700: '#aa00ff'\n};\nexport default purple;","const blue = {\n 50: '#e3f2fd',\n 100: '#bbdefb',\n 200: '#90caf9',\n 300: '#64b5f6',\n 400: '#42a5f5',\n 500: '#2196f3',\n 600: '#1e88e5',\n 700: '#1976d2',\n 800: '#1565c0',\n 900: '#0d47a1',\n A100: '#82b1ff',\n A200: '#448aff',\n A400: '#2979ff',\n A700: '#2962ff'\n};\nexport default blue;","const lightBlue = {\n 50: '#e1f5fe',\n 100: '#b3e5fc',\n 200: '#81d4fa',\n 300: '#4fc3f7',\n 400: '#29b6f6',\n 500: '#03a9f4',\n 600: '#039be5',\n 700: '#0288d1',\n 800: '#0277bd',\n 900: '#01579b',\n A100: '#80d8ff',\n A200: '#40c4ff',\n A400: '#00b0ff',\n A700: '#0091ea'\n};\nexport default lightBlue;","const green = {\n 50: '#e8f5e9',\n 100: '#c8e6c9',\n 200: '#a5d6a7',\n 300: '#81c784',\n 400: '#66bb6a',\n 500: '#4caf50',\n 600: '#43a047',\n 700: '#388e3c',\n 800: '#2e7d32',\n 900: '#1b5e20',\n A100: '#b9f6ca',\n A200: '#69f0ae',\n A400: '#00e676',\n A700: '#00c853'\n};\nexport default green;","const orange = {\n 50: '#fff3e0',\n 100: '#ffe0b2',\n 200: '#ffcc80',\n 300: '#ffb74d',\n 400: '#ffa726',\n 500: '#ff9800',\n 600: '#fb8c00',\n 700: '#f57c00',\n 800: '#ef6c00',\n 900: '#e65100',\n A100: '#ffd180',\n A200: '#ffab40',\n A400: '#ff9100',\n A700: '#ff6d00'\n};\nexport default orange;","const grey = {\n 50: '#fafafa',\n 100: '#f5f5f5',\n 200: '#eeeeee',\n 300: '#e0e0e0',\n 400: '#bdbdbd',\n 500: '#9e9e9e',\n 600: '#757575',\n 700: '#616161',\n 800: '#424242',\n 900: '#212121',\n A100: '#f5f5f5',\n A200: '#eeeeee',\n A400: '#bdbdbd',\n A700: '#616161'\n};\nexport default grey;","/**\n * WARNING: Don't import this directly.\n * Use `MuiError` from `@mui/internal-babel-macros/MuiError.macro` instead.\n * @param {number} code\n */\nexport default function formatMuiErrorMessage(code) {\n // Apply babel-plugin-transform-template-literals in loose mode\n // loose mode is safe if we're concatenating primitives\n // see https://babeljs.io/docs/en/babel-plugin-transform-template-literals#loose\n /* eslint-disable prefer-template */\n let url = 'https://mui.com/production-error/?code=' + code;\n for (let i = 1; i < arguments.length; i += 1) {\n // rest params over-transpile for this case\n // eslint-disable-next-line prefer-rest-params\n url += '&args[]=' + encodeURIComponent(arguments[i]);\n }\n return 'Minified MUI error #' + code + '; visit ' + url + ' for the full message.';\n /* eslint-enable prefer-template */\n}","export default '$$material';","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","function memoize(fn) {\n var cache = Object.create(null);\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport default memoize;\n","import memoize from '@emotion/memoize';\n\nvar reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23\n\nvar isPropValid = /* #__PURE__ */memoize(function (prop) {\n return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111\n /* o */\n && prop.charCodeAt(1) === 110\n /* n */\n && prop.charCodeAt(2) < 91;\n}\n/* Z+1 */\n);\n\nexport default isPropValid;\n","/*\n\nBased off glamor's StyleSheet, thanks Sunil ❤️\n\nhigh performance StyleSheet for css-in-js systems\n\n- uses multiple style tags behind the scenes for millions of rules\n- uses `insertRule` for appending in production for *much* faster performance\n\n// usage\n\nimport { StyleSheet } from '@emotion/sheet'\n\nlet styleSheet = new StyleSheet({ key: '', container: document.head })\n\nstyleSheet.insert('#box { border: 1px solid red; }')\n- appends a css rule into the stylesheet\n\nstyleSheet.flush()\n- empties the stylesheet of all its contents\n\n*/\n// $FlowFixMe\nfunction sheetForTag(tag) {\n if (tag.sheet) {\n // $FlowFixMe\n return tag.sheet;\n } // this weirdness brought to you by firefox\n\n /* istanbul ignore next */\n\n\n for (var i = 0; i < document.styleSheets.length; i++) {\n if (document.styleSheets[i].ownerNode === tag) {\n // $FlowFixMe\n return document.styleSheets[i];\n }\n }\n}\n\nfunction createStyleElement(options) {\n var tag = document.createElement('style');\n tag.setAttribute('data-emotion', options.key);\n\n if (options.nonce !== undefined) {\n tag.setAttribute('nonce', options.nonce);\n }\n\n tag.appendChild(document.createTextNode(''));\n tag.setAttribute('data-s', '');\n return tag;\n}\n\nvar StyleSheet = /*#__PURE__*/function () {\n function StyleSheet(options) {\n var _this = this;\n\n this._insertTag = function (tag) {\n var before;\n\n if (_this.tags.length === 0) {\n if (_this.insertionPoint) {\n before = _this.insertionPoint.nextSibling;\n } else if (_this.prepend) {\n before = _this.container.firstChild;\n } else {\n before = _this.before;\n }\n } else {\n before = _this.tags[_this.tags.length - 1].nextSibling;\n }\n\n _this.container.insertBefore(tag, before);\n\n _this.tags.push(tag);\n };\n\n this.isSpeedy = options.speedy === undefined ? process.env.NODE_ENV === 'production' : options.speedy;\n this.tags = [];\n this.ctr = 0;\n this.nonce = options.nonce; // key is the value of the data-emotion attribute, it's used to identify different sheets\n\n this.key = options.key;\n this.container = options.container;\n this.prepend = options.prepend;\n this.insertionPoint = options.insertionPoint;\n this.before = null;\n }\n\n var _proto = StyleSheet.prototype;\n\n _proto.hydrate = function hydrate(nodes) {\n nodes.forEach(this._insertTag);\n };\n\n _proto.insert = function insert(rule) {\n // the max length is how many rules we have per style tag, it's 65000 in speedy mode\n // it's 1 in dev because we insert source maps that map a single rule to a location\n // and you can only have one source map per style tag\n if (this.ctr % (this.isSpeedy ? 65000 : 1) === 0) {\n this._insertTag(createStyleElement(this));\n }\n\n var tag = this.tags[this.tags.length - 1];\n\n if (process.env.NODE_ENV !== 'production') {\n var isImportRule = rule.charCodeAt(0) === 64 && rule.charCodeAt(1) === 105;\n\n if (isImportRule && this._alreadyInsertedOrderInsensitiveRule) {\n // this would only cause problem in speedy mode\n // but we don't want enabling speedy to affect the observable behavior\n // so we report this error at all times\n console.error(\"You're attempting to insert the following rule:\\n\" + rule + '\\n\\n`@import` rules must be before all other types of rules in a stylesheet but other rules have already been inserted. Please ensure that `@import` rules are before all other rules.');\n }\n this._alreadyInsertedOrderInsensitiveRule = this._alreadyInsertedOrderInsensitiveRule || !isImportRule;\n }\n\n if (this.isSpeedy) {\n var sheet = sheetForTag(tag);\n\n try {\n // this is the ultrafast version, works across browsers\n // the big drawback is that the css won't be editable in devtools\n sheet.insertRule(rule, sheet.cssRules.length);\n } catch (e) {\n if (process.env.NODE_ENV !== 'production' && !/:(-moz-placeholder|-moz-focus-inner|-moz-focusring|-ms-input-placeholder|-moz-read-write|-moz-read-only|-ms-clear){/.test(rule)) {\n console.error(\"There was a problem inserting the following rule: \\\"\" + rule + \"\\\"\", e);\n }\n }\n } else {\n tag.appendChild(document.createTextNode(rule));\n }\n\n this.ctr++;\n };\n\n _proto.flush = function flush() {\n // $FlowFixMe\n this.tags.forEach(function (tag) {\n return tag.parentNode && tag.parentNode.removeChild(tag);\n });\n this.tags = [];\n this.ctr = 0;\n\n if (process.env.NODE_ENV !== 'production') {\n this._alreadyInsertedOrderInsensitiveRule = false;\n }\n };\n\n return StyleSheet;\n}();\n\nexport { StyleSheet };\n","export var MS = '-ms-'\nexport var MOZ = '-moz-'\nexport var WEBKIT = '-webkit-'\n\nexport var COMMENT = 'comm'\nexport var RULESET = 'rule'\nexport var DECLARATION = 'decl'\n\nexport var PAGE = '@page'\nexport var MEDIA = '@media'\nexport var IMPORT = '@import'\nexport var CHARSET = '@charset'\nexport var VIEWPORT = '@viewport'\nexport var SUPPORTS = '@supports'\nexport var DOCUMENT = '@document'\nexport var NAMESPACE = '@namespace'\nexport var KEYFRAMES = '@keyframes'\nexport var FONT_FACE = '@font-face'\nexport var COUNTER_STYLE = '@counter-style'\nexport var FONT_FEATURE_VALUES = '@font-feature-values'\n","/**\n * @param {number}\n * @return {number}\n */\nexport var abs = Math.abs\n\n/**\n * @param {number}\n * @return {string}\n */\nexport var from = String.fromCharCode\n\n/**\n * @param {object}\n * @return {object}\n */\nexport var assign = Object.assign\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {number}\n */\nexport function hash (value, length) {\n\treturn (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3)\n}\n\n/**\n * @param {string} value\n * @return {string}\n */\nexport function trim (value) {\n\treturn value.trim()\n}\n\n/**\n * @param {string} value\n * @param {RegExp} pattern\n * @return {string?}\n */\nexport function match (value, pattern) {\n\treturn (value = pattern.exec(value)) ? value[0] : value\n}\n\n/**\n * @param {string} value\n * @param {(string|RegExp)} pattern\n * @param {string} replacement\n * @return {string}\n */\nexport function replace (value, pattern, replacement) {\n\treturn value.replace(pattern, replacement)\n}\n\n/**\n * @param {string} value\n * @param {string} search\n * @return {number}\n */\nexport function indexof (value, search) {\n\treturn value.indexOf(search)\n}\n\n/**\n * @param {string} value\n * @param {number} index\n * @return {number}\n */\nexport function charat (value, index) {\n\treturn value.charCodeAt(index) | 0\n}\n\n/**\n * @param {string} value\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function substr (value, begin, end) {\n\treturn value.slice(begin, end)\n}\n\n/**\n * @param {string} value\n * @return {number}\n */\nexport function strlen (value) {\n\treturn value.length\n}\n\n/**\n * @param {any[]} value\n * @return {number}\n */\nexport function sizeof (value) {\n\treturn value.length\n}\n\n/**\n * @param {any} value\n * @param {any[]} array\n * @return {any}\n */\nexport function append (value, array) {\n\treturn array.push(value), value\n}\n\n/**\n * @param {string[]} array\n * @param {function} callback\n * @return {string}\n */\nexport function combine (array, callback) {\n\treturn array.map(callback).join('')\n}\n","import {from, trim, charat, strlen, substr, append, assign} from './Utility.js'\n\nexport var line = 1\nexport var column = 1\nexport var length = 0\nexport var position = 0\nexport var character = 0\nexport var characters = ''\n\n/**\n * @param {string} value\n * @param {object | null} root\n * @param {object | null} parent\n * @param {string} type\n * @param {string[] | string} props\n * @param {object[] | string} children\n * @param {number} length\n */\nexport function node (value, root, parent, type, props, children, length) {\n\treturn {value: value, root: root, parent: parent, type: type, props: props, children: children, line: line, column: column, length: length, return: ''}\n}\n\n/**\n * @param {object} root\n * @param {object} props\n * @return {object}\n */\nexport function copy (root, props) {\n\treturn assign(node('', null, null, '', null, null, 0), root, {length: -root.length}, props)\n}\n\n/**\n * @return {number}\n */\nexport function char () {\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function prev () {\n\tcharacter = position > 0 ? charat(characters, --position) : 0\n\n\tif (column--, character === 10)\n\t\tcolumn = 1, line--\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function next () {\n\tcharacter = position < length ? charat(characters, position++) : 0\n\n\tif (column++, character === 10)\n\t\tcolumn = 1, line++\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function peek () {\n\treturn charat(characters, position)\n}\n\n/**\n * @return {number}\n */\nexport function caret () {\n\treturn position\n}\n\n/**\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function slice (begin, end) {\n\treturn substr(characters, begin, end)\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function token (type) {\n\tswitch (type) {\n\t\t// \\0 \\t \\n \\r \\s whitespace token\n\t\tcase 0: case 9: case 10: case 13: case 32:\n\t\t\treturn 5\n\t\t// ! + , / > @ ~ isolate token\n\t\tcase 33: case 43: case 44: case 47: case 62: case 64: case 126:\n\t\t// ; { } breakpoint token\n\t\tcase 59: case 123: case 125:\n\t\t\treturn 4\n\t\t// : accompanied token\n\t\tcase 58:\n\t\t\treturn 3\n\t\t// \" ' ( [ opening delimit token\n\t\tcase 34: case 39: case 40: case 91:\n\t\t\treturn 2\n\t\t// ) ] closing delimit token\n\t\tcase 41: case 93:\n\t\t\treturn 1\n\t}\n\n\treturn 0\n}\n\n/**\n * @param {string} value\n * @return {any[]}\n */\nexport function alloc (value) {\n\treturn line = column = 1, length = strlen(characters = value), position = 0, []\n}\n\n/**\n * @param {any} value\n * @return {any}\n */\nexport function dealloc (value) {\n\treturn characters = '', value\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function delimit (type) {\n\treturn trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)))\n}\n\n/**\n * @param {string} value\n * @return {string[]}\n */\nexport function tokenize (value) {\n\treturn dealloc(tokenizer(alloc(value)))\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function whitespace (type) {\n\twhile (character = peek())\n\t\tif (character < 33)\n\t\t\tnext()\n\t\telse\n\t\t\tbreak\n\n\treturn token(type) > 2 || token(character) > 3 ? '' : ' '\n}\n\n/**\n * @param {string[]} children\n * @return {string[]}\n */\nexport function tokenizer (children) {\n\twhile (next())\n\t\tswitch (token(character)) {\n\t\t\tcase 0: append(identifier(position - 1), children)\n\t\t\t\tbreak\n\t\t\tcase 2: append(delimit(character), children)\n\t\t\t\tbreak\n\t\t\tdefault: append(from(character), children)\n\t\t}\n\n\treturn children\n}\n\n/**\n * @param {number} index\n * @param {number} count\n * @return {string}\n */\nexport function escaping (index, count) {\n\twhile (--count && next())\n\t\t// not 0-9 A-F a-f\n\t\tif (character < 48 || character > 102 || (character > 57 && character < 65) || (character > 70 && character < 97))\n\t\t\tbreak\n\n\treturn slice(index, caret() + (count < 6 && peek() == 32 && next() == 32))\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function delimiter (type) {\n\twhile (next())\n\t\tswitch (character) {\n\t\t\t// ] ) \" '\n\t\t\tcase type:\n\t\t\t\treturn position\n\t\t\t// \" '\n\t\t\tcase 34: case 39:\n\t\t\t\tif (type !== 34 && type !== 39)\n\t\t\t\t\tdelimiter(character)\n\t\t\t\tbreak\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (type === 41)\n\t\t\t\t\tdelimiter(type)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tnext()\n\t\t\t\tbreak\n\t\t}\n\n\treturn position\n}\n\n/**\n * @param {number} type\n * @param {number} index\n * @return {number}\n */\nexport function commenter (type, index) {\n\twhile (next())\n\t\t// //\n\t\tif (type + character === 47 + 10)\n\t\t\tbreak\n\t\t// /*\n\t\telse if (type + character === 42 + 42 && peek() === 47)\n\t\t\tbreak\n\n\treturn '/*' + slice(index, position - 1) + '*' + from(type === 47 ? type : next())\n}\n\n/**\n * @param {number} index\n * @return {string}\n */\nexport function identifier (index) {\n\twhile (!token(peek()))\n\t\tnext()\n\n\treturn slice(index, position)\n}\n","import {COMMENT, RULESET, DECLARATION} from './Enum.js'\nimport {abs, trim, from, sizeof, strlen, substr, append, replace, indexof} from './Utility.js'\nimport {node, char, prev, next, peek, caret, alloc, dealloc, delimit, whitespace, escaping, identifier, commenter} from './Tokenizer.js'\n\n/**\n * @param {string} value\n * @return {object[]}\n */\nexport function compile (value) {\n\treturn dealloc(parse('', null, null, null, [''], value = alloc(value), 0, [0], value))\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {string[]} rule\n * @param {string[]} rules\n * @param {string[]} rulesets\n * @param {number[]} pseudo\n * @param {number[]} points\n * @param {string[]} declarations\n * @return {object}\n */\nexport function parse (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {\n\tvar index = 0\n\tvar offset = 0\n\tvar length = pseudo\n\tvar atrule = 0\n\tvar property = 0\n\tvar previous = 0\n\tvar variable = 1\n\tvar scanning = 1\n\tvar ampersand = 1\n\tvar character = 0\n\tvar type = ''\n\tvar props = rules\n\tvar children = rulesets\n\tvar reference = rule\n\tvar characters = type\n\n\twhile (scanning)\n\t\tswitch (previous = character, character = next()) {\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (previous != 108 && characters.charCodeAt(length - 1) == 58) {\n\t\t\t\t\tif (indexof(characters += replace(delimit(character), '&', '&\\f'), '&\\f') != -1)\n\t\t\t\t\t\tampersand = -1\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t// \" ' [\n\t\t\tcase 34: case 39: case 91:\n\t\t\t\tcharacters += delimit(character)\n\t\t\t\tbreak\n\t\t\t// \\t \\n \\r \\s\n\t\t\tcase 9: case 10: case 13: case 32:\n\t\t\t\tcharacters += whitespace(previous)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tcharacters += escaping(caret() - 1, 7)\n\t\t\t\tcontinue\n\t\t\t// /\n\t\t\tcase 47:\n\t\t\t\tswitch (peek()) {\n\t\t\t\t\tcase 42: case 47:\n\t\t\t\t\t\tappend(comment(commenter(next(), caret()), root, parent), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcharacters += '/'\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t// {\n\t\t\tcase 123 * variable:\n\t\t\t\tpoints[index++] = strlen(characters) * ampersand\n\t\t\t// } ; \\0\n\t\t\tcase 125 * variable: case 59: case 0:\n\t\t\t\tswitch (character) {\n\t\t\t\t\t// \\0 }\n\t\t\t\t\tcase 0: case 125: scanning = 0\n\t\t\t\t\t// ;\n\t\t\t\t\tcase 59 + offset:\n\t\t\t\t\t\tif (property > 0 && (strlen(characters) - length))\n\t\t\t\t\t\t\tappend(property > 32 ? declaration(characters + ';', rule, parent, length - 1) : declaration(replace(characters, ' ', '') + ';', rule, parent, length - 2), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @ ;\n\t\t\t\t\tcase 59: characters += ';'\n\t\t\t\t\t// { rule/at-rule\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tappend(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length), rulesets)\n\n\t\t\t\t\t\tif (character === 123)\n\t\t\t\t\t\t\tif (offset === 0)\n\t\t\t\t\t\t\t\tparse(characters, root, reference, reference, props, rulesets, length, points, children)\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tswitch (atrule) {\n\t\t\t\t\t\t\t\t\t// d m s\n\t\t\t\t\t\t\t\t\tcase 100: case 109: case 115:\n\t\t\t\t\t\t\t\t\t\tparse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length), children), rules, children, length, points, rule ? props : children)\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\tparse(characters, reference, reference, reference, [''], children, 0, points, children)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tindex = offset = property = 0, variable = ampersand = 1, type = characters = '', length = pseudo\n\t\t\t\tbreak\n\t\t\t// :\n\t\t\tcase 58:\n\t\t\t\tlength = 1 + strlen(characters), property = previous\n\t\t\tdefault:\n\t\t\t\tif (variable < 1)\n\t\t\t\t\tif (character == 123)\n\t\t\t\t\t\t--variable\n\t\t\t\t\telse if (character == 125 && variable++ == 0 && prev() == 125)\n\t\t\t\t\t\tcontinue\n\n\t\t\t\tswitch (characters += from(character), character * variable) {\n\t\t\t\t\t// &\n\t\t\t\t\tcase 38:\n\t\t\t\t\t\tampersand = offset > 0 ? 1 : (characters += '\\f', -1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// ,\n\t\t\t\t\tcase 44:\n\t\t\t\t\t\tpoints[index++] = (strlen(characters) - 1) * ampersand, ampersand = 1\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @\n\t\t\t\t\tcase 64:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (peek() === 45)\n\t\t\t\t\t\t\tcharacters += delimit(next())\n\n\t\t\t\t\t\tatrule = peek(), offset = length = strlen(type = characters += identifier(caret())), character++\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// -\n\t\t\t\t\tcase 45:\n\t\t\t\t\t\tif (previous === 45 && strlen(characters) == 2)\n\t\t\t\t\t\t\tvariable = 0\n\t\t\t\t}\n\t\t}\n\n\treturn rulesets\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} index\n * @param {number} offset\n * @param {string[]} rules\n * @param {number[]} points\n * @param {string} type\n * @param {string[]} props\n * @param {string[]} children\n * @param {number} length\n * @return {object}\n */\nexport function ruleset (value, root, parent, index, offset, rules, points, type, props, children, length) {\n\tvar post = offset - 1\n\tvar rule = offset === 0 ? rules : ['']\n\tvar size = sizeof(rule)\n\n\tfor (var i = 0, j = 0, k = 0; i < index; ++i)\n\t\tfor (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x)\n\t\t\tif (z = trim(j > 0 ? rule[x] + ' ' + y : replace(y, /&\\f/g, rule[x])))\n\t\t\t\tprops[k++] = z\n\n\treturn node(value, root, parent, offset === 0 ? RULESET : type, props, children, length)\n}\n\n/**\n * @param {number} value\n * @param {object} root\n * @param {object?} parent\n * @return {object}\n */\nexport function comment (value, root, parent) {\n\treturn node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0)\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} length\n * @return {object}\n */\nexport function declaration (value, root, parent, length) {\n\treturn node(value, root, parent, DECLARATION, substr(value, 0, length), substr(value, length + 1, -1), length)\n}\n","import {MS, MOZ, WEBKIT} from './Enum.js'\nimport {hash, charat, strlen, indexof, replace} from './Utility.js'\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {string}\n */\nexport function prefix (value, length) {\n\tswitch (hash(value, length)) {\n\t\t// color-adjust\n\t\tcase 5103:\n\t\t\treturn WEBKIT + 'print-' + value + value\n\t\t// animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)\n\t\tcase 5737: case 4201: case 3177: case 3433: case 1641: case 4457: case 2921:\n\t\t// text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break\n\t\tcase 5572: case 6356: case 5844: case 3191: case 6645: case 3005:\n\t\t// mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite,\n\t\tcase 6391: case 5879: case 5623: case 6135: case 4599: case 4855:\n\t\t// background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)\n\t\tcase 4215: case 6389: case 5109: case 5365: case 5621: case 3829:\n\t\t\treturn WEBKIT + value + value\n\t\t// appearance, user-select, transform, hyphens, text-size-adjust\n\t\tcase 5349: case 4246: case 4810: case 6968: case 2756:\n\t\t\treturn WEBKIT + value + MOZ + value + MS + value + value\n\t\t// flex, flex-direction\n\t\tcase 6828: case 4268:\n\t\t\treturn WEBKIT + value + MS + value + value\n\t\t// order\n\t\tcase 6165:\n\t\t\treturn WEBKIT + value + MS + 'flex-' + value + value\n\t\t// align-items\n\t\tcase 5187:\n\t\t\treturn WEBKIT + value + replace(value, /(\\w+).+(:[^]+)/, WEBKIT + 'box-$1$2' + MS + 'flex-$1$2') + value\n\t\t// align-self\n\t\tcase 5443:\n\t\t\treturn WEBKIT + value + MS + 'flex-item-' + replace(value, /flex-|-self/, '') + value\n\t\t// align-content\n\t\tcase 4675:\n\t\t\treturn WEBKIT + value + MS + 'flex-line-pack' + replace(value, /align-content|flex-|-self/, '') + value\n\t\t// flex-shrink\n\t\tcase 5548:\n\t\t\treturn WEBKIT + value + MS + replace(value, 'shrink', 'negative') + value\n\t\t// flex-basis\n\t\tcase 5292:\n\t\t\treturn WEBKIT + value + MS + replace(value, 'basis', 'preferred-size') + value\n\t\t// flex-grow\n\t\tcase 6060:\n\t\t\treturn WEBKIT + 'box-' + replace(value, '-grow', '') + WEBKIT + value + MS + replace(value, 'grow', 'positive') + value\n\t\t// transition\n\t\tcase 4554:\n\t\t\treturn WEBKIT + replace(value, /([^-])(transform)/g, '$1' + WEBKIT + '$2') + value\n\t\t// cursor\n\t\tcase 6187:\n\t\t\treturn replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + '$1'), /(image-set)/, WEBKIT + '$1'), value, '') + value\n\t\t// background, background-image\n\t\tcase 5495: case 3959:\n\t\t\treturn replace(value, /(image-set\\([^]*)/, WEBKIT + '$1' + '$`$1')\n\t\t// justify-content\n\t\tcase 4968:\n\t\t\treturn replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + 'box-pack:$3' + MS + 'flex-pack:$3'), /s.+-b[^;]+/, 'justify') + WEBKIT + value + value\n\t\t// (margin|padding)-inline-(start|end)\n\t\tcase 4095: case 3583: case 4068: case 2532:\n\t\t\treturn replace(value, /(.+)-inline(.+)/, WEBKIT + '$1$2') + value\n\t\t// (min|max)?(width|height|inline-size|block-size)\n\t\tcase 8116: case 7059: case 5753: case 5535:\n\t\tcase 5445: case 5701: case 4933: case 4677:\n\t\tcase 5533: case 5789: case 5021: case 4765:\n\t\t\t// stretch, max-content, min-content, fill-available\n\t\t\tif (strlen(value) - 1 - length > 6)\n\t\t\t\tswitch (charat(value, length + 1)) {\n\t\t\t\t\t// (m)ax-content, (m)in-content\n\t\t\t\t\tcase 109:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (charat(value, length + 4) !== 45)\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t// (f)ill-available, (f)it-content\n\t\t\t\t\tcase 102:\n\t\t\t\t\t\treturn replace(value, /(.+:)(.+)-([^]+)/, '$1' + WEBKIT + '$2-$3' + '$1' + MOZ + (charat(value, length + 3) == 108 ? '$3' : '$2-$3')) + value\n\t\t\t\t\t// (s)tretch\n\t\t\t\t\tcase 115:\n\t\t\t\t\t\treturn ~indexof(value, 'stretch') ? prefix(replace(value, 'stretch', 'fill-available'), length) + value : value\n\t\t\t\t}\n\t\t\tbreak\n\t\t// position: sticky\n\t\tcase 4949:\n\t\t\t// (s)ticky?\n\t\t\tif (charat(value, length + 1) !== 115)\n\t\t\t\tbreak\n\t\t// display: (flex|inline-flex)\n\t\tcase 6444:\n\t\t\tswitch (charat(value, strlen(value) - 3 - (~indexof(value, '!important') && 10))) {\n\t\t\t\t// stic(k)y\n\t\t\t\tcase 107:\n\t\t\t\t\treturn replace(value, ':', ':' + WEBKIT) + value\n\t\t\t\t// (inline-)?fl(e)x\n\t\t\t\tcase 101:\n\t\t\t\t\treturn replace(value, /(.+:)([^;!]+)(;|!.+)?/, '$1' + WEBKIT + (charat(value, 14) === 45 ? 'inline-' : '') + 'box$3' + '$1' + WEBKIT + '$2$3' + '$1' + MS + '$2box$3') + value\n\t\t\t}\n\t\t\tbreak\n\t\t// writing-mode\n\t\tcase 5936:\n\t\t\tswitch (charat(value, length + 11)) {\n\t\t\t\t// vertical-l(r)\n\t\t\t\tcase 114:\n\t\t\t\t\treturn WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb') + value\n\t\t\t\t// vertical-r(l)\n\t\t\t\tcase 108:\n\t\t\t\t\treturn WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb-rl') + value\n\t\t\t\t// horizontal(-)tb\n\t\t\t\tcase 45:\n\t\t\t\t\treturn WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'lr') + value\n\t\t\t}\n\n\t\t\treturn WEBKIT + value + MS + value + value\n\t}\n\n\treturn value\n}\n","import {IMPORT, COMMENT, RULESET, DECLARATION, KEYFRAMES} from './Enum.js'\nimport {strlen, sizeof} from './Utility.js'\n\n/**\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function serialize (children, callback) {\n\tvar output = ''\n\tvar length = sizeof(children)\n\n\tfor (var i = 0; i < length; i++)\n\t\toutput += callback(children[i], i, children, callback) || ''\n\n\treturn output\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function stringify (element, index, children, callback) {\n\tswitch (element.type) {\n\t\tcase IMPORT: case DECLARATION: return element.return = element.return || element.value\n\t\tcase COMMENT: return ''\n\t\tcase KEYFRAMES: return element.return = element.value + '{' + serialize(element.children, callback) + '}'\n\t\tcase RULESET: element.value = element.props.join(',')\n\t}\n\n\treturn strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : ''\n}\n","import {MS, MOZ, WEBKIT, RULESET, KEYFRAMES, DECLARATION} from './Enum.js'\nimport {match, charat, substr, strlen, sizeof, replace, combine} from './Utility.js'\nimport {copy, tokenize} from './Tokenizer.js'\nimport {serialize} from './Serializer.js'\nimport {prefix} from './Prefixer.js'\n\n/**\n * @param {function[]} collection\n * @return {function}\n */\nexport function middleware (collection) {\n\tvar length = sizeof(collection)\n\n\treturn function (element, index, children, callback) {\n\t\tvar output = ''\n\n\t\tfor (var i = 0; i < length; i++)\n\t\t\toutput += collection[i](element, index, children, callback) || ''\n\n\t\treturn output\n\t}\n}\n\n/**\n * @param {function} callback\n * @return {function}\n */\nexport function rulesheet (callback) {\n\treturn function (element) {\n\t\tif (!element.root)\n\t\t\tif (element = element.return)\n\t\t\t\tcallback(element)\n\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n */\nexport function prefixer (element, index, children, callback) {\n\tif (element.length > -1)\n\t\tif (!element.return)\n\t\t\tswitch (element.type) {\n\t\t\t\tcase DECLARATION: element.return = prefix(element.value, element.length)\n\t\t\t\t\tbreak\n\t\t\t\tcase KEYFRAMES:\n\t\t\t\t\treturn serialize([copy(element, {value: replace(element.value, '@', '@' + WEBKIT)})], callback)\n\t\t\t\tcase RULESET:\n\t\t\t\t\tif (element.length)\n\t\t\t\t\t\treturn combine(element.props, function (value) {\n\t\t\t\t\t\t\tswitch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n\t\t\t\t\t\t\t\t// :read-(only|write)\n\t\t\t\t\t\t\t\tcase ':read-only': case ':read-write':\n\t\t\t\t\t\t\t\t\treturn serialize([copy(element, {props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]})], callback)\n\t\t\t\t\t\t\t\t// :placeholder\n\t\t\t\t\t\t\t\tcase '::placeholder':\n\t\t\t\t\t\t\t\t\treturn serialize([\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]})\n\t\t\t\t\t\t\t\t\t], callback)\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn ''\n\t\t\t\t\t\t})\n\t\t\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n */\nexport function namespace (element) {\n\tswitch (element.type) {\n\t\tcase RULESET:\n\t\t\telement.props = element.props.map(function (value) {\n\t\t\t\treturn combine(tokenize(value), function (value, index, children) {\n\t\t\t\t\tswitch (charat(value, 0)) {\n\t\t\t\t\t\t// \\f\n\t\t\t\t\t\tcase 12:\n\t\t\t\t\t\t\treturn substr(value, 1, strlen(value))\n\t\t\t\t\t\t// \\0 ( + > ~\n\t\t\t\t\t\tcase 0: case 40: case 43: case 62: case 126:\n\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t// :\n\t\t\t\t\t\tcase 58:\n\t\t\t\t\t\t\tif (children[++index] === 'global')\n\t\t\t\t\t\t\t\tchildren[index] = '', children[++index] = '\\f' + substr(children[index], index = 1, -1)\n\t\t\t\t\t\t// \\s\n\t\t\t\t\t\tcase 32:\n\t\t\t\t\t\t\treturn index === 1 ? '' : value\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tswitch (index) {\n\t\t\t\t\t\t\t\tcase 0: element = value\n\t\t\t\t\t\t\t\t\treturn sizeof(children) > 1 ? '' : value\n\t\t\t\t\t\t\t\tcase index = sizeof(children) - 1: case 2:\n\t\t\t\t\t\t\t\t\treturn index === 2 ? value + element + element : value + element\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t})\n\t}\n}\n","import { StyleSheet } from '@emotion/sheet';\nimport { dealloc, alloc, next, token, from, peek, delimit, slice, position, stringify, COMMENT, rulesheet, middleware, prefixer, serialize, compile } from 'stylis';\nimport '@emotion/weak-memoize';\nimport '@emotion/memoize';\n\nvar last = function last(arr) {\n return arr.length ? arr[arr.length - 1] : null;\n}; // based on https://github.com/thysultan/stylis.js/blob/e6843c373ebcbbfade25ebcc23f540ed8508da0a/src/Tokenizer.js#L239-L244\n\n\nvar identifierWithPointTracking = function identifierWithPointTracking(begin, points, index) {\n var previous = 0;\n var character = 0;\n\n while (true) {\n previous = character;\n character = peek(); // &\\f\n\n if (previous === 38 && character === 12) {\n points[index] = 1;\n }\n\n if (token(character)) {\n break;\n }\n\n next();\n }\n\n return slice(begin, position);\n};\n\nvar toRules = function toRules(parsed, points) {\n // pretend we've started with a comma\n var index = -1;\n var character = 44;\n\n do {\n switch (token(character)) {\n case 0:\n // &\\f\n if (character === 38 && peek() === 12) {\n // this is not 100% correct, we don't account for literal sequences here - like for example quoted strings\n // stylis inserts \\f after & to know when & where it should replace this sequence with the context selector\n // and when it should just concatenate the outer and inner selectors\n // it's very unlikely for this sequence to actually appear in a different context, so we just leverage this fact here\n points[index] = 1;\n }\n\n parsed[index] += identifierWithPointTracking(position - 1, points, index);\n break;\n\n case 2:\n parsed[index] += delimit(character);\n break;\n\n case 4:\n // comma\n if (character === 44) {\n // colon\n parsed[++index] = peek() === 58 ? '&\\f' : '';\n points[index] = parsed[index].length;\n break;\n }\n\n // fallthrough\n\n default:\n parsed[index] += from(character);\n }\n } while (character = next());\n\n return parsed;\n};\n\nvar getRules = function getRules(value, points) {\n return dealloc(toRules(alloc(value), points));\n}; // WeakSet would be more appropriate, but only WeakMap is supported in IE11\n\n\nvar fixedElements = /* #__PURE__ */new WeakMap();\nvar compat = function compat(element) {\n if (element.type !== 'rule' || !element.parent || // positive .length indicates that this rule contains pseudo\n // negative .length indicates that this rule has been already prefixed\n element.length < 1) {\n return;\n }\n\n var value = element.value,\n parent = element.parent;\n var isImplicitRule = element.column === parent.column && element.line === parent.line;\n\n while (parent.type !== 'rule') {\n parent = parent.parent;\n if (!parent) return;\n } // short-circuit for the simplest case\n\n\n if (element.props.length === 1 && value.charCodeAt(0) !== 58\n /* colon */\n && !fixedElements.get(parent)) {\n return;\n } // if this is an implicitly inserted rule (the one eagerly inserted at the each new nested level)\n // then the props has already been manipulated beforehand as they that array is shared between it and its \"rule parent\"\n\n\n if (isImplicitRule) {\n return;\n }\n\n fixedElements.set(element, true);\n var points = [];\n var rules = getRules(value, points);\n var parentRules = parent.props;\n\n for (var i = 0, k = 0; i < rules.length; i++) {\n for (var j = 0; j < parentRules.length; j++, k++) {\n element.props[k] = points[i] ? rules[i].replace(/&\\f/g, parentRules[j]) : parentRules[j] + \" \" + rules[i];\n }\n }\n};\nvar removeLabel = function removeLabel(element) {\n if (element.type === 'decl') {\n var value = element.value;\n\n if ( // charcode for l\n value.charCodeAt(0) === 108 && // charcode for b\n value.charCodeAt(2) === 98) {\n // this ignores label\n element[\"return\"] = '';\n element.value = '';\n }\n }\n};\nvar ignoreFlag = 'emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason';\n\nvar isIgnoringComment = function isIgnoringComment(element) {\n return !!element && element.type === 'comm' && element.children.indexOf(ignoreFlag) > -1;\n};\n\nvar createUnsafeSelectorsAlarm = function createUnsafeSelectorsAlarm(cache) {\n return function (element, index, children) {\n if (element.type !== 'rule') return;\n var unsafePseudoClasses = element.value.match(/(:first|:nth|:nth-last)-child/g);\n\n if (unsafePseudoClasses && cache.compat !== true) {\n var prevElement = index > 0 ? children[index - 1] : null;\n\n if (prevElement && isIgnoringComment(last(prevElement.children))) {\n return;\n }\n\n unsafePseudoClasses.forEach(function (unsafePseudoClass) {\n console.error(\"The pseudo class \\\"\" + unsafePseudoClass + \"\\\" is potentially unsafe when doing server-side rendering. Try changing it to \\\"\" + unsafePseudoClass.split('-child')[0] + \"-of-type\\\".\");\n });\n }\n };\n};\n\nvar isImportRule = function isImportRule(element) {\n return element.type.charCodeAt(1) === 105 && element.type.charCodeAt(0) === 64;\n};\n\nvar isPrependedWithRegularRules = function isPrependedWithRegularRules(index, children) {\n for (var i = index - 1; i >= 0; i--) {\n if (!isImportRule(children[i])) {\n return true;\n }\n }\n\n return false;\n}; // use this to remove incorrect elements from further processing\n// so they don't get handed to the `sheet` (or anything else)\n// as that could potentially lead to additional logs which in turn could be overhelming to the user\n\n\nvar nullifyElement = function nullifyElement(element) {\n element.type = '';\n element.value = '';\n element[\"return\"] = '';\n element.children = '';\n element.props = '';\n};\n\nvar incorrectImportAlarm = function incorrectImportAlarm(element, index, children) {\n if (!isImportRule(element)) {\n return;\n }\n\n if (element.parent) {\n console.error(\"`@import` rules can't be nested inside other rules. Please move it to the top level and put it before regular rules. Keep in mind that they can only be used within global styles.\");\n nullifyElement(element);\n } else if (isPrependedWithRegularRules(index, children)) {\n console.error(\"`@import` rules can't be after other rules. Please put your `@import` rules before your other rules.\");\n nullifyElement(element);\n }\n};\n\nvar defaultStylisPlugins = [prefixer];\n\nvar createCache = function createCache(options) {\n var key = options.key;\n\n if (process.env.NODE_ENV !== 'production' && !key) {\n throw new Error(\"You have to configure `key` for your cache. Please make sure it's unique (and not equal to 'css') as it's used for linking styles to your cache.\\n\" + \"If multiple caches share the same key they might \\\"fight\\\" for each other's style elements.\");\n }\n\n if ( key === 'css') {\n var ssrStyles = document.querySelectorAll(\"style[data-emotion]:not([data-s])\"); // get SSRed styles out of the way of React's hydration\n // document.head is a safe place to move them to(though note document.head is not necessarily the last place they will be)\n // note this very very intentionally targets all style elements regardless of the key to ensure\n // that creating a cache works inside of render of a React component\n\n Array.prototype.forEach.call(ssrStyles, function (node) {\n // we want to only move elements which have a space in the data-emotion attribute value\n // because that indicates that it is an Emotion 11 server-side rendered style elements\n // while we will already ignore Emotion 11 client-side inserted styles because of the :not([data-s]) part in the selector\n // Emotion 10 client-side inserted styles did not have data-s (but importantly did not have a space in their data-emotion attributes)\n // so checking for the space ensures that loading Emotion 11 after Emotion 10 has inserted some styles\n // will not result in the Emotion 10 styles being destroyed\n var dataEmotionAttribute = node.getAttribute('data-emotion');\n\n if (dataEmotionAttribute.indexOf(' ') === -1) {\n return;\n }\n document.head.appendChild(node);\n node.setAttribute('data-s', '');\n });\n }\n\n var stylisPlugins = options.stylisPlugins || defaultStylisPlugins;\n\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe\n if (/[^a-z-]/.test(key)) {\n throw new Error(\"Emotion key must only contain lower case alphabetical characters and - but \\\"\" + key + \"\\\" was passed\");\n }\n }\n\n var inserted = {}; // $FlowFixMe\n\n var container;\n var nodesToHydrate = [];\n\n {\n container = options.container || document.head;\n Array.prototype.forEach.call( // this means we will ignore elements which don't have a space in them which\n // means that the style elements we're looking at are only Emotion 11 server-rendered style elements\n document.querySelectorAll(\"style[data-emotion^=\\\"\" + key + \" \\\"]\"), function (node) {\n var attrib = node.getAttribute(\"data-emotion\").split(' '); // $FlowFixMe\n\n for (var i = 1; i < attrib.length; i++) {\n inserted[attrib[i]] = true;\n }\n\n nodesToHydrate.push(node);\n });\n }\n\n var _insert;\n\n var omnipresentPlugins = [compat, removeLabel];\n\n if (process.env.NODE_ENV !== 'production') {\n omnipresentPlugins.push(createUnsafeSelectorsAlarm({\n get compat() {\n return cache.compat;\n }\n\n }), incorrectImportAlarm);\n }\n\n {\n var currentSheet;\n var finalizingPlugins = [stringify, process.env.NODE_ENV !== 'production' ? function (element) {\n if (!element.root) {\n if (element[\"return\"]) {\n currentSheet.insert(element[\"return\"]);\n } else if (element.value && element.type !== COMMENT) {\n // insert empty rule in non-production environments\n // so @emotion/jest can grab `key` from the (JS)DOM for caches without any rules inserted yet\n currentSheet.insert(element.value + \"{}\");\n }\n }\n } : rulesheet(function (rule) {\n currentSheet.insert(rule);\n })];\n var serializer = middleware(omnipresentPlugins.concat(stylisPlugins, finalizingPlugins));\n\n var stylis = function stylis(styles) {\n return serialize(compile(styles), serializer);\n };\n\n _insert = function insert(selector, serialized, sheet, shouldCache) {\n currentSheet = sheet;\n\n if (process.env.NODE_ENV !== 'production' && serialized.map !== undefined) {\n currentSheet = {\n insert: function insert(rule) {\n sheet.insert(rule + serialized.map);\n }\n };\n }\n\n stylis(selector ? selector + \"{\" + serialized.styles + \"}\" : serialized.styles);\n\n if (shouldCache) {\n cache.inserted[serialized.name] = true;\n }\n };\n }\n\n var cache = {\n key: key,\n sheet: new StyleSheet({\n key: key,\n container: container,\n nonce: options.nonce,\n speedy: options.speedy,\n prepend: options.prepend,\n insertionPoint: options.insertionPoint\n }),\n nonce: options.nonce,\n inserted: inserted,\n registered: {},\n insert: _insert\n };\n cache.sheet.hydrate(nodesToHydrate);\n return cache;\n};\n\nexport default createCache;\n","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","var isBrowser = \"object\" !== 'undefined';\nfunction getRegisteredStyles(registered, registeredStyles, classNames) {\n var rawClassName = '';\n classNames.split(' ').forEach(function (className) {\n if (registered[className] !== undefined) {\n registeredStyles.push(registered[className] + \";\");\n } else {\n rawClassName += className + \" \";\n }\n });\n return rawClassName;\n}\nvar insertStyles = function insertStyles(cache, serialized, isStringTag) {\n var className = cache.key + \"-\" + serialized.name;\n\n if ( // we only need to add the styles to the registered cache if the\n // class name could be used further down\n // the tree but if it's a string tag, we know it won't\n // so we don't have to add it to registered cache.\n // this improves memory usage since we can avoid storing the whole style string\n (isStringTag === false || // we need to always store it if we're in compat mode and\n // in node since emotion-server relies on whether a style is in\n // the registered cache to know whether a style is global or not\n // also, note that this check will be dead code eliminated in the browser\n isBrowser === false ) && cache.registered[className] === undefined) {\n cache.registered[className] = serialized.styles;\n }\n\n if (cache.inserted[serialized.name] === undefined) {\n var current = serialized;\n\n do {\n var maybeStyles = cache.insert(serialized === current ? \".\" + className : '', current, cache.sheet, true);\n\n current = current.next;\n } while (current !== undefined);\n }\n};\n\nexport { getRegisteredStyles, insertStyles };\n","/* eslint-disable */\n// Inspired by https://github.com/garycourt/murmurhash-js\n// Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86\nfunction murmur2(str) {\n // 'm' and 'r' are mixing constants generated offline.\n // They're not really 'magic', they just happen to work well.\n // const m = 0x5bd1e995;\n // const r = 24;\n // Initialize the hash\n var h = 0; // Mix 4 bytes at a time into the hash\n\n var k,\n i = 0,\n len = str.length;\n\n for (; len >= 4; ++i, len -= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16);\n k ^=\n /* k >>> r: */\n k >>> 24;\n h =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16) ^\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Handle the last few bytes of the input array\n\n\n switch (len) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Do a few final mixes of the hash to ensure the last few\n // bytes are well-incorporated.\n\n\n h ^= h >>> 13;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n return ((h ^ h >>> 15) >>> 0).toString(36);\n}\n\nexport default murmur2;\n","var unitlessKeys = {\n animationIterationCount: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\nexport default unitlessKeys;\n","import hashString from '@emotion/hash';\nimport unitless from '@emotion/unitless';\nimport memoize from '@emotion/memoize';\n\nvar ILLEGAL_ESCAPE_SEQUENCE_ERROR = \"You have illegal escape sequence in your template literal, most likely inside content's property value.\\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \\\"content: '\\\\00d7';\\\" should become \\\"content: '\\\\\\\\00d7';\\\".\\nYou can read more about this here:\\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences\";\nvar UNDEFINED_AS_OBJECT_KEY_ERROR = \"You have passed in falsy value as style object's key (can happen when in example you pass unexported component as computed key).\";\nvar hyphenateRegex = /[A-Z]|^ms/g;\nvar animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g;\n\nvar isCustomProperty = function isCustomProperty(property) {\n return property.charCodeAt(1) === 45;\n};\n\nvar isProcessableValue = function isProcessableValue(value) {\n return value != null && typeof value !== 'boolean';\n};\n\nvar processStyleName = /* #__PURE__ */memoize(function (styleName) {\n return isCustomProperty(styleName) ? styleName : styleName.replace(hyphenateRegex, '-$&').toLowerCase();\n});\n\nvar processStyleValue = function processStyleValue(key, value) {\n switch (key) {\n case 'animation':\n case 'animationName':\n {\n if (typeof value === 'string') {\n return value.replace(animationRegex, function (match, p1, p2) {\n cursor = {\n name: p1,\n styles: p2,\n next: cursor\n };\n return p1;\n });\n }\n }\n }\n\n if (unitless[key] !== 1 && !isCustomProperty(key) && typeof value === 'number' && value !== 0) {\n return value + 'px';\n }\n\n return value;\n};\n\nif (process.env.NODE_ENV !== 'production') {\n var contentValuePattern = /(attr|counters?|url|(((repeating-)?(linear|radial))|conic)-gradient)\\(|(no-)?(open|close)-quote/;\n var contentValues = ['normal', 'none', 'initial', 'inherit', 'unset'];\n var oldProcessStyleValue = processStyleValue;\n var msPattern = /^-ms-/;\n var hyphenPattern = /-(.)/g;\n var hyphenatedCache = {};\n\n processStyleValue = function processStyleValue(key, value) {\n if (key === 'content') {\n if (typeof value !== 'string' || contentValues.indexOf(value) === -1 && !contentValuePattern.test(value) && (value.charAt(0) !== value.charAt(value.length - 1) || value.charAt(0) !== '\"' && value.charAt(0) !== \"'\")) {\n throw new Error(\"You seem to be using a value for 'content' without quotes, try replacing it with `content: '\\\"\" + value + \"\\\"'`\");\n }\n }\n\n var processed = oldProcessStyleValue(key, value);\n\n if (processed !== '' && !isCustomProperty(key) && key.indexOf('-') !== -1 && hyphenatedCache[key] === undefined) {\n hyphenatedCache[key] = true;\n console.error(\"Using kebab-case for css properties in objects is not supported. Did you mean \" + key.replace(msPattern, 'ms-').replace(hyphenPattern, function (str, _char) {\n return _char.toUpperCase();\n }) + \"?\");\n }\n\n return processed;\n };\n}\n\nfunction handleInterpolation(mergedProps, registered, interpolation) {\n if (interpolation == null) {\n return '';\n }\n\n if (interpolation.__emotion_styles !== undefined) {\n if (process.env.NODE_ENV !== 'production' && interpolation.toString() === 'NO_COMPONENT_SELECTOR') {\n throw new Error('Component selectors can only be used in conjunction with @emotion/babel-plugin.');\n }\n\n return interpolation;\n }\n\n switch (typeof interpolation) {\n case 'boolean':\n {\n return '';\n }\n\n case 'object':\n {\n if (interpolation.anim === 1) {\n cursor = {\n name: interpolation.name,\n styles: interpolation.styles,\n next: cursor\n };\n return interpolation.name;\n }\n\n if (interpolation.styles !== undefined) {\n var next = interpolation.next;\n\n if (next !== undefined) {\n // not the most efficient thing ever but this is a pretty rare case\n // and there will be very few iterations of this generally\n while (next !== undefined) {\n cursor = {\n name: next.name,\n styles: next.styles,\n next: cursor\n };\n next = next.next;\n }\n }\n\n var styles = interpolation.styles + \";\";\n\n if (process.env.NODE_ENV !== 'production' && interpolation.map !== undefined) {\n styles += interpolation.map;\n }\n\n return styles;\n }\n\n return createStringFromObject(mergedProps, registered, interpolation);\n }\n\n case 'function':\n {\n if (mergedProps !== undefined) {\n var previousCursor = cursor;\n var result = interpolation(mergedProps);\n cursor = previousCursor;\n return handleInterpolation(mergedProps, registered, result);\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('Functions that are interpolated in css calls will be stringified.\\n' + 'If you want to have a css call based on props, create a function that returns a css call like this\\n' + 'let dynamicStyle = (props) => css`color: ${props.color}`\\n' + 'It can be called directly with props or interpolated in a styled call like this\\n' + \"let SomeComponent = styled('div')`${dynamicStyle}`\");\n }\n\n break;\n }\n\n case 'string':\n if (process.env.NODE_ENV !== 'production') {\n var matched = [];\n var replaced = interpolation.replace(animationRegex, function (match, p1, p2) {\n var fakeVarName = \"animation\" + matched.length;\n matched.push(\"const \" + fakeVarName + \" = keyframes`\" + p2.replace(/^@keyframes animation-\\w+/, '') + \"`\");\n return \"${\" + fakeVarName + \"}\";\n });\n\n if (matched.length) {\n console.error('`keyframes` output got interpolated into plain string, please wrap it with `css`.\\n\\n' + 'Instead of doing this:\\n\\n' + [].concat(matched, [\"`\" + replaced + \"`\"]).join('\\n') + '\\n\\nYou should wrap it with `css` like this:\\n\\n' + (\"css`\" + replaced + \"`\"));\n }\n }\n\n break;\n } // finalize string values (regular strings and functions interpolated into css calls)\n\n\n if (registered == null) {\n return interpolation;\n }\n\n var cached = registered[interpolation];\n return cached !== undefined ? cached : interpolation;\n}\n\nfunction createStringFromObject(mergedProps, registered, obj) {\n var string = '';\n\n if (Array.isArray(obj)) {\n for (var i = 0; i < obj.length; i++) {\n string += handleInterpolation(mergedProps, registered, obj[i]) + \";\";\n }\n } else {\n for (var _key in obj) {\n var value = obj[_key];\n\n if (typeof value !== 'object') {\n if (registered != null && registered[value] !== undefined) {\n string += _key + \"{\" + registered[value] + \"}\";\n } else if (isProcessableValue(value)) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value) + \";\";\n }\n } else {\n if (_key === 'NO_COMPONENT_SELECTOR' && process.env.NODE_ENV !== 'production') {\n throw new Error('Component selectors can only be used in conjunction with @emotion/babel-plugin.');\n }\n\n if (Array.isArray(value) && typeof value[0] === 'string' && (registered == null || registered[value[0]] === undefined)) {\n for (var _i = 0; _i < value.length; _i++) {\n if (isProcessableValue(value[_i])) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value[_i]) + \";\";\n }\n }\n } else {\n var interpolated = handleInterpolation(mergedProps, registered, value);\n\n switch (_key) {\n case 'animation':\n case 'animationName':\n {\n string += processStyleName(_key) + \":\" + interpolated + \";\";\n break;\n }\n\n default:\n {\n if (process.env.NODE_ENV !== 'production' && _key === 'undefined') {\n console.error(UNDEFINED_AS_OBJECT_KEY_ERROR);\n }\n\n string += _key + \"{\" + interpolated + \"}\";\n }\n }\n }\n }\n }\n }\n\n return string;\n}\n\nvar labelPattern = /label:\\s*([^\\s;\\n{]+)\\s*(;|$)/g;\nvar sourceMapPattern;\n\nif (process.env.NODE_ENV !== 'production') {\n sourceMapPattern = /\\/\\*#\\ssourceMappingURL=data:application\\/json;\\S+\\s+\\*\\//g;\n} // this is the cursor for keyframes\n// keyframes are stored on the SerializedStyles object as a linked list\n\n\nvar cursor;\nvar serializeStyles = function serializeStyles(args, registered, mergedProps) {\n if (args.length === 1 && typeof args[0] === 'object' && args[0] !== null && args[0].styles !== undefined) {\n return args[0];\n }\n\n var stringMode = true;\n var styles = '';\n cursor = undefined;\n var strings = args[0];\n\n if (strings == null || strings.raw === undefined) {\n stringMode = false;\n styles += handleInterpolation(mergedProps, registered, strings);\n } else {\n if (process.env.NODE_ENV !== 'production' && strings[0] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles += strings[0];\n } // we start at 1 since we've already handled the first arg\n\n\n for (var i = 1; i < args.length; i++) {\n styles += handleInterpolation(mergedProps, registered, args[i]);\n\n if (stringMode) {\n if (process.env.NODE_ENV !== 'production' && strings[i] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles += strings[i];\n }\n }\n\n var sourceMap;\n\n if (process.env.NODE_ENV !== 'production') {\n styles = styles.replace(sourceMapPattern, function (match) {\n sourceMap = match;\n return '';\n });\n } // using a global regex with .exec is stateful so lastIndex has to be reset each time\n\n\n labelPattern.lastIndex = 0;\n var identifierName = '';\n var match; // https://esbench.com/bench/5b809c2cf2949800a0f61fb5\n\n while ((match = labelPattern.exec(styles)) !== null) {\n identifierName += '-' + // $FlowFixMe we know it's not null\n match[1];\n }\n\n var name = hashString(styles) + identifierName;\n\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe SerializedStyles type doesn't have toString property (and we don't want to add it)\n return {\n name: name,\n styles: styles,\n map: sourceMap,\n next: cursor,\n toString: function toString() {\n return \"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).\";\n }\n };\n }\n\n return {\n name: name,\n styles: styles,\n next: cursor\n };\n};\n\nexport { serializeStyles };\n","import { createContext, useContext, forwardRef, createElement, Fragment } from 'react';\nimport createCache from '@emotion/cache';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport weakMemoize from '@emotion/weak-memoize';\nimport hoistNonReactStatics from '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport { getRegisteredStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\n\nvar hasOwnProperty = {}.hasOwnProperty;\n\nvar EmotionCacheContext = /* #__PURE__ */createContext( // we're doing this to avoid preconstruct's dead code elimination in this one case\n// because this module is primarily intended for the browser and node\n// but it's also required in react native and similar environments sometimes\n// and we could have a special build just for that\n// but this is much easier and the native packages\n// might use a different theme context in the future anyway\ntypeof HTMLElement !== 'undefined' ? /* #__PURE__ */createCache({\n key: 'css'\n}) : null);\n\nif (process.env.NODE_ENV !== 'production') {\n EmotionCacheContext.displayName = 'EmotionCacheContext';\n}\n\nvar CacheProvider = EmotionCacheContext.Provider;\nvar __unsafe_useEmotionCache = function useEmotionCache() {\n return useContext(EmotionCacheContext);\n};\n\nvar withEmotionCache = function withEmotionCache(func) {\n // $FlowFixMe\n return /*#__PURE__*/forwardRef(function (props, ref) {\n // the cache will never be null in the browser\n var cache = useContext(EmotionCacheContext);\n return func(props, cache, ref);\n });\n};\n\nvar ThemeContext = /* #__PURE__ */createContext({});\n\nif (process.env.NODE_ENV !== 'production') {\n ThemeContext.displayName = 'EmotionThemeContext';\n}\n\nvar useTheme = function useTheme() {\n return useContext(ThemeContext);\n};\n\nvar getTheme = function getTheme(outerTheme, theme) {\n if (typeof theme === 'function') {\n var mergedTheme = theme(outerTheme);\n\n if (process.env.NODE_ENV !== 'production' && (mergedTheme == null || typeof mergedTheme !== 'object' || Array.isArray(mergedTheme))) {\n throw new Error('[ThemeProvider] Please return an object from your theme function, i.e. theme={() => ({})}!');\n }\n\n return mergedTheme;\n }\n\n if (process.env.NODE_ENV !== 'production' && (theme == null || typeof theme !== 'object' || Array.isArray(theme))) {\n throw new Error('[ThemeProvider] Please make your theme prop a plain object');\n }\n\n return _extends({}, outerTheme, theme);\n};\n\nvar createCacheWithTheme = /* #__PURE__ */weakMemoize(function (outerTheme) {\n return weakMemoize(function (theme) {\n return getTheme(outerTheme, theme);\n });\n});\nvar ThemeProvider = function ThemeProvider(props) {\n var theme = useContext(ThemeContext);\n\n if (props.theme !== theme) {\n theme = createCacheWithTheme(theme)(props.theme);\n }\n\n return /*#__PURE__*/createElement(ThemeContext.Provider, {\n value: theme\n }, props.children);\n};\nfunction withTheme(Component) {\n var componentName = Component.displayName || Component.name || 'Component';\n\n var render = function render(props, ref) {\n var theme = useContext(ThemeContext);\n return /*#__PURE__*/createElement(Component, _extends({\n theme: theme,\n ref: ref\n }, props));\n }; // $FlowFixMe\n\n\n var WithTheme = /*#__PURE__*/forwardRef(render);\n WithTheme.displayName = \"WithTheme(\" + componentName + \")\";\n return hoistNonReactStatics(WithTheme, Component);\n}\n\nvar getFunctionNameFromStackTraceLine = function getFunctionNameFromStackTraceLine(line) {\n // V8\n var match = /^\\s+at\\s+([A-Za-z0-9$.]+)\\s/.exec(line);\n\n if (match) {\n // The match may be something like 'Object.createEmotionProps'\n var parts = match[1].split('.');\n return parts[parts.length - 1];\n } // Safari / Firefox\n\n\n match = /^([A-Za-z0-9$.]+)@/.exec(line);\n if (match) return match[1];\n return undefined;\n};\n\nvar internalReactFunctionNames = /* #__PURE__ */new Set(['renderWithHooks', 'processChild', 'finishClassComponent', 'renderToString']); // These identifiers come from error stacks, so they have to be valid JS\n// identifiers, thus we only need to replace what is a valid character for JS,\n// but not for CSS.\n\nvar sanitizeIdentifier = function sanitizeIdentifier(identifier) {\n return identifier.replace(/\\$/g, '-');\n};\n\nvar getLabelFromStackTrace = function getLabelFromStackTrace(stackTrace) {\n if (!stackTrace) return undefined;\n var lines = stackTrace.split('\\n');\n\n for (var i = 0; i < lines.length; i++) {\n var functionName = getFunctionNameFromStackTraceLine(lines[i]); // The first line of V8 stack traces is just \"Error\"\n\n if (!functionName) continue; // If we reach one of these, we have gone too far and should quit\n\n if (internalReactFunctionNames.has(functionName)) break; // The component name is the first function in the stack that starts with an\n // uppercase letter\n\n if (/^[A-Z]/.test(functionName)) return sanitizeIdentifier(functionName);\n }\n\n return undefined;\n};\n\nvar typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__';\nvar labelPropName = '__EMOTION_LABEL_PLEASE_DO_NOT_USE__';\nvar createEmotionProps = function createEmotionProps(type, props) {\n if (process.env.NODE_ENV !== 'production' && typeof props.css === 'string' && // check if there is a css declaration\n props.css.indexOf(':') !== -1) {\n throw new Error(\"Strings are not allowed as css prop values, please wrap it in a css template literal from '@emotion/react' like this: css`\" + props.css + \"`\");\n }\n\n var newProps = {};\n\n for (var key in props) {\n if (hasOwnProperty.call(props, key)) {\n newProps[key] = props[key];\n }\n }\n\n newProps[typePropName] = type; // For performance, only call getLabelFromStackTrace in development and when\n // the label hasn't already been computed\n\n if (process.env.NODE_ENV !== 'production' && !!props.css && (typeof props.css !== 'object' || typeof props.css.name !== 'string' || props.css.name.indexOf('-') === -1)) {\n var label = getLabelFromStackTrace(new Error().stack);\n if (label) newProps[labelPropName] = label;\n }\n\n return newProps;\n};\n\nvar Noop = function Noop() {\n return null;\n};\n\nvar Emotion = /* #__PURE__ */withEmotionCache(function (props, cache, ref) {\n var cssProp = props.css; // so that using `css` from `emotion` and passing the result to the css prop works\n // not passing the registered cache to serializeStyles because it would\n // make certain babel optimisations not possible\n\n if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) {\n cssProp = cache.registered[cssProp];\n }\n\n var type = props[typePropName];\n var registeredStyles = [cssProp];\n var className = '';\n\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(cache.registered, registeredStyles, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = serializeStyles(registeredStyles, undefined, useContext(ThemeContext));\n\n if (process.env.NODE_ENV !== 'production' && serialized.name.indexOf('-') === -1) {\n var labelFromStack = props[labelPropName];\n\n if (labelFromStack) {\n serialized = serializeStyles([serialized, 'label:' + labelFromStack + ';']);\n }\n }\n\n var rules = insertStyles(cache, serialized, typeof type === 'string');\n className += cache.key + \"-\" + serialized.name;\n var newProps = {};\n\n for (var key in props) {\n if (hasOwnProperty.call(props, key) && key !== 'css' && key !== typePropName && (process.env.NODE_ENV === 'production' || key !== labelPropName)) {\n newProps[key] = props[key];\n }\n }\n\n newProps.ref = ref;\n newProps.className = className;\n var ele = /*#__PURE__*/createElement(type, newProps);\n var possiblyStyleElement = /*#__PURE__*/createElement(Noop, null);\n\n\n return /*#__PURE__*/createElement(Fragment, null, possiblyStyleElement, ele);\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Emotion.displayName = 'EmotionCssPropInternal';\n}\n\nexport { CacheProvider as C, Emotion as E, ThemeContext as T, __unsafe_useEmotionCache as _, ThemeProvider as a, withTheme as b, createEmotionProps as c, hasOwnProperty as h, useTheme as u, withEmotionCache as w };\n","import { createElement, useContext, useRef, useLayoutEffect, Fragment } from 'react';\nimport '@emotion/cache';\nimport { h as hasOwnProperty, E as Emotion, c as createEmotionProps, w as withEmotionCache, T as ThemeContext } from './emotion-element-699e6908.browser.esm.js';\nexport { C as CacheProvider, T as ThemeContext, a as ThemeProvider, _ as __unsafe_useEmotionCache, u as useTheme, w as withEmotionCache, b as withTheme } from './emotion-element-699e6908.browser.esm.js';\nimport '@babel/runtime/helpers/extends';\nimport '@emotion/weak-memoize';\nimport 'hoist-non-react-statics';\nimport '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport { insertStyles, getRegisteredStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { StyleSheet } from '@emotion/sheet';\n\nvar pkg = {\n\tname: \"@emotion/react\",\n\tversion: \"11.7.1\",\n\tmain: \"dist/emotion-react.cjs.js\",\n\tmodule: \"dist/emotion-react.esm.js\",\n\tbrowser: {\n\t\t\"./dist/emotion-react.cjs.js\": \"./dist/emotion-react.browser.cjs.js\",\n\t\t\"./dist/emotion-react.esm.js\": \"./dist/emotion-react.browser.esm.js\"\n\t},\n\ttypes: \"types/index.d.ts\",\n\tfiles: [\n\t\t\"src\",\n\t\t\"dist\",\n\t\t\"jsx-runtime\",\n\t\t\"jsx-dev-runtime\",\n\t\t\"_isolated-hnrs\",\n\t\t\"types/*.d.ts\",\n\t\t\"macro.js\",\n\t\t\"macro.d.ts\",\n\t\t\"macro.js.flow\"\n\t],\n\tsideEffects: false,\n\tauthor: \"mitchellhamilton <mitchell@mitchellhamilton.me>\",\n\tlicense: \"MIT\",\n\tscripts: {\n\t\t\"test:typescript\": \"dtslint types\"\n\t},\n\tdependencies: {\n\t\t\"@babel/runtime\": \"^7.13.10\",\n\t\t\"@emotion/cache\": \"^11.7.1\",\n\t\t\"@emotion/serialize\": \"^1.0.2\",\n\t\t\"@emotion/sheet\": \"^1.1.0\",\n\t\t\"@emotion/utils\": \"^1.0.0\",\n\t\t\"@emotion/weak-memoize\": \"^0.2.5\",\n\t\t\"hoist-non-react-statics\": \"^3.3.1\"\n\t},\n\tpeerDependencies: {\n\t\t\"@babel/core\": \"^7.0.0\",\n\t\treact: \">=16.8.0\"\n\t},\n\tpeerDependenciesMeta: {\n\t\t\"@babel/core\": {\n\t\t\toptional: true\n\t\t},\n\t\t\"@types/react\": {\n\t\t\toptional: true\n\t\t}\n\t},\n\tdevDependencies: {\n\t\t\"@babel/core\": \"^7.13.10\",\n\t\t\"@emotion/css\": \"11.7.1\",\n\t\t\"@emotion/css-prettifier\": \"1.0.1\",\n\t\t\"@emotion/server\": \"11.4.0\",\n\t\t\"@emotion/styled\": \"11.6.0\",\n\t\t\"@types/react\": \"^16.9.11\",\n\t\tdtslint: \"^0.3.0\",\n\t\t\"html-tag-names\": \"^1.1.2\",\n\t\treact: \"16.14.0\",\n\t\t\"svg-tag-names\": \"^1.1.1\"\n\t},\n\trepository: \"https://github.com/emotion-js/emotion/tree/main/packages/react\",\n\tpublishConfig: {\n\t\taccess: \"public\"\n\t},\n\t\"umd:main\": \"dist/emotion-react.umd.min.js\",\n\tpreconstruct: {\n\t\tentrypoints: [\n\t\t\t\"./index.js\",\n\t\t\t\"./jsx-runtime.js\",\n\t\t\t\"./jsx-dev-runtime.js\",\n\t\t\t\"./_isolated-hnrs.js\"\n\t\t],\n\t\tumdName: \"emotionReact\"\n\t}\n};\n\nvar jsx = function jsx(type, props) {\n var args = arguments;\n\n if (props == null || !hasOwnProperty.call(props, 'css')) {\n // $FlowFixMe\n return createElement.apply(undefined, args);\n }\n\n var argsLength = args.length;\n var createElementArgArray = new Array(argsLength);\n createElementArgArray[0] = Emotion;\n createElementArgArray[1] = createEmotionProps(type, props);\n\n for (var i = 2; i < argsLength; i++) {\n createElementArgArray[i] = args[i];\n } // $FlowFixMe\n\n\n return createElement.apply(null, createElementArgArray);\n};\n\nvar warnedAboutCssPropForGlobal = false; // maintain place over rerenders.\n// initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild\n// initial client-side render from SSR, use place of hydrating tag\n\nvar Global = /* #__PURE__ */withEmotionCache(function (props, cache) {\n if (process.env.NODE_ENV !== 'production' && !warnedAboutCssPropForGlobal && ( // check for className as well since the user is\n // probably using the custom createElement which\n // means it will be turned into a className prop\n // $FlowFixMe I don't really want to add it to the type since it shouldn't be used\n props.className || props.css)) {\n console.error(\"It looks like you're using the css prop on Global, did you mean to use the styles prop instead?\");\n warnedAboutCssPropForGlobal = true;\n }\n\n var styles = props.styles;\n var serialized = serializeStyles([styles], undefined, useContext(ThemeContext));\n // but it is based on a constant that will never change at runtime\n // it's effectively like having two implementations and switching them out\n // so it's not actually breaking anything\n\n\n var sheetRef = useRef();\n useLayoutEffect(function () {\n var key = cache.key + \"-global\";\n var sheet = new StyleSheet({\n key: key,\n nonce: cache.sheet.nonce,\n container: cache.sheet.container,\n speedy: cache.sheet.isSpeedy\n });\n var rehydrating = false; // $FlowFixMe\n\n var node = document.querySelector(\"style[data-emotion=\\\"\" + key + \" \" + serialized.name + \"\\\"]\");\n\n if (cache.sheet.tags.length) {\n sheet.before = cache.sheet.tags[0];\n }\n\n if (node !== null) {\n rehydrating = true; // clear the hash so this node won't be recognizable as rehydratable by other <Global/>s\n\n node.setAttribute('data-emotion', key);\n sheet.hydrate([node]);\n }\n\n sheetRef.current = [sheet, rehydrating];\n return function () {\n sheet.flush();\n };\n }, [cache]);\n useLayoutEffect(function () {\n var sheetRefCurrent = sheetRef.current;\n var sheet = sheetRefCurrent[0],\n rehydrating = sheetRefCurrent[1];\n\n if (rehydrating) {\n sheetRefCurrent[1] = false;\n return;\n }\n\n if (serialized.next !== undefined) {\n // insert keyframes\n insertStyles(cache, serialized.next, true);\n }\n\n if (sheet.tags.length) {\n // if this doesn't exist then it will be null so the style element will be appended\n var element = sheet.tags[sheet.tags.length - 1].nextElementSibling;\n sheet.before = element;\n sheet.flush();\n }\n\n cache.insert(\"\", serialized, sheet, false);\n }, [cache, serialized.name]);\n return null;\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Global.displayName = 'EmotionGlobal';\n}\n\nfunction css() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return serializeStyles(args);\n}\n\nvar keyframes = function keyframes() {\n var insertable = css.apply(void 0, arguments);\n var name = \"animation-\" + insertable.name; // $FlowFixMe\n\n return {\n name: name,\n styles: \"@keyframes \" + name + \"{\" + insertable.styles + \"}\",\n anim: 1,\n toString: function toString() {\n return \"_EMO_\" + this.name + \"_\" + this.styles + \"_EMO_\";\n }\n };\n};\n\nvar classnames = function classnames(args) {\n var len = args.length;\n var i = 0;\n var cls = '';\n\n for (; i < len; i++) {\n var arg = args[i];\n if (arg == null) continue;\n var toAdd = void 0;\n\n switch (typeof arg) {\n case 'boolean':\n break;\n\n case 'object':\n {\n if (Array.isArray(arg)) {\n toAdd = classnames(arg);\n } else {\n if (process.env.NODE_ENV !== 'production' && arg.styles !== undefined && arg.name !== undefined) {\n console.error('You have passed styles created with `css` from `@emotion/react` package to the `cx`.\\n' + '`cx` is meant to compose class names (strings) so you should convert those styles to a class name by passing them to the `css` received from <ClassNames/> component.');\n }\n\n toAdd = '';\n\n for (var k in arg) {\n if (arg[k] && k) {\n toAdd && (toAdd += ' ');\n toAdd += k;\n }\n }\n }\n\n break;\n }\n\n default:\n {\n toAdd = arg;\n }\n }\n\n if (toAdd) {\n cls && (cls += ' ');\n cls += toAdd;\n }\n }\n\n return cls;\n};\n\nfunction merge(registered, css, className) {\n var registeredStyles = [];\n var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n if (registeredStyles.length < 2) {\n return className;\n }\n\n return rawClassName + css(registeredStyles);\n}\n\nvar Noop = function Noop() {\n return null;\n};\n\nvar ClassNames = /* #__PURE__ */withEmotionCache(function (props, cache) {\n var hasRendered = false;\n\n var css = function css() {\n if (hasRendered && process.env.NODE_ENV !== 'production') {\n throw new Error('css can only be used during render');\n }\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var serialized = serializeStyles(args, cache.registered);\n\n {\n insertStyles(cache, serialized, false);\n }\n\n return cache.key + \"-\" + serialized.name;\n };\n\n var cx = function cx() {\n if (hasRendered && process.env.NODE_ENV !== 'production') {\n throw new Error('cx can only be used during render');\n }\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return merge(cache.registered, css, classnames(args));\n };\n\n var content = {\n css: css,\n cx: cx,\n theme: useContext(ThemeContext)\n };\n var ele = props.children(content);\n hasRendered = true;\n var possiblyStyleElement = /*#__PURE__*/createElement(Noop, null);\n\n\n return /*#__PURE__*/createElement(Fragment, null, possiblyStyleElement, ele);\n});\n\nif (process.env.NODE_ENV !== 'production') {\n ClassNames.displayName = 'EmotionClassNames';\n}\n\nif (process.env.NODE_ENV !== 'production') {\n var isBrowser = \"object\" !== 'undefined'; // #1727 for some reason Jest evaluates modules twice if some consuming module gets mocked with jest.mock\n\n var isJest = typeof jest !== 'undefined';\n\n if (isBrowser && !isJest) {\n // globalThis has wide browser support - https://caniuse.com/?search=globalThis, Node.js 12 and later\n var globalContext = // $FlowIgnore\n typeof globalThis !== 'undefined' ? globalThis // eslint-disable-line no-undef\n : isBrowser ? window : global;\n var globalKey = \"__EMOTION_REACT_\" + pkg.version.split('.')[0] + \"__\";\n\n if (globalContext[globalKey]) {\n console.warn('You are loading @emotion/react when it is already loaded. Running ' + 'multiple instances may cause problems. This can happen if multiple ' + 'versions are used, or if multiple builds of the same version are ' + 'used.');\n }\n\n globalContext[globalKey] = true;\n }\n}\n\nexport { ClassNames, Global, jsx as createElement, css, jsx, keyframes };\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport { useContext, createElement, Fragment } from 'react';\nimport isPropValid from '@emotion/is-prop-valid';\nimport { withEmotionCache, ThemeContext } from '@emotion/react';\nimport { getRegisteredStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\n\nvar testOmitPropsOnStringTag = isPropValid;\n\nvar testOmitPropsOnComponent = function testOmitPropsOnComponent(key) {\n return key !== 'theme';\n};\n\nvar getDefaultShouldForwardProp = function getDefaultShouldForwardProp(tag) {\n return typeof tag === 'string' && // 96 is one less than the char code\n // for \"a\" so this is checking that\n // it's a lowercase character\n tag.charCodeAt(0) > 96 ? testOmitPropsOnStringTag : testOmitPropsOnComponent;\n};\nvar composeShouldForwardProps = function composeShouldForwardProps(tag, options, isReal) {\n var shouldForwardProp;\n\n if (options) {\n var optionsShouldForwardProp = options.shouldForwardProp;\n shouldForwardProp = tag.__emotion_forwardProp && optionsShouldForwardProp ? function (propName) {\n return tag.__emotion_forwardProp(propName) && optionsShouldForwardProp(propName);\n } : optionsShouldForwardProp;\n }\n\n if (typeof shouldForwardProp !== 'function' && isReal) {\n shouldForwardProp = tag.__emotion_forwardProp;\n }\n\n return shouldForwardProp;\n};\n\nvar ILLEGAL_ESCAPE_SEQUENCE_ERROR = \"You have illegal escape sequence in your template literal, most likely inside content's property value.\\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \\\"content: '\\\\00d7';\\\" should become \\\"content: '\\\\\\\\00d7';\\\".\\nYou can read more about this here:\\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences\";\n\nvar Noop = function Noop() {\n return null;\n};\n\nvar createStyled = function createStyled(tag, options) {\n if (process.env.NODE_ENV !== 'production') {\n if (tag === undefined) {\n throw new Error('You are trying to create a styled element with an undefined component.\\nYou may have forgotten to import it.');\n }\n }\n\n var isReal = tag.__emotion_real === tag;\n var baseTag = isReal && tag.__emotion_base || tag;\n var identifierName;\n var targetClassName;\n\n if (options !== undefined) {\n identifierName = options.label;\n targetClassName = options.target;\n }\n\n var shouldForwardProp = composeShouldForwardProps(tag, options, isReal);\n var defaultShouldForwardProp = shouldForwardProp || getDefaultShouldForwardProp(baseTag);\n var shouldUseAs = !defaultShouldForwardProp('as');\n return function () {\n var args = arguments;\n var styles = isReal && tag.__emotion_styles !== undefined ? tag.__emotion_styles.slice(0) : [];\n\n if (identifierName !== undefined) {\n styles.push(\"label:\" + identifierName + \";\");\n }\n\n if (args[0] == null || args[0].raw === undefined) {\n styles.push.apply(styles, args);\n } else {\n if (process.env.NODE_ENV !== 'production' && args[0][0] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles.push(args[0][0]);\n var len = args.length;\n var i = 1;\n\n for (; i < len; i++) {\n if (process.env.NODE_ENV !== 'production' && args[0][i] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles.push(args[i], args[0][i]);\n }\n } // $FlowFixMe: we need to cast StatelessFunctionalComponent to our PrivateStyledComponent class\n\n\n var Styled = withEmotionCache(function (props, cache, ref) {\n var finalTag = shouldUseAs && props.as || baseTag;\n var className = '';\n var classInterpolations = [];\n var mergedProps = props;\n\n if (props.theme == null) {\n mergedProps = {};\n\n for (var key in props) {\n mergedProps[key] = props[key];\n }\n\n mergedProps.theme = useContext(ThemeContext);\n }\n\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(cache.registered, classInterpolations, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = serializeStyles(styles.concat(classInterpolations), cache.registered, mergedProps);\n var rules = insertStyles(cache, serialized, typeof finalTag === 'string');\n className += cache.key + \"-\" + serialized.name;\n\n if (targetClassName !== undefined) {\n className += \" \" + targetClassName;\n }\n\n var finalShouldForwardProp = shouldUseAs && shouldForwardProp === undefined ? getDefaultShouldForwardProp(finalTag) : defaultShouldForwardProp;\n var newProps = {};\n\n for (var _key in props) {\n if (shouldUseAs && _key === 'as') continue;\n\n if ( // $FlowFixMe\n finalShouldForwardProp(_key)) {\n newProps[_key] = props[_key];\n }\n }\n\n newProps.className = className;\n newProps.ref = ref;\n var ele = /*#__PURE__*/createElement(finalTag, newProps);\n var possiblyStyleElement = /*#__PURE__*/createElement(Noop, null);\n\n\n return /*#__PURE__*/createElement(Fragment, null, possiblyStyleElement, ele);\n });\n Styled.displayName = identifierName !== undefined ? identifierName : \"Styled(\" + (typeof baseTag === 'string' ? baseTag : baseTag.displayName || baseTag.name || 'Component') + \")\";\n Styled.defaultProps = tag.defaultProps;\n Styled.__emotion_real = Styled;\n Styled.__emotion_base = baseTag;\n Styled.__emotion_styles = styles;\n Styled.__emotion_forwardProp = shouldForwardProp;\n Object.defineProperty(Styled, 'toString', {\n value: function value() {\n if (targetClassName === undefined && process.env.NODE_ENV !== 'production') {\n return 'NO_COMPONENT_SELECTOR';\n } // $FlowFixMe: coerce undefined to string\n\n\n return \".\" + targetClassName;\n }\n });\n\n Styled.withComponent = function (nextTag, nextOptions) {\n return createStyled(nextTag, _extends({}, options, nextOptions, {\n shouldForwardProp: composeShouldForwardProps(Styled, nextOptions, true)\n })).apply(void 0, styles);\n };\n\n return Styled;\n };\n};\n\nexport default createStyled;\n","import '@babel/runtime/helpers/extends';\nimport 'react';\nimport '@emotion/is-prop-valid';\nimport createStyled from '../base/dist/emotion-styled-base.browser.esm.js';\nimport '@emotion/react';\nimport '@emotion/utils';\nimport '@emotion/serialize';\n\nvar tags = ['a', 'abbr', 'address', 'area', 'article', 'aside', 'audio', 'b', 'base', 'bdi', 'bdo', 'big', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'cite', 'code', 'col', 'colgroup', 'data', 'datalist', 'dd', 'del', 'details', 'dfn', 'dialog', 'div', 'dl', 'dt', 'em', 'embed', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'iframe', 'img', 'input', 'ins', 'kbd', 'keygen', 'label', 'legend', 'li', 'link', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meta', 'meter', 'nav', 'noscript', 'object', 'ol', 'optgroup', 'option', 'output', 'p', 'param', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'script', 'section', 'select', 'small', 'source', 'span', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'textarea', 'tfoot', 'th', 'thead', 'time', 'title', 'tr', 'track', 'u', 'ul', 'var', 'video', 'wbr', // SVG\n'circle', 'clipPath', 'defs', 'ellipse', 'foreignObject', 'g', 'image', 'line', 'linearGradient', 'mask', 'path', 'pattern', 'polygon', 'polyline', 'radialGradient', 'rect', 'stop', 'svg', 'text', 'tspan'];\n\nvar newStyled = createStyled.bind();\ntags.forEach(function (tagName) {\n // $FlowFixMe: we can ignore this because its exposed type is defined by the CreateStyled type\n newStyled[tagName] = newStyled(tagName);\n});\n\nexport default newStyled;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/*\n\nBased off glamor's StyleSheet, thanks Sunil ❤️\n\nhigh performance StyleSheet for css-in-js systems\n\n- uses multiple style tags behind the scenes for millions of rules\n- uses `insertRule` for appending in production for *much* faster performance\n\n// usage\n\nimport { StyleSheet } from '@emotion/sheet'\n\nlet styleSheet = new StyleSheet({ key: '', container: document.head })\n\nstyleSheet.insert('#box { border: 1px solid red; }')\n- appends a css rule into the stylesheet\n\nstyleSheet.flush()\n- empties the stylesheet of all its contents\n\n*/\n// $FlowFixMe\nfunction sheetForTag(tag) {\n if (tag.sheet) {\n // $FlowFixMe\n return tag.sheet;\n } // this weirdness brought to you by firefox\n\n /* istanbul ignore next */\n\n\n for (var i = 0; i < document.styleSheets.length; i++) {\n if (document.styleSheets[i].ownerNode === tag) {\n // $FlowFixMe\n return document.styleSheets[i];\n }\n }\n}\n\nfunction createStyleElement(options) {\n var tag = document.createElement('style');\n tag.setAttribute('data-emotion', options.key);\n\n if (options.nonce !== undefined) {\n tag.setAttribute('nonce', options.nonce);\n }\n\n tag.appendChild(document.createTextNode(''));\n tag.setAttribute('data-s', '');\n return tag;\n}\n\nvar StyleSheet = /*#__PURE__*/function () {\n // Using Node instead of HTMLElement since container may be a ShadowRoot\n function StyleSheet(options) {\n var _this = this;\n\n this._insertTag = function (tag) {\n var before;\n\n if (_this.tags.length === 0) {\n if (_this.insertionPoint) {\n before = _this.insertionPoint.nextSibling;\n } else if (_this.prepend) {\n before = _this.container.firstChild;\n } else {\n before = _this.before;\n }\n } else {\n before = _this.tags[_this.tags.length - 1].nextSibling;\n }\n\n _this.container.insertBefore(tag, before);\n\n _this.tags.push(tag);\n };\n\n this.isSpeedy = options.speedy === undefined ? process.env.NODE_ENV === 'production' : options.speedy;\n this.tags = [];\n this.ctr = 0;\n this.nonce = options.nonce; // key is the value of the data-emotion attribute, it's used to identify different sheets\n\n this.key = options.key;\n this.container = options.container;\n this.prepend = options.prepend;\n this.insertionPoint = options.insertionPoint;\n this.before = null;\n }\n\n var _proto = StyleSheet.prototype;\n\n _proto.hydrate = function hydrate(nodes) {\n nodes.forEach(this._insertTag);\n };\n\n _proto.insert = function insert(rule) {\n // the max length is how many rules we have per style tag, it's 65000 in speedy mode\n // it's 1 in dev because we insert source maps that map a single rule to a location\n // and you can only have one source map per style tag\n if (this.ctr % (this.isSpeedy ? 65000 : 1) === 0) {\n this._insertTag(createStyleElement(this));\n }\n\n var tag = this.tags[this.tags.length - 1];\n\n if (process.env.NODE_ENV !== 'production') {\n var isImportRule = rule.charCodeAt(0) === 64 && rule.charCodeAt(1) === 105;\n\n if (isImportRule && this._alreadyInsertedOrderInsensitiveRule) {\n // this would only cause problem in speedy mode\n // but we don't want enabling speedy to affect the observable behavior\n // so we report this error at all times\n console.error(\"You're attempting to insert the following rule:\\n\" + rule + '\\n\\n`@import` rules must be before all other types of rules in a stylesheet but other rules have already been inserted. Please ensure that `@import` rules are before all other rules.');\n }\n this._alreadyInsertedOrderInsensitiveRule = this._alreadyInsertedOrderInsensitiveRule || !isImportRule;\n }\n\n if (this.isSpeedy) {\n var sheet = sheetForTag(tag);\n\n try {\n // this is the ultrafast version, works across browsers\n // the big drawback is that the css won't be editable in devtools\n sheet.insertRule(rule, sheet.cssRules.length);\n } catch (e) {\n if (process.env.NODE_ENV !== 'production' && !/:(-moz-placeholder|-moz-focus-inner|-moz-focusring|-ms-input-placeholder|-moz-read-write|-moz-read-only|-ms-clear|-ms-expand|-ms-reveal){/.test(rule)) {\n console.error(\"There was a problem inserting the following rule: \\\"\" + rule + \"\\\"\", e);\n }\n }\n } else {\n tag.appendChild(document.createTextNode(rule));\n }\n\n this.ctr++;\n };\n\n _proto.flush = function flush() {\n // $FlowFixMe\n this.tags.forEach(function (tag) {\n return tag.parentNode && tag.parentNode.removeChild(tag);\n });\n this.tags = [];\n this.ctr = 0;\n\n if (process.env.NODE_ENV !== 'production') {\n this._alreadyInsertedOrderInsensitiveRule = false;\n }\n };\n\n return StyleSheet;\n}();\n\nexport { StyleSheet };\n","export var MS = '-ms-'\nexport var MOZ = '-moz-'\nexport var WEBKIT = '-webkit-'\n\nexport var COMMENT = 'comm'\nexport var RULESET = 'rule'\nexport var DECLARATION = 'decl'\n\nexport var PAGE = '@page'\nexport var MEDIA = '@media'\nexport var IMPORT = '@import'\nexport var CHARSET = '@charset'\nexport var VIEWPORT = '@viewport'\nexport var SUPPORTS = '@supports'\nexport var DOCUMENT = '@document'\nexport var NAMESPACE = '@namespace'\nexport var KEYFRAMES = '@keyframes'\nexport var FONT_FACE = '@font-face'\nexport var COUNTER_STYLE = '@counter-style'\nexport var FONT_FEATURE_VALUES = '@font-feature-values'\nexport var LAYER = '@layer'\n","/**\n * @param {number}\n * @return {number}\n */\nexport var abs = Math.abs\n\n/**\n * @param {number}\n * @return {string}\n */\nexport var from = String.fromCharCode\n\n/**\n * @param {object}\n * @return {object}\n */\nexport var assign = Object.assign\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {number}\n */\nexport function hash (value, length) {\n\treturn charat(value, 0) ^ 45 ? (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3) : 0\n}\n\n/**\n * @param {string} value\n * @return {string}\n */\nexport function trim (value) {\n\treturn value.trim()\n}\n\n/**\n * @param {string} value\n * @param {RegExp} pattern\n * @return {string?}\n */\nexport function match (value, pattern) {\n\treturn (value = pattern.exec(value)) ? value[0] : value\n}\n\n/**\n * @param {string} value\n * @param {(string|RegExp)} pattern\n * @param {string} replacement\n * @return {string}\n */\nexport function replace (value, pattern, replacement) {\n\treturn value.replace(pattern, replacement)\n}\n\n/**\n * @param {string} value\n * @param {string} search\n * @return {number}\n */\nexport function indexof (value, search) {\n\treturn value.indexOf(search)\n}\n\n/**\n * @param {string} value\n * @param {number} index\n * @return {number}\n */\nexport function charat (value, index) {\n\treturn value.charCodeAt(index) | 0\n}\n\n/**\n * @param {string} value\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function substr (value, begin, end) {\n\treturn value.slice(begin, end)\n}\n\n/**\n * @param {string} value\n * @return {number}\n */\nexport function strlen (value) {\n\treturn value.length\n}\n\n/**\n * @param {any[]} value\n * @return {number}\n */\nexport function sizeof (value) {\n\treturn value.length\n}\n\n/**\n * @param {any} value\n * @param {any[]} array\n * @return {any}\n */\nexport function append (value, array) {\n\treturn array.push(value), value\n}\n\n/**\n * @param {string[]} array\n * @param {function} callback\n * @return {string}\n */\nexport function combine (array, callback) {\n\treturn array.map(callback).join('')\n}\n","import {from, trim, charat, strlen, substr, append, assign} from './Utility.js'\n\nexport var line = 1\nexport var column = 1\nexport var length = 0\nexport var position = 0\nexport var character = 0\nexport var characters = ''\n\n/**\n * @param {string} value\n * @param {object | null} root\n * @param {object | null} parent\n * @param {string} type\n * @param {string[] | string} props\n * @param {object[] | string} children\n * @param {number} length\n */\nexport function node (value, root, parent, type, props, children, length) {\n\treturn {value: value, root: root, parent: parent, type: type, props: props, children: children, line: line, column: column, length: length, return: ''}\n}\n\n/**\n * @param {object} root\n * @param {object} props\n * @return {object}\n */\nexport function copy (root, props) {\n\treturn assign(node('', null, null, '', null, null, 0), root, {length: -root.length}, props)\n}\n\n/**\n * @return {number}\n */\nexport function char () {\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function prev () {\n\tcharacter = position > 0 ? charat(characters, --position) : 0\n\n\tif (column--, character === 10)\n\t\tcolumn = 1, line--\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function next () {\n\tcharacter = position < length ? charat(characters, position++) : 0\n\n\tif (column++, character === 10)\n\t\tcolumn = 1, line++\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function peek () {\n\treturn charat(characters, position)\n}\n\n/**\n * @return {number}\n */\nexport function caret () {\n\treturn position\n}\n\n/**\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function slice (begin, end) {\n\treturn substr(characters, begin, end)\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function token (type) {\n\tswitch (type) {\n\t\t// \\0 \\t \\n \\r \\s whitespace token\n\t\tcase 0: case 9: case 10: case 13: case 32:\n\t\t\treturn 5\n\t\t// ! + , / > @ ~ isolate token\n\t\tcase 33: case 43: case 44: case 47: case 62: case 64: case 126:\n\t\t// ; { } breakpoint token\n\t\tcase 59: case 123: case 125:\n\t\t\treturn 4\n\t\t// : accompanied token\n\t\tcase 58:\n\t\t\treturn 3\n\t\t// \" ' ( [ opening delimit token\n\t\tcase 34: case 39: case 40: case 91:\n\t\t\treturn 2\n\t\t// ) ] closing delimit token\n\t\tcase 41: case 93:\n\t\t\treturn 1\n\t}\n\n\treturn 0\n}\n\n/**\n * @param {string} value\n * @return {any[]}\n */\nexport function alloc (value) {\n\treturn line = column = 1, length = strlen(characters = value), position = 0, []\n}\n\n/**\n * @param {any} value\n * @return {any}\n */\nexport function dealloc (value) {\n\treturn characters = '', value\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function delimit (type) {\n\treturn trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)))\n}\n\n/**\n * @param {string} value\n * @return {string[]}\n */\nexport function tokenize (value) {\n\treturn dealloc(tokenizer(alloc(value)))\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function whitespace (type) {\n\twhile (character = peek())\n\t\tif (character < 33)\n\t\t\tnext()\n\t\telse\n\t\t\tbreak\n\n\treturn token(type) > 2 || token(character) > 3 ? '' : ' '\n}\n\n/**\n * @param {string[]} children\n * @return {string[]}\n */\nexport function tokenizer (children) {\n\twhile (next())\n\t\tswitch (token(character)) {\n\t\t\tcase 0: append(identifier(position - 1), children)\n\t\t\t\tbreak\n\t\t\tcase 2: append(delimit(character), children)\n\t\t\t\tbreak\n\t\t\tdefault: append(from(character), children)\n\t\t}\n\n\treturn children\n}\n\n/**\n * @param {number} index\n * @param {number} count\n * @return {string}\n */\nexport function escaping (index, count) {\n\twhile (--count && next())\n\t\t// not 0-9 A-F a-f\n\t\tif (character < 48 || character > 102 || (character > 57 && character < 65) || (character > 70 && character < 97))\n\t\t\tbreak\n\n\treturn slice(index, caret() + (count < 6 && peek() == 32 && next() == 32))\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function delimiter (type) {\n\twhile (next())\n\t\tswitch (character) {\n\t\t\t// ] ) \" '\n\t\t\tcase type:\n\t\t\t\treturn position\n\t\t\t// \" '\n\t\t\tcase 34: case 39:\n\t\t\t\tif (type !== 34 && type !== 39)\n\t\t\t\t\tdelimiter(character)\n\t\t\t\tbreak\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (type === 41)\n\t\t\t\t\tdelimiter(type)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tnext()\n\t\t\t\tbreak\n\t\t}\n\n\treturn position\n}\n\n/**\n * @param {number} type\n * @param {number} index\n * @return {number}\n */\nexport function commenter (type, index) {\n\twhile (next())\n\t\t// //\n\t\tif (type + character === 47 + 10)\n\t\t\tbreak\n\t\t// /*\n\t\telse if (type + character === 42 + 42 && peek() === 47)\n\t\t\tbreak\n\n\treturn '/*' + slice(index, position - 1) + '*' + from(type === 47 ? type : next())\n}\n\n/**\n * @param {number} index\n * @return {string}\n */\nexport function identifier (index) {\n\twhile (!token(peek()))\n\t\tnext()\n\n\treturn slice(index, position)\n}\n","import {COMMENT, RULESET, DECLARATION} from './Enum.js'\nimport {abs, charat, trim, from, sizeof, strlen, substr, append, replace, indexof} from './Utility.js'\nimport {node, char, prev, next, peek, caret, alloc, dealloc, delimit, whitespace, escaping, identifier, commenter} from './Tokenizer.js'\n\n/**\n * @param {string} value\n * @return {object[]}\n */\nexport function compile (value) {\n\treturn dealloc(parse('', null, null, null, [''], value = alloc(value), 0, [0], value))\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {string[]} rule\n * @param {string[]} rules\n * @param {string[]} rulesets\n * @param {number[]} pseudo\n * @param {number[]} points\n * @param {string[]} declarations\n * @return {object}\n */\nexport function parse (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {\n\tvar index = 0\n\tvar offset = 0\n\tvar length = pseudo\n\tvar atrule = 0\n\tvar property = 0\n\tvar previous = 0\n\tvar variable = 1\n\tvar scanning = 1\n\tvar ampersand = 1\n\tvar character = 0\n\tvar type = ''\n\tvar props = rules\n\tvar children = rulesets\n\tvar reference = rule\n\tvar characters = type\n\n\twhile (scanning)\n\t\tswitch (previous = character, character = next()) {\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (previous != 108 && charat(characters, length - 1) == 58) {\n\t\t\t\t\tif (indexof(characters += replace(delimit(character), '&', '&\\f'), '&\\f') != -1)\n\t\t\t\t\t\tampersand = -1\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t// \" ' [\n\t\t\tcase 34: case 39: case 91:\n\t\t\t\tcharacters += delimit(character)\n\t\t\t\tbreak\n\t\t\t// \\t \\n \\r \\s\n\t\t\tcase 9: case 10: case 13: case 32:\n\t\t\t\tcharacters += whitespace(previous)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tcharacters += escaping(caret() - 1, 7)\n\t\t\t\tcontinue\n\t\t\t// /\n\t\t\tcase 47:\n\t\t\t\tswitch (peek()) {\n\t\t\t\t\tcase 42: case 47:\n\t\t\t\t\t\tappend(comment(commenter(next(), caret()), root, parent), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcharacters += '/'\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t// {\n\t\t\tcase 123 * variable:\n\t\t\t\tpoints[index++] = strlen(characters) * ampersand\n\t\t\t// } ; \\0\n\t\t\tcase 125 * variable: case 59: case 0:\n\t\t\t\tswitch (character) {\n\t\t\t\t\t// \\0 }\n\t\t\t\t\tcase 0: case 125: scanning = 0\n\t\t\t\t\t// ;\n\t\t\t\t\tcase 59 + offset: if (ampersand == -1) characters = replace(characters, /\\f/g, '')\n\t\t\t\t\t\tif (property > 0 && (strlen(characters) - length))\n\t\t\t\t\t\t\tappend(property > 32 ? declaration(characters + ';', rule, parent, length - 1) : declaration(replace(characters, ' ', '') + ';', rule, parent, length - 2), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @ ;\n\t\t\t\t\tcase 59: characters += ';'\n\t\t\t\t\t// { rule/at-rule\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tappend(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length), rulesets)\n\n\t\t\t\t\t\tif (character === 123)\n\t\t\t\t\t\t\tif (offset === 0)\n\t\t\t\t\t\t\t\tparse(characters, root, reference, reference, props, rulesets, length, points, children)\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tswitch (atrule === 99 && charat(characters, 3) === 110 ? 100 : atrule) {\n\t\t\t\t\t\t\t\t\t// d l m s\n\t\t\t\t\t\t\t\t\tcase 100: case 108: case 109: case 115:\n\t\t\t\t\t\t\t\t\t\tparse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length), children), rules, children, length, points, rule ? props : children)\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\tparse(characters, reference, reference, reference, [''], children, 0, points, children)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tindex = offset = property = 0, variable = ampersand = 1, type = characters = '', length = pseudo\n\t\t\t\tbreak\n\t\t\t// :\n\t\t\tcase 58:\n\t\t\t\tlength = 1 + strlen(characters), property = previous\n\t\t\tdefault:\n\t\t\t\tif (variable < 1)\n\t\t\t\t\tif (character == 123)\n\t\t\t\t\t\t--variable\n\t\t\t\t\telse if (character == 125 && variable++ == 0 && prev() == 125)\n\t\t\t\t\t\tcontinue\n\n\t\t\t\tswitch (characters += from(character), character * variable) {\n\t\t\t\t\t// &\n\t\t\t\t\tcase 38:\n\t\t\t\t\t\tampersand = offset > 0 ? 1 : (characters += '\\f', -1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// ,\n\t\t\t\t\tcase 44:\n\t\t\t\t\t\tpoints[index++] = (strlen(characters) - 1) * ampersand, ampersand = 1\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @\n\t\t\t\t\tcase 64:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (peek() === 45)\n\t\t\t\t\t\t\tcharacters += delimit(next())\n\n\t\t\t\t\t\tatrule = peek(), offset = length = strlen(type = characters += identifier(caret())), character++\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// -\n\t\t\t\t\tcase 45:\n\t\t\t\t\t\tif (previous === 45 && strlen(characters) == 2)\n\t\t\t\t\t\t\tvariable = 0\n\t\t\t\t}\n\t\t}\n\n\treturn rulesets\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} index\n * @param {number} offset\n * @param {string[]} rules\n * @param {number[]} points\n * @param {string} type\n * @param {string[]} props\n * @param {string[]} children\n * @param {number} length\n * @return {object}\n */\nexport function ruleset (value, root, parent, index, offset, rules, points, type, props, children, length) {\n\tvar post = offset - 1\n\tvar rule = offset === 0 ? rules : ['']\n\tvar size = sizeof(rule)\n\n\tfor (var i = 0, j = 0, k = 0; i < index; ++i)\n\t\tfor (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x)\n\t\t\tif (z = trim(j > 0 ? rule[x] + ' ' + y : replace(y, /&\\f/g, rule[x])))\n\t\t\t\tprops[k++] = z\n\n\treturn node(value, root, parent, offset === 0 ? RULESET : type, props, children, length)\n}\n\n/**\n * @param {number} value\n * @param {object} root\n * @param {object?} parent\n * @return {object}\n */\nexport function comment (value, root, parent) {\n\treturn node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0)\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} length\n * @return {object}\n */\nexport function declaration (value, root, parent, length) {\n\treturn node(value, root, parent, DECLARATION, substr(value, 0, length), substr(value, length + 1, -1), length)\n}\n","import {IMPORT, LAYER, COMMENT, RULESET, DECLARATION, KEYFRAMES} from './Enum.js'\nimport {strlen, sizeof} from './Utility.js'\n\n/**\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function serialize (children, callback) {\n\tvar output = ''\n\tvar length = sizeof(children)\n\n\tfor (var i = 0; i < length; i++)\n\t\toutput += callback(children[i], i, children, callback) || ''\n\n\treturn output\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function stringify (element, index, children, callback) {\n\tswitch (element.type) {\n\t\tcase LAYER: if (element.children.length) break\n\t\tcase IMPORT: case DECLARATION: return element.return = element.return || element.value\n\t\tcase COMMENT: return ''\n\t\tcase KEYFRAMES: return element.return = element.value + '{' + serialize(element.children, callback) + '}'\n\t\tcase RULESET: element.value = element.props.join(',')\n\t}\n\n\treturn strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : ''\n}\n","import {MS, MOZ, WEBKIT, RULESET, KEYFRAMES, DECLARATION} from './Enum.js'\nimport {match, charat, substr, strlen, sizeof, replace, combine} from './Utility.js'\nimport {copy, tokenize} from './Tokenizer.js'\nimport {serialize} from './Serializer.js'\nimport {prefix} from './Prefixer.js'\n\n/**\n * @param {function[]} collection\n * @return {function}\n */\nexport function middleware (collection) {\n\tvar length = sizeof(collection)\n\n\treturn function (element, index, children, callback) {\n\t\tvar output = ''\n\n\t\tfor (var i = 0; i < length; i++)\n\t\t\toutput += collection[i](element, index, children, callback) || ''\n\n\t\treturn output\n\t}\n}\n\n/**\n * @param {function} callback\n * @return {function}\n */\nexport function rulesheet (callback) {\n\treturn function (element) {\n\t\tif (!element.root)\n\t\t\tif (element = element.return)\n\t\t\t\tcallback(element)\n\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n */\nexport function prefixer (element, index, children, callback) {\n\tif (element.length > -1)\n\t\tif (!element.return)\n\t\t\tswitch (element.type) {\n\t\t\t\tcase DECLARATION: element.return = prefix(element.value, element.length, children)\n\t\t\t\t\treturn\n\t\t\t\tcase KEYFRAMES:\n\t\t\t\t\treturn serialize([copy(element, {value: replace(element.value, '@', '@' + WEBKIT)})], callback)\n\t\t\t\tcase RULESET:\n\t\t\t\t\tif (element.length)\n\t\t\t\t\t\treturn combine(element.props, function (value) {\n\t\t\t\t\t\t\tswitch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n\t\t\t\t\t\t\t\t// :read-(only|write)\n\t\t\t\t\t\t\t\tcase ':read-only': case ':read-write':\n\t\t\t\t\t\t\t\t\treturn serialize([copy(element, {props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]})], callback)\n\t\t\t\t\t\t\t\t// :placeholder\n\t\t\t\t\t\t\t\tcase '::placeholder':\n\t\t\t\t\t\t\t\t\treturn serialize([\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]})\n\t\t\t\t\t\t\t\t\t], callback)\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn ''\n\t\t\t\t\t\t})\n\t\t\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n */\nexport function namespace (element) {\n\tswitch (element.type) {\n\t\tcase RULESET:\n\t\t\telement.props = element.props.map(function (value) {\n\t\t\t\treturn combine(tokenize(value), function (value, index, children) {\n\t\t\t\t\tswitch (charat(value, 0)) {\n\t\t\t\t\t\t// \\f\n\t\t\t\t\t\tcase 12:\n\t\t\t\t\t\t\treturn substr(value, 1, strlen(value))\n\t\t\t\t\t\t// \\0 ( + > ~\n\t\t\t\t\t\tcase 0: case 40: case 43: case 62: case 126:\n\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t// :\n\t\t\t\t\t\tcase 58:\n\t\t\t\t\t\t\tif (children[++index] === 'global')\n\t\t\t\t\t\t\t\tchildren[index] = '', children[++index] = '\\f' + substr(children[index], index = 1, -1)\n\t\t\t\t\t\t// \\s\n\t\t\t\t\t\tcase 32:\n\t\t\t\t\t\t\treturn index === 1 ? '' : value\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tswitch (index) {\n\t\t\t\t\t\t\t\tcase 0: element = value\n\t\t\t\t\t\t\t\t\treturn sizeof(children) > 1 ? '' : value\n\t\t\t\t\t\t\t\tcase index = sizeof(children) - 1: case 2:\n\t\t\t\t\t\t\t\t\treturn index === 2 ? value + element + element : value + element\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t})\n\t}\n}\n","import { StyleSheet } from '@emotion/sheet';\nimport { dealloc, alloc, next, token, from, peek, delimit, slice, position, RULESET, combine, match, serialize, copy, replace, WEBKIT, MOZ, MS, KEYFRAMES, DECLARATION, hash, charat, strlen, indexof, stringify, COMMENT, rulesheet, middleware, compile } from 'stylis';\nimport '@emotion/weak-memoize';\nimport '@emotion/memoize';\n\nvar identifierWithPointTracking = function identifierWithPointTracking(begin, points, index) {\n var previous = 0;\n var character = 0;\n\n while (true) {\n previous = character;\n character = peek(); // &\\f\n\n if (previous === 38 && character === 12) {\n points[index] = 1;\n }\n\n if (token(character)) {\n break;\n }\n\n next();\n }\n\n return slice(begin, position);\n};\n\nvar toRules = function toRules(parsed, points) {\n // pretend we've started with a comma\n var index = -1;\n var character = 44;\n\n do {\n switch (token(character)) {\n case 0:\n // &\\f\n if (character === 38 && peek() === 12) {\n // this is not 100% correct, we don't account for literal sequences here - like for example quoted strings\n // stylis inserts \\f after & to know when & where it should replace this sequence with the context selector\n // and when it should just concatenate the outer and inner selectors\n // it's very unlikely for this sequence to actually appear in a different context, so we just leverage this fact here\n points[index] = 1;\n }\n\n parsed[index] += identifierWithPointTracking(position - 1, points, index);\n break;\n\n case 2:\n parsed[index] += delimit(character);\n break;\n\n case 4:\n // comma\n if (character === 44) {\n // colon\n parsed[++index] = peek() === 58 ? '&\\f' : '';\n points[index] = parsed[index].length;\n break;\n }\n\n // fallthrough\n\n default:\n parsed[index] += from(character);\n }\n } while (character = next());\n\n return parsed;\n};\n\nvar getRules = function getRules(value, points) {\n return dealloc(toRules(alloc(value), points));\n}; // WeakSet would be more appropriate, but only WeakMap is supported in IE11\n\n\nvar fixedElements = /* #__PURE__ */new WeakMap();\nvar compat = function compat(element) {\n if (element.type !== 'rule' || !element.parent || // positive .length indicates that this rule contains pseudo\n // negative .length indicates that this rule has been already prefixed\n element.length < 1) {\n return;\n }\n\n var value = element.value,\n parent = element.parent;\n var isImplicitRule = element.column === parent.column && element.line === parent.line;\n\n while (parent.type !== 'rule') {\n parent = parent.parent;\n if (!parent) return;\n } // short-circuit for the simplest case\n\n\n if (element.props.length === 1 && value.charCodeAt(0) !== 58\n /* colon */\n && !fixedElements.get(parent)) {\n return;\n } // if this is an implicitly inserted rule (the one eagerly inserted at the each new nested level)\n // then the props has already been manipulated beforehand as they that array is shared between it and its \"rule parent\"\n\n\n if (isImplicitRule) {\n return;\n }\n\n fixedElements.set(element, true);\n var points = [];\n var rules = getRules(value, points);\n var parentRules = parent.props;\n\n for (var i = 0, k = 0; i < rules.length; i++) {\n for (var j = 0; j < parentRules.length; j++, k++) {\n element.props[k] = points[i] ? rules[i].replace(/&\\f/g, parentRules[j]) : parentRules[j] + \" \" + rules[i];\n }\n }\n};\nvar removeLabel = function removeLabel(element) {\n if (element.type === 'decl') {\n var value = element.value;\n\n if ( // charcode for l\n value.charCodeAt(0) === 108 && // charcode for b\n value.charCodeAt(2) === 98) {\n // this ignores label\n element[\"return\"] = '';\n element.value = '';\n }\n }\n};\nvar ignoreFlag = 'emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason';\n\nvar isIgnoringComment = function isIgnoringComment(element) {\n return element.type === 'comm' && element.children.indexOf(ignoreFlag) > -1;\n};\n\nvar createUnsafeSelectorsAlarm = function createUnsafeSelectorsAlarm(cache) {\n return function (element, index, children) {\n if (element.type !== 'rule' || cache.compat) return;\n var unsafePseudoClasses = element.value.match(/(:first|:nth|:nth-last)-child/g);\n\n if (unsafePseudoClasses) {\n var isNested = !!element.parent; // in nested rules comments become children of the \"auto-inserted\" rule and that's always the `element.parent`\n //\n // considering this input:\n // .a {\n // .b /* comm */ {}\n // color: hotpink;\n // }\n // we get output corresponding to this:\n // .a {\n // & {\n // /* comm */\n // color: hotpink;\n // }\n // .b {}\n // }\n\n var commentContainer = isNested ? element.parent.children : // global rule at the root level\n children;\n\n for (var i = commentContainer.length - 1; i >= 0; i--) {\n var node = commentContainer[i];\n\n if (node.line < element.line) {\n break;\n } // it is quite weird but comments are *usually* put at `column: element.column - 1`\n // so we seek *from the end* for the node that is earlier than the rule's `element` and check that\n // this will also match inputs like this:\n // .a {\n // /* comm */\n // .b {}\n // }\n //\n // but that is fine\n //\n // it would be the easiest to change the placement of the comment to be the first child of the rule:\n // .a {\n // .b { /* comm */ }\n // }\n // with such inputs we wouldn't have to search for the comment at all\n // TODO: consider changing this comment placement in the next major version\n\n\n if (node.column < element.column) {\n if (isIgnoringComment(node)) {\n return;\n }\n\n break;\n }\n }\n\n unsafePseudoClasses.forEach(function (unsafePseudoClass) {\n console.error(\"The pseudo class \\\"\" + unsafePseudoClass + \"\\\" is potentially unsafe when doing server-side rendering. Try changing it to \\\"\" + unsafePseudoClass.split('-child')[0] + \"-of-type\\\".\");\n });\n }\n };\n};\n\nvar isImportRule = function isImportRule(element) {\n return element.type.charCodeAt(1) === 105 && element.type.charCodeAt(0) === 64;\n};\n\nvar isPrependedWithRegularRules = function isPrependedWithRegularRules(index, children) {\n for (var i = index - 1; i >= 0; i--) {\n if (!isImportRule(children[i])) {\n return true;\n }\n }\n\n return false;\n}; // use this to remove incorrect elements from further processing\n// so they don't get handed to the `sheet` (or anything else)\n// as that could potentially lead to additional logs which in turn could be overhelming to the user\n\n\nvar nullifyElement = function nullifyElement(element) {\n element.type = '';\n element.value = '';\n element[\"return\"] = '';\n element.children = '';\n element.props = '';\n};\n\nvar incorrectImportAlarm = function incorrectImportAlarm(element, index, children) {\n if (!isImportRule(element)) {\n return;\n }\n\n if (element.parent) {\n console.error(\"`@import` rules can't be nested inside other rules. Please move it to the top level and put it before regular rules. Keep in mind that they can only be used within global styles.\");\n nullifyElement(element);\n } else if (isPrependedWithRegularRules(index, children)) {\n console.error(\"`@import` rules can't be after other rules. Please put your `@import` rules before your other rules.\");\n nullifyElement(element);\n }\n};\n\n/* eslint-disable no-fallthrough */\n\nfunction prefix(value, length) {\n switch (hash(value, length)) {\n // color-adjust\n case 5103:\n return WEBKIT + 'print-' + value + value;\n // animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)\n\n case 5737:\n case 4201:\n case 3177:\n case 3433:\n case 1641:\n case 4457:\n case 2921: // text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break\n\n case 5572:\n case 6356:\n case 5844:\n case 3191:\n case 6645:\n case 3005: // mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite,\n\n case 6391:\n case 5879:\n case 5623:\n case 6135:\n case 4599:\n case 4855: // background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)\n\n case 4215:\n case 6389:\n case 5109:\n case 5365:\n case 5621:\n case 3829:\n return WEBKIT + value + value;\n // appearance, user-select, transform, hyphens, text-size-adjust\n\n case 5349:\n case 4246:\n case 4810:\n case 6968:\n case 2756:\n return WEBKIT + value + MOZ + value + MS + value + value;\n // flex, flex-direction\n\n case 6828:\n case 4268:\n return WEBKIT + value + MS + value + value;\n // order\n\n case 6165:\n return WEBKIT + value + MS + 'flex-' + value + value;\n // align-items\n\n case 5187:\n return WEBKIT + value + replace(value, /(\\w+).+(:[^]+)/, WEBKIT + 'box-$1$2' + MS + 'flex-$1$2') + value;\n // align-self\n\n case 5443:\n return WEBKIT + value + MS + 'flex-item-' + replace(value, /flex-|-self/, '') + value;\n // align-content\n\n case 4675:\n return WEBKIT + value + MS + 'flex-line-pack' + replace(value, /align-content|flex-|-self/, '') + value;\n // flex-shrink\n\n case 5548:\n return WEBKIT + value + MS + replace(value, 'shrink', 'negative') + value;\n // flex-basis\n\n case 5292:\n return WEBKIT + value + MS + replace(value, 'basis', 'preferred-size') + value;\n // flex-grow\n\n case 6060:\n return WEBKIT + 'box-' + replace(value, '-grow', '') + WEBKIT + value + MS + replace(value, 'grow', 'positive') + value;\n // transition\n\n case 4554:\n return WEBKIT + replace(value, /([^-])(transform)/g, '$1' + WEBKIT + '$2') + value;\n // cursor\n\n case 6187:\n return replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + '$1'), /(image-set)/, WEBKIT + '$1'), value, '') + value;\n // background, background-image\n\n case 5495:\n case 3959:\n return replace(value, /(image-set\\([^]*)/, WEBKIT + '$1' + '$`$1');\n // justify-content\n\n case 4968:\n return replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + 'box-pack:$3' + MS + 'flex-pack:$3'), /s.+-b[^;]+/, 'justify') + WEBKIT + value + value;\n // (margin|padding)-inline-(start|end)\n\n case 4095:\n case 3583:\n case 4068:\n case 2532:\n return replace(value, /(.+)-inline(.+)/, WEBKIT + '$1$2') + value;\n // (min|max)?(width|height|inline-size|block-size)\n\n case 8116:\n case 7059:\n case 5753:\n case 5535:\n case 5445:\n case 5701:\n case 4933:\n case 4677:\n case 5533:\n case 5789:\n case 5021:\n case 4765:\n // stretch, max-content, min-content, fill-available\n if (strlen(value) - 1 - length > 6) switch (charat(value, length + 1)) {\n // (m)ax-content, (m)in-content\n case 109:\n // -\n if (charat(value, length + 4) !== 45) break;\n // (f)ill-available, (f)it-content\n\n case 102:\n return replace(value, /(.+:)(.+)-([^]+)/, '$1' + WEBKIT + '$2-$3' + '$1' + MOZ + (charat(value, length + 3) == 108 ? '$3' : '$2-$3')) + value;\n // (s)tretch\n\n case 115:\n return ~indexof(value, 'stretch') ? prefix(replace(value, 'stretch', 'fill-available'), length) + value : value;\n }\n break;\n // position: sticky\n\n case 4949:\n // (s)ticky?\n if (charat(value, length + 1) !== 115) break;\n // display: (flex|inline-flex)\n\n case 6444:\n switch (charat(value, strlen(value) - 3 - (~indexof(value, '!important') && 10))) {\n // stic(k)y\n case 107:\n return replace(value, ':', ':' + WEBKIT) + value;\n // (inline-)?fl(e)x\n\n case 101:\n return replace(value, /(.+:)([^;!]+)(;|!.+)?/, '$1' + WEBKIT + (charat(value, 14) === 45 ? 'inline-' : '') + 'box$3' + '$1' + WEBKIT + '$2$3' + '$1' + MS + '$2box$3') + value;\n }\n\n break;\n // writing-mode\n\n case 5936:\n switch (charat(value, length + 11)) {\n // vertical-l(r)\n case 114:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb') + value;\n // vertical-r(l)\n\n case 108:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb-rl') + value;\n // horizontal(-)tb\n\n case 45:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'lr') + value;\n }\n\n return WEBKIT + value + MS + value + value;\n }\n\n return value;\n}\n\nvar prefixer = function prefixer(element, index, children, callback) {\n if (element.length > -1) if (!element[\"return\"]) switch (element.type) {\n case DECLARATION:\n element[\"return\"] = prefix(element.value, element.length);\n break;\n\n case KEYFRAMES:\n return serialize([copy(element, {\n value: replace(element.value, '@', '@' + WEBKIT)\n })], callback);\n\n case RULESET:\n if (element.length) return combine(element.props, function (value) {\n switch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n // :read-(only|write)\n case ':read-only':\n case ':read-write':\n return serialize([copy(element, {\n props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]\n })], callback);\n // :placeholder\n\n case '::placeholder':\n return serialize([copy(element, {\n props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]\n }), copy(element, {\n props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]\n }), copy(element, {\n props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]\n })], callback);\n }\n\n return '';\n });\n }\n};\n\nvar defaultStylisPlugins = [prefixer];\n\nvar createCache = function createCache(options) {\n var key = options.key;\n\n if (process.env.NODE_ENV !== 'production' && !key) {\n throw new Error(\"You have to configure `key` for your cache. Please make sure it's unique (and not equal to 'css') as it's used for linking styles to your cache.\\n\" + \"If multiple caches share the same key they might \\\"fight\\\" for each other's style elements.\");\n }\n\n if (key === 'css') {\n var ssrStyles = document.querySelectorAll(\"style[data-emotion]:not([data-s])\"); // get SSRed styles out of the way of React's hydration\n // document.head is a safe place to move them to(though note document.head is not necessarily the last place they will be)\n // note this very very intentionally targets all style elements regardless of the key to ensure\n // that creating a cache works inside of render of a React component\n\n Array.prototype.forEach.call(ssrStyles, function (node) {\n // we want to only move elements which have a space in the data-emotion attribute value\n // because that indicates that it is an Emotion 11 server-side rendered style elements\n // while we will already ignore Emotion 11 client-side inserted styles because of the :not([data-s]) part in the selector\n // Emotion 10 client-side inserted styles did not have data-s (but importantly did not have a space in their data-emotion attributes)\n // so checking for the space ensures that loading Emotion 11 after Emotion 10 has inserted some styles\n // will not result in the Emotion 10 styles being destroyed\n var dataEmotionAttribute = node.getAttribute('data-emotion');\n\n if (dataEmotionAttribute.indexOf(' ') === -1) {\n return;\n }\n document.head.appendChild(node);\n node.setAttribute('data-s', '');\n });\n }\n\n var stylisPlugins = options.stylisPlugins || defaultStylisPlugins;\n\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe\n if (/[^a-z-]/.test(key)) {\n throw new Error(\"Emotion key must only contain lower case alphabetical characters and - but \\\"\" + key + \"\\\" was passed\");\n }\n }\n\n var inserted = {};\n var container;\n var nodesToHydrate = [];\n\n {\n container = options.container || document.head;\n Array.prototype.forEach.call( // this means we will ignore elements which don't have a space in them which\n // means that the style elements we're looking at are only Emotion 11 server-rendered style elements\n document.querySelectorAll(\"style[data-emotion^=\\\"\" + key + \" \\\"]\"), function (node) {\n var attrib = node.getAttribute(\"data-emotion\").split(' '); // $FlowFixMe\n\n for (var i = 1; i < attrib.length; i++) {\n inserted[attrib[i]] = true;\n }\n\n nodesToHydrate.push(node);\n });\n }\n\n var _insert;\n\n var omnipresentPlugins = [compat, removeLabel];\n\n if (process.env.NODE_ENV !== 'production') {\n omnipresentPlugins.push(createUnsafeSelectorsAlarm({\n get compat() {\n return cache.compat;\n }\n\n }), incorrectImportAlarm);\n }\n\n {\n var currentSheet;\n var finalizingPlugins = [stringify, process.env.NODE_ENV !== 'production' ? function (element) {\n if (!element.root) {\n if (element[\"return\"]) {\n currentSheet.insert(element[\"return\"]);\n } else if (element.value && element.type !== COMMENT) {\n // insert empty rule in non-production environments\n // so @emotion/jest can grab `key` from the (JS)DOM for caches without any rules inserted yet\n currentSheet.insert(element.value + \"{}\");\n }\n }\n } : rulesheet(function (rule) {\n currentSheet.insert(rule);\n })];\n var serializer = middleware(omnipresentPlugins.concat(stylisPlugins, finalizingPlugins));\n\n var stylis = function stylis(styles) {\n return serialize(compile(styles), serializer);\n };\n\n _insert = function insert(selector, serialized, sheet, shouldCache) {\n currentSheet = sheet;\n\n if (process.env.NODE_ENV !== 'production' && serialized.map !== undefined) {\n currentSheet = {\n insert: function insert(rule) {\n sheet.insert(rule + serialized.map);\n }\n };\n }\n\n stylis(selector ? selector + \"{\" + serialized.styles + \"}\" : serialized.styles);\n\n if (shouldCache) {\n cache.inserted[serialized.name] = true;\n }\n };\n }\n\n var cache = {\n key: key,\n sheet: new StyleSheet({\n key: key,\n container: container,\n nonce: options.nonce,\n speedy: options.speedy,\n prepend: options.prepend,\n insertionPoint: options.insertionPoint\n }),\n nonce: options.nonce,\n inserted: inserted,\n registered: {},\n insert: _insert\n };\n cache.sheet.hydrate(nodesToHydrate);\n return cache;\n};\n\nexport { createCache as default };\n","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { CacheProvider } from '@emotion/react';\nimport createCache from '@emotion/cache';\n\n// prepend: true moves MUI styles to the top of the <head> so they're loaded first.\n// It allows developers to easily override MUI styles with other styling solutions, like CSS modules.\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nlet cache;\nif (typeof document === 'object') {\n cache = createCache({\n key: 'css',\n prepend: true\n });\n}\nexport default function StyledEngineProvider(props) {\n const {\n injectFirst,\n children\n } = props;\n return injectFirst && cache ? /*#__PURE__*/_jsx(CacheProvider, {\n value: cache,\n children: children\n }) : children;\n}\nprocess.env.NODE_ENV !== \"production\" ? StyledEngineProvider.propTypes = {\n /**\n * Your component tree.\n */\n children: PropTypes.node,\n /**\n * By default, the styles are injected last in the <head> element of the page.\n * As a result, they gain more specificity than any other style sheet.\n * If you want to override MUI's styles, set this prop.\n */\n injectFirst: PropTypes.bool\n} : void 0;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { Global } from '@emotion/react';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction isEmpty(obj) {\n return obj === undefined || obj === null || Object.keys(obj).length === 0;\n}\nexport default function GlobalStyles(props) {\n const {\n styles,\n defaultTheme = {}\n } = props;\n const globalStyles = typeof styles === 'function' ? themeInput => styles(isEmpty(themeInput) ? defaultTheme : themeInput) : styles;\n return /*#__PURE__*/_jsx(Global, {\n styles: globalStyles\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? GlobalStyles.propTypes = {\n defaultTheme: PropTypes.object,\n styles: PropTypes.oneOfType([PropTypes.array, PropTypes.string, PropTypes.object, PropTypes.func])\n} : void 0;","/**\n * @mui/styled-engine v5.15.14\n *\n * @license MIT\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use client';\n\n/* eslint-disable no-underscore-dangle */\nimport emStyled from '@emotion/styled';\nexport default function styled(tag, options) {\n const stylesFactory = emStyled(tag, options);\n if (process.env.NODE_ENV !== 'production') {\n return (...styles) => {\n const component = typeof tag === 'string' ? `\"${tag}\"` : 'component';\n if (styles.length === 0) {\n console.error([`MUI: Seems like you called \\`styled(${component})()\\` without a \\`style\\` argument.`, 'You must provide a `styles` argument: `styled(\"div\")(styleYouForgotToPass)`.'].join('\\n'));\n } else if (styles.some(style => style === undefined)) {\n console.error(`MUI: the styled(${component})(...args) API requires all its args to be defined.`);\n }\n return stylesFactory(...styles);\n };\n }\n return stylesFactory;\n}\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const internal_processStyles = (tag, processor) => {\n // Emotion attaches all the styles as `__emotion_styles`.\n // Ref: https://github.com/emotion-js/emotion/blob/16d971d0da229596d6bcc39d282ba9753c9ee7cf/packages/styled/src/base.js#L186\n if (Array.isArray(tag.__emotion_styles)) {\n tag.__emotion_styles = processor(tag.__emotion_styles);\n }\n};\nexport { ThemeContext, keyframes, css } from '@emotion/react';\nexport { default as StyledEngineProvider } from './StyledEngineProvider';\nexport { default as GlobalStyles } from './GlobalStyles';","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// https://github.com/sindresorhus/is-plain-obj/blob/main/index.js\nexport function isPlainObject(item) {\n if (typeof item !== 'object' || item === null) {\n return false;\n }\n const prototype = Object.getPrototypeOf(item);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in item) && !(Symbol.iterator in item);\n}\nfunction deepClone(source) {\n if (!isPlainObject(source)) {\n return source;\n }\n const output = {};\n Object.keys(source).forEach(key => {\n output[key] = deepClone(source[key]);\n });\n return output;\n}\nexport default function deepmerge(target, source, options = {\n clone: true\n}) {\n const output = options.clone ? _extends({}, target) : target;\n if (isPlainObject(target) && isPlainObject(source)) {\n Object.keys(source).forEach(key => {\n // Avoid prototype pollution\n if (key === '__proto__') {\n return;\n }\n if (isPlainObject(source[key]) && key in target && isPlainObject(target[key])) {\n // Since `output` is a clone of `target` and we have narrowed `target` in this block we can cast to the same type.\n output[key] = deepmerge(target[key], source[key], options);\n } else if (options.clone) {\n output[key] = isPlainObject(source[key]) ? deepClone(source[key]) : source[key];\n } else {\n output[key] = source[key];\n }\n });\n }\n return output;\n}","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"values\", \"unit\", \"step\"];\n// Sorted ASC by size. That's important.\n// It can't be configured as it's used statically for propTypes.\nexport const breakpointKeys = ['xs', 'sm', 'md', 'lg', 'xl'];\nconst sortBreakpointsValues = values => {\n const breakpointsAsArray = Object.keys(values).map(key => ({\n key,\n val: values[key]\n })) || [];\n // Sort in ascending order\n breakpointsAsArray.sort((breakpoint1, breakpoint2) => breakpoint1.val - breakpoint2.val);\n return breakpointsAsArray.reduce((acc, obj) => {\n return _extends({}, acc, {\n [obj.key]: obj.val\n });\n }, {});\n};\n\n// Keep in mind that @media is inclusive by the CSS specification.\nexport default function createBreakpoints(breakpoints) {\n const {\n // The breakpoint **start** at this value.\n // For instance with the first breakpoint xs: [xs, sm).\n values = {\n xs: 0,\n // phone\n sm: 600,\n // tablet\n md: 900,\n // small laptop\n lg: 1200,\n // desktop\n xl: 1536 // large screen\n },\n unit = 'px',\n step = 5\n } = breakpoints,\n other = _objectWithoutPropertiesLoose(breakpoints, _excluded);\n const sortedValues = sortBreakpointsValues(values);\n const keys = Object.keys(sortedValues);\n function up(key) {\n const value = typeof values[key] === 'number' ? values[key] : key;\n return `@media (min-width:${value}${unit})`;\n }\n function down(key) {\n const value = typeof values[key] === 'number' ? values[key] : key;\n return `@media (max-width:${value - step / 100}${unit})`;\n }\n function between(start, end) {\n const endIndex = keys.indexOf(end);\n return `@media (min-width:${typeof values[start] === 'number' ? values[start] : start}${unit}) and ` + `(max-width:${(endIndex !== -1 && typeof values[keys[endIndex]] === 'number' ? values[keys[endIndex]] : end) - step / 100}${unit})`;\n }\n function only(key) {\n if (keys.indexOf(key) + 1 < keys.length) {\n return between(key, keys[keys.indexOf(key) + 1]);\n }\n return up(key);\n }\n function not(key) {\n // handle first and last key separately, for better readability\n const keyIndex = keys.indexOf(key);\n if (keyIndex === 0) {\n return up(keys[1]);\n }\n if (keyIndex === keys.length - 1) {\n return down(keys[keyIndex]);\n }\n return between(key, keys[keys.indexOf(key) + 1]).replace('@media', '@media not all and');\n }\n return _extends({\n keys,\n values: sortedValues,\n up,\n down,\n between,\n only,\n not,\n unit\n }, other);\n}","const shape = {\n borderRadius: 4\n};\nexport default shape;","import deepmerge from '@mui/utils/deepmerge';\nfunction merge(acc, item) {\n if (!item) {\n return acc;\n }\n return deepmerge(acc, item, {\n clone: false // No need to clone deep, it's way faster.\n });\n}\nexport default merge;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport PropTypes from 'prop-types';\nimport deepmerge from '@mui/utils/deepmerge';\nimport merge from './merge';\n\n// The breakpoint **start** at this value.\n// For instance with the first breakpoint xs: [xs, sm[.\nexport const values = {\n xs: 0,\n // phone\n sm: 600,\n // tablet\n md: 900,\n // small laptop\n lg: 1200,\n // desktop\n xl: 1536 // large screen\n};\nconst defaultBreakpoints = {\n // Sorted ASC by size. That's important.\n // It can't be configured as it's used statically for propTypes.\n keys: ['xs', 'sm', 'md', 'lg', 'xl'],\n up: key => `@media (min-width:${values[key]}px)`\n};\nexport function handleBreakpoints(props, propValue, styleFromPropValue) {\n const theme = props.theme || {};\n if (Array.isArray(propValue)) {\n const themeBreakpoints = theme.breakpoints || defaultBreakpoints;\n return propValue.reduce((acc, item, index) => {\n acc[themeBreakpoints.up(themeBreakpoints.keys[index])] = styleFromPropValue(propValue[index]);\n return acc;\n }, {});\n }\n if (typeof propValue === 'object') {\n const themeBreakpoints = theme.breakpoints || defaultBreakpoints;\n return Object.keys(propValue).reduce((acc, breakpoint) => {\n // key is breakpoint\n if (Object.keys(themeBreakpoints.values || values).indexOf(breakpoint) !== -1) {\n const mediaKey = themeBreakpoints.up(breakpoint);\n acc[mediaKey] = styleFromPropValue(propValue[breakpoint], breakpoint);\n } else {\n const cssKey = breakpoint;\n acc[cssKey] = propValue[cssKey];\n }\n return acc;\n }, {});\n }\n const output = styleFromPropValue(propValue);\n return output;\n}\nfunction breakpoints(styleFunction) {\n // false positive\n // eslint-disable-next-line react/function-component-definition\n const newStyleFunction = props => {\n const theme = props.theme || {};\n const base = styleFunction(props);\n const themeBreakpoints = theme.breakpoints || defaultBreakpoints;\n const extended = themeBreakpoints.keys.reduce((acc, key) => {\n if (props[key]) {\n acc = acc || {};\n acc[themeBreakpoints.up(key)] = styleFunction(_extends({\n theme\n }, props[key]));\n }\n return acc;\n }, null);\n return merge(base, extended);\n };\n newStyleFunction.propTypes = process.env.NODE_ENV !== 'production' ? _extends({}, styleFunction.propTypes, {\n xs: PropTypes.object,\n sm: PropTypes.object,\n md: PropTypes.object,\n lg: PropTypes.object,\n xl: PropTypes.object\n }) : {};\n newStyleFunction.filterProps = ['xs', 'sm', 'md', 'lg', 'xl', ...styleFunction.filterProps];\n return newStyleFunction;\n}\nexport function createEmptyBreakpointObject(breakpointsInput = {}) {\n var _breakpointsInput$key;\n const breakpointsInOrder = (_breakpointsInput$key = breakpointsInput.keys) == null ? void 0 : _breakpointsInput$key.reduce((acc, key) => {\n const breakpointStyleKey = breakpointsInput.up(key);\n acc[breakpointStyleKey] = {};\n return acc;\n }, {});\n return breakpointsInOrder || {};\n}\nexport function removeUnusedBreakpoints(breakpointKeys, style) {\n return breakpointKeys.reduce((acc, key) => {\n const breakpointOutput = acc[key];\n const isBreakpointUnused = !breakpointOutput || Object.keys(breakpointOutput).length === 0;\n if (isBreakpointUnused) {\n delete acc[key];\n }\n return acc;\n }, style);\n}\nexport function mergeBreakpointsInOrder(breakpointsInput, ...styles) {\n const emptyBreakpoints = createEmptyBreakpointObject(breakpointsInput);\n const mergedOutput = [emptyBreakpoints, ...styles].reduce((prev, next) => deepmerge(prev, next), {});\n return removeUnusedBreakpoints(Object.keys(emptyBreakpoints), mergedOutput);\n}\n\n// compute base for responsive values; e.g.,\n// [1,2,3] => {xs: true, sm: true, md: true}\n// {xs: 1, sm: 2, md: 3} => {xs: true, sm: true, md: true}\nexport function computeBreakpointsBase(breakpointValues, themeBreakpoints) {\n // fixed value\n if (typeof breakpointValues !== 'object') {\n return {};\n }\n const base = {};\n const breakpointsKeys = Object.keys(themeBreakpoints);\n if (Array.isArray(breakpointValues)) {\n breakpointsKeys.forEach((breakpoint, i) => {\n if (i < breakpointValues.length) {\n base[breakpoint] = true;\n }\n });\n } else {\n breakpointsKeys.forEach(breakpoint => {\n if (breakpointValues[breakpoint] != null) {\n base[breakpoint] = true;\n }\n });\n }\n return base;\n}\nexport function resolveBreakpointValues({\n values: breakpointValues,\n breakpoints: themeBreakpoints,\n base: customBase\n}) {\n const base = customBase || computeBreakpointsBase(breakpointValues, themeBreakpoints);\n const keys = Object.keys(base);\n if (keys.length === 0) {\n return breakpointValues;\n }\n let previous;\n return keys.reduce((acc, breakpoint, i) => {\n if (Array.isArray(breakpointValues)) {\n acc[breakpoint] = breakpointValues[i] != null ? breakpointValues[i] : breakpointValues[previous];\n previous = i;\n } else if (typeof breakpointValues === 'object') {\n acc[breakpoint] = breakpointValues[breakpoint] != null ? breakpointValues[breakpoint] : breakpointValues[previous];\n previous = breakpoint;\n } else {\n acc[breakpoint] = breakpointValues;\n }\n return acc;\n }, {});\n}\nexport default breakpoints;","import _formatMuiErrorMessage from \"@mui/utils/formatMuiErrorMessage\";\n// It should to be noted that this function isn't equivalent to `text-transform: capitalize`.\n//\n// A strict capitalization should uppercase the first letter of each word in the sentence.\n// We only handle the first word.\nexport default function capitalize(string) {\n if (typeof string !== 'string') {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: \\`capitalize(string)\\` expects a string argument.` : _formatMuiErrorMessage(7));\n }\n return string.charAt(0).toUpperCase() + string.slice(1);\n}","import capitalize from '@mui/utils/capitalize';\nimport responsivePropType from './responsivePropType';\nimport { handleBreakpoints } from './breakpoints';\nexport function getPath(obj, path, checkVars = true) {\n if (!path || typeof path !== 'string') {\n return null;\n }\n\n // Check if CSS variables are used\n if (obj && obj.vars && checkVars) {\n const val = `vars.${path}`.split('.').reduce((acc, item) => acc && acc[item] ? acc[item] : null, obj);\n if (val != null) {\n return val;\n }\n }\n return path.split('.').reduce((acc, item) => {\n if (acc && acc[item] != null) {\n return acc[item];\n }\n return null;\n }, obj);\n}\nexport function getStyleValue(themeMapping, transform, propValueFinal, userValue = propValueFinal) {\n let value;\n if (typeof themeMapping === 'function') {\n value = themeMapping(propValueFinal);\n } else if (Array.isArray(themeMapping)) {\n value = themeMapping[propValueFinal] || userValue;\n } else {\n value = getPath(themeMapping, propValueFinal) || userValue;\n }\n if (transform) {\n value = transform(value, userValue, themeMapping);\n }\n return value;\n}\nfunction style(options) {\n const {\n prop,\n cssProperty = options.prop,\n themeKey,\n transform\n } = options;\n\n // false positive\n // eslint-disable-next-line react/function-component-definition\n const fn = props => {\n if (props[prop] == null) {\n return null;\n }\n const propValue = props[prop];\n const theme = props.theme;\n const themeMapping = getPath(theme, themeKey) || {};\n const styleFromPropValue = propValueFinal => {\n let value = getStyleValue(themeMapping, transform, propValueFinal);\n if (propValueFinal === value && typeof propValueFinal === 'string') {\n // Haven't found value\n value = getStyleValue(themeMapping, transform, `${prop}${propValueFinal === 'default' ? '' : capitalize(propValueFinal)}`, propValueFinal);\n }\n if (cssProperty === false) {\n return value;\n }\n return {\n [cssProperty]: value\n };\n };\n return handleBreakpoints(props, propValue, styleFromPropValue);\n };\n fn.propTypes = process.env.NODE_ENV !== 'production' ? {\n [prop]: responsivePropType\n } : {};\n fn.filterProps = [prop];\n return fn;\n}\nexport default style;","export default function memoize(fn) {\n const cache = {};\n return arg => {\n if (cache[arg] === undefined) {\n cache[arg] = fn(arg);\n }\n return cache[arg];\n };\n}","import responsivePropType from './responsivePropType';\nimport { handleBreakpoints } from './breakpoints';\nimport { getPath } from './style';\nimport merge from './merge';\nimport memoize from './memoize';\nconst properties = {\n m: 'margin',\n p: 'padding'\n};\nconst directions = {\n t: 'Top',\n r: 'Right',\n b: 'Bottom',\n l: 'Left',\n x: ['Left', 'Right'],\n y: ['Top', 'Bottom']\n};\nconst aliases = {\n marginX: 'mx',\n marginY: 'my',\n paddingX: 'px',\n paddingY: 'py'\n};\n\n// memoize() impact:\n// From 300,000 ops/sec\n// To 350,000 ops/sec\nconst getCssProperties = memoize(prop => {\n // It's not a shorthand notation.\n if (prop.length > 2) {\n if (aliases[prop]) {\n prop = aliases[prop];\n } else {\n return [prop];\n }\n }\n const [a, b] = prop.split('');\n const property = properties[a];\n const direction = directions[b] || '';\n return Array.isArray(direction) ? direction.map(dir => property + dir) : [property + direction];\n});\nexport const marginKeys = ['m', 'mt', 'mr', 'mb', 'ml', 'mx', 'my', 'margin', 'marginTop', 'marginRight', 'marginBottom', 'marginLeft', 'marginX', 'marginY', 'marginInline', 'marginInlineStart', 'marginInlineEnd', 'marginBlock', 'marginBlockStart', 'marginBlockEnd'];\nexport const paddingKeys = ['p', 'pt', 'pr', 'pb', 'pl', 'px', 'py', 'padding', 'paddingTop', 'paddingRight', 'paddingBottom', 'paddingLeft', 'paddingX', 'paddingY', 'paddingInline', 'paddingInlineStart', 'paddingInlineEnd', 'paddingBlock', 'paddingBlockStart', 'paddingBlockEnd'];\nconst spacingKeys = [...marginKeys, ...paddingKeys];\nexport function createUnaryUnit(theme, themeKey, defaultValue, propName) {\n var _getPath;\n const themeSpacing = (_getPath = getPath(theme, themeKey, false)) != null ? _getPath : defaultValue;\n if (typeof themeSpacing === 'number') {\n return abs => {\n if (typeof abs === 'string') {\n return abs;\n }\n if (process.env.NODE_ENV !== 'production') {\n if (typeof abs !== 'number') {\n console.error(`MUI: Expected ${propName} argument to be a number or a string, got ${abs}.`);\n }\n }\n return themeSpacing * abs;\n };\n }\n if (Array.isArray(themeSpacing)) {\n return abs => {\n if (typeof abs === 'string') {\n return abs;\n }\n if (process.env.NODE_ENV !== 'production') {\n if (!Number.isInteger(abs)) {\n console.error([`MUI: The \\`theme.${themeKey}\\` array type cannot be combined with non integer values.` + `You should either use an integer value that can be used as index, or define the \\`theme.${themeKey}\\` as a number.`].join('\\n'));\n } else if (abs > themeSpacing.length - 1) {\n console.error([`MUI: The value provided (${abs}) overflows.`, `The supported values are: ${JSON.stringify(themeSpacing)}.`, `${abs} > ${themeSpacing.length - 1}, you need to add the missing values.`].join('\\n'));\n }\n }\n return themeSpacing[abs];\n };\n }\n if (typeof themeSpacing === 'function') {\n return themeSpacing;\n }\n if (process.env.NODE_ENV !== 'production') {\n console.error([`MUI: The \\`theme.${themeKey}\\` value (${themeSpacing}) is invalid.`, 'It should be a number, an array or a function.'].join('\\n'));\n }\n return () => undefined;\n}\nexport function createUnarySpacing(theme) {\n return createUnaryUnit(theme, 'spacing', 8, 'spacing');\n}\nexport function getValue(transformer, propValue) {\n if (typeof propValue === 'string' || propValue == null) {\n return propValue;\n }\n const abs = Math.abs(propValue);\n const transformed = transformer(abs);\n if (propValue >= 0) {\n return transformed;\n }\n if (typeof transformed === 'number') {\n return -transformed;\n }\n return `-${transformed}`;\n}\nexport function getStyleFromPropValue(cssProperties, transformer) {\n return propValue => cssProperties.reduce((acc, cssProperty) => {\n acc[cssProperty] = getValue(transformer, propValue);\n return acc;\n }, {});\n}\nfunction resolveCssProperty(props, keys, prop, transformer) {\n // Using a hash computation over an array iteration could be faster, but with only 28 items,\n // it's doesn't worth the bundle size.\n if (keys.indexOf(prop) === -1) {\n return null;\n }\n const cssProperties = getCssProperties(prop);\n const styleFromPropValue = getStyleFromPropValue(cssProperties, transformer);\n const propValue = props[prop];\n return handleBreakpoints(props, propValue, styleFromPropValue);\n}\nfunction style(props, keys) {\n const transformer = createUnarySpacing(props.theme);\n return Object.keys(props).map(prop => resolveCssProperty(props, keys, prop, transformer)).reduce(merge, {});\n}\nexport function margin(props) {\n return style(props, marginKeys);\n}\nmargin.propTypes = process.env.NODE_ENV !== 'production' ? marginKeys.reduce((obj, key) => {\n obj[key] = responsivePropType;\n return obj;\n}, {}) : {};\nmargin.filterProps = marginKeys;\nexport function padding(props) {\n return style(props, paddingKeys);\n}\npadding.propTypes = process.env.NODE_ENV !== 'production' ? paddingKeys.reduce((obj, key) => {\n obj[key] = responsivePropType;\n return obj;\n}, {}) : {};\npadding.filterProps = paddingKeys;\nfunction spacing(props) {\n return style(props, spacingKeys);\n}\nspacing.propTypes = process.env.NODE_ENV !== 'production' ? spacingKeys.reduce((obj, key) => {\n obj[key] = responsivePropType;\n return obj;\n}, {}) : {};\nspacing.filterProps = spacingKeys;\nexport default spacing;","import { createUnarySpacing } from '../spacing';\n\n// The different signatures imply different meaning for their arguments that can't be expressed structurally.\n// We express the difference with variable names.\n\nexport default function createSpacing(spacingInput = 8) {\n // Already transformed.\n if (spacingInput.mui) {\n return spacingInput;\n }\n\n // Material Design layouts are visually balanced. Most measurements align to an 8dp grid, which aligns both spacing and the overall layout.\n // Smaller components, such as icons, can align to a 4dp grid.\n // https://m2.material.io/design/layout/understanding-layout.html\n const transform = createUnarySpacing({\n spacing: spacingInput\n });\n const spacing = (...argsInput) => {\n if (process.env.NODE_ENV !== 'production') {\n if (!(argsInput.length <= 4)) {\n console.error(`MUI: Too many arguments provided, expected between 0 and 4, got ${argsInput.length}`);\n }\n }\n const args = argsInput.length === 0 ? [1] : argsInput;\n return args.map(argument => {\n const output = transform(argument);\n return typeof output === 'number' ? `${output}px` : output;\n }).join(' ');\n };\n spacing.mui = true;\n return spacing;\n}","import merge from './merge';\nfunction compose(...styles) {\n const handlers = styles.reduce((acc, style) => {\n style.filterProps.forEach(prop => {\n acc[prop] = style;\n });\n return acc;\n }, {});\n\n // false positive\n // eslint-disable-next-line react/function-component-definition\n const fn = props => {\n return Object.keys(props).reduce((acc, prop) => {\n if (handlers[prop]) {\n return merge(acc, handlers[prop](props));\n }\n return acc;\n }, {});\n };\n fn.propTypes = process.env.NODE_ENV !== 'production' ? styles.reduce((acc, style) => Object.assign(acc, style.propTypes), {}) : {};\n fn.filterProps = styles.reduce((acc, style) => acc.concat(style.filterProps), []);\n return fn;\n}\nexport default compose;","import responsivePropType from './responsivePropType';\nimport style from './style';\nimport compose from './compose';\nimport { createUnaryUnit, getValue } from './spacing';\nimport { handleBreakpoints } from './breakpoints';\nexport function borderTransform(value) {\n if (typeof value !== 'number') {\n return value;\n }\n return `${value}px solid`;\n}\nfunction createBorderStyle(prop, transform) {\n return style({\n prop,\n themeKey: 'borders',\n transform\n });\n}\nexport const border = createBorderStyle('border', borderTransform);\nexport const borderTop = createBorderStyle('borderTop', borderTransform);\nexport const borderRight = createBorderStyle('borderRight', borderTransform);\nexport const borderBottom = createBorderStyle('borderBottom', borderTransform);\nexport const borderLeft = createBorderStyle('borderLeft', borderTransform);\nexport const borderColor = createBorderStyle('borderColor');\nexport const borderTopColor = createBorderStyle('borderTopColor');\nexport const borderRightColor = createBorderStyle('borderRightColor');\nexport const borderBottomColor = createBorderStyle('borderBottomColor');\nexport const borderLeftColor = createBorderStyle('borderLeftColor');\nexport const outline = createBorderStyle('outline', borderTransform);\nexport const outlineColor = createBorderStyle('outlineColor');\n\n// false positive\n// eslint-disable-next-line react/function-component-definition\nexport const borderRadius = props => {\n if (props.borderRadius !== undefined && props.borderRadius !== null) {\n const transformer = createUnaryUnit(props.theme, 'shape.borderRadius', 4, 'borderRadius');\n const styleFromPropValue = propValue => ({\n borderRadius: getValue(transformer, propValue)\n });\n return handleBreakpoints(props, props.borderRadius, styleFromPropValue);\n }\n return null;\n};\nborderRadius.propTypes = process.env.NODE_ENV !== 'production' ? {\n borderRadius: responsivePropType\n} : {};\nborderRadius.filterProps = ['borderRadius'];\nconst borders = compose(border, borderTop, borderRight, borderBottom, borderLeft, borderColor, borderTopColor, borderRightColor, borderBottomColor, borderLeftColor, borderRadius, outline, outlineColor);\nexport default borders;","import style from './style';\nimport compose from './compose';\nimport { createUnaryUnit, getValue } from './spacing';\nimport { handleBreakpoints } from './breakpoints';\nimport responsivePropType from './responsivePropType';\n\n// false positive\n// eslint-disable-next-line react/function-component-definition\nexport const gap = props => {\n if (props.gap !== undefined && props.gap !== null) {\n const transformer = createUnaryUnit(props.theme, 'spacing', 8, 'gap');\n const styleFromPropValue = propValue => ({\n gap: getValue(transformer, propValue)\n });\n return handleBreakpoints(props, props.gap, styleFromPropValue);\n }\n return null;\n};\ngap.propTypes = process.env.NODE_ENV !== 'production' ? {\n gap: responsivePropType\n} : {};\ngap.filterProps = ['gap'];\n\n// false positive\n// eslint-disable-next-line react/function-component-definition\nexport const columnGap = props => {\n if (props.columnGap !== undefined && props.columnGap !== null) {\n const transformer = createUnaryUnit(props.theme, 'spacing', 8, 'columnGap');\n const styleFromPropValue = propValue => ({\n columnGap: getValue(transformer, propValue)\n });\n return handleBreakpoints(props, props.columnGap, styleFromPropValue);\n }\n return null;\n};\ncolumnGap.propTypes = process.env.NODE_ENV !== 'production' ? {\n columnGap: responsivePropType\n} : {};\ncolumnGap.filterProps = ['columnGap'];\n\n// false positive\n// eslint-disable-next-line react/function-component-definition\nexport const rowGap = props => {\n if (props.rowGap !== undefined && props.rowGap !== null) {\n const transformer = createUnaryUnit(props.theme, 'spacing', 8, 'rowGap');\n const styleFromPropValue = propValue => ({\n rowGap: getValue(transformer, propValue)\n });\n return handleBreakpoints(props, props.rowGap, styleFromPropValue);\n }\n return null;\n};\nrowGap.propTypes = process.env.NODE_ENV !== 'production' ? {\n rowGap: responsivePropType\n} : {};\nrowGap.filterProps = ['rowGap'];\nexport const gridColumn = style({\n prop: 'gridColumn'\n});\nexport const gridRow = style({\n prop: 'gridRow'\n});\nexport const gridAutoFlow = style({\n prop: 'gridAutoFlow'\n});\nexport const gridAutoColumns = style({\n prop: 'gridAutoColumns'\n});\nexport const gridAutoRows = style({\n prop: 'gridAutoRows'\n});\nexport const gridTemplateColumns = style({\n prop: 'gridTemplateColumns'\n});\nexport const gridTemplateRows = style({\n prop: 'gridTemplateRows'\n});\nexport const gridTemplateAreas = style({\n prop: 'gridTemplateAreas'\n});\nexport const gridArea = style({\n prop: 'gridArea'\n});\nconst grid = compose(gap, columnGap, rowGap, gridColumn, gridRow, gridAutoFlow, gridAutoColumns, gridAutoRows, gridTemplateColumns, gridTemplateRows, gridTemplateAreas, gridArea);\nexport default grid;","import style from './style';\nimport compose from './compose';\nexport function paletteTransform(value, userValue) {\n if (userValue === 'grey') {\n return userValue;\n }\n return value;\n}\nexport const color = style({\n prop: 'color',\n themeKey: 'palette',\n transform: paletteTransform\n});\nexport const bgcolor = style({\n prop: 'bgcolor',\n cssProperty: 'backgroundColor',\n themeKey: 'palette',\n transform: paletteTransform\n});\nexport const backgroundColor = style({\n prop: 'backgroundColor',\n themeKey: 'palette',\n transform: paletteTransform\n});\nconst palette = compose(color, bgcolor, backgroundColor);\nexport default palette;","import style from './style';\nimport compose from './compose';\nimport { handleBreakpoints, values as breakpointsValues } from './breakpoints';\nexport function sizingTransform(value) {\n return value <= 1 && value !== 0 ? `${value * 100}%` : value;\n}\nexport const width = style({\n prop: 'width',\n transform: sizingTransform\n});\nexport const maxWidth = props => {\n if (props.maxWidth !== undefined && props.maxWidth !== null) {\n const styleFromPropValue = propValue => {\n var _props$theme, _props$theme2;\n const breakpoint = ((_props$theme = props.theme) == null || (_props$theme = _props$theme.breakpoints) == null || (_props$theme = _props$theme.values) == null ? void 0 : _props$theme[propValue]) || breakpointsValues[propValue];\n if (!breakpoint) {\n return {\n maxWidth: sizingTransform(propValue)\n };\n }\n if (((_props$theme2 = props.theme) == null || (_props$theme2 = _props$theme2.breakpoints) == null ? void 0 : _props$theme2.unit) !== 'px') {\n return {\n maxWidth: `${breakpoint}${props.theme.breakpoints.unit}`\n };\n }\n return {\n maxWidth: breakpoint\n };\n };\n return handleBreakpoints(props, props.maxWidth, styleFromPropValue);\n }\n return null;\n};\nmaxWidth.filterProps = ['maxWidth'];\nexport const minWidth = style({\n prop: 'minWidth',\n transform: sizingTransform\n});\nexport const height = style({\n prop: 'height',\n transform: sizingTransform\n});\nexport const maxHeight = style({\n prop: 'maxHeight',\n transform: sizingTransform\n});\nexport const minHeight = style({\n prop: 'minHeight',\n transform: sizingTransform\n});\nexport const sizeWidth = style({\n prop: 'size',\n cssProperty: 'width',\n transform: sizingTransform\n});\nexport const sizeHeight = style({\n prop: 'size',\n cssProperty: 'height',\n transform: sizingTransform\n});\nexport const boxSizing = style({\n prop: 'boxSizing'\n});\nconst sizing = compose(width, maxWidth, minWidth, height, maxHeight, minHeight, boxSizing);\nexport default sizing;","import { padding, margin } from '../spacing';\nimport { borderRadius, borderTransform } from '../borders';\nimport { gap, rowGap, columnGap } from '../cssGrid';\nimport { paletteTransform } from '../palette';\nimport { maxWidth, sizingTransform } from '../sizing';\nconst defaultSxConfig = {\n // borders\n border: {\n themeKey: 'borders',\n transform: borderTransform\n },\n borderTop: {\n themeKey: 'borders',\n transform: borderTransform\n },\n borderRight: {\n themeKey: 'borders',\n transform: borderTransform\n },\n borderBottom: {\n themeKey: 'borders',\n transform: borderTransform\n },\n borderLeft: {\n themeKey: 'borders',\n transform: borderTransform\n },\n borderColor: {\n themeKey: 'palette'\n },\n borderTopColor: {\n themeKey: 'palette'\n },\n borderRightColor: {\n themeKey: 'palette'\n },\n borderBottomColor: {\n themeKey: 'palette'\n },\n borderLeftColor: {\n themeKey: 'palette'\n },\n outline: {\n themeKey: 'borders',\n transform: borderTransform\n },\n outlineColor: {\n themeKey: 'palette'\n },\n borderRadius: {\n themeKey: 'shape.borderRadius',\n style: borderRadius\n },\n // palette\n color: {\n themeKey: 'palette',\n transform: paletteTransform\n },\n bgcolor: {\n themeKey: 'palette',\n cssProperty: 'backgroundColor',\n transform: paletteTransform\n },\n backgroundColor: {\n themeKey: 'palette',\n transform: paletteTransform\n },\n // spacing\n p: {\n style: padding\n },\n pt: {\n style: padding\n },\n pr: {\n style: padding\n },\n pb: {\n style: padding\n },\n pl: {\n style: padding\n },\n px: {\n style: padding\n },\n py: {\n style: padding\n },\n padding: {\n style: padding\n },\n paddingTop: {\n style: padding\n },\n paddingRight: {\n style: padding\n },\n paddingBottom: {\n style: padding\n },\n paddingLeft: {\n style: padding\n },\n paddingX: {\n style: padding\n },\n paddingY: {\n style: padding\n },\n paddingInline: {\n style: padding\n },\n paddingInlineStart: {\n style: padding\n },\n paddingInlineEnd: {\n style: padding\n },\n paddingBlock: {\n style: padding\n },\n paddingBlockStart: {\n style: padding\n },\n paddingBlockEnd: {\n style: padding\n },\n m: {\n style: margin\n },\n mt: {\n style: margin\n },\n mr: {\n style: margin\n },\n mb: {\n style: margin\n },\n ml: {\n style: margin\n },\n mx: {\n style: margin\n },\n my: {\n style: margin\n },\n margin: {\n style: margin\n },\n marginTop: {\n style: margin\n },\n marginRight: {\n style: margin\n },\n marginBottom: {\n style: margin\n },\n marginLeft: {\n style: margin\n },\n marginX: {\n style: margin\n },\n marginY: {\n style: margin\n },\n marginInline: {\n style: margin\n },\n marginInlineStart: {\n style: margin\n },\n marginInlineEnd: {\n style: margin\n },\n marginBlock: {\n style: margin\n },\n marginBlockStart: {\n style: margin\n },\n marginBlockEnd: {\n style: margin\n },\n // display\n displayPrint: {\n cssProperty: false,\n transform: value => ({\n '@media print': {\n display: value\n }\n })\n },\n display: {},\n overflow: {},\n textOverflow: {},\n visibility: {},\n whiteSpace: {},\n // flexbox\n flexBasis: {},\n flexDirection: {},\n flexWrap: {},\n justifyContent: {},\n alignItems: {},\n alignContent: {},\n order: {},\n flex: {},\n flexGrow: {},\n flexShrink: {},\n alignSelf: {},\n justifyItems: {},\n justifySelf: {},\n // grid\n gap: {\n style: gap\n },\n rowGap: {\n style: rowGap\n },\n columnGap: {\n style: columnGap\n },\n gridColumn: {},\n gridRow: {},\n gridAutoFlow: {},\n gridAutoColumns: {},\n gridAutoRows: {},\n gridTemplateColumns: {},\n gridTemplateRows: {},\n gridTemplateAreas: {},\n gridArea: {},\n // positions\n position: {},\n zIndex: {\n themeKey: 'zIndex'\n },\n top: {},\n right: {},\n bottom: {},\n left: {},\n // shadows\n boxShadow: {\n themeKey: 'shadows'\n },\n // sizing\n width: {\n transform: sizingTransform\n },\n maxWidth: {\n style: maxWidth\n },\n minWidth: {\n transform: sizingTransform\n },\n height: {\n transform: sizingTransform\n },\n maxHeight: {\n transform: sizingTransform\n },\n minHeight: {\n transform: sizingTransform\n },\n boxSizing: {},\n // typography\n fontFamily: {\n themeKey: 'typography'\n },\n fontSize: {\n themeKey: 'typography'\n },\n fontStyle: {\n themeKey: 'typography'\n },\n fontWeight: {\n themeKey: 'typography'\n },\n letterSpacing: {},\n textTransform: {},\n lineHeight: {},\n textAlign: {},\n typography: {\n cssProperty: false,\n themeKey: 'typography'\n }\n};\nexport default defaultSxConfig;","import capitalize from '@mui/utils/capitalize';\nimport merge from '../merge';\nimport { getPath, getStyleValue as getValue } from '../style';\nimport { handleBreakpoints, createEmptyBreakpointObject, removeUnusedBreakpoints } from '../breakpoints';\nimport defaultSxConfig from './defaultSxConfig';\nfunction objectsHaveSameKeys(...objects) {\n const allKeys = objects.reduce((keys, object) => keys.concat(Object.keys(object)), []);\n const union = new Set(allKeys);\n return objects.every(object => union.size === Object.keys(object).length);\n}\nfunction callIfFn(maybeFn, arg) {\n return typeof maybeFn === 'function' ? maybeFn(arg) : maybeFn;\n}\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function unstable_createStyleFunctionSx() {\n function getThemeValue(prop, val, theme, config) {\n const props = {\n [prop]: val,\n theme\n };\n const options = config[prop];\n if (!options) {\n return {\n [prop]: val\n };\n }\n const {\n cssProperty = prop,\n themeKey,\n transform,\n style\n } = options;\n if (val == null) {\n return null;\n }\n\n // TODO v6: remove, see https://github.com/mui/material-ui/pull/38123\n if (themeKey === 'typography' && val === 'inherit') {\n return {\n [prop]: val\n };\n }\n const themeMapping = getPath(theme, themeKey) || {};\n if (style) {\n return style(props);\n }\n const styleFromPropValue = propValueFinal => {\n let value = getValue(themeMapping, transform, propValueFinal);\n if (propValueFinal === value && typeof propValueFinal === 'string') {\n // Haven't found value\n value = getValue(themeMapping, transform, `${prop}${propValueFinal === 'default' ? '' : capitalize(propValueFinal)}`, propValueFinal);\n }\n if (cssProperty === false) {\n return value;\n }\n return {\n [cssProperty]: value\n };\n };\n return handleBreakpoints(props, val, styleFromPropValue);\n }\n function styleFunctionSx(props) {\n var _theme$unstable_sxCon;\n const {\n sx,\n theme = {}\n } = props || {};\n if (!sx) {\n return null; // Emotion & styled-components will neglect null\n }\n const config = (_theme$unstable_sxCon = theme.unstable_sxConfig) != null ? _theme$unstable_sxCon : defaultSxConfig;\n\n /*\n * Receive `sxInput` as object or callback\n * and then recursively check keys & values to create media query object styles.\n * (the result will be used in `styled`)\n */\n function traverse(sxInput) {\n let sxObject = sxInput;\n if (typeof sxInput === 'function') {\n sxObject = sxInput(theme);\n } else if (typeof sxInput !== 'object') {\n // value\n return sxInput;\n }\n if (!sxObject) {\n return null;\n }\n const emptyBreakpoints = createEmptyBreakpointObject(theme.breakpoints);\n const breakpointsKeys = Object.keys(emptyBreakpoints);\n let css = emptyBreakpoints;\n Object.keys(sxObject).forEach(styleKey => {\n const value = callIfFn(sxObject[styleKey], theme);\n if (value !== null && value !== undefined) {\n if (typeof value === 'object') {\n if (config[styleKey]) {\n css = merge(css, getThemeValue(styleKey, value, theme, config));\n } else {\n const breakpointsValues = handleBreakpoints({\n theme\n }, value, x => ({\n [styleKey]: x\n }));\n if (objectsHaveSameKeys(breakpointsValues, value)) {\n css[styleKey] = styleFunctionSx({\n sx: value,\n theme\n });\n } else {\n css = merge(css, breakpointsValues);\n }\n }\n } else {\n css = merge(css, getThemeValue(styleKey, value, theme, config));\n }\n }\n });\n return removeUnusedBreakpoints(breakpointsKeys, css);\n }\n return Array.isArray(sx) ? sx.map(traverse) : traverse(sx);\n }\n return styleFunctionSx;\n}\nconst styleFunctionSx = unstable_createStyleFunctionSx();\nstyleFunctionSx.filterProps = ['sx'];\nexport default styleFunctionSx;","/**\n * A universal utility to style components with multiple color modes. Always use it from the theme object.\n * It works with:\n * - [Basic theme](https://mui.com/material-ui/customization/dark-mode/)\n * - [CSS theme variables](https://mui.com/material-ui/experimental-api/css-theme-variables/overview/)\n * - Zero-runtime engine\n *\n * Tips: Use an array over object spread and place `theme.applyStyles()` last.\n *\n * ✅ [{ background: '#e5e5e5' }, theme.applyStyles('dark', { background: '#1c1c1c' })]\n *\n * 🚫 { background: '#e5e5e5', ...theme.applyStyles('dark', { background: '#1c1c1c' })}\n *\n * @example\n * 1. using with `styled`:\n * ```jsx\n * const Component = styled('div')(({ theme }) => [\n * { background: '#e5e5e5' },\n * theme.applyStyles('dark', {\n * background: '#1c1c1c',\n * color: '#fff',\n * }),\n * ]);\n * ```\n *\n * @example\n * 2. using with `sx` prop:\n * ```jsx\n * <Box sx={theme => [\n * { background: '#e5e5e5' },\n * theme.applyStyles('dark', {\n * background: '#1c1c1c',\n * color: '#fff',\n * }),\n * ]}\n * />\n * ```\n *\n * @example\n * 3. theming a component:\n * ```jsx\n * extendTheme({\n * components: {\n * MuiButton: {\n * styleOverrides: {\n * root: ({ theme }) => [\n * { background: '#e5e5e5' },\n * theme.applyStyles('dark', {\n * background: '#1c1c1c',\n * color: '#fff',\n * }),\n * ],\n * },\n * }\n * }\n * })\n *```\n */\nexport default function applyStyles(key, styles) {\n // @ts-expect-error this is 'any' type\n const theme = this;\n if (theme.vars && typeof theme.getColorSchemeSelector === 'function') {\n // If CssVarsProvider is used as a provider,\n // returns '* :where([data-mui-color-scheme=\"light|dark\"]) &'\n const selector = theme.getColorSchemeSelector(key).replace(/(\\[[^\\]]+\\])/, '*:where($1)');\n return {\n [selector]: styles\n };\n }\n if (theme.palette.mode === key) {\n return styles;\n }\n return {};\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"breakpoints\", \"palette\", \"spacing\", \"shape\"];\nimport deepmerge from '@mui/utils/deepmerge';\nimport createBreakpoints from './createBreakpoints';\nimport shape from './shape';\nimport createSpacing from './createSpacing';\nimport styleFunctionSx from '../styleFunctionSx/styleFunctionSx';\nimport defaultSxConfig from '../styleFunctionSx/defaultSxConfig';\nimport applyStyles from './applyStyles';\nfunction createTheme(options = {}, ...args) {\n const {\n breakpoints: breakpointsInput = {},\n palette: paletteInput = {},\n spacing: spacingInput,\n shape: shapeInput = {}\n } = options,\n other = _objectWithoutPropertiesLoose(options, _excluded);\n const breakpoints = createBreakpoints(breakpointsInput);\n const spacing = createSpacing(spacingInput);\n let muiTheme = deepmerge({\n breakpoints,\n direction: 'ltr',\n components: {},\n // Inject component definitions.\n palette: _extends({\n mode: 'light'\n }, paletteInput),\n spacing,\n shape: _extends({}, shape, shapeInput)\n }, other);\n muiTheme.applyStyles = applyStyles;\n muiTheme = args.reduce((acc, argument) => deepmerge(acc, argument), muiTheme);\n muiTheme.unstable_sxConfig = _extends({}, defaultSxConfig, other == null ? void 0 : other.unstable_sxConfig);\n muiTheme.unstable_sx = function sx(props) {\n return styleFunctionSx({\n sx: props,\n theme: this\n });\n };\n return muiTheme;\n}\nexport default createTheme;","'use client';\n\nimport * as React from 'react';\nimport { ThemeContext } from '@mui/styled-engine';\nfunction isObjectEmpty(obj) {\n return Object.keys(obj).length === 0;\n}\nfunction useTheme(defaultTheme = null) {\n const contextTheme = React.useContext(ThemeContext);\n return !contextTheme || isObjectEmpty(contextTheme) ? defaultTheme : contextTheme;\n}\nexport default useTheme;","'use client';\n\nimport createTheme from './createTheme';\nimport useThemeWithoutDefault from './useThemeWithoutDefault';\nexport const systemDefaultTheme = createTheme();\nfunction useTheme(defaultTheme = systemDefaultTheme) {\n return useThemeWithoutDefault(defaultTheme);\n}\nexport default useTheme;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { GlobalStyles as MuiGlobalStyles } from '@mui/styled-engine';\nimport useTheme from '../useTheme';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction GlobalStyles({\n styles,\n themeId,\n defaultTheme = {}\n}) {\n const upperTheme = useTheme(defaultTheme);\n const globalStyles = typeof styles === 'function' ? styles(themeId ? upperTheme[themeId] || upperTheme : upperTheme) : styles;\n return /*#__PURE__*/_jsx(MuiGlobalStyles, {\n styles: globalStyles\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? GlobalStyles.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * @ignore\n */\n defaultTheme: PropTypes.object,\n /**\n * @ignore\n */\n styles: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.array, PropTypes.func, PropTypes.number, PropTypes.object, PropTypes.string, PropTypes.bool]),\n /**\n * @ignore\n */\n themeId: PropTypes.string\n} : void 0;\nexport default GlobalStyles;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"sx\"];\nimport { isPlainObject } from '@mui/utils/deepmerge';\nimport defaultSxConfig from './defaultSxConfig';\nconst splitProps = props => {\n var _props$theme$unstable, _props$theme;\n const result = {\n systemProps: {},\n otherProps: {}\n };\n const config = (_props$theme$unstable = props == null || (_props$theme = props.theme) == null ? void 0 : _props$theme.unstable_sxConfig) != null ? _props$theme$unstable : defaultSxConfig;\n Object.keys(props).forEach(prop => {\n if (config[prop]) {\n result.systemProps[prop] = props[prop];\n } else {\n result.otherProps[prop] = props[prop];\n }\n });\n return result;\n};\nexport default function extendSxProp(props) {\n const {\n sx: inSx\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const {\n systemProps,\n otherProps\n } = splitProps(other);\n let finalSx;\n if (Array.isArray(inSx)) {\n finalSx = [systemProps, ...inSx];\n } else if (typeof inSx === 'function') {\n finalSx = (...args) => {\n const result = inSx(...args);\n if (!isPlainObject(result)) {\n return systemProps;\n }\n return _extends({}, systemProps, result);\n };\n } else {\n finalSx = _extends({}, systemProps, inSx);\n }\n return _extends({}, otherProps, {\n sx: finalSx\n });\n}","const defaultGenerator = componentName => componentName;\nconst createClassNameGenerator = () => {\n let generate = defaultGenerator;\n return {\n configure(generator) {\n generate = generator;\n },\n generate(componentName) {\n return generate(componentName);\n },\n reset() {\n generate = defaultGenerator;\n }\n };\n};\nconst ClassNameGenerator = createClassNameGenerator();\nexport default ClassNameGenerator;","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}export function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"className\", \"component\"];\nimport * as React from 'react';\nimport clsx from 'clsx';\nimport styled from '@mui/styled-engine';\nimport styleFunctionSx, { extendSxProp } from './styleFunctionSx';\nimport useTheme from './useTheme';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default function createBox(options = {}) {\n const {\n themeId,\n defaultTheme,\n defaultClassName = 'MuiBox-root',\n generateClassName\n } = options;\n const BoxRoot = styled('div', {\n shouldForwardProp: prop => prop !== 'theme' && prop !== 'sx' && prop !== 'as'\n })(styleFunctionSx);\n const Box = /*#__PURE__*/React.forwardRef(function Box(inProps, ref) {\n const theme = useTheme(defaultTheme);\n const _extendSxProp = extendSxProp(inProps),\n {\n className,\n component = 'div'\n } = _extendSxProp,\n other = _objectWithoutPropertiesLoose(_extendSxProp, _excluded);\n return /*#__PURE__*/_jsx(BoxRoot, _extends({\n as: component,\n ref: ref,\n className: clsx(className, generateClassName ? generateClassName(defaultClassName) : defaultClassName),\n theme: themeId ? theme[themeId] || theme : theme\n }, other));\n });\n return Box;\n}","import ClassNameGenerator from '../ClassNameGenerator';\nexport const globalStateClasses = {\n active: 'active',\n checked: 'checked',\n completed: 'completed',\n disabled: 'disabled',\n error: 'error',\n expanded: 'expanded',\n focused: 'focused',\n focusVisible: 'focusVisible',\n open: 'open',\n readOnly: 'readOnly',\n required: 'required',\n selected: 'selected'\n};\nexport default function generateUtilityClass(componentName, slot, globalStatePrefix = 'Mui') {\n const globalStateClass = globalStateClasses[slot];\n return globalStateClass ? `${globalStatePrefix}-${globalStateClass}` : `${ClassNameGenerator.generate(componentName)}-${slot}`;\n}\nexport function isGlobalState(slot) {\n return globalStateClasses[slot] !== undefined;\n}","import generateUtilityClass from '../generateUtilityClass';\nexport default function generateUtilityClasses(componentName, slots, globalStatePrefix = 'Mui') {\n const result = {};\n slots.forEach(slot => {\n result[slot] = generateUtilityClass(componentName, slot, globalStatePrefix);\n });\n return result;\n}","import { ForwardRef, Memo } from 'react-is';\n\n// Simplified polyfill for IE11 support\n// https://github.com/JamesMGreene/Function.name/blob/58b314d4a983110c3682f1228f845d39ccca1817/Function.name.js#L3\nconst fnNameMatchRegex = /^\\s*function(?:\\s|\\s*\\/\\*.*\\*\\/\\s*)+([^(\\s/]*)\\s*/;\nexport function getFunctionName(fn) {\n const match = `${fn}`.match(fnNameMatchRegex);\n const name = match && match[1];\n return name || '';\n}\nfunction getFunctionComponentName(Component, fallback = '') {\n return Component.displayName || Component.name || getFunctionName(Component) || fallback;\n}\nfunction getWrappedName(outerType, innerType, wrapperName) {\n const functionName = getFunctionComponentName(innerType);\n return outerType.displayName || (functionName !== '' ? `${wrapperName}(${functionName})` : wrapperName);\n}\n\n/**\n * cherry-pick from\n * https://github.com/facebook/react/blob/769b1f270e1251d9dbdce0fcbd9e92e502d059b8/packages/shared/getComponentName.js\n * originally forked from recompose/getDisplayName with added IE11 support\n */\nexport default function getDisplayName(Component) {\n if (Component == null) {\n return undefined;\n }\n if (typeof Component === 'string') {\n return Component;\n }\n if (typeof Component === 'function') {\n return getFunctionComponentName(Component, 'Component');\n }\n\n // TypeScript can't have components as objects but they exist in the form of `memo` or `Suspense`\n if (typeof Component === 'object') {\n switch (Component.$$typeof) {\n case ForwardRef:\n return getWrappedName(Component, Component.render, 'ForwardRef');\n case Memo:\n return getWrappedName(Component, Component.type, 'memo');\n default:\n return undefined;\n }\n }\n return undefined;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"ownerState\"],\n _excluded2 = [\"variants\"],\n _excluded3 = [\"name\", \"slot\", \"skipVariantsResolver\", \"skipSx\", \"overridesResolver\"];\n/* eslint-disable no-underscore-dangle */\nimport styledEngineStyled, { internal_processStyles as processStyles } from '@mui/styled-engine';\nimport { isPlainObject } from '@mui/utils/deepmerge';\nimport capitalize from '@mui/utils/capitalize';\nimport getDisplayName from '@mui/utils/getDisplayName';\nimport createTheme from './createTheme';\nimport styleFunctionSx from './styleFunctionSx';\nfunction isEmpty(obj) {\n return Object.keys(obj).length === 0;\n}\n\n// https://github.com/emotion-js/emotion/blob/26ded6109fcd8ca9875cc2ce4564fee678a3f3c5/packages/styled/src/utils.js#L40\nfunction isStringTag(tag) {\n return typeof tag === 'string' &&\n // 96 is one less than the char code\n // for \"a\" so this is checking that\n // it's a lowercase character\n tag.charCodeAt(0) > 96;\n}\n\n// Update /system/styled/#api in case if this changes\nexport function shouldForwardProp(prop) {\n return prop !== 'ownerState' && prop !== 'theme' && prop !== 'sx' && prop !== 'as';\n}\nexport const systemDefaultTheme = createTheme();\nconst lowercaseFirstLetter = string => {\n if (!string) {\n return string;\n }\n return string.charAt(0).toLowerCase() + string.slice(1);\n};\nfunction resolveTheme({\n defaultTheme,\n theme,\n themeId\n}) {\n return isEmpty(theme) ? defaultTheme : theme[themeId] || theme;\n}\nfunction defaultOverridesResolver(slot) {\n if (!slot) {\n return null;\n }\n return (props, styles) => styles[slot];\n}\nfunction processStyleArg(callableStyle, _ref) {\n let {\n ownerState\n } = _ref,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n const resolvedStylesArg = typeof callableStyle === 'function' ? callableStyle(_extends({\n ownerState\n }, props)) : callableStyle;\n if (Array.isArray(resolvedStylesArg)) {\n return resolvedStylesArg.flatMap(resolvedStyle => processStyleArg(resolvedStyle, _extends({\n ownerState\n }, props)));\n }\n if (!!resolvedStylesArg && typeof resolvedStylesArg === 'object' && Array.isArray(resolvedStylesArg.variants)) {\n const {\n variants = []\n } = resolvedStylesArg,\n otherStyles = _objectWithoutPropertiesLoose(resolvedStylesArg, _excluded2);\n let result = otherStyles;\n variants.forEach(variant => {\n let isMatch = true;\n if (typeof variant.props === 'function') {\n isMatch = variant.props(_extends({\n ownerState\n }, props, ownerState));\n } else {\n Object.keys(variant.props).forEach(key => {\n if ((ownerState == null ? void 0 : ownerState[key]) !== variant.props[key] && props[key] !== variant.props[key]) {\n isMatch = false;\n }\n });\n }\n if (isMatch) {\n if (!Array.isArray(result)) {\n result = [result];\n }\n result.push(typeof variant.style === 'function' ? variant.style(_extends({\n ownerState\n }, props, ownerState)) : variant.style);\n }\n });\n return result;\n }\n return resolvedStylesArg;\n}\nexport default function createStyled(input = {}) {\n const {\n themeId,\n defaultTheme = systemDefaultTheme,\n rootShouldForwardProp = shouldForwardProp,\n slotShouldForwardProp = shouldForwardProp\n } = input;\n const systemSx = props => {\n return styleFunctionSx(_extends({}, props, {\n theme: resolveTheme(_extends({}, props, {\n defaultTheme,\n themeId\n }))\n }));\n };\n systemSx.__mui_systemSx = true;\n return (tag, inputOptions = {}) => {\n // Filter out the `sx` style function from the previous styled component to prevent unnecessary styles generated by the composite components.\n processStyles(tag, styles => styles.filter(style => !(style != null && style.__mui_systemSx)));\n const {\n name: componentName,\n slot: componentSlot,\n skipVariantsResolver: inputSkipVariantsResolver,\n skipSx: inputSkipSx,\n // TODO v6: remove `lowercaseFirstLetter()` in the next major release\n // For more details: https://github.com/mui/material-ui/pull/37908\n overridesResolver = defaultOverridesResolver(lowercaseFirstLetter(componentSlot))\n } = inputOptions,\n options = _objectWithoutPropertiesLoose(inputOptions, _excluded3);\n\n // if skipVariantsResolver option is defined, take the value, otherwise, true for root and false for other slots.\n const skipVariantsResolver = inputSkipVariantsResolver !== undefined ? inputSkipVariantsResolver :\n // TODO v6: remove `Root` in the next major release\n // For more details: https://github.com/mui/material-ui/pull/37908\n componentSlot && componentSlot !== 'Root' && componentSlot !== 'root' || false;\n const skipSx = inputSkipSx || false;\n let label;\n if (process.env.NODE_ENV !== 'production') {\n if (componentName) {\n // TODO v6: remove `lowercaseFirstLetter()` in the next major release\n // For more details: https://github.com/mui/material-ui/pull/37908\n label = `${componentName}-${lowercaseFirstLetter(componentSlot || 'Root')}`;\n }\n }\n let shouldForwardPropOption = shouldForwardProp;\n\n // TODO v6: remove `Root` in the next major release\n // For more details: https://github.com/mui/material-ui/pull/37908\n if (componentSlot === 'Root' || componentSlot === 'root') {\n shouldForwardPropOption = rootShouldForwardProp;\n } else if (componentSlot) {\n // any other slot specified\n shouldForwardPropOption = slotShouldForwardProp;\n } else if (isStringTag(tag)) {\n // for string (html) tag, preserve the behavior in emotion & styled-components.\n shouldForwardPropOption = undefined;\n }\n const defaultStyledResolver = styledEngineStyled(tag, _extends({\n shouldForwardProp: shouldForwardPropOption,\n label\n }, options));\n const transformStyleArg = stylesArg => {\n // On the server Emotion doesn't use React.forwardRef for creating components, so the created\n // component stays as a function. This condition makes sure that we do not interpolate functions\n // which are basically components used as a selectors.\n if (typeof stylesArg === 'function' && stylesArg.__emotion_real !== stylesArg || isPlainObject(stylesArg)) {\n return props => processStyleArg(stylesArg, _extends({}, props, {\n theme: resolveTheme({\n theme: props.theme,\n defaultTheme,\n themeId\n })\n }));\n }\n return stylesArg;\n };\n const muiStyledResolver = (styleArg, ...expressions) => {\n let transformedStyleArg = transformStyleArg(styleArg);\n const expressionsWithDefaultTheme = expressions ? expressions.map(transformStyleArg) : [];\n if (componentName && overridesResolver) {\n expressionsWithDefaultTheme.push(props => {\n const theme = resolveTheme(_extends({}, props, {\n defaultTheme,\n themeId\n }));\n if (!theme.components || !theme.components[componentName] || !theme.components[componentName].styleOverrides) {\n return null;\n }\n const styleOverrides = theme.components[componentName].styleOverrides;\n const resolvedStyleOverrides = {};\n // TODO: v7 remove iteration and use `resolveStyleArg(styleOverrides[slot])` directly\n Object.entries(styleOverrides).forEach(([slotKey, slotStyle]) => {\n resolvedStyleOverrides[slotKey] = processStyleArg(slotStyle, _extends({}, props, {\n theme\n }));\n });\n return overridesResolver(props, resolvedStyleOverrides);\n });\n }\n if (componentName && !skipVariantsResolver) {\n expressionsWithDefaultTheme.push(props => {\n var _theme$components;\n const theme = resolveTheme(_extends({}, props, {\n defaultTheme,\n themeId\n }));\n const themeVariants = theme == null || (_theme$components = theme.components) == null || (_theme$components = _theme$components[componentName]) == null ? void 0 : _theme$components.variants;\n return processStyleArg({\n variants: themeVariants\n }, _extends({}, props, {\n theme\n }));\n });\n }\n if (!skipSx) {\n expressionsWithDefaultTheme.push(systemSx);\n }\n const numOfCustomFnsApplied = expressionsWithDefaultTheme.length - expressions.length;\n if (Array.isArray(styleArg) && numOfCustomFnsApplied > 0) {\n const placeholders = new Array(numOfCustomFnsApplied).fill('');\n // If the type is array, than we need to add placeholders in the template for the overrides, variants and the sx styles.\n transformedStyleArg = [...styleArg, ...placeholders];\n transformedStyleArg.raw = [...styleArg.raw, ...placeholders];\n }\n const Component = defaultStyledResolver(transformedStyleArg, ...expressionsWithDefaultTheme);\n if (process.env.NODE_ENV !== 'production') {\n let displayName;\n if (componentName) {\n displayName = `${componentName}${capitalize(componentSlot || '')}`;\n }\n if (displayName === undefined) {\n displayName = `Styled(${getDisplayName(tag)})`;\n }\n Component.displayName = displayName;\n }\n if (tag.muiName) {\n Component.muiName = tag.muiName;\n }\n return Component;\n };\n if (defaultStyledResolver.withConfig) {\n muiStyledResolver.withConfig = defaultStyledResolver.withConfig;\n }\n return muiStyledResolver;\n };\n}","import createStyled from './createStyled';\nconst styled = createStyled();\nexport default styled;","import _extends from \"@babel/runtime/helpers/esm/extends\";\n/**\n * Add keys, values of `defaultProps` that does not exist in `props`\n * @param {object} defaultProps\n * @param {object} props\n * @returns {object} resolved props\n */\nexport default function resolveProps(defaultProps, props) {\n const output = _extends({}, props);\n Object.keys(defaultProps).forEach(propName => {\n if (propName.toString().match(/^(components|slots)$/)) {\n output[propName] = _extends({}, defaultProps[propName], output[propName]);\n } else if (propName.toString().match(/^(componentsProps|slotProps)$/)) {\n const defaultSlotProps = defaultProps[propName] || {};\n const slotProps = props[propName];\n output[propName] = {};\n if (!slotProps || !Object.keys(slotProps)) {\n // Reduce the iteration if the slot props is empty\n output[propName] = defaultSlotProps;\n } else if (!defaultSlotProps || !Object.keys(defaultSlotProps)) {\n // Reduce the iteration if the default slot props is empty\n output[propName] = slotProps;\n } else {\n output[propName] = _extends({}, slotProps);\n Object.keys(defaultSlotProps).forEach(slotPropName => {\n output[propName][slotPropName] = resolveProps(defaultSlotProps[slotPropName], slotProps[slotPropName]);\n });\n }\n } else if (output[propName] === undefined) {\n output[propName] = defaultProps[propName];\n }\n });\n return output;\n}","import resolveProps from '@mui/utils/resolveProps';\nexport default function getThemeProps(params) {\n const {\n theme,\n name,\n props\n } = params;\n if (!theme || !theme.components || !theme.components[name] || !theme.components[name].defaultProps) {\n return props;\n }\n return resolveProps(theme.components[name].defaultProps, props);\n}","'use client';\n\nimport getThemeProps from './getThemeProps';\nimport useTheme from '../useTheme';\nexport default function useThemeProps({\n props,\n name,\n defaultTheme,\n themeId\n}) {\n let theme = useTheme(defaultTheme);\n if (themeId) {\n theme = theme[themeId] || theme;\n }\n const mergedProps = getThemeProps({\n theme,\n name,\n props\n });\n return mergedProps;\n}","'use client';\n\nimport * as React from 'react';\n\n/**\n * A version of `React.useLayoutEffect` that does not show a warning when server-side rendering.\n * This is useful for effects that are only needed for client-side rendering but not for SSR.\n *\n * Before you use this hook, make sure to read https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\n * and confirm it doesn't apply to your use-case.\n */\nconst useEnhancedEffect = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;\nexport default useEnhancedEffect;","'use client';\n\nimport * as React from 'react';\nimport useEnhancedEffect from '@mui/utils/useEnhancedEffect';\nimport { getThemeProps } from '../useThemeProps';\nimport useTheme from '../useThemeWithoutDefault';\n\n/**\n * @deprecated Not used internally. Use `MediaQueryListEvent` from lib.dom.d.ts instead.\n */\n\n/**\n * @deprecated Not used internally. Use `MediaQueryList` from lib.dom.d.ts instead.\n */\n\n/**\n * @deprecated Not used internally. Use `(event: MediaQueryListEvent) => void` instead.\n */\n\nfunction useMediaQueryOld(query, defaultMatches, matchMedia, ssrMatchMedia, noSsr) {\n const [match, setMatch] = React.useState(() => {\n if (noSsr && matchMedia) {\n return matchMedia(query).matches;\n }\n if (ssrMatchMedia) {\n return ssrMatchMedia(query).matches;\n }\n\n // Once the component is mounted, we rely on the\n // event listeners to return the correct matches value.\n return defaultMatches;\n });\n useEnhancedEffect(() => {\n let active = true;\n if (!matchMedia) {\n return undefined;\n }\n const queryList = matchMedia(query);\n const updateMatch = () => {\n // Workaround Safari wrong implementation of matchMedia\n // TODO can we remove it?\n // https://github.com/mui/material-ui/pull/17315#issuecomment-528286677\n if (active) {\n setMatch(queryList.matches);\n }\n };\n updateMatch();\n // TODO: Use `addEventListener` once support for Safari < 14 is dropped\n queryList.addListener(updateMatch);\n return () => {\n active = false;\n queryList.removeListener(updateMatch);\n };\n }, [query, matchMedia]);\n return match;\n}\n\n// eslint-disable-next-line no-useless-concat -- Workaround for https://github.com/webpack/webpack/issues/14814\nconst maybeReactUseSyncExternalStore = React['useSyncExternalStore' + ''];\nfunction useMediaQueryNew(query, defaultMatches, matchMedia, ssrMatchMedia, noSsr) {\n const getDefaultSnapshot = React.useCallback(() => defaultMatches, [defaultMatches]);\n const getServerSnapshot = React.useMemo(() => {\n if (noSsr && matchMedia) {\n return () => matchMedia(query).matches;\n }\n if (ssrMatchMedia !== null) {\n const {\n matches\n } = ssrMatchMedia(query);\n return () => matches;\n }\n return getDefaultSnapshot;\n }, [getDefaultSnapshot, query, ssrMatchMedia, noSsr, matchMedia]);\n const [getSnapshot, subscribe] = React.useMemo(() => {\n if (matchMedia === null) {\n return [getDefaultSnapshot, () => () => {}];\n }\n const mediaQueryList = matchMedia(query);\n return [() => mediaQueryList.matches, notify => {\n // TODO: Use `addEventListener` once support for Safari < 14 is dropped\n mediaQueryList.addListener(notify);\n return () => {\n mediaQueryList.removeListener(notify);\n };\n }];\n }, [getDefaultSnapshot, matchMedia, query]);\n const match = maybeReactUseSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n return match;\n}\nexport default function useMediaQuery(queryInput, options = {}) {\n const theme = useTheme();\n // Wait for jsdom to support the match media feature.\n // All the browsers MUI support have this built-in.\n // This defensive check is here for simplicity.\n // Most of the time, the match media logic isn't central to people tests.\n const supportMatchMedia = typeof window !== 'undefined' && typeof window.matchMedia !== 'undefined';\n const {\n defaultMatches = false,\n matchMedia = supportMatchMedia ? window.matchMedia : null,\n ssrMatchMedia = null,\n noSsr = false\n } = getThemeProps({\n name: 'MuiUseMediaQuery',\n props: options,\n theme\n });\n if (process.env.NODE_ENV !== 'production') {\n if (typeof queryInput === 'function' && theme === null) {\n console.error(['MUI: The `query` argument provided is invalid.', 'You are providing a function without a theme in the context.', 'One of the parent elements needs to use a ThemeProvider.'].join('\\n'));\n }\n }\n let query = typeof queryInput === 'function' ? queryInput(theme) : queryInput;\n query = query.replace(/^@media( ?)/m, '');\n\n // TODO: Drop `useMediaQueryOld` and use `use-sync-external-store` shim in `useMediaQueryNew` once the package is stable\n const useMediaQueryImplementation = maybeReactUseSyncExternalStore !== undefined ? useMediaQueryNew : useMediaQueryOld;\n const match = useMediaQueryImplementation(query, defaultMatches, matchMedia, ssrMatchMedia, noSsr);\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useDebugValue({\n query,\n match\n });\n }\n return match;\n}","function clamp(val, min = Number.MIN_SAFE_INTEGER, max = Number.MAX_SAFE_INTEGER) {\n return Math.max(min, Math.min(val, max));\n}\nexport default clamp;","import _formatMuiErrorMessage from \"@mui/utils/formatMuiErrorMessage\";\n/* eslint-disable @typescript-eslint/naming-convention */\nimport clamp from '@mui/utils/clamp';\n/**\n * Returns a number whose value is limited to the given range.\n * @param {number} value The value to be clamped\n * @param {number} min The lower boundary of the output range\n * @param {number} max The upper boundary of the output range\n * @returns {number} A number in the range [min, max]\n */\nfunction clampWrapper(value, min = 0, max = 1) {\n if (process.env.NODE_ENV !== 'production') {\n if (value < min || value > max) {\n console.error(`MUI: The value provided ${value} is out of range [${min}, ${max}].`);\n }\n }\n return clamp(value, min, max);\n}\n\n/**\n * Converts a color from CSS hex format to CSS rgb format.\n * @param {string} color - Hex color, i.e. #nnn or #nnnnnn\n * @returns {string} A CSS rgb color string\n */\nexport function hexToRgb(color) {\n color = color.slice(1);\n const re = new RegExp(`.{1,${color.length >= 6 ? 2 : 1}}`, 'g');\n let colors = color.match(re);\n if (colors && colors[0].length === 1) {\n colors = colors.map(n => n + n);\n }\n return colors ? `rgb${colors.length === 4 ? 'a' : ''}(${colors.map((n, index) => {\n return index < 3 ? parseInt(n, 16) : Math.round(parseInt(n, 16) / 255 * 1000) / 1000;\n }).join(', ')})` : '';\n}\nfunction intToHex(int) {\n const hex = int.toString(16);\n return hex.length === 1 ? `0${hex}` : hex;\n}\n\n/**\n * Returns an object with the type and values of a color.\n *\n * Note: Does not support rgb % values.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @returns {object} - A MUI color object: {type: string, values: number[]}\n */\nexport function decomposeColor(color) {\n // Idempotent\n if (color.type) {\n return color;\n }\n if (color.charAt(0) === '#') {\n return decomposeColor(hexToRgb(color));\n }\n const marker = color.indexOf('(');\n const type = color.substring(0, marker);\n if (['rgb', 'rgba', 'hsl', 'hsla', 'color'].indexOf(type) === -1) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: Unsupported \\`${color}\\` color.\nThe following formats are supported: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color().` : _formatMuiErrorMessage(9, color));\n }\n let values = color.substring(marker + 1, color.length - 1);\n let colorSpace;\n if (type === 'color') {\n values = values.split(' ');\n colorSpace = values.shift();\n if (values.length === 4 && values[3].charAt(0) === '/') {\n values[3] = values[3].slice(1);\n }\n if (['srgb', 'display-p3', 'a98-rgb', 'prophoto-rgb', 'rec-2020'].indexOf(colorSpace) === -1) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: unsupported \\`${colorSpace}\\` color space.\nThe following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rgb, rec-2020.` : _formatMuiErrorMessage(10, colorSpace));\n }\n } else {\n values = values.split(',');\n }\n values = values.map(value => parseFloat(value));\n return {\n type,\n values,\n colorSpace\n };\n}\n\n/**\n * Returns a channel created from the input color.\n *\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @returns {string} - The channel for the color, that can be used in rgba or hsla colors\n */\nexport const colorChannel = color => {\n const decomposedColor = decomposeColor(color);\n return decomposedColor.values.slice(0, 3).map((val, idx) => decomposedColor.type.indexOf('hsl') !== -1 && idx !== 0 ? `${val}%` : val).join(' ');\n};\nexport const private_safeColorChannel = (color, warning) => {\n try {\n return colorChannel(color);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n};\n\n/**\n * Converts a color object with type and values to a string.\n * @param {object} color - Decomposed color\n * @param {string} color.type - One of: 'rgb', 'rgba', 'hsl', 'hsla', 'color'\n * @param {array} color.values - [n,n,n] or [n,n,n,n]\n * @returns {string} A CSS color string\n */\nexport function recomposeColor(color) {\n const {\n type,\n colorSpace\n } = color;\n let {\n values\n } = color;\n if (type.indexOf('rgb') !== -1) {\n // Only convert the first 3 values to int (i.e. not alpha)\n values = values.map((n, i) => i < 3 ? parseInt(n, 10) : n);\n } else if (type.indexOf('hsl') !== -1) {\n values[1] = `${values[1]}%`;\n values[2] = `${values[2]}%`;\n }\n if (type.indexOf('color') !== -1) {\n values = `${colorSpace} ${values.join(' ')}`;\n } else {\n values = `${values.join(', ')}`;\n }\n return `${type}(${values})`;\n}\n\n/**\n * Converts a color from CSS rgb format to CSS hex format.\n * @param {string} color - RGB color, i.e. rgb(n, n, n)\n * @returns {string} A CSS rgb color string, i.e. #nnnnnn\n */\nexport function rgbToHex(color) {\n // Idempotent\n if (color.indexOf('#') === 0) {\n return color;\n }\n const {\n values\n } = decomposeColor(color);\n return `#${values.map((n, i) => intToHex(i === 3 ? Math.round(255 * n) : n)).join('')}`;\n}\n\n/**\n * Converts a color from hsl format to rgb format.\n * @param {string} color - HSL color values\n * @returns {string} rgb color values\n */\nexport function hslToRgb(color) {\n color = decomposeColor(color);\n const {\n values\n } = color;\n const h = values[0];\n const s = values[1] / 100;\n const l = values[2] / 100;\n const a = s * Math.min(l, 1 - l);\n const f = (n, k = (n + h / 30) % 12) => l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);\n let type = 'rgb';\n const rgb = [Math.round(f(0) * 255), Math.round(f(8) * 255), Math.round(f(4) * 255)];\n if (color.type === 'hsla') {\n type += 'a';\n rgb.push(values[3]);\n }\n return recomposeColor({\n type,\n values: rgb\n });\n}\n/**\n * The relative brightness of any point in a color space,\n * normalized to 0 for darkest black and 1 for lightest white.\n *\n * Formula: https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @returns {number} The relative brightness of the color in the range 0 - 1\n */\nexport function getLuminance(color) {\n color = decomposeColor(color);\n let rgb = color.type === 'hsl' || color.type === 'hsla' ? decomposeColor(hslToRgb(color)).values : color.values;\n rgb = rgb.map(val => {\n if (color.type !== 'color') {\n val /= 255; // normalized\n }\n return val <= 0.03928 ? val / 12.92 : ((val + 0.055) / 1.055) ** 2.4;\n });\n\n // Truncate at 3 digits\n return Number((0.2126 * rgb[0] + 0.7152 * rgb[1] + 0.0722 * rgb[2]).toFixed(3));\n}\n\n/**\n * Calculates the contrast ratio between two colors.\n *\n * Formula: https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests\n * @param {string} foreground - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @param {string} background - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @returns {number} A contrast ratio value in the range 0 - 21.\n */\nexport function getContrastRatio(foreground, background) {\n const lumA = getLuminance(foreground);\n const lumB = getLuminance(background);\n return (Math.max(lumA, lumB) + 0.05) / (Math.min(lumA, lumB) + 0.05);\n}\n\n/**\n * Sets the absolute transparency of a color.\n * Any existing alpha values are overwritten.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} value - value to set the alpha channel to in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nexport function alpha(color, value) {\n color = decomposeColor(color);\n value = clampWrapper(value);\n if (color.type === 'rgb' || color.type === 'hsl') {\n color.type += 'a';\n }\n if (color.type === 'color') {\n color.values[3] = `/${value}`;\n } else {\n color.values[3] = value;\n }\n return recomposeColor(color);\n}\nexport function private_safeAlpha(color, value, warning) {\n try {\n return alpha(color, value);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Darkens a color.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} coefficient - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nexport function darken(color, coefficient) {\n color = decomposeColor(color);\n coefficient = clampWrapper(coefficient);\n if (color.type.indexOf('hsl') !== -1) {\n color.values[2] *= 1 - coefficient;\n } else if (color.type.indexOf('rgb') !== -1 || color.type.indexOf('color') !== -1) {\n for (let i = 0; i < 3; i += 1) {\n color.values[i] *= 1 - coefficient;\n }\n }\n return recomposeColor(color);\n}\nexport function private_safeDarken(color, coefficient, warning) {\n try {\n return darken(color, coefficient);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Lightens a color.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} coefficient - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nexport function lighten(color, coefficient) {\n color = decomposeColor(color);\n coefficient = clampWrapper(coefficient);\n if (color.type.indexOf('hsl') !== -1) {\n color.values[2] += (100 - color.values[2]) * coefficient;\n } else if (color.type.indexOf('rgb') !== -1) {\n for (let i = 0; i < 3; i += 1) {\n color.values[i] += (255 - color.values[i]) * coefficient;\n }\n } else if (color.type.indexOf('color') !== -1) {\n for (let i = 0; i < 3; i += 1) {\n color.values[i] += (1 - color.values[i]) * coefficient;\n }\n }\n return recomposeColor(color);\n}\nexport function private_safeLighten(color, coefficient, warning) {\n try {\n return lighten(color, coefficient);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Darken or lighten a color, depending on its luminance.\n * Light colors are darkened, dark colors are lightened.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} coefficient=0.15 - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nexport function emphasize(color, coefficient = 0.15) {\n return getLuminance(color) > 0.5 ? darken(color, coefficient) : lighten(color, coefficient);\n}\nexport function private_safeEmphasize(color, coefficient, warning) {\n try {\n return emphasize(color, coefficient);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Blend a transparent overlay color with a background color, resulting in a single\n * RGB color.\n * @param {string} background - CSS color\n * @param {string} overlay - CSS color\n * @param {number} opacity - Opacity multiplier in the range 0 - 1\n * @param {number} [gamma=1.0] - Gamma correction factor. For gamma-correct blending, 2.2 is usual.\n */\nexport function blend(background, overlay, opacity, gamma = 1.0) {\n const blendChannel = (b, o) => Math.round((b ** (1 / gamma) * (1 - opacity) + o ** (1 / gamma) * opacity) ** gamma);\n const backgroundColor = decomposeColor(background);\n const overlayColor = decomposeColor(overlay);\n const rgb = [blendChannel(backgroundColor.values[0], overlayColor.values[0]), blendChannel(backgroundColor.values[1], overlayColor.values[1]), blendChannel(backgroundColor.values[2], overlayColor.values[2])];\n return recomposeColor({\n type: 'rgb',\n values: rgb\n });\n}","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","/**\n * Safe chained function.\n *\n * Will only create a new function if needed,\n * otherwise will pass back existing functions or null.\n */\nexport default function createChainedFunction(...funcs) {\n return funcs.reduce((acc, func) => {\n if (func == null) {\n return acc;\n }\n return function chainedFunction(...args) {\n acc.apply(this, args);\n func.apply(this, args);\n };\n }, () => {});\n}","// Corresponds to 10 frames at 60 Hz.\n// A few bytes payload overhead when lodash/debounce is ~3 kB and debounce ~300 B.\nexport default function debounce(func, wait = 166) {\n let timeout;\n function debounced(...args) {\n const later = () => {\n // @ts-ignore\n func.apply(this, args);\n };\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n }\n debounced.clear = () => {\n clearTimeout(timeout);\n };\n return debounced;\n}","export default function deprecatedPropType(validator, reason) {\n if (process.env.NODE_ENV === 'production') {\n return () => null;\n }\n return (props, propName, componentName, location, propFullName) => {\n const componentNameSafe = componentName || '<<anonymous>>';\n const propFullNameSafe = propFullName || propName;\n if (typeof props[propName] !== 'undefined') {\n return new Error(`The ${location} \\`${propFullNameSafe}\\` of ` + `\\`${componentNameSafe}\\` is deprecated. ${reason}`);\n }\n return null;\n };\n}","import * as React from 'react';\nexport default function isMuiElement(element, muiNames) {\n var _muiName, _element$type;\n return /*#__PURE__*/React.isValidElement(element) && muiNames.indexOf( // For server components `muiName` is avaialble in element.type._payload.value.muiName\n // relevant info - https://github.com/facebook/react/blob/2807d781a08db8e9873687fccc25c0f12b4fb3d4/packages/react/src/ReactLazy.js#L45\n // eslint-disable-next-line no-underscore-dangle\n (_muiName = element.type.muiName) != null ? _muiName : (_element$type = element.type) == null || (_element$type = _element$type._payload) == null || (_element$type = _element$type.value) == null ? void 0 : _element$type.muiName) !== -1;\n}","export default function ownerDocument(node) {\n return node && node.ownerDocument || document;\n}","import ownerDocument from '../ownerDocument';\nexport default function ownerWindow(node) {\n const doc = ownerDocument(node);\n return doc.defaultView || window;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nexport default function requirePropFactory(componentNameInError, Component) {\n if (process.env.NODE_ENV === 'production') {\n return () => null;\n }\n\n // eslint-disable-next-line react/forbid-foreign-prop-types\n const prevPropTypes = Component ? _extends({}, Component.propTypes) : null;\n const requireProp = requiredProp => (props, propName, componentName, location, propFullName, ...args) => {\n const propFullNameSafe = propFullName || propName;\n const defaultTypeChecker = prevPropTypes == null ? void 0 : prevPropTypes[propFullNameSafe];\n if (defaultTypeChecker) {\n const typeCheckerResult = defaultTypeChecker(props, propName, componentName, location, propFullName, ...args);\n if (typeCheckerResult) {\n return typeCheckerResult;\n }\n }\n if (typeof props[propName] !== 'undefined' && !props[requiredProp]) {\n return new Error(`The prop \\`${propFullNameSafe}\\` of ` + `\\`${componentNameInError}\\` can only be used together with the \\`${requiredProp}\\` prop.`);\n }\n return null;\n };\n return requireProp;\n}","/**\n * TODO v5: consider making it private\n *\n * passes {value} to {ref}\n *\n * WARNING: Be sure to only call this inside a callback that is passed as a ref.\n * Otherwise, make sure to cleanup the previous {ref} if it changes. See\n * https://github.com/mui/material-ui/issues/13539\n *\n * Useful if you want to expose the ref of an inner component to the public API\n * while still using it inside the component.\n * @param ref A ref callback or ref object. If anything falsy, this is a no-op.\n */\nexport default function setRef(ref, value) {\n if (typeof ref === 'function') {\n ref(value);\n } else if (ref) {\n ref.current = value;\n }\n}","'use client';\n\nimport * as React from 'react';\nlet globalId = 0;\nfunction useGlobalId(idOverride) {\n const [defaultId, setDefaultId] = React.useState(idOverride);\n const id = idOverride || defaultId;\n React.useEffect(() => {\n if (defaultId == null) {\n // Fallback to this default id when possible.\n // Use the incrementing value for client-side rendering only.\n // We can't use it server-side.\n // If you want to use random values please consider the Birthday Problem: https://en.wikipedia.org/wiki/Birthday_problem\n globalId += 1;\n setDefaultId(`mui-${globalId}`);\n }\n }, [defaultId]);\n return id;\n}\n\n// downstream bundlers may remove unnecessary concatenation, but won't remove toString call -- Workaround for https://github.com/webpack/webpack/issues/14814\nconst maybeReactUseId = React['useId'.toString()];\n/**\n *\n * @example <div id={useId()} />\n * @param idOverride\n * @returns {string}\n */\nexport default function useId(idOverride) {\n if (maybeReactUseId !== undefined) {\n const reactId = maybeReactUseId();\n return idOverride != null ? idOverride : reactId;\n }\n // eslint-disable-next-line react-hooks/rules-of-hooks -- `React.useId` is invariant at runtime.\n return useGlobalId(idOverride);\n}","export default function unsupportedProp(props, propName, componentName, location, propFullName) {\n if (process.env.NODE_ENV === 'production') {\n return null;\n }\n const propFullNameSafe = propFullName || propName;\n if (typeof props[propName] !== 'undefined') {\n return new Error(`The prop \\`${propFullNameSafe}\\` is not supported. Please remove it.`);\n }\n return null;\n}","'use client';\n\n/* eslint-disable react-hooks/rules-of-hooks, react-hooks/exhaustive-deps */\nimport * as React from 'react';\nexport default function useControlled({\n controlled,\n default: defaultProp,\n name,\n state = 'value'\n}) {\n // isControlled is ignored in the hook dependency lists as it should never change.\n const {\n current: isControlled\n } = React.useRef(controlled !== undefined);\n const [valueState, setValue] = React.useState(defaultProp);\n const value = isControlled ? controlled : valueState;\n if (process.env.NODE_ENV !== 'production') {\n React.useEffect(() => {\n if (isControlled !== (controlled !== undefined)) {\n console.error([`MUI: A component is changing the ${isControlled ? '' : 'un'}controlled ${state} state of ${name} to be ${isControlled ? 'un' : ''}controlled.`, 'Elements should not switch from uncontrolled to controlled (or vice versa).', `Decide between using a controlled or uncontrolled ${name} ` + 'element for the lifetime of the component.', \"The nature of the state is determined during the first render. It's considered controlled if the value is not `undefined`.\", 'More info: https://fb.me/react-controlled-components'].join('\\n'));\n }\n }, [state, name, controlled]);\n const {\n current: defaultValue\n } = React.useRef(defaultProp);\n React.useEffect(() => {\n if (!isControlled && defaultValue !== defaultProp) {\n console.error([`MUI: A component is changing the default ${state} state of an uncontrolled ${name} after being initialized. ` + `To suppress this warning opt to use a controlled ${name}.`].join('\\n'));\n }\n }, [JSON.stringify(defaultProp)]);\n }\n const setValueIfUncontrolled = React.useCallback(newValue => {\n if (!isControlled) {\n setValue(newValue);\n }\n }, []);\n return [value, setValueIfUncontrolled];\n}","'use client';\n\nimport * as React from 'react';\nimport useEnhancedEffect from '../useEnhancedEffect';\n\n/**\n * Inspired by https://github.com/facebook/react/issues/14099#issuecomment-440013892\n * See RFC in https://github.com/reactjs/rfcs/pull/220\n */\n\nfunction useEventCallback(fn) {\n const ref = React.useRef(fn);\n useEnhancedEffect(() => {\n ref.current = fn;\n });\n return React.useRef((...args) =>\n // @ts-expect-error hide `this`\n (0, ref.current)(...args)).current;\n}\nexport default useEventCallback;","'use client';\n\nimport * as React from 'react';\nimport setRef from '../setRef';\nexport default function useForkRef(...refs) {\n /**\n * This will create a new function if the refs passed to this hook change and are all defined.\n * This means react will call the old forkRef with `null` and the new forkRef\n * with the ref. Cleanup naturally emerges from this behavior.\n */\n return React.useMemo(() => {\n if (refs.every(ref => ref == null)) {\n return null;\n }\n return instance => {\n refs.forEach(ref => {\n setRef(ref, instance);\n });\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, refs);\n}","'use client';\n\nimport * as React from 'react';\nconst UNINITIALIZED = {};\n\n/**\n * A React.useRef() that is initialized lazily with a function. Note that it accepts an optional\n * initialization argument, so the initialization function doesn't need to be an inline closure.\n *\n * @usage\n * const ref = useLazyRef(sortColumns, columns)\n */\nexport default function useLazyRef(init, initArg) {\n const ref = React.useRef(UNINITIALIZED);\n if (ref.current === UNINITIALIZED) {\n ref.current = init(initArg);\n }\n return ref;\n}","'use client';\n\nimport * as React from 'react';\nconst EMPTY = [];\n\n/**\n * A React.useEffect equivalent that runs once, when the component is mounted.\n */\nexport default function useOnMount(fn) {\n /* eslint-disable react-hooks/exhaustive-deps */\n React.useEffect(fn, EMPTY);\n /* eslint-enable react-hooks/exhaustive-deps */\n}","'use client';\n\nimport useLazyRef from '../useLazyRef/useLazyRef';\nimport useOnMount from '../useOnMount/useOnMount';\nexport class Timeout {\n constructor() {\n this.currentId = null;\n this.clear = () => {\n if (this.currentId !== null) {\n clearTimeout(this.currentId);\n this.currentId = null;\n }\n };\n this.disposeEffect = () => {\n return this.clear;\n };\n }\n static create() {\n return new Timeout();\n }\n /**\n * Executes `fn` after `delay`, clearing any previously scheduled call.\n */\n start(delay, fn) {\n this.clear();\n this.currentId = setTimeout(() => {\n this.currentId = null;\n fn();\n }, delay);\n }\n}\nexport default function useTimeout() {\n const timeout = useLazyRef(Timeout.create).current;\n useOnMount(timeout.disposeEffect);\n return timeout;\n}","'use client';\n\n// based on https://github.com/WICG/focus-visible/blob/v4.1.5/src/focus-visible.js\nimport * as React from 'react';\nimport { Timeout } from '../useTimeout/useTimeout';\nlet hadKeyboardEvent = true;\nlet hadFocusVisibleRecently = false;\nconst hadFocusVisibleRecentlyTimeout = new Timeout();\nconst inputTypesWhitelist = {\n text: true,\n search: true,\n url: true,\n tel: true,\n email: true,\n password: true,\n number: true,\n date: true,\n month: true,\n week: true,\n time: true,\n datetime: true,\n 'datetime-local': true\n};\n\n/**\n * Computes whether the given element should automatically trigger the\n * `focus-visible` class being added, i.e. whether it should always match\n * `:focus-visible` when focused.\n * @param {Element} node\n * @returns {boolean}\n */\nfunction focusTriggersKeyboardModality(node) {\n const {\n type,\n tagName\n } = node;\n if (tagName === 'INPUT' && inputTypesWhitelist[type] && !node.readOnly) {\n return true;\n }\n if (tagName === 'TEXTAREA' && !node.readOnly) {\n return true;\n }\n if (node.isContentEditable) {\n return true;\n }\n return false;\n}\n\n/**\n * Keep track of our keyboard modality state with `hadKeyboardEvent`.\n * If the most recent user interaction was via the keyboard;\n * and the key press did not include a meta, alt/option, or control key;\n * then the modality is keyboard. Otherwise, the modality is not keyboard.\n * @param {KeyboardEvent} event\n */\nfunction handleKeyDown(event) {\n if (event.metaKey || event.altKey || event.ctrlKey) {\n return;\n }\n hadKeyboardEvent = true;\n}\n\n/**\n * If at any point a user clicks with a pointing device, ensure that we change\n * the modality away from keyboard.\n * This avoids the situation where a user presses a key on an already focused\n * element, and then clicks on a different element, focusing it with a\n * pointing device, while we still think we're in keyboard modality.\n */\nfunction handlePointerDown() {\n hadKeyboardEvent = false;\n}\nfunction handleVisibilityChange() {\n if (this.visibilityState === 'hidden') {\n // If the tab becomes active again, the browser will handle calling focus\n // on the element (Safari actually calls it twice).\n // If this tab change caused a blur on an element with focus-visible,\n // re-apply the class when the user switches back to the tab.\n if (hadFocusVisibleRecently) {\n hadKeyboardEvent = true;\n }\n }\n}\nfunction prepare(doc) {\n doc.addEventListener('keydown', handleKeyDown, true);\n doc.addEventListener('mousedown', handlePointerDown, true);\n doc.addEventListener('pointerdown', handlePointerDown, true);\n doc.addEventListener('touchstart', handlePointerDown, true);\n doc.addEventListener('visibilitychange', handleVisibilityChange, true);\n}\nexport function teardown(doc) {\n doc.removeEventListener('keydown', handleKeyDown, true);\n doc.removeEventListener('mousedown', handlePointerDown, true);\n doc.removeEventListener('pointerdown', handlePointerDown, true);\n doc.removeEventListener('touchstart', handlePointerDown, true);\n doc.removeEventListener('visibilitychange', handleVisibilityChange, true);\n}\nfunction isFocusVisible(event) {\n const {\n target\n } = event;\n try {\n return target.matches(':focus-visible');\n } catch (error) {\n // Browsers not implementing :focus-visible will throw a SyntaxError.\n // We use our own heuristic for those browsers.\n // Rethrow might be better if it's not the expected error but do we really\n // want to crash if focus-visible malfunctioned?\n }\n\n // No need for validFocusTarget check. The user does that by attaching it to\n // focusable events only.\n return hadKeyboardEvent || focusTriggersKeyboardModality(target);\n}\nexport default function useIsFocusVisible() {\n const ref = React.useCallback(node => {\n if (node != null) {\n prepare(node.ownerDocument);\n }\n }, []);\n const isFocusVisibleRef = React.useRef(false);\n\n /**\n * Should be called if a blur event is fired\n */\n function handleBlurVisible() {\n // checking against potential state variable does not suffice if we focus and blur synchronously.\n // React wouldn't have time to trigger a re-render so `focusVisible` would be stale.\n // Ideally we would adjust `isFocusVisible(event)` to look at `relatedTarget` for blur events.\n // This doesn't work in IE11 due to https://github.com/facebook/react/issues/3751\n // TODO: check again if React releases their internal changes to focus event handling (https://github.com/facebook/react/pull/19186).\n if (isFocusVisibleRef.current) {\n // To detect a tab/window switch, we look for a blur event followed\n // rapidly by a visibility change.\n // If we don't see a visibility change within 100ms, it's probably a\n // regular focus change.\n hadFocusVisibleRecently = true;\n hadFocusVisibleRecentlyTimeout.start(100, () => {\n hadFocusVisibleRecently = false;\n });\n isFocusVisibleRef.current = false;\n return true;\n }\n return false;\n }\n\n /**\n * Should be called if a blur event is fired\n */\n function handleFocusVisible(event) {\n if (isFocusVisible(event)) {\n isFocusVisibleRef.current = true;\n return true;\n }\n return false;\n }\n return {\n isFocusVisibleRef,\n onFocus: handleFocusVisible,\n onBlur: handleBlurVisible,\n ref\n };\n}","// A change of the browser zoom change the scrollbar size.\n// Credit https://github.com/twbs/bootstrap/blob/488fd8afc535ca3a6ad4dc581f5e89217b6a36ac/js/src/util/scrollbar.js#L14-L18\nexport default function getScrollbarSize(doc) {\n // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes\n const documentWidth = doc.documentElement.clientWidth;\n return Math.abs(window.innerWidth - documentWidth);\n}","// Source from https://github.com/alitaheri/normalize-scroll-left\nlet cachedType;\n\n/**\n * Based on the jquery plugin https://github.com/othree/jquery.rtl-scroll-type\n *\n * Types of scrollLeft, assuming scrollWidth=100 and direction is rtl.\n *\n * Type | <- Most Left | Most Right -> | Initial\n * ---------------- | ------------ | ------------- | -------\n * default | 0 | 100 | 100\n * negative (spec*) | -100 | 0 | 0\n * reverse | 100 | 0 | 0\n *\n * Edge 85: default\n * Safari 14: negative\n * Chrome 85: negative\n * Firefox 81: negative\n * IE11: reverse\n *\n * spec* https://drafts.csswg.org/cssom-view/#dom-window-scroll\n */\nexport function detectScrollType() {\n if (cachedType) {\n return cachedType;\n }\n const dummy = document.createElement('div');\n const container = document.createElement('div');\n container.style.width = '10px';\n container.style.height = '1px';\n dummy.appendChild(container);\n dummy.dir = 'rtl';\n dummy.style.fontSize = '14px';\n dummy.style.width = '4px';\n dummy.style.height = '1px';\n dummy.style.position = 'absolute';\n dummy.style.top = '-1000px';\n dummy.style.overflow = 'scroll';\n document.body.appendChild(dummy);\n cachedType = 'reverse';\n if (dummy.scrollLeft > 0) {\n cachedType = 'default';\n } else {\n dummy.scrollLeft = 1;\n if (dummy.scrollLeft === 0) {\n cachedType = 'negative';\n }\n }\n document.body.removeChild(dummy);\n return cachedType;\n}\n\n// Based on https://stackoverflow.com/a/24394376\nexport function getNormalizedScrollLeft(element, direction) {\n const scrollLeft = element.scrollLeft;\n\n // Perform the calculations only when direction is rtl to avoid messing up the ltr behavior\n if (direction !== 'rtl') {\n return scrollLeft;\n }\n const type = detectScrollType();\n switch (type) {\n case 'negative':\n return element.scrollWidth - element.clientWidth + scrollLeft;\n case 'reverse':\n return element.scrollWidth - element.clientWidth - scrollLeft;\n default:\n return scrollLeft;\n }\n}","'use client';\n\nimport * as React from 'react';\nconst usePreviousProps = value => {\n const ref = React.useRef({});\n React.useEffect(() => {\n ref.current = value;\n });\n return ref.current;\n};\nexport default usePreviousProps;","export default function composeClasses(slots, getUtilityClass, classes = undefined) {\n const output = {};\n Object.keys(slots).forEach(\n // `Object.keys(slots)` can't be wider than `T` because we infer `T` from `slots`.\n // @ts-expect-error https://github.com/microsoft/TypeScript/pull/12253#issuecomment-263132208\n slot => {\n output[slot] = slots[slot].reduce((acc, key) => {\n if (key) {\n const utilityClass = getUtilityClass(key);\n if (utilityClass !== '') {\n acc.push(utilityClass);\n }\n if (classes && classes[key]) {\n acc.push(classes[key]);\n }\n }\n return acc;\n }, []).join(' ');\n });\n return output;\n}","import * as React from 'react';\nconst ThemeContext = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== 'production') {\n ThemeContext.displayName = 'ThemeContext';\n}\nexport default ThemeContext;","import * as React from 'react';\nimport ThemeContext from './ThemeContext';\nexport default function useTheme() {\n const theme = React.useContext(ThemeContext);\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useDebugValue(theme);\n }\n return theme;\n}","const hasSymbol = typeof Symbol === 'function' && Symbol.for;\nexport default hasSymbol ? Symbol.for('mui.nested') : '__THEME_NESTED__';","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { exactProp } from '@mui/utils';\nimport ThemeContext from '../useTheme/ThemeContext';\nimport useTheme from '../useTheme';\nimport nested from './nested';\n\n// To support composition of theme.\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction mergeOuterLocalTheme(outerTheme, localTheme) {\n if (typeof localTheme === 'function') {\n const mergedTheme = localTheme(outerTheme);\n if (process.env.NODE_ENV !== 'production') {\n if (!mergedTheme) {\n console.error(['MUI: You should return an object from your theme function, i.e.', '<ThemeProvider theme={() => ({})} />'].join('\\n'));\n }\n }\n return mergedTheme;\n }\n return _extends({}, outerTheme, localTheme);\n}\n\n/**\n * This component takes a `theme` prop.\n * It makes the `theme` available down the React tree thanks to React context.\n * This component should preferably be used at **the root of your component tree**.\n */\nfunction ThemeProvider(props) {\n const {\n children,\n theme: localTheme\n } = props;\n const outerTheme = useTheme();\n if (process.env.NODE_ENV !== 'production') {\n if (outerTheme === null && typeof localTheme === 'function') {\n console.error(['MUI: You are providing a theme function prop to the ThemeProvider component:', '<ThemeProvider theme={outerTheme => outerTheme} />', '', 'However, no outer theme is present.', 'Make sure a theme is already injected higher in the React tree ' + 'or provide a theme object.'].join('\\n'));\n }\n }\n const theme = React.useMemo(() => {\n const output = outerTheme === null ? localTheme : mergeOuterLocalTheme(outerTheme, localTheme);\n if (output != null) {\n output[nested] = outerTheme !== null;\n }\n return output;\n }, [localTheme, outerTheme]);\n return /*#__PURE__*/_jsx(ThemeContext.Provider, {\n value: theme,\n children: children\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? ThemeProvider.propTypes = {\n /**\n * Your component tree.\n */\n children: PropTypes.node,\n /**\n * A theme object. You can provide a function to extend the outer theme.\n */\n theme: PropTypes.oneOfType([PropTypes.object, PropTypes.func]).isRequired\n} : void 0;\nif (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== \"production\" ? ThemeProvider.propTypes = exactProp(ThemeProvider.propTypes) : void 0;\n}\nexport default ThemeProvider;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"value\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst RtlContext = /*#__PURE__*/React.createContext();\nfunction RtlProvider(_ref) {\n let {\n value\n } = _ref,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n return /*#__PURE__*/_jsx(RtlContext.Provider, _extends({\n value: value != null ? value : true\n }, props));\n}\nprocess.env.NODE_ENV !== \"production\" ? RtlProvider.propTypes = {\n children: PropTypes.node,\n value: PropTypes.bool\n} : void 0;\nexport const useRtl = () => {\n const value = React.useContext(RtlContext);\n return value != null ? value : false;\n};\nexport default RtlProvider;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { ThemeProvider as MuiThemeProvider, useTheme as usePrivateTheme } from '@mui/private-theming';\nimport exactProp from '@mui/utils/exactProp';\nimport { ThemeContext as StyledEngineThemeContext } from '@mui/styled-engine';\nimport useThemeWithoutDefault from '../useThemeWithoutDefault';\nimport RtlProvider from '../RtlProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst EMPTY_THEME = {};\nfunction useThemeScoping(themeId, upperTheme, localTheme, isPrivate = false) {\n return React.useMemo(() => {\n const resolvedTheme = themeId ? upperTheme[themeId] || upperTheme : upperTheme;\n if (typeof localTheme === 'function') {\n const mergedTheme = localTheme(resolvedTheme);\n const result = themeId ? _extends({}, upperTheme, {\n [themeId]: mergedTheme\n }) : mergedTheme;\n // must return a function for the private theme to NOT merge with the upper theme.\n // see the test case \"use provided theme from a callback\" in ThemeProvider.test.js\n if (isPrivate) {\n return () => result;\n }\n return result;\n }\n return themeId ? _extends({}, upperTheme, {\n [themeId]: localTheme\n }) : _extends({}, upperTheme, localTheme);\n }, [themeId, upperTheme, localTheme, isPrivate]);\n}\n\n/**\n * This component makes the `theme` available down the React tree.\n * It should preferably be used at **the root of your component tree**.\n *\n * <ThemeProvider theme={theme}> // existing use case\n * <ThemeProvider theme={{ id: theme }}> // theme scoping\n */\nfunction ThemeProvider(props) {\n const {\n children,\n theme: localTheme,\n themeId\n } = props;\n const upperTheme = useThemeWithoutDefault(EMPTY_THEME);\n const upperPrivateTheme = usePrivateTheme() || EMPTY_THEME;\n if (process.env.NODE_ENV !== 'production') {\n if (upperTheme === null && typeof localTheme === 'function' || themeId && upperTheme && !upperTheme[themeId] && typeof localTheme === 'function') {\n console.error(['MUI: You are providing a theme function prop to the ThemeProvider component:', '<ThemeProvider theme={outerTheme => outerTheme} />', '', 'However, no outer theme is present.', 'Make sure a theme is already injected higher in the React tree ' + 'or provide a theme object.'].join('\\n'));\n }\n }\n const engineTheme = useThemeScoping(themeId, upperTheme, localTheme);\n const privateTheme = useThemeScoping(themeId, upperPrivateTheme, localTheme, true);\n const rtlValue = engineTheme.direction === 'rtl';\n return /*#__PURE__*/_jsx(MuiThemeProvider, {\n theme: privateTheme,\n children: /*#__PURE__*/_jsx(StyledEngineThemeContext.Provider, {\n value: engineTheme,\n children: /*#__PURE__*/_jsx(RtlProvider, {\n value: rtlValue,\n children: children\n })\n })\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? ThemeProvider.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Your component tree.\n */\n children: PropTypes.node,\n /**\n * A theme object. You can provide a function to extend the outer theme.\n */\n theme: PropTypes.oneOfType([PropTypes.func, PropTypes.object]).isRequired,\n /**\n * The design system's unique id for getting the corresponded theme when there are multiple design systems.\n */\n themeId: PropTypes.string\n} : void 0;\nif (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== \"production\" ? ThemeProvider.propTypes = exactProp(ThemeProvider.propTypes) : void 0;\n}\nexport default ThemeProvider;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"component\", \"disableGutters\", \"fixed\", \"maxWidth\", \"classes\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nimport composeClasses from '@mui/utils/composeClasses';\nimport capitalize from '@mui/utils/capitalize';\nimport useThemePropsSystem from '../useThemeProps';\nimport systemStyled from '../styled';\nimport createTheme from '../createTheme';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst defaultTheme = createTheme();\nconst defaultCreateStyledComponent = systemStyled('div', {\n name: 'MuiContainer',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`maxWidth${capitalize(String(ownerState.maxWidth))}`], ownerState.fixed && styles.fixed, ownerState.disableGutters && styles.disableGutters];\n }\n});\nconst useThemePropsDefault = inProps => useThemePropsSystem({\n props: inProps,\n name: 'MuiContainer',\n defaultTheme\n});\nconst useUtilityClasses = (ownerState, componentName) => {\n const getContainerUtilityClass = slot => {\n return generateUtilityClass(componentName, slot);\n };\n const {\n classes,\n fixed,\n disableGutters,\n maxWidth\n } = ownerState;\n const slots = {\n root: ['root', maxWidth && `maxWidth${capitalize(String(maxWidth))}`, fixed && 'fixed', disableGutters && 'disableGutters']\n };\n return composeClasses(slots, getContainerUtilityClass, classes);\n};\nexport default function createContainer(options = {}) {\n const {\n // This will allow adding custom styled fn (for example for custom sx style function)\n createStyledComponent = defaultCreateStyledComponent,\n useThemeProps = useThemePropsDefault,\n componentName = 'MuiContainer'\n } = options;\n const ContainerRoot = createStyledComponent(({\n theme,\n ownerState\n }) => _extends({\n width: '100%',\n marginLeft: 'auto',\n boxSizing: 'border-box',\n marginRight: 'auto',\n display: 'block'\n }, !ownerState.disableGutters && {\n paddingLeft: theme.spacing(2),\n paddingRight: theme.spacing(2),\n // @ts-ignore module augmentation fails if custom breakpoints are used\n [theme.breakpoints.up('sm')]: {\n paddingLeft: theme.spacing(3),\n paddingRight: theme.spacing(3)\n }\n }), ({\n theme,\n ownerState\n }) => ownerState.fixed && Object.keys(theme.breakpoints.values).reduce((acc, breakpointValueKey) => {\n const breakpoint = breakpointValueKey;\n const value = theme.breakpoints.values[breakpoint];\n if (value !== 0) {\n // @ts-ignore\n acc[theme.breakpoints.up(breakpoint)] = {\n maxWidth: `${value}${theme.breakpoints.unit}`\n };\n }\n return acc;\n }, {}), ({\n theme,\n ownerState\n }) => _extends({}, ownerState.maxWidth === 'xs' && {\n // @ts-ignore module augmentation fails if custom breakpoints are used\n [theme.breakpoints.up('xs')]: {\n // @ts-ignore module augmentation fails if custom breakpoints are used\n maxWidth: Math.max(theme.breakpoints.values.xs, 444)\n }\n }, ownerState.maxWidth &&\n // @ts-ignore module augmentation fails if custom breakpoints are used\n ownerState.maxWidth !== 'xs' && {\n // @ts-ignore module augmentation fails if custom breakpoints are used\n [theme.breakpoints.up(ownerState.maxWidth)]: {\n // @ts-ignore module augmentation fails if custom breakpoints are used\n maxWidth: `${theme.breakpoints.values[ownerState.maxWidth]}${theme.breakpoints.unit}`\n }\n }));\n const Container = /*#__PURE__*/React.forwardRef(function Container(inProps, ref) {\n const props = useThemeProps(inProps);\n const {\n className,\n component = 'div',\n disableGutters = false,\n fixed = false,\n maxWidth = 'lg'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n component,\n disableGutters,\n fixed,\n maxWidth\n });\n\n // @ts-ignore module augmentation fails if custom breakpoints are used\n const classes = useUtilityClasses(ownerState, componentName);\n return (\n /*#__PURE__*/\n // @ts-ignore theme is injected by the styled util\n _jsx(ContainerRoot, _extends({\n as: component\n // @ts-ignore module augmentation fails if custom breakpoints are used\n ,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other))\n );\n });\n process.env.NODE_ENV !== \"production\" ? Container.propTypes /* remove-proptypes */ = {\n children: PropTypes.node,\n classes: PropTypes.object,\n className: PropTypes.string,\n component: PropTypes.elementType,\n disableGutters: PropTypes.bool,\n fixed: PropTypes.bool,\n maxWidth: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['xs', 'sm', 'md', 'lg', 'xl', false]), PropTypes.string]),\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n } : void 0;\n return Container;\n}","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"component\", \"direction\", \"spacing\", \"divider\", \"children\", \"className\", \"useFlexGap\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport deepmerge from '@mui/utils/deepmerge';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nimport composeClasses from '@mui/utils/composeClasses';\nimport systemStyled from '../styled';\nimport useThemePropsSystem from '../useThemeProps';\nimport { extendSxProp } from '../styleFunctionSx';\nimport createTheme from '../createTheme';\nimport { handleBreakpoints, mergeBreakpointsInOrder, resolveBreakpointValues } from '../breakpoints';\nimport { createUnarySpacing, getValue } from '../spacing';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst defaultTheme = createTheme();\n// widening Theme to any so that the consumer can own the theme structure.\nconst defaultCreateStyledComponent = systemStyled('div', {\n name: 'MuiStack',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n});\nfunction useThemePropsDefault(props) {\n return useThemePropsSystem({\n props,\n name: 'MuiStack',\n defaultTheme\n });\n}\n\n/**\n * Return an array with the separator React element interspersed between\n * each React node of the input children.\n *\n * > joinChildren([1,2,3], 0)\n * [1,0,2,0,3]\n */\nfunction joinChildren(children, separator) {\n const childrenArray = React.Children.toArray(children).filter(Boolean);\n return childrenArray.reduce((output, child, index) => {\n output.push(child);\n if (index < childrenArray.length - 1) {\n output.push( /*#__PURE__*/React.cloneElement(separator, {\n key: `separator-${index}`\n }));\n }\n return output;\n }, []);\n}\nconst getSideFromDirection = direction => {\n return {\n row: 'Left',\n 'row-reverse': 'Right',\n column: 'Top',\n 'column-reverse': 'Bottom'\n }[direction];\n};\nexport const style = ({\n ownerState,\n theme\n}) => {\n let styles = _extends({\n display: 'flex',\n flexDirection: 'column'\n }, handleBreakpoints({\n theme\n }, resolveBreakpointValues({\n values: ownerState.direction,\n breakpoints: theme.breakpoints.values\n }), propValue => ({\n flexDirection: propValue\n })));\n if (ownerState.spacing) {\n const transformer = createUnarySpacing(theme);\n const base = Object.keys(theme.breakpoints.values).reduce((acc, breakpoint) => {\n if (typeof ownerState.spacing === 'object' && ownerState.spacing[breakpoint] != null || typeof ownerState.direction === 'object' && ownerState.direction[breakpoint] != null) {\n acc[breakpoint] = true;\n }\n return acc;\n }, {});\n const directionValues = resolveBreakpointValues({\n values: ownerState.direction,\n base\n });\n const spacingValues = resolveBreakpointValues({\n values: ownerState.spacing,\n base\n });\n if (typeof directionValues === 'object') {\n Object.keys(directionValues).forEach((breakpoint, index, breakpoints) => {\n const directionValue = directionValues[breakpoint];\n if (!directionValue) {\n const previousDirectionValue = index > 0 ? directionValues[breakpoints[index - 1]] : 'column';\n directionValues[breakpoint] = previousDirectionValue;\n }\n });\n }\n const styleFromPropValue = (propValue, breakpoint) => {\n if (ownerState.useFlexGap) {\n return {\n gap: getValue(transformer, propValue)\n };\n }\n return {\n // The useFlexGap={false} implement relies on each child to give up control of the margin.\n // We need to reset the margin to avoid double spacing.\n '& > :not(style):not(style)': {\n margin: 0\n },\n '& > :not(style) ~ :not(style)': {\n [`margin${getSideFromDirection(breakpoint ? directionValues[breakpoint] : ownerState.direction)}`]: getValue(transformer, propValue)\n }\n };\n };\n styles = deepmerge(styles, handleBreakpoints({\n theme\n }, spacingValues, styleFromPropValue));\n }\n styles = mergeBreakpointsInOrder(theme.breakpoints, styles);\n return styles;\n};\nexport default function createStack(options = {}) {\n const {\n // This will allow adding custom styled fn (for example for custom sx style function)\n createStyledComponent = defaultCreateStyledComponent,\n useThemeProps = useThemePropsDefault,\n componentName = 'MuiStack'\n } = options;\n const useUtilityClasses = () => {\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, slot => generateUtilityClass(componentName, slot), {});\n };\n const StackRoot = createStyledComponent(style);\n const Stack = /*#__PURE__*/React.forwardRef(function Grid(inProps, ref) {\n const themeProps = useThemeProps(inProps);\n const props = extendSxProp(themeProps); // `color` type conflicts with html color attribute.\n const {\n component = 'div',\n direction = 'column',\n spacing = 0,\n divider,\n children,\n className,\n useFlexGap = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = {\n direction,\n spacing,\n useFlexGap\n };\n const classes = useUtilityClasses();\n return /*#__PURE__*/_jsx(StackRoot, _extends({\n as: component,\n ownerState: ownerState,\n ref: ref,\n className: clsx(classes.root, className)\n }, other, {\n children: divider ? joinChildren(children, divider) : children\n }));\n });\n process.env.NODE_ENV !== \"production\" ? Stack.propTypes /* remove-proptypes */ = {\n children: PropTypes.node,\n direction: PropTypes.oneOfType([PropTypes.oneOf(['column-reverse', 'column', 'row-reverse', 'row']), PropTypes.arrayOf(PropTypes.oneOf(['column-reverse', 'column', 'row-reverse', 'row'])), PropTypes.object]),\n divider: PropTypes.node,\n spacing: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string])), PropTypes.number, PropTypes.object, PropTypes.string]),\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n } : void 0;\n return Stack;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nexport default function createMixins(breakpoints, mixins) {\n return _extends({\n toolbar: {\n minHeight: 56,\n [breakpoints.up('xs')]: {\n '@media (orientation: landscape)': {\n minHeight: 48\n }\n },\n [breakpoints.up('sm')]: {\n minHeight: 64\n }\n }\n }, mixins);\n}","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.alpha = alpha;\nexports.blend = blend;\nexports.colorChannel = void 0;\nexports.darken = darken;\nexports.decomposeColor = decomposeColor;\nexports.emphasize = emphasize;\nexports.getContrastRatio = getContrastRatio;\nexports.getLuminance = getLuminance;\nexports.hexToRgb = hexToRgb;\nexports.hslToRgb = hslToRgb;\nexports.lighten = lighten;\nexports.private_safeAlpha = private_safeAlpha;\nexports.private_safeColorChannel = void 0;\nexports.private_safeDarken = private_safeDarken;\nexports.private_safeEmphasize = private_safeEmphasize;\nexports.private_safeLighten = private_safeLighten;\nexports.recomposeColor = recomposeColor;\nexports.rgbToHex = rgbToHex;\nvar _formatMuiErrorMessage2 = _interopRequireDefault(require(\"@mui/utils/formatMuiErrorMessage\"));\nvar _clamp = _interopRequireDefault(require(\"@mui/utils/clamp\"));\n/* eslint-disable @typescript-eslint/naming-convention */\n\n/**\n * Returns a number whose value is limited to the given range.\n * @param {number} value The value to be clamped\n * @param {number} min The lower boundary of the output range\n * @param {number} max The upper boundary of the output range\n * @returns {number} A number in the range [min, max]\n */\nfunction clampWrapper(value, min = 0, max = 1) {\n if (process.env.NODE_ENV !== 'production') {\n if (value < min || value > max) {\n console.error(`MUI: The value provided ${value} is out of range [${min}, ${max}].`);\n }\n }\n return (0, _clamp.default)(value, min, max);\n}\n\n/**\n * Converts a color from CSS hex format to CSS rgb format.\n * @param {string} color - Hex color, i.e. #nnn or #nnnnnn\n * @returns {string} A CSS rgb color string\n */\nfunction hexToRgb(color) {\n color = color.slice(1);\n const re = new RegExp(`.{1,${color.length >= 6 ? 2 : 1}}`, 'g');\n let colors = color.match(re);\n if (colors && colors[0].length === 1) {\n colors = colors.map(n => n + n);\n }\n return colors ? `rgb${colors.length === 4 ? 'a' : ''}(${colors.map((n, index) => {\n return index < 3 ? parseInt(n, 16) : Math.round(parseInt(n, 16) / 255 * 1000) / 1000;\n }).join(', ')})` : '';\n}\nfunction intToHex(int) {\n const hex = int.toString(16);\n return hex.length === 1 ? `0${hex}` : hex;\n}\n\n/**\n * Returns an object with the type and values of a color.\n *\n * Note: Does not support rgb % values.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @returns {object} - A MUI color object: {type: string, values: number[]}\n */\nfunction decomposeColor(color) {\n // Idempotent\n if (color.type) {\n return color;\n }\n if (color.charAt(0) === '#') {\n return decomposeColor(hexToRgb(color));\n }\n const marker = color.indexOf('(');\n const type = color.substring(0, marker);\n if (['rgb', 'rgba', 'hsl', 'hsla', 'color'].indexOf(type) === -1) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: Unsupported \\`${color}\\` color.\nThe following formats are supported: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color().` : (0, _formatMuiErrorMessage2.default)(9, color));\n }\n let values = color.substring(marker + 1, color.length - 1);\n let colorSpace;\n if (type === 'color') {\n values = values.split(' ');\n colorSpace = values.shift();\n if (values.length === 4 && values[3].charAt(0) === '/') {\n values[3] = values[3].slice(1);\n }\n if (['srgb', 'display-p3', 'a98-rgb', 'prophoto-rgb', 'rec-2020'].indexOf(colorSpace) === -1) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: unsupported \\`${colorSpace}\\` color space.\nThe following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rgb, rec-2020.` : (0, _formatMuiErrorMessage2.default)(10, colorSpace));\n }\n } else {\n values = values.split(',');\n }\n values = values.map(value => parseFloat(value));\n return {\n type,\n values,\n colorSpace\n };\n}\n\n/**\n * Returns a channel created from the input color.\n *\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @returns {string} - The channel for the color, that can be used in rgba or hsla colors\n */\nconst colorChannel = color => {\n const decomposedColor = decomposeColor(color);\n return decomposedColor.values.slice(0, 3).map((val, idx) => decomposedColor.type.indexOf('hsl') !== -1 && idx !== 0 ? `${val}%` : val).join(' ');\n};\nexports.colorChannel = colorChannel;\nconst private_safeColorChannel = (color, warning) => {\n try {\n return colorChannel(color);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n};\n\n/**\n * Converts a color object with type and values to a string.\n * @param {object} color - Decomposed color\n * @param {string} color.type - One of: 'rgb', 'rgba', 'hsl', 'hsla', 'color'\n * @param {array} color.values - [n,n,n] or [n,n,n,n]\n * @returns {string} A CSS color string\n */\nexports.private_safeColorChannel = private_safeColorChannel;\nfunction recomposeColor(color) {\n const {\n type,\n colorSpace\n } = color;\n let {\n values\n } = color;\n if (type.indexOf('rgb') !== -1) {\n // Only convert the first 3 values to int (i.e. not alpha)\n values = values.map((n, i) => i < 3 ? parseInt(n, 10) : n);\n } else if (type.indexOf('hsl') !== -1) {\n values[1] = `${values[1]}%`;\n values[2] = `${values[2]}%`;\n }\n if (type.indexOf('color') !== -1) {\n values = `${colorSpace} ${values.join(' ')}`;\n } else {\n values = `${values.join(', ')}`;\n }\n return `${type}(${values})`;\n}\n\n/**\n * Converts a color from CSS rgb format to CSS hex format.\n * @param {string} color - RGB color, i.e. rgb(n, n, n)\n * @returns {string} A CSS rgb color string, i.e. #nnnnnn\n */\nfunction rgbToHex(color) {\n // Idempotent\n if (color.indexOf('#') === 0) {\n return color;\n }\n const {\n values\n } = decomposeColor(color);\n return `#${values.map((n, i) => intToHex(i === 3 ? Math.round(255 * n) : n)).join('')}`;\n}\n\n/**\n * Converts a color from hsl format to rgb format.\n * @param {string} color - HSL color values\n * @returns {string} rgb color values\n */\nfunction hslToRgb(color) {\n color = decomposeColor(color);\n const {\n values\n } = color;\n const h = values[0];\n const s = values[1] / 100;\n const l = values[2] / 100;\n const a = s * Math.min(l, 1 - l);\n const f = (n, k = (n + h / 30) % 12) => l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);\n let type = 'rgb';\n const rgb = [Math.round(f(0) * 255), Math.round(f(8) * 255), Math.round(f(4) * 255)];\n if (color.type === 'hsla') {\n type += 'a';\n rgb.push(values[3]);\n }\n return recomposeColor({\n type,\n values: rgb\n });\n}\n/**\n * The relative brightness of any point in a color space,\n * normalized to 0 for darkest black and 1 for lightest white.\n *\n * Formula: https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @returns {number} The relative brightness of the color in the range 0 - 1\n */\nfunction getLuminance(color) {\n color = decomposeColor(color);\n let rgb = color.type === 'hsl' || color.type === 'hsla' ? decomposeColor(hslToRgb(color)).values : color.values;\n rgb = rgb.map(val => {\n if (color.type !== 'color') {\n val /= 255; // normalized\n }\n return val <= 0.03928 ? val / 12.92 : ((val + 0.055) / 1.055) ** 2.4;\n });\n\n // Truncate at 3 digits\n return Number((0.2126 * rgb[0] + 0.7152 * rgb[1] + 0.0722 * rgb[2]).toFixed(3));\n}\n\n/**\n * Calculates the contrast ratio between two colors.\n *\n * Formula: https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests\n * @param {string} foreground - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @param {string} background - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @returns {number} A contrast ratio value in the range 0 - 21.\n */\nfunction getContrastRatio(foreground, background) {\n const lumA = getLuminance(foreground);\n const lumB = getLuminance(background);\n return (Math.max(lumA, lumB) + 0.05) / (Math.min(lumA, lumB) + 0.05);\n}\n\n/**\n * Sets the absolute transparency of a color.\n * Any existing alpha values are overwritten.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} value - value to set the alpha channel to in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nfunction alpha(color, value) {\n color = decomposeColor(color);\n value = clampWrapper(value);\n if (color.type === 'rgb' || color.type === 'hsl') {\n color.type += 'a';\n }\n if (color.type === 'color') {\n color.values[3] = `/${value}`;\n } else {\n color.values[3] = value;\n }\n return recomposeColor(color);\n}\nfunction private_safeAlpha(color, value, warning) {\n try {\n return alpha(color, value);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Darkens a color.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} coefficient - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nfunction darken(color, coefficient) {\n color = decomposeColor(color);\n coefficient = clampWrapper(coefficient);\n if (color.type.indexOf('hsl') !== -1) {\n color.values[2] *= 1 - coefficient;\n } else if (color.type.indexOf('rgb') !== -1 || color.type.indexOf('color') !== -1) {\n for (let i = 0; i < 3; i += 1) {\n color.values[i] *= 1 - coefficient;\n }\n }\n return recomposeColor(color);\n}\nfunction private_safeDarken(color, coefficient, warning) {\n try {\n return darken(color, coefficient);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Lightens a color.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} coefficient - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nfunction lighten(color, coefficient) {\n color = decomposeColor(color);\n coefficient = clampWrapper(coefficient);\n if (color.type.indexOf('hsl') !== -1) {\n color.values[2] += (100 - color.values[2]) * coefficient;\n } else if (color.type.indexOf('rgb') !== -1) {\n for (let i = 0; i < 3; i += 1) {\n color.values[i] += (255 - color.values[i]) * coefficient;\n }\n } else if (color.type.indexOf('color') !== -1) {\n for (let i = 0; i < 3; i += 1) {\n color.values[i] += (1 - color.values[i]) * coefficient;\n }\n }\n return recomposeColor(color);\n}\nfunction private_safeLighten(color, coefficient, warning) {\n try {\n return lighten(color, coefficient);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Darken or lighten a color, depending on its luminance.\n * Light colors are darkened, dark colors are lightened.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} coefficient=0.15 - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nfunction emphasize(color, coefficient = 0.15) {\n return getLuminance(color) > 0.5 ? darken(color, coefficient) : lighten(color, coefficient);\n}\nfunction private_safeEmphasize(color, coefficient, warning) {\n try {\n return emphasize(color, coefficient);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Blend a transparent overlay color with a background color, resulting in a single\n * RGB color.\n * @param {string} background - CSS color\n * @param {string} overlay - CSS color\n * @param {number} opacity - Opacity multiplier in the range 0 - 1\n * @param {number} [gamma=1.0] - Gamma correction factor. For gamma-correct blending, 2.2 is usual.\n */\nfunction blend(background, overlay, opacity, gamma = 1.0) {\n const blendChannel = (b, o) => Math.round((b ** (1 / gamma) * (1 - opacity) + o ** (1 / gamma) * opacity) ** gamma);\n const backgroundColor = decomposeColor(background);\n const overlayColor = decomposeColor(overlay);\n const rgb = [blendChannel(backgroundColor.values[0], overlayColor.values[0]), blendChannel(backgroundColor.values[1], overlayColor.values[1]), blendChannel(backgroundColor.values[2], overlayColor.values[2])];\n return recomposeColor({\n type: 'rgb',\n values: rgb\n });\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _formatMuiErrorMessage from \"@mui/utils/formatMuiErrorMessage\";\nconst _excluded = [\"mode\", \"contrastThreshold\", \"tonalOffset\"];\nimport deepmerge from '@mui/utils/deepmerge';\nimport { darken, getContrastRatio, lighten } from '@mui/system/colorManipulator';\nimport common from '../colors/common';\nimport grey from '../colors/grey';\nimport purple from '../colors/purple';\nimport red from '../colors/red';\nimport orange from '../colors/orange';\nimport blue from '../colors/blue';\nimport lightBlue from '../colors/lightBlue';\nimport green from '../colors/green';\nexport const light = {\n // The colors used to style the text.\n text: {\n // The most important text.\n primary: 'rgba(0, 0, 0, 0.87)',\n // Secondary text.\n secondary: 'rgba(0, 0, 0, 0.6)',\n // Disabled text have even lower visual prominence.\n disabled: 'rgba(0, 0, 0, 0.38)'\n },\n // The color used to divide different elements.\n divider: 'rgba(0, 0, 0, 0.12)',\n // The background colors used to style the surfaces.\n // Consistency between these values is important.\n background: {\n paper: common.white,\n default: common.white\n },\n // The colors used to style the action elements.\n action: {\n // The color of an active action like an icon button.\n active: 'rgba(0, 0, 0, 0.54)',\n // The color of an hovered action.\n hover: 'rgba(0, 0, 0, 0.04)',\n hoverOpacity: 0.04,\n // The color of a selected action.\n selected: 'rgba(0, 0, 0, 0.08)',\n selectedOpacity: 0.08,\n // The color of a disabled action.\n disabled: 'rgba(0, 0, 0, 0.26)',\n // The background color of a disabled action.\n disabledBackground: 'rgba(0, 0, 0, 0.12)',\n disabledOpacity: 0.38,\n focus: 'rgba(0, 0, 0, 0.12)',\n focusOpacity: 0.12,\n activatedOpacity: 0.12\n }\n};\nexport const dark = {\n text: {\n primary: common.white,\n secondary: 'rgba(255, 255, 255, 0.7)',\n disabled: 'rgba(255, 255, 255, 0.5)',\n icon: 'rgba(255, 255, 255, 0.5)'\n },\n divider: 'rgba(255, 255, 255, 0.12)',\n background: {\n paper: '#121212',\n default: '#121212'\n },\n action: {\n active: common.white,\n hover: 'rgba(255, 255, 255, 0.08)',\n hoverOpacity: 0.08,\n selected: 'rgba(255, 255, 255, 0.16)',\n selectedOpacity: 0.16,\n disabled: 'rgba(255, 255, 255, 0.3)',\n disabledBackground: 'rgba(255, 255, 255, 0.12)',\n disabledOpacity: 0.38,\n focus: 'rgba(255, 255, 255, 0.12)',\n focusOpacity: 0.12,\n activatedOpacity: 0.24\n }\n};\nfunction addLightOrDark(intent, direction, shade, tonalOffset) {\n const tonalOffsetLight = tonalOffset.light || tonalOffset;\n const tonalOffsetDark = tonalOffset.dark || tonalOffset * 1.5;\n if (!intent[direction]) {\n if (intent.hasOwnProperty(shade)) {\n intent[direction] = intent[shade];\n } else if (direction === 'light') {\n intent.light = lighten(intent.main, tonalOffsetLight);\n } else if (direction === 'dark') {\n intent.dark = darken(intent.main, tonalOffsetDark);\n }\n }\n}\nfunction getDefaultPrimary(mode = 'light') {\n if (mode === 'dark') {\n return {\n main: blue[200],\n light: blue[50],\n dark: blue[400]\n };\n }\n return {\n main: blue[700],\n light: blue[400],\n dark: blue[800]\n };\n}\nfunction getDefaultSecondary(mode = 'light') {\n if (mode === 'dark') {\n return {\n main: purple[200],\n light: purple[50],\n dark: purple[400]\n };\n }\n return {\n main: purple[500],\n light: purple[300],\n dark: purple[700]\n };\n}\nfunction getDefaultError(mode = 'light') {\n if (mode === 'dark') {\n return {\n main: red[500],\n light: red[300],\n dark: red[700]\n };\n }\n return {\n main: red[700],\n light: red[400],\n dark: red[800]\n };\n}\nfunction getDefaultInfo(mode = 'light') {\n if (mode === 'dark') {\n return {\n main: lightBlue[400],\n light: lightBlue[300],\n dark: lightBlue[700]\n };\n }\n return {\n main: lightBlue[700],\n light: lightBlue[500],\n dark: lightBlue[900]\n };\n}\nfunction getDefaultSuccess(mode = 'light') {\n if (mode === 'dark') {\n return {\n main: green[400],\n light: green[300],\n dark: green[700]\n };\n }\n return {\n main: green[800],\n light: green[500],\n dark: green[900]\n };\n}\nfunction getDefaultWarning(mode = 'light') {\n if (mode === 'dark') {\n return {\n main: orange[400],\n light: orange[300],\n dark: orange[700]\n };\n }\n return {\n main: '#ed6c02',\n // closest to orange[800] that pass 3:1.\n light: orange[500],\n dark: orange[900]\n };\n}\nexport default function createPalette(palette) {\n const {\n mode = 'light',\n contrastThreshold = 3,\n tonalOffset = 0.2\n } = palette,\n other = _objectWithoutPropertiesLoose(palette, _excluded);\n const primary = palette.primary || getDefaultPrimary(mode);\n const secondary = palette.secondary || getDefaultSecondary(mode);\n const error = palette.error || getDefaultError(mode);\n const info = palette.info || getDefaultInfo(mode);\n const success = palette.success || getDefaultSuccess(mode);\n const warning = palette.warning || getDefaultWarning(mode);\n\n // Use the same logic as\n // Bootstrap: https://github.com/twbs/bootstrap/blob/1d6e3710dd447de1a200f29e8fa521f8a0908f70/scss/_functions.scss#L59\n // and material-components-web https://github.com/material-components/material-components-web/blob/ac46b8863c4dab9fc22c4c662dc6bd1b65dd652f/packages/mdc-theme/_functions.scss#L54\n function getContrastText(background) {\n const contrastText = getContrastRatio(background, dark.text.primary) >= contrastThreshold ? dark.text.primary : light.text.primary;\n if (process.env.NODE_ENV !== 'production') {\n const contrast = getContrastRatio(background, contrastText);\n if (contrast < 3) {\n console.error([`MUI: The contrast ratio of ${contrast}:1 for ${contrastText} on ${background}`, 'falls below the WCAG recommended absolute minimum contrast ratio of 3:1.', 'https://www.w3.org/TR/2008/REC-WCAG20-20081211/#visual-audio-contrast-contrast'].join('\\n'));\n }\n }\n return contrastText;\n }\n const augmentColor = ({\n color,\n name,\n mainShade = 500,\n lightShade = 300,\n darkShade = 700\n }) => {\n color = _extends({}, color);\n if (!color.main && color[mainShade]) {\n color.main = color[mainShade];\n }\n if (!color.hasOwnProperty('main')) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: The color${name ? ` (${name})` : ''} provided to augmentColor(color) is invalid.\nThe color object needs to have a \\`main\\` property or a \\`${mainShade}\\` property.` : _formatMuiErrorMessage(11, name ? ` (${name})` : '', mainShade));\n }\n if (typeof color.main !== 'string') {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: The color${name ? ` (${name})` : ''} provided to augmentColor(color) is invalid.\n\\`color.main\\` should be a string, but \\`${JSON.stringify(color.main)}\\` was provided instead.\n\nDid you intend to use one of the following approaches?\n\nimport { green } from \"@mui/material/colors\";\n\nconst theme1 = createTheme({ palette: {\n primary: green,\n} });\n\nconst theme2 = createTheme({ palette: {\n primary: { main: green[500] },\n} });` : _formatMuiErrorMessage(12, name ? ` (${name})` : '', JSON.stringify(color.main)));\n }\n addLightOrDark(color, 'light', lightShade, tonalOffset);\n addLightOrDark(color, 'dark', darkShade, tonalOffset);\n if (!color.contrastText) {\n color.contrastText = getContrastText(color.main);\n }\n return color;\n };\n const modes = {\n dark,\n light\n };\n if (process.env.NODE_ENV !== 'production') {\n if (!modes[mode]) {\n console.error(`MUI: The palette mode \\`${mode}\\` is not supported.`);\n }\n }\n const paletteOutput = deepmerge(_extends({\n // A collection of common colors.\n common: _extends({}, common),\n // prevent mutable object.\n // The palette mode, can be light or dark.\n mode,\n // The colors used to represent primary interface elements for a user.\n primary: augmentColor({\n color: primary,\n name: 'primary'\n }),\n // The colors used to represent secondary interface elements for a user.\n secondary: augmentColor({\n color: secondary,\n name: 'secondary',\n mainShade: 'A400',\n lightShade: 'A200',\n darkShade: 'A700'\n }),\n // The colors used to represent interface elements that the user should be made aware of.\n error: augmentColor({\n color: error,\n name: 'error'\n }),\n // The colors used to represent potentially dangerous actions or important messages.\n warning: augmentColor({\n color: warning,\n name: 'warning'\n }),\n // The colors used to present information to the user that is neutral and not necessarily important.\n info: augmentColor({\n color: info,\n name: 'info'\n }),\n // The colors used to indicate the successful completion of an action that user triggered.\n success: augmentColor({\n color: success,\n name: 'success'\n }),\n // The grey colors.\n grey,\n // Used by `getContrastText()` to maximize the contrast between\n // the background and the text.\n contrastThreshold,\n // Takes a background color and returns the text color that maximizes the contrast.\n getContrastText,\n // Generate a rich color object.\n augmentColor,\n // Used by the functions below to shift a color's luminance by approximately\n // two indexes within its tonal palette.\n // E.g., shift from Red 500 to Red 300 or Red 700.\n tonalOffset\n }, modes[mode]), other);\n return paletteOutput;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"fontFamily\", \"fontSize\", \"fontWeightLight\", \"fontWeightRegular\", \"fontWeightMedium\", \"fontWeightBold\", \"htmlFontSize\", \"allVariants\", \"pxToRem\"];\nimport deepmerge from '@mui/utils/deepmerge';\nfunction round(value) {\n return Math.round(value * 1e5) / 1e5;\n}\nconst caseAllCaps = {\n textTransform: 'uppercase'\n};\nconst defaultFontFamily = '\"Roboto\", \"Helvetica\", \"Arial\", sans-serif';\n\n/**\n * @see @link{https://m2.material.io/design/typography/the-type-system.html}\n * @see @link{https://m2.material.io/design/typography/understanding-typography.html}\n */\nexport default function createTypography(palette, typography) {\n const _ref = typeof typography === 'function' ? typography(palette) : typography,\n {\n fontFamily = defaultFontFamily,\n // The default font size of the Material Specification.\n fontSize = 14,\n // px\n fontWeightLight = 300,\n fontWeightRegular = 400,\n fontWeightMedium = 500,\n fontWeightBold = 700,\n // Tell MUI what's the font-size on the html element.\n // 16px is the default font-size used by browsers.\n htmlFontSize = 16,\n // Apply the CSS properties to all the variants.\n allVariants,\n pxToRem: pxToRem2\n } = _ref,\n other = _objectWithoutPropertiesLoose(_ref, _excluded);\n if (process.env.NODE_ENV !== 'production') {\n if (typeof fontSize !== 'number') {\n console.error('MUI: `fontSize` is required to be a number.');\n }\n if (typeof htmlFontSize !== 'number') {\n console.error('MUI: `htmlFontSize` is required to be a number.');\n }\n }\n const coef = fontSize / 14;\n const pxToRem = pxToRem2 || (size => `${size / htmlFontSize * coef}rem`);\n const buildVariant = (fontWeight, size, lineHeight, letterSpacing, casing) => _extends({\n fontFamily,\n fontWeight,\n fontSize: pxToRem(size),\n // Unitless following https://meyerweb.com/eric/thoughts/2006/02/08/unitless-line-heights/\n lineHeight\n }, fontFamily === defaultFontFamily ? {\n letterSpacing: `${round(letterSpacing / size)}em`\n } : {}, casing, allVariants);\n const variants = {\n h1: buildVariant(fontWeightLight, 96, 1.167, -1.5),\n h2: buildVariant(fontWeightLight, 60, 1.2, -0.5),\n h3: buildVariant(fontWeightRegular, 48, 1.167, 0),\n h4: buildVariant(fontWeightRegular, 34, 1.235, 0.25),\n h5: buildVariant(fontWeightRegular, 24, 1.334, 0),\n h6: buildVariant(fontWeightMedium, 20, 1.6, 0.15),\n subtitle1: buildVariant(fontWeightRegular, 16, 1.75, 0.15),\n subtitle2: buildVariant(fontWeightMedium, 14, 1.57, 0.1),\n body1: buildVariant(fontWeightRegular, 16, 1.5, 0.15),\n body2: buildVariant(fontWeightRegular, 14, 1.43, 0.15),\n button: buildVariant(fontWeightMedium, 14, 1.75, 0.4, caseAllCaps),\n caption: buildVariant(fontWeightRegular, 12, 1.66, 0.4),\n overline: buildVariant(fontWeightRegular, 12, 2.66, 1, caseAllCaps),\n // TODO v6: Remove handling of 'inherit' variant from the theme as it is already handled in Material UI's Typography component. Also, remember to remove the associated types.\n inherit: {\n fontFamily: 'inherit',\n fontWeight: 'inherit',\n fontSize: 'inherit',\n lineHeight: 'inherit',\n letterSpacing: 'inherit'\n }\n };\n return deepmerge(_extends({\n htmlFontSize,\n pxToRem,\n fontFamily,\n fontSize,\n fontWeightLight,\n fontWeightRegular,\n fontWeightMedium,\n fontWeightBold\n }, variants), other, {\n clone: false // No need to clone deep\n });\n}","const shadowKeyUmbraOpacity = 0.2;\nconst shadowKeyPenumbraOpacity = 0.14;\nconst shadowAmbientShadowOpacity = 0.12;\nfunction createShadow(...px) {\n return [`${px[0]}px ${px[1]}px ${px[2]}px ${px[3]}px rgba(0,0,0,${shadowKeyUmbraOpacity})`, `${px[4]}px ${px[5]}px ${px[6]}px ${px[7]}px rgba(0,0,0,${shadowKeyPenumbraOpacity})`, `${px[8]}px ${px[9]}px ${px[10]}px ${px[11]}px rgba(0,0,0,${shadowAmbientShadowOpacity})`].join(',');\n}\n\n// Values from https://github.com/material-components/material-components-web/blob/be8747f94574669cb5e7add1a7c54fa41a89cec7/packages/mdc-elevation/_variables.scss\nconst shadows = ['none', createShadow(0, 2, 1, -1, 0, 1, 1, 0, 0, 1, 3, 0), createShadow(0, 3, 1, -2, 0, 2, 2, 0, 0, 1, 5, 0), createShadow(0, 3, 3, -2, 0, 3, 4, 0, 0, 1, 8, 0), createShadow(0, 2, 4, -1, 0, 4, 5, 0, 0, 1, 10, 0), createShadow(0, 3, 5, -1, 0, 5, 8, 0, 0, 1, 14, 0), createShadow(0, 3, 5, -1, 0, 6, 10, 0, 0, 1, 18, 0), createShadow(0, 4, 5, -2, 0, 7, 10, 1, 0, 2, 16, 1), createShadow(0, 5, 5, -3, 0, 8, 10, 1, 0, 3, 14, 2), createShadow(0, 5, 6, -3, 0, 9, 12, 1, 0, 3, 16, 2), createShadow(0, 6, 6, -3, 0, 10, 14, 1, 0, 4, 18, 3), createShadow(0, 6, 7, -4, 0, 11, 15, 1, 0, 4, 20, 3), createShadow(0, 7, 8, -4, 0, 12, 17, 2, 0, 5, 22, 4), createShadow(0, 7, 8, -4, 0, 13, 19, 2, 0, 5, 24, 4), createShadow(0, 7, 9, -4, 0, 14, 21, 2, 0, 5, 26, 4), createShadow(0, 8, 9, -5, 0, 15, 22, 2, 0, 6, 28, 5), createShadow(0, 8, 10, -5, 0, 16, 24, 2, 0, 6, 30, 5), createShadow(0, 8, 11, -5, 0, 17, 26, 2, 0, 6, 32, 5), createShadow(0, 9, 11, -5, 0, 18, 28, 2, 0, 7, 34, 6), createShadow(0, 9, 12, -6, 0, 19, 29, 2, 0, 7, 36, 6), createShadow(0, 10, 13, -6, 0, 20, 31, 3, 0, 8, 38, 7), createShadow(0, 10, 13, -6, 0, 21, 33, 3, 0, 8, 40, 7), createShadow(0, 10, 14, -6, 0, 22, 35, 3, 0, 8, 42, 7), createShadow(0, 11, 14, -7, 0, 23, 36, 3, 0, 9, 44, 8), createShadow(0, 11, 15, -7, 0, 24, 38, 3, 0, 9, 46, 8)];\nexport default shadows;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"duration\", \"easing\", \"delay\"];\n// Follow https://material.google.com/motion/duration-easing.html#duration-easing-natural-easing-curves\n// to learn the context in which each easing should be used.\nexport const easing = {\n // This is the most common easing curve.\n easeInOut: 'cubic-bezier(0.4, 0, 0.2, 1)',\n // Objects enter the screen at full velocity from off-screen and\n // slowly decelerate to a resting point.\n easeOut: 'cubic-bezier(0.0, 0, 0.2, 1)',\n // Objects leave the screen at full velocity. They do not decelerate when off-screen.\n easeIn: 'cubic-bezier(0.4, 0, 1, 1)',\n // The sharp curve is used by objects that may return to the screen at any time.\n sharp: 'cubic-bezier(0.4, 0, 0.6, 1)'\n};\n\n// Follow https://m2.material.io/guidelines/motion/duration-easing.html#duration-easing-common-durations\n// to learn when use what timing\nexport const duration = {\n shortest: 150,\n shorter: 200,\n short: 250,\n // most basic recommended timing\n standard: 300,\n // this is to be used in complex animations\n complex: 375,\n // recommended when something is entering screen\n enteringScreen: 225,\n // recommended when something is leaving screen\n leavingScreen: 195\n};\nfunction formatMs(milliseconds) {\n return `${Math.round(milliseconds)}ms`;\n}\nfunction getAutoHeightDuration(height) {\n if (!height) {\n return 0;\n }\n const constant = height / 36;\n\n // https://www.wolframalpha.com/input/?i=(4+%2B+15+*+(x+%2F+36+)+**+0.25+%2B+(x+%2F+36)+%2F+5)+*+10\n return Math.round((4 + 15 * constant ** 0.25 + constant / 5) * 10);\n}\nexport default function createTransitions(inputTransitions) {\n const mergedEasing = _extends({}, easing, inputTransitions.easing);\n const mergedDuration = _extends({}, duration, inputTransitions.duration);\n const create = (props = ['all'], options = {}) => {\n const {\n duration: durationOption = mergedDuration.standard,\n easing: easingOption = mergedEasing.easeInOut,\n delay = 0\n } = options,\n other = _objectWithoutPropertiesLoose(options, _excluded);\n if (process.env.NODE_ENV !== 'production') {\n const isString = value => typeof value === 'string';\n // IE11 support, replace with Number.isNaN\n // eslint-disable-next-line no-restricted-globals\n const isNumber = value => !isNaN(parseFloat(value));\n if (!isString(props) && !Array.isArray(props)) {\n console.error('MUI: Argument \"props\" must be a string or Array.');\n }\n if (!isNumber(durationOption) && !isString(durationOption)) {\n console.error(`MUI: Argument \"duration\" must be a number or a string but found ${durationOption}.`);\n }\n if (!isString(easingOption)) {\n console.error('MUI: Argument \"easing\" must be a string.');\n }\n if (!isNumber(delay) && !isString(delay)) {\n console.error('MUI: Argument \"delay\" must be a number or a string.');\n }\n if (typeof options !== 'object') {\n console.error(['MUI: Secong argument of transition.create must be an object.', \"Arguments should be either `create('prop1', options)` or `create(['prop1', 'prop2'], options)`\"].join('\\n'));\n }\n if (Object.keys(other).length !== 0) {\n console.error(`MUI: Unrecognized argument(s) [${Object.keys(other).join(',')}].`);\n }\n }\n return (Array.isArray(props) ? props : [props]).map(animatedProp => `${animatedProp} ${typeof durationOption === 'string' ? durationOption : formatMs(durationOption)} ${easingOption} ${typeof delay === 'string' ? delay : formatMs(delay)}`).join(',');\n };\n return _extends({\n getAutoHeightDuration,\n create\n }, inputTransitions, {\n easing: mergedEasing,\n duration: mergedDuration\n });\n}","// We need to centralize the zIndex definitions as they work\n// like global values in the browser.\nconst zIndex = {\n mobileStepper: 1000,\n fab: 1050,\n speedDial: 1050,\n appBar: 1100,\n drawer: 1200,\n modal: 1300,\n snackbar: 1400,\n tooltip: 1500\n};\nexport default zIndex;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _formatMuiErrorMessage from \"@mui/utils/formatMuiErrorMessage\";\nconst _excluded = [\"breakpoints\", \"mixins\", \"spacing\", \"palette\", \"transitions\", \"typography\", \"shape\"];\nimport deepmerge from '@mui/utils/deepmerge';\nimport styleFunctionSx, { unstable_defaultSxConfig as defaultSxConfig } from '@mui/system/styleFunctionSx';\nimport systemCreateTheme from '@mui/system/createTheme';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nimport createMixins from './createMixins';\nimport createPalette from './createPalette';\nimport createTypography from './createTypography';\nimport shadows from './shadows';\nimport createTransitions from './createTransitions';\nimport zIndex from './zIndex';\nfunction createTheme(options = {}, ...args) {\n const {\n mixins: mixinsInput = {},\n palette: paletteInput = {},\n transitions: transitionsInput = {},\n typography: typographyInput = {}\n } = options,\n other = _objectWithoutPropertiesLoose(options, _excluded);\n if (options.vars) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: \\`vars\\` is a private field used for CSS variables support.\nPlease use another name.` : _formatMuiErrorMessage(18));\n }\n const palette = createPalette(paletteInput);\n const systemTheme = systemCreateTheme(options);\n let muiTheme = deepmerge(systemTheme, {\n mixins: createMixins(systemTheme.breakpoints, mixinsInput),\n palette,\n // Don't use [...shadows] until you've verified its transpiled code is not invoking the iterator protocol.\n shadows: shadows.slice(),\n typography: createTypography(palette, typographyInput),\n transitions: createTransitions(transitionsInput),\n zIndex: _extends({}, zIndex)\n });\n muiTheme = deepmerge(muiTheme, other);\n muiTheme = args.reduce((acc, argument) => deepmerge(acc, argument), muiTheme);\n if (process.env.NODE_ENV !== 'production') {\n // TODO v6: Refactor to use globalStateClassesMapping from @mui/utils once `readOnly` state class is used in Rating component.\n const stateClasses = ['active', 'checked', 'completed', 'disabled', 'error', 'expanded', 'focused', 'focusVisible', 'required', 'selected'];\n const traverse = (node, component) => {\n let key;\n\n // eslint-disable-next-line guard-for-in, no-restricted-syntax\n for (key in node) {\n const child = node[key];\n if (stateClasses.indexOf(key) !== -1 && Object.keys(child).length > 0) {\n if (process.env.NODE_ENV !== 'production') {\n const stateClass = generateUtilityClass('', key);\n console.error([`MUI: The \\`${component}\\` component increases ` + `the CSS specificity of the \\`${key}\\` internal state.`, 'You can not override it like this: ', JSON.stringify(node, null, 2), '', `Instead, you need to use the '&.${stateClass}' syntax:`, JSON.stringify({\n root: {\n [`&.${stateClass}`]: child\n }\n }, null, 2), '', 'https://mui.com/r/state-classes-guide'].join('\\n'));\n }\n // Remove the style to prevent global conflicts.\n node[key] = {};\n }\n }\n };\n Object.keys(muiTheme.components).forEach(component => {\n const styleOverrides = muiTheme.components[component].styleOverrides;\n if (styleOverrides && component.indexOf('Mui') === 0) {\n traverse(styleOverrides, component);\n }\n });\n }\n muiTheme.unstable_sxConfig = _extends({}, defaultSxConfig, other == null ? void 0 : other.unstable_sxConfig);\n muiTheme.unstable_sx = function sx(props) {\n return styleFunctionSx({\n sx: props,\n theme: this\n });\n };\n return muiTheme;\n}\nlet warnedOnce = false;\nexport function createMuiTheme(...args) {\n if (process.env.NODE_ENV !== 'production') {\n if (!warnedOnce) {\n warnedOnce = true;\n console.error(['MUI: the createMuiTheme function was renamed to createTheme.', '', \"You should use `import { createTheme } from '@mui/material/styles'`\"].join('\\n'));\n }\n }\n return createTheme(...args);\n}\nexport default createTheme;","'use client';\n\nimport createTheme from './createTheme';\nconst defaultTheme = createTheme();\nexport default defaultTheme;","'use client';\n\nimport * as React from 'react';\nimport { useTheme as useThemeSystem } from '@mui/system';\nimport defaultTheme from './defaultTheme';\nimport THEME_ID from './identifier';\nexport default function useTheme() {\n const theme = useThemeSystem(defaultTheme);\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useDebugValue(theme);\n }\n return theme[THEME_ID] || theme;\n}","'use client';\n\nimport systemUseThemeProps from '@mui/system/useThemeProps';\nimport defaultTheme from './defaultTheme';\nimport THEME_ID from './identifier';\nexport default function useThemeProps({\n props,\n name\n}) {\n return systemUseThemeProps({\n props,\n name,\n defaultTheme,\n themeId: THEME_ID\n });\n}","function _extends() {\n module.exports = _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _extends.apply(this, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}\nmodule.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = createStyled;\nexports.shouldForwardProp = shouldForwardProp;\nexports.systemDefaultTheme = void 0;\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\nvar _styledEngine = _interopRequireWildcard(require(\"@mui/styled-engine\"));\nvar _deepmerge = require(\"@mui/utils/deepmerge\");\nvar _capitalize = _interopRequireDefault(require(\"@mui/utils/capitalize\"));\nvar _getDisplayName = _interopRequireDefault(require(\"@mui/utils/getDisplayName\"));\nvar _createTheme = _interopRequireDefault(require(\"./createTheme\"));\nvar _styleFunctionSx = _interopRequireDefault(require(\"./styleFunctionSx\"));\nconst _excluded = [\"ownerState\"],\n _excluded2 = [\"variants\"],\n _excluded3 = [\"name\", \"slot\", \"skipVariantsResolver\", \"skipSx\", \"overridesResolver\"];\n/* eslint-disable no-underscore-dangle */\nfunction _getRequireWildcardCache(e) { if (\"function\" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }\nfunction _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || \"object\" != typeof e && \"function\" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if (\"default\" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }\nfunction isEmpty(obj) {\n return Object.keys(obj).length === 0;\n}\n\n// https://github.com/emotion-js/emotion/blob/26ded6109fcd8ca9875cc2ce4564fee678a3f3c5/packages/styled/src/utils.js#L40\nfunction isStringTag(tag) {\n return typeof tag === 'string' &&\n // 96 is one less than the char code\n // for \"a\" so this is checking that\n // it's a lowercase character\n tag.charCodeAt(0) > 96;\n}\n\n// Update /system/styled/#api in case if this changes\nfunction shouldForwardProp(prop) {\n return prop !== 'ownerState' && prop !== 'theme' && prop !== 'sx' && prop !== 'as';\n}\nconst systemDefaultTheme = exports.systemDefaultTheme = (0, _createTheme.default)();\nconst lowercaseFirstLetter = string => {\n if (!string) {\n return string;\n }\n return string.charAt(0).toLowerCase() + string.slice(1);\n};\nfunction resolveTheme({\n defaultTheme,\n theme,\n themeId\n}) {\n return isEmpty(theme) ? defaultTheme : theme[themeId] || theme;\n}\nfunction defaultOverridesResolver(slot) {\n if (!slot) {\n return null;\n }\n return (props, styles) => styles[slot];\n}\nfunction processStyleArg(callableStyle, _ref) {\n let {\n ownerState\n } = _ref,\n props = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded);\n const resolvedStylesArg = typeof callableStyle === 'function' ? callableStyle((0, _extends2.default)({\n ownerState\n }, props)) : callableStyle;\n if (Array.isArray(resolvedStylesArg)) {\n return resolvedStylesArg.flatMap(resolvedStyle => processStyleArg(resolvedStyle, (0, _extends2.default)({\n ownerState\n }, props)));\n }\n if (!!resolvedStylesArg && typeof resolvedStylesArg === 'object' && Array.isArray(resolvedStylesArg.variants)) {\n const {\n variants = []\n } = resolvedStylesArg,\n otherStyles = (0, _objectWithoutPropertiesLoose2.default)(resolvedStylesArg, _excluded2);\n let result = otherStyles;\n variants.forEach(variant => {\n let isMatch = true;\n if (typeof variant.props === 'function') {\n isMatch = variant.props((0, _extends2.default)({\n ownerState\n }, props, ownerState));\n } else {\n Object.keys(variant.props).forEach(key => {\n if ((ownerState == null ? void 0 : ownerState[key]) !== variant.props[key] && props[key] !== variant.props[key]) {\n isMatch = false;\n }\n });\n }\n if (isMatch) {\n if (!Array.isArray(result)) {\n result = [result];\n }\n result.push(typeof variant.style === 'function' ? variant.style((0, _extends2.default)({\n ownerState\n }, props, ownerState)) : variant.style);\n }\n });\n return result;\n }\n return resolvedStylesArg;\n}\nfunction createStyled(input = {}) {\n const {\n themeId,\n defaultTheme = systemDefaultTheme,\n rootShouldForwardProp = shouldForwardProp,\n slotShouldForwardProp = shouldForwardProp\n } = input;\n const systemSx = props => {\n return (0, _styleFunctionSx.default)((0, _extends2.default)({}, props, {\n theme: resolveTheme((0, _extends2.default)({}, props, {\n defaultTheme,\n themeId\n }))\n }));\n };\n systemSx.__mui_systemSx = true;\n return (tag, inputOptions = {}) => {\n // Filter out the `sx` style function from the previous styled component to prevent unnecessary styles generated by the composite components.\n (0, _styledEngine.internal_processStyles)(tag, styles => styles.filter(style => !(style != null && style.__mui_systemSx)));\n const {\n name: componentName,\n slot: componentSlot,\n skipVariantsResolver: inputSkipVariantsResolver,\n skipSx: inputSkipSx,\n // TODO v6: remove `lowercaseFirstLetter()` in the next major release\n // For more details: https://github.com/mui/material-ui/pull/37908\n overridesResolver = defaultOverridesResolver(lowercaseFirstLetter(componentSlot))\n } = inputOptions,\n options = (0, _objectWithoutPropertiesLoose2.default)(inputOptions, _excluded3);\n\n // if skipVariantsResolver option is defined, take the value, otherwise, true for root and false for other slots.\n const skipVariantsResolver = inputSkipVariantsResolver !== undefined ? inputSkipVariantsResolver :\n // TODO v6: remove `Root` in the next major release\n // For more details: https://github.com/mui/material-ui/pull/37908\n componentSlot && componentSlot !== 'Root' && componentSlot !== 'root' || false;\n const skipSx = inputSkipSx || false;\n let label;\n if (process.env.NODE_ENV !== 'production') {\n if (componentName) {\n // TODO v6: remove `lowercaseFirstLetter()` in the next major release\n // For more details: https://github.com/mui/material-ui/pull/37908\n label = `${componentName}-${lowercaseFirstLetter(componentSlot || 'Root')}`;\n }\n }\n let shouldForwardPropOption = shouldForwardProp;\n\n // TODO v6: remove `Root` in the next major release\n // For more details: https://github.com/mui/material-ui/pull/37908\n if (componentSlot === 'Root' || componentSlot === 'root') {\n shouldForwardPropOption = rootShouldForwardProp;\n } else if (componentSlot) {\n // any other slot specified\n shouldForwardPropOption = slotShouldForwardProp;\n } else if (isStringTag(tag)) {\n // for string (html) tag, preserve the behavior in emotion & styled-components.\n shouldForwardPropOption = undefined;\n }\n const defaultStyledResolver = (0, _styledEngine.default)(tag, (0, _extends2.default)({\n shouldForwardProp: shouldForwardPropOption,\n label\n }, options));\n const transformStyleArg = stylesArg => {\n // On the server Emotion doesn't use React.forwardRef for creating components, so the created\n // component stays as a function. This condition makes sure that we do not interpolate functions\n // which are basically components used as a selectors.\n if (typeof stylesArg === 'function' && stylesArg.__emotion_real !== stylesArg || (0, _deepmerge.isPlainObject)(stylesArg)) {\n return props => processStyleArg(stylesArg, (0, _extends2.default)({}, props, {\n theme: resolveTheme({\n theme: props.theme,\n defaultTheme,\n themeId\n })\n }));\n }\n return stylesArg;\n };\n const muiStyledResolver = (styleArg, ...expressions) => {\n let transformedStyleArg = transformStyleArg(styleArg);\n const expressionsWithDefaultTheme = expressions ? expressions.map(transformStyleArg) : [];\n if (componentName && overridesResolver) {\n expressionsWithDefaultTheme.push(props => {\n const theme = resolveTheme((0, _extends2.default)({}, props, {\n defaultTheme,\n themeId\n }));\n if (!theme.components || !theme.components[componentName] || !theme.components[componentName].styleOverrides) {\n return null;\n }\n const styleOverrides = theme.components[componentName].styleOverrides;\n const resolvedStyleOverrides = {};\n // TODO: v7 remove iteration and use `resolveStyleArg(styleOverrides[slot])` directly\n Object.entries(styleOverrides).forEach(([slotKey, slotStyle]) => {\n resolvedStyleOverrides[slotKey] = processStyleArg(slotStyle, (0, _extends2.default)({}, props, {\n theme\n }));\n });\n return overridesResolver(props, resolvedStyleOverrides);\n });\n }\n if (componentName && !skipVariantsResolver) {\n expressionsWithDefaultTheme.push(props => {\n var _theme$components;\n const theme = resolveTheme((0, _extends2.default)({}, props, {\n defaultTheme,\n themeId\n }));\n const themeVariants = theme == null || (_theme$components = theme.components) == null || (_theme$components = _theme$components[componentName]) == null ? void 0 : _theme$components.variants;\n return processStyleArg({\n variants: themeVariants\n }, (0, _extends2.default)({}, props, {\n theme\n }));\n });\n }\n if (!skipSx) {\n expressionsWithDefaultTheme.push(systemSx);\n }\n const numOfCustomFnsApplied = expressionsWithDefaultTheme.length - expressions.length;\n if (Array.isArray(styleArg) && numOfCustomFnsApplied > 0) {\n const placeholders = new Array(numOfCustomFnsApplied).fill('');\n // If the type is array, than we need to add placeholders in the template for the overrides, variants and the sx styles.\n transformedStyleArg = [...styleArg, ...placeholders];\n transformedStyleArg.raw = [...styleArg.raw, ...placeholders];\n }\n const Component = defaultStyledResolver(transformedStyleArg, ...expressionsWithDefaultTheme);\n if (process.env.NODE_ENV !== 'production') {\n let displayName;\n if (componentName) {\n displayName = `${componentName}${(0, _capitalize.default)(componentSlot || '')}`;\n }\n if (displayName === undefined) {\n displayName = `Styled(${(0, _getDisplayName.default)(tag)})`;\n }\n Component.displayName = displayName;\n }\n if (tag.muiName) {\n Component.muiName = tag.muiName;\n }\n return Component;\n };\n if (defaultStyledResolver.withConfig) {\n muiStyledResolver.withConfig = defaultStyledResolver.withConfig;\n }\n return muiStyledResolver;\n };\n}","// copied from @mui/system/createStyled\nfunction slotShouldForwardProp(prop) {\n return prop !== 'ownerState' && prop !== 'theme' && prop !== 'sx' && prop !== 'as';\n}\nexport default slotShouldForwardProp;","import slotShouldForwardProp from './slotShouldForwardProp';\nconst rootShouldForwardProp = prop => slotShouldForwardProp(prop) && prop !== 'classes';\nexport default rootShouldForwardProp;","'use client';\n\nimport createStyled from '@mui/system/createStyled';\nimport defaultTheme from './defaultTheme';\nimport THEME_ID from './identifier';\nimport rootShouldForwardProp from './rootShouldForwardProp';\nexport { default as slotShouldForwardProp } from './slotShouldForwardProp';\nexport { default as rootShouldForwardProp } from './rootShouldForwardProp';\nconst styled = createStyled({\n themeId: THEME_ID,\n defaultTheme,\n rootShouldForwardProp\n});\nexport default styled;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"theme\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { ThemeProvider as SystemThemeProvider } from '@mui/system';\nimport THEME_ID from './identifier';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default function ThemeProvider(_ref) {\n let {\n theme: themeInput\n } = _ref,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n const scopedTheme = themeInput[THEME_ID];\n return /*#__PURE__*/_jsx(SystemThemeProvider, _extends({}, props, {\n themeId: scopedTheme ? THEME_ID : undefined,\n theme: scopedTheme || themeInput\n }));\n}\nprocess.env.NODE_ENV !== \"production\" ? ThemeProvider.propTypes = {\n /**\n * Your component tree.\n */\n children: PropTypes.node,\n /**\n * A theme object. You can provide a function to extend the outer theme.\n */\n theme: PropTypes.oneOfType([PropTypes.object, PropTypes.func]).isRequired\n} : void 0;","// Inspired by https://github.com/material-components/material-components-ios/blob/bca36107405594d5b7b16265a5b0ed698f85a5ee/components/Elevation/src/UIColor%2BMaterialElevation.m#L61\nconst getOverlayAlpha = elevation => {\n let alphaValue;\n if (elevation < 1) {\n alphaValue = 5.11916 * elevation ** 2;\n } else {\n alphaValue = 4.5 * Math.log(elevation + 1) + 2;\n }\n return (alphaValue / 100).toFixed(2);\n};\nexport default getOverlayAlpha;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getSvgIconUtilityClass(slot) {\n return generateUtilityClass('MuiSvgIcon', slot);\n}\nconst svgIconClasses = generateUtilityClasses('MuiSvgIcon', ['root', 'colorPrimary', 'colorSecondary', 'colorAction', 'colorError', 'colorDisabled', 'fontSizeInherit', 'fontSizeSmall', 'fontSizeMedium', 'fontSizeLarge']);\nexport default svgIconClasses;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\", \"className\", \"color\", \"component\", \"fontSize\", \"htmlColor\", \"inheritViewBox\", \"titleAccess\", \"viewBox\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport capitalize from '../utils/capitalize';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport { getSvgIconUtilityClass } from './svgIconClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n color,\n fontSize,\n classes\n } = ownerState;\n const slots = {\n root: ['root', color !== 'inherit' && `color${capitalize(color)}`, `fontSize${capitalize(fontSize)}`]\n };\n return composeClasses(slots, getSvgIconUtilityClass, classes);\n};\nconst SvgIconRoot = styled('svg', {\n name: 'MuiSvgIcon',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.color !== 'inherit' && styles[`color${capitalize(ownerState.color)}`], styles[`fontSize${capitalize(ownerState.fontSize)}`]];\n }\n})(({\n theme,\n ownerState\n}) => {\n var _theme$transitions, _theme$transitions$cr, _theme$transitions2, _theme$typography, _theme$typography$pxT, _theme$typography2, _theme$typography2$px, _theme$typography3, _theme$typography3$px, _palette$ownerState$c, _palette, _palette2, _palette3;\n return {\n userSelect: 'none',\n width: '1em',\n height: '1em',\n display: 'inline-block',\n // the <svg> will define the property that has `currentColor`\n // for example heroicons uses fill=\"none\" and stroke=\"currentColor\"\n fill: ownerState.hasSvgAsChild ? undefined : 'currentColor',\n flexShrink: 0,\n transition: (_theme$transitions = theme.transitions) == null || (_theme$transitions$cr = _theme$transitions.create) == null ? void 0 : _theme$transitions$cr.call(_theme$transitions, 'fill', {\n duration: (_theme$transitions2 = theme.transitions) == null || (_theme$transitions2 = _theme$transitions2.duration) == null ? void 0 : _theme$transitions2.shorter\n }),\n fontSize: {\n inherit: 'inherit',\n small: ((_theme$typography = theme.typography) == null || (_theme$typography$pxT = _theme$typography.pxToRem) == null ? void 0 : _theme$typography$pxT.call(_theme$typography, 20)) || '1.25rem',\n medium: ((_theme$typography2 = theme.typography) == null || (_theme$typography2$px = _theme$typography2.pxToRem) == null ? void 0 : _theme$typography2$px.call(_theme$typography2, 24)) || '1.5rem',\n large: ((_theme$typography3 = theme.typography) == null || (_theme$typography3$px = _theme$typography3.pxToRem) == null ? void 0 : _theme$typography3$px.call(_theme$typography3, 35)) || '2.1875rem'\n }[ownerState.fontSize],\n // TODO v5 deprecate, v6 remove for sx\n color: (_palette$ownerState$c = (_palette = (theme.vars || theme).palette) == null || (_palette = _palette[ownerState.color]) == null ? void 0 : _palette.main) != null ? _palette$ownerState$c : {\n action: (_palette2 = (theme.vars || theme).palette) == null || (_palette2 = _palette2.action) == null ? void 0 : _palette2.active,\n disabled: (_palette3 = (theme.vars || theme).palette) == null || (_palette3 = _palette3.action) == null ? void 0 : _palette3.disabled,\n inherit: undefined\n }[ownerState.color]\n };\n});\nconst SvgIcon = /*#__PURE__*/React.forwardRef(function SvgIcon(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiSvgIcon'\n });\n const {\n children,\n className,\n color = 'inherit',\n component = 'svg',\n fontSize = 'medium',\n htmlColor,\n inheritViewBox = false,\n titleAccess,\n viewBox = '0 0 24 24'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const hasSvgAsChild = /*#__PURE__*/React.isValidElement(children) && children.type === 'svg';\n const ownerState = _extends({}, props, {\n color,\n component,\n fontSize,\n instanceFontSize: inProps.fontSize,\n inheritViewBox,\n viewBox,\n hasSvgAsChild\n });\n const more = {};\n if (!inheritViewBox) {\n more.viewBox = viewBox;\n }\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(SvgIconRoot, _extends({\n as: component,\n className: clsx(classes.root, className),\n focusable: \"false\",\n color: htmlColor,\n \"aria-hidden\": titleAccess ? undefined : true,\n role: titleAccess ? 'img' : undefined,\n ref: ref\n }, more, other, hasSvgAsChild && children.props, {\n ownerState: ownerState,\n children: [hasSvgAsChild ? children.props.children : children, titleAccess ? /*#__PURE__*/_jsx(\"title\", {\n children: titleAccess\n }) : null]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? SvgIcon.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Node passed into the SVG element.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * You can use the `htmlColor` prop to apply a color attribute to the SVG element.\n * @default 'inherit'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['inherit', 'action', 'disabled', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * The fontSize applied to the icon. Defaults to 24px, but can be configure to inherit font size.\n * @default 'medium'\n */\n fontSize: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['inherit', 'large', 'medium', 'small']), PropTypes.string]),\n /**\n * Applies a color attribute to the SVG element.\n */\n htmlColor: PropTypes.string,\n /**\n * If `true`, the root node will inherit the custom `component`'s viewBox and the `viewBox`\n * prop will be ignored.\n * Useful when you want to reference a custom `component` and have `SvgIcon` pass that\n * `component`'s viewBox to the root node.\n * @default false\n */\n inheritViewBox: PropTypes.bool,\n /**\n * The shape-rendering attribute. The behavior of the different options is described on the\n * [MDN Web Docs](https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/shape-rendering).\n * If you are having issues with blurry icons you should investigate this prop.\n */\n shapeRendering: PropTypes.string,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * Provides a human-readable title for the element that contains it.\n * https://www.w3.org/TR/SVG-access/#Equivalent\n */\n titleAccess: PropTypes.string,\n /**\n * Allows you to redefine what the coordinates without units mean inside an SVG element.\n * For example, if the SVG element is 500 (width) by 200 (height),\n * and you pass viewBox=\"0 0 50 20\",\n * this means that the coordinates inside the SVG will go from the top left corner (0,0)\n * to bottom right (50,20) and each unit will be worth 10px.\n * @default '0 0 24 24'\n */\n viewBox: PropTypes.string\n} : void 0;\nSvgIcon.muiName = 'SvgIcon';\nexport default SvgIcon;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport SvgIcon from '../SvgIcon';\n\n/**\n * Private module reserved for @mui packages.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default function createSvgIcon(path, displayName) {\n function Component(props, ref) {\n return /*#__PURE__*/_jsx(SvgIcon, _extends({\n \"data-testid\": `${displayName}Icon`,\n ref: ref\n }, props, {\n children: path\n }));\n }\n if (process.env.NODE_ENV !== 'production') {\n // Need to set `displayName` on the inner component for React.memo.\n // React prior to 16.14 ignores `displayName` on the wrapper.\n Component.displayName = `${displayName}Icon`;\n }\n Component.muiName = SvgIcon.muiName;\n return /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(Component));\n}","'use client';\n\nimport { unstable_ClassNameGenerator as ClassNameGenerator } from '@mui/base/ClassNameGenerator';\nexport { default as capitalize } from './capitalize';\nexport { default as createChainedFunction } from './createChainedFunction';\nexport { default as createSvgIcon } from './createSvgIcon';\nexport { default as debounce } from './debounce';\nexport { default as deprecatedPropType } from './deprecatedPropType';\nexport { default as isMuiElement } from './isMuiElement';\nexport { default as ownerDocument } from './ownerDocument';\nexport { default as ownerWindow } from './ownerWindow';\nexport { default as requirePropFactory } from './requirePropFactory';\nexport { default as setRef } from './setRef';\nexport { default as unstable_useEnhancedEffect } from './useEnhancedEffect';\nexport { default as unstable_useId } from './useId';\nexport { default as unsupportedProp } from './unsupportedProp';\nexport { default as useControlled } from './useControlled';\nexport { default as useEventCallback } from './useEventCallback';\nexport { default as useForkRef } from './useForkRef';\nexport { default as useIsFocusVisible } from './useIsFocusVisible';\n// TODO: remove this export once ClassNameGenerator is stable\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const unstable_ClassNameGenerator = {\n configure: generator => {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(['MUI: `ClassNameGenerator` import from `@mui/material/utils` is outdated and might cause unexpected issues.', '', \"You should use `import { unstable_ClassNameGenerator } from '@mui/material/className'` instead\", '', 'The detail of the issue: https://github.com/mui/material-ui/issues/30011#issuecomment-1024993401', '', 'The updated documentation: https://mui.com/guides/classname-generator/'].join('\\n'));\n }\n ClassNameGenerator.configure(generator);\n }\n};","import useThemeProps from '../styles/useThemeProps';\nexport { default as styled } from '../styles/styled';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport function createUseThemeProps(name) {\n return useThemeProps;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","export default {\n disabled: false\n};","import React from 'react';\nexport default React.createContext(null);","export var forceReflow = function forceReflow(node) {\n return node.scrollTop;\n};","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport config from './config';\nimport { timeoutsShape } from './utils/PropTypes';\nimport TransitionGroupContext from './TransitionGroupContext';\nimport { forceReflow } from './utils/reflow';\nexport var UNMOUNTED = 'unmounted';\nexport var EXITED = 'exited';\nexport var ENTERING = 'entering';\nexport var ENTERED = 'entered';\nexport var EXITING = 'exiting';\n/**\n * The Transition component lets you describe a transition from one component\n * state to another _over time_ with a simple declarative API. Most commonly\n * it's used to animate the mounting and unmounting of a component, but can also\n * be used to describe in-place transition states as well.\n *\n * ---\n *\n * **Note**: `Transition` is a platform-agnostic base component. If you're using\n * transitions in CSS, you'll probably want to use\n * [`CSSTransition`](https://reactcommunity.org/react-transition-group/css-transition)\n * instead. It inherits all the features of `Transition`, but contains\n * additional features necessary to play nice with CSS transitions (hence the\n * name of the component).\n *\n * ---\n *\n * By default the `Transition` component does not alter the behavior of the\n * component it renders, it only tracks \"enter\" and \"exit\" states for the\n * components. It's up to you to give meaning and effect to those states. For\n * example we can add styles to a component when it enters or exits:\n *\n * ```jsx\n * import { Transition } from 'react-transition-group';\n *\n * const duration = 300;\n *\n * const defaultStyle = {\n * transition: `opacity ${duration}ms ease-in-out`,\n * opacity: 0,\n * }\n *\n * const transitionStyles = {\n * entering: { opacity: 1 },\n * entered: { opacity: 1 },\n * exiting: { opacity: 0 },\n * exited: { opacity: 0 },\n * };\n *\n * const Fade = ({ in: inProp }) => (\n * <Transition in={inProp} timeout={duration}>\n * {state => (\n * <div style={{\n * ...defaultStyle,\n * ...transitionStyles[state]\n * }}>\n * I'm a fade Transition!\n * </div>\n * )}\n * </Transition>\n * );\n * ```\n *\n * There are 4 main states a Transition can be in:\n * - `'entering'`\n * - `'entered'`\n * - `'exiting'`\n * - `'exited'`\n *\n * Transition state is toggled via the `in` prop. When `true` the component\n * begins the \"Enter\" stage. During this stage, the component will shift from\n * its current transition state, to `'entering'` for the duration of the\n * transition and then to the `'entered'` stage once it's complete. Let's take\n * the following example (we'll use the\n * [useState](https://reactjs.org/docs/hooks-reference.html#usestate) hook):\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n * <div>\n * <Transition in={inProp} timeout={500}>\n * {state => (\n * // ...\n * )}\n * </Transition>\n * <button onClick={() => setInProp(true)}>\n * Click to Enter\n * </button>\n * </div>\n * );\n * }\n * ```\n *\n * When the button is clicked the component will shift to the `'entering'` state\n * and stay there for 500ms (the value of `timeout`) before it finally switches\n * to `'entered'`.\n *\n * When `in` is `false` the same thing happens except the state moves from\n * `'exiting'` to `'exited'`.\n */\n\nvar Transition = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Transition, _React$Component);\n\n function Transition(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n var parentGroup = context; // In the context of a TransitionGroup all enters are really appears\n\n var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;\n var initialStatus;\n _this.appearStatus = null;\n\n if (props.in) {\n if (appear) {\n initialStatus = EXITED;\n _this.appearStatus = ENTERING;\n } else {\n initialStatus = ENTERED;\n }\n } else {\n if (props.unmountOnExit || props.mountOnEnter) {\n initialStatus = UNMOUNTED;\n } else {\n initialStatus = EXITED;\n }\n }\n\n _this.state = {\n status: initialStatus\n };\n _this.nextCallback = null;\n return _this;\n }\n\n Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {\n var nextIn = _ref.in;\n\n if (nextIn && prevState.status === UNMOUNTED) {\n return {\n status: EXITED\n };\n }\n\n return null;\n } // getSnapshotBeforeUpdate(prevProps) {\n // let nextStatus = null\n // if (prevProps !== this.props) {\n // const { status } = this.state\n // if (this.props.in) {\n // if (status !== ENTERING && status !== ENTERED) {\n // nextStatus = ENTERING\n // }\n // } else {\n // if (status === ENTERING || status === ENTERED) {\n // nextStatus = EXITING\n // }\n // }\n // }\n // return { nextStatus }\n // }\n ;\n\n var _proto = Transition.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.updateStatus(true, this.appearStatus);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var nextStatus = null;\n\n if (prevProps !== this.props) {\n var status = this.state.status;\n\n if (this.props.in) {\n if (status !== ENTERING && status !== ENTERED) {\n nextStatus = ENTERING;\n }\n } else {\n if (status === ENTERING || status === ENTERED) {\n nextStatus = EXITING;\n }\n }\n }\n\n this.updateStatus(false, nextStatus);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.cancelNextCallback();\n };\n\n _proto.getTimeouts = function getTimeouts() {\n var timeout = this.props.timeout;\n var exit, enter, appear;\n exit = enter = appear = timeout;\n\n if (timeout != null && typeof timeout !== 'number') {\n exit = timeout.exit;\n enter = timeout.enter; // TODO: remove fallback for next major\n\n appear = timeout.appear !== undefined ? timeout.appear : enter;\n }\n\n return {\n exit: exit,\n enter: enter,\n appear: appear\n };\n };\n\n _proto.updateStatus = function updateStatus(mounting, nextStatus) {\n if (mounting === void 0) {\n mounting = false;\n }\n\n if (nextStatus !== null) {\n // nextStatus will always be ENTERING or EXITING.\n this.cancelNextCallback();\n\n if (nextStatus === ENTERING) {\n if (this.props.unmountOnExit || this.props.mountOnEnter) {\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this); // https://github.com/reactjs/react-transition-group/pull/749\n // With unmountOnExit or mountOnEnter, the enter animation should happen at the transition between `exited` and `entering`.\n // To make the animation happen, we have to separate each rendering and avoid being processed as batched.\n\n if (node) forceReflow(node);\n }\n\n this.performEnter(mounting);\n } else {\n this.performExit();\n }\n } else if (this.props.unmountOnExit && this.state.status === EXITED) {\n this.setState({\n status: UNMOUNTED\n });\n }\n };\n\n _proto.performEnter = function performEnter(mounting) {\n var _this2 = this;\n\n var enter = this.props.enter;\n var appearing = this.context ? this.context.isMounting : mounting;\n\n var _ref2 = this.props.nodeRef ? [appearing] : [ReactDOM.findDOMNode(this), appearing],\n maybeNode = _ref2[0],\n maybeAppearing = _ref2[1];\n\n var timeouts = this.getTimeouts();\n var enterTimeout = appearing ? timeouts.appear : timeouts.enter; // no enter animation skip right to ENTERED\n // if we are mounting and running this it means appear _must_ be set\n\n if (!mounting && !enter || config.disabled) {\n this.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode);\n });\n return;\n }\n\n this.props.onEnter(maybeNode, maybeAppearing);\n this.safeSetState({\n status: ENTERING\n }, function () {\n _this2.props.onEntering(maybeNode, maybeAppearing);\n\n _this2.onTransitionEnd(enterTimeout, function () {\n _this2.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode, maybeAppearing);\n });\n });\n });\n };\n\n _proto.performExit = function performExit() {\n var _this3 = this;\n\n var exit = this.props.exit;\n var timeouts = this.getTimeouts();\n var maybeNode = this.props.nodeRef ? undefined : ReactDOM.findDOMNode(this); // no exit animation skip right to EXITED\n\n if (!exit || config.disabled) {\n this.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n return;\n }\n\n this.props.onExit(maybeNode);\n this.safeSetState({\n status: EXITING\n }, function () {\n _this3.props.onExiting(maybeNode);\n\n _this3.onTransitionEnd(timeouts.exit, function () {\n _this3.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n });\n });\n };\n\n _proto.cancelNextCallback = function cancelNextCallback() {\n if (this.nextCallback !== null) {\n this.nextCallback.cancel();\n this.nextCallback = null;\n }\n };\n\n _proto.safeSetState = function safeSetState(nextState, callback) {\n // This shouldn't be necessary, but there are weird race conditions with\n // setState callbacks and unmounting in testing, so always make sure that\n // we can cancel any pending setState callbacks after we unmount.\n callback = this.setNextCallback(callback);\n this.setState(nextState, callback);\n };\n\n _proto.setNextCallback = function setNextCallback(callback) {\n var _this4 = this;\n\n var active = true;\n\n this.nextCallback = function (event) {\n if (active) {\n active = false;\n _this4.nextCallback = null;\n callback(event);\n }\n };\n\n this.nextCallback.cancel = function () {\n active = false;\n };\n\n return this.nextCallback;\n };\n\n _proto.onTransitionEnd = function onTransitionEnd(timeout, handler) {\n this.setNextCallback(handler);\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this);\n var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener;\n\n if (!node || doesNotHaveTimeoutOrListener) {\n setTimeout(this.nextCallback, 0);\n return;\n }\n\n if (this.props.addEndListener) {\n var _ref3 = this.props.nodeRef ? [this.nextCallback] : [node, this.nextCallback],\n maybeNode = _ref3[0],\n maybeNextCallback = _ref3[1];\n\n this.props.addEndListener(maybeNode, maybeNextCallback);\n }\n\n if (timeout != null) {\n setTimeout(this.nextCallback, timeout);\n }\n };\n\n _proto.render = function render() {\n var status = this.state.status;\n\n if (status === UNMOUNTED) {\n return null;\n }\n\n var _this$props = this.props,\n children = _this$props.children,\n _in = _this$props.in,\n _mountOnEnter = _this$props.mountOnEnter,\n _unmountOnExit = _this$props.unmountOnExit,\n _appear = _this$props.appear,\n _enter = _this$props.enter,\n _exit = _this$props.exit,\n _timeout = _this$props.timeout,\n _addEndListener = _this$props.addEndListener,\n _onEnter = _this$props.onEnter,\n _onEntering = _this$props.onEntering,\n _onEntered = _this$props.onEntered,\n _onExit = _this$props.onExit,\n _onExiting = _this$props.onExiting,\n _onExited = _this$props.onExited,\n _nodeRef = _this$props.nodeRef,\n childProps = _objectWithoutPropertiesLoose(_this$props, [\"children\", \"in\", \"mountOnEnter\", \"unmountOnExit\", \"appear\", \"enter\", \"exit\", \"timeout\", \"addEndListener\", \"onEnter\", \"onEntering\", \"onEntered\", \"onExit\", \"onExiting\", \"onExited\", \"nodeRef\"]);\n\n return (\n /*#__PURE__*/\n // allows for nested Transitions\n React.createElement(TransitionGroupContext.Provider, {\n value: null\n }, typeof children === 'function' ? children(status, childProps) : React.cloneElement(React.Children.only(children), childProps))\n );\n };\n\n return Transition;\n}(React.Component);\n\nTransition.contextType = TransitionGroupContext;\nTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * A React reference to DOM element that need to transition:\n * https://stackoverflow.com/a/51127130/4671932\n *\n * - When `nodeRef` prop is used, `node` is not passed to callback functions\n * (e.g. `onEnter`) because user already has direct access to the node.\n * - When changing `key` prop of `Transition` in a `TransitionGroup` a new\n * `nodeRef` need to be provided to `Transition` with changed `key` prop\n * (see\n * [test/CSSTransition-test.js](https://github.com/reactjs/react-transition-group/blob/13435f897b3ab71f6e19d724f145596f5910581c/test/CSSTransition-test.js#L362-L437)).\n */\n nodeRef: PropTypes.shape({\n current: typeof Element === 'undefined' ? PropTypes.any : function (propValue, key, componentName, location, propFullName, secret) {\n var value = propValue[key];\n return PropTypes.instanceOf(value && 'ownerDocument' in value ? value.ownerDocument.defaultView.Element : Element)(propValue, key, componentName, location, propFullName, secret);\n }\n }),\n\n /**\n * A `function` child can be used instead of a React element. This function is\n * called with the current transition status (`'entering'`, `'entered'`,\n * `'exiting'`, `'exited'`), which can be used to apply context\n * specific props to a component.\n *\n * ```jsx\n * <Transition in={this.state.in} timeout={150}>\n * {state => (\n * <MyComponent className={`fade fade-${state}`} />\n * )}\n * </Transition>\n * ```\n */\n children: PropTypes.oneOfType([PropTypes.func.isRequired, PropTypes.element.isRequired]).isRequired,\n\n /**\n * Show the component; triggers the enter or exit states\n */\n in: PropTypes.bool,\n\n /**\n * By default the child component is mounted immediately along with\n * the parent `Transition` component. If you want to \"lazy mount\" the component on the\n * first `in={true}` you can set `mountOnEnter`. After the first enter transition the component will stay\n * mounted, even on \"exited\", unless you also specify `unmountOnExit`.\n */\n mountOnEnter: PropTypes.bool,\n\n /**\n * By default the child component stays mounted after it reaches the `'exited'` state.\n * Set `unmountOnExit` if you'd prefer to unmount the component after it finishes exiting.\n */\n unmountOnExit: PropTypes.bool,\n\n /**\n * By default the child component does not perform the enter transition when\n * it first mounts, regardless of the value of `in`. If you want this\n * behavior, set both `appear` and `in` to `true`.\n *\n * > **Note**: there are no special appear states like `appearing`/`appeared`, this prop\n * > only adds an additional enter transition. However, in the\n * > `<CSSTransition>` component that first enter transition does result in\n * > additional `.appear-*` classes, that way you can choose to style it\n * > differently.\n */\n appear: PropTypes.bool,\n\n /**\n * Enable or disable enter transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * Enable or disable exit transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * The duration of the transition, in milliseconds.\n * Required unless `addEndListener` is provided.\n *\n * You may specify a single timeout for all transitions:\n *\n * ```jsx\n * timeout={500}\n * ```\n *\n * or individually:\n *\n * ```jsx\n * timeout={{\n * appear: 500,\n * enter: 300,\n * exit: 500,\n * }}\n * ```\n *\n * - `appear` defaults to the value of `enter`\n * - `enter` defaults to `0`\n * - `exit` defaults to `0`\n *\n * @type {number | { enter?: number, exit?: number, appear?: number }}\n */\n timeout: function timeout(props) {\n var pt = timeoutsShape;\n if (!props.addEndListener) pt = pt.isRequired;\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return pt.apply(void 0, [props].concat(args));\n },\n\n /**\n * Add a custom transition end trigger. Called with the transitioning\n * DOM node and a `done` callback. Allows for more fine grained transition end\n * logic. Timeouts are still used as a fallback if provided.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * ```jsx\n * addEndListener={(node, done) => {\n * // use the css transitionend event to mark the finish of a transition\n * node.addEventListener('transitionend', done, false);\n * }}\n * ```\n */\n addEndListener: PropTypes.func,\n\n /**\n * Callback fired before the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEnter: PropTypes.func,\n\n /**\n * Callback fired after the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * Callback fired after the \"entered\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEntered: PropTypes.func,\n\n /**\n * Callback fired before the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExit: PropTypes.func,\n\n /**\n * Callback fired after the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExiting: PropTypes.func,\n\n /**\n * Callback fired after the \"exited\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExited: PropTypes.func\n} : {}; // Name the function so it is clearer in the documentation\n\nfunction noop() {}\n\nTransition.defaultProps = {\n in: false,\n mountOnEnter: false,\n unmountOnExit: false,\n appear: false,\n enter: true,\n exit: true,\n onEnter: noop,\n onEntering: noop,\n onEntered: noop,\n onExit: noop,\n onExiting: noop,\n onExited: noop\n};\nTransition.UNMOUNTED = UNMOUNTED;\nTransition.EXITED = EXITED;\nTransition.ENTERING = ENTERING;\nTransition.ENTERED = ENTERED;\nTransition.EXITING = EXITING;\nexport default Transition;","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}","import { Children, cloneElement, isValidElement } from 'react';\n/**\n * Given `this.props.children`, return an object mapping key to child.\n *\n * @param {*} children `this.props.children`\n * @return {object} Mapping of key to child\n */\n\nexport function getChildMapping(children, mapFn) {\n var mapper = function mapper(child) {\n return mapFn && isValidElement(child) ? mapFn(child) : child;\n };\n\n var result = Object.create(null);\n if (children) Children.map(children, function (c) {\n return c;\n }).forEach(function (child) {\n // run the map function here instead so that the key is the computed one\n result[child.key] = mapper(child);\n });\n return result;\n}\n/**\n * When you're adding or removing children some may be added or removed in the\n * same render pass. We want to show *both* since we want to simultaneously\n * animate elements in and out. This function takes a previous set of keys\n * and a new set of keys and merges them with its best guess of the correct\n * ordering. In the future we may expose some of the utilities in\n * ReactMultiChild to make this easy, but for now React itself does not\n * directly have this concept of the union of prevChildren and nextChildren\n * so we implement it here.\n *\n * @param {object} prev prev children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @param {object} next next children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @return {object} a key set that contains all keys in `prev` and all keys\n * in `next` in a reasonable order.\n */\n\nexport function mergeChildMappings(prev, next) {\n prev = prev || {};\n next = next || {};\n\n function getValueForKey(key) {\n return key in next ? next[key] : prev[key];\n } // For each key of `next`, the list of keys to insert before that key in\n // the combined list\n\n\n var nextKeysPending = Object.create(null);\n var pendingKeys = [];\n\n for (var prevKey in prev) {\n if (prevKey in next) {\n if (pendingKeys.length) {\n nextKeysPending[prevKey] = pendingKeys;\n pendingKeys = [];\n }\n } else {\n pendingKeys.push(prevKey);\n }\n }\n\n var i;\n var childMapping = {};\n\n for (var nextKey in next) {\n if (nextKeysPending[nextKey]) {\n for (i = 0; i < nextKeysPending[nextKey].length; i++) {\n var pendingNextKey = nextKeysPending[nextKey][i];\n childMapping[nextKeysPending[nextKey][i]] = getValueForKey(pendingNextKey);\n }\n }\n\n childMapping[nextKey] = getValueForKey(nextKey);\n } // Finally, add the keys which didn't appear before any key in `next`\n\n\n for (i = 0; i < pendingKeys.length; i++) {\n childMapping[pendingKeys[i]] = getValueForKey(pendingKeys[i]);\n }\n\n return childMapping;\n}\n\nfunction getProp(child, prop, props) {\n return props[prop] != null ? props[prop] : child.props[prop];\n}\n\nexport function getInitialChildMapping(props, onExited) {\n return getChildMapping(props.children, function (child) {\n return cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: true,\n appear: getProp(child, 'appear', props),\n enter: getProp(child, 'enter', props),\n exit: getProp(child, 'exit', props)\n });\n });\n}\nexport function getNextChildMapping(nextProps, prevChildMapping, onExited) {\n var nextChildMapping = getChildMapping(nextProps.children);\n var children = mergeChildMappings(prevChildMapping, nextChildMapping);\n Object.keys(children).forEach(function (key) {\n var child = children[key];\n if (!isValidElement(child)) return;\n var hasPrev = (key in prevChildMapping);\n var hasNext = (key in nextChildMapping);\n var prevChild = prevChildMapping[key];\n var isLeaving = isValidElement(prevChild) && !prevChild.props.in; // item is new (entering)\n\n if (hasNext && (!hasPrev || isLeaving)) {\n // console.log('entering', key)\n children[key] = cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: true,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n } else if (!hasNext && hasPrev && !isLeaving) {\n // item is old (exiting)\n // console.log('leaving', key)\n children[key] = cloneElement(child, {\n in: false\n });\n } else if (hasNext && hasPrev && isValidElement(prevChild)) {\n // item hasn't changed transition states\n // copy over the last transition props;\n // console.log('unchanged', key)\n children[key] = cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: prevChild.props.in,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n }\n });\n return children;\n}","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport TransitionGroupContext from './TransitionGroupContext';\nimport { getChildMapping, getInitialChildMapping, getNextChildMapping } from './utils/ChildMapping';\n\nvar values = Object.values || function (obj) {\n return Object.keys(obj).map(function (k) {\n return obj[k];\n });\n};\n\nvar defaultProps = {\n component: 'div',\n childFactory: function childFactory(child) {\n return child;\n }\n};\n/**\n * The `<TransitionGroup>` component manages a set of transition components\n * (`<Transition>` and `<CSSTransition>`) in a list. Like with the transition\n * components, `<TransitionGroup>` is a state machine for managing the mounting\n * and unmounting of components over time.\n *\n * Consider the example below. As items are removed or added to the TodoList the\n * `in` prop is toggled automatically by the `<TransitionGroup>`.\n *\n * Note that `<TransitionGroup>` does not define any animation behavior!\n * Exactly _how_ a list item animates is up to the individual transition\n * component. This means you can mix and match animations across different list\n * items.\n */\n\nvar TransitionGroup = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(TransitionGroup, _React$Component);\n\n function TransitionGroup(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n\n var handleExited = _this.handleExited.bind(_assertThisInitialized(_this)); // Initial children should all be entering, dependent on appear\n\n\n _this.state = {\n contextValue: {\n isMounting: true\n },\n handleExited: handleExited,\n firstRender: true\n };\n return _this;\n }\n\n var _proto = TransitionGroup.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.mounted = true;\n this.setState({\n contextValue: {\n isMounting: false\n }\n });\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.mounted = false;\n };\n\n TransitionGroup.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, _ref) {\n var prevChildMapping = _ref.children,\n handleExited = _ref.handleExited,\n firstRender = _ref.firstRender;\n return {\n children: firstRender ? getInitialChildMapping(nextProps, handleExited) : getNextChildMapping(nextProps, prevChildMapping, handleExited),\n firstRender: false\n };\n } // node is `undefined` when user provided `nodeRef` prop\n ;\n\n _proto.handleExited = function handleExited(child, node) {\n var currentChildMapping = getChildMapping(this.props.children);\n if (child.key in currentChildMapping) return;\n\n if (child.props.onExited) {\n child.props.onExited(node);\n }\n\n if (this.mounted) {\n this.setState(function (state) {\n var children = _extends({}, state.children);\n\n delete children[child.key];\n return {\n children: children\n };\n });\n }\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n Component = _this$props.component,\n childFactory = _this$props.childFactory,\n props = _objectWithoutPropertiesLoose(_this$props, [\"component\", \"childFactory\"]);\n\n var contextValue = this.state.contextValue;\n var children = values(this.state.children).map(childFactory);\n delete props.appear;\n delete props.enter;\n delete props.exit;\n\n if (Component === null) {\n return /*#__PURE__*/React.createElement(TransitionGroupContext.Provider, {\n value: contextValue\n }, children);\n }\n\n return /*#__PURE__*/React.createElement(TransitionGroupContext.Provider, {\n value: contextValue\n }, /*#__PURE__*/React.createElement(Component, props, children));\n };\n\n return TransitionGroup;\n}(React.Component);\n\nTransitionGroup.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * `<TransitionGroup>` renders a `<div>` by default. You can change this\n * behavior by providing a `component` prop.\n * If you use React v16+ and would like to avoid a wrapping `<div>` element\n * you can pass in `component={null}`. This is useful if the wrapping div\n * borks your css styles.\n */\n component: PropTypes.any,\n\n /**\n * A set of `<Transition>` components, that are toggled `in` and out as they\n * leave. the `<TransitionGroup>` will inject specific transition props, so\n * remember to spread them through if you are wrapping the `<Transition>` as\n * with our `<Fade>` example.\n *\n * While this component is meant for multiple `Transition` or `CSSTransition`\n * children, sometimes you may want to have a single transition child with\n * content that you want to be transitioned out and in when you change it\n * (e.g. routes, images etc.) In that case you can change the `key` prop of\n * the transition child as you change its content, this will cause\n * `TransitionGroup` to transition the child out and back in.\n */\n children: PropTypes.node,\n\n /**\n * A convenience prop that enables or disables appear animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n appear: PropTypes.bool,\n\n /**\n * A convenience prop that enables or disables enter animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * A convenience prop that enables or disables exit animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * You may need to apply reactive updates to a child as it is exiting.\n * This is generally done by using `cloneElement` however in the case of an exiting\n * child the element has already been removed and not accessible to the consumer.\n *\n * If you do need to update a child as it leaves you can provide a `childFactory`\n * to wrap every child, even the ones that are leaving.\n *\n * @type Function(child: ReactElement) -> ReactElement\n */\n childFactory: PropTypes.func\n} : {};\nTransitionGroup.defaultProps = defaultProps;\nexport default TransitionGroup;","export const reflow = node => node.scrollTop;\nexport function getTransitionProps(props, options) {\n var _style$transitionDura, _style$transitionTimi;\n const {\n timeout,\n easing,\n style = {}\n } = props;\n return {\n duration: (_style$transitionDura = style.transitionDuration) != null ? _style$transitionDura : typeof timeout === 'number' ? timeout : timeout[options.mode] || 0,\n easing: (_style$transitionTimi = style.transitionTimingFunction) != null ? _style$transitionTimi : typeof easing === 'object' ? easing[options.mode] : easing,\n delay: style.transitionDelay\n };\n}","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getPaperUtilityClass(slot) {\n return generateUtilityClass('MuiPaper', slot);\n}\nconst paperClasses = generateUtilityClasses('MuiPaper', ['root', 'rounded', 'outlined', 'elevation', 'elevation0', 'elevation1', 'elevation2', 'elevation3', 'elevation4', 'elevation5', 'elevation6', 'elevation7', 'elevation8', 'elevation9', 'elevation10', 'elevation11', 'elevation12', 'elevation13', 'elevation14', 'elevation15', 'elevation16', 'elevation17', 'elevation18', 'elevation19', 'elevation20', 'elevation21', 'elevation22', 'elevation23', 'elevation24']);\nexport default paperClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"component\", \"elevation\", \"square\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport integerPropType from '@mui/utils/integerPropType';\nimport chainPropTypes from '@mui/utils/chainPropTypes';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { alpha } from '@mui/system/colorManipulator';\nimport styled from '../styles/styled';\nimport getOverlayAlpha from '../styles/getOverlayAlpha';\nimport useThemeProps from '../styles/useThemeProps';\nimport useTheme from '../styles/useTheme';\nimport { getPaperUtilityClass } from './paperClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n square,\n elevation,\n variant,\n classes\n } = ownerState;\n const slots = {\n root: ['root', variant, !square && 'rounded', variant === 'elevation' && `elevation${elevation}`]\n };\n return composeClasses(slots, getPaperUtilityClass, classes);\n};\nconst PaperRoot = styled('div', {\n name: 'MuiPaper',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[ownerState.variant], !ownerState.square && styles.rounded, ownerState.variant === 'elevation' && styles[`elevation${ownerState.elevation}`]];\n }\n})(({\n theme,\n ownerState\n}) => {\n var _theme$vars$overlays;\n return _extends({\n backgroundColor: (theme.vars || theme).palette.background.paper,\n color: (theme.vars || theme).palette.text.primary,\n transition: theme.transitions.create('box-shadow')\n }, !ownerState.square && {\n borderRadius: theme.shape.borderRadius\n }, ownerState.variant === 'outlined' && {\n border: `1px solid ${(theme.vars || theme).palette.divider}`\n }, ownerState.variant === 'elevation' && _extends({\n boxShadow: (theme.vars || theme).shadows[ownerState.elevation]\n }, !theme.vars && theme.palette.mode === 'dark' && {\n backgroundImage: `linear-gradient(${alpha('#fff', getOverlayAlpha(ownerState.elevation))}, ${alpha('#fff', getOverlayAlpha(ownerState.elevation))})`\n }, theme.vars && {\n backgroundImage: (_theme$vars$overlays = theme.vars.overlays) == null ? void 0 : _theme$vars$overlays[ownerState.elevation]\n }));\n});\nconst Paper = /*#__PURE__*/React.forwardRef(function Paper(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiPaper'\n });\n const {\n className,\n component = 'div',\n elevation = 1,\n square = false,\n variant = 'elevation'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n component,\n elevation,\n square,\n variant\n });\n const classes = useUtilityClasses(ownerState);\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const theme = useTheme();\n if (theme.shadows[elevation] === undefined) {\n console.error([`MUI: The elevation provided <Paper elevation={${elevation}}> is not available in the theme.`, `Please make sure that \\`theme.shadows[${elevation}]\\` is defined.`].join('\\n'));\n }\n }\n return /*#__PURE__*/_jsx(PaperRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? Paper.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * Shadow depth, corresponds to `dp` in the spec.\n * It accepts values between 0 and 24 inclusive.\n * @default 1\n */\n elevation: chainPropTypes(integerPropType, props => {\n const {\n elevation,\n variant\n } = props;\n if (elevation > 0 && variant === 'outlined') {\n return new Error(`MUI: Combining \\`elevation={${elevation}}\\` with \\`variant=\"${variant}\"\\` has no effect. Either use \\`elevation={0}\\` or use a different \\`variant\\`.`);\n }\n return null;\n }),\n /**\n * If `true`, rounded corners are disabled.\n * @default false\n */\n square: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The variant to use.\n * @default 'elevation'\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['elevation', 'outlined']), PropTypes.string])\n} : void 0;\nexport default Paper;","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","/**\n * Determines if a given element is a DOM element name (i.e. not a React component).\n */\nexport function isHostComponent(element) {\n return typeof element === 'string';\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { isHostComponent } from './isHostComponent';\n\n/**\n * Type of the ownerState based on the type of an element it applies to.\n * This resolves to the provided OwnerState for React components and `undefined` for host components.\n * Falls back to `OwnerState | undefined` when the exact type can't be determined in development time.\n */\n\n/**\n * Appends the ownerState object to the props, merging with the existing one if necessary.\n *\n * @param elementType Type of the element that owns the `existingProps`. If the element is a DOM node or undefined, `ownerState` is not applied.\n * @param otherProps Props of the element.\n * @param ownerState\n */\nexport function appendOwnerState(elementType, otherProps, ownerState) {\n if (elementType === undefined || isHostComponent(elementType)) {\n return otherProps;\n }\n return _extends({}, otherProps, {\n ownerState: _extends({}, otherProps.ownerState, ownerState)\n });\n}","'use client';\n\nimport * as React from 'react';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst defaultContextValue = {\n disableDefaultClasses: false\n};\nconst ClassNameConfiguratorContext = /*#__PURE__*/React.createContext(defaultContextValue);\nif (process.env.NODE_ENV !== 'production') {\n ClassNameConfiguratorContext.displayName = 'ClassNameConfiguratorContext';\n}\n/**\n * @ignore - internal hook.\n *\n * Wraps the `generateUtilityClass` function and controls how the classes are generated.\n * Currently it only affects whether the classes are applied or not.\n *\n * @returns Function to be called with the `generateUtilityClass` function specific to a component to generate the classes.\n */\nexport function useClassNamesOverride(generateUtilityClass) {\n const {\n disableDefaultClasses\n } = React.useContext(ClassNameConfiguratorContext);\n return slot => {\n if (disableDefaultClasses) {\n return '';\n }\n return generateUtilityClass(slot);\n };\n}\n\n/**\n * Allows to configure the components within to not apply any built-in classes.\n */\nexport function ClassNameConfigurator(props) {\n const {\n disableDefaultClasses,\n children\n } = props;\n const contextValue = React.useMemo(() => ({\n disableDefaultClasses: disableDefaultClasses != null ? disableDefaultClasses : false\n }), [disableDefaultClasses]);\n return /*#__PURE__*/_jsx(ClassNameConfiguratorContext.Provider, {\n value: contextValue,\n children: children\n });\n}","/**\n * Extracts event handlers from a given object.\n * A prop is considered an event handler if it is a function and its name starts with `on`.\n *\n * @param object An object to extract event handlers from.\n * @param excludeKeys An array of keys to exclude from the returned object.\n */\nexport function extractEventHandlers(object, excludeKeys = []) {\n if (object === undefined) {\n return {};\n }\n const result = {};\n Object.keys(object).filter(prop => prop.match(/^on[A-Z]/) && typeof object[prop] === 'function' && !excludeKeys.includes(prop)).forEach(prop => {\n result[prop] = object[prop];\n });\n return result;\n}","/**\n * If `componentProps` is a function, calls it with the provided `ownerState`.\n * Otherwise, just returns `componentProps`.\n */\nexport function resolveComponentProps(componentProps, ownerState, slotState) {\n if (typeof componentProps === 'function') {\n return componentProps(ownerState, slotState);\n }\n return componentProps;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}","/**\n * Removes event handlers from the given object.\n * A field is considered an event handler if it is a function with a name beginning with `on`.\n *\n * @param object Object to remove event handlers from.\n * @returns Object with event handlers removed.\n */\nexport function omitEventHandlers(object) {\n if (object === undefined) {\n return {};\n }\n const result = {};\n Object.keys(object).filter(prop => !(prop.match(/^on[A-Z]/) && typeof object[prop] === 'function')).forEach(prop => {\n result[prop] = object[prop];\n });\n return result;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport clsx from 'clsx';\nimport { extractEventHandlers } from './extractEventHandlers';\nimport { omitEventHandlers } from './omitEventHandlers';\n/**\n * Merges the slot component internal props (usually coming from a hook)\n * with the externally provided ones.\n *\n * The merge order is (the latter overrides the former):\n * 1. The internal props (specified as a getter function to work with get*Props hook result)\n * 2. Additional props (specified internally on a Base UI component)\n * 3. External props specified on the owner component. These should only be used on a root slot.\n * 4. External props specified in the `slotProps.*` prop.\n * 5. The `className` prop - combined from all the above.\n * @param parameters\n * @returns\n */\nexport function mergeSlotProps(parameters) {\n const {\n getSlotProps,\n additionalProps,\n externalSlotProps,\n externalForwardedProps,\n className\n } = parameters;\n if (!getSlotProps) {\n // The simpler case - getSlotProps is not defined, so no internal event handlers are defined,\n // so we can simply merge all the props without having to worry about extracting event handlers.\n const joinedClasses = clsx(additionalProps == null ? void 0 : additionalProps.className, className, externalForwardedProps == null ? void 0 : externalForwardedProps.className, externalSlotProps == null ? void 0 : externalSlotProps.className);\n const mergedStyle = _extends({}, additionalProps == null ? void 0 : additionalProps.style, externalForwardedProps == null ? void 0 : externalForwardedProps.style, externalSlotProps == null ? void 0 : externalSlotProps.style);\n const props = _extends({}, additionalProps, externalForwardedProps, externalSlotProps);\n if (joinedClasses.length > 0) {\n props.className = joinedClasses;\n }\n if (Object.keys(mergedStyle).length > 0) {\n props.style = mergedStyle;\n }\n return {\n props,\n internalRef: undefined\n };\n }\n\n // In this case, getSlotProps is responsible for calling the external event handlers.\n // We don't need to include them in the merged props because of this.\n\n const eventHandlers = extractEventHandlers(_extends({}, externalForwardedProps, externalSlotProps));\n const componentsPropsWithoutEventHandlers = omitEventHandlers(externalSlotProps);\n const otherPropsWithoutEventHandlers = omitEventHandlers(externalForwardedProps);\n const internalSlotProps = getSlotProps(eventHandlers);\n\n // The order of classes is important here.\n // Emotion (that we use in libraries consuming Base UI) depends on this order\n // to properly override style. It requires the most important classes to be last\n // (see https://github.com/mui/material-ui/pull/33205) for the related discussion.\n const joinedClasses = clsx(internalSlotProps == null ? void 0 : internalSlotProps.className, additionalProps == null ? void 0 : additionalProps.className, className, externalForwardedProps == null ? void 0 : externalForwardedProps.className, externalSlotProps == null ? void 0 : externalSlotProps.className);\n const mergedStyle = _extends({}, internalSlotProps == null ? void 0 : internalSlotProps.style, additionalProps == null ? void 0 : additionalProps.style, externalForwardedProps == null ? void 0 : externalForwardedProps.style, externalSlotProps == null ? void 0 : externalSlotProps.style);\n const props = _extends({}, internalSlotProps, additionalProps, otherPropsWithoutEventHandlers, componentsPropsWithoutEventHandlers);\n if (joinedClasses.length > 0) {\n props.className = joinedClasses;\n }\n if (Object.keys(mergedStyle).length > 0) {\n props.style = mergedStyle;\n }\n return {\n props,\n internalRef: internalSlotProps.ref\n };\n}","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"elementType\", \"externalSlotProps\", \"ownerState\", \"skipResolvingSlotProps\"];\nimport { unstable_useForkRef as useForkRef } from '@mui/utils';\nimport { appendOwnerState } from './appendOwnerState';\nimport { mergeSlotProps } from './mergeSlotProps';\nimport { resolveComponentProps } from './resolveComponentProps';\n/**\n * @ignore - do not document.\n * Builds the props to be passed into the slot of an unstyled component.\n * It merges the internal props of the component with the ones supplied by the user, allowing to customize the behavior.\n * If the slot component is not a host component, it also merges in the `ownerState`.\n *\n * @param parameters.getSlotProps - A function that returns the props to be passed to the slot component.\n */\nexport function useSlotProps(parameters) {\n var _parameters$additiona;\n const {\n elementType,\n externalSlotProps,\n ownerState,\n skipResolvingSlotProps = false\n } = parameters,\n rest = _objectWithoutPropertiesLoose(parameters, _excluded);\n const resolvedComponentsProps = skipResolvingSlotProps ? {} : resolveComponentProps(externalSlotProps, ownerState);\n const {\n props: mergedProps,\n internalRef\n } = mergeSlotProps(_extends({}, rest, {\n externalSlotProps: resolvedComponentsProps\n }));\n const ref = useForkRef(internalRef, resolvedComponentsProps == null ? void 0 : resolvedComponentsProps.ref, (_parameters$additiona = parameters.additionalProps) == null ? void 0 : _parameters$additiona.ref);\n const props = appendOwnerState(elementType, _extends({}, mergedProps, {\n ref\n }), ownerState);\n return props;\n}","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"className\", \"elementType\", \"ownerState\", \"externalForwardedProps\", \"getSlotOwnerState\", \"internalForwardedProps\"],\n _excluded2 = [\"component\", \"slots\", \"slotProps\"],\n _excluded3 = [\"component\"];\nimport useForkRef from '@mui/utils/useForkRef';\nimport { appendOwnerState, resolveComponentProps, mergeSlotProps } from '@mui/base/utils';\n/**\n * An internal function to create a Material UI slot.\n *\n * This is an advanced version of Base UI `useSlotProps` because Material UI allows leaf component to be customized via `component` prop\n * while Base UI does not need to support leaf component customization.\n *\n * @param {string} name: name of the slot\n * @param {object} parameters\n * @returns {[Slot, slotProps]} The slot's React component and the slot's props\n *\n * Note: the returned slot's props\n * - will never contain `component` prop.\n * - might contain `as` prop.\n */\nexport default function useSlot(\n/**\n * The slot's name. All Material UI components should have `root` slot.\n *\n * If the name is `root`, the logic behaves differently from other slots,\n * e.g. the `externalForwardedProps` are spread to `root` slot but not other slots.\n */\nname, parameters) {\n const {\n className,\n elementType: initialElementType,\n ownerState,\n externalForwardedProps,\n getSlotOwnerState,\n internalForwardedProps\n } = parameters,\n useSlotPropsParams = _objectWithoutPropertiesLoose(parameters, _excluded);\n const {\n component: rootComponent,\n slots = {\n [name]: undefined\n },\n slotProps = {\n [name]: undefined\n }\n } = externalForwardedProps,\n other = _objectWithoutPropertiesLoose(externalForwardedProps, _excluded2);\n const elementType = slots[name] || initialElementType;\n\n // `slotProps[name]` can be a callback that receives the component's ownerState.\n // `resolvedComponentsProps` is always a plain object.\n const resolvedComponentsProps = resolveComponentProps(slotProps[name], ownerState);\n const _mergeSlotProps = mergeSlotProps(_extends({\n className\n }, useSlotPropsParams, {\n externalForwardedProps: name === 'root' ? other : undefined,\n externalSlotProps: resolvedComponentsProps\n })),\n {\n props: {\n component: slotComponent\n },\n internalRef\n } = _mergeSlotProps,\n mergedProps = _objectWithoutPropertiesLoose(_mergeSlotProps.props, _excluded3);\n const ref = useForkRef(internalRef, resolvedComponentsProps == null ? void 0 : resolvedComponentsProps.ref, parameters.ref);\n const slotOwnerState = getSlotOwnerState ? getSlotOwnerState(mergedProps) : {};\n const finalOwnerState = _extends({}, ownerState, slotOwnerState);\n const LeafComponent = name === 'root' ? slotComponent || rootComponent : slotComponent;\n const props = appendOwnerState(elementType, _extends({}, name === 'root' && !rootComponent && !slots[name] && internalForwardedProps, name !== 'root' && !slots[name] && internalForwardedProps, mergedProps, LeafComponent && {\n as: LeafComponent\n }, {\n ref\n }), finalOwnerState);\n Object.keys(slotOwnerState).forEach(propName => {\n delete props[propName];\n });\n return [elementType, props];\n}","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction Ripple(props) {\n const {\n className,\n classes,\n pulsate = false,\n rippleX,\n rippleY,\n rippleSize,\n in: inProp,\n onExited,\n timeout\n } = props;\n const [leaving, setLeaving] = React.useState(false);\n const rippleClassName = clsx(className, classes.ripple, classes.rippleVisible, pulsate && classes.ripplePulsate);\n const rippleStyles = {\n width: rippleSize,\n height: rippleSize,\n top: -(rippleSize / 2) + rippleY,\n left: -(rippleSize / 2) + rippleX\n };\n const childClassName = clsx(classes.child, leaving && classes.childLeaving, pulsate && classes.childPulsate);\n if (!inProp && !leaving) {\n setLeaving(true);\n }\n React.useEffect(() => {\n if (!inProp && onExited != null) {\n // react-transition-group#onExited\n const timeoutId = setTimeout(onExited, timeout);\n return () => {\n clearTimeout(timeoutId);\n };\n }\n return undefined;\n }, [onExited, inProp, timeout]);\n return /*#__PURE__*/_jsx(\"span\", {\n className: rippleClassName,\n style: rippleStyles,\n children: /*#__PURE__*/_jsx(\"span\", {\n className: childClassName\n })\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? Ripple.propTypes = {\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n /**\n * @ignore - injected from TransitionGroup\n */\n in: PropTypes.bool,\n /**\n * @ignore - injected from TransitionGroup\n */\n onExited: PropTypes.func,\n /**\n * If `true`, the ripple pulsates, typically indicating the keyboard focus state of an element.\n */\n pulsate: PropTypes.bool,\n /**\n * Diameter of the ripple.\n */\n rippleSize: PropTypes.number,\n /**\n * Horizontal position of the ripple center.\n */\n rippleX: PropTypes.number,\n /**\n * Vertical position of the ripple center.\n */\n rippleY: PropTypes.number,\n /**\n * exit delay\n */\n timeout: PropTypes.number.isRequired\n} : void 0;\nexport default Ripple;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getTouchRippleUtilityClass(slot) {\n return generateUtilityClass('MuiTouchRipple', slot);\n}\nconst touchRippleClasses = generateUtilityClasses('MuiTouchRipple', ['root', 'ripple', 'rippleVisible', 'ripplePulsate', 'child', 'childLeaving', 'childPulsate']);\nexport default touchRippleClasses;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"center\", \"classes\", \"className\"];\nlet _ = t => t,\n _t,\n _t2,\n _t3,\n _t4;\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { TransitionGroup } from 'react-transition-group';\nimport clsx from 'clsx';\nimport { keyframes } from '@mui/system';\nimport useTimeout from '@mui/utils/useTimeout';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport Ripple from './Ripple';\nimport touchRippleClasses from './touchRippleClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst DURATION = 550;\nexport const DELAY_RIPPLE = 80;\nconst enterKeyframe = keyframes(_t || (_t = _`\n 0% {\n transform: scale(0);\n opacity: 0.1;\n }\n\n 100% {\n transform: scale(1);\n opacity: 0.3;\n }\n`));\nconst exitKeyframe = keyframes(_t2 || (_t2 = _`\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n }\n`));\nconst pulsateKeyframe = keyframes(_t3 || (_t3 = _`\n 0% {\n transform: scale(1);\n }\n\n 50% {\n transform: scale(0.92);\n }\n\n 100% {\n transform: scale(1);\n }\n`));\nexport const TouchRippleRoot = styled('span', {\n name: 'MuiTouchRipple',\n slot: 'Root'\n})({\n overflow: 'hidden',\n pointerEvents: 'none',\n position: 'absolute',\n zIndex: 0,\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n borderRadius: 'inherit'\n});\n\n// This `styled()` function invokes keyframes. `styled-components` only supports keyframes\n// in string templates. Do not convert these styles in JS object as it will break.\nexport const TouchRippleRipple = styled(Ripple, {\n name: 'MuiTouchRipple',\n slot: 'Ripple'\n})(_t4 || (_t4 = _`\n opacity: 0;\n position: absolute;\n\n &.${0} {\n opacity: 0.3;\n transform: scale(1);\n animation-name: ${0};\n animation-duration: ${0}ms;\n animation-timing-function: ${0};\n }\n\n &.${0} {\n animation-duration: ${0}ms;\n }\n\n & .${0} {\n opacity: 1;\n display: block;\n width: 100%;\n height: 100%;\n border-radius: 50%;\n background-color: currentColor;\n }\n\n & .${0} {\n opacity: 0;\n animation-name: ${0};\n animation-duration: ${0}ms;\n animation-timing-function: ${0};\n }\n\n & .${0} {\n position: absolute;\n /* @noflip */\n left: 0px;\n top: 0;\n animation-name: ${0};\n animation-duration: 2500ms;\n animation-timing-function: ${0};\n animation-iteration-count: infinite;\n animation-delay: 200ms;\n }\n`), touchRippleClasses.rippleVisible, enterKeyframe, DURATION, ({\n theme\n}) => theme.transitions.easing.easeInOut, touchRippleClasses.ripplePulsate, ({\n theme\n}) => theme.transitions.duration.shorter, touchRippleClasses.child, touchRippleClasses.childLeaving, exitKeyframe, DURATION, ({\n theme\n}) => theme.transitions.easing.easeInOut, touchRippleClasses.childPulsate, pulsateKeyframe, ({\n theme\n}) => theme.transitions.easing.easeInOut);\n\n/**\n * @ignore - internal component.\n *\n * TODO v5: Make private\n */\nconst TouchRipple = /*#__PURE__*/React.forwardRef(function TouchRipple(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTouchRipple'\n });\n const {\n center: centerProp = false,\n classes = {},\n className\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const [ripples, setRipples] = React.useState([]);\n const nextKey = React.useRef(0);\n const rippleCallback = React.useRef(null);\n React.useEffect(() => {\n if (rippleCallback.current) {\n rippleCallback.current();\n rippleCallback.current = null;\n }\n }, [ripples]);\n\n // Used to filter out mouse emulated events on mobile.\n const ignoringMouseDown = React.useRef(false);\n // We use a timer in order to only show the ripples for touch \"click\" like events.\n // We don't want to display the ripple for touch scroll events.\n const startTimer = useTimeout();\n\n // This is the hook called once the previous timeout is ready.\n const startTimerCommit = React.useRef(null);\n const container = React.useRef(null);\n const startCommit = React.useCallback(params => {\n const {\n pulsate,\n rippleX,\n rippleY,\n rippleSize,\n cb\n } = params;\n setRipples(oldRipples => [...oldRipples, /*#__PURE__*/_jsx(TouchRippleRipple, {\n classes: {\n ripple: clsx(classes.ripple, touchRippleClasses.ripple),\n rippleVisible: clsx(classes.rippleVisible, touchRippleClasses.rippleVisible),\n ripplePulsate: clsx(classes.ripplePulsate, touchRippleClasses.ripplePulsate),\n child: clsx(classes.child, touchRippleClasses.child),\n childLeaving: clsx(classes.childLeaving, touchRippleClasses.childLeaving),\n childPulsate: clsx(classes.childPulsate, touchRippleClasses.childPulsate)\n },\n timeout: DURATION,\n pulsate: pulsate,\n rippleX: rippleX,\n rippleY: rippleY,\n rippleSize: rippleSize\n }, nextKey.current)]);\n nextKey.current += 1;\n rippleCallback.current = cb;\n }, [classes]);\n const start = React.useCallback((event = {}, options = {}, cb = () => {}) => {\n const {\n pulsate = false,\n center = centerProp || options.pulsate,\n fakeElement = false // For test purposes\n } = options;\n if ((event == null ? void 0 : event.type) === 'mousedown' && ignoringMouseDown.current) {\n ignoringMouseDown.current = false;\n return;\n }\n if ((event == null ? void 0 : event.type) === 'touchstart') {\n ignoringMouseDown.current = true;\n }\n const element = fakeElement ? null : container.current;\n const rect = element ? element.getBoundingClientRect() : {\n width: 0,\n height: 0,\n left: 0,\n top: 0\n };\n\n // Get the size of the ripple\n let rippleX;\n let rippleY;\n let rippleSize;\n if (center || event === undefined || event.clientX === 0 && event.clientY === 0 || !event.clientX && !event.touches) {\n rippleX = Math.round(rect.width / 2);\n rippleY = Math.round(rect.height / 2);\n } else {\n const {\n clientX,\n clientY\n } = event.touches && event.touches.length > 0 ? event.touches[0] : event;\n rippleX = Math.round(clientX - rect.left);\n rippleY = Math.round(clientY - rect.top);\n }\n if (center) {\n rippleSize = Math.sqrt((2 * rect.width ** 2 + rect.height ** 2) / 3);\n\n // For some reason the animation is broken on Mobile Chrome if the size is even.\n if (rippleSize % 2 === 0) {\n rippleSize += 1;\n }\n } else {\n const sizeX = Math.max(Math.abs((element ? element.clientWidth : 0) - rippleX), rippleX) * 2 + 2;\n const sizeY = Math.max(Math.abs((element ? element.clientHeight : 0) - rippleY), rippleY) * 2 + 2;\n rippleSize = Math.sqrt(sizeX ** 2 + sizeY ** 2);\n }\n\n // Touche devices\n if (event != null && event.touches) {\n // check that this isn't another touchstart due to multitouch\n // otherwise we will only clear a single timer when unmounting while two\n // are running\n if (startTimerCommit.current === null) {\n // Prepare the ripple effect.\n startTimerCommit.current = () => {\n startCommit({\n pulsate,\n rippleX,\n rippleY,\n rippleSize,\n cb\n });\n };\n // Delay the execution of the ripple effect.\n // We have to make a tradeoff with this delay value.\n startTimer.start(DELAY_RIPPLE, () => {\n if (startTimerCommit.current) {\n startTimerCommit.current();\n startTimerCommit.current = null;\n }\n });\n }\n } else {\n startCommit({\n pulsate,\n rippleX,\n rippleY,\n rippleSize,\n cb\n });\n }\n }, [centerProp, startCommit, startTimer]);\n const pulsate = React.useCallback(() => {\n start({}, {\n pulsate: true\n });\n }, [start]);\n const stop = React.useCallback((event, cb) => {\n startTimer.clear();\n\n // The touch interaction occurs too quickly.\n // We still want to show ripple effect.\n if ((event == null ? void 0 : event.type) === 'touchend' && startTimerCommit.current) {\n startTimerCommit.current();\n startTimerCommit.current = null;\n startTimer.start(0, () => {\n stop(event, cb);\n });\n return;\n }\n startTimerCommit.current = null;\n setRipples(oldRipples => {\n if (oldRipples.length > 0) {\n return oldRipples.slice(1);\n }\n return oldRipples;\n });\n rippleCallback.current = cb;\n }, [startTimer]);\n React.useImperativeHandle(ref, () => ({\n pulsate,\n start,\n stop\n }), [pulsate, start, stop]);\n return /*#__PURE__*/_jsx(TouchRippleRoot, _extends({\n className: clsx(touchRippleClasses.root, classes.root, className),\n ref: container\n }, other, {\n children: /*#__PURE__*/_jsx(TransitionGroup, {\n component: null,\n exit: true,\n children: ripples\n })\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TouchRipple.propTypes = {\n /**\n * If `true`, the ripple starts at the center of the component\n * rather than at the point of interaction.\n */\n center: PropTypes.bool,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string\n} : void 0;\nexport default TouchRipple;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getButtonBaseUtilityClass(slot) {\n return generateUtilityClass('MuiButtonBase', slot);\n}\nconst buttonBaseClasses = generateUtilityClasses('MuiButtonBase', ['root', 'disabled', 'focusVisible']);\nexport default buttonBaseClasses;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"action\", \"centerRipple\", \"children\", \"className\", \"component\", \"disabled\", \"disableRipple\", \"disableTouchRipple\", \"focusRipple\", \"focusVisibleClassName\", \"LinkComponent\", \"onBlur\", \"onClick\", \"onContextMenu\", \"onDragLeave\", \"onFocus\", \"onFocusVisible\", \"onKeyDown\", \"onKeyUp\", \"onMouseDown\", \"onMouseLeave\", \"onMouseUp\", \"onTouchEnd\", \"onTouchMove\", \"onTouchStart\", \"tabIndex\", \"TouchRippleProps\", \"touchRippleRef\", \"type\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport refType from '@mui/utils/refType';\nimport elementTypeAcceptingRef from '@mui/utils/elementTypeAcceptingRef';\nimport composeClasses from '@mui/utils/composeClasses';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport useForkRef from '../utils/useForkRef';\nimport useEventCallback from '../utils/useEventCallback';\nimport useIsFocusVisible from '../utils/useIsFocusVisible';\nimport TouchRipple from './TouchRipple';\nimport buttonBaseClasses, { getButtonBaseUtilityClass } from './buttonBaseClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n disabled,\n focusVisible,\n focusVisibleClassName,\n classes\n } = ownerState;\n const slots = {\n root: ['root', disabled && 'disabled', focusVisible && 'focusVisible']\n };\n const composedClasses = composeClasses(slots, getButtonBaseUtilityClass, classes);\n if (focusVisible && focusVisibleClassName) {\n composedClasses.root += ` ${focusVisibleClassName}`;\n }\n return composedClasses;\n};\nexport const ButtonBaseRoot = styled('button', {\n name: 'MuiButtonBase',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n position: 'relative',\n boxSizing: 'border-box',\n WebkitTapHighlightColor: 'transparent',\n backgroundColor: 'transparent',\n // Reset default value\n // We disable the focus ring for mouse, touch and keyboard users.\n outline: 0,\n border: 0,\n margin: 0,\n // Remove the margin in Safari\n borderRadius: 0,\n padding: 0,\n // Remove the padding in Firefox\n cursor: 'pointer',\n userSelect: 'none',\n verticalAlign: 'middle',\n MozAppearance: 'none',\n // Reset\n WebkitAppearance: 'none',\n // Reset\n textDecoration: 'none',\n // So we take precedent over the style of a native <a /> element.\n color: 'inherit',\n '&::-moz-focus-inner': {\n borderStyle: 'none' // Remove Firefox dotted outline.\n },\n [`&.${buttonBaseClasses.disabled}`]: {\n pointerEvents: 'none',\n // Disable link interactions\n cursor: 'default'\n },\n '@media print': {\n colorAdjust: 'exact'\n }\n});\n\n/**\n * `ButtonBase` contains as few styles as possible.\n * It aims to be a simple building block for creating a button.\n * It contains a load of style reset and some focus/ripple logic.\n */\nconst ButtonBase = /*#__PURE__*/React.forwardRef(function ButtonBase(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiButtonBase'\n });\n const {\n action,\n centerRipple = false,\n children,\n className,\n component = 'button',\n disabled = false,\n disableRipple = false,\n disableTouchRipple = false,\n focusRipple = false,\n LinkComponent = 'a',\n onBlur,\n onClick,\n onContextMenu,\n onDragLeave,\n onFocus,\n onFocusVisible,\n onKeyDown,\n onKeyUp,\n onMouseDown,\n onMouseLeave,\n onMouseUp,\n onTouchEnd,\n onTouchMove,\n onTouchStart,\n tabIndex = 0,\n TouchRippleProps,\n touchRippleRef,\n type\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const buttonRef = React.useRef(null);\n const rippleRef = React.useRef(null);\n const handleRippleRef = useForkRef(rippleRef, touchRippleRef);\n const {\n isFocusVisibleRef,\n onFocus: handleFocusVisible,\n onBlur: handleBlurVisible,\n ref: focusVisibleRef\n } = useIsFocusVisible();\n const [focusVisible, setFocusVisible] = React.useState(false);\n if (disabled && focusVisible) {\n setFocusVisible(false);\n }\n React.useImperativeHandle(action, () => ({\n focusVisible: () => {\n setFocusVisible(true);\n buttonRef.current.focus();\n }\n }), []);\n const [mountedState, setMountedState] = React.useState(false);\n React.useEffect(() => {\n setMountedState(true);\n }, []);\n const enableTouchRipple = mountedState && !disableRipple && !disabled;\n React.useEffect(() => {\n if (focusVisible && focusRipple && !disableRipple && mountedState) {\n rippleRef.current.pulsate();\n }\n }, [disableRipple, focusRipple, focusVisible, mountedState]);\n function useRippleHandler(rippleAction, eventCallback, skipRippleAction = disableTouchRipple) {\n return useEventCallback(event => {\n if (eventCallback) {\n eventCallback(event);\n }\n const ignore = skipRippleAction;\n if (!ignore && rippleRef.current) {\n rippleRef.current[rippleAction](event);\n }\n return true;\n });\n }\n const handleMouseDown = useRippleHandler('start', onMouseDown);\n const handleContextMenu = useRippleHandler('stop', onContextMenu);\n const handleDragLeave = useRippleHandler('stop', onDragLeave);\n const handleMouseUp = useRippleHandler('stop', onMouseUp);\n const handleMouseLeave = useRippleHandler('stop', event => {\n if (focusVisible) {\n event.preventDefault();\n }\n if (onMouseLeave) {\n onMouseLeave(event);\n }\n });\n const handleTouchStart = useRippleHandler('start', onTouchStart);\n const handleTouchEnd = useRippleHandler('stop', onTouchEnd);\n const handleTouchMove = useRippleHandler('stop', onTouchMove);\n const handleBlur = useRippleHandler('stop', event => {\n handleBlurVisible(event);\n if (isFocusVisibleRef.current === false) {\n setFocusVisible(false);\n }\n if (onBlur) {\n onBlur(event);\n }\n }, false);\n const handleFocus = useEventCallback(event => {\n // Fix for https://github.com/facebook/react/issues/7769\n if (!buttonRef.current) {\n buttonRef.current = event.currentTarget;\n }\n handleFocusVisible(event);\n if (isFocusVisibleRef.current === true) {\n setFocusVisible(true);\n if (onFocusVisible) {\n onFocusVisible(event);\n }\n }\n if (onFocus) {\n onFocus(event);\n }\n });\n const isNonNativeButton = () => {\n const button = buttonRef.current;\n return component && component !== 'button' && !(button.tagName === 'A' && button.href);\n };\n\n /**\n * IE11 shim for https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/repeat\n */\n const keydownRef = React.useRef(false);\n const handleKeyDown = useEventCallback(event => {\n // Check if key is already down to avoid repeats being counted as multiple activations\n if (focusRipple && !keydownRef.current && focusVisible && rippleRef.current && event.key === ' ') {\n keydownRef.current = true;\n rippleRef.current.stop(event, () => {\n rippleRef.current.start(event);\n });\n }\n if (event.target === event.currentTarget && isNonNativeButton() && event.key === ' ') {\n event.preventDefault();\n }\n if (onKeyDown) {\n onKeyDown(event);\n }\n\n // Keyboard accessibility for non interactive elements\n if (event.target === event.currentTarget && isNonNativeButton() && event.key === 'Enter' && !disabled) {\n event.preventDefault();\n if (onClick) {\n onClick(event);\n }\n }\n });\n const handleKeyUp = useEventCallback(event => {\n // calling preventDefault in keyUp on a <button> will not dispatch a click event if Space is pressed\n // https://codesandbox.io/p/sandbox/button-keyup-preventdefault-dn7f0\n if (focusRipple && event.key === ' ' && rippleRef.current && focusVisible && !event.defaultPrevented) {\n keydownRef.current = false;\n rippleRef.current.stop(event, () => {\n rippleRef.current.pulsate(event);\n });\n }\n if (onKeyUp) {\n onKeyUp(event);\n }\n\n // Keyboard accessibility for non interactive elements\n if (onClick && event.target === event.currentTarget && isNonNativeButton() && event.key === ' ' && !event.defaultPrevented) {\n onClick(event);\n }\n });\n let ComponentProp = component;\n if (ComponentProp === 'button' && (other.href || other.to)) {\n ComponentProp = LinkComponent;\n }\n const buttonProps = {};\n if (ComponentProp === 'button') {\n buttonProps.type = type === undefined ? 'button' : type;\n buttonProps.disabled = disabled;\n } else {\n if (!other.href && !other.to) {\n buttonProps.role = 'button';\n }\n if (disabled) {\n buttonProps['aria-disabled'] = disabled;\n }\n }\n const handleRef = useForkRef(ref, focusVisibleRef, buttonRef);\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useEffect(() => {\n if (enableTouchRipple && !rippleRef.current) {\n console.error(['MUI: The `component` prop provided to ButtonBase is invalid.', 'Please make sure the children prop is rendered in this custom component.'].join('\\n'));\n }\n }, [enableTouchRipple]);\n }\n const ownerState = _extends({}, props, {\n centerRipple,\n component,\n disabled,\n disableRipple,\n disableTouchRipple,\n focusRipple,\n tabIndex,\n focusVisible\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(ButtonBaseRoot, _extends({\n as: ComponentProp,\n className: clsx(classes.root, className),\n ownerState: ownerState,\n onBlur: handleBlur,\n onClick: onClick,\n onContextMenu: handleContextMenu,\n onFocus: handleFocus,\n onKeyDown: handleKeyDown,\n onKeyUp: handleKeyUp,\n onMouseDown: handleMouseDown,\n onMouseLeave: handleMouseLeave,\n onMouseUp: handleMouseUp,\n onDragLeave: handleDragLeave,\n onTouchEnd: handleTouchEnd,\n onTouchMove: handleTouchMove,\n onTouchStart: handleTouchStart,\n ref: handleRef,\n tabIndex: disabled ? -1 : tabIndex,\n type: type\n }, buttonProps, other, {\n children: [children, enableTouchRipple ?\n /*#__PURE__*/\n /* TouchRipple is only needed client-side, x2 boost on the server. */\n _jsx(TouchRipple, _extends({\n ref: handleRippleRef,\n center: centerRipple\n }, TouchRippleProps)) : null]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? ButtonBase.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * A ref for imperative actions.\n * It currently only supports `focusVisible()` action.\n */\n action: refType,\n /**\n * If `true`, the ripples are centered.\n * They won't start at the cursor interaction position.\n * @default false\n */\n centerRipple: PropTypes.bool,\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: elementTypeAcceptingRef,\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the ripple effect is disabled.\n *\n * ⚠️ Without a ripple there is no styling for :focus-visible by default. Be sure\n * to highlight the element by applying separate styles with the `.Mui-focusVisible` class.\n * @default false\n */\n disableRipple: PropTypes.bool,\n /**\n * If `true`, the touch ripple effect is disabled.\n * @default false\n */\n disableTouchRipple: PropTypes.bool,\n /**\n * If `true`, the base button will have a keyboard focus ripple.\n * @default false\n */\n focusRipple: PropTypes.bool,\n /**\n * This prop can help identify which element has keyboard focus.\n * The class name will be applied when the element gains the focus through keyboard interaction.\n * It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo).\n * The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/HEAD/explainer.md).\n * A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components\n * if needed.\n */\n focusVisibleClassName: PropTypes.string,\n /**\n * @ignore\n */\n href: PropTypes /* @typescript-to-proptypes-ignore */.any,\n /**\n * The component used to render a link when the `href` prop is provided.\n * @default 'a'\n */\n LinkComponent: PropTypes.elementType,\n /**\n * @ignore\n */\n onBlur: PropTypes.func,\n /**\n * @ignore\n */\n onClick: PropTypes.func,\n /**\n * @ignore\n */\n onContextMenu: PropTypes.func,\n /**\n * @ignore\n */\n onDragLeave: PropTypes.func,\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n /**\n * Callback fired when the component is focused with a keyboard.\n * We trigger a `onFocus` callback too.\n */\n onFocusVisible: PropTypes.func,\n /**\n * @ignore\n */\n onKeyDown: PropTypes.func,\n /**\n * @ignore\n */\n onKeyUp: PropTypes.func,\n /**\n * @ignore\n */\n onMouseDown: PropTypes.func,\n /**\n * @ignore\n */\n onMouseLeave: PropTypes.func,\n /**\n * @ignore\n */\n onMouseUp: PropTypes.func,\n /**\n * @ignore\n */\n onTouchEnd: PropTypes.func,\n /**\n * @ignore\n */\n onTouchMove: PropTypes.func,\n /**\n * @ignore\n */\n onTouchStart: PropTypes.func,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * @default 0\n */\n tabIndex: PropTypes.number,\n /**\n * Props applied to the `TouchRipple` element.\n */\n TouchRippleProps: PropTypes.object,\n /**\n * A ref that points to the `TouchRipple` element.\n */\n touchRippleRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({\n current: PropTypes.shape({\n pulsate: PropTypes.func.isRequired,\n start: PropTypes.func.isRequired,\n stop: PropTypes.func.isRequired\n })\n })]),\n /**\n * @ignore\n */\n type: PropTypes.oneOfType([PropTypes.oneOf(['button', 'reset', 'submit']), PropTypes.string])\n} : void 0;\nexport default ButtonBase;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getAlertUtilityClass(slot) {\n return generateUtilityClass('MuiAlert', slot);\n}\nconst alertClasses = generateUtilityClasses('MuiAlert', ['root', 'action', 'icon', 'message', 'filled', 'colorSuccess', 'colorInfo', 'colorWarning', 'colorError', 'filledSuccess', 'filledInfo', 'filledWarning', 'filledError', 'outlined', 'outlinedSuccess', 'outlinedInfo', 'outlinedWarning', 'outlinedError', 'standard', 'standardSuccess', 'standardInfo', 'standardWarning', 'standardError']);\nexport default alertClasses;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getIconButtonUtilityClass(slot) {\n return generateUtilityClass('MuiIconButton', slot);\n}\nconst iconButtonClasses = generateUtilityClasses('MuiIconButton', ['root', 'disabled', 'colorInherit', 'colorPrimary', 'colorSecondary', 'colorError', 'colorInfo', 'colorSuccess', 'colorWarning', 'edgeStart', 'edgeEnd', 'sizeSmall', 'sizeMedium', 'sizeLarge']);\nexport default iconButtonClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"edge\", \"children\", \"className\", \"color\", \"disabled\", \"disableFocusRipple\", \"size\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport chainPropTypes from '@mui/utils/chainPropTypes';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { alpha } from '@mui/system/colorManipulator';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport ButtonBase from '../ButtonBase';\nimport capitalize from '../utils/capitalize';\nimport iconButtonClasses, { getIconButtonUtilityClass } from './iconButtonClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disabled,\n color,\n edge,\n size\n } = ownerState;\n const slots = {\n root: ['root', disabled && 'disabled', color !== 'default' && `color${capitalize(color)}`, edge && `edge${capitalize(edge)}`, `size${capitalize(size)}`]\n };\n return composeClasses(slots, getIconButtonUtilityClass, classes);\n};\nconst IconButtonRoot = styled(ButtonBase, {\n name: 'MuiIconButton',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.color !== 'default' && styles[`color${capitalize(ownerState.color)}`], ownerState.edge && styles[`edge${capitalize(ownerState.edge)}`], styles[`size${capitalize(ownerState.size)}`]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n textAlign: 'center',\n flex: '0 0 auto',\n fontSize: theme.typography.pxToRem(24),\n padding: 8,\n borderRadius: '50%',\n overflow: 'visible',\n // Explicitly set the default value to solve a bug on IE11.\n color: (theme.vars || theme).palette.action.active,\n transition: theme.transitions.create('background-color', {\n duration: theme.transitions.duration.shortest\n })\n}, !ownerState.disableRipple && {\n '&:hover': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.action.activeChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(theme.palette.action.active, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n}, ownerState.edge === 'start' && {\n marginLeft: ownerState.size === 'small' ? -3 : -12\n}, ownerState.edge === 'end' && {\n marginRight: ownerState.size === 'small' ? -3 : -12\n}), ({\n theme,\n ownerState\n}) => {\n var _palette;\n const palette = (_palette = (theme.vars || theme).palette) == null ? void 0 : _palette[ownerState.color];\n return _extends({}, ownerState.color === 'inherit' && {\n color: 'inherit'\n }, ownerState.color !== 'inherit' && ownerState.color !== 'default' && _extends({\n color: palette == null ? void 0 : palette.main\n }, !ownerState.disableRipple && {\n '&:hover': _extends({}, palette && {\n backgroundColor: theme.vars ? `rgba(${palette.mainChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(palette.main, theme.palette.action.hoverOpacity)\n }, {\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n })\n }), ownerState.size === 'small' && {\n padding: 5,\n fontSize: theme.typography.pxToRem(18)\n }, ownerState.size === 'large' && {\n padding: 12,\n fontSize: theme.typography.pxToRem(28)\n }, {\n [`&.${iconButtonClasses.disabled}`]: {\n backgroundColor: 'transparent',\n color: (theme.vars || theme).palette.action.disabled\n }\n });\n});\n\n/**\n * Refer to the [Icons](/material-ui/icons/) section of the documentation\n * regarding the available icon options.\n */\nconst IconButton = /*#__PURE__*/React.forwardRef(function IconButton(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiIconButton'\n });\n const {\n edge = false,\n children,\n className,\n color = 'default',\n disabled = false,\n disableFocusRipple = false,\n size = 'medium'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n edge,\n color,\n disabled,\n disableFocusRipple,\n size\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(IconButtonRoot, _extends({\n className: clsx(classes.root, className),\n centerRipple: true,\n focusRipple: !disableFocusRipple,\n disabled: disabled,\n ref: ref\n }, other, {\n ownerState: ownerState,\n children: children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? IconButton.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The icon to display.\n */\n children: chainPropTypes(PropTypes.node, props => {\n const found = React.Children.toArray(props.children).some(child => /*#__PURE__*/React.isValidElement(child) && child.props.onClick);\n if (found) {\n return new Error(['MUI: You are providing an onClick event listener to a child of a button element.', 'Prefer applying it to the IconButton directly.', 'This guarantees that the whole <button> will be responsive to click events.'].join('\\n'));\n }\n return null;\n }),\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * @default 'default'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['inherit', 'default', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the keyboard focus ripple is disabled.\n * @default false\n */\n disableFocusRipple: PropTypes.bool,\n /**\n * If `true`, the ripple effect is disabled.\n *\n * ⚠️ Without a ripple there is no styling for :focus-visible by default. Be sure\n * to highlight the element by applying separate styles with the `.Mui-focusVisible` class.\n * @default false\n */\n disableRipple: PropTypes.bool,\n /**\n * If given, uses a negative margin to counteract the padding on one\n * side (this is often helpful for aligning the left or right\n * side of the icon with content above or below, without ruining the border\n * size and shape).\n * @default false\n */\n edge: PropTypes.oneOf(['end', 'start', false]),\n /**\n * The size of the component.\n * `small` is equivalent to the dense button styling.\n * @default 'medium'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['small', 'medium', 'large']), PropTypes.string]),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default IconButton;","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4C12.76,4 13.5,4.11 14.2, 4.31L15.77,2.74C14.61,2.26 13.34,2 12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0, 0 22,12M7.91,10.08L6.5,11.5L11,16L21,6L19.59,4.58L11,13.17L7.91,10.08Z\"\n}), 'SuccessOutlined');","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M12 5.99L19.53 19H4.47L12 5.99M12 2L1 21h22L12 2zm1 14h-2v2h2v-2zm0-6h-2v4h2v-4z\"\n}), 'ReportProblemOutlined');","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M11 15h2v2h-2zm0-8h2v6h-2zm.99-5C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z\"\n}), 'ErrorOutline');","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M11,9H13V7H11M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20, 12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10, 10 0 0,0 12,2M11,17H13V11H11V17Z\"\n}), 'InfoOutlined');","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n\n/**\n * @ignore - internal component.\n *\n * Alias to `Clear`.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"\n}), 'Close');","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"action\", \"children\", \"className\", \"closeText\", \"color\", \"components\", \"componentsProps\", \"icon\", \"iconMapping\", \"onClose\", \"role\", \"severity\", \"slotProps\", \"slots\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { darken, lighten } from '@mui/system/colorManipulator';\nimport { styled, createUseThemeProps } from '../zero-styled';\nimport useSlot from '../utils/useSlot';\nimport capitalize from '../utils/capitalize';\nimport Paper from '../Paper';\nimport alertClasses, { getAlertUtilityClass } from './alertClasses';\nimport IconButton from '../IconButton';\nimport SuccessOutlinedIcon from '../internal/svg-icons/SuccessOutlined';\nimport ReportProblemOutlinedIcon from '../internal/svg-icons/ReportProblemOutlined';\nimport ErrorOutlineIcon from '../internal/svg-icons/ErrorOutline';\nimport InfoOutlinedIcon from '../internal/svg-icons/InfoOutlined';\nimport CloseIcon from '../internal/svg-icons/Close';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useThemeProps = createUseThemeProps('MuiAlert');\nconst useUtilityClasses = ownerState => {\n const {\n variant,\n color,\n severity,\n classes\n } = ownerState;\n const slots = {\n root: ['root', `color${capitalize(color || severity)}`, `${variant}${capitalize(color || severity)}`, `${variant}`],\n icon: ['icon'],\n message: ['message'],\n action: ['action']\n };\n return composeClasses(slots, getAlertUtilityClass, classes);\n};\nconst AlertRoot = styled(Paper, {\n name: 'MuiAlert',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[ownerState.variant], styles[`${ownerState.variant}${capitalize(ownerState.color || ownerState.severity)}`]];\n }\n})(({\n theme\n}) => {\n const getColor = theme.palette.mode === 'light' ? darken : lighten;\n const getBackgroundColor = theme.palette.mode === 'light' ? lighten : darken;\n return _extends({}, theme.typography.body2, {\n backgroundColor: 'transparent',\n display: 'flex',\n padding: '6px 16px',\n variants: [...Object.entries(theme.palette).filter(([, value]) => value.main && value.light).map(([color]) => ({\n props: {\n colorSeverity: color,\n variant: 'standard'\n },\n style: {\n color: theme.vars ? theme.vars.palette.Alert[`${color}Color`] : getColor(theme.palette[color].light, 0.6),\n backgroundColor: theme.vars ? theme.vars.palette.Alert[`${color}StandardBg`] : getBackgroundColor(theme.palette[color].light, 0.9),\n [`& .${alertClasses.icon}`]: theme.vars ? {\n color: theme.vars.palette.Alert[`${color}IconColor`]\n } : {\n color: theme.palette[color].main\n }\n }\n })), ...Object.entries(theme.palette).filter(([, value]) => value.main && value.light).map(([color]) => ({\n props: {\n colorSeverity: color,\n variant: 'outlined'\n },\n style: {\n color: theme.vars ? theme.vars.palette.Alert[`${color}Color`] : getColor(theme.palette[color].light, 0.6),\n border: `1px solid ${(theme.vars || theme).palette[color].light}`,\n [`& .${alertClasses.icon}`]: theme.vars ? {\n color: theme.vars.palette.Alert[`${color}IconColor`]\n } : {\n color: theme.palette[color].main\n }\n }\n })), ...Object.entries(theme.palette).filter(([, value]) => value.main && value.dark).map(([color]) => ({\n props: {\n colorSeverity: color,\n variant: 'filled'\n },\n style: _extends({\n fontWeight: theme.typography.fontWeightMedium\n }, theme.vars ? {\n color: theme.vars.palette.Alert[`${color}FilledColor`],\n backgroundColor: theme.vars.palette.Alert[`${color}FilledBg`]\n } : {\n backgroundColor: theme.palette.mode === 'dark' ? theme.palette[color].dark : theme.palette[color].main,\n color: theme.palette.getContrastText(theme.palette[color].main)\n })\n }))]\n });\n});\nconst AlertIcon = styled('div', {\n name: 'MuiAlert',\n slot: 'Icon',\n overridesResolver: (props, styles) => styles.icon\n})({\n marginRight: 12,\n padding: '7px 0',\n display: 'flex',\n fontSize: 22,\n opacity: 0.9\n});\nconst AlertMessage = styled('div', {\n name: 'MuiAlert',\n slot: 'Message',\n overridesResolver: (props, styles) => styles.message\n})({\n padding: '8px 0',\n minWidth: 0,\n overflow: 'auto'\n});\nconst AlertAction = styled('div', {\n name: 'MuiAlert',\n slot: 'Action',\n overridesResolver: (props, styles) => styles.action\n})({\n display: 'flex',\n alignItems: 'flex-start',\n padding: '4px 0 0 16px',\n marginLeft: 'auto',\n marginRight: -8\n});\nconst defaultIconMapping = {\n success: /*#__PURE__*/_jsx(SuccessOutlinedIcon, {\n fontSize: \"inherit\"\n }),\n warning: /*#__PURE__*/_jsx(ReportProblemOutlinedIcon, {\n fontSize: \"inherit\"\n }),\n error: /*#__PURE__*/_jsx(ErrorOutlineIcon, {\n fontSize: \"inherit\"\n }),\n info: /*#__PURE__*/_jsx(InfoOutlinedIcon, {\n fontSize: \"inherit\"\n })\n};\nconst Alert = /*#__PURE__*/React.forwardRef(function Alert(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiAlert'\n });\n const {\n action,\n children,\n className,\n closeText = 'Close',\n color,\n components = {},\n componentsProps = {},\n icon,\n iconMapping = defaultIconMapping,\n onClose,\n role = 'alert',\n severity = 'success',\n slotProps = {},\n slots = {},\n variant = 'standard'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n color,\n severity,\n variant,\n colorSeverity: color || severity\n });\n const classes = useUtilityClasses(ownerState);\n const externalForwardedProps = {\n slots: _extends({\n closeButton: components.CloseButton,\n closeIcon: components.CloseIcon\n }, slots),\n slotProps: _extends({}, componentsProps, slotProps)\n };\n const [CloseButtonSlot, closeButtonProps] = useSlot('closeButton', {\n elementType: IconButton,\n externalForwardedProps,\n ownerState\n });\n const [CloseIconSlot, closeIconProps] = useSlot('closeIcon', {\n elementType: CloseIcon,\n externalForwardedProps,\n ownerState\n });\n return /*#__PURE__*/_jsxs(AlertRoot, _extends({\n role: role,\n elevation: 0,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: [icon !== false ? /*#__PURE__*/_jsx(AlertIcon, {\n ownerState: ownerState,\n className: classes.icon,\n children: icon || iconMapping[severity] || defaultIconMapping[severity]\n }) : null, /*#__PURE__*/_jsx(AlertMessage, {\n ownerState: ownerState,\n className: classes.message,\n children: children\n }), action != null ? /*#__PURE__*/_jsx(AlertAction, {\n ownerState: ownerState,\n className: classes.action,\n children: action\n }) : null, action == null && onClose ? /*#__PURE__*/_jsx(AlertAction, {\n ownerState: ownerState,\n className: classes.action,\n children: /*#__PURE__*/_jsx(CloseButtonSlot, _extends({\n size: \"small\",\n \"aria-label\": closeText,\n title: closeText,\n color: \"inherit\",\n onClick: onClose\n }, closeButtonProps, {\n children: /*#__PURE__*/_jsx(CloseIconSlot, _extends({\n fontSize: \"small\"\n }, closeIconProps))\n }))\n }) : null]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Alert.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The action to display. It renders after the message, at the end of the alert.\n */\n action: PropTypes.node,\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * Override the default label for the *close popup* icon button.\n *\n * For localization purposes, you can use the provided [translations](/material-ui/guides/localization/).\n * @default 'Close'\n */\n closeText: PropTypes.string,\n /**\n * The color of the component. Unless provided, the value is taken from the `severity` prop.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * The components used for each slot inside.\n *\n * @deprecated use the `slots` prop instead. This prop will be removed in v7. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/).\n *\n * @default {}\n */\n components: PropTypes.shape({\n CloseButton: PropTypes.elementType,\n CloseIcon: PropTypes.elementType\n }),\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * @deprecated use the `slotProps` prop instead. This prop will be removed in v7. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/).\n *\n * @default {}\n */\n componentsProps: PropTypes.shape({\n closeButton: PropTypes.object,\n closeIcon: PropTypes.object\n }),\n /**\n * Override the icon displayed before the children.\n * Unless provided, the icon is mapped to the value of the `severity` prop.\n * Set to `false` to remove the `icon`.\n */\n icon: PropTypes.node,\n /**\n * The component maps the `severity` prop to a range of different icons,\n * for instance success to `<SuccessOutlined>`.\n * If you wish to change this mapping, you can provide your own.\n * Alternatively, you can use the `icon` prop to override the icon displayed.\n */\n iconMapping: PropTypes.shape({\n error: PropTypes.node,\n info: PropTypes.node,\n success: PropTypes.node,\n warning: PropTypes.node\n }),\n /**\n * Callback fired when the component requests to be closed.\n * When provided and no `action` prop is set, a close icon button is displayed that triggers the callback when clicked.\n * @param {React.SyntheticEvent} event The event source of the callback.\n */\n onClose: PropTypes.func,\n /**\n * The ARIA role attribute of the element.\n * @default 'alert'\n */\n role: PropTypes.string,\n /**\n * The severity of the alert. This defines the color and icon used.\n * @default 'success'\n */\n severity: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * The props used for each slot inside.\n * @default {}\n */\n slotProps: PropTypes.shape({\n closeButton: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n closeIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside.\n * @default {}\n */\n slots: PropTypes.shape({\n closeButton: PropTypes.elementType,\n closeIcon: PropTypes.elementType\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The variant to use.\n * @default 'standard'\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['filled', 'outlined', 'standard']), PropTypes.string])\n} : void 0;\nexport default Alert;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getTypographyUtilityClass(slot) {\n return generateUtilityClass('MuiTypography', slot);\n}\nconst typographyClasses = generateUtilityClasses('MuiTypography', ['root', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'subtitle1', 'subtitle2', 'body1', 'body2', 'inherit', 'button', 'caption', 'overline', 'alignLeft', 'alignRight', 'alignCenter', 'alignJustify', 'noWrap', 'gutterBottom', 'paragraph']);\nexport default typographyClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"align\", \"className\", \"component\", \"gutterBottom\", \"noWrap\", \"paragraph\", \"variant\", \"variantMapping\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { extendSxProp } from '@mui/system/styleFunctionSx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport capitalize from '../utils/capitalize';\nimport { getTypographyUtilityClass } from './typographyClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n align,\n gutterBottom,\n noWrap,\n paragraph,\n variant,\n classes\n } = ownerState;\n const slots = {\n root: ['root', variant, ownerState.align !== 'inherit' && `align${capitalize(align)}`, gutterBottom && 'gutterBottom', noWrap && 'noWrap', paragraph && 'paragraph']\n };\n return composeClasses(slots, getTypographyUtilityClass, classes);\n};\nexport const TypographyRoot = styled('span', {\n name: 'MuiTypography',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.variant && styles[ownerState.variant], ownerState.align !== 'inherit' && styles[`align${capitalize(ownerState.align)}`], ownerState.noWrap && styles.noWrap, ownerState.gutterBottom && styles.gutterBottom, ownerState.paragraph && styles.paragraph];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n margin: 0\n}, ownerState.variant === 'inherit' && {\n // Some elements, like <button> on Chrome have default font that doesn't inherit, reset this.\n font: 'inherit'\n}, ownerState.variant !== 'inherit' && theme.typography[ownerState.variant], ownerState.align !== 'inherit' && {\n textAlign: ownerState.align\n}, ownerState.noWrap && {\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap'\n}, ownerState.gutterBottom && {\n marginBottom: '0.35em'\n}, ownerState.paragraph && {\n marginBottom: 16\n}));\nconst defaultVariantMapping = {\n h1: 'h1',\n h2: 'h2',\n h3: 'h3',\n h4: 'h4',\n h5: 'h5',\n h6: 'h6',\n subtitle1: 'h6',\n subtitle2: 'h6',\n body1: 'p',\n body2: 'p',\n inherit: 'p'\n};\n\n// TODO v6: deprecate these color values in v5.x and remove the transformation in v6\nconst colorTransformations = {\n primary: 'primary.main',\n textPrimary: 'text.primary',\n secondary: 'secondary.main',\n textSecondary: 'text.secondary',\n error: 'error.main'\n};\nconst transformDeprecatedColors = color => {\n return colorTransformations[color] || color;\n};\nconst Typography = /*#__PURE__*/React.forwardRef(function Typography(inProps, ref) {\n const themeProps = useThemeProps({\n props: inProps,\n name: 'MuiTypography'\n });\n const color = transformDeprecatedColors(themeProps.color);\n const props = extendSxProp(_extends({}, themeProps, {\n color\n }));\n const {\n align = 'inherit',\n className,\n component,\n gutterBottom = false,\n noWrap = false,\n paragraph = false,\n variant = 'body1',\n variantMapping = defaultVariantMapping\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n align,\n color,\n className,\n component,\n gutterBottom,\n noWrap,\n paragraph,\n variant,\n variantMapping\n });\n const Component = component || (paragraph ? 'p' : variantMapping[variant] || defaultVariantMapping[variant]) || 'span';\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(TypographyRoot, _extends({\n as: Component,\n ref: ref,\n ownerState: ownerState,\n className: clsx(classes.root, className)\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? Typography.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Set the text-align on the component.\n * @default 'inherit'\n */\n align: PropTypes.oneOf(['center', 'inherit', 'justify', 'left', 'right']),\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * If `true`, the text will have a bottom margin.\n * @default false\n */\n gutterBottom: PropTypes.bool,\n /**\n * If `true`, the text will not wrap, but instead will truncate with a text overflow ellipsis.\n *\n * Note that text overflow can only happen with block or inline-block level elements\n * (the element needs to have a width in order to overflow).\n * @default false\n */\n noWrap: PropTypes.bool,\n /**\n * If `true`, the element will be a paragraph element.\n * @default false\n */\n paragraph: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * Applies the theme typography styles.\n * @default 'body1'\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['body1', 'body2', 'button', 'caption', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'inherit', 'overline', 'subtitle1', 'subtitle2']), PropTypes.string]),\n /**\n * The component maps the variant prop to a range of different HTML element types.\n * For instance, subtitle1 to `<h6>`.\n * If you wish to change that mapping, you can provide your own.\n * Alternatively, you can use the `component` prop.\n * @default {\n * h1: 'h1',\n * h2: 'h2',\n * h3: 'h3',\n * h4: 'h4',\n * h5: 'h5',\n * h6: 'h6',\n * subtitle1: 'h6',\n * subtitle2: 'h6',\n * body1: 'p',\n * body2: 'p',\n * inherit: 'p',\n * }\n */\n variantMapping: PropTypes /* @typescript-to-proptypes-ignore */.object\n} : void 0;\nexport default Typography;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getAppBarUtilityClass(slot) {\n return generateUtilityClass('MuiAppBar', slot);\n}\nconst appBarClasses = generateUtilityClasses('MuiAppBar', ['root', 'positionFixed', 'positionAbsolute', 'positionSticky', 'positionStatic', 'positionRelative', 'colorDefault', 'colorPrimary', 'colorSecondary', 'colorInherit', 'colorTransparent', 'colorError', 'colorInfo', 'colorSuccess', 'colorWarning']);\nexport default appBarClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"color\", \"enableColorOnDark\", \"position\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport capitalize from '../utils/capitalize';\nimport Paper from '../Paper';\nimport { getAppBarUtilityClass } from './appBarClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n color,\n position,\n classes\n } = ownerState;\n const slots = {\n root: ['root', `color${capitalize(color)}`, `position${capitalize(position)}`]\n };\n return composeClasses(slots, getAppBarUtilityClass, classes);\n};\n\n// var2 is the fallback.\n// Ex. var1: 'var(--a)', var2: 'var(--b)'; return: 'var(--a, var(--b))'\nconst joinVars = (var1, var2) => var1 ? `${var1 == null ? void 0 : var1.replace(')', '')}, ${var2})` : var2;\nconst AppBarRoot = styled(Paper, {\n name: 'MuiAppBar',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`position${capitalize(ownerState.position)}`], styles[`color${capitalize(ownerState.color)}`]];\n }\n})(({\n theme,\n ownerState\n}) => {\n const backgroundColorDefault = theme.palette.mode === 'light' ? theme.palette.grey[100] : theme.palette.grey[900];\n return _extends({\n display: 'flex',\n flexDirection: 'column',\n width: '100%',\n boxSizing: 'border-box',\n // Prevent padding issue with the Modal and fixed positioned AppBar.\n flexShrink: 0\n }, ownerState.position === 'fixed' && {\n position: 'fixed',\n zIndex: (theme.vars || theme).zIndex.appBar,\n top: 0,\n left: 'auto',\n right: 0,\n '@media print': {\n // Prevent the app bar to be visible on each printed page.\n position: 'absolute'\n }\n }, ownerState.position === 'absolute' && {\n position: 'absolute',\n zIndex: (theme.vars || theme).zIndex.appBar,\n top: 0,\n left: 'auto',\n right: 0\n }, ownerState.position === 'sticky' && {\n // ⚠️ sticky is not supported by IE11.\n position: 'sticky',\n zIndex: (theme.vars || theme).zIndex.appBar,\n top: 0,\n left: 'auto',\n right: 0\n }, ownerState.position === 'static' && {\n position: 'static'\n }, ownerState.position === 'relative' && {\n position: 'relative'\n }, !theme.vars && _extends({}, ownerState.color === 'default' && {\n backgroundColor: backgroundColorDefault,\n color: theme.palette.getContrastText(backgroundColorDefault)\n }, ownerState.color && ownerState.color !== 'default' && ownerState.color !== 'inherit' && ownerState.color !== 'transparent' && {\n backgroundColor: theme.palette[ownerState.color].main,\n color: theme.palette[ownerState.color].contrastText\n }, ownerState.color === 'inherit' && {\n color: 'inherit'\n }, theme.palette.mode === 'dark' && !ownerState.enableColorOnDark && {\n backgroundColor: null,\n color: null\n }, ownerState.color === 'transparent' && _extends({\n backgroundColor: 'transparent',\n color: 'inherit'\n }, theme.palette.mode === 'dark' && {\n backgroundImage: 'none'\n })), theme.vars && _extends({}, ownerState.color === 'default' && {\n '--AppBar-background': ownerState.enableColorOnDark ? theme.vars.palette.AppBar.defaultBg : joinVars(theme.vars.palette.AppBar.darkBg, theme.vars.palette.AppBar.defaultBg),\n '--AppBar-color': ownerState.enableColorOnDark ? theme.vars.palette.text.primary : joinVars(theme.vars.palette.AppBar.darkColor, theme.vars.palette.text.primary)\n }, ownerState.color && !ownerState.color.match(/^(default|inherit|transparent)$/) && {\n '--AppBar-background': ownerState.enableColorOnDark ? theme.vars.palette[ownerState.color].main : joinVars(theme.vars.palette.AppBar.darkBg, theme.vars.palette[ownerState.color].main),\n '--AppBar-color': ownerState.enableColorOnDark ? theme.vars.palette[ownerState.color].contrastText : joinVars(theme.vars.palette.AppBar.darkColor, theme.vars.palette[ownerState.color].contrastText)\n }, {\n backgroundColor: 'var(--AppBar-background)',\n color: ownerState.color === 'inherit' ? 'inherit' : 'var(--AppBar-color)'\n }, ownerState.color === 'transparent' && {\n backgroundImage: 'none',\n backgroundColor: 'transparent',\n color: 'inherit'\n }));\n});\nconst AppBar = /*#__PURE__*/React.forwardRef(function AppBar(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiAppBar'\n });\n const {\n className,\n color = 'primary',\n enableColorOnDark = false,\n position = 'fixed'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n color,\n position,\n enableColorOnDark\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(AppBarRoot, _extends({\n square: true,\n component: \"header\",\n ownerState: ownerState,\n elevation: 4,\n className: clsx(classes.root, className, position === 'fixed' && 'mui-fixed'),\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? AppBar.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * @default 'primary'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['default', 'inherit', 'primary', 'secondary', 'transparent', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * If true, the `color` prop is applied in dark mode.\n * @default false\n */\n enableColorOnDark: PropTypes.bool,\n /**\n * The positioning type. The behavior of the different options is described\n * [in the MDN web docs](https://developer.mozilla.org/en-US/docs/Learn/CSS/CSS_layout/Positioning).\n * Note: `sticky` is not universally supported and will fall back to `static` when unavailable.\n * @default 'fixed'\n */\n position: PropTypes.oneOf(['absolute', 'fixed', 'relative', 'static', 'sticky']),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default AppBar;","import { globalStateClasses } from '@mui/utils/generateUtilityClass';\nconst GLOBAL_CLASS_PREFIX = 'base';\nfunction buildStateClass(state) {\n return `${GLOBAL_CLASS_PREFIX}--${state}`;\n}\nfunction buildSlotClass(componentName, slot) {\n return `${GLOBAL_CLASS_PREFIX}-${componentName}-${slot}`;\n}\nexport function generateUtilityClass(componentName, slot) {\n const globalStateClass = globalStateClasses[slot];\n return globalStateClass ? buildStateClass(globalStateClass) : buildSlotClass(componentName, slot);\n}\nexport function isGlobalState(slot) {\n return globalStateClasses[slot] !== undefined;\n}","import { generateUtilityClass } from '../generateUtilityClass';\nexport function generateUtilityClasses(componentName, slots) {\n const result = {};\n slots.forEach(slot => {\n result[slot] = generateUtilityClass(componentName, slot);\n });\n return result;\n}","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { elementAcceptingRef, exactProp, unstable_ownerDocument as ownerDocument, unstable_useForkRef as useForkRef, unstable_useEventCallback as useEventCallback } from '@mui/utils';\n\n// TODO: return `EventHandlerName extends `on${infer EventName}` ? Lowercase<EventName> : never` once generatePropTypes runs with TS 4.1\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction mapEventPropToEvent(eventProp) {\n return eventProp.substring(2).toLowerCase();\n}\nfunction clickedRootScrollbar(event, doc) {\n return doc.documentElement.clientWidth < event.clientX || doc.documentElement.clientHeight < event.clientY;\n}\n/**\n * Listen for click events that occur somewhere in the document, outside of the element itself.\n * For instance, if you need to hide a menu when people click anywhere else on your page.\n *\n * Demos:\n *\n * - [Click-Away Listener](https://mui.com/base-ui/react-click-away-listener/)\n *\n * API:\n *\n * - [ClickAwayListener API](https://mui.com/base-ui/react-click-away-listener/components-api/#click-away-listener)\n */\nfunction ClickAwayListener(props) {\n const {\n children,\n disableReactTree = false,\n mouseEvent = 'onClick',\n onClickAway,\n touchEvent = 'onTouchEnd'\n } = props;\n const movedRef = React.useRef(false);\n const nodeRef = React.useRef(null);\n const activatedRef = React.useRef(false);\n const syntheticEventRef = React.useRef(false);\n React.useEffect(() => {\n // Ensure that this component is not \"activated\" synchronously.\n // https://github.com/facebook/react/issues/20074\n setTimeout(() => {\n activatedRef.current = true;\n }, 0);\n return () => {\n activatedRef.current = false;\n };\n }, []);\n const handleRef = useForkRef(\n // @ts-expect-error TODO upstream fix\n children.ref, nodeRef);\n\n // The handler doesn't take event.defaultPrevented into account:\n //\n // event.preventDefault() is meant to stop default behaviors like\n // clicking a checkbox to check it, hitting a button to submit a form,\n // and hitting left arrow to move the cursor in a text input etc.\n // Only special HTML elements have these default behaviors.\n const handleClickAway = useEventCallback(event => {\n // Given developers can stop the propagation of the synthetic event,\n // we can only be confident with a positive value.\n const insideReactTree = syntheticEventRef.current;\n syntheticEventRef.current = false;\n const doc = ownerDocument(nodeRef.current);\n\n // 1. IE11 support, which trigger the handleClickAway even after the unbind\n // 2. The child might render null.\n // 3. Behave like a blur listener.\n if (!activatedRef.current || !nodeRef.current || 'clientX' in event && clickedRootScrollbar(event, doc)) {\n return;\n }\n\n // Do not act if user performed touchmove\n if (movedRef.current) {\n movedRef.current = false;\n return;\n }\n let insideDOM;\n\n // If not enough, can use https://github.com/DieterHolvoet/event-propagation-path/blob/master/propagationPath.js\n if (event.composedPath) {\n insideDOM = event.composedPath().indexOf(nodeRef.current) > -1;\n } else {\n insideDOM = !doc.documentElement.contains(\n // @ts-expect-error returns `false` as intended when not dispatched from a Node\n event.target) || nodeRef.current.contains(\n // @ts-expect-error returns `false` as intended when not dispatched from a Node\n event.target);\n }\n if (!insideDOM && (disableReactTree || !insideReactTree)) {\n onClickAway(event);\n }\n });\n\n // Keep track of mouse/touch events that bubbled up through the portal.\n const createHandleSynthetic = handlerName => event => {\n syntheticEventRef.current = true;\n const childrenPropsHandler = children.props[handlerName];\n if (childrenPropsHandler) {\n childrenPropsHandler(event);\n }\n };\n const childrenProps = {\n ref: handleRef\n };\n if (touchEvent !== false) {\n childrenProps[touchEvent] = createHandleSynthetic(touchEvent);\n }\n React.useEffect(() => {\n if (touchEvent !== false) {\n const mappedTouchEvent = mapEventPropToEvent(touchEvent);\n const doc = ownerDocument(nodeRef.current);\n const handleTouchMove = () => {\n movedRef.current = true;\n };\n doc.addEventListener(mappedTouchEvent, handleClickAway);\n doc.addEventListener('touchmove', handleTouchMove);\n return () => {\n doc.removeEventListener(mappedTouchEvent, handleClickAway);\n doc.removeEventListener('touchmove', handleTouchMove);\n };\n }\n return undefined;\n }, [handleClickAway, touchEvent]);\n if (mouseEvent !== false) {\n childrenProps[mouseEvent] = createHandleSynthetic(mouseEvent);\n }\n React.useEffect(() => {\n if (mouseEvent !== false) {\n const mappedMouseEvent = mapEventPropToEvent(mouseEvent);\n const doc = ownerDocument(nodeRef.current);\n doc.addEventListener(mappedMouseEvent, handleClickAway);\n return () => {\n doc.removeEventListener(mappedMouseEvent, handleClickAway);\n };\n }\n return undefined;\n }, [handleClickAway, mouseEvent]);\n return /*#__PURE__*/_jsx(React.Fragment, {\n children: /*#__PURE__*/React.cloneElement(children, childrenProps)\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? ClickAwayListener.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The wrapped element.\n */\n children: elementAcceptingRef.isRequired,\n /**\n * If `true`, the React tree is ignored and only the DOM tree is considered.\n * This prop changes how portaled elements are handled.\n * @default false\n */\n disableReactTree: PropTypes.bool,\n /**\n * The mouse event to listen to. You can disable the listener by providing `false`.\n * @default 'onClick'\n */\n mouseEvent: PropTypes.oneOf(['onClick', 'onMouseDown', 'onMouseUp', 'onPointerDown', 'onPointerUp', false]),\n /**\n * Callback fired when a \"click away\" event is detected.\n */\n onClickAway: PropTypes.func.isRequired,\n /**\n * The touch event to listen to. You can disable the listener by providing `false`.\n * @default 'onTouchEnd'\n */\n touchEvent: PropTypes.oneOf(['onTouchEnd', 'onTouchStart', false])\n} : void 0;\nif (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line\n ClickAwayListener['propTypes' + ''] = exactProp(ClickAwayListener.propTypes);\n}\nexport { ClickAwayListener };","'use client';\n\n/* eslint-disable consistent-return, jsx-a11y/no-noninteractive-tabindex */\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { exactProp, elementAcceptingRef, unstable_useForkRef as useForkRef, unstable_ownerDocument as ownerDocument } from '@mui/utils';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n// Inspired by https://github.com/focus-trap/tabbable\nconst candidatesSelector = ['input', 'select', 'textarea', 'a[href]', 'button', '[tabindex]', 'audio[controls]', 'video[controls]', '[contenteditable]:not([contenteditable=\"false\"])'].join(',');\nfunction getTabIndex(node) {\n const tabindexAttr = parseInt(node.getAttribute('tabindex') || '', 10);\n if (!Number.isNaN(tabindexAttr)) {\n return tabindexAttr;\n }\n\n // Browsers do not return `tabIndex` correctly for contentEditable nodes;\n // https://bugs.chromium.org/p/chromium/issues/detail?id=661108&q=contenteditable%20tabindex&can=2\n // so if they don't have a tabindex attribute specifically set, assume it's 0.\n // in Chrome, <details/>, <audio controls/> and <video controls/> elements get a default\n // `tabIndex` of -1 when the 'tabindex' attribute isn't specified in the DOM,\n // yet they are still part of the regular tab order; in FF, they get a default\n // `tabIndex` of 0; since Chrome still puts those elements in the regular tab\n // order, consider their tab index to be 0.\n if (node.contentEditable === 'true' || (node.nodeName === 'AUDIO' || node.nodeName === 'VIDEO' || node.nodeName === 'DETAILS') && node.getAttribute('tabindex') === null) {\n return 0;\n }\n return node.tabIndex;\n}\nfunction isNonTabbableRadio(node) {\n if (node.tagName !== 'INPUT' || node.type !== 'radio') {\n return false;\n }\n if (!node.name) {\n return false;\n }\n const getRadio = selector => node.ownerDocument.querySelector(`input[type=\"radio\"]${selector}`);\n let roving = getRadio(`[name=\"${node.name}\"]:checked`);\n if (!roving) {\n roving = getRadio(`[name=\"${node.name}\"]`);\n }\n return roving !== node;\n}\nfunction isNodeMatchingSelectorFocusable(node) {\n if (node.disabled || node.tagName === 'INPUT' && node.type === 'hidden' || isNonTabbableRadio(node)) {\n return false;\n }\n return true;\n}\nfunction defaultGetTabbable(root) {\n const regularTabNodes = [];\n const orderedTabNodes = [];\n Array.from(root.querySelectorAll(candidatesSelector)).forEach((node, i) => {\n const nodeTabIndex = getTabIndex(node);\n if (nodeTabIndex === -1 || !isNodeMatchingSelectorFocusable(node)) {\n return;\n }\n if (nodeTabIndex === 0) {\n regularTabNodes.push(node);\n } else {\n orderedTabNodes.push({\n documentOrder: i,\n tabIndex: nodeTabIndex,\n node: node\n });\n }\n });\n return orderedTabNodes.sort((a, b) => a.tabIndex === b.tabIndex ? a.documentOrder - b.documentOrder : a.tabIndex - b.tabIndex).map(a => a.node).concat(regularTabNodes);\n}\nfunction defaultIsEnabled() {\n return true;\n}\n\n/**\n * Utility component that locks focus inside the component.\n *\n * Demos:\n *\n * - [Focus Trap](https://mui.com/base-ui/react-focus-trap/)\n *\n * API:\n *\n * - [FocusTrap API](https://mui.com/base-ui/react-focus-trap/components-api/#focus-trap)\n */\nfunction FocusTrap(props) {\n const {\n children,\n disableAutoFocus = false,\n disableEnforceFocus = false,\n disableRestoreFocus = false,\n getTabbable = defaultGetTabbable,\n isEnabled = defaultIsEnabled,\n open\n } = props;\n const ignoreNextEnforceFocus = React.useRef(false);\n const sentinelStart = React.useRef(null);\n const sentinelEnd = React.useRef(null);\n const nodeToRestore = React.useRef(null);\n const reactFocusEventTarget = React.useRef(null);\n // This variable is useful when disableAutoFocus is true.\n // It waits for the active element to move into the component to activate.\n const activated = React.useRef(false);\n const rootRef = React.useRef(null);\n // @ts-expect-error TODO upstream fix\n const handleRef = useForkRef(children.ref, rootRef);\n const lastKeydown = React.useRef(null);\n React.useEffect(() => {\n // We might render an empty child.\n if (!open || !rootRef.current) {\n return;\n }\n activated.current = !disableAutoFocus;\n }, [disableAutoFocus, open]);\n React.useEffect(() => {\n // We might render an empty child.\n if (!open || !rootRef.current) {\n return;\n }\n const doc = ownerDocument(rootRef.current);\n if (!rootRef.current.contains(doc.activeElement)) {\n if (!rootRef.current.hasAttribute('tabIndex')) {\n if (process.env.NODE_ENV !== 'production') {\n console.error(['MUI: The modal content node does not accept focus.', 'For the benefit of assistive technologies, ' + 'the tabIndex of the node is being set to \"-1\".'].join('\\n'));\n }\n rootRef.current.setAttribute('tabIndex', '-1');\n }\n if (activated.current) {\n rootRef.current.focus();\n }\n }\n return () => {\n // restoreLastFocus()\n if (!disableRestoreFocus) {\n // In IE11 it is possible for document.activeElement to be null resulting\n // in nodeToRestore.current being null.\n // Not all elements in IE11 have a focus method.\n // Once IE11 support is dropped the focus() call can be unconditional.\n if (nodeToRestore.current && nodeToRestore.current.focus) {\n ignoreNextEnforceFocus.current = true;\n nodeToRestore.current.focus();\n }\n nodeToRestore.current = null;\n }\n };\n // Missing `disableRestoreFocus` which is fine.\n // We don't support changing that prop on an open FocusTrap\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [open]);\n React.useEffect(() => {\n // We might render an empty child.\n if (!open || !rootRef.current) {\n return;\n }\n const doc = ownerDocument(rootRef.current);\n const loopFocus = nativeEvent => {\n lastKeydown.current = nativeEvent;\n if (disableEnforceFocus || !isEnabled() || nativeEvent.key !== 'Tab') {\n return;\n }\n\n // Make sure the next tab starts from the right place.\n // doc.activeElement refers to the origin.\n if (doc.activeElement === rootRef.current && nativeEvent.shiftKey) {\n // We need to ignore the next contain as\n // it will try to move the focus back to the rootRef element.\n ignoreNextEnforceFocus.current = true;\n if (sentinelEnd.current) {\n sentinelEnd.current.focus();\n }\n }\n };\n const contain = () => {\n const rootElement = rootRef.current;\n\n // Cleanup functions are executed lazily in React 17.\n // Contain can be called between the component being unmounted and its cleanup function being run.\n if (rootElement === null) {\n return;\n }\n if (!doc.hasFocus() || !isEnabled() || ignoreNextEnforceFocus.current) {\n ignoreNextEnforceFocus.current = false;\n return;\n }\n\n // The focus is already inside\n if (rootElement.contains(doc.activeElement)) {\n return;\n }\n\n // The disableEnforceFocus is set and the focus is outside of the focus trap (and sentinel nodes)\n if (disableEnforceFocus && doc.activeElement !== sentinelStart.current && doc.activeElement !== sentinelEnd.current) {\n return;\n }\n\n // if the focus event is not coming from inside the children's react tree, reset the refs\n if (doc.activeElement !== reactFocusEventTarget.current) {\n reactFocusEventTarget.current = null;\n } else if (reactFocusEventTarget.current !== null) {\n return;\n }\n if (!activated.current) {\n return;\n }\n let tabbable = [];\n if (doc.activeElement === sentinelStart.current || doc.activeElement === sentinelEnd.current) {\n tabbable = getTabbable(rootRef.current);\n }\n\n // one of the sentinel nodes was focused, so move the focus\n // to the first/last tabbable element inside the focus trap\n if (tabbable.length > 0) {\n var _lastKeydown$current, _lastKeydown$current2;\n const isShiftTab = Boolean(((_lastKeydown$current = lastKeydown.current) == null ? void 0 : _lastKeydown$current.shiftKey) && ((_lastKeydown$current2 = lastKeydown.current) == null ? void 0 : _lastKeydown$current2.key) === 'Tab');\n const focusNext = tabbable[0];\n const focusPrevious = tabbable[tabbable.length - 1];\n if (typeof focusNext !== 'string' && typeof focusPrevious !== 'string') {\n if (isShiftTab) {\n focusPrevious.focus();\n } else {\n focusNext.focus();\n }\n }\n // no tabbable elements in the trap focus or the focus was outside of the focus trap\n } else {\n rootElement.focus();\n }\n };\n doc.addEventListener('focusin', contain);\n doc.addEventListener('keydown', loopFocus, true);\n\n // With Edge, Safari and Firefox, no focus related events are fired when the focused area stops being a focused area.\n // for example https://bugzilla.mozilla.org/show_bug.cgi?id=559561.\n // Instead, we can look if the active element was restored on the BODY element.\n //\n // The whatwg spec defines how the browser should behave but does not explicitly mention any events:\n // https://html.spec.whatwg.org/multipage/interaction.html#focus-fixup-rule.\n const interval = setInterval(() => {\n if (doc.activeElement && doc.activeElement.tagName === 'BODY') {\n contain();\n }\n }, 50);\n return () => {\n clearInterval(interval);\n doc.removeEventListener('focusin', contain);\n doc.removeEventListener('keydown', loopFocus, true);\n };\n }, [disableAutoFocus, disableEnforceFocus, disableRestoreFocus, isEnabled, open, getTabbable]);\n const onFocus = event => {\n if (nodeToRestore.current === null) {\n nodeToRestore.current = event.relatedTarget;\n }\n activated.current = true;\n reactFocusEventTarget.current = event.target;\n const childrenPropsHandler = children.props.onFocus;\n if (childrenPropsHandler) {\n childrenPropsHandler(event);\n }\n };\n const handleFocusSentinel = event => {\n if (nodeToRestore.current === null) {\n nodeToRestore.current = event.relatedTarget;\n }\n activated.current = true;\n };\n return /*#__PURE__*/_jsxs(React.Fragment, {\n children: [/*#__PURE__*/_jsx(\"div\", {\n tabIndex: open ? 0 : -1,\n onFocus: handleFocusSentinel,\n ref: sentinelStart,\n \"data-testid\": \"sentinelStart\"\n }), /*#__PURE__*/React.cloneElement(children, {\n ref: handleRef,\n onFocus\n }), /*#__PURE__*/_jsx(\"div\", {\n tabIndex: open ? 0 : -1,\n onFocus: handleFocusSentinel,\n ref: sentinelEnd,\n \"data-testid\": \"sentinelEnd\"\n })]\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? FocusTrap.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * A single child content element.\n */\n children: elementAcceptingRef,\n /**\n * If `true`, the focus trap will not automatically shift focus to itself when it opens, and\n * replace it to the last focused element when it closes.\n * This also works correctly with any focus trap children that have the `disableAutoFocus` prop.\n *\n * Generally this should never be set to `true` as it makes the focus trap less\n * accessible to assistive technologies, like screen readers.\n * @default false\n */\n disableAutoFocus: PropTypes.bool,\n /**\n * If `true`, the focus trap will not prevent focus from leaving the focus trap while open.\n *\n * Generally this should never be set to `true` as it makes the focus trap less\n * accessible to assistive technologies, like screen readers.\n * @default false\n */\n disableEnforceFocus: PropTypes.bool,\n /**\n * If `true`, the focus trap will not restore focus to previously focused element once\n * focus trap is hidden or unmounted.\n * @default false\n */\n disableRestoreFocus: PropTypes.bool,\n /**\n * Returns an array of ordered tabbable nodes (i.e. in tab order) within the root.\n * For instance, you can provide the \"tabbable\" npm dependency.\n * @param {HTMLElement} root\n */\n getTabbable: PropTypes.func,\n /**\n * This prop extends the `open` prop.\n * It allows to toggle the open state without having to wait for a rerender when changing the `open` prop.\n * This prop should be memoized.\n * It can be used to support multiple focus trap mounted at the same time.\n * @default function defaultIsEnabled(): boolean {\n * return true;\n * }\n */\n isEnabled: PropTypes.func,\n /**\n * If `true`, focus is locked.\n */\n open: PropTypes.bool.isRequired\n} : void 0;\nif (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line\n FocusTrap['propTypes' + ''] = exactProp(FocusTrap.propTypes);\n}\nexport { FocusTrap };","'use client';\n\nimport * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\nimport { exactProp, HTMLElementType, unstable_useEnhancedEffect as useEnhancedEffect, unstable_useForkRef as useForkRef, unstable_setRef as setRef } from '@mui/utils';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction getContainer(container) {\n return typeof container === 'function' ? container() : container;\n}\n\n/**\n * Portals provide a first-class way to render children into a DOM node\n * that exists outside the DOM hierarchy of the parent component.\n *\n * Demos:\n *\n * - [Portal](https://mui.com/base-ui/react-portal/)\n *\n * API:\n *\n * - [Portal API](https://mui.com/base-ui/react-portal/components-api/#portal)\n */\nconst Portal = /*#__PURE__*/React.forwardRef(function Portal(props, forwardedRef) {\n const {\n children,\n container,\n disablePortal = false\n } = props;\n const [mountNode, setMountNode] = React.useState(null);\n // @ts-expect-error TODO upstream fix\n const handleRef = useForkRef( /*#__PURE__*/React.isValidElement(children) ? children.ref : null, forwardedRef);\n useEnhancedEffect(() => {\n if (!disablePortal) {\n setMountNode(getContainer(container) || document.body);\n }\n }, [container, disablePortal]);\n useEnhancedEffect(() => {\n if (mountNode && !disablePortal) {\n setRef(forwardedRef, mountNode);\n return () => {\n setRef(forwardedRef, null);\n };\n }\n return undefined;\n }, [forwardedRef, mountNode, disablePortal]);\n if (disablePortal) {\n if ( /*#__PURE__*/React.isValidElement(children)) {\n const newProps = {\n ref: handleRef\n };\n return /*#__PURE__*/React.cloneElement(children, newProps);\n }\n return /*#__PURE__*/_jsx(React.Fragment, {\n children: children\n });\n }\n return /*#__PURE__*/_jsx(React.Fragment, {\n children: mountNode ? /*#__PURE__*/ReactDOM.createPortal(children, mountNode) : mountNode\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Portal.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The children to render into the `container`.\n */\n children: PropTypes.node,\n /**\n * An HTML element or function that returns one.\n * The `container` will have the portal children appended to it.\n *\n * You can also provide a callback, which is called in a React layout effect.\n * This lets you set the container from a ref, and also makes server-side rendering possible.\n *\n * By default, it uses the body of the top-level document object,\n * so it's simply `document.body` most of the time.\n */\n container: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([HTMLElementType, PropTypes.func]),\n /**\n * The `children` will be under the DOM hierarchy of the parent component.\n * @default false\n */\n disablePortal: PropTypes.bool\n} : void 0;\nif (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line\n Portal['propTypes' + ''] = exactProp(Portal.propTypes);\n}\nexport { Portal };","import { unstable_ownerWindow as ownerWindow, unstable_ownerDocument as ownerDocument, unstable_getScrollbarSize as getScrollbarSize } from '@mui/utils';\n// Is a vertical scrollbar displayed?\nfunction isOverflowing(container) {\n const doc = ownerDocument(container);\n if (doc.body === container) {\n return ownerWindow(container).innerWidth > doc.documentElement.clientWidth;\n }\n return container.scrollHeight > container.clientHeight;\n}\nexport function ariaHidden(element, show) {\n if (show) {\n element.setAttribute('aria-hidden', 'true');\n } else {\n element.removeAttribute('aria-hidden');\n }\n}\nfunction getPaddingRight(element) {\n return parseInt(ownerWindow(element).getComputedStyle(element).paddingRight, 10) || 0;\n}\nfunction isAriaHiddenForbiddenOnElement(element) {\n // The forbidden HTML tags are the ones from ARIA specification that\n // can be children of body and can't have aria-hidden attribute.\n // cf. https://www.w3.org/TR/html-aria/#docconformance\n const forbiddenTagNames = ['TEMPLATE', 'SCRIPT', 'STYLE', 'LINK', 'MAP', 'META', 'NOSCRIPT', 'PICTURE', 'COL', 'COLGROUP', 'PARAM', 'SLOT', 'SOURCE', 'TRACK'];\n const isForbiddenTagName = forbiddenTagNames.indexOf(element.tagName) !== -1;\n const isInputHidden = element.tagName === 'INPUT' && element.getAttribute('type') === 'hidden';\n return isForbiddenTagName || isInputHidden;\n}\nfunction ariaHiddenSiblings(container, mountElement, currentElement, elementsToExclude, show) {\n const blacklist = [mountElement, currentElement, ...elementsToExclude];\n [].forEach.call(container.children, element => {\n const isNotExcludedElement = blacklist.indexOf(element) === -1;\n const isNotForbiddenElement = !isAriaHiddenForbiddenOnElement(element);\n if (isNotExcludedElement && isNotForbiddenElement) {\n ariaHidden(element, show);\n }\n });\n}\nfunction findIndexOf(items, callback) {\n let idx = -1;\n items.some((item, index) => {\n if (callback(item)) {\n idx = index;\n return true;\n }\n return false;\n });\n return idx;\n}\nfunction handleContainer(containerInfo, props) {\n const restoreStyle = [];\n const container = containerInfo.container;\n if (!props.disableScrollLock) {\n if (isOverflowing(container)) {\n // Compute the size before applying overflow hidden to avoid any scroll jumps.\n const scrollbarSize = getScrollbarSize(ownerDocument(container));\n restoreStyle.push({\n value: container.style.paddingRight,\n property: 'padding-right',\n el: container\n });\n // Use computed style, here to get the real padding to add our scrollbar width.\n container.style.paddingRight = `${getPaddingRight(container) + scrollbarSize}px`;\n\n // .mui-fixed is a global helper.\n const fixedElements = ownerDocument(container).querySelectorAll('.mui-fixed');\n [].forEach.call(fixedElements, element => {\n restoreStyle.push({\n value: element.style.paddingRight,\n property: 'padding-right',\n el: element\n });\n element.style.paddingRight = `${getPaddingRight(element) + scrollbarSize}px`;\n });\n }\n let scrollContainer;\n if (container.parentNode instanceof DocumentFragment) {\n scrollContainer = ownerDocument(container).body;\n } else {\n // Support html overflow-y: auto for scroll stability between pages\n // https://css-tricks.com/snippets/css/force-vertical-scrollbar/\n const parent = container.parentElement;\n const containerWindow = ownerWindow(container);\n scrollContainer = (parent == null ? void 0 : parent.nodeName) === 'HTML' && containerWindow.getComputedStyle(parent).overflowY === 'scroll' ? parent : container;\n }\n\n // Block the scroll even if no scrollbar is visible to account for mobile keyboard\n // screensize shrink.\n restoreStyle.push({\n value: scrollContainer.style.overflow,\n property: 'overflow',\n el: scrollContainer\n }, {\n value: scrollContainer.style.overflowX,\n property: 'overflow-x',\n el: scrollContainer\n }, {\n value: scrollContainer.style.overflowY,\n property: 'overflow-y',\n el: scrollContainer\n });\n scrollContainer.style.overflow = 'hidden';\n }\n const restore = () => {\n restoreStyle.forEach(({\n value,\n el,\n property\n }) => {\n if (value) {\n el.style.setProperty(property, value);\n } else {\n el.style.removeProperty(property);\n }\n });\n };\n return restore;\n}\nfunction getHiddenSiblings(container) {\n const hiddenSiblings = [];\n [].forEach.call(container.children, element => {\n if (element.getAttribute('aria-hidden') === 'true') {\n hiddenSiblings.push(element);\n }\n });\n return hiddenSiblings;\n}\n/**\n * @ignore - do not document.\n *\n * Proper state management for containers and the modals in those containers.\n * Simplified, but inspired by react-overlay's ModalManager class.\n * Used by the Modal to ensure proper styling of containers.\n */\nexport class ModalManager {\n constructor() {\n this.containers = void 0;\n this.modals = void 0;\n this.modals = [];\n this.containers = [];\n }\n add(modal, container) {\n let modalIndex = this.modals.indexOf(modal);\n if (modalIndex !== -1) {\n return modalIndex;\n }\n modalIndex = this.modals.length;\n this.modals.push(modal);\n\n // If the modal we are adding is already in the DOM.\n if (modal.modalRef) {\n ariaHidden(modal.modalRef, false);\n }\n const hiddenSiblings = getHiddenSiblings(container);\n ariaHiddenSiblings(container, modal.mount, modal.modalRef, hiddenSiblings, true);\n const containerIndex = findIndexOf(this.containers, item => item.container === container);\n if (containerIndex !== -1) {\n this.containers[containerIndex].modals.push(modal);\n return modalIndex;\n }\n this.containers.push({\n modals: [modal],\n container,\n restore: null,\n hiddenSiblings\n });\n return modalIndex;\n }\n mount(modal, props) {\n const containerIndex = findIndexOf(this.containers, item => item.modals.indexOf(modal) !== -1);\n const containerInfo = this.containers[containerIndex];\n if (!containerInfo.restore) {\n containerInfo.restore = handleContainer(containerInfo, props);\n }\n }\n remove(modal, ariaHiddenState = true) {\n const modalIndex = this.modals.indexOf(modal);\n if (modalIndex === -1) {\n return modalIndex;\n }\n const containerIndex = findIndexOf(this.containers, item => item.modals.indexOf(modal) !== -1);\n const containerInfo = this.containers[containerIndex];\n containerInfo.modals.splice(containerInfo.modals.indexOf(modal), 1);\n this.modals.splice(modalIndex, 1);\n\n // If that was the last modal in a container, clean up the container.\n if (containerInfo.modals.length === 0) {\n // The modal might be closed before it had the chance to be mounted in the DOM.\n if (containerInfo.restore) {\n containerInfo.restore();\n }\n if (modal.modalRef) {\n // In case the modal wasn't in the DOM yet.\n ariaHidden(modal.modalRef, ariaHiddenState);\n }\n ariaHiddenSiblings(containerInfo.container, modal.mount, modal.modalRef, containerInfo.hiddenSiblings, false);\n this.containers.splice(containerIndex, 1);\n } else {\n // Otherwise make sure the next top modal is visible to a screen reader.\n const nextTop = containerInfo.modals[containerInfo.modals.length - 1];\n // as soon as a modal is adding its modalRef is undefined. it can't set\n // aria-hidden because the dom element doesn't exist either\n // when modal was unmounted before modalRef gets null\n if (nextTop.modalRef) {\n ariaHidden(nextTop.modalRef, false);\n }\n }\n return modalIndex;\n }\n isTopModal(modal) {\n return this.modals.length > 0 && this.modals[this.modals.length - 1] === modal;\n }\n}","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport { unstable_ownerDocument as ownerDocument, unstable_useForkRef as useForkRef, unstable_useEventCallback as useEventCallback, unstable_createChainedFunction as createChainedFunction } from '@mui/utils';\nimport { extractEventHandlers } from '../utils';\nimport { ModalManager, ariaHidden } from './ModalManager';\nfunction getContainer(container) {\n return typeof container === 'function' ? container() : container;\n}\nfunction getHasTransition(children) {\n return children ? children.props.hasOwnProperty('in') : false;\n}\n\n// A modal manager used to track and manage the state of open Modals.\n// Modals don't open on the server so this won't conflict with concurrent requests.\nconst defaultManager = new ModalManager();\n/**\n *\n * Demos:\n *\n * - [Modal](https://mui.com/base-ui/react-modal/#hook)\n *\n * API:\n *\n * - [useModal API](https://mui.com/base-ui/react-modal/hooks-api/#use-modal)\n */\nexport function useModal(parameters) {\n const {\n container,\n disableEscapeKeyDown = false,\n disableScrollLock = false,\n // @ts-ignore internal logic - Base UI supports the manager as a prop too\n manager = defaultManager,\n closeAfterTransition = false,\n onTransitionEnter,\n onTransitionExited,\n children,\n onClose,\n open,\n rootRef\n } = parameters;\n\n // @ts-ignore internal logic\n const modal = React.useRef({});\n const mountNodeRef = React.useRef(null);\n const modalRef = React.useRef(null);\n const handleRef = useForkRef(modalRef, rootRef);\n const [exited, setExited] = React.useState(!open);\n const hasTransition = getHasTransition(children);\n let ariaHiddenProp = true;\n if (parameters['aria-hidden'] === 'false' || parameters['aria-hidden'] === false) {\n ariaHiddenProp = false;\n }\n const getDoc = () => ownerDocument(mountNodeRef.current);\n const getModal = () => {\n modal.current.modalRef = modalRef.current;\n modal.current.mount = mountNodeRef.current;\n return modal.current;\n };\n const handleMounted = () => {\n manager.mount(getModal(), {\n disableScrollLock\n });\n\n // Fix a bug on Chrome where the scroll isn't initially 0.\n if (modalRef.current) {\n modalRef.current.scrollTop = 0;\n }\n };\n const handleOpen = useEventCallback(() => {\n const resolvedContainer = getContainer(container) || getDoc().body;\n manager.add(getModal(), resolvedContainer);\n\n // The element was already mounted.\n if (modalRef.current) {\n handleMounted();\n }\n });\n const isTopModal = React.useCallback(() => manager.isTopModal(getModal()), [manager]);\n const handlePortalRef = useEventCallback(node => {\n mountNodeRef.current = node;\n if (!node) {\n return;\n }\n if (open && isTopModal()) {\n handleMounted();\n } else if (modalRef.current) {\n ariaHidden(modalRef.current, ariaHiddenProp);\n }\n });\n const handleClose = React.useCallback(() => {\n manager.remove(getModal(), ariaHiddenProp);\n }, [ariaHiddenProp, manager]);\n React.useEffect(() => {\n return () => {\n handleClose();\n };\n }, [handleClose]);\n React.useEffect(() => {\n if (open) {\n handleOpen();\n } else if (!hasTransition || !closeAfterTransition) {\n handleClose();\n }\n }, [open, handleClose, hasTransition, closeAfterTransition, handleOpen]);\n const createHandleKeyDown = otherHandlers => event => {\n var _otherHandlers$onKeyD;\n (_otherHandlers$onKeyD = otherHandlers.onKeyDown) == null || _otherHandlers$onKeyD.call(otherHandlers, event);\n\n // The handler doesn't take event.defaultPrevented into account:\n //\n // event.preventDefault() is meant to stop default behaviors like\n // clicking a checkbox to check it, hitting a button to submit a form,\n // and hitting left arrow to move the cursor in a text input etc.\n // Only special HTML elements have these default behaviors.\n if (event.key !== 'Escape' || event.which === 229 ||\n // Wait until IME is settled.\n !isTopModal()) {\n return;\n }\n if (!disableEscapeKeyDown) {\n // Swallow the event, in case someone is listening for the escape key on the body.\n event.stopPropagation();\n if (onClose) {\n onClose(event, 'escapeKeyDown');\n }\n }\n };\n const createHandleBackdropClick = otherHandlers => event => {\n var _otherHandlers$onClic;\n (_otherHandlers$onClic = otherHandlers.onClick) == null || _otherHandlers$onClic.call(otherHandlers, event);\n if (event.target !== event.currentTarget) {\n return;\n }\n if (onClose) {\n onClose(event, 'backdropClick');\n }\n };\n const getRootProps = (otherHandlers = {}) => {\n const propsEventHandlers = extractEventHandlers(parameters);\n\n // The custom event handlers shouldn't be spread on the root element\n delete propsEventHandlers.onTransitionEnter;\n delete propsEventHandlers.onTransitionExited;\n const externalEventHandlers = _extends({}, propsEventHandlers, otherHandlers);\n return _extends({\n role: 'presentation'\n }, externalEventHandlers, {\n onKeyDown: createHandleKeyDown(externalEventHandlers),\n ref: handleRef\n });\n };\n const getBackdropProps = (otherHandlers = {}) => {\n const externalEventHandlers = otherHandlers;\n return _extends({\n 'aria-hidden': true\n }, externalEventHandlers, {\n onClick: createHandleBackdropClick(externalEventHandlers),\n open\n });\n };\n const getTransitionProps = () => {\n const handleEnter = () => {\n setExited(false);\n if (onTransitionEnter) {\n onTransitionEnter();\n }\n };\n const handleExited = () => {\n setExited(true);\n if (onTransitionExited) {\n onTransitionExited();\n }\n if (closeAfterTransition) {\n handleClose();\n }\n };\n return {\n onEnter: createChainedFunction(handleEnter, children == null ? void 0 : children.props.onEnter),\n onExited: createChainedFunction(handleExited, children == null ? void 0 : children.props.onExited)\n };\n };\n return {\n getRootProps,\n getBackdropProps,\n getTransitionProps,\n rootRef: handleRef,\n portalRef: handlePortalRef,\n isTopModal,\n exited,\n hasTransition\n };\n}","export var top = 'top';\nexport var bottom = 'bottom';\nexport var right = 'right';\nexport var left = 'left';\nexport var auto = 'auto';\nexport var basePlacements = [top, bottom, right, left];\nexport var start = 'start';\nexport var end = 'end';\nexport var clippingParents = 'clippingParents';\nexport var viewport = 'viewport';\nexport var popper = 'popper';\nexport var reference = 'reference';\nexport var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {\n return acc.concat([placement + \"-\" + start, placement + \"-\" + end]);\n}, []);\nexport var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {\n return acc.concat([placement, placement + \"-\" + start, placement + \"-\" + end]);\n}, []); // modifiers that need to read the DOM\n\nexport var beforeRead = 'beforeRead';\nexport var read = 'read';\nexport var afterRead = 'afterRead'; // pure-logic modifiers\n\nexport var beforeMain = 'beforeMain';\nexport var main = 'main';\nexport var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)\n\nexport var beforeWrite = 'beforeWrite';\nexport var write = 'write';\nexport var afterWrite = 'afterWrite';\nexport var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];","export default function getNodeName(element) {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}","export default function getWindow(node) {\n if (node == null) {\n return window;\n }\n\n if (node.toString() !== '[object Window]') {\n var ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}","import getWindow from \"./getWindow.js\";\n\nfunction isElement(node) {\n var OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\nfunction isHTMLElement(node) {\n var OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nfunction isShadowRoot(node) {\n // IE 11 has no ShadowRoot\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n\n var OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\n\nexport { isElement, isHTMLElement, isShadowRoot };","import getNodeName from \"../dom-utils/getNodeName.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // This modifier takes the styles prepared by the `computeStyles` modifier\n// and applies them to the HTMLElements such as popper and arrow\n\nfunction applyStyles(_ref) {\n var state = _ref.state;\n Object.keys(state.elements).forEach(function (name) {\n var style = state.styles[name] || {};\n var attributes = state.attributes[name] || {};\n var element = state.elements[name]; // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n } // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe[cannot-write]\n\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (name) {\n var value = attributes[name];\n\n if (value === false) {\n element.removeAttribute(name);\n } else {\n element.setAttribute(name, value === true ? '' : value);\n }\n });\n });\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state;\n var initialStyles = {\n popper: {\n position: state.options.strategy,\n left: '0',\n top: '0',\n margin: '0'\n },\n arrow: {\n position: 'absolute'\n },\n reference: {}\n };\n Object.assign(state.elements.popper.style, initialStyles.popper);\n state.styles = initialStyles;\n\n if (state.elements.arrow) {\n Object.assign(state.elements.arrow.style, initialStyles.arrow);\n }\n\n return function () {\n Object.keys(state.elements).forEach(function (name) {\n var element = state.elements[name];\n var attributes = state.attributes[name] || {};\n var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them\n\n var style = styleProperties.reduce(function (style, property) {\n style[property] = '';\n return style;\n }, {}); // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (attribute) {\n element.removeAttribute(attribute);\n });\n });\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'applyStyles',\n enabled: true,\n phase: 'write',\n fn: applyStyles,\n effect: effect,\n requires: ['computeStyles']\n};","import { auto } from \"../enums.js\";\nexport default function getBasePlacement(placement) {\n return placement.split('-')[0];\n}","export var max = Math.max;\nexport var min = Math.min;\nexport var round = Math.round;","export default function getUAString() {\n var uaData = navigator.userAgentData;\n\n if (uaData != null && uaData.brands && Array.isArray(uaData.brands)) {\n return uaData.brands.map(function (item) {\n return item.brand + \"/\" + item.version;\n }).join(' ');\n }\n\n return navigator.userAgent;\n}","import getUAString from \"../utils/userAgent.js\";\nexport default function isLayoutViewport() {\n return !/^((?!chrome|android).)*safari/i.test(getUAString());\n}","import { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport { round } from \"../utils/math.js\";\nimport getWindow from \"./getWindow.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getBoundingClientRect(element, includeScale, isFixedStrategy) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n\n var clientRect = element.getBoundingClientRect();\n var scaleX = 1;\n var scaleY = 1;\n\n if (includeScale && isHTMLElement(element)) {\n scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;\n scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;\n }\n\n var _ref = isElement(element) ? getWindow(element) : window,\n visualViewport = _ref.visualViewport;\n\n var addVisualOffsets = !isLayoutViewport() && isFixedStrategy;\n var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX;\n var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY;\n var width = clientRect.width / scaleX;\n var height = clientRect.height / scaleY;\n return {\n width: width,\n height: height,\n top: y,\n right: x + width,\n bottom: y + height,\n left: x,\n x: x,\n y: y\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\"; // Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\n\nexport default function getLayoutRect(element) {\n var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed.\n // Fixes https://github.com/popperjs/popper-core/issues/1223\n\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n if (Math.abs(clientRect.width - width) <= 1) {\n width = clientRect.width;\n }\n\n if (Math.abs(clientRect.height - height) <= 1) {\n height = clientRect.height;\n }\n\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: width,\n height: height\n };\n}","import { isShadowRoot } from \"./instanceOf.js\";\nexport default function contains(parent, child) {\n var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method\n\n if (parent.contains(child)) {\n return true;\n } // then fallback to custom implementation with Shadow DOM support\n else if (rootNode && isShadowRoot(rootNode)) {\n var next = child;\n\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n } // $FlowFixMe[prop-missing]: need a better way to handle this...\n\n\n next = next.parentNode || next.host;\n } while (next);\n } // Give up, the result is false\n\n\n return false;\n}","import getWindow from \"./getWindow.js\";\nexport default function getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}","import getNodeName from \"./getNodeName.js\";\nexport default function isTableElement(element) {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}","import { isElement } from \"./instanceOf.js\";\nexport default function getDocumentElement(element) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing]\n element.document) || window.document).documentElement;\n}","import getNodeName from \"./getNodeName.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport { isShadowRoot } from \"./instanceOf.js\";\nexport default function getParentNode(element) {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n // $FlowFixMe[incompatible-return]\n // $FlowFixMe[prop-missing]\n element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n element.parentNode || ( // DOM Element detected\n isShadowRoot(element) ? element.host : null) || // ShadowRoot detected\n // $FlowFixMe[incompatible-call]: HTMLElement is a Node\n getDocumentElement(element) // fallback\n\n );\n}","import getWindow from \"./getWindow.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isHTMLElement, isShadowRoot } from \"./instanceOf.js\";\nimport isTableElement from \"./isTableElement.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getUAString from \"../utils/userAgent.js\";\n\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed') {\n return null;\n }\n\n return element.offsetParent;\n} // `.offsetParent` reports `null` for fixed elements, while absolute elements\n// return the containing block\n\n\nfunction getContainingBlock(element) {\n var isFirefox = /firefox/i.test(getUAString());\n var isIE = /Trident/i.test(getUAString());\n\n if (isIE && isHTMLElement(element)) {\n // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport\n var elementCss = getComputedStyle(element);\n\n if (elementCss.position === 'fixed') {\n return null;\n }\n }\n\n var currentNode = getParentNode(element);\n\n if (isShadowRoot(currentNode)) {\n currentNode = currentNode.host;\n }\n\n while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {\n var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') {\n return currentNode;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nexport default function getOffsetParent(element) {\n var window = getWindow(element);\n var offsetParent = getTrueOffsetParent(element);\n\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static')) {\n return window;\n }\n\n return offsetParent || getContainingBlock(element) || window;\n}","export default function getMainAxisFromPlacement(placement) {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}","import { max as mathMax, min as mathMin } from \"./math.js\";\nexport function within(min, value, max) {\n return mathMax(min, mathMin(value, max));\n}\nexport function withinMaxClamp(min, value, max) {\n var v = within(min, value, max);\n return v > max ? max : v;\n}","export default function getFreshSideObject() {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n}","import getFreshSideObject from \"./getFreshSideObject.js\";\nexport default function mergePaddingObject(paddingObject) {\n return Object.assign({}, getFreshSideObject(), paddingObject);\n}","export default function expandToHashMap(value, keys) {\n return keys.reduce(function (hashMap, key) {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport contains from \"../dom-utils/contains.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport { within } from \"../utils/within.js\";\nimport mergePaddingObject from \"../utils/mergePaddingObject.js\";\nimport expandToHashMap from \"../utils/expandToHashMap.js\";\nimport { left, right, basePlacements, top, bottom } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar toPaddingObject = function toPaddingObject(padding, state) {\n padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, {\n placement: state.placement\n })) : padding;\n return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n};\n\nfunction arrow(_ref) {\n var _state$modifiersData$;\n\n var state = _ref.state,\n name = _ref.name,\n options = _ref.options;\n var arrowElement = state.elements.arrow;\n var popperOffsets = state.modifiersData.popperOffsets;\n var basePlacement = getBasePlacement(state.placement);\n var axis = getMainAxisFromPlacement(basePlacement);\n var isVertical = [left, right].indexOf(basePlacement) >= 0;\n var len = isVertical ? 'height' : 'width';\n\n if (!arrowElement || !popperOffsets) {\n return;\n }\n\n var paddingObject = toPaddingObject(options.padding, state);\n var arrowRect = getLayoutRect(arrowElement);\n var minProp = axis === 'y' ? top : left;\n var maxProp = axis === 'y' ? bottom : right;\n var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];\n var startDiff = popperOffsets[axis] - state.rects.reference[axis];\n var arrowOffsetParent = getOffsetParent(arrowElement);\n var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is\n // outside of the popper bounds\n\n var min = paddingObject[minProp];\n var max = clientSize - arrowRect[len] - paddingObject[maxProp];\n var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n var offset = within(min, center, max); // Prevents breaking syntax highlighting...\n\n var axisProp = axis;\n state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state,\n options = _ref2.options;\n var _options$element = options.element,\n arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element;\n\n if (arrowElement == null) {\n return;\n } // CSS selector\n\n\n if (typeof arrowElement === 'string') {\n arrowElement = state.elements.popper.querySelector(arrowElement);\n\n if (!arrowElement) {\n return;\n }\n }\n\n if (!contains(state.elements.popper, arrowElement)) {\n return;\n }\n\n state.elements.arrow = arrowElement;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'arrow',\n enabled: true,\n phase: 'main',\n fn: arrow,\n effect: effect,\n requires: ['popperOffsets'],\n requiresIfExists: ['preventOverflow']\n};","export default function getVariation(placement) {\n return placement.split('-')[1];\n}","import { top, left, right, bottom, end } from \"../enums.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getWindow from \"../dom-utils/getWindow.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getComputedStyle from \"../dom-utils/getComputedStyle.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport { round } from \"../utils/math.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar unsetSides = {\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto'\n}; // Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\n\nfunction roundOffsetsByDPR(_ref, win) {\n var x = _ref.x,\n y = _ref.y;\n var dpr = win.devicePixelRatio || 1;\n return {\n x: round(x * dpr) / dpr || 0,\n y: round(y * dpr) / dpr || 0\n };\n}\n\nexport function mapToStyles(_ref2) {\n var _Object$assign2;\n\n var popper = _ref2.popper,\n popperRect = _ref2.popperRect,\n placement = _ref2.placement,\n variation = _ref2.variation,\n offsets = _ref2.offsets,\n position = _ref2.position,\n gpuAcceleration = _ref2.gpuAcceleration,\n adaptive = _ref2.adaptive,\n roundOffsets = _ref2.roundOffsets,\n isFixed = _ref2.isFixed;\n var _offsets$x = offsets.x,\n x = _offsets$x === void 0 ? 0 : _offsets$x,\n _offsets$y = offsets.y,\n y = _offsets$y === void 0 ? 0 : _offsets$y;\n\n var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({\n x: x,\n y: y\n }) : {\n x: x,\n y: y\n };\n\n x = _ref3.x;\n y = _ref3.y;\n var hasX = offsets.hasOwnProperty('x');\n var hasY = offsets.hasOwnProperty('y');\n var sideX = left;\n var sideY = top;\n var win = window;\n\n if (adaptive) {\n var offsetParent = getOffsetParent(popper);\n var heightProp = 'clientHeight';\n var widthProp = 'clientWidth';\n\n if (offsetParent === getWindow(popper)) {\n offsetParent = getDocumentElement(popper);\n\n if (getComputedStyle(offsetParent).position !== 'static' && position === 'absolute') {\n heightProp = 'scrollHeight';\n widthProp = 'scrollWidth';\n }\n } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n\n\n offsetParent = offsetParent;\n\n if (placement === top || (placement === left || placement === right) && variation === end) {\n sideY = bottom;\n var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing]\n offsetParent[heightProp];\n y -= offsetY - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n\n if (placement === left || (placement === top || placement === bottom) && variation === end) {\n sideX = right;\n var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing]\n offsetParent[widthProp];\n x -= offsetX - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n\n var commonStyles = Object.assign({\n position: position\n }, adaptive && unsetSides);\n\n var _ref4 = roundOffsets === true ? roundOffsetsByDPR({\n x: x,\n y: y\n }, getWindow(popper)) : {\n x: x,\n y: y\n };\n\n x = _ref4.x;\n y = _ref4.y;\n\n if (gpuAcceleration) {\n var _Object$assign;\n\n return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? \"translate(\" + x + \"px, \" + y + \"px)\" : \"translate3d(\" + x + \"px, \" + y + \"px, 0)\", _Object$assign));\n }\n\n return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + \"px\" : '', _Object$assign2[sideX] = hasX ? x + \"px\" : '', _Object$assign2.transform = '', _Object$assign2));\n}\n\nfunction computeStyles(_ref5) {\n var state = _ref5.state,\n options = _ref5.options;\n var _options$gpuAccelerat = options.gpuAcceleration,\n gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,\n _options$adaptive = options.adaptive,\n adaptive = _options$adaptive === void 0 ? true : _options$adaptive,\n _options$roundOffsets = options.roundOffsets,\n roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;\n var commonStyles = {\n placement: getBasePlacement(state.placement),\n variation: getVariation(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration: gpuAcceleration,\n isFixed: state.options.strategy === 'fixed'\n };\n\n if (state.modifiersData.popperOffsets != null) {\n state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive: adaptive,\n roundOffsets: roundOffsets\n })));\n }\n\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.arrow,\n position: 'absolute',\n adaptive: false,\n roundOffsets: roundOffsets\n })));\n }\n\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-placement': state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'computeStyles',\n enabled: true,\n phase: 'beforeWrite',\n fn: computeStyles,\n data: {}\n};","import getWindow from \"../dom-utils/getWindow.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar passive = {\n passive: true\n};\n\nfunction effect(_ref) {\n var state = _ref.state,\n instance = _ref.instance,\n options = _ref.options;\n var _options$scroll = options.scroll,\n scroll = _options$scroll === void 0 ? true : _options$scroll,\n _options$resize = options.resize,\n resize = _options$resize === void 0 ? true : _options$resize;\n var window = getWindow(state.elements.popper);\n var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);\n\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.addEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, passive);\n }\n\n return function () {\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.removeEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, passive);\n }\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: function fn() {},\n effect: effect,\n data: {}\n};","var hash = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nexport default function getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}","var hash = {\n start: 'end',\n end: 'start'\n};\nexport default function getOppositeVariationPlacement(placement) {\n return placement.replace(/start|end/g, function (matched) {\n return hash[matched];\n });\n}","import getWindow from \"./getWindow.js\";\nexport default function getWindowScroll(node) {\n var win = getWindow(node);\n var scrollLeft = win.pageXOffset;\n var scrollTop = win.pageYOffset;\n return {\n scrollLeft: scrollLeft,\n scrollTop: scrollTop\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nexport default function getWindowScrollBarX(element) {\n // If <html> has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on <html>\n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;\n}","import getWindow from \"./getWindow.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getViewportRect(element, strategy) {\n var win = getWindow(element);\n var html = getDocumentElement(element);\n var visualViewport = win.visualViewport;\n var width = html.clientWidth;\n var height = html.clientHeight;\n var x = 0;\n var y = 0;\n\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n var layoutViewport = isLayoutViewport();\n\n if (layoutViewport || !layoutViewport && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n\n return {\n width: width,\n height: height,\n x: x + getWindowScrollBarX(element),\n y: y\n };\n}","import getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nimport { max } from \"../utils/math.js\"; // Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable\n\nexport default function getDocumentRect(element) {\n var _element$ownerDocumen;\n\n var html = getDocumentElement(element);\n var winScroll = getWindowScroll(element);\n var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n var x = -winScroll.scrollLeft + getWindowScrollBarX(element);\n var y = -winScroll.scrollTop;\n\n if (getComputedStyle(body || html).direction === 'rtl') {\n x += max(html.clientWidth, body ? body.clientWidth : 0) - width;\n }\n\n return {\n width: width,\n height: height,\n x: x,\n y: y\n };\n}","import getComputedStyle from \"./getComputedStyle.js\";\nexport default function isScrollParent(element) {\n // Firefox wants us to check `-x` and `-y` variations as well\n var _getComputedStyle = getComputedStyle(element),\n overflow = _getComputedStyle.overflow,\n overflowX = _getComputedStyle.overflowX,\n overflowY = _getComputedStyle.overflowY;\n\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}","import getParentNode from \"./getParentNode.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nexport default function getScrollParent(node) {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node) && isScrollParent(node)) {\n return node;\n }\n\n return getScrollParent(getParentNode(node));\n}","import getScrollParent from \"./getScrollParent.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getWindow from \"./getWindow.js\";\nimport isScrollParent from \"./isScrollParent.js\";\n/*\ngiven a DOM element, return the list of all scroll parents, up the list of ancesors\nuntil we get to the top window object. This list is what we attach scroll listeners\nto, because if any of these parent elements scroll, we'll need to re-calculate the\nreference element's position.\n*/\n\nexport default function listScrollParents(element, list) {\n var _element$ownerDocumen;\n\n if (list === void 0) {\n list = [];\n }\n\n var scrollParent = getScrollParent(element);\n var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);\n var win = getWindow(scrollParent);\n var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n var updatedList = list.concat(target);\n return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}","export default function rectToClientRect(rect) {\n return Object.assign({}, rect, {\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n });\n}","import { viewport } from \"../enums.js\";\nimport getViewportRect from \"./getViewportRect.js\";\nimport getDocumentRect from \"./getDocumentRect.js\";\nimport listScrollParents from \"./listScrollParents.js\";\nimport getOffsetParent from \"./getOffsetParent.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport contains from \"./contains.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport rectToClientRect from \"../utils/rectToClientRect.js\";\nimport { max, min } from \"../utils/math.js\";\n\nfunction getInnerBoundingClientRect(element, strategy) {\n var rect = getBoundingClientRect(element, false, strategy === 'fixed');\n rect.top = rect.top + element.clientTop;\n rect.left = rect.left + element.clientLeft;\n rect.bottom = rect.top + element.clientHeight;\n rect.right = rect.left + element.clientWidth;\n rect.width = element.clientWidth;\n rect.height = element.clientHeight;\n rect.x = rect.left;\n rect.y = rect.top;\n return rect;\n}\n\nfunction getClientRectFromMixedType(element, clippingParent, strategy) {\n return clippingParent === viewport ? rectToClientRect(getViewportRect(element, strategy)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n var clippingParents = listScrollParents(getParentNode(element));\n var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n if (!isElement(clipperElement)) {\n return [];\n } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414\n\n\n return clippingParents.filter(function (clippingParent) {\n return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body';\n });\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nexport default function getClippingRect(element, boundary, rootBoundary, strategy) {\n var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n var clippingParents = [].concat(mainClippingParents, [rootBoundary]);\n var firstClippingParent = clippingParents[0];\n var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {\n var rect = getClientRectFromMixedType(element, clippingParent, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent, strategy));\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n return clippingRect;\n}","import getBasePlacement from \"./getBasePlacement.js\";\nimport getVariation from \"./getVariation.js\";\nimport getMainAxisFromPlacement from \"./getMainAxisFromPlacement.js\";\nimport { top, right, bottom, left, start, end } from \"../enums.js\";\nexport default function computeOffsets(_ref) {\n var reference = _ref.reference,\n element = _ref.element,\n placement = _ref.placement;\n var basePlacement = placement ? getBasePlacement(placement) : null;\n var variation = placement ? getVariation(placement) : null;\n var commonX = reference.x + reference.width / 2 - element.width / 2;\n var commonY = reference.y + reference.height / 2 - element.height / 2;\n var offsets;\n\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height\n };\n break;\n\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY\n };\n break;\n\n default:\n offsets = {\n x: reference.x,\n y: reference.y\n };\n }\n\n var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;\n\n if (mainAxis != null) {\n var len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);\n break;\n\n case end:\n offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);\n break;\n\n default:\n }\n }\n\n return offsets;\n}","import getClippingRect from \"../dom-utils/getClippingRect.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getBoundingClientRect from \"../dom-utils/getBoundingClientRect.js\";\nimport computeOffsets from \"./computeOffsets.js\";\nimport rectToClientRect from \"./rectToClientRect.js\";\nimport { clippingParents, reference, popper, bottom, top, right, basePlacements, viewport } from \"../enums.js\";\nimport { isElement } from \"../dom-utils/instanceOf.js\";\nimport mergePaddingObject from \"./mergePaddingObject.js\";\nimport expandToHashMap from \"./expandToHashMap.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport default function detectOverflow(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$placement = _options.placement,\n placement = _options$placement === void 0 ? state.placement : _options$placement,\n _options$strategy = _options.strategy,\n strategy = _options$strategy === void 0 ? state.strategy : _options$strategy,\n _options$boundary = _options.boundary,\n boundary = _options$boundary === void 0 ? clippingParents : _options$boundary,\n _options$rootBoundary = _options.rootBoundary,\n rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary,\n _options$elementConte = _options.elementContext,\n elementContext = _options$elementConte === void 0 ? popper : _options$elementConte,\n _options$altBoundary = _options.altBoundary,\n altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary,\n _options$padding = _options.padding,\n padding = _options$padding === void 0 ? 0 : _options$padding;\n var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n var altContext = elementContext === popper ? reference : popper;\n var popperRect = state.rects.popper;\n var element = state.elements[altBoundary ? altContext : elementContext];\n var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary, strategy);\n var referenceClientRect = getBoundingClientRect(state.elements.reference);\n var popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement: placement\n });\n var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets));\n var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n\n var overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n };\n var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element\n\n if (elementContext === popper && offsetData) {\n var offset = offsetData[placement];\n Object.keys(overflowOffsets).forEach(function (key) {\n var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}","import getVariation from \"./getVariation.js\";\nimport { variationPlacements, basePlacements, placements as allPlacements } from \"../enums.js\";\nimport detectOverflow from \"./detectOverflow.js\";\nimport getBasePlacement from \"./getBasePlacement.js\";\nexport default function computeAutoPlacement(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n placement = _options.placement,\n boundary = _options.boundary,\n rootBoundary = _options.rootBoundary,\n padding = _options.padding,\n flipVariations = _options.flipVariations,\n _options$allowedAutoP = _options.allowedAutoPlacements,\n allowedAutoPlacements = _options$allowedAutoP === void 0 ? allPlacements : _options$allowedAutoP;\n var variation = getVariation(placement);\n var placements = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) {\n return getVariation(placement) === variation;\n }) : basePlacements;\n var allowedPlacements = placements.filter(function (placement) {\n return allowedAutoPlacements.indexOf(placement) >= 0;\n });\n\n if (allowedPlacements.length === 0) {\n allowedPlacements = placements;\n } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions...\n\n\n var overflows = allowedPlacements.reduce(function (acc, placement) {\n acc[placement] = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding\n })[getBasePlacement(placement)];\n return acc;\n }, {});\n return Object.keys(overflows).sort(function (a, b) {\n return overflows[a] - overflows[b];\n });\n}","import getOppositePlacement from \"../utils/getOppositePlacement.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getOppositeVariationPlacement from \"../utils/getOppositeVariationPlacement.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport computeAutoPlacement from \"../utils/computeAutoPlacement.js\";\nimport { bottom, top, start, right, left, auto } from \"../enums.js\";\nimport getVariation from \"../utils/getVariation.js\"; // eslint-disable-next-line import/no-unused-modules\n\nfunction getExpandedFallbackPlacements(placement) {\n if (getBasePlacement(placement) === auto) {\n return [];\n }\n\n var oppositePlacement = getOppositePlacement(placement);\n return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];\n}\n\nfunction flip(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n\n if (state.modifiersData[name]._skip) {\n return;\n }\n\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis,\n specifiedFallbackPlacements = options.fallbackPlacements,\n padding = options.padding,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n _options$flipVariatio = options.flipVariations,\n flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,\n allowedAutoPlacements = options.allowedAutoPlacements;\n var preferredPlacement = state.options.placement;\n var basePlacement = getBasePlacement(preferredPlacement);\n var isBasePlacement = basePlacement === preferredPlacement;\n var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));\n var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {\n return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n flipVariations: flipVariations,\n allowedAutoPlacements: allowedAutoPlacements\n }) : placement);\n }, []);\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var checksMap = new Map();\n var makeFallbackChecks = true;\n var firstFittingPlacement = placements[0];\n\n for (var i = 0; i < placements.length; i++) {\n var placement = placements[i];\n\n var _basePlacement = getBasePlacement(placement);\n\n var isStartVariation = getVariation(placement) === start;\n var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;\n var len = isVertical ? 'width' : 'height';\n var overflow = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n altBoundary: altBoundary,\n padding: padding\n });\n var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;\n\n if (referenceRect[len] > popperRect[len]) {\n mainVariationSide = getOppositePlacement(mainVariationSide);\n }\n\n var altVariationSide = getOppositePlacement(mainVariationSide);\n var checks = [];\n\n if (checkMainAxis) {\n checks.push(overflow[_basePlacement] <= 0);\n }\n\n if (checkAltAxis) {\n checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);\n }\n\n if (checks.every(function (check) {\n return check;\n })) {\n firstFittingPlacement = placement;\n makeFallbackChecks = false;\n break;\n }\n\n checksMap.set(placement, checks);\n }\n\n if (makeFallbackChecks) {\n // `2` may be desired in some cases – research later\n var numberOfChecks = flipVariations ? 3 : 1;\n\n var _loop = function _loop(_i) {\n var fittingPlacement = placements.find(function (placement) {\n var checks = checksMap.get(placement);\n\n if (checks) {\n return checks.slice(0, _i).every(function (check) {\n return check;\n });\n }\n });\n\n if (fittingPlacement) {\n firstFittingPlacement = fittingPlacement;\n return \"break\";\n }\n };\n\n for (var _i = numberOfChecks; _i > 0; _i--) {\n var _ret = _loop(_i);\n\n if (_ret === \"break\") break;\n }\n }\n\n if (state.placement !== firstFittingPlacement) {\n state.modifiersData[name]._skip = true;\n state.placement = firstFittingPlacement;\n state.reset = true;\n }\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'flip',\n enabled: true,\n phase: 'main',\n fn: flip,\n requiresIfExists: ['offset'],\n data: {\n _skip: false\n }\n};","import { top, bottom, left, right } from \"../enums.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\n\nfunction getSideOffsets(overflow, rect, preventedOffsets) {\n if (preventedOffsets === void 0) {\n preventedOffsets = {\n x: 0,\n y: 0\n };\n }\n\n return {\n top: overflow.top - rect.height - preventedOffsets.y,\n right: overflow.right - rect.width + preventedOffsets.x,\n bottom: overflow.bottom - rect.height + preventedOffsets.y,\n left: overflow.left - rect.width - preventedOffsets.x\n };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n return [top, right, bottom, left].some(function (side) {\n return overflow[side] >= 0;\n });\n}\n\nfunction hide(_ref) {\n var state = _ref.state,\n name = _ref.name;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var preventedOffsets = state.modifiersData.preventOverflow;\n var referenceOverflow = detectOverflow(state, {\n elementContext: 'reference'\n });\n var popperAltOverflow = detectOverflow(state, {\n altBoundary: true\n });\n var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);\n var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);\n var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);\n var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);\n state.modifiersData[name] = {\n referenceClippingOffsets: referenceClippingOffsets,\n popperEscapeOffsets: popperEscapeOffsets,\n isReferenceHidden: isReferenceHidden,\n hasPopperEscaped: hasPopperEscaped\n };\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-reference-hidden': isReferenceHidden,\n 'data-popper-escaped': hasPopperEscaped\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'hide',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['preventOverflow'],\n fn: hide\n};","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport { top, left, right, placements } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport function distanceAndSkiddingToXY(placement, rects, offset) {\n var basePlacement = getBasePlacement(placement);\n var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, {\n placement: placement\n })) : offset,\n skidding = _ref[0],\n distance = _ref[1];\n\n skidding = skidding || 0;\n distance = (distance || 0) * invertDistance;\n return [left, right].indexOf(basePlacement) >= 0 ? {\n x: distance,\n y: skidding\n } : {\n x: skidding,\n y: distance\n };\n}\n\nfunction offset(_ref2) {\n var state = _ref2.state,\n options = _ref2.options,\n name = _ref2.name;\n var _options$offset = options.offset,\n offset = _options$offset === void 0 ? [0, 0] : _options$offset;\n var data = placements.reduce(function (acc, placement) {\n acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n return acc;\n }, {});\n var _data$state$placement = data[state.placement],\n x = _data$state$placement.x,\n y = _data$state$placement.y;\n\n if (state.modifiersData.popperOffsets != null) {\n state.modifiersData.popperOffsets.x += x;\n state.modifiersData.popperOffsets.y += y;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'offset',\n enabled: true,\n phase: 'main',\n requires: ['popperOffsets'],\n fn: offset\n};","import computeOffsets from \"../utils/computeOffsets.js\";\n\nfunction popperOffsets(_ref) {\n var state = _ref.state,\n name = _ref.name;\n // Offsets are the actual position the popper needs to have to be\n // properly positioned near its reference element\n // This is the most basic placement, and will be adjusted by\n // the modifiers in the next step\n state.modifiersData[name] = computeOffsets({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: 'absolute',\n placement: state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'popperOffsets',\n enabled: true,\n phase: 'read',\n fn: popperOffsets,\n data: {}\n};","export default function getAltAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}","import { top, left, right, bottom, start } from \"../enums.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport getAltAxis from \"../utils/getAltAxis.js\";\nimport { within, withinMaxClamp } from \"../utils/within.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport getFreshSideObject from \"../utils/getFreshSideObject.js\";\nimport { min as mathMin, max as mathMax } from \"../utils/math.js\";\n\nfunction preventOverflow(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n padding = options.padding,\n _options$tether = options.tether,\n tether = _options$tether === void 0 ? true : _options$tether,\n _options$tetherOffset = options.tetherOffset,\n tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;\n var overflow = detectOverflow(state, {\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n altBoundary: altBoundary\n });\n var basePlacement = getBasePlacement(state.placement);\n var variation = getVariation(state.placement);\n var isBasePlacement = !variation;\n var mainAxis = getMainAxisFromPlacement(basePlacement);\n var altAxis = getAltAxis(mainAxis);\n var popperOffsets = state.modifiersData.popperOffsets;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {\n placement: state.placement\n })) : tetherOffset;\n var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? {\n mainAxis: tetherOffsetValue,\n altAxis: tetherOffsetValue\n } : Object.assign({\n mainAxis: 0,\n altAxis: 0\n }, tetherOffsetValue);\n var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null;\n var data = {\n x: 0,\n y: 0\n };\n\n if (!popperOffsets) {\n return;\n }\n\n if (checkMainAxis) {\n var _offsetModifierState$;\n\n var mainSide = mainAxis === 'y' ? top : left;\n var altSide = mainAxis === 'y' ? bottom : right;\n var len = mainAxis === 'y' ? 'height' : 'width';\n var offset = popperOffsets[mainAxis];\n var min = offset + overflow[mainSide];\n var max = offset - overflow[altSide];\n var additive = tether ? -popperRect[len] / 2 : 0;\n var minLen = variation === start ? referenceRect[len] : popperRect[len];\n var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go\n // outside the reference bounds\n\n var arrowElement = state.elements.arrow;\n var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {\n width: 0,\n height: 0\n };\n var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject();\n var arrowPaddingMin = arrowPaddingObject[mainSide];\n var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want\n // to include its full size in the calculation. If the reference is small\n // and near the edge of a boundary, the popper can overflow even if the\n // reference is not overflowing as well (e.g. virtual elements with no\n // width or height)\n\n var arrowLen = within(0, referenceRect[len], arrowRect[len]);\n var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis;\n var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis;\n var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);\n var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;\n var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0;\n var tetherMin = offset + minOffset - offsetModifierValue - clientOffset;\n var tetherMax = offset + maxOffset - offsetModifierValue;\n var preventedOffset = within(tether ? mathMin(min, tetherMin) : min, offset, tether ? mathMax(max, tetherMax) : max);\n popperOffsets[mainAxis] = preventedOffset;\n data[mainAxis] = preventedOffset - offset;\n }\n\n if (checkAltAxis) {\n var _offsetModifierState$2;\n\n var _mainSide = mainAxis === 'x' ? top : left;\n\n var _altSide = mainAxis === 'x' ? bottom : right;\n\n var _offset = popperOffsets[altAxis];\n\n var _len = altAxis === 'y' ? 'height' : 'width';\n\n var _min = _offset + overflow[_mainSide];\n\n var _max = _offset - overflow[_altSide];\n\n var isOriginSide = [top, left].indexOf(basePlacement) !== -1;\n\n var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0;\n\n var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis;\n\n var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max;\n\n var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max);\n\n popperOffsets[altAxis] = _preventedOffset;\n data[altAxis] = _preventedOffset - _offset;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'preventOverflow',\n enabled: true,\n phase: 'main',\n fn: preventOverflow,\n requiresIfExists: ['offset']\n};","export default function getHTMLElementScroll(element) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n}","import getWindowScroll from \"./getWindowScroll.js\";\nimport getWindow from \"./getWindow.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getHTMLElementScroll from \"./getHTMLElementScroll.js\";\nexport default function getNodeScroll(node) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getNodeScroll from \"./getNodeScroll.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport { round } from \"../utils/math.js\";\n\nfunction isElementScaled(element) {\n var rect = element.getBoundingClientRect();\n var scaleX = round(rect.width) / element.offsetWidth || 1;\n var scaleY = round(rect.height) / element.offsetHeight || 1;\n return scaleX !== 1 || scaleY !== 1;\n} // Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\n\n\nexport default function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n\n var isOffsetParentAnElement = isHTMLElement(offsetParent);\n var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);\n var documentElement = getDocumentElement(offsetParent);\n var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed);\n var scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n var offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078\n isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent, true);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}","import { modifierPhases } from \"../enums.js\"; // source: https://stackoverflow.com/questions/49875255\n\nfunction order(modifiers) {\n var map = new Map();\n var visited = new Set();\n var result = [];\n modifiers.forEach(function (modifier) {\n map.set(modifier.name, modifier);\n }); // On visiting object, check for its dependencies and visit them recursively\n\n function sort(modifier) {\n visited.add(modifier.name);\n var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);\n requires.forEach(function (dep) {\n if (!visited.has(dep)) {\n var depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n result.push(modifier);\n }\n\n modifiers.forEach(function (modifier) {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n return result;\n}\n\nexport default function orderModifiers(modifiers) {\n // order based on dependencies\n var orderedModifiers = order(modifiers); // order based on phase\n\n return modifierPhases.reduce(function (acc, phase) {\n return acc.concat(orderedModifiers.filter(function (modifier) {\n return modifier.phase === phase;\n }));\n }, []);\n}","export default function debounce(fn) {\n var pending;\n return function () {\n if (!pending) {\n pending = new Promise(function (resolve) {\n Promise.resolve().then(function () {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}","export default function mergeByName(modifiers) {\n var merged = modifiers.reduce(function (merged, current) {\n var existing = merged[current.name];\n merged[current.name] = existing ? Object.assign({}, existing, current, {\n options: Object.assign({}, existing.options, current.options),\n data: Object.assign({}, existing.data, current.data)\n }) : current;\n return merged;\n }, {}); // IE11 does not support Object.values\n\n return Object.keys(merged).map(function (key) {\n return merged[key];\n });\n}","import getCompositeRect from \"./dom-utils/getCompositeRect.js\";\nimport getLayoutRect from \"./dom-utils/getLayoutRect.js\";\nimport listScrollParents from \"./dom-utils/listScrollParents.js\";\nimport getOffsetParent from \"./dom-utils/getOffsetParent.js\";\nimport orderModifiers from \"./utils/orderModifiers.js\";\nimport debounce from \"./utils/debounce.js\";\nimport mergeByName from \"./utils/mergeByName.js\";\nimport detectOverflow from \"./utils/detectOverflow.js\";\nimport { isElement } from \"./dom-utils/instanceOf.js\";\nvar DEFAULT_OPTIONS = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute'\n};\n\nfunction areValidElements() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return !args.some(function (element) {\n return !(element && typeof element.getBoundingClientRect === 'function');\n });\n}\n\nexport function popperGenerator(generatorOptions) {\n if (generatorOptions === void 0) {\n generatorOptions = {};\n }\n\n var _generatorOptions = generatorOptions,\n _generatorOptions$def = _generatorOptions.defaultModifiers,\n defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,\n _generatorOptions$def2 = _generatorOptions.defaultOptions,\n defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;\n return function createPopper(reference, popper, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n var state = {\n placement: 'bottom',\n orderedModifiers: [],\n options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),\n modifiersData: {},\n elements: {\n reference: reference,\n popper: popper\n },\n attributes: {},\n styles: {}\n };\n var effectCleanupFns = [];\n var isDestroyed = false;\n var instance = {\n state: state,\n setOptions: function setOptions(setOptionsAction) {\n var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction;\n cleanupModifierEffects();\n state.options = Object.assign({}, defaultOptions, state.options, options);\n state.scrollParents = {\n reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],\n popper: listScrollParents(popper)\n }; // Orders the modifiers based on their dependencies and `phase`\n // properties\n\n var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers\n\n state.orderedModifiers = orderedModifiers.filter(function (m) {\n return m.enabled;\n });\n runModifierEffects();\n return instance.update();\n },\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate: function forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n var _state$elements = state.elements,\n reference = _state$elements.reference,\n popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n\n if (!areValidElements(reference, popper)) {\n return;\n } // Store the reference and popper rects to be read by modifiers\n\n\n state.rects = {\n reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'),\n popper: getLayoutRect(popper)\n }; // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n\n state.reset = false;\n state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n\n state.orderedModifiers.forEach(function (modifier) {\n return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);\n });\n\n for (var index = 0; index < state.orderedModifiers.length; index++) {\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n var _state$orderedModifie = state.orderedModifiers[index],\n fn = _state$orderedModifie.fn,\n _state$orderedModifie2 = _state$orderedModifie.options,\n _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,\n name = _state$orderedModifie.name;\n\n if (typeof fn === 'function') {\n state = fn({\n state: state,\n options: _options,\n name: name,\n instance: instance\n }) || state;\n }\n }\n },\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce(function () {\n return new Promise(function (resolve) {\n instance.forceUpdate();\n resolve(state);\n });\n }),\n destroy: function destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n }\n };\n\n if (!areValidElements(reference, popper)) {\n return instance;\n }\n\n instance.setOptions(options).then(function (state) {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n }); // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n\n function runModifierEffects() {\n state.orderedModifiers.forEach(function (_ref) {\n var name = _ref.name,\n _ref$options = _ref.options,\n options = _ref$options === void 0 ? {} : _ref$options,\n effect = _ref.effect;\n\n if (typeof effect === 'function') {\n var cleanupFn = effect({\n state: state,\n name: name,\n instance: instance,\n options: options\n });\n\n var noopFn = function noopFn() {};\n\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(function (fn) {\n return fn();\n });\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\nexport var createPopper = /*#__PURE__*/popperGenerator(); // eslint-disable-next-line import/no-unused-modules\n\nexport { detectOverflow };","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nimport offset from \"./modifiers/offset.js\";\nimport flip from \"./modifiers/flip.js\";\nimport preventOverflow from \"./modifiers/preventOverflow.js\";\nimport arrow from \"./modifiers/arrow.js\";\nimport hide from \"./modifiers/hide.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles, offset, flip, preventOverflow, arrow, hide];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow }; // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper as createPopperLite } from \"./popper-lite.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport * from \"./modifiers/index.js\";","import { generateUtilityClass } from '../generateUtilityClass';\nimport { generateUtilityClasses } from '../generateUtilityClasses';\nconst COMPONENT_NAME = 'Popper';\nexport function getPopperUtilityClass(slot) {\n return generateUtilityClass(COMPONENT_NAME, slot);\n}\nexport const popperClasses = generateUtilityClasses(COMPONENT_NAME, ['root']);","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"anchorEl\", \"children\", \"direction\", \"disablePortal\", \"modifiers\", \"open\", \"placement\", \"popperOptions\", \"popperRef\", \"slotProps\", \"slots\", \"TransitionProps\", \"ownerState\"],\n _excluded2 = [\"anchorEl\", \"children\", \"container\", \"direction\", \"disablePortal\", \"keepMounted\", \"modifiers\", \"open\", \"placement\", \"popperOptions\", \"popperRef\", \"style\", \"transition\", \"slotProps\", \"slots\"];\nimport * as React from 'react';\nimport { chainPropTypes, HTMLElementType, refType, unstable_ownerDocument as ownerDocument, unstable_useEnhancedEffect as useEnhancedEffect, unstable_useForkRef as useForkRef } from '@mui/utils';\nimport { createPopper } from '@popperjs/core';\nimport PropTypes from 'prop-types';\nimport { unstable_composeClasses as composeClasses } from '../composeClasses';\nimport { Portal } from '../Portal';\nimport { getPopperUtilityClass } from './popperClasses';\nimport { useSlotProps } from '../utils';\nimport { useClassNamesOverride } from '../utils/ClassNameConfigurator';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction flipPlacement(placement, direction) {\n if (direction === 'ltr') {\n return placement;\n }\n switch (placement) {\n case 'bottom-end':\n return 'bottom-start';\n case 'bottom-start':\n return 'bottom-end';\n case 'top-end':\n return 'top-start';\n case 'top-start':\n return 'top-end';\n default:\n return placement;\n }\n}\nfunction resolveAnchorEl(anchorEl) {\n return typeof anchorEl === 'function' ? anchorEl() : anchorEl;\n}\nfunction isHTMLElement(element) {\n return element.nodeType !== undefined;\n}\nfunction isVirtualElement(element) {\n return !isHTMLElement(element);\n}\nconst useUtilityClasses = () => {\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, useClassNamesOverride(getPopperUtilityClass));\n};\nconst defaultPopperOptions = {};\nconst PopperTooltip = /*#__PURE__*/React.forwardRef(function PopperTooltip(props, forwardedRef) {\n var _slots$root;\n const {\n anchorEl,\n children,\n direction,\n disablePortal,\n modifiers,\n open,\n placement: initialPlacement,\n popperOptions,\n popperRef: popperRefProp,\n slotProps = {},\n slots = {},\n TransitionProps\n // @ts-ignore internal logic\n // prevent from spreading to DOM, it can come from the parent component e.g. Select.\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const tooltipRef = React.useRef(null);\n const ownRef = useForkRef(tooltipRef, forwardedRef);\n const popperRef = React.useRef(null);\n const handlePopperRef = useForkRef(popperRef, popperRefProp);\n const handlePopperRefRef = React.useRef(handlePopperRef);\n useEnhancedEffect(() => {\n handlePopperRefRef.current = handlePopperRef;\n }, [handlePopperRef]);\n React.useImperativeHandle(popperRefProp, () => popperRef.current, []);\n const rtlPlacement = flipPlacement(initialPlacement, direction);\n /**\n * placement initialized from prop but can change during lifetime if modifiers.flip.\n * modifiers.flip is essentially a flip for controlled/uncontrolled behavior\n */\n const [placement, setPlacement] = React.useState(rtlPlacement);\n const [resolvedAnchorElement, setResolvedAnchorElement] = React.useState(resolveAnchorEl(anchorEl));\n React.useEffect(() => {\n if (popperRef.current) {\n popperRef.current.forceUpdate();\n }\n });\n React.useEffect(() => {\n if (anchorEl) {\n setResolvedAnchorElement(resolveAnchorEl(anchorEl));\n }\n }, [anchorEl]);\n useEnhancedEffect(() => {\n if (!resolvedAnchorElement || !open) {\n return undefined;\n }\n const handlePopperUpdate = data => {\n setPlacement(data.placement);\n };\n if (process.env.NODE_ENV !== 'production') {\n if (resolvedAnchorElement && isHTMLElement(resolvedAnchorElement) && resolvedAnchorElement.nodeType === 1) {\n const box = resolvedAnchorElement.getBoundingClientRect();\n if (process.env.NODE_ENV !== 'test' && box.top === 0 && box.left === 0 && box.right === 0 && box.bottom === 0) {\n console.warn(['MUI: The `anchorEl` prop provided to the component is invalid.', 'The anchor element should be part of the document layout.', \"Make sure the element is present in the document or that it's not display none.\"].join('\\n'));\n }\n }\n }\n let popperModifiers = [{\n name: 'preventOverflow',\n options: {\n altBoundary: disablePortal\n }\n }, {\n name: 'flip',\n options: {\n altBoundary: disablePortal\n }\n }, {\n name: 'onUpdate',\n enabled: true,\n phase: 'afterWrite',\n fn: ({\n state\n }) => {\n handlePopperUpdate(state);\n }\n }];\n if (modifiers != null) {\n popperModifiers = popperModifiers.concat(modifiers);\n }\n if (popperOptions && popperOptions.modifiers != null) {\n popperModifiers = popperModifiers.concat(popperOptions.modifiers);\n }\n const popper = createPopper(resolvedAnchorElement, tooltipRef.current, _extends({\n placement: rtlPlacement\n }, popperOptions, {\n modifiers: popperModifiers\n }));\n handlePopperRefRef.current(popper);\n return () => {\n popper.destroy();\n handlePopperRefRef.current(null);\n };\n }, [resolvedAnchorElement, disablePortal, modifiers, open, popperOptions, rtlPlacement]);\n const childProps = {\n placement: placement\n };\n if (TransitionProps !== null) {\n childProps.TransitionProps = TransitionProps;\n }\n const classes = useUtilityClasses();\n const Root = (_slots$root = slots.root) != null ? _slots$root : 'div';\n const rootProps = useSlotProps({\n elementType: Root,\n externalSlotProps: slotProps.root,\n externalForwardedProps: other,\n additionalProps: {\n role: 'tooltip',\n ref: ownRef\n },\n ownerState: props,\n className: classes.root\n });\n return /*#__PURE__*/_jsx(Root, _extends({}, rootProps, {\n children: typeof children === 'function' ? children(childProps) : children\n }));\n});\n\n/**\n * Poppers rely on the 3rd party library [Popper.js](https://popper.js.org/docs/v2/) for positioning.\n *\n * Demos:\n *\n * - [Popper](https://mui.com/base-ui/react-popper/)\n *\n * API:\n *\n * - [Popper API](https://mui.com/base-ui/react-popper/components-api/#popper)\n */\nconst Popper = /*#__PURE__*/React.forwardRef(function Popper(props, forwardedRef) {\n const {\n anchorEl,\n children,\n container: containerProp,\n direction = 'ltr',\n disablePortal = false,\n keepMounted = false,\n modifiers,\n open,\n placement = 'bottom',\n popperOptions = defaultPopperOptions,\n popperRef,\n style,\n transition = false,\n slotProps = {},\n slots = {}\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded2);\n const [exited, setExited] = React.useState(true);\n const handleEnter = () => {\n setExited(false);\n };\n const handleExited = () => {\n setExited(true);\n };\n if (!keepMounted && !open && (!transition || exited)) {\n return null;\n }\n\n // If the container prop is provided, use that\n // If the anchorEl prop is provided, use its parent body element as the container\n // If neither are provided let the Modal take care of choosing the container\n let container;\n if (containerProp) {\n container = containerProp;\n } else if (anchorEl) {\n const resolvedAnchorEl = resolveAnchorEl(anchorEl);\n container = resolvedAnchorEl && isHTMLElement(resolvedAnchorEl) ? ownerDocument(resolvedAnchorEl).body : ownerDocument(null).body;\n }\n const display = !open && keepMounted && (!transition || exited) ? 'none' : undefined;\n const transitionProps = transition ? {\n in: open,\n onEnter: handleEnter,\n onExited: handleExited\n } : undefined;\n return /*#__PURE__*/_jsx(Portal, {\n disablePortal: disablePortal,\n container: container,\n children: /*#__PURE__*/_jsx(PopperTooltip, _extends({\n anchorEl: anchorEl,\n direction: direction,\n disablePortal: disablePortal,\n modifiers: modifiers,\n ref: forwardedRef,\n open: transition ? !exited : open,\n placement: placement,\n popperOptions: popperOptions,\n popperRef: popperRef,\n slotProps: slotProps,\n slots: slots\n }, other, {\n style: _extends({\n // Prevents scroll issue, waiting for Popper.js to add this style once initiated.\n position: 'fixed',\n // Fix Popper.js display issue\n top: 0,\n left: 0,\n display\n }, style),\n TransitionProps: transitionProps,\n children: children\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Popper.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * An HTML element, [virtualElement](https://popper.js.org/docs/v2/virtual-elements/),\n * or a function that returns either.\n * It's used to set the position of the popper.\n * The return value will passed as the reference object of the Popper instance.\n */\n anchorEl: chainPropTypes(PropTypes.oneOfType([HTMLElementType, PropTypes.object, PropTypes.func]), props => {\n if (props.open) {\n const resolvedAnchorEl = resolveAnchorEl(props.anchorEl);\n if (resolvedAnchorEl && isHTMLElement(resolvedAnchorEl) && resolvedAnchorEl.nodeType === 1) {\n const box = resolvedAnchorEl.getBoundingClientRect();\n if (process.env.NODE_ENV !== 'test' && box.top === 0 && box.left === 0 && box.right === 0 && box.bottom === 0) {\n return new Error(['MUI: The `anchorEl` prop provided to the component is invalid.', 'The anchor element should be part of the document layout.', \"Make sure the element is present in the document or that it's not display none.\"].join('\\n'));\n }\n } else if (!resolvedAnchorEl || typeof resolvedAnchorEl.getBoundingClientRect !== 'function' || isVirtualElement(resolvedAnchorEl) && resolvedAnchorEl.contextElement != null && resolvedAnchorEl.contextElement.nodeType !== 1) {\n return new Error(['MUI: The `anchorEl` prop provided to the component is invalid.', 'It should be an HTML element instance or a virtualElement ', '(https://popper.js.org/docs/v2/virtual-elements/).'].join('\\n'));\n }\n }\n return null;\n }),\n /**\n * Popper render function or node.\n */\n children: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.node, PropTypes.func]),\n /**\n * An HTML element or function that returns one.\n * The `container` will have the portal children appended to it.\n *\n * You can also provide a callback, which is called in a React layout effect.\n * This lets you set the container from a ref, and also makes server-side rendering possible.\n *\n * By default, it uses the body of the top-level document object,\n * so it's simply `document.body` most of the time.\n */\n container: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([HTMLElementType, PropTypes.func]),\n /**\n * Direction of the text.\n * @default 'ltr'\n */\n direction: PropTypes.oneOf(['ltr', 'rtl']),\n /**\n * The `children` will be under the DOM hierarchy of the parent component.\n * @default false\n */\n disablePortal: PropTypes.bool,\n /**\n * Always keep the children in the DOM.\n * This prop can be useful in SEO situation or\n * when you want to maximize the responsiveness of the Popper.\n * @default false\n */\n keepMounted: PropTypes.bool,\n /**\n * Popper.js is based on a \"plugin-like\" architecture,\n * most of its features are fully encapsulated \"modifiers\".\n *\n * A modifier is a function that is called each time Popper.js needs to\n * compute the position of the popper.\n * For this reason, modifiers should be very performant to avoid bottlenecks.\n * To learn how to create a modifier, [read the modifiers documentation](https://popper.js.org/docs/v2/modifiers/).\n */\n modifiers: PropTypes.arrayOf(PropTypes.shape({\n data: PropTypes.object,\n effect: PropTypes.func,\n enabled: PropTypes.bool,\n fn: PropTypes.func,\n name: PropTypes.any,\n options: PropTypes.object,\n phase: PropTypes.oneOf(['afterMain', 'afterRead', 'afterWrite', 'beforeMain', 'beforeRead', 'beforeWrite', 'main', 'read', 'write']),\n requires: PropTypes.arrayOf(PropTypes.string),\n requiresIfExists: PropTypes.arrayOf(PropTypes.string)\n })),\n /**\n * If `true`, the component is shown.\n */\n open: PropTypes.bool.isRequired,\n /**\n * Popper placement.\n * @default 'bottom'\n */\n placement: PropTypes.oneOf(['auto-end', 'auto-start', 'auto', 'bottom-end', 'bottom-start', 'bottom', 'left-end', 'left-start', 'left', 'right-end', 'right-start', 'right', 'top-end', 'top-start', 'top']),\n /**\n * Options provided to the [`Popper.js`](https://popper.js.org/docs/v2/constructors/#options) instance.\n * @default {}\n */\n popperOptions: PropTypes.shape({\n modifiers: PropTypes.array,\n onFirstUpdate: PropTypes.func,\n placement: PropTypes.oneOf(['auto-end', 'auto-start', 'auto', 'bottom-end', 'bottom-start', 'bottom', 'left-end', 'left-start', 'left', 'right-end', 'right-start', 'right', 'top-end', 'top-start', 'top']),\n strategy: PropTypes.oneOf(['absolute', 'fixed'])\n }),\n /**\n * A ref that points to the used popper instance.\n */\n popperRef: refType,\n /**\n * The props used for each slot inside the Popper.\n * @default {}\n */\n slotProps: PropTypes.shape({\n root: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside the Popper.\n * Either a string to use a HTML element or a component.\n * @default {}\n */\n slots: PropTypes.shape({\n root: PropTypes.elementType\n }),\n /**\n * Help supporting a react-transition-group/Transition component.\n * @default false\n */\n transition: PropTypes.bool\n} : void 0;\nexport { Popper };","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport { unstable_useEventCallback as useEventCallback, unstable_useTimeout as useTimeout } from '@mui/utils';\nimport { extractEventHandlers } from '../utils/extractEventHandlers';\n/**\n * The basic building block for creating custom snackbar.\n *\n * Demos:\n *\n * - [Snackbar](https://mui.com/base-ui/react-snackbar/#hook)\n *\n * API:\n *\n * - [useSnackbar API](https://mui.com/base-ui/react-snackbar/hooks-api/#use-snackbar)\n */\nexport function useSnackbar(parameters = {}) {\n const {\n autoHideDuration = null,\n disableWindowBlurListener = false,\n onClose,\n open,\n resumeHideDuration\n } = parameters;\n const timerAutoHide = useTimeout();\n React.useEffect(() => {\n if (!open) {\n return undefined;\n }\n\n /**\n * @param {KeyboardEvent} nativeEvent\n */\n function handleKeyDown(nativeEvent) {\n if (!nativeEvent.defaultPrevented) {\n // IE11, Edge (prior to using Blink?) use 'Esc'\n if (nativeEvent.key === 'Escape' || nativeEvent.key === 'Esc') {\n // not calling `preventDefault` since we don't know if people may ignore this event e.g. a permanently open snackbar\n onClose == null || onClose(nativeEvent, 'escapeKeyDown');\n }\n }\n }\n document.addEventListener('keydown', handleKeyDown);\n return () => {\n document.removeEventListener('keydown', handleKeyDown);\n };\n }, [open, onClose]);\n const handleClose = useEventCallback((event, reason) => {\n onClose == null || onClose(event, reason);\n });\n const setAutoHideTimer = useEventCallback(autoHideDurationParam => {\n if (!onClose || autoHideDurationParam == null) {\n return;\n }\n timerAutoHide.start(autoHideDurationParam, () => {\n handleClose(null, 'timeout');\n });\n });\n React.useEffect(() => {\n if (open) {\n setAutoHideTimer(autoHideDuration);\n }\n return timerAutoHide.clear;\n }, [open, autoHideDuration, setAutoHideTimer, timerAutoHide]);\n const handleClickAway = event => {\n onClose == null || onClose(event, 'clickaway');\n };\n\n // Pause the timer when the user is interacting with the Snackbar\n // or when the user hide the window.\n const handlePause = timerAutoHide.clear;\n\n // Restart the timer when the user is no longer interacting with the Snackbar\n // or when the window is shown back.\n const handleResume = React.useCallback(() => {\n if (autoHideDuration != null) {\n setAutoHideTimer(resumeHideDuration != null ? resumeHideDuration : autoHideDuration * 0.5);\n }\n }, [autoHideDuration, resumeHideDuration, setAutoHideTimer]);\n const createHandleBlur = otherHandlers => event => {\n const onBlurCallback = otherHandlers.onBlur;\n onBlurCallback == null || onBlurCallback(event);\n handleResume();\n };\n const createHandleFocus = otherHandlers => event => {\n const onFocusCallback = otherHandlers.onFocus;\n onFocusCallback == null || onFocusCallback(event);\n handlePause();\n };\n const createMouseEnter = otherHandlers => event => {\n const onMouseEnterCallback = otherHandlers.onMouseEnter;\n onMouseEnterCallback == null || onMouseEnterCallback(event);\n handlePause();\n };\n const createMouseLeave = otherHandlers => event => {\n const onMouseLeaveCallback = otherHandlers.onMouseLeave;\n onMouseLeaveCallback == null || onMouseLeaveCallback(event);\n handleResume();\n };\n React.useEffect(() => {\n // TODO: window global should be refactored here\n if (!disableWindowBlurListener && open) {\n window.addEventListener('focus', handleResume);\n window.addEventListener('blur', handlePause);\n return () => {\n window.removeEventListener('focus', handleResume);\n window.removeEventListener('blur', handlePause);\n };\n }\n return undefined;\n }, [disableWindowBlurListener, open, handleResume, handlePause]);\n const getRootProps = (externalProps = {}) => {\n const externalEventHandlers = _extends({}, extractEventHandlers(parameters), extractEventHandlers(externalProps));\n return _extends({\n // ClickAwayListener adds an `onClick` prop which results in the alert not being announced.\n // See https://github.com/mui/material-ui/issues/29080\n role: 'presentation'\n }, externalProps, externalEventHandlers, {\n onBlur: createHandleBlur(externalEventHandlers),\n onFocus: createHandleFocus(externalEventHandlers),\n onMouseEnter: createMouseEnter(externalEventHandlers),\n onMouseLeave: createMouseLeave(externalEventHandlers)\n });\n };\n return {\n getRootProps,\n onClickAway: handleClickAway\n };\n}","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"onChange\", \"maxRows\", \"minRows\", \"style\", \"value\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { unstable_debounce as debounce, unstable_useForkRef as useForkRef, unstable_useEnhancedEffect as useEnhancedEffect, unstable_ownerWindow as ownerWindow } from '@mui/utils';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nfunction getStyleValue(value) {\n return parseInt(value, 10) || 0;\n}\nconst styles = {\n shadow: {\n // Visibility needed to hide the extra text area on iPads\n visibility: 'hidden',\n // Remove from the content flow\n position: 'absolute',\n // Ignore the scrollbar width\n overflow: 'hidden',\n height: 0,\n top: 0,\n left: 0,\n // Create a new layer, increase the isolation of the computed values\n transform: 'translateZ(0)'\n }\n};\nfunction isEmpty(obj) {\n return obj === undefined || obj === null || Object.keys(obj).length === 0 || obj.outerHeightStyle === 0 && !obj.overflowing;\n}\n\n/**\n *\n * Demos:\n *\n * - [Textarea Autosize](https://mui.com/base-ui/react-textarea-autosize/)\n * - [Textarea Autosize](https://mui.com/material-ui/react-textarea-autosize/)\n *\n * API:\n *\n * - [TextareaAutosize API](https://mui.com/base-ui/react-textarea-autosize/components-api/#textarea-autosize)\n */\nconst TextareaAutosize = /*#__PURE__*/React.forwardRef(function TextareaAutosize(props, forwardedRef) {\n const {\n onChange,\n maxRows,\n minRows = 1,\n style,\n value\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const {\n current: isControlled\n } = React.useRef(value != null);\n const inputRef = React.useRef(null);\n const handleRef = useForkRef(forwardedRef, inputRef);\n const shadowRef = React.useRef(null);\n const calculateTextareaStyles = React.useCallback(() => {\n const input = inputRef.current;\n const containerWindow = ownerWindow(input);\n const computedStyle = containerWindow.getComputedStyle(input);\n\n // If input's width is shrunk and it's not visible, don't sync height.\n if (computedStyle.width === '0px') {\n return {\n outerHeightStyle: 0,\n overflowing: false\n };\n }\n const inputShallow = shadowRef.current;\n inputShallow.style.width = computedStyle.width;\n inputShallow.value = input.value || props.placeholder || 'x';\n if (inputShallow.value.slice(-1) === '\\n') {\n // Certain fonts which overflow the line height will cause the textarea\n // to report a different scrollHeight depending on whether the last line\n // is empty. Make it non-empty to avoid this issue.\n inputShallow.value += ' ';\n }\n const boxSizing = computedStyle.boxSizing;\n const padding = getStyleValue(computedStyle.paddingBottom) + getStyleValue(computedStyle.paddingTop);\n const border = getStyleValue(computedStyle.borderBottomWidth) + getStyleValue(computedStyle.borderTopWidth);\n\n // The height of the inner content\n const innerHeight = inputShallow.scrollHeight;\n\n // Measure height of a textarea with a single row\n inputShallow.value = 'x';\n const singleRowHeight = inputShallow.scrollHeight;\n\n // The height of the outer content\n let outerHeight = innerHeight;\n if (minRows) {\n outerHeight = Math.max(Number(minRows) * singleRowHeight, outerHeight);\n }\n if (maxRows) {\n outerHeight = Math.min(Number(maxRows) * singleRowHeight, outerHeight);\n }\n outerHeight = Math.max(outerHeight, singleRowHeight);\n\n // Take the box sizing into account for applying this value as a style.\n const outerHeightStyle = outerHeight + (boxSizing === 'border-box' ? padding + border : 0);\n const overflowing = Math.abs(outerHeight - innerHeight) <= 1;\n return {\n outerHeightStyle,\n overflowing\n };\n }, [maxRows, minRows, props.placeholder]);\n const syncHeight = React.useCallback(() => {\n const textareaStyles = calculateTextareaStyles();\n if (isEmpty(textareaStyles)) {\n return;\n }\n const input = inputRef.current;\n input.style.height = `${textareaStyles.outerHeightStyle}px`;\n input.style.overflow = textareaStyles.overflowing ? 'hidden' : '';\n }, [calculateTextareaStyles]);\n useEnhancedEffect(() => {\n const handleResize = () => {\n syncHeight();\n };\n // Workaround a \"ResizeObserver loop completed with undelivered notifications\" error\n // in test.\n // Note that we might need to use this logic in production per https://github.com/WICG/resize-observer/issues/38\n // Also see https://github.com/mui/mui-x/issues/8733\n let rAF;\n const rAFHandleResize = () => {\n cancelAnimationFrame(rAF);\n rAF = requestAnimationFrame(() => {\n handleResize();\n });\n };\n const debounceHandleResize = debounce(handleResize);\n const input = inputRef.current;\n const containerWindow = ownerWindow(input);\n containerWindow.addEventListener('resize', debounceHandleResize);\n let resizeObserver;\n if (typeof ResizeObserver !== 'undefined') {\n resizeObserver = new ResizeObserver(process.env.NODE_ENV === 'test' ? rAFHandleResize : handleResize);\n resizeObserver.observe(input);\n }\n return () => {\n debounceHandleResize.clear();\n cancelAnimationFrame(rAF);\n containerWindow.removeEventListener('resize', debounceHandleResize);\n if (resizeObserver) {\n resizeObserver.disconnect();\n }\n };\n }, [calculateTextareaStyles, syncHeight]);\n useEnhancedEffect(() => {\n syncHeight();\n });\n const handleChange = event => {\n if (!isControlled) {\n syncHeight();\n }\n if (onChange) {\n onChange(event);\n }\n };\n return /*#__PURE__*/_jsxs(React.Fragment, {\n children: [/*#__PURE__*/_jsx(\"textarea\", _extends({\n value: value,\n onChange: handleChange,\n ref: handleRef\n // Apply the rows prop to get a \"correct\" first SSR paint\n ,\n rows: minRows,\n style: style\n }, other)), /*#__PURE__*/_jsx(\"textarea\", {\n \"aria-hidden\": true,\n className: props.className,\n readOnly: true,\n ref: shadowRef,\n tabIndex: -1,\n style: _extends({}, styles.shadow, style, {\n paddingTop: 0,\n paddingBottom: 0\n })\n })]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? TextareaAutosize.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * Maximum number of rows to display.\n */\n maxRows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * Minimum number of rows to display.\n * @default 1\n */\n minRows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * @ignore\n */\n onChange: PropTypes.func,\n /**\n * @ignore\n */\n placeholder: PropTypes.string,\n /**\n * @ignore\n */\n style: PropTypes.object,\n /**\n * @ignore\n */\n value: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.number, PropTypes.string])\n} : void 0;\nexport { TextareaAutosize };","'use client';\n\n/* eslint-disable no-constant-condition */\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport { unstable_setRef as setRef, unstable_useEventCallback as useEventCallback, unstable_useControlled as useControlled, unstable_useId as useId, usePreviousProps } from '@mui/utils';\n\n// https://stackoverflow.com/questions/990904/remove-accents-diacritics-in-a-string-in-javascript\n// Give up on IE11 support for this feature\nfunction stripDiacritics(string) {\n return typeof string.normalize !== 'undefined' ? string.normalize('NFD').replace(/[\\u0300-\\u036f]/g, '') : string;\n}\nexport function createFilterOptions(config = {}) {\n const {\n ignoreAccents = true,\n ignoreCase = true,\n limit,\n matchFrom = 'any',\n stringify,\n trim = false\n } = config;\n return (options, {\n inputValue,\n getOptionLabel\n }) => {\n let input = trim ? inputValue.trim() : inputValue;\n if (ignoreCase) {\n input = input.toLowerCase();\n }\n if (ignoreAccents) {\n input = stripDiacritics(input);\n }\n const filteredOptions = !input ? options : options.filter(option => {\n let candidate = (stringify || getOptionLabel)(option);\n if (ignoreCase) {\n candidate = candidate.toLowerCase();\n }\n if (ignoreAccents) {\n candidate = stripDiacritics(candidate);\n }\n return matchFrom === 'start' ? candidate.indexOf(input) === 0 : candidate.indexOf(input) > -1;\n });\n return typeof limit === 'number' ? filteredOptions.slice(0, limit) : filteredOptions;\n };\n}\n\n// To replace with .findIndex() once we stop IE11 support.\nfunction findIndex(array, comp) {\n for (let i = 0; i < array.length; i += 1) {\n if (comp(array[i])) {\n return i;\n }\n }\n return -1;\n}\nconst defaultFilterOptions = createFilterOptions();\n\n// Number of options to jump in list box when `Page Up` and `Page Down` keys are used.\nconst pageSize = 5;\nconst defaultIsActiveElementInListbox = listboxRef => {\n var _listboxRef$current$p;\n return listboxRef.current !== null && ((_listboxRef$current$p = listboxRef.current.parentElement) == null ? void 0 : _listboxRef$current$p.contains(document.activeElement));\n};\nexport function useAutocomplete(props) {\n const {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n unstable_isActiveElementInListbox = defaultIsActiveElementInListbox,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n unstable_classNamePrefix = 'Mui',\n autoComplete = false,\n autoHighlight = false,\n autoSelect = false,\n blurOnSelect = false,\n clearOnBlur = !props.freeSolo,\n clearOnEscape = false,\n componentName = 'useAutocomplete',\n defaultValue = props.multiple ? [] : null,\n disableClearable = false,\n disableCloseOnSelect = false,\n disabled: disabledProp,\n disabledItemsFocusable = false,\n disableListWrap = false,\n filterOptions = defaultFilterOptions,\n filterSelectedOptions = false,\n freeSolo = false,\n getOptionDisabled,\n getOptionKey,\n getOptionLabel: getOptionLabelProp = option => {\n var _option$label;\n return (_option$label = option.label) != null ? _option$label : option;\n },\n groupBy,\n handleHomeEndKeys = !props.freeSolo,\n id: idProp,\n includeInputInList = false,\n inputValue: inputValueProp,\n isOptionEqualToValue = (option, value) => option === value,\n multiple = false,\n onChange,\n onClose,\n onHighlightChange,\n onInputChange,\n onOpen,\n open: openProp,\n openOnFocus = false,\n options,\n readOnly = false,\n selectOnFocus = !props.freeSolo,\n value: valueProp\n } = props;\n const id = useId(idProp);\n let getOptionLabel = getOptionLabelProp;\n getOptionLabel = option => {\n const optionLabel = getOptionLabelProp(option);\n if (typeof optionLabel !== 'string') {\n if (process.env.NODE_ENV !== 'production') {\n const erroneousReturn = optionLabel === undefined ? 'undefined' : `${typeof optionLabel} (${optionLabel})`;\n console.error(`MUI: The \\`getOptionLabel\\` method of ${componentName} returned ${erroneousReturn} instead of a string for ${JSON.stringify(option)}.`);\n }\n return String(optionLabel);\n }\n return optionLabel;\n };\n const ignoreFocus = React.useRef(false);\n const firstFocus = React.useRef(true);\n const inputRef = React.useRef(null);\n const listboxRef = React.useRef(null);\n const [anchorEl, setAnchorEl] = React.useState(null);\n const [focusedTag, setFocusedTag] = React.useState(-1);\n const defaultHighlighted = autoHighlight ? 0 : -1;\n const highlightedIndexRef = React.useRef(defaultHighlighted);\n const [value, setValueState] = useControlled({\n controlled: valueProp,\n default: defaultValue,\n name: componentName\n });\n const [inputValue, setInputValueState] = useControlled({\n controlled: inputValueProp,\n default: '',\n name: componentName,\n state: 'inputValue'\n });\n const [focused, setFocused] = React.useState(false);\n const resetInputValue = React.useCallback((event, newValue) => {\n // retain current `inputValue` if new option isn't selected and `clearOnBlur` is false\n // When `multiple` is enabled, `newValue` is an array of all selected items including the newly selected item\n const isOptionSelected = multiple ? value.length < newValue.length : newValue !== null;\n if (!isOptionSelected && !clearOnBlur) {\n return;\n }\n let newInputValue;\n if (multiple) {\n newInputValue = '';\n } else if (newValue == null) {\n newInputValue = '';\n } else {\n const optionLabel = getOptionLabel(newValue);\n newInputValue = typeof optionLabel === 'string' ? optionLabel : '';\n }\n if (inputValue === newInputValue) {\n return;\n }\n setInputValueState(newInputValue);\n if (onInputChange) {\n onInputChange(event, newInputValue, 'reset');\n }\n }, [getOptionLabel, inputValue, multiple, onInputChange, setInputValueState, clearOnBlur, value]);\n const [open, setOpenState] = useControlled({\n controlled: openProp,\n default: false,\n name: componentName,\n state: 'open'\n });\n const [inputPristine, setInputPristine] = React.useState(true);\n const inputValueIsSelectedValue = !multiple && value != null && inputValue === getOptionLabel(value);\n const popupOpen = open && !readOnly;\n const filteredOptions = popupOpen ? filterOptions(options.filter(option => {\n if (filterSelectedOptions && (multiple ? value : [value]).some(value2 => value2 !== null && isOptionEqualToValue(option, value2))) {\n return false;\n }\n return true;\n }),\n // we use the empty string to manipulate `filterOptions` to not filter any options\n // i.e. the filter predicate always returns true\n {\n inputValue: inputValueIsSelectedValue && inputPristine ? '' : inputValue,\n getOptionLabel\n }) : [];\n const previousProps = usePreviousProps({\n filteredOptions,\n value,\n inputValue\n });\n React.useEffect(() => {\n const valueChange = value !== previousProps.value;\n if (focused && !valueChange) {\n return;\n }\n\n // Only reset the input's value when freeSolo if the component's value changes.\n if (freeSolo && !valueChange) {\n return;\n }\n resetInputValue(null, value);\n }, [value, resetInputValue, focused, previousProps.value, freeSolo]);\n const listboxAvailable = open && filteredOptions.length > 0 && !readOnly;\n if (process.env.NODE_ENV !== 'production') {\n if (value !== null && !freeSolo && options.length > 0) {\n const missingValue = (multiple ? value : [value]).filter(value2 => !options.some(option => isOptionEqualToValue(option, value2)));\n if (missingValue.length > 0) {\n console.warn([`MUI: The value provided to ${componentName} is invalid.`, `None of the options match with \\`${missingValue.length > 1 ? JSON.stringify(missingValue) : JSON.stringify(missingValue[0])}\\`.`, 'You can use the `isOptionEqualToValue` prop to customize the equality test.'].join('\\n'));\n }\n }\n }\n const focusTag = useEventCallback(tagToFocus => {\n if (tagToFocus === -1) {\n inputRef.current.focus();\n } else {\n anchorEl.querySelector(`[data-tag-index=\"${tagToFocus}\"]`).focus();\n }\n });\n\n // Ensure the focusedTag is never inconsistent\n React.useEffect(() => {\n if (multiple && focusedTag > value.length - 1) {\n setFocusedTag(-1);\n focusTag(-1);\n }\n }, [value, multiple, focusedTag, focusTag]);\n function validOptionIndex(index, direction) {\n if (!listboxRef.current || index < 0 || index >= filteredOptions.length) {\n return -1;\n }\n let nextFocus = index;\n while (true) {\n const option = listboxRef.current.querySelector(`[data-option-index=\"${nextFocus}\"]`);\n\n // Same logic as MenuList.js\n const nextFocusDisabled = disabledItemsFocusable ? false : !option || option.disabled || option.getAttribute('aria-disabled') === 'true';\n if (option && option.hasAttribute('tabindex') && !nextFocusDisabled) {\n // The next option is available\n return nextFocus;\n }\n\n // The next option is disabled, move to the next element.\n // with looped index\n if (direction === 'next') {\n nextFocus = (nextFocus + 1) % filteredOptions.length;\n } else {\n nextFocus = (nextFocus - 1 + filteredOptions.length) % filteredOptions.length;\n }\n\n // We end up with initial index, that means we don't have available options.\n // All of them are disabled\n if (nextFocus === index) {\n return -1;\n }\n }\n }\n const setHighlightedIndex = useEventCallback(({\n event,\n index,\n reason = 'auto'\n }) => {\n highlightedIndexRef.current = index;\n\n // does the index exist?\n if (index === -1) {\n inputRef.current.removeAttribute('aria-activedescendant');\n } else {\n inputRef.current.setAttribute('aria-activedescendant', `${id}-option-${index}`);\n }\n if (onHighlightChange) {\n onHighlightChange(event, index === -1 ? null : filteredOptions[index], reason);\n }\n if (!listboxRef.current) {\n return;\n }\n const prev = listboxRef.current.querySelector(`[role=\"option\"].${unstable_classNamePrefix}-focused`);\n if (prev) {\n prev.classList.remove(`${unstable_classNamePrefix}-focused`);\n prev.classList.remove(`${unstable_classNamePrefix}-focusVisible`);\n }\n let listboxNode = listboxRef.current;\n if (listboxRef.current.getAttribute('role') !== 'listbox') {\n listboxNode = listboxRef.current.parentElement.querySelector('[role=\"listbox\"]');\n }\n\n // \"No results\"\n if (!listboxNode) {\n return;\n }\n if (index === -1) {\n listboxNode.scrollTop = 0;\n return;\n }\n const option = listboxRef.current.querySelector(`[data-option-index=\"${index}\"]`);\n if (!option) {\n return;\n }\n option.classList.add(`${unstable_classNamePrefix}-focused`);\n if (reason === 'keyboard') {\n option.classList.add(`${unstable_classNamePrefix}-focusVisible`);\n }\n\n // Scroll active descendant into view.\n // Logic copied from https://www.w3.org/WAI/content-assets/wai-aria-practices/patterns/combobox/examples/js/select-only.js\n // In case of mouse clicks and touch (in mobile devices) we avoid scrolling the element and keep both behaviors same.\n // Consider this API instead once it has a better browser support:\n // .scrollIntoView({ scrollMode: 'if-needed', block: 'nearest' });\n if (listboxNode.scrollHeight > listboxNode.clientHeight && reason !== 'mouse' && reason !== 'touch') {\n const element = option;\n const scrollBottom = listboxNode.clientHeight + listboxNode.scrollTop;\n const elementBottom = element.offsetTop + element.offsetHeight;\n if (elementBottom > scrollBottom) {\n listboxNode.scrollTop = elementBottom - listboxNode.clientHeight;\n } else if (element.offsetTop - element.offsetHeight * (groupBy ? 1.3 : 0) < listboxNode.scrollTop) {\n listboxNode.scrollTop = element.offsetTop - element.offsetHeight * (groupBy ? 1.3 : 0);\n }\n }\n });\n const changeHighlightedIndex = useEventCallback(({\n event,\n diff,\n direction = 'next',\n reason = 'auto'\n }) => {\n if (!popupOpen) {\n return;\n }\n const getNextIndex = () => {\n const maxIndex = filteredOptions.length - 1;\n if (diff === 'reset') {\n return defaultHighlighted;\n }\n if (diff === 'start') {\n return 0;\n }\n if (diff === 'end') {\n return maxIndex;\n }\n const newIndex = highlightedIndexRef.current + diff;\n if (newIndex < 0) {\n if (newIndex === -1 && includeInputInList) {\n return -1;\n }\n if (disableListWrap && highlightedIndexRef.current !== -1 || Math.abs(diff) > 1) {\n return 0;\n }\n return maxIndex;\n }\n if (newIndex > maxIndex) {\n if (newIndex === maxIndex + 1 && includeInputInList) {\n return -1;\n }\n if (disableListWrap || Math.abs(diff) > 1) {\n return maxIndex;\n }\n return 0;\n }\n return newIndex;\n };\n const nextIndex = validOptionIndex(getNextIndex(), direction);\n setHighlightedIndex({\n index: nextIndex,\n reason,\n event\n });\n\n // Sync the content of the input with the highlighted option.\n if (autoComplete && diff !== 'reset') {\n if (nextIndex === -1) {\n inputRef.current.value = inputValue;\n } else {\n const option = getOptionLabel(filteredOptions[nextIndex]);\n inputRef.current.value = option;\n\n // The portion of the selected suggestion that has not been typed by the user,\n // a completion string, appears inline after the input cursor in the textbox.\n const index = option.toLowerCase().indexOf(inputValue.toLowerCase());\n if (index === 0 && inputValue.length > 0) {\n inputRef.current.setSelectionRange(inputValue.length, option.length);\n }\n }\n }\n });\n const getPreviousHighlightedOptionIndex = () => {\n const isSameValue = (value1, value2) => {\n const label1 = value1 ? getOptionLabel(value1) : '';\n const label2 = value2 ? getOptionLabel(value2) : '';\n return label1 === label2;\n };\n if (highlightedIndexRef.current !== -1 && previousProps.filteredOptions && previousProps.filteredOptions.length !== filteredOptions.length && previousProps.inputValue === inputValue && (multiple ? value.length === previousProps.value.length && previousProps.value.every((val, i) => getOptionLabel(value[i]) === getOptionLabel(val)) : isSameValue(previousProps.value, value))) {\n const previousHighlightedOption = previousProps.filteredOptions[highlightedIndexRef.current];\n if (previousHighlightedOption) {\n return findIndex(filteredOptions, option => {\n return getOptionLabel(option) === getOptionLabel(previousHighlightedOption);\n });\n }\n }\n return -1;\n };\n const syncHighlightedIndex = React.useCallback(() => {\n if (!popupOpen) {\n return;\n }\n\n // Check if the previously highlighted option still exists in the updated filtered options list and if the value and inputValue haven't changed\n // If it exists and the value and the inputValue haven't changed, just update its index, otherwise continue execution\n const previousHighlightedOptionIndex = getPreviousHighlightedOptionIndex();\n if (previousHighlightedOptionIndex !== -1) {\n highlightedIndexRef.current = previousHighlightedOptionIndex;\n return;\n }\n const valueItem = multiple ? value[0] : value;\n\n // The popup is empty, reset\n if (filteredOptions.length === 0 || valueItem == null) {\n changeHighlightedIndex({\n diff: 'reset'\n });\n return;\n }\n if (!listboxRef.current) {\n return;\n }\n\n // Synchronize the value with the highlighted index\n if (valueItem != null) {\n const currentOption = filteredOptions[highlightedIndexRef.current];\n\n // Keep the current highlighted index if possible\n if (multiple && currentOption && findIndex(value, val => isOptionEqualToValue(currentOption, val)) !== -1) {\n return;\n }\n const itemIndex = findIndex(filteredOptions, optionItem => isOptionEqualToValue(optionItem, valueItem));\n if (itemIndex === -1) {\n changeHighlightedIndex({\n diff: 'reset'\n });\n } else {\n setHighlightedIndex({\n index: itemIndex\n });\n }\n return;\n }\n\n // Prevent the highlighted index to leak outside the boundaries.\n if (highlightedIndexRef.current >= filteredOptions.length - 1) {\n setHighlightedIndex({\n index: filteredOptions.length - 1\n });\n return;\n }\n\n // Restore the focus to the previous index.\n setHighlightedIndex({\n index: highlightedIndexRef.current\n });\n // Ignore filteredOptions (and options, isOptionEqualToValue, getOptionLabel) not to break the scroll position\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n // Only sync the highlighted index when the option switch between empty and not\n filteredOptions.length,\n // Don't sync the highlighted index with the value when multiple\n // eslint-disable-next-line react-hooks/exhaustive-deps\n multiple ? false : value, filterSelectedOptions, changeHighlightedIndex, setHighlightedIndex, popupOpen, inputValue, multiple]);\n const handleListboxRef = useEventCallback(node => {\n setRef(listboxRef, node);\n if (!node) {\n return;\n }\n syncHighlightedIndex();\n });\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useEffect(() => {\n if (!inputRef.current || inputRef.current.nodeName !== 'INPUT') {\n if (inputRef.current && inputRef.current.nodeName === 'TEXTAREA') {\n console.warn([`A textarea element was provided to ${componentName} where input was expected.`, `This is not a supported scenario but it may work under certain conditions.`, `A textarea keyboard navigation may conflict with Autocomplete controls (for example enter and arrow keys).`, `Make sure to test keyboard navigation and add custom event handlers if necessary.`].join('\\n'));\n } else {\n console.error([`MUI: Unable to find the input element. It was resolved to ${inputRef.current} while an HTMLInputElement was expected.`, `Instead, ${componentName} expects an input element.`, '', componentName === 'useAutocomplete' ? 'Make sure you have bound getInputProps correctly and that the normal ref/effect resolutions order is guaranteed.' : 'Make sure you have customized the input component correctly.'].join('\\n'));\n }\n }\n }, [componentName]);\n }\n React.useEffect(() => {\n syncHighlightedIndex();\n }, [syncHighlightedIndex]);\n const handleOpen = event => {\n if (open) {\n return;\n }\n setOpenState(true);\n setInputPristine(true);\n if (onOpen) {\n onOpen(event);\n }\n };\n const handleClose = (event, reason) => {\n if (!open) {\n return;\n }\n setOpenState(false);\n if (onClose) {\n onClose(event, reason);\n }\n };\n const handleValue = (event, newValue, reason, details) => {\n if (multiple) {\n if (value.length === newValue.length && value.every((val, i) => val === newValue[i])) {\n return;\n }\n } else if (value === newValue) {\n return;\n }\n if (onChange) {\n onChange(event, newValue, reason, details);\n }\n setValueState(newValue);\n };\n const isTouch = React.useRef(false);\n const selectNewValue = (event, option, reasonProp = 'selectOption', origin = 'options') => {\n let reason = reasonProp;\n let newValue = option;\n if (multiple) {\n newValue = Array.isArray(value) ? value.slice() : [];\n if (process.env.NODE_ENV !== 'production') {\n const matches = newValue.filter(val => isOptionEqualToValue(option, val));\n if (matches.length > 1) {\n console.error([`MUI: The \\`isOptionEqualToValue\\` method of ${componentName} does not handle the arguments correctly.`, `The component expects a single value to match a given option but found ${matches.length} matches.`].join('\\n'));\n }\n }\n const itemIndex = findIndex(newValue, valueItem => isOptionEqualToValue(option, valueItem));\n if (itemIndex === -1) {\n newValue.push(option);\n } else if (origin !== 'freeSolo') {\n newValue.splice(itemIndex, 1);\n reason = 'removeOption';\n }\n }\n resetInputValue(event, newValue);\n handleValue(event, newValue, reason, {\n option\n });\n if (!disableCloseOnSelect && (!event || !event.ctrlKey && !event.metaKey)) {\n handleClose(event, reason);\n }\n if (blurOnSelect === true || blurOnSelect === 'touch' && isTouch.current || blurOnSelect === 'mouse' && !isTouch.current) {\n inputRef.current.blur();\n }\n };\n function validTagIndex(index, direction) {\n if (index === -1) {\n return -1;\n }\n let nextFocus = index;\n while (true) {\n // Out of range\n if (direction === 'next' && nextFocus === value.length || direction === 'previous' && nextFocus === -1) {\n return -1;\n }\n const option = anchorEl.querySelector(`[data-tag-index=\"${nextFocus}\"]`);\n\n // Same logic as MenuList.js\n if (!option || !option.hasAttribute('tabindex') || option.disabled || option.getAttribute('aria-disabled') === 'true') {\n nextFocus += direction === 'next' ? 1 : -1;\n } else {\n return nextFocus;\n }\n }\n }\n const handleFocusTag = (event, direction) => {\n if (!multiple) {\n return;\n }\n if (inputValue === '') {\n handleClose(event, 'toggleInput');\n }\n let nextTag = focusedTag;\n if (focusedTag === -1) {\n if (inputValue === '' && direction === 'previous') {\n nextTag = value.length - 1;\n }\n } else {\n nextTag += direction === 'next' ? 1 : -1;\n if (nextTag < 0) {\n nextTag = 0;\n }\n if (nextTag === value.length) {\n nextTag = -1;\n }\n }\n nextTag = validTagIndex(nextTag, direction);\n setFocusedTag(nextTag);\n focusTag(nextTag);\n };\n const handleClear = event => {\n ignoreFocus.current = true;\n setInputValueState('');\n if (onInputChange) {\n onInputChange(event, '', 'clear');\n }\n handleValue(event, multiple ? [] : null, 'clear');\n };\n const handleKeyDown = other => event => {\n if (other.onKeyDown) {\n other.onKeyDown(event);\n }\n if (event.defaultMuiPrevented) {\n return;\n }\n if (focusedTag !== -1 && ['ArrowLeft', 'ArrowRight'].indexOf(event.key) === -1) {\n setFocusedTag(-1);\n focusTag(-1);\n }\n\n // Wait until IME is settled.\n if (event.which !== 229) {\n switch (event.key) {\n case 'Home':\n if (popupOpen && handleHomeEndKeys) {\n // Prevent scroll of the page\n event.preventDefault();\n changeHighlightedIndex({\n diff: 'start',\n direction: 'next',\n reason: 'keyboard',\n event\n });\n }\n break;\n case 'End':\n if (popupOpen && handleHomeEndKeys) {\n // Prevent scroll of the page\n event.preventDefault();\n changeHighlightedIndex({\n diff: 'end',\n direction: 'previous',\n reason: 'keyboard',\n event\n });\n }\n break;\n case 'PageUp':\n // Prevent scroll of the page\n event.preventDefault();\n changeHighlightedIndex({\n diff: -pageSize,\n direction: 'previous',\n reason: 'keyboard',\n event\n });\n handleOpen(event);\n break;\n case 'PageDown':\n // Prevent scroll of the page\n event.preventDefault();\n changeHighlightedIndex({\n diff: pageSize,\n direction: 'next',\n reason: 'keyboard',\n event\n });\n handleOpen(event);\n break;\n case 'ArrowDown':\n // Prevent cursor move\n event.preventDefault();\n changeHighlightedIndex({\n diff: 1,\n direction: 'next',\n reason: 'keyboard',\n event\n });\n handleOpen(event);\n break;\n case 'ArrowUp':\n // Prevent cursor move\n event.preventDefault();\n changeHighlightedIndex({\n diff: -1,\n direction: 'previous',\n reason: 'keyboard',\n event\n });\n handleOpen(event);\n break;\n case 'ArrowLeft':\n handleFocusTag(event, 'previous');\n break;\n case 'ArrowRight':\n handleFocusTag(event, 'next');\n break;\n case 'Enter':\n if (highlightedIndexRef.current !== -1 && popupOpen) {\n const option = filteredOptions[highlightedIndexRef.current];\n const disabled = getOptionDisabled ? getOptionDisabled(option) : false;\n\n // Avoid early form validation, let the end-users continue filling the form.\n event.preventDefault();\n if (disabled) {\n return;\n }\n selectNewValue(event, option, 'selectOption');\n\n // Move the selection to the end.\n if (autoComplete) {\n inputRef.current.setSelectionRange(inputRef.current.value.length, inputRef.current.value.length);\n }\n } else if (freeSolo && inputValue !== '' && inputValueIsSelectedValue === false) {\n if (multiple) {\n // Allow people to add new values before they submit the form.\n event.preventDefault();\n }\n selectNewValue(event, inputValue, 'createOption', 'freeSolo');\n }\n break;\n case 'Escape':\n if (popupOpen) {\n // Avoid Opera to exit fullscreen mode.\n event.preventDefault();\n // Avoid the Modal to handle the event.\n event.stopPropagation();\n handleClose(event, 'escape');\n } else if (clearOnEscape && (inputValue !== '' || multiple && value.length > 0)) {\n // Avoid Opera to exit fullscreen mode.\n event.preventDefault();\n // Avoid the Modal to handle the event.\n event.stopPropagation();\n handleClear(event);\n }\n break;\n case 'Backspace':\n // Remove the value on the left of the \"cursor\"\n if (multiple && !readOnly && inputValue === '' && value.length > 0) {\n const index = focusedTag === -1 ? value.length - 1 : focusedTag;\n const newValue = value.slice();\n newValue.splice(index, 1);\n handleValue(event, newValue, 'removeOption', {\n option: value[index]\n });\n }\n break;\n case 'Delete':\n // Remove the value on the right of the \"cursor\"\n if (multiple && !readOnly && inputValue === '' && value.length > 0 && focusedTag !== -1) {\n const index = focusedTag;\n const newValue = value.slice();\n newValue.splice(index, 1);\n handleValue(event, newValue, 'removeOption', {\n option: value[index]\n });\n }\n break;\n default:\n }\n }\n };\n const handleFocus = event => {\n setFocused(true);\n if (openOnFocus && !ignoreFocus.current) {\n handleOpen(event);\n }\n };\n const handleBlur = event => {\n // Ignore the event when using the scrollbar with IE11\n if (unstable_isActiveElementInListbox(listboxRef)) {\n inputRef.current.focus();\n return;\n }\n setFocused(false);\n firstFocus.current = true;\n ignoreFocus.current = false;\n if (autoSelect && highlightedIndexRef.current !== -1 && popupOpen) {\n selectNewValue(event, filteredOptions[highlightedIndexRef.current], 'blur');\n } else if (autoSelect && freeSolo && inputValue !== '') {\n selectNewValue(event, inputValue, 'blur', 'freeSolo');\n } else if (clearOnBlur) {\n resetInputValue(event, value);\n }\n handleClose(event, 'blur');\n };\n const handleInputChange = event => {\n const newValue = event.target.value;\n if (inputValue !== newValue) {\n setInputValueState(newValue);\n setInputPristine(false);\n if (onInputChange) {\n onInputChange(event, newValue, 'input');\n }\n }\n if (newValue === '') {\n if (!disableClearable && !multiple) {\n handleValue(event, null, 'clear');\n }\n } else {\n handleOpen(event);\n }\n };\n const handleOptionMouseMove = event => {\n const index = Number(event.currentTarget.getAttribute('data-option-index'));\n if (highlightedIndexRef.current !== index) {\n setHighlightedIndex({\n event,\n index,\n reason: 'mouse'\n });\n }\n };\n const handleOptionTouchStart = event => {\n setHighlightedIndex({\n event,\n index: Number(event.currentTarget.getAttribute('data-option-index')),\n reason: 'touch'\n });\n isTouch.current = true;\n };\n const handleOptionClick = event => {\n const index = Number(event.currentTarget.getAttribute('data-option-index'));\n selectNewValue(event, filteredOptions[index], 'selectOption');\n isTouch.current = false;\n };\n const handleTagDelete = index => event => {\n const newValue = value.slice();\n newValue.splice(index, 1);\n handleValue(event, newValue, 'removeOption', {\n option: value[index]\n });\n };\n const handlePopupIndicator = event => {\n if (open) {\n handleClose(event, 'toggleInput');\n } else {\n handleOpen(event);\n }\n };\n\n // Prevent input blur when interacting with the combobox\n const handleMouseDown = event => {\n // Prevent focusing the input if click is anywhere outside the Autocomplete\n if (!event.currentTarget.contains(event.target)) {\n return;\n }\n if (event.target.getAttribute('id') !== id) {\n event.preventDefault();\n }\n };\n\n // Focus the input when interacting with the combobox\n const handleClick = event => {\n // Prevent focusing the input if click is anywhere outside the Autocomplete\n if (!event.currentTarget.contains(event.target)) {\n return;\n }\n inputRef.current.focus();\n if (selectOnFocus && firstFocus.current && inputRef.current.selectionEnd - inputRef.current.selectionStart === 0) {\n inputRef.current.select();\n }\n firstFocus.current = false;\n };\n const handleInputMouseDown = event => {\n if (!disabledProp && (inputValue === '' || !open)) {\n handlePopupIndicator(event);\n }\n };\n let dirty = freeSolo && inputValue.length > 0;\n dirty = dirty || (multiple ? value.length > 0 : value !== null);\n let groupedOptions = filteredOptions;\n if (groupBy) {\n // used to keep track of key and indexes in the result array\n const indexBy = new Map();\n let warn = false;\n groupedOptions = filteredOptions.reduce((acc, option, index) => {\n const group = groupBy(option);\n if (acc.length > 0 && acc[acc.length - 1].group === group) {\n acc[acc.length - 1].options.push(option);\n } else {\n if (process.env.NODE_ENV !== 'production') {\n if (indexBy.get(group) && !warn) {\n console.warn(`MUI: The options provided combined with the \\`groupBy\\` method of ${componentName} returns duplicated headers.`, 'You can solve the issue by sorting the options with the output of `groupBy`.');\n warn = true;\n }\n indexBy.set(group, true);\n }\n acc.push({\n key: index,\n index,\n group,\n options: [option]\n });\n }\n return acc;\n }, []);\n }\n if (disabledProp && focused) {\n handleBlur();\n }\n return {\n getRootProps: (other = {}) => _extends({\n 'aria-owns': listboxAvailable ? `${id}-listbox` : null\n }, other, {\n onKeyDown: handleKeyDown(other),\n onMouseDown: handleMouseDown,\n onClick: handleClick\n }),\n getInputLabelProps: () => ({\n id: `${id}-label`,\n htmlFor: id\n }),\n getInputProps: () => ({\n id,\n value: inputValue,\n onBlur: handleBlur,\n onFocus: handleFocus,\n onChange: handleInputChange,\n onMouseDown: handleInputMouseDown,\n // if open then this is handled imperatively so don't let react override\n // only have an opinion about this when closed\n 'aria-activedescendant': popupOpen ? '' : null,\n 'aria-autocomplete': autoComplete ? 'both' : 'list',\n 'aria-controls': listboxAvailable ? `${id}-listbox` : undefined,\n 'aria-expanded': listboxAvailable,\n // Disable browser's suggestion that might overlap with the popup.\n // Handle autocomplete but not autofill.\n autoComplete: 'off',\n ref: inputRef,\n autoCapitalize: 'none',\n spellCheck: 'false',\n role: 'combobox',\n disabled: disabledProp\n }),\n getClearProps: () => ({\n tabIndex: -1,\n type: 'button',\n onClick: handleClear\n }),\n getPopupIndicatorProps: () => ({\n tabIndex: -1,\n type: 'button',\n onClick: handlePopupIndicator\n }),\n getTagProps: ({\n index\n }) => _extends({\n key: index,\n 'data-tag-index': index,\n tabIndex: -1\n }, !readOnly && {\n onDelete: handleTagDelete(index)\n }),\n getListboxProps: () => ({\n role: 'listbox',\n id: `${id}-listbox`,\n 'aria-labelledby': `${id}-label`,\n ref: handleListboxRef,\n onMouseDown: event => {\n // Prevent blur\n event.preventDefault();\n }\n }),\n getOptionProps: ({\n index,\n option\n }) => {\n var _getOptionKey;\n const selected = (multiple ? value : [value]).some(value2 => value2 != null && isOptionEqualToValue(option, value2));\n const disabled = getOptionDisabled ? getOptionDisabled(option) : false;\n return {\n key: (_getOptionKey = getOptionKey == null ? void 0 : getOptionKey(option)) != null ? _getOptionKey : getOptionLabel(option),\n tabIndex: -1,\n role: 'option',\n id: `${id}-option-${index}`,\n onMouseMove: handleOptionMouseMove,\n onClick: handleOptionClick,\n onTouchStart: handleOptionTouchStart,\n 'data-option-index': index,\n 'aria-disabled': disabled,\n 'aria-selected': selected\n };\n },\n id,\n inputValue,\n value,\n dirty,\n expanded: popupOpen && anchorEl,\n popupOpen,\n focused: focused || focusedTag !== -1,\n anchorEl,\n setAnchorEl,\n focusedTag,\n groupedOptions\n };\n}","\"use strict\";\n'use client';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _styledEngine = require(\"@mui/styled-engine\");\nfunction _getRequireWildcardCache(e) { if (\"function\" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }\nfunction _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || \"object\" != typeof e && \"function\" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if (\"default\" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }\nfunction isObjectEmpty(obj) {\n return Object.keys(obj).length === 0;\n}\nfunction useTheme(defaultTheme = null) {\n const contextTheme = React.useContext(_styledEngine.ThemeContext);\n return !contextTheme || isObjectEmpty(contextTheme) ? defaultTheme : contextTheme;\n}\nvar _default = exports.default = useTheme;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"anchorEl\", \"component\", \"components\", \"componentsProps\", \"container\", \"disablePortal\", \"keepMounted\", \"modifiers\", \"open\", \"placement\", \"popperOptions\", \"popperRef\", \"transition\", \"slots\", \"slotProps\"];\nimport { Popper as BasePopper } from '@mui/base/Popper';\nimport useTheme from '@mui/system/useThemeWithoutDefault';\nimport refType from '@mui/utils/refType';\nimport HTMLElementType from '@mui/utils/HTMLElementType';\nimport PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { styled, useThemeProps } from '../styles';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst PopperRoot = styled(BasePopper, {\n name: 'MuiPopper',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({});\n\n/**\n *\n * Demos:\n *\n * - [Autocomplete](https://mui.com/material-ui/react-autocomplete/)\n * - [Menu](https://mui.com/material-ui/react-menu/)\n * - [Popper](https://mui.com/material-ui/react-popper/)\n *\n * API:\n *\n * - [Popper API](https://mui.com/material-ui/api/popper/)\n */\nconst Popper = /*#__PURE__*/React.forwardRef(function Popper(inProps, ref) {\n var _slots$root;\n const theme = useTheme();\n const props = useThemeProps({\n props: inProps,\n name: 'MuiPopper'\n });\n const {\n anchorEl,\n component,\n components,\n componentsProps,\n container,\n disablePortal,\n keepMounted,\n modifiers,\n open,\n placement,\n popperOptions,\n popperRef,\n transition,\n slots,\n slotProps\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const RootComponent = (_slots$root = slots == null ? void 0 : slots.root) != null ? _slots$root : components == null ? void 0 : components.Root;\n const otherProps = _extends({\n anchorEl,\n container,\n disablePortal,\n keepMounted,\n modifiers,\n open,\n placement,\n popperOptions,\n popperRef,\n transition\n }, other);\n return /*#__PURE__*/_jsx(PopperRoot, _extends({\n as: component,\n direction: theme == null ? void 0 : theme.direction,\n slots: {\n root: RootComponent\n },\n slotProps: slotProps != null ? slotProps : componentsProps\n }, otherProps, {\n ref: ref\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Popper.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * An HTML element, [virtualElement](https://popper.js.org/docs/v2/virtual-elements/),\n * or a function that returns either.\n * It's used to set the position of the popper.\n * The return value will passed as the reference object of the Popper instance.\n */\n anchorEl: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([HTMLElementType, PropTypes.object, PropTypes.func]),\n /**\n * Popper render function or node.\n */\n children: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.node, PropTypes.func]),\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * The components used for each slot inside the Popper.\n * Either a string to use a HTML element or a component.\n * @default {}\n */\n components: PropTypes.shape({\n Root: PropTypes.elementType\n }),\n /**\n * The props used for each slot inside the Popper.\n * @default {}\n */\n componentsProps: PropTypes.shape({\n root: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * An HTML element or function that returns one.\n * The `container` will have the portal children appended to it.\n *\n * You can also provide a callback, which is called in a React layout effect.\n * This lets you set the container from a ref, and also makes server-side rendering possible.\n *\n * By default, it uses the body of the top-level document object,\n * so it's simply `document.body` most of the time.\n */\n container: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([HTMLElementType, PropTypes.func]),\n /**\n * The `children` will be under the DOM hierarchy of the parent component.\n * @default false\n */\n disablePortal: PropTypes.bool,\n /**\n * Always keep the children in the DOM.\n * This prop can be useful in SEO situation or\n * when you want to maximize the responsiveness of the Popper.\n * @default false\n */\n keepMounted: PropTypes.bool,\n /**\n * Popper.js is based on a \"plugin-like\" architecture,\n * most of its features are fully encapsulated \"modifiers\".\n *\n * A modifier is a function that is called each time Popper.js needs to\n * compute the position of the popper.\n * For this reason, modifiers should be very performant to avoid bottlenecks.\n * To learn how to create a modifier, [read the modifiers documentation](https://popper.js.org/docs/v2/modifiers/).\n */\n modifiers: PropTypes.arrayOf(PropTypes.shape({\n data: PropTypes.object,\n effect: PropTypes.func,\n enabled: PropTypes.bool,\n fn: PropTypes.func,\n name: PropTypes.any,\n options: PropTypes.object,\n phase: PropTypes.oneOf(['afterMain', 'afterRead', 'afterWrite', 'beforeMain', 'beforeRead', 'beforeWrite', 'main', 'read', 'write']),\n requires: PropTypes.arrayOf(PropTypes.string),\n requiresIfExists: PropTypes.arrayOf(PropTypes.string)\n })),\n /**\n * If `true`, the component is shown.\n */\n open: PropTypes.bool.isRequired,\n /**\n * Popper placement.\n * @default 'bottom'\n */\n placement: PropTypes.oneOf(['auto-end', 'auto-start', 'auto', 'bottom-end', 'bottom-start', 'bottom', 'left-end', 'left-start', 'left', 'right-end', 'right-start', 'right', 'top-end', 'top-start', 'top']),\n /**\n * Options provided to the [`Popper.js`](https://popper.js.org/docs/v2/constructors/#options) instance.\n * @default {}\n */\n popperOptions: PropTypes.shape({\n modifiers: PropTypes.array,\n onFirstUpdate: PropTypes.func,\n placement: PropTypes.oneOf(['auto-end', 'auto-start', 'auto', 'bottom-end', 'bottom-start', 'bottom', 'left-end', 'left-start', 'left', 'right-end', 'right-start', 'right', 'top-end', 'top-start', 'top']),\n strategy: PropTypes.oneOf(['absolute', 'fixed'])\n }),\n /**\n * A ref that points to the used popper instance.\n */\n popperRef: refType,\n /**\n * The props used for each slot inside the Popper.\n * @default {}\n */\n slotProps: PropTypes.shape({\n root: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside the Popper.\n * Either a string to use a HTML element or a component.\n * @default {}\n */\n slots: PropTypes.shape({\n root: PropTypes.elementType\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * Help supporting a react-transition-group/Transition component.\n * @default false\n */\n transition: PropTypes.bool\n} : void 0;\nexport default Popper;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getListSubheaderUtilityClass(slot) {\n return generateUtilityClass('MuiListSubheader', slot);\n}\nconst listSubheaderClasses = generateUtilityClasses('MuiListSubheader', ['root', 'colorPrimary', 'colorInherit', 'gutters', 'inset', 'sticky']);\nexport default listSubheaderClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"color\", \"component\", \"disableGutters\", \"disableSticky\", \"inset\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport capitalize from '../utils/capitalize';\nimport { getListSubheaderUtilityClass } from './listSubheaderClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n color,\n disableGutters,\n inset,\n disableSticky\n } = ownerState;\n const slots = {\n root: ['root', color !== 'default' && `color${capitalize(color)}`, !disableGutters && 'gutters', inset && 'inset', !disableSticky && 'sticky']\n };\n return composeClasses(slots, getListSubheaderUtilityClass, classes);\n};\nconst ListSubheaderRoot = styled('li', {\n name: 'MuiListSubheader',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.color !== 'default' && styles[`color${capitalize(ownerState.color)}`], !ownerState.disableGutters && styles.gutters, ownerState.inset && styles.inset, !ownerState.disableSticky && styles.sticky];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n boxSizing: 'border-box',\n lineHeight: '48px',\n listStyle: 'none',\n color: (theme.vars || theme).palette.text.secondary,\n fontFamily: theme.typography.fontFamily,\n fontWeight: theme.typography.fontWeightMedium,\n fontSize: theme.typography.pxToRem(14)\n}, ownerState.color === 'primary' && {\n color: (theme.vars || theme).palette.primary.main\n}, ownerState.color === 'inherit' && {\n color: 'inherit'\n}, !ownerState.disableGutters && {\n paddingLeft: 16,\n paddingRight: 16\n}, ownerState.inset && {\n paddingLeft: 72\n}, !ownerState.disableSticky && {\n position: 'sticky',\n top: 0,\n zIndex: 1,\n backgroundColor: (theme.vars || theme).palette.background.paper\n}));\nconst ListSubheader = /*#__PURE__*/React.forwardRef(function ListSubheader(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiListSubheader'\n });\n const {\n className,\n color = 'default',\n component = 'li',\n disableGutters = false,\n disableSticky = false,\n inset = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n color,\n component,\n disableGutters,\n disableSticky,\n inset\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(ListSubheaderRoot, _extends({\n as: component,\n className: clsx(classes.root, className),\n ref: ref,\n ownerState: ownerState\n }, other));\n});\nListSubheader.muiSkipListHighlight = true;\nprocess.env.NODE_ENV !== \"production\" ? ListSubheader.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n * @default 'default'\n */\n color: PropTypes.oneOf(['default', 'inherit', 'primary']),\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * If `true`, the List Subheader will not have gutters.\n * @default false\n */\n disableGutters: PropTypes.bool,\n /**\n * If `true`, the List Subheader will not stick to the top during scroll.\n * @default false\n */\n disableSticky: PropTypes.bool,\n /**\n * If `true`, the List Subheader is indented.\n * @default false\n */\n inset: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default ListSubheader;","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z\"\n}), 'Cancel');","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getChipUtilityClass(slot) {\n return generateUtilityClass('MuiChip', slot);\n}\nconst chipClasses = generateUtilityClasses('MuiChip', ['root', 'sizeSmall', 'sizeMedium', 'colorError', 'colorInfo', 'colorPrimary', 'colorSecondary', 'colorSuccess', 'colorWarning', 'disabled', 'clickable', 'clickableColorPrimary', 'clickableColorSecondary', 'deletable', 'deletableColorPrimary', 'deletableColorSecondary', 'outlined', 'filled', 'outlinedPrimary', 'outlinedSecondary', 'filledPrimary', 'filledSecondary', 'avatar', 'avatarSmall', 'avatarMedium', 'avatarColorPrimary', 'avatarColorSecondary', 'icon', 'iconSmall', 'iconMedium', 'iconColorPrimary', 'iconColorSecondary', 'label', 'labelSmall', 'labelMedium', 'deleteIcon', 'deleteIconSmall', 'deleteIconMedium', 'deleteIconColorPrimary', 'deleteIconColorSecondary', 'deleteIconOutlinedColorPrimary', 'deleteIconOutlinedColorSecondary', 'deleteIconFilledColorPrimary', 'deleteIconFilledColorSecondary', 'focusVisible']);\nexport default chipClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"avatar\", \"className\", \"clickable\", \"color\", \"component\", \"deleteIcon\", \"disabled\", \"icon\", \"label\", \"onClick\", \"onDelete\", \"onKeyDown\", \"onKeyUp\", \"size\", \"variant\", \"tabIndex\", \"skipFocusWhenDisabled\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { alpha } from '@mui/system/colorManipulator';\nimport CancelIcon from '../internal/svg-icons/Cancel';\nimport useForkRef from '../utils/useForkRef';\nimport unsupportedProp from '../utils/unsupportedProp';\nimport capitalize from '../utils/capitalize';\nimport ButtonBase from '../ButtonBase';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport chipClasses, { getChipUtilityClass } from './chipClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disabled,\n size,\n color,\n iconColor,\n onDelete,\n clickable,\n variant\n } = ownerState;\n const slots = {\n root: ['root', variant, disabled && 'disabled', `size${capitalize(size)}`, `color${capitalize(color)}`, clickable && 'clickable', clickable && `clickableColor${capitalize(color)}`, onDelete && 'deletable', onDelete && `deletableColor${capitalize(color)}`, `${variant}${capitalize(color)}`],\n label: ['label', `label${capitalize(size)}`],\n avatar: ['avatar', `avatar${capitalize(size)}`, `avatarColor${capitalize(color)}`],\n icon: ['icon', `icon${capitalize(size)}`, `iconColor${capitalize(iconColor)}`],\n deleteIcon: ['deleteIcon', `deleteIcon${capitalize(size)}`, `deleteIconColor${capitalize(color)}`, `deleteIcon${capitalize(variant)}Color${capitalize(color)}`]\n };\n return composeClasses(slots, getChipUtilityClass, classes);\n};\nconst ChipRoot = styled('div', {\n name: 'MuiChip',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n const {\n color,\n iconColor,\n clickable,\n onDelete,\n size,\n variant\n } = ownerState;\n return [{\n [`& .${chipClasses.avatar}`]: styles.avatar\n }, {\n [`& .${chipClasses.avatar}`]: styles[`avatar${capitalize(size)}`]\n }, {\n [`& .${chipClasses.avatar}`]: styles[`avatarColor${capitalize(color)}`]\n }, {\n [`& .${chipClasses.icon}`]: styles.icon\n }, {\n [`& .${chipClasses.icon}`]: styles[`icon${capitalize(size)}`]\n }, {\n [`& .${chipClasses.icon}`]: styles[`iconColor${capitalize(iconColor)}`]\n }, {\n [`& .${chipClasses.deleteIcon}`]: styles.deleteIcon\n }, {\n [`& .${chipClasses.deleteIcon}`]: styles[`deleteIcon${capitalize(size)}`]\n }, {\n [`& .${chipClasses.deleteIcon}`]: styles[`deleteIconColor${capitalize(color)}`]\n }, {\n [`& .${chipClasses.deleteIcon}`]: styles[`deleteIcon${capitalize(variant)}Color${capitalize(color)}`]\n }, styles.root, styles[`size${capitalize(size)}`], styles[`color${capitalize(color)}`], clickable && styles.clickable, clickable && color !== 'default' && styles[`clickableColor${capitalize(color)})`], onDelete && styles.deletable, onDelete && color !== 'default' && styles[`deletableColor${capitalize(color)}`], styles[variant], styles[`${variant}${capitalize(color)}`]];\n }\n})(({\n theme,\n ownerState\n}) => {\n const textColor = theme.palette.mode === 'light' ? theme.palette.grey[700] : theme.palette.grey[300];\n return _extends({\n maxWidth: '100%',\n fontFamily: theme.typography.fontFamily,\n fontSize: theme.typography.pxToRem(13),\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n height: 32,\n color: (theme.vars || theme).palette.text.primary,\n backgroundColor: (theme.vars || theme).palette.action.selected,\n borderRadius: 32 / 2,\n whiteSpace: 'nowrap',\n transition: theme.transitions.create(['background-color', 'box-shadow']),\n // reset cursor explicitly in case ButtonBase is used\n cursor: 'unset',\n // We disable the focus ring for mouse, touch and keyboard users.\n outline: 0,\n textDecoration: 'none',\n border: 0,\n // Remove `button` border\n padding: 0,\n // Remove `button` padding\n verticalAlign: 'middle',\n boxSizing: 'border-box',\n [`&.${chipClasses.disabled}`]: {\n opacity: (theme.vars || theme).palette.action.disabledOpacity,\n pointerEvents: 'none'\n },\n [`& .${chipClasses.avatar}`]: {\n marginLeft: 5,\n marginRight: -6,\n width: 24,\n height: 24,\n color: theme.vars ? theme.vars.palette.Chip.defaultAvatarColor : textColor,\n fontSize: theme.typography.pxToRem(12)\n },\n [`& .${chipClasses.avatarColorPrimary}`]: {\n color: (theme.vars || theme).palette.primary.contrastText,\n backgroundColor: (theme.vars || theme).palette.primary.dark\n },\n [`& .${chipClasses.avatarColorSecondary}`]: {\n color: (theme.vars || theme).palette.secondary.contrastText,\n backgroundColor: (theme.vars || theme).palette.secondary.dark\n },\n [`& .${chipClasses.avatarSmall}`]: {\n marginLeft: 4,\n marginRight: -4,\n width: 18,\n height: 18,\n fontSize: theme.typography.pxToRem(10)\n },\n [`& .${chipClasses.icon}`]: _extends({\n marginLeft: 5,\n marginRight: -6\n }, ownerState.size === 'small' && {\n fontSize: 18,\n marginLeft: 4,\n marginRight: -4\n }, ownerState.iconColor === ownerState.color && _extends({\n color: theme.vars ? theme.vars.palette.Chip.defaultIconColor : textColor\n }, ownerState.color !== 'default' && {\n color: 'inherit'\n })),\n [`& .${chipClasses.deleteIcon}`]: _extends({\n WebkitTapHighlightColor: 'transparent',\n color: theme.vars ? `rgba(${theme.vars.palette.text.primaryChannel} / 0.26)` : alpha(theme.palette.text.primary, 0.26),\n fontSize: 22,\n cursor: 'pointer',\n margin: '0 5px 0 -6px',\n '&:hover': {\n color: theme.vars ? `rgba(${theme.vars.palette.text.primaryChannel} / 0.4)` : alpha(theme.palette.text.primary, 0.4)\n }\n }, ownerState.size === 'small' && {\n fontSize: 16,\n marginRight: 4,\n marginLeft: -4\n }, ownerState.color !== 'default' && {\n color: theme.vars ? `rgba(${theme.vars.palette[ownerState.color].contrastTextChannel} / 0.7)` : alpha(theme.palette[ownerState.color].contrastText, 0.7),\n '&:hover, &:active': {\n color: (theme.vars || theme).palette[ownerState.color].contrastText\n }\n })\n }, ownerState.size === 'small' && {\n height: 24\n }, ownerState.color !== 'default' && {\n backgroundColor: (theme.vars || theme).palette[ownerState.color].main,\n color: (theme.vars || theme).palette[ownerState.color].contrastText\n }, ownerState.onDelete && {\n [`&.${chipClasses.focusVisible}`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.action.selectedChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.focusOpacity}))` : alpha(theme.palette.action.selected, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)\n }\n }, ownerState.onDelete && ownerState.color !== 'default' && {\n [`&.${chipClasses.focusVisible}`]: {\n backgroundColor: (theme.vars || theme).palette[ownerState.color].dark\n }\n });\n}, ({\n theme,\n ownerState\n}) => _extends({}, ownerState.clickable && {\n userSelect: 'none',\n WebkitTapHighlightColor: 'transparent',\n cursor: 'pointer',\n '&:hover': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.action.selectedChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.hoverOpacity}))` : alpha(theme.palette.action.selected, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity)\n },\n [`&.${chipClasses.focusVisible}`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.action.selectedChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.focusOpacity}))` : alpha(theme.palette.action.selected, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)\n },\n '&:active': {\n boxShadow: (theme.vars || theme).shadows[1]\n }\n}, ownerState.clickable && ownerState.color !== 'default' && {\n [`&:hover, &.${chipClasses.focusVisible}`]: {\n backgroundColor: (theme.vars || theme).palette[ownerState.color].dark\n }\n}), ({\n theme,\n ownerState\n}) => _extends({}, ownerState.variant === 'outlined' && {\n backgroundColor: 'transparent',\n border: theme.vars ? `1px solid ${theme.vars.palette.Chip.defaultBorder}` : `1px solid ${theme.palette.mode === 'light' ? theme.palette.grey[400] : theme.palette.grey[700]}`,\n [`&.${chipClasses.clickable}:hover`]: {\n backgroundColor: (theme.vars || theme).palette.action.hover\n },\n [`&.${chipClasses.focusVisible}`]: {\n backgroundColor: (theme.vars || theme).palette.action.focus\n },\n [`& .${chipClasses.avatar}`]: {\n marginLeft: 4\n },\n [`& .${chipClasses.avatarSmall}`]: {\n marginLeft: 2\n },\n [`& .${chipClasses.icon}`]: {\n marginLeft: 4\n },\n [`& .${chipClasses.iconSmall}`]: {\n marginLeft: 2\n },\n [`& .${chipClasses.deleteIcon}`]: {\n marginRight: 5\n },\n [`& .${chipClasses.deleteIconSmall}`]: {\n marginRight: 3\n }\n}, ownerState.variant === 'outlined' && ownerState.color !== 'default' && {\n color: (theme.vars || theme).palette[ownerState.color].main,\n border: `1px solid ${theme.vars ? `rgba(${theme.vars.palette[ownerState.color].mainChannel} / 0.7)` : alpha(theme.palette[ownerState.color].main, 0.7)}`,\n [`&.${chipClasses.clickable}:hover`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette[ownerState.color].mainChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(theme.palette[ownerState.color].main, theme.palette.action.hoverOpacity)\n },\n [`&.${chipClasses.focusVisible}`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette[ownerState.color].mainChannel} / ${theme.vars.palette.action.focusOpacity})` : alpha(theme.palette[ownerState.color].main, theme.palette.action.focusOpacity)\n },\n [`& .${chipClasses.deleteIcon}`]: {\n color: theme.vars ? `rgba(${theme.vars.palette[ownerState.color].mainChannel} / 0.7)` : alpha(theme.palette[ownerState.color].main, 0.7),\n '&:hover, &:active': {\n color: (theme.vars || theme).palette[ownerState.color].main\n }\n }\n}));\nconst ChipLabel = styled('span', {\n name: 'MuiChip',\n slot: 'Label',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n const {\n size\n } = ownerState;\n return [styles.label, styles[`label${capitalize(size)}`]];\n }\n})(({\n ownerState\n}) => _extends({\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n paddingLeft: 12,\n paddingRight: 12,\n whiteSpace: 'nowrap'\n}, ownerState.variant === 'outlined' && {\n paddingLeft: 11,\n paddingRight: 11\n}, ownerState.size === 'small' && {\n paddingLeft: 8,\n paddingRight: 8\n}, ownerState.size === 'small' && ownerState.variant === 'outlined' && {\n paddingLeft: 7,\n paddingRight: 7\n}));\nfunction isDeleteKeyboardEvent(keyboardEvent) {\n return keyboardEvent.key === 'Backspace' || keyboardEvent.key === 'Delete';\n}\n\n/**\n * Chips represent complex entities in small blocks, such as a contact.\n */\nconst Chip = /*#__PURE__*/React.forwardRef(function Chip(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiChip'\n });\n const {\n avatar: avatarProp,\n className,\n clickable: clickableProp,\n color = 'default',\n component: ComponentProp,\n deleteIcon: deleteIconProp,\n disabled = false,\n icon: iconProp,\n label,\n onClick,\n onDelete,\n onKeyDown,\n onKeyUp,\n size = 'medium',\n variant = 'filled',\n tabIndex,\n skipFocusWhenDisabled = false // TODO v6: Rename to `focusableWhenDisabled`.\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const chipRef = React.useRef(null);\n const handleRef = useForkRef(chipRef, ref);\n const handleDeleteIconClick = event => {\n // Stop the event from bubbling up to the `Chip`\n event.stopPropagation();\n if (onDelete) {\n onDelete(event);\n }\n };\n const handleKeyDown = event => {\n // Ignore events from children of `Chip`.\n if (event.currentTarget === event.target && isDeleteKeyboardEvent(event)) {\n // Will be handled in keyUp, otherwise some browsers\n // might init navigation\n event.preventDefault();\n }\n if (onKeyDown) {\n onKeyDown(event);\n }\n };\n const handleKeyUp = event => {\n // Ignore events from children of `Chip`.\n if (event.currentTarget === event.target) {\n if (onDelete && isDeleteKeyboardEvent(event)) {\n onDelete(event);\n } else if (event.key === 'Escape' && chipRef.current) {\n chipRef.current.blur();\n }\n }\n if (onKeyUp) {\n onKeyUp(event);\n }\n };\n const clickable = clickableProp !== false && onClick ? true : clickableProp;\n const component = clickable || onDelete ? ButtonBase : ComponentProp || 'div';\n const ownerState = _extends({}, props, {\n component,\n disabled,\n size,\n color,\n iconColor: /*#__PURE__*/React.isValidElement(iconProp) ? iconProp.props.color || color : color,\n onDelete: !!onDelete,\n clickable,\n variant\n });\n const classes = useUtilityClasses(ownerState);\n const moreProps = component === ButtonBase ? _extends({\n component: ComponentProp || 'div',\n focusVisibleClassName: classes.focusVisible\n }, onDelete && {\n disableRipple: true\n }) : {};\n let deleteIcon = null;\n if (onDelete) {\n deleteIcon = deleteIconProp && /*#__PURE__*/React.isValidElement(deleteIconProp) ? ( /*#__PURE__*/React.cloneElement(deleteIconProp, {\n className: clsx(deleteIconProp.props.className, classes.deleteIcon),\n onClick: handleDeleteIconClick\n })) : /*#__PURE__*/_jsx(CancelIcon, {\n className: clsx(classes.deleteIcon),\n onClick: handleDeleteIconClick\n });\n }\n let avatar = null;\n if (avatarProp && /*#__PURE__*/React.isValidElement(avatarProp)) {\n avatar = /*#__PURE__*/React.cloneElement(avatarProp, {\n className: clsx(classes.avatar, avatarProp.props.className)\n });\n }\n let icon = null;\n if (iconProp && /*#__PURE__*/React.isValidElement(iconProp)) {\n icon = /*#__PURE__*/React.cloneElement(iconProp, {\n className: clsx(classes.icon, iconProp.props.className)\n });\n }\n if (process.env.NODE_ENV !== 'production') {\n if (avatar && icon) {\n console.error('MUI: The Chip component can not handle the avatar ' + 'and the icon prop at the same time. Pick one.');\n }\n }\n return /*#__PURE__*/_jsxs(ChipRoot, _extends({\n as: component,\n className: clsx(classes.root, className),\n disabled: clickable && disabled ? true : undefined,\n onClick: onClick,\n onKeyDown: handleKeyDown,\n onKeyUp: handleKeyUp,\n ref: handleRef,\n tabIndex: skipFocusWhenDisabled && disabled ? -1 : tabIndex,\n ownerState: ownerState\n }, moreProps, other, {\n children: [avatar || icon, /*#__PURE__*/_jsx(ChipLabel, {\n className: clsx(classes.label),\n ownerState: ownerState,\n children: label\n }), deleteIcon]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Chip.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The Avatar element to display.\n */\n avatar: PropTypes.element,\n /**\n * This prop isn't supported.\n * Use the `component` prop if you need to change the children structure.\n */\n children: unsupportedProp,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * If `true`, the chip will appear clickable, and will raise when pressed,\n * even if the onClick prop is not defined.\n * If `false`, the chip will not appear clickable, even if onClick prop is defined.\n * This can be used, for example,\n * along with the component prop to indicate an anchor Chip is clickable.\n * Note: this controls the UI and does not affect the onClick event.\n */\n clickable: PropTypes.bool,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * @default 'default'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['default', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * Override the default delete icon element. Shown only if `onDelete` is set.\n */\n deleteIcon: PropTypes.element,\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * Icon element.\n */\n icon: PropTypes.element,\n /**\n * The content of the component.\n */\n label: PropTypes.node,\n /**\n * @ignore\n */\n onClick: PropTypes.func,\n /**\n * Callback fired when the delete icon is clicked.\n * If set, the delete icon will be shown.\n */\n onDelete: PropTypes.func,\n /**\n * @ignore\n */\n onKeyDown: PropTypes.func,\n /**\n * @ignore\n */\n onKeyUp: PropTypes.func,\n /**\n * The size of the component.\n * @default 'medium'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\n /**\n * If `true`, allows the disabled chip to escape focus.\n * If `false`, allows the disabled chip to receive focus.\n * @default false\n */\n skipFocusWhenDisabled: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * @ignore\n */\n tabIndex: PropTypes.number,\n /**\n * The variant to use.\n * @default 'filled'\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['filled', 'outlined']), PropTypes.string])\n} : void 0;\nexport default Chip;","export default function formControlState({\n props,\n states,\n muiFormControl\n}) {\n return states.reduce((acc, state) => {\n acc[state] = props[state];\n if (muiFormControl) {\n if (typeof props[state] === 'undefined') {\n acc[state] = muiFormControl[state];\n }\n }\n return acc;\n }, {});\n}","import * as React from 'react';\n/**\n * @ignore - internal component.\n */\nconst FormControlContext = /*#__PURE__*/React.createContext(undefined);\nif (process.env.NODE_ENV !== 'production') {\n FormControlContext.displayName = 'FormControlContext';\n}\nexport default FormControlContext;","'use client';\n\nimport * as React from 'react';\nimport FormControlContext from './FormControlContext';\nexport default function useFormControl() {\n return React.useContext(FormControlContext);\n}","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { GlobalStyles as SystemGlobalStyles } from '@mui/system';\nimport defaultTheme from '../styles/defaultTheme';\nimport THEME_ID from '../styles/identifier';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction GlobalStyles(props) {\n return /*#__PURE__*/_jsx(SystemGlobalStyles, _extends({}, props, {\n defaultTheme: defaultTheme,\n themeId: THEME_ID\n }));\n}\nprocess.env.NODE_ENV !== \"production\" ? GlobalStyles.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The styles you want to apply globally.\n */\n styles: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.array, PropTypes.func, PropTypes.number, PropTypes.object, PropTypes.string, PropTypes.bool])\n} : void 0;\nexport default GlobalStyles;","// Supports determination of isControlled().\n// Controlled input accepts its current value as a prop.\n//\n// @see https://facebook.github.io/react/docs/forms.html#controlled-components\n// @param value\n// @returns {boolean} true if string (including '') or number (including zero)\nexport function hasValue(value) {\n return value != null && !(Array.isArray(value) && value.length === 0);\n}\n\n// Determine if field is empty or filled.\n// Response determines if label is presented above field or as placeholder.\n//\n// @param obj\n// @param SSR\n// @returns {boolean} False when not present or empty string.\n// True when any number or string with length.\nexport function isFilled(obj, SSR = false) {\n return obj && (hasValue(obj.value) && obj.value !== '' || SSR && hasValue(obj.defaultValue) && obj.defaultValue !== '');\n}\n\n// Determine if an Input is adorned on start.\n// It's corresponding to the left with LTR.\n//\n// @param obj\n// @returns {boolean} False when no adornments.\n// True when adorned at the start.\nexport function isAdornedStart(obj) {\n return obj.startAdornment;\n}","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getInputBaseUtilityClass(slot) {\n return generateUtilityClass('MuiInputBase', slot);\n}\nconst inputBaseClasses = generateUtilityClasses('MuiInputBase', ['root', 'formControl', 'focused', 'disabled', 'adornedStart', 'adornedEnd', 'error', 'sizeSmall', 'multiline', 'colorSecondary', 'fullWidth', 'hiddenLabel', 'readOnly', 'input', 'inputSizeSmall', 'inputMultiline', 'inputTypeSearch', 'inputAdornedStart', 'inputAdornedEnd', 'inputHiddenLabel']);\nexport default inputBaseClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _formatMuiErrorMessage from \"@mui/utils/formatMuiErrorMessage\";\nconst _excluded = [\"aria-describedby\", \"autoComplete\", \"autoFocus\", \"className\", \"color\", \"components\", \"componentsProps\", \"defaultValue\", \"disabled\", \"disableInjectingGlobalStyles\", \"endAdornment\", \"error\", \"fullWidth\", \"id\", \"inputComponent\", \"inputProps\", \"inputRef\", \"margin\", \"maxRows\", \"minRows\", \"multiline\", \"name\", \"onBlur\", \"onChange\", \"onClick\", \"onFocus\", \"onKeyDown\", \"onKeyUp\", \"placeholder\", \"readOnly\", \"renderSuffix\", \"rows\", \"size\", \"slotProps\", \"slots\", \"startAdornment\", \"type\", \"value\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport elementTypeAcceptingRef from '@mui/utils/elementTypeAcceptingRef';\nimport refType from '@mui/utils/refType';\nimport { TextareaAutosize } from '@mui/base';\nimport { isHostComponent } from '@mui/base/utils';\nimport composeClasses from '@mui/utils/composeClasses';\nimport formControlState from '../FormControl/formControlState';\nimport FormControlContext from '../FormControl/FormControlContext';\nimport useFormControl from '../FormControl/useFormControl';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport capitalize from '../utils/capitalize';\nimport useForkRef from '../utils/useForkRef';\nimport useEnhancedEffect from '../utils/useEnhancedEffect';\nimport GlobalStyles from '../GlobalStyles';\nimport { isFilled } from './utils';\nimport inputBaseClasses, { getInputBaseUtilityClass } from './inputBaseClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport const rootOverridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.formControl && styles.formControl, ownerState.startAdornment && styles.adornedStart, ownerState.endAdornment && styles.adornedEnd, ownerState.error && styles.error, ownerState.size === 'small' && styles.sizeSmall, ownerState.multiline && styles.multiline, ownerState.color && styles[`color${capitalize(ownerState.color)}`], ownerState.fullWidth && styles.fullWidth, ownerState.hiddenLabel && styles.hiddenLabel];\n};\nexport const inputOverridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.input, ownerState.size === 'small' && styles.inputSizeSmall, ownerState.multiline && styles.inputMultiline, ownerState.type === 'search' && styles.inputTypeSearch, ownerState.startAdornment && styles.inputAdornedStart, ownerState.endAdornment && styles.inputAdornedEnd, ownerState.hiddenLabel && styles.inputHiddenLabel];\n};\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n color,\n disabled,\n error,\n endAdornment,\n focused,\n formControl,\n fullWidth,\n hiddenLabel,\n multiline,\n readOnly,\n size,\n startAdornment,\n type\n } = ownerState;\n const slots = {\n root: ['root', `color${capitalize(color)}`, disabled && 'disabled', error && 'error', fullWidth && 'fullWidth', focused && 'focused', formControl && 'formControl', size && size !== 'medium' && `size${capitalize(size)}`, multiline && 'multiline', startAdornment && 'adornedStart', endAdornment && 'adornedEnd', hiddenLabel && 'hiddenLabel', readOnly && 'readOnly'],\n input: ['input', disabled && 'disabled', type === 'search' && 'inputTypeSearch', multiline && 'inputMultiline', size === 'small' && 'inputSizeSmall', hiddenLabel && 'inputHiddenLabel', startAdornment && 'inputAdornedStart', endAdornment && 'inputAdornedEnd', readOnly && 'readOnly']\n };\n return composeClasses(slots, getInputBaseUtilityClass, classes);\n};\nexport const InputBaseRoot = styled('div', {\n name: 'MuiInputBase',\n slot: 'Root',\n overridesResolver: rootOverridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({}, theme.typography.body1, {\n color: (theme.vars || theme).palette.text.primary,\n lineHeight: '1.4375em',\n // 23px\n boxSizing: 'border-box',\n // Prevent padding issue with fullWidth.\n position: 'relative',\n cursor: 'text',\n display: 'inline-flex',\n alignItems: 'center',\n [`&.${inputBaseClasses.disabled}`]: {\n color: (theme.vars || theme).palette.text.disabled,\n cursor: 'default'\n }\n}, ownerState.multiline && _extends({\n padding: '4px 0 5px'\n}, ownerState.size === 'small' && {\n paddingTop: 1\n}), ownerState.fullWidth && {\n width: '100%'\n}));\nexport const InputBaseComponent = styled('input', {\n name: 'MuiInputBase',\n slot: 'Input',\n overridesResolver: inputOverridesResolver\n})(({\n theme,\n ownerState\n}) => {\n const light = theme.palette.mode === 'light';\n const placeholder = _extends({\n color: 'currentColor'\n }, theme.vars ? {\n opacity: theme.vars.opacity.inputPlaceholder\n } : {\n opacity: light ? 0.42 : 0.5\n }, {\n transition: theme.transitions.create('opacity', {\n duration: theme.transitions.duration.shorter\n })\n });\n const placeholderHidden = {\n opacity: '0 !important'\n };\n const placeholderVisible = theme.vars ? {\n opacity: theme.vars.opacity.inputPlaceholder\n } : {\n opacity: light ? 0.42 : 0.5\n };\n return _extends({\n font: 'inherit',\n letterSpacing: 'inherit',\n color: 'currentColor',\n padding: '4px 0 5px',\n border: 0,\n boxSizing: 'content-box',\n background: 'none',\n height: '1.4375em',\n // Reset 23pxthe native input line-height\n margin: 0,\n // Reset for Safari\n WebkitTapHighlightColor: 'transparent',\n display: 'block',\n // Make the flex item shrink with Firefox\n minWidth: 0,\n width: '100%',\n // Fix IE11 width issue\n animationName: 'mui-auto-fill-cancel',\n animationDuration: '10ms',\n '&::-webkit-input-placeholder': placeholder,\n '&::-moz-placeholder': placeholder,\n // Firefox 19+\n '&:-ms-input-placeholder': placeholder,\n // IE11\n '&::-ms-input-placeholder': placeholder,\n // Edge\n '&:focus': {\n outline: 0\n },\n // Reset Firefox invalid required input style\n '&:invalid': {\n boxShadow: 'none'\n },\n '&::-webkit-search-decoration': {\n // Remove the padding when type=search.\n WebkitAppearance: 'none'\n },\n // Show and hide the placeholder logic\n [`label[data-shrink=false] + .${inputBaseClasses.formControl} &`]: {\n '&::-webkit-input-placeholder': placeholderHidden,\n '&::-moz-placeholder': placeholderHidden,\n // Firefox 19+\n '&:-ms-input-placeholder': placeholderHidden,\n // IE11\n '&::-ms-input-placeholder': placeholderHidden,\n // Edge\n '&:focus::-webkit-input-placeholder': placeholderVisible,\n '&:focus::-moz-placeholder': placeholderVisible,\n // Firefox 19+\n '&:focus:-ms-input-placeholder': placeholderVisible,\n // IE11\n '&:focus::-ms-input-placeholder': placeholderVisible // Edge\n },\n [`&.${inputBaseClasses.disabled}`]: {\n opacity: 1,\n // Reset iOS opacity\n WebkitTextFillColor: (theme.vars || theme).palette.text.disabled // Fix opacity Safari bug\n },\n '&:-webkit-autofill': {\n animationDuration: '5000s',\n animationName: 'mui-auto-fill'\n }\n }, ownerState.size === 'small' && {\n paddingTop: 1\n }, ownerState.multiline && {\n height: 'auto',\n resize: 'none',\n padding: 0,\n paddingTop: 0\n }, ownerState.type === 'search' && {\n // Improve type search style.\n MozAppearance: 'textfield'\n });\n});\nconst inputGlobalStyles = /*#__PURE__*/_jsx(GlobalStyles, {\n styles: {\n '@keyframes mui-auto-fill': {\n from: {\n display: 'block'\n }\n },\n '@keyframes mui-auto-fill-cancel': {\n from: {\n display: 'block'\n }\n }\n }\n});\n\n/**\n * `InputBase` contains as few styles as possible.\n * It aims to be a simple building block for creating an input.\n * It contains a load of style reset and some state logic.\n */\nconst InputBase = /*#__PURE__*/React.forwardRef(function InputBase(inProps, ref) {\n var _slotProps$input;\n const props = useThemeProps({\n props: inProps,\n name: 'MuiInputBase'\n });\n const {\n 'aria-describedby': ariaDescribedby,\n autoComplete,\n autoFocus,\n className,\n components = {},\n componentsProps = {},\n defaultValue,\n disabled,\n disableInjectingGlobalStyles,\n endAdornment,\n fullWidth = false,\n id,\n inputComponent = 'input',\n inputProps: inputPropsProp = {},\n inputRef: inputRefProp,\n maxRows,\n minRows,\n multiline = false,\n name,\n onBlur,\n onChange,\n onClick,\n onFocus,\n onKeyDown,\n onKeyUp,\n placeholder,\n readOnly,\n renderSuffix,\n rows,\n slotProps = {},\n slots = {},\n startAdornment,\n type = 'text',\n value: valueProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const value = inputPropsProp.value != null ? inputPropsProp.value : valueProp;\n const {\n current: isControlled\n } = React.useRef(value != null);\n const inputRef = React.useRef();\n const handleInputRefWarning = React.useCallback(instance => {\n if (process.env.NODE_ENV !== 'production') {\n if (instance && instance.nodeName !== 'INPUT' && !instance.focus) {\n console.error(['MUI: You have provided a `inputComponent` to the input component', 'that does not correctly handle the `ref` prop.', 'Make sure the `ref` prop is called with a HTMLInputElement.'].join('\\n'));\n }\n }\n }, []);\n const handleInputRef = useForkRef(inputRef, inputRefProp, inputPropsProp.ref, handleInputRefWarning);\n const [focused, setFocused] = React.useState(false);\n const muiFormControl = useFormControl();\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useEffect(() => {\n if (muiFormControl) {\n return muiFormControl.registerEffect();\n }\n return undefined;\n }, [muiFormControl]);\n }\n const fcs = formControlState({\n props,\n muiFormControl,\n states: ['color', 'disabled', 'error', 'hiddenLabel', 'size', 'required', 'filled']\n });\n fcs.focused = muiFormControl ? muiFormControl.focused : focused;\n\n // The blur won't fire when the disabled state is set on a focused input.\n // We need to book keep the focused state manually.\n React.useEffect(() => {\n if (!muiFormControl && disabled && focused) {\n setFocused(false);\n if (onBlur) {\n onBlur();\n }\n }\n }, [muiFormControl, disabled, focused, onBlur]);\n const onFilled = muiFormControl && muiFormControl.onFilled;\n const onEmpty = muiFormControl && muiFormControl.onEmpty;\n const checkDirty = React.useCallback(obj => {\n if (isFilled(obj)) {\n if (onFilled) {\n onFilled();\n }\n } else if (onEmpty) {\n onEmpty();\n }\n }, [onFilled, onEmpty]);\n useEnhancedEffect(() => {\n if (isControlled) {\n checkDirty({\n value\n });\n }\n }, [value, checkDirty, isControlled]);\n const handleFocus = event => {\n // Fix a bug with IE11 where the focus/blur events are triggered\n // while the component is disabled.\n if (fcs.disabled) {\n event.stopPropagation();\n return;\n }\n if (onFocus) {\n onFocus(event);\n }\n if (inputPropsProp.onFocus) {\n inputPropsProp.onFocus(event);\n }\n if (muiFormControl && muiFormControl.onFocus) {\n muiFormControl.onFocus(event);\n } else {\n setFocused(true);\n }\n };\n const handleBlur = event => {\n if (onBlur) {\n onBlur(event);\n }\n if (inputPropsProp.onBlur) {\n inputPropsProp.onBlur(event);\n }\n if (muiFormControl && muiFormControl.onBlur) {\n muiFormControl.onBlur(event);\n } else {\n setFocused(false);\n }\n };\n const handleChange = (event, ...args) => {\n if (!isControlled) {\n const element = event.target || inputRef.current;\n if (element == null) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: Expected valid input target. Did you use a custom \\`inputComponent\\` and forget to forward refs? See https://mui.com/r/input-component-ref-interface for more info.` : _formatMuiErrorMessage(1));\n }\n checkDirty({\n value: element.value\n });\n }\n if (inputPropsProp.onChange) {\n inputPropsProp.onChange(event, ...args);\n }\n\n // Perform in the willUpdate\n if (onChange) {\n onChange(event, ...args);\n }\n };\n\n // Check the input state on mount, in case it was filled by the user\n // or auto filled by the browser before the hydration (for SSR).\n React.useEffect(() => {\n checkDirty(inputRef.current);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n const handleClick = event => {\n if (inputRef.current && event.currentTarget === event.target) {\n inputRef.current.focus();\n }\n if (onClick) {\n onClick(event);\n }\n };\n let InputComponent = inputComponent;\n let inputProps = inputPropsProp;\n if (multiline && InputComponent === 'input') {\n if (rows) {\n if (process.env.NODE_ENV !== 'production') {\n if (minRows || maxRows) {\n console.warn('MUI: You can not use the `minRows` or `maxRows` props when the input `rows` prop is set.');\n }\n }\n inputProps = _extends({\n type: undefined,\n minRows: rows,\n maxRows: rows\n }, inputProps);\n } else {\n inputProps = _extends({\n type: undefined,\n maxRows,\n minRows\n }, inputProps);\n }\n InputComponent = TextareaAutosize;\n }\n const handleAutoFill = event => {\n // Provide a fake value as Chrome might not let you access it for security reasons.\n checkDirty(event.animationName === 'mui-auto-fill-cancel' ? inputRef.current : {\n value: 'x'\n });\n };\n React.useEffect(() => {\n if (muiFormControl) {\n muiFormControl.setAdornedStart(Boolean(startAdornment));\n }\n }, [muiFormControl, startAdornment]);\n const ownerState = _extends({}, props, {\n color: fcs.color || 'primary',\n disabled: fcs.disabled,\n endAdornment,\n error: fcs.error,\n focused: fcs.focused,\n formControl: muiFormControl,\n fullWidth,\n hiddenLabel: fcs.hiddenLabel,\n multiline,\n size: fcs.size,\n startAdornment,\n type\n });\n const classes = useUtilityClasses(ownerState);\n const Root = slots.root || components.Root || InputBaseRoot;\n const rootProps = slotProps.root || componentsProps.root || {};\n const Input = slots.input || components.Input || InputBaseComponent;\n inputProps = _extends({}, inputProps, (_slotProps$input = slotProps.input) != null ? _slotProps$input : componentsProps.input);\n return /*#__PURE__*/_jsxs(React.Fragment, {\n children: [!disableInjectingGlobalStyles && inputGlobalStyles, /*#__PURE__*/_jsxs(Root, _extends({}, rootProps, !isHostComponent(Root) && {\n ownerState: _extends({}, ownerState, rootProps.ownerState)\n }, {\n ref: ref,\n onClick: handleClick\n }, other, {\n className: clsx(classes.root, rootProps.className, className, readOnly && 'MuiInputBase-readOnly'),\n children: [startAdornment, /*#__PURE__*/_jsx(FormControlContext.Provider, {\n value: null,\n children: /*#__PURE__*/_jsx(Input, _extends({\n ownerState: ownerState,\n \"aria-invalid\": fcs.error,\n \"aria-describedby\": ariaDescribedby,\n autoComplete: autoComplete,\n autoFocus: autoFocus,\n defaultValue: defaultValue,\n disabled: fcs.disabled,\n id: id,\n onAnimationStart: handleAutoFill,\n name: name,\n placeholder: placeholder,\n readOnly: readOnly,\n required: fcs.required,\n rows: rows,\n value: value,\n onKeyDown: onKeyDown,\n onKeyUp: onKeyUp,\n type: type\n }, inputProps, !isHostComponent(Input) && {\n as: InputComponent,\n ownerState: _extends({}, ownerState, inputProps.ownerState)\n }, {\n ref: handleInputRef,\n className: clsx(classes.input, inputProps.className, readOnly && 'MuiInputBase-readOnly'),\n onBlur: handleBlur,\n onChange: handleChange,\n onFocus: handleFocus\n }))\n }), endAdornment, renderSuffix ? renderSuffix(_extends({}, fcs, {\n startAdornment\n })) : null]\n }))]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? InputBase.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * @ignore\n */\n 'aria-describedby': PropTypes.string,\n /**\n * This prop helps users to fill forms faster, especially on mobile devices.\n * The name can be confusing, as it's more like an autofill.\n * You can learn more about it [following the specification](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill).\n */\n autoComplete: PropTypes.string,\n /**\n * If `true`, the `input` element is focused during the first mount.\n */\n autoFocus: PropTypes.bool,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * The prop defaults to the value (`'primary'`) inherited from the parent FormControl component.\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * The components used for each slot inside.\n *\n * This prop is an alias for the `slots` prop.\n * It's recommended to use the `slots` prop instead.\n *\n * @default {}\n */\n components: PropTypes.shape({\n Input: PropTypes.elementType,\n Root: PropTypes.elementType\n }),\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * This prop is an alias for the `slotProps` prop.\n * It's recommended to use the `slotProps` prop instead, as `componentsProps` will be deprecated in the future.\n *\n * @default {}\n */\n componentsProps: PropTypes.shape({\n input: PropTypes.object,\n root: PropTypes.object\n }),\n /**\n * The default value. Use when the component is not controlled.\n */\n defaultValue: PropTypes.any,\n /**\n * If `true`, the component is disabled.\n * The prop defaults to the value (`false`) inherited from the parent FormControl component.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, GlobalStyles for the auto-fill keyframes will not be injected/removed on mount/unmount. Make sure to inject them at the top of your application.\n * This option is intended to help with boosting the initial rendering performance if you are loading a big amount of Input components at once.\n * @default false\n */\n disableInjectingGlobalStyles: PropTypes.bool,\n /**\n * End `InputAdornment` for this component.\n */\n endAdornment: PropTypes.node,\n /**\n * If `true`, the `input` will indicate an error.\n * The prop defaults to the value (`false`) inherited from the parent FormControl component.\n */\n error: PropTypes.bool,\n /**\n * If `true`, the `input` will take up the full width of its container.\n * @default false\n */\n fullWidth: PropTypes.bool,\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n /**\n * The component used for the `input` element.\n * Either a string to use a HTML element or a component.\n * @default 'input'\n */\n inputComponent: elementTypeAcceptingRef,\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n * @default {}\n */\n inputProps: PropTypes.object,\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n /**\n * If `dense`, will adjust vertical spacing. This is normally obtained via context from\n * FormControl.\n * The prop defaults to the value (`'none'`) inherited from the parent FormControl component.\n */\n margin: PropTypes.oneOf(['dense', 'none']),\n /**\n * Maximum number of rows to display when multiline option is set to true.\n */\n maxRows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * Minimum number of rows to display when multiline option is set to true.\n */\n minRows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * If `true`, a [TextareaAutosize](/material-ui/react-textarea-autosize/) element is rendered.\n * @default false\n */\n multiline: PropTypes.bool,\n /**\n * Name attribute of the `input` element.\n */\n name: PropTypes.string,\n /**\n * Callback fired when the `input` is blurred.\n *\n * Notice that the first argument (event) might be undefined.\n */\n onBlur: PropTypes.func,\n /**\n * Callback fired when the value is changed.\n *\n * @param {React.ChangeEvent<HTMLTextAreaElement | HTMLInputElement>} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value` (string).\n */\n onChange: PropTypes.func,\n /**\n * @ignore\n */\n onClick: PropTypes.func,\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n /**\n * Callback fired when the `input` doesn't satisfy its constraints.\n */\n onInvalid: PropTypes.func,\n /**\n * @ignore\n */\n onKeyDown: PropTypes.func,\n /**\n * @ignore\n */\n onKeyUp: PropTypes.func,\n /**\n * The short hint displayed in the `input` before the user enters a value.\n */\n placeholder: PropTypes.string,\n /**\n * It prevents the user from changing the value of the field\n * (not from interacting with the field).\n */\n readOnly: PropTypes.bool,\n /**\n * @ignore\n */\n renderSuffix: PropTypes.func,\n /**\n * If `true`, the `input` element is required.\n * The prop defaults to the value (`false`) inherited from the parent FormControl component.\n */\n required: PropTypes.bool,\n /**\n * Number of rows to display when multiline option is set to true.\n */\n rows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * The size of the component.\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * This prop is an alias for the `componentsProps` prop, which will be deprecated in the future.\n *\n * @default {}\n */\n slotProps: PropTypes.shape({\n input: PropTypes.object,\n root: PropTypes.object\n }),\n /**\n * The components used for each slot inside.\n *\n * This prop is an alias for the `components` prop, which will be deprecated in the future.\n *\n * @default {}\n */\n slots: PropTypes.shape({\n input: PropTypes.elementType,\n root: PropTypes.elementType\n }),\n /**\n * Start `InputAdornment` for this component.\n */\n startAdornment: PropTypes.node,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * Type of the `input` element. It should be [a valid HTML5 input type](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Form_%3Cinput%3E_types).\n * @default 'text'\n */\n type: PropTypes.string,\n /**\n * The value of the `input` element, required for a controlled component.\n */\n value: PropTypes.any\n} : void 0;\nexport default InputBase;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nimport { inputBaseClasses } from '../InputBase';\nexport function getInputUtilityClass(slot) {\n return generateUtilityClass('MuiInput', slot);\n}\nconst inputClasses = _extends({}, inputBaseClasses, generateUtilityClasses('MuiInput', ['root', 'underline', 'input']));\nexport default inputClasses;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nimport { inputBaseClasses } from '../InputBase';\nexport function getOutlinedInputUtilityClass(slot) {\n return generateUtilityClass('MuiOutlinedInput', slot);\n}\nconst outlinedInputClasses = _extends({}, inputBaseClasses, generateUtilityClasses('MuiOutlinedInput', ['root', 'notchedOutline', 'input']));\nexport default outlinedInputClasses;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nimport { inputBaseClasses } from '../InputBase';\nexport function getFilledInputUtilityClass(slot) {\n return generateUtilityClass('MuiFilledInput', slot);\n}\nconst filledInputClasses = _extends({}, inputBaseClasses, generateUtilityClasses('MuiFilledInput', ['root', 'underline', 'input']));\nexport default filledInputClasses;","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M7 10l5 5 5-5z\"\n}), 'ArrowDropDown');","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getAutocompleteUtilityClass(slot) {\n return generateUtilityClass('MuiAutocomplete', slot);\n}\nconst autocompleteClasses = generateUtilityClasses('MuiAutocomplete', ['root', 'expanded', 'fullWidth', 'focused', 'focusVisible', 'tag', 'tagSizeSmall', 'tagSizeMedium', 'hasPopupIcon', 'hasClearIcon', 'inputRoot', 'input', 'inputFocused', 'endAdornment', 'clearIndicator', 'popupIndicator', 'popupIndicatorOpen', 'popper', 'popperDisablePortal', 'paper', 'listbox', 'loading', 'noOptions', 'option', 'groupLabel', 'groupUl']);\nexport default autocompleteClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nvar _ClearIcon, _ArrowDropDownIcon;\nconst _excluded = [\"autoComplete\", \"autoHighlight\", \"autoSelect\", \"blurOnSelect\", \"ChipProps\", \"className\", \"clearIcon\", \"clearOnBlur\", \"clearOnEscape\", \"clearText\", \"closeText\", \"componentsProps\", \"defaultValue\", \"disableClearable\", \"disableCloseOnSelect\", \"disabled\", \"disabledItemsFocusable\", \"disableListWrap\", \"disablePortal\", \"filterOptions\", \"filterSelectedOptions\", \"forcePopupIcon\", \"freeSolo\", \"fullWidth\", \"getLimitTagsText\", \"getOptionDisabled\", \"getOptionKey\", \"getOptionLabel\", \"isOptionEqualToValue\", \"groupBy\", \"handleHomeEndKeys\", \"id\", \"includeInputInList\", \"inputValue\", \"limitTags\", \"ListboxComponent\", \"ListboxProps\", \"loading\", \"loadingText\", \"multiple\", \"noOptionsText\", \"onChange\", \"onClose\", \"onHighlightChange\", \"onInputChange\", \"onOpen\", \"open\", \"openOnFocus\", \"openText\", \"options\", \"PaperComponent\", \"PopperComponent\", \"popupIcon\", \"readOnly\", \"renderGroup\", \"renderInput\", \"renderOption\", \"renderTags\", \"selectOnFocus\", \"size\", \"slotProps\", \"value\"],\n _excluded2 = [\"ref\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport integerPropType from '@mui/utils/integerPropType';\nimport chainPropTypes from '@mui/utils/chainPropTypes';\nimport { useAutocomplete, createFilterOptions } from '@mui/base';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { alpha } from '@mui/system/colorManipulator';\nimport Popper from '../Popper';\nimport ListSubheader from '../ListSubheader';\nimport Paper from '../Paper';\nimport IconButton from '../IconButton';\nimport Chip from '../Chip';\nimport inputClasses from '../Input/inputClasses';\nimport inputBaseClasses from '../InputBase/inputBaseClasses';\nimport outlinedInputClasses from '../OutlinedInput/outlinedInputClasses';\nimport filledInputClasses from '../FilledInput/filledInputClasses';\nimport ClearIcon from '../internal/svg-icons/Close';\nimport ArrowDropDownIcon from '../internal/svg-icons/ArrowDropDown';\nimport { styled, createUseThemeProps } from '../zero-styled';\nimport autocompleteClasses, { getAutocompleteUtilityClass } from './autocompleteClasses';\nimport capitalize from '../utils/capitalize';\nimport useForkRef from '../utils/useForkRef';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { createElement as _createElement } from \"react\";\nconst useThemeProps = createUseThemeProps('MuiAutocomplete');\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disablePortal,\n expanded,\n focused,\n fullWidth,\n hasClearIcon,\n hasPopupIcon,\n inputFocused,\n popupOpen,\n size\n } = ownerState;\n const slots = {\n root: ['root', expanded && 'expanded', focused && 'focused', fullWidth && 'fullWidth', hasClearIcon && 'hasClearIcon', hasPopupIcon && 'hasPopupIcon'],\n inputRoot: ['inputRoot'],\n input: ['input', inputFocused && 'inputFocused'],\n tag: ['tag', `tagSize${capitalize(size)}`],\n endAdornment: ['endAdornment'],\n clearIndicator: ['clearIndicator'],\n popupIndicator: ['popupIndicator', popupOpen && 'popupIndicatorOpen'],\n popper: ['popper', disablePortal && 'popperDisablePortal'],\n paper: ['paper'],\n listbox: ['listbox'],\n loading: ['loading'],\n noOptions: ['noOptions'],\n option: ['option'],\n groupLabel: ['groupLabel'],\n groupUl: ['groupUl']\n };\n return composeClasses(slots, getAutocompleteUtilityClass, classes);\n};\nconst AutocompleteRoot = styled('div', {\n name: 'MuiAutocomplete',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n const {\n fullWidth,\n hasClearIcon,\n hasPopupIcon,\n inputFocused,\n size\n } = ownerState;\n return [{\n [`& .${autocompleteClasses.tag}`]: styles.tag\n }, {\n [`& .${autocompleteClasses.tag}`]: styles[`tagSize${capitalize(size)}`]\n }, {\n [`& .${autocompleteClasses.inputRoot}`]: styles.inputRoot\n }, {\n [`& .${autocompleteClasses.input}`]: styles.input\n }, {\n [`& .${autocompleteClasses.input}`]: inputFocused && styles.inputFocused\n }, styles.root, fullWidth && styles.fullWidth, hasPopupIcon && styles.hasPopupIcon, hasClearIcon && styles.hasClearIcon];\n }\n})({\n [`&.${autocompleteClasses.focused} .${autocompleteClasses.clearIndicator}`]: {\n visibility: 'visible'\n },\n /* Avoid double tap issue on iOS */\n '@media (pointer: fine)': {\n [`&:hover .${autocompleteClasses.clearIndicator}`]: {\n visibility: 'visible'\n }\n },\n [`& .${autocompleteClasses.tag}`]: {\n margin: 3,\n maxWidth: 'calc(100% - 6px)'\n },\n [`& .${autocompleteClasses.inputRoot}`]: {\n flexWrap: 'wrap',\n [`.${autocompleteClasses.hasPopupIcon}&, .${autocompleteClasses.hasClearIcon}&`]: {\n paddingRight: 26 + 4\n },\n [`.${autocompleteClasses.hasPopupIcon}.${autocompleteClasses.hasClearIcon}&`]: {\n paddingRight: 52 + 4\n },\n [`& .${autocompleteClasses.input}`]: {\n width: 0,\n minWidth: 30\n }\n },\n [`& .${inputClasses.root}`]: {\n paddingBottom: 1,\n '& .MuiInput-input': {\n padding: '4px 4px 4px 0px'\n }\n },\n [`& .${inputClasses.root}.${inputBaseClasses.sizeSmall}`]: {\n [`& .${inputClasses.input}`]: {\n padding: '2px 4px 3px 0'\n }\n },\n [`& .${outlinedInputClasses.root}`]: {\n padding: 9,\n [`.${autocompleteClasses.hasPopupIcon}&, .${autocompleteClasses.hasClearIcon}&`]: {\n paddingRight: 26 + 4 + 9\n },\n [`.${autocompleteClasses.hasPopupIcon}.${autocompleteClasses.hasClearIcon}&`]: {\n paddingRight: 52 + 4 + 9\n },\n [`& .${autocompleteClasses.input}`]: {\n padding: '7.5px 4px 7.5px 5px'\n },\n [`& .${autocompleteClasses.endAdornment}`]: {\n right: 9\n }\n },\n [`& .${outlinedInputClasses.root}.${inputBaseClasses.sizeSmall}`]: {\n // Don't specify paddingRight, as it overrides the default value set when there is only\n // one of the popup or clear icon as the specificity is equal so the latter one wins\n paddingTop: 6,\n paddingBottom: 6,\n paddingLeft: 6,\n [`& .${autocompleteClasses.input}`]: {\n padding: '2.5px 4px 2.5px 8px'\n }\n },\n [`& .${filledInputClasses.root}`]: {\n paddingTop: 19,\n paddingLeft: 8,\n [`.${autocompleteClasses.hasPopupIcon}&, .${autocompleteClasses.hasClearIcon}&`]: {\n paddingRight: 26 + 4 + 9\n },\n [`.${autocompleteClasses.hasPopupIcon}.${autocompleteClasses.hasClearIcon}&`]: {\n paddingRight: 52 + 4 + 9\n },\n [`& .${filledInputClasses.input}`]: {\n padding: '7px 4px'\n },\n [`& .${autocompleteClasses.endAdornment}`]: {\n right: 9\n }\n },\n [`& .${filledInputClasses.root}.${inputBaseClasses.sizeSmall}`]: {\n paddingBottom: 1,\n [`& .${filledInputClasses.input}`]: {\n padding: '2.5px 4px'\n }\n },\n [`& .${inputBaseClasses.hiddenLabel}`]: {\n paddingTop: 8\n },\n [`& .${filledInputClasses.root}.${inputBaseClasses.hiddenLabel}`]: {\n paddingTop: 0,\n paddingBottom: 0,\n [`& .${autocompleteClasses.input}`]: {\n paddingTop: 16,\n paddingBottom: 17\n }\n },\n [`& .${filledInputClasses.root}.${inputBaseClasses.hiddenLabel}.${inputBaseClasses.sizeSmall}`]: {\n [`& .${autocompleteClasses.input}`]: {\n paddingTop: 8,\n paddingBottom: 9\n }\n },\n [`& .${autocompleteClasses.input}`]: {\n flexGrow: 1,\n textOverflow: 'ellipsis',\n opacity: 0\n },\n variants: [{\n props: {\n fullWidth: true\n },\n style: {\n width: '100%'\n }\n }, {\n props: {\n size: 'small'\n },\n style: {\n [`& .${autocompleteClasses.tag}`]: {\n margin: 2,\n maxWidth: 'calc(100% - 4px)'\n }\n }\n }, {\n props: {\n inputFocused: true\n },\n style: {\n [`& .${autocompleteClasses.input}`]: {\n opacity: 1\n }\n }\n }]\n});\nconst AutocompleteEndAdornment = styled('div', {\n name: 'MuiAutocomplete',\n slot: 'EndAdornment',\n overridesResolver: (props, styles) => styles.endAdornment\n})({\n // We use a position absolute to support wrapping tags.\n position: 'absolute',\n right: 0,\n top: '50%',\n transform: 'translate(0, -50%)'\n});\nconst AutocompleteClearIndicator = styled(IconButton, {\n name: 'MuiAutocomplete',\n slot: 'ClearIndicator',\n overridesResolver: (props, styles) => styles.clearIndicator\n})({\n marginRight: -2,\n padding: 4,\n visibility: 'hidden'\n});\nconst AutocompletePopupIndicator = styled(IconButton, {\n name: 'MuiAutocomplete',\n slot: 'PopupIndicator',\n overridesResolver: ({\n ownerState\n }, styles) => _extends({}, styles.popupIndicator, ownerState.popupOpen && styles.popupIndicatorOpen)\n})({\n padding: 2,\n marginRight: -2,\n variants: [{\n props: {\n popupOpen: true\n },\n style: {\n transform: 'rotate(180deg)'\n }\n }]\n});\nconst AutocompletePopper = styled(Popper, {\n name: 'MuiAutocomplete',\n slot: 'Popper',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [{\n [`& .${autocompleteClasses.option}`]: styles.option\n }, styles.popper, ownerState.disablePortal && styles.popperDisablePortal];\n }\n})(({\n theme\n}) => ({\n zIndex: (theme.vars || theme).zIndex.modal,\n variants: [{\n props: {\n disablePortal: true\n },\n style: {\n position: 'absolute'\n }\n }]\n}));\nconst AutocompletePaper = styled(Paper, {\n name: 'MuiAutocomplete',\n slot: 'Paper',\n overridesResolver: (props, styles) => styles.paper\n})(({\n theme\n}) => _extends({}, theme.typography.body1, {\n overflow: 'auto'\n}));\nconst AutocompleteLoading = styled('div', {\n name: 'MuiAutocomplete',\n slot: 'Loading',\n overridesResolver: (props, styles) => styles.loading\n})(({\n theme\n}) => ({\n color: (theme.vars || theme).palette.text.secondary,\n padding: '14px 16px'\n}));\nconst AutocompleteNoOptions = styled('div', {\n name: 'MuiAutocomplete',\n slot: 'NoOptions',\n overridesResolver: (props, styles) => styles.noOptions\n})(({\n theme\n}) => ({\n color: (theme.vars || theme).palette.text.secondary,\n padding: '14px 16px'\n}));\nconst AutocompleteListbox = styled('div', {\n name: 'MuiAutocomplete',\n slot: 'Listbox',\n overridesResolver: (props, styles) => styles.listbox\n})(({\n theme\n}) => ({\n listStyle: 'none',\n margin: 0,\n padding: '8px 0',\n maxHeight: '40vh',\n overflow: 'auto',\n position: 'relative',\n [`& .${autocompleteClasses.option}`]: {\n minHeight: 48,\n display: 'flex',\n overflow: 'hidden',\n justifyContent: 'flex-start',\n alignItems: 'center',\n cursor: 'pointer',\n paddingTop: 6,\n boxSizing: 'border-box',\n outline: '0',\n WebkitTapHighlightColor: 'transparent',\n paddingBottom: 6,\n paddingLeft: 16,\n paddingRight: 16,\n [theme.breakpoints.up('sm')]: {\n minHeight: 'auto'\n },\n [`&.${autocompleteClasses.focused}`]: {\n backgroundColor: (theme.vars || theme).palette.action.hover,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n '&[aria-disabled=\"true\"]': {\n opacity: (theme.vars || theme).palette.action.disabledOpacity,\n pointerEvents: 'none'\n },\n [`&.${autocompleteClasses.focusVisible}`]: {\n backgroundColor: (theme.vars || theme).palette.action.focus\n },\n '&[aria-selected=\"true\"]': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.selectedOpacity})` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity),\n [`&.${autocompleteClasses.focused}`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.hoverOpacity}))` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: (theme.vars || theme).palette.action.selected\n }\n },\n [`&.${autocompleteClasses.focusVisible}`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.focusOpacity}))` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)\n }\n }\n }\n}));\nconst AutocompleteGroupLabel = styled(ListSubheader, {\n name: 'MuiAutocomplete',\n slot: 'GroupLabel',\n overridesResolver: (props, styles) => styles.groupLabel\n})(({\n theme\n}) => ({\n backgroundColor: (theme.vars || theme).palette.background.paper,\n top: -8\n}));\nconst AutocompleteGroupUl = styled('ul', {\n name: 'MuiAutocomplete',\n slot: 'GroupUl',\n overridesResolver: (props, styles) => styles.groupUl\n})({\n padding: 0,\n [`& .${autocompleteClasses.option}`]: {\n paddingLeft: 24\n }\n});\nexport { createFilterOptions };\nconst Autocomplete = /*#__PURE__*/React.forwardRef(function Autocomplete(inProps, ref) {\n var _slotProps$clearIndic, _slotProps$paper, _slotProps$popper, _slotProps$popupIndic;\n const props = useThemeProps({\n props: inProps,\n name: 'MuiAutocomplete'\n });\n\n /* eslint-disable @typescript-eslint/no-unused-vars */\n const {\n autoComplete = false,\n autoHighlight = false,\n autoSelect = false,\n blurOnSelect = false,\n ChipProps,\n className,\n clearIcon = _ClearIcon || (_ClearIcon = /*#__PURE__*/_jsx(ClearIcon, {\n fontSize: \"small\"\n })),\n clearOnBlur = !props.freeSolo,\n clearOnEscape = false,\n clearText = 'Clear',\n closeText = 'Close',\n componentsProps = {},\n defaultValue = props.multiple ? [] : null,\n disableClearable = false,\n disableCloseOnSelect = false,\n disabled = false,\n disabledItemsFocusable = false,\n disableListWrap = false,\n disablePortal = false,\n filterSelectedOptions = false,\n forcePopupIcon = 'auto',\n freeSolo = false,\n fullWidth = false,\n getLimitTagsText = more => `+${more}`,\n getOptionLabel: getOptionLabelProp,\n groupBy,\n handleHomeEndKeys = !props.freeSolo,\n includeInputInList = false,\n limitTags = -1,\n ListboxComponent = 'ul',\n ListboxProps,\n loading = false,\n loadingText = 'Loading…',\n multiple = false,\n noOptionsText = 'No options',\n openOnFocus = false,\n openText = 'Open',\n PaperComponent = Paper,\n PopperComponent = Popper,\n popupIcon = _ArrowDropDownIcon || (_ArrowDropDownIcon = /*#__PURE__*/_jsx(ArrowDropDownIcon, {})),\n readOnly = false,\n renderGroup: renderGroupProp,\n renderInput,\n renderOption: renderOptionProp,\n renderTags,\n selectOnFocus = !props.freeSolo,\n size = 'medium',\n slotProps = {}\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n /* eslint-enable @typescript-eslint/no-unused-vars */\n\n const {\n getRootProps,\n getInputProps,\n getInputLabelProps,\n getPopupIndicatorProps,\n getClearProps,\n getTagProps,\n getListboxProps,\n getOptionProps,\n value,\n dirty,\n expanded,\n id,\n popupOpen,\n focused,\n focusedTag,\n anchorEl,\n setAnchorEl,\n inputValue,\n groupedOptions\n } = useAutocomplete(_extends({}, props, {\n componentName: 'Autocomplete'\n }));\n const hasClearIcon = !disableClearable && !disabled && dirty && !readOnly;\n const hasPopupIcon = (!freeSolo || forcePopupIcon === true) && forcePopupIcon !== false;\n const {\n onMouseDown: handleInputMouseDown\n } = getInputProps();\n const {\n ref: externalListboxRef\n } = ListboxProps != null ? ListboxProps : {};\n const _getListboxProps = getListboxProps(),\n {\n ref: listboxRef\n } = _getListboxProps,\n otherListboxProps = _objectWithoutPropertiesLoose(_getListboxProps, _excluded2);\n const combinedListboxRef = useForkRef(listboxRef, externalListboxRef);\n const defaultGetOptionLabel = option => {\n var _option$label;\n return (_option$label = option.label) != null ? _option$label : option;\n };\n const getOptionLabel = getOptionLabelProp || defaultGetOptionLabel;\n\n // If you modify this, make sure to keep the `AutocompleteOwnerState` type in sync.\n const ownerState = _extends({}, props, {\n disablePortal,\n expanded,\n focused,\n fullWidth,\n getOptionLabel,\n hasClearIcon,\n hasPopupIcon,\n inputFocused: focusedTag === -1,\n popupOpen,\n size\n });\n const classes = useUtilityClasses(ownerState);\n let startAdornment;\n if (multiple && value.length > 0) {\n const getCustomizedTagProps = params => _extends({\n className: classes.tag,\n disabled\n }, getTagProps(params));\n if (renderTags) {\n startAdornment = renderTags(value, getCustomizedTagProps, ownerState);\n } else {\n startAdornment = value.map((option, index) => /*#__PURE__*/_jsx(Chip, _extends({\n label: getOptionLabel(option),\n size: size\n }, getCustomizedTagProps({\n index\n }), ChipProps)));\n }\n }\n if (limitTags > -1 && Array.isArray(startAdornment)) {\n const more = startAdornment.length - limitTags;\n if (!focused && more > 0) {\n startAdornment = startAdornment.splice(0, limitTags);\n startAdornment.push( /*#__PURE__*/_jsx(\"span\", {\n className: classes.tag,\n children: getLimitTagsText(more)\n }, startAdornment.length));\n }\n }\n const defaultRenderGroup = params => /*#__PURE__*/_jsxs(\"li\", {\n children: [/*#__PURE__*/_jsx(AutocompleteGroupLabel, {\n className: classes.groupLabel,\n ownerState: ownerState,\n component: \"div\",\n children: params.group\n }), /*#__PURE__*/_jsx(AutocompleteGroupUl, {\n className: classes.groupUl,\n ownerState: ownerState,\n children: params.children\n })]\n }, params.key);\n const renderGroup = renderGroupProp || defaultRenderGroup;\n const defaultRenderOption = (props2, option) => {\n // Need to clearly apply key because of https://github.com/vercel/next.js/issues/55642\n return /*#__PURE__*/_createElement(\"li\", _extends({}, props2, {\n key: props2.key\n }), getOptionLabel(option));\n };\n const renderOption = renderOptionProp || defaultRenderOption;\n const renderListOption = (option, index) => {\n const optionProps = getOptionProps({\n option,\n index\n });\n return renderOption(_extends({}, optionProps, {\n className: classes.option\n }), option, {\n selected: optionProps['aria-selected'],\n index,\n inputValue\n }, ownerState);\n };\n const clearIndicatorSlotProps = (_slotProps$clearIndic = slotProps.clearIndicator) != null ? _slotProps$clearIndic : componentsProps.clearIndicator;\n const paperSlotProps = (_slotProps$paper = slotProps.paper) != null ? _slotProps$paper : componentsProps.paper;\n const popperSlotProps = (_slotProps$popper = slotProps.popper) != null ? _slotProps$popper : componentsProps.popper;\n const popupIndicatorSlotProps = (_slotProps$popupIndic = slotProps.popupIndicator) != null ? _slotProps$popupIndic : componentsProps.popupIndicator;\n const renderAutocompletePopperChildren = children => /*#__PURE__*/_jsx(AutocompletePopper, _extends({\n as: PopperComponent,\n disablePortal: disablePortal,\n style: {\n width: anchorEl ? anchorEl.clientWidth : null\n },\n ownerState: ownerState,\n role: \"presentation\",\n anchorEl: anchorEl,\n open: popupOpen\n }, popperSlotProps, {\n className: clsx(classes.popper, popperSlotProps == null ? void 0 : popperSlotProps.className),\n children: /*#__PURE__*/_jsx(AutocompletePaper, _extends({\n ownerState: ownerState,\n as: PaperComponent\n }, paperSlotProps, {\n className: clsx(classes.paper, paperSlotProps == null ? void 0 : paperSlotProps.className),\n children: children\n }))\n }));\n let autocompletePopper = null;\n if (groupedOptions.length > 0) {\n autocompletePopper = renderAutocompletePopperChildren( /*#__PURE__*/_jsx(AutocompleteListbox, _extends({\n as: ListboxComponent,\n className: classes.listbox,\n ownerState: ownerState\n }, otherListboxProps, ListboxProps, {\n ref: combinedListboxRef,\n children: groupedOptions.map((option, index) => {\n if (groupBy) {\n return renderGroup({\n key: option.key,\n group: option.group,\n children: option.options.map((option2, index2) => renderListOption(option2, option.index + index2))\n });\n }\n return renderListOption(option, index);\n })\n })));\n } else if (loading && groupedOptions.length === 0) {\n autocompletePopper = renderAutocompletePopperChildren( /*#__PURE__*/_jsx(AutocompleteLoading, {\n className: classes.loading,\n ownerState: ownerState,\n children: loadingText\n }));\n } else if (groupedOptions.length === 0 && !freeSolo && !loading) {\n autocompletePopper = renderAutocompletePopperChildren( /*#__PURE__*/_jsx(AutocompleteNoOptions, {\n className: classes.noOptions,\n ownerState: ownerState,\n role: \"presentation\",\n onMouseDown: event => {\n // Prevent input blur when interacting with the \"no options\" content\n event.preventDefault();\n },\n children: noOptionsText\n }));\n }\n return /*#__PURE__*/_jsxs(React.Fragment, {\n children: [/*#__PURE__*/_jsx(AutocompleteRoot, _extends({\n ref: ref,\n className: clsx(classes.root, className),\n ownerState: ownerState\n }, getRootProps(other), {\n children: renderInput({\n id,\n disabled,\n fullWidth: true,\n size: size === 'small' ? 'small' : undefined,\n InputLabelProps: getInputLabelProps(),\n InputProps: _extends({\n ref: setAnchorEl,\n className: classes.inputRoot,\n startAdornment,\n onClick: event => {\n if (event.target === event.currentTarget) {\n handleInputMouseDown(event);\n }\n }\n }, (hasClearIcon || hasPopupIcon) && {\n endAdornment: /*#__PURE__*/_jsxs(AutocompleteEndAdornment, {\n className: classes.endAdornment,\n ownerState: ownerState,\n children: [hasClearIcon ? /*#__PURE__*/_jsx(AutocompleteClearIndicator, _extends({}, getClearProps(), {\n \"aria-label\": clearText,\n title: clearText,\n ownerState: ownerState\n }, clearIndicatorSlotProps, {\n className: clsx(classes.clearIndicator, clearIndicatorSlotProps == null ? void 0 : clearIndicatorSlotProps.className),\n children: clearIcon\n })) : null, hasPopupIcon ? /*#__PURE__*/_jsx(AutocompletePopupIndicator, _extends({}, getPopupIndicatorProps(), {\n disabled: disabled,\n \"aria-label\": popupOpen ? closeText : openText,\n title: popupOpen ? closeText : openText,\n ownerState: ownerState\n }, popupIndicatorSlotProps, {\n className: clsx(classes.popupIndicator, popupIndicatorSlotProps == null ? void 0 : popupIndicatorSlotProps.className),\n children: popupIcon\n })) : null]\n })\n }),\n inputProps: _extends({\n className: classes.input,\n disabled,\n readOnly\n }, getInputProps())\n })\n })), anchorEl ? autocompletePopper : null]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Autocomplete.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * If `true`, the portion of the selected suggestion that the user hasn't typed,\n * known as the completion string, appears inline after the input cursor in the textbox.\n * The inline completion string is visually highlighted and has a selected state.\n * @default false\n */\n autoComplete: PropTypes.bool,\n /**\n * If `true`, the first option is automatically highlighted.\n * @default false\n */\n autoHighlight: PropTypes.bool,\n /**\n * If `true`, the selected option becomes the value of the input\n * when the Autocomplete loses focus unless the user chooses\n * a different option or changes the character string in the input.\n *\n * When using the `freeSolo` mode, the typed value will be the input value\n * if the Autocomplete loses focus without highlighting an option.\n * @default false\n */\n autoSelect: PropTypes.bool,\n /**\n * Control if the input should be blurred when an option is selected:\n *\n * - `false` the input is not blurred.\n * - `true` the input is always blurred.\n * - `touch` the input is blurred after a touch event.\n * - `mouse` the input is blurred after a mouse event.\n * @default false\n */\n blurOnSelect: PropTypes.oneOfType([PropTypes.oneOf(['mouse', 'touch']), PropTypes.bool]),\n /**\n * Props applied to the [`Chip`](/material-ui/api/chip/) element.\n */\n ChipProps: PropTypes.object,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The icon to display in place of the default clear icon.\n * @default <ClearIcon fontSize=\"small\" />\n */\n clearIcon: PropTypes.node,\n /**\n * If `true`, the input's text is cleared on blur if no value is selected.\n *\n * Set it to `true` if you want to help the user enter a new value.\n * Set it to `false` if you want to help the user resume their search.\n * @default !props.freeSolo\n */\n clearOnBlur: PropTypes.bool,\n /**\n * If `true`, clear all values when the user presses escape and the popup is closed.\n * @default false\n */\n clearOnEscape: PropTypes.bool,\n /**\n * Override the default text for the *clear* icon button.\n *\n * For localization purposes, you can use the provided [translations](/material-ui/guides/localization/).\n * @default 'Clear'\n */\n clearText: PropTypes.string,\n /**\n * Override the default text for the *close popup* icon button.\n *\n * For localization purposes, you can use the provided [translations](/material-ui/guides/localization/).\n * @default 'Close'\n */\n closeText: PropTypes.string,\n /**\n * The props used for each slot inside.\n * @default {}\n */\n componentsProps: PropTypes.shape({\n clearIndicator: PropTypes.object,\n paper: PropTypes.object,\n popper: PropTypes.object,\n popupIndicator: PropTypes.object\n }),\n /**\n * The default value. Use when the component is not controlled.\n * @default props.multiple ? [] : null\n */\n defaultValue: chainPropTypes(PropTypes.any, props => {\n if (props.multiple && props.defaultValue !== undefined && !Array.isArray(props.defaultValue)) {\n return new Error(['MUI: The Autocomplete expects the `defaultValue` prop to be an array when `multiple={true}` or undefined.', `However, ${props.defaultValue} was provided.`].join('\\n'));\n }\n return null;\n }),\n /**\n * If `true`, the input can't be cleared.\n * @default false\n */\n disableClearable: PropTypes.bool,\n /**\n * If `true`, the popup won't close when a value is selected.\n * @default false\n */\n disableCloseOnSelect: PropTypes.bool,\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, will allow focus on disabled items.\n * @default false\n */\n disabledItemsFocusable: PropTypes.bool,\n /**\n * If `true`, the list box in the popup will not wrap focus.\n * @default false\n */\n disableListWrap: PropTypes.bool,\n /**\n * If `true`, the `Popper` content will be under the DOM hierarchy of the parent component.\n * @default false\n */\n disablePortal: PropTypes.bool,\n /**\n * A function that determines the filtered options to be rendered on search.\n *\n * @default createFilterOptions()\n * @param {Value[]} options The options to render.\n * @param {object} state The state of the component.\n * @returns {Value[]}\n */\n filterOptions: PropTypes.func,\n /**\n * If `true`, hide the selected options from the list box.\n * @default false\n */\n filterSelectedOptions: PropTypes.bool,\n /**\n * Force the visibility display of the popup icon.\n * @default 'auto'\n */\n forcePopupIcon: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.bool]),\n /**\n * If `true`, the Autocomplete is free solo, meaning that the user input is not bound to provided options.\n * @default false\n */\n freeSolo: PropTypes.bool,\n /**\n * If `true`, the input will take up the full width of its container.\n * @default false\n */\n fullWidth: PropTypes.bool,\n /**\n * The label to display when the tags are truncated (`limitTags`).\n *\n * @param {number} more The number of truncated tags.\n * @returns {ReactNode}\n * @default (more) => `+${more}`\n */\n getLimitTagsText: PropTypes.func,\n /**\n * Used to determine the disabled state for a given option.\n *\n * @param {Value} option The option to test.\n * @returns {boolean}\n */\n getOptionDisabled: PropTypes.func,\n /**\n * Used to determine the key for a given option.\n * This can be useful when the labels of options are not unique (since labels are used as keys by default).\n *\n * @param {Value} option The option to get the key for.\n * @returns {string | number}\n */\n getOptionKey: PropTypes.func,\n /**\n * Used to determine the string value for a given option.\n * It's used to fill the input (and the list box options if `renderOption` is not provided).\n *\n * If used in free solo mode, it must accept both the type of the options and a string.\n *\n * @param {Value} option\n * @returns {string}\n * @default (option) => option.label ?? option\n */\n getOptionLabel: PropTypes.func,\n /**\n * If provided, the options will be grouped under the returned string.\n * The groupBy value is also used as the text for group headings when `renderGroup` is not provided.\n *\n * @param {Value} options The options to group.\n * @returns {string}\n */\n groupBy: PropTypes.func,\n /**\n * If `true`, the component handles the \"Home\" and \"End\" keys when the popup is open.\n * It should move focus to the first option and last option, respectively.\n * @default !props.freeSolo\n */\n handleHomeEndKeys: PropTypes.bool,\n /**\n * This prop is used to help implement the accessibility logic.\n * If you don't provide an id it will fall back to a randomly generated one.\n */\n id: PropTypes.string,\n /**\n * If `true`, the highlight can move to the input.\n * @default false\n */\n includeInputInList: PropTypes.bool,\n /**\n * The input value.\n */\n inputValue: PropTypes.string,\n /**\n * Used to determine if the option represents the given value.\n * Uses strict equality by default.\n * ⚠️ Both arguments need to be handled, an option can only match with one value.\n *\n * @param {Value} option The option to test.\n * @param {Value} value The value to test against.\n * @returns {boolean}\n */\n isOptionEqualToValue: PropTypes.func,\n /**\n * The maximum number of tags that will be visible when not focused.\n * Set `-1` to disable the limit.\n * @default -1\n */\n limitTags: integerPropType,\n /**\n * The component used to render the listbox.\n * @default 'ul'\n */\n ListboxComponent: PropTypes.elementType,\n /**\n * Props applied to the Listbox element.\n */\n ListboxProps: PropTypes.object,\n /**\n * If `true`, the component is in a loading state.\n * This shows the `loadingText` in place of suggestions (only if there are no suggestions to show, for example `options` are empty).\n * @default false\n */\n loading: PropTypes.bool,\n /**\n * Text to display when in a loading state.\n *\n * For localization purposes, you can use the provided [translations](/material-ui/guides/localization/).\n * @default 'Loading…'\n */\n loadingText: PropTypes.node,\n /**\n * If `true`, `value` must be an array and the menu will support multiple selections.\n * @default false\n */\n multiple: PropTypes.bool,\n /**\n * Text to display when there are no options.\n *\n * For localization purposes, you can use the provided [translations](/material-ui/guides/localization/).\n * @default 'No options'\n */\n noOptionsText: PropTypes.node,\n /**\n * Callback fired when the value changes.\n *\n * @param {React.SyntheticEvent} event The event source of the callback.\n * @param {Value|Value[]} value The new value of the component.\n * @param {string} reason One of \"createOption\", \"selectOption\", \"removeOption\", \"blur\" or \"clear\".\n * @param {string} [details]\n */\n onChange: PropTypes.func,\n /**\n * Callback fired when the popup requests to be closed.\n * Use in controlled mode (see open).\n *\n * @param {React.SyntheticEvent} event The event source of the callback.\n * @param {string} reason Can be: `\"toggleInput\"`, `\"escape\"`, `\"selectOption\"`, `\"removeOption\"`, `\"blur\"`.\n */\n onClose: PropTypes.func,\n /**\n * Callback fired when the highlight option changes.\n *\n * @param {React.SyntheticEvent} event The event source of the callback.\n * @param {Value} option The highlighted option.\n * @param {string} reason Can be: `\"keyboard\"`, `\"auto\"`, `\"mouse\"`, `\"touch\"`.\n */\n onHighlightChange: PropTypes.func,\n /**\n * Callback fired when the input value changes.\n *\n * @param {React.SyntheticEvent} event The event source of the callback.\n * @param {string} value The new value of the text input.\n * @param {string} reason Can be: `\"input\"` (user input), `\"reset\"` (programmatic change), `\"clear\"`.\n */\n onInputChange: PropTypes.func,\n /**\n * @ignore\n */\n onKeyDown: PropTypes.func,\n /**\n * Callback fired when the popup requests to be opened.\n * Use in controlled mode (see open).\n *\n * @param {React.SyntheticEvent} event The event source of the callback.\n */\n onOpen: PropTypes.func,\n /**\n * If `true`, the component is shown.\n */\n open: PropTypes.bool,\n /**\n * If `true`, the popup will open on input focus.\n * @default false\n */\n openOnFocus: PropTypes.bool,\n /**\n * Override the default text for the *open popup* icon button.\n *\n * For localization purposes, you can use the provided [translations](/material-ui/guides/localization/).\n * @default 'Open'\n */\n openText: PropTypes.string,\n /**\n * Array of options.\n */\n options: PropTypes.array.isRequired,\n /**\n * The component used to render the body of the popup.\n * @default Paper\n */\n PaperComponent: PropTypes.elementType,\n /**\n * The component used to position the popup.\n * @default Popper\n */\n PopperComponent: PropTypes.elementType,\n /**\n * The icon to display in place of the default popup icon.\n * @default <ArrowDropDownIcon />\n */\n popupIcon: PropTypes.node,\n /**\n * If `true`, the component becomes readonly. It is also supported for multiple tags where the tag cannot be deleted.\n * @default false\n */\n readOnly: PropTypes.bool,\n /**\n * Render the group.\n *\n * @param {AutocompleteRenderGroupParams} params The group to render.\n * @returns {ReactNode}\n */\n renderGroup: PropTypes.func,\n /**\n * Render the input.\n *\n * @param {object} params\n * @returns {ReactNode}\n */\n renderInput: PropTypes.func.isRequired,\n /**\n * Render the option, use `getOptionLabel` by default.\n *\n * @param {object} props The props to apply on the li element.\n * @param {Value} option The option to render.\n * @param {object} state The state of each option.\n * @param {object} ownerState The state of the Autocomplete component.\n * @returns {ReactNode}\n */\n renderOption: PropTypes.func,\n /**\n * Render the selected value.\n *\n * @param {Value[]} value The `value` provided to the component.\n * @param {function} getTagProps A tag props getter.\n * @param {object} ownerState The state of the Autocomplete component.\n * @returns {ReactNode}\n */\n renderTags: PropTypes.func,\n /**\n * If `true`, the input's text is selected on focus.\n * It helps the user clear the selected value.\n * @default !props.freeSolo\n */\n selectOnFocus: PropTypes.bool,\n /**\n * The size of the component.\n * @default 'medium'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['small', 'medium']), PropTypes.string]),\n /**\n * The props used for each slot inside.\n * @default {}\n */\n slotProps: PropTypes.shape({\n clearIndicator: PropTypes.object,\n paper: PropTypes.object,\n popper: PropTypes.object,\n popupIndicator: PropTypes.object\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The value of the autocomplete.\n *\n * The value must have reference equality with the option in order to be selected.\n * You can customize the equality behavior with the `isOptionEqualToValue` prop.\n */\n value: chainPropTypes(PropTypes.any, props => {\n if (props.multiple && props.value !== undefined && !Array.isArray(props.value)) {\n return new Error(['MUI: The Autocomplete expects the `value` prop to be an array when `multiple={true}` or undefined.', `However, ${props.value} was provided.`].join('\\n'));\n }\n return null;\n })\n} : void 0;\nexport default Autocomplete;","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z\"\n}), 'Person');","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getAvatarUtilityClass(slot) {\n return generateUtilityClass('MuiAvatar', slot);\n}\nconst avatarClasses = generateUtilityClasses('MuiAvatar', ['root', 'colorDefault', 'circular', 'rounded', 'square', 'img', 'fallback']);\nexport default avatarClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"alt\", \"children\", \"className\", \"component\", \"slots\", \"slotProps\", \"imgProps\", \"sizes\", \"src\", \"srcSet\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { styled, createUseThemeProps } from '../zero-styled';\nimport Person from '../internal/svg-icons/Person';\nimport { getAvatarUtilityClass } from './avatarClasses';\nimport useSlot from '../utils/useSlot';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useThemeProps = createUseThemeProps('MuiAvatar');\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n variant,\n colorDefault\n } = ownerState;\n const slots = {\n root: ['root', variant, colorDefault && 'colorDefault'],\n img: ['img'],\n fallback: ['fallback']\n };\n return composeClasses(slots, getAvatarUtilityClass, classes);\n};\nconst AvatarRoot = styled('div', {\n name: 'MuiAvatar',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[ownerState.variant], ownerState.colorDefault && styles.colorDefault];\n }\n})(({\n theme\n}) => ({\n position: 'relative',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n width: 40,\n height: 40,\n fontFamily: theme.typography.fontFamily,\n fontSize: theme.typography.pxToRem(20),\n lineHeight: 1,\n borderRadius: '50%',\n overflow: 'hidden',\n userSelect: 'none',\n variants: [{\n props: {\n variant: 'rounded'\n },\n style: {\n borderRadius: (theme.vars || theme).shape.borderRadius\n }\n }, {\n props: {\n variant: 'square'\n },\n style: {\n borderRadius: 0\n }\n }, {\n props: {\n colorDefault: true\n },\n style: _extends({\n color: (theme.vars || theme).palette.background.default\n }, theme.vars ? {\n backgroundColor: theme.vars.palette.Avatar.defaultBg\n } : _extends({\n backgroundColor: theme.palette.grey[400]\n }, theme.applyStyles('dark', {\n backgroundColor: theme.palette.grey[600]\n })))\n }]\n}));\nconst AvatarImg = styled('img', {\n name: 'MuiAvatar',\n slot: 'Img',\n overridesResolver: (props, styles) => styles.img\n})({\n width: '100%',\n height: '100%',\n textAlign: 'center',\n // Handle non-square image. The property isn't supported by IE11.\n objectFit: 'cover',\n // Hide alt text.\n color: 'transparent',\n // Hide the image broken icon, only works on Chrome.\n textIndent: 10000\n});\nconst AvatarFallback = styled(Person, {\n name: 'MuiAvatar',\n slot: 'Fallback',\n overridesResolver: (props, styles) => styles.fallback\n})({\n width: '75%',\n height: '75%'\n});\nfunction useLoaded({\n crossOrigin,\n referrerPolicy,\n src,\n srcSet\n}) {\n const [loaded, setLoaded] = React.useState(false);\n React.useEffect(() => {\n if (!src && !srcSet) {\n return undefined;\n }\n setLoaded(false);\n let active = true;\n const image = new Image();\n image.onload = () => {\n if (!active) {\n return;\n }\n setLoaded('loaded');\n };\n image.onerror = () => {\n if (!active) {\n return;\n }\n setLoaded('error');\n };\n image.crossOrigin = crossOrigin;\n image.referrerPolicy = referrerPolicy;\n image.src = src;\n if (srcSet) {\n image.srcset = srcSet;\n }\n return () => {\n active = false;\n };\n }, [crossOrigin, referrerPolicy, src, srcSet]);\n return loaded;\n}\nconst Avatar = /*#__PURE__*/React.forwardRef(function Avatar(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiAvatar'\n });\n const {\n alt,\n children: childrenProp,\n className,\n component = 'div',\n slots = {},\n slotProps = {},\n imgProps,\n sizes,\n src,\n srcSet,\n variant = 'circular'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n let children = null;\n\n // Use a hook instead of onError on the img element to support server-side rendering.\n const loaded = useLoaded(_extends({}, imgProps, {\n src,\n srcSet\n }));\n const hasImg = src || srcSet;\n const hasImgNotFailing = hasImg && loaded !== 'error';\n const ownerState = _extends({}, props, {\n colorDefault: !hasImgNotFailing,\n component,\n variant\n });\n const classes = useUtilityClasses(ownerState);\n const [ImgSlot, imgSlotProps] = useSlot('img', {\n className: classes.img,\n elementType: AvatarImg,\n externalForwardedProps: {\n slots,\n slotProps: {\n img: _extends({}, imgProps, slotProps.img)\n }\n },\n additionalProps: {\n alt,\n src,\n srcSet,\n sizes\n },\n ownerState\n });\n if (hasImgNotFailing) {\n children = /*#__PURE__*/_jsx(ImgSlot, _extends({}, imgSlotProps));\n // We only render valid children, non valid children are rendered with a fallback\n // We consider that invalid children are all falsy values, except 0, which is valid.\n } else if (!!childrenProp || childrenProp === 0) {\n children = childrenProp;\n } else if (hasImg && alt) {\n children = alt[0];\n } else {\n children = /*#__PURE__*/_jsx(AvatarFallback, {\n ownerState: ownerState,\n className: classes.fallback\n });\n }\n return /*#__PURE__*/_jsx(AvatarRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Avatar.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Used in combination with `src` or `srcSet` to\n * provide an alt attribute for the rendered `img` element.\n */\n alt: PropTypes.string,\n /**\n * Used to render icon or text elements inside the Avatar if `src` is not set.\n * This can be an element, or just a string.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img#attributes) applied to the `img` element if the component is used to display an image.\n * It can be used to listen for the loading error event.\n * @deprecated Use `slotProps.img` instead. This prop will be removed in v7. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/).\n */\n imgProps: PropTypes.object,\n /**\n * The `sizes` attribute for the `img` element.\n */\n sizes: PropTypes.string,\n /**\n * The props used for each slot inside.\n * @default {}\n */\n slotProps: PropTypes.shape({\n img: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside.\n * @default {}\n */\n slots: PropTypes.shape({\n img: PropTypes.elementType\n }),\n /**\n * The `src` attribute for the `img` element.\n */\n src: PropTypes.string,\n /**\n * The `srcSet` attribute for the `img` element.\n * Use this attribute for responsive image display.\n */\n srcSet: PropTypes.string,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The shape of the avatar.\n * @default 'circular'\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['circular', 'rounded', 'square']), PropTypes.string])\n} : void 0;\nexport default Avatar;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"addEndListener\", \"appear\", \"children\", \"easing\", \"in\", \"onEnter\", \"onEntered\", \"onEntering\", \"onExit\", \"onExited\", \"onExiting\", \"style\", \"timeout\", \"TransitionComponent\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { Transition } from 'react-transition-group';\nimport elementAcceptingRef from '@mui/utils/elementAcceptingRef';\nimport useTheme from '../styles/useTheme';\nimport { reflow, getTransitionProps } from '../transitions/utils';\nimport useForkRef from '../utils/useForkRef';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst styles = {\n entering: {\n opacity: 1\n },\n entered: {\n opacity: 1\n }\n};\n\n/**\n * The Fade transition is used by the [Modal](/material-ui/react-modal/) component.\n * It uses [react-transition-group](https://github.com/reactjs/react-transition-group) internally.\n */\nconst Fade = /*#__PURE__*/React.forwardRef(function Fade(props, ref) {\n const theme = useTheme();\n const defaultTimeout = {\n enter: theme.transitions.duration.enteringScreen,\n exit: theme.transitions.duration.leavingScreen\n };\n const {\n addEndListener,\n appear = true,\n children,\n easing,\n in: inProp,\n onEnter,\n onEntered,\n onEntering,\n onExit,\n onExited,\n onExiting,\n style,\n timeout = defaultTimeout,\n // eslint-disable-next-line react/prop-types\n TransitionComponent = Transition\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const enableStrictModeCompat = true;\n const nodeRef = React.useRef(null);\n const handleRef = useForkRef(nodeRef, children.ref, ref);\n const normalizedTransitionCallback = callback => maybeIsAppearing => {\n if (callback) {\n const node = nodeRef.current;\n\n // onEnterXxx and onExitXxx callbacks have a different arguments.length value.\n if (maybeIsAppearing === undefined) {\n callback(node);\n } else {\n callback(node, maybeIsAppearing);\n }\n }\n };\n const handleEntering = normalizedTransitionCallback(onEntering);\n const handleEnter = normalizedTransitionCallback((node, isAppearing) => {\n reflow(node); // So the animation always start from the start.\n\n const transitionProps = getTransitionProps({\n style,\n timeout,\n easing\n }, {\n mode: 'enter'\n });\n node.style.webkitTransition = theme.transitions.create('opacity', transitionProps);\n node.style.transition = theme.transitions.create('opacity', transitionProps);\n if (onEnter) {\n onEnter(node, isAppearing);\n }\n });\n const handleEntered = normalizedTransitionCallback(onEntered);\n const handleExiting = normalizedTransitionCallback(onExiting);\n const handleExit = normalizedTransitionCallback(node => {\n const transitionProps = getTransitionProps({\n style,\n timeout,\n easing\n }, {\n mode: 'exit'\n });\n node.style.webkitTransition = theme.transitions.create('opacity', transitionProps);\n node.style.transition = theme.transitions.create('opacity', transitionProps);\n if (onExit) {\n onExit(node);\n }\n });\n const handleExited = normalizedTransitionCallback(onExited);\n const handleAddEndListener = next => {\n if (addEndListener) {\n // Old call signature before `react-transition-group` implemented `nodeRef`\n addEndListener(nodeRef.current, next);\n }\n };\n return /*#__PURE__*/_jsx(TransitionComponent, _extends({\n appear: appear,\n in: inProp,\n nodeRef: enableStrictModeCompat ? nodeRef : undefined,\n onEnter: handleEnter,\n onEntered: handleEntered,\n onEntering: handleEntering,\n onExit: handleExit,\n onExited: handleExited,\n onExiting: handleExiting,\n addEndListener: handleAddEndListener,\n timeout: timeout\n }, other, {\n children: (state, childProps) => {\n return /*#__PURE__*/React.cloneElement(children, _extends({\n style: _extends({\n opacity: 0,\n visibility: state === 'exited' && !inProp ? 'hidden' : undefined\n }, styles[state], style, children.props.style),\n ref: handleRef\n }, childProps));\n }\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Fade.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Add a custom transition end trigger. Called with the transitioning DOM\n * node and a done callback. Allows for more fine grained transition end\n * logic. Note: Timeouts are still used as a fallback if provided.\n */\n addEndListener: PropTypes.func,\n /**\n * Perform the enter transition when it first mounts if `in` is also `true`.\n * Set this to `false` to disable this behavior.\n * @default true\n */\n appear: PropTypes.bool,\n /**\n * A single child content element.\n */\n children: elementAcceptingRef.isRequired,\n /**\n * The transition timing function.\n * You may specify a single easing or a object containing enter and exit values.\n */\n easing: PropTypes.oneOfType([PropTypes.shape({\n enter: PropTypes.string,\n exit: PropTypes.string\n }), PropTypes.string]),\n /**\n * If `true`, the component will transition in.\n */\n in: PropTypes.bool,\n /**\n * @ignore\n */\n onEnter: PropTypes.func,\n /**\n * @ignore\n */\n onEntered: PropTypes.func,\n /**\n * @ignore\n */\n onEntering: PropTypes.func,\n /**\n * @ignore\n */\n onExit: PropTypes.func,\n /**\n * @ignore\n */\n onExited: PropTypes.func,\n /**\n * @ignore\n */\n onExiting: PropTypes.func,\n /**\n * @ignore\n */\n style: PropTypes.object,\n /**\n * The duration for the transition, in milliseconds.\n * You may specify a single timeout for all transitions, or individually with an object.\n * @default {\n * enter: theme.transitions.duration.enteringScreen,\n * exit: theme.transitions.duration.leavingScreen,\n * }\n */\n timeout: PropTypes.oneOfType([PropTypes.number, PropTypes.shape({\n appear: PropTypes.number,\n enter: PropTypes.number,\n exit: PropTypes.number\n })])\n} : void 0;\nexport default Fade;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getBackdropUtilityClass(slot) {\n return generateUtilityClass('MuiBackdrop', slot);\n}\nconst backdropClasses = generateUtilityClasses('MuiBackdrop', ['root', 'invisible']);\nexport default backdropClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"className\", \"component\", \"components\", \"componentsProps\", \"invisible\", \"open\", \"slotProps\", \"slots\", \"TransitionComponent\", \"transitionDuration\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport Fade from '../Fade';\nimport { getBackdropUtilityClass } from './backdropClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n invisible\n } = ownerState;\n const slots = {\n root: ['root', invisible && 'invisible']\n };\n return composeClasses(slots, getBackdropUtilityClass, classes);\n};\nconst BackdropRoot = styled('div', {\n name: 'MuiBackdrop',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.invisible && styles.invisible];\n }\n})(({\n ownerState\n}) => _extends({\n position: 'fixed',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n right: 0,\n bottom: 0,\n top: 0,\n left: 0,\n backgroundColor: 'rgba(0, 0, 0, 0.5)',\n WebkitTapHighlightColor: 'transparent'\n}, ownerState.invisible && {\n backgroundColor: 'transparent'\n}));\nconst Backdrop = /*#__PURE__*/React.forwardRef(function Backdrop(inProps, ref) {\n var _slotProps$root, _ref, _slots$root;\n const props = useThemeProps({\n props: inProps,\n name: 'MuiBackdrop'\n });\n const {\n children,\n className,\n component = 'div',\n components = {},\n componentsProps = {},\n invisible = false,\n open,\n slotProps = {},\n slots = {},\n TransitionComponent = Fade,\n transitionDuration\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n component,\n invisible\n });\n const classes = useUtilityClasses(ownerState);\n const rootSlotProps = (_slotProps$root = slotProps.root) != null ? _slotProps$root : componentsProps.root;\n return /*#__PURE__*/_jsx(TransitionComponent, _extends({\n in: open,\n timeout: transitionDuration\n }, other, {\n children: /*#__PURE__*/_jsx(BackdropRoot, _extends({\n \"aria-hidden\": true\n }, rootSlotProps, {\n as: (_ref = (_slots$root = slots.root) != null ? _slots$root : components.Root) != null ? _ref : component,\n className: clsx(classes.root, className, rootSlotProps == null ? void 0 : rootSlotProps.className),\n ownerState: _extends({}, ownerState, rootSlotProps == null ? void 0 : rootSlotProps.ownerState),\n classes: classes,\n ref: ref,\n children: children\n }))\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Backdrop.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * The components used for each slot inside.\n *\n * This prop is an alias for the `slots` prop.\n * It's recommended to use the `slots` prop instead.\n *\n * @default {}\n */\n components: PropTypes.shape({\n Root: PropTypes.elementType\n }),\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * This prop is an alias for the `slotProps` prop.\n * It's recommended to use the `slotProps` prop instead, as `componentsProps` will be deprecated in the future.\n *\n * @default {}\n */\n componentsProps: PropTypes.shape({\n root: PropTypes.object\n }),\n /**\n * If `true`, the backdrop is invisible.\n * It can be used when rendering a popover or a custom select component.\n * @default false\n */\n invisible: PropTypes.bool,\n /**\n * If `true`, the component is shown.\n */\n open: PropTypes.bool.isRequired,\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * This prop is an alias for the `componentsProps` prop, which will be deprecated in the future.\n *\n * @default {}\n */\n slotProps: PropTypes.shape({\n root: PropTypes.object\n }),\n /**\n * The components used for each slot inside.\n *\n * This prop is an alias for the `components` prop, which will be deprecated in the future.\n *\n * @default {}\n */\n slots: PropTypes.shape({\n root: PropTypes.elementType\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The component used for the transition.\n * [Follow this guide](/material-ui/transitions/#transitioncomponent-prop) to learn more about the requirements for this component.\n * @default Fade\n */\n TransitionComponent: PropTypes.elementType,\n /**\n * The duration for the transition, in milliseconds.\n * You may specify a single timeout for all transitions, or individually with an object.\n */\n transitionDuration: PropTypes.oneOfType([PropTypes.number, PropTypes.shape({\n appear: PropTypes.number,\n enter: PropTypes.number,\n exit: PropTypes.number\n })])\n} : void 0;\nexport default Backdrop;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nconst boxClasses = generateUtilityClasses('MuiBox', ['root']);\nexport default boxClasses;","'use client';\n\nimport { createBox } from '@mui/system';\nimport PropTypes from 'prop-types';\nimport { unstable_ClassNameGenerator as ClassNameGenerator } from '../className';\nimport { createTheme } from '../styles';\nimport THEME_ID from '../styles/identifier';\nimport boxClasses from './boxClasses';\nconst defaultTheme = createTheme();\nconst Box = createBox({\n themeId: THEME_ID,\n defaultTheme,\n defaultClassName: boxClasses.root,\n generateClassName: ClassNameGenerator.generate\n});\nprocess.env.NODE_ENV !== \"production\" ? Box.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * @ignore\n */\n children: PropTypes.node,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default Box;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getButtonUtilityClass(slot) {\n return generateUtilityClass('MuiButton', slot);\n}\nconst buttonClasses = generateUtilityClasses('MuiButton', ['root', 'text', 'textInherit', 'textPrimary', 'textSecondary', 'textSuccess', 'textError', 'textInfo', 'textWarning', 'outlined', 'outlinedInherit', 'outlinedPrimary', 'outlinedSecondary', 'outlinedSuccess', 'outlinedError', 'outlinedInfo', 'outlinedWarning', 'contained', 'containedInherit', 'containedPrimary', 'containedSecondary', 'containedSuccess', 'containedError', 'containedInfo', 'containedWarning', 'disableElevation', 'focusVisible', 'disabled', 'colorInherit', 'colorPrimary', 'colorSecondary', 'colorSuccess', 'colorError', 'colorInfo', 'colorWarning', 'textSizeSmall', 'textSizeMedium', 'textSizeLarge', 'outlinedSizeSmall', 'outlinedSizeMedium', 'outlinedSizeLarge', 'containedSizeSmall', 'containedSizeMedium', 'containedSizeLarge', 'sizeMedium', 'sizeSmall', 'sizeLarge', 'fullWidth', 'startIcon', 'endIcon', 'icon', 'iconSizeSmall', 'iconSizeMedium', 'iconSizeLarge']);\nexport default buttonClasses;","import * as React from 'react';\n/**\n * @ignore - internal component.\n */\nconst ButtonGroupContext = /*#__PURE__*/React.createContext({});\nif (process.env.NODE_ENV !== 'production') {\n ButtonGroupContext.displayName = 'ButtonGroupContext';\n}\nexport default ButtonGroupContext;","import * as React from 'react';\n/**\n * @ignore - internal component.\n */\nconst ButtonGroupButtonContext = /*#__PURE__*/React.createContext(undefined);\nif (process.env.NODE_ENV !== 'production') {\n ButtonGroupButtonContext.displayName = 'ButtonGroupButtonContext';\n}\nexport default ButtonGroupButtonContext;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"color\", \"component\", \"className\", \"disabled\", \"disableElevation\", \"disableFocusRipple\", \"endIcon\", \"focusVisibleClassName\", \"fullWidth\", \"size\", \"startIcon\", \"type\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport resolveProps from '@mui/utils/resolveProps';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { alpha } from '@mui/system/colorManipulator';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport ButtonBase from '../ButtonBase';\nimport capitalize from '../utils/capitalize';\nimport buttonClasses, { getButtonUtilityClass } from './buttonClasses';\nimport ButtonGroupContext from '../ButtonGroup/ButtonGroupContext';\nimport ButtonGroupButtonContext from '../ButtonGroup/ButtonGroupButtonContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n color,\n disableElevation,\n fullWidth,\n size,\n variant,\n classes\n } = ownerState;\n const slots = {\n root: ['root', variant, `${variant}${capitalize(color)}`, `size${capitalize(size)}`, `${variant}Size${capitalize(size)}`, `color${capitalize(color)}`, disableElevation && 'disableElevation', fullWidth && 'fullWidth'],\n label: ['label'],\n startIcon: ['icon', 'startIcon', `iconSize${capitalize(size)}`],\n endIcon: ['icon', 'endIcon', `iconSize${capitalize(size)}`]\n };\n const composedClasses = composeClasses(slots, getButtonUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\nconst commonIconStyles = ownerState => _extends({}, ownerState.size === 'small' && {\n '& > *:nth-of-type(1)': {\n fontSize: 18\n }\n}, ownerState.size === 'medium' && {\n '& > *:nth-of-type(1)': {\n fontSize: 20\n }\n}, ownerState.size === 'large' && {\n '& > *:nth-of-type(1)': {\n fontSize: 22\n }\n});\nconst ButtonRoot = styled(ButtonBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiButton',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[ownerState.variant], styles[`${ownerState.variant}${capitalize(ownerState.color)}`], styles[`size${capitalize(ownerState.size)}`], styles[`${ownerState.variant}Size${capitalize(ownerState.size)}`], ownerState.color === 'inherit' && styles.colorInherit, ownerState.disableElevation && styles.disableElevation, ownerState.fullWidth && styles.fullWidth];\n }\n})(({\n theme,\n ownerState\n}) => {\n var _theme$palette$getCon, _theme$palette;\n const inheritContainedBackgroundColor = theme.palette.mode === 'light' ? theme.palette.grey[300] : theme.palette.grey[800];\n const inheritContainedHoverBackgroundColor = theme.palette.mode === 'light' ? theme.palette.grey.A100 : theme.palette.grey[700];\n return _extends({}, theme.typography.button, {\n minWidth: 64,\n padding: '6px 16px',\n borderRadius: (theme.vars || theme).shape.borderRadius,\n transition: theme.transitions.create(['background-color', 'box-shadow', 'border-color', 'color'], {\n duration: theme.transitions.duration.short\n }),\n '&:hover': _extends({\n textDecoration: 'none',\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.text.primaryChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(theme.palette.text.primary, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }, ownerState.variant === 'text' && ownerState.color !== 'inherit' && {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette[ownerState.color].mainChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(theme.palette[ownerState.color].main, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }, ownerState.variant === 'outlined' && ownerState.color !== 'inherit' && {\n border: `1px solid ${(theme.vars || theme).palette[ownerState.color].main}`,\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette[ownerState.color].mainChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(theme.palette[ownerState.color].main, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }, ownerState.variant === 'contained' && {\n backgroundColor: theme.vars ? theme.vars.palette.Button.inheritContainedHoverBg : inheritContainedHoverBackgroundColor,\n boxShadow: (theme.vars || theme).shadows[4],\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n boxShadow: (theme.vars || theme).shadows[2],\n backgroundColor: (theme.vars || theme).palette.grey[300]\n }\n }, ownerState.variant === 'contained' && ownerState.color !== 'inherit' && {\n backgroundColor: (theme.vars || theme).palette[ownerState.color].dark,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: (theme.vars || theme).palette[ownerState.color].main\n }\n }),\n '&:active': _extends({}, ownerState.variant === 'contained' && {\n boxShadow: (theme.vars || theme).shadows[8]\n }),\n [`&.${buttonClasses.focusVisible}`]: _extends({}, ownerState.variant === 'contained' && {\n boxShadow: (theme.vars || theme).shadows[6]\n }),\n [`&.${buttonClasses.disabled}`]: _extends({\n color: (theme.vars || theme).palette.action.disabled\n }, ownerState.variant === 'outlined' && {\n border: `1px solid ${(theme.vars || theme).palette.action.disabledBackground}`\n }, ownerState.variant === 'contained' && {\n color: (theme.vars || theme).palette.action.disabled,\n boxShadow: (theme.vars || theme).shadows[0],\n backgroundColor: (theme.vars || theme).palette.action.disabledBackground\n })\n }, ownerState.variant === 'text' && {\n padding: '6px 8px'\n }, ownerState.variant === 'text' && ownerState.color !== 'inherit' && {\n color: (theme.vars || theme).palette[ownerState.color].main\n }, ownerState.variant === 'outlined' && {\n padding: '5px 15px',\n border: '1px solid currentColor'\n }, ownerState.variant === 'outlined' && ownerState.color !== 'inherit' && {\n color: (theme.vars || theme).palette[ownerState.color].main,\n border: theme.vars ? `1px solid rgba(${theme.vars.palette[ownerState.color].mainChannel} / 0.5)` : `1px solid ${alpha(theme.palette[ownerState.color].main, 0.5)}`\n }, ownerState.variant === 'contained' && {\n color: theme.vars ?\n // this is safe because grey does not change between default light/dark mode\n theme.vars.palette.text.primary : (_theme$palette$getCon = (_theme$palette = theme.palette).getContrastText) == null ? void 0 : _theme$palette$getCon.call(_theme$palette, theme.palette.grey[300]),\n backgroundColor: theme.vars ? theme.vars.palette.Button.inheritContainedBg : inheritContainedBackgroundColor,\n boxShadow: (theme.vars || theme).shadows[2]\n }, ownerState.variant === 'contained' && ownerState.color !== 'inherit' && {\n color: (theme.vars || theme).palette[ownerState.color].contrastText,\n backgroundColor: (theme.vars || theme).palette[ownerState.color].main\n }, ownerState.color === 'inherit' && {\n color: 'inherit',\n borderColor: 'currentColor'\n }, ownerState.size === 'small' && ownerState.variant === 'text' && {\n padding: '4px 5px',\n fontSize: theme.typography.pxToRem(13)\n }, ownerState.size === 'large' && ownerState.variant === 'text' && {\n padding: '8px 11px',\n fontSize: theme.typography.pxToRem(15)\n }, ownerState.size === 'small' && ownerState.variant === 'outlined' && {\n padding: '3px 9px',\n fontSize: theme.typography.pxToRem(13)\n }, ownerState.size === 'large' && ownerState.variant === 'outlined' && {\n padding: '7px 21px',\n fontSize: theme.typography.pxToRem(15)\n }, ownerState.size === 'small' && ownerState.variant === 'contained' && {\n padding: '4px 10px',\n fontSize: theme.typography.pxToRem(13)\n }, ownerState.size === 'large' && ownerState.variant === 'contained' && {\n padding: '8px 22px',\n fontSize: theme.typography.pxToRem(15)\n }, ownerState.fullWidth && {\n width: '100%'\n });\n}, ({\n ownerState\n}) => ownerState.disableElevation && {\n boxShadow: 'none',\n '&:hover': {\n boxShadow: 'none'\n },\n [`&.${buttonClasses.focusVisible}`]: {\n boxShadow: 'none'\n },\n '&:active': {\n boxShadow: 'none'\n },\n [`&.${buttonClasses.disabled}`]: {\n boxShadow: 'none'\n }\n});\nconst ButtonStartIcon = styled('span', {\n name: 'MuiButton',\n slot: 'StartIcon',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.startIcon, styles[`iconSize${capitalize(ownerState.size)}`]];\n }\n})(({\n ownerState\n}) => _extends({\n display: 'inherit',\n marginRight: 8,\n marginLeft: -4\n}, ownerState.size === 'small' && {\n marginLeft: -2\n}, commonIconStyles(ownerState)));\nconst ButtonEndIcon = styled('span', {\n name: 'MuiButton',\n slot: 'EndIcon',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.endIcon, styles[`iconSize${capitalize(ownerState.size)}`]];\n }\n})(({\n ownerState\n}) => _extends({\n display: 'inherit',\n marginRight: -4,\n marginLeft: 8\n}, ownerState.size === 'small' && {\n marginRight: -2\n}, commonIconStyles(ownerState)));\nconst Button = /*#__PURE__*/React.forwardRef(function Button(inProps, ref) {\n // props priority: `inProps` > `contextProps` > `themeDefaultProps`\n const contextProps = React.useContext(ButtonGroupContext);\n const buttonGroupButtonContextPositionClassName = React.useContext(ButtonGroupButtonContext);\n const resolvedProps = resolveProps(contextProps, inProps);\n const props = useThemeProps({\n props: resolvedProps,\n name: 'MuiButton'\n });\n const {\n children,\n color = 'primary',\n component = 'button',\n className,\n disabled = false,\n disableElevation = false,\n disableFocusRipple = false,\n endIcon: endIconProp,\n focusVisibleClassName,\n fullWidth = false,\n size = 'medium',\n startIcon: startIconProp,\n type,\n variant = 'text'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n color,\n component,\n disabled,\n disableElevation,\n disableFocusRipple,\n fullWidth,\n size,\n type,\n variant\n });\n const classes = useUtilityClasses(ownerState);\n const startIcon = startIconProp && /*#__PURE__*/_jsx(ButtonStartIcon, {\n className: classes.startIcon,\n ownerState: ownerState,\n children: startIconProp\n });\n const endIcon = endIconProp && /*#__PURE__*/_jsx(ButtonEndIcon, {\n className: classes.endIcon,\n ownerState: ownerState,\n children: endIconProp\n });\n const positionClassName = buttonGroupButtonContextPositionClassName || '';\n return /*#__PURE__*/_jsxs(ButtonRoot, _extends({\n ownerState: ownerState,\n className: clsx(contextProps.className, classes.root, className, positionClassName),\n component: component,\n disabled: disabled,\n focusRipple: !disableFocusRipple,\n focusVisibleClassName: clsx(classes.focusVisible, focusVisibleClassName),\n ref: ref,\n type: type\n }, other, {\n classes: classes,\n children: [startIcon, children, endIcon]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Button.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * @default 'primary'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['inherit', 'primary', 'secondary', 'success', 'error', 'info', 'warning']), PropTypes.string]),\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, no elevation is used.\n * @default false\n */\n disableElevation: PropTypes.bool,\n /**\n * If `true`, the keyboard focus ripple is disabled.\n * @default false\n */\n disableFocusRipple: PropTypes.bool,\n /**\n * If `true`, the ripple effect is disabled.\n *\n * ⚠️ Without a ripple there is no styling for :focus-visible by default. Be sure\n * to highlight the element by applying separate styles with the `.Mui-focusVisible` class.\n * @default false\n */\n disableRipple: PropTypes.bool,\n /**\n * Element placed after the children.\n */\n endIcon: PropTypes.node,\n /**\n * @ignore\n */\n focusVisibleClassName: PropTypes.string,\n /**\n * If `true`, the button will take up the full width of its container.\n * @default false\n */\n fullWidth: PropTypes.bool,\n /**\n * The URL to link to when the button is clicked.\n * If defined, an `a` element will be used as the root node.\n */\n href: PropTypes.string,\n /**\n * The size of the component.\n * `small` is equivalent to the dense button styling.\n * @default 'medium'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['small', 'medium', 'large']), PropTypes.string]),\n /**\n * Element placed before the children.\n */\n startIcon: PropTypes.node,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * @ignore\n */\n type: PropTypes.oneOfType([PropTypes.oneOf(['button', 'reset', 'submit']), PropTypes.string]),\n /**\n * The variant to use.\n * @default 'text'\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['contained', 'outlined', 'text']), PropTypes.string])\n} : void 0;\nexport default Button;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getCardUtilityClass(slot) {\n return generateUtilityClass('MuiCard', slot);\n}\nconst cardClasses = generateUtilityClasses('MuiCard', ['root']);\nexport default cardClasses;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"className\", \"raised\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport chainPropTypes from '@mui/utils/chainPropTypes';\nimport composeClasses from '@mui/utils/composeClasses';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport Paper from '../Paper';\nimport { getCardUtilityClass } from './cardClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getCardUtilityClass, classes);\n};\nconst CardRoot = styled(Paper, {\n name: 'MuiCard',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})(() => {\n return {\n overflow: 'hidden'\n };\n});\nconst Card = /*#__PURE__*/React.forwardRef(function Card(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiCard'\n });\n const {\n className,\n raised = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n raised\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(CardRoot, _extends({\n className: clsx(classes.root, className),\n elevation: raised ? 8 : undefined,\n ref: ref,\n ownerState: ownerState\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? Card.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * If `true`, the card will use raised styling.\n * @default false\n */\n raised: chainPropTypes(PropTypes.bool, props => {\n if (props.raised && props.variant === 'outlined') {\n return new Error('MUI: Combining `raised={true}` with `variant=\"outlined\"` has no effect.');\n }\n return null;\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default Card;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getCardActionsUtilityClass(slot) {\n return generateUtilityClass('MuiCardActions', slot);\n}\nconst cardActionsClasses = generateUtilityClasses('MuiCardActions', ['root', 'spacing']);\nexport default cardActionsClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"disableSpacing\", \"className\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport { getCardActionsUtilityClass } from './cardActionsClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disableSpacing\n } = ownerState;\n const slots = {\n root: ['root', !disableSpacing && 'spacing']\n };\n return composeClasses(slots, getCardActionsUtilityClass, classes);\n};\nconst CardActionsRoot = styled('div', {\n name: 'MuiCardActions',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, !ownerState.disableSpacing && styles.spacing];\n }\n})(({\n ownerState\n}) => _extends({\n display: 'flex',\n alignItems: 'center',\n padding: 8\n}, !ownerState.disableSpacing && {\n '& > :not(style) ~ :not(style)': {\n marginLeft: 8\n }\n}));\nconst CardActions = /*#__PURE__*/React.forwardRef(function CardActions(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiCardActions'\n });\n const {\n disableSpacing = false,\n className\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n disableSpacing\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(CardActionsRoot, _extends({\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? CardActions.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * If `true`, the actions do not have additional margin.\n * @default false\n */\n disableSpacing: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default CardActions;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getCardContentUtilityClass(slot) {\n return generateUtilityClass('MuiCardContent', slot);\n}\nconst cardContentClasses = generateUtilityClasses('MuiCardContent', ['root']);\nexport default cardContentClasses;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"className\", \"component\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport { getCardContentUtilityClass } from './cardContentClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getCardContentUtilityClass, classes);\n};\nconst CardContentRoot = styled('div', {\n name: 'MuiCardContent',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})(() => {\n return {\n padding: 16,\n '&:last-child': {\n paddingBottom: 24\n }\n };\n});\nconst CardContent = /*#__PURE__*/React.forwardRef(function CardContent(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiCardContent'\n });\n const {\n className,\n component = 'div'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n component\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(CardContentRoot, _extends({\n as: component,\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? CardContent.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default CardContent;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getSwitchBaseUtilityClass(slot) {\n return generateUtilityClass('PrivateSwitchBase', slot);\n}\nconst switchBaseClasses = generateUtilityClasses('PrivateSwitchBase', ['root', 'checked', 'disabled', 'input', 'edgeStart', 'edgeEnd']);\nexport default switchBaseClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"autoFocus\", \"checked\", \"checkedIcon\", \"className\", \"defaultChecked\", \"disabled\", \"disableFocusRipple\", \"edge\", \"icon\", \"id\", \"inputProps\", \"inputRef\", \"name\", \"onBlur\", \"onChange\", \"onFocus\", \"readOnly\", \"required\", \"tabIndex\", \"type\", \"value\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport refType from '@mui/utils/refType';\nimport composeClasses from '@mui/utils/composeClasses';\nimport capitalize from '../utils/capitalize';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useControlled from '../utils/useControlled';\nimport useFormControl from '../FormControl/useFormControl';\nimport ButtonBase from '../ButtonBase';\nimport { getSwitchBaseUtilityClass } from './switchBaseClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n checked,\n disabled,\n edge\n } = ownerState;\n const slots = {\n root: ['root', checked && 'checked', disabled && 'disabled', edge && `edge${capitalize(edge)}`],\n input: ['input']\n };\n return composeClasses(slots, getSwitchBaseUtilityClass, classes);\n};\nconst SwitchBaseRoot = styled(ButtonBase)(({\n ownerState\n}) => _extends({\n padding: 9,\n borderRadius: '50%'\n}, ownerState.edge === 'start' && {\n marginLeft: ownerState.size === 'small' ? -3 : -12\n}, ownerState.edge === 'end' && {\n marginRight: ownerState.size === 'small' ? -3 : -12\n}));\nconst SwitchBaseInput = styled('input', {\n shouldForwardProp: rootShouldForwardProp\n})({\n cursor: 'inherit',\n position: 'absolute',\n opacity: 0,\n width: '100%',\n height: '100%',\n top: 0,\n left: 0,\n margin: 0,\n padding: 0,\n zIndex: 1\n});\n\n/**\n * @ignore - internal component.\n */\nconst SwitchBase = /*#__PURE__*/React.forwardRef(function SwitchBase(props, ref) {\n const {\n autoFocus,\n checked: checkedProp,\n checkedIcon,\n className,\n defaultChecked,\n disabled: disabledProp,\n disableFocusRipple = false,\n edge = false,\n icon,\n id,\n inputProps,\n inputRef,\n name,\n onBlur,\n onChange,\n onFocus,\n readOnly,\n required = false,\n tabIndex,\n type,\n value\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const [checked, setCheckedState] = useControlled({\n controlled: checkedProp,\n default: Boolean(defaultChecked),\n name: 'SwitchBase',\n state: 'checked'\n });\n const muiFormControl = useFormControl();\n const handleFocus = event => {\n if (onFocus) {\n onFocus(event);\n }\n if (muiFormControl && muiFormControl.onFocus) {\n muiFormControl.onFocus(event);\n }\n };\n const handleBlur = event => {\n if (onBlur) {\n onBlur(event);\n }\n if (muiFormControl && muiFormControl.onBlur) {\n muiFormControl.onBlur(event);\n }\n };\n const handleInputChange = event => {\n // Workaround for https://github.com/facebook/react/issues/9023\n if (event.nativeEvent.defaultPrevented) {\n return;\n }\n const newChecked = event.target.checked;\n setCheckedState(newChecked);\n if (onChange) {\n // TODO v6: remove the second argument.\n onChange(event, newChecked);\n }\n };\n let disabled = disabledProp;\n if (muiFormControl) {\n if (typeof disabled === 'undefined') {\n disabled = muiFormControl.disabled;\n }\n }\n const hasLabelFor = type === 'checkbox' || type === 'radio';\n const ownerState = _extends({}, props, {\n checked,\n disabled,\n disableFocusRipple,\n edge\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(SwitchBaseRoot, _extends({\n component: \"span\",\n className: clsx(classes.root, className),\n centerRipple: true,\n focusRipple: !disableFocusRipple,\n disabled: disabled,\n tabIndex: null,\n role: undefined,\n onFocus: handleFocus,\n onBlur: handleBlur,\n ownerState: ownerState,\n ref: ref\n }, other, {\n children: [/*#__PURE__*/_jsx(SwitchBaseInput, _extends({\n autoFocus: autoFocus,\n checked: checkedProp,\n defaultChecked: defaultChecked,\n className: classes.input,\n disabled: disabled,\n id: hasLabelFor ? id : undefined,\n name: name,\n onChange: handleInputChange,\n readOnly: readOnly,\n ref: inputRef,\n required: required,\n ownerState: ownerState,\n tabIndex: tabIndex,\n type: type\n }, type === 'checkbox' && value === undefined ? {} : {\n value\n }, inputProps)), checked ? checkedIcon : icon]\n }));\n});\n\n// NB: If changed, please update Checkbox, Switch and Radio\n// so that the API documentation is updated.\nprocess.env.NODE_ENV !== \"production\" ? SwitchBase.propTypes = {\n /**\n * If `true`, the `input` element is focused during the first mount.\n */\n autoFocus: PropTypes.bool,\n /**\n * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n /**\n * The icon to display when the component is checked.\n */\n checkedIcon: PropTypes.node.isRequired,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * @ignore\n */\n defaultChecked: PropTypes.bool,\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the keyboard focus ripple is disabled.\n * @default false\n */\n disableFocusRipple: PropTypes.bool,\n /**\n * If given, uses a negative margin to counteract the padding on one\n * side (this is often helpful for aligning the left or right\n * side of the icon with content above or below, without ruining the border\n * size and shape).\n * @default false\n */\n edge: PropTypes.oneOf(['end', 'start', false]),\n /**\n * The icon to display when the component is unchecked.\n */\n icon: PropTypes.node.isRequired,\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: PropTypes.object,\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n /*\n * @ignore\n */\n name: PropTypes.string,\n /**\n * @ignore\n */\n onBlur: PropTypes.func,\n /**\n * Callback fired when the state is changed.\n *\n * @param {object} event The event source of the callback.\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n /**\n * It prevents the user from changing the value of the field\n * (not from interacting with the field).\n */\n readOnly: PropTypes.bool,\n /**\n * If `true`, the `input` element is required.\n */\n required: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.object,\n /**\n * @ignore\n */\n tabIndex: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * The input component prop `type`.\n */\n type: PropTypes.string.isRequired,\n /**\n * The value of the component.\n */\n value: PropTypes.any\n} : void 0;\nexport default SwitchBase;","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z\"\n}), 'CheckBoxOutlineBlank');","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z\"\n}), 'CheckBox');","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z\"\n}), 'IndeterminateCheckBox');","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getCheckboxUtilityClass(slot) {\n return generateUtilityClass('MuiCheckbox', slot);\n}\nconst checkboxClasses = generateUtilityClasses('MuiCheckbox', ['root', 'checked', 'disabled', 'indeterminate', 'colorPrimary', 'colorSecondary', 'sizeSmall', 'sizeMedium']);\nexport default checkboxClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"checkedIcon\", \"color\", \"icon\", \"indeterminate\", \"indeterminateIcon\", \"inputProps\", \"size\", \"className\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport refType from '@mui/utils/refType';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { alpha } from '@mui/system/colorManipulator';\nimport SwitchBase from '../internal/SwitchBase';\nimport CheckBoxOutlineBlankIcon from '../internal/svg-icons/CheckBoxOutlineBlank';\nimport CheckBoxIcon from '../internal/svg-icons/CheckBox';\nimport IndeterminateCheckBoxIcon from '../internal/svg-icons/IndeterminateCheckBox';\nimport capitalize from '../utils/capitalize';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport checkboxClasses, { getCheckboxUtilityClass } from './checkboxClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n indeterminate,\n color,\n size\n } = ownerState;\n const slots = {\n root: ['root', indeterminate && 'indeterminate', `color${capitalize(color)}`, `size${capitalize(size)}`]\n };\n const composedClasses = composeClasses(slots, getCheckboxUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\nconst CheckboxRoot = styled(SwitchBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiCheckbox',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.indeterminate && styles.indeterminate, styles[`size${capitalize(ownerState.size)}`], ownerState.color !== 'default' && styles[`color${capitalize(ownerState.color)}`]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n color: (theme.vars || theme).palette.text.secondary\n}, !ownerState.disableRipple && {\n '&:hover': {\n backgroundColor: theme.vars ? `rgba(${ownerState.color === 'default' ? theme.vars.palette.action.activeChannel : theme.vars.palette[ownerState.color].mainChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(ownerState.color === 'default' ? theme.palette.action.active : theme.palette[ownerState.color].main, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n}, ownerState.color !== 'default' && {\n [`&.${checkboxClasses.checked}, &.${checkboxClasses.indeterminate}`]: {\n color: (theme.vars || theme).palette[ownerState.color].main\n },\n [`&.${checkboxClasses.disabled}`]: {\n color: (theme.vars || theme).palette.action.disabled\n }\n}));\nconst defaultCheckedIcon = /*#__PURE__*/_jsx(CheckBoxIcon, {});\nconst defaultIcon = /*#__PURE__*/_jsx(CheckBoxOutlineBlankIcon, {});\nconst defaultIndeterminateIcon = /*#__PURE__*/_jsx(IndeterminateCheckBoxIcon, {});\nconst Checkbox = /*#__PURE__*/React.forwardRef(function Checkbox(inProps, ref) {\n var _icon$props$fontSize, _indeterminateIcon$pr;\n const props = useThemeProps({\n props: inProps,\n name: 'MuiCheckbox'\n });\n const {\n checkedIcon = defaultCheckedIcon,\n color = 'primary',\n icon: iconProp = defaultIcon,\n indeterminate = false,\n indeterminateIcon: indeterminateIconProp = defaultIndeterminateIcon,\n inputProps,\n size = 'medium',\n className\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const icon = indeterminate ? indeterminateIconProp : iconProp;\n const indeterminateIcon = indeterminate ? indeterminateIconProp : checkedIcon;\n const ownerState = _extends({}, props, {\n color,\n indeterminate,\n size\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(CheckboxRoot, _extends({\n type: \"checkbox\",\n inputProps: _extends({\n 'data-indeterminate': indeterminate\n }, inputProps),\n icon: /*#__PURE__*/React.cloneElement(icon, {\n fontSize: (_icon$props$fontSize = icon.props.fontSize) != null ? _icon$props$fontSize : size\n }),\n checkedIcon: /*#__PURE__*/React.cloneElement(indeterminateIcon, {\n fontSize: (_indeterminateIcon$pr = indeterminateIcon.props.fontSize) != null ? _indeterminateIcon$pr : size\n }),\n ownerState: ownerState,\n ref: ref,\n className: clsx(classes.root, className)\n }, other, {\n classes: classes\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Checkbox.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n /**\n * The icon to display when the component is checked.\n * @default <CheckBoxIcon />\n */\n checkedIcon: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * @default 'primary'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['default', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * The default checked state. Use when the component is not controlled.\n */\n defaultChecked: PropTypes.bool,\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the ripple effect is disabled.\n * @default false\n */\n disableRipple: PropTypes.bool,\n /**\n * The icon to display when the component is unchecked.\n * @default <CheckBoxOutlineBlankIcon />\n */\n icon: PropTypes.node,\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n /**\n * If `true`, the component appears indeterminate.\n * This does not set the native input element to indeterminate due\n * to inconsistent behavior across browsers.\n * However, we set a `data-indeterminate` attribute on the `input`.\n * @default false\n */\n indeterminate: PropTypes.bool,\n /**\n * The icon to display when the component is indeterminate.\n * @default <IndeterminateCheckBoxIcon />\n */\n indeterminateIcon: PropTypes.node,\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: PropTypes.object,\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n /**\n * Callback fired when the state is changed.\n *\n * @param {React.ChangeEvent<HTMLInputElement>} event The event source of the callback.\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n /**\n * If `true`, the `input` element is required.\n * @default false\n */\n required: PropTypes.bool,\n /**\n * The size of the component.\n * `small` is equivalent to the dense checkbox styling.\n * @default 'medium'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The value of the component. The DOM API casts this to a string.\n * The browser uses \"on\" as the default value.\n */\n value: PropTypes.any\n} : void 0;\nexport default Checkbox;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getCircularProgressUtilityClass(slot) {\n return generateUtilityClass('MuiCircularProgress', slot);\n}\nconst circularProgressClasses = generateUtilityClasses('MuiCircularProgress', ['root', 'determinate', 'indeterminate', 'colorPrimary', 'colorSecondary', 'svg', 'circle', 'circleDeterminate', 'circleIndeterminate', 'circleDisableShrink']);\nexport default circularProgressClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"color\", \"disableShrink\", \"size\", \"style\", \"thickness\", \"value\", \"variant\"];\nlet _ = t => t,\n _t,\n _t2,\n _t3,\n _t4;\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport chainPropTypes from '@mui/utils/chainPropTypes';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { keyframes, css } from '@mui/system';\nimport capitalize from '../utils/capitalize';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport { getCircularProgressUtilityClass } from './circularProgressClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst SIZE = 44;\nconst circularRotateKeyframe = keyframes(_t || (_t = _`\n 0% {\n transform: rotate(0deg);\n }\n\n 100% {\n transform: rotate(360deg);\n }\n`));\nconst circularDashKeyframe = keyframes(_t2 || (_t2 = _`\n 0% {\n stroke-dasharray: 1px, 200px;\n stroke-dashoffset: 0;\n }\n\n 50% {\n stroke-dasharray: 100px, 200px;\n stroke-dashoffset: -15px;\n }\n\n 100% {\n stroke-dasharray: 100px, 200px;\n stroke-dashoffset: -125px;\n }\n`));\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n variant,\n color,\n disableShrink\n } = ownerState;\n const slots = {\n root: ['root', variant, `color${capitalize(color)}`],\n svg: ['svg'],\n circle: ['circle', `circle${capitalize(variant)}`, disableShrink && 'circleDisableShrink']\n };\n return composeClasses(slots, getCircularProgressUtilityClass, classes);\n};\nconst CircularProgressRoot = styled('span', {\n name: 'MuiCircularProgress',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[ownerState.variant], styles[`color${capitalize(ownerState.color)}`]];\n }\n})(({\n ownerState,\n theme\n}) => _extends({\n display: 'inline-block'\n}, ownerState.variant === 'determinate' && {\n transition: theme.transitions.create('transform')\n}, ownerState.color !== 'inherit' && {\n color: (theme.vars || theme).palette[ownerState.color].main\n}), ({\n ownerState\n}) => ownerState.variant === 'indeterminate' && css(_t3 || (_t3 = _`\n animation: ${0} 1.4s linear infinite;\n `), circularRotateKeyframe));\nconst CircularProgressSVG = styled('svg', {\n name: 'MuiCircularProgress',\n slot: 'Svg',\n overridesResolver: (props, styles) => styles.svg\n})({\n display: 'block' // Keeps the progress centered\n});\nconst CircularProgressCircle = styled('circle', {\n name: 'MuiCircularProgress',\n slot: 'Circle',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.circle, styles[`circle${capitalize(ownerState.variant)}`], ownerState.disableShrink && styles.circleDisableShrink];\n }\n})(({\n ownerState,\n theme\n}) => _extends({\n stroke: 'currentColor'\n}, ownerState.variant === 'determinate' && {\n transition: theme.transitions.create('stroke-dashoffset')\n}, ownerState.variant === 'indeterminate' && {\n // Some default value that looks fine waiting for the animation to kicks in.\n strokeDasharray: '80px, 200px',\n strokeDashoffset: 0 // Add the unit to fix a Edge 16 and below bug.\n}), ({\n ownerState\n}) => ownerState.variant === 'indeterminate' && !ownerState.disableShrink && css(_t4 || (_t4 = _`\n animation: ${0} 1.4s ease-in-out infinite;\n `), circularDashKeyframe));\n\n/**\n * ## ARIA\n *\n * If the progress bar is describing the loading progress of a particular region of a page,\n * you should use `aria-describedby` to point to the progress bar, and set the `aria-busy`\n * attribute to `true` on that region until it has finished loading.\n */\nconst CircularProgress = /*#__PURE__*/React.forwardRef(function CircularProgress(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiCircularProgress'\n });\n const {\n className,\n color = 'primary',\n disableShrink = false,\n size = 40,\n style,\n thickness = 3.6,\n value = 0,\n variant = 'indeterminate'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n color,\n disableShrink,\n size,\n thickness,\n value,\n variant\n });\n const classes = useUtilityClasses(ownerState);\n const circleStyle = {};\n const rootStyle = {};\n const rootProps = {};\n if (variant === 'determinate') {\n const circumference = 2 * Math.PI * ((SIZE - thickness) / 2);\n circleStyle.strokeDasharray = circumference.toFixed(3);\n rootProps['aria-valuenow'] = Math.round(value);\n circleStyle.strokeDashoffset = `${((100 - value) / 100 * circumference).toFixed(3)}px`;\n rootStyle.transform = 'rotate(-90deg)';\n }\n return /*#__PURE__*/_jsx(CircularProgressRoot, _extends({\n className: clsx(classes.root, className),\n style: _extends({\n width: size,\n height: size\n }, rootStyle, style),\n ownerState: ownerState,\n ref: ref,\n role: \"progressbar\"\n }, rootProps, other, {\n children: /*#__PURE__*/_jsx(CircularProgressSVG, {\n className: classes.svg,\n ownerState: ownerState,\n viewBox: `${SIZE / 2} ${SIZE / 2} ${SIZE} ${SIZE}`,\n children: /*#__PURE__*/_jsx(CircularProgressCircle, {\n className: classes.circle,\n style: circleStyle,\n ownerState: ownerState,\n cx: SIZE,\n cy: SIZE,\n r: (SIZE - thickness) / 2,\n fill: \"none\",\n strokeWidth: thickness\n })\n })\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? CircularProgress.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * @default 'primary'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['inherit', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * If `true`, the shrink animation is disabled.\n * This only works if variant is `indeterminate`.\n * @default false\n */\n disableShrink: chainPropTypes(PropTypes.bool, props => {\n if (props.disableShrink && props.variant && props.variant !== 'indeterminate') {\n return new Error('MUI: You have provided the `disableShrink` prop ' + 'with a variant other than `indeterminate`. This will have no effect.');\n }\n return null;\n }),\n /**\n * The size of the component.\n * If using a number, the pixel unit is assumed.\n * If using a string, you need to provide the CSS unit, for example '3rem'.\n * @default 40\n */\n size: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * @ignore\n */\n style: PropTypes.object,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The thickness of the circle.\n * @default 3.6\n */\n thickness: PropTypes.number,\n /**\n * The value of the progress indicator for the determinate variant.\n * Value between 0 and 100.\n * @default 0\n */\n value: PropTypes.number,\n /**\n * The variant to use.\n * Use indeterminate when there is no progress value.\n * @default 'indeterminate'\n */\n variant: PropTypes.oneOf(['determinate', 'indeterminate'])\n} : void 0;\nexport default CircularProgress;","'use client';\n\nimport PropTypes from 'prop-types';\nimport { createContainer } from '@mui/system';\nimport capitalize from '../utils/capitalize';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nconst Container = createContainer({\n createStyledComponent: styled('div', {\n name: 'MuiContainer',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`maxWidth${capitalize(String(ownerState.maxWidth))}`], ownerState.fixed && styles.fixed, ownerState.disableGutters && styles.disableGutters];\n }\n }),\n useThemeProps: inProps => useThemeProps({\n props: inProps,\n name: 'MuiContainer'\n })\n});\nprocess.env.NODE_ENV !== \"production\" ? Container.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * @ignore\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * If `true`, the left and right padding is removed.\n * @default false\n */\n disableGutters: PropTypes.bool,\n /**\n * Set the max-width to match the min-width of the current breakpoint.\n * This is useful if you'd prefer to design for a fixed set of sizes\n * instead of trying to accommodate a fully fluid viewport.\n * It's fluid by default.\n * @default false\n */\n fixed: PropTypes.bool,\n /**\n * Determine the max-width of the container.\n * The container width grows with the size of the screen.\n * Set to `false` to disable `maxWidth`.\n * @default 'lg'\n */\n maxWidth: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['xs', 'sm', 'md', 'lg', 'xl', false]), PropTypes.string]),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default Container;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport useThemeProps from '../styles/useThemeProps';\nimport GlobalStyles from '../GlobalStyles';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport const html = (theme, enableColorScheme) => _extends({\n WebkitFontSmoothing: 'antialiased',\n // Antialiasing.\n MozOsxFontSmoothing: 'grayscale',\n // Antialiasing.\n // Change from `box-sizing: content-box` so that `width`\n // is not affected by `padding` or `border`.\n boxSizing: 'border-box',\n // Fix font resize problem in iOS\n WebkitTextSizeAdjust: '100%'\n}, enableColorScheme && !theme.vars && {\n colorScheme: theme.palette.mode\n});\nexport const body = theme => _extends({\n color: (theme.vars || theme).palette.text.primary\n}, theme.typography.body1, {\n backgroundColor: (theme.vars || theme).palette.background.default,\n '@media print': {\n // Save printer ink.\n backgroundColor: (theme.vars || theme).palette.common.white\n }\n});\nexport const styles = (theme, enableColorScheme = false) => {\n var _theme$components;\n const colorSchemeStyles = {};\n if (enableColorScheme && theme.colorSchemes) {\n Object.entries(theme.colorSchemes).forEach(([key, scheme]) => {\n var _scheme$palette;\n colorSchemeStyles[theme.getColorSchemeSelector(key).replace(/\\s*&/, '')] = {\n colorScheme: (_scheme$palette = scheme.palette) == null ? void 0 : _scheme$palette.mode\n };\n });\n }\n let defaultStyles = _extends({\n html: html(theme, enableColorScheme),\n '*, *::before, *::after': {\n boxSizing: 'inherit'\n },\n 'strong, b': {\n fontWeight: theme.typography.fontWeightBold\n },\n body: _extends({\n margin: 0\n }, body(theme), {\n // Add support for document.body.requestFullScreen().\n // Other elements, if background transparent, are not supported.\n '&::backdrop': {\n backgroundColor: (theme.vars || theme).palette.background.default\n }\n })\n }, colorSchemeStyles);\n const themeOverrides = (_theme$components = theme.components) == null || (_theme$components = _theme$components.MuiCssBaseline) == null ? void 0 : _theme$components.styleOverrides;\n if (themeOverrides) {\n defaultStyles = [defaultStyles, themeOverrides];\n }\n return defaultStyles;\n};\n\n/**\n * Kickstart an elegant, consistent, and simple baseline to build upon.\n */\nfunction CssBaseline(inProps) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiCssBaseline'\n });\n const {\n children,\n enableColorScheme = false\n } = props;\n return /*#__PURE__*/_jsxs(React.Fragment, {\n children: [/*#__PURE__*/_jsx(GlobalStyles, {\n styles: theme => styles(theme, enableColorScheme)\n }), children]\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? CssBaseline.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * You can wrap a node.\n */\n children: PropTypes.node,\n /**\n * Enable `color-scheme` CSS property to use `theme.palette.mode`.\n * For more details, check out https://developer.mozilla.org/en-US/docs/Web/CSS/color-scheme\n * For browser support, check out https://caniuse.com/?search=color-scheme\n * @default false\n */\n enableColorScheme: PropTypes.bool\n} : void 0;\nexport default CssBaseline;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getModalUtilityClass(slot) {\n return generateUtilityClass('MuiModal', slot);\n}\nconst modalClasses = generateUtilityClasses('MuiModal', ['root', 'hidden', 'backdrop']);\nexport default modalClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"BackdropComponent\", \"BackdropProps\", \"classes\", \"className\", \"closeAfterTransition\", \"children\", \"container\", \"component\", \"components\", \"componentsProps\", \"disableAutoFocus\", \"disableEnforceFocus\", \"disableEscapeKeyDown\", \"disablePortal\", \"disableRestoreFocus\", \"disableScrollLock\", \"hideBackdrop\", \"keepMounted\", \"onBackdropClick\", \"onClose\", \"onTransitionEnter\", \"onTransitionExited\", \"open\", \"slotProps\", \"slots\", \"theme\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport HTMLElementType from '@mui/utils/HTMLElementType';\nimport elementAcceptingRef from '@mui/utils/elementAcceptingRef';\nimport { useSlotProps } from '@mui/base/utils';\nimport { unstable_useModal as useModal } from '@mui/base/unstable_useModal';\nimport composeClasses from '@mui/utils/composeClasses';\nimport FocusTrap from '../Unstable_TrapFocus';\nimport Portal from '../Portal';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport Backdrop from '../Backdrop';\nimport { getModalUtilityClass } from './modalClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n open,\n exited,\n classes\n } = ownerState;\n const slots = {\n root: ['root', !open && exited && 'hidden'],\n backdrop: ['backdrop']\n };\n return composeClasses(slots, getModalUtilityClass, classes);\n};\nconst ModalRoot = styled('div', {\n name: 'MuiModal',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, !ownerState.open && ownerState.exited && styles.hidden];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n position: 'fixed',\n zIndex: (theme.vars || theme).zIndex.modal,\n right: 0,\n bottom: 0,\n top: 0,\n left: 0\n}, !ownerState.open && ownerState.exited && {\n visibility: 'hidden'\n}));\nconst ModalBackdrop = styled(Backdrop, {\n name: 'MuiModal',\n slot: 'Backdrop',\n overridesResolver: (props, styles) => {\n return styles.backdrop;\n }\n})({\n zIndex: -1\n});\n\n/**\n * Modal is a lower-level construct that is leveraged by the following components:\n *\n * - [Dialog](/material-ui/api/dialog/)\n * - [Drawer](/material-ui/api/drawer/)\n * - [Menu](/material-ui/api/menu/)\n * - [Popover](/material-ui/api/popover/)\n *\n * If you are creating a modal dialog, you probably want to use the [Dialog](/material-ui/api/dialog/) component\n * rather than directly using Modal.\n *\n * This component shares many concepts with [react-overlays](https://react-bootstrap.github.io/react-overlays/#modals).\n */\nconst Modal = /*#__PURE__*/React.forwardRef(function Modal(inProps, ref) {\n var _ref, _slots$root, _ref2, _slots$backdrop, _slotProps$root, _slotProps$backdrop;\n const props = useThemeProps({\n name: 'MuiModal',\n props: inProps\n });\n const {\n BackdropComponent = ModalBackdrop,\n BackdropProps,\n className,\n closeAfterTransition = false,\n children,\n container,\n component,\n components = {},\n componentsProps = {},\n disableAutoFocus = false,\n disableEnforceFocus = false,\n disableEscapeKeyDown = false,\n disablePortal = false,\n disableRestoreFocus = false,\n disableScrollLock = false,\n hideBackdrop = false,\n keepMounted = false,\n onBackdropClick,\n open,\n slotProps,\n slots\n // eslint-disable-next-line react/prop-types\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const propsWithDefaults = _extends({}, props, {\n closeAfterTransition,\n disableAutoFocus,\n disableEnforceFocus,\n disableEscapeKeyDown,\n disablePortal,\n disableRestoreFocus,\n disableScrollLock,\n hideBackdrop,\n keepMounted\n });\n const {\n getRootProps,\n getBackdropProps,\n getTransitionProps,\n portalRef,\n isTopModal,\n exited,\n hasTransition\n } = useModal(_extends({}, propsWithDefaults, {\n rootRef: ref\n }));\n const ownerState = _extends({}, propsWithDefaults, {\n exited\n });\n const classes = useUtilityClasses(ownerState);\n const childProps = {};\n if (children.props.tabIndex === undefined) {\n childProps.tabIndex = '-1';\n }\n\n // It's a Transition like component\n if (hasTransition) {\n const {\n onEnter,\n onExited\n } = getTransitionProps();\n childProps.onEnter = onEnter;\n childProps.onExited = onExited;\n }\n const RootSlot = (_ref = (_slots$root = slots == null ? void 0 : slots.root) != null ? _slots$root : components.Root) != null ? _ref : ModalRoot;\n const BackdropSlot = (_ref2 = (_slots$backdrop = slots == null ? void 0 : slots.backdrop) != null ? _slots$backdrop : components.Backdrop) != null ? _ref2 : BackdropComponent;\n const rootSlotProps = (_slotProps$root = slotProps == null ? void 0 : slotProps.root) != null ? _slotProps$root : componentsProps.root;\n const backdropSlotProps = (_slotProps$backdrop = slotProps == null ? void 0 : slotProps.backdrop) != null ? _slotProps$backdrop : componentsProps.backdrop;\n const rootProps = useSlotProps({\n elementType: RootSlot,\n externalSlotProps: rootSlotProps,\n externalForwardedProps: other,\n getSlotProps: getRootProps,\n additionalProps: {\n ref,\n as: component\n },\n ownerState,\n className: clsx(className, rootSlotProps == null ? void 0 : rootSlotProps.className, classes == null ? void 0 : classes.root, !ownerState.open && ownerState.exited && (classes == null ? void 0 : classes.hidden))\n });\n const backdropProps = useSlotProps({\n elementType: BackdropSlot,\n externalSlotProps: backdropSlotProps,\n additionalProps: BackdropProps,\n getSlotProps: otherHandlers => {\n return getBackdropProps(_extends({}, otherHandlers, {\n onClick: e => {\n if (onBackdropClick) {\n onBackdropClick(e);\n }\n if (otherHandlers != null && otherHandlers.onClick) {\n otherHandlers.onClick(e);\n }\n }\n }));\n },\n className: clsx(backdropSlotProps == null ? void 0 : backdropSlotProps.className, BackdropProps == null ? void 0 : BackdropProps.className, classes == null ? void 0 : classes.backdrop),\n ownerState\n });\n if (!keepMounted && !open && (!hasTransition || exited)) {\n return null;\n }\n return /*#__PURE__*/_jsx(Portal, {\n ref: portalRef,\n container: container,\n disablePortal: disablePortal,\n children: /*#__PURE__*/_jsxs(RootSlot, _extends({}, rootProps, {\n children: [!hideBackdrop && BackdropComponent ? /*#__PURE__*/_jsx(BackdropSlot, _extends({}, backdropProps)) : null, /*#__PURE__*/_jsx(FocusTrap, {\n disableEnforceFocus: disableEnforceFocus,\n disableAutoFocus: disableAutoFocus,\n disableRestoreFocus: disableRestoreFocus,\n isEnabled: isTopModal,\n open: open,\n children: /*#__PURE__*/React.cloneElement(children, childProps)\n })]\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Modal.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * A backdrop component. This prop enables custom backdrop rendering.\n * @deprecated Use `slots.backdrop` instead. While this prop currently works, it will be removed in the next major version.\n * Use the `slots.backdrop` prop to make your application ready for the next version of Material UI.\n * @default styled(Backdrop, {\n * name: 'MuiModal',\n * slot: 'Backdrop',\n * overridesResolver: (props, styles) => {\n * return styles.backdrop;\n * },\n * })({\n * zIndex: -1,\n * })\n */\n BackdropComponent: PropTypes.elementType,\n /**\n * Props applied to the [`Backdrop`](/material-ui/api/backdrop/) element.\n * @deprecated Use `slotProps.backdrop` instead.\n */\n BackdropProps: PropTypes.object,\n /**\n * A single child content element.\n */\n children: elementAcceptingRef.isRequired,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * When set to true the Modal waits until a nested Transition is completed before closing.\n * @default false\n */\n closeAfterTransition: PropTypes.bool,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * The components used for each slot inside.\n *\n * This prop is an alias for the `slots` prop.\n * It's recommended to use the `slots` prop instead.\n *\n * @default {}\n */\n components: PropTypes.shape({\n Backdrop: PropTypes.elementType,\n Root: PropTypes.elementType\n }),\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * This prop is an alias for the `slotProps` prop.\n * It's recommended to use the `slotProps` prop instead, as `componentsProps` will be deprecated in the future.\n *\n * @default {}\n */\n componentsProps: PropTypes.shape({\n backdrop: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n root: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * An HTML element or function that returns one.\n * The `container` will have the portal children appended to it.\n *\n * You can also provide a callback, which is called in a React layout effect.\n * This lets you set the container from a ref, and also makes server-side rendering possible.\n *\n * By default, it uses the body of the top-level document object,\n * so it's simply `document.body` most of the time.\n */\n container: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([HTMLElementType, PropTypes.func]),\n /**\n * If `true`, the modal will not automatically shift focus to itself when it opens, and\n * replace it to the last focused element when it closes.\n * This also works correctly with any modal children that have the `disableAutoFocus` prop.\n *\n * Generally this should never be set to `true` as it makes the modal less\n * accessible to assistive technologies, like screen readers.\n * @default false\n */\n disableAutoFocus: PropTypes.bool,\n /**\n * If `true`, the modal will not prevent focus from leaving the modal while open.\n *\n * Generally this should never be set to `true` as it makes the modal less\n * accessible to assistive technologies, like screen readers.\n * @default false\n */\n disableEnforceFocus: PropTypes.bool,\n /**\n * If `true`, hitting escape will not fire the `onClose` callback.\n * @default false\n */\n disableEscapeKeyDown: PropTypes.bool,\n /**\n * The `children` will be under the DOM hierarchy of the parent component.\n * @default false\n */\n disablePortal: PropTypes.bool,\n /**\n * If `true`, the modal will not restore focus to previously focused element once\n * modal is hidden or unmounted.\n * @default false\n */\n disableRestoreFocus: PropTypes.bool,\n /**\n * Disable the scroll lock behavior.\n * @default false\n */\n disableScrollLock: PropTypes.bool,\n /**\n * If `true`, the backdrop is not rendered.\n * @default false\n */\n hideBackdrop: PropTypes.bool,\n /**\n * Always keep the children in the DOM.\n * This prop can be useful in SEO situation or\n * when you want to maximize the responsiveness of the Modal.\n * @default false\n */\n keepMounted: PropTypes.bool,\n /**\n * Callback fired when the backdrop is clicked.\n * @deprecated Use the `onClose` prop with the `reason` argument to handle the `backdropClick` events.\n */\n onBackdropClick: PropTypes.func,\n /**\n * Callback fired when the component requests to be closed.\n * The `reason` parameter can optionally be used to control the response to `onClose`.\n *\n * @param {object} event The event source of the callback.\n * @param {string} reason Can be: `\"escapeKeyDown\"`, `\"backdropClick\"`.\n */\n onClose: PropTypes.func,\n /**\n * A function called when a transition enters.\n */\n onTransitionEnter: PropTypes.func,\n /**\n * A function called when a transition has exited.\n */\n onTransitionExited: PropTypes.func,\n /**\n * If `true`, the component is shown.\n */\n open: PropTypes.bool.isRequired,\n /**\n * The props used for each slot inside the Modal.\n * @default {}\n */\n slotProps: PropTypes.shape({\n backdrop: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n root: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside the Modal.\n * Either a string to use a HTML element or a component.\n * @default {}\n */\n slots: PropTypes.shape({\n backdrop: PropTypes.elementType,\n root: PropTypes.elementType\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default Modal;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getDialogUtilityClass(slot) {\n return generateUtilityClass('MuiDialog', slot);\n}\nconst dialogClasses = generateUtilityClasses('MuiDialog', ['root', 'scrollPaper', 'scrollBody', 'container', 'paper', 'paperScrollPaper', 'paperScrollBody', 'paperWidthFalse', 'paperWidthXs', 'paperWidthSm', 'paperWidthMd', 'paperWidthLg', 'paperWidthXl', 'paperFullWidth', 'paperFullScreen']);\nexport default dialogClasses;","import * as React from 'react';\nconst DialogContext = /*#__PURE__*/React.createContext({});\nif (process.env.NODE_ENV !== 'production') {\n DialogContext.displayName = 'DialogContext';\n}\nexport default DialogContext;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"aria-describedby\", \"aria-labelledby\", \"BackdropComponent\", \"BackdropProps\", \"children\", \"className\", \"disableEscapeKeyDown\", \"fullScreen\", \"fullWidth\", \"maxWidth\", \"onBackdropClick\", \"onClose\", \"open\", \"PaperComponent\", \"PaperProps\", \"scroll\", \"TransitionComponent\", \"transitionDuration\", \"TransitionProps\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport useId from '@mui/utils/useId';\nimport capitalize from '../utils/capitalize';\nimport Modal from '../Modal';\nimport Fade from '../Fade';\nimport Paper from '../Paper';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport dialogClasses, { getDialogUtilityClass } from './dialogClasses';\nimport DialogContext from './DialogContext';\nimport Backdrop from '../Backdrop';\nimport useTheme from '../styles/useTheme';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst DialogBackdrop = styled(Backdrop, {\n name: 'MuiDialog',\n slot: 'Backdrop',\n overrides: (props, styles) => styles.backdrop\n})({\n // Improve scrollable dialog support.\n zIndex: -1\n});\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n scroll,\n maxWidth,\n fullWidth,\n fullScreen\n } = ownerState;\n const slots = {\n root: ['root'],\n container: ['container', `scroll${capitalize(scroll)}`],\n paper: ['paper', `paperScroll${capitalize(scroll)}`, `paperWidth${capitalize(String(maxWidth))}`, fullWidth && 'paperFullWidth', fullScreen && 'paperFullScreen']\n };\n return composeClasses(slots, getDialogUtilityClass, classes);\n};\nconst DialogRoot = styled(Modal, {\n name: 'MuiDialog',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({\n '@media print': {\n // Use !important to override the Modal inline-style.\n position: 'absolute !important'\n }\n});\nconst DialogContainer = styled('div', {\n name: 'MuiDialog',\n slot: 'Container',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.container, styles[`scroll${capitalize(ownerState.scroll)}`]];\n }\n})(({\n ownerState\n}) => _extends({\n height: '100%',\n '@media print': {\n height: 'auto'\n },\n // We disable the focus ring for mouse, touch and keyboard users.\n outline: 0\n}, ownerState.scroll === 'paper' && {\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center'\n}, ownerState.scroll === 'body' && {\n overflowY: 'auto',\n overflowX: 'hidden',\n textAlign: 'center',\n '&::after': {\n content: '\"\"',\n display: 'inline-block',\n verticalAlign: 'middle',\n height: '100%',\n width: '0'\n }\n}));\nconst DialogPaper = styled(Paper, {\n name: 'MuiDialog',\n slot: 'Paper',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.paper, styles[`scrollPaper${capitalize(ownerState.scroll)}`], styles[`paperWidth${capitalize(String(ownerState.maxWidth))}`], ownerState.fullWidth && styles.paperFullWidth, ownerState.fullScreen && styles.paperFullScreen];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n margin: 32,\n position: 'relative',\n overflowY: 'auto',\n // Fix IE11 issue, to remove at some point.\n '@media print': {\n overflowY: 'visible',\n boxShadow: 'none'\n }\n}, ownerState.scroll === 'paper' && {\n display: 'flex',\n flexDirection: 'column',\n maxHeight: 'calc(100% - 64px)'\n}, ownerState.scroll === 'body' && {\n display: 'inline-block',\n verticalAlign: 'middle',\n textAlign: 'left' // 'initial' doesn't work on IE11\n}, !ownerState.maxWidth && {\n maxWidth: 'calc(100% - 64px)'\n}, ownerState.maxWidth === 'xs' && {\n maxWidth: theme.breakpoints.unit === 'px' ? Math.max(theme.breakpoints.values.xs, 444) : `max(${theme.breakpoints.values.xs}${theme.breakpoints.unit}, 444px)`,\n [`&.${dialogClasses.paperScrollBody}`]: {\n [theme.breakpoints.down(Math.max(theme.breakpoints.values.xs, 444) + 32 * 2)]: {\n maxWidth: 'calc(100% - 64px)'\n }\n }\n}, ownerState.maxWidth && ownerState.maxWidth !== 'xs' && {\n maxWidth: `${theme.breakpoints.values[ownerState.maxWidth]}${theme.breakpoints.unit}`,\n [`&.${dialogClasses.paperScrollBody}`]: {\n [theme.breakpoints.down(theme.breakpoints.values[ownerState.maxWidth] + 32 * 2)]: {\n maxWidth: 'calc(100% - 64px)'\n }\n }\n}, ownerState.fullWidth && {\n width: 'calc(100% - 64px)'\n}, ownerState.fullScreen && {\n margin: 0,\n width: '100%',\n maxWidth: '100%',\n height: '100%',\n maxHeight: 'none',\n borderRadius: 0,\n [`&.${dialogClasses.paperScrollBody}`]: {\n margin: 0,\n maxWidth: '100%'\n }\n}));\n\n/**\n * Dialogs are overlaid modal paper based components with a backdrop.\n */\nconst Dialog = /*#__PURE__*/React.forwardRef(function Dialog(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiDialog'\n });\n const theme = useTheme();\n const defaultTransitionDuration = {\n enter: theme.transitions.duration.enteringScreen,\n exit: theme.transitions.duration.leavingScreen\n };\n const {\n 'aria-describedby': ariaDescribedby,\n 'aria-labelledby': ariaLabelledbyProp,\n BackdropComponent,\n BackdropProps,\n children,\n className,\n disableEscapeKeyDown = false,\n fullScreen = false,\n fullWidth = false,\n maxWidth = 'sm',\n onBackdropClick,\n onClose,\n open,\n PaperComponent = Paper,\n PaperProps = {},\n scroll = 'paper',\n TransitionComponent = Fade,\n transitionDuration = defaultTransitionDuration,\n TransitionProps\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n disableEscapeKeyDown,\n fullScreen,\n fullWidth,\n maxWidth,\n scroll\n });\n const classes = useUtilityClasses(ownerState);\n const backdropClick = React.useRef();\n const handleMouseDown = event => {\n // We don't want to close the dialog when clicking the dialog content.\n // Make sure the event starts and ends on the same DOM element.\n backdropClick.current = event.target === event.currentTarget;\n };\n const handleBackdropClick = event => {\n // Ignore the events not coming from the \"backdrop\".\n if (!backdropClick.current) {\n return;\n }\n backdropClick.current = null;\n if (onBackdropClick) {\n onBackdropClick(event);\n }\n if (onClose) {\n onClose(event, 'backdropClick');\n }\n };\n const ariaLabelledby = useId(ariaLabelledbyProp);\n const dialogContextValue = React.useMemo(() => {\n return {\n titleId: ariaLabelledby\n };\n }, [ariaLabelledby]);\n return /*#__PURE__*/_jsx(DialogRoot, _extends({\n className: clsx(classes.root, className),\n closeAfterTransition: true,\n components: {\n Backdrop: DialogBackdrop\n },\n componentsProps: {\n backdrop: _extends({\n transitionDuration,\n as: BackdropComponent\n }, BackdropProps)\n },\n disableEscapeKeyDown: disableEscapeKeyDown,\n onClose: onClose,\n open: open,\n ref: ref,\n onClick: handleBackdropClick,\n ownerState: ownerState\n }, other, {\n children: /*#__PURE__*/_jsx(TransitionComponent, _extends({\n appear: true,\n in: open,\n timeout: transitionDuration,\n role: \"presentation\"\n }, TransitionProps, {\n children: /*#__PURE__*/_jsx(DialogContainer, {\n className: clsx(classes.container),\n onMouseDown: handleMouseDown,\n ownerState: ownerState,\n children: /*#__PURE__*/_jsx(DialogPaper, _extends({\n as: PaperComponent,\n elevation: 24,\n role: \"dialog\",\n \"aria-describedby\": ariaDescribedby,\n \"aria-labelledby\": ariaLabelledby\n }, PaperProps, {\n className: clsx(classes.paper, PaperProps.className),\n ownerState: ownerState,\n children: /*#__PURE__*/_jsx(DialogContext.Provider, {\n value: dialogContextValue,\n children: children\n })\n }))\n })\n }))\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Dialog.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The id(s) of the element(s) that describe the dialog.\n */\n 'aria-describedby': PropTypes.string,\n /**\n * The id(s) of the element(s) that label the dialog.\n */\n 'aria-labelledby': PropTypes.string,\n /**\n * A backdrop component. This prop enables custom backdrop rendering.\n * @deprecated Use `slots.backdrop` instead. While this prop currently works, it will be removed in the next major version.\n * Use the `slots.backdrop` prop to make your application ready for the next version of Material UI.\n * @default styled(Backdrop, {\n * name: 'MuiModal',\n * slot: 'Backdrop',\n * overridesResolver: (props, styles) => {\n * return styles.backdrop;\n * },\n * })({\n * zIndex: -1,\n * })\n */\n BackdropComponent: PropTypes.elementType,\n /**\n * @ignore\n */\n BackdropProps: PropTypes.object,\n /**\n * Dialog children, usually the included sub-components.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * If `true`, hitting escape will not fire the `onClose` callback.\n * @default false\n */\n disableEscapeKeyDown: PropTypes.bool,\n /**\n * If `true`, the dialog is full-screen.\n * @default false\n */\n fullScreen: PropTypes.bool,\n /**\n * If `true`, the dialog stretches to `maxWidth`.\n *\n * Notice that the dialog width grow is limited by the default margin.\n * @default false\n */\n fullWidth: PropTypes.bool,\n /**\n * Determine the max-width of the dialog.\n * The dialog width grows with the size of the screen.\n * Set to `false` to disable `maxWidth`.\n * @default 'sm'\n */\n maxWidth: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['xs', 'sm', 'md', 'lg', 'xl', false]), PropTypes.string]),\n /**\n * Callback fired when the backdrop is clicked.\n * @deprecated Use the `onClose` prop with the `reason` argument to handle the `backdropClick` events.\n */\n onBackdropClick: PropTypes.func,\n /**\n * Callback fired when the component requests to be closed.\n *\n * @param {object} event The event source of the callback.\n * @param {string} reason Can be: `\"escapeKeyDown\"`, `\"backdropClick\"`.\n */\n onClose: PropTypes.func,\n /**\n * If `true`, the component is shown.\n */\n open: PropTypes.bool.isRequired,\n /**\n * The component used to render the body of the dialog.\n * @default Paper\n */\n PaperComponent: PropTypes.elementType,\n /**\n * Props applied to the [`Paper`](/material-ui/api/paper/) element.\n * @default {}\n */\n PaperProps: PropTypes.object,\n /**\n * Determine the container for scrolling the dialog.\n * @default 'paper'\n */\n scroll: PropTypes.oneOf(['body', 'paper']),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The component used for the transition.\n * [Follow this guide](/material-ui/transitions/#transitioncomponent-prop) to learn more about the requirements for this component.\n * @default Fade\n */\n TransitionComponent: PropTypes.elementType,\n /**\n * The duration for the transition, in milliseconds.\n * You may specify a single timeout for all transitions, or individually with an object.\n * @default {\n * enter: theme.transitions.duration.enteringScreen,\n * exit: theme.transitions.duration.leavingScreen,\n * }\n */\n transitionDuration: PropTypes.oneOfType([PropTypes.number, PropTypes.shape({\n appear: PropTypes.number,\n enter: PropTypes.number,\n exit: PropTypes.number\n })]),\n /**\n * Props applied to the transition element.\n * By default, the element is based on this [`Transition`](https://reactcommunity.org/react-transition-group/transition/) component.\n */\n TransitionProps: PropTypes.object\n} : void 0;\nexport default Dialog;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getDialogActionsUtilityClass(slot) {\n return generateUtilityClass('MuiDialogActions', slot);\n}\nconst dialogActionsClasses = generateUtilityClasses('MuiDialogActions', ['root', 'spacing']);\nexport default dialogActionsClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"disableSpacing\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport { getDialogActionsUtilityClass } from './dialogActionsClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disableSpacing\n } = ownerState;\n const slots = {\n root: ['root', !disableSpacing && 'spacing']\n };\n return composeClasses(slots, getDialogActionsUtilityClass, classes);\n};\nconst DialogActionsRoot = styled('div', {\n name: 'MuiDialogActions',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, !ownerState.disableSpacing && styles.spacing];\n }\n})(({\n ownerState\n}) => _extends({\n display: 'flex',\n alignItems: 'center',\n padding: 8,\n justifyContent: 'flex-end',\n flex: '0 0 auto'\n}, !ownerState.disableSpacing && {\n '& > :not(style) ~ :not(style)': {\n marginLeft: 8\n }\n}));\nconst DialogActions = /*#__PURE__*/React.forwardRef(function DialogActions(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiDialogActions'\n });\n const {\n className,\n disableSpacing = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n disableSpacing\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(DialogActionsRoot, _extends({\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? DialogActions.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * If `true`, the actions do not have additional margin.\n * @default false\n */\n disableSpacing: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default DialogActions;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getDialogContentUtilityClass(slot) {\n return generateUtilityClass('MuiDialogContent', slot);\n}\nconst dialogContentClasses = generateUtilityClasses('MuiDialogContent', ['root', 'dividers']);\nexport default dialogContentClasses;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getDialogTitleUtilityClass(slot) {\n return generateUtilityClass('MuiDialogTitle', slot);\n}\nconst dialogTitleClasses = generateUtilityClasses('MuiDialogTitle', ['root']);\nexport default dialogTitleClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"dividers\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport { getDialogContentUtilityClass } from './dialogContentClasses';\nimport dialogTitleClasses from '../DialogTitle/dialogTitleClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n dividers\n } = ownerState;\n const slots = {\n root: ['root', dividers && 'dividers']\n };\n return composeClasses(slots, getDialogContentUtilityClass, classes);\n};\nconst DialogContentRoot = styled('div', {\n name: 'MuiDialogContent',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.dividers && styles.dividers];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n flex: '1 1 auto',\n // Add iOS momentum scrolling for iOS < 13.0\n WebkitOverflowScrolling: 'touch',\n overflowY: 'auto',\n padding: '20px 24px'\n}, ownerState.dividers ? {\n padding: '16px 24px',\n borderTop: `1px solid ${(theme.vars || theme).palette.divider}`,\n borderBottom: `1px solid ${(theme.vars || theme).palette.divider}`\n} : {\n [`.${dialogTitleClasses.root} + &`]: {\n paddingTop: 0\n }\n}));\nconst DialogContent = /*#__PURE__*/React.forwardRef(function DialogContent(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiDialogContent'\n });\n const {\n className,\n dividers = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n dividers\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(DialogContentRoot, _extends({\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? DialogContent.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * Display the top and bottom dividers.\n * @default false\n */\n dividers: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default DialogContent;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getDialogContentTextUtilityClass(slot) {\n return generateUtilityClass('MuiDialogContentText', slot);\n}\nconst dialogContentTextClasses = generateUtilityClasses('MuiDialogContentText', ['root']);\nexport default dialogContentTextClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"className\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport Typography from '../Typography';\nimport { getDialogContentTextUtilityClass } from './dialogContentTextClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n const composedClasses = composeClasses(slots, getDialogContentTextUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\nconst DialogContentTextRoot = styled(Typography, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiDialogContentText',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({});\nconst DialogContentText = /*#__PURE__*/React.forwardRef(function DialogContentText(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiDialogContentText'\n });\n const {\n className\n } = props,\n ownerState = _objectWithoutPropertiesLoose(props, _excluded);\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(DialogContentTextRoot, _extends({\n component: \"p\",\n variant: \"body1\",\n color: \"text.secondary\",\n ref: ref,\n ownerState: ownerState,\n className: clsx(classes.root, className)\n }, props, {\n classes: classes\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? DialogContentText.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default DialogContentText;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"className\", \"id\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport Typography from '../Typography';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport { getDialogTitleUtilityClass } from './dialogTitleClasses';\nimport DialogContext from '../Dialog/DialogContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getDialogTitleUtilityClass, classes);\n};\nconst DialogTitleRoot = styled(Typography, {\n name: 'MuiDialogTitle',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({\n padding: '16px 24px',\n flex: '0 0 auto'\n});\nconst DialogTitle = /*#__PURE__*/React.forwardRef(function DialogTitle(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiDialogTitle'\n });\n const {\n className,\n id: idProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = props;\n const classes = useUtilityClasses(ownerState);\n const {\n titleId = idProp\n } = React.useContext(DialogContext);\n return /*#__PURE__*/_jsx(DialogTitleRoot, _extends({\n component: \"h2\",\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref,\n variant: \"h6\",\n id: idProp != null ? idProp : titleId\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? DialogTitle.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * @ignore\n */\n id: PropTypes.string,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default DialogTitle;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getDividerUtilityClass(slot) {\n return generateUtilityClass('MuiDivider', slot);\n}\nconst dividerClasses = generateUtilityClasses('MuiDivider', ['root', 'absolute', 'fullWidth', 'inset', 'middle', 'flexItem', 'light', 'vertical', 'withChildren', 'withChildrenVertical', 'textAlignRight', 'textAlignLeft', 'wrapper', 'wrapperVertical']);\nexport default dividerClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"absolute\", \"children\", \"className\", \"component\", \"flexItem\", \"light\", \"orientation\", \"role\", \"textAlign\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { alpha } from '@mui/system/colorManipulator';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport { getDividerUtilityClass } from './dividerClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n absolute,\n children,\n classes,\n flexItem,\n light,\n orientation,\n textAlign,\n variant\n } = ownerState;\n const slots = {\n root: ['root', absolute && 'absolute', variant, light && 'light', orientation === 'vertical' && 'vertical', flexItem && 'flexItem', children && 'withChildren', children && orientation === 'vertical' && 'withChildrenVertical', textAlign === 'right' && orientation !== 'vertical' && 'textAlignRight', textAlign === 'left' && orientation !== 'vertical' && 'textAlignLeft'],\n wrapper: ['wrapper', orientation === 'vertical' && 'wrapperVertical']\n };\n return composeClasses(slots, getDividerUtilityClass, classes);\n};\nconst DividerRoot = styled('div', {\n name: 'MuiDivider',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.absolute && styles.absolute, styles[ownerState.variant], ownerState.light && styles.light, ownerState.orientation === 'vertical' && styles.vertical, ownerState.flexItem && styles.flexItem, ownerState.children && styles.withChildren, ownerState.children && ownerState.orientation === 'vertical' && styles.withChildrenVertical, ownerState.textAlign === 'right' && ownerState.orientation !== 'vertical' && styles.textAlignRight, ownerState.textAlign === 'left' && ownerState.orientation !== 'vertical' && styles.textAlignLeft];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n margin: 0,\n // Reset browser default style.\n flexShrink: 0,\n borderWidth: 0,\n borderStyle: 'solid',\n borderColor: (theme.vars || theme).palette.divider,\n borderBottomWidth: 'thin'\n}, ownerState.absolute && {\n position: 'absolute',\n bottom: 0,\n left: 0,\n width: '100%'\n}, ownerState.light && {\n borderColor: theme.vars ? `rgba(${theme.vars.palette.dividerChannel} / 0.08)` : alpha(theme.palette.divider, 0.08)\n}, ownerState.variant === 'inset' && {\n marginLeft: 72\n}, ownerState.variant === 'middle' && ownerState.orientation === 'horizontal' && {\n marginLeft: theme.spacing(2),\n marginRight: theme.spacing(2)\n}, ownerState.variant === 'middle' && ownerState.orientation === 'vertical' && {\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1)\n}, ownerState.orientation === 'vertical' && {\n height: '100%',\n borderBottomWidth: 0,\n borderRightWidth: 'thin'\n}, ownerState.flexItem && {\n alignSelf: 'stretch',\n height: 'auto'\n}), ({\n ownerState\n}) => _extends({}, ownerState.children && {\n display: 'flex',\n whiteSpace: 'nowrap',\n textAlign: 'center',\n border: 0,\n '&::before, &::after': {\n content: '\"\"',\n alignSelf: 'center'\n }\n}), ({\n theme,\n ownerState\n}) => _extends({}, ownerState.children && ownerState.orientation !== 'vertical' && {\n '&::before, &::after': {\n width: '100%',\n borderTop: `thin solid ${(theme.vars || theme).palette.divider}`\n }\n}), ({\n theme,\n ownerState\n}) => _extends({}, ownerState.children && ownerState.orientation === 'vertical' && {\n flexDirection: 'column',\n '&::before, &::after': {\n height: '100%',\n borderLeft: `thin solid ${(theme.vars || theme).palette.divider}`\n }\n}), ({\n ownerState\n}) => _extends({}, ownerState.textAlign === 'right' && ownerState.orientation !== 'vertical' && {\n '&::before': {\n width: '90%'\n },\n '&::after': {\n width: '10%'\n }\n}, ownerState.textAlign === 'left' && ownerState.orientation !== 'vertical' && {\n '&::before': {\n width: '10%'\n },\n '&::after': {\n width: '90%'\n }\n}));\nconst DividerWrapper = styled('span', {\n name: 'MuiDivider',\n slot: 'Wrapper',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.wrapper, ownerState.orientation === 'vertical' && styles.wrapperVertical];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'inline-block',\n paddingLeft: `calc(${theme.spacing(1)} * 1.2)`,\n paddingRight: `calc(${theme.spacing(1)} * 1.2)`\n}, ownerState.orientation === 'vertical' && {\n paddingTop: `calc(${theme.spacing(1)} * 1.2)`,\n paddingBottom: `calc(${theme.spacing(1)} * 1.2)`\n}));\nconst Divider = /*#__PURE__*/React.forwardRef(function Divider(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiDivider'\n });\n const {\n absolute = false,\n children,\n className,\n component = children ? 'div' : 'hr',\n flexItem = false,\n light = false,\n orientation = 'horizontal',\n role = component !== 'hr' ? 'separator' : undefined,\n textAlign = 'center',\n variant = 'fullWidth'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n absolute,\n component,\n flexItem,\n light,\n orientation,\n role,\n textAlign,\n variant\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(DividerRoot, _extends({\n as: component,\n className: clsx(classes.root, className),\n role: role,\n ref: ref,\n ownerState: ownerState\n }, other, {\n children: children ? /*#__PURE__*/_jsx(DividerWrapper, {\n className: classes.wrapper,\n ownerState: ownerState,\n children: children\n }) : null\n }));\n});\n\n/**\n * The following flag is used to ensure that this component isn't tabbable i.e.\n * does not get highlight/focus inside of MUI List.\n */\nDivider.muiSkipListHighlight = true;\nprocess.env.NODE_ENV !== \"production\" ? Divider.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Absolutely position the element.\n * @default false\n */\n absolute: PropTypes.bool,\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * If `true`, a vertical divider will have the correct height when used in flex container.\n * (By default, a vertical divider will have a calculated height of `0px` if it is the child of a flex container.)\n * @default false\n */\n flexItem: PropTypes.bool,\n /**\n * If `true`, the divider will have a lighter color.\n * @default false\n * @deprecated Use <Divider sx={{ opacity: 0.6 }} /> (or any opacity or color) instead. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/)\n */\n light: PropTypes.bool,\n /**\n * The component orientation.\n * @default 'horizontal'\n */\n orientation: PropTypes.oneOf(['horizontal', 'vertical']),\n /**\n * @ignore\n */\n role: PropTypes /* @typescript-to-proptypes-ignore */.string,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The text alignment.\n * @default 'center'\n */\n textAlign: PropTypes.oneOf(['center', 'left', 'right']),\n /**\n * The variant to use.\n * @default 'fullWidth'\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['fullWidth', 'inset', 'middle']), PropTypes.string])\n} : void 0;\nexport default Divider;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"addEndListener\", \"appear\", \"children\", \"container\", \"direction\", \"easing\", \"in\", \"onEnter\", \"onEntered\", \"onEntering\", \"onExit\", \"onExited\", \"onExiting\", \"style\", \"timeout\", \"TransitionComponent\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { Transition } from 'react-transition-group';\nimport chainPropTypes from '@mui/utils/chainPropTypes';\nimport HTMLElementType from '@mui/utils/HTMLElementType';\nimport elementAcceptingRef from '@mui/utils/elementAcceptingRef';\nimport debounce from '../utils/debounce';\nimport useForkRef from '../utils/useForkRef';\nimport useTheme from '../styles/useTheme';\nimport { reflow, getTransitionProps } from '../transitions/utils';\nimport { ownerWindow } from '../utils';\n\n// Translate the node so it can't be seen on the screen.\n// Later, we're going to translate the node back to its original location with `none`.\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction getTranslateValue(direction, node, resolvedContainer) {\n const rect = node.getBoundingClientRect();\n const containerRect = resolvedContainer && resolvedContainer.getBoundingClientRect();\n const containerWindow = ownerWindow(node);\n let transform;\n if (node.fakeTransform) {\n transform = node.fakeTransform;\n } else {\n const computedStyle = containerWindow.getComputedStyle(node);\n transform = computedStyle.getPropertyValue('-webkit-transform') || computedStyle.getPropertyValue('transform');\n }\n let offsetX = 0;\n let offsetY = 0;\n if (transform && transform !== 'none' && typeof transform === 'string') {\n const transformValues = transform.split('(')[1].split(')')[0].split(',');\n offsetX = parseInt(transformValues[4], 10);\n offsetY = parseInt(transformValues[5], 10);\n }\n if (direction === 'left') {\n if (containerRect) {\n return `translateX(${containerRect.right + offsetX - rect.left}px)`;\n }\n return `translateX(${containerWindow.innerWidth + offsetX - rect.left}px)`;\n }\n if (direction === 'right') {\n if (containerRect) {\n return `translateX(-${rect.right - containerRect.left - offsetX}px)`;\n }\n return `translateX(-${rect.left + rect.width - offsetX}px)`;\n }\n if (direction === 'up') {\n if (containerRect) {\n return `translateY(${containerRect.bottom + offsetY - rect.top}px)`;\n }\n return `translateY(${containerWindow.innerHeight + offsetY - rect.top}px)`;\n }\n\n // direction === 'down'\n if (containerRect) {\n return `translateY(-${rect.top - containerRect.top + rect.height - offsetY}px)`;\n }\n return `translateY(-${rect.top + rect.height - offsetY}px)`;\n}\nfunction resolveContainer(containerPropProp) {\n return typeof containerPropProp === 'function' ? containerPropProp() : containerPropProp;\n}\nexport function setTranslateValue(direction, node, containerProp) {\n const resolvedContainer = resolveContainer(containerProp);\n const transform = getTranslateValue(direction, node, resolvedContainer);\n if (transform) {\n node.style.webkitTransform = transform;\n node.style.transform = transform;\n }\n}\n\n/**\n * The Slide transition is used by the [Drawer](/material-ui/react-drawer/) component.\n * It uses [react-transition-group](https://github.com/reactjs/react-transition-group) internally.\n */\nconst Slide = /*#__PURE__*/React.forwardRef(function Slide(props, ref) {\n const theme = useTheme();\n const defaultEasing = {\n enter: theme.transitions.easing.easeOut,\n exit: theme.transitions.easing.sharp\n };\n const defaultTimeout = {\n enter: theme.transitions.duration.enteringScreen,\n exit: theme.transitions.duration.leavingScreen\n };\n const {\n addEndListener,\n appear = true,\n children,\n container: containerProp,\n direction = 'down',\n easing: easingProp = defaultEasing,\n in: inProp,\n onEnter,\n onEntered,\n onEntering,\n onExit,\n onExited,\n onExiting,\n style,\n timeout = defaultTimeout,\n // eslint-disable-next-line react/prop-types\n TransitionComponent = Transition\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const childrenRef = React.useRef(null);\n const handleRef = useForkRef(children.ref, childrenRef, ref);\n const normalizedTransitionCallback = callback => isAppearing => {\n if (callback) {\n // onEnterXxx and onExitXxx callbacks have a different arguments.length value.\n if (isAppearing === undefined) {\n callback(childrenRef.current);\n } else {\n callback(childrenRef.current, isAppearing);\n }\n }\n };\n const handleEnter = normalizedTransitionCallback((node, isAppearing) => {\n setTranslateValue(direction, node, containerProp);\n reflow(node);\n if (onEnter) {\n onEnter(node, isAppearing);\n }\n });\n const handleEntering = normalizedTransitionCallback((node, isAppearing) => {\n const transitionProps = getTransitionProps({\n timeout,\n style,\n easing: easingProp\n }, {\n mode: 'enter'\n });\n node.style.webkitTransition = theme.transitions.create('-webkit-transform', _extends({}, transitionProps));\n node.style.transition = theme.transitions.create('transform', _extends({}, transitionProps));\n node.style.webkitTransform = 'none';\n node.style.transform = 'none';\n if (onEntering) {\n onEntering(node, isAppearing);\n }\n });\n const handleEntered = normalizedTransitionCallback(onEntered);\n const handleExiting = normalizedTransitionCallback(onExiting);\n const handleExit = normalizedTransitionCallback(node => {\n const transitionProps = getTransitionProps({\n timeout,\n style,\n easing: easingProp\n }, {\n mode: 'exit'\n });\n node.style.webkitTransition = theme.transitions.create('-webkit-transform', transitionProps);\n node.style.transition = theme.transitions.create('transform', transitionProps);\n setTranslateValue(direction, node, containerProp);\n if (onExit) {\n onExit(node);\n }\n });\n const handleExited = normalizedTransitionCallback(node => {\n // No need for transitions when the component is hidden\n node.style.webkitTransition = '';\n node.style.transition = '';\n if (onExited) {\n onExited(node);\n }\n });\n const handleAddEndListener = next => {\n if (addEndListener) {\n // Old call signature before `react-transition-group` implemented `nodeRef`\n addEndListener(childrenRef.current, next);\n }\n };\n const updatePosition = React.useCallback(() => {\n if (childrenRef.current) {\n setTranslateValue(direction, childrenRef.current, containerProp);\n }\n }, [direction, containerProp]);\n React.useEffect(() => {\n // Skip configuration where the position is screen size invariant.\n if (inProp || direction === 'down' || direction === 'right') {\n return undefined;\n }\n const handleResize = debounce(() => {\n if (childrenRef.current) {\n setTranslateValue(direction, childrenRef.current, containerProp);\n }\n });\n const containerWindow = ownerWindow(childrenRef.current);\n containerWindow.addEventListener('resize', handleResize);\n return () => {\n handleResize.clear();\n containerWindow.removeEventListener('resize', handleResize);\n };\n }, [direction, inProp, containerProp]);\n React.useEffect(() => {\n if (!inProp) {\n // We need to update the position of the drawer when the direction change and\n // when it's hidden.\n updatePosition();\n }\n }, [inProp, updatePosition]);\n return /*#__PURE__*/_jsx(TransitionComponent, _extends({\n nodeRef: childrenRef,\n onEnter: handleEnter,\n onEntered: handleEntered,\n onEntering: handleEntering,\n onExit: handleExit,\n onExited: handleExited,\n onExiting: handleExiting,\n addEndListener: handleAddEndListener,\n appear: appear,\n in: inProp,\n timeout: timeout\n }, other, {\n children: (state, childProps) => {\n return /*#__PURE__*/React.cloneElement(children, _extends({\n ref: handleRef,\n style: _extends({\n visibility: state === 'exited' && !inProp ? 'hidden' : undefined\n }, style, children.props.style)\n }, childProps));\n }\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Slide.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Add a custom transition end trigger. Called with the transitioning DOM\n * node and a done callback. Allows for more fine grained transition end\n * logic. Note: Timeouts are still used as a fallback if provided.\n */\n addEndListener: PropTypes.func,\n /**\n * Perform the enter transition when it first mounts if `in` is also `true`.\n * Set this to `false` to disable this behavior.\n * @default true\n */\n appear: PropTypes.bool,\n /**\n * A single child content element.\n */\n children: elementAcceptingRef.isRequired,\n /**\n * An HTML element, or a function that returns one.\n * It's used to set the container the Slide is transitioning from.\n */\n container: chainPropTypes(PropTypes.oneOfType([HTMLElementType, PropTypes.func]), props => {\n if (props.open) {\n const resolvedContainer = resolveContainer(props.container);\n if (resolvedContainer && resolvedContainer.nodeType === 1) {\n const box = resolvedContainer.getBoundingClientRect();\n if (process.env.NODE_ENV !== 'test' && box.top === 0 && box.left === 0 && box.right === 0 && box.bottom === 0) {\n return new Error(['MUI: The `container` prop provided to the component is invalid.', 'The anchor element should be part of the document layout.', \"Make sure the element is present in the document or that it's not display none.\"].join('\\n'));\n }\n } else if (!resolvedContainer || typeof resolvedContainer.getBoundingClientRect !== 'function' || resolvedContainer.contextElement != null && resolvedContainer.contextElement.nodeType !== 1) {\n return new Error(['MUI: The `container` prop provided to the component is invalid.', 'It should be an HTML element instance.'].join('\\n'));\n }\n }\n return null;\n }),\n /**\n * Direction the child node will enter from.\n * @default 'down'\n */\n direction: PropTypes.oneOf(['down', 'left', 'right', 'up']),\n /**\n * The transition timing function.\n * You may specify a single easing or a object containing enter and exit values.\n * @default {\n * enter: theme.transitions.easing.easeOut,\n * exit: theme.transitions.easing.sharp,\n * }\n */\n easing: PropTypes.oneOfType([PropTypes.shape({\n enter: PropTypes.string,\n exit: PropTypes.string\n }), PropTypes.string]),\n /**\n * If `true`, the component will transition in.\n */\n in: PropTypes.bool,\n /**\n * @ignore\n */\n onEnter: PropTypes.func,\n /**\n * @ignore\n */\n onEntered: PropTypes.func,\n /**\n * @ignore\n */\n onEntering: PropTypes.func,\n /**\n * @ignore\n */\n onExit: PropTypes.func,\n /**\n * @ignore\n */\n onExited: PropTypes.func,\n /**\n * @ignore\n */\n onExiting: PropTypes.func,\n /**\n * @ignore\n */\n style: PropTypes.object,\n /**\n * The duration for the transition, in milliseconds.\n * You may specify a single timeout for all transitions, or individually with an object.\n * @default {\n * enter: theme.transitions.duration.enteringScreen,\n * exit: theme.transitions.duration.leavingScreen,\n * }\n */\n timeout: PropTypes.oneOfType([PropTypes.number, PropTypes.shape({\n appear: PropTypes.number,\n enter: PropTypes.number,\n exit: PropTypes.number\n })])\n} : void 0;\nexport default Slide;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getDrawerUtilityClass(slot) {\n return generateUtilityClass('MuiDrawer', slot);\n}\nconst drawerClasses = generateUtilityClasses('MuiDrawer', ['root', 'docked', 'paper', 'paperAnchorLeft', 'paperAnchorRight', 'paperAnchorTop', 'paperAnchorBottom', 'paperAnchorDockedLeft', 'paperAnchorDockedRight', 'paperAnchorDockedTop', 'paperAnchorDockedBottom', 'modal']);\nexport default drawerClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"BackdropProps\"],\n _excluded2 = [\"anchor\", \"BackdropProps\", \"children\", \"className\", \"elevation\", \"hideBackdrop\", \"ModalProps\", \"onClose\", \"open\", \"PaperProps\", \"SlideProps\", \"TransitionComponent\", \"transitionDuration\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport integerPropType from '@mui/utils/integerPropType';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { useRtl } from '@mui/system/RtlProvider';\nimport Modal from '../Modal';\nimport Slide from '../Slide';\nimport Paper from '../Paper';\nimport capitalize from '../utils/capitalize';\nimport useTheme from '../styles/useTheme';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport { getDrawerUtilityClass } from './drawerClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, (ownerState.variant === 'permanent' || ownerState.variant === 'persistent') && styles.docked, styles.modal];\n};\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n anchor,\n variant\n } = ownerState;\n const slots = {\n root: ['root'],\n docked: [(variant === 'permanent' || variant === 'persistent') && 'docked'],\n modal: ['modal'],\n paper: ['paper', `paperAnchor${capitalize(anchor)}`, variant !== 'temporary' && `paperAnchorDocked${capitalize(anchor)}`]\n };\n return composeClasses(slots, getDrawerUtilityClass, classes);\n};\nconst DrawerRoot = styled(Modal, {\n name: 'MuiDrawer',\n slot: 'Root',\n overridesResolver\n})(({\n theme\n}) => ({\n zIndex: (theme.vars || theme).zIndex.drawer\n}));\nconst DrawerDockedRoot = styled('div', {\n shouldForwardProp: rootShouldForwardProp,\n name: 'MuiDrawer',\n slot: 'Docked',\n skipVariantsResolver: false,\n overridesResolver\n})({\n flex: '0 0 auto'\n});\nconst DrawerPaper = styled(Paper, {\n name: 'MuiDrawer',\n slot: 'Paper',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.paper, styles[`paperAnchor${capitalize(ownerState.anchor)}`], ownerState.variant !== 'temporary' && styles[`paperAnchorDocked${capitalize(ownerState.anchor)}`]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n overflowY: 'auto',\n display: 'flex',\n flexDirection: 'column',\n height: '100%',\n flex: '1 0 auto',\n zIndex: (theme.vars || theme).zIndex.drawer,\n // Add iOS momentum scrolling for iOS < 13.0\n WebkitOverflowScrolling: 'touch',\n // temporary style\n position: 'fixed',\n top: 0,\n // We disable the focus ring for mouse, touch and keyboard users.\n // At some point, it would be better to keep it for keyboard users.\n // :focus-ring CSS pseudo-class will help.\n outline: 0\n}, ownerState.anchor === 'left' && {\n left: 0\n}, ownerState.anchor === 'top' && {\n top: 0,\n left: 0,\n right: 0,\n height: 'auto',\n maxHeight: '100%'\n}, ownerState.anchor === 'right' && {\n right: 0\n}, ownerState.anchor === 'bottom' && {\n top: 'auto',\n left: 0,\n bottom: 0,\n right: 0,\n height: 'auto',\n maxHeight: '100%'\n}, ownerState.anchor === 'left' && ownerState.variant !== 'temporary' && {\n borderRight: `1px solid ${(theme.vars || theme).palette.divider}`\n}, ownerState.anchor === 'top' && ownerState.variant !== 'temporary' && {\n borderBottom: `1px solid ${(theme.vars || theme).palette.divider}`\n}, ownerState.anchor === 'right' && ownerState.variant !== 'temporary' && {\n borderLeft: `1px solid ${(theme.vars || theme).palette.divider}`\n}, ownerState.anchor === 'bottom' && ownerState.variant !== 'temporary' && {\n borderTop: `1px solid ${(theme.vars || theme).palette.divider}`\n}));\nconst oppositeDirection = {\n left: 'right',\n right: 'left',\n top: 'down',\n bottom: 'up'\n};\nexport function isHorizontal(anchor) {\n return ['left', 'right'].indexOf(anchor) !== -1;\n}\nexport function getAnchor({\n direction\n}, anchor) {\n return direction === 'rtl' && isHorizontal(anchor) ? oppositeDirection[anchor] : anchor;\n}\n\n/**\n * The props of the [Modal](/material-ui/api/modal/) component are available\n * when `variant=\"temporary\"` is set.\n */\nconst Drawer = /*#__PURE__*/React.forwardRef(function Drawer(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiDrawer'\n });\n const theme = useTheme();\n const isRtl = useRtl();\n const defaultTransitionDuration = {\n enter: theme.transitions.duration.enteringScreen,\n exit: theme.transitions.duration.leavingScreen\n };\n const {\n anchor: anchorProp = 'left',\n BackdropProps,\n children,\n className,\n elevation = 16,\n hideBackdrop = false,\n ModalProps: {\n BackdropProps: BackdropPropsProp\n } = {},\n onClose,\n open = false,\n PaperProps = {},\n SlideProps,\n // eslint-disable-next-line react/prop-types\n TransitionComponent = Slide,\n transitionDuration = defaultTransitionDuration,\n variant = 'temporary'\n } = props,\n ModalProps = _objectWithoutPropertiesLoose(props.ModalProps, _excluded),\n other = _objectWithoutPropertiesLoose(props, _excluded2);\n\n // Let's assume that the Drawer will always be rendered on user space.\n // We use this state is order to skip the appear transition during the\n // initial mount of the component.\n const mounted = React.useRef(false);\n React.useEffect(() => {\n mounted.current = true;\n }, []);\n const anchorInvariant = getAnchor({\n direction: isRtl ? 'rtl' : 'ltr'\n }, anchorProp);\n const anchor = anchorProp;\n const ownerState = _extends({}, props, {\n anchor,\n elevation,\n open,\n variant\n }, other);\n const classes = useUtilityClasses(ownerState);\n const drawer = /*#__PURE__*/_jsx(DrawerPaper, _extends({\n elevation: variant === 'temporary' ? elevation : 0,\n square: true\n }, PaperProps, {\n className: clsx(classes.paper, PaperProps.className),\n ownerState: ownerState,\n children: children\n }));\n if (variant === 'permanent') {\n return /*#__PURE__*/_jsx(DrawerDockedRoot, _extends({\n className: clsx(classes.root, classes.docked, className),\n ownerState: ownerState,\n ref: ref\n }, other, {\n children: drawer\n }));\n }\n const slidingDrawer = /*#__PURE__*/_jsx(TransitionComponent, _extends({\n in: open,\n direction: oppositeDirection[anchorInvariant],\n timeout: transitionDuration,\n appear: mounted.current\n }, SlideProps, {\n children: drawer\n }));\n if (variant === 'persistent') {\n return /*#__PURE__*/_jsx(DrawerDockedRoot, _extends({\n className: clsx(classes.root, classes.docked, className),\n ownerState: ownerState,\n ref: ref\n }, other, {\n children: slidingDrawer\n }));\n }\n\n // variant === temporary\n return /*#__PURE__*/_jsx(DrawerRoot, _extends({\n BackdropProps: _extends({}, BackdropProps, BackdropPropsProp, {\n transitionDuration\n }),\n className: clsx(classes.root, classes.modal, className),\n open: open,\n ownerState: ownerState,\n onClose: onClose,\n hideBackdrop: hideBackdrop,\n ref: ref\n }, other, ModalProps, {\n children: slidingDrawer\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Drawer.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Side from which the drawer will appear.\n * @default 'left'\n */\n anchor: PropTypes.oneOf(['bottom', 'left', 'right', 'top']),\n /**\n * @ignore\n */\n BackdropProps: PropTypes.object,\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The elevation of the drawer.\n * @default 16\n */\n elevation: integerPropType,\n /**\n * If `true`, the backdrop is not rendered.\n * @default false\n */\n hideBackdrop: PropTypes.bool,\n /**\n * Props applied to the [`Modal`](/material-ui/api/modal/) element.\n * @default {}\n */\n ModalProps: PropTypes.object,\n /**\n * Callback fired when the component requests to be closed.\n * The `reason` parameter can optionally be used to control the response to `onClose`.\n *\n * @param {object} event The event source of the callback.\n * @param {string} reason Can be: `\"escapeKeyDown\"`, `\"backdropClick\"`.\n */\n onClose: PropTypes.func,\n /**\n * If `true`, the component is shown.\n * @default false\n */\n open: PropTypes.bool,\n /**\n * Props applied to the [`Paper`](/material-ui/api/paper/) element.\n * @default {}\n */\n PaperProps: PropTypes.object,\n /**\n * Props applied to the [`Slide`](/material-ui/api/slide/) element.\n */\n SlideProps: PropTypes.object,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The duration for the transition, in milliseconds.\n * You may specify a single timeout for all transitions, or individually with an object.\n * @default {\n * enter: theme.transitions.duration.enteringScreen,\n * exit: theme.transitions.duration.leavingScreen,\n * }\n */\n transitionDuration: PropTypes.oneOfType([PropTypes.number, PropTypes.shape({\n appear: PropTypes.number,\n enter: PropTypes.number,\n exit: PropTypes.number\n })]),\n /**\n * The variant to use.\n * @default 'temporary'\n */\n variant: PropTypes.oneOf(['permanent', 'persistent', 'temporary'])\n} : void 0;\nexport default Drawer;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getFabUtilityClass(slot) {\n return generateUtilityClass('MuiFab', slot);\n}\nconst fabClasses = generateUtilityClasses('MuiFab', ['root', 'primary', 'secondary', 'extended', 'circular', 'focusVisible', 'disabled', 'colorInherit', 'sizeSmall', 'sizeMedium', 'sizeLarge', 'info', 'error', 'warning', 'success']);\nexport default fabClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"className\", \"color\", \"component\", \"disabled\", \"disableFocusRipple\", \"focusVisibleClassName\", \"size\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport ButtonBase from '../ButtonBase';\nimport capitalize from '../utils/capitalize';\nimport useThemeProps from '../styles/useThemeProps';\nimport fabClasses, { getFabUtilityClass } from './fabClasses';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n color,\n variant,\n classes,\n size\n } = ownerState;\n const slots = {\n root: ['root', variant, `size${capitalize(size)}`, color === 'inherit' ? 'colorInherit' : color]\n };\n const composedClasses = composeClasses(slots, getFabUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\nconst FabRoot = styled(ButtonBase, {\n name: 'MuiFab',\n slot: 'Root',\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[ownerState.variant], styles[`size${capitalize(ownerState.size)}`], ownerState.color === 'inherit' && styles.colorInherit, styles[capitalize(ownerState.size)], styles[ownerState.color]];\n }\n})(({\n theme,\n ownerState\n}) => {\n var _theme$palette$getCon, _theme$palette;\n return _extends({}, theme.typography.button, {\n minHeight: 36,\n transition: theme.transitions.create(['background-color', 'box-shadow', 'border-color'], {\n duration: theme.transitions.duration.short\n }),\n borderRadius: '50%',\n padding: 0,\n minWidth: 0,\n width: 56,\n height: 56,\n zIndex: (theme.vars || theme).zIndex.fab,\n boxShadow: (theme.vars || theme).shadows[6],\n '&:active': {\n boxShadow: (theme.vars || theme).shadows[12]\n },\n color: theme.vars ? theme.vars.palette.text.primary : (_theme$palette$getCon = (_theme$palette = theme.palette).getContrastText) == null ? void 0 : _theme$palette$getCon.call(_theme$palette, theme.palette.grey[300]),\n backgroundColor: (theme.vars || theme).palette.grey[300],\n '&:hover': {\n backgroundColor: (theme.vars || theme).palette.grey.A100,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: (theme.vars || theme).palette.grey[300]\n },\n textDecoration: 'none'\n },\n [`&.${fabClasses.focusVisible}`]: {\n boxShadow: (theme.vars || theme).shadows[6]\n }\n }, ownerState.size === 'small' && {\n width: 40,\n height: 40\n }, ownerState.size === 'medium' && {\n width: 48,\n height: 48\n }, ownerState.variant === 'extended' && {\n borderRadius: 48 / 2,\n padding: '0 16px',\n width: 'auto',\n minHeight: 'auto',\n minWidth: 48,\n height: 48\n }, ownerState.variant === 'extended' && ownerState.size === 'small' && {\n width: 'auto',\n padding: '0 8px',\n borderRadius: 34 / 2,\n minWidth: 34,\n height: 34\n }, ownerState.variant === 'extended' && ownerState.size === 'medium' && {\n width: 'auto',\n padding: '0 16px',\n borderRadius: 40 / 2,\n minWidth: 40,\n height: 40\n }, ownerState.color === 'inherit' && {\n color: 'inherit'\n });\n}, ({\n theme,\n ownerState\n}) => _extends({}, ownerState.color !== 'inherit' && ownerState.color !== 'default' && (theme.vars || theme).palette[ownerState.color] != null && {\n color: (theme.vars || theme).palette[ownerState.color].contrastText,\n backgroundColor: (theme.vars || theme).palette[ownerState.color].main,\n '&:hover': {\n backgroundColor: (theme.vars || theme).palette[ownerState.color].dark,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: (theme.vars || theme).palette[ownerState.color].main\n }\n }\n}), ({\n theme\n}) => ({\n [`&.${fabClasses.disabled}`]: {\n color: (theme.vars || theme).palette.action.disabled,\n boxShadow: (theme.vars || theme).shadows[0],\n backgroundColor: (theme.vars || theme).palette.action.disabledBackground\n }\n}));\nconst Fab = /*#__PURE__*/React.forwardRef(function Fab(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiFab'\n });\n const {\n children,\n className,\n color = 'default',\n component = 'button',\n disabled = false,\n disableFocusRipple = false,\n focusVisibleClassName,\n size = 'large',\n variant = 'circular'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n color,\n component,\n disabled,\n disableFocusRipple,\n size,\n variant\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(FabRoot, _extends({\n className: clsx(classes.root, className),\n component: component,\n disabled: disabled,\n focusRipple: !disableFocusRipple,\n focusVisibleClassName: clsx(classes.focusVisible, focusVisibleClassName),\n ownerState: ownerState,\n ref: ref\n }, other, {\n classes: classes,\n children: children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Fab.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * @default 'default'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['default', 'error', 'info', 'inherit', 'primary', 'secondary', 'success', 'warning']), PropTypes.string]),\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the keyboard focus ripple is disabled.\n * @default false\n */\n disableFocusRipple: PropTypes.bool,\n /**\n * If `true`, the ripple effect is disabled.\n */\n disableRipple: PropTypes.bool,\n /**\n * @ignore\n */\n focusVisibleClassName: PropTypes.string,\n /**\n * The URL to link to when the button is clicked.\n * If defined, an `a` element will be used as the root node.\n */\n href: PropTypes.string,\n /**\n * The size of the component.\n * `small` is equivalent to the dense button styling.\n * @default 'large'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['small', 'medium', 'large']), PropTypes.string]),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The variant to use.\n * @default 'circular'\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['circular', 'extended']), PropTypes.string])\n} : void 0;\nexport default Fab;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"disableUnderline\", \"components\", \"componentsProps\", \"fullWidth\", \"hiddenLabel\", \"inputComponent\", \"multiline\", \"slotProps\", \"slots\", \"type\"];\nimport * as React from 'react';\nimport deepmerge from '@mui/utils/deepmerge';\nimport refType from '@mui/utils/refType';\nimport PropTypes from 'prop-types';\nimport composeClasses from '@mui/utils/composeClasses';\nimport InputBase from '../InputBase';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport filledInputClasses, { getFilledInputUtilityClass } from './filledInputClasses';\nimport { rootOverridesResolver as inputBaseRootOverridesResolver, inputOverridesResolver as inputBaseInputOverridesResolver, InputBaseRoot, InputBaseComponent as InputBaseInput } from '../InputBase/InputBase';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disableUnderline\n } = ownerState;\n const slots = {\n root: ['root', !disableUnderline && 'underline'],\n input: ['input']\n };\n const composedClasses = composeClasses(slots, getFilledInputUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\nconst FilledInputRoot = styled(InputBaseRoot, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiFilledInput',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [...inputBaseRootOverridesResolver(props, styles), !ownerState.disableUnderline && styles.underline];\n }\n})(({\n theme,\n ownerState\n}) => {\n var _palette;\n const light = theme.palette.mode === 'light';\n const bottomLineColor = light ? 'rgba(0, 0, 0, 0.42)' : 'rgba(255, 255, 255, 0.7)';\n const backgroundColor = light ? 'rgba(0, 0, 0, 0.06)' : 'rgba(255, 255, 255, 0.09)';\n const hoverBackground = light ? 'rgba(0, 0, 0, 0.09)' : 'rgba(255, 255, 255, 0.13)';\n const disabledBackground = light ? 'rgba(0, 0, 0, 0.12)' : 'rgba(255, 255, 255, 0.12)';\n return _extends({\n position: 'relative',\n backgroundColor: theme.vars ? theme.vars.palette.FilledInput.bg : backgroundColor,\n borderTopLeftRadius: (theme.vars || theme).shape.borderRadius,\n borderTopRightRadius: (theme.vars || theme).shape.borderRadius,\n transition: theme.transitions.create('background-color', {\n duration: theme.transitions.duration.shorter,\n easing: theme.transitions.easing.easeOut\n }),\n '&:hover': {\n backgroundColor: theme.vars ? theme.vars.palette.FilledInput.hoverBg : hoverBackground,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: theme.vars ? theme.vars.palette.FilledInput.bg : backgroundColor\n }\n },\n [`&.${filledInputClasses.focused}`]: {\n backgroundColor: theme.vars ? theme.vars.palette.FilledInput.bg : backgroundColor\n },\n [`&.${filledInputClasses.disabled}`]: {\n backgroundColor: theme.vars ? theme.vars.palette.FilledInput.disabledBg : disabledBackground\n }\n }, !ownerState.disableUnderline && {\n '&::after': {\n borderBottom: `2px solid ${(_palette = (theme.vars || theme).palette[ownerState.color || 'primary']) == null ? void 0 : _palette.main}`,\n left: 0,\n bottom: 0,\n // Doing the other way around crash on IE11 \"''\" https://github.com/cssinjs/jss/issues/242\n content: '\"\"',\n position: 'absolute',\n right: 0,\n transform: 'scaleX(0)',\n transition: theme.transitions.create('transform', {\n duration: theme.transitions.duration.shorter,\n easing: theme.transitions.easing.easeOut\n }),\n pointerEvents: 'none' // Transparent to the hover style.\n },\n [`&.${filledInputClasses.focused}:after`]: {\n // translateX(0) is a workaround for Safari transform scale bug\n // See https://github.com/mui/material-ui/issues/31766\n transform: 'scaleX(1) translateX(0)'\n },\n [`&.${filledInputClasses.error}`]: {\n '&::before, &::after': {\n borderBottomColor: (theme.vars || theme).palette.error.main\n }\n },\n '&::before': {\n borderBottom: `1px solid ${theme.vars ? `rgba(${theme.vars.palette.common.onBackgroundChannel} / ${theme.vars.opacity.inputUnderline})` : bottomLineColor}`,\n left: 0,\n bottom: 0,\n // Doing the other way around crash on IE11 \"''\" https://github.com/cssinjs/jss/issues/242\n content: '\"\\\\00a0\"',\n position: 'absolute',\n right: 0,\n transition: theme.transitions.create('border-bottom-color', {\n duration: theme.transitions.duration.shorter\n }),\n pointerEvents: 'none' // Transparent to the hover style.\n },\n [`&:hover:not(.${filledInputClasses.disabled}, .${filledInputClasses.error}):before`]: {\n borderBottom: `1px solid ${(theme.vars || theme).palette.text.primary}`\n },\n [`&.${filledInputClasses.disabled}:before`]: {\n borderBottomStyle: 'dotted'\n }\n }, ownerState.startAdornment && {\n paddingLeft: 12\n }, ownerState.endAdornment && {\n paddingRight: 12\n }, ownerState.multiline && _extends({\n padding: '25px 12px 8px'\n }, ownerState.size === 'small' && {\n paddingTop: 21,\n paddingBottom: 4\n }, ownerState.hiddenLabel && {\n paddingTop: 16,\n paddingBottom: 17\n }, ownerState.hiddenLabel && ownerState.size === 'small' && {\n paddingTop: 8,\n paddingBottom: 9\n }));\n});\nconst FilledInputInput = styled(InputBaseInput, {\n name: 'MuiFilledInput',\n slot: 'Input',\n overridesResolver: inputBaseInputOverridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({\n paddingTop: 25,\n paddingRight: 12,\n paddingBottom: 8,\n paddingLeft: 12\n}, !theme.vars && {\n '&:-webkit-autofill': {\n WebkitBoxShadow: theme.palette.mode === 'light' ? null : '0 0 0 100px #266798 inset',\n WebkitTextFillColor: theme.palette.mode === 'light' ? null : '#fff',\n caretColor: theme.palette.mode === 'light' ? null : '#fff',\n borderTopLeftRadius: 'inherit',\n borderTopRightRadius: 'inherit'\n }\n}, theme.vars && {\n '&:-webkit-autofill': {\n borderTopLeftRadius: 'inherit',\n borderTopRightRadius: 'inherit'\n },\n [theme.getColorSchemeSelector('dark')]: {\n '&:-webkit-autofill': {\n WebkitBoxShadow: '0 0 0 100px #266798 inset',\n WebkitTextFillColor: '#fff',\n caretColor: '#fff'\n }\n }\n}, ownerState.size === 'small' && {\n paddingTop: 21,\n paddingBottom: 4\n}, ownerState.hiddenLabel && {\n paddingTop: 16,\n paddingBottom: 17\n}, ownerState.startAdornment && {\n paddingLeft: 0\n}, ownerState.endAdornment && {\n paddingRight: 0\n}, ownerState.hiddenLabel && ownerState.size === 'small' && {\n paddingTop: 8,\n paddingBottom: 9\n}, ownerState.multiline && {\n paddingTop: 0,\n paddingBottom: 0,\n paddingLeft: 0,\n paddingRight: 0\n}));\nconst FilledInput = /*#__PURE__*/React.forwardRef(function FilledInput(inProps, ref) {\n var _ref, _slots$root, _ref2, _slots$input;\n const props = useThemeProps({\n props: inProps,\n name: 'MuiFilledInput'\n });\n const {\n components = {},\n componentsProps: componentsPropsProp,\n fullWidth = false,\n // declare here to prevent spreading to DOM\n inputComponent = 'input',\n multiline = false,\n slotProps,\n slots = {},\n type = 'text'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n fullWidth,\n inputComponent,\n multiline,\n type\n });\n const classes = useUtilityClasses(props);\n const filledInputComponentsProps = {\n root: {\n ownerState\n },\n input: {\n ownerState\n }\n };\n const componentsProps = (slotProps != null ? slotProps : componentsPropsProp) ? deepmerge(filledInputComponentsProps, slotProps != null ? slotProps : componentsPropsProp) : filledInputComponentsProps;\n const RootSlot = (_ref = (_slots$root = slots.root) != null ? _slots$root : components.Root) != null ? _ref : FilledInputRoot;\n const InputSlot = (_ref2 = (_slots$input = slots.input) != null ? _slots$input : components.Input) != null ? _ref2 : FilledInputInput;\n return /*#__PURE__*/_jsx(InputBase, _extends({\n slots: {\n root: RootSlot,\n input: InputSlot\n },\n componentsProps: componentsProps,\n fullWidth: fullWidth,\n inputComponent: inputComponent,\n multiline: multiline,\n ref: ref,\n type: type\n }, other, {\n classes: classes\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? FilledInput.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * This prop helps users to fill forms faster, especially on mobile devices.\n * The name can be confusing, as it's more like an autofill.\n * You can learn more about it [following the specification](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill).\n */\n autoComplete: PropTypes.string,\n /**\n * If `true`, the `input` element is focused during the first mount.\n */\n autoFocus: PropTypes.bool,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * The prop defaults to the value (`'primary'`) inherited from the parent FormControl component.\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['primary', 'secondary']), PropTypes.string]),\n /**\n * The components used for each slot inside.\n *\n * This prop is an alias for the `slots` prop.\n * It's recommended to use the `slots` prop instead.\n *\n * @default {}\n */\n components: PropTypes.shape({\n Input: PropTypes.elementType,\n Root: PropTypes.elementType\n }),\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * This prop is an alias for the `slotProps` prop.\n * It's recommended to use the `slotProps` prop instead, as `componentsProps` will be deprecated in the future.\n *\n * @default {}\n */\n componentsProps: PropTypes.shape({\n input: PropTypes.object,\n root: PropTypes.object\n }),\n /**\n * The default value. Use when the component is not controlled.\n */\n defaultValue: PropTypes.any,\n /**\n * If `true`, the component is disabled.\n * The prop defaults to the value (`false`) inherited from the parent FormControl component.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the input will not have an underline.\n */\n disableUnderline: PropTypes.bool,\n /**\n * End `InputAdornment` for this component.\n */\n endAdornment: PropTypes.node,\n /**\n * If `true`, the `input` will indicate an error.\n * The prop defaults to the value (`false`) inherited from the parent FormControl component.\n */\n error: PropTypes.bool,\n /**\n * If `true`, the `input` will take up the full width of its container.\n * @default false\n */\n fullWidth: PropTypes.bool,\n /**\n * If `true`, the label is hidden.\n * This is used to increase density for a `FilledInput`.\n * Be sure to add `aria-label` to the `input` element.\n * @default false\n */\n hiddenLabel: PropTypes.bool,\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n /**\n * The component used for the `input` element.\n * Either a string to use a HTML element or a component.\n * @default 'input'\n */\n inputComponent: PropTypes.elementType,\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n * @default {}\n */\n inputProps: PropTypes.object,\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n /**\n * If `dense`, will adjust vertical spacing. This is normally obtained via context from\n * FormControl.\n * The prop defaults to the value (`'none'`) inherited from the parent FormControl component.\n */\n margin: PropTypes.oneOf(['dense', 'none']),\n /**\n * Maximum number of rows to display when multiline option is set to true.\n */\n maxRows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * Minimum number of rows to display when multiline option is set to true.\n */\n minRows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * If `true`, a [TextareaAutosize](/material-ui/react-textarea-autosize/) element is rendered.\n * @default false\n */\n multiline: PropTypes.bool,\n /**\n * Name attribute of the `input` element.\n */\n name: PropTypes.string,\n /**\n * Callback fired when the value is changed.\n *\n * @param {React.ChangeEvent<HTMLTextAreaElement | HTMLInputElement>} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value` (string).\n */\n onChange: PropTypes.func,\n /**\n * The short hint displayed in the `input` before the user enters a value.\n */\n placeholder: PropTypes.string,\n /**\n * It prevents the user from changing the value of the field\n * (not from interacting with the field).\n */\n readOnly: PropTypes.bool,\n /**\n * If `true`, the `input` element is required.\n * The prop defaults to the value (`false`) inherited from the parent FormControl component.\n */\n required: PropTypes.bool,\n /**\n * Number of rows to display when multiline option is set to true.\n */\n rows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * This prop is an alias for the `componentsProps` prop, which will be deprecated in the future.\n *\n * @default {}\n */\n slotProps: PropTypes.shape({\n input: PropTypes.object,\n root: PropTypes.object\n }),\n /**\n * The components used for each slot inside.\n *\n * This prop is an alias for the `components` prop, which will be deprecated in the future.\n *\n * @default {}\n */\n slots: PropTypes.shape({\n input: PropTypes.elementType,\n root: PropTypes.elementType\n }),\n /**\n * Start `InputAdornment` for this component.\n */\n startAdornment: PropTypes.node,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * Type of the `input` element. It should be [a valid HTML5 input type](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Form_%3Cinput%3E_types).\n * @default 'text'\n */\n type: PropTypes.string,\n /**\n * The value of the `input` element, required for a controlled component.\n */\n value: PropTypes.any\n} : void 0;\nFilledInput.muiName = 'Input';\nexport default FilledInput;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getFormControlUtilityClasses(slot) {\n return generateUtilityClass('MuiFormControl', slot);\n}\nconst formControlClasses = generateUtilityClasses('MuiFormControl', ['root', 'marginNone', 'marginNormal', 'marginDense', 'fullWidth', 'disabled']);\nexport default formControlClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"className\", \"color\", \"component\", \"disabled\", \"error\", \"focused\", \"fullWidth\", \"hiddenLabel\", \"margin\", \"required\", \"size\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport { isFilled, isAdornedStart } from '../InputBase/utils';\nimport capitalize from '../utils/capitalize';\nimport isMuiElement from '../utils/isMuiElement';\nimport FormControlContext from './FormControlContext';\nimport { getFormControlUtilityClasses } from './formControlClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n margin,\n fullWidth\n } = ownerState;\n const slots = {\n root: ['root', margin !== 'none' && `margin${capitalize(margin)}`, fullWidth && 'fullWidth']\n };\n return composeClasses(slots, getFormControlUtilityClasses, classes);\n};\nconst FormControlRoot = styled('div', {\n name: 'MuiFormControl',\n slot: 'Root',\n overridesResolver: ({\n ownerState\n }, styles) => {\n return _extends({}, styles.root, styles[`margin${capitalize(ownerState.margin)}`], ownerState.fullWidth && styles.fullWidth);\n }\n})(({\n ownerState\n}) => _extends({\n display: 'inline-flex',\n flexDirection: 'column',\n position: 'relative',\n // Reset fieldset default style.\n minWidth: 0,\n padding: 0,\n margin: 0,\n border: 0,\n verticalAlign: 'top'\n}, ownerState.margin === 'normal' && {\n marginTop: 16,\n marginBottom: 8\n}, ownerState.margin === 'dense' && {\n marginTop: 8,\n marginBottom: 4\n}, ownerState.fullWidth && {\n width: '100%'\n}));\n\n/**\n * Provides context such as filled/focused/error/required for form inputs.\n * Relying on the context provides high flexibility and ensures that the state always stays\n * consistent across the children of the `FormControl`.\n * This context is used by the following components:\n *\n * - FormLabel\n * - FormHelperText\n * - Input\n * - InputLabel\n *\n * You can find one composition example below and more going to [the demos](/material-ui/react-text-field/#components).\n *\n * ```jsx\n * <FormControl>\n * <InputLabel htmlFor=\"my-input\">Email address</InputLabel>\n * <Input id=\"my-input\" aria-describedby=\"my-helper-text\" />\n * <FormHelperText id=\"my-helper-text\">We'll never share your email.</FormHelperText>\n * </FormControl>\n * ```\n *\n * ⚠️ Only one `InputBase` can be used within a FormControl because it creates visual inconsistencies.\n * For instance, only one input can be focused at the same time, the state shouldn't be shared.\n */\nconst FormControl = /*#__PURE__*/React.forwardRef(function FormControl(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiFormControl'\n });\n const {\n children,\n className,\n color = 'primary',\n component = 'div',\n disabled = false,\n error = false,\n focused: visuallyFocused,\n fullWidth = false,\n hiddenLabel = false,\n margin = 'none',\n required = false,\n size = 'medium',\n variant = 'outlined'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n color,\n component,\n disabled,\n error,\n fullWidth,\n hiddenLabel,\n margin,\n required,\n size,\n variant\n });\n const classes = useUtilityClasses(ownerState);\n const [adornedStart, setAdornedStart] = React.useState(() => {\n // We need to iterate through the children and find the Input in order\n // to fully support server-side rendering.\n let initialAdornedStart = false;\n if (children) {\n React.Children.forEach(children, child => {\n if (!isMuiElement(child, ['Input', 'Select'])) {\n return;\n }\n const input = isMuiElement(child, ['Select']) ? child.props.input : child;\n if (input && isAdornedStart(input.props)) {\n initialAdornedStart = true;\n }\n });\n }\n return initialAdornedStart;\n });\n const [filled, setFilled] = React.useState(() => {\n // We need to iterate through the children and find the Input in order\n // to fully support server-side rendering.\n let initialFilled = false;\n if (children) {\n React.Children.forEach(children, child => {\n if (!isMuiElement(child, ['Input', 'Select'])) {\n return;\n }\n if (isFilled(child.props, true) || isFilled(child.props.inputProps, true)) {\n initialFilled = true;\n }\n });\n }\n return initialFilled;\n });\n const [focusedState, setFocused] = React.useState(false);\n if (disabled && focusedState) {\n setFocused(false);\n }\n const focused = visuallyFocused !== undefined && !disabled ? visuallyFocused : focusedState;\n let registerEffect;\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const registeredInput = React.useRef(false);\n registerEffect = () => {\n if (registeredInput.current) {\n console.error(['MUI: There are multiple `InputBase` components inside a FormControl.', 'This creates visual inconsistencies, only use one `InputBase`.'].join('\\n'));\n }\n registeredInput.current = true;\n return () => {\n registeredInput.current = false;\n };\n };\n }\n const childContext = React.useMemo(() => {\n return {\n adornedStart,\n setAdornedStart,\n color,\n disabled,\n error,\n filled,\n focused,\n fullWidth,\n hiddenLabel,\n size,\n onBlur: () => {\n setFocused(false);\n },\n onEmpty: () => {\n setFilled(false);\n },\n onFilled: () => {\n setFilled(true);\n },\n onFocus: () => {\n setFocused(true);\n },\n registerEffect,\n required,\n variant\n };\n }, [adornedStart, color, disabled, error, filled, focused, fullWidth, hiddenLabel, registerEffect, required, size, variant]);\n return /*#__PURE__*/_jsx(FormControlContext.Provider, {\n value: childContext,\n children: /*#__PURE__*/_jsx(FormControlRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: children\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? FormControl.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * @default 'primary'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * If `true`, the label, input and helper text should be displayed in a disabled state.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the label is displayed in an error state.\n * @default false\n */\n error: PropTypes.bool,\n /**\n * If `true`, the component is displayed in focused state.\n */\n focused: PropTypes.bool,\n /**\n * If `true`, the component will take up the full width of its container.\n * @default false\n */\n fullWidth: PropTypes.bool,\n /**\n * If `true`, the label is hidden.\n * This is used to increase density for a `FilledInput`.\n * Be sure to add `aria-label` to the `input` element.\n * @default false\n */\n hiddenLabel: PropTypes.bool,\n /**\n * If `dense` or `normal`, will adjust vertical spacing of this and contained components.\n * @default 'none'\n */\n margin: PropTypes.oneOf(['dense', 'none', 'normal']),\n /**\n * If `true`, the label will indicate that the `input` is required.\n * @default false\n */\n required: PropTypes.bool,\n /**\n * The size of the component.\n * @default 'medium'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The variant to use.\n * @default 'outlined'\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default FormControl;","'use client';\n\nimport PropTypes from 'prop-types';\nimport { createStack } from '@mui/system';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nconst Stack = createStack({\n createStyledComponent: styled('div', {\n name: 'MuiStack',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n }),\n useThemeProps: inProps => useThemeProps({\n props: inProps,\n name: 'MuiStack'\n })\n});\nprocess.env.NODE_ENV !== \"production\" ? Stack.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * Defines the `flex-direction` style property.\n * It is applied for all screen sizes.\n * @default 'column'\n */\n direction: PropTypes.oneOfType([PropTypes.oneOf(['column-reverse', 'column', 'row-reverse', 'row']), PropTypes.arrayOf(PropTypes.oneOf(['column-reverse', 'column', 'row-reverse', 'row'])), PropTypes.object]),\n /**\n * Add an element between each child.\n */\n divider: PropTypes.node,\n /**\n * Defines the space between immediate children.\n * @default 0\n */\n spacing: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string])), PropTypes.number, PropTypes.object, PropTypes.string]),\n /**\n * The system prop, which allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * If `true`, the CSS flexbox `gap` is used instead of applying `margin` to children.\n *\n * While CSS `gap` removes the [known limitations](https://mui.com/joy-ui/react-stack/#limitations),\n * it is not fully supported in some browsers. We recommend checking https://caniuse.com/?search=flex%20gap before using this flag.\n *\n * To enable this flag globally, follow the [theme's default props](https://mui.com/material-ui/customization/theme-components/#default-props) configuration.\n * @default false\n */\n useFlexGap: PropTypes.bool\n} : void 0;\nexport default Stack;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getFormControlLabelUtilityClasses(slot) {\n return generateUtilityClass('MuiFormControlLabel', slot);\n}\nconst formControlLabelClasses = generateUtilityClasses('MuiFormControlLabel', ['root', 'labelPlacementStart', 'labelPlacementTop', 'labelPlacementBottom', 'disabled', 'label', 'error', 'required', 'asterisk']);\nexport default formControlLabelClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"checked\", \"className\", \"componentsProps\", \"control\", \"disabled\", \"disableTypography\", \"inputRef\", \"label\", \"labelPlacement\", \"name\", \"onChange\", \"required\", \"slotProps\", \"value\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport refType from '@mui/utils/refType';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { useFormControl } from '../FormControl';\nimport Stack from '../Stack';\nimport Typography from '../Typography';\nimport capitalize from '../utils/capitalize';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport formControlLabelClasses, { getFormControlLabelUtilityClasses } from './formControlLabelClasses';\nimport formControlState from '../FormControl/formControlState';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disabled,\n labelPlacement,\n error,\n required\n } = ownerState;\n const slots = {\n root: ['root', disabled && 'disabled', `labelPlacement${capitalize(labelPlacement)}`, error && 'error', required && 'required'],\n label: ['label', disabled && 'disabled'],\n asterisk: ['asterisk', error && 'error']\n };\n return composeClasses(slots, getFormControlLabelUtilityClasses, classes);\n};\nexport const FormControlLabelRoot = styled('label', {\n name: 'MuiFormControlLabel',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [{\n [`& .${formControlLabelClasses.label}`]: styles.label\n }, styles.root, styles[`labelPlacement${capitalize(ownerState.labelPlacement)}`]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'inline-flex',\n alignItems: 'center',\n cursor: 'pointer',\n // For correct alignment with the text.\n verticalAlign: 'middle',\n WebkitTapHighlightColor: 'transparent',\n marginLeft: -11,\n marginRight: 16,\n // used for row presentation of radio/checkbox\n [`&.${formControlLabelClasses.disabled}`]: {\n cursor: 'default'\n }\n}, ownerState.labelPlacement === 'start' && {\n flexDirection: 'row-reverse',\n marginLeft: 16,\n // used for row presentation of radio/checkbox\n marginRight: -11\n}, ownerState.labelPlacement === 'top' && {\n flexDirection: 'column-reverse',\n marginLeft: 16\n}, ownerState.labelPlacement === 'bottom' && {\n flexDirection: 'column',\n marginLeft: 16\n}, {\n [`& .${formControlLabelClasses.label}`]: {\n [`&.${formControlLabelClasses.disabled}`]: {\n color: (theme.vars || theme).palette.text.disabled\n }\n }\n}));\nconst AsteriskComponent = styled('span', {\n name: 'MuiFormControlLabel',\n slot: 'Asterisk',\n overridesResolver: (props, styles) => styles.asterisk\n})(({\n theme\n}) => ({\n [`&.${formControlLabelClasses.error}`]: {\n color: (theme.vars || theme).palette.error.main\n }\n}));\n\n/**\n * Drop-in replacement of the `Radio`, `Switch` and `Checkbox` component.\n * Use this component if you want to display an extra label.\n */\nconst FormControlLabel = /*#__PURE__*/React.forwardRef(function FormControlLabel(inProps, ref) {\n var _ref, _slotProps$typography;\n const props = useThemeProps({\n props: inProps,\n name: 'MuiFormControlLabel'\n });\n const {\n className,\n componentsProps = {},\n control,\n disabled: disabledProp,\n disableTypography,\n label: labelProp,\n labelPlacement = 'end',\n required: requiredProp,\n slotProps = {}\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const muiFormControl = useFormControl();\n const disabled = (_ref = disabledProp != null ? disabledProp : control.props.disabled) != null ? _ref : muiFormControl == null ? void 0 : muiFormControl.disabled;\n const required = requiredProp != null ? requiredProp : control.props.required;\n const controlProps = {\n disabled,\n required\n };\n ['checked', 'name', 'onChange', 'value', 'inputRef'].forEach(key => {\n if (typeof control.props[key] === 'undefined' && typeof props[key] !== 'undefined') {\n controlProps[key] = props[key];\n }\n });\n const fcs = formControlState({\n props,\n muiFormControl,\n states: ['error']\n });\n const ownerState = _extends({}, props, {\n disabled,\n labelPlacement,\n required,\n error: fcs.error\n });\n const classes = useUtilityClasses(ownerState);\n const typographySlotProps = (_slotProps$typography = slotProps.typography) != null ? _slotProps$typography : componentsProps.typography;\n let label = labelProp;\n if (label != null && label.type !== Typography && !disableTypography) {\n label = /*#__PURE__*/_jsx(Typography, _extends({\n component: \"span\"\n }, typographySlotProps, {\n className: clsx(classes.label, typographySlotProps == null ? void 0 : typographySlotProps.className),\n children: label\n }));\n }\n return /*#__PURE__*/_jsxs(FormControlLabelRoot, _extends({\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref\n }, other, {\n children: [/*#__PURE__*/React.cloneElement(control, controlProps), required ? /*#__PURE__*/_jsxs(Stack, {\n display: \"block\",\n children: [label, /*#__PURE__*/_jsxs(AsteriskComponent, {\n ownerState: ownerState,\n \"aria-hidden\": true,\n className: classes.asterisk,\n children: [\"\\u2009\", '*']\n })]\n }) : label]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? FormControlLabel.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * If `true`, the component appears selected.\n */\n checked: PropTypes.bool,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The props used for each slot inside.\n * @default {}\n */\n componentsProps: PropTypes.shape({\n typography: PropTypes.object\n }),\n /**\n * A control element. For instance, it can be a `Radio`, a `Switch` or a `Checkbox`.\n */\n control: PropTypes.element.isRequired,\n /**\n * If `true`, the control is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the label is rendered as it is passed without an additional typography node.\n */\n disableTypography: PropTypes.bool,\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n /**\n * A text or an element to be used in an enclosing label element.\n */\n label: PropTypes.node,\n /**\n * The position of the label.\n * @default 'end'\n */\n labelPlacement: PropTypes.oneOf(['bottom', 'end', 'start', 'top']),\n /**\n * @ignore\n */\n name: PropTypes.string,\n /**\n * Callback fired when the state is changed.\n *\n * @param {React.SyntheticEvent} event The event source of the callback.\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n /**\n * If `true`, the label will indicate that the `input` is required.\n */\n required: PropTypes.bool,\n /**\n * The props used for each slot inside.\n * @default {}\n */\n slotProps: PropTypes.shape({\n typography: PropTypes.object\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The value of the component.\n */\n value: PropTypes.any\n} : void 0;\nexport default FormControlLabel;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getFormGroupUtilityClass(slot) {\n return generateUtilityClass('MuiFormGroup', slot);\n}\nconst formGroupClasses = generateUtilityClasses('MuiFormGroup', ['root', 'row', 'error']);\nexport default formGroupClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"row\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport { getFormGroupUtilityClass } from './formGroupClasses';\nimport useFormControl from '../FormControl/useFormControl';\nimport formControlState from '../FormControl/formControlState';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n row,\n error\n } = ownerState;\n const slots = {\n root: ['root', row && 'row', error && 'error']\n };\n return composeClasses(slots, getFormGroupUtilityClass, classes);\n};\nconst FormGroupRoot = styled('div', {\n name: 'MuiFormGroup',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.row && styles.row];\n }\n})(({\n ownerState\n}) => _extends({\n display: 'flex',\n flexDirection: 'column',\n flexWrap: 'wrap'\n}, ownerState.row && {\n flexDirection: 'row'\n}));\n\n/**\n * `FormGroup` wraps controls such as `Checkbox` and `Switch`.\n * It provides compact row layout.\n * For the `Radio`, you should be using the `RadioGroup` component instead of this one.\n */\nconst FormGroup = /*#__PURE__*/React.forwardRef(function FormGroup(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiFormGroup'\n });\n const {\n className,\n row = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const muiFormControl = useFormControl();\n const fcs = formControlState({\n props,\n muiFormControl,\n states: ['error']\n });\n const ownerState = _extends({}, props, {\n row,\n error: fcs.error\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(FormGroupRoot, _extends({\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? FormGroup.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * Display group of elements in a compact row.\n * @default false\n */\n row: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default FormGroup;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getFormHelperTextUtilityClasses(slot) {\n return generateUtilityClass('MuiFormHelperText', slot);\n}\nconst formHelperTextClasses = generateUtilityClasses('MuiFormHelperText', ['root', 'error', 'disabled', 'sizeSmall', 'sizeMedium', 'contained', 'focused', 'filled', 'required']);\nexport default formHelperTextClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nvar _span;\nconst _excluded = [\"children\", \"className\", \"component\", \"disabled\", \"error\", \"filled\", \"focused\", \"margin\", \"required\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport formControlState from '../FormControl/formControlState';\nimport useFormControl from '../FormControl/useFormControl';\nimport styled from '../styles/styled';\nimport capitalize from '../utils/capitalize';\nimport formHelperTextClasses, { getFormHelperTextUtilityClasses } from './formHelperTextClasses';\nimport useThemeProps from '../styles/useThemeProps';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n contained,\n size,\n disabled,\n error,\n filled,\n focused,\n required\n } = ownerState;\n const slots = {\n root: ['root', disabled && 'disabled', error && 'error', size && `size${capitalize(size)}`, contained && 'contained', focused && 'focused', filled && 'filled', required && 'required']\n };\n return composeClasses(slots, getFormHelperTextUtilityClasses, classes);\n};\nconst FormHelperTextRoot = styled('p', {\n name: 'MuiFormHelperText',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.size && styles[`size${capitalize(ownerState.size)}`], ownerState.contained && styles.contained, ownerState.filled && styles.filled];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n color: (theme.vars || theme).palette.text.secondary\n}, theme.typography.caption, {\n textAlign: 'left',\n marginTop: 3,\n marginRight: 0,\n marginBottom: 0,\n marginLeft: 0,\n [`&.${formHelperTextClasses.disabled}`]: {\n color: (theme.vars || theme).palette.text.disabled\n },\n [`&.${formHelperTextClasses.error}`]: {\n color: (theme.vars || theme).palette.error.main\n }\n}, ownerState.size === 'small' && {\n marginTop: 4\n}, ownerState.contained && {\n marginLeft: 14,\n marginRight: 14\n}));\nconst FormHelperText = /*#__PURE__*/React.forwardRef(function FormHelperText(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiFormHelperText'\n });\n const {\n children,\n className,\n component = 'p'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const muiFormControl = useFormControl();\n const fcs = formControlState({\n props,\n muiFormControl,\n states: ['variant', 'size', 'disabled', 'error', 'filled', 'focused', 'required']\n });\n const ownerState = _extends({}, props, {\n component,\n contained: fcs.variant === 'filled' || fcs.variant === 'outlined',\n variant: fcs.variant,\n size: fcs.size,\n disabled: fcs.disabled,\n error: fcs.error,\n filled: fcs.filled,\n focused: fcs.focused,\n required: fcs.required\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(FormHelperTextRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: children === ' ' ? // notranslate needed while Google Translate will not fix zero-width space issue\n _span || (_span = /*#__PURE__*/_jsx(\"span\", {\n className: \"notranslate\",\n children: \"\\u200B\"\n })) : children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? FormHelperText.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n *\n * If `' '` is provided, the component reserves one line height for displaying a future message.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * If `true`, the helper text should be displayed in a disabled state.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, helper text should be displayed in an error state.\n */\n error: PropTypes.bool,\n /**\n * If `true`, the helper text should use filled classes key.\n */\n filled: PropTypes.bool,\n /**\n * If `true`, the helper text should use focused classes key.\n */\n focused: PropTypes.bool,\n /**\n * If `dense`, will adjust vertical spacing. This is normally obtained via context from\n * FormControl.\n */\n margin: PropTypes.oneOf(['dense']),\n /**\n * If `true`, the helper text should use required classes key.\n */\n required: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The variant to use.\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['filled', 'outlined', 'standard']), PropTypes.string])\n} : void 0;\nexport default FormHelperText;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getFormLabelUtilityClasses(slot) {\n return generateUtilityClass('MuiFormLabel', slot);\n}\nconst formLabelClasses = generateUtilityClasses('MuiFormLabel', ['root', 'colorSecondary', 'focused', 'disabled', 'error', 'filled', 'required', 'asterisk']);\nexport default formLabelClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"className\", \"color\", \"component\", \"disabled\", \"error\", \"filled\", \"focused\", \"required\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport formControlState from '../FormControl/formControlState';\nimport useFormControl from '../FormControl/useFormControl';\nimport capitalize from '../utils/capitalize';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport formLabelClasses, { getFormLabelUtilityClasses } from './formLabelClasses';\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n color,\n focused,\n disabled,\n error,\n filled,\n required\n } = ownerState;\n const slots = {\n root: ['root', `color${capitalize(color)}`, disabled && 'disabled', error && 'error', filled && 'filled', focused && 'focused', required && 'required'],\n asterisk: ['asterisk', error && 'error']\n };\n return composeClasses(slots, getFormLabelUtilityClasses, classes);\n};\nexport const FormLabelRoot = styled('label', {\n name: 'MuiFormLabel',\n slot: 'Root',\n overridesResolver: ({\n ownerState\n }, styles) => {\n return _extends({}, styles.root, ownerState.color === 'secondary' && styles.colorSecondary, ownerState.filled && styles.filled);\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n color: (theme.vars || theme).palette.text.secondary\n}, theme.typography.body1, {\n lineHeight: '1.4375em',\n padding: 0,\n position: 'relative',\n [`&.${formLabelClasses.focused}`]: {\n color: (theme.vars || theme).palette[ownerState.color].main\n },\n [`&.${formLabelClasses.disabled}`]: {\n color: (theme.vars || theme).palette.text.disabled\n },\n [`&.${formLabelClasses.error}`]: {\n color: (theme.vars || theme).palette.error.main\n }\n}));\nconst AsteriskComponent = styled('span', {\n name: 'MuiFormLabel',\n slot: 'Asterisk',\n overridesResolver: (props, styles) => styles.asterisk\n})(({\n theme\n}) => ({\n [`&.${formLabelClasses.error}`]: {\n color: (theme.vars || theme).palette.error.main\n }\n}));\nconst FormLabel = /*#__PURE__*/React.forwardRef(function FormLabel(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiFormLabel'\n });\n const {\n children,\n className,\n component = 'label'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const muiFormControl = useFormControl();\n const fcs = formControlState({\n props,\n muiFormControl,\n states: ['color', 'required', 'focused', 'disabled', 'error', 'filled']\n });\n const ownerState = _extends({}, props, {\n color: fcs.color || 'primary',\n component,\n disabled: fcs.disabled,\n error: fcs.error,\n filled: fcs.filled,\n focused: fcs.focused,\n required: fcs.required\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(FormLabelRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: [children, fcs.required && /*#__PURE__*/_jsxs(AsteriskComponent, {\n ownerState: ownerState,\n \"aria-hidden\": true,\n className: classes.asterisk,\n children: [\"\\u2009\", '*']\n })]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? FormLabel.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['error', 'info', 'primary', 'secondary', 'success', 'warning']), PropTypes.string]),\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * If `true`, the label should be displayed in a disabled state.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the label is displayed in an error state.\n */\n error: PropTypes.bool,\n /**\n * If `true`, the label should use filled classes key.\n */\n filled: PropTypes.bool,\n /**\n * If `true`, the input of this label is focused (used by `FormGroup` components).\n */\n focused: PropTypes.bool,\n /**\n * If `true`, the label will indicate that the `input` is required.\n */\n required: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default FormLabel;","'use client';\n\nimport * as React from 'react';\n\n/**\n * @ignore - internal component.\n */\nconst GridContext = /*#__PURE__*/React.createContext();\nif (process.env.NODE_ENV !== 'production') {\n GridContext.displayName = 'GridContext';\n}\nexport default GridContext;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getGridUtilityClass(slot) {\n return generateUtilityClass('MuiGrid', slot);\n}\nconst SPACINGS = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10];\nconst DIRECTIONS = ['column-reverse', 'column', 'row-reverse', 'row'];\nconst WRAPS = ['nowrap', 'wrap-reverse', 'wrap'];\nconst GRID_SIZES = ['auto', true, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];\nconst gridClasses = generateUtilityClasses('MuiGrid', ['root', 'container', 'item', 'zeroMinWidth',\n// spacings\n...SPACINGS.map(spacing => `spacing-xs-${spacing}`),\n// direction values\n...DIRECTIONS.map(direction => `direction-xs-${direction}`),\n// wrap values\n...WRAPS.map(wrap => `wrap-xs-${wrap}`),\n// grid sizes for all breakpoints\n...GRID_SIZES.map(size => `grid-xs-${size}`), ...GRID_SIZES.map(size => `grid-sm-${size}`), ...GRID_SIZES.map(size => `grid-md-${size}`), ...GRID_SIZES.map(size => `grid-lg-${size}`), ...GRID_SIZES.map(size => `grid-xl-${size}`)]);\nexport default gridClasses;","'use client';\n\n// A grid component using the following libs as inspiration.\n//\n// For the implementation:\n// - https://getbootstrap.com/docs/4.3/layout/grid/\n// - https://github.com/kristoferjoseph/flexboxgrid/blob/master/src/css/flexboxgrid.css\n// - https://github.com/roylee0704/react-flexbox-grid\n// - https://material.angularjs.org/latest/layout/introduction\n//\n// Follow this flexbox Guide to better understand the underlying model:\n// - https://css-tricks.com/snippets/css/a-guide-to-flexbox/\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"columns\", \"columnSpacing\", \"component\", \"container\", \"direction\", \"item\", \"rowSpacing\", \"spacing\", \"wrap\", \"zeroMinWidth\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { handleBreakpoints, unstable_resolveBreakpointValues as resolveBreakpointValues } from '@mui/system';\nimport { extendSxProp } from '@mui/system/styleFunctionSx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport requirePropFactory from '../utils/requirePropFactory';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport useTheme from '../styles/useTheme';\nimport GridContext from './GridContext';\nimport gridClasses, { getGridUtilityClass } from './gridClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction getOffset(val) {\n const parse = parseFloat(val);\n return `${parse}${String(val).replace(String(parse), '') || 'px'}`;\n}\nexport function generateGrid({\n theme,\n ownerState\n}) {\n let size;\n return theme.breakpoints.keys.reduce((globalStyles, breakpoint) => {\n // Use side effect over immutability for better performance.\n let styles = {};\n if (ownerState[breakpoint]) {\n size = ownerState[breakpoint];\n }\n if (!size) {\n return globalStyles;\n }\n if (size === true) {\n // For the auto layouting\n styles = {\n flexBasis: 0,\n flexGrow: 1,\n maxWidth: '100%'\n };\n } else if (size === 'auto') {\n styles = {\n flexBasis: 'auto',\n flexGrow: 0,\n flexShrink: 0,\n maxWidth: 'none',\n width: 'auto'\n };\n } else {\n const columnsBreakpointValues = resolveBreakpointValues({\n values: ownerState.columns,\n breakpoints: theme.breakpoints.values\n });\n const columnValue = typeof columnsBreakpointValues === 'object' ? columnsBreakpointValues[breakpoint] : columnsBreakpointValues;\n if (columnValue === undefined || columnValue === null) {\n return globalStyles;\n }\n // Keep 7 significant numbers.\n const width = `${Math.round(size / columnValue * 10e7) / 10e5}%`;\n let more = {};\n if (ownerState.container && ownerState.item && ownerState.columnSpacing !== 0) {\n const themeSpacing = theme.spacing(ownerState.columnSpacing);\n if (themeSpacing !== '0px') {\n const fullWidth = `calc(${width} + ${getOffset(themeSpacing)})`;\n more = {\n flexBasis: fullWidth,\n maxWidth: fullWidth\n };\n }\n }\n\n // Close to the bootstrap implementation:\n // https://github.com/twbs/bootstrap/blob/8fccaa2439e97ec72a4b7dc42ccc1f649790adb0/scss/mixins/_grid.scss#L41\n styles = _extends({\n flexBasis: width,\n flexGrow: 0,\n maxWidth: width\n }, more);\n }\n\n // No need for a media query for the first size.\n if (theme.breakpoints.values[breakpoint] === 0) {\n Object.assign(globalStyles, styles);\n } else {\n globalStyles[theme.breakpoints.up(breakpoint)] = styles;\n }\n return globalStyles;\n }, {});\n}\nexport function generateDirection({\n theme,\n ownerState\n}) {\n const directionValues = resolveBreakpointValues({\n values: ownerState.direction,\n breakpoints: theme.breakpoints.values\n });\n return handleBreakpoints({\n theme\n }, directionValues, propValue => {\n const output = {\n flexDirection: propValue\n };\n if (propValue.indexOf('column') === 0) {\n output[`& > .${gridClasses.item}`] = {\n maxWidth: 'none'\n };\n }\n return output;\n });\n}\n\n/**\n * Extracts zero value breakpoint keys before a non-zero value breakpoint key.\n * @example { xs: 0, sm: 0, md: 2, lg: 0, xl: 0 } or [0, 0, 2, 0, 0]\n * @returns [xs, sm]\n */\nfunction extractZeroValueBreakpointKeys({\n breakpoints,\n values\n}) {\n let nonZeroKey = '';\n Object.keys(values).forEach(key => {\n if (nonZeroKey !== '') {\n return;\n }\n if (values[key] !== 0) {\n nonZeroKey = key;\n }\n });\n const sortedBreakpointKeysByValue = Object.keys(breakpoints).sort((a, b) => {\n return breakpoints[a] - breakpoints[b];\n });\n return sortedBreakpointKeysByValue.slice(0, sortedBreakpointKeysByValue.indexOf(nonZeroKey));\n}\nexport function generateRowGap({\n theme,\n ownerState\n}) {\n const {\n container,\n rowSpacing\n } = ownerState;\n let styles = {};\n if (container && rowSpacing !== 0) {\n const rowSpacingValues = resolveBreakpointValues({\n values: rowSpacing,\n breakpoints: theme.breakpoints.values\n });\n let zeroValueBreakpointKeys;\n if (typeof rowSpacingValues === 'object') {\n zeroValueBreakpointKeys = extractZeroValueBreakpointKeys({\n breakpoints: theme.breakpoints.values,\n values: rowSpacingValues\n });\n }\n styles = handleBreakpoints({\n theme\n }, rowSpacingValues, (propValue, breakpoint) => {\n var _zeroValueBreakpointK;\n const themeSpacing = theme.spacing(propValue);\n if (themeSpacing !== '0px') {\n return {\n marginTop: `-${getOffset(themeSpacing)}`,\n [`& > .${gridClasses.item}`]: {\n paddingTop: getOffset(themeSpacing)\n }\n };\n }\n if ((_zeroValueBreakpointK = zeroValueBreakpointKeys) != null && _zeroValueBreakpointK.includes(breakpoint)) {\n return {};\n }\n return {\n marginTop: 0,\n [`& > .${gridClasses.item}`]: {\n paddingTop: 0\n }\n };\n });\n }\n return styles;\n}\nexport function generateColumnGap({\n theme,\n ownerState\n}) {\n const {\n container,\n columnSpacing\n } = ownerState;\n let styles = {};\n if (container && columnSpacing !== 0) {\n const columnSpacingValues = resolveBreakpointValues({\n values: columnSpacing,\n breakpoints: theme.breakpoints.values\n });\n let zeroValueBreakpointKeys;\n if (typeof columnSpacingValues === 'object') {\n zeroValueBreakpointKeys = extractZeroValueBreakpointKeys({\n breakpoints: theme.breakpoints.values,\n values: columnSpacingValues\n });\n }\n styles = handleBreakpoints({\n theme\n }, columnSpacingValues, (propValue, breakpoint) => {\n var _zeroValueBreakpointK2;\n const themeSpacing = theme.spacing(propValue);\n if (themeSpacing !== '0px') {\n return {\n width: `calc(100% + ${getOffset(themeSpacing)})`,\n marginLeft: `-${getOffset(themeSpacing)}`,\n [`& > .${gridClasses.item}`]: {\n paddingLeft: getOffset(themeSpacing)\n }\n };\n }\n if ((_zeroValueBreakpointK2 = zeroValueBreakpointKeys) != null && _zeroValueBreakpointK2.includes(breakpoint)) {\n return {};\n }\n return {\n width: '100%',\n marginLeft: 0,\n [`& > .${gridClasses.item}`]: {\n paddingLeft: 0\n }\n };\n });\n }\n return styles;\n}\nexport function resolveSpacingStyles(spacing, breakpoints, styles = {}) {\n // undefined/null or `spacing` <= 0\n if (!spacing || spacing <= 0) {\n return [];\n }\n // in case of string/number `spacing`\n if (typeof spacing === 'string' && !Number.isNaN(Number(spacing)) || typeof spacing === 'number') {\n return [styles[`spacing-xs-${String(spacing)}`]];\n }\n // in case of object `spacing`\n const spacingStyles = [];\n breakpoints.forEach(breakpoint => {\n const value = spacing[breakpoint];\n if (Number(value) > 0) {\n spacingStyles.push(styles[`spacing-${breakpoint}-${String(value)}`]);\n }\n });\n return spacingStyles;\n}\n\n// Default CSS values\n// flex: '0 1 auto',\n// flexDirection: 'row',\n// alignItems: 'flex-start',\n// flexWrap: 'nowrap',\n// justifyContent: 'flex-start',\nconst GridRoot = styled('div', {\n name: 'MuiGrid',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n const {\n container,\n direction,\n item,\n spacing,\n wrap,\n zeroMinWidth,\n breakpoints\n } = ownerState;\n let spacingStyles = [];\n\n // in case of grid item\n if (container) {\n spacingStyles = resolveSpacingStyles(spacing, breakpoints, styles);\n }\n const breakpointsStyles = [];\n breakpoints.forEach(breakpoint => {\n const value = ownerState[breakpoint];\n if (value) {\n breakpointsStyles.push(styles[`grid-${breakpoint}-${String(value)}`]);\n }\n });\n return [styles.root, container && styles.container, item && styles.item, zeroMinWidth && styles.zeroMinWidth, ...spacingStyles, direction !== 'row' && styles[`direction-xs-${String(direction)}`], wrap !== 'wrap' && styles[`wrap-xs-${String(wrap)}`], ...breakpointsStyles];\n }\n})(({\n ownerState\n}) => _extends({\n boxSizing: 'border-box'\n}, ownerState.container && {\n display: 'flex',\n flexWrap: 'wrap',\n width: '100%'\n}, ownerState.item && {\n margin: 0 // For instance, it's useful when used with a `figure` element.\n}, ownerState.zeroMinWidth && {\n minWidth: 0\n}, ownerState.wrap !== 'wrap' && {\n flexWrap: ownerState.wrap\n}), generateDirection, generateRowGap, generateColumnGap, generateGrid);\nexport function resolveSpacingClasses(spacing, breakpoints) {\n // undefined/null or `spacing` <= 0\n if (!spacing || spacing <= 0) {\n return [];\n }\n // in case of string/number `spacing`\n if (typeof spacing === 'string' && !Number.isNaN(Number(spacing)) || typeof spacing === 'number') {\n return [`spacing-xs-${String(spacing)}`];\n }\n // in case of object `spacing`\n const classes = [];\n breakpoints.forEach(breakpoint => {\n const value = spacing[breakpoint];\n if (Number(value) > 0) {\n const className = `spacing-${breakpoint}-${String(value)}`;\n classes.push(className);\n }\n });\n return classes;\n}\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n container,\n direction,\n item,\n spacing,\n wrap,\n zeroMinWidth,\n breakpoints\n } = ownerState;\n let spacingClasses = [];\n\n // in case of grid item\n if (container) {\n spacingClasses = resolveSpacingClasses(spacing, breakpoints);\n }\n const breakpointsClasses = [];\n breakpoints.forEach(breakpoint => {\n const value = ownerState[breakpoint];\n if (value) {\n breakpointsClasses.push(`grid-${breakpoint}-${String(value)}`);\n }\n });\n const slots = {\n root: ['root', container && 'container', item && 'item', zeroMinWidth && 'zeroMinWidth', ...spacingClasses, direction !== 'row' && `direction-xs-${String(direction)}`, wrap !== 'wrap' && `wrap-xs-${String(wrap)}`, ...breakpointsClasses]\n };\n return composeClasses(slots, getGridUtilityClass, classes);\n};\nconst Grid = /*#__PURE__*/React.forwardRef(function Grid(inProps, ref) {\n const themeProps = useThemeProps({\n props: inProps,\n name: 'MuiGrid'\n });\n const {\n breakpoints\n } = useTheme();\n const props = extendSxProp(themeProps);\n const {\n className,\n columns: columnsProp,\n columnSpacing: columnSpacingProp,\n component = 'div',\n container = false,\n direction = 'row',\n item = false,\n rowSpacing: rowSpacingProp,\n spacing = 0,\n wrap = 'wrap',\n zeroMinWidth = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const rowSpacing = rowSpacingProp || spacing;\n const columnSpacing = columnSpacingProp || spacing;\n const columnsContext = React.useContext(GridContext);\n\n // columns set with default breakpoint unit of 12\n const columns = container ? columnsProp || 12 : columnsContext;\n const breakpointsValues = {};\n const otherFiltered = _extends({}, other);\n breakpoints.keys.forEach(breakpoint => {\n if (other[breakpoint] != null) {\n breakpointsValues[breakpoint] = other[breakpoint];\n delete otherFiltered[breakpoint];\n }\n });\n const ownerState = _extends({}, props, {\n columns,\n container,\n direction,\n item,\n rowSpacing,\n columnSpacing,\n wrap,\n zeroMinWidth,\n spacing\n }, breakpointsValues, {\n breakpoints: breakpoints.keys\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(GridContext.Provider, {\n value: columns,\n children: /*#__PURE__*/_jsx(GridRoot, _extends({\n ownerState: ownerState,\n className: clsx(classes.root, className),\n as: component,\n ref: ref\n }, otherFiltered))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Grid.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The number of columns.\n * @default 12\n */\n columns: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.number, PropTypes.object]),\n /**\n * Defines the horizontal space between the type `item` components.\n * It overrides the value of the `spacing` prop.\n */\n columnSpacing: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string])), PropTypes.number, PropTypes.object, PropTypes.string]),\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * If `true`, the component will have the flex *container* behavior.\n * You should be wrapping *items* with a *container*.\n * @default false\n */\n container: PropTypes.bool,\n /**\n * Defines the `flex-direction` style property.\n * It is applied for all screen sizes.\n * @default 'row'\n */\n direction: PropTypes.oneOfType([PropTypes.oneOf(['column-reverse', 'column', 'row-reverse', 'row']), PropTypes.arrayOf(PropTypes.oneOf(['column-reverse', 'column', 'row-reverse', 'row'])), PropTypes.object]),\n /**\n * If `true`, the component will have the flex *item* behavior.\n * You should be wrapping *items* with a *container*.\n * @default false\n */\n item: PropTypes.bool,\n /**\n * If a number, it sets the number of columns the grid item uses.\n * It can't be greater than the total number of columns of the container (12 by default).\n * If 'auto', the grid item's width matches its content.\n * If false, the prop is ignored.\n * If true, the grid item's width grows to use the space available in the grid container.\n * The value is applied for the `lg` breakpoint and wider screens if not overridden.\n * @default false\n */\n lg: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.number, PropTypes.bool]),\n /**\n * If a number, it sets the number of columns the grid item uses.\n * It can't be greater than the total number of columns of the container (12 by default).\n * If 'auto', the grid item's width matches its content.\n * If false, the prop is ignored.\n * If true, the grid item's width grows to use the space available in the grid container.\n * The value is applied for the `md` breakpoint and wider screens if not overridden.\n * @default false\n */\n md: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.number, PropTypes.bool]),\n /**\n * Defines the vertical space between the type `item` components.\n * It overrides the value of the `spacing` prop.\n */\n rowSpacing: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string])), PropTypes.number, PropTypes.object, PropTypes.string]),\n /**\n * If a number, it sets the number of columns the grid item uses.\n * It can't be greater than the total number of columns of the container (12 by default).\n * If 'auto', the grid item's width matches its content.\n * If false, the prop is ignored.\n * If true, the grid item's width grows to use the space available in the grid container.\n * The value is applied for the `sm` breakpoint and wider screens if not overridden.\n * @default false\n */\n sm: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.number, PropTypes.bool]),\n /**\n * Defines the space between the type `item` components.\n * It can only be used on a type `container` component.\n * @default 0\n */\n spacing: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string])), PropTypes.number, PropTypes.object, PropTypes.string]),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * Defines the `flex-wrap` style property.\n * It's applied for all screen sizes.\n * @default 'wrap'\n */\n wrap: PropTypes.oneOf(['nowrap', 'wrap-reverse', 'wrap']),\n /**\n * If a number, it sets the number of columns the grid item uses.\n * It can't be greater than the total number of columns of the container (12 by default).\n * If 'auto', the grid item's width matches its content.\n * If false, the prop is ignored.\n * If true, the grid item's width grows to use the space available in the grid container.\n * The value is applied for the `xl` breakpoint and wider screens if not overridden.\n * @default false\n */\n xl: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.number, PropTypes.bool]),\n /**\n * If a number, it sets the number of columns the grid item uses.\n * It can't be greater than the total number of columns of the container (12 by default).\n * If 'auto', the grid item's width matches its content.\n * If false, the prop is ignored.\n * If true, the grid item's width grows to use the space available in the grid container.\n * The value is applied for all the screen sizes with the lowest priority.\n * @default false\n */\n xs: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.number, PropTypes.bool]),\n /**\n * If `true`, it sets `min-width: 0` on the item.\n * Refer to the limitations section of the documentation to better understand the use case.\n * @default false\n */\n zeroMinWidth: PropTypes.bool\n} : void 0;\nif (process.env.NODE_ENV !== 'production') {\n const requireProp = requirePropFactory('Grid', Grid);\n // eslint-disable-next-line no-useless-concat\n Grid['propTypes' + ''] = _extends({}, Grid.propTypes, {\n direction: requireProp('container'),\n lg: requireProp('item'),\n md: requireProp('item'),\n sm: requireProp('item'),\n spacing: requireProp('container'),\n wrap: requireProp('container'),\n xs: requireProp('item'),\n zeroMinWidth: requireProp('item')\n });\n}\nexport default Grid;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"addEndListener\", \"appear\", \"children\", \"easing\", \"in\", \"onEnter\", \"onEntered\", \"onEntering\", \"onExit\", \"onExited\", \"onExiting\", \"style\", \"timeout\", \"TransitionComponent\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport useTimeout from '@mui/utils/useTimeout';\nimport elementAcceptingRef from '@mui/utils/elementAcceptingRef';\nimport { Transition } from 'react-transition-group';\nimport useTheme from '../styles/useTheme';\nimport { getTransitionProps, reflow } from '../transitions/utils';\nimport useForkRef from '../utils/useForkRef';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction getScale(value) {\n return `scale(${value}, ${value ** 2})`;\n}\nconst styles = {\n entering: {\n opacity: 1,\n transform: getScale(1)\n },\n entered: {\n opacity: 1,\n transform: 'none'\n }\n};\n\n/*\n TODO v6: remove\n Conditionally apply a workaround for the CSS transition bug in Safari 15.4 / WebKit browsers.\n */\nconst isWebKit154 = typeof navigator !== 'undefined' && /^((?!chrome|android).)*(safari|mobile)/i.test(navigator.userAgent) && /(os |version\\/)15(.|_)4/i.test(navigator.userAgent);\n\n/**\n * The Grow transition is used by the [Tooltip](/material-ui/react-tooltip/) and\n * [Popover](/material-ui/react-popover/) components.\n * It uses [react-transition-group](https://github.com/reactjs/react-transition-group) internally.\n */\nconst Grow = /*#__PURE__*/React.forwardRef(function Grow(props, ref) {\n const {\n addEndListener,\n appear = true,\n children,\n easing,\n in: inProp,\n onEnter,\n onEntered,\n onEntering,\n onExit,\n onExited,\n onExiting,\n style,\n timeout = 'auto',\n // eslint-disable-next-line react/prop-types\n TransitionComponent = Transition\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const timer = useTimeout();\n const autoTimeout = React.useRef();\n const theme = useTheme();\n const nodeRef = React.useRef(null);\n const handleRef = useForkRef(nodeRef, children.ref, ref);\n const normalizedTransitionCallback = callback => maybeIsAppearing => {\n if (callback) {\n const node = nodeRef.current;\n\n // onEnterXxx and onExitXxx callbacks have a different arguments.length value.\n if (maybeIsAppearing === undefined) {\n callback(node);\n } else {\n callback(node, maybeIsAppearing);\n }\n }\n };\n const handleEntering = normalizedTransitionCallback(onEntering);\n const handleEnter = normalizedTransitionCallback((node, isAppearing) => {\n reflow(node); // So the animation always start from the start.\n\n const {\n duration: transitionDuration,\n delay,\n easing: transitionTimingFunction\n } = getTransitionProps({\n style,\n timeout,\n easing\n }, {\n mode: 'enter'\n });\n let duration;\n if (timeout === 'auto') {\n duration = theme.transitions.getAutoHeightDuration(node.clientHeight);\n autoTimeout.current = duration;\n } else {\n duration = transitionDuration;\n }\n node.style.transition = [theme.transitions.create('opacity', {\n duration,\n delay\n }), theme.transitions.create('transform', {\n duration: isWebKit154 ? duration : duration * 0.666,\n delay,\n easing: transitionTimingFunction\n })].join(',');\n if (onEnter) {\n onEnter(node, isAppearing);\n }\n });\n const handleEntered = normalizedTransitionCallback(onEntered);\n const handleExiting = normalizedTransitionCallback(onExiting);\n const handleExit = normalizedTransitionCallback(node => {\n const {\n duration: transitionDuration,\n delay,\n easing: transitionTimingFunction\n } = getTransitionProps({\n style,\n timeout,\n easing\n }, {\n mode: 'exit'\n });\n let duration;\n if (timeout === 'auto') {\n duration = theme.transitions.getAutoHeightDuration(node.clientHeight);\n autoTimeout.current = duration;\n } else {\n duration = transitionDuration;\n }\n node.style.transition = [theme.transitions.create('opacity', {\n duration,\n delay\n }), theme.transitions.create('transform', {\n duration: isWebKit154 ? duration : duration * 0.666,\n delay: isWebKit154 ? delay : delay || duration * 0.333,\n easing: transitionTimingFunction\n })].join(',');\n node.style.opacity = 0;\n node.style.transform = getScale(0.75);\n if (onExit) {\n onExit(node);\n }\n });\n const handleExited = normalizedTransitionCallback(onExited);\n const handleAddEndListener = next => {\n if (timeout === 'auto') {\n timer.start(autoTimeout.current || 0, next);\n }\n if (addEndListener) {\n // Old call signature before `react-transition-group` implemented `nodeRef`\n addEndListener(nodeRef.current, next);\n }\n };\n return /*#__PURE__*/_jsx(TransitionComponent, _extends({\n appear: appear,\n in: inProp,\n nodeRef: nodeRef,\n onEnter: handleEnter,\n onEntered: handleEntered,\n onEntering: handleEntering,\n onExit: handleExit,\n onExited: handleExited,\n onExiting: handleExiting,\n addEndListener: handleAddEndListener,\n timeout: timeout === 'auto' ? null : timeout\n }, other, {\n children: (state, childProps) => {\n return /*#__PURE__*/React.cloneElement(children, _extends({\n style: _extends({\n opacity: 0,\n transform: getScale(0.75),\n visibility: state === 'exited' && !inProp ? 'hidden' : undefined\n }, styles[state], style, children.props.style),\n ref: handleRef\n }, childProps));\n }\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Grow.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Add a custom transition end trigger. Called with the transitioning DOM\n * node and a done callback. Allows for more fine grained transition end\n * logic. Note: Timeouts are still used as a fallback if provided.\n */\n addEndListener: PropTypes.func,\n /**\n * Perform the enter transition when it first mounts if `in` is also `true`.\n * Set this to `false` to disable this behavior.\n * @default true\n */\n appear: PropTypes.bool,\n /**\n * A single child content element.\n */\n children: elementAcceptingRef.isRequired,\n /**\n * The transition timing function.\n * You may specify a single easing or a object containing enter and exit values.\n */\n easing: PropTypes.oneOfType([PropTypes.shape({\n enter: PropTypes.string,\n exit: PropTypes.string\n }), PropTypes.string]),\n /**\n * If `true`, the component will transition in.\n */\n in: PropTypes.bool,\n /**\n * @ignore\n */\n onEnter: PropTypes.func,\n /**\n * @ignore\n */\n onEntered: PropTypes.func,\n /**\n * @ignore\n */\n onEntering: PropTypes.func,\n /**\n * @ignore\n */\n onExit: PropTypes.func,\n /**\n * @ignore\n */\n onExited: PropTypes.func,\n /**\n * @ignore\n */\n onExiting: PropTypes.func,\n /**\n * @ignore\n */\n style: PropTypes.object,\n /**\n * The duration for the transition, in milliseconds.\n * You may specify a single timeout for all transitions, or individually with an object.\n *\n * Set to 'auto' to automatically calculate transition time based on height.\n * @default 'auto'\n */\n timeout: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.number, PropTypes.shape({\n appear: PropTypes.number,\n enter: PropTypes.number,\n exit: PropTypes.number\n })])\n} : void 0;\nGrow.muiSupportAuto = true;\nexport default Grow;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"disableUnderline\", \"components\", \"componentsProps\", \"fullWidth\", \"inputComponent\", \"multiline\", \"slotProps\", \"slots\", \"type\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport composeClasses from '@mui/utils/composeClasses';\nimport deepmerge from '@mui/utils/deepmerge';\nimport refType from '@mui/utils/refType';\nimport InputBase from '../InputBase';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport inputClasses, { getInputUtilityClass } from './inputClasses';\nimport { rootOverridesResolver as inputBaseRootOverridesResolver, inputOverridesResolver as inputBaseInputOverridesResolver, InputBaseRoot, InputBaseComponent as InputBaseInput } from '../InputBase/InputBase';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disableUnderline\n } = ownerState;\n const slots = {\n root: ['root', !disableUnderline && 'underline'],\n input: ['input']\n };\n const composedClasses = composeClasses(slots, getInputUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\nconst InputRoot = styled(InputBaseRoot, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiInput',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [...inputBaseRootOverridesResolver(props, styles), !ownerState.disableUnderline && styles.underline];\n }\n})(({\n theme,\n ownerState\n}) => {\n const light = theme.palette.mode === 'light';\n let bottomLineColor = light ? 'rgba(0, 0, 0, 0.42)' : 'rgba(255, 255, 255, 0.7)';\n if (theme.vars) {\n bottomLineColor = `rgba(${theme.vars.palette.common.onBackgroundChannel} / ${theme.vars.opacity.inputUnderline})`;\n }\n return _extends({\n position: 'relative'\n }, ownerState.formControl && {\n 'label + &': {\n marginTop: 16\n }\n }, !ownerState.disableUnderline && {\n '&::after': {\n borderBottom: `2px solid ${(theme.vars || theme).palette[ownerState.color].main}`,\n left: 0,\n bottom: 0,\n // Doing the other way around crash on IE11 \"''\" https://github.com/cssinjs/jss/issues/242\n content: '\"\"',\n position: 'absolute',\n right: 0,\n transform: 'scaleX(0)',\n transition: theme.transitions.create('transform', {\n duration: theme.transitions.duration.shorter,\n easing: theme.transitions.easing.easeOut\n }),\n pointerEvents: 'none' // Transparent to the hover style.\n },\n [`&.${inputClasses.focused}:after`]: {\n // translateX(0) is a workaround for Safari transform scale bug\n // See https://github.com/mui/material-ui/issues/31766\n transform: 'scaleX(1) translateX(0)'\n },\n [`&.${inputClasses.error}`]: {\n '&::before, &::after': {\n borderBottomColor: (theme.vars || theme).palette.error.main\n }\n },\n '&::before': {\n borderBottom: `1px solid ${bottomLineColor}`,\n left: 0,\n bottom: 0,\n // Doing the other way around crash on IE11 \"''\" https://github.com/cssinjs/jss/issues/242\n content: '\"\\\\00a0\"',\n position: 'absolute',\n right: 0,\n transition: theme.transitions.create('border-bottom-color', {\n duration: theme.transitions.duration.shorter\n }),\n pointerEvents: 'none' // Transparent to the hover style.\n },\n [`&:hover:not(.${inputClasses.disabled}, .${inputClasses.error}):before`]: {\n borderBottom: `2px solid ${(theme.vars || theme).palette.text.primary}`,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n borderBottom: `1px solid ${bottomLineColor}`\n }\n },\n [`&.${inputClasses.disabled}:before`]: {\n borderBottomStyle: 'dotted'\n }\n });\n});\nconst InputInput = styled(InputBaseInput, {\n name: 'MuiInput',\n slot: 'Input',\n overridesResolver: inputBaseInputOverridesResolver\n})({});\nconst Input = /*#__PURE__*/React.forwardRef(function Input(inProps, ref) {\n var _ref, _slots$root, _ref2, _slots$input;\n const props = useThemeProps({\n props: inProps,\n name: 'MuiInput'\n });\n const {\n disableUnderline,\n components = {},\n componentsProps: componentsPropsProp,\n fullWidth = false,\n inputComponent = 'input',\n multiline = false,\n slotProps,\n slots = {},\n type = 'text'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const classes = useUtilityClasses(props);\n const ownerState = {\n disableUnderline\n };\n const inputComponentsProps = {\n root: {\n ownerState\n }\n };\n const componentsProps = (slotProps != null ? slotProps : componentsPropsProp) ? deepmerge(slotProps != null ? slotProps : componentsPropsProp, inputComponentsProps) : inputComponentsProps;\n const RootSlot = (_ref = (_slots$root = slots.root) != null ? _slots$root : components.Root) != null ? _ref : InputRoot;\n const InputSlot = (_ref2 = (_slots$input = slots.input) != null ? _slots$input : components.Input) != null ? _ref2 : InputInput;\n return /*#__PURE__*/_jsx(InputBase, _extends({\n slots: {\n root: RootSlot,\n input: InputSlot\n },\n slotProps: componentsProps,\n fullWidth: fullWidth,\n inputComponent: inputComponent,\n multiline: multiline,\n ref: ref,\n type: type\n }, other, {\n classes: classes\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Input.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * This prop helps users to fill forms faster, especially on mobile devices.\n * The name can be confusing, as it's more like an autofill.\n * You can learn more about it [following the specification](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill).\n */\n autoComplete: PropTypes.string,\n /**\n * If `true`, the `input` element is focused during the first mount.\n */\n autoFocus: PropTypes.bool,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * The prop defaults to the value (`'primary'`) inherited from the parent FormControl component.\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['primary', 'secondary']), PropTypes.string]),\n /**\n * The components used for each slot inside.\n *\n * This prop is an alias for the `slots` prop.\n * It's recommended to use the `slots` prop instead.\n *\n * @default {}\n */\n components: PropTypes.shape({\n Input: PropTypes.elementType,\n Root: PropTypes.elementType\n }),\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * This prop is an alias for the `slotProps` prop.\n * It's recommended to use the `slotProps` prop instead, as `componentsProps` will be deprecated in the future.\n *\n * @default {}\n */\n componentsProps: PropTypes.shape({\n input: PropTypes.object,\n root: PropTypes.object\n }),\n /**\n * The default value. Use when the component is not controlled.\n */\n defaultValue: PropTypes.any,\n /**\n * If `true`, the component is disabled.\n * The prop defaults to the value (`false`) inherited from the parent FormControl component.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the `input` will not have an underline.\n */\n disableUnderline: PropTypes.bool,\n /**\n * End `InputAdornment` for this component.\n */\n endAdornment: PropTypes.node,\n /**\n * If `true`, the `input` will indicate an error.\n * The prop defaults to the value (`false`) inherited from the parent FormControl component.\n */\n error: PropTypes.bool,\n /**\n * If `true`, the `input` will take up the full width of its container.\n * @default false\n */\n fullWidth: PropTypes.bool,\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n /**\n * The component used for the `input` element.\n * Either a string to use a HTML element or a component.\n * @default 'input'\n */\n inputComponent: PropTypes.elementType,\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n * @default {}\n */\n inputProps: PropTypes.object,\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n /**\n * If `dense`, will adjust vertical spacing. This is normally obtained via context from\n * FormControl.\n * The prop defaults to the value (`'none'`) inherited from the parent FormControl component.\n */\n margin: PropTypes.oneOf(['dense', 'none']),\n /**\n * Maximum number of rows to display when multiline option is set to true.\n */\n maxRows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * Minimum number of rows to display when multiline option is set to true.\n */\n minRows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * If `true`, a [TextareaAutosize](/material-ui/react-textarea-autosize/) element is rendered.\n * @default false\n */\n multiline: PropTypes.bool,\n /**\n * Name attribute of the `input` element.\n */\n name: PropTypes.string,\n /**\n * Callback fired when the value is changed.\n *\n * @param {React.ChangeEvent<HTMLTextAreaElement | HTMLInputElement>} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value` (string).\n */\n onChange: PropTypes.func,\n /**\n * The short hint displayed in the `input` before the user enters a value.\n */\n placeholder: PropTypes.string,\n /**\n * It prevents the user from changing the value of the field\n * (not from interacting with the field).\n */\n readOnly: PropTypes.bool,\n /**\n * If `true`, the `input` element is required.\n * The prop defaults to the value (`false`) inherited from the parent FormControl component.\n */\n required: PropTypes.bool,\n /**\n * Number of rows to display when multiline option is set to true.\n */\n rows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * This prop is an alias for the `componentsProps` prop, which will be deprecated in the future.\n *\n * @default {}\n */\n slotProps: PropTypes.shape({\n input: PropTypes.object,\n root: PropTypes.object\n }),\n /**\n * The components used for each slot inside.\n *\n * This prop is an alias for the `components` prop, which will be deprecated in the future.\n *\n * @default {}\n */\n slots: PropTypes.shape({\n input: PropTypes.elementType,\n root: PropTypes.elementType\n }),\n /**\n * Start `InputAdornment` for this component.\n */\n startAdornment: PropTypes.node,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * Type of the `input` element. It should be [a valid HTML5 input type](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Form_%3Cinput%3E_types).\n * @default 'text'\n */\n type: PropTypes.string,\n /**\n * The value of the `input` element, required for a controlled component.\n */\n value: PropTypes.any\n} : void 0;\nInput.muiName = 'Input';\nexport default Input;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getInputAdornmentUtilityClass(slot) {\n return generateUtilityClass('MuiInputAdornment', slot);\n}\nconst inputAdornmentClasses = generateUtilityClasses('MuiInputAdornment', ['root', 'filled', 'standard', 'outlined', 'positionStart', 'positionEnd', 'disablePointerEvents', 'hiddenLabel', 'sizeSmall']);\nexport default inputAdornmentClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nvar _span;\nconst _excluded = [\"children\", \"className\", \"component\", \"disablePointerEvents\", \"disableTypography\", \"position\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport capitalize from '../utils/capitalize';\nimport Typography from '../Typography';\nimport FormControlContext from '../FormControl/FormControlContext';\nimport useFormControl from '../FormControl/useFormControl';\nimport styled from '../styles/styled';\nimport inputAdornmentClasses, { getInputAdornmentUtilityClass } from './inputAdornmentClasses';\nimport useThemeProps from '../styles/useThemeProps';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`position${capitalize(ownerState.position)}`], ownerState.disablePointerEvents === true && styles.disablePointerEvents, styles[ownerState.variant]];\n};\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disablePointerEvents,\n hiddenLabel,\n position,\n size,\n variant\n } = ownerState;\n const slots = {\n root: ['root', disablePointerEvents && 'disablePointerEvents', position && `position${capitalize(position)}`, variant, hiddenLabel && 'hiddenLabel', size && `size${capitalize(size)}`]\n };\n return composeClasses(slots, getInputAdornmentUtilityClass, classes);\n};\nconst InputAdornmentRoot = styled('div', {\n name: 'MuiInputAdornment',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'flex',\n height: '0.01em',\n // Fix IE11 flexbox alignment. To remove at some point.\n maxHeight: '2em',\n alignItems: 'center',\n whiteSpace: 'nowrap',\n color: (theme.vars || theme).palette.action.active\n}, ownerState.variant === 'filled' && {\n // Styles applied to the root element if `variant=\"filled\"`.\n [`&.${inputAdornmentClasses.positionStart}&:not(.${inputAdornmentClasses.hiddenLabel})`]: {\n marginTop: 16\n }\n}, ownerState.position === 'start' && {\n // Styles applied to the root element if `position=\"start\"`.\n marginRight: 8\n}, ownerState.position === 'end' && {\n // Styles applied to the root element if `position=\"end\"`.\n marginLeft: 8\n}, ownerState.disablePointerEvents === true && {\n // Styles applied to the root element if `disablePointerEvents={true}`.\n pointerEvents: 'none'\n}));\nconst InputAdornment = /*#__PURE__*/React.forwardRef(function InputAdornment(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiInputAdornment'\n });\n const {\n children,\n className,\n component = 'div',\n disablePointerEvents = false,\n disableTypography = false,\n position,\n variant: variantProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const muiFormControl = useFormControl() || {};\n let variant = variantProp;\n if (variantProp && muiFormControl.variant) {\n if (process.env.NODE_ENV !== 'production') {\n if (variantProp === muiFormControl.variant) {\n console.error('MUI: The `InputAdornment` variant infers the variant prop ' + 'you do not have to provide one.');\n }\n }\n }\n if (muiFormControl && !variant) {\n variant = muiFormControl.variant;\n }\n const ownerState = _extends({}, props, {\n hiddenLabel: muiFormControl.hiddenLabel,\n size: muiFormControl.size,\n disablePointerEvents,\n position,\n variant\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(FormControlContext.Provider, {\n value: null,\n children: /*#__PURE__*/_jsx(InputAdornmentRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: typeof children === 'string' && !disableTypography ? /*#__PURE__*/_jsx(Typography, {\n color: \"text.secondary\",\n children: children\n }) : /*#__PURE__*/_jsxs(React.Fragment, {\n children: [position === 'start' ? ( /* notranslate needed while Google Translate will not fix zero-width space issue */_span || (_span = /*#__PURE__*/_jsx(\"span\", {\n className: \"notranslate\",\n children: \"\\u200B\"\n }))) : null, children]\n })\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? InputAdornment.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component, normally an `IconButton` or string.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * Disable pointer events on the root.\n * This allows for the content of the adornment to focus the `input` on click.\n * @default false\n */\n disablePointerEvents: PropTypes.bool,\n /**\n * If children is a string then disable wrapping in a Typography component.\n * @default false\n */\n disableTypography: PropTypes.bool,\n /**\n * The position this adornment should appear relative to the `Input`.\n */\n position: PropTypes.oneOf(['end', 'start']).isRequired,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The variant to use.\n * Note: If you are using the `TextField` component or the `FormControl` component\n * you do not have to set this manually.\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default InputAdornment;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getInputLabelUtilityClasses(slot) {\n return generateUtilityClass('MuiInputLabel', slot);\n}\nconst inputLabelClasses = generateUtilityClasses('MuiInputLabel', ['root', 'focused', 'disabled', 'error', 'required', 'asterisk', 'formControl', 'sizeSmall', 'shrink', 'animated', 'standard', 'filled', 'outlined']);\nexport default inputLabelClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"disableAnimation\", \"margin\", \"shrink\", \"variant\", \"className\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport composeClasses from '@mui/utils/composeClasses';\nimport clsx from 'clsx';\nimport formControlState from '../FormControl/formControlState';\nimport useFormControl from '../FormControl/useFormControl';\nimport FormLabel, { formLabelClasses } from '../FormLabel';\nimport useThemeProps from '../styles/useThemeProps';\nimport capitalize from '../utils/capitalize';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport { getInputLabelUtilityClasses } from './inputLabelClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n formControl,\n size,\n shrink,\n disableAnimation,\n variant,\n required\n } = ownerState;\n const slots = {\n root: ['root', formControl && 'formControl', !disableAnimation && 'animated', shrink && 'shrink', size && size !== 'normal' && `size${capitalize(size)}`, variant],\n asterisk: [required && 'asterisk']\n };\n const composedClasses = composeClasses(slots, getInputLabelUtilityClasses, classes);\n return _extends({}, classes, composedClasses);\n};\nconst InputLabelRoot = styled(FormLabel, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiInputLabel',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [{\n [`& .${formLabelClasses.asterisk}`]: styles.asterisk\n }, styles.root, ownerState.formControl && styles.formControl, ownerState.size === 'small' && styles.sizeSmall, ownerState.shrink && styles.shrink, !ownerState.disableAnimation && styles.animated, ownerState.focused && styles.focused, styles[ownerState.variant]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'block',\n transformOrigin: 'top left',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n maxWidth: '100%'\n}, ownerState.formControl && {\n position: 'absolute',\n left: 0,\n top: 0,\n // slight alteration to spec spacing to match visual spec result\n transform: 'translate(0, 20px) scale(1)'\n}, ownerState.size === 'small' && {\n // Compensation for the `Input.inputSizeSmall` style.\n transform: 'translate(0, 17px) scale(1)'\n}, ownerState.shrink && {\n transform: 'translate(0, -1.5px) scale(0.75)',\n transformOrigin: 'top left',\n maxWidth: '133%'\n}, !ownerState.disableAnimation && {\n transition: theme.transitions.create(['color', 'transform', 'max-width'], {\n duration: theme.transitions.duration.shorter,\n easing: theme.transitions.easing.easeOut\n })\n}, ownerState.variant === 'filled' && _extends({\n // Chrome's autofill feature gives the input field a yellow background.\n // Since the input field is behind the label in the HTML tree,\n // the input field is drawn last and hides the label with an opaque background color.\n // zIndex: 1 will raise the label above opaque background-colors of input.\n zIndex: 1,\n pointerEvents: 'none',\n transform: 'translate(12px, 16px) scale(1)',\n maxWidth: 'calc(100% - 24px)'\n}, ownerState.size === 'small' && {\n transform: 'translate(12px, 13px) scale(1)'\n}, ownerState.shrink && _extends({\n userSelect: 'none',\n pointerEvents: 'auto',\n transform: 'translate(12px, 7px) scale(0.75)',\n maxWidth: 'calc(133% - 24px)'\n}, ownerState.size === 'small' && {\n transform: 'translate(12px, 4px) scale(0.75)'\n})), ownerState.variant === 'outlined' && _extends({\n // see comment above on filled.zIndex\n zIndex: 1,\n pointerEvents: 'none',\n transform: 'translate(14px, 16px) scale(1)',\n maxWidth: 'calc(100% - 24px)'\n}, ownerState.size === 'small' && {\n transform: 'translate(14px, 9px) scale(1)'\n}, ownerState.shrink && {\n userSelect: 'none',\n pointerEvents: 'auto',\n // Theoretically, we should have (8+5)*2/0.75 = 34px\n // but it feels a better when it bleeds a bit on the left, so 32px.\n maxWidth: 'calc(133% - 32px)',\n transform: 'translate(14px, -9px) scale(0.75)'\n})));\nconst InputLabel = /*#__PURE__*/React.forwardRef(function InputLabel(inProps, ref) {\n const props = useThemeProps({\n name: 'MuiInputLabel',\n props: inProps\n });\n const {\n disableAnimation = false,\n shrink: shrinkProp,\n className\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const muiFormControl = useFormControl();\n let shrink = shrinkProp;\n if (typeof shrink === 'undefined' && muiFormControl) {\n shrink = muiFormControl.filled || muiFormControl.focused || muiFormControl.adornedStart;\n }\n const fcs = formControlState({\n props,\n muiFormControl,\n states: ['size', 'variant', 'required', 'focused']\n });\n const ownerState = _extends({}, props, {\n disableAnimation,\n formControl: muiFormControl,\n shrink,\n size: fcs.size,\n variant: fcs.variant,\n required: fcs.required,\n focused: fcs.focused\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(InputLabelRoot, _extends({\n \"data-shrink\": shrink,\n ownerState: ownerState,\n ref: ref,\n className: clsx(classes.root, className)\n }, other, {\n classes: classes\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? InputLabel.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['error', 'info', 'primary', 'secondary', 'success', 'warning']), PropTypes.string]),\n /**\n * If `true`, the transition animation is disabled.\n * @default false\n */\n disableAnimation: PropTypes.bool,\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the label is displayed in an error state.\n */\n error: PropTypes.bool,\n /**\n * If `true`, the `input` of this label is focused.\n */\n focused: PropTypes.bool,\n /**\n * If `dense`, will adjust vertical spacing. This is normally obtained via context from\n * FormControl.\n */\n margin: PropTypes.oneOf(['dense']),\n /**\n * if `true`, the label will indicate that the `input` is required.\n */\n required: PropTypes.bool,\n /**\n * If `true`, the label is shrunk.\n */\n shrink: PropTypes.bool,\n /**\n * The size of the component.\n * @default 'normal'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['normal', 'small']), PropTypes.string]),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The variant to use.\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default InputLabel;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getLinearProgressUtilityClass(slot) {\n return generateUtilityClass('MuiLinearProgress', slot);\n}\nconst linearProgressClasses = generateUtilityClasses('MuiLinearProgress', ['root', 'colorPrimary', 'colorSecondary', 'determinate', 'indeterminate', 'buffer', 'query', 'dashed', 'dashedColorPrimary', 'dashedColorSecondary', 'bar', 'barColorPrimary', 'barColorSecondary', 'bar1Indeterminate', 'bar1Determinate', 'bar1Buffer', 'bar2Indeterminate', 'bar2Buffer']);\nexport default linearProgressClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"color\", \"value\", \"valueBuffer\", \"variant\"];\nlet _ = t => t,\n _t,\n _t2,\n _t3,\n _t4,\n _t5,\n _t6;\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { keyframes, css } from '@mui/system';\nimport { darken, lighten } from '@mui/system/colorManipulator';\nimport { useRtl } from '@mui/system/RtlProvider';\nimport capitalize from '../utils/capitalize';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport { getLinearProgressUtilityClass } from './linearProgressClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst TRANSITION_DURATION = 4; // seconds\nconst indeterminate1Keyframe = keyframes(_t || (_t = _`\n 0% {\n left: -35%;\n right: 100%;\n }\n\n 60% {\n left: 100%;\n right: -90%;\n }\n\n 100% {\n left: 100%;\n right: -90%;\n }\n`));\nconst indeterminate2Keyframe = keyframes(_t2 || (_t2 = _`\n 0% {\n left: -200%;\n right: 100%;\n }\n\n 60% {\n left: 107%;\n right: -8%;\n }\n\n 100% {\n left: 107%;\n right: -8%;\n }\n`));\nconst bufferKeyframe = keyframes(_t3 || (_t3 = _`\n 0% {\n opacity: 1;\n background-position: 0 -23px;\n }\n\n 60% {\n opacity: 0;\n background-position: 0 -23px;\n }\n\n 100% {\n opacity: 1;\n background-position: -200px -23px;\n }\n`));\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n variant,\n color\n } = ownerState;\n const slots = {\n root: ['root', `color${capitalize(color)}`, variant],\n dashed: ['dashed', `dashedColor${capitalize(color)}`],\n bar1: ['bar', `barColor${capitalize(color)}`, (variant === 'indeterminate' || variant === 'query') && 'bar1Indeterminate', variant === 'determinate' && 'bar1Determinate', variant === 'buffer' && 'bar1Buffer'],\n bar2: ['bar', variant !== 'buffer' && `barColor${capitalize(color)}`, variant === 'buffer' && `color${capitalize(color)}`, (variant === 'indeterminate' || variant === 'query') && 'bar2Indeterminate', variant === 'buffer' && 'bar2Buffer']\n };\n return composeClasses(slots, getLinearProgressUtilityClass, classes);\n};\nconst getColorShade = (theme, color) => {\n if (color === 'inherit') {\n return 'currentColor';\n }\n if (theme.vars) {\n return theme.vars.palette.LinearProgress[`${color}Bg`];\n }\n return theme.palette.mode === 'light' ? lighten(theme.palette[color].main, 0.62) : darken(theme.palette[color].main, 0.5);\n};\nconst LinearProgressRoot = styled('span', {\n name: 'MuiLinearProgress',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`color${capitalize(ownerState.color)}`], styles[ownerState.variant]];\n }\n})(({\n ownerState,\n theme\n}) => _extends({\n position: 'relative',\n overflow: 'hidden',\n display: 'block',\n height: 4,\n zIndex: 0,\n // Fix Safari's bug during composition of different paint.\n '@media print': {\n colorAdjust: 'exact'\n },\n backgroundColor: getColorShade(theme, ownerState.color)\n}, ownerState.color === 'inherit' && ownerState.variant !== 'buffer' && {\n backgroundColor: 'none',\n '&::before': {\n content: '\"\"',\n position: 'absolute',\n left: 0,\n top: 0,\n right: 0,\n bottom: 0,\n backgroundColor: 'currentColor',\n opacity: 0.3\n }\n}, ownerState.variant === 'buffer' && {\n backgroundColor: 'transparent'\n}, ownerState.variant === 'query' && {\n transform: 'rotate(180deg)'\n}));\nconst LinearProgressDashed = styled('span', {\n name: 'MuiLinearProgress',\n slot: 'Dashed',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.dashed, styles[`dashedColor${capitalize(ownerState.color)}`]];\n }\n})(({\n ownerState,\n theme\n}) => {\n const backgroundColor = getColorShade(theme, ownerState.color);\n return _extends({\n position: 'absolute',\n marginTop: 0,\n height: '100%',\n width: '100%'\n }, ownerState.color === 'inherit' && {\n opacity: 0.3\n }, {\n backgroundImage: `radial-gradient(${backgroundColor} 0%, ${backgroundColor} 16%, transparent 42%)`,\n backgroundSize: '10px 10px',\n backgroundPosition: '0 -23px'\n });\n}, css(_t4 || (_t4 = _`\n animation: ${0} 3s infinite linear;\n `), bufferKeyframe));\nconst LinearProgressBar1 = styled('span', {\n name: 'MuiLinearProgress',\n slot: 'Bar1',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.bar, styles[`barColor${capitalize(ownerState.color)}`], (ownerState.variant === 'indeterminate' || ownerState.variant === 'query') && styles.bar1Indeterminate, ownerState.variant === 'determinate' && styles.bar1Determinate, ownerState.variant === 'buffer' && styles.bar1Buffer];\n }\n})(({\n ownerState,\n theme\n}) => _extends({\n width: '100%',\n position: 'absolute',\n left: 0,\n bottom: 0,\n top: 0,\n transition: 'transform 0.2s linear',\n transformOrigin: 'left',\n backgroundColor: ownerState.color === 'inherit' ? 'currentColor' : (theme.vars || theme).palette[ownerState.color].main\n}, ownerState.variant === 'determinate' && {\n transition: `transform .${TRANSITION_DURATION}s linear`\n}, ownerState.variant === 'buffer' && {\n zIndex: 1,\n transition: `transform .${TRANSITION_DURATION}s linear`\n}), ({\n ownerState\n}) => (ownerState.variant === 'indeterminate' || ownerState.variant === 'query') && css(_t5 || (_t5 = _`\n width: auto;\n animation: ${0} 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;\n `), indeterminate1Keyframe));\nconst LinearProgressBar2 = styled('span', {\n name: 'MuiLinearProgress',\n slot: 'Bar2',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.bar, styles[`barColor${capitalize(ownerState.color)}`], (ownerState.variant === 'indeterminate' || ownerState.variant === 'query') && styles.bar2Indeterminate, ownerState.variant === 'buffer' && styles.bar2Buffer];\n }\n})(({\n ownerState,\n theme\n}) => _extends({\n width: '100%',\n position: 'absolute',\n left: 0,\n bottom: 0,\n top: 0,\n transition: 'transform 0.2s linear',\n transformOrigin: 'left'\n}, ownerState.variant !== 'buffer' && {\n backgroundColor: ownerState.color === 'inherit' ? 'currentColor' : (theme.vars || theme).palette[ownerState.color].main\n}, ownerState.color === 'inherit' && {\n opacity: 0.3\n}, ownerState.variant === 'buffer' && {\n backgroundColor: getColorShade(theme, ownerState.color),\n transition: `transform .${TRANSITION_DURATION}s linear`\n}), ({\n ownerState\n}) => (ownerState.variant === 'indeterminate' || ownerState.variant === 'query') && css(_t6 || (_t6 = _`\n width: auto;\n animation: ${0} 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) 1.15s infinite;\n `), indeterminate2Keyframe));\n\n/**\n * ## ARIA\n *\n * If the progress bar is describing the loading progress of a particular region of a page,\n * you should use `aria-describedby` to point to the progress bar, and set the `aria-busy`\n * attribute to `true` on that region until it has finished loading.\n */\nconst LinearProgress = /*#__PURE__*/React.forwardRef(function LinearProgress(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiLinearProgress'\n });\n const {\n className,\n color = 'primary',\n value,\n valueBuffer,\n variant = 'indeterminate'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n color,\n variant\n });\n const classes = useUtilityClasses(ownerState);\n const isRtl = useRtl();\n const rootProps = {};\n const inlineStyles = {\n bar1: {},\n bar2: {}\n };\n if (variant === 'determinate' || variant === 'buffer') {\n if (value !== undefined) {\n rootProps['aria-valuenow'] = Math.round(value);\n rootProps['aria-valuemin'] = 0;\n rootProps['aria-valuemax'] = 100;\n let transform = value - 100;\n if (isRtl) {\n transform = -transform;\n }\n inlineStyles.bar1.transform = `translateX(${transform}%)`;\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('MUI: You need to provide a value prop ' + 'when using the determinate or buffer variant of LinearProgress .');\n }\n }\n if (variant === 'buffer') {\n if (valueBuffer !== undefined) {\n let transform = (valueBuffer || 0) - 100;\n if (isRtl) {\n transform = -transform;\n }\n inlineStyles.bar2.transform = `translateX(${transform}%)`;\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('MUI: You need to provide a valueBuffer prop ' + 'when using the buffer variant of LinearProgress.');\n }\n }\n return /*#__PURE__*/_jsxs(LinearProgressRoot, _extends({\n className: clsx(classes.root, className),\n ownerState: ownerState,\n role: \"progressbar\"\n }, rootProps, {\n ref: ref\n }, other, {\n children: [variant === 'buffer' ? /*#__PURE__*/_jsx(LinearProgressDashed, {\n className: classes.dashed,\n ownerState: ownerState\n }) : null, /*#__PURE__*/_jsx(LinearProgressBar1, {\n className: classes.bar1,\n ownerState: ownerState,\n style: inlineStyles.bar1\n }), variant === 'determinate' ? null : /*#__PURE__*/_jsx(LinearProgressBar2, {\n className: classes.bar2,\n ownerState: ownerState,\n style: inlineStyles.bar2\n })]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? LinearProgress.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * @default 'primary'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['inherit', 'primary', 'secondary']), PropTypes.string]),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The value of the progress indicator for the determinate and buffer variants.\n * Value between 0 and 100.\n */\n value: PropTypes.number,\n /**\n * The value for the buffer variant.\n * Value between 0 and 100.\n */\n valueBuffer: PropTypes.number,\n /**\n * The variant to use.\n * Use indeterminate or query when there is no progress value.\n * @default 'indeterminate'\n */\n variant: PropTypes.oneOf(['buffer', 'determinate', 'indeterminate', 'query'])\n} : void 0;\nexport default LinearProgress;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getLinkUtilityClass(slot) {\n return generateUtilityClass('MuiLink', slot);\n}\nconst linkClasses = generateUtilityClasses('MuiLink', ['root', 'underlineNone', 'underlineHover', 'underlineAlways', 'button', 'focusVisible']);\nexport default linkClasses;","import { getPath } from '@mui/system';\nimport { alpha } from '@mui/system/colorManipulator';\nexport const colorTransformations = {\n primary: 'primary.main',\n textPrimary: 'text.primary',\n secondary: 'secondary.main',\n textSecondary: 'text.secondary',\n error: 'error.main'\n};\nconst transformDeprecatedColors = color => {\n return colorTransformations[color] || color;\n};\nconst getTextDecoration = ({\n theme,\n ownerState\n}) => {\n const transformedColor = transformDeprecatedColors(ownerState.color);\n const color = getPath(theme, `palette.${transformedColor}`, false) || ownerState.color;\n const channelColor = getPath(theme, `palette.${transformedColor}Channel`);\n if ('vars' in theme && channelColor) {\n return `rgba(${channelColor} / 0.4)`;\n }\n return alpha(color, 0.4);\n};\nexport default getTextDecoration;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"color\", \"component\", \"onBlur\", \"onFocus\", \"TypographyClasses\", \"underline\", \"variant\", \"sx\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport elementTypeAcceptingRef from '@mui/utils/elementTypeAcceptingRef';\nimport composeClasses from '@mui/utils/composeClasses';\nimport capitalize from '../utils/capitalize';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport useIsFocusVisible from '../utils/useIsFocusVisible';\nimport useForkRef from '../utils/useForkRef';\nimport Typography from '../Typography';\nimport linkClasses, { getLinkUtilityClass } from './linkClasses';\nimport getTextDecoration, { colorTransformations } from './getTextDecoration';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n component,\n focusVisible,\n underline\n } = ownerState;\n const slots = {\n root: ['root', `underline${capitalize(underline)}`, component === 'button' && 'button', focusVisible && 'focusVisible']\n };\n return composeClasses(slots, getLinkUtilityClass, classes);\n};\nconst LinkRoot = styled(Typography, {\n name: 'MuiLink',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`underline${capitalize(ownerState.underline)}`], ownerState.component === 'button' && styles.button];\n }\n})(({\n theme,\n ownerState\n}) => {\n return _extends({}, ownerState.underline === 'none' && {\n textDecoration: 'none'\n }, ownerState.underline === 'hover' && {\n textDecoration: 'none',\n '&:hover': {\n textDecoration: 'underline'\n }\n }, ownerState.underline === 'always' && _extends({\n textDecoration: 'underline'\n }, ownerState.color !== 'inherit' && {\n textDecorationColor: getTextDecoration({\n theme,\n ownerState\n })\n }, {\n '&:hover': {\n textDecorationColor: 'inherit'\n }\n }), ownerState.component === 'button' && {\n position: 'relative',\n WebkitTapHighlightColor: 'transparent',\n backgroundColor: 'transparent',\n // Reset default value\n // We disable the focus ring for mouse, touch and keyboard users.\n outline: 0,\n border: 0,\n margin: 0,\n // Remove the margin in Safari\n borderRadius: 0,\n padding: 0,\n // Remove the padding in Firefox\n cursor: 'pointer',\n userSelect: 'none',\n verticalAlign: 'middle',\n MozAppearance: 'none',\n // Reset\n WebkitAppearance: 'none',\n // Reset\n '&::-moz-focus-inner': {\n borderStyle: 'none' // Remove Firefox dotted outline.\n },\n [`&.${linkClasses.focusVisible}`]: {\n outline: 'auto'\n }\n });\n});\nconst Link = /*#__PURE__*/React.forwardRef(function Link(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiLink'\n });\n const {\n className,\n color = 'primary',\n component = 'a',\n onBlur,\n onFocus,\n TypographyClasses,\n underline = 'always',\n variant = 'inherit',\n sx\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const {\n isFocusVisibleRef,\n onBlur: handleBlurVisible,\n onFocus: handleFocusVisible,\n ref: focusVisibleRef\n } = useIsFocusVisible();\n const [focusVisible, setFocusVisible] = React.useState(false);\n const handlerRef = useForkRef(ref, focusVisibleRef);\n const handleBlur = event => {\n handleBlurVisible(event);\n if (isFocusVisibleRef.current === false) {\n setFocusVisible(false);\n }\n if (onBlur) {\n onBlur(event);\n }\n };\n const handleFocus = event => {\n handleFocusVisible(event);\n if (isFocusVisibleRef.current === true) {\n setFocusVisible(true);\n }\n if (onFocus) {\n onFocus(event);\n }\n };\n const ownerState = _extends({}, props, {\n color,\n component,\n focusVisible,\n underline,\n variant\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(LinkRoot, _extends({\n color: color,\n className: clsx(classes.root, className),\n classes: TypographyClasses,\n component: component,\n onBlur: handleBlur,\n onFocus: handleFocus,\n ref: handlerRef,\n ownerState: ownerState,\n variant: variant,\n sx: [...(!Object.keys(colorTransformations).includes(color) ? [{\n color\n }] : []), ...(Array.isArray(sx) ? sx : [sx])]\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? Link.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the link.\n * @default 'primary'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.any,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: elementTypeAcceptingRef,\n /**\n * @ignore\n */\n onBlur: PropTypes.func,\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * `classes` prop applied to the [`Typography`](/material-ui/api/typography/) element.\n */\n TypographyClasses: PropTypes.object,\n /**\n * Controls when the link should have an underline.\n * @default 'always'\n */\n underline: PropTypes.oneOf(['always', 'hover', 'none']),\n /**\n * Applies the theme typography styles.\n * @default 'inherit'\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['body1', 'body2', 'button', 'caption', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'inherit', 'overline', 'subtitle1', 'subtitle2']), PropTypes.string])\n} : void 0;\nexport default Link;","'use client';\n\nimport * as React from 'react';\n\n/**\n * @ignore - internal component.\n */\nconst ListContext = /*#__PURE__*/React.createContext({});\nif (process.env.NODE_ENV !== 'production') {\n ListContext.displayName = 'ListContext';\n}\nexport default ListContext;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getListUtilityClass(slot) {\n return generateUtilityClass('MuiList', slot);\n}\nconst listClasses = generateUtilityClasses('MuiList', ['root', 'padding', 'dense', 'subheader']);\nexport default listClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"className\", \"component\", \"dense\", \"disablePadding\", \"subheader\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport ListContext from './ListContext';\nimport { getListUtilityClass } from './listClasses';\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disablePadding,\n dense,\n subheader\n } = ownerState;\n const slots = {\n root: ['root', !disablePadding && 'padding', dense && 'dense', subheader && 'subheader']\n };\n return composeClasses(slots, getListUtilityClass, classes);\n};\nconst ListRoot = styled('ul', {\n name: 'MuiList',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, !ownerState.disablePadding && styles.padding, ownerState.dense && styles.dense, ownerState.subheader && styles.subheader];\n }\n})(({\n ownerState\n}) => _extends({\n listStyle: 'none',\n margin: 0,\n padding: 0,\n position: 'relative'\n}, !ownerState.disablePadding && {\n paddingTop: 8,\n paddingBottom: 8\n}, ownerState.subheader && {\n paddingTop: 0\n}));\nconst List = /*#__PURE__*/React.forwardRef(function List(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiList'\n });\n const {\n children,\n className,\n component = 'ul',\n dense = false,\n disablePadding = false,\n subheader\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const context = React.useMemo(() => ({\n dense\n }), [dense]);\n const ownerState = _extends({}, props, {\n component,\n dense,\n disablePadding\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(ListContext.Provider, {\n value: context,\n children: /*#__PURE__*/_jsxs(ListRoot, _extends({\n as: component,\n className: clsx(classes.root, className),\n ref: ref,\n ownerState: ownerState\n }, other, {\n children: [subheader, children]\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? List.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * If `true`, compact vertical padding designed for keyboard and mouse input is used for\n * the list and list items.\n * The prop is available to descendant components as the `dense` context.\n * @default false\n */\n dense: PropTypes.bool,\n /**\n * If `true`, vertical padding is removed from the list.\n * @default false\n */\n disablePadding: PropTypes.bool,\n /**\n * The content of the subheader, normally `ListSubheader`.\n */\n subheader: PropTypes.node,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default List;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getListItemUtilityClass(slot) {\n return generateUtilityClass('MuiListItem', slot);\n}\nconst listItemClasses = generateUtilityClasses('MuiListItem', ['root', 'container', 'focusVisible', 'dense', 'alignItemsFlexStart', 'disabled', 'divider', 'gutters', 'padding', 'button', 'secondaryAction', 'selected']);\nexport default listItemClasses;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getListItemButtonUtilityClass(slot) {\n return generateUtilityClass('MuiListItemButton', slot);\n}\nconst listItemButtonClasses = generateUtilityClasses('MuiListItemButton', ['root', 'focusVisible', 'dense', 'alignItemsFlexStart', 'disabled', 'divider', 'gutters', 'selected']);\nexport default listItemButtonClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"alignItems\", \"autoFocus\", \"component\", \"children\", \"dense\", \"disableGutters\", \"divider\", \"focusVisibleClassName\", \"selected\", \"className\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { alpha } from '@mui/system/colorManipulator';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport ButtonBase from '../ButtonBase';\nimport useEnhancedEffect from '../utils/useEnhancedEffect';\nimport useForkRef from '../utils/useForkRef';\nimport ListContext from '../List/ListContext';\nimport listItemButtonClasses, { getListItemButtonUtilityClass } from './listItemButtonClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.dense && styles.dense, ownerState.alignItems === 'flex-start' && styles.alignItemsFlexStart, ownerState.divider && styles.divider, !ownerState.disableGutters && styles.gutters];\n};\nconst useUtilityClasses = ownerState => {\n const {\n alignItems,\n classes,\n dense,\n disabled,\n disableGutters,\n divider,\n selected\n } = ownerState;\n const slots = {\n root: ['root', dense && 'dense', !disableGutters && 'gutters', divider && 'divider', disabled && 'disabled', alignItems === 'flex-start' && 'alignItemsFlexStart', selected && 'selected']\n };\n const composedClasses = composeClasses(slots, getListItemButtonUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\nconst ListItemButtonRoot = styled(ButtonBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiListItemButton',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'flex',\n flexGrow: 1,\n justifyContent: 'flex-start',\n alignItems: 'center',\n position: 'relative',\n textDecoration: 'none',\n minWidth: 0,\n boxSizing: 'border-box',\n textAlign: 'left',\n paddingTop: 8,\n paddingBottom: 8,\n transition: theme.transitions.create('background-color', {\n duration: theme.transitions.duration.shortest\n }),\n '&:hover': {\n textDecoration: 'none',\n backgroundColor: (theme.vars || theme).palette.action.hover,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${listItemButtonClasses.selected}`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.selectedOpacity})` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity),\n [`&.${listItemButtonClasses.focusVisible}`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.focusOpacity}))` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)\n }\n },\n [`&.${listItemButtonClasses.selected}:hover`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.hoverOpacity}))` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.selectedOpacity})` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity)\n }\n },\n [`&.${listItemButtonClasses.focusVisible}`]: {\n backgroundColor: (theme.vars || theme).palette.action.focus\n },\n [`&.${listItemButtonClasses.disabled}`]: {\n opacity: (theme.vars || theme).palette.action.disabledOpacity\n }\n}, ownerState.divider && {\n borderBottom: `1px solid ${(theme.vars || theme).palette.divider}`,\n backgroundClip: 'padding-box'\n}, ownerState.alignItems === 'flex-start' && {\n alignItems: 'flex-start'\n}, !ownerState.disableGutters && {\n paddingLeft: 16,\n paddingRight: 16\n}, ownerState.dense && {\n paddingTop: 4,\n paddingBottom: 4\n}));\nconst ListItemButton = /*#__PURE__*/React.forwardRef(function ListItemButton(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiListItemButton'\n });\n const {\n alignItems = 'center',\n autoFocus = false,\n component = 'div',\n children,\n dense = false,\n disableGutters = false,\n divider = false,\n focusVisibleClassName,\n selected = false,\n className\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const context = React.useContext(ListContext);\n const childContext = React.useMemo(() => ({\n dense: dense || context.dense || false,\n alignItems,\n disableGutters\n }), [alignItems, context.dense, dense, disableGutters]);\n const listItemRef = React.useRef(null);\n useEnhancedEffect(() => {\n if (autoFocus) {\n if (listItemRef.current) {\n listItemRef.current.focus();\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('MUI: Unable to set focus to a ListItemButton whose component has not been rendered.');\n }\n }\n }, [autoFocus]);\n const ownerState = _extends({}, props, {\n alignItems,\n dense: childContext.dense,\n disableGutters,\n divider,\n selected\n });\n const classes = useUtilityClasses(ownerState);\n const handleRef = useForkRef(listItemRef, ref);\n return /*#__PURE__*/_jsx(ListContext.Provider, {\n value: childContext,\n children: /*#__PURE__*/_jsx(ListItemButtonRoot, _extends({\n ref: handleRef,\n href: other.href || other.to\n // `ButtonBase` processes `href` or `to` if `component` is set to 'button'\n ,\n component: (other.href || other.to) && component === 'div' ? 'button' : component,\n focusVisibleClassName: clsx(classes.focusVisible, focusVisibleClassName),\n ownerState: ownerState,\n className: clsx(classes.root, className)\n }, other, {\n classes: classes,\n children: children\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? ListItemButton.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Defines the `align-items` style property.\n * @default 'center'\n */\n alignItems: PropTypes.oneOf(['center', 'flex-start']),\n /**\n * If `true`, the list item is focused during the first mount.\n * Focus will also be triggered if the value changes from false to true.\n * @default false\n */\n autoFocus: PropTypes.bool,\n /**\n * The content of the component if a `ListItemSecondaryAction` is used it must\n * be the last child.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * If `true`, compact vertical padding designed for keyboard and mouse input is used.\n * The prop defaults to the value inherited from the parent List component.\n * @default false\n */\n dense: PropTypes.bool,\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the left and right padding is removed.\n * @default false\n */\n disableGutters: PropTypes.bool,\n /**\n * If `true`, a 1px light border is added to the bottom of the list item.\n * @default false\n */\n divider: PropTypes.bool,\n /**\n * This prop can help identify which element has keyboard focus.\n * The class name will be applied when the element gains the focus through keyboard interaction.\n * It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo).\n * The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/HEAD/explainer.md).\n * A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components\n * if needed.\n */\n focusVisibleClassName: PropTypes.string,\n /**\n * @ignore\n */\n href: PropTypes.string,\n /**\n * Use to apply selected styling.\n * @default false\n */\n selected: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default ListItemButton;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getListItemSecondaryActionClassesUtilityClass(slot) {\n return generateUtilityClass('MuiListItemSecondaryAction', slot);\n}\nconst listItemSecondaryActionClasses = generateUtilityClasses('MuiListItemSecondaryAction', ['root', 'disableGutters']);\nexport default listItemSecondaryActionClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport ListContext from '../List/ListContext';\nimport { getListItemSecondaryActionClassesUtilityClass } from './listItemSecondaryActionClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n disableGutters,\n classes\n } = ownerState;\n const slots = {\n root: ['root', disableGutters && 'disableGutters']\n };\n return composeClasses(slots, getListItemSecondaryActionClassesUtilityClass, classes);\n};\nconst ListItemSecondaryActionRoot = styled('div', {\n name: 'MuiListItemSecondaryAction',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.disableGutters && styles.disableGutters];\n }\n})(({\n ownerState\n}) => _extends({\n position: 'absolute',\n right: 16,\n top: '50%',\n transform: 'translateY(-50%)'\n}, ownerState.disableGutters && {\n right: 0\n}));\n\n/**\n * Must be used as the last child of ListItem to function properly.\n */\nconst ListItemSecondaryAction = /*#__PURE__*/React.forwardRef(function ListItemSecondaryAction(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiListItemSecondaryAction'\n });\n const {\n className\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const context = React.useContext(ListContext);\n const ownerState = _extends({}, props, {\n disableGutters: context.disableGutters\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(ListItemSecondaryActionRoot, _extends({\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? ListItemSecondaryAction.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component, normally an `IconButton` or selection control.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nListItemSecondaryAction.muiName = 'ListItemSecondaryAction';\nexport default ListItemSecondaryAction;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\"],\n _excluded2 = [\"alignItems\", \"autoFocus\", \"button\", \"children\", \"className\", \"component\", \"components\", \"componentsProps\", \"ContainerComponent\", \"ContainerProps\", \"dense\", \"disabled\", \"disableGutters\", \"disablePadding\", \"divider\", \"focusVisibleClassName\", \"secondaryAction\", \"selected\", \"slotProps\", \"slots\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { isHostComponent } from '@mui/base/utils';\nimport composeClasses from '@mui/utils/composeClasses';\nimport elementTypeAcceptingRef from '@mui/utils/elementTypeAcceptingRef';\nimport chainPropTypes from '@mui/utils/chainPropTypes';\nimport { alpha } from '@mui/system/colorManipulator';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport ButtonBase from '../ButtonBase';\nimport isMuiElement from '../utils/isMuiElement';\nimport useEnhancedEffect from '../utils/useEnhancedEffect';\nimport useForkRef from '../utils/useForkRef';\nimport ListContext from '../List/ListContext';\nimport listItemClasses, { getListItemUtilityClass } from './listItemClasses';\nimport { listItemButtonClasses } from '../ListItemButton';\nimport ListItemSecondaryAction from '../ListItemSecondaryAction';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport const overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.dense && styles.dense, ownerState.alignItems === 'flex-start' && styles.alignItemsFlexStart, ownerState.divider && styles.divider, !ownerState.disableGutters && styles.gutters, !ownerState.disablePadding && styles.padding, ownerState.button && styles.button, ownerState.hasSecondaryAction && styles.secondaryAction];\n};\nconst useUtilityClasses = ownerState => {\n const {\n alignItems,\n button,\n classes,\n dense,\n disabled,\n disableGutters,\n disablePadding,\n divider,\n hasSecondaryAction,\n selected\n } = ownerState;\n const slots = {\n root: ['root', dense && 'dense', !disableGutters && 'gutters', !disablePadding && 'padding', divider && 'divider', disabled && 'disabled', button && 'button', alignItems === 'flex-start' && 'alignItemsFlexStart', hasSecondaryAction && 'secondaryAction', selected && 'selected'],\n container: ['container']\n };\n return composeClasses(slots, getListItemUtilityClass, classes);\n};\nexport const ListItemRoot = styled('div', {\n name: 'MuiListItem',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'flex',\n justifyContent: 'flex-start',\n alignItems: 'center',\n position: 'relative',\n textDecoration: 'none',\n width: '100%',\n boxSizing: 'border-box',\n textAlign: 'left'\n}, !ownerState.disablePadding && _extends({\n paddingTop: 8,\n paddingBottom: 8\n}, ownerState.dense && {\n paddingTop: 4,\n paddingBottom: 4\n}, !ownerState.disableGutters && {\n paddingLeft: 16,\n paddingRight: 16\n}, !!ownerState.secondaryAction && {\n // Add some space to avoid collision as `ListItemSecondaryAction`\n // is absolutely positioned.\n paddingRight: 48\n}), !!ownerState.secondaryAction && {\n [`& > .${listItemButtonClasses.root}`]: {\n paddingRight: 48\n }\n}, {\n [`&.${listItemClasses.focusVisible}`]: {\n backgroundColor: (theme.vars || theme).palette.action.focus\n },\n [`&.${listItemClasses.selected}`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.selectedOpacity})` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity),\n [`&.${listItemClasses.focusVisible}`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.focusOpacity}))` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)\n }\n },\n [`&.${listItemClasses.disabled}`]: {\n opacity: (theme.vars || theme).palette.action.disabledOpacity\n }\n}, ownerState.alignItems === 'flex-start' && {\n alignItems: 'flex-start'\n}, ownerState.divider && {\n borderBottom: `1px solid ${(theme.vars || theme).palette.divider}`,\n backgroundClip: 'padding-box'\n}, ownerState.button && {\n transition: theme.transitions.create('background-color', {\n duration: theme.transitions.duration.shortest\n }),\n '&:hover': {\n textDecoration: 'none',\n backgroundColor: (theme.vars || theme).palette.action.hover,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${listItemClasses.selected}:hover`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.hoverOpacity}))` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.selectedOpacity})` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity)\n }\n }\n}, ownerState.hasSecondaryAction && {\n // Add some space to avoid collision as `ListItemSecondaryAction`\n // is absolutely positioned.\n paddingRight: 48\n}));\nconst ListItemContainer = styled('li', {\n name: 'MuiListItem',\n slot: 'Container',\n overridesResolver: (props, styles) => styles.container\n})({\n position: 'relative'\n});\n\n/**\n * Uses an additional container component if `ListItemSecondaryAction` is the last child.\n */\nconst ListItem = /*#__PURE__*/React.forwardRef(function ListItem(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiListItem'\n });\n const {\n alignItems = 'center',\n autoFocus = false,\n button = false,\n children: childrenProp,\n className,\n component: componentProp,\n components = {},\n componentsProps = {},\n ContainerComponent = 'li',\n ContainerProps: {\n className: ContainerClassName\n } = {},\n dense = false,\n disabled = false,\n disableGutters = false,\n disablePadding = false,\n divider = false,\n focusVisibleClassName,\n secondaryAction,\n selected = false,\n slotProps = {},\n slots = {}\n } = props,\n ContainerProps = _objectWithoutPropertiesLoose(props.ContainerProps, _excluded),\n other = _objectWithoutPropertiesLoose(props, _excluded2);\n const context = React.useContext(ListContext);\n const childContext = React.useMemo(() => ({\n dense: dense || context.dense || false,\n alignItems,\n disableGutters\n }), [alignItems, context.dense, dense, disableGutters]);\n const listItemRef = React.useRef(null);\n useEnhancedEffect(() => {\n if (autoFocus) {\n if (listItemRef.current) {\n listItemRef.current.focus();\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('MUI: Unable to set focus to a ListItem whose component has not been rendered.');\n }\n }\n }, [autoFocus]);\n const children = React.Children.toArray(childrenProp);\n\n // v4 implementation, deprecated in v5, will be removed in v6\n const hasSecondaryAction = children.length && isMuiElement(children[children.length - 1], ['ListItemSecondaryAction']);\n const ownerState = _extends({}, props, {\n alignItems,\n autoFocus,\n button,\n dense: childContext.dense,\n disabled,\n disableGutters,\n disablePadding,\n divider,\n hasSecondaryAction,\n selected\n });\n const classes = useUtilityClasses(ownerState);\n const handleRef = useForkRef(listItemRef, ref);\n const Root = slots.root || components.Root || ListItemRoot;\n const rootProps = slotProps.root || componentsProps.root || {};\n const componentProps = _extends({\n className: clsx(classes.root, rootProps.className, className),\n disabled\n }, other);\n let Component = componentProp || 'li';\n if (button) {\n componentProps.component = componentProp || 'div';\n componentProps.focusVisibleClassName = clsx(listItemClasses.focusVisible, focusVisibleClassName);\n Component = ButtonBase;\n }\n\n // v4 implementation, deprecated in v5, will be removed in v6\n if (hasSecondaryAction) {\n // Use div by default.\n Component = !componentProps.component && !componentProp ? 'div' : Component;\n\n // Avoid nesting of li > li.\n if (ContainerComponent === 'li') {\n if (Component === 'li') {\n Component = 'div';\n } else if (componentProps.component === 'li') {\n componentProps.component = 'div';\n }\n }\n return /*#__PURE__*/_jsx(ListContext.Provider, {\n value: childContext,\n children: /*#__PURE__*/_jsxs(ListItemContainer, _extends({\n as: ContainerComponent,\n className: clsx(classes.container, ContainerClassName),\n ref: handleRef,\n ownerState: ownerState\n }, ContainerProps, {\n children: [/*#__PURE__*/_jsx(Root, _extends({}, rootProps, !isHostComponent(Root) && {\n as: Component,\n ownerState: _extends({}, ownerState, rootProps.ownerState)\n }, componentProps, {\n children: children\n })), children.pop()]\n }))\n });\n }\n return /*#__PURE__*/_jsx(ListContext.Provider, {\n value: childContext,\n children: /*#__PURE__*/_jsxs(Root, _extends({}, rootProps, {\n as: Component,\n ref: handleRef\n }, !isHostComponent(Root) && {\n ownerState: _extends({}, ownerState, rootProps.ownerState)\n }, componentProps, {\n children: [children, secondaryAction && /*#__PURE__*/_jsx(ListItemSecondaryAction, {\n children: secondaryAction\n })]\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? ListItem.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Defines the `align-items` style property.\n * @default 'center'\n */\n alignItems: PropTypes.oneOf(['center', 'flex-start']),\n /**\n * If `true`, the list item is focused during the first mount.\n * Focus will also be triggered if the value changes from false to true.\n * @default false\n * @deprecated checkout [ListItemButton](/material-ui/api/list-item-button/) instead\n */\n autoFocus: PropTypes.bool,\n /**\n * If `true`, the list item is a button (using `ButtonBase`). Props intended\n * for `ButtonBase` can then be applied to `ListItem`.\n * @default false\n * @deprecated checkout [ListItemButton](/material-ui/api/list-item-button/) instead\n */\n button: PropTypes.bool,\n /**\n * The content of the component if a `ListItemSecondaryAction` is used it must\n * be the last child.\n */\n children: chainPropTypes(PropTypes.node, props => {\n const children = React.Children.toArray(props.children);\n\n // React.Children.toArray(props.children).findLastIndex(isListItemSecondaryAction)\n let secondaryActionIndex = -1;\n for (let i = children.length - 1; i >= 0; i -= 1) {\n const child = children[i];\n if (isMuiElement(child, ['ListItemSecondaryAction'])) {\n secondaryActionIndex = i;\n break;\n }\n }\n\n // is ListItemSecondaryAction the last child of ListItem\n if (secondaryActionIndex !== -1 && secondaryActionIndex !== children.length - 1) {\n return new Error('MUI: You used an element after ListItemSecondaryAction. ' + 'For ListItem to detect that it has a secondary action ' + 'you must pass it as the last child to ListItem.');\n }\n return null;\n }),\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * The components used for each slot inside.\n *\n * This prop is an alias for the `slots` prop.\n * It's recommended to use the `slots` prop instead.\n *\n * @default {}\n */\n components: PropTypes.shape({\n Root: PropTypes.elementType\n }),\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * This prop is an alias for the `slotProps` prop.\n * It's recommended to use the `slotProps` prop instead, as `componentsProps` will be deprecated in the future.\n *\n * @default {}\n */\n componentsProps: PropTypes.shape({\n root: PropTypes.object\n }),\n /**\n * The container component used when a `ListItemSecondaryAction` is the last child.\n * @default 'li'\n * @deprecated\n */\n ContainerComponent: elementTypeAcceptingRef,\n /**\n * Props applied to the container component if used.\n * @default {}\n * @deprecated\n */\n ContainerProps: PropTypes.object,\n /**\n * If `true`, compact vertical padding designed for keyboard and mouse input is used.\n * The prop defaults to the value inherited from the parent List component.\n * @default false\n */\n dense: PropTypes.bool,\n /**\n * If `true`, the component is disabled.\n * @default false\n * @deprecated checkout [ListItemButton](/material-ui/api/list-item-button/) instead\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the left and right padding is removed.\n * @default false\n */\n disableGutters: PropTypes.bool,\n /**\n * If `true`, all padding is removed.\n * @default false\n */\n disablePadding: PropTypes.bool,\n /**\n * If `true`, a 1px light border is added to the bottom of the list item.\n * @default false\n */\n divider: PropTypes.bool,\n /**\n * @ignore\n */\n focusVisibleClassName: PropTypes.string,\n /**\n * The element to display at the end of ListItem.\n */\n secondaryAction: PropTypes.node,\n /**\n * Use to apply selected styling.\n * @default false\n * @deprecated checkout [ListItemButton](/material-ui/api/list-item-button/) instead\n */\n selected: PropTypes.bool,\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * This prop is an alias for the `componentsProps` prop, which will be deprecated in the future.\n *\n * @default {}\n */\n slotProps: PropTypes.shape({\n root: PropTypes.object\n }),\n /**\n * The components used for each slot inside.\n *\n * This prop is an alias for the `components` prop, which will be deprecated in the future.\n *\n * @default {}\n */\n slots: PropTypes.shape({\n root: PropTypes.elementType\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default ListItem;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getListItemAvatarUtilityClass(slot) {\n return generateUtilityClass('MuiListItemAvatar', slot);\n}\nconst listItemAvatarClasses = generateUtilityClasses('MuiListItemAvatar', ['root', 'alignItemsFlexStart']);\nexport default listItemAvatarClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport ListContext from '../List/ListContext';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport { getListItemAvatarUtilityClass } from './listItemAvatarClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n alignItems,\n classes\n } = ownerState;\n const slots = {\n root: ['root', alignItems === 'flex-start' && 'alignItemsFlexStart']\n };\n return composeClasses(slots, getListItemAvatarUtilityClass, classes);\n};\nconst ListItemAvatarRoot = styled('div', {\n name: 'MuiListItemAvatar',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.alignItems === 'flex-start' && styles.alignItemsFlexStart];\n }\n})(({\n ownerState\n}) => _extends({\n minWidth: 56,\n flexShrink: 0\n}, ownerState.alignItems === 'flex-start' && {\n marginTop: 8\n}));\n\n/**\n * A simple wrapper to apply `List` styles to an `Avatar`.\n */\nconst ListItemAvatar = /*#__PURE__*/React.forwardRef(function ListItemAvatar(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiListItemAvatar'\n });\n const {\n className\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const context = React.useContext(ListContext);\n const ownerState = _extends({}, props, {\n alignItems: context.alignItems\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(ListItemAvatarRoot, _extends({\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? ListItemAvatar.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component, normally an `Avatar`.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default ListItemAvatar;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getListItemIconUtilityClass(slot) {\n return generateUtilityClass('MuiListItemIcon', slot);\n}\nconst listItemIconClasses = generateUtilityClasses('MuiListItemIcon', ['root', 'alignItemsFlexStart']);\nexport default listItemIconClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport { getListItemIconUtilityClass } from './listItemIconClasses';\nimport ListContext from '../List/ListContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n alignItems,\n classes\n } = ownerState;\n const slots = {\n root: ['root', alignItems === 'flex-start' && 'alignItemsFlexStart']\n };\n return composeClasses(slots, getListItemIconUtilityClass, classes);\n};\nconst ListItemIconRoot = styled('div', {\n name: 'MuiListItemIcon',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.alignItems === 'flex-start' && styles.alignItemsFlexStart];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n minWidth: 56,\n color: (theme.vars || theme).palette.action.active,\n flexShrink: 0,\n display: 'inline-flex'\n}, ownerState.alignItems === 'flex-start' && {\n marginTop: 8\n}));\n\n/**\n * A simple wrapper to apply `List` styles to an `Icon` or `SvgIcon`.\n */\nconst ListItemIcon = /*#__PURE__*/React.forwardRef(function ListItemIcon(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiListItemIcon'\n });\n const {\n className\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const context = React.useContext(ListContext);\n const ownerState = _extends({}, props, {\n alignItems: context.alignItems\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(ListItemIconRoot, _extends({\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? ListItemIcon.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component, normally `Icon`, `SvgIcon`,\n * or a `@mui/icons-material` SVG icon element.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default ListItemIcon;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getListItemTextUtilityClass(slot) {\n return generateUtilityClass('MuiListItemText', slot);\n}\nconst listItemTextClasses = generateUtilityClasses('MuiListItemText', ['root', 'multiline', 'dense', 'inset', 'primary', 'secondary']);\nexport default listItemTextClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"className\", \"disableTypography\", \"inset\", \"primary\", \"primaryTypographyProps\", \"secondary\", \"secondaryTypographyProps\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport Typography from '../Typography';\nimport ListContext from '../List/ListContext';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport listItemTextClasses, { getListItemTextUtilityClass } from './listItemTextClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n inset,\n primary,\n secondary,\n dense\n } = ownerState;\n const slots = {\n root: ['root', inset && 'inset', dense && 'dense', primary && secondary && 'multiline'],\n primary: ['primary'],\n secondary: ['secondary']\n };\n return composeClasses(slots, getListItemTextUtilityClass, classes);\n};\nconst ListItemTextRoot = styled('div', {\n name: 'MuiListItemText',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [{\n [`& .${listItemTextClasses.primary}`]: styles.primary\n }, {\n [`& .${listItemTextClasses.secondary}`]: styles.secondary\n }, styles.root, ownerState.inset && styles.inset, ownerState.primary && ownerState.secondary && styles.multiline, ownerState.dense && styles.dense];\n }\n})(({\n ownerState\n}) => _extends({\n flex: '1 1 auto',\n minWidth: 0,\n marginTop: 4,\n marginBottom: 4\n}, ownerState.primary && ownerState.secondary && {\n marginTop: 6,\n marginBottom: 6\n}, ownerState.inset && {\n paddingLeft: 56\n}));\nconst ListItemText = /*#__PURE__*/React.forwardRef(function ListItemText(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiListItemText'\n });\n const {\n children,\n className,\n disableTypography = false,\n inset = false,\n primary: primaryProp,\n primaryTypographyProps,\n secondary: secondaryProp,\n secondaryTypographyProps\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const {\n dense\n } = React.useContext(ListContext);\n let primary = primaryProp != null ? primaryProp : children;\n let secondary = secondaryProp;\n const ownerState = _extends({}, props, {\n disableTypography,\n inset,\n primary: !!primary,\n secondary: !!secondary,\n dense\n });\n const classes = useUtilityClasses(ownerState);\n if (primary != null && primary.type !== Typography && !disableTypography) {\n primary = /*#__PURE__*/_jsx(Typography, _extends({\n variant: dense ? 'body2' : 'body1',\n className: classes.primary,\n component: primaryTypographyProps != null && primaryTypographyProps.variant ? undefined : 'span',\n display: \"block\"\n }, primaryTypographyProps, {\n children: primary\n }));\n }\n if (secondary != null && secondary.type !== Typography && !disableTypography) {\n secondary = /*#__PURE__*/_jsx(Typography, _extends({\n variant: \"body2\",\n className: classes.secondary,\n color: \"text.secondary\",\n display: \"block\"\n }, secondaryTypographyProps, {\n children: secondary\n }));\n }\n return /*#__PURE__*/_jsxs(ListItemTextRoot, _extends({\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref\n }, other, {\n children: [primary, secondary]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? ListItemText.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Alias for the `primary` prop.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * If `true`, the children won't be wrapped by a Typography component.\n * This can be useful to render an alternative Typography variant by wrapping\n * the `children` (or `primary`) text, and optional `secondary` text\n * with the Typography component.\n * @default false\n */\n disableTypography: PropTypes.bool,\n /**\n * If `true`, the children are indented.\n * This should be used if there is no left avatar or left icon.\n * @default false\n */\n inset: PropTypes.bool,\n /**\n * The main content element.\n */\n primary: PropTypes.node,\n /**\n * These props will be forwarded to the primary typography component\n * (as long as disableTypography is not `true`).\n */\n primaryTypographyProps: PropTypes.object,\n /**\n * The secondary content element.\n */\n secondary: PropTypes.node,\n /**\n * These props will be forwarded to the secondary typography component\n * (as long as disableTypography is not `true`).\n */\n secondaryTypographyProps: PropTypes.object,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default ListItemText;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"actions\", \"autoFocus\", \"autoFocusItem\", \"children\", \"className\", \"disabledItemsFocusable\", \"disableListWrap\", \"onKeyDown\", \"variant\"];\nimport * as React from 'react';\nimport { isFragment } from 'react-is';\nimport PropTypes from 'prop-types';\nimport ownerDocument from '../utils/ownerDocument';\nimport List from '../List';\nimport getScrollbarSize from '../utils/getScrollbarSize';\nimport useForkRef from '../utils/useForkRef';\nimport useEnhancedEffect from '../utils/useEnhancedEffect';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction nextItem(list, item, disableListWrap) {\n if (list === item) {\n return list.firstChild;\n }\n if (item && item.nextElementSibling) {\n return item.nextElementSibling;\n }\n return disableListWrap ? null : list.firstChild;\n}\nfunction previousItem(list, item, disableListWrap) {\n if (list === item) {\n return disableListWrap ? list.firstChild : list.lastChild;\n }\n if (item && item.previousElementSibling) {\n return item.previousElementSibling;\n }\n return disableListWrap ? null : list.lastChild;\n}\nfunction textCriteriaMatches(nextFocus, textCriteria) {\n if (textCriteria === undefined) {\n return true;\n }\n let text = nextFocus.innerText;\n if (text === undefined) {\n // jsdom doesn't support innerText\n text = nextFocus.textContent;\n }\n text = text.trim().toLowerCase();\n if (text.length === 0) {\n return false;\n }\n if (textCriteria.repeating) {\n return text[0] === textCriteria.keys[0];\n }\n return text.indexOf(textCriteria.keys.join('')) === 0;\n}\nfunction moveFocus(list, currentFocus, disableListWrap, disabledItemsFocusable, traversalFunction, textCriteria) {\n let wrappedOnce = false;\n let nextFocus = traversalFunction(list, currentFocus, currentFocus ? disableListWrap : false);\n while (nextFocus) {\n // Prevent infinite loop.\n if (nextFocus === list.firstChild) {\n if (wrappedOnce) {\n return false;\n }\n wrappedOnce = true;\n }\n\n // Same logic as useAutocomplete.js\n const nextFocusDisabled = disabledItemsFocusable ? false : nextFocus.disabled || nextFocus.getAttribute('aria-disabled') === 'true';\n if (!nextFocus.hasAttribute('tabindex') || !textCriteriaMatches(nextFocus, textCriteria) || nextFocusDisabled) {\n // Move to the next element.\n nextFocus = traversalFunction(list, nextFocus, disableListWrap);\n } else {\n nextFocus.focus();\n return true;\n }\n }\n return false;\n}\n\n/**\n * A permanently displayed menu following https://www.w3.org/WAI/ARIA/apg/patterns/menu-button/.\n * It's exposed to help customization of the [`Menu`](/material-ui/api/menu/) component if you\n * use it separately you need to move focus into the component manually. Once\n * the focus is placed inside the component it is fully keyboard accessible.\n */\nconst MenuList = /*#__PURE__*/React.forwardRef(function MenuList(props, ref) {\n const {\n // private\n // eslint-disable-next-line react/prop-types\n actions,\n autoFocus = false,\n autoFocusItem = false,\n children,\n className,\n disabledItemsFocusable = false,\n disableListWrap = false,\n onKeyDown,\n variant = 'selectedMenu'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const listRef = React.useRef(null);\n const textCriteriaRef = React.useRef({\n keys: [],\n repeating: true,\n previousKeyMatched: true,\n lastTime: null\n });\n useEnhancedEffect(() => {\n if (autoFocus) {\n listRef.current.focus();\n }\n }, [autoFocus]);\n React.useImperativeHandle(actions, () => ({\n adjustStyleForScrollbar: (containerElement, {\n direction\n }) => {\n // Let's ignore that piece of logic if users are already overriding the width\n // of the menu.\n const noExplicitWidth = !listRef.current.style.width;\n if (containerElement.clientHeight < listRef.current.clientHeight && noExplicitWidth) {\n const scrollbarSize = `${getScrollbarSize(ownerDocument(containerElement))}px`;\n listRef.current.style[direction === 'rtl' ? 'paddingLeft' : 'paddingRight'] = scrollbarSize;\n listRef.current.style.width = `calc(100% + ${scrollbarSize})`;\n }\n return listRef.current;\n }\n }), []);\n const handleKeyDown = event => {\n const list = listRef.current;\n const key = event.key;\n /**\n * @type {Element} - will always be defined since we are in a keydown handler\n * attached to an element. A keydown event is either dispatched to the activeElement\n * or document.body or document.documentElement. Only the first case will\n * trigger this specific handler.\n */\n const currentFocus = ownerDocument(list).activeElement;\n if (key === 'ArrowDown') {\n // Prevent scroll of the page\n event.preventDefault();\n moveFocus(list, currentFocus, disableListWrap, disabledItemsFocusable, nextItem);\n } else if (key === 'ArrowUp') {\n event.preventDefault();\n moveFocus(list, currentFocus, disableListWrap, disabledItemsFocusable, previousItem);\n } else if (key === 'Home') {\n event.preventDefault();\n moveFocus(list, null, disableListWrap, disabledItemsFocusable, nextItem);\n } else if (key === 'End') {\n event.preventDefault();\n moveFocus(list, null, disableListWrap, disabledItemsFocusable, previousItem);\n } else if (key.length === 1) {\n const criteria = textCriteriaRef.current;\n const lowerKey = key.toLowerCase();\n const currTime = performance.now();\n if (criteria.keys.length > 0) {\n // Reset\n if (currTime - criteria.lastTime > 500) {\n criteria.keys = [];\n criteria.repeating = true;\n criteria.previousKeyMatched = true;\n } else if (criteria.repeating && lowerKey !== criteria.keys[0]) {\n criteria.repeating = false;\n }\n }\n criteria.lastTime = currTime;\n criteria.keys.push(lowerKey);\n const keepFocusOnCurrent = currentFocus && !criteria.repeating && textCriteriaMatches(currentFocus, criteria);\n if (criteria.previousKeyMatched && (keepFocusOnCurrent || moveFocus(list, currentFocus, false, disabledItemsFocusable, nextItem, criteria))) {\n event.preventDefault();\n } else {\n criteria.previousKeyMatched = false;\n }\n }\n if (onKeyDown) {\n onKeyDown(event);\n }\n };\n const handleRef = useForkRef(listRef, ref);\n\n /**\n * the index of the item should receive focus\n * in a `variant=\"selectedMenu\"` it's the first `selected` item\n * otherwise it's the very first item.\n */\n let activeItemIndex = -1;\n // since we inject focus related props into children we have to do a lookahead\n // to check if there is a `selected` item. We're looking for the last `selected`\n // item and use the first valid item as a fallback\n React.Children.forEach(children, (child, index) => {\n if (! /*#__PURE__*/React.isValidElement(child)) {\n if (activeItemIndex === index) {\n activeItemIndex += 1;\n if (activeItemIndex >= children.length) {\n // there are no focusable items within the list.\n activeItemIndex = -1;\n }\n }\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n if (isFragment(child)) {\n console.error([\"MUI: The Menu component doesn't accept a Fragment as a child.\", 'Consider providing an array instead.'].join('\\n'));\n }\n }\n if (!child.props.disabled) {\n if (variant === 'selectedMenu' && child.props.selected) {\n activeItemIndex = index;\n } else if (activeItemIndex === -1) {\n activeItemIndex = index;\n }\n }\n if (activeItemIndex === index && (child.props.disabled || child.props.muiSkipListHighlight || child.type.muiSkipListHighlight)) {\n activeItemIndex += 1;\n if (activeItemIndex >= children.length) {\n // there are no focusable items within the list.\n activeItemIndex = -1;\n }\n }\n });\n const items = React.Children.map(children, (child, index) => {\n if (index === activeItemIndex) {\n const newChildProps = {};\n if (autoFocusItem) {\n newChildProps.autoFocus = true;\n }\n if (child.props.tabIndex === undefined && variant === 'selectedMenu') {\n newChildProps.tabIndex = 0;\n }\n return /*#__PURE__*/React.cloneElement(child, newChildProps);\n }\n return child;\n });\n return /*#__PURE__*/_jsx(List, _extends({\n role: \"menu\",\n ref: handleRef,\n className: className,\n onKeyDown: handleKeyDown,\n tabIndex: autoFocus ? 0 : -1\n }, other, {\n children: items\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? MenuList.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * If `true`, will focus the `[role=\"menu\"]` container and move into tab order.\n * @default false\n */\n autoFocus: PropTypes.bool,\n /**\n * If `true`, will focus the first menuitem if `variant=\"menu\"` or selected item\n * if `variant=\"selectedMenu\"`.\n * @default false\n */\n autoFocusItem: PropTypes.bool,\n /**\n * MenuList contents, normally `MenuItem`s.\n */\n children: PropTypes.node,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * If `true`, will allow focus on disabled items.\n * @default false\n */\n disabledItemsFocusable: PropTypes.bool,\n /**\n * If `true`, the menu items will not wrap focus.\n * @default false\n */\n disableListWrap: PropTypes.bool,\n /**\n * @ignore\n */\n onKeyDown: PropTypes.func,\n /**\n * The variant to use. Use `menu` to prevent selected items from impacting the initial focus\n * and the vertical alignment relative to the anchor element.\n * @default 'selectedMenu'\n */\n variant: PropTypes.oneOf(['menu', 'selectedMenu'])\n} : void 0;\nexport default MenuList;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getPopoverUtilityClass(slot) {\n return generateUtilityClass('MuiPopover', slot);\n}\nconst popoverClasses = generateUtilityClasses('MuiPopover', ['root', 'paper']);\nexport default popoverClasses;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"onEntering\"],\n _excluded2 = [\"action\", \"anchorEl\", \"anchorOrigin\", \"anchorPosition\", \"anchorReference\", \"children\", \"className\", \"container\", \"elevation\", \"marginThreshold\", \"open\", \"PaperProps\", \"slots\", \"slotProps\", \"transformOrigin\", \"TransitionComponent\", \"transitionDuration\", \"TransitionProps\", \"disableScrollLock\"],\n _excluded3 = [\"slotProps\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { useSlotProps, isHostComponent } from '@mui/base/utils';\nimport composeClasses from '@mui/utils/composeClasses';\nimport HTMLElementType from '@mui/utils/HTMLElementType';\nimport refType from '@mui/utils/refType';\nimport elementTypeAcceptingRef from '@mui/utils/elementTypeAcceptingRef';\nimport integerPropType from '@mui/utils/integerPropType';\nimport chainPropTypes from '@mui/utils/chainPropTypes';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport debounce from '../utils/debounce';\nimport ownerDocument from '../utils/ownerDocument';\nimport ownerWindow from '../utils/ownerWindow';\nimport useForkRef from '../utils/useForkRef';\nimport Grow from '../Grow';\nimport Modal from '../Modal';\nimport PaperBase from '../Paper';\nimport { getPopoverUtilityClass } from './popoverClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport function getOffsetTop(rect, vertical) {\n let offset = 0;\n if (typeof vertical === 'number') {\n offset = vertical;\n } else if (vertical === 'center') {\n offset = rect.height / 2;\n } else if (vertical === 'bottom') {\n offset = rect.height;\n }\n return offset;\n}\nexport function getOffsetLeft(rect, horizontal) {\n let offset = 0;\n if (typeof horizontal === 'number') {\n offset = horizontal;\n } else if (horizontal === 'center') {\n offset = rect.width / 2;\n } else if (horizontal === 'right') {\n offset = rect.width;\n }\n return offset;\n}\nfunction getTransformOriginValue(transformOrigin) {\n return [transformOrigin.horizontal, transformOrigin.vertical].map(n => typeof n === 'number' ? `${n}px` : n).join(' ');\n}\nfunction resolveAnchorEl(anchorEl) {\n return typeof anchorEl === 'function' ? anchorEl() : anchorEl;\n}\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root'],\n paper: ['paper']\n };\n return composeClasses(slots, getPopoverUtilityClass, classes);\n};\nexport const PopoverRoot = styled(Modal, {\n name: 'MuiPopover',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({});\nexport const PopoverPaper = styled(PaperBase, {\n name: 'MuiPopover',\n slot: 'Paper',\n overridesResolver: (props, styles) => styles.paper\n})({\n position: 'absolute',\n overflowY: 'auto',\n overflowX: 'hidden',\n // So we see the popover when it's empty.\n // It's most likely on issue on userland.\n minWidth: 16,\n minHeight: 16,\n maxWidth: 'calc(100% - 32px)',\n maxHeight: 'calc(100% - 32px)',\n // We disable the focus ring for mouse, touch and keyboard users.\n outline: 0\n});\nconst Popover = /*#__PURE__*/React.forwardRef(function Popover(inProps, ref) {\n var _slotProps$paper, _slots$root, _slots$paper;\n const props = useThemeProps({\n props: inProps,\n name: 'MuiPopover'\n });\n const {\n action,\n anchorEl,\n anchorOrigin = {\n vertical: 'top',\n horizontal: 'left'\n },\n anchorPosition,\n anchorReference = 'anchorEl',\n children,\n className,\n container: containerProp,\n elevation = 8,\n marginThreshold = 16,\n open,\n PaperProps: PaperPropsProp = {},\n slots,\n slotProps,\n transformOrigin = {\n vertical: 'top',\n horizontal: 'left'\n },\n TransitionComponent = Grow,\n transitionDuration: transitionDurationProp = 'auto',\n TransitionProps: {\n onEntering\n } = {},\n disableScrollLock = false\n } = props,\n TransitionProps = _objectWithoutPropertiesLoose(props.TransitionProps, _excluded),\n other = _objectWithoutPropertiesLoose(props, _excluded2);\n const externalPaperSlotProps = (_slotProps$paper = slotProps == null ? void 0 : slotProps.paper) != null ? _slotProps$paper : PaperPropsProp;\n const paperRef = React.useRef();\n const handlePaperRef = useForkRef(paperRef, externalPaperSlotProps.ref);\n const ownerState = _extends({}, props, {\n anchorOrigin,\n anchorReference,\n elevation,\n marginThreshold,\n externalPaperSlotProps,\n transformOrigin,\n TransitionComponent,\n transitionDuration: transitionDurationProp,\n TransitionProps\n });\n const classes = useUtilityClasses(ownerState);\n\n // Returns the top/left offset of the position\n // to attach to on the anchor element (or body if none is provided)\n const getAnchorOffset = React.useCallback(() => {\n if (anchorReference === 'anchorPosition') {\n if (process.env.NODE_ENV !== 'production') {\n if (!anchorPosition) {\n console.error('MUI: You need to provide a `anchorPosition` prop when using ' + '<Popover anchorReference=\"anchorPosition\" />.');\n }\n }\n return anchorPosition;\n }\n const resolvedAnchorEl = resolveAnchorEl(anchorEl);\n\n // If an anchor element wasn't provided, just use the parent body element of this Popover\n const anchorElement = resolvedAnchorEl && resolvedAnchorEl.nodeType === 1 ? resolvedAnchorEl : ownerDocument(paperRef.current).body;\n const anchorRect = anchorElement.getBoundingClientRect();\n if (process.env.NODE_ENV !== 'production') {\n const box = anchorElement.getBoundingClientRect();\n if (process.env.NODE_ENV !== 'test' && box.top === 0 && box.left === 0 && box.right === 0 && box.bottom === 0) {\n console.warn(['MUI: The `anchorEl` prop provided to the component is invalid.', 'The anchor element should be part of the document layout.', \"Make sure the element is present in the document or that it's not display none.\"].join('\\n'));\n }\n }\n return {\n top: anchorRect.top + getOffsetTop(anchorRect, anchorOrigin.vertical),\n left: anchorRect.left + getOffsetLeft(anchorRect, anchorOrigin.horizontal)\n };\n }, [anchorEl, anchorOrigin.horizontal, anchorOrigin.vertical, anchorPosition, anchorReference]);\n\n // Returns the base transform origin using the element\n const getTransformOrigin = React.useCallback(elemRect => {\n return {\n vertical: getOffsetTop(elemRect, transformOrigin.vertical),\n horizontal: getOffsetLeft(elemRect, transformOrigin.horizontal)\n };\n }, [transformOrigin.horizontal, transformOrigin.vertical]);\n const getPositioningStyle = React.useCallback(element => {\n const elemRect = {\n width: element.offsetWidth,\n height: element.offsetHeight\n };\n\n // Get the transform origin point on the element itself\n const elemTransformOrigin = getTransformOrigin(elemRect);\n if (anchorReference === 'none') {\n return {\n top: null,\n left: null,\n transformOrigin: getTransformOriginValue(elemTransformOrigin)\n };\n }\n\n // Get the offset of the anchoring element\n const anchorOffset = getAnchorOffset();\n\n // Calculate element positioning\n let top = anchorOffset.top - elemTransformOrigin.vertical;\n let left = anchorOffset.left - elemTransformOrigin.horizontal;\n const bottom = top + elemRect.height;\n const right = left + elemRect.width;\n\n // Use the parent window of the anchorEl if provided\n const containerWindow = ownerWindow(resolveAnchorEl(anchorEl));\n\n // Window thresholds taking required margin into account\n const heightThreshold = containerWindow.innerHeight - marginThreshold;\n const widthThreshold = containerWindow.innerWidth - marginThreshold;\n\n // Check if the vertical axis needs shifting\n if (marginThreshold !== null && top < marginThreshold) {\n const diff = top - marginThreshold;\n top -= diff;\n elemTransformOrigin.vertical += diff;\n } else if (marginThreshold !== null && bottom > heightThreshold) {\n const diff = bottom - heightThreshold;\n top -= diff;\n elemTransformOrigin.vertical += diff;\n }\n if (process.env.NODE_ENV !== 'production') {\n if (elemRect.height > heightThreshold && elemRect.height && heightThreshold) {\n console.error(['MUI: The popover component is too tall.', `Some part of it can not be seen on the screen (${elemRect.height - heightThreshold}px).`, 'Please consider adding a `max-height` to improve the user-experience.'].join('\\n'));\n }\n }\n\n // Check if the horizontal axis needs shifting\n if (marginThreshold !== null && left < marginThreshold) {\n const diff = left - marginThreshold;\n left -= diff;\n elemTransformOrigin.horizontal += diff;\n } else if (right > widthThreshold) {\n const diff = right - widthThreshold;\n left -= diff;\n elemTransformOrigin.horizontal += diff;\n }\n return {\n top: `${Math.round(top)}px`,\n left: `${Math.round(left)}px`,\n transformOrigin: getTransformOriginValue(elemTransformOrigin)\n };\n }, [anchorEl, anchorReference, getAnchorOffset, getTransformOrigin, marginThreshold]);\n const [isPositioned, setIsPositioned] = React.useState(open);\n const setPositioningStyles = React.useCallback(() => {\n const element = paperRef.current;\n if (!element) {\n return;\n }\n const positioning = getPositioningStyle(element);\n if (positioning.top !== null) {\n element.style.top = positioning.top;\n }\n if (positioning.left !== null) {\n element.style.left = positioning.left;\n }\n element.style.transformOrigin = positioning.transformOrigin;\n setIsPositioned(true);\n }, [getPositioningStyle]);\n React.useEffect(() => {\n if (disableScrollLock) {\n window.addEventListener('scroll', setPositioningStyles);\n }\n return () => window.removeEventListener('scroll', setPositioningStyles);\n }, [anchorEl, disableScrollLock, setPositioningStyles]);\n const handleEntering = (element, isAppearing) => {\n if (onEntering) {\n onEntering(element, isAppearing);\n }\n setPositioningStyles();\n };\n const handleExited = () => {\n setIsPositioned(false);\n };\n React.useEffect(() => {\n if (open) {\n setPositioningStyles();\n }\n });\n React.useImperativeHandle(action, () => open ? {\n updatePosition: () => {\n setPositioningStyles();\n }\n } : null, [open, setPositioningStyles]);\n React.useEffect(() => {\n if (!open) {\n return undefined;\n }\n const handleResize = debounce(() => {\n setPositioningStyles();\n });\n const containerWindow = ownerWindow(anchorEl);\n containerWindow.addEventListener('resize', handleResize);\n return () => {\n handleResize.clear();\n containerWindow.removeEventListener('resize', handleResize);\n };\n }, [anchorEl, open, setPositioningStyles]);\n let transitionDuration = transitionDurationProp;\n if (transitionDurationProp === 'auto' && !TransitionComponent.muiSupportAuto) {\n transitionDuration = undefined;\n }\n\n // If the container prop is provided, use that\n // If the anchorEl prop is provided, use its parent body element as the container\n // If neither are provided let the Modal take care of choosing the container\n const container = containerProp || (anchorEl ? ownerDocument(resolveAnchorEl(anchorEl)).body : undefined);\n const RootSlot = (_slots$root = slots == null ? void 0 : slots.root) != null ? _slots$root : PopoverRoot;\n const PaperSlot = (_slots$paper = slots == null ? void 0 : slots.paper) != null ? _slots$paper : PopoverPaper;\n const paperProps = useSlotProps({\n elementType: PaperSlot,\n externalSlotProps: _extends({}, externalPaperSlotProps, {\n style: isPositioned ? externalPaperSlotProps.style : _extends({}, externalPaperSlotProps.style, {\n opacity: 0\n })\n }),\n additionalProps: {\n elevation,\n ref: handlePaperRef\n },\n ownerState,\n className: clsx(classes.paper, externalPaperSlotProps == null ? void 0 : externalPaperSlotProps.className)\n });\n const _useSlotProps = useSlotProps({\n elementType: RootSlot,\n externalSlotProps: (slotProps == null ? void 0 : slotProps.root) || {},\n externalForwardedProps: other,\n additionalProps: {\n ref,\n slotProps: {\n backdrop: {\n invisible: true\n }\n },\n container,\n open\n },\n ownerState,\n className: clsx(classes.root, className)\n }),\n {\n slotProps: rootSlotPropsProp\n } = _useSlotProps,\n rootProps = _objectWithoutPropertiesLoose(_useSlotProps, _excluded3);\n return /*#__PURE__*/_jsx(RootSlot, _extends({}, rootProps, !isHostComponent(RootSlot) && {\n slotProps: rootSlotPropsProp,\n disableScrollLock\n }, {\n children: /*#__PURE__*/_jsx(TransitionComponent, _extends({\n appear: true,\n in: open,\n onEntering: handleEntering,\n onExited: handleExited,\n timeout: transitionDuration\n }, TransitionProps, {\n children: /*#__PURE__*/_jsx(PaperSlot, _extends({}, paperProps, {\n children: children\n }))\n }))\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Popover.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * A ref for imperative actions.\n * It currently only supports updatePosition() action.\n */\n action: refType,\n /**\n * An HTML element, [PopoverVirtualElement](/material-ui/react-popover/#virtual-element),\n * or a function that returns either.\n * It's used to set the position of the popover.\n */\n anchorEl: chainPropTypes(PropTypes.oneOfType([HTMLElementType, PropTypes.func]), props => {\n if (props.open && (!props.anchorReference || props.anchorReference === 'anchorEl')) {\n const resolvedAnchorEl = resolveAnchorEl(props.anchorEl);\n if (resolvedAnchorEl && resolvedAnchorEl.nodeType === 1) {\n const box = resolvedAnchorEl.getBoundingClientRect();\n if (process.env.NODE_ENV !== 'test' && box.top === 0 && box.left === 0 && box.right === 0 && box.bottom === 0) {\n return new Error(['MUI: The `anchorEl` prop provided to the component is invalid.', 'The anchor element should be part of the document layout.', \"Make sure the element is present in the document or that it's not display none.\"].join('\\n'));\n }\n } else {\n return new Error(['MUI: The `anchorEl` prop provided to the component is invalid.', `It should be an Element or PopoverVirtualElement instance but it's \\`${resolvedAnchorEl}\\` instead.`].join('\\n'));\n }\n }\n return null;\n }),\n /**\n * This is the point on the anchor where the popover's\n * `anchorEl` will attach to. This is not used when the\n * anchorReference is 'anchorPosition'.\n *\n * Options:\n * vertical: [top, center, bottom];\n * horizontal: [left, center, right].\n * @default {\n * vertical: 'top',\n * horizontal: 'left',\n * }\n */\n anchorOrigin: PropTypes.shape({\n horizontal: PropTypes.oneOfType([PropTypes.oneOf(['center', 'left', 'right']), PropTypes.number]).isRequired,\n vertical: PropTypes.oneOfType([PropTypes.oneOf(['bottom', 'center', 'top']), PropTypes.number]).isRequired\n }),\n /**\n * This is the position that may be used to set the position of the popover.\n * The coordinates are relative to the application's client area.\n */\n anchorPosition: PropTypes.shape({\n left: PropTypes.number.isRequired,\n top: PropTypes.number.isRequired\n }),\n /**\n * This determines which anchor prop to refer to when setting\n * the position of the popover.\n * @default 'anchorEl'\n */\n anchorReference: PropTypes.oneOf(['anchorEl', 'anchorPosition', 'none']),\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * An HTML element, component instance, or function that returns either.\n * The `container` will passed to the Modal component.\n *\n * By default, it uses the body of the anchorEl's top-level document object,\n * so it's simply `document.body` most of the time.\n */\n container: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([HTMLElementType, PropTypes.func]),\n /**\n * Disable the scroll lock behavior.\n * @default false\n */\n disableScrollLock: PropTypes.bool,\n /**\n * The elevation of the popover.\n * @default 8\n */\n elevation: integerPropType,\n /**\n * Specifies how close to the edge of the window the popover can appear.\n * If null, the popover will not be constrained by the window.\n * @default 16\n */\n marginThreshold: PropTypes.number,\n /**\n * Callback fired when the component requests to be closed.\n * The `reason` parameter can optionally be used to control the response to `onClose`.\n */\n onClose: PropTypes.func,\n /**\n * If `true`, the component is shown.\n */\n open: PropTypes.bool.isRequired,\n /**\n * Props applied to the [`Paper`](/material-ui/api/paper/) element.\n *\n * This prop is an alias for `slotProps.paper` and will be overriden by it if both are used.\n * @deprecated Use `slotProps.paper` instead.\n *\n * @default {}\n */\n PaperProps: PropTypes /* @typescript-to-proptypes-ignore */.shape({\n component: elementTypeAcceptingRef\n }),\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * @default {}\n */\n slotProps: PropTypes.shape({\n paper: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n root: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside.\n *\n * @default {}\n */\n slots: PropTypes.shape({\n paper: PropTypes.elementType,\n root: PropTypes.elementType\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * This is the point on the popover which\n * will attach to the anchor's origin.\n *\n * Options:\n * vertical: [top, center, bottom, x(px)];\n * horizontal: [left, center, right, x(px)].\n * @default {\n * vertical: 'top',\n * horizontal: 'left',\n * }\n */\n transformOrigin: PropTypes.shape({\n horizontal: PropTypes.oneOfType([PropTypes.oneOf(['center', 'left', 'right']), PropTypes.number]).isRequired,\n vertical: PropTypes.oneOfType([PropTypes.oneOf(['bottom', 'center', 'top']), PropTypes.number]).isRequired\n }),\n /**\n * The component used for the transition.\n * [Follow this guide](/material-ui/transitions/#transitioncomponent-prop) to learn more about the requirements for this component.\n * @default Grow\n */\n TransitionComponent: PropTypes.elementType,\n /**\n * Set to 'auto' to automatically calculate transition time based on height.\n * @default 'auto'\n */\n transitionDuration: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.number, PropTypes.shape({\n appear: PropTypes.number,\n enter: PropTypes.number,\n exit: PropTypes.number\n })]),\n /**\n * Props applied to the transition element.\n * By default, the element is based on this [`Transition`](https://reactcommunity.org/react-transition-group/transition/) component.\n * @default {}\n */\n TransitionProps: PropTypes.object\n} : void 0;\nexport default Popover;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getMenuUtilityClass(slot) {\n return generateUtilityClass('MuiMenu', slot);\n}\nconst menuClasses = generateUtilityClasses('MuiMenu', ['root', 'paper', 'list']);\nexport default menuClasses;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"onEntering\"],\n _excluded2 = [\"autoFocus\", \"children\", \"className\", \"disableAutoFocusItem\", \"MenuListProps\", \"onClose\", \"open\", \"PaperProps\", \"PopoverClasses\", \"transitionDuration\", \"TransitionProps\", \"variant\", \"slots\", \"slotProps\"];\nimport * as React from 'react';\nimport { isFragment } from 'react-is';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { useSlotProps } from '@mui/base/utils';\nimport HTMLElementType from '@mui/utils/HTMLElementType';\nimport { useRtl } from '@mui/system/RtlProvider';\nimport MenuList from '../MenuList';\nimport Popover, { PopoverPaper } from '../Popover';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport { getMenuUtilityClass } from './menuClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst RTL_ORIGIN = {\n vertical: 'top',\n horizontal: 'right'\n};\nconst LTR_ORIGIN = {\n vertical: 'top',\n horizontal: 'left'\n};\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root'],\n paper: ['paper'],\n list: ['list']\n };\n return composeClasses(slots, getMenuUtilityClass, classes);\n};\nconst MenuRoot = styled(Popover, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiMenu',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({});\nexport const MenuPaper = styled(PopoverPaper, {\n name: 'MuiMenu',\n slot: 'Paper',\n overridesResolver: (props, styles) => styles.paper\n})({\n // specZ: The maximum height of a simple menu should be one or more rows less than the view\n // height. This ensures a tappable area outside of the simple menu with which to dismiss\n // the menu.\n maxHeight: 'calc(100% - 96px)',\n // Add iOS momentum scrolling for iOS < 13.0\n WebkitOverflowScrolling: 'touch'\n});\nconst MenuMenuList = styled(MenuList, {\n name: 'MuiMenu',\n slot: 'List',\n overridesResolver: (props, styles) => styles.list\n})({\n // We disable the focus ring for mouse, touch and keyboard users.\n outline: 0\n});\nconst Menu = /*#__PURE__*/React.forwardRef(function Menu(inProps, ref) {\n var _slots$paper, _slotProps$paper;\n const props = useThemeProps({\n props: inProps,\n name: 'MuiMenu'\n });\n const {\n autoFocus = true,\n children,\n className,\n disableAutoFocusItem = false,\n MenuListProps = {},\n onClose,\n open,\n PaperProps = {},\n PopoverClasses,\n transitionDuration = 'auto',\n TransitionProps: {\n onEntering\n } = {},\n variant = 'selectedMenu',\n slots = {},\n slotProps = {}\n } = props,\n TransitionProps = _objectWithoutPropertiesLoose(props.TransitionProps, _excluded),\n other = _objectWithoutPropertiesLoose(props, _excluded2);\n const isRtl = useRtl();\n const ownerState = _extends({}, props, {\n autoFocus,\n disableAutoFocusItem,\n MenuListProps,\n onEntering,\n PaperProps,\n transitionDuration,\n TransitionProps,\n variant\n });\n const classes = useUtilityClasses(ownerState);\n const autoFocusItem = autoFocus && !disableAutoFocusItem && open;\n const menuListActionsRef = React.useRef(null);\n const handleEntering = (element, isAppearing) => {\n if (menuListActionsRef.current) {\n menuListActionsRef.current.adjustStyleForScrollbar(element, {\n direction: isRtl ? 'rtl' : 'ltr'\n });\n }\n if (onEntering) {\n onEntering(element, isAppearing);\n }\n };\n const handleListKeyDown = event => {\n if (event.key === 'Tab') {\n event.preventDefault();\n if (onClose) {\n onClose(event, 'tabKeyDown');\n }\n }\n };\n\n /**\n * the index of the item should receive focus\n * in a `variant=\"selectedMenu\"` it's the first `selected` item\n * otherwise it's the very first item.\n */\n let activeItemIndex = -1;\n // since we inject focus related props into children we have to do a lookahead\n // to check if there is a `selected` item. We're looking for the last `selected`\n // item and use the first valid item as a fallback\n React.Children.map(children, (child, index) => {\n if (! /*#__PURE__*/React.isValidElement(child)) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n if (isFragment(child)) {\n console.error([\"MUI: The Menu component doesn't accept a Fragment as a child.\", 'Consider providing an array instead.'].join('\\n'));\n }\n }\n if (!child.props.disabled) {\n if (variant === 'selectedMenu' && child.props.selected) {\n activeItemIndex = index;\n } else if (activeItemIndex === -1) {\n activeItemIndex = index;\n }\n }\n });\n const PaperSlot = (_slots$paper = slots.paper) != null ? _slots$paper : MenuPaper;\n const paperExternalSlotProps = (_slotProps$paper = slotProps.paper) != null ? _slotProps$paper : PaperProps;\n const rootSlotProps = useSlotProps({\n elementType: slots.root,\n externalSlotProps: slotProps.root,\n ownerState,\n className: [classes.root, className]\n });\n const paperSlotProps = useSlotProps({\n elementType: PaperSlot,\n externalSlotProps: paperExternalSlotProps,\n ownerState,\n className: classes.paper\n });\n return /*#__PURE__*/_jsx(MenuRoot, _extends({\n onClose: onClose,\n anchorOrigin: {\n vertical: 'bottom',\n horizontal: isRtl ? 'right' : 'left'\n },\n transformOrigin: isRtl ? RTL_ORIGIN : LTR_ORIGIN,\n slots: {\n paper: PaperSlot,\n root: slots.root\n },\n slotProps: {\n root: rootSlotProps,\n paper: paperSlotProps\n },\n open: open,\n ref: ref,\n transitionDuration: transitionDuration,\n TransitionProps: _extends({\n onEntering: handleEntering\n }, TransitionProps),\n ownerState: ownerState\n }, other, {\n classes: PopoverClasses,\n children: /*#__PURE__*/_jsx(MenuMenuList, _extends({\n onKeyDown: handleListKeyDown,\n actions: menuListActionsRef,\n autoFocus: autoFocus && (activeItemIndex === -1 || disableAutoFocusItem),\n autoFocusItem: autoFocusItem,\n variant: variant\n }, MenuListProps, {\n className: clsx(classes.list, MenuListProps.className),\n children: children\n }))\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Menu.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * An HTML element, or a function that returns one.\n * It's used to set the position of the menu.\n */\n anchorEl: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([HTMLElementType, PropTypes.func]),\n /**\n * If `true` (Default) will focus the `[role=\"menu\"]` if no focusable child is found. Disabled\n * children are not focusable. If you set this prop to `false` focus will be placed\n * on the parent modal container. This has severe accessibility implications\n * and should only be considered if you manage focus otherwise.\n * @default true\n */\n autoFocus: PropTypes.bool,\n /**\n * Menu contents, normally `MenuItem`s.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * When opening the menu will not focus the active item but the `[role=\"menu\"]`\n * unless `autoFocus` is also set to `false`. Not using the default means not\n * following WAI-ARIA authoring practices. Please be considerate about possible\n * accessibility implications.\n * @default false\n */\n disableAutoFocusItem: PropTypes.bool,\n /**\n * Props applied to the [`MenuList`](/material-ui/api/menu-list/) element.\n * @default {}\n */\n MenuListProps: PropTypes.object,\n /**\n * Callback fired when the component requests to be closed.\n *\n * @param {object} event The event source of the callback.\n * @param {string} reason Can be: `\"escapeKeyDown\"`, `\"backdropClick\"`, `\"tabKeyDown\"`.\n */\n onClose: PropTypes.func,\n /**\n * If `true`, the component is shown.\n */\n open: PropTypes.bool.isRequired,\n /**\n * @ignore\n */\n PaperProps: PropTypes.object,\n /**\n * `classes` prop applied to the [`Popover`](/material-ui/api/popover/) element.\n */\n PopoverClasses: PropTypes.object,\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * @default {}\n */\n slotProps: PropTypes.shape({\n paper: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n root: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside.\n *\n * @default {}\n */\n slots: PropTypes.shape({\n paper: PropTypes.elementType,\n root: PropTypes.elementType\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The length of the transition in `ms`, or 'auto'\n * @default 'auto'\n */\n transitionDuration: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.number, PropTypes.shape({\n appear: PropTypes.number,\n enter: PropTypes.number,\n exit: PropTypes.number\n })]),\n /**\n * Props applied to the transition element.\n * By default, the element is based on this [`Transition`](https://reactcommunity.org/react-transition-group/transition/) component.\n * @default {}\n */\n TransitionProps: PropTypes.object,\n /**\n * The variant to use. Use `menu` to prevent selected items from impacting the initial focus.\n * @default 'selectedMenu'\n */\n variant: PropTypes.oneOf(['menu', 'selectedMenu'])\n} : void 0;\nexport default Menu;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getMenuItemUtilityClass(slot) {\n return generateUtilityClass('MuiMenuItem', slot);\n}\nconst menuItemClasses = generateUtilityClasses('MuiMenuItem', ['root', 'focusVisible', 'dense', 'disabled', 'divider', 'gutters', 'selected']);\nexport default menuItemClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"autoFocus\", \"component\", \"dense\", \"divider\", \"disableGutters\", \"focusVisibleClassName\", \"role\", \"tabIndex\", \"className\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { alpha } from '@mui/system/colorManipulator';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport ListContext from '../List/ListContext';\nimport ButtonBase from '../ButtonBase';\nimport useEnhancedEffect from '../utils/useEnhancedEffect';\nimport useForkRef from '../utils/useForkRef';\nimport { dividerClasses } from '../Divider';\nimport { listItemIconClasses } from '../ListItemIcon';\nimport { listItemTextClasses } from '../ListItemText';\nimport menuItemClasses, { getMenuItemUtilityClass } from './menuItemClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.dense && styles.dense, ownerState.divider && styles.divider, !ownerState.disableGutters && styles.gutters];\n};\nconst useUtilityClasses = ownerState => {\n const {\n disabled,\n dense,\n divider,\n disableGutters,\n selected,\n classes\n } = ownerState;\n const slots = {\n root: ['root', dense && 'dense', disabled && 'disabled', !disableGutters && 'gutters', divider && 'divider', selected && 'selected']\n };\n const composedClasses = composeClasses(slots, getMenuItemUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\nconst MenuItemRoot = styled(ButtonBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiMenuItem',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({}, theme.typography.body1, {\n display: 'flex',\n justifyContent: 'flex-start',\n alignItems: 'center',\n position: 'relative',\n textDecoration: 'none',\n minHeight: 48,\n paddingTop: 6,\n paddingBottom: 6,\n boxSizing: 'border-box',\n whiteSpace: 'nowrap'\n}, !ownerState.disableGutters && {\n paddingLeft: 16,\n paddingRight: 16\n}, ownerState.divider && {\n borderBottom: `1px solid ${(theme.vars || theme).palette.divider}`,\n backgroundClip: 'padding-box'\n}, {\n '&:hover': {\n textDecoration: 'none',\n backgroundColor: (theme.vars || theme).palette.action.hover,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${menuItemClasses.selected}`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.selectedOpacity})` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity),\n [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.focusOpacity}))` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)\n }\n },\n [`&.${menuItemClasses.selected}:hover`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.hoverOpacity}))` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.selectedOpacity})` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity)\n }\n },\n [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: (theme.vars || theme).palette.action.focus\n },\n [`&.${menuItemClasses.disabled}`]: {\n opacity: (theme.vars || theme).palette.action.disabledOpacity\n },\n [`& + .${dividerClasses.root}`]: {\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1)\n },\n [`& + .${dividerClasses.inset}`]: {\n marginLeft: 52\n },\n [`& .${listItemTextClasses.root}`]: {\n marginTop: 0,\n marginBottom: 0\n },\n [`& .${listItemTextClasses.inset}`]: {\n paddingLeft: 36\n },\n [`& .${listItemIconClasses.root}`]: {\n minWidth: 36\n }\n}, !ownerState.dense && {\n [theme.breakpoints.up('sm')]: {\n minHeight: 'auto'\n }\n}, ownerState.dense && _extends({\n minHeight: 32,\n // https://m2.material.io/components/menus#specs > Dense\n paddingTop: 4,\n paddingBottom: 4\n}, theme.typography.body2, {\n [`& .${listItemIconClasses.root} svg`]: {\n fontSize: '1.25rem'\n }\n})));\nconst MenuItem = /*#__PURE__*/React.forwardRef(function MenuItem(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiMenuItem'\n });\n const {\n autoFocus = false,\n component = 'li',\n dense = false,\n divider = false,\n disableGutters = false,\n focusVisibleClassName,\n role = 'menuitem',\n tabIndex: tabIndexProp,\n className\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const context = React.useContext(ListContext);\n const childContext = React.useMemo(() => ({\n dense: dense || context.dense || false,\n disableGutters\n }), [context.dense, dense, disableGutters]);\n const menuItemRef = React.useRef(null);\n useEnhancedEffect(() => {\n if (autoFocus) {\n if (menuItemRef.current) {\n menuItemRef.current.focus();\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('MUI: Unable to set focus to a MenuItem whose component has not been rendered.');\n }\n }\n }, [autoFocus]);\n const ownerState = _extends({}, props, {\n dense: childContext.dense,\n divider,\n disableGutters\n });\n const classes = useUtilityClasses(props);\n const handleRef = useForkRef(menuItemRef, ref);\n let tabIndex;\n if (!props.disabled) {\n tabIndex = tabIndexProp !== undefined ? tabIndexProp : -1;\n }\n return /*#__PURE__*/_jsx(ListContext.Provider, {\n value: childContext,\n children: /*#__PURE__*/_jsx(MenuItemRoot, _extends({\n ref: handleRef,\n role: role,\n tabIndex: tabIndex,\n component: component,\n focusVisibleClassName: clsx(classes.focusVisible, focusVisibleClassName),\n className: clsx(classes.root, className)\n }, other, {\n ownerState: ownerState,\n classes: classes\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? MenuItem.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * If `true`, the list item is focused during the first mount.\n * Focus will also be triggered if the value changes from false to true.\n * @default false\n */\n autoFocus: PropTypes.bool,\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * If `true`, compact vertical padding designed for keyboard and mouse input is used.\n * The prop defaults to the value inherited from the parent Menu component.\n * @default false\n */\n dense: PropTypes.bool,\n /**\n * @ignore\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the left and right padding is removed.\n * @default false\n */\n disableGutters: PropTypes.bool,\n /**\n * If `true`, a 1px light border is added to the bottom of the menu item.\n * @default false\n */\n divider: PropTypes.bool,\n /**\n * This prop can help identify which element has keyboard focus.\n * The class name will be applied when the element gains the focus through keyboard interaction.\n * It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo).\n * The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/HEAD/explainer.md).\n * A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components\n * if needed.\n */\n focusVisibleClassName: PropTypes.string,\n /**\n * @ignore\n */\n role: PropTypes /* @typescript-to-proptypes-ignore */.string,\n /**\n * If `true`, the component is selected.\n * @default false\n */\n selected: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * @default 0\n */\n tabIndex: PropTypes.number\n} : void 0;\nexport default MenuItem;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getNativeSelectUtilityClasses(slot) {\n return generateUtilityClass('MuiNativeSelect', slot);\n}\nconst nativeSelectClasses = generateUtilityClasses('MuiNativeSelect', ['root', 'select', 'multiple', 'filled', 'outlined', 'standard', 'disabled', 'icon', 'iconOpen', 'iconFilled', 'iconOutlined', 'iconStandard', 'nativeInput', 'error']);\nexport default nativeSelectClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"disabled\", \"error\", \"IconComponent\", \"inputRef\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport refType from '@mui/utils/refType';\nimport composeClasses from '@mui/utils/composeClasses';\nimport capitalize from '../utils/capitalize';\nimport nativeSelectClasses, { getNativeSelectUtilityClasses } from './nativeSelectClasses';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n variant,\n disabled,\n multiple,\n open,\n error\n } = ownerState;\n const slots = {\n select: ['select', variant, disabled && 'disabled', multiple && 'multiple', error && 'error'],\n icon: ['icon', `icon${capitalize(variant)}`, open && 'iconOpen', disabled && 'disabled']\n };\n return composeClasses(slots, getNativeSelectUtilityClasses, classes);\n};\nexport const nativeSelectSelectStyles = ({\n ownerState,\n theme\n}) => _extends({\n MozAppearance: 'none',\n // Reset\n WebkitAppearance: 'none',\n // Reset\n // When interacting quickly, the text can end up selected.\n // Native select can't be selected either.\n userSelect: 'none',\n borderRadius: 0,\n // Reset\n cursor: 'pointer',\n '&:focus': _extends({}, theme.vars ? {\n backgroundColor: `rgba(${theme.vars.palette.common.onBackgroundChannel} / 0.05)`\n } : {\n backgroundColor: theme.palette.mode === 'light' ? 'rgba(0, 0, 0, 0.05)' : 'rgba(255, 255, 255, 0.05)'\n }, {\n borderRadius: 0 // Reset Chrome style\n }),\n // Remove IE11 arrow\n '&::-ms-expand': {\n display: 'none'\n },\n [`&.${nativeSelectClasses.disabled}`]: {\n cursor: 'default'\n },\n '&[multiple]': {\n height: 'auto'\n },\n '&:not([multiple]) option, &:not([multiple]) optgroup': {\n backgroundColor: (theme.vars || theme).palette.background.paper\n },\n // Bump specificity to allow extending custom inputs\n '&&&': {\n paddingRight: 24,\n minWidth: 16 // So it doesn't collapse.\n }\n}, ownerState.variant === 'filled' && {\n '&&&': {\n paddingRight: 32\n }\n}, ownerState.variant === 'outlined' && {\n borderRadius: (theme.vars || theme).shape.borderRadius,\n '&:focus': {\n borderRadius: (theme.vars || theme).shape.borderRadius // Reset the reset for Chrome style\n },\n '&&&': {\n paddingRight: 32\n }\n});\nconst NativeSelectSelect = styled('select', {\n name: 'MuiNativeSelect',\n slot: 'Select',\n shouldForwardProp: rootShouldForwardProp,\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.select, styles[ownerState.variant], ownerState.error && styles.error, {\n [`&.${nativeSelectClasses.multiple}`]: styles.multiple\n }];\n }\n})(nativeSelectSelectStyles);\nexport const nativeSelectIconStyles = ({\n ownerState,\n theme\n}) => _extends({\n // We use a position absolute over a flexbox in order to forward the pointer events\n // to the input and to support wrapping tags..\n position: 'absolute',\n right: 0,\n top: 'calc(50% - .5em)',\n // Center vertically, height is 1em\n pointerEvents: 'none',\n // Don't block pointer events on the select under the icon.\n color: (theme.vars || theme).palette.action.active,\n [`&.${nativeSelectClasses.disabled}`]: {\n color: (theme.vars || theme).palette.action.disabled\n }\n}, ownerState.open && {\n transform: 'rotate(180deg)'\n}, ownerState.variant === 'filled' && {\n right: 7\n}, ownerState.variant === 'outlined' && {\n right: 7\n});\nconst NativeSelectIcon = styled('svg', {\n name: 'MuiNativeSelect',\n slot: 'Icon',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.icon, ownerState.variant && styles[`icon${capitalize(ownerState.variant)}`], ownerState.open && styles.iconOpen];\n }\n})(nativeSelectIconStyles);\n\n/**\n * @ignore - internal component.\n */\nconst NativeSelectInput = /*#__PURE__*/React.forwardRef(function NativeSelectInput(props, ref) {\n const {\n className,\n disabled,\n error,\n IconComponent,\n inputRef,\n variant = 'standard'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n disabled,\n variant,\n error\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(React.Fragment, {\n children: [/*#__PURE__*/_jsx(NativeSelectSelect, _extends({\n ownerState: ownerState,\n className: clsx(classes.select, className),\n disabled: disabled,\n ref: inputRef || ref\n }, other)), props.multiple ? null : /*#__PURE__*/_jsx(NativeSelectIcon, {\n as: IconComponent,\n ownerState: ownerState,\n className: classes.icon\n })]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? NativeSelectInput.propTypes = {\n /**\n * The option elements to populate the select with.\n * Can be some `<option>` elements.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * The CSS class name of the select element.\n */\n className: PropTypes.string,\n /**\n * If `true`, the select is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the `select input` will indicate an error.\n */\n error: PropTypes.bool,\n /**\n * The icon that displays the arrow.\n */\n IconComponent: PropTypes.elementType.isRequired,\n /**\n * Use that prop to pass a ref to the native select element.\n * @deprecated\n */\n inputRef: refType,\n /**\n * @ignore\n */\n multiple: PropTypes.bool,\n /**\n * Name attribute of the `select` or hidden `input` element.\n */\n name: PropTypes.string,\n /**\n * Callback fired when a menu item is selected.\n *\n * @param {object} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value` (string).\n */\n onChange: PropTypes.func,\n /**\n * The input value.\n */\n value: PropTypes.any,\n /**\n * The variant to use.\n */\n variant: PropTypes.oneOf(['standard', 'outlined', 'filled'])\n} : void 0;\nexport default NativeSelectInput;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nvar _span;\nconst _excluded = [\"children\", \"classes\", \"className\", \"label\", \"notched\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst NotchedOutlineRoot = styled('fieldset', {\n shouldForwardProp: rootShouldForwardProp\n})({\n textAlign: 'left',\n position: 'absolute',\n bottom: 0,\n right: 0,\n top: -5,\n left: 0,\n margin: 0,\n padding: '0 8px',\n pointerEvents: 'none',\n borderRadius: 'inherit',\n borderStyle: 'solid',\n borderWidth: 1,\n overflow: 'hidden',\n minWidth: '0%'\n});\nconst NotchedOutlineLegend = styled('legend', {\n shouldForwardProp: rootShouldForwardProp\n})(({\n ownerState,\n theme\n}) => _extends({\n float: 'unset',\n // Fix conflict with bootstrap\n width: 'auto',\n // Fix conflict with bootstrap\n overflow: 'hidden'\n}, !ownerState.withLabel && {\n padding: 0,\n lineHeight: '11px',\n // sync with `height` in `legend` styles\n transition: theme.transitions.create('width', {\n duration: 150,\n easing: theme.transitions.easing.easeOut\n })\n}, ownerState.withLabel && _extends({\n display: 'block',\n // Fix conflict with normalize.css and sanitize.css\n padding: 0,\n height: 11,\n // sync with `lineHeight` in `legend` styles\n fontSize: '0.75em',\n visibility: 'hidden',\n maxWidth: 0.01,\n transition: theme.transitions.create('max-width', {\n duration: 50,\n easing: theme.transitions.easing.easeOut\n }),\n whiteSpace: 'nowrap',\n '& > span': {\n paddingLeft: 5,\n paddingRight: 5,\n display: 'inline-block',\n opacity: 0,\n visibility: 'visible'\n }\n}, ownerState.notched && {\n maxWidth: '100%',\n transition: theme.transitions.create('max-width', {\n duration: 100,\n easing: theme.transitions.easing.easeOut,\n delay: 50\n })\n})));\n\n/**\n * @ignore - internal component.\n */\nexport default function NotchedOutline(props) {\n const {\n className,\n label,\n notched\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const withLabel = label != null && label !== '';\n const ownerState = _extends({}, props, {\n notched,\n withLabel\n });\n return /*#__PURE__*/_jsx(NotchedOutlineRoot, _extends({\n \"aria-hidden\": true,\n className: className,\n ownerState: ownerState\n }, other, {\n children: /*#__PURE__*/_jsx(NotchedOutlineLegend, {\n ownerState: ownerState,\n children: withLabel ? /*#__PURE__*/_jsx(\"span\", {\n children: label\n }) : // notranslate needed while Google Translate will not fix zero-width space issue\n _span || (_span = /*#__PURE__*/_jsx(\"span\", {\n className: \"notranslate\",\n children: \"\\u200B\"\n }))\n })\n }));\n}\nprocess.env.NODE_ENV !== \"production\" ? NotchedOutline.propTypes = {\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The label.\n */\n label: PropTypes.node,\n /**\n * If `true`, the outline is notched to accommodate the label.\n */\n notched: PropTypes.bool.isRequired,\n /**\n * @ignore\n */\n style: PropTypes.object\n} : void 0;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"components\", \"fullWidth\", \"inputComponent\", \"label\", \"multiline\", \"notched\", \"slots\", \"type\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport refType from '@mui/utils/refType';\nimport composeClasses from '@mui/utils/composeClasses';\nimport NotchedOutline from './NotchedOutline';\nimport useFormControl from '../FormControl/useFormControl';\nimport formControlState from '../FormControl/formControlState';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport outlinedInputClasses, { getOutlinedInputUtilityClass } from './outlinedInputClasses';\nimport InputBase, { rootOverridesResolver as inputBaseRootOverridesResolver, inputOverridesResolver as inputBaseInputOverridesResolver, InputBaseRoot, InputBaseComponent as InputBaseInput } from '../InputBase/InputBase';\nimport useThemeProps from '../styles/useThemeProps';\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root'],\n notchedOutline: ['notchedOutline'],\n input: ['input']\n };\n const composedClasses = composeClasses(slots, getOutlinedInputUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\nconst OutlinedInputRoot = styled(InputBaseRoot, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiOutlinedInput',\n slot: 'Root',\n overridesResolver: inputBaseRootOverridesResolver\n})(({\n theme,\n ownerState\n}) => {\n const borderColor = theme.palette.mode === 'light' ? 'rgba(0, 0, 0, 0.23)' : 'rgba(255, 255, 255, 0.23)';\n return _extends({\n position: 'relative',\n borderRadius: (theme.vars || theme).shape.borderRadius,\n [`&:hover .${outlinedInputClasses.notchedOutline}`]: {\n borderColor: (theme.vars || theme).palette.text.primary\n },\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n [`&:hover .${outlinedInputClasses.notchedOutline}`]: {\n borderColor: theme.vars ? `rgba(${theme.vars.palette.common.onBackgroundChannel} / 0.23)` : borderColor\n }\n },\n [`&.${outlinedInputClasses.focused} .${outlinedInputClasses.notchedOutline}`]: {\n borderColor: (theme.vars || theme).palette[ownerState.color].main,\n borderWidth: 2\n },\n [`&.${outlinedInputClasses.error} .${outlinedInputClasses.notchedOutline}`]: {\n borderColor: (theme.vars || theme).palette.error.main\n },\n [`&.${outlinedInputClasses.disabled} .${outlinedInputClasses.notchedOutline}`]: {\n borderColor: (theme.vars || theme).palette.action.disabled\n }\n }, ownerState.startAdornment && {\n paddingLeft: 14\n }, ownerState.endAdornment && {\n paddingRight: 14\n }, ownerState.multiline && _extends({\n padding: '16.5px 14px'\n }, ownerState.size === 'small' && {\n padding: '8.5px 14px'\n }));\n});\nconst NotchedOutlineRoot = styled(NotchedOutline, {\n name: 'MuiOutlinedInput',\n slot: 'NotchedOutline',\n overridesResolver: (props, styles) => styles.notchedOutline\n})(({\n theme\n}) => {\n const borderColor = theme.palette.mode === 'light' ? 'rgba(0, 0, 0, 0.23)' : 'rgba(255, 255, 255, 0.23)';\n return {\n borderColor: theme.vars ? `rgba(${theme.vars.palette.common.onBackgroundChannel} / 0.23)` : borderColor\n };\n});\nconst OutlinedInputInput = styled(InputBaseInput, {\n name: 'MuiOutlinedInput',\n slot: 'Input',\n overridesResolver: inputBaseInputOverridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({\n padding: '16.5px 14px'\n}, !theme.vars && {\n '&:-webkit-autofill': {\n WebkitBoxShadow: theme.palette.mode === 'light' ? null : '0 0 0 100px #266798 inset',\n WebkitTextFillColor: theme.palette.mode === 'light' ? null : '#fff',\n caretColor: theme.palette.mode === 'light' ? null : '#fff',\n borderRadius: 'inherit'\n }\n}, theme.vars && {\n '&:-webkit-autofill': {\n borderRadius: 'inherit'\n },\n [theme.getColorSchemeSelector('dark')]: {\n '&:-webkit-autofill': {\n WebkitBoxShadow: '0 0 0 100px #266798 inset',\n WebkitTextFillColor: '#fff',\n caretColor: '#fff'\n }\n }\n}, ownerState.size === 'small' && {\n padding: '8.5px 14px'\n}, ownerState.multiline && {\n padding: 0\n}, ownerState.startAdornment && {\n paddingLeft: 0\n}, ownerState.endAdornment && {\n paddingRight: 0\n}));\nconst OutlinedInput = /*#__PURE__*/React.forwardRef(function OutlinedInput(inProps, ref) {\n var _ref, _slots$root, _ref2, _slots$input, _React$Fragment;\n const props = useThemeProps({\n props: inProps,\n name: 'MuiOutlinedInput'\n });\n const {\n components = {},\n fullWidth = false,\n inputComponent = 'input',\n label,\n multiline = false,\n notched,\n slots = {},\n type = 'text'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const classes = useUtilityClasses(props);\n const muiFormControl = useFormControl();\n const fcs = formControlState({\n props,\n muiFormControl,\n states: ['color', 'disabled', 'error', 'focused', 'hiddenLabel', 'size', 'required']\n });\n const ownerState = _extends({}, props, {\n color: fcs.color || 'primary',\n disabled: fcs.disabled,\n error: fcs.error,\n focused: fcs.focused,\n formControl: muiFormControl,\n fullWidth,\n hiddenLabel: fcs.hiddenLabel,\n multiline,\n size: fcs.size,\n type\n });\n const RootSlot = (_ref = (_slots$root = slots.root) != null ? _slots$root : components.Root) != null ? _ref : OutlinedInputRoot;\n const InputSlot = (_ref2 = (_slots$input = slots.input) != null ? _slots$input : components.Input) != null ? _ref2 : OutlinedInputInput;\n return /*#__PURE__*/_jsx(InputBase, _extends({\n slots: {\n root: RootSlot,\n input: InputSlot\n },\n renderSuffix: state => /*#__PURE__*/_jsx(NotchedOutlineRoot, {\n ownerState: ownerState,\n className: classes.notchedOutline,\n label: label != null && label !== '' && fcs.required ? _React$Fragment || (_React$Fragment = /*#__PURE__*/_jsxs(React.Fragment, {\n children: [label, \"\\u2009\", '*']\n })) : label,\n notched: typeof notched !== 'undefined' ? notched : Boolean(state.startAdornment || state.filled || state.focused)\n }),\n fullWidth: fullWidth,\n inputComponent: inputComponent,\n multiline: multiline,\n ref: ref,\n type: type\n }, other, {\n classes: _extends({}, classes, {\n notchedOutline: null\n })\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? OutlinedInput.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * This prop helps users to fill forms faster, especially on mobile devices.\n * The name can be confusing, as it's more like an autofill.\n * You can learn more about it [following the specification](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill).\n */\n autoComplete: PropTypes.string,\n /**\n * If `true`, the `input` element is focused during the first mount.\n */\n autoFocus: PropTypes.bool,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * The prop defaults to the value (`'primary'`) inherited from the parent FormControl component.\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['primary', 'secondary']), PropTypes.string]),\n /**\n * The components used for each slot inside.\n *\n * This prop is an alias for the `slots` prop.\n * It's recommended to use the `slots` prop instead.\n *\n * @default {}\n */\n components: PropTypes.shape({\n Input: PropTypes.elementType,\n Root: PropTypes.elementType\n }),\n /**\n * The default value. Use when the component is not controlled.\n */\n defaultValue: PropTypes.any,\n /**\n * If `true`, the component is disabled.\n * The prop defaults to the value (`false`) inherited from the parent FormControl component.\n */\n disabled: PropTypes.bool,\n /**\n * End `InputAdornment` for this component.\n */\n endAdornment: PropTypes.node,\n /**\n * If `true`, the `input` will indicate an error.\n * The prop defaults to the value (`false`) inherited from the parent FormControl component.\n */\n error: PropTypes.bool,\n /**\n * If `true`, the `input` will take up the full width of its container.\n * @default false\n */\n fullWidth: PropTypes.bool,\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n /**\n * The component used for the `input` element.\n * Either a string to use a HTML element or a component.\n * @default 'input'\n */\n inputComponent: PropTypes.elementType,\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n * @default {}\n */\n inputProps: PropTypes.object,\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n /**\n * The label of the `input`. It is only used for layout. The actual labelling\n * is handled by `InputLabel`.\n */\n label: PropTypes.node,\n /**\n * If `dense`, will adjust vertical spacing. This is normally obtained via context from\n * FormControl.\n * The prop defaults to the value (`'none'`) inherited from the parent FormControl component.\n */\n margin: PropTypes.oneOf(['dense', 'none']),\n /**\n * Maximum number of rows to display when multiline option is set to true.\n */\n maxRows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * Minimum number of rows to display when multiline option is set to true.\n */\n minRows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * If `true`, a [TextareaAutosize](/material-ui/react-textarea-autosize/) element is rendered.\n * @default false\n */\n multiline: PropTypes.bool,\n /**\n * Name attribute of the `input` element.\n */\n name: PropTypes.string,\n /**\n * If `true`, the outline is notched to accommodate the label.\n */\n notched: PropTypes.bool,\n /**\n * Callback fired when the value is changed.\n *\n * @param {React.ChangeEvent<HTMLTextAreaElement | HTMLInputElement>} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value` (string).\n */\n onChange: PropTypes.func,\n /**\n * The short hint displayed in the `input` before the user enters a value.\n */\n placeholder: PropTypes.string,\n /**\n * It prevents the user from changing the value of the field\n * (not from interacting with the field).\n */\n readOnly: PropTypes.bool,\n /**\n * If `true`, the `input` element is required.\n * The prop defaults to the value (`false`) inherited from the parent FormControl component.\n */\n required: PropTypes.bool,\n /**\n * Number of rows to display when multiline option is set to true.\n */\n rows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * The components used for each slot inside.\n *\n * This prop is an alias for the `components` prop, which will be deprecated in the future.\n *\n * @default {}\n */\n slots: PropTypes.shape({\n input: PropTypes.elementType,\n root: PropTypes.elementType\n }),\n /**\n * Start `InputAdornment` for this component.\n */\n startAdornment: PropTypes.node,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * Type of the `input` element. It should be [a valid HTML5 input type](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Form_%3Cinput%3E_types).\n * @default 'text'\n */\n type: PropTypes.string,\n /**\n * The value of the `input` element, required for a controlled component.\n */\n value: PropTypes.any\n} : void 0;\nOutlinedInput.muiName = 'Input';\nexport default OutlinedInput;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getPaginationUtilityClass(slot) {\n return generateUtilityClass('MuiPagination', slot);\n}\nconst paginationClasses = generateUtilityClasses('MuiPagination', ['root', 'ul', 'outlined', 'text']);\nexport default paginationClasses;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"boundaryCount\", \"componentName\", \"count\", \"defaultPage\", \"disabled\", \"hideNextButton\", \"hidePrevButton\", \"onChange\", \"page\", \"showFirstButton\", \"showLastButton\", \"siblingCount\"];\nimport useControlled from '@mui/utils/useControlled';\nexport default function usePagination(props = {}) {\n // keep default values in sync with @default tags in Pagination.propTypes\n const {\n boundaryCount = 1,\n componentName = 'usePagination',\n count = 1,\n defaultPage = 1,\n disabled = false,\n hideNextButton = false,\n hidePrevButton = false,\n onChange: handleChange,\n page: pageProp,\n showFirstButton = false,\n showLastButton = false,\n siblingCount = 1\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const [page, setPageState] = useControlled({\n controlled: pageProp,\n default: defaultPage,\n name: componentName,\n state: 'page'\n });\n const handleClick = (event, value) => {\n if (!pageProp) {\n setPageState(value);\n }\n if (handleChange) {\n handleChange(event, value);\n }\n };\n\n // https://dev.to/namirsab/comment/2050\n const range = (start, end) => {\n const length = end - start + 1;\n return Array.from({\n length\n }, (_, i) => start + i);\n };\n const startPages = range(1, Math.min(boundaryCount, count));\n const endPages = range(Math.max(count - boundaryCount + 1, boundaryCount + 1), count);\n const siblingsStart = Math.max(Math.min(\n // Natural start\n page - siblingCount,\n // Lower boundary when page is high\n count - boundaryCount - siblingCount * 2 - 1),\n // Greater than startPages\n boundaryCount + 2);\n const siblingsEnd = Math.min(Math.max(\n // Natural end\n page + siblingCount,\n // Upper boundary when page is low\n boundaryCount + siblingCount * 2 + 2),\n // Less than endPages\n endPages.length > 0 ? endPages[0] - 2 : count - 1);\n\n // Basic list of items to render\n // for example itemList = ['first', 'previous', 1, 'ellipsis', 4, 5, 6, 'ellipsis', 10, 'next', 'last']\n const itemList = [...(showFirstButton ? ['first'] : []), ...(hidePrevButton ? [] : ['previous']), ...startPages,\n // Start ellipsis\n // eslint-disable-next-line no-nested-ternary\n ...(siblingsStart > boundaryCount + 2 ? ['start-ellipsis'] : boundaryCount + 1 < count - boundaryCount ? [boundaryCount + 1] : []),\n // Sibling pages\n ...range(siblingsStart, siblingsEnd),\n // End ellipsis\n // eslint-disable-next-line no-nested-ternary\n ...(siblingsEnd < count - boundaryCount - 1 ? ['end-ellipsis'] : count - boundaryCount > boundaryCount ? [count - boundaryCount] : []), ...endPages, ...(hideNextButton ? [] : ['next']), ...(showLastButton ? ['last'] : [])];\n\n // Map the button type to its page number\n const buttonPage = type => {\n switch (type) {\n case 'first':\n return 1;\n case 'previous':\n return page - 1;\n case 'next':\n return page + 1;\n case 'last':\n return count;\n default:\n return null;\n }\n };\n\n // Convert the basic item list to PaginationItem props objects\n const items = itemList.map(item => {\n return typeof item === 'number' ? {\n onClick: event => {\n handleClick(event, item);\n },\n type: 'page',\n page: item,\n selected: item === page,\n disabled,\n 'aria-current': item === page ? 'true' : undefined\n } : {\n onClick: event => {\n handleClick(event, buttonPage(item));\n },\n type: item,\n page: buttonPage(item),\n selected: false,\n disabled: disabled || item.indexOf('ellipsis') === -1 && (item === 'next' || item === 'last' ? page >= count : page <= 1)\n };\n });\n return _extends({\n items\n }, other);\n}","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getPaginationItemUtilityClass(slot) {\n return generateUtilityClass('MuiPaginationItem', slot);\n}\nconst paginationItemClasses = generateUtilityClasses('MuiPaginationItem', ['root', 'page', 'sizeSmall', 'sizeLarge', 'text', 'textPrimary', 'textSecondary', 'outlined', 'outlinedPrimary', 'outlinedSecondary', 'rounded', 'ellipsis', 'firstLast', 'previousNext', 'focusVisible', 'disabled', 'selected', 'icon', 'colorPrimary', 'colorSecondary']);\nexport default paginationItemClasses;","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M18.41 16.59L13.82 12l4.59-4.59L17 6l-6 6 6 6zM6 6h2v12H6z\"\n}), 'FirstPage');","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M5.59 7.41L10.18 12l-4.59 4.59L7 18l6-6-6-6zM16 6h2v12h-2z\"\n}), 'LastPage');","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z\"\n}), 'NavigateBefore');","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z\"\n}), 'NavigateNext');","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"color\", \"component\", \"components\", \"disabled\", \"page\", \"selected\", \"shape\", \"size\", \"slots\", \"type\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { alpha } from '@mui/system/colorManipulator';\nimport { useRtl } from '@mui/system/RtlProvider';\nimport useThemeProps from '../styles/useThemeProps';\nimport paginationItemClasses, { getPaginationItemUtilityClass } from './paginationItemClasses';\nimport ButtonBase from '../ButtonBase';\nimport capitalize from '../utils/capitalize';\nimport FirstPageIcon from '../internal/svg-icons/FirstPage';\nimport LastPageIcon from '../internal/svg-icons/LastPage';\nimport NavigateBeforeIcon from '../internal/svg-icons/NavigateBefore';\nimport NavigateNextIcon from '../internal/svg-icons/NavigateNext';\nimport styled from '../styles/styled';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[ownerState.variant], styles[`size${capitalize(ownerState.size)}`], ownerState.variant === 'text' && styles[`text${capitalize(ownerState.color)}`], ownerState.variant === 'outlined' && styles[`outlined${capitalize(ownerState.color)}`], ownerState.shape === 'rounded' && styles.rounded, ownerState.type === 'page' && styles.page, (ownerState.type === 'start-ellipsis' || ownerState.type === 'end-ellipsis') && styles.ellipsis, (ownerState.type === 'previous' || ownerState.type === 'next') && styles.previousNext, (ownerState.type === 'first' || ownerState.type === 'last') && styles.firstLast];\n};\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n color,\n disabled,\n selected,\n size,\n shape,\n type,\n variant\n } = ownerState;\n const slots = {\n root: ['root', `size${capitalize(size)}`, variant, shape, color !== 'standard' && `color${capitalize(color)}`, color !== 'standard' && `${variant}${capitalize(color)}`, disabled && 'disabled', selected && 'selected', {\n page: 'page',\n first: 'firstLast',\n last: 'firstLast',\n 'start-ellipsis': 'ellipsis',\n 'end-ellipsis': 'ellipsis',\n previous: 'previousNext',\n next: 'previousNext'\n }[type]],\n icon: ['icon']\n };\n return composeClasses(slots, getPaginationItemUtilityClass, classes);\n};\nconst PaginationItemEllipsis = styled('div', {\n name: 'MuiPaginationItem',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({}, theme.typography.body2, {\n borderRadius: 32 / 2,\n textAlign: 'center',\n boxSizing: 'border-box',\n minWidth: 32,\n padding: '0 6px',\n margin: '0 3px',\n color: (theme.vars || theme).palette.text.primary,\n height: 'auto',\n [`&.${paginationItemClasses.disabled}`]: {\n opacity: (theme.vars || theme).palette.action.disabledOpacity\n }\n}, ownerState.size === 'small' && {\n minWidth: 26,\n borderRadius: 26 / 2,\n margin: '0 1px',\n padding: '0 4px'\n}, ownerState.size === 'large' && {\n minWidth: 40,\n borderRadius: 40 / 2,\n padding: '0 10px',\n fontSize: theme.typography.pxToRem(15)\n}));\nconst PaginationItemPage = styled(ButtonBase, {\n name: 'MuiPaginationItem',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({}, theme.typography.body2, {\n borderRadius: 32 / 2,\n textAlign: 'center',\n boxSizing: 'border-box',\n minWidth: 32,\n height: 32,\n padding: '0 6px',\n margin: '0 3px',\n color: (theme.vars || theme).palette.text.primary,\n [`&.${paginationItemClasses.focusVisible}`]: {\n backgroundColor: (theme.vars || theme).palette.action.focus\n },\n [`&.${paginationItemClasses.disabled}`]: {\n opacity: (theme.vars || theme).palette.action.disabledOpacity\n },\n transition: theme.transitions.create(['color', 'background-color'], {\n duration: theme.transitions.duration.short\n }),\n '&:hover': {\n backgroundColor: (theme.vars || theme).palette.action.hover,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${paginationItemClasses.selected}`]: {\n backgroundColor: (theme.vars || theme).palette.action.selected,\n '&:hover': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.action.selectedChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.hoverOpacity}))` : alpha(theme.palette.action.selected, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: (theme.vars || theme).palette.action.selected\n }\n },\n [`&.${paginationItemClasses.focusVisible}`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.action.selectedChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.focusOpacity}))` : alpha(theme.palette.action.selected, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)\n },\n [`&.${paginationItemClasses.disabled}`]: {\n opacity: 1,\n color: (theme.vars || theme).palette.action.disabled,\n backgroundColor: (theme.vars || theme).palette.action.selected\n }\n }\n}, ownerState.size === 'small' && {\n minWidth: 26,\n height: 26,\n borderRadius: 26 / 2,\n margin: '0 1px',\n padding: '0 4px'\n}, ownerState.size === 'large' && {\n minWidth: 40,\n height: 40,\n borderRadius: 40 / 2,\n padding: '0 10px',\n fontSize: theme.typography.pxToRem(15)\n}, ownerState.shape === 'rounded' && {\n borderRadius: (theme.vars || theme).shape.borderRadius\n}), ({\n theme,\n ownerState\n}) => _extends({}, ownerState.variant === 'text' && {\n [`&.${paginationItemClasses.selected}`]: _extends({}, ownerState.color !== 'standard' && {\n color: (theme.vars || theme).palette[ownerState.color].contrastText,\n backgroundColor: (theme.vars || theme).palette[ownerState.color].main,\n '&:hover': {\n backgroundColor: (theme.vars || theme).palette[ownerState.color].dark,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: (theme.vars || theme).palette[ownerState.color].main\n }\n },\n [`&.${paginationItemClasses.focusVisible}`]: {\n backgroundColor: (theme.vars || theme).palette[ownerState.color].dark\n }\n }, {\n [`&.${paginationItemClasses.disabled}`]: {\n color: (theme.vars || theme).palette.action.disabled\n }\n })\n}, ownerState.variant === 'outlined' && {\n border: theme.vars ? `1px solid rgba(${theme.vars.palette.common.onBackgroundChannel} / 0.23)` : `1px solid ${theme.palette.mode === 'light' ? 'rgba(0, 0, 0, 0.23)' : 'rgba(255, 255, 255, 0.23)'}`,\n [`&.${paginationItemClasses.selected}`]: _extends({}, ownerState.color !== 'standard' && {\n color: (theme.vars || theme).palette[ownerState.color].main,\n border: `1px solid ${theme.vars ? `rgba(${theme.vars.palette[ownerState.color].mainChannel} / 0.5)` : alpha(theme.palette[ownerState.color].main, 0.5)}`,\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette[ownerState.color].mainChannel} / ${theme.vars.palette.action.activatedOpacity})` : alpha(theme.palette[ownerState.color].main, theme.palette.action.activatedOpacity),\n '&:hover': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette[ownerState.color].mainChannel} / calc(${theme.vars.palette.action.activatedOpacity} + ${theme.vars.palette.action.focusOpacity}))` : alpha(theme.palette[ownerState.color].main, theme.palette.action.activatedOpacity + theme.palette.action.focusOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${paginationItemClasses.focusVisible}`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette[ownerState.color].mainChannel} / calc(${theme.vars.palette.action.activatedOpacity} + ${theme.vars.palette.action.focusOpacity}))` : alpha(theme.palette[ownerState.color].main, theme.palette.action.activatedOpacity + theme.palette.action.focusOpacity)\n }\n }, {\n [`&.${paginationItemClasses.disabled}`]: {\n borderColor: (theme.vars || theme).palette.action.disabledBackground,\n color: (theme.vars || theme).palette.action.disabled\n }\n })\n}));\nconst PaginationItemPageIcon = styled('div', {\n name: 'MuiPaginationItem',\n slot: 'Icon',\n overridesResolver: (props, styles) => styles.icon\n})(({\n theme,\n ownerState\n}) => _extends({\n fontSize: theme.typography.pxToRem(20),\n margin: '0 -8px'\n}, ownerState.size === 'small' && {\n fontSize: theme.typography.pxToRem(18)\n}, ownerState.size === 'large' && {\n fontSize: theme.typography.pxToRem(22)\n}));\nconst PaginationItem = /*#__PURE__*/React.forwardRef(function PaginationItem(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiPaginationItem'\n });\n const {\n className,\n color = 'standard',\n component,\n components = {},\n disabled = false,\n page,\n selected = false,\n shape = 'circular',\n size = 'medium',\n slots = {},\n type = 'page',\n variant = 'text'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n color,\n disabled,\n selected,\n shape,\n size,\n type,\n variant\n });\n const isRtl = useRtl();\n const classes = useUtilityClasses(ownerState);\n const normalizedIcons = isRtl ? {\n previous: slots.next || components.next || NavigateNextIcon,\n next: slots.previous || components.previous || NavigateBeforeIcon,\n last: slots.first || components.first || FirstPageIcon,\n first: slots.last || components.last || LastPageIcon\n } : {\n previous: slots.previous || components.previous || NavigateBeforeIcon,\n next: slots.next || components.next || NavigateNextIcon,\n first: slots.first || components.first || FirstPageIcon,\n last: slots.last || components.last || LastPageIcon\n };\n const Icon = normalizedIcons[type];\n return type === 'start-ellipsis' || type === 'end-ellipsis' ? /*#__PURE__*/_jsx(PaginationItemEllipsis, {\n ref: ref,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n children: \"\\u2026\"\n }) : /*#__PURE__*/_jsxs(PaginationItemPage, _extends({\n ref: ref,\n ownerState: ownerState,\n component: component,\n disabled: disabled,\n className: clsx(classes.root, className)\n }, other, {\n children: [type === 'page' && page, Icon ? /*#__PURE__*/_jsx(PaginationItemPageIcon, {\n as: Icon,\n ownerState: ownerState,\n className: classes.icon\n }) : null]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? PaginationItem.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * @ignore\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The active color.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * @default 'standard'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['primary', 'secondary', 'standard']), PropTypes.string]),\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * The components used for each slot inside.\n *\n * This prop is an alias for the `slots` prop.\n * It's recommended to use the `slots` prop instead.\n *\n * @default {}\n */\n components: PropTypes.shape({\n first: PropTypes.elementType,\n last: PropTypes.elementType,\n next: PropTypes.elementType,\n previous: PropTypes.elementType\n }),\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * The current page number.\n */\n page: PropTypes.node,\n /**\n * If `true` the pagination item is selected.\n * @default false\n */\n selected: PropTypes.bool,\n /**\n * The shape of the pagination item.\n * @default 'circular'\n */\n shape: PropTypes.oneOf(['circular', 'rounded']),\n /**\n * The size of the component.\n * @default 'medium'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['small', 'medium', 'large']), PropTypes.string]),\n /**\n * The components used for each slot inside.\n *\n * This prop is an alias for the `components` prop, which will be deprecated in the future.\n *\n * @default {}\n */\n slots: PropTypes.shape({\n first: PropTypes.elementType,\n last: PropTypes.elementType,\n next: PropTypes.elementType,\n previous: PropTypes.elementType\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The type of pagination item.\n * @default 'page'\n */\n type: PropTypes.oneOf(['end-ellipsis', 'first', 'last', 'next', 'page', 'previous', 'start-ellipsis']),\n /**\n * The variant to use.\n * @default 'text'\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['outlined', 'text']), PropTypes.string])\n} : void 0;\nexport default PaginationItem;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"boundaryCount\", \"className\", \"color\", \"count\", \"defaultPage\", \"disabled\", \"getItemAriaLabel\", \"hideNextButton\", \"hidePrevButton\", \"onChange\", \"page\", \"renderItem\", \"shape\", \"showFirstButton\", \"showLastButton\", \"siblingCount\", \"size\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport integerPropType from '@mui/utils/integerPropType';\nimport useThemeProps from '../styles/useThemeProps';\nimport { getPaginationUtilityClass } from './paginationClasses';\nimport usePagination from '../usePagination';\nimport PaginationItem from '../PaginationItem';\nimport styled from '../styles/styled';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n variant\n } = ownerState;\n const slots = {\n root: ['root', variant],\n ul: ['ul']\n };\n return composeClasses(slots, getPaginationUtilityClass, classes);\n};\nconst PaginationRoot = styled('nav', {\n name: 'MuiPagination',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[ownerState.variant]];\n }\n})({});\nconst PaginationUl = styled('ul', {\n name: 'MuiPagination',\n slot: 'Ul',\n overridesResolver: (props, styles) => styles.ul\n})({\n display: 'flex',\n flexWrap: 'wrap',\n alignItems: 'center',\n padding: 0,\n margin: 0,\n listStyle: 'none'\n});\nfunction defaultGetAriaLabel(type, page, selected) {\n if (type === 'page') {\n return `${selected ? '' : 'Go to '}page ${page}`;\n }\n return `Go to ${type} page`;\n}\nconst Pagination = /*#__PURE__*/React.forwardRef(function Pagination(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiPagination'\n });\n const {\n boundaryCount = 1,\n className,\n color = 'standard',\n count = 1,\n defaultPage = 1,\n disabled = false,\n getItemAriaLabel = defaultGetAriaLabel,\n hideNextButton = false,\n hidePrevButton = false,\n renderItem = item => /*#__PURE__*/_jsx(PaginationItem, _extends({}, item)),\n shape = 'circular',\n showFirstButton = false,\n showLastButton = false,\n siblingCount = 1,\n size = 'medium',\n variant = 'text'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const {\n items\n } = usePagination(_extends({}, props, {\n componentName: 'Pagination'\n }));\n const ownerState = _extends({}, props, {\n boundaryCount,\n color,\n count,\n defaultPage,\n disabled,\n getItemAriaLabel,\n hideNextButton,\n hidePrevButton,\n renderItem,\n shape,\n showFirstButton,\n showLastButton,\n siblingCount,\n size,\n variant\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(PaginationRoot, _extends({\n \"aria-label\": \"pagination navigation\",\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref\n }, other, {\n children: /*#__PURE__*/_jsx(PaginationUl, {\n className: classes.ul,\n ownerState: ownerState,\n children: items.map((item, index) => /*#__PURE__*/_jsx(\"li\", {\n children: renderItem(_extends({}, item, {\n color,\n 'aria-label': getItemAriaLabel(item.type, item.page, item.selected),\n shape,\n size,\n variant\n }))\n }, index))\n })\n }));\n});\n\n// @default tags synced with default values from usePagination\n\nprocess.env.NODE_ENV !== \"production\" ? Pagination.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Number of always visible pages at the beginning and end.\n * @default 1\n */\n boundaryCount: integerPropType,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The active color.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * @default 'standard'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['primary', 'secondary', 'standard']), PropTypes.string]),\n /**\n * The total number of pages.\n * @default 1\n */\n count: integerPropType,\n /**\n * The page selected by default when the component is uncontrolled.\n * @default 1\n */\n defaultPage: integerPropType,\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * Accepts a function which returns a string value that provides a user-friendly name for the current page.\n * This is important for screen reader users.\n *\n * For localization purposes, you can use the provided [translations](/material-ui/guides/localization/).\n * @param {string} type The link or button type to format ('page' | 'first' | 'last' | 'next' | 'previous' | 'start-ellipsis' | 'end-ellipsis'). Defaults to 'page'.\n * @param {number} page The page number to format.\n * @param {bool} selected If true, the current page is selected.\n * @returns {string}\n */\n getItemAriaLabel: PropTypes.func,\n /**\n * If `true`, hide the next-page button.\n * @default false\n */\n hideNextButton: PropTypes.bool,\n /**\n * If `true`, hide the previous-page button.\n * @default false\n */\n hidePrevButton: PropTypes.bool,\n /**\n * Callback fired when the page is changed.\n *\n * @param {React.ChangeEvent<unknown>} event The event source of the callback.\n * @param {number} page The page selected.\n */\n onChange: PropTypes.func,\n /**\n * The current page.\n */\n page: integerPropType,\n /**\n * Render the item.\n * @param {PaginationRenderItemParams} params The props to spread on a PaginationItem.\n * @returns {ReactNode}\n * @default (item) => <PaginationItem {...item} />\n */\n renderItem: PropTypes.func,\n /**\n * The shape of the pagination items.\n * @default 'circular'\n */\n shape: PropTypes.oneOf(['circular', 'rounded']),\n /**\n * If `true`, show the first-page button.\n * @default false\n */\n showFirstButton: PropTypes.bool,\n /**\n * If `true`, show the last-page button.\n * @default false\n */\n showLastButton: PropTypes.bool,\n /**\n * Number of always visible pages before and after the current page.\n * @default 1\n */\n siblingCount: integerPropType,\n /**\n * The size of the component.\n * @default 'medium'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['small', 'medium', 'large']), PropTypes.string]),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The variant to use.\n * @default 'text'\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['outlined', 'text']), PropTypes.string])\n} : void 0;\nexport default Pagination;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getScopedCssBaselineUtilityClass(slot) {\n return generateUtilityClass('MuiScopedCssBaseline', slot);\n}\nconst scopedCssBaselineClasses = generateUtilityClasses('MuiScopedCssBaseline', ['root']);\nexport default scopedCssBaselineClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"component\", \"enableColorScheme\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport { html, body } from '../CssBaseline/CssBaseline';\nimport { getScopedCssBaselineUtilityClass } from './scopedCssBaselineClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getScopedCssBaselineUtilityClass, classes);\n};\nconst ScopedCssBaselineRoot = styled('div', {\n name: 'MuiScopedCssBaseline',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})(({\n theme,\n ownerState\n}) => {\n const colorSchemeStyles = {};\n if (ownerState.enableColorScheme && theme.colorSchemes) {\n Object.entries(theme.colorSchemes).forEach(([key, scheme]) => {\n var _scheme$palette;\n colorSchemeStyles[`&${theme.getColorSchemeSelector(key).replace(/\\s*&/, '')}`] = {\n colorScheme: (_scheme$palette = scheme.palette) == null ? void 0 : _scheme$palette.mode\n };\n });\n }\n return _extends({}, html(theme, ownerState.enableColorScheme), body(theme), {\n '& *, & *::before, & *::after': {\n boxSizing: 'inherit'\n },\n '& strong, & b': {\n fontWeight: theme.typography.fontWeightBold\n }\n }, colorSchemeStyles);\n});\nconst ScopedCssBaseline = /*#__PURE__*/React.forwardRef(function ScopedCssBaseline(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiScopedCssBaseline'\n });\n const {\n className,\n component = 'div'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n component\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(ScopedCssBaselineRoot, _extends({\n as: component,\n className: clsx(classes.root, className),\n ref: ref,\n ownerState: ownerState\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? ScopedCssBaseline.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * Enable `color-scheme` CSS property to use `theme.palette.mode`.\n * For more details, check out https://developer.mozilla.org/en-US/docs/Web/CSS/color-scheme\n * For browser support, check out https://caniuse.com/?search=color-scheme\n */\n enableColorScheme: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default ScopedCssBaseline;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getSelectUtilityClasses(slot) {\n return generateUtilityClass('MuiSelect', slot);\n}\nconst selectClasses = generateUtilityClasses('MuiSelect', ['root', 'select', 'multiple', 'filled', 'outlined', 'standard', 'disabled', 'focused', 'icon', 'iconOpen', 'iconFilled', 'iconOutlined', 'iconStandard', 'nativeInput', 'error']);\nexport default selectClasses;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _formatMuiErrorMessage from \"@mui/utils/formatMuiErrorMessage\";\nvar _span;\nconst _excluded = [\"aria-describedby\", \"aria-label\", \"autoFocus\", \"autoWidth\", \"children\", \"className\", \"defaultOpen\", \"defaultValue\", \"disabled\", \"displayEmpty\", \"error\", \"IconComponent\", \"inputRef\", \"labelId\", \"MenuProps\", \"multiple\", \"name\", \"onBlur\", \"onChange\", \"onClose\", \"onFocus\", \"onOpen\", \"open\", \"readOnly\", \"renderValue\", \"SelectDisplayProps\", \"tabIndex\", \"type\", \"value\", \"variant\"];\nimport * as React from 'react';\nimport { isFragment } from 'react-is';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport useId from '@mui/utils/useId';\nimport refType from '@mui/utils/refType';\nimport ownerDocument from '../utils/ownerDocument';\nimport capitalize from '../utils/capitalize';\nimport Menu from '../Menu/Menu';\nimport { nativeSelectSelectStyles, nativeSelectIconStyles } from '../NativeSelect/NativeSelectInput';\nimport { isFilled } from '../InputBase/utils';\nimport styled, { slotShouldForwardProp } from '../styles/styled';\nimport useForkRef from '../utils/useForkRef';\nimport useControlled from '../utils/useControlled';\nimport selectClasses, { getSelectUtilityClasses } from './selectClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst SelectSelect = styled('div', {\n name: 'MuiSelect',\n slot: 'Select',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [\n // Win specificity over the input base\n {\n [`&.${selectClasses.select}`]: styles.select\n }, {\n [`&.${selectClasses.select}`]: styles[ownerState.variant]\n }, {\n [`&.${selectClasses.error}`]: styles.error\n }, {\n [`&.${selectClasses.multiple}`]: styles.multiple\n }];\n }\n})(nativeSelectSelectStyles, {\n // Win specificity over the input base\n [`&.${selectClasses.select}`]: {\n height: 'auto',\n // Resets for multiple select with chips\n minHeight: '1.4375em',\n // Required for select\\text-field height consistency\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n overflow: 'hidden'\n }\n});\nconst SelectIcon = styled('svg', {\n name: 'MuiSelect',\n slot: 'Icon',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.icon, ownerState.variant && styles[`icon${capitalize(ownerState.variant)}`], ownerState.open && styles.iconOpen];\n }\n})(nativeSelectIconStyles);\nconst SelectNativeInput = styled('input', {\n shouldForwardProp: prop => slotShouldForwardProp(prop) && prop !== 'classes',\n name: 'MuiSelect',\n slot: 'NativeInput',\n overridesResolver: (props, styles) => styles.nativeInput\n})({\n bottom: 0,\n left: 0,\n position: 'absolute',\n opacity: 0,\n pointerEvents: 'none',\n width: '100%',\n boxSizing: 'border-box'\n});\nfunction areEqualValues(a, b) {\n if (typeof b === 'object' && b !== null) {\n return a === b;\n }\n\n // The value could be a number, the DOM will stringify it anyway.\n return String(a) === String(b);\n}\nfunction isEmpty(display) {\n return display == null || typeof display === 'string' && !display.trim();\n}\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n variant,\n disabled,\n multiple,\n open,\n error\n } = ownerState;\n const slots = {\n select: ['select', variant, disabled && 'disabled', multiple && 'multiple', error && 'error'],\n icon: ['icon', `icon${capitalize(variant)}`, open && 'iconOpen', disabled && 'disabled'],\n nativeInput: ['nativeInput']\n };\n return composeClasses(slots, getSelectUtilityClasses, classes);\n};\n\n/**\n * @ignore - internal component.\n */\nconst SelectInput = /*#__PURE__*/React.forwardRef(function SelectInput(props, ref) {\n var _MenuProps$slotProps;\n const {\n 'aria-describedby': ariaDescribedby,\n 'aria-label': ariaLabel,\n autoFocus,\n autoWidth,\n children,\n className,\n defaultOpen,\n defaultValue,\n disabled,\n displayEmpty,\n error = false,\n IconComponent,\n inputRef: inputRefProp,\n labelId,\n MenuProps = {},\n multiple,\n name,\n onBlur,\n onChange,\n onClose,\n onFocus,\n onOpen,\n open: openProp,\n readOnly,\n renderValue,\n SelectDisplayProps = {},\n tabIndex: tabIndexProp\n // catching `type` from Input which makes no sense for SelectInput\n ,\n\n value: valueProp,\n variant = 'standard'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const [value, setValueState] = useControlled({\n controlled: valueProp,\n default: defaultValue,\n name: 'Select'\n });\n const [openState, setOpenState] = useControlled({\n controlled: openProp,\n default: defaultOpen,\n name: 'Select'\n });\n const inputRef = React.useRef(null);\n const displayRef = React.useRef(null);\n const [displayNode, setDisplayNode] = React.useState(null);\n const {\n current: isOpenControlled\n } = React.useRef(openProp != null);\n const [menuMinWidthState, setMenuMinWidthState] = React.useState();\n const handleRef = useForkRef(ref, inputRefProp);\n const handleDisplayRef = React.useCallback(node => {\n displayRef.current = node;\n if (node) {\n setDisplayNode(node);\n }\n }, []);\n const anchorElement = displayNode == null ? void 0 : displayNode.parentNode;\n React.useImperativeHandle(handleRef, () => ({\n focus: () => {\n displayRef.current.focus();\n },\n node: inputRef.current,\n value\n }), [value]);\n\n // Resize menu on `defaultOpen` automatic toggle.\n React.useEffect(() => {\n if (defaultOpen && openState && displayNode && !isOpenControlled) {\n setMenuMinWidthState(autoWidth ? null : anchorElement.clientWidth);\n displayRef.current.focus();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [displayNode, autoWidth]);\n // `isOpenControlled` is ignored because the component should never switch between controlled and uncontrolled modes.\n // `defaultOpen` and `openState` are ignored to avoid unnecessary callbacks.\n React.useEffect(() => {\n if (autoFocus) {\n displayRef.current.focus();\n }\n }, [autoFocus]);\n React.useEffect(() => {\n if (!labelId) {\n return undefined;\n }\n const label = ownerDocument(displayRef.current).getElementById(labelId);\n if (label) {\n const handler = () => {\n if (getSelection().isCollapsed) {\n displayRef.current.focus();\n }\n };\n label.addEventListener('click', handler);\n return () => {\n label.removeEventListener('click', handler);\n };\n }\n return undefined;\n }, [labelId]);\n const update = (open, event) => {\n if (open) {\n if (onOpen) {\n onOpen(event);\n }\n } else if (onClose) {\n onClose(event);\n }\n if (!isOpenControlled) {\n setMenuMinWidthState(autoWidth ? null : anchorElement.clientWidth);\n setOpenState(open);\n }\n };\n const handleMouseDown = event => {\n // Ignore everything but left-click\n if (event.button !== 0) {\n return;\n }\n // Hijack the default focus behavior.\n event.preventDefault();\n displayRef.current.focus();\n update(true, event);\n };\n const handleClose = event => {\n update(false, event);\n };\n const childrenArray = React.Children.toArray(children);\n\n // Support autofill.\n const handleChange = event => {\n const child = childrenArray.find(childItem => childItem.props.value === event.target.value);\n if (child === undefined) {\n return;\n }\n setValueState(child.props.value);\n if (onChange) {\n onChange(event, child);\n }\n };\n const handleItemClick = child => event => {\n let newValue;\n\n // We use the tabindex attribute to signal the available options.\n if (!event.currentTarget.hasAttribute('tabindex')) {\n return;\n }\n if (multiple) {\n newValue = Array.isArray(value) ? value.slice() : [];\n const itemIndex = value.indexOf(child.props.value);\n if (itemIndex === -1) {\n newValue.push(child.props.value);\n } else {\n newValue.splice(itemIndex, 1);\n }\n } else {\n newValue = child.props.value;\n }\n if (child.props.onClick) {\n child.props.onClick(event);\n }\n if (value !== newValue) {\n setValueState(newValue);\n if (onChange) {\n // Redefine target to allow name and value to be read.\n // This allows seamless integration with the most popular form libraries.\n // https://github.com/mui/material-ui/issues/13485#issuecomment-676048492\n // Clone the event to not override `target` of the original event.\n const nativeEvent = event.nativeEvent || event;\n const clonedEvent = new nativeEvent.constructor(nativeEvent.type, nativeEvent);\n Object.defineProperty(clonedEvent, 'target', {\n writable: true,\n value: {\n value: newValue,\n name\n }\n });\n onChange(clonedEvent, child);\n }\n }\n if (!multiple) {\n update(false, event);\n }\n };\n const handleKeyDown = event => {\n if (!readOnly) {\n const validKeys = [' ', 'ArrowUp', 'ArrowDown',\n // The native select doesn't respond to enter on macOS, but it's recommended by\n // https://www.w3.org/WAI/ARIA/apg/patterns/combobox/examples/combobox-select-only/\n 'Enter'];\n if (validKeys.indexOf(event.key) !== -1) {\n event.preventDefault();\n update(true, event);\n }\n }\n };\n const open = displayNode !== null && openState;\n const handleBlur = event => {\n // if open event.stopImmediatePropagation\n if (!open && onBlur) {\n // Preact support, target is read only property on a native event.\n Object.defineProperty(event, 'target', {\n writable: true,\n value: {\n value,\n name\n }\n });\n onBlur(event);\n }\n };\n delete other['aria-invalid'];\n let display;\n let displaySingle;\n const displayMultiple = [];\n let computeDisplay = false;\n let foundMatch = false;\n\n // No need to display any value if the field is empty.\n if (isFilled({\n value\n }) || displayEmpty) {\n if (renderValue) {\n display = renderValue(value);\n } else {\n computeDisplay = true;\n }\n }\n const items = childrenArray.map(child => {\n if (! /*#__PURE__*/React.isValidElement(child)) {\n return null;\n }\n if (process.env.NODE_ENV !== 'production') {\n if (isFragment(child)) {\n console.error([\"MUI: The Select component doesn't accept a Fragment as a child.\", 'Consider providing an array instead.'].join('\\n'));\n }\n }\n let selected;\n if (multiple) {\n if (!Array.isArray(value)) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: The \\`value\\` prop must be an array when using the \\`Select\\` component with \\`multiple\\`.` : _formatMuiErrorMessage(2));\n }\n selected = value.some(v => areEqualValues(v, child.props.value));\n if (selected && computeDisplay) {\n displayMultiple.push(child.props.children);\n }\n } else {\n selected = areEqualValues(value, child.props.value);\n if (selected && computeDisplay) {\n displaySingle = child.props.children;\n }\n }\n if (selected) {\n foundMatch = true;\n }\n return /*#__PURE__*/React.cloneElement(child, {\n 'aria-selected': selected ? 'true' : 'false',\n onClick: handleItemClick(child),\n onKeyUp: event => {\n if (event.key === ' ') {\n // otherwise our MenuItems dispatches a click event\n // it's not behavior of the native <option> and causes\n // the select to close immediately since we open on space keydown\n event.preventDefault();\n }\n if (child.props.onKeyUp) {\n child.props.onKeyUp(event);\n }\n },\n role: 'option',\n selected,\n value: undefined,\n // The value is most likely not a valid HTML attribute.\n 'data-value': child.props.value // Instead, we provide it as a data attribute.\n });\n });\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useEffect(() => {\n if (!foundMatch && !multiple && value !== '') {\n const values = childrenArray.map(child => child.props.value);\n console.warn([`MUI: You have provided an out-of-range value \\`${value}\\` for the select ${name ? `(name=\"${name}\") ` : ''}component.`, \"Consider providing a value that matches one of the available options or ''.\", `The available values are ${values.filter(x => x != null).map(x => `\\`${x}\\``).join(', ') || '\"\"'}.`].join('\\n'));\n }\n }, [foundMatch, childrenArray, multiple, name, value]);\n }\n if (computeDisplay) {\n if (multiple) {\n if (displayMultiple.length === 0) {\n display = null;\n } else {\n display = displayMultiple.reduce((output, child, index) => {\n output.push(child);\n if (index < displayMultiple.length - 1) {\n output.push(', ');\n }\n return output;\n }, []);\n }\n } else {\n display = displaySingle;\n }\n }\n\n // Avoid performing a layout computation in the render method.\n let menuMinWidth = menuMinWidthState;\n if (!autoWidth && isOpenControlled && displayNode) {\n menuMinWidth = anchorElement.clientWidth;\n }\n let tabIndex;\n if (typeof tabIndexProp !== 'undefined') {\n tabIndex = tabIndexProp;\n } else {\n tabIndex = disabled ? null : 0;\n }\n const buttonId = SelectDisplayProps.id || (name ? `mui-component-select-${name}` : undefined);\n const ownerState = _extends({}, props, {\n variant,\n value,\n open,\n error\n });\n const classes = useUtilityClasses(ownerState);\n const paperProps = _extends({}, MenuProps.PaperProps, (_MenuProps$slotProps = MenuProps.slotProps) == null ? void 0 : _MenuProps$slotProps.paper);\n const listboxId = useId();\n return /*#__PURE__*/_jsxs(React.Fragment, {\n children: [/*#__PURE__*/_jsx(SelectSelect, _extends({\n ref: handleDisplayRef,\n tabIndex: tabIndex,\n role: \"combobox\",\n \"aria-controls\": listboxId,\n \"aria-disabled\": disabled ? 'true' : undefined,\n \"aria-expanded\": open ? 'true' : 'false',\n \"aria-haspopup\": \"listbox\",\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": [labelId, buttonId].filter(Boolean).join(' ') || undefined,\n \"aria-describedby\": ariaDescribedby,\n onKeyDown: handleKeyDown,\n onMouseDown: disabled || readOnly ? null : handleMouseDown,\n onBlur: handleBlur,\n onFocus: onFocus\n }, SelectDisplayProps, {\n ownerState: ownerState,\n className: clsx(SelectDisplayProps.className, classes.select, className)\n // The id is required for proper a11y\n ,\n id: buttonId,\n children: isEmpty(display) ? // notranslate needed while Google Translate will not fix zero-width space issue\n _span || (_span = /*#__PURE__*/_jsx(\"span\", {\n className: \"notranslate\",\n children: \"\\u200B\"\n })) : display\n })), /*#__PURE__*/_jsx(SelectNativeInput, _extends({\n \"aria-invalid\": error,\n value: Array.isArray(value) ? value.join(',') : value,\n name: name,\n ref: inputRef,\n \"aria-hidden\": true,\n onChange: handleChange,\n tabIndex: -1,\n disabled: disabled,\n className: classes.nativeInput,\n autoFocus: autoFocus,\n ownerState: ownerState\n }, other)), /*#__PURE__*/_jsx(SelectIcon, {\n as: IconComponent,\n className: classes.icon,\n ownerState: ownerState\n }), /*#__PURE__*/_jsx(Menu, _extends({\n id: `menu-${name || ''}`,\n anchorEl: anchorElement,\n open: open,\n onClose: handleClose,\n anchorOrigin: {\n vertical: 'bottom',\n horizontal: 'center'\n },\n transformOrigin: {\n vertical: 'top',\n horizontal: 'center'\n }\n }, MenuProps, {\n MenuListProps: _extends({\n 'aria-labelledby': labelId,\n role: 'listbox',\n 'aria-multiselectable': multiple ? 'true' : undefined,\n disableListWrap: true,\n id: listboxId\n }, MenuProps.MenuListProps),\n slotProps: _extends({}, MenuProps.slotProps, {\n paper: _extends({}, paperProps, {\n style: _extends({\n minWidth: menuMinWidth\n }, paperProps != null ? paperProps.style : null)\n })\n }),\n children: items\n }))]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? SelectInput.propTypes = {\n /**\n * @ignore\n */\n 'aria-describedby': PropTypes.string,\n /**\n * @ignore\n */\n 'aria-label': PropTypes.string,\n /**\n * @ignore\n */\n autoFocus: PropTypes.bool,\n /**\n * If `true`, the width of the popover will automatically be set according to the items inside the\n * menu, otherwise it will be at least the width of the select input.\n */\n autoWidth: PropTypes.bool,\n /**\n * The option elements to populate the select with.\n * Can be some `<MenuItem>` elements.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * The CSS class name of the select element.\n */\n className: PropTypes.string,\n /**\n * If `true`, the component is toggled on mount. Use when the component open state is not controlled.\n * You can only use it when the `native` prop is `false` (default).\n */\n defaultOpen: PropTypes.bool,\n /**\n * The default value. Use when the component is not controlled.\n */\n defaultValue: PropTypes.any,\n /**\n * If `true`, the select is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the selected item is displayed even if its value is empty.\n */\n displayEmpty: PropTypes.bool,\n /**\n * If `true`, the `select input` will indicate an error.\n */\n error: PropTypes.bool,\n /**\n * The icon that displays the arrow.\n */\n IconComponent: PropTypes.elementType.isRequired,\n /**\n * Imperative handle implementing `{ value: T, node: HTMLElement, focus(): void }`\n * Equivalent to `ref`\n */\n inputRef: refType,\n /**\n * The ID of an element that acts as an additional label. The Select will\n * be labelled by the additional label and the selected value.\n */\n labelId: PropTypes.string,\n /**\n * Props applied to the [`Menu`](/material-ui/api/menu/) element.\n */\n MenuProps: PropTypes.object,\n /**\n * If `true`, `value` must be an array and the menu will support multiple selections.\n */\n multiple: PropTypes.bool,\n /**\n * Name attribute of the `select` or hidden `input` element.\n */\n name: PropTypes.string,\n /**\n * @ignore\n */\n onBlur: PropTypes.func,\n /**\n * Callback fired when a menu item is selected.\n *\n * @param {object} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value` (any).\n * @param {object} [child] The react element that was selected.\n */\n onChange: PropTypes.func,\n /**\n * Callback fired when the component requests to be closed.\n * Use in controlled mode (see open).\n *\n * @param {object} event The event source of the callback.\n */\n onClose: PropTypes.func,\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n /**\n * Callback fired when the component requests to be opened.\n * Use in controlled mode (see open).\n *\n * @param {object} event The event source of the callback.\n */\n onOpen: PropTypes.func,\n /**\n * If `true`, the component is shown.\n */\n open: PropTypes.bool,\n /**\n * @ignore\n */\n readOnly: PropTypes.bool,\n /**\n * Render the selected value.\n *\n * @param {any} value The `value` provided to the component.\n * @returns {ReactNode}\n */\n renderValue: PropTypes.func,\n /**\n * Props applied to the clickable div element.\n */\n SelectDisplayProps: PropTypes.object,\n /**\n * @ignore\n */\n tabIndex: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * @ignore\n */\n type: PropTypes.any,\n /**\n * The input value.\n */\n value: PropTypes.any,\n /**\n * The variant to use.\n */\n variant: PropTypes.oneOf(['standard', 'outlined', 'filled'])\n} : void 0;\nexport default SelectInput;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"autoWidth\", \"children\", \"classes\", \"className\", \"defaultOpen\", \"displayEmpty\", \"IconComponent\", \"id\", \"input\", \"inputProps\", \"label\", \"labelId\", \"MenuProps\", \"multiple\", \"native\", \"onClose\", \"onOpen\", \"open\", \"renderValue\", \"SelectDisplayProps\", \"variant\"],\n _excluded2 = [\"root\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport deepmerge from '@mui/utils/deepmerge';\nimport SelectInput from './SelectInput';\nimport formControlState from '../FormControl/formControlState';\nimport useFormControl from '../FormControl/useFormControl';\nimport ArrowDropDownIcon from '../internal/svg-icons/ArrowDropDown';\nimport Input from '../Input';\nimport NativeSelectInput from '../NativeSelect/NativeSelectInput';\nimport FilledInput from '../FilledInput';\nimport OutlinedInput from '../OutlinedInput';\nimport useThemeProps from '../styles/useThemeProps';\nimport useForkRef from '../utils/useForkRef';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n return classes;\n};\nconst styledRootConfig = {\n name: 'MuiSelect',\n overridesResolver: (props, styles) => styles.root,\n shouldForwardProp: prop => rootShouldForwardProp(prop) && prop !== 'variant',\n slot: 'Root'\n};\nconst StyledInput = styled(Input, styledRootConfig)('');\nconst StyledOutlinedInput = styled(OutlinedInput, styledRootConfig)('');\nconst StyledFilledInput = styled(FilledInput, styledRootConfig)('');\nconst Select = /*#__PURE__*/React.forwardRef(function Select(inProps, ref) {\n const props = useThemeProps({\n name: 'MuiSelect',\n props: inProps\n });\n const {\n autoWidth = false,\n children,\n classes: classesProp = {},\n className,\n defaultOpen = false,\n displayEmpty = false,\n IconComponent = ArrowDropDownIcon,\n id,\n input,\n inputProps,\n label,\n labelId,\n MenuProps,\n multiple = false,\n native = false,\n onClose,\n onOpen,\n open,\n renderValue,\n SelectDisplayProps,\n variant: variantProp = 'outlined'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const inputComponent = native ? NativeSelectInput : SelectInput;\n const muiFormControl = useFormControl();\n const fcs = formControlState({\n props,\n muiFormControl,\n states: ['variant', 'error']\n });\n const variant = fcs.variant || variantProp;\n const ownerState = _extends({}, props, {\n variant,\n classes: classesProp\n });\n const classes = useUtilityClasses(ownerState);\n const restOfClasses = _objectWithoutPropertiesLoose(classes, _excluded2);\n const InputComponent = input || {\n standard: /*#__PURE__*/_jsx(StyledInput, {\n ownerState: ownerState\n }),\n outlined: /*#__PURE__*/_jsx(StyledOutlinedInput, {\n label: label,\n ownerState: ownerState\n }),\n filled: /*#__PURE__*/_jsx(StyledFilledInput, {\n ownerState: ownerState\n })\n }[variant];\n const inputComponentRef = useForkRef(ref, InputComponent.ref);\n return /*#__PURE__*/_jsx(React.Fragment, {\n children: /*#__PURE__*/React.cloneElement(InputComponent, _extends({\n // Most of the logic is implemented in `SelectInput`.\n // The `Select` component is a simple API wrapper to expose something better to play with.\n inputComponent,\n inputProps: _extends({\n children,\n error: fcs.error,\n IconComponent,\n variant,\n type: undefined,\n // We render a select. We can ignore the type provided by the `Input`.\n multiple\n }, native ? {\n id\n } : {\n autoWidth,\n defaultOpen,\n displayEmpty,\n labelId,\n MenuProps,\n onClose,\n onOpen,\n open,\n renderValue,\n SelectDisplayProps: _extends({\n id\n }, SelectDisplayProps)\n }, inputProps, {\n classes: inputProps ? deepmerge(restOfClasses, inputProps.classes) : restOfClasses\n }, input ? input.props.inputProps : {})\n }, (multiple && native || displayEmpty) && variant === 'outlined' ? {\n notched: true\n } : {}, {\n ref: inputComponentRef,\n className: clsx(InputComponent.props.className, className, classes.root)\n }, !input && {\n variant\n }, other))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Select.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * If `true`, the width of the popover will automatically be set according to the items inside the\n * menu, otherwise it will be at least the width of the select input.\n * @default false\n */\n autoWidth: PropTypes.bool,\n /**\n * The option elements to populate the select with.\n * Can be some `MenuItem` when `native` is false and `option` when `native` is true.\n *\n * ⚠️The `MenuItem` elements **must** be direct descendants when `native` is false.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n * @default {}\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * If `true`, the component is initially open. Use when the component open state is not controlled (i.e. the `open` prop is not defined).\n * You can only use it when the `native` prop is `false` (default).\n * @default false\n */\n defaultOpen: PropTypes.bool,\n /**\n * The default value. Use when the component is not controlled.\n */\n defaultValue: PropTypes.any,\n /**\n * If `true`, a value is displayed even if no items are selected.\n *\n * In order to display a meaningful value, a function can be passed to the `renderValue` prop which\n * returns the value to be displayed when no items are selected.\n *\n * ⚠️ When using this prop, make sure the label doesn't overlap with the empty displayed value.\n * The label should either be hidden or forced to a shrunk state.\n * @default false\n */\n displayEmpty: PropTypes.bool,\n /**\n * The icon that displays the arrow.\n * @default ArrowDropDownIcon\n */\n IconComponent: PropTypes.elementType,\n /**\n * The `id` of the wrapper element or the `select` element when `native`.\n */\n id: PropTypes.string,\n /**\n * An `Input` element; does not have to be a material-ui specific `Input`.\n */\n input: PropTypes.element,\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n * When `native` is `true`, the attributes are applied on the `select` element.\n */\n inputProps: PropTypes.object,\n /**\n * See [OutlinedInput#label](/material-ui/api/outlined-input/#props)\n */\n label: PropTypes.node,\n /**\n * The ID of an element that acts as an additional label. The Select will\n * be labelled by the additional label and the selected value.\n */\n labelId: PropTypes.string,\n /**\n * Props applied to the [`Menu`](/material-ui/api/menu/) element.\n */\n MenuProps: PropTypes.object,\n /**\n * If `true`, `value` must be an array and the menu will support multiple selections.\n * @default false\n */\n multiple: PropTypes.bool,\n /**\n * If `true`, the component uses a native `select` element.\n * @default false\n */\n native: PropTypes.bool,\n /**\n * Callback fired when a menu item is selected.\n *\n * @param {SelectChangeEvent<Value>} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value` (any).\n * **Warning**: This is a generic event, not a change event, unless the change event is caused by browser autofill.\n * @param {object} [child] The react element that was selected when `native` is `false` (default).\n */\n onChange: PropTypes.func,\n /**\n * Callback fired when the component requests to be closed.\n * Use it in either controlled (see the `open` prop), or uncontrolled mode (to detect when the Select collapses).\n *\n * @param {object} event The event source of the callback.\n */\n onClose: PropTypes.func,\n /**\n * Callback fired when the component requests to be opened.\n * Use it in either controlled (see the `open` prop), or uncontrolled mode (to detect when the Select expands).\n *\n * @param {object} event The event source of the callback.\n */\n onOpen: PropTypes.func,\n /**\n * If `true`, the component is shown.\n * You can only use it when the `native` prop is `false` (default).\n */\n open: PropTypes.bool,\n /**\n * Render the selected value.\n * You can only use it when the `native` prop is `false` (default).\n *\n * @param {any} value The `value` provided to the component.\n * @returns {ReactNode}\n */\n renderValue: PropTypes.func,\n /**\n * Props applied to the clickable div element.\n */\n SelectDisplayProps: PropTypes.object,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The `input` value. Providing an empty string will select no options.\n * Set to an empty string `''` if you don't want any of the available options to be selected.\n *\n * If the value is an object it must have reference equality with the option in order to be selected.\n * If the value is not an object, the string representation must match with the string representation of the option in order to be selected.\n */\n value: PropTypes.oneOfType([PropTypes.oneOf(['']), PropTypes.any]),\n /**\n * The variant to use.\n * @default 'outlined'\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nSelect.muiName = 'Select';\nexport default Select;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getSnackbarContentUtilityClass(slot) {\n return generateUtilityClass('MuiSnackbarContent', slot);\n}\nconst snackbarContentClasses = generateUtilityClasses('MuiSnackbarContent', ['root', 'message', 'action']);\nexport default snackbarContentClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"action\", \"className\", \"message\", \"role\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { emphasize } from '@mui/system/colorManipulator';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport Paper from '../Paper';\nimport { getSnackbarContentUtilityClass } from './snackbarContentClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root'],\n action: ['action'],\n message: ['message']\n };\n return composeClasses(slots, getSnackbarContentUtilityClass, classes);\n};\nconst SnackbarContentRoot = styled(Paper, {\n name: 'MuiSnackbarContent',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})(({\n theme\n}) => {\n const emphasis = theme.palette.mode === 'light' ? 0.8 : 0.98;\n const backgroundColor = emphasize(theme.palette.background.default, emphasis);\n return _extends({}, theme.typography.body2, {\n color: theme.vars ? theme.vars.palette.SnackbarContent.color : theme.palette.getContrastText(backgroundColor),\n backgroundColor: theme.vars ? theme.vars.palette.SnackbarContent.bg : backgroundColor,\n display: 'flex',\n alignItems: 'center',\n flexWrap: 'wrap',\n padding: '6px 16px',\n borderRadius: (theme.vars || theme).shape.borderRadius,\n flexGrow: 1,\n [theme.breakpoints.up('sm')]: {\n flexGrow: 'initial',\n minWidth: 288\n }\n });\n});\nconst SnackbarContentMessage = styled('div', {\n name: 'MuiSnackbarContent',\n slot: 'Message',\n overridesResolver: (props, styles) => styles.message\n})({\n padding: '8px 0'\n});\nconst SnackbarContentAction = styled('div', {\n name: 'MuiSnackbarContent',\n slot: 'Action',\n overridesResolver: (props, styles) => styles.action\n})({\n display: 'flex',\n alignItems: 'center',\n marginLeft: 'auto',\n paddingLeft: 16,\n marginRight: -8\n});\nconst SnackbarContent = /*#__PURE__*/React.forwardRef(function SnackbarContent(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiSnackbarContent'\n });\n const {\n action,\n className,\n message,\n role = 'alert'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = props;\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(SnackbarContentRoot, _extends({\n role: role,\n square: true,\n elevation: 6,\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref\n }, other, {\n children: [/*#__PURE__*/_jsx(SnackbarContentMessage, {\n className: classes.message,\n ownerState: ownerState,\n children: message\n }), action ? /*#__PURE__*/_jsx(SnackbarContentAction, {\n className: classes.action,\n ownerState: ownerState,\n children: action\n }) : null]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? SnackbarContent.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The action to display. It renders after the message, at the end of the snackbar.\n */\n action: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The message to display.\n */\n message: PropTypes.node,\n /**\n * The ARIA role attribute of the element.\n * @default 'alert'\n */\n role: PropTypes /* @typescript-to-proptypes-ignore */.string,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default SnackbarContent;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getSnackbarUtilityClass(slot) {\n return generateUtilityClass('MuiSnackbar', slot);\n}\nconst snackbarClasses = generateUtilityClasses('MuiSnackbar', ['root', 'anchorOriginTopCenter', 'anchorOriginBottomCenter', 'anchorOriginTopRight', 'anchorOriginBottomRight', 'anchorOriginTopLeft', 'anchorOriginBottomLeft']);\nexport default snackbarClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"onEnter\", \"onExited\"],\n _excluded2 = [\"action\", \"anchorOrigin\", \"autoHideDuration\", \"children\", \"className\", \"ClickAwayListenerProps\", \"ContentProps\", \"disableWindowBlurListener\", \"message\", \"onBlur\", \"onClose\", \"onFocus\", \"onMouseEnter\", \"onMouseLeave\", \"open\", \"resumeHideDuration\", \"TransitionComponent\", \"transitionDuration\", \"TransitionProps\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { useSlotProps } from '@mui/base/utils';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { ClickAwayListener } from '@mui/base/ClickAwayListener';\nimport { useSnackbar } from '@mui/base/useSnackbar';\nimport styled from '../styles/styled';\nimport useTheme from '../styles/useTheme';\nimport useThemeProps from '../styles/useThemeProps';\nimport capitalize from '../utils/capitalize';\nimport Grow from '../Grow';\nimport SnackbarContent from '../SnackbarContent';\nimport { getSnackbarUtilityClass } from './snackbarClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n anchorOrigin\n } = ownerState;\n const slots = {\n root: ['root', `anchorOrigin${capitalize(anchorOrigin.vertical)}${capitalize(anchorOrigin.horizontal)}`]\n };\n return composeClasses(slots, getSnackbarUtilityClass, classes);\n};\nconst SnackbarRoot = styled('div', {\n name: 'MuiSnackbar',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`anchorOrigin${capitalize(ownerState.anchorOrigin.vertical)}${capitalize(ownerState.anchorOrigin.horizontal)}`]];\n }\n})(({\n theme,\n ownerState\n}) => {\n const center = {\n left: '50%',\n right: 'auto',\n transform: 'translateX(-50%)'\n };\n return _extends({\n zIndex: (theme.vars || theme).zIndex.snackbar,\n position: 'fixed',\n display: 'flex',\n left: 8,\n right: 8,\n justifyContent: 'center',\n alignItems: 'center'\n }, ownerState.anchorOrigin.vertical === 'top' ? {\n top: 8\n } : {\n bottom: 8\n }, ownerState.anchorOrigin.horizontal === 'left' && {\n justifyContent: 'flex-start'\n }, ownerState.anchorOrigin.horizontal === 'right' && {\n justifyContent: 'flex-end'\n }, {\n [theme.breakpoints.up('sm')]: _extends({}, ownerState.anchorOrigin.vertical === 'top' ? {\n top: 24\n } : {\n bottom: 24\n }, ownerState.anchorOrigin.horizontal === 'center' && center, ownerState.anchorOrigin.horizontal === 'left' && {\n left: 24,\n right: 'auto'\n }, ownerState.anchorOrigin.horizontal === 'right' && {\n right: 24,\n left: 'auto'\n })\n });\n});\nconst Snackbar = /*#__PURE__*/React.forwardRef(function Snackbar(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiSnackbar'\n });\n const theme = useTheme();\n const defaultTransitionDuration = {\n enter: theme.transitions.duration.enteringScreen,\n exit: theme.transitions.duration.leavingScreen\n };\n const {\n action,\n anchorOrigin: {\n vertical,\n horizontal\n } = {\n vertical: 'bottom',\n horizontal: 'left'\n },\n autoHideDuration = null,\n children,\n className,\n ClickAwayListenerProps,\n ContentProps,\n disableWindowBlurListener = false,\n message,\n open,\n TransitionComponent = Grow,\n transitionDuration = defaultTransitionDuration,\n TransitionProps: {\n onEnter,\n onExited\n } = {}\n } = props,\n TransitionProps = _objectWithoutPropertiesLoose(props.TransitionProps, _excluded),\n other = _objectWithoutPropertiesLoose(props, _excluded2);\n const ownerState = _extends({}, props, {\n anchorOrigin: {\n vertical,\n horizontal\n },\n autoHideDuration,\n disableWindowBlurListener,\n TransitionComponent,\n transitionDuration\n });\n const classes = useUtilityClasses(ownerState);\n const {\n getRootProps,\n onClickAway\n } = useSnackbar(_extends({}, ownerState));\n const [exited, setExited] = React.useState(true);\n const rootProps = useSlotProps({\n elementType: SnackbarRoot,\n getSlotProps: getRootProps,\n externalForwardedProps: other,\n ownerState,\n additionalProps: {\n ref\n },\n className: [classes.root, className]\n });\n const handleExited = node => {\n setExited(true);\n if (onExited) {\n onExited(node);\n }\n };\n const handleEnter = (node, isAppearing) => {\n setExited(false);\n if (onEnter) {\n onEnter(node, isAppearing);\n }\n };\n\n // So we only render active snackbars.\n if (!open && exited) {\n return null;\n }\n return /*#__PURE__*/_jsx(ClickAwayListener, _extends({\n onClickAway: onClickAway\n }, ClickAwayListenerProps, {\n children: /*#__PURE__*/_jsx(SnackbarRoot, _extends({}, rootProps, {\n children: /*#__PURE__*/_jsx(TransitionComponent, _extends({\n appear: true,\n in: open,\n timeout: transitionDuration,\n direction: vertical === 'top' ? 'down' : 'up',\n onEnter: handleEnter,\n onExited: handleExited\n }, TransitionProps, {\n children: children || /*#__PURE__*/_jsx(SnackbarContent, _extends({\n message: message,\n action: action\n }, ContentProps))\n }))\n }))\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Snackbar.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The action to display. It renders after the message, at the end of the snackbar.\n */\n action: PropTypes.node,\n /**\n * The anchor of the `Snackbar`.\n * On smaller screens, the component grows to occupy all the available width,\n * the horizontal alignment is ignored.\n * @default { vertical: 'bottom', horizontal: 'left' }\n */\n anchorOrigin: PropTypes.shape({\n horizontal: PropTypes.oneOf(['center', 'left', 'right']).isRequired,\n vertical: PropTypes.oneOf(['bottom', 'top']).isRequired\n }),\n /**\n * The number of milliseconds to wait before automatically calling the\n * `onClose` function. `onClose` should then set the state of the `open`\n * prop to hide the Snackbar. This behavior is disabled by default with\n * the `null` value.\n * @default null\n */\n autoHideDuration: PropTypes.number,\n /**\n * Replace the `SnackbarContent` component.\n */\n children: PropTypes.element,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * Props applied to the `ClickAwayListener` element.\n */\n ClickAwayListenerProps: PropTypes.object,\n /**\n * Props applied to the [`SnackbarContent`](/material-ui/api/snackbar-content/) element.\n */\n ContentProps: PropTypes.object,\n /**\n * If `true`, the `autoHideDuration` timer will expire even if the window is not focused.\n * @default false\n */\n disableWindowBlurListener: PropTypes.bool,\n /**\n * When displaying multiple consecutive snackbars using a single parent-rendered\n * `<Snackbar/>`, add the `key` prop to ensure independent treatment of each message.\n * For instance, use `<Snackbar key={message} />`. Otherwise, messages might update\n * in place, and features like `autoHideDuration` could be affected.\n */\n key: () => null,\n /**\n * The message to display.\n */\n message: PropTypes.node,\n /**\n * @ignore\n */\n onBlur: PropTypes.func,\n /**\n * Callback fired when the component requests to be closed.\n * Typically `onClose` is used to set state in the parent component,\n * which is used to control the `Snackbar` `open` prop.\n * The `reason` parameter can optionally be used to control the response to `onClose`,\n * for example ignoring `clickaway`.\n *\n * @param {React.SyntheticEvent<any> | Event} event The event source of the callback.\n * @param {string} reason Can be: `\"timeout\"` (`autoHideDuration` expired), `\"clickaway\"`, or `\"escapeKeyDown\"`.\n */\n onClose: PropTypes.func,\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n /**\n * @ignore\n */\n onMouseEnter: PropTypes.func,\n /**\n * @ignore\n */\n onMouseLeave: PropTypes.func,\n /**\n * If `true`, the component is shown.\n */\n open: PropTypes.bool,\n /**\n * The number of milliseconds to wait before dismissing after user interaction.\n * If `autoHideDuration` prop isn't specified, it does nothing.\n * If `autoHideDuration` prop is specified but `resumeHideDuration` isn't,\n * we default to `autoHideDuration / 2` ms.\n */\n resumeHideDuration: PropTypes.number,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The component used for the transition.\n * [Follow this guide](/material-ui/transitions/#transitioncomponent-prop) to learn more about the requirements for this component.\n * @default Grow\n */\n TransitionComponent: PropTypes.elementType,\n /**\n * The duration for the transition, in milliseconds.\n * You may specify a single timeout for all transitions, or individually with an object.\n * @default {\n * enter: theme.transitions.duration.enteringScreen,\n * exit: theme.transitions.duration.leavingScreen,\n * }\n */\n transitionDuration: PropTypes.oneOfType([PropTypes.number, PropTypes.shape({\n appear: PropTypes.number,\n enter: PropTypes.number,\n exit: PropTypes.number\n })]),\n /**\n * Props applied to the transition element.\n * By default, the element is based on this [`Transition`](https://reactcommunity.org/react-transition-group/transition/) component.\n * @default {}\n */\n TransitionProps: PropTypes.object\n} : void 0;\nexport default Snackbar;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getTooltipUtilityClass(slot) {\n return generateUtilityClass('MuiTooltip', slot);\n}\nconst tooltipClasses = generateUtilityClasses('MuiTooltip', ['popper', 'popperInteractive', 'popperArrow', 'popperClose', 'tooltip', 'tooltipArrow', 'touch', 'tooltipPlacementLeft', 'tooltipPlacementRight', 'tooltipPlacementTop', 'tooltipPlacementBottom', 'arrow']);\nexport default tooltipClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"arrow\", \"children\", \"classes\", \"components\", \"componentsProps\", \"describeChild\", \"disableFocusListener\", \"disableHoverListener\", \"disableInteractive\", \"disableTouchListener\", \"enterDelay\", \"enterNextDelay\", \"enterTouchDelay\", \"followCursor\", \"id\", \"leaveDelay\", \"leaveTouchDelay\", \"onClose\", \"onOpen\", \"open\", \"placement\", \"PopperComponent\", \"PopperProps\", \"slotProps\", \"slots\", \"title\", \"TransitionComponent\", \"TransitionProps\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport useTimeout, { Timeout } from '@mui/utils/useTimeout';\nimport elementAcceptingRef from '@mui/utils/elementAcceptingRef';\nimport { appendOwnerState } from '@mui/base/utils';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { alpha } from '@mui/system/colorManipulator';\nimport { useRtl } from '@mui/system/RtlProvider';\nimport styled from '../styles/styled';\nimport useTheme from '../styles/useTheme';\nimport useThemeProps from '../styles/useThemeProps';\nimport capitalize from '../utils/capitalize';\nimport Grow from '../Grow';\nimport Popper from '../Popper';\nimport useEventCallback from '../utils/useEventCallback';\nimport useForkRef from '../utils/useForkRef';\nimport useId from '../utils/useId';\nimport useIsFocusVisible from '../utils/useIsFocusVisible';\nimport useControlled from '../utils/useControlled';\nimport tooltipClasses, { getTooltipUtilityClass } from './tooltipClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nfunction round(value) {\n return Math.round(value * 1e5) / 1e5;\n}\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disableInteractive,\n arrow,\n touch,\n placement\n } = ownerState;\n const slots = {\n popper: ['popper', !disableInteractive && 'popperInteractive', arrow && 'popperArrow'],\n tooltip: ['tooltip', arrow && 'tooltipArrow', touch && 'touch', `tooltipPlacement${capitalize(placement.split('-')[0])}`],\n arrow: ['arrow']\n };\n return composeClasses(slots, getTooltipUtilityClass, classes);\n};\nconst TooltipPopper = styled(Popper, {\n name: 'MuiTooltip',\n slot: 'Popper',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.popper, !ownerState.disableInteractive && styles.popperInteractive, ownerState.arrow && styles.popperArrow, !ownerState.open && styles.popperClose];\n }\n})(({\n theme,\n ownerState,\n open\n}) => _extends({\n zIndex: (theme.vars || theme).zIndex.tooltip,\n pointerEvents: 'none'\n}, !ownerState.disableInteractive && {\n pointerEvents: 'auto'\n}, !open && {\n pointerEvents: 'none'\n}, ownerState.arrow && {\n [`&[data-popper-placement*=\"bottom\"] .${tooltipClasses.arrow}`]: {\n top: 0,\n marginTop: '-0.71em',\n '&::before': {\n transformOrigin: '0 100%'\n }\n },\n [`&[data-popper-placement*=\"top\"] .${tooltipClasses.arrow}`]: {\n bottom: 0,\n marginBottom: '-0.71em',\n '&::before': {\n transformOrigin: '100% 0'\n }\n },\n [`&[data-popper-placement*=\"right\"] .${tooltipClasses.arrow}`]: _extends({}, !ownerState.isRtl ? {\n left: 0,\n marginLeft: '-0.71em'\n } : {\n right: 0,\n marginRight: '-0.71em'\n }, {\n height: '1em',\n width: '0.71em',\n '&::before': {\n transformOrigin: '100% 100%'\n }\n }),\n [`&[data-popper-placement*=\"left\"] .${tooltipClasses.arrow}`]: _extends({}, !ownerState.isRtl ? {\n right: 0,\n marginRight: '-0.71em'\n } : {\n left: 0,\n marginLeft: '-0.71em'\n }, {\n height: '1em',\n width: '0.71em',\n '&::before': {\n transformOrigin: '0 0'\n }\n })\n}));\nconst TooltipTooltip = styled('div', {\n name: 'MuiTooltip',\n slot: 'Tooltip',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.tooltip, ownerState.touch && styles.touch, ownerState.arrow && styles.tooltipArrow, styles[`tooltipPlacement${capitalize(ownerState.placement.split('-')[0])}`]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n backgroundColor: theme.vars ? theme.vars.palette.Tooltip.bg : alpha(theme.palette.grey[700], 0.92),\n borderRadius: (theme.vars || theme).shape.borderRadius,\n color: (theme.vars || theme).palette.common.white,\n fontFamily: theme.typography.fontFamily,\n padding: '4px 8px',\n fontSize: theme.typography.pxToRem(11),\n maxWidth: 300,\n margin: 2,\n wordWrap: 'break-word',\n fontWeight: theme.typography.fontWeightMedium\n}, ownerState.arrow && {\n position: 'relative',\n margin: 0\n}, ownerState.touch && {\n padding: '8px 16px',\n fontSize: theme.typography.pxToRem(14),\n lineHeight: `${round(16 / 14)}em`,\n fontWeight: theme.typography.fontWeightRegular\n}, {\n [`.${tooltipClasses.popper}[data-popper-placement*=\"left\"] &`]: _extends({\n transformOrigin: 'right center'\n }, !ownerState.isRtl ? _extends({\n marginRight: '14px'\n }, ownerState.touch && {\n marginRight: '24px'\n }) : _extends({\n marginLeft: '14px'\n }, ownerState.touch && {\n marginLeft: '24px'\n })),\n [`.${tooltipClasses.popper}[data-popper-placement*=\"right\"] &`]: _extends({\n transformOrigin: 'left center'\n }, !ownerState.isRtl ? _extends({\n marginLeft: '14px'\n }, ownerState.touch && {\n marginLeft: '24px'\n }) : _extends({\n marginRight: '14px'\n }, ownerState.touch && {\n marginRight: '24px'\n })),\n [`.${tooltipClasses.popper}[data-popper-placement*=\"top\"] &`]: _extends({\n transformOrigin: 'center bottom',\n marginBottom: '14px'\n }, ownerState.touch && {\n marginBottom: '24px'\n }),\n [`.${tooltipClasses.popper}[data-popper-placement*=\"bottom\"] &`]: _extends({\n transformOrigin: 'center top',\n marginTop: '14px'\n }, ownerState.touch && {\n marginTop: '24px'\n })\n}));\nconst TooltipArrow = styled('span', {\n name: 'MuiTooltip',\n slot: 'Arrow',\n overridesResolver: (props, styles) => styles.arrow\n})(({\n theme\n}) => ({\n overflow: 'hidden',\n position: 'absolute',\n width: '1em',\n height: '0.71em' /* = width / sqrt(2) = (length of the hypotenuse) */,\n boxSizing: 'border-box',\n color: theme.vars ? theme.vars.palette.Tooltip.bg : alpha(theme.palette.grey[700], 0.9),\n '&::before': {\n content: '\"\"',\n margin: 'auto',\n display: 'block',\n width: '100%',\n height: '100%',\n backgroundColor: 'currentColor',\n transform: 'rotate(45deg)'\n }\n}));\nlet hystersisOpen = false;\nconst hystersisTimer = new Timeout();\nlet cursorPosition = {\n x: 0,\n y: 0\n};\nexport function testReset() {\n hystersisOpen = false;\n hystersisTimer.clear();\n}\nfunction composeEventHandler(handler, eventHandler) {\n return (event, ...params) => {\n if (eventHandler) {\n eventHandler(event, ...params);\n }\n handler(event, ...params);\n };\n}\n\n// TODO v6: Remove PopperComponent, PopperProps, TransitionComponent and TransitionProps.\nconst Tooltip = /*#__PURE__*/React.forwardRef(function Tooltip(inProps, ref) {\n var _ref, _slots$popper, _ref2, _ref3, _slots$transition, _ref4, _slots$tooltip, _ref5, _slots$arrow, _slotProps$popper, _ref6, _slotProps$popper2, _slotProps$transition, _slotProps$tooltip, _ref7, _slotProps$tooltip2, _slotProps$arrow, _ref8, _slotProps$arrow2;\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTooltip'\n });\n const {\n arrow = false,\n children: childrenProp,\n components = {},\n componentsProps = {},\n describeChild = false,\n disableFocusListener = false,\n disableHoverListener = false,\n disableInteractive: disableInteractiveProp = false,\n disableTouchListener = false,\n enterDelay = 100,\n enterNextDelay = 0,\n enterTouchDelay = 700,\n followCursor = false,\n id: idProp,\n leaveDelay = 0,\n leaveTouchDelay = 1500,\n onClose,\n onOpen,\n open: openProp,\n placement = 'bottom',\n PopperComponent: PopperComponentProp,\n PopperProps = {},\n slotProps = {},\n slots = {},\n title,\n TransitionComponent: TransitionComponentProp = Grow,\n TransitionProps\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n // to prevent runtime errors, developers will need to provide a child as a React element anyway.\n const children = /*#__PURE__*/React.isValidElement(childrenProp) ? childrenProp : /*#__PURE__*/_jsx(\"span\", {\n children: childrenProp\n });\n const theme = useTheme();\n const isRtl = useRtl();\n const [childNode, setChildNode] = React.useState();\n const [arrowRef, setArrowRef] = React.useState(null);\n const ignoreNonTouchEvents = React.useRef(false);\n const disableInteractive = disableInteractiveProp || followCursor;\n const closeTimer = useTimeout();\n const enterTimer = useTimeout();\n const leaveTimer = useTimeout();\n const touchTimer = useTimeout();\n const [openState, setOpenState] = useControlled({\n controlled: openProp,\n default: false,\n name: 'Tooltip',\n state: 'open'\n });\n let open = openState;\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const {\n current: isControlled\n } = React.useRef(openProp !== undefined);\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useEffect(() => {\n if (childNode && childNode.disabled && !isControlled && title !== '' && childNode.tagName.toLowerCase() === 'button') {\n console.error(['MUI: You are providing a disabled `button` child to the Tooltip component.', 'A disabled element does not fire events.', \"Tooltip needs to listen to the child element's events to display the title.\", '', 'Add a simple wrapper element, such as a `span`.'].join('\\n'));\n }\n }, [title, childNode, isControlled]);\n }\n const id = useId(idProp);\n const prevUserSelect = React.useRef();\n const stopTouchInteraction = useEventCallback(() => {\n if (prevUserSelect.current !== undefined) {\n document.body.style.WebkitUserSelect = prevUserSelect.current;\n prevUserSelect.current = undefined;\n }\n touchTimer.clear();\n });\n React.useEffect(() => stopTouchInteraction, [stopTouchInteraction]);\n const handleOpen = event => {\n hystersisTimer.clear();\n hystersisOpen = true;\n\n // The mouseover event will trigger for every nested element in the tooltip.\n // We can skip rerendering when the tooltip is already open.\n // We are using the mouseover event instead of the mouseenter event to fix a hide/show issue.\n setOpenState(true);\n if (onOpen && !open) {\n onOpen(event);\n }\n };\n const handleClose = useEventCallback(\n /**\n * @param {React.SyntheticEvent | Event} event\n */\n event => {\n hystersisTimer.start(800 + leaveDelay, () => {\n hystersisOpen = false;\n });\n setOpenState(false);\n if (onClose && open) {\n onClose(event);\n }\n closeTimer.start(theme.transitions.duration.shortest, () => {\n ignoreNonTouchEvents.current = false;\n });\n });\n const handleMouseOver = event => {\n if (ignoreNonTouchEvents.current && event.type !== 'touchstart') {\n return;\n }\n\n // Remove the title ahead of time.\n // We don't want to wait for the next render commit.\n // We would risk displaying two tooltips at the same time (native + this one).\n if (childNode) {\n childNode.removeAttribute('title');\n }\n enterTimer.clear();\n leaveTimer.clear();\n if (enterDelay || hystersisOpen && enterNextDelay) {\n enterTimer.start(hystersisOpen ? enterNextDelay : enterDelay, () => {\n handleOpen(event);\n });\n } else {\n handleOpen(event);\n }\n };\n const handleMouseLeave = event => {\n enterTimer.clear();\n leaveTimer.start(leaveDelay, () => {\n handleClose(event);\n });\n };\n const {\n isFocusVisibleRef,\n onBlur: handleBlurVisible,\n onFocus: handleFocusVisible,\n ref: focusVisibleRef\n } = useIsFocusVisible();\n // We don't necessarily care about the focusVisible state (which is safe to access via ref anyway).\n // We just need to re-render the Tooltip if the focus-visible state changes.\n const [, setChildIsFocusVisible] = React.useState(false);\n const handleBlur = event => {\n handleBlurVisible(event);\n if (isFocusVisibleRef.current === false) {\n setChildIsFocusVisible(false);\n handleMouseLeave(event);\n }\n };\n const handleFocus = event => {\n // Workaround for https://github.com/facebook/react/issues/7769\n // The autoFocus of React might trigger the event before the componentDidMount.\n // We need to account for this eventuality.\n if (!childNode) {\n setChildNode(event.currentTarget);\n }\n handleFocusVisible(event);\n if (isFocusVisibleRef.current === true) {\n setChildIsFocusVisible(true);\n handleMouseOver(event);\n }\n };\n const detectTouchStart = event => {\n ignoreNonTouchEvents.current = true;\n const childrenProps = children.props;\n if (childrenProps.onTouchStart) {\n childrenProps.onTouchStart(event);\n }\n };\n const handleTouchStart = event => {\n detectTouchStart(event);\n leaveTimer.clear();\n closeTimer.clear();\n stopTouchInteraction();\n prevUserSelect.current = document.body.style.WebkitUserSelect;\n // Prevent iOS text selection on long-tap.\n document.body.style.WebkitUserSelect = 'none';\n touchTimer.start(enterTouchDelay, () => {\n document.body.style.WebkitUserSelect = prevUserSelect.current;\n handleMouseOver(event);\n });\n };\n const handleTouchEnd = event => {\n if (children.props.onTouchEnd) {\n children.props.onTouchEnd(event);\n }\n stopTouchInteraction();\n leaveTimer.start(leaveTouchDelay, () => {\n handleClose(event);\n });\n };\n React.useEffect(() => {\n if (!open) {\n return undefined;\n }\n\n /**\n * @param {KeyboardEvent} nativeEvent\n */\n function handleKeyDown(nativeEvent) {\n // IE11, Edge (prior to using Bink?) use 'Esc'\n if (nativeEvent.key === 'Escape' || nativeEvent.key === 'Esc') {\n handleClose(nativeEvent);\n }\n }\n document.addEventListener('keydown', handleKeyDown);\n return () => {\n document.removeEventListener('keydown', handleKeyDown);\n };\n }, [handleClose, open]);\n const handleRef = useForkRef(children.ref, focusVisibleRef, setChildNode, ref);\n\n // There is no point in displaying an empty tooltip.\n // So we exclude all falsy values, except 0, which is valid.\n if (!title && title !== 0) {\n open = false;\n }\n const popperRef = React.useRef();\n const handleMouseMove = event => {\n const childrenProps = children.props;\n if (childrenProps.onMouseMove) {\n childrenProps.onMouseMove(event);\n }\n cursorPosition = {\n x: event.clientX,\n y: event.clientY\n };\n if (popperRef.current) {\n popperRef.current.update();\n }\n };\n const nameOrDescProps = {};\n const titleIsString = typeof title === 'string';\n if (describeChild) {\n nameOrDescProps.title = !open && titleIsString && !disableHoverListener ? title : null;\n nameOrDescProps['aria-describedby'] = open ? id : null;\n } else {\n nameOrDescProps['aria-label'] = titleIsString ? title : null;\n nameOrDescProps['aria-labelledby'] = open && !titleIsString ? id : null;\n }\n const childrenProps = _extends({}, nameOrDescProps, other, children.props, {\n className: clsx(other.className, children.props.className),\n onTouchStart: detectTouchStart,\n ref: handleRef\n }, followCursor ? {\n onMouseMove: handleMouseMove\n } : {});\n if (process.env.NODE_ENV !== 'production') {\n childrenProps['data-mui-internal-clone-element'] = true;\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useEffect(() => {\n if (childNode && !childNode.getAttribute('data-mui-internal-clone-element')) {\n console.error(['MUI: The `children` component of the Tooltip is not forwarding its props correctly.', 'Please make sure that props are spread on the same element that the ref is applied to.'].join('\\n'));\n }\n }, [childNode]);\n }\n const interactiveWrapperListeners = {};\n if (!disableTouchListener) {\n childrenProps.onTouchStart = handleTouchStart;\n childrenProps.onTouchEnd = handleTouchEnd;\n }\n if (!disableHoverListener) {\n childrenProps.onMouseOver = composeEventHandler(handleMouseOver, childrenProps.onMouseOver);\n childrenProps.onMouseLeave = composeEventHandler(handleMouseLeave, childrenProps.onMouseLeave);\n if (!disableInteractive) {\n interactiveWrapperListeners.onMouseOver = handleMouseOver;\n interactiveWrapperListeners.onMouseLeave = handleMouseLeave;\n }\n }\n if (!disableFocusListener) {\n childrenProps.onFocus = composeEventHandler(handleFocus, childrenProps.onFocus);\n childrenProps.onBlur = composeEventHandler(handleBlur, childrenProps.onBlur);\n if (!disableInteractive) {\n interactiveWrapperListeners.onFocus = handleFocus;\n interactiveWrapperListeners.onBlur = handleBlur;\n }\n }\n if (process.env.NODE_ENV !== 'production') {\n if (children.props.title) {\n console.error(['MUI: You have provided a `title` prop to the child of <Tooltip />.', `Remove this title prop \\`${children.props.title}\\` or the Tooltip component.`].join('\\n'));\n }\n }\n const popperOptions = React.useMemo(() => {\n var _PopperProps$popperOp;\n let tooltipModifiers = [{\n name: 'arrow',\n enabled: Boolean(arrowRef),\n options: {\n element: arrowRef,\n padding: 4\n }\n }];\n if ((_PopperProps$popperOp = PopperProps.popperOptions) != null && _PopperProps$popperOp.modifiers) {\n tooltipModifiers = tooltipModifiers.concat(PopperProps.popperOptions.modifiers);\n }\n return _extends({}, PopperProps.popperOptions, {\n modifiers: tooltipModifiers\n });\n }, [arrowRef, PopperProps]);\n const ownerState = _extends({}, props, {\n isRtl,\n arrow,\n disableInteractive,\n placement,\n PopperComponentProp,\n touch: ignoreNonTouchEvents.current\n });\n const classes = useUtilityClasses(ownerState);\n const PopperComponent = (_ref = (_slots$popper = slots.popper) != null ? _slots$popper : components.Popper) != null ? _ref : TooltipPopper;\n const TransitionComponent = (_ref2 = (_ref3 = (_slots$transition = slots.transition) != null ? _slots$transition : components.Transition) != null ? _ref3 : TransitionComponentProp) != null ? _ref2 : Grow;\n const TooltipComponent = (_ref4 = (_slots$tooltip = slots.tooltip) != null ? _slots$tooltip : components.Tooltip) != null ? _ref4 : TooltipTooltip;\n const ArrowComponent = (_ref5 = (_slots$arrow = slots.arrow) != null ? _slots$arrow : components.Arrow) != null ? _ref5 : TooltipArrow;\n const popperProps = appendOwnerState(PopperComponent, _extends({}, PopperProps, (_slotProps$popper = slotProps.popper) != null ? _slotProps$popper : componentsProps.popper, {\n className: clsx(classes.popper, PopperProps == null ? void 0 : PopperProps.className, (_ref6 = (_slotProps$popper2 = slotProps.popper) != null ? _slotProps$popper2 : componentsProps.popper) == null ? void 0 : _ref6.className)\n }), ownerState);\n const transitionProps = appendOwnerState(TransitionComponent, _extends({}, TransitionProps, (_slotProps$transition = slotProps.transition) != null ? _slotProps$transition : componentsProps.transition), ownerState);\n const tooltipProps = appendOwnerState(TooltipComponent, _extends({}, (_slotProps$tooltip = slotProps.tooltip) != null ? _slotProps$tooltip : componentsProps.tooltip, {\n className: clsx(classes.tooltip, (_ref7 = (_slotProps$tooltip2 = slotProps.tooltip) != null ? _slotProps$tooltip2 : componentsProps.tooltip) == null ? void 0 : _ref7.className)\n }), ownerState);\n const tooltipArrowProps = appendOwnerState(ArrowComponent, _extends({}, (_slotProps$arrow = slotProps.arrow) != null ? _slotProps$arrow : componentsProps.arrow, {\n className: clsx(classes.arrow, (_ref8 = (_slotProps$arrow2 = slotProps.arrow) != null ? _slotProps$arrow2 : componentsProps.arrow) == null ? void 0 : _ref8.className)\n }), ownerState);\n return /*#__PURE__*/_jsxs(React.Fragment, {\n children: [/*#__PURE__*/React.cloneElement(children, childrenProps), /*#__PURE__*/_jsx(PopperComponent, _extends({\n as: PopperComponentProp != null ? PopperComponentProp : Popper,\n placement: placement,\n anchorEl: followCursor ? {\n getBoundingClientRect: () => ({\n top: cursorPosition.y,\n left: cursorPosition.x,\n right: cursorPosition.x,\n bottom: cursorPosition.y,\n width: 0,\n height: 0\n })\n } : childNode,\n popperRef: popperRef,\n open: childNode ? open : false,\n id: id,\n transition: true\n }, interactiveWrapperListeners, popperProps, {\n popperOptions: popperOptions,\n children: ({\n TransitionProps: TransitionPropsInner\n }) => /*#__PURE__*/_jsx(TransitionComponent, _extends({\n timeout: theme.transitions.duration.shorter\n }, TransitionPropsInner, transitionProps, {\n children: /*#__PURE__*/_jsxs(TooltipComponent, _extends({}, tooltipProps, {\n children: [title, arrow ? /*#__PURE__*/_jsx(ArrowComponent, _extends({}, tooltipArrowProps, {\n ref: setArrowRef\n })) : null]\n }))\n }))\n }))]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Tooltip.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * If `true`, adds an arrow to the tooltip.\n * @default false\n */\n arrow: PropTypes.bool,\n /**\n * Tooltip reference element.\n */\n children: elementAcceptingRef.isRequired,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The components used for each slot inside.\n *\n * This prop is an alias for the `slots` prop.\n * It's recommended to use the `slots` prop instead.\n *\n * @default {}\n */\n components: PropTypes.shape({\n Arrow: PropTypes.elementType,\n Popper: PropTypes.elementType,\n Tooltip: PropTypes.elementType,\n Transition: PropTypes.elementType\n }),\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * This prop is an alias for the `slotProps` prop.\n * It's recommended to use the `slotProps` prop instead, as `componentsProps` will be deprecated in the future.\n *\n * @default {}\n */\n componentsProps: PropTypes.shape({\n arrow: PropTypes.object,\n popper: PropTypes.object,\n tooltip: PropTypes.object,\n transition: PropTypes.object\n }),\n /**\n * Set to `true` if the `title` acts as an accessible description.\n * By default the `title` acts as an accessible label for the child.\n * @default false\n */\n describeChild: PropTypes.bool,\n /**\n * Do not respond to focus-visible events.\n * @default false\n */\n disableFocusListener: PropTypes.bool,\n /**\n * Do not respond to hover events.\n * @default false\n */\n disableHoverListener: PropTypes.bool,\n /**\n * Makes a tooltip not interactive, i.e. it will close when the user\n * hovers over the tooltip before the `leaveDelay` is expired.\n * @default false\n */\n disableInteractive: PropTypes.bool,\n /**\n * Do not respond to long press touch events.\n * @default false\n */\n disableTouchListener: PropTypes.bool,\n /**\n * The number of milliseconds to wait before showing the tooltip.\n * This prop won't impact the enter touch delay (`enterTouchDelay`).\n * @default 100\n */\n enterDelay: PropTypes.number,\n /**\n * The number of milliseconds to wait before showing the tooltip when one was already recently opened.\n * @default 0\n */\n enterNextDelay: PropTypes.number,\n /**\n * The number of milliseconds a user must touch the element before showing the tooltip.\n * @default 700\n */\n enterTouchDelay: PropTypes.number,\n /**\n * If `true`, the tooltip follow the cursor over the wrapped element.\n * @default false\n */\n followCursor: PropTypes.bool,\n /**\n * This prop is used to help implement the accessibility logic.\n * If you don't provide this prop. It falls back to a randomly generated id.\n */\n id: PropTypes.string,\n /**\n * The number of milliseconds to wait before hiding the tooltip.\n * This prop won't impact the leave touch delay (`leaveTouchDelay`).\n * @default 0\n */\n leaveDelay: PropTypes.number,\n /**\n * The number of milliseconds after the user stops touching an element before hiding the tooltip.\n * @default 1500\n */\n leaveTouchDelay: PropTypes.number,\n /**\n * Callback fired when the component requests to be closed.\n *\n * @param {React.SyntheticEvent} event The event source of the callback.\n */\n onClose: PropTypes.func,\n /**\n * Callback fired when the component requests to be open.\n *\n * @param {React.SyntheticEvent} event The event source of the callback.\n */\n onOpen: PropTypes.func,\n /**\n * If `true`, the component is shown.\n */\n open: PropTypes.bool,\n /**\n * Tooltip placement.\n * @default 'bottom'\n */\n placement: PropTypes.oneOf(['bottom-end', 'bottom-start', 'bottom', 'left-end', 'left-start', 'left', 'right-end', 'right-start', 'right', 'top-end', 'top-start', 'top']),\n /**\n * The component used for the popper.\n * @default Popper\n */\n PopperComponent: PropTypes.elementType,\n /**\n * Props applied to the [`Popper`](/material-ui/api/popper/) element.\n * @default {}\n */\n PopperProps: PropTypes.object,\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * This prop is an alias for the `componentsProps` prop, which will be deprecated in the future.\n *\n * @default {}\n */\n slotProps: PropTypes.shape({\n arrow: PropTypes.object,\n popper: PropTypes.object,\n tooltip: PropTypes.object,\n transition: PropTypes.object\n }),\n /**\n * The components used for each slot inside.\n *\n * This prop is an alias for the `components` prop, which will be deprecated in the future.\n *\n * @default {}\n */\n slots: PropTypes.shape({\n arrow: PropTypes.elementType,\n popper: PropTypes.elementType,\n tooltip: PropTypes.elementType,\n transition: PropTypes.elementType\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * Tooltip title. Zero-length titles string, undefined, null and false are never displayed.\n */\n title: PropTypes.node,\n /**\n * The component used for the transition.\n * [Follow this guide](/material-ui/transitions/#transitioncomponent-prop) to learn more about the requirements for this component.\n * @default Grow\n */\n TransitionComponent: PropTypes.elementType,\n /**\n * Props applied to the transition element.\n * By default, the element is based on this [`Transition`](https://reactcommunity.org/react-transition-group/transition/) component.\n */\n TransitionProps: PropTypes.object\n} : void 0;\nexport default Tooltip;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getSwitchUtilityClass(slot) {\n return generateUtilityClass('MuiSwitch', slot);\n}\nconst switchClasses = generateUtilityClasses('MuiSwitch', ['root', 'edgeStart', 'edgeEnd', 'switchBase', 'colorPrimary', 'colorSecondary', 'sizeSmall', 'sizeMedium', 'checked', 'disabled', 'input', 'thumb', 'track']);\nexport default switchClasses;","'use client';\n\n// @inheritedComponent IconButton\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"color\", \"edge\", \"size\", \"sx\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport refType from '@mui/utils/refType';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { alpha, darken, lighten } from '@mui/system/colorManipulator';\nimport capitalize from '../utils/capitalize';\nimport SwitchBase from '../internal/SwitchBase';\nimport { styled, createUseThemeProps } from '../zero-styled';\nimport switchClasses, { getSwitchUtilityClass } from './switchClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useThemeProps = createUseThemeProps('MuiSwitch');\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n edge,\n size,\n color,\n checked,\n disabled\n } = ownerState;\n const slots = {\n root: ['root', edge && `edge${capitalize(edge)}`, `size${capitalize(size)}`],\n switchBase: ['switchBase', `color${capitalize(color)}`, checked && 'checked', disabled && 'disabled'],\n thumb: ['thumb'],\n track: ['track'],\n input: ['input']\n };\n const composedClasses = composeClasses(slots, getSwitchUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\nconst SwitchRoot = styled('span', {\n name: 'MuiSwitch',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.edge && styles[`edge${capitalize(ownerState.edge)}`], styles[`size${capitalize(ownerState.size)}`]];\n }\n})({\n display: 'inline-flex',\n width: 34 + 12 * 2,\n height: 14 + 12 * 2,\n overflow: 'hidden',\n padding: 12,\n boxSizing: 'border-box',\n position: 'relative',\n flexShrink: 0,\n zIndex: 0,\n // Reset the stacking context.\n verticalAlign: 'middle',\n // For correct alignment with the text.\n '@media print': {\n colorAdjust: 'exact'\n },\n variants: [{\n props: {\n edge: 'start'\n },\n style: {\n marginLeft: -8\n }\n }, {\n props: {\n edge: 'end'\n },\n style: {\n marginRight: -8\n }\n }, {\n props: {\n size: 'small'\n },\n style: {\n width: 40,\n height: 24,\n padding: 7,\n [`& .${switchClasses.thumb}`]: {\n width: 16,\n height: 16\n },\n [`& .${switchClasses.switchBase}`]: {\n padding: 4,\n [`&.${switchClasses.checked}`]: {\n transform: 'translateX(16px)'\n }\n }\n }\n }]\n});\nconst SwitchSwitchBase = styled(SwitchBase, {\n name: 'MuiSwitch',\n slot: 'SwitchBase',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.switchBase, {\n [`& .${switchClasses.input}`]: styles.input\n }, ownerState.color !== 'default' && styles[`color${capitalize(ownerState.color)}`]];\n }\n})(({\n theme\n}) => ({\n position: 'absolute',\n top: 0,\n left: 0,\n zIndex: 1,\n // Render above the focus ripple.\n color: theme.vars ? theme.vars.palette.Switch.defaultColor : `${theme.palette.mode === 'light' ? theme.palette.common.white : theme.palette.grey[300]}`,\n transition: theme.transitions.create(['left', 'transform'], {\n duration: theme.transitions.duration.shortest\n }),\n [`&.${switchClasses.checked}`]: {\n transform: 'translateX(20px)'\n },\n [`&.${switchClasses.disabled}`]: {\n color: theme.vars ? theme.vars.palette.Switch.defaultDisabledColor : `${theme.palette.mode === 'light' ? theme.palette.grey[100] : theme.palette.grey[600]}`\n },\n [`&.${switchClasses.checked} + .${switchClasses.track}`]: {\n opacity: 0.5\n },\n [`&.${switchClasses.disabled} + .${switchClasses.track}`]: {\n opacity: theme.vars ? theme.vars.opacity.switchTrackDisabled : `${theme.palette.mode === 'light' ? 0.12 : 0.2}`\n },\n [`& .${switchClasses.input}`]: {\n left: '-100%',\n width: '300%'\n }\n}), ({\n theme\n}) => ({\n '&:hover': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.action.activeChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(theme.palette.action.active, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n variants: [...Object.entries(theme.palette).filter(([, value]) => value.main && value.light) // check all the used fields in the style below\n .map(([color]) => ({\n props: {\n color\n },\n style: {\n [`&.${switchClasses.checked}`]: {\n color: (theme.vars || theme).palette[color].main,\n '&:hover': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette[color].mainChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(theme.palette[color].main, theme.palette.action.hoverOpacity),\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${switchClasses.disabled}`]: {\n color: theme.vars ? theme.vars.palette.Switch[`${color}DisabledColor`] : `${theme.palette.mode === 'light' ? lighten(theme.palette[color].main, 0.62) : darken(theme.palette[color].main, 0.55)}`\n }\n },\n [`&.${switchClasses.checked} + .${switchClasses.track}`]: {\n backgroundColor: (theme.vars || theme).palette[color].main\n }\n }\n }))]\n}));\nconst SwitchTrack = styled('span', {\n name: 'MuiSwitch',\n slot: 'Track',\n overridesResolver: (props, styles) => styles.track\n})(({\n theme\n}) => ({\n height: '100%',\n width: '100%',\n borderRadius: 14 / 2,\n zIndex: -1,\n transition: theme.transitions.create(['opacity', 'background-color'], {\n duration: theme.transitions.duration.shortest\n }),\n backgroundColor: theme.vars ? theme.vars.palette.common.onBackground : `${theme.palette.mode === 'light' ? theme.palette.common.black : theme.palette.common.white}`,\n opacity: theme.vars ? theme.vars.opacity.switchTrack : `${theme.palette.mode === 'light' ? 0.38 : 0.3}`\n}));\nconst SwitchThumb = styled('span', {\n name: 'MuiSwitch',\n slot: 'Thumb',\n overridesResolver: (props, styles) => styles.thumb\n})(({\n theme\n}) => ({\n boxShadow: (theme.vars || theme).shadows[1],\n backgroundColor: 'currentColor',\n width: 20,\n height: 20,\n borderRadius: '50%'\n}));\nconst Switch = /*#__PURE__*/React.forwardRef(function Switch(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiSwitch'\n });\n const {\n className,\n color = 'primary',\n edge = false,\n size = 'medium',\n sx\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n color,\n edge,\n size\n });\n const classes = useUtilityClasses(ownerState);\n const icon = /*#__PURE__*/_jsx(SwitchThumb, {\n className: classes.thumb,\n ownerState: ownerState\n });\n return /*#__PURE__*/_jsxs(SwitchRoot, {\n className: clsx(classes.root, className),\n sx: sx,\n ownerState: ownerState,\n children: [/*#__PURE__*/_jsx(SwitchSwitchBase, _extends({\n type: \"checkbox\",\n icon: icon,\n checkedIcon: icon,\n ref: ref,\n ownerState: ownerState\n }, other, {\n classes: _extends({}, classes, {\n root: classes.switchBase\n })\n })), /*#__PURE__*/_jsx(SwitchTrack, {\n className: classes.track,\n ownerState: ownerState\n })]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Switch.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n /**\n * The icon to display when the component is checked.\n */\n checkedIcon: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * @default 'primary'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['default', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * The default checked state. Use when the component is not controlled.\n */\n defaultChecked: PropTypes.bool,\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the ripple effect is disabled.\n * @default false\n */\n disableRipple: PropTypes.bool,\n /**\n * If given, uses a negative margin to counteract the padding on one\n * side (this is often helpful for aligning the left or right\n * side of the icon with content above or below, without ruining the border\n * size and shape).\n * @default false\n */\n edge: PropTypes.oneOf(['end', 'start', false]),\n /**\n * The icon to display when the component is unchecked.\n */\n icon: PropTypes.node,\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: PropTypes.object,\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n /**\n * Callback fired when the state is changed.\n *\n * @param {React.ChangeEvent<HTMLInputElement>} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value` (string).\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n /**\n * If `true`, the `input` element is required.\n * @default false\n */\n required: PropTypes.bool,\n /**\n * The size of the component.\n * `small` is equivalent to the dense switch styling.\n * @default 'medium'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The value of the component. The DOM API casts this to a string.\n * The browser uses \"on\" as the default value.\n */\n value: PropTypes.any\n} : void 0;\nexport default Switch;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getTabUtilityClass(slot) {\n return generateUtilityClass('MuiTab', slot);\n}\nconst tabClasses = generateUtilityClasses('MuiTab', ['root', 'labelIcon', 'textColorInherit', 'textColorPrimary', 'textColorSecondary', 'selected', 'disabled', 'fullWidth', 'wrapped', 'iconWrapper']);\nexport default tabClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"disabled\", \"disableFocusRipple\", \"fullWidth\", \"icon\", \"iconPosition\", \"indicator\", \"label\", \"onChange\", \"onClick\", \"onFocus\", \"selected\", \"selectionFollowsFocus\", \"textColor\", \"value\", \"wrapped\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport ButtonBase from '../ButtonBase';\nimport capitalize from '../utils/capitalize';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport unsupportedProp from '../utils/unsupportedProp';\nimport tabClasses, { getTabUtilityClass } from './tabClasses';\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n textColor,\n fullWidth,\n wrapped,\n icon,\n label,\n selected,\n disabled\n } = ownerState;\n const slots = {\n root: ['root', icon && label && 'labelIcon', `textColor${capitalize(textColor)}`, fullWidth && 'fullWidth', wrapped && 'wrapped', selected && 'selected', disabled && 'disabled'],\n iconWrapper: ['iconWrapper']\n };\n return composeClasses(slots, getTabUtilityClass, classes);\n};\nconst TabRoot = styled(ButtonBase, {\n name: 'MuiTab',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.label && ownerState.icon && styles.labelIcon, styles[`textColor${capitalize(ownerState.textColor)}`], ownerState.fullWidth && styles.fullWidth, ownerState.wrapped && styles.wrapped];\n }\n})(({\n theme,\n ownerState\n}) => _extends({}, theme.typography.button, {\n maxWidth: 360,\n minWidth: 90,\n position: 'relative',\n minHeight: 48,\n flexShrink: 0,\n padding: '12px 16px',\n overflow: 'hidden',\n whiteSpace: 'normal',\n textAlign: 'center'\n}, ownerState.label && {\n flexDirection: ownerState.iconPosition === 'top' || ownerState.iconPosition === 'bottom' ? 'column' : 'row'\n}, {\n lineHeight: 1.25\n}, ownerState.icon && ownerState.label && {\n minHeight: 72,\n paddingTop: 9,\n paddingBottom: 9,\n [`& > .${tabClasses.iconWrapper}`]: _extends({}, ownerState.iconPosition === 'top' && {\n marginBottom: 6\n }, ownerState.iconPosition === 'bottom' && {\n marginTop: 6\n }, ownerState.iconPosition === 'start' && {\n marginRight: theme.spacing(1)\n }, ownerState.iconPosition === 'end' && {\n marginLeft: theme.spacing(1)\n })\n}, ownerState.textColor === 'inherit' && {\n color: 'inherit',\n opacity: 0.6,\n // same opacity as theme.palette.text.secondary\n [`&.${tabClasses.selected}`]: {\n opacity: 1\n },\n [`&.${tabClasses.disabled}`]: {\n opacity: (theme.vars || theme).palette.action.disabledOpacity\n }\n}, ownerState.textColor === 'primary' && {\n color: (theme.vars || theme).palette.text.secondary,\n [`&.${tabClasses.selected}`]: {\n color: (theme.vars || theme).palette.primary.main\n },\n [`&.${tabClasses.disabled}`]: {\n color: (theme.vars || theme).palette.text.disabled\n }\n}, ownerState.textColor === 'secondary' && {\n color: (theme.vars || theme).palette.text.secondary,\n [`&.${tabClasses.selected}`]: {\n color: (theme.vars || theme).palette.secondary.main\n },\n [`&.${tabClasses.disabled}`]: {\n color: (theme.vars || theme).palette.text.disabled\n }\n}, ownerState.fullWidth && {\n flexShrink: 1,\n flexGrow: 1,\n flexBasis: 0,\n maxWidth: 'none'\n}, ownerState.wrapped && {\n fontSize: theme.typography.pxToRem(12)\n}));\nconst Tab = /*#__PURE__*/React.forwardRef(function Tab(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTab'\n });\n const {\n className,\n disabled = false,\n disableFocusRipple = false,\n // eslint-disable-next-line react/prop-types\n fullWidth,\n icon: iconProp,\n iconPosition = 'top',\n // eslint-disable-next-line react/prop-types\n indicator,\n label,\n onChange,\n onClick,\n onFocus,\n // eslint-disable-next-line react/prop-types\n selected,\n // eslint-disable-next-line react/prop-types\n selectionFollowsFocus,\n // eslint-disable-next-line react/prop-types\n textColor = 'inherit',\n value,\n wrapped = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n disabled,\n disableFocusRipple,\n selected,\n icon: !!iconProp,\n iconPosition,\n label: !!label,\n fullWidth,\n textColor,\n wrapped\n });\n const classes = useUtilityClasses(ownerState);\n const icon = iconProp && label && /*#__PURE__*/React.isValidElement(iconProp) ? /*#__PURE__*/React.cloneElement(iconProp, {\n className: clsx(classes.iconWrapper, iconProp.props.className)\n }) : iconProp;\n const handleClick = event => {\n if (!selected && onChange) {\n onChange(event, value);\n }\n if (onClick) {\n onClick(event);\n }\n };\n const handleFocus = event => {\n if (selectionFollowsFocus && !selected && onChange) {\n onChange(event, value);\n }\n if (onFocus) {\n onFocus(event);\n }\n };\n return /*#__PURE__*/_jsxs(TabRoot, _extends({\n focusRipple: !disableFocusRipple,\n className: clsx(classes.root, className),\n ref: ref,\n role: \"tab\",\n \"aria-selected\": selected,\n disabled: disabled,\n onClick: handleClick,\n onFocus: handleFocus,\n ownerState: ownerState,\n tabIndex: selected ? 0 : -1\n }, other, {\n children: [iconPosition === 'top' || iconPosition === 'start' ? /*#__PURE__*/_jsxs(React.Fragment, {\n children: [icon, label]\n }) : /*#__PURE__*/_jsxs(React.Fragment, {\n children: [label, icon]\n }), indicator]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Tab.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * This prop isn't supported.\n * Use the `component` prop if you need to change the children structure.\n */\n children: unsupportedProp,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the keyboard focus ripple is disabled.\n * @default false\n */\n disableFocusRipple: PropTypes.bool,\n /**\n * If `true`, the ripple effect is disabled.\n *\n * ⚠️ Without a ripple there is no styling for :focus-visible by default. Be sure\n * to highlight the element by applying separate styles with the `.Mui-focusVisible` class.\n * @default false\n */\n disableRipple: PropTypes.bool,\n /**\n * The icon to display.\n */\n icon: PropTypes.oneOfType([PropTypes.element, PropTypes.string]),\n /**\n * The position of the icon relative to the label.\n * @default 'top'\n */\n iconPosition: PropTypes.oneOf(['bottom', 'end', 'start', 'top']),\n /**\n * The label element.\n */\n label: PropTypes.node,\n /**\n * @ignore\n */\n onChange: PropTypes.func,\n /**\n * @ignore\n */\n onClick: PropTypes.func,\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * You can provide your own value. Otherwise, we fallback to the child position index.\n */\n value: PropTypes.any,\n /**\n * Tab labels appear in a single row.\n * They can use a second line if needed.\n * @default false\n */\n wrapped: PropTypes.bool\n} : void 0;\nexport default Tab;","'use client';\n\nimport * as React from 'react';\n\n/**\n * @ignore - internal component.\n */\nconst TableContext = /*#__PURE__*/React.createContext();\nif (process.env.NODE_ENV !== 'production') {\n TableContext.displayName = 'TableContext';\n}\nexport default TableContext;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getTableUtilityClass(slot) {\n return generateUtilityClass('MuiTable', slot);\n}\nconst tableClasses = generateUtilityClasses('MuiTable', ['root', 'stickyHeader']);\nexport default tableClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"component\", \"padding\", \"size\", \"stickyHeader\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport TableContext from './TableContext';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport { getTableUtilityClass } from './tableClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n stickyHeader\n } = ownerState;\n const slots = {\n root: ['root', stickyHeader && 'stickyHeader']\n };\n return composeClasses(slots, getTableUtilityClass, classes);\n};\nconst TableRoot = styled('table', {\n name: 'MuiTable',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.stickyHeader && styles.stickyHeader];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'table',\n width: '100%',\n borderCollapse: 'collapse',\n borderSpacing: 0,\n '& caption': _extends({}, theme.typography.body2, {\n padding: theme.spacing(2),\n color: (theme.vars || theme).palette.text.secondary,\n textAlign: 'left',\n captionSide: 'bottom'\n })\n}, ownerState.stickyHeader && {\n borderCollapse: 'separate'\n}));\nconst defaultComponent = 'table';\nconst Table = /*#__PURE__*/React.forwardRef(function Table(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTable'\n });\n const {\n className,\n component = defaultComponent,\n padding = 'normal',\n size = 'medium',\n stickyHeader = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n component,\n padding,\n size,\n stickyHeader\n });\n const classes = useUtilityClasses(ownerState);\n const table = React.useMemo(() => ({\n padding,\n size,\n stickyHeader\n }), [padding, size, stickyHeader]);\n return /*#__PURE__*/_jsx(TableContext.Provider, {\n value: table,\n children: /*#__PURE__*/_jsx(TableRoot, _extends({\n as: component,\n role: component === defaultComponent ? null : 'table',\n ref: ref,\n className: clsx(classes.root, className),\n ownerState: ownerState\n }, other))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Table.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the table, normally `TableHead` and `TableBody`.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * Allows TableCells to inherit padding of the Table.\n * @default 'normal'\n */\n padding: PropTypes.oneOf(['checkbox', 'none', 'normal']),\n /**\n * Allows TableCells to inherit size of the Table.\n * @default 'medium'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\n /**\n * Set the header sticky.\n *\n * ⚠️ It doesn't work with IE11.\n * @default false\n */\n stickyHeader: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default Table;","import * as React from 'react';\n\n/**\n * @ignore - internal component.\n */\nconst Tablelvl2Context = /*#__PURE__*/React.createContext();\nif (process.env.NODE_ENV !== 'production') {\n Tablelvl2Context.displayName = 'Tablelvl2Context';\n}\nexport default Tablelvl2Context;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getTableBodyUtilityClass(slot) {\n return generateUtilityClass('MuiTableBody', slot);\n}\nconst tableBodyClasses = generateUtilityClasses('MuiTableBody', ['root']);\nexport default tableBodyClasses;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"className\", \"component\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport Tablelvl2Context from '../Table/Tablelvl2Context';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport { getTableBodyUtilityClass } from './tableBodyClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getTableBodyUtilityClass, classes);\n};\nconst TableBodyRoot = styled('tbody', {\n name: 'MuiTableBody',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({\n display: 'table-row-group'\n});\nconst tablelvl2 = {\n variant: 'body'\n};\nconst defaultComponent = 'tbody';\nconst TableBody = /*#__PURE__*/React.forwardRef(function TableBody(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTableBody'\n });\n const {\n className,\n component = defaultComponent\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n component\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(Tablelvl2Context.Provider, {\n value: tablelvl2,\n children: /*#__PURE__*/_jsx(TableBodyRoot, _extends({\n className: clsx(classes.root, className),\n as: component,\n ref: ref,\n role: component === defaultComponent ? null : 'rowgroup',\n ownerState: ownerState\n }, other))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? TableBody.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component, normally `TableRow`.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default TableBody;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getTableCellUtilityClass(slot) {\n return generateUtilityClass('MuiTableCell', slot);\n}\nconst tableCellClasses = generateUtilityClasses('MuiTableCell', ['root', 'head', 'body', 'footer', 'sizeSmall', 'sizeMedium', 'paddingCheckbox', 'paddingNone', 'alignLeft', 'alignCenter', 'alignRight', 'alignJustify', 'stickyHeader']);\nexport default tableCellClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"align\", \"className\", \"component\", \"padding\", \"scope\", \"size\", \"sortDirection\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { darken, alpha, lighten } from '@mui/system/colorManipulator';\nimport capitalize from '../utils/capitalize';\nimport TableContext from '../Table/TableContext';\nimport Tablelvl2Context from '../Table/Tablelvl2Context';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport tableCellClasses, { getTableCellUtilityClass } from './tableCellClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n variant,\n align,\n padding,\n size,\n stickyHeader\n } = ownerState;\n const slots = {\n root: ['root', variant, stickyHeader && 'stickyHeader', align !== 'inherit' && `align${capitalize(align)}`, padding !== 'normal' && `padding${capitalize(padding)}`, `size${capitalize(size)}`]\n };\n return composeClasses(slots, getTableCellUtilityClass, classes);\n};\nconst TableCellRoot = styled('td', {\n name: 'MuiTableCell',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[ownerState.variant], styles[`size${capitalize(ownerState.size)}`], ownerState.padding !== 'normal' && styles[`padding${capitalize(ownerState.padding)}`], ownerState.align !== 'inherit' && styles[`align${capitalize(ownerState.align)}`], ownerState.stickyHeader && styles.stickyHeader];\n }\n})(({\n theme,\n ownerState\n}) => _extends({}, theme.typography.body2, {\n display: 'table-cell',\n verticalAlign: 'inherit',\n // Workaround for a rendering bug with spanned columns in Chrome 62.0.\n // Removes the alpha (sets it to 1), and lightens or darkens the theme color.\n borderBottom: theme.vars ? `1px solid ${theme.vars.palette.TableCell.border}` : `1px solid\n ${theme.palette.mode === 'light' ? lighten(alpha(theme.palette.divider, 1), 0.88) : darken(alpha(theme.palette.divider, 1), 0.68)}`,\n textAlign: 'left',\n padding: 16\n}, ownerState.variant === 'head' && {\n color: (theme.vars || theme).palette.text.primary,\n lineHeight: theme.typography.pxToRem(24),\n fontWeight: theme.typography.fontWeightMedium\n}, ownerState.variant === 'body' && {\n color: (theme.vars || theme).palette.text.primary\n}, ownerState.variant === 'footer' && {\n color: (theme.vars || theme).palette.text.secondary,\n lineHeight: theme.typography.pxToRem(21),\n fontSize: theme.typography.pxToRem(12)\n}, ownerState.size === 'small' && {\n padding: '6px 16px',\n [`&.${tableCellClasses.paddingCheckbox}`]: {\n width: 24,\n // prevent the checkbox column from growing\n padding: '0 12px 0 16px',\n '& > *': {\n padding: 0\n }\n }\n}, ownerState.padding === 'checkbox' && {\n width: 48,\n // prevent the checkbox column from growing\n padding: '0 0 0 4px'\n}, ownerState.padding === 'none' && {\n padding: 0\n}, ownerState.align === 'left' && {\n textAlign: 'left'\n}, ownerState.align === 'center' && {\n textAlign: 'center'\n}, ownerState.align === 'right' && {\n textAlign: 'right',\n flexDirection: 'row-reverse'\n}, ownerState.align === 'justify' && {\n textAlign: 'justify'\n}, ownerState.stickyHeader && {\n position: 'sticky',\n top: 0,\n zIndex: 2,\n backgroundColor: (theme.vars || theme).palette.background.default\n}));\n\n/**\n * The component renders a `<th>` element when the parent context is a header\n * or otherwise a `<td>` element.\n */\nconst TableCell = /*#__PURE__*/React.forwardRef(function TableCell(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTableCell'\n });\n const {\n align = 'inherit',\n className,\n component: componentProp,\n padding: paddingProp,\n scope: scopeProp,\n size: sizeProp,\n sortDirection,\n variant: variantProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const table = React.useContext(TableContext);\n const tablelvl2 = React.useContext(Tablelvl2Context);\n const isHeadCell = tablelvl2 && tablelvl2.variant === 'head';\n let component;\n if (componentProp) {\n component = componentProp;\n } else {\n component = isHeadCell ? 'th' : 'td';\n }\n let scope = scopeProp;\n // scope is not a valid attribute for <td/> elements.\n // source: https://html.spec.whatwg.org/multipage/tables.html#the-td-element\n if (component === 'td') {\n scope = undefined;\n } else if (!scope && isHeadCell) {\n scope = 'col';\n }\n const variant = variantProp || tablelvl2 && tablelvl2.variant;\n const ownerState = _extends({}, props, {\n align,\n component,\n padding: paddingProp || (table && table.padding ? table.padding : 'normal'),\n size: sizeProp || (table && table.size ? table.size : 'medium'),\n sortDirection,\n stickyHeader: variant === 'head' && table && table.stickyHeader,\n variant\n });\n const classes = useUtilityClasses(ownerState);\n let ariaSort = null;\n if (sortDirection) {\n ariaSort = sortDirection === 'asc' ? 'ascending' : 'descending';\n }\n return /*#__PURE__*/_jsx(TableCellRoot, _extends({\n as: component,\n ref: ref,\n className: clsx(classes.root, className),\n \"aria-sort\": ariaSort,\n scope: scope,\n ownerState: ownerState\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? TableCell.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Set the text-align on the table cell content.\n *\n * Monetary or generally number fields **should be right aligned** as that allows\n * you to add them up quickly in your head without having to worry about decimals.\n * @default 'inherit'\n */\n align: PropTypes.oneOf(['center', 'inherit', 'justify', 'left', 'right']),\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * Sets the padding applied to the cell.\n * The prop defaults to the value (`'default'`) inherited from the parent Table component.\n */\n padding: PropTypes.oneOf(['checkbox', 'none', 'normal']),\n /**\n * Set scope attribute.\n */\n scope: PropTypes.string,\n /**\n * Specify the size of the cell.\n * The prop defaults to the value (`'medium'`) inherited from the parent Table component.\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\n /**\n * Set aria-sort direction.\n */\n sortDirection: PropTypes.oneOf(['asc', 'desc', false]),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * Specify the cell type.\n * The prop defaults to the value inherited from the parent TableHead, TableBody, or TableFooter components.\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['body', 'footer', 'head']), PropTypes.string])\n} : void 0;\nexport default TableCell;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getTableHeadUtilityClass(slot) {\n return generateUtilityClass('MuiTableHead', slot);\n}\nconst tableHeadClasses = generateUtilityClasses('MuiTableHead', ['root']);\nexport default tableHeadClasses;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"className\", \"component\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport Tablelvl2Context from '../Table/Tablelvl2Context';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport { getTableHeadUtilityClass } from './tableHeadClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getTableHeadUtilityClass, classes);\n};\nconst TableHeadRoot = styled('thead', {\n name: 'MuiTableHead',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({\n display: 'table-header-group'\n});\nconst tablelvl2 = {\n variant: 'head'\n};\nconst defaultComponent = 'thead';\nconst TableHead = /*#__PURE__*/React.forwardRef(function TableHead(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTableHead'\n });\n const {\n className,\n component = defaultComponent\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n component\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(Tablelvl2Context.Provider, {\n value: tablelvl2,\n children: /*#__PURE__*/_jsx(TableHeadRoot, _extends({\n as: component,\n className: clsx(classes.root, className),\n ref: ref,\n role: component === defaultComponent ? null : 'rowgroup',\n ownerState: ownerState\n }, other))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? TableHead.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component, normally `TableRow`.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default TableHead;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getToolbarUtilityClass(slot) {\n return generateUtilityClass('MuiToolbar', slot);\n}\nconst toolbarClasses = generateUtilityClasses('MuiToolbar', ['root', 'gutters', 'regular', 'dense']);\nexport default toolbarClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"component\", \"disableGutters\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport { getToolbarUtilityClass } from './toolbarClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disableGutters,\n variant\n } = ownerState;\n const slots = {\n root: ['root', !disableGutters && 'gutters', variant]\n };\n return composeClasses(slots, getToolbarUtilityClass, classes);\n};\nconst ToolbarRoot = styled('div', {\n name: 'MuiToolbar',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, !ownerState.disableGutters && styles.gutters, styles[ownerState.variant]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n position: 'relative',\n display: 'flex',\n alignItems: 'center'\n}, !ownerState.disableGutters && {\n paddingLeft: theme.spacing(2),\n paddingRight: theme.spacing(2),\n [theme.breakpoints.up('sm')]: {\n paddingLeft: theme.spacing(3),\n paddingRight: theme.spacing(3)\n }\n}, ownerState.variant === 'dense' && {\n minHeight: 48\n}), ({\n theme,\n ownerState\n}) => ownerState.variant === 'regular' && theme.mixins.toolbar);\nconst Toolbar = /*#__PURE__*/React.forwardRef(function Toolbar(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiToolbar'\n });\n const {\n className,\n component = 'div',\n disableGutters = false,\n variant = 'regular'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n component,\n disableGutters,\n variant\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(ToolbarRoot, _extends({\n as: component,\n className: clsx(classes.root, className),\n ref: ref,\n ownerState: ownerState\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? Toolbar.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The Toolbar children, usually a mixture of `IconButton`, `Button` and `Typography`.\n * The Toolbar is a flex container, allowing flex item properties to be used to lay out the children.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * If `true`, disables gutter padding.\n * @default false\n */\n disableGutters: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The variant to use.\n * @default 'regular'\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['dense', 'regular']), PropTypes.string])\n} : void 0;\nexport default Toolbar;","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M15.41 16.09l-4.58-4.59 4.58-4.59L14 5.5l-6 6 6 6z\"\n}), 'KeyboardArrowLeft');","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z\"\n}), 'KeyboardArrowRight');","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"backIconButtonProps\", \"count\", \"disabled\", \"getItemAriaLabel\", \"nextIconButtonProps\", \"onPageChange\", \"page\", \"rowsPerPage\", \"showFirstButton\", \"showLastButton\", \"slots\", \"slotProps\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { useRtl } from '@mui/system/RtlProvider';\nimport KeyboardArrowLeft from '../internal/svg-icons/KeyboardArrowLeft';\nimport KeyboardArrowRight from '../internal/svg-icons/KeyboardArrowRight';\nimport IconButton from '../IconButton';\nimport LastPageIconDefault from '../internal/svg-icons/LastPage';\nimport FirstPageIconDefault from '../internal/svg-icons/FirstPage';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst TablePaginationActions = /*#__PURE__*/React.forwardRef(function TablePaginationActions(props, ref) {\n var _slots$firstButton, _slots$lastButton, _slots$nextButton, _slots$previousButton, _slots$firstButtonIco, _slots$lastButtonIcon, _slots$nextButtonIcon, _slots$previousButton2;\n const {\n backIconButtonProps,\n count,\n disabled = false,\n getItemAriaLabel,\n nextIconButtonProps,\n onPageChange,\n page,\n rowsPerPage,\n showFirstButton,\n showLastButton,\n slots = {},\n slotProps = {}\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const isRtl = useRtl();\n const handleFirstPageButtonClick = event => {\n onPageChange(event, 0);\n };\n const handleBackButtonClick = event => {\n onPageChange(event, page - 1);\n };\n const handleNextButtonClick = event => {\n onPageChange(event, page + 1);\n };\n const handleLastPageButtonClick = event => {\n onPageChange(event, Math.max(0, Math.ceil(count / rowsPerPage) - 1));\n };\n const FirstButton = (_slots$firstButton = slots.firstButton) != null ? _slots$firstButton : IconButton;\n const LastButton = (_slots$lastButton = slots.lastButton) != null ? _slots$lastButton : IconButton;\n const NextButton = (_slots$nextButton = slots.nextButton) != null ? _slots$nextButton : IconButton;\n const PreviousButton = (_slots$previousButton = slots.previousButton) != null ? _slots$previousButton : IconButton;\n const FirstButtonIcon = (_slots$firstButtonIco = slots.firstButtonIcon) != null ? _slots$firstButtonIco : FirstPageIconDefault;\n const LastButtonIcon = (_slots$lastButtonIcon = slots.lastButtonIcon) != null ? _slots$lastButtonIcon : LastPageIconDefault;\n const NextButtonIcon = (_slots$nextButtonIcon = slots.nextButtonIcon) != null ? _slots$nextButtonIcon : KeyboardArrowRight;\n const PreviousButtonIcon = (_slots$previousButton2 = slots.previousButtonIcon) != null ? _slots$previousButton2 : KeyboardArrowLeft;\n const FirstButtonSlot = isRtl ? LastButton : FirstButton;\n const PreviousButtonSlot = isRtl ? NextButton : PreviousButton;\n const NextButtonSlot = isRtl ? PreviousButton : NextButton;\n const LastButtonSlot = isRtl ? FirstButton : LastButton;\n const firstButtonSlotProps = isRtl ? slotProps.lastButton : slotProps.firstButton;\n const previousButtonSlotProps = isRtl ? slotProps.nextButton : slotProps.previousButton;\n const nextButtonSlotProps = isRtl ? slotProps.previousButton : slotProps.nextButton;\n const lastButtonSlotProps = isRtl ? slotProps.firstButton : slotProps.lastButton;\n return /*#__PURE__*/_jsxs(\"div\", _extends({\n ref: ref\n }, other, {\n children: [showFirstButton && /*#__PURE__*/_jsx(FirstButtonSlot, _extends({\n onClick: handleFirstPageButtonClick,\n disabled: disabled || page === 0,\n \"aria-label\": getItemAriaLabel('first', page),\n title: getItemAriaLabel('first', page)\n }, firstButtonSlotProps, {\n children: isRtl ? /*#__PURE__*/_jsx(LastButtonIcon, _extends({}, slotProps.lastButtonIcon)) : /*#__PURE__*/_jsx(FirstButtonIcon, _extends({}, slotProps.firstButtonIcon))\n })), /*#__PURE__*/_jsx(PreviousButtonSlot, _extends({\n onClick: handleBackButtonClick,\n disabled: disabled || page === 0,\n color: \"inherit\",\n \"aria-label\": getItemAriaLabel('previous', page),\n title: getItemAriaLabel('previous', page)\n }, previousButtonSlotProps != null ? previousButtonSlotProps : backIconButtonProps, {\n children: isRtl ? /*#__PURE__*/_jsx(NextButtonIcon, _extends({}, slotProps.nextButtonIcon)) : /*#__PURE__*/_jsx(PreviousButtonIcon, _extends({}, slotProps.previousButtonIcon))\n })), /*#__PURE__*/_jsx(NextButtonSlot, _extends({\n onClick: handleNextButtonClick,\n disabled: disabled || (count !== -1 ? page >= Math.ceil(count / rowsPerPage) - 1 : false),\n color: \"inherit\",\n \"aria-label\": getItemAriaLabel('next', page),\n title: getItemAriaLabel('next', page)\n }, nextButtonSlotProps != null ? nextButtonSlotProps : nextIconButtonProps, {\n children: isRtl ? /*#__PURE__*/_jsx(PreviousButtonIcon, _extends({}, slotProps.previousButtonIcon)) : /*#__PURE__*/_jsx(NextButtonIcon, _extends({}, slotProps.nextButtonIcon))\n })), showLastButton && /*#__PURE__*/_jsx(LastButtonSlot, _extends({\n onClick: handleLastPageButtonClick,\n disabled: disabled || page >= Math.ceil(count / rowsPerPage) - 1,\n \"aria-label\": getItemAriaLabel('last', page),\n title: getItemAriaLabel('last', page)\n }, lastButtonSlotProps, {\n children: isRtl ? /*#__PURE__*/_jsx(FirstButtonIcon, _extends({}, slotProps.firstButtonIcon)) : /*#__PURE__*/_jsx(LastButtonIcon, _extends({}, slotProps.lastButtonIcon))\n }))]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TablePaginationActions.propTypes = {\n /**\n * Props applied to the back arrow [`IconButton`](/material-ui/api/icon-button/) element.\n */\n backIconButtonProps: PropTypes.object,\n /**\n * The total number of rows.\n */\n count: PropTypes.number.isRequired,\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * Accepts a function which returns a string value that provides a user-friendly name for the current page.\n *\n * For localization purposes, you can use the provided [translations](/material-ui/guides/localization/).\n *\n * @param {string} type The link or button type to format ('page' | 'first' | 'last' | 'next' | 'previous'). Defaults to 'page'.\n * @param {number} page The page number to format.\n * @returns {string}\n */\n getItemAriaLabel: PropTypes.func.isRequired,\n /**\n * Props applied to the next arrow [`IconButton`](/material-ui/api/icon-button/) element.\n */\n nextIconButtonProps: PropTypes.object,\n /**\n * Callback fired when the page is changed.\n *\n * @param {object} event The event source of the callback.\n * @param {number} page The page selected.\n */\n onPageChange: PropTypes.func.isRequired,\n /**\n * The zero-based index of the current page.\n */\n page: PropTypes.number.isRequired,\n /**\n * The number of rows per page.\n */\n rowsPerPage: PropTypes.number.isRequired,\n /**\n * If `true`, show the first-page button.\n */\n showFirstButton: PropTypes.bool.isRequired,\n /**\n * If `true`, show the last-page button.\n */\n showLastButton: PropTypes.bool.isRequired,\n /**\n * The props used for each slot inside the TablePaginationActions.\n * @default {}\n */\n slotProps: PropTypes.shape({\n firstButton: PropTypes.object,\n firstButtonIcon: PropTypes.object,\n lastButton: PropTypes.object,\n lastButtonIcon: PropTypes.object,\n nextButton: PropTypes.object,\n nextButtonIcon: PropTypes.object,\n previousButton: PropTypes.object,\n previousButtonIcon: PropTypes.object\n }),\n /**\n * The components used for each slot inside the TablePaginationActions.\n * Either a string to use a HTML element or a component.\n * @default {}\n */\n slots: PropTypes.shape({\n firstButton: PropTypes.elementType,\n firstButtonIcon: PropTypes.elementType,\n lastButton: PropTypes.elementType,\n lastButtonIcon: PropTypes.elementType,\n nextButton: PropTypes.elementType,\n nextButtonIcon: PropTypes.elementType,\n previousButton: PropTypes.elementType,\n previousButtonIcon: PropTypes.elementType\n })\n} : void 0;\nexport default TablePaginationActions;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getTablePaginationUtilityClass(slot) {\n return generateUtilityClass('MuiTablePagination', slot);\n}\nconst tablePaginationClasses = generateUtilityClasses('MuiTablePagination', ['root', 'toolbar', 'spacer', 'selectLabel', 'selectRoot', 'select', 'selectIcon', 'input', 'menuItem', 'displayedRows', 'actions']);\nexport default tablePaginationClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nvar _InputBase;\nconst _excluded = [\"ActionsComponent\", \"backIconButtonProps\", \"className\", \"colSpan\", \"component\", \"count\", \"disabled\", \"getItemAriaLabel\", \"labelDisplayedRows\", \"labelRowsPerPage\", \"nextIconButtonProps\", \"onPageChange\", \"onRowsPerPageChange\", \"page\", \"rowsPerPage\", \"rowsPerPageOptions\", \"SelectProps\", \"showFirstButton\", \"showLastButton\", \"slotProps\", \"slots\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport integerPropType from '@mui/utils/integerPropType';\nimport chainPropTypes from '@mui/utils/chainPropTypes';\nimport { isHostComponent } from '@mui/base/utils';\nimport composeClasses from '@mui/utils/composeClasses';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport InputBase from '../InputBase';\nimport MenuItem from '../MenuItem';\nimport Select from '../Select';\nimport TableCell from '../TableCell';\nimport Toolbar from '../Toolbar';\nimport TablePaginationActions from './TablePaginationActions';\nimport useId from '../utils/useId';\nimport tablePaginationClasses, { getTablePaginationUtilityClass } from './tablePaginationClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { createElement as _createElement } from \"react\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst TablePaginationRoot = styled(TableCell, {\n name: 'MuiTablePagination',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})(({\n theme\n}) => ({\n overflow: 'auto',\n color: (theme.vars || theme).palette.text.primary,\n fontSize: theme.typography.pxToRem(14),\n // Increase the specificity to override TableCell.\n '&:last-child': {\n padding: 0\n }\n}));\nconst TablePaginationToolbar = styled(Toolbar, {\n name: 'MuiTablePagination',\n slot: 'Toolbar',\n overridesResolver: (props, styles) => _extends({\n [`& .${tablePaginationClasses.actions}`]: styles.actions\n }, styles.toolbar)\n})(({\n theme\n}) => ({\n minHeight: 52,\n paddingRight: 2,\n [`${theme.breakpoints.up('xs')} and (orientation: landscape)`]: {\n minHeight: 52\n },\n [theme.breakpoints.up('sm')]: {\n minHeight: 52,\n paddingRight: 2\n },\n [`& .${tablePaginationClasses.actions}`]: {\n flexShrink: 0,\n marginLeft: 20\n }\n}));\nconst TablePaginationSpacer = styled('div', {\n name: 'MuiTablePagination',\n slot: 'Spacer',\n overridesResolver: (props, styles) => styles.spacer\n})({\n flex: '1 1 100%'\n});\nconst TablePaginationSelectLabel = styled('p', {\n name: 'MuiTablePagination',\n slot: 'SelectLabel',\n overridesResolver: (props, styles) => styles.selectLabel\n})(({\n theme\n}) => _extends({}, theme.typography.body2, {\n flexShrink: 0\n}));\nconst TablePaginationSelect = styled(Select, {\n name: 'MuiTablePagination',\n slot: 'Select',\n overridesResolver: (props, styles) => _extends({\n [`& .${tablePaginationClasses.selectIcon}`]: styles.selectIcon,\n [`& .${tablePaginationClasses.select}`]: styles.select\n }, styles.input, styles.selectRoot)\n})({\n color: 'inherit',\n fontSize: 'inherit',\n flexShrink: 0,\n marginRight: 32,\n marginLeft: 8,\n [`& .${tablePaginationClasses.select}`]: {\n paddingLeft: 8,\n paddingRight: 24,\n textAlign: 'right',\n textAlignLast: 'right' // Align <select> on Chrome.\n }\n});\nconst TablePaginationMenuItem = styled(MenuItem, {\n name: 'MuiTablePagination',\n slot: 'MenuItem',\n overridesResolver: (props, styles) => styles.menuItem\n})({});\nconst TablePaginationDisplayedRows = styled('p', {\n name: 'MuiTablePagination',\n slot: 'DisplayedRows',\n overridesResolver: (props, styles) => styles.displayedRows\n})(({\n theme\n}) => _extends({}, theme.typography.body2, {\n flexShrink: 0\n}));\nfunction defaultLabelDisplayedRows({\n from,\n to,\n count\n}) {\n return `${from}–${to} of ${count !== -1 ? count : `more than ${to}`}`;\n}\nfunction defaultGetAriaLabel(type) {\n return `Go to ${type} page`;\n}\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root'],\n toolbar: ['toolbar'],\n spacer: ['spacer'],\n selectLabel: ['selectLabel'],\n select: ['select'],\n input: ['input'],\n selectIcon: ['selectIcon'],\n menuItem: ['menuItem'],\n displayedRows: ['displayedRows'],\n actions: ['actions']\n };\n return composeClasses(slots, getTablePaginationUtilityClass, classes);\n};\n\n/**\n * A `TableCell` based component for placing inside `TableFooter` for pagination.\n */\nconst TablePagination = /*#__PURE__*/React.forwardRef(function TablePagination(inProps, ref) {\n var _slotProps$select;\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTablePagination'\n });\n const {\n ActionsComponent = TablePaginationActions,\n backIconButtonProps,\n className,\n colSpan: colSpanProp,\n component = TableCell,\n count,\n disabled = false,\n getItemAriaLabel = defaultGetAriaLabel,\n labelDisplayedRows = defaultLabelDisplayedRows,\n labelRowsPerPage = 'Rows per page:',\n nextIconButtonProps,\n onPageChange,\n onRowsPerPageChange,\n page,\n rowsPerPage,\n rowsPerPageOptions = [10, 25, 50, 100],\n SelectProps = {},\n showFirstButton = false,\n showLastButton = false,\n slotProps = {},\n slots = {}\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = props;\n const classes = useUtilityClasses(ownerState);\n const selectProps = (_slotProps$select = slotProps == null ? void 0 : slotProps.select) != null ? _slotProps$select : SelectProps;\n const MenuItemComponent = selectProps.native ? 'option' : TablePaginationMenuItem;\n let colSpan;\n if (component === TableCell || component === 'td') {\n colSpan = colSpanProp || 1000; // col-span over everything\n }\n const selectId = useId(selectProps.id);\n const labelId = useId(selectProps.labelId);\n const getLabelDisplayedRowsTo = () => {\n if (count === -1) {\n return (page + 1) * rowsPerPage;\n }\n return rowsPerPage === -1 ? count : Math.min(count, (page + 1) * rowsPerPage);\n };\n return /*#__PURE__*/_jsx(TablePaginationRoot, _extends({\n colSpan: colSpan,\n ref: ref,\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className)\n }, other, {\n children: /*#__PURE__*/_jsxs(TablePaginationToolbar, {\n className: classes.toolbar,\n children: [/*#__PURE__*/_jsx(TablePaginationSpacer, {\n className: classes.spacer\n }), rowsPerPageOptions.length > 1 && /*#__PURE__*/_jsx(TablePaginationSelectLabel, {\n className: classes.selectLabel,\n id: labelId,\n children: labelRowsPerPage\n }), rowsPerPageOptions.length > 1 && /*#__PURE__*/_jsx(TablePaginationSelect, _extends({\n variant: \"standard\"\n }, !selectProps.variant && {\n input: _InputBase || (_InputBase = /*#__PURE__*/_jsx(InputBase, {}))\n }, {\n value: rowsPerPage,\n onChange: onRowsPerPageChange,\n id: selectId,\n labelId: labelId\n }, selectProps, {\n classes: _extends({}, selectProps.classes, {\n // TODO v5 remove `classes.input`\n root: clsx(classes.input, classes.selectRoot, (selectProps.classes || {}).root),\n select: clsx(classes.select, (selectProps.classes || {}).select),\n // TODO v5 remove `selectIcon`\n icon: clsx(classes.selectIcon, (selectProps.classes || {}).icon)\n }),\n disabled: disabled,\n children: rowsPerPageOptions.map(rowsPerPageOption => /*#__PURE__*/_createElement(MenuItemComponent, _extends({}, !isHostComponent(MenuItemComponent) && {\n ownerState\n }, {\n className: classes.menuItem,\n key: rowsPerPageOption.label ? rowsPerPageOption.label : rowsPerPageOption,\n value: rowsPerPageOption.value ? rowsPerPageOption.value : rowsPerPageOption\n }), rowsPerPageOption.label ? rowsPerPageOption.label : rowsPerPageOption))\n })), /*#__PURE__*/_jsx(TablePaginationDisplayedRows, {\n className: classes.displayedRows,\n children: labelDisplayedRows({\n from: count === 0 ? 0 : page * rowsPerPage + 1,\n to: getLabelDisplayedRowsTo(),\n count: count === -1 ? -1 : count,\n page\n })\n }), /*#__PURE__*/_jsx(ActionsComponent, {\n className: classes.actions,\n backIconButtonProps: backIconButtonProps,\n count: count,\n nextIconButtonProps: nextIconButtonProps,\n onPageChange: onPageChange,\n page: page,\n rowsPerPage: rowsPerPage,\n showFirstButton: showFirstButton,\n showLastButton: showLastButton,\n slotProps: slotProps.actions,\n slots: slots.actions,\n getItemAriaLabel: getItemAriaLabel,\n disabled: disabled\n })]\n })\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TablePagination.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The component used for displaying the actions.\n * Either a string to use a HTML element or a component.\n * @default TablePaginationActions\n */\n ActionsComponent: PropTypes.elementType,\n /**\n * Props applied to the back arrow [`IconButton`](/material-ui/api/icon-button/) component.\n *\n * This prop is an alias for `slotProps.actions.previousButton` and will be overriden by it if both are used.\n * @deprecated Use `slotProps.actions.previousButton` instead.\n */\n backIconButtonProps: PropTypes.object,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * @ignore\n */\n colSpan: PropTypes.number,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * The total number of rows.\n *\n * To enable server side pagination for an unknown number of items, provide -1.\n */\n count: integerPropType.isRequired,\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * Accepts a function which returns a string value that provides a user-friendly name for the current page.\n * This is important for screen reader users.\n *\n * For localization purposes, you can use the provided [translations](/material-ui/guides/localization/).\n * @param {string} type The link or button type to format ('first' | 'last' | 'next' | 'previous').\n * @returns {string}\n * @default function defaultGetAriaLabel(type) {\n * return `Go to ${type} page`;\n * }\n */\n getItemAriaLabel: PropTypes.func,\n /**\n * Customize the displayed rows label. Invoked with a `{ from, to, count, page }`\n * object.\n *\n * For localization purposes, you can use the provided [translations](/material-ui/guides/localization/).\n * @default function defaultLabelDisplayedRows({ from, to, count }) {\n * return `${from}–${to} of ${count !== -1 ? count : `more than ${to}`}`;\n * }\n */\n labelDisplayedRows: PropTypes.func,\n /**\n * Customize the rows per page label.\n *\n * For localization purposes, you can use the provided [translations](/material-ui/guides/localization/).\n * @default 'Rows per page:'\n */\n labelRowsPerPage: PropTypes.node,\n /**\n * Props applied to the next arrow [`IconButton`](/material-ui/api/icon-button/) element.\n *\n * This prop is an alias for `slotProps.actions.nextButton` and will be overriden by it if both are used.\n * @deprecated Use `slotProps.actions.nextButton` instead.\n */\n nextIconButtonProps: PropTypes.object,\n /**\n * Callback fired when the page is changed.\n *\n * @param {React.MouseEvent<HTMLButtonElement> | null} event The event source of the callback.\n * @param {number} page The page selected.\n */\n onPageChange: PropTypes.func.isRequired,\n /**\n * Callback fired when the number of rows per page is changed.\n *\n * @param {React.ChangeEvent<HTMLTextAreaElement | HTMLInputElement>} event The event source of the callback.\n */\n onRowsPerPageChange: PropTypes.func,\n /**\n * The zero-based index of the current page.\n */\n page: chainPropTypes(integerPropType.isRequired, props => {\n const {\n count,\n page,\n rowsPerPage\n } = props;\n if (count === -1) {\n return null;\n }\n const newLastPage = Math.max(0, Math.ceil(count / rowsPerPage) - 1);\n if (page < 0 || page > newLastPage) {\n return new Error('MUI: The page prop of a TablePagination is out of range ' + `(0 to ${newLastPage}, but page is ${page}).`);\n }\n return null;\n }),\n /**\n * The number of rows per page.\n *\n * Set -1 to display all the rows.\n */\n rowsPerPage: integerPropType.isRequired,\n /**\n * Customizes the options of the rows per page select field. If less than two options are\n * available, no select field will be displayed.\n * Use -1 for the value with a custom label to show all the rows.\n * @default [10, 25, 50, 100]\n */\n rowsPerPageOptions: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.shape({\n label: PropTypes.string.isRequired,\n value: PropTypes.number.isRequired\n })]).isRequired),\n /**\n * Props applied to the rows per page [`Select`](/material-ui/api/select/) element.\n *\n * This prop is an alias for `slotProps.select` and will be overriden by it if both are used.\n * @deprecated Use `slotProps.select` instead.\n *\n * @default {}\n */\n SelectProps: PropTypes.object,\n /**\n * If `true`, show the first-page button.\n * @default false\n */\n showFirstButton: PropTypes.bool,\n /**\n * If `true`, show the last-page button.\n * @default false\n */\n showLastButton: PropTypes.bool,\n /**\n * The props used for each slot inside the TablePagination.\n * @default {}\n */\n slotProps: PropTypes.shape({\n actions: PropTypes.shape({\n firstButton: PropTypes.object,\n firstButtonIcon: PropTypes.object,\n lastButton: PropTypes.object,\n lastButtonIcon: PropTypes.object,\n nextButton: PropTypes.object,\n nextButtonIcon: PropTypes.object,\n previousButton: PropTypes.object,\n previousButtonIcon: PropTypes.object\n }),\n select: PropTypes.object\n }),\n /**\n * The components used for each slot inside the TablePagination.\n * Either a string to use a HTML element or a component.\n * @default {}\n */\n slots: PropTypes.shape({\n actions: PropTypes.shape({\n firstButton: PropTypes.elementType,\n firstButtonIcon: PropTypes.elementType,\n lastButton: PropTypes.elementType,\n lastButtonIcon: PropTypes.elementType,\n nextButton: PropTypes.elementType,\n nextButtonIcon: PropTypes.elementType,\n previousButton: PropTypes.elementType,\n previousButtonIcon: PropTypes.elementType\n })\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default TablePagination;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getTableRowUtilityClass(slot) {\n return generateUtilityClass('MuiTableRow', slot);\n}\nconst tableRowClasses = generateUtilityClasses('MuiTableRow', ['root', 'selected', 'hover', 'head', 'footer']);\nexport default tableRowClasses;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"className\", \"component\", \"hover\", \"selected\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { alpha } from '@mui/system/colorManipulator';\nimport Tablelvl2Context from '../Table/Tablelvl2Context';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport tableRowClasses, { getTableRowUtilityClass } from './tableRowClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n selected,\n hover,\n head,\n footer\n } = ownerState;\n const slots = {\n root: ['root', selected && 'selected', hover && 'hover', head && 'head', footer && 'footer']\n };\n return composeClasses(slots, getTableRowUtilityClass, classes);\n};\nconst TableRowRoot = styled('tr', {\n name: 'MuiTableRow',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.head && styles.head, ownerState.footer && styles.footer];\n }\n})(({\n theme\n}) => ({\n color: 'inherit',\n display: 'table-row',\n verticalAlign: 'middle',\n // We disable the focus ring for mouse, touch and keyboard users.\n outline: 0,\n [`&.${tableRowClasses.hover}:hover`]: {\n backgroundColor: (theme.vars || theme).palette.action.hover\n },\n [`&.${tableRowClasses.selected}`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.selectedOpacity})` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity),\n '&:hover': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.hoverOpacity}))` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity)\n }\n }\n}));\nconst defaultComponent = 'tr';\n/**\n * Will automatically set dynamic row height\n * based on the material table element parent (head, body, etc).\n */\nconst TableRow = /*#__PURE__*/React.forwardRef(function TableRow(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTableRow'\n });\n const {\n className,\n component = defaultComponent,\n hover = false,\n selected = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const tablelvl2 = React.useContext(Tablelvl2Context);\n const ownerState = _extends({}, props, {\n component,\n hover,\n selected,\n head: tablelvl2 && tablelvl2.variant === 'head',\n footer: tablelvl2 && tablelvl2.variant === 'footer'\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(TableRowRoot, _extends({\n as: component,\n ref: ref,\n className: clsx(classes.root, className),\n role: component === defaultComponent ? null : 'row',\n ownerState: ownerState\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? TableRow.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Should be valid `<tr>` children such as `TableCell`.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * If `true`, the table row will shade on hover.\n * @default false\n */\n hover: PropTypes.bool,\n /**\n * If `true`, the table row will have the selected shading.\n * @default false\n */\n selected: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default TableRow;","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M20 12l-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8 8-8z\"\n}), 'ArrowDownward');","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getTableSortLabelUtilityClass(slot) {\n return generateUtilityClass('MuiTableSortLabel', slot);\n}\nconst tableSortLabelClasses = generateUtilityClasses('MuiTableSortLabel', ['root', 'active', 'icon', 'iconDirectionDesc', 'iconDirectionAsc']);\nexport default tableSortLabelClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"active\", \"children\", \"className\", \"direction\", \"hideSortIcon\", \"IconComponent\"];\nimport composeClasses from '@mui/utils/composeClasses';\nimport clsx from 'clsx';\nimport PropTypes from 'prop-types';\nimport * as React from 'react';\nimport ButtonBase from '../ButtonBase';\nimport ArrowDownwardIcon from '../internal/svg-icons/ArrowDownward';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport capitalize from '../utils/capitalize';\nimport tableSortLabelClasses, { getTableSortLabelUtilityClass } from './tableSortLabelClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n direction,\n active\n } = ownerState;\n const slots = {\n root: ['root', active && 'active'],\n icon: ['icon', `iconDirection${capitalize(direction)}`]\n };\n return composeClasses(slots, getTableSortLabelUtilityClass, classes);\n};\nconst TableSortLabelRoot = styled(ButtonBase, {\n name: 'MuiTableSortLabel',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.active && styles.active];\n }\n})(({\n theme\n}) => ({\n cursor: 'pointer',\n display: 'inline-flex',\n justifyContent: 'flex-start',\n flexDirection: 'inherit',\n alignItems: 'center',\n '&:focus': {\n color: (theme.vars || theme).palette.text.secondary\n },\n '&:hover': {\n color: (theme.vars || theme).palette.text.secondary,\n [`& .${tableSortLabelClasses.icon}`]: {\n opacity: 0.5\n }\n },\n [`&.${tableSortLabelClasses.active}`]: {\n color: (theme.vars || theme).palette.text.primary,\n [`& .${tableSortLabelClasses.icon}`]: {\n opacity: 1,\n color: (theme.vars || theme).palette.text.secondary\n }\n }\n}));\nconst TableSortLabelIcon = styled('span', {\n name: 'MuiTableSortLabel',\n slot: 'Icon',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.icon, styles[`iconDirection${capitalize(ownerState.direction)}`]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n fontSize: 18,\n marginRight: 4,\n marginLeft: 4,\n opacity: 0,\n transition: theme.transitions.create(['opacity', 'transform'], {\n duration: theme.transitions.duration.shorter\n }),\n userSelect: 'none'\n}, ownerState.direction === 'desc' && {\n transform: 'rotate(0deg)'\n}, ownerState.direction === 'asc' && {\n transform: 'rotate(180deg)'\n}));\n\n/**\n * A button based label for placing inside `TableCell` for column sorting.\n */\nconst TableSortLabel = /*#__PURE__*/React.forwardRef(function TableSortLabel(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTableSortLabel'\n });\n const {\n active = false,\n children,\n className,\n direction = 'asc',\n hideSortIcon = false,\n IconComponent = ArrowDownwardIcon\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n active,\n direction,\n hideSortIcon,\n IconComponent\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(TableSortLabelRoot, _extends({\n className: clsx(classes.root, className),\n component: \"span\",\n disableRipple: true,\n ownerState: ownerState,\n ref: ref\n }, other, {\n children: [children, hideSortIcon && !active ? null : /*#__PURE__*/_jsx(TableSortLabelIcon, {\n as: IconComponent,\n className: clsx(classes.icon),\n ownerState: ownerState\n })]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TableSortLabel.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * If `true`, the label will have the active styling (should be true for the sorted column).\n * @default false\n */\n active: PropTypes.bool,\n /**\n * Label contents, the arrow will be appended automatically.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The current sort direction.\n * @default 'asc'\n */\n direction: PropTypes.oneOf(['asc', 'desc']),\n /**\n * Hide sort icon when active is false.\n * @default false\n */\n hideSortIcon: PropTypes.bool,\n /**\n * Sort icon to use.\n * @default ArrowDownwardIcon\n */\n IconComponent: PropTypes.elementType,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default TableSortLabel;","function easeInOutSin(time) {\n return (1 + Math.sin(Math.PI * time - Math.PI / 2)) / 2;\n}\nexport default function animate(property, element, to, options = {}, cb = () => {}) {\n const {\n ease = easeInOutSin,\n duration = 300 // standard\n } = options;\n let start = null;\n const from = element[property];\n let cancelled = false;\n const cancel = () => {\n cancelled = true;\n };\n const step = timestamp => {\n if (cancelled) {\n cb(new Error('Animation cancelled'));\n return;\n }\n if (start === null) {\n start = timestamp;\n }\n const time = Math.min(1, (timestamp - start) / duration);\n element[property] = ease(time) * (to - from) + from;\n if (time >= 1) {\n requestAnimationFrame(() => {\n cb(null);\n });\n return;\n }\n requestAnimationFrame(step);\n };\n if (from === to) {\n cb(new Error('Element already at target position'));\n return cancel;\n }\n requestAnimationFrame(step);\n return cancel;\n}","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"onChange\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport debounce from '../utils/debounce';\nimport { ownerWindow, unstable_useEnhancedEffect as useEnhancedEffect } from '../utils';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst styles = {\n width: 99,\n height: 99,\n position: 'absolute',\n top: -9999,\n overflow: 'scroll'\n};\n\n/**\n * @ignore - internal component.\n * The component originates from https://github.com/STORIS/react-scrollbar-size.\n * It has been moved into the core in order to minimize the bundle size.\n */\nexport default function ScrollbarSize(props) {\n const {\n onChange\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const scrollbarHeight = React.useRef();\n const nodeRef = React.useRef(null);\n const setMeasurements = () => {\n scrollbarHeight.current = nodeRef.current.offsetHeight - nodeRef.current.clientHeight;\n };\n useEnhancedEffect(() => {\n const handleResize = debounce(() => {\n const prevHeight = scrollbarHeight.current;\n setMeasurements();\n if (prevHeight !== scrollbarHeight.current) {\n onChange(scrollbarHeight.current);\n }\n });\n const containerWindow = ownerWindow(nodeRef.current);\n containerWindow.addEventListener('resize', handleResize);\n return () => {\n handleResize.clear();\n containerWindow.removeEventListener('resize', handleResize);\n };\n }, [onChange]);\n React.useEffect(() => {\n setMeasurements();\n onChange(scrollbarHeight.current);\n }, [onChange]);\n return /*#__PURE__*/_jsx(\"div\", _extends({\n style: styles,\n ref: nodeRef\n }, other));\n}\nprocess.env.NODE_ENV !== \"production\" ? ScrollbarSize.propTypes = {\n onChange: PropTypes.func.isRequired\n} : void 0;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getTabScrollButtonUtilityClass(slot) {\n return generateUtilityClass('MuiTabScrollButton', slot);\n}\nconst tabScrollButtonClasses = generateUtilityClasses('MuiTabScrollButton', ['root', 'vertical', 'horizontal', 'disabled']);\nexport default tabScrollButtonClasses;","'use client';\n\n/* eslint-disable jsx-a11y/aria-role */\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"slots\", \"slotProps\", \"direction\", \"orientation\", \"disabled\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { useSlotProps } from '@mui/base/utils';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { useRtl } from '@mui/system/RtlProvider';\nimport KeyboardArrowLeft from '../internal/svg-icons/KeyboardArrowLeft';\nimport KeyboardArrowRight from '../internal/svg-icons/KeyboardArrowRight';\nimport ButtonBase from '../ButtonBase';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport tabScrollButtonClasses, { getTabScrollButtonUtilityClass } from './tabScrollButtonClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n orientation,\n disabled\n } = ownerState;\n const slots = {\n root: ['root', orientation, disabled && 'disabled']\n };\n return composeClasses(slots, getTabScrollButtonUtilityClass, classes);\n};\nconst TabScrollButtonRoot = styled(ButtonBase, {\n name: 'MuiTabScrollButton',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.orientation && styles[ownerState.orientation]];\n }\n})(({\n ownerState\n}) => _extends({\n width: 40,\n flexShrink: 0,\n opacity: 0.8,\n [`&.${tabScrollButtonClasses.disabled}`]: {\n opacity: 0\n }\n}, ownerState.orientation === 'vertical' && {\n width: '100%',\n height: 40,\n '& svg': {\n transform: `rotate(${ownerState.isRtl ? -90 : 90}deg)`\n }\n}));\nconst TabScrollButton = /*#__PURE__*/React.forwardRef(function TabScrollButton(inProps, ref) {\n var _slots$StartScrollBut, _slots$EndScrollButto;\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTabScrollButton'\n });\n const {\n className,\n slots = {},\n slotProps = {},\n direction\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const isRtl = useRtl();\n const ownerState = _extends({\n isRtl\n }, props);\n const classes = useUtilityClasses(ownerState);\n const StartButtonIcon = (_slots$StartScrollBut = slots.StartScrollButtonIcon) != null ? _slots$StartScrollBut : KeyboardArrowLeft;\n const EndButtonIcon = (_slots$EndScrollButto = slots.EndScrollButtonIcon) != null ? _slots$EndScrollButto : KeyboardArrowRight;\n const startButtonIconProps = useSlotProps({\n elementType: StartButtonIcon,\n externalSlotProps: slotProps.startScrollButtonIcon,\n additionalProps: {\n fontSize: 'small'\n },\n ownerState\n });\n const endButtonIconProps = useSlotProps({\n elementType: EndButtonIcon,\n externalSlotProps: slotProps.endScrollButtonIcon,\n additionalProps: {\n fontSize: 'small'\n },\n ownerState\n });\n return /*#__PURE__*/_jsx(TabScrollButtonRoot, _extends({\n component: \"div\",\n className: clsx(classes.root, className),\n ref: ref,\n role: null,\n ownerState: ownerState,\n tabIndex: null\n }, other, {\n children: direction === 'left' ? /*#__PURE__*/_jsx(StartButtonIcon, _extends({}, startButtonIconProps)) : /*#__PURE__*/_jsx(EndButtonIcon, _extends({}, endButtonIconProps))\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TabScrollButton.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The direction the button should indicate.\n */\n direction: PropTypes.oneOf(['left', 'right']).isRequired,\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * The component orientation (layout flow direction).\n */\n orientation: PropTypes.oneOf(['horizontal', 'vertical']).isRequired,\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n * @default {}\n */\n slotProps: PropTypes.shape({\n endScrollButtonIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n startScrollButtonIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside.\n * @default {}\n */\n slots: PropTypes.shape({\n EndScrollButtonIcon: PropTypes.elementType,\n StartScrollButtonIcon: PropTypes.elementType\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default TabScrollButton;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getTabsUtilityClass(slot) {\n return generateUtilityClass('MuiTabs', slot);\n}\nconst tabsClasses = generateUtilityClasses('MuiTabs', ['root', 'vertical', 'flexContainer', 'flexContainerVertical', 'centered', 'scroller', 'fixed', 'scrollableX', 'scrollableY', 'hideScrollbar', 'scrollButtons', 'scrollButtonsHideMobile', 'indicator']);\nexport default tabsClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"aria-label\", \"aria-labelledby\", \"action\", \"centered\", \"children\", \"className\", \"component\", \"allowScrollButtonsMobile\", \"indicatorColor\", \"onChange\", \"orientation\", \"ScrollButtonComponent\", \"scrollButtons\", \"selectionFollowsFocus\", \"slots\", \"slotProps\", \"TabIndicatorProps\", \"TabScrollButtonProps\", \"textColor\", \"value\", \"variant\", \"visibleScrollbar\"];\nimport * as React from 'react';\nimport { isFragment } from 'react-is';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport refType from '@mui/utils/refType';\nimport { useSlotProps } from '@mui/base/utils';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { useRtl } from '@mui/system/RtlProvider';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport useTheme from '../styles/useTheme';\nimport debounce from '../utils/debounce';\nimport { getNormalizedScrollLeft, detectScrollType } from '../utils/scrollLeft';\nimport animate from '../internal/animate';\nimport ScrollbarSize from './ScrollbarSize';\nimport TabScrollButton from '../TabScrollButton';\nimport useEventCallback from '../utils/useEventCallback';\nimport tabsClasses, { getTabsUtilityClass } from './tabsClasses';\nimport ownerDocument from '../utils/ownerDocument';\nimport ownerWindow from '../utils/ownerWindow';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst nextItem = (list, item) => {\n if (list === item) {\n return list.firstChild;\n }\n if (item && item.nextElementSibling) {\n return item.nextElementSibling;\n }\n return list.firstChild;\n};\nconst previousItem = (list, item) => {\n if (list === item) {\n return list.lastChild;\n }\n if (item && item.previousElementSibling) {\n return item.previousElementSibling;\n }\n return list.lastChild;\n};\nconst moveFocus = (list, currentFocus, traversalFunction) => {\n let wrappedOnce = false;\n let nextFocus = traversalFunction(list, currentFocus);\n while (nextFocus) {\n // Prevent infinite loop.\n if (nextFocus === list.firstChild) {\n if (wrappedOnce) {\n return;\n }\n wrappedOnce = true;\n }\n\n // Same logic as useAutocomplete.js\n const nextFocusDisabled = nextFocus.disabled || nextFocus.getAttribute('aria-disabled') === 'true';\n if (!nextFocus.hasAttribute('tabindex') || nextFocusDisabled) {\n // Move to the next element.\n nextFocus = traversalFunction(list, nextFocus);\n } else {\n nextFocus.focus();\n return;\n }\n }\n};\nconst useUtilityClasses = ownerState => {\n const {\n vertical,\n fixed,\n hideScrollbar,\n scrollableX,\n scrollableY,\n centered,\n scrollButtonsHideMobile,\n classes\n } = ownerState;\n const slots = {\n root: ['root', vertical && 'vertical'],\n scroller: ['scroller', fixed && 'fixed', hideScrollbar && 'hideScrollbar', scrollableX && 'scrollableX', scrollableY && 'scrollableY'],\n flexContainer: ['flexContainer', vertical && 'flexContainerVertical', centered && 'centered'],\n indicator: ['indicator'],\n scrollButtons: ['scrollButtons', scrollButtonsHideMobile && 'scrollButtonsHideMobile'],\n scrollableX: [scrollableX && 'scrollableX'],\n hideScrollbar: [hideScrollbar && 'hideScrollbar']\n };\n return composeClasses(slots, getTabsUtilityClass, classes);\n};\nconst TabsRoot = styled('div', {\n name: 'MuiTabs',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [{\n [`& .${tabsClasses.scrollButtons}`]: styles.scrollButtons\n }, {\n [`& .${tabsClasses.scrollButtons}`]: ownerState.scrollButtonsHideMobile && styles.scrollButtonsHideMobile\n }, styles.root, ownerState.vertical && styles.vertical];\n }\n})(({\n ownerState,\n theme\n}) => _extends({\n overflow: 'hidden',\n minHeight: 48,\n // Add iOS momentum scrolling for iOS < 13.0\n WebkitOverflowScrolling: 'touch',\n display: 'flex'\n}, ownerState.vertical && {\n flexDirection: 'column'\n}, ownerState.scrollButtonsHideMobile && {\n [`& .${tabsClasses.scrollButtons}`]: {\n [theme.breakpoints.down('sm')]: {\n display: 'none'\n }\n }\n}));\nconst TabsScroller = styled('div', {\n name: 'MuiTabs',\n slot: 'Scroller',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.scroller, ownerState.fixed && styles.fixed, ownerState.hideScrollbar && styles.hideScrollbar, ownerState.scrollableX && styles.scrollableX, ownerState.scrollableY && styles.scrollableY];\n }\n})(({\n ownerState\n}) => _extends({\n position: 'relative',\n display: 'inline-block',\n flex: '1 1 auto',\n whiteSpace: 'nowrap'\n}, ownerState.fixed && {\n overflowX: 'hidden',\n width: '100%'\n}, ownerState.hideScrollbar && {\n // Hide dimensionless scrollbar on macOS\n scrollbarWidth: 'none',\n // Firefox\n '&::-webkit-scrollbar': {\n display: 'none' // Safari + Chrome\n }\n}, ownerState.scrollableX && {\n overflowX: 'auto',\n overflowY: 'hidden'\n}, ownerState.scrollableY && {\n overflowY: 'auto',\n overflowX: 'hidden'\n}));\nconst FlexContainer = styled('div', {\n name: 'MuiTabs',\n slot: 'FlexContainer',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.flexContainer, ownerState.vertical && styles.flexContainerVertical, ownerState.centered && styles.centered];\n }\n})(({\n ownerState\n}) => _extends({\n display: 'flex'\n}, ownerState.vertical && {\n flexDirection: 'column'\n}, ownerState.centered && {\n justifyContent: 'center'\n}));\nconst TabsIndicator = styled('span', {\n name: 'MuiTabs',\n slot: 'Indicator',\n overridesResolver: (props, styles) => styles.indicator\n})(({\n ownerState,\n theme\n}) => _extends({\n position: 'absolute',\n height: 2,\n bottom: 0,\n width: '100%',\n transition: theme.transitions.create()\n}, ownerState.indicatorColor === 'primary' && {\n backgroundColor: (theme.vars || theme).palette.primary.main\n}, ownerState.indicatorColor === 'secondary' && {\n backgroundColor: (theme.vars || theme).palette.secondary.main\n}, ownerState.vertical && {\n height: '100%',\n width: 2,\n right: 0\n}));\nconst TabsScrollbarSize = styled(ScrollbarSize)({\n overflowX: 'auto',\n overflowY: 'hidden',\n // Hide dimensionless scrollbar on macOS\n scrollbarWidth: 'none',\n // Firefox\n '&::-webkit-scrollbar': {\n display: 'none' // Safari + Chrome\n }\n});\nconst defaultIndicatorStyle = {};\nlet warnedOnceTabPresent = false;\nconst Tabs = /*#__PURE__*/React.forwardRef(function Tabs(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTabs'\n });\n const theme = useTheme();\n const isRtl = useRtl();\n const {\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n action,\n centered = false,\n children: childrenProp,\n className,\n component = 'div',\n allowScrollButtonsMobile = false,\n indicatorColor = 'primary',\n onChange,\n orientation = 'horizontal',\n ScrollButtonComponent = TabScrollButton,\n scrollButtons = 'auto',\n selectionFollowsFocus,\n slots = {},\n slotProps = {},\n TabIndicatorProps = {},\n TabScrollButtonProps = {},\n textColor = 'primary',\n value,\n variant = 'standard',\n visibleScrollbar = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const scrollable = variant === 'scrollable';\n const vertical = orientation === 'vertical';\n const scrollStart = vertical ? 'scrollTop' : 'scrollLeft';\n const start = vertical ? 'top' : 'left';\n const end = vertical ? 'bottom' : 'right';\n const clientSize = vertical ? 'clientHeight' : 'clientWidth';\n const size = vertical ? 'height' : 'width';\n const ownerState = _extends({}, props, {\n component,\n allowScrollButtonsMobile,\n indicatorColor,\n orientation,\n vertical,\n scrollButtons,\n textColor,\n variant,\n visibleScrollbar,\n fixed: !scrollable,\n hideScrollbar: scrollable && !visibleScrollbar,\n scrollableX: scrollable && !vertical,\n scrollableY: scrollable && vertical,\n centered: centered && !scrollable,\n scrollButtonsHideMobile: !allowScrollButtonsMobile\n });\n const classes = useUtilityClasses(ownerState);\n const startScrollButtonIconProps = useSlotProps({\n elementType: slots.StartScrollButtonIcon,\n externalSlotProps: slotProps.startScrollButtonIcon,\n ownerState\n });\n const endScrollButtonIconProps = useSlotProps({\n elementType: slots.EndScrollButtonIcon,\n externalSlotProps: slotProps.endScrollButtonIcon,\n ownerState\n });\n if (process.env.NODE_ENV !== 'production') {\n if (centered && scrollable) {\n console.error('MUI: You can not use the `centered={true}` and `variant=\"scrollable\"` properties ' + 'at the same time on a `Tabs` component.');\n }\n }\n const [mounted, setMounted] = React.useState(false);\n const [indicatorStyle, setIndicatorStyle] = React.useState(defaultIndicatorStyle);\n const [displayStartScroll, setDisplayStartScroll] = React.useState(false);\n const [displayEndScroll, setDisplayEndScroll] = React.useState(false);\n const [updateScrollObserver, setUpdateScrollObserver] = React.useState(false);\n const [scrollerStyle, setScrollerStyle] = React.useState({\n overflow: 'hidden',\n scrollbarWidth: 0\n });\n const valueToIndex = new Map();\n const tabsRef = React.useRef(null);\n const tabListRef = React.useRef(null);\n const getTabsMeta = () => {\n const tabsNode = tabsRef.current;\n let tabsMeta;\n if (tabsNode) {\n const rect = tabsNode.getBoundingClientRect();\n // create a new object with ClientRect class props + scrollLeft\n tabsMeta = {\n clientWidth: tabsNode.clientWidth,\n scrollLeft: tabsNode.scrollLeft,\n scrollTop: tabsNode.scrollTop,\n scrollLeftNormalized: getNormalizedScrollLeft(tabsNode, isRtl ? 'rtl' : 'ltr'),\n scrollWidth: tabsNode.scrollWidth,\n top: rect.top,\n bottom: rect.bottom,\n left: rect.left,\n right: rect.right\n };\n }\n let tabMeta;\n if (tabsNode && value !== false) {\n const children = tabListRef.current.children;\n if (children.length > 0) {\n const tab = children[valueToIndex.get(value)];\n if (process.env.NODE_ENV !== 'production') {\n if (!tab) {\n console.error([`MUI: The \\`value\\` provided to the Tabs component is invalid.`, `None of the Tabs' children match with \"${value}\".`, valueToIndex.keys ? `You can provide one of the following values: ${Array.from(valueToIndex.keys()).join(', ')}.` : null].join('\\n'));\n }\n }\n tabMeta = tab ? tab.getBoundingClientRect() : null;\n if (process.env.NODE_ENV !== 'production') {\n if (process.env.NODE_ENV !== 'test' && !warnedOnceTabPresent && tabMeta && tabMeta.width === 0 && tabMeta.height === 0 &&\n // if the whole Tabs component is hidden, don't warn\n tabsMeta.clientWidth !== 0) {\n tabsMeta = null;\n console.error(['MUI: The `value` provided to the Tabs component is invalid.', `The Tab with this \\`value\\` (\"${value}\") is not part of the document layout.`, \"Make sure the tab item is present in the document or that it's not `display: none`.\"].join('\\n'));\n warnedOnceTabPresent = true;\n }\n }\n }\n }\n return {\n tabsMeta,\n tabMeta\n };\n };\n const updateIndicatorState = useEventCallback(() => {\n const {\n tabsMeta,\n tabMeta\n } = getTabsMeta();\n let startValue = 0;\n let startIndicator;\n if (vertical) {\n startIndicator = 'top';\n if (tabMeta && tabsMeta) {\n startValue = tabMeta.top - tabsMeta.top + tabsMeta.scrollTop;\n }\n } else {\n startIndicator = isRtl ? 'right' : 'left';\n if (tabMeta && tabsMeta) {\n const correction = isRtl ? tabsMeta.scrollLeftNormalized + tabsMeta.clientWidth - tabsMeta.scrollWidth : tabsMeta.scrollLeft;\n startValue = (isRtl ? -1 : 1) * (tabMeta[startIndicator] - tabsMeta[startIndicator] + correction);\n }\n }\n const newIndicatorStyle = {\n [startIndicator]: startValue,\n // May be wrong until the font is loaded.\n [size]: tabMeta ? tabMeta[size] : 0\n };\n\n // IE11 support, replace with Number.isNaN\n // eslint-disable-next-line no-restricted-globals\n if (isNaN(indicatorStyle[startIndicator]) || isNaN(indicatorStyle[size])) {\n setIndicatorStyle(newIndicatorStyle);\n } else {\n const dStart = Math.abs(indicatorStyle[startIndicator] - newIndicatorStyle[startIndicator]);\n const dSize = Math.abs(indicatorStyle[size] - newIndicatorStyle[size]);\n if (dStart >= 1 || dSize >= 1) {\n setIndicatorStyle(newIndicatorStyle);\n }\n }\n });\n const scroll = (scrollValue, {\n animation = true\n } = {}) => {\n if (animation) {\n animate(scrollStart, tabsRef.current, scrollValue, {\n duration: theme.transitions.duration.standard\n });\n } else {\n tabsRef.current[scrollStart] = scrollValue;\n }\n };\n const moveTabsScroll = delta => {\n let scrollValue = tabsRef.current[scrollStart];\n if (vertical) {\n scrollValue += delta;\n } else {\n scrollValue += delta * (isRtl ? -1 : 1);\n // Fix for Edge\n scrollValue *= isRtl && detectScrollType() === 'reverse' ? -1 : 1;\n }\n scroll(scrollValue);\n };\n const getScrollSize = () => {\n const containerSize = tabsRef.current[clientSize];\n let totalSize = 0;\n const children = Array.from(tabListRef.current.children);\n for (let i = 0; i < children.length; i += 1) {\n const tab = children[i];\n if (totalSize + tab[clientSize] > containerSize) {\n // If the first item is longer than the container size, then only scroll\n // by the container size.\n if (i === 0) {\n totalSize = containerSize;\n }\n break;\n }\n totalSize += tab[clientSize];\n }\n return totalSize;\n };\n const handleStartScrollClick = () => {\n moveTabsScroll(-1 * getScrollSize());\n };\n const handleEndScrollClick = () => {\n moveTabsScroll(getScrollSize());\n };\n\n // TODO Remove <ScrollbarSize /> as browser support for hiding the scrollbar\n // with CSS improves.\n const handleScrollbarSizeChange = React.useCallback(scrollbarWidth => {\n setScrollerStyle({\n overflow: null,\n scrollbarWidth\n });\n }, []);\n const getConditionalElements = () => {\n const conditionalElements = {};\n conditionalElements.scrollbarSizeListener = scrollable ? /*#__PURE__*/_jsx(TabsScrollbarSize, {\n onChange: handleScrollbarSizeChange,\n className: clsx(classes.scrollableX, classes.hideScrollbar)\n }) : null;\n const scrollButtonsActive = displayStartScroll || displayEndScroll;\n const showScrollButtons = scrollable && (scrollButtons === 'auto' && scrollButtonsActive || scrollButtons === true);\n conditionalElements.scrollButtonStart = showScrollButtons ? /*#__PURE__*/_jsx(ScrollButtonComponent, _extends({\n slots: {\n StartScrollButtonIcon: slots.StartScrollButtonIcon\n },\n slotProps: {\n startScrollButtonIcon: startScrollButtonIconProps\n },\n orientation: orientation,\n direction: isRtl ? 'right' : 'left',\n onClick: handleStartScrollClick,\n disabled: !displayStartScroll\n }, TabScrollButtonProps, {\n className: clsx(classes.scrollButtons, TabScrollButtonProps.className)\n })) : null;\n conditionalElements.scrollButtonEnd = showScrollButtons ? /*#__PURE__*/_jsx(ScrollButtonComponent, _extends({\n slots: {\n EndScrollButtonIcon: slots.EndScrollButtonIcon\n },\n slotProps: {\n endScrollButtonIcon: endScrollButtonIconProps\n },\n orientation: orientation,\n direction: isRtl ? 'left' : 'right',\n onClick: handleEndScrollClick,\n disabled: !displayEndScroll\n }, TabScrollButtonProps, {\n className: clsx(classes.scrollButtons, TabScrollButtonProps.className)\n })) : null;\n return conditionalElements;\n };\n const scrollSelectedIntoView = useEventCallback(animation => {\n const {\n tabsMeta,\n tabMeta\n } = getTabsMeta();\n if (!tabMeta || !tabsMeta) {\n return;\n }\n if (tabMeta[start] < tabsMeta[start]) {\n // left side of button is out of view\n const nextScrollStart = tabsMeta[scrollStart] + (tabMeta[start] - tabsMeta[start]);\n scroll(nextScrollStart, {\n animation\n });\n } else if (tabMeta[end] > tabsMeta[end]) {\n // right side of button is out of view\n const nextScrollStart = tabsMeta[scrollStart] + (tabMeta[end] - tabsMeta[end]);\n scroll(nextScrollStart, {\n animation\n });\n }\n });\n const updateScrollButtonState = useEventCallback(() => {\n if (scrollable && scrollButtons !== false) {\n setUpdateScrollObserver(!updateScrollObserver);\n }\n });\n React.useEffect(() => {\n const handleResize = debounce(() => {\n // If the Tabs component is replaced by Suspense with a fallback, the last\n // ResizeObserver's handler that runs because of the change in the layout is trying to\n // access a dom node that is no longer there (as the fallback component is being shown instead).\n // See https://github.com/mui/material-ui/issues/33276\n // TODO: Add tests that will ensure the component is not failing when\n // replaced by Suspense with a fallback, once React is updated to version 18\n if (tabsRef.current) {\n updateIndicatorState();\n }\n });\n let resizeObserver;\n\n /**\n * @type {MutationCallback}\n */\n const handleMutation = records => {\n records.forEach(record => {\n record.removedNodes.forEach(item => {\n var _resizeObserver;\n (_resizeObserver = resizeObserver) == null || _resizeObserver.unobserve(item);\n });\n record.addedNodes.forEach(item => {\n var _resizeObserver2;\n (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.observe(item);\n });\n });\n handleResize();\n updateScrollButtonState();\n };\n const win = ownerWindow(tabsRef.current);\n win.addEventListener('resize', handleResize);\n let mutationObserver;\n if (typeof ResizeObserver !== 'undefined') {\n resizeObserver = new ResizeObserver(handleResize);\n Array.from(tabListRef.current.children).forEach(child => {\n resizeObserver.observe(child);\n });\n }\n if (typeof MutationObserver !== 'undefined') {\n mutationObserver = new MutationObserver(handleMutation);\n mutationObserver.observe(tabListRef.current, {\n childList: true\n });\n }\n return () => {\n var _mutationObserver, _resizeObserver3;\n handleResize.clear();\n win.removeEventListener('resize', handleResize);\n (_mutationObserver = mutationObserver) == null || _mutationObserver.disconnect();\n (_resizeObserver3 = resizeObserver) == null || _resizeObserver3.disconnect();\n };\n }, [updateIndicatorState, updateScrollButtonState]);\n\n /**\n * Toggle visibility of start and end scroll buttons\n * Using IntersectionObserver on first and last Tabs.\n */\n React.useEffect(() => {\n const tabListChildren = Array.from(tabListRef.current.children);\n const length = tabListChildren.length;\n if (typeof IntersectionObserver !== 'undefined' && length > 0 && scrollable && scrollButtons !== false) {\n const firstTab = tabListChildren[0];\n const lastTab = tabListChildren[length - 1];\n const observerOptions = {\n root: tabsRef.current,\n threshold: 0.99\n };\n const handleScrollButtonStart = entries => {\n setDisplayStartScroll(!entries[0].isIntersecting);\n };\n const firstObserver = new IntersectionObserver(handleScrollButtonStart, observerOptions);\n firstObserver.observe(firstTab);\n const handleScrollButtonEnd = entries => {\n setDisplayEndScroll(!entries[0].isIntersecting);\n };\n const lastObserver = new IntersectionObserver(handleScrollButtonEnd, observerOptions);\n lastObserver.observe(lastTab);\n return () => {\n firstObserver.disconnect();\n lastObserver.disconnect();\n };\n }\n return undefined;\n }, [scrollable, scrollButtons, updateScrollObserver, childrenProp == null ? void 0 : childrenProp.length]);\n React.useEffect(() => {\n setMounted(true);\n }, []);\n React.useEffect(() => {\n updateIndicatorState();\n });\n React.useEffect(() => {\n // Don't animate on the first render.\n scrollSelectedIntoView(defaultIndicatorStyle !== indicatorStyle);\n }, [scrollSelectedIntoView, indicatorStyle]);\n React.useImperativeHandle(action, () => ({\n updateIndicator: updateIndicatorState,\n updateScrollButtons: updateScrollButtonState\n }), [updateIndicatorState, updateScrollButtonState]);\n const indicator = /*#__PURE__*/_jsx(TabsIndicator, _extends({}, TabIndicatorProps, {\n className: clsx(classes.indicator, TabIndicatorProps.className),\n ownerState: ownerState,\n style: _extends({}, indicatorStyle, TabIndicatorProps.style)\n }));\n let childIndex = 0;\n const children = React.Children.map(childrenProp, child => {\n if (! /*#__PURE__*/React.isValidElement(child)) {\n return null;\n }\n if (process.env.NODE_ENV !== 'production') {\n if (isFragment(child)) {\n console.error([\"MUI: The Tabs component doesn't accept a Fragment as a child.\", 'Consider providing an array instead.'].join('\\n'));\n }\n }\n const childValue = child.props.value === undefined ? childIndex : child.props.value;\n valueToIndex.set(childValue, childIndex);\n const selected = childValue === value;\n childIndex += 1;\n return /*#__PURE__*/React.cloneElement(child, _extends({\n fullWidth: variant === 'fullWidth',\n indicator: selected && !mounted && indicator,\n selected,\n selectionFollowsFocus,\n onChange,\n textColor,\n value: childValue\n }, childIndex === 1 && value === false && !child.props.tabIndex ? {\n tabIndex: 0\n } : {}));\n });\n const handleKeyDown = event => {\n const list = tabListRef.current;\n const currentFocus = ownerDocument(list).activeElement;\n // Keyboard navigation assumes that [role=\"tab\"] are siblings\n // though we might warn in the future about nested, interactive elements\n // as a a11y violation\n const role = currentFocus.getAttribute('role');\n if (role !== 'tab') {\n return;\n }\n let previousItemKey = orientation === 'horizontal' ? 'ArrowLeft' : 'ArrowUp';\n let nextItemKey = orientation === 'horizontal' ? 'ArrowRight' : 'ArrowDown';\n if (orientation === 'horizontal' && isRtl) {\n // swap previousItemKey with nextItemKey\n previousItemKey = 'ArrowRight';\n nextItemKey = 'ArrowLeft';\n }\n switch (event.key) {\n case previousItemKey:\n event.preventDefault();\n moveFocus(list, currentFocus, previousItem);\n break;\n case nextItemKey:\n event.preventDefault();\n moveFocus(list, currentFocus, nextItem);\n break;\n case 'Home':\n event.preventDefault();\n moveFocus(list, null, nextItem);\n break;\n case 'End':\n event.preventDefault();\n moveFocus(list, null, previousItem);\n break;\n default:\n break;\n }\n };\n const conditionalElements = getConditionalElements();\n return /*#__PURE__*/_jsxs(TabsRoot, _extends({\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref,\n as: component\n }, other, {\n children: [conditionalElements.scrollButtonStart, conditionalElements.scrollbarSizeListener, /*#__PURE__*/_jsxs(TabsScroller, {\n className: classes.scroller,\n ownerState: ownerState,\n style: {\n overflow: scrollerStyle.overflow,\n [vertical ? `margin${isRtl ? 'Left' : 'Right'}` : 'marginBottom']: visibleScrollbar ? undefined : -scrollerStyle.scrollbarWidth\n },\n ref: tabsRef,\n children: [/*#__PURE__*/_jsx(FlexContainer, {\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-orientation\": orientation === 'vertical' ? 'vertical' : null,\n className: classes.flexContainer,\n ownerState: ownerState,\n onKeyDown: handleKeyDown,\n ref: tabListRef,\n role: \"tablist\",\n children: children\n }), mounted && indicator]\n }), conditionalElements.scrollButtonEnd]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Tabs.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Callback fired when the component mounts.\n * This is useful when you want to trigger an action programmatically.\n * It supports two actions: `updateIndicator()` and `updateScrollButtons()`\n *\n * @param {object} actions This object contains all possible actions\n * that can be triggered programmatically.\n */\n action: refType,\n /**\n * If `true`, the scroll buttons aren't forced hidden on mobile.\n * By default the scroll buttons are hidden on mobile and takes precedence over `scrollButtons`.\n * @default false\n */\n allowScrollButtonsMobile: PropTypes.bool,\n /**\n * The label for the Tabs as a string.\n */\n 'aria-label': PropTypes.string,\n /**\n * An id or list of ids separated by a space that label the Tabs.\n */\n 'aria-labelledby': PropTypes.string,\n /**\n * If `true`, the tabs are centered.\n * This prop is intended for large views.\n * @default false\n */\n centered: PropTypes.bool,\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * Determines the color of the indicator.\n * @default 'primary'\n */\n indicatorColor: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['primary', 'secondary']), PropTypes.string]),\n /**\n * Callback fired when the value changes.\n *\n * @param {React.SyntheticEvent} event The event source of the callback. **Warning**: This is a generic event not a change event.\n * @param {any} value We default to the index of the child (number)\n */\n onChange: PropTypes.func,\n /**\n * The component orientation (layout flow direction).\n * @default 'horizontal'\n */\n orientation: PropTypes.oneOf(['horizontal', 'vertical']),\n /**\n * The component used to render the scroll buttons.\n * @default TabScrollButton\n */\n ScrollButtonComponent: PropTypes.elementType,\n /**\n * Determine behavior of scroll buttons when tabs are set to scroll:\n *\n * - `auto` will only present them when not all the items are visible.\n * - `true` will always present them.\n * - `false` will never present them.\n *\n * By default the scroll buttons are hidden on mobile.\n * This behavior can be disabled with `allowScrollButtonsMobile`.\n * @default 'auto'\n */\n scrollButtons: PropTypes /* @typescript-to-proptypes-ignore */.oneOf(['auto', false, true]),\n /**\n * If `true` the selected tab changes on focus. Otherwise it only\n * changes on activation.\n */\n selectionFollowsFocus: PropTypes.bool,\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n * @default {}\n */\n slotProps: PropTypes.shape({\n endScrollButtonIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n startScrollButtonIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside.\n * @default {}\n */\n slots: PropTypes.shape({\n EndScrollButtonIcon: PropTypes.elementType,\n StartScrollButtonIcon: PropTypes.elementType\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * Props applied to the tab indicator element.\n * @default {}\n */\n TabIndicatorProps: PropTypes.object,\n /**\n * Props applied to the [`TabScrollButton`](/material-ui/api/tab-scroll-button/) element.\n * @default {}\n */\n TabScrollButtonProps: PropTypes.object,\n /**\n * Determines the color of the `Tab`.\n * @default 'primary'\n */\n textColor: PropTypes.oneOf(['inherit', 'primary', 'secondary']),\n /**\n * The value of the currently selected `Tab`.\n * If you don't want any selected `Tab`, you can set this prop to `false`.\n */\n value: PropTypes.any,\n /**\n * Determines additional display behavior of the tabs:\n *\n * - `scrollable` will invoke scrolling properties and allow for horizontally\n * scrolling (or swiping) of the tab bar.\n * - `fullWidth` will make the tabs grow to use all the available space,\n * which should be used for small views, like on mobile.\n * - `standard` will render the default state.\n * @default 'standard'\n */\n variant: PropTypes.oneOf(['fullWidth', 'scrollable', 'standard']),\n /**\n * If `true`, the scrollbar is visible. It can be useful when displaying\n * a long vertical list of tabs.\n * @default false\n */\n visibleScrollbar: PropTypes.bool\n} : void 0;\nexport default Tabs;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getTextFieldUtilityClass(slot) {\n return generateUtilityClass('MuiTextField', slot);\n}\nconst textFieldClasses = generateUtilityClasses('MuiTextField', ['root']);\nexport default textFieldClasses;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"autoComplete\", \"autoFocus\", \"children\", \"className\", \"color\", \"defaultValue\", \"disabled\", \"error\", \"FormHelperTextProps\", \"fullWidth\", \"helperText\", \"id\", \"InputLabelProps\", \"inputProps\", \"InputProps\", \"inputRef\", \"label\", \"maxRows\", \"minRows\", \"multiline\", \"name\", \"onBlur\", \"onChange\", \"onFocus\", \"placeholder\", \"required\", \"rows\", \"select\", \"SelectProps\", \"type\", \"value\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport useId from '@mui/utils/useId';\nimport refType from '@mui/utils/refType';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport Input from '../Input';\nimport FilledInput from '../FilledInput';\nimport OutlinedInput from '../OutlinedInput';\nimport InputLabel from '../InputLabel';\nimport FormControl from '../FormControl';\nimport FormHelperText from '../FormHelperText';\nimport Select from '../Select';\nimport { getTextFieldUtilityClass } from './textFieldClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst variantComponent = {\n standard: Input,\n filled: FilledInput,\n outlined: OutlinedInput\n};\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getTextFieldUtilityClass, classes);\n};\nconst TextFieldRoot = styled(FormControl, {\n name: 'MuiTextField',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({});\n\n/**\n * The `TextField` is a convenience wrapper for the most common cases (80%).\n * It cannot be all things to all people, otherwise the API would grow out of control.\n *\n * ## Advanced Configuration\n *\n * It's important to understand that the text field is a simple abstraction\n * on top of the following components:\n *\n * - [FormControl](/material-ui/api/form-control/)\n * - [InputLabel](/material-ui/api/input-label/)\n * - [FilledInput](/material-ui/api/filled-input/)\n * - [OutlinedInput](/material-ui/api/outlined-input/)\n * - [Input](/material-ui/api/input/)\n * - [FormHelperText](/material-ui/api/form-helper-text/)\n *\n * If you wish to alter the props applied to the `input` element, you can do so as follows:\n *\n * ```jsx\n * const inputProps = {\n * step: 300,\n * };\n *\n * return <TextField id=\"time\" type=\"time\" inputProps={inputProps} />;\n * ```\n *\n * For advanced cases, please look at the source of TextField by clicking on the\n * \"Edit this page\" button above. Consider either:\n *\n * - using the upper case props for passing values directly to the components\n * - using the underlying components directly as shown in the demos\n */\nconst TextField = /*#__PURE__*/React.forwardRef(function TextField(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTextField'\n });\n const {\n autoComplete,\n autoFocus = false,\n children,\n className,\n color = 'primary',\n defaultValue,\n disabled = false,\n error = false,\n FormHelperTextProps,\n fullWidth = false,\n helperText,\n id: idOverride,\n InputLabelProps,\n inputProps,\n InputProps,\n inputRef,\n label,\n maxRows,\n minRows,\n multiline = false,\n name,\n onBlur,\n onChange,\n onFocus,\n placeholder,\n required = false,\n rows,\n select = false,\n SelectProps,\n type,\n value,\n variant = 'outlined'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n autoFocus,\n color,\n disabled,\n error,\n fullWidth,\n multiline,\n required,\n select,\n variant\n });\n const classes = useUtilityClasses(ownerState);\n if (process.env.NODE_ENV !== 'production') {\n if (select && !children) {\n console.error('MUI: `children` must be passed when using the `TextField` component with `select`.');\n }\n }\n const InputMore = {};\n if (variant === 'outlined') {\n if (InputLabelProps && typeof InputLabelProps.shrink !== 'undefined') {\n InputMore.notched = InputLabelProps.shrink;\n }\n InputMore.label = label;\n }\n if (select) {\n // unset defaults from textbox inputs\n if (!SelectProps || !SelectProps.native) {\n InputMore.id = undefined;\n }\n InputMore['aria-describedby'] = undefined;\n }\n const id = useId(idOverride);\n const helperTextId = helperText && id ? `${id}-helper-text` : undefined;\n const inputLabelId = label && id ? `${id}-label` : undefined;\n const InputComponent = variantComponent[variant];\n const InputElement = /*#__PURE__*/_jsx(InputComponent, _extends({\n \"aria-describedby\": helperTextId,\n autoComplete: autoComplete,\n autoFocus: autoFocus,\n defaultValue: defaultValue,\n fullWidth: fullWidth,\n multiline: multiline,\n name: name,\n rows: rows,\n maxRows: maxRows,\n minRows: minRows,\n type: type,\n value: value,\n id: id,\n inputRef: inputRef,\n onBlur: onBlur,\n onChange: onChange,\n onFocus: onFocus,\n placeholder: placeholder,\n inputProps: inputProps\n }, InputMore, InputProps));\n return /*#__PURE__*/_jsxs(TextFieldRoot, _extends({\n className: clsx(classes.root, className),\n disabled: disabled,\n error: error,\n fullWidth: fullWidth,\n ref: ref,\n required: required,\n color: color,\n variant: variant,\n ownerState: ownerState\n }, other, {\n children: [label != null && label !== '' && /*#__PURE__*/_jsx(InputLabel, _extends({\n htmlFor: id,\n id: inputLabelId\n }, InputLabelProps, {\n children: label\n })), select ? /*#__PURE__*/_jsx(Select, _extends({\n \"aria-describedby\": helperTextId,\n id: id,\n labelId: inputLabelId,\n value: value,\n input: InputElement\n }, SelectProps, {\n children: children\n })) : InputElement, helperText && /*#__PURE__*/_jsx(FormHelperText, _extends({\n id: helperTextId\n }, FormHelperTextProps, {\n children: helperText\n }))]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TextField.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * This prop helps users to fill forms faster, especially on mobile devices.\n * The name can be confusing, as it's more like an autofill.\n * You can learn more about it [following the specification](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill).\n */\n autoComplete: PropTypes.string,\n /**\n * If `true`, the `input` element is focused during the first mount.\n * @default false\n */\n autoFocus: PropTypes.bool,\n /**\n * @ignore\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * @default 'primary'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * The default value. Use when the component is not controlled.\n */\n defaultValue: PropTypes.any,\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the label is displayed in an error state.\n * @default false\n */\n error: PropTypes.bool,\n /**\n * Props applied to the [`FormHelperText`](/material-ui/api/form-helper-text/) element.\n */\n FormHelperTextProps: PropTypes.object,\n /**\n * If `true`, the input will take up the full width of its container.\n * @default false\n */\n fullWidth: PropTypes.bool,\n /**\n * The helper text content.\n */\n helperText: PropTypes.node,\n /**\n * The id of the `input` element.\n * Use this prop to make `label` and `helperText` accessible for screen readers.\n */\n id: PropTypes.string,\n /**\n * Props applied to the [`InputLabel`](/material-ui/api/input-label/) element.\n * Pointer events like `onClick` are enabled if and only if `shrink` is `true`.\n */\n InputLabelProps: PropTypes.object,\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: PropTypes.object,\n /**\n * Props applied to the Input element.\n * It will be a [`FilledInput`](/material-ui/api/filled-input/),\n * [`OutlinedInput`](/material-ui/api/outlined-input/) or [`Input`](/material-ui/api/input/)\n * component depending on the `variant` prop value.\n */\n InputProps: PropTypes.object,\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n /**\n * The label content.\n */\n label: PropTypes.node,\n /**\n * If `dense` or `normal`, will adjust vertical spacing of this and contained components.\n * @default 'none'\n */\n margin: PropTypes.oneOf(['dense', 'none', 'normal']),\n /**\n * Maximum number of rows to display when multiline option is set to true.\n */\n maxRows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * Minimum number of rows to display when multiline option is set to true.\n */\n minRows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * If `true`, a `textarea` element is rendered instead of an input.\n * @default false\n */\n multiline: PropTypes.bool,\n /**\n * Name attribute of the `input` element.\n */\n name: PropTypes.string,\n /**\n * @ignore\n */\n onBlur: PropTypes.func,\n /**\n * Callback fired when the value is changed.\n *\n * @param {object} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value` (string).\n */\n onChange: PropTypes.func,\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n /**\n * The short hint displayed in the `input` before the user enters a value.\n */\n placeholder: PropTypes.string,\n /**\n * If `true`, the label is displayed as required and the `input` element is required.\n * @default false\n */\n required: PropTypes.bool,\n /**\n * Number of rows to display when multiline option is set to true.\n */\n rows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * Render a [`Select`](/material-ui/api/select/) element while passing the Input element to `Select` as `input` parameter.\n * If this option is set you must pass the options of the select as children.\n * @default false\n */\n select: PropTypes.bool,\n /**\n * Props applied to the [`Select`](/material-ui/api/select/) element.\n */\n SelectProps: PropTypes.object,\n /**\n * The size of the component.\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * Type of the `input` element. It should be [a valid HTML5 input type](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Form_%3Cinput%3E_types).\n */\n type: PropTypes /* @typescript-to-proptypes-ignore */.string,\n /**\n * The value of the `input` element, required for a controlled component.\n */\n value: PropTypes.any,\n /**\n * The variant to use.\n * @default 'outlined'\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default TextField;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"getTrigger\", \"target\"];\nimport * as React from 'react';\nfunction defaultTrigger(store, options) {\n const {\n disableHysteresis = false,\n threshold = 100,\n target\n } = options;\n const previous = store.current;\n if (target) {\n // Get vertical scroll\n store.current = target.pageYOffset !== undefined ? target.pageYOffset : target.scrollTop;\n }\n if (!disableHysteresis && previous !== undefined) {\n if (store.current < previous) {\n return false;\n }\n }\n return store.current > threshold;\n}\nconst defaultTarget = typeof window !== 'undefined' ? window : null;\nexport default function useScrollTrigger(options = {}) {\n const {\n getTrigger = defaultTrigger,\n target = defaultTarget\n } = options,\n other = _objectWithoutPropertiesLoose(options, _excluded);\n const store = React.useRef();\n const [trigger, setTrigger] = React.useState(() => getTrigger(store, other));\n React.useEffect(() => {\n const handleScroll = () => {\n setTrigger(getTrigger(store, _extends({\n target\n }, other)));\n };\n handleScroll(); // Re-evaluate trigger when dependencies change\n target.addEventListener('scroll', handleScroll, {\n passive: true\n });\n return () => {\n target.removeEventListener('scroll', handleScroll, {\n passive: true\n });\n };\n // See Option 3. https://github.com/facebook/react/issues/14476#issuecomment-471199055\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [target, getTrigger, JSON.stringify(other)]);\n return trigger;\n}","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","\"use strict\";\n'use client';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function () {\n return _utils.createSvgIcon;\n }\n});\nvar _utils = require(\"@mui/material/utils\");","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2m-6 9c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2m3.1-9H8.9V6c0-1.71 1.39-3.1 3.1-3.1 1.71 0 3.1 1.39 3.1 3.1z\"\n}), 'Lock');","import * as React from 'react';\nimport {\n Button as MuiButton,\n ButtonProps as MuiButtonProps,\n Tooltip,\n IconButton,\n useMediaQuery,\n Theme,\n} from '@mui/material';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport { useTranslate } from 'ra-core';\nimport { Path, To } from 'react-router';\n\n/**\n * A generic Button with side icon. Only the icon is displayed on small screens.\n *\n * The component translates the label. Pass the icon as child.\n * The icon displays on the left side of the button by default. Set alignIcon prop to 'right' to inverse.\n *\n * @example\n *\n * <Button label=\"Edit\" color=\"secondary\" onClick={doEdit}>\n * <ContentCreate />\n * </Button>\n *\n */\nexport const Button = <RootComponent extends React.ElementType = 'button'>(\n inProps: ButtonProps<RootComponent>\n) => {\n const props = useThemeProps({ props: inProps, name: 'RaButton' });\n const {\n alignIcon = 'left',\n children,\n className,\n disabled,\n label,\n color = 'primary',\n size = 'small',\n to: locationDescriptor,\n ...rest\n } = props;\n\n const translate = useTranslate();\n const translatedLabel = label ? translate(label, { _: label }) : undefined;\n const linkParams = getLinkParams(locationDescriptor);\n\n const isXSmall = useMediaQuery((theme: Theme) =>\n theme.breakpoints.down('sm')\n );\n\n return isXSmall ? (\n label && !disabled ? (\n <Tooltip title={translatedLabel}>\n <IconButton\n aria-label={translatedLabel}\n className={className}\n color={color}\n size=\"large\"\n {...linkParams}\n {...rest}\n >\n {children}\n </IconButton>\n </Tooltip>\n ) : (\n <IconButton\n className={className}\n color={color}\n disabled={disabled}\n size=\"large\"\n {...linkParams}\n {...rest}\n >\n {children}\n </IconButton>\n )\n ) : (\n <StyledButton\n className={className}\n color={color}\n size={size}\n aria-label={translatedLabel}\n disabled={disabled}\n startIcon={alignIcon === 'left' && children ? children : undefined}\n endIcon={alignIcon === 'right' && children ? children : undefined}\n {...linkParams}\n {...rest}\n >\n {translatedLabel}\n </StyledButton>\n );\n};\n\ninterface Props<RootComponent extends React.ElementType> {\n alignIcon?: 'left' | 'right';\n children?: React.ReactElement;\n className?: string;\n component?: RootComponent;\n to?: LocationDescriptor | To;\n disabled?: boolean;\n label?: string;\n size?: 'small' | 'medium' | 'large';\n variant?: string;\n}\n\nexport type ButtonProps<\n RootComponent extends React.ElementType = 'button'\n> = Props<RootComponent> & MuiButtonProps<RootComponent>;\n\nconst PREFIX = 'RaButton';\n\nconst StyledButton = styled(MuiButton, {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})({\n '&.MuiButton-sizeSmall': {\n // fix for icon misalignment on small buttons, see https://github.com/mui/material-ui/pull/30240\n lineHeight: 1.5,\n },\n});\n\nconst getLinkParams = (locationDescriptor?: LocationDescriptor | string) => {\n // eslint-disable-next-line eqeqeq\n if (locationDescriptor == undefined) {\n return undefined;\n }\n\n if (typeof locationDescriptor === 'string') {\n return { to: locationDescriptor };\n }\n\n const { redirect, replace, state, ...to } = locationDescriptor;\n return {\n to,\n redirect,\n replace,\n state,\n };\n};\n\nexport type LocationDescriptor = Partial<Path> & {\n redirect?: boolean;\n state?: any;\n replace?: boolean;\n};\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6z\"\n}), 'Add');","import * as React from 'react';\nimport ContentAdd from '@mui/icons-material/Add';\nimport { Fab, useMediaQuery, Theme } from '@mui/material';\nimport { styled } from '@mui/material/styles';\nimport clsx from 'clsx';\nimport isEqual from 'lodash/isEqual';\nimport merge from 'lodash/merge';\nimport { useTranslate, useResourceContext, useCreatePath } from 'ra-core';\nimport { Link, To } from 'react-router-dom';\n\nimport { Button, ButtonProps, LocationDescriptor } from './Button';\n\n/**\n * Opens the Create view of a given resource\n *\n * Renders as a regular button on desktop, and a Floating Action Button\n * on mobile.\n *\n * @example // basic usage\n * import { CreateButton } from 'react-admin';\n *\n * const CommentCreateButton = () => (\n * <CreateButton label=\"Create comment\" />\n * );\n */\nconst CreateButton = (props: CreateButtonProps) => {\n const {\n className,\n icon = defaultIcon,\n label = 'ra.action.create',\n resource: resourceProp,\n scrollToTop = true,\n variant,\n to: locationDescriptor,\n state: initialState = {},\n ...rest\n } = props;\n\n const resource = useResourceContext(props);\n const createPath = useCreatePath();\n const translate = useTranslate();\n const isSmall = useMediaQuery((theme: Theme) =>\n theme.breakpoints.down('md')\n );\n const state = merge(\n {},\n scrollStates.get(String(scrollToTop)),\n initialState\n );\n // Duplicated behaviour of Button component (legacy use) which will be removed in v5.\n const linkParams = getLinkParams(locationDescriptor);\n\n return isSmall ? (\n <StyledFab\n component={Link}\n to={createPath({ resource, type: 'create' })}\n state={state}\n // @ts-ignore FabProps ships its own runtime palette `FabPropsColorOverrides` provoking an overlap error with `ButtonProps`\n color=\"primary\"\n className={clsx(CreateButtonClasses.floating, className)}\n aria-label={label && translate(label)}\n {...rest}\n {...linkParams}\n >\n {icon}\n </StyledFab>\n ) : (\n <StyledButton\n component={Link}\n to={createPath({ resource, type: 'create' })}\n state={state}\n className={clsx(CreateButtonClasses.root, className)}\n label={label}\n variant={variant}\n {...(rest as any)}\n {...linkParams}\n >\n {icon}\n </StyledButton>\n );\n};\n\n// avoids using useMemo to get a constant value for the link state\nconst scrollStates = new Map([\n ['true', { _scrollToTop: true }],\n ['false', {}],\n]);\n\nconst defaultIcon = <ContentAdd />;\n\ninterface Props {\n resource?: string;\n icon?: React.ReactElement;\n scrollToTop?: boolean;\n to?: LocationDescriptor | To;\n}\n\nexport type CreateButtonProps = Props & Omit<ButtonProps<typeof Link>, 'to'>;\n\nconst PREFIX = 'RaCreateButton';\n\nexport const CreateButtonClasses = {\n root: `${PREFIX}-root`,\n floating: `${PREFIX}-floating`,\n};\n\nconst StyledFab = (styled(Fab, {\n name: PREFIX,\n overridesResolver: (_props, styles) => styles.root,\n})(({ theme }) => ({\n [`&.${CreateButtonClasses.floating}`]: {\n color: theme.palette.getContrastText(theme.palette.primary.main),\n margin: 0,\n top: 'auto',\n right: 20,\n bottom: 60,\n left: 'auto',\n position: 'fixed',\n zIndex: 1000,\n },\n})) as unknown) as typeof Fab;\n\nconst StyledButton = styled(Button, {\n name: PREFIX,\n overridesResolver: (_props, styles) => styles.root,\n})({});\n\nexport default React.memo(CreateButton, (prevProps, nextProps) => {\n return (\n prevProps.resource === nextProps.resource &&\n prevProps.label === nextProps.label &&\n prevProps.translate === nextProps.translate &&\n prevProps.disabled === nextProps.disabled &&\n isEqual(prevProps.to, nextProps.to) &&\n isEqual(prevProps.state, nextProps.state)\n );\n});\n\nconst getLinkParams = (locationDescriptor?: LocationDescriptor | string) => {\n // eslint-disable-next-line\n if (locationDescriptor == undefined) {\n return undefined;\n }\n\n if (typeof locationDescriptor === 'string') {\n return { to: locationDescriptor };\n }\n\n const { redirect, replace, state, ...to } = locationDescriptor;\n return {\n to,\n redirect,\n replace,\n state,\n };\n};\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5M12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5m0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3\"\n}), 'RemoveRedEye');","import * as React from 'react';\nimport { memo, ReactElement } from 'react';\nimport ImageEye from '@mui/icons-material/RemoveRedEye';\nimport { Link } from 'react-router-dom';\nimport {\n RaRecord,\n useResourceContext,\n useRecordContext,\n useCreatePath,\n} from 'ra-core';\n\nimport { Button, ButtonProps } from './Button';\n\n/**\n * Opens the Show view of a given record\n *\n * @example // basic usage\n * import { ShowButton, useRecordContext } from 'react-admin';\n *\n * const CommentShowButton = () => {\n * const record = useRecordContext();\n * return (\n * <ShowButton label=\"Show comment\" record={record} />\n * );\n * };\n */\nconst ShowButton = <RecordType extends RaRecord = any>(\n props: ShowButtonProps<RecordType>\n) => {\n const {\n icon = defaultIcon,\n label = 'ra.action.show',\n record: recordProp,\n resource: resourceProp,\n scrollToTop = true,\n ...rest\n } = props;\n const resource = useResourceContext(props);\n const record = useRecordContext(props);\n const createPath = useCreatePath();\n if (!record) return null;\n return (\n <Button\n component={Link}\n to={createPath({ type: 'show', resource, id: record.id })}\n state={scrollStates[String(scrollToTop)]}\n label={label}\n onClick={stopPropagation}\n {...(rest as any)}\n >\n {icon}\n </Button>\n );\n};\n\n// avoids using useMemo to get a constant value for the link state\nconst scrollStates = {\n true: { _scrollToTop: true },\n false: {},\n};\n\nconst defaultIcon = <ImageEye />;\n\n// useful to prevent click bubbling in a datagrid with rowClick\nconst stopPropagation = e => e.stopPropagation();\n\ninterface Props<RecordType extends RaRecord = any> {\n icon?: ReactElement;\n label?: string;\n record?: RecordType;\n resource?: string;\n scrollToTop?: boolean;\n}\n\nexport type ShowButtonProps<RecordType extends RaRecord = any> = Props<\n RecordType\n> &\n Omit<ButtonProps<typeof Link>, 'to'>;\n\nconst PureShowButton = memo(\n ShowButton,\n (prevProps, nextProps) =>\n prevProps.resource === nextProps.resource &&\n (prevProps.record && nextProps.record\n ? prevProps.record.id === nextProps.record.id\n : prevProps.record == nextProps.record) && // eslint-disable-line eqeqeq\n prevProps.label === nextProps.label &&\n prevProps.disabled === nextProps.disabled\n);\n\nexport default PureShowButton;\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M3 18h6v-2H3zM3 6v2h18V6zm0 7h12v-2H3z\"\n}), 'Sort');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"m7 10 5 5 5-5z\"\n}), 'ArrowDropDown');","import * as React from 'react';\nimport { ReactElement, memo } from 'react';\nimport clsx from 'clsx';\nimport {\n Button,\n Menu,\n MenuItem,\n Tooltip,\n IconButton,\n useMediaQuery,\n Theme,\n SxProps,\n} from '@mui/material';\nimport { styled } from '@mui/material/styles';\nimport SortIcon from '@mui/icons-material/Sort';\nimport ArrowDropDownIcon from '@mui/icons-material/ArrowDropDown';\nimport {\n useListSortContext,\n useTranslate,\n useTranslateLabel,\n shallowEqual,\n} from 'ra-core';\n\n/**\n * A button allowing to change the sort field and order.\n *\n * To be used inside a ListContext (e.g. inside a <List> or <ReferenceManyField>)\n *\n * Expects one 'fields' prop, containing an array of field strings that shall\n * be used and displayed for sorting.\n *\n * When users clicks on the <SortButton>, they see a dropdown list with the\n * proposed sorting fields. Once they click on one of these fields, the related\n * list refreshes, re-sorted.\n *\n * @example\n *\n * import * as React from 'react';\n * import { TopToolbar, SortButton, CreateButton, ExportButton } from 'react-admin';\n *\n * const ListActions = () => (\n * <TopToolbar>\n * <SortButton fields={['reference', 'sales', 'stock']} />\n * <CreateButton />\n * <ExportButton />\n * </TopToolbar>\n * );\n */\nconst SortButton = (props: SortButtonProps) => {\n const {\n fields,\n label = 'ra.sort.sort_by',\n icon = defaultIcon,\n sx,\n className,\n } = props;\n const { resource, sort, setSort } = useListSortContext();\n const translate = useTranslate();\n const translateLabel = useTranslateLabel();\n const isXSmall = useMediaQuery((theme: Theme) =>\n theme.breakpoints.down('sm')\n );\n const [anchorEl, setAnchorEl] = React.useState<null | HTMLElement>(null);\n const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n setAnchorEl(event.currentTarget);\n };\n\n const handleClose = () => {\n setAnchorEl(null);\n };\n\n const handleChangeSort = (\n event: React.MouseEvent<HTMLLIElement, MouseEvent>\n ) => {\n const field = event.currentTarget.dataset.sort;\n if (!field) {\n throw new Error(\n '<SortButton> MenuItems should have a data-sort attribute'\n );\n }\n setSort({\n field,\n order: field === sort.field ? inverseOrder(sort.order) : 'ASC',\n });\n setAnchorEl(null);\n };\n\n const buttonLabel = translate(label, {\n field: translateLabel({\n resource,\n source: sort.field,\n }),\n order: translate(`ra.sort.${sort.order}`),\n _: label,\n });\n\n return (\n <Root sx={sx} className={clsx(className, classNames.root)}>\n {isXSmall ? (\n <Tooltip title={buttonLabel}>\n <IconButton\n aria-label={buttonLabel}\n color=\"primary\"\n onClick={handleClick}\n size=\"large\"\n >\n {icon}\n </IconButton>\n </Tooltip>\n ) : (\n <Button\n aria-controls=\"simple-menu\"\n aria-haspopup=\"true\"\n color=\"primary\"\n onClick={handleClick}\n startIcon={icon}\n endIcon={<ArrowDropDownIcon />}\n size=\"small\"\n >\n {buttonLabel}\n </Button>\n )}\n <Menu\n id=\"simple-menu\"\n anchorEl={anchorEl}\n keepMounted\n open={Boolean(anchorEl)}\n onClose={handleClose}\n >\n {fields.map(field => (\n <MenuItem\n onClick={handleChangeSort}\n data-sort={field}\n key={field}\n >\n {translateLabel({\n resource,\n source: field,\n })}{' '}\n {translate(\n `ra.sort.${\n sort.field === field\n ? inverseOrder(sort.order)\n : 'ASC'\n }`\n )}\n </MenuItem>\n ))}\n </Menu>\n </Root>\n );\n};\n\nconst defaultIcon = <SortIcon />;\n\nconst inverseOrder = (sort: string) => (sort === 'ASC' ? 'DESC' : 'ASC');\n\nconst arePropsEqual = (prevProps, nextProps) =>\n shallowEqual(prevProps.fields, nextProps.fields);\n\nexport interface SortButtonProps {\n className?: string;\n fields: string[];\n icon?: ReactElement;\n label?: string;\n resource?: string;\n sx?: SxProps;\n}\n\nconst PREFIX = 'RaSortButton';\n\nconst classNames = {\n root: `${PREFIX}-root`,\n};\n\nconst Root = styled('span', {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})({\n [`.${classNames.root}`]: {},\n '& .MuiButton-sizeSmall': {\n // fix for icon misalignment on small buttons, see https://github.com/mui/material-ui/pull/30240\n lineHeight: 1.5,\n },\n '& .MuiButton-endIcon': { ml: 0 },\n});\n\nexport default memo(SortButton, arePropsEqual);\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6zM19 4h-3.5l-1-1h-5l-1 1H5v2h14z\"\n}), 'Delete');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M3 18h18v-2H3zm0-5h18v-2H3zm0-7v2h18V6z\"\n}), 'Menu');","import { useStore } from 'ra-core';\nimport { useMediaQuery, Theme } from '@mui/material';\n\n/**\n * A hook that returns the sidebar open state and a function to toggle it.\n *\n * The sidebar is open by default on desktop, and closed by default on mobile.\n *\n * @example\n * const ToggleSidebar = () => {\n * const [open, setOpen] = useSidebarState();\n * return (\n * <Button onClick={() => setOpen(!open)}>\n * {open ? 'Open' : 'Close'}\n * </Button>\n * );\n * };\n */\nexport const useSidebarState = (): useSidebarStateResult => {\n const isXSmall = useMediaQuery<Theme>(\n theme => theme?.breakpoints.down('sm'),\n { noSsr: true }\n );\n return useStore<boolean>('sidebar.open', isXSmall ? false : true);\n};\n\nexport type useSidebarStateResult = [boolean, (open: boolean) => void];\n","import * as React from 'react';\nimport { styled } from '@mui/material/styles';\nimport { IconButton, Tooltip } from '@mui/material';\nimport MenuIcon from '@mui/icons-material/Menu';\nimport { useTranslate } from 'ra-core';\n\nimport { useSidebarState } from './useSidebarState';\n\n/**\n * A button that toggles the sidebar. Used by default in the <AppBar>.\n * @param props The component props\n * @param {String} props.className An optional class name to apply to the button\n */\nexport const SidebarToggleButton = (props: SidebarToggleButtonProps) => {\n const translate = useTranslate();\n\n const { className } = props;\n const [open, setOpen] = useSidebarState();\n\n return (\n <Tooltip\n className={className}\n title={translate(\n open ? 'ra.action.close_menu' : 'ra.action.open_menu',\n { _: 'Open/Close menu' }\n )}\n enterDelay={500}\n >\n <StyledIconButton color=\"inherit\" onClick={() => setOpen(!open)}>\n <MenuIcon\n classes={{\n root: open\n ? SidebarToggleButtonClasses.menuButtonIconOpen\n : SidebarToggleButtonClasses.menuButtonIconClosed,\n }}\n />\n </StyledIconButton>\n </Tooltip>\n );\n};\n\nexport type SidebarToggleButtonProps = {\n className?: string;\n};\n\nconst PREFIX = 'RaSidebarToggleButton';\n\nexport const SidebarToggleButtonClasses = {\n menuButtonIconClosed: `${PREFIX}-menuButtonIconClosed`,\n menuButtonIconOpen: `${PREFIX}-menuButtonIconOpen`,\n};\n\nconst StyledIconButton = styled(IconButton, {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme }) => ({\n [`& .${SidebarToggleButtonClasses.menuButtonIconClosed}`]: {\n transition: theme.transitions.create(['transform'], {\n easing: theme.transitions.easing.sharp,\n duration: theme.transitions.duration.leavingScreen,\n }),\n transform: 'rotate(0deg)',\n },\n\n [`& .${SidebarToggleButtonClasses.menuButtonIconOpen}`]: {\n transition: theme.transitions.create(['transform'], {\n easing: theme.transitions.easing.sharp,\n duration: theme.transitions.duration.leavingScreen,\n }),\n transform: 'rotate(180deg)',\n },\n}));\n","import * as React from 'react';\nimport { styled } from '@mui/material/styles';\nimport clsx from 'clsx';\nimport { useTheme } from '@mui/material/styles';\nimport CircularProgress from '@mui/material/CircularProgress';\nimport { useLoading } from 'ra-core';\n\nimport { RefreshIconButton, RefreshIconButtonProps } from '../button';\nimport { SxProps } from '@mui/system';\n\nexport const LoadingIndicator = (props: LoadingIndicatorProps) => {\n const { className, onClick, sx, ...rest } = props;\n const loading = useLoading();\n\n const theme = useTheme();\n return (\n <Root className={className} sx={sx}>\n <RefreshIconButton\n className={`${LoadingIndicatorClasses.loadedIcon} ${\n loading && LoadingIndicatorClasses.loadedLoading\n }`}\n onClick={onClick}\n />\n {loading && (\n <CircularProgress\n className={clsx(\n 'app-loader',\n LoadingIndicatorClasses.loader\n )}\n color=\"inherit\"\n size={theme.spacing(2)}\n thickness={6}\n {...rest}\n />\n )}\n </Root>\n );\n};\n\ninterface Props {\n className?: string;\n sx?: SxProps;\n}\n\ntype LoadingIndicatorProps = Props & Pick<RefreshIconButtonProps, 'onClick'>;\n\nconst PREFIX = 'RaLoadingIndicator';\n\nexport const LoadingIndicatorClasses = {\n loader: `${PREFIX}-loader`,\n loadedLoading: `${PREFIX}-loadedLoading`,\n loadedIcon: `${PREFIX}-loadedIcon`,\n};\n\nconst Root = styled('div', {\n name: PREFIX,\n overridesResolver: (_, styles) => styles.root,\n})({\n position: 'relative',\n [`& .${LoadingIndicatorClasses.loadedIcon}`]: {\n [`&.${LoadingIndicatorClasses.loadedLoading}`]: {\n opacity: 0,\n },\n },\n [`& .${LoadingIndicatorClasses.loader}`]: {\n position: 'absolute',\n top: '30%',\n left: '30%',\n },\n});\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 4c1.93 0 3.5 1.57 3.5 3.5S13.93 13 12 13s-3.5-1.57-3.5-3.5S10.07 6 12 6m0 14c-2.03 0-4.43-.82-6.14-2.88C7.55 15.8 9.68 15 12 15s4.45.8 6.14 2.12C16.43 19.18 14.03 20 12 20\"\n}), 'AccountCircle');","import { createContext } from 'react';\n\n/**\n * This context provides access to a function for closing the user menu.\n *\n * @example\n * import { Logout, MenuItemLink, UserMenu, useUserMenu } from 'react-admin';\n *\n * const ConfigurationMenu = () => {\n * const { onClose } = useUserMenu();\n * return (\n * <MenuItemLink\n * to=\"/configuration\"\n * primaryText=\"pos.configuration\"\n * leftIcon={<SettingsIcon />}\n * sidebarIsOpen\n * onClick={onClose}\n * />\n * );\n * };\n *\n * export const MyUserMenu = () => (\n * <UserMenu>\n * <ConfigurationMenu />\n * <Logout />\n * </UserMenu>\n * );\n */\nexport const UserMenuContext = createContext<UserMenuContextValue | undefined>(\n undefined\n);\n\nexport type UserMenuContextValue = {\n /**\n * Closes the user menu\n * @see UserMenu\n */\n onClose: () => void;\n};\n","import * as React from 'react';\nimport { ReactNode } from 'react';\nimport { UserMenuContext, UserMenuContextValue } from './UserMenuContext';\n\n/**\n * A React context provider that provides access to the user menu context.\n * @param props\n * @param {ReactNode} props.children\n * @param {UserMenuContextValue} props.value The user menu context\n */\nexport const UserMenuContextProvider = ({ children, value }) => (\n <UserMenuContext.Provider value={value}>\n {children}\n </UserMenuContext.Provider>\n);\n\nexport type UserMenuContextProviderProps = {\n children: ReactNode;\n value: UserMenuContextValue;\n};\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M13 3h-2v10h2zm4.83 2.17-1.42 1.42C17.99 7.86 19 9.81 19 12c0 3.87-3.13 7-7 7s-7-3.13-7-7c0-2.19 1.01-4.14 2.58-5.42L6.17 5.17C4.23 6.82 3 9.26 3 12c0 4.97 4.03 9 9 9s9-4.03 9-9c0-2.74-1.23-5.18-3.17-6.83\"\n}), 'PowerSettingsNew');","import * as React from 'react';\nimport { styled, Theme } from '@mui/material/styles';\nimport { useCallback, FunctionComponent, ReactNode } from 'react';\nimport {\n ListItemIcon,\n ListItemText,\n MenuItem,\n useMediaQuery,\n} from '@mui/material';\nimport { MenuItemProps } from '@mui/material/MenuItem';\n\nimport ExitIcon from '@mui/icons-material/PowerSettingsNew';\nimport clsx from 'clsx';\nimport { useTranslate, useLogout, useAuthState } from 'ra-core';\n\n/**\n * Logout button component, to be passed to the Admin component\n *\n * Used for the Logout Menu item in the sidebar\n */\nexport const Logout: FunctionComponent<\n LogoutProps & MenuItemProps<'li'>\n> = React.forwardRef(function Logout(props, ref) {\n const { className, redirectTo, icon, ...rest } = props;\n\n const { authenticated } = useAuthState();\n const isXSmall = useMediaQuery((theme: Theme) =>\n theme.breakpoints.down('sm')\n );\n const translate = useTranslate();\n const logout = useLogout();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const handleClick = useCallback(() => logout(null, redirectTo, false), [\n redirectTo,\n logout,\n ]);\n\n if (!authenticated) return null;\n\n return (\n <StyledMenuItem\n className={clsx('logout', className)}\n onClick={handleClick}\n ref={ref}\n // @ts-ignore\n component={isXSmall ? 'span' : 'li'}\n {...rest}\n >\n <ListItemIcon className={LogoutClasses.icon}>\n {icon ? icon : <ExitIcon fontSize=\"small\" />}\n </ListItemIcon>\n <ListItemText>\n {translate('ra.auth.logout', { _: 'Logout' })}\n </ListItemText>\n </StyledMenuItem>\n );\n});\n\nconst PREFIX = 'RaLogout';\n\nexport const LogoutClasses = {\n icon: `${PREFIX}-icon`,\n};\n\nconst StyledMenuItem = styled(MenuItem, {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})({\n [`& .${LogoutClasses.icon}`]: {},\n});\n\nexport interface LogoutProps {\n className?: string;\n redirectTo?: string;\n icon?: ReactNode;\n}\n","import * as React from 'react';\nimport { ReactNode, useCallback, useMemo, useState } from 'react';\nimport { styled } from '@mui/material/styles';\nimport { useAuthProvider, useGetIdentity, useTranslate } from 'ra-core';\nimport {\n Tooltip,\n IconButton,\n Menu,\n Button,\n Avatar,\n PopoverOrigin,\n useMediaQuery,\n Theme,\n} from '@mui/material';\nimport AccountCircle from '@mui/icons-material/AccountCircle';\nimport { UserMenuContextProvider } from './UserMenuContextProvider';\nimport { Logout } from '../auth/Logout';\n\n/**\n * The UserMenu component renders a Mui Button that shows a Menu.\n * It accepts children that must be Mui MenuItem components.\n *\n * @example\n * import { Logout, UserMenu, useUserMenu } from 'react-admin';\n * import MenuItem from '@mui/material/MenuItem';\n * import ListItemIcon from '@mui/material/ListItemIcon';\n * import ListItemText from '@mui/material/ListItemText';\n * import SettingsIcon from '@mui/icons-material/Settings';\n\n * const ConfigurationMenu = React.forwardRef((props, ref) => {\n * const { onClose } = useUserMenu();\n * return (\n * <MenuItem\n * ref={ref}\n * {...props}\n * to=\"/configuration\"\n * onClick={onClose}\n * >\n * <ListItemIcon>\n * <SettingsIcon />\n * </ListItemIcon>\n * <ListItemText>Configuration</ListItemText>\n * </MenuItem>\n * );\n * });\n *\n * export const MyUserMenu = () => (\n * <UserMenu>\n * <ConfigurationMenu />\n * <Logout />\n * </UserMenu>\n * );\n * @param props\n * @param {ReactNode} props.children React node/s to be rendered as children of the UserMenu. Must be Mui MenuItem components\n * @param {string} props.className CSS class applied to the MuiAppBar component\n * @param {string} props.label The label of the UserMenu button. Accepts translation keys\n * @param {Element} props.icon The icon of the UserMenu button.\n *\n */\nexport const UserMenu = (props: UserMenuProps) => {\n const [anchorEl, setAnchorEl] = useState(null);\n const translate = useTranslate();\n const { isPending, identity } = useGetIdentity();\n const authProvider = useAuthProvider();\n const isLargeEnough = useMediaQuery<Theme>(theme =>\n theme.breakpoints.up('sm')\n );\n\n const {\n children = !!authProvider ? <Logout /> : null,\n className,\n label = 'ra.auth.user_menu',\n icon = defaultIcon,\n } = props;\n\n const handleMenu = event => setAnchorEl(event.currentTarget);\n const handleClose = useCallback(() => setAnchorEl(null), []);\n const context = useMemo(() => ({ onClose: handleClose }), [handleClose]);\n if (!children) return null;\n const open = Boolean(anchorEl);\n\n return (\n <Root className={className}>\n {isLargeEnough && !isPending && identity?.fullName ? (\n <Button\n aria-label={label && translate(label, { _: label })}\n className={UserMenuClasses.userButton}\n color=\"inherit\"\n startIcon={\n identity.avatar ? (\n <Avatar\n className={UserMenuClasses.avatar}\n src={identity.avatar}\n alt={identity.fullName}\n />\n ) : (\n icon\n )\n }\n onClick={handleMenu}\n variant=\"text\"\n >\n {identity.fullName}\n </Button>\n ) : (\n <Tooltip title={label && translate(label, { _: 'Profile' })}>\n <IconButton\n aria-label={label && translate(label, { _: 'Profile' })}\n aria-owns={open ? 'menu-appbar' : undefined}\n aria-haspopup={true}\n color=\"inherit\"\n onClick={handleMenu}\n >\n {!isPending && identity?.avatar ? (\n <Avatar\n className={UserMenuClasses.avatar}\n src={identity.avatar}\n alt={identity.fullName}\n />\n ) : (\n icon\n )}\n </IconButton>\n </Tooltip>\n )}\n <UserMenuContextProvider value={context}>\n <Menu\n id=\"menu-appbar\"\n disableScrollLock\n anchorEl={anchorEl}\n anchorOrigin={AnchorOrigin}\n transformOrigin={TransformOrigin}\n open={open}\n onClose={handleClose}\n >\n {children}\n </Menu>\n </UserMenuContextProvider>\n </Root>\n );\n};\n\nexport interface UserMenuProps {\n children?: ReactNode;\n className?: string;\n label?: string;\n icon?: ReactNode;\n}\n\nconst PREFIX = 'RaUserMenu';\n\nexport const UserMenuClasses = {\n userButton: `${PREFIX}-userButton`,\n avatar: `${PREFIX}-avatar`,\n};\n\nconst Root = styled('div', {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme }) => ({\n [`& .${UserMenuClasses.userButton}`]: {\n textTransform: 'none',\n marginInlineStart: theme.spacing(0.5),\n },\n\n [`& .${UserMenuClasses.avatar}`]: {\n width: theme.spacing(3),\n height: theme.spacing(3),\n },\n}));\n\nconst defaultIcon = <AccountCircle />;\n\nconst AnchorOrigin: PopoverOrigin = {\n vertical: 'bottom',\n horizontal: 'right',\n};\n\nconst TransformOrigin: PopoverOrigin = {\n vertical: 'top',\n horizontal: 'right',\n};\n","import * as React from 'react';\nimport useScrollTrigger from '@mui/material/useScrollTrigger';\nimport Slide from '@mui/material/Slide';\n\nexport const HideOnScroll = (props: HideOnScrollProps) => {\n const { children, className } = props;\n const trigger = useScrollTrigger();\n return (\n <Slide\n appear={false}\n direction=\"down\"\n in={!trigger}\n className={className}\n >\n {children}\n </Slide>\n );\n};\n\nexport interface HideOnScrollProps {\n children: React.ReactElement;\n className?: string;\n}\n","import * as React from 'react';\nimport { Typography, TypographyProps } from '@mui/material';\n\nexport const TitlePortal = (props: TypographyProps) => (\n <Typography\n flex=\"1\"\n textOverflow=\"ellipsis\"\n whiteSpace=\"nowrap\"\n overflow=\"hidden\"\n variant=\"h6\"\n color=\"inherit\"\n id=\"react-admin-title\"\n {...props}\n />\n);\n","import { createContext } from 'react';\nimport { RaThemeOptions } from './types';\n\nexport const ThemesContext = createContext<ThemesContextValue>({});\n\nexport interface ThemesContextValue {\n darkTheme?: RaThemeOptions;\n lightTheme?: RaThemeOptions;\n defaultTheme?: 'dark' | 'light';\n}\n","import { useContext } from 'react';\n\nimport { ThemesContext } from './ThemesContext';\nimport { RaThemeOptions } from './types';\n\nexport const useThemesContext = (params?: UseThemesContextParams) => {\n const { lightTheme, darkTheme, defaultTheme } = params || {};\n const context = useContext(ThemesContext);\n return {\n lightTheme: lightTheme || context.lightTheme,\n darkTheme: darkTheme || context.darkTheme,\n defaultTheme: defaultTheme ?? context.defaultTheme,\n };\n};\n\nexport interface UseThemesContextParams {\n lightTheme?: RaThemeOptions;\n darkTheme?: RaThemeOptions;\n defaultTheme?: 'dark' | 'light';\n [key: string]: any;\n}\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zM12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6c3.31 0 6 2.69 6 6s-2.69 6-6 6\"\n}), 'Brightness4');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zM12 18c-3.31 0-6-2.69-6-6s2.69-6 6-6 6 2.69 6 6-2.69 6-6 6m0-10c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4\"\n}), 'Brightness7');","import { useStore } from 'ra-core';\nimport { ThemeType } from './types';\nimport { useMediaQuery } from '@mui/material';\nimport { useThemesContext } from './useThemesContext';\n\nexport type ThemeSetter = (theme: ThemeType) => void;\n\n/**\n * Read and update the theme mode (light or dark)\n *\n * @example\n * const [theme, setTheme] = useTheme('light');\n * const toggleTheme = () => {\n * setTheme(theme === 'light' ? 'dark' : 'light');\n * };\n *\n */\nexport const useTheme = (type?: ThemeType): [ThemeType, ThemeSetter] => {\n const { darkTheme } = useThemesContext();\n const prefersDarkMode = useMediaQuery('(prefers-color-scheme: dark)', {\n noSsr: true,\n });\n const [theme, setter] = useStore<ThemeType>(\n 'theme',\n type ?? (prefersDarkMode && darkTheme ? 'dark' : 'light')\n );\n\n // Ensure that even though the store has its value set to 'dark', we still use the light theme when no dark theme is available\n return [darkTheme != null ? theme : 'light', setter];\n};\n","import * as React from 'react';\nimport { ReactNode, useMemo } from 'react';\nimport {\n ThemeProvider as MuiThemeProvider,\n createTheme,\n} from '@mui/material/styles';\nimport { useMediaQuery } from '@mui/material';\n\nimport { useTheme } from './useTheme';\nimport { useThemesContext } from './useThemesContext';\nimport { AdminChildren } from 'ra-core';\n\n/**\n * This sets the Material UI theme based on the preferred theme type.\n *\n * @param props\n * @param props.children The children of the component.\n * @param {ThemeOptions} props.theme The initial theme. Optional, use the one from the context if not provided.\n *\n * @example\n *\n * import { ThemesContext, ThemeProvider } from 'react-admin';\n *\n * const App = () => (\n * <ThemesContext.Provider value={{ lightTheme, darkTheme }}>\n * <ThemeProvider>\n * <Button>Test</Button>\n * </ThemeProvider>\n * </ThemesContext.Provider>\n * );\n */\nexport const ThemeProvider = ({ children }: ThemeProviderProps) => {\n const { lightTheme, darkTheme, defaultTheme } = useThemesContext();\n\n const prefersDarkMode = useMediaQuery('(prefers-color-scheme: dark)', {\n noSsr: true,\n });\n const [mode] = useTheme(\n defaultTheme || (prefersDarkMode && darkTheme ? 'dark' : 'light')\n );\n\n const themeValue = useMemo(() => {\n try {\n return createTheme(mode === 'dark' ? darkTheme : lightTheme);\n } catch (e) {\n console.warn('Failed to reuse custom theme from store', e);\n return createTheme();\n }\n }, [mode, lightTheme, darkTheme]);\n\n return (\n <MuiThemeProvider theme={themeValue}>\n {/* Had to cast here because Provider only accepts ReactNode but we might have a render function */}\n {children as ReactNode}\n </MuiThemeProvider>\n );\n};\n\nexport interface ThemeProviderProps {\n children: AdminChildren;\n}\n","import { RaThemeOptions } from './types';\nimport { deepmerge } from '@mui/utils';\n\nconst defaultThemeInvariants = {\n typography: {\n h6: {\n fontWeight: 400,\n },\n },\n sidebar: {\n width: 240,\n closedWidth: 50,\n },\n components: {\n MuiAutocomplete: {\n defaultProps: {\n fullWidth: true,\n },\n variants: [\n {\n props: {},\n style: ({ theme }) => ({\n [theme.breakpoints.down('sm')]: { width: '100%' },\n }),\n },\n ],\n },\n MuiTextField: {\n defaultProps: {\n variant: 'filled' as const,\n margin: 'dense' as const,\n size: 'small' as const,\n fullWidth: true,\n },\n variants: [\n {\n props: {},\n style: ({ theme }) => ({\n [theme.breakpoints.down('sm')]: { width: '100%' },\n }),\n },\n ],\n },\n MuiFormControl: {\n defaultProps: {\n variant: 'filled' as const,\n margin: 'dense' as const,\n size: 'small' as const,\n fullWidth: true,\n },\n },\n RaSimpleFormIterator: {\n defaultProps: {\n fullWidth: true,\n },\n },\n RaTranslatableInputs: {\n defaultProps: {\n fullWidth: true,\n },\n },\n },\n};\n\nexport const defaultLightTheme: RaThemeOptions = deepmerge(\n defaultThemeInvariants,\n {\n palette: {\n background: {\n default: '#fafafb',\n },\n secondary: {\n light: '#6ec6ff',\n main: '#2196f3',\n dark: '#0069c0',\n contrastText: '#fff',\n },\n },\n components: {\n MuiFilledInput: {\n styleOverrides: {\n root: {\n backgroundColor: 'rgba(0, 0, 0, 0.04)',\n '&$disabled': {\n backgroundColor: 'rgba(0, 0, 0, 0.04)',\n },\n },\n },\n },\n },\n }\n);\n\nexport const defaultDarkTheme: RaThemeOptions = deepmerge(\n defaultThemeInvariants,\n {\n palette: {\n mode: 'dark',\n primary: {\n main: '#90caf9',\n },\n background: {\n default: '#313131',\n },\n },\n }\n);\n\nexport const defaultTheme = defaultLightTheme;\n","import React from 'react';\nimport { Tooltip, IconButton, useMediaQuery } from '@mui/material';\nimport Brightness4Icon from '@mui/icons-material/Brightness4';\nimport Brightness7Icon from '@mui/icons-material/Brightness7';\nimport { useTranslate } from 'ra-core';\n\nimport { useThemesContext, useTheme } from '../theme';\n\n/**\n * Button toggling the theme (light or dark).\n *\n * Enabled by default in the <AppBar> when the <Admin> component has a darkMode.\n *\n * @example\n * import { AppBar, ToggleThemeButton } from 'react-admin';\n *\n * const MyAppBar = () => (\n * <AppBar toolbar={<ToggleThemeButton />} />\n * );\n *\n * const MyLayout = ({ children }) => (\n * <Layout appBar={MyAppBar}>\n * {children}\n * </Layout>\n * );\n */\nexport const ToggleThemeButton = () => {\n const translate = useTranslate();\n const { darkTheme, defaultTheme } = useThemesContext();\n const prefersDarkMode = useMediaQuery('(prefers-color-scheme: dark)', {\n noSsr: true,\n });\n const [theme, setTheme] = useTheme(\n defaultTheme || (prefersDarkMode && darkTheme ? 'dark' : 'light')\n );\n\n const handleTogglePaletteType = (): void => {\n setTheme(theme === 'dark' ? 'light' : 'dark');\n };\n const toggleThemeTitle = translate('ra.action.toggle_theme', {\n _: 'Toggle Theme',\n });\n\n return (\n <Tooltip title={toggleThemeTitle} enterDelay={300}>\n <IconButton\n color=\"inherit\"\n onClick={handleTogglePaletteType}\n aria-label={toggleThemeTitle}\n >\n {theme === 'dark' ? <Brightness7Icon /> : <Brightness4Icon />}\n </IconButton>\n </Tooltip>\n );\n};\n","import * as React from 'react';\nimport { FC } from 'react';\nimport { styled } from '@mui/material/styles';\nimport { Children, memo } from 'react';\nimport {\n AppBar as MuiAppBar,\n AppBarProps as MuiAppBarProps,\n Toolbar,\n useMediaQuery,\n Theme,\n} from '@mui/material';\nimport { useLocales } from 'ra-core';\n\nimport { SidebarToggleButton } from './SidebarToggleButton';\nimport { LoadingIndicator } from './LoadingIndicator';\nimport { UserMenu } from './UserMenu';\nimport { HideOnScroll } from './HideOnScroll';\nimport { TitlePortal } from './TitlePortal';\nimport { LocalesMenuButton } from '../button';\nimport { useThemesContext } from '../theme/useThemesContext';\nimport { ToggleThemeButton } from '../button/ToggleThemeButton';\n\n/**\n * The AppBar component renders a custom MuiAppBar.\n *\n * @param {Object} props\n * @param {ReactNode} props.children React node/s to be rendered as children of the AppBar\n * @param {string} props.className CSS class applied to the MuiAppBar component\n * @param {string} props.color The color of the AppBar\n * @param {Element | boolean} props.userMenu A custom user menu component for the AppBar. <UserMenu/> component by default. Pass false to disable.\n *\n * @example // add a custom button to the AppBar\n *\n * const MyAppBar = () => (\n * <AppBar>\n * <TitlePortal />\n * <MyCustomButton />\n * </AppBar>\n * );\n *\n * @example // without a user menu\n *\n * const MyAppBar = () => <AppBar userMenu={false} />;\n */\nexport const AppBar: FC<AppBarProps> = memo(props => {\n const {\n alwaysOn,\n children,\n className,\n color = 'secondary',\n toolbar = defaultToolbarElement,\n userMenu = DefaultUserMenu,\n container: Container = alwaysOn ? 'div' : HideOnScroll,\n ...rest\n } = props;\n\n const isXSmall = useMediaQuery<Theme>(theme =>\n theme.breakpoints.down('sm')\n );\n\n return (\n <Container className={className}>\n <StyledAppBar\n className={AppBarClasses.appBar}\n color={color}\n {...rest}\n >\n <Toolbar\n disableGutters\n variant={isXSmall ? 'regular' : 'dense'}\n className={AppBarClasses.toolbar}\n >\n <SidebarToggleButton className={AppBarClasses.menuButton} />\n {Children.count(children) === 0 ? (\n <TitlePortal className={AppBarClasses.title} />\n ) : (\n children\n )}\n {toolbar}\n {typeof userMenu === 'boolean' ? (\n userMenu === true ? (\n <UserMenu />\n ) : null\n ) : (\n userMenu\n )}\n </Toolbar>\n </StyledAppBar>\n </Container>\n );\n});\n\nconst DefaultToolbar = () => {\n const locales = useLocales();\n const { darkTheme } = useThemesContext();\n return (\n <>\n {locales && locales.length > 1 ? <LocalesMenuButton /> : null}\n {darkTheme && <ToggleThemeButton />}\n <LoadingIndicator />\n </>\n );\n};\n\nconst defaultToolbarElement = <DefaultToolbar />;\n\nconst DefaultUserMenu = <UserMenu />;\n\nexport interface AppBarProps extends MuiAppBarProps {\n /**\n * This prop is injected by Layout. You should not use it directly unless\n * you are using a custom layout.\n * If you are using the default layout, use `<Layout appBarAlwaysOn>` instead.\n */\n alwaysOn?: boolean;\n container?: React.ElementType<any>;\n toolbar?: JSX.Element;\n userMenu?: JSX.Element | boolean;\n}\n\nconst PREFIX = 'RaAppBar';\n\nexport const AppBarClasses = {\n appBar: `${PREFIX}-appBar`,\n toolbar: `${PREFIX}-toolbar`,\n menuButton: `${PREFIX}-menuButton`,\n menuButtonIconClosed: `${PREFIX}-menuButtonIconClosed`,\n menuButtonIconOpen: `${PREFIX}-menuButtonIconOpen`,\n title: `${PREFIX}-title`,\n};\n\nconst StyledAppBar = styled(MuiAppBar, {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme }) => ({\n [`& .${AppBarClasses.toolbar}`]: {\n padding: `0 ${theme.spacing(1)}`,\n [theme.breakpoints.down('md')]: {\n minHeight: theme.spacing(6),\n },\n },\n [`& .${AppBarClasses.menuButton}`]: {\n marginRight: '0.2em',\n },\n [`& .${AppBarClasses.title}`]: {},\n}));\n","import * as React from 'react';\nimport { Alert, AlertProps, Button, ButtonProps } from '@mui/material';\nimport { useTranslate } from 'ra-core';\n\nexport const ApplicationUpdatedNotification = React.forwardRef<\n HTMLDivElement,\n ApplicationUpdatedNotificationProps\n>((props, ref) => {\n const {\n ButtonProps,\n updateText = 'ra.action.update_application',\n notificationText = 'ra.notification.application_update_available',\n ...alertProps\n } = props;\n const translate = useTranslate();\n\n const handleButtonClick = () => {\n window.location.reload();\n };\n return (\n <Alert\n ref={ref}\n severity=\"info\"\n action={\n <Button\n color=\"inherit\"\n size=\"small\"\n onClick={handleButtonClick}\n {...ButtonProps}\n >\n {translate(updateText, { _: updateText })}\n </Button>\n }\n {...alertProps}\n >\n {translate(notificationText, { _: notificationText })}\n </Alert>\n );\n});\n\nexport interface ApplicationUpdatedNotificationProps extends AlertProps {\n ButtonProps?: ButtonProps;\n notificationText?: string;\n updateText?: string;\n}\n","import * as React from 'react';\nimport { ReactElement } from 'react';\nimport {\n useNotify,\n UseCheckForApplicationUpdateOptions,\n useCheckForApplicationUpdate,\n} from 'ra-core';\nimport { ApplicationUpdatedNotification } from './ApplicationUpdatedNotification';\n\n/**\n * Display a notification asking users to reload the page when the application code has changed.\n *\n * @param {CheckForApplicationUpdateProps} props\n * @param {boolean} options.disabled Optional. Whether the check should be disabled. Defaults to false.\n * @param {string|ReactElement} props.notification The notification to display to the user. Displayed only if `updateMode` is manual. Defaults to `<ApplicationUpdatedNotification />`.\n * @param {string} options.url Optional. The URL to download to check for code update. Defaults to the current URL.\n * @param {RequestInit} options.fetchOptions Optional. The options passed to fetch function when checking for update.\n * @param {number} options.interval Optional. The interval in milliseconds between two checks. Defaults to 3600000 (1 hour).\n *\n * @example <caption>Basic usage</caption>\n * import { Admin, Resource, Layout, CheckForApplicationUpdate, ListGuesser } from 'react-admin';\n *\n * const MyLayout = ({ children }) => (\n * <Layout>\n * {children}\n * <CheckForApplicationUpdate />\n * </Layout>\n * );\n *\n * const App = () => (\n * <Admin layout={MyLayout}>\n * <Resource name=\"posts\" list={ListGuesser} />\n * </Admin>\n * );\n *\n * @example <caption>Custom notification</caption>\n * import { forwardRef } from 'react';\n * import { Admin, Resource, Layout, CheckForApplicationUpdate, ListGuesser } from 'react-admin';\n *\n * const CustomAppUpdatedNotification = forwardRef((props, ref) => (\n * <Alert\n * ref={ref}\n * severity=\"info\"\n * action={\n * <Button\n * color=\"inherit\"\n * size=\"small\"\n * onClick={() => window.location.reload()}\n * >\n * Update\n * </Button>\n * }\n * >\n * A new version of the application is available. Please update.\n * </Alert>\n * ));\n *\n * const MyLayout = ({ children }) => (\n * <Layout>\n * {children}\n * <CheckForApplicationUpdate notification={<CustomAppUpdatedNotification />} />\n * </Layout>\n * );\n *\n * const App = () => (\n * <Admin layout={MyLayout}>\n * <Resource name=\"posts\" list={ListGuesser} />\n * </Admin>\n * );\n */\nexport const CheckForApplicationUpdate = (\n props: CheckForApplicationUpdateProps\n) => {\n const { notification = DEFAULT_NOTIFICATION, ...rest } = props;\n const notify = useNotify();\n\n const onNewVersionAvailable = () => {\n notify(notification, {\n type: 'info',\n autoHideDuration: null,\n });\n };\n\n useCheckForApplicationUpdate({ onNewVersionAvailable, ...rest });\n return null;\n};\n\nexport interface CheckForApplicationUpdateProps\n extends Omit<UseCheckForApplicationUpdateOptions, 'onNewVersionAvailable'> {\n onNewVersionAvailable?: UseCheckForApplicationUpdateOptions['onNewVersionAvailable'];\n notification?: ReactElement;\n}\n\nconst DEFAULT_NOTIFICATION = <ApplicationUpdatedNotification />;\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m-2 15-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8z\"\n}), 'CheckCircle');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M11 15h2v2h-2zm0-8h2v6h-2zm.99-5C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2M12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8\"\n}), 'ErrorOutline');","import * as React from 'react';\nimport { styled } from '@mui/material/styles';\nimport { useCallback, MouseEventHandler, ComponentType } from 'react';\nimport Dialog, { DialogProps } from '@mui/material/Dialog';\nimport DialogActions from '@mui/material/DialogActions';\nimport DialogContent from '@mui/material/DialogContent';\nimport DialogContentText from '@mui/material/DialogContentText';\nimport DialogTitle from '@mui/material/DialogTitle';\nimport Button from '@mui/material/Button';\nimport { alpha } from '@mui/material/styles';\nimport ActionCheck from '@mui/icons-material/CheckCircle';\nimport AlertError from '@mui/icons-material/ErrorOutline';\nimport clsx from 'clsx';\nimport { useTranslate } from 'ra-core';\n\n/**\n * Confirmation dialog\n *\n * @example\n * <Confirm\n * isOpen={true}\n * title=\"Delete Item\"\n * content=\"Are you sure you want to delete this item?\"\n * confirm=\"Yes\"\n * confirmColor=\"primary\"\n * ConfirmIcon=ActionCheck\n * CancelIcon=AlertError\n * cancel=\"Cancel\"\n * onConfirm={() => { // do something }}\n * onClose={() => { // do something }}\n * />\n */\nexport const Confirm = (props: ConfirmProps) => {\n const {\n className,\n isOpen = false,\n loading,\n title,\n content,\n cancel = 'ra.action.cancel',\n confirm = 'ra.action.confirm',\n confirmColor = 'primary',\n ConfirmIcon = ActionCheck,\n CancelIcon = AlertError,\n onClose,\n onConfirm,\n translateOptions = {},\n ...rest\n } = props;\n\n const translate = useTranslate();\n\n const handleConfirm = useCallback(\n e => {\n e.stopPropagation();\n onConfirm(e);\n },\n [onConfirm]\n );\n\n const handleClick = useCallback(e => {\n e.stopPropagation();\n }, []);\n\n return (\n <StyledDialog\n className={className}\n open={isOpen}\n onClose={onClose}\n onClick={handleClick}\n aria-labelledby=\"alert-dialog-title\"\n {...rest}\n >\n <DialogTitle id=\"alert-dialog-title\">\n {typeof title === 'string'\n ? translate(title, { _: title, ...translateOptions })\n : title}\n </DialogTitle>\n <DialogContent>\n {typeof content === 'string' ? (\n <DialogContentText>\n {translate(content, {\n _: content,\n ...translateOptions,\n })}\n </DialogContentText>\n ) : (\n content\n )}\n </DialogContent>\n <DialogActions>\n <Button\n disabled={loading}\n onClick={onClose}\n startIcon={<CancelIcon />}\n >\n {translate(cancel, { _: cancel })}\n </Button>\n <Button\n disabled={loading}\n onClick={handleConfirm}\n className={clsx('ra-confirm', {\n [ConfirmClasses.confirmWarning]:\n confirmColor === 'warning',\n [ConfirmClasses.confirmPrimary]:\n confirmColor === 'primary',\n })}\n autoFocus\n startIcon={<ConfirmIcon />}\n >\n {translate(confirm, { _: confirm })}\n </Button>\n </DialogActions>\n </StyledDialog>\n );\n};\n\nexport interface ConfirmProps\n extends Omit<DialogProps, 'open' | 'onClose' | 'title' | 'content'> {\n cancel?: string;\n className?: string;\n confirm?: string;\n confirmColor?: 'primary' | 'warning';\n ConfirmIcon?: ComponentType;\n CancelIcon?: ComponentType;\n content: React.ReactNode;\n isOpen?: boolean;\n loading?: boolean;\n onClose: MouseEventHandler;\n onConfirm: MouseEventHandler;\n title: React.ReactNode;\n translateOptions?: object;\n}\n\nconst PREFIX = 'RaConfirm';\n\nexport const ConfirmClasses = {\n confirmPrimary: `${PREFIX}-confirmPrimary`,\n confirmWarning: `${PREFIX}-confirmWarning`,\n};\n\nconst StyledDialog = styled(Dialog, {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme }) => ({\n [`& .${ConfirmClasses.confirmPrimary}`]: {\n color: theme.palette.primary.main,\n },\n\n [`& .${ConfirmClasses.confirmWarning}`]: {\n color: theme.palette.error.main,\n '&:hover': {\n backgroundColor: alpha(theme.palette.error.main, 0.12),\n // Reset on mouse devices\n '@media (hover: none)': {\n backgroundColor: 'transparent',\n },\n },\n },\n}));\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M3 13h8V3H3zm0 8h8v-6H3zm10 0h8V11h-8zm0-18v6h8V3z\"\n}), 'Dashboard');","import React, { forwardRef, useCallback, ReactElement, ReactNode } from 'react';\nimport { styled } from '@mui/material/styles';\nimport clsx from 'clsx';\nimport { Link, LinkProps, useMatch } from 'react-router-dom';\nimport {\n MenuItem,\n MenuItemProps,\n ListItemIcon,\n Tooltip,\n TooltipProps,\n useMediaQuery,\n Theme,\n} from '@mui/material';\n\nimport { useSidebarState } from './useSidebarState';\nimport { useTranslate, useBasename } from 'ra-core';\n\n/**\n * Displays a menu item with a label and an icon - or only the icon with a tooltip when the sidebar is minimized.\n * It also handles the automatic closing of the menu on tap on mobile.\n *\n * @typedef {Object} Props the props you can use\n * @prop {string|Location} to The menu item's target. It is passed to a React Router NavLink component.\n * @prop {string|ReactNode} primaryText The menu content, displayed when the menu isn't minimized. |\n * @prop {ReactNode} leftIcon The menu icon\n *\n * Additional props are passed down to the underling Material UI <MenuItem> component\n * @see https://material-ui.com/api/menu-item/#menuitem-api\n *\n * @example // You can create a custom menu component using the <DashboardMenuItem> and <MenuItemLink> components:\n *\n * // in src/Menu.js\n * import * as React from 'react';\n * import { DashboardMenuItem, MenuItemLink } from 'react-admin';\n * import BookIcon from '@mui/icons-material/Book';\n * import ChatBubbleIcon from '@mui/icons-material/ChatBubble';\n * import PeopleIcon from '@mui/icons-material/People';\n * import LabelIcon from '@mui/icons-material/Label';\n *\n * export const Menu = () => (\n * <div>\n * <DashboardMenuItem />\n * <MenuItemLink to=\"/posts\" primaryText=\"Posts\" leftIcon={<BookIcon />}/>\n * <MenuItemLink to=\"/comments\" primaryText=\"Comments\" leftIcon={<ChatBubbleIcon />}/>\n * <MenuItemLink to=\"/users\" primaryText=\"Users\" leftIcon={<PeopleIcon />}/>\n * <MenuItemLink to=\"/custom-route\" primaryText=\"Miscellaneous\" leftIcon={<LabelIcon />}/>\n * </div>\n * );\n *\n * // to use this custom menu component, pass it to a custom Layout:\n * // in src/Layout.js\n * import { Layout } from 'react-admin';\n * import { Menu } from './Menu';\n *\n * export const Layout = ({ children }) => (\n * <Layout menu={Menu}>\n * {children}\n * </Layout>\n * );\n *\n * // then, use this layout in the <Admin layout> prop:\n * // in src/App.js\n * import { Layout } from './Layout';\n *\n * const App = () => (\n * <Admin layout={Layout} dataProvider={simpleRestProvider('http://path.to.my.api')}>\n * // ...\n * </Admin>\n * );\n */\nexport const MenuItemLink = forwardRef<any, MenuItemLinkProps>((props, ref) => {\n const {\n className,\n primaryText,\n leftIcon,\n onClick,\n sidebarIsOpen,\n tooltipProps,\n children,\n ...rest\n } = props;\n\n const isSmall = useMediaQuery<Theme>(theme => theme.breakpoints.down('md'));\n const translate = useTranslate();\n const basename = useBasename();\n\n const [open, setOpen] = useSidebarState();\n const handleMenuTap = useCallback(\n e => {\n if (isSmall) {\n setOpen(false);\n }\n onClick && onClick(e);\n },\n [setOpen, isSmall, onClick]\n );\n\n const to =\n (typeof props.to === 'string' ? props.to : props.to.pathname) || '';\n const match = useMatch({ path: to, end: to === `${basename}/` });\n\n const renderMenuItem = () => {\n return (\n <StyledMenuItem\n className={clsx(className, {\n [MenuItemLinkClasses.active]: !!match,\n })}\n // @ts-ignore\n component={LinkRef}\n ref={ref}\n tabIndex={0}\n {...rest}\n onClick={handleMenuTap}\n >\n {leftIcon && (\n <ListItemIcon className={MenuItemLinkClasses.icon}>\n {leftIcon}\n </ListItemIcon>\n )}\n {children\n ? children\n : typeof primaryText === 'string'\n ? translate(primaryText, { _: primaryText })\n : primaryText}\n </StyledMenuItem>\n );\n };\n\n return open ? (\n renderMenuItem()\n ) : (\n <Tooltip\n title={\n typeof primaryText === 'string'\n ? translate(primaryText, { _: primaryText })\n : primaryText\n }\n placement=\"right\"\n {...tooltipProps}\n >\n {renderMenuItem()}\n </Tooltip>\n );\n});\n\nexport type MenuItemLinkProps = Omit<\n LinkProps & MenuItemProps<'li'>,\n 'placeholder' | 'onPointerEnterCapture' | 'onPointerLeaveCapture'\n> & {\n leftIcon?: ReactElement;\n primaryText?: ReactNode;\n /**\n * @deprecated\n */\n sidebarIsOpen?: boolean;\n tooltipProps?: TooltipProps;\n};\n\nconst PREFIX = 'RaMenuItemLink';\n\nexport const MenuItemLinkClasses = {\n active: `${PREFIX}-active`,\n icon: `${PREFIX}-icon`,\n};\n\nconst StyledMenuItem = styled(MenuItem, {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme }) => ({\n color: theme.palette.text.secondary,\n\n [`&.${MenuItemLinkClasses.active}`]: {\n color: theme.palette.text.primary,\n },\n\n [`& .${MenuItemLinkClasses.icon}`]: { minWidth: theme.spacing(5) },\n}));\n\nconst LinkRef = forwardRef<HTMLAnchorElement, LinkProps>((props, ref) => (\n <Link ref={ref} {...props} />\n));\n","import React from 'react';\nimport DashboardIcon from '@mui/icons-material/Dashboard';\nimport { To } from 'react-router';\nimport { useBasename } from 'ra-core';\n\nimport { MenuItemLink, MenuItemLinkProps } from './MenuItemLink';\n\nexport const DashboardMenuItem = (props: DashboardMenuItemProps) => {\n const basename = useBasename();\n const {\n leftIcon = <DashboardIcon />,\n to = `${basename}/`,\n primaryText = 'ra.page.dashboard',\n ...rest\n } = props;\n\n return (\n <MenuItemLink\n leftIcon={leftIcon}\n to={to}\n primaryText={primaryText}\n {...rest}\n />\n );\n};\n\nexport interface DashboardMenuItemProps extends Omit<MenuItemLinkProps, 'to'> {\n to?: To;\n /**\n * @deprecated\n */\n sidebarIsOpen?: boolean;\n}\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M15.73 3H8.27L3 8.27v7.46L8.27 21h7.46L21 15.73V8.27zM12 17.3c-.72 0-1.3-.58-1.3-1.3 0-.72.58-1.3 1.3-1.3.72 0 1.3.58 1.3 1.3 0 .72-.58 1.3-1.3 1.3m1-4.3h-2V7h2z\"\n}), 'Report');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z\"\n}), 'ExpandMore');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M13 3c-4.97 0-9 4.03-9 9H1l3.89 3.89.07.14L9 12H6c0-3.87 3.13-7 7-7s7 3.13 7 7-3.13 7-7 7c-1.93 0-3.68-.79-4.94-2.06l-1.42 1.42C8.27 19.99 10.51 21 13 21c4.97 0 9-4.03 9-9s-4.03-9-9-9m-1 5v5l4.28 2.54.72-1.21-3.5-2.08V8z\"\n}), 'History');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.07-.94l2.03-1.58c.18-.14.23-.41.12-.61l-1.92-3.32c-.12-.22-.37-.29-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94l-.36-2.54c-.04-.24-.24-.41-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96c-.22-.08-.47 0-.59.22L2.74 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.09.63-.09.94s.02.64.07.94l-2.03 1.58c-.18.14-.23.41-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .44-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.47-.12-.61zM12 15.6c-1.98 0-3.6-1.62-3.6-3.6s1.62-3.6 3.6-3.6 3.6 1.62 3.6 3.6-1.62 3.6-3.6 3.6\"\n}), 'Settings');","import * as React from 'react';\nimport { useRef, useEffect, useState, cloneElement, ReactElement } from 'react';\nimport {\n usePreferencesEditor,\n PreferenceKeyContextProvider,\n useTranslate,\n} from 'ra-core';\nimport { alpha, Popover } from '@mui/material';\nimport { styled, SxProps } from '@mui/material/styles';\nimport SettingsIcon from '@mui/icons-material/Settings';\nimport clsx from 'clsx';\n\n/**\n * Wrap any component with this component to make it configurable\n *\n * When the edit mode is enabled, users will see a button to edit the component;\n * when clicked, the inspector will show the editor element.\n *\n * Creates a context for the preference key, so that both the child component\n * and the editor can access it using usePreferenceKey();\n *\n * @example\n * const ConfigurableTextBlock = ({ preferenceKey = \"TextBlock\", ...props }) => (\n * <Configurable editor={<TextBlockInspector />} preferenceKey={preferenceKey}>\n * <TextBlock {...props} />\n * </Configurable>\n * );\n */\nexport const Configurable = (props: ConfigurableProps) => {\n const {\n children,\n editor,\n preferenceKey,\n openButtonLabel = 'ra.configurable.customize',\n sx,\n } = props;\n\n const prefixedPreferenceKey = `preferences.${preferenceKey}`;\n const preferencesEditorContext = usePreferencesEditor();\n const hasPreferencesEditorContext = !!preferencesEditorContext;\n\n const translate = useTranslate();\n\n const {\n isEnabled,\n setEditor,\n preferenceKey: currentPreferenceKey,\n setPreferenceKey,\n } = preferencesEditorContext || {};\n\n const isEditorOpen = prefixedPreferenceKey === currentPreferenceKey;\n const editorOpenRef = useRef(isEditorOpen);\n const wrapperRef = useRef(null);\n const [isCustomizeButtonVisible, setIsCustomizeButtonVisible] = useState(\n false\n );\n\n useEffect(() => {\n editorOpenRef.current = isEditorOpen;\n }, [isEditorOpen]);\n\n // on unmount, if selected, remove the editor\n useEffect(() => {\n return () => {\n if (!editorOpenRef.current) return;\n setPreferenceKey && setPreferenceKey(null);\n setEditor && setEditor(null);\n };\n }, [setEditor, setPreferenceKey]);\n\n if (!hasPreferencesEditorContext) {\n return children;\n }\n\n const handleOpenEditor = () => {\n if (!setEditor) {\n throw new Error(\n 'Configurable must be used inside a PreferencesEditorContextProvider'\n );\n }\n\n // include the editorKey as key to force destroy and mount\n // when switching between two identical editors with different editor keys\n // otherwise the editor will see an update and its useStore will return one tick later\n // which would forbid the usage of uncontrolled inputs in the editor\n setEditor(\n cloneElement(editor, {\n preferenceKey: prefixedPreferenceKey,\n key: prefixedPreferenceKey,\n })\n );\n if (!setPreferenceKey) {\n throw new Error(\n 'Configurable must be used inside a PreferencesEditorContextProvider'\n );\n }\n // as we modify the editor, isEditorOpen cannot compare the editor element\n // we'll compare the editor key instead\n setPreferenceKey(prefixedPreferenceKey);\n };\n\n const handleShowButton = () => {\n setIsCustomizeButtonVisible(true);\n };\n\n const handleHideButton = () => {\n setIsCustomizeButtonVisible(false);\n };\n\n return (\n <PreferenceKeyContextProvider value={prefixedPreferenceKey}>\n <Root\n className={clsx(\n ConfigurableClasses.root,\n isEnabled && ConfigurableClasses.editMode,\n isEditorOpen && ConfigurableClasses.editorActive\n )}\n sx={sx}\n ref={wrapperRef}\n onMouseEnter={isEnabled ? handleShowButton : undefined}\n onMouseLeave={isEnabled ? handleHideButton : undefined}\n >\n {children}\n </Root>\n <Popover\n open={!!isEnabled && (isCustomizeButtonVisible || isEditorOpen)}\n sx={{\n pointerEvents: 'none',\n '& .MuiPaper-root': {\n pointerEvents: 'auto',\n borderRadius: 10,\n padding: '2px',\n lineHeight: 0,\n backgroundColor: 'warning.light',\n color: 'warning.contrastText',\n '&:hover': {\n cursor: 'pointer',\n },\n },\n }}\n anchorEl={wrapperRef.current}\n anchorOrigin={{\n vertical: 'top',\n horizontal: 'right',\n }}\n transformOrigin={{\n vertical: 'center',\n horizontal: 'center',\n }}\n onClose={handleHideButton}\n PaperProps={{\n elevation: 1,\n onMouseEnter: handleShowButton,\n onMouseLeave: handleHideButton,\n title: translate(openButtonLabel),\n onClick: handleOpenEditor,\n }}\n disableAutoFocus\n disableRestoreFocus\n disableEnforceFocus\n disableScrollLock\n marginThreshold={8}\n >\n <SettingsIcon\n // @ts-ignore\n fontSize=\"12px\"\n />\n </Popover>\n </PreferenceKeyContextProvider>\n );\n};\n\nexport interface ConfigurableProps {\n children: ReactElement;\n editor: ReactElement;\n preferenceKey: string;\n openButtonLabel?: string;\n sx?: SxProps;\n}\n\nconst PREFIX = 'RaConfigurable';\n\nexport const ConfigurableClasses = {\n root: `${PREFIX}-root`,\n editMode: `${PREFIX}-editMode`,\n editorActive: `${PREFIX}-editorActive`,\n};\n\nconst Root = styled('span', {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme }) => ({\n position: 'relative',\n display: 'inline-block',\n [`&.${ConfigurableClasses.editMode}`]: {\n transition: theme.transitions.create('outline'),\n outline: `${alpha(theme.palette.warning.main, 0.3)} solid 2px`,\n },\n [`&.${ConfigurableClasses.editMode}:hover `]: {\n outline: `${alpha(theme.palette.warning.main, 0.5)} solid 2px`,\n },\n [`&.${ConfigurableClasses.editMode}.${ConfigurableClasses.editorActive} , &.${ConfigurableClasses.editMode}.${ConfigurableClasses.editorActive}:hover `]: {\n outline: `${theme.palette.warning.main} solid 2px`,\n },\n}));\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8m3.59-13L12 10.59 8.41 7 7 8.41 10.59 12 7 15.59 8.41 17 12 13.41 15.59 17 17 15.59 13.41 12 17 8.41z\"\n}), 'CancelOutlined');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6zM8 9h8v10H8zm7.5-5-1-1h-5l-1 1H5v2h14V4z\"\n}), 'DeleteOutline');","import * as React from 'react';\nimport { Typography } from '@mui/material';\nimport { useTranslate, useSetInspectorTitle } from 'ra-core';\n\nexport const InspectorRoot = () => {\n const translate = useTranslate();\n useSetInspectorTitle('ra.configurable.inspector.title', {\n _: 'Inspector',\n });\n\n return (\n <Typography>\n {translate('ra.configurable.inspector.content', {\n _: 'Hover the application UI elements to configure them',\n })}\n </Typography>\n );\n};\n","import * as React from 'react';\nimport { useState, useEffect, useRef } from 'react';\nimport {\n useStore,\n usePreferencesEditor,\n useTranslate,\n useRemoveItemsFromStore,\n PreferenceKeyContextProvider,\n} from 'ra-core';\nimport { Paper, Typography, IconButton } from '@mui/material';\nimport CloseIcon from '@mui/icons-material/CancelOutlined';\nimport DeleteIcon from '@mui/icons-material/DeleteOutline';\nimport { useTheme, styled } from '@mui/material/styles';\n\nimport { InspectorRoot } from './InspectorRoot';\n\nexport const Inspector = () => {\n const {\n isEnabled,\n disable,\n title,\n titleOptions,\n editor,\n preferenceKey,\n } = usePreferencesEditor();\n\n const isDragging = useRef(false);\n const removeItems = useRemoveItemsFromStore(preferenceKey);\n const theme = useTheme();\n const translate = useTranslate();\n const [version, setVersion] = useState(0);\n\n const [dialogPosition, setDialogPosition] = useStore(\n 'ra.inspector.position',\n {\n x:\n // We want it positioned to the far right of the screen\n document?.body.clientWidth -\n // So we remove its size (see the root css class)\n theme.breakpoints.values.sm / 2 -\n // And add a margin\n 8,\n y: 8,\n }\n );\n\n // poor man's drag and drop\n // store click position relative to the dialog position\n const [clickPosition, setClickPosition] = useState<\n { x: number; y: number } | undefined\n >();\n const handleDragStart = e => {\n // exit if the user drags on anything but the title\n const draggedElement = document?.elementFromPoint(e.clientX, e.clientY);\n if (draggedElement?.id !== 'inspector-dialog-title') {\n return;\n }\n isDragging.current = true;\n e.dataTransfer.effectAllowed = 'move';\n e.dataTransfer.setData('inspector', '');\n setTimeout(() => {\n e.target.classList.add('hide');\n }, 0);\n setClickPosition({\n x: e.clientX - dialogPosition.x,\n y: e.clientY - dialogPosition.y,\n });\n };\n const handleDragEnd = e => {\n if (isDragging.current && clickPosition) {\n setDialogPosition({\n x: e.clientX - clickPosition.x,\n y: e.clientY - clickPosition.y,\n });\n e.target.classList.remove('hide');\n isDragging.current = false;\n }\n };\n\n // prevent \"back to base\" animation when the inspector is dropped\n useEffect(() => {\n if (!isEnabled) return;\n const handleDragover = e => {\n if (e.dataTransfer.types.includes('inspector')) {\n e.preventDefault();\n }\n };\n document?.addEventListener('dragover', handleDragover);\n return () => {\n document?.removeEventListener('dragover', handleDragover);\n };\n }, [isEnabled]);\n\n // make sure that the dialog is always visible, as the stored position may be outside the screen\n useEffect(() => {\n if (!isEnabled) return;\n const moveInspectorIfOutsideScreen = () => {\n window?.requestAnimationFrame(() => {\n setDialogPosition(position => ({\n x: Math.min(\n position.x,\n document?.body.clientWidth -\n theme.breakpoints.values.sm / 2 -\n 8\n ),\n y: Math.min(position.y, window?.innerHeight - 50),\n }));\n });\n };\n moveInspectorIfOutsideScreen();\n window?.addEventListener('resize', moveInspectorIfOutsideScreen);\n return () => {\n window?.removeEventListener('resize', moveInspectorIfOutsideScreen);\n };\n }, [isEnabled, setDialogPosition, theme.breakpoints.values.sm]);\n\n const handleReset = () => {\n removeItems();\n // force redraw of the form to use the default values\n setVersion(version => version + 1);\n };\n\n if (!isEnabled) return null;\n return (\n <StyledPaper\n className={InspectorClasses.modal}\n elevation={3}\n draggable\n onDragStart={handleDragStart}\n onDragEnd={handleDragEnd}\n sx={{ left: dialogPosition.x, top: dialogPosition.y }}\n >\n <div className={InspectorClasses.title}>\n <Typography\n id=\"inspector-dialog-title\"\n variant=\"overline\"\n component=\"div\"\n py={1}\n px={2}\n flex=\"1\"\n >\n {title && translate(title, titleOptions)}\n </Typography>\n <span id=\"inspector-toolbar\" />\n {preferenceKey && (\n <IconButton\n aria-label={translate('ra.action.remove')}\n onClick={handleReset}\n size=\"small\"\n >\n <DeleteIcon fontSize=\"inherit\" />\n </IconButton>\n )}\n <IconButton\n aria-label={translate('ra.action.close')}\n onClick={disable}\n size=\"small\"\n sx={{ mr: 1 }}\n >\n <CloseIcon fontSize=\"inherit\" />\n </IconButton>\n </div>\n <div className={InspectorClasses.content} key={version}>\n <PreferenceKeyContextProvider value={preferenceKey}>\n {editor || <InspectorRoot />}\n </PreferenceKeyContextProvider>\n </div>\n </StyledPaper>\n );\n};\n\nconst PREFIX = 'RaInspector';\n\nexport const InspectorClasses = {\n modal: `${PREFIX}-modal`,\n title: `${PREFIX}-title`,\n content: `${PREFIX}-content`,\n};\n\nconst StyledPaper = styled(Paper, {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme }) => ({\n position: 'fixed',\n zIndex: theme.zIndex.modal + 1,\n width: theme.breakpoints.values.sm / 2,\n transition: theme.transitions.create(['height', 'width']),\n '&.hide': {\n display: 'none',\n },\n [`& .${InspectorClasses.title}`]: {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n cursor: 'move',\n },\n [`& .${InspectorClasses.content}`]: {\n overflowY: 'auto',\n maxHeight: '75vh',\n padding: theme.spacing(2),\n paddingTop: 0,\n },\n}));\n\nInspector.displayName = 'Inspector';\n","import * as React from 'react';\nimport { useRecordContext, useTranslate, usePreference } from 'ra-core';\n\nexport const PageTitle = ({ title, defaultTitle, className, ...rest }: any) => {\n const [titleFromPreferences] = usePreference();\n const translate = useTranslate();\n const record = useRecordContext();\n\n return titleFromPreferences ? (\n <span className={className} {...rest}>\n {translate(titleFromPreferences, {\n ...record,\n _: titleFromPreferences,\n })}\n </span>\n ) : (\n <span className={className}>\n {!title ? (\n <span {...rest}>{defaultTitle}</span>\n ) : typeof title === 'string' ? (\n <span {...rest}>{translate(title, { _: title })}</span>\n ) : (\n title\n )}\n </span>\n );\n};\n","import * as React from 'react';\nimport { useLocation } from 'react-router-dom';\nimport { usePreferenceInput } from 'ra-core';\nimport { TextField } from '@mui/material';\n\nimport { Configurable } from '../preferences';\nimport { PageTitle } from './PageTitle';\n\nexport const PageTitleEditor = () => {\n const field = usePreferenceInput();\n return (\n <form>\n <TextField\n label=\"title\"\n variant=\"filled\"\n size=\"small\"\n fullWidth\n sx={{ mb: 1 }}\n {...field}\n />\n </form>\n );\n};\n\nexport const PageTitleConfigurable = ({ preferenceKey, ...props }) => {\n const { pathname } = useLocation();\n return (\n <Configurable\n editor={<PageTitleEditor />}\n preferenceKey={preferenceKey || `${pathname}.title`}\n sx={{\n '&.RaConfigurable-editMode': {\n margin: '2px',\n },\n }}\n >\n <PageTitle {...props} />\n </Configurable>\n );\n};\n","import * as React from 'react';\nimport { useEffect, useState } from 'react';\nimport { ReactElement } from 'react';\nimport { createPortal } from 'react-dom';\nimport { RaRecord, TitleComponent, warning } from 'ra-core';\n\nimport { PageTitleConfigurable } from './PageTitleConfigurable';\n\nexport const Title = (props: TitleProps) => {\n const { defaultTitle, title, preferenceKey, ...rest } = props;\n const [container, setContainer] = useState<HTMLElement | null>(() =>\n typeof document !== 'undefined'\n ? document.getElementById('react-admin-title')\n : null\n );\n\n // on first mount, we don't have the container yet, so we wait for it\n useEffect(() => {\n setContainer(container => {\n const isInTheDom =\n typeof document !== 'undefined' &&\n document.body.contains(container);\n if (container && isInTheDom) return container;\n return typeof document !== 'undefined'\n ? document.getElementById('react-admin-title')\n : null;\n });\n }, []);\n\n if (!container) return null;\n\n warning(!defaultTitle && !title, 'Missing title prop in <Title> element');\n\n return (\n <>\n {createPortal(\n <PageTitleConfigurable\n title={title}\n defaultTitle={defaultTitle}\n preferenceKey={preferenceKey}\n {...rest}\n />,\n container\n )}\n </>\n );\n};\n\nexport interface TitleProps {\n className?: string;\n defaultTitle?: TitleComponent;\n record?: Partial<RaRecord>;\n title?: string | ReactElement;\n preferenceKey?: string;\n}\n","import * as React from 'react';\nimport { ComponentType, ErrorInfo, Fragment, HtmlHTMLAttributes } from 'react';\nimport { FallbackProps } from 'react-error-boundary';\nimport { styled } from '@mui/material/styles';\nimport {\n Button,\n Accordion,\n AccordionDetails,\n AccordionSummary,\n Typography,\n} from '@mui/material';\nimport ErrorIcon from '@mui/icons-material/Report';\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore';\nimport History from '@mui/icons-material/History';\nimport {\n useTranslate,\n useDefaultTitle,\n useResetErrorBoundaryOnLocationChange,\n} from 'ra-core';\nimport type { TitleComponent } from 'ra-core';\n\nimport { Title } from './Title';\n\nexport const Error = (\n props: InternalErrorProps & {\n errorComponent?: ComponentType<ErrorProps>;\n }\n) => {\n const {\n error,\n errorComponent: ErrorComponent,\n errorInfo,\n resetErrorBoundary,\n className,\n ...rest\n } = props;\n\n const translate = useTranslate();\n const title = useDefaultTitle();\n useResetErrorBoundaryOnLocationChange(resetErrorBoundary);\n\n if (ErrorComponent) {\n return (\n <ErrorComponent error={error} errorInfo={errorInfo} title={title} />\n );\n }\n\n return (\n <Fragment>\n {title && <Title title={title} />}\n <Root className={className} {...rest}>\n <h1 className={ErrorClasses.title} role=\"alert\">\n <ErrorIcon className={ErrorClasses.icon} />\n {translate('ra.page.error')}\n </h1>\n <div>{translate('ra.message.error')}</div>\n {process.env.NODE_ENV !== 'production' && (\n <>\n <Accordion className={ErrorClasses.panel}>\n <AccordionSummary\n expandIcon={<ExpandMoreIcon />}\n className={ErrorClasses.panelSumary}\n >\n {translate(error.message, {\n _: error.message,\n })}\n </AccordionSummary>\n <AccordionDetails\n className={ErrorClasses.panelDetails}\n >\n {/*\n error message is repeated here to allow users to copy it. AccordionSummary doesn't support text selection.\n */}\n <p>\n {translate(error.message, {\n _: error.message,\n })}\n </p>\n <p>{errorInfo?.componentStack}</p>\n </AccordionDetails>\n </Accordion>\n\n <div className={ErrorClasses.advice}>\n <Typography align=\"center\">\n Need help with this error? Try the following:\n </Typography>\n <Typography component=\"div\">\n <ul>\n <li>\n Check the{' '}\n <a href=\"https://marmelab.com/react-admin/documentation.html\">\n react-admin documentation\n </a>\n </li>\n <li>\n Search on{' '}\n <a href=\"https://stackoverflow.com/questions/tagged/react-admin\">\n StackOverflow\n </a>{' '}\n for community answers\n </li>\n <li>\n Get help from the core team via{' '}\n <a href=\"https://react-admin-ee.marmelab.com/#fromsww\">\n react-admin Enterprise Edition\n </a>\n </li>\n </ul>\n </Typography>\n </div>\n </>\n )}\n <div className={ErrorClasses.toolbar}>\n <Button\n variant=\"contained\"\n startIcon={<History />}\n onClick={goBack}\n >\n {translate('ra.action.back')}\n </Button>\n </div>\n </Root>\n </Fragment>\n );\n};\n\ninterface InternalErrorProps\n extends Omit<HtmlHTMLAttributes<HTMLDivElement>, 'title'>,\n FallbackProps {\n className?: string;\n errorInfo?: ErrorInfo;\n}\n\nexport interface ErrorProps extends Pick<FallbackProps, 'error'> {\n errorInfo?: ErrorInfo;\n title?: TitleComponent;\n}\n\nconst PREFIX = 'RaError';\n\nexport const ErrorClasses = {\n container: `${PREFIX}-container`,\n title: `${PREFIX}-title`,\n icon: `${PREFIX}-icon`,\n panel: `${PREFIX}-panel`,\n panelSumary: `${PREFIX}-panelSumary`,\n panelDetails: `${PREFIX}-panelDetails`,\n toolbar: `${PREFIX}-toolbar`,\n advice: `${PREFIX}-advice`,\n};\n\nconst Root = styled('div', {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme }) => ({\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n [theme.breakpoints.down('md')]: {\n padding: '1em',\n },\n fontFamily: 'Roboto, sans-serif',\n opacity: 0.5,\n\n [`& .${ErrorClasses.title}`]: {\n display: 'flex',\n alignItems: 'center',\n },\n\n [`& .${ErrorClasses.icon}`]: {\n width: '2em',\n height: '2em',\n marginRight: '0.5em',\n },\n\n [`& .${ErrorClasses.panel}`]: {\n marginTop: '1em',\n maxWidth: '60em',\n },\n\n [`& .${ErrorClasses.panelSumary}`]: {\n userSelect: 'all',\n },\n\n [`& .${ErrorClasses.panelDetails}`]: {\n whiteSpace: 'pre-wrap',\n },\n\n [`& .${ErrorClasses.toolbar}`]: {\n marginTop: '2em',\n },\n\n [`& .${ErrorClasses.advice}`]: {\n marginTop: '2em',\n },\n}));\n\nfunction goBack() {\n window.history.go(-1);\n}\n","import * as React from 'react';\nimport { styled } from '@mui/material/styles';\nimport { ReactElement } from 'react';\nimport {\n Drawer,\n DrawerProps,\n useMediaQuery,\n Theme,\n useScrollTrigger,\n} from '@mui/material';\nimport lodashGet from 'lodash/get';\nimport { useLocale } from 'ra-core';\n\nimport { useSidebarState } from './useSidebarState';\n\nexport const Sidebar = (props: SidebarProps) => {\n const { appBarAlwaysOn, children, closedSize, size, ...rest } = props;\n const isXSmall = useMediaQuery<Theme>(theme =>\n theme.breakpoints.down('sm')\n );\n const [open, setOpen] = useSidebarState();\n useLocale(); // force redraw on locale change\n const trigger = useScrollTrigger();\n\n const toggleSidebar = () => setOpen(!open);\n\n return isXSmall ? (\n <StyledDrawer\n variant=\"temporary\"\n open={open}\n onClose={toggleSidebar}\n classes={SidebarClasses}\n {...rest}\n >\n {children}\n </StyledDrawer>\n ) : (\n <StyledDrawer\n variant=\"permanent\"\n open={open}\n onClose={toggleSidebar}\n classes={SidebarClasses}\n className={\n trigger && !appBarAlwaysOn ? SidebarClasses.appBarCollapsed : ''\n }\n {...rest}\n >\n <div className={SidebarClasses.fixed}>{children}</div>\n </StyledDrawer>\n );\n};\n\nexport interface SidebarProps extends DrawerProps {\n appBarAlwaysOn?: boolean;\n children: ReactElement;\n closedSize?: number;\n size?: number;\n}\n\nconst PREFIX = 'RaSidebar';\n\nexport const SidebarClasses = {\n docked: `${PREFIX}-docked`,\n paper: `${PREFIX}-paper`,\n paperAnchorLeft: `${PREFIX}-paperAnchorLeft`,\n paperAnchorRight: `${PREFIX}-paperAnchorRight`,\n paperAnchorTop: `${PREFIX}-paperAnchorTop`,\n paperAnchorBottom: `${PREFIX}-paperAnchorBottom`,\n paperAnchorDockedLeft: `${PREFIX}-paperAnchorDockedLeft`,\n paperAnchorDockedTop: `${PREFIX}-paperAnchorDockedTop`,\n paperAnchorDockedRight: `${PREFIX}-paperAnchorDockedRight`,\n paperAnchorDockedBottom: `${PREFIX}-paperAnchorDockedBottom`,\n modal: `${PREFIX}-modal`,\n fixed: `${PREFIX}-fixed`,\n appBarCollapsed: `${PREFIX}-appBarCollapsed`,\n};\n\nconst StyledDrawer = styled(Drawer, {\n name: PREFIX,\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root,\n shouldForwardProp: () => true,\n})(({ open, theme }) => ({\n height: 'calc(100vh - 3em)',\n marginTop: 0,\n transition: theme.transitions.create('margin', {\n easing: theme.transitions.easing.easeOut,\n duration: theme.transitions.duration.enteringScreen,\n }),\n [`&.${SidebarClasses.appBarCollapsed}`]: {\n // compensate the margin of the Layout appFrame instead of removing it in the Layout\n // because otherwise, the appFrame content without margin may revert the scrollTrigger,\n // leading to a visual jiggle\n marginTop: theme.spacing(-6),\n [theme.breakpoints.down('sm')]: {\n marginTop: theme.spacing(-7),\n },\n transition: theme.transitions.create('margin', {\n easing: theme.transitions.easing.sharp,\n duration: theme.transitions.duration.leavingScreen,\n }),\n },\n [`& .${SidebarClasses.docked}`]: {},\n [`& .${SidebarClasses.paper}`]: {},\n [`& .${SidebarClasses.paperAnchorLeft}`]: {},\n [`& .${SidebarClasses.paperAnchorRight}`]: {},\n [`& .${SidebarClasses.paperAnchorTop}`]: {},\n [`& .${SidebarClasses.paperAnchorBottom}`]: {},\n [`& .${SidebarClasses.paperAnchorDockedLeft}`]: {},\n [`& .${SidebarClasses.paperAnchorDockedTop}`]: {},\n [`& .${SidebarClasses.paperAnchorDockedRight}`]: {},\n [`& .${SidebarClasses.paperAnchorDockedBottom}`]: {},\n [`& .${SidebarClasses.modal}`]: {},\n\n [`& .${SidebarClasses.fixed}`]: {\n position: 'fixed',\n height: 'calc(100vh - 3em)',\n overflowX: 'hidden',\n // hide scrollbar\n scrollbarWidth: 'none',\n msOverflowStyle: 'none',\n '&::-webkit-scrollbar': {\n display: 'none',\n },\n },\n\n [`& .MuiPaper-root`]: {\n position: 'relative',\n width: open\n ? lodashGet(theme, 'sidebar.width', DRAWER_WIDTH)\n : lodashGet(theme, 'sidebar.closedWidth', CLOSED_DRAWER_WIDTH),\n transition: theme.transitions.create('width', {\n easing: theme.transitions.easing.sharp,\n duration: theme.transitions.duration.leavingScreen,\n }),\n backgroundColor: 'transparent',\n borderRight: 'none',\n [theme.breakpoints.only('xs')]: {\n marginTop: 0,\n height: '100vh',\n position: 'inherit',\n backgroundColor: theme.palette.background.default,\n },\n [theme.breakpoints.up('md')]: {\n border: 'none',\n },\n zIndex: 'inherit',\n },\n}));\n\nexport const DRAWER_WIDTH = 240;\nexport const CLOSED_DRAWER_WIDTH = 55;\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M3 14h4v-4H3zm0 5h4v-4H3zM3 9h4V5H3zm5 5h13v-4H8zm0 5h13v-4H8zM8 5v4h13V5z\"\n}), 'ViewList');","import * as React from 'react';\nimport { createElement } from 'react';\nimport DefaultIcon from '@mui/icons-material/ViewList';\n\nimport {\n useResourceDefinitions,\n useGetResourceLabel,\n useCreatePath,\n} from 'ra-core';\n\nimport { MenuItemLink } from './MenuItemLink';\n\nexport const ResourceMenuItem = ({ name }: { name: string }) => {\n const resources = useResourceDefinitions();\n const getResourceLabel = useGetResourceLabel();\n const createPath = useCreatePath();\n if (!resources || !resources[name]) return null;\n return (\n <MenuItemLink\n to={createPath({\n resource: name,\n type: 'list',\n })}\n state={{ _scrollToTop: true }}\n primaryText={<>{getResourceLabel(name, 2)}</>}\n leftIcon={\n resources[name].icon ? (\n createElement(resources[name].icon)\n ) : (\n <DefaultIcon />\n )\n }\n />\n );\n};\n","import * as React from 'react';\nimport { useResourceDefinitions } from 'ra-core';\n\nimport { ResourceMenuItem } from './ResourceMenuItem';\n\nexport const ResourceMenuItems = () => {\n const resources = useResourceDefinitions();\n return (\n <>\n {Object.keys(resources)\n .filter(name => resources[name].hasList)\n .map(name => (\n <ResourceMenuItem key={name} name={name} />\n ))}\n </>\n );\n};\n","import * as React from 'react';\nimport { ReactNode } from 'react';\nimport { MenuList } from '@mui/material';\nimport { styled } from '@mui/material/styles';\nimport lodashGet from 'lodash/get';\nimport clsx from 'clsx';\n\nimport { DRAWER_WIDTH, CLOSED_DRAWER_WIDTH } from './Sidebar';\nimport { useSidebarState } from './useSidebarState';\nimport { DashboardMenuItem } from './DashboardMenuItem';\nimport { MenuItemLink } from './MenuItemLink';\nimport { ResourceMenuItem } from './ResourceMenuItem';\nimport { ResourceMenuItems } from './ResourceMenuItems';\nimport { useHasDashboard } from 'ra-core';\n\n/**\n * Renders a menu with one menu item per resource by default. You can also set menu items by hand.\n *\n * @example\n * import * as React from 'react';\n * import { Menu } from 'react-admin';\n *\n * import BookIcon from '@mui/icons-material/Book';\n * import ChatBubbleIcon from '@mui/icons-material/ChatBubble';\n * import PeopleIcon from '@mui/icons-material/People';\n * import LabelIcon from '@mui/icons-material/Label';\n *\n * export const MyMenu = () => (\n * <Menu>\n * <Menu.DashboardItem />\n * <Menu.Item to=\"/posts\" primaryText=\"Posts\" leftIcon={<BookIcon />}/>\n * <Menu.Item to=\"/comments\" primaryText=\"Comments\" leftIcon={<ChatBubbleIcon />}/>\n * <Menu.Item to=\"/users\" primaryText=\"Users\" leftIcon={<PeopleIcon />}/>\n * <Menu.Item to=\"/custom-route\" primaryText=\"Miscellaneous\" leftIcon={<LabelIcon />}/>\n * </Menu>\n * );\n */\nexport const Menu = (props: MenuProps) => {\n const { children, className, ...rest } = props;\n const hasDashboard = useHasDashboard();\n const [open] = useSidebarState();\n\n return (\n <Root\n className={clsx(\n {\n [MenuClasses.open]: open,\n [MenuClasses.closed]: !open,\n },\n className\n )}\n {...rest}\n >\n {hasDashboard && !children && <DashboardMenuItem />}\n {children ?? <ResourceMenuItems />}\n </Root>\n );\n};\n\n// NOTE: We don't extends MenuListProps here to avoid breaking changes\nexport interface MenuProps {\n children?: ReactNode;\n className?: string;\n dense?: boolean;\n [key: string]: any;\n}\n\n// re-export MenuItem components for convenience\nMenu.Item = MenuItemLink;\nMenu.DashboardItem = DashboardMenuItem;\nMenu.ResourceItem = ResourceMenuItem;\nMenu.ResourceItems = ResourceMenuItems;\n\nconst PREFIX = 'RaMenu';\n\nexport const MenuClasses = {\n open: `${PREFIX}-open`,\n closed: `${PREFIX}-closed`,\n};\n\nconst Root = styled(MenuList, {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme }) => ({\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'flex-start',\n [theme.breakpoints.only('xs')]: {\n marginTop: 0,\n },\n transition: theme.transitions.create('width', {\n easing: theme.transitions.easing.sharp,\n duration: theme.transitions.duration.leavingScreen,\n }),\n\n [`&.${MenuClasses.open}`]: {\n width: lodashGet(theme, 'sidebar.width', DRAWER_WIDTH),\n },\n\n [`&.${MenuClasses.closed}`]: {\n width: lodashGet(theme, 'sidebar.closedWidth', CLOSED_DRAWER_WIDTH),\n },\n}));\n","import * as React from 'react';\nimport { styled } from '@mui/material/styles';\nimport { Typography, SxProps } from '@mui/material';\nimport CircularProgress from '@mui/material/CircularProgress';\nimport { useTimeout, useTranslate } from 'ra-core';\n\nexport const Loading = (props: LoadingProps) => {\n const {\n className,\n loadingPrimary = 'ra.page.loading',\n loadingSecondary = 'ra.message.loading',\n ...rest\n } = props;\n const oneSecondHasPassed = useTimeout(1000);\n const translate = useTranslate();\n return oneSecondHasPassed ? (\n <Root className={className} {...rest}>\n <div className={LoadingClasses.message}>\n <CircularProgress className={LoadingClasses.icon} />\n <Typography variant=\"h5\" mt={3} color=\"text.secondary\">\n {translate(loadingPrimary, { _: loadingPrimary })}\n </Typography>\n <Typography variant=\"body2\">\n {translate(loadingSecondary, { _: loadingSecondary })}\n </Typography>\n </div>\n </Root>\n ) : null;\n};\n\nexport interface LoadingProps {\n className?: string;\n loadingPrimary?: string;\n loadingSecondary?: string;\n sx?: SxProps;\n}\n\nconst PREFIX = 'RaLoading';\n\nexport const LoadingClasses = {\n root: `${PREFIX}-root`,\n icon: `${PREFIX}-icon`,\n message: `${PREFIX}-message`,\n};\n\nconst Root = styled('div', {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme }) => ({\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n alignItems: 'center',\n height: '100%',\n [`& .${LoadingClasses.message}`]: {\n textAlign: 'center',\n fontFamily: 'Roboto, sans-serif',\n color: theme.palette.text.disabled,\n paddingTop: '1em',\n paddingBottom: '1em',\n },\n [`& .${LoadingClasses.icon}`]: {\n width: '9em',\n height: '9em',\n },\n}));\n","import React, { ComponentType, ErrorInfo, Suspense, useState } from 'react';\nimport { ErrorBoundary } from 'react-error-boundary';\nimport clsx from 'clsx';\nimport { styled, SxProps } from '@mui/material/styles';\n\nimport { AppBar as DefaultAppBar, AppBarProps } from './AppBar';\nimport { Sidebar as DefaultSidebar, SidebarProps } from './Sidebar';\nimport { Menu as DefaultMenu, MenuProps } from './Menu';\nimport { Error, ErrorProps } from './Error';\nimport { SkipNavigationButton } from '../button';\nimport { Inspector } from '../preferences';\nimport { Loading } from './Loading';\n\nexport const Layout = (props: LayoutProps) => {\n const {\n appBar: AppBar = DefaultAppBar,\n appBarAlwaysOn,\n children,\n className,\n error: errorComponent,\n menu: Menu = DefaultMenu,\n sidebar: Sidebar = DefaultSidebar,\n ...rest\n } = props;\n\n const [errorInfo, setErrorInfo] = useState<ErrorInfo | undefined>(\n undefined\n );\n\n const handleError = (error: Error, info: ErrorInfo) => {\n setErrorInfo(info);\n };\n\n return (\n <Core className={clsx('layout', className)} {...rest}>\n <SkipNavigationButton />\n <div className={LayoutClasses.appFrame}>\n <AppBar alwaysOn={appBarAlwaysOn} />\n <main className={LayoutClasses.contentWithSidebar}>\n <Sidebar appBarAlwaysOn={appBarAlwaysOn}>\n <Menu />\n </Sidebar>\n <div id=\"main-content\" className={LayoutClasses.content}>\n <ErrorBoundary\n onError={handleError}\n fallbackRender={({ error, resetErrorBoundary }) => (\n <Error\n error={error}\n errorComponent={errorComponent}\n errorInfo={errorInfo}\n resetErrorBoundary={resetErrorBoundary}\n />\n )}\n >\n <Suspense fallback={<Loading />}>\n {children}\n </Suspense>\n </ErrorBoundary>\n </div>\n </main>\n <Inspector />\n </div>\n </Core>\n );\n};\n\nexport interface LayoutProps {\n appBar?: ComponentType<AppBarProps>;\n appBarAlwaysOn?: boolean;\n className?: string;\n children: React.ReactNode;\n error?: ComponentType<ErrorProps>;\n menu?: ComponentType<MenuProps>;\n sidebar?: ComponentType<SidebarProps>;\n sx?: SxProps;\n}\n\nexport interface LayoutState {\n hasError: boolean;\n error?: Error;\n errorInfo?: ErrorInfo;\n}\n\nconst PREFIX = 'RaLayout';\nexport const LayoutClasses = {\n appFrame: `${PREFIX}-appFrame`,\n contentWithSidebar: `${PREFIX}-contentWithSidebar`,\n content: `${PREFIX}-content`,\n};\n\nconst Core = styled('div', {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme }) => ({\n display: 'flex',\n flexDirection: 'column',\n zIndex: 1,\n minHeight: '100vh',\n backgroundColor: theme.palette.background.default,\n position: 'relative',\n minWidth: 'fit-content',\n width: '100%',\n color: theme.palette.getContrastText(theme.palette.background.default),\n\n [`& .${LayoutClasses.appFrame}`]: {\n display: 'flex',\n flexDirection: 'column',\n flexGrow: 1,\n marginTop: theme.spacing(6),\n [theme.breakpoints.down('sm')]: {\n marginTop: theme.spacing(7),\n },\n },\n [`& .${LayoutClasses.contentWithSidebar}`]: {\n display: 'flex',\n flexGrow: 1,\n transition: theme.transitions.create('margin', {\n easing: theme.transitions.easing.easeOut,\n duration: theme.transitions.duration.enteringScreen,\n }),\n },\n [`& .${LayoutClasses.content}`]: {\n backgroundColor: theme.palette.background.default,\n zIndex: 2,\n display: 'flex',\n flexDirection: 'column',\n flexGrow: 1,\n flexBasis: 0,\n padding: 0,\n [theme.breakpoints.up('xs')]: {\n paddingRight: theme.spacing(1),\n paddingLeft: theme.spacing(1),\n },\n },\n}));\n","import * as React from 'react';\nimport { styled } from '@mui/material/styles';\nimport {\n Box,\n LinearProgress as MuiLinearProgress,\n LinearProgressProps as ProgressProps,\n} from '@mui/material';\nimport { useTimeout } from 'ra-core';\n\n/**\n * Progress bar formatted to replace an input or a field in a form layout\n *\n * Avoids visual jumps when replaced by value or form input\n *\n * @see ReferenceField\n * @see ReferenceInput\n *\n * @typedef {Object} Props the props you can use\n * @prop {Object} classes CSS class names\n * @prop {string} className CSS class applied to the LinearProgress component\n * @prop {integer} timeout Milliseconds to wait before showing the progress bar. One second by default\n *\n * @param {Props} props\n */\nexport const LinearProgress = ({\n timeout = 1000,\n ...props\n}: LinearProgressProps) => {\n const { className, ...rest } = props;\n\n const oneSecondHasPassed = useTimeout(timeout);\n\n return oneSecondHasPassed ? (\n <StyledProgress className={className} {...rest} />\n ) : (\n <Box my={1} height={4} />\n );\n};\n\n// What? TypeScript loses the displayName if we don't set it explicitly\nLinearProgress.displayName = 'LinearProgress';\n\nexport interface LinearProgressProps extends ProgressProps {\n timeout?: number;\n}\n\nconst PREFIX = 'RaLinearProgress';\n\nconst StyledProgress = styled(MuiLinearProgress, {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme }) => ({\n margin: `${theme.spacing(1)} 0`,\n width: theme.spacing(20),\n}));\n","import * as React from 'react';\n\nimport { Loading } from './Loading';\n\nexport const LoadingPage = ({\n loadingPrimary = 'ra.page.loading',\n loadingSecondary = 'ra.message.loading',\n ...props\n}) => (\n <Loading\n loadingPrimary={loadingPrimary}\n loadingSecondary={loadingSecondary}\n {...props}\n />\n);\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)([/*#__PURE__*/(0, _jsxRuntime.jsx)(\"circle\", {\n cx: \"7\",\n cy: \"6\",\n r: \"2\"\n}, \"0\"), /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M11.15 12c-.31-.22-.59-.46-.82-.72l-1.4-1.55c-.19-.21-.43-.38-.69-.5-.29-.14-.62-.23-.96-.23h-.03C6.01 9 5 10.01 5 11.25V12H2v8c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2v-8zM7 20H5v-6h2zm4 0H9v-6h2zm4 0h-2v-6h2zm4 0h-2v-6h2zm-.35-14.14-.07-.07c-.57-.62-.82-1.41-.67-2.2L18 3h-1.89l-.06.43c-.2 1.36.27 2.71 1.3 3.72l.07.06c.57.62.82 1.41.67 2.2l-.11.59h1.91l.06-.43c.21-1.36-.27-2.71-1.3-3.71m-4 0-.07-.07c-.57-.62-.82-1.41-.67-2.2L14 3h-1.89l-.06.43c-.2 1.36.27 2.71 1.3 3.72l.07.06c.57.62.82 1.41.67 2.2l-.11.59h1.91l.06-.43c.21-1.36-.27-2.71-1.3-3.71\"\n}, \"1\")], 'HotTub');","import * as React from 'react';\nimport { styled } from '@mui/material/styles';\nimport Button from '@mui/material/Button';\nimport HotTub from '@mui/icons-material/HotTub';\nimport History from '@mui/icons-material/History';\n\nimport { useAuthenticated, useDefaultTitle, useTranslate } from 'ra-core';\nimport { Title } from './Title';\n\nexport const NotFound = props => {\n const { className, ...rest } = props;\n\n const translate = useTranslate();\n useAuthenticated();\n const title = useDefaultTitle();\n return (\n <Root className={className} {...sanitizeRestProps(rest)}>\n <Title defaultTitle={title} />\n <div className={NotFoundClasses.message}>\n <HotTub className={NotFoundClasses.icon} />\n <h1>{translate('ra.page.not_found')}</h1>\n <div>{translate('ra.message.not_found')}.</div>\n </div>\n <div className={NotFoundClasses.toolbar}>\n <Button\n variant=\"contained\"\n startIcon={<History />}\n onClick={goBack}\n >\n {translate('ra.action.back')}\n </Button>\n </div>\n </Root>\n );\n};\n\nconst sanitizeRestProps = ({\n staticContext,\n history,\n location,\n match,\n ...rest\n}) => rest;\n\nconst PREFIX = 'RaNotFound';\n\nexport const NotFoundClasses = {\n icon: `${PREFIX}-icon`,\n message: `${PREFIX}-message`,\n toolbar: `${PREFIX}-toolbar`,\n};\n\nconst Root = styled('div', {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme }) => ({\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n [theme.breakpoints.up('md')]: {\n height: '100%',\n },\n [theme.breakpoints.down('md')]: {\n height: '100vh',\n marginTop: '-3em',\n },\n\n [`& .${NotFoundClasses.icon}`]: {\n width: '9em',\n height: '9em',\n },\n\n [`& .${NotFoundClasses.message}`]: {\n textAlign: 'center',\n fontFamily: 'Roboto, sans-serif',\n opacity: 0.5,\n margin: '0 1em',\n },\n\n [`& .${NotFoundClasses.toolbar}`]: {\n textAlign: 'center',\n marginTop: '2em',\n },\n}));\n\nfunction goBack() {\n window.history.go(-1);\n}\n","import * as React from 'react';\nimport { styled, Theme } from '@mui/material/styles';\nimport { useState, useEffect, useCallback } from 'react';\nimport { Button, Snackbar, SnackbarProps, SnackbarOrigin } from '@mui/material';\nimport clsx from 'clsx';\n\nimport {\n useNotificationContext,\n undoableEventEmitter,\n useTranslate,\n NotificationPayload,\n} from 'ra-core';\n\nconst defaultAnchorOrigin: SnackbarOrigin = {\n vertical: 'bottom',\n horizontal: 'center',\n};\n\n/**\n * Provides a way to show a notification.\n * @see useNotify\n *\n * @example <caption>Basic usage</caption>\n * <Notification />\n *\n * @param props The component props\n * @param {string} props.type The notification type. Defaults to 'info'.\n * @param {number} props.autoHideDuration Duration in milliseconds to wait until hiding a given notification. Defaults to 4000.\n * @param {boolean} props.multiLine Set it to `true` if the notification message should be shown in more than one line.\n */\nexport const Notification = (props: NotificationProps) => {\n const {\n className,\n type = 'info',\n autoHideDuration = 4000,\n multiLine = false,\n anchorOrigin = defaultAnchorOrigin,\n ...rest\n } = props;\n const { notifications, takeNotification } = useNotificationContext();\n const [open, setOpen] = useState(false);\n const [currentNotification, setCurrentNotification] = React.useState<\n NotificationPayload | undefined\n >(undefined);\n const translate = useTranslate();\n\n useEffect(() => {\n const beforeunload = (e: BeforeUnloadEvent) => {\n e.preventDefault();\n const confirmationMessage = '';\n e.returnValue = confirmationMessage;\n return confirmationMessage;\n };\n\n if (currentNotification?.notificationOptions?.undoable) {\n window.addEventListener('beforeunload', beforeunload);\n }\n\n if (notifications.length && !currentNotification) {\n // Set a new snack when we don't have an active one\n const notification = takeNotification();\n if (notification) {\n setCurrentNotification(notification);\n setOpen(true);\n }\n } else if (notifications.length && currentNotification && open) {\n // Close an active snack when a new one is added\n setOpen(false);\n }\n\n return () => {\n if (currentNotification?.notificationOptions?.undoable) {\n window.removeEventListener('beforeunload', beforeunload);\n }\n };\n }, [notifications, currentNotification, open, takeNotification]);\n\n const handleRequestClose = useCallback(() => {\n setOpen(false);\n }, [setOpen]);\n\n const handleExited = useCallback(() => {\n if (\n currentNotification &&\n currentNotification.notificationOptions?.undoable\n ) {\n undoableEventEmitter.emit('end', { isUndo: false });\n }\n setCurrentNotification(undefined);\n }, [currentNotification]);\n\n const handleUndo = useCallback(() => {\n undoableEventEmitter.emit('end', { isUndo: true });\n setOpen(false);\n }, []);\n\n if (!currentNotification) return null;\n const {\n message,\n type: typeFromMessage,\n notificationOptions,\n } = currentNotification;\n const {\n autoHideDuration: autoHideDurationFromMessage,\n messageArgs,\n multiLine: multilineFromMessage,\n undoable,\n ...options\n } = notificationOptions || {};\n\n return (\n <StyledSnackbar\n className={className}\n open={open}\n message={\n message &&\n typeof message === 'string' &&\n translate(message, messageArgs)\n }\n autoHideDuration={\n // Only apply the default autoHideDuration when autoHideDurationFromMessage is undefined\n // as 0 and null are valid values\n autoHideDurationFromMessage === undefined\n ? autoHideDuration\n : autoHideDurationFromMessage ?? undefined\n }\n disableWindowBlurListener={undoable}\n TransitionProps={{ onExited: handleExited }}\n onClose={handleRequestClose}\n ContentProps={{\n className: clsx(NotificationClasses[typeFromMessage || type], {\n [NotificationClasses.multiLine]:\n multilineFromMessage || multiLine,\n }),\n }}\n action={\n undoable ? (\n <Button\n color=\"primary\"\n className={NotificationClasses.undo}\n size=\"small\"\n onClick={handleUndo}\n >\n <>{translate('ra.action.undo')}</>\n </Button>\n ) : null\n }\n anchorOrigin={anchorOrigin}\n {...rest}\n {...options}\n >\n {message &&\n typeof message !== 'string' &&\n React.isValidElement(message)\n ? message\n : undefined}\n </StyledSnackbar>\n );\n};\n\nconst PREFIX = 'RaNotification';\n\nexport const NotificationClasses = {\n success: `${PREFIX}-success`,\n error: `${PREFIX}-error`,\n warning: `${PREFIX}-warning`,\n undo: `${PREFIX}-undo`,\n multiLine: `${PREFIX}-multiLine`,\n};\n\nconst StyledSnackbar = styled(Snackbar, {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme, type }: NotificationProps & { theme?: Theme }) => ({\n [`& .${NotificationClasses.success}`]: {\n backgroundColor: theme?.palette.success.main,\n color: theme?.palette.success.contrastText,\n },\n\n [`& .${NotificationClasses.error}`]: {\n backgroundColor: theme?.palette.error.main,\n color: theme?.palette.error.contrastText,\n },\n\n [`& .${NotificationClasses.warning}`]: {\n backgroundColor: theme?.palette.warning.main,\n color: theme?.palette.warning.contrastText,\n },\n\n [`& .${NotificationClasses.undo}`]: {\n color:\n type === 'success'\n ? theme?.palette.success.contrastText\n : theme?.palette.primary.light,\n },\n [`& .${NotificationClasses.multiLine}`]: {\n whiteSpace: 'pre-wrap',\n },\n}));\n\nexport interface NotificationProps extends Omit<SnackbarProps, 'open'> {\n type?: string;\n autoHideDuration?: number;\n multiLine?: boolean;\n}\n","import * as React from 'react';\nimport { useMediaQuery, Theme } from '@mui/material';\nimport { styled } from '@mui/material/styles';\nimport Toolbar, { ToolbarProps } from '@mui/material/Toolbar';\n\nexport const TopToolbar = (props: ToolbarProps) => {\n const isXSmall = useMediaQuery<Theme>(theme =>\n theme.breakpoints.down('sm')\n );\n return (\n <StyledToolbar\n disableGutters\n variant={isXSmall ? 'regular' : 'dense'}\n {...sanitizeToolbarRestProps(props)}\n />\n );\n};\n\nexport default TopToolbar;\nconst PREFIX = 'RaTopToolbar';\n\nconst StyledToolbar = styled(Toolbar, {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme }) => ({\n display: 'flex',\n justifyContent: 'flex-end',\n alignItems: 'flex-end',\n gap: theme.spacing(1),\n whiteSpace: 'nowrap',\n flex: '0 1 auto',\n padding: theme.spacing(0.5),\n paddingBottom: theme.spacing(1),\n [theme.breakpoints.down('md')]: {\n flex: '0 1 100%',\n },\n [theme.breakpoints.down('sm')]: {\n backgroundColor: theme.palette.background.paper,\n padding: 0,\n paddingBottom: 0,\n },\n}));\n\nconst sanitizeToolbarRestProps = ({ hasCreate, ...props }: any) => props;\n","import * as React from 'react';\nimport { Fragment, ReactElement } from 'react';\nimport ActionDelete from '@mui/icons-material/Delete';\n\nimport { alpha, styled } from '@mui/material/styles';\nimport {\n MutationMode,\n useDeleteMany,\n useListContext,\n useNotify,\n useRefresh,\n useResourceContext,\n useTranslate,\n useSafeSetState,\n RaRecord,\n DeleteManyParams,\n} from 'ra-core';\n\nimport { Confirm } from '../layout';\nimport { Button, ButtonProps } from './Button';\nimport { UseMutationOptions } from '@tanstack/react-query';\nimport { humanize, inflect } from 'inflection';\n\nexport const BulkDeleteWithConfirmButton = (\n props: BulkDeleteWithConfirmButtonProps\n) => {\n const {\n confirmTitle = 'ra.message.bulk_delete_title',\n confirmContent = 'ra.message.bulk_delete_content',\n confirmColor = 'primary',\n icon = defaultIcon,\n label = 'ra.action.delete',\n mutationMode = 'pessimistic',\n mutationOptions = {},\n onClick,\n ...rest\n } = props;\n const { meta: mutationMeta, ...otherMutationOptions } = mutationOptions;\n const { selectedIds, onUnselectItems } = useListContext();\n const [isOpen, setOpen] = useSafeSetState(false);\n const notify = useNotify();\n const resource = useResourceContext(props);\n const refresh = useRefresh();\n const translate = useTranslate();\n const [deleteMany, { isPending }] = useDeleteMany(\n resource,\n { ids: selectedIds, meta: mutationMeta },\n {\n onSuccess: () => {\n refresh();\n notify('ra.notification.deleted', {\n type: 'info',\n messageArgs: { smart_count: selectedIds.length },\n undoable: mutationMode === 'undoable',\n });\n onUnselectItems();\n setOpen(false);\n },\n onError: (error: Error) => {\n notify(\n typeof error === 'string'\n ? error\n : error.message || 'ra.notification.http_error',\n {\n type: 'error',\n messageArgs: {\n _:\n typeof error === 'string'\n ? error\n : error && error.message\n ? error.message\n : undefined,\n },\n }\n );\n setOpen(false);\n },\n mutationMode,\n ...otherMutationOptions,\n }\n );\n\n const handleClick = e => {\n setOpen(true);\n e.stopPropagation();\n };\n\n const handleDialogClose = () => {\n setOpen(false);\n };\n\n const handleDelete = e => {\n deleteMany();\n\n if (typeof onClick === 'function') {\n onClick(e);\n }\n };\n\n return (\n <Fragment>\n <StyledButton\n onClick={handleClick}\n label={label}\n {...sanitizeRestProps(rest)}\n >\n {icon}\n </StyledButton>\n <Confirm\n isOpen={isOpen}\n loading={isPending}\n title={confirmTitle}\n content={confirmContent}\n confirmColor={confirmColor}\n translateOptions={{\n smart_count: selectedIds.length,\n name: translate(`resources.${resource}.forcedCaseName`, {\n smart_count: selectedIds.length,\n _: humanize(\n translate(`resources.${resource}.name`, {\n smart_count: selectedIds.length,\n _: resource\n ? inflect(resource, selectedIds.length)\n : undefined,\n }),\n true\n ),\n }),\n }}\n onConfirm={handleDelete}\n onClose={handleDialogClose}\n />\n </Fragment>\n );\n};\n\nconst sanitizeRestProps = ({\n classes,\n label,\n ...rest\n}: Omit<\n BulkDeleteWithConfirmButtonProps,\n 'resource' | 'icon' | 'mutationMode'\n>) => rest;\n\nexport interface BulkDeleteWithConfirmButtonProps<\n RecordType extends RaRecord = any,\n MutationOptionsError = unknown\n> extends ButtonProps {\n confirmContent?: React.ReactNode;\n confirmTitle?: React.ReactNode;\n confirmColor?: 'primary' | 'warning';\n icon?: ReactElement;\n mutationMode: MutationMode;\n mutationOptions?: UseMutationOptions<\n RecordType,\n MutationOptionsError,\n DeleteManyParams<RecordType>\n > & { meta?: any };\n}\n\nconst PREFIX = 'RaBulkDeleteWithConfirmButton';\n\nconst StyledButton = styled(Button, {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme }) => ({\n color: theme.palette.error.main,\n '&:hover': {\n backgroundColor: alpha(theme.palette.error.main, 0.12),\n // Reset on mouse devices\n '@media (hover: none)': {\n backgroundColor: 'transparent',\n },\n },\n}));\n\nconst defaultIcon = <ActionDelete />;\n","import * as React from 'react';\nimport { styled } from '@mui/material/styles';\nimport { ReactElement } from 'react';\nimport ActionDelete from '@mui/icons-material/Delete';\nimport { alpha } from '@mui/material/styles';\nimport {\n useDeleteMany,\n useRefresh,\n useNotify,\n useResourceContext,\n useListContext,\n RaRecord,\n DeleteManyParams,\n} from 'ra-core';\n\nimport { Button, ButtonProps } from './Button';\nimport { UseMutationOptions } from '@tanstack/react-query';\n\nexport const BulkDeleteWithUndoButton = (\n props: BulkDeleteWithUndoButtonProps\n) => {\n const {\n label = 'ra.action.delete',\n icon = defaultIcon,\n onClick,\n mutationOptions = {},\n ...rest\n } = props;\n const { meta: mutationMeta, ...otherMutationOptions } = mutationOptions;\n const { selectedIds, onUnselectItems } = useListContext();\n\n const notify = useNotify();\n const resource = useResourceContext(props);\n const refresh = useRefresh();\n const [deleteMany, { isPending }] = useDeleteMany();\n\n const handleClick = e => {\n deleteMany(\n resource,\n { ids: selectedIds, meta: mutationMeta },\n {\n onSuccess: () => {\n notify('ra.notification.deleted', {\n type: 'info',\n messageArgs: { smart_count: selectedIds.length },\n undoable: true,\n });\n onUnselectItems();\n },\n onError: (error: Error) => {\n notify(\n typeof error === 'string'\n ? error\n : error.message || 'ra.notification.http_error',\n {\n type: 'error',\n messageArgs: {\n _:\n typeof error === 'string'\n ? error\n : error && error.message\n ? error.message\n : undefined,\n },\n }\n );\n refresh();\n },\n mutationMode: 'undoable',\n ...otherMutationOptions,\n }\n );\n if (typeof onClick === 'function') {\n onClick(e);\n }\n };\n\n return (\n <StyledButton\n onClick={handleClick}\n label={label}\n disabled={isPending}\n {...sanitizeRestProps(rest)}\n >\n {icon}\n </StyledButton>\n );\n};\n\nconst defaultIcon = <ActionDelete />;\n\nconst sanitizeRestProps = ({\n classes,\n label,\n ...rest\n}: Omit<BulkDeleteWithUndoButtonProps, 'resource' | 'icon'>) => rest;\n\nexport interface BulkDeleteWithUndoButtonProps<\n RecordType extends RaRecord = any,\n MutationOptionsError = unknown\n> extends ButtonProps {\n icon?: ReactElement;\n mutationOptions?: UseMutationOptions<\n RecordType,\n MutationOptionsError,\n DeleteManyParams<RecordType>\n > & { meta?: any };\n}\n\nconst PREFIX = 'RaBulkDeleteWithUndoButton';\n\nconst StyledButton = styled(Button, {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme }) => ({\n color: theme.palette.error.main,\n '&:hover': {\n backgroundColor: alpha(theme.palette.error.main, 0.12),\n // Reset on mouse devices\n '@media (hover: none)': {\n backgroundColor: 'transparent',\n },\n },\n}));\n","import * as React from 'react';\nimport {\n BulkDeleteWithConfirmButton,\n BulkDeleteWithConfirmButtonProps,\n} from './BulkDeleteWithConfirmButton';\nimport {\n BulkDeleteWithUndoButton,\n BulkDeleteWithUndoButtonProps,\n} from './BulkDeleteWithUndoButton';\nimport { MutationMode } from 'ra-core';\n\n/**\n * Deletes the selected rows.\n *\n * To be used inside the <Datagrid bulkActionButtons> prop (where it's enabled by default).\n *\n * @example // basic usage\n * import { BulkDeleteButton, BulkExportButton, List, Datagrid } from 'react-admin';\n *\n * const PostBulkActionButtons = () => (\n * <>\n * <BulkExportButton />\n * <BulkDeleteButton />\n * </>\n * );\n *\n * export const PostList = () => (\n * <List>\n * <Datagrid bulkActionButtons={<PostBulkActionButtons />}>\n * ...\n * </Datagrid>\n * </List>\n * );\n */\nexport const BulkDeleteButton = ({\n mutationMode = 'undoable',\n ...props\n}: BulkDeleteButtonProps) =>\n mutationMode === 'undoable' ? (\n <BulkDeleteWithUndoButton {...props} />\n ) : (\n <BulkDeleteWithConfirmButton mutationMode={mutationMode} {...props} />\n );\n\ninterface Props {\n mutationMode?: MutationMode;\n}\n\nexport type BulkDeleteButtonProps = Props &\n (BulkDeleteWithUndoButtonProps | BulkDeleteWithConfirmButtonProps);\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M19 9h-4V3H9v6H5l7 7zM5 18v2h14v-2z\"\n}), 'GetApp');","import * as React from 'react';\nimport { ReactElement, ReactEventHandler } from 'react';\nimport ActionDelete from '@mui/icons-material/Delete';\nimport clsx from 'clsx';\nimport { UseMutationOptions } from '@tanstack/react-query';\nimport {\n RaRecord,\n useDeleteWithUndoController,\n DeleteParams,\n useRecordContext,\n useResourceContext,\n RedirectionSideEffect,\n} from 'ra-core';\n\nimport { Button, ButtonProps } from './Button';\n\nexport const DeleteWithUndoButton = <RecordType extends RaRecord = any>(\n props: DeleteWithUndoButtonProps<RecordType>\n) => {\n const {\n label = 'ra.action.delete',\n className,\n icon = defaultIcon,\n onClick,\n redirect = 'list',\n mutationOptions,\n color = 'error',\n ...rest\n } = props;\n\n const record = useRecordContext(props);\n const resource = useResourceContext(props);\n const { isPending, handleDelete } = useDeleteWithUndoController({\n record,\n resource,\n redirect,\n onClick,\n mutationOptions,\n });\n\n return (\n <Button\n onClick={handleDelete}\n disabled={isPending}\n label={label}\n className={clsx('ra-delete-button', className)}\n key=\"button\"\n color={color}\n {...rest}\n >\n {icon}\n </Button>\n );\n};\n\nconst defaultIcon = <ActionDelete />;\n\nexport interface DeleteWithUndoButtonProps<\n RecordType extends RaRecord = any,\n MutationOptionsError = unknown\n> extends ButtonProps {\n icon?: ReactElement;\n onClick?: ReactEventHandler<any>;\n mutationOptions?: UseMutationOptions<\n RecordType,\n MutationOptionsError,\n DeleteParams<RecordType>\n >;\n record?: RecordType;\n redirect?: RedirectionSideEffect;\n resource?: string;\n}\n","import React, { Fragment, ReactEventHandler, ReactElement } from 'react';\nimport ActionDelete from '@mui/icons-material/Delete';\nimport clsx from 'clsx';\n\nimport { UseMutationOptions } from '@tanstack/react-query';\nimport {\n MutationMode,\n RaRecord,\n DeleteParams,\n useDeleteWithConfirmController,\n useRecordContext,\n useResourceContext,\n useTranslate,\n RedirectionSideEffect,\n} from 'ra-core';\n\nimport { Confirm } from '../layout';\nimport { Button, ButtonProps } from './Button';\nimport { humanize, singularize } from 'inflection';\n\nexport const DeleteWithConfirmButton = <RecordType extends RaRecord = any>(\n props: DeleteWithConfirmButtonProps<RecordType>\n) => {\n const {\n className,\n confirmTitle = 'ra.message.delete_title',\n confirmContent = 'ra.message.delete_content',\n confirmColor = 'primary',\n icon = defaultIcon,\n label = 'ra.action.delete',\n mutationMode = 'pessimistic',\n onClick,\n redirect = 'list',\n translateOptions = {},\n mutationOptions,\n color = 'error',\n ...rest\n } = props;\n const translate = useTranslate();\n const record = useRecordContext(props);\n const resource = useResourceContext(props);\n\n const {\n open,\n isPending,\n handleDialogOpen,\n handleDialogClose,\n handleDelete,\n } = useDeleteWithConfirmController({\n record,\n redirect,\n mutationMode,\n onClick,\n mutationOptions,\n resource,\n });\n\n return (\n <Fragment>\n <Button\n onClick={handleDialogOpen}\n label={label}\n className={clsx('ra-delete-button', className)}\n key=\"button\"\n color={color}\n {...rest}\n >\n {icon}\n </Button>\n <Confirm\n isOpen={open}\n loading={isPending}\n title={confirmTitle}\n content={confirmContent}\n confirmColor={confirmColor}\n translateOptions={{\n name: translate(`resources.${resource}.forcedCaseName`, {\n smart_count: 1,\n _: humanize(\n translate(`resources.${resource}.name`, {\n smart_count: 1,\n _: resource ? singularize(resource) : undefined,\n }),\n true\n ),\n }),\n id: record?.id,\n ...translateOptions,\n }}\n onConfirm={handleDelete}\n onClose={handleDialogClose}\n />\n </Fragment>\n );\n};\n\nconst defaultIcon = <ActionDelete />;\n\nexport interface DeleteWithConfirmButtonProps<\n RecordType extends RaRecord = any,\n MutationOptionsError = unknown\n> extends ButtonProps {\n confirmTitle?: React.ReactNode;\n confirmContent?: React.ReactNode;\n confirmColor?: 'primary' | 'warning';\n icon?: ReactElement;\n mutationMode?: MutationMode;\n onClick?: ReactEventHandler<any>;\n // May be injected by Toolbar - sanitized in Button\n translateOptions?: object;\n mutationOptions?: UseMutationOptions<\n RecordType,\n MutationOptionsError,\n DeleteParams<RecordType>\n >;\n record?: RecordType;\n redirect?: RedirectionSideEffect;\n resource?: string;\n}\n","import * as React from 'react';\nimport { ReactElement } from 'react';\nimport { UseMutationOptions } from '@tanstack/react-query';\nimport {\n RaRecord,\n MutationMode,\n DeleteParams,\n useRecordContext,\n useSaveContext,\n SaveContextValue,\n RedirectionSideEffect,\n} from 'ra-core';\n\nimport { ButtonProps } from './Button';\nimport { DeleteWithUndoButton } from './DeleteWithUndoButton';\nimport { DeleteWithConfirmButton } from './DeleteWithConfirmButton';\n\n/**\n * Button used to delete a single record. Added by default by the <Toolbar> of edit and show views.\n *\n * @typedef {Object} Props The props you can use (other props are injected if you used it in the <Toolbar>)\n * @prop {boolean} mutationMode Either 'pessimistic', 'optimistic' or 'undoable'. Determine whether the deletion uses an undo button in a notification or a confirmation dialog. Defaults to 'undoable'.\n * @prop {Object} record The current resource record\n * @prop {string} className\n * @prop {string} label Button label. Defaults to 'ra.action.delete, translated.\n * @prop {boolean} disabled Disable the button.\n * @prop {string} variant Material UI variant for the button. Defaults to 'contained'.\n * @prop {ReactElement} icon Override the icon. Defaults to the Delete icon from Material UI.\n *\n * @param {Props} props\n *\n * @example Usage in the <TopToolbar> of an <Edit> form\n *\n * import * as React from 'react';\n * import { Edit, DeleteButton, TopToolbar } from 'react-admin';\n *\n * const EditActions = props => {\n * const { data, resource } = props;\n * return (\n * <TopToolbar>\n * <DeleteButton\n * mutationMode=\"pessimistic\" // Renders the <DeleteWithConfirmButton>\n * />\n * </TopToolbar>\n * );\n * };\n *\n * const Edit = props => {\n * return <Edit actions={<EditActions />} {...props} />;\n * };\n */\nexport const DeleteButton = <RecordType extends RaRecord = any>(\n props: DeleteButtonProps<RecordType>\n) => {\n const { mutationMode, ...rest } = props;\n const record = useRecordContext(props);\n const saveContext = useSaveContext(props);\n if (!record || record.id == null) {\n return null;\n }\n\n const finalMutationMode = mutationMode\n ? mutationMode\n : saveContext?.mutationMode\n ? saveContext.mutationMode\n : 'undoable';\n\n return finalMutationMode === 'undoable' ? (\n <DeleteWithUndoButton<RecordType> record={record} {...rest} />\n ) : (\n <DeleteWithConfirmButton<RecordType>\n // @ts-ignore I looked for the error for one hour without finding it\n mutationMode={finalMutationMode}\n record={record}\n {...rest}\n />\n );\n};\n\nexport interface DeleteButtonProps<\n RecordType extends RaRecord = any,\n MutationOptionsError = unknown\n> extends ButtonProps,\n SaveContextValue {\n confirmTitle?: React.ReactNode;\n confirmContent?: React.ReactNode;\n confirmColor?: 'primary' | 'warning';\n icon?: ReactElement;\n mutationMode?: MutationMode;\n mutationOptions?: UseMutationOptions<\n RecordType,\n MutationOptionsError,\n DeleteParams<RecordType>\n >;\n record?: RecordType;\n redirect?: RedirectionSideEffect;\n resource?: string;\n}\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M3 17.25V21h3.75L17.81 9.94l-3.75-3.75zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34a.9959.9959 0 0 0-1.41 0l-1.83 1.83 3.75 3.75z\"\n}), 'Create');","import * as React from 'react';\nimport { ReactElement } from 'react';\nimport clsx from 'clsx';\nimport { styled } from '@mui/material/styles';\nimport ContentCreate from '@mui/icons-material/Create';\nimport { Link } from 'react-router-dom';\nimport {\n RaRecord,\n useResourceContext,\n useRecordContext,\n useCreatePath,\n} from 'ra-core';\n\nimport { Button, ButtonProps } from './Button';\n\n/**\n * Opens the Edit view for the current record.\n *\n * Reads the record and resource from the context.\n *\n * @example // basic usage\n * import { EditButton } from 'react-admin';\n *\n * const CommentEditButton = () => (\n * <EditButton label=\"Edit comment\" />\n * );\n */\nexport const EditButton = <RecordType extends RaRecord = any>(\n props: EditButtonProps<RecordType>\n) => {\n const {\n icon = defaultIcon,\n label = 'ra.action.edit',\n scrollToTop = true,\n className,\n ...rest\n } = props;\n const resource = useResourceContext(props);\n const record = useRecordContext(props);\n const createPath = useCreatePath();\n if (!record) return null;\n return (\n <StyledButton\n component={Link}\n to={createPath({ type: 'edit', resource, id: record.id })}\n state={scrollStates[String(scrollToTop)]}\n label={label}\n onClick={stopPropagation}\n className={clsx(EditButtonClasses.root, className)}\n {...(rest as any)}\n >\n {icon}\n </StyledButton>\n );\n};\n\n// avoids using useMemo to get a constant value for the link state\nconst scrollStates = {\n true: { _scrollToTop: true },\n false: {},\n};\n\nconst defaultIcon = <ContentCreate />;\n\n// useful to prevent click bubbling in a datagrid with rowClick\nconst stopPropagation = e => e.stopPropagation();\n\ninterface Props<RecordType extends RaRecord = any> {\n icon?: ReactElement;\n label?: string;\n record?: RecordType;\n resource?: string;\n scrollToTop?: boolean;\n}\n\nexport type EditButtonProps<RecordType extends RaRecord = any> = Props<\n RecordType\n> &\n ButtonProps;\n\nconst PREFIX = 'RaEditButton';\n\nexport const EditButtonClasses = {\n root: `${PREFIX}-root`,\n};\n\nconst StyledButton = styled(Button, {\n name: PREFIX,\n overridesResolver: (_props, styles) => styles.root,\n})({});\n","import * as React from 'react';\nimport { useCallback } from 'react';\nimport DownloadIcon from '@mui/icons-material/GetApp';\nimport {\n fetchRelatedRecords,\n useDataProvider,\n useNotify,\n useListContext,\n Exporter,\n} from 'ra-core';\nimport { Button, ButtonProps } from './Button';\n\nexport const ExportButton = (props: ExportButtonProps) => {\n const {\n maxResults = 1000,\n onClick,\n label = 'ra.action.export',\n icon = defaultIcon,\n exporter: customExporter,\n meta,\n ...rest\n } = props;\n const {\n filter,\n filterValues,\n resource,\n sort,\n exporter: exporterFromContext,\n total,\n } = useListContext();\n const exporter = customExporter || exporterFromContext;\n const dataProvider = useDataProvider();\n const notify = useNotify();\n const handleClick = useCallback(\n event => {\n dataProvider\n .getList(resource, {\n sort,\n filter: filter\n ? { ...filterValues, ...filter }\n : filterValues,\n pagination: { page: 1, perPage: maxResults },\n meta,\n })\n .then(\n ({ data }) =>\n exporter &&\n exporter(\n data,\n fetchRelatedRecords(dataProvider),\n dataProvider,\n resource\n )\n )\n .catch(error => {\n console.error(error);\n notify('ra.notification.http_error', { type: 'error' });\n });\n if (typeof onClick === 'function') {\n onClick(event);\n }\n },\n [\n dataProvider,\n exporter,\n filter,\n filterValues,\n maxResults,\n notify,\n onClick,\n resource,\n sort,\n meta,\n ]\n );\n\n return (\n <Button\n onClick={handleClick}\n label={label}\n disabled={total === 0}\n {...sanitizeRestProps(rest)}\n >\n {icon}\n </Button>\n );\n};\n\nconst defaultIcon = <DownloadIcon />;\n\nconst sanitizeRestProps = ({\n resource,\n ...rest\n}: Omit<ExportButtonProps, 'maxResults' | 'label' | 'exporter' | 'meta'>) =>\n rest;\n\ninterface Props {\n exporter?: Exporter;\n icon?: JSX.Element;\n label?: string;\n maxResults?: number;\n onClick?: (e: Event) => void;\n resource?: string;\n meta?: any;\n}\n\nexport type ExportButtonProps = Props & ButtonProps;\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"m12.87 15.07-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"\n}), 'Translate');","import * as React from 'react';\nimport { MouseEvent, ReactNode, useState } from 'react';\nimport { useLocaleState, useLocales } from 'ra-core';\nimport { Box, Button, Menu, MenuItem, styled } from '@mui/material';\nimport LanguageIcon from '@mui/icons-material/Translate';\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore';\n\n/**\n * Language selector. Changes the locale in the app and persists it in\n * preferences so that the app opens with the right locale in the future.\n *\n * Uses i18nProvider.getLocales() to get the list of available locales.\n *\n * @example\n * import { AppBar, TitlePortal, LocalesMenuButton } from 'react-admin';\n *\n * const MyAppBar = () => (\n * <AppBar>\n * <TitlePortal />\n * <LocalesMenuButton />\n * </AppBar>\n * );\n */\nexport const LocalesMenuButton = (props: LocalesMenuButtonProps) => {\n const { icon = DefaultIcon, languages: languagesProp } = props;\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);\n const languages = useLocales({ locales: languagesProp });\n const [locale, setLocale] = useLocaleState();\n\n const getNameForLocale = (locale: string): string => {\n const language = languages.find(language => language.locale === locale);\n return language ? language.name : '';\n };\n\n const changeLocale = (locale: string) => (): void => {\n setLocale(locale);\n setAnchorEl(null);\n };\n\n const handleLanguageClick = (event: MouseEvent<HTMLElement>): void => {\n setAnchorEl(event.currentTarget);\n };\n\n const handleClose = (): void => {\n setAnchorEl(null);\n };\n\n return (\n <Root component=\"span\">\n <Button\n color=\"inherit\"\n variant=\"text\"\n aria-controls=\"simple-menu\"\n aria-label=\"\"\n aria-haspopup=\"true\"\n onClick={handleLanguageClick}\n startIcon={icon}\n endIcon={<ExpandMoreIcon fontSize=\"small\" />}\n >\n {getNameForLocale(locale)}\n </Button>\n <Menu\n id=\"simple-menu\"\n anchorEl={anchorEl}\n keepMounted\n open={Boolean(anchorEl)}\n onClose={handleClose}\n >\n {languages.map(language => (\n <MenuItem\n key={language.locale}\n onClick={changeLocale(language.locale)}\n selected={language.locale === locale}\n >\n {language.name}\n </MenuItem>\n ))}\n </Menu>\n </Root>\n );\n};\n\nconst DefaultIcon = <LanguageIcon />;\nconst PREFIX = 'RaLocalesMenuButton';\n\nexport const LocalesMenuButtonClasses = {};\n\nconst Root = styled(Box, {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})({});\n\nexport interface LocalesMenuButtonProps {\n icon?: ReactNode;\n languages?: { locale: string; name: string }[];\n}\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m1 15h-2v-2h2zm0-4h-2V7h2z\"\n}), 'Error');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4z\"\n}), 'Refresh');","import * as React from 'react';\nimport { useCallback, ReactElement } from 'react';\nimport Tooltip from '@mui/material/Tooltip';\nimport IconButton, { IconButtonProps } from '@mui/material/IconButton';\nimport NavigationRefresh from '@mui/icons-material/Refresh';\nimport { useRefresh, useTranslate } from 'ra-core';\n\nexport const RefreshIconButton = (props: RefreshIconButtonProps) => {\n const {\n label = 'ra.action.refresh',\n icon = defaultIcon,\n onClick,\n className,\n ...rest\n } = props;\n const refresh = useRefresh();\n const translate = useTranslate();\n const handleClick = useCallback(\n event => {\n event.preventDefault();\n refresh();\n if (typeof onClick === 'function') {\n onClick(event);\n }\n },\n [refresh, onClick]\n );\n\n return (\n <Tooltip title={label && translate(label, { _: 'Refresh' })}>\n <IconButton\n aria-label={label && translate(label, { _: 'Refresh' })}\n className={className}\n color=\"inherit\"\n onClick={handleClick}\n {...rest}\n >\n {icon}\n </IconButton>\n </Tooltip>\n );\n};\n\nconst defaultIcon = <NavigationRefresh />;\n\ninterface Props {\n className?: string;\n icon?: ReactElement;\n label?: string;\n onClick?: (e: MouseEvent) => void;\n}\n\nexport type RefreshIconButtonProps = Props & IconButtonProps;\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M17 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V7zm-5 16c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3m3-10H5V5h10z\"\n}), 'Save');","import * as React from 'react';\nimport { MouseEventHandler, ReactElement, useCallback } from 'react';\nimport { UseMutationOptions } from '@tanstack/react-query';\nimport { styled } from '@mui/material/styles';\nimport { Button, ButtonProps, CircularProgress } from '@mui/material';\nimport ContentSave from '@mui/icons-material/Save';\nimport { useFormContext, useFormState } from 'react-hook-form';\nimport {\n CreateParams,\n RaRecord,\n TransformData,\n UpdateParams,\n useSaveContext,\n useTranslate,\n warning,\n setSubmissionErrors,\n} from 'ra-core';\n\n/**\n * Submit button for resource forms (Edit and Create).\n *\n * @typedef {Object} Props the props you can use (other props are injected by the <Toolbar>)\n * @prop {string} className\n * @prop {string} label Button label. Defaults to 'ra.action.save', translated.\n * @prop {boolean} disabled Disable the button.\n * @prop {string} variant Material UI variant for the button. Defaults to 'contained'.\n * @prop {ReactElement} icon\n * @prop {function} mutationOptions Object of options passed to react-query.\n * @prop {function} transform Callback to execute before calling the dataProvider. Receives the data from the form, must return that transformed data. Can be asynchronous (and return a Promise)\n * @prop {boolean} alwaysEnable Force enabling the <SaveButton>. If it's not defined, the `<SaveButton>` will be enabled using `react-hook-form`'s `isValidating` state props and form context's `saving` prop (disabled if isValidating or saving, enabled otherwise).\n *\n * @param {Props} props\n *\n * @example // with custom success side effect\n *\n * const MySaveButton = props => {\n * const notify = useNotify();\n * const redirect = useRedirect();\n * const onSuccess = (response) => {\n * notify(`Post \"${response.data.title}\" saved!`);\n * redirect('/posts');\n * };\n * return <SaveButton {...props} mutationOptions={{ onSuccess }} />;\n * }\n */\nexport const SaveButton = <RecordType extends RaRecord = any>(\n props: SaveButtonProps<RecordType>\n) => {\n const {\n color = 'primary',\n icon = defaultIcon,\n invalid,\n label = 'ra.action.save',\n onClick,\n mutationOptions,\n disabled: disabledProp,\n type = 'submit',\n transform,\n variant = 'contained',\n alwaysEnable = false,\n ...rest\n } = props;\n const translate = useTranslate();\n const form = useFormContext();\n const saveContext = useSaveContext();\n const { dirtyFields, isValidating, isSubmitting } = useFormState();\n // useFormState().isDirty might differ from useFormState().dirtyFields (https://github.com/react-hook-form/react-hook-form/issues/4740)\n const isDirty = Object.keys(dirtyFields).length > 0;\n // Use form isDirty, isValidating and form context saving to enable or disable the save button\n // if alwaysEnable is undefined\n const disabled = valueOrDefault(\n alwaysEnable === false || alwaysEnable === undefined\n ? undefined\n : !alwaysEnable,\n disabledProp || !isDirty || isValidating || isSubmitting\n );\n\n warning(\n type === 'submit' &&\n ((mutationOptions &&\n (mutationOptions.onSuccess || mutationOptions.onError)) ||\n transform),\n 'Cannot use <SaveButton mutationOptions> props on a button of type \"submit\". To override the default mutation options on a particular save button, set the <SaveButton type=\"button\"> prop, or set mutationOptions in the main view component (<Create> or <Edit>).'\n );\n\n const handleSubmit = useCallback(\n async values => {\n let errors;\n if (saveContext?.save) {\n errors = await saveContext.save(values, {\n ...mutationOptions,\n transform,\n });\n }\n if (errors != null) {\n setSubmissionErrors(errors, form.setError);\n }\n },\n [form.setError, saveContext, mutationOptions, transform]\n );\n\n const handleClick: MouseEventHandler<HTMLButtonElement> = useCallback(\n async event => {\n if (onClick) {\n onClick(event);\n }\n if (event.defaultPrevented) {\n return;\n }\n if (type === 'button') {\n // this button doesn't submit the form, so it doesn't trigger useIsFormInvalid in <FormContent>\n // therefore we need to check for errors manually\n event.stopPropagation();\n await form.handleSubmit(handleSubmit)(event);\n }\n },\n [onClick, type, form, handleSubmit]\n );\n\n const displayedLabel = label && translate(label, { _: label });\n\n return (\n <StyledButton\n variant={variant}\n type={type}\n color={color}\n aria-label={displayedLabel}\n disabled={disabled}\n onClick={handleClick}\n {...rest}\n >\n {isSubmitting ? (\n <CircularProgress\n sx={circularProgressStyle}\n size={14}\n thickness={3}\n color=\"inherit\"\n />\n ) : (\n icon\n )}\n {displayedLabel}\n </StyledButton>\n );\n};\n\nconst circularProgressStyle = {\n '&.MuiCircularProgress-root': {\n marginRight: '10px',\n marginLeft: '2px',\n },\n};\n\nconst defaultIcon = <ContentSave />;\n\ninterface Props<\n RecordType extends RaRecord = any,\n MutationOptionsError = unknown\n> {\n className?: string;\n disabled?: boolean;\n icon?: ReactElement;\n invalid?: boolean;\n label?: string;\n mutationOptions?: UseMutationOptions<\n RecordType,\n MutationOptionsError,\n CreateParams<RecordType> | UpdateParams<RecordType>\n >;\n transform?: TransformData;\n variant?: string;\n}\n\nexport type SaveButtonProps<RecordType extends RaRecord = any> = Props<\n RecordType\n> &\n ButtonProps & {\n alwaysEnable?: boolean;\n };\n\nconst PREFIX = 'RaSaveButton';\n\nconst StyledButton = styled(Button, {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme }) => ({\n position: 'relative',\n [`& .MuiSvgIcon-root, & .MuiIcon-root, & .MuiCircularProgress-root`]: {\n marginRight: theme.spacing(1),\n },\n [`& .MuiSvgIcon-root, & .MuiIcon-root`]: {\n fontSize: 18,\n },\n}));\n\nconst valueOrDefault = (value, defaultValue) =>\n typeof value === 'undefined' ? defaultValue : value;\n","import React from 'react';\nimport { styled } from '@mui/material/styles';\nimport { Button } from './Button';\n\nexport const SkipNavigationButton = () => {\n return (\n <StyledButton\n onClick={skipToContent}\n className={'skip-nav-button'}\n label=\"ra.navigation.skip_nav\"\n variant=\"contained\"\n />\n );\n};\n\nconst PREFIX = 'RaSkipNavigationButton';\n\nconst StyledButton = styled(Button, {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme }) => ({\n position: 'fixed',\n padding: theme.spacing(1),\n backgroundColor: theme.palette.background.default,\n color: theme.palette.getContrastText(theme.palette.background.default),\n transition: theme.transitions.create(['top', 'opacity'], {\n easing: theme.transitions.easing.easeIn,\n duration: theme.transitions.duration.leavingScreen,\n }),\n left: theme.spacing(2),\n top: theme.spacing(-10),\n zIndex: 5000,\n '&:hover': {\n opacity: 0.8,\n backgroundColor: theme.palette.background.default,\n },\n '&:focus': {\n top: theme.spacing(2),\n transition: theme.transitions.create(['top', 'opacity'], {\n easing: theme.transitions.easing.easeOut,\n duration: theme.transitions.duration.enteringScreen,\n }),\n },\n}));\n\nconst skipToContent = () => {\n if (typeof document === 'undefined') return;\n const element = document.getElementById('main-content');\n\n if (!element) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n 'No element with id \"main-content\" was found. Ensure the element that contains your main content has an id of \"main-content\".'\n );\n }\n\n return;\n }\n\n element.setAttribute('tabIndex', '-1');\n element.focus();\n element.blur();\n element.removeAttribute('tabIndex');\n};\n","import * as React from 'react';\nimport { styled, SxProps } from '@mui/material';\nimport LockIcon from '@mui/icons-material/Lock';\nimport { useTranslate } from 'ra-core';\nimport { Button } from '../button';\nimport { Link } from 'react-router-dom';\n\nexport const AuthError = (props: AuthErrorProps) => {\n const {\n className,\n title = 'ra.page.error',\n message = 'ra.message.auth_error',\n ...rest\n } = props;\n\n const translate = useTranslate();\n return (\n <Root className={className} {...rest}>\n <div className={AuthErrorClasses.message}>\n <h1>{translate(title, { _: title })}</h1>\n <div>{translate(message, { _: message })}</div>\n <Button component={Link} to=\"/login\" label=\"ra.auth.sign_in\">\n <LockIcon />\n </Button>\n </div>\n </Root>\n );\n};\n\nexport interface AuthErrorProps {\n className?: string;\n title?: string;\n message?: string;\n sx?: SxProps;\n}\n\nconst PREFIX = 'RaAuthError';\n\nexport const AuthErrorClasses = {\n root: `${PREFIX}-root`,\n message: `${PREFIX}-message`,\n};\n\nconst Root = styled('div', {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme }) => ({\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n [theme.breakpoints.up('md')]: {\n height: '100%',\n },\n [theme.breakpoints.down('xl')]: {\n height: '100vh',\n marginTop: '-3em',\n },\n\n [`& .${AuthErrorClasses.message}`]: {\n textAlign: 'center',\n fontFamily: 'Roboto, sans-serif',\n opacity: 0.5,\n margin: '0 1em',\n },\n}));\n","import * as React from 'react';\nimport { useHandleAuthCallback } from 'ra-core';\nimport { Loading } from '..';\nimport { AuthError } from './AuthError';\n\n/**\n * A standalone page to be used in a route called by external authentication services (e.g. OAuth)\n * after the user has been authenticated.\n *\n * Copy and adapt this component to implement your own login logic\n * (e.g. to show a different waiting screen, start onboarding procedures, etc.).\n *\n * @example\n * import MyAuthCallbackPage from './MyAuthCallbackPage';\n * const App = () => (\n * <Admin authCallbackPage={MyAuthCallbackPage} authProvider={authProvider}>\n * ...\n * </Admin>\n * );\n */\nexport const AuthCallback = () => {\n const { error } = useHandleAuthCallback();\n if (error) {\n return (\n <AuthError\n message={\n (error as Error) ? (error as Error).message : undefined\n }\n />\n );\n }\n return <Loading />;\n};\n","import * as React from 'react';\nimport { isValidElement, ReactElement } from 'react';\nimport { useTranslate, ValidationError, ValidationErrorMessage } from 'ra-core';\n\nexport const InputHelperText = (props: InputHelperTextProps) => {\n const { helperText, error } = props;\n const translate = useTranslate();\n\n if (error) {\n return <ValidationError error={error} />;\n }\n\n if (helperText === false) {\n return null;\n }\n\n if (isValidElement(helperText)) {\n return helperText;\n }\n\n if (typeof helperText === 'string') {\n return <>{translate(helperText, { _: helperText })}</>;\n }\n\n // Material UI's HelperText cannot reserve space unless we pass a single\n // space as child, which isn't possible when the child is a component.\n // Therefore, we must reserve the space ourselves by passing the same\n // markup as Material UI.\n // @see https://github.com/mui/material-ui/blob/62e439b7022d519ab638d65201e204b59b77f8da/packages/material-ui/src/FormHelperText/FormHelperText.js#L85-L90\n return <span dangerouslySetInnerHTML={defaultInnerHTML} />;\n};\n\nconst defaultInnerHTML = { __html: '​' };\n\nexport interface InputHelperTextProps {\n helperText?: string | ReactElement | boolean;\n error?: ValidationErrorMessage;\n}\n","export const sanitizeInputRestProps = ({\n afterSubmit,\n allowNull,\n alwaysOn,\n beforeSubmit,\n component,\n data,\n defaultValue,\n error,\n format,\n formatOnBlur,\n initialValue,\n initializeForm,\n input,\n isEqual,\n isRequired,\n label,\n limitChoicesToValue,\n locale,\n meta,\n multiple,\n name,\n options,\n optionText,\n optionValue,\n parse,\n record,\n ref,\n refetch,\n render,\n resource,\n setFilter,\n setPagination,\n setSort,\n shouldUnregister,\n source,\n submitError,\n subscription,\n textAlign,\n translate,\n translateChoice,\n validate,\n validateFields,\n value,\n ...rest\n}: any) => rest;\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M7 11v2h10v-2zm5-9C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8\"\n}), 'RemoveCircleOutline');","import * as React from 'react';\nimport {\n ChangeEvent,\n createContext,\n isValidElement,\n ReactElement,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { Identifier, OptionText, useTranslate } from 'ra-core';\nimport set from 'lodash/set';\n\n/**\n * This hook provides support for suggestion creation in inputs which have choices.\n *\n * @param options The hook option\n * @param {ReactElement} options.create A react element which will be rendered when users choose to create a new choice. This component must call the `useCreateSuggestionContext` hook which provides `onCancel`, `onCreate` and `filter`. See the examples.\n * @param {String} options.createLabel Optional. The label for the choice item allowing users to create a new choice. Can be a translation key. Defaults to `ra.action.create`.\n * @param {String} options.createItemLabel Optional. The label for the choice item allowing users to create a new choice when they already entered a filter. Can be a translation key. The translation will receive an `item` parameter. Defaults to `ra.action.create_item`.\n * @param {any} options.createValue Optional. The value for the choice item allowing users to create a new choice. Defaults to `@@ra-create`.\n * @param {String} options.filter Optional. The filter users may have already entered. Useful for autocomplete inputs for example.\n * @param {OnCreateHandler} options.onCreate Optional. A function which will be called when users choose to create a new choice, if the `create` option wasn't provided.\n * @param {Function} options.handleChange A function to pass to the input. Receives the same parameter as the original event handler and an additional newItem parameter if a new item was create.\n *\n * @returns {UseSupportCreateValue} An object with the following properties:\n * - getCreateItem: a function which will return the label of the choice for create a new choice.\n * - createElement: a React element to render after the input. It will be rendered when users choose to create a new choice. It renders null otherwise.\n */\nexport const useSupportCreateSuggestion = (\n options: SupportCreateSuggestionOptions\n): UseSupportCreateValue => {\n const {\n create,\n createLabel = 'ra.action.create',\n createItemLabel = 'ra.action.create_item',\n createValue = '@@ra-create',\n optionText = 'name',\n filter,\n handleChange,\n onCreate,\n } = options;\n\n const translate = useTranslate();\n const [renderOnCreate, setRenderOnCreate] = useState(false);\n const filterRef = useRef(filter);\n\n useEffect(() => {\n if (filterRef.current !== filter && filter !== '') {\n filterRef.current = filter;\n }\n }, [filter]);\n\n const context = useMemo(\n () => ({\n filter: filterRef.current,\n onCancel: () => setRenderOnCreate(false),\n onCreate: item => {\n setRenderOnCreate(false);\n handleChange(item);\n },\n }),\n [handleChange]\n );\n\n return {\n createId: createValue,\n getCreateItem: () => {\n if (typeof optionText !== 'string') {\n return {\n id: createValue,\n name:\n filter && createItemLabel\n ? translate(createItemLabel, {\n item: filter,\n _: createItemLabel,\n })\n : translate(createLabel, { _: createLabel }),\n };\n }\n return set(\n { id: createValue },\n optionText,\n filter && createItemLabel\n ? translate(createItemLabel, {\n item: filter,\n _: createItemLabel,\n })\n : translate(createLabel, { _: createLabel })\n );\n },\n handleChange: async (eventOrValue: MouseEvent | any) => {\n const value = eventOrValue?.target?.value || eventOrValue;\n const finalValue = Array.isArray(value) ? [...value].pop() : value;\n\n if (finalValue?.id === createValue || finalValue === createValue) {\n if (!isValidElement(create)) {\n if (!onCreate) {\n // this should never happen because the createValue is only added if a create function is provided\n // @see AutocompleteInput:filterOptions\n throw new Error(\n 'To create a new option, you must pass an onCreate function or a create element.'\n );\n }\n const newSuggestion = await onCreate(filter);\n if (newSuggestion) {\n handleChange(newSuggestion);\n return;\n }\n } else {\n setRenderOnCreate(true);\n return;\n }\n }\n handleChange(eventOrValue);\n },\n createElement:\n renderOnCreate && isValidElement(create) ? (\n <CreateSuggestionContext.Provider value={context}>\n {create}\n </CreateSuggestionContext.Provider>\n ) : null,\n };\n};\n\nexport interface SupportCreateSuggestionOptions {\n create?: ReactElement;\n createValue?: string;\n createLabel?: string;\n createItemLabel?: string;\n filter?: string;\n handleChange: (value: any) => void;\n onCreate?: OnCreateHandler;\n optionText?: OptionText;\n}\n\nexport interface UseSupportCreateValue {\n createId: string;\n getCreateItem: (\n filterValue?: string\n ) => { id: Identifier; [key: string]: any };\n handleChange: (eventOrValue: ChangeEvent | any) => Promise<void>;\n createElement: ReactElement | null;\n}\n\nconst CreateSuggestionContext = createContext<\n CreateSuggestionContextValue | undefined\n>(undefined);\n\ninterface CreateSuggestionContextValue {\n filter?: string;\n onCreate: (choice: any) => void;\n onCancel: () => void;\n}\nexport const useCreateSuggestionContext = () => {\n const context = useContext(CreateSuggestionContext);\n if (!context) {\n throw new Error(\n 'useCreateSuggestionContext must be used inside a CreateSuggestionContext.Provider'\n );\n }\n return context;\n};\n\nexport type OnCreateHandler = (filter?: string) => any | Promise<any>;\n","import * as React from 'react';\nimport {\n isValidElement,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n ReactNode,\n} from 'react';\nimport debounce from 'lodash/debounce';\nimport get from 'lodash/get';\nimport isEqual from 'lodash/isEqual';\nimport clsx from 'clsx';\nimport {\n Autocomplete,\n AutocompleteProps,\n Chip,\n TextField,\n TextFieldProps,\n createFilterOptions,\n} from '@mui/material';\nimport { styled } from '@mui/material/styles';\nimport {\n ChoicesProps,\n FieldTitle,\n RaRecord,\n useChoicesContext,\n useInput,\n useSuggestions,\n UseSuggestionsOptions,\n useTimeout,\n useTranslate,\n warning,\n useGetRecordRepresentation,\n useEvent,\n} from 'ra-core';\nimport {\n SupportCreateSuggestionOptions,\n useSupportCreateSuggestion,\n} from './useSupportCreateSuggestion';\nimport { CommonInputProps } from './CommonInputProps';\nimport { InputHelperText } from './InputHelperText';\nimport { sanitizeInputRestProps } from './sanitizeInputRestProps';\n\nconst defaultFilterOptions = createFilterOptions();\n\n/**\n * An Input component for an autocomplete field, using an array of objects for the options\n *\n * Pass possible options as an array of objects in the 'choices' attribute.\n *\n * By default, the options are built from:\n * - the 'id' property as the option value,\n * - the 'name' property as the option text\n * @example\n * const choices = [\n * { id: 'M', name: 'Male' },\n * { id: 'F', name: 'Female' },\n * ];\n * <AutocompleteInput source=\"gender\" choices={choices} />\n *\n * You can also customize the properties to use for the option name and value,\n * thanks to the 'optionText' and 'optionValue' attributes.\n * @example\n * const choices = [\n * { _id: 123, full_name: 'Leo Tolstoi', sex: 'M' },\n * { _id: 456, full_name: 'Jane Austen', sex: 'F' },\n * ];\n * <AutocompleteInput source=\"author_id\" choices={choices} optionText=\"full_name\" optionValue=\"_id\" />\n *\n * `optionText` also accepts a function, so you can shape the option text at will:\n * @example\n * const choices = [\n * { id: 123, first_name: 'Leo', last_name: 'Tolstoi' },\n * { id: 456, first_name: 'Jane', last_name: 'Austen' },\n * ];\n * const optionRenderer = choice => `${choice.first_name} ${choice.last_name}`;\n * <AutocompleteInput source=\"author_id\" choices={choices} optionText={optionRenderer} />\n *\n * `optionText` also accepts a React Element, that can access\n * the related choice through the `useRecordContext` hook. You can use Field components there.\n * Note that you must also specify the `matchSuggestion` and `inputText` props\n * @example\n * const choices = [\n * { id: 123, first_name: 'Leo', last_name: 'Tolstoi' },\n * { id: 456, first_name: 'Jane', last_name: 'Austen' },\n * ];\n * const matchSuggestion = (filterValue, choice) => choice.first_name.match(filterValue) || choice.last_name.match(filterValue)\n * const inputText = (record) => `${record.fullName} (${record.language})`;\n *\n * const FullNameField = () => {\n * const record = useRecordContext();\n * return <span>{record.first_name} {record.last_name}</span>;\n * }\n * <AutocompleteInput source=\"author\" choices={choices} optionText={<FullNameField />} matchSuggestion={matchSuggestion} inputText={inputText} />\n *\n * The choices are translated by default, so you can use translation identifiers as choices:\n * @example\n * const choices = [\n * { id: 'M', name: 'myroot.gender.male' },\n * { id: 'F', name: 'myroot.gender.female' },\n * ];\n *\n * However, in some cases (e.g. inside a `<ReferenceInput>`), you may not want\n * the choice to be translated. In that case, set the `translateChoice` prop to false.\n * @example\n * <AutocompleteInput source=\"gender\" choices={choices} translateChoice={false}/>\n *\n * The object passed as `options` props is passed to the Material UI <TextField> component\n *\n * @example\n * <AutocompleteInput source=\"author_id\" options={{ color: 'secondary', InputLabelProps: { shrink: true } }} />\n */\nexport const AutocompleteInput = <\n OptionType extends RaRecord = RaRecord,\n Multiple extends boolean | undefined = false,\n DisableClearable extends boolean | undefined = false,\n SupportCreate extends boolean | undefined = false\n>(\n props: AutocompleteInputProps<\n OptionType,\n Multiple,\n DisableClearable,\n SupportCreate\n >\n) => {\n const {\n choices: choicesProp,\n className,\n clearOnBlur = true,\n clearText = 'ra.action.clear_input_value',\n closeText = 'ra.action.close',\n create,\n createLabel,\n createItemLabel,\n createValue,\n debounce: debounceDelay = 250,\n defaultValue,\n emptyText,\n emptyValue = '',\n field: fieldOverride,\n format,\n helperText,\n id: idOverride,\n inputText,\n isFetching: isFetchingProp,\n isLoading: isLoadingProp,\n isPending: isPendingProp,\n isRequired: isRequiredOverride,\n label,\n limitChoicesToValue,\n matchSuggestion,\n margin,\n fieldState: fieldStateOverride,\n filterToQuery: filterToQueryProp = DefaultFilterToQuery,\n formState: formStateOverride,\n multiple = false,\n noOptionsText,\n onBlur,\n onChange,\n onCreate,\n openText = 'ra.action.open',\n optionText,\n optionValue,\n parse,\n resource: resourceProp,\n shouldRenderSuggestions,\n setFilter,\n size,\n source: sourceProp,\n suggestionLimit = Infinity,\n TextFieldProps,\n translateChoice,\n validate,\n variant,\n onInputChange,\n ...rest\n } = props;\n\n const filterToQuery = useEvent(filterToQueryProp);\n\n const {\n allChoices,\n isPending,\n error: fetchError,\n resource,\n source,\n setFilters,\n isFromReference,\n } = useChoicesContext({\n choices: choicesProp,\n isFetching: isFetchingProp,\n isLoading: isLoadingProp,\n isPending: isPendingProp,\n resource: resourceProp,\n source: sourceProp,\n });\n\n const translate = useTranslate();\n\n const {\n id,\n field,\n isRequired,\n fieldState: { error, invalid },\n } = useInput({\n defaultValue,\n id: idOverride,\n field: fieldOverride,\n fieldState: fieldStateOverride,\n formState: formStateOverride,\n isRequired: isRequiredOverride,\n onBlur,\n onChange,\n parse,\n format,\n resource,\n source,\n validate,\n ...rest,\n });\n\n const finalChoices = useMemo(\n () =>\n // eslint-disable-next-line eqeqeq\n emptyText == undefined || isRequired || multiple\n ? allChoices\n : [\n {\n [optionValue || 'id']: emptyValue,\n [typeof optionText === 'string'\n ? optionText\n : 'name']: translate(emptyText, {\n _: emptyText,\n }),\n },\n ].concat(allChoices || []),\n [\n allChoices,\n emptyValue,\n emptyText,\n isRequired,\n multiple,\n optionText,\n optionValue,\n translate,\n ]\n );\n\n const selectedChoice = useSelectedChoice<\n OptionType,\n Multiple,\n DisableClearable,\n SupportCreate\n >(field.value, {\n choices: finalChoices,\n // @ts-ignore\n multiple,\n optionValue,\n });\n\n useEffect(() => {\n // eslint-disable-next-line eqeqeq\n if (emptyValue == null) {\n throw new Error(\n `emptyValue being set to null or undefined is not supported. Use parse to turn the empty string into null.`\n );\n }\n }, [emptyValue]);\n\n useEffect(() => {\n // eslint-disable-next-line eqeqeq\n if (isValidElement(optionText) && emptyText != undefined) {\n throw new Error(\n `optionText of type React element is not supported when setting emptyText`\n );\n }\n // eslint-disable-next-line eqeqeq\n if (isValidElement(optionText) && inputText == undefined) {\n throw new Error(`\nIf you provided a React element for the optionText prop, you must also provide the inputText prop (used for the text input)`);\n }\n if (\n isValidElement(optionText) &&\n !isFromReference &&\n // eslint-disable-next-line eqeqeq\n matchSuggestion == undefined\n ) {\n throw new Error(`\nIf you provided a React element for the optionText prop, you must also provide the matchSuggestion prop (used to match the user input with a choice)`);\n }\n }, [optionText, inputText, matchSuggestion, emptyText, isFromReference]);\n\n useEffect(() => {\n warning(\n /* eslint-disable eqeqeq */\n shouldRenderSuggestions != undefined && noOptionsText == undefined,\n `When providing a shouldRenderSuggestions function, we recommend you also provide the noOptionsText prop and set it to a text explaining users why no options are displayed. It supports translation keys.`\n );\n /* eslint-enable eqeqeq */\n }, [shouldRenderSuggestions, noOptionsText]);\n\n const getRecordRepresentation = useGetRecordRepresentation(resource);\n\n const { getChoiceText, getChoiceValue, getSuggestions } = useSuggestions({\n choices: finalChoices,\n limitChoicesToValue,\n matchSuggestion,\n optionText:\n optionText ??\n (isFromReference ? getRecordRepresentation : undefined),\n optionValue,\n selectedItem: selectedChoice,\n suggestionLimit,\n translateChoice: translateChoice ?? !isFromReference,\n });\n\n const [filterValue, setFilterValue] = useState('');\n\n const handleChange = (newValue: any) => {\n if (multiple) {\n if (Array.isArray(newValue)) {\n field.onChange(newValue.map(getChoiceValue), newValue);\n } else {\n field.onChange(\n [...(field.value ?? []), getChoiceValue(newValue)],\n newValue\n );\n }\n } else {\n field.onChange(getChoiceValue(newValue) ?? emptyValue, newValue);\n }\n };\n\n // eslint-disable-next-line\n const debouncedSetFilter = useCallback(\n debounce(filter => {\n if (setFilter) {\n return setFilter(filter);\n }\n\n if (choicesProp) {\n return;\n }\n\n setFilters(filterToQuery(filter));\n }, debounceDelay),\n [debounceDelay, setFilters, setFilter]\n );\n\n // We must reset the filter every time the value changes to ensure we\n // display at least some choices even if the input has a value.\n // Otherwise, it would only display the currently selected one and the user\n // would have to first clear the input before seeing any other choices\n const currentValue = useRef(field.value);\n useEffect(() => {\n if (!isEqual(currentValue.current, field.value)) {\n currentValue.current = field.value;\n debouncedSetFilter('');\n }\n }, [field.value]); // eslint-disable-line\n\n const {\n getCreateItem,\n handleChange: handleChangeWithCreateSupport,\n createElement,\n createId,\n } = useSupportCreateSuggestion({\n create,\n createLabel,\n createItemLabel,\n createValue,\n handleChange,\n filter: filterValue,\n onCreate,\n optionText,\n });\n\n const getOptionLabel = useCallback(\n (option: any, isListItem: boolean = false) => {\n // eslint-disable-next-line eqeqeq\n if (option == undefined) {\n return '';\n }\n\n // Value selected with enter, right from the input\n if (typeof option === 'string') {\n return option;\n }\n\n if (option?.id === createId) {\n return get(\n option,\n typeof optionText === 'string' ? optionText : 'name'\n );\n }\n\n if (!isListItem && option[optionValue || 'id'] === emptyValue) {\n return get(\n option,\n typeof optionText === 'string' ? optionText : 'name'\n );\n }\n\n if (!isListItem && inputText !== undefined) {\n return inputText(option);\n }\n\n return getChoiceText(option);\n },\n [\n getChoiceText,\n inputText,\n createId,\n optionText,\n optionValue,\n emptyValue,\n ]\n );\n\n const finalOnBlur = useCallback((): void => {\n if (clearOnBlur && !multiple) {\n const optionLabel = getOptionLabel(selectedChoice);\n if (!isEqual(optionLabel, filterValue)) {\n setFilterValue(optionLabel);\n debouncedSetFilter('');\n }\n }\n field.onBlur();\n }, [\n clearOnBlur,\n field,\n getOptionLabel,\n selectedChoice,\n filterValue,\n debouncedSetFilter,\n multiple,\n ]);\n\n useEffect(() => {\n if (!multiple) {\n const optionLabel = getOptionLabel(selectedChoice);\n if (typeof optionLabel === 'string') {\n setFilterValue(optionLabel);\n } else {\n throw new Error(\n 'When optionText returns a React element, you must also provide the inputText prop'\n );\n }\n }\n }, [getOptionLabel, multiple, selectedChoice]);\n\n const handleInputChange: AutocompleteProps<\n OptionType,\n Multiple,\n DisableClearable,\n SupportCreate\n >['onInputChange'] = (event, newInputValue, reason) => {\n if (\n event?.type === 'change' ||\n !doesQueryMatchSelection(newInputValue)\n ) {\n setFilterValue(newInputValue);\n debouncedSetFilter(newInputValue);\n }\n\n onInputChange?.(event, newInputValue, reason);\n };\n\n const doesQueryMatchSelection = useCallback(\n (filter: string) => {\n let selectedItemTexts;\n\n if (multiple) {\n selectedItemTexts = selectedChoice.map(item =>\n getOptionLabel(item)\n );\n } else {\n selectedItemTexts = [getOptionLabel(selectedChoice)];\n }\n\n return selectedItemTexts.includes(filter);\n },\n [getOptionLabel, multiple, selectedChoice]\n );\n const doesQueryMatchSuggestion = useCallback(\n filter => {\n const hasOption = !!finalChoices\n ? finalChoices.some(choice => getOptionLabel(choice) === filter)\n : false;\n\n return doesQueryMatchSelection(filter) || hasOption;\n },\n [finalChoices, getOptionLabel, doesQueryMatchSelection]\n );\n\n const filterOptions = (options, params) => {\n let filteredOptions =\n isFromReference || // When used inside a reference, AutocompleteInput shouldn't do the filtering as it's done by the reference input\n matchSuggestion || // When using element as optionText (and matchSuggestion), options are filtered by getSuggestions, so they shouldn't be filtered here\n limitChoicesToValue // When limiting choices to values (why? it's legacy!), options are also filtered by getSuggestions, so they shouldn't be filtered here\n ? options\n : defaultFilterOptions(options, params); // Otherwise, we let Material UI's Autocomplete do the filtering\n\n // add create option if necessary\n const { inputValue } = params;\n // FIXME pass the allowCreate: true option to useCreateSuggestions instead\n if (\n (onCreate || create) &&\n inputValue !== '' &&\n !doesQueryMatchSuggestion(filterValue)\n ) {\n filteredOptions = filteredOptions.concat(getCreateItem(inputValue));\n }\n\n return filteredOptions;\n };\n\n const handleAutocompleteChange = (\n event: any,\n newValue: any,\n _reason: string\n ) => {\n handleChangeWithCreateSupport(newValue != null ? newValue : emptyValue);\n };\n\n const oneSecondHasPassed = useTimeout(1000, filterValue);\n\n const suggestions = useMemo(() => {\n if (!isFromReference && (matchSuggestion || limitChoicesToValue)) {\n return getSuggestions(filterValue);\n }\n return finalChoices?.slice(0, suggestionLimit) || [];\n }, [\n finalChoices,\n filterValue,\n getSuggestions,\n limitChoicesToValue,\n matchSuggestion,\n suggestionLimit,\n isFromReference,\n ]);\n\n const isOptionEqualToValue = (option, value) => {\n return String(getChoiceValue(option)) === String(getChoiceValue(value));\n };\n const renderHelperText = !!fetchError || helperText !== false || invalid;\n\n return (\n <>\n <StyledAutocomplete\n blurOnSelect\n className={clsx('ra-input', `ra-input-${source}`, className)}\n clearText={translate(clearText, { _: clearText })}\n closeText={translate(closeText, { _: closeText })}\n openOnFocus\n openText={translate(openText, { _: openText })}\n id={id}\n isOptionEqualToValue={isOptionEqualToValue}\n filterSelectedOptions\n renderInput={params => {\n const mergedTextFieldProps = {\n ...params.InputProps,\n ...TextFieldProps?.InputProps,\n };\n return (\n <TextField\n name={field.name}\n label={\n <FieldTitle\n label={label}\n source={source}\n resource={resourceProp}\n isRequired={isRequired}\n />\n }\n error={!!fetchError || invalid}\n helperText={\n renderHelperText ? (\n <InputHelperText\n error={\n error?.message ||\n fetchError?.message\n }\n helperText={helperText}\n />\n ) : null\n }\n margin={margin}\n variant={variant}\n className={AutocompleteInputClasses.textField}\n {...params}\n InputProps={mergedTextFieldProps}\n size={size}\n />\n );\n }}\n multiple={multiple}\n renderTags={(value, getTagProps) =>\n value.map((option, index) => (\n <Chip\n label={\n isValidElement(optionText)\n ? inputText\n ? inputText(option)\n : ''\n : getChoiceText(option)\n }\n size=\"small\"\n {...getTagProps({ index })}\n />\n ))\n }\n noOptionsText={\n typeof noOptionsText === 'string'\n ? translate(noOptionsText, { _: noOptionsText })\n : noOptionsText\n }\n selectOnFocus\n clearOnBlur={clearOnBlur}\n {...sanitizeInputRestProps(rest)}\n freeSolo={!!create || !!onCreate}\n handleHomeEndKeys={!!create || !!onCreate}\n filterOptions={filterOptions}\n options={\n shouldRenderSuggestions == undefined || // eslint-disable-line eqeqeq\n shouldRenderSuggestions(filterValue)\n ? suggestions\n : []\n }\n getOptionLabel={getOptionLabel}\n inputValue={filterValue}\n loading={\n isPending &&\n (!finalChoices || finalChoices.length === 0) &&\n oneSecondHasPassed\n }\n value={selectedChoice}\n onChange={handleAutocompleteChange}\n onBlur={finalOnBlur}\n onInputChange={handleInputChange}\n renderOption={(props, record: RaRecord) => {\n (props as {\n key: string;\n }).key = getChoiceValue(record);\n\n const optionLabel = getOptionLabel(record, true);\n\n return (\n <li {...props}>\n {optionLabel === '' ? ' ' : optionLabel}\n </li>\n );\n }}\n />\n {createElement}\n </>\n );\n};\n\nconst PREFIX = 'RaAutocompleteInput';\n\nexport const AutocompleteInputClasses = {\n textField: `${PREFIX}-textField`,\n};\n\nconst StyledAutocomplete = styled(Autocomplete, {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme }) => ({\n [`& .${AutocompleteInputClasses.textField}`]: {\n minWidth: theme.spacing(20),\n },\n}));\n\n// @ts-ignore\nexport interface AutocompleteInputProps<\n OptionType extends any = RaRecord,\n Multiple extends boolean | undefined = false,\n DisableClearable extends boolean | undefined = false,\n SupportCreate extends boolean | undefined = false\n> extends Omit<CommonInputProps, 'source' | 'onChange'>,\n ChoicesProps,\n UseSuggestionsOptions,\n Omit<SupportCreateSuggestionOptions, 'handleChange' | 'optionText'>,\n Omit<\n AutocompleteProps<\n OptionType,\n Multiple,\n DisableClearable,\n SupportCreate\n >,\n 'onChange' | 'options' | 'renderInput'\n > {\n children?: ReactNode;\n debounce?: number;\n emptyText?: string;\n emptyValue?: any;\n filterToQuery?: (searchText: string) => any;\n inputText?: (option: any) => string;\n onChange?: (\n // We can't know upfront what the value type will be\n value: Multiple extends true ? any[] : any,\n // We return an empty string when the input is cleared in single mode\n record: Multiple extends true ? OptionType[] : OptionType | ''\n ) => void;\n setFilter?: (value: string) => void;\n shouldRenderSuggestions?: any;\n // Source is optional as AutocompleteInput can be used inside a ReferenceInput that already defines the source\n source?: string;\n TextFieldProps?: TextFieldProps;\n}\n\n/**\n * Returns the selected choice (or choices if multiple) by matching the input value with the choices.\n */\nconst useSelectedChoice = <\n OptionType extends any = RaRecord,\n Multiple extends boolean | undefined = false,\n DisableClearable extends boolean | undefined = false,\n SupportCreate extends boolean | undefined = false\n>(\n value: any,\n {\n choices,\n multiple,\n optionValue,\n }: AutocompleteInputProps<\n OptionType,\n Multiple,\n DisableClearable,\n SupportCreate\n >\n) => {\n const selectedChoiceRef = useRef(\n getSelectedItems(choices, value, optionValue, multiple)\n );\n const [selectedChoice, setSelectedChoice] = useState<RaRecord | RaRecord[]>(\n () => getSelectedItems(choices, value, optionValue, multiple)\n );\n\n // As the selected choices are objects, we want to ensure we pass the same\n // reference to the Autocomplete as it would reset its filter value otherwise.\n useEffect(() => {\n const newSelectedItems = getSelectedItems(\n choices,\n value,\n optionValue,\n multiple\n );\n\n if (\n !areSelectedItemsEqual(\n selectedChoiceRef.current,\n newSelectedItems,\n optionValue,\n multiple\n )\n ) {\n selectedChoiceRef.current = newSelectedItems;\n setSelectedChoice(newSelectedItems);\n }\n }, [choices, value, multiple, optionValue]);\n return selectedChoice || null;\n};\n\nconst getSelectedItems = (\n choices: RaRecord[] = [],\n value,\n optionValue = 'id',\n multiple\n) => {\n if (multiple) {\n return (Array.isArray(value ?? []) ? value : [value])\n .map(item =>\n choices.find(\n choice => String(item) === String(get(choice, optionValue))\n )\n )\n .filter(item => !!item);\n }\n return (\n choices.find(\n choice => String(get(choice, optionValue)) === String(value)\n ) || ''\n );\n};\n\nconst areSelectedItemsEqual = (\n selectedChoice: RaRecord | RaRecord[],\n newSelectedChoice: RaRecord | RaRecord[],\n optionValue = 'id',\n multiple?: boolean\n) => {\n if (multiple) {\n const selectedChoiceArray = (selectedChoice as RaRecord[]) ?? [];\n const newSelectedChoiceArray = (newSelectedChoice as RaRecord[]) ?? [];\n if (selectedChoiceArray.length !== newSelectedChoiceArray.length) {\n return false;\n }\n const equalityArray = selectedChoiceArray.map(choice =>\n newSelectedChoiceArray.some(\n newChoice =>\n get(newChoice, optionValue) === get(choice, optionValue)\n )\n );\n return !equalityArray.some(item => item === false);\n }\n return (\n get(selectedChoice, optionValue) === get(newSelectedChoice, optionValue)\n );\n};\n\nconst DefaultFilterToQuery = searchText => ({ q: searchText });\n","import * as React from 'react';\nimport { useCallback } from 'react';\nimport clsx from 'clsx';\nimport FormControlLabel from '@mui/material/FormControlLabel';\nimport FormHelperText from '@mui/material/FormHelperText';\nimport FormGroup, { FormGroupProps } from '@mui/material/FormGroup';\nimport Switch, { SwitchProps } from '@mui/material/Switch';\nimport { FieldTitle, useInput } from 'ra-core';\n\nimport { CommonInputProps } from './CommonInputProps';\nimport { sanitizeInputRestProps } from './sanitizeInputRestProps';\nimport { InputHelperText } from './InputHelperText';\n\nexport const BooleanInput = (props: BooleanInputProps) => {\n const {\n className,\n row = false,\n defaultValue = false,\n format,\n label,\n fullWidth,\n helperText,\n onBlur,\n onChange,\n onFocus,\n disabled,\n parse,\n resource,\n source,\n validate,\n options = defaultOptions,\n sx,\n ...rest\n } = props;\n const {\n id,\n field,\n isRequired,\n fieldState: { error, invalid },\n } = useInput({\n defaultValue,\n format,\n parse,\n resource,\n source,\n onBlur,\n onChange,\n type: 'checkbox',\n validate,\n ...rest,\n });\n\n const handleChange = useCallback(\n event => {\n field.onChange(event);\n // Ensure field is considered as touched\n field.onBlur();\n },\n [field]\n );\n\n const renderHelperText = helperText !== false || invalid;\n\n return (\n <FormGroup\n className={clsx('ra-input', `ra-input-${source}`, className)}\n row={row}\n sx={sx}\n >\n <FormControlLabel\n inputRef={field.ref}\n control={\n <Switch\n id={id}\n name={field.name}\n onChange={handleChange}\n onFocus={onFocus}\n checked={Boolean(field.value)}\n {...sanitizeInputRestProps(rest)}\n {...options}\n disabled={disabled}\n />\n }\n label={\n <FieldTitle\n label={label}\n source={source}\n resource={resource}\n isRequired={isRequired}\n />\n }\n />\n {renderHelperText ? (\n <FormHelperText error={invalid}>\n <InputHelperText\n error={error?.message}\n helperText={helperText}\n />\n </FormHelperText>\n ) : null}\n </FormGroup>\n );\n};\n\nexport type BooleanInputProps = CommonInputProps &\n Omit<SwitchProps, 'defaultValue'> &\n Omit<FormGroupProps, 'defaultValue' | 'onChange' | 'onBlur' | 'onFocus'> & {\n options?: SwitchProps;\n };\n\nconst defaultOptions = {};\n","import { styled } from '@mui/material';\n\nconst PREFIX = 'RaDatagrid';\n\nexport const DatagridClasses = {\n root: `${PREFIX}-root`,\n table: `${PREFIX}-table`,\n tableWrapper: `${PREFIX}-tableWrapper`,\n thead: `${PREFIX}-thead`,\n tbody: `${PREFIX}-tbody`,\n headerRow: `${PREFIX}-headerRow`,\n headerCell: `${PREFIX}-headerCell`,\n checkbox: `${PREFIX}-checkbox`,\n row: `${PREFIX}-row`,\n clickableRow: `${PREFIX}-clickableRow`,\n rowEven: `${PREFIX}-rowEven`,\n rowOdd: `${PREFIX}-rowOdd`,\n rowCell: `${PREFIX}-rowCell`,\n selectable: `${PREFIX}-selectable`,\n expandHeader: `${PREFIX}-expandHeader`,\n expandIconCell: `${PREFIX}-expandIconCell`,\n expandIcon: `${PREFIX}-expandIcon`,\n expandable: `${PREFIX}-expandable`,\n expanded: `${PREFIX}-expanded`,\n expandedPanel: `${PREFIX}-expandedPanel`,\n};\n\nexport const DatagridRoot = styled('div', {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme }) => ({\n [`& .${DatagridClasses.table}`]: {\n tableLayout: 'auto',\n },\n [`& .${DatagridClasses.tableWrapper}`]: {},\n [`& .${DatagridClasses.thead}`]: {},\n [`& .${DatagridClasses.tbody}`]: {},\n [`& .${DatagridClasses.headerRow}`]: {},\n [`& .${DatagridClasses.headerCell}`]: {\n position: 'sticky',\n top: 0,\n zIndex: 2,\n backgroundColor: theme.palette.background.paper,\n '&:first-of-type': {\n borderTopLeftRadius: theme.shape.borderRadius,\n },\n '&:last-child': {\n borderTopRightRadius: theme.shape.borderRadius,\n },\n },\n [`& .${DatagridClasses.checkbox}`]: {},\n [`& .${DatagridClasses.row}`]: {},\n [`& .${DatagridClasses.clickableRow}`]: {\n cursor: 'pointer',\n },\n [`& .${DatagridClasses.rowEven}`]: {},\n [`& .${DatagridClasses.rowOdd}`]: {},\n [`& .${DatagridClasses.rowCell}`]: {},\n [`& .${DatagridClasses.expandHeader}`]: {\n padding: 0,\n width: theme.spacing(6),\n },\n [`& .${DatagridClasses.expandIconCell}`]: {\n width: theme.spacing(6),\n },\n [`& .${DatagridClasses.expandIcon}`]: {\n padding: theme.spacing(1),\n transform: 'rotate(-90deg)',\n transition: theme.transitions.create('transform', {\n duration: theme.transitions.duration.shortest,\n }),\n },\n [`& .${DatagridClasses.expandIcon}.${DatagridClasses.expanded}`]: {\n transform: 'rotate(0deg)',\n },\n [`& .${DatagridClasses.expandedPanel}`]: {},\n}));\n","import * as React from 'react';\nimport TableCell, { TableCellProps } from '@mui/material/TableCell';\nimport clsx from 'clsx';\nimport { RaRecord } from 'ra-core';\n\nconst DatagridCell = React.forwardRef<HTMLTableCellElement, DatagridCellProps>(\n ({ className, field, record, resource, ...rest }, ref) => (\n <TableCell\n className={clsx(className, field.props.cellClassName)}\n align={field.props.textAlign || field.type.textAlign}\n ref={ref}\n {...rest}\n >\n {field}\n </TableCell>\n )\n);\n\nexport interface DatagridCellProps extends TableCellProps {\n className?: string;\n field: JSX.Element;\n record?: RaRecord;\n resource?: string;\n}\n\n// What? TypeScript loses the displayName if we don't set it explicitly\nDatagridCell.displayName = 'DatagridCell';\n\nexport default DatagridCell;\n","import * as React from 'react';\nimport { ElementType, memo } from 'react';\nimport IconButton, { IconButtonProps } from '@mui/material/IconButton';\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore';\nimport { useTranslate } from 'ra-core';\n\nconst ExpandRowButton = ({\n expanded,\n expandContentId,\n ...props\n}: ExpandRowButtonProps) => {\n const translate = useTranslate();\n return (\n <IconButton\n aria-label={translate(\n expanded ? 'ra.action.close' : 'ra.action.expand'\n )}\n aria-expanded={expanded}\n aria-controls={expandContentId}\n tabIndex={-1}\n aria-hidden=\"true\"\n component=\"div\"\n {...props}\n size=\"small\"\n >\n <ExpandMoreIcon fontSize=\"inherit\" />\n </IconButton>\n );\n};\n\nexport interface ExpandRowButtonProps extends IconButtonProps {\n component?: ElementType;\n expanded: boolean;\n expandContentId?: string;\n}\n\nexport default memo(ExpandRowButton);\n","import { createContext } from 'react';\nimport { RaRecord } from 'ra-core';\n\nconst DatagridContext = createContext<DatagridContextValue>({});\n\nDatagridContext.displayName = 'DatagridContext';\n\nexport type DatagridContextValue = {\n isRowExpandable?: (record: RaRecord) => boolean;\n expandSingle?: boolean;\n};\n\nexport default DatagridContext;\n","import { useContext, useMemo } from 'react';\nimport { DatagridProps } from './Datagrid';\nimport DatagridContext, { DatagridContextValue } from './DatagridContext';\nimport defaults from 'lodash/defaults';\n\nexport const useDatagridContext = (\n props?: DatagridProps\n): DatagridContextValue => {\n const context = useContext(DatagridContext);\n\n return useMemo(\n () =>\n defaults(\n {},\n props != null ? { isRowExpandable: props.isRowExpandable } : {},\n context\n ),\n [context, props]\n );\n};\n","import React, {\n isValidElement,\n createElement,\n useState,\n useEffect,\n useCallback,\n memo,\n FC,\n ReactElement,\n} from 'react';\nimport clsx from 'clsx';\nimport { TableCell, TableRow, TableRowProps, Checkbox } from '@mui/material';\nimport {\n Identifier,\n RaRecord,\n shallowEqual,\n useExpanded,\n useResourceContext,\n useTranslate,\n useCreatePath,\n useRecordContext,\n useResourceDefinition,\n} from 'ra-core';\nimport { useNavigate } from 'react-router-dom';\n\nimport DatagridCell from './DatagridCell';\nimport ExpandRowButton from './ExpandRowButton';\nimport { DatagridClasses } from './useDatagridStyles';\nimport { useDatagridContext } from './useDatagridContext';\n\nconst computeNbColumns = (expand, children, hasBulkActions) =>\n expand\n ? 1 + // show expand button\n (hasBulkActions ? 1 : 0) + // checkbox column\n React.Children.toArray(children).filter(child => !!child).length // non-null children\n : 0; // we don't need to compute columns if there is no expand panel;\n\nconst DatagridRow: FC<DatagridRowProps> = React.forwardRef((props, ref) => {\n const definition = useResourceDefinition(props);\n const defaultRowClick = definition?.hasShow\n ? 'show'\n : definition?.hasEdit\n ? 'edit'\n : false;\n\n const {\n children,\n className,\n expand,\n hasBulkActions = false,\n hover = true,\n id,\n onToggleItem,\n record: recordOverride,\n rowClick = defaultRowClick,\n selected = false,\n style,\n selectable = true,\n ...rest\n } = props;\n\n if (typeof id === 'undefined') {\n throw new Error('DatagridRow expects an id prop');\n }\n const context = useDatagridContext();\n const translate = useTranslate();\n const record = useRecordContext(props);\n if (!record) {\n throw new Error(\n 'DatagridRow can only be used within a RecordContext or be passed a record prop'\n );\n }\n const resource = useResourceContext(props);\n if (!resource) {\n throw new Error(\n 'DatagridRow can only be used within a ResourceContext or be passed a resource prop'\n );\n }\n const expandable =\n (!context ||\n !context.isRowExpandable ||\n context.isRowExpandable(record)) &&\n expand;\n const createPath = useCreatePath();\n const [expanded, toggleExpanded] = useExpanded(\n resource,\n id,\n context && context.expandSingle\n );\n const [nbColumns, setNbColumns] = useState(() =>\n computeNbColumns(expandable, children, hasBulkActions)\n );\n useEffect(() => {\n // Fields can be hidden dynamically based on permissions;\n // The expand panel must span over the remaining columns\n // So we must recompute the number of columns to span on\n const newNbColumns = computeNbColumns(\n expandable,\n children,\n hasBulkActions\n );\n if (newNbColumns !== nbColumns) {\n setNbColumns(newNbColumns);\n }\n }, [expandable, nbColumns, children, hasBulkActions]);\n\n const navigate = useNavigate();\n\n const handleToggleExpand = useCallback(\n event => {\n toggleExpanded();\n event.stopPropagation();\n },\n [toggleExpanded]\n );\n const handleToggleSelection = useCallback(\n event => {\n if (!selectable || !onToggleItem) return;\n onToggleItem(id, event);\n event.stopPropagation();\n },\n [id, onToggleItem, selectable]\n );\n const handleClick = useCallback(\n async event => {\n event.persist();\n const type =\n typeof rowClick === 'function'\n ? await rowClick(id, resource, record)\n : rowClick;\n if (type === false || type == null) {\n return;\n }\n if (['edit', 'show'].includes(type)) {\n navigate(createPath({ resource, id, type }), {\n state: { _scrollToTop: true },\n });\n return;\n }\n if (type === 'expand') {\n handleToggleExpand(event);\n return;\n }\n if (type === 'toggleSelection') {\n handleToggleSelection(event);\n return;\n }\n navigate(type);\n },\n [\n rowClick,\n id,\n resource,\n record,\n navigate,\n createPath,\n handleToggleExpand,\n handleToggleSelection,\n ]\n );\n\n return (\n <>\n <TableRow\n ref={ref}\n className={clsx(className, {\n [DatagridClasses.expandable]: expandable,\n [DatagridClasses.selectable]: selectable,\n [DatagridClasses.clickableRow]:\n typeof rowClick === 'function' ? true : rowClick,\n })}\n key={id}\n style={style}\n hover={hover}\n onClick={handleClick}\n {...rest}\n >\n {expand && (\n <TableCell\n padding=\"none\"\n className={DatagridClasses.expandIconCell}\n >\n {expandable && (\n <ExpandRowButton\n className={clsx(DatagridClasses.expandIcon, {\n [DatagridClasses.expanded]: expanded,\n })}\n expanded={expanded}\n onClick={handleToggleExpand}\n expandContentId={`${id}-expand`}\n />\n )}\n </TableCell>\n )}\n {hasBulkActions && (\n <TableCell padding=\"checkbox\">\n <Checkbox\n aria-label={translate('ra.action.select_row', {\n _: 'Select this row',\n })}\n color=\"primary\"\n className={`select-item ${DatagridClasses.checkbox}`}\n checked={selectable && selected}\n onClick={handleToggleSelection}\n disabled={!selectable}\n />\n </TableCell>\n )}\n {React.Children.map(children, (field, index) =>\n isValidElement(field) ? (\n <DatagridCell\n key={`${id}-${\n (field.props as any).source || index\n }`}\n className={clsx(\n `column-${(field.props as any).source}`,\n DatagridClasses.rowCell\n )}\n record={record}\n {...{ field, resource }}\n />\n ) : null\n )}\n </TableRow>\n {expandable && expanded && (\n <TableRow\n key={`${id}-expand`}\n id={`${id}-expand`}\n className={DatagridClasses.expandedPanel}\n >\n <TableCell colSpan={nbColumns}>\n {isValidElement(expand)\n ? expand\n : createElement(\n expand as React.FunctionComponent<any>\n )}\n </TableCell>\n </TableRow>\n )}\n </>\n );\n});\n\nexport interface DatagridRowProps\n extends Omit<TableRowProps, 'id' | 'classes'> {\n className?: string;\n expand?:\n | ReactElement\n | FC<{\n id: Identifier;\n record: RaRecord;\n resource: string;\n }>;\n hasBulkActions?: boolean;\n hover?: boolean;\n id?: Identifier;\n onToggleItem?: (\n id: Identifier,\n event: React.TouchEvent | React.MouseEvent\n ) => void;\n record?: RaRecord;\n resource?: string;\n rowClick?: RowClickFunction | string | false;\n selected?: boolean;\n style?: any;\n selectable?: boolean;\n}\n\nexport type RowClickFunction = (\n id: Identifier,\n resource: string,\n record: RaRecord\n) => string | false | Promise<string | false>;\n\nconst areEqual = (prevProps, nextProps) => {\n const { children: _1, expand: _2, ...prevPropsWithoutChildren } = prevProps;\n const { children: _3, expand: _4, ...nextPropsWithoutChildren } = nextProps;\n return shallowEqual(prevPropsWithoutChildren, nextPropsWithoutChildren);\n};\n\nexport const PureDatagridRow = memo(DatagridRow, areEqual);\n\nPureDatagridRow.displayName = 'PureDatagridRow';\n\nexport default DatagridRow;\n","import * as React from 'react';\nimport { cloneElement, memo, FC, ReactElement } from 'react';\nimport { SxProps, TableBody, TableBodyProps } from '@mui/material';\nimport clsx from 'clsx';\nimport { Identifier, RaRecord, RecordContextProvider } from 'ra-core';\n\nimport { DatagridClasses } from './useDatagridStyles';\nimport DatagridRow, { PureDatagridRow, RowClickFunction } from './DatagridRow';\n\nconst DatagridBody: FC<DatagridBodyProps> = React.forwardRef(\n (\n {\n children,\n className,\n data = defaultData,\n expand,\n hasBulkActions = false,\n hover,\n onToggleItem,\n resource,\n row = defaultChildren,\n rowClick,\n rowSx,\n rowStyle,\n selectedIds,\n isRowSelectable,\n ...rest\n },\n ref\n ) => (\n <TableBody\n ref={ref}\n className={clsx('datagrid-body', className, DatagridClasses.tbody)}\n {...rest}\n >\n {data.map((record, rowIndex) => (\n <RecordContextProvider\n value={record}\n key={record.id ?? `row${rowIndex}`}\n >\n {cloneElement(\n row,\n {\n className: clsx(DatagridClasses.row, {\n [DatagridClasses.rowEven]: rowIndex % 2 === 0,\n [DatagridClasses.rowOdd]: rowIndex % 2 !== 0,\n }),\n expand,\n hasBulkActions: hasBulkActions && !!selectedIds,\n hover,\n id: record.id ?? `row${rowIndex}`,\n onToggleItem,\n resource,\n rowClick,\n selectable:\n !isRowSelectable || isRowSelectable(record),\n selected: selectedIds?.includes(record.id),\n sx: rowSx?.(record, rowIndex),\n style: rowStyle?.(record, rowIndex),\n },\n children\n )}\n </RecordContextProvider>\n ))}\n </TableBody>\n )\n);\n\nconst defaultChildren = <DatagridRow />;\n\nexport interface DatagridBodyProps extends Omit<TableBodyProps, 'classes'> {\n className?: string;\n data?: any[];\n expand?:\n | ReactElement\n | FC<{\n id: Identifier;\n record: RaRecord;\n resource: string;\n }>;\n hasBulkActions?: boolean;\n hover?: boolean;\n onToggleItem?: (\n id: Identifier,\n event: React.TouchEvent | React.MouseEvent\n ) => void;\n record?: RaRecord;\n resource?: string;\n row?: ReactElement;\n rowClick?: string | RowClickFunction | false;\n rowSx?: (record: RaRecord, index: number) => SxProps;\n rowStyle?: (record: RaRecord, index: number) => any;\n selectedIds?: Identifier[];\n isRowSelectable?: (record: RaRecord) => boolean;\n}\n\nconst defaultData = [];\n\n// trick Material UI Table into thinking this is one of the child type it supports\n// @ts-ignore\nDatagridBody.muiName = 'TableBody';\n\nexport const PureDatagridBody = memo(props => (\n <DatagridBody row={<PureDatagridRow />} {...props} />\n));\n\n// trick Material UI Table into thinking this is one of the child type it supports\n// @ts-ignore\nPureDatagridBody.muiName = 'TableBody';\n\nexport default DatagridBody;\n","import * as React from 'react';\nimport { styled } from '@mui/material/styles';\nimport { memo } from 'react';\nimport clsx from 'clsx';\nimport { TableCell, TableSortLabel, Tooltip } from '@mui/material';\nimport { TableCellProps } from '@mui/material/TableCell';\nimport {\n FieldTitle,\n useTranslate,\n SortPayload,\n useResourceContext,\n useTranslateLabel,\n} from 'ra-core';\n\nexport const DatagridHeaderCell = (\n props: DatagridHeaderCellProps\n): JSX.Element => {\n const { className, field, sort, updateSort, isSorting, ...rest } = props;\n const resource = useResourceContext();\n\n const translate = useTranslate();\n const translateLabel = useTranslateLabel();\n const sortLabel = translate('ra.sort.sort_by', {\n field: field\n ? translateLabel({\n label: field.props.label,\n resource,\n source: field.props.source,\n })\n : undefined,\n order: translate(`ra.sort.${sort?.order === 'ASC' ? 'DESC' : 'ASC'}`),\n _: translate('ra.action.sort'),\n });\n\n return (\n <StyledTableCell\n className={clsx(className, field?.props.headerClassName)}\n align={field?.props.textAlign || field?.type.textAlign}\n variant=\"head\"\n {...rest}\n >\n {updateSort &&\n sort &&\n field &&\n field.props.sortable !== false &&\n field.type.sortable !== false &&\n (field.props.sortBy || field.props.source) ? (\n <Tooltip\n title={sortLabel}\n placement={\n field.props.textAlign === 'right' ||\n field.type.textAlign === 'right'\n ? 'bottom-end'\n : 'bottom-start'\n }\n enterDelay={300}\n >\n <TableSortLabel\n active={\n sort.field ===\n (field.props.sortBy || field.props.source)\n }\n direction={sort.order === 'ASC' ? 'asc' : 'desc'}\n data-field={field.props.sortBy || field.props.source}\n data-order={field.props.sortByOrder || 'ASC'}\n onClick={updateSort}\n classes={DatagridHeaderCellClasses}\n >\n <FieldTitle\n label={field.props.label}\n source={field.props.source}\n resource={resource}\n />\n </TableSortLabel>\n </Tooltip>\n ) : (\n <FieldTitle\n label={field?.props.label}\n source={field?.props.source}\n resource={resource}\n />\n )}\n </StyledTableCell>\n );\n};\n\nexport interface DatagridHeaderCellProps\n extends Omit<TableCellProps, 'classes' | 'resource'> {\n className?: string;\n field?: JSX.Element;\n isSorting?: boolean;\n sort?: SortPayload;\n updateSort?: (event: any) => void;\n}\n\nexport default memo(\n DatagridHeaderCell,\n (props, nextProps) =>\n props.updateSort === nextProps.updateSort &&\n props.sort?.field === nextProps.sort?.field &&\n props.sort?.order === nextProps.sort?.order &&\n props.isSorting === nextProps.isSorting\n);\n\nconst PREFIX = 'RaDatagridHeaderCell';\n\nexport const DatagridHeaderCellClasses = {\n icon: `${PREFIX}-icon`,\n};\n\n// Remove the sort icons when not active\nconst StyledTableCell = styled(TableCell, {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})({\n [`& .MuiTableSortLabel-icon`]: {\n display: 'none',\n },\n [`& .Mui-active .MuiTableSortLabel-icon`]: {\n display: 'inline',\n },\n});\n","import * as React from 'react';\nimport { styled } from '@mui/material/styles';\n\ninterface PlaceholderProps {\n className?: string;\n}\n\nexport const Placeholder = (props: PlaceholderProps) => (\n <Root className={props.className}> </Root>\n);\n\nconst PREFIX = 'RaPlaceholder';\n\nconst Root = styled('span', {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme }) => ({\n backgroundColor: theme.palette.grey[300],\n display: 'flex',\n}));\n","import * as React from 'react';\nimport { ReactElement, FC, memo } from 'react';\nimport {\n Table,\n TableCell,\n TableHead,\n TableRow,\n TableBody,\n IconButton,\n Checkbox,\n} from '@mui/material';\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore';\nimport clsx from 'clsx';\nimport { useTimeout, Identifier, RaRecord } from 'ra-core';\n\nimport { DatagridClasses } from './useDatagridStyles';\nimport { Placeholder } from '../Placeholder';\n\nconst times = (nbChildren, fn) =>\n Array.from({ length: nbChildren }, (_, key) => fn(key));\n\nconst DatagridLoading = ({\n className,\n expand,\n hasBulkActions,\n nbChildren,\n nbFakeLines = 5,\n size,\n}: DatagridLoadingProps) => {\n const oneSecondHasPassed = useTimeout(1000);\n if (!oneSecondHasPassed) return null;\n return (\n <div className={DatagridClasses.root}>\n <Table\n className={clsx(DatagridClasses.table, className)}\n size={size}\n >\n <TableHead>\n <TableRow className={DatagridClasses.row}>\n {expand && (\n <TableCell\n padding=\"none\"\n className={DatagridClasses.expandHeader}\n />\n )}\n {hasBulkActions && (\n <TableCell\n padding=\"checkbox\"\n className={DatagridClasses.expandIconCell}\n >\n <Checkbox\n className=\"select-all\"\n color=\"primary\"\n checked={false}\n />\n </TableCell>\n )}\n {times(nbChildren, key => (\n <TableCell\n variant=\"head\"\n className={DatagridClasses.headerCell}\n key={key}\n >\n <Placeholder />\n </TableCell>\n ))}\n </TableRow>\n </TableHead>\n <TableBody>\n {times(nbFakeLines, key1 => (\n <TableRow\n key={key1}\n style={{ opacity: 1 / (key1 + 1) }}\n >\n {expand && (\n <TableCell\n padding=\"none\"\n className={DatagridClasses.expandIconCell}\n >\n <IconButton\n className={DatagridClasses.expandIcon}\n component=\"div\"\n aria-hidden=\"true\"\n size=\"large\"\n >\n <ExpandMoreIcon />\n </IconButton>\n </TableCell>\n )}\n {hasBulkActions && (\n <TableCell\n padding=\"checkbox\"\n className={DatagridClasses.expandIconCell}\n >\n <Checkbox\n className=\"select-all\"\n color=\"primary\"\n checked={false}\n />\n </TableCell>\n )}\n {times(nbChildren, key2 => (\n <TableCell\n className={DatagridClasses.rowCell}\n key={key2}\n >\n <Placeholder />\n </TableCell>\n ))}\n </TableRow>\n ))}\n </TableBody>\n </Table>\n </div>\n );\n};\n\nexport interface DatagridLoadingProps {\n className?: string;\n expand?:\n | ReactElement\n | FC<{\n id: Identifier;\n record: RaRecord;\n resource: string;\n }>;\n hasBulkActions?: boolean;\n nbChildren: number;\n nbFakeLines?: number;\n size?: 'small' | 'medium';\n}\n\nexport default memo(DatagridLoading);\n","var SetCache = require('./_SetCache'),\n arrayIncludes = require('./_arrayIncludes'),\n arrayIncludesWith = require('./_arrayIncludesWith'),\n arrayMap = require('./_arrayMap'),\n baseUnary = require('./_baseUnary'),\n cacheHas = require('./_cacheHas');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * The base implementation of methods like `_.difference` without support\n * for excluding multiple arrays or iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Array} values The values to exclude.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n */\nfunction baseDifference(array, values, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n isCommon = true,\n length = array.length,\n result = [],\n valuesLength = values.length;\n\n if (!length) {\n return result;\n }\n if (iteratee) {\n values = arrayMap(values, baseUnary(iteratee));\n }\n if (comparator) {\n includes = arrayIncludesWith;\n isCommon = false;\n }\n else if (values.length >= LARGE_ARRAY_SIZE) {\n includes = cacheHas;\n isCommon = false;\n values = new SetCache(values);\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee == null ? value : iteratee(value);\n\n value = (comparator || value !== 0) ? value : 0;\n if (isCommon && computed === computed) {\n var valuesIndex = valuesLength;\n while (valuesIndex--) {\n if (values[valuesIndex] === computed) {\n continue outer;\n }\n }\n result.push(value);\n }\n else if (!includes(values, computed, comparator)) {\n result.push(value);\n }\n }\n return result;\n}\n\nmodule.exports = baseDifference;\n","var baseDifference = require('./_baseDifference'),\n baseFlatten = require('./_baseFlatten'),\n baseRest = require('./_baseRest'),\n isArrayLikeObject = require('./isArrayLikeObject');\n\n/**\n * Creates an array of `array` values not included in the other given arrays\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons. The order and references of result values are\n * determined by the first array.\n *\n * **Note:** Unlike `_.pullAll`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...Array} [values] The values to exclude.\n * @returns {Array} Returns the new array of filtered values.\n * @see _.without, _.xor\n * @example\n *\n * _.difference([2, 1], [2, 3]);\n * // => [1]\n */\nvar difference = baseRest(function(array, values) {\n return isArrayLikeObject(array)\n ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true))\n : [];\n});\n\nmodule.exports = difference;\n","import * as React from 'react';\nimport { memo } from 'react';\nimport IconButton from '@mui/material/IconButton';\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore';\nimport { useTranslate, useExpandAll, useResourceContext } from 'ra-core';\nimport { DatagridClasses } from './useDatagridStyles';\nimport clsx from 'clsx';\n\ninterface ExpandAllButtonProps {\n ids: string[] | number[];\n}\n\nconst ExpandAllButton = ({ ids }: ExpandAllButtonProps) => {\n const translate = useTranslate();\n const resource = useResourceContext();\n const [expanded, toggleExpanded] = useExpandAll(resource || '', ids);\n\n if (!resource) return null;\n return (\n <IconButton\n className={clsx(DatagridClasses.expandIcon, {\n [DatagridClasses.expanded]: expanded,\n })}\n aria-label={translate(\n expanded ? 'ra.action.close' : 'ra.action.expand'\n )}\n aria-expanded={expanded}\n tabIndex={-1}\n aria-hidden=\"true\"\n onClick={toggleExpanded}\n size=\"small\"\n >\n <ExpandMoreIcon fontSize=\"inherit\" />\n </IconButton>\n );\n};\n\nexport default memo(ExpandAllButton);\n","import * as React from 'react';\nimport { Children, isValidElement, useCallback } from 'react';\nimport {\n useListContextWithProps,\n Identifier,\n RaRecord,\n SortPayload,\n useTranslate,\n} from 'ra-core';\nimport { Checkbox, TableCell, TableHead, TableRow } from '@mui/material';\nimport clsx from 'clsx';\n\nimport DatagridHeaderCell from './DatagridHeaderCell';\nimport { DatagridClasses } from './useDatagridStyles';\nimport ExpandAllButton from './ExpandAllButton';\nimport { useDatagridContext } from './useDatagridContext';\n\n/**\n * The default Datagrid Header component.\n *\n * Renders select all checkbox as well as column header buttons used for sorting.\n */\nexport const DatagridHeader = (props: DatagridHeaderProps) => {\n const {\n children,\n className,\n hasExpand = false,\n hasBulkActions = false,\n isRowSelectable,\n } = props;\n const translate = useTranslate();\n const {\n sort,\n data,\n onSelect,\n selectedIds,\n setSort,\n } = useListContextWithProps(props);\n const { expandSingle } = useDatagridContext();\n\n const updateSortCallback = useCallback(\n event => {\n event.stopPropagation();\n if (!setSort) return;\n const newField = event.currentTarget.dataset.field;\n const newOrder =\n sort?.field === newField\n ? sort?.order === 'ASC'\n ? 'DESC'\n : 'ASC'\n : event.currentTarget.dataset.order;\n setSort({ field: newField, order: newOrder });\n },\n [sort?.field, sort?.order, setSort]\n );\n\n const updateSort = setSort ? updateSortCallback : null;\n\n const handleSelectAll = useCallback(\n event => {\n if (!onSelect || !selectedIds || !data) return;\n onSelect(\n event.target.checked\n ? selectedIds.concat(\n data\n .filter(\n record => !selectedIds.includes(record.id)\n )\n .filter(record =>\n isRowSelectable\n ? isRowSelectable(record)\n : true\n )\n .map(record => record.id)\n )\n : []\n );\n },\n [data, onSelect, isRowSelectable, selectedIds]\n );\n\n const selectableIds = Array.isArray(data)\n ? isRowSelectable\n ? data\n .filter(record => isRowSelectable(record))\n .map(record => record.id)\n : data.map(record => record.id)\n : [];\n\n return (\n <TableHead className={clsx(className, DatagridClasses.thead)}>\n <TableRow\n className={clsx(DatagridClasses.row, DatagridClasses.headerRow)}\n >\n {hasExpand && (\n <TableCell\n padding=\"none\"\n className={clsx(\n DatagridClasses.headerCell,\n DatagridClasses.expandHeader\n )}\n >\n {!expandSingle && data ? (\n <ExpandAllButton\n ids={data.map(record => record.id)}\n />\n ) : null}\n </TableCell>\n )}\n {hasBulkActions && selectedIds && (\n <TableCell\n padding=\"checkbox\"\n className={DatagridClasses.headerCell}\n >\n <Checkbox\n inputProps={{\n 'aria-label': translate(\n 'ra.action.select_all',\n { _: 'Select all' }\n ),\n }}\n className=\"select-all\"\n color=\"primary\"\n checked={\n selectedIds.length > 0 &&\n selectableIds.length > 0 &&\n selectableIds.every(id =>\n selectedIds.includes(id)\n )\n }\n onChange={handleSelectAll}\n onClick={e => e.stopPropagation()}\n />\n </TableCell>\n )}\n {Children.map(children, (field, index) =>\n isValidElement(field) ? (\n <DatagridHeaderCell\n className={clsx(\n DatagridClasses.headerCell,\n `column-${(field.props as any).source}`\n )}\n sort={sort}\n field={field}\n isSorting={\n sort?.field ===\n ((field.props as any).sortBy ||\n (field.props as any).source)\n }\n key={(field.props as any).source || index}\n updateSort={updateSort || undefined}\n />\n ) : null\n )}\n </TableRow>\n </TableHead>\n );\n};\n\nexport interface DatagridHeaderProps<RecordType extends RaRecord = any> {\n children?: React.ReactNode;\n className?: string;\n hasExpand?: boolean;\n hasBulkActions?: boolean;\n isRowSelectable?: (record: RecordType) => boolean;\n isRowExpandable?: (record: RecordType) => boolean;\n size?: 'medium' | 'small';\n // can be injected when using the component without context\n sort?: SortPayload;\n data?: RecordType[];\n onSelect?: (ids: Identifier[]) => void;\n onToggleItem?: (id: Identifier) => void;\n selectedIds?: Identifier[];\n setSort?: (sort: SortPayload) => void;\n}\n\nDatagridHeader.displayName = 'DatagridHeader';\n","import React, { ReactElement, ReactNode } from 'react';\nimport DatagridContext, { DatagridContextValue } from './DatagridContext';\n\nconst DatagridContextProvider = ({\n children,\n value,\n}: {\n children: ReactNode;\n value: DatagridContextValue;\n}): ReactElement => (\n <DatagridContext.Provider value={value}>\n {children}\n </DatagridContext.Provider>\n);\n\nexport default DatagridContextProvider;\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"\n}), 'Close');","import * as React from 'react';\nimport { ReactNode, useCallback } from 'react';\nimport { styled } from '@mui/material/styles';\nimport clsx from 'clsx';\nimport Toolbar from '@mui/material/Toolbar';\nimport Typography from '@mui/material/Typography';\nimport { lighten } from '@mui/material/styles';\nimport IconButton from '@mui/material/IconButton';\nimport CloseIcon from '@mui/icons-material/Close';\nimport { useTranslate, sanitizeListRestProps, useListContext } from 'ra-core';\n\nimport TopToolbar from '../layout/TopToolbar';\n\nexport const BulkActionsToolbar = (props: BulkActionsToolbarProps) => {\n const {\n label = 'ra.action.bulk_actions',\n children,\n className,\n ...rest\n } = props;\n const { selectedIds = [], onUnselectItems } = useListContext();\n\n const translate = useTranslate();\n\n const handleUnselectAllClick = useCallback(() => {\n onUnselectItems();\n }, [onUnselectItems]);\n\n return (\n <Root className={className}>\n <Toolbar\n data-test=\"bulk-actions-toolbar\"\n className={clsx(BulkActionsToolbarClasses.toolbar, {\n [BulkActionsToolbarClasses.collapsed]:\n selectedIds.length === 0,\n })}\n {...sanitizeListRestProps(rest)}\n >\n <div className={BulkActionsToolbarClasses.title}>\n <IconButton\n className={BulkActionsToolbarClasses.icon}\n aria-label={translate('ra.action.unselect')}\n title={translate('ra.action.unselect')}\n onClick={handleUnselectAllClick}\n size=\"small\"\n >\n <CloseIcon fontSize=\"small\" />\n </IconButton>\n <Typography color=\"inherit\" variant=\"subtitle1\">\n {translate(label, {\n _: label,\n smart_count: selectedIds.length,\n })}\n </Typography>\n </div>\n <TopToolbar className={BulkActionsToolbarClasses.topToolbar}>\n {children}\n </TopToolbar>\n </Toolbar>\n </Root>\n );\n};\n\nexport interface BulkActionsToolbarProps {\n children?: ReactNode;\n label?: string;\n className?: string;\n}\n\nconst PREFIX = 'RaBulkActionsToolbar';\n\nexport const BulkActionsToolbarClasses = {\n toolbar: `${PREFIX}-toolbar`,\n topToolbar: `${PREFIX}-topToolbar`,\n buttons: `${PREFIX}-buttons`,\n collapsed: `${PREFIX}-collapsed`,\n title: `${PREFIX}-title`,\n icon: `${PREFIX}-icon`,\n};\n\nconst Root = styled('div', {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme }) => ({\n position: 'relative',\n [`& .${BulkActionsToolbarClasses.toolbar}`]: {\n position: 'absolute',\n left: 0,\n right: 0,\n zIndex: 3,\n color:\n theme.palette.mode === 'light'\n ? theme.palette.primary.main\n : theme.palette.text.primary,\n justifyContent: 'space-between',\n backgroundColor:\n theme.palette.mode === 'light'\n ? lighten(theme.palette.primary.light, 0.8)\n : theme.palette.primary.dark,\n minHeight: theme.spacing(6),\n height: theme.spacing(6),\n transform: `translateY(-${theme.spacing(6)})`,\n transition: `${theme.transitions.create(\n 'height'\n )}, ${theme.transitions.create(\n 'min-height'\n )}, ${theme.transitions.create('transform')}`,\n borderTopLeftRadius: theme.shape.borderRadius,\n borderTopRightRadius: theme.shape.borderRadius,\n },\n\n [`& .${BulkActionsToolbarClasses.topToolbar}`]: {\n paddingBottom: theme.spacing(1),\n minHeight: 'auto',\n [theme.breakpoints.down('sm')]: {\n backgroundColor: 'transparent',\n },\n },\n\n [`& .${BulkActionsToolbarClasses.buttons}`]: {},\n\n [`& .${BulkActionsToolbarClasses.collapsed}`]: {\n minHeight: 0,\n height: 0,\n transform: `translateY(0)`,\n overflowY: 'hidden',\n },\n\n [`& .${BulkActionsToolbarClasses.title}`]: {\n display: 'flex',\n flex: '0 0 auto',\n },\n\n [`& .${BulkActionsToolbarClasses.icon}`]: {\n marginLeft: '-0.5em',\n marginRight: '0.5em',\n },\n}));\n","import * as React from 'react';\nimport { memo } from 'react';\nimport CardContent from '@mui/material/CardContent';\nimport Typography from '@mui/material/Typography';\nimport { useResourceContext, useTranslate } from 'ra-core';\n\nexport const ListNoResults = memo(() => {\n const translate = useTranslate();\n const resource = useResourceContext();\n return (\n <CardContent>\n <Typography variant=\"body2\">\n {translate('ra.navigation.no_results', { resource })}\n </Typography>\n </CardContent>\n );\n});\n","import * as React from 'react';\nimport {\n cloneElement,\n createElement,\n isValidElement,\n useCallback,\n useRef,\n useEffect,\n FC,\n ComponentType,\n ReactElement,\n useMemo,\n} from 'react';\nimport {\n sanitizeListRestProps,\n useListContextWithProps,\n Identifier,\n OptionalResourceContextProvider,\n RaRecord,\n SortPayload,\n} from 'ra-core';\nimport { Table, TableProps, SxProps } from '@mui/material';\nimport clsx from 'clsx';\nimport union from 'lodash/union';\nimport difference from 'lodash/difference';\n\nimport { DatagridHeader } from './DatagridHeader';\nimport DatagridLoading from './DatagridLoading';\nimport DatagridBody, { PureDatagridBody } from './DatagridBody';\nimport { RowClickFunction } from './DatagridRow';\nimport DatagridContextProvider from './DatagridContextProvider';\nimport { DatagridClasses, DatagridRoot } from './useDatagridStyles';\nimport { BulkActionsToolbar } from '../BulkActionsToolbar';\nimport { BulkDeleteButton } from '../../button';\nimport { ListNoResults } from '../ListNoResults';\n\nconst defaultBulkActionButtons = <BulkDeleteButton />;\n\n/**\n * The Datagrid component renders a list of records as a table.\n * It is usually used as a child of the <List> and <ReferenceManyField> components.\n *\n * Props:\n * - body\n * - bulkActionButtons\n * - children\n * - empty\n * - expand\n * - header\n * - hover\n * - isRowExpandable\n * - isRowSelectable\n * - optimized\n * - rowClick\n * - rowSx\n * - size\n * - sx\n *\n * @example // Display all posts as a datagrid\n * const postRowSx = (record, index) => ({\n * backgroundColor: record.nb_views >= 500 ? '#efe' : 'white',\n * });\n * export const PostList = () => (\n * <List>\n * <Datagrid rowSx={postRowSx}>\n * <TextField source=\"id\" />\n * <TextField source=\"title\" />\n * <TextField source=\"body\" />\n * <EditButton />\n * </Datagrid>\n * </List>\n * );\n *\n * @example // Display all the comments of the current post as a datagrid\n * <ReferenceManyField reference=\"comments\" target=\"post_id\">\n * <Datagrid>\n * <TextField source=\"id\" />\n * <TextField source=\"body\" />\n * <DateField source=\"created_at\" />\n * <EditButton />\n * </Datagrid>\n * </ReferenceManyField>\n *\n * @example // Usage outside of a <List> or a <ReferenceManyField>.\n *\n * const sort = { field: 'published_at', order: 'DESC' };\n *\n * export const MyCustomList = (props) => {\n * const { data, total, isPending } = useGetList(\n * 'posts',\n * { pagination: { page: 1, perPage: 10 }, sort: sort }\n * );\n *\n * return (\n * <Datagrid\n * data={data}\n * total={total}\n * isPending={isPending}\n * sort={sort}\n * selectedIds={[]}\n * setSort={() => {\n * console.log('set sort');\n * }}\n * onSelect={() => {\n * console.log('on select');\n * }}\n * onToggleItem={() => {\n * console.log('on toggle item');\n * }}\n * >\n * <TextField source=\"id\" />\n * <TextField source=\"title\" />\n * </Datagrid>\n * );\n * }\n */\nexport const Datagrid: FC<DatagridProps> = React.forwardRef((props, ref) => {\n const {\n optimized = false,\n body = optimized ? PureDatagridBody : DatagridBody,\n header = DatagridHeader,\n children,\n className,\n empty = DefaultEmpty,\n expand,\n bulkActionButtons = defaultBulkActionButtons,\n hover,\n isRowSelectable,\n isRowExpandable,\n resource,\n rowClick,\n rowSx,\n rowStyle,\n size = 'small',\n sx,\n expandSingle = false,\n ...rest\n } = props;\n\n const {\n sort,\n data,\n isPending,\n onSelect,\n onToggleItem,\n selectedIds,\n setSort,\n total,\n } = useListContextWithProps(props);\n\n const hasBulkActions = !!bulkActionButtons !== false;\n\n const contextValue = useMemo(() => ({ isRowExpandable, expandSingle }), [\n isRowExpandable,\n expandSingle,\n ]);\n\n const lastSelected = useRef(null);\n\n useEffect(() => {\n if (!selectedIds || selectedIds.length === 0) {\n lastSelected.current = null;\n }\n }, [JSON.stringify(selectedIds)]); // eslint-disable-line react-hooks/exhaustive-deps\n\n // we manage row selection at the datagrid level to allow shift+click to select an array of rows\n const handleToggleItem = useCallback(\n (id, event) => {\n if (!data) return;\n const ids = data.map(record => record.id);\n const lastSelectedIndex = ids.indexOf(lastSelected.current);\n lastSelected.current = event.target.checked ? id : null;\n\n if (event.shiftKey && lastSelectedIndex !== -1) {\n const index = ids.indexOf(id);\n const idsBetweenSelections = ids.slice(\n Math.min(lastSelectedIndex, index),\n Math.max(lastSelectedIndex, index) + 1\n );\n\n const newSelectedIds = event.target.checked\n ? union(selectedIds, idsBetweenSelections)\n : difference(selectedIds, idsBetweenSelections);\n\n onSelect?.(\n isRowSelectable\n ? newSelectedIds.filter((id: Identifier) =>\n isRowSelectable(\n data.find(record => record.id === id)\n )\n )\n : newSelectedIds\n );\n } else {\n onToggleItem?.(id);\n }\n },\n [data, isRowSelectable, onSelect, onToggleItem, selectedIds]\n );\n\n if (isPending === true) {\n return (\n <DatagridLoading\n className={className}\n expand={expand}\n hasBulkActions={hasBulkActions}\n nbChildren={React.Children.count(children)}\n size={size}\n />\n );\n }\n\n /**\n * Once loaded, the data for the list may be empty. Instead of\n * displaying the table header with zero data rows,\n * the Datagrid displays the empty component.\n */\n if (data == null || data.length === 0 || total === 0) {\n if (empty) {\n return empty;\n }\n\n return null;\n }\n\n /**\n * After the initial load, if the data for the list isn't empty,\n * and even if the data is refreshing (e.g. after a filter change),\n * the datagrid displays the current data.\n */\n return (\n <DatagridContextProvider value={contextValue}>\n <OptionalResourceContextProvider value={resource}>\n <DatagridRoot\n sx={sx}\n className={clsx(DatagridClasses.root, className)}\n >\n {bulkActionButtons !== false ? (\n <BulkActionsToolbar>\n {isValidElement(bulkActionButtons)\n ? bulkActionButtons\n : defaultBulkActionButtons}\n </BulkActionsToolbar>\n ) : null}\n <div className={DatagridClasses.tableWrapper}>\n <Table\n ref={ref}\n className={DatagridClasses.table}\n size={size}\n {...sanitizeRestProps(rest)}\n >\n {createOrCloneElement(\n header,\n {\n children,\n sort,\n data,\n hasExpand: !!expand,\n hasBulkActions,\n isRowSelectable,\n onSelect,\n selectedIds,\n setSort,\n },\n children\n )}\n {createOrCloneElement(\n body,\n {\n expand,\n rowClick,\n data,\n hasBulkActions,\n hover,\n onToggleItem: handleToggleItem,\n resource,\n rowSx,\n rowStyle,\n selectedIds,\n isRowSelectable,\n },\n children\n )}\n </Table>\n </div>\n </DatagridRoot>\n </OptionalResourceContextProvider>\n </DatagridContextProvider>\n );\n});\n\nconst createOrCloneElement = (element, props, children) =>\n isValidElement(element)\n ? cloneElement(element, props, children)\n : createElement(element, props, children);\n\nexport interface DatagridProps<RecordType extends RaRecord = any>\n extends Omit<TableProps, 'size' | 'classes' | 'onSelect'> {\n /**\n * The component used to render the body of the table. Defaults to <DatagridBody>.\n *\n * @see https://marmelab.com/react-admin/Datagrid.html#body\n */\n body?: ReactElement | ComponentType;\n\n /**\n * A class name to apply to the root table element\n */\n className?: string;\n\n /**\n * The component used to render the bulk action buttons. Defaults to <BulkDeleteButton>.\n *\n * @see https://marmelab.com/react-admin/Datagrid.html#bulkactionbuttons\n * @example\n * import { List, Datagrid, BulkDeleteButton } from 'react-admin';\n * import { Button } from '@mui/material';\n * import ResetViewsButton from './ResetViewsButton';\n *\n * const PostBulkActionButtons = () => (\n * <>\n * <ResetViewsButton label=\"Reset Views\" />\n * <BulkDeleteButton />\n * </>\n * );\n *\n * export const PostList = () => (\n * <List>\n * <Datagrid bulkActionButtons={<PostBulkActionButtons />}>\n * ...\n * </Datagrid>\n * </List>\n * );\n */\n bulkActionButtons?: ReactElement | false;\n\n /**\n * The component used to render the expand panel for each row.\n *\n * @see https://marmelab.com/react-admin/Datagrid.html#expand\n * @example\n * import { List, Datagrid, useRecordContext } from 'react-admin';\n *\n * const PostPanel = () => {\n * const record = useRecordContext();\n * return (\n * <div dangerouslySetInnerHTML={{ __html: record.body }} />\n * );\n * };\n *\n * const PostList = () => (\n * <List>\n * <Datagrid expand={<PostPanel />}>\n * ...\n * </Datagrid>\n * </List>\n * )\n */\n expand?:\n | ReactElement\n | FC<{\n id: Identifier;\n record: RecordType;\n resource: string;\n }>;\n\n /**\n * The component used to render the header row. Defaults to <DatagridHeader>.\n *\n * @see https://marmelab.com/react-admin/Datagrid.html#header\n */\n header?: ReactElement | ComponentType;\n\n /**\n * Whether to allow only one expanded row at a time. Defaults to false.\n *\n * @see https://marmelab.com/react-admin/Datagrid.html#expandsingle\n * @example\n * import { List, Datagrid } from 'react-admin';\n *\n * export const PostList = () => (\n * <List>\n * <Datagrid expandSingle>\n * ...\n * </Datagrid>\n * </List>\n * );\n */\n expandSingle?: boolean;\n\n /**\n * Set to false to disable the hover effect on rows.\n *\n * @see https://marmelab.com/react-admin/Datagrid.html#hover\n * @example\n * import { List, Datagrid } from 'react-admin';\n *\n * const PostList = () => (\n * <List>\n * <Datagrid hover={false}>\n * ...\n * </Datagrid>\n * </List>\n * );\n */\n hover?: boolean;\n\n /**\n * The component used to render the empty table.\n *\n * @see https://marmelab.com/react-admin/Datagrid.html#empty\n * @example\n * import { List, Datagrid } from 'react-admin';\n *\n * const CustomEmpty = () => <div>No books found</div>;\n *\n * const PostList = () => (\n * <List>\n * <Datagrid empty={<CustomEmpty />}>\n * ...\n * </Datagrid>\n * </List>\n * );\n */\n empty?: ReactElement;\n\n /**\n * A function that returns whether the row for a record is expandable.\n *\n * @see https://marmelab.com/react-admin/Datagrid.html#isrowexpandable\n * @example\n * import { List, Datagrid, useRecordContext } from 'react-admin';\n *\n * const PostPanel = () => {\n * const record = useRecordContext();\n * return (\n * <div dangerouslySetInnerHTML={{ __html: record.body }} />\n * );\n * };\n *\n * const PostList = () => (\n * <List>\n * <Datagrid\n * expand={<PostPanel />}\n * isRowExpandable={row => row.has_detail}\n * >\n * ...\n * </Datagrid>\n * </List>\n * )\n */\n isRowExpandable?: (record: RecordType) => boolean;\n\n /**\n * A function that returns whether the row for a record is selectable.\n *\n * @see https://marmelab.com/react-admin/Datagrid.html#isrowselectable\n * @example\n * import { List, Datagrid } from 'react-admin';\n *\n * export const PostList = () => (\n * <List>\n * <Datagrid isRowSelectable={ record => record.id > 300 }>\n * ...\n * </Datagrid>\n * </List>\n * );\n */\n isRowSelectable?: (record: RecordType) => boolean;\n\n /**\n * Set to true to optimize datagrid rendering if the children never vary.\n *\n * @see https://marmelab.com/react-admin/Datagrid.html#optimized\n */\n optimized?: boolean;\n\n /**\n * The action to trigger when the user clicks on a row.\n *\n * @see https://marmelab.com/react-admin/Datagrid.html#rowclick\n * @example\n * import { List, Datagrid } from 'react-admin';\n *\n * export const PostList = () => (\n * <List>\n * <Datagrid rowClick=\"edit\">\n * ...\n * </Datagrid>\n * </List>\n * );\n */\n rowClick?: string | RowClickFunction | false;\n\n /**\n * A function that returns the sx prop to apply to a row.\n *\n * @see https://marmelab.com/react-admin/Datagrid.html#rowsx\n * @example\n * import { List, Datagrid } from 'react-admin';\n *\n * const postRowSx = (record, index) => ({\n * backgroundColor: record.nb_views >= 500 ? '#efe' : 'white',\n * });\n * export const PostList = () => (\n * <List>\n * <Datagrid rowSx={postRowSx}>\n * ...\n * </Datagrid>\n * </List>\n * );\n */\n rowSx?: (record: RecordType, index: number) => SxProps;\n\n /**\n * @deprecated use rowSx instead\n */\n rowStyle?: (record: RecordType, index: number) => any;\n\n /**\n * Density setting, can be either 'small' or 'medium'. Defaults to 'small'.\n *\n * @see https://marmelab.com/react-admin/Datagrid.html#size\n * @example\n * import { List, Datagrid } from 'react-admin';\n *\n * export const PostList = () => (\n * <List>\n * <Datagrid size=\"medium\">\n * ...\n * </Datagrid>\n * </List>\n * );\n */\n size?: 'medium' | 'small';\n\n // can be injected when using the component without context\n sort?: SortPayload;\n data?: RecordType[];\n isLoading?: boolean;\n isPending?: boolean;\n onSelect?: (ids: Identifier[]) => void;\n onToggleItem?: (id: Identifier) => void;\n setSort?: (sort: SortPayload) => void;\n selectedIds?: Identifier[];\n total?: number;\n}\n\nconst injectedProps = [\n 'isRequired',\n 'setFilter',\n 'setPagination',\n 'limitChoicesToValue',\n 'translateChoice',\n // Datagrid may be used as an alternative to SelectInput\n 'field',\n 'fieldState',\n 'formState',\n];\n\nconst sanitizeRestProps = props =>\n Object.keys(sanitizeListRestProps(props))\n .filter(propName => !injectedProps.includes(propName))\n .reduce((acc, key) => ({ ...acc, [key]: props[key] }), {});\n\nDatagrid.displayName = 'Datagrid';\n\nconst DefaultEmpty = <ListNoResults />;\n","/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\n","var copyObject = require('./_copyObject'),\n keys = require('./keys');\n\n/**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n","var copyObject = require('./_copyObject'),\n keysIn = require('./keysIn');\n\n/**\n * The base implementation of `_.assignIn` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssignIn(object, source) {\n return object && copyObject(source, keysIn(source), object);\n}\n\nmodule.exports = baseAssignIn;\n","var copyObject = require('./_copyObject'),\n getSymbols = require('./_getSymbols');\n\n/**\n * Copies own symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbols(source, object) {\n return copyObject(source, getSymbols(source), object);\n}\n\nmodule.exports = copySymbols;\n","var copyObject = require('./_copyObject'),\n getSymbolsIn = require('./_getSymbolsIn');\n\n/**\n * Copies own and inherited symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbolsIn(source, object) {\n return copyObject(source, getSymbolsIn(source), object);\n}\n\nmodule.exports = copySymbolsIn;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\nfunction cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n}\n\nmodule.exports = cloneDataView;\n","/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\nfunction cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n}\n\nmodule.exports = cloneRegExp;\n","var Symbol = require('./_Symbol');\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\nfunction cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n}\n\nmodule.exports = cloneSymbol;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer'),\n cloneDataView = require('./_cloneDataView'),\n cloneRegExp = require('./_cloneRegExp'),\n cloneSymbol = require('./_cloneSymbol'),\n cloneTypedArray = require('./_cloneTypedArray');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return cloneArrayBuffer(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case dataViewTag:\n return cloneDataView(object, isDeep);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n return cloneTypedArray(object, isDeep);\n\n case mapTag:\n return new Ctor;\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n return cloneRegExp(object);\n\n case setTag:\n return new Ctor;\n\n case symbolTag:\n return cloneSymbol(object);\n }\n}\n\nmodule.exports = initCloneByTag;\n","var getTag = require('./_getTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]';\n\n/**\n * The base implementation of `_.isMap` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n */\nfunction baseIsMap(value) {\n return isObjectLike(value) && getTag(value) == mapTag;\n}\n\nmodule.exports = baseIsMap;\n","var baseIsMap = require('./_baseIsMap'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsMap = nodeUtil && nodeUtil.isMap;\n\n/**\n * Checks if `value` is classified as a `Map` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n * @example\n *\n * _.isMap(new Map);\n * // => true\n *\n * _.isMap(new WeakMap);\n * // => false\n */\nvar isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;\n\nmodule.exports = isMap;\n","var getTag = require('./_getTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar setTag = '[object Set]';\n\n/**\n * The base implementation of `_.isSet` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n */\nfunction baseIsSet(value) {\n return isObjectLike(value) && getTag(value) == setTag;\n}\n\nmodule.exports = baseIsSet;\n","var baseIsSet = require('./_baseIsSet'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsSet = nodeUtil && nodeUtil.isSet;\n\n/**\n * Checks if `value` is classified as a `Set` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n * @example\n *\n * _.isSet(new Set);\n * // => true\n *\n * _.isSet(new WeakSet);\n * // => false\n */\nvar isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;\n\nmodule.exports = isSet;\n","var Stack = require('./_Stack'),\n arrayEach = require('./_arrayEach'),\n assignValue = require('./_assignValue'),\n baseAssign = require('./_baseAssign'),\n baseAssignIn = require('./_baseAssignIn'),\n cloneBuffer = require('./_cloneBuffer'),\n copyArray = require('./_copyArray'),\n copySymbols = require('./_copySymbols'),\n copySymbolsIn = require('./_copySymbolsIn'),\n getAllKeys = require('./_getAllKeys'),\n getAllKeysIn = require('./_getAllKeysIn'),\n getTag = require('./_getTag'),\n initCloneArray = require('./_initCloneArray'),\n initCloneByTag = require('./_initCloneByTag'),\n initCloneObject = require('./_initCloneObject'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isMap = require('./isMap'),\n isObject = require('./isObject'),\n isSet = require('./isSet'),\n keys = require('./keys'),\n keysIn = require('./keysIn');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_FLAT_FLAG = 2,\n CLONE_SYMBOLS_FLAG = 4;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\ncloneableTags[boolTag] = cloneableTags[dateTag] =\ncloneableTags[float32Tag] = cloneableTags[float64Tag] =\ncloneableTags[int8Tag] = cloneableTags[int16Tag] =\ncloneableTags[int32Tag] = cloneableTags[mapTag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[setTag] =\ncloneableTags[stringTag] = cloneableTags[symbolTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Deep clone\n * 2 - Flatten inherited properties\n * 4 - Clone symbols\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, bitmask, customizer, key, object, stack) {\n var result,\n isDeep = bitmask & CLONE_DEEP_FLAG,\n isFlat = bitmask & CLONE_FLAT_FLAG,\n isFull = bitmask & CLONE_SYMBOLS_FLAG;\n\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return copyArray(value, result);\n }\n } else {\n var tag = getTag(value),\n isFunc = tag == funcTag || tag == genTag;\n\n if (isBuffer(value)) {\n return cloneBuffer(value, isDeep);\n }\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = (isFlat || isFunc) ? {} : initCloneObject(value);\n if (!isDeep) {\n return isFlat\n ? copySymbolsIn(value, baseAssignIn(result, value))\n : copySymbols(value, baseAssign(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = initCloneByTag(value, tag, isDeep);\n }\n }\n // Check for circular references and return its corresponding clone.\n stack || (stack = new Stack);\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n\n if (isSet(value)) {\n value.forEach(function(subValue) {\n result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));\n });\n } else if (isMap(value)) {\n value.forEach(function(subValue, key) {\n result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n }\n\n var keysFunc = isFull\n ? (isFlat ? getAllKeysIn : getAllKeys)\n : (isFlat ? keysIn : keys);\n\n var props = isArr ? undefined : keysFunc(value);\n arrayEach(props || value, function(subValue, key) {\n if (props) {\n key = subValue;\n subValue = value[key];\n }\n // Recursively populate clone (susceptible to call stack limits).\n assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n return result;\n}\n\nmodule.exports = baseClone;\n","var baseClone = require('./_baseClone');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * This method is like `_.clone` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @returns {*} Returns the deep cloned value.\n * @see _.clone\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var deep = _.cloneDeep(objects);\n * console.log(deep[0] === objects[0]);\n * // => false\n */\nfunction cloneDeep(value) {\n return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);\n}\n\nmodule.exports = cloneDeep;\n","import * as React from 'react';\nimport { styled } from '@mui/material/styles';\nimport { IconButton } from '@mui/material';\nimport ActionHide from '@mui/icons-material/RemoveCircleOutline';\nimport clsx from 'clsx';\nimport { useResourceContext, useTranslate } from 'ra-core';\n\nexport const FilterFormInput = props => {\n const { filterElement, handleHide, className } = props;\n const resource = useResourceContext(props);\n const translate = useTranslate();\n\n return (\n <Root\n data-source={filterElement.props.source}\n className={clsx('filter-field', className)}\n >\n {React.cloneElement(filterElement, {\n resource,\n record: emptyRecord,\n size: filterElement.props.size ?? 'small',\n helperText: false,\n // ignore defaultValue in Field because it was already set in Form (via mergedInitialValuesWithDefaultValues)\n defaultValue: undefined,\n })}\n {!filterElement.props.alwaysOn && (\n <IconButton\n className={clsx(\n 'hide-filter',\n FilterFormInputClasses.hideButton\n )}\n onClick={handleHide}\n data-key={filterElement.props.source}\n title={translate('ra.action.remove_filter')}\n size=\"small\"\n >\n <ActionHide />\n </IconButton>\n )}\n\n <div className={FilterFormInputClasses.spacer}> </div>\n </Root>\n );\n};\n\nconst PREFIX = 'RaFilterFormInput';\n\nexport const FilterFormInputClasses = {\n spacer: `${PREFIX}-spacer`,\n hideButton: `${PREFIX}-hideButton`,\n};\n\nconst Root = styled('div', {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme }) => ({\n display: 'flex',\n alignItems: 'flex-end',\n pointerEvents: 'auto',\n [theme.breakpoints.down('sm')]: {\n width: '100%',\n },\n\n [`& .${FilterFormInputClasses.spacer}`]: { width: theme.spacing(2) },\n [`& .${FilterFormInputClasses.hideButton}`]: {\n marginBottom: theme.spacing(1),\n },\n}));\n\nconst emptyRecord = {};\n","import * as React from 'react';\n\nexport type FilterContextType = React.ReactNode[] | undefined;\n\n/**\n * Make filters accessible to sub components\n */\nexport const FilterContext = React.createContext<FilterContextType>(undefined);\n","import * as React from 'react';\nimport {\n HtmlHTMLAttributes,\n ReactNode,\n useEffect,\n useCallback,\n useContext,\n} from 'react';\nimport { styled } from '@mui/material/styles';\nimport {\n FormGroupsProvider,\n SourceContextProvider,\n SourceContextValue,\n useListContext,\n useResourceContext,\n} from 'ra-core';\nimport {\n FieldValues,\n FormProvider,\n useForm,\n useFormContext,\n} from 'react-hook-form';\nimport set from 'lodash/set';\nimport unset from 'lodash/unset';\nimport get from 'lodash/get';\nimport cloneDeep from 'lodash/cloneDeep';\nimport isEqual from 'lodash/isEqual';\n\nimport { FilterFormInput } from './FilterFormInput';\nimport { FilterContext } from '../FilterContext';\n\nexport const FilterForm = (props: FilterFormProps) => {\n const { defaultValues, filters: filtersProps, ...rest } = props;\n\n const { setFilters, displayedFilters, filterValues } = useListContext();\n const filters = useContext(FilterContext) || filtersProps;\n\n const mergedInitialValuesWithDefaultValues = mergeInitialValuesWithDefaultValues(\n defaultValues || filterValues,\n filters\n );\n\n const form = useForm({\n defaultValues: mergedInitialValuesWithDefaultValues,\n });\n const { getValues, reset, trigger, watch } = form;\n\n // Reapply filterValues when the URL changes or a user removes a filter\n useEffect(() => {\n const newValues = getFilterFormValues(getValues(), filterValues);\n const previousValues = getValues();\n if (!isEqual(newValues, previousValues)) {\n reset(newValues);\n }\n // The reference to the filterValues object is not updated when it changes,\n // so we must stringify it to compare it by value and also compare the reference.\n // This makes it work for both input values and filters applied directly through\n // the ListContext.setFilter (e.g. QuickFilter in the simple example)\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [JSON.stringify(filterValues), filterValues, getValues, reset]);\n\n useEffect(() => {\n const subscription = watch(async (values, { name }) => {\n // We must check whether the form is valid as watch will not check that for us.\n // We can't rely on form state as it might not be synchronized yet\n const isFormValid = await trigger();\n\n // Check that the name is present to avoid setting filters when watch was\n // triggered by a change on the ListContext values.\n if (name && isFormValid) {\n if (get(values, name) === '') {\n const newValues = cloneDeep(values);\n unset(newValues, name);\n setFilters(newValues, displayedFilters, true);\n } else {\n setFilters(values, displayedFilters, true);\n }\n }\n });\n return () => subscription.unsubscribe();\n }, [displayedFilters, setFilters, trigger, watch]);\n\n return (\n <FormProvider {...form}>\n <FormGroupsProvider>\n <FilterFormBase\n onSubmit={handleFormSubmit}\n filters={filters}\n {...rest}\n />\n </FormGroupsProvider>\n </FormProvider>\n );\n};\n\nexport type FilterFormProps = FilterFormBaseProps & {\n defaultValues?: FieldValues;\n};\n\nexport const FilterFormBase = (props: FilterFormBaseProps) => {\n const { className, filters, ...rest } = props;\n const resource = useResourceContext(props);\n const form = useFormContext();\n const { displayedFilters = {}, hideFilter } = useListContext();\n\n useEffect(() => {\n if (!filters) return;\n filters.forEach((filter: JSX.Element) => {\n if (filter.props.alwaysOn && filter.props.defaultValue) {\n throw new Error(\n 'Cannot use alwaysOn and defaultValue on a filter input. Please set the filterDefaultValues props on the <List> element instead.'\n );\n }\n });\n }, [filters]);\n\n const getShownFilters = () => {\n if (!filters) return [];\n const values = form.getValues();\n return filters.filter((filterElement: JSX.Element) => {\n const filterValue = get(values, filterElement.props.source);\n return (\n filterElement.props.alwaysOn ||\n displayedFilters[filterElement.props.source] ||\n (filterValue !== '' && typeof filterValue !== 'undefined')\n );\n });\n };\n\n const handleHide = useCallback(\n event => hideFilter(event.currentTarget.dataset.key),\n [hideFilter]\n );\n\n const sourceContext = React.useMemo<SourceContextValue>(\n () => ({\n getSource: (source: string) => source,\n getLabel: (source: string) =>\n `resources.${resource}.fields.${source}`,\n }),\n [resource]\n );\n\n return (\n <SourceContextProvider value={sourceContext}>\n <StyledForm\n className={className}\n {...sanitizeRestProps(rest)}\n onSubmit={handleSubmit}\n >\n {getShownFilters().map((filterElement: JSX.Element) => (\n <FilterFormInput\n key={filterElement.key || filterElement.props.source}\n filterElement={filterElement}\n handleHide={handleHide}\n resource={resource}\n className={FilterFormClasses.filterFormInput}\n />\n ))}\n <div className={FilterFormClasses.clearFix} />\n </StyledForm>\n </SourceContextProvider>\n );\n};\n\nconst handleSubmit = event => {\n event.preventDefault();\n return false;\n};\n\nconst sanitizeRestProps = ({\n hasCreate,\n resource,\n ...props\n}: Partial<FilterFormBaseProps> & { hasCreate?: boolean }) => props;\n\nexport type FilterFormBaseProps = Omit<\n HtmlHTMLAttributes<HTMLFormElement>,\n 'children'\n> & {\n className?: string;\n resource?: string;\n filters?: ReactNode[];\n};\n\nexport const mergeInitialValuesWithDefaultValues = (\n initialValues,\n filters\n) => ({\n ...filters\n .filter(\n (filterElement: JSX.Element) =>\n filterElement.props.alwaysOn && filterElement.props.defaultValue\n )\n .reduce(\n (acc, filterElement: JSX.Element) =>\n set(\n { ...acc },\n filterElement.props.source,\n filterElement.props.defaultValue\n ),\n {} as any\n ),\n ...initialValues,\n});\n\nconst handleFormSubmit = (event: React.FormEvent) => {\n event.preventDefault();\n event.stopPropagation();\n return false;\n};\n\nconst PREFIX = 'RaFilterForm';\n\nexport const FilterFormClasses = {\n clearFix: `${PREFIX}-clearFix`,\n filterFormInput: `${PREFIX}-filterFormInput`,\n};\n\nconst StyledForm = styled('form', {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme }) => ({\n display: 'flex',\n flex: '0 1 auto',\n [theme.breakpoints.down('sm')]: {\n width: '100%',\n },\n [theme.breakpoints.up('sm')]: {\n minHeight: theme.spacing(8),\n },\n [theme.breakpoints.up('md')]: {\n flex: '0 1 100%',\n },\n flexWrap: 'wrap',\n alignItems: 'flex-end',\n pointerEvents: 'none',\n padding: `0 0 ${theme.spacing(0.5)} 0`,\n '& .MuiFormHelperText-root': { display: 'none' },\n [`& .${FilterFormClasses.clearFix}`]: { clear: 'right' },\n [`& .${FilterFormClasses.filterFormInput} .MuiFormControl-root`]: {\n marginTop: `${theme.spacing(1)}`,\n },\n}));\n\n/**\n * Because we are using controlled inputs with react-hook-form, we must provide a default value\n * for each input when resetting the form. (see https://react-hook-form.com/docs/useform/reset).\n * To ensure we don't provide undefined which will result to the current input value being reapplied\n * and due to the dynamic nature of the filter form, we rebuild the filter form values from its current\n * values and make sure to pass at least an empty string for each input.\n */\nexport const getFilterFormValues = (\n formValues: Record<string, any>,\n filterValues: Record<string, any>\n) => {\n return Object.keys(formValues).reduce((acc, key) => {\n acc[key] = getInputValue(formValues, key, filterValues);\n return acc;\n }, cloneDeep(filterValues) ?? {});\n};\n\nconst getInputValue = (\n formValues: Record<string, any>,\n key: string,\n filterValues: Record<string, any>\n) => {\n if (formValues[key] === undefined || formValues[key] === null) {\n return '';\n }\n if (Array.isArray(formValues[key])) {\n return get(filterValues, key, '');\n }\n if (formValues[key] instanceof Date) {\n return get(filterValues, key, '');\n }\n if (typeof formValues[key] === 'object') {\n const inputValues = Object.keys(formValues[key]).reduce(\n (acc, innerKey) => {\n const nestedInputValue = getInputValue(\n formValues[key],\n innerKey,\n (filterValues || {})[key] ?? {}\n );\n acc[innerKey] = nestedInputValue;\n return acc;\n },\n {}\n );\n if (!Object.keys(inputValues).length) return '';\n return inputValues;\n }\n return get(filterValues, key, '');\n};\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M10 18h4v-2h-4zM3 6v2h18V6zm3 7h12v-2H6z\"\n}), 'FilterList');","import * as React from 'react';\nimport { forwardRef, useCallback } from 'react';\nimport MenuItem from '@mui/material/MenuItem';\nimport { FieldTitle, useResourceContext } from 'ra-core';\n\nexport const FilterButtonMenuItem = forwardRef<any, FilterButtonMenuItemProps>(\n (props, ref) => {\n const { filter, onShow, autoFocus } = props;\n const resource = useResourceContext(props);\n const handleShow = useCallback(() => {\n onShow({\n source: filter.props.source,\n defaultValue: filter.props.defaultValue,\n });\n }, [filter.props.defaultValue, filter.props.source, onShow]);\n\n return (\n <MenuItem\n className=\"new-filter-item\"\n data-key={filter.props.source}\n data-default-value={filter.props.defaultValue}\n key={filter.props.source}\n onClick={handleShow}\n autoFocus={autoFocus}\n ref={ref}\n disabled={filter.props.disabled}\n >\n <FieldTitle\n label={filter.props.label}\n source={filter.props.source}\n resource={resource}\n />\n </MenuItem>\n );\n }\n);\n\nexport interface FilterButtonMenuItemProps {\n filter: JSX.Element;\n onShow: (params: { source: string; defaultValue: any }) => void;\n resource?: string;\n autoFocus?: boolean;\n}\n","import { SortPayload, useStore } from 'ra-core';\n\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nexport const useSavedQueries = (resource: string) => {\n return useStore<SavedQuery[]>(`${resource}.savedQueries`, []);\n};\n\nexport interface SavedQuery {\n label: string;\n value: {\n filter?: any;\n displayedFilters?: any[];\n sort?: SortPayload;\n perPage?: number;\n };\n}\n\nexport const extractValidSavedQueries = (savedQueries: SavedQuery[]) => {\n if (Array.isArray(savedQueries)) {\n return savedQueries.filter(query => isValidSavedQuery(query));\n }\n\n return [];\n};\n\nexport const areValidSavedQueries = (savedQueries: SavedQuery[]) => {\n if (\n Array.isArray(savedQueries) &&\n savedQueries.every(query => isValidSavedQuery(query))\n ) {\n return true;\n }\n};\n\nexport const isValidSavedQuery = (savedQuery: SavedQuery) => {\n if (\n savedQuery.label &&\n typeof savedQuery.label === 'string' &&\n savedQuery.value &&\n typeof Array.isArray(savedQuery.value.displayedFilters) &&\n typeof savedQuery.value.perPage === 'number' &&\n typeof savedQuery.value.sort?.field === 'string' &&\n typeof savedQuery.value.sort?.order === 'string' &&\n typeof savedQuery.value.filter === 'object'\n ) {\n return true;\n }\n\n return false;\n};\n","import * as React from 'react';\nimport { ReactElement, ChangeEvent, FormEvent, useState } from 'react';\nimport { useListContext, useTranslate } from 'ra-core';\nimport {\n Button,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n TextField,\n} from '@mui/material';\n\nimport { extractValidSavedQueries, useSavedQueries } from './useSavedQueries';\n\nexport const AddSavedQueryDialog = ({\n open,\n onClose,\n}: AddSavedQueryDialogProps): ReactElement => {\n const translate = useTranslate();\n const {\n resource,\n filterValues,\n displayedFilters,\n sort,\n perPage,\n } = useListContext();\n\n const [savedQueries, setSavedQueries] = useSavedQueries(resource);\n\n // input state\n const [queryName, setQueryName] = useState('');\n const handleQueryNameChange = (\n event: ChangeEvent<HTMLInputElement>\n ): void => {\n setQueryName(event.target.value);\n };\n\n const handleFormSubmit = (e: FormEvent<HTMLFormElement>): void => {\n e.preventDefault();\n addQuery();\n };\n\n const addQuery = (): void => {\n const newSavedQuery = {\n label: queryName,\n value: {\n filter: filterValues,\n sort,\n perPage,\n displayedFilters,\n },\n };\n const newSavedQueries = extractValidSavedQueries(savedQueries);\n setSavedQueries(newSavedQueries.concat(newSavedQuery));\n setQueryName('');\n onClose();\n };\n\n return (\n <Dialog\n open={open}\n onClose={onClose}\n aria-labelledby=\"form-dialog-title\"\n >\n <DialogTitle id=\"form-dialog-title\">\n {translate('ra.saved_queries.new_dialog_title', {\n _: 'Save current query as',\n })}\n </DialogTitle>\n <DialogContent>\n <form onSubmit={handleFormSubmit}>\n <TextField\n // eslint-disable-next-line jsx-a11y/no-autofocus\n autoFocus\n margin=\"dense\"\n id=\"name\"\n label={translate('ra.saved_queries.query_name', {\n _: 'Query name',\n })}\n fullWidth\n value={queryName}\n onChange={handleQueryNameChange}\n />\n </form>\n </DialogContent>\n <DialogActions>\n <Button onClick={onClose}>\n {translate('ra.action.cancel')}\n </Button>\n <Button onClick={addQuery} color=\"primary\">\n {translate('ra.action.save')}\n </Button>\n </DialogActions>\n </Dialog>\n );\n};\n\nexport interface AddSavedQueryDialogProps {\n open: boolean;\n onClose: () => void;\n}\n","import * as React from 'react';\nimport { ReactElement } from 'react';\nimport isEqual from 'lodash/isEqual';\nimport { useListContext, useTranslate } from 'ra-core';\nimport {\n Button,\n Dialog,\n DialogActions,\n DialogContent,\n DialogContentText,\n DialogTitle,\n} from '@mui/material';\n\nimport { useSavedQueries, extractValidSavedQueries } from './useSavedQueries';\n\nexport interface RemoveSavedQueryDialogProps {\n open: boolean;\n onClose: () => void;\n}\n\nexport const RemoveSavedQueryDialog = ({\n open,\n onClose,\n}: RemoveSavedQueryDialogProps): ReactElement => {\n const translate = useTranslate();\n const {\n resource,\n filterValues,\n sort,\n perPage,\n displayedFilters,\n } = useListContext();\n\n const [savedQueries, setSavedQueries] = useSavedQueries(resource);\n\n const removeQuery = (): void => {\n let savedQueryToRemove = {\n filter: filterValues,\n sort,\n perPage,\n displayedFilters,\n };\n\n const newSavedQueries = extractValidSavedQueries(savedQueries);\n const index = newSavedQueries.findIndex(savedFilter =>\n isEqual(savedFilter.value, savedQueryToRemove)\n );\n setSavedQueries([\n ...newSavedQueries.slice(0, index),\n ...newSavedQueries.slice(index + 1),\n ]);\n onClose();\n };\n\n return (\n <Dialog\n open={open}\n onClose={onClose}\n aria-labelledby=\"alert-dialog-title\"\n aria-describedby=\"alert-dialog-description\"\n >\n <DialogTitle id=\"alert-dialog-title\">\n {translate('ra.saved_queries.remove_dialog_title', {\n _: 'Remove saved query?',\n })}\n </DialogTitle>\n <DialogContent>\n <DialogContentText>\n {translate('ra.saved_queries.remove_message', {\n _:\n 'Are you sure you want to remove that item from your list of saved queries?',\n })}\n </DialogContentText>\n </DialogContent>\n <DialogActions>\n <Button onClick={onClose}>\n {translate('ra.action.cancel')}\n </Button>\n <Button\n onClick={removeQuery}\n color=\"primary\"\n // eslint-disable-next-line jsx-a11y/no-autofocus\n autoFocus\n >\n {translate('ra.action.confirm')}\n </Button>\n </DialogActions>\n </Dialog>\n );\n};\n","import * as React from 'react';\nimport {\n useState,\n useCallback,\n useRef,\n ReactNode,\n HtmlHTMLAttributes,\n useContext,\n} from 'react';\nimport {\n Menu,\n MenuItem,\n styled,\n ButtonProps as MuiButtonProps,\n} from '@mui/material';\nimport ContentFilter from '@mui/icons-material/FilterList';\nimport lodashGet from 'lodash/get';\nimport isEqual from 'lodash/isEqual';\nimport { useListContext, useResourceContext, useTranslate } from 'ra-core';\nimport queryString from 'query-string';\nimport { useNavigate } from 'react-router';\n\nimport { FilterButtonMenuItem } from './FilterButtonMenuItem';\nimport { Button } from '../../button';\nimport { FilterContext } from '../FilterContext';\nimport { extractValidSavedQueries, useSavedQueries } from './useSavedQueries';\nimport { AddSavedQueryDialog } from './AddSavedQueryDialog';\nimport { RemoveSavedQueryDialog } from './RemoveSavedQueryDialog';\n\nexport const FilterButton = (props: FilterButtonProps) => {\n const {\n filters: filtersProp,\n className,\n disableSaveQuery,\n size,\n variant,\n ...rest\n } = props;\n const filters = useContext(FilterContext) || filtersProp;\n const resource = useResourceContext(props);\n const translate = useTranslate();\n if (!resource && !disableSaveQuery) {\n throw new Error(\n '<FilterButton> must be called inside a ResourceContextProvider, or must provide a resource prop'\n );\n }\n const [savedQueries] = useSavedQueries(resource || '');\n const navigate = useNavigate();\n const {\n displayedFilters = {},\n filterValues,\n perPage,\n setFilters,\n showFilter,\n sort,\n } = useListContext();\n const hasFilterValues = !isEqual(filterValues, {});\n const validSavedQueries = extractValidSavedQueries(savedQueries);\n const hasSavedCurrentQuery = validSavedQueries.some(savedQuery =>\n isEqual(savedQuery.value, {\n filter: filterValues,\n sort,\n perPage,\n displayedFilters,\n })\n );\n const [open, setOpen] = useState(false);\n const anchorEl = useRef();\n\n if (filters === undefined) {\n throw new Error(\n 'The <FilterButton> component requires the <List filters> prop to be set'\n );\n }\n\n const hiddenFilters = filters.filter(\n (filterElement: JSX.Element) =>\n !filterElement.props.alwaysOn &&\n !displayedFilters[filterElement.props.source] &&\n typeof lodashGet(filterValues, filterElement.props.source) ===\n 'undefined'\n );\n\n const handleClickButton = useCallback(\n event => {\n // This prevents ghost click.\n event.preventDefault();\n setOpen(true);\n anchorEl.current = event.currentTarget;\n },\n [anchorEl, setOpen]\n );\n\n const handleRequestClose = useCallback(() => {\n setOpen(false);\n }, [setOpen]);\n\n const handleShow = useCallback(\n ({ source, defaultValue }) => {\n showFilter(source, defaultValue === '' ? undefined : defaultValue);\n // We have to fallback to imperative code because the new FilterFormInput\n // has no way of knowing it has just been displayed (and thus that it should focus its input)\n setTimeout(() => {\n const inputElement = document.querySelector(\n `input[name='${source}']`\n ) as HTMLInputElement;\n if (inputElement) {\n inputElement.focus();\n }\n }, 50);\n setOpen(false);\n },\n [showFilter, setOpen]\n );\n\n // add query dialog state\n const [addSavedQueryDialogOpen, setAddSavedQueryDialogOpen] = useState(\n false\n );\n const hideAddSavedQueryDialog = (): void => {\n setAddSavedQueryDialogOpen(false);\n };\n const showAddSavedQueryDialog = (): void => {\n setOpen(false);\n setAddSavedQueryDialogOpen(true);\n };\n\n // remove query dialog state\n const [\n removeSavedQueryDialogOpen,\n setRemoveSavedQueryDialogOpen,\n ] = useState(false);\n const hideRemoveSavedQueryDialog = (): void => {\n setRemoveSavedQueryDialogOpen(false);\n };\n const showRemoveSavedQueryDialog = (): void => {\n setOpen(false);\n setRemoveSavedQueryDialogOpen(true);\n };\n\n if (\n hiddenFilters.length === 0 &&\n validSavedQueries.length === 0 &&\n !hasFilterValues\n ) {\n return null;\n }\n return (\n <Root className={className} {...sanitizeRestProps(rest)}>\n <Button\n className=\"add-filter\"\n label=\"ra.action.add_filter\"\n aria-haspopup=\"true\"\n onClick={handleClickButton}\n variant={variant}\n size={size}\n >\n <ContentFilter />\n </Button>\n <Menu\n open={open}\n anchorEl={anchorEl.current}\n onClose={handleRequestClose}\n >\n {hiddenFilters.map((filterElement: JSX.Element, index) => (\n <FilterButtonMenuItem\n key={filterElement.props.source}\n filter={filterElement}\n resource={resource}\n onShow={handleShow}\n autoFocus={index === 0}\n />\n ))}\n {validSavedQueries.map((savedQuery, index) =>\n isEqual(savedQuery.value, {\n filter: filterValues,\n sort,\n perPage,\n displayedFilters,\n }) ? (\n <MenuItem\n onClick={showRemoveSavedQueryDialog}\n key={index}\n >\n {translate(\n 'ra.saved_queries.remove_label_with_name',\n {\n _: 'Remove query \"%{name}\"',\n name: savedQuery.label,\n }\n )}\n </MenuItem>\n ) : (\n <MenuItem\n onClick={(): void => {\n navigate({\n search: queryString.stringify({\n filter: JSON.stringify(\n savedQuery.value.filter\n ),\n sort: savedQuery.value.sort?.field,\n order: savedQuery.value.sort?.order,\n page: 1,\n perPage: savedQuery.value.perPage,\n displayedFilters: JSON.stringify(\n savedQuery.value.displayedFilters\n ),\n }),\n });\n setOpen(false);\n }}\n key={index}\n >\n {savedQuery.label}\n </MenuItem>\n )\n )}\n {hasFilterValues && !hasSavedCurrentQuery && !disableSaveQuery && (\n <MenuItem onClick={showAddSavedQueryDialog}>\n {translate('ra.saved_queries.new_label', {\n _: 'Save current query...',\n })}\n </MenuItem>\n )}\n {hasFilterValues && (\n <MenuItem\n onClick={() => {\n setFilters({}, {});\n setOpen(false);\n }}\n >\n {translate('ra.action.remove_all_filters', {\n _: 'Remove all filters',\n })}\n </MenuItem>\n )}\n </Menu>\n {!disableSaveQuery && (\n <>\n <AddSavedQueryDialog\n open={addSavedQueryDialogOpen}\n onClose={hideAddSavedQueryDialog}\n />\n <RemoveSavedQueryDialog\n open={removeSavedQueryDialogOpen}\n onClose={hideRemoveSavedQueryDialog}\n />\n </>\n )}\n </Root>\n );\n};\n\n/* eslint-disable @typescript-eslint/no-unused-vars */\nconst sanitizeRestProps = ({\n displayedFilters = null,\n filterValues = null,\n showFilter = null,\n ...rest\n}) => rest;\n\nexport interface FilterButtonProps\n extends HtmlHTMLAttributes<HTMLDivElement>,\n Pick<MuiButtonProps, 'variant' | 'size'> {\n className?: string;\n disableSaveQuery?: boolean;\n filters?: ReactNode[];\n resource?: string;\n}\n\nconst PREFIX = 'RaFilterButton';\n\nconst Root = styled('div', {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})({\n display: 'inline-block',\n});\n","import * as React from 'react';\nimport { ReactNode } from 'react';\nimport { Box, BoxProps, List, Typography } from '@mui/material';\nimport { useTranslate } from 'ra-core';\n\n/**\n * Header and container for a list of filter list items\n *\n * Expects 2 props, and a list of <FilterListItem> as children:\n *\n * - label: The label for this filter section. Will be translated.\n * - icon: An icon react element\n *\n * @see FilterListItem\n *\n * @example\n *\n * import * as React from 'react';\n * import { Card, CardContent } from '@mui/material';\n * import MailIcon from '@mui/icons-material/MailOutline';\n * import { FilterList, FilterListItem } from 'react-admin';\n *\n * const FilterSidebar = () => (\n * <Card>\n * <CardContent>\n * <FilterList\n * label=\"Subscribed to newsletter\"\n * icon={<MailIcon />}\n * >\n * <FilterListItem\n * label=\"Yes\"\n * value={{ has_newsletter: true }}\n * />\n * <FilterListItem\n * label=\"No\"\n * value={{ has_newsletter: false }}\n * />\n * </FilterList>\n * </CardContent>\n * </Card>\n * );\n */\nexport const FilterList = (props: FilterListProps) => {\n const { label, icon, children, ...rest } = props;\n const translate = useTranslate();\n return (\n <Box {...rest}>\n <Box mt={2} display=\"flex\" alignItems=\"center\">\n <Box mr={1}>{icon}</Box>\n <Typography variant=\"overline\">\n {translate(label, { _: label })}\n </Typography>\n </Box>\n <List dense disablePadding>\n {children}\n </List>\n </Box>\n );\n};\n\nexport interface FilterListProps extends BoxProps {\n label: string;\n icon: ReactNode;\n}\n","var baseClone = require('./_baseClone'),\n baseMatches = require('./_baseMatches');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1;\n\n/**\n * Creates a function that performs a partial deep comparison between a given\n * object and `source`, returning `true` if the given object has equivalent\n * property values, else `false`.\n *\n * **Note:** The created function is equivalent to `_.isMatch` with `source`\n * partially applied.\n *\n * Partial comparisons will match empty array and empty object `source`\n * values against any array or object value, respectively. See `_.isEqual`\n * for a list of supported value comparisons.\n *\n * **Note:** Multiple values can be checked by combining several matchers\n * using `_.overSome`\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Util\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n * @example\n *\n * var objects = [\n * { 'a': 1, 'b': 2, 'c': 3 },\n * { 'a': 4, 'b': 5, 'c': 6 }\n * ];\n *\n * _.filter(objects, _.matches({ 'a': 4, 'c': 6 }));\n * // => [{ 'a': 4, 'b': 5, 'c': 6 }]\n *\n * // Checking for several possible values\n * _.filter(objects, _.overSome([_.matches({ 'a': 1 }), _.matches({ 'a': 4 })]));\n * // => [{ 'a': 1, 'b': 2, 'c': 3 }, { 'a': 4, 'b': 5, 'c': 6 }]\n */\nfunction matches(source) {\n return baseMatches(baseClone(source, CLONE_DEEP_FLAG));\n}\n\nmodule.exports = matches;\n","import * as React from 'react';\nimport { isElement } from 'react-is';\nimport { styled } from '@mui/material/styles';\nimport { memo, ReactElement } from 'react';\nimport {\n IconButton,\n ListItem,\n ListItemButton,\n ListItemIcon,\n ListItemProps,\n ListItemText,\n ListItemSecondaryAction,\n} from '@mui/material';\nimport CancelIcon from '@mui/icons-material/CancelOutlined';\nimport {\n useTranslate,\n useListFilterContext,\n shallowEqual,\n useEvent,\n} from 'ra-core';\nimport matches from 'lodash/matches';\nimport pickBy from 'lodash/pickBy';\n\nconst arePropsEqual = (prevProps, nextProps) =>\n prevProps.label === nextProps.label &&\n shallowEqual(prevProps.value, nextProps.value);\n\n/**\n * Button to enable/disable a list filter.\n *\n * Expects 2 props:\n *\n * - label: The text (or React element) to be displayed for this item.\n * If it's a string, the component will translate it.\n * - value: An object to be merged into the filter value when enabling the filter\n * (e.g. { is_published: true, published_at_gte: '2020-07-08' })\n *\n * @example\n *\n * import * as React from 'react';\n * import { Card, CardContent } from '@mui/material';\n * import MailIcon from '@mui/icons-material/MailOutline';\n * import { FilterList, FilterListItem } from 'react-admin';\n *\n * const FilterSidebar = () => (\n * <Card>\n * <CardContent>\n * <FilterList\n * label=\"Subscribed to newsletter\"\n * icon={<MailIcon />}\n * >\n * <FilterListItem\n * label=\"Yes\"\n * value={{ has_newsletter: true }}\n * />\n * <FilterListItem\n * label=\"No\"\n * value={{ has_newsletter: false }}\n * />\n * </FilterList>\n * </CardContent>\n * </Card>\n * );\n *\n * @example // The value prop can contain multiple keys\n *\n * import * as React from 'react';\n * import {\n * endOfYesterday,\n * startOfWeek,\n * subWeeks,\n * startOfMonth,\n * subMonths,\n * } from 'date-fns';\n * import { Card, CardContent } from '@mui/material';\n * import AccessTimeIcon from '@mui/icons-material/AccessTime';\n * import { FilterList, FilterListItem } from 'react-admin';\n *\n * const FilterSidebar = () => (\n * <Card>\n * <CardContent>\n * <FilterList\n * label=\"Last visited\"\n * icon={<AccessTimeIcon />}\n * >\n * <FilterListItem\n * label=\"Today\"\n * value={{\n * last_seen_gte: endOfYesterday().toISOString(),\n * last_seen_lte: undefined,\n * }}\n * />\n * <FilterListItem\n * label=\"This week\"\n * value={{\n * last_seen_gte: startOfWeek(\n * new Date()\n * ).toISOString(),\n * last_seen_lte: undefined,\n * }}\n * />\n * <FilterListItem\n * label=\"Last week\"\n * value={{\n * last_seen_gte: subWeeks(\n * startOfWeek(new Date()),\n * 1\n * ).toISOString(),\n * last_seen_lte: startOfWeek(\n * new Date()\n * ).toISOString(),\n * }}\n * />\n * <FilterListItem\n * label=\"This month\"\n * value={{\n * last_seen_gte: startOfMonth(\n * new Date()\n * ).toISOString(),\n * last_seen_lte: undefined,\n * }}\n * />\n * <FilterListItem\n * label=\"Last month\"\n * value={{\n * last_seen_gte: subMonths(\n * startOfMonth(new Date()),\n * 1\n * ).toISOString(),\n * last_seen_lte: startOfMonth(\n * new Date()\n * ).toISOString(),\n * }}\n * />\n * <FilterListItem\n * label=\"Earlier\"\n * value={{\n * last_seen_gte: undefined,\n * last_seen_lte: subMonths(\n * startOfMonth(new Date()),\n * 1\n * ).toISOString(),\n * }}\n * />\n * </FilterList>\n * </CardContent>\n * </Card>\n * );\n */\nexport const FilterListItem = memo((props: FilterListItemProps) => {\n const {\n label,\n value,\n icon,\n isSelected: getIsSelected = DefaultIsSelected,\n toggleFilter: userToggleFilter = DefaultToggleFilter,\n ...rest\n } = props;\n const { filterValues, setFilters } = useListFilterContext();\n const translate = useTranslate();\n const toggleFilter = useEvent(userToggleFilter);\n\n // We can't wrap this function with useEvent as it is called in the render phase\n const isSelected = getIsSelected(value, filterValues);\n\n const handleClick = () => setFilters(toggleFilter(value, filterValues));\n\n return (\n <StyledListItem\n onClick={handleClick}\n selected={isSelected}\n disablePadding\n {...rest}\n >\n <ListItemButton\n disableGutters\n className={FilterListItemClasses.listItemButton}\n >\n {icon && (\n <ListItemIcon\n className={FilterListItemClasses.listItemIcon}\n >\n {icon}\n </ListItemIcon>\n )}\n <ListItemText\n primary={\n typeof label === 'string' && !isElement(label)\n ? translate(label, { _: label })\n : label\n }\n className={FilterListItemClasses.listItemText}\n data-selected={isSelected ? 'true' : 'false'}\n />\n {isSelected && (\n <ListItemSecondaryAction\n onClick={event => {\n event.stopPropagation();\n handleClick();\n }}\n >\n <IconButton size=\"small\">\n <CancelIcon />\n </IconButton>\n </ListItemSecondaryAction>\n )}\n </ListItemButton>\n </StyledListItem>\n );\n}, arePropsEqual);\n\nconst DefaultIsSelected = (value, filters) =>\n matches(pickBy(value, val => typeof val !== 'undefined'))(filters);\n\nconst DefaultToggleFilter = (value, filters) => {\n const isSelected = matches(\n pickBy(value, val => typeof val !== 'undefined')\n )(filters);\n\n if (isSelected) {\n const keysToRemove = Object.keys(value);\n return Object.keys(filters).reduce(\n (acc, key) =>\n keysToRemove.includes(key)\n ? acc\n : { ...acc, [key]: filters[key] },\n {}\n );\n }\n\n return { ...filters, ...value };\n};\n\nconst PREFIX = 'RaFilterListItem';\n\nexport const FilterListItemClasses = {\n listItemButton: `${PREFIX}-listItemButton`,\n listItemText: `${PREFIX}-listItemText`,\n listItemIcon: `${PREFIX}-listItemIcon`,\n};\n\nconst StyledListItem = styled(ListItem, {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})({\n [`& .${FilterListItemClasses.listItemButton}`]: {\n paddingRight: '2em',\n paddingLeft: '2em',\n },\n [`& .${FilterListItemClasses.listItemText}`]: {\n margin: 0,\n },\n [`& .${FilterListItemClasses.listItemIcon}`]: {\n minWidth: 0,\n marginRight: '0.5em',\n },\n});\n\nexport interface FilterListItemProps extends Omit<ListItemProps, 'value'> {\n label: string | ReactElement;\n value: any;\n icon?: ReactElement;\n toggleFilter?: (value: any, filters: any) => any;\n isSelected?: (value: any, filters: any) => boolean;\n}\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14\"\n}), 'Search');","import * as React from 'react';\nimport { ChangeEvent, memo, useMemo } from 'react';\nimport { InputAdornment } from '@mui/material';\nimport { SxProps } from '@mui/system';\nimport SearchIcon from '@mui/icons-material/Search';\nimport { useTranslate, useListFilterContext } from 'ra-core';\nimport { FormProvider, useForm } from 'react-hook-form';\n\nimport { TextInput, TextInputProps } from '../../input';\n\n/**\n * Form and search input for doing a full-text search filter.\n *\n * Triggers a search on change (with debounce).\n *\n * @example\n *\n * const FilterPanel = () => (\n * <Card>\n * <CardContent>\n * <FilterLiveSearch source=\"title\" />\n * </CardContent>\n * </Card>\n * );\n */\nexport const FilterLiveSearch = memo((props: FilterLiveSearchProps) => {\n const { filterValues, setFilters } = useListFilterContext();\n const translate = useTranslate();\n\n const {\n source = 'q',\n label = translate('ra.action.search'),\n placeholder,\n ...rest\n } = props;\n\n const handleChange = (event: ChangeEvent<HTMLInputElement>) => {\n if (event.target) {\n setFilters(\n { ...filterValues, [source]: event.target.value },\n null,\n true\n );\n } else {\n const { [source]: _, ...filters } = filterValues;\n setFilters(filters);\n }\n };\n\n const initialValues = useMemo(\n () => ({\n [source]: filterValues[source],\n }),\n [filterValues, source]\n );\n\n const form = useForm({ defaultValues: initialValues });\n\n const onSubmit = e => {\n e.preventDefault();\n };\n\n return (\n <FormProvider {...form}>\n <form onSubmit={onSubmit}>\n <TextInput\n resettable\n helperText={false}\n source={source}\n InputProps={{\n endAdornment: (\n <InputAdornment position=\"end\">\n <SearchIcon color=\"disabled\" />\n </InputAdornment>\n ),\n }}\n onChange={handleChange}\n size=\"small\"\n label={rest.hiddenLabel ? false : label}\n placeholder={\n placeholder ?? (rest.hiddenLabel ? label : undefined)\n }\n {...rest}\n />\n </form>\n </FormProvider>\n );\n});\n\nexport interface FilterLiveSearchProps extends Omit<TextInputProps, 'source'> {\n source?: string;\n sx?: SxProps;\n label?: string;\n fullWidth?: boolean;\n variant?: 'filled' | 'outlined';\n}\n","import * as React from 'react';\nimport { memo, FC } from 'react';\nimport { styled } from '@mui/material/styles';\nimport { Pagination, PaginationProps } from '@mui/material';\nimport { useTranslate } from 'ra-core';\n\nexport const PaginationActions: FC<PaginationActionsProps> = memo(props => {\n const {\n page,\n rowsPerPage,\n count,\n onPageChange,\n size = 'small',\n className,\n ...rest\n } = props;\n const translate = useTranslate();\n\n const nbPages = Math.ceil(count / rowsPerPage) || 1;\n\n if (nbPages === 1) {\n return <Root className={className} />;\n }\n\n const getItemAriaLabel = (\n type: 'page' | 'first' | 'last' | 'next' | 'previous',\n page: number,\n selected: boolean\n ) => {\n if (type === 'page') {\n return selected\n ? translate('ra.navigation.current_page', {\n page,\n _: `page ${page}`,\n })\n : translate('ra.navigation.page', {\n page,\n _: `Go to page ${page}`,\n });\n }\n return translate(`ra.navigation.${type}`, { _: `Go to ${type} page` });\n };\n\n return (\n <Root className={className}>\n <Pagination\n size={size}\n count={nbPages}\n // <TablePagination>, the parent, uses 0-based pagination\n // while <Pagination> uses 1-based pagination\n page={page + 1}\n onChange={(e: any, page) => onPageChange(e, page - 1)}\n {...sanitizeRestProps(rest)}\n getItemAriaLabel={getItemAriaLabel}\n />\n </Root>\n );\n});\n\nexport interface PaginationActionsProps extends PaginationProps {\n page: number;\n rowsPerPage: number;\n count: number;\n onPageChange: (event: MouseEvent, page: number) => void;\n}\n\nconst PREFIX = 'RaPaginationActions';\n\nconst Root = styled('div', {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(() => ({\n flexShrink: 0,\n ml: 4,\n}));\n\nconst sanitizeRestProps = ({\n nextIconButtonProps,\n backIconButtonProps,\n slotProps,\n ...rest\n}: any) => rest;\n","import * as React from 'react';\nimport { useCallback, useMemo, FC, memo, ReactElement } from 'react';\nimport {\n TablePagination,\n TablePaginationBaseProps,\n Toolbar,\n useMediaQuery,\n Theme,\n} from '@mui/material';\nimport {\n useTranslate,\n useListPaginationContext,\n sanitizeListRestProps,\n} from 'ra-core';\n\nimport { PaginationActions, PaginationActionsProps } from './PaginationActions';\n\nexport const Pagination: FC<PaginationProps> = memo(props => {\n const {\n rowsPerPageOptions = DefaultRowsPerPageOptions,\n actions,\n limit = null,\n ...rest\n } = props;\n const {\n isPending,\n hasNextPage,\n page,\n perPage,\n total,\n setPage,\n setPerPage,\n } = useListPaginationContext();\n const translate = useTranslate();\n const isSmall = useMediaQuery((theme: Theme) =>\n theme.breakpoints.down('md')\n );\n\n const totalPages = useMemo(() => {\n return total != null ? Math.ceil(total / perPage) : undefined;\n }, [perPage, total]);\n\n /**\n * Warning: Material UI's page is 0-based\n */\n const handlePageChange = useCallback(\n (event, page) => {\n event && event.stopPropagation();\n if (page < 0 || (totalPages && page > totalPages - 1)) {\n throw new Error(\n translate('ra.navigation.page_out_of_boundaries', {\n page: page + 1,\n })\n );\n }\n setPage(page + 1);\n },\n [totalPages, setPage, translate]\n );\n\n const handlePerPageChange = useCallback(\n event => {\n setPerPage(event.target.value);\n },\n [setPerPage]\n );\n\n const labelDisplayedRows = useCallback(\n ({ from, to, count }) =>\n count === -1 && hasNextPage\n ? translate('ra.navigation.partial_page_range_info', {\n offsetBegin: from,\n offsetEnd: to,\n _: `%{from}-%{to} of more than %{to}`,\n })\n : translate('ra.navigation.page_range_info', {\n offsetBegin: from,\n offsetEnd: to,\n total: count === -1 ? to : count,\n _: `%{from}-%{to} of %{count === -1 ? to : count}`,\n }),\n [translate, hasNextPage]\n );\n\n const labelItem = useCallback(\n type => translate(`ra.navigation.${type}`, { _: `Go to ${type} page` }),\n [translate]\n );\n\n if (isPending) {\n return <Toolbar variant=\"dense\" />;\n }\n\n // Avoid rendering TablePagination if \"page\" value is invalid\n if (total === 0 || page < 1 || (total != null && page > totalPages!)) {\n if (limit != null && process.env.NODE_ENV === 'development') {\n console.warn(\n 'The Pagination limit prop is deprecated. Empty state should be handled by the component displaying data (Datagrid, SimpleList).'\n );\n }\n return null;\n }\n\n if (isSmall) {\n return (\n <TablePagination\n count={total == null ? -1 : total}\n rowsPerPage={perPage}\n page={page - 1}\n onPageChange={handlePageChange}\n rowsPerPageOptions={emptyArray}\n component=\"span\"\n labelDisplayedRows={labelDisplayedRows}\n {...sanitizeListRestProps(rest)}\n />\n );\n }\n\n const ActionsComponent = actions\n ? actions // overridden by caller\n : !isPending && total != null\n ? PaginationActions // regular navigation\n : undefined; // partial navigation (uses default TablePaginationActions)\n\n return (\n <TablePagination\n count={total == null ? -1 : total}\n rowsPerPage={perPage}\n page={page - 1}\n onPageChange={handlePageChange}\n onRowsPerPageChange={handlePerPageChange}\n // @ts-ignore\n ActionsComponent={ActionsComponent}\n nextIconButtonProps={{\n disabled: !hasNextPage,\n }}\n component=\"span\"\n labelRowsPerPage={translate('ra.navigation.page_rows_per_page')}\n labelDisplayedRows={labelDisplayedRows}\n getItemAriaLabel={labelItem}\n rowsPerPageOptions={rowsPerPageOptions}\n {...sanitizeListRestProps(rest)}\n />\n );\n});\n\nconst DefaultRowsPerPageOptions = [5, 10, 25, 50];\nconst emptyArray = [];\n\nexport interface PaginationProps extends TablePaginationBaseProps {\n rowsPerPageOptions?: Array<number | { label: string; value: number }>;\n actions?: FC<PaginationActionsProps>;\n limit?: ReactElement;\n}\n","import * as React from 'react';\nimport clsx from 'clsx';\nimport TextField, { TextFieldProps } from '@mui/material/TextField';\nimport { useInput, FieldTitle } from 'ra-core';\n\nimport { CommonInputProps } from './CommonInputProps';\nimport { sanitizeInputRestProps } from './sanitizeInputRestProps';\nimport { InputHelperText } from './InputHelperText';\n\n/**\n * Form input to edit a Date string value in the \"YYYY-MM-DD\" format (e.g. '2021-06-23').\n *\n * Renders a date picker (the exact UI depends on the browser).\n *\n * @example\n * import { Edit, SimpleForm, DateInput } from 'react-admin';\n *\n * const PostEdit = () => (\n * <Edit>\n * <SimpleForm>\n * <DateInput source=\"published_at\" />\n * </SimpleForm>\n * </Edit>\n * );\n *\n * @example\n * // If the initial value is a Date object, DateInput converts it to a string\n * // but you must pass a custom parse method to convert the form value\n * // (which is always a date string) back to a Date object.\n * <DateInput source=\"published_at\" parse={val => new Date(val)} />\n */\nexport const DateInput = ({\n className,\n defaultValue,\n format = getStringFromDate,\n label,\n name,\n source,\n resource,\n helperText,\n margin,\n onBlur,\n onChange,\n parse,\n validate,\n variant,\n ...rest\n}: DateInputProps) => {\n const { field, fieldState, id, isRequired } = useInput({\n defaultValue,\n name,\n format,\n parse,\n onBlur,\n onChange,\n resource,\n source,\n validate,\n ...rest,\n });\n\n const { error, invalid } = fieldState;\n const renderHelperText = helperText !== false || invalid;\n\n return (\n <TextField\n id={id}\n {...field}\n className={clsx('ra-input', `ra-input-${source}`, className)}\n type=\"date\"\n size=\"small\"\n variant={variant}\n margin={margin}\n error={invalid}\n helperText={\n renderHelperText ? (\n <InputHelperText\n error={error?.message}\n helperText={helperText}\n />\n ) : null\n }\n label={\n <FieldTitle\n label={label}\n source={source}\n resource={resource}\n isRequired={isRequired}\n />\n }\n InputLabelProps={defaultInputLabelProps}\n {...sanitizeInputRestProps(rest)}\n />\n );\n};\n\nexport type DateInputProps = CommonInputProps &\n Omit<TextFieldProps, 'helperText' | 'label'>;\n\n/**\n * Convert Date object to String\n *\n * @param {Date} value value to convert\n * @returns {String} A standardized date (yyyy-MM-dd), to be passed to an <input type=\"date\" />\n */\nconst convertDateToString = (value: Date) => {\n if (!(value instanceof Date) || isNaN(value.getDate())) return '';\n const pad = '00';\n const yyyy = value.getFullYear().toString();\n const MM = (value.getMonth() + 1).toString();\n const dd = value.getDate().toString();\n return `${yyyy}-${(pad + MM).slice(-2)}-${(pad + dd).slice(-2)}`;\n};\n\nconst dateRegex = /^\\d{4}-\\d{2}-\\d{2}$/;\nconst defaultInputLabelProps = { shrink: true };\n\nconst getStringFromDate = (value: string | Date) => {\n // null, undefined and empty string values should not go through dateFormatter\n // otherwise, it returns undefined and will make the input an uncontrolled one.\n if (value == null || value === '') {\n return '';\n }\n\n if (value instanceof Date) {\n return convertDateToString(value);\n }\n\n // valid dates should not be converted\n if (dateRegex.test(value)) {\n return value;\n }\n\n return convertDateToString(new Date(value));\n};\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"\n}), 'Clear');","import * as React from 'react';\nimport { forwardRef, useCallback } from 'react';\nimport { styled } from '@mui/material/styles';\nimport clsx from 'clsx';\nimport {\n InputAdornment,\n IconButton,\n TextField as MuiTextField,\n TextFieldProps,\n} from '@mui/material';\nimport ClearIcon from '@mui/icons-material/Clear';\nimport { useTranslate } from 'ra-core';\n\n/**\n * An override of the default Material UI TextField which is resettable\n */\nexport const ResettableTextField = forwardRef(\n (props: ResettableTextFieldProps, ref) => {\n const {\n clearAlwaysVisible,\n InputProps,\n value,\n resettable,\n disabled,\n variant,\n margin,\n className,\n ...rest\n } = props;\n\n const translate = useTranslate();\n\n const { onChange, onFocus, onBlur } = props;\n const handleClickClearButton = useCallback(\n event => {\n event.preventDefault();\n onChange && onChange('');\n },\n [onChange]\n );\n\n const handleFocus = useCallback(\n event => {\n onFocus && onFocus(event);\n },\n [onFocus]\n );\n\n const handleBlur = useCallback(\n event => {\n onBlur && onBlur(event);\n },\n [onBlur]\n );\n\n const {\n clearButton,\n clearIcon,\n inputAdornedEnd,\n selectAdornment,\n visibleClearIcon,\n } = ResettableTextFieldClasses;\n\n const { endAdornment, ...InputPropsWithoutEndAdornment } =\n InputProps || {};\n\n if (clearAlwaysVisible && endAdornment) {\n throw new Error(\n 'ResettableTextField cannot display both an endAdornment and a clear button always visible'\n );\n }\n\n const getEndAdornment = () => {\n if (!resettable) {\n return endAdornment;\n } else if (!value) {\n if (clearAlwaysVisible) {\n // show clear button, inactive\n return (\n <InputAdornment\n position=\"end\"\n className={\n props.select ? selectAdornment : undefined\n }\n >\n <IconButton\n className={clearButton}\n aria-label={translate(\n 'ra.action.clear_input_value'\n )}\n title={translate('ra.action.clear_input_value')}\n disabled={true}\n size=\"large\"\n >\n <ClearIcon\n className={clsx(\n clearIcon,\n visibleClearIcon\n )}\n />\n </IconButton>\n </InputAdornment>\n );\n } else {\n if (endAdornment) {\n return endAdornment;\n } else {\n // show spacer\n return (\n <InputAdornment\n position=\"end\"\n className={\n props.select ? selectAdornment : undefined\n }\n >\n <span className={clearButton}> </span>\n </InputAdornment>\n );\n }\n }\n } else {\n // show clear\n return (\n <InputAdornment\n position=\"end\"\n className={props.select ? selectAdornment : undefined}\n >\n <IconButton\n className={clearButton}\n aria-label={translate(\n 'ra.action.clear_input_value'\n )}\n title={translate('ra.action.clear_input_value')}\n onClick={handleClickClearButton}\n onMouseDown={handleMouseDownClearButton}\n disabled={disabled}\n size=\"large\"\n >\n <ClearIcon\n className={clsx(clearIcon, {\n [visibleClearIcon]:\n clearAlwaysVisible || value,\n })}\n />\n </IconButton>\n </InputAdornment>\n );\n }\n };\n\n return (\n <StyledTextField\n value={value}\n InputProps={{\n classes:\n props.select && variant === 'filled'\n ? { adornedEnd: inputAdornedEnd }\n : {},\n endAdornment: getEndAdornment(),\n ...InputPropsWithoutEndAdornment,\n }}\n disabled={disabled}\n variant={variant}\n margin={margin}\n className={className}\n {...rest}\n onFocus={handleFocus}\n onBlur={handleBlur}\n inputRef={ref}\n />\n );\n }\n);\n\nResettableTextField.displayName = 'ResettableTextField';\n\nconst handleMouseDownClearButton = event => {\n event.preventDefault();\n};\n\ninterface Props {\n clearAlwaysVisible?: boolean;\n resettable?: boolean;\n}\n\nexport type ResettableTextFieldProps = Props &\n Omit<\n TextFieldProps,\n 'onChange' | 'onPointerEnterCapture' | 'onPointerLeaveCapture'\n > & {\n onChange?: (eventOrValue: any) => void;\n };\n\nconst PREFIX = 'RaResettableTextField';\n\nexport const ResettableTextFieldClasses = {\n clearIcon: `${PREFIX}-clearIcon`,\n visibleClearIcon: `${PREFIX}-visibleClearIcon`,\n clearButton: `${PREFIX}-clearButton`,\n selectAdornment: `${PREFIX}-selectAdornment`,\n inputAdornedEnd: `${PREFIX}-inputAdornedEnd`,\n};\n\nexport const ResettableTextFieldStyles = {\n [`& .${ResettableTextFieldClasses.clearIcon}`]: {\n height: 16,\n width: 0,\n },\n [`& .${ResettableTextFieldClasses.visibleClearIcon}`]: {\n width: 16,\n },\n [`& .${ResettableTextFieldClasses.clearButton}`]: {\n height: 24,\n width: 24,\n padding: 0,\n },\n [`& .${ResettableTextFieldClasses.selectAdornment}`]: {\n position: 'absolute',\n right: 24,\n },\n [`& .${ResettableTextFieldClasses.inputAdornedEnd}`]: {\n paddingRight: 0,\n },\n};\n\nconst StyledTextField = styled(MuiTextField, {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(ResettableTextFieldStyles);\n","import * as React from 'react';\nimport { CircularProgress, InputAdornment } from '@mui/material';\nimport { styled, SxProps } from '@mui/material/styles';\nimport { useTimeout } from 'ra-core';\n\nimport { ResettableTextField } from './ResettableTextField';\n\n/**\n * An input placeholder with a loading indicator\n *\n * Avoids visual jumps when replaced by a form input\n */\nexport const LoadingInput = ({\n fullWidth,\n label,\n helperText,\n margin,\n size,\n sx,\n timeout = 1000,\n variant,\n}: LoadingInputProps) => {\n const oneSecondHasPassed = useTimeout(timeout);\n\n return (\n <StyledResettableTextField\n sx={sx}\n label={label}\n helperText={helperText}\n fullWidth={fullWidth}\n variant={variant}\n margin={margin}\n size={size}\n disabled\n onChange={() => {}}\n InputProps={{\n endAdornment: (\n <InputAdornment position=\"end\">\n {oneSecondHasPassed ? (\n <CircularProgress color=\"inherit\" size={20} />\n ) : (\n // use an adornment of the same size to avoid visual jumps\n <span style={{ width: 20 }}> </span>\n )}\n </InputAdornment>\n ),\n }}\n />\n );\n};\n\nconst PREFIX = 'RaLoadingInput';\n\n// make it look just like a regular input, even though it's disabled\n// because the loading indicator is enough\nconst StyledResettableTextField = styled(ResettableTextField, {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme }) => ({\n '& .MuiInputLabel-root.Mui-disabled': {\n color: theme.palette.text.secondary,\n },\n '& .MuiFilledInput-root.Mui-disabled': {\n background:\n theme.palette.mode === 'light'\n ? 'rgba(0, 0, 0, 0.04)'\n : 'rgba(255, 255, 255, 0.09)',\n },\n '& .MuiFilledInput-root.Mui-disabled:before': {\n borderBottomStyle: 'solid',\n },\n}));\n\nexport interface LoadingInputProps {\n fullWidth?: boolean;\n helperText?: React.ReactNode;\n margin?: 'normal' | 'none' | 'dense';\n label?: string | React.ReactElement | false;\n sx?: SxProps;\n size?: 'medium' | 'small';\n timeout?: number;\n variant?: 'standard' | 'filled' | 'outlined';\n}\n","import * as React from 'react';\nimport clsx from 'clsx';\nimport { useInput, FieldTitle } from 'ra-core';\n\nimport { CommonInputProps } from './CommonInputProps';\nimport {\n ResettableTextField,\n ResettableTextFieldProps,\n} from './ResettableTextField';\nimport { InputHelperText } from './InputHelperText';\nimport { sanitizeInputRestProps } from './sanitizeInputRestProps';\n\n/**\n * An Input component for a string\n *\n * @example\n * <TextInput source=\"first_name\" />\n *\n * You can customize the `type` props (which defaults to \"text\").\n * Note that, due to a React bug, you should use `<NumberField>` instead of using type=\"number\".\n * @example\n * <TextInput source=\"email\" type=\"email\" />\n * <NumberInput source=\"nb_views\" />\n *\n */\nexport const TextInput = (props: TextInputProps) => {\n const {\n className,\n defaultValue,\n label,\n format,\n helperText,\n onBlur,\n onChange,\n parse,\n resource,\n source,\n validate,\n ...rest\n } = props;\n const {\n field,\n fieldState: { error, invalid },\n id,\n isRequired,\n } = useInput({\n defaultValue,\n format,\n parse,\n resource,\n source,\n type: 'text',\n validate,\n onBlur,\n onChange,\n ...rest,\n });\n\n const renderHelperText = helperText !== false || invalid;\n\n return (\n <ResettableTextField\n id={id}\n {...field}\n className={clsx('ra-input', `ra-input-${source}`, className)}\n label={\n label !== '' && label !== false ? (\n <FieldTitle\n label={label}\n source={source}\n resource={resource}\n isRequired={isRequired}\n />\n ) : null\n }\n error={invalid}\n helperText={\n renderHelperText ? (\n <InputHelperText\n error={error?.message}\n helperText={helperText}\n />\n ) : null\n }\n {...sanitizeInputRestProps(rest)}\n />\n );\n};\n\nexport type TextInputProps = CommonInputProps &\n Omit<ResettableTextFieldProps, 'label' | 'helperText'>;\n","import React from 'react';\nimport { ReferenceInputBase, ReferenceInputBaseProps } from 'ra-core';\n\nimport { AutocompleteInput } from './AutocompleteInput';\n\n/**\n * An Input component for choosing a reference record. Useful for foreign keys.\n *\n * This component fetches the possible values in the reference resource\n * (using `dataProvider.getList()`), then renders an `<AutocompleteInput>`,\n * to which it passes the possible choices via a `ChoicesContext`.\n *\n * You can pass a child select component to customize the way the reference\n * selector is displayed (e.g. using `<SelectInput>` or `<RadioButtonGroupInput>`\n * instead of `<AutocompleteInput>`).\n *\n * @example // default selector: AutocompleteInput\n * export const CommentEdit = () => (\n * <Edit>\n * <SimpleForm>\n * <ReferenceInput label=\"Post\" source=\"post_id\" reference=\"posts\" />\n * </SimpleForm>\n * </Edit>\n * );\n *\n * @example // using a SelectInput as selector\n * export const CommentEdit = () => (\n * <Edit>\n * <SimpleForm>\n * <ReferenceInput label=\"Post\" source=\"post_id\" reference=\"posts\">\n * <SelectInput optionText=\"title\" />\n * </ReferenceInput>\n * </SimpleForm>\n * </Edit>\n * );\n *\n * By default, restricts the possible values to 25. You can extend this limit\n * by setting the `perPage` prop.\n *\n * @example\n * <ReferenceInput source=\"post_id\" reference=\"posts\" perPage={100}/>\n *\n * By default, orders the possible values by id desc. You can change this order\n * by setting the `sort` prop (an object with `field` and `order` properties).\n *\n * @example\n * <ReferenceInput\n * source=\"post_id\"\n * reference=\"posts\"\n * sort={{ field: 'title', order: 'ASC' }}\n * />\n *\n * Also, you can filter the query used to populate the possible values. Use the\n * `filter` prop for that.\n *\n * @example\n * <ReferenceInput\n * source=\"post_id\"\n * reference=\"posts\"\n * filter={{ is_published: true }}\n * />\n *\n * The enclosed component may filter results. ReferenceInput create a ChoicesContext which provides\n * a `setFilters` function. You can call this function to filter the results.\n */\nexport const ReferenceInput = (props: ReferenceInputProps) => {\n const { children = defaultChildren, ...rest } = props;\n\n if (props.validate) {\n throw new Error(\n '<ReferenceInput> does not accept a validate prop. Set the validate prop on the child instead.'\n );\n }\n\n return <ReferenceInputBase {...rest}>{children}</ReferenceInputBase>;\n};\n\nconst defaultChildren = <AutocompleteInput />;\n\nexport interface ReferenceInputProps extends ReferenceInputBaseProps {\n /**\n * Call validate on the child component instead\n */\n validate?: never;\n [key: string]: any;\n}\n","import * as React from 'react';\nimport { ReactElement, useCallback, useEffect, ChangeEvent } from 'react';\nimport clsx from 'clsx';\nimport { MenuItem, TextFieldProps } from '@mui/material';\nimport { styled } from '@mui/material/styles';\nimport {\n useChoicesContext,\n useInput,\n FieldTitle,\n useTranslate,\n ChoicesProps,\n useChoices,\n RaRecord,\n useGetRecordRepresentation,\n} from 'ra-core';\n\nimport { CommonInputProps } from './CommonInputProps';\nimport {\n ResettableTextField,\n ResettableTextFieldStyles,\n} from './ResettableTextField';\nimport { InputHelperText } from './InputHelperText';\nimport { sanitizeInputRestProps } from './sanitizeInputRestProps';\nimport {\n useSupportCreateSuggestion,\n SupportCreateSuggestionOptions,\n} from './useSupportCreateSuggestion';\nimport { LoadingInput } from './LoadingInput';\n\n/**\n * An Input component for a select box, using an array of objects for the options\n *\n * Pass possible options as an array of objects in the 'choices' attribute.\n *\n * By default, the options are built from:\n * - the 'id' property as the option value,\n * - the 'name' property as the option text\n * @example\n * const choices = [\n * { id: 'M', name: 'Male' },\n * { id: 'F', name: 'Female' },\n * ];\n * <SelectInput source=\"gender\" choices={choices} />\n *\n * You can also customize the properties to use for the option name and value,\n * thanks to the 'optionText' and 'optionValue' attributes.\n * @example\n * const choices = [\n * { _id: 123, full_name: 'Leo Tolstoi', sex: 'M' },\n * { _id: 456, full_name: 'Jane Austen', sex: 'F' },\n * ];\n * <SelectInput source=\"author_id\" choices={choices} optionText=\"full_name\" optionValue=\"_id\" />\n *\n * `optionText` also accepts a function, so you can shape the option text at will:\n * @example\n * const choices = [\n * { id: 123, first_name: 'Leo', last_name: 'Tolstoi' },\n * { id: 456, first_name: 'Jane', last_name: 'Austen' },\n * ];\n * const optionRenderer = choice => `${choice.first_name} ${choice.last_name}`;\n * <SelectInput source=\"author_id\" choices={choices} optionText={optionRenderer} />\n *\n * `optionText` also accepts a React Element, that can access\n * the related choice through the `useRecordContext` hook. You can use Field components there.\n * @example\n * const choices = [\n * { id: 123, first_name: 'Leo', last_name: 'Tolstoi' },\n * { id: 456, first_name: 'Jane', last_name: 'Austen' },\n * ];\n * const FullNameField = () => {\n * const record = useRecordContext();\n * return <span>{record.first_name} {record.last_name}</span>;\n * }\n * <SelectInput source=\"author\" choices={choices} optionText={<FullNameField />}/>\n *\n * The choices are translated by default, so you can use translation identifiers as choices:\n * @example\n * const choices = [\n * { id: 'M', name: 'myroot.gender.male' },\n * { id: 'F', name: 'myroot.gender.female' },\n * ];\n *\n * However, in some cases (e.g. inside a `<ReferenceInput>`), you may not want\n * the choice to be translated. In that case, set the `translateChoice` prop to false.\n * @example\n * <SelectInput source=\"gender\" choices={choices} translateChoice={false}/>\n *\n * You can disable some choices by providing a `disableValue` field which name is `disabled` by default\n * @example\n * const choices = [\n * { id: 123, first_name: 'Leo', last_name: 'Tolstoi' },\n * { id: 456, first_name: 'Jane', last_name: 'Austen' },\n * { id: 976, first_name: 'William', last_name: 'Rinkerd', disabled: true },\n * ];\n *\n * @example\n * const choices = [\n * { id: 123, first_name: 'Leo', last_name: 'Tolstoi' },\n * { id: 456, first_name: 'Jane', last_name: 'Austen' },\n * { id: 976, first_name: 'William', last_name: 'Rinkerd', not_available: true },\n * ];\n * <SelectInput source=\"gender\" choices={choices} disableValue=\"not_available\" />\n *\n */\nexport const SelectInput = (props: SelectInputProps) => {\n const {\n choices: choicesProp,\n className,\n create,\n createLabel,\n createValue,\n defaultValue,\n disableValue = 'disabled',\n emptyText = '',\n emptyValue = '',\n format,\n filter,\n helperText,\n isFetching: isFetchingProp,\n isLoading: isLoadingProp,\n isPending: isPendingProp,\n label,\n margin = 'dense',\n onBlur,\n onChange,\n onCreate,\n optionText,\n optionValue,\n parse,\n resource: resourceProp,\n source: sourceProp,\n translateChoice,\n validate,\n ...rest\n } = props;\n const translate = useTranslate();\n\n useEffect(() => {\n // eslint-disable-next-line eqeqeq\n if (emptyValue == null) {\n throw new Error(\n `emptyValue being set to null or undefined is not supported. Use parse to turn the empty string into null.`\n );\n }\n }, [emptyValue]);\n\n const {\n allChoices,\n isPending,\n error: fetchError,\n source,\n resource,\n isFromReference,\n } = useChoicesContext({\n choices: choicesProp,\n isLoading: isLoadingProp,\n isFetching: isFetchingProp,\n isPending: isPendingProp,\n resource: resourceProp,\n source: sourceProp,\n });\n\n if (source === undefined) {\n throw new Error(\n `If you're not wrapping the SelectInput inside a ReferenceInput, you must provide the source prop`\n );\n }\n\n if (!isPending && !fetchError && allChoices === undefined) {\n throw new Error(\n `If you're not wrapping the SelectInput inside a ReferenceInput, you must provide the choices prop`\n );\n }\n\n const getRecordRepresentation = useGetRecordRepresentation(resource);\n const { getChoiceText, getChoiceValue, getDisableValue } = useChoices({\n optionText:\n optionText ??\n (isFromReference ? getRecordRepresentation : undefined),\n optionValue,\n disableValue,\n translateChoice: translateChoice ?? !isFromReference,\n });\n const { field, fieldState, id, isRequired } = useInput({\n defaultValue,\n parse,\n format,\n onBlur,\n onChange,\n resource,\n source,\n validate,\n ...rest,\n });\n\n const { error, invalid } = fieldState;\n\n const renderEmptyItemOption = useCallback(() => {\n return typeof emptyText === 'string'\n ? emptyText === ''\n ? ' ' // em space, forces the display of an empty line of normal height\n : translate(emptyText, { _: emptyText })\n : emptyText;\n }, [emptyText, translate]);\n\n const renderMenuItemOption = useCallback(choice => getChoiceText(choice), [\n getChoiceText,\n ]);\n\n const handleChange = useCallback(\n async (eventOrChoice: ChangeEvent<HTMLInputElement> | RaRecord) => {\n // We might receive an event from the mui component\n // In this case, it will be the choice id\n if (eventOrChoice?.target) {\n field.onChange(eventOrChoice);\n } else {\n // Or we might receive a choice directly, for instance a newly created one\n field.onChange(getChoiceValue(eventOrChoice));\n }\n },\n [field, getChoiceValue]\n );\n\n const {\n getCreateItem,\n handleChange: handleChangeWithCreateSupport,\n createElement,\n } = useSupportCreateSuggestion({\n create,\n createLabel,\n createValue,\n handleChange,\n onCreate,\n optionText,\n });\n\n const createItem = create || onCreate ? getCreateItem() : null;\n\n const renderMenuItem = useCallback(\n choice => {\n return choice ? (\n <MenuItem\n key={getChoiceValue(choice)}\n value={getChoiceValue(choice)}\n disabled={getDisableValue(choice)}\n >\n {renderMenuItemOption(\n !!createItem && choice?.id === createItem.id\n ? createItem\n : choice\n )}\n </MenuItem>\n ) : null;\n },\n [getChoiceValue, getDisableValue, renderMenuItemOption, createItem]\n );\n\n if (isPending) {\n return (\n <LoadingInput\n label={\n label !== '' &&\n label !== false && (\n <FieldTitle\n label={label}\n source={source}\n resource={resourceProp}\n isRequired={isRequired}\n />\n )\n }\n sx={props.sx}\n helperText={\n <InputHelperText\n error={error?.message}\n helperText={helperText}\n />\n }\n variant={props.variant}\n size={props.size}\n margin={props.margin}\n fullWidth={props.fullWidth}\n />\n );\n }\n\n let finalChoices = fetchError ? [] : allChoices;\n if (create || onCreate) {\n finalChoices = [...finalChoices, createItem];\n }\n const renderHelperText = !!fetchError || helperText !== false || invalid;\n\n return (\n <>\n <StyledResettableTextField\n id={id}\n {...field}\n className={clsx('ra-input', `ra-input-${source}`, className)}\n onChange={handleChangeWithCreateSupport}\n select\n label={\n label !== '' &&\n label !== false && (\n <FieldTitle\n label={label}\n source={source}\n resource={resourceProp}\n isRequired={isRequired}\n />\n )\n }\n clearAlwaysVisible\n error={!!fetchError || invalid}\n helperText={\n renderHelperText ? (\n <InputHelperText\n error={error?.message || fetchError?.message}\n helperText={helperText}\n />\n ) : null\n }\n margin={margin}\n {...sanitizeRestProps(rest)}\n >\n {!isRequired && (\n <MenuItem\n value={emptyValue}\n key=\"null\"\n aria-label={translate('ra.action.clear_input_value')}\n title={translate('ra.action.clear_input_value')}\n >\n {renderEmptyItemOption()}\n </MenuItem>\n )}\n {finalChoices.map(renderMenuItem)}\n </StyledResettableTextField>\n {createElement}\n </>\n );\n};\n\nconst sanitizeRestProps = ({\n afterSubmit,\n allowNull,\n beforeSubmit,\n choices,\n className,\n crudGetMatching,\n crudGetOne,\n data,\n field,\n fieldState,\n formState,\n filter,\n filterToQuery,\n formatOnBlur,\n isEqual,\n limitChoicesToValue,\n multiple,\n name,\n pagination,\n perPage,\n ref,\n reference,\n refetch,\n render,\n setFilter,\n setPagination,\n setSort,\n shouldUnregister,\n sort,\n subscription,\n type,\n validateFields,\n validation,\n value,\n ...rest\n}: any) => sanitizeInputRestProps(rest);\n\nconst PREFIX = 'RaSelectInput';\n\nconst StyledResettableTextField = styled(ResettableTextField, {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme }) => ({\n ...ResettableTextFieldStyles,\n minWidth: theme.spacing(20),\n '& .MuiFilledInput-root': { paddingRight: 0 },\n}));\n\nexport type SelectInputProps = Omit<CommonInputProps, 'source'> &\n ChoicesProps &\n Omit<SupportCreateSuggestionOptions, 'handleChange'> &\n Omit<TextFieldProps, 'label' | 'helperText' | 'classes' | 'onChange'> & {\n disableValue?: string;\n emptyText?: string | ReactElement;\n emptyValue?: any;\n resettable?: boolean;\n // Source is optional as AutocompleteInput can be used inside a ReferenceInput that already defines the source\n source?: string;\n onChange?: (event: ChangeEvent<HTMLInputElement> | RaRecord) => void;\n };\n","import * as React from 'react';\nimport { styled } from '@mui/material/styles';\nimport { Button, CardContent, CircularProgress } from '@mui/material';\nimport {\n Form,\n required,\n useTranslate,\n useLogin,\n useNotify,\n useSafeSetState,\n} from 'ra-core';\nimport { TextInput } from '../input';\n\nexport const LoginForm = (props: LoginFormProps) => {\n const { redirectTo, className } = props;\n const [loading, setLoading] = useSafeSetState(false);\n const login = useLogin();\n const translate = useTranslate();\n const notify = useNotify();\n\n const submit = (values: FormData) => {\n setLoading(true);\n login(values, redirectTo)\n .then(() => {\n setLoading(false);\n })\n .catch(error => {\n setLoading(false);\n notify(\n typeof error === 'string'\n ? error\n : typeof error === 'undefined' || !error.message\n ? 'ra.auth.sign_in_error'\n : error.message,\n {\n type: 'error',\n messageArgs: {\n _:\n typeof error === 'string'\n ? error\n : error && error.message\n ? error.message\n : undefined,\n },\n }\n );\n });\n };\n\n return (\n <StyledForm\n onSubmit={submit}\n mode=\"onChange\"\n noValidate\n className={className}\n >\n <CardContent className={LoginFormClasses.content}>\n <TextInput\n autoFocus\n source=\"username\"\n label={translate('ra.auth.username')}\n autoComplete=\"username\"\n validate={required()}\n />\n <TextInput\n source=\"password\"\n label={translate('ra.auth.password')}\n type=\"password\"\n autoComplete=\"current-password\"\n validate={required()}\n />\n\n <Button\n variant=\"contained\"\n type=\"submit\"\n color=\"primary\"\n disabled={loading}\n fullWidth\n className={LoginFormClasses.button}\n >\n {loading ? (\n <CircularProgress\n className={LoginFormClasses.icon}\n size={19}\n thickness={3}\n />\n ) : (\n translate('ra.auth.sign_in')\n )}\n </Button>\n </CardContent>\n </StyledForm>\n );\n};\n\nconst PREFIX = 'RaLoginForm';\n\nexport const LoginFormClasses = {\n content: `${PREFIX}-content`,\n button: `${PREFIX}-button`,\n icon: `${PREFIX}-icon`,\n};\n\nconst StyledForm = styled(Form, {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme }) => ({\n [`& .${LoginFormClasses.content}`]: {\n width: 300,\n },\n [`& .${LoginFormClasses.button}`]: {\n marginTop: theme.spacing(2),\n },\n [`& .${LoginFormClasses.icon}`]: {\n margin: theme.spacing(0.3),\n },\n}));\n\nexport interface LoginFormProps {\n redirectTo?: string;\n className?: string;\n}\n\ninterface FormData {\n username: string;\n password: string;\n}\n","import * as React from 'react';\nimport { HtmlHTMLAttributes, ReactNode, useRef, useEffect } from 'react';\nimport { Card, Avatar, SxProps } from '@mui/material';\nimport { styled } from '@mui/material/styles';\nimport LockIcon from '@mui/icons-material/Lock';\nimport { useNavigate } from 'react-router-dom';\nimport { useCheckAuth } from 'ra-core';\n\nimport { LoginForm as DefaultLoginForm } from './LoginForm';\n\n/**\n * A standalone login page, to serve as authentication gate to the admin\n *\n * Expects the user to enter a login and a password, which will be checked\n * by the `authProvider.login()` method. Redirects to the root page (/)\n * upon success, otherwise displays an authentication error message.\n *\n * Copy and adapt this component to implement your own login logic\n * (e.g. to authenticate via email or facebook or anything else).\n *\n * @example\n * import MyLoginPage from './MyLoginPage';\n * const App = () => (\n * <Admin loginPage={MyLoginPage} authProvider={authProvider}>\n * ...\n * </Admin>\n * );\n */\nexport const Login = (props: LoginProps) => {\n const { children = defaultLoginForm, backgroundImage, ...rest } = props;\n const containerRef = useRef<HTMLDivElement>(null);\n let backgroundImageLoaded = false;\n const checkAuth = useCheckAuth();\n const navigate = useNavigate();\n useEffect(() => {\n checkAuth({}, false)\n .then(() => {\n // already authenticated, redirect to the home page\n navigate('/');\n })\n .catch(() => {\n // not authenticated, stay on the login page\n });\n }, [checkAuth, navigate]);\n\n const updateBackgroundImage = () => {\n if (!backgroundImageLoaded && containerRef.current) {\n containerRef.current.style.backgroundImage = `url(${backgroundImage})`;\n backgroundImageLoaded = true;\n }\n };\n\n // Load background image asynchronously to speed up time to interactive\n const lazyLoadBackgroundImage = () => {\n if (backgroundImage) {\n const img = new Image();\n img.onload = updateBackgroundImage;\n img.src = backgroundImage;\n }\n };\n\n useEffect(() => {\n if (!backgroundImageLoaded) {\n lazyLoadBackgroundImage();\n }\n });\n return (\n <Root {...rest} ref={containerRef}>\n <Card className={LoginClasses.card}>\n <div className={LoginClasses.avatar}>\n <Avatar className={LoginClasses.icon}>\n <LockIcon />\n </Avatar>\n </div>\n {children}\n </Card>\n </Root>\n );\n};\n\nconst defaultLoginForm = <DefaultLoginForm />;\n\nexport interface LoginProps extends HtmlHTMLAttributes<HTMLDivElement> {\n backgroundImage?: string;\n children?: ReactNode;\n className?: string;\n sx?: SxProps;\n}\n\nconst PREFIX = 'RaLogin';\nexport const LoginClasses = {\n card: `${PREFIX}-card`,\n avatar: `${PREFIX}-avatar`,\n icon: `${PREFIX}-icon`,\n};\n\nconst Root = styled('div', {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme }) => ({\n display: 'flex',\n flexDirection: 'column',\n minHeight: '100vh',\n height: '1px',\n alignItems: 'center',\n justifyContent: 'flex-start',\n backgroundRepeat: 'no-repeat',\n backgroundSize: 'cover',\n backgroundImage:\n 'radial-gradient(circle at 50% 14em, #313264 0%, #00023b 60%, #00023b 100%)',\n\n [`& .${LoginClasses.card}`]: {\n minWidth: 300,\n marginTop: '6em',\n },\n [`& .${LoginClasses.avatar}`]: {\n margin: '1em',\n display: 'flex',\n justifyContent: 'center',\n },\n [`& .${LoginClasses.icon}`]: {\n backgroundColor: theme.palette.secondary[500],\n },\n}));\n","import * as React from 'react';\nimport { ElementType, ReactElement } from 'react';\nimport { Card, styled, SxProps } from '@mui/material';\nimport { useCreateContext } from 'ra-core';\nimport clsx from 'clsx';\n\nimport { Title } from '../layout';\n\nexport const CreateView = (props: CreateViewProps) => {\n const {\n actions,\n aside,\n children,\n className,\n component: Content = Card,\n title,\n ...rest\n } = props;\n\n const { resource, defaultTitle } = useCreateContext();\n\n return (\n <Root className={clsx('create-page', className)} {...rest}>\n <Title\n title={title}\n defaultTitle={defaultTitle}\n preferenceKey={`${resource}.create.title`}\n />\n {actions}\n <div\n className={clsx(CreateClasses.main, {\n [CreateClasses.noActions]: !actions,\n })}\n >\n <Content className={CreateClasses.card}>{children}</Content>\n {aside}\n </div>\n </Root>\n );\n};\n\nexport interface CreateViewProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, 'title'> {\n actions?: ReactElement | false;\n aside?: ReactElement;\n component?: ElementType;\n sx?: SxProps;\n title?: string | ReactElement;\n}\n\nconst PREFIX = 'RaCreate';\n\nexport const CreateClasses = {\n main: `${PREFIX}-main`,\n noActions: `${PREFIX}-noActions`,\n card: `${PREFIX}-card`,\n};\n\nconst Root = styled('div', {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme }) => ({\n [`& .${CreateClasses.main}`]: {\n display: 'flex',\n },\n\n [`& .${CreateClasses.noActions}`]: {\n [theme.breakpoints.up('sm')]: {\n marginTop: '1em',\n },\n },\n\n [`& .${CreateClasses.card}`]: {\n flex: '1 1 auto',\n },\n}));\n","import * as React from 'react';\nimport { ReactElement } from 'react';\nimport {\n CreateBase,\n CreateControllerProps,\n Identifier,\n RaRecord,\n useCheckMinimumRequiredProps,\n} from 'ra-core';\n\nimport { CreateView, CreateViewProps } from './CreateView';\n\n/**\n * Page component for the Create view\n *\n * The `<Create>` component renders the page title and actions.\n * It is not responsible for rendering the actual form -\n * that's the job of its child component (usually `<SimpleForm>`),\n * to which it passes the `record` as prop.\n *\n * The <Create> component accepts the following props:\n *\n * - actions\n * - aside\n * - component\n * - mutationOptions\n * - title\n *\n * @example\n *\n * // in src/posts.js\n * import * as React from \"react\";\n * import { Create, SimpleForm, TextInput } from 'react-admin';\n *\n * export const PostCreate = () => (\n * <Create>\n * <SimpleForm>\n * <TextInput source=\"title\" />\n * </SimpleForm>\n * </Create>\n * );\n *\n * // in src/App.js\n * import * as React from \"react\";\n * import { Admin, Resource } from 'react-admin';\n *\n * import { PostCreate } from './posts';\n *\n * const App = () => (\n * <Admin dataProvider={...}>\n * <Resource name=\"posts\" create={PostCreate} />\n * </Admin>\n * );\n * export default App;\n */\nexport const Create = <\n RecordType extends Omit<RaRecord, 'id'> = any,\n ResultRecordType extends RaRecord = RecordType & { id: Identifier }\n>(\n props: CreateProps<RecordType, Error, ResultRecordType>\n): ReactElement => {\n useCheckMinimumRequiredProps('Create', ['children'], props);\n const {\n resource,\n record,\n redirect,\n transform,\n mutationOptions,\n disableAuthentication,\n hasEdit,\n hasShow,\n ...rest\n } = props;\n return (\n <CreateBase<RecordType, ResultRecordType>\n resource={resource}\n record={record}\n redirect={redirect}\n transform={transform}\n mutationOptions={mutationOptions}\n disableAuthentication={disableAuthentication}\n hasEdit={hasEdit}\n hasShow={hasShow}\n >\n <CreateView {...rest} />\n </CreateBase>\n );\n};\n\nexport interface CreateProps<\n RecordType extends Omit<RaRecord, 'id'> = any,\n MutationOptionsError = Error,\n ResultRecordType extends RaRecord = RecordType & { id: Identifier }\n> extends CreateControllerProps<\n RecordType,\n MutationOptionsError,\n ResultRecordType\n >,\n CreateViewProps {}\n","import * as React from 'react';\nimport { useResourceDefinition } from 'ra-core';\n\nimport { ToolbarProps } from '@mui/material';\nimport { ShowButton } from '../button';\nimport TopToolbar from '../layout/TopToolbar';\n\n/**\n * Action Toolbar for the Edit view\n *\n * Internal component. If you want to add or remove actions for an Edit view,\n * write your own EditActions Component. Then, in the <Edit> component,\n * use it in the `actions` prop to pass a custom component.\n *\n * @example\n * import Button from '@mui/material/Button';\n * import { TopToolbar, EditButton, Edit } from 'react-admin';\n *\n * const PostEditActions = () => (\n * <TopToolbar>\n * <EditButton />\n * // Add your custom actions here\n * <Button color=\"primary\" onClick={customAction}>Custom Action</Button>\n * </TopToolbar>\n * );\n *\n * export const PostEdit = (props) => (\n * <Edit actions={<PostEditActions />} {...props}>\n * ...\n * </Edit>\n * );\n */\nexport const EditActions = (props: EditActionsProps) => {\n const { hasShow } = useResourceDefinition(props);\n return (\n <TopToolbar {...sanitizeRestProps(props)}>\n {hasShow && <ShowButton />}\n </TopToolbar>\n );\n};\n\nconst sanitizeRestProps = ({\n hasCreate,\n hasEdit,\n hasShow,\n hasList,\n resource,\n ...rest\n}: EditActionsProps) => rest;\n\nexport interface EditActionsProps extends ToolbarProps {\n hasCreate?: boolean;\n hasEdit?: boolean;\n hasList?: boolean;\n hasShow?: boolean;\n resource?: string;\n}\n","import * as React from 'react';\nimport { ReactElement, ElementType } from 'react';\nimport { Card, CardContent, styled, SxProps } from '@mui/material';\nimport clsx from 'clsx';\nimport { useEditContext, useResourceDefinition } from 'ra-core';\n\nimport { EditActions } from './EditActions';\nimport { Title } from '../layout';\n\nconst defaultActions = <EditActions />;\n\nexport const EditView = (props: EditViewProps) => {\n const {\n actions,\n aside,\n children,\n className,\n component: Content = Card,\n title,\n ...rest\n } = props;\n\n const { hasShow } = useResourceDefinition();\n const { resource, defaultTitle, record } = useEditContext();\n\n const finalActions =\n typeof actions === 'undefined' && hasShow ? defaultActions : actions;\n if (!children) {\n return null;\n }\n return (\n <Root className={clsx('edit-page', className)} {...rest}>\n <Title\n title={title}\n defaultTitle={defaultTitle}\n preferenceKey={`${resource}.edit.title`}\n />\n {finalActions}\n <div\n className={clsx(EditClasses.main, {\n [EditClasses.noActions]: !finalActions,\n })}\n >\n <Content className={EditClasses.card}>\n {record ? children : <CardContent> </CardContent>}\n </Content>\n {aside}\n </div>\n </Root>\n );\n};\n\nexport interface EditViewProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, 'id' | 'title'> {\n actions?: ReactElement | false;\n aside?: ReactElement;\n component?: ElementType;\n title?: string | ReactElement;\n sx?: SxProps;\n}\n\nconst PREFIX = 'RaEdit';\n\nexport const EditClasses = {\n main: `${PREFIX}-main`,\n noActions: `${PREFIX}-noActions`,\n card: `${PREFIX}-card`,\n};\n\nconst Root = styled('div', {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})({\n [`& .${EditClasses.main}`]: {\n display: 'flex',\n alignItems: 'flex-start',\n },\n [`& .${EditClasses.noActions}`]: {\n marginTop: '1em',\n },\n [`& .${EditClasses.card}`]: {\n flex: '1 1 auto',\n },\n});\n","import * as React from 'react';\nimport {\n EditBase,\n useCheckMinimumRequiredProps,\n RaRecord,\n EditControllerProps,\n} from 'ra-core';\nimport { EditView, EditViewProps } from './EditView';\n\n/**\n * Page component for the Edit view\n *\n * The `<Edit>` component renders the page title and actions,\n * fetches the record from the data provider.\n * It is not responsible for rendering the actual form -\n * that's the job of its child component (usually `<SimpleForm>`),\n * to which it passes the `record` as prop.\n *\n * The <Edit> component accepts the following props:\n *\n * - actions\n * - aside\n * - component\n * - title\n * - mutationMode\n * - mutationOptions\n *\n * @example\n *\n * // in src/posts.js\n * import * as React from \"react\";\n * import { Edit, SimpleForm, TextInput } from 'react-admin';\n *\n * export const PostEdit = () => (\n * <Edit>\n * <SimpleForm>\n * <TextInput source=\"title\" />\n * </SimpleForm>\n * </Edit>\n * );\n *\n * // in src/App.js\n * import * as React from \"react\";\n * import { Admin, Resource } from 'react-admin';\n *\n * import { PostEdit } from './posts';\n *\n * const App = () => (\n * <Admin dataProvider={...}>\n * <Resource name=\"posts\" edit={PostEdit} />\n * </Admin>\n * );\n * export default App;\n */\nexport const Edit = <RecordType extends RaRecord = any>(\n props: EditProps<RecordType, Error>\n) => {\n useCheckMinimumRequiredProps('Edit', ['children'], props);\n const {\n resource,\n id,\n mutationMode,\n mutationOptions,\n queryOptions,\n redirect,\n transform,\n disableAuthentication,\n ...rest\n } = props;\n return (\n <EditBase<RecordType>\n resource={resource}\n id={id}\n mutationMode={mutationMode}\n mutationOptions={mutationOptions}\n queryOptions={queryOptions}\n redirect={redirect}\n transform={transform}\n disableAuthentication={disableAuthentication}\n >\n <EditView {...rest} />\n </EditBase>\n );\n};\n\nexport interface EditProps<RecordType extends RaRecord = any, ErrorType = Error>\n extends EditControllerProps<RecordType, ErrorType>,\n EditViewProps {}\n","import * as React from 'react';\nimport { styled } from '@mui/material/styles';\nimport { Children, ReactNode } from 'react';\nimport {\n Toolbar as MuiToolbar,\n ToolbarProps as MuiToolbarProps,\n useMediaQuery,\n Theme,\n} from '@mui/material';\nimport clsx from 'clsx';\n\nimport { SaveButton, DeleteButton } from '../button';\n\n/**\n * The Toolbar displayed at the bottom of forms.\n *\n * @example Always enable the <SaveButton />\n *\n * import * as React from 'react';\n * import {\n * Create,\n * DateInput,\n * TextInput,\n * SimpleForm,\n * Toolbar,\n * SaveButton,\n * required,\n * } from 'react-admin';\n *\n * const now = new Date();\n * const defaultSort = { field: 'title', order: 'ASC' };\n *\n * const MyToolbar = props => (\n * <Toolbar {...props} >\n * <SaveButton alwaysEnable />\n * </Toolbar>\n * );\n *\n * const CommentCreate = () => (\n * <Create>\n * <SimpleForm redirect={false} toolbar={<MyToolbar />}>\n * <TextInput\n * source=\"author.name\"\n * fullWidth\n * />\n * <DateInput source=\"created_at\" defaultValue={now} />\n * <TextInput source=\"body\" fullWidth={true} multiline={true} />\n * </SimpleForm>\n * </Create>\n * );\n *\n * @typedef {Object} Props the props you can use (other props are injected by the <SimpleForm>)\n * @prop {ReactElement[]} children Customize the buttons you want to display in the <Toolbar>.\n *\n */\nexport const Toolbar = (props: ToolbarProps) => {\n const { children, className, resource, ...rest } = props;\n\n const isXs = useMediaQuery<Theme>(theme => theme.breakpoints.down('sm'));\n\n return (\n <StyledToolbar\n className={clsx(\n {\n [ToolbarClasses.mobileToolbar]: isXs,\n [ToolbarClasses.desktopToolbar]: !isXs,\n },\n className\n )}\n role=\"toolbar\"\n {...rest}\n >\n {Children.count(children) === 0 ? (\n <div className={ToolbarClasses.defaultToolbar}>\n <SaveButton />\n <DeleteButton resource={resource} />\n </div>\n ) : (\n children\n )}\n </StyledToolbar>\n );\n};\n\nexport interface ToolbarProps extends Omit<MuiToolbarProps, 'classes'> {\n children?: ReactNode;\n className?: string;\n resource?: string;\n}\n\nconst PREFIX = 'RaToolbar';\n\nexport const ToolbarClasses = {\n desktopToolbar: `${PREFIX}-desktopToolbar`,\n mobileToolbar: `${PREFIX}-mobileToolbar`,\n defaultToolbar: `${PREFIX}-defaultToolbar`,\n};\n\nconst StyledToolbar = styled(MuiToolbar, {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme }) => ({\n backgroundColor:\n theme.palette.mode === 'light'\n ? theme.palette.grey[100]\n : theme.palette.grey[900],\n\n [`&.${ToolbarClasses.desktopToolbar}`]: {},\n\n [`&.${ToolbarClasses.mobileToolbar}`]: {\n position: 'fixed',\n bottom: 0,\n left: 0,\n right: 0,\n padding: '16px',\n width: '100%',\n boxSizing: 'border-box',\n flexShrink: 0,\n zIndex: 2,\n },\n\n [`& .${ToolbarClasses.defaultToolbar}`]: {\n flex: 1,\n display: 'flex',\n justifyContent: 'space-between',\n },\n}));\n","import { FunctionComponent, memo } from 'react';\n\n/**\n * A version of React.memo that preserves the original component type allowing it to accept generics.\n * See {@link https://stackoverflow.com/a/70890101}\n */\nexport const genericMemo: <T extends FunctionComponent>(component: T) => T = <\n T extends FunctionComponent\n>(\n component: T\n) => {\n const result = (memo(component) as unknown) as T;\n\n // We have to set the defaultProps and displayName on both the field implementation and the memoized version.\n // On the implementation so that the memoized version can pick them up and users may reference the defaultProps in their components.\n // On the memoized version so that components that inspect their children props may read them.\n result.defaultProps = component.defaultProps;\n result.displayName = component.displayName?.replace('Impl', '');\n return result;\n};\n","import * as React from 'react';\nimport { ReactNode } from 'react';\nimport get from 'lodash/get';\nimport {\n ListContextProvider,\n useRecordContext,\n useList,\n SortPayload,\n FilterPayload,\n RaRecord,\n} from 'ra-core';\n\nimport { FieldProps } from './types';\nimport { genericMemo } from './genericMemo';\n\n/**\n * Renders an embedded array of objects.\n *\n * ArrayField creates a ListContext with the field value, and renders its children components -\n * usually iterator components like Datagrid, SingleFieldList, or SimpleList.\n *\n * @example // Display all the tags of the current post as `<Chip>` components\n * // const post = {\n * // id: 123\n * // tags: [\n * // { name: 'foo' },\n * // { name: 'bar' }\n * // ]\n * // };\n * const PostShow = () => (\n * <Show>\n * <SimpleShowLayout>\n * <ArrayField source=\"tags\">\n * <SingleFieldList>\n * <ChipField source=\"name\" />\n * </SingleFieldList>\n * </ArrayField>\n * </SimpleShowLayout>\n * </Show>\n * );\n *\n * @example // Display all the backlinks of the current post as a `<Datagrid>`\n * // const post = {\n * // id: 123\n * // backlinks: [\n * // {\n * // uuid: '34fdf393-f449-4b04-a423-38ad02ae159e',\n * // date: '2012-08-10T00:00:00.000Z',\n * // url: 'http://example.com/foo/bar.html',\n * // },\n * // {\n * // uuid: 'd907743a-253d-4ec1-8329-404d4c5e6cf1',\n * // date: '2012-08-14T00:00:00.000Z',\n * // url: 'https://blog.johndoe.com/2012/08/12/foobar.html',\n * // }\n * // ]\n * // };\n * <ArrayField source=\"backlinks\">\n * <Datagrid>\n * <DateField source=\"date\" />\n * <UrlField source=\"url\" />\n * </Datagrid>\n * </ArrayField>\n *\n * @example // If you need to render a collection of strings, it's often simpler to write your own component\n * const TagsField = () => {\n * const record = useRecordContext();\n * return (\n * <ul>\n * {record.tags.map(item => (\n * <li key={item.name}>{item.name}</li>\n * ))}\n * </ul>\n * );\n * };\n *\n * @see useListContext\n */\nconst ArrayFieldImpl = <\n RecordType extends Record<string, any> = Record<string, any>\n>(\n props: ArrayFieldProps<RecordType>\n) => {\n const { children, resource, source, perPage, sort, filter } = props;\n const record = useRecordContext(props);\n const data = (get(record, source, emptyArray) as RaRecord[]) || emptyArray;\n const listContext = useList({ data, resource, perPage, sort, filter });\n return (\n <ListContextProvider value={listContext}>\n {children}\n </ListContextProvider>\n );\n};\nArrayFieldImpl.displayName = 'ArrayFieldImpl';\n\nexport const ArrayField = genericMemo(ArrayFieldImpl);\n\nexport interface ArrayFieldProps<\n RecordType extends Record<string, any> = Record<string, any>\n> extends FieldProps<RecordType> {\n children?: ReactNode;\n perPage?: number;\n sort?: SortPayload;\n filter?: FilterPayload;\n}\n\nconst emptyArray = [];\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z\"\n}), 'Done');","export const sanitizeFieldRestProps: (props: any) => any = ({\n cellClassName,\n className,\n emptyText,\n fullWidth,\n headerClassName,\n label,\n linkType,\n link,\n locale,\n record,\n refetch,\n resource,\n sortable,\n sortBy,\n sortByOrder,\n source,\n textAlign,\n translateChoice,\n ...props\n}) => props;\n","import * as React from 'react';\nimport { styled } from '@mui/material/styles';\nimport DoneIcon from '@mui/icons-material/Done';\nimport ClearIcon from '@mui/icons-material/Clear';\nimport { Tooltip, Typography, TypographyProps, SvgIcon } from '@mui/material';\nimport { useTranslate, useFieldValue } from 'ra-core';\nimport { genericMemo } from './genericMemo';\nimport { FieldProps } from './types';\nimport { sanitizeFieldRestProps } from './sanitizeFieldRestProps';\n\nconst BooleanFieldImpl = <\n RecordType extends Record<string, any> = Record<string, any>\n>(\n props: BooleanFieldProps<RecordType>\n) => {\n const {\n className,\n emptyText,\n valueLabelTrue,\n valueLabelFalse,\n TrueIcon = DoneIcon,\n FalseIcon = ClearIcon,\n looseValue = false,\n ...rest\n } = props;\n const translate = useTranslate();\n const value = useFieldValue(props);\n const isTruthyValue = value === true || (looseValue && value);\n let ariaLabel = value ? valueLabelTrue : valueLabelFalse;\n\n if (!ariaLabel) {\n ariaLabel = isTruthyValue ? 'ra.boolean.true' : 'ra.boolean.false';\n }\n\n if (looseValue || value === false || value === true) {\n return (\n <StyledTypography\n component=\"span\"\n variant=\"body2\"\n className={className}\n {...sanitizeFieldRestProps(rest)}\n >\n <Tooltip title={translate(ariaLabel, { _: ariaLabel })}>\n {isTruthyValue ? (\n TrueIcon ? (\n <TrueIcon\n data-testid=\"true\"\n fontSize=\"small\"\n className={classes.trueIcon}\n />\n ) : (\n <></>\n )\n ) : FalseIcon ? (\n <FalseIcon\n data-testid=\"false\"\n fontSize=\"small\"\n className={classes.falseIcon}\n />\n ) : (\n <></>\n )}\n </Tooltip>\n </StyledTypography>\n );\n }\n\n return (\n <Typography\n component=\"span\"\n variant=\"body2\"\n className={className}\n {...sanitizeFieldRestProps(rest)}\n >\n {emptyText && translate(emptyText, { _: emptyText })}\n </Typography>\n );\n};\nBooleanFieldImpl.displayName = 'BooleanFieldImpl';\n\nexport const BooleanField = genericMemo(BooleanFieldImpl);\n\nexport interface BooleanFieldProps<\n RecordType extends Record<string, any> = Record<string, any>\n> extends FieldProps<RecordType>,\n Omit<TypographyProps, 'textAlign'> {\n valueLabelTrue?: string;\n valueLabelFalse?: string;\n TrueIcon?: typeof SvgIcon | null;\n FalseIcon?: typeof SvgIcon | null;\n looseValue?: boolean;\n}\n\nconst PREFIX = 'RaBooleanField';\n\nconst classes = {\n trueIcon: `${PREFIX}-trueIcon`,\n falseIcon: `${PREFIX}-falseIcon`,\n};\n\nconst StyledTypography = styled(Typography, {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})({\n display: 'inline-flex',\n verticalAlign: 'middle',\n lineHeight: 0,\n [`& .${classes.trueIcon}`]: {},\n [`& .${classes.falseIcon}`]: {},\n});\n","import * as React from 'react';\nimport { styled } from '@mui/material/styles';\nimport Chip, { ChipProps } from '@mui/material/Chip';\nimport Typography from '@mui/material/Typography';\nimport clsx from 'clsx';\nimport { useFieldValue, useTranslate } from 'ra-core';\n\nimport { sanitizeFieldRestProps } from './sanitizeFieldRestProps';\nimport { FieldProps } from './types';\nimport { genericMemo } from './genericMemo';\n\nconst ChipFieldImpl = <\n RecordType extends Record<string, any> = Record<string, any>\n>(\n props: ChipFieldProps<RecordType>\n) => {\n const { className, emptyText, ...rest } = props;\n const value = useFieldValue(props);\n const translate = useTranslate();\n\n if (value == null && emptyText) {\n return (\n <Typography\n component=\"span\"\n variant=\"body2\"\n className={className}\n {...sanitizeFieldRestProps(rest)}\n >\n {emptyText && translate(emptyText, { _: emptyText })}\n </Typography>\n );\n }\n\n return (\n <StyledChip\n className={clsx(ChipFieldClasses.chip, className)}\n label={value}\n {...sanitizeFieldRestProps(rest)}\n />\n );\n};\nChipFieldImpl.displayName = 'ChipFieldImpl';\n\nexport const ChipField = genericMemo(ChipFieldImpl);\n\nexport interface ChipFieldProps<\n RecordType extends Record<string, any> = Record<string, any>\n> extends FieldProps<RecordType>,\n Omit<ChipProps, 'label' | 'children'> {\n /**\n * @internal do not use (prop required for TS to be able to cast ChipField as FunctionComponent)\n */\n children?: React.ReactNode;\n}\n\nconst PREFIX = 'RaChipField';\n\nconst ChipFieldClasses = {\n chip: `${PREFIX}-chip`,\n};\n\nconst StyledChip = styled(Chip, {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})({\n [`&.${ChipFieldClasses.chip}`]: { cursor: 'inherit' },\n});\n","import * as React from 'react';\nimport { Typography, TypographyProps } from '@mui/material';\nimport { useFieldValue, useTranslate } from 'ra-core';\n\nimport { sanitizeFieldRestProps } from './sanitizeFieldRestProps';\nimport { FieldProps } from './types';\nimport { genericMemo } from './genericMemo';\n\n/**\n * Display a date value as a locale string.\n *\n * Uses Intl.DateTimeFormat() if available, passing the locales and options props as arguments.\n * If Intl is not available, it outputs date as is (and ignores the locales and options props).\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleString\n * @example\n * <DateField source=\"published_at\" />\n * // renders the record { id: 1234, published_at: new Date('2012-11-07') } as\n * <span>07/11/2012</span>\n *\n * <DateField source=\"published_at\" className=\"red\" />\n * // renders the record { id: 1234, new Date('2012-11-07') } as\n * <span class=\"red\">07/11/2012</span>\n *\n * <DateField source=\"share\" options={{ weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' }} />\n * // renders the record { id: 1234, new Date('2012-11-07') } as\n * <span>Wednesday, November 7, 2012</span>\n *\n * <DateField source=\"price\" locales=\"fr-FR\" options={{ weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' }} />\n * // renders the record { id: 1234, new Date('2012-11-07') } as\n * <span>mercredi 7 novembre 2012</span>\n */\nconst DateFieldImpl = <\n RecordType extends Record<string, any> = Record<string, any>\n>(\n props: DateFieldProps<RecordType>\n) => {\n const {\n className,\n emptyText,\n locales,\n options,\n showTime = false,\n showDate = true,\n transform = defaultTransform,\n ...rest\n } = props;\n const translate = useTranslate();\n\n if (!showTime && !showDate) {\n throw new Error(\n '<DateField> cannot have showTime and showDate false at the same time'\n );\n }\n\n const value = useFieldValue(props);\n if (value == null || value === '') {\n return emptyText ? (\n <Typography\n component=\"span\"\n variant=\"body2\"\n className={className}\n {...sanitizeFieldRestProps(rest)}\n >\n {emptyText && translate(emptyText, { _: emptyText })}\n </Typography>\n ) : null;\n }\n\n const date = transform(value);\n\n let dateString = '';\n if (date) {\n if (showTime && showDate) {\n dateString = toLocaleStringSupportsLocales\n ? date.toLocaleString(locales, options)\n : date.toLocaleString();\n } else if (showDate) {\n // If input is a date string (e.g. '2022-02-15') without time and time zone,\n // force timezone to UTC to fix issue with people in negative time zones\n // who may see a different date when calling toLocaleDateString().\n const dateOptions =\n options ??\n (typeof value === 'string' && value.length <= 10\n ? { timeZone: 'UTC' }\n : undefined);\n dateString = toLocaleStringSupportsLocales\n ? date.toLocaleDateString(locales, dateOptions)\n : date.toLocaleDateString();\n } else if (showTime) {\n dateString = toLocaleStringSupportsLocales\n ? date.toLocaleTimeString(locales, options)\n : date.toLocaleTimeString();\n }\n }\n\n return (\n <Typography\n component=\"span\"\n variant=\"body2\"\n className={className}\n {...sanitizeFieldRestProps(rest)}\n >\n {dateString}\n </Typography>\n );\n};\nDateFieldImpl.displayName = 'DateFieldImpl';\n\nexport const DateField = genericMemo(DateFieldImpl);\n\nexport interface DateFieldProps<\n RecordType extends Record<string, any> = Record<string, any>\n> extends FieldProps<RecordType>,\n Omit<TypographyProps, 'textAlign'> {\n locales?: Intl.LocalesArgument;\n options?: Intl.DateTimeFormatOptions;\n showTime?: boolean;\n showDate?: boolean;\n transform?: (value: any) => Date;\n}\n\nconst defaultTransform = value =>\n value instanceof Date\n ? value\n : typeof value === 'string' || typeof value === 'number'\n ? new Date(value)\n : undefined;\n\nconst toLocaleStringSupportsLocales = (() => {\n // from https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleString\n try {\n new Date().toLocaleString('i');\n } catch (error) {\n return error instanceof RangeError;\n }\n return false;\n})();\n","import * as React from 'react';\nimport Typography from '@mui/material/Typography';\nimport { Link, LinkProps } from '@mui/material';\nimport { useFieldValue, useTranslate } from 'ra-core';\n\nimport { sanitizeFieldRestProps } from './sanitizeFieldRestProps';\nimport { FieldProps } from './types';\nimport { genericMemo } from './genericMemo';\n\nconst EmailFieldImpl = <\n RecordType extends Record<string, any> = Record<string, any>\n>(\n props: EmailFieldProps<RecordType>\n) => {\n const { className, emptyText, ...rest } = props;\n const value = useFieldValue(props);\n const translate = useTranslate();\n\n if (value == null) {\n return emptyText ? (\n <Typography\n component=\"span\"\n variant=\"body2\"\n className={className}\n {...sanitizeFieldRestProps(rest)}\n >\n {emptyText && translate(emptyText, { _: emptyText })}\n </Typography>\n ) : null;\n }\n\n return (\n <Link\n className={className}\n href={`mailto:${value}`}\n onClick={stopPropagation}\n variant=\"body2\"\n {...sanitizeFieldRestProps(rest)}\n >\n {value}\n </Link>\n );\n};\nEmailFieldImpl.displayName = 'EmailFieldImpl';\n\nexport const EmailField = genericMemo(EmailFieldImpl);\n\nexport interface EmailFieldProps<\n RecordType extends Record<string, any> = Record<string, any>\n> extends FieldProps<RecordType>,\n Omit<LinkProps, 'textAlign'> {}\n\n// useful to prevent click bubbling in a Datagrid with rowClick\nconst stopPropagation = e => e.stopPropagation();\n","import * as React from 'react';\nimport { useMemo, ReactNode } from 'react';\nimport { useRecordContext } from 'ra-core';\nimport Typography, { TypographyProps } from '@mui/material/Typography';\n\nimport { sanitizeFieldRestProps } from './sanitizeFieldRestProps';\nimport { FieldProps } from './types';\n\n/**\n * Field using a render function\n *\n * @example\n * <FunctionField\n * source=\"last_name\" // used for sorting\n * label=\"Name\"\n * render={record => `${record.first_name} ${record.last_name}`}\n * />\n */\n\nexport const FunctionField = <RecordType extends Record<string, any> = any>(\n props: FunctionFieldProps<RecordType>\n) => {\n const { className, source = '', render, ...rest } = props;\n const record = useRecordContext(props);\n return useMemo(\n () =>\n record ? (\n <Typography\n component=\"span\"\n variant=\"body2\"\n className={className}\n {...sanitizeFieldRestProps(rest)}\n >\n {render(record, source)}\n </Typography>\n ) : null,\n [className, record, source, render, rest]\n );\n};\n\nexport interface FunctionFieldProps<\n RecordType extends Record<string, any> = any\n> extends Omit<FieldProps<RecordType>, 'source'>,\n Omit<TypographyProps, 'textAlign'> {\n source?: string;\n render: (record: RecordType, source?: string) => ReactNode;\n}\n","import * as React from 'react';\nimport Typography, { TypographyProps } from '@mui/material/Typography';\nimport { useFieldValue, useTranslate } from 'ra-core';\n\nimport { sanitizeFieldRestProps } from './sanitizeFieldRestProps';\nimport { FieldProps } from './types';\nimport { genericMemo } from './genericMemo';\n\n/**\n * Display a numeric value as a locale string.\n *\n * Uses Intl.NumberFormat() if available, passing the locales and options props as arguments.\n * If Intl is not available, it outputs number as is (and ignores the locales and options props).\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toLocaleString\n * @example\n * <NumberField source=\"score\" />\n * // renders the record { id: 1234, score: 567 } as\n * <span>567</span>\n *\n * <NumberField source=\"score\" className=\"red\" />\n * // renders the record { id: 1234, score: 567 } as\n * <span class=\"red\">567</span>\n *\n * <NumberField source=\"share\" options={{ style: 'percent' }} />\n * // renders the record { id: 1234, share: 0.2545 } as\n * <span>25%</span>\n *\n * <NumberField source=\"price\" options={{ style: 'currency', currency: 'USD' }} />\n * // renders the record { id: 1234, price: 25.99 } as\n * <span>$25.99</span>\n *\n * <NumberField source=\"price\" locales=\"fr-FR\" options={{ style: 'currency', currency: 'USD' }} />\n * // renders the record { id: 1234, price: 25.99 } as\n * <span>25,99 $US</span>\n */\nconst NumberFieldImpl = <\n RecordType extends Record<string, any> = Record<string, any>\n>(\n props: NumberFieldProps<RecordType>\n) => {\n const {\n className,\n emptyText,\n source,\n locales,\n options,\n textAlign,\n transform = defaultTransform,\n ...rest\n } = props;\n const translate = useTranslate();\n let value = useFieldValue(props);\n\n if (value == null) {\n return emptyText ? (\n <Typography\n component=\"span\"\n variant=\"body2\"\n className={className}\n {...sanitizeFieldRestProps(rest)}\n >\n {emptyText && translate(emptyText, { _: emptyText })}\n </Typography>\n ) : null;\n }\n\n if (transform) {\n value = transform(value);\n }\n\n return (\n <Typography\n variant=\"body2\"\n component=\"span\"\n className={className}\n {...sanitizeFieldRestProps(rest)}\n >\n {hasNumberFormat && typeof value === 'number'\n ? value.toLocaleString(locales, options)\n : value}\n </Typography>\n );\n};\n\nconst defaultTransform = value =>\n value && typeof value === 'string' && !isNaN(value as any) ? +value : value;\n\n// what? TypeScript loses the displayName if we don't set it explicitly\nNumberFieldImpl.displayName = 'NumberFieldImpl';\n\nexport const NumberField = genericMemo(NumberFieldImpl);\n// @ts-expect-error This is a hack that replaces react support for defaultProps. We currently need this for the Datagrid.\nNumberField.textAlign = 'right';\n\nexport interface NumberFieldProps<\n RecordType extends Record<string, any> = Record<string, any>\n> extends FieldProps<RecordType>,\n Omit<TypographyProps, 'textAlign'> {\n locales?: string | string[];\n options?: object;\n transform?: (value: any) => number;\n}\n\nconst hasNumberFormat = !!(\n typeof Intl === 'object' &&\n Intl &&\n typeof Intl.NumberFormat === 'function'\n);\n","import * as React from 'react';\nimport clsx from 'clsx';\nimport { Link as RRLink, LinkProps as RRLinkProps } from 'react-router-dom';\nimport {\n styled,\n Link as MuiLink,\n LinkProps as MuiLinkProps,\n} from '@mui/material';\n\nexport const Link = (props: LinkProps) => {\n const { to, children, className, ...rest } = props;\n\n return (\n <StyledMuiLink\n component={RRLink}\n to={to}\n className={clsx(LinkClasses.link, className)}\n {...rest}\n >\n {children}\n </StyledMuiLink>\n );\n};\n\nconst PREFIX = 'RaLink';\n\nexport const LinkClasses = {\n link: `${PREFIX}-link`,\n};\n\nconst StyledMuiLink = styled(MuiLink)({}) as typeof MuiLink; // @see https://mui.com/material-ui/guides/typescript/#complications-with-the-component-prop\n\n// @see https://mui.com/material-ui/guides/composition/#with-typescript\nexport interface LinkProps\n extends MuiLinkProps<React.ElementType<any>, RRLinkProps> {\n className?: string;\n}\n","import * as React from 'react';\nimport { Chip, Stack, StackProps, styled } from '@mui/material';\nimport {\n sanitizeListRestProps,\n useListContextWithProps,\n useResourceContext,\n RaRecord,\n RecordContextProvider,\n RecordRepresentation,\n useCreatePath,\n} from 'ra-core';\n\nimport { LinearProgress } from '../layout/LinearProgress';\nimport { Link } from '../Link';\n\n/**\n * Iterator component to be used to display a list of entities, using a single field\n *\n * @example Display all the orders by the current customer as a list of chips\n * <ReferenceManyField reference=\"orders\" target=\"customer_id\">\n * <SingleFieldList />\n * </ReferenceManyField>\n\n* @example Choose the field to be used as text label\n * <ReferenceManyField reference=\"orders\" target=\"customer_id\">\n * <SingleFieldList>\n * <ChipField source=\"reference\" />\n * </SingleFieldList>\n * </ReferenceManyField>\n *\n * @example Customize the link type\n * // By default, it includes a link to the <Edit> page of the related record\n * // (`/orders/:id` in the previous example).\n * // Set the linkType prop to \"show\" to link to the <Show> page instead.\n * <ReferenceManyField reference=\"books\" target=\"author_id\">\n * <SingleFieldList linkType=\"show\">\n * <ChipField source=\"title\" />\n * </SingleFieldList>\n * </ReferenceManyField>\n *\n * @example Disable the link\n * // You can also prevent `<SingleFieldList>` from adding link to children by\n * // setting `linkType` to false.\n * <ReferenceManyField reference=\"books\" target=\"author_id\">\n * <SingleFieldList linkType={false}>\n * <ChipField source=\"title\" />\n * </SingleFieldList>\n * </ReferenceManyField>\n */\nexport const SingleFieldList = (props: SingleFieldListProps) => {\n const {\n className,\n children,\n empty,\n linkType = 'edit',\n gap = 1,\n direction = 'row',\n ...rest\n } = props;\n const { data, total, isPending } = useListContextWithProps(props);\n const resource = useResourceContext(props);\n const createPath = useCreatePath();\n\n if (isPending === true) {\n return <LinearProgress />;\n }\n\n if (data == null || data.length === 0 || total === 0) {\n if (empty) {\n return empty;\n }\n\n return null;\n }\n\n return (\n <Root\n gap={gap}\n direction={direction}\n className={className}\n {...sanitizeListRestProps(rest)}\n >\n {data.map((record, rowIndex) => {\n const resourceLinkPath = !linkType\n ? false\n : createPath({\n resource,\n type: linkType,\n id: record.id,\n });\n\n if (resourceLinkPath) {\n return (\n <RecordContextProvider\n value={record}\n key={record.id ?? `row${rowIndex}`}\n >\n <Link\n className={SingleFieldListClasses.link}\n to={resourceLinkPath}\n onClick={stopPropagation}\n >\n {children || (\n <DefaultChildComponent clickable />\n )}\n </Link>\n </RecordContextProvider>\n );\n }\n\n return (\n <RecordContextProvider\n value={record}\n key={record.id ?? `row${rowIndex}`}\n >\n {children || <DefaultChildComponent />}\n </RecordContextProvider>\n );\n })}\n </Root>\n );\n};\n\nexport interface SingleFieldListProps<RecordType extends RaRecord = any>\n extends StackProps {\n className?: string;\n empty?: React.ReactElement;\n linkType?: string | false;\n children?: React.ReactNode;\n // can be injected when using the component without context\n data?: RecordType[];\n total?: number;\n loaded?: boolean;\n}\n\nconst PREFIX = 'RaSingleFieldList';\n\nexport const SingleFieldListClasses = {\n link: `${PREFIX}-link`,\n};\n\nconst Root = styled(Stack, {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme }) => ({\n flexWrap: 'wrap',\n [`& .${SingleFieldListClasses.link}`]: {\n textDecoration: 'none',\n '& > *': {\n color: theme.palette.primary.main,\n },\n },\n}));\n\n// useful to prevent click bubbling in a datagrid with rowClick\nconst stopPropagation = e => e.stopPropagation();\n\nconst DefaultChildComponent = ({ clickable }: { clickable?: boolean }) => (\n <Chip\n sx={{ cursor: 'inherit' }}\n size=\"small\"\n label={<RecordRepresentation />}\n clickable={clickable}\n />\n);\n","import * as React from 'react';\nimport { FC, memo, ReactElement, ReactNode } from 'react';\nimport {\n ListContextProvider,\n useListContext,\n ListControllerProps,\n useReferenceArrayFieldController,\n SortPayload,\n FilterPayload,\n ResourceContextProvider,\n useRecordContext,\n RaRecord,\n} from 'ra-core';\nimport { styled } from '@mui/material/styles';\nimport { SxProps } from '@mui/system';\nimport { UseQueryOptions } from '@tanstack/react-query';\n\nimport { FieldProps } from './types';\nimport { LinearProgress } from '../layout';\nimport { SingleFieldList } from '../list/SingleFieldList';\n\n/**\n * A container component that fetches records from another resource specified\n * by an array of *ids* in current record.\n *\n * You must define the fields to be passed to the iterator component as children.\n *\n * @example Display all the products of the current order as datagrid\n * // order = {\n * // id: 123,\n * // product_ids: [456, 457, 458],\n * // }\n * <ReferenceArrayField label=\"Products\" reference=\"products\" source=\"product_ids\">\n * <Datagrid>\n * <TextField source=\"id\" />\n * <TextField source=\"description\" />\n * <NumberField source=\"price\" options={{ style: 'currency', currency: 'USD' }} />\n * <EditButton />\n * </Datagrid>\n * </ReferenceArrayField>\n *\n * @example Display all the categories of the current product as a list of chips\n * // product = {\n * // id: 456,\n * // category_ids: [11, 22, 33],\n * // }\n * <ReferenceArrayField label=\"Categories\" reference=\"categories\" source=\"category_ids\">\n * <SingleFieldList>\n * <ChipField source=\"name\" />\n * </SingleFieldList>\n * </ReferenceArrayField>\n *\n * By default, restricts the displayed values to 1000. You can extend this limit\n * by setting the `perPage` prop.\n *\n * @example\n * <ReferenceArrayField perPage={10} reference=\"categories\" source=\"category_ids\">\n * ...\n * </ReferenceArrayField>\n *\n * By default, the field displays the results in the order in which they are referenced\n * (i.e. in the order of the list of ids). You can change this order\n * by setting the `sort` prop (an object with `field` and `order` properties).\n *\n * @example\n * <ReferenceArrayField sort={{ field: 'name', order: 'ASC' }} reference=\"categories\" source=\"category_ids\">\n * ...\n * </ReferenceArrayField>\n *\n * Also, you can filter the results to display only a subset of values. Use the\n * `filter` prop for that.\n *\n * @example\n * <ReferenceArrayField filter={{ is_published: true }} reference=\"categories\" source=\"category_ids\">\n * ...\n * </ReferenceArrayField>\n */\nexport const ReferenceArrayField = <\n RecordType extends RaRecord = RaRecord,\n ReferenceRecordType extends RaRecord = RaRecord\n>(\n props: ReferenceArrayFieldProps<RecordType, ReferenceRecordType>\n) => {\n const {\n filter,\n page = 1,\n perPage,\n reference,\n resource,\n sort,\n source,\n queryOptions,\n } = props;\n const record = useRecordContext(props);\n const controllerProps = useReferenceArrayFieldController<\n RecordType,\n ReferenceRecordType\n >({\n filter,\n page,\n perPage,\n record,\n reference,\n resource,\n sort,\n source,\n queryOptions,\n });\n return (\n <ResourceContextProvider value={reference}>\n <ListContextProvider value={controllerProps}>\n <PureReferenceArrayFieldView {...props} />\n </ListContextProvider>\n </ResourceContextProvider>\n );\n};\nexport interface ReferenceArrayFieldProps<\n RecordType extends RaRecord = RaRecord,\n ReferenceRecordType extends RaRecord = RaRecord\n> extends FieldProps<RecordType> {\n children?: ReactNode;\n filter?: FilterPayload;\n page?: number;\n pagination?: ReactElement;\n perPage?: number;\n reference: string;\n sort?: SortPayload;\n sx?: SxProps;\n queryOptions?: UseQueryOptions<ReferenceRecordType[], Error>;\n}\n\nexport interface ReferenceArrayFieldViewProps\n extends Omit<ReferenceArrayFieldProps, 'resource' | 'page' | 'perPage'>,\n Omit<ListControllerProps, 'queryOptions'> {}\n\nexport const ReferenceArrayFieldView: FC<ReferenceArrayFieldViewProps> = props => {\n const { children, pagination, className, sx } = props;\n const { isPending, total } = useListContext();\n\n return (\n <Root className={className} sx={sx}>\n {isPending ? (\n <LinearProgress\n className={ReferenceArrayFieldClasses.progress}\n />\n ) : (\n <span>\n {children || <SingleFieldList />}\n {pagination && total !== undefined ? pagination : null}\n </span>\n )}\n </Root>\n );\n};\n\nconst PREFIX = 'RaReferenceArrayField';\n\nexport const ReferenceArrayFieldClasses = {\n progress: `${PREFIX}-progress`,\n};\n\nconst Root = styled('div', {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme }) => ({\n [`& .${ReferenceArrayFieldClasses.progress}`]: {\n marginTop: theme.spacing(2),\n },\n}));\n\nconst PureReferenceArrayFieldView = memo(ReferenceArrayFieldView);\n","import * as React from 'react';\nimport { ReactNode } from 'react';\nimport { Typography, SxProps } from '@mui/material';\nimport { styled } from '@mui/material/styles';\nimport ErrorIcon from '@mui/icons-material/Error';\nimport {\n LinkToType,\n RecordContextProvider,\n useGetRecordRepresentation,\n useTranslate,\n RaRecord,\n ReferenceFieldBase,\n useReferenceFieldContext,\n useFieldValue,\n} from 'ra-core';\nimport { UseQueryOptions } from '@tanstack/react-query';\n\nimport { LinearProgress } from '../layout';\nimport { Link } from '../Link';\nimport { FieldProps } from './types';\nimport { genericMemo } from './genericMemo';\n\n/**\n * Fetch reference record, and render its representation, or delegate rendering to child component.\n *\n * The reference prop should be the name of one of the <Resource> components\n * added as <Admin> child.\n *\n * @example // using recordRepresentation\n * <ReferenceField label=\"User\" source=\"userId\" reference=\"users\" />\n *\n * @example // using a Field component to represent the record\n * <ReferenceField label=\"User\" source=\"userId\" reference=\"users\">\n * <TextField source=\"name\" />\n * </ReferenceField>\n *\n * @example // By default, includes a link to the <Edit> page of the related record\n * // (`/users/:userId` in the previous example).\n * // Set the `link` prop to \"show\" to link to the <Show> page instead.\n * <ReferenceField label=\"User\" source=\"userId\" reference=\"users\" link=\"show\" />\n *\n * @example // You can also prevent `<ReferenceField>` from adding link to children\n * // by setting `link` to false.\n * <ReferenceField label=\"User\" source=\"userId\" reference=\"users\" link={false} />\n *\n * @example // Alternatively, you can also pass a custom function to `link`.\n * // It must take reference and record as arguments and return a string\n * <ReferenceField label=\"User\" source=\"userId\" reference=\"users\" link={(record, reference) => \"/path/to/${reference}/${record}\"} />\n *\n * @default\n * In previous versions of React-Admin, the prop `linkType` was used. It is now deprecated and replaced with `link`. However\n * backward-compatibility is still kept\n */\nexport const ReferenceField = <\n RecordType extends Record<string, any> = Record<string, any>,\n ReferenceRecordType extends RaRecord = RaRecord\n>(\n props: ReferenceFieldProps<RecordType, ReferenceRecordType>\n) => {\n const { emptyText } = props;\n const translate = useTranslate();\n const id = useFieldValue(props);\n\n if (id == null) {\n return emptyText ? (\n <Typography component=\"span\" variant=\"body2\">\n {emptyText && translate(emptyText, { _: emptyText })}\n </Typography>\n ) : null;\n }\n\n return (\n <ReferenceFieldBase<ReferenceRecordType> {...props}>\n <PureReferenceFieldView<RecordType, ReferenceRecordType>\n {...props}\n />\n </ReferenceFieldBase>\n );\n};\n\nexport interface ReferenceFieldProps<\n RecordType extends Record<string, any> = Record<string, any>,\n ReferenceRecordType extends RaRecord = RaRecord\n> extends Omit<FieldProps<RecordType>, 'source'>,\n Required<Pick<FieldProps<RecordType>, 'source'>> {\n children?: ReactNode;\n queryOptions?: Partial<\n UseQueryOptions<ReferenceRecordType[], Error> & {\n meta?: any;\n }\n >;\n reference: string;\n translateChoice?: Function | boolean;\n link?: LinkToType<ReferenceRecordType>;\n sx?: SxProps;\n}\n\n// useful to prevent click bubbling in a datagrid with rowClick\nconst stopPropagation = e => e.stopPropagation();\n\nexport const ReferenceFieldView = <\n RecordType extends Record<string, any> = Record<string, any>,\n ReferenceRecordType extends RaRecord = RaRecord\n>(\n props: ReferenceFieldViewProps<RecordType, ReferenceRecordType>\n) => {\n const { children, className, emptyText, reference, sx } = props;\n const {\n error,\n link,\n isLoading,\n referenceRecord,\n } = useReferenceFieldContext();\n\n const getRecordRepresentation = useGetRecordRepresentation(reference);\n const translate = useTranslate();\n\n if (error) {\n return (\n /* eslint-disable jsx-a11y/role-supports-aria-props */\n <ErrorIcon\n aria-errormessage={error.message ? error.message : error}\n role=\"presentation\"\n color=\"error\"\n fontSize=\"small\"\n />\n /* eslint-enable */\n );\n }\n // We explicitly check isLoading here as the record may not have an id for the reference,\n // in which case, the query will not be enabled and isPending will be true\n // isLoading checks that we are actually loading the reference record\n if (isLoading) {\n return <LinearProgress />;\n }\n if (!referenceRecord) {\n return emptyText ? (\n <Typography component=\"span\" variant=\"body2\">\n {emptyText && translate(emptyText, { _: emptyText })}\n </Typography>\n ) : null;\n }\n\n let child = children || (\n <Typography component=\"span\" variant=\"body2\">\n {getRecordRepresentation(referenceRecord)}\n </Typography>\n );\n\n if (link) {\n return (\n <Root className={className} sx={sx}>\n <RecordContextProvider value={referenceRecord}>\n <Link\n to={link}\n className={ReferenceFieldClasses.link}\n onClick={stopPropagation}\n state={{ _scrollToTop: true }}\n >\n {child}\n </Link>\n </RecordContextProvider>\n </Root>\n );\n }\n\n return (\n <Root className={className} sx={sx}>\n <RecordContextProvider value={referenceRecord}>\n {child}\n </RecordContextProvider>\n </Root>\n );\n};\n\nexport interface ReferenceFieldViewProps<\n RecordType extends Record<string, any> = Record<string, any>,\n ReferenceRecordType extends RaRecord = RaRecord\n> extends FieldProps<RecordType>,\n Omit<ReferenceFieldProps<RecordType, ReferenceRecordType>, 'link'> {\n children?: ReactNode;\n reference: string;\n resource?: string;\n translateChoice?: Function | boolean;\n sx?: SxProps;\n}\n\nconst PureReferenceFieldView = genericMemo(ReferenceFieldView);\n\nconst PREFIX = 'RaReferenceField';\n\nexport const ReferenceFieldClasses = {\n link: `${PREFIX}-link`,\n};\n\nconst Root = styled('span', {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme }) => ({\n lineHeight: 'initial',\n [`& .${ReferenceFieldClasses.link}`]: {\n '& > *': {\n color: theme.palette.primary.main,\n },\n },\n}));\n","import React, { ReactElement, ReactNode } from 'react';\nimport {\n FilterPayload,\n SortPayload,\n useReferenceManyFieldController,\n ListContextProvider,\n ResourceContextProvider,\n useRecordContext,\n RaRecord,\n} from 'ra-core';\nimport { UseQueryOptions } from '@tanstack/react-query';\n\nimport { FieldProps } from './types';\n\n/**\n * Render related records to the current one.\n *\n * You must define the fields to be passed to the iterator component as children.\n *\n * @example Display all the comments of the current post as a datagrid\n * <ReferenceManyField reference=\"comments\" target=\"post_id\">\n * <Datagrid>\n * <TextField source=\"id\" />\n * <TextField source=\"body\" />\n * <DateField source=\"created_at\" />\n * <EditButton />\n * </Datagrid>\n * </ReferenceManyField>\n *\n * @example Display all the books by the current author, only the title\n * <ReferenceManyField reference=\"books\" target=\"author_id\">\n * <SingleFieldList>\n * <ChipField source=\"title\" />\n * </SingleFieldList>\n * </ReferenceManyField>\n *\n * By default, restricts the displayed values to 25. You can extend this limit\n * by setting the `perPage` prop.\n *\n * @example\n * <ReferenceManyField perPage={10} reference=\"comments\" target=\"post_id\">\n * ...\n * </ReferenceManyField>\n *\n * By default, orders the possible values by id desc. You can change this order\n * by setting the `sort` prop (an object with `field` and `order` properties).\n *\n * @example\n * <ReferenceManyField sort={{ field: 'created_at', order: 'DESC' }} reference=\"comments\" target=\"post_id\">\n * ...\n * </ReferenceManyField>\n *\n * Also, you can filter the query used to populate the possible values. Use the\n * `filter` prop for that.\n *\n * @example\n * <ReferenceManyField filter={{ is_published: true }} reference=\"comments\" target=\"post_id\">\n * ...\n * </ReferenceManyField>\n */\nexport const ReferenceManyField = <\n RecordType extends RaRecord = RaRecord,\n ReferenceRecordType extends RaRecord = RaRecord\n>(\n props: ReferenceManyFieldProps<RecordType, ReferenceRecordType>\n) => {\n const {\n children,\n debounce,\n filter = defaultFilter,\n page = 1,\n pagination = null,\n perPage = 25,\n reference,\n resource,\n sort = defaultSort,\n source = 'id',\n target,\n queryOptions,\n } = props;\n const record = useRecordContext(props);\n\n const controllerProps = useReferenceManyFieldController<\n RecordType,\n ReferenceRecordType\n >({\n debounce,\n filter,\n page,\n perPage,\n record,\n reference,\n resource,\n sort,\n source,\n target,\n queryOptions,\n });\n\n return (\n <ResourceContextProvider value={reference}>\n <ListContextProvider value={controllerProps}>\n {children}\n {pagination}\n </ListContextProvider>\n </ResourceContextProvider>\n );\n};\n\nexport interface ReferenceManyFieldProps<\n RecordType extends Record<string, any> = Record<string, any>,\n ReferenceRecordType extends Record<string, any> = Record<string, any>\n> extends Omit<FieldProps<RecordType>, 'source'> {\n children: ReactNode;\n debounce?: number;\n filter?: FilterPayload;\n page?: number;\n pagination?: ReactElement;\n perPage?: number;\n reference: string;\n sort?: SortPayload;\n source?: string;\n target: string;\n queryOptions?: UseQueryOptions<\n { data: ReferenceRecordType[]; total: number },\n Error\n >;\n}\n\nconst defaultFilter = {};\nconst defaultSort = { field: 'id', order: 'DESC' as const };\n","import * as React from 'react';\nimport { ChoicesProps, useChoices, useFieldValue, useTranslate } from 'ra-core';\nimport { Typography, TypographyProps } from '@mui/material';\n\nimport { sanitizeFieldRestProps } from './sanitizeFieldRestProps';\nimport { FieldProps } from './types';\nimport { genericMemo } from './genericMemo';\n\n/**\n * Display a value in an enumeration\n *\n * Pass possible options as an array of objects in the 'choices' attribute.\n *\n * @example\n * const choices = [\n * { id: 'M', name: 'Male' },\n * { id: 'F', name: 'Female' },\n * ];\n * <SelectField source=\"gender\" choices={choices} />\n *\n * By default, the text is built by\n * - finding a choice where the 'id' property equals the field value\n * - using the 'name' property as the option text\n *\n * You can also customize the properties to use for the value and text,\n * thanks to the 'optionValue' and 'optionText' attributes.\n *\n * @example\n * const choices = [\n * { _id: 123, full_name: 'Leo Tolstoi', sex: 'M' },\n * { _id: 456, full_name: 'Jane Austen', sex: 'F' },\n * ];\n * <SelectField source=\"author_id\" choices={choices} optionText=\"full_name\" optionValue=\"_id\" />\n *\n * `optionText` also accepts a function, so you can shape the option text at will:\n * @example\n * const choices = [\n * { id: 123, first_name: 'Leo', last_name: 'Tolstoi' },\n * { id: 456, first_name: 'Jane', last_name: 'Austen' },\n * ];\n * const optionRenderer = choice => `${choice.first_name} ${choice.last_name}`;\n * <SelectField source=\"author_id\" choices={choices} optionText={optionRenderer} />\n *\n * `optionText` also accepts a React Element, that can access\n * the related choice through the `useRecordContext` hook. You can use Field components there.\n * @example\n * const choices = [\n * { id: 123, first_name: 'Leo', last_name: 'Tolstoi' },\n * { id: 456, first_name: 'Jane', last_name: 'Austen' },\n * ];\n * const FullNameField = () => {\n * const record = useRecordContext();\n * return (<Chip>{record.first_name} {record.last_name}</Chip>)\n * };\n * <SelectField source=\"gender\" choices={choices} optionText={<FullNameField />}/>\n *\n * The current choice is translated by default, so you can use translation identifiers as choices:\n * @example\n * const choices = [\n * { id: 'M', name: 'myroot.gender.male' },\n * { id: 'F', name: 'myroot.gender.female' },\n * ];\n *\n * However, in some cases (e.g. inside a `<ReferenceField>`), you may not want\n * the choice to be translated. In that case, set the `translateChoice` prop to false.\n * @example\n * <SelectField source=\"gender\" choices={choices} translateChoice={false}/>\n *\n * **Tip**: <ReferenceField> sets `translateChoice` to false by default.\n */\nconst SelectFieldImpl = <\n RecordType extends Record<string, any> = Record<string, any>\n>(\n props: SelectFieldProps<RecordType>\n) => {\n const {\n className,\n emptyText,\n choices,\n optionValue = 'id',\n optionText = 'name',\n translateChoice = true,\n ...rest\n } = props;\n const value = useFieldValue(props);\n\n const { getChoiceText, getChoiceValue } = useChoices({\n optionText,\n optionValue,\n translateChoice,\n });\n const translate = useTranslate();\n\n const choice = choices\n ? choices.find(choice => getChoiceValue(choice) === value)\n : null;\n\n if (!choice) {\n return emptyText ? (\n <Typography\n component=\"span\"\n variant=\"body2\"\n className={className}\n {...sanitizeFieldRestProps(rest)}\n >\n {emptyText && translate(emptyText, { _: emptyText })}\n </Typography>\n ) : null;\n }\n\n let choiceText = getChoiceText(choice);\n\n return (\n <Typography\n component=\"span\"\n variant=\"body2\"\n className={className}\n {...sanitizeFieldRestProps(rest)}\n >\n {choiceText}\n </Typography>\n );\n};\n\nSelectFieldImpl.displayName = 'SelectFieldImpl';\n\nexport const SelectField = genericMemo(SelectFieldImpl);\n\nexport interface SelectFieldProps<\n RecordType extends Record<string, any> = Record<string, any>\n> extends ChoicesProps,\n FieldProps<RecordType>,\n Omit<TypographyProps, 'textAlign'> {}\n","import * as React from 'react';\nimport { ElementType } from 'react';\nimport Typography, { TypographyProps } from '@mui/material/Typography';\nimport { useFieldValue, useTranslate } from 'ra-core';\n\nimport { sanitizeFieldRestProps } from './sanitizeFieldRestProps';\nimport { FieldProps } from './types';\nimport { genericMemo } from './genericMemo';\n\nconst TextFieldImpl = <\n RecordType extends Record<string, any> = Record<string, any>\n>(\n props: TextFieldProps<RecordType>\n) => {\n const { className, emptyText, ...rest } = props;\n const translate = useTranslate();\n const value = useFieldValue(props);\n\n return (\n <Typography\n component=\"span\"\n variant=\"body2\"\n className={className}\n {...sanitizeFieldRestProps(rest)}\n >\n {value != null && typeof value !== 'string'\n ? JSON.stringify(value)\n : value ||\n (emptyText ? translate(emptyText, { _: emptyText }) : null)}\n </Typography>\n );\n};\n\n// what? TypeScript loses the displayName if we don't set it explicitly\nTextFieldImpl.displayName = 'TextFieldImpl';\n\nexport const TextField = genericMemo(TextFieldImpl);\n\nexport interface TextFieldProps<\n RecordType extends Record<string, any> = Record<string, any>\n> extends FieldProps<RecordType>,\n Omit<TypographyProps, 'textAlign'> {\n // TypographyProps do not expose the component props, see https://github.com/mui/material-ui/issues/19512\n component?: ElementType<any>;\n}\n","import * as React from 'react';\nimport { AnchorHTMLAttributes } from 'react';\nimport { sanitizeFieldRestProps } from './sanitizeFieldRestProps';\nimport { Typography, Link } from '@mui/material';\nimport { useFieldValue, useTranslate } from 'ra-core';\nimport { FieldProps } from './types';\nimport { genericMemo } from './genericMemo';\n\nconst UrlFieldImpl = <\n RecordType extends Record<string, any> = Record<string, any>\n>(\n props: UrlFieldProps<RecordType>\n) => {\n const { className, emptyText, ...rest } = props;\n const value = useFieldValue(props);\n const translate = useTranslate();\n\n if (value == null) {\n return (\n <Typography\n component=\"span\"\n variant=\"body2\"\n className={className}\n {...sanitizeFieldRestProps(rest)}\n >\n {emptyText && translate(emptyText, { _: emptyText })}\n </Typography>\n );\n }\n\n return (\n <Link\n className={className}\n href={value}\n onClick={stopPropagation}\n variant=\"body2\"\n {...sanitizeFieldRestProps(rest)}\n >\n {value}\n </Link>\n );\n};\nUrlFieldImpl.displayName = 'UrlFieldImpl';\n\nexport const UrlField = genericMemo(UrlFieldImpl);\n\nexport interface UrlFieldProps<\n RecordType extends Record<string, any> = Record<string, any>\n> extends FieldProps<RecordType>,\n AnchorHTMLAttributes<HTMLAnchorElement> {}\n\n// useful to prevent click bubbling in a Datagrid with rowClick\nconst stopPropagation = e => e.stopPropagation();\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M19 3H4.99c-1.11 0-1.98.89-1.98 2L3 19c0 1.1.88 2 1.99 2H19c1.1 0 2-.9 2-2V5c0-1.11-.9-2-2-2m0 12h-4c0 1.66-1.35 3-3 3s-3-1.34-3-3H4.99V5H19z\"\n}), 'Inbox');","import * as React from 'react';\nimport { styled } from '@mui/material/styles';\nimport { Typography } from '@mui/material';\nimport Inbox from '@mui/icons-material/Inbox';\nimport {\n useTranslate,\n useResourceDefinition,\n useResourceContext,\n useGetResourceLabel,\n} from 'ra-core';\n\nimport { CreateButton } from '../button';\n\nexport const Empty = (props: EmptyProps) => {\n const { className } = props;\n const { hasCreate } = useResourceDefinition(props);\n const resource = useResourceContext(props);\n\n const translate = useTranslate();\n\n const getResourceLabel = useGetResourceLabel();\n const resourceName = translate(`resources.${resource}.forcedCaseName`, {\n smart_count: 0,\n _: resource ? getResourceLabel(resource, 0) : undefined,\n });\n\n const emptyMessage = translate('ra.page.empty', { name: resourceName });\n const inviteMessage = translate('ra.page.invite');\n\n return (\n <Root className={className}>\n <div className={EmptyClasses.message}>\n <Inbox className={EmptyClasses.icon} />\n <Typography variant=\"h4\" paragraph>\n {translate(`resources.${resource}.empty`, {\n _: emptyMessage,\n })}\n </Typography>\n {hasCreate && (\n <Typography variant=\"body1\">\n {translate(`resources.${resource}.invite`, {\n _: inviteMessage,\n })}\n </Typography>\n )}\n </div>\n {hasCreate && (\n <div className={EmptyClasses.toolbar}>\n <CreateButton variant=\"contained\" />\n </div>\n )}\n </Root>\n );\n};\n\nexport interface EmptyProps {\n resource?: string;\n hasCreate?: boolean;\n className?: string;\n}\n\nconst PREFIX = 'RaEmpty';\n\nexport const EmptyClasses = {\n message: `${PREFIX}-message`,\n icon: `${PREFIX}-icon`,\n toolbar: `${PREFIX}-toolbar`,\n};\n\nconst Root = styled('span', {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme }) => ({\n flex: 1,\n [`& .${EmptyClasses.message}`]: {\n textAlign: 'center',\n opacity: theme.palette.mode === 'light' ? 0.5 : 0.8,\n margin: '0 1em',\n color:\n theme.palette.mode === 'light'\n ? 'inherit'\n : theme.palette.text.primary,\n },\n\n [`& .${EmptyClasses.icon}`]: {\n width: '9em',\n height: '9em',\n },\n\n [`& .${EmptyClasses.toolbar}`]: {\n textAlign: 'center',\n marginTop: '2em',\n },\n}));\n","import * as React from 'react';\nimport { FC, memo } from 'react';\nimport { styled } from '@mui/material/styles';\nimport { ReactElement } from 'react';\nimport { ToolbarProps } from '@mui/material';\nimport { Exporter } from 'ra-core';\n\nimport { FilterForm } from './filter';\nimport { FilterContext } from './FilterContext';\n\nexport const ListToolbar: FC<ListToolbarProps> = memo(props => {\n const { filters, actions, className, ...rest } = props;\n\n return Array.isArray(filters) ? (\n <FilterContext.Provider value={filters}>\n <Root className={className}>\n <FilterForm />\n <span />\n {actions}\n </Root>\n </FilterContext.Provider>\n ) : (\n <Root className={className}>\n {filters &&\n React.cloneElement(filters, {\n ...rest,\n context: 'form',\n })}\n <span />\n {actions &&\n React.cloneElement(actions, {\n ...rest,\n filters,\n ...actions.props,\n })}\n </Root>\n );\n});\n\nexport interface ListToolbarProps\n extends Omit<ToolbarProps, 'classes' | 'onSelect'> {\n actions?: ReactElement | false;\n exporter?: Exporter | false;\n filters?: ReactElement | ReactElement[];\n hasCreate?: boolean;\n}\n\nconst PREFIX = 'RaListToolbar';\n\nconst Root = styled('div', {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme }) => ({\n display: 'flex',\n position: 'relative',\n justifyContent: 'space-between',\n alignItems: 'flex-end',\n width: '100%',\n [theme.breakpoints.down('md')]: {\n flexWrap: 'wrap',\n },\n [theme.breakpoints.down('sm')]: {\n backgroundColor: theme.palette.background.paper,\n flexWrap: 'inherit',\n flexDirection: 'column-reverse',\n },\n}));\n","import * as React from 'react';\nimport { cloneElement, useMemo, useContext, ReactElement } from 'react';\nimport {\n sanitizeListRestProps,\n Exporter,\n useListContext,\n useResourceContext,\n useResourceDefinition,\n} from 'ra-core';\nimport { ToolbarProps } from '@mui/material';\n\nimport TopToolbar from '../layout/TopToolbar';\nimport { CreateButton, ExportButton } from '../button';\nimport { FilterContext } from './FilterContext';\nimport { FilterButton } from './filter';\n\n/**\n * Action Toolbar for the List view\n *\n * Internal component. If you want to add or remove actions for a List view,\n * write your own ListActions Component. Then, in the <List> component,\n * use it in the `actions` prop to pass a custom component.\n *\n * @example\n * import { cloneElement } from 'react';\n * import Button from '@mui/material/Button';\n * import { TopToolbar, List, CreateButton, ExportButton } from 'react-admin';\n *\n * const PostListActions = ({ filters }) => (\n * <TopToolbar>\n * { cloneElement(filters, { context: 'button' }) }\n * <CreateButton/>\n * <ExportButton/>\n * // Add your custom actions here //\n * <Button onClick={customAction}>Custom Action</Button>\n * </TopToolbar>\n * );\n *\n * export const PostList = () => (\n * <List actions={<PostListActions />}>\n * ...\n * </List>\n * );\n */\nexport const ListActions = (props: ListActionsProps) => {\n const { className, filters: filtersProp, hasCreate: _, ...rest } = props;\n\n const {\n displayedFilters,\n filterValues,\n exporter,\n showFilter,\n total,\n } = useListContext();\n const resource = useResourceContext(props);\n const { hasCreate } = useResourceDefinition(props);\n const filters = useContext(FilterContext) || filtersProp;\n return useMemo(\n () => (\n <TopToolbar className={className} {...sanitizeListRestProps(rest)}>\n {filtersProp\n ? cloneElement(filtersProp, {\n resource,\n showFilter,\n displayedFilters,\n filterValues,\n context: 'button',\n })\n : filters && <FilterButton />}\n {hasCreate && <CreateButton />}\n {exporter !== false && (\n <ExportButton disabled={total === 0} resource={resource} />\n )}\n </TopToolbar>\n ),\n /* eslint-disable react-hooks/exhaustive-deps */\n [\n resource,\n displayedFilters,\n filterValues,\n filtersProp,\n showFilter,\n filters,\n total,\n className,\n exporter,\n hasCreate,\n ]\n );\n};\n\nexport interface ListActionsProps extends ToolbarProps {\n className?: string;\n resource?: string;\n filters?: ReactElement<any>;\n displayedFilters?: any;\n exporter?: Exporter | boolean;\n filterValues?: any;\n permanentFilter?: any;\n hasCreate?: boolean;\n showFilter?: (filterName: string, defaultValue: any) => void;\n total?: number;\n}\n","import * as React from 'react';\nimport { styled } from '@mui/material/styles';\nimport { ReactElement, ReactNode, ElementType } from 'react';\nimport { SxProps } from '@mui/system';\nimport Card from '@mui/material/Card';\nimport clsx from 'clsx';\nimport { useListContext, RaRecord } from 'ra-core';\n\nimport { Title } from '../layout/Title';\nimport { ListToolbar } from './ListToolbar';\nimport { Pagination as DefaultPagination } from './pagination';\nimport { ListActions as DefaultActions } from './ListActions';\nimport { Empty } from './Empty';\nimport { Error } from '../layout';\n\nconst defaultActions = <DefaultActions />;\nconst defaultPagination = <DefaultPagination />;\nconst defaultEmpty = <Empty />;\nconst DefaultComponent = Card;\n\nexport const ListView = <RecordType extends RaRecord = any>(\n props: ListViewProps\n) => {\n const {\n actions = defaultActions,\n aside,\n filters,\n emptyWhileLoading,\n pagination = defaultPagination,\n children,\n className,\n component: Content = DefaultComponent,\n title,\n empty = defaultEmpty,\n ...rest\n } = props;\n const {\n defaultTitle,\n data,\n error,\n isPending,\n filterValues,\n resource,\n } = useListContext<RecordType>();\n\n if (!children || (!data && isPending && emptyWhileLoading)) {\n return null;\n }\n\n const renderList = () => (\n <div className={ListClasses.main}>\n {(filters || actions) && (\n <ListToolbar\n className={ListClasses.actions}\n filters={filters}\n actions={actions}\n />\n )}\n <Content className={ListClasses.content}>{children}</Content>\n {error ? (\n <Error error={error} resetErrorBoundary={() => {}} />\n ) : (\n pagination !== false && pagination\n )}\n </div>\n );\n\n const renderEmpty = () =>\n empty !== false && <div className={ListClasses.noResults}>{empty}</div>;\n\n const shouldRenderEmptyPage =\n !isPending &&\n data?.length === 0 &&\n !Object.keys(filterValues).length &&\n empty !== false;\n\n return (\n <Root className={clsx('list-page', className)} {...rest}>\n <Title\n title={title}\n defaultTitle={defaultTitle}\n preferenceKey={`${resource}.list.title`}\n />\n {shouldRenderEmptyPage ? renderEmpty() : renderList()}\n {aside}\n </Root>\n );\n};\n\nexport interface ListViewProps {\n /**\n * The actions to display in the toolbar. defaults to Filter + Create + Export.\n *\n * @see https://marmelab.com/react-admin/List.html#actions\n * @example\n * import {\n * CreateButton,\n * DatagridConfigurable,\n * ExportButton,\n * FilterButton,\n * List,\n * SelectColumnsButton,\n * TopToolbar,\n * } from 'react-admin';\n * import IconEvent from '@mui/icons-material/Event';\n *\n * const ListActions = () => (\n * <TopToolbar>\n * <SelectColumnsButton />\n * <FilterButton/>\n * <CreateButton/>\n * <ExportButton/>\n * </TopToolbar>\n * );\n *\n * export const PostList = () => (\n * <List actions={<ListActions/>}>\n * <DatagridConfigurable>\n * ...\n * </DatagridConfigurable>\n * </List>\n * );\n */\n actions?: ReactElement | false;\n\n /**\n * The content to render as a sidebar.\n * @see https://marmelab.com/react-admin/List.html#aside\n * @example\n * import { List, useListContext } from 'react-admin';\n * import { Typography } from '@mui/material';\n *\n * const Aside = () => {\n * const { data, isPending } = useListContext();\n * if (isPending) return null;\n * return (\n * <div style={{ width: 200, margin: '4em 1em' }}>\n * <Typography variant=\"h6\">Posts stats</Typography>\n * <Typography variant=\"body2\">\n * Total views: {data.reduce((sum, post) => sum + post.views, 0)}\n * </Typography>\n * </div>\n * );\n * };\n *\n * const PostList = () => (\n * <List aside={<Aside />}>\n * ...\n * </List>\n * );\n */\n aside?: ReactElement;\n\n /**\n * A class name to apply to the root div element\n */\n className?: string;\n\n /**\n * The components rendering the list of records. Usually a <Datagrid> or <SimpleList>.\n *\n * @see https://marmelab.com/react-admin/List.html#children\n * @example\n * import { List, Datagrid, TextField, DateField, NumberField, BooleanField, ReferenceManyCount } from 'react-admin';\n *\n * export const BookList = () => (\n * <List>\n * <Datagrid rowClick=\"edit\">\n * <TextField source=\"id\" />\n * <TextField source=\"title\" />\n * <DateField source=\"published_at\" />\n * <ReferenceManyCount label=\"Nb comments\" reference=\"comments\" target=\"post_id\" link />\n * <BooleanField source=\"commentable\" label=\"Com.\" />\n * <NumberField source=\"nb_views\" label=\"Views\" />\n * </Datagrid>\n * </List>\n * );\n */\n children: ReactNode;\n\n /**\n * The component used to display the list. Defaults to <Card>.\n *\n * @see https://marmelab.com/react-admin/List.html#component\n * @example\n * import { List } from 'react-admin';\n *\n * const PostList = () => (\n * <List component=\"div\">\n * ...\n * </List>\n * );\n */\n component?: ElementType;\n\n /**\n * The component to display when the list is empty.\n *\n * @see https://marmelab.com/react-admin/List.html#empty\n * @example\n * import { CreateButton, List } from 'react-admin';\n * import { Box, Button, Typography } from '@mui/material';\n *\n * const Empty = () => (\n * <Box textAlign=\"center\" m={1}>\n * <Typography variant=\"h4\" paragraph>\n * No products available\n * </Typography>\n * <Typography variant=\"body1\">\n * Create one or import products from a file\n * </Typography>\n * <CreateButton />\n * <Button onClick={...}>Import</Button>\n * </Box>\n * );\n *\n * const ProductList = () => (\n * <List empty={<Empty />}>\n * ...\n * </List>\n * );\n */\n empty?: ReactElement | false;\n\n /**\n * Set to true to return null while the list is loading.\n *\n * @see https://marmelab.com/react-admin/List.html#emptywhileloading\n * @example\n * import { List } from 'react-admin';\n * import { SimpleBookList } from './BookList';\n *\n * const BookList = () => (\n * <List emptyWhileLoading>\n * <SimpleBookList />\n * </List>\n * );\n */\n emptyWhileLoading?: boolean;\n\n /**\n * The filter inputs to display in the toolbar.\n *\n * @see https://marmelab.com/react-admin/List.html#filters\n * @example\n * import { List, TextInput } from 'react-admin';\n *\n * const postFilters = [\n * <TextInput label=\"Search\" source=\"q\" alwaysOn />,\n * <TextInput label=\"Title\" source=\"title\" defaultValue=\"Hello, World!\" />,\n * ];\n *\n * export const PostList = () => (\n * <List filters={postFilters}>\n * ...\n * </List>\n * );\n */\n filters?: ReactElement | ReactElement[];\n\n /**\n * The pagination component to display. defaults to <Pagination />\n *\n * @see https://marmelab.com/react-admin/List.html#pagination\n * @example\n * import { Pagination, List } from 'react-admin';\n *\n * const PostPagination = props => <Pagination rowsPerPageOptions={[10, 25, 50, 100]} {...props} />;\n *\n * export const PostList = () => (\n * <List pagination={<PostPagination />}>\n * ...\n * </List>\n * );\n */\n pagination?: ReactElement | false;\n\n /**\n * The page title (main title) to display above the data. Defaults to the humanized resource name.\n *\n * @see https://marmelab.com/react-admin/List.html#title\n * @example\n * import { List } from 'react-admin';\n *\n * export const PostList = () => (\n * <List title=\"List of posts\">\n * ...\n * </List>\n * );\n */\n title?: string | ReactElement;\n\n /**\n * The CSS styles to apply to the component.\n *\n * @see https://marmelab.com/react-admin/List.html#sx-css-api\n * @example\n * const PostList = () => (\n * <List\n * sx={{\n * backgroundColor: 'yellow',\n * '& .RaList-content': {\n * backgroundColor: 'red',\n * },\n * }}\n * >\n * ...\n * </List>\n * );\n */\n sx?: SxProps;\n}\n\nconst PREFIX = 'RaList';\n\nexport const ListClasses = {\n main: `${PREFIX}-main`,\n content: `${PREFIX}-content`,\n actions: `${PREFIX}-actions`,\n noResults: `${PREFIX}-noResults`,\n};\n\nconst Root = styled('div', {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme }) => ({\n display: 'flex',\n\n [`& .${ListClasses.main}`]: {\n flex: '1 1 auto',\n display: 'flex',\n flexDirection: 'column',\n },\n\n [`& .${ListClasses.content}`]: {\n position: 'relative',\n [theme.breakpoints.down('sm')]: {\n boxShadow: 'none',\n },\n overflow: 'inherit',\n },\n\n [`& .${ListClasses.actions}`]: {},\n\n [`& .${ListClasses.noResults}`]: {\n flex: 1,\n },\n}));\n","import * as React from 'react';\nimport { ReactElement } from 'react';\nimport { ListBase, ListControllerProps, RaRecord } from 'ra-core';\n\nimport { ListView, ListViewProps } from './ListView';\n\n/**\n * List page component\n *\n * The <List> component renders the list layout (title, buttons, filters, pagination),\n * and fetches the list of records from the REST API.\n *\n * It then delegates the rendering of the list of records to its child component.\n * Usually, it's a <Datagrid>, responsible for displaying a table with one row for each post.\n *\n * The <List> component accepts the following props:\n *\n * - actions\n * - aside: Side Component\n * - children: List Layout\n * - component\n * - disableAuthentication\n * - disableSyncWithLocation\n * - empty: Empty Page Component\n * - emptyWhileLoading\n * - exporter\n * - filters: Filter Inputs\n * - filter: Permanent Filter\n * - filterDefaultValues\n * - pagination: Pagination Component\n * - perPage: Pagination Size\n * - queryOptions\n * - sort: Default Sort Field & Order\n * - title\n * - sx: CSS API\n *\n * @example\n * const postFilters = [\n * <TextInput label=\"Search\" source=\"q\" alwaysOn />,\n * <TextInput label=\"Title\" source=\"title\" />\n * ];\n * export const PostList = () => (\n * <List\n * title=\"List of posts\"\n * sort={{ field: 'published_at' }}\n * filter={{ is_published: true }}\n * filters={postFilters}\n * >\n * <Datagrid>\n * <TextField source=\"id\" />\n * <TextField source=\"title\" />\n * <EditButton />\n * </Datagrid>\n * </List>\n * );\n */\nexport const List = <RecordType extends RaRecord = any>({\n debounce,\n disableAuthentication,\n disableSyncWithLocation,\n exporter,\n filter = defaultFilter,\n filterDefaultValues,\n perPage = 10,\n queryOptions,\n resource,\n sort,\n storeKey,\n ...rest\n}: ListProps<RecordType>): ReactElement => (\n <ListBase<RecordType>\n debounce={debounce}\n disableAuthentication={disableAuthentication}\n disableSyncWithLocation={disableSyncWithLocation}\n exporter={exporter}\n filter={filter}\n filterDefaultValues={filterDefaultValues}\n perPage={perPage}\n queryOptions={queryOptions}\n resource={resource}\n sort={sort}\n storeKey={storeKey}\n >\n <ListView<RecordType> {...rest} />\n </ListBase>\n);\n\nexport interface ListProps<RecordType extends RaRecord = any>\n extends ListControllerProps<RecordType>,\n ListViewProps {}\n\nconst defaultFilter = {};\n","import * as React from 'react';\nimport { Datagrid } from './datagrid';\nimport { SingleFieldList } from './SingleFieldList';\nimport {\n ArrayField,\n BooleanField,\n ChipField,\n DateField,\n EmailField,\n NumberField,\n ReferenceField,\n ReferenceArrayField,\n TextField,\n UrlField,\n ArrayFieldProps,\n} from '../field';\n\nexport const listFieldTypes = {\n table: {\n component: props => {\n return <Datagrid {...props} />;\n }, // eslint-disable-line react/display-name\n representation: (_props, children) => ` <Datagrid>\n${children.map(child => ` ${child.getRepresentation()}`).join('\\n')}\n </Datagrid>`,\n },\n array: {\n // eslint-disable-next-line react/display-name\n component: ({ children, ...props }: ArrayFieldProps) => {\n const childrenArray = React.Children.toArray(children);\n return (\n <ArrayField {...props}>\n <SingleFieldList>\n <ChipField\n source={\n childrenArray.length > 0 &&\n React.isValidElement(childrenArray[0]) &&\n childrenArray[0].props.source\n }\n />\n </SingleFieldList>\n </ArrayField>\n );\n },\n representation: (props, children) =>\n `<ArrayField source=\"${\n props.source\n }\"><SingleFieldList><ChipField source=\"${\n children.length > 0 && children[0].getProps().source\n }\" /></SingleFieldList></ArrayField>`,\n },\n boolean: {\n component: BooleanField,\n representation: props => `<BooleanField source=\"${props.source}\" />`,\n },\n date: {\n component: DateField,\n representation: props => `<DateField source=\"${props.source}\" />`,\n },\n email: {\n component: EmailField,\n representation: props => `<EmailField source=\"${props.source}\" />`,\n },\n id: {\n component: TextField,\n representation: props => `<TextField source=\"${props.source}\" />`,\n },\n number: {\n component: NumberField,\n representation: props => `<NumberField source=\"${props.source}\" />`,\n },\n reference: {\n component: ReferenceField,\n representation: props =>\n `<ReferenceField source=\"${props.source}\" reference=\"${props.reference}\" />`,\n },\n referenceChild: {\n component: () => <TextField source=\"id\" />, // eslint-disable-line react/display-name\n representation: () => `<TextField source=\"id\" />`,\n },\n referenceArray: {\n component: ReferenceArrayField,\n representation: props =>\n `<ReferenceArrayField source=\"${props.source}\" reference=\"${props.reference}\" />`,\n },\n referenceArrayChild: {\n component: () => (\n <SingleFieldList>\n <ChipField source=\"id\" />\n </SingleFieldList>\n ), // eslint-disable-line react/display-name\n representation: () =>\n `<SingleFieldList><ChipField source=\"id\" /></SingleFieldList>`,\n },\n richText: undefined, // never display a rich text field in a datagrid\n string: {\n component: TextField,\n representation: props => `<TextField source=\"${props.source}\" />`,\n },\n url: {\n component: UrlField,\n representation: props => `<UrlField source=\"${props.source}\" />`,\n },\n};\n","import * as React from 'react';\nimport { useState, useEffect } from 'react';\n\nimport {\n ListBase,\n getElementsFromRecords,\n InferredElement,\n useListContext,\n useResourceContext,\n RaRecord,\n usePrevious,\n} from 'ra-core';\nimport { useLocation } from 'react-router';\n\nimport { ListProps } from './List';\nimport { ListView, ListViewProps } from './ListView';\nimport { listFieldTypes } from './listFieldTypes';\nimport { capitalize, singularize } from 'inflection';\n\n/**\n * List component rendering a <Datagrid> based on the result of the\n * dataProvider.getList() call.\n *\n * The result (choice and type of columns) isn't configurable, but the\n * <ListGuesser> outputs the <Datagrid> it has guessed to the console so that\n * developers can start from there.\n *\n * To be used as the list prop of a <Resource>.\n *\n * @example\n *\n * import { Admin, Resource, ListGuesser } from 'react-admin';\n *\n * const App = () => (\n * <Admin dataProvider={myDataProvider}>\n * <Resource name=\"posts\" list={ListGuesser} />\n * </Admin>\n * );\n */\nexport const ListGuesser = <RecordType extends RaRecord = any>(\n props: Omit<ListProps, 'children'> & { enableLog?: boolean }\n) => {\n const {\n debounce,\n disableAuthentication,\n disableSyncWithLocation,\n exporter,\n filter,\n filterDefaultValues,\n perPage,\n queryOptions,\n resource,\n sort,\n ...rest\n } = props;\n // force a rerender of this component when any list parameter changes\n // otherwise the ListBase won't be rerendered when the sort changes\n // and the following check won't be performed\n useLocation();\n // keep previous data, unless the resource changes\n const resourceFromContext = useResourceContext(props);\n const previousResource = usePrevious(resourceFromContext);\n const keepPreviousData = previousResource === resourceFromContext;\n return (\n <ListBase<RecordType>\n debounce={debounce}\n disableAuthentication={disableAuthentication}\n disableSyncWithLocation={disableSyncWithLocation}\n exporter={exporter}\n filter={filter}\n filterDefaultValues={filterDefaultValues}\n perPage={perPage}\n queryOptions={{\n placeholderData: previousData =>\n keepPreviousData ? previousData : undefined,\n }}\n resource={resource}\n sort={sort}\n >\n <ListViewGuesser {...rest} />\n </ListBase>\n );\n};\n\nconst ListViewGuesser = (\n props: Omit<ListViewProps, 'children'> & { enableLog?: boolean }\n) => {\n const { data } = useListContext();\n const resource = useResourceContext();\n const [child, setChild] = useState<React.ReactElement | null>(null);\n const {\n enableLog = process.env.NODE_ENV === 'development',\n ...rest\n } = props;\n\n useEffect(() => {\n setChild(null);\n }, [resource]);\n\n useEffect(() => {\n if (data && data.length > 0 && !child) {\n const inferredElements = getElementsFromRecords(\n data,\n listFieldTypes\n );\n const inferredChild = new InferredElement(\n listFieldTypes.table,\n null,\n inferredElements\n );\n const inferredChildElement = inferredChild.getElement();\n const representation = inferredChild.getRepresentation();\n if (!resource) {\n throw new Error(\n 'Cannot use <ListGuesser> outside of a ResourceContext'\n );\n }\n if (!inferredChildElement || !representation) {\n return;\n }\n\n setChild(inferredChildElement);\n\n const components = ['List']\n .concat(\n Array.from(\n new Set(\n Array.from(representation.matchAll(/<([^/\\s>]+)/g))\n .map(match => match[1])\n .filter(component => component !== 'span')\n )\n )\n )\n .sort();\n\n if (enableLog) {\n // eslint-disable-next-line no-console\n console.log(\n `Guessed List:\n\nimport { ${components.join(', ')} } from 'react-admin';\n\nexport const ${capitalize(singularize(resource))}List = () => (\n <List>\n${inferredChild.getRepresentation()}\n </List>\n);`\n );\n }\n }\n }, [data, child, resource, enableLog]);\n\n return <ListView {...rest}>{child}</ListView>;\n};\n","import * as React from 'react';\nimport { styled } from '@mui/material/styles';\nimport Avatar from '@mui/material/Avatar';\nimport {\n List,\n ListProps,\n ListItem,\n ListItemAvatar,\n ListItemSecondaryAction,\n ListItemText,\n} from '@mui/material';\nimport { useTimeout } from 'ra-core';\n\nimport { Placeholder } from '../Placeholder';\n\nexport const SimpleListLoading = (props: Props & ListProps) => {\n const {\n className,\n hasLeftAvatarOrIcon,\n hasRightAvatarOrIcon,\n hasSecondaryText,\n hasTertiaryText,\n nbFakeLines = 5,\n ...rest\n } = props;\n\n const oneSecondHasPassed = useTimeout(1000);\n\n return oneSecondHasPassed ? (\n <StyledList className={className} {...rest}>\n {times(nbFakeLines, key => (\n <ListItem key={key}>\n {hasLeftAvatarOrIcon && (\n <ListItemAvatar>\n <Avatar> </Avatar>\n </ListItemAvatar>\n )}\n <ListItemText\n primary={\n <div>\n <Placeholder\n className={SimpleListLoadingClasses.primary}\n />\n {hasTertiaryText && (\n <span\n className={\n SimpleListLoadingClasses.tertiary\n }\n >\n <Placeholder />\n </span>\n )}\n </div>\n }\n secondary={\n hasSecondaryText ? <Placeholder /> : undefined\n }\n />\n {hasRightAvatarOrIcon && (\n <ListItemSecondaryAction>\n <Avatar> </Avatar>\n </ListItemSecondaryAction>\n )}\n </ListItem>\n ))}\n </StyledList>\n ) : null;\n};\n\nconst PREFIX = 'RaSimpleListLoading';\n\nexport const SimpleListLoadingClasses = {\n primary: `${PREFIX}-primary`,\n tertiary: `${PREFIX}-tertiary`,\n};\n\nconst StyledList = styled(List, {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme }) => ({\n [`& .${SimpleListLoadingClasses.primary}`]: {\n width: '30vw',\n display: 'inline-block',\n marginBottom: theme.spacing(),\n },\n\n [`& .${SimpleListLoadingClasses.tertiary}`]: {\n float: 'right',\n opacity: 0.541176,\n minWidth: '10vw',\n },\n}));\n\nconst times = (nbChildren, fn) =>\n Array.from({ length: nbChildren }, (_, key) => fn(key));\n\ninterface Props {\n className?: string;\n hasLeftAvatarOrIcon?: boolean;\n hasRightAvatarOrIcon?: boolean;\n hasSecondaryText?: boolean;\n hasTertiaryText?: boolean;\n nbFakeLines?: number;\n}\n","import * as React from 'react';\nimport { isElement } from 'react-is';\nimport { styled } from '@mui/material/styles';\nimport type { SxProps } from '@mui/material';\nimport { isValidElement, ReactNode, ReactElement } from 'react';\nimport {\n Avatar,\n List,\n ListProps,\n ListItem,\n ListItemAvatar,\n ListItemButton,\n ListItemIcon,\n ListItemProps,\n ListItemSecondaryAction,\n ListItemText,\n} from '@mui/material';\nimport { Link } from 'react-router-dom';\nimport {\n Identifier,\n RaRecord,\n RecordContextProvider,\n sanitizeListRestProps,\n useListContextWithProps,\n useResourceContext,\n useGetRecordRepresentation,\n useCreatePath,\n useTranslate,\n} from 'ra-core';\n\nimport { SimpleListLoading } from './SimpleListLoading';\nimport { ListNoResults } from '../ListNoResults';\n\n/**\n * The <SimpleList> component renders a list of records as a Material UI <List>.\n * It is usually used as a child of react-admin's <List> and <ReferenceManyField> components.\n *\n * Also widely used on Mobile.\n *\n * Props:\n * - primaryText: function returning a React element (or some text) based on the record\n * - secondaryText: same\n * - tertiaryText: same\n * - leftAvatar: function returning a React element based on the record\n * - leftIcon: same\n * - rightAvatar: same\n * - rightIcon: same\n * - linkType: 'edit' or 'show', or a function returning 'edit' or 'show' based on the record\n * - rowStyle: function returning a style object based on (record, index)\n * - rowSx: function returning a sx object based on (record, index)\n *\n * @example // Display all posts as a List\n * const postRowSx = (record, index) => ({\n * backgroundColor: record.views >= 500 ? '#efe' : 'white',\n * });\n * export const PostList = () => (\n * <List>\n * <SimpleList\n * primaryText={record => record.title}\n * secondaryText={record => `${record.views} views`}\n * tertiaryText={record =>\n * new Date(record.published_at).toLocaleDateString()\n * }\n * rowSx={postRowSx}\n * />\n * </List>\n * );\n */\nexport const SimpleList = <RecordType extends RaRecord = any>(\n props: SimpleListProps<RecordType>\n) => {\n const {\n className,\n empty = DefaultEmpty,\n hasBulkActions,\n leftAvatar,\n leftIcon,\n linkType = 'edit',\n primaryText,\n rightAvatar,\n rightIcon,\n secondaryText,\n tertiaryText,\n rowSx,\n rowStyle,\n ...rest\n } = props;\n const { data, isPending, total } = useListContextWithProps<RecordType>(\n props\n );\n const resource = useResourceContext(props);\n const getRecordRepresentation = useGetRecordRepresentation(resource);\n const translate = useTranslate();\n\n if (isPending === true) {\n return (\n <SimpleListLoading\n className={className}\n hasLeftAvatarOrIcon={!!leftIcon || !!leftAvatar}\n hasRightAvatarOrIcon={!!rightIcon || !!rightAvatar}\n hasSecondaryText={!!secondaryText}\n hasTertiaryText={!!tertiaryText}\n />\n );\n }\n\n const renderAvatar = (\n record: RecordType,\n avatarCallback: FunctionToElement<RecordType>\n ) => {\n const avatarValue = avatarCallback(record, record.id);\n if (\n typeof avatarValue === 'string' &&\n (avatarValue.startsWith('http') || avatarValue.startsWith('data:'))\n ) {\n return <Avatar src={avatarValue} />;\n } else {\n return <Avatar>{avatarValue}</Avatar>;\n }\n };\n\n if (data == null || data.length === 0 || total === 0) {\n if (empty) {\n return empty;\n }\n\n return null;\n }\n\n return (\n <Root className={className} {...sanitizeListRestProps(rest)}>\n {data.map((record, rowIndex) => (\n <RecordContextProvider key={record.id} value={record}>\n <ListItem disablePadding>\n <LinkOrNot\n linkType={linkType}\n resource={resource}\n id={record.id}\n record={record}\n style={\n rowStyle\n ? rowStyle(record, rowIndex)\n : undefined\n }\n sx={rowSx?.(record, rowIndex)}\n >\n {leftIcon && (\n <ListItemIcon>\n {leftIcon(record, record.id)}\n </ListItemIcon>\n )}\n {leftAvatar && (\n <ListItemAvatar>\n {renderAvatar(record, leftAvatar)}\n </ListItemAvatar>\n )}\n <ListItemText\n primary={\n <div>\n {primaryText\n ? typeof primaryText === 'string'\n ? translate(primaryText, {\n ...record,\n _: primaryText,\n })\n : isElement(primaryText)\n ? primaryText\n : // @ts-ignore\n primaryText(record, record.id)\n : getRecordRepresentation(record)}\n\n {!!tertiaryText &&\n (isValidElement(tertiaryText) ? (\n tertiaryText\n ) : (\n <span\n className={\n SimpleListClasses.tertiary\n }\n >\n {typeof tertiaryText ===\n 'string'\n ? translate(\n tertiaryText,\n {\n ...record,\n _: tertiaryText,\n }\n )\n : isElement(\n tertiaryText\n )\n ? tertiaryText\n : // @ts-ignore\n tertiaryText(\n record,\n record.id\n )}\n </span>\n ))}\n </div>\n }\n secondary={\n !!secondaryText &&\n (typeof secondaryText === 'string'\n ? translate(secondaryText, {\n ...record,\n _: secondaryText,\n })\n : isElement(secondaryText)\n ? secondaryText\n : // @ts-ignore\n secondaryText(record, record.id))\n }\n />\n {(rightAvatar || rightIcon) && (\n <ListItemSecondaryAction>\n {rightAvatar && (\n <Avatar>\n {renderAvatar(record, rightAvatar)}\n </Avatar>\n )}\n {rightIcon && (\n <ListItemIcon>\n {rightIcon(record, record.id)}\n </ListItemIcon>\n )}\n </ListItemSecondaryAction>\n )}\n </LinkOrNot>\n </ListItem>\n </RecordContextProvider>\n ))}\n </Root>\n );\n};\n\nexport type FunctionToElement<RecordType extends RaRecord = any> = (\n record: RecordType,\n id: Identifier\n) => ReactNode;\n\nexport interface SimpleListProps<RecordType extends RaRecord = any>\n extends Omit<ListProps, 'classes'> {\n className?: string;\n empty?: ReactElement;\n hasBulkActions?: boolean;\n leftAvatar?: FunctionToElement<RecordType>;\n leftIcon?: FunctionToElement<RecordType>;\n primaryText?: FunctionToElement<RecordType> | ReactElement | string;\n linkType?: string | FunctionLinkType | false;\n rightAvatar?: FunctionToElement<RecordType>;\n rightIcon?: FunctionToElement<RecordType>;\n secondaryText?: FunctionToElement<RecordType> | ReactElement | string;\n tertiaryText?: FunctionToElement<RecordType> | ReactElement | string;\n rowSx?: (record: RecordType, index: number) => SxProps;\n rowStyle?: (record: RecordType, index: number) => any;\n // can be injected when using the component without context\n resource?: string;\n data?: RecordType[];\n isLoading?: boolean;\n isPending?: boolean;\n isLoaded?: boolean;\n total?: number;\n}\n\nconst LinkOrNot = (\n props: LinkOrNotProps & Omit<ListItemProps, 'button' | 'component' | 'id'>\n) => {\n const {\n classes: classesOverride,\n linkType,\n resource,\n id,\n children,\n record,\n ...rest\n } = props;\n const createPath = useCreatePath();\n const type =\n typeof linkType === 'function' ? linkType(record, id) : linkType;\n\n if (type === false) {\n return (\n <ListItemText\n // @ts-ignore\n component=\"div\"\n {...rest}\n >\n {children}\n </ListItemText>\n );\n }\n return (\n // @ts-ignore\n <ListItemButton\n component={Link}\n to={createPath({ resource, id, type })}\n {...rest}\n >\n {children}\n </ListItemButton>\n );\n};\n\nexport type FunctionLinkType = (record: RaRecord, id: Identifier) => string;\n\nexport interface LinkOrNotProps {\n linkType: string | FunctionLinkType | false;\n resource?: string;\n id: Identifier;\n record: RaRecord;\n children: ReactNode;\n}\n\nconst PREFIX = 'RaSimpleList';\n\nexport const SimpleListClasses = {\n tertiary: `${PREFIX}-tertiary`,\n};\n\nconst Root = styled(List, {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})({\n [`& .${SimpleListClasses.tertiary}`]: { float: 'right', opacity: 0.541176 },\n});\n\nconst DefaultEmpty = <ListNoResults />;\n","import * as React from 'react';\nimport { createElement, ComponentType } from 'react';\nimport { CoreAdminUI, CoreAdminUIProps } from 'ra-core';\nimport { ScopedCssBaseline } from '@mui/material';\n\nimport {\n Layout as DefaultLayout,\n LoadingPage,\n NotFound,\n Notification,\n Error,\n} from './layout';\nimport { Login, AuthCallback } from './auth';\n\nexport const AdminUI = ({\n layout = DefaultLayout,\n catchAll = NotFound,\n loading = LoadingPage,\n loginPage = Login,\n authCallbackPage = AuthCallback,\n notification = Notification,\n error = Error,\n ...props\n}: AdminUIProps) => (\n <ScopedCssBaseline enableColorScheme>\n <CoreAdminUI\n layout={layout}\n catchAll={catchAll}\n loading={loading}\n loginPage={loginPage}\n authCallbackPage={authCallbackPage}\n error={error}\n {...props}\n />\n {createElement(notification)}\n </ScopedCssBaseline>\n);\n\nexport interface AdminUIProps extends CoreAdminUIProps {\n /**\n * The component used to display notifications\n *\n * @see https://marmelab.com/react-admin/Admin.html#notification\n * @example\n * import { Admin, Notification } from 'react-admin';\n * import { dataProvider } from './dataProvider';\n *\n * const MyNotification = () => <Notification autoHideDuration={5000} />;\n *\n * const App = () => (\n * <Admin notification={MyNotification} dataProvider={dataProvider}>\n * ...\n * </Admin>\n * );\n */\n notification?: ComponentType;\n}\n","import * as React from 'react';\nimport { CoreAdminContext, CoreAdminContextProps } from 'ra-core';\n\nimport {\n ThemeProvider,\n ThemesContext,\n RaThemeOptions,\n defaultLightTheme,\n defaultDarkTheme,\n} from './theme';\n\nexport const AdminContext = (props: AdminContextProps) => {\n const {\n theme,\n lightTheme = defaultLightTheme,\n darkTheme,\n defaultTheme,\n children,\n ...rest\n } = props;\n return (\n <CoreAdminContext {...rest}>\n <ThemesContext.Provider\n value={{\n lightTheme: theme || lightTheme,\n darkTheme:\n theme && !darkTheme\n ? undefined\n : !darkTheme && darkTheme !== null\n ? defaultDarkTheme\n : darkTheme ?? undefined,\n defaultTheme,\n }}\n >\n <ThemeProvider>{children}</ThemeProvider>\n </ThemesContext.Provider>\n </CoreAdminContext>\n );\n};\n\nexport interface AdminContextProps extends CoreAdminContextProps {\n /**\n * The material-UI theme to customize the UI\n *\n * @see https://marmelab.com/react-admin/Admin.html#theme\n * @example\n * import { Admin, defaultTheme } from 'react-admin';\n * import { dataProvider } from './dataProvider';\n *\n * const theme = {\n * ...defaultTheme,\n * palette: { mode: 'dark' },\n * };\n *\n * const App = () => (\n * <Admin theme={theme} dataProvider={dataProvider}>\n * ...\n * </Admin>\n * );\n */\n theme?: object;\n\n /**\n * The material-UI theme to customize the UI. Prefer the theme prop.\n * If not provided, the default light theme is used.\n *\n * @see https://marmelab.com/react-admin/Admin.html#theme\n */\n lightTheme?: RaThemeOptions;\n\n /**\n * The material-UI theme to apply to the UI when the dark mode is activated.\n * If not provided, the default dark theme is used.\n * If set to null, the dark mode is disabled.\n *\n * @see https://marmelab.com/react-admin/Admin.html#darktheme\n * @example\n * import { Admin } from 'react-admin';\n * import { dataProvider } from './dataProvider';\n * import { darkTheme, lightTheme } from './themes';\n *\n * const App = () => (\n * <Admin\n * dataProvider={dataProvider}\n * theme={lightTheme}\n * darkTheme={darkTheme}\n * >\n * ...\n * </Admin>\n * );\n */\n darkTheme?: RaThemeOptions | null;\n\n /**\n * The default theme to use when the user hasn't chosen a theme yet.\n *\n * @see https://marmelab.com/react-admin/Admin.html#defaulttheme\n * @example\n * import { Admin } from 'react-admin';\n * import { dataProvider } from './dataProvider';\n * import { darkTheme, lightTheme } from './themes';\n *\n * const App = () => (\n * <Admin\n * dataProvider={dataProvider}\n * theme={lightTheme}\n * darkTheme={darkTheme}\n * defaultTheme=\"dark\"\n * >\n * ...\n * </Admin>\n * );\n */\n defaultTheme?: 'light' | 'dark';\n}\n\nAdminContext.displayName = 'AdminContext';\n","import { TranslationMessages } from 'ra-core';\n\nconst englishMessages: TranslationMessages = {\n ra: {\n action: {\n add_filter: 'Add filter',\n add: 'Add',\n back: 'Go Back',\n bulk_actions: '1 item selected |||| %{smart_count} items selected',\n cancel: 'Cancel',\n clear_array_input: 'Clear the list',\n clear_input_value: 'Clear value',\n clone: 'Clone',\n confirm: 'Confirm',\n create: 'Create',\n create_item: 'Create %{item}',\n delete: 'Delete',\n edit: 'Edit',\n export: 'Export',\n list: 'List',\n refresh: 'Refresh',\n remove_filter: 'Remove this filter',\n remove_all_filters: 'Remove all filters',\n remove: 'Remove',\n save: 'Save',\n search: 'Search',\n select_all: 'Select all',\n select_row: 'Select this row',\n show: 'Show',\n sort: 'Sort',\n undo: 'Undo',\n unselect: 'Unselect',\n expand: 'Expand',\n close: 'Close',\n open_menu: 'Open menu',\n close_menu: 'Close menu',\n update: 'Update',\n move_up: 'Move up',\n move_down: 'Move down',\n open: 'Open',\n toggle_theme: 'Toggle light/dark mode',\n select_columns: 'Columns',\n update_application: 'Reload Application',\n },\n boolean: {\n true: 'Yes',\n false: 'No',\n null: ' ',\n },\n page: {\n create: 'Create %{name}',\n dashboard: 'Dashboard',\n edit: '%{name} %{recordRepresentation}',\n error: 'Something went wrong',\n list: '%{name}',\n loading: 'Loading',\n not_found: 'Not Found',\n show: '%{name} %{recordRepresentation}',\n empty: 'No %{name} yet.',\n invite: 'Do you want to add one?',\n },\n input: {\n file: {\n upload_several:\n 'Drop some files to upload, or click to select one.',\n upload_single: 'Drop a file to upload, or click to select it.',\n },\n image: {\n upload_several:\n 'Drop some pictures to upload, or click to select one.',\n upload_single:\n 'Drop a picture to upload, or click to select it.',\n },\n references: {\n all_missing: 'Unable to find references data.',\n many_missing:\n 'At least one of the associated references no longer appears to be available.',\n single_missing:\n 'Associated reference no longer appears to be available.',\n },\n password: {\n toggle_visible: 'Hide password',\n toggle_hidden: 'Show password',\n },\n },\n message: {\n about: 'About',\n are_you_sure: 'Are you sure?',\n auth_error:\n 'An error occurred while validating the authentication token.',\n bulk_delete_content:\n 'Are you sure you want to delete this %{name}? |||| Are you sure you want to delete these %{smart_count} items?',\n bulk_delete_title:\n 'Delete %{name} |||| Delete %{smart_count} %{name}',\n bulk_update_content:\n 'Are you sure you want to update this %{name}? |||| Are you sure you want to update these %{smart_count} items?',\n bulk_update_title:\n 'Update %{name} |||| Update %{smart_count} %{name}',\n clear_array_input: 'Are you sure you want to clear the whole list?',\n delete_content: 'Are you sure you want to delete this item?',\n delete_title: 'Delete %{name} #%{id}',\n details: 'Details',\n error:\n \"A client error occurred and your request couldn't be completed.\",\n\n invalid_form: 'The form is not valid. Please check for errors',\n loading: 'Please wait',\n no: 'No',\n not_found:\n 'Either you typed a wrong URL, or you followed a bad link.',\n yes: 'Yes',\n unsaved_changes:\n \"Some of your changes weren't saved. Are you sure you want to ignore them?\",\n },\n navigation: {\n no_results: 'No results found',\n no_more_results:\n 'The page number %{page} is out of boundaries. Try the previous page.',\n page_out_of_boundaries: 'Page number %{page} out of boundaries',\n page_out_from_end: 'Cannot go after last page',\n page_out_from_begin: 'Cannot go before page 1',\n page_range_info: '%{offsetBegin}-%{offsetEnd} of %{total}',\n partial_page_range_info:\n '%{offsetBegin}-%{offsetEnd} of more than %{offsetEnd}',\n current_page: 'Page %{page}',\n page: 'Go to page %{page}',\n first: 'Go to first page',\n last: 'Go to last page',\n next: 'Go to next page',\n previous: 'Go to previous page',\n page_rows_per_page: 'Rows per page:',\n skip_nav: 'Skip to content',\n },\n sort: {\n sort_by: 'Sort by %{field} %{order}',\n ASC: 'ascending',\n DESC: 'descending',\n },\n auth: {\n auth_check_error: 'Please login to continue',\n user_menu: 'Profile',\n username: 'Username',\n password: 'Password',\n sign_in: 'Sign in',\n sign_in_error: 'Authentication failed, please retry',\n logout: 'Logout',\n },\n notification: {\n updated: 'Element updated |||| %{smart_count} elements updated',\n created: 'Element created',\n deleted: 'Element deleted |||| %{smart_count} elements deleted',\n bad_item: 'Incorrect element',\n item_doesnt_exist: 'Element does not exist',\n http_error: 'Server communication error',\n data_provider_error:\n 'dataProvider error. Check the console for details.',\n i18n_error:\n 'Cannot load the translations for the specified language',\n canceled: 'Action cancelled',\n logged_out: 'Your session has ended, please reconnect.',\n not_authorized: \"You're not authorized to access this resource.\",\n application_update_available: 'A new version is available.',\n },\n validation: {\n required: 'Required',\n minLength: 'Must be %{min} characters at least',\n maxLength: 'Must be %{max} characters or less',\n minValue: 'Must be at least %{min}',\n maxValue: 'Must be %{max} or less',\n number: 'Must be a number',\n email: 'Must be a valid email',\n oneOf: 'Must be one of: %{options}',\n regex: 'Must match a specific format (regexp): %{pattern}',\n unique: 'Must be unique',\n },\n saved_queries: {\n label: 'Saved queries',\n query_name: 'Query name',\n new_label: 'Save current query...',\n new_dialog_title: 'Save current query as',\n remove_label: 'Remove saved query',\n remove_label_with_name: 'Remove query \"%{name}\"',\n remove_dialog_title: 'Remove saved query?',\n remove_message:\n 'Are you sure you want to remove that item from your list of saved queries?',\n help: 'Filter the list and save this query for later',\n },\n configurable: {\n customize: 'Customize',\n configureMode: 'Configure this page',\n inspector: {\n title: 'Inspector',\n content: 'Hover the application UI elements to configure them',\n reset: 'Reset Settings',\n hideAll: 'Hide All',\n showAll: 'Show All',\n },\n Datagrid: {\n title: 'Datagrid',\n unlabeled: 'Unlabeled column #%{column}',\n },\n SimpleForm: {\n title: 'Form',\n unlabeled: 'Unlabeled input #%{input}',\n },\n SimpleList: {\n title: 'List',\n primaryText: 'Primary text',\n secondaryText: 'Secondary text',\n tertiaryText: 'Tertiary text',\n },\n },\n },\n};\n\nexport default englishMessages;\n","'use strict';\n\nvar toStr = Object.prototype.toString;\n\nmodule.exports = function isArguments(value) {\n\tvar str = toStr.call(value);\n\tvar isArgs = str === '[object Arguments]';\n\tif (!isArgs) {\n\t\tisArgs = str !== '[object Array]' &&\n\t\t\tvalue !== null &&\n\t\t\ttypeof value === 'object' &&\n\t\t\ttypeof value.length === 'number' &&\n\t\t\tvalue.length >= 0 &&\n\t\t\ttoStr.call(value.callee) === '[object Function]';\n\t}\n\treturn isArgs;\n};\n","'use strict';\n\nvar keysShim;\nif (!Object.keys) {\n\t// modified from https://github.com/es-shims/es5-shim\n\tvar has = Object.prototype.hasOwnProperty;\n\tvar toStr = Object.prototype.toString;\n\tvar isArgs = require('./isArguments'); // eslint-disable-line global-require\n\tvar isEnumerable = Object.prototype.propertyIsEnumerable;\n\tvar hasDontEnumBug = !isEnumerable.call({ toString: null }, 'toString');\n\tvar hasProtoEnumBug = isEnumerable.call(function () {}, 'prototype');\n\tvar dontEnums = [\n\t\t'toString',\n\t\t'toLocaleString',\n\t\t'valueOf',\n\t\t'hasOwnProperty',\n\t\t'isPrototypeOf',\n\t\t'propertyIsEnumerable',\n\t\t'constructor'\n\t];\n\tvar equalsConstructorPrototype = function (o) {\n\t\tvar ctor = o.constructor;\n\t\treturn ctor && ctor.prototype === o;\n\t};\n\tvar excludedKeys = {\n\t\t$applicationCache: true,\n\t\t$console: true,\n\t\t$external: true,\n\t\t$frame: true,\n\t\t$frameElement: true,\n\t\t$frames: true,\n\t\t$innerHeight: true,\n\t\t$innerWidth: true,\n\t\t$onmozfullscreenchange: true,\n\t\t$onmozfullscreenerror: true,\n\t\t$outerHeight: true,\n\t\t$outerWidth: true,\n\t\t$pageXOffset: true,\n\t\t$pageYOffset: true,\n\t\t$parent: true,\n\t\t$scrollLeft: true,\n\t\t$scrollTop: true,\n\t\t$scrollX: true,\n\t\t$scrollY: true,\n\t\t$self: true,\n\t\t$webkitIndexedDB: true,\n\t\t$webkitStorageInfo: true,\n\t\t$window: true\n\t};\n\tvar hasAutomationEqualityBug = (function () {\n\t\t/* global window */\n\t\tif (typeof window === 'undefined') { return false; }\n\t\tfor (var k in window) {\n\t\t\ttry {\n\t\t\t\tif (!excludedKeys['$' + k] && has.call(window, k) && window[k] !== null && typeof window[k] === 'object') {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tequalsConstructorPrototype(window[k]);\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}());\n\tvar equalsConstructorPrototypeIfNotBuggy = function (o) {\n\t\t/* global window */\n\t\tif (typeof window === 'undefined' || !hasAutomationEqualityBug) {\n\t\t\treturn equalsConstructorPrototype(o);\n\t\t}\n\t\ttry {\n\t\t\treturn equalsConstructorPrototype(o);\n\t\t} catch (e) {\n\t\t\treturn false;\n\t\t}\n\t};\n\n\tkeysShim = function keys(object) {\n\t\tvar isObject = object !== null && typeof object === 'object';\n\t\tvar isFunction = toStr.call(object) === '[object Function]';\n\t\tvar isArguments = isArgs(object);\n\t\tvar isString = isObject && toStr.call(object) === '[object String]';\n\t\tvar theKeys = [];\n\n\t\tif (!isObject && !isFunction && !isArguments) {\n\t\t\tthrow new TypeError('Object.keys called on a non-object');\n\t\t}\n\n\t\tvar skipProto = hasProtoEnumBug && isFunction;\n\t\tif (isString && object.length > 0 && !has.call(object, 0)) {\n\t\t\tfor (var i = 0; i < object.length; ++i) {\n\t\t\t\ttheKeys.push(String(i));\n\t\t\t}\n\t\t}\n\n\t\tif (isArguments && object.length > 0) {\n\t\t\tfor (var j = 0; j < object.length; ++j) {\n\t\t\t\ttheKeys.push(String(j));\n\t\t\t}\n\t\t} else {\n\t\t\tfor (var name in object) {\n\t\t\t\tif (!(skipProto && name === 'prototype') && has.call(object, name)) {\n\t\t\t\t\ttheKeys.push(String(name));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (hasDontEnumBug) {\n\t\t\tvar skipConstructor = equalsConstructorPrototypeIfNotBuggy(object);\n\n\t\t\tfor (var k = 0; k < dontEnums.length; ++k) {\n\t\t\t\tif (!(skipConstructor && dontEnums[k] === 'constructor') && has.call(object, dontEnums[k])) {\n\t\t\t\t\ttheKeys.push(dontEnums[k]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn theKeys;\n\t};\n}\nmodule.exports = keysShim;\n","'use strict';\n\nvar slice = Array.prototype.slice;\nvar isArgs = require('./isArguments');\n\nvar origKeys = Object.keys;\nvar keysShim = origKeys ? function keys(o) { return origKeys(o); } : require('./implementation');\n\nvar originalKeys = Object.keys;\n\nkeysShim.shim = function shimObjectKeys() {\n\tif (Object.keys) {\n\t\tvar keysWorksWithArguments = (function () {\n\t\t\t// Safari 5.0 bug\n\t\t\tvar args = Object.keys(arguments);\n\t\t\treturn args && args.length === arguments.length;\n\t\t}(1, 2));\n\t\tif (!keysWorksWithArguments) {\n\t\t\tObject.keys = function keys(object) { // eslint-disable-line func-name-matching\n\t\t\t\tif (isArgs(object)) {\n\t\t\t\t\treturn originalKeys(slice.call(object));\n\t\t\t\t}\n\t\t\t\treturn originalKeys(object);\n\t\t\t};\n\t\t}\n\t} else {\n\t\tObject.keys = keysShim;\n\t}\n\treturn Object.keys || keysShim;\n};\n\nmodule.exports = keysShim;\n","'use strict';\n\nvar keys = require('object-keys');\nvar hasSymbols = typeof Symbol === 'function' && typeof Symbol('foo') === 'symbol';\n\nvar toStr = Object.prototype.toString;\nvar concat = Array.prototype.concat;\nvar origDefineProperty = Object.defineProperty;\n\nvar isFunction = function (fn) {\n\treturn typeof fn === 'function' && toStr.call(fn) === '[object Function]';\n};\n\nvar arePropertyDescriptorsSupported = function () {\n\tvar obj = {};\n\ttry {\n\t\torigDefineProperty(obj, 'x', { enumerable: false, value: obj });\n\t\t// eslint-disable-next-line no-unused-vars, no-restricted-syntax\n\t\tfor (var _ in obj) { // jscs:ignore disallowUnusedVariables\n\t\t\treturn false;\n\t\t}\n\t\treturn obj.x === obj;\n\t} catch (e) { /* this is IE 8. */\n\t\treturn false;\n\t}\n};\nvar supportsDescriptors = origDefineProperty && arePropertyDescriptorsSupported();\n\nvar defineProperty = function (object, name, value, predicate) {\n\tif (name in object && (!isFunction(predicate) || !predicate())) {\n\t\treturn;\n\t}\n\tif (supportsDescriptors) {\n\t\torigDefineProperty(object, name, {\n\t\t\tconfigurable: true,\n\t\t\tenumerable: false,\n\t\t\tvalue: value,\n\t\t\twritable: true\n\t\t});\n\t} else {\n\t\tobject[name] = value;\n\t}\n};\n\nvar defineProperties = function (object, map) {\n\tvar predicates = arguments.length > 2 ? arguments[2] : {};\n\tvar props = keys(map);\n\tif (hasSymbols) {\n\t\tprops = concat.call(props, Object.getOwnPropertySymbols(map));\n\t}\n\tfor (var i = 0; i < props.length; i += 1) {\n\t\tdefineProperty(object, props[i], map[props[i]], predicates[props[i]]);\n\t}\n};\n\ndefineProperties.supportsDescriptors = !!supportsDescriptors;\n\nmodule.exports = defineProperties;\n","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar slice = Array.prototype.slice;\nvar toStr = Object.prototype.toString;\nvar funcType = '[object Function]';\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.call(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slice.call(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n args.concat(slice.call(arguments))\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n } else {\n return target.apply(\n that,\n args.concat(slice.call(arguments))\n );\n }\n };\n\n var boundLength = Math.max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs.push('$' + i);\n }\n\n bound = Function('binder', 'return function (' + boundArgs.join(',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","'use strict';\n\n/* eslint complexity: [2, 18], max-statements: [2, 33] */\nmodule.exports = function hasSymbols() {\n\tif (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }\n\tif (typeof Symbol.iterator === 'symbol') { return true; }\n\n\tvar obj = {};\n\tvar sym = Symbol('test');\n\tvar symObj = Object(sym);\n\tif (typeof sym === 'string') { return false; }\n\n\tif (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }\n\tif (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }\n\n\t// temp disabled per https://github.com/ljharb/object.assign/issues/17\n\t// if (sym instanceof Symbol) { return false; }\n\t// temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4\n\t// if (!(symObj instanceof Symbol)) { return false; }\n\n\t// if (typeof Symbol.prototype.toString !== 'function') { return false; }\n\t// if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }\n\n\tvar symVal = 42;\n\tobj[sym] = symVal;\n\tfor (sym in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop\n\tif (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }\n\n\tif (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }\n\n\tvar syms = Object.getOwnPropertySymbols(obj);\n\tif (syms.length !== 1 || syms[0] !== sym) { return false; }\n\n\tif (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }\n\n\tif (typeof Object.getOwnPropertyDescriptor === 'function') {\n\t\tvar descriptor = Object.getOwnPropertyDescriptor(obj, sym);\n\t\tif (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }\n\t}\n\n\treturn true;\n};\n","'use strict';\n\nvar origSymbol = typeof Symbol !== 'undefined' && Symbol;\nvar hasSymbolSham = require('./shams');\n\nmodule.exports = function hasNativeSymbols() {\n\tif (typeof origSymbol !== 'function') { return false; }\n\tif (typeof Symbol !== 'function') { return false; }\n\tif (typeof origSymbol('foo') !== 'symbol') { return false; }\n\tif (typeof Symbol('bar') !== 'symbol') { return false; }\n\n\treturn hasSymbolSham();\n};\n","'use strict';\n\nvar test = {\n\tfoo: {}\n};\n\nvar $Object = Object;\n\nmodule.exports = function hasProto() {\n\treturn { __proto__: test }.foo === test.foo && !({ __proto__: null } instanceof $Object);\n};\n","'use strict';\n\nvar bind = require('function-bind');\n\nmodule.exports = bind.call(Function.call, Object.prototype.hasOwnProperty);\n","'use strict';\n\nvar undefined;\n\nvar $SyntaxError = SyntaxError;\nvar $Function = Function;\nvar $TypeError = TypeError;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = Object.getOwnPropertyDescriptor;\nif ($gOPD) {\n\ttry {\n\t\t$gOPD({}, '');\n\t} catch (e) {\n\t\t$gOPD = null; // this is IE 8, which has a broken gOPD\n\t}\n}\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\nvar hasProto = require('has-proto')();\n\nvar getProto = Object.getPrototypeOf || (\n\thasProto\n\t\t? function (x) { return x.__proto__; } // eslint-disable-line no-proto\n\t\t: null\n);\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' || !getProto ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols && getProto ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%BigInt64Array%': typeof BigInt64Array === 'undefined' ? undefined : BigInt64Array,\n\t'%BigUint64Array%': typeof BigUint64Array === 'undefined' ? undefined : BigUint64Array,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': EvalError,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols && getProto ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': Object,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': RangeError,\n\t'%ReferenceError%': ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols && getProto ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet\n};\n\nif (getProto) {\n\ttry {\n\t\tnull.error; // eslint-disable-line no-unused-expressions\n\t} catch (e) {\n\t\t// https://github.com/tc39/proposal-shadowrealm/pull/384#issuecomment-1364264229\n\t\tvar errorProto = getProto(getProto(e));\n\t\tINTRINSICS['%Error.prototype%'] = errorProto;\n\t}\n}\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen && getProto) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('has');\nvar $concat = bind.call(Function.call, Array.prototype.concat);\nvar $spliceApply = bind.call(Function.apply, Array.prototype.splice);\nvar $replace = bind.call(Function.call, String.prototype.replace);\nvar $strSlice = bind.call(Function.call, String.prototype.slice);\nvar $exec = bind.call(Function.call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","'use strict';\n\nvar bind = require('function-bind');\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $apply = GetIntrinsic('%Function.prototype.apply%');\nvar $call = GetIntrinsic('%Function.prototype.call%');\nvar $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply);\n\nvar $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true);\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true);\nvar $max = GetIntrinsic('%Math.max%');\n\nif ($defineProperty) {\n\ttry {\n\t\t$defineProperty({}, 'a', { value: 1 });\n\t} catch (e) {\n\t\t// IE 8 has a broken defineProperty\n\t\t$defineProperty = null;\n\t}\n}\n\nmodule.exports = function callBind(originalFunction) {\n\tvar func = $reflectApply(bind, $call, arguments);\n\tif ($gOPD && $defineProperty) {\n\t\tvar desc = $gOPD(func, 'length');\n\t\tif (desc.configurable) {\n\t\t\t// original length, plus the receiver, minus any additional arguments (after the receiver)\n\t\t\t$defineProperty(\n\t\t\t\tfunc,\n\t\t\t\t'length',\n\t\t\t\t{ value: 1 + $max(0, originalFunction.length - (arguments.length - 1)) }\n\t\t\t);\n\t\t}\n\t}\n\treturn func;\n};\n\nvar applyBind = function applyBind() {\n\treturn $reflectApply(bind, $apply, arguments);\n};\n\nif ($defineProperty) {\n\t$defineProperty(module.exports, 'apply', { value: applyBind });\n} else {\n\tmodule.exports.apply = applyBind;\n}\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar callBind = require('./');\n\nvar $indexOf = callBind(GetIntrinsic('String.prototype.indexOf'));\n\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\n\tvar intrinsic = GetIntrinsic(name, !!allowMissing);\n\tif (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {\n\t\treturn callBind(intrinsic);\n\t}\n\treturn intrinsic;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $TypeError = GetIntrinsic('%TypeError%');\n\n// http://262.ecma-international.org/5.1/#sec-9.10\n\nmodule.exports = function CheckObjectCoercible(value, optMessage) {\n\tif (value == null) {\n\t\tthrow new $TypeError(optMessage || ('Cannot call method on ' + value));\n\t}\n\treturn value;\n};\n","'use strict';\n\nmodule.exports = require('../5/CheckObjectCoercible');\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $Array = GetIntrinsic('%Array%');\n\n// eslint-disable-next-line global-require\nvar toStr = !$Array.isArray && require('call-bind/callBound')('Object.prototype.toString');\n\n// https://ecma-international.org/ecma-262/6.0/#sec-isarray\n\nmodule.exports = $Array.isArray || function IsArray(argument) {\n\treturn toStr(argument) === '[object Array]';\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar callBound = require('call-bind/callBound');\n\nvar $TypeError = GetIntrinsic('%TypeError%');\n\nvar IsArray = require('./IsArray');\n\nvar $apply = GetIntrinsic('%Reflect.apply%', true) || callBound('%Function.prototype.apply%');\n\n// https://ecma-international.org/ecma-262/6.0/#sec-call\n\nmodule.exports = function Call(F, V) {\n\tvar argumentsList = arguments.length > 2 ? arguments[2] : [];\n\tif (!IsArray(argumentsList)) {\n\t\tthrow new $TypeError('Assertion failed: optional `argumentsList`, if provided, must be a List');\n\t}\n\treturn $apply(F, V, argumentsList);\n};\n","export default {}","var hasMap = typeof Map === 'function' && Map.prototype;\nvar mapSizeDescriptor = Object.getOwnPropertyDescriptor && hasMap ? Object.getOwnPropertyDescriptor(Map.prototype, 'size') : null;\nvar mapSize = hasMap && mapSizeDescriptor && typeof mapSizeDescriptor.get === 'function' ? mapSizeDescriptor.get : null;\nvar mapForEach = hasMap && Map.prototype.forEach;\nvar hasSet = typeof Set === 'function' && Set.prototype;\nvar setSizeDescriptor = Object.getOwnPropertyDescriptor && hasSet ? Object.getOwnPropertyDescriptor(Set.prototype, 'size') : null;\nvar setSize = hasSet && setSizeDescriptor && typeof setSizeDescriptor.get === 'function' ? setSizeDescriptor.get : null;\nvar setForEach = hasSet && Set.prototype.forEach;\nvar hasWeakMap = typeof WeakMap === 'function' && WeakMap.prototype;\nvar weakMapHas = hasWeakMap ? WeakMap.prototype.has : null;\nvar hasWeakSet = typeof WeakSet === 'function' && WeakSet.prototype;\nvar weakSetHas = hasWeakSet ? WeakSet.prototype.has : null;\nvar hasWeakRef = typeof WeakRef === 'function' && WeakRef.prototype;\nvar weakRefDeref = hasWeakRef ? WeakRef.prototype.deref : null;\nvar booleanValueOf = Boolean.prototype.valueOf;\nvar objectToString = Object.prototype.toString;\nvar functionToString = Function.prototype.toString;\nvar $match = String.prototype.match;\nvar $slice = String.prototype.slice;\nvar $replace = String.prototype.replace;\nvar $toUpperCase = String.prototype.toUpperCase;\nvar $toLowerCase = String.prototype.toLowerCase;\nvar $test = RegExp.prototype.test;\nvar $concat = Array.prototype.concat;\nvar $join = Array.prototype.join;\nvar $arrSlice = Array.prototype.slice;\nvar $floor = Math.floor;\nvar bigIntValueOf = typeof BigInt === 'function' ? BigInt.prototype.valueOf : null;\nvar gOPS = Object.getOwnPropertySymbols;\nvar symToString = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? Symbol.prototype.toString : null;\nvar hasShammedSymbols = typeof Symbol === 'function' && typeof Symbol.iterator === 'object';\n// ie, `has-tostringtag/shams\nvar toStringTag = typeof Symbol === 'function' && Symbol.toStringTag && (typeof Symbol.toStringTag === hasShammedSymbols ? 'object' : 'symbol')\n ? Symbol.toStringTag\n : null;\nvar isEnumerable = Object.prototype.propertyIsEnumerable;\n\nvar gPO = (typeof Reflect === 'function' ? Reflect.getPrototypeOf : Object.getPrototypeOf) || (\n [].__proto__ === Array.prototype // eslint-disable-line no-proto\n ? function (O) {\n return O.__proto__; // eslint-disable-line no-proto\n }\n : null\n);\n\nfunction addNumericSeparator(num, str) {\n if (\n num === Infinity\n || num === -Infinity\n || num !== num\n || (num && num > -1000 && num < 1000)\n || $test.call(/e/, str)\n ) {\n return str;\n }\n var sepRegex = /[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;\n if (typeof num === 'number') {\n var int = num < 0 ? -$floor(-num) : $floor(num); // trunc(num)\n if (int !== num) {\n var intStr = String(int);\n var dec = $slice.call(str, intStr.length + 1);\n return $replace.call(intStr, sepRegex, '$&_') + '.' + $replace.call($replace.call(dec, /([0-9]{3})/g, '$&_'), /_$/, '');\n }\n }\n return $replace.call(str, sepRegex, '$&_');\n}\n\nvar utilInspect = require('./util.inspect');\nvar inspectCustom = utilInspect.custom;\nvar inspectSymbol = isSymbol(inspectCustom) ? inspectCustom : null;\n\nmodule.exports = function inspect_(obj, options, depth, seen) {\n var opts = options || {};\n\n if (has(opts, 'quoteStyle') && (opts.quoteStyle !== 'single' && opts.quoteStyle !== 'double')) {\n throw new TypeError('option \"quoteStyle\" must be \"single\" or \"double\"');\n }\n if (\n has(opts, 'maxStringLength') && (typeof opts.maxStringLength === 'number'\n ? opts.maxStringLength < 0 && opts.maxStringLength !== Infinity\n : opts.maxStringLength !== null\n )\n ) {\n throw new TypeError('option \"maxStringLength\", if provided, must be a positive integer, Infinity, or `null`');\n }\n var customInspect = has(opts, 'customInspect') ? opts.customInspect : true;\n if (typeof customInspect !== 'boolean' && customInspect !== 'symbol') {\n throw new TypeError('option \"customInspect\", if provided, must be `true`, `false`, or `\\'symbol\\'`');\n }\n\n if (\n has(opts, 'indent')\n && opts.indent !== null\n && opts.indent !== '\\t'\n && !(parseInt(opts.indent, 10) === opts.indent && opts.indent > 0)\n ) {\n throw new TypeError('option \"indent\" must be \"\\\\t\", an integer > 0, or `null`');\n }\n if (has(opts, 'numericSeparator') && typeof opts.numericSeparator !== 'boolean') {\n throw new TypeError('option \"numericSeparator\", if provided, must be `true` or `false`');\n }\n var numericSeparator = opts.numericSeparator;\n\n if (typeof obj === 'undefined') {\n return 'undefined';\n }\n if (obj === null) {\n return 'null';\n }\n if (typeof obj === 'boolean') {\n return obj ? 'true' : 'false';\n }\n\n if (typeof obj === 'string') {\n return inspectString(obj, opts);\n }\n if (typeof obj === 'number') {\n if (obj === 0) {\n return Infinity / obj > 0 ? '0' : '-0';\n }\n var str = String(obj);\n return numericSeparator ? addNumericSeparator(obj, str) : str;\n }\n if (typeof obj === 'bigint') {\n var bigIntStr = String(obj) + 'n';\n return numericSeparator ? addNumericSeparator(obj, bigIntStr) : bigIntStr;\n }\n\n var maxDepth = typeof opts.depth === 'undefined' ? 5 : opts.depth;\n if (typeof depth === 'undefined') { depth = 0; }\n if (depth >= maxDepth && maxDepth > 0 && typeof obj === 'object') {\n return isArray(obj) ? '[Array]' : '[Object]';\n }\n\n var indent = getIndent(opts, depth);\n\n if (typeof seen === 'undefined') {\n seen = [];\n } else if (indexOf(seen, obj) >= 0) {\n return '[Circular]';\n }\n\n function inspect(value, from, noIndent) {\n if (from) {\n seen = $arrSlice.call(seen);\n seen.push(from);\n }\n if (noIndent) {\n var newOpts = {\n depth: opts.depth\n };\n if (has(opts, 'quoteStyle')) {\n newOpts.quoteStyle = opts.quoteStyle;\n }\n return inspect_(value, newOpts, depth + 1, seen);\n }\n return inspect_(value, opts, depth + 1, seen);\n }\n\n if (typeof obj === 'function' && !isRegExp(obj)) { // in older engines, regexes are callable\n var name = nameOf(obj);\n var keys = arrObjKeys(obj, inspect);\n return '[Function' + (name ? ': ' + name : ' (anonymous)') + ']' + (keys.length > 0 ? ' { ' + $join.call(keys, ', ') + ' }' : '');\n }\n if (isSymbol(obj)) {\n var symString = hasShammedSymbols ? $replace.call(String(obj), /^(Symbol\\(.*\\))_[^)]*$/, '$1') : symToString.call(obj);\n return typeof obj === 'object' && !hasShammedSymbols ? markBoxed(symString) : symString;\n }\n if (isElement(obj)) {\n var s = '<' + $toLowerCase.call(String(obj.nodeName));\n var attrs = obj.attributes || [];\n for (var i = 0; i < attrs.length; i++) {\n s += ' ' + attrs[i].name + '=' + wrapQuotes(quote(attrs[i].value), 'double', opts);\n }\n s += '>';\n if (obj.childNodes && obj.childNodes.length) { s += '...'; }\n s += '</' + $toLowerCase.call(String(obj.nodeName)) + '>';\n return s;\n }\n if (isArray(obj)) {\n if (obj.length === 0) { return '[]'; }\n var xs = arrObjKeys(obj, inspect);\n if (indent && !singleLineValues(xs)) {\n return '[' + indentedJoin(xs, indent) + ']';\n }\n return '[ ' + $join.call(xs, ', ') + ' ]';\n }\n if (isError(obj)) {\n var parts = arrObjKeys(obj, inspect);\n if (!('cause' in Error.prototype) && 'cause' in obj && !isEnumerable.call(obj, 'cause')) {\n return '{ [' + String(obj) + '] ' + $join.call($concat.call('[cause]: ' + inspect(obj.cause), parts), ', ') + ' }';\n }\n if (parts.length === 0) { return '[' + String(obj) + ']'; }\n return '{ [' + String(obj) + '] ' + $join.call(parts, ', ') + ' }';\n }\n if (typeof obj === 'object' && customInspect) {\n if (inspectSymbol && typeof obj[inspectSymbol] === 'function' && utilInspect) {\n return utilInspect(obj, { depth: maxDepth - depth });\n } else if (customInspect !== 'symbol' && typeof obj.inspect === 'function') {\n return obj.inspect();\n }\n }\n if (isMap(obj)) {\n var mapParts = [];\n mapForEach.call(obj, function (value, key) {\n mapParts.push(inspect(key, obj, true) + ' => ' + inspect(value, obj));\n });\n return collectionOf('Map', mapSize.call(obj), mapParts, indent);\n }\n if (isSet(obj)) {\n var setParts = [];\n setForEach.call(obj, function (value) {\n setParts.push(inspect(value, obj));\n });\n return collectionOf('Set', setSize.call(obj), setParts, indent);\n }\n if (isWeakMap(obj)) {\n return weakCollectionOf('WeakMap');\n }\n if (isWeakSet(obj)) {\n return weakCollectionOf('WeakSet');\n }\n if (isWeakRef(obj)) {\n return weakCollectionOf('WeakRef');\n }\n if (isNumber(obj)) {\n return markBoxed(inspect(Number(obj)));\n }\n if (isBigInt(obj)) {\n return markBoxed(inspect(bigIntValueOf.call(obj)));\n }\n if (isBoolean(obj)) {\n return markBoxed(booleanValueOf.call(obj));\n }\n if (isString(obj)) {\n return markBoxed(inspect(String(obj)));\n }\n if (!isDate(obj) && !isRegExp(obj)) {\n var ys = arrObjKeys(obj, inspect);\n var isPlainObject = gPO ? gPO(obj) === Object.prototype : obj instanceof Object || obj.constructor === Object;\n var protoTag = obj instanceof Object ? '' : 'null prototype';\n var stringTag = !isPlainObject && toStringTag && Object(obj) === obj && toStringTag in obj ? $slice.call(toStr(obj), 8, -1) : protoTag ? 'Object' : '';\n var constructorTag = isPlainObject || typeof obj.constructor !== 'function' ? '' : obj.constructor.name ? obj.constructor.name + ' ' : '';\n var tag = constructorTag + (stringTag || protoTag ? '[' + $join.call($concat.call([], stringTag || [], protoTag || []), ': ') + '] ' : '');\n if (ys.length === 0) { return tag + '{}'; }\n if (indent) {\n return tag + '{' + indentedJoin(ys, indent) + '}';\n }\n return tag + '{ ' + $join.call(ys, ', ') + ' }';\n }\n return String(obj);\n};\n\nfunction wrapQuotes(s, defaultStyle, opts) {\n var quoteChar = (opts.quoteStyle || defaultStyle) === 'double' ? '\"' : \"'\";\n return quoteChar + s + quoteChar;\n}\n\nfunction quote(s) {\n return $replace.call(String(s), /\"/g, '"');\n}\n\nfunction isArray(obj) { return toStr(obj) === '[object Array]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isDate(obj) { return toStr(obj) === '[object Date]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isRegExp(obj) { return toStr(obj) === '[object RegExp]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isError(obj) { return toStr(obj) === '[object Error]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isString(obj) { return toStr(obj) === '[object String]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isNumber(obj) { return toStr(obj) === '[object Number]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isBoolean(obj) { return toStr(obj) === '[object Boolean]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\n\n// Symbol and BigInt do have Symbol.toStringTag by spec, so that can't be used to eliminate false positives\nfunction isSymbol(obj) {\n if (hasShammedSymbols) {\n return obj && typeof obj === 'object' && obj instanceof Symbol;\n }\n if (typeof obj === 'symbol') {\n return true;\n }\n if (!obj || typeof obj !== 'object' || !symToString) {\n return false;\n }\n try {\n symToString.call(obj);\n return true;\n } catch (e) {}\n return false;\n}\n\nfunction isBigInt(obj) {\n if (!obj || typeof obj !== 'object' || !bigIntValueOf) {\n return false;\n }\n try {\n bigIntValueOf.call(obj);\n return true;\n } catch (e) {}\n return false;\n}\n\nvar hasOwn = Object.prototype.hasOwnProperty || function (key) { return key in this; };\nfunction has(obj, key) {\n return hasOwn.call(obj, key);\n}\n\nfunction toStr(obj) {\n return objectToString.call(obj);\n}\n\nfunction nameOf(f) {\n if (f.name) { return f.name; }\n var m = $match.call(functionToString.call(f), /^function\\s*([\\w$]+)/);\n if (m) { return m[1]; }\n return null;\n}\n\nfunction indexOf(xs, x) {\n if (xs.indexOf) { return xs.indexOf(x); }\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) { return i; }\n }\n return -1;\n}\n\nfunction isMap(x) {\n if (!mapSize || !x || typeof x !== 'object') {\n return false;\n }\n try {\n mapSize.call(x);\n try {\n setSize.call(x);\n } catch (s) {\n return true;\n }\n return x instanceof Map; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakMap(x) {\n if (!weakMapHas || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakMapHas.call(x, weakMapHas);\n try {\n weakSetHas.call(x, weakSetHas);\n } catch (s) {\n return true;\n }\n return x instanceof WeakMap; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakRef(x) {\n if (!weakRefDeref || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakRefDeref.call(x);\n return true;\n } catch (e) {}\n return false;\n}\n\nfunction isSet(x) {\n if (!setSize || !x || typeof x !== 'object') {\n return false;\n }\n try {\n setSize.call(x);\n try {\n mapSize.call(x);\n } catch (m) {\n return true;\n }\n return x instanceof Set; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakSet(x) {\n if (!weakSetHas || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakSetHas.call(x, weakSetHas);\n try {\n weakMapHas.call(x, weakMapHas);\n } catch (s) {\n return true;\n }\n return x instanceof WeakSet; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isElement(x) {\n if (!x || typeof x !== 'object') { return false; }\n if (typeof HTMLElement !== 'undefined' && x instanceof HTMLElement) {\n return true;\n }\n return typeof x.nodeName === 'string' && typeof x.getAttribute === 'function';\n}\n\nfunction inspectString(str, opts) {\n if (str.length > opts.maxStringLength) {\n var remaining = str.length - opts.maxStringLength;\n var trailer = '... ' + remaining + ' more character' + (remaining > 1 ? 's' : '');\n return inspectString($slice.call(str, 0, opts.maxStringLength), opts) + trailer;\n }\n // eslint-disable-next-line no-control-regex\n var s = $replace.call($replace.call(str, /(['\\\\])/g, '\\\\$1'), /[\\x00-\\x1f]/g, lowbyte);\n return wrapQuotes(s, 'single', opts);\n}\n\nfunction lowbyte(c) {\n var n = c.charCodeAt(0);\n var x = {\n 8: 'b',\n 9: 't',\n 10: 'n',\n 12: 'f',\n 13: 'r'\n }[n];\n if (x) { return '\\\\' + x; }\n return '\\\\x' + (n < 0x10 ? '0' : '') + $toUpperCase.call(n.toString(16));\n}\n\nfunction markBoxed(str) {\n return 'Object(' + str + ')';\n}\n\nfunction weakCollectionOf(type) {\n return type + ' { ? }';\n}\n\nfunction collectionOf(type, size, entries, indent) {\n var joinedEntries = indent ? indentedJoin(entries, indent) : $join.call(entries, ', ');\n return type + ' (' + size + ') {' + joinedEntries + '}';\n}\n\nfunction singleLineValues(xs) {\n for (var i = 0; i < xs.length; i++) {\n if (indexOf(xs[i], '\\n') >= 0) {\n return false;\n }\n }\n return true;\n}\n\nfunction getIndent(opts, depth) {\n var baseIndent;\n if (opts.indent === '\\t') {\n baseIndent = '\\t';\n } else if (typeof opts.indent === 'number' && opts.indent > 0) {\n baseIndent = $join.call(Array(opts.indent + 1), ' ');\n } else {\n return null;\n }\n return {\n base: baseIndent,\n prev: $join.call(Array(depth + 1), baseIndent)\n };\n}\n\nfunction indentedJoin(xs, indent) {\n if (xs.length === 0) { return ''; }\n var lineJoiner = '\\n' + indent.prev + indent.base;\n return lineJoiner + $join.call(xs, ',' + lineJoiner) + '\\n' + indent.prev;\n}\n\nfunction arrObjKeys(obj, inspect) {\n var isArr = isArray(obj);\n var xs = [];\n if (isArr) {\n xs.length = obj.length;\n for (var i = 0; i < obj.length; i++) {\n xs[i] = has(obj, i) ? inspect(obj[i], obj) : '';\n }\n }\n var syms = typeof gOPS === 'function' ? gOPS(obj) : [];\n var symMap;\n if (hasShammedSymbols) {\n symMap = {};\n for (var k = 0; k < syms.length; k++) {\n symMap['$' + syms[k]] = syms[k];\n }\n }\n\n for (var key in obj) { // eslint-disable-line no-restricted-syntax\n if (!has(obj, key)) { continue; } // eslint-disable-line no-restricted-syntax, no-continue\n if (isArr && String(Number(key)) === key && key < obj.length) { continue; } // eslint-disable-line no-restricted-syntax, no-continue\n if (hasShammedSymbols && symMap['$' + key] instanceof Symbol) {\n // this is to prevent shammed Symbols, which are stored as strings, from being included in the string key section\n continue; // eslint-disable-line no-restricted-syntax, no-continue\n } else if ($test.call(/[^\\w$]/, key)) {\n xs.push(inspect(key, obj) + ': ' + inspect(obj[key], obj));\n } else {\n xs.push(key + ': ' + inspect(obj[key], obj));\n }\n }\n if (typeof gOPS === 'function') {\n for (var j = 0; j < syms.length; j++) {\n if (isEnumerable.call(obj, syms[j])) {\n xs.push('[' + inspect(syms[j]) + ']: ' + inspect(obj[syms[j]], obj));\n }\n }\n }\n return xs;\n}\n","'use strict';\n\n// https://ecma-international.org/ecma-262/6.0/#sec-ispropertykey\n\nmodule.exports = function IsPropertyKey(argument) {\n\treturn typeof argument === 'string' || typeof argument === 'symbol';\n};\n","'use strict';\n\n// https://262.ecma-international.org/5.1/#sec-8\n\nmodule.exports = function Type(x) {\n\tif (x === null) {\n\t\treturn 'Null';\n\t}\n\tif (typeof x === 'undefined') {\n\t\treturn 'Undefined';\n\t}\n\tif (typeof x === 'function' || typeof x === 'object') {\n\t\treturn 'Object';\n\t}\n\tif (typeof x === 'number') {\n\t\treturn 'Number';\n\t}\n\tif (typeof x === 'boolean') {\n\t\treturn 'Boolean';\n\t}\n\tif (typeof x === 'string') {\n\t\treturn 'String';\n\t}\n};\n","'use strict';\n\nvar ES5Type = require('../5/Type');\n\n// https://262.ecma-international.org/11.0/#sec-ecmascript-data-types-and-values\n\nmodule.exports = function Type(x) {\n\tif (typeof x === 'symbol') {\n\t\treturn 'Symbol';\n\t}\n\tif (typeof x === 'bigint') {\n\t\treturn 'BigInt';\n\t}\n\treturn ES5Type(x);\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $TypeError = GetIntrinsic('%TypeError%');\n\nvar inspect = require('object-inspect');\n\nvar IsPropertyKey = require('./IsPropertyKey');\nvar Type = require('./Type');\n\n/**\n * 7.3.1 Get (O, P) - https://ecma-international.org/ecma-262/6.0/#sec-get-o-p\n * 1. Assert: Type(O) is Object.\n * 2. Assert: IsPropertyKey(P) is true.\n * 3. Return O.[[Get]](P, O).\n */\n\nmodule.exports = function Get(O, P) {\n\t// 7.3.1.1\n\tif (Type(O) !== 'Object') {\n\t\tthrow new $TypeError('Assertion failed: Type(O) is not Object');\n\t}\n\t// 7.3.1.2\n\tif (!IsPropertyKey(P)) {\n\t\tthrow new $TypeError('Assertion failed: IsPropertyKey(P) is not true, got ' + inspect(P));\n\t}\n\t// 7.3.1.3\n\treturn O[P];\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $TypeError = GetIntrinsic('%TypeError%');\n\nvar IsPropertyKey = require('./IsPropertyKey');\nvar Type = require('./Type');\n\n// https://ecma-international.org/ecma-262/6.0/#sec-hasproperty\n\nmodule.exports = function HasProperty(O, P) {\n\tif (Type(O) !== 'Object') {\n\t\tthrow new $TypeError('Assertion failed: `O` must be an Object');\n\t}\n\tif (!IsPropertyKey(P)) {\n\t\tthrow new $TypeError('Assertion failed: `P` must be a Property Key');\n\t}\n\treturn P in O;\n};\n","'use strict';\n\nvar fnToStr = Function.prototype.toString;\nvar reflectApply = typeof Reflect === 'object' && Reflect !== null && Reflect.apply;\nvar badArrayLike;\nvar isCallableMarker;\nif (typeof reflectApply === 'function' && typeof Object.defineProperty === 'function') {\n\ttry {\n\t\tbadArrayLike = Object.defineProperty({}, 'length', {\n\t\t\tget: function () {\n\t\t\t\tthrow isCallableMarker;\n\t\t\t}\n\t\t});\n\t\tisCallableMarker = {};\n\t\t// eslint-disable-next-line no-throw-literal\n\t\treflectApply(function () { throw 42; }, null, badArrayLike);\n\t} catch (_) {\n\t\tif (_ !== isCallableMarker) {\n\t\t\treflectApply = null;\n\t\t}\n\t}\n} else {\n\treflectApply = null;\n}\n\nvar constructorRegex = /^\\s*class\\b/;\nvar isES6ClassFn = function isES6ClassFunction(value) {\n\ttry {\n\t\tvar fnStr = fnToStr.call(value);\n\t\treturn constructorRegex.test(fnStr);\n\t} catch (e) {\n\t\treturn false; // not a function\n\t}\n};\n\nvar tryFunctionObject = function tryFunctionToStr(value) {\n\ttry {\n\t\tif (isES6ClassFn(value)) { return false; }\n\t\tfnToStr.call(value);\n\t\treturn true;\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\nvar toStr = Object.prototype.toString;\nvar objectClass = '[object Object]';\nvar fnClass = '[object Function]';\nvar genClass = '[object GeneratorFunction]';\nvar ddaClass = '[object HTMLAllCollection]'; // IE 11\nvar ddaClass2 = '[object HTML document.all class]';\nvar ddaClass3 = '[object HTMLCollection]'; // IE 9-10\nvar hasToStringTag = typeof Symbol === 'function' && !!Symbol.toStringTag; // better: use `has-tostringtag`\n\nvar isIE68 = !(0 in [,]); // eslint-disable-line no-sparse-arrays, comma-spacing\n\nvar isDDA = function isDocumentDotAll() { return false; };\nif (typeof document === 'object') {\n\t// Firefox 3 canonicalizes DDA to undefined when it's not accessed directly\n\tvar all = document.all;\n\tif (toStr.call(all) === toStr.call(document.all)) {\n\t\tisDDA = function isDocumentDotAll(value) {\n\t\t\t/* globals document: false */\n\t\t\t// in IE 6-8, typeof document.all is \"object\" and it's truthy\n\t\t\tif ((isIE68 || !value) && (typeof value === 'undefined' || typeof value === 'object')) {\n\t\t\t\ttry {\n\t\t\t\t\tvar str = toStr.call(value);\n\t\t\t\t\treturn (\n\t\t\t\t\t\tstr === ddaClass\n\t\t\t\t\t\t|| str === ddaClass2\n\t\t\t\t\t\t|| str === ddaClass3 // opera 12.16\n\t\t\t\t\t\t|| str === objectClass // IE 6-8\n\t\t\t\t\t) && value('') == null; // eslint-disable-line eqeqeq\n\t\t\t\t} catch (e) { /**/ }\n\t\t\t}\n\t\t\treturn false;\n\t\t};\n\t}\n}\n\nmodule.exports = reflectApply\n\t? function isCallable(value) {\n\t\tif (isDDA(value)) { return true; }\n\t\tif (!value) { return false; }\n\t\tif (typeof value !== 'function' && typeof value !== 'object') { return false; }\n\t\ttry {\n\t\t\treflectApply(value, null, badArrayLike);\n\t\t} catch (e) {\n\t\t\tif (e !== isCallableMarker) { return false; }\n\t\t}\n\t\treturn !isES6ClassFn(value) && tryFunctionObject(value);\n\t}\n\t: function isCallable(value) {\n\t\tif (isDDA(value)) { return true; }\n\t\tif (!value) { return false; }\n\t\tif (typeof value !== 'function' && typeof value !== 'object') { return false; }\n\t\tif (hasToStringTag) { return tryFunctionObject(value); }\n\t\tif (isES6ClassFn(value)) { return false; }\n\t\tvar strClass = toStr.call(value);\n\t\tif (strClass !== fnClass && strClass !== genClass && !(/^\\[object HTML/).test(strClass)) { return false; }\n\t\treturn tryFunctionObject(value);\n\t};\n","'use strict';\n\n// http://262.ecma-international.org/5.1/#sec-9.11\n\nmodule.exports = require('is-callable');\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $Math = GetIntrinsic('%Math%');\nvar $Number = GetIntrinsic('%Number%');\n\nmodule.exports = $Number.MAX_SAFE_INTEGER || $Math.pow(2, 53) - 1;\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $abs = GetIntrinsic('%Math.abs%');\n\n// http://262.ecma-international.org/5.1/#sec-5.2\n\nmodule.exports = function abs(x) {\n\treturn $abs(x);\n};\n","'use strict';\n\n// var modulo = require('./modulo');\nvar $floor = Math.floor;\n\n// http://262.ecma-international.org/5.1/#sec-5.2\n\nmodule.exports = function floor(x) {\n\t// return x - modulo(x, 1);\n\treturn $floor(x);\n};\n","'use strict';\n\nmodule.exports = function isPrimitive(value) {\n\treturn value === null || (typeof value !== 'function' && typeof value !== 'object');\n};\n","'use strict';\n\nvar toStr = Object.prototype.toString;\n\nvar isPrimitive = require('./helpers/isPrimitive');\n\nvar isCallable = require('is-callable');\n\n// http://ecma-international.org/ecma-262/5.1/#sec-8.12.8\nvar ES5internalSlots = {\n\t'[[DefaultValue]]': function (O) {\n\t\tvar actualHint;\n\t\tif (arguments.length > 1) {\n\t\t\tactualHint = arguments[1];\n\t\t} else {\n\t\t\tactualHint = toStr.call(O) === '[object Date]' ? String : Number;\n\t\t}\n\n\t\tif (actualHint === String || actualHint === Number) {\n\t\t\tvar methods = actualHint === String ? ['toString', 'valueOf'] : ['valueOf', 'toString'];\n\t\t\tvar value, i;\n\t\t\tfor (i = 0; i < methods.length; ++i) {\n\t\t\t\tif (isCallable(O[methods[i]])) {\n\t\t\t\t\tvalue = O[methods[i]]();\n\t\t\t\t\tif (isPrimitive(value)) {\n\t\t\t\t\t\treturn value;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tthrow new TypeError('No default value');\n\t\t}\n\t\tthrow new TypeError('invalid [[DefaultValue]] hint supplied');\n\t}\n};\n\n// http://ecma-international.org/ecma-262/5.1/#sec-9.1\nmodule.exports = function ToPrimitive(input) {\n\tif (isPrimitive(input)) {\n\t\treturn input;\n\t}\n\tif (arguments.length > 1) {\n\t\treturn ES5internalSlots['[[DefaultValue]]'](input, arguments[1]);\n\t}\n\treturn ES5internalSlots['[[DefaultValue]]'](input);\n};\n","'use strict';\n\n// http://262.ecma-international.org/5.1/#sec-9.1\n\nmodule.exports = require('es-to-primitive/es5');\n","'use strict';\n\nvar ToPrimitive = require('./ToPrimitive');\n\n// http://262.ecma-international.org/5.1/#sec-9.3\n\nmodule.exports = function ToNumber(value) {\n\tvar prim = ToPrimitive(value, Number);\n\tif (typeof prim !== 'string') {\n\t\treturn +prim; // eslint-disable-line no-implicit-coercion\n\t}\n\n\t// eslint-disable-next-line no-control-regex\n\tvar trimmed = prim.replace(/^[ \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u0085]+|[ \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u0085]+$/g, '');\n\tif ((/^0[ob]|^[+-]0x/).test(trimmed)) {\n\t\treturn NaN;\n\t}\n\n\treturn +trimmed; // eslint-disable-line no-implicit-coercion\n};\n","'use strict';\n\nmodule.exports = Number.isNaN || function isNaN(a) {\n\treturn a !== a;\n};\n","'use strict';\n\nvar $isNaN = Number.isNaN || function (a) { return a !== a; };\n\nmodule.exports = Number.isFinite || function (x) { return typeof x === 'number' && !$isNaN(x) && x !== Infinity && x !== -Infinity; };\n","'use strict';\n\nmodule.exports = function sign(number) {\n\treturn number >= 0 ? 1 : -1;\n};\n","'use strict';\n\nvar abs = require('./abs');\nvar floor = require('./floor');\nvar ToNumber = require('./ToNumber');\n\nvar $isNaN = require('../helpers/isNaN');\nvar $isFinite = require('../helpers/isFinite');\nvar $sign = require('../helpers/sign');\n\n// http://262.ecma-international.org/5.1/#sec-9.4\n\nmodule.exports = function ToInteger(value) {\n\tvar number = ToNumber(value);\n\tif ($isNaN(number)) { return 0; }\n\tif (number === 0 || !$isFinite(number)) { return number; }\n\treturn $sign(number) * floor(abs(number));\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $test = GetIntrinsic('RegExp.prototype.test');\n\nvar callBind = require('call-bind');\n\nmodule.exports = function regexTester(regex) {\n\treturn callBind($test, regex);\n};\n","'use strict';\n\nmodule.exports = function isPrimitive(value) {\n\treturn value === null || (typeof value !== 'function' && typeof value !== 'object');\n};\n","'use strict';\n\nvar hasSymbols = require('has-symbols/shams');\n\nmodule.exports = function hasToStringTagShams() {\n\treturn hasSymbols() && !!Symbol.toStringTag;\n};\n","'use strict';\n\nvar getDay = Date.prototype.getDay;\nvar tryDateObject = function tryDateGetDayCall(value) {\n\ttry {\n\t\tgetDay.call(value);\n\t\treturn true;\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\n\nvar toStr = Object.prototype.toString;\nvar dateClass = '[object Date]';\nvar hasToStringTag = require('has-tostringtag/shams')();\n\nmodule.exports = function isDateObject(value) {\n\tif (typeof value !== 'object' || value === null) {\n\t\treturn false;\n\t}\n\treturn hasToStringTag ? tryDateObject(value) : toStr.call(value) === dateClass;\n};\n","'use strict';\n\nvar toStr = Object.prototype.toString;\nvar hasSymbols = require('has-symbols')();\n\nif (hasSymbols) {\n\tvar symToStr = Symbol.prototype.toString;\n\tvar symStringRegex = /^Symbol\\(.*\\)$/;\n\tvar isSymbolObject = function isRealSymbolObject(value) {\n\t\tif (typeof value.valueOf() !== 'symbol') {\n\t\t\treturn false;\n\t\t}\n\t\treturn symStringRegex.test(symToStr.call(value));\n\t};\n\n\tmodule.exports = function isSymbol(value) {\n\t\tif (typeof value === 'symbol') {\n\t\t\treturn true;\n\t\t}\n\t\tif (toStr.call(value) !== '[object Symbol]') {\n\t\t\treturn false;\n\t\t}\n\t\ttry {\n\t\t\treturn isSymbolObject(value);\n\t\t} catch (e) {\n\t\t\treturn false;\n\t\t}\n\t};\n} else {\n\n\tmodule.exports = function isSymbol(value) {\n\t\t// this environment does not support Symbols.\n\t\treturn false && value;\n\t};\n}\n","'use strict';\n\nvar hasSymbols = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol';\n\nvar isPrimitive = require('./helpers/isPrimitive');\nvar isCallable = require('is-callable');\nvar isDate = require('is-date-object');\nvar isSymbol = require('is-symbol');\n\nvar ordinaryToPrimitive = function OrdinaryToPrimitive(O, hint) {\n\tif (typeof O === 'undefined' || O === null) {\n\t\tthrow new TypeError('Cannot call method on ' + O);\n\t}\n\tif (typeof hint !== 'string' || (hint !== 'number' && hint !== 'string')) {\n\t\tthrow new TypeError('hint must be \"string\" or \"number\"');\n\t}\n\tvar methodNames = hint === 'string' ? ['toString', 'valueOf'] : ['valueOf', 'toString'];\n\tvar method, result, i;\n\tfor (i = 0; i < methodNames.length; ++i) {\n\t\tmethod = O[methodNames[i]];\n\t\tif (isCallable(method)) {\n\t\t\tresult = method.call(O);\n\t\t\tif (isPrimitive(result)) {\n\t\t\t\treturn result;\n\t\t\t}\n\t\t}\n\t}\n\tthrow new TypeError('No default value');\n};\n\nvar GetMethod = function GetMethod(O, P) {\n\tvar func = O[P];\n\tif (func !== null && typeof func !== 'undefined') {\n\t\tif (!isCallable(func)) {\n\t\t\tthrow new TypeError(func + ' returned for property ' + P + ' of object ' + O + ' is not a function');\n\t\t}\n\t\treturn func;\n\t}\n\treturn void 0;\n};\n\n// http://www.ecma-international.org/ecma-262/6.0/#sec-toprimitive\nmodule.exports = function ToPrimitive(input) {\n\tif (isPrimitive(input)) {\n\t\treturn input;\n\t}\n\tvar hint = 'default';\n\tif (arguments.length > 1) {\n\t\tif (arguments[1] === String) {\n\t\t\thint = 'string';\n\t\t} else if (arguments[1] === Number) {\n\t\t\thint = 'number';\n\t\t}\n\t}\n\n\tvar exoticToPrim;\n\tif (hasSymbols) {\n\t\tif (Symbol.toPrimitive) {\n\t\t\texoticToPrim = GetMethod(input, Symbol.toPrimitive);\n\t\t} else if (isSymbol(input)) {\n\t\t\texoticToPrim = Symbol.prototype.valueOf;\n\t\t}\n\t}\n\tif (typeof exoticToPrim !== 'undefined') {\n\t\tvar result = exoticToPrim.call(input, hint);\n\t\tif (isPrimitive(result)) {\n\t\t\treturn result;\n\t\t}\n\t\tthrow new TypeError('unable to convert exotic object to primitive');\n\t}\n\tif (hint === 'default' && (isDate(input) || isSymbol(input))) {\n\t\thint = 'string';\n\t}\n\treturn ordinaryToPrimitive(input, hint === 'default' ? 'number' : hint);\n};\n","'use strict';\n\nvar toPrimitive = require('es-to-primitive/es2015');\n\n// https://ecma-international.org/ecma-262/6.0/#sec-toprimitive\n\nmodule.exports = function ToPrimitive(input) {\n\tif (arguments.length > 1) {\n\t\treturn toPrimitive(input, arguments[1]);\n\t}\n\treturn toPrimitive(input);\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $TypeError = GetIntrinsic('%TypeError%');\nvar $Number = GetIntrinsic('%Number%');\nvar $RegExp = GetIntrinsic('%RegExp%');\nvar $parseInteger = GetIntrinsic('%parseInt%');\n\nvar callBound = require('call-bind/callBound');\nvar regexTester = require('../helpers/regexTester');\nvar isPrimitive = require('../helpers/isPrimitive');\n\nvar $strSlice = callBound('String.prototype.slice');\nvar isBinary = regexTester(/^0b[01]+$/i);\nvar isOctal = regexTester(/^0o[0-7]+$/i);\nvar isInvalidHexLiteral = regexTester(/^[-+]0x[0-9a-f]+$/i);\nvar nonWS = ['\\u0085', '\\u200b', '\\ufffe'].join('');\nvar nonWSregex = new $RegExp('[' + nonWS + ']', 'g');\nvar hasNonWS = regexTester(nonWSregex);\n\n// whitespace from: https://es5.github.io/#x15.5.4.20\n// implementation from https://github.com/es-shims/es5-shim/blob/v3.4.0/es5-shim.js#L1304-L1324\nvar ws = [\n\t'\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003',\n\t'\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028',\n\t'\\u2029\\uFEFF'\n].join('');\nvar trimRegex = new RegExp('(^[' + ws + ']+)|([' + ws + ']+$)', 'g');\nvar $replace = callBound('String.prototype.replace');\nvar $trim = function (value) {\n\treturn $replace(value, trimRegex, '');\n};\n\nvar ToPrimitive = require('./ToPrimitive');\n\n// https://ecma-international.org/ecma-262/6.0/#sec-tonumber\n\nmodule.exports = function ToNumber(argument) {\n\tvar value = isPrimitive(argument) ? argument : ToPrimitive(argument, $Number);\n\tif (typeof value === 'symbol') {\n\t\tthrow new $TypeError('Cannot convert a Symbol value to a number');\n\t}\n\tif (typeof value === 'bigint') {\n\t\tthrow new $TypeError('Conversion from \\'BigInt\\' to \\'number\\' is not allowed.');\n\t}\n\tif (typeof value === 'string') {\n\t\tif (isBinary(value)) {\n\t\t\treturn ToNumber($parseInteger($strSlice(value, 2), 2));\n\t\t} else if (isOctal(value)) {\n\t\t\treturn ToNumber($parseInteger($strSlice(value, 2), 8));\n\t\t} else if (hasNonWS(value) || isInvalidHexLiteral(value)) {\n\t\t\treturn NaN;\n\t\t}\n\t\tvar trimmed = $trim(value);\n\t\tif (trimmed !== value) {\n\t\t\treturn ToNumber(trimmed);\n\t\t}\n\n\t}\n\treturn $Number(value);\n};\n","'use strict';\n\nvar ES5ToInteger = require('../5/ToInteger');\n\nvar ToNumber = require('./ToNumber');\n\n// https://www.ecma-international.org/ecma-262/11.0/#sec-tointeger\n\nmodule.exports = function ToInteger(value) {\n\tvar number = ToNumber(value);\n\tif (number !== 0) {\n\t\tnumber = ES5ToInteger(number);\n\t}\n\treturn number === 0 ? 0 : number;\n};\n","'use strict';\n\nvar MAX_SAFE_INTEGER = require('../helpers/maxSafeInteger');\n\nvar ToIntegerOrInfinity = require('./ToIntegerOrInfinity');\n\nmodule.exports = function ToLength(argument) {\n\tvar len = ToIntegerOrInfinity(argument);\n\tif (len <= 0) { return 0; } // includes converting -0 to +0\n\tif (len > MAX_SAFE_INTEGER) { return MAX_SAFE_INTEGER; }\n\treturn len;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $TypeError = GetIntrinsic('%TypeError%');\n\nvar Get = require('./Get');\nvar ToLength = require('./ToLength');\nvar Type = require('./Type');\n\n// https://262.ecma-international.org/11.0/#sec-lengthofarraylike\n\nmodule.exports = function LengthOfArrayLike(obj) {\n\tif (Type(obj) !== 'Object') {\n\t\tthrow new $TypeError('Assertion failed: `obj` must be an Object');\n\t}\n\treturn ToLength(Get(obj, 'length'));\n};\n\n// TODO: use this all over\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $Object = GetIntrinsic('%Object%');\n\nvar RequireObjectCoercible = require('./RequireObjectCoercible');\n\n// https://ecma-international.org/ecma-262/6.0/#sec-toobject\n\nmodule.exports = function ToObject(value) {\n\tRequireObjectCoercible(value);\n\treturn $Object(value);\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $String = GetIntrinsic('%String%');\nvar $TypeError = GetIntrinsic('%TypeError%');\n\n// https://ecma-international.org/ecma-262/6.0/#sec-tostring\n\nmodule.exports = function ToString(argument) {\n\tif (typeof argument === 'symbol') {\n\t\tthrow new $TypeError('Cannot convert a Symbol value to a string');\n\t}\n\treturn $String(argument);\n};\n","'use strict';\n\nvar strValue = String.prototype.valueOf;\nvar tryStringObject = function tryStringObject(value) {\n\ttry {\n\t\tstrValue.call(value);\n\t\treturn true;\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\nvar toStr = Object.prototype.toString;\nvar strClass = '[object String]';\nvar hasToStringTag = require('has-tostringtag/shams')();\n\nmodule.exports = function isString(value) {\n\tif (typeof value === 'string') {\n\t\treturn true;\n\t}\n\tif (typeof value !== 'object') {\n\t\treturn false;\n\t}\n\treturn hasToStringTag ? tryStringObject(value) : toStr.call(value) === strClass;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar callBound = require('call-bind/callBound');\nvar $TypeError = GetIntrinsic('%TypeError%');\n\nvar Call = require('es-abstract/2021/Call');\nvar Get = require('es-abstract/2021/Get');\nvar HasProperty = require('es-abstract/2021/HasProperty');\nvar IsCallable = require('es-abstract/2021/IsCallable');\nvar LengthOfArrayLike = require('es-abstract/2021/LengthOfArrayLike');\nvar ToObject = require('es-abstract/2021/ToObject');\nvar ToString = require('es-abstract/2021/ToString');\n\nvar isString = require('is-string');\n\nvar $split = callBound('String.prototype.split');\n\n// Check failure of by-index access of string characters (IE < 9) and failure of `0 in boxedString` (Rhino)\nvar boxedString = Object('a');\nvar splitString = boxedString[0] !== 'a' || !(0 in boxedString);\n\nmodule.exports = function forEach(callbackfn) {\n\tvar thisO = ToObject(this);\n\tvar O = splitString && isString(this) ? $split(this, '') : thisO;\n\n\tvar len = LengthOfArrayLike(O);\n\n\tif (!IsCallable(callbackfn)) {\n\t\tthrow new $TypeError('Array.prototype.forEach callback must be a function');\n\t}\n\n\tvar thisArg;\n\tif (arguments.length > 1) {\n\t\tthisArg = arguments[1];\n\t}\n\n\tvar k = 0;\n\twhile (k < len) {\n\t\tvar Pk = ToString(k);\n\t\tvar kPresent = HasProperty(O, Pk);\n\t\tif (kPresent) {\n\t\t\tvar kValue = Get(O, Pk);\n\t\t\tCall(callbackfn, thisArg, [kValue, k, O]);\n\t\t}\n\t\tk += 1;\n\t}\n\n\treturn void undefined;\n};\n","module.exports = function properlyBoxed(method) {\n\t// Check node 0.6.21 bug where third parameter is not boxed\n\tvar properlyBoxesNonStrict = true;\n\tvar properlyBoxesStrict = true;\n\tvar threwException = false;\n\tif (typeof method === 'function') {\n\t\ttry {\n\t\t\t// eslint-disable-next-line max-params\n\t\t\tmethod.call('f', function (_, __, O) {\n\t\t\t\tif (typeof O !== 'object') {\n\t\t\t\t\tproperlyBoxesNonStrict = false;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tmethod.call(\n\t\t\t\t[null],\n\t\t\t\tfunction () {\n\t\t\t\t\t'use strict';\n\n\t\t\t\t\tproperlyBoxesStrict = typeof this === 'string'; // eslint-disable-line no-invalid-this\n\t\t\t\t},\n\t\t\t\t'x'\n\t\t\t);\n\t\t} catch (e) {\n\t\t\tthrewException = true;\n\t\t}\n\t\treturn !threwException && properlyBoxesNonStrict && properlyBoxesStrict;\n\t}\n\treturn false;\n};\n","'use strict';\n\nvar arrayMethodBoxesProperly = require('es-array-method-boxes-properly');\n\nvar implementation = require('./implementation');\n\nmodule.exports = function getPolyfill() {\n\tvar method = Array.prototype.forEach;\n\treturn arrayMethodBoxesProperly(method) ? method : implementation;\n};\n","'use strict';\n\nvar define = require('define-properties');\nvar getPolyfill = require('./polyfill');\n\nmodule.exports = function shimForEach() {\n\tvar polyfill = getPolyfill();\n\tdefine(\n\t\tArray.prototype,\n\t\t{ forEach: polyfill },\n\t\t{ forEach: function () { return Array.prototype.forEach !== polyfill; } }\n\t);\n\treturn polyfill;\n};\n","'use strict';\n\nvar define = require('define-properties');\nvar callBind = require('call-bind');\nvar callBound = require('call-bind/callBound');\nvar RequireObjectCoercible = require('es-abstract/2021/RequireObjectCoercible');\n\nvar implementation = require('./implementation');\nvar getPolyfill = require('./polyfill');\nvar polyfill = getPolyfill();\nvar shim = require('./shim');\n\nvar $slice = callBound('Array.prototype.slice');\n\nvar bound = callBind.apply(polyfill);\n// eslint-disable-next-line no-unused-vars\nvar boundCoercible = function forEach(array, callbackfn) {\n\tRequireObjectCoercible(array);\n\treturn bound(array, $slice(arguments, 1));\n};\n\ndefine(boundCoercible, {\n\tgetPolyfill: getPolyfill,\n\timplementation: implementation,\n\tshim: shim\n});\n\nmodule.exports = boundCoercible;\n","'use strict';\n\nvar RequireObjectCoercible = require('es-abstract/2021/RequireObjectCoercible');\nvar callBound = require('call-bind/callBound');\nvar $isEnumerable = callBound('Object.prototype.propertyIsEnumerable');\nvar $push = callBound('Array.prototype.push');\n\nmodule.exports = function entries(O) {\n\tvar obj = RequireObjectCoercible(O);\n\tvar entrys = [];\n\tfor (var key in obj) {\n\t\tif ($isEnumerable(obj, key)) { // checks own-ness as well\n\t\t\t$push(entrys, [key, obj[key]]);\n\t\t}\n\t}\n\treturn entrys;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = function getPolyfill() {\n\treturn typeof Object.entries === 'function' ? Object.entries : implementation;\n};\n","'use strict';\n\nvar getPolyfill = require('./polyfill');\nvar define = require('define-properties');\n\nmodule.exports = function shimEntries() {\n\tvar polyfill = getPolyfill();\n\tdefine(Object, { entries: polyfill }, {\n\t\tentries: function testEntries() {\n\t\t\treturn Object.entries !== polyfill;\n\t\t}\n\t});\n\treturn polyfill;\n};\n","'use strict';\n\nvar define = require('define-properties');\nvar callBind = require('call-bind');\n\nvar implementation = require('./implementation');\nvar getPolyfill = require('./polyfill');\nvar shim = require('./shim');\n\nvar polyfill = callBind(getPolyfill(), Object);\n\ndefine(polyfill, {\n\tgetPolyfill: getPolyfill,\n\timplementation: implementation,\n\tshim: shim\n});\n\nmodule.exports = polyfill;\n","'use strict';\n\nvar RequireObjectCoercible = require('es-abstract/2021/RequireObjectCoercible');\nvar ToString = require('es-abstract/2021/ToString');\nvar callBound = require('call-bind/callBound');\nvar $replace = callBound('String.prototype.replace');\n\n/* eslint-disable no-control-regex */\nvar leftWhitespace = /^[\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF]+/;\nvar rightWhitespace = /[\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF]+$/;\n/* eslint-enable no-control-regex */\n\nmodule.exports = function trim() {\n\tvar S = ToString(RequireObjectCoercible(this));\n\treturn $replace($replace(S, leftWhitespace, ''), rightWhitespace, '');\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nvar zeroWidthSpace = '\\u200b';\n\nmodule.exports = function getPolyfill() {\n\tif (String.prototype.trim && zeroWidthSpace.trim() === zeroWidthSpace) {\n\t\treturn String.prototype.trim;\n\t}\n\treturn implementation;\n};\n","'use strict';\n\nvar define = require('define-properties');\nvar getPolyfill = require('./polyfill');\n\nmodule.exports = function shimStringTrim() {\n\tvar polyfill = getPolyfill();\n\tdefine(String.prototype, { trim: polyfill }, {\n\t\ttrim: function testTrim() {\n\t\t\treturn String.prototype.trim !== polyfill;\n\t\t}\n\t});\n\treturn polyfill;\n};\n","'use strict';\n\nvar callBind = require('call-bind');\nvar define = require('define-properties');\n\nvar implementation = require('./implementation');\nvar getPolyfill = require('./polyfill');\nvar shim = require('./shim');\n\nvar boundTrim = callBind(getPolyfill());\n\ndefine(boundTrim, {\n\tgetPolyfill: getPolyfill,\n\timplementation: implementation,\n\tshim: shim\n});\n\nmodule.exports = boundTrim;\n","// (c) 2012-2018 Airbnb, Inc.\n//\n// polyglot.js may be freely distributed under the terms of the BSD\n// license. For all licensing information, details, and documentation:\n// http://airbnb.github.com/polyglot.js\n//\n//\n// Polyglot.js is an I18n helper library written in JavaScript, made to\n// work both in the browser and in Node. It provides a simple solution for\n// interpolation and pluralization, based off of Airbnb's\n// experience adding I18n functionality to its Backbone.js and Node apps.\n//\n// Polylglot is agnostic to your translation backend. It doesn't perform any\n// translation; it simply gives you a way to manage translated phrases from\n// your client- or server-side JavaScript application.\n//\n\n'use strict';\n\nvar forEach = require('array.prototype.foreach');\nvar entries = require('object.entries');\nvar warning = require('warning');\nvar has = require('has');\nvar trim = require('string.prototype.trim');\n\nvar warn = function warn(message) {\n warning(false, message);\n};\n\nvar replace = String.prototype.replace;\nvar split = String.prototype.split;\n\n// #### Pluralization methods\n// The string that separates the different phrase possibilities.\nvar delimiter = '||||';\n\nvar russianPluralGroups = function (n) {\n var lastTwo = n % 100;\n var end = lastTwo % 10;\n if (lastTwo !== 11 && end === 1) {\n return 0;\n }\n if (2 <= end && end <= 4 && !(lastTwo >= 12 && lastTwo <= 14)) {\n return 1;\n }\n return 2;\n};\n\nvar defaultPluralRules = {\n // Mapping from pluralization group plural logic.\n pluralTypes: {\n arabic: function (n) {\n // http://www.arabeyes.org/Plural_Forms\n if (n < 3) { return n; }\n var lastTwo = n % 100;\n if (lastTwo >= 3 && lastTwo <= 10) return 3;\n return lastTwo >= 11 ? 4 : 5;\n },\n bosnian_serbian: russianPluralGroups,\n chinese: function () { return 0; },\n croatian: russianPluralGroups,\n french: function (n) { return n >= 2 ? 1 : 0; },\n german: function (n) { return n !== 1 ? 1 : 0; },\n russian: russianPluralGroups,\n lithuanian: function (n) {\n if (n % 10 === 1 && n % 100 !== 11) { return 0; }\n return n % 10 >= 2 && n % 10 <= 9 && (n % 100 < 11 || n % 100 > 19) ? 1 : 2;\n },\n czech: function (n) {\n if (n === 1) { return 0; }\n return (n >= 2 && n <= 4) ? 1 : 2;\n },\n polish: function (n) {\n if (n === 1) { return 0; }\n var end = n % 10;\n return 2 <= end && end <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2;\n },\n icelandic: function (n) { return (n % 10 !== 1 || n % 100 === 11) ? 1 : 0; },\n slovenian: function (n) {\n var lastTwo = n % 100;\n if (lastTwo === 1) {\n return 0;\n }\n if (lastTwo === 2) {\n return 1;\n }\n if (lastTwo === 3 || lastTwo === 4) {\n return 2;\n }\n return 3;\n }\n },\n\n // Mapping from pluralization group to individual language codes/locales.\n // Will look up based on exact match, if not found and it's a locale will parse the locale\n // for language code, and if that does not exist will default to 'en'\n pluralTypeToLanguages: {\n arabic: ['ar'],\n bosnian_serbian: ['bs-Latn-BA', 'bs-Cyrl-BA', 'srl-RS', 'sr-RS'],\n chinese: ['id', 'id-ID', 'ja', 'ko', 'ko-KR', 'lo', 'ms', 'th', 'th-TH', 'zh'],\n croatian: ['hr', 'hr-HR'],\n german: ['fa', 'da', 'de', 'en', 'es', 'fi', 'el', 'he', 'hi-IN', 'hu', 'hu-HU', 'it', 'nl', 'no', 'pt', 'sv', 'tr'],\n french: ['fr', 'tl', 'pt-br'],\n russian: ['ru', 'ru-RU'],\n lithuanian: ['lt'],\n czech: ['cs', 'cs-CZ', 'sk'],\n polish: ['pl'],\n icelandic: ['is'],\n slovenian: ['sl-SL']\n }\n};\n\nfunction langToTypeMap(mapping) {\n var ret = {};\n forEach(entries(mapping), function (entry) {\n var type = entry[0];\n var langs = entry[1];\n forEach(langs, function (lang) {\n ret[lang] = type;\n });\n });\n return ret;\n}\n\nfunction pluralTypeName(pluralRules, locale) {\n var langToPluralType = langToTypeMap(pluralRules.pluralTypeToLanguages);\n return langToPluralType[locale]\n || langToPluralType[split.call(locale, /-/, 1)[0]]\n || langToPluralType.en;\n}\n\nfunction pluralTypeIndex(pluralRules, pluralType, count) {\n return pluralRules.pluralTypes[pluralType](count);\n}\n\nfunction createMemoizedPluralTypeNameSelector() {\n var localePluralTypeStorage = {};\n\n return function (pluralRules, locale) {\n var pluralType = localePluralTypeStorage[locale];\n\n if (pluralType && !pluralRules.pluralTypes[pluralType]) {\n pluralType = null;\n localePluralTypeStorage[locale] = pluralType;\n }\n\n if (!pluralType) {\n pluralType = pluralTypeName(pluralRules, locale);\n\n if (pluralType) {\n localePluralTypeStorage[locale] = pluralType;\n }\n }\n\n return pluralType;\n };\n}\n\nfunction escape(token) {\n return token.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n}\n\nfunction constructTokenRegex(opts) {\n var prefix = (opts && opts.prefix) || '%{';\n var suffix = (opts && opts.suffix) || '}';\n\n if (prefix === delimiter || suffix === delimiter) {\n throw new RangeError('\"' + delimiter + '\" token is reserved for pluralization');\n }\n\n return new RegExp(escape(prefix) + '(.*?)' + escape(suffix), 'g');\n}\n\nvar memoizedPluralTypeName = createMemoizedPluralTypeNameSelector();\n\nvar defaultTokenRegex = /%\\{(.*?)\\}/g;\n\n// ### transformPhrase(phrase, substitutions, locale)\n//\n// Takes a phrase string and transforms it by choosing the correct\n// plural form and interpolating it.\n//\n// transformPhrase('Hello, %{name}!', {name: 'Spike'});\n// // \"Hello, Spike!\"\n//\n// The correct plural form is selected if substitutions.smart_count\n// is set. You can pass in a number instead of an Object as `substitutions`\n// as a shortcut for `smart_count`.\n//\n// transformPhrase('%{smart_count} new messages |||| 1 new message', {smart_count: 1}, 'en');\n// // \"1 new message\"\n//\n// transformPhrase('%{smart_count} new messages |||| 1 new message', {smart_count: 2}, 'en');\n// // \"2 new messages\"\n//\n// transformPhrase('%{smart_count} new messages |||| 1 new message', 5, 'en');\n// // \"5 new messages\"\n//\n// You should pass in a third argument, the locale, to specify the correct plural type.\n// It defaults to `'en'` with 2 plural forms.\nfunction transformPhrase(phrase, substitutions, locale, tokenRegex, pluralRules) {\n if (typeof phrase !== 'string') {\n throw new TypeError('Polyglot.transformPhrase expects argument #1 to be string');\n }\n\n if (substitutions == null) {\n return phrase;\n }\n\n var result = phrase;\n var interpolationRegex = tokenRegex || defaultTokenRegex;\n\n // allow number as a pluralization shortcut\n var options = typeof substitutions === 'number' ? { smart_count: substitutions } : substitutions;\n\n // Select plural form: based on a phrase text that contains `n`\n // plural forms separated by `delimiter`, a `locale`, and a `substitutions.smart_count`,\n // choose the correct plural form. This is only done if `count` is set.\n if (options.smart_count != null && phrase) {\n var pluralRulesOrDefault = pluralRules || defaultPluralRules;\n var texts = split.call(phrase, delimiter);\n var bestLocale = locale || 'en';\n var pluralType = memoizedPluralTypeName(pluralRulesOrDefault, bestLocale);\n var pluralTypeWithCount = pluralTypeIndex(\n pluralRulesOrDefault,\n pluralType,\n options.smart_count\n );\n\n result = trim(texts[pluralTypeWithCount] || texts[0]);\n }\n\n // Interpolate: Creates a `RegExp` object for each interpolation placeholder.\n result = replace.call(result, interpolationRegex, function (expression, argument) {\n if (!has(options, argument) || options[argument] == null) { return expression; }\n return options[argument];\n });\n\n return result;\n}\n\n// ### Polyglot class constructor\nfunction Polyglot(options) {\n var opts = options || {};\n this.phrases = {};\n this.extend(opts.phrases || {});\n this.currentLocale = opts.locale || 'en';\n var allowMissing = opts.allowMissing ? transformPhrase : null;\n this.onMissingKey = typeof opts.onMissingKey === 'function' ? opts.onMissingKey : allowMissing;\n this.warn = opts.warn || warn;\n this.tokenRegex = constructTokenRegex(opts.interpolation);\n this.pluralRules = opts.pluralRules || defaultPluralRules;\n}\n\n// ### polyglot.locale([locale])\n//\n// Get or set locale. Internally, Polyglot only uses locale for pluralization.\nPolyglot.prototype.locale = function (newLocale) {\n if (newLocale) this.currentLocale = newLocale;\n return this.currentLocale;\n};\n\n// ### polyglot.extend(phrases)\n//\n// Use `extend` to tell Polyglot how to translate a given key.\n//\n// polyglot.extend({\n// \"hello\": \"Hello\",\n// \"hello_name\": \"Hello, %{name}\"\n// });\n//\n// The key can be any string. Feel free to call `extend` multiple times;\n// it will override any phrases with the same key, but leave existing phrases\n// untouched.\n//\n// It is also possible to pass nested phrase objects, which get flattened\n// into an object with the nested keys concatenated using dot notation.\n//\n// polyglot.extend({\n// \"nav\": {\n// \"hello\": \"Hello\",\n// \"hello_name\": \"Hello, %{name}\",\n// \"sidebar\": {\n// \"welcome\": \"Welcome\"\n// }\n// }\n// });\n//\n// console.log(polyglot.phrases);\n// // {\n// // 'nav.hello': 'Hello',\n// // 'nav.hello_name': 'Hello, %{name}',\n// // 'nav.sidebar.welcome': 'Welcome'\n// // }\n//\n// `extend` accepts an optional second argument, `prefix`, which can be used\n// to prefix every key in the phrases object with some string, using dot\n// notation.\n//\n// polyglot.extend({\n// \"hello\": \"Hello\",\n// \"hello_name\": \"Hello, %{name}\"\n// }, \"nav\");\n//\n// console.log(polyglot.phrases);\n// // {\n// // 'nav.hello': 'Hello',\n// // 'nav.hello_name': 'Hello, %{name}'\n// // }\n//\n// This feature is used internally to support nested phrase objects.\nPolyglot.prototype.extend = function (morePhrases, prefix) {\n forEach(entries(morePhrases || {}), function (entry) {\n var key = entry[0];\n var phrase = entry[1];\n var prefixedKey = prefix ? prefix + '.' + key : key;\n if (typeof phrase === 'object') {\n this.extend(phrase, prefixedKey);\n } else {\n this.phrases[prefixedKey] = phrase;\n }\n }, this);\n};\n\n// ### polyglot.unset(phrases)\n// Use `unset` to selectively remove keys from a polyglot instance.\n//\n// polyglot.unset(\"some_key\");\n// polyglot.unset({\n// \"hello\": \"Hello\",\n// \"hello_name\": \"Hello, %{name}\"\n// });\n//\n// The unset method can take either a string (for the key), or an object hash with\n// the keys that you would like to unset.\nPolyglot.prototype.unset = function (morePhrases, prefix) {\n if (typeof morePhrases === 'string') {\n delete this.phrases[morePhrases];\n } else {\n forEach(entries(morePhrases || {}), function (entry) {\n var key = entry[0];\n var phrase = entry[1];\n var prefixedKey = prefix ? prefix + '.' + key : key;\n if (typeof phrase === 'object') {\n this.unset(phrase, prefixedKey);\n } else {\n delete this.phrases[prefixedKey];\n }\n }, this);\n }\n};\n\n// ### polyglot.clear()\n//\n// Clears all phrases. Useful for special cases, such as freeing\n// up memory if you have lots of phrases but no longer need to\n// perform any translation. Also used internally by `replace`.\nPolyglot.prototype.clear = function () {\n this.phrases = {};\n};\n\n// ### polyglot.replace(phrases)\n//\n// Completely replace the existing phrases with a new set of phrases.\n// Normally, just use `extend` to add more phrases, but under certain\n// circumstances, you may want to make sure no old phrases are lying around.\nPolyglot.prototype.replace = function (newPhrases) {\n this.clear();\n this.extend(newPhrases);\n};\n\n// ### polyglot.t(key, options)\n//\n// The most-used method. Provide a key, and `t` will return the\n// phrase.\n//\n// polyglot.t(\"hello\");\n// => \"Hello\"\n//\n// The phrase value is provided first by a call to `polyglot.extend()` or\n// `polyglot.replace()`.\n//\n// Pass in an object as the second argument to perform interpolation.\n//\n// polyglot.t(\"hello_name\", {name: \"Spike\"});\n// => \"Hello, Spike\"\n//\n// If you like, you can provide a default value in case the phrase is missing.\n// Use the special option key \"_\" to specify a default.\n//\n// polyglot.t(\"i_like_to_write_in_language\", {\n// _: \"I like to write in %{language}.\",\n// language: \"JavaScript\"\n// });\n// => \"I like to write in JavaScript.\"\n//\nPolyglot.prototype.t = function (key, options) {\n var phrase, result;\n var opts = options == null ? {} : options;\n if (typeof this.phrases[key] === 'string') {\n phrase = this.phrases[key];\n } else if (typeof opts._ === 'string') {\n phrase = opts._;\n } else if (this.onMissingKey) {\n var onMissingKey = this.onMissingKey;\n result = onMissingKey(key, opts, this.currentLocale, this.tokenRegex, this.pluralRules);\n } else {\n this.warn('Missing translation for key: \"' + key + '\"');\n result = key;\n }\n if (typeof phrase === 'string') {\n result = transformPhrase(phrase, opts, this.currentLocale, this.tokenRegex, this.pluralRules);\n }\n return result;\n};\n\n// ### polyglot.has(key)\n//\n// Check if polyglot has a translation for given key\nPolyglot.prototype.has = function (key) {\n return has(this.phrases, key);\n};\n\n// export transformPhrase\nPolyglot.transformPhrase = function transform(phrase, substitutions, locale) {\n return transformPhrase(phrase, substitutions, locale);\n};\n\nmodule.exports = Polyglot;\n","import Polyglot from 'node-polyglot';\n\nimport { I18nProvider, TranslationMessages, Locale } from 'ra-core';\n\ntype GetMessages = (\n locale: string\n) => TranslationMessages | Promise<TranslationMessages>;\n\n/**\n * Build a polyglot-based i18nProvider based on a function returning the messages for a locale\n *\n * @example\n *\n * import { Admin, Resource, polyglotI18nProvider } from 'react-admin';\n * import englishMessages from 'ra-language-english';\n * import frenchMessages from 'ra-language-french';\n *\n * const messages = {\n * fr: frenchMessages,\n * en: englishMessages,\n * };\n * const i18nProvider = polyglotI18nProvider(\n * locale => messages[locale],\n * 'en',\n * [{ locale: 'en', name: 'English' }, { locale: 'fr', name: 'Français' }]\n * )\n */\nexport default (\n getMessages: GetMessages,\n initialLocale: string = 'en',\n availableLocales: Locale[] | any = [{ locale: 'en', name: 'English' }],\n polyglotOptions: any = {}\n): I18nProvider => {\n let locale = initialLocale;\n const messages = getMessages(initialLocale);\n if (messages instanceof Promise) {\n throw new Error(\n `The i18nProvider returned a Promise for the messages of the default locale (${initialLocale}). Please update your i18nProvider to return the messages of the default locale in a synchronous way.`\n );\n }\n\n let availableLocalesFinal, polyglotOptionsFinal;\n if (Array.isArray(availableLocales)) {\n // third argument is an array of locales\n availableLocalesFinal = availableLocales;\n polyglotOptionsFinal = polyglotOptions;\n } else {\n // third argument is the polyglotOptions\n availableLocalesFinal = [{ locale: 'en', name: 'English' }];\n polyglotOptionsFinal = availableLocales;\n }\n const polyglot = new Polyglot({\n locale,\n phrases: { '': '', ...messages },\n ...polyglotOptionsFinal,\n });\n let translate = polyglot.t.bind(polyglot);\n\n return {\n translate: (key: string, options: any = {}) => translate(key, options),\n changeLocale: (newLocale: string) =>\n // We systematically return a Promise for the messages because\n // getMessages may return a Promise\n Promise.resolve(getMessages(newLocale as string)).then(\n (messages: TranslationMessages) => {\n locale = newLocale;\n const newPolyglot = new Polyglot({\n locale: newLocale,\n phrases: { '': '', ...messages },\n ...polyglotOptions,\n });\n translate = newPolyglot.t.bind(newPolyglot);\n }\n ),\n getLocale: () => locale,\n getLocales: () => availableLocalesFinal,\n };\n};\n","import defaultMessages from 'ra-language-english';\nimport polyglotI18nProvider from 'ra-i18n-polyglot';\n\nexport const defaultI18nProvider = polyglotI18nProvider(\n () => defaultMessages,\n 'en',\n [{ name: 'en', value: 'English' }],\n { allowMissing: true }\n);\n","import * as React from 'react';\nimport { localStorageStore } from 'ra-core';\nimport {\n AdminUI,\n AdminContext,\n AdminContextProps,\n AdminUIProps,\n} from 'ra-ui-materialui';\n\nimport { defaultI18nProvider } from './defaultI18nProvider';\nconst defaultStore = localStorageStore();\n\n/**\n * Main admin component, entry point to the application.\n *\n * Initializes the various contexts (auth, data, i18n, router)\n * and defines the main routes.\n *\n * Expects a list of resources as children, or a function returning a list of\n * resources based on the permissions.\n *\n * @example\n *\n * // static list of resources\n *\n * import {\n * Admin,\n * Resource,\n * ListGuesser,\n * useDataProvider,\n * } from 'react-admin';\n *\n * const App = () => (\n * <Admin dataProvider={myDataProvider}>\n * <Resource name=\"posts\" list={ListGuesser} />\n * </Admin>\n * );\n *\n * // dynamic list of resources based on permissions\n *\n * import {\n * Admin,\n * Resource,\n * ListGuesser,\n * useDataProvider,\n * } from 'react-admin';\n *\n * const App = () => (\n * <Admin dataProvider={myDataProvider}>\n * {permissions => [\n * <Resource name=\"posts\" key=\"posts\" list={ListGuesser} />,\n * ]}\n * </Admin>\n * );\n *\n * // If you have to build a dynamic list of resources using a side effect,\n * // you can't use <Admin>. But as it delegates to sub components,\n * // it's relatively straightforward to replace it:\n *\n * import * as React from 'react';\nimport { useEffect, useState } from 'react';\n * import {\n * AdminContext,\n * AdminUI,\n * defaultI18nProvider,\n * localStorageStore,\n * Resource,\n * ListGuesser,\n * useDataProvider,\n * } from 'react-admin';\n *\n * const store = localStorageStore();\n *\n * const App = () => (\n * <AdminContext dataProvider={myDataProvider} i18nProvider={defaultI18nProvider} store={store}>\n * <Resources />\n * </AdminContext>\n * );\n *\n * const Resources = () => {\n * const [resources, setResources] = useState([]);\n * const dataProvider = useDataProvider();\n * useEffect(() => {\n * dataProvider.introspect().then(r => setResources(r));\n * }, []);\n *\n * return (\n * <AdminUI>\n * {resources.map(resource => (\n * <Resource name={resource.name} key={resource.key} list={ListGuesser} />\n * ))}\n * </AdminUI>\n * );\n * };\n */\nexport const Admin = (props: AdminProps) => {\n const {\n authProvider,\n basename,\n catchAll,\n children,\n dashboard,\n dataProvider,\n disableTelemetry,\n error,\n i18nProvider = defaultI18nProvider,\n layout,\n loading,\n loginPage,\n authCallbackPage,\n notification,\n queryClient,\n requireAuth,\n store = defaultStore,\n ready,\n theme,\n lightTheme,\n darkTheme,\n defaultTheme,\n title = 'React Admin',\n } = props;\n\n if (loginPage === true && process.env.NODE_ENV !== 'production') {\n console.warn(\n 'You passed true to the loginPage prop. You must either pass false to disable it or a component class to customize it'\n );\n }\n\n return (\n <AdminContext\n authProvider={authProvider}\n basename={basename}\n dataProvider={dataProvider}\n i18nProvider={i18nProvider}\n store={store}\n queryClient={queryClient}\n theme={theme}\n lightTheme={lightTheme}\n darkTheme={darkTheme}\n defaultTheme={defaultTheme}\n >\n <AdminUI\n layout={layout}\n dashboard={dashboard}\n disableTelemetry={disableTelemetry}\n catchAll={catchAll}\n error={error}\n title={title}\n loading={loading}\n loginPage={loginPage}\n authCallbackPage={authCallbackPage}\n notification={notification}\n requireAuth={requireAuth}\n ready={ready}\n >\n {children}\n </AdminUI>\n </AdminContext>\n );\n};\n\nexport default Admin;\n\nexport interface AdminProps extends AdminContextProps, AdminUIProps {}\n","import React from 'react';\nimport { Tabs, Tab, Toolbar, AppBar, Box, Typography } from '@mui/material';\nimport { Link, matchPath, useLocation } from 'react-router-dom';\nimport { UserMenu, Logout, LoadingIndicator } from 'react-admin';\n\nconst Header = () => {\n const location = useLocation();\n\n let currentPath = '/';\n if (!!matchPath('/contacts/*', location.pathname)) {\n currentPath = '/contacts';\n } else if (!!matchPath('/companies/*', location.pathname)) {\n currentPath = '/companies';\n } else if (!!matchPath('/deals/*', location.pathname)) {\n currentPath = '/deals';\n }\n\n return (\n <Box component=\"nav\" sx={{ flexGrow: 1 }}>\n <AppBar position=\"static\" color=\"primary\">\n <Toolbar variant=\"dense\">\n <Box flex={1} display=\"flex\" justifyContent=\"space-between\">\n <Box display=\"flex\" alignItems=\"center\">\n <Box\n component=\"img\"\n sx={{ marginRight: '1em', height: 30 }}\n src={\n 'https://upload.wikimedia.org/wikipedia/commons/a/a7/React-icon.svg'\n }\n alt=\"Bosch Logo\"\n />\n <Typography component=\"span\" variant=\"h5\">\n Atomic CRM\n </Typography>\n </Box>\n <Box>\n <Tabs\n value={currentPath}\n aria-label=\"Navigation Tabs\"\n indicatorColor=\"secondary\"\n textColor=\"inherit\"\n >\n <Tab\n label={'Dashboard'}\n component={Link}\n to=\"/\"\n value=\"/\"\n />\n <Tab\n label={'Contacts'}\n component={Link}\n to=\"/contacts\"\n value=\"/contacts\"\n />\n <Tab\n label={'Companies'}\n component={Link}\n to=\"/companies\"\n value=\"/companies\"\n />\n <Tab\n label={'Deals'}\n component={Link}\n to=\"/deals\"\n value=\"/deals\"\n />\n </Tabs>\n </Box>\n <Box display=\"flex\" alignItems=\"center\">\n <LoadingIndicator />\n <UserMenu>\n <Logout />\n </UserMenu>\n </Box>\n </Box>\n </Toolbar>\n </AppBar>\n </Box>\n );\n};\n\nexport default Header;\n","import React, { Suspense, ReactNode } from 'react';\nimport { CssBaseline, Container } from '@mui/material';\nimport { CheckForApplicationUpdate } from 'react-admin';\nimport { ErrorBoundary } from 'react-error-boundary';\n\nimport { Error, Loading } from 'react-admin';\nimport Header from './Header';\n\nconst Layout = ({ children }: { children: ReactNode }) => (\n <>\n <CssBaseline />\n <Header />\n <Container sx={{ maxWidth: { xl: 1280 } }}>\n <main id=\"main-content\">\n <ErrorBoundary FallbackComponent={Error}>\n <Suspense fallback={<Loading />}>{children}</Suspense>\n </ErrorBoundary>\n </main>\n </Container>\n <CheckForApplicationUpdate interval={30 * 1000} />\n </>\n);\n\nexport default Layout;\n","import { AuthProvider } from 'react-admin';\n\nlocalStorage.setItem('username', 'Jane Doe');\n\nexport const authProvider: AuthProvider = {\n login: ({ username }) => {\n localStorage.setItem('username', username);\n // accept all username/password combinations\n return Promise.resolve();\n },\n logout: () => {\n localStorage.removeItem('username');\n return Promise.resolve();\n },\n checkError: () => Promise.resolve(),\n checkAuth: () =>\n localStorage.getItem('username') ? Promise.resolve() : Promise.reject(),\n getPermissions: () => Promise.resolve([]),\n getIdentity: () =>\n Promise.resolve({\n id: 0,\n fullName: 'Jane Doe',\n avatar:\n 'data:image/jpeg;base64,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',\n }),\n};\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m1.41 16.09V20h-2.67v-1.93c-1.71-.36-3.16-1.46-3.27-3.4h1.96c.1 1.05.82 1.87 2.65 1.87 1.96 0 2.4-.98 2.4-1.59 0-.83-.44-1.61-2.67-2.14-2.48-.6-4.18-1.62-4.18-3.67 0-1.72 1.39-2.84 3.11-3.21V4h2.67v1.95c1.86.45 2.79 1.86 2.85 3.39H14.3c-.05-1.11-.64-1.87-2.22-1.87-1.5 0-2.4.68-2.4 1.64 0 .84.65 1.39 2.67 1.91s4.18 1.39 4.18 3.91c-.01 1.83-1.38 2.83-3.12 3.16\"\n}), 'MonetizationOn');","export const sectors = [\n 'Communication Services',\n 'Consumer Discretionary',\n 'Consumer Staples',\n 'Energy',\n 'Financials',\n 'Health Care',\n 'Industrials',\n 'Information Technology',\n 'Materials',\n 'Real Estate',\n 'Utilities',\n].map(sector => ({ id: sector, name: sector }));\n","import * as React from 'react';\nimport { Avatar } from '@mui/material';\nimport { useRecordContext } from 'react-admin';\n\nimport { Company } from '../types';\n\nexport const CompanyAvatar = (props: {\n record?: Company;\n size?: 'small' | 'large';\n}) => {\n const { size = 'large' } = props;\n const record = useRecordContext<Company>(props);\n if (!record) return null;\n return (\n <Avatar\n src={record.logo}\n alt={record.name}\n sx={{\n bgcolor: 'aliceblue',\n '& img': { objectFit: 'contain' },\n }}\n imgProps={{ className: size }}\n />\n );\n};\n","import * as React from 'react';\nimport { useState } from 'react';\nimport { Paper, Typography, Box } from '@mui/material';\nimport ContactsIcon from '@mui/icons-material/AccountCircle';\nimport DealIcon from '@mui/icons-material/MonetizationOn';\nimport {\n useCreatePath,\n SelectField,\n useRecordContext,\n Link,\n} from 'react-admin';\n\nimport { sectors } from './sectors';\nimport { CompanyAvatar } from './CompanyAvatar';\nimport { Company } from '../types';\n\nexport const CompanyCard = (props: { record?: Company }) => {\n const [elevation, setElevation] = useState(1);\n const createPath = useCreatePath();\n const record = useRecordContext<Company>(props);\n if (!record) return null;\n\n return (\n <Link\n to={createPath({\n resource: 'companies',\n id: record.id,\n type: 'show',\n })}\n underline=\"none\"\n onMouseEnter={() => setElevation(3)}\n onMouseLeave={() => setElevation(1)}\n >\n <Paper\n sx={{\n height: 200,\n width: 195,\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'space-between',\n padding: '1em',\n }}\n elevation={elevation}\n >\n <Box display=\"flex\" flexDirection=\"column\" alignItems=\"center\">\n <CompanyAvatar />\n <Box textAlign=\"center\" marginTop={1}>\n <Typography variant=\"subtitle2\">\n {record.name}\n </Typography>\n <SelectField\n color=\"textSecondary\"\n source=\"sector\"\n choices={sectors}\n />\n </Box>\n </Box>\n <Box display=\"flex\" justifyContent=\"space-around\" width=\"100%\">\n <Box display=\"flex\" alignItems=\"center\">\n <ContactsIcon color=\"disabled\" sx={{ mr: 1 }} />\n <div>\n <Typography variant=\"subtitle2\" sx={{ mb: -1 }}>\n {record.nb_contacts}\n </Typography>\n <Typography variant=\"caption\" color=\"textSecondary\">\n {record.nb_contacts > 1\n ? 'contacts'\n : 'contact'}\n </Typography>\n </div>\n </Box>\n <Box sx={{ display: 'flex', alignItems: 'center' }}>\n <DealIcon color=\"disabled\" sx={{ mr: 1 }} />\n <div>\n <Typography variant=\"subtitle2\" sx={{ mb: -1 }}>\n {record.nb_deals}\n </Typography>\n <Typography variant=\"caption\" color=\"textSecondary\">\n {record.nb_deals > 1 ? 'deals' : 'deal'}\n </Typography>\n </div>\n </Box>\n </Box>\n </Paper>\n </Link>\n );\n};\n","import * as React from 'react';\nimport { Box, Paper } from '@mui/material';\nimport { RecordContextProvider, useListContext } from 'react-admin';\n\nimport { CompanyCard } from './CompanyCard';\nimport { Company } from '../types';\n\nconst times = (nbChildren: number, fn: (key: number) => any) =>\n Array.from({ length: nbChildren }, (_, key) => fn(key));\n\nconst LoadingGridList = () => (\n <Box display=\"flex\" flexWrap=\"wrap\" width={1008} gap={1}>\n {times(15, key => (\n <Paper\n sx={{\n height: 200,\n width: 194,\n display: 'flex',\n flexDirection: 'column',\n backgroundColor: 'grey[200]',\n }}\n key={key}\n />\n ))}\n </Box>\n);\n\nconst LoadedGridList = () => {\n const { data, error, isPending } = useListContext<Company>();\n\n if (isPending || error) return null;\n\n return (\n <Box display=\"flex\" flexWrap=\"wrap\" width=\"100%\" gap={1}>\n {data.map(record => (\n <RecordContextProvider key={record.id} value={record}>\n <CompanyCard />\n </RecordContextProvider>\n ))}\n </Box>\n );\n};\n\nexport const ImageList = () => {\n const { isPending } = useListContext();\n return isPending ? <LoadingGridList /> : <LoadedGridList />;\n};\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 7V3H2v18h20V7zM6 19H4v-2h2zm0-4H4v-2h2zm0-4H4V9h2zm0-4H4V5h2zm4 12H8v-2h2zm0-4H8v-2h2zm0-4H8V9h2zm0-4H8V5h2zm10 12h-8v-2h2v-2h-2v-2h2v-2h-2V9h8zm-2-8h-2v2h2zm0 4h-2v2h2z\"\n}), 'Business');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M20 8h-3V4H3c-1.1 0-2 .9-2 2v11h2c0 1.66 1.34 3 3 3s3-1.34 3-3h6c0 1.66 1.34 3 3 3s3-1.34 3-3h2v-5zM6 18.5c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5m13.5-9 1.96 2.5H17V9.5zm-1.5 9c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5\"\n}), 'LocalShipping');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M16.5 12c1.38 0 2.49-1.12 2.49-2.5S17.88 7 16.5 7C15.12 7 14 8.12 14 9.5s1.12 2.5 2.5 2.5M9 11c1.66 0 2.99-1.34 2.99-3S10.66 5 9 5C7.34 5 6 6.34 6 8s1.34 3 3 3m7.5 3c-1.83 0-5.5.92-5.5 2.75V19h11v-2.25c0-1.83-3.67-2.75-5.5-2.75M9 13c-2.33 0-7 1.17-7 3.5V19h7v-2.25c0-.85.33-2.34 2.37-3.47C10.5 13.1 9.66 13 9 13\"\n}), 'SupervisorAccount');","export const sizes = [\n { id: 1, name: '1 employee' },\n { id: 10, name: '2-9 employees' },\n { id: 50, name: '10-49 employees' },\n { id: 250, name: '50-249 employees' },\n { id: 500, name: '250 or more employees' },\n];\n","/* eslint-disable import/no-anonymous-default-export */\nimport * as React from 'react';\nimport {\n FilterList,\n FilterLiveSearch,\n FilterListItem,\n useGetIdentity,\n} from 'react-admin';\nimport { Box } from '@mui/material';\nimport BusinessIcon from '@mui/icons-material/Business';\nimport LocalShippingIcon from '@mui/icons-material/LocalShipping';\nimport SupervisorAccountIcon from '@mui/icons-material/SupervisorAccount';\n\nimport { sizes } from './sizes';\nimport { sectors } from './sectors';\n\nexport const CompanyListFilter = () => {\n const { identity } = useGetIdentity();\n return (\n <Box width=\"13em\" minWidth=\"13em\" order={-1} mr={2} mt={5}>\n <FilterLiveSearch hiddenLabel />\n\n <FilterList label=\"Size\" icon={<BusinessIcon />}>\n {sizes.map(size => (\n <FilterListItem\n key={size.id}\n label={size.name}\n value={{ size: size.id }}\n />\n ))}\n </FilterList>\n\n <FilterList label=\"Sector\" icon={<LocalShippingIcon />}>\n {sectors.map(sector => (\n <FilterListItem\n key={sector.id}\n label={sector.name}\n value={{ sector: sector.id }}\n />\n ))}\n </FilterList>\n\n <FilterList\n label=\"Account manager\"\n icon={<SupervisorAccountIcon />}\n >\n <FilterListItem\n label=\"Me\"\n value={{\n sales_id: identity && identity.id,\n }}\n />\n </FilterList>\n </Box>\n );\n};\n","import * as React from 'react';\nimport {\n List,\n TopToolbar,\n ExportButton,\n CreateButton,\n Pagination,\n useGetIdentity,\n} from 'react-admin';\n\nimport { ImageList } from './GridList';\nimport { CompanyListFilter } from './CompanyListFilter';\n\nexport const CompanyList = () => {\n const { identity } = useGetIdentity();\n if (!identity) return null;\n return (\n <List\n actions={<CompanyListActions />}\n aside={<CompanyListFilter />}\n filterDefaultValues={{ sales_id: identity?.id }}\n pagination={<Pagination rowsPerPageOptions={[15, 25, 50, 100]} />}\n perPage={25}\n sort={{ field: 'name', order: 'ASC' }}\n component=\"div\"\n >\n <ImageList />\n </List>\n );\n};\n\nconst CompanyListActions = () => {\n return (\n <TopToolbar>\n <ExportButton />\n <CreateButton\n variant=\"contained\"\n label=\"New Company\"\n sx={{ marginLeft: 2 }}\n />\n </TopToolbar>\n );\n};\n","import * as React from 'react';\n\nimport { ReferenceInput, TextInput, SelectInput, required } from 'react-admin';\nimport { Divider, Stack, Grid } from '@mui/material';\n\nimport { sectors } from './sectors';\nimport { sizes } from './sizes';\n\nexport const CompanyForm = () => (\n <>\n <TextInput source=\"name\" validate={required()} />\n <Stack direction=\"row\">\n <SelectInput\n source=\"sector\"\n choices={sectors}\n sx={{ width: 200 }}\n />\n <SelectInput\n source=\"size\"\n choices={sizes}\n sx={{ ml: 2, width: 200 }}\n />\n </Stack>\n <Divider sx={{ mb: 2, width: '100%' }} />\n\n <TextInput source=\"address\" helperText={false} />\n <Grid container spacing={2}>\n <Grid item xs={12} sm={4}>\n <TextInput source=\"city\" />\n </Grid>\n <Grid item xs={12} sm={4}>\n <TextInput source=\"zipcode\" />\n </Grid>\n <Grid item xs={12} sm={4}>\n <TextInput source=\"stateAbbr\" />\n </Grid>\n </Grid>\n <Divider sx={{ mb: 2, width: '100%' }} />\n\n <TextInput source=\"website\" helperText={false} />\n <TextInput source=\"linkedIn\" helperText={false} />\n <TextInput source=\"logo\" />\n <Divider sx={{ mb: 2, width: '100%' }} />\n\n <Stack direction=\"row\">\n <TextInput\n source=\"phone_number\"\n helperText={false}\n sx={{ width: 200 }}\n />\n <ReferenceInput source=\"sales_id\" reference=\"sales\">\n <SelectInput\n label=\"Account manager\"\n helperText={false}\n optionText={(sales: any) =>\n `${sales.first_name} ${sales.last_name}`\n }\n sx={{ width: 200, ml: 2 }}\n />\n </ReferenceInput>\n </Stack>\n </>\n);\n","import * as React from 'react';\nimport { Create, Form, Toolbar } from 'react-admin';\nimport BusinessIcon from '@mui/icons-material/Business';\nimport { CardContent, Stack, Avatar, Box } from '@mui/material';\n\nimport { CompanyForm } from './CompanyForm';\n\nexport const CompanyCreate = () => (\n <Create actions={false} redirect=\"show\">\n <Form>\n <CardContent>\n <Stack direction=\"row\">\n <Avatar sx={{ mt: 1 }}>\n <BusinessIcon />\n </Avatar>\n <Box ml={2} flex=\"1\" maxWidth={796}>\n <CompanyForm />\n </Box>\n </Stack>\n </CardContent>\n <Toolbar />\n </Form>\n </Create>\n);\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M15 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4m-9-2V7H4v3H1v2h3v3h2v-3h3v-2zm9 4c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4\"\n}), 'PersonAdd');","import * as React from 'react';\nimport { Avatar as MuiAvatar } from '@mui/material';\nimport { useRecordContext } from 'react-admin';\n\nimport { Contact } from '../types';\n\nexport const Avatar = (props: { record?: Contact }) => {\n const record = useRecordContext<Contact>(props);\n if (!record) return null;\n\n return (\n <MuiAvatar src={record.avatar}>\n {record.first_name.charAt(0)}\n {record.last_name.charAt(0)}\n </MuiAvatar>\n );\n};\n","import * as React from 'react';\nimport { Box } from '@mui/material';\n\nconst getColorFromStatus = (status: string) =>\n status === 'cold'\n ? '#7dbde8'\n : status === 'warm'\n ? '#e8cb7d'\n : status === 'hot'\n ? '#e88b7d'\n : status === 'in-contract'\n ? '#a4e87d'\n : '#000';\n\nexport const Status = ({ status }: { status: string }) => (\n <Box\n marginLeft={0.5}\n width={10}\n height={10}\n display=\"inline-block\"\n borderRadius=\"5px\"\n bgcolor={getColorFromStatus(status)}\n component=\"span\"\n />\n);\n","import * as React from 'react';\nimport {\n ReferenceArrayField,\n SingleFieldList,\n ChipField,\n useRecordContext,\n} from 'react-admin';\n\nconst ColoredChipField = (props: any) => {\n const record = useRecordContext();\n if (!record) return null;\n return (\n <ChipField\n record={record}\n {...props}\n style={{ backgroundColor: record.color, border: 0 }}\n component=\"span\"\n />\n );\n};\n\nexport const TagsList = () => (\n <ReferenceArrayField\n sx={{ display: 'inline-block' }}\n resource=\"contacts\"\n source=\"tags\"\n reference=\"tags\"\n >\n <SingleFieldList linkType={false}>\n <ColoredChipField source=\"name\" variant=\"outlined\" size=\"small\" />\n </SingleFieldList>\n </ReferenceArrayField>\n);\n","import * as React from 'react';\nimport { useRecordContext } from 'react-admin';\nimport { Box } from '@mui/material';\n\nimport { Company } from '../types';\n\nconst sizeInPixel = {\n medium: 42,\n small: 20,\n};\n\nexport const LogoField = ({\n size = 'medium',\n}: {\n size?: 'small' | 'medium';\n}) => {\n const record = useRecordContext<Company>();\n if (!record || !record.logo) return null;\n return (\n <Box\n component=\"img\"\n src={record.logo}\n alt={record.name}\n title={record.name}\n width={sizeInPixel[size]}\n height={sizeInPixel[size]}\n sx={{ objectFit: 'contain' }}\n />\n );\n};\n","import * as React from 'react';\nimport {\n TextField,\n DateField,\n FunctionField,\n ReferenceField,\n EditButton,\n ShowButton,\n useRecordContext,\n} from 'react-admin';\nimport { Box, Typography, Divider, Link } from '@mui/material';\n\nimport { Company, Sale } from '../types';\n\ninterface CompanyAsideProps {\n link?: string;\n}\n\nexport const CompanyAside = ({ link = 'edit' }: CompanyAsideProps) => {\n const record = useRecordContext<Company>();\n if (!record) return null;\n return (\n <Box ml={4} width={250} minWidth={250}>\n <Box textAlign=\"center\" mb={2}>\n {link === 'edit' ? (\n <EditButton label=\"Edit Company\" />\n ) : (\n <ShowButton label=\"Show Company\" />\n )}\n </Box>\n\n <Typography variant=\"subtitle2\">Company info</Typography>\n <Divider />\n\n <Box mt={2}>\n <Typography variant=\"body2\">\n {record.website && (\n <>\n Website:{' '}\n <Link href={record.website}>{record.website}</Link>\n </>\n )}\n {record.linkedIn && (\n <>\n <br />\n LinkedIn:{' '}\n <Link href={record.linkedIn}>LinkedIn</Link>\n </>\n )}\n </Typography>\n </Box>\n\n <Box mt={1}>\n <TextField source=\"phone_number\" />{' '}\n <Typography\n variant=\"body2\"\n color=\"textSecondary\"\n component=\"span\"\n >\n Main Address\n </Typography>\n </Box>\n\n <Box mt={1} mb={3}>\n <TextField source=\"address\" />\n <br />\n <TextField source=\"city\" /> <TextField source=\"zipcode\" />{' '}\n <TextField source=\"stateAbbr\" />\n </Box>\n\n <Typography variant=\"subtitle2\">Background</Typography>\n <Divider />\n\n <Box mt={1}>\n <Typography\n variant=\"body2\"\n color=\"textSecondary\"\n component=\"span\"\n >\n Added on\n </Typography>{' '}\n <DateField\n source=\"created_at\"\n options={{ year: 'numeric', month: 'long', day: 'numeric' }}\n color=\"textSecondary\"\n />\n <br />\n <Typography\n component=\"span\"\n variant=\"body2\"\n color=\"textSecondary\"\n >\n Followed by\n </Typography>{' '}\n <ReferenceField source=\"sales_id\" reference=\"sales\">\n <FunctionField<Sale>\n source=\"last_name\"\n render={record =>\n `${record.first_name} ${record.last_name}`\n }\n />\n </ReferenceField>\n </Box>\n </Box>\n );\n};\n","import { Deal } from '../types';\n\nexport const stages = [\n 'opportunity',\n 'proposal-sent',\n 'in-negociation',\n 'won',\n 'lost',\n 'delayed',\n];\n\nexport const stageNames = {\n opportunity: 'Opportunity',\n 'proposal-sent': 'Proposal Sent',\n 'in-negociation': 'In Negociation',\n won: 'Won',\n lost: 'Lost',\n delayed: 'Delayed',\n};\n\nexport const stageChoices = stages.map(type => ({\n id: type,\n /* @ts-ignore */\n name: stageNames[type],\n}));\n\nexport type DealsByStage = Record<Deal['stage'], Deal[]>;\n\nexport const getDealsByStage = (unorderedDeals: Deal[]) => {\n const dealsByStage: Record<Deal['stage'], Deal[]> = unorderedDeals.reduce(\n (acc, deal) => {\n acc[deal.stage].push(deal);\n return acc;\n },\n stages.reduce(\n (obj, stage) => ({ ...obj, [stage]: [] }),\n {} as Record<Deal['stage'], Deal[]>\n )\n );\n // order each column by index\n stages.forEach(stage => {\n dealsByStage[stage] = dealsByStage[stage].sort(\n (recordA: Deal, recordB: Deal) => recordA.index - recordB.index\n );\n });\n return dealsByStage;\n};\n","import * as React from 'react';\nimport { useState, ChangeEvent } from 'react';\nimport {\n ShowBase,\n TextField,\n ReferenceManyField,\n SelectField,\n useShowContext,\n useRecordContext,\n useListContext,\n RecordContextProvider,\n SortButton,\n} from 'react-admin';\nimport {\n Box,\n Button,\n Card,\n CardContent,\n Typography,\n List,\n ListItem,\n ListItemAvatar,\n ListItemText,\n ListItemSecondaryAction,\n Tabs,\n Tab,\n Divider,\n Stack,\n} from '@mui/material';\nimport PersonAddIcon from '@mui/icons-material/PersonAdd';\nimport { Link as RouterLink } from 'react-router-dom';\nimport { formatDistance } from 'date-fns';\n\nimport { Avatar } from '../contacts/Avatar';\nimport { Status } from '../misc/Status';\nimport { TagsList } from '../contacts/TagsList';\nimport { sizes } from './sizes';\nimport { LogoField } from './LogoField';\nimport { CompanyAside } from './CompanyAside';\nimport { Company, Deal, Contact } from '../types';\nimport { stageNames } from '../deals/stages';\n\nexport const CompanyShow = () => (\n <ShowBase>\n <CompanyShowContent />\n </ShowBase>\n);\n\nconst CompanyShowContent = () => {\n const { record, isPending } = useShowContext<Company>();\n const [tabValue, setTabValue] = useState(0);\n const handleTabChange = (event: ChangeEvent<{}>, newValue: number) => {\n setTabValue(newValue);\n };\n if (isPending || !record) return null;\n return (\n <Box mt={2} display=\"flex\">\n <Box flex=\"1\">\n <Card>\n <CardContent>\n <Box display=\"flex\" mb={1}>\n <LogoField />\n <Box ml={2} flex=\"1\">\n <Typography variant=\"h5\">\n {record.name}\n </Typography>\n <Typography variant=\"body2\">\n <TextField source=\"sector\" />\n {record.size && ', '}\n <SelectField\n source=\"size\"\n choices={sizes}\n />\n </Typography>\n </Box>\n </Box>\n <Tabs\n value={tabValue}\n indicatorColor=\"primary\"\n textColor=\"primary\"\n onChange={handleTabChange}\n >\n {record.nb_contacts && (\n <Tab\n label={\n record.nb_contacts === 1\n ? '1 Contact'\n : `${record.nb_contacts} Contacts`\n }\n />\n )}\n {record.nb_deals && (\n <Tab\n label={\n record.nb_deals === 1\n ? '1 deal'\n : `${record.nb_deals} Deals`\n }\n />\n )}\n </Tabs>\n <Divider />\n <TabPanel value={tabValue} index={0}>\n <ReferenceManyField\n reference=\"contacts\"\n target=\"company_id\"\n sort={{ field: 'last_name', order: 'ASC' }}\n >\n <Stack\n direction=\"row\"\n justifyContent=\"flex-end\"\n spacing={2}\n mt={1}\n >\n <SortButton\n fields={[\n 'last_name',\n 'first_name',\n 'last_seen',\n ]}\n />\n <CreateRelatedContactButton />\n </Stack>\n <ContactsIterator />\n </ReferenceManyField>\n </TabPanel>\n <TabPanel value={tabValue} index={1}>\n <ReferenceManyField\n reference=\"deals\"\n target=\"company_id\"\n sort={{ field: 'name', order: 'ASC' }}\n >\n <DealsIterator />\n </ReferenceManyField>\n </TabPanel>\n </CardContent>\n </Card>\n </Box>\n <CompanyAside />\n </Box>\n );\n};\n\ninterface TabPanelProps {\n children?: React.ReactNode;\n index: any;\n value: any;\n}\n\nconst TabPanel = (props: TabPanelProps) => {\n const { children, value, index, ...other } = props;\n\n return (\n <div\n role=\"tabpanel\"\n hidden={value !== index}\n id={`wrapped-tabpanel-${index}`}\n aria-labelledby={`wrapped-tab-${index}`}\n {...other}\n >\n {children}\n </div>\n );\n};\n\nconst ContactsIterator = () => {\n const { data: contacts, error, isPending } = useListContext<Contact>();\n if (isPending || error) return null;\n\n const now = Date.now();\n return (\n <List dense sx={{ pt: 0 }}>\n {contacts.map(contact => (\n <RecordContextProvider key={contact.id} value={contact}>\n <ListItem\n button\n component={RouterLink}\n to={`/contacts/${contact.id}/show`}\n >\n <ListItemAvatar>\n <Avatar />\n </ListItemAvatar>\n <ListItemText\n primary={`${contact.first_name} ${contact.last_name}`}\n secondary={\n <>\n {contact.title}\n {contact.nb_notes\n ? ` - ${contact.nb_notes} note${\n contact.nb_notes > 1 ? 's' : ''\n }`\n : ''}\n {contact.nb_tasks\n ? ` - ${contact.nb_tasks} task${\n contact.nb_tasks > 1 ? 's' : ''\n }`\n : ''}\n    \n <TagsList />\n </>\n }\n />\n <ListItemSecondaryAction>\n <Typography\n variant=\"body2\"\n color=\"textSecondary\"\n component=\"span\"\n >\n last activity{' '}\n {formatDistance(contact.last_seen, now)} ago{' '}\n <Status status={contact.status} />\n </Typography>\n </ListItemSecondaryAction>\n </ListItem>\n </RecordContextProvider>\n ))}\n </List>\n );\n};\n\nconst CreateRelatedContactButton = () => {\n const company = useRecordContext<Company>();\n return (\n <Button\n component={RouterLink}\n to=\"/contacts/create\"\n state={company ? { record: { company_id: company.id } } : undefined}\n color=\"primary\"\n size=\"small\"\n startIcon={<PersonAddIcon />}\n >\n Add contact\n </Button>\n );\n};\n\nconst DealsIterator = () => {\n const { data: deals, error, isPending } = useListContext<Deal>();\n if (isPending || error) return null;\n\n const now = Date.now();\n return (\n <Box>\n <List dense>\n {deals.map(deal => (\n <ListItem\n button\n key={deal.id}\n component={RouterLink}\n to={`/deals/${deal.id}/show`}\n >\n <ListItemText\n primary={deal.name}\n secondary={\n <>\n {/* @ts-ignore */}\n {stageNames[deal.stage]},{' '}\n {deal.amount.toLocaleString('en-US', {\n notation: 'compact',\n style: 'currency',\n currency: 'USD',\n currencyDisplay: 'narrowSymbol',\n minimumSignificantDigits: 3,\n })}\n , {deal.type}\n </>\n }\n />\n <ListItemSecondaryAction>\n <Typography\n variant=\"body2\"\n color=\"textSecondary\"\n component=\"span\"\n >\n last activity{' '}\n {formatDistance(deal.updated_at, now)} ago{' '}\n </Typography>\n </ListItemSecondaryAction>\n </ListItem>\n ))}\n </List>\n </Box>\n );\n};\n","import * as React from 'react';\nimport { Edit, Form, Toolbar } from 'react-admin';\nimport { Box, CardContent, Stack, Avatar } from '@mui/material';\n\nimport { CompanyForm } from './CompanyForm';\n\nimport { CompanyAside } from './CompanyAside';\nimport { LogoField } from './LogoField';\n\nexport const CompanyEdit = () => (\n <Edit aside={<CompanyAside link=\"show\" />} actions={false} redirect=\"show\">\n <Form>\n <CardContent>\n <Stack direction=\"row\">\n <Avatar sx={{ mt: 1 }}>\n <LogoField />\n </Avatar>\n <Box ml={2} flex=\"1\" maxWidth={796}>\n <CompanyForm />\n </Box>\n </Stack>\n </CardContent>\n <Toolbar />\n </Form>\n </Edit>\n);\n","/* eslint-disable import/no-anonymous-default-export */\nimport { CompanyList } from './CompanyList';\nimport { CompanyCreate } from './CompanyCreate';\nimport { CompanyShow } from './CompanyShow';\nimport { CompanyEdit } from './CompanyEdit';\n\nexport default {\n list: CompanyList,\n create: CompanyCreate,\n edit: CompanyEdit,\n show: CompanyShow,\n};\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M13 7h-2v4H7v2h4v4h2v-4h4v-2h-4zm-1-5C6.49 2 2 6.49 2 12s4.49 10 10 10 10-4.49 10-10S17.51 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8\"\n}), 'ControlPoint');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M3 17.25V21h3.75L17.81 9.94l-3.75-3.75zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34a.9959.9959 0 0 0-1.41 0l-1.83 1.83 3.75 3.75z\"\n}), 'Edit');","export const colors = [\n '#eddcd2',\n '#fff1e6',\n '#fde2e4',\n '#fad2e1',\n '#c5dedd',\n '#dbe7e4',\n '#f0efeb',\n '#d6e2e9',\n '#bcd4e6',\n '#99c1de',\n];\n","import * as React from 'react';\nimport { useState, FormEvent } from 'react';\nimport {\n useGetMany,\n useCreate,\n useUpdate,\n useGetList,\n Identifier,\n useRecordContext,\n} from 'react-admin';\nimport {\n Chip,\n Box,\n Button,\n Dialog,\n DialogTitle,\n DialogContent,\n DialogActions,\n TextField,\n MenuItem,\n Menu,\n} from '@mui/material';\nimport ControlPointIcon from '@mui/icons-material/ControlPoint';\nimport EditIcon from '@mui/icons-material/Edit';\n\nimport { colors } from '../tags/colors';\nimport { Contact, Tag } from '../types';\n\nexport const TagsListEdit = () => {\n const record = useRecordContext<Contact>();\n const [open, setOpen] = useState(false);\n const [newTagName, setNewTagName] = useState('');\n const [newTagColor, setNewTagColor] = useState(colors[0]);\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);\n const [disabled, setDisabled] = useState(false);\n\n const { data: allTags, isPending: isPendingAllTags } = useGetList<Tag>(\n 'tags',\n {\n pagination: { page: 1, perPage: 10 },\n sort: { field: 'name', order: 'ASC' },\n }\n );\n const { data: tags, isPending: isPendingRecordTags } = useGetMany<Tag>(\n 'tags',\n { ids: record?.tags },\n { enabled: record && record.tags && record.tags.length > 0 }\n );\n const [update] = useUpdate<Contact>();\n const [create] = useCreate<Tag>();\n\n const unselectedTags =\n allTags &&\n record &&\n allTags.filter(tag => !record.tags.includes(tag.id));\n\n const handleOpen = (event: React.MouseEvent<HTMLDivElement>) => {\n setAnchorEl(event.currentTarget);\n };\n\n const handleClose = () => {\n setAnchorEl(null);\n };\n\n const handleDeleteTag = (id: Identifier) => {\n if (!record) {\n throw new Error('No contact record found');\n }\n const tags = record.tags.filter(tagId => tagId !== id);\n update('contacts', {\n id: record.id,\n data: { tags },\n previousData: record,\n });\n };\n\n const handleAddTag = (id: Identifier) => {\n if (!record) {\n throw new Error('No contact record found');\n }\n const tags = [...record.tags, id];\n update('contacts', {\n id: record.id,\n data: { tags },\n previousData: record,\n });\n setAnchorEl(null);\n };\n\n const handleOpenCreateDialog = () => {\n setOpen(true);\n setAnchorEl(null);\n setDisabled(false);\n };\n\n const handleNewTagNameChange = (\n event: React.ChangeEvent<HTMLInputElement>\n ) => {\n setNewTagName(event.target.value);\n };\n\n const handleCreateTag = (event: FormEvent<HTMLFormElement>) => {\n event.preventDefault();\n if (!record) {\n throw new Error('No contact record found');\n }\n setDisabled(true);\n create(\n 'tags',\n { data: { name: newTagName, color: newTagColor } },\n {\n onSuccess: tag => {\n update(\n 'contacts',\n {\n id: record.id,\n data: { tags: [...record.tags, tag.id] },\n previousData: record,\n },\n {\n onSuccess: () => {\n setNewTagName('');\n setNewTagColor(colors[0]);\n setOpen(false);\n },\n }\n );\n },\n }\n );\n };\n\n if (isPendingRecordTags || isPendingAllTags) return null;\n return (\n <>\n {tags?.map(tag => (\n <Box mt={1} mb={1} key={tag.id}>\n <Chip\n size=\"small\"\n variant=\"outlined\"\n onDelete={() => handleDeleteTag(tag.id)}\n label={tag.name}\n style={{ backgroundColor: tag.color, border: 0 }}\n />\n </Box>\n ))}\n <Box mt={1}>\n <Chip\n icon={<ControlPointIcon />}\n size=\"small\"\n variant=\"outlined\"\n onClick={handleOpen}\n label=\"Add tag\"\n color=\"primary\"\n />\n </Box>\n <Menu\n open={Boolean(anchorEl)}\n onClose={handleClose}\n anchorEl={anchorEl}\n >\n {unselectedTags?.map(tag => (\n <MenuItem key={tag.id} onClick={() => handleAddTag(tag.id)}>\n <Chip\n size=\"small\"\n variant=\"outlined\"\n label={tag.name}\n style={{\n backgroundColor: tag.color,\n border: 0,\n }}\n onClick={() => handleAddTag(tag.id)}\n />\n </MenuItem>\n ))}\n <MenuItem onClick={handleOpenCreateDialog}>\n <Chip\n icon={<EditIcon />}\n size=\"small\"\n variant=\"outlined\"\n onClick={handleOpenCreateDialog}\n color=\"primary\"\n label=\"Create new tag\"\n />\n </MenuItem>\n </Menu>\n <Dialog\n open={open}\n onClose={() => setOpen(false)}\n aria-labelledby=\"form-dialog-title\"\n >\n <form onSubmit={handleCreateTag}>\n <DialogTitle id=\"form-dialog-title\">\n Create a new tag\n </DialogTitle>\n <DialogContent>\n <TextField\n autoFocus\n label=\"Tag name\"\n value={newTagName}\n onChange={handleNewTagNameChange}\n sx={{ mt: 1 }}\n />\n <Box display=\"flex\" flexWrap=\"wrap\" width={230} mt={2}>\n {colors.map(color => (\n <RoundButton\n key={color}\n color={color}\n selected={color === newTagColor}\n handleClick={() => {\n setNewTagColor(color);\n }}\n />\n ))}\n </Box>\n </DialogContent>\n <DialogActions>\n <Button onClick={() => setOpen(false)} color=\"primary\">\n Cancel\n </Button>\n <Button\n type=\"submit\"\n color=\"primary\"\n disabled={disabled}\n >\n Add tag\n </Button>\n </DialogActions>\n </form>\n </Dialog>\n </>\n );\n};\n\nconst RoundButton = ({ color, handleClick, selected }: any) => (\n <Box\n component=\"button\"\n type=\"button\"\n sx={{\n bgcolor: color,\n width: 30,\n height: 30,\n borderRadius: 15,\n border: selected ? '2px solid grey' : 'none',\n display: 'inline-block',\n margin: 1,\n }}\n onClick={handleClick}\n />\n);\n","import * as React from 'react';\nimport { useState } from 'react';\nimport ControlPointIcon from '@mui/icons-material/ControlPoint';\nimport {\n Box,\n Button,\n Chip,\n Dialog,\n DialogTitle,\n DialogContent,\n DialogActions,\n Stack,\n} from '@mui/material';\nimport {\n RecordRepresentation,\n CreateBase,\n Form,\n TextInput,\n DateInput,\n SaveButton,\n SelectInput,\n Toolbar,\n required,\n useRecordContext,\n} from 'react-admin';\n\nconst taskTypes = [\n 'None',\n 'Email',\n 'Demo',\n 'Lunch',\n 'Meeting',\n 'Follow-up',\n 'Thank you',\n 'Ship',\n];\n\nexport const AddTask = () => {\n const contact = useRecordContext();\n const [open, setOpen] = useState(false);\n const handleOpen = () => {\n setOpen(true);\n };\n return (\n <>\n <Box mt={1}>\n <Chip\n icon={<ControlPointIcon />}\n size=\"small\"\n variant=\"outlined\"\n onClick={handleOpen}\n label=\"Add task\"\n color=\"primary\"\n />\n </Box>\n <CreateBase\n resource=\"tasks\"\n record={{\n type: 'None',\n contact_id: contact?.id,\n due_date: new Date().toISOString().slice(0, 10),\n }}\n mutationOptions={{ onSuccess: () => setOpen(false) }}\n >\n <Dialog\n open={open}\n onClose={() => setOpen(false)}\n aria-labelledby=\"form-dialog-title\"\n fullWidth\n disableRestoreFocus\n maxWidth=\"sm\"\n >\n <Form>\n <DialogTitle id=\"form-dialog-title\">\n Create a new task for{' '}\n <RecordRepresentation\n record={contact}\n resource=\"contacts\"\n />\n </DialogTitle>\n <DialogContent>\n <TextInput\n autoFocus\n source=\"text\"\n label=\"Description\"\n validate={required()}\n multiline\n />\n <Stack direction=\"row\" spacing={1} mt={2}>\n <DateInput\n source=\"due_date\"\n validate={required()}\n />\n <SelectInput\n source=\"type\"\n validate={required()}\n choices={taskTypes.map(type => ({\n id: type,\n name: type,\n }))}\n />\n </Stack>\n </DialogContent>\n <DialogActions sx={{ p: 0 }}>\n <Toolbar\n sx={{\n width: '100%',\n justifyContent: 'flex-end',\n gap: 1,\n }}\n >\n <Button onClick={() => setOpen(false)}>\n Cancel\n </Button>\n <SaveButton onClick={() => setOpen(false)} />\n </Toolbar>\n </DialogActions>\n </Form>\n </Dialog>\n </CreateBase>\n </>\n );\n};\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2m0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2m0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2\"\n}), 'MoreVert');","import * as React from 'react';\nimport { useState, MouseEvent } from 'react';\nimport {\n DateField,\n ReferenceField,\n useUpdate,\n useDeleteWithUndoController,\n} from 'react-admin';\nimport {\n Checkbox,\n IconButton,\n ListItem,\n ListItemButton,\n ListItemIcon,\n ListItemText,\n Menu,\n MenuItem,\n Typography,\n} from '@mui/material';\nimport MoreVertIcon from '@mui/icons-material/MoreVert';\n\nexport const Task = ({\n task,\n showContact,\n}: {\n task: any;\n showContact?: boolean;\n}) => {\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);\n const open = Boolean(anchorEl);\n const handleClick = (event: MouseEvent<HTMLButtonElement>) => {\n setAnchorEl(event.currentTarget);\n };\n const handleClose = () => {\n setAnchorEl(null);\n };\n const [update, { isPending: isUpdatePending }] = useUpdate();\n const { handleDelete } = useDeleteWithUndoController({\n record: task,\n redirect: false,\n });\n\n const handleCheck = () => () => {\n update('tasks', {\n id: task.id,\n data: {\n done_date: task.done_date\n ? undefined\n : new Date().toISOString(),\n },\n previousData: task,\n });\n };\n const labelId = `checkbox-list-label-${task.id}`;\n return (\n <ListItem\n secondaryAction={\n <>\n <IconButton\n edge=\"end\"\n aria-label=\"task actions\"\n aria-controls={open ? 'basic-menu' : undefined}\n onClick={handleClick}\n aria-haspopup=\"true\"\n aria-expanded={open ? 'true' : undefined}\n size=\"small\"\n >\n <MoreVertIcon />\n </IconButton>\n <Menu\n id=\"basic-menu\"\n anchorEl={anchorEl}\n open={open}\n onClose={handleClose}\n MenuListProps={{\n 'aria-labelledby': 'basic-button',\n }}\n >\n <MenuItem\n onClick={() => {\n update('tasks', {\n id: task.id,\n data: {\n due_date: new Date(\n Date.now() + 24 * 60 * 60 * 1000\n )\n .toISOString()\n .slice(0, 10),\n },\n });\n handleClose();\n }}\n >\n Postpone to tomorrow\n </MenuItem>\n <MenuItem\n onClick={() => {\n update('tasks', {\n id: task.id,\n data: {\n due_date: new Date(\n Date.now() + 7 * 24 * 60 * 60 * 1000\n )\n .toISOString()\n .slice(0, 10),\n },\n });\n handleClose();\n }}\n >\n Postpone to next week\n </MenuItem>\n <MenuItem onClick={handleDelete}>Delete</MenuItem>\n </Menu>\n </>\n }\n disableGutters\n sx={{ pr: 3 }}\n >\n <ListItemButton\n role={undefined}\n onClick={handleCheck()}\n dense\n disabled={isUpdatePending}\n sx={{\n pl: 0,\n pr: '0!important',\n pt: 0,\n pb: 0,\n alignItems: 'flex-start',\n }}\n >\n <ListItemIcon sx={{ minWidth: 'auto' }}>\n <Checkbox\n edge=\"start\"\n checked={!!task.done_date}\n tabIndex={-1}\n disableRipple\n inputProps={{ 'aria-labelledby': labelId }}\n sx={{ pt: 0.3 }}\n />\n </ListItemIcon>\n <ListItemText\n sx={{\n textDecoration: !!task.done_date\n ? 'line-through'\n : 'none',\n }}\n id={labelId}\n >\n {task.type && task.type !== 'None' && (\n <>\n <strong>{task.type}</strong> \n </>\n )}\n {task.text}\n <Typography\n variant=\"body2\"\n color=\"textSecondary\"\n component=\"div\"\n >\n due <DateField source=\"due_date\" record={task} />\n {showContact && (\n <>\n  (Re:{' '}\n <ReferenceField\n source=\"contact_id\"\n reference=\"contacts\"\n record={task}\n link=\"show\"\n />\n )\n </>\n )}\n </Typography>\n </ListItemText>\n </ListItemButton>\n </ListItem>\n );\n};\n","import * as React from 'react';\nimport { useListContext } from 'react-admin';\nimport { isAfter } from 'date-fns';\nimport { List } from '@mui/material';\n\nimport { Task } from './Task';\n\nexport const TasksIterator = ({ showContact }: { showContact?: boolean }) => {\n const { data, error, isPending } = useListContext();\n if (isPending || error || data.length === 0) return null;\n\n // Keep only tasks that are not done or done less than 5 minutes ago\n const tasks = data.filter(\n task =>\n !task.done_date ||\n isAfter(\n new Date(task.done_date),\n new Date(Date.now() - 5 * 60 * 1000)\n )\n );\n\n return (\n <List dense>\n {tasks.map(task => (\n <Task task={task} showContact={showContact} key={task.id} />\n ))}\n </List>\n );\n};\n","export const genders = [\n { id: 'male', name: 'He/Him' },\n { id: 'female', name: 'She/Her' },\n { id: 'nonbinary', name: 'They/Them' },\n];\n","import * as React from 'react';\nimport {\n TextField,\n EmailField,\n DateField,\n ReferenceManyField,\n EditButton,\n ShowButton,\n ReferenceField,\n SelectField,\n FunctionField,\n useRecordContext,\n} from 'react-admin';\nimport { Box, Typography, Divider } from '@mui/material';\nimport { TagsListEdit } from './TagsListEdit';\nimport { AddTask } from '../tasks/AddTask';\nimport { TasksIterator } from '../tasks/TasksIterator';\n\nimport { Contact, Sale } from '../types';\nimport { genders } from './constants';\n\nexport const ContactAside = ({ link = 'edit' }: { link?: 'edit' | 'show' }) => {\n const record = useRecordContext<Contact>();\n if (!record) return null;\n return (\n <Box ml={4} width={250} minWidth={250}>\n <Box textAlign=\"center\" mb={2}>\n {link === 'edit' ? (\n <EditButton label=\"Edit Contact\" />\n ) : (\n <ShowButton label=\"Show Contact\" />\n )}\n </Box>\n <Typography variant=\"subtitle2\">Personal info</Typography>\n <Divider />\n <EmailField sx={{ mt: 2, display: 'block' }} source=\"email\" />\n {record.phone_number1 && (\n <Box>\n <TextField source=\"phone_number1\" />{' '}\n <Typography\n variant=\"body2\"\n color=\"textSecondary\"\n component=\"span\"\n >\n Work\n </Typography>\n </Box>\n )}\n {record.phone_number2 && (\n <Box>\n <TextField source=\"phone_number2\" />{' '}\n <Typography\n variant=\"body2\"\n color=\"textSecondary\"\n component=\"span\"\n >\n Home\n </Typography>\n </Box>\n )}\n <SelectField source=\"gender\" choices={genders} />\n <Typography variant=\"subtitle2\" mt={2}>\n Background\n </Typography>\n <Divider />\n <Typography variant=\"body2\" mt={2}>\n {record && record.background}\n </Typography>\n <Box mt={1} mb={3}>\n <Typography\n component=\"span\"\n variant=\"body2\"\n color=\"textSecondary\"\n >\n Added on\n </Typography>{' '}\n <DateField\n source=\"first_seen\"\n options={{ year: 'numeric', month: 'long', day: 'numeric' }}\n color=\"textSecondary\"\n />\n <br />\n <Typography\n component=\"span\"\n variant=\"body2\"\n color=\"textSecondary\"\n >\n Last seen on\n </Typography>{' '}\n <DateField\n source=\"last_seen\"\n options={{ year: 'numeric', month: 'long', day: 'numeric' }}\n color=\"textSecondary\"\n />\n <br />\n <Typography\n component=\"span\"\n variant=\"body2\"\n color=\"textSecondary\"\n >\n Followed by\n </Typography>{' '}\n <ReferenceField source=\"sales_id\" reference=\"sales\">\n <FunctionField<Sale>\n source=\"last_name\"\n render={record =>\n `${record.first_name} ${record.last_name}`\n }\n />\n </ReferenceField>\n </Box>\n <Box mb={3}>\n <Typography variant=\"subtitle2\">Tags</Typography>\n <Divider />\n <TagsListEdit />\n </Box>\n <Box>\n <Typography variant=\"subtitle2\">Tasks</Typography>\n <Divider />\n <ReferenceManyField\n target=\"contact_id\"\n reference=\"tasks\"\n sort={{ field: 'due_date', order: 'ASC' }}\n >\n <TasksIterator />\n </ReferenceManyField>\n <AddTask />\n </Box>\n </Box>\n );\n};\n","import * as React from 'react';\nimport { TextField, MenuItem } from '@mui/material';\n\nimport { Status } from '../misc/Status';\n\nexport const StatusSelector = ({ status, setStatus, sx }: any) => (\n <TextField\n select\n value={status}\n onChange={(event: React.ChangeEvent<{ value: unknown }>) => {\n setStatus(event.target.value);\n }}\n variant=\"filled\"\n label={false}\n margin=\"none\"\n size=\"small\"\n sx={sx}\n >\n <MenuItem value=\"cold\">\n Cold <Status status=\"cold\" />\n </MenuItem>\n <MenuItem value=\"warm\">\n Warm <Status status=\"warm\" />\n </MenuItem>\n <MenuItem value=\"hot\">\n Hot <Status status=\"hot\" />\n </MenuItem>\n <MenuItem value=\"in-contract\">\n In Contract <Status status=\"in-contract\" />\n </MenuItem>\n </TextField>\n);\n","import * as React from 'react';\nimport { useState, FormEvent } from 'react';\nimport {\n useRecordContext,\n useListContext,\n useCreate,\n useUpdate,\n useNotify,\n useGetIdentity,\n Identifier,\n useResourceContext,\n} from 'react-admin';\nimport { Box, TextField as TextInput, Button, Stack } from '@mui/material';\n\nimport { StatusSelector } from './StatusSelector';\n\nexport const NewNote = ({\n showStatus,\n reference,\n}: {\n showStatus?: boolean;\n reference: 'contacts' | 'deals';\n}) => {\n const resource = useResourceContext();\n const record = useRecordContext();\n const { refetch } = useListContext();\n const [text, setText] = useState('');\n const [status, setStatus] = useState(record && record.status);\n const [date, setDate] = useState(getCurrentDate());\n const [create, { isPending }] = useCreate();\n const [update] = useUpdate();\n const notify = useNotify();\n const { identity } = useGetIdentity();\n if (!record || !identity) return null;\n\n const handleSubmit = (event: FormEvent<HTMLFormElement>) => {\n event.preventDefault();\n const data: any = {\n [foreignKeyMapping[reference]]: record.id,\n sales_id: identity.id,\n date,\n text,\n };\n if (showStatus) {\n data.status = status;\n }\n create(\n resource,\n { data },\n {\n onSuccess: () => {\n setText('');\n notify('Note added successfully');\n refetch();\n update(reference, {\n id: ((record && record.id) as unknown) as Identifier,\n data: { last_seen: date, status },\n previousData: record,\n });\n },\n }\n );\n return false;\n };\n return (\n <Box mt={4} mb={1}>\n <form onSubmit={handleSubmit}>\n <TextInput\n label=\"Add a note\"\n variant=\"filled\"\n size=\"small\"\n multiline\n value={text}\n onChange={(event: React.ChangeEvent<HTMLInputElement>) =>\n setText(event.target.value)\n }\n rows={3}\n />\n <Box display=\"flex\" justifyContent=\"space-between\" mt={1}>\n <span>\n {text ? (\n <Stack direction=\"row\">\n {showStatus && (\n <StatusSelector\n status={status}\n setStatus={setStatus}\n sx={{\n marginRight: '1em',\n '& .MuiFilledInput-input': {\n paddingTop: '10px',\n },\n width: 150,\n }}\n />\n )}\n <TextInput\n type=\"datetime-local\"\n variant=\"filled\"\n size=\"small\"\n margin=\"none\"\n value={date}\n onChange={(\n event: React.ChangeEvent<\n HTMLInputElement\n >\n ) => {\n setDate(event.target.value);\n }}\n sx={{\n marginRight: '1em',\n '& .MuiFilledInput-input': {\n paddingTop: '10px',\n },\n }}\n />\n </Stack>\n ) : null}\n </span>\n <Button\n type=\"submit\"\n variant=\"contained\"\n color=\"primary\"\n disabled={!text || isPending}\n >\n Add this note\n </Button>\n </Box>\n </form>\n </Box>\n );\n};\n\nconst getCurrentDate = () => {\n const now = new Date();\n now.setMinutes(now.getMinutes() - now.getTimezoneOffset());\n return now.toISOString().slice(0, -1);\n};\n\nconst foreignKeyMapping = {\n contacts: 'contact_id',\n deals: 'deal_id',\n};\n","import * as React from 'react';\nimport { useState, FormEvent, ChangeEvent } from 'react';\nimport {\n TextField,\n ReferenceField,\n DateField,\n useResourceContext,\n useDelete,\n useUpdate,\n useNotify,\n} from 'react-admin';\nimport {\n Box,\n Typography,\n Tooltip,\n IconButton,\n FilledInput,\n Button,\n} from '@mui/material';\nimport EditIcon from '@mui/icons-material/Edit';\nimport TrashIcon from '@mui/icons-material/Delete';\n\nimport { Status } from '../misc/Status';\n\nexport const Note = ({\n showStatus,\n note,\n}: {\n showStatus?: boolean;\n note: any;\n isLast: boolean;\n}) => {\n const [isHover, setHover] = useState(false);\n const [isEditing, setEditing] = useState(false);\n const [noteText, setNoteText] = useState(note.text);\n const resource = useResourceContext();\n const notify = useNotify();\n\n const [update, { isPending }] = useUpdate();\n\n const [deleteNote] = useDelete(\n resource,\n { id: note.id, previousData: note },\n {\n mutationMode: 'undoable',\n onSuccess: () => {\n notify('Note deleted', { type: 'info', undoable: true });\n },\n }\n );\n\n const handleDelete = () => {\n deleteNote();\n };\n\n const handleEnterEditMode = () => {\n setEditing(true);\n };\n\n const handleCancelEdit = () => {\n setEditing(false);\n setNoteText(note.text);\n setHover(false);\n };\n\n const handleTextChange = (event: ChangeEvent<HTMLInputElement>) => {\n setNoteText(event.target.value);\n };\n\n const handleNoteUpdate = (event: FormEvent<HTMLFormElement>) => {\n event.preventDefault();\n update(\n resource,\n { id: note.id, data: { text: noteText }, previousData: note },\n {\n onSuccess: () => {\n setEditing(false);\n setNoteText(note.text);\n setHover(false);\n },\n }\n );\n };\n\n return (\n <Box\n mb={2}\n onMouseEnter={() => setHover(true)}\n onMouseLeave={() => setHover(false)}\n >\n <Box mb={1} color=\"text.secondary\">\n <ReferenceField\n record={note}\n resource=\"contactNotes\"\n source=\"sales_id\"\n reference=\"sales\"\n >\n <TextField source=\"first_name\" variant=\"body1\" />\n </ReferenceField>{' '}\n <Typography component=\"span\" variant=\"body1\">\n added a note on{' '}\n </Typography>\n <DateField\n source=\"date\"\n record={note}\n variant=\"body1\"\n showTime\n locales=\"en\"\n options={{\n dateStyle: 'full',\n timeStyle: 'short',\n }}\n />{' '}\n {showStatus && <Status status={note.status} />}\n </Box>\n {isEditing ? (\n <form onSubmit={handleNoteUpdate}>\n <FilledInput\n value={noteText}\n onChange={handleTextChange}\n fullWidth\n multiline\n sx={{\n paddingTop: '16px',\n paddingLeft: '14px',\n paddingRight: '60px',\n paddingBottom: '14px',\n lineHeight: 1.3,\n }}\n autoFocus\n />\n <Box display=\"flex\" justifyContent=\"flex-end\" mt={1}>\n <Button\n sx={{ mr: 1 }}\n onClick={handleCancelEdit}\n color=\"primary\"\n >\n Cancel\n </Button>\n <Button\n type=\"submit\"\n color=\"primary\"\n variant=\"contained\"\n disabled={isPending}\n >\n Update Note\n </Button>\n </Box>\n </form>\n ) : (\n <Box\n sx={{\n bgcolor: '#edf3f0',\n padding: '0 1em',\n borderRadius: '10px',\n display: 'flex',\n alignItems: 'stretch',\n marginBottom: 1,\n }}\n >\n <Box flex={1}>\n {note.text\n .split('\\n')\n .map((paragraph: string, index: number) => (\n <Box\n component=\"p\"\n fontFamily=\"fontFamily\"\n fontSize=\"body1.fontSize\"\n lineHeight={1.3}\n marginBottom={2.4}\n key={index}\n >\n {paragraph}\n </Box>\n ))}\n </Box>\n <Box\n sx={{\n marginLeft: 2,\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'space-around',\n visibility: isHover ? 'visible' : 'hidden',\n }}\n >\n <Tooltip title=\"Edit note\">\n <IconButton\n size=\"small\"\n onClick={handleEnterEditMode}\n >\n <EditIcon />\n </IconButton>\n </Tooltip>\n <Tooltip title=\"Delete note\">\n <IconButton size=\"small\" onClick={handleDelete}>\n <TrashIcon />\n </IconButton>\n </Tooltip>\n </Box>\n </Box>\n )}\n </Box>\n );\n};\n","import * as React from 'react';\nimport { Box } from '@mui/material';\nimport { useListContext } from 'react-admin';\n\nimport { Note } from './Note';\nimport { NewNote } from './NewNote';\n\nexport const NotesIterator = ({\n showStatus,\n reference,\n}: {\n showStatus?: boolean;\n reference: 'contacts' | 'deals';\n}) => {\n const { data, error, isPending } = useListContext();\n if (isPending || error) return null;\n return (\n <>\n <NewNote showStatus={showStatus} reference={reference} />\n <Box mt=\"0.5em\">\n {data.map((note, index) => (\n <Note\n note={note}\n isLast={index === data.length - 1}\n showStatus={showStatus}\n key={index}\n />\n ))}\n </Box>\n </>\n );\n};\n","import * as React from 'react';\nimport {\n ShowBase,\n TextField,\n ReferenceField,\n ReferenceManyField,\n useShowContext,\n} from 'react-admin';\nimport { Box, Card, CardContent, Typography } from '@mui/material';\n\nimport { Avatar } from './Avatar';\nimport { ContactAside } from './ContactAside';\nimport { LogoField } from '../companies/LogoField';\nimport { NotesIterator } from '../notes';\nimport { Contact } from '../types';\n\nexport const ContactShow = () => (\n <ShowBase>\n <ContactShowContent />\n </ShowBase>\n);\n\nconst ContactShowContent = () => {\n const { record, isPending } = useShowContext<Contact>();\n if (isPending || !record) return null;\n return (\n <Box mt={2} display=\"flex\">\n <Box flex=\"1\">\n <Card>\n <CardContent>\n <Box display=\"flex\">\n <Avatar />\n <Box ml={2} flex=\"1\">\n <Typography variant=\"h5\">\n {record.first_name} {record.last_name}\n </Typography>\n <Typography variant=\"body2\" component=\"div\">\n {record.title} at{' '}\n <ReferenceField\n source=\"company_id\"\n reference=\"companies\"\n link=\"show\"\n >\n <TextField source=\"name\" />\n </ReferenceField>\n </Typography>\n </Box>\n <Box>\n <ReferenceField\n source=\"company_id\"\n reference=\"companies\"\n link=\"show\"\n >\n <LogoField />\n </ReferenceField>\n </Box>\n </Box>\n <ReferenceManyField\n target=\"contact_id\"\n reference=\"contactNotes\"\n sort={{ field: 'date', order: 'DESC' }}\n >\n <NotesIterator showStatus reference=\"contacts\" />\n </ReferenceManyField>\n </CardContent>\n </Card>\n </Box>\n <ContactAside />\n </Box>\n );\n};\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)([/*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2M12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8\"\n}, \"0\"), /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z\"\n}, \"1\")], 'AccessTime');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"m16 6 2.29 2.29-4.88 4.88-4-4L2 16.59 3.41 18l6-6 4 4 6.3-6.29L22 12V6z\"\n}), 'TrendingUp');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"m21.41 11.58-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42M5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7\"\n}), 'LocalOffer');","/* eslint-disable import/no-anonymous-default-export */\nimport * as React from 'react';\nimport {\n FilterList,\n FilterLiveSearch,\n FilterListItem,\n useGetIdentity,\n useGetList,\n} from 'react-admin';\nimport { Box, Chip } from '@mui/material';\nimport AccessTimeIcon from '@mui/icons-material/AccessTime';\nimport TrendingUpIcon from '@mui/icons-material/TrendingUp';\nimport LocalOfferIcon from '@mui/icons-material/LocalOffer';\nimport SupervisorAccountIcon from '@mui/icons-material/SupervisorAccount';\nimport { endOfYesterday, startOfWeek, startOfMonth, subMonths } from 'date-fns';\n\nimport { Status } from '../misc/Status';\n\nexport const ContactListFilter = () => {\n const { identity } = useGetIdentity();\n const { data } = useGetList('tags', {\n pagination: { page: 1, perPage: 10 },\n sort: { field: 'name', order: 'ASC' },\n });\n return (\n <Box width=\"13em\" minWidth=\"13em\" order={-1} mr={2} mt={5}>\n <FilterLiveSearch\n hiddenLabel\n sx={{\n display: 'block',\n '& .MuiFilledInput-root': { width: '100%' },\n }}\n />\n <FilterList label=\"Last seen\" icon={<AccessTimeIcon />}>\n <FilterListItem\n label=\"Today\"\n value={{\n last_seen_gte: endOfYesterday().toISOString(),\n last_seen_lte: undefined,\n }}\n />\n <FilterListItem\n label=\"This week\"\n value={{\n last_seen_gte: startOfWeek(new Date()).toISOString(),\n last_seen_lte: undefined,\n }}\n />\n <FilterListItem\n label=\"Before this week\"\n value={{\n last_seen_gte: undefined,\n last_seen_lte: startOfWeek(new Date()).toISOString(),\n }}\n />\n <FilterListItem\n label=\"Before this month\"\n value={{\n last_seen_gte: undefined,\n last_seen_lte: startOfMonth(new Date()).toISOString(),\n }}\n />\n <FilterListItem\n label=\"Before last month\"\n value={{\n last_seen_gte: undefined,\n last_seen_lte: subMonths(\n startOfMonth(new Date()),\n 1\n ).toISOString(),\n }}\n />\n </FilterList>\n <FilterList label=\"Status\" icon={<TrendingUpIcon />}>\n <FilterListItem\n label={\n <>\n Cold <Status status=\"cold\" />\n </>\n }\n value={{ status: 'cold' }}\n />\n <FilterListItem\n label={\n <>\n Warm <Status status=\"warm\" />\n </>\n }\n value={{ status: 'warm' }}\n />\n <FilterListItem\n label={\n <>\n Hot <Status status=\"hot\" />\n </>\n }\n value={{ status: 'hot' }}\n />\n <FilterListItem\n label={\n <>\n In contract <Status status=\"in-contract\" />\n </>\n }\n value={{ status: 'in-contract' }}\n />\n </FilterList>\n <FilterList label=\"Tags\" icon={<LocalOfferIcon />}>\n {data &&\n data.map(record => (\n <FilterListItem\n key={record.id}\n label={\n <Chip\n label={record?.name}\n size=\"small\"\n style={{\n backgroundColor: record?.color,\n border: 0,\n cursor: 'pointer',\n }}\n />\n }\n value={{ tags: [record.id] }}\n />\n ))}\n </FilterList>\n <FilterList\n label=\"Account manager\"\n icon={<SupervisorAccountIcon />}\n >\n <FilterListItem\n label=\"Me\"\n value={{ sales_id: identity && identity.id }}\n />\n </FilterList>\n </Box>\n );\n};\n","/* eslint-disable import/no-anonymous-default-export */\nimport * as React from 'react';\nimport {\n List as RaList,\n SimpleListLoading,\n ReferenceField,\n TextField,\n useListContext,\n ExportButton,\n SortButton,\n TopToolbar,\n CreateButton,\n Pagination,\n useGetIdentity,\n BulkActionsToolbar,\n BulkDeleteButton,\n RecordContextProvider,\n} from 'react-admin';\nimport {\n List,\n ListItem,\n ListItemAvatar,\n ListItemIcon,\n ListItemSecondaryAction,\n ListItemText,\n Checkbox,\n Typography,\n} from '@mui/material';\nimport { Link } from 'react-router-dom';\nimport { formatDistance } from 'date-fns';\n\nimport { Avatar } from './Avatar';\nimport { Status } from '../misc/Status';\nimport { TagsList } from './TagsList';\nimport { ContactListFilter } from './ContactListFilter';\nimport { Contact } from '../types';\n\nconst ContactListContent = () => {\n const {\n data: contacts,\n error,\n isPending,\n onToggleItem,\n selectedIds,\n } = useListContext<Contact>();\n if (isPending) {\n return <SimpleListLoading hasLeftAvatarOrIcon hasSecondaryText />;\n }\n if (error) {\n return null;\n }\n const now = Date.now();\n\n return (\n <>\n <BulkActionsToolbar>\n <BulkDeleteButton />\n </BulkActionsToolbar>\n <List dense>\n {contacts.map(contact => (\n <RecordContextProvider key={contact.id} value={contact}>\n <ListItem\n button\n component={Link}\n to={`/contacts/${contact.id}/show`}\n >\n <ListItemIcon>\n <Checkbox\n edge=\"start\"\n checked={selectedIds.includes(contact.id)}\n tabIndex={-1}\n disableRipple\n onClick={e => {\n e.stopPropagation();\n onToggleItem(contact.id);\n }}\n />\n </ListItemIcon>\n <ListItemAvatar>\n <Avatar />\n </ListItemAvatar>\n <ListItemText\n primary={`${contact.first_name} ${contact.last_name}`}\n secondary={\n <>\n {contact.title} at{' '}\n <ReferenceField\n source=\"company_id\"\n reference=\"companies\"\n link={false}\n >\n <TextField source=\"name\" />\n </ReferenceField>\n {contact.nb_notes\n ? ` - ${contact.nb_notes} note${\n contact.nb_notes > 1\n ? 's'\n : ''\n }`\n : ''}\n {contact.nb_tasks\n ? ` - ${contact.nb_tasks} task${\n contact.nb_tasks > 1\n ? 's'\n : ''\n }`\n : ''}\n   \n <TagsList />\n </>\n }\n />\n <ListItemSecondaryAction>\n <Typography\n variant=\"body2\"\n color=\"textSecondary\"\n >\n last activity{' '}\n {formatDistance(contact.last_seen, now)} ago{' '}\n <Status status={contact.status} />\n </Typography>\n </ListItemSecondaryAction>\n </ListItem>\n </RecordContextProvider>\n ))}\n </List>\n </>\n );\n};\n\nconst ContactListActions = () => (\n <TopToolbar>\n <SortButton fields={['last_name', 'first_name', 'last_seen']} />\n <ExportButton />\n <CreateButton\n variant=\"contained\"\n label=\"New Contact\"\n sx={{ marginLeft: 2 }}\n />\n </TopToolbar>\n);\n\nexport const ContactList = () => {\n const { identity } = useGetIdentity();\n return identity ? (\n <RaList\n actions={<ContactListActions />}\n aside={<ContactListFilter />}\n perPage={25}\n pagination={<Pagination rowsPerPageOptions={[10, 25, 50, 100]} />}\n filterDefaultValues={{ sales_id: identity?.id }}\n sort={{ field: 'last_seen', order: 'DESC' }}\n >\n <ContactListContent />\n </RaList>\n ) : null;\n};\n","import * as React from 'react';\nimport {\n TextInput,\n ReferenceInput,\n AutocompleteInput,\n BooleanInput,\n SelectInput,\n required,\n email,\n useCreate,\n useGetIdentity,\n useNotify,\n} from 'react-admin';\nimport { Divider, Box, Stack } from '@mui/material';\n\nimport { genders } from './constants';\n\nconst isUrl = (value: string) => {\n if (!value) return;\n try {\n new URL(value);\n } catch (_) {\n return 'Must be a valid URL';\n }\n};\n\nexport const ContactInputs = () => {\n const [create] = useCreate();\n const { identity } = useGetIdentity();\n const notify = useNotify();\n const handleCreateCompany = async (name?: string) => {\n if (!name) return;\n try {\n const newCompany = await create(\n 'companies',\n {\n data: {\n name,\n sales_id: identity?.id,\n created_at: new Date().toISOString(),\n },\n },\n { returnPromise: true }\n );\n return newCompany;\n } catch (error) {\n notify('An error occurred while creating the company', {\n type: 'error',\n });\n throw error;\n }\n };\n return (\n <Box flex=\"1\" mt={-1}>\n <Stack direction=\"row\" width={430} gap={1}>\n <TextInput\n source=\"first_name\"\n validate={required()}\n helperText={false}\n />\n <TextInput\n source=\"last_name\"\n validate={required()}\n helperText={false}\n />\n </Stack>\n <Stack direction=\"row\" width={430} gap={1}>\n <TextInput source=\"title\" helperText={false} />\n <ReferenceInput source=\"company_id\" reference=\"companies\">\n <AutocompleteInput\n optionText=\"name\"\n validate={required()}\n onCreate={handleCreateCompany}\n helperText={false}\n />\n </ReferenceInput>\n </Stack>\n <Divider sx={{ my: 2 }} />\n <Box width={430}>\n <TextInput\n source=\"email\"\n helperText={false}\n validate={email()}\n />\n <Stack direction=\"row\" gap={1}>\n <TextInput source=\"phone_number1\" helperText={false} />\n <TextInput source=\"phone_number2\" helperText={false} />\n </Stack>\n </Box>\n <Divider sx={{ my: 2 }} />\n <Box width={430}>\n <TextInput source=\"background\" multiline helperText={false} />\n <TextInput\n source=\"avatar\"\n label=\"Avatar URL\"\n helperText={false}\n validate={isUrl}\n />\n <Stack direction=\"row\" gap={1} alignItems=\"center\">\n <SelectInput\n source=\"gender\"\n choices={genders}\n helperText={false}\n />\n <BooleanInput\n source=\"has_newsletter\"\n sx={{\n width: '100%',\n label: { justifyContent: 'center' },\n }}\n helperText={false}\n />\n </Stack>\n </Box>\n <Divider sx={{ my: 2 }} />\n <Box width={430}>\n <ReferenceInput\n reference=\"sales\"\n source=\"sales_id\"\n sort={{ field: 'last_name', order: 'ASC' }}\n >\n <SelectInput\n helperText={false}\n label=\"Account manager\"\n sx={{ width: 210 }}\n />\n </ReferenceInput>\n </Box>\n </Box>\n );\n};\n","import * as React from 'react';\nimport { EditBase, Form, Toolbar, useEditContext } from 'react-admin';\nimport { Card, CardContent, Box } from '@mui/material';\n\nimport { Avatar } from './Avatar';\nimport { ContactInputs } from './ContactInputs';\nimport { ContactAside } from './ContactAside';\nimport { Contact } from '../types';\n\nexport const ContactEdit = () => (\n <EditBase redirect=\"show\">\n <ContactEditContent />\n </EditBase>\n);\n\nconst ContactEditContent = () => {\n const { isPending, record } = useEditContext<Contact>();\n if (isPending || !record) return null;\n return (\n <Box mt={2} display=\"flex\">\n <Box flex=\"1\">\n <Form>\n <Card>\n <CardContent>\n <Box>\n <Box display=\"flex\">\n <Box mr={2}>\n <Avatar />\n </Box>\n <ContactInputs />\n </Box>\n </Box>\n </CardContent>\n <Toolbar />\n </Card>\n </Form>\n </Box>\n <ContactAside link=\"show\" />\n </Box>\n );\n};\n","import * as React from 'react';\nimport { CreateBase, Form, Toolbar, useGetIdentity } from 'react-admin';\nimport { Card, CardContent, Box, Avatar } from '@mui/material';\n\nimport { ContactInputs } from './ContactInputs';\nimport { Contact } from '../types';\n\nexport const ContactCreate = () => {\n const { identity } = useGetIdentity();\n return (\n <CreateBase\n redirect=\"show\"\n transform={(data: Contact) => ({\n ...data,\n first_seen: new Date().toISOString(),\n last_seen: new Date().toISOString(),\n tags: [],\n })}\n >\n <Box mt={2} display=\"flex\">\n <Box flex=\"1\">\n <Form defaultValues={{ sales_id: identity?.id }}>\n <Card>\n <CardContent>\n <Box>\n <Box display=\"flex\">\n <Box mr={2}>\n <Avatar />\n </Box>\n <ContactInputs />\n </Box>\n </Box>\n </CardContent>\n <Toolbar />\n </Card>\n </Form>\n </Box>\n </Box>\n </CreateBase>\n );\n};\n","/* eslint-disable import/no-anonymous-default-export */\nimport { ContactShow } from './ContactShow';\nimport { ContactList } from './ContactList';\nimport { ContactEdit } from './ContactEdit';\nimport { ContactCreate } from './ContactCreate';\nimport { Contact } from '../types';\n\nexport default {\n list: ContactList,\n show: ContactShow,\n edit: ContactEdit,\n create: ContactCreate,\n recordRepresentation: (record: Contact) =>\n record?.first_name + ' ' + record?.last_name,\n};\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z\"\n}), 'Home');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M9.4 16.6 4.8 12l4.6-4.6L8 6l-6 6 6 6zm5.2 0 4.6-4.6-4.6-4.6L16 6l6 6-6 6z\"\n}), 'Code');","import * as React from 'react';\nimport {\n Typography,\n Card,\n CardContent,\n CardActions,\n Button,\n} from '@mui/material';\nimport HomeIcon from '@mui/icons-material/Home';\nimport CodeIcon from '@mui/icons-material/Code';\n\nexport const Welcome = () => (\n <Card\n sx={{\n background: `#c5dedd`,\n color: 'rgba(0, 0, 0, 0.87)',\n padding: '1em',\n marginBottom: '1em',\n marginTop: '2em',\n [`& .MuiCardActions-root`]: {\n p: 2,\n mt: -2,\n mb: -1,\n flexDirection: 'column',\n '& a': {\n mb: 1,\n color: 'rgba(0, 0, 0, 0.87)',\n backgroundColor: 'white',\n marginLeft: '0 !important',\n },\n },\n }}\n >\n <CardContent>\n <Typography variant=\"h5\" gutterBottom>\n CRM demo\n </Typography>\n <Typography gutterBottom>\n This app runs in the browser, and relies on a mock REST API.\n Feel free to explore and modify the data - it's local to your\n computer, and will reset each time you reload.\n </Typography>\n <Typography gutterBottom>\n It was built using react-admin, an open-source framework. The\n code for this demo is also open-source. Reading it is a great\n way to learn react-admin!\n </Typography>\n </CardContent>\n <CardActions>\n <Button\n variant=\"contained\"\n fullWidth\n href=\"https://marmelab.com/react-admin\"\n startIcon={<HomeIcon />}\n >\n React-admin site\n </Button>\n <Button\n variant=\"contained\"\n fullWidth\n href=\"https://github.com/marmelab/react-admin/tree/master/examples/crm\"\n startIcon={<CodeIcon />}\n >\n Source of this demo\n </Button>\n </CardActions>\n </Card>\n);\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M11.8 10.9c-2.27-.59-3-1.2-3-2.15 0-1.09 1.01-1.85 2.7-1.85 1.78 0 2.44.85 2.5 2.1h2.21c-.07-1.72-1.12-3.3-3.21-3.81V3h-3v2.16c-1.94.42-3.5 1.68-3.5 3.61 0 2.31 1.91 3.46 4.7 4.13 2.5.6 3 1.48 3 2.41 0 .69-.49 1.79-2.7 1.79-2.06 0-2.87-.92-2.98-2.1h-2.2c.12 2.19 1.76 3.42 3.68 3.83V21h3v-2.15c1.95-.37 3.5-1.5 3.5-3.55 0-2.84-2.43-3.81-4.7-4.4\"\n}), 'AttachMoney');","let updateQueue = makeQueue();\nconst raf = fn => schedule(fn, updateQueue);\nlet writeQueue = makeQueue();\n\nraf.write = fn => schedule(fn, writeQueue);\n\nlet onStartQueue = makeQueue();\n\nraf.onStart = fn => schedule(fn, onStartQueue);\n\nlet onFrameQueue = makeQueue();\n\nraf.onFrame = fn => schedule(fn, onFrameQueue);\n\nlet onFinishQueue = makeQueue();\n\nraf.onFinish = fn => schedule(fn, onFinishQueue);\n\nlet timeouts = [];\n\nraf.setTimeout = (handler, ms) => {\n let time = raf.now() + ms;\n\n let cancel = () => {\n let i = timeouts.findIndex(t => t.cancel == cancel);\n if (~i) timeouts.splice(i, 1);\n pendingCount -= ~i ? 1 : 0;\n };\n\n let timeout = {\n time,\n handler,\n cancel\n };\n timeouts.splice(findTimeout(time), 0, timeout);\n pendingCount += 1;\n start();\n return timeout;\n};\n\nlet findTimeout = time => ~(~timeouts.findIndex(t => t.time > time) || ~timeouts.length);\n\nraf.cancel = fn => {\n onStartQueue.delete(fn);\n onFrameQueue.delete(fn);\n updateQueue.delete(fn);\n writeQueue.delete(fn);\n onFinishQueue.delete(fn);\n};\n\nraf.sync = fn => {\n sync = true;\n raf.batchedUpdates(fn);\n sync = false;\n};\n\nraf.throttle = fn => {\n let lastArgs;\n\n function queuedFn() {\n try {\n fn(...lastArgs);\n } finally {\n lastArgs = null;\n }\n }\n\n function throttled(...args) {\n lastArgs = args;\n raf.onStart(queuedFn);\n }\n\n throttled.handler = fn;\n\n throttled.cancel = () => {\n onStartQueue.delete(queuedFn);\n lastArgs = null;\n };\n\n return throttled;\n};\n\nlet nativeRaf = typeof window != 'undefined' ? window.requestAnimationFrame : () => {};\n\nraf.use = impl => nativeRaf = impl;\n\nraf.now = typeof performance != 'undefined' ? () => performance.now() : Date.now;\n\nraf.batchedUpdates = fn => fn();\n\nraf.catch = console.error;\nraf.frameLoop = 'always';\n\nraf.advance = () => {\n if (raf.frameLoop !== 'demand') {\n console.warn('Cannot call the manual advancement of rafz whilst frameLoop is not set as demand');\n } else {\n update();\n }\n};\n\nlet ts = -1;\nlet pendingCount = 0;\nlet sync = false;\n\nfunction schedule(fn, queue) {\n if (sync) {\n queue.delete(fn);\n fn(0);\n } else {\n queue.add(fn);\n start();\n }\n}\n\nfunction start() {\n if (ts < 0) {\n ts = 0;\n\n if (raf.frameLoop !== 'demand') {\n nativeRaf(loop);\n }\n }\n}\n\nfunction stop() {\n ts = -1;\n}\n\nfunction loop() {\n if (~ts) {\n nativeRaf(loop);\n raf.batchedUpdates(update);\n }\n}\n\nfunction update() {\n let prevTs = ts;\n ts = raf.now();\n let count = findTimeout(ts);\n\n if (count) {\n eachSafely(timeouts.splice(0, count), t => t.handler());\n pendingCount -= count;\n }\n\n onStartQueue.flush();\n updateQueue.flush(prevTs ? Math.min(64, ts - prevTs) : 16.667);\n onFrameQueue.flush();\n writeQueue.flush();\n onFinishQueue.flush();\n\n if (!pendingCount) {\n stop();\n }\n}\n\nfunction makeQueue() {\n let next = new Set();\n let current = next;\n return {\n add(fn) {\n pendingCount += current == next && !next.has(fn) ? 1 : 0;\n next.add(fn);\n },\n\n delete(fn) {\n pendingCount -= current == next && next.has(fn) ? 1 : 0;\n return next.delete(fn);\n },\n\n flush(arg) {\n if (current.size) {\n next = new Set();\n pendingCount -= current.size;\n eachSafely(current, fn => fn(arg) && next.add(fn));\n pendingCount += next.size;\n current = next;\n }\n }\n\n };\n}\n\nfunction eachSafely(values, each) {\n values.forEach(value => {\n try {\n each(value);\n } catch (e) {\n raf.catch(e);\n }\n });\n}\n\nconst __raf = {\n count() {\n return pendingCount;\n },\n\n isRunning() {\n return ts >= 0;\n },\n\n clear() {\n ts = -1;\n timeouts = [];\n onStartQueue = makeQueue();\n updateQueue = makeQueue();\n onFrameQueue = makeQueue();\n writeQueue = makeQueue();\n onFinishQueue = makeQueue();\n pendingCount = 0;\n }\n\n};\n\nexport { __raf, raf };\n","import { raf } from '@react-spring/rafz';\nexport { raf } from '@react-spring/rafz';\nimport * as React from 'react';\nimport { useRef, useState, useEffect } from 'react';\n\nfunction noop() {}\nconst defineHidden = (obj, key, value) => Object.defineProperty(obj, key, {\n value,\n writable: true,\n configurable: true\n});\nconst is = {\n arr: Array.isArray,\n obj: a => !!a && a.constructor.name === 'Object',\n fun: a => typeof a === 'function',\n str: a => typeof a === 'string',\n num: a => typeof a === 'number',\n und: a => a === undefined\n};\nfunction isEqual(a, b) {\n if (is.arr(a)) {\n if (!is.arr(b) || a.length !== b.length) return false;\n\n for (let i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) return false;\n }\n\n return true;\n }\n\n return a === b;\n}\nconst each = (obj, fn) => obj.forEach(fn);\nfunction eachProp(obj, fn, ctx) {\n if (is.arr(obj)) {\n for (let i = 0; i < obj.length; i++) {\n fn.call(ctx, obj[i], `${i}`);\n }\n\n return;\n }\n\n for (const key in obj) {\n if (obj.hasOwnProperty(key)) {\n fn.call(ctx, obj[key], key);\n }\n }\n}\nconst toArray = a => is.und(a) ? [] : is.arr(a) ? a : [a];\nfunction flush(queue, iterator) {\n if (queue.size) {\n const items = Array.from(queue);\n queue.clear();\n each(items, iterator);\n }\n}\nconst flushCalls = (queue, ...args) => flush(queue, fn => fn(...args));\nconst isSSR = () => typeof window === 'undefined' || !window.navigator || /ServerSideRendering|^Deno\\//.test(window.navigator.userAgent);\n\nlet createStringInterpolator$1;\nlet to;\nlet colors$1 = null;\nlet skipAnimation = false;\nlet willAdvance = noop;\nconst assign = globals => {\n if (globals.to) to = globals.to;\n if (globals.now) raf.now = globals.now;\n if (globals.colors !== undefined) colors$1 = globals.colors;\n if (globals.skipAnimation != null) skipAnimation = globals.skipAnimation;\n if (globals.createStringInterpolator) createStringInterpolator$1 = globals.createStringInterpolator;\n if (globals.requestAnimationFrame) raf.use(globals.requestAnimationFrame);\n if (globals.batchedUpdates) raf.batchedUpdates = globals.batchedUpdates;\n if (globals.willAdvance) willAdvance = globals.willAdvance;\n if (globals.frameLoop) raf.frameLoop = globals.frameLoop;\n};\n\nvar globals = /*#__PURE__*/Object.freeze({\n __proto__: null,\n get createStringInterpolator () { return createStringInterpolator$1; },\n get to () { return to; },\n get colors () { return colors$1; },\n get skipAnimation () { return skipAnimation; },\n get willAdvance () { return willAdvance; },\n assign: assign\n});\n\nconst startQueue = new Set();\nlet currentFrame = [];\nlet prevFrame = [];\nlet priority = 0;\nconst frameLoop = {\n get idle() {\n return !startQueue.size && !currentFrame.length;\n },\n\n start(animation) {\n if (priority > animation.priority) {\n startQueue.add(animation);\n raf.onStart(flushStartQueue);\n } else {\n startSafely(animation);\n raf(advance);\n }\n },\n\n advance,\n\n sort(animation) {\n if (priority) {\n raf.onFrame(() => frameLoop.sort(animation));\n } else {\n const prevIndex = currentFrame.indexOf(animation);\n\n if (~prevIndex) {\n currentFrame.splice(prevIndex, 1);\n startUnsafely(animation);\n }\n }\n },\n\n clear() {\n currentFrame = [];\n startQueue.clear();\n }\n\n};\n\nfunction flushStartQueue() {\n startQueue.forEach(startSafely);\n startQueue.clear();\n raf(advance);\n}\n\nfunction startSafely(animation) {\n if (!currentFrame.includes(animation)) startUnsafely(animation);\n}\n\nfunction startUnsafely(animation) {\n currentFrame.splice(findIndex(currentFrame, other => other.priority > animation.priority), 0, animation);\n}\n\nfunction advance(dt) {\n const nextFrame = prevFrame;\n\n for (let i = 0; i < currentFrame.length; i++) {\n const animation = currentFrame[i];\n priority = animation.priority;\n\n if (!animation.idle) {\n willAdvance(animation);\n animation.advance(dt);\n\n if (!animation.idle) {\n nextFrame.push(animation);\n }\n }\n }\n\n priority = 0;\n prevFrame = currentFrame;\n prevFrame.length = 0;\n currentFrame = nextFrame;\n return currentFrame.length > 0;\n}\n\nfunction findIndex(arr, test) {\n const index = arr.findIndex(test);\n return index < 0 ? arr.length : index;\n}\n\nconst colors = {\n transparent: 0x00000000,\n aliceblue: 0xf0f8ffff,\n antiquewhite: 0xfaebd7ff,\n aqua: 0x00ffffff,\n aquamarine: 0x7fffd4ff,\n azure: 0xf0ffffff,\n beige: 0xf5f5dcff,\n bisque: 0xffe4c4ff,\n black: 0x000000ff,\n blanchedalmond: 0xffebcdff,\n blue: 0x0000ffff,\n blueviolet: 0x8a2be2ff,\n brown: 0xa52a2aff,\n burlywood: 0xdeb887ff,\n burntsienna: 0xea7e5dff,\n cadetblue: 0x5f9ea0ff,\n chartreuse: 0x7fff00ff,\n chocolate: 0xd2691eff,\n coral: 0xff7f50ff,\n cornflowerblue: 0x6495edff,\n cornsilk: 0xfff8dcff,\n crimson: 0xdc143cff,\n cyan: 0x00ffffff,\n darkblue: 0x00008bff,\n darkcyan: 0x008b8bff,\n darkgoldenrod: 0xb8860bff,\n darkgray: 0xa9a9a9ff,\n darkgreen: 0x006400ff,\n darkgrey: 0xa9a9a9ff,\n darkkhaki: 0xbdb76bff,\n darkmagenta: 0x8b008bff,\n darkolivegreen: 0x556b2fff,\n darkorange: 0xff8c00ff,\n darkorchid: 0x9932ccff,\n darkred: 0x8b0000ff,\n darksalmon: 0xe9967aff,\n darkseagreen: 0x8fbc8fff,\n darkslateblue: 0x483d8bff,\n darkslategray: 0x2f4f4fff,\n darkslategrey: 0x2f4f4fff,\n darkturquoise: 0x00ced1ff,\n darkviolet: 0x9400d3ff,\n deeppink: 0xff1493ff,\n deepskyblue: 0x00bfffff,\n dimgray: 0x696969ff,\n dimgrey: 0x696969ff,\n dodgerblue: 0x1e90ffff,\n firebrick: 0xb22222ff,\n floralwhite: 0xfffaf0ff,\n forestgreen: 0x228b22ff,\n fuchsia: 0xff00ffff,\n gainsboro: 0xdcdcdcff,\n ghostwhite: 0xf8f8ffff,\n gold: 0xffd700ff,\n goldenrod: 0xdaa520ff,\n gray: 0x808080ff,\n green: 0x008000ff,\n greenyellow: 0xadff2fff,\n grey: 0x808080ff,\n honeydew: 0xf0fff0ff,\n hotpink: 0xff69b4ff,\n indianred: 0xcd5c5cff,\n indigo: 0x4b0082ff,\n ivory: 0xfffff0ff,\n khaki: 0xf0e68cff,\n lavender: 0xe6e6faff,\n lavenderblush: 0xfff0f5ff,\n lawngreen: 0x7cfc00ff,\n lemonchiffon: 0xfffacdff,\n lightblue: 0xadd8e6ff,\n lightcoral: 0xf08080ff,\n lightcyan: 0xe0ffffff,\n lightgoldenrodyellow: 0xfafad2ff,\n lightgray: 0xd3d3d3ff,\n lightgreen: 0x90ee90ff,\n lightgrey: 0xd3d3d3ff,\n lightpink: 0xffb6c1ff,\n lightsalmon: 0xffa07aff,\n lightseagreen: 0x20b2aaff,\n lightskyblue: 0x87cefaff,\n lightslategray: 0x778899ff,\n lightslategrey: 0x778899ff,\n lightsteelblue: 0xb0c4deff,\n lightyellow: 0xffffe0ff,\n lime: 0x00ff00ff,\n limegreen: 0x32cd32ff,\n linen: 0xfaf0e6ff,\n magenta: 0xff00ffff,\n maroon: 0x800000ff,\n mediumaquamarine: 0x66cdaaff,\n mediumblue: 0x0000cdff,\n mediumorchid: 0xba55d3ff,\n mediumpurple: 0x9370dbff,\n mediumseagreen: 0x3cb371ff,\n mediumslateblue: 0x7b68eeff,\n mediumspringgreen: 0x00fa9aff,\n mediumturquoise: 0x48d1ccff,\n mediumvioletred: 0xc71585ff,\n midnightblue: 0x191970ff,\n mintcream: 0xf5fffaff,\n mistyrose: 0xffe4e1ff,\n moccasin: 0xffe4b5ff,\n navajowhite: 0xffdeadff,\n navy: 0x000080ff,\n oldlace: 0xfdf5e6ff,\n olive: 0x808000ff,\n olivedrab: 0x6b8e23ff,\n orange: 0xffa500ff,\n orangered: 0xff4500ff,\n orchid: 0xda70d6ff,\n palegoldenrod: 0xeee8aaff,\n palegreen: 0x98fb98ff,\n paleturquoise: 0xafeeeeff,\n palevioletred: 0xdb7093ff,\n papayawhip: 0xffefd5ff,\n peachpuff: 0xffdab9ff,\n peru: 0xcd853fff,\n pink: 0xffc0cbff,\n plum: 0xdda0ddff,\n powderblue: 0xb0e0e6ff,\n purple: 0x800080ff,\n rebeccapurple: 0x663399ff,\n red: 0xff0000ff,\n rosybrown: 0xbc8f8fff,\n royalblue: 0x4169e1ff,\n saddlebrown: 0x8b4513ff,\n salmon: 0xfa8072ff,\n sandybrown: 0xf4a460ff,\n seagreen: 0x2e8b57ff,\n seashell: 0xfff5eeff,\n sienna: 0xa0522dff,\n silver: 0xc0c0c0ff,\n skyblue: 0x87ceebff,\n slateblue: 0x6a5acdff,\n slategray: 0x708090ff,\n slategrey: 0x708090ff,\n snow: 0xfffafaff,\n springgreen: 0x00ff7fff,\n steelblue: 0x4682b4ff,\n tan: 0xd2b48cff,\n teal: 0x008080ff,\n thistle: 0xd8bfd8ff,\n tomato: 0xff6347ff,\n turquoise: 0x40e0d0ff,\n violet: 0xee82eeff,\n wheat: 0xf5deb3ff,\n white: 0xffffffff,\n whitesmoke: 0xf5f5f5ff,\n yellow: 0xffff00ff,\n yellowgreen: 0x9acd32ff\n};\n\nconst NUMBER = '[-+]?\\\\d*\\\\.?\\\\d+';\nconst PERCENTAGE = NUMBER + '%';\n\nfunction call(...parts) {\n return '\\\\(\\\\s*(' + parts.join(')\\\\s*,\\\\s*(') + ')\\\\s*\\\\)';\n}\n\nconst rgb = new RegExp('rgb' + call(NUMBER, NUMBER, NUMBER));\nconst rgba = new RegExp('rgba' + call(NUMBER, NUMBER, NUMBER, NUMBER));\nconst hsl = new RegExp('hsl' + call(NUMBER, PERCENTAGE, PERCENTAGE));\nconst hsla = new RegExp('hsla' + call(NUMBER, PERCENTAGE, PERCENTAGE, NUMBER));\nconst hex3 = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/;\nconst hex4 = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/;\nconst hex6 = /^#([0-9a-fA-F]{6})$/;\nconst hex8 = /^#([0-9a-fA-F]{8})$/;\n\nfunction normalizeColor(color) {\n let match;\n\n if (typeof color === 'number') {\n return color >>> 0 === color && color >= 0 && color <= 0xffffffff ? color : null;\n }\n\n if (match = hex6.exec(color)) return parseInt(match[1] + 'ff', 16) >>> 0;\n\n if (colors$1 && colors$1[color] !== undefined) {\n return colors$1[color];\n }\n\n if (match = rgb.exec(color)) {\n return (parse255(match[1]) << 24 | parse255(match[2]) << 16 | parse255(match[3]) << 8 | 0x000000ff) >>> 0;\n }\n\n if (match = rgba.exec(color)) {\n return (parse255(match[1]) << 24 | parse255(match[2]) << 16 | parse255(match[3]) << 8 | parse1(match[4])) >>> 0;\n }\n\n if (match = hex3.exec(color)) {\n return parseInt(match[1] + match[1] + match[2] + match[2] + match[3] + match[3] + 'ff', 16) >>> 0;\n }\n\n if (match = hex8.exec(color)) return parseInt(match[1], 16) >>> 0;\n\n if (match = hex4.exec(color)) {\n return parseInt(match[1] + match[1] + match[2] + match[2] + match[3] + match[3] + match[4] + match[4], 16) >>> 0;\n }\n\n if (match = hsl.exec(color)) {\n return (hslToRgb(parse360(match[1]), parsePercentage(match[2]), parsePercentage(match[3])) | 0x000000ff) >>> 0;\n }\n\n if (match = hsla.exec(color)) {\n return (hslToRgb(parse360(match[1]), parsePercentage(match[2]), parsePercentage(match[3])) | parse1(match[4])) >>> 0;\n }\n\n return null;\n}\n\nfunction hue2rgb(p, q, t) {\n if (t < 0) t += 1;\n if (t > 1) t -= 1;\n if (t < 1 / 6) return p + (q - p) * 6 * t;\n if (t < 1 / 2) return q;\n if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;\n return p;\n}\n\nfunction hslToRgb(h, s, l) {\n const q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n const p = 2 * l - q;\n const r = hue2rgb(p, q, h + 1 / 3);\n const g = hue2rgb(p, q, h);\n const b = hue2rgb(p, q, h - 1 / 3);\n return Math.round(r * 255) << 24 | Math.round(g * 255) << 16 | Math.round(b * 255) << 8;\n}\n\nfunction parse255(str) {\n const int = parseInt(str, 10);\n if (int < 0) return 0;\n if (int > 255) return 255;\n return int;\n}\n\nfunction parse360(str) {\n const int = parseFloat(str);\n return (int % 360 + 360) % 360 / 360;\n}\n\nfunction parse1(str) {\n const num = parseFloat(str);\n if (num < 0) return 0;\n if (num > 1) return 255;\n return Math.round(num * 255);\n}\n\nfunction parsePercentage(str) {\n const int = parseFloat(str);\n if (int < 0) return 0;\n if (int > 100) return 1;\n return int / 100;\n}\n\nfunction colorToRgba(input) {\n let int32Color = normalizeColor(input);\n if (int32Color === null) return input;\n int32Color = int32Color || 0;\n let r = (int32Color & 0xff000000) >>> 24;\n let g = (int32Color & 0x00ff0000) >>> 16;\n let b = (int32Color & 0x0000ff00) >>> 8;\n let a = (int32Color & 0x000000ff) / 255;\n return `rgba(${r}, ${g}, ${b}, ${a})`;\n}\n\nconst createInterpolator = (range, output, extrapolate) => {\n if (is.fun(range)) {\n return range;\n }\n\n if (is.arr(range)) {\n return createInterpolator({\n range,\n output: output,\n extrapolate\n });\n }\n\n if (is.str(range.output[0])) {\n return createStringInterpolator$1(range);\n }\n\n const config = range;\n const outputRange = config.output;\n const inputRange = config.range || [0, 1];\n const extrapolateLeft = config.extrapolateLeft || config.extrapolate || 'extend';\n const extrapolateRight = config.extrapolateRight || config.extrapolate || 'extend';\n\n const easing = config.easing || (t => t);\n\n return input => {\n const range = findRange(input, inputRange);\n return interpolate(input, inputRange[range], inputRange[range + 1], outputRange[range], outputRange[range + 1], easing, extrapolateLeft, extrapolateRight, config.map);\n };\n};\n\nfunction interpolate(input, inputMin, inputMax, outputMin, outputMax, easing, extrapolateLeft, extrapolateRight, map) {\n let result = map ? map(input) : input;\n\n if (result < inputMin) {\n if (extrapolateLeft === 'identity') return result;else if (extrapolateLeft === 'clamp') result = inputMin;\n }\n\n if (result > inputMax) {\n if (extrapolateRight === 'identity') return result;else if (extrapolateRight === 'clamp') result = inputMax;\n }\n\n if (outputMin === outputMax) return outputMin;\n if (inputMin === inputMax) return input <= inputMin ? outputMin : outputMax;\n if (inputMin === -Infinity) result = -result;else if (inputMax === Infinity) result = result - inputMin;else result = (result - inputMin) / (inputMax - inputMin);\n result = easing(result);\n if (outputMin === -Infinity) result = -result;else if (outputMax === Infinity) result = result + outputMin;else result = result * (outputMax - outputMin) + outputMin;\n return result;\n}\n\nfunction findRange(input, inputRange) {\n for (var i = 1; i < inputRange.length - 1; ++i) if (inputRange[i] >= input) break;\n\n return i - 1;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nconst $get = Symbol.for('FluidValue.get');\nconst $observers = Symbol.for('FluidValue.observers');\n\nconst hasFluidValue = arg => Boolean(arg && arg[$get]);\n\nconst getFluidValue = arg => arg && arg[$get] ? arg[$get]() : arg;\n\nconst getFluidObservers = target => target[$observers] || null;\n\nfunction callFluidObserver(observer, event) {\n if (observer.eventObserved) {\n observer.eventObserved(event);\n } else {\n observer(event);\n }\n}\n\nfunction callFluidObservers(target, event) {\n let observers = target[$observers];\n\n if (observers) {\n observers.forEach(observer => {\n callFluidObserver(observer, event);\n });\n }\n}\n\nclass FluidValue {\n constructor(get) {\n this[$get] = void 0;\n this[$observers] = void 0;\n\n if (!get && !(get = this.get)) {\n throw Error('Unknown getter');\n }\n\n setFluidGetter(this, get);\n }\n\n}\n\nconst setFluidGetter = (target, get) => setHidden(target, $get, get);\n\nfunction addFluidObserver(target, observer) {\n if (target[$get]) {\n let observers = target[$observers];\n\n if (!observers) {\n setHidden(target, $observers, observers = new Set());\n }\n\n if (!observers.has(observer)) {\n observers.add(observer);\n\n if (target.observerAdded) {\n target.observerAdded(observers.size, observer);\n }\n }\n }\n\n return observer;\n}\n\nfunction removeFluidObserver(target, observer) {\n let observers = target[$observers];\n\n if (observers && observers.has(observer)) {\n const count = observers.size - 1;\n\n if (count) {\n observers.delete(observer);\n } else {\n target[$observers] = null;\n }\n\n if (target.observerRemoved) {\n target.observerRemoved(count, observer);\n }\n }\n}\n\nconst setHidden = (target, key, value) => Object.defineProperty(target, key, {\n value,\n writable: true,\n configurable: true\n});\n\nconst numberRegex = /[+\\-]?(?:0|[1-9]\\d*)(?:\\.\\d*)?(?:[eE][+\\-]?\\d+)?/g;\nconst colorRegex = /(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\\((-?\\d+%?[,\\s]+){2,3}\\s*[\\d\\.]+%?\\))/gi;\nconst unitRegex = new RegExp(`(${numberRegex.source})(%|[a-z]+)`, 'i');\nconst rgbaRegex = /rgba\\(([0-9\\.-]+), ([0-9\\.-]+), ([0-9\\.-]+), ([0-9\\.-]+)\\)/gi;\nconst cssVariableRegex = /var\\((--[a-zA-Z0-9-_]+),? ?([a-zA-Z0-9 ()%#.,-]+)?\\)/;\n\nconst variableToRgba = input => {\n const [token, fallback] = parseCSSVariable(input);\n\n if (!token || isSSR()) {\n return input;\n }\n\n const value = window.getComputedStyle(document.documentElement).getPropertyValue(token);\n\n if (value) {\n return value.trim();\n } else if (fallback && fallback.startsWith('--')) {\n const _value = window.getComputedStyle(document.documentElement).getPropertyValue(fallback);\n\n if (_value) {\n return _value;\n } else {\n return input;\n }\n } else if (fallback && cssVariableRegex.test(fallback)) {\n return variableToRgba(fallback);\n } else if (fallback) {\n return fallback;\n }\n\n return input;\n};\n\nconst parseCSSVariable = current => {\n const match = cssVariableRegex.exec(current);\n if (!match) return [,];\n const [, token, fallback] = match;\n return [token, fallback];\n};\n\nlet namedColorRegex;\n\nconst rgbaRound = (_, p1, p2, p3, p4) => `rgba(${Math.round(p1)}, ${Math.round(p2)}, ${Math.round(p3)}, ${p4})`;\n\nconst createStringInterpolator = config => {\n if (!namedColorRegex) namedColorRegex = colors$1 ? new RegExp(`(${Object.keys(colors$1).join('|')})(?!\\\\w)`, 'g') : /^\\b$/;\n const output = config.output.map(value => {\n return getFluidValue(value).replace(cssVariableRegex, variableToRgba).replace(colorRegex, colorToRgba).replace(namedColorRegex, colorToRgba);\n });\n const keyframes = output.map(value => value.match(numberRegex).map(Number));\n const outputRanges = keyframes[0].map((_, i) => keyframes.map(values => {\n if (!(i in values)) {\n throw Error('The arity of each \"output\" value must be equal');\n }\n\n return values[i];\n }));\n const interpolators = outputRanges.map(output => createInterpolator(_extends({}, config, {\n output\n })));\n return input => {\n var _output$find;\n\n const missingUnit = !unitRegex.test(output[0]) && ((_output$find = output.find(value => unitRegex.test(value))) == null ? void 0 : _output$find.replace(numberRegex, ''));\n let i = 0;\n return output[0].replace(numberRegex, () => `${interpolators[i++](input)}${missingUnit || ''}`).replace(rgbaRegex, rgbaRound);\n };\n};\n\nconst prefix = 'react-spring: ';\n\nconst once = fn => {\n const func = fn;\n let called = false;\n\n if (typeof func != 'function') {\n throw new TypeError(`${prefix}once requires a function parameter`);\n }\n\n return (...args) => {\n if (!called) {\n func(...args);\n called = true;\n }\n };\n};\n\nconst warnInterpolate = once(console.warn);\nfunction deprecateInterpolate() {\n warnInterpolate(`${prefix}The \"interpolate\" function is deprecated in v9 (use \"to\" instead)`);\n}\nconst warnDirectCall = once(console.warn);\nfunction deprecateDirectCall() {\n warnDirectCall(`${prefix}Directly calling start instead of using the api object is deprecated in v9 (use \".start\" instead), this will be removed in later 0.X.0 versions`);\n}\n\nfunction isAnimatedString(value) {\n return is.str(value) && (value[0] == '#' || /\\d/.test(value) || !isSSR() && cssVariableRegex.test(value) || value in (colors$1 || {}));\n}\n\nconst useLayoutEffect = typeof window !== 'undefined' && window.document && window.document.createElement ? React.useLayoutEffect : React.useEffect;\n\nconst useIsMounted = () => {\n const isMounted = useRef(false);\n useLayoutEffect(() => {\n isMounted.current = true;\n return () => {\n isMounted.current = false;\n };\n }, []);\n return isMounted;\n};\n\nfunction useForceUpdate() {\n const update = useState()[1];\n const isMounted = useIsMounted();\n return () => {\n if (isMounted.current) {\n update(Math.random());\n }\n };\n}\n\nfunction useMemoOne(getResult, inputs) {\n const [initial] = useState(() => ({\n inputs,\n result: getResult()\n }));\n const committed = useRef();\n const prevCache = committed.current;\n let cache = prevCache;\n\n if (cache) {\n const useCache = Boolean(inputs && cache.inputs && areInputsEqual(inputs, cache.inputs));\n\n if (!useCache) {\n cache = {\n inputs,\n result: getResult()\n };\n }\n } else {\n cache = initial;\n }\n\n useEffect(() => {\n committed.current = cache;\n\n if (prevCache == initial) {\n initial.inputs = initial.result = undefined;\n }\n }, [cache]);\n return cache.result;\n}\n\nfunction areInputsEqual(next, prev) {\n if (next.length !== prev.length) {\n return false;\n }\n\n for (let i = 0; i < next.length; i++) {\n if (next[i] !== prev[i]) {\n return false;\n }\n }\n\n return true;\n}\n\nconst useOnce = effect => useEffect(effect, emptyDeps);\nconst emptyDeps = [];\n\nfunction usePrev(value) {\n const prevRef = useRef();\n useEffect(() => {\n prevRef.current = value;\n });\n return prevRef.current;\n}\n\nexport { FluidValue, globals as Globals, addFluidObserver, callFluidObserver, callFluidObservers, colorToRgba, colors, createInterpolator, createStringInterpolator, defineHidden, deprecateDirectCall, deprecateInterpolate, each, eachProp, flush, flushCalls, frameLoop, getFluidObservers, getFluidValue, hasFluidValue, hex3, hex4, hex6, hex8, hsl, hsla, is, isAnimatedString, isEqual, isSSR, noop, removeFluidObserver, rgb, rgba, setFluidGetter, toArray, useForceUpdate, useLayoutEffect, useMemoOne, useOnce, usePrev };\n","import { defineHidden, is, createInterpolator, eachProp, hasFluidValue, getFluidValue, each, isAnimatedString, useForceUpdate, useLayoutEffect, addFluidObserver, removeFluidObserver, raf, useOnce } from '@react-spring/shared';\nimport * as React from 'react';\nimport { forwardRef, useRef, useCallback, useEffect } from 'react';\n\nconst $node = Symbol.for('Animated:node');\nconst isAnimated = value => !!value && value[$node] === value;\nconst getAnimated = owner => owner && owner[$node];\nconst setAnimated = (owner, node) => defineHidden(owner, $node, node);\nconst getPayload = owner => owner && owner[$node] && owner[$node].getPayload();\nclass Animated {\n constructor() {\n this.payload = void 0;\n setAnimated(this, this);\n }\n\n getPayload() {\n return this.payload || [];\n }\n\n}\n\nclass AnimatedValue extends Animated {\n constructor(_value) {\n super();\n this.done = true;\n this.elapsedTime = void 0;\n this.lastPosition = void 0;\n this.lastVelocity = void 0;\n this.v0 = void 0;\n this.durationProgress = 0;\n this._value = _value;\n\n if (is.num(this._value)) {\n this.lastPosition = this._value;\n }\n }\n\n static create(value) {\n return new AnimatedValue(value);\n }\n\n getPayload() {\n return [this];\n }\n\n getValue() {\n return this._value;\n }\n\n setValue(value, step) {\n if (is.num(value)) {\n this.lastPosition = value;\n\n if (step) {\n value = Math.round(value / step) * step;\n\n if (this.done) {\n this.lastPosition = value;\n }\n }\n }\n\n if (this._value === value) {\n return false;\n }\n\n this._value = value;\n return true;\n }\n\n reset() {\n const {\n done\n } = this;\n this.done = false;\n\n if (is.num(this._value)) {\n this.elapsedTime = 0;\n this.durationProgress = 0;\n this.lastPosition = this._value;\n if (done) this.lastVelocity = null;\n this.v0 = null;\n }\n }\n\n}\n\nclass AnimatedString extends AnimatedValue {\n constructor(value) {\n super(0);\n this._string = null;\n this._toString = void 0;\n this._toString = createInterpolator({\n output: [value, value]\n });\n }\n\n static create(value) {\n return new AnimatedString(value);\n }\n\n getValue() {\n let value = this._string;\n return value == null ? this._string = this._toString(this._value) : value;\n }\n\n setValue(value) {\n if (is.str(value)) {\n if (value == this._string) {\n return false;\n }\n\n this._string = value;\n this._value = 1;\n } else if (super.setValue(value)) {\n this._string = null;\n } else {\n return false;\n }\n\n return true;\n }\n\n reset(goal) {\n if (goal) {\n this._toString = createInterpolator({\n output: [this.getValue(), goal]\n });\n }\n\n this._value = 0;\n super.reset();\n }\n\n}\n\nconst TreeContext = {\n dependencies: null\n};\n\nclass AnimatedObject extends Animated {\n constructor(source) {\n super();\n this.source = source;\n this.setValue(source);\n }\n\n getValue(animated) {\n const values = {};\n eachProp(this.source, (source, key) => {\n if (isAnimated(source)) {\n values[key] = source.getValue(animated);\n } else if (hasFluidValue(source)) {\n values[key] = getFluidValue(source);\n } else if (!animated) {\n values[key] = source;\n }\n });\n return values;\n }\n\n setValue(source) {\n this.source = source;\n this.payload = this._makePayload(source);\n }\n\n reset() {\n if (this.payload) {\n each(this.payload, node => node.reset());\n }\n }\n\n _makePayload(source) {\n if (source) {\n const payload = new Set();\n eachProp(source, this._addToPayload, payload);\n return Array.from(payload);\n }\n }\n\n _addToPayload(source) {\n if (TreeContext.dependencies && hasFluidValue(source)) {\n TreeContext.dependencies.add(source);\n }\n\n const payload = getPayload(source);\n\n if (payload) {\n each(payload, node => this.add(node));\n }\n }\n\n}\n\nclass AnimatedArray extends AnimatedObject {\n constructor(source) {\n super(source);\n }\n\n static create(source) {\n return new AnimatedArray(source);\n }\n\n getValue() {\n return this.source.map(node => node.getValue());\n }\n\n setValue(source) {\n const payload = this.getPayload();\n\n if (source.length == payload.length) {\n return payload.map((node, i) => node.setValue(source[i])).some(Boolean);\n }\n\n super.setValue(source.map(makeAnimated));\n return true;\n }\n\n}\n\nfunction makeAnimated(value) {\n const nodeType = isAnimatedString(value) ? AnimatedString : AnimatedValue;\n return nodeType.create(value);\n}\n\nfunction getAnimatedType(value) {\n const parentNode = getAnimated(value);\n return parentNode ? parentNode.constructor : is.arr(value) ? AnimatedArray : isAnimatedString(value) ? AnimatedString : AnimatedValue;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nconst withAnimated = (Component, host) => {\n const hasInstance = !is.fun(Component) || Component.prototype && Component.prototype.isReactComponent;\n return forwardRef((givenProps, givenRef) => {\n const instanceRef = useRef(null);\n const ref = hasInstance && useCallback(value => {\n instanceRef.current = updateRef(givenRef, value);\n }, [givenRef]);\n const [props, deps] = getAnimatedState(givenProps, host);\n const forceUpdate = useForceUpdate();\n\n const callback = () => {\n const instance = instanceRef.current;\n\n if (hasInstance && !instance) {\n return;\n }\n\n const didUpdate = instance ? host.applyAnimatedValues(instance, props.getValue(true)) : false;\n\n if (didUpdate === false) {\n forceUpdate();\n }\n };\n\n const observer = new PropsObserver(callback, deps);\n const observerRef = useRef();\n useLayoutEffect(() => {\n observerRef.current = observer;\n each(deps, dep => addFluidObserver(dep, observer));\n return () => {\n if (observerRef.current) {\n each(observerRef.current.deps, dep => removeFluidObserver(dep, observerRef.current));\n raf.cancel(observerRef.current.update);\n }\n };\n });\n useEffect(callback, []);\n useOnce(() => () => {\n const observer = observerRef.current;\n each(observer.deps, dep => removeFluidObserver(dep, observer));\n });\n const usedProps = host.getComponentProps(props.getValue());\n return React.createElement(Component, _extends({}, usedProps, {\n ref: ref\n }));\n });\n};\n\nclass PropsObserver {\n constructor(update, deps) {\n this.update = update;\n this.deps = deps;\n }\n\n eventObserved(event) {\n if (event.type == 'change') {\n raf.write(this.update);\n }\n }\n\n}\n\nfunction getAnimatedState(props, host) {\n const dependencies = new Set();\n TreeContext.dependencies = dependencies;\n if (props.style) props = _extends({}, props, {\n style: host.createAnimatedStyle(props.style)\n });\n props = new AnimatedObject(props);\n TreeContext.dependencies = null;\n return [props, dependencies];\n}\n\nfunction updateRef(ref, value) {\n if (ref) {\n if (is.fun(ref)) ref(value);else ref.current = value;\n }\n\n return value;\n}\n\nconst cacheKey = Symbol.for('AnimatedComponent');\nconst createHost = (components, {\n applyAnimatedValues: _applyAnimatedValues = () => false,\n createAnimatedStyle: _createAnimatedStyle = style => new AnimatedObject(style),\n getComponentProps: _getComponentProps = props => props\n} = {}) => {\n const hostConfig = {\n applyAnimatedValues: _applyAnimatedValues,\n createAnimatedStyle: _createAnimatedStyle,\n getComponentProps: _getComponentProps\n };\n\n const animated = Component => {\n const displayName = getDisplayName(Component) || 'Anonymous';\n\n if (is.str(Component)) {\n Component = animated[Component] || (animated[Component] = withAnimated(Component, hostConfig));\n } else {\n Component = Component[cacheKey] || (Component[cacheKey] = withAnimated(Component, hostConfig));\n }\n\n Component.displayName = `Animated(${displayName})`;\n return Component;\n };\n\n eachProp(components, (Component, key) => {\n if (is.arr(components)) {\n key = getDisplayName(Component);\n }\n\n animated[key] = animated(Component);\n });\n return {\n animated\n };\n};\n\nconst getDisplayName = arg => is.str(arg) ? arg : arg && is.str(arg.displayName) ? arg.displayName : is.fun(arg) && arg.name || null;\n\nexport { Animated, AnimatedArray, AnimatedObject, AnimatedString, AnimatedValue, createHost, getAnimated, getAnimatedType, getPayload, isAnimated, setAnimated };\n","import { eachProp, is, toArray, isAnimatedString, Globals, getFluidValue, useLayoutEffect, each, raf, flush, FluidValue, deprecateInterpolate, callFluidObservers, frameLoop, hasFluidValue, flushCalls, isEqual, getFluidObservers, addFluidObserver, removeFluidObserver, noop, useMemoOne, deprecateDirectCall, useForceUpdate, usePrev, useOnce, createInterpolator, createStringInterpolator } from '@react-spring/shared';\nexport { Globals, createInterpolator } from '@react-spring/shared';\nimport * as React from 'react';\nimport { useContext, useMemo, useRef, useState } from 'react';\nimport { getAnimated, AnimatedValue, getPayload, AnimatedString, getAnimatedType, setAnimated } from '@react-spring/animated';\nexport * from '@react-spring/types/animated';\nexport * from '@react-spring/types/interpolation';\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction callProp(value, ...args) {\n return is.fun(value) ? value(...args) : value;\n}\nconst matchProp = (value, key) => value === true || !!(key && value && (is.fun(value) ? value(key) : toArray(value).includes(key)));\nconst resolveProp = (prop, key) => is.obj(prop) ? key && prop[key] : prop;\nconst getDefaultProp = (props, key) => props.default === true ? props[key] : props.default ? props.default[key] : undefined;\n\nconst noopTransform = value => value;\n\nconst getDefaultProps = (props, transform = noopTransform) => {\n let keys = DEFAULT_PROPS;\n\n if (props.default && props.default !== true) {\n props = props.default;\n keys = Object.keys(props);\n }\n\n const defaults = {};\n\n for (const key of keys) {\n const value = transform(props[key], key);\n\n if (!is.und(value)) {\n defaults[key] = value;\n }\n }\n\n return defaults;\n};\nconst DEFAULT_PROPS = ['config', 'onProps', 'onStart', 'onChange', 'onPause', 'onResume', 'onRest'];\nconst RESERVED_PROPS = {\n config: 1,\n from: 1,\n to: 1,\n ref: 1,\n loop: 1,\n reset: 1,\n pause: 1,\n cancel: 1,\n reverse: 1,\n immediate: 1,\n default: 1,\n delay: 1,\n onProps: 1,\n onStart: 1,\n onChange: 1,\n onPause: 1,\n onResume: 1,\n onRest: 1,\n onResolve: 1,\n items: 1,\n trail: 1,\n sort: 1,\n expires: 1,\n initial: 1,\n enter: 1,\n update: 1,\n leave: 1,\n children: 1,\n onDestroyed: 1,\n keys: 1,\n callId: 1,\n parentId: 1\n};\n\nfunction getForwardProps(props) {\n const forward = {};\n let count = 0;\n eachProp(props, (value, prop) => {\n if (!RESERVED_PROPS[prop]) {\n forward[prop] = value;\n count++;\n }\n });\n\n if (count) {\n return forward;\n }\n}\n\nfunction inferTo(props) {\n const to = getForwardProps(props);\n\n if (to) {\n const out = {\n to\n };\n eachProp(props, (val, key) => key in to || (out[key] = val));\n return out;\n }\n\n return _extends({}, props);\n}\nfunction computeGoal(value) {\n value = getFluidValue(value);\n return is.arr(value) ? value.map(computeGoal) : isAnimatedString(value) ? Globals.createStringInterpolator({\n range: [0, 1],\n output: [value, value]\n })(1) : value;\n}\nfunction hasProps(props) {\n for (const _ in props) return true;\n\n return false;\n}\nfunction isAsyncTo(to) {\n return is.fun(to) || is.arr(to) && is.obj(to[0]);\n}\nfunction detachRefs(ctrl, ref) {\n var _ctrl$ref;\n\n (_ctrl$ref = ctrl.ref) == null ? void 0 : _ctrl$ref.delete(ctrl);\n ref == null ? void 0 : ref.delete(ctrl);\n}\nfunction replaceRef(ctrl, ref) {\n if (ref && ctrl.ref !== ref) {\n var _ctrl$ref2;\n\n (_ctrl$ref2 = ctrl.ref) == null ? void 0 : _ctrl$ref2.delete(ctrl);\n ref.add(ctrl);\n ctrl.ref = ref;\n }\n}\n\nfunction useChain(refs, timeSteps, timeFrame = 1000) {\n useLayoutEffect(() => {\n if (timeSteps) {\n let prevDelay = 0;\n each(refs, (ref, i) => {\n const controllers = ref.current;\n\n if (controllers.length) {\n let delay = timeFrame * timeSteps[i];\n if (isNaN(delay)) delay = prevDelay;else prevDelay = delay;\n each(controllers, ctrl => {\n each(ctrl.queue, props => {\n const memoizedDelayProp = props.delay;\n\n props.delay = key => delay + callProp(memoizedDelayProp || 0, key);\n });\n });\n ref.start();\n }\n });\n } else {\n let p = Promise.resolve();\n each(refs, ref => {\n const controllers = ref.current;\n\n if (controllers.length) {\n const queues = controllers.map(ctrl => {\n const q = ctrl.queue;\n ctrl.queue = [];\n return q;\n });\n p = p.then(() => {\n each(controllers, (ctrl, i) => each(queues[i] || [], update => ctrl.queue.push(update)));\n return Promise.all(ref.start());\n });\n }\n });\n }\n });\n}\n\nconst config = {\n default: {\n tension: 170,\n friction: 26\n },\n gentle: {\n tension: 120,\n friction: 14\n },\n wobbly: {\n tension: 180,\n friction: 12\n },\n stiff: {\n tension: 210,\n friction: 20\n },\n slow: {\n tension: 280,\n friction: 60\n },\n molasses: {\n tension: 280,\n friction: 120\n }\n};\nconst c1 = 1.70158;\nconst c2 = c1 * 1.525;\nconst c3 = c1 + 1;\nconst c4 = 2 * Math.PI / 3;\nconst c5 = 2 * Math.PI / 4.5;\n\nconst bounceOut = x => {\n const n1 = 7.5625;\n const d1 = 2.75;\n\n if (x < 1 / d1) {\n return n1 * x * x;\n } else if (x < 2 / d1) {\n return n1 * (x -= 1.5 / d1) * x + 0.75;\n } else if (x < 2.5 / d1) {\n return n1 * (x -= 2.25 / d1) * x + 0.9375;\n } else {\n return n1 * (x -= 2.625 / d1) * x + 0.984375;\n }\n};\n\nconst easings = {\n linear: x => x,\n easeInQuad: x => x * x,\n easeOutQuad: x => 1 - (1 - x) * (1 - x),\n easeInOutQuad: x => x < 0.5 ? 2 * x * x : 1 - Math.pow(-2 * x + 2, 2) / 2,\n easeInCubic: x => x * x * x,\n easeOutCubic: x => 1 - Math.pow(1 - x, 3),\n easeInOutCubic: x => x < 0.5 ? 4 * x * x * x : 1 - Math.pow(-2 * x + 2, 3) / 2,\n easeInQuart: x => x * x * x * x,\n easeOutQuart: x => 1 - Math.pow(1 - x, 4),\n easeInOutQuart: x => x < 0.5 ? 8 * x * x * x * x : 1 - Math.pow(-2 * x + 2, 4) / 2,\n easeInQuint: x => x * x * x * x * x,\n easeOutQuint: x => 1 - Math.pow(1 - x, 5),\n easeInOutQuint: x => x < 0.5 ? 16 * x * x * x * x * x : 1 - Math.pow(-2 * x + 2, 5) / 2,\n easeInSine: x => 1 - Math.cos(x * Math.PI / 2),\n easeOutSine: x => Math.sin(x * Math.PI / 2),\n easeInOutSine: x => -(Math.cos(Math.PI * x) - 1) / 2,\n easeInExpo: x => x === 0 ? 0 : Math.pow(2, 10 * x - 10),\n easeOutExpo: x => x === 1 ? 1 : 1 - Math.pow(2, -10 * x),\n easeInOutExpo: x => x === 0 ? 0 : x === 1 ? 1 : x < 0.5 ? Math.pow(2, 20 * x - 10) / 2 : (2 - Math.pow(2, -20 * x + 10)) / 2,\n easeInCirc: x => 1 - Math.sqrt(1 - Math.pow(x, 2)),\n easeOutCirc: x => Math.sqrt(1 - Math.pow(x - 1, 2)),\n easeInOutCirc: x => x < 0.5 ? (1 - Math.sqrt(1 - Math.pow(2 * x, 2))) / 2 : (Math.sqrt(1 - Math.pow(-2 * x + 2, 2)) + 1) / 2,\n easeInBack: x => c3 * x * x * x - c1 * x * x,\n easeOutBack: x => 1 + c3 * Math.pow(x - 1, 3) + c1 * Math.pow(x - 1, 2),\n easeInOutBack: x => x < 0.5 ? Math.pow(2 * x, 2) * ((c2 + 1) * 2 * x - c2) / 2 : (Math.pow(2 * x - 2, 2) * ((c2 + 1) * (x * 2 - 2) + c2) + 2) / 2,\n easeInElastic: x => x === 0 ? 0 : x === 1 ? 1 : -Math.pow(2, 10 * x - 10) * Math.sin((x * 10 - 10.75) * c4),\n easeOutElastic: x => x === 0 ? 0 : x === 1 ? 1 : Math.pow(2, -10 * x) * Math.sin((x * 10 - 0.75) * c4) + 1,\n easeInOutElastic: x => x === 0 ? 0 : x === 1 ? 1 : x < 0.5 ? -(Math.pow(2, 20 * x - 10) * Math.sin((20 * x - 11.125) * c5)) / 2 : Math.pow(2, -20 * x + 10) * Math.sin((20 * x - 11.125) * c5) / 2 + 1,\n easeInBounce: x => 1 - bounceOut(1 - x),\n easeOutBounce: bounceOut,\n easeInOutBounce: x => x < 0.5 ? (1 - bounceOut(1 - 2 * x)) / 2 : (1 + bounceOut(2 * x - 1)) / 2\n};\n\nconst defaults = _extends({}, config.default, {\n mass: 1,\n damping: 1,\n easing: easings.linear,\n clamp: false\n});\n\nclass AnimationConfig {\n constructor() {\n this.tension = void 0;\n this.friction = void 0;\n this.frequency = void 0;\n this.damping = void 0;\n this.mass = void 0;\n this.velocity = 0;\n this.restVelocity = void 0;\n this.precision = void 0;\n this.progress = void 0;\n this.duration = void 0;\n this.easing = void 0;\n this.clamp = void 0;\n this.bounce = void 0;\n this.decay = void 0;\n this.round = void 0;\n Object.assign(this, defaults);\n }\n\n}\nfunction mergeConfig(config, newConfig, defaultConfig) {\n if (defaultConfig) {\n defaultConfig = _extends({}, defaultConfig);\n sanitizeConfig(defaultConfig, newConfig);\n newConfig = _extends({}, defaultConfig, newConfig);\n }\n\n sanitizeConfig(config, newConfig);\n Object.assign(config, newConfig);\n\n for (const key in defaults) {\n if (config[key] == null) {\n config[key] = defaults[key];\n }\n }\n\n let {\n mass,\n frequency,\n damping\n } = config;\n\n if (!is.und(frequency)) {\n if (frequency < 0.01) frequency = 0.01;\n if (damping < 0) damping = 0;\n config.tension = Math.pow(2 * Math.PI / frequency, 2) * mass;\n config.friction = 4 * Math.PI * damping * mass / frequency;\n }\n\n return config;\n}\n\nfunction sanitizeConfig(config, props) {\n if (!is.und(props.decay)) {\n config.duration = undefined;\n } else {\n const isTensionConfig = !is.und(props.tension) || !is.und(props.friction);\n\n if (isTensionConfig || !is.und(props.frequency) || !is.und(props.damping) || !is.und(props.mass)) {\n config.duration = undefined;\n config.decay = undefined;\n }\n\n if (isTensionConfig) {\n config.frequency = undefined;\n }\n }\n}\n\nconst emptyArray = [];\nclass Animation {\n constructor() {\n this.changed = false;\n this.values = emptyArray;\n this.toValues = null;\n this.fromValues = emptyArray;\n this.to = void 0;\n this.from = void 0;\n this.config = new AnimationConfig();\n this.immediate = false;\n }\n\n}\n\nfunction scheduleProps(callId, {\n key,\n props,\n defaultProps,\n state,\n actions\n}) {\n return new Promise((resolve, reject) => {\n var _props$cancel;\n\n let delay;\n let timeout;\n let cancel = matchProp((_props$cancel = props.cancel) != null ? _props$cancel : defaultProps == null ? void 0 : defaultProps.cancel, key);\n\n if (cancel) {\n onStart();\n } else {\n if (!is.und(props.pause)) {\n state.paused = matchProp(props.pause, key);\n }\n\n let pause = defaultProps == null ? void 0 : defaultProps.pause;\n\n if (pause !== true) {\n pause = state.paused || matchProp(pause, key);\n }\n\n delay = callProp(props.delay || 0, key);\n\n if (pause) {\n state.resumeQueue.add(onResume);\n actions.pause();\n } else {\n actions.resume();\n onResume();\n }\n }\n\n function onPause() {\n state.resumeQueue.add(onResume);\n state.timeouts.delete(timeout);\n timeout.cancel();\n delay = timeout.time - raf.now();\n }\n\n function onResume() {\n if (delay > 0 && !Globals.skipAnimation) {\n state.delayed = true;\n timeout = raf.setTimeout(onStart, delay);\n state.pauseQueue.add(onPause);\n state.timeouts.add(timeout);\n } else {\n onStart();\n }\n }\n\n function onStart() {\n if (state.delayed) {\n state.delayed = false;\n }\n\n state.pauseQueue.delete(onPause);\n state.timeouts.delete(timeout);\n\n if (callId <= (state.cancelId || 0)) {\n cancel = true;\n }\n\n try {\n actions.start(_extends({}, props, {\n callId,\n cancel\n }), resolve);\n } catch (err) {\n reject(err);\n }\n }\n });\n}\n\nconst getCombinedResult = (target, results) => results.length == 1 ? results[0] : results.some(result => result.cancelled) ? getCancelledResult(target.get()) : results.every(result => result.noop) ? getNoopResult(target.get()) : getFinishedResult(target.get(), results.every(result => result.finished));\nconst getNoopResult = value => ({\n value,\n noop: true,\n finished: true,\n cancelled: false\n});\nconst getFinishedResult = (value, finished, cancelled = false) => ({\n value,\n finished,\n cancelled\n});\nconst getCancelledResult = value => ({\n value,\n cancelled: true,\n finished: false\n});\n\nfunction runAsync(to, props, state, target) {\n const {\n callId,\n parentId,\n onRest\n } = props;\n const {\n asyncTo: prevTo,\n promise: prevPromise\n } = state;\n\n if (!parentId && to === prevTo && !props.reset) {\n return prevPromise;\n }\n\n return state.promise = (async () => {\n state.asyncId = callId;\n state.asyncTo = to;\n const defaultProps = getDefaultProps(props, (value, key) => key === 'onRest' ? undefined : value);\n let preventBail;\n let bail;\n const bailPromise = new Promise((resolve, reject) => (preventBail = resolve, bail = reject));\n\n const bailIfEnded = bailSignal => {\n const bailResult = callId <= (state.cancelId || 0) && getCancelledResult(target) || callId !== state.asyncId && getFinishedResult(target, false);\n\n if (bailResult) {\n bailSignal.result = bailResult;\n bail(bailSignal);\n throw bailSignal;\n }\n };\n\n const animate = (arg1, arg2) => {\n const bailSignal = new BailSignal();\n const skipAnimationSignal = new SkipAniamtionSignal();\n return (async () => {\n if (Globals.skipAnimation) {\n stopAsync(state);\n skipAnimationSignal.result = getFinishedResult(target, false);\n bail(skipAnimationSignal);\n throw skipAnimationSignal;\n }\n\n bailIfEnded(bailSignal);\n const props = is.obj(arg1) ? _extends({}, arg1) : _extends({}, arg2, {\n to: arg1\n });\n props.parentId = callId;\n eachProp(defaultProps, (value, key) => {\n if (is.und(props[key])) {\n props[key] = value;\n }\n });\n const result = await target.start(props);\n bailIfEnded(bailSignal);\n\n if (state.paused) {\n await new Promise(resume => {\n state.resumeQueue.add(resume);\n });\n }\n\n return result;\n })();\n };\n\n let result;\n\n if (Globals.skipAnimation) {\n stopAsync(state);\n return getFinishedResult(target, false);\n }\n\n try {\n let animating;\n\n if (is.arr(to)) {\n animating = (async queue => {\n for (const props of queue) {\n await animate(props);\n }\n })(to);\n } else {\n animating = Promise.resolve(to(animate, target.stop.bind(target)));\n }\n\n await Promise.all([animating.then(preventBail), bailPromise]);\n result = getFinishedResult(target.get(), true, false);\n } catch (err) {\n if (err instanceof BailSignal) {\n result = err.result;\n } else if (err instanceof SkipAniamtionSignal) {\n result = err.result;\n } else {\n throw err;\n }\n } finally {\n if (callId == state.asyncId) {\n state.asyncId = parentId;\n state.asyncTo = parentId ? prevTo : undefined;\n state.promise = parentId ? prevPromise : undefined;\n }\n }\n\n if (is.fun(onRest)) {\n raf.batchedUpdates(() => {\n onRest(result, target, target.item);\n });\n }\n\n return result;\n })();\n}\nfunction stopAsync(state, cancelId) {\n flush(state.timeouts, t => t.cancel());\n state.pauseQueue.clear();\n state.resumeQueue.clear();\n state.asyncId = state.asyncTo = state.promise = undefined;\n if (cancelId) state.cancelId = cancelId;\n}\nclass BailSignal extends Error {\n constructor() {\n super('An async animation has been interrupted. You see this error because you ' + 'forgot to use `await` or `.catch(...)` on its returned promise.');\n this.result = void 0;\n }\n\n}\nclass SkipAniamtionSignal extends Error {\n constructor() {\n super('SkipAnimationSignal');\n this.result = void 0;\n }\n\n}\n\nconst isFrameValue = value => value instanceof FrameValue;\nlet nextId$1 = 1;\nclass FrameValue extends FluidValue {\n constructor(...args) {\n super(...args);\n this.id = nextId$1++;\n this.key = void 0;\n this._priority = 0;\n }\n\n get priority() {\n return this._priority;\n }\n\n set priority(priority) {\n if (this._priority != priority) {\n this._priority = priority;\n\n this._onPriorityChange(priority);\n }\n }\n\n get() {\n const node = getAnimated(this);\n return node && node.getValue();\n }\n\n to(...args) {\n return Globals.to(this, args);\n }\n\n interpolate(...args) {\n deprecateInterpolate();\n return Globals.to(this, args);\n }\n\n toJSON() {\n return this.get();\n }\n\n observerAdded(count) {\n if (count == 1) this._attach();\n }\n\n observerRemoved(count) {\n if (count == 0) this._detach();\n }\n\n _attach() {}\n\n _detach() {}\n\n _onChange(value, idle = false) {\n callFluidObservers(this, {\n type: 'change',\n parent: this,\n value,\n idle\n });\n }\n\n _onPriorityChange(priority) {\n if (!this.idle) {\n frameLoop.sort(this);\n }\n\n callFluidObservers(this, {\n type: 'priority',\n parent: this,\n priority\n });\n }\n\n}\n\nconst $P = Symbol.for('SpringPhase');\nconst HAS_ANIMATED = 1;\nconst IS_ANIMATING = 2;\nconst IS_PAUSED = 4;\nconst hasAnimated = target => (target[$P] & HAS_ANIMATED) > 0;\nconst isAnimating = target => (target[$P] & IS_ANIMATING) > 0;\nconst isPaused = target => (target[$P] & IS_PAUSED) > 0;\nconst setActiveBit = (target, active) => active ? target[$P] |= IS_ANIMATING | HAS_ANIMATED : target[$P] &= ~IS_ANIMATING;\nconst setPausedBit = (target, paused) => paused ? target[$P] |= IS_PAUSED : target[$P] &= ~IS_PAUSED;\n\nclass SpringValue extends FrameValue {\n constructor(arg1, arg2) {\n super();\n this.key = void 0;\n this.animation = new Animation();\n this.queue = void 0;\n this.defaultProps = {};\n this._state = {\n paused: false,\n delayed: false,\n pauseQueue: new Set(),\n resumeQueue: new Set(),\n timeouts: new Set()\n };\n this._pendingCalls = new Set();\n this._lastCallId = 0;\n this._lastToId = 0;\n this._memoizedDuration = 0;\n\n if (!is.und(arg1) || !is.und(arg2)) {\n const props = is.obj(arg1) ? _extends({}, arg1) : _extends({}, arg2, {\n from: arg1\n });\n\n if (is.und(props.default)) {\n props.default = true;\n }\n\n this.start(props);\n }\n }\n\n get idle() {\n return !(isAnimating(this) || this._state.asyncTo) || isPaused(this);\n }\n\n get goal() {\n return getFluidValue(this.animation.to);\n }\n\n get velocity() {\n const node = getAnimated(this);\n return node instanceof AnimatedValue ? node.lastVelocity || 0 : node.getPayload().map(node => node.lastVelocity || 0);\n }\n\n get hasAnimated() {\n return hasAnimated(this);\n }\n\n get isAnimating() {\n return isAnimating(this);\n }\n\n get isPaused() {\n return isPaused(this);\n }\n\n get isDelayed() {\n return this._state.delayed;\n }\n\n advance(dt) {\n let idle = true;\n let changed = false;\n const anim = this.animation;\n let {\n config,\n toValues\n } = anim;\n const payload = getPayload(anim.to);\n\n if (!payload && hasFluidValue(anim.to)) {\n toValues = toArray(getFluidValue(anim.to));\n }\n\n anim.values.forEach((node, i) => {\n if (node.done) return;\n const to = node.constructor == AnimatedString ? 1 : payload ? payload[i].lastPosition : toValues[i];\n let finished = anim.immediate;\n let position = to;\n\n if (!finished) {\n position = node.lastPosition;\n\n if (config.tension <= 0) {\n node.done = true;\n return;\n }\n\n let elapsed = node.elapsedTime += dt;\n const from = anim.fromValues[i];\n const v0 = node.v0 != null ? node.v0 : node.v0 = is.arr(config.velocity) ? config.velocity[i] : config.velocity;\n let velocity;\n\n if (!is.und(config.duration)) {\n let p = 1;\n\n if (config.duration > 0) {\n if (this._memoizedDuration !== config.duration) {\n this._memoizedDuration = config.duration;\n\n if (node.durationProgress > 0) {\n node.elapsedTime = config.duration * node.durationProgress;\n elapsed = node.elapsedTime += dt;\n }\n }\n\n p = (config.progress || 0) + elapsed / this._memoizedDuration;\n p = p > 1 ? 1 : p < 0 ? 0 : p;\n node.durationProgress = p;\n }\n\n position = from + config.easing(p) * (to - from);\n velocity = (position - node.lastPosition) / dt;\n finished = p == 1;\n } else if (config.decay) {\n const decay = config.decay === true ? 0.998 : config.decay;\n const e = Math.exp(-(1 - decay) * elapsed);\n position = from + v0 / (1 - decay) * (1 - e);\n finished = Math.abs(node.lastPosition - position) < 0.1;\n velocity = v0 * e;\n } else {\n velocity = node.lastVelocity == null ? v0 : node.lastVelocity;\n const precision = config.precision || (from == to ? 0.005 : Math.min(1, Math.abs(to - from) * 0.001));\n const restVelocity = config.restVelocity || precision / 10;\n const bounceFactor = config.clamp ? 0 : config.bounce;\n const canBounce = !is.und(bounceFactor);\n const isGrowing = from == to ? node.v0 > 0 : from < to;\n let isMoving;\n let isBouncing = false;\n const step = 1;\n const numSteps = Math.ceil(dt / step);\n\n for (let n = 0; n < numSteps; ++n) {\n isMoving = Math.abs(velocity) > restVelocity;\n\n if (!isMoving) {\n finished = Math.abs(to - position) <= precision;\n\n if (finished) {\n break;\n }\n }\n\n if (canBounce) {\n isBouncing = position == to || position > to == isGrowing;\n\n if (isBouncing) {\n velocity = -velocity * bounceFactor;\n position = to;\n }\n }\n\n const springForce = -config.tension * 0.000001 * (position - to);\n const dampingForce = -config.friction * 0.001 * velocity;\n const acceleration = (springForce + dampingForce) / config.mass;\n velocity = velocity + acceleration * step;\n position = position + velocity * step;\n }\n }\n\n node.lastVelocity = velocity;\n\n if (Number.isNaN(position)) {\n console.warn(`Got NaN while animating:`, this);\n finished = true;\n }\n }\n\n if (payload && !payload[i].done) {\n finished = false;\n }\n\n if (finished) {\n node.done = true;\n } else {\n idle = false;\n }\n\n if (node.setValue(position, config.round)) {\n changed = true;\n }\n });\n const node = getAnimated(this);\n const currVal = node.getValue();\n\n if (idle) {\n const finalVal = getFluidValue(anim.to);\n\n if ((currVal !== finalVal || changed) && !config.decay) {\n node.setValue(finalVal);\n\n this._onChange(finalVal);\n } else if (changed && config.decay) {\n this._onChange(currVal);\n }\n\n this._stop();\n } else if (changed) {\n this._onChange(currVal);\n }\n }\n\n set(value) {\n raf.batchedUpdates(() => {\n this._stop();\n\n this._focus(value);\n\n this._set(value);\n });\n return this;\n }\n\n pause() {\n this._update({\n pause: true\n });\n }\n\n resume() {\n this._update({\n pause: false\n });\n }\n\n finish() {\n if (isAnimating(this)) {\n const {\n to,\n config\n } = this.animation;\n raf.batchedUpdates(() => {\n this._onStart();\n\n if (!config.decay) {\n this._set(to, false);\n }\n\n this._stop();\n });\n }\n\n return this;\n }\n\n update(props) {\n const queue = this.queue || (this.queue = []);\n queue.push(props);\n return this;\n }\n\n start(to, arg2) {\n let queue;\n\n if (!is.und(to)) {\n queue = [is.obj(to) ? to : _extends({}, arg2, {\n to\n })];\n } else {\n queue = this.queue || [];\n this.queue = [];\n }\n\n return Promise.all(queue.map(props => {\n const up = this._update(props);\n\n return up;\n })).then(results => getCombinedResult(this, results));\n }\n\n stop(cancel) {\n const {\n to\n } = this.animation;\n\n this._focus(this.get());\n\n stopAsync(this._state, cancel && this._lastCallId);\n raf.batchedUpdates(() => this._stop(to, cancel));\n return this;\n }\n\n reset() {\n this._update({\n reset: true\n });\n }\n\n eventObserved(event) {\n if (event.type == 'change') {\n this._start();\n } else if (event.type == 'priority') {\n this.priority = event.priority + 1;\n }\n }\n\n _prepareNode(props) {\n const key = this.key || '';\n let {\n to,\n from\n } = props;\n to = is.obj(to) ? to[key] : to;\n\n if (to == null || isAsyncTo(to)) {\n to = undefined;\n }\n\n from = is.obj(from) ? from[key] : from;\n\n if (from == null) {\n from = undefined;\n }\n\n const range = {\n to,\n from\n };\n\n if (!hasAnimated(this)) {\n if (props.reverse) [to, from] = [from, to];\n from = getFluidValue(from);\n\n if (!is.und(from)) {\n this._set(from);\n } else if (!getAnimated(this)) {\n this._set(to);\n }\n }\n\n return range;\n }\n\n _update(_ref, isLoop) {\n let props = _extends({}, _ref);\n\n const {\n key,\n defaultProps\n } = this;\n if (props.default) Object.assign(defaultProps, getDefaultProps(props, (value, prop) => /^on/.test(prop) ? resolveProp(value, key) : value));\n mergeActiveFn(this, props, 'onProps');\n sendEvent(this, 'onProps', props, this);\n\n const range = this._prepareNode(props);\n\n if (Object.isFrozen(this)) {\n throw Error('Cannot animate a `SpringValue` object that is frozen. ' + 'Did you forget to pass your component to `animated(...)` before animating its props?');\n }\n\n const state = this._state;\n return scheduleProps(++this._lastCallId, {\n key,\n props,\n defaultProps,\n state,\n actions: {\n pause: () => {\n if (!isPaused(this)) {\n setPausedBit(this, true);\n flushCalls(state.pauseQueue);\n sendEvent(this, 'onPause', getFinishedResult(this, checkFinished(this, this.animation.to)), this);\n }\n },\n resume: () => {\n if (isPaused(this)) {\n setPausedBit(this, false);\n\n if (isAnimating(this)) {\n this._resume();\n }\n\n flushCalls(state.resumeQueue);\n sendEvent(this, 'onResume', getFinishedResult(this, checkFinished(this, this.animation.to)), this);\n }\n },\n start: this._merge.bind(this, range)\n }\n }).then(result => {\n if (props.loop && result.finished && !(isLoop && result.noop)) {\n const nextProps = createLoopUpdate(props);\n\n if (nextProps) {\n return this._update(nextProps, true);\n }\n }\n\n return result;\n });\n }\n\n _merge(range, props, resolve) {\n if (props.cancel) {\n this.stop(true);\n return resolve(getCancelledResult(this));\n }\n\n const hasToProp = !is.und(range.to);\n const hasFromProp = !is.und(range.from);\n\n if (hasToProp || hasFromProp) {\n if (props.callId > this._lastToId) {\n this._lastToId = props.callId;\n } else {\n return resolve(getCancelledResult(this));\n }\n }\n\n const {\n key,\n defaultProps,\n animation: anim\n } = this;\n const {\n to: prevTo,\n from: prevFrom\n } = anim;\n let {\n to = prevTo,\n from = prevFrom\n } = range;\n\n if (hasFromProp && !hasToProp && (!props.default || is.und(to))) {\n to = from;\n }\n\n if (props.reverse) [to, from] = [from, to];\n const hasFromChanged = !isEqual(from, prevFrom);\n\n if (hasFromChanged) {\n anim.from = from;\n }\n\n from = getFluidValue(from);\n const hasToChanged = !isEqual(to, prevTo);\n\n if (hasToChanged) {\n this._focus(to);\n }\n\n const hasAsyncTo = isAsyncTo(props.to);\n const {\n config\n } = anim;\n const {\n decay,\n velocity\n } = config;\n\n if (hasToProp || hasFromProp) {\n config.velocity = 0;\n }\n\n if (props.config && !hasAsyncTo) {\n mergeConfig(config, callProp(props.config, key), props.config !== defaultProps.config ? callProp(defaultProps.config, key) : void 0);\n }\n\n let node = getAnimated(this);\n\n if (!node || is.und(to)) {\n return resolve(getFinishedResult(this, true));\n }\n\n const reset = is.und(props.reset) ? hasFromProp && !props.default : !is.und(from) && matchProp(props.reset, key);\n const value = reset ? from : this.get();\n const goal = computeGoal(to);\n const isAnimatable = is.num(goal) || is.arr(goal) || isAnimatedString(goal);\n const immediate = !hasAsyncTo && (!isAnimatable || matchProp(defaultProps.immediate || props.immediate, key));\n\n if (hasToChanged) {\n const nodeType = getAnimatedType(to);\n\n if (nodeType !== node.constructor) {\n if (immediate) {\n node = this._set(goal);\n } else throw Error(`Cannot animate between ${node.constructor.name} and ${nodeType.name}, as the \"to\" prop suggests`);\n }\n }\n\n const goalType = node.constructor;\n let started = hasFluidValue(to);\n let finished = false;\n\n if (!started) {\n const hasValueChanged = reset || !hasAnimated(this) && hasFromChanged;\n\n if (hasToChanged || hasValueChanged) {\n finished = isEqual(computeGoal(value), goal);\n started = !finished;\n }\n\n if (!isEqual(anim.immediate, immediate) && !immediate || !isEqual(config.decay, decay) || !isEqual(config.velocity, velocity)) {\n started = true;\n }\n }\n\n if (finished && isAnimating(this)) {\n if (anim.changed && !reset) {\n started = true;\n } else if (!started) {\n this._stop(prevTo);\n }\n }\n\n if (!hasAsyncTo) {\n if (started || hasFluidValue(prevTo)) {\n anim.values = node.getPayload();\n anim.toValues = hasFluidValue(to) ? null : goalType == AnimatedString ? [1] : toArray(goal);\n }\n\n if (anim.immediate != immediate) {\n anim.immediate = immediate;\n\n if (!immediate && !reset) {\n this._set(prevTo);\n }\n }\n\n if (started) {\n const {\n onRest\n } = anim;\n each(ACTIVE_EVENTS, type => mergeActiveFn(this, props, type));\n const result = getFinishedResult(this, checkFinished(this, prevTo));\n flushCalls(this._pendingCalls, result);\n\n this._pendingCalls.add(resolve);\n\n if (anim.changed) raf.batchedUpdates(() => {\n anim.changed = !reset;\n onRest == null ? void 0 : onRest(result, this);\n\n if (reset) {\n callProp(defaultProps.onRest, result);\n } else {\n anim.onStart == null ? void 0 : anim.onStart(result, this);\n }\n });\n }\n }\n\n if (reset) {\n this._set(value);\n }\n\n if (hasAsyncTo) {\n resolve(runAsync(props.to, props, this._state, this));\n } else if (started) {\n this._start();\n } else if (isAnimating(this) && !hasToChanged) {\n this._pendingCalls.add(resolve);\n } else {\n resolve(getNoopResult(value));\n }\n }\n\n _focus(value) {\n const anim = this.animation;\n\n if (value !== anim.to) {\n if (getFluidObservers(this)) {\n this._detach();\n }\n\n anim.to = value;\n\n if (getFluidObservers(this)) {\n this._attach();\n }\n }\n }\n\n _attach() {\n let priority = 0;\n const {\n to\n } = this.animation;\n\n if (hasFluidValue(to)) {\n addFluidObserver(to, this);\n\n if (isFrameValue(to)) {\n priority = to.priority + 1;\n }\n }\n\n this.priority = priority;\n }\n\n _detach() {\n const {\n to\n } = this.animation;\n\n if (hasFluidValue(to)) {\n removeFluidObserver(to, this);\n }\n }\n\n _set(arg, idle = true) {\n const value = getFluidValue(arg);\n\n if (!is.und(value)) {\n const oldNode = getAnimated(this);\n\n if (!oldNode || !isEqual(value, oldNode.getValue())) {\n const nodeType = getAnimatedType(value);\n\n if (!oldNode || oldNode.constructor != nodeType) {\n setAnimated(this, nodeType.create(value));\n } else {\n oldNode.setValue(value);\n }\n\n if (oldNode) {\n raf.batchedUpdates(() => {\n this._onChange(value, idle);\n });\n }\n }\n }\n\n return getAnimated(this);\n }\n\n _onStart() {\n const anim = this.animation;\n\n if (!anim.changed) {\n anim.changed = true;\n sendEvent(this, 'onStart', getFinishedResult(this, checkFinished(this, anim.to)), this);\n }\n }\n\n _onChange(value, idle) {\n if (!idle) {\n this._onStart();\n\n callProp(this.animation.onChange, value, this);\n }\n\n callProp(this.defaultProps.onChange, value, this);\n\n super._onChange(value, idle);\n }\n\n _start() {\n const anim = this.animation;\n getAnimated(this).reset(getFluidValue(anim.to));\n\n if (!anim.immediate) {\n anim.fromValues = anim.values.map(node => node.lastPosition);\n }\n\n if (!isAnimating(this)) {\n setActiveBit(this, true);\n\n if (!isPaused(this)) {\n this._resume();\n }\n }\n }\n\n _resume() {\n if (Globals.skipAnimation) {\n this.finish();\n } else {\n frameLoop.start(this);\n }\n }\n\n _stop(goal, cancel) {\n if (isAnimating(this)) {\n setActiveBit(this, false);\n const anim = this.animation;\n each(anim.values, node => {\n node.done = true;\n });\n\n if (anim.toValues) {\n anim.onChange = anim.onPause = anim.onResume = undefined;\n }\n\n callFluidObservers(this, {\n type: 'idle',\n parent: this\n });\n const result = cancel ? getCancelledResult(this.get()) : getFinishedResult(this.get(), checkFinished(this, goal != null ? goal : anim.to));\n flushCalls(this._pendingCalls, result);\n\n if (anim.changed) {\n anim.changed = false;\n sendEvent(this, 'onRest', result, this);\n }\n }\n }\n\n}\n\nfunction checkFinished(target, to) {\n const goal = computeGoal(to);\n const value = computeGoal(target.get());\n return isEqual(value, goal);\n}\n\nfunction createLoopUpdate(props, loop = props.loop, to = props.to) {\n let loopRet = callProp(loop);\n\n if (loopRet) {\n const overrides = loopRet !== true && inferTo(loopRet);\n const reverse = (overrides || props).reverse;\n const reset = !overrides || overrides.reset;\n return createUpdate(_extends({}, props, {\n loop,\n default: false,\n pause: undefined,\n to: !reverse || isAsyncTo(to) ? to : undefined,\n from: reset ? props.from : undefined,\n reset\n }, overrides));\n }\n}\nfunction createUpdate(props) {\n const {\n to,\n from\n } = props = inferTo(props);\n const keys = new Set();\n if (is.obj(to)) findDefined(to, keys);\n if (is.obj(from)) findDefined(from, keys);\n props.keys = keys.size ? Array.from(keys) : null;\n return props;\n}\nfunction declareUpdate(props) {\n const update = createUpdate(props);\n\n if (is.und(update.default)) {\n update.default = getDefaultProps(update);\n }\n\n return update;\n}\n\nfunction findDefined(values, keys) {\n eachProp(values, (value, key) => value != null && keys.add(key));\n}\n\nconst ACTIVE_EVENTS = ['onStart', 'onRest', 'onChange', 'onPause', 'onResume'];\n\nfunction mergeActiveFn(target, props, type) {\n target.animation[type] = props[type] !== getDefaultProp(props, type) ? resolveProp(props[type], target.key) : undefined;\n}\n\nfunction sendEvent(target, type, ...args) {\n var _target$animation$typ, _target$animation, _target$defaultProps$, _target$defaultProps;\n\n (_target$animation$typ = (_target$animation = target.animation)[type]) == null ? void 0 : _target$animation$typ.call(_target$animation, ...args);\n (_target$defaultProps$ = (_target$defaultProps = target.defaultProps)[type]) == null ? void 0 : _target$defaultProps$.call(_target$defaultProps, ...args);\n}\n\nconst BATCHED_EVENTS = ['onStart', 'onChange', 'onRest'];\nlet nextId = 1;\nclass Controller {\n constructor(props, flush) {\n this.id = nextId++;\n this.springs = {};\n this.queue = [];\n this.ref = void 0;\n this._flush = void 0;\n this._initialProps = void 0;\n this._lastAsyncId = 0;\n this._active = new Set();\n this._changed = new Set();\n this._started = false;\n this._item = void 0;\n this._state = {\n paused: false,\n pauseQueue: new Set(),\n resumeQueue: new Set(),\n timeouts: new Set()\n };\n this._events = {\n onStart: new Map(),\n onChange: new Map(),\n onRest: new Map()\n };\n this._onFrame = this._onFrame.bind(this);\n\n if (flush) {\n this._flush = flush;\n }\n\n if (props) {\n this.start(_extends({\n default: true\n }, props));\n }\n }\n\n get idle() {\n return !this._state.asyncTo && Object.values(this.springs).every(spring => {\n return spring.idle && !spring.isDelayed && !spring.isPaused;\n });\n }\n\n get item() {\n return this._item;\n }\n\n set item(item) {\n this._item = item;\n }\n\n get() {\n const values = {};\n this.each((spring, key) => values[key] = spring.get());\n return values;\n }\n\n set(values) {\n for (const key in values) {\n const value = values[key];\n\n if (!is.und(value)) {\n this.springs[key].set(value);\n }\n }\n }\n\n update(props) {\n if (props) {\n this.queue.push(createUpdate(props));\n }\n\n return this;\n }\n\n start(props) {\n let {\n queue\n } = this;\n\n if (props) {\n queue = toArray(props).map(createUpdate);\n } else {\n this.queue = [];\n }\n\n if (this._flush) {\n return this._flush(this, queue);\n }\n\n prepareKeys(this, queue);\n return flushUpdateQueue(this, queue);\n }\n\n stop(arg, keys) {\n if (arg !== !!arg) {\n keys = arg;\n }\n\n if (keys) {\n const springs = this.springs;\n each(toArray(keys), key => springs[key].stop(!!arg));\n } else {\n stopAsync(this._state, this._lastAsyncId);\n this.each(spring => spring.stop(!!arg));\n }\n\n return this;\n }\n\n pause(keys) {\n if (is.und(keys)) {\n this.start({\n pause: true\n });\n } else {\n const springs = this.springs;\n each(toArray(keys), key => springs[key].pause());\n }\n\n return this;\n }\n\n resume(keys) {\n if (is.und(keys)) {\n this.start({\n pause: false\n });\n } else {\n const springs = this.springs;\n each(toArray(keys), key => springs[key].resume());\n }\n\n return this;\n }\n\n each(iterator) {\n eachProp(this.springs, iterator);\n }\n\n _onFrame() {\n const {\n onStart,\n onChange,\n onRest\n } = this._events;\n const active = this._active.size > 0;\n const changed = this._changed.size > 0;\n\n if (active && !this._started || changed && !this._started) {\n this._started = true;\n flush(onStart, ([onStart, result]) => {\n result.value = this.get();\n onStart(result, this, this._item);\n });\n }\n\n const idle = !active && this._started;\n const values = changed || idle && onRest.size ? this.get() : null;\n\n if (changed && onChange.size) {\n flush(onChange, ([onChange, result]) => {\n result.value = values;\n onChange(result, this, this._item);\n });\n }\n\n if (idle) {\n this._started = false;\n flush(onRest, ([onRest, result]) => {\n result.value = values;\n onRest(result, this, this._item);\n });\n }\n }\n\n eventObserved(event) {\n if (event.type == 'change') {\n this._changed.add(event.parent);\n\n if (!event.idle) {\n this._active.add(event.parent);\n }\n } else if (event.type == 'idle') {\n this._active.delete(event.parent);\n } else return;\n\n raf.onFrame(this._onFrame);\n }\n\n}\nfunction flushUpdateQueue(ctrl, queue) {\n return Promise.all(queue.map(props => flushUpdate(ctrl, props))).then(results => getCombinedResult(ctrl, results));\n}\nasync function flushUpdate(ctrl, props, isLoop) {\n const {\n keys,\n to,\n from,\n loop,\n onRest,\n onResolve\n } = props;\n const defaults = is.obj(props.default) && props.default;\n\n if (loop) {\n props.loop = false;\n }\n\n if (to === false) props.to = null;\n if (from === false) props.from = null;\n const asyncTo = is.arr(to) || is.fun(to) ? to : undefined;\n\n if (asyncTo) {\n props.to = undefined;\n props.onRest = undefined;\n\n if (defaults) {\n defaults.onRest = undefined;\n }\n } else {\n each(BATCHED_EVENTS, key => {\n const handler = props[key];\n\n if (is.fun(handler)) {\n const queue = ctrl['_events'][key];\n\n props[key] = ({\n finished,\n cancelled\n }) => {\n const result = queue.get(handler);\n\n if (result) {\n if (!finished) result.finished = false;\n if (cancelled) result.cancelled = true;\n } else {\n queue.set(handler, {\n value: null,\n finished: finished || false,\n cancelled: cancelled || false\n });\n }\n };\n\n if (defaults) {\n defaults[key] = props[key];\n }\n }\n });\n }\n\n const state = ctrl['_state'];\n\n if (props.pause === !state.paused) {\n state.paused = props.pause;\n flushCalls(props.pause ? state.pauseQueue : state.resumeQueue);\n } else if (state.paused) {\n props.pause = true;\n }\n\n const promises = (keys || Object.keys(ctrl.springs)).map(key => ctrl.springs[key].start(props));\n const cancel = props.cancel === true || getDefaultProp(props, 'cancel') === true;\n\n if (asyncTo || cancel && state.asyncId) {\n promises.push(scheduleProps(++ctrl['_lastAsyncId'], {\n props,\n state,\n actions: {\n pause: noop,\n resume: noop,\n\n start(props, resolve) {\n if (cancel) {\n stopAsync(state, ctrl['_lastAsyncId']);\n resolve(getCancelledResult(ctrl));\n } else {\n props.onRest = onRest;\n resolve(runAsync(asyncTo, props, state, ctrl));\n }\n }\n\n }\n }));\n }\n\n if (state.paused) {\n await new Promise(resume => {\n state.resumeQueue.add(resume);\n });\n }\n\n const result = getCombinedResult(ctrl, await Promise.all(promises));\n\n if (loop && result.finished && !(isLoop && result.noop)) {\n const nextProps = createLoopUpdate(props, loop, to);\n\n if (nextProps) {\n prepareKeys(ctrl, [nextProps]);\n return flushUpdate(ctrl, nextProps, true);\n }\n }\n\n if (onResolve) {\n raf.batchedUpdates(() => onResolve(result, ctrl, ctrl.item));\n }\n\n return result;\n}\nfunction getSprings(ctrl, props) {\n const springs = _extends({}, ctrl.springs);\n\n if (props) {\n each(toArray(props), props => {\n if (is.und(props.keys)) {\n props = createUpdate(props);\n }\n\n if (!is.obj(props.to)) {\n props = _extends({}, props, {\n to: undefined\n });\n }\n\n prepareSprings(springs, props, key => {\n return createSpring(key);\n });\n });\n }\n\n setSprings(ctrl, springs);\n return springs;\n}\nfunction setSprings(ctrl, springs) {\n eachProp(springs, (spring, key) => {\n if (!ctrl.springs[key]) {\n ctrl.springs[key] = spring;\n addFluidObserver(spring, ctrl);\n }\n });\n}\n\nfunction createSpring(key, observer) {\n const spring = new SpringValue();\n spring.key = key;\n\n if (observer) {\n addFluidObserver(spring, observer);\n }\n\n return spring;\n}\n\nfunction prepareSprings(springs, props, create) {\n if (props.keys) {\n each(props.keys, key => {\n const spring = springs[key] || (springs[key] = create(key));\n spring['_prepareNode'](props);\n });\n }\n}\n\nfunction prepareKeys(ctrl, queue) {\n each(queue, props => {\n prepareSprings(ctrl.springs, props, key => {\n return createSpring(key, ctrl);\n });\n });\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nconst _excluded$3 = [\"children\"];\nconst SpringContext = _ref => {\n let {\n children\n } = _ref,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$3);\n\n const inherited = useContext(ctx);\n const pause = props.pause || !!inherited.pause,\n immediate = props.immediate || !!inherited.immediate;\n props = useMemoOne(() => ({\n pause,\n immediate\n }), [pause, immediate]);\n const {\n Provider\n } = ctx;\n return React.createElement(Provider, {\n value: props\n }, children);\n};\nconst ctx = makeContext(SpringContext, {});\nSpringContext.Provider = ctx.Provider;\nSpringContext.Consumer = ctx.Consumer;\n\nfunction makeContext(target, init) {\n Object.assign(target, React.createContext(init));\n target.Provider._context = target;\n target.Consumer._context = target;\n return target;\n}\n\nconst SpringRef = () => {\n const current = [];\n\n const SpringRef = function SpringRef(props) {\n deprecateDirectCall();\n const results = [];\n each(current, (ctrl, i) => {\n if (is.und(props)) {\n results.push(ctrl.start());\n } else {\n const update = _getProps(props, ctrl, i);\n\n if (update) {\n results.push(ctrl.start(update));\n }\n }\n });\n return results;\n };\n\n SpringRef.current = current;\n\n SpringRef.add = function (ctrl) {\n if (!current.includes(ctrl)) {\n current.push(ctrl);\n }\n };\n\n SpringRef.delete = function (ctrl) {\n const i = current.indexOf(ctrl);\n if (~i) current.splice(i, 1);\n };\n\n SpringRef.pause = function () {\n each(current, ctrl => ctrl.pause(...arguments));\n return this;\n };\n\n SpringRef.resume = function () {\n each(current, ctrl => ctrl.resume(...arguments));\n return this;\n };\n\n SpringRef.set = function (values) {\n each(current, ctrl => ctrl.set(values));\n };\n\n SpringRef.start = function (props) {\n const results = [];\n each(current, (ctrl, i) => {\n if (is.und(props)) {\n results.push(ctrl.start());\n } else {\n const update = this._getProps(props, ctrl, i);\n\n if (update) {\n results.push(ctrl.start(update));\n }\n }\n });\n return results;\n };\n\n SpringRef.stop = function () {\n each(current, ctrl => ctrl.stop(...arguments));\n return this;\n };\n\n SpringRef.update = function (props) {\n each(current, (ctrl, i) => ctrl.update(this._getProps(props, ctrl, i)));\n return this;\n };\n\n const _getProps = function _getProps(arg, ctrl, index) {\n return is.fun(arg) ? arg(index, ctrl) : arg;\n };\n\n SpringRef._getProps = _getProps;\n return SpringRef;\n};\n\nfunction useSprings(length, props, deps) {\n const propsFn = is.fun(props) && props;\n if (propsFn && !deps) deps = [];\n const ref = useMemo(() => propsFn || arguments.length == 3 ? SpringRef() : void 0, []);\n const layoutId = useRef(0);\n const forceUpdate = useForceUpdate();\n const state = useMemo(() => ({\n ctrls: [],\n queue: [],\n\n flush(ctrl, updates) {\n const springs = getSprings(ctrl, updates);\n const canFlushSync = layoutId.current > 0 && !state.queue.length && !Object.keys(springs).some(key => !ctrl.springs[key]);\n return canFlushSync ? flushUpdateQueue(ctrl, updates) : new Promise(resolve => {\n setSprings(ctrl, springs);\n state.queue.push(() => {\n resolve(flushUpdateQueue(ctrl, updates));\n });\n forceUpdate();\n });\n }\n\n }), []);\n const ctrls = useRef([...state.ctrls]);\n const updates = [];\n const prevLength = usePrev(length) || 0;\n useMemo(() => {\n each(ctrls.current.slice(length, prevLength), ctrl => {\n detachRefs(ctrl, ref);\n ctrl.stop(true);\n });\n ctrls.current.length = length;\n declareUpdates(prevLength, length);\n }, [length]);\n useMemo(() => {\n declareUpdates(0, Math.min(prevLength, length));\n }, deps);\n\n function declareUpdates(startIndex, endIndex) {\n for (let i = startIndex; i < endIndex; i++) {\n const ctrl = ctrls.current[i] || (ctrls.current[i] = new Controller(null, state.flush));\n const update = propsFn ? propsFn(i, ctrl) : props[i];\n\n if (update) {\n updates[i] = declareUpdate(update);\n }\n }\n }\n\n const springs = ctrls.current.map((ctrl, i) => getSprings(ctrl, updates[i]));\n const context = useContext(SpringContext);\n const prevContext = usePrev(context);\n const hasContext = context !== prevContext && hasProps(context);\n useLayoutEffect(() => {\n layoutId.current++;\n state.ctrls = ctrls.current;\n const {\n queue\n } = state;\n\n if (queue.length) {\n state.queue = [];\n each(queue, cb => cb());\n }\n\n each(ctrls.current, (ctrl, i) => {\n ref == null ? void 0 : ref.add(ctrl);\n\n if (hasContext) {\n ctrl.start({\n default: context\n });\n }\n\n const update = updates[i];\n\n if (update) {\n replaceRef(ctrl, update.ref);\n\n if (ctrl.ref) {\n ctrl.queue.push(update);\n } else {\n ctrl.start(update);\n }\n }\n });\n });\n useOnce(() => () => {\n each(state.ctrls, ctrl => ctrl.stop(true));\n });\n const values = springs.map(x => _extends({}, x));\n return ref ? [values, ref] : values;\n}\n\nfunction useSpring(props, deps) {\n const isFn = is.fun(props);\n const [[values], ref] = useSprings(1, isFn ? props : [props], isFn ? deps || [] : deps);\n return isFn || arguments.length == 2 ? [values, ref] : values;\n}\n\nconst initSpringRef = () => SpringRef();\n\nconst useSpringRef = () => useState(initSpringRef)[0];\n\nfunction useTrail(length, propsArg, deps) {\n var _passedRef;\n\n const propsFn = is.fun(propsArg) && propsArg;\n if (propsFn && !deps) deps = [];\n let reverse = true;\n let passedRef = undefined;\n const result = useSprings(length, (i, ctrl) => {\n const props = propsFn ? propsFn(i, ctrl) : propsArg;\n passedRef = props.ref;\n reverse = reverse && props.reverse;\n return props;\n }, deps || [{}]);\n const ref = (_passedRef = passedRef) != null ? _passedRef : result[1];\n useLayoutEffect(() => {\n each(ref.current, (ctrl, i) => {\n const parent = ref.current[i + (reverse ? 1 : -1)];\n\n if (parent) {\n ctrl.start({\n to: parent.springs\n });\n } else {\n ctrl.start();\n }\n });\n }, deps);\n\n if (propsFn || arguments.length == 3) {\n ref['_getProps'] = (propsArg, ctrl, i) => {\n const props = is.fun(propsArg) ? propsArg(i, ctrl) : propsArg;\n\n if (props) {\n const parent = ref.current[i + (props.reverse ? 1 : -1)];\n if (parent) props.to = parent.springs;\n return props;\n }\n };\n\n return result;\n }\n\n ref['start'] = propsArg => {\n const results = [];\n each(ref.current, (ctrl, i) => {\n const props = is.fun(propsArg) ? propsArg(i, ctrl) : propsArg;\n const parent = ref.current[i + (reverse ? 1 : -1)];\n\n if (parent) {\n results.push(ctrl.start(_extends({}, props, {\n to: parent.springs\n })));\n } else {\n results.push(ctrl.start(_extends({}, props)));\n }\n });\n return results;\n };\n\n return result[0];\n}\n\nlet TransitionPhase;\n\n(function (TransitionPhase) {\n TransitionPhase[\"MOUNT\"] = \"mount\";\n TransitionPhase[\"ENTER\"] = \"enter\";\n TransitionPhase[\"UPDATE\"] = \"update\";\n TransitionPhase[\"LEAVE\"] = \"leave\";\n})(TransitionPhase || (TransitionPhase = {}));\n\nfunction useTransition(data, props, deps) {\n const propsFn = is.fun(props) && props;\n const {\n reset,\n sort,\n trail = 0,\n expires = true,\n exitBeforeEnter = false,\n onDestroyed,\n ref: propsRef,\n config: propsConfig\n } = propsFn ? propsFn() : props;\n const ref = useMemo(() => propsFn || arguments.length == 3 ? SpringRef() : void 0, []);\n const items = toArray(data);\n const transitions = [];\n const usedTransitions = useRef(null);\n const prevTransitions = reset ? null : usedTransitions.current;\n useLayoutEffect(() => {\n usedTransitions.current = transitions;\n });\n useOnce(() => {\n each(usedTransitions.current, t => {\n var _t$ctrl$ref;\n\n (_t$ctrl$ref = t.ctrl.ref) == null ? void 0 : _t$ctrl$ref.add(t.ctrl);\n const change = changes.get(t);\n\n if (change) {\n t.ctrl.start(change.payload);\n }\n });\n return () => {\n each(usedTransitions.current, t => {\n if (t.expired) {\n clearTimeout(t.expirationId);\n }\n\n detachRefs(t.ctrl, ref);\n t.ctrl.stop(true);\n });\n };\n });\n const keys = getKeys(items, propsFn ? propsFn() : props, prevTransitions);\n const expired = reset && usedTransitions.current || [];\n useLayoutEffect(() => each(expired, ({\n ctrl,\n item,\n key\n }) => {\n detachRefs(ctrl, ref);\n callProp(onDestroyed, item, key);\n }));\n const reused = [];\n if (prevTransitions) each(prevTransitions, (t, i) => {\n if (t.expired) {\n clearTimeout(t.expirationId);\n expired.push(t);\n } else {\n i = reused[i] = keys.indexOf(t.key);\n if (~i) transitions[i] = t;\n }\n });\n each(items, (item, i) => {\n if (!transitions[i]) {\n transitions[i] = {\n key: keys[i],\n item,\n phase: TransitionPhase.MOUNT,\n ctrl: new Controller()\n };\n transitions[i].ctrl.item = item;\n }\n });\n\n if (reused.length) {\n let i = -1;\n const {\n leave\n } = propsFn ? propsFn() : props;\n each(reused, (keyIndex, prevIndex) => {\n const t = prevTransitions[prevIndex];\n\n if (~keyIndex) {\n i = transitions.indexOf(t);\n transitions[i] = _extends({}, t, {\n item: items[keyIndex]\n });\n } else if (leave) {\n transitions.splice(++i, 0, t);\n }\n });\n }\n\n if (is.fun(sort)) {\n transitions.sort((a, b) => sort(a.item, b.item));\n }\n\n let delay = -trail;\n const forceUpdate = useForceUpdate();\n const defaultProps = getDefaultProps(props);\n const changes = new Map();\n const exitingTransitions = useRef(new Map());\n const forceChange = useRef(false);\n each(transitions, (t, i) => {\n const key = t.key;\n const prevPhase = t.phase;\n const p = propsFn ? propsFn() : props;\n let to;\n let phase;\n let propsDelay = callProp(p.delay || 0, key);\n\n if (prevPhase == TransitionPhase.MOUNT) {\n to = p.enter;\n phase = TransitionPhase.ENTER;\n } else {\n const isLeave = keys.indexOf(key) < 0;\n\n if (prevPhase != TransitionPhase.LEAVE) {\n if (isLeave) {\n to = p.leave;\n phase = TransitionPhase.LEAVE;\n } else if (to = p.update) {\n phase = TransitionPhase.UPDATE;\n } else return;\n } else if (!isLeave) {\n to = p.enter;\n phase = TransitionPhase.ENTER;\n } else return;\n }\n\n to = callProp(to, t.item, i);\n to = is.obj(to) ? inferTo(to) : {\n to\n };\n\n if (!to.config) {\n const config = propsConfig || defaultProps.config;\n to.config = callProp(config, t.item, i, phase);\n }\n\n delay += trail;\n\n const payload = _extends({}, defaultProps, {\n delay: propsDelay + delay,\n ref: propsRef,\n immediate: p.immediate,\n reset: false\n }, to);\n\n if (phase == TransitionPhase.ENTER && is.und(payload.from)) {\n const _p = propsFn ? propsFn() : props;\n\n const from = is.und(_p.initial) || prevTransitions ? _p.from : _p.initial;\n payload.from = callProp(from, t.item, i);\n }\n\n const {\n onResolve\n } = payload;\n\n payload.onResolve = result => {\n callProp(onResolve, result);\n const transitions = usedTransitions.current;\n const t = transitions.find(t => t.key === key);\n if (!t) return;\n\n if (result.cancelled && t.phase != TransitionPhase.UPDATE) {\n return;\n }\n\n if (t.ctrl.idle) {\n const idle = transitions.every(t => t.ctrl.idle);\n\n if (t.phase == TransitionPhase.LEAVE) {\n const expiry = callProp(expires, t.item);\n\n if (expiry !== false) {\n const expiryMs = expiry === true ? 0 : expiry;\n t.expired = true;\n\n if (!idle && expiryMs > 0) {\n if (expiryMs <= 0x7fffffff) t.expirationId = setTimeout(forceUpdate, expiryMs);\n return;\n }\n }\n }\n\n if (idle && transitions.some(t => t.expired)) {\n exitingTransitions.current.delete(t);\n\n if (exitBeforeEnter) {\n forceChange.current = true;\n }\n\n forceUpdate();\n }\n }\n };\n\n const springs = getSprings(t.ctrl, payload);\n\n if (phase === TransitionPhase.LEAVE && exitBeforeEnter) {\n exitingTransitions.current.set(t, {\n phase,\n springs,\n payload\n });\n } else {\n changes.set(t, {\n phase,\n springs,\n payload\n });\n }\n });\n const context = useContext(SpringContext);\n const prevContext = usePrev(context);\n const hasContext = context !== prevContext && hasProps(context);\n useLayoutEffect(() => {\n if (hasContext) {\n each(transitions, t => {\n t.ctrl.start({\n default: context\n });\n });\n }\n }, [context]);\n each(changes, (_, t) => {\n if (exitingTransitions.current.size) {\n const ind = transitions.findIndex(state => state.key === t.key);\n transitions.splice(ind, 1);\n }\n });\n useLayoutEffect(() => {\n each(exitingTransitions.current.size ? exitingTransitions.current : changes, ({\n phase,\n payload\n }, t) => {\n const {\n ctrl\n } = t;\n t.phase = phase;\n ref == null ? void 0 : ref.add(ctrl);\n\n if (hasContext && phase == TransitionPhase.ENTER) {\n ctrl.start({\n default: context\n });\n }\n\n if (payload) {\n replaceRef(ctrl, payload.ref);\n\n if (ctrl.ref && !forceChange.current) {\n ctrl.update(payload);\n } else {\n ctrl.start(payload);\n\n if (forceChange.current) {\n forceChange.current = false;\n }\n }\n }\n });\n }, reset ? void 0 : deps);\n\n const renderTransitions = render => React.createElement(React.Fragment, null, transitions.map((t, i) => {\n const {\n springs\n } = changes.get(t) || t.ctrl;\n const elem = render(_extends({}, springs), t.item, t, i);\n return elem && elem.type ? React.createElement(elem.type, _extends({}, elem.props, {\n key: is.str(t.key) || is.num(t.key) ? t.key : t.ctrl.id,\n ref: elem.ref\n })) : elem;\n }));\n\n return ref ? [renderTransitions, ref] : renderTransitions;\n}\nlet nextKey = 1;\n\nfunction getKeys(items, {\n key,\n keys = key\n}, prevTransitions) {\n if (keys === null) {\n const reused = new Set();\n return items.map(item => {\n const t = prevTransitions && prevTransitions.find(t => t.item === item && t.phase !== TransitionPhase.LEAVE && !reused.has(t));\n\n if (t) {\n reused.add(t);\n return t.key;\n }\n\n return nextKey++;\n });\n }\n\n return is.und(keys) ? items : is.fun(keys) ? items.map(keys) : toArray(keys);\n}\n\nconst _excluded$2 = [\"children\"];\nfunction Spring(_ref) {\n let {\n children\n } = _ref,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$2);\n\n return children(useSpring(props));\n}\n\nconst _excluded$1 = [\"items\", \"children\"];\nfunction Trail(_ref) {\n let {\n items,\n children\n } = _ref,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$1);\n\n const trails = useTrail(items.length, props);\n return items.map((item, index) => {\n const result = children(item, index);\n return is.fun(result) ? result(trails[index]) : result;\n });\n}\n\nconst _excluded = [\"items\", \"children\"];\nfunction Transition(_ref) {\n let {\n items,\n children\n } = _ref,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n return useTransition(items, props)(children);\n}\n\nclass Interpolation extends FrameValue {\n constructor(source, args) {\n super();\n this.key = void 0;\n this.idle = true;\n this.calc = void 0;\n this._active = new Set();\n this.source = source;\n this.calc = createInterpolator(...args);\n\n const value = this._get();\n\n const nodeType = getAnimatedType(value);\n setAnimated(this, nodeType.create(value));\n }\n\n advance(_dt) {\n const value = this._get();\n\n const oldValue = this.get();\n\n if (!isEqual(value, oldValue)) {\n getAnimated(this).setValue(value);\n\n this._onChange(value, this.idle);\n }\n\n if (!this.idle && checkIdle(this._active)) {\n becomeIdle(this);\n }\n }\n\n _get() {\n const inputs = is.arr(this.source) ? this.source.map(getFluidValue) : toArray(getFluidValue(this.source));\n return this.calc(...inputs);\n }\n\n _start() {\n if (this.idle && !checkIdle(this._active)) {\n this.idle = false;\n each(getPayload(this), node => {\n node.done = false;\n });\n\n if (Globals.skipAnimation) {\n raf.batchedUpdates(() => this.advance());\n becomeIdle(this);\n } else {\n frameLoop.start(this);\n }\n }\n }\n\n _attach() {\n let priority = 1;\n each(toArray(this.source), source => {\n if (hasFluidValue(source)) {\n addFluidObserver(source, this);\n }\n\n if (isFrameValue(source)) {\n if (!source.idle) {\n this._active.add(source);\n }\n\n priority = Math.max(priority, source.priority + 1);\n }\n });\n this.priority = priority;\n\n this._start();\n }\n\n _detach() {\n each(toArray(this.source), source => {\n if (hasFluidValue(source)) {\n removeFluidObserver(source, this);\n }\n });\n\n this._active.clear();\n\n becomeIdle(this);\n }\n\n eventObserved(event) {\n if (event.type == 'change') {\n if (event.idle) {\n this.advance();\n } else {\n this._active.add(event.parent);\n\n this._start();\n }\n } else if (event.type == 'idle') {\n this._active.delete(event.parent);\n } else if (event.type == 'priority') {\n this.priority = toArray(this.source).reduce((highest, parent) => Math.max(highest, (isFrameValue(parent) ? parent.priority : 0) + 1), 0);\n }\n }\n\n}\n\nfunction isIdle(source) {\n return source.idle !== false;\n}\n\nfunction checkIdle(active) {\n return !active.size || Array.from(active).every(isIdle);\n}\n\nfunction becomeIdle(self) {\n if (!self.idle) {\n self.idle = true;\n each(getPayload(self), node => {\n node.done = true;\n });\n callFluidObservers(self, {\n type: 'idle',\n parent: self\n });\n }\n}\n\nconst to = (source, ...args) => new Interpolation(source, args);\nconst interpolate = (source, ...args) => (deprecateInterpolate(), new Interpolation(source, args));\n\nGlobals.assign({\n createStringInterpolator,\n to: (source, args) => new Interpolation(source, args)\n});\nconst update = frameLoop.advance;\n\nexport { BailSignal, Controller, FrameValue, Interpolation, Spring, SpringContext, SpringRef, SpringValue, Trail, Transition, config, easings, inferTo, interpolate, to, update, useChain, useSpring, useSpringRef, useSprings, useTrail, useTransition };\n","import { Globals } from '@react-spring/core';\nexport * from '@react-spring/core';\nimport { unstable_batchedUpdates } from 'react-dom';\nimport { eachProp, is, toArray, FluidValue, each, getFluidValue, hasFluidValue, addFluidObserver, removeFluidObserver, callFluidObservers, createStringInterpolator, colors } from '@react-spring/shared';\nimport { AnimatedObject, createHost } from '@react-spring/animated';\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nconst _excluded$2 = [\"style\", \"children\", \"scrollTop\", \"scrollLeft\"];\nconst isCustomPropRE = /^--/;\n\nfunction dangerousStyleValue(name, value) {\n if (value == null || typeof value === 'boolean' || value === '') return '';\n if (typeof value === 'number' && value !== 0 && !isCustomPropRE.test(name) && !(isUnitlessNumber.hasOwnProperty(name) && isUnitlessNumber[name])) return value + 'px';\n return ('' + value).trim();\n}\n\nconst attributeCache = {};\nfunction applyAnimatedValues(instance, props) {\n if (!instance.nodeType || !instance.setAttribute) {\n return false;\n }\n\n const isFilterElement = instance.nodeName === 'filter' || instance.parentNode && instance.parentNode.nodeName === 'filter';\n\n const _ref = props,\n {\n style,\n children,\n scrollTop,\n scrollLeft\n } = _ref,\n attributes = _objectWithoutPropertiesLoose(_ref, _excluded$2);\n\n const values = Object.values(attributes);\n const names = Object.keys(attributes).map(name => isFilterElement || instance.hasAttribute(name) ? name : attributeCache[name] || (attributeCache[name] = name.replace(/([A-Z])/g, n => '-' + n.toLowerCase())));\n\n if (children !== void 0) {\n instance.textContent = children;\n }\n\n for (let name in style) {\n if (style.hasOwnProperty(name)) {\n const value = dangerousStyleValue(name, style[name]);\n\n if (isCustomPropRE.test(name)) {\n instance.style.setProperty(name, value);\n } else {\n instance.style[name] = value;\n }\n }\n }\n\n names.forEach((name, i) => {\n instance.setAttribute(name, values[i]);\n });\n\n if (scrollTop !== void 0) {\n instance.scrollTop = scrollTop;\n }\n\n if (scrollLeft !== void 0) {\n instance.scrollLeft = scrollLeft;\n }\n}\nlet isUnitlessNumber = {\n animationIterationCount: true,\n borderImageOutset: true,\n borderImageSlice: true,\n borderImageWidth: true,\n boxFlex: true,\n boxFlexGroup: true,\n boxOrdinalGroup: true,\n columnCount: true,\n columns: true,\n flex: true,\n flexGrow: true,\n flexPositive: true,\n flexShrink: true,\n flexNegative: true,\n flexOrder: true,\n gridRow: true,\n gridRowEnd: true,\n gridRowSpan: true,\n gridRowStart: true,\n gridColumn: true,\n gridColumnEnd: true,\n gridColumnSpan: true,\n gridColumnStart: true,\n fontWeight: true,\n lineClamp: true,\n lineHeight: true,\n opacity: true,\n order: true,\n orphans: true,\n tabSize: true,\n widows: true,\n zIndex: true,\n zoom: true,\n fillOpacity: true,\n floodOpacity: true,\n stopOpacity: true,\n strokeDasharray: true,\n strokeDashoffset: true,\n strokeMiterlimit: true,\n strokeOpacity: true,\n strokeWidth: true\n};\n\nconst prefixKey = (prefix, key) => prefix + key.charAt(0).toUpperCase() + key.substring(1);\n\nconst prefixes = ['Webkit', 'Ms', 'Moz', 'O'];\nisUnitlessNumber = Object.keys(isUnitlessNumber).reduce((acc, prop) => {\n prefixes.forEach(prefix => acc[prefixKey(prefix, prop)] = acc[prop]);\n return acc;\n}, isUnitlessNumber);\n\nconst _excluded$1 = [\"x\", \"y\", \"z\"];\nconst domTransforms = /^(matrix|translate|scale|rotate|skew)/;\nconst pxTransforms = /^(translate)/;\nconst degTransforms = /^(rotate|skew)/;\n\nconst addUnit = (value, unit) => is.num(value) && value !== 0 ? value + unit : value;\n\nconst isValueIdentity = (value, id) => is.arr(value) ? value.every(v => isValueIdentity(v, id)) : is.num(value) ? value === id : parseFloat(value) === id;\n\nclass AnimatedStyle extends AnimatedObject {\n constructor(_ref) {\n let {\n x,\n y,\n z\n } = _ref,\n style = _objectWithoutPropertiesLoose(_ref, _excluded$1);\n\n const inputs = [];\n const transforms = [];\n\n if (x || y || z) {\n inputs.push([x || 0, y || 0, z || 0]);\n transforms.push(xyz => [`translate3d(${xyz.map(v => addUnit(v, 'px')).join(',')})`, isValueIdentity(xyz, 0)]);\n }\n\n eachProp(style, (value, key) => {\n if (key === 'transform') {\n inputs.push([value || '']);\n transforms.push(transform => [transform, transform === '']);\n } else if (domTransforms.test(key)) {\n delete style[key];\n if (is.und(value)) return;\n const unit = pxTransforms.test(key) ? 'px' : degTransforms.test(key) ? 'deg' : '';\n inputs.push(toArray(value));\n transforms.push(key === 'rotate3d' ? ([x, y, z, deg]) => [`rotate3d(${x},${y},${z},${addUnit(deg, unit)})`, isValueIdentity(deg, 0)] : input => [`${key}(${input.map(v => addUnit(v, unit)).join(',')})`, isValueIdentity(input, key.startsWith('scale') ? 1 : 0)]);\n }\n });\n\n if (inputs.length) {\n style.transform = new FluidTransform(inputs, transforms);\n }\n\n super(style);\n }\n\n}\n\nclass FluidTransform extends FluidValue {\n constructor(inputs, transforms) {\n super();\n this._value = null;\n this.inputs = inputs;\n this.transforms = transforms;\n }\n\n get() {\n return this._value || (this._value = this._get());\n }\n\n _get() {\n let transform = '';\n let identity = true;\n each(this.inputs, (input, i) => {\n const arg1 = getFluidValue(input[0]);\n const [t, id] = this.transforms[i](is.arr(arg1) ? arg1 : input.map(getFluidValue));\n transform += ' ' + t;\n identity = identity && id;\n });\n return identity ? 'none' : transform;\n }\n\n observerAdded(count) {\n if (count == 1) each(this.inputs, input => each(input, value => hasFluidValue(value) && addFluidObserver(value, this)));\n }\n\n observerRemoved(count) {\n if (count == 0) each(this.inputs, input => each(input, value => hasFluidValue(value) && removeFluidObserver(value, this)));\n }\n\n eventObserved(event) {\n if (event.type == 'change') {\n this._value = null;\n }\n\n callFluidObservers(this, event);\n }\n\n}\n\nconst primitives = ['a', 'abbr', 'address', 'area', 'article', 'aside', 'audio', 'b', 'base', 'bdi', 'bdo', 'big', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'cite', 'code', 'col', 'colgroup', 'data', 'datalist', 'dd', 'del', 'details', 'dfn', 'dialog', 'div', 'dl', 'dt', 'em', 'embed', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'iframe', 'img', 'input', 'ins', 'kbd', 'keygen', 'label', 'legend', 'li', 'link', 'main', 'map', 'mark', 'menu', 'menuitem', 'meta', 'meter', 'nav', 'noscript', 'object', 'ol', 'optgroup', 'option', 'output', 'p', 'param', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'script', 'section', 'select', 'small', 'source', 'span', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'textarea', 'tfoot', 'th', 'thead', 'time', 'title', 'tr', 'track', 'u', 'ul', 'var', 'video', 'wbr', 'circle', 'clipPath', 'defs', 'ellipse', 'foreignObject', 'g', 'image', 'line', 'linearGradient', 'mask', 'path', 'pattern', 'polygon', 'polyline', 'radialGradient', 'rect', 'stop', 'svg', 'text', 'tspan'];\n\nconst _excluded = [\"scrollTop\", \"scrollLeft\"];\nGlobals.assign({\n batchedUpdates: unstable_batchedUpdates,\n createStringInterpolator,\n colors\n});\nconst host = createHost(primitives, {\n applyAnimatedValues,\n createAnimatedStyle: style => new AnimatedStyle(style),\n getComponentProps: _ref => {\n let props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n return props;\n }\n});\nconst animated = host.animated;\n\nexport { animated as a, animated };\n","import{memo as t,useRef as i,useMemo as o,createContext as n,useState as r,useCallback as e,useContext as l}from\"react\";import{useSpring as a,animated as c}from\"@react-spring/web\";import{useTheme as h,useMotionConfig as s,useMeasure as d,useValueFormatter as u}from\"@nivo/core\";import{jsx as y,jsxs as p,Fragment as f}from\"react/jsx-runtime\";function v(){return v=Object.assign||function(t){for(var i=1;i<arguments.length;i++){var o=arguments[i];for(var n in o)Object.prototype.hasOwnProperty.call(o,n)&&(t[n]=o[n])}return t},v.apply(this,arguments)}var x={pointerEvents:\"none\",position:\"absolute\",zIndex:10,top:0,left:0},m=function(t,i){return\"translate(\"+t+\"px, \"+i+\"px)\"},g=t((function(t){var o,n=t.position,r=t.anchor,e=t.children,l=h(),u=s(),p=u.animate,f=u.config,g=d(),b=g[0],w=g[1],T=i(!1),C=void 0,E=!1,P=w.width>0&&w.height>0,N=Math.round(n[0]),V=Math.round(n[1]);P&&(\"top\"===r?(N-=w.width/2,V-=w.height+14):\"right\"===r?(N+=14,V-=w.height/2):\"bottom\"===r?(N-=w.width/2,V+=14):\"left\"===r?(N-=w.width+14,V-=w.height/2):\"center\"===r&&(N-=w.width/2,V-=w.height/2),C={transform:m(N,V)},T.current||(E=!0),T.current=[N,V]);var j=a({to:C,config:f,immediate:!p||E}),O=v({},x,l.tooltip,{transform:null!=(o=j.transform)?o:m(N,V)});return y(c.div,{ref:b,style:O,children:e})}));g.displayName=\"TooltipWrapper\";var b=t((function(t){var i=t.size,o=void 0===i?12:i,n=t.color,r=t.style;return y(\"span\",{style:v({display:\"block\",width:o,height:o,background:n},void 0===r?{}:r)})})),w=t((function(t){var i,o=t.id,n=t.value,r=t.format,e=t.enableChip,l=void 0!==e&&e,a=t.color,c=t.renderContent,s=h(),d=u(r);if(\"function\"==typeof c)i=c();else{var f=n;void 0!==d&&void 0!==f&&(f=d(f)),i=p(\"div\",{style:s.tooltip.basic,children:[l&&y(b,{color:a,style:s.tooltip.chip}),void 0!==f?p(\"span\",{children:[o,\": \",y(\"strong\",{children:\"\"+f})]}):o]})}return y(\"div\",{style:s.tooltip.container,children:i})})),T={width:\"100%\",borderCollapse:\"collapse\"},C=t((function(t){var i,o=t.title,n=t.rows,r=void 0===n?[]:n,e=t.renderContent,l=h();return r.length?(i=\"function\"==typeof e?e():p(\"div\",{children:[o&&o,y(\"table\",{style:v({},T,l.tooltip.table),children:y(\"tbody\",{children:r.map((function(t,i){return y(\"tr\",{children:t.map((function(t,i){return y(\"td\",{style:l.tooltip.tableCell,children:t},i)}))},i)}))})})]}),y(\"div\",{style:l.tooltip.container,children:i})):null}));C.displayName=\"TableTooltip\";var E=t((function(t){var i=t.x0,n=t.x1,r=t.y0,e=t.y1,l=h(),d=s(),u=d.animate,p=d.config,f=o((function(){return v({},l.crosshair.line,{pointerEvents:\"none\"})}),[l.crosshair.line]),x=a({x1:i,x2:n,y1:r,y2:e,config:p,immediate:!u});return y(c.line,v({},x,{fill:\"none\",style:f}))}));E.displayName=\"CrosshairLine\";var P=t((function(t){var i,o,n=t.width,r=t.height,e=t.type,l=t.x,a=t.y;return\"cross\"===e?(i={x0:l,x1:l,y0:0,y1:r},o={x0:0,x1:n,y0:a,y1:a}):\"top-left\"===e?(i={x0:l,x1:l,y0:0,y1:a},o={x0:0,x1:l,y0:a,y1:a}):\"top\"===e?i={x0:l,x1:l,y0:0,y1:a}:\"top-right\"===e?(i={x0:l,x1:l,y0:0,y1:a},o={x0:l,x1:n,y0:a,y1:a}):\"right\"===e?o={x0:l,x1:n,y0:a,y1:a}:\"bottom-right\"===e?(i={x0:l,x1:l,y0:a,y1:r},o={x0:l,x1:n,y0:a,y1:a}):\"bottom\"===e?i={x0:l,x1:l,y0:a,y1:r}:\"bottom-left\"===e?(i={x0:l,x1:l,y0:a,y1:r},o={x0:0,x1:l,y0:a,y1:a}):\"left\"===e?o={x0:0,x1:l,y0:a,y1:a}:\"x\"===e?i={x0:l,x1:l,y0:0,y1:r}:\"y\"===e&&(o={x0:0,x1:n,y0:a,y1:a}),p(f,{children:[i&&y(E,{x0:i.x0,x1:i.x1,y0:i.y0,y1:i.y1}),o&&y(E,{x0:o.x0,x1:o.x1,y0:o.y0,y1:o.y1})]})}));P.displayName=\"Crosshair\";var N=n({showTooltipAt:function(){},showTooltipFromEvent:function(){},hideTooltip:function(){}}),V={isVisible:!1,position:[null,null],content:null,anchor:null},j=n(V),O=function(t){var i=r(V),n=i[0],l=i[1],a=e((function(t,i,o){var n=i[0],r=i[1];void 0===o&&(o=\"top\"),l({isVisible:!0,position:[n,r],anchor:o,content:t})}),[l]),c=e((function(i,o,n){void 0===n&&(n=\"top\");var r=t.current.getBoundingClientRect(),e=t.current.offsetWidth,a=e===r.width?1:e/r.width,c=(o.clientX-r.left)*a,h=(o.clientY-r.top)*a;\"left\"!==n&&\"right\"!==n||(n=c<r.width/2?\"right\":\"left\"),l({isVisible:!0,position:[c,h],anchor:n,content:i})}),[t,l]),h=e((function(){l(V)}),[l]);return{actions:o((function(){return{showTooltipAt:a,showTooltipFromEvent:c,hideTooltip:h}}),[a,c,h]),state:n}},k=function(){var t=l(N);if(void 0===t)throw new Error(\"useTooltip must be used within a TooltipProvider\");return t},z=function(){var t=l(j);if(void 0===t)throw new Error(\"useTooltipState must be used within a TooltipProvider\");return t},A=function(t){return t.isVisible},F=function(){var t=z();return A(t)?y(g,{position:t.position,anchor:t.anchor,children:t.content}):null},M=function(t){var i=t.container,o=t.children,n=O(i),r=n.actions,e=n.state;return y(N.Provider,{value:r,children:y(j.Provider,{value:e,children:o})})};export{w as BasicTooltip,b as Chip,P as Crosshair,C as TableTooltip,F as Tooltip,N as TooltipActionsContext,M as TooltipProvider,j as TooltipStateContext,g as TooltipWrapper,V as hiddenTooltipState,A as isVisibleTooltipState,k as useTooltip,O as useTooltipHandlers,z as useTooltipState};\n//# sourceMappingURL=nivo-tooltip.es.js.map\n","export default function(constructor, factory, prototype) {\n constructor.prototype = factory.prototype = prototype;\n prototype.constructor = constructor;\n}\n\nexport function extend(parent, definition) {\n var prototype = Object.create(parent.prototype);\n for (var key in definition) prototype[key] = definition[key];\n return prototype;\n}\n","import define, {extend} from \"./define.js\";\n\nexport function Color() {}\n\nexport var darker = 0.7;\nexport var brighter = 1 / darker;\n\nvar reI = \"\\\\s*([+-]?\\\\d+)\\\\s*\",\n reN = \"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",\n reP = \"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",\n reHex = /^#([0-9a-f]{3,8})$/,\n reRgbInteger = new RegExp(\"^rgb\\\\(\" + [reI, reI, reI] + \"\\\\)$\"),\n reRgbPercent = new RegExp(\"^rgb\\\\(\" + [reP, reP, reP] + \"\\\\)$\"),\n reRgbaInteger = new RegExp(\"^rgba\\\\(\" + [reI, reI, reI, reN] + \"\\\\)$\"),\n reRgbaPercent = new RegExp(\"^rgba\\\\(\" + [reP, reP, reP, reN] + \"\\\\)$\"),\n reHslPercent = new RegExp(\"^hsl\\\\(\" + [reN, reP, reP] + \"\\\\)$\"),\n reHslaPercent = new RegExp(\"^hsla\\\\(\" + [reN, reP, reP, reN] + \"\\\\)$\");\n\nvar named = {\n aliceblue: 0xf0f8ff,\n antiquewhite: 0xfaebd7,\n aqua: 0x00ffff,\n aquamarine: 0x7fffd4,\n azure: 0xf0ffff,\n beige: 0xf5f5dc,\n bisque: 0xffe4c4,\n black: 0x000000,\n blanchedalmond: 0xffebcd,\n blue: 0x0000ff,\n blueviolet: 0x8a2be2,\n brown: 0xa52a2a,\n burlywood: 0xdeb887,\n cadetblue: 0x5f9ea0,\n chartreuse: 0x7fff00,\n chocolate: 0xd2691e,\n coral: 0xff7f50,\n cornflowerblue: 0x6495ed,\n cornsilk: 0xfff8dc,\n crimson: 0xdc143c,\n cyan: 0x00ffff,\n darkblue: 0x00008b,\n darkcyan: 0x008b8b,\n darkgoldenrod: 0xb8860b,\n darkgray: 0xa9a9a9,\n darkgreen: 0x006400,\n darkgrey: 0xa9a9a9,\n darkkhaki: 0xbdb76b,\n darkmagenta: 0x8b008b,\n darkolivegreen: 0x556b2f,\n darkorange: 0xff8c00,\n darkorchid: 0x9932cc,\n darkred: 0x8b0000,\n darksalmon: 0xe9967a,\n darkseagreen: 0x8fbc8f,\n darkslateblue: 0x483d8b,\n darkslategray: 0x2f4f4f,\n darkslategrey: 0x2f4f4f,\n darkturquoise: 0x00ced1,\n darkviolet: 0x9400d3,\n deeppink: 0xff1493,\n deepskyblue: 0x00bfff,\n dimgray: 0x696969,\n dimgrey: 0x696969,\n dodgerblue: 0x1e90ff,\n firebrick: 0xb22222,\n floralwhite: 0xfffaf0,\n forestgreen: 0x228b22,\n fuchsia: 0xff00ff,\n gainsboro: 0xdcdcdc,\n ghostwhite: 0xf8f8ff,\n gold: 0xffd700,\n goldenrod: 0xdaa520,\n gray: 0x808080,\n green: 0x008000,\n greenyellow: 0xadff2f,\n grey: 0x808080,\n honeydew: 0xf0fff0,\n hotpink: 0xff69b4,\n indianred: 0xcd5c5c,\n indigo: 0x4b0082,\n ivory: 0xfffff0,\n khaki: 0xf0e68c,\n lavender: 0xe6e6fa,\n lavenderblush: 0xfff0f5,\n lawngreen: 0x7cfc00,\n lemonchiffon: 0xfffacd,\n lightblue: 0xadd8e6,\n lightcoral: 0xf08080,\n lightcyan: 0xe0ffff,\n lightgoldenrodyellow: 0xfafad2,\n lightgray: 0xd3d3d3,\n lightgreen: 0x90ee90,\n lightgrey: 0xd3d3d3,\n lightpink: 0xffb6c1,\n lightsalmon: 0xffa07a,\n lightseagreen: 0x20b2aa,\n lightskyblue: 0x87cefa,\n lightslategray: 0x778899,\n lightslategrey: 0x778899,\n lightsteelblue: 0xb0c4de,\n lightyellow: 0xffffe0,\n lime: 0x00ff00,\n limegreen: 0x32cd32,\n linen: 0xfaf0e6,\n magenta: 0xff00ff,\n maroon: 0x800000,\n mediumaquamarine: 0x66cdaa,\n mediumblue: 0x0000cd,\n mediumorchid: 0xba55d3,\n mediumpurple: 0x9370db,\n mediumseagreen: 0x3cb371,\n mediumslateblue: 0x7b68ee,\n mediumspringgreen: 0x00fa9a,\n mediumturquoise: 0x48d1cc,\n mediumvioletred: 0xc71585,\n midnightblue: 0x191970,\n mintcream: 0xf5fffa,\n mistyrose: 0xffe4e1,\n moccasin: 0xffe4b5,\n navajowhite: 0xffdead,\n navy: 0x000080,\n oldlace: 0xfdf5e6,\n olive: 0x808000,\n olivedrab: 0x6b8e23,\n orange: 0xffa500,\n orangered: 0xff4500,\n orchid: 0xda70d6,\n palegoldenrod: 0xeee8aa,\n palegreen: 0x98fb98,\n paleturquoise: 0xafeeee,\n palevioletred: 0xdb7093,\n papayawhip: 0xffefd5,\n peachpuff: 0xffdab9,\n peru: 0xcd853f,\n pink: 0xffc0cb,\n plum: 0xdda0dd,\n powderblue: 0xb0e0e6,\n purple: 0x800080,\n rebeccapurple: 0x663399,\n red: 0xff0000,\n rosybrown: 0xbc8f8f,\n royalblue: 0x4169e1,\n saddlebrown: 0x8b4513,\n salmon: 0xfa8072,\n sandybrown: 0xf4a460,\n seagreen: 0x2e8b57,\n seashell: 0xfff5ee,\n sienna: 0xa0522d,\n silver: 0xc0c0c0,\n skyblue: 0x87ceeb,\n slateblue: 0x6a5acd,\n slategray: 0x708090,\n slategrey: 0x708090,\n snow: 0xfffafa,\n springgreen: 0x00ff7f,\n steelblue: 0x4682b4,\n tan: 0xd2b48c,\n teal: 0x008080,\n thistle: 0xd8bfd8,\n tomato: 0xff6347,\n turquoise: 0x40e0d0,\n violet: 0xee82ee,\n wheat: 0xf5deb3,\n white: 0xffffff,\n whitesmoke: 0xf5f5f5,\n yellow: 0xffff00,\n yellowgreen: 0x9acd32\n};\n\ndefine(Color, color, {\n copy: function(channels) {\n return Object.assign(new this.constructor, this, channels);\n },\n displayable: function() {\n return this.rgb().displayable();\n },\n hex: color_formatHex, // Deprecated! Use color.formatHex.\n formatHex: color_formatHex,\n formatHsl: color_formatHsl,\n formatRgb: color_formatRgb,\n toString: color_formatRgb\n});\n\nfunction color_formatHex() {\n return this.rgb().formatHex();\n}\n\nfunction color_formatHsl() {\n return hslConvert(this).formatHsl();\n}\n\nfunction color_formatRgb() {\n return this.rgb().formatRgb();\n}\n\nexport default function color(format) {\n var m, l;\n format = (format + \"\").trim().toLowerCase();\n return (m = reHex.exec(format)) ? (l = m[1].length, m = parseInt(m[1], 16), l === 6 ? rgbn(m) // #ff0000\n : l === 3 ? new Rgb((m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), ((m & 0xf) << 4) | (m & 0xf), 1) // #f00\n : l === 8 ? rgba(m >> 24 & 0xff, m >> 16 & 0xff, m >> 8 & 0xff, (m & 0xff) / 0xff) // #ff000000\n : l === 4 ? rgba((m >> 12 & 0xf) | (m >> 8 & 0xf0), (m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), (((m & 0xf) << 4) | (m & 0xf)) / 0xff) // #f000\n : null) // invalid hex\n : (m = reRgbInteger.exec(format)) ? new Rgb(m[1], m[2], m[3], 1) // rgb(255, 0, 0)\n : (m = reRgbPercent.exec(format)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) // rgb(100%, 0%, 0%)\n : (m = reRgbaInteger.exec(format)) ? rgba(m[1], m[2], m[3], m[4]) // rgba(255, 0, 0, 1)\n : (m = reRgbaPercent.exec(format)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) // rgb(100%, 0%, 0%, 1)\n : (m = reHslPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) // hsl(120, 50%, 50%)\n : (m = reHslaPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) // hsla(120, 50%, 50%, 1)\n : named.hasOwnProperty(format) ? rgbn(named[format]) // eslint-disable-line no-prototype-builtins\n : format === \"transparent\" ? new Rgb(NaN, NaN, NaN, 0)\n : null;\n}\n\nfunction rgbn(n) {\n return new Rgb(n >> 16 & 0xff, n >> 8 & 0xff, n & 0xff, 1);\n}\n\nfunction rgba(r, g, b, a) {\n if (a <= 0) r = g = b = NaN;\n return new Rgb(r, g, b, a);\n}\n\nexport function rgbConvert(o) {\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Rgb;\n o = o.rgb();\n return new Rgb(o.r, o.g, o.b, o.opacity);\n}\n\nexport function rgb(r, g, b, opacity) {\n return arguments.length === 1 ? rgbConvert(r) : new Rgb(r, g, b, opacity == null ? 1 : opacity);\n}\n\nexport function Rgb(r, g, b, opacity) {\n this.r = +r;\n this.g = +g;\n this.b = +b;\n this.opacity = +opacity;\n}\n\ndefine(Rgb, rgb, extend(Color, {\n brighter: function(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n darker: function(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n rgb: function() {\n return this;\n },\n displayable: function() {\n return (-0.5 <= this.r && this.r < 255.5)\n && (-0.5 <= this.g && this.g < 255.5)\n && (-0.5 <= this.b && this.b < 255.5)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n hex: rgb_formatHex, // Deprecated! Use color.formatHex.\n formatHex: rgb_formatHex,\n formatRgb: rgb_formatRgb,\n toString: rgb_formatRgb\n}));\n\nfunction rgb_formatHex() {\n return \"#\" + hex(this.r) + hex(this.g) + hex(this.b);\n}\n\nfunction rgb_formatRgb() {\n var a = this.opacity; a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a));\n return (a === 1 ? \"rgb(\" : \"rgba(\")\n + Math.max(0, Math.min(255, Math.round(this.r) || 0)) + \", \"\n + Math.max(0, Math.min(255, Math.round(this.g) || 0)) + \", \"\n + Math.max(0, Math.min(255, Math.round(this.b) || 0))\n + (a === 1 ? \")\" : \", \" + a + \")\");\n}\n\nfunction hex(value) {\n value = Math.max(0, Math.min(255, Math.round(value) || 0));\n return (value < 16 ? \"0\" : \"\") + value.toString(16);\n}\n\nfunction hsla(h, s, l, a) {\n if (a <= 0) h = s = l = NaN;\n else if (l <= 0 || l >= 1) h = s = NaN;\n else if (s <= 0) h = NaN;\n return new Hsl(h, s, l, a);\n}\n\nexport function hslConvert(o) {\n if (o instanceof Hsl) return new Hsl(o.h, o.s, o.l, o.opacity);\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Hsl;\n if (o instanceof Hsl) return o;\n o = o.rgb();\n var r = o.r / 255,\n g = o.g / 255,\n b = o.b / 255,\n min = Math.min(r, g, b),\n max = Math.max(r, g, b),\n h = NaN,\n s = max - min,\n l = (max + min) / 2;\n if (s) {\n if (r === max) h = (g - b) / s + (g < b) * 6;\n else if (g === max) h = (b - r) / s + 2;\n else h = (r - g) / s + 4;\n s /= l < 0.5 ? max + min : 2 - max - min;\n h *= 60;\n } else {\n s = l > 0 && l < 1 ? 0 : h;\n }\n return new Hsl(h, s, l, o.opacity);\n}\n\nexport function hsl(h, s, l, opacity) {\n return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s, l, opacity == null ? 1 : opacity);\n}\n\nfunction Hsl(h, s, l, opacity) {\n this.h = +h;\n this.s = +s;\n this.l = +l;\n this.opacity = +opacity;\n}\n\ndefine(Hsl, hsl, extend(Color, {\n brighter: function(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n darker: function(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n rgb: function() {\n var h = this.h % 360 + (this.h < 0) * 360,\n s = isNaN(h) || isNaN(this.s) ? 0 : this.s,\n l = this.l,\n m2 = l + (l < 0.5 ? l : 1 - l) * s,\n m1 = 2 * l - m2;\n return new Rgb(\n hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2),\n hsl2rgb(h, m1, m2),\n hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2),\n this.opacity\n );\n },\n displayable: function() {\n return (0 <= this.s && this.s <= 1 || isNaN(this.s))\n && (0 <= this.l && this.l <= 1)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n formatHsl: function() {\n var a = this.opacity; a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a));\n return (a === 1 ? \"hsl(\" : \"hsla(\")\n + (this.h || 0) + \", \"\n + (this.s || 0) * 100 + \"%, \"\n + (this.l || 0) * 100 + \"%\"\n + (a === 1 ? \")\" : \", \" + a + \")\");\n }\n}));\n\n/* From FvD 13.37, CSS Color Module Level 3 */\nfunction hsl2rgb(h, m1, m2) {\n return (h < 60 ? m1 + (m2 - m1) * h / 60\n : h < 180 ? m2\n : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60\n : m1) * 255;\n}\n","export const radians = Math.PI / 180;\nexport const degrees = 180 / Math.PI;\n","import define, {extend} from \"./define.js\";\nimport {Color, rgbConvert, Rgb, darker, brighter} from \"./color.js\";\nimport {degrees, radians} from \"./math.js\";\n\nvar A = -0.14861,\n B = +1.78277,\n C = -0.29227,\n D = -0.90649,\n E = +1.97294,\n ED = E * D,\n EB = E * B,\n BC_DA = B * C - D * A;\n\nfunction cubehelixConvert(o) {\n if (o instanceof Cubehelix) return new Cubehelix(o.h, o.s, o.l, o.opacity);\n if (!(o instanceof Rgb)) o = rgbConvert(o);\n var r = o.r / 255,\n g = o.g / 255,\n b = o.b / 255,\n l = (BC_DA * b + ED * r - EB * g) / (BC_DA + ED - EB),\n bl = b - l,\n k = (E * (g - l) - C * bl) / D,\n s = Math.sqrt(k * k + bl * bl) / (E * l * (1 - l)), // NaN if l=0 or l=1\n h = s ? Math.atan2(k, bl) * degrees - 120 : NaN;\n return new Cubehelix(h < 0 ? h + 360 : h, s, l, o.opacity);\n}\n\nexport default function cubehelix(h, s, l, opacity) {\n return arguments.length === 1 ? cubehelixConvert(h) : new Cubehelix(h, s, l, opacity == null ? 1 : opacity);\n}\n\nexport function Cubehelix(h, s, l, opacity) {\n this.h = +h;\n this.s = +s;\n this.l = +l;\n this.opacity = +opacity;\n}\n\ndefine(Cubehelix, cubehelix, extend(Color, {\n brighter: function(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Cubehelix(this.h, this.s, this.l * k, this.opacity);\n },\n darker: function(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Cubehelix(this.h, this.s, this.l * k, this.opacity);\n },\n rgb: function() {\n var h = isNaN(this.h) ? 0 : (this.h + 120) * radians,\n l = +this.l,\n a = isNaN(this.s) ? 0 : this.s * l * (1 - l),\n cosh = Math.cos(h),\n sinh = Math.sin(h);\n return new Rgb(\n 255 * (l + a * (A * cosh + B * sinh)),\n 255 * (l + a * (C * cosh + D * sinh)),\n 255 * (l + a * (E * cosh)),\n this.opacity\n );\n }\n}));\n","export function basis(t1, v0, v1, v2, v3) {\n var t2 = t1 * t1, t3 = t2 * t1;\n return ((1 - 3 * t1 + 3 * t2 - t3) * v0\n + (4 - 6 * t2 + 3 * t3) * v1\n + (1 + 3 * t1 + 3 * t2 - 3 * t3) * v2\n + t3 * v3) / 6;\n}\n\nexport default function(values) {\n var n = values.length - 1;\n return function(t) {\n var i = t <= 0 ? (t = 0) : t >= 1 ? (t = 1, n - 1) : Math.floor(t * n),\n v1 = values[i],\n v2 = values[i + 1],\n v0 = i > 0 ? values[i - 1] : 2 * v1 - v2,\n v3 = i < n - 1 ? values[i + 2] : 2 * v2 - v1;\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}\n","export default x => () => x;\n","import constant from \"./constant.js\";\n\nfunction linear(a, d) {\n return function(t) {\n return a + t * d;\n };\n}\n\nfunction exponential(a, b, y) {\n return a = Math.pow(a, y), b = Math.pow(b, y) - a, y = 1 / y, function(t) {\n return Math.pow(a + t * b, y);\n };\n}\n\nexport function hue(a, b) {\n var d = b - a;\n return d ? linear(a, d > 180 || d < -180 ? d - 360 * Math.round(d / 360) : d) : constant(isNaN(a) ? b : a);\n}\n\nexport function gamma(y) {\n return (y = +y) === 1 ? nogamma : function(a, b) {\n return b - a ? exponential(a, b, y) : constant(isNaN(a) ? b : a);\n };\n}\n\nexport default function nogamma(a, b) {\n var d = b - a;\n return d ? linear(a, d) : constant(isNaN(a) ? b : a);\n}\n","import {rgb as colorRgb} from \"d3-color\";\nimport basis from \"./basis.js\";\nimport basisClosed from \"./basisClosed.js\";\nimport nogamma, {gamma} from \"./color.js\";\n\nexport default (function rgbGamma(y) {\n var color = gamma(y);\n\n function rgb(start, end) {\n var r = color((start = colorRgb(start)).r, (end = colorRgb(end)).r),\n g = color(start.g, end.g),\n b = color(start.b, end.b),\n opacity = nogamma(start.opacity, end.opacity);\n return function(t) {\n start.r = r(t);\n start.g = g(t);\n start.b = b(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n\n rgb.gamma = rgbGamma;\n\n return rgb;\n})(1);\n\nfunction rgbSpline(spline) {\n return function(colors) {\n var n = colors.length,\n r = new Array(n),\n g = new Array(n),\n b = new Array(n),\n i, color;\n for (i = 0; i < n; ++i) {\n color = colorRgb(colors[i]);\n r[i] = color.r || 0;\n g[i] = color.g || 0;\n b[i] = color.b || 0;\n }\n r = spline(r);\n g = spline(g);\n b = spline(b);\n color.opacity = 1;\n return function(t) {\n color.r = r(t);\n color.g = g(t);\n color.b = b(t);\n return color + \"\";\n };\n };\n}\n\nexport var rgbBasis = rgbSpline(basis);\nexport var rgbBasisClosed = rgbSpline(basisClosed);\n","export default function(a, b) {\n if (!b) b = [];\n var n = a ? Math.min(b.length, a.length) : 0,\n c = b.slice(),\n i;\n return function(t) {\n for (i = 0; i < n; ++i) c[i] = a[i] * (1 - t) + b[i] * t;\n return c;\n };\n}\n\nexport function isNumberArray(x) {\n return ArrayBuffer.isView(x) && !(x instanceof DataView);\n}\n","import value from \"./value.js\";\nimport numberArray, {isNumberArray} from \"./numberArray.js\";\n\nexport default function(a, b) {\n return (isNumberArray(b) ? numberArray : genericArray)(a, b);\n}\n\nexport function genericArray(a, b) {\n var nb = b ? b.length : 0,\n na = a ? Math.min(nb, a.length) : 0,\n x = new Array(na),\n c = new Array(nb),\n i;\n\n for (i = 0; i < na; ++i) x[i] = value(a[i], b[i]);\n for (; i < nb; ++i) c[i] = b[i];\n\n return function(t) {\n for (i = 0; i < na; ++i) c[i] = x[i](t);\n return c;\n };\n}\n","export default function(a, b) {\n var d = new Date;\n return a = +a, b = +b, function(t) {\n return d.setTime(a * (1 - t) + b * t), d;\n };\n}\n","export default function(a, b) {\n return a = +a, b = +b, function(t) {\n return a * (1 - t) + b * t;\n };\n}\n","import value from \"./value.js\";\n\nexport default function(a, b) {\n var i = {},\n c = {},\n k;\n\n if (a === null || typeof a !== \"object\") a = {};\n if (b === null || typeof b !== \"object\") b = {};\n\n for (k in b) {\n if (k in a) {\n i[k] = value(a[k], b[k]);\n } else {\n c[k] = b[k];\n }\n }\n\n return function(t) {\n for (k in i) c[k] = i[k](t);\n return c;\n };\n}\n","import number from \"./number.js\";\n\nvar reA = /[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,\n reB = new RegExp(reA.source, \"g\");\n\nfunction zero(b) {\n return function() {\n return b;\n };\n}\n\nfunction one(b) {\n return function(t) {\n return b(t) + \"\";\n };\n}\n\nexport default function(a, b) {\n var bi = reA.lastIndex = reB.lastIndex = 0, // scan index for next number in b\n am, // current match in a\n bm, // current match in b\n bs, // string preceding current number in b, if any\n i = -1, // index in s\n s = [], // string constants and placeholders\n q = []; // number interpolators\n\n // Coerce inputs to strings.\n a = a + \"\", b = b + \"\";\n\n // Interpolate pairs of numbers in a & b.\n while ((am = reA.exec(a))\n && (bm = reB.exec(b))) {\n if ((bs = bm.index) > bi) { // a string precedes the next number in b\n bs = b.slice(bi, bs);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n if ((am = am[0]) === (bm = bm[0])) { // numbers in a & b match\n if (s[i]) s[i] += bm; // coalesce with previous string\n else s[++i] = bm;\n } else { // interpolate non-matching numbers\n s[++i] = null;\n q.push({i: i, x: number(am, bm)});\n }\n bi = reB.lastIndex;\n }\n\n // Add remains of b.\n if (bi < b.length) {\n bs = b.slice(bi);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n\n // Special optimization for only a single match.\n // Otherwise, interpolate each of the numbers and rejoin the string.\n return s.length < 2 ? (q[0]\n ? one(q[0].x)\n : zero(b))\n : (b = q.length, function(t) {\n for (var i = 0, o; i < b; ++i) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n });\n}\n","import {color} from \"d3-color\";\nimport rgb from \"./rgb.js\";\nimport {genericArray} from \"./array.js\";\nimport date from \"./date.js\";\nimport number from \"./number.js\";\nimport object from \"./object.js\";\nimport string from \"./string.js\";\nimport constant from \"./constant.js\";\nimport numberArray, {isNumberArray} from \"./numberArray.js\";\n\nexport default function(a, b) {\n var t = typeof b, c;\n return b == null || t === \"boolean\" ? constant(b)\n : (t === \"number\" ? number\n : t === \"string\" ? ((c = color(b)) ? (b = c, rgb) : string)\n : b instanceof color ? rgb\n : b instanceof Date ? date\n : isNumberArray(b) ? numberArray\n : Array.isArray(b) ? genericArray\n : typeof b.valueOf !== \"function\" && typeof b.toString !== \"function\" || isNaN(b) ? object\n : number)(a, b);\n}\n","export default function(a, b) {\n return a = +a, b = +b, function(t) {\n return Math.round(a * (1 - t) + b * t);\n };\n}\n","import {cubehelix as colorCubehelix} from \"d3-color\";\nimport color, {hue} from \"./color.js\";\n\nfunction cubehelix(hue) {\n return (function cubehelixGamma(y) {\n y = +y;\n\n function cubehelix(start, end) {\n var h = hue((start = colorCubehelix(start)).h, (end = colorCubehelix(end)).h),\n s = color(start.s, end.s),\n l = color(start.l, end.l),\n opacity = color(start.opacity, end.opacity);\n return function(t) {\n start.h = h(t);\n start.s = s(t);\n start.l = l(Math.pow(t, y));\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n\n cubehelix.gamma = cubehelixGamma;\n\n return cubehelix;\n })(1);\n}\n\nexport default cubehelix(hue);\nexport var cubehelixLong = cubehelix(color);\n","var baseGetTag = require('./_baseGetTag'),\n isArray = require('./isArray'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar stringTag = '[object String]';\n\n/**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\nfunction isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n}\n\nmodule.exports = isString;\n","export default function(a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n","import ascending from \"./ascending.js\";\n\nexport default function(f) {\n let delta = f;\n let compare = f;\n\n if (f.length === 1) {\n delta = (d, x) => f(d) - x;\n compare = ascendingComparator(f);\n }\n\n function left(a, x, lo, hi) {\n if (lo == null) lo = 0;\n if (hi == null) hi = a.length;\n while (lo < hi) {\n const mid = (lo + hi) >>> 1;\n if (compare(a[mid], x) < 0) lo = mid + 1;\n else hi = mid;\n }\n return lo;\n }\n\n function right(a, x, lo, hi) {\n if (lo == null) lo = 0;\n if (hi == null) hi = a.length;\n while (lo < hi) {\n const mid = (lo + hi) >>> 1;\n if (compare(a[mid], x) > 0) hi = mid;\n else lo = mid + 1;\n }\n return lo;\n }\n\n function center(a, x, lo, hi) {\n if (lo == null) lo = 0;\n if (hi == null) hi = a.length;\n const i = left(a, x, lo, hi - 1);\n return i > lo && delta(a[i - 1], x) > -delta(a[i], x) ? i - 1 : i;\n }\n\n return {left, center, right};\n}\n\nfunction ascendingComparator(f) {\n return (d, x) => ascending(f(d), x);\n}\n","export default function(x) {\n return x === null ? NaN : +x;\n}\n\nexport function* numbers(values, valueof) {\n if (valueof === undefined) {\n for (let value of values) {\n if (value != null && (value = +value) >= value) {\n yield value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null && (value = +value) >= value) {\n yield value;\n }\n }\n }\n}\n","import ascending from \"./ascending.js\";\nimport bisector from \"./bisector.js\";\nimport number from \"./number.js\";\n\nconst ascendingBisect = bisector(ascending);\nexport const bisectRight = ascendingBisect.right;\nexport const bisectLeft = ascendingBisect.left;\nexport const bisectCenter = bisector(number).center;\nexport default bisectRight;\n","var e10 = Math.sqrt(50),\n e5 = Math.sqrt(10),\n e2 = Math.sqrt(2);\n\nexport default function(start, stop, count) {\n var reverse,\n i = -1,\n n,\n ticks,\n step;\n\n stop = +stop, start = +start, count = +count;\n if (start === stop && count > 0) return [start];\n if (reverse = stop < start) n = start, start = stop, stop = n;\n if ((step = tickIncrement(start, stop, count)) === 0 || !isFinite(step)) return [];\n\n if (step > 0) {\n let r0 = Math.round(start / step), r1 = Math.round(stop / step);\n if (r0 * step < start) ++r0;\n if (r1 * step > stop) --r1;\n ticks = new Array(n = r1 - r0 + 1);\n while (++i < n) ticks[i] = (r0 + i) * step;\n } else {\n step = -step;\n let r0 = Math.round(start * step), r1 = Math.round(stop * step);\n if (r0 / step < start) ++r0;\n if (r1 / step > stop) --r1;\n ticks = new Array(n = r1 - r0 + 1);\n while (++i < n) ticks[i] = (r0 + i) / step;\n }\n\n if (reverse) ticks.reverse();\n\n return ticks;\n}\n\nexport function tickIncrement(start, stop, count) {\n var step = (stop - start) / Math.max(0, count),\n power = Math.floor(Math.log(step) / Math.LN10),\n error = step / Math.pow(10, power);\n return power >= 0\n ? (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1) * Math.pow(10, power)\n : -Math.pow(10, -power) / (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1);\n}\n\nexport function tickStep(start, stop, count) {\n var step0 = Math.abs(stop - start) / Math.max(0, count),\n step1 = Math.pow(10, Math.floor(Math.log(step0) / Math.LN10)),\n error = step0 / step1;\n if (error >= e10) step1 *= 10;\n else if (error >= e5) step1 *= 5;\n else if (error >= e2) step1 *= 2;\n return stop < start ? -step1 : step1;\n}\n","export default function(start, stop, step) {\n start = +start, stop = +stop, step = (n = arguments.length) < 2 ? (stop = start, start = 0, 1) : n < 3 ? 1 : +step;\n\n var i = -1,\n n = Math.max(0, Math.ceil((stop - start) / step)) | 0,\n range = new Array(n);\n\n while (++i < n) {\n range[i] = start + i * step;\n }\n\n return range;\n}\n","export function initRange(domain, range) {\n switch (arguments.length) {\n case 0: break;\n case 1: this.range(domain); break;\n default: this.range(range).domain(domain); break;\n }\n return this;\n}\n\nexport function initInterpolator(domain, interpolator) {\n switch (arguments.length) {\n case 0: break;\n case 1: {\n if (typeof domain === \"function\") this.interpolator(domain);\n else this.range(domain);\n break;\n }\n default: {\n this.domain(domain);\n if (typeof interpolator === \"function\") this.interpolator(interpolator);\n else this.range(interpolator);\n break;\n }\n }\n return this;\n}\n","import {initRange} from \"./init.js\";\n\nexport const implicit = Symbol(\"implicit\");\n\nexport default function ordinal() {\n var index = new Map(),\n domain = [],\n range = [],\n unknown = implicit;\n\n function scale(d) {\n var key = d + \"\", i = index.get(key);\n if (!i) {\n if (unknown !== implicit) return unknown;\n index.set(key, i = domain.push(d));\n }\n return range[(i - 1) % range.length];\n }\n\n scale.domain = function(_) {\n if (!arguments.length) return domain.slice();\n domain = [], index = new Map();\n for (const value of _) {\n const key = value + \"\";\n if (index.has(key)) continue;\n index.set(key, domain.push(value));\n }\n return scale;\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), scale) : range.slice();\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n scale.copy = function() {\n return ordinal(domain, range).unknown(unknown);\n };\n\n initRange.apply(scale, arguments);\n\n return scale;\n}\n","import {range as sequence} from \"d3-array\";\nimport {initRange} from \"./init.js\";\nimport ordinal from \"./ordinal.js\";\n\nexport default function band() {\n var scale = ordinal().unknown(undefined),\n domain = scale.domain,\n ordinalRange = scale.range,\n r0 = 0,\n r1 = 1,\n step,\n bandwidth,\n round = false,\n paddingInner = 0,\n paddingOuter = 0,\n align = 0.5;\n\n delete scale.unknown;\n\n function rescale() {\n var n = domain().length,\n reverse = r1 < r0,\n start = reverse ? r1 : r0,\n stop = reverse ? r0 : r1;\n step = (stop - start) / Math.max(1, n - paddingInner + paddingOuter * 2);\n if (round) step = Math.floor(step);\n start += (stop - start - step * (n - paddingInner)) * align;\n bandwidth = step * (1 - paddingInner);\n if (round) start = Math.round(start), bandwidth = Math.round(bandwidth);\n var values = sequence(n).map(function(i) { return start + step * i; });\n return ordinalRange(reverse ? values.reverse() : values);\n }\n\n scale.domain = function(_) {\n return arguments.length ? (domain(_), rescale()) : domain();\n };\n\n scale.range = function(_) {\n return arguments.length ? ([r0, r1] = _, r0 = +r0, r1 = +r1, rescale()) : [r0, r1];\n };\n\n scale.rangeRound = function(_) {\n return [r0, r1] = _, r0 = +r0, r1 = +r1, round = true, rescale();\n };\n\n scale.bandwidth = function() {\n return bandwidth;\n };\n\n scale.step = function() {\n return step;\n };\n\n scale.round = function(_) {\n return arguments.length ? (round = !!_, rescale()) : round;\n };\n\n scale.padding = function(_) {\n return arguments.length ? (paddingInner = Math.min(1, paddingOuter = +_), rescale()) : paddingInner;\n };\n\n scale.paddingInner = function(_) {\n return arguments.length ? (paddingInner = Math.min(1, _), rescale()) : paddingInner;\n };\n\n scale.paddingOuter = function(_) {\n return arguments.length ? (paddingOuter = +_, rescale()) : paddingOuter;\n };\n\n scale.align = function(_) {\n return arguments.length ? (align = Math.max(0, Math.min(1, _)), rescale()) : align;\n };\n\n scale.copy = function() {\n return band(domain(), [r0, r1])\n .round(round)\n .paddingInner(paddingInner)\n .paddingOuter(paddingOuter)\n .align(align);\n };\n\n return initRange.apply(rescale(), arguments);\n}\n\nfunction pointish(scale) {\n var copy = scale.copy;\n\n scale.padding = scale.paddingOuter;\n delete scale.paddingInner;\n delete scale.paddingOuter;\n\n scale.copy = function() {\n return pointish(copy());\n };\n\n return scale;\n}\n\nexport function point() {\n return pointish(band.apply(null, arguments).paddingInner(1));\n}\n","export default function constants(x) {\n return function() {\n return x;\n };\n}\n","export default function number(x) {\n return +x;\n}\n","import {bisect} from \"d3-array\";\nimport {interpolate as interpolateValue, interpolateNumber, interpolateRound} from \"d3-interpolate\";\nimport constant from \"./constant.js\";\nimport number from \"./number.js\";\n\nvar unit = [0, 1];\n\nexport function identity(x) {\n return x;\n}\n\nfunction normalize(a, b) {\n return (b -= (a = +a))\n ? function(x) { return (x - a) / b; }\n : constant(isNaN(b) ? NaN : 0.5);\n}\n\nfunction clamper(a, b) {\n var t;\n if (a > b) t = a, a = b, b = t;\n return function(x) { return Math.max(a, Math.min(b, x)); };\n}\n\n// normalize(a, b)(x) takes a domain value x in [a,b] and returns the corresponding parameter t in [0,1].\n// interpolate(a, b)(t) takes a parameter t in [0,1] and returns the corresponding range value x in [a,b].\nfunction bimap(domain, range, interpolate) {\n var d0 = domain[0], d1 = domain[1], r0 = range[0], r1 = range[1];\n if (d1 < d0) d0 = normalize(d1, d0), r0 = interpolate(r1, r0);\n else d0 = normalize(d0, d1), r0 = interpolate(r0, r1);\n return function(x) { return r0(d0(x)); };\n}\n\nfunction polymap(domain, range, interpolate) {\n var j = Math.min(domain.length, range.length) - 1,\n d = new Array(j),\n r = new Array(j),\n i = -1;\n\n // Reverse descending domains.\n if (domain[j] < domain[0]) {\n domain = domain.slice().reverse();\n range = range.slice().reverse();\n }\n\n while (++i < j) {\n d[i] = normalize(domain[i], domain[i + 1]);\n r[i] = interpolate(range[i], range[i + 1]);\n }\n\n return function(x) {\n var i = bisect(domain, x, 1, j) - 1;\n return r[i](d[i](x));\n };\n}\n\nexport function copy(source, target) {\n return target\n .domain(source.domain())\n .range(source.range())\n .interpolate(source.interpolate())\n .clamp(source.clamp())\n .unknown(source.unknown());\n}\n\nexport function transformer() {\n var domain = unit,\n range = unit,\n interpolate = interpolateValue,\n transform,\n untransform,\n unknown,\n clamp = identity,\n piecewise,\n output,\n input;\n\n function rescale() {\n var n = Math.min(domain.length, range.length);\n if (clamp !== identity) clamp = clamper(domain[0], domain[n - 1]);\n piecewise = n > 2 ? polymap : bimap;\n output = input = null;\n return scale;\n }\n\n function scale(x) {\n return x == null || isNaN(x = +x) ? unknown : (output || (output = piecewise(domain.map(transform), range, interpolate)))(transform(clamp(x)));\n }\n\n scale.invert = function(y) {\n return clamp(untransform((input || (input = piecewise(range, domain.map(transform), interpolateNumber)))(y)));\n };\n\n scale.domain = function(_) {\n return arguments.length ? (domain = Array.from(_, number), rescale()) : domain.slice();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), rescale()) : range.slice();\n };\n\n scale.rangeRound = function(_) {\n return range = Array.from(_), interpolate = interpolateRound, rescale();\n };\n\n scale.clamp = function(_) {\n return arguments.length ? (clamp = _ ? true : identity, rescale()) : clamp !== identity;\n };\n\n scale.interpolate = function(_) {\n return arguments.length ? (interpolate = _, rescale()) : interpolate;\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n return function(t, u) {\n transform = t, untransform = u;\n return rescale();\n };\n}\n\nexport default function continuous() {\n return transformer()(identity, identity);\n}\n","export default function(x) {\n return Math.abs(x = Math.round(x)) >= 1e21\n ? x.toLocaleString(\"en\").replace(/,/g, \"\")\n : x.toString(10);\n}\n\n// Computes the decimal coefficient and exponent of the specified number x with\n// significant digits p, where x is positive and p is in [1, 21] or undefined.\n// For example, formatDecimalParts(1.23) returns [\"123\", 0].\nexport function formatDecimalParts(x, p) {\n if ((i = (x = p ? x.toExponential(p - 1) : x.toExponential()).indexOf(\"e\")) < 0) return null; // NaN, ±Infinity\n var i, coefficient = x.slice(0, i);\n\n // The string returned by toExponential either has the form \\d\\.\\d+e[-+]\\d+\n // (e.g., 1.2e+3) or the form \\de[-+]\\d+ (e.g., 1e+3).\n return [\n coefficient.length > 1 ? coefficient[0] + coefficient.slice(2) : coefficient,\n +x.slice(i + 1)\n ];\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport default function(x) {\n return x = formatDecimalParts(Math.abs(x)), x ? x[1] : NaN;\n}\n","export default function(grouping, thousands) {\n return function(value, width) {\n var i = value.length,\n t = [],\n j = 0,\n g = grouping[0],\n length = 0;\n\n while (i > 0 && g > 0) {\n if (length + g + 1 > width) g = Math.max(1, width - length);\n t.push(value.substring(i -= g, i + g));\n if ((length += g + 1) > width) break;\n g = grouping[j = (j + 1) % grouping.length];\n }\n\n return t.reverse().join(thousands);\n };\n}\n","export default function(numerals) {\n return function(value) {\n return value.replace(/[0-9]/g, function(i) {\n return numerals[+i];\n });\n };\n}\n","// [[fill]align][sign][symbol][0][width][,][.precision][~][type]\nvar re = /^(?:(.)?([<>=^]))?([+\\-( ])?([$#])?(0)?(\\d+)?(,)?(\\.\\d+)?(~)?([a-z%])?$/i;\n\nexport default function formatSpecifier(specifier) {\n if (!(match = re.exec(specifier))) throw new Error(\"invalid format: \" + specifier);\n var match;\n return new FormatSpecifier({\n fill: match[1],\n align: match[2],\n sign: match[3],\n symbol: match[4],\n zero: match[5],\n width: match[6],\n comma: match[7],\n precision: match[8] && match[8].slice(1),\n trim: match[9],\n type: match[10]\n });\n}\n\nformatSpecifier.prototype = FormatSpecifier.prototype; // instanceof\n\nexport function FormatSpecifier(specifier) {\n this.fill = specifier.fill === undefined ? \" \" : specifier.fill + \"\";\n this.align = specifier.align === undefined ? \">\" : specifier.align + \"\";\n this.sign = specifier.sign === undefined ? \"-\" : specifier.sign + \"\";\n this.symbol = specifier.symbol === undefined ? \"\" : specifier.symbol + \"\";\n this.zero = !!specifier.zero;\n this.width = specifier.width === undefined ? undefined : +specifier.width;\n this.comma = !!specifier.comma;\n this.precision = specifier.precision === undefined ? undefined : +specifier.precision;\n this.trim = !!specifier.trim;\n this.type = specifier.type === undefined ? \"\" : specifier.type + \"\";\n}\n\nFormatSpecifier.prototype.toString = function() {\n return this.fill\n + this.align\n + this.sign\n + this.symbol\n + (this.zero ? \"0\" : \"\")\n + (this.width === undefined ? \"\" : Math.max(1, this.width | 0))\n + (this.comma ? \",\" : \"\")\n + (this.precision === undefined ? \"\" : \".\" + Math.max(0, this.precision | 0))\n + (this.trim ? \"~\" : \"\")\n + this.type;\n};\n","// Trims insignificant zeros, e.g., replaces 1.2000k with 1.2k.\nexport default function(s) {\n out: for (var n = s.length, i = 1, i0 = -1, i1; i < n; ++i) {\n switch (s[i]) {\n case \".\": i0 = i1 = i; break;\n case \"0\": if (i0 === 0) i0 = i; i1 = i; break;\n default: if (!+s[i]) break out; if (i0 > 0) i0 = 0; break;\n }\n }\n return i0 > 0 ? s.slice(0, i0) + s.slice(i1 + 1) : s;\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport var prefixExponent;\n\nexport default function(x, p) {\n var d = formatDecimalParts(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1],\n i = exponent - (prefixExponent = Math.max(-8, Math.min(8, Math.floor(exponent / 3))) * 3) + 1,\n n = coefficient.length;\n return i === n ? coefficient\n : i > n ? coefficient + new Array(i - n + 1).join(\"0\")\n : i > 0 ? coefficient.slice(0, i) + \".\" + coefficient.slice(i)\n : \"0.\" + new Array(1 - i).join(\"0\") + formatDecimalParts(x, Math.max(0, p + i - 1))[0]; // less than 1y!\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport default function(x, p) {\n var d = formatDecimalParts(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1];\n return exponent < 0 ? \"0.\" + new Array(-exponent).join(\"0\") + coefficient\n : coefficient.length > exponent + 1 ? coefficient.slice(0, exponent + 1) + \".\" + coefficient.slice(exponent + 1)\n : coefficient + new Array(exponent - coefficient.length + 2).join(\"0\");\n}\n","import formatDecimal from \"./formatDecimal.js\";\nimport formatPrefixAuto from \"./formatPrefixAuto.js\";\nimport formatRounded from \"./formatRounded.js\";\n\nexport default {\n \"%\": (x, p) => (x * 100).toFixed(p),\n \"b\": (x) => Math.round(x).toString(2),\n \"c\": (x) => x + \"\",\n \"d\": formatDecimal,\n \"e\": (x, p) => x.toExponential(p),\n \"f\": (x, p) => x.toFixed(p),\n \"g\": (x, p) => x.toPrecision(p),\n \"o\": (x) => Math.round(x).toString(8),\n \"p\": (x, p) => formatRounded(x * 100, p),\n \"r\": formatRounded,\n \"s\": formatPrefixAuto,\n \"X\": (x) => Math.round(x).toString(16).toUpperCase(),\n \"x\": (x) => Math.round(x).toString(16)\n};\n","export default function(x) {\n return x;\n}\n","import exponent from \"./exponent.js\";\nimport formatGroup from \"./formatGroup.js\";\nimport formatNumerals from \"./formatNumerals.js\";\nimport formatSpecifier from \"./formatSpecifier.js\";\nimport formatTrim from \"./formatTrim.js\";\nimport formatTypes from \"./formatTypes.js\";\nimport {prefixExponent} from \"./formatPrefixAuto.js\";\nimport identity from \"./identity.js\";\n\nvar map = Array.prototype.map,\n prefixes = [\"y\",\"z\",\"a\",\"f\",\"p\",\"n\",\"µ\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\",\"P\",\"E\",\"Z\",\"Y\"];\n\nexport default function(locale) {\n var group = locale.grouping === undefined || locale.thousands === undefined ? identity : formatGroup(map.call(locale.grouping, Number), locale.thousands + \"\"),\n currencyPrefix = locale.currency === undefined ? \"\" : locale.currency[0] + \"\",\n currencySuffix = locale.currency === undefined ? \"\" : locale.currency[1] + \"\",\n decimal = locale.decimal === undefined ? \".\" : locale.decimal + \"\",\n numerals = locale.numerals === undefined ? identity : formatNumerals(map.call(locale.numerals, String)),\n percent = locale.percent === undefined ? \"%\" : locale.percent + \"\",\n minus = locale.minus === undefined ? \"−\" : locale.minus + \"\",\n nan = locale.nan === undefined ? \"NaN\" : locale.nan + \"\";\n\n function newFormat(specifier) {\n specifier = formatSpecifier(specifier);\n\n var fill = specifier.fill,\n align = specifier.align,\n sign = specifier.sign,\n symbol = specifier.symbol,\n zero = specifier.zero,\n width = specifier.width,\n comma = specifier.comma,\n precision = specifier.precision,\n trim = specifier.trim,\n type = specifier.type;\n\n // The \"n\" type is an alias for \",g\".\n if (type === \"n\") comma = true, type = \"g\";\n\n // The \"\" type, and any invalid type, is an alias for \".12~g\".\n else if (!formatTypes[type]) precision === undefined && (precision = 12), trim = true, type = \"g\";\n\n // If zero fill is specified, padding goes after sign and before digits.\n if (zero || (fill === \"0\" && align === \"=\")) zero = true, fill = \"0\", align = \"=\";\n\n // Compute the prefix and suffix.\n // For SI-prefix, the suffix is lazily computed.\n var prefix = symbol === \"$\" ? currencyPrefix : symbol === \"#\" && /[boxX]/.test(type) ? \"0\" + type.toLowerCase() : \"\",\n suffix = symbol === \"$\" ? currencySuffix : /[%p]/.test(type) ? percent : \"\";\n\n // What format function should we use?\n // Is this an integer type?\n // Can this type generate exponential notation?\n var formatType = formatTypes[type],\n maybeSuffix = /[defgprs%]/.test(type);\n\n // Set the default precision if not specified,\n // or clamp the specified precision to the supported range.\n // For significant precision, it must be in [1, 21].\n // For fixed precision, it must be in [0, 20].\n precision = precision === undefined ? 6\n : /[gprs]/.test(type) ? Math.max(1, Math.min(21, precision))\n : Math.max(0, Math.min(20, precision));\n\n function format(value) {\n var valuePrefix = prefix,\n valueSuffix = suffix,\n i, n, c;\n\n if (type === \"c\") {\n valueSuffix = formatType(value) + valueSuffix;\n value = \"\";\n } else {\n value = +value;\n\n // Determine the sign. -0 is not less than 0, but 1 / -0 is!\n var valueNegative = value < 0 || 1 / value < 0;\n\n // Perform the initial formatting.\n value = isNaN(value) ? nan : formatType(Math.abs(value), precision);\n\n // Trim insignificant zeros.\n if (trim) value = formatTrim(value);\n\n // If a negative value rounds to zero after formatting, and no explicit positive sign is requested, hide the sign.\n if (valueNegative && +value === 0 && sign !== \"+\") valueNegative = false;\n\n // Compute the prefix and suffix.\n valuePrefix = (valueNegative ? (sign === \"(\" ? sign : minus) : sign === \"-\" || sign === \"(\" ? \"\" : sign) + valuePrefix;\n valueSuffix = (type === \"s\" ? prefixes[8 + prefixExponent / 3] : \"\") + valueSuffix + (valueNegative && sign === \"(\" ? \")\" : \"\");\n\n // Break the formatted value into the integer “value” part that can be\n // grouped, and fractional or exponential “suffix” part that is not.\n if (maybeSuffix) {\n i = -1, n = value.length;\n while (++i < n) {\n if (c = value.charCodeAt(i), 48 > c || c > 57) {\n valueSuffix = (c === 46 ? decimal + value.slice(i + 1) : value.slice(i)) + valueSuffix;\n value = value.slice(0, i);\n break;\n }\n }\n }\n }\n\n // If the fill character is not \"0\", grouping is applied before padding.\n if (comma && !zero) value = group(value, Infinity);\n\n // Compute the padding.\n var length = valuePrefix.length + value.length + valueSuffix.length,\n padding = length < width ? new Array(width - length + 1).join(fill) : \"\";\n\n // If the fill character is \"0\", grouping is applied after padding.\n if (comma && zero) value = group(padding + value, padding.length ? width - valueSuffix.length : Infinity), padding = \"\";\n\n // Reconstruct the final output based on the desired alignment.\n switch (align) {\n case \"<\": value = valuePrefix + value + valueSuffix + padding; break;\n case \"=\": value = valuePrefix + padding + value + valueSuffix; break;\n case \"^\": value = padding.slice(0, length = padding.length >> 1) + valuePrefix + value + valueSuffix + padding.slice(length); break;\n default: value = padding + valuePrefix + value + valueSuffix; break;\n }\n\n return numerals(value);\n }\n\n format.toString = function() {\n return specifier + \"\";\n };\n\n return format;\n }\n\n function formatPrefix(specifier, value) {\n var f = newFormat((specifier = formatSpecifier(specifier), specifier.type = \"f\", specifier)),\n e = Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3,\n k = Math.pow(10, -e),\n prefix = prefixes[8 + e / 3];\n return function(value) {\n return f(k * value) + prefix;\n };\n }\n\n return {\n format: newFormat,\n formatPrefix: formatPrefix\n };\n}\n","import formatLocale from \"./locale.js\";\n\nvar locale;\nexport var format;\nexport var formatPrefix;\n\ndefaultLocale({\n thousands: \",\",\n grouping: [3],\n currency: [\"$\", \"\"]\n});\n\nexport default function defaultLocale(definition) {\n locale = formatLocale(definition);\n format = locale.format;\n formatPrefix = locale.formatPrefix;\n return locale;\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step) {\n return Math.max(0, -exponent(Math.abs(step)));\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step, value) {\n return Math.max(0, Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3 - exponent(Math.abs(step)));\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step, max) {\n step = Math.abs(step), max = Math.abs(max) - step;\n return Math.max(0, exponent(max) - exponent(step)) + 1;\n}\n","import {tickStep} from \"d3-array\";\nimport {format, formatPrefix, formatSpecifier, precisionFixed, precisionPrefix, precisionRound} from \"d3-format\";\n\nexport default function tickFormat(start, stop, count, specifier) {\n var step = tickStep(start, stop, count),\n precision;\n specifier = formatSpecifier(specifier == null ? \",f\" : specifier);\n switch (specifier.type) {\n case \"s\": {\n var value = Math.max(Math.abs(start), Math.abs(stop));\n if (specifier.precision == null && !isNaN(precision = precisionPrefix(step, value))) specifier.precision = precision;\n return formatPrefix(specifier, value);\n }\n case \"\":\n case \"e\":\n case \"g\":\n case \"p\":\n case \"r\": {\n if (specifier.precision == null && !isNaN(precision = precisionRound(step, Math.max(Math.abs(start), Math.abs(stop))))) specifier.precision = precision - (specifier.type === \"e\");\n break;\n }\n case \"f\":\n case \"%\": {\n if (specifier.precision == null && !isNaN(precision = precisionFixed(step))) specifier.precision = precision - (specifier.type === \"%\") * 2;\n break;\n }\n }\n return format(specifier);\n}\n","import {ticks, tickIncrement} from \"d3-array\";\nimport continuous, {copy} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\nimport tickFormat from \"./tickFormat.js\";\n\nexport function linearish(scale) {\n var domain = scale.domain;\n\n scale.ticks = function(count) {\n var d = domain();\n return ticks(d[0], d[d.length - 1], count == null ? 10 : count);\n };\n\n scale.tickFormat = function(count, specifier) {\n var d = domain();\n return tickFormat(d[0], d[d.length - 1], count == null ? 10 : count, specifier);\n };\n\n scale.nice = function(count) {\n if (count == null) count = 10;\n\n var d = domain();\n var i0 = 0;\n var i1 = d.length - 1;\n var start = d[i0];\n var stop = d[i1];\n var prestep;\n var step;\n var maxIter = 10;\n\n if (stop < start) {\n step = start, start = stop, stop = step;\n step = i0, i0 = i1, i1 = step;\n }\n \n while (maxIter-- > 0) {\n step = tickIncrement(start, stop, count);\n if (step === prestep) {\n d[i0] = start\n d[i1] = stop\n return domain(d);\n } else if (step > 0) {\n start = Math.floor(start / step) * step;\n stop = Math.ceil(stop / step) * step;\n } else if (step < 0) {\n start = Math.ceil(start * step) / step;\n stop = Math.floor(stop * step) / step;\n } else {\n break;\n }\n prestep = step;\n }\n\n return scale;\n };\n\n return scale;\n}\n\nexport default function linear() {\n var scale = continuous();\n\n scale.copy = function() {\n return copy(scale, linear());\n };\n\n initRange.apply(scale, arguments);\n\n return linearish(scale);\n}\n","export default function nice(domain, interval) {\n domain = domain.slice();\n\n var i0 = 0,\n i1 = domain.length - 1,\n x0 = domain[i0],\n x1 = domain[i1],\n t;\n\n if (x1 < x0) {\n t = i0, i0 = i1, i1 = t;\n t = x0, x0 = x1, x1 = t;\n }\n\n domain[i0] = interval.floor(x0);\n domain[i1] = interval.ceil(x1);\n return domain;\n}\n","import {ticks} from \"d3-array\";\nimport {format} from \"d3-format\";\nimport nice from \"./nice.js\";\nimport {copy, transformer} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\n\nfunction transformLog(x) {\n return Math.log(x);\n}\n\nfunction transformExp(x) {\n return Math.exp(x);\n}\n\nfunction transformLogn(x) {\n return -Math.log(-x);\n}\n\nfunction transformExpn(x) {\n return -Math.exp(-x);\n}\n\nfunction pow10(x) {\n return isFinite(x) ? +(\"1e\" + x) : x < 0 ? 0 : x;\n}\n\nfunction powp(base) {\n return base === 10 ? pow10\n : base === Math.E ? Math.exp\n : function(x) { return Math.pow(base, x); };\n}\n\nfunction logp(base) {\n return base === Math.E ? Math.log\n : base === 10 && Math.log10\n || base === 2 && Math.log2\n || (base = Math.log(base), function(x) { return Math.log(x) / base; });\n}\n\nfunction reflect(f) {\n return function(x) {\n return -f(-x);\n };\n}\n\nexport function loggish(transform) {\n var scale = transform(transformLog, transformExp),\n domain = scale.domain,\n base = 10,\n logs,\n pows;\n\n function rescale() {\n logs = logp(base), pows = powp(base);\n if (domain()[0] < 0) {\n logs = reflect(logs), pows = reflect(pows);\n transform(transformLogn, transformExpn);\n } else {\n transform(transformLog, transformExp);\n }\n return scale;\n }\n\n scale.base = function(_) {\n return arguments.length ? (base = +_, rescale()) : base;\n };\n\n scale.domain = function(_) {\n return arguments.length ? (domain(_), rescale()) : domain();\n };\n\n scale.ticks = function(count) {\n var d = domain(),\n u = d[0],\n v = d[d.length - 1],\n r;\n\n if (r = v < u) i = u, u = v, v = i;\n\n var i = logs(u),\n j = logs(v),\n p,\n k,\n t,\n n = count == null ? 10 : +count,\n z = [];\n\n if (!(base % 1) && j - i < n) {\n i = Math.floor(i), j = Math.ceil(j);\n if (u > 0) for (; i <= j; ++i) {\n for (k = 1, p = pows(i); k < base; ++k) {\n t = p * k;\n if (t < u) continue;\n if (t > v) break;\n z.push(t);\n }\n } else for (; i <= j; ++i) {\n for (k = base - 1, p = pows(i); k >= 1; --k) {\n t = p * k;\n if (t < u) continue;\n if (t > v) break;\n z.push(t);\n }\n }\n if (z.length * 2 < n) z = ticks(u, v, n);\n } else {\n z = ticks(i, j, Math.min(j - i, n)).map(pows);\n }\n\n return r ? z.reverse() : z;\n };\n\n scale.tickFormat = function(count, specifier) {\n if (specifier == null) specifier = base === 10 ? \".0e\" : \",\";\n if (typeof specifier !== \"function\") specifier = format(specifier);\n if (count === Infinity) return specifier;\n if (count == null) count = 10;\n var k = Math.max(1, base * count / scale.ticks().length); // TODO fast estimate?\n return function(d) {\n var i = d / pows(Math.round(logs(d)));\n if (i * base < base - 0.5) i *= base;\n return i <= k ? specifier(d) : \"\";\n };\n };\n\n scale.nice = function() {\n return domain(nice(domain(), {\n floor: function(x) { return pows(Math.floor(logs(x))); },\n ceil: function(x) { return pows(Math.ceil(logs(x))); }\n }));\n };\n\n return scale;\n}\n\nexport default function log() {\n var scale = loggish(transformer()).domain([1, 10]);\n\n scale.copy = function() {\n return copy(scale, log()).base(scale.base());\n };\n\n initRange.apply(scale, arguments);\n\n return scale;\n}\n","import {linearish} from \"./linear.js\";\nimport {copy, transformer} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\n\nfunction transformSymlog(c) {\n return function(x) {\n return Math.sign(x) * Math.log1p(Math.abs(x / c));\n };\n}\n\nfunction transformSymexp(c) {\n return function(x) {\n return Math.sign(x) * Math.expm1(Math.abs(x)) * c;\n };\n}\n\nexport function symlogish(transform) {\n var c = 1, scale = transform(transformSymlog(c), transformSymexp(c));\n\n scale.constant = function(_) {\n return arguments.length ? transform(transformSymlog(c = +_), transformSymexp(c)) : c;\n };\n\n return linearish(scale);\n}\n\nexport default function symlog() {\n var scale = symlogish(transformer());\n\n scale.copy = function() {\n return copy(scale, symlog()).constant(scale.constant());\n };\n\n return initRange.apply(scale, arguments);\n}\n","var t0 = new Date,\n t1 = new Date;\n\nexport default function newInterval(floori, offseti, count, field) {\n\n function interval(date) {\n return floori(date = arguments.length === 0 ? new Date : new Date(+date)), date;\n }\n\n interval.floor = function(date) {\n return floori(date = new Date(+date)), date;\n };\n\n interval.ceil = function(date) {\n return floori(date = new Date(date - 1)), offseti(date, 1), floori(date), date;\n };\n\n interval.round = function(date) {\n var d0 = interval(date),\n d1 = interval.ceil(date);\n return date - d0 < d1 - date ? d0 : d1;\n };\n\n interval.offset = function(date, step) {\n return offseti(date = new Date(+date), step == null ? 1 : Math.floor(step)), date;\n };\n\n interval.range = function(start, stop, step) {\n var range = [], previous;\n start = interval.ceil(start);\n step = step == null ? 1 : Math.floor(step);\n if (!(start < stop) || !(step > 0)) return range; // also handles Invalid Date\n do range.push(previous = new Date(+start)), offseti(start, step), floori(start);\n while (previous < start && start < stop);\n return range;\n };\n\n interval.filter = function(test) {\n return newInterval(function(date) {\n if (date >= date) while (floori(date), !test(date)) date.setTime(date - 1);\n }, function(date, step) {\n if (date >= date) {\n if (step < 0) while (++step <= 0) {\n while (offseti(date, -1), !test(date)) {} // eslint-disable-line no-empty\n } else while (--step >= 0) {\n while (offseti(date, +1), !test(date)) {} // eslint-disable-line no-empty\n }\n }\n });\n };\n\n if (count) {\n interval.count = function(start, end) {\n t0.setTime(+start), t1.setTime(+end);\n floori(t0), floori(t1);\n return Math.floor(count(t0, t1));\n };\n\n interval.every = function(step) {\n step = Math.floor(step);\n return !isFinite(step) || !(step > 0) ? null\n : !(step > 1) ? interval\n : interval.filter(field\n ? function(d) { return field(d) % step === 0; }\n : function(d) { return interval.count(0, d) % step === 0; });\n };\n }\n\n return interval;\n}\n","import interval from \"./interval.js\";\n\nvar millisecond = interval(function() {\n // noop\n}, function(date, step) {\n date.setTime(+date + step);\n}, function(start, end) {\n return end - start;\n});\n\n// An optimized implementation for this simple case.\nmillisecond.every = function(k) {\n k = Math.floor(k);\n if (!isFinite(k) || !(k > 0)) return null;\n if (!(k > 1)) return millisecond;\n return interval(function(date) {\n date.setTime(Math.floor(date / k) * k);\n }, function(date, step) {\n date.setTime(+date + step * k);\n }, function(start, end) {\n return (end - start) / k;\n });\n};\n\nexport default millisecond;\nexport var milliseconds = millisecond.range;\n","export const durationSecond = 1000;\nexport const durationMinute = durationSecond * 60;\nexport const durationHour = durationMinute * 60;\nexport const durationDay = durationHour * 24;\nexport const durationWeek = durationDay * 7;\nexport const durationMonth = durationDay * 30;\nexport const durationYear = durationDay * 365;\n","import interval from \"./interval.js\";\nimport {durationSecond} from \"./duration.js\";\n\nvar second = interval(function(date) {\n date.setTime(date - date.getMilliseconds());\n}, function(date, step) {\n date.setTime(+date + step * durationSecond);\n}, function(start, end) {\n return (end - start) / durationSecond;\n}, function(date) {\n return date.getUTCSeconds();\n});\n\nexport default second;\nexport var seconds = second.range;\n","import interval from \"./interval.js\";\nimport {durationMinute, durationSecond} from \"./duration.js\";\n\nvar minute = interval(function(date) {\n date.setTime(date - date.getMilliseconds() - date.getSeconds() * durationSecond);\n}, function(date, step) {\n date.setTime(+date + step * durationMinute);\n}, function(start, end) {\n return (end - start) / durationMinute;\n}, function(date) {\n return date.getMinutes();\n});\n\nexport default minute;\nexport var minutes = minute.range;\n","import interval from \"./interval.js\";\nimport {durationHour, durationMinute, durationSecond} from \"./duration.js\";\n\nvar hour = interval(function(date) {\n date.setTime(date - date.getMilliseconds() - date.getSeconds() * durationSecond - date.getMinutes() * durationMinute);\n}, function(date, step) {\n date.setTime(+date + step * durationHour);\n}, function(start, end) {\n return (end - start) / durationHour;\n}, function(date) {\n return date.getHours();\n});\n\nexport default hour;\nexport var hours = hour.range;\n","import interval from \"./interval.js\";\nimport {durationDay, durationMinute} from \"./duration.js\";\n\nvar day = interval(\n date => date.setHours(0, 0, 0, 0),\n (date, step) => date.setDate(date.getDate() + step),\n (start, end) => (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationDay,\n date => date.getDate() - 1\n);\n\nexport default day;\nexport var days = day.range;\n","import interval from \"./interval.js\";\nimport {durationMinute, durationWeek} from \"./duration.js\";\n\nfunction weekday(i) {\n return interval(function(date) {\n date.setDate(date.getDate() - (date.getDay() + 7 - i) % 7);\n date.setHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setDate(date.getDate() + step * 7);\n }, function(start, end) {\n return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationWeek;\n });\n}\n\nexport var sunday = weekday(0);\nexport var monday = weekday(1);\nexport var tuesday = weekday(2);\nexport var wednesday = weekday(3);\nexport var thursday = weekday(4);\nexport var friday = weekday(5);\nexport var saturday = weekday(6);\n\nexport var sundays = sunday.range;\nexport var mondays = monday.range;\nexport var tuesdays = tuesday.range;\nexport var wednesdays = wednesday.range;\nexport var thursdays = thursday.range;\nexport var fridays = friday.range;\nexport var saturdays = saturday.range;\n","import interval from \"./interval.js\";\n\nvar month = interval(function(date) {\n date.setDate(1);\n date.setHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setMonth(date.getMonth() + step);\n}, function(start, end) {\n return end.getMonth() - start.getMonth() + (end.getFullYear() - start.getFullYear()) * 12;\n}, function(date) {\n return date.getMonth();\n});\n\nexport default month;\nexport var months = month.range;\n","import interval from \"./interval.js\";\n\nvar year = interval(function(date) {\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setFullYear(date.getFullYear() + step);\n}, function(start, end) {\n return end.getFullYear() - start.getFullYear();\n}, function(date) {\n return date.getFullYear();\n});\n\n// An optimized implementation for this simple case.\nyear.every = function(k) {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : interval(function(date) {\n date.setFullYear(Math.floor(date.getFullYear() / k) * k);\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setFullYear(date.getFullYear() + step * k);\n });\n};\n\nexport default year;\nexport var years = year.range;\n","import interval from \"./interval.js\";\nimport {durationMinute} from \"./duration.js\";\n\nvar utcMinute = interval(function(date) {\n date.setUTCSeconds(0, 0);\n}, function(date, step) {\n date.setTime(+date + step * durationMinute);\n}, function(start, end) {\n return (end - start) / durationMinute;\n}, function(date) {\n return date.getUTCMinutes();\n});\n\nexport default utcMinute;\nexport var utcMinutes = utcMinute.range;\n","import interval from \"./interval.js\";\nimport {durationHour} from \"./duration.js\";\n\nvar utcHour = interval(function(date) {\n date.setUTCMinutes(0, 0, 0);\n}, function(date, step) {\n date.setTime(+date + step * durationHour);\n}, function(start, end) {\n return (end - start) / durationHour;\n}, function(date) {\n return date.getUTCHours();\n});\n\nexport default utcHour;\nexport var utcHours = utcHour.range;\n","import interval from \"./interval.js\";\nimport {durationDay} from \"./duration.js\";\n\nvar utcDay = interval(function(date) {\n date.setUTCHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setUTCDate(date.getUTCDate() + step);\n}, function(start, end) {\n return (end - start) / durationDay;\n}, function(date) {\n return date.getUTCDate() - 1;\n});\n\nexport default utcDay;\nexport var utcDays = utcDay.range;\n","import interval from \"./interval.js\";\nimport {durationWeek} from \"./duration.js\";\n\nfunction utcWeekday(i) {\n return interval(function(date) {\n date.setUTCDate(date.getUTCDate() - (date.getUTCDay() + 7 - i) % 7);\n date.setUTCHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setUTCDate(date.getUTCDate() + step * 7);\n }, function(start, end) {\n return (end - start) / durationWeek;\n });\n}\n\nexport var utcSunday = utcWeekday(0);\nexport var utcMonday = utcWeekday(1);\nexport var utcTuesday = utcWeekday(2);\nexport var utcWednesday = utcWeekday(3);\nexport var utcThursday = utcWeekday(4);\nexport var utcFriday = utcWeekday(5);\nexport var utcSaturday = utcWeekday(6);\n\nexport var utcSundays = utcSunday.range;\nexport var utcMondays = utcMonday.range;\nexport var utcTuesdays = utcTuesday.range;\nexport var utcWednesdays = utcWednesday.range;\nexport var utcThursdays = utcThursday.range;\nexport var utcFridays = utcFriday.range;\nexport var utcSaturdays = utcSaturday.range;\n","import interval from \"./interval.js\";\n\nvar utcMonth = interval(function(date) {\n date.setUTCDate(1);\n date.setUTCHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setUTCMonth(date.getUTCMonth() + step);\n}, function(start, end) {\n return end.getUTCMonth() - start.getUTCMonth() + (end.getUTCFullYear() - start.getUTCFullYear()) * 12;\n}, function(date) {\n return date.getUTCMonth();\n});\n\nexport default utcMonth;\nexport var utcMonths = utcMonth.range;\n","import interval from \"./interval.js\";\n\nvar utcYear = interval(function(date) {\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setUTCFullYear(date.getUTCFullYear() + step);\n}, function(start, end) {\n return end.getUTCFullYear() - start.getUTCFullYear();\n}, function(date) {\n return date.getUTCFullYear();\n});\n\n// An optimized implementation for this simple case.\nutcYear.every = function(k) {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : interval(function(date) {\n date.setUTCFullYear(Math.floor(date.getUTCFullYear() / k) * k);\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setUTCFullYear(date.getUTCFullYear() + step * k);\n });\n};\n\nexport default utcYear;\nexport var utcYears = utcYear.range;\n","import {bisector, tickStep} from \"d3-array\";\nimport {durationDay, durationHour, durationMinute, durationMonth, durationSecond, durationWeek, durationYear} from \"./duration.js\";\nimport millisecond from \"./millisecond.js\";\nimport second from \"./second.js\";\nimport minute from \"./minute.js\";\nimport hour from \"./hour.js\";\nimport day from \"./day.js\";\nimport {sunday as week} from \"./week.js\";\nimport month from \"./month.js\";\nimport year from \"./year.js\";\nimport utcMinute from \"./utcMinute.js\";\nimport utcHour from \"./utcHour.js\";\nimport utcDay from \"./utcDay.js\";\nimport {utcSunday as utcWeek} from \"./utcWeek.js\";\nimport utcMonth from \"./utcMonth.js\";\nimport utcYear from \"./utcYear.js\";\n\nfunction ticker(year, month, week, day, hour, minute) {\n\n const tickIntervals = [\n [second, 1, durationSecond],\n [second, 5, 5 * durationSecond],\n [second, 15, 15 * durationSecond],\n [second, 30, 30 * durationSecond],\n [minute, 1, durationMinute],\n [minute, 5, 5 * durationMinute],\n [minute, 15, 15 * durationMinute],\n [minute, 30, 30 * durationMinute],\n [ hour, 1, durationHour ],\n [ hour, 3, 3 * durationHour ],\n [ hour, 6, 6 * durationHour ],\n [ hour, 12, 12 * durationHour ],\n [ day, 1, durationDay ],\n [ day, 2, 2 * durationDay ],\n [ week, 1, durationWeek ],\n [ month, 1, durationMonth ],\n [ month, 3, 3 * durationMonth ],\n [ year, 1, durationYear ]\n ];\n\n function ticks(start, stop, count) {\n const reverse = stop < start;\n if (reverse) [start, stop] = [stop, start];\n const interval = count && typeof count.range === \"function\" ? count : tickInterval(start, stop, count);\n const ticks = interval ? interval.range(start, +stop + 1) : []; // inclusive stop\n return reverse ? ticks.reverse() : ticks;\n }\n\n function tickInterval(start, stop, count) {\n const target = Math.abs(stop - start) / count;\n const i = bisector(([,, step]) => step).right(tickIntervals, target);\n if (i === tickIntervals.length) return year.every(tickStep(start / durationYear, stop / durationYear, count));\n if (i === 0) return millisecond.every(Math.max(tickStep(start, stop, count), 1));\n const [t, step] = tickIntervals[target / tickIntervals[i - 1][2] < tickIntervals[i][2] / target ? i - 1 : i];\n return t.every(step);\n }\n\n return [ticks, tickInterval];\n}\n\nconst [utcTicks, utcTickInterval] = ticker(utcYear, utcMonth, utcWeek, utcDay, utcHour, utcMinute);\nconst [timeTicks, timeTickInterval] = ticker(year, month, week, day, hour, minute);\n\nexport {utcTicks, utcTickInterval, timeTicks, timeTickInterval};\n","import {\n timeDay,\n timeSunday,\n timeMonday,\n timeThursday,\n timeYear,\n utcDay,\n utcSunday,\n utcMonday,\n utcThursday,\n utcYear\n} from \"d3-time\";\n\nfunction localDate(d) {\n if (0 <= d.y && d.y < 100) {\n var date = new Date(-1, d.m, d.d, d.H, d.M, d.S, d.L);\n date.setFullYear(d.y);\n return date;\n }\n return new Date(d.y, d.m, d.d, d.H, d.M, d.S, d.L);\n}\n\nfunction utcDate(d) {\n if (0 <= d.y && d.y < 100) {\n var date = new Date(Date.UTC(-1, d.m, d.d, d.H, d.M, d.S, d.L));\n date.setUTCFullYear(d.y);\n return date;\n }\n return new Date(Date.UTC(d.y, d.m, d.d, d.H, d.M, d.S, d.L));\n}\n\nfunction newDate(y, m, d) {\n return {y: y, m: m, d: d, H: 0, M: 0, S: 0, L: 0};\n}\n\nexport default function formatLocale(locale) {\n var locale_dateTime = locale.dateTime,\n locale_date = locale.date,\n locale_time = locale.time,\n locale_periods = locale.periods,\n locale_weekdays = locale.days,\n locale_shortWeekdays = locale.shortDays,\n locale_months = locale.months,\n locale_shortMonths = locale.shortMonths;\n\n var periodRe = formatRe(locale_periods),\n periodLookup = formatLookup(locale_periods),\n weekdayRe = formatRe(locale_weekdays),\n weekdayLookup = formatLookup(locale_weekdays),\n shortWeekdayRe = formatRe(locale_shortWeekdays),\n shortWeekdayLookup = formatLookup(locale_shortWeekdays),\n monthRe = formatRe(locale_months),\n monthLookup = formatLookup(locale_months),\n shortMonthRe = formatRe(locale_shortMonths),\n shortMonthLookup = formatLookup(locale_shortMonths);\n\n var formats = {\n \"a\": formatShortWeekday,\n \"A\": formatWeekday,\n \"b\": formatShortMonth,\n \"B\": formatMonth,\n \"c\": null,\n \"d\": formatDayOfMonth,\n \"e\": formatDayOfMonth,\n \"f\": formatMicroseconds,\n \"g\": formatYearISO,\n \"G\": formatFullYearISO,\n \"H\": formatHour24,\n \"I\": formatHour12,\n \"j\": formatDayOfYear,\n \"L\": formatMilliseconds,\n \"m\": formatMonthNumber,\n \"M\": formatMinutes,\n \"p\": formatPeriod,\n \"q\": formatQuarter,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatSeconds,\n \"u\": formatWeekdayNumberMonday,\n \"U\": formatWeekNumberSunday,\n \"V\": formatWeekNumberISO,\n \"w\": formatWeekdayNumberSunday,\n \"W\": formatWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatYear,\n \"Y\": formatFullYear,\n \"Z\": formatZone,\n \"%\": formatLiteralPercent\n };\n\n var utcFormats = {\n \"a\": formatUTCShortWeekday,\n \"A\": formatUTCWeekday,\n \"b\": formatUTCShortMonth,\n \"B\": formatUTCMonth,\n \"c\": null,\n \"d\": formatUTCDayOfMonth,\n \"e\": formatUTCDayOfMonth,\n \"f\": formatUTCMicroseconds,\n \"g\": formatUTCYearISO,\n \"G\": formatUTCFullYearISO,\n \"H\": formatUTCHour24,\n \"I\": formatUTCHour12,\n \"j\": formatUTCDayOfYear,\n \"L\": formatUTCMilliseconds,\n \"m\": formatUTCMonthNumber,\n \"M\": formatUTCMinutes,\n \"p\": formatUTCPeriod,\n \"q\": formatUTCQuarter,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatUTCSeconds,\n \"u\": formatUTCWeekdayNumberMonday,\n \"U\": formatUTCWeekNumberSunday,\n \"V\": formatUTCWeekNumberISO,\n \"w\": formatUTCWeekdayNumberSunday,\n \"W\": formatUTCWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatUTCYear,\n \"Y\": formatUTCFullYear,\n \"Z\": formatUTCZone,\n \"%\": formatLiteralPercent\n };\n\n var parses = {\n \"a\": parseShortWeekday,\n \"A\": parseWeekday,\n \"b\": parseShortMonth,\n \"B\": parseMonth,\n \"c\": parseLocaleDateTime,\n \"d\": parseDayOfMonth,\n \"e\": parseDayOfMonth,\n \"f\": parseMicroseconds,\n \"g\": parseYear,\n \"G\": parseFullYear,\n \"H\": parseHour24,\n \"I\": parseHour24,\n \"j\": parseDayOfYear,\n \"L\": parseMilliseconds,\n \"m\": parseMonthNumber,\n \"M\": parseMinutes,\n \"p\": parsePeriod,\n \"q\": parseQuarter,\n \"Q\": parseUnixTimestamp,\n \"s\": parseUnixTimestampSeconds,\n \"S\": parseSeconds,\n \"u\": parseWeekdayNumberMonday,\n \"U\": parseWeekNumberSunday,\n \"V\": parseWeekNumberISO,\n \"w\": parseWeekdayNumberSunday,\n \"W\": parseWeekNumberMonday,\n \"x\": parseLocaleDate,\n \"X\": parseLocaleTime,\n \"y\": parseYear,\n \"Y\": parseFullYear,\n \"Z\": parseZone,\n \"%\": parseLiteralPercent\n };\n\n // These recursive directive definitions must be deferred.\n formats.x = newFormat(locale_date, formats);\n formats.X = newFormat(locale_time, formats);\n formats.c = newFormat(locale_dateTime, formats);\n utcFormats.x = newFormat(locale_date, utcFormats);\n utcFormats.X = newFormat(locale_time, utcFormats);\n utcFormats.c = newFormat(locale_dateTime, utcFormats);\n\n function newFormat(specifier, formats) {\n return function(date) {\n var string = [],\n i = -1,\n j = 0,\n n = specifier.length,\n c,\n pad,\n format;\n\n if (!(date instanceof Date)) date = new Date(+date);\n\n while (++i < n) {\n if (specifier.charCodeAt(i) === 37) {\n string.push(specifier.slice(j, i));\n if ((pad = pads[c = specifier.charAt(++i)]) != null) c = specifier.charAt(++i);\n else pad = c === \"e\" ? \" \" : \"0\";\n if (format = formats[c]) c = format(date, pad);\n string.push(c);\n j = i + 1;\n }\n }\n\n string.push(specifier.slice(j, i));\n return string.join(\"\");\n };\n }\n\n function newParse(specifier, Z) {\n return function(string) {\n var d = newDate(1900, undefined, 1),\n i = parseSpecifier(d, specifier, string += \"\", 0),\n week, day;\n if (i != string.length) return null;\n\n // If a UNIX timestamp is specified, return it.\n if (\"Q\" in d) return new Date(d.Q);\n if (\"s\" in d) return new Date(d.s * 1000 + (\"L\" in d ? d.L : 0));\n\n // If this is utcParse, never use the local timezone.\n if (Z && !(\"Z\" in d)) d.Z = 0;\n\n // The am-pm flag is 0 for AM, and 1 for PM.\n if (\"p\" in d) d.H = d.H % 12 + d.p * 12;\n\n // If the month was not specified, inherit from the quarter.\n if (d.m === undefined) d.m = \"q\" in d ? d.q : 0;\n\n // Convert day-of-week and week-of-year to day-of-year.\n if (\"V\" in d) {\n if (d.V < 1 || d.V > 53) return null;\n if (!(\"w\" in d)) d.w = 1;\n if (\"Z\" in d) {\n week = utcDate(newDate(d.y, 0, 1)), day = week.getUTCDay();\n week = day > 4 || day === 0 ? utcMonday.ceil(week) : utcMonday(week);\n week = utcDay.offset(week, (d.V - 1) * 7);\n d.y = week.getUTCFullYear();\n d.m = week.getUTCMonth();\n d.d = week.getUTCDate() + (d.w + 6) % 7;\n } else {\n week = localDate(newDate(d.y, 0, 1)), day = week.getDay();\n week = day > 4 || day === 0 ? timeMonday.ceil(week) : timeMonday(week);\n week = timeDay.offset(week, (d.V - 1) * 7);\n d.y = week.getFullYear();\n d.m = week.getMonth();\n d.d = week.getDate() + (d.w + 6) % 7;\n }\n } else if (\"W\" in d || \"U\" in d) {\n if (!(\"w\" in d)) d.w = \"u\" in d ? d.u % 7 : \"W\" in d ? 1 : 0;\n day = \"Z\" in d ? utcDate(newDate(d.y, 0, 1)).getUTCDay() : localDate(newDate(d.y, 0, 1)).getDay();\n d.m = 0;\n d.d = \"W\" in d ? (d.w + 6) % 7 + d.W * 7 - (day + 5) % 7 : d.w + d.U * 7 - (day + 6) % 7;\n }\n\n // If a time zone is specified, all fields are interpreted as UTC and then\n // offset according to the specified time zone.\n if (\"Z\" in d) {\n d.H += d.Z / 100 | 0;\n d.M += d.Z % 100;\n return utcDate(d);\n }\n\n // Otherwise, all fields are in local time.\n return localDate(d);\n };\n }\n\n function parseSpecifier(d, specifier, string, j) {\n var i = 0,\n n = specifier.length,\n m = string.length,\n c,\n parse;\n\n while (i < n) {\n if (j >= m) return -1;\n c = specifier.charCodeAt(i++);\n if (c === 37) {\n c = specifier.charAt(i++);\n parse = parses[c in pads ? specifier.charAt(i++) : c];\n if (!parse || ((j = parse(d, string, j)) < 0)) return -1;\n } else if (c != string.charCodeAt(j++)) {\n return -1;\n }\n }\n\n return j;\n }\n\n function parsePeriod(d, string, i) {\n var n = periodRe.exec(string.slice(i));\n return n ? (d.p = periodLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseShortWeekday(d, string, i) {\n var n = shortWeekdayRe.exec(string.slice(i));\n return n ? (d.w = shortWeekdayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseWeekday(d, string, i) {\n var n = weekdayRe.exec(string.slice(i));\n return n ? (d.w = weekdayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseShortMonth(d, string, i) {\n var n = shortMonthRe.exec(string.slice(i));\n return n ? (d.m = shortMonthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseMonth(d, string, i) {\n var n = monthRe.exec(string.slice(i));\n return n ? (d.m = monthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseLocaleDateTime(d, string, i) {\n return parseSpecifier(d, locale_dateTime, string, i);\n }\n\n function parseLocaleDate(d, string, i) {\n return parseSpecifier(d, locale_date, string, i);\n }\n\n function parseLocaleTime(d, string, i) {\n return parseSpecifier(d, locale_time, string, i);\n }\n\n function formatShortWeekday(d) {\n return locale_shortWeekdays[d.getDay()];\n }\n\n function formatWeekday(d) {\n return locale_weekdays[d.getDay()];\n }\n\n function formatShortMonth(d) {\n return locale_shortMonths[d.getMonth()];\n }\n\n function formatMonth(d) {\n return locale_months[d.getMonth()];\n }\n\n function formatPeriod(d) {\n return locale_periods[+(d.getHours() >= 12)];\n }\n\n function formatQuarter(d) {\n return 1 + ~~(d.getMonth() / 3);\n }\n\n function formatUTCShortWeekday(d) {\n return locale_shortWeekdays[d.getUTCDay()];\n }\n\n function formatUTCWeekday(d) {\n return locale_weekdays[d.getUTCDay()];\n }\n\n function formatUTCShortMonth(d) {\n return locale_shortMonths[d.getUTCMonth()];\n }\n\n function formatUTCMonth(d) {\n return locale_months[d.getUTCMonth()];\n }\n\n function formatUTCPeriod(d) {\n return locale_periods[+(d.getUTCHours() >= 12)];\n }\n\n function formatUTCQuarter(d) {\n return 1 + ~~(d.getUTCMonth() / 3);\n }\n\n return {\n format: function(specifier) {\n var f = newFormat(specifier += \"\", formats);\n f.toString = function() { return specifier; };\n return f;\n },\n parse: function(specifier) {\n var p = newParse(specifier += \"\", false);\n p.toString = function() { return specifier; };\n return p;\n },\n utcFormat: function(specifier) {\n var f = newFormat(specifier += \"\", utcFormats);\n f.toString = function() { return specifier; };\n return f;\n },\n utcParse: function(specifier) {\n var p = newParse(specifier += \"\", true);\n p.toString = function() { return specifier; };\n return p;\n }\n };\n}\n\nvar pads = {\"-\": \"\", \"_\": \" \", \"0\": \"0\"},\n numberRe = /^\\s*\\d+/, // note: ignores next directive\n percentRe = /^%/,\n requoteRe = /[\\\\^$*+?|[\\]().{}]/g;\n\nfunction pad(value, fill, width) {\n var sign = value < 0 ? \"-\" : \"\",\n string = (sign ? -value : value) + \"\",\n length = string.length;\n return sign + (length < width ? new Array(width - length + 1).join(fill) + string : string);\n}\n\nfunction requote(s) {\n return s.replace(requoteRe, \"\\\\$&\");\n}\n\nfunction formatRe(names) {\n return new RegExp(\"^(?:\" + names.map(requote).join(\"|\") + \")\", \"i\");\n}\n\nfunction formatLookup(names) {\n return new Map(names.map((name, i) => [name.toLowerCase(), i]));\n}\n\nfunction parseWeekdayNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.w = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekdayNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.u = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.U = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberISO(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.V = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.W = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseFullYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 4));\n return n ? (d.y = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.y = +n[0] + (+n[0] > 68 ? 1900 : 2000), i + n[0].length) : -1;\n}\n\nfunction parseZone(d, string, i) {\n var n = /^(Z)|([+-]\\d\\d)(?::?(\\d\\d))?/.exec(string.slice(i, i + 6));\n return n ? (d.Z = n[1] ? 0 : -(n[2] + (n[3] || \"00\")), i + n[0].length) : -1;\n}\n\nfunction parseQuarter(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.q = n[0] * 3 - 3, i + n[0].length) : -1;\n}\n\nfunction parseMonthNumber(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.m = n[0] - 1, i + n[0].length) : -1;\n}\n\nfunction parseDayOfMonth(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.d = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseDayOfYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.m = 0, d.d = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseHour24(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.H = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMinutes(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.M = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.S = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMilliseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.L = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMicroseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 6));\n return n ? (d.L = Math.floor(n[0] / 1000), i + n[0].length) : -1;\n}\n\nfunction parseLiteralPercent(d, string, i) {\n var n = percentRe.exec(string.slice(i, i + 1));\n return n ? i + n[0].length : -1;\n}\n\nfunction parseUnixTimestamp(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.Q = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseUnixTimestampSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.s = +n[0], i + n[0].length) : -1;\n}\n\nfunction formatDayOfMonth(d, p) {\n return pad(d.getDate(), p, 2);\n}\n\nfunction formatHour24(d, p) {\n return pad(d.getHours(), p, 2);\n}\n\nfunction formatHour12(d, p) {\n return pad(d.getHours() % 12 || 12, p, 2);\n}\n\nfunction formatDayOfYear(d, p) {\n return pad(1 + timeDay.count(timeYear(d), d), p, 3);\n}\n\nfunction formatMilliseconds(d, p) {\n return pad(d.getMilliseconds(), p, 3);\n}\n\nfunction formatMicroseconds(d, p) {\n return formatMilliseconds(d, p) + \"000\";\n}\n\nfunction formatMonthNumber(d, p) {\n return pad(d.getMonth() + 1, p, 2);\n}\n\nfunction formatMinutes(d, p) {\n return pad(d.getMinutes(), p, 2);\n}\n\nfunction formatSeconds(d, p) {\n return pad(d.getSeconds(), p, 2);\n}\n\nfunction formatWeekdayNumberMonday(d) {\n var day = d.getDay();\n return day === 0 ? 7 : day;\n}\n\nfunction formatWeekNumberSunday(d, p) {\n return pad(timeSunday.count(timeYear(d) - 1, d), p, 2);\n}\n\nfunction dISO(d) {\n var day = d.getDay();\n return (day >= 4 || day === 0) ? timeThursday(d) : timeThursday.ceil(d);\n}\n\nfunction formatWeekNumberISO(d, p) {\n d = dISO(d);\n return pad(timeThursday.count(timeYear(d), d) + (timeYear(d).getDay() === 4), p, 2);\n}\n\nfunction formatWeekdayNumberSunday(d) {\n return d.getDay();\n}\n\nfunction formatWeekNumberMonday(d, p) {\n return pad(timeMonday.count(timeYear(d) - 1, d), p, 2);\n}\n\nfunction formatYear(d, p) {\n return pad(d.getFullYear() % 100, p, 2);\n}\n\nfunction formatYearISO(d, p) {\n d = dISO(d);\n return pad(d.getFullYear() % 100, p, 2);\n}\n\nfunction formatFullYear(d, p) {\n return pad(d.getFullYear() % 10000, p, 4);\n}\n\nfunction formatFullYearISO(d, p) {\n var day = d.getDay();\n d = (day >= 4 || day === 0) ? timeThursday(d) : timeThursday.ceil(d);\n return pad(d.getFullYear() % 10000, p, 4);\n}\n\nfunction formatZone(d) {\n var z = d.getTimezoneOffset();\n return (z > 0 ? \"-\" : (z *= -1, \"+\"))\n + pad(z / 60 | 0, \"0\", 2)\n + pad(z % 60, \"0\", 2);\n}\n\nfunction formatUTCDayOfMonth(d, p) {\n return pad(d.getUTCDate(), p, 2);\n}\n\nfunction formatUTCHour24(d, p) {\n return pad(d.getUTCHours(), p, 2);\n}\n\nfunction formatUTCHour12(d, p) {\n return pad(d.getUTCHours() % 12 || 12, p, 2);\n}\n\nfunction formatUTCDayOfYear(d, p) {\n return pad(1 + utcDay.count(utcYear(d), d), p, 3);\n}\n\nfunction formatUTCMilliseconds(d, p) {\n return pad(d.getUTCMilliseconds(), p, 3);\n}\n\nfunction formatUTCMicroseconds(d, p) {\n return formatUTCMilliseconds(d, p) + \"000\";\n}\n\nfunction formatUTCMonthNumber(d, p) {\n return pad(d.getUTCMonth() + 1, p, 2);\n}\n\nfunction formatUTCMinutes(d, p) {\n return pad(d.getUTCMinutes(), p, 2);\n}\n\nfunction formatUTCSeconds(d, p) {\n return pad(d.getUTCSeconds(), p, 2);\n}\n\nfunction formatUTCWeekdayNumberMonday(d) {\n var dow = d.getUTCDay();\n return dow === 0 ? 7 : dow;\n}\n\nfunction formatUTCWeekNumberSunday(d, p) {\n return pad(utcSunday.count(utcYear(d) - 1, d), p, 2);\n}\n\nfunction UTCdISO(d) {\n var day = d.getUTCDay();\n return (day >= 4 || day === 0) ? utcThursday(d) : utcThursday.ceil(d);\n}\n\nfunction formatUTCWeekNumberISO(d, p) {\n d = UTCdISO(d);\n return pad(utcThursday.count(utcYear(d), d) + (utcYear(d).getUTCDay() === 4), p, 2);\n}\n\nfunction formatUTCWeekdayNumberSunday(d) {\n return d.getUTCDay();\n}\n\nfunction formatUTCWeekNumberMonday(d, p) {\n return pad(utcMonday.count(utcYear(d) - 1, d), p, 2);\n}\n\nfunction formatUTCYear(d, p) {\n return pad(d.getUTCFullYear() % 100, p, 2);\n}\n\nfunction formatUTCYearISO(d, p) {\n d = UTCdISO(d);\n return pad(d.getUTCFullYear() % 100, p, 2);\n}\n\nfunction formatUTCFullYear(d, p) {\n return pad(d.getUTCFullYear() % 10000, p, 4);\n}\n\nfunction formatUTCFullYearISO(d, p) {\n var day = d.getUTCDay();\n d = (day >= 4 || day === 0) ? utcThursday(d) : utcThursday.ceil(d);\n return pad(d.getUTCFullYear() % 10000, p, 4);\n}\n\nfunction formatUTCZone() {\n return \"+0000\";\n}\n\nfunction formatLiteralPercent() {\n return \"%\";\n}\n\nfunction formatUnixTimestamp(d) {\n return +d;\n}\n\nfunction formatUnixTimestampSeconds(d) {\n return Math.floor(+d / 1000);\n}\n","import formatLocale from \"./locale.js\";\n\nvar locale;\nexport var timeFormat;\nexport var timeParse;\nexport var utcFormat;\nexport var utcParse;\n\ndefaultLocale({\n dateTime: \"%x, %X\",\n date: \"%-m/%-d/%Y\",\n time: \"%-I:%M:%S %p\",\n periods: [\"AM\", \"PM\"],\n days: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"],\n shortDays: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n months: [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"],\n shortMonths: [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"]\n});\n\nexport default function defaultLocale(definition) {\n locale = formatLocale(definition);\n timeFormat = locale.format;\n timeParse = locale.parse;\n utcFormat = locale.utcFormat;\n utcParse = locale.utcParse;\n return locale;\n}\n","import {timeYear, timeMonth, timeWeek, timeDay, timeHour, timeMinute, timeSecond, timeTicks, timeTickInterval} from \"d3-time\";\nimport {timeFormat} from \"d3-time-format\";\nimport continuous, {copy} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\nimport nice from \"./nice.js\";\n\nfunction date(t) {\n return new Date(t);\n}\n\nfunction number(t) {\n return t instanceof Date ? +t : +new Date(+t);\n}\n\nexport function calendar(ticks, tickInterval, year, month, week, day, hour, minute, second, format) {\n var scale = continuous(),\n invert = scale.invert,\n domain = scale.domain;\n\n var formatMillisecond = format(\".%L\"),\n formatSecond = format(\":%S\"),\n formatMinute = format(\"%I:%M\"),\n formatHour = format(\"%I %p\"),\n formatDay = format(\"%a %d\"),\n formatWeek = format(\"%b %d\"),\n formatMonth = format(\"%B\"),\n formatYear = format(\"%Y\");\n\n function tickFormat(date) {\n return (second(date) < date ? formatMillisecond\n : minute(date) < date ? formatSecond\n : hour(date) < date ? formatMinute\n : day(date) < date ? formatHour\n : month(date) < date ? (week(date) < date ? formatDay : formatWeek)\n : year(date) < date ? formatMonth\n : formatYear)(date);\n }\n\n scale.invert = function(y) {\n return new Date(invert(y));\n };\n\n scale.domain = function(_) {\n return arguments.length ? domain(Array.from(_, number)) : domain().map(date);\n };\n\n scale.ticks = function(interval) {\n var d = domain();\n return ticks(d[0], d[d.length - 1], interval == null ? 10 : interval);\n };\n\n scale.tickFormat = function(count, specifier) {\n return specifier == null ? tickFormat : format(specifier);\n };\n\n scale.nice = function(interval) {\n var d = domain();\n if (!interval || typeof interval.range !== \"function\") interval = tickInterval(d[0], d[d.length - 1], interval == null ? 10 : interval);\n return interval ? domain(nice(d, interval)) : scale;\n };\n\n scale.copy = function() {\n return copy(scale, calendar(ticks, tickInterval, year, month, week, day, hour, minute, second, format));\n };\n\n return scale;\n}\n\nexport default function time() {\n return initRange.apply(calendar(timeTicks, timeTickInterval, timeYear, timeMonth, timeWeek, timeDay, timeHour, timeMinute, timeSecond, timeFormat).domain([new Date(2000, 0, 1), new Date(2000, 0, 2)]), arguments);\n}\n","import {utcYear, utcMonth, utcWeek, utcDay, utcHour, utcMinute, utcSecond, utcTicks, utcTickInterval} from \"d3-time\";\nimport {utcFormat} from \"d3-time-format\";\nimport {calendar} from \"./time.js\";\nimport {initRange} from \"./init.js\";\n\nexport default function utcTime() {\n return initRange.apply(calendar(utcTicks, utcTickInterval, utcYear, utcMonth, utcWeek, utcDay, utcHour, utcMinute, utcSecond, utcFormat).domain([Date.UTC(2000, 0, 1), Date.UTC(2000, 0, 2)]), arguments);\n}\n","export default function(specifier) {\n var n = specifier.length / 6 | 0, colors = new Array(n), i = 0;\n while (i < n) colors[i] = \"#\" + specifier.slice(i * 6, ++i * 6);\n return colors;\n}\n","import colors from \"../colors.js\";\n\nexport default colors(\"1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf\");\n","import colors from \"../colors.js\";\n\nexport default colors(\"7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17666666\");\n","import colors from \"../colors.js\";\n\nexport default colors(\"1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666\");\n","import colors from \"../colors.js\";\n\nexport default colors(\"a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928\");\n","import colors from \"../colors.js\";\n\nexport default colors(\"fbb4aeb3cde3ccebc5decbe4fed9a6ffffcce5d8bdfddaecf2f2f2\");\n","import colors from \"../colors.js\";\n\nexport default colors(\"b3e2cdfdcdaccbd5e8f4cae4e6f5c9fff2aef1e2cccccccc\");\n","import colors from \"../colors.js\";\n\nexport default colors(\"e41a1c377eb84daf4a984ea3ff7f00ffff33a65628f781bf999999\");\n","import colors from \"../colors.js\";\n\nexport default colors(\"66c2a5fc8d628da0cbe78ac3a6d854ffd92fe5c494b3b3b3\");\n","import colors from \"../colors.js\";\n\nexport default colors(\"8dd3c7ffffb3bebadafb807280b1d3fdb462b3de69fccde5d9d9d9bc80bdccebc5ffed6f\");\n","import {interpolateRgbBasis} from \"d3-interpolate\";\n\nexport default scheme => interpolateRgbBasis(scheme[scheme.length - 1]);\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"d8b365f5f5f55ab4ac\",\n \"a6611adfc27d80cdc1018571\",\n \"a6611adfc27df5f5f580cdc1018571\",\n \"8c510ad8b365f6e8c3c7eae55ab4ac01665e\",\n \"8c510ad8b365f6e8c3f5f5f5c7eae55ab4ac01665e\",\n \"8c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e\",\n \"8c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e\",\n \"5430058c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e003c30\",\n \"5430058c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e003c30\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"af8dc3f7f7f77fbf7b\",\n \"7b3294c2a5cfa6dba0008837\",\n \"7b3294c2a5cff7f7f7a6dba0008837\",\n \"762a83af8dc3e7d4e8d9f0d37fbf7b1b7837\",\n \"762a83af8dc3e7d4e8f7f7f7d9f0d37fbf7b1b7837\",\n \"762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b7837\",\n \"762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b7837\",\n \"40004b762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b783700441b\",\n \"40004b762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b783700441b\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"e9a3c9f7f7f7a1d76a\",\n \"d01c8bf1b6dab8e1864dac26\",\n \"d01c8bf1b6daf7f7f7b8e1864dac26\",\n \"c51b7de9a3c9fde0efe6f5d0a1d76a4d9221\",\n \"c51b7de9a3c9fde0eff7f7f7e6f5d0a1d76a4d9221\",\n \"c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221\",\n \"c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221\",\n \"8e0152c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221276419\",\n \"8e0152c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221276419\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"998ec3f7f7f7f1a340\",\n \"5e3c99b2abd2fdb863e66101\",\n \"5e3c99b2abd2f7f7f7fdb863e66101\",\n \"542788998ec3d8daebfee0b6f1a340b35806\",\n \"542788998ec3d8daebf7f7f7fee0b6f1a340b35806\",\n \"5427888073acb2abd2d8daebfee0b6fdb863e08214b35806\",\n \"5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b35806\",\n \"2d004b5427888073acb2abd2d8daebfee0b6fdb863e08214b358067f3b08\",\n \"2d004b5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b358067f3b08\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"ef8a62f7f7f767a9cf\",\n \"ca0020f4a58292c5de0571b0\",\n \"ca0020f4a582f7f7f792c5de0571b0\",\n \"b2182bef8a62fddbc7d1e5f067a9cf2166ac\",\n \"b2182bef8a62fddbc7f7f7f7d1e5f067a9cf2166ac\",\n \"b2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac\",\n \"b2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac\",\n \"67001fb2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac053061\",\n \"67001fb2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac053061\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"ef8a62ffffff999999\",\n \"ca0020f4a582bababa404040\",\n \"ca0020f4a582ffffffbababa404040\",\n \"b2182bef8a62fddbc7e0e0e09999994d4d4d\",\n \"b2182bef8a62fddbc7ffffffe0e0e09999994d4d4d\",\n \"b2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d\",\n \"b2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d\",\n \"67001fb2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d1a1a1a\",\n \"67001fb2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d1a1a1a\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"fc8d59ffffbf91bfdb\",\n \"d7191cfdae61abd9e92c7bb6\",\n \"d7191cfdae61ffffbfabd9e92c7bb6\",\n \"d73027fc8d59fee090e0f3f891bfdb4575b4\",\n \"d73027fc8d59fee090ffffbfe0f3f891bfdb4575b4\",\n \"d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4\",\n \"d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4\",\n \"a50026d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4313695\",\n \"a50026d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4313695\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"fc8d59ffffbf91cf60\",\n \"d7191cfdae61a6d96a1a9641\",\n \"d7191cfdae61ffffbfa6d96a1a9641\",\n \"d73027fc8d59fee08bd9ef8b91cf601a9850\",\n \"d73027fc8d59fee08bffffbfd9ef8b91cf601a9850\",\n \"d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850\",\n \"d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850\",\n \"a50026d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850006837\",\n \"a50026d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850006837\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"fc8d59ffffbf99d594\",\n \"d7191cfdae61abdda42b83ba\",\n \"d7191cfdae61ffffbfabdda42b83ba\",\n \"d53e4ffc8d59fee08be6f59899d5943288bd\",\n \"d53e4ffc8d59fee08bffffbfe6f59899d5943288bd\",\n \"d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd\",\n \"d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd\",\n \"9e0142d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd5e4fa2\",\n \"9e0142d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd5e4fa2\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"e5f5f999d8c92ca25f\",\n \"edf8fbb2e2e266c2a4238b45\",\n \"edf8fbb2e2e266c2a42ca25f006d2c\",\n \"edf8fbccece699d8c966c2a42ca25f006d2c\",\n \"edf8fbccece699d8c966c2a441ae76238b45005824\",\n \"f7fcfde5f5f9ccece699d8c966c2a441ae76238b45005824\",\n \"f7fcfde5f5f9ccece699d8c966c2a441ae76238b45006d2c00441b\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"e0ecf49ebcda8856a7\",\n \"edf8fbb3cde38c96c688419d\",\n \"edf8fbb3cde38c96c68856a7810f7c\",\n \"edf8fbbfd3e69ebcda8c96c68856a7810f7c\",\n \"edf8fbbfd3e69ebcda8c96c68c6bb188419d6e016b\",\n \"f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d6e016b\",\n \"f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d810f7c4d004b\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"e0f3dba8ddb543a2ca\",\n \"f0f9e8bae4bc7bccc42b8cbe\",\n \"f0f9e8bae4bc7bccc443a2ca0868ac\",\n \"f0f9e8ccebc5a8ddb57bccc443a2ca0868ac\",\n \"f0f9e8ccebc5a8ddb57bccc44eb3d32b8cbe08589e\",\n \"f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe08589e\",\n \"f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe0868ac084081\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"fee8c8fdbb84e34a33\",\n \"fef0d9fdcc8afc8d59d7301f\",\n \"fef0d9fdcc8afc8d59e34a33b30000\",\n \"fef0d9fdd49efdbb84fc8d59e34a33b30000\",\n \"fef0d9fdd49efdbb84fc8d59ef6548d7301f990000\",\n \"fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301f990000\",\n \"fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301fb300007f0000\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"ece2f0a6bddb1c9099\",\n \"f6eff7bdc9e167a9cf02818a\",\n \"f6eff7bdc9e167a9cf1c9099016c59\",\n \"f6eff7d0d1e6a6bddb67a9cf1c9099016c59\",\n \"f6eff7d0d1e6a6bddb67a9cf3690c002818a016450\",\n \"fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016450\",\n \"fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016c59014636\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"ece7f2a6bddb2b8cbe\",\n \"f1eef6bdc9e174a9cf0570b0\",\n \"f1eef6bdc9e174a9cf2b8cbe045a8d\",\n \"f1eef6d0d1e6a6bddb74a9cf2b8cbe045a8d\",\n \"f1eef6d0d1e6a6bddb74a9cf3690c00570b0034e7b\",\n \"fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0034e7b\",\n \"fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0045a8d023858\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"e7e1efc994c7dd1c77\",\n \"f1eef6d7b5d8df65b0ce1256\",\n \"f1eef6d7b5d8df65b0dd1c77980043\",\n \"f1eef6d4b9dac994c7df65b0dd1c77980043\",\n \"f1eef6d4b9dac994c7df65b0e7298ace125691003f\",\n \"f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125691003f\",\n \"f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125698004367001f\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"fde0ddfa9fb5c51b8a\",\n \"feebe2fbb4b9f768a1ae017e\",\n \"feebe2fbb4b9f768a1c51b8a7a0177\",\n \"feebe2fcc5c0fa9fb5f768a1c51b8a7a0177\",\n \"feebe2fcc5c0fa9fb5f768a1dd3497ae017e7a0177\",\n \"fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a0177\",\n \"fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a017749006a\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"edf8b17fcdbb2c7fb8\",\n \"ffffcca1dab441b6c4225ea8\",\n \"ffffcca1dab441b6c42c7fb8253494\",\n \"ffffccc7e9b47fcdbb41b6c42c7fb8253494\",\n \"ffffccc7e9b47fcdbb41b6c41d91c0225ea80c2c84\",\n \"ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea80c2c84\",\n \"ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea8253494081d58\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"f7fcb9addd8e31a354\",\n \"ffffccc2e69978c679238443\",\n \"ffffccc2e69978c67931a354006837\",\n \"ffffccd9f0a3addd8e78c67931a354006837\",\n \"ffffccd9f0a3addd8e78c67941ab5d238443005a32\",\n \"ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443005a32\",\n \"ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443006837004529\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"fff7bcfec44fd95f0e\",\n \"ffffd4fed98efe9929cc4c02\",\n \"ffffd4fed98efe9929d95f0e993404\",\n \"ffffd4fee391fec44ffe9929d95f0e993404\",\n \"ffffd4fee391fec44ffe9929ec7014cc4c028c2d04\",\n \"ffffe5fff7bcfee391fec44ffe9929ec7014cc4c028c2d04\",\n \"ffffe5fff7bcfee391fec44ffe9929ec7014cc4c02993404662506\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"ffeda0feb24cf03b20\",\n \"ffffb2fecc5cfd8d3ce31a1c\",\n \"ffffb2fecc5cfd8d3cf03b20bd0026\",\n \"ffffb2fed976feb24cfd8d3cf03b20bd0026\",\n \"ffffb2fed976feb24cfd8d3cfc4e2ae31a1cb10026\",\n \"ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cb10026\",\n \"ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cbd0026800026\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"deebf79ecae13182bd\",\n \"eff3ffbdd7e76baed62171b5\",\n \"eff3ffbdd7e76baed63182bd08519c\",\n \"eff3ffc6dbef9ecae16baed63182bd08519c\",\n \"eff3ffc6dbef9ecae16baed64292c62171b5084594\",\n \"f7fbffdeebf7c6dbef9ecae16baed64292c62171b5084594\",\n \"f7fbffdeebf7c6dbef9ecae16baed64292c62171b508519c08306b\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"e5f5e0a1d99b31a354\",\n \"edf8e9bae4b374c476238b45\",\n \"edf8e9bae4b374c47631a354006d2c\",\n \"edf8e9c7e9c0a1d99b74c47631a354006d2c\",\n \"edf8e9c7e9c0a1d99b74c47641ab5d238b45005a32\",\n \"f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45005a32\",\n \"f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45006d2c00441b\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"f0f0f0bdbdbd636363\",\n \"f7f7f7cccccc969696525252\",\n \"f7f7f7cccccc969696636363252525\",\n \"f7f7f7d9d9d9bdbdbd969696636363252525\",\n \"f7f7f7d9d9d9bdbdbd969696737373525252252525\",\n \"fffffff0f0f0d9d9d9bdbdbd969696737373525252252525\",\n \"fffffff0f0f0d9d9d9bdbdbd969696737373525252252525000000\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"efedf5bcbddc756bb1\",\n \"f2f0f7cbc9e29e9ac86a51a3\",\n \"f2f0f7cbc9e29e9ac8756bb154278f\",\n \"f2f0f7dadaebbcbddc9e9ac8756bb154278f\",\n \"f2f0f7dadaebbcbddc9e9ac8807dba6a51a34a1486\",\n \"fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a34a1486\",\n \"fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a354278f3f007d\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"fee0d2fc9272de2d26\",\n \"fee5d9fcae91fb6a4acb181d\",\n \"fee5d9fcae91fb6a4ade2d26a50f15\",\n \"fee5d9fcbba1fc9272fb6a4ade2d26a50f15\",\n \"fee5d9fcbba1fc9272fb6a4aef3b2ccb181d99000d\",\n \"fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181d99000d\",\n \"fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181da50f1567000d\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"fee6cefdae6be6550d\",\n \"feeddefdbe85fd8d3cd94701\",\n \"feeddefdbe85fd8d3ce6550da63603\",\n \"feeddefdd0a2fdae6bfd8d3ce6550da63603\",\n \"feeddefdd0a2fdae6bfd8d3cf16913d948018c2d04\",\n \"fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d948018c2d04\",\n \"fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d94801a636037f2704\"\n).map(colors);\n\nexport default ramp(scheme);\n","export default function(t) {\n t = Math.max(0, Math.min(1, t));\n return \"rgb(\"\n + Math.max(0, Math.min(255, Math.round(-4.54 - t * (35.34 - t * (2381.73 - t * (6402.7 - t * (7024.72 - t * 2710.57))))))) + \", \"\n + Math.max(0, Math.min(255, Math.round(32.49 + t * (170.73 + t * (52.82 - t * (131.46 - t * (176.58 - t * 67.37))))))) + \", \"\n + Math.max(0, Math.min(255, Math.round(81.24 + t * (442.36 - t * (2482.43 - t * (6167.24 - t * (6614.94 - t * 2475.67)))))))\n + \")\";\n}\n","import {cubehelix} from \"d3-color\";\nimport {interpolateCubehelixLong} from \"d3-interpolate\";\n\nexport default interpolateCubehelixLong(cubehelix(300, 0.5, 0.0), cubehelix(-240, 0.5, 1.0));\n","import {cubehelix} from \"d3-color\";\nimport {interpolateCubehelixLong} from \"d3-interpolate\";\n\nexport var warm = interpolateCubehelixLong(cubehelix(-100, 0.75, 0.35), cubehelix(80, 1.50, 0.8));\n\nexport var cool = interpolateCubehelixLong(cubehelix(260, 0.75, 0.35), cubehelix(80, 1.50, 0.8));\n\nvar c = cubehelix();\n\nexport default function(t) {\n if (t < 0 || t > 1) t -= Math.floor(t);\n var ts = Math.abs(t - 0.5);\n c.h = 360 * t - 100;\n c.s = 1.5 - 1.5 * ts;\n c.l = 0.8 - 0.9 * ts;\n return c + \"\";\n}\n","import {rgb} from \"d3-color\";\n\nvar c = rgb(),\n pi_1_3 = Math.PI / 3,\n pi_2_3 = Math.PI * 2 / 3;\n\nexport default function(t) {\n var x;\n t = (0.5 - t) * Math.PI;\n c.r = 255 * (x = Math.sin(t)) * x;\n c.g = 255 * (x = Math.sin(t + pi_1_3)) * x;\n c.b = 255 * (x = Math.sin(t + pi_2_3)) * x;\n return c + \"\";\n}\n","export default function(t) {\n t = Math.max(0, Math.min(1, t));\n return \"rgb(\"\n + Math.max(0, Math.min(255, Math.round(34.61 + t * (1172.33 - t * (10793.56 - t * (33300.12 - t * (38394.49 - t * 14825.05))))))) + \", \"\n + Math.max(0, Math.min(255, Math.round(23.31 + t * (557.33 + t * (1225.33 - t * (3574.96 - t * (1073.77 + t * 707.56))))))) + \", \"\n + Math.max(0, Math.min(255, Math.round(27.2 + t * (3211.1 - t * (15327.97 - t * (27814 - t * (22569.18 - t * 6838.66)))))))\n + \")\";\n}\n","import colors from \"../colors.js\";\n\nfunction ramp(range) {\n var n = range.length;\n return function(t) {\n return range[Math.max(0, Math.min(n - 1, Math.floor(t * n)))];\n };\n}\n\nexport default ramp(colors(\"44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725\"));\n\nexport var magma = ramp(colors(\"00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf\"));\n\nexport var inferno = ramp(colors(\"00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4\"));\n\nexport var plasma = ramp(colors(\"0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921\"));\n","var baseDifference = require('./_baseDifference'),\n baseRest = require('./_baseRest'),\n isArrayLikeObject = require('./isArrayLikeObject');\n\n/**\n * Creates an array excluding all given values using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * **Note:** Unlike `_.pull`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...*} [values] The values to exclude.\n * @returns {Array} Returns the new array of filtered values.\n * @see _.difference, _.xor\n * @example\n *\n * _.without([2, 1, 2, 3], 1, 2);\n * // => [3]\n */\nvar without = baseRest(function(array, values) {\n return isArrayLikeObject(array)\n ? baseDifference(array, values)\n : [];\n});\n\nmodule.exports = without;\n","export default function(x) {\n return function constant() {\n return x;\n };\n}\n","export var abs = Math.abs;\nexport var atan2 = Math.atan2;\nexport var cos = Math.cos;\nexport var max = Math.max;\nexport var min = Math.min;\nexport var sin = Math.sin;\nexport var sqrt = Math.sqrt;\n\nexport var epsilon = 1e-12;\nexport var pi = Math.PI;\nexport var halfPi = pi / 2;\nexport var tau = 2 * pi;\n\nexport function acos(x) {\n return x > 1 ? 0 : x < -1 ? pi : Math.acos(x);\n}\n\nexport function asin(x) {\n return x >= 1 ? halfPi : x <= -1 ? -halfPi : Math.asin(x);\n}\n","function Linear(context) {\n this._context = context;\n}\n\nLinear.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; // proceed\n default: this._context.lineTo(x, y); break;\n }\n }\n};\n\nexport default function(context) {\n return new Linear(context);\n}\n","export var slice = Array.prototype.slice;\n","export default function() {}\n","export function point(that, x, y) {\n that._context.bezierCurveTo(\n (2 * that._x0 + that._x1) / 3,\n (2 * that._y0 + that._y1) / 3,\n (that._x0 + 2 * that._x1) / 3,\n (that._y0 + 2 * that._y1) / 3,\n (that._x0 + 4 * that._x1 + x) / 6,\n (that._y0 + 4 * that._y1 + y) / 6\n );\n}\n\nexport function Basis(context) {\n this._context = context;\n}\n\nBasis.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 =\n this._y0 = this._y1 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 3: point(this, this._x1, this._y1); // proceed\n case 2: this._context.lineTo(this._x1, this._y1); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; this._context.lineTo((5 * this._x0 + this._x1) / 6, (5 * this._y0 + this._y1) / 6); // proceed\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n }\n};\n\nexport default function(context) {\n return new Basis(context);\n}\n","import noop from \"../noop.js\";\nimport {point} from \"./basis.js\";\n\nfunction BasisClosed(context) {\n this._context = context;\n}\n\nBasisClosed.prototype = {\n areaStart: noop,\n areaEnd: noop,\n lineStart: function() {\n this._x0 = this._x1 = this._x2 = this._x3 = this._x4 =\n this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 1: {\n this._context.moveTo(this._x2, this._y2);\n this._context.closePath();\n break;\n }\n case 2: {\n this._context.moveTo((this._x2 + 2 * this._x3) / 3, (this._y2 + 2 * this._y3) / 3);\n this._context.lineTo((this._x3 + 2 * this._x2) / 3, (this._y3 + 2 * this._y2) / 3);\n this._context.closePath();\n break;\n }\n case 3: {\n this.point(this._x2, this._y2);\n this.point(this._x3, this._y3);\n this.point(this._x4, this._y4);\n break;\n }\n }\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._x2 = x, this._y2 = y; break;\n case 1: this._point = 2; this._x3 = x, this._y3 = y; break;\n case 2: this._point = 3; this._x4 = x, this._y4 = y; this._context.moveTo((this._x0 + 4 * this._x1 + x) / 6, (this._y0 + 4 * this._y1 + y) / 6); break;\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n }\n};\n\nexport default function(context) {\n return new BasisClosed(context);\n}\n","import {point} from \"./basis.js\";\n\nfunction BasisOpen(context) {\n this._context = context;\n}\n\nBasisOpen.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 =\n this._y0 = this._y1 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 3)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; var x0 = (this._x0 + 4 * this._x1 + x) / 6, y0 = (this._y0 + 4 * this._y1 + y) / 6; this._line ? this._context.lineTo(x0, y0) : this._context.moveTo(x0, y0); break;\n case 3: this._point = 4; // proceed\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n }\n};\n\nexport default function(context) {\n return new BasisOpen(context);\n}\n","import {Basis} from \"./basis.js\";\n\nfunction Bundle(context, beta) {\n this._basis = new Basis(context);\n this._beta = beta;\n}\n\nBundle.prototype = {\n lineStart: function() {\n this._x = [];\n this._y = [];\n this._basis.lineStart();\n },\n lineEnd: function() {\n var x = this._x,\n y = this._y,\n j = x.length - 1;\n\n if (j > 0) {\n var x0 = x[0],\n y0 = y[0],\n dx = x[j] - x0,\n dy = y[j] - y0,\n i = -1,\n t;\n\n while (++i <= j) {\n t = i / j;\n this._basis.point(\n this._beta * x[i] + (1 - this._beta) * (x0 + t * dx),\n this._beta * y[i] + (1 - this._beta) * (y0 + t * dy)\n );\n }\n }\n\n this._x = this._y = null;\n this._basis.lineEnd();\n },\n point: function(x, y) {\n this._x.push(+x);\n this._y.push(+y);\n }\n};\n\nexport default (function custom(beta) {\n\n function bundle(context) {\n return beta === 1 ? new Basis(context) : new Bundle(context, beta);\n }\n\n bundle.beta = function(beta) {\n return custom(+beta);\n };\n\n return bundle;\n})(0.85);\n","export function point(that, x, y) {\n that._context.bezierCurveTo(\n that._x1 + that._k * (that._x2 - that._x0),\n that._y1 + that._k * (that._y2 - that._y0),\n that._x2 + that._k * (that._x1 - x),\n that._y2 + that._k * (that._y1 - y),\n that._x2,\n that._y2\n );\n}\n\nexport function Cardinal(context, tension) {\n this._context = context;\n this._k = (1 - tension) / 6;\n}\n\nCardinal.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._x2 =\n this._y0 = this._y1 = this._y2 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 2: this._context.lineTo(this._x2, this._y2); break;\n case 3: point(this, this._x1, this._y1); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; this._x1 = x, this._y1 = y; break;\n case 2: this._point = 3; // proceed\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(tension) {\n\n function cardinal(context) {\n return new Cardinal(context, tension);\n }\n\n cardinal.tension = function(tension) {\n return custom(+tension);\n };\n\n return cardinal;\n})(0);\n","import noop from \"../noop.js\";\nimport {point} from \"./cardinal.js\";\n\nexport function CardinalClosed(context, tension) {\n this._context = context;\n this._k = (1 - tension) / 6;\n}\n\nCardinalClosed.prototype = {\n areaStart: noop,\n areaEnd: noop,\n lineStart: function() {\n this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._x5 =\n this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = this._y5 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 1: {\n this._context.moveTo(this._x3, this._y3);\n this._context.closePath();\n break;\n }\n case 2: {\n this._context.lineTo(this._x3, this._y3);\n this._context.closePath();\n break;\n }\n case 3: {\n this.point(this._x3, this._y3);\n this.point(this._x4, this._y4);\n this.point(this._x5, this._y5);\n break;\n }\n }\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._x3 = x, this._y3 = y; break;\n case 1: this._point = 2; this._context.moveTo(this._x4 = x, this._y4 = y); break;\n case 2: this._point = 3; this._x5 = x, this._y5 = y; break;\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(tension) {\n\n function cardinal(context) {\n return new CardinalClosed(context, tension);\n }\n\n cardinal.tension = function(tension) {\n return custom(+tension);\n };\n\n return cardinal;\n})(0);\n","import {point} from \"./cardinal.js\";\n\nexport function CardinalOpen(context, tension) {\n this._context = context;\n this._k = (1 - tension) / 6;\n}\n\nCardinalOpen.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._x2 =\n this._y0 = this._y1 = this._y2 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 3)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; this._line ? this._context.lineTo(this._x2, this._y2) : this._context.moveTo(this._x2, this._y2); break;\n case 3: this._point = 4; // proceed\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(tension) {\n\n function cardinal(context) {\n return new CardinalOpen(context, tension);\n }\n\n cardinal.tension = function(tension) {\n return custom(+tension);\n };\n\n return cardinal;\n})(0);\n","import {epsilon} from \"../math.js\";\nimport {Cardinal} from \"./cardinal.js\";\n\nexport function point(that, x, y) {\n var x1 = that._x1,\n y1 = that._y1,\n x2 = that._x2,\n y2 = that._y2;\n\n if (that._l01_a > epsilon) {\n var a = 2 * that._l01_2a + 3 * that._l01_a * that._l12_a + that._l12_2a,\n n = 3 * that._l01_a * (that._l01_a + that._l12_a);\n x1 = (x1 * a - that._x0 * that._l12_2a + that._x2 * that._l01_2a) / n;\n y1 = (y1 * a - that._y0 * that._l12_2a + that._y2 * that._l01_2a) / n;\n }\n\n if (that._l23_a > epsilon) {\n var b = 2 * that._l23_2a + 3 * that._l23_a * that._l12_a + that._l12_2a,\n m = 3 * that._l23_a * (that._l23_a + that._l12_a);\n x2 = (x2 * b + that._x1 * that._l23_2a - x * that._l12_2a) / m;\n y2 = (y2 * b + that._y1 * that._l23_2a - y * that._l12_2a) / m;\n }\n\n that._context.bezierCurveTo(x1, y1, x2, y2, that._x2, that._y2);\n}\n\nfunction CatmullRom(context, alpha) {\n this._context = context;\n this._alpha = alpha;\n}\n\nCatmullRom.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._x2 =\n this._y0 = this._y1 = this._y2 = NaN;\n this._l01_a = this._l12_a = this._l23_a =\n this._l01_2a = this._l12_2a = this._l23_2a =\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 2: this._context.lineTo(this._x2, this._y2); break;\n case 3: this.point(this._x2, this._y2); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n\n if (this._point) {\n var x23 = this._x2 - x,\n y23 = this._y2 - y;\n this._l23_a = Math.sqrt(this._l23_2a = Math.pow(x23 * x23 + y23 * y23, this._alpha));\n }\n\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; // proceed\n default: point(this, x, y); break;\n }\n\n this._l01_a = this._l12_a, this._l12_a = this._l23_a;\n this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a;\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(alpha) {\n\n function catmullRom(context) {\n return alpha ? new CatmullRom(context, alpha) : new Cardinal(context, 0);\n }\n\n catmullRom.alpha = function(alpha) {\n return custom(+alpha);\n };\n\n return catmullRom;\n})(0.5);\n","import {CardinalClosed} from \"./cardinalClosed.js\";\nimport noop from \"../noop.js\";\nimport {point} from \"./catmullRom.js\";\n\nfunction CatmullRomClosed(context, alpha) {\n this._context = context;\n this._alpha = alpha;\n}\n\nCatmullRomClosed.prototype = {\n areaStart: noop,\n areaEnd: noop,\n lineStart: function() {\n this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._x5 =\n this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = this._y5 = NaN;\n this._l01_a = this._l12_a = this._l23_a =\n this._l01_2a = this._l12_2a = this._l23_2a =\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 1: {\n this._context.moveTo(this._x3, this._y3);\n this._context.closePath();\n break;\n }\n case 2: {\n this._context.lineTo(this._x3, this._y3);\n this._context.closePath();\n break;\n }\n case 3: {\n this.point(this._x3, this._y3);\n this.point(this._x4, this._y4);\n this.point(this._x5, this._y5);\n break;\n }\n }\n },\n point: function(x, y) {\n x = +x, y = +y;\n\n if (this._point) {\n var x23 = this._x2 - x,\n y23 = this._y2 - y;\n this._l23_a = Math.sqrt(this._l23_2a = Math.pow(x23 * x23 + y23 * y23, this._alpha));\n }\n\n switch (this._point) {\n case 0: this._point = 1; this._x3 = x, this._y3 = y; break;\n case 1: this._point = 2; this._context.moveTo(this._x4 = x, this._y4 = y); break;\n case 2: this._point = 3; this._x5 = x, this._y5 = y; break;\n default: point(this, x, y); break;\n }\n\n this._l01_a = this._l12_a, this._l12_a = this._l23_a;\n this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a;\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(alpha) {\n\n function catmullRom(context) {\n return alpha ? new CatmullRomClosed(context, alpha) : new CardinalClosed(context, 0);\n }\n\n catmullRom.alpha = function(alpha) {\n return custom(+alpha);\n };\n\n return catmullRom;\n})(0.5);\n","import {CardinalOpen} from \"./cardinalOpen.js\";\nimport {point} from \"./catmullRom.js\";\n\nfunction CatmullRomOpen(context, alpha) {\n this._context = context;\n this._alpha = alpha;\n}\n\nCatmullRomOpen.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._x2 =\n this._y0 = this._y1 = this._y2 = NaN;\n this._l01_a = this._l12_a = this._l23_a =\n this._l01_2a = this._l12_2a = this._l23_2a =\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 3)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n\n if (this._point) {\n var x23 = this._x2 - x,\n y23 = this._y2 - y;\n this._l23_a = Math.sqrt(this._l23_2a = Math.pow(x23 * x23 + y23 * y23, this._alpha));\n }\n\n switch (this._point) {\n case 0: this._point = 1; break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; this._line ? this._context.lineTo(this._x2, this._y2) : this._context.moveTo(this._x2, this._y2); break;\n case 3: this._point = 4; // proceed\n default: point(this, x, y); break;\n }\n\n this._l01_a = this._l12_a, this._l12_a = this._l23_a;\n this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a;\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(alpha) {\n\n function catmullRom(context) {\n return alpha ? new CatmullRomOpen(context, alpha) : new CardinalOpen(context, 0);\n }\n\n catmullRom.alpha = function(alpha) {\n return custom(+alpha);\n };\n\n return catmullRom;\n})(0.5);\n","import noop from \"../noop.js\";\n\nfunction LinearClosed(context) {\n this._context = context;\n}\n\nLinearClosed.prototype = {\n areaStart: noop,\n areaEnd: noop,\n lineStart: function() {\n this._point = 0;\n },\n lineEnd: function() {\n if (this._point) this._context.closePath();\n },\n point: function(x, y) {\n x = +x, y = +y;\n if (this._point) this._context.lineTo(x, y);\n else this._point = 1, this._context.moveTo(x, y);\n }\n};\n\nexport default function(context) {\n return new LinearClosed(context);\n}\n","function sign(x) {\n return x < 0 ? -1 : 1;\n}\n\n// Calculate the slopes of the tangents (Hermite-type interpolation) based on\n// the following paper: Steffen, M. 1990. A Simple Method for Monotonic\n// Interpolation in One Dimension. Astronomy and Astrophysics, Vol. 239, NO.\n// NOV(II), P. 443, 1990.\nfunction slope3(that, x2, y2) {\n var h0 = that._x1 - that._x0,\n h1 = x2 - that._x1,\n s0 = (that._y1 - that._y0) / (h0 || h1 < 0 && -0),\n s1 = (y2 - that._y1) / (h1 || h0 < 0 && -0),\n p = (s0 * h1 + s1 * h0) / (h0 + h1);\n return (sign(s0) + sign(s1)) * Math.min(Math.abs(s0), Math.abs(s1), 0.5 * Math.abs(p)) || 0;\n}\n\n// Calculate a one-sided slope.\nfunction slope2(that, t) {\n var h = that._x1 - that._x0;\n return h ? (3 * (that._y1 - that._y0) / h - t) / 2 : t;\n}\n\n// According to https://en.wikipedia.org/wiki/Cubic_Hermite_spline#Representations\n// \"you can express cubic Hermite interpolation in terms of cubic Bézier curves\n// with respect to the four values p0, p0 + m0 / 3, p1 - m1 / 3, p1\".\nfunction point(that, t0, t1) {\n var x0 = that._x0,\n y0 = that._y0,\n x1 = that._x1,\n y1 = that._y1,\n dx = (x1 - x0) / 3;\n that._context.bezierCurveTo(x0 + dx, y0 + dx * t0, x1 - dx, y1 - dx * t1, x1, y1);\n}\n\nfunction MonotoneX(context) {\n this._context = context;\n}\n\nMonotoneX.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 =\n this._y0 = this._y1 =\n this._t0 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 2: this._context.lineTo(this._x1, this._y1); break;\n case 3: point(this, this._t0, slope2(this, this._t0)); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n var t1 = NaN;\n\n x = +x, y = +y;\n if (x === this._x1 && y === this._y1) return; // Ignore coincident points.\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; point(this, slope2(this, t1 = slope3(this, x, y)), t1); break;\n default: point(this, this._t0, t1 = slope3(this, x, y)); break;\n }\n\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n this._t0 = t1;\n }\n}\n\nfunction MonotoneY(context) {\n this._context = new ReflectContext(context);\n}\n\n(MonotoneY.prototype = Object.create(MonotoneX.prototype)).point = function(x, y) {\n MonotoneX.prototype.point.call(this, y, x);\n};\n\nfunction ReflectContext(context) {\n this._context = context;\n}\n\nReflectContext.prototype = {\n moveTo: function(x, y) { this._context.moveTo(y, x); },\n closePath: function() { this._context.closePath(); },\n lineTo: function(x, y) { this._context.lineTo(y, x); },\n bezierCurveTo: function(x1, y1, x2, y2, x, y) { this._context.bezierCurveTo(y1, x1, y2, x2, y, x); }\n};\n\nexport function monotoneX(context) {\n return new MonotoneX(context);\n}\n\nexport function monotoneY(context) {\n return new MonotoneY(context);\n}\n","function Natural(context) {\n this._context = context;\n}\n\nNatural.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x = [];\n this._y = [];\n },\n lineEnd: function() {\n var x = this._x,\n y = this._y,\n n = x.length;\n\n if (n) {\n this._line ? this._context.lineTo(x[0], y[0]) : this._context.moveTo(x[0], y[0]);\n if (n === 2) {\n this._context.lineTo(x[1], y[1]);\n } else {\n var px = controlPoints(x),\n py = controlPoints(y);\n for (var i0 = 0, i1 = 1; i1 < n; ++i0, ++i1) {\n this._context.bezierCurveTo(px[0][i0], py[0][i0], px[1][i0], py[1][i0], x[i1], y[i1]);\n }\n }\n }\n\n if (this._line || (this._line !== 0 && n === 1)) this._context.closePath();\n this._line = 1 - this._line;\n this._x = this._y = null;\n },\n point: function(x, y) {\n this._x.push(+x);\n this._y.push(+y);\n }\n};\n\n// See https://www.particleincell.com/2012/bezier-splines/ for derivation.\nfunction controlPoints(x) {\n var i,\n n = x.length - 1,\n m,\n a = new Array(n),\n b = new Array(n),\n r = new Array(n);\n a[0] = 0, b[0] = 2, r[0] = x[0] + 2 * x[1];\n for (i = 1; i < n - 1; ++i) a[i] = 1, b[i] = 4, r[i] = 4 * x[i] + 2 * x[i + 1];\n a[n - 1] = 2, b[n - 1] = 7, r[n - 1] = 8 * x[n - 1] + x[n];\n for (i = 1; i < n; ++i) m = a[i] / b[i - 1], b[i] -= m, r[i] -= m * r[i - 1];\n a[n - 1] = r[n - 1] / b[n - 1];\n for (i = n - 2; i >= 0; --i) a[i] = (r[i] - a[i + 1]) / b[i];\n b[n - 1] = (x[n] + a[n - 1]) / 2;\n for (i = 0; i < n - 1; ++i) b[i] = 2 * x[i + 1] - a[i + 1];\n return [a, b];\n}\n\nexport default function(context) {\n return new Natural(context);\n}\n","function Step(context, t) {\n this._context = context;\n this._t = t;\n}\n\nStep.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x = this._y = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n if (0 < this._t && this._t < 1 && this._point === 2) this._context.lineTo(this._x, this._y);\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n if (this._line >= 0) this._t = 1 - this._t, this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; // proceed\n default: {\n if (this._t <= 0) {\n this._context.lineTo(this._x, y);\n this._context.lineTo(x, y);\n } else {\n var x1 = this._x * (1 - this._t) + x * this._t;\n this._context.lineTo(x1, this._y);\n this._context.lineTo(x1, y);\n }\n break;\n }\n }\n this._x = x, this._y = y;\n }\n};\n\nexport default function(context) {\n return new Step(context, 0.5);\n}\n\nexport function stepBefore(context) {\n return new Step(context, 0);\n}\n\nexport function stepAfter(context) {\n return new Step(context, 1);\n}\n","export default function(series, order) {\n if (!((n = series.length) > 1)) return;\n for (var i = 1, j, s0, s1 = series[order[0]], n, m = s1.length; i < n; ++i) {\n s0 = s1, s1 = series[order[i]];\n for (j = 0; j < m; ++j) {\n s1[j][1] += s1[j][0] = isNaN(s0[j][1]) ? s0[j][0] : s0[j][1];\n }\n }\n}\n","export default function(series) {\n var n = series.length, o = new Array(n);\n while (--n >= 0) o[n] = n;\n return o;\n}\n","import {slice} from \"./array.js\";\nimport constant from \"./constant.js\";\nimport offsetNone from \"./offset/none.js\";\nimport orderNone from \"./order/none.js\";\n\nfunction stackValue(d, key) {\n return d[key];\n}\n\nexport default function() {\n var keys = constant([]),\n order = orderNone,\n offset = offsetNone,\n value = stackValue;\n\n function stack(data) {\n var kz = keys.apply(this, arguments),\n i,\n m = data.length,\n n = kz.length,\n sz = new Array(n),\n oz;\n\n for (i = 0; i < n; ++i) {\n for (var ki = kz[i], si = sz[i] = new Array(m), j = 0, sij; j < m; ++j) {\n si[j] = sij = [0, +value(data[j], ki, j, data)];\n sij.data = data[j];\n }\n si.key = ki;\n }\n\n for (i = 0, oz = order(sz); i < n; ++i) {\n sz[oz[i]].index = i;\n }\n\n offset(sz, oz);\n return sz;\n }\n\n stack.keys = function(_) {\n return arguments.length ? (keys = typeof _ === \"function\" ? _ : constant(slice.call(_)), stack) : keys;\n };\n\n stack.value = function(_) {\n return arguments.length ? (value = typeof _ === \"function\" ? _ : constant(+_), stack) : value;\n };\n\n stack.order = function(_) {\n return arguments.length ? (order = _ == null ? orderNone : typeof _ === \"function\" ? _ : constant(slice.call(_)), stack) : order;\n };\n\n stack.offset = function(_) {\n return arguments.length ? (offset = _ == null ? offsetNone : _, stack) : offset;\n };\n\n return stack;\n}\n","import none from \"./none.js\";\n\nexport default function(series, order) {\n if (!((n = series.length) > 0)) return;\n for (var i, n, j = 0, m = series[0].length, y; j < m; ++j) {\n for (y = i = 0; i < n; ++i) y += series[i][j][1] || 0;\n if (y) for (i = 0; i < n; ++i) series[i][j][1] /= y;\n }\n none(series, order);\n}\n","export default function(series, order) {\n if (!((n = series.length) > 0)) return;\n for (var i, j = 0, d, dy, yp, yn, n, m = series[order[0]].length; j < m; ++j) {\n for (yp = yn = 0, i = 0; i < n; ++i) {\n if ((dy = (d = series[order[i]][j])[1] - d[0]) > 0) {\n d[0] = yp, d[1] = yp += dy;\n } else if (dy < 0) {\n d[1] = yn, d[0] = yn += dy;\n } else {\n d[0] = 0, d[1] = dy;\n }\n }\n }\n}\n","import none from \"./none.js\";\n\nexport default function(series, order) {\n if (!((n = series.length) > 0)) return;\n for (var j = 0, s0 = series[order[0]], n, m = s0.length; j < m; ++j) {\n for (var i = 0, y = 0; i < n; ++i) y += series[i][j][1] || 0;\n s0[j][1] += s0[j][0] = -y / 2;\n }\n none(series, order);\n}\n","import none from \"./none.js\";\n\nexport default function(series, order) {\n if (!((n = series.length) > 0) || !((m = (s0 = series[order[0]]).length) > 0)) return;\n for (var y = 0, j = 1, s0, m, n; j < m; ++j) {\n for (var i = 0, s1 = 0, s2 = 0; i < n; ++i) {\n var si = series[order[i]],\n sij0 = si[j][1] || 0,\n sij1 = si[j - 1][1] || 0,\n s3 = (sij0 - sij1) / 2;\n for (var k = 0; k < i; ++k) {\n var sk = series[order[k]],\n skj0 = sk[j][1] || 0,\n skj1 = sk[j - 1][1] || 0;\n s3 += skj0 - skj1;\n }\n s1 += sij0, s2 += s3 * sij0;\n }\n s0[j - 1][1] += s0[j - 1][0] = y;\n if (s1) y -= s2 / s1;\n }\n s0[j - 1][1] += s0[j - 1][0] = y;\n none(series, order);\n}\n","import none from \"./none.js\";\n\nexport default function(series) {\n var peaks = series.map(peak);\n return none(series).sort(function(a, b) { return peaks[a] - peaks[b]; });\n}\n\nfunction peak(series) {\n var i = -1, j = 0, n = series.length, vi, vj = -Infinity;\n while (++i < n) if ((vi = +series[i][1]) > vj) vj = vi, j = i;\n return j;\n}\n","import none from \"./none.js\";\n\nexport default function(series) {\n var sums = series.map(sum);\n return none(series).sort(function(a, b) { return sums[a] - sums[b]; });\n}\n\nexport function sum(series) {\n var s = 0, i = -1, n = series.length, v;\n while (++i < n) if (v = +series[i][1]) s += v;\n return s;\n}\n","import ascending from \"./ascending.js\";\n\nexport default function(series) {\n return ascending(series).reverse();\n}\n","import appearance from \"./appearance.js\";\nimport {sum} from \"./ascending.js\";\n\nexport default function(series) {\n var n = series.length,\n i,\n j,\n sums = series.map(sum),\n order = appearance(series),\n top = 0,\n bottom = 0,\n tops = [],\n bottoms = [];\n\n for (i = 0; i < n; ++i) {\n j = order[i];\n if (top < bottom) {\n top += sums[j];\n tops.push(j);\n } else {\n bottom += sums[j];\n bottoms.push(j);\n }\n }\n\n return bottoms.reverse().concat(tops);\n}\n","import none from \"./none.js\";\n\nexport default function(series) {\n return none(series).reverse();\n}\n","export default function(x) {\n return Math.abs(x = Math.round(x)) >= 1e21\n ? x.toLocaleString(\"en\").replace(/,/g, \"\")\n : x.toString(10);\n}\n\n// Computes the decimal coefficient and exponent of the specified number x with\n// significant digits p, where x is positive and p is in [1, 21] or undefined.\n// For example, formatDecimalParts(1.23) returns [\"123\", 0].\nexport function formatDecimalParts(x, p) {\n if ((i = (x = p ? x.toExponential(p - 1) : x.toExponential()).indexOf(\"e\")) < 0) return null; // NaN, ±Infinity\n var i, coefficient = x.slice(0, i);\n\n // The string returned by toExponential either has the form \\d\\.\\d+e[-+]\\d+\n // (e.g., 1.2e+3) or the form \\de[-+]\\d+ (e.g., 1e+3).\n return [\n coefficient.length > 1 ? coefficient[0] + coefficient.slice(2) : coefficient,\n +x.slice(i + 1)\n ];\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport default function(x) {\n return x = formatDecimalParts(Math.abs(x)), x ? x[1] : NaN;\n}\n","export default function(grouping, thousands) {\n return function(value, width) {\n var i = value.length,\n t = [],\n j = 0,\n g = grouping[0],\n length = 0;\n\n while (i > 0 && g > 0) {\n if (length + g + 1 > width) g = Math.max(1, width - length);\n t.push(value.substring(i -= g, i + g));\n if ((length += g + 1) > width) break;\n g = grouping[j = (j + 1) % grouping.length];\n }\n\n return t.reverse().join(thousands);\n };\n}\n","export default function(numerals) {\n return function(value) {\n return value.replace(/[0-9]/g, function(i) {\n return numerals[+i];\n });\n };\n}\n","// [[fill]align][sign][symbol][0][width][,][.precision][~][type]\nvar re = /^(?:(.)?([<>=^]))?([+\\-( ])?([$#])?(0)?(\\d+)?(,)?(\\.\\d+)?(~)?([a-z%])?$/i;\n\nexport default function formatSpecifier(specifier) {\n if (!(match = re.exec(specifier))) throw new Error(\"invalid format: \" + specifier);\n var match;\n return new FormatSpecifier({\n fill: match[1],\n align: match[2],\n sign: match[3],\n symbol: match[4],\n zero: match[5],\n width: match[6],\n comma: match[7],\n precision: match[8] && match[8].slice(1),\n trim: match[9],\n type: match[10]\n });\n}\n\nformatSpecifier.prototype = FormatSpecifier.prototype; // instanceof\n\nexport function FormatSpecifier(specifier) {\n this.fill = specifier.fill === undefined ? \" \" : specifier.fill + \"\";\n this.align = specifier.align === undefined ? \">\" : specifier.align + \"\";\n this.sign = specifier.sign === undefined ? \"-\" : specifier.sign + \"\";\n this.symbol = specifier.symbol === undefined ? \"\" : specifier.symbol + \"\";\n this.zero = !!specifier.zero;\n this.width = specifier.width === undefined ? undefined : +specifier.width;\n this.comma = !!specifier.comma;\n this.precision = specifier.precision === undefined ? undefined : +specifier.precision;\n this.trim = !!specifier.trim;\n this.type = specifier.type === undefined ? \"\" : specifier.type + \"\";\n}\n\nFormatSpecifier.prototype.toString = function() {\n return this.fill\n + this.align\n + this.sign\n + this.symbol\n + (this.zero ? \"0\" : \"\")\n + (this.width === undefined ? \"\" : Math.max(1, this.width | 0))\n + (this.comma ? \",\" : \"\")\n + (this.precision === undefined ? \"\" : \".\" + Math.max(0, this.precision | 0))\n + (this.trim ? \"~\" : \"\")\n + this.type;\n};\n","// Trims insignificant zeros, e.g., replaces 1.2000k with 1.2k.\nexport default function(s) {\n out: for (var n = s.length, i = 1, i0 = -1, i1; i < n; ++i) {\n switch (s[i]) {\n case \".\": i0 = i1 = i; break;\n case \"0\": if (i0 === 0) i0 = i; i1 = i; break;\n default: if (!+s[i]) break out; if (i0 > 0) i0 = 0; break;\n }\n }\n return i0 > 0 ? s.slice(0, i0) + s.slice(i1 + 1) : s;\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport var prefixExponent;\n\nexport default function(x, p) {\n var d = formatDecimalParts(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1],\n i = exponent - (prefixExponent = Math.max(-8, Math.min(8, Math.floor(exponent / 3))) * 3) + 1,\n n = coefficient.length;\n return i === n ? coefficient\n : i > n ? coefficient + new Array(i - n + 1).join(\"0\")\n : i > 0 ? coefficient.slice(0, i) + \".\" + coefficient.slice(i)\n : \"0.\" + new Array(1 - i).join(\"0\") + formatDecimalParts(x, Math.max(0, p + i - 1))[0]; // less than 1y!\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport default function(x, p) {\n var d = formatDecimalParts(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1];\n return exponent < 0 ? \"0.\" + new Array(-exponent).join(\"0\") + coefficient\n : coefficient.length > exponent + 1 ? coefficient.slice(0, exponent + 1) + \".\" + coefficient.slice(exponent + 1)\n : coefficient + new Array(exponent - coefficient.length + 2).join(\"0\");\n}\n","import formatDecimal from \"./formatDecimal.js\";\nimport formatPrefixAuto from \"./formatPrefixAuto.js\";\nimport formatRounded from \"./formatRounded.js\";\n\nexport default {\n \"%\": function(x, p) { return (x * 100).toFixed(p); },\n \"b\": function(x) { return Math.round(x).toString(2); },\n \"c\": function(x) { return x + \"\"; },\n \"d\": formatDecimal,\n \"e\": function(x, p) { return x.toExponential(p); },\n \"f\": function(x, p) { return x.toFixed(p); },\n \"g\": function(x, p) { return x.toPrecision(p); },\n \"o\": function(x) { return Math.round(x).toString(8); },\n \"p\": function(x, p) { return formatRounded(x * 100, p); },\n \"r\": formatRounded,\n \"s\": formatPrefixAuto,\n \"X\": function(x) { return Math.round(x).toString(16).toUpperCase(); },\n \"x\": function(x) { return Math.round(x).toString(16); }\n};\n","export default function(x) {\n return x;\n}\n","import exponent from \"./exponent.js\";\nimport formatGroup from \"./formatGroup.js\";\nimport formatNumerals from \"./formatNumerals.js\";\nimport formatSpecifier from \"./formatSpecifier.js\";\nimport formatTrim from \"./formatTrim.js\";\nimport formatTypes from \"./formatTypes.js\";\nimport {prefixExponent} from \"./formatPrefixAuto.js\";\nimport identity from \"./identity.js\";\n\nvar map = Array.prototype.map,\n prefixes = [\"y\",\"z\",\"a\",\"f\",\"p\",\"n\",\"µ\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\",\"P\",\"E\",\"Z\",\"Y\"];\n\nexport default function(locale) {\n var group = locale.grouping === undefined || locale.thousands === undefined ? identity : formatGroup(map.call(locale.grouping, Number), locale.thousands + \"\"),\n currencyPrefix = locale.currency === undefined ? \"\" : locale.currency[0] + \"\",\n currencySuffix = locale.currency === undefined ? \"\" : locale.currency[1] + \"\",\n decimal = locale.decimal === undefined ? \".\" : locale.decimal + \"\",\n numerals = locale.numerals === undefined ? identity : formatNumerals(map.call(locale.numerals, String)),\n percent = locale.percent === undefined ? \"%\" : locale.percent + \"\",\n minus = locale.minus === undefined ? \"-\" : locale.minus + \"\",\n nan = locale.nan === undefined ? \"NaN\" : locale.nan + \"\";\n\n function newFormat(specifier) {\n specifier = formatSpecifier(specifier);\n\n var fill = specifier.fill,\n align = specifier.align,\n sign = specifier.sign,\n symbol = specifier.symbol,\n zero = specifier.zero,\n width = specifier.width,\n comma = specifier.comma,\n precision = specifier.precision,\n trim = specifier.trim,\n type = specifier.type;\n\n // The \"n\" type is an alias for \",g\".\n if (type === \"n\") comma = true, type = \"g\";\n\n // The \"\" type, and any invalid type, is an alias for \".12~g\".\n else if (!formatTypes[type]) precision === undefined && (precision = 12), trim = true, type = \"g\";\n\n // If zero fill is specified, padding goes after sign and before digits.\n if (zero || (fill === \"0\" && align === \"=\")) zero = true, fill = \"0\", align = \"=\";\n\n // Compute the prefix and suffix.\n // For SI-prefix, the suffix is lazily computed.\n var prefix = symbol === \"$\" ? currencyPrefix : symbol === \"#\" && /[boxX]/.test(type) ? \"0\" + type.toLowerCase() : \"\",\n suffix = symbol === \"$\" ? currencySuffix : /[%p]/.test(type) ? percent : \"\";\n\n // What format function should we use?\n // Is this an integer type?\n // Can this type generate exponential notation?\n var formatType = formatTypes[type],\n maybeSuffix = /[defgprs%]/.test(type);\n\n // Set the default precision if not specified,\n // or clamp the specified precision to the supported range.\n // For significant precision, it must be in [1, 21].\n // For fixed precision, it must be in [0, 20].\n precision = precision === undefined ? 6\n : /[gprs]/.test(type) ? Math.max(1, Math.min(21, precision))\n : Math.max(0, Math.min(20, precision));\n\n function format(value) {\n var valuePrefix = prefix,\n valueSuffix = suffix,\n i, n, c;\n\n if (type === \"c\") {\n valueSuffix = formatType(value) + valueSuffix;\n value = \"\";\n } else {\n value = +value;\n\n // Determine the sign. -0 is not less than 0, but 1 / -0 is!\n var valueNegative = value < 0 || 1 / value < 0;\n\n // Perform the initial formatting.\n value = isNaN(value) ? nan : formatType(Math.abs(value), precision);\n\n // Trim insignificant zeros.\n if (trim) value = formatTrim(value);\n\n // If a negative value rounds to zero after formatting, and no explicit positive sign is requested, hide the sign.\n if (valueNegative && +value === 0 && sign !== \"+\") valueNegative = false;\n\n // Compute the prefix and suffix.\n valuePrefix = (valueNegative ? (sign === \"(\" ? sign : minus) : sign === \"-\" || sign === \"(\" ? \"\" : sign) + valuePrefix;\n valueSuffix = (type === \"s\" ? prefixes[8 + prefixExponent / 3] : \"\") + valueSuffix + (valueNegative && sign === \"(\" ? \")\" : \"\");\n\n // Break the formatted value into the integer “value” part that can be\n // grouped, and fractional or exponential “suffix” part that is not.\n if (maybeSuffix) {\n i = -1, n = value.length;\n while (++i < n) {\n if (c = value.charCodeAt(i), 48 > c || c > 57) {\n valueSuffix = (c === 46 ? decimal + value.slice(i + 1) : value.slice(i)) + valueSuffix;\n value = value.slice(0, i);\n break;\n }\n }\n }\n }\n\n // If the fill character is not \"0\", grouping is applied before padding.\n if (comma && !zero) value = group(value, Infinity);\n\n // Compute the padding.\n var length = valuePrefix.length + value.length + valueSuffix.length,\n padding = length < width ? new Array(width - length + 1).join(fill) : \"\";\n\n // If the fill character is \"0\", grouping is applied after padding.\n if (comma && zero) value = group(padding + value, padding.length ? width - valueSuffix.length : Infinity), padding = \"\";\n\n // Reconstruct the final output based on the desired alignment.\n switch (align) {\n case \"<\": value = valuePrefix + value + valueSuffix + padding; break;\n case \"=\": value = valuePrefix + padding + value + valueSuffix; break;\n case \"^\": value = padding.slice(0, length = padding.length >> 1) + valuePrefix + value + valueSuffix + padding.slice(length); break;\n default: value = padding + valuePrefix + value + valueSuffix; break;\n }\n\n return numerals(value);\n }\n\n format.toString = function() {\n return specifier + \"\";\n };\n\n return format;\n }\n\n function formatPrefix(specifier, value) {\n var f = newFormat((specifier = formatSpecifier(specifier), specifier.type = \"f\", specifier)),\n e = Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3,\n k = Math.pow(10, -e),\n prefix = prefixes[8 + e / 3];\n return function(value) {\n return f(k * value) + prefix;\n };\n }\n\n return {\n format: newFormat,\n formatPrefix: formatPrefix\n };\n}\n","import formatLocale from \"./locale.js\";\n\nvar locale;\nexport var format;\nexport var formatPrefix;\n\ndefaultLocale({\n decimal: \".\",\n thousands: \",\",\n grouping: [3],\n currency: [\"$\", \"\"],\n minus: \"-\"\n});\n\nexport default function defaultLocale(definition) {\n locale = formatLocale(definition);\n format = locale.format;\n formatPrefix = locale.formatPrefix;\n return locale;\n}\n","import{createContext as e,useMemo as r,useContext as t,useRef as i,useEffect as n,useState as o,cloneElement as a,useCallback as s,memo as l,createElement as d,Component as u}from\"react\";import f from\"prop-types\";import{TooltipProvider as c,Tooltip as p,useTooltipHandlers as h,TooltipActionsContext as g,TooltipStateContext as m}from\"@nivo/tooltip\";import b from\"lodash/merge\";import y from\"lodash/get\";import v from\"lodash/set\";import{interpolateString as R}from\"d3-interpolate\";import{config as q,useSpring as k,to as _,animated as w}from\"@react-spring/web\";import x from\"lodash/isString\";import{jsx as O,jsxs as C}from\"react/jsx-runtime\";import W from\"lodash/last\";import S from\"lodash/isArray\";import{scaleQuantize as z,scaleOrdinal as P,scaleSequential as T}from\"d3-scale\";import{schemeBrBG as M,schemePRGn as j,schemePiYG as D,schemePuOr as G,schemeRdBu as B,schemeRdGy as L,schemeRdYlBu as I,schemeRdYlGn as Y,schemeSpectral as A,schemeBlues as F,schemeGreens as E,schemeGreys as U,schemeOranges as X,schemePurples as K,schemeReds as H,schemeBuGn as N,schemeBuPu as V,schemeGnBu as J,schemeOrRd as Q,schemePuBuGn as Z,schemePuBu as $,schemePuRd as ee,schemeRdPu as re,schemeYlGnBu as te,schemeYlGn as ie,schemeYlOrBr as ne,schemeYlOrRd as oe,schemeCategory10 as ae,schemeAccent as se,schemeDark2 as le,schemePaired as de,schemePastel1 as ue,schemePastel2 as fe,schemeSet1 as ce,schemeSet2 as pe,schemeSet3 as he,interpolateBrBG as ge,interpolatePRGn as me,interpolatePiYG as be,interpolatePuOr as ye,interpolateRdBu as ve,interpolateRdGy as Re,interpolateRdYlBu as qe,interpolateRdYlGn as ke,interpolateSpectral as _e,interpolateBlues as we,interpolateGreens as xe,interpolateGreys as Oe,interpolateOranges as Ce,interpolatePurples as We,interpolateReds as Se,interpolateViridis as ze,interpolateInferno as Pe,interpolateMagma as Te,interpolatePlasma as Me,interpolateWarm as je,interpolateCool as De,interpolateCubehelixDefault as Ge,interpolateBuGn as Be,interpolateBuPu as Le,interpolateGnBu as Ie,interpolateOrRd as Ye,interpolatePuBuGn as Ae,interpolatePuBu as Fe,interpolatePuRd as Ee,interpolateRdPu as Ue,interpolateYlGnBu as Xe,interpolateYlGn as Ke,interpolateYlOrBr as He,interpolateYlOrRd as Ne,interpolateRainbow as Ve,interpolateSinebow as Je}from\"d3-scale-chromatic\";import Qe from\"lodash/isFunction\";import Ze from\"lodash/without\";import{curveBasis as $e,curveBasisClosed as er,curveBasisOpen as rr,curveBundle as tr,curveCardinal as ir,curveCardinalClosed as nr,curveCardinalOpen as or,curveCatmullRom as ar,curveCatmullRomClosed as sr,curveCatmullRomOpen as lr,curveLinear as dr,curveLinearClosed as ur,curveMonotoneX as fr,curveMonotoneY as cr,curveNatural as pr,curveStep as hr,curveStepAfter as gr,curveStepBefore as mr,stackOrderAscending as br,stackOrderDescending as yr,stackOrderInsideOut as vr,stackOrderNone as Rr,stackOrderReverse as qr,stackOffsetExpand as kr,stackOffsetDiverging as _r,stackOffsetNone as wr,stackOffsetSilhouette as xr,stackOffsetWiggle as Or}from\"d3-shape\";import{format as Cr}from\"d3-format\";import{timeFormat as Wr}from\"d3-time-format\";import{compose as Sr,defaultProps as zr,setPropTypes as Pr,withPropsOnChange as Tr}from\"@nivo/recompose\";import Mr from\"lodash/isEqual\";import jr from\"lodash/isPlainObject\";import Dr from\"lodash/pick\";function Gr(){return Gr=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i])}return e},Gr.apply(this,arguments)}function Br(e,r){return Br=Object.setPrototypeOf||function(e,r){return e.__proto__=r,e},Br(e,r)}function Lr(e,r){if(null==e)return{};var t,i,n={},o=Object.keys(e);for(i=0;i<o.length;i++)t=o[i],r.indexOf(t)>=0||(n[t]=e[t]);return n}var Ir={fill:f.string,fontSize:f.number,fontFamily:f.string},Yr=f.shape({domain:f.shape({line:f.shape({stroke:f.string.isRequired,strokeWidth:f.number.isRequired,strokeDasharray:f.string}).isRequired}).isRequired,ticks:f.shape({line:f.shape({stroke:f.string.isRequired,strokeWidth:f.number.isRequired,strokeDasharray:f.string}).isRequired,text:f.shape(Gr({},Ir)).isRequired}).isRequired,legend:f.shape({text:f.shape(Gr({},Ir)).isRequired}).isRequired}),Ar=f.shape({line:f.shape({stroke:f.string.isRequired,strokeWidth:f.number.isRequired,strokeDasharray:f.string}).isRequired}),Fr=f.shape({hidden:f.shape({symbol:f.shape({fill:f.string.isRequired,opacity:f.number}).isRequired,text:f.shape(Gr({},Ir,{opacity:f.number})).isRequired}).isRequired,text:f.shape(Gr({},Ir)).isRequired}),Er=f.shape({text:f.shape(Gr({},Ir)).isRequired}),Ur=f.shape({text:f.shape(Gr({},Ir)).isRequired}),Xr=f.shape({text:f.shape(Gr({},Ir)).isRequired}),Kr=f.shape({line:f.shape({stroke:f.string.isRequired,strokeWidth:f.number.isRequired,strokeDasharray:f.string}).isRequired}),Hr=f.shape({text:f.shape(Gr({},Ir,{outlineWidth:f.number.isRequired,outlineColor:f.string.isRequired})).isRequired,link:f.shape({stroke:f.string.isRequired,strokeWidth:f.number.isRequired,outlineWidth:f.number.isRequired,outlineColor:f.string.isRequired}).isRequired,outline:f.shape({stroke:f.string.isRequired,strokeWidth:f.number.isRequired,outlineWidth:f.number.isRequired,outlineColor:f.string.isRequired}).isRequired,symbol:f.shape({fill:f.string.isRequired,outlineWidth:f.number.isRequired,outlineColor:f.string.isRequired}).isRequired}),Nr=f.shape({background:f.string.isRequired,fontFamily:f.string.isRequired,fontSize:f.number.isRequired,textColor:f.string.isRequired,axis:Yr.isRequired,grid:Ar.isRequired,legends:Fr.isRequired,labels:Er.isRequired,dots:Ur.isRequired,markers:Xr,crosshair:Kr.isRequired,annotations:Hr.isRequired}),Vr={background:\"transparent\",fontFamily:\"sans-serif\",fontSize:11,textColor:\"#333333\",axis:{domain:{line:{stroke:\"transparent\",strokeWidth:1}},ticks:{line:{stroke:\"#777777\",strokeWidth:1},text:{}},legend:{text:{fontSize:12}}},grid:{line:{stroke:\"#dddddd\",strokeWidth:1}},legends:{hidden:{symbol:{fill:\"#333333\",opacity:.6},text:{fill:\"#333333\",opacity:.6}},text:{},ticks:{line:{stroke:\"#777777\",strokeWidth:1},text:{fontSize:10}},title:{text:{}}},labels:{text:{}},markers:{lineColor:\"#000000\",lineStrokeWidth:1,text:{}},dots:{text:{}},tooltip:{container:{background:\"white\",color:\"inherit\",fontSize:\"inherit\",borderRadius:\"2px\",boxShadow:\"0 1px 2px rgba(0, 0, 0, 0.25)\",padding:\"5px 9px\"},basic:{whiteSpace:\"pre\",display:\"flex\",alignItems:\"center\"},chip:{marginRight:7},table:{},tableCell:{padding:\"3px 5px\"},tableCellValue:{fontWeight:\"bold\"}},crosshair:{line:{stroke:\"#000000\",strokeWidth:1,strokeOpacity:.75,strokeDasharray:\"6 6\"}},annotations:{text:{fontSize:13,outlineWidth:2,outlineColor:\"#ffffff\",outlineOpacity:1},link:{stroke:\"#000000\",strokeWidth:1,outlineWidth:2,outlineColor:\"#ffffff\",outlineOpacity:1},outline:{fill:\"none\",stroke:\"#000000\",strokeWidth:2,outlineWidth:2,outlineColor:\"#ffffff\",outlineOpacity:1},symbol:{fill:\"#000000\",outlineWidth:2,outlineColor:\"#ffffff\",outlineOpacity:1}}},Jr=[\"axis.ticks.text\",\"axis.legend.text\",\"legends.title.text\",\"legends.text\",\"legends.ticks.text\",\"legends.title.text\",\"labels.text\",\"dots.text\",\"markers.text\",\"annotations.text\"],Qr=function(e,r){var t=b({},e,r);return Jr.forEach((function(e){void 0===y(t,e+\".fontFamily\")&&v(t,e+\".fontFamily\",t.fontFamily),void 0===y(t,e+\".fontSize\")&&v(t,e+\".fontSize\",t.fontSize),void 0===y(t,e+\".fill\")&&v(t,e+\".fill\",t.textColor)})),t},Zr=e(),$r=function(e){var t=e.children,i=e.animate,n=e.stiffness,o=e.damping,a=e.config,s=r((function(){var e=x(a)?q[a]:a;return{animate:i,springConfig:{stiffness:n,damping:o},config:e}}),[i,n,o,a]);return O(Zr.Provider,{value:s,children:t})},et={animate:f.bool,motionStiffness:f.number,motionDamping:f.number,motionConfig:f.oneOfType([f.oneOf(Object.keys(q)),f.shape({mass:f.number,tension:f.number,friction:f.number,clamp:f.bool,precision:f.number,velocity:f.number,duration:f.number,easing:f.func})])};$r.propTypes={children:f.node.isRequired,animate:et.animate,stiffness:et.motionStiffness,damping:et.motionDamping,config:et.motionConfig};var rt={animate:!0,stiffness:90,damping:15,config:\"default\"};$r.defaultProps=rt;var tt=function(){return t(Zr)},it=function(e){var t=tt(),o=t.animate,a=t.config,s=function(e){var r=i();return n((function(){r.current=e}),[e]),r.current}(e),l=r((function(){return R(s,e)}),[s,e]),d=k({from:{value:0},to:{value:1},reset:!0,config:a,immediate:!o}).value;return _(d,l)},nt={nivo:[\"#d76445\",\"#f47560\",\"#e8c1a0\",\"#97e3d5\",\"#61cdbb\",\"#00b0a7\"],BrBG:W(M),PRGn:W(j),PiYG:W(D),PuOr:W(G),RdBu:W(B),RdGy:W(L),RdYlBu:W(I),RdYlGn:W(Y),spectral:W(A),blues:W(F),greens:W(E),greys:W(U),oranges:W(X),purples:W(K),reds:W(H),BuGn:W(N),BuPu:W(V),GnBu:W(J),OrRd:W(Q),PuBuGn:W(Z),PuBu:W($),PuRd:W(ee),RdPu:W(re),YlGnBu:W(te),YlGn:W(ie),YlOrBr:W(ne),YlOrRd:W(oe)},ot=Object.keys(nt),at=function(e){if(Qe(e)){if(!Qe(e.domain))throw new Error(\"Provided colors should be a valid quantize scale providing a 'domain()' function\");return e}if(nt[e])return z().range(nt[e]);if(S(e))return z().range(e);throw new Error(\"Unable to guess quantize color scale from '\"+e+\"',\\nmust be a function or one of:\\n'\"+ot.join(\"', '\")+\"'\")},st={nivo:[\"#e8c1a0\",\"#f47560\",\"#f1e15b\",\"#e8a838\",\"#61cdbb\",\"#97e3d5\"],category10:ae,accent:se,dark2:le,paired:de,pastel1:ue,pastel2:fe,set1:ce,set2:pe,set3:he,brown_blueGreen:W(M),purpleRed_green:W(j),pink_yellowGreen:W(D),purple_orange:W(G),red_blue:W(B),red_grey:W(L),red_yellow_blue:W(I),red_yellow_green:W(Y),spectral:W(A),blues:W(F),greens:W(E),greys:W(U),oranges:W(X),purples:W(K),reds:W(H),blue_green:W(N),blue_purple:W(V),green_blue:W(J),orange_red:W(Q),purple_blue_green:W(Z),purple_blue:W($),purple_red:W(ee),red_purple:W(re),yellow_green_blue:W(te),yellow_green:W(ie),yellow_orange_brown:W(ne),yellow_orange_red:W(oe)},lt=[\"nivo\",\"category10\",\"accent\",\"dark2\",\"paired\",\"pastel1\",\"pastel2\",\"set1\",\"set2\",\"set3\",\"brown_blueGreen\",\"purpleRed_green\",\"pink_yellowGreen\",\"purple_orange\",\"red_blue\",\"red_grey\",\"red_yellow_blue\",\"red_yellow_green\",\"spectral\",\"blues\",\"greens\",\"greys\",\"oranges\",\"purples\",\"reds\",\"blue_green\",\"blue_purple\",\"green_blue\",\"orange_red\",\"purple_blue_green\",\"purple_blue\",\"purple_red\",\"red_purple\",\"yellow_green_blue\",\"yellow_green\",\"yellow_orange_brown\",\"yellow_orange_red\"],dt={brown_blueGreen:ge,purpleRed_green:me,pink_yellowGreen:be,purple_orange:ye,red_blue:ve,red_grey:Re,red_yellow_blue:qe,red_yellow_green:ke,spectral:_e,blues:we,greens:xe,greys:Oe,oranges:Ce,purples:We,reds:Se,viridis:ze,inferno:Pe,magma:Te,plasma:Me,warm:je,cool:De,cubehelixDefault:Ge,blue_green:Be,blue_purple:Le,green_blue:Ie,orange_red:Ye,purple_blue_green:Ae,purple_blue:Fe,purple_red:Ee,red_purple:Ue,yellow_green_blue:Xe,yellow_green:Ke,yellow_orange_brown:He,yellow_orange_red:Ne,rainbow:Ve,sinebow:Je},ut=[\"brown_blueGreen\",\"purpleRed_green\",\"pink_yellowGreen\",\"purple_orange\",\"red_blue\",\"red_grey\",\"red_yellow_blue\",\"red_yellow_green\",\"spectral\",\"blues\",\"greens\",\"greys\",\"oranges\",\"purples\",\"reds\",\"viridis\",\"inferno\",\"magma\",\"plasma\",\"warm\",\"cool\",\"cubehelixDefault\",\"blue_green\",\"blue_purple\",\"green_blue\",\"orange_red\",\"purple_blue_green\",\"purple_blue\",\"purple_red\",\"red_purple\",\"yellow_green_blue\",\"yellow_green\",\"yellow_orange_brown\",\"yellow_orange_red\",\"rainbow\",\"sinebow\"],ft=function(){return P([\"#e8c1a0\",\"#f47560\",\"#f1e15b\",\"#e8a838\",\"#61cdbb\",\"#97e3d5\"])},ct=function(e,r){if(x(e)){var t=st[e];if(void 0!==t){var i=P(t);return i.type=\"ordinal\",i}if(void 0!==r&&0===e.indexOf(\"seq:\")){var n=dt[e.slice(4)];if(void 0!==n){var o=T(n).domain(r.domain());return o.type=\"sequential\",o}}}if(S(e)){var a=P(e);return a.type=\"ordinal\",a}return function(){return e}},pt=f.oneOfType([f.oneOf(ot),f.func,f.arrayOf(f.string)]),ht={basis:$e,basisClosed:er,basisOpen:rr,bundle:tr,cardinal:ir,cardinalClosed:nr,cardinalOpen:or,catmullRom:ar,catmullRomClosed:sr,catmullRomOpen:lr,linear:dr,linearClosed:ur,monotoneX:fr,monotoneY:cr,natural:pr,step:hr,stepAfter:gr,stepBefore:mr},gt=Object.keys(ht),mt=f.oneOf(gt),bt=gt.filter((function(e){return e.endsWith(\"Closed\")})),yt=Ze(gt,\"bundle\",\"basisClosed\",\"basisOpen\",\"cardinalClosed\",\"cardinalOpen\",\"catmullRomClosed\",\"catmullRomOpen\",\"linearClosed\"),vt=Ze(gt,\"bundle\",\"basisClosed\",\"basisOpen\",\"cardinalClosed\",\"cardinalOpen\",\"catmullRomClosed\",\"catmullRomOpen\",\"linearClosed\"),Rt=f.oneOf(vt),qt=function(e){if(!ht[e])throw new TypeError(\"'\"+e+\"', is not a valid curve interpolator identifier.\");return ht[e]},kt={defs:f.arrayOf(f.shape({id:f.string.isRequired})).isRequired,fill:f.arrayOf(f.shape({id:f.string.isRequired,match:f.oneOfType([f.oneOf([\"*\"]),f.object,f.func]).isRequired})).isRequired},_t={ascending:br,descending:yr,insideOut:vr,none:Rr,reverse:qr},wt=Object.keys(_t),xt=f.oneOf(wt),Ot=function(e){return _t[e]},Ct={expand:kr,diverging:_r,none:wr,silhouette:xr,wiggle:Or},Wt=Object.keys(Ct),St=f.oneOf(Wt),zt=function(e){return Ct[e]},Pt=f.shape({top:f.number,right:f.number,bottom:f.number,left:f.number}).isRequired,Tt=[\"normal\",\"multiply\",\"screen\",\"overlay\",\"darken\",\"lighten\",\"color-dodge\",\"color-burn\",\"hard-light\",\"soft-light\",\"difference\",\"exclusion\",\"hue\",\"saturation\",\"color\",\"luminosity\"],Mt=f.oneOf(Tt),jt=function(e){return r((function(){return qt(e)}),[e])},Dt=!0,Gt=90,Bt=15,Lt=ft,It=P(he),Yt={top:0,right:0,bottom:0,left:0},At=function(e,t,i){return void 0===i&&(i={}),r((function(){var r=Gr({},Yt,i);return{margin:r,innerWidth:e-r.left-r.right,innerHeight:t-r.top-r.bottom,outerWidth:e,outerHeight:t}}),[e,t,i.top,i.right,i.bottom,i.left])},Ft=function(){var e=i(null),r=o({left:0,top:0,width:0,height:0}),t=r[0],a=r[1],s=o((function(){return\"undefined\"!=typeof window?new ResizeObserver((function(e){var r=e[0];return a(r.contentRect)})):null}))[0];return n((function(){return e.current&&null!==s&&s.observe(e.current),function(){null!==s&&s.disconnect()}}),[]),[e,t]},Et=function(e){return r((function(){return Qr(Vr,e)}),[e])},Ut=function(e){return\"function\"==typeof e?e:\"string\"==typeof e?0===e.indexOf(\"time:\")?Wr(e.slice(\"5\")):Cr(e):function(e){return\"\"+e}},Xt=function(e){return r((function(){return Ut(e)}),[e])},Kt=e(),Ht={},Nt=function(e){var r=e.theme,t=void 0===r?Ht:r,i=e.children,n=Et(t);return O(Kt.Provider,{value:n,children:i})};Nt.propTypes={children:f.node.isRequired,theme:f.object};var Vt=function(){return t(Kt)},Jt=function(e){var r=e.children,t=e.condition,i=e.wrapper;return t?a(i,{},r):r};Jt.propTypes={children:f.node.isRequired,condition:f.bool.isRequired,wrapper:f.element.isRequired};var Qt={position:\"relative\"},Zt=function(e){var r=e.children,t=e.theme,n=e.renderWrapper,o=void 0===n||n,a=e.isInteractive,s=void 0===a||a,l=e.animate,d=e.motionStiffness,u=e.motionDamping,f=e.motionConfig,h=i(null);return O(Nt,{theme:t,children:O($r,{animate:l,stiffness:d,damping:u,config:f,children:O(c,{container:h,children:C(Jt,{condition:o,wrapper:O(\"div\",{style:Qt,ref:h}),children:[r,s&&O(p,{})]})})})})};Zt.propTypes={children:f.element.isRequired,isInteractive:f.bool,renderWrapper:f.bool,theme:f.object,animate:f.bool,motionStiffness:f.number,motionDamping:f.number,motionConfig:f.string};var $t=function(){},ei={position:\"relative\"},ri=function(e){var t=e.children,n=e.theme,o=e.isInteractive,a=void 0===o||o,l=e.renderWrapper,d=void 0===l||l,u=e.animate,f=e.motionStiffness,c=e.motionDamping,b=e.motionConfig,y=i(null),v=h(y),R=v.actions,q=v.state,k=s((function(e,r){return R.showTooltipFromEvent(e,r)}),[R.showTooltipFromEvent]),_=r((function(){return{showTooltip:a?k:$t,hideTooltip:a?R.hideTooltip:$t}}),[R.hideTooltip,a,k]);return O(Nt,{theme:n,children:O($r,{animate:u,stiffness:f,damping:c,config:b,children:O(g.Provider,{value:R,children:O(m.Provider,{value:q,children:C(Jt,{condition:d,wrapper:O(\"div\",{style:ei,ref:y}),children:[t(_),a&&O(p,{})]})})})})})};ri.propTypes={children:f.func.isRequired,isInteractive:f.bool,renderWrapper:f.bool,theme:f.object.isRequired,animate:f.bool.isRequired,motionStiffness:f.number,motionDamping:f.number,motionConfig:f.string};var ti=function(e){var r=e.children,t=Ft(),i=t[0],n=t[1],o=n.width>0&&n.height>0;return O(\"div\",{ref:i,style:{width:\"100%\",height:\"100%\"},children:o&&r({width:n.width,height:n.height})})};ti.propTypes={children:f.func.isRequired};var ii=[\"id\",\"colors\"],ni=function(e){var r=e.id,t=e.colors,i=Lr(e,ii);return O(\"linearGradient\",Gr({id:r,x1:0,x2:0,y1:0,y2:1},i,{children:t.map((function(e){var r=e.offset,t=e.color,i=e.opacity;return O(\"stop\",{offset:r+\"%\",stopColor:t,stopOpacity:void 0!==i?i:1},r)}))}))};ni.propTypes={id:f.string.isRequired,colors:f.arrayOf(f.shape({offset:f.number.isRequired,color:f.string.isRequired,opacity:f.number})).isRequired,gradientTransform:f.string};var oi=function(e,r,t){return void 0===t&&(t={}),Gr({id:e,type:\"linearGradient\",colors:r},t)},ai={linearGradient:ni},si=l((function(e){var r=e.id,t=e.background,i=e.color,n=e.size,o=e.padding,a=e.stagger,s=n+o,l=n/2,d=o/2;return!0===a&&(s=2*n+2*o),C(\"pattern\",{id:r,width:s,height:s,patternUnits:\"userSpaceOnUse\",children:[O(\"rect\",{width:s,height:s,fill:t}),O(\"circle\",{cx:d+l,cy:d+l,r:l,fill:i}),a&&O(\"circle\",{cx:1.5*o+n+l,cy:1.5*o+n+l,r:l,fill:i})]})}));si.displayName=\"PatternDots\",si.propTypes={id:f.string.isRequired,color:f.string.isRequired,background:f.string.isRequired,size:f.number.isRequired,padding:f.number.isRequired,stagger:f.bool.isRequired},si.defaultProps={color:\"#000000\",background:\"#ffffff\",size:4,padding:4,stagger:!1};var li=function(e,r){return void 0===r&&(r={}),Gr({id:e,type:\"patternDots\"},r)},di=2*Math.PI,ui=function(e){return e*Math.PI/180},fi=function(e){return 180*e/Math.PI},ci=function(e){return e.startAngle+(e.endAngle-e.startAngle)/2},pi=function(e,r){return{x:Math.cos(e)*r,y:Math.sin(e)*r}},hi=function(e){var r=e%360;return r<0&&(r+=360),r},gi=function(e){return e-di*Math.floor((e+Math.PI)/di)},mi=function(e){return e<0?360- -e%360:e%360},bi=function(e,r,t){void 0===t&&(t=360);var i=r;return Math.abs(r-e)>t&&(i=e+(r>e?t:-t)),[e,i]},yi={svg:{align:{left:\"start\",center:\"middle\",right:\"end\",start:\"start\",middle:\"middle\",end:\"end\"},baseline:{top:\"text-before-edge\",center:\"central\",bottom:\"alphabetic\"}},canvas:{align:{left:\"left\",center:\"center\",right:\"right\",start:\"left\",middle:\"center\",end:\"right\"},baseline:{top:\"top\",center:\"middle\",bottom:\"bottom\"}}},vi=function(e,r,t,i){void 0===i&&(i=\"svg\");var n=yi[i],o=pi(r-Math.PI/2,e),a=o.x,s=o.y,l=fi(r),d=n.align.center,u=n.baseline.bottom;return t>0?(d=n.align.right,u=n.baseline.center):t<0&&(d=n.align.left,u=n.baseline.center),0!==t&&l>180&&(l-=180,d=d===n.align.right?n.align.left:n.align.right),{x:a,y:s,rotate:l+=t,align:d,baseline:u}},Ri=l((function(e){var r=e.id,t=e.spacing,i=e.rotation,n=e.background,o=e.color,a=e.lineWidth,s=Math.round(i)%360,l=Math.abs(t);s>180?s-=360:s>90?s-=180:s<-180?s+=360:s<-90&&(s+=180);var d,u=l,f=l;return 0===s?d=\"\\n M 0 0 L \"+u+\" 0\\n M 0 \"+f+\" L \"+u+\" \"+f+\"\\n \":90===s?d=\"\\n M 0 0 L 0 \"+f+\"\\n M \"+u+\" 0 L \"+u+\" \"+f+\"\\n \":(u=Math.abs(l/Math.sin(ui(s))),f=l/Math.sin(ui(90-s)),d=s>0?\"\\n M 0 \"+-f+\" L \"+2*u+\" \"+f+\"\\n M \"+-u+\" \"+-f+\" L \"+u+\" \"+f+\"\\n M \"+-u+\" 0 L \"+u+\" \"+2*f+\"\\n \":\"\\n M \"+-u+\" \"+f+\" L \"+u+\" \"+-f+\"\\n M \"+-u+\" \"+2*f+\" L \"+2*u+\" \"+-f+\"\\n M 0 \"+2*f+\" L \"+2*u+\" 0\\n \"),C(\"pattern\",{id:r,width:u,height:f,patternUnits:\"userSpaceOnUse\",children:[O(\"rect\",{width:u,height:f,fill:n,stroke:\"rgba(255, 0, 0, 0.1)\",strokeWidth:0}),O(\"path\",{d:d,strokeWidth:a,stroke:o,strokeLinecap:\"square\"})]})}));Ri.displayName=\"PatternLines\",Ri.propTypes={id:f.string.isRequired,spacing:f.number.isRequired,rotation:f.number.isRequired,background:f.string.isRequired,color:f.string.isRequired,lineWidth:f.number.isRequired},Ri.defaultProps={spacing:5,rotation:0,color:\"#000000\",background:\"#ffffff\",lineWidth:2};var qi=function(e,r){return void 0===r&&(r={}),Gr({id:e,type:\"patternLines\"},r)},ki=l((function(e){var r=e.id,t=e.background,i=e.color,n=e.size,o=e.padding,a=e.stagger,s=n+o,l=o/2;return!0===a&&(s=2*n+2*o),C(\"pattern\",{id:r,width:s,height:s,patternUnits:\"userSpaceOnUse\",children:[O(\"rect\",{width:s,height:s,fill:t}),O(\"rect\",{x:l,y:l,width:n,height:n,fill:i}),a&&O(\"rect\",{x:1.5*o+n,y:1.5*o+n,width:n,height:n,fill:i})]})}));ki.displayName=\"PatternSquares\",ki.propTypes={id:f.string.isRequired,color:f.string.isRequired,background:f.string.isRequired,size:f.number.isRequired,padding:f.number.isRequired,stagger:f.bool.isRequired},ki.defaultProps={color:\"#000000\",background:\"#ffffff\",size:4,padding:4,stagger:!1};var _i=function(e,r){return void 0===r&&(r={}),Gr({id:e,type:\"patternSquares\"},r)},wi={patternDots:si,patternLines:Ri,patternSquares:ki},xi=[\"type\"],Oi=Gr({},ai,wi),Ci=function(e){var r=e.defs;return!r||r.length<1?null:O(\"defs\",{\"aria-hidden\":!0,children:r.map((function(e){var r=e.type,t=Lr(e,xi);return Oi[r]?d(Oi[r],Gr({key:t.id},t)):null}))})};Ci.propTypes={defs:f.arrayOf(f.shape({type:f.oneOf(Object.keys(Oi)).isRequired,id:f.string.isRequired}))};var Wi=l(Ci),Si=function(e){var r=e.width,t=e.height,i=e.margin,n=e.defs,o=e.children,a=e.role,s=e.ariaLabel,l=e.ariaLabelledBy,d=e.ariaDescribedBy,u=e.isFocusable,f=Vt();return C(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",width:r,height:t,role:a,\"aria-label\":s,\"aria-labelledby\":l,\"aria-describedby\":d,focusable:u,tabIndex:u?0:void 0,children:[O(Wi,{defs:n}),O(\"rect\",{width:r,height:t,fill:f.background}),O(\"g\",{transform:\"translate(\"+i.left+\",\"+i.top+\")\",children:o})]})};Si.propTypes={width:f.number.isRequired,height:f.number.isRequired,margin:f.shape({top:f.number.isRequired,left:f.number.isRequired}).isRequired,defs:f.array,children:f.oneOfType([f.arrayOf(f.node),f.node]).isRequired,role:f.string,isFocusable:f.bool,ariaLabel:f.string,ariaLabelledBy:f.string,ariaDescribedBy:f.string};var zi=function(e){var r=e.size,t=e.color,i=e.borderWidth,n=e.borderColor;return O(\"circle\",{r:r/2,fill:t,stroke:n,strokeWidth:i,style:{pointerEvents:\"none\"}})};zi.propTypes={size:f.number.isRequired,color:f.string.isRequired,borderWidth:f.number.isRequired,borderColor:f.string.isRequired};var Pi=l(zi),Ti=function(e){var r=e.x,t=e.y,i=e.symbol,n=void 0===i?Pi:i,o=e.size,a=e.datum,s=e.color,l=e.borderWidth,u=e.borderColor,f=e.label,c=e.labelTextAnchor,p=void 0===c?\"middle\":c,h=e.labelYOffset,g=void 0===h?-12:h,m=Vt(),b=tt(),y=b.animate,v=b.config,R=k({transform:\"translate(\"+r+\", \"+t+\")\",config:v,immediate:!y});return C(w.g,{transform:R.transform,style:{pointerEvents:\"none\"},children:[d(n,{size:o,color:s,datum:a,borderWidth:l,borderColor:u}),f&&O(\"text\",{textAnchor:p,y:g,style:m.dots.text,children:f})]})};Ti.propTypes={x:f.number.isRequired,y:f.number.isRequired,datum:f.object.isRequired,size:f.number.isRequired,color:f.string.isRequired,borderWidth:f.number.isRequired,borderColor:f.string.isRequired,symbol:f.oneOfType([f.func,f.object]),label:f.oneOfType([f.string,f.number]),labelTextAnchor:f.oneOf([\"start\",\"middle\",\"end\"]),labelYOffset:f.number};var Mi=l(Ti),ji=function(e){var r=e.width,t=e.height,i=e.axis,n=e.scale,o=e.value,a=e.lineStyle,s=e.textStyle,l=e.legend,d=e.legendPosition,u=e.legendOffsetX,f=e.legendOffsetY,c=e.legendOrientation,p=Vt(),h=0,g=0,m=0,b=0;\"y\"===i?(m=n(o),g=r):(h=n(o),b=t);var y=null;if(l){var v=function(e){var r=e.axis,t=e.width,i=e.height,n=e.position,o=e.offsetX,a=e.offsetY,s=e.orientation,l=0,d=0,u=\"vertical\"===s?-90:0,f=\"start\";if(\"x\"===r)switch(n){case\"top-left\":l=-o,d=a,f=\"end\";break;case\"top\":d=-a,f=\"horizontal\"===s?\"middle\":\"start\";break;case\"top-right\":l=o,d=a,f=\"horizontal\"===s?\"start\":\"end\";break;case\"right\":l=o,d=i/2,f=\"horizontal\"===s?\"start\":\"middle\";break;case\"bottom-right\":l=o,d=i-a,f=\"start\";break;case\"bottom\":d=i+a,f=\"horizontal\"===s?\"middle\":\"end\";break;case\"bottom-left\":d=i-a,l=-o,f=\"horizontal\"===s?\"end\":\"start\";break;case\"left\":l=-o,d=i/2,f=\"horizontal\"===s?\"end\":\"middle\"}else switch(n){case\"top-left\":l=o,d=-a,f=\"start\";break;case\"top\":l=t/2,d=-a,f=\"horizontal\"===s?\"middle\":\"start\";break;case\"top-right\":l=t-o,d=-a,f=\"horizontal\"===s?\"end\":\"start\";break;case\"right\":l=t+o,f=\"horizontal\"===s?\"start\":\"middle\";break;case\"bottom-right\":l=t-o,d=a,f=\"end\";break;case\"bottom\":l=t/2,d=a,f=\"horizontal\"===s?\"middle\":\"end\";break;case\"bottom-left\":l=o,d=a,f=\"horizontal\"===s?\"start\":\"end\";break;case\"left\":l=-o,f=\"horizontal\"===s?\"end\":\"middle\"}return{x:l,y:d,rotation:u,textAnchor:f}}({axis:i,width:r,height:t,position:d,offsetX:u,offsetY:f,orientation:c});y=O(\"text\",{transform:\"translate(\"+v.x+\", \"+v.y+\") rotate(\"+v.rotation+\")\",textAnchor:v.textAnchor,dominantBaseline:\"central\",style:s,children:l})}return C(\"g\",{transform:\"translate(\"+h+\", \"+m+\")\",children:[O(\"line\",{x1:0,x2:g,y1:0,y2:b,stroke:p.markers.lineColor,strokeWidth:p.markers.lineStrokeWidth,style:a}),y]})};ji.propTypes={width:f.number.isRequired,height:f.number.isRequired,axis:f.oneOf([\"x\",\"y\"]).isRequired,scale:f.func.isRequired,value:f.oneOfType([f.number,f.string,f.instanceOf(Date)]).isRequired,lineStyle:f.object,textStyle:f.object,legend:f.string,legendPosition:f.oneOf([\"top-left\",\"top\",\"top-right\",\"right\",\"bottom-right\",\"bottom\",\"bottom-left\",\"left\"]),legendOffsetX:f.number.isRequired,legendOffsetY:f.number.isRequired,legendOrientation:f.oneOf([\"horizontal\",\"vertical\"]).isRequired},ji.defaultProps={legendPosition:\"top-right\",legendOffsetX:14,legendOffsetY:14,legendOrientation:\"horizontal\"};var Di=l(ji),Gi=function(e){var r=e.markers,t=e.width,i=e.height,n=e.xScale,o=e.yScale;return r&&0!==r.length?r.map((function(e,r){return O(Di,Gr({},e,{width:t,height:i,scale:\"y\"===e.axis?o:n}),r)})):null};Gi.propTypes={width:f.number.isRequired,height:f.number.isRequired,xScale:f.func.isRequired,yScale:f.func.isRequired,markers:f.arrayOf(f.shape({axis:f.oneOf([\"x\",\"y\"]).isRequired,value:f.oneOfType([f.number,f.string,f.instanceOf(Date)]).isRequired,lineStyle:f.object,textStyle:f.object}))};var Bi=l(Gi),Li=function(){return Sr(zr({margin:Yt}),Pr({width:f.number.isRequired,height:f.number.isRequired,margin:Pt}),Tr((function(e,r){return e.width!==r.width||e.height!==r.height||!Mr(e.margin,r.margin)}),(function(e){var r=Object.assign({},Yt,e.margin);return{margin:r,width:e.width-r.left-r.right,height:e.height-r.top-r.bottom,outerWidth:e.width,outerHeight:e.height}})))},Ii=function(){return Sr(Pr(et),zr({animate:true,motionDamping:15,motionStiffness:90}))},Yi=function(e){var r,t=void 0===e?{}:e,i=t.srcKey,n=void 0===i?\"theme\":i,o=t.destKey,a=void 0===o?\"theme\":o;return Sr(Pr(((r={})[n]=f.object,r)),Tr([n],(function(e){var r;return(r={})[a]=Qr(Vr,e[n]),r})))},Ai=[\"theme\",\"renderWrapper\",\"animate\",\"motionStiffness\",\"motionDamping\",\"motionConfig\"],Fi=function(e){return function(r){var t,i;function n(){return r.apply(this,arguments)||this}return i=r,(t=n).prototype=Object.create(i.prototype),t.prototype.constructor=t,Br(t,i),n.prototype.render=function(){var r=this.props,t=r.theme,i=r.renderWrapper,n=r.animate,o=r.motionStiffness,a=r.motionDamping,s=r.motionConfig,l=Lr(r,Ai);return O(Zt,{theme:t,renderWrapper:i,isInteractive:l.isInteractive,animate:n,motionStiffness:o,motionDamping:a,motionConfig:s,children:O(e,Gr({},l))})},n}(u)},Ei=function(e,r){var t,i=Qe(e)?e:function(r){return y(r,e)};return r&&(t=Qe(r)?r:Cr(r)),t?function(e){return t(i(e))}:i},Ui=function(e){return Qe(e)?e:function(r){return y(r,e)}},Xi=function(e){return r((function(){return Ui(e)}),[e])},Ki=[\"center\",\"top-left\",\"top\",\"top-right\",\"right\",\"bottom-right\",\"bottom\",\"bottom-left\",\"left\"],Hi=function(e,r,t){var i=r.width-e.width,n=r.height-e.height,o=0,a=0;return\"center\"===t&&(o=i/2,a=n/2),\"top\"===t&&(o=i/2),\"top-right\"===t&&(o=i),\"right\"===t&&(o=i,a=n/2),\"bottom-right\"===t&&(o=i,a=n),\"bottom\"===t&&(o=i/2,a=n),\"bottom-left\"===t&&(a=n),\"left\"===t&&(a=n/2),[o,a]},Ni=function(e,r,t,i){var n=t-e,o=i-r;return n*=n,o*=o,Math.sqrt(n+o)},Vi=function(e,r,t,i){var n=Math.atan2(i-r,t-e)-Math.PI/2;return n>0?n:2*Math.PI+n},Ji=function(e,r,t,i,n,o){return e<=n&&n<=e+t&&r<=o&&o<=r+i},Qi=function(e,r){var t=r.clientX,i=r.clientY,n=e.getBoundingClientRect(),o=e.getBBox(),a=o.width===n.width?1:o.width/n.width;return[(t-n.left)*a,(i-n.top)*a]},Zi=Object.keys(ai),$i=Object.keys(wi),en=function(e,r,t){if(\"*\"===e)return!0;if(Qe(e))return e(r);if(jr(e)){var i=t?y(r,t):r;return Mr(Dr(i,Object.keys(e)),e)}return!1},rn=function(e,r,t,i){var n=void 0===i?{}:i,o=n.dataKey,a=n.colorKey,s=void 0===a?\"color\":a,l=n.targetKey,d=void 0===l?\"fill\":l,u=[],f={};return e.length&&r.length&&(u=[].concat(e),r.forEach((function(r){for(var i=function(i){var n=t[i],a=n.id,l=n.match;if(en(l,r,o)){var c=e.find((function(e){return e.id===a}));if(c)if($i.includes(c.type))if(\"inherit\"===c.background||\"inherit\"===c.color){var p=y(r,s),h=c.background,g=c.color,m=a;\"inherit\"===c.background&&(m=m+\".bg.\"+p,h=p),\"inherit\"===c.color&&(m=m+\".fg.\"+p,g=p),v(r,d,\"url(#\"+m+\")\"),f[m]||(u.push(Gr({},c,{id:m,background:h,color:g})),f[m]=1)}else v(r,d,\"url(#\"+a+\")\");else if(Zi.includes(c.type)){if(c.colors.map((function(e){return e.color})).includes(\"inherit\")){var b=y(r,s),R=a,q=Gr({},c,{colors:c.colors.map((function(e,r){return\"inherit\"!==e.color?e:(R=R+\".\"+r+\".\"+b,Gr({},e,{color:\"inherit\"===e.color?b:e.color}))}))});q.id=R,v(r,d,\"url(#\"+R+\")\"),f[R]||(u.push(q),f[R]=1)}else v(r,d,\"url(#\"+a+\")\")}return\"break\"}},n=0;n<t.length;n++){if(\"break\"===i(n))break}}))),u};export{Bi as CartesianMarkers,Di as CartesianMarkersItem,Zt as Container,Wi as Defs,Mi as DotsItem,ri as LegacyContainer,ni as LinearGradient,$r as MotionConfigProvider,si as PatternDots,Ri as PatternLines,ki as PatternSquares,ti as ResponsiveWrapper,Si as SvgWrapper,di as TWO_PI,Nt as ThemeProvider,hi as absoluteAngleDegrees,gi as absoluteAngleRadians,Hi as alignBox,Hr as annotationsPropType,yt as areaCurvePropKeys,Yr as axisThemePropType,rn as bindDefs,Mt as blendModePropType,Tt as blendModes,Ki as boxAlignments,bi as clampArc,bt as closedCurvePropKeys,ut as colorInterpolatorIds,dt as colorInterpolators,lt as colorSchemeIds,Kr as crosshairPropType,qt as curveFromProp,gt as curvePropKeys,ht as curvePropMapping,mt as curvePropType,Dt as defaultAnimate,Lt as defaultCategoricalColors,It as defaultColorRange,Yt as defaultMargin,Bt as defaultMotionDamping,Gt as defaultMotionStiffness,Vr as defaultTheme,kt as defsPropTypes,ui as degreesToRadians,Ur as dotsThemePropType,Qr as extendDefaultTheme,Vi as getAngle,ct as getColorScale,Ni as getDistance,Ei as getLabelGenerator,vi as getPolarLabelProps,Ui as getPropertyAccessor,Qi as getRelativeCursor,Ut as getValueFormatter,ai as gradientTypes,Ar as gridThemePropType,at as guessQuantizeColorScale,Ji as isCursorInRect,en as isMatchingDef,Er as labelsThemePropType,Fr as legendsThemePropType,vt as lineCurvePropKeys,Rt as lineCurvePropType,oi as linearGradientDef,Pt as marginPropType,Xr as markersThemePropType,ci as midAngle,Zr as motionConfigContext,rt as motionDefaultProps,et as motionPropTypes,ft as nivoCategoricalColors,$t as noop,mi as normalizeAngle,li as patternDotsDef,qi as patternLinesDef,_i as patternSquaresDef,wi as patternTypes,pi as positionFromAngle,pt as quantizeColorScalePropType,nt as quantizeColorScales,ot as quantizeColorScalesKeys,fi as radiansToDegrees,zt as stackOffsetFromProp,Wt as stackOffsetPropKeys,Ct as stackOffsetPropMapping,St as stackOffsetPropType,Ot as stackOrderFromProp,wt as stackOrderPropKeys,_t as stackOrderPropMapping,xt as stackOrderPropType,yi as textPropsByEngine,Kt as themeContext,Nr as themePropType,it as useAnimatedPath,jt as useCurveInterpolation,At as useDimensions,Ft as useMeasure,tt as useMotionConfig,Et as usePartialTheme,Xi as usePropertyAccessor,Vt as useTheme,Xt as useValueFormatter,Fi as withContainer,Li as withDimensions,Ii as withMotion,Yi as withTheme};\n//# sourceMappingURL=nivo-core.es.js.map\n","var baseIteratee = require('./_baseIteratee'),\n baseUniq = require('./_baseUniq');\n\n/**\n * This method is like `_.uniq` except that it accepts `iteratee` which is\n * invoked for each element in `array` to generate the criterion by which\n * uniqueness is computed. The order of result values is determined by the\n * order they occur in the array. The iteratee is invoked with one argument:\n * (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.uniqBy([2.1, 1.2, 2.3], Math.floor);\n * // => [2.1, 1.2]\n *\n * // The `_.property` iteratee shorthand.\n * _.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 1 }, { 'x': 2 }]\n */\nfunction uniqBy(array, iteratee) {\n return (array && array.length) ? baseUniq(array, baseIteratee(iteratee, 2)) : [];\n}\n\nmodule.exports = uniqBy;\n","var baseFor = require('./_baseFor'),\n keys = require('./keys');\n\n/**\n * The base implementation of `_.forOwn` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return object && baseFor(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwn;\n","var isArrayLike = require('./isArrayLike');\n\n/**\n * Creates a `baseEach` or `baseEachRight` function.\n *\n * @private\n * @param {Function} eachFunc The function to iterate over a collection.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseEach(eachFunc, fromRight) {\n return function(collection, iteratee) {\n if (collection == null) {\n return collection;\n }\n if (!isArrayLike(collection)) {\n return eachFunc(collection, iteratee);\n }\n var length = collection.length,\n index = fromRight ? length : -1,\n iterable = Object(collection);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (iteratee(iterable[index], index, iterable) === false) {\n break;\n }\n }\n return collection;\n };\n}\n\nmodule.exports = createBaseEach;\n","var baseForOwn = require('./_baseForOwn'),\n createBaseEach = require('./_createBaseEach');\n\n/**\n * The base implementation of `_.forEach` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\nvar baseEach = createBaseEach(baseForOwn);\n\nmodule.exports = baseEach;\n","var baseEach = require('./_baseEach'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * The base implementation of `_.map` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction baseMap(collection, iteratee) {\n var index = -1,\n result = isArrayLike(collection) ? Array(collection.length) : [];\n\n baseEach(collection, function(value, key, collection) {\n result[++index] = iteratee(value, key, collection);\n });\n return result;\n}\n\nmodule.exports = baseMap;\n","/**\n * The base implementation of `_.sortBy` which uses `comparer` to define the\n * sort order of `array` and replaces criteria objects with their corresponding\n * values.\n *\n * @private\n * @param {Array} array The array to sort.\n * @param {Function} comparer The function to define sort order.\n * @returns {Array} Returns `array`.\n */\nfunction baseSortBy(array, comparer) {\n var length = array.length;\n\n array.sort(comparer);\n while (length--) {\n array[length] = array[length].value;\n }\n return array;\n}\n\nmodule.exports = baseSortBy;\n","var isSymbol = require('./isSymbol');\n\n/**\n * Compares values to sort them in ascending order.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {number} Returns the sort order indicator for `value`.\n */\nfunction compareAscending(value, other) {\n if (value !== other) {\n var valIsDefined = value !== undefined,\n valIsNull = value === null,\n valIsReflexive = value === value,\n valIsSymbol = isSymbol(value);\n\n var othIsDefined = other !== undefined,\n othIsNull = other === null,\n othIsReflexive = other === other,\n othIsSymbol = isSymbol(other);\n\n if ((!othIsNull && !othIsSymbol && !valIsSymbol && value > other) ||\n (valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol) ||\n (valIsNull && othIsDefined && othIsReflexive) ||\n (!valIsDefined && othIsReflexive) ||\n !valIsReflexive) {\n return 1;\n }\n if ((!valIsNull && !valIsSymbol && !othIsSymbol && value < other) ||\n (othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol) ||\n (othIsNull && valIsDefined && valIsReflexive) ||\n (!othIsDefined && valIsReflexive) ||\n !othIsReflexive) {\n return -1;\n }\n }\n return 0;\n}\n\nmodule.exports = compareAscending;\n","var compareAscending = require('./_compareAscending');\n\n/**\n * Used by `_.orderBy` to compare multiple properties of a value to another\n * and stable sort them.\n *\n * If `orders` is unspecified, all values are sorted in ascending order. Otherwise,\n * specify an order of \"desc\" for descending or \"asc\" for ascending sort order\n * of corresponding values.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {boolean[]|string[]} orders The order to sort by for each property.\n * @returns {number} Returns the sort order indicator for `object`.\n */\nfunction compareMultiple(object, other, orders) {\n var index = -1,\n objCriteria = object.criteria,\n othCriteria = other.criteria,\n length = objCriteria.length,\n ordersLength = orders.length;\n\n while (++index < length) {\n var result = compareAscending(objCriteria[index], othCriteria[index]);\n if (result) {\n if (index >= ordersLength) {\n return result;\n }\n var order = orders[index];\n return result * (order == 'desc' ? -1 : 1);\n }\n }\n // Fixes an `Array#sort` bug in the JS engine embedded in Adobe applications\n // that causes it, under certain circumstances, to provide the same value for\n // `object` and `other`. See https://github.com/jashkenas/underscore/pull/1247\n // for more details.\n //\n // This also ensures a stable sort in V8 and other engines.\n // See https://bugs.chromium.org/p/v8/issues/detail?id=90 for more details.\n return object.index - other.index;\n}\n\nmodule.exports = compareMultiple;\n","var arrayMap = require('./_arrayMap'),\n baseGet = require('./_baseGet'),\n baseIteratee = require('./_baseIteratee'),\n baseMap = require('./_baseMap'),\n baseSortBy = require('./_baseSortBy'),\n baseUnary = require('./_baseUnary'),\n compareMultiple = require('./_compareMultiple'),\n identity = require('./identity'),\n isArray = require('./isArray');\n\n/**\n * The base implementation of `_.orderBy` without param guards.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by.\n * @param {string[]} orders The sort orders of `iteratees`.\n * @returns {Array} Returns the new sorted array.\n */\nfunction baseOrderBy(collection, iteratees, orders) {\n if (iteratees.length) {\n iteratees = arrayMap(iteratees, function(iteratee) {\n if (isArray(iteratee)) {\n return function(value) {\n return baseGet(value, iteratee.length === 1 ? iteratee[0] : iteratee);\n }\n }\n return iteratee;\n });\n } else {\n iteratees = [identity];\n }\n\n var index = -1;\n iteratees = arrayMap(iteratees, baseUnary(baseIteratee));\n\n var result = baseMap(collection, function(value, key, collection) {\n var criteria = arrayMap(iteratees, function(iteratee) {\n return iteratee(value);\n });\n return { 'criteria': criteria, 'index': ++index, 'value': value };\n });\n\n return baseSortBy(result, function(object, other) {\n return compareMultiple(object, other, orders);\n });\n}\n\nmodule.exports = baseOrderBy;\n","var baseFlatten = require('./_baseFlatten'),\n baseOrderBy = require('./_baseOrderBy'),\n baseRest = require('./_baseRest'),\n isIterateeCall = require('./_isIterateeCall');\n\n/**\n * Creates an array of elements, sorted in ascending order by the results of\n * running each element in a collection thru each iteratee. This method\n * performs a stable sort, that is, it preserves the original sort order of\n * equal elements. The iteratees are invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {...(Function|Function[])} [iteratees=[_.identity]]\n * The iteratees to sort by.\n * @returns {Array} Returns the new sorted array.\n * @example\n *\n * var users = [\n * { 'user': 'fred', 'age': 48 },\n * { 'user': 'barney', 'age': 36 },\n * { 'user': 'fred', 'age': 30 },\n * { 'user': 'barney', 'age': 34 }\n * ];\n *\n * _.sortBy(users, [function(o) { return o.user; }]);\n * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 30]]\n *\n * _.sortBy(users, ['user', 'age']);\n * // => objects for [['barney', 34], ['barney', 36], ['fred', 30], ['fred', 48]]\n */\nvar sortBy = baseRest(function(collection, iteratees) {\n if (collection == null) {\n return [];\n }\n var length = iteratees.length;\n if (length > 1 && isIterateeCall(collection, iteratees[0], iteratees[1])) {\n iteratees = [];\n } else if (length > 2 && isIterateeCall(iteratees[0], iteratees[1], iteratees[2])) {\n iteratees = [iteratees[0]];\n }\n return baseOrderBy(collection, baseFlatten(iteratees, 1), []);\n});\n\nmodule.exports = sortBy;\n","var baseIsDate = require('./_baseIsDate'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsDate = nodeUtil && nodeUtil.isDate;\n\n/**\n * Checks if `value` is classified as a `Date` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a date object, else `false`.\n * @example\n *\n * _.isDate(new Date);\n * // => true\n *\n * _.isDate('Mon April 23 2012');\n * // => false\n */\nvar isDate = nodeIsDate ? baseUnary(nodeIsDate) : baseIsDate;\n\nmodule.exports = isDate;\n","var t0 = new Date,\n t1 = new Date;\n\nexport default function newInterval(floori, offseti, count, field) {\n\n function interval(date) {\n return floori(date = arguments.length === 0 ? new Date : new Date(+date)), date;\n }\n\n interval.floor = function(date) {\n return floori(date = new Date(+date)), date;\n };\n\n interval.ceil = function(date) {\n return floori(date = new Date(date - 1)), offseti(date, 1), floori(date), date;\n };\n\n interval.round = function(date) {\n var d0 = interval(date),\n d1 = interval.ceil(date);\n return date - d0 < d1 - date ? d0 : d1;\n };\n\n interval.offset = function(date, step) {\n return offseti(date = new Date(+date), step == null ? 1 : Math.floor(step)), date;\n };\n\n interval.range = function(start, stop, step) {\n var range = [], previous;\n start = interval.ceil(start);\n step = step == null ? 1 : Math.floor(step);\n if (!(start < stop) || !(step > 0)) return range; // also handles Invalid Date\n do range.push(previous = new Date(+start)), offseti(start, step), floori(start);\n while (previous < start && start < stop);\n return range;\n };\n\n interval.filter = function(test) {\n return newInterval(function(date) {\n if (date >= date) while (floori(date), !test(date)) date.setTime(date - 1);\n }, function(date, step) {\n if (date >= date) {\n if (step < 0) while (++step <= 0) {\n while (offseti(date, -1), !test(date)) {} // eslint-disable-line no-empty\n } else while (--step >= 0) {\n while (offseti(date, +1), !test(date)) {} // eslint-disable-line no-empty\n }\n }\n });\n };\n\n if (count) {\n interval.count = function(start, end) {\n t0.setTime(+start), t1.setTime(+end);\n floori(t0), floori(t1);\n return Math.floor(count(t0, t1));\n };\n\n interval.every = function(step) {\n step = Math.floor(step);\n return !isFinite(step) || !(step > 0) ? null\n : !(step > 1) ? interval\n : interval.filter(field\n ? function(d) { return field(d) % step === 0; }\n : function(d) { return interval.count(0, d) % step === 0; });\n };\n }\n\n return interval;\n}\n","import interval from \"./interval.js\";\n\nvar millisecond = interval(function() {\n // noop\n}, function(date, step) {\n date.setTime(+date + step);\n}, function(start, end) {\n return end - start;\n});\n\n// An optimized implementation for this simple case.\nmillisecond.every = function(k) {\n k = Math.floor(k);\n if (!isFinite(k) || !(k > 0)) return null;\n if (!(k > 1)) return millisecond;\n return interval(function(date) {\n date.setTime(Math.floor(date / k) * k);\n }, function(date, step) {\n date.setTime(+date + step * k);\n }, function(start, end) {\n return (end - start) / k;\n });\n};\n\nexport default millisecond;\nexport var milliseconds = millisecond.range;\n","export var durationSecond = 1e3;\nexport var durationMinute = 6e4;\nexport var durationHour = 36e5;\nexport var durationDay = 864e5;\nexport var durationWeek = 6048e5;\n","import interval from \"./interval.js\";\nimport {durationSecond} from \"./duration.js\";\n\nvar second = interval(function(date) {\n date.setTime(date - date.getMilliseconds());\n}, function(date, step) {\n date.setTime(+date + step * durationSecond);\n}, function(start, end) {\n return (end - start) / durationSecond;\n}, function(date) {\n return date.getUTCSeconds();\n});\n\nexport default second;\nexport var seconds = second.range;\n","import interval from \"./interval.js\";\nimport {durationMinute, durationSecond} from \"./duration.js\";\n\nvar minute = interval(function(date) {\n date.setTime(date - date.getMilliseconds() - date.getSeconds() * durationSecond);\n}, function(date, step) {\n date.setTime(+date + step * durationMinute);\n}, function(start, end) {\n return (end - start) / durationMinute;\n}, function(date) {\n return date.getMinutes();\n});\n\nexport default minute;\nexport var minutes = minute.range;\n","import interval from \"./interval.js\";\nimport {durationHour, durationMinute, durationSecond} from \"./duration.js\";\n\nvar hour = interval(function(date) {\n date.setTime(date - date.getMilliseconds() - date.getSeconds() * durationSecond - date.getMinutes() * durationMinute);\n}, function(date, step) {\n date.setTime(+date + step * durationHour);\n}, function(start, end) {\n return (end - start) / durationHour;\n}, function(date) {\n return date.getHours();\n});\n\nexport default hour;\nexport var hours = hour.range;\n","import interval from \"./interval.js\";\nimport {durationMinute, durationWeek} from \"./duration.js\";\n\nfunction weekday(i) {\n return interval(function(date) {\n date.setDate(date.getDate() - (date.getDay() + 7 - i) % 7);\n date.setHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setDate(date.getDate() + step * 7);\n }, function(start, end) {\n return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationWeek;\n });\n}\n\nexport var sunday = weekday(0);\nexport var monday = weekday(1);\nexport var tuesday = weekday(2);\nexport var wednesday = weekday(3);\nexport var thursday = weekday(4);\nexport var friday = weekday(5);\nexport var saturday = weekday(6);\n\nexport var sundays = sunday.range;\nexport var mondays = monday.range;\nexport var tuesdays = tuesday.range;\nexport var wednesdays = wednesday.range;\nexport var thursdays = thursday.range;\nexport var fridays = friday.range;\nexport var saturdays = saturday.range;\n","import interval from \"./interval.js\";\n\nvar month = interval(function(date) {\n date.setDate(1);\n date.setHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setMonth(date.getMonth() + step);\n}, function(start, end) {\n return end.getMonth() - start.getMonth() + (end.getFullYear() - start.getFullYear()) * 12;\n}, function(date) {\n return date.getMonth();\n});\n\nexport default month;\nexport var months = month.range;\n","import interval from \"./interval.js\";\n\nvar year = interval(function(date) {\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setFullYear(date.getFullYear() + step);\n}, function(start, end) {\n return end.getFullYear() - start.getFullYear();\n}, function(date) {\n return date.getFullYear();\n});\n\n// An optimized implementation for this simple case.\nyear.every = function(k) {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : interval(function(date) {\n date.setFullYear(Math.floor(date.getFullYear() / k) * k);\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setFullYear(date.getFullYear() + step * k);\n });\n};\n\nexport default year;\nexport var years = year.range;\n","import interval from \"./interval.js\";\nimport {durationMinute} from \"./duration.js\";\n\nvar utcMinute = interval(function(date) {\n date.setUTCSeconds(0, 0);\n}, function(date, step) {\n date.setTime(+date + step * durationMinute);\n}, function(start, end) {\n return (end - start) / durationMinute;\n}, function(date) {\n return date.getUTCMinutes();\n});\n\nexport default utcMinute;\nexport var utcMinutes = utcMinute.range;\n","import interval from \"./interval.js\";\nimport {durationHour} from \"./duration.js\";\n\nvar utcHour = interval(function(date) {\n date.setUTCMinutes(0, 0, 0);\n}, function(date, step) {\n date.setTime(+date + step * durationHour);\n}, function(start, end) {\n return (end - start) / durationHour;\n}, function(date) {\n return date.getUTCHours();\n});\n\nexport default utcHour;\nexport var utcHours = utcHour.range;\n","import interval from \"./interval.js\";\nimport {durationWeek} from \"./duration.js\";\n\nfunction utcWeekday(i) {\n return interval(function(date) {\n date.setUTCDate(date.getUTCDate() - (date.getUTCDay() + 7 - i) % 7);\n date.setUTCHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setUTCDate(date.getUTCDate() + step * 7);\n }, function(start, end) {\n return (end - start) / durationWeek;\n });\n}\n\nexport var utcSunday = utcWeekday(0);\nexport var utcMonday = utcWeekday(1);\nexport var utcTuesday = utcWeekday(2);\nexport var utcWednesday = utcWeekday(3);\nexport var utcThursday = utcWeekday(4);\nexport var utcFriday = utcWeekday(5);\nexport var utcSaturday = utcWeekday(6);\n\nexport var utcSundays = utcSunday.range;\nexport var utcMondays = utcMonday.range;\nexport var utcTuesdays = utcTuesday.range;\nexport var utcWednesdays = utcWednesday.range;\nexport var utcThursdays = utcThursday.range;\nexport var utcFridays = utcFriday.range;\nexport var utcSaturdays = utcSaturday.range;\n","import interval from \"./interval.js\";\n\nvar utcMonth = interval(function(date) {\n date.setUTCDate(1);\n date.setUTCHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setUTCMonth(date.getUTCMonth() + step);\n}, function(start, end) {\n return end.getUTCMonth() - start.getUTCMonth() + (end.getUTCFullYear() - start.getUTCFullYear()) * 12;\n}, function(date) {\n return date.getUTCMonth();\n});\n\nexport default utcMonth;\nexport var utcMonths = utcMonth.range;\n","import interval from \"./interval.js\";\n\nvar utcYear = interval(function(date) {\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setUTCFullYear(date.getUTCFullYear() + step);\n}, function(start, end) {\n return end.getUTCFullYear() - start.getUTCFullYear();\n}, function(date) {\n return date.getUTCFullYear();\n});\n\n// An optimized implementation for this simple case.\nutcYear.every = function(k) {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : interval(function(date) {\n date.setUTCFullYear(Math.floor(date.getUTCFullYear() / k) * k);\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setUTCFullYear(date.getUTCFullYear() + step * k);\n });\n};\n\nexport default utcYear;\nexport var utcYears = utcYear.range;\n","import n from\"lodash/uniq\";import t from\"lodash/uniqBy\";import r from\"lodash/sortBy\";import e from\"lodash/last\";import a from\"lodash/isDate\";import{utcParse as i,timeParse as o}from\"d3-time-format\";import{scaleLinear as u,scalePoint as c,scaleBand as f,scaleUtc as d,scaleTime as s,scaleLog as l,scaleSymlog as m}from\"d3-scale\";import{timeInterval as v,timeMillisecond as y,utcMillisecond as p,timeSecond as h,utcSecond as g,timeMinute as x,utcMinute as k,timeHour as T,utcHour as M,timeWeek as w,utcWeek as b,timeSunday as E,utcSunday as S,timeMonday as D,utcMonday as C,timeTuesday as U,utcTuesday as j,timeWednesday as O,utcWednesday as R,timeThursday as H,utcThursday as V,timeFriday as q,utcFriday as A,timeSaturday as B,utcSaturday as F,timeMonth as N,utcMonth as z,timeYear as I,utcYear as P}from\"d3-time\";function $(){return $=Object.assign||function(n){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var e in r)Object.prototype.hasOwnProperty.call(r,e)&&(n[e]=r[e])}return n},$.apply(this,arguments)}var G=[\"millisecond\",\"second\",\"minute\",\"hour\",\"day\",\"month\",\"year\"],J=[function(n){return n.setMilliseconds(0)},function(n){return n.setSeconds(0)},function(n){return n.setMinutes(0)},function(n){return n.setHours(0)},function(n){return n.setDate(1)},function(n){return n.setMonth(0)}],K={millisecond:[],second:J.slice(0,1),minute:J.slice(0,2),hour:J.slice(0,3),day:J.slice(0,4),month:J.slice(0,5),year:J.slice(0,6)},L=function(n){return function(t){return K[n].forEach((function(n){n(t)})),t}},Q=function(n){var t=n.format,r=void 0===t?\"native\":t,e=n.precision,a=void 0===e?\"millisecond\":e,u=n.useUTC,c=void 0===u||u,f=L(a);return function(n){if(void 0===n)return n;if(\"native\"===r||n instanceof Date)return f(n);var t=c?i(r):o(r);return f(t(n))}},W=function(n,t,r,e){var a,i,o,c,f=n.min,d=void 0===f?0:f,s=n.max,l=void 0===s?\"auto\":s,m=n.stacked,v=void 0!==m&&m,y=n.reverse,p=void 0!==y&&y,h=n.clamp,g=void 0!==h&&h,x=n.nice,k=void 0!==x&&x;\"auto\"===d?a=!0===v?null!=(i=t.minStacked)?i:0:t.min:a=d;\"auto\"===l?o=!0===v?null!=(c=t.maxStacked)?c:0:t.max:o=l;var T=u().rangeRound(\"x\"===e?[0,r]:[r,0]).domain(p?[o,a]:[a,o]).clamp(g);return!0===k?T.nice():\"number\"==typeof k&&T.nice(k),X(T,v)},X=function(n,t){void 0===t&&(t=!1);var r=n;return r.type=\"linear\",r.stacked=t,r},Y=function(n,t,r){var e=c().range([0,r]).domain(t.all);return e.type=\"point\",e},Z=function(n){var t=n;return t.type=\"point\",t},_=function(n,t,r,e){var a=n.round,i=void 0===a||a,o=f().range(\"x\"===e?[0,r]:[r,0]).domain(t.all).round(i);return nn(o)},nn=function(n){var t=n;return t.type=\"band\",t},tn=function(n,t,r){var e,a,i=n.format,o=void 0===i?\"native\":i,u=n.precision,c=void 0===u?\"millisecond\":u,f=n.min,l=void 0===f?\"auto\":f,m=n.max,v=void 0===m?\"auto\":m,y=n.useUTC,p=void 0===y||y,h=n.nice,g=void 0!==h&&h,x=Q({format:o,precision:c,useUTC:p});e=\"auto\"===l?x(t.min):\"native\"!==o?x(l):l,a=\"auto\"===v?x(t.max):\"native\"!==o?x(v):v;var k=p?d():s();k.range([0,r]),e&&a&&k.domain([e,a]),!0===g?k.nice():\"object\"!=typeof g&&\"number\"!=typeof g||k.nice(g);var T=k;return T.type=\"time\",T.useUTC=p,T},rn=function(n,t,r,e){var a,i=n.base,o=void 0===i?10:i,u=n.min,c=void 0===u?\"auto\":u,f=n.max,d=void 0===f?\"auto\":f;if(t.all.some((function(n){return 0===n})))throw new Error(\"a log scale domain must not include or cross zero\");var s,m,v=!1;if(t.all.filter((function(n){return null!=n})).forEach((function(n){v||(void 0===a?a=Math.sign(n):Math.sign(n)!==a&&(v=!0))})),v)throw new Error(\"a log scale domain must be strictly-positive or strictly-negative\");s=\"auto\"===c?t.min:c,m=\"auto\"===d?t.max:d;var y=l().domain([s,m]).rangeRound(\"x\"===e?[0,r]:[r,0]).base(o).nice();return y.type=\"log\",y},en=function(n,t,r,e){var a,i,o=n.constant,u=void 0===o?1:o,c=n.min,f=void 0===c?\"auto\":c,d=n.max,s=void 0===d?\"auto\":d,l=n.reverse,v=void 0!==l&&l;a=\"auto\"===f?t.min:f,i=\"auto\"===s?t.max:s;var y=m().constant(u).rangeRound(\"x\"===e?[0,r]:[r,0]).nice();!0===v?y.domain([i,a]):y.domain([a,i]);var p=y;return p.type=\"symlog\",p},an=function(n){return\"x\"===n?\"y\":\"x\"},on=function(n,t){return n===t},un=function(n,t){return n.getTime()===t.getTime()};function cn(n,t,r,e){switch(n.type){case\"linear\":return W(n,t,r,e);case\"point\":return Y(0,t,r);case\"band\":return _(n,t,r,e);case\"time\":return tn(n,t,r);case\"log\":return rn(n,t,r,e);case\"symlog\":return en(n,t,r,e);default:throw new Error(\"invalid scale spec\")}}var fn=function(n,t,r){var e;if(\"stacked\"in r&&r.stacked){var a=n.data[\"x\"===t?\"xStacked\":\"yStacked\"];return null==a?null:r(a)}return null!=(e=r(n.data[t]))?e:null},dn=function(n,t,r,e,a){var i=n.map((function(n){return function(n){return $({},n,{data:n.data.map((function(n){return{data:$({},n)}}))})}(n)})),o=sn(i,t,r);\"stacked\"in t&&!0===t.stacked&&vn(o,i),\"stacked\"in r&&!0===r.stacked&&yn(o,i);var u=cn(t,o.x,e,\"x\"),c=cn(r,o.y,a,\"y\"),f=i.map((function(n){return $({},n,{data:n.data.map((function(n){return $({},n,{position:{x:fn(n,\"x\",u),y:fn(n,\"y\",c)}})}))})}));return $({},o,{series:f,xScale:u,yScale:c})},sn=function(n,t,r){return{x:ln(n,\"x\",t),y:ln(n,\"y\",r)}},ln=function(a,i,o,u){var c=void 0===u?{}:u,f=c.getValue,d=void 0===f?function(n){return n.data[i]}:f,s=c.setValue,l=void 0===s?function(n,t){n.data[i]=t}:s;if(\"linear\"===o.type)a.forEach((function(n){n.data.forEach((function(n){var t=d(n);t&&l(n,parseFloat(String(t)))}))}));else if(\"time\"===o.type&&\"native\"!==o.format){var m=Q(o);a.forEach((function(n){n.data.forEach((function(n){var t=d(n);t&&l(n,m(t))}))}))}var v=[];switch(a.forEach((function(n){n.data.forEach((function(n){v.push(d(n))}))})),o.type){case\"linear\":var y=r(n(v).filter((function(n){return null!==n})),(function(n){return n}));return{all:y,min:Math.min.apply(Math,y),max:Math.max.apply(Math,y)};case\"time\":var p=t(v,(function(n){return n.getTime()})).slice(0).sort((function(n,t){return t.getTime()-n.getTime()})).reverse();return{all:p,min:p[0],max:e(p)};default:var h=n(v);return{all:h,min:h[0],max:e(h)}}},mn=function(n,t,r){var i=an(n),o=[];t[i].all.forEach((function(t){var u=a(t)?un:on,c=[];r.forEach((function(r){var a=r.data.find((function(n){return u(n.data[i],t)})),f=null,d=null;if(void 0!==a){if(null!==(f=a.data[n])){var s=e(c);void 0===s?d=f:null!==s&&(d=s+f)}a.data[\"x\"===n?\"xStacked\":\"yStacked\"]=d}c.push(d),null!==d&&o.push(d)}))})),t[n].minStacked=Math.min.apply(Math,o),t[n].maxStacked=Math.max.apply(Math,o)},vn=function(n,t){return mn(\"x\",n,t)},yn=function(n,t){return mn(\"y\",n,t)},pn=function(n){var t=n.bandwidth();if(0===t)return n;var r=t/2;return n.round()&&(r=Math.round(r)),function(t){var e;return(null!=(e=n(t))?e:0)+r}},hn={millisecond:[y,p],second:[h,g],minute:[x,k],hour:[T,M],day:[v((function(n){return n.setHours(0,0,0,0)}),(function(n,t){return n.setDate(n.getDate()+t)}),(function(n,t){return(t.getTime()-n.getTime())/864e5}),(function(n){return Math.floor(n.getTime()/864e5)})),v((function(n){return n.setUTCHours(0,0,0,0)}),(function(n,t){return n.setUTCDate(n.getUTCDate()+t)}),(function(n,t){return(t.getTime()-n.getTime())/864e5}),(function(n){return Math.floor(n.getTime()/864e5)}))],week:[w,b],sunday:[E,S],monday:[D,C],tuesday:[U,j],wednesday:[O,R],thursday:[H,V],friday:[q,A],saturday:[B,F],month:[N,z],year:[I,P]},gn=Object.keys(hn),xn=new RegExp(\"^every\\\\s*(\\\\d+)?\\\\s*(\"+gn.join(\"|\")+\")s?$\",\"i\"),kn=function(n,t){if(Array.isArray(t))return t;if(\"string\"==typeof t&&\"useUTC\"in n){var r=t.match(xn);if(r){var e=r[1],a=r[2],i=hn[a][n.useUTC?1:0];if(\"day\"===a){var o,u,c=n.domain(),f=c[0],d=c[1],s=new Date(d);return s.setDate(s.getDate()+1),null!=(o=null==(u=i.every(Number(null!=e?e:1)))?void 0:u.range(f,s))?o:[]}if(void 0===e)return n.ticks(i);var l=i.every(Number(e));if(l)return n.ticks(l)}throw new Error(\"Invalid tickValues: \"+t)}if(\"ticks\"in n){if(void 0===t)return n.ticks();if(\"number\"==typeof(m=t)&&isFinite(m)&&Math.floor(m)===m)return n.ticks(t)}var m;return n.domain()};export{nn as castBandScale,X as castLinearScale,Z as castPointScale,pn as centerScale,un as compareDateValues,on as compareValues,cn as computeScale,dn as computeXYScalesForSeries,_ as createBandScale,Q as createDateNormalizer,W as createLinearScale,rn as createLogScale,Y as createPointScale,L as createPrecisionMethod,en as createSymlogScale,tn as createTimeScale,ln as generateSeriesAxis,sn as generateSeriesXY,an as getOtherAxis,kn as getScaleTicks,J as precisionCutOffs,K as precisionCutOffsByType,mn as stackAxis,G as timePrecisions};\n//# sourceMappingURL=nivo-scales.es.js.map\n","import*as t from\"react\";import{memo as e,useMemo as i,createElement as n}from\"react\";import{animated as r,useSpring as a,useTransition as o}from\"@react-spring/web\";import{textPropsByEngine as l,useTheme as s,useMotionConfig as c,degreesToRadians as f}from\"@nivo/core\";import{timeFormat as x}from\"d3-time-format\";import{format as u}from\"d3-format\";import{getScaleTicks as d,centerScale as m}from\"@nivo/scales\";import{jsxs as y,jsx as g,Fragment as k}from\"react/jsx-runtime\";import h from\"prop-types\";function v(){return v=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var i=arguments[e];for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&(t[n]=i[n])}return t},v.apply(this,arguments)}var p=function(t){var e,i=t.axis,n=t.scale,r=t.ticksPosition,a=t.tickValues,o=t.tickSize,s=t.tickPadding,c=t.tickRotation,f=t.engine,x=void 0===f?\"svg\":f,u=d(n,a),y=l[x],g=\"bandwidth\"in n?m(n):n,k={lineX:0,lineY:0},h={textX:0,textY:0},p=\"object\"==typeof document&&\"rtl\"===document.dir,b=y.align.center,P=y.baseline.center;return\"x\"===i?(e=function(t){var e;return{x:null!=(e=g(t))?e:0,y:0}},k.lineY=o*(\"after\"===r?1:-1),h.textY=(o+s)*(\"after\"===r?1:-1),P=\"after\"===r?y.baseline.top:y.baseline.bottom,0===c?b=y.align.center:\"after\"===r&&c<0||\"before\"===r&&c>0?(b=y.align[p?\"left\":\"right\"],P=y.baseline.center):(\"after\"===r&&c>0||\"before\"===r&&c<0)&&(b=y.align[p?\"right\":\"left\"],P=y.baseline.center)):(e=function(t){var e;return{x:0,y:null!=(e=g(t))?e:0}},k.lineX=o*(\"after\"===r?1:-1),h.textX=(o+s)*(\"after\"===r?1:-1),b=\"after\"===r?y.align.left:y.align.right),{ticks:u.map((function(t){return v({key:t instanceof Date?\"\"+t.valueOf():\"\"+t,value:t},e(t),k,h)})),textAlign:b,textBaseline:P}},b=function(t,e){if(void 0===t||\"function\"==typeof t)return t;if(\"time\"===e.type){var i=x(t);return function(t){return i(t instanceof Date?t:new Date(t))}}return u(t)},P=function(t){var e,i=t.width,n=t.height,r=t.scale,a=t.axis,o=t.values,l=(e=o,Array.isArray(e)?o:void 0)||d(r,o),s=\"bandwidth\"in r?m(r):r,c=\"x\"===a?l.map((function(t){var e,i;return{key:t instanceof Date?\"\"+t.valueOf():\"\"+t,x1:null!=(e=s(t))?e:0,x2:null!=(i=s(t))?i:0,y1:0,y2:n}})):l.map((function(t){var e,n;return{key:t instanceof Date?\"\"+t.valueOf():\"\"+t,x1:0,x2:i,y1:null!=(e=s(t))?e:0,y2:null!=(n=s(t))?n:0}}));return c},S=e((function(t){var e,n=t.value,a=t.format,o=t.lineX,l=t.lineY,c=t.onClick,f=t.textBaseline,x=t.textAnchor,u=t.animatedProps,d=s(),m=null!=(e=null==a?void 0:a(n))?e:n,k=i((function(){var t={opacity:u.opacity};return c?{style:v({},t,{cursor:\"pointer\"}),onClick:function(t){return c(t,m)}}:{style:t}}),[u.opacity,c,m]);return y(r.g,v({transform:u.transform},k,{children:[g(\"line\",{x1:0,x2:o,y1:0,y2:l,style:d.axis.ticks.line}),g(r.text,{dominantBaseline:f,textAnchor:x,transform:u.textTransform,style:d.axis.ticks.text,children:m})]}))})),T=e((function(e){var n=e.axis,l=e.scale,f=e.x,x=void 0===f?0:f,u=e.y,d=void 0===u?0:u,m=e.length,k=e.ticksPosition,h=e.tickValues,P=e.tickSize,T=void 0===P?5:P,O=e.tickPadding,w=void 0===O?5:O,A=e.tickRotation,X=void 0===A?0:A,Y=e.format,W=e.renderTick,B=void 0===W?S:W,z=e.legend,V=e.legendPosition,C=void 0===V?\"end\":V,D=e.legendOffset,R=void 0===D?0:D,j=e.onClick,E=e.ariaHidden,q=s(),F=i((function(){return b(Y,l)}),[Y,l]),H=p({axis:n,scale:l,ticksPosition:k,tickValues:h,tickSize:T,tickPadding:w,tickRotation:X}),N=H.ticks,I=H.textAlign,G=H.textBaseline,J=null;if(void 0!==z){var K,L=0,M=0,Q=0;\"y\"===n?(Q=-90,L=R,\"start\"===C?(K=\"start\",M=m):\"middle\"===C?(K=\"middle\",M=m/2):\"end\"===C&&(K=\"end\")):(M=R,\"start\"===C?K=\"start\":\"middle\"===C?(K=\"middle\",L=m/2):\"end\"===C&&(K=\"end\",L=m)),J=g(\"text\",{transform:\"translate(\"+L+\", \"+M+\") rotate(\"+Q+\")\",textAnchor:K,style:v({dominantBaseline:\"central\"},q.axis.legend.text),children:z})}var U=c(),Z=U.animate,$=U.config,_=a({transform:\"translate(\"+x+\",\"+d+\")\",lineX2:\"x\"===n?m:0,lineY2:\"x\"===n?0:m,config:$,immediate:!Z}),tt=o(N,{keys:function(t){return t.key},initial:function(t){return{opacity:1,transform:\"translate(\"+t.x+\",\"+t.y+\")\",textTransform:\"translate(\"+t.textX+\",\"+t.textY+\") rotate(\"+X+\")\"}},from:function(t){return{opacity:0,transform:\"translate(\"+t.x+\",\"+t.y+\")\",textTransform:\"translate(\"+t.textX+\",\"+t.textY+\") rotate(\"+X+\")\"}},enter:function(t){return{opacity:1,transform:\"translate(\"+t.x+\",\"+t.y+\")\",textTransform:\"translate(\"+t.textX+\",\"+t.textY+\") rotate(\"+X+\")\"}},update:function(t){return{opacity:1,transform:\"translate(\"+t.x+\",\"+t.y+\")\",textTransform:\"translate(\"+t.textX+\",\"+t.textY+\") rotate(\"+X+\")\"}},leave:{opacity:0},config:$,immediate:!Z});return y(r.g,{transform:_.transform,\"aria-hidden\":E,children:[tt((function(e,i,n,r){return t.createElement(B,v({tickIndex:r,format:F,rotate:X,textBaseline:G,textAnchor:I,animatedProps:e},i,j?{onClick:j}:{}))})),g(r.line,{style:q.axis.domain.line,x1:0,x2:_.lineX2,y1:0,y2:_.lineY2}),J]})})),O={ticksPosition:h.oneOf([\"before\",\"after\"]),tickValues:h.oneOfType([h.number,h.arrayOf(h.oneOfType([h.number,h.string,h.instanceOf(Date)])),h.string]),tickSize:h.number,tickPadding:h.number,tickRotation:h.number,format:h.oneOfType([h.func,h.string]),renderTick:h.func,legend:h.node,legendPosition:h.oneOf([\"start\",\"middle\",\"end\"]),legendOffset:h.number,ariaHidden:h.bool},w=h.shape(O),A=[\"top\",\"right\",\"bottom\",\"left\"],X=e((function(t){var e=t.xScale,i=t.yScale,n=t.width,r=t.height,a={top:t.top,right:t.right,bottom:t.bottom,left:t.left};return g(k,{children:A.map((function(t){var o=a[t];if(!o)return null;var l=\"top\"===t||\"bottom\"===t;return g(T,v({},o,{axis:l?\"x\":\"y\",x:\"right\"===t?n:0,y:\"bottom\"===t?r:0,scale:l?e:i,length:l?n:r,ticksPosition:\"top\"===t||\"left\"===t?\"before\":\"after\"}),t)}))})})),Y=e((function(t){var e=t.animatedProps,i=s();return g(r.line,v({},e,i.grid.line))})),W=e((function(t){var e=t.lines,i=c(),r=i.animate,a=i.config,l=o(e,{keys:function(t){return t.key},initial:function(t){return{opacity:1,x1:t.x1,x2:t.x2,y1:t.y1,y2:t.y2}},from:function(t){return{opacity:0,x1:t.x1,x2:t.x2,y1:t.y1,y2:t.y2}},enter:function(t){return{opacity:1,x1:t.x1,x2:t.x2,y1:t.y1,y2:t.y2}},update:function(t){return{opacity:1,x1:t.x1,x2:t.x2,y1:t.y1,y2:t.y2}},leave:{opacity:0},config:a,immediate:!r});return g(\"g\",{children:l((function(t,e){return n(Y,v({},e,{key:e.key,animatedProps:t}))}))})})),B=e((function(t){var e=t.width,n=t.height,r=t.xScale,a=t.yScale,o=t.xValues,l=t.yValues,s=i((function(){return!!r&&P({width:e,height:n,scale:r,axis:\"x\",values:o})}),[r,o,e,n]),c=i((function(){return!!a&&P({width:e,height:n,scale:a,axis:\"y\",values:l})}),[n,e,a,l]);return y(k,{children:[s&&g(W,{lines:s}),c&&g(W,{lines:c})]})})),z=function(t,e){var i,n=e.axis,r=e.scale,a=e.x,o=void 0===a?0:a,l=e.y,s=void 0===l?0:l,c=e.length,x=e.ticksPosition,u=e.tickValues,d=e.tickSize,m=void 0===d?5:d,y=e.tickPadding,g=void 0===y?5:y,k=e.tickRotation,h=void 0===k?0:k,v=e.format,b=e.legend,P=e.legendPosition,S=void 0===P?\"end\":P,T=e.legendOffset,O=void 0===T?0:T,w=e.theme,A=p({axis:n,scale:r,ticksPosition:x,tickValues:u,tickSize:m,tickPadding:g,tickRotation:h,engine:\"canvas\"}),X=A.ticks,Y=A.textAlign,W=A.textBaseline;t.save(),t.translate(o,s),t.textAlign=Y,t.textBaseline=W,t.font=(w.axis.ticks.text.fontWeight?w.axis.ticks.text.fontWeight+\" \":\"\")+w.axis.ticks.text.fontSize+\"px \"+w.axis.ticks.text.fontFamily,(null!=(i=w.axis.domain.line.strokeWidth)?i:0)>0&&(t.lineWidth=Number(w.axis.domain.line.strokeWidth),t.lineCap=\"square\",w.axis.domain.line.stroke&&(t.strokeStyle=w.axis.domain.line.stroke),t.beginPath(),t.moveTo(0,0),t.lineTo(\"x\"===n?c:0,\"x\"===n?0:c),t.stroke());var B=\"function\"==typeof v?v:function(t){return\"\"+t};if(X.forEach((function(e){var i;(null!=(i=w.axis.ticks.line.strokeWidth)?i:0)>0&&(t.lineWidth=Number(w.axis.ticks.line.strokeWidth),t.lineCap=\"square\",w.axis.ticks.line.stroke&&(t.strokeStyle=w.axis.ticks.line.stroke),t.beginPath(),t.moveTo(e.x,e.y),t.lineTo(e.x+e.lineX,e.y+e.lineY),t.stroke());var n=B(e.value);t.save(),t.translate(e.x+e.textX,e.y+e.textY),t.rotate(f(h)),w.axis.ticks.text.fill&&(t.fillStyle=w.axis.ticks.text.fill),t.fillText(String(n),0,0),t.restore()})),void 0!==b){var z=0,V=0,C=0,D=\"center\";\"y\"===n?(C=-90,z=O,\"start\"===S?(D=\"start\",V=c):\"middle\"===S?(D=\"center\",V=c/2):\"end\"===S&&(D=\"end\")):(V=O,\"start\"===S?D=\"start\":\"middle\"===S?(D=\"center\",z=c/2):\"end\"===S&&(D=\"end\",z=c)),t.translate(z,V),t.rotate(f(C)),t.font=(w.axis.legend.text.fontWeight?w.axis.legend.text.fontWeight+\" \":\"\")+w.axis.legend.text.fontSize+\"px \"+w.axis.legend.text.fontFamily,w.axis.legend.text.fill&&(t.fillStyle=w.axis.legend.text.fill),t.textAlign=D,t.textBaseline=\"middle\",t.fillText(b,0,0)}t.restore()},V=function(t,e){var i=e.xScale,n=e.yScale,r=e.width,a=e.height,o=e.top,l=e.right,s=e.bottom,c=e.left,f=e.theme,x={top:o,right:l,bottom:s,left:c};A.forEach((function(e){var o=x[e];if(!o)return null;var l=\"top\"===e||\"bottom\"===e,s=\"top\"===e||\"left\"===e?\"before\":\"after\",c=l?i:n,u=b(o.format,c);z(t,v({},o,{axis:l?\"x\":\"y\",x:\"right\"===e?r:0,y:\"bottom\"===e?a:0,scale:c,format:u,length:l?r:a,ticksPosition:s,theme:f}))}))},C=function(t,e){var i=e.width,n=e.height,r=e.scale,a=e.axis,o=e.values;P({width:i,height:n,scale:r,axis:a,values:o}).forEach((function(e){t.beginPath(),t.moveTo(e.x1,e.y1),t.lineTo(e.x2,e.y2),t.stroke()}))};export{X as Axes,T as Axis,S as AxisTick,B as Grid,Y as GridLine,W as GridLines,w as axisPropType,O as axisPropTypes,A as positions,V as renderAxesToCanvas,z as renderAxisToCanvas,C as renderGridLinesToCanvas};\n//# sourceMappingURL=nivo-axes.es.js.map\n","var isPlainObject = require('./isPlainObject');\n\n/**\n * Used by `_.omit` to customize its `_.cloneDeep` use to only clone plain\n * objects.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {string} key The key of the property to inspect.\n * @returns {*} Returns the uncloned value or `undefined` to defer cloning to `_.cloneDeep`.\n */\nfunction customOmitClone(value) {\n return isPlainObject(value) ? undefined : value;\n}\n\nmodule.exports = customOmitClone;\n","var arrayMap = require('./_arrayMap'),\n baseClone = require('./_baseClone'),\n baseUnset = require('./_baseUnset'),\n castPath = require('./_castPath'),\n copyObject = require('./_copyObject'),\n customOmitClone = require('./_customOmitClone'),\n flatRest = require('./_flatRest'),\n getAllKeysIn = require('./_getAllKeysIn');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_FLAT_FLAG = 2,\n CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * The opposite of `_.pick`; this method creates an object composed of the\n * own and inherited enumerable property paths of `object` that are not omitted.\n *\n * **Note:** This method is considerably slower than `_.pick`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The source object.\n * @param {...(string|string[])} [paths] The property paths to omit.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.omit(object, ['a', 'c']);\n * // => { 'b': '2' }\n */\nvar omit = flatRest(function(object, paths) {\n var result = {};\n if (object == null) {\n return result;\n }\n var isDeep = false;\n paths = arrayMap(paths, function(path) {\n path = castPath(path, object);\n isDeep || (isDeep = path.length > 1);\n return path;\n });\n copyObject(object, getAllKeysIn(object), result);\n if (isDeep) {\n result = baseClone(result, CLONE_DEEP_FLAG | CLONE_FLAT_FLAG | CLONE_SYMBOLS_FLAG, customOmitClone);\n }\n var length = paths.length;\n while (length--) {\n baseUnset(result, paths[length]);\n }\n return result;\n});\n\nmodule.exports = omit;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar numberTag = '[object Number]';\n\n/**\n * Checks if `value` is classified as a `Number` primitive or object.\n *\n * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are\n * classified as numbers, use the `_.isFinite` method.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a number, else `false`.\n * @example\n *\n * _.isNumber(3);\n * // => true\n *\n * _.isNumber(Number.MIN_VALUE);\n * // => true\n *\n * _.isNumber(Infinity);\n * // => true\n *\n * _.isNumber('3');\n * // => false\n */\nfunction isNumber(value) {\n return typeof value == 'number' ||\n (isObjectLike(value) && baseGetTag(value) == numberTag);\n}\n\nmodule.exports = isNumber;\n","var baseEach = require('./_baseEach');\n\n/**\n * The base implementation of `_.filter` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction baseFilter(collection, predicate) {\n var result = [];\n baseEach(collection, function(value, index, collection) {\n if (predicate(value, index, collection)) {\n result.push(value);\n }\n });\n return result;\n}\n\nmodule.exports = baseFilter;\n","var arrayFilter = require('./_arrayFilter'),\n baseFilter = require('./_baseFilter'),\n baseIteratee = require('./_baseIteratee'),\n isArray = require('./isArray');\n\n/**\n * Iterates over elements of `collection`, returning an array of all elements\n * `predicate` returns truthy for. The predicate is invoked with three\n * arguments: (value, index|key, collection).\n *\n * **Note:** Unlike `_.remove`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n * @see _.reject\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': true },\n * { 'user': 'fred', 'age': 40, 'active': false }\n * ];\n *\n * _.filter(users, function(o) { return !o.active; });\n * // => objects for ['fred']\n *\n * // The `_.matches` iteratee shorthand.\n * _.filter(users, { 'age': 36, 'active': true });\n * // => objects for ['barney']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.filter(users, ['active', false]);\n * // => objects for ['fred']\n *\n * // The `_.property` iteratee shorthand.\n * _.filter(users, 'active');\n * // => objects for ['barney']\n *\n * // Combining several predicates using `_.overEvery` or `_.overSome`.\n * _.filter(users, _.overSome([{ 'age': 36 }, ['age', 40]]));\n * // => objects for ['fred', 'barney']\n */\nfunction filter(collection, predicate) {\n var func = isArray(collection) ? arrayFilter : baseFilter;\n return func(collection, baseIteratee(predicate, 3));\n}\n\nmodule.exports = filter;\n","import{isValidElement as t,useMemo as n,createElement as i}from\"react\";import o from\"lodash/omit\";import e from\"lodash/isNumber\";import a from\"lodash/filter\";import{absoluteAngleDegrees as r,radiansToDegrees as s,positionFromAngle as l,degreesToRadians as u,useTheme as h,useMotionConfig as d,useAnimatedPath as c}from\"@nivo/core\";import{useSpring as f,animated as y}from\"@react-spring/web\";import{jsxs as x,Fragment as m,jsx as p}from\"react/jsx-runtime\";function g(){return g=Object.assign||function(t){for(var n=1;n<arguments.length;n++){var i=arguments[n];for(var o in i)Object.prototype.hasOwnProperty.call(i,o)&&(t[o]=i[o])}return t},g.apply(this,arguments)}var k={dotSize:4,noteWidth:120,noteTextOffset:8,animate:!0,motionStiffness:90,motionDamping:13},W=function(n){var i=typeof n;return t(n)||\"string\"===i||\"function\"===i||\"object\"===i},v=function(t){var n=typeof t;return\"string\"===n||\"function\"===n},b=function(t){return\"circle\"===t.type},w=function(t){return\"dot\"===t.type},z=function(t){return\"rect\"===t.type},P=function(t){var n=t.data,i=t.annotations,e=t.getPosition,r=t.getDimensions;return i.reduce((function(t,i){var s=i.offset||0;return[].concat(t,a(n,i.match).map((function(t){var n=e(t),a=r(t);return(b(i)||z(i))&&(a.size=a.size+2*s,a.width=a.width+2*s,a.height=a.height+2*s),g({},o(i,[\"match\",\"offset\"]),n,a,{size:i.size||a.size,datum:t})})))}),[])},S=function(t,n,i,o){var e=Math.atan2(o-n,i-t);return r(s(e))},C=function(t){var n,i,o=t.x,a=t.y,r=t.noteX,s=t.noteY,h=t.noteWidth,d=void 0===h?k.noteWidth:h,c=t.noteTextOffset,f=void 0===c?k.noteTextOffset:c;if(e(r))n=o+r;else{if(void 0===r.abs)throw new Error(\"noteX should be either a number or an object containing an 'abs' property\");n=r.abs}if(e(s))i=a+s;else{if(void 0===s.abs)throw new Error(\"noteY should be either a number or an object containing an 'abs' property\");i=s.abs}var y=o,x=a,m=S(o,a,n,i);if(b(t)){var p=l(u(m),t.size/2);y+=p.x,x+=p.y}if(z(t)){var g=Math.round((m+90)/45)%8;0===g&&(x-=t.height/2),1===g&&(y+=t.width/2,x-=t.height/2),2===g&&(y+=t.width/2),3===g&&(y+=t.width/2,x+=t.height/2),4===g&&(x+=t.height/2),5===g&&(y-=t.width/2,x+=t.height/2),6===g&&(y-=t.width/2),7===g&&(y-=t.width/2,x-=t.height/2)}var W=n,v=n;return(m+90)%360>180?(W-=d,v-=d):v+=d,{points:[[y,x],[n,i],[v,i]],text:[W,i-f],angle:m+90}},O=function(t){var i=t.data,o=t.annotations,e=t.getPosition,a=t.getDimensions;return n((function(){return P({data:i,annotations:o,getPosition:e,getDimensions:a})}),[i,o,e,a])},j=function(t){var i=t.annotations;return n((function(){return i.map((function(t){return g({},t,{computed:C(g({},t))})}))}),[i])},M=function(t){return n((function(){return C(t)}),[t])},T=function(t){var n=t.datum,e=t.x,a=t.y,r=t.note,s=h(),l=d(),u=l.animate,c=l.config,k=f({x:e,y:a,config:c,immediate:!u});return\"function\"==typeof r?i(r,{x:e,y:a,datum:n}):x(m,{children:[s.annotations.text.outlineWidth>0&&p(y.text,{x:k.x,y:k.y,style:g({},s.annotations.text,{strokeLinejoin:\"round\",strokeWidth:2*s.annotations.text.outlineWidth,stroke:s.annotations.text.outlineColor}),children:r}),p(y.text,{x:k.x,y:k.y,style:o(s.annotations.text,[\"outlineWidth\",\"outlineColor\"]),children:r})]})},E=function(t){var i=t.points,o=t.isOutline,e=void 0!==o&&o,a=h(),r=n((function(){var t=i[0];return i.slice(1).reduce((function(t,n){return t+\" L\"+n[0]+\",\"+n[1]}),\"M\"+t[0]+\",\"+t[1])}),[i]),s=c(r);if(e&&a.annotations.link.outlineWidth<=0)return null;var l=g({},a.annotations.link);return e&&(l.strokeLinecap=\"square\",l.strokeWidth=a.annotations.link.strokeWidth+2*a.annotations.link.outlineWidth,l.stroke=a.annotations.link.outlineColor,l.opacity=a.annotations.link.outlineOpacity),p(y.path,{fill:\"none\",d:s,style:l})},D=function(t){var n=t.x,i=t.y,o=t.size,e=h(),a=d(),r=a.animate,s=a.config,l=f({x:n,y:i,radius:o/2,config:s,immediate:!r});return x(m,{children:[e.annotations.outline.outlineWidth>0&&p(y.circle,{cx:l.x,cy:l.y,r:l.radius,style:g({},e.annotations.outline,{fill:\"none\",strokeWidth:e.annotations.outline.strokeWidth+2*e.annotations.outline.outlineWidth,stroke:e.annotations.outline.outlineColor,opacity:e.annotations.outline.outlineOpacity})}),p(y.circle,{cx:l.x,cy:l.y,r:l.radius,style:e.annotations.outline})]})},I=function(t){var n=t.x,i=t.y,o=t.size,e=void 0===o?k.dotSize:o,a=h(),r=d(),s=r.animate,l=r.config,u=f({x:n,y:i,radius:e/2,config:l,immediate:!s});return x(m,{children:[a.annotations.outline.outlineWidth>0&&p(y.circle,{cx:u.x,cy:u.y,r:u.radius,style:g({},a.annotations.outline,{fill:\"none\",strokeWidth:2*a.annotations.outline.outlineWidth,stroke:a.annotations.outline.outlineColor,opacity:a.annotations.outline.outlineOpacity})}),p(y.circle,{cx:u.x,cy:u.y,r:u.radius,style:a.annotations.symbol})]})},L=function(t){var n=t.x,i=t.y,o=t.width,e=t.height,a=t.borderRadius,r=void 0===a?6:a,s=h(),l=d(),u=l.animate,c=l.config,k=f({x:n-o/2,y:i-e/2,width:o,height:e,config:c,immediate:!u});return x(m,{children:[s.annotations.outline.outlineWidth>0&&p(y.rect,{x:k.x,y:k.y,rx:r,ry:r,width:k.width,height:k.height,style:g({},s.annotations.outline,{fill:\"none\",strokeWidth:s.annotations.outline.strokeWidth+2*s.annotations.outline.outlineWidth,stroke:s.annotations.outline.outlineColor,opacity:s.annotations.outline.outlineOpacity})}),p(y.rect,{x:k.x,y:k.y,rx:r,ry:r,width:k.width,height:k.height,style:s.annotations.outline})]})},R=function(t){var n=t.datum,i=t.x,o=t.y,e=t.note,a=M(t);if(!W(e))throw new Error(\"note should be a valid react element\");return x(m,{children:[p(E,{points:a.points,isOutline:!0}),b(t)&&p(D,{x:i,y:o,size:t.size}),w(t)&&p(I,{x:i,y:o,size:t.size}),z(t)&&p(L,{x:i,y:o,width:t.width,height:t.height,borderRadius:t.borderRadius}),p(E,{points:a.points}),p(T,{datum:n,x:a.text[0],y:a.text[1],note:e})]})},q=function(t,n){n.forEach((function(n,i){var o=n[0],e=n[1];0===i?t.moveTo(o,e):t.lineTo(o,e)}))},J=function(t,n){var i=n.annotations,o=n.theme;0!==i.length&&(t.save(),i.forEach((function(n){if(!v(n.note))throw new Error(\"note is invalid for canvas implementation\");o.annotations.link.outlineWidth>0&&(t.lineCap=\"square\",t.strokeStyle=o.annotations.link.outlineColor,t.lineWidth=o.annotations.link.strokeWidth+2*o.annotations.link.outlineWidth,t.beginPath(),q(t,n.computed.points),t.stroke(),t.lineCap=\"butt\"),b(n)&&o.annotations.outline.outlineWidth>0&&(t.strokeStyle=o.annotations.outline.outlineColor,t.lineWidth=o.annotations.outline.strokeWidth+2*o.annotations.outline.outlineWidth,t.beginPath(),t.arc(n.x,n.y,n.size/2,0,2*Math.PI),t.stroke()),w(n)&&o.annotations.symbol.outlineWidth>0&&(t.strokeStyle=o.annotations.symbol.outlineColor,t.lineWidth=2*o.annotations.symbol.outlineWidth,t.beginPath(),t.arc(n.x,n.y,n.size/2,0,2*Math.PI),t.stroke()),z(n)&&o.annotations.outline.outlineWidth>0&&(t.strokeStyle=o.annotations.outline.outlineColor,t.lineWidth=o.annotations.outline.strokeWidth+2*o.annotations.outline.outlineWidth,t.beginPath(),t.rect(n.x-n.width/2,n.y-n.height/2,n.width,n.height),t.stroke()),t.strokeStyle=o.annotations.link.stroke,t.lineWidth=o.annotations.link.strokeWidth,t.beginPath(),q(t,n.computed.points),t.stroke(),b(n)&&(t.strokeStyle=o.annotations.outline.stroke,t.lineWidth=o.annotations.outline.strokeWidth,t.beginPath(),t.arc(n.x,n.y,n.size/2,0,2*Math.PI),t.stroke()),w(n)&&(t.fillStyle=o.annotations.symbol.fill,t.beginPath(),t.arc(n.x,n.y,n.size/2,0,2*Math.PI),t.fill()),z(n)&&(t.strokeStyle=o.annotations.outline.stroke,t.lineWidth=o.annotations.outline.strokeWidth,t.beginPath(),t.rect(n.x-n.width/2,n.y-n.height/2,n.width,n.height),t.stroke()),\"function\"==typeof n.note?n.note(t,{datum:n.datum,x:n.computed.text[0],y:n.computed.text[1],theme:o}):(t.font=o.annotations.text.fontSize+\"px \"+o.annotations.text.fontFamily,t.textAlign=\"left\",t.textBaseline=\"alphabetic\",t.fillStyle=o.annotations.text.fill,t.strokeStyle=o.annotations.text.outlineColor,t.lineWidth=2*o.annotations.text.outlineWidth,o.annotations.text.outlineWidth>0&&(t.lineJoin=\"round\",t.strokeText(n.note,n.computed.text[0],n.computed.text[1]),t.lineJoin=\"miter\"),t.fillText(n.note,n.computed.text[0],n.computed.text[1]))})),t.restore())};export{R as Annotation,P as bindAnnotations,C as computeAnnotation,k as defaultProps,S as getLinkAngle,v as isCanvasNote,b as isCircleAnnotation,w as isDotAnnotation,z as isRectAnnotation,W as isSvgNote,J as renderAnnotationsToCanvas,O as useAnnotations,M as useComputedAnnotation,j as useComputedAnnotations};\n//# sourceMappingURL=nivo-annotations.es.js.map\n","import{schemeCategory10 as e,schemeAccent as r,schemeDark2 as n,schemePaired as t,schemePastel1 as o,schemePastel2 as i,schemeSet1 as u,schemeSet2 as a,schemeSet3 as l,schemeBrBG as s,schemePRGn as c,schemePiYG as f,schemePuOr as p,schemeRdBu as d,schemeRdGy as m,schemeRdYlBu as h,schemeRdYlGn as g,schemeSpectral as y,interpolateBrBG as b,interpolatePRGn as v,interpolatePiYG as _,interpolatePuOr as w,interpolateRdBu as O,interpolateRdGy as k,interpolateRdYlBu as z,interpolateRdYlGn as A,interpolateSpectral as j,schemeBlues as E,schemeGreens as x,schemeGreys as I,schemeOranges as q,schemePurples as S,schemeReds as R,schemeBuGn as C,schemeBuPu as G,schemeGnBu as V,schemeOrRd as T,schemePuBuGn as P,schemePuBu as U,schemePuRd as D,schemeRdPu as M,schemeYlGnBu as $,schemeYlGn as B,schemeYlOrBr as F,schemeYlOrRd as H,interpolateBlues as J,interpolateGreens as K,interpolateGreys as L,interpolateOranges as N,interpolatePurples as Q,interpolateReds as W,interpolateTurbo as X,interpolateViridis as Y,interpolateInferno as Z,interpolateMagma as ee,interpolatePlasma as re,interpolateCividis as ne,interpolateWarm as te,interpolateCool as oe,interpolateCubehelixDefault as ie,interpolateBuGn as ue,interpolateBuPu as ae,interpolateGnBu as le,interpolateOrRd as se,interpolatePuBuGn as ce,interpolatePuBu as fe,interpolatePuRd as pe,interpolateRdPu as de,interpolateYlGnBu as me,interpolateYlGn as he,interpolateYlOrBr as ge,interpolateYlOrRd as ye,interpolateRainbow as be,interpolateSinebow as ve}from\"d3-scale-chromatic\";import _e from\"lodash/isPlainObject\";import we from\"lodash/get\";import{useMemo as Oe}from\"react\";import{rgb as ke}from\"d3-color\";import ze from\"prop-types\";import{scaleSequential as Ae,scaleDiverging as je,scaleQuantize as Ee,scaleLinear as xe,scaleOrdinal as Ie}from\"d3-scale\";function qe(){return qe=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var n=arguments[r];for(var t in n)Object.prototype.hasOwnProperty.call(n,t)&&(e[t]=n[t])}return e},qe.apply(this,arguments)}function Se(e,r){(null==r||r>e.length)&&(r=e.length);for(var n=0,t=new Array(r);n<r;n++)t[n]=e[n];return t}function Re(e,r){var n=\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=function(e,r){if(e){if(\"string\"==typeof e)return Se(e,r);var n=Object.prototype.toString.call(e).slice(8,-1);return\"Object\"===n&&e.constructor&&(n=e.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(e):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Se(e,r):void 0}}(e))||r&&e&&\"number\"==typeof e.length){n&&(e=n);var t=0;return function(){return t>=e.length?{done:!0}:{done:!1,value:e[t++]}}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var Ce={nivo:[\"#e8c1a0\",\"#f47560\",\"#f1e15b\",\"#e8a838\",\"#61cdbb\",\"#97e3d5\"],category10:e,accent:r,dark2:n,paired:t,pastel1:o,pastel2:i,set1:u,set2:a,set3:l},Ge=Object.keys(Ce),Ve={brown_blueGreen:s,purpleRed_green:c,pink_yellowGreen:f,purple_orange:p,red_blue:d,red_grey:m,red_yellow_blue:h,red_yellow_green:g,spectral:y},Te=Object.keys(Ve),Pe={brown_blueGreen:b,purpleRed_green:v,pink_yellowGreen:_,purple_orange:w,red_blue:O,red_grey:k,red_yellow_blue:z,red_yellow_green:A,spectral:j},Ue={blues:E,greens:x,greys:I,oranges:q,purples:S,reds:R,blue_green:C,blue_purple:G,green_blue:V,orange_red:T,purple_blue_green:P,purple_blue:U,purple_red:D,red_purple:M,yellow_green_blue:$,yellow_green:B,yellow_orange_brown:F,yellow_orange_red:H},De=Object.keys(Ue),Me={blues:J,greens:K,greys:L,oranges:N,purples:Q,reds:W,turbo:X,viridis:Y,inferno:Z,magma:ee,plasma:re,cividis:ne,warm:te,cool:oe,cubehelixDefault:ie,blue_green:ue,blue_purple:ae,green_blue:le,orange_red:se,purple_blue_green:ce,purple_blue:fe,purple_red:pe,red_purple:de,yellow_green_blue:me,yellow_green:he,yellow_orange_brown:ge,yellow_orange_red:ye},$e=qe({},Ce,Ve,Ue),Be=Object.keys($e),Fe=function(e){return Ge.includes(e)},He=function(e){return Te.includes(e)},Je=function(e){return De.includes(e)},Ke={rainbow:be,sinebow:ve},Le=qe({},Pe,Me,Ke),Ne=Object.keys(Le),Qe=function(e,r){if(\"function\"==typeof e)return e;if(_e(e)){if(function(e){return void 0!==e.theme}(e)){if(void 0===r)throw new Error(\"Unable to use color from theme as no theme was provided\");var n=we(r,e.theme);if(void 0===n)throw new Error(\"Color from theme is undefined at path: '\"+e.theme+\"'\");return function(){return n}}if(function(e){return void 0!==e.from}(e)){var t=function(r){return we(r,e.from)};if(Array.isArray(e.modifiers)){for(var o,i=[],u=function(){var e=o.value,r=e[0],n=e[1];if(\"brighter\"===r)i.push((function(e){return e.brighter(n)}));else if(\"darker\"===r)i.push((function(e){return e.darker(n)}));else{if(\"opacity\"!==r)throw new Error(\"Invalid color modifier: '\"+r+\"', must be one of: 'brighter', 'darker', 'opacity'\");i.push((function(e){return e.opacity=n,e}))}},a=Re(e.modifiers);!(o=a()).done;)u();return 0===i.length?t:function(e){return i.reduce((function(e,r){return r(e)}),ke(t(e))).toString()}}return t}throw new Error(\"Invalid color spec, you should either specify 'theme' or 'from' when using a config object\")}return function(){return e}},We=function(e,r){return Oe((function(){return Qe(e,r)}),[e,r])},Xe=ze.oneOfType([ze.func,ze.arrayOf(ze.string),ze.shape({scheme:ze.oneOf(Be).isRequired,size:ze.number}),ze.shape({datum:ze.string.isRequired}),ze.string]),Ye=ze.oneOfType([ze.string,ze.func,ze.shape({theme:ze.string.isRequired}),ze.shape({from:ze.string.isRequired,modifiers:ze.arrayOf(ze.array)})]),Ze={scheme:\"turbo\"},er=function(e,r){var n=e.minValue,t=e.maxValue,o=void 0!==n?n:r.min,i=void 0!==t?t:r.max,u=Ae().domain([o,i]).clamp(!0);if(\"colors\"in e)u.range(e.colors);else if(\"interpolator\"in e)u.interpolator(e.interpolator);else{var a,l=null!=(a=e.scheme)?a:Ze.scheme;u.interpolator(Le[l])}return u},rr=function(e,r){return Oe((function(){return er(e,r)}),[e,r])},nr={scheme:\"red_yellow_blue\",divergeAt:.5},tr=function(e,r){var n,t=e.minValue,o=e.maxValue,i=void 0!==t?t:r.min,u=void 0!==o?o:r.max,a=[i,i+(u-i)/2,u],l=.5-(null!=(n=e.divergeAt)?n:nr.divergeAt),s=je().domain(a).clamp(!0),c=function(e){return String(e)};if(\"colors\"in e)c=je().domain(a.map((function(e){return e-l*(u-i)}))).range(e.colors).interpolator();else if(\"interpolator\"in e)c=e.interpolator;else{var f,p=null!=(f=e.scheme)?f:nr.scheme;c=Le[p]}return s.interpolator((function(e){return c(e+l)}))},or=function(e,r){return Oe((function(){return tr(e,r)}),[e,r])},ir={scheme:\"turbo\",steps:7},ur=function(e,r){var n=Ee().domain(e.domain||[r.min,r.max]).nice();if(\"colors\"in e)n.range(e.colors);else{var t=e.scheme||ir.scheme,o=void 0===e.steps?ir.steps:e.steps,i=Le[t],u=Array.from({length:o}).map((function(e,r){return i(r*(1/(o-1)))}));n.range(u)}return n},ar=function(e,r){return Oe((function(){return ur(e,r)}),[e,r])},lr=function(e,r){if(function(e){return\"sequential\"===e.type}(e))return er(e,r);if(function(e){return\"diverging\"===e.type}(e))return tr(e,r);if(function(e){return\"quantize\"===e.type}(e))return ur(e,r);throw new Error(\"Invalid continuous color scale config\")},sr=function(e,r){return Oe((function(){return lr(e,r)}),[e,r])},cr=function(e,r){void 0===r&&(r=16);var n=e.domain();if(\"thresholds\"in e){var t=[],o=xe().domain(n).range([0,1]);return e.range().forEach((function(r,n){var i=e.invertExtent(r),u=i[0],a=i[1];t.push({key:n+\".0\",offset:o(u),stopColor:r}),t.push({key:n+\".1\",offset:o(a),stopColor:r})})),t}var i=e.copy();return 2===n.length?i.domain([0,1]):3===n.length&&i.domain([0,.5,1]),i.ticks(r).map((function(e){return{key:\"\"+e,offset:e,stopColor:\"\"+i(e)}}))},fr=function(e,r){if(\"function\"==typeof e)return e;var n=\"function\"==typeof r?r:function(e){return we(e,r)};if(Array.isArray(e)){var t=Ie(e),o=function(e){return t(n(e))};return o.scale=t,o}if(_e(e)){if(function(e){return void 0!==e.datum}(e))return function(r){return we(r,e.datum)};if(function(e){return void 0!==e.scheme}(e)){if(Fe(e.scheme)){var i=Ie($e[e.scheme]),u=function(e){return i(n(e))};return u.scale=i,u}if(He(e.scheme)){if(void 0!==e.size&&(e.size<3||e.size>11))throw new Error(\"Invalid size '\"+e.size+\"' for diverging color scheme '\"+e.scheme+\"', must be between 3~11\");var a=Ie($e[e.scheme][e.size||11]),l=function(e){return a(n(e))};return l.scale=a,l}if(Je(e.scheme)){if(void 0!==e.size&&(e.size<3||e.size>9))throw new Error(\"Invalid size '\"+e.size+\"' for sequential color scheme '\"+e.scheme+\"', must be between 3~9\");var s=Ie($e[e.scheme][e.size||9]),c=function(e){return s(n(e))};return c.scale=s,c}}throw new Error(\"Invalid colors, when using an object, you should either pass a 'datum' or a 'scheme' property\")}return function(){return e}},pr=function(e,r){return Oe((function(){return fr(e,r)}),[e,r])};export{Ge as categoricalColorSchemeIds,Ce as categoricalColorSchemes,Ne as colorInterpolatorIds,Le as colorInterpolators,Be as colorSchemeIds,$e as colorSchemes,cr as computeContinuousColorScaleColorStops,Ke as cyclicalColorInterpolators,Pe as divergingColorInterpolators,nr as divergingColorScaleDefaults,Te as divergingColorSchemeIds,Ve as divergingColorSchemes,lr as getContinuousColorScale,tr as getDivergingColorScale,Qe as getInheritedColorGenerator,fr as getOrdinalColorScale,ur as getQuantizeColorScale,er as getSequentialColorScale,Ye as inheritedColorPropType,Fe as isCategoricalColorScheme,He as isDivergingColorScheme,Je as isSequentialColorScheme,Xe as ordinalColorsPropType,ir as quantizeColorScaleDefaults,Me as sequentialColorInterpolators,Ze as sequentialColorScaleDefaults,De as sequentialColorSchemeIds,Ue as sequentialColorSchemes,sr as useContinuousColorScale,or as useDivergingColorScale,We as useInheritedColor,pr as useOrdinalColorScale,ar as useQuantizeColorScale,rr as useSequentialColorScale};\n//# sourceMappingURL=nivo-colors.es.js.map\n","import{jsx as t,jsxs as e}from\"react/jsx-runtime\";import{scaleLinear as i}from\"d3-scale\";import{getValueFormatter as n,useTheme as o,degreesToRadians as r}from\"@nivo/core\";import{computeContinuousColorScaleColorStops as l}from\"@nivo/colors\";import*as a from\"react\";import{Fragment as c,useState as s,useCallback as d,useMemo as h}from\"react\";import g from\"prop-types\";var m=function(e){var i=e.x,n=e.y,o=e.size,r=e.fill,l=e.opacity,a=void 0===l?1:l,c=e.borderWidth,s=void 0===c?0:c,d=e.borderColor;return t(\"circle\",{r:o/2,cx:i+o/2,cy:n+o/2,fill:r,opacity:a,strokeWidth:s,stroke:void 0===d?\"transparent\":d,style:{pointerEvents:\"none\"}})},f=function(e){var i=e.x,n=e.y,o=e.size,r=e.fill,l=e.opacity,a=void 0===l?1:l,c=e.borderWidth,s=void 0===c?0:c,d=e.borderColor;return t(\"g\",{transform:\"translate(\"+i+\",\"+n+\")\",children:t(\"path\",{d:\"\\n M\"+o/2+\" 0\\n L\"+.8*o+\" \"+o/2+\"\\n L\"+o/2+\" \"+o+\"\\n L\"+.2*o+\" \"+o/2+\"\\n L\"+o/2+\" 0\\n \",fill:r,opacity:a,strokeWidth:s,stroke:void 0===d?\"transparent\":d,style:{pointerEvents:\"none\"}})})},u=function(e){var i=e.x,n=e.y,o=e.size,r=e.fill,l=e.opacity,a=void 0===l?1:l,c=e.borderWidth,s=void 0===c?0:c,d=e.borderColor;return t(\"rect\",{x:i,y:n,fill:r,opacity:a,strokeWidth:s,stroke:void 0===d?\"transparent\":d,width:o,height:o,style:{pointerEvents:\"none\"}})},v=function(e){var i=e.x,n=e.y,o=e.size,r=e.fill,l=e.opacity,a=void 0===l?1:l,c=e.borderWidth,s=void 0===c?0:c,d=e.borderColor;return t(\"g\",{transform:\"translate(\"+i+\",\"+n+\")\",children:t(\"path\",{d:\"\\n M\"+o/2+\" 0\\n L\"+o+\" \"+o+\"\\n L0 \"+o+\"\\n L\"+o/2+\" 0\\n \",fill:r,opacity:a,strokeWidth:s,stroke:void 0===d?\"transparent\":d,style:{pointerEvents:\"none\"}})})};function p(){return p=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var i=arguments[e];for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&(t[n]=i[n])}return t},p.apply(this,arguments)}var y={length:200,thickness:16,direction:\"row\",tickPosition:\"after\",tickSize:4,tickSpacing:3,tickOverlap:!1,tickFormat:function(t){return\"\"+t},titleAlign:\"start\",titleOffset:4},b={top:0,right:0,bottom:0,left:0},k=function(t){var e,i=t.direction,n=t.itemsSpacing,o=t.padding,r=t.itemCount,l=t.itemWidth,a=t.itemHeight;if(\"number\"!=typeof o&&(\"object\"!=typeof(e=o)||Array.isArray(e)||null===e))throw new Error(\"Invalid property padding, must be one of: number, object\");var c=\"number\"==typeof o?{top:o,right:o,bottom:o,left:o}:p({},b,o),s=c.left+c.right,d=c.top+c.bottom,h=l+s,g=a+d,m=(r-1)*n;return\"row\"===i?h=l*r+m+s:\"column\"===i&&(g=a*r+m+d),{width:h,height:g,padding:c}},x=function(t){var e=t.anchor,i=t.translateX,n=t.translateY,o=t.containerWidth,r=t.containerHeight,l=t.width,a=t.height,c=i,s=n;switch(e){case\"top\":c+=(o-l)/2;break;case\"top-right\":c+=o-l;break;case\"right\":c+=o-l,s+=(r-a)/2;break;case\"bottom-right\":c+=o-l,s+=r-a;break;case\"bottom\":c+=(o-l)/2,s+=r-a;break;case\"bottom-left\":s+=r-a;break;case\"left\":s+=(r-a)/2;break;case\"center\":c+=(o-l)/2,s+=(r-a)/2}return{x:c,y:s}},S=function(t){var e,i,n,o,r,l,a=t.direction,c=t.justify,s=t.symbolSize,d=t.symbolSpacing,h=t.width,g=t.height;switch(a){case\"left-to-right\":e=0,i=(g-s)/2,o=g/2,l=\"central\",c?(n=h,r=\"end\"):(n=s+d,r=\"start\");break;case\"right-to-left\":e=h-s,i=(g-s)/2,o=g/2,l=\"central\",c?(n=0,r=\"start\"):(n=h-s-d,r=\"end\");break;case\"top-to-bottom\":e=(h-s)/2,i=0,n=h/2,r=\"middle\",c?(o=g,l=\"alphabetic\"):(o=s+d,l=\"text-before-edge\");break;case\"bottom-to-top\":e=(h-s)/2,i=g-s,n=h/2,r=\"middle\",c?(o=0,l=\"text-before-edge\"):(o=g-s-d,l=\"alphabetic\")}return{symbolX:e,symbolY:i,labelX:n,labelY:o,labelAnchor:r,labelAlignment:l}},A=function(t){var e,o=t.scale,r=t.ticks,a=t.length,c=void 0===a?y.length:a,s=t.thickness,d=void 0===s?y.thickness:s,h=t.direction,g=void 0===h?y.direction:h,m=t.tickPosition,f=void 0===m?y.tickPosition:m,u=t.tickSize,v=void 0===u?y.tickSize:u,p=t.tickSpacing,b=void 0===p?y.tickSpacing:p,k=t.tickOverlap,x=void 0===k?y.tickOverlap:k,S=t.tickFormat,A=void 0===S?y.tickFormat:S,W=t.title,z=t.titleAlign,C=void 0===z?y.titleAlign:z,O=t.titleOffset,B=void 0===O?y.titleOffset:O,w=\"column\"===g?[].concat(o.domain()).reverse():o.domain(),X=i().domain(w);2===w.length?X.range([0,c]):3===w.length&&X.range([0,c/2,c]),e=\"thresholds\"in o?[w[0]].concat(o.thresholds(),[w[1]]):Array.isArray(r)?r:o.ticks(r);var Y,H,E,j,T,L,M=l(o,32),F=n(A),P=[],R=0,q=0;if(\"row\"===g){var V,D,G;Y=c,H=d,q=1;var I;T=0,E=\"start\"===C?0:\"middle\"===C?c/2:c,\"before\"===f?(V=-v,D=x?d:0,G=-v-b,I=\"alphabetic\",j=d+B,L=\"hanging\"):(V=x?0:d,G=(D=d+v)+b,I=\"hanging\",j=-B,L=\"alphabetic\"),e.forEach((function(t){var e=X(t);P.push({x1:e,y1:V,x2:e,y2:D,text:F(t),textX:e,textY:G,textHorizontalAlign:\"middle\",textVerticalAlign:I})}))}else{var N,_,J,K;Y=d,H=c,R=1;T=-90,j=\"start\"===C?c:\"middle\"===C?c/2:0,\"before\"===f?(_=x?d:0,J=(N=-v)-b,K=\"end\",E=d+B,L=\"hanging\"):(N=x?0:d,J=(_=d+v)+b,K=\"start\",E=-B,L=\"alphabetic\"),e.forEach((function(t){var e=X(t);P.push({x1:N,y1:e,x2:_,y2:e,text:F(t),textX:J,textY:e,textHorizontalAlign:K,textVerticalAlign:\"central\"})}))}return{width:Y,height:H,gradientX1:0,gradientY1:R,gradientX2:q,gradientY2:0,colorStops:M,ticks:P,titleText:W,titleX:E,titleY:j,titleRotation:T,titleHorizontalAlign:C,titleVerticalAlign:L}},W=function(i){var n=i.scale,r=i.ticks,l=i.length,a=void 0===l?y.length:l,s=i.thickness,d=void 0===s?y.thickness:s,h=i.direction,g=void 0===h?y.direction:h,m=i.tickPosition,f=void 0===m?y.tickPosition:m,u=i.tickSize,v=void 0===u?y.tickSize:u,b=i.tickSpacing,k=void 0===b?y.tickSpacing:b,x=i.tickOverlap,S=void 0===x?y.tickOverlap:x,W=i.tickFormat,z=void 0===W?y.tickFormat:W,C=i.title,O=i.titleAlign,B=void 0===O?y.titleAlign:O,w=i.titleOffset,X=A({scale:n,ticks:r,length:a,thickness:d,direction:g,tickPosition:f,tickSize:v,tickSpacing:k,tickOverlap:S,tickFormat:z,title:C,titleAlign:B,titleOffset:void 0===w?y.titleOffset:w}),Y=X.width,H=X.height,E=X.gradientX1,j=X.gradientY1,T=X.gradientX2,L=X.gradientY2,M=X.ticks,F=X.colorStops,P=X.titleText,R=X.titleX,q=X.titleY,V=X.titleRotation,D=X.titleVerticalAlign,G=X.titleHorizontalAlign,I=o(),N=\"ContinuousColorsLegendSvgGradient.\"+g+\".\"+F.map((function(t){return t.offset})).join(\"_\");return e(\"g\",{children:[t(\"defs\",{children:t(\"linearGradient\",{id:N,x1:E,y1:j,x2:T,y2:L,children:F.map((function(e){return t(\"stop\",p({},e))}))})}),P&&t(\"text\",{transform:\"translate(\"+R+\", \"+q+\") rotate(\"+V+\")\",textAnchor:G,dominantBaseline:D,style:I.legends.title.text,children:P}),t(\"rect\",{width:Y,height:H,fill:\"url(#\"+N}),M.map((function(i,n){return e(c,{children:[t(\"line\",{x1:i.x1,y1:i.y1,x2:i.x2,y2:i.y2,style:I.legends.ticks.line}),t(\"text\",{x:i.textX,y:i.textY,textAnchor:i.textHorizontalAlign,dominantBaseline:i.textVerticalAlign,style:I.legends.ticks.text,children:i.text})]},n)}))]})},z=[\"containerWidth\",\"containerHeight\",\"anchor\",\"translateX\",\"translateY\",\"length\",\"thickness\",\"direction\"],C=function(e){var i,n,o=e.containerWidth,r=e.containerHeight,l=e.anchor,a=e.translateX,c=void 0===a?0:a,s=e.translateY,d=void 0===s?0:s,h=e.length,g=void 0===h?y.length:h,m=e.thickness,f=void 0===m?y.thickness:m,u=e.direction,v=void 0===u?y.direction:u,b=function(t,e){if(null==t)return{};var i,n,o={},r=Object.keys(t);for(n=0;n<r.length;n++)i=r[n],e.indexOf(i)>=0||(o[i]=t[i]);return o}(e,z);\"row\"===v?(i=g,n=f):(i=f,n=g);var k=x({anchor:l,translateX:c,translateY:d,containerWidth:o,containerHeight:r,width:i,height:n}),S=k.x,A=k.y;return t(\"g\",{transform:\"translate(\"+S+\", \"+A+\")\",children:t(W,p({length:g,thickness:f,direction:v},b))})},O={circle:m,diamond:f,square:u,triangle:v},B=function(i){var n,r,l,c,h,g,m,f,u,v,y,b=i.x,k=i.y,x=i.width,A=i.height,W=i.data,z=i.direction,C=void 0===z?\"left-to-right\":z,B=i.justify,w=void 0!==B&&B,X=i.textColor,Y=i.background,H=void 0===Y?\"transparent\":Y,E=i.opacity,j=void 0===E?1:E,T=i.symbolShape,L=void 0===T?\"square\":T,M=i.symbolSize,F=void 0===M?16:M,P=i.symbolSpacing,R=void 0===P?8:P,q=i.symbolBorderWidth,V=void 0===q?0:q,D=i.symbolBorderColor,G=void 0===D?\"transparent\":D,I=i.onClick,N=i.onMouseEnter,_=i.onMouseLeave,J=i.toggleSerie,K=i.effects,Q=s({}),U=Q[0],Z=Q[1],$=o(),tt=d((function(t){if(K){var e=K.filter((function(t){return\"hover\"===t.on})).reduce((function(t,e){return p({},t,e.style)}),{});Z(e)}null==N||N(W,t)}),[N,W,K]),et=d((function(t){if(K){var e=K.filter((function(t){return\"hover\"!==t.on})).reduce((function(t,e){return p({},t,e.style)}),{});Z(e)}null==_||_(W,t)}),[_,W,K]),it=S({direction:C,justify:w,symbolSize:null!=(n=U.symbolSize)?n:F,symbolSpacing:R,width:x,height:A}),nt=it.symbolX,ot=it.symbolY,rt=it.labelX,lt=it.labelY,at=it.labelAnchor,ct=it.labelAlignment,st=[I,N,_,J].some((function(t){return void 0!==t})),dt=\"function\"==typeof L?L:O[L];return e(\"g\",{transform:\"translate(\"+b+\",\"+k+\")\",style:{opacity:null!=(r=U.itemOpacity)?r:j},children:[t(\"rect\",{width:x,height:A,fill:null!=(l=U.itemBackground)?l:H,style:{cursor:st?\"pointer\":\"auto\"},onClick:function(t){null==I||I(W,t),null==J||J(W.id)},onMouseEnter:tt,onMouseLeave:et}),a.createElement(dt,p({id:W.id,x:nt,y:ot,size:null!=(c=U.symbolSize)?c:F,fill:null!=(h=null!=(g=W.fill)?g:W.color)?h:\"black\",borderWidth:null!=(m=U.symbolBorderWidth)?m:V,borderColor:null!=(f=U.symbolBorderColor)?f:G},W.hidden?$.legends.hidden.symbol:void 0)),t(\"text\",{textAnchor:at,style:p({},$.legends.text,{fill:null!=(u=null!=(v=null!=(y=U.itemTextColor)?y:X)?v:$.legends.text.fill)?u:\"black\",dominantBaseline:ct,pointerEvents:\"none\",userSelect:\"none\"},W.hidden?$.legends.hidden.text:void 0),x:rt,y:lt,children:W.label})]})},w=function(e){var i=e.data,n=e.x,o=e.y,r=e.direction,l=e.padding,a=void 0===l?0:l,c=e.justify,s=e.effects,d=e.itemWidth,h=e.itemHeight,g=e.itemDirection,m=void 0===g?\"left-to-right\":g,f=e.itemsSpacing,u=void 0===f?0:f,v=e.itemTextColor,p=e.itemBackground,y=void 0===p?\"transparent\":p,b=e.itemOpacity,x=void 0===b?1:b,S=e.symbolShape,A=e.symbolSize,W=e.symbolSpacing,z=e.symbolBorderWidth,C=e.symbolBorderColor,O=e.onClick,w=e.onMouseEnter,X=e.onMouseLeave,Y=e.toggleSerie,H=k({itemCount:i.length,itemWidth:d,itemHeight:h,itemsSpacing:u,direction:r,padding:a}).padding,E=\"row\"===r?d+u:0,j=\"column\"===r?h+u:0;return t(\"g\",{transform:\"translate(\"+n+\",\"+o+\")\",children:i.map((function(e,i){return t(B,{data:e,x:i*E+H.left,y:i*j+H.top,width:d,height:h,direction:m,justify:c,effects:s,textColor:v,background:y,opacity:x,symbolShape:S,symbolSize:A,symbolSpacing:W,symbolBorderWidth:z,symbolBorderColor:C,onClick:O,onMouseEnter:w,onMouseLeave:X,toggleSerie:Y},i)}))})},X=function(e){var i=e.data,n=e.containerWidth,o=e.containerHeight,r=e.translateX,l=void 0===r?0:r,a=e.translateY,c=void 0===a?0:a,s=e.anchor,d=e.direction,h=e.padding,g=void 0===h?0:h,m=e.justify,f=e.itemsSpacing,u=void 0===f?0:f,v=e.itemWidth,p=e.itemHeight,y=e.itemDirection,b=e.itemTextColor,S=e.itemBackground,A=e.itemOpacity,W=e.symbolShape,z=e.symbolSize,C=e.symbolSpacing,O=e.symbolBorderWidth,B=e.symbolBorderColor,X=e.onClick,Y=e.onMouseEnter,H=e.onMouseLeave,E=e.toggleSerie,j=e.effects,T=k({itemCount:i.length,itemsSpacing:u,itemWidth:v,itemHeight:p,direction:d,padding:g}),L=T.width,M=T.height,F=x({anchor:s,translateX:l,translateY:c,containerWidth:n,containerHeight:o,width:L,height:M}),P=F.x,R=F.y;return t(w,{data:i,x:P,y:R,direction:d,padding:g,justify:m,effects:j,itemsSpacing:u,itemWidth:v,itemHeight:p,itemDirection:y,itemTextColor:b,itemBackground:S,itemOpacity:A,symbolShape:W,symbolSize:z,symbolSpacing:C,symbolBorderWidth:O,symbolBorderColor:B,onClick:X,onMouseEnter:Y,onMouseLeave:H,toggleSerie:\"boolean\"==typeof E?void 0:E})},Y={start:\"left\",middle:\"center\",end:\"right\"},H=function(t,e){var i=e.data,n=e.containerWidth,o=e.containerHeight,r=e.translateX,l=void 0===r?0:r,a=e.translateY,c=void 0===a?0:a,s=e.anchor,d=e.direction,h=e.padding,g=void 0===h?0:h,m=e.justify,f=void 0!==m&&m,u=e.itemsSpacing,v=void 0===u?0:u,p=e.itemWidth,y=e.itemHeight,b=e.itemDirection,A=void 0===b?\"left-to-right\":b,W=e.itemTextColor,z=e.symbolSize,C=void 0===z?16:z,O=e.symbolSpacing,B=void 0===O?8:O,w=e.theme,X=k({itemCount:i.length,itemWidth:p,itemHeight:y,itemsSpacing:v,direction:d,padding:g}),H=X.width,E=X.height,j=X.padding,T=x({anchor:s,translateX:l,translateY:c,containerWidth:n,containerHeight:o,width:H,height:E}),L=T.x,M=T.y,F=\"row\"===d?p+v:0,P=\"column\"===d?y+v:0;t.save(),t.translate(L,M),t.font=w.legends.text.fontSize+\"px \"+(w.legends.text.fontFamily||\"sans-serif\"),i.forEach((function(e,i){var n,o,r=i*F+j.left,l=i*P+j.top,a=S({direction:A,justify:f,symbolSize:C,symbolSpacing:B,width:p,height:y}),c=a.symbolX,s=a.symbolY,d=a.labelX,h=a.labelY,g=a.labelAnchor,m=a.labelAlignment;t.fillStyle=null!=(n=e.color)?n:\"black\",t.fillRect(r+c,l+s,C,C),t.textAlign=Y[g],\"central\"===m&&(t.textBaseline=\"middle\"),t.fillStyle=null!=(o=null!=W?W:w.legends.text.fill)?o:\"black\",t.fillText(String(e.label),r+d,l+h)})),t.restore()},E=function(t,e){var i=e.containerWidth,n=e.containerHeight,o=e.anchor,l=e.translateX,a=void 0===l?0:l,c=e.translateY,s=void 0===c?0:c,d=e.scale,h=e.length,g=void 0===h?y.length:h,m=e.thickness,f=void 0===m?y.thickness:m,u=e.direction,v=void 0===u?y.direction:u,p=e.ticks,b=e.tickPosition,k=void 0===b?y.tickPosition:b,S=e.tickSize,W=void 0===S?y.tickSize:S,z=e.tickSpacing,C=void 0===z?y.tickSpacing:z,O=e.tickOverlap,B=void 0===O?y.tickOverlap:O,w=e.tickFormat,X=void 0===w?y.tickFormat:w,Y=e.title,H=e.titleAlign,E=void 0===H?y.titleAlign:H,j=e.titleOffset,T=void 0===j?y.titleOffset:j,L=e.theme,M=A({scale:d,ticks:p,length:g,thickness:f,direction:v,tickPosition:k,tickSize:W,tickSpacing:C,tickOverlap:B,tickFormat:X,title:Y,titleAlign:E,titleOffset:T}),F=M.width,P=M.height,R=M.gradientX1,q=M.gradientY1,V=M.gradientX2,D=M.gradientY2,G=M.colorStops,I=M.ticks,N=M.titleText,_=M.titleX,J=M.titleY,K=M.titleRotation,Q=M.titleVerticalAlign,U=M.titleHorizontalAlign,Z=x({anchor:o,translateX:a,translateY:s,containerWidth:i,containerHeight:n,width:F,height:P}),$=Z.x,tt=Z.y,et={font:t.font,textAlign:t.textAlign,textBaseline:t.textBaseline};t.save(),t.translate($,tt);var it=t.createLinearGradient(R*F,q*P,V*F,D*P);G.forEach((function(t){it.addColorStop(t.offset,t.stopColor)})),t.fillStyle=it,t.fillRect(0,0,F,P),t.font=(L.legends.ticks.text.fontWeight?L.legends.ticks.text.fontWeight+\" \":\"\")+L.legends.ticks.text.fontSize+\"px \"+L.legends.ticks.text.fontFamily,I.forEach((function(e){var i;(null!=(i=L.legends.ticks.line.strokeWidth)?i:0)>0&&(t.lineWidth=Number(L.axis.ticks.line.strokeWidth),L.axis.ticks.line.stroke&&(t.strokeStyle=L.axis.ticks.line.stroke),t.lineCap=\"square\",t.beginPath(),t.moveTo(e.x1,e.y1),t.lineTo(e.x2,e.y2),t.stroke()),L.legends.ticks.text.fill&&(t.fillStyle=L.legends.ticks.text.fill),t.textAlign=\"middle\"===e.textHorizontalAlign?\"center\":e.textHorizontalAlign,t.textBaseline=\"central\"===e.textVerticalAlign?\"middle\":e.textVerticalAlign,t.fillText(e.text,e.textX,e.textY)})),N&&(t.save(),t.translate(_,J),t.rotate(r(K)),t.font=(L.legends.title.text.fontWeight?L.legends.title.text.fontWeight+\" \":\"\")+L.legends.title.text.fontSize+\"px \"+L.legends.title.text.fontFamily,L.legends.title.text.fill&&(t.fillStyle=L.legends.title.text.fill),t.textAlign=\"middle\"===U?\"center\":U,t.textBaseline=Q,t.fillText(N,0,0),t.restore()),t.restore(),t.font=et.font,t.textAlign=et.textAlign,t.textBaseline=et.textBaseline},j=function(t){var e=t.scale,i=t.domain,n=t.reverse,o=void 0!==n&&n,r=t.valueFormat,l=void 0===r?function(t){return t}:r,a=t.separator,c=void 0===a?\" - \":a;return h((function(){var t=(null!=i?i:e.range()).map((function(t,i){var n=e.invertExtent(t),o=n[0],r=n[1];return{id:t,index:i,extent:[o,r],label:\"\"+l(o)+c+l(r),value:e(o),color:t}}));return o&&t.reverse(),t}),[i,e,o,c,l])},T={data:g.arrayOf(g.object),anchor:g.oneOf([\"top\",\"top-right\",\"right\",\"bottom-right\",\"bottom\",\"bottom-left\",\"left\",\"top-left\",\"center\"]).isRequired,translateX:g.number,translateY:g.number,direction:g.oneOf([\"row\",\"column\"]).isRequired,itemsSpacing:g.number,itemWidth:g.number.isRequired,itemHeight:g.number.isRequired,itemDirection:g.oneOf([\"left-to-right\",\"right-to-left\",\"top-to-bottom\",\"bottom-to-top\"]),itemTextColor:g.string,itemBackground:g.string,itemOpacity:g.number,symbolShape:g.oneOfType([g.oneOf([\"circle\",\"diamond\",\"square\",\"triangle\"]),g.func]),symbolSize:g.number,symbolSpacing:g.number,symbolBorderWidth:g.number,symbolBorderColor:g.string,onClick:g.func,onMouseEnter:g.func,onMouseLeave:g.func,effects:g.arrayOf(g.shape({on:g.oneOfType([g.oneOf([\"hover\"])]).isRequired,style:g.shape({itemTextColor:g.string,itemBackground:g.string,itemOpacity:g.number,symbolSize:g.number,symbolBorderWidth:g.number,symbolBorderColor:g.string}).isRequired}))};export{C as AnchoredContinuousColorsLegendSvg,X as BoxLegendSvg,W as ContinuousColorsLegendSvg,T as LegendPropShape,w as LegendSvg,B as LegendSvgItem,m as SymbolCircle,f as SymbolDiamond,u as SymbolSquare,v as SymbolTriangle,A as computeContinuousColorsLegend,k as computeDimensions,S as computeItemLayout,x as computePositionFromAnchor,y as continuousColorsLegendDefaults,E as renderContinuousColorLegendToCanvas,H as renderLegendToCanvas,j as useQuantizeColorScaleLegendData};\n//# sourceMappingURL=nivo-legends.es.js.map\n","import{Axes as e,Grid as a,renderGridLinesToCanvas as i,renderAxesToCanvas as t}from\"@nivo/axes\";import{useAnnotations as n,Annotation as r,useComputedAnnotations as l,renderAnnotationsToCanvas as o}from\"@nivo/annotations\";import{jsx as d,Fragment as u,jsxs as c}from\"react/jsx-runtime\";import{BoxLegendSvg as s,renderLegendToCanvas as h}from\"@nivo/legends\";import{useTheme as b,getPropertyAccessor as g,usePropertyAccessor as v,useValueFormatter as f,Container as m,useMotionConfig as p,useDimensions as x,bindDefs as y,CartesianMarkers as S,SvgWrapper as k,getRelativeCursor as L,isCursorInRect as w,ResponsiveWrapper as C}from\"@nivo/core\";import{useMemo as V,createElement as W,useCallback as M,useState as B,Fragment as I,forwardRef as T,useRef as R,useEffect as H}from\"react\";import{animated as P,to as E,useTransition as F}from\"@react-spring/web\";import{useTooltip as X,BasicTooltip as Y}from\"@nivo/tooltip\";import{useOrdinalColorScale as D,useInheritedColor as O}from\"@nivo/colors\";import{computeScale as G}from\"@nivo/scales\";import{stack as A,stackOffsetDiverging as j}from\"d3-shape\";import q from\"lodash/uniqBy\";function z(){return z=Object.assign||function(e){for(var a=1;a<arguments.length;a++){var i=arguments[a];for(var t in i)Object.prototype.hasOwnProperty.call(i,t)&&(e[t]=i[t])}return e},z.apply(this,arguments)}function K(e,a){if(null==e)return{};var i,t,n={},r=Object.keys(e);for(t=0;t<r.length;t++)i=r[t],a.indexOf(i)>=0||(n[i]=e[i]);return n}var N,J=function(e){var a=e.bars,i=e.annotations,t=n({data:a,annotations:i,getPosition:function(e){return{x:e.x+e.width/2,y:e.y+e.height/2}},getDimensions:function(e){var a=e.height,i=e.width;return{width:i,height:a,size:Math.max(i,a)}}});return d(u,{children:t.map((function(e,a){return d(r,z({},e),a)}))})},Q=function(e){var a=e.width,i=e.height,t=e.legends,n=e.toggleSerie;return d(u,{children:t.map((function(e,t){var r,l=e[0],o=e[1];return d(s,z({},l,{containerWidth:a,containerHeight:i,data:null!=(r=l.data)?r:o,toggleSerie:l.toggleSerie&&\"keys\"===l.dataFrom?n:void 0}),t)}))})},U=[\"data\"],Z=function(e){var a,i=e.bar,t=i.data,n=K(i,U),r=e.style,l=r.borderColor,o=r.color,u=r.height,s=r.labelColor,h=r.labelOpacity,g=r.labelX,v=r.labelY,f=r.transform,m=r.width,p=e.borderRadius,x=e.borderWidth,y=e.label,S=e.shouldRenderLabel,k=e.isInteractive,L=e.onClick,w=e.onMouseEnter,C=e.onMouseLeave,B=e.tooltip,I=e.isFocusable,T=e.ariaLabel,R=e.ariaLabelledBy,H=e.ariaDescribedBy,F=b(),Y=X(),D=Y.showTooltipFromEvent,O=Y.showTooltipAt,G=Y.hideTooltip,A=V((function(){return function(){return W(B,z({},n,t))}}),[B,n,t]),j=M((function(e){null==L||L(z({color:n.color},t),e)}),[n,t,L]),q=M((function(e){return D(A(),e)}),[D,A]),N=M((function(e){null==w||w(t,e),D(A(),e)}),[t,w,D,A]),J=M((function(e){null==C||C(t,e),G()}),[t,G,C]),Q=M((function(){O(A(),[n.absX+n.width/2,n.absY])}),[O,A,n]),Z=M((function(){G()}),[G]);return c(P.g,{transform:f,children:[d(P.rect,{width:E(m,(function(e){return Math.max(e,0)})),height:E(u,(function(e){return Math.max(e,0)})),rx:p,ry:p,fill:null!=(a=t.fill)?a:o,strokeWidth:x,stroke:l,focusable:I,tabIndex:I?0:void 0,\"aria-label\":T?T(t):void 0,\"aria-labelledby\":R?R(t):void 0,\"aria-describedby\":H?H(t):void 0,onMouseEnter:k?N:void 0,onMouseMove:k?q:void 0,onMouseLeave:k?J:void 0,onClick:k?j:void 0,onFocus:k&&I?Q:void 0,onBlur:k&&I?Z:void 0}),S&&d(P.text,{x:g,y:v,textAnchor:\"middle\",dominantBaseline:\"central\",fillOpacity:h,style:z({},F.labels.text,{pointerEvents:\"none\",fill:s}),children:y})]})},$=[\"color\",\"label\"],_={indexBy:\"id\",keys:[\"value\"],groupMode:\"stacked\",layout:\"vertical\",reverse:!1,minValue:\"auto\",maxValue:\"auto\",valueScale:{type:\"linear\"},indexScale:{type:\"band\",round:!0},padding:.1,innerPadding:0,axisBottom:{},axisLeft:{},enableGridX:!1,enableGridY:!0,enableLabel:!0,label:\"formattedValue\",labelSkipWidth:0,labelSkipHeight:0,labelTextColor:{from:\"theme\",theme:\"labels.text.fill\"},colorBy:\"id\",colors:{scheme:\"nivo\"},borderRadius:0,borderWidth:0,borderColor:{from:\"color\"},isInteractive:!0,tooltip:function(e){var a=e.color,i=e.label,t=K(e,$);return d(Y,{id:i,value:t.formattedValue,enableChip:!0,color:a})},tooltipLabel:function(e){return e.id+\" - \"+e.indexValue},legends:[],initialHiddenIds:[],annotations:[],markers:[]},ee=z({},_,{layers:[\"grid\",\"axes\",\"bars\",\"markers\",\"legends\",\"annotations\"],barComponent:Z,defs:[],fill:[],animate:!0,motionConfig:\"default\",role:\"img\",isFocusable:!1}),ae=z({},_,{layers:[\"grid\",\"axes\",\"bars\",\"legends\",\"annotations\"],pixelRatio:\"undefined\"!=typeof window&&null!=(N=window.devicePixelRatio)?N:1}),ie=function(e,a,i,t,n,r){return G(t,{all:e.map(a),min:0,max:0},n,r).padding(i)},te=function(e,a){return e.map((function(e){return z({},a.reduce((function(e,a){return e[a]=null,e}),{}),e)}))},ne=function(e){return Object.keys(e).reduce((function(a,i){return e[i]&&(a[i]=e[i]),a}),{})},re=function(e){return[e,Number(e)]},le=[\"layout\",\"minValue\",\"maxValue\",\"reverse\",\"width\",\"height\",\"padding\",\"innerPadding\",\"valueScale\",\"indexScale\",\"hiddenIds\"],oe=function(e,a){return e>a},de=function(e,a){return e<a},ue=function(e,a){return Array.from(\" \".repeat(a-e),(function(a,i){return e+i}))},ce=function(e){return oe(e,0)?0:e},se=function(e,a,i,t){var n=e.data,r=e.formatValue,l=e.getColor,o=e.getIndex,d=e.getTooltipLabel,u=e.innerPadding,c=void 0===u?0:u,s=e.keys,h=e.xScale,b=e.yScale,g=e.margin,v=i?de:oe,f=n.map(ne),m=[];return s.forEach((function(e,i){return ue(0,h.domain().length).forEach((function(u){var s,p,x,y=re(n[u][e]),S=y[0],k=y[1],L=o(n[u]),w=(null!=(s=h(L))?s:0)+a*i+c*i,C=v(p=k,0)?null!=(x=b(p))?x:0:t,V=function(e,a){var i;return v(e,0)?t-a:(null!=(i=b(e))?i:0)-t}(k,C),W={id:e,value:null===S?S:k,formattedValue:r(k),hidden:!1,index:u,indexValue:L,data:f[u]};m.push({key:e+\".\"+W.indexValue,index:m.length,data:W,x:w,y:C,absX:g.left+w,absY:g.top+C,width:a,height:V,color:l(W),label:d(W)})}))})),m},he=function(e,a,i,t){var n=e.data,r=e.formatValue,l=e.getIndex,o=e.getColor,d=e.getTooltipLabel,u=e.keys,c=e.innerPadding,s=void 0===c?0:c,h=e.xScale,b=e.yScale,g=e.margin,v=i?de:oe,f=n.map(ne),m=[];return u.forEach((function(e,i){return ue(0,b.domain().length).forEach((function(u){var c,p,x,y=re(n[u][e]),S=y[0],k=y[1],L=l(n[u]),w=v(p=k,0)?t:null!=(x=h(p))?x:0,C=(null!=(c=b(L))?c:0)+a*i+s*i,V=function(e,a){var i;return v(e,0)?(null!=(i=h(e))?i:0)-t:t-a}(k,w),W={id:e,value:null===S?S:k,formattedValue:r(k),hidden:!1,index:u,indexValue:L,data:f[u]};m.push({key:e+\".\"+W.indexValue,index:m.length,data:W,x:w,y:C,absX:g.left+w,absY:g.top+C,width:V,height:a,color:o(W),label:d(W)})}))})),m},be=function(e){var a,i,t=e.layout,n=e.minValue,r=e.maxValue,l=e.reverse,o=e.width,d=e.height,u=e.padding,c=void 0===u?0:u,s=e.innerPadding,h=void 0===s?0:s,b=e.valueScale,g=e.indexScale,v=e.hiddenIds,f=void 0===v?[]:v,m=K(e,le),p=m.keys.filter((function(e){return!f.includes(e)})),x=te(m.data,p),y=\"vertical\"===t?[\"y\",\"x\",o]:[\"x\",\"y\",d],S=y[0],k=y[1],L=y[2],w=ie(x,m.getIndex,c,g,L,k),C=z({max:r,min:n,reverse:l},b),V=\"auto\"===C.min?ce:function(e){return e},W=x.reduce((function(e,a){return[].concat(e,p.map((function(e){return a[e]})))}),[]).filter(Boolean),M=V(Math.min.apply(Math,W)),B=(i=Math.max.apply(Math,W),isFinite(i)?i:0),I=G(C,{all:W,min:M,max:B},\"x\"===S?o:d,S),T=\"vertical\"===t?[w,I]:[I,w],R=T[0],H=T[1],P=(w.bandwidth()-h*(p.length-1))/p.length,E=[z({},m,{data:x,keys:p,innerPadding:h,xScale:R,yScale:H}),P,C.reverse,null!=(a=I(0))?a:0];return{xScale:R,yScale:H,bars:P>0?\"vertical\"===t?se.apply(void 0,E):he.apply(void 0,E):[]}},ge=[\"data\",\"layout\",\"minValue\",\"maxValue\",\"reverse\",\"width\",\"height\",\"padding\",\"valueScale\",\"indexScale\",\"hiddenIds\"],ve=function e(a){var i;return a.some(Array.isArray)?e((i=[]).concat.apply(i,a)):a},fe=function(e,a,i){var t=e.formatValue,n=e.getColor,r=e.getIndex,l=e.getTooltipLabel,o=e.innerPadding,d=e.stackedData,u=e.xScale,c=e.yScale,s=e.margin,h=[];return d.forEach((function(e){return u.domain().forEach((function(d,b){var g,v,f=e[b],m=null!=(g=u(r(f.data)))?g:0,p=(null!=(v=function(e){return c(e[i?0:1])}(f))?v:0)+.5*o,x=function(e,a){var t;return(null!=(t=c(e[i?1:0]))?t:0)-a}(f,p)-o,y=re(f.data[e.key]),S=y[0],k=y[1],L={id:e.key,value:null===S?S:k,formattedValue:t(k),hidden:!1,index:b,indexValue:d,data:ne(f.data)};h.push({key:e.key+\".\"+d,index:h.length,data:L,x:m,y:p,absX:s.left+m,absY:s.top+p,width:a,height:x,color:n(L),label:l(L)})}))})),h},me=function(e,a,i){var t=e.formatValue,n=e.getColor,r=e.getIndex,l=e.getTooltipLabel,o=e.innerPadding,d=e.stackedData,u=e.xScale,c=e.yScale,s=e.margin,h=[];return d.forEach((function(e){return c.domain().forEach((function(d,b){var g,v,f=e[b],m=null!=(g=c(r(f.data)))?g:0,p=(null!=(v=function(e){return u(e[i?1:0])}(f))?v:0)+.5*o,x=function(e,a){var t;return(null!=(t=u(e[i?0:1]))?t:0)-a}(f,p)-o,y=re(f.data[e.key]),S=y[0],k=y[1],L={id:e.key,value:null===S?S:k,formattedValue:t(k),hidden:!1,index:b,indexValue:d,data:ne(f.data)};h.push({key:e.key+\".\"+d,index:h.length,data:L,x:p,y:m,absX:s.left+p,absY:s.top+m,width:x,height:a,color:n(L),label:l(L)})}))})),h},pe=function(e){var a,i=e.data,t=e.layout,n=e.minValue,r=e.maxValue,l=e.reverse,o=e.width,d=e.height,u=e.padding,c=void 0===u?0:u,s=e.valueScale,h=e.indexScale,b=e.hiddenIds,g=void 0===b?[]:b,v=K(e,ge),f=v.keys.filter((function(e){return!g.includes(e)})),m=A().keys(f).offset(j)(te(i,f)),p=\"vertical\"===t?[\"y\",\"x\",o]:[\"x\",\"y\",d],x=p[0],y=p[1],S=p[2],k=ie(i,v.getIndex,c,h,S,y),L=z({max:r,min:n,reverse:l},s),w=(a=ve(m),\"log\"===s.type?a.filter((function(e){return 0!==e})):a),C=Math.min.apply(Math,w),V=Math.max.apply(Math,w),W=G(L,{all:w,min:C,max:V},\"x\"===x?o:d,x),M=\"vertical\"===t?[k,W]:[W,k],B=M[0],I=M[1],T=v.innerPadding>0?v.innerPadding:0,R=k.bandwidth(),H=[z({},v,{innerPadding:T,stackedData:m,xScale:B,yScale:I}),R,L.reverse];return{xScale:B,yScale:I,bars:R>0?\"vertical\"===t?fe.apply(void 0,H):me.apply(void 0,H):[]}},xe=function(e){var a=e.bars,i=e.direction,t=e.from,n=e.groupMode,r=e.layout,l=e.legendLabel,o=e.reverse,d=g(null!=l?l:\"indexes\"===t?\"indexValue\":\"id\");return\"indexes\"===t?function(e,a,i){var t=q(e.map((function(e){var a,t;return{id:null!=(a=e.data.indexValue)?a:\"\",label:i(e.data),hidden:e.data.hidden,color:null!=(t=e.color)?t:\"#000\"}})),(function(e){return e.id}));return\"horizontal\"===a&&t.reverse(),t}(a,r,d):function(e,a,i,t,n,r){var l=q(e.map((function(e){var a;return{id:e.data.id,label:r(e.data),hidden:e.data.hidden,color:null!=(a=e.color)?a:\"#000\"}})),(function(e){return e.id}));return(\"vertical\"===a&&\"stacked\"===t&&\"column\"===i&&!0!==n||\"horizontal\"===a&&\"stacked\"===t&&!0===n)&&l.reverse(),l}(a,r,i,n,o,d)},ye=function(e){var a=e.indexBy,i=void 0===a?_.indexBy:a,t=e.keys,n=void 0===t?_.keys:t,r=e.label,l=void 0===r?_.label:r,o=e.tooltipLabel,d=void 0===o?_.tooltipLabel:o,u=e.valueFormat,c=e.colors,s=void 0===c?_.colors:c,h=e.colorBy,g=void 0===h?_.colorBy:h,m=e.borderColor,p=void 0===m?_.borderColor:m,x=e.labelTextColor,y=void 0===x?_.labelTextColor:x,S=e.groupMode,k=void 0===S?_.groupMode:S,L=e.layout,w=void 0===L?_.layout:L,C=e.reverse,W=void 0===C?_.reverse:C,I=e.data,T=e.minValue,R=void 0===T?_.minValue:T,H=e.maxValue,P=void 0===H?_.maxValue:H,E=e.margin,F=e.width,X=e.height,Y=e.padding,G=void 0===Y?_.padding:Y,A=e.innerPadding,j=void 0===A?_.innerPadding:A,q=e.valueScale,K=void 0===q?_.valueScale:q,N=e.indexScale,J=void 0===N?_.indexScale:N,Q=e.initialHiddenIds,U=void 0===Q?_.initialHiddenIds:Q,Z=e.enableLabel,$=void 0===Z?_.enableLabel:Z,ee=e.labelSkipWidth,ae=void 0===ee?_.labelSkipWidth:ee,ie=e.labelSkipHeight,te=void 0===ie?_.labelSkipHeight:ie,ne=e.legends,re=void 0===ne?_.legends:ne,le=e.legendLabel,oe=B(null!=U?U:[]),de=oe[0],ue=oe[1],ce=M((function(e){ue((function(a){return a.indexOf(e)>-1?a.filter((function(a){return a!==e})):[].concat(a,[e])}))}),[]),se=v(i),he=v(l),ge=v(d),ve=f(u),fe=b(),me=D(s,g),ye=O(p,fe),Se=O(y,fe),ke=(\"grouped\"===k?be:pe)({layout:w,reverse:W,data:I,getIndex:se,keys:n,minValue:R,maxValue:P,width:F,height:X,getColor:me,padding:G,innerPadding:j,valueScale:K,indexScale:J,hiddenIds:de,formatValue:ve,getTooltipLabel:ge,margin:E}),Le=ke.bars,we=ke.xScale,Ce=ke.yScale,Ve=V((function(){return Le.filter((function(e){return null!==e.data.value})).map((function(e,a){return z({},e,{index:a})}))}),[Le]),We=M((function(e){var a=e.width,i=e.height;return!!$&&(!(ae>0&&a<ae)&&!(te>0&&i<te))}),[$,ae,te]),Me=V((function(){return n.map((function(e){var a=Le.find((function(a){return a.data.id===e}));return z({},a,{data:z({id:e},null==a?void 0:a.data,{hidden:de.includes(e)})})}))}),[de,n,Le]),Be=V((function(){return re.map((function(e){return[e,xe({bars:\"keys\"===e.dataFrom?Me:Le,direction:e.direction,from:e.dataFrom,groupMode:k,layout:w,legendLabel:le,reverse:W})]}))}),[re,Me,Le,k,w,le,W]);return{bars:Le,barsWithValue:Ve,xScale:we,yScale:Ce,getIndex:se,getLabel:he,getTooltipLabel:ge,formatValue:ve,getColor:me,getBorderColor:ye,getLabelColor:Se,shouldRenderBarLabel:We,hiddenIds:de,toggleSerie:ce,legendsWithData:Be}},Se=[\"isInteractive\",\"animate\",\"motionConfig\",\"theme\",\"renderWrapper\"],ke=function(i){var t=i.data,n=i.indexBy,r=i.keys,l=i.margin,o=i.width,u=i.height,c=i.groupMode,s=i.layout,h=i.reverse,b=i.minValue,g=i.maxValue,v=i.valueScale,f=i.indexScale,m=i.padding,L=i.innerPadding,w=i.axisTop,C=i.axisRight,M=i.axisBottom,B=void 0===M?ee.axisBottom:M,T=i.axisLeft,R=void 0===T?ee.axisLeft:T,H=i.enableGridX,P=void 0===H?ee.enableGridX:H,E=i.enableGridY,X=void 0===E?ee.enableGridY:E,Y=i.gridXValues,D=i.gridYValues,O=i.layers,G=void 0===O?ee.layers:O,A=i.barComponent,j=void 0===A?ee.barComponent:A,q=i.enableLabel,K=void 0===q?ee.enableLabel:q,N=i.label,U=i.labelSkipWidth,Z=void 0===U?ee.labelSkipWidth:U,$=i.labelSkipHeight,_=void 0===$?ee.labelSkipHeight:$,ae=i.labelTextColor,ie=i.markers,te=void 0===ie?ee.markers:ie,ne=i.colorBy,re=i.colors,le=i.defs,oe=void 0===le?ee.defs:le,de=i.fill,ue=void 0===de?ee.fill:de,ce=i.borderRadius,se=void 0===ce?ee.borderRadius:ce,he=i.borderWidth,be=void 0===he?ee.borderWidth:he,ge=i.borderColor,ve=i.annotations,fe=void 0===ve?ee.annotations:ve,me=i.legendLabel,pe=i.tooltipLabel,xe=i.valueFormat,Se=i.isInteractive,ke=void 0===Se?ee.isInteractive:Se,Le=i.tooltip,we=void 0===Le?ee.tooltip:Le,Ce=i.onClick,Ve=i.onMouseEnter,We=i.onMouseLeave,Me=i.legends,Be=i.role,Ie=void 0===Be?ee.role:Be,Te=i.ariaLabel,Re=i.ariaLabelledBy,He=i.ariaDescribedBy,Pe=i.isFocusable,Ee=void 0===Pe?ee.isFocusable:Pe,Fe=i.barAriaLabel,Xe=i.barAriaLabelledBy,Ye=i.barAriaDescribedBy,De=i.initialHiddenIds,Oe=p(),Ge=Oe.animate,Ae=Oe.config,je=x(o,u,l),qe=je.outerWidth,ze=je.outerHeight,Ke=je.margin,Ne=je.innerWidth,Je=je.innerHeight,Qe=ye({indexBy:n,label:N,tooltipLabel:pe,valueFormat:xe,colors:re,colorBy:ne,borderColor:ge,labelTextColor:ae,groupMode:c,layout:s,reverse:h,data:t,keys:r,minValue:b,maxValue:g,margin:Ke,width:Ne,height:Je,padding:m,innerPadding:L,valueScale:v,indexScale:f,enableLabel:K,labelSkipWidth:Z,labelSkipHeight:_,legends:Me,legendLabel:me,initialHiddenIds:De}),Ue=Qe.bars,Ze=Qe.barsWithValue,$e=Qe.xScale,_e=Qe.yScale,ea=Qe.getLabel,aa=Qe.getTooltipLabel,ia=Qe.getBorderColor,ta=Qe.getLabelColor,na=Qe.shouldRenderBarLabel,ra=Qe.toggleSerie,la=Qe.legendsWithData,oa=F(Ze,{keys:function(e){return e.key},from:function(e){return z({borderColor:ia(e),color:e.color,height:0,labelColor:ta(e),labelOpacity:0,labelX:e.width/2,labelY:e.height/2,transform:\"translate(\"+e.x+\", \"+(e.y+e.height)+\")\",width:e.width},\"vertical\"===s?{}:{height:e.height,transform:\"translate(\"+e.x+\", \"+e.y+\")\",width:0})},enter:function(e){return{borderColor:ia(e),color:e.color,height:e.height,labelColor:ta(e),labelOpacity:1,labelX:e.width/2,labelY:e.height/2,transform:\"translate(\"+e.x+\", \"+e.y+\")\",width:e.width}},update:function(e){return{borderColor:ia(e),color:e.color,height:e.height,labelColor:ta(e),labelOpacity:1,labelX:e.width/2,labelY:e.height/2,transform:\"translate(\"+e.x+\", \"+e.y+\")\",width:e.width}},leave:function(e){return z({borderColor:ia(e),color:e.color,height:0,labelColor:ta(e),labelOpacity:0,labelX:e.width/2,labelY:0,transform:\"translate(\"+e.x+\", \"+(e.y+e.height)+\")\",width:e.width},\"vertical\"===s?{}:{labelX:0,labelY:e.height/2,height:e.height,transform:\"translate(\"+e.x+\", \"+e.y+\")\",width:0})},config:Ae,immediate:!Ge}),da=V((function(){return{borderRadius:se,borderWidth:be,enableLabel:K,isInteractive:ke,labelSkipWidth:Z,labelSkipHeight:_,onClick:Ce,onMouseEnter:Ve,onMouseLeave:We,getTooltipLabel:aa,tooltip:we,isFocusable:Ee,ariaLabel:Fe,ariaLabelledBy:Xe,ariaDescribedBy:Ye}}),[se,be,K,aa,ke,_,Z,Ce,Ve,We,we,Ee,Fe,Xe,Ye]),ua=y(oe,Ue,ue,{dataKey:\"data\",targetKey:\"data.fill\"}),ca={annotations:null,axes:null,bars:null,grid:null,legends:null,markers:null};G.includes(\"annotations\")&&(ca.annotations=d(J,{bars:Ue,annotations:fe},\"annotations\")),G.includes(\"axes\")&&(ca.axes=d(e,{xScale:$e,yScale:_e,width:Ne,height:Je,top:w,right:C,bottom:B,left:R},\"axes\")),G.includes(\"bars\")&&(ca.bars=d(I,{children:oa((function(e,a){return W(j,z({},da,{bar:a,style:e,shouldRenderLabel:na(a),label:ea(a.data)}))}))},\"bars\")),G.includes(\"grid\")&&(ca.grid=d(a,{width:Ne,height:Je,xScale:P?$e:null,yScale:X?_e:null,xValues:Y,yValues:D},\"grid\")),G.includes(\"legends\")&&(ca.legends=d(Q,{width:Ne,height:Je,legends:la,toggleSerie:ra},\"legends\")),G.includes(\"markers\")&&(ca.markers=d(S,{markers:te,width:Ne,height:Je,xScale:$e,yScale:_e},\"markers\"));var sa=V((function(){return z({},da,{margin:Ke,width:o,height:u,innerWidth:Ne,innerHeight:Je,bars:Ue,legendData:la,enableLabel:K,xScale:$e,yScale:_e,tooltip:we,getTooltipLabel:aa,onClick:Ce,onMouseEnter:Ve,onMouseLeave:We})}),[da,Ke,o,u,Ne,Je,Ue,la,K,$e,_e,we,aa,Ce,Ve,We]);return d(k,{width:qe,height:ze,margin:Ke,defs:ua,role:Ie,ariaLabel:Te,ariaLabelledBy:Re,ariaDescribedBy:He,isFocusable:Ee,children:G.map((function(e,a){var i;return\"function\"==typeof e?d(I,{children:W(e,sa)},a):null!=(i=null==ca?void 0:ca[e])?i:null}))})},Le=function(e){var a=e.isInteractive,i=void 0===a?ee.isInteractive:a,t=e.animate,n=void 0===t?ee.animate:t,r=e.motionConfig,l=void 0===r?ee.motionConfig:r,o=e.theme,u=e.renderWrapper,c=K(e,Se);return d(m,{animate:n,isInteractive:i,motionConfig:l,renderWrapper:u,theme:o,children:d(ke,z({isInteractive:i},c))})},we=[\"isInteractive\",\"renderWrapper\",\"theme\"],Ce=function(e,a,i,t){return e.find((function(e){return w(e.x+a.left,e.y+a.top,e.width,e.height,i,t)}))},Ve=function(e){var a=e.data,r=e.indexBy,u=e.keys,c=e.margin,s=e.width,g=e.height,v=e.groupMode,f=e.layout,m=e.reverse,p=e.minValue,y=e.maxValue,S=e.valueScale,k=e.indexScale,w=e.padding,C=e.innerPadding,B=e.axisTop,I=e.axisRight,T=e.axisBottom,P=void 0===T?ae.axisBottom:T,E=e.axisLeft,F=void 0===E?ae.axisLeft:E,Y=e.enableGridX,D=void 0===Y?ae.enableGridX:Y,O=e.enableGridY,G=void 0===O?ae.enableGridY:O,A=e.gridXValues,j=e.gridYValues,q=e.layers,K=void 0===q?ae.layers:q,N=e.renderBar,J=void 0===N?function(e,a){var i=a.bar,t=i.color,n=i.height,r=i.width,l=i.x,o=i.y,d=a.borderColor,u=a.borderRadius,c=a.borderWidth,s=a.label,h=a.labelColor,b=a.shouldRenderLabel;if(e.fillStyle=t,c>0&&(e.strokeStyle=d,e.lineWidth=c),e.beginPath(),u>0){var g=Math.min(u,n);e.moveTo(l+g,o),e.lineTo(l+r-g,o),e.quadraticCurveTo(l+r,o,l+r,o+g),e.lineTo(l+r,o+n-g),e.quadraticCurveTo(l+r,o+n,l+r-g,o+n),e.lineTo(l+g,o+n),e.quadraticCurveTo(l,o+n,l,o+n-g),e.lineTo(l,o+g),e.quadraticCurveTo(l,o,l+g,o),e.closePath()}else e.rect(l,o,r,n);e.fill(),c>0&&e.stroke(),b&&(e.textBaseline=\"middle\",e.textAlign=\"center\",e.fillStyle=h,e.fillText(s,l+r/2,o+n/2))}:N,Q=e.enableLabel,U=void 0===Q?ae.enableLabel:Q,Z=e.label,$=e.labelSkipWidth,_=void 0===$?ae.labelSkipWidth:$,ee=e.labelSkipHeight,ie=void 0===ee?ae.labelSkipHeight:ee,te=e.labelTextColor,ne=e.colorBy,re=e.colors,le=e.borderRadius,oe=void 0===le?ae.borderRadius:le,de=e.borderWidth,ue=void 0===de?ae.borderWidth:de,ce=e.borderColor,se=e.annotations,he=void 0===se?ae.annotations:se,be=e.legendLabel,ge=e.tooltipLabel,ve=e.valueFormat,fe=e.isInteractive,me=void 0===fe?ae.isInteractive:fe,pe=e.tooltip,xe=void 0===pe?ae.tooltip:pe,Se=e.onClick,ke=e.onMouseEnter,Le=e.onMouseLeave,we=e.legends,Ve=e.pixelRatio,We=void 0===Ve?ae.pixelRatio:Ve,Me=e.canvasRef,Be=R(null),Ie=b(),Te=x(s,g,c),Re=Te.margin,He=Te.innerWidth,Pe=Te.innerHeight,Ee=Te.outerWidth,Fe=Te.outerHeight,Xe=ye({indexBy:r,label:Z,tooltipLabel:ge,valueFormat:ve,colors:re,colorBy:ne,borderColor:ce,labelTextColor:te,groupMode:v,layout:f,reverse:m,data:a,keys:u,minValue:p,maxValue:y,margin:Re,width:He,height:Pe,padding:w,innerPadding:C,valueScale:S,indexScale:k,enableLabel:U,labelSkipWidth:_,labelSkipHeight:ie,legends:we,legendLabel:be}),Ye=Xe.bars,De=Xe.barsWithValue,Oe=Xe.xScale,Ge=Xe.yScale,Ae=Xe.getLabel,je=Xe.getTooltipLabel,qe=Xe.getBorderColor,ze=Xe.getLabelColor,Ke=Xe.shouldRenderBarLabel,Ne=Xe.legendsWithData,Je=X(),Qe=Je.showTooltipFromEvent,Ue=Je.hideTooltip,Ze=l({annotations:n({data:Ye,annotations:he,getPosition:function(e){return{x:e.x,y:e.y}},getDimensions:function(e){var a=e.width,i=e.height;return{width:a,height:i,size:Math.max(a,i)}}})}),$e=V((function(){return{borderRadius:oe,borderWidth:ue,isInteractive:me,isFocusable:!1,labelSkipWidth:_,labelSkipHeight:ie,margin:Re,width:s,height:g,innerWidth:He,innerHeight:Pe,bars:Ye,legendData:Ne,enableLabel:U,xScale:Oe,yScale:Ge,tooltip:xe,getTooltipLabel:je,onClick:Se,onMouseEnter:ke,onMouseLeave:Le}}),[oe,ue,me,_,ie,Re,s,g,He,Pe,Ye,Ne,U,Oe,Ge,xe,je,Se,ke,Le]);H((function(){var e,a=null==(e=Be.current)?void 0:e.getContext(\"2d\");Be.current&&a&&(Be.current.width=Ee*We,Be.current.height=Fe*We,a.scale(We,We),a.fillStyle=Ie.background,a.fillRect(0,0,Ee,Fe),a.translate(Re.left,Re.top),K.forEach((function(e){\"grid\"===e?\"number\"==typeof Ie.grid.line.strokeWidth&&Ie.grid.line.strokeWidth>0&&(a.lineWidth=Ie.grid.line.strokeWidth,a.strokeStyle=Ie.grid.line.stroke,D&&i(a,{width:s,height:g,scale:Oe,axis:\"x\",values:A}),G&&i(a,{width:s,height:g,scale:Ge,axis:\"y\",values:j})):\"axes\"===e?t(a,{xScale:Oe,yScale:Ge,width:He,height:Pe,top:B,right:I,bottom:P,left:F,theme:Ie}):\"bars\"===e?De.forEach((function(e){J(a,{bar:e,borderColor:qe(e),borderRadius:oe,borderWidth:ue,label:Ae(e.data),labelColor:ze(e),shouldRenderLabel:Ke(e)})})):\"legends\"===e?Ne.forEach((function(e){var i=e[0],t=e[1];h(a,z({},i,{data:t,containerWidth:He,containerHeight:Pe,theme:Ie}))})):\"annotations\"===e?o(a,{annotations:Ze,theme:Ie}):\"function\"==typeof e&&e(a,$e)})),a.save())}),[P,F,I,B,De,oe,ue,Ze,D,G,qe,Ae,ze,A,j,v,g,Pe,He,$e,K,f,Ne,Re.left,Re.top,Fe,Ee,We,J,Oe,Ge,m,Ke,Ie,s]);var _e=M((function(e){if(Ye&&Be.current){var a=L(Be.current,e),i=a[0],t=a[1],n=Ce(Ye,Re,i,t);void 0!==n?(Qe(W(xe,z({},n.data,{color:n.color,label:n.label,value:Number(n.data.value)})),e),\"mouseenter\"===e.type&&(null==ke||ke(n.data,e))):Ue()}}),[Ue,Re,ke,Ye,Qe,xe]),ea=M((function(e){if(Ye&&Be.current){Ue();var a=L(Be.current,e),i=a[0],t=a[1],n=Ce(Ye,Re,i,t);n&&(null==Le||Le(n.data,e))}}),[Ue,Re,Le,Ye]),aa=M((function(e){if(Ye&&Be.current){var a=L(Be.current,e),i=a[0],t=a[1],n=Ce(Ye,Re,i,t);void 0!==n&&(null==Se||Se(z({},n.data,{color:n.color}),e))}}),[Re,Se,Ye]);return d(\"canvas\",{ref:function(e){Be.current=e,Me&&\"current\"in Me&&(Me.current=e)},width:Ee*We,height:Fe*We,style:{width:Ee,height:Fe,cursor:me?\"auto\":\"normal\"},onMouseEnter:me?_e:void 0,onMouseMove:me?_e:void 0,onMouseLeave:me?ea:void 0,onClick:me?aa:void 0})},We=T((function(e,a){var i=e.isInteractive,t=e.renderWrapper,n=e.theme,r=K(e,we);return d(m,{isInteractive:i,renderWrapper:t,theme:n,animate:!1,children:d(Ve,z({},r,{canvasRef:a}))})})),Me=function(e){return d(C,{children:function(a){var i=a.width,t=a.height;return d(Le,z({width:i,height:t},e))}})},Be=T((function(e,a){return d(C,{children:function(i){var t=i.width,n=i.height;return d(We,z({width:t,height:n},e,{ref:a}))}})}));export{Le as Bar,We as BarCanvas,Z as BarItem,Me as ResponsiveBar,Be as ResponsiveBarCanvas,ae as canvasDefaultProps,_ as defaultProps,ee as svgDefaultProps};\n//# sourceMappingURL=nivo-bar.es.js.map\n","import * as React from 'react';\nimport { useMemo } from 'react';\nimport { Box } from '@mui/material';\nimport AttachMoneyIcon from '@mui/icons-material/AttachMoney';\nimport { useGetList, Link } from 'react-admin';\nimport { startOfMonth, format } from 'date-fns';\nimport { ResponsiveBar } from '@nivo/bar';\n\nimport { Deal } from '../types';\n\nconst multiplier = {\n opportunity: 0.2,\n 'proposal-sent': 0.5,\n 'in-negociation': 0.8,\n delayed: 0.3,\n};\n\nexport const DealsChart = () => {\n const { data, isPending } = useGetList<Deal>('deals', {\n pagination: { perPage: 100, page: 1 },\n sort: {\n field: 'start_at',\n order: 'ASC',\n },\n });\n\n const months = useMemo(() => {\n if (!data) return [];\n const dealsByMonth = data.reduce((acc, deal) => {\n const month = startOfMonth(\n deal.start_at ?? new Date()\n ).toISOString();\n if (!acc[month]) {\n acc[month] = [];\n }\n acc[month].push(deal);\n return acc;\n }, {} as any);\n\n const amountByMonth = Object.keys(dealsByMonth).map(month => {\n return {\n date: format(month, 'MMM'),\n won: dealsByMonth[month]\n .filter((deal: Deal) => deal.stage === 'won')\n .reduce((acc: number, deal: Deal) => {\n acc += deal.amount;\n return acc;\n }, 0),\n pending: dealsByMonth[month]\n .filter(\n (deal: Deal) => !['won', 'lost'].includes(deal.stage)\n )\n .reduce((acc: number, deal: Deal) => {\n // @ts-ignore\n acc += deal.amount * multiplier[deal.stage];\n return acc;\n }, 0),\n lost: dealsByMonth[month]\n .filter((deal: Deal) => deal.stage === 'lost')\n .reduce((acc: number, deal: Deal) => {\n acc -= deal.amount;\n return acc;\n }, 0),\n };\n });\n\n return amountByMonth;\n }, [data]);\n\n if (isPending) return null; // FIXME return skeleton instead\n\n const range = months.reduce(\n (acc, month) => {\n acc.min = Math.min(acc.min, month.lost);\n acc.max = Math.max(acc.max, month.won + month.pending);\n return acc;\n },\n { min: 0, max: 0 }\n );\n\n return (\n <>\n <Box display=\"flex\" alignItems=\"center\">\n <Box ml={2} mr={2} display=\"flex\">\n <AttachMoneyIcon color=\"disabled\" fontSize=\"large\" />\n </Box>\n <Link\n underline=\"none\"\n variant=\"h5\"\n color=\"textSecondary\"\n to=\"/deals\"\n >\n Upcoming Deal Revenue\n </Link>\n </Box>\n <Box height={500}>\n <ResponsiveBar\n data={months}\n indexBy=\"date\"\n keys={['won', 'pending', 'lost']}\n colors={['#61cdbb', '#97e3d5', '#e25c3b']}\n margin={{ top: 50, right: 50, bottom: 50, left: 0 }}\n padding={0.3}\n valueScale={{\n type: 'linear',\n min: range.min * 1.2,\n max: range.max * 1.2,\n }}\n indexScale={{ type: 'band', round: true }}\n enableGridX={true}\n enableGridY={false}\n enableLabel={false}\n axisTop={{\n tickSize: 0,\n tickPadding: 12,\n }}\n axisBottom={{\n legendPosition: 'middle',\n legendOffset: 50,\n tickSize: 0,\n tickPadding: 12,\n }}\n axisLeft={null}\n axisRight={{\n format: (v: any) => `${Math.abs(v / 1000)}k`,\n tickValues: 8,\n }}\n markers={\n [\n {\n axis: 'y',\n value: 0,\n lineStyle: { strokeOpacity: 0 },\n textStyle: { fill: '#2ebca6' },\n legend: 'Won',\n legendPosition: 'top-left',\n legendOrientation: 'vertical',\n },\n {\n axis: 'y',\n value: 0,\n lineStyle: {\n stroke: '#f47560',\n strokeWidth: 1,\n },\n textStyle: { fill: '#e25c3b' },\n legend: 'Lost',\n legendPosition: 'bottom-left',\n legendOrientation: 'vertical',\n },\n ] as any\n }\n />\n </Box>\n </>\n );\n};\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M20 0H4v2h16zM4 24h16v-2H4zM20 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2m-8 2.75c1.24 0 2.25 1.01 2.25 2.25s-1.01 2.25-2.25 2.25S9.75 10.24 9.75 9 10.76 6.75 12 6.75M17 17H7v-1.5c0-1.67 3.33-2.5 5-2.5s5 .83 5 2.5z\"\n}), 'Contacts');","import * as React from 'react';\nimport { Card, Box } from '@mui/material';\nimport ContactsIcon from '@mui/icons-material/Contacts';\nimport { useGetList, Link, SimpleList, useGetIdentity } from 'react-admin';\nimport { formatDistance } from 'date-fns';\n\nimport { Avatar } from '../contacts/Avatar';\nimport { Contact } from '../types';\n\nexport const HotContacts = () => {\n const { identity } = useGetIdentity();\n const {\n data: contactData,\n total: contactTotal,\n isPending: contactsLoading,\n } = useGetList<Contact>(\n 'contacts',\n {\n pagination: { page: 1, perPage: 10 },\n sort: { field: 'last_seen', order: 'DESC' },\n filter: { status: 'hot', sales_id: identity?.id },\n },\n { enabled: Number.isInteger(identity?.id) }\n );\n return (\n <>\n <Box display=\"flex\" alignItems=\"center\" marginBottom=\"1em\">\n <Box ml={2} mr={2} display=\"flex\">\n <ContactsIcon color=\"disabled\" fontSize=\"large\" />\n </Box>\n <Link\n underline=\"none\"\n variant=\"h5\"\n color=\"textSecondary\"\n to=\"/contacts\"\n >\n Hot contacts\n </Link>\n </Box>\n <Card>\n <SimpleList<Contact>\n linkType=\"show\"\n data={contactData}\n total={contactTotal}\n isPending={contactsLoading}\n primaryText={contact =>\n `${contact.first_name} ${contact.last_name}`\n }\n resource=\"contacts\"\n secondaryText={(contact: Contact) =>\n formatDistance(contact.last_seen, new Date(), {\n addSuffix: true,\n })\n }\n leftAvatar={contact => <Avatar record={contact} />}\n dense\n />\n </Card>\n </>\n );\n};\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"m22 10-6-6H4c-1.1 0-2 .9-2 2v12.01c0 1.1.9 1.99 2 1.99l16-.01c1.1 0 2-.89 2-1.99zm-7-4.5 5.5 5.5H15z\"\n}), 'Note');","import * as React from 'react';\nimport { Card, CardContent, Typography, Box } from '@mui/material';\nimport NoteIcon from '@mui/icons-material/Note';\nimport {\n useGetList,\n useGetIdentity,\n ReferenceField,\n TextField,\n FunctionField,\n} from 'react-admin';\nimport { formatDistance } from 'date-fns';\n\nimport { Contact as ContactType } from '../types';\n\nexport const LatestNotes = () => {\n const { identity } = useGetIdentity();\n const {\n data: contactNotesData,\n isPending: contactNotesLoading,\n } = useGetList(\n 'contactNotes',\n {\n pagination: { page: 1, perPage: 5 },\n sort: { field: 'date', order: 'DESC' },\n filter: { sales_id: identity?.id },\n },\n { enabled: Number.isInteger(identity?.id) }\n );\n const { data: dealNotesData, isPending: dealNotesLoading } = useGetList(\n 'dealNotes',\n {\n pagination: { page: 1, perPage: 5 },\n sort: { field: 'date', order: 'DESC' },\n filter: { sales_id: identity?.id },\n },\n { enabled: Number.isInteger(identity?.id) }\n );\n if (contactNotesLoading || dealNotesLoading) {\n return null;\n }\n // TypeScript guards\n if (!contactNotesData || !dealNotesData) {\n return null;\n }\n\n const allNotes = ([] as any[])\n .concat(\n contactNotesData.map(note => ({\n ...note,\n type: 'contactNote',\n })),\n dealNotesData.map(note => ({ ...note, type: 'dealNote' }))\n )\n .sort((a, b) => new Date(b.date).valueOf() - new Date(a.date).valueOf())\n .slice(0, 5);\n\n return (\n <div>\n <Box display=\"flex\" alignItems=\"center\" marginBottom=\"1em\">\n <Box ml={2} mr={2} display=\"flex\">\n <NoteIcon color=\"disabled\" fontSize=\"large\" />\n </Box>\n <Typography variant=\"h5\" color=\"textSecondary\">\n My Latest Notes\n </Typography>\n </Box>\n <Card>\n <CardContent>\n {allNotes.map(note => (\n <Box\n id={`${note.type}_${note.id}`}\n key={`${note.type}_${note.id}`}\n sx={{ marginBottom: 2 }}\n >\n <Typography\n variant=\"body2\"\n color=\"textSecondary\"\n component=\"div\"\n >\n on{' '}\n {note.type === 'dealNote' ? (\n <Deal note={note} />\n ) : (\n <Contact note={note} />\n )}\n , added{' '}\n {formatDistance(note.date, new Date(), {\n addSuffix: true,\n })}\n </Typography>\n <div>\n <Typography\n sx={{\n display: '-webkit-box',\n WebkitLineClamp: 3,\n WebkitBoxOrient: 'vertical',\n overflow: 'hidden',\n }}\n >\n {note.text}\n </Typography>\n </div>\n </Box>\n ))}\n </CardContent>\n </Card>\n </div>\n );\n};\n\nconst Deal = ({ note }: any) => (\n <>\n Deal{' '}\n <ReferenceField\n record={note}\n source=\"deal_id\"\n reference=\"deals\"\n link=\"show\"\n >\n <TextField source=\"name\" variant=\"body2\" />\n </ReferenceField>\n </>\n);\n\nconst Contact = ({ note }: any) => (\n <>\n Contact{' '}\n <ReferenceField\n record={note}\n source=\"contact_id\"\n reference=\"contacts\"\n link=\"show\"\n >\n <FunctionField<ContactType>\n variant=\"body2\"\n render={contact => `${contact.first_name} ${contact.last_name}`}\n />\n </ReferenceField>\n </>\n);\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M19 3h-4.18C14.4 1.84 13.3 1 12 1c-1.3 0-2.4.84-2.82 2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2m-7 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1m-2 14-4-4 1.41-1.41L10 14.17l6.59-6.59L18 9z\"\n}), 'AssignmentTurnedIn');","import * as React from 'react';\nimport { Card, Box, Button } from '@mui/material';\nimport AssignmentTurnedInIcon from '@mui/icons-material/AssignmentTurnedIn';\nimport {\n useGetList,\n Link,\n useGetIdentity,\n useList,\n ListContextProvider,\n ResourceContextProvider,\n} from 'react-admin';\nimport { TasksIterator } from '../tasks/TasksIterator';\n\nimport { Contact } from '../types';\n\nexport const TasksList = () => {\n const { identity } = useGetIdentity();\n\n // get all the contacts for this sales\n const { data: contacts, isPending: contactsLoading } = useGetList<Contact>(\n 'contacts',\n {\n pagination: { page: 1, perPage: 500 },\n filter: { sales_id: identity?.id },\n },\n { enabled: !!identity }\n );\n\n // get the first 100 upcoming tasks for these contacts\n const { data: tasks, isPending: tasksLoading } = useGetList(\n 'tasks',\n {\n pagination: { page: 1, perPage: 100 },\n sort: { field: 'due_date', order: 'ASC' },\n filter: {\n done_date: undefined,\n contact_id: contacts?.map(contact => contact.id),\n },\n },\n { enabled: !!contacts }\n );\n\n const isPending = tasksLoading || contactsLoading;\n\n // limit to 10 tasks and provide the list context\n const listContext = useList({\n data: tasks,\n isPending,\n resource: 'tasks',\n perPage: 10,\n });\n return (\n <>\n <Box display=\"flex\" alignItems=\"center\" marginBottom=\"1em\">\n <Box ml={2} mr={2} display=\"flex\">\n <AssignmentTurnedInIcon color=\"disabled\" fontSize=\"large\" />\n </Box>\n <Link\n underline=\"none\"\n variant=\"h5\"\n color=\"textSecondary\"\n to=\"/contacts\"\n >\n Upcoming tasks\n </Link>\n </Box>\n <Card sx={{ px: 2, mb: '2em' }}>\n <ResourceContextProvider value=\"tasks\">\n <ListContextProvider value={listContext}>\n <TasksIterator showContact />\n </ListContextProvider>\n </ResourceContextProvider>\n {!isPending && (\n <Button\n onClick={() =>\n listContext.setPerPage(listContext.perPage + 10)\n }\n fullWidth\n >\n Load more\n </Button>\n )}\n </Card>\n </>\n );\n};\n","import * as React from 'react';\nimport { Grid } from '@mui/material';\n\nimport { Welcome } from './Welcome';\nimport { DealsChart } from './DealsChart';\nimport { HotContacts } from './HotContacts';\nimport { LatestNotes } from './LatestNotes';\n\nimport { TasksList } from './TasksList';\n\nexport const Dashboard = () => (\n <Grid container spacing={2} mt={1}>\n <Grid item xs={12} md={9}>\n <DealsChart />\n </Grid>\n <Grid item xs={12} md={3}>\n <Welcome />\n </Grid>\n <Grid item xs={12} md={6}>\n <LatestNotes />\n </Grid>\n <Grid item xs={12} md={3}>\n <TasksList />\n </Grid>\n <Grid item xs={12} md={3}>\n <HotContacts />\n </Grid>\n </Grid>\n);\n","!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define([],e):\"object\"==typeof exports?exports.FakeRest=e():t.FakeRest=e()}(self,(function(){return function(){var t={6499:function(t,e,r){\"use strict\";r.r(e),r.d(e,{Collection:function(){return y},FetchServer:function(){return q},Server:function(){return w},Single:function(){return v},default:function(){return R}});var n=r(7361),o=r.n(n),i=r(6410),u=r.n(i);function a(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}function c(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function s(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if(\"undefined\"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var r=[],n=!0,o=!1,i=void 0;try{for(var u,a=t[Symbol.iterator]();!(n=(u=a.next()).done)&&(r.push(u.value),!e||r.length!==e);n=!0);}catch(t){o=!0,i=t}finally{try{n||null==a.return||a.return()}finally{if(o)throw i}}return r}(t,e)||function(t,e){if(!t)return;if(\"string\"==typeof t)return f(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===r&&t.constructor&&(r=t.constructor.name);if(\"Map\"===r||\"Set\"===r)return Array.from(t);if(\"Arguments\"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return f(t,e)}(t,e)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function f(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function l(t){return(l=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t})(t)}var p=function(t,e){if(-1!==t.indexOf(\"_lte\")){var r=t.replace(/(_lte)$/,\"\");return function(t){return o()(t,r)<=e}}if(-1!==t.indexOf(\"_gte\")){var n=t.replace(/(_gte)$/,\"\");return function(t){return o()(t,n)>=e}}if(-1!==t.indexOf(\"_lt\")){var i=t.replace(/(_lt)$/,\"\");return function(t){return o()(t,i)<e}}if(-1!==t.indexOf(\"_gt\")){var a=t.replace(/(_gt)$/,\"\");return function(t){return o()(t,a)>e}}if(-1!==t.indexOf(\"_neq\")){var c=t.replace(/(_neq)$/,\"\");return function(t){return o()(t,c)!=e}}return Array.isArray(e)?function(r){return Array.isArray(o()(r,t))?(n=function(e){return n=o()(r,t),i=function(t){return t==e},n.reduce((function(t,e){return t||i(e)}),!1);var n,i},e.reduce((function(t,e){return t&&n(e)}),!0)):e.filter((function(e){return e==o()(r,t)})).length>0;var n}:\"object\"===l(e)?function(r){return u()(e)(o()(r,t))}:function(r){return Array.isArray(o()(r,t))&&\"string\"==typeof e?-1!==o()(r,t).indexOf(e):\"boolean\"==typeof o()(r,t)&&\"string\"==typeof e?o()(r,t)==(\"true\"===e):o()(r,t)==e}};function h(t,e){if(\"function\"==typeof e)return t.filter(e);if(e instanceof Object){var r=Object.keys(e).map((function(t){if(\"q\"===t){var r=new RegExp(e.q,\"i\");return function(t){for(var e in t)if(t[e]&&t[e].match&&null!==t[e].match(r))return!0;return!1}}var n=t.split(\".\"),i=e[t];return n.length>1?function(e){var r=function(t,e){return t.reduce((function(r,n,i){if(null!=r)return r;var u=t.slice(0,i+1).join(\".\"),a=t.slice(i+1).join(\".\"),c=o()(e,u);return Array.isArray(c)&&i<t.length-1?[u,a]:void 0}),void 0)}(n,e);if(r){var u=s(r,2),a=u[0],c=u[1];return h(o()(e,a),function(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}({},c,i)).length>0}return p(t,i)(e)}:p(t,i)}));return t.filter((function(t){return r.reduce((function(e,r){return e&&r(t)}),!0)}))}throw new Error(\"Unsupported filter type\")}var y=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"id\";if(a(this,t),!Array.isArray(e))throw new Error(\"Can't initialize a Collection with anything else than an array of items\");this.sequence=0,this.identifierName=r,this.items=[],this.server=null,this.name=null,e.map(this.addOne.bind(this))}var e,r,n;return e=t,(r=[{key:\"setServer\",value:function(t){this.server=t}},{key:\"setName\",value:function(t){this.name=t}},{key:\"_oneToManyEmbedder\",value:function(t){var e=this,r=this.name.slice(0,-1)+\"_id\";return function(n){var o=e.server.collections[t];if(!o)throw new Error(\"Can't embed a non-existing collection \".concat(t));return Array.isArray(n[t])?n[t]=o.getAll({filter:function(e){return-1!==n[t].indexOf(e[o.identifierName])}}):n[t]=o.getAll({filter:function(t){return t[r]==n[e.identifierName]}}),n}}},{key:\"_manyToOneEmbedder\",value:function(t){var e=this,r=t+\"s\",n=t+\"_id\";return function(o){var i=e.server.collections[r];if(!i)throw new Error(\"Can't embed a non-existing collection \".concat(t));try{o[t]=i.getOne(o[n])}catch(t){}return o}}},{key:\"_itemEmbedder\",value:function(t){var e=this,r=(Array.isArray(t)?t:[t]).map((function(t){return t.endsWith(\"s\")?e._oneToManyEmbedder(t):e._manyToOneEmbedder(t)}));return function(t){return r.reduce((function(t,e){return e(t)}),t)}}},{key:\"getCount\",value:function(t){return this.getAll(t).length}},{key:\"getAll\",value:function(t){var e=this.items.slice(0);return t&&(t.filter&&(e=h(e,t.filter)),t.sort&&(e=function(t,e){if(\"function\"==typeof e)return t.sort(e);if(\"string\"==typeof e)return t.sort((function(t,r){return t[e]>r[e]?1:t[e]<r[e]?-1:0}));if(Array.isArray(e)){var r=e[0],n=\"asc\"==e[1].toLowerCase()?1:-1;return t.sort((function(t,e){return t[r]>e[r]?n:t[r]<e[r]?-1*n:0}))}throw new Error(\"Unsupported sort type\")}(e,t.sort)),t.range&&(e=function(t,e){if(Array.isArray(e))return t.slice(e[0],void 0!==e[1]?e[1]+1:void 0);throw new Error(\"Unsupported range type\")}(e,t.range)),e=e.map((function(t){return Object.assign({},t)})),t.embed&&this.server&&(e=e.map(this._itemEmbedder(t.embed)))),e}},{key:\"getIndex\",value:function(t){var e=this;return this.items.findIndex((function(r){return r[e.identifierName]==t}))}},{key:\"getOne\",value:function(t,e){var r=this.getIndex(t);if(-1===r)throw new Error(\"No item with identifier \".concat(t));var n=this.items[r];return n=Object.assign({},n),e&&e.embed&&this.server&&(n=this._itemEmbedder(e.embed)(n)),n}},{key:\"addOne\",value:function(t){var e=t[this.identifierName];if(void 0!==e){if(-1!==this.getIndex(e))throw new Error(\"An item with the identifier \".concat(e,\" already exists\"));this.sequence=Math.max(this.sequence,e)+1}else t[this.identifierName]=this.sequence++;return this.items.push(t),Object.assign({},t)}},{key:\"updateOne\",value:function(t,e){var r=this.getIndex(t);if(-1===r)throw new Error(\"No item with identifier \".concat(t));for(var n in e)this.items[r][n]=e[n];return Object.assign({},this.items[r])}},{key:\"removeOne\",value:function(t){var e=this.getIndex(t);if(-1===e)throw new Error(\"No item with identifier \".concat(t));var r=this.items[e];return this.items.splice(e,1),t==this.sequence-1&&this.sequence--,r}}])&&c(e.prototype,r),n&&c(e,n),t}();function d(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}var v=function(){function t(e){if(function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),!(e instanceof Object))throw new Error(\"Can't initialize a Single with anything except an object\");this.obj=e,this.server=null,this.name=null}var e,r,n;return e=t,(r=[{key:\"setServer\",value:function(t){this.server=t}},{key:\"setName\",value:function(t){this.name=t}},{key:\"_oneToManyEmbedder\",value:function(t){var e=this;return function(r){var n=e.server.collections[t];if(!n)throw new Error(\"Can't embed a non-existing collection \".concat(t));return r[t]=n.getAll({filter:function(e){return-1!==r[t].indexOf(e[n.identifierName])}}),r}}},{key:\"_manyToOneEmbedder\",value:function(t){var e=this,r=t+\"s\",n=t+\"_id\";return function(o){var i=e.server.collections[r];if(!i)throw new Error(\"Can't embed a non-existing collection \".concat(t));try{o[t]=i.getOne(o[n])}catch(t){}return o}}},{key:\"_itemEmbedder\",value:function(t){var e=this,r=(Array.isArray(t)?t:[t]).map((function(t){return t.endsWith(\"s\")?e._oneToManyEmbedder(t):e._manyToOneEmbedder(t)}));return function(t){return r.reduce((function(t,e){return e(t)}),t)}}},{key:\"getOnly\",value:function(t){var e=this.obj;return t&&t.embed&&this.server&&(e=Object.assign({},e),e=this._itemEmbedder(t.embed)(e)),e}},{key:\"updateOnly\",value:function(t){for(var e in t)this.obj[e]=t[e];return this.obj}}])&&d(e.prototype,r),n&&d(e,n),t}();function b(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if(\"undefined\"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var r=[],n=!0,o=!1,i=void 0;try{for(var u,a=t[Symbol.iterator]();!(n=(u=a.next()).done)&&(r.push(u.value),!e||r.length!==e);n=!0);}catch(t){o=!0,i=t}finally{try{n||null==a.return||a.return()}finally{if(o)throw i}}return r}(t,e)||function(t,e){if(!t)return;if(\"string\"==typeof t)return g(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===r&&t.constructor&&(r=t.constructor.name);if(\"Map\"===r||\"Set\"===r)return Array.from(t);if(\"Arguments\"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return g(t,e)}(t,e)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function g(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function m(t){if(!t)return{};var e={};return t.split(\"&\").map((function(t){if(-1===t.indexOf(\"=\"))e[t]=!0;else{var r=b(t.split(\"=\"),2),n=r[0],o=r[1];0!==o.indexOf(\"[\")&&0!==o.indexOf(\"{\")||(o=JSON.parse(o)),e[n.trim()]=o}})),e}function j(t,e){var r;if(\"undefined\"==typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(r=function(t,e){if(!t)return;if(\"string\"==typeof t)return x(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===r&&t.constructor&&(r=t.constructor.name);if(\"Map\"===r||\"Set\"===r)return Array.from(t);if(\"Arguments\"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return x(t,e)}(t))||e&&t&&\"number\"==typeof t.length){r&&(t=r);var n=0,o=function(){};return{s:o,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var i,u=!0,a=!1;return{s:function(){r=t[Symbol.iterator]()},n:function(){var t=r.next();return u=t.done,t},e:function(t){a=!0,i=t},f:function(){try{u||null==r.return||r.return()}finally{if(a)throw i}}}}function x(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function O(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}function _(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}var w=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"\";O(this,t),this.baseUrl=e,this.loggingEnabled=!1,this.defaultQuery=function(){},this.batchUrl=null,this.collections={},this.singles={},this.requestInterceptors=[],this.responseInterceptors=[]}var e,r,n;return e=t,(r=[{key:\"init\",value:function(t){for(var e in t)Array.isArray(t[e])?this.addCollection(e,new y(t[e],\"id\")):this.addSingle(e,new v(t[e]))}},{key:\"toggleLogging\",value:function(){this.loggingEnabled=!this.loggingEnabled}},{key:\"setDefaultQuery\",value:function(t){this.defaultQuery=t}},{key:\"setBatchUrl\",value:function(t){this.batchUrl=t}},{key:\"setBatch\",value:function(t){console.warn(\"Server.setBatch() is deprecated, use Server.setBatchUrl() instead\"),this.batchUrl=t}},{key:\"addCollection\",value:function(t,e){this.collections[t]=e,e.setServer(this),e.setName(t)}},{key:\"getCollection\",value:function(t){return this.collections[t]}},{key:\"getCollectionNames\",value:function(){return Object.keys(this.collections)}},{key:\"addSingle\",value:function(t,e){this.singles[t]=e,e.setServer(this),e.setName(t)}},{key:\"getSingle\",value:function(t){return this.singles[t]}},{key:\"getSingleNames\",value:function(){return Object.keys(this.singles)}},{key:\"addRequestInterceptor\",value:function(t){this.requestInterceptors.push(t)}},{key:\"addResponseInterceptor\",value:function(t){this.responseInterceptors.push(t)}},{key:\"getCount\",value:function(t,e){return this.collections[t].getCount(e)}},{key:\"getAll\",value:function(t,e){return this.collections[t].getAll(e)}},{key:\"getOne\",value:function(t,e,r){return this.collections[t].getOne(e,r)}},{key:\"addOne\",value:function(t,e){return this.collections.hasOwnProperty(t)||this.addCollection(t,new y([],\"id\")),this.collections[t].addOne(e)}},{key:\"updateOne\",value:function(t,e,r){return this.collections[t].updateOne(e,r)}},{key:\"removeOne\",value:function(t,e){return this.collections[t].removeOne(e)}},{key:\"getOnly\",value:function(t,e){return this.singles[t].getOnly()}},{key:\"updateOnly\",value:function(t,e){return this.singles[t].updateOnly(e)}},{key:\"decode\",value:function(t){if(t.queryString=decodeURIComponent(t.url.slice(t.url.indexOf(\"?\")+1)),t.params=m(t.queryString),t.requestBody)try{t.json=JSON.parse(t.requestBody)}catch(t){}return this.requestInterceptors.reduce((function(t,e){return e(t)}),t)}},{key:\"respond\",value:function(t,e,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:200;e||(e={}),e[\"Content-Type\"]||(e[\"Content-Type\"]=\"application/json\");var o={status:n,headers:e,body:t};return o=this.responseInterceptors.reduce((function(t,e){return e(t,r)}),o),this.log(r,o),r.respond(o.status,o.headers,JSON.stringify(o.body))}},{key:\"log\",value:function(t,e){this.loggingEnabled&&(console.group?(console.groupCollapsed(t.method,t.url,\"(FakeRest)\"),console.group(\"request\"),console.log(t.method,t.url),console.log(\"headers\",t.requestHeaders),console.log(\"body \",t.requestBody),console.groupEnd(),console.group(\"response\",e.status),console.log(\"headers\",e.headers),console.log(\"body \",e.body),console.groupEnd(),console.groupEnd()):(console.log(\"FakeRest request \",t.method,t.url,\"headers\",t.requestHeaders,\"body\",t.requestBody),console.log(\"FakeRest response\",e.status,\"headers\",e.headers,\"body\",e.body)))}},{key:\"batch\",value:function(t){var e=t.json,r=this.handle.bind(this),n=Object.keys(e).reduce((function(t,n){var o,i={url:e[n],method:\"GET\",params:{},respond:function(t,e,r){o={code:t,headers:Object.keys(e||{}).map((function(t){return{name:t,value:e[t]}})),body:r||{}}}};return r(i),t[n]=o||{code:404,headers:[],body:{}},t}),{});return this.respond(n,{},t,200)}},{key:\"handle\",value:function(t){if(t=this.decode(t),this.batchUrl&&this.batchUrl===t.url&&\"POST\"===t.method)return this.batch(t);var e,r=j(this.getSingleNames());try{for(r.s();!(e=r.n()).done;){var n=e.value;if(t.url.match(new RegExp(\"^\"+this.baseUrl+\"\\\\/(\"+n+\")(\\\\/?.*)?$\"))){if(\"GET\"==t.method)try{var o=this.getOnly(n);return this.respond(o,null,t)}catch(e){return t.respond(404)}if(\"PUT\"==t.method)try{var i=this.updateOnly(n,t.json);return this.respond(i,null,t)}catch(e){return t.respond(404)}if(\"PATCH\"==t.method)try{var u=this.updateOnly(n,t.json);return this.respond(u,null,t)}catch(e){return t.respond(404)}}}}catch(t){r.e(t)}finally{r.f()}var a=t.url.match(new RegExp(\"^\"+this.baseUrl+\"\\\\/([^\\\\/?]+)(\\\\/(\\\\d+))?(\\\\?.*)?$\"));if(a){var c=a[1],s=Object.assign({},this.defaultQuery(c),t.params);if(a[2]){if(!this.getCollection(c))return;var f=a[3];if(\"GET\"==t.method)try{var l=this.getOne(c,f,s);return this.respond(l,null,t)}catch(e){return t.respond(404)}if(\"PUT\"==t.method)try{var p=this.updateOne(c,f,t.json);return this.respond(p,null,t)}catch(e){return t.respond(404)}if(\"PATCH\"==t.method)try{var h=this.updateOne(c,f,t.json);return this.respond(h,null,t)}catch(e){return t.respond(404)}if(\"DELETE\"==t.method)try{var y=this.removeOne(c,f);return this.respond(y,null,t)}catch(e){return t.respond(404)}}else{if(\"GET\"==t.method){if(!this.getCollection(c))return;var d,v,b,g=this.getCount(c,s.filter?{filter:s.filter}:{});if(g>0){d=this.getAll(c,s);var m=s.range?s.range[0]:0,x=s.range?Math.min(d.length-1+m,s.range[1]):d.length-1;v=\"items \".concat(m,\"-\").concat(x,\"/\").concat(g),b=d.length==g?200:206}else d=[],v=\"items */0\",b=200;return this.respond(d,{\"Content-Range\":v},t,b)}if(\"POST\"==t.method){var O=this.addOne(c,t.json),_=this.baseUrl+\"/\"+c+\"/\"+O[this.getCollection(c).identifierName];return this.respond(O,{Location:_},t,201)}}}}},{key:\"getHandler\",value:function(){return this.handle.bind(this)}}])&&_(e.prototype,r),n&&_(e,n),t}();function A(t){return(A=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t})(t)}function S(t,e){var r;if(\"undefined\"==typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(r=function(t,e){if(!t)return;if(\"string\"==typeof t)return E(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===r&&t.constructor&&(r=t.constructor.name);if(\"Map\"===r||\"Set\"===r)return Array.from(t);if(\"Arguments\"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return E(t,e)}(t))||e&&t&&\"number\"==typeof t.length){r&&(t=r);var n=0,o=function(){};return{s:o,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var i,u=!0,a=!1;return{s:function(){r=t[Symbol.iterator]()},n:function(){var t=r.next();return u=t.done,t},e:function(t){a=!0,i=t},f:function(){try{u||null==r.return||r.return()}finally{if(a)throw i}}}}function E(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function k(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}function T(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function C(t,e){return(C=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function P(t){var e=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var r,n=U(t);if(e){var o=U(this).constructor;r=Reflect.construct(n,arguments,o)}else r=n.apply(this,arguments);return I(this,r)}}function I(t,e){return!e||\"object\"!==A(e)&&\"function\"!=typeof e?function(t){if(void 0===t)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return t}(t):e}function U(t){return(U=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}var q=function(t){!function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function\");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&C(t,e)}(i,t);var e,r,n,o=P(i);function i(){return k(this,i),o.apply(this,arguments)}return e=i,(r=[{key:\"decode\",value:function(t,e){var r=this,n=\"string\"==typeof t?new Request(t,e):t;return n.queryString=decodeURIComponent(n.url.slice(n.url.indexOf(\"?\")+1)),n.params=m(n.queryString),n.text().then((function(t){n.requestBody=t;try{n.requestJson=JSON.parse(t)}catch(t){}})).then((function(){return r.requestInterceptors.reduce((function(t,e){return e(t)}),n)}))}},{key:\"respond\",value:function(t,e){return t=this.responseInterceptors.reduce((function(t,r){return r(t,e)}),t),this.log(e,t),t.headers=new Headers(t.headers),t}},{key:\"log\",value:function(t,e){this.loggingEnabled&&(console.group?(console.groupCollapsed(t.method,t.url,\"(FakeRest)\"),console.group(\"request\"),console.log(t.method,t.url),console.log(\"headers\",t.headers),console.log(\"body \",t.requestBody),console.groupEnd(),console.group(\"response\",e.status),console.log(\"headers\",e.headers),console.log(\"body \",e.body),console.groupEnd(),console.groupEnd()):(console.log(\"FakeRest request \",t.method,t.url,\"headers\",t.headers,\"body\",t.requestBody),console.log(\"FakeRest response\",e.status,\"headers\",e.headers,\"body\",e.body)))}},{key:\"batch\",value:function(t){throw new Error(\"not implemented\")}},{key:\"handle\",value:function(t,e){var r=this;return this.decode(t,e).then((function(t){var e={headers:{\"Content-Type\":\"application/json\"},status:200};if(r.batchUrl&&r.batchUrl===t.url&&\"POST\"===t.method)return r.batch(t);var n,o=S(r.getSingleNames());try{for(o.s();!(n=o.n()).done;){var i=n.value;if(t.url.match(new RegExp(\"^\"+r.baseUrl+\"\\\\/(\"+i+\")(\\\\/?.*)?$\"))){if(\"GET\"==t.method){try{e.body=r.getOnly(i)}catch(t){reponse.status=404}return r.respond(e,t)}if(\"PUT\"==t.method){try{e.body=r.updateOnly(i,t.requestJson)}catch(t){reponse.status=404}return r.respond(e,t)}if(\"PATCH\"==t.method){try{e.body=r.updateOnly(i,t.requestJson)}catch(t){reponse.status=404}return r.respond(e,t)}}}}catch(t){o.e(t)}finally{o.f()}var u,a=S(r.getCollectionNames());try{for(a.s();!(u=a.n()).done;){var c=u.value,s=t.url.match(new RegExp(\"^\"+r.baseUrl+\"\\\\/(\"+c+\")(\\\\/(\\\\d+))?(\\\\?.*)?$\"));if(s){var f=Object.assign({},r.defaultQuery(c),t.params);if(s[2]){var l=s[3];if(\"GET\"==t.method){try{e.body=r.getOne(c,l,f)}catch(t){e.status=404}return r.respond(e,t)}if(\"PUT\"==t.method){try{e.body=r.updateOne(c,l,t.requestJson)}catch(t){e.status=404}return r.respond(e,t)}if(\"PATCH\"==t.method){try{e.body=r.updateOne(c,l,t.requestJson)}catch(t){e.status=404}return r.respond(e,t)}if(\"DELETE\"==t.method){try{e.body=r.removeOne(c,l)}catch(t){e.status=404}return r.respond(e,t)}}else{if(\"GET\"==t.method){var p=r.getCount(c,f.filter?{filter:f.filter}:{});if(p>0){var h=r.getAll(c,f),y=f.range?f.range[0]:0,d=f.range?Math.min(h.length-1+y,f.range[1]):h.length-1;e.body=h,e.headers[\"Content-Range\"]=\"items \".concat(y,\"-\").concat(d,\"/\").concat(p),e.status=h.length==p?200:206}else e.body=[],e.headers[\"Content-Range\"]=\"items */0\";return r.respond(e,t)}if(\"POST\"==t.method){var v=r.addOne(c,t.requestJson),b=r.baseUrl+\"/\"+c+\"/\"+v[r.getCollection(c).identifierName];return e.body=v,e.headers.Location=b,e.status=201,r.respond(e,t)}}}}}catch(t){a.e(t)}finally{a.f()}return r.respond(e,t)}))}}])&&T(e.prototype,r),n&&T(e,n),i}(w),R={Server:w,FetchServer:q,Collection:y,Single:v}},8552:function(t,e,r){var n=r(852)(r(5639),\"DataView\");t.exports=n},1989:function(t,e,r){var n=r(1789),o=r(401),i=r(7667),u=r(1327),a=r(1866);function c(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}c.prototype.clear=n,c.prototype.delete=o,c.prototype.get=i,c.prototype.has=u,c.prototype.set=a,t.exports=c},8407:function(t,e,r){var n=r(7040),o=r(4125),i=r(2117),u=r(7518),a=r(4705);function c(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}c.prototype.clear=n,c.prototype.delete=o,c.prototype.get=i,c.prototype.has=u,c.prototype.set=a,t.exports=c},7071:function(t,e,r){var n=r(852)(r(5639),\"Map\");t.exports=n},3369:function(t,e,r){var n=r(4785),o=r(1285),i=r(6e3),u=r(9916),a=r(5265);function c(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}c.prototype.clear=n,c.prototype.delete=o,c.prototype.get=i,c.prototype.has=u,c.prototype.set=a,t.exports=c},3818:function(t,e,r){var n=r(852)(r(5639),\"Promise\");t.exports=n},8525:function(t,e,r){var n=r(852)(r(5639),\"Set\");t.exports=n},8668:function(t,e,r){var n=r(3369),o=r(619),i=r(2385);function u(t){var e=-1,r=null==t?0:t.length;for(this.__data__=new n;++e<r;)this.add(t[e])}u.prototype.add=u.prototype.push=o,u.prototype.has=i,t.exports=u},6384:function(t,e,r){var n=r(8407),o=r(7465),i=r(3779),u=r(7599),a=r(4758),c=r(4309);function s(t){var e=this.__data__=new n(t);this.size=e.size}s.prototype.clear=o,s.prototype.delete=i,s.prototype.get=u,s.prototype.has=a,s.prototype.set=c,t.exports=s},2705:function(t,e,r){var n=r(5639).Symbol;t.exports=n},1149:function(t,e,r){var n=r(5639).Uint8Array;t.exports=n},577:function(t,e,r){var n=r(852)(r(5639),\"WeakMap\");t.exports=n},7412:function(t){t.exports=function(t,e){for(var r=-1,n=null==t?0:t.length;++r<n&&!1!==e(t[r],r,t););return t}},4963:function(t){t.exports=function(t,e){for(var r=-1,n=null==t?0:t.length,o=0,i=[];++r<n;){var u=t[r];e(u,r,t)&&(i[o++]=u)}return i}},4636:function(t,e,r){var n=r(2545),o=r(5694),i=r(1469),u=r(4144),a=r(5776),c=r(6719),s=Object.prototype.hasOwnProperty;t.exports=function(t,e){var r=i(t),f=!r&&o(t),l=!r&&!f&&u(t),p=!r&&!f&&!l&&c(t),h=r||f||l||p,y=h?n(t.length,String):[],d=y.length;for(var v in t)!e&&!s.call(t,v)||h&&(\"length\"==v||l&&(\"offset\"==v||\"parent\"==v)||p&&(\"buffer\"==v||\"byteLength\"==v||\"byteOffset\"==v)||a(v,d))||y.push(v);return y}},9932:function(t){t.exports=function(t,e){for(var r=-1,n=null==t?0:t.length,o=Array(n);++r<n;)o[r]=e(t[r],r,t);return o}},2488:function(t){t.exports=function(t,e){for(var r=-1,n=e.length,o=t.length;++r<n;)t[o+r]=e[r];return t}},2908:function(t){t.exports=function(t,e){for(var r=-1,n=null==t?0:t.length;++r<n;)if(e(t[r],r,t))return!0;return!1}},4865:function(t,e,r){var n=r(9465),o=r(7813),i=Object.prototype.hasOwnProperty;t.exports=function(t,e,r){var u=t[e];i.call(t,e)&&o(u,r)&&(void 0!==r||e in t)||n(t,e,r)}},8470:function(t,e,r){var n=r(7813);t.exports=function(t,e){for(var r=t.length;r--;)if(n(t[r][0],e))return r;return-1}},4037:function(t,e,r){var n=r(8363),o=r(3674);t.exports=function(t,e){return t&&n(e,o(e),t)}},3886:function(t,e,r){var n=r(8363),o=r(1704);t.exports=function(t,e){return t&&n(e,o(e),t)}},9465:function(t,e,r){var n=r(8777);t.exports=function(t,e,r){\"__proto__\"==e&&n?n(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r}},5990:function(t,e,r){var n=r(6384),o=r(7412),i=r(4865),u=r(4037),a=r(3886),c=r(4626),s=r(278),f=r(8805),l=r(1911),p=r(8234),h=r(6904),y=r(4160),d=r(3824),v=r(9148),b=r(8517),g=r(1469),m=r(4144),j=r(6688),x=r(3218),O=r(2928),_=r(3674),w=r(1704),A=\"[object Arguments]\",S=\"[object Function]\",E=\"[object Object]\",k={};k[A]=k[\"[object Array]\"]=k[\"[object ArrayBuffer]\"]=k[\"[object DataView]\"]=k[\"[object Boolean]\"]=k[\"[object Date]\"]=k[\"[object Float32Array]\"]=k[\"[object Float64Array]\"]=k[\"[object Int8Array]\"]=k[\"[object Int16Array]\"]=k[\"[object Int32Array]\"]=k[\"[object Map]\"]=k[\"[object Number]\"]=k[E]=k[\"[object RegExp]\"]=k[\"[object Set]\"]=k[\"[object String]\"]=k[\"[object Symbol]\"]=k[\"[object Uint8Array]\"]=k[\"[object Uint8ClampedArray]\"]=k[\"[object Uint16Array]\"]=k[\"[object Uint32Array]\"]=!0,k[\"[object Error]\"]=k[S]=k[\"[object WeakMap]\"]=!1,t.exports=function t(e,r,T,C,P,I){var U,q=1&r,R=2&r,N=4&r;if(T&&(U=P?T(e,C,P,I):T(e)),void 0!==U)return U;if(!x(e))return e;var z=g(e);if(z){if(U=d(e),!q)return s(e,U)}else{var F=y(e),M=F==S||\"[object GeneratorFunction]\"==F;if(m(e))return c(e,q);if(F==E||F==A||M&&!P){if(U=R||M?{}:b(e),!q)return R?l(e,a(U,e)):f(e,u(U,e))}else{if(!k[F])return P?e:{};U=v(e,F,q)}}I||(I=new n);var $=I.get(e);if($)return $;I.set(e,U),O(e)?e.forEach((function(n){U.add(t(n,r,T,n,e,I))})):j(e)&&e.forEach((function(n,o){U.set(o,t(n,r,T,o,e,I))}));var B=z?void 0:(N?R?h:p:R?w:_)(e);return o(B||e,(function(n,o){B&&(n=e[o=n]),i(U,o,t(n,r,T,o,e,I))})),U}},3118:function(t,e,r){var n=r(3218),o=Object.create,i=function(){function t(){}return function(e){if(!n(e))return{};if(o)return o(e);t.prototype=e;var r=new t;return t.prototype=void 0,r}}();t.exports=i},7786:function(t,e,r){var n=r(1811),o=r(327);t.exports=function(t,e){for(var r=0,i=(e=n(e,t)).length;null!=t&&r<i;)t=t[o(e[r++])];return r&&r==i?t:void 0}},8866:function(t,e,r){var n=r(2488),o=r(1469);t.exports=function(t,e,r){var i=e(t);return o(t)?i:n(i,r(t))}},4239:function(t,e,r){var n=r(2705),o=r(9607),i=r(2333),u=n?n.toStringTag:void 0;t.exports=function(t){return null==t?void 0===t?\"[object Undefined]\":\"[object Null]\":u&&u in Object(t)?o(t):i(t)}},9454:function(t,e,r){var n=r(4239),o=r(7005);t.exports=function(t){return o(t)&&\"[object Arguments]\"==n(t)}},939:function(t,e,r){var n=r(2492),o=r(7005);t.exports=function t(e,r,i,u,a){return e===r||(null==e||null==r||!o(e)&&!o(r)?e!=e&&r!=r:n(e,r,i,u,t,a))}},2492:function(t,e,r){var n=r(6384),o=r(7114),i=r(8351),u=r(6096),a=r(4160),c=r(1469),s=r(4144),f=r(6719),l=\"[object Arguments]\",p=\"[object Array]\",h=\"[object Object]\",y=Object.prototype.hasOwnProperty;t.exports=function(t,e,r,d,v,b){var g=c(t),m=c(e),j=g?p:a(t),x=m?p:a(e),O=(j=j==l?h:j)==h,_=(x=x==l?h:x)==h,w=j==x;if(w&&s(t)){if(!s(e))return!1;g=!0,O=!1}if(w&&!O)return b||(b=new n),g||f(t)?o(t,e,r,d,v,b):i(t,e,j,r,d,v,b);if(!(1&r)){var A=O&&y.call(t,\"__wrapped__\"),S=_&&y.call(e,\"__wrapped__\");if(A||S){var E=A?t.value():t,k=S?e.value():e;return b||(b=new n),v(E,k,r,d,b)}}return!!w&&(b||(b=new n),u(t,e,r,d,v,b))}},5588:function(t,e,r){var n=r(4160),o=r(7005);t.exports=function(t){return o(t)&&\"[object Map]\"==n(t)}},2958:function(t,e,r){var n=r(6384),o=r(939);t.exports=function(t,e,r,i){var u=r.length,a=u,c=!i;if(null==t)return!a;for(t=Object(t);u--;){var s=r[u];if(c&&s[2]?s[1]!==t[s[0]]:!(s[0]in t))return!1}for(;++u<a;){var f=(s=r[u])[0],l=t[f],p=s[1];if(c&&s[2]){if(void 0===l&&!(f in t))return!1}else{var h=new n;if(i)var y=i(l,p,f,t,e,h);if(!(void 0===y?o(p,l,3,i,h):y))return!1}}return!0}},8458:function(t,e,r){var n=r(3560),o=r(5346),i=r(3218),u=r(346),a=/^\\[object .+?Constructor\\]$/,c=Function.prototype,s=Object.prototype,f=c.toString,l=s.hasOwnProperty,p=RegExp(\"^\"+f.call(l).replace(/[\\\\^$.*+?()[\\]{}|]/g,\"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\");t.exports=function(t){return!(!i(t)||o(t))&&(n(t)?p:a).test(u(t))}},9221:function(t,e,r){var n=r(4160),o=r(7005);t.exports=function(t){return o(t)&&\"[object Set]\"==n(t)}},8749:function(t,e,r){var n=r(4239),o=r(1780),i=r(7005),u={};u[\"[object Float32Array]\"]=u[\"[object Float64Array]\"]=u[\"[object Int8Array]\"]=u[\"[object Int16Array]\"]=u[\"[object Int32Array]\"]=u[\"[object Uint8Array]\"]=u[\"[object Uint8ClampedArray]\"]=u[\"[object Uint16Array]\"]=u[\"[object Uint32Array]\"]=!0,u[\"[object Arguments]\"]=u[\"[object Array]\"]=u[\"[object ArrayBuffer]\"]=u[\"[object Boolean]\"]=u[\"[object DataView]\"]=u[\"[object Date]\"]=u[\"[object Error]\"]=u[\"[object Function]\"]=u[\"[object Map]\"]=u[\"[object Number]\"]=u[\"[object Object]\"]=u[\"[object RegExp]\"]=u[\"[object Set]\"]=u[\"[object String]\"]=u[\"[object WeakMap]\"]=!1,t.exports=function(t){return i(t)&&o(t.length)&&!!u[n(t)]}},280:function(t,e,r){var n=r(5726),o=r(6916),i=Object.prototype.hasOwnProperty;t.exports=function(t){if(!n(t))return o(t);var e=[];for(var r in Object(t))i.call(t,r)&&\"constructor\"!=r&&e.push(r);return e}},313:function(t,e,r){var n=r(3218),o=r(5726),i=r(3498),u=Object.prototype.hasOwnProperty;t.exports=function(t){if(!n(t))return i(t);var e=o(t),r=[];for(var a in t)(\"constructor\"!=a||!e&&u.call(t,a))&&r.push(a);return r}},1573:function(t,e,r){var n=r(2958),o=r(1499),i=r(2634);t.exports=function(t){var e=o(t);return 1==e.length&&e[0][2]?i(e[0][0],e[0][1]):function(r){return r===t||n(r,t,e)}}},2545:function(t){t.exports=function(t,e){for(var r=-1,n=Array(t);++r<t;)n[r]=e(r);return n}},531:function(t,e,r){var n=r(2705),o=r(9932),i=r(1469),u=r(3448),a=n?n.prototype:void 0,c=a?a.toString:void 0;t.exports=function t(e){if(\"string\"==typeof e)return e;if(i(e))return o(e,t)+\"\";if(u(e))return c?c.call(e):\"\";var r=e+\"\";return\"0\"==r&&1/e==-Infinity?\"-0\":r}},1717:function(t){t.exports=function(t){return function(e){return t(e)}}},4757:function(t){t.exports=function(t,e){return t.has(e)}},1811:function(t,e,r){var n=r(1469),o=r(5403),i=r(5514),u=r(9833);t.exports=function(t,e){return n(t)?t:o(t,e)?[t]:i(u(t))}},4318:function(t,e,r){var n=r(1149);t.exports=function(t){var e=new t.constructor(t.byteLength);return new n(e).set(new n(t)),e}},4626:function(t,e,r){t=r.nmd(t);var n=r(5639),o=e&&!e.nodeType&&e,i=o&&t&&!t.nodeType&&t,u=i&&i.exports===o?n.Buffer:void 0,a=u?u.allocUnsafe:void 0;t.exports=function(t,e){if(e)return t.slice();var r=t.length,n=a?a(r):new t.constructor(r);return t.copy(n),n}},7157:function(t,e,r){var n=r(4318);t.exports=function(t,e){var r=e?n(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.byteLength)}},3147:function(t){var e=/\\w*$/;t.exports=function(t){var r=new t.constructor(t.source,e.exec(t));return r.lastIndex=t.lastIndex,r}},419:function(t,e,r){var n=r(2705),o=n?n.prototype:void 0,i=o?o.valueOf:void 0;t.exports=function(t){return i?Object(i.call(t)):{}}},7133:function(t,e,r){var n=r(4318);t.exports=function(t,e){var r=e?n(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)}},278:function(t){t.exports=function(t,e){var r=-1,n=t.length;for(e||(e=Array(n));++r<n;)e[r]=t[r];return e}},8363:function(t,e,r){var n=r(4865),o=r(9465);t.exports=function(t,e,r,i){var u=!r;r||(r={});for(var a=-1,c=e.length;++a<c;){var s=e[a],f=i?i(r[s],t[s],s,r,t):void 0;void 0===f&&(f=t[s]),u?o(r,s,f):n(r,s,f)}return r}},8805:function(t,e,r){var n=r(8363),o=r(9551);t.exports=function(t,e){return n(t,o(t),e)}},1911:function(t,e,r){var n=r(8363),o=r(1442);t.exports=function(t,e){return n(t,o(t),e)}},4429:function(t,e,r){var n=r(5639)[\"__core-js_shared__\"];t.exports=n},8777:function(t,e,r){var n=r(852),o=function(){try{var t=n(Object,\"defineProperty\");return t({},\"\",{}),t}catch(t){}}();t.exports=o},7114:function(t,e,r){var n=r(8668),o=r(2908),i=r(4757);t.exports=function(t,e,r,u,a,c){var s=1&r,f=t.length,l=e.length;if(f!=l&&!(s&&l>f))return!1;var p=c.get(t),h=c.get(e);if(p&&h)return p==e&&h==t;var y=-1,d=!0,v=2&r?new n:void 0;for(c.set(t,e),c.set(e,t);++y<f;){var b=t[y],g=e[y];if(u)var m=s?u(g,b,y,e,t,c):u(b,g,y,t,e,c);if(void 0!==m){if(m)continue;d=!1;break}if(v){if(!o(e,(function(t,e){if(!i(v,e)&&(b===t||a(b,t,r,u,c)))return v.push(e)}))){d=!1;break}}else if(b!==g&&!a(b,g,r,u,c)){d=!1;break}}return c.delete(t),c.delete(e),d}},8351:function(t,e,r){var n=r(2705),o=r(1149),i=r(7813),u=r(7114),a=r(8776),c=r(1814),s=n?n.prototype:void 0,f=s?s.valueOf:void 0;t.exports=function(t,e,r,n,s,l,p){switch(r){case\"[object DataView]\":if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case\"[object ArrayBuffer]\":return!(t.byteLength!=e.byteLength||!l(new o(t),new o(e)));case\"[object Boolean]\":case\"[object Date]\":case\"[object Number]\":return i(+t,+e);case\"[object Error]\":return t.name==e.name&&t.message==e.message;case\"[object RegExp]\":case\"[object String]\":return t==e+\"\";case\"[object Map]\":var h=a;case\"[object Set]\":var y=1&n;if(h||(h=c),t.size!=e.size&&!y)return!1;var d=p.get(t);if(d)return d==e;n|=2,p.set(t,e);var v=u(h(t),h(e),n,s,l,p);return p.delete(t),v;case\"[object Symbol]\":if(f)return f.call(t)==f.call(e)}return!1}},6096:function(t,e,r){var n=r(8234),o=Object.prototype.hasOwnProperty;t.exports=function(t,e,r,i,u,a){var c=1&r,s=n(t),f=s.length;if(f!=n(e).length&&!c)return!1;for(var l=f;l--;){var p=s[l];if(!(c?p in e:o.call(e,p)))return!1}var h=a.get(t),y=a.get(e);if(h&&y)return h==e&&y==t;var d=!0;a.set(t,e),a.set(e,t);for(var v=c;++l<f;){var b=t[p=s[l]],g=e[p];if(i)var m=c?i(g,b,p,e,t,a):i(b,g,p,t,e,a);if(!(void 0===m?b===g||u(b,g,r,i,a):m)){d=!1;break}v||(v=\"constructor\"==p)}if(d&&!v){var j=t.constructor,x=e.constructor;j==x||!(\"constructor\"in t)||!(\"constructor\"in e)||\"function\"==typeof j&&j instanceof j&&\"function\"==typeof x&&x instanceof x||(d=!1)}return a.delete(t),a.delete(e),d}},1957:function(t,e,r){var n=\"object\"==typeof r.g&&r.g&&r.g.Object===Object&&r.g;t.exports=n},8234:function(t,e,r){var n=r(8866),o=r(9551),i=r(3674);t.exports=function(t){return n(t,i,o)}},6904:function(t,e,r){var n=r(8866),o=r(1442),i=r(1704);t.exports=function(t){return n(t,i,o)}},5050:function(t,e,r){var n=r(7019);t.exports=function(t,e){var r=t.__data__;return n(e)?r[\"string\"==typeof e?\"string\":\"hash\"]:r.map}},1499:function(t,e,r){var n=r(9162),o=r(3674);t.exports=function(t){for(var e=o(t),r=e.length;r--;){var i=e[r],u=t[i];e[r]=[i,u,n(u)]}return e}},852:function(t,e,r){var n=r(8458),o=r(7801);t.exports=function(t,e){var r=o(t,e);return n(r)?r:void 0}},5924:function(t,e,r){var n=r(5569)(Object.getPrototypeOf,Object);t.exports=n},9607:function(t,e,r){var n=r(2705),o=Object.prototype,i=o.hasOwnProperty,u=o.toString,a=n?n.toStringTag:void 0;t.exports=function(t){var e=i.call(t,a),r=t[a];try{t[a]=void 0;var n=!0}catch(t){}var o=u.call(t);return n&&(e?t[a]=r:delete t[a]),o}},9551:function(t,e,r){var n=r(4963),o=r(479),i=Object.prototype.propertyIsEnumerable,u=Object.getOwnPropertySymbols,a=u?function(t){return null==t?[]:(t=Object(t),n(u(t),(function(e){return i.call(t,e)})))}:o;t.exports=a},1442:function(t,e,r){var n=r(2488),o=r(5924),i=r(9551),u=r(479),a=Object.getOwnPropertySymbols?function(t){for(var e=[];t;)n(e,i(t)),t=o(t);return e}:u;t.exports=a},4160:function(t,e,r){var n=r(8552),o=r(7071),i=r(3818),u=r(8525),a=r(577),c=r(4239),s=r(346),f=\"[object Map]\",l=\"[object Promise]\",p=\"[object Set]\",h=\"[object WeakMap]\",y=\"[object DataView]\",d=s(n),v=s(o),b=s(i),g=s(u),m=s(a),j=c;(n&&j(new n(new ArrayBuffer(1)))!=y||o&&j(new o)!=f||i&&j(i.resolve())!=l||u&&j(new u)!=p||a&&j(new a)!=h)&&(j=function(t){var e=c(t),r=\"[object Object]\"==e?t.constructor:void 0,n=r?s(r):\"\";if(n)switch(n){case d:return y;case v:return f;case b:return l;case g:return p;case m:return h}return e}),t.exports=j},7801:function(t){t.exports=function(t,e){return null==t?void 0:t[e]}},1789:function(t,e,r){var n=r(4536);t.exports=function(){this.__data__=n?n(null):{},this.size=0}},401:function(t){t.exports=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}},7667:function(t,e,r){var n=r(4536),o=Object.prototype.hasOwnProperty;t.exports=function(t){var e=this.__data__;if(n){var r=e[t];return\"__lodash_hash_undefined__\"===r?void 0:r}return o.call(e,t)?e[t]:void 0}},1327:function(t,e,r){var n=r(4536),o=Object.prototype.hasOwnProperty;t.exports=function(t){var e=this.__data__;return n?void 0!==e[t]:o.call(e,t)}},1866:function(t,e,r){var n=r(4536);t.exports=function(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=n&&void 0===e?\"__lodash_hash_undefined__\":e,this}},3824:function(t){var e=Object.prototype.hasOwnProperty;t.exports=function(t){var r=t.length,n=new t.constructor(r);return r&&\"string\"==typeof t[0]&&e.call(t,\"index\")&&(n.index=t.index,n.input=t.input),n}},9148:function(t,e,r){var n=r(4318),o=r(7157),i=r(3147),u=r(419),a=r(7133);t.exports=function(t,e,r){var c=t.constructor;switch(e){case\"[object ArrayBuffer]\":return n(t);case\"[object Boolean]\":case\"[object Date]\":return new c(+t);case\"[object DataView]\":return o(t,r);case\"[object Float32Array]\":case\"[object Float64Array]\":case\"[object Int8Array]\":case\"[object Int16Array]\":case\"[object Int32Array]\":case\"[object Uint8Array]\":case\"[object Uint8ClampedArray]\":case\"[object Uint16Array]\":case\"[object Uint32Array]\":return a(t,r);case\"[object Map]\":return new c;case\"[object Number]\":case\"[object String]\":return new c(t);case\"[object RegExp]\":return i(t);case\"[object Set]\":return new c;case\"[object Symbol]\":return u(t)}}},8517:function(t,e,r){var n=r(3118),o=r(5924),i=r(5726);t.exports=function(t){return\"function\"!=typeof t.constructor||i(t)?{}:n(o(t))}},5776:function(t){var e=/^(?:0|[1-9]\\d*)$/;t.exports=function(t,r){var n=typeof t;return!!(r=null==r?9007199254740991:r)&&(\"number\"==n||\"symbol\"!=n&&e.test(t))&&t>-1&&t%1==0&&t<r}},5403:function(t,e,r){var n=r(1469),o=r(3448),i=/\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,u=/^\\w*$/;t.exports=function(t,e){if(n(t))return!1;var r=typeof t;return!(\"number\"!=r&&\"symbol\"!=r&&\"boolean\"!=r&&null!=t&&!o(t))||(u.test(t)||!i.test(t)||null!=e&&t in Object(e))}},7019:function(t){t.exports=function(t){var e=typeof t;return\"string\"==e||\"number\"==e||\"symbol\"==e||\"boolean\"==e?\"__proto__\"!==t:null===t}},5346:function(t,e,r){var n,o=r(4429),i=(n=/[^.]+$/.exec(o&&o.keys&&o.keys.IE_PROTO||\"\"))?\"Symbol(src)_1.\"+n:\"\";t.exports=function(t){return!!i&&i in t}},5726:function(t){var e=Object.prototype;t.exports=function(t){var r=t&&t.constructor;return t===(\"function\"==typeof r&&r.prototype||e)}},9162:function(t,e,r){var n=r(3218);t.exports=function(t){return t==t&&!n(t)}},7040:function(t){t.exports=function(){this.__data__=[],this.size=0}},4125:function(t,e,r){var n=r(8470),o=Array.prototype.splice;t.exports=function(t){var e=this.__data__,r=n(e,t);return!(r<0)&&(r==e.length-1?e.pop():o.call(e,r,1),--this.size,!0)}},2117:function(t,e,r){var n=r(8470);t.exports=function(t){var e=this.__data__,r=n(e,t);return r<0?void 0:e[r][1]}},7518:function(t,e,r){var n=r(8470);t.exports=function(t){return n(this.__data__,t)>-1}},4705:function(t,e,r){var n=r(8470);t.exports=function(t,e){var r=this.__data__,o=n(r,t);return o<0?(++this.size,r.push([t,e])):r[o][1]=e,this}},4785:function(t,e,r){var n=r(1989),o=r(8407),i=r(7071);t.exports=function(){this.size=0,this.__data__={hash:new n,map:new(i||o),string:new n}}},1285:function(t,e,r){var n=r(5050);t.exports=function(t){var e=n(this,t).delete(t);return this.size-=e?1:0,e}},6e3:function(t,e,r){var n=r(5050);t.exports=function(t){return n(this,t).get(t)}},9916:function(t,e,r){var n=r(5050);t.exports=function(t){return n(this,t).has(t)}},5265:function(t,e,r){var n=r(5050);t.exports=function(t,e){var r=n(this,t),o=r.size;return r.set(t,e),this.size+=r.size==o?0:1,this}},8776:function(t){t.exports=function(t){var e=-1,r=Array(t.size);return t.forEach((function(t,n){r[++e]=[n,t]})),r}},2634:function(t){t.exports=function(t,e){return function(r){return null!=r&&(r[t]===e&&(void 0!==e||t in Object(r)))}}},4523:function(t,e,r){var n=r(8306);t.exports=function(t){var e=n(t,(function(t){return 500===r.size&&r.clear(),t})),r=e.cache;return e}},4536:function(t,e,r){var n=r(852)(Object,\"create\");t.exports=n},6916:function(t,e,r){var n=r(5569)(Object.keys,Object);t.exports=n},3498:function(t){t.exports=function(t){var e=[];if(null!=t)for(var r in Object(t))e.push(r);return e}},1167:function(t,e,r){t=r.nmd(t);var n=r(1957),o=e&&!e.nodeType&&e,i=o&&t&&!t.nodeType&&t,u=i&&i.exports===o&&n.process,a=function(){try{var t=i&&i.require&&i.require(\"util\").types;return t||u&&u.binding&&u.binding(\"util\")}catch(t){}}();t.exports=a},2333:function(t){var e=Object.prototype.toString;t.exports=function(t){return e.call(t)}},5569:function(t){t.exports=function(t,e){return function(r){return t(e(r))}}},5639:function(t,e,r){var n=r(1957),o=\"object\"==typeof self&&self&&self.Object===Object&&self,i=n||o||Function(\"return this\")();t.exports=i},619:function(t){t.exports=function(t){return this.__data__.set(t,\"__lodash_hash_undefined__\"),this}},2385:function(t){t.exports=function(t){return this.__data__.has(t)}},1814:function(t){t.exports=function(t){var e=-1,r=Array(t.size);return t.forEach((function(t){r[++e]=t})),r}},7465:function(t,e,r){var n=r(8407);t.exports=function(){this.__data__=new n,this.size=0}},3779:function(t){t.exports=function(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r}},7599:function(t){t.exports=function(t){return this.__data__.get(t)}},4758:function(t){t.exports=function(t){return this.__data__.has(t)}},4309:function(t,e,r){var n=r(8407),o=r(7071),i=r(3369);t.exports=function(t,e){var r=this.__data__;if(r instanceof n){var u=r.__data__;if(!o||u.length<199)return u.push([t,e]),this.size=++r.size,this;r=this.__data__=new i(u)}return r.set(t,e),this.size=r.size,this}},5514:function(t,e,r){var n=r(4523),o=/[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g,i=/\\\\(\\\\)?/g,u=n((function(t){var e=[];return 46===t.charCodeAt(0)&&e.push(\"\"),t.replace(o,(function(t,r,n,o){e.push(n?o.replace(i,\"$1\"):r||t)})),e}));t.exports=u},327:function(t,e,r){var n=r(3448);t.exports=function(t){if(\"string\"==typeof t||n(t))return t;var e=t+\"\";return\"0\"==e&&1/t==-Infinity?\"-0\":e}},346:function(t){var e=Function.prototype.toString;t.exports=function(t){if(null!=t){try{return e.call(t)}catch(t){}try{return t+\"\"}catch(t){}}return\"\"}},7813:function(t){t.exports=function(t,e){return t===e||t!=t&&e!=e}},7361:function(t,e,r){var n=r(7786);t.exports=function(t,e,r){var o=null==t?void 0:n(t,e);return void 0===o?r:o}},5694:function(t,e,r){var n=r(9454),o=r(7005),i=Object.prototype,u=i.hasOwnProperty,a=i.propertyIsEnumerable,c=n(function(){return arguments}())?n:function(t){return o(t)&&u.call(t,\"callee\")&&!a.call(t,\"callee\")};t.exports=c},1469:function(t){var e=Array.isArray;t.exports=e},8612:function(t,e,r){var n=r(3560),o=r(1780);t.exports=function(t){return null!=t&&o(t.length)&&!n(t)}},4144:function(t,e,r){t=r.nmd(t);var n=r(5639),o=r(5062),i=e&&!e.nodeType&&e,u=i&&t&&!t.nodeType&&t,a=u&&u.exports===i?n.Buffer:void 0,c=(a?a.isBuffer:void 0)||o;t.exports=c},3560:function(t,e,r){var n=r(4239),o=r(3218);t.exports=function(t){if(!o(t))return!1;var e=n(t);return\"[object Function]\"==e||\"[object GeneratorFunction]\"==e||\"[object AsyncFunction]\"==e||\"[object Proxy]\"==e}},1780:function(t){t.exports=function(t){return\"number\"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991}},6688:function(t,e,r){var n=r(5588),o=r(1717),i=r(1167),u=i&&i.isMap,a=u?o(u):n;t.exports=a},3218:function(t){t.exports=function(t){var e=typeof t;return null!=t&&(\"object\"==e||\"function\"==e)}},7005:function(t){t.exports=function(t){return null!=t&&\"object\"==typeof t}},2928:function(t,e,r){var n=r(9221),o=r(1717),i=r(1167),u=i&&i.isSet,a=u?o(u):n;t.exports=a},3448:function(t,e,r){var n=r(4239),o=r(7005);t.exports=function(t){return\"symbol\"==typeof t||o(t)&&\"[object Symbol]\"==n(t)}},6719:function(t,e,r){var n=r(8749),o=r(1717),i=r(1167),u=i&&i.isTypedArray,a=u?o(u):n;t.exports=a},3674:function(t,e,r){var n=r(4636),o=r(280),i=r(8612);t.exports=function(t){return i(t)?n(t):o(t)}},1704:function(t,e,r){var n=r(4636),o=r(313),i=r(8612);t.exports=function(t){return i(t)?n(t,!0):o(t)}},6410:function(t,e,r){var n=r(5990),o=r(1573);t.exports=function(t){return o(n(t,1))}},8306:function(t,e,r){var n=r(3369);function o(t,e){if(\"function\"!=typeof t||null!=e&&\"function\"!=typeof e)throw new TypeError(\"Expected a function\");var r=function(){var n=arguments,o=e?e.apply(this,n):n[0],i=r.cache;if(i.has(o))return i.get(o);var u=t.apply(this,n);return r.cache=i.set(o,u)||i,u};return r.cache=new(o.Cache||n),r}o.Cache=n,t.exports=o},479:function(t){t.exports=function(){return[]}},5062:function(t){t.exports=function(){return!1}},9833:function(t,e,r){var n=r(531);t.exports=function(t){return null==t?\"\":n(t)}}},e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={id:n,loaded:!1,exports:{}};return t[n](o,o.exports,r),o.loaded=!0,o.exports}return r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,{a:e}),e},r.d=function(t,e){for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.g=function(){if(\"object\"==typeof globalThis)return globalThis;try{return this||new Function(\"return this\")()}catch(t){if(\"object\"==typeof window)return window}}(),r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},r.nmd=function(t){return t.paths=[],t.children||(t.children=[]),t},r(6499)}()}));\n//# sourceMappingURL=FakeRest.min.js.map","import FakeRest from 'fakerest';\nimport { DataProvider } from 'ra-core';\n\n/* eslint-disable no-console */\nfunction log(type, resource, params, response) {\n if (console.group) {\n // Better logging in Chrome\n console.groupCollapsed(type, resource, JSON.stringify(params));\n console.log(response);\n console.groupEnd();\n } else {\n console.log('FakeRest request ', type, resource, params);\n console.log('FakeRest response', response);\n }\n}\n\n/**\n * Respond to react-admin data queries using a local JavaScript object\n *\n * Useful for debugging and testing - do not use in production.\n *\n * @example\n *\n * import fakeDataProvider from 'ra-data-fakerest';\n * const dataProvider = fakeDataProvider({\n * posts: [\n * { id: 0, title: 'Hello, world!' },\n * { id: 1, title: 'FooBar' },\n * ],\n * comments: [\n * { id: 0, post_id: 0, author: 'John Doe', body: 'Sensational!' },\n * { id: 1, post_id: 0, author: 'Jane Doe', body: 'I agree' },\n * ],\n * })\n */\nexport default (data, loggingEnabled = false): DataProvider => {\n const restServer = new FakeRest.Server();\n restServer.init(data);\n if (typeof window !== 'undefined') {\n // give way to update data in the console\n (window as any).restServer = restServer;\n }\n\n function getResponse(type, resource, params) {\n switch (type) {\n case 'getList': {\n const { page, perPage } = params.pagination;\n const { field, order } = params.sort;\n const query = {\n sort: [field, order],\n range: [(page - 1) * perPage, page * perPage - 1],\n filter: params.filter,\n };\n return {\n data: restServer.getAll(resource, query),\n total: restServer.getCount(resource, {\n filter: params.filter,\n }),\n };\n }\n case 'getOne':\n return {\n data: restServer.getOne(resource, params.id, { ...params }),\n };\n case 'getMany':\n return {\n data: params.ids.map(\n id => restServer.getOne(resource, id),\n { ...params }\n ),\n };\n case 'getManyReference': {\n const { page, perPage } = params.pagination;\n const { field, order } = params.sort;\n const query = {\n sort: [field, order],\n range: [(page - 1) * perPage, page * perPage - 1],\n filter: { ...params.filter, [params.target]: params.id },\n };\n return {\n data: restServer.getAll(resource, query),\n total: restServer.getCount(resource, {\n filter: query.filter,\n }),\n };\n }\n case 'update':\n return {\n data: restServer.updateOne(resource, params.id, {\n ...params.data,\n }),\n };\n case 'updateMany':\n params.ids.forEach(id =>\n restServer.updateOne(resource, id, {\n ...params.data,\n })\n );\n return { data: params.ids };\n case 'create':\n return {\n data: restServer.addOne(resource, { ...params.data }),\n };\n case 'delete':\n return { data: restServer.removeOne(resource, params.id) };\n case 'deleteMany':\n params.ids.forEach(id => restServer.removeOne(resource, id));\n return { data: params.ids };\n default:\n return false;\n }\n }\n\n /**\n * @param {String} type One of the data Provider methods, e.g. 'getList'\n * @param {String} resource Name of the resource to fetch, e.g. 'posts'\n * @param {Object} params The data request params, depending on the type\n * @returns {Promise} The response\n */\n const handle = (type, resource, params): Promise<any> => {\n const collection = restServer.getCollection(resource);\n if (!collection && type !== 'create') {\n const error = new UndefinedResourceError(\n `Undefined collection \"${resource}\"`\n );\n error.code = 1; // make that error detectable\n return Promise.reject(error);\n }\n let response;\n try {\n response = getResponse(type, resource, params);\n } catch (error) {\n console.error(error);\n return Promise.reject(error);\n }\n if (loggingEnabled) {\n const { signal, ...paramsWithoutSignal } = params;\n log(type, resource, paramsWithoutSignal, response);\n }\n return Promise.resolve(response);\n };\n\n return {\n getList: (resource, params) => handle('getList', resource, params),\n getOne: (resource, params) => handle('getOne', resource, params),\n getMany: (resource, params) => handle('getMany', resource, params),\n getManyReference: (resource, params) =>\n handle('getManyReference', resource, params),\n update: (resource, params) => handle('update', resource, params),\n updateMany: (resource, params) =>\n handle('updateMany', resource, params),\n create: (resource, params) => handle('create', resource, params),\n delete: (resource, params) => handle('delete', resource, params),\n deleteMany: (resource, params) =>\n handle('deleteMany', resource, params),\n };\n};\n\nclass UndefinedResourceError extends Error {\n code: number;\n}\n","/*\n fake.js - generator method for combining faker methods based on string input\n\n*/\n\nfunction Fake (faker) {\n \n /**\n * Generator method for combining faker methods based on string input\n *\n * __Example:__\n *\n * ```\n * console.log(faker.fake('{{name.lastName}}, {{name.firstName}} {{name.suffix}}'));\n * //outputs: \"Marks, Dean Sr.\"\n * ```\n *\n * This will interpolate the format string with the value of methods\n * [name.lastName]{@link faker.name.lastName}, [name.firstName]{@link faker.name.firstName},\n * and [name.suffix]{@link faker.name.suffix}\n *\n * @method faker.fake\n * @param {string} str\n */\n this.fake = function fake (str) {\n // setup default response as empty string\n var res = '';\n\n // if incoming str parameter is not provided, return error message\n if (typeof str !== 'string' || str.length === 0) {\n throw new Error('string parameter is required!');\n }\n\n // find first matching {{ and }}\n var start = str.search('{{');\n var end = str.search('}}');\n\n // if no {{ and }} is found, we are done\n if (start === -1 && end === -1) {\n return str;\n }\n\n // console.log('attempting to parse', str);\n\n // extract method name from between the {{ }} that we found\n // for example: {{name.firstName}}\n var token = str.substr(start + 2, end - start - 2);\n var method = token.replace('}}', '').replace('{{', '');\n\n // console.log('method', method)\n\n // extract method parameters\n var regExp = /\\(([^)]+)\\)/;\n var matches = regExp.exec(method);\n var parameters = '';\n if (matches) {\n method = method.replace(regExp, '');\n parameters = matches[1];\n }\n\n // split the method into module and function\n var parts = method.split('.');\n\n if (typeof faker[parts[0]] === \"undefined\") {\n throw new Error('Invalid module: ' + parts[0]);\n }\n\n if (typeof faker[parts[0]][parts[1]] === \"undefined\") {\n throw new Error('Invalid method: ' + parts[0] + \".\" + parts[1]);\n }\n\n // assign the function from the module.function namespace\n var fn = faker[parts[0]][parts[1]];\n\n // If parameters are populated here, they are always going to be of string type\n // since we might actually be dealing with an object or array,\n // we always attempt to the parse the incoming parameters into JSON\n var params;\n // Note: we experience a small performance hit here due to JSON.parse try / catch\n // If anyone actually needs to optimize this specific code path, please open a support issue on github\n try {\n params = JSON.parse(parameters)\n } catch (err) {\n // since JSON.parse threw an error, assume parameters was actually a string\n params = parameters;\n }\n\n var result;\n if (typeof params === \"string\" && params.length === 0) {\n result = fn.call(this);\n } else {\n result = fn.call(this, params);\n }\n\n // replace the found tag with the returned fake value\n res = str.replace('{{' + token + '}}', result);\n\n // return the response recursively until we are done finding all tags\n return fake(res); \n }\n \n return this;\n \n \n}\n\nmodule['exports'] = Fake;","// the `unique` module\nvar unique = {};\n\n// global results store\n// currently uniqueness is global to entire faker instance\n// this means that faker should currently *never* return duplicate values across all API methods when using `Faker.unique`\n// it's possible in the future that some users may want to scope found per function call instead of faker instance\nvar found = {};\n\n// global exclude list of results\n// defaults to nothing excluded\nvar exclude = [];\n\n// current iteration or retries of unique.exec ( current loop depth )\nvar currentIterations = 0;\n\n// uniqueness compare function\n// default behavior is to check value as key against object hash\nvar defaultCompare = function(obj, key) {\n if (typeof obj[key] === 'undefined') {\n return -1;\n }\n return 0;\n};\n\n// common error handler for messages\nunique.errorMessage = function (now, code, opts) {\n console.error('error', code);\n console.log('found', Object.keys(found).length, 'unique entries before throwing error. \\nretried:', currentIterations, '\\ntotal time:', now - opts.startTime, 'ms');\n throw new Error(code + ' for uniqueness check \\n\\nMay not be able to generate any more unique values with current settings. \\nTry adjusting maxTime or maxRetries parameters for faker.unique()')\n};\n\nunique.exec = function (method, args, opts) {\n //console.log(currentIterations)\n\n var now = new Date().getTime();\n\n opts = opts || {};\n opts.maxTime = opts.maxTime || 3;\n opts.maxRetries = opts.maxRetries || 50;\n opts.exclude = opts.exclude || exclude;\n opts.compare = opts.compare || defaultCompare;\n\n if (typeof opts.currentIterations !== 'number') {\n opts.currentIterations = 0;\n }\n\n if (typeof opts.startTime === 'undefined') {\n opts.startTime = new Date().getTime();\n }\n\n var startTime = opts.startTime;\n\n // support single exclude argument as string\n if (typeof opts.exclude === 'string') {\n opts.exclude = [opts.exclude];\n }\n\n if (opts.currentIterations > 0) {\n // console.log('iterating', currentIterations)\n }\n\n // console.log(now - startTime)\n if (now - startTime >= opts.maxTime) {\n return unique.errorMessage(now, 'Exceeded maxTime:' + opts.maxTime, opts);\n }\n\n if (opts.currentIterations >= opts.maxRetries) {\n return unique.errorMessage(now, 'Exceeded maxRetries:' + opts.maxRetries, opts);\n }\n\n // execute the provided method to find a potential satifised value\n var result = method.apply(this, args);\n\n // if the result has not been previously found, add it to the found array and return the value as it's unique\n if (opts.compare(found, result) === -1 && opts.exclude.indexOf(result) === -1) {\n found[result] = result;\n opts.currentIterations = 0;\n return result;\n } else {\n // console.log('conflict', result);\n opts.currentIterations++;\n return unique.exec(method, args, opts);\n }\n};\n\nmodule.exports = unique;\n","var uniqueExec = require('../vendor/unique');\n/**\n *\n * @namespace faker.unique\n */\nfunction Unique (faker) {\n\n // initialize unique module class variables\n\n // maximum time unique.exec will attempt to run before aborting\n var maxTime = 10;\n\n // maximum retries unique.exec will recurse before abortings ( max loop depth )\n var maxRetries = 10;\n\n // time the script started\n // var startTime = 0;\n\n /**\n * unique\n *\n * @method unique\n */\n this.unique = function unique (method, args, opts) {\n opts = opts || {};\n opts.startTime = new Date().getTime();\n if (typeof opts.maxTime !== 'number') {\n opts.maxTime = maxTime;\n }\n if (typeof opts.maxRetries !== 'number') {\n opts.maxRetries = maxRetries;\n }\n opts.currentIterations = 0;\n return uniqueExec.exec(method, args, opts);\n }\n}\n\nmodule['exports'] = Unique;","// this program is a JavaScript version of Mersenne Twister, with concealment and encapsulation in class,\n// an almost straight conversion from the original program, mt19937ar.c,\n// translated by y. okada on July 17, 2006.\n// and modified a little at july 20, 2006, but there are not any substantial differences.\n// in this program, procedure descriptions and comments of original source code were not removed.\n// lines commented with //c// were originally descriptions of c procedure. and a few following lines are appropriate JavaScript descriptions.\n// lines commented with /* and */ are original comments.\n// lines commented with // are additional comments in this JavaScript version.\n// before using this version, create at least one instance of MersenneTwister19937 class, and initialize the each state, given below in c comments, of all the instances.\n/*\n A C-program for MT19937, with initialization improved 2002/1/26.\n Coded by Takuji Nishimura and Makoto Matsumoto.\n\n Before using, initialize the state by using init_genrand(seed)\n or init_by_array(init_key, key_length).\n\n Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura,\n All rights reserved.\n\n Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions\n are met:\n\n 1. Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n\n 2. Redistributions in binary form must reproduce the above copyright\n notice, this list of conditions and the following disclaimer in the\n documentation and/or other materials provided with the distribution.\n\n 3. The names of its contributors may not be used to endorse or promote\n products derived from this software without specific prior written\n permission.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR\n CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\n PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\n PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\n LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n\n Any feedback is very welcome.\n http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/emt.html\n email: m-mat @ math.sci.hiroshima-u.ac.jp (remove space)\n*/\n\nfunction MersenneTwister19937()\n{\n\t/* constants should be scoped inside the class */\n\tvar N, M, MATRIX_A, UPPER_MASK, LOWER_MASK;\n\t/* Period parameters */\n\t//c//#define N 624\n\t//c//#define M 397\n\t//c//#define MATRIX_A 0x9908b0dfUL /* constant vector a */\n\t//c//#define UPPER_MASK 0x80000000UL /* most significant w-r bits */\n\t//c//#define LOWER_MASK 0x7fffffffUL /* least significant r bits */\n\tN = 624;\n\tM = 397;\n\tMATRIX_A = 0x9908b0df; /* constant vector a */\n\tUPPER_MASK = 0x80000000; /* most significant w-r bits */\n\tLOWER_MASK = 0x7fffffff; /* least significant r bits */\n\t//c//static unsigned long mt[N]; /* the array for the state vector */\n\t//c//static int mti=N+1; /* mti==N+1 means mt[N] is not initialized */\n\tvar mt = new Array(N); /* the array for the state vector */\n\tvar mti = N+1; /* mti==N+1 means mt[N] is not initialized */\n\n\tfunction unsigned32 (n1) // returns a 32-bits unsiged integer from an operand to which applied a bit operator.\n\t{\n\t\treturn n1 < 0 ? (n1 ^ UPPER_MASK) + UPPER_MASK : n1;\n\t}\n\n\tfunction subtraction32 (n1, n2) // emulates lowerflow of a c 32-bits unsiged integer variable, instead of the operator -. these both arguments must be non-negative integers expressible using unsigned 32 bits.\n\t{\n\t\treturn n1 < n2 ? unsigned32((0x100000000 - (n2 - n1)) & 0xffffffff) : n1 - n2;\n\t}\n\n\tfunction addition32 (n1, n2) // emulates overflow of a c 32-bits unsiged integer variable, instead of the operator +. these both arguments must be non-negative integers expressible using unsigned 32 bits.\n\t{\n\t\treturn unsigned32((n1 + n2) & 0xffffffff)\n\t}\n\n\tfunction multiplication32 (n1, n2) // emulates overflow of a c 32-bits unsiged integer variable, instead of the operator *. these both arguments must be non-negative integers expressible using unsigned 32 bits.\n\t{\n\t\tvar sum = 0;\n\t\tfor (var i = 0; i < 32; ++i){\n\t\t\tif ((n1 >>> i) & 0x1){\n\t\t\t\tsum = addition32(sum, unsigned32(n2 << i));\n\t\t\t}\n\t\t}\n\t\treturn sum;\n\t}\n\n\t/* initializes mt[N] with a seed */\n\t//c//void init_genrand(unsigned long s)\n\tthis.init_genrand = function (s)\n\t{\n\t\t//c//mt[0]= s & 0xffffffff;\n\t\tmt[0]= unsigned32(s & 0xffffffff);\n\t\tfor (mti=1; mti<N; mti++) {\n\t\t\tmt[mti] =\n\t\t\t//c//(1812433253 * (mt[mti-1] ^ (mt[mti-1] >> 30)) + mti);\n\t\t\taddition32(multiplication32(1812433253, unsigned32(mt[mti-1] ^ (mt[mti-1] >>> 30))), mti);\n\t\t\t/* See Knuth TAOCP Vol2. 3rd Ed. P.106 for multiplier. */\n\t\t\t/* In the previous versions, MSBs of the seed affect */\n\t\t\t/* only MSBs of the array mt[]. */\n\t\t\t/* 2002/01/09 modified by Makoto Matsumoto */\n\t\t\t//c//mt[mti] &= 0xffffffff;\n\t\t\tmt[mti] = unsigned32(mt[mti] & 0xffffffff);\n\t\t\t/* for >32 bit machines */\n\t\t}\n\t}\n\n\t/* initialize by an array with array-length */\n\t/* init_key is the array for initializing keys */\n\t/* key_length is its length */\n\t/* slight change for C++, 2004/2/26 */\n\t//c//void init_by_array(unsigned long init_key[], int key_length)\n\tthis.init_by_array = function (init_key, key_length)\n\t{\n\t\t//c//int i, j, k;\n\t\tvar i, j, k;\n\t\t//c//init_genrand(19650218);\n\t\tthis.init_genrand(19650218);\n\t\ti=1; j=0;\n\t\tk = (N>key_length ? N : key_length);\n\t\tfor (; k; k--) {\n\t\t\t//c//mt[i] = (mt[i] ^ ((mt[i-1] ^ (mt[i-1] >> 30)) * 1664525))\n\t\t\t//c//\t+ init_key[j] + j; /* non linear */\n\t\t\tmt[i] = addition32(addition32(unsigned32(mt[i] ^ multiplication32(unsigned32(mt[i-1] ^ (mt[i-1] >>> 30)), 1664525)), init_key[j]), j);\n\t\t\tmt[i] =\n\t\t\t//c//mt[i] &= 0xffffffff; /* for WORDSIZE > 32 machines */\n\t\t\tunsigned32(mt[i] & 0xffffffff);\n\t\t\ti++; j++;\n\t\t\tif (i>=N) { mt[0] = mt[N-1]; i=1; }\n\t\t\tif (j>=key_length) j=0;\n\t\t}\n\t\tfor (k=N-1; k; k--) {\n\t\t\t//c//mt[i] = (mt[i] ^ ((mt[i-1] ^ (mt[i-1] >> 30)) * 1566083941))\n\t\t\t//c//- i; /* non linear */\n\t\t\tmt[i] = subtraction32(unsigned32((dbg=mt[i]) ^ multiplication32(unsigned32(mt[i-1] ^ (mt[i-1] >>> 30)), 1566083941)), i);\n\t\t\t//c//mt[i] &= 0xffffffff; /* for WORDSIZE > 32 machines */\n\t\t\tmt[i] = unsigned32(mt[i] & 0xffffffff);\n\t\t\ti++;\n\t\t\tif (i>=N) { mt[0] = mt[N-1]; i=1; }\n\t\t}\n\t\tmt[0] = 0x80000000; /* MSB is 1; assuring non-zero initial array */\n\t}\n\n /* moved outside of genrand_int32() by jwatte 2010-11-17; generate less garbage */\n var mag01 = [0x0, MATRIX_A];\n\n\t/* generates a random number on [0,0xffffffff]-interval */\n\t//c//unsigned long genrand_int32(void)\n\tthis.genrand_int32 = function ()\n\t{\n\t\t//c//unsigned long y;\n\t\t//c//static unsigned long mag01[2]={0x0UL, MATRIX_A};\n\t\tvar y;\n\t\t/* mag01[x] = x * MATRIX_A for x=0,1 */\n\n\t\tif (mti >= N) { /* generate N words at one time */\n\t\t\t//c//int kk;\n\t\t\tvar kk;\n\n\t\t\tif (mti == N+1) /* if init_genrand() has not been called, */\n\t\t\t\t//c//init_genrand(5489); /* a default initial seed is used */\n\t\t\t\tthis.init_genrand(5489); /* a default initial seed is used */\n\n\t\t\tfor (kk=0;kk<N-M;kk++) {\n\t\t\t\t//c//y = (mt[kk]&UPPER_MASK)|(mt[kk+1]&LOWER_MASK);\n\t\t\t\t//c//mt[kk] = mt[kk+M] ^ (y >> 1) ^ mag01[y & 0x1];\n\t\t\t\ty = unsigned32((mt[kk]&UPPER_MASK)|(mt[kk+1]&LOWER_MASK));\n\t\t\t\tmt[kk] = unsigned32(mt[kk+M] ^ (y >>> 1) ^ mag01[y & 0x1]);\n\t\t\t}\n\t\t\tfor (;kk<N-1;kk++) {\n\t\t\t\t//c//y = (mt[kk]&UPPER_MASK)|(mt[kk+1]&LOWER_MASK);\n\t\t\t\t//c//mt[kk] = mt[kk+(M-N)] ^ (y >> 1) ^ mag01[y & 0x1];\n\t\t\t\ty = unsigned32((mt[kk]&UPPER_MASK)|(mt[kk+1]&LOWER_MASK));\n\t\t\t\tmt[kk] = unsigned32(mt[kk+(M-N)] ^ (y >>> 1) ^ mag01[y & 0x1]);\n\t\t\t}\n\t\t\t//c//y = (mt[N-1]&UPPER_MASK)|(mt[0]&LOWER_MASK);\n\t\t\t//c//mt[N-1] = mt[M-1] ^ (y >> 1) ^ mag01[y & 0x1];\n\t\t\ty = unsigned32((mt[N-1]&UPPER_MASK)|(mt[0]&LOWER_MASK));\n\t\t\tmt[N-1] = unsigned32(mt[M-1] ^ (y >>> 1) ^ mag01[y & 0x1]);\n\t\t\tmti = 0;\n\t\t}\n\n\t\ty = mt[mti++];\n\n\t\t/* Tempering */\n\t\t//c//y ^= (y >> 11);\n\t\t//c//y ^= (y << 7) & 0x9d2c5680;\n\t\t//c//y ^= (y << 15) & 0xefc60000;\n\t\t//c//y ^= (y >> 18);\n\t\ty = unsigned32(y ^ (y >>> 11));\n\t\ty = unsigned32(y ^ ((y << 7) & 0x9d2c5680));\n\t\ty = unsigned32(y ^ ((y << 15) & 0xefc60000));\n\t\ty = unsigned32(y ^ (y >>> 18));\n\n\t\treturn y;\n\t}\n\n\t/* generates a random number on [0,0x7fffffff]-interval */\n\t//c//long genrand_int31(void)\n\tthis.genrand_int31 = function ()\n\t{\n\t\t//c//return (genrand_int32()>>1);\n\t\treturn (this.genrand_int32()>>>1);\n\t}\n\n\t/* generates a random number on [0,1]-real-interval */\n\t//c//double genrand_real1(void)\n\tthis.genrand_real1 = function ()\n\t{\n\t\t//c//return genrand_int32()*(1.0/4294967295.0);\n\t\treturn this.genrand_int32()*(1.0/4294967295.0);\n\t\t/* divided by 2^32-1 */\n\t}\n\n\t/* generates a random number on [0,1)-real-interval */\n\t//c//double genrand_real2(void)\n\tthis.genrand_real2 = function ()\n\t{\n\t\t//c//return genrand_int32()*(1.0/4294967296.0);\n\t\treturn this.genrand_int32()*(1.0/4294967296.0);\n\t\t/* divided by 2^32 */\n\t}\n\n\t/* generates a random number on (0,1)-real-interval */\n\t//c//double genrand_real3(void)\n\tthis.genrand_real3 = function ()\n\t{\n\t\t//c//return ((genrand_int32()) + 0.5)*(1.0/4294967296.0);\n\t\treturn ((this.genrand_int32()) + 0.5)*(1.0/4294967296.0);\n\t\t/* divided by 2^32 */\n\t}\n\n\t/* generates a random number on [0,1) with 53-bit resolution*/\n\t//c//double genrand_res53(void)\n\tthis.genrand_res53 = function ()\n\t{\n\t\t//c//unsigned long a=genrand_int32()>>5, b=genrand_int32()>>6;\n\t\tvar a=this.genrand_int32()>>>5, b=this.genrand_int32()>>>6;\n\t\treturn(a*67108864.0+b)*(1.0/9007199254740992.0);\n\t}\n\t/* These real versions are due to Isaku Wada, 2002/01/09 added */\n}\n\n// Exports: Public API\n\n// Export the twister class\nexports.MersenneTwister19937 = MersenneTwister19937;\n\n// Export a simplified function to generate random numbers\nvar gen = new MersenneTwister19937;\ngen.init_genrand((new Date).getTime() % 1000000000);\n\n// Added max, min range functionality, Marak Squires Sept 11 2014\nexports.rand = function(max, min) {\n if (max === undefined)\n {\n min = 0;\n max = 32768;\n }\n return Math.floor(gen.genrand_real2() * (max - min) + min);\n}\nexports.seed = function(S) {\n if (typeof(S) != 'number')\n {\n throw new Error(\"seed(S) must take numeric argument; is \" + typeof(S));\n }\n gen.init_genrand(S);\n}\nexports.seed_array = function(A) {\n if (typeof(A) != 'object')\n {\n throw new Error(\"seed_array(A) must take array of numbers; is \" + typeof(A));\n }\n gen.init_by_array(A, A.length);\n}","var mersenne = require('../vendor/mersenne');\n\n/**\n *\n * @namespace faker.random\n */\nfunction Random (faker, seed) {\n // Use a user provided seed if it is an array or number\n if (Array.isArray(seed) && seed.length) {\n mersenne.seed_array(seed);\n }\n else if(!isNaN(seed)) {\n mersenne.seed(seed);\n }\n\n /**\n * returns a single random number based on a max number or range\n *\n * @method faker.random.number\n * @param {mixed} options {min, max, precision}\n */\n this.number = function (options) {\n\n if (typeof options === \"number\") {\n options = {\n max: options\n };\n }\n\n options = options || {};\n\n if (typeof options.min === \"undefined\") {\n options.min = 0;\n }\n\n if (typeof options.max === \"undefined\") {\n options.max = 99999;\n }\n if (typeof options.precision === \"undefined\") {\n options.precision = 1;\n }\n\n // Make the range inclusive of the max value\n var max = options.max;\n if (max >= 0) {\n max += options.precision;\n }\n\n var randomNumber = Math.floor(\n mersenne.rand(max / options.precision, options.min / options.precision));\n // Workaround problem in Float point arithmetics for e.g. 6681493 / 0.01\n randomNumber = randomNumber / (1 / options.precision);\n\n return randomNumber;\n\n }\n\n /**\n * returns a single random floating-point number based on a max number or range\n *\n * @method faker.random.float\n * @param {mixed} options\n */\n this.float = function (options) {\n if (typeof options === \"number\") {\n options = {\n precision: options\n };\n }\n options = options || {};\n var opts = {};\n for (var p in options) {\n opts[p] = options[p];\n }\n if (typeof opts.precision === 'undefined') {\n opts.precision = 0.01;\n }\n return faker.random.number(opts);\n }\n \n /**\n * takes an array and returns a random element of the array\n *\n * @method faker.random.arrayElement\n * @param {array} array\n */\n this.arrayElement = function (array) {\n array = array || [\"a\", \"b\", \"c\"];\n var r = faker.random.number({ max: array.length - 1 });\n return array[r];\n }\n\n /**\n * takes an array and returns a subset with random elements of the array\n *\n * @method faker.random.arrayElements\n * @param {array} array\n * @param {number} count number of elements to pick\n */\n this.arrayElements = function (array, count) {\n array = array || [\"a\", \"b\", \"c\"];\n\n if (typeof count !== 'number') {\n count = faker.random.number({ min: 1, max: array.length });\n } else if (count > array.length) {\n count = array.length;\n } else if (count < 0) {\n count = 0;\n }\n\n var arrayCopy = array.slice();\n var countToRemove = arrayCopy.length - count;\n for (var i = 0; i < countToRemove; i++) {\n var indexToRemove = faker.random.number({ max: arrayCopy.length - 1 });\n arrayCopy.splice(indexToRemove, 1);\n }\n\n return arrayCopy;\n }\n\n /**\n * takes an object and returns the randomly key or value\n *\n * @method faker.random.objectElement\n * @param {object} object\n * @param {mixed} field\n */\n this.objectElement = function (object, field) {\n object = object || { \"foo\": \"bar\", \"too\": \"car\" };\n var array = Object.keys(object);\n var key = faker.random.arrayElement(array);\n\n return field === \"key\" ? key : object[key];\n }\n\n /**\n * uuid\n *\n * @method faker.random.uuid\n */\n this.uuid = function () {\n var RFC4122_TEMPLATE = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx';\n var replacePlaceholders = function (placeholder) {\n var random = faker.random.number({ min: 0, max: 15 });\n var value = placeholder == 'x' ? random : (random &0x3 | 0x8);\n return value.toString(16);\n };\n return RFC4122_TEMPLATE.replace(/[xy]/g, replacePlaceholders);\n }\n\n /**\n * boolean\n *\n * @method faker.random.boolean\n */\n this.boolean = function () {\n return !!faker.random.number(1)\n }\n\n // TODO: have ability to return specific type of word? As in: noun, adjective, verb, etc\n /**\n * word\n *\n * @method faker.random.word\n * @param {string} type\n */\n this.word = function randomWord (type) {\n\n var wordMethods = [\n 'commerce.department',\n 'commerce.productName',\n 'commerce.productAdjective',\n 'commerce.productMaterial',\n 'commerce.product',\n 'commerce.color',\n\n 'company.catchPhraseAdjective',\n 'company.catchPhraseDescriptor',\n 'company.catchPhraseNoun',\n 'company.bsAdjective',\n 'company.bsBuzz',\n 'company.bsNoun',\n 'address.streetSuffix',\n 'address.county',\n 'address.country',\n 'address.state',\n\n 'finance.accountName',\n 'finance.transactionType',\n 'finance.currencyName',\n\n 'hacker.noun',\n 'hacker.verb',\n 'hacker.adjective',\n 'hacker.ingverb',\n 'hacker.abbreviation',\n\n 'name.jobDescriptor',\n 'name.jobArea',\n 'name.jobType'];\n\n // randomly pick from the many faker methods that can generate words\n var randomWordMethod = faker.random.arrayElement(wordMethods);\n var result = faker.fake('{{' + randomWordMethod + '}}');\n return faker.random.arrayElement(result.split(' '));\n }\n\n /**\n * randomWords\n *\n * @method faker.random.words\n * @param {number} count defaults to a random value between 1 and 3\n */\n this.words = function randomWords (count) {\n var words = [];\n if (typeof count === \"undefined\") {\n count = faker.random.number({min:1, max: 3});\n }\n for (var i = 0; i<count; i++) {\n words.push(faker.random.word());\n }\n return words.join(' ');\n }\n\n /**\n * locale\n *\n * @method faker.random.image\n */\n this.image = function randomImage () {\n return faker.image.image();\n }\n\n /**\n * locale\n *\n * @method faker.random.locale\n */\n this.locale = function randomLocale () {\n return faker.random.arrayElement(Object.keys(faker.locales));\n };\n\n /**\n * alpha. returns lower/upper alpha characters based count and upcase options\n *\n * @method faker.random.alpha\n * @param {mixed} options // defaults to { count: 1, upcase: false }\n */\n this.alpha = function alpha(options) {\n if (typeof options === \"undefined\") {\n options = {\n count: 1\n }\n } else if (typeof options === \"number\") {\n options = {\n count: options,\n }\n } else if (typeof options.count === \"undefined\") {\n options.count = 1\n }\n\n if (typeof options.upcase === \"undefined\") {\n options.upcase = false;\n }\n\n var wholeString = \"\";\n for(var i = 0; i < options.count; i++) {\n wholeString += faker.random.arrayElement([\"a\", \"b\", \"c\", \"d\", \"e\", \"f\", \"g\", \"h\", \"i\", \"j\", \"k\", \"l\", \"m\", \"n\", \"o\", \"p\", \"q\", \"r\", \"s\", \"t\", \"u\", \"v\", \"w\", \"x\", \"y\", \"z\"]);\n }\n\n return options.upcase ? wholeString.toUpperCase() : wholeString;\n };\n\n /**\n * alphaNumeric\n *\n * @method faker.random.alphaNumeric\n * @param {number} count defaults to 1\n */\n this.alphaNumeric = function alphaNumeric(count) {\n if (typeof count === \"undefined\") {\n count = 1;\n }\n\n var wholeString = \"\";\n for(var i = 0; i < count; i++) {\n wholeString += faker.random.arrayElement([\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\", \"g\", \"h\", \"i\", \"j\", \"k\", \"l\", \"m\", \"n\", \"o\", \"p\", \"q\", \"r\", \"s\", \"t\", \"u\", \"v\", \"w\", \"x\", \"y\", \"z\"]);\n }\n\n return wholeString;\n };\n\n /**\n * hexaDecimal\n *\n * @method faker.random.hexaDecimal\n * @param {number} count defaults to 1\n */\n this.hexaDecimal = function hexaDecimal(count) {\n if (typeof count === \"undefined\") {\n count = 1;\n }\n\n var wholeString = \"\";\n for(var i = 0; i < count; i++) {\n wholeString += faker.random.arrayElement([\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\", \"A\", \"B\", \"C\", \"D\", \"E\", \"F\"]);\n }\n\n return \"0x\"+wholeString;\n };\n\n return this;\n\n}\n\nmodule['exports'] = Random;\n","/**\n *\n * @namespace faker.helpers\n */\nvar Helpers = function (faker) {\n\n var self = this;\n\n /**\n * backward-compatibility\n *\n * @method faker.helpers.randomize\n * @param {array} array\n */\n self.randomize = function (array) {\n array = array || [\"a\", \"b\", \"c\"];\n return faker.random.arrayElement(array);\n };\n\n /**\n * slugifies string\n *\n * @method faker.helpers.slugify\n * @param {string} string\n */\n self.slugify = function (string) {\n string = string || \"\";\n return string.replace(/ /g, '-').replace(/[^\\一-龠\\ぁ-ゔ\\ァ-ヴー\\w\\.\\-]+/g, '');\n };\n\n /**\n * parses string for a symbol and replace it with a random number from 1-10\n *\n * @method faker.helpers.replaceSymbolWithNumber\n * @param {string} string\n * @param {string} symbol defaults to `\"#\"`\n */\n self.replaceSymbolWithNumber = function (string, symbol) {\n string = string || \"\";\n // default symbol is '#'\n if (symbol === undefined) {\n symbol = '#';\n }\n\n var str = '';\n for (var i = 0; i < string.length; i++) {\n if (string.charAt(i) == symbol) {\n str += faker.random.number(9);\n } else if (string.charAt(i) == \"!\"){\n str += faker.random.number({min: 2, max: 9});\n } else {\n str += string.charAt(i);\n }\n }\n return str;\n };\n\n /**\n * parses string for symbols (numbers or letters) and replaces them appropriately (# will be replaced with number,\n * ? with letter and * will be replaced with number or letter)\n *\n * @method faker.helpers.replaceSymbols\n * @param {string} string\n */\n self.replaceSymbols = function (string) {\n string = string || \"\";\n var alpha = ['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z']\n var str = '';\n\n for (var i = 0; i < string.length; i++) {\n if (string.charAt(i) == \"#\") {\n str += faker.random.number(9);\n } else if (string.charAt(i) == \"?\") {\n str += faker.random.arrayElement(alpha);\n } else if (string.charAt(i) == \"*\") {\n str += faker.random.boolean() ? faker.random.arrayElement(alpha) : faker.random.number(9);\n } else {\n str += string.charAt(i);\n }\n }\n return str;\n };\n\n /**\n * replace symbols in a credit card schems including Luhn checksum\n *\n * @method faker.helpers.replaceCreditCardSymbols\n * @param {string} string\n * @param {string} symbol\n */\n\n self.replaceCreditCardSymbols = function(string, symbol) {\n\n // default values required for calling method without arguments\n string = string || \"6453-####-####-####-###L\";\n symbol = symbol || \"#\";\n\n // Function calculating the Luhn checksum of a number string\n var getCheckBit = function(number) {\n number.reverse();\n number = number.map(function(num, index){\n if (index%2 === 0) {\n num *= 2;\n if(num>9) {\n num -= 9;\n }\n }\n return num;\n });\n var sum = number.reduce(function(prev,curr){return prev + curr;});\n return sum % 10;\n };\n\n string = faker.helpers.regexpStyleStringParse(string); // replace [4-9] with a random number in range etc...\n string = faker.helpers.replaceSymbolWithNumber(string, symbol); // replace ### with random numbers\n\n var numberList = string.replace(/\\D/g,\"\").split(\"\").map(function(num){return parseInt(num);});\n var checkNum = getCheckBit(numberList);\n return string.replace(\"L\",checkNum);\n };\n\n /** string repeat helper, alternative to String.prototype.repeat.... See PR #382\n *\n * @method faker.helpers.repeatString\n * @param {string} string\n * @param {number} num\n */\n self.repeatString = function(string, num) {\n if(typeof num ===\"undefined\") {\n num = 0;\n }\n var text = \"\";\n for(var i = 0; i < num; i++){\n text += string.toString();\n }\n return text;\n };\n\n /**\n * parse string patterns in a similar way to RegExp\n *\n * e.g. \"#{3}test[1-5]\" -> \"###test4\"\n *\n * @method faker.helpers.regexpStyleStringParse\n * @param {string} string\n */\n self.regexpStyleStringParse = function(string){\n string = string || \"\";\n // Deal with range repeat `{min,max}`\n var RANGE_REP_REG = /(.)\\{(\\d+)\\,(\\d+)\\}/;\n var REP_REG = /(.)\\{(\\d+)\\}/;\n var RANGE_REG = /\\[(\\d+)\\-(\\d+)\\]/;\n var min, max, tmp, repetitions;\n var token = string.match(RANGE_REP_REG);\n while(token !== null){\n min = parseInt(token[2]);\n max = parseInt(token[3]);\n // switch min and max\n if(min>max) {\n tmp = max;\n max = min;\n min = tmp;\n }\n repetitions = faker.random.number({min:min,max:max});\n string = string.slice(0,token.index) + faker.helpers.repeatString(token[1], repetitions) + string.slice(token.index+token[0].length);\n token = string.match(RANGE_REP_REG);\n }\n // Deal with repeat `{num}`\n token = string.match(REP_REG);\n while(token !== null){\n repetitions = parseInt(token[2]);\n string = string.slice(0,token.index)+ faker.helpers.repeatString(token[1], repetitions) + string.slice(token.index+token[0].length);\n token = string.match(REP_REG);\n }\n // Deal with range `[min-max]` (only works with numbers for now)\n //TODO: implement for letters e.g. [0-9a-zA-Z] etc.\n\n token = string.match(RANGE_REG);\n while(token !== null){\n min = parseInt(token[1]); // This time we are not capturing the char before `[]`\n max = parseInt(token[2]);\n // switch min and max\n if(min>max) {\n tmp = max;\n max = min;\n min = tmp;\n }\n string = string.slice(0,token.index) +\n faker.random.number({min:min, max:max}).toString() +\n string.slice(token.index+token[0].length);\n token = string.match(RANGE_REG);\n }\n return string;\n };\n\n /**\n * takes an array and randomizes it in place then returns it\n * \n * uses the modern version of the Fisher–Yates algorithm\n *\n * @method faker.helpers.shuffle\n * @param {array} o\n */\n self.shuffle = function (o) {\n if (typeof o === 'undefined' || o.length === 0) {\n return o || [];\n }\n o = o || [\"a\", \"b\", \"c\"];\n for (var x, j, i = o.length - 1; i > 0; --i) {\n j = faker.random.number(i);\n x = o[i];\n o[i] = o[j];\n o[j] = x;\n }\n return o;\n };\n\n /**\n * mustache\n *\n * @method faker.helpers.mustache\n * @param {string} str\n * @param {object} data\n */\n self.mustache = function (str, data) {\n if (typeof str === 'undefined') {\n return '';\n }\n for(var p in data) {\n var re = new RegExp('{{' + p + '}}', 'g')\n str = str.replace(re, data[p]);\n }\n return str;\n };\n\n /**\n * createCard\n *\n * @method faker.helpers.createCard\n */\n self.createCard = function () {\n return {\n \"name\": faker.name.findName(),\n \"username\": faker.internet.userName(),\n \"email\": faker.internet.email(),\n \"address\": {\n \"streetA\": faker.address.streetName(),\n \"streetB\": faker.address.streetAddress(),\n \"streetC\": faker.address.streetAddress(true),\n \"streetD\": faker.address.secondaryAddress(),\n \"city\": faker.address.city(),\n \"state\": faker.address.state(),\n \"country\": faker.address.country(),\n \"zipcode\": faker.address.zipCode(),\n \"geo\": {\n \"lat\": faker.address.latitude(),\n \"lng\": faker.address.longitude()\n }\n },\n \"phone\": faker.phone.phoneNumber(),\n \"website\": faker.internet.domainName(),\n \"company\": {\n \"name\": faker.company.companyName(),\n \"catchPhrase\": faker.company.catchPhrase(),\n \"bs\": faker.company.bs()\n },\n \"posts\": [\n {\n \"words\": faker.lorem.words(),\n \"sentence\": faker.lorem.sentence(),\n \"sentences\": faker.lorem.sentences(),\n \"paragraph\": faker.lorem.paragraph()\n },\n {\n \"words\": faker.lorem.words(),\n \"sentence\": faker.lorem.sentence(),\n \"sentences\": faker.lorem.sentences(),\n \"paragraph\": faker.lorem.paragraph()\n },\n {\n \"words\": faker.lorem.words(),\n \"sentence\": faker.lorem.sentence(),\n \"sentences\": faker.lorem.sentences(),\n \"paragraph\": faker.lorem.paragraph()\n }\n ],\n \"accountHistory\": [faker.helpers.createTransaction(), faker.helpers.createTransaction(), faker.helpers.createTransaction()]\n };\n };\n\n /**\n * contextualCard\n *\n * @method faker.helpers.contextualCard\n */\n self.contextualCard = function () {\n var name = faker.name.firstName(),\n userName = faker.internet.userName(name);\n return {\n \"name\": name,\n \"username\": userName,\n \"avatar\": faker.internet.avatar(),\n \"email\": faker.internet.email(userName),\n \"dob\": faker.date.past(50, new Date(\"Sat Sep 20 1992 21:35:02 GMT+0200 (CEST)\")),\n \"phone\": faker.phone.phoneNumber(),\n \"address\": {\n \"street\": faker.address.streetName(true),\n \"suite\": faker.address.secondaryAddress(),\n \"city\": faker.address.city(),\n \"zipcode\": faker.address.zipCode(),\n \"geo\": {\n \"lat\": faker.address.latitude(),\n \"lng\": faker.address.longitude()\n }\n },\n \"website\": faker.internet.domainName(),\n \"company\": {\n \"name\": faker.company.companyName(),\n \"catchPhrase\": faker.company.catchPhrase(),\n \"bs\": faker.company.bs()\n }\n };\n };\n\n\n /**\n * userCard\n *\n * @method faker.helpers.userCard\n */\n self.userCard = function () {\n return {\n \"name\": faker.name.findName(),\n \"username\": faker.internet.userName(),\n \"email\": faker.internet.email(),\n \"address\": {\n \"street\": faker.address.streetName(true),\n \"suite\": faker.address.secondaryAddress(),\n \"city\": faker.address.city(),\n \"zipcode\": faker.address.zipCode(),\n \"geo\": {\n \"lat\": faker.address.latitude(),\n \"lng\": faker.address.longitude()\n }\n },\n \"phone\": faker.phone.phoneNumber(),\n \"website\": faker.internet.domainName(),\n \"company\": {\n \"name\": faker.company.companyName(),\n \"catchPhrase\": faker.company.catchPhrase(),\n \"bs\": faker.company.bs()\n }\n };\n };\n\n /**\n * createTransaction\n *\n * @method faker.helpers.createTransaction\n */\n self.createTransaction = function(){\n return {\n \"amount\" : faker.finance.amount(),\n \"date\" : new Date(2012, 1, 2), //TODO: add a ranged date method\n \"business\": faker.company.companyName(),\n \"name\": [faker.finance.accountName(), faker.finance.mask()].join(' '),\n \"type\" : self.randomize(faker.definitions.finance.transaction_type),\n \"account\" : faker.finance.account()\n };\n };\n\n return self;\n\n};\n\n\n/*\nString.prototype.capitalize = function () { //v1.0\n return this.replace(/\\w+/g, function (a) {\n return a.charAt(0).toUpperCase() + a.substr(1).toLowerCase();\n });\n};\n*/\n\nmodule['exports'] = Helpers;\n","/**\n *\n * @namespace faker.name\n */\nfunction Name (faker) {\n\n /**\n * firstName\n *\n * @method firstName\n * @param {mixed} gender\n * @memberof faker.name\n */\n this.firstName = function (gender) {\n if (typeof faker.definitions.name.male_first_name !== \"undefined\" && typeof faker.definitions.name.female_first_name !== \"undefined\") {\n // some locale datasets ( like ru ) have first_name split by gender. since the name.first_name field does not exist in these datasets,\n // we must randomly pick a name from either gender array so faker.name.firstName will return the correct locale data ( and not fallback )\n\n if(typeof gender === 'string') {\n if(gender.toLowerCase() === 'male') {\n gender = 0;\n }\n else if(gender.toLowerCase() === 'female') {\n gender = 1;\n }\n }\n\n if (typeof gender !== 'number') {\n if(typeof faker.definitions.name.first_name === \"undefined\") {\n gender = faker.random.number(1);\n }\n else {\n //Fall back to non-gendered names if they exist and gender wasn't specified\n return faker.random.arrayElement(faker.definitions.name.first_name);\n }\n }\n if (gender === 0) {\n return faker.random.arrayElement(faker.definitions.name.male_first_name)\n } else {\n return faker.random.arrayElement(faker.definitions.name.female_first_name);\n }\n }\n return faker.random.arrayElement(faker.definitions.name.first_name);\n };\n\n /**\n * lastName\n *\n * @method lastName\n * @param {mixed} gender\n * @memberof faker.name\n */\n this.lastName = function (gender) {\n if (typeof faker.definitions.name.male_last_name !== \"undefined\" && typeof faker.definitions.name.female_last_name !== \"undefined\") {\n // some locale datasets ( like ru ) have last_name split by gender. i have no idea how last names can have genders, but also i do not speak russian\n // see above comment of firstName method\n if (typeof gender !== 'number') {\n gender = faker.random.number(1);\n }\n if (gender === 0) {\n return faker.random.arrayElement(faker.locales[faker.locale].name.male_last_name);\n } else {\n return faker.random.arrayElement(faker.locales[faker.locale].name.female_last_name);\n }\n }\n return faker.random.arrayElement(faker.definitions.name.last_name);\n };\n\n /**\n * middleName\n *\n * @method middleName\n * @param {mixed} gender\n * @memberof faker.name\n */\n this.middleName = function (gender) {\n if (typeof faker.definitions.name.male_middle_name !== \"undefined\" && typeof faker.definitions.name.female_middle_name !== \"undefined\") {\n if (typeof gender !== 'number') {\n gender = faker.random.number(1);\n }\n if (gender === 0) {\n return faker.random.arrayElement(faker.locales[faker.locale].name.male_middle_name);\n } else {\n return faker.random.arrayElement(faker.locales[faker.locale].name.female_middle_name);\n }\n }\n return faker.random.arrayElement(faker.definitions.name.middle_name);\n };\n\n /**\n * findName\n *\n * @method findName\n * @param {string} firstName\n * @param {string} lastName\n * @param {mixed} gender\n * @memberof faker.name\n */\n this.findName = function (firstName, lastName, gender) {\n var r = faker.random.number(8);\n var prefix, suffix;\n // in particular locales first and last names split by gender,\n // thus we keep consistency by passing 0 as male and 1 as female\n if (typeof gender !== 'number') {\n gender = faker.random.number(1);\n }\n firstName = firstName || faker.name.firstName(gender);\n lastName = lastName || faker.name.lastName(gender);\n switch (r) {\n case 0:\n prefix = faker.name.prefix(gender);\n if (prefix) {\n return prefix + \" \" + firstName + \" \" + lastName;\n }\n case 1:\n suffix = faker.name.suffix(gender);\n if (suffix) {\n return firstName + \" \" + lastName + \" \" + suffix;\n }\n }\n\n return firstName + \" \" + lastName;\n };\n\n /**\n * jobTitle\n *\n * @method jobTitle\n * @memberof faker.name\n */\n this.jobTitle = function () {\n return faker.name.jobDescriptor() + \" \" +\n faker.name.jobArea() + \" \" +\n faker.name.jobType();\n };\n\n /**\n * gender\n *\n * @method gender\n * @memberof faker.name\n */\n this.gender = function () {\n return faker.random.arrayElement(faker.definitions.name.gender);\n }\n \n /**\n * prefix\n *\n * @method prefix\n * @param {mixed} gender\n * @memberof faker.name\n */\n this.prefix = function (gender) {\n if (typeof faker.definitions.name.male_prefix !== \"undefined\" && typeof faker.definitions.name.female_prefix !== \"undefined\") {\n if (typeof gender !== 'number') {\n gender = faker.random.number(1);\n }\n if (gender === 0) {\n return faker.random.arrayElement(faker.locales[faker.locale].name.male_prefix);\n } else {\n return faker.random.arrayElement(faker.locales[faker.locale].name.female_prefix);\n }\n }\n return faker.random.arrayElement(faker.definitions.name.prefix);\n };\n\n /**\n * suffix\n *\n * @method suffix\n * @memberof faker.name\n */\n this.suffix = function () {\n return faker.random.arrayElement(faker.definitions.name.suffix);\n };\n\n /**\n * title\n *\n * @method title\n * @memberof faker.name\n */\n this.title = function() {\n var descriptor = faker.random.arrayElement(faker.definitions.name.title.descriptor),\n level = faker.random.arrayElement(faker.definitions.name.title.level),\n job = faker.random.arrayElement(faker.definitions.name.title.job);\n\n return descriptor + \" \" + level + \" \" + job;\n };\n\n /**\n * jobDescriptor\n *\n * @method jobDescriptor\n * @memberof faker.name\n */\n this.jobDescriptor = function () {\n return faker.random.arrayElement(faker.definitions.name.title.descriptor);\n };\n\n /**\n * jobArea\n *\n * @method jobArea\n * @memberof faker.name\n */\n this.jobArea = function () {\n return faker.random.arrayElement(faker.definitions.name.title.level);\n };\n\n /**\n * jobType\n *\n * @method jobType\n * @memberof faker.name\n */\n this.jobType = function () {\n return faker.random.arrayElement(faker.definitions.name.title.job);\n };\n\n}\n\nmodule['exports'] = Name;\n","/**\n *\n * @namespace faker.address\n */\nfunction Address (faker) {\n var f = faker.fake,\n Helpers = faker.helpers;\n\n /**\n * Generates random zipcode from format. If format is not specified, the\n * locale's zip format is used.\n *\n * @method faker.address.zipCode\n * @param {String} format\n */\n this.zipCode = function(format) {\n // if zip format is not specified, use the zip format defined for the locale\n if (typeof format === 'undefined') {\n var localeFormat = faker.definitions.address.postcode;\n if (typeof localeFormat === 'string') {\n format = localeFormat;\n } else {\n format = faker.random.arrayElement(localeFormat);\n }\n }\n return Helpers.replaceSymbols(format);\n }\n\n /**\n * Generates random zipcode from state abbreviation. If state abbreviation is\n * not specified, a random zip code is generated according to the locale's zip format.\n * Only works for locales with postcode_by_state definition. If a locale does not\n * have a postcode_by_state definition, a random zip code is generated according\n * to the locale's zip format.\n *\n * @method faker.address.zipCodeByState\n * @param {String} state\n */\n this.zipCodeByState = function (state) {\n var zipRange = faker.definitions.address.postcode_by_state[state];\n if (zipRange) {\n return faker.random.number(zipRange);\n }\n return faker.address.zipCode();\n }\n\n /**\n * Generates a random localized city name. The format string can contain any\n * method provided by faker wrapped in `{{}}`, e.g. `{{name.firstName}}` in\n * order to build the city name.\n *\n * If no format string is provided one of the following is randomly used:\n *\n * * `{{address.cityPrefix}} {{name.firstName}}{{address.citySuffix}}`\n * * `{{address.cityPrefix}} {{name.firstName}}`\n * * `{{name.firstName}}{{address.citySuffix}}`\n * * `{{name.lastName}}{{address.citySuffix}}`\n *\n * @method faker.address.city\n * @param {String} format\n */\n this.city = function (format) {\n var formats = [\n '{{address.cityPrefix}} {{name.firstName}}{{address.citySuffix}}',\n '{{address.cityPrefix}} {{name.firstName}}',\n '{{name.firstName}}{{address.citySuffix}}',\n '{{name.lastName}}{{address.citySuffix}}'\n ];\n\n if (typeof format !== \"number\") {\n format = faker.random.number(formats.length - 1);\n }\n\n return f(formats[format]);\n\n }\n\n /**\n * Return a random localized city prefix\n * @method faker.address.cityPrefix\n */\n this.cityPrefix = function () {\n return faker.random.arrayElement(faker.definitions.address.city_prefix);\n }\n\n /**\n * Return a random localized city suffix\n *\n * @method faker.address.citySuffix\n */\n this.citySuffix = function () {\n return faker.random.arrayElement(faker.definitions.address.city_suffix);\n }\n\n /**\n * Returns a random localized street name\n *\n * @method faker.address.streetName\n */\n this.streetName = function () {\n var result;\n var suffix = faker.address.streetSuffix();\n if (suffix !== \"\") {\n suffix = \" \" + suffix\n }\n\n switch (faker.random.number(1)) {\n case 0:\n result = faker.name.lastName() + suffix;\n break;\n case 1:\n result = faker.name.firstName() + suffix;\n break;\n }\n return result;\n }\n\n //\n // TODO: change all these methods that accept a boolean to instead accept an options hash.\n //\n /**\n * Returns a random localized street address\n *\n * @method faker.address.streetAddress\n * @param {Boolean} useFullAddress\n */\n this.streetAddress = function (useFullAddress) {\n if (useFullAddress === undefined) { useFullAddress = false; }\n var address = \"\";\n switch (faker.random.number(2)) {\n case 0:\n address = Helpers.replaceSymbolWithNumber(\"#####\") + \" \" + faker.address.streetName();\n break;\n case 1:\n address = Helpers.replaceSymbolWithNumber(\"####\") + \" \" + faker.address.streetName();\n break;\n case 2:\n address = Helpers.replaceSymbolWithNumber(\"###\") + \" \" + faker.address.streetName();\n break;\n }\n return useFullAddress ? (address + \" \" + faker.address.secondaryAddress()) : address;\n }\n\n /**\n * streetSuffix\n *\n * @method faker.address.streetSuffix\n */\n this.streetSuffix = function () {\n return faker.random.arrayElement(faker.definitions.address.street_suffix);\n }\n\n /**\n * streetPrefix\n *\n * @method faker.address.streetPrefix\n */\n this.streetPrefix = function () {\n return faker.random.arrayElement(faker.definitions.address.street_prefix);\n }\n\n /**\n * secondaryAddress\n *\n * @method faker.address.secondaryAddress\n */\n this.secondaryAddress = function () {\n return Helpers.replaceSymbolWithNumber(faker.random.arrayElement(\n [\n 'Apt. ###',\n 'Suite ###'\n ]\n ));\n }\n\n /**\n * county\n *\n * @method faker.address.county\n */\n this.county = function () {\n return faker.random.arrayElement(faker.definitions.address.county);\n }\n\n /**\n * country\n *\n * @method faker.address.country\n */\n this.country = function () {\n return faker.random.arrayElement(faker.definitions.address.country);\n }\n\n /**\n * countryCode\n *\n * @method faker.address.countryCode\n * @param {string} alphaCode default alpha-2\n */\n this.countryCode = function (alphaCode) {\n \n if (typeof alphaCode === 'undefined' || alphaCode === 'alpha-2') {\n return faker.random.arrayElement(faker.definitions.address.country_code);\n }\n\n if (alphaCode === 'alpha-3') {\n return faker.random.arrayElement(faker.definitions.address.country_code_alpha_3);\n }\n \n return faker.random.arrayElement(faker.definitions.address.country_code);\n\n }\n\n /**\n * state\n *\n * @method faker.address.state\n * @param {Boolean} useAbbr\n */\n this.state = function (useAbbr) {\n return faker.random.arrayElement(faker.definitions.address.state);\n }\n\n /**\n * stateAbbr\n *\n * @method faker.address.stateAbbr\n */\n this.stateAbbr = function () {\n return faker.random.arrayElement(faker.definitions.address.state_abbr);\n }\n\n /**\n * latitude\n *\n * @method faker.address.latitude\n * @param {Double} max default is 90\n * @param {Double} min default is -90\n * @param {number} precision default is 4\n */\n this.latitude = function (max, min, precision) {\n max = max || 90\n min = min || -90\n precision = precision || 4\n\n return faker.random.number({\n max: max,\n min: min,\n precision: parseFloat((0.0).toPrecision(precision) + '1')\n }).toFixed(precision);\n }\n\n /**\n * longitude\n *\n * @method faker.address.longitude\n * @param {Double} max default is 180\n * @param {Double} min default is -180\n * @param {number} precision default is 4\n */\n this.longitude = function (max, min, precision) {\n max = max || 180\n min = min || -180\n precision = precision || 4\n\n return faker.random.number({\n max: max,\n min: min,\n precision: parseFloat((0.0).toPrecision(precision) + '1')\n }).toFixed(precision);\n }\n\n /**\n * direction\n *\n * @method faker.address.direction\n * @param {Boolean} useAbbr return direction abbreviation. defaults to false\n */\n this.direction = function (useAbbr) {\n if (typeof useAbbr === 'undefined' || useAbbr === false) {\n return faker.random.arrayElement(faker.definitions.address.direction);\n }\n return faker.random.arrayElement(faker.definitions.address.direction_abbr);\n }\n\n this.direction.schema = {\n \"description\": \"Generates a direction. Use optional useAbbr bool to return abbreviation\",\n \"sampleResults\": [\"Northwest\", \"South\", \"SW\", \"E\"]\n };\n\n /**\n * cardinal direction\n *\n * @method faker.address.cardinalDirection\n * @param {Boolean} useAbbr return direction abbreviation. defaults to false\n */\n this.cardinalDirection = function (useAbbr) {\n if (typeof useAbbr === 'undefined' || useAbbr === false) {\n return (\n faker.random.arrayElement(faker.definitions.address.direction.slice(0, 4))\n );\n }\n return (\n faker.random.arrayElement(faker.definitions.address.direction_abbr.slice(0, 4))\n );\n }\n\n this.cardinalDirection.schema = {\n \"description\": \"Generates a cardinal direction. Use optional useAbbr boolean to return abbreviation\",\n \"sampleResults\": [\"North\", \"South\", \"E\", \"W\"]\n };\n\n /**\n * ordinal direction\n *\n * @method faker.address.ordinalDirection\n * @param {Boolean} useAbbr return direction abbreviation. defaults to false\n */\n this.ordinalDirection = function (useAbbr) {\n if (typeof useAbbr === 'undefined' || useAbbr === false) {\n return (\n faker.random.arrayElement(faker.definitions.address.direction.slice(4, 8))\n );\n }\n return (\n faker.random.arrayElement(faker.definitions.address.direction_abbr.slice(4, 8))\n );\n }\n\n this.ordinalDirection.schema = {\n \"description\": \"Generates an ordinal direction. Use optional useAbbr boolean to return abbreviation\",\n \"sampleResults\": [\"Northwest\", \"Southeast\", \"SW\", \"NE\"]\n };\n\n this.nearbyGPSCoordinate = function(coordinate, radius, isMetric) {\n function randomFloat(min, max) {\n return Math.random() * (max-min) + min;\n }\n function degreesToRadians(degrees) {\n return degrees * (Math.PI/180.0);\n }\n function radiansToDegrees(radians) {\n return radians * (180.0/Math.PI);\n }\n function kilometersToMiles(miles) {\n return miles * 0.621371;\n }\n function coordinateWithOffset(coordinate, bearing, distance, isMetric) {\n var R = 6378.137; // Radius of the Earth (http://nssdc.gsfc.nasa.gov/planetary/factsheet/earthfact.html)\n var d = isMetric ? distance : kilometersToMiles(distance); // Distance in km\n\n var lat1 = degreesToRadians(coordinate[0]); //Current lat point converted to radians\n var lon1 = degreesToRadians(coordinate[1]); //Current long point converted to radians\n\n var lat2 = Math.asin(Math.sin(lat1) * Math.cos(d/R) +\n Math.cos(lat1) * Math.sin(d/R) * Math.cos(bearing));\n\n var lon2 = lon1 + Math.atan2(\n Math.sin(bearing) * Math.sin(d/R) * Math.cos(lat1),\n Math.cos(d/R) - Math.sin(lat1) * Math.sin(lat2));\n\n // Keep longitude in range [-180, 180]\n if (lon2 > degreesToRadians(180)) {\n lon2 = lon2 - degreesToRadians(360);\n } else if (lon2 < degreesToRadians(-180)) {\n lon2 = lon2 + degreesToRadians(360);\n }\n\n return [radiansToDegrees(lat2), radiansToDegrees(lon2)];\n }\n\n // If there is no coordinate, the best we can do is return a random GPS coordinate.\n if (coordinate === undefined) {\n return [faker.address.latitude(), faker.address.longitude()]\n }\n radius = radius || 10.0;\n isMetric = isMetric || false;\n\n // TODO: implement either a gaussian/uniform distribution of points in cicular region.\n // Possibly include param to function that allows user to choose between distributions.\n\n // This approach will likely result in a higher density of points near the center.\n var randomCoord = coordinateWithOffset(coordinate, degreesToRadians(Math.random() * 360.0), radius, isMetric);\n return [randomCoord[0].toFixed(4), randomCoord[1].toFixed(4)];\n }\n\n /**\n * Return a random time zone\n * @method faker.address.timeZone\n */\n this.timeZone = function() {\n return faker.random.arrayElement(faker.definitions.address.time_zone);\n }\n\n return this;\n}\n\nmodule.exports = Address;\n","/**\n *\n * @namespace faker.company\n */\nvar Company = function (faker) {\n \n var self = this;\n var f = faker.fake;\n \n /**\n * suffixes\n *\n * @method faker.company.suffixes\n */\n this.suffixes = function () {\n // Don't want the source array exposed to modification, so return a copy\n return faker.definitions.company.suffix.slice(0);\n }\n\n /**\n * companyName\n *\n * @method faker.company.companyName\n * @param {string} format\n */\n this.companyName = function (format) {\n\n var formats = [\n '{{name.lastName}} {{company.companySuffix}}',\n '{{name.lastName}} - {{name.lastName}}',\n '{{name.lastName}}, {{name.lastName}} and {{name.lastName}}'\n ];\n\n if (typeof format !== \"number\") {\n format = faker.random.number(formats.length - 1);\n }\n\n return f(formats[format]);\n }\n\n /**\n * companySuffix\n *\n * @method faker.company.companySuffix\n */\n this.companySuffix = function () {\n return faker.random.arrayElement(faker.company.suffixes());\n }\n\n /**\n * catchPhrase\n *\n * @method faker.company.catchPhrase\n */\n this.catchPhrase = function () {\n return f('{{company.catchPhraseAdjective}} {{company.catchPhraseDescriptor}} {{company.catchPhraseNoun}}')\n }\n\n /**\n * bs\n *\n * @method faker.company.bs\n */\n this.bs = function () {\n return f('{{company.bsBuzz}} {{company.bsAdjective}} {{company.bsNoun}}');\n }\n\n /**\n * catchPhraseAdjective\n *\n * @method faker.company.catchPhraseAdjective\n */\n this.catchPhraseAdjective = function () {\n return faker.random.arrayElement(faker.definitions.company.adjective);\n }\n\n /**\n * catchPhraseDescriptor\n *\n * @method faker.company.catchPhraseDescriptor\n */\n this.catchPhraseDescriptor = function () {\n return faker.random.arrayElement(faker.definitions.company.descriptor);\n }\n\n /**\n * catchPhraseNoun\n *\n * @method faker.company.catchPhraseNoun\n */\n this.catchPhraseNoun = function () {\n return faker.random.arrayElement(faker.definitions.company.noun);\n }\n\n /**\n * bsAdjective\n *\n * @method faker.company.bsAdjective\n */\n this.bsAdjective = function () {\n return faker.random.arrayElement(faker.definitions.company.bs_adjective);\n }\n\n /**\n * bsBuzz\n *\n * @method faker.company.bsBuzz\n */\n this.bsBuzz = function () {\n return faker.random.arrayElement(faker.definitions.company.bs_verb);\n }\n\n /**\n * bsNoun\n *\n * @method faker.company.bsNoun\n */\n this.bsNoun = function () {\n return faker.random.arrayElement(faker.definitions.company.bs_noun);\n }\n \n}\n\nmodule['exports'] = Company;","module[\"exports\"] = {\n alpha: [\n 'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'\n ],\n pattern10: [\n \"01\", \"02\", \"03\", \"04\", \"05\", \"06\", \"07\", \"08\", \"09\"\n ],\n pattern100: [\n \"001\", \"002\", \"003\", \"004\", \"005\", \"006\", \"007\", \"008\", \"009\"\n ],\n toDigitString: function (str) {\n return str.replace(/[A-Z]/gi, function(match) {\n return match.toUpperCase().charCodeAt(0) - 55;\n });\n },\n mod97: function (digitStr) {\n var m = 0;\n for (var i = 0; i < digitStr.length; i++) {\n m = ((m * 10) + (digitStr[i] |0)) % 97;\n }\n return m;\n },\n formats: [\n {\n country: \"AL\",\n total: 28,\n bban: [\n {\n type: \"n\",\n count: 8\n },\n {\n type: \"c\",\n count: 16\n }\n ],\n format: \"ALkk bbbs sssx cccc cccc cccc cccc\"\n },\n {\n country: \"AD\",\n total: 24,\n bban: [\n {\n type: \"n\",\n count: 8\n },\n {\n type: \"c\",\n count: 12\n }\n ],\n format: \"ADkk bbbb ssss cccc cccc cccc\"\n },\n {\n country: \"AT\",\n total: 20,\n bban: [\n {\n type: \"n\",\n count: 5\n },\n {\n type: \"n\",\n count: 11\n }\n ],\n format: \"ATkk bbbb bccc cccc cccc\"\n },\n {\n country: \"AZ\",\n total: 28,\n bban: [\n {\n type: \"c\",\n count: 4\n },\n {\n type: \"n\",\n count: 20\n }\n ],\n format: \"AZkk bbbb cccc cccc cccc cccc cccc\"\n },\n {\n country: \"BH\",\n total: 22,\n bban: [\n {\n type: \"a\",\n count: 4\n },\n {\n type: \"c\",\n count: 14\n }\n ],\n format: \"BHkk bbbb cccc cccc cccc cc\"\n },\n {\n country: \"BE\",\n total: 16,\n bban: [\n {\n type: \"n\",\n count: 3\n },\n {\n type: \"n\",\n count: 9\n }\n ],\n format: \"BEkk bbbc cccc ccxx\"\n },\n {\n country: \"BA\",\n total: 20,\n bban: [\n {\n type: \"n\",\n count: 6\n },\n {\n type: \"n\",\n count: 10\n }\n ],\n format: \"BAkk bbbs sscc cccc ccxx\"\n },\n {\n country: \"BR\",\n total: 29,\n bban: [\n {\n type: \"n\",\n count: 13\n },\n {\n type: \"n\",\n count: 10\n },\n {\n type: \"a\",\n count: 1\n },\n {\n type: \"c\",\n count: 1\n }\n ],\n format: \"BRkk bbbb bbbb ssss sccc cccc ccct n\"\n },\n {\n country: \"BG\",\n total: 22,\n bban: [\n {\n type: \"a\",\n count: 4\n },\n {\n type: \"n\",\n count: 6\n },\n {\n type: \"c\",\n count: 8\n }\n ],\n format: \"BGkk bbbb ssss ddcc cccc cc\"\n },\n {\n country: \"CR\",\n total: 21,\n bban: [\n {\n type: \"n\",\n count: 3\n },\n {\n type: \"n\",\n count: 14\n }\n ],\n format: \"CRkk bbbc cccc cccc cccc c\"\n },\n {\n country: \"HR\",\n total: 21,\n bban: [\n {\n type: \"n\",\n count: 7\n },\n {\n type: \"n\",\n count: 10\n }\n ],\n format: \"HRkk bbbb bbbc cccc cccc c\"\n },\n {\n country: \"CY\",\n total: 28,\n bban: [\n {\n type: \"n\",\n count: 8\n },\n {\n type: \"c\",\n count: 16\n }\n ],\n format: \"CYkk bbbs ssss cccc cccc cccc cccc\"\n },\n {\n country: \"CZ\",\n total: 24,\n bban: [\n {\n type: \"n\",\n count: 10\n },\n {\n type: \"n\",\n count: 10\n }\n ],\n format: \"CZkk bbbb ssss sscc cccc cccc\"\n },\n {\n country: \"DK\",\n total: 18,\n bban: [\n {\n type: \"n\",\n count: 4\n },\n {\n type: \"n\",\n count: 10\n }\n ],\n format: \"DKkk bbbb cccc cccc cc\"\n },\n {\n country: \"DO\",\n total: 28,\n bban: [\n {\n type: \"a\",\n count: 4\n },\n {\n type: \"n\",\n count: 20\n }\n ],\n format: \"DOkk bbbb cccc cccc cccc cccc cccc\"\n },\n {\n country: \"TL\",\n total: 23,\n bban: [\n {\n type: \"n\",\n count: 3\n },\n {\n type: \"n\",\n count: 16\n }\n ],\n format: \"TLkk bbbc cccc cccc cccc cxx\"\n },\n {\n country: \"EE\",\n total: 20,\n bban: [\n {\n type: \"n\",\n count: 4\n },\n {\n type: \"n\",\n count: 12\n }\n ],\n format: \"EEkk bbss cccc cccc cccx\"\n },\n {\n country: \"FO\",\n total: 18,\n bban: [\n {\n type: \"n\",\n count: 4\n },\n {\n type: \"n\",\n count: 10\n }\n ],\n format: \"FOkk bbbb cccc cccc cx\"\n },\n {\n country: \"FI\",\n total: 18,\n bban: [\n {\n type: \"n\",\n count: 6\n },\n {\n type: \"n\",\n count: 8\n }\n ],\n format: \"FIkk bbbb bbcc cccc cx\"\n },\n {\n country: \"FR\",\n total: 27,\n bban: [\n {\n type: \"n\",\n count: 10\n },\n {\n type: \"c\",\n count: 11\n },\n {\n type: \"n\",\n count: 2\n }\n ],\n format: \"FRkk bbbb bggg ggcc cccc cccc cxx\"\n },\n {\n country: \"GE\",\n total: 22,\n bban: [\n {\n type: \"c\",\n count: 2\n },\n {\n type: \"n\",\n count: 16\n }\n ],\n format: \"GEkk bbcc cccc cccc cccc cc\"\n },\n {\n country: \"DE\",\n total: 22,\n bban: [\n {\n type: \"n\",\n count: 8\n },\n {\n type: \"n\",\n count: 10\n }\n ],\n format: \"DEkk bbbb bbbb cccc cccc cc\"\n },\n {\n country: \"GI\",\n total: 23,\n bban: [\n {\n type: \"a\",\n count: 4\n },\n {\n type: \"c\",\n count: 15\n }\n ],\n format: \"GIkk bbbb cccc cccc cccc ccc\"\n },\n {\n country: \"GR\",\n total: 27,\n bban: [\n {\n type: \"n\",\n count: 7\n },\n {\n type: \"c\",\n count: 16\n }\n ],\n format: \"GRkk bbbs sssc cccc cccc cccc ccc\"\n },\n {\n country: \"GL\",\n total: 18,\n bban: [\n {\n type: \"n\",\n count: 4\n },\n {\n type: \"n\",\n count: 10\n }\n ],\n format: \"GLkk bbbb cccc cccc cc\"\n },\n {\n country: \"GT\",\n total: 28,\n bban: [\n {\n type: \"c\",\n count: 4\n },\n {\n type: \"c\",\n count: 4\n },\n {\n type: \"c\",\n count: 16\n }\n ],\n format: \"GTkk bbbb mmtt cccc cccc cccc cccc\"\n },\n {\n country: \"HU\",\n total: 28,\n bban: [\n {\n type: \"n\",\n count: 8\n },\n {\n type: \"n\",\n count: 16\n }\n ],\n format: \"HUkk bbbs sssk cccc cccc cccc cccx\"\n },\n {\n country: \"IS\",\n total: 26,\n bban: [\n {\n type: \"n\",\n count: 6\n },\n {\n type: \"n\",\n count: 16\n }\n ],\n format: \"ISkk bbbb sscc cccc iiii iiii ii\"\n },\n {\n country: \"IE\",\n total: 22,\n bban: [\n {\n type: \"c\",\n count: 4\n },\n {\n type: \"n\",\n count: 6\n },\n {\n type: \"n\",\n count: 8\n }\n ],\n format: \"IEkk aaaa bbbb bbcc cccc cc\"\n },\n {\n country: \"IL\",\n total: 23,\n bban: [\n {\n type: \"n\",\n count: 6\n },\n {\n type: \"n\",\n count: 13\n }\n ],\n format: \"ILkk bbbn nncc cccc cccc ccc\"\n },\n {\n country: \"IT\",\n total: 27,\n bban: [\n {\n type: \"a\",\n count: 1\n },\n {\n type: \"n\",\n count: 10\n },\n {\n type: \"c\",\n count: 12\n }\n ],\n format: \"ITkk xaaa aabb bbbc cccc cccc ccc\"\n },\n {\n country: \"JO\",\n total: 30,\n bban: [\n {\n type: \"a\",\n count: 4\n },\n {\n type: \"n\",\n count: 4\n },\n {\n type: \"n\",\n count: 18\n }\n ],\n format: \"JOkk bbbb nnnn cccc cccc cccc cccc cc\"\n },\n {\n country: \"KZ\",\n total: 20,\n bban: [\n {\n type: \"n\",\n count: 3\n },\n {\n type: \"c\",\n count: 13\n }\n ],\n format: \"KZkk bbbc cccc cccc cccc\"\n },\n {\n country: \"XK\",\n total: 20,\n bban: [\n {\n type: \"n\",\n count: 4\n },\n {\n type: \"n\",\n count: 12\n }\n ],\n format: \"XKkk bbbb cccc cccc cccc\"\n },\n {\n country: \"KW\",\n total: 30,\n bban: [\n {\n type: \"a\",\n count: 4\n },\n {\n type: \"c\",\n count: 22\n }\n ],\n format: \"KWkk bbbb cccc cccc cccc cccc cccc cc\"\n },\n {\n country: \"LV\",\n total: 21,\n bban: [\n {\n type: \"a\",\n count: 4\n },\n {\n type: \"c\",\n count: 13\n }\n ],\n format: \"LVkk bbbb cccc cccc cccc c\"\n },\n {\n country: \"LB\",\n total: 28,\n bban: [\n {\n type: \"n\",\n count: 4\n },\n {\n type: \"c\",\n count: 20\n }\n ],\n format: \"LBkk bbbb cccc cccc cccc cccc cccc\"\n },\n {\n country: \"LI\",\n total: 21,\n bban: [\n {\n type: \"n\",\n count: 5\n },\n {\n type: \"c\",\n count: 12\n }\n ],\n format: \"LIkk bbbb bccc cccc cccc c\"\n },\n {\n country: \"LT\",\n total: 20,\n bban: [\n {\n type: \"n\",\n count: 5\n },\n {\n type: \"n\",\n count: 11\n }\n ],\n format: \"LTkk bbbb bccc cccc cccc\"\n },\n {\n country: \"LU\",\n total: 20,\n bban: [\n {\n type: \"n\",\n count: 3\n },\n {\n type: \"c\",\n count: 13\n }\n ],\n format: \"LUkk bbbc cccc cccc cccc\"\n },\n {\n country: \"MK\",\n total: 19,\n bban: [\n {\n type: \"n\",\n count: 3\n },\n {\n type: \"c\",\n count: 10\n },\n {\n type: \"n\",\n count: 2\n }\n ],\n format: \"MKkk bbbc cccc cccc cxx\"\n },\n {\n country: \"MT\",\n total: 31,\n bban: [\n {\n type: \"a\",\n count: 4\n },\n {\n type: \"n\",\n count: 5\n },\n {\n type: \"c\",\n count: 18\n }\n ],\n format: \"MTkk bbbb ssss sccc cccc cccc cccc ccc\"\n },\n {\n country: \"MR\",\n total: 27,\n bban: [\n {\n type: \"n\",\n count: 10\n },\n {\n type: \"n\",\n count: 13\n }\n ],\n format: \"MRkk bbbb bsss sscc cccc cccc cxx\"\n },\n {\n country: \"MU\",\n total: 30,\n bban: [\n {\n type: \"a\",\n count: 4\n },\n {\n type: \"n\",\n count: 4\n },\n {\n type: \"n\",\n count: 15\n },\n {\n type: \"a\",\n count: 3\n }\n ],\n format: \"MUkk bbbb bbss cccc cccc cccc 000d dd\"\n },\n {\n country: \"MC\",\n total: 27,\n bban: [\n {\n type: \"n\",\n count: 10\n },\n {\n type: \"c\",\n count: 11\n },\n {\n type: \"n\",\n count: 2\n }\n ],\n format: \"MCkk bbbb bsss sscc cccc cccc cxx\"\n },\n {\n country: \"MD\",\n total: 24,\n bban: [\n {\n type: \"c\",\n count: 2\n },\n {\n type: \"c\",\n count: 18\n }\n ],\n format: \"MDkk bbcc cccc cccc cccc cccc\"\n },\n {\n country: \"ME\",\n total: 22,\n bban: [\n {\n type: \"n\",\n count: 3\n },\n {\n type: \"n\",\n count: 15\n }\n ],\n format: \"MEkk bbbc cccc cccc cccc xx\"\n },\n {\n country: \"NL\",\n total: 18,\n bban: [\n {\n type: \"a\",\n count: 4\n },\n {\n type: \"n\",\n count: 10\n }\n ],\n format: \"NLkk bbbb cccc cccc cc\"\n },\n {\n country: \"NO\",\n total: 15,\n bban: [\n {\n type: \"n\",\n count: 4\n },\n {\n type: \"n\",\n count: 7\n }\n ],\n format: \"NOkk bbbb cccc ccx\"\n },\n {\n country: \"PK\",\n total: 24,\n bban: [\n {\n type: \"c\",\n count: 4\n },\n {\n type: \"n\",\n count: 16\n }\n ],\n format: \"PKkk bbbb cccc cccc cccc cccc\"\n },\n {\n country: \"PS\",\n total: 29,\n bban: [\n {\n type: \"c\",\n count: 4\n },\n {\n type: \"n\",\n count: 9\n },\n {\n type: \"n\",\n count: 12\n }\n ],\n format: \"PSkk bbbb xxxx xxxx xccc cccc cccc c\"\n },\n {\n country: \"PL\",\n total: 28,\n bban: [\n {\n type: \"n\",\n count: 8\n },\n {\n type: \"n\",\n count: 16\n }\n ],\n format: \"PLkk bbbs sssx cccc cccc cccc cccc\"\n },\n {\n country: \"PT\",\n total: 25,\n bban: [\n {\n type: \"n\",\n count: 8\n },\n {\n type: \"n\",\n count: 13\n }\n ],\n format: \"PTkk bbbb ssss cccc cccc cccx x\"\n },\n {\n country: \"QA\",\n total: 29,\n bban: [\n {\n type: \"a\",\n count: 4\n },\n {\n type: \"c\",\n count: 21\n }\n ],\n format: \"QAkk bbbb cccc cccc cccc cccc cccc c\"\n },\n {\n country: \"RO\",\n total: 24,\n bban: [\n {\n type: \"a\",\n count: 4\n },\n {\n type: \"c\",\n count: 16\n }\n ],\n format: \"ROkk bbbb cccc cccc cccc cccc\"\n },\n {\n country: \"SM\",\n total: 27,\n bban: [\n {\n type: \"a\",\n count: 1\n },\n {\n type: \"n\",\n count: 10\n },\n {\n type: \"c\",\n count: 12\n }\n ],\n format: \"SMkk xaaa aabb bbbc cccc cccc ccc\"\n },\n {\n country: \"SA\",\n total: 24,\n bban: [\n {\n type: \"n\",\n count: 2\n },\n {\n type: \"c\",\n count: 18\n }\n ],\n format: \"SAkk bbcc cccc cccc cccc cccc\"\n },\n {\n country: \"RS\",\n total: 22,\n bban: [\n {\n type: \"n\",\n count: 3\n },\n {\n type: \"n\",\n count: 15\n }\n ],\n format: \"RSkk bbbc cccc cccc cccc xx\"\n },\n {\n country: \"SK\",\n total: 24,\n bban: [\n {\n type: \"n\",\n count: 10\n },\n {\n type: \"n\",\n count: 10\n }\n ],\n format: \"SKkk bbbb ssss sscc cccc cccc\"\n },\n {\n country: \"SI\",\n total: 19,\n bban: [\n {\n type: \"n\",\n count: 5\n },\n {\n type: \"n\",\n count: 10\n }\n ],\n format: \"SIkk bbss sccc cccc cxx\"\n },\n {\n country: \"ES\",\n total: 24,\n bban: [\n {\n type: \"n\",\n count: 10\n },\n {\n type: \"n\",\n count: 10\n }\n ],\n format: \"ESkk bbbb gggg xxcc cccc cccc\"\n },\n {\n country: \"SE\",\n total: 24,\n bban: [\n {\n type: \"n\",\n count: 3\n },\n {\n type: \"n\",\n count: 17\n }\n ],\n format: \"SEkk bbbc cccc cccc cccc cccc\"\n },\n {\n country: \"CH\",\n total: 21,\n bban: [\n {\n type: \"n\",\n count: 5\n },\n {\n type: \"c\",\n count: 12\n }\n ],\n format: \"CHkk bbbb bccc cccc cccc c\"\n },\n {\n country: \"TN\",\n total: 24,\n bban: [\n {\n type: \"n\",\n count: 5\n },\n {\n type: \"n\",\n count: 15\n }\n ],\n format: \"TNkk bbss sccc cccc cccc cccc\"\n },\n {\n country: \"TR\",\n total: 26,\n bban: [\n {\n type: \"n\",\n count: 5\n },\n {\n type: \"c\",\n count: 1\n },\n {\n type: \"c\",\n count: 16\n }\n ],\n format: \"TRkk bbbb bxcc cccc cccc cccc cc\"\n },\n {\n country: \"AE\",\n total: 23,\n bban: [\n {\n type: \"n\",\n count: 3\n },\n {\n type: \"n\",\n count: 16\n }\n ],\n format: \"AEkk bbbc cccc cccc cccc ccc\"\n },\n {\n country: \"GB\",\n total: 22,\n bban: [\n {\n type: \"a\",\n count: 4\n },\n {\n type: \"n\",\n count: 6\n },\n {\n type: \"n\",\n count: 8\n }\n ],\n format: \"GBkk bbbb ssss sscc cccc cc\"\n },\n {\n country: \"VG\",\n total: 24,\n bban: [\n {\n type: \"c\",\n count: 4\n },\n {\n type: \"n\",\n count: 16\n }\n ],\n format: \"VGkk bbbb cccc cccc cccc cccc\"\n }\n ],\n iso3166: [\n \"AC\", \"AD\", \"AE\", \"AF\", \"AG\", \"AI\", \"AL\", \"AM\", \"AN\", \"AO\", \"AQ\", \"AR\", \"AS\",\n \"AT\", \"AU\", \"AW\", \"AX\", \"AZ\", \"BA\", \"BB\", \"BD\", \"BE\", \"BF\", \"BG\", \"BH\", \"BI\",\n \"BJ\", \"BL\", \"BM\", \"BN\", \"BO\", \"BQ\", \"BR\", \"BS\", \"BT\", \"BU\", \"BV\", \"BW\", \"BY\",\n \"BZ\", \"CA\", \"CC\", \"CD\", \"CE\", \"CF\", \"CG\", \"CH\", \"CI\", \"CK\", \"CL\", \"CM\", \"CN\",\n \"CO\", \"CP\", \"CR\", \"CS\", \"CS\", \"CU\", \"CV\", \"CW\", \"CX\", \"CY\", \"CZ\", \"DD\", \"DE\",\n \"DG\", \"DJ\", \"DK\", \"DM\", \"DO\", \"DZ\", \"EA\", \"EC\", \"EE\", \"EG\", \"EH\", \"ER\", \"ES\",\n \"ET\", \"EU\", \"FI\", \"FJ\", \"FK\", \"FM\", \"FO\", \"FR\", \"FX\", \"GA\", \"GB\", \"GD\", \"GE\",\n \"GF\", \"GG\", \"GH\", \"GI\", \"GL\", \"GM\", \"GN\", \"GP\", \"GQ\", \"GR\", \"GS\", \"GT\", \"GU\",\n \"GW\", \"GY\", \"HK\", \"HM\", \"HN\", \"HR\", \"HT\", \"HU\", \"IC\", \"ID\", \"IE\", \"IL\", \"IM\",\n \"IN\", \"IO\", \"IQ\", \"IR\", \"IS\", \"IT\", \"JE\", \"JM\", \"JO\", \"JP\", \"KE\", \"KG\", \"KH\",\n \"KI\", \"KM\", \"KN\", \"KP\", \"KR\", \"KW\", \"KY\", \"KZ\", \"LA\", \"LB\", \"LC\", \"LI\", \"LK\",\n \"LR\", \"LS\", \"LT\", \"LU\", \"LV\", \"LY\", \"MA\", \"MC\", \"MD\", \"ME\", \"MF\", \"MG\", \"MH\",\n \"MK\", \"ML\", \"MM\", \"MN\", \"MO\", \"MP\", \"MQ\", \"MR\", \"MS\", \"MT\", \"MU\", \"MV\", \"MW\",\n \"MX\", \"MY\", \"MZ\", \"NA\", \"NC\", \"NE\", \"NF\", \"NG\", \"NI\", \"NL\", \"NO\", \"NP\", \"NR\",\n \"NT\", \"NU\", \"NZ\", \"OM\", \"PA\", \"PE\", \"PF\", \"PG\", \"PH\", \"PK\", \"PL\", \"PM\", \"PN\",\n \"PR\", \"PS\", \"PT\", \"PW\", \"PY\", \"QA\", \"RE\", \"RO\", \"RS\", \"RU\", \"RW\", \"SA\", \"SB\",\n \"SC\", \"SD\", \"SE\", \"SG\", \"SH\", \"SI\", \"SJ\", \"SK\", \"SL\", \"SM\", \"SN\", \"SO\", \"SR\",\n \"SS\", \"ST\", \"SU\", \"SV\", \"SX\", \"SY\", \"SZ\", \"TA\", \"TC\", \"TD\", \"TF\", \"TG\", \"TH\",\n \"TJ\", \"TK\", \"TL\", \"TM\", \"TN\", \"TO\", \"TR\", \"TT\", \"TV\", \"TW\", \"TZ\", \"UA\", \"UG\",\n \"UM\", \"US\", \"UY\", \"UZ\", \"VA\", \"VC\", \"VE\", \"VG\", \"VI\", \"VN\", \"VU\", \"WF\", \"WS\",\n \"YE\", \"YT\", \"YU\", \"ZA\", \"ZM\", \"ZR\", \"ZW\"\n ]\n}","/**\n * @namespace faker.finance\n */\nvar Finance = function (faker) {\n var ibanLib = require(\"./iban\");\n var Helpers = faker.helpers,\n self = this;\n\n /**\n * account\n *\n * @method faker.finance.account\n * @param {number} length\n */\n self.account = function (length) {\n\n length = length || 8;\n\n var template = '';\n\n for (var i = 0; i < length; i++) {\n template = template + '#';\n }\n length = null;\n return Helpers.replaceSymbolWithNumber(template);\n };\n\n /**\n * accountName\n *\n * @method faker.finance.accountName\n */\n self.accountName = function () {\n\n return [Helpers.randomize(faker.definitions.finance.account_type), 'Account'].join(' ');\n };\n\n /**\n * routingNumber\n *\n * @method faker.finance.routingNumber\n */\n self.routingNumber = function () {\n\n var routingNumber = Helpers.replaceSymbolWithNumber('########');\n\n // Modules 10 straight summation.\n var sum = 0;\n\n for (var i = 0; i < routingNumber.length; i += 3) {\n sum += Number(routingNumber[i]) * 3;\n sum += Number(routingNumber[i + 1]) * 7;\n sum += Number(routingNumber[i + 2]) || 0;\n }\n\n return routingNumber + (Math.ceil(sum / 10) * 10 - sum);\n }\n\n /**\n * mask\n *\n * @method faker.finance.mask\n * @param {number} length\n * @param {boolean} parens\n * @param {boolean} ellipsis\n */\n self.mask = function (length, parens, ellipsis) {\n\n //set defaults\n length = (length == 0 || !length || typeof length == 'undefined') ? 4 : length;\n parens = (parens === null) ? true : parens;\n ellipsis = (ellipsis === null) ? true : ellipsis;\n\n //create a template for length\n var template = '';\n\n for (var i = 0; i < length; i++) {\n template = template + '#';\n }\n\n //prefix with ellipsis\n template = (ellipsis) ? ['...', template].join('') : template;\n\n template = (parens) ? ['(', template, ')'].join('') : template;\n\n //generate random numbers\n template = Helpers.replaceSymbolWithNumber(template);\n\n return template;\n };\n\n //min and max take in minimum and maximum amounts, dec is the decimal place you want rounded to, symbol is $, €, £, etc\n //NOTE: this returns a string representation of the value, if you want a number use parseFloat and no symbol\n\n /**\n * amount\n *\n * @method faker.finance.amount\n * @param {number} min\n * @param {number} max\n * @param {number} dec\n * @param {string} symbol\n *\n * @return {string}\n */\n self.amount = function (min, max, dec, symbol) {\n\n min = min || 0;\n max = max || 1000;\n dec = dec === undefined ? 2 : dec;\n symbol = symbol || '';\n var randValue = faker.random.number({ max: max, min: min, precision: Math.pow(10, -dec) });\n var stringNumber = symbol + randValue.toFixed(dec);\n\n return symbol + randValue.toFixed(dec);\n };\n\n /**\n * transactionType\n *\n * @method faker.finance.transactionType\n */\n self.transactionType = function () {\n return Helpers.randomize(faker.definitions.finance.transaction_type);\n };\n\n /**\n * currencyCode\n *\n * @method faker.finance.currencyCode\n */\n self.currencyCode = function () {\n return faker.random.objectElement(faker.definitions.finance.currency)['code'];\n };\n\n /**\n * currencyName\n *\n * @method faker.finance.currencyName\n */\n self.currencyName = function () {\n return faker.random.objectElement(faker.definitions.finance.currency, 'key');\n };\n\n /**\n * currencySymbol\n *\n * @method faker.finance.currencySymbol\n */\n self.currencySymbol = function () {\n var symbol;\n\n while (!symbol) {\n symbol = faker.random.objectElement(faker.definitions.finance.currency)['symbol'];\n }\n return symbol;\n };\n\n /**\n * bitcoinAddress\n *\n * @method faker.finance.bitcoinAddress\n */\n self.bitcoinAddress = function () {\n var addressLength = faker.random.number({ min: 25, max: 34 });\n\n var address = faker.random.arrayElement(['1', '3']);\n\n for (var i = 0; i < addressLength - 1; i++)\n address += faker.random.arrayElement('123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ'.split(''));\n\n return address;\n }\n\n/**\n * litecoinAddress\n *\n * @method faker.finance.litecoinAddress\n */\nself.litecoinAddress = function () {\n var addressLength = faker.random.number({ min: 26, max: 33 });\n\n var address = faker.random.arrayElement(['L', 'M', '3']);\n\n for (var i = 0; i < addressLength - 1; i++)\n address += faker.random.arrayElement('123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ'.split(''));\n\n return address;\n}\n\n /**\n * Credit card number\n * @method faker.finance.creditCardNumber\n * @param {string} provider | scheme\n */\n self.creditCardNumber = function(provider){\n provider = provider || \"\";\n var format, formats;\n var localeFormat = faker.definitions.finance.credit_card;\n if (provider in localeFormat) {\n formats = localeFormat[provider]; // there chould be multiple formats\n if (typeof formats === \"string\") {\n format = formats;\n } else {\n format = faker.random.arrayElement(formats);\n }\n } else if (provider.match(/#/)) { // The user chose an optional scheme\n format = provider;\n } else { // Choose a random provider\n if (typeof localeFormat === 'string') {\n format = localeFormat;\n } else if( typeof localeFormat === \"object\") {\n // Credit cards are in a object structure\n formats = faker.random.objectElement(localeFormat, \"value\"); // There chould be multiple formats\n if (typeof formats === \"string\") {\n format = formats;\n } else {\n format = faker.random.arrayElement(formats);\n }\n }\n }\n format = format.replace(/\\//g,\"\")\n return Helpers.replaceCreditCardSymbols(format);\n };\n /**\n * Credit card CVV\n * @method faker.finance.creditCardCVV\n */\n self.creditCardCVV = function() {\n var cvv = \"\";\n for (var i = 0; i < 3; i++) {\n cvv += faker.random.number({max:9}).toString();\n }\n return cvv;\n };\n\n /**\n * ethereumAddress\n *\n * @method faker.finance.ethereumAddress\n */\n self.ethereumAddress = function () {\n var address = faker.random.hexaDecimal(40).toLowerCase();\n\n return address;\n };\n\n /**\n * iban\n *\n * @param {boolean} [formatted=false] - Return a formatted version of the generated IBAN.\n * @param {string} [countryCode] - The country code from which you want to generate an IBAN, if none is provided a random country will be used.\n * @throws Will throw an error if the passed country code is not supported.\n *\n * @method faker.finance.iban\n */\n self.iban = function (formatted, countryCode) {\n var ibanFormat;\n if (countryCode) {\n var findFormat = function(currentFormat) { return currentFormat.country === countryCode; };\n ibanFormat = ibanLib.formats.find(findFormat);\n } else {\n ibanFormat = faker.random.arrayElement(ibanLib.formats);\n }\n\n if (!ibanFormat) {\n throw new Error('Country code ' + countryCode + ' not supported.');\n }\n\n var s = \"\";\n var count = 0;\n for (var b = 0; b < ibanFormat.bban.length; b++) {\n var bban = ibanFormat.bban[b];\n var c = bban.count;\n count += bban.count;\n while (c > 0) {\n if (bban.type == \"a\") {\n s += faker.random.arrayElement(ibanLib.alpha);\n } else if (bban.type == \"c\") {\n if (faker.random.number(100) < 80) {\n s += faker.random.number(9);\n } else {\n s += faker.random.arrayElement(ibanLib.alpha);\n }\n } else {\n if (c >= 3 && faker.random.number(100) < 30) {\n if (faker.random.boolean()) {\n s += faker.random.arrayElement(ibanLib.pattern100);\n c -= 2;\n } else {\n s += faker.random.arrayElement(ibanLib.pattern10);\n c--;\n }\n } else {\n s += faker.random.number(9);\n }\n }\n c--;\n }\n s = s.substring(0, count);\n }\n var checksum = 98 - ibanLib.mod97(ibanLib.toDigitString(s + ibanFormat.country + \"00\"));\n if (checksum < 10) {\n checksum = \"0\" + checksum;\n }\n var iban = ibanFormat.country + checksum + s;\n return formatted ? iban.match(/.{1,4}/g).join(\" \") : iban;\n };\n\n /**\n * bic\n *\n * @method faker.finance.bic\n */\n self.bic = function () {\n var vowels = [\"A\", \"E\", \"I\", \"O\", \"U\"];\n var prob = faker.random.number(100);\n return Helpers.replaceSymbols(\"???\") +\n faker.random.arrayElement(vowels) +\n faker.random.arrayElement(ibanLib.iso3166) +\n Helpers.replaceSymbols(\"?\") + \"1\" +\n (prob < 10 ?\n Helpers.replaceSymbols(\"?\" + faker.random.arrayElement(vowels) + \"?\") :\n prob < 40 ?\n Helpers.replaceSymbols(\"###\") : \"\");\n };\n\n /**\n * description\n *\n * @method faker.finance.transactionDescription\n */\n self.transactionDescription = function() {\n var account = Helpers.createTransaction().account\n var card = faker.finance.mask();\n var currency = faker.finance.currencyCode();\n var amount = Helpers.createTransaction().amount\n var transactionType = Helpers.createTransaction().type\n var company = Helpers.createTransaction().business\n return transactionType + \" transaction at \" + company + \" using card ending with ***\" + card + \" for \" + currency + \" \" + amount + \" in account ***\" + account\n }\n\n};\n\nmodule['exports'] = Finance;\n","/**\n *\n * @namespace lorempixel\n * @memberof faker.image\n */\nvar Lorempixel = function (faker) {\n\n var self = this;\n\n /**\n * image\n *\n * @param {number} width\n * @param {number} height\n * @param {boolean} randomize\n * @method faker.image.lorempixel.image\n */\n self.image = function (width, height, randomize) {\n var categories = [\"abstract\", \"animals\", \"business\", \"cats\", \"city\", \"food\", \"nightlife\", \"fashion\", \"people\", \"nature\", \"sports\", \"technics\", \"transport\"];\n return self[faker.random.arrayElement(categories)](width, height, randomize);\n };\n /**\n * avatar\n *\n * @method faker.image.lorempixel.avatar\n */\n self.avatar = function () {\n return faker.internet.avatar();\n };\n /**\n * imageUrl\n *\n * @param {number} width\n * @param {number} height\n * @param {string} category\n * @param {boolean} randomize\n * @method faker.image.lorempixel.imageUrl\n */\n self.imageUrl = function (width, height, category, randomize) {\n var width = width || 640;\n var height = height || 480;\n\n var url ='https://lorempixel.com/' + width + '/' + height;\n if (typeof category !== 'undefined') {\n url += '/' + category;\n }\n\n if (randomize) {\n url += '?' + faker.random.number()\n }\n\n return url;\n };\n /**\n * abstract\n *\n * @param {number} width\n * @param {number} height\n * @param {boolean} randomize\n * @method faker.image.lorempixel.abstract\n */\n self.abstract = function (width, height, randomize) {\n return faker.image.lorempixel.imageUrl(width, height, 'abstract', randomize);\n };\n /**\n * animals\n *\n * @param {number} width\n * @param {number} height\n * @param {boolean} randomize\n * @method faker.image.lorempixel.animals\n */\n self.animals = function (width, height, randomize) {\n return faker.image.lorempixel.imageUrl(width, height, 'animals', randomize);\n };\n /**\n * business\n *\n * @param {number} width\n * @param {number} height\n * @param {boolean} randomize\n * @method faker.image.lorempixel.business\n */\n self.business = function (width, height, randomize) {\n return faker.image.lorempixel.imageUrl(width, height, 'business', randomize);\n };\n /**\n * cats\n *\n * @param {number} width\n * @param {number} height\n * @param {boolean} randomize\n * @method faker.image.lorempixel.cats\n */\n self.cats = function (width, height, randomize) {\n return faker.image.lorempixel.imageUrl(width, height, 'cats', randomize);\n };\n /**\n * city\n *\n * @param {number} width\n * @param {number} height\n * @param {boolean} randomize\n * @method faker.image.lorempixel.city\n */\n self.city = function (width, height, randomize) {\n return faker.image.lorempixel.imageUrl(width, height, 'city', randomize);\n };\n /**\n * food\n *\n * @param {number} width\n * @param {number} height\n * @param {boolean} randomize\n * @method faker.image.lorempixel.food\n */\n self.food = function (width, height, randomize) {\n return faker.image.lorempixel.imageUrl(width, height, 'food', randomize);\n };\n /**\n * nightlife\n *\n * @param {number} width\n * @param {number} height\n * @param {boolean} randomize\n * @method faker.image.lorempixel.nightlife\n */\n self.nightlife = function (width, height, randomize) {\n return faker.image.lorempixel.imageUrl(width, height, 'nightlife', randomize);\n };\n /**\n * fashion\n *\n * @param {number} width\n * @param {number} height\n * @param {boolean} randomize\n * @method faker.image.lorempixel.fashion\n */\n self.fashion = function (width, height, randomize) {\n return faker.image.lorempixel.imageUrl(width, height, 'fashion', randomize);\n };\n /**\n * people\n *\n * @param {number} width\n * @param {number} height\n * @param {boolean} randomize\n * @method faker.image.lorempixel.people\n */\n self.people = function (width, height, randomize) {\n return faker.image.lorempixel.imageUrl(width, height, 'people', randomize);\n };\n /**\n * nature\n *\n * @param {number} width\n * @param {number} height\n * @param {boolean} randomize\n * @method faker.image.lorempixel.nature\n */\n self.nature = function (width, height, randomize) {\n return faker.image.lorempixel.imageUrl(width, height, 'nature', randomize);\n };\n /**\n * sports\n *\n * @param {number} width\n * @param {number} height\n * @param {boolean} randomize\n * @method faker.image.lorempixel.sports\n */\n self.sports = function (width, height, randomize) {\n return faker.image.lorempixel.imageUrl(width, height, 'sports', randomize);\n };\n /**\n * technics\n *\n * @param {number} width\n * @param {number} height\n * @param {boolean} randomize\n * @method faker.image.lorempixel.technics\n */\n self.technics = function (width, height, randomize) {\n return faker.image.lorempixel.imageUrl(width, height, 'technics', randomize);\n };\n /**\n * transport\n *\n * @param {number} width\n * @param {number} height\n * @param {boolean} randomize\n * @method faker.image.lorempixel.transport\n */\n self.transport = function (width, height, randomize) {\n return faker.image.lorempixel.imageUrl(width, height, 'transport', randomize);\n }\n}\n\nmodule[\"exports\"] = Lorempixel;\n","/**\n *\n * @namespace unsplash\n * @memberof faker.image\n */\nvar Unsplash = function (faker) {\n\n var self = this;\n var categories = [\"food\", \"nature\", \"people\", \"technology\", \"objects\", \"buildings\"];\n\n /**\n * image\n *\n * @param {number} width\n * @param {number} height\n * @param {string} keyword\n * @method faker.image.unsplash.image\n * @description search image from unsplash\n */\n self.image = function (width, height, keyword) {\n return self.imageUrl(width, height, undefined, keyword);\n };\n /**\n * avatar\n *\n * @method faker.image.unsplash.avatar\n */\n self.avatar = function () {\n return faker.internet.avatar();\n };\n /**\n * imageUrl\n *\n * @param {number} width\n * @param {number} height\n * @param {string} category\n * @param {string} keyword\n * @method faker.image.unsplash.imageUrl\n */\n self.imageUrl = function (width, height, category, keyword) {\n var width = width || 640;\n var height = height || 480;\n\n var url ='https://source.unsplash.com';\n\n if (typeof category !== 'undefined') {\n url += '/category/' + category;\n }\n\n url += '/' + width + 'x' + height;\n\n if (typeof keyword !== 'undefined') {\n var keywordFormat = new RegExp('^([A-Za-z0-9].+,[A-Za-z0-9]+)$|^([A-Za-z0-9]+)$');\n if (keywordFormat.test(keyword)) {\n url += '?' + keyword;\n }\n }\n\n return url;\n };\n /**\n * food\n *\n * @param {number} width\n * @param {number} height\n * @param {string} keyword\n * @method faker.image.unsplash.food\n */\n self.food = function (width, height, keyword) {\n return faker.image.unsplash.imageUrl(width, height, 'food', keyword);\n };\n /**\n * people\n *\n * @param {number} width\n * @param {number} height\n * @param {string} keyword\n * @method faker.image.unsplash.people\n */\n self.people = function (width, height, keyword) {\n return faker.image.unsplash.imageUrl(width, height, 'people', keyword);\n };\n /**\n * nature\n *\n * @param {number} width\n * @param {number} height\n * @param {string} keyword\n * @method faker.image.unsplash.nature\n */\n self.nature = function (width, height, keyword) {\n return faker.image.unsplash.imageUrl(width, height, 'nature', keyword);\n };\n /**\n * technology\n *\n * @param {number} width\n * @param {number} height\n * @param {string} keyword\n * @method faker.image.unsplash.technology\n */\n self.technology = function (width, height, keyword) {\n return faker.image.unsplash.imageUrl(width, height, 'technology', keyword);\n };\n /**\n * objects\n *\n * @param {number} width\n * @param {number} height\n * @param {string} keyword\n * @method faker.image.unsplash.objects\n */\n self.objects = function (width, height, keyword) {\n return faker.image.unsplash.imageUrl(width, height, 'objects', keyword);\n };\n /**\n * buildings\n *\n * @param {number} width\n * @param {number} height\n * @param {string} keyword\n * @method faker.image.unsplash.buildings\n */\n self.buildings = function (width, height, keyword) {\n return faker.image.unsplash.imageUrl(width, height, 'buildings', keyword);\n };\n}\n\nmodule[\"exports\"] = Unsplash;\n","/**\n *\n * @namespace lorempicsum\n * @memberof faker.image\n */\nvar LoremPicsum = function (faker) {\n\n var self = this;\n\n /**\n * image\n *\n * @param {number} width\n * @param {number} height\n * @param {boolean} grayscale\n * @param {number} blur 1-10\n * @method faker.image.lorempicsum.image\n * @description search image from unsplash\n */\n self.image = function (width, height, grayscale, blur) {\n return self.imageUrl(width, height, grayscale, blur);\n };\n /**\n * imageGrayscaled\n *\n * @param {number} width\n * @param {number} height\n * @param {boolean} grayscale\n * @method faker.image.lorempicsum.imageGrayscaled\n * @description search grayscale image from unsplash\n */\n self.imageGrayscale = function (width, height, grayscale) {\n return self.imageUrl(width, height, grayscale);\n };\n /**\n * imageBlurred\n *\n * @param {number} width\n * @param {number} height\n * @param {number} blur 1-10\n * @method faker.image.lorempicsum.imageBlurred\n * @description search blurred image from unsplash\n */\n self.imageBlurred = function (width, height, blur) {\n return self.imageUrl(width, height, undefined, blur);\n };\n /**\n * imageRandomSeeded\n *\n * @param {number} width\n * @param {number} height\n * @param {boolean} grayscale\n * @param {number} blur 1-10\n * @param {string} seed\n * @method faker.image.lorempicsum.imageRandomSeeded\n * @description search same random image from unsplash, based on a seed\n */\n self.imageRandomSeeded = function (width, height, grayscale, blur, seed) {\n return self.imageUrl(width, height, grayscale, blur, seed);\n };\n /**\n * avatar\n *\n * @method faker.image.lorempicsum.avatar\n */\n self.avatar = function () {\n return faker.internet.avatar();\n };\n /**\n * imageUrl\n *\n * @param {number} width\n * @param {number} height\n * @param {boolean} grayscale\n * @param {number} blur 1-10\n * @param {string} seed\n * @method faker.image.lorempicsum.imageUrl\n */\n self.imageUrl = function (width, height, grayscale, blur, seed) {\n var width = width || 640;\n var height = height || 480;\n \n var url = 'https://picsum.photos';\n \n if (seed) {\n url += '/seed/' + seed;\n }\n\n url += '/' + width + '/' + height;\n \n if (grayscale && blur) {\n return url + '?grayscale' + '&blur=' + blur;\n }\n\n if (grayscale) {\n return url + '?grayscale';\n }\n\n if (blur) {\n return url + '?blur=' + blur;\n }\n \n return url;\n };\n }\n \n module[\"exports\"] = LoremPicsum;\n ","/**\n *\n * @namespace faker.image\n * @property {object} lorempixel - faker.image.lorempixel\n * @property {object} unsplash - faker.image.unsplash\n * @property {object} unsplash - faker.image.lorempicsum\n * @default Default provider is unsplash image provider\n */\nvar Image = function (faker) {\n\n var self = this;\n var Lorempixel = require('./image_providers/lorempixel');\n var Unsplash = require('./image_providers/unsplash');\n var LoremPicsum = require('./image_providers/lorempicsum');\n\n /**\n * image\n *\n * @param {number} width\n * @param {number} height\n * @param {boolean} randomize\n * @method faker.image.image\n */\n self.image = function (width, height, randomize) {\n var categories = [\"abstract\", \"animals\", \"business\", \"cats\", \"city\", \"food\", \"nightlife\", \"fashion\", \"people\", \"nature\", \"sports\", \"technics\", \"transport\"];\n return self[faker.random.arrayElement(categories)](width, height, randomize);\n };\n /**\n * avatar\n *\n * @method faker.image.avatar\n */\n self.avatar = function () {\n return faker.internet.avatar();\n };\n /**\n * imageUrl\n *\n * @param {number} width\n * @param {number} height\n * @param {string} category\n * @param {boolean} randomize\n * @method faker.image.imageUrl\n */\n self.imageUrl = function (width, height, category, randomize, https) {\n var width = width || 640;\n var height = height || 480;\n var protocol = 'http://';\n if (typeof https !== 'undefined' && https === true) {\n protocol = 'https://';\n }\n var url = protocol + 'placeimg.com/' + width + '/' + height;\n if (typeof category !== 'undefined') {\n url += '/' + category;\n }\n\n if (randomize) {\n url += '?' + faker.random.number()\n }\n\n return url;\n };\n /**\n * abstract\n *\n * @param {number} width\n * @param {number} height\n * @param {boolean} randomize\n * @method faker.image.abstract\n */\n self.abstract = function (width, height, randomize) {\n return faker.image.imageUrl(width, height, 'abstract', randomize);\n };\n /**\n * animals\n *\n * @param {number} width\n * @param {number} height\n * @param {boolean} randomize\n * @method faker.image.animals\n */\n self.animals = function (width, height, randomize) {\n return faker.image.imageUrl(width, height, 'animals', randomize);\n };\n /**\n * business\n *\n * @param {number} width\n * @param {number} height\n * @param {boolean} randomize\n * @method faker.image.business\n */\n self.business = function (width, height, randomize) {\n return faker.image.imageUrl(width, height, 'business', randomize);\n };\n /**\n * cats\n *\n * @param {number} width\n * @param {number} height\n * @param {boolean} randomize\n * @method faker.image.cats\n */\n self.cats = function (width, height, randomize) {\n return faker.image.imageUrl(width, height, 'cats', randomize);\n };\n /**\n * city\n *\n * @param {number} width\n * @param {number} height\n * @param {boolean} randomize\n * @method faker.image.city\n */\n self.city = function (width, height, randomize) {\n return faker.image.imageUrl(width, height, 'city', randomize);\n };\n /**\n * food\n *\n * @param {number} width\n * @param {number} height\n * @param {boolean} randomize\n * @method faker.image.food\n */\n self.food = function (width, height, randomize) {\n return faker.image.imageUrl(width, height, 'food', randomize);\n };\n /**\n * nightlife\n *\n * @param {number} width\n * @param {number} height\n * @param {boolean} randomize\n * @method faker.image.nightlife\n */\n self.nightlife = function (width, height, randomize) {\n return faker.image.imageUrl(width, height, 'nightlife', randomize);\n };\n /**\n * fashion\n *\n * @param {number} width\n * @param {number} height\n * @param {boolean} randomize\n * @method faker.image.fashion\n */\n self.fashion = function (width, height, randomize) {\n return faker.image.imageUrl(width, height, 'fashion', randomize);\n };\n /**\n * people\n *\n * @param {number} width\n * @param {number} height\n * @param {boolean} randomize\n * @method faker.image.people\n */\n self.people = function (width, height, randomize) {\n return faker.image.imageUrl(width, height, 'people', randomize);\n };\n /**\n * nature\n *\n * @param {number} width\n * @param {number} height\n * @param {boolean} randomize\n * @method faker.image.nature\n */\n self.nature = function (width, height, randomize) {\n return faker.image.imageUrl(width, height, 'nature', randomize);\n };\n /**\n * sports\n *\n * @param {number} width\n * @param {number} height\n * @param {boolean} randomize\n * @method faker.image.sports\n */\n self.sports = function (width, height, randomize) {\n return faker.image.imageUrl(width, height, 'sports', randomize);\n };\n /**\n * technics\n *\n * @param {number} width\n * @param {number} height\n * @param {boolean} randomize\n * @method faker.image.technics\n */\n self.technics = function (width, height, randomize) {\n return faker.image.imageUrl(width, height, 'technics', randomize);\n };\n /**\n * transport\n *\n * @param {number} width\n * @param {number} height\n * @param {boolean} randomize\n * @method faker.image.transport\n */\n self.transport = function (width, height, randomize) {\n return faker.image.imageUrl(width, height, 'transport', randomize);\n };\n /**\n * dataUri\n *\n * @param {number} width\n * @param {number} height\n * @param {string} color\n * @method faker.image.dataUri\n */\n self.dataUri = function (width, height, color) {\n color = color || 'grey';\n var svgString = '<svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\" baseProfile=\"full\" width=\"' + width + '\" height=\"' + height + '\"><rect width=\"100%\" height=\"100%\" fill=\"' + color + '\"/><text x=\"' + width / 2 + '\" y=\"' + height / 2 + '\" font-size=\"20\" alignment-baseline=\"middle\" text-anchor=\"middle\" fill=\"white\">' + width + 'x' + height + '</text></svg>';\n var rawPrefix = 'data:image/svg+xml;charset=UTF-8,';\n return rawPrefix + encodeURIComponent(svgString);\n };\n\n self.lorempixel = new Lorempixel(faker);\n self.unsplash = new Unsplash(faker);\n self.lorempicsum = new LoremPicsum(faker);\n\n // Object.assign(self, self.unsplash);\n // How to set default as unsplash? should be image.default?\n}\n\n\nmodule[\"exports\"] = Image;\n","\n/**\n *\n * @namespace faker.lorem\n */\nvar Lorem = function (faker) {\n var self = this;\n var Helpers = faker.helpers;\n\n /**\n * generates a word of a specified length\n *\n * @method faker.lorem.word\n * @param {number} length length of the word that should be returned. Defaults to a random length\n */\n self.word = function (length) {\n var hasRightLength = function(word) { return word.length === length; };\n var properLengthWords;\n if(typeof length === 'undefined') {\n properLengthWords = faker.definitions.lorem.words;\n } else {\n properLengthWords = faker.definitions.lorem.words.filter(hasRightLength);\n }\n return faker.random.arrayElement(properLengthWords);\n };\n\n /**\n * generates a space separated list of words\n *\n * @method faker.lorem.words\n * @param {number} num number of words, defaults to 3\n */\n self.words = function (num) {\n if (typeof num == 'undefined') { num = 3; }\n var words = [];\n for (var i = 0; i < num; i++) {\n words.push(faker.lorem.word());\n }\n return words.join(' ');\n };\n\n /**\n * sentence\n *\n * @method faker.lorem.sentence\n * @param {number} wordCount defaults to a random number between 3 and 10\n * @param {number} range\n */\n self.sentence = function (wordCount, range) {\n if (typeof wordCount == 'undefined') { wordCount = faker.random.number({ min: 3, max: 10 }); }\n // if (typeof range == 'undefined') { range = 7; }\n\n // strange issue with the node_min_test failing for captialize, please fix and add faker.lorem.back\n //return faker.lorem.words(wordCount + Helpers.randomNumber(range)).join(' ').capitalize();\n\n var sentence = faker.lorem.words(wordCount);\n return sentence.charAt(0).toUpperCase() + sentence.slice(1) + '.';\n };\n\n /**\n * slug\n *\n * @method faker.lorem.slug\n * @param {number} wordCount number of words, defaults to 3\n */\n self.slug = function (wordCount) {\n var words = faker.lorem.words(wordCount);\n return Helpers.slugify(words);\n };\n\n /**\n * sentences\n *\n * @method faker.lorem.sentences\n * @param {number} sentenceCount defautls to a random number between 2 and 6\n * @param {string} separator defaults to `' '`\n */\n self.sentences = function (sentenceCount, separator) {\n if (typeof sentenceCount === 'undefined') { sentenceCount = faker.random.number({ min: 2, max: 6 });}\n if (typeof separator == 'undefined') { separator = \" \"; }\n var sentences = [];\n for (sentenceCount; sentenceCount > 0; sentenceCount--) {\n sentences.push(faker.lorem.sentence());\n }\n return sentences.join(separator);\n };\n\n /**\n * paragraph\n *\n * @method faker.lorem.paragraph\n * @param {number} sentenceCount defaults to 3\n */\n self.paragraph = function (sentenceCount) {\n if (typeof sentenceCount == 'undefined') { sentenceCount = 3; }\n return faker.lorem.sentences(sentenceCount + faker.random.number(3));\n };\n\n /**\n * paragraphs\n *\n * @method faker.lorem.paragraphs\n * @param {number} paragraphCount defaults to 3\n * @param {string} separator defaults to `'\\n \\r'`\n */\n self.paragraphs = function (paragraphCount, separator) {\n if (typeof separator === \"undefined\") {\n separator = \"\\n \\r\";\n }\n if (typeof paragraphCount == 'undefined') { paragraphCount = 3; }\n var paragraphs = [];\n for (paragraphCount; paragraphCount > 0; paragraphCount--) {\n paragraphs.push(faker.lorem.paragraph());\n }\n return paragraphs.join(separator);\n }\n\n /**\n * returns random text based on a random lorem method\n *\n * @method faker.lorem.text\n * @param {number} times\n */\n self.text = function loremText (times) {\n var loremMethods = ['lorem.word', 'lorem.words', 'lorem.sentence', 'lorem.sentences', 'lorem.paragraph', 'lorem.paragraphs', 'lorem.lines'];\n var randomLoremMethod = faker.random.arrayElement(loremMethods);\n return faker.fake('{{' + randomLoremMethod + '}}');\n };\n\n /**\n * returns lines of lorem separated by `'\\n'`\n *\n * @method faker.lorem.lines\n * @param {number} lineCount defaults to a random number between 1 and 5\n */\n self.lines = function lines (lineCount) {\n if (typeof lineCount === 'undefined') { lineCount = faker.random.number({ min: 1, max: 5 });}\n return faker.lorem.sentences(lineCount, '\\n')\n };\n\n return self;\n};\n\n\nmodule[\"exports\"] = Lorem;\n","/**\n *\n * @namespace faker.hacker\n */\nvar Hacker = function (faker) {\n var self = this;\n \n /**\n * abbreviation\n *\n * @method faker.hacker.abbreviation\n */\n self.abbreviation = function () {\n return faker.random.arrayElement(faker.definitions.hacker.abbreviation);\n };\n\n /**\n * adjective\n *\n * @method faker.hacker.adjective\n */\n self.adjective = function () {\n return faker.random.arrayElement(faker.definitions.hacker.adjective);\n };\n\n /**\n * noun\n *\n * @method faker.hacker.noun\n */\n self.noun = function () {\n return faker.random.arrayElement(faker.definitions.hacker.noun);\n };\n\n /**\n * verb\n *\n * @method faker.hacker.verb\n */\n self.verb = function () {\n return faker.random.arrayElement(faker.definitions.hacker.verb);\n };\n\n /**\n * ingverb\n *\n * @method faker.hacker.ingverb\n */\n self.ingverb = function () {\n return faker.random.arrayElement(faker.definitions.hacker.ingverb);\n };\n\n /**\n * phrase\n *\n * @method faker.hacker.phrase\n */\n self.phrase = function () {\n\n var data = {\n abbreviation: self.abbreviation,\n adjective: self.adjective,\n ingverb: self.ingverb,\n noun: self.noun,\n verb: self.verb\n };\n\n var phrase = faker.random.arrayElement(faker.definitions.hacker.phrase);\n return faker.helpers.mustache(phrase, data);\n };\n \n return self;\n};\n\nmodule['exports'] = Hacker;","/*\n\nCopyright (c) 2012-2014 Jeffrey Mealo\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated\ndocumentation files (the \"Software\"), to deal in the Software without restriction, including without limitation\nthe rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and\nto permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the\nSoftware.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE\nWARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\nCOPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\nOTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n------------------------------------------------------------------------------------------------------------------------\n\nBased loosely on Luka Pusic's PHP Script: http://360percents.com/posts/php-random-user-agent-generator/\n\nThe license for that script is as follows:\n\n\"THE BEER-WARE LICENSE\" (Revision 42):\n\n<pusic93@gmail.com> wrote this file. As long as you retain this notice you can do whatever you want with this stuff.\nIf we meet some day, and you think this stuff is worth it, you can buy me a beer in return. Luka Pusic\n\n*/\n\nexports.generate = function generate(faker) {\n\n function rnd(a, b) {\n //calling rnd() with no arguments is identical to rnd(0, 100)\n a = a || 0;\n b = b || 100;\n\n if (typeof b === 'number' && typeof a === 'number') {\n\n // 9/2018 - Added faker random to ensure mersenne and seed\n return faker.random.number({ min: a, max: b});\n\n }\n\n if (Object.prototype.toString.call(a) === \"[object Array]\") {\n //returns a random element from array (a), even weighting\n return faker.random.arrayElement(a);\n }\n\n if (a && typeof a === 'object') {\n //returns a random key from the passed object; keys are weighted by the decimal probability in their value\n return (function (obj) {\n var rand = rnd(0, 100) / 100, min = 0, max = 0, key, return_val;\n\n for (key in obj) {\n if (obj.hasOwnProperty(key)) {\n max = obj[key] + min;\n return_val = key;\n if (rand >= min && rand <= max) {\n break;\n }\n min = min + obj[key];\n }\n }\n\n return return_val;\n }(a));\n }\n\n throw new TypeError('Invalid arguments passed to rnd. (' + (b ? a + ', ' + b : a) + ')');\n }\n\n function randomLang() {\n return rnd(['AB', 'AF', 'AN', 'AR', 'AS', 'AZ', 'BE', 'BG', 'BN', 'BO', 'BR', 'BS', 'CA', 'CE', 'CO', 'CS',\n 'CU', 'CY', 'DA', 'DE', 'EL', 'EN', 'EO', 'ES', 'ET', 'EU', 'FA', 'FI', 'FJ', 'FO', 'FR', 'FY',\n 'GA', 'GD', 'GL', 'GV', 'HE', 'HI', 'HR', 'HT', 'HU', 'HY', 'ID', 'IS', 'IT', 'JA', 'JV', 'KA',\n 'KG', 'KO', 'KU', 'KW', 'KY', 'LA', 'LB', 'LI', 'LN', 'LT', 'LV', 'MG', 'MK', 'MN', 'MO', 'MS',\n 'MT', 'MY', 'NB', 'NE', 'NL', 'NN', 'NO', 'OC', 'PL', 'PT', 'RM', 'RO', 'RU', 'SC', 'SE', 'SK',\n 'SL', 'SO', 'SQ', 'SR', 'SV', 'SW', 'TK', 'TR', 'TY', 'UK', 'UR', 'UZ', 'VI', 'VO', 'YI', 'ZH']);\n }\n\n function randomBrowserAndOS() {\n var browser = rnd({\n chrome: .45132810566,\n iexplorer: .27477061836,\n firefox: .19384170608,\n safari: .06186781118,\n opera: .01574236955\n }),\n os = {\n chrome: {win: .89, mac: .09 , lin: .02},\n firefox: {win: .83, mac: .16, lin: .01},\n opera: {win: .91, mac: .03 , lin: .06},\n safari: {win: .04 , mac: .96 },\n iexplorer: ['win']\n };\n\n return [browser, rnd(os[browser])];\n }\n\n function randomProc(arch) {\n var procs = {\n lin:['i686', 'x86_64'],\n mac: {'Intel' : .48, 'PPC': .01, 'U; Intel':.48, 'U; PPC' :.01},\n win:['', 'WOW64', 'Win64; x64']\n };\n return rnd(procs[arch]);\n }\n\n function randomRevision(dots) {\n var return_val = '';\n //generate a random revision\n //dots = 2 returns .x.y where x & y are between 0 and 9\n for (var x = 0; x < dots; x++) {\n return_val += '.' + rnd(0, 9);\n }\n return return_val;\n }\n\n var version_string = {\n net: function () {\n return [rnd(1, 4), rnd(0, 9), rnd(10000, 99999), rnd(0, 9)].join('.');\n },\n nt: function () {\n return rnd(5, 6) + '.' + rnd(0, 3);\n },\n ie: function () {\n return rnd(7, 11);\n },\n trident: function () {\n return rnd(3, 7) + '.' + rnd(0, 1);\n },\n osx: function (delim) {\n return [10, rnd(5, 10), rnd(0, 9)].join(delim || '.');\n },\n chrome: function () {\n return [rnd(13, 39), 0, rnd(800, 899), 0].join('.');\n },\n presto: function () {\n return '2.9.' + rnd(160, 190);\n },\n presto2: function () {\n return rnd(10, 12) + '.00';\n },\n safari: function () {\n return rnd(531, 538) + '.' + rnd(0, 2) + '.' + rnd(0,2);\n }\n };\n\n var browser = {\n firefox: function firefox(arch) {\n //https://developer.mozilla.org/en-US/docs/Gecko_user_agent_string_reference\n var firefox_ver = rnd(5, 15) + randomRevision(2),\n gecko_ver = 'Gecko/20100101 Firefox/' + firefox_ver,\n proc = randomProc(arch),\n os_ver = (arch === 'win') ? '(Windows NT ' + version_string.nt() + ((proc) ? '; ' + proc : '')\n : (arch === 'mac') ? '(Macintosh; ' + proc + ' Mac OS X ' + version_string.osx()\n : '(X11; Linux ' + proc;\n\n return 'Mozilla/5.0 ' + os_ver + '; rv:' + firefox_ver.slice(0, -2) + ') ' + gecko_ver;\n },\n\n iexplorer: function iexplorer() {\n var ver = version_string.ie();\n\n if (ver >= 11) {\n //http://msdn.microsoft.com/en-us/library/ie/hh869301(v=vs.85).aspx\n return 'Mozilla/5.0 (Windows NT 6.' + rnd(1,3) + '; Trident/7.0; ' + rnd(['Touch; ', '']) + 'rv:11.0) like Gecko';\n }\n\n //http://msdn.microsoft.com/en-us/library/ie/ms537503(v=vs.85).aspx\n return 'Mozilla/5.0 (compatible; MSIE ' + ver + '.0; Windows NT ' + version_string.nt() + '; Trident/' +\n version_string.trident() + ((rnd(0, 1) === 1) ? '; .NET CLR ' + version_string.net() : '') + ')';\n },\n\n opera: function opera(arch) {\n //http://www.opera.com/docs/history/\n var presto_ver = ' Presto/' + version_string.presto() + ' Version/' + version_string.presto2() + ')',\n os_ver = (arch === 'win') ? '(Windows NT ' + version_string.nt() + '; U; ' + randomLang() + presto_ver\n : (arch === 'lin') ? '(X11; Linux ' + randomProc(arch) + '; U; ' + randomLang() + presto_ver\n : '(Macintosh; Intel Mac OS X ' + version_string.osx() + ' U; ' + randomLang() + ' Presto/' +\n version_string.presto() + ' Version/' + version_string.presto2() + ')';\n\n return 'Opera/' + rnd(9, 14) + '.' + rnd(0, 99) + ' ' + os_ver;\n },\n\n safari: function safari(arch) {\n var safari = version_string.safari(),\n ver = rnd(4, 7) + '.' + rnd(0,1) + '.' + rnd(0,10),\n os_ver = (arch === 'mac') ? '(Macintosh; ' + randomProc('mac') + ' Mac OS X '+ version_string.osx('_') + ' rv:' + rnd(2, 6) + '.0; '+ randomLang() + ') '\n : '(Windows; U; Windows NT ' + version_string.nt() + ')';\n\n return 'Mozilla/5.0 ' + os_ver + 'AppleWebKit/' + safari + ' (KHTML, like Gecko) Version/' + ver + ' Safari/' + safari;\n },\n\n chrome: function chrome(arch) {\n var safari = version_string.safari(),\n os_ver = (arch === 'mac') ? '(Macintosh; ' + randomProc('mac') + ' Mac OS X ' + version_string.osx('_') + ') '\n : (arch === 'win') ? '(Windows; U; Windows NT ' + version_string.nt() + ')'\n : '(X11; Linux ' + randomProc(arch);\n\n return 'Mozilla/5.0 ' + os_ver + ' AppleWebKit/' + safari + ' (KHTML, like Gecko) Chrome/' + version_string.chrome() + ' Safari/' + safari;\n }\n };\n\n var random = randomBrowserAndOS();\n return browser[random[0]](random[1]);\n};\n","var random_ua = require('../vendor/user-agent');\n\n/**\n *\n * @namespace faker.internet\n */\nvar Internet = function (faker) {\n var self = this;\n /**\n * avatar\n *\n * @method faker.internet.avatar\n */\n self.avatar = function () {\n return faker.random.arrayElement(faker.definitions.internet.avatar_uri);\n };\n\n self.avatar.schema = {\n \"description\": \"Generates a URL for an avatar.\",\n \"sampleResults\": [\"https://s3.amazonaws.com/uifaces/faces/twitter/igorgarybaldi/128.jpg\"]\n };\n\n /**\n * email\n *\n * @method faker.internet.email\n * @param {string} firstName\n * @param {string} lastName\n * @param {string} provider\n */\n self.email = function (firstName, lastName, provider) {\n provider = provider || faker.random.arrayElement(faker.definitions.internet.free_email);\n return faker.helpers.slugify(faker.internet.userName(firstName, lastName)) + \"@\" + provider;\n };\n\n self.email.schema = {\n \"description\": \"Generates a valid email address based on optional input criteria\",\n \"sampleResults\": [\"foo.bar@gmail.com\"],\n \"properties\": {\n \"firstName\": {\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"The first name of the user\"\n },\n \"lastName\": {\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"The last name of the user\"\n },\n \"provider\": {\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"The domain of the user\"\n }\n }\n };\n /**\n * exampleEmail\n *\n * @method faker.internet.exampleEmail\n * @param {string} firstName\n * @param {string} lastName\n */\n self.exampleEmail = function (firstName, lastName) {\n var provider = faker.random.arrayElement(faker.definitions.internet.example_email);\n return self.email(firstName, lastName, provider);\n };\n\n /**\n * userName\n *\n * @method faker.internet.userName\n * @param {string} firstName\n * @param {string} lastName\n */\n self.userName = function (firstName, lastName) {\n var result;\n firstName = firstName || faker.name.firstName();\n lastName = lastName || faker.name.lastName();\n switch (faker.random.number(2)) {\n case 0:\n result = firstName + faker.random.number(99);\n break;\n case 1:\n result = firstName + faker.random.arrayElement([\".\", \"_\"]) + lastName;\n break;\n case 2:\n result = firstName + faker.random.arrayElement([\".\", \"_\"]) + lastName + faker.random.number(99);\n break;\n }\n result = result.toString().replace(/'/g, \"\");\n result = result.replace(/ /g, \"\");\n return result;\n };\n\n self.userName.schema = {\n \"description\": \"Generates a username based on one of several patterns. The pattern is chosen randomly.\",\n \"sampleResults\": [\n \"Kirstin39\",\n \"Kirstin.Smith\",\n \"Kirstin.Smith39\",\n \"KirstinSmith\",\n \"KirstinSmith39\",\n ],\n \"properties\": {\n \"firstName\": {\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"The first name of the user\"\n },\n \"lastName\": {\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"The last name of the user\"\n }\n }\n };\n\n /**\n * protocol\n *\n * @method faker.internet.protocol\n */\n self.protocol = function () {\n var protocols = ['http','https'];\n return faker.random.arrayElement(protocols);\n };\n\n self.protocol.schema = {\n \"description\": \"Randomly generates http or https\",\n \"sampleResults\": [\"https\", \"http\"]\n };\n\n /**\n * method\n *\n * @method faker.internet.httpMethod\n */\n self.httpMethod = function () {\n var httpMethods = ['GET','POST', 'PUT', 'DELETE', 'PATCH'];\n return faker.random.arrayElement(httpMethods);\n };\n\n self.httpMethod.schema = {\n \"description\": \"Randomly generates HTTP Methods (GET, POST, PUT, DELETE, PATCH)\",\n \"sampleResults\": [\"GET\",\"POST\", \"PUT\", \"DELETE\", \"PATCH\"]\n };\n\n /**\n * url\n *\n * @method faker.internet.url\n */\n self.url = function () {\n return faker.internet.protocol() + '://' + faker.internet.domainName();\n };\n\n self.url.schema = {\n \"description\": \"Generates a random URL. The URL could be secure or insecure.\",\n \"sampleResults\": [\n \"http://rashawn.name\",\n \"https://rashawn.name\"\n ]\n };\n\n /**\n * domainName\n *\n * @method faker.internet.domainName\n */\n self.domainName = function () {\n return faker.internet.domainWord() + \".\" + faker.internet.domainSuffix();\n };\n\n self.domainName.schema = {\n \"description\": \"Generates a random domain name.\",\n \"sampleResults\": [\"marvin.org\"]\n };\n\n /**\n * domainSuffix\n *\n * @method faker.internet.domainSuffix\n */\n self.domainSuffix = function () {\n return faker.random.arrayElement(faker.definitions.internet.domain_suffix);\n };\n\n self.domainSuffix.schema = {\n \"description\": \"Generates a random domain suffix.\",\n \"sampleResults\": [\"net\"]\n };\n\n /**\n * domainWord\n *\n * @method faker.internet.domainWord\n */\n self.domainWord = function () {\n return faker.name.firstName().replace(/([\\\\~#&*{}/:<>?|\\\"'])/ig, '').toLowerCase();\n };\n\n self.domainWord.schema = {\n \"description\": \"Generates a random domain word.\",\n \"sampleResults\": [\"alyce\"]\n };\n\n /**\n * ip\n *\n * @method faker.internet.ip\n */\n self.ip = function () {\n var randNum = function () {\n return (faker.random.number(255)).toFixed(0);\n };\n\n var result = [];\n for (var i = 0; i < 4; i++) {\n result[i] = randNum();\n }\n\n return result.join(\".\");\n };\n\n self.ip.schema = {\n \"description\": \"Generates a random IP.\",\n \"sampleResults\": [\"97.238.241.11\"]\n };\n\n /**\n * ipv6\n *\n * @method faker.internet.ipv6\n */\n self.ipv6 = function () {\n var randHash = function () {\n var result = \"\";\n for (var i = 0; i < 4; i++) {\n result += (faker.random.arrayElement([\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\"]));\n }\n return result\n };\n\n var result = [];\n for (var i = 0; i < 8; i++) {\n result[i] = randHash();\n }\n return result.join(\":\");\n };\n\n self.ipv6.schema = {\n \"description\": \"Generates a random IPv6 address.\",\n \"sampleResults\": [\"2001:0db8:6276:b1a7:5213:22f1:25df:c8a0\"]\n };\n\n /**\n * port\n * \n * @method faker.internet.port\n */\n self.port = function() {\n return faker.random.number({ min: 0, max: 65535 });\n };\n\n self.port.schema = {\n \"description\": \"Generates a random port number.\",\n \"sampleResults\": [\"4422\"]\n };\n\n /**\n * userAgent\n *\n * @method faker.internet.userAgent\n */\n self.userAgent = function () {\n return random_ua.generate(faker);\n };\n\n self.userAgent.schema = {\n \"description\": \"Generates a random user agent.\",\n \"sampleResults\": [\"Mozilla/5.0 (Macintosh; U; PPC Mac OS X 10_7_5 rv:6.0; SL) AppleWebKit/532.0.1 (KHTML, like Gecko) Version/7.1.6 Safari/532.0.1\"]\n };\n\n /**\n * color\n *\n * @method faker.internet.color\n * @param {number} baseRed255\n * @param {number} baseGreen255\n * @param {number} baseBlue255\n */\n self.color = function (baseRed255, baseGreen255, baseBlue255) {\n baseRed255 = baseRed255 || 0;\n baseGreen255 = baseGreen255 || 0;\n baseBlue255 = baseBlue255 || 0;\n // based on awesome response : http://stackoverflow.com/questions/43044/algorithm-to-randomly-generate-an-aesthetically-pleasing-color-palette\n var red = Math.floor((faker.random.number(256) + baseRed255) / 2);\n var green = Math.floor((faker.random.number(256) + baseGreen255) / 2);\n var blue = Math.floor((faker.random.number(256) + baseBlue255) / 2);\n var redStr = red.toString(16);\n var greenStr = green.toString(16);\n var blueStr = blue.toString(16);\n return '#' +\n (redStr.length === 1 ? '0' : '') + redStr +\n (greenStr.length === 1 ? '0' : '') + greenStr +\n (blueStr.length === 1 ? '0': '') + blueStr;\n\n };\n\n self.color.schema = {\n \"description\": \"Generates a random hexadecimal color.\",\n \"sampleResults\": [\"#06267f\"],\n \"properties\": {\n \"baseRed255\": {\n \"type\": \"number\",\n \"required\": false,\n \"description\": \"The red value. Valid values are 0 - 255.\"\n },\n \"baseGreen255\": {\n \"type\": \"number\",\n \"required\": false,\n \"description\": \"The green value. Valid values are 0 - 255.\"\n },\n \"baseBlue255\": {\n \"type\": \"number\",\n \"required\": false,\n \"description\": \"The blue value. Valid values are 0 - 255.\"\n }\n }\n };\n\n /**\n * mac\n *\n * @method faker.internet.mac\n * @param {string} sep\n */\n self.mac = function(sep){\n var i, \n mac = \"\",\n validSep = ':';\n\n // if the client passed in a different separator than `:`, \n // we will use it if it is in the list of acceptable separators (dash or no separator)\n if (['-', ''].indexOf(sep) !== -1) {\n validSep = sep;\n } \n\n for (i=0; i < 12; i++) {\n mac+= faker.random.number(15).toString(16);\n if (i%2==1 && i != 11) {\n mac+=validSep;\n }\n }\n return mac;\n };\n\n self.mac.schema = {\n \"description\": \"Generates a random mac address.\",\n \"sampleResults\": [\"78:06:cc:ae:b3:81\"]\n };\n\n /**\n * password\n *\n * @method faker.internet.password\n * @param {number} len\n * @param {boolean} memorable\n * @param {string} pattern\n * @param {string} prefix\n */\n self.password = function (len, memorable, pattern, prefix) {\n len = len || 15;\n if (typeof memorable === \"undefined\") {\n memorable = false;\n }\n /*\n * password-generator ( function )\n * Copyright(c) 2011-2013 Bermi Ferrer <bermi@bermilabs.com>\n * MIT Licensed\n */\n var consonant, letter, vowel;\n letter = /[a-zA-Z]$/;\n vowel = /[aeiouAEIOU]$/;\n consonant = /[bcdfghjklmnpqrstvwxyzBCDFGHJKLMNPQRSTVWXYZ]$/;\n var _password = function (length, memorable, pattern, prefix) {\n var char, n;\n if (length == null) {\n length = 10;\n }\n if (memorable == null) {\n memorable = true;\n }\n if (pattern == null) {\n pattern = /\\w/;\n }\n if (prefix == null) {\n prefix = '';\n }\n if (prefix.length >= length) {\n return prefix;\n }\n if (memorable) {\n if (prefix.match(consonant)) {\n pattern = vowel;\n } else {\n pattern = consonant;\n }\n }\n n = faker.random.number(94) + 33;\n char = String.fromCharCode(n);\n if (memorable) {\n char = char.toLowerCase();\n }\n if (!char.match(pattern)) {\n return _password(length, memorable, pattern, prefix);\n }\n return _password(length, memorable, pattern, \"\" + prefix + char);\n };\n return _password(len, memorable, pattern, prefix);\n }\n\n self.password.schema = {\n \"description\": \"Generates a random password.\",\n \"sampleResults\": [\n \"AM7zl6Mg\",\n \"susejofe\"\n ],\n \"properties\": {\n \"length\": {\n \"type\": \"number\",\n \"required\": false,\n \"description\": \"The number of characters in the password.\"\n },\n \"memorable\": {\n \"type\": \"boolean\",\n \"required\": false,\n \"description\": \"Whether a password should be easy to remember.\"\n },\n \"pattern\": {\n \"type\": \"regex\",\n \"required\": false,\n \"description\": \"A regex to match each character of the password against. This parameter will be negated if the memorable setting is turned on.\"\n },\n \"prefix\": {\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"A value to prepend to the generated password. The prefix counts towards the length of the password.\"\n }\n }\n };\n\n};\n\n\nmodule[\"exports\"] = Internet;\n","/**\n *\n * @namespace faker.database\n */\nvar Database = function (faker) {\n var self = this;\n /**\n * column\n *\n * @method faker.database.column\n */\n self.column = function () {\n return faker.random.arrayElement(faker.definitions.database.column);\n };\n\n self.column.schema = {\n \"description\": \"Generates a column name.\",\n \"sampleResults\": [\"id\", \"title\", \"createdAt\"]\n };\n\n /**\n * type\n *\n * @method faker.database.type\n */\n self.type = function () {\n return faker.random.arrayElement(faker.definitions.database.type);\n };\n\n self.type.schema = {\n \"description\": \"Generates a column type.\",\n \"sampleResults\": [\"byte\", \"int\", \"varchar\", \"timestamp\"]\n };\n\n /**\n * collation\n *\n * @method faker.database.collation\n */\n self.collation = function () {\n return faker.random.arrayElement(faker.definitions.database.collation);\n };\n\n self.collation.schema = {\n \"description\": \"Generates a collation.\",\n \"sampleResults\": [\"utf8_unicode_ci\", \"utf8_bin\"]\n };\n\n /**\n * engine\n *\n * @method faker.database.engine\n */\n self.engine = function () {\n return faker.random.arrayElement(faker.definitions.database.engine);\n };\n\n self.engine.schema = {\n \"description\": \"Generates a storage engine.\",\n \"sampleResults\": [\"MyISAM\", \"InnoDB\"]\n };\n};\n\nmodule[\"exports\"] = Database;\n","/**\n *\n * @namespace faker.phone\n */\nvar Phone = function (faker) {\n var self = this;\n\n /**\n * phoneNumber\n *\n * @method faker.phone.phoneNumber\n * @param {string} format\n * @memberOf faker.phone\n */\n self.phoneNumber = function (format) {\n format = format || faker.phone.phoneFormats();\n return faker.helpers.replaceSymbolWithNumber(format);\n };\n\n // FIXME: this is strange passing in an array index.\n /**\n * phoneNumberFormat\n *\n * @method faker.phone.phoneFormatsArrayIndex\n * @param phoneFormatsArrayIndex\n * @memberOf faker.phone\n */\n self.phoneNumberFormat = function (phoneFormatsArrayIndex) {\n phoneFormatsArrayIndex = phoneFormatsArrayIndex || 0;\n return faker.helpers.replaceSymbolWithNumber(faker.definitions.phone_number.formats[phoneFormatsArrayIndex]);\n };\n\n /**\n * phoneFormats\n *\n * @method faker.phone.phoneFormats\n */\n self.phoneFormats = function () {\n return faker.random.arrayElement(faker.definitions.phone_number.formats);\n };\n \n return self;\n\n};\n\nmodule['exports'] = Phone;\n","/**\n *\n * @namespace faker.date\n */\nvar _Date = function (faker) {\n var self = this;\n /**\n * past\n *\n * @method faker.date.past\n * @param {number} years\n * @param {date} refDate\n */\n self.past = function (years, refDate) {\n var date = new Date();\n if (typeof refDate !== \"undefined\") {\n date = new Date(Date.parse(refDate));\n }\n\n var range = {\n min: 1000,\n max: (years || 1) * 365 * 24 * 3600 * 1000\n };\n\n var past = date.getTime();\n past -= faker.random.number(range); // some time from now to N years ago, in milliseconds\n date.setTime(past);\n\n return date;\n };\n\n /**\n * future\n *\n * @method faker.date.future\n * @param {number} years\n * @param {date} refDate\n */\n self.future = function (years, refDate) {\n var date = new Date();\n if (typeof refDate !== \"undefined\") {\n date = new Date(Date.parse(refDate));\n }\n\n var range = {\n min: 1000,\n max: (years || 1) * 365 * 24 * 3600 * 1000\n };\n\n var future = date.getTime();\n future += faker.random.number(range); // some time from now to N years later, in milliseconds\n date.setTime(future);\n\n return date;\n };\n\n /**\n * between\n *\n * @method faker.date.between\n * @param {date} from\n * @param {date} to\n */\n self.between = function (from, to) {\n var fromMilli = Date.parse(from);\n var dateOffset = faker.random.number(Date.parse(to) - fromMilli);\n\n var newDate = new Date(fromMilli + dateOffset);\n\n return newDate;\n };\n\n /**\n * betweens\n *\n * @method faker.date.between\n * @param {date} from\n * @param {date} to\n */\n self.betweens = function (from, to, num) {\n if (typeof num == 'undefined') { num = 3; }\n var newDates = [];\n var fromMilli = Date.parse(from);\n var dateOffset = (Date.parse(to) - fromMilli) / ( num + 1 );\n var lastDate = from\n for (var i = 0; i < num; i++) {\n fromMilli = Date.parse(lastDate);\n lastDate = new Date(fromMilli + dateOffset)\n newDates.push(lastDate)\n }\n return newDates;\n };\n\n\n /**\n * recent\n *\n * @method faker.date.recent\n * @param {number} days\n * @param {date} refDate\n */\n self.recent = function (days, refDate) {\n var date = new Date();\n if (typeof refDate !== \"undefined\") {\n date = new Date(Date.parse(refDate));\n }\n\n var range = {\n min: 1000,\n max: (days || 1) * 24 * 3600 * 1000\n };\n\n var future = date.getTime();\n future -= faker.random.number(range); // some time from now to N days ago, in milliseconds\n date.setTime(future);\n\n return date;\n };\n\n /**\n * soon\n *\n * @method faker.date.soon\n * @param {number} days\n * @param {date} refDate\n */\n self.soon = function (days, refDate) {\n var date = new Date();\n if (typeof refDate !== \"undefined\") {\n date = new Date(Date.parse(refDate));\n }\n\n var range = {\n min: 1000,\n max: (days || 1) * 24 * 3600 * 1000\n };\n\n var future = date.getTime();\n future += faker.random.number(range); // some time from now to N days later, in milliseconds\n date.setTime(future);\n\n return date;\n };\n\n /**\n * month\n *\n * @method faker.date.month\n * @param {object} options\n */\n self.month = function (options) {\n options = options || {};\n\n var type = 'wide';\n if (options.abbr) {\n type = 'abbr';\n }\n if (options.context && typeof faker.definitions.date.month[type + '_context'] !== 'undefined') {\n type += '_context';\n }\n\n var source = faker.definitions.date.month[type];\n\n return faker.random.arrayElement(source);\n };\n\n /**\n * weekday\n *\n * @param {object} options\n * @method faker.date.weekday\n */\n self.weekday = function (options) {\n options = options || {};\n\n var type = 'wide';\n if (options.abbr) {\n type = 'abbr';\n }\n if (options.context && typeof faker.definitions.date.weekday[type + '_context'] !== 'undefined') {\n type += '_context';\n }\n\n var source = faker.definitions.date.weekday[type];\n\n return faker.random.arrayElement(source);\n };\n\n return self;\n\n};\n\nmodule['exports'] = _Date;\n","/**\n *\n * @namespace faker.time\n */\nvar _Time = function(faker) {\n var self = this;\n\n /**\n * recent\n *\n * @method faker.time.recent\n * @param {string} outputType - 'abbr' || 'wide' || 'unix' (default choice)\n */\n self.recent = function(outputType) {\n if (typeof outputType === \"undefined\") {\n outputType = 'unix';\n }\n\n var date = new Date();\n switch (outputType) {\n case \"abbr\":\n date = date.toLocaleTimeString();\n break;\n case \"wide\":\n date = date.toTimeString();\n break;\n case \"unix\":\n date = date.getTime();\n break;\n }\n return date;\n };\n\n return self;\n};\n\nmodule[\"exports\"] = _Time;\n","/**\n *\n * @namespace faker.commerce\n */\nvar Commerce = function (faker) {\n var self = this;\n\n /**\n * color\n *\n * @method faker.commerce.color\n */\n self.color = function() {\n return faker.random.arrayElement(faker.definitions.commerce.color);\n };\n\n /**\n * department\n *\n * @method faker.commerce.department\n */\n self.department = function() {\n return faker.random.arrayElement(faker.definitions.commerce.department);\n };\n\n /**\n * productName\n *\n * @method faker.commerce.productName\n */\n self.productName = function() {\n return faker.commerce.productAdjective() + \" \" +\n faker.commerce.productMaterial() + \" \" +\n faker.commerce.product();\n };\n\n /**\n * price\n *\n * @method faker.commerce.price\n * @param {number} min\n * @param {number} max\n * @param {number} dec\n * @param {string} symbol\n *\n * @return {string}\n */\n self.price = function(min, max, dec, symbol) {\n min = min || 1;\n max = max || 1000;\n dec = dec === undefined ? 2 : dec;\n symbol = symbol || '';\n\n if (min < 0 || max < 0) {\n return symbol + 0.00;\n }\n\n var randValue = faker.random.number({ max: max, min: min });\n\n return symbol + (Math.round(randValue * Math.pow(10, dec)) / Math.pow(10, dec)).toFixed(dec);\n };\n\n /*\n self.categories = function(num) {\n var categories = [];\n\n do {\n var category = faker.random.arrayElement(faker.definitions.commerce.department);\n if(categories.indexOf(category) === -1) {\n categories.push(category);\n }\n } while(categories.length < num);\n\n return categories;\n };\n\n */\n /*\n self.mergeCategories = function(categories) {\n var separator = faker.definitions.separator || \" &\";\n // TODO: find undefined here\n categories = categories || faker.definitions.commerce.categories;\n var commaSeparated = categories.slice(0, -1).join(', ');\n\n return [commaSeparated, categories[categories.length - 1]].join(separator + \" \");\n };\n */\n\n /**\n * productAdjective\n *\n * @method faker.commerce.productAdjective\n */\n self.productAdjective = function() {\n return faker.random.arrayElement(faker.definitions.commerce.product_name.adjective);\n };\n\n /**\n * productMaterial\n *\n * @method faker.commerce.productMaterial\n */\n self.productMaterial = function() {\n return faker.random.arrayElement(faker.definitions.commerce.product_name.material);\n };\n\n /**\n * product\n *\n * @method faker.commerce.product\n */\n self.product = function() {\n return faker.random.arrayElement(faker.definitions.commerce.product_name.product);\n };\n\n /**\n * productDescription\n *\n * @method faker.commerce.productDescription\n */\n self.productDescription = function() {\n return faker.random.arrayElement(faker.definitions.commerce.product_description);\n };\n\n return self;\n};\n\nmodule['exports'] = Commerce;\n","// generates fake data for many computer systems properties\n\n/**\n *\n * @namespace faker.system\n */\nfunction System (faker) {\n\n /**\n * generates a file name with extension or optional type\n *\n * @method faker.system.fileName\n * @param {string} ext\n * @param {string} type\n */\n this.fileName = function (ext, type) {\n var str = faker.fake(\"{{random.words}}.{{system.fileExt}}\");\n str = str.replace(/ /g, '_');\n str = str.replace(/\\,/g, '_');\n str = str.replace(/\\-/g, '_');\n str = str.replace(/\\\\/g, '_');\n str = str.replace(/\\//g, '_');\n str = str.toLowerCase();\n return str;\n };\n\n /**\n * commonFileName\n *\n * @method faker.system.commonFileName\n * @param {string} ext\n * @param {string} type\n */\n this.commonFileName = function (ext, type) {\n var str = faker.random.words() + \".\" + (ext || faker.system.commonFileExt());\n str = str.replace(/ /g, '_');\n str = str.replace(/\\,/g, '_');\n str = str.replace(/\\-/g, '_');\n str = str.replace(/\\\\/g, '_');\n str = str.replace(/\\//g, '_');\n str = str.toLowerCase();\n return str;\n };\n\n /**\n * mimeType\n *\n * @method faker.system.mimeType\n */\n this.mimeType = function () {\n return faker.random.arrayElement(Object.keys(faker.definitions.system.mimeTypes));\n };\n\n /**\n * returns a commonly used file type\n *\n * @method faker.system.commonFileType\n */\n this.commonFileType = function () {\n var types = ['video', 'audio', 'image', 'text', 'application'];\n return faker.random.arrayElement(types)\n };\n\n /**\n * returns a commonly used file extension based on optional type\n *\n * @method faker.system.commonFileExt\n * @param {string} type\n */\n this.commonFileExt = function (type) {\n var types = [\n 'application/pdf',\n 'audio/mpeg',\n 'audio/wav',\n 'image/png',\n 'image/jpeg',\n 'image/gif',\n 'video/mp4',\n 'video/mpeg',\n 'text/html'\n ];\n return faker.system.fileExt(faker.random.arrayElement(types));\n };\n\n\n /**\n * returns any file type available as mime-type\n *\n * @method faker.system.fileType\n */\n this.fileType = function () {\n var types = [];\n var mimes = faker.definitions.system.mimeTypes;\n Object.keys(mimes).forEach(function(m){\n var parts = m.split('/');\n if (types.indexOf(parts[0]) === -1) {\n types.push(parts[0]);\n }\n });\n return faker.random.arrayElement(types);\n };\n\n /**\n * fileExt\n *\n * @method faker.system.fileExt\n * @param {string} mimeType\n */\n this.fileExt = function (mimeType) {\n var exts = [];\n var mimes = faker.definitions.system.mimeTypes;\n\n // get specific ext by mime-type\n if (typeof mimes[mimeType] === \"object\") {\n return faker.random.arrayElement(mimes[mimeType].extensions);\n }\n\n // reduce mime-types to those with file-extensions\n Object.keys(mimes).forEach(function(m){\n if (mimes[m].extensions instanceof Array) {\n mimes[m].extensions.forEach(function(ext){\n exts.push(ext)\n });\n }\n });\n return faker.random.arrayElement(exts);\n };\n\n /**\n * returns directory path\n *\n * @method faker.system.directoryPath\n */\n this.directoryPath = function () {\n var paths = faker.definitions.system.directoryPaths\n return faker.random.arrayElement(paths);\n };\n\n /**\n * returns file path\n *\n * @method faker.system.filePath\n */\n this.filePath = function () {\n return faker.fake(\"{{system.directoryPath}}/{{system.fileName}}\");\n };\n\n /**\n * semver\n *\n * @method faker.system.semver\n */\n this.semver = function () {\n return [faker.random.number(9),\n faker.random.number(9),\n faker.random.number(9)].join('.');\n }\n\n}\n\nmodule['exports'] = System;\n","/**\n * @namespace faker.git\n */\n\nvar Git = function(faker) {\n var self = this;\n var f = faker.fake;\n\n var hexChars = [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\"];\n\n /**\n * branch\n *\n * @method faker.git.branch\n */\n self.branch = function() {\n var noun = faker.hacker.noun().replace(' ', '-');\n var verb = faker.hacker.verb().replace(' ', '-');\n return noun + '-' + verb;\n }\n\n /**\n * commitEntry\n *\n * @method faker.git.commitEntry\n * @param {object} options\n */\n self.commitEntry = function(options) {\n options = options || {};\n\n var entry = 'commit {{git.commitSha}}\\r\\n';\n\n if (options.merge || (faker.random.number({ min: 0, max: 4 }) === 0)) {\n entry += 'Merge: {{git.shortSha}} {{git.shortSha}}\\r\\n';\n }\n\n entry += 'Author: {{name.firstName}} {{name.lastName}} <{{internet.email}}>\\r\\n';\n entry += 'Date: ' + faker.date.recent().toString() + '\\r\\n';\n entry += '\\r\\n\\xa0\\xa0\\xa0\\xa0{{git.commitMessage}}\\r\\n';\n\n return f(entry);\n };\n\n /**\n * commitMessage\n *\n * @method faker.git.commitMessage\n */\n self.commitMessage = function() {\n var format = '{{hacker.verb}} {{hacker.adjective}} {{hacker.noun}}';\n return f(format);\n };\n\n /**\n * commitSha\n *\n * @method faker.git.commitSha\n */\n self.commitSha = function() {\n var commit = \"\";\n\n for (var i = 0; i < 40; i++) {\n commit += faker.random.arrayElement(hexChars);\n }\n\n return commit;\n };\n\n /**\n * shortSha\n *\n * @method faker.git.shortSha\n */\n self.shortSha = function() {\n var shortSha = \"\";\n\n for (var i = 0; i < 7; i++) {\n shortSha += faker.random.arrayElement(hexChars);\n }\n\n return shortSha;\n };\n\n return self;\n}\n\nmodule['exports'] = Git;\n","/**\n *\n * @namespace faker.vehicle\n */\nvar Vehicle = function (faker) {\n var self = this;\n var fake = faker.fake;\n\n /**\n * vehicle\n *\n * @method faker.vehicle.vehicle\n */\n self.vehicle = function () {\n return fake('{{vehicle.manufacturer}} {{vehicle.model}}');\n };\n\n self.vehicle.schema = {\n \"description\": \"Generates a random vehicle.\",\n \"sampleResults\": [\"BMW Explorer\", \"Ford Camry\", \"Lamborghini Ranchero\"]\n };\n\n /**\n * manufacturer\n *\n * @method faker.vehicle.manufacturer\n */\n self.manufacturer = function () {\n return faker.random.arrayElement(faker.definitions.vehicle.manufacturer);\n };\n\n self.manufacturer.schema = {\n \"description\": \"Generates a manufacturer name.\",\n \"sampleResults\": [\"Ford\", \"Jeep\", \"Tesla\"]\n };\n\n\n /**\n * model\n *\n * @method faker.vehicle.model\n */\n self.model = function () {\n return faker.random.arrayElement(faker.definitions.vehicle.model);\n };\n\n self.model.schema = {\n \"description\": \"Generates a vehicle model.\",\n \"sampleResults\": [\"Explorer\", \"Camry\", \"Ranchero\"]\n };\n\n /**\n * type\n *\n * @method faker.vehicle.type\n */\n self.type = function () {\n return faker.random.arrayElement(faker.definitions.vehicle.type);\n };\n\n self.type.schema = {\n \"description\": \"Generates a vehicle type.\",\n \"sampleResults\": [\"Coupe\", \"Convertable\", \"Sedan\", \"SUV\"]\n };\n\n /**\n * fuel\n *\n * @method faker.vehicle.fuel\n */\n self.fuel = function () {\n return faker.random.arrayElement(faker.definitions.vehicle.fuel);\n };\n\n self.fuel.schema = {\n \"description\": \"Generates a fuel type.\",\n \"sampleResults\": [\"Electric\", \"Gasoline\", \"Diesel\"]\n };\n\n /**\n * vin\n *\n * @method faker.vehicle.vin\n */\n self.vin = function () {\n return (\n faker.random.alphaNumeric(10) +\n faker.random.alpha({ count: 1, upcase: true }) +\n faker.random.alphaNumeric(1) +\n faker.random.number({ min: 10000, max: 100000}) // return five digit #\n ).toUpperCase();\n };\n\n self.vin.schema = {\n \"description\": \"Generates a valid VIN number.\",\n \"sampleResults\": [\"YV1MH682762184654\", \"3C7WRMBJ2EG208836\"]\n };\n\n /**\n * color\n *\n * @method faker.vehicle.color\n */\n self.color = function () {\n return fake('{{commerce.color}}');\n };\n\n self.color.schema = {\n \"description\": \"Generates a color\",\n \"sampleResults\": [\"red\", \"white\", \"black\"]\n };\n\n /**\n * vrm\n *\n * @method faker.vehicle.vrm\n */\n self.vrm = function () {\n return (\n faker.random.alpha({ count: 2, upcase: true }) +\n faker.random.number({ min: 0, max: 9 }) +\n faker.random.number({ min: 0, max: 9 }) +\n faker.random.alpha({ count: 3, upcase: true })\n ).toUpperCase();\n };\n\n self.vrm.schema = {\n \"description\": \"Generates a vehicle vrm\",\n \"sampleResults\": [\"MF56UPA\", \"GL19AAQ\", \"SF20TTA\"]\n };\n};\n\nmodule[\"exports\"] = Vehicle;\n","/**\n *\n * @namespace faker.music\n */\nvar Music = function (faker) {\n var self = this;\n /**\n * genre\n *\n * @method faker.music.genre\n */\n self.genre = function () {\n return faker.random.arrayElement(faker.definitions.music.genre);\n };\n\n self.genre.schema = {\n \"description\": \"Generates a genre.\",\n \"sampleResults\": [\"Rock\", \"Metal\", \"Pop\"]\n };\n};\n\nmodule[\"exports\"] = Music;\n","/*\n\n this index.js file is used for including the faker library as a CommonJS module, instead of a bundle\n\n you can include the faker library into your existing node.js application by requiring the entire /faker directory\n\n var faker = require(./faker);\n var randomName = faker.name.findName();\n\n you can also simply include the \"faker.js\" file which is the auto-generated bundled version of the faker library\n\n var faker = require(./customAppPath/faker);\n var randomName = faker.name.findName();\n\n\n if you plan on modifying the faker library you should be performing your changes in the /lib/ directory\n\n*/\n\n/**\n *\n * @namespace faker\n */\nfunction Faker (opts) {\n\n var self = this;\n\n opts = opts || {};\n\n // assign options\n var locales = self.locales || opts.locales || {};\n var locale = self.locale || opts.locale || \"en\";\n var localeFallback = self.localeFallback || opts.localeFallback || \"en\";\n\n self.locales = locales;\n self.locale = locale;\n self.localeFallback = localeFallback;\n\n self.definitions = {};\n\n var Fake = require('./fake');\n self.fake = new Fake(self).fake;\n\n var Unique = require('./unique');\n self.unique = new Unique(self).unique;\n\n var Random = require('./random');\n self.random = new Random(self);\n\n var Helpers = require('./helpers');\n self.helpers = new Helpers(self);\n\n var Name = require('./name');\n self.name = new Name(self);\n\n var Address = require('./address');\n self.address = new Address(self);\n\n var Company = require('./company');\n self.company = new Company(self);\n\n var Finance = require('./finance');\n self.finance = new Finance(self);\n\n var Image = require('./image');\n self.image = new Image(self);\n\n var Lorem = require('./lorem');\n self.lorem = new Lorem(self);\n\n var Hacker = require('./hacker');\n self.hacker = new Hacker(self);\n\n var Internet = require('./internet');\n self.internet = new Internet(self);\n\n var Database = require('./database');\n self.database = new Database(self);\n\n var Phone = require('./phone_number');\n self.phone = new Phone(self);\n\n var _Date = require('./date');\n self.date = new _Date(self);\n\n var _Time = require('./time');\n self.time = new _Time(self);\n\n var Commerce = require('./commerce');\n self.commerce = new Commerce(self);\n\n var System = require('./system');\n self.system = new System(self);\n\n var Git = require('./git');\n self.git = new Git(self);\n\n var Vehicle = require('./vehicle');\n self.vehicle = new Vehicle(self);\n\n var Music = require('./music');\n self.music = new Music(self);\n\n var _definitions = {\n \"name\": [\"first_name\", \"last_name\", \"prefix\", \"suffix\", \"gender\", \"title\", \"male_prefix\", \"female_prefix\", \"male_first_name\", \"female_first_name\", \"male_middle_name\", \"female_middle_name\", \"male_last_name\", \"female_last_name\"],\n \"address\": [\"city_prefix\", \"city_suffix\", \"street_suffix\", \"county\", \"country\", \"country_code\", \"country_code_alpha_3\", \"state\", \"state_abbr\", \"street_prefix\", \"postcode\", \"postcode_by_state\", \"direction\", \"direction_abbr\", \"time_zone\"],\n \"company\": [\"adjective\", \"noun\", \"descriptor\", \"bs_adjective\", \"bs_noun\", \"bs_verb\", \"suffix\"],\n \"lorem\": [\"words\"],\n \"hacker\": [\"abbreviation\", \"adjective\", \"noun\", \"verb\", \"ingverb\", \"phrase\"],\n \"phone_number\": [\"formats\"],\n \"finance\": [\"account_type\", \"transaction_type\", \"currency\", \"iban\", \"credit_card\"],\n \"internet\": [\"avatar_uri\", \"domain_suffix\", \"free_email\", \"example_email\", \"password\"],\n \"commerce\": [\"color\", \"department\", \"product_name\", \"price\", \"categories\", \"product_description\"],\n \"database\": [\"collation\", \"column\", \"engine\", \"type\"],\n \"system\": [\"mimeTypes\", \"directoryPaths\"],\n \"date\": [\"month\", \"weekday\"],\n \"vehicle\": [\"vehicle\", \"manufacturer\", \"model\", \"type\", \"fuel\", \"vin\", \"color\"],\n \"music\": [\"genre\"],\n \"title\": \"\",\n \"separator\": \"\"\n };\n\n // Create a Getter for all definitions.foo.bar properties\n Object.keys(_definitions).forEach(function(d){\n if (typeof self.definitions[d] === \"undefined\") {\n self.definitions[d] = {};\n }\n\n if (typeof _definitions[d] === \"string\") {\n self.definitions[d] = _definitions[d];\n return;\n }\n\n _definitions[d].forEach(function(p){\n Object.defineProperty(self.definitions[d], p, {\n get: function () {\n if (typeof self.locales[self.locale][d] === \"undefined\" || typeof self.locales[self.locale][d][p] === \"undefined\") {\n // certain localization sets contain less data then others.\n // in the case of a missing definition, use the default localeFallback to substitute the missing set data\n // throw new Error('unknown property ' + d + p)\n return self.locales[localeFallback][d][p];\n } else {\n // return localized data\n return self.locales[self.locale][d][p];\n }\n }\n });\n });\n });\n\n};\n\nFaker.prototype.setLocale = function (locale) {\n this.locale = locale;\n}\n\nFaker.prototype.seed = function(value) {\n var Random = require('./random');\n this.seedValue = value;\n this.random = new Random(this, this.seedValue);\n}\nmodule['exports'] = Faker;\n","module[\"exports\"] = [\n \"com\",\n \"us\",\n \"biz\",\n \"info\",\n \"name\",\n \"net\",\n \"org\"\n];\n","var internet = {};\nmodule['exports'] = internet;\ninternet.domain_suffix = require(\"./domain_suffix\");\n","module[\"exports\"] = [\n \"United States\",\n \"United States of America\",\n \"USA\"\n];\n","module[\"exports\"] = {\n AK:{\n min:99501,\n max:99950\n },\n AL:{\n min:35004,\n max:36925\n },\n AR:{\n min:71601,\n max:72959\n },\n AZ:{\n min:85001,\n max:86556\n },\n CA:{\n min:90001,\n max:96162\n },\n CO:{\n min:80001,\n max:81658\n },\n CT:{\n min:6001,\n max:6389\n },\n DC:{\n min:20001,\n max:20039\n },\n DE:{\n min:19701,\n max:19980\n },\n FL:{\n min:32004,\n max:34997\n },\n GA:{\n min:30001,\n max:31999\n },\n HI:{\n min:96701,\n max:96898\n },\n IA:{\n min:50001,\n max:52809\n },\n ID:{\n min:83201,\n max:83876\n },\n IL:{\n min:60001,\n max:62999\n },\n IN:{\n min:46001,\n max:47997\n },\n KS:{\n min:66002,\n max:67954\n },\n KY:{\n min:40003,\n max:42788\n },\n LA:{\n min:70001,\n max:71232\n },\n MA:{\n min:1001,\n max:2791\n },\n MD:{\n min:20331,\n max:20331\n },\n ME:{\n min:3901,\n max:4992\n },\n MI:{\n min:48001,\n max:49971\n },\n MN:{\n min:55001,\n max:56763\n },\n MO:{\n min:63001,\n max:65899\n },\n MS:{\n min:38601,\n max:39776\n },\n MT:{\n min:59001,\n max:59937\n },\n NC:{\n min:27006,\n max:28909\n },\n ND:{\n min:58001,\n max:58856\n },\n NE:{\n min:68001,\n max:68118\n },\n NH:{\n min:3031,\n max:3897\n },\n NJ:{\n min:7001,\n max:8989\n },\n NM:{\n min:87001,\n max:88441\n },\n NV:{\n min:88901,\n max:89883\n },\n NY:{\n min:6390,\n max:6390\n },\n OH:{\n min:43001,\n max:45999\n },\n OK:{\n min:73001,\n max:73199\n },\n OR:{\n min:97001,\n max:97920\n },\n PA:{\n min:15001,\n max:19640\n },\n PR:{\n min:0,\n max:0\n },\n RI:{\n min:2801,\n max:2940\n },\n SC:{\n min:29001,\n max:29948\n },\n SD:{\n min:57001,\n max:57799\n },\n TN:{\n min:37010,\n max:38589\n },\n TX:{\n min:73301,\n max:73301\n },\n UT:{\n min:84001,\n max:84784\n },\n VA:{\n min:20040,\n max:20041\n },\n VT:{\n min:5001,\n max:5495\n },\n WA:{\n min:98001,\n max:99403\n },\n WI:{\n min:53001,\n max:54990\n },\n WV:{\n min:24701,\n max:26886\n },\n WY:{\n min:82001,\n max:83128\n }\n}\n","var address = {};\nmodule['exports'] = address;\naddress.default_country = require(\"./default_country\");\naddress.postcode_by_state = require(\"./postcode_by_state\");\n","module[\"exports\"] = [\n \"201\",\n \"202\",\n \"203\",\n \"205\",\n \"206\",\n \"207\",\n \"208\",\n \"209\",\n \"210\",\n \"212\",\n \"213\",\n \"214\",\n \"215\",\n \"216\",\n \"217\",\n \"218\",\n \"219\",\n \"224\",\n \"225\",\n \"227\",\n \"228\",\n \"229\",\n \"231\",\n \"234\",\n \"239\",\n \"240\",\n \"248\",\n \"251\",\n \"252\",\n \"253\",\n \"254\",\n \"256\",\n \"260\",\n \"262\",\n \"267\",\n \"269\",\n \"270\",\n \"276\",\n \"281\",\n \"283\",\n \"301\",\n \"302\",\n \"303\",\n \"304\",\n \"305\",\n \"307\",\n \"308\",\n \"309\",\n \"310\",\n \"312\",\n \"313\",\n \"314\",\n \"315\",\n \"316\",\n \"317\",\n \"318\",\n \"319\",\n \"320\",\n \"321\",\n \"323\",\n \"330\",\n \"331\",\n \"334\",\n \"336\",\n \"337\",\n \"339\",\n \"347\",\n \"351\",\n \"352\",\n \"360\",\n \"361\",\n \"386\",\n \"401\",\n \"402\",\n \"404\",\n \"405\",\n \"406\",\n \"407\",\n \"408\",\n \"409\",\n \"410\",\n \"412\",\n \"413\",\n \"414\",\n \"415\",\n \"417\",\n \"419\",\n \"423\",\n \"424\",\n \"425\",\n \"434\",\n \"435\",\n \"440\",\n \"443\",\n \"445\",\n \"464\",\n \"469\",\n \"470\",\n \"475\",\n \"478\",\n \"479\",\n \"480\",\n \"484\",\n \"501\",\n \"502\",\n \"503\",\n \"504\",\n \"505\",\n \"507\",\n \"508\",\n \"509\",\n \"510\",\n \"512\",\n \"513\",\n \"515\",\n \"516\",\n \"517\",\n \"518\",\n \"520\",\n \"530\",\n \"540\",\n \"541\",\n \"551\",\n \"557\",\n \"559\",\n \"561\",\n \"562\",\n \"563\",\n \"564\",\n \"567\",\n \"570\",\n \"571\",\n \"573\",\n \"574\",\n \"580\",\n \"585\",\n \"586\",\n \"601\",\n \"602\",\n \"603\",\n \"605\",\n \"606\",\n \"607\",\n \"608\",\n \"609\",\n \"610\",\n \"612\",\n \"614\",\n \"615\",\n \"616\",\n \"617\",\n \"618\",\n \"619\",\n \"620\",\n \"623\",\n \"626\",\n \"630\",\n \"631\",\n \"636\",\n \"641\",\n \"646\",\n \"650\",\n \"651\",\n \"660\",\n \"661\",\n \"662\",\n \"667\",\n \"678\",\n \"682\",\n \"701\",\n \"702\",\n \"703\",\n \"704\",\n \"706\",\n \"707\",\n \"708\",\n \"712\",\n \"713\",\n \"714\",\n \"715\",\n \"716\",\n \"717\",\n \"718\",\n \"719\",\n \"720\",\n \"724\",\n \"727\",\n \"731\",\n \"732\",\n \"734\",\n \"737\",\n \"740\",\n \"754\",\n \"757\",\n \"760\",\n \"763\",\n \"765\",\n \"770\",\n \"772\",\n \"773\",\n \"774\",\n \"775\",\n \"781\",\n \"785\",\n \"786\",\n \"801\",\n \"802\",\n \"803\",\n \"804\",\n \"805\",\n \"806\",\n \"808\",\n \"810\",\n \"812\",\n \"813\",\n \"814\",\n \"815\",\n \"816\",\n \"817\",\n \"818\",\n \"828\",\n \"830\",\n \"831\",\n \"832\",\n \"835\",\n \"843\",\n \"845\",\n \"847\",\n \"848\",\n \"850\",\n \"856\",\n \"857\",\n \"858\",\n \"859\",\n \"860\",\n \"862\",\n \"863\",\n \"864\",\n \"865\",\n \"870\",\n \"872\",\n \"878\",\n \"901\",\n \"903\",\n \"904\",\n \"906\",\n \"907\",\n \"908\",\n \"909\",\n \"910\",\n \"912\",\n \"913\",\n \"914\",\n \"915\",\n \"916\",\n \"917\",\n \"918\",\n \"919\",\n \"920\",\n \"925\",\n \"928\",\n \"931\",\n \"936\",\n \"937\",\n \"940\",\n \"941\",\n \"947\",\n \"949\",\n \"952\",\n \"954\",\n \"956\",\n \"959\",\n \"970\",\n \"971\",\n \"972\",\n \"973\",\n \"975\",\n \"978\",\n \"979\",\n \"980\",\n \"984\",\n \"985\",\n \"989\"\n];\n","module[\"exports\"] = [\n \"201\",\n \"202\",\n \"203\",\n \"205\",\n \"206\",\n \"207\",\n \"208\",\n \"209\",\n \"210\",\n \"212\",\n \"213\",\n \"214\",\n \"215\",\n \"216\",\n \"217\",\n \"218\",\n \"219\",\n \"224\",\n \"225\",\n \"227\",\n \"228\",\n \"229\",\n \"231\",\n \"234\",\n \"239\",\n \"240\",\n \"248\",\n \"251\",\n \"252\",\n \"253\",\n \"254\",\n \"256\",\n \"260\",\n \"262\",\n \"267\",\n \"269\",\n \"270\",\n \"276\",\n \"281\",\n \"283\",\n \"301\",\n \"302\",\n \"303\",\n \"304\",\n \"305\",\n \"307\",\n \"308\",\n \"309\",\n \"310\",\n \"312\",\n \"313\",\n \"314\",\n \"315\",\n \"316\",\n \"317\",\n \"318\",\n \"319\",\n \"320\",\n \"321\",\n \"323\",\n \"330\",\n \"331\",\n \"334\",\n \"336\",\n \"337\",\n \"339\",\n \"347\",\n \"351\",\n \"352\",\n \"360\",\n \"361\",\n \"386\",\n \"401\",\n \"402\",\n \"404\",\n \"405\",\n \"406\",\n \"407\",\n \"408\",\n \"409\",\n \"410\",\n \"412\",\n \"413\",\n \"414\",\n \"415\",\n \"417\",\n \"419\",\n \"423\",\n \"424\",\n \"425\",\n \"434\",\n \"435\",\n \"440\",\n \"443\",\n \"445\",\n \"464\",\n \"469\",\n \"470\",\n \"475\",\n \"478\",\n \"479\",\n \"480\",\n \"484\",\n \"501\",\n \"502\",\n \"503\",\n \"504\",\n \"505\",\n \"507\",\n \"508\",\n \"509\",\n \"510\",\n \"512\",\n \"513\",\n \"515\",\n \"516\",\n \"517\",\n \"518\",\n \"520\",\n \"530\",\n \"540\",\n \"541\",\n \"551\",\n \"557\",\n \"559\",\n \"561\",\n \"562\",\n \"563\",\n \"564\",\n \"567\",\n \"570\",\n \"571\",\n \"573\",\n \"574\",\n \"580\",\n \"585\",\n \"586\",\n \"601\",\n \"602\",\n \"603\",\n \"605\",\n \"606\",\n \"607\",\n \"608\",\n \"609\",\n \"610\",\n \"612\",\n \"614\",\n \"615\",\n \"616\",\n \"617\",\n \"618\",\n \"619\",\n \"620\",\n \"623\",\n \"626\",\n \"630\",\n \"631\",\n \"636\",\n \"641\",\n \"646\",\n \"650\",\n \"651\",\n \"660\",\n \"661\",\n \"662\",\n \"667\",\n \"678\",\n \"682\",\n \"701\",\n \"702\",\n \"703\",\n \"704\",\n \"706\",\n \"707\",\n \"708\",\n \"712\",\n \"713\",\n \"714\",\n \"715\",\n \"716\",\n \"717\",\n \"718\",\n \"719\",\n \"720\",\n \"724\",\n \"727\",\n \"731\",\n \"732\",\n \"734\",\n \"737\",\n \"740\",\n \"754\",\n \"757\",\n \"760\",\n \"763\",\n \"765\",\n \"770\",\n \"772\",\n \"773\",\n \"774\",\n \"775\",\n \"781\",\n \"785\",\n \"786\",\n \"801\",\n \"802\",\n \"803\",\n \"804\",\n \"805\",\n \"806\",\n \"808\",\n \"810\",\n \"812\",\n \"813\",\n \"814\",\n \"815\",\n \"816\",\n \"817\",\n \"818\",\n \"828\",\n \"830\",\n \"831\",\n \"832\",\n \"835\",\n \"843\",\n \"845\",\n \"847\",\n \"848\",\n \"850\",\n \"856\",\n \"857\",\n \"858\",\n \"859\",\n \"860\",\n \"862\",\n \"863\",\n \"864\",\n \"865\",\n \"870\",\n \"872\",\n \"878\",\n \"901\",\n \"903\",\n \"904\",\n \"906\",\n \"907\",\n \"908\",\n \"909\",\n \"910\",\n \"912\",\n \"913\",\n \"914\",\n \"915\",\n \"916\",\n \"917\",\n \"918\",\n \"919\",\n \"920\",\n \"925\",\n \"928\",\n \"931\",\n \"936\",\n \"937\",\n \"940\",\n \"941\",\n \"947\",\n \"949\",\n \"952\",\n \"954\",\n \"956\",\n \"959\",\n \"970\",\n \"971\",\n \"972\",\n \"973\",\n \"975\",\n \"978\",\n \"979\",\n \"980\",\n \"984\",\n \"985\",\n \"989\"\n];\n","var phone_number = {};\nmodule['exports'] = phone_number;\nphone_number.area_code = require(\"./area_code\");\nphone_number.exchange_code = require(\"./exchange_code\");\n","var en_US = {};\nmodule['exports'] = en_US;\nen_US.title = \"English (United States)\";\nen_US.internet = require(\"./internet\");\nen_US.address = require(\"./address\");\nen_US.phone_number = require(\"./phone_number\");\n","module[\"exports\"] = [\n \"North\",\n \"East\",\n \"West\",\n \"South\",\n \"New\",\n \"Lake\",\n \"Port\"\n];\n","module[\"exports\"] = [\n \"town\",\n \"ton\",\n \"land\",\n \"ville\",\n \"berg\",\n \"burgh\",\n \"borough\",\n \"bury\",\n \"view\",\n \"port\",\n \"mouth\",\n \"stad\",\n \"furt\",\n \"chester\",\n \"mouth\",\n \"fort\",\n \"haven\",\n \"side\",\n \"shire\"\n];\n","module[\"exports\"] = [\n \"Avon\",\n \"Bedfordshire\",\n \"Berkshire\",\n \"Borders\",\n \"Buckinghamshire\",\n \"Cambridgeshire\"\n];\n","module[\"exports\"] = [\n \"Afghanistan\",\n \"Albania\",\n \"Algeria\",\n \"American Samoa\",\n \"Andorra\",\n \"Angola\",\n \"Anguilla\",\n \"Antarctica (the territory South of 60 deg S)\",\n \"Antigua and Barbuda\",\n \"Argentina\",\n \"Armenia\",\n \"Aruba\",\n \"Australia\",\n \"Austria\",\n \"Azerbaijan\",\n \"Bahamas\",\n \"Bahrain\",\n \"Bangladesh\",\n \"Barbados\",\n \"Belarus\",\n \"Belgium\",\n \"Belize\",\n \"Benin\",\n \"Bermuda\",\n \"Bhutan\",\n \"Bolivia\",\n \"Bosnia and Herzegovina\",\n \"Botswana\",\n \"Bouvet Island (Bouvetoya)\",\n \"Brazil\",\n \"British Indian Ocean Territory (Chagos Archipelago)\",\n \"Brunei Darussalam\",\n \"Bulgaria\",\n \"Burkina Faso\",\n \"Burundi\",\n \"Cambodia\",\n \"Cameroon\",\n \"Canada\",\n \"Cape Verde\",\n \"Cayman Islands\",\n \"Central African Republic\",\n \"Chad\",\n \"Chile\",\n \"China\",\n \"Christmas Island\",\n \"Cocos (Keeling) Islands\",\n \"Colombia\",\n \"Comoros\",\n \"Congo\",\n \"Cook Islands\",\n \"Costa Rica\",\n \"Cote d'Ivoire\",\n \"Croatia\",\n \"Cuba\",\n \"Cyprus\",\n \"Czech Republic\",\n \"Denmark\",\n \"Djibouti\",\n \"Dominica\",\n \"Dominican Republic\",\n \"Ecuador\",\n \"Egypt\",\n \"El Salvador\",\n \"Equatorial Guinea\",\n \"Eritrea\",\n \"Estonia\",\n \"Ethiopia\",\n \"Faroe Islands\",\n \"Falkland Islands (Malvinas)\",\n \"Fiji\",\n \"Finland\",\n \"France\",\n \"French Guiana\",\n \"French Polynesia\",\n \"French Southern Territories\",\n \"Gabon\",\n \"Gambia\",\n \"Georgia\",\n \"Germany\",\n \"Ghana\",\n \"Gibraltar\",\n \"Greece\",\n \"Greenland\",\n \"Grenada\",\n \"Guadeloupe\",\n \"Guam\",\n \"Guatemala\",\n \"Guernsey\",\n \"Guinea\",\n \"Guinea-Bissau\",\n \"Guyana\",\n \"Haiti\",\n \"Heard Island and McDonald Islands\",\n \"Holy See (Vatican City State)\",\n \"Honduras\",\n \"Hong Kong\",\n \"Hungary\",\n \"Iceland\",\n \"India\",\n \"Indonesia\",\n \"Iran\",\n \"Iraq\",\n \"Ireland\",\n \"Isle of Man\",\n \"Israel\",\n \"Italy\",\n \"Jamaica\",\n \"Japan\",\n \"Jersey\",\n \"Jordan\",\n \"Kazakhstan\",\n \"Kenya\",\n \"Kiribati\",\n \"Democratic People's Republic of Korea\",\n \"Republic of Korea\",\n \"Kuwait\",\n \"Kyrgyz Republic\",\n \"Lao People's Democratic Republic\",\n \"Latvia\",\n \"Lebanon\",\n \"Lesotho\",\n \"Liberia\",\n \"Libyan Arab Jamahiriya\",\n \"Liechtenstein\",\n \"Lithuania\",\n \"Luxembourg\",\n \"Macao\",\n \"Macedonia\",\n \"Madagascar\",\n \"Malawi\",\n \"Malaysia\",\n \"Maldives\",\n \"Mali\",\n \"Malta\",\n \"Marshall Islands\",\n \"Martinique\",\n \"Mauritania\",\n \"Mauritius\",\n \"Mayotte\",\n \"Mexico\",\n \"Micronesia\",\n \"Moldova\",\n \"Monaco\",\n \"Mongolia\",\n \"Montenegro\",\n \"Montserrat\",\n \"Morocco\",\n \"Mozambique\",\n \"Myanmar\",\n \"Namibia\",\n \"Nauru\",\n \"Nepal\",\n \"Netherlands Antilles\",\n \"Netherlands\",\n \"New Caledonia\",\n \"New Zealand\",\n \"Nicaragua\",\n \"Niger\",\n \"Nigeria\",\n \"Niue\",\n \"Norfolk Island\",\n \"Northern Mariana Islands\",\n \"Norway\",\n \"Oman\",\n \"Pakistan\",\n \"Palau\",\n \"Palestinian Territory\",\n \"Panama\",\n \"Papua New Guinea\",\n \"Paraguay\",\n \"Peru\",\n \"Philippines\",\n \"Pitcairn Islands\",\n \"Poland\",\n \"Portugal\",\n \"Puerto Rico\",\n \"Qatar\",\n \"Reunion\",\n \"Romania\",\n \"Russian Federation\",\n \"Rwanda\",\n \"Saint Barthelemy\",\n \"Saint Helena\",\n \"Saint Kitts and Nevis\",\n \"Saint Lucia\",\n \"Saint Martin\",\n \"Saint Pierre and Miquelon\",\n \"Saint Vincent and the Grenadines\",\n \"Samoa\",\n \"San Marino\",\n \"Sao Tome and Principe\",\n \"Saudi Arabia\",\n \"Senegal\",\n \"Serbia\",\n \"Seychelles\",\n \"Sierra Leone\",\n \"Singapore\",\n \"Slovakia (Slovak Republic)\",\n \"Slovenia\",\n \"Solomon Islands\",\n \"Somalia\",\n \"South Africa\",\n \"South Georgia and the South Sandwich Islands\",\n \"Spain\",\n \"Sri Lanka\",\n \"Sudan\",\n \"Suriname\",\n \"Svalbard & Jan Mayen Islands\",\n \"Swaziland\",\n \"Sweden\",\n \"Switzerland\",\n \"Syrian Arab Republic\",\n \"Taiwan\",\n \"Tajikistan\",\n \"Tanzania\",\n \"Thailand\",\n \"Timor-Leste\",\n \"Togo\",\n \"Tokelau\",\n \"Tonga\",\n \"Trinidad and Tobago\",\n \"Tunisia\",\n \"Turkey\",\n \"Turkmenistan\",\n \"Turks and Caicos Islands\",\n \"Tuvalu\",\n \"Uganda\",\n \"Ukraine\",\n \"United Arab Emirates\",\n \"United Kingdom\",\n \"United States of America\",\n \"United States Minor Outlying Islands\",\n \"Uruguay\",\n \"Uzbekistan\",\n \"Vanuatu\",\n \"Venezuela\",\n \"Vietnam\",\n \"Virgin Islands, British\",\n \"Virgin Islands, U.S.\",\n \"Wallis and Futuna\",\n \"Western Sahara\",\n \"Yemen\",\n \"Zambia\",\n \"Zimbabwe\"\n];\n","module[\"exports\"] = [\n \"AD\",\n \"AE\",\n \"AF\",\n \"AG\",\n \"AI\",\n \"AL\",\n \"AM\",\n \"AO\",\n \"AQ\",\n \"AR\",\n \"AS\",\n \"AT\",\n \"AU\",\n \"AW\",\n \"AX\",\n \"AZ\",\n \"BA\",\n \"BB\",\n \"BD\",\n \"BE\",\n \"BF\",\n \"BG\",\n \"BH\",\n \"BI\",\n \"BJ\",\n \"BL\",\n \"BM\",\n \"BN\",\n \"BO\",\n \"BQ\",\n \"BR\",\n \"BS\",\n \"BT\",\n \"BV\",\n \"BW\",\n \"BY\",\n \"BZ\",\n \"CA\",\n \"CC\",\n \"CD\",\n \"CF\",\n \"CG\",\n \"CH\",\n \"CI\",\n \"CK\",\n \"CL\",\n \"CM\",\n \"CN\",\n \"CO\",\n \"CR\",\n \"CU\",\n \"CV\",\n \"CW\",\n \"CX\",\n \"CY\",\n \"CZ\",\n \"DE\",\n \"DJ\",\n \"DK\",\n \"DM\",\n \"DO\",\n \"DZ\",\n \"EC\",\n \"EE\",\n \"EG\",\n \"EH\",\n \"ER\",\n \"ES\",\n \"ET\",\n \"FI\",\n \"FJ\",\n \"FK\",\n \"FM\",\n \"FO\",\n \"FR\",\n \"GA\",\n \"GB\",\n \"GD\",\n \"GE\",\n \"GF\",\n \"GG\",\n \"GH\",\n \"GI\",\n \"GL\",\n \"GM\",\n \"GN\",\n \"GP\",\n \"GQ\",\n \"GR\",\n \"GS\",\n \"GT\",\n \"GU\",\n \"GW\",\n \"GY\",\n \"HK\",\n \"HM\",\n \"HN\",\n \"HR\",\n \"HT\",\n \"HU\",\n \"ID\",\n \"IE\",\n \"IL\",\n \"IM\",\n \"IN\",\n \"IO\",\n \"IQ\",\n \"IR\",\n \"IS\",\n \"IT\",\n \"JE\",\n \"JM\",\n \"JO\",\n \"JP\",\n \"KE\",\n \"KG\",\n \"KH\",\n \"KI\",\n \"KM\",\n \"KN\",\n \"KP\",\n \"KR\",\n \"KW\",\n \"KY\",\n \"KZ\",\n \"LA\",\n \"LB\",\n \"LC\",\n \"LI\",\n \"LK\",\n \"LR\",\n \"LS\",\n \"LT\",\n \"LU\",\n \"LV\",\n \"LY\",\n \"MA\",\n \"MC\",\n \"MD\",\n \"ME\",\n \"MF\",\n \"MG\",\n \"MH\",\n \"MK\",\n \"ML\",\n \"MM\",\n \"MN\",\n \"MO\",\n \"MP\",\n \"MQ\",\n \"MR\",\n \"MS\",\n \"MT\",\n \"MU\",\n \"MV\",\n \"MW\",\n \"MX\",\n \"MY\",\n \"MZ\",\n \"NA\",\n \"NC\",\n \"NE\",\n \"NF\",\n \"NG\",\n \"NI\",\n \"NL\",\n \"NO\",\n \"NP\",\n \"NR\",\n \"NU\",\n \"NZ\",\n \"OM\",\n \"PA\",\n \"PE\",\n \"PF\",\n \"PG\",\n \"PH\",\n \"PK\",\n \"PL\",\n \"PM\",\n \"PN\",\n \"PR\",\n \"PS\",\n \"PT\",\n \"PW\",\n \"PY\",\n \"QA\",\n \"RE\",\n \"RO\",\n \"RS\",\n \"RU\",\n \"RW\",\n \"SA\",\n \"SB\",\n \"SC\",\n \"SD\",\n \"SE\",\n \"SG\",\n \"SH\",\n \"SI\",\n \"SJ\",\n \"SK\",\n \"SL\",\n \"SM\",\n \"SN\",\n \"SO\",\n \"SR\",\n \"SS\",\n \"ST\",\n \"SV\",\n \"SX\",\n \"SY\",\n \"SZ\",\n \"TC\",\n \"TD\",\n \"TF\",\n \"TG\",\n \"TH\",\n \"TJ\",\n \"TK\",\n \"TL\",\n \"TM\",\n \"TN\",\n \"TO\",\n \"TR\",\n \"TT\",\n \"TV\",\n \"TW\",\n \"TZ\",\n \"UA\",\n \"UG\",\n \"UM\",\n \"US\",\n \"UY\",\n \"UZ\",\n \"VA\",\n \"VC\",\n \"VE\",\n \"VG\",\n \"VI\",\n \"VN\",\n \"VU\",\n \"WF\",\n \"WS\",\n \"YE\",\n \"YT\",\n \"ZA\",\n \"ZM\",\n \"ZW\"\n];\n","module[\"exports\"] = [\n \"BGD\",\n \"BEL\",\n \"BFA\",\n \"BGR\",\n \"BIH\",\n \"BRB\",\n \"WLF\",\n \"BLM\",\n \"BMU\",\n \"BRN\",\n \"BOL\",\n \"BHR\",\n \"BDI\",\n \"BEN\",\n \"BTN\",\n \"JAM\",\n \"BVT\",\n \"BWA\",\n \"WSM\",\n \"BES\",\n \"BRA\",\n \"BHS\",\n \"JEY\",\n \"BLR\",\n \"BLZ\",\n \"RUS\",\n \"RWA\",\n \"SRB\",\n \"TLS\",\n \"REU\",\n \"TKM\",\n \"TJK\",\n \"ROU\",\n \"TKL\",\n \"GNB\",\n \"GUM\",\n \"GTM\",\n \"SGS\",\n \"GRC\",\n \"GNQ\",\n \"GLP\",\n \"JPN\",\n \"GUY\",\n \"GGY\",\n \"GUF\",\n \"GEO\",\n \"GRD\",\n \"GBR\",\n \"GAB\",\n \"SLV\",\n \"GIN\",\n \"GMB\",\n \"GRL\",\n \"GIB\",\n \"GHA\",\n \"OMN\",\n \"TUN\",\n \"JOR\",\n \"HRV\",\n \"HTI\",\n \"HUN\",\n \"HKG\",\n \"HND\",\n \"HMD\",\n \"VEN\",\n \"PRI\",\n \"PSE\",\n \"PLW\",\n \"PRT\",\n \"SJM\",\n \"PRY\",\n \"IRQ\",\n \"PAN\",\n \"PYF\",\n \"PNG\",\n \"PER\",\n \"PAK\",\n \"PHL\",\n \"PCN\",\n \"POL\",\n \"SPM\",\n \"ZMB\",\n \"ESH\",\n \"EST\",\n \"EGY\",\n \"ZAF\",\n \"ECU\",\n \"ITA\",\n \"VNM\",\n \"SLB\",\n \"ETH\",\n \"SOM\",\n \"ZWE\",\n \"SAU\",\n \"ESP\",\n \"ERI\",\n \"MNE\",\n \"MDA\",\n \"MDG\",\n \"MAF\",\n \"MAR\",\n \"MCO\",\n \"UZB\",\n \"MMR\",\n \"MLI\",\n \"MAC\",\n \"MNG\",\n \"MHL\",\n \"MKD\",\n \"MUS\",\n \"MLT\",\n \"MWI\",\n \"MDV\",\n \"MTQ\",\n \"MNP\",\n \"MSR\",\n \"MRT\",\n \"IMN\",\n \"UGA\",\n \"TZA\",\n \"MYS\",\n \"MEX\",\n \"ISR\",\n \"FRA\",\n \"IOT\",\n \"SHN\",\n \"FIN\",\n \"FJI\",\n \"FLK\",\n \"FSM\",\n \"FRO\",\n \"NIC\",\n \"NLD\",\n \"NOR\",\n \"NAM\",\n \"VUT\",\n \"NCL\",\n \"NER\",\n \"NFK\",\n \"NGA\",\n \"NZL\",\n \"NPL\",\n \"NRU\",\n \"NIU\",\n \"COK\",\n \"XKX\",\n \"CIV\",\n \"CHE\",\n \"COL\",\n \"CHN\",\n \"CMR\",\n \"CHL\",\n \"CCK\",\n \"CAN\",\n \"COG\",\n \"CAF\",\n \"COD\",\n \"CZE\",\n \"CYP\",\n \"CXR\",\n \"CRI\",\n \"CUW\",\n \"CPV\",\n \"CUB\",\n \"SWZ\",\n \"SYR\",\n \"SXM\",\n \"KGZ\",\n \"KEN\",\n \"SSD\",\n \"SUR\",\n \"KIR\",\n \"KHM\",\n \"KNA\",\n \"COM\",\n \"STP\",\n \"SVK\",\n \"KOR\",\n \"SVN\",\n \"PRK\",\n \"KWT\",\n \"SEN\",\n \"SMR\",\n \"SLE\",\n \"SYC\",\n \"KAZ\",\n \"CYM\",\n \"SGP\",\n \"SWE\",\n \"SDN\",\n \"DOM\",\n \"DMA\",\n \"DJI\",\n \"DNK\",\n \"VGB\",\n \"DEU\",\n \"YEM\",\n \"DZA\",\n \"USA\",\n \"URY\",\n \"MYT\",\n \"UMI\",\n \"LBN\",\n \"LCA\",\n \"LAO\",\n \"TUV\",\n \"TWN\",\n \"TTO\",\n \"TUR\",\n \"LKA\",\n \"LIE\",\n \"LVA\",\n \"TON\",\n \"LTU\",\n \"LUX\",\n \"LBR\",\n \"LSO\",\n \"THA\",\n \"ATF\",\n \"TGO\",\n \"TCD\",\n \"TCA\",\n \"LBY\",\n \"VAT\",\n \"VCT\",\n \"ARE\",\n \"AND\",\n \"ATG\",\n \"AFG\",\n \"AIA\",\n \"VIR\",\n \"ISL\",\n \"IRN\",\n \"ARM\",\n \"ALB\",\n \"AGO\",\n \"ATA\",\n \"ASM\",\n \"ARG\",\n \"AUS\",\n \"AUT\",\n \"ABW\",\n \"IND\",\n \"ALA\",\n \"AZE\",\n \"IRL\",\n \"IDN\",\n \"UKR\",\n \"QAT\",\n \"MOZ\"\n];","module[\"exports\"] = [\n \"#####\",\n \"####\",\n \"###\"\n];\n","module[\"exports\"] = [\n \"Alley\",\n \"Avenue\",\n \"Branch\",\n \"Bridge\",\n \"Brook\",\n \"Brooks\",\n \"Burg\",\n \"Burgs\",\n \"Bypass\",\n \"Camp\",\n \"Canyon\",\n \"Cape\",\n \"Causeway\",\n \"Center\",\n \"Centers\",\n \"Circle\",\n \"Circles\",\n \"Cliff\",\n \"Cliffs\",\n \"Club\",\n \"Common\",\n \"Corner\",\n \"Corners\",\n \"Course\",\n \"Court\",\n \"Courts\",\n \"Cove\",\n \"Coves\",\n \"Creek\",\n \"Crescent\",\n \"Crest\",\n \"Crossing\",\n \"Crossroad\",\n \"Curve\",\n \"Dale\",\n \"Dam\",\n \"Divide\",\n \"Drive\",\n \"Drive\",\n \"Drives\",\n \"Estate\",\n \"Estates\",\n \"Expressway\",\n \"Extension\",\n \"Extensions\",\n \"Fall\",\n \"Falls\",\n \"Ferry\",\n \"Field\",\n \"Fields\",\n \"Flat\",\n \"Flats\",\n \"Ford\",\n \"Fords\",\n \"Forest\",\n \"Forge\",\n \"Forges\",\n \"Fork\",\n \"Forks\",\n \"Fort\",\n \"Freeway\",\n \"Garden\",\n \"Gardens\",\n \"Gateway\",\n \"Glen\",\n \"Glens\",\n \"Green\",\n \"Greens\",\n \"Grove\",\n \"Groves\",\n \"Harbor\",\n \"Harbors\",\n \"Haven\",\n \"Heights\",\n \"Highway\",\n \"Hill\",\n \"Hills\",\n \"Hollow\",\n \"Inlet\",\n \"Inlet\",\n \"Island\",\n \"Island\",\n \"Islands\",\n \"Islands\",\n \"Isle\",\n \"Isle\",\n \"Junction\",\n \"Junctions\",\n \"Key\",\n \"Keys\",\n \"Knoll\",\n \"Knolls\",\n \"Lake\",\n \"Lakes\",\n \"Land\",\n \"Landing\",\n \"Lane\",\n \"Light\",\n \"Lights\",\n \"Loaf\",\n \"Lock\",\n \"Locks\",\n \"Locks\",\n \"Lodge\",\n \"Lodge\",\n \"Loop\",\n \"Mall\",\n \"Manor\",\n \"Manors\",\n \"Meadow\",\n \"Meadows\",\n \"Mews\",\n \"Mill\",\n \"Mills\",\n \"Mission\",\n \"Mission\",\n \"Motorway\",\n \"Mount\",\n \"Mountain\",\n \"Mountain\",\n \"Mountains\",\n \"Mountains\",\n \"Neck\",\n \"Orchard\",\n \"Oval\",\n \"Overpass\",\n \"Park\",\n \"Parks\",\n \"Parkway\",\n \"Parkways\",\n \"Pass\",\n \"Passage\",\n \"Path\",\n \"Pike\",\n \"Pine\",\n \"Pines\",\n \"Place\",\n \"Plain\",\n \"Plains\",\n \"Plains\",\n \"Plaza\",\n \"Plaza\",\n \"Point\",\n \"Points\",\n \"Port\",\n \"Port\",\n \"Ports\",\n \"Ports\",\n \"Prairie\",\n \"Prairie\",\n \"Radial\",\n \"Ramp\",\n \"Ranch\",\n \"Rapid\",\n \"Rapids\",\n \"Rest\",\n \"Ridge\",\n \"Ridges\",\n \"River\",\n \"Road\",\n \"Road\",\n \"Roads\",\n \"Roads\",\n \"Route\",\n \"Row\",\n \"Rue\",\n \"Run\",\n \"Shoal\",\n \"Shoals\",\n \"Shore\",\n \"Shores\",\n \"Skyway\",\n \"Spring\",\n \"Springs\",\n \"Springs\",\n \"Spur\",\n \"Spurs\",\n \"Square\",\n \"Square\",\n \"Squares\",\n \"Squares\",\n \"Station\",\n \"Station\",\n \"Stravenue\",\n \"Stravenue\",\n \"Stream\",\n \"Stream\",\n \"Street\",\n \"Street\",\n \"Streets\",\n \"Summit\",\n \"Summit\",\n \"Terrace\",\n \"Throughway\",\n \"Trace\",\n \"Track\",\n \"Trafficway\",\n \"Trail\",\n \"Trail\",\n \"Tunnel\",\n \"Tunnel\",\n \"Turnpike\",\n \"Turnpike\",\n \"Underpass\",\n \"Union\",\n \"Unions\",\n \"Valley\",\n \"Valleys\",\n \"Via\",\n \"Viaduct\",\n \"View\",\n \"Views\",\n \"Village\",\n \"Village\",\n \"Villages\",\n \"Ville\",\n \"Vista\",\n \"Vista\",\n \"Walk\",\n \"Walks\",\n \"Wall\",\n \"Way\",\n \"Ways\",\n \"Well\",\n \"Wells\"\n];\n","module[\"exports\"] = [\n \"Apt. ###\",\n \"Suite ###\"\n];\n","module[\"exports\"] = [\n \"#####\",\n \"#####-####\"\n];\n","module[\"exports\"] = [\n \"#####\",\n \"#####-####\"\n];\n","module[\"exports\"] = [\n \"Alabama\",\n \"Alaska\",\n \"Arizona\",\n \"Arkansas\",\n \"California\",\n \"Colorado\",\n \"Connecticut\",\n \"Delaware\",\n \"Florida\",\n \"Georgia\",\n \"Hawaii\",\n \"Idaho\",\n \"Illinois\",\n \"Indiana\",\n \"Iowa\",\n \"Kansas\",\n \"Kentucky\",\n \"Louisiana\",\n \"Maine\",\n \"Maryland\",\n \"Massachusetts\",\n \"Michigan\",\n \"Minnesota\",\n \"Mississippi\",\n \"Missouri\",\n \"Montana\",\n \"Nebraska\",\n \"Nevada\",\n \"New Hampshire\",\n \"New Jersey\",\n \"New Mexico\",\n \"New York\",\n \"North Carolina\",\n \"North Dakota\",\n \"Ohio\",\n \"Oklahoma\",\n \"Oregon\",\n \"Pennsylvania\",\n \"Rhode Island\",\n \"South Carolina\",\n \"South Dakota\",\n \"Tennessee\",\n \"Texas\",\n \"Utah\",\n \"Vermont\",\n \"Virginia\",\n \"Washington\",\n \"West Virginia\",\n \"Wisconsin\",\n \"Wyoming\"\n];\n","module[\"exports\"] = [\n \"AL\",\n \"AK\",\n \"AZ\",\n \"AR\",\n \"CA\",\n \"CO\",\n \"CT\",\n \"DE\",\n \"FL\",\n \"GA\",\n \"HI\",\n \"ID\",\n \"IL\",\n \"IN\",\n \"IA\",\n \"KS\",\n \"KY\",\n \"LA\",\n \"ME\",\n \"MD\",\n \"MA\",\n \"MI\",\n \"MN\",\n \"MS\",\n \"MO\",\n \"MT\",\n \"NE\",\n \"NV\",\n \"NH\",\n \"NJ\",\n \"NM\",\n \"NY\",\n \"NC\",\n \"ND\",\n \"OH\",\n \"OK\",\n \"OR\",\n \"PA\",\n \"RI\",\n \"SC\",\n \"SD\",\n \"TN\",\n \"TX\",\n \"UT\",\n \"VT\",\n \"VA\",\n \"WA\",\n \"WV\",\n \"WI\",\n \"WY\"\n];\n","module[\"exports\"] = [\n \"Pacific/Midway\",\n \"Pacific/Pago_Pago\",\n \"Pacific/Honolulu\",\n \"America/Juneau\",\n \"America/Los_Angeles\",\n \"America/Tijuana\",\n \"America/Denver\",\n \"America/Phoenix\",\n \"America/Chihuahua\",\n \"America/Mazatlan\",\n \"America/Chicago\",\n \"America/Regina\",\n \"America/Mexico_City\",\n \"America/Mexico_City\",\n \"America/Monterrey\",\n \"America/Guatemala\",\n \"America/New_York\",\n \"America/Indiana/Indianapolis\",\n \"America/Bogota\",\n \"America/Lima\",\n \"America/Lima\",\n \"America/Halifax\",\n \"America/Caracas\",\n \"America/La_Paz\",\n \"America/Santiago\",\n \"America/St_Johns\",\n \"America/Sao_Paulo\",\n \"America/Argentina/Buenos_Aires\",\n \"America/Guyana\",\n \"America/Godthab\",\n \"Atlantic/South_Georgia\",\n \"Atlantic/Azores\",\n \"Atlantic/Cape_Verde\",\n \"Europe/Dublin\",\n \"Europe/London\",\n \"Europe/Lisbon\",\n \"Europe/London\",\n \"Africa/Casablanca\",\n \"Africa/Monrovia\",\n \"Etc/UTC\",\n \"Europe/Belgrade\",\n \"Europe/Bratislava\",\n \"Europe/Budapest\",\n \"Europe/Ljubljana\",\n \"Europe/Prague\",\n \"Europe/Sarajevo\",\n \"Europe/Skopje\",\n \"Europe/Warsaw\",\n \"Europe/Zagreb\",\n \"Europe/Brussels\",\n \"Europe/Copenhagen\",\n \"Europe/Madrid\",\n \"Europe/Paris\",\n \"Europe/Amsterdam\",\n \"Europe/Berlin\",\n \"Europe/Berlin\",\n \"Europe/Rome\",\n \"Europe/Stockholm\",\n \"Europe/Vienna\",\n \"Africa/Algiers\",\n \"Europe/Bucharest\",\n \"Africa/Cairo\",\n \"Europe/Helsinki\",\n \"Europe/Kiev\",\n \"Europe/Riga\",\n \"Europe/Sofia\",\n \"Europe/Tallinn\",\n \"Europe/Vilnius\",\n \"Europe/Athens\",\n \"Europe/Istanbul\",\n \"Europe/Minsk\",\n \"Asia/Jerusalem\",\n \"Africa/Harare\",\n \"Africa/Johannesburg\",\n \"Europe/Moscow\",\n \"Europe/Moscow\",\n \"Europe/Moscow\",\n \"Asia/Kuwait\",\n \"Asia/Riyadh\",\n \"Africa/Nairobi\",\n \"Asia/Baghdad\",\n \"Asia/Tehran\",\n \"Asia/Muscat\",\n \"Asia/Muscat\",\n \"Asia/Baku\",\n \"Asia/Tbilisi\",\n \"Asia/Yerevan\",\n \"Asia/Kabul\",\n \"Asia/Yekaterinburg\",\n \"Asia/Karachi\",\n \"Asia/Karachi\",\n \"Asia/Tashkent\",\n \"Asia/Kolkata\",\n \"Asia/Kolkata\",\n \"Asia/Kolkata\",\n \"Asia/Kolkata\",\n \"Asia/Kathmandu\",\n \"Asia/Dhaka\",\n \"Asia/Dhaka\",\n \"Asia/Colombo\",\n \"Asia/Almaty\",\n \"Asia/Novosibirsk\",\n \"Asia/Rangoon\",\n \"Asia/Bangkok\",\n \"Asia/Bangkok\",\n \"Asia/Jakarta\",\n \"Asia/Krasnoyarsk\",\n \"Asia/Shanghai\",\n \"Asia/Chongqing\",\n \"Asia/Hong_Kong\",\n \"Asia/Urumqi\",\n \"Asia/Kuala_Lumpur\",\n \"Asia/Singapore\",\n \"Asia/Taipei\",\n \"Australia/Perth\",\n \"Asia/Irkutsk\",\n \"Asia/Ulaanbaatar\",\n \"Asia/Seoul\",\n \"Asia/Tokyo\",\n \"Asia/Tokyo\",\n \"Asia/Tokyo\",\n \"Asia/Yakutsk\",\n \"Australia/Darwin\",\n \"Australia/Adelaide\",\n \"Australia/Melbourne\",\n \"Australia/Melbourne\",\n \"Australia/Sydney\",\n \"Australia/Brisbane\",\n \"Australia/Hobart\",\n \"Asia/Vladivostok\",\n \"Pacific/Guam\",\n \"Pacific/Port_Moresby\",\n \"Asia/Magadan\",\n \"Asia/Magadan\",\n \"Pacific/Noumea\",\n \"Pacific/Fiji\",\n \"Asia/Kamchatka\",\n \"Pacific/Majuro\",\n \"Pacific/Auckland\",\n \"Pacific/Auckland\",\n \"Pacific/Tongatapu\",\n \"Pacific/Fakaofo\",\n \"Pacific/Apia\"\n];\n","module[\"exports\"] = [\n \"#{city_prefix} #{Name.first_name}#{city_suffix}\",\n \"#{city_prefix} #{Name.first_name}\",\n \"#{Name.first_name}#{city_suffix}\",\n \"#{Name.last_name}#{city_suffix}\"\n];\n","module[\"exports\"] = [\n \"#{Name.first_name} #{street_suffix}\",\n \"#{Name.last_name} #{street_suffix}\"\n];\n","module[\"exports\"] = [\n \"#{building_number} #{street_name}\"\n];\n","module[\"exports\"] = [\n \"United States of America\"\n];\n","module[\"exports\"] = [\n \"North\",\n \"East\",\n \"South\",\n \"West\",\n \"Northeast\",\n \"Northwest\",\n \"Southeast\",\n \"Southwest\"\n];\n","module[\"exports\"] = [\n \"N\",\n \"E\",\n \"S\",\n \"W\",\n \"NE\",\n \"NW\",\n \"SE\",\n \"SW\"\n];\n","var address = {};\nmodule['exports'] = address;\naddress.city_prefix = require(\"./city_prefix\");\naddress.city_suffix = require(\"./city_suffix\");\naddress.county = require(\"./county\");\naddress.country = require(\"./country\");\naddress.country_code = require(\"./country_code\");\naddress.country_code_alpha_3 = require(\"./country_code_alpha_3\");\naddress.building_number = require(\"./building_number\");\naddress.street_suffix = require(\"./street_suffix\");\naddress.secondary_address = require(\"./secondary_address\");\naddress.postcode = require(\"./postcode\");\naddress.postcode_by_state = require(\"./postcode_by_state\");\naddress.state = require(\"./state\");\naddress.state_abbr = require(\"./state_abbr\");\naddress.time_zone = require(\"./time_zone\");\naddress.city = require(\"./city\");\naddress.street_name = require(\"./street_name\");\naddress.street_address = require(\"./street_address\");\naddress.default_country = require(\"./default_country\");\naddress.direction = require(\"./direction\");\naddress.direction_abbr = require(\"./direction_abbr\");\n","module[\"exports\"] = [\n \"Inc\",\n \"and Sons\",\n \"LLC\",\n \"Group\"\n];\n","module[\"exports\"] = [\n \"Adaptive\",\n \"Advanced\",\n \"Ameliorated\",\n \"Assimilated\",\n \"Automated\",\n \"Balanced\",\n \"Business-focused\",\n \"Centralized\",\n \"Cloned\",\n \"Compatible\",\n \"Configurable\",\n \"Cross-group\",\n \"Cross-platform\",\n \"Customer-focused\",\n \"Customizable\",\n \"Decentralized\",\n \"De-engineered\",\n \"Devolved\",\n \"Digitized\",\n \"Distributed\",\n \"Diverse\",\n \"Down-sized\",\n \"Enhanced\",\n \"Enterprise-wide\",\n \"Ergonomic\",\n \"Exclusive\",\n \"Expanded\",\n \"Extended\",\n \"Face to face\",\n \"Focused\",\n \"Front-line\",\n \"Fully-configurable\",\n \"Function-based\",\n \"Fundamental\",\n \"Future-proofed\",\n \"Grass-roots\",\n \"Horizontal\",\n \"Implemented\",\n \"Innovative\",\n \"Integrated\",\n \"Intuitive\",\n \"Inverse\",\n \"Managed\",\n \"Mandatory\",\n \"Monitored\",\n \"Multi-channelled\",\n \"Multi-lateral\",\n \"Multi-layered\",\n \"Multi-tiered\",\n \"Networked\",\n \"Object-based\",\n \"Open-architected\",\n \"Open-source\",\n \"Operative\",\n \"Optimized\",\n \"Optional\",\n \"Organic\",\n \"Organized\",\n \"Persevering\",\n \"Persistent\",\n \"Phased\",\n \"Polarised\",\n \"Pre-emptive\",\n \"Proactive\",\n \"Profit-focused\",\n \"Profound\",\n \"Programmable\",\n \"Progressive\",\n \"Public-key\",\n \"Quality-focused\",\n \"Reactive\",\n \"Realigned\",\n \"Re-contextualized\",\n \"Re-engineered\",\n \"Reduced\",\n \"Reverse-engineered\",\n \"Right-sized\",\n \"Robust\",\n \"Seamless\",\n \"Secured\",\n \"Self-enabling\",\n \"Sharable\",\n \"Stand-alone\",\n \"Streamlined\",\n \"Switchable\",\n \"Synchronised\",\n \"Synergistic\",\n \"Synergized\",\n \"Team-oriented\",\n \"Total\",\n \"Triple-buffered\",\n \"Universal\",\n \"Up-sized\",\n \"Upgradable\",\n \"User-centric\",\n \"User-friendly\",\n \"Versatile\",\n \"Virtual\",\n \"Visionary\",\n \"Vision-oriented\"\n];\n","module[\"exports\"] = [\n \"24 hour\",\n \"24/7\",\n \"3rd generation\",\n \"4th generation\",\n \"5th generation\",\n \"6th generation\",\n \"actuating\",\n \"analyzing\",\n \"asymmetric\",\n \"asynchronous\",\n \"attitude-oriented\",\n \"background\",\n \"bandwidth-monitored\",\n \"bi-directional\",\n \"bifurcated\",\n \"bottom-line\",\n \"clear-thinking\",\n \"client-driven\",\n \"client-server\",\n \"coherent\",\n \"cohesive\",\n \"composite\",\n \"context-sensitive\",\n \"contextually-based\",\n \"content-based\",\n \"dedicated\",\n \"demand-driven\",\n \"didactic\",\n \"directional\",\n \"discrete\",\n \"disintermediate\",\n \"dynamic\",\n \"eco-centric\",\n \"empowering\",\n \"encompassing\",\n \"even-keeled\",\n \"executive\",\n \"explicit\",\n \"exuding\",\n \"fault-tolerant\",\n \"foreground\",\n \"fresh-thinking\",\n \"full-range\",\n \"global\",\n \"grid-enabled\",\n \"heuristic\",\n \"high-level\",\n \"holistic\",\n \"homogeneous\",\n \"human-resource\",\n \"hybrid\",\n \"impactful\",\n \"incremental\",\n \"intangible\",\n \"interactive\",\n \"intermediate\",\n \"leading edge\",\n \"local\",\n \"logistical\",\n \"maximized\",\n \"methodical\",\n \"mission-critical\",\n \"mobile\",\n \"modular\",\n \"motivating\",\n \"multimedia\",\n \"multi-state\",\n \"multi-tasking\",\n \"national\",\n \"needs-based\",\n \"neutral\",\n \"next generation\",\n \"non-volatile\",\n \"object-oriented\",\n \"optimal\",\n \"optimizing\",\n \"radical\",\n \"real-time\",\n \"reciprocal\",\n \"regional\",\n \"responsive\",\n \"scalable\",\n \"secondary\",\n \"solution-oriented\",\n \"stable\",\n \"static\",\n \"systematic\",\n \"systemic\",\n \"system-worthy\",\n \"tangible\",\n \"tertiary\",\n \"transitional\",\n \"uniform\",\n \"upward-trending\",\n \"user-facing\",\n \"value-added\",\n \"web-enabled\",\n \"well-modulated\",\n \"zero administration\",\n \"zero defect\",\n \"zero tolerance\"\n];\n","module[\"exports\"] = [\n \"ability\",\n \"access\",\n \"adapter\",\n \"algorithm\",\n \"alliance\",\n \"analyzer\",\n \"application\",\n \"approach\",\n \"architecture\",\n \"archive\",\n \"artificial intelligence\",\n \"array\",\n \"attitude\",\n \"benchmark\",\n \"budgetary management\",\n \"capability\",\n \"capacity\",\n \"challenge\",\n \"circuit\",\n \"collaboration\",\n \"complexity\",\n \"concept\",\n \"conglomeration\",\n \"contingency\",\n \"core\",\n \"customer loyalty\",\n \"database\",\n \"data-warehouse\",\n \"definition\",\n \"emulation\",\n \"encoding\",\n \"encryption\",\n \"extranet\",\n \"firmware\",\n \"flexibility\",\n \"focus group\",\n \"forecast\",\n \"frame\",\n \"framework\",\n \"function\",\n \"functionalities\",\n \"Graphic Interface\",\n \"groupware\",\n \"Graphical User Interface\",\n \"hardware\",\n \"help-desk\",\n \"hierarchy\",\n \"hub\",\n \"implementation\",\n \"info-mediaries\",\n \"infrastructure\",\n \"initiative\",\n \"installation\",\n \"instruction set\",\n \"interface\",\n \"internet solution\",\n \"intranet\",\n \"knowledge user\",\n \"knowledge base\",\n \"local area network\",\n \"leverage\",\n \"matrices\",\n \"matrix\",\n \"methodology\",\n \"middleware\",\n \"migration\",\n \"model\",\n \"moderator\",\n \"monitoring\",\n \"moratorium\",\n \"neural-net\",\n \"open architecture\",\n \"open system\",\n \"orchestration\",\n \"paradigm\",\n \"parallelism\",\n \"policy\",\n \"portal\",\n \"pricing structure\",\n \"process improvement\",\n \"product\",\n \"productivity\",\n \"project\",\n \"projection\",\n \"protocol\",\n \"secured line\",\n \"service-desk\",\n \"software\",\n \"solution\",\n \"standardization\",\n \"strategy\",\n \"structure\",\n \"success\",\n \"superstructure\",\n \"support\",\n \"synergy\",\n \"system engine\",\n \"task-force\",\n \"throughput\",\n \"time-frame\",\n \"toolset\",\n \"utilisation\",\n \"website\",\n \"workforce\"\n];\n","module[\"exports\"] = [\n \"implement\",\n \"utilize\",\n \"integrate\",\n \"streamline\",\n \"optimize\",\n \"evolve\",\n \"transform\",\n \"embrace\",\n \"enable\",\n \"orchestrate\",\n \"leverage\",\n \"reinvent\",\n \"aggregate\",\n \"architect\",\n \"enhance\",\n \"incentivize\",\n \"morph\",\n \"empower\",\n \"envisioneer\",\n \"monetize\",\n \"harness\",\n \"facilitate\",\n \"seize\",\n \"disintermediate\",\n \"synergize\",\n \"strategize\",\n \"deploy\",\n \"brand\",\n \"grow\",\n \"target\",\n \"syndicate\",\n \"synthesize\",\n \"deliver\",\n \"mesh\",\n \"incubate\",\n \"engage\",\n \"maximize\",\n \"benchmark\",\n \"expedite\",\n \"reintermediate\",\n \"whiteboard\",\n \"visualize\",\n \"repurpose\",\n \"innovate\",\n \"scale\",\n \"unleash\",\n \"drive\",\n \"extend\",\n \"engineer\",\n \"revolutionize\",\n \"generate\",\n \"exploit\",\n \"transition\",\n \"e-enable\",\n \"iterate\",\n \"cultivate\",\n \"matrix\",\n \"productize\",\n \"redefine\",\n \"recontextualize\"\n];\n","module[\"exports\"] = [\n \"clicks-and-mortar\",\n \"value-added\",\n \"vertical\",\n \"proactive\",\n \"robust\",\n \"revolutionary\",\n \"scalable\",\n \"leading-edge\",\n \"innovative\",\n \"intuitive\",\n \"strategic\",\n \"e-business\",\n \"mission-critical\",\n \"sticky\",\n \"one-to-one\",\n \"24/7\",\n \"end-to-end\",\n \"global\",\n \"B2B\",\n \"B2C\",\n \"granular\",\n \"frictionless\",\n \"virtual\",\n \"viral\",\n \"dynamic\",\n \"24/365\",\n \"best-of-breed\",\n \"killer\",\n \"magnetic\",\n \"bleeding-edge\",\n \"web-enabled\",\n \"interactive\",\n \"dot-com\",\n \"sexy\",\n \"back-end\",\n \"real-time\",\n \"efficient\",\n \"front-end\",\n \"distributed\",\n \"seamless\",\n \"extensible\",\n \"turn-key\",\n \"world-class\",\n \"open-source\",\n \"cross-platform\",\n \"cross-media\",\n \"synergistic\",\n \"bricks-and-clicks\",\n \"out-of-the-box\",\n \"enterprise\",\n \"integrated\",\n \"impactful\",\n \"wireless\",\n \"transparent\",\n \"next-generation\",\n \"cutting-edge\",\n \"user-centric\",\n \"visionary\",\n \"customized\",\n \"ubiquitous\",\n \"plug-and-play\",\n \"collaborative\",\n \"compelling\",\n \"holistic\",\n \"rich\"\n];\n","module[\"exports\"] = [\n \"synergies\",\n \"web-readiness\",\n \"paradigms\",\n \"markets\",\n \"partnerships\",\n \"infrastructures\",\n \"platforms\",\n \"initiatives\",\n \"channels\",\n \"eyeballs\",\n \"communities\",\n \"ROI\",\n \"solutions\",\n \"e-tailers\",\n \"e-services\",\n \"action-items\",\n \"portals\",\n \"niches\",\n \"technologies\",\n \"content\",\n \"vortals\",\n \"supply-chains\",\n \"convergence\",\n \"relationships\",\n \"architectures\",\n \"interfaces\",\n \"e-markets\",\n \"e-commerce\",\n \"systems\",\n \"bandwidth\",\n \"infomediaries\",\n \"models\",\n \"mindshare\",\n \"deliverables\",\n \"users\",\n \"schemas\",\n \"networks\",\n \"applications\",\n \"metrics\",\n \"e-business\",\n \"functionalities\",\n \"experiences\",\n \"web services\",\n \"methodologies\",\n \"blockchains\"\n];\n","module[\"exports\"] = [\n \"#{Name.last_name} #{suffix}\",\n \"#{Name.last_name}-#{Name.last_name}\",\n \"#{Name.last_name}, #{Name.last_name} and #{Name.last_name}\"\n];\n","var company = {};\nmodule['exports'] = company;\ncompany.suffix = require(\"./suffix\");\ncompany.adjective = require(\"./adjective\");\ncompany.descriptor = require(\"./descriptor\");\ncompany.noun = require(\"./noun\");\ncompany.bs_verb = require(\"./bs_verb\");\ncompany.bs_adjective = require(\"./bs_adjective\");\ncompany.bs_noun = require(\"./bs_noun\");\ncompany.name = require(\"./name\");\n","module[\"exports\"] = [\n \"gmail.com\",\n \"yahoo.com\",\n \"hotmail.com\"\n];\n","module[\"exports\"] = [\n \"example.org\",\n \"example.com\",\n \"example.net\"\n];\n","module[\"exports\"] = [\n \"com\",\n \"biz\",\n \"info\",\n \"name\",\n \"net\",\n \"org\"\n];\n","module[\"exports\"] = [\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jarjan/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mahdif/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/sprayaga/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ruzinav/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/Skyhartman/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/moscoz/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/kurafire/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/91bilal/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/igorgarybaldi/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/calebogden/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/malykhinv/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/joelhelin/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/kushsolitary/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/coreyweb/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/snowshade/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/areus/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/holdenweb/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/heyimjuani/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/envex/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/unterdreht/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/collegeman/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/peejfancher/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/andyisonline/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ultragex/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/adellecharles/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ateneupopular/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ahmetalpbalkan/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/Stievius/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/kerem/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/osvaldas/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/angelceballos/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/thierrykoblentz/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/peterlandt/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/catarino/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/weglov/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/brandclay/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ahmetsulek/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/nicolasfolliot/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jayrobinson/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/victorerixon/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/kolage/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/michzen/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/markjenkins/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/nicolai_larsen/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/gt/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/noxdzine/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/alagoon/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/idiot/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mizko/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/chadengle/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mutlu82/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/simobenso/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/vocino/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/guiiipontes/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/soyjavi/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/joshaustin/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/tomaslau/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/VinThomas/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ManikRathee/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/langate/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/cemshid/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/leemunroe/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/_shahedk/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/enda/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/BillSKenney/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/divya/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/joshhemsley/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/sindresorhus/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/soffes/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/9lessons/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/linux29/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/Chakintosh/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/anaami/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/joreira/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/shadeed9/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/scottkclark/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jedbridges/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/salleedesign/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/marakasina/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ariil/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/BrianPurkiss/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/michaelmartinho/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/bublienko/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/devankoshal/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ZacharyZorbas/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/timmillwood/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/joshuasortino/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/damenleeturks/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/tomas_janousek/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/herrhaase/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/RussellBishop/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/brajeshwar/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/cbracco/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/bermonpainter/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/abdullindenis/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/isacosta/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/suprb/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/yalozhkin/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/chandlervdw/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/iamgarth/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/_victa/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/commadelimited/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/roybarberuk/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/axel/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/vladarbatov/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ffbel/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/syropian/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ankitind/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/traneblow/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/flashmurphy/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ChrisFarina78/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/baliomega/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/saschamt/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jm_denis/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/anoff/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/kennyadr/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/chatyrko/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/dingyi/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mds/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/terryxlife/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/aaroni/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/kinday/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/prrstn/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/eduardostuart/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/dhilipsiva/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/GavicoInd/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/baires/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/rohixx/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/bigmancho/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/blakesimkins/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/leeiio/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/tjrus/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/uberschizo/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/kylefoundry/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/claudioguglieri/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ripplemdk/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/exentrich/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jakemoore/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/joaoedumedeiros/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/poormini/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/tereshenkov/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/keryilmaz/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/haydn_woods/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/rude/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/llun/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/sgaurav_baghel/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jamiebrittain/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/badlittleduck/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/pifagor/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/agromov/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/benefritz/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/erwanhesry/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/diesellaws/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jeremiaha/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/koridhandy/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/chaensel/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/andrewcohen/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/smaczny/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/gonzalorobaina/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/nandini_m/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/sydlawrence/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/cdharrison/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/tgerken/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/lewisainslie/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/charliecwaite/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/robbschiller/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/flexrs/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mattdetails/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/raquelwilson/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/karsh/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mrmartineau/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/opnsrce/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/hgharrygo/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/maximseshuk/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/uxalex/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/samihah/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/chanpory/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/sharvin/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/josemarques/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jefffis/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/krystalfister/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/lokesh_coder/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/thedamianhdez/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/dpmachado/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/funwatercat/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/timothycd/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ivanfilipovbg/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/picard102/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/marcobarbosa/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/krasnoukhov/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/g3d/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ademilter/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/rickdt/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/operatino/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/bungiwan/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/hugomano/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/logorado/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/dc_user/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/horaciobella/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/SlaapMe/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/teeragit/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/iqonicd/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ilya_pestov/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/andrewarrow/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ssiskind/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/stan/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/HenryHoffman/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/rdsaunders/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/adamsxu/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/curiousoffice/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/themadray/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/michigangraham/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/kohette/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/nickfratter/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/runningskull/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/madysondesigns/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/brenton_clarke/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jennyshen/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/bradenhamm/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/kurtinc/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/amanruzaini/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/coreyhaggard/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/Karimmove/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/aaronalfred/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/wtrsld/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jitachi/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/therealmarvin/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/pmeissner/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ooomz/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/chacky14/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jesseddy/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/shanehudson/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/akmur/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/IsaryAmairani/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/arthurholcombe1/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/boxmodel/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ehsandiary/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/LucasPerdidao/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/shalt0ni/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/swaplord/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/kaelifa/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/plbabin/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/guillemboti/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/arindam_/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/renbyrd/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/thiagovernetti/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jmillspaysbills/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mikemai2awesome/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jervo/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mekal/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/sta1ex/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/robergd/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/felipecsl/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/andrea211087/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/garand/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/dhooyenga/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/abovefunction/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/pcridesagain/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/randomlies/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/BryanHorsey/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/heykenneth/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/dahparra/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/allthingssmitty/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/danvernon/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/beweinreich/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/increase/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/falvarad/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/alxndrustinov/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/souuf/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/orkuncaylar/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/AM_Kn2/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/gearpixels/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/bassamology/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/vimarethomas/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/kosmar/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/SULiik/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mrjamesnoble/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/silvanmuhlemann/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/shaneIxD/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/nacho/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/yigitpinarbasi/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/buzzusborne/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/aaronkwhite/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/rmlewisuk/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/giancarlon/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/nbirckel/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/d_nny_m_cher/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/sdidonato/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/atariboy/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/abotap/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/karalek/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/psdesignuk/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ludwiczakpawel/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/nemanjaivanovic/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/baluli/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ahmadajmi/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/vovkasolovev/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/samgrover/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/derienzo777/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jonathansimmons/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/nelsonjoyce/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/S0ufi4n3/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/xtopherpaul/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/oaktreemedia/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/nateschulte/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/findingjenny/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/namankreative/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/antonyzotov/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/we_social/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/leehambley/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/solid_color/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/abelcabans/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mbilderbach/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/kkusaa/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jordyvdboom/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/carlosgavina/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/pechkinator/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/vc27/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/rdbannon/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/croakx/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/suribbles/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/kerihenare/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/catadeleon/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/gcmorley/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/duivvv/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/saschadroste/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/victorDubugras/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/wintopia/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mattbilotti/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/taylorling/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/megdraws/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/meln1ks/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mahmoudmetwally/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/Silveredge9/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/derekebradley/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/happypeter1983/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/travis_arnold/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/artem_kostenko/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/adobi/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/daykiine/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/alek_djuric/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/scips/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/miguelmendes/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/justinrhee/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/alsobrooks/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/fronx/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mcflydesign/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/santi_urso/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/allfordesign/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/stayuber/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/bertboerland/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/marosholly/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/adamnac/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/cynthiasavard/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/muringa/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/danro/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/hiemil/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jackiesaik/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/iduuck/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/antjanus/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/aroon_sharma/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/dshster/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/thehacker/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/michaelbrooksjr/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ryanmclaughlin/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/clubb3rry/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/taybenlor/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/xripunov/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/myastro/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/adityasutomo/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/digitalmaverick/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/hjartstrorn/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/itolmach/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/vaughanmoffitt/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/abdots/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/isnifer/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/sergeysafonov/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/maz/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/scrapdnb/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/chrismj83/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/vitorleal/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/sokaniwaal/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/zaki3d/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/illyzoren/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mocabyte/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/osmanince/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/djsherman/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/davidhemphill/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/waghner/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/necodymiconer/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/praveen_vijaya/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/fabbrucci/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/travishines/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/kuldarkalvik/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/Elt_n/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/phillapier/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/okseanjay/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/id835559/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/kudretkeskin/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/anjhero/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/scott_riley/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/noufalibrahim/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/h1brd/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/borges_marcos/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/devinhalladay/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ciaranr/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/stefooo/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mikebeecham/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/tonymillion/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/joshuaraichur/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/irae/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/petrangr/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/dmitriychuta/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/charliegann/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/arashmanteghi/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/adhamdannaway/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ainsleywagon/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/svenlen/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/faisalabid/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/beshur/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/carlyson/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/dutchnadia/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/teddyzetterlund/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/samuelkraft/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/aoimedia/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/toddrew/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/codepoet_ru/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/artvavs/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/benoitboucart/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jomarmen/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/kolmarlopez/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/creartinc/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/homka/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/gaborenton/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/robinclediere/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/maximsorokin/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/plasticine/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/j2deme/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/peachananr/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/kapaluccio/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/de_ascanio/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/rikas/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/dawidwu/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/marcoramires/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/angelcreative/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/rpatey/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/popey/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/rehatkathuria/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/the_purplebunny/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/1markiz/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ajaxy_ru/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/brenmurrell/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/dudestein/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/oskarlevinson/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/victorstuber/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/nehfy/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/vicivadeline/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/leandrovaranda/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/scottgallant/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/victor_haydin/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/sawrb/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ryhanhassan/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/amayvs/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/a_brixen/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/karolkrakowiak_/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/herkulano/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/geran7/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/cggaurav/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/chris_witko/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/lososina/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/polarity/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mattlat/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/brandonburke/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/constantx/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/teylorfeliz/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/craigelimeliah/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/rachelreveley/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/reabo101/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/rahmeen/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ky/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/rickyyean/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/j04ntoh/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/spbroma/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/sebashton/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jpenico/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/francis_vega/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/oktayelipek/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/kikillo/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/fabbianz/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/larrygerard/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/BroumiYoussef/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/0therplanet/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mbilalsiddique1/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ionuss/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/grrr_nl/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/liminha/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/rawdiggie/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ryandownie/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/sethlouey/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/pixage/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/arpitnj/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/switmer777/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/josevnclch/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/kanickairaj/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/puzik/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/tbakdesigns/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/besbujupi/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/supjoey/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/lowie/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/linkibol/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/balintorosz/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/imcoding/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/agustincruiz/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/gusoto/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/thomasschrijer/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/superoutman/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/kalmerrautam/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/gabrielizalo/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/gojeanyn/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/davidbaldie/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/_vojto/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/laurengray/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jydesign/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mymyboy/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/nellleo/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/marciotoledo/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ninjad3m0/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/to_soham/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/hasslunsford/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/muridrahhal/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/levisan/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/grahamkennery/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/lepetitogre/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/antongenkin/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/nessoila/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/amandabuzard/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/safrankov/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/cocolero/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/dss49/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/matt3224/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/bluesix/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/quailandquasar/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/AlbertoCococi/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/lepinski/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/sementiy/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mhudobivnik/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/thibaut_re/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/olgary/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/shojberg/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mtolokonnikov/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/bereto/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/naupintos/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/wegotvices/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/xadhix/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/macxim/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/rodnylobos/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/madcampos/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/madebyvadim/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/bartoszdawydzik/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/supervova/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/markretzloff/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/vonachoo/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/darylws/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/stevedesigner/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mylesb/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/herbigt/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/depaulawagner/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/geshan/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/gizmeedevil1991/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/_scottburgess/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/lisovsky/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/davidsasda/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/artd_sign/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/YoungCutlass/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mgonto/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/itstotallyamy/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/victorquinn/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/osmond/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/oksanafrewer/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/zauerkraut/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/iamkeithmason/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/nitinhayaran/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/lmjabreu/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mandalareopens/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/thinkleft/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ponchomendivil/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/juamperro/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/brunodesign1206/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/caseycavanagh/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/luxe/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/dotgridline/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/spedwig/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/madewulf/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mattsapii/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/helderleal/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/chrisstumph/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jayphen/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/nsamoylov/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/chrisvanderkooi/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/justme_timothyg/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/otozk/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/prinzadi/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/gu5taf/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/cyril_gaillard/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/d_kobelyatsky/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/daniloc/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/nwdsha/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/romanbulah/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/skkirilov/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/dvdwinden/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/dannol/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/thekevinjones/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jwalter14/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/timgthomas/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/buddhasource/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/uxpiper/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/thatonetommy/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/diansigitp/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/adrienths/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/klimmka/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/gkaam/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/derekcramer/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jennyyo/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/nerrsoft/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/xalionmalik/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/edhenderson/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/keyuri85/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/roxanejammet/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/kimcool/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/edkf/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/matkins/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/alessandroribe/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jacksonlatka/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/lebronjennan/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/kostaspt/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/karlkanall/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/moynihan/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/danpliego/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/saulihirvi/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/wesleytrankin/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/fjaguero/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/bowbrick/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mashaaaaal/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/yassiryahya/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/dparrelli/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/fotomagin/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/aka_james/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/denisepires/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/iqbalperkasa/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/martinansty/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jarsen/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/r_oy/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/justinrob/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/gabrielrosser/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/malgordon/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/carlfairclough/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/michaelabehsera/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/pierrestoffe/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/enjoythetau/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/loganjlambert/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/rpeezy/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/coreyginnivan/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/michalhron/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/msveet/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/lingeswaran/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/kolsvein/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/peter576/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/reideiredale/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/joeymurdah/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/raphaelnikson/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mvdheuvel/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/maxlinderman/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jimmuirhead/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/begreative/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/frankiefreesbie/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/robturlinckx/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/Talbi_ConSept/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/longlivemyword/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/vanchesz/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/maiklam/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/hermanobrother/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/rez___a/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/gregsqueeb/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/greenbes/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/_ragzor/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/anthonysukow/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/fluidbrush/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/dactrtr/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jehnglynn/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/bergmartin/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/hugocornejo/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/_kkga/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/dzantievm/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/sawalazar/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/sovesove/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jonsgotwood/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/byryan/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/vytautas_a/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mizhgan/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/cicerobr/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/nilshelmersson/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/d33pthought/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/davecraige/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/nckjrvs/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/alexandermayes/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jcubic/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/craigrcoles/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/bagawarman/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/rob_thomas10/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/cofla/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/maikelk/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/rtgibbons/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/russell_baylis/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mhesslow/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/codysanfilippo/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/webtanya/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/madebybrenton/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/dcalonaci/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/perfectflow/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jjsiii/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/saarabpreet/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/kumarrajan12123/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/iamsteffen/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/themikenagle/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ceekaytweet/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/larrybolt/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/conspirator/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/dallasbpeters/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/n3dmax/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/terpimost/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/byrnecore/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/j_drake_/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/calebjoyce/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/russoedu/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/hoangloi/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/tobysaxon/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/gofrasdesign/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/dimaposnyy/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/tjisousa/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/okandungel/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/billyroshan/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/oskamaya/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/motionthinks/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/knilob/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ashocka18/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/marrimo/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/bartjo/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/omnizya/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ernestsemerda/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/andreas_pr/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/edgarchris99/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/thomasgeisen/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/gseguin/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/joannefournier/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/demersdesigns/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/adammarsbar/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/nasirwd/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/n_tassone/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/javorszky/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/themrdave/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/yecidsm/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/nicollerich/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/canapud/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/nicoleglynn/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/judzhin_miles/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/designervzm/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/kianoshp/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/evandrix/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/alterchuca/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/dhrubo/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ma_tiax/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ssbb_me/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/dorphern/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mauriolg/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/bruno_mart/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mactopus/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/the_winslet/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/joemdesign/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/Shriiiiimp/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jacobbennett/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/nfedoroff/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/iamglimy/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/allagringaus/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/aiiaiiaii/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/olaolusoga/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/buryaknick/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/wim1k/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/nicklacke/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/a1chapone/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/steynviljoen/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/strikewan/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ryankirkman/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/andrewabogado/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/doooon/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jagan123/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ariffsetiawan/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/elenadissi/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mwarkentin/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/thierrymeier_/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/r_garcia/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/dmackerman/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/borantula/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/konus/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/spacewood_/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ryuchi311/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/evanshajed/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/tristanlegros/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/shoaib253/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/aislinnkelly/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/okcoker/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/timpetricola/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/sunshinedgirl/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/chadami/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/aleclarsoniv/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/nomidesigns/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/petebernardo/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/scottiedude/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/millinet/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/imsoper/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/imammuht/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/benjamin_knight/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/nepdud/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/joki4/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/lanceguyatt/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/bboy1895/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/amywebbb/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/rweve/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/haruintesettden/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ricburton/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/nelshd/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/batsirai/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/primozcigler/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jffgrdnr/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/8d3k/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/geneseleznev/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/al_li/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/souperphly/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mslarkina/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/2fockus/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/cdavis565/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/xiel/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/turkutuuli/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/uxward/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/lebinoclard/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/gauravjassal/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/davidmerrique/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mdsisto/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/andrewofficer/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/kojourin/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/dnirmal/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/kevka/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mr_shiznit/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/aluisio_azevedo/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/cloudstudio/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/danvierich/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/alexivanichkin/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/fran_mchamy/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/perretmagali/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/betraydan/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/cadikkara/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/matbeedotcom/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jeremyworboys/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/bpartridge/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/michaelkoper/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/silv3rgvn/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/alevizio/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/johnsmithagency/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/lawlbwoy/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/vitor376/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/desastrozo/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/thimo_cz/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jasonmarkjones/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/lhausermann/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/xravil/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/guischmitt/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/vigobronx/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/panghal0/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/miguelkooreman/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/surgeonist/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/christianoliff/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/caspergrl/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/iamkarna/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ipavelek/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/pierre_nel/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/y2graphic/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/sterlingrules/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/elbuscainfo/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/bennyjien/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/stushona/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/estebanuribe/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/embrcecreations/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/danillos/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/elliotlewis/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/charlesrpratt/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/vladyn/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/emmeffess/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/carlosblanco_eu/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/leonfedotov/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/rangafangs/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/chris_frees/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/tgormtx/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/bryan_topham/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jpscribbles/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mighty55/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/carbontwelve/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/isaacfifth/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/iamjdeleon/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/snowwrite/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/barputro/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/drewbyreese/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/sachacorazzi/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/bistrianiosip/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/magoo04/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/pehamondello/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/yayteejay/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/a_harris88/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/algunsanabria/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/zforrester/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ovall/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/carlosjgsousa/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/geobikas/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ah_lice/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/looneydoodle/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/nerdgr8/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ddggccaa/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/zackeeler/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/normanbox/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/el_fuertisimo/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ismail_biltagi/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/juangomezw/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jnmnrd/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/patrickcoombe/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ryanjohnson_me/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/markolschesky/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jeffgolenski/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/kvasnic/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/gauchomatt/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/afusinatto/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/kevinoh/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/okansurreel/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/adamawesomeface/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/emileboudeling/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/arishi_/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/juanmamartinez/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/wikiziner/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/danthms/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mkginfo/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/terrorpixel/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/curiousonaut/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/prheemo/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/michaelcolenso/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/foczzi/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/martip07/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/thaodang17/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/johncafazza/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/robinlayfield/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/franciscoamk/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/abdulhyeuk/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/marklamb/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/edobene/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/andresenfredrik/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mikaeljorhult/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/chrisslowik/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/vinciarts/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/meelford/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/elliotnolten/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/yehudab/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/vijaykarthik/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/bfrohs/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/josep_martins/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/attacks/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/sur4dye/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/tumski/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/instalox/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mangosango/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/paulfarino/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/kazaky999/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/kiwiupover/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/nvkznemo/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/tom_even/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ratbus/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/woodsman001/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/joshmedeski/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/thewillbeard/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/psaikali/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/joe_black/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/aleinadsays/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/marcusgorillius/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/hota_v/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jghyllebert/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/shinze/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/janpalounek/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jeremiespoken/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/her_ruu/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/dansowter/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/felipeapiress/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/magugzbrand2d/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/posterjob/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/nathalie_fs/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/bobbytwoshoes/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/dreizle/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jeremymouton/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/elisabethkjaer/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/notbadart/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mohanrohith/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jlsolerdeltoro/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/itskawsar/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/slowspock/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/zvchkelly/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/wiljanslofstra/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/craighenneberry/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/trubeatto/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/juaumlol/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/samscouto/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/BenouarradeM/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/gipsy_raf/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/netonet_il/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/arkokoley/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/itsajimithing/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/smalonso/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/victordeanda/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/_dwite_/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/richardgarretts/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/gregrwilkinson/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/anatolinicolae/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/lu4sh1i/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/stefanotirloni/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ostirbu/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/darcystonge/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/naitanamoreno/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/michaelcomiskey/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/adhiardana/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/marcomano_/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/davidcazalis/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/falconerie/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/gregkilian/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/bcrad/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/bolzanmarco/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/low_res/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/vlajki/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/petar_prog/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jonkspr/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/akmalfikri/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mfacchinello/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/atanism/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/harry_sistalam/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/murrayswift/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/bobwassermann/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/gavr1l0/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/madshensel/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mr_subtle/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/deviljho_/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/salimianoff/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/joetruesdell/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/twittypork/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/airskylar/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/dnezkumar/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/dgajjar/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/cherif_b/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/salvafc/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/louis_currie/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/deeenright/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/cybind/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/eyronn/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/sweetdelisa/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/cboller1/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/andresdjasso/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/melvindidit/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/andysolomon/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/thaisselenator_/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/lvovenok/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/giuliusa/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/belyaev_rs/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/overcloacked/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/kamal_chaneman/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/incubo82/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/hellofeverrrr/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mhaligowski/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/sunlandictwin/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/bu7921/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/andytlaw/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jeremery/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/finchjke/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/manigm/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/umurgdk/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/scottfeltham/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ganserene/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mutu_krish/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jodytaggart/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ntfblog/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/tanveerrao/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/hfalucas/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/alxleroydeval/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/kucingbelang4/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/bargaorobalo/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/colgruv/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/stalewine/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/kylefrost/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/baumannzone/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/angelcolberg/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/sachingawas/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jjshaw14/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ramanathan_pdy/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/johndezember/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/nilshoenson/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/brandonmorreale/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/nutzumi/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/brandonflatsoda/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/sergeyalmone/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/klefue/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/kirangopal/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/baumann_alex/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/matthewkay_/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jay_wilburn/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/shesgared/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/apriendeau/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/johnriordan/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/wake_gs/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/aleksitappura/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/emsgulam/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/xilantra/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/imomenui/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/sircalebgrove/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/newbrushes/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/hsinyo23/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/m4rio/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/katiemdaly/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/s4f1/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ecommerceil/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/marlinjayakody/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/swooshycueb/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/sangdth/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/coderdiaz/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/bluefx_/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/vivekprvr/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/sasha_shestakov/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/eugeneeweb/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/dgclegg/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/n1ght_coder/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/dixchen/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/blakehawksworth/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/trueblood_33/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/hai_ninh_nguyen/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/marclgonzales/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/yesmeck/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/stephcoue/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/doronmalki/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ruehldesign/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/anasnakawa/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/kijanmaharjan/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/wearesavas/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/stefvdham/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/tweetubhai/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/alecarpentier/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/fiterik/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/antonyryndya/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/d00maz/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/theonlyzeke/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/missaaamy/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/carlosm/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/manekenthe/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/reetajayendra/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jeremyshimko/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/justinrgraham/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/stefanozoffoli/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/overra/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mrebay007/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/shvelo96/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/pyronite/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/thedjpetersen/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/rtyukmaev/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/_williamguerra/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/albertaugustin/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/vikashpathak18/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/kevinjohndayy/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/vj_demien/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/colirpixoil/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/goddardlewis/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/laasli/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jqiuss/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/heycamtaylor/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/nastya_mane/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mastermindesign/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ccinojasso1/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/nyancecom/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/sandywoodruff/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/bighanddesign/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/sbtransparent/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/aviddayentonbay/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/richwild/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/kaysix_dizzy/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/tur8le/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/seyedhossein1/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/privetwagner/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/emmandenn/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/dev_essentials/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jmfsocial/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/_yardenoon/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mateaodviteza/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/weavermedia/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mufaddal_mw/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/hafeeskhan/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ashernatali/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/sulaqo/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/eddiechen/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/josecarlospsh/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/vm_f/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/enricocicconi/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/danmartin70/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/gmourier/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/donjain/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mrxloka/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/_pedropinho/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/eitarafa/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/oscarowusu/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ralph_lam/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/panchajanyag/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/woodydotmx/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jerrybai1907/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/marshallchen_/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/xamorep/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/aio___/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/chaabane_wail/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/txcx/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/akashsharma39/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/falling_soul/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/sainraja/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mugukamil/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/johannesneu/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/markwienands/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/karthipanraj/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/balakayuriy/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/alan_zhang_/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/layerssss/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/kaspernordkvist/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mirfanqureshi/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/hanna_smi/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/VMilescu/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/aeon56/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/m_kalibry/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/sreejithexp/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/dicesales/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/dhoot_amit/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/smenov/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/lonesomelemon/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/vladimirdevic/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/joelcipriano/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/haligaliharun/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/buleswapnil/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/serefka/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ifarafonow/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/vikasvinfotech/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/urrutimeoli/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/areandacom/128.jpg\"\n];\n","var internet = {};\nmodule['exports'] = internet;\ninternet.free_email = require(\"./free_email\");\ninternet.example_email = require(\"./example_email\");\ninternet.domain_suffix = require(\"./domain_suffix\");\ninternet.avatar_uri = require(\"./avatar_uri\");\n","module[\"exports\"] = [\n \"utf8_unicode_ci\",\n \"utf8_general_ci\",\n \"utf8_bin\",\n \"ascii_bin\",\n \"ascii_general_ci\",\n \"cp1250_bin\",\n \"cp1250_general_ci\"\n];\n","module[\"exports\"] = [\n \"id\",\n \"title\",\n \"name\",\n \"email\",\n \"phone\",\n \"token\",\n \"group\",\n \"category\",\n \"password\",\n \"comment\",\n \"avatar\",\n \"status\",\n \"createdAt\",\n \"updatedAt\"\n];\n","module[\"exports\"] = [\n \"InnoDB\",\n \"MyISAM\",\n \"MEMORY\",\n \"CSV\",\n \"BLACKHOLE\",\n \"ARCHIVE\"\n];\n","module[\"exports\"] = [\n \"int\",\n \"varchar\",\n \"text\",\n \"date\",\n \"datetime\",\n \"tinyint\",\n \"time\",\n \"timestamp\",\n \"smallint\",\n \"mediumint\",\n \"bigint\",\n \"decimal\",\n \"float\",\n \"double\",\n \"real\",\n \"bit\",\n \"boolean\",\n \"serial\",\n \"blob\",\n \"binary\",\n \"enum\",\n \"set\",\n \"geometry\",\n \"point\"\n];\n","var database = {};\nmodule['exports'] = database;\ndatabase.collation = require(\"./collation\");\ndatabase.column = require(\"./column\");\ndatabase.engine = require(\"./engine\");\ndatabase.type = require(\"./type\");","module[\"exports\"] = [\n \"alias\",\n \"consequatur\",\n \"aut\",\n \"perferendis\",\n \"sit\",\n \"voluptatem\",\n \"accusantium\",\n \"doloremque\",\n \"aperiam\",\n \"eaque\",\n \"ipsa\",\n \"quae\",\n \"ab\",\n \"illo\",\n \"inventore\",\n \"veritatis\",\n \"et\",\n \"quasi\",\n \"architecto\",\n \"beatae\",\n \"vitae\",\n \"dicta\",\n \"sunt\",\n \"explicabo\",\n \"aspernatur\",\n \"aut\",\n \"odit\",\n \"aut\",\n \"fugit\",\n \"sed\",\n \"quia\",\n \"consequuntur\",\n \"magni\",\n \"dolores\",\n \"eos\",\n \"qui\",\n \"ratione\",\n \"voluptatem\",\n \"sequi\",\n \"nesciunt\",\n \"neque\",\n \"dolorem\",\n \"ipsum\",\n \"quia\",\n \"dolor\",\n \"sit\",\n \"amet\",\n \"consectetur\",\n \"adipisci\",\n \"velit\",\n \"sed\",\n \"quia\",\n \"non\",\n \"numquam\",\n \"eius\",\n \"modi\",\n \"tempora\",\n \"incidunt\",\n \"ut\",\n \"labore\",\n \"et\",\n \"dolore\",\n \"magnam\",\n \"aliquam\",\n \"quaerat\",\n \"voluptatem\",\n \"ut\",\n \"enim\",\n \"ad\",\n \"minima\",\n \"veniam\",\n \"quis\",\n \"nostrum\",\n \"exercitationem\",\n \"ullam\",\n \"corporis\",\n \"nemo\",\n \"enim\",\n \"ipsam\",\n \"voluptatem\",\n \"quia\",\n \"voluptas\",\n \"sit\",\n \"suscipit\",\n \"laboriosam\",\n \"nisi\",\n \"ut\",\n \"aliquid\",\n \"ex\",\n \"ea\",\n \"commodi\",\n \"consequatur\",\n \"quis\",\n \"autem\",\n \"vel\",\n \"eum\",\n \"iure\",\n \"reprehenderit\",\n \"qui\",\n \"in\",\n \"ea\",\n \"voluptate\",\n \"velit\",\n \"esse\",\n \"quam\",\n \"nihil\",\n \"molestiae\",\n \"et\",\n \"iusto\",\n \"odio\",\n \"dignissimos\",\n \"ducimus\",\n \"qui\",\n \"blanditiis\",\n \"praesentium\",\n \"laudantium\",\n \"totam\",\n \"rem\",\n \"voluptatum\",\n \"deleniti\",\n \"atque\",\n \"corrupti\",\n \"quos\",\n \"dolores\",\n \"et\",\n \"quas\",\n \"molestias\",\n \"excepturi\",\n \"sint\",\n \"occaecati\",\n \"cupiditate\",\n \"non\",\n \"provident\",\n \"sed\",\n \"ut\",\n \"perspiciatis\",\n \"unde\",\n \"omnis\",\n \"iste\",\n \"natus\",\n \"error\",\n \"similique\",\n \"sunt\",\n \"in\",\n \"culpa\",\n \"qui\",\n \"officia\",\n \"deserunt\",\n \"mollitia\",\n \"animi\",\n \"id\",\n \"est\",\n \"laborum\",\n \"et\",\n \"dolorum\",\n \"fuga\",\n \"et\",\n \"harum\",\n \"quidem\",\n \"rerum\",\n \"facilis\",\n \"est\",\n \"et\",\n \"expedita\",\n \"distinctio\",\n \"nam\",\n \"libero\",\n \"tempore\",\n \"cum\",\n \"soluta\",\n \"nobis\",\n \"est\",\n \"eligendi\",\n \"optio\",\n \"cumque\",\n \"nihil\",\n \"impedit\",\n \"quo\",\n \"porro\",\n \"quisquam\",\n \"est\",\n \"qui\",\n \"minus\",\n \"id\",\n \"quod\",\n \"maxime\",\n \"placeat\",\n \"facere\",\n \"possimus\",\n \"omnis\",\n \"voluptas\",\n \"assumenda\",\n \"est\",\n \"omnis\",\n \"dolor\",\n \"repellendus\",\n \"temporibus\",\n \"autem\",\n \"quibusdam\",\n \"et\",\n \"aut\",\n \"consequatur\",\n \"vel\",\n \"illum\",\n \"qui\",\n \"dolorem\",\n \"eum\",\n \"fugiat\",\n \"quo\",\n \"voluptas\",\n \"nulla\",\n \"pariatur\",\n \"at\",\n \"vero\",\n \"eos\",\n \"et\",\n \"accusamus\",\n \"officiis\",\n \"debitis\",\n \"aut\",\n \"rerum\",\n \"necessitatibus\",\n \"saepe\",\n \"eveniet\",\n \"ut\",\n \"et\",\n \"voluptates\",\n \"repudiandae\",\n \"sint\",\n \"et\",\n \"molestiae\",\n \"non\",\n \"recusandae\",\n \"itaque\",\n \"earum\",\n \"rerum\",\n \"hic\",\n \"tenetur\",\n \"a\",\n \"sapiente\",\n \"delectus\",\n \"ut\",\n \"aut\",\n \"reiciendis\",\n \"voluptatibus\",\n \"maiores\",\n \"doloribus\",\n \"asperiores\",\n \"repellat\"\n];\n","module[\"exports\"] = [\n \"abbas\",\n \"abduco\",\n \"abeo\",\n \"abscido\",\n \"absconditus\",\n \"absens\",\n \"absorbeo\",\n \"absque\",\n \"abstergo\",\n \"absum\",\n \"abundans\",\n \"abutor\",\n \"accedo\",\n \"accendo\",\n \"acceptus\",\n \"accipio\",\n \"accommodo\",\n \"accusator\",\n \"acer\",\n \"acerbitas\",\n \"acervus\",\n \"acidus\",\n \"acies\",\n \"acquiro\",\n \"acsi\",\n \"adamo\",\n \"adaugeo\",\n \"addo\",\n \"adduco\",\n \"ademptio\",\n \"adeo\",\n \"adeptio\",\n \"adfectus\",\n \"adfero\",\n \"adficio\",\n \"adflicto\",\n \"adhaero\",\n \"adhuc\",\n \"adicio\",\n \"adimpleo\",\n \"adinventitias\",\n \"adipiscor\",\n \"adiuvo\",\n \"administratio\",\n \"admiratio\",\n \"admitto\",\n \"admoneo\",\n \"admoveo\",\n \"adnuo\",\n \"adopto\",\n \"adsidue\",\n \"adstringo\",\n \"adsuesco\",\n \"adsum\",\n \"adulatio\",\n \"adulescens\",\n \"adultus\",\n \"aduro\",\n \"advenio\",\n \"adversus\",\n \"advoco\",\n \"aedificium\",\n \"aeger\",\n \"aegre\",\n \"aegrotatio\",\n \"aegrus\",\n \"aeneus\",\n \"aequitas\",\n \"aequus\",\n \"aer\",\n \"aestas\",\n \"aestivus\",\n \"aestus\",\n \"aetas\",\n \"aeternus\",\n \"ager\",\n \"aggero\",\n \"aggredior\",\n \"agnitio\",\n \"agnosco\",\n \"ago\",\n \"ait\",\n \"aiunt\",\n \"alienus\",\n \"alii\",\n \"alioqui\",\n \"aliqua\",\n \"alius\",\n \"allatus\",\n \"alo\",\n \"alter\",\n \"altus\",\n \"alveus\",\n \"amaritudo\",\n \"ambitus\",\n \"ambulo\",\n \"amicitia\",\n \"amiculum\",\n \"amissio\",\n \"amita\",\n \"amitto\",\n \"amo\",\n \"amor\",\n \"amoveo\",\n \"amplexus\",\n \"amplitudo\",\n \"amplus\",\n \"ancilla\",\n \"angelus\",\n \"angulus\",\n \"angustus\",\n \"animadverto\",\n \"animi\",\n \"animus\",\n \"annus\",\n \"anser\",\n \"ante\",\n \"antea\",\n \"antepono\",\n \"antiquus\",\n \"aperio\",\n \"aperte\",\n \"apostolus\",\n \"apparatus\",\n \"appello\",\n \"appono\",\n \"appositus\",\n \"approbo\",\n \"apto\",\n \"aptus\",\n \"apud\",\n \"aqua\",\n \"ara\",\n \"aranea\",\n \"arbitro\",\n \"arbor\",\n \"arbustum\",\n \"arca\",\n \"arceo\",\n \"arcesso\",\n \"arcus\",\n \"argentum\",\n \"argumentum\",\n \"arguo\",\n \"arma\",\n \"armarium\",\n \"armo\",\n \"aro\",\n \"ars\",\n \"articulus\",\n \"artificiose\",\n \"arto\",\n \"arx\",\n \"ascisco\",\n \"ascit\",\n \"asper\",\n \"aspicio\",\n \"asporto\",\n \"assentator\",\n \"astrum\",\n \"atavus\",\n \"ater\",\n \"atqui\",\n \"atrocitas\",\n \"atrox\",\n \"attero\",\n \"attollo\",\n \"attonbitus\",\n \"auctor\",\n \"auctus\",\n \"audacia\",\n \"audax\",\n \"audentia\",\n \"audeo\",\n \"audio\",\n \"auditor\",\n \"aufero\",\n \"aureus\",\n \"auris\",\n \"aurum\",\n \"aut\",\n \"autem\",\n \"autus\",\n \"auxilium\",\n \"avaritia\",\n \"avarus\",\n \"aveho\",\n \"averto\",\n \"avoco\",\n \"baiulus\",\n \"balbus\",\n \"barba\",\n \"bardus\",\n \"basium\",\n \"beatus\",\n \"bellicus\",\n \"bellum\",\n \"bene\",\n \"beneficium\",\n \"benevolentia\",\n \"benigne\",\n \"bestia\",\n \"bibo\",\n \"bis\",\n \"blandior\",\n \"bonus\",\n \"bos\",\n \"brevis\",\n \"cado\",\n \"caecus\",\n \"caelestis\",\n \"caelum\",\n \"calamitas\",\n \"calcar\",\n \"calco\",\n \"calculus\",\n \"callide\",\n \"campana\",\n \"candidus\",\n \"canis\",\n \"canonicus\",\n \"canto\",\n \"capillus\",\n \"capio\",\n \"capitulus\",\n \"capto\",\n \"caput\",\n \"carbo\",\n \"carcer\",\n \"careo\",\n \"caries\",\n \"cariosus\",\n \"caritas\",\n \"carmen\",\n \"carpo\",\n \"carus\",\n \"casso\",\n \"caste\",\n \"casus\",\n \"catena\",\n \"caterva\",\n \"cattus\",\n \"cauda\",\n \"causa\",\n \"caute\",\n \"caveo\",\n \"cavus\",\n \"cedo\",\n \"celebrer\",\n \"celer\",\n \"celo\",\n \"cena\",\n \"cenaculum\",\n \"ceno\",\n \"censura\",\n \"centum\",\n \"cerno\",\n \"cernuus\",\n \"certe\",\n \"certo\",\n \"certus\",\n \"cervus\",\n \"cetera\",\n \"charisma\",\n \"chirographum\",\n \"cibo\",\n \"cibus\",\n \"cicuta\",\n \"cilicium\",\n \"cimentarius\",\n \"ciminatio\",\n \"cinis\",\n \"circumvenio\",\n \"cito\",\n \"civis\",\n \"civitas\",\n \"clam\",\n \"clamo\",\n \"claro\",\n \"clarus\",\n \"claudeo\",\n \"claustrum\",\n \"clementia\",\n \"clibanus\",\n \"coadunatio\",\n \"coaegresco\",\n \"coepi\",\n \"coerceo\",\n \"cogito\",\n \"cognatus\",\n \"cognomen\",\n \"cogo\",\n \"cohaero\",\n \"cohibeo\",\n \"cohors\",\n \"colligo\",\n \"colloco\",\n \"collum\",\n \"colo\",\n \"color\",\n \"coma\",\n \"combibo\",\n \"comburo\",\n \"comedo\",\n \"comes\",\n \"cometes\",\n \"comis\",\n \"comitatus\",\n \"commemoro\",\n \"comminor\",\n \"commodo\",\n \"communis\",\n \"comparo\",\n \"compello\",\n \"complectus\",\n \"compono\",\n \"comprehendo\",\n \"comptus\",\n \"conatus\",\n \"concedo\",\n \"concido\",\n \"conculco\",\n \"condico\",\n \"conduco\",\n \"confero\",\n \"confido\",\n \"conforto\",\n \"confugo\",\n \"congregatio\",\n \"conicio\",\n \"coniecto\",\n \"conitor\",\n \"coniuratio\",\n \"conor\",\n \"conqueror\",\n \"conscendo\",\n \"conservo\",\n \"considero\",\n \"conspergo\",\n \"constans\",\n \"consuasor\",\n \"contabesco\",\n \"contego\",\n \"contigo\",\n \"contra\",\n \"conturbo\",\n \"conventus\",\n \"convoco\",\n \"copia\",\n \"copiose\",\n \"cornu\",\n \"corona\",\n \"corpus\",\n \"correptius\",\n \"corrigo\",\n \"corroboro\",\n \"corrumpo\",\n \"coruscus\",\n \"cotidie\",\n \"crapula\",\n \"cras\",\n \"crastinus\",\n \"creator\",\n \"creber\",\n \"crebro\",\n \"credo\",\n \"creo\",\n \"creptio\",\n \"crepusculum\",\n \"cresco\",\n \"creta\",\n \"cribro\",\n \"crinis\",\n \"cruciamentum\",\n \"crudelis\",\n \"cruentus\",\n \"crur\",\n \"crustulum\",\n \"crux\",\n \"cubicularis\",\n \"cubitum\",\n \"cubo\",\n \"cui\",\n \"cuius\",\n \"culpa\",\n \"culpo\",\n \"cultellus\",\n \"cultura\",\n \"cum\",\n \"cunabula\",\n \"cunae\",\n \"cunctatio\",\n \"cupiditas\",\n \"cupio\",\n \"cuppedia\",\n \"cupressus\",\n \"cur\",\n \"cura\",\n \"curatio\",\n \"curia\",\n \"curiositas\",\n \"curis\",\n \"curo\",\n \"curriculum\",\n \"currus\",\n \"cursim\",\n \"curso\",\n \"cursus\",\n \"curto\",\n \"curtus\",\n \"curvo\",\n \"curvus\",\n \"custodia\",\n \"damnatio\",\n \"damno\",\n \"dapifer\",\n \"debeo\",\n \"debilito\",\n \"decens\",\n \"decerno\",\n \"decet\",\n \"decimus\",\n \"decipio\",\n \"decor\",\n \"decretum\",\n \"decumbo\",\n \"dedecor\",\n \"dedico\",\n \"deduco\",\n \"defaeco\",\n \"defendo\",\n \"defero\",\n \"defessus\",\n \"defetiscor\",\n \"deficio\",\n \"defigo\",\n \"defleo\",\n \"defluo\",\n \"defungo\",\n \"degenero\",\n \"degero\",\n \"degusto\",\n \"deinde\",\n \"delectatio\",\n \"delego\",\n \"deleo\",\n \"delibero\",\n \"delicate\",\n \"delinquo\",\n \"deludo\",\n \"demens\",\n \"demergo\",\n \"demitto\",\n \"demo\",\n \"demonstro\",\n \"demoror\",\n \"demulceo\",\n \"demum\",\n \"denego\",\n \"denique\",\n \"dens\",\n \"denuncio\",\n \"denuo\",\n \"deorsum\",\n \"depereo\",\n \"depono\",\n \"depopulo\",\n \"deporto\",\n \"depraedor\",\n \"deprecator\",\n \"deprimo\",\n \"depromo\",\n \"depulso\",\n \"deputo\",\n \"derelinquo\",\n \"derideo\",\n \"deripio\",\n \"desidero\",\n \"desino\",\n \"desipio\",\n \"desolo\",\n \"desparatus\",\n \"despecto\",\n \"despirmatio\",\n \"infit\",\n \"inflammatio\",\n \"paens\",\n \"patior\",\n \"patria\",\n \"patrocinor\",\n \"patruus\",\n \"pauci\",\n \"paulatim\",\n \"pauper\",\n \"pax\",\n \"peccatus\",\n \"pecco\",\n \"pecto\",\n \"pectus\",\n \"pecunia\",\n \"pecus\",\n \"peior\",\n \"pel\",\n \"ocer\",\n \"socius\",\n \"sodalitas\",\n \"sol\",\n \"soleo\",\n \"solio\",\n \"solitudo\",\n \"solium\",\n \"sollers\",\n \"sollicito\",\n \"solum\",\n \"solus\",\n \"solutio\",\n \"solvo\",\n \"somniculosus\",\n \"somnus\",\n \"sonitus\",\n \"sono\",\n \"sophismata\",\n \"sopor\",\n \"sordeo\",\n \"sortitus\",\n \"spargo\",\n \"speciosus\",\n \"spectaculum\",\n \"speculum\",\n \"sperno\",\n \"spero\",\n \"spes\",\n \"spiculum\",\n \"spiritus\",\n \"spoliatio\",\n \"sponte\",\n \"stabilis\",\n \"statim\",\n \"statua\",\n \"stella\",\n \"stillicidium\",\n \"stipes\",\n \"stips\",\n \"sto\",\n \"strenuus\",\n \"strues\",\n \"studio\",\n \"stultus\",\n \"suadeo\",\n \"suasoria\",\n \"sub\",\n \"subito\",\n \"subiungo\",\n \"sublime\",\n \"subnecto\",\n \"subseco\",\n \"substantia\",\n \"subvenio\",\n \"succedo\",\n \"succurro\",\n \"sufficio\",\n \"suffoco\",\n \"suffragium\",\n \"suggero\",\n \"sui\",\n \"sulum\",\n \"sum\",\n \"summa\",\n \"summisse\",\n \"summopere\",\n \"sumo\",\n \"sumptus\",\n \"supellex\",\n \"super\",\n \"suppellex\",\n \"supplanto\",\n \"suppono\",\n \"supra\",\n \"surculus\",\n \"surgo\",\n \"sursum\",\n \"suscipio\",\n \"suspendo\",\n \"sustineo\",\n \"suus\",\n \"synagoga\",\n \"tabella\",\n \"tabernus\",\n \"tabesco\",\n \"tabgo\",\n \"tabula\",\n \"taceo\",\n \"tactus\",\n \"taedium\",\n \"talio\",\n \"talis\",\n \"talus\",\n \"tam\",\n \"tamdiu\",\n \"tamen\",\n \"tametsi\",\n \"tamisium\",\n \"tamquam\",\n \"tandem\",\n \"tantillus\",\n \"tantum\",\n \"tardus\",\n \"tego\",\n \"temeritas\",\n \"temperantia\",\n \"templum\",\n \"temptatio\",\n \"tempus\",\n \"tenax\",\n \"tendo\",\n \"teneo\",\n \"tener\",\n \"tenuis\",\n \"tenus\",\n \"tepesco\",\n \"tepidus\",\n \"ter\",\n \"terebro\",\n \"teres\",\n \"terga\",\n \"tergeo\",\n \"tergiversatio\",\n \"tergo\",\n \"tergum\",\n \"termes\",\n \"terminatio\",\n \"tero\",\n \"terra\",\n \"terreo\",\n \"territo\",\n \"terror\",\n \"tersus\",\n \"tertius\",\n \"testimonium\",\n \"texo\",\n \"textilis\",\n \"textor\",\n \"textus\",\n \"thalassinus\",\n \"theatrum\",\n \"theca\",\n \"thema\",\n \"theologus\",\n \"thermae\",\n \"thesaurus\",\n \"thesis\",\n \"thorax\",\n \"thymbra\",\n \"thymum\",\n \"tibi\",\n \"timidus\",\n \"timor\",\n \"titulus\",\n \"tolero\",\n \"tollo\",\n \"tondeo\",\n \"tonsor\",\n \"torqueo\",\n \"torrens\",\n \"tot\",\n \"totidem\",\n \"toties\",\n \"totus\",\n \"tracto\",\n \"trado\",\n \"traho\",\n \"trans\",\n \"tredecim\",\n \"tremo\",\n \"trepide\",\n \"tres\",\n \"tribuo\",\n \"tricesimus\",\n \"triduana\",\n \"triginta\",\n \"tripudio\",\n \"tristis\",\n \"triumphus\",\n \"trucido\",\n \"truculenter\",\n \"tubineus\",\n \"tui\",\n \"tum\",\n \"tumultus\",\n \"tunc\",\n \"turba\",\n \"turbo\",\n \"turpe\",\n \"turpis\",\n \"tutamen\",\n \"tutis\",\n \"tyrannus\",\n \"uberrime\",\n \"ubi\",\n \"ulciscor\",\n \"ullus\",\n \"ulterius\",\n \"ultio\",\n \"ultra\",\n \"umbra\",\n \"umerus\",\n \"umquam\",\n \"una\",\n \"unde\",\n \"undique\",\n \"universe\",\n \"unus\",\n \"urbanus\",\n \"urbs\",\n \"uredo\",\n \"usitas\",\n \"usque\",\n \"ustilo\",\n \"ustulo\",\n \"usus\",\n \"uter\",\n \"uterque\",\n \"utilis\",\n \"utique\",\n \"utor\",\n \"utpote\",\n \"utrimque\",\n \"utroque\",\n \"utrum\",\n \"uxor\",\n \"vaco\",\n \"vacuus\",\n \"vado\",\n \"vae\",\n \"valde\",\n \"valens\",\n \"valeo\",\n \"valetudo\",\n \"validus\",\n \"vallum\",\n \"vapulus\",\n \"varietas\",\n \"varius\",\n \"vehemens\",\n \"vel\",\n \"velociter\",\n \"velum\",\n \"velut\",\n \"venia\",\n \"venio\",\n \"ventito\",\n \"ventosus\",\n \"ventus\",\n \"venustas\",\n \"ver\",\n \"verbera\",\n \"verbum\",\n \"vere\",\n \"verecundia\",\n \"vereor\",\n \"vergo\",\n \"veritas\",\n \"vero\",\n \"versus\",\n \"verto\",\n \"verumtamen\",\n \"verus\",\n \"vesco\",\n \"vesica\",\n \"vesper\",\n \"vespillo\",\n \"vester\",\n \"vestigium\",\n \"vestrum\",\n \"vetus\",\n \"via\",\n \"vicinus\",\n \"vicissitudo\",\n \"victoria\",\n \"victus\",\n \"videlicet\",\n \"video\",\n \"viduata\",\n \"viduo\",\n \"vigilo\",\n \"vigor\",\n \"vilicus\",\n \"vilis\",\n \"vilitas\",\n \"villa\",\n \"vinco\",\n \"vinculum\",\n \"vindico\",\n \"vinitor\",\n \"vinum\",\n \"vir\",\n \"virga\",\n \"virgo\",\n \"viridis\",\n \"viriliter\",\n \"virtus\",\n \"vis\",\n \"viscus\",\n \"vita\",\n \"vitiosus\",\n \"vitium\",\n \"vito\",\n \"vivo\",\n \"vix\",\n \"vobis\",\n \"vociferor\",\n \"voco\",\n \"volaticus\",\n \"volo\",\n \"volubilis\",\n \"voluntarius\",\n \"volup\",\n \"volutabrum\",\n \"volva\",\n \"vomer\",\n \"vomica\",\n \"vomito\",\n \"vorago\",\n \"vorax\",\n \"voro\",\n \"vos\",\n \"votum\",\n \"voveo\",\n \"vox\",\n \"vulariter\",\n \"vulgaris\",\n \"vulgivagus\",\n \"vulgo\",\n \"vulgus\",\n \"vulnero\",\n \"vulnus\",\n \"vulpes\",\n \"vulticulus\",\n \"vultuosus\",\n \"xiphias\"\n];\n","var lorem = {};\nmodule['exports'] = lorem;\nlorem.words = require(\"./words\");\nlorem.supplemental = require(\"./supplemental\");\n","module[\"exports\"] = [\n\t\"James\",\n\t\"John\",\n\t\"Robert\",\n\t\"Michael\",\n\t\"William\",\n\t\"David\",\n\t\"Richard\",\n\t\"Charles\",\n\t\"Joseph\",\n\t\"Thomas\",\n\t\"Christopher\",\n\t\"Daniel\",\n\t\"Paul\",\n\t\"Mark\",\n\t\"Donald\",\n\t\"George\",\n\t\"Kenneth\",\n\t\"Steven\",\n\t\"Edward\",\n\t\"Brian\",\n\t\"Ronald\",\n\t\"Anthony\",\n\t\"Kevin\",\n\t\"Jason\",\n\t\"Matthew\",\n\t\"Gary\",\n\t\"Timothy\",\n\t\"Jose\",\n\t\"Larry\",\n\t\"Jeffrey\",\n\t\"Frank\",\n\t\"Scott\",\n\t\"Eric\",\n\t\"Stephen\",\n\t\"Andrew\",\n\t\"Raymond\",\n\t\"Gregory\",\n\t\"Joshua\",\n\t\"Jerry\",\n\t\"Dennis\",\n\t\"Walter\",\n\t\"Patrick\",\n\t\"Peter\",\n\t\"Harold\",\n\t\"Douglas\",\n\t\"Henry\",\n\t\"Carl\",\n\t\"Arthur\",\n\t\"Ryan\",\n\t\"Roger\",\n\t\"Joe\",\n\t\"Juan\",\n\t\"Jack\",\n\t\"Albert\",\n\t\"Jonathan\",\n\t\"Justin\",\n\t\"Terry\",\n\t\"Gerald\",\n\t\"Keith\",\n\t\"Samuel\",\n\t\"Willie\",\n\t\"Ralph\",\n\t\"Lawrence\",\n\t\"Nicholas\",\n\t\"Roy\",\n\t\"Benjamin\",\n\t\"Bruce\",\n\t\"Brandon\",\n\t\"Adam\",\n\t\"Harry\",\n\t\"Fred\",\n\t\"Wayne\",\n\t\"Billy\",\n\t\"Steve\",\n\t\"Louis\",\n\t\"Jeremy\",\n\t\"Aaron\",\n\t\"Randy\",\n\t\"Howard\",\n\t\"Eugene\",\n\t\"Carlos\",\n\t\"Russell\",\n\t\"Bobby\",\n\t\"Victor\",\n\t\"Martin\",\n\t\"Ernest\",\n\t\"Phillip\",\n\t\"Todd\",\n\t\"Jesse\",\n\t\"Craig\",\n\t\"Alan\",\n\t\"Shawn\",\n\t\"Clarence\",\n\t\"Sean\",\n\t\"Philip\",\n\t\"Chris\",\n\t\"Johnny\",\n\t\"Earl\",\n\t\"Jimmy\",\n\t\"Antonio\",\n\t\"Danny\",\n\t\"Bryan\",\n\t\"Tony\",\n\t\"Luis\",\n\t\"Mike\",\n\t\"Stanley\",\n\t\"Leonard\",\n\t\"Nathan\",\n\t\"Dale\",\n\t\"Manuel\",\n\t\"Rodney\",\n\t\"Curtis\",\n\t\"Norman\",\n\t\"Allen\",\n\t\"Marvin\",\n\t\"Vincent\",\n\t\"Glenn\",\n\t\"Jeffery\",\n\t\"Travis\",\n\t\"Jeff\",\n\t\"Chad\",\n\t\"Jacob\",\n\t\"Lee\",\n\t\"Melvin\",\n\t\"Alfred\",\n\t\"Kyle\",\n\t\"Francis\",\n\t\"Bradley\",\n\t\"Jesus\",\n\t\"Herbert\",\n\t\"Frederick\",\n\t\"Ray\",\n\t\"Joel\",\n\t\"Edwin\",\n\t\"Don\",\n\t\"Eddie\",\n\t\"Ricky\",\n\t\"Troy\",\n\t\"Randall\",\n\t\"Barry\",\n\t\"Alexander\",\n\t\"Bernard\",\n\t\"Mario\",\n\t\"Leroy\",\n\t\"Francisco\",\n\t\"Marcus\",\n\t\"Micheal\",\n\t\"Theodore\",\n\t\"Clifford\",\n\t\"Miguel\",\n\t\"Oscar\",\n\t\"Jay\",\n\t\"Jim\",\n\t\"Tom\",\n\t\"Calvin\",\n\t\"Alex\",\n\t\"Jon\",\n\t\"Ronnie\",\n\t\"Bill\",\n\t\"Lloyd\",\n\t\"Tommy\",\n\t\"Leon\",\n\t\"Derek\",\n\t\"Warren\",\n\t\"Darrell\",\n\t\"Jerome\",\n\t\"Floyd\",\n\t\"Leo\",\n\t\"Alvin\",\n\t\"Tim\",\n\t\"Wesley\",\n\t\"Gordon\",\n\t\"Dean\",\n\t\"Greg\",\n\t\"Jorge\",\n\t\"Dustin\",\n\t\"Pedro\",\n\t\"Derrick\",\n\t\"Dan\",\n\t\"Lewis\",\n\t\"Zachary\",\n\t\"Corey\",\n\t\"Herman\",\n\t\"Maurice\",\n\t\"Vernon\",\n\t\"Roberto\",\n\t\"Clyde\",\n\t\"Glen\",\n\t\"Hector\",\n\t\"Shane\",\n\t\"Ricardo\",\n\t\"Sam\",\n\t\"Rick\",\n\t\"Lester\",\n\t\"Brent\",\n\t\"Ramon\",\n\t\"Charlie\",\n\t\"Tyler\",\n\t\"Gilbert\",\n\t\"Gene\",\n\t\"Marc\",\n\t\"Reginald\",\n\t\"Ruben\",\n\t\"Brett\",\n\t\"Angel\",\n\t\"Nathaniel\",\n\t\"Rafael\",\n\t\"Leslie\",\n\t\"Edgar\",\n\t\"Milton\",\n\t\"Raul\",\n\t\"Ben\",\n\t\"Chester\",\n\t\"Cecil\",\n\t\"Duane\",\n\t\"Franklin\",\n\t\"Andre\",\n\t\"Elmer\",\n\t\"Brad\",\n\t\"Gabriel\",\n\t\"Ron\",\n\t\"Mitchell\",\n\t\"Roland\",\n\t\"Arnold\",\n\t\"Harvey\",\n\t\"Jared\",\n\t\"Adrian\",\n\t\"Karl\",\n\t\"Cory\",\n\t\"Claude\",\n\t\"Erik\",\n\t\"Darryl\",\n\t\"Jamie\",\n\t\"Neil\",\n\t\"Jessie\",\n\t\"Christian\",\n\t\"Javier\",\n\t\"Fernando\",\n\t\"Clinton\",\n\t\"Ted\",\n\t\"Mathew\",\n\t\"Tyrone\",\n\t\"Darren\",\n\t\"Lonnie\",\n\t\"Lance\",\n\t\"Cody\",\n\t\"Julio\",\n\t\"Kelly\",\n\t\"Kurt\",\n\t\"Allan\",\n\t\"Nelson\",\n\t\"Guy\",\n\t\"Clayton\",\n\t\"Hugh\",\n\t\"Max\",\n\t\"Dwayne\",\n\t\"Dwight\",\n\t\"Armando\",\n\t\"Felix\",\n\t\"Jimmie\",\n\t\"Everett\",\n\t\"Jordan\",\n\t\"Ian\",\n\t\"Wallace\",\n\t\"Ken\",\n\t\"Bob\",\n\t\"Jaime\",\n\t\"Casey\",\n\t\"Alfredo\",\n\t\"Alberto\",\n\t\"Dave\",\n\t\"Ivan\",\n\t\"Johnnie\",\n\t\"Sidney\",\n\t\"Byron\",\n\t\"Julian\",\n\t\"Isaac\",\n\t\"Morris\",\n\t\"Clifton\",\n\t\"Willard\",\n\t\"Daryl\",\n\t\"Ross\",\n\t\"Virgil\",\n\t\"Andy\",\n\t\"Marshall\",\n\t\"Salvador\",\n\t\"Perry\",\n\t\"Kirk\",\n\t\"Sergio\",\n\t\"Marion\",\n\t\"Tracy\",\n\t\"Seth\",\n\t\"Kent\",\n\t\"Terrance\",\n\t\"Rene\",\n\t\"Eduardo\",\n\t\"Terrence\",\n\t\"Enrique\",\n\t\"Freddie\",\n\t\"Wade\",\n\t\"Austin\",\n\t\"Stuart\",\n\t\"Fredrick\",\n\t\"Arturo\",\n\t\"Alejandro\",\n\t\"Jackie\",\n\t\"Joey\",\n\t\"Nick\",\n\t\"Luther\",\n\t\"Wendell\",\n\t\"Jeremiah\",\n\t\"Evan\",\n\t\"Julius\",\n\t\"Dana\",\n\t\"Donnie\",\n\t\"Otis\",\n\t\"Shannon\",\n\t\"Trevor\",\n\t\"Oliver\",\n\t\"Luke\",\n\t\"Homer\",\n\t\"Gerard\",\n\t\"Doug\",\n\t\"Kenny\",\n\t\"Hubert\",\n\t\"Angelo\",\n\t\"Shaun\",\n\t\"Lyle\",\n\t\"Matt\",\n\t\"Lynn\",\n\t\"Alfonso\",\n\t\"Orlando\",\n\t\"Rex\",\n\t\"Carlton\",\n\t\"Ernesto\",\n\t\"Cameron\",\n\t\"Neal\",\n\t\"Pablo\",\n\t\"Lorenzo\",\n\t\"Omar\",\n\t\"Wilbur\",\n\t\"Blake\",\n\t\"Grant\",\n\t\"Horace\",\n\t\"Roderick\",\n\t\"Kerry\",\n\t\"Abraham\",\n\t\"Willis\",\n\t\"Rickey\",\n\t\"Jean\",\n\t\"Ira\",\n\t\"Andres\",\n\t\"Cesar\",\n\t\"Johnathan\",\n\t\"Malcolm\",\n\t\"Rudolph\",\n\t\"Damon\",\n\t\"Kelvin\",\n\t\"Rudy\",\n\t\"Preston\",\n\t\"Alton\",\n\t\"Archie\",\n\t\"Marco\",\n\t\"Wm\",\n\t\"Pete\",\n\t\"Randolph\",\n\t\"Garry\",\n\t\"Geoffrey\",\n\t\"Jonathon\",\n\t\"Felipe\",\n\t\"Bennie\",\n\t\"Gerardo\",\n\t\"Ed\",\n\t\"Dominic\",\n\t\"Robin\",\n\t\"Loren\",\n\t\"Delbert\",\n\t\"Colin\",\n\t\"Guillermo\",\n\t\"Earnest\",\n\t\"Lucas\",\n\t\"Benny\",\n\t\"Noel\",\n\t\"Spencer\",\n\t\"Rodolfo\",\n\t\"Myron\",\n\t\"Edmund\",\n\t\"Garrett\",\n\t\"Salvatore\",\n\t\"Cedric\",\n\t\"Lowell\",\n\t\"Gregg\",\n\t\"Sherman\",\n\t\"Wilson\",\n\t\"Devin\",\n\t\"Sylvester\",\n\t\"Kim\",\n\t\"Roosevelt\",\n\t\"Israel\",\n\t\"Jermaine\",\n\t\"Forrest\",\n\t\"Wilbert\",\n\t\"Leland\",\n\t\"Simon\",\n\t\"Guadalupe\",\n\t\"Clark\",\n\t\"Irving\",\n\t\"Carroll\",\n\t\"Bryant\",\n\t\"Owen\",\n\t\"Rufus\",\n\t\"Woodrow\",\n\t\"Sammy\",\n\t\"Kristopher\",\n\t\"Mack\",\n\t\"Levi\",\n\t\"Marcos\",\n\t\"Gustavo\",\n\t\"Jake\",\n\t\"Lionel\",\n\t\"Marty\",\n\t\"Taylor\",\n\t\"Ellis\",\n\t\"Dallas\",\n\t\"Gilberto\",\n\t\"Clint\",\n\t\"Nicolas\",\n\t\"Laurence\",\n\t\"Ismael\",\n\t\"Orville\",\n\t\"Drew\",\n\t\"Jody\",\n\t\"Ervin\",\n\t\"Dewey\",\n\t\"Al\",\n\t\"Wilfred\",\n\t\"Josh\",\n\t\"Hugo\",\n\t\"Ignacio\",\n\t\"Caleb\",\n\t\"Tomas\",\n\t\"Sheldon\",\n\t\"Erick\",\n\t\"Frankie\",\n\t\"Stewart\",\n\t\"Doyle\",\n\t\"Darrel\",\n\t\"Rogelio\",\n\t\"Terence\",\n\t\"Santiago\",\n\t\"Alonzo\",\n\t\"Elias\",\n\t\"Bert\",\n\t\"Elbert\",\n\t\"Ramiro\",\n\t\"Conrad\",\n\t\"Pat\",\n\t\"Noah\",\n\t\"Grady\",\n\t\"Phil\",\n\t\"Cornelius\",\n\t\"Lamar\",\n\t\"Rolando\",\n\t\"Clay\",\n\t\"Percy\",\n\t\"Dexter\",\n\t\"Bradford\",\n\t\"Merle\",\n\t\"Darin\",\n\t\"Amos\",\n\t\"Terrell\",\n\t\"Moses\",\n\t\"Irvin\",\n\t\"Saul\",\n\t\"Roman\",\n\t\"Darnell\",\n\t\"Randal\",\n\t\"Tommie\",\n\t\"Timmy\",\n\t\"Darrin\",\n\t\"Winston\",\n\t\"Brendan\",\n\t\"Toby\",\n\t\"Van\",\n\t\"Abel\",\n\t\"Dominick\",\n\t\"Boyd\",\n\t\"Courtney\",\n\t\"Jan\",\n\t\"Emilio\",\n\t\"Elijah\",\n\t\"Cary\",\n\t\"Domingo\",\n\t\"Santos\",\n\t\"Aubrey\",\n\t\"Emmett\",\n\t\"Marlon\",\n\t\"Emanuel\",\n\t\"Jerald\",\n\t\"Edmond\"\n\t];","module[\"exports\"] = [\n\t\"Mary\",\n\t\"Patricia\",\n\t\"Linda\",\n\t\"Barbara\",\n\t\"Elizabeth\",\n\t\"Jennifer\",\n\t\"Maria\",\n\t\"Susan\",\n\t\"Margaret\",\n\t\"Dorothy\",\n\t\"Lisa\",\n\t\"Nancy\",\n\t\"Karen\",\n\t\"Betty\",\n\t\"Helen\",\n\t\"Sandra\",\n\t\"Donna\",\n\t\"Carol\",\n\t\"Ruth\",\n\t\"Sharon\",\n\t\"Michelle\",\n\t\"Laura\",\n\t\"Sarah\",\n\t\"Kimberly\",\n\t\"Deborah\",\n\t\"Jessica\",\n\t\"Shirley\",\n\t\"Cynthia\",\n\t\"Angela\",\n\t\"Melissa\",\n\t\"Brenda\",\n\t\"Amy\",\n\t\"Anna\",\n\t\"Rebecca\",\n\t\"Virginia\",\n\t\"Kathleen\",\n\t\"Pamela\",\n\t\"Martha\",\n\t\"Debra\",\n\t\"Amanda\",\n\t\"Stephanie\",\n\t\"Carolyn\",\n\t\"Christine\",\n\t\"Marie\",\n\t\"Janet\",\n\t\"Catherine\",\n\t\"Frances\",\n\t\"Ann\",\n\t\"Joyce\",\n\t\"Diane\",\n\t\"Alice\",\n\t\"Julie\",\n\t\"Heather\",\n\t\"Teresa\",\n\t\"Doris\",\n\t\"Gloria\",\n\t\"Evelyn\",\n\t\"Jean\",\n\t\"Cheryl\",\n\t\"Mildred\",\n\t\"Katherine\",\n\t\"Joan\",\n\t\"Ashley\",\n\t\"Judith\",\n\t\"Rose\",\n\t\"Janice\",\n\t\"Kelly\",\n\t\"Nicole\",\n\t\"Judy\",\n\t\"Christina\",\n\t\"Kathy\",\n\t\"Theresa\",\n\t\"Beverly\",\n\t\"Denise\",\n\t\"Tammy\",\n\t\"Irene\",\n\t\"Jane\",\n\t\"Lori\",\n\t\"Rachel\",\n\t\"Marilyn\",\n\t\"Andrea\",\n\t\"Kathryn\",\n\t\"Louise\",\n\t\"Sara\",\n\t\"Anne\",\n\t\"Jacqueline\",\n\t\"Wanda\",\n\t\"Bonnie\",\n\t\"Julia\",\n\t\"Ruby\",\n\t\"Lois\",\n\t\"Tina\",\n\t\"Phyllis\",\n\t\"Norma\",\n\t\"Paula\",\n\t\"Diana\",\n\t\"Annie\",\n\t\"Lillian\",\n\t\"Emily\",\n\t\"Robin\",\n\t\"Peggy\",\n\t\"Crystal\",\n\t\"Gladys\",\n\t\"Rita\",\n\t\"Dawn\",\n\t\"Connie\",\n\t\"Florence\",\n\t\"Tracy\",\n\t\"Edna\",\n\t\"Tiffany\",\n\t\"Carmen\",\n\t\"Rosa\",\n\t\"Cindy\",\n\t\"Grace\",\n\t\"Wendy\",\n\t\"Victoria\",\n\t\"Edith\",\n\t\"Kim\",\n\t\"Sherry\",\n\t\"Sylvia\",\n\t\"Josephine\",\n\t\"Thelma\",\n\t\"Shannon\",\n\t\"Sheila\",\n\t\"Ethel\",\n\t\"Ellen\",\n\t\"Elaine\",\n\t\"Marjorie\",\n\t\"Carrie\",\n\t\"Charlotte\",\n\t\"Monica\",\n\t\"Esther\",\n\t\"Pauline\",\n\t\"Emma\",\n\t\"Juanita\",\n\t\"Anita\",\n\t\"Rhonda\",\n\t\"Hazel\",\n\t\"Amber\",\n\t\"Eva\",\n\t\"Debbie\",\n\t\"April\",\n\t\"Leslie\",\n\t\"Clara\",\n\t\"Lucille\",\n\t\"Jamie\",\n\t\"Joanne\",\n\t\"Eleanor\",\n\t\"Valerie\",\n\t\"Danielle\",\n\t\"Megan\",\n\t\"Alicia\",\n\t\"Suzanne\",\n\t\"Michele\",\n\t\"Gail\",\n\t\"Bertha\",\n\t\"Darlene\",\n\t\"Veronica\",\n\t\"Jill\",\n\t\"Erin\",\n\t\"Geraldine\",\n\t\"Lauren\",\n\t\"Cathy\",\n\t\"Joann\",\n\t\"Lorraine\",\n\t\"Lynn\",\n\t\"Sally\",\n\t\"Regina\",\n\t\"Erica\",\n\t\"Beatrice\",\n\t\"Dolores\",\n\t\"Bernice\",\n\t\"Audrey\",\n\t\"Yvonne\",\n\t\"Annette\",\n\t\"June\",\n\t\"Samantha\",\n\t\"Marion\",\n\t\"Dana\",\n\t\"Stacy\",\n\t\"Ana\",\n\t\"Renee\",\n\t\"Ida\",\n\t\"Vivian\",\n\t\"Roberta\",\n\t\"Holly\",\n\t\"Brittany\",\n\t\"Melanie\",\n\t\"Loretta\",\n\t\"Yolanda\",\n\t\"Jeanette\",\n\t\"Laurie\",\n\t\"Katie\",\n\t\"Kristen\",\n\t\"Vanessa\",\n\t\"Alma\",\n\t\"Sue\",\n\t\"Elsie\",\n\t\"Beth\",\n\t\"Jeanne\",\n\t\"Vicki\",\n\t\"Carla\",\n\t\"Tara\",\n\t\"Rosemary\",\n\t\"Eileen\",\n\t\"Terri\",\n\t\"Gertrude\",\n\t\"Lucy\",\n\t\"Tonya\",\n\t\"Ella\",\n\t\"Stacey\",\n\t\"Wilma\",\n\t\"Gina\",\n\t\"Kristin\",\n\t\"Jessie\",\n\t\"Natalie\",\n\t\"Agnes\",\n\t\"Vera\",\n\t\"Willie\",\n\t\"Charlene\",\n\t\"Bessie\",\n\t\"Delores\",\n\t\"Melinda\",\n\t\"Pearl\",\n\t\"Arlene\",\n\t\"Maureen\",\n\t\"Colleen\",\n\t\"Allison\",\n\t\"Tamara\",\n\t\"Joy\",\n\t\"Georgia\",\n\t\"Constance\",\n\t\"Lillie\",\n\t\"Claudia\",\n\t\"Jackie\",\n\t\"Marcia\",\n\t\"Tanya\",\n\t\"Nellie\",\n\t\"Minnie\",\n\t\"Marlene\",\n\t\"Heidi\",\n\t\"Glenda\",\n\t\"Lydia\",\n\t\"Viola\",\n\t\"Courtney\",\n\t\"Marian\",\n\t\"Stella\",\n\t\"Caroline\",\n\t\"Dora\",\n\t\"Jo\",\n\t\"Vickie\",\n\t\"Mattie\",\n\t\"Terry\",\n\t\"Maxine\",\n\t\"Irma\",\n\t\"Mabel\",\n\t\"Marsha\",\n\t\"Myrtle\",\n\t\"Lena\",\n\t\"Christy\",\n\t\"Deanna\",\n\t\"Patsy\",\n\t\"Hilda\",\n\t\"Gwendolyn\",\n\t\"Jennie\",\n\t\"Nora\",\n\t\"Margie\",\n\t\"Nina\",\n\t\"Cassandra\",\n\t\"Leah\",\n\t\"Penny\",\n\t\"Kay\",\n\t\"Priscilla\",\n\t\"Naomi\",\n\t\"Carole\",\n\t\"Brandy\",\n\t\"Olga\",\n\t\"Billie\",\n\t\"Dianne\",\n\t\"Tracey\",\n\t\"Leona\",\n\t\"Jenny\",\n\t\"Felicia\",\n\t\"Sonia\",\n\t\"Miriam\",\n\t\"Velma\",\n\t\"Becky\",\n\t\"Bobbie\",\n\t\"Violet\",\n\t\"Kristina\",\n\t\"Toni\",\n\t\"Misty\",\n\t\"Mae\",\n\t\"Shelly\",\n\t\"Daisy\",\n\t\"Ramona\",\n\t\"Sherri\",\n\t\"Erika\",\n\t\"Katrina\",\n\t\"Claire\",\n\t\"Lindsey\",\n\t\"Lindsay\",\n\t\"Geneva\",\n\t\"Guadalupe\",\n\t\"Belinda\",\n\t\"Margarita\",\n\t\"Sheryl\",\n\t\"Cora\",\n\t\"Faye\",\n\t\"Ada\",\n\t\"Natasha\",\n\t\"Sabrina\",\n\t\"Isabel\",\n\t\"Marguerite\",\n\t\"Hattie\",\n\t\"Harriet\",\n\t\"Molly\",\n\t\"Cecilia\",\n\t\"Kristi\",\n\t\"Brandi\",\n\t\"Blanche\",\n\t\"Sandy\",\n\t\"Rosie\",\n\t\"Joanna\",\n\t\"Iris\",\n\t\"Eunice\",\n\t\"Angie\",\n\t\"Inez\",\n\t\"Lynda\",\n\t\"Madeline\",\n\t\"Amelia\",\n\t\"Alberta\",\n\t\"Genevieve\",\n\t\"Monique\",\n\t\"Jodi\",\n\t\"Janie\",\n\t\"Maggie\",\n\t\"Kayla\",\n\t\"Sonya\",\n\t\"Jan\",\n\t\"Lee\",\n\t\"Kristine\",\n\t\"Candace\",\n\t\"Fannie\",\n\t\"Maryann\",\n\t\"Opal\",\n\t\"Alison\",\n\t\"Yvette\",\n\t\"Melody\",\n\t\"Luz\",\n\t\"Susie\",\n\t\"Olivia\",\n\t\"Flora\",\n\t\"Shelley\",\n\t\"Kristy\",\n\t\"Mamie\",\n\t\"Lula\",\n\t\"Lola\",\n\t\"Verna\",\n\t\"Beulah\",\n\t\"Antoinette\",\n\t\"Candice\",\n\t\"Juana\",\n\t\"Jeannette\",\n\t\"Pam\",\n\t\"Kelli\",\n\t\"Hannah\",\n\t\"Whitney\",\n\t\"Bridget\",\n\t\"Karla\",\n\t\"Celia\",\n\t\"Latoya\",\n\t\"Patty\",\n\t\"Shelia\",\n\t\"Gayle\",\n\t\"Della\",\n\t\"Vicky\",\n\t\"Lynne\",\n\t\"Sheri\",\n\t\"Marianne\",\n\t\"Kara\",\n\t\"Jacquelyn\",\n\t\"Erma\",\n\t\"Blanca\",\n\t\"Myra\",\n\t\"Leticia\",\n\t\"Pat\",\n\t\"Krista\",\n\t\"Roxanne\",\n\t\"Angelica\",\n\t\"Johnnie\",\n\t\"Robyn\",\n\t\"Francis\",\n\t\"Adrienne\",\n\t\"Rosalie\",\n\t\"Alexandra\",\n\t\"Brooke\",\n\t\"Bethany\",\n\t\"Sadie\",\n\t\"Bernadette\",\n\t\"Traci\",\n\t\"Jody\",\n\t\"Kendra\",\n\t\"Jasmine\",\n\t\"Nichole\",\n\t\"Rachael\",\n\t\"Chelsea\",\n\t\"Mable\",\n\t\"Ernestine\",\n\t\"Muriel\",\n\t\"Marcella\",\n\t\"Elena\",\n\t\"Krystal\",\n\t\"Angelina\",\n\t\"Nadine\",\n\t\"Kari\",\n\t\"Estelle\",\n\t\"Dianna\",\n\t\"Paulette\",\n\t\"Lora\",\n\t\"Mona\",\n\t\"Doreen\",\n\t\"Rosemarie\",\n\t\"Angel\",\n\t\"Desiree\",\n\t\"Antonia\",\n\t\"Hope\",\n\t\"Ginger\",\n\t\"Janis\",\n\t\"Betsy\",\n\t\"Christie\",\n\t\"Freda\",\n\t\"Mercedes\",\n\t\"Meredith\",\n\t\"Lynette\",\n\t\"Teri\",\n\t\"Cristina\",\n\t\"Eula\",\n\t\"Leigh\",\n\t\"Meghan\",\n\t\"Sophia\",\n\t\"Eloise\",\n\t\"Rochelle\",\n\t\"Gretchen\",\n\t\"Cecelia\",\n\t\"Raquel\",\n\t\"Henrietta\",\n\t\"Alyssa\",\n\t\"Jana\",\n\t\"Kelley\",\n\t\"Gwen\",\n\t\"Kerry\",\n\t\"Jenna\",\n\t\"Tricia\",\n\t\"Laverne\",\n\t\"Olive\",\n\t\"Alexis\",\n\t\"Tasha\",\n\t\"Silvia\",\n\t\"Elvira\",\n\t\"Casey\",\n\t\"Delia\",\n\t\"Sophie\",\n\t\"Kate\",\n\t\"Patti\",\n\t\"Lorena\",\n\t\"Kellie\",\n\t\"Sonja\",\n\t\"Lila\",\n\t\"Lana\",\n\t\"Darla\",\n\t\"May\",\n\t\"Mindy\",\n\t\"Essie\",\n\t\"Mandy\",\n\t\"Lorene\",\n\t\"Elsa\",\n\t\"Josefina\",\n\t\"Jeannie\",\n\t\"Miranda\",\n\t\"Dixie\",\n\t\"Lucia\",\n\t\"Marta\",\n\t\"Faith\",\n\t\"Lela\",\n\t\"Johanna\",\n\t\"Shari\",\n\t\"Camille\",\n\t\"Tami\",\n\t\"Shawna\",\n\t\"Elisa\",\n\t\"Ebony\",\n\t\"Melba\",\n\t\"Ora\",\n\t\"Nettie\",\n\t\"Tabitha\",\n\t\"Ollie\",\n\t\"Jaime\",\n\t\"Winifred\",\n\t\"Kristie\"\n\t];","module[\"exports\"] = [\n \"Aaliyah\",\n \"Aaron\",\n \"Abagail\",\n \"Abbey\",\n \"Abbie\",\n \"Abbigail\",\n \"Abby\",\n \"Abdiel\",\n \"Abdul\",\n \"Abdullah\",\n \"Abe\",\n \"Abel\",\n \"Abelardo\",\n \"Abigail\",\n \"Abigale\",\n \"Abigayle\",\n \"Abner\",\n \"Abraham\",\n \"Ada\",\n \"Adah\",\n \"Adalberto\",\n \"Adaline\",\n \"Adam\",\n \"Adan\",\n \"Addie\",\n \"Addison\",\n \"Adela\",\n \"Adelbert\",\n \"Adele\",\n \"Adelia\",\n \"Adeline\",\n \"Adell\",\n \"Adella\",\n \"Adelle\",\n \"Aditya\",\n \"Adolf\",\n \"Adolfo\",\n \"Adolph\",\n \"Adolphus\",\n \"Adonis\",\n \"Adrain\",\n \"Adrian\",\n \"Adriana\",\n \"Adrianna\",\n \"Adriel\",\n \"Adrien\",\n \"Adrienne\",\n \"Afton\",\n \"Aglae\",\n \"Agnes\",\n \"Agustin\",\n \"Agustina\",\n \"Ahmad\",\n \"Ahmed\",\n \"Aida\",\n \"Aidan\",\n \"Aiden\",\n \"Aileen\",\n \"Aimee\",\n \"Aisha\",\n \"Aiyana\",\n \"Akeem\",\n \"Al\",\n \"Alaina\",\n \"Alan\",\n \"Alana\",\n \"Alanis\",\n \"Alanna\",\n \"Alayna\",\n \"Alba\",\n \"Albert\",\n \"Alberta\",\n \"Albertha\",\n \"Alberto\",\n \"Albin\",\n \"Albina\",\n \"Alda\",\n \"Alden\",\n \"Alec\",\n \"Aleen\",\n \"Alejandra\",\n \"Alejandrin\",\n \"Alek\",\n \"Alena\",\n \"Alene\",\n \"Alessandra\",\n \"Alessandro\",\n \"Alessia\",\n \"Aletha\",\n \"Alex\",\n \"Alexa\",\n \"Alexander\",\n \"Alexandra\",\n \"Alexandre\",\n \"Alexandrea\",\n \"Alexandria\",\n \"Alexandrine\",\n \"Alexandro\",\n \"Alexane\",\n \"Alexanne\",\n \"Alexie\",\n \"Alexis\",\n \"Alexys\",\n \"Alexzander\",\n \"Alf\",\n \"Alfonso\",\n \"Alfonzo\",\n \"Alford\",\n \"Alfred\",\n \"Alfreda\",\n \"Alfredo\",\n \"Ali\",\n \"Alia\",\n \"Alice\",\n \"Alicia\",\n \"Alisa\",\n \"Alisha\",\n \"Alison\",\n \"Alivia\",\n \"Aliya\",\n \"Aliyah\",\n \"Aliza\",\n \"Alize\",\n \"Allan\",\n \"Allen\",\n \"Allene\",\n \"Allie\",\n \"Allison\",\n \"Ally\",\n \"Alphonso\",\n \"Alta\",\n \"Althea\",\n \"Alva\",\n \"Alvah\",\n \"Alvena\",\n \"Alvera\",\n \"Alverta\",\n \"Alvina\",\n \"Alvis\",\n \"Alyce\",\n \"Alycia\",\n \"Alysa\",\n \"Alysha\",\n \"Alyson\",\n \"Alysson\",\n \"Amalia\",\n \"Amanda\",\n \"Amani\",\n \"Amara\",\n \"Amari\",\n \"Amaya\",\n \"Amber\",\n \"Ambrose\",\n \"Amelia\",\n \"Amelie\",\n \"Amely\",\n \"America\",\n \"Americo\",\n \"Amie\",\n \"Amina\",\n \"Amir\",\n \"Amira\",\n \"Amiya\",\n \"Amos\",\n \"Amparo\",\n \"Amy\",\n \"Amya\",\n \"Ana\",\n \"Anabel\",\n \"Anabelle\",\n \"Anahi\",\n \"Anais\",\n \"Anastacio\",\n \"Anastasia\",\n \"Anderson\",\n \"Andre\",\n \"Andreane\",\n \"Andreanne\",\n \"Andres\",\n \"Andrew\",\n \"Andy\",\n \"Angel\",\n \"Angela\",\n \"Angelica\",\n \"Angelina\",\n \"Angeline\",\n \"Angelita\",\n \"Angelo\",\n \"Angie\",\n \"Angus\",\n \"Anibal\",\n \"Anika\",\n \"Anissa\",\n \"Anita\",\n \"Aniya\",\n \"Aniyah\",\n \"Anjali\",\n \"Anna\",\n \"Annabel\",\n \"Annabell\",\n \"Annabelle\",\n \"Annalise\",\n \"Annamae\",\n \"Annamarie\",\n \"Anne\",\n \"Annetta\",\n \"Annette\",\n \"Annie\",\n \"Ansel\",\n \"Ansley\",\n \"Anthony\",\n \"Antoinette\",\n \"Antone\",\n \"Antonetta\",\n \"Antonette\",\n \"Antonia\",\n \"Antonietta\",\n \"Antonina\",\n \"Antonio\",\n \"Antwan\",\n \"Antwon\",\n \"Anya\",\n \"April\",\n \"Ara\",\n \"Araceli\",\n \"Aracely\",\n \"Arch\",\n \"Archibald\",\n \"Ardella\",\n \"Arden\",\n \"Ardith\",\n \"Arely\",\n \"Ari\",\n \"Ariane\",\n \"Arianna\",\n \"Aric\",\n \"Ariel\",\n \"Arielle\",\n \"Arjun\",\n \"Arlene\",\n \"Arlie\",\n \"Arlo\",\n \"Armand\",\n \"Armando\",\n \"Armani\",\n \"Arnaldo\",\n \"Arne\",\n \"Arno\",\n \"Arnold\",\n \"Arnoldo\",\n \"Arnulfo\",\n \"Aron\",\n \"Art\",\n \"Arthur\",\n \"Arturo\",\n \"Arvel\",\n \"Arvid\",\n \"Arvilla\",\n \"Aryanna\",\n \"Asa\",\n \"Asha\",\n \"Ashlee\",\n \"Ashleigh\",\n \"Ashley\",\n \"Ashly\",\n \"Ashlynn\",\n \"Ashton\",\n \"Ashtyn\",\n \"Asia\",\n \"Assunta\",\n \"Astrid\",\n \"Athena\",\n \"Aubree\",\n \"Aubrey\",\n \"Audie\",\n \"Audra\",\n \"Audreanne\",\n \"Audrey\",\n \"August\",\n \"Augusta\",\n \"Augustine\",\n \"Augustus\",\n \"Aurelia\",\n \"Aurelie\",\n \"Aurelio\",\n \"Aurore\",\n \"Austen\",\n \"Austin\",\n \"Austyn\",\n \"Autumn\",\n \"Ava\",\n \"Avery\",\n \"Avis\",\n \"Axel\",\n \"Ayana\",\n \"Ayden\",\n \"Ayla\",\n \"Aylin\",\n \"Baby\",\n \"Bailee\",\n \"Bailey\",\n \"Barbara\",\n \"Barney\",\n \"Baron\",\n \"Barrett\",\n \"Barry\",\n \"Bart\",\n \"Bartholome\",\n \"Barton\",\n \"Baylee\",\n \"Beatrice\",\n \"Beau\",\n \"Beaulah\",\n \"Bell\",\n \"Bella\",\n \"Belle\",\n \"Ben\",\n \"Benedict\",\n \"Benjamin\",\n \"Bennett\",\n \"Bennie\",\n \"Benny\",\n \"Benton\",\n \"Berenice\",\n \"Bernadette\",\n \"Bernadine\",\n \"Bernard\",\n \"Bernardo\",\n \"Berneice\",\n \"Bernhard\",\n \"Bernice\",\n \"Bernie\",\n \"Berniece\",\n \"Bernita\",\n \"Berry\",\n \"Bert\",\n \"Berta\",\n \"Bertha\",\n \"Bertram\",\n \"Bertrand\",\n \"Beryl\",\n \"Bessie\",\n \"Beth\",\n \"Bethany\",\n \"Bethel\",\n \"Betsy\",\n \"Bette\",\n \"Bettie\",\n \"Betty\",\n \"Bettye\",\n \"Beulah\",\n \"Beverly\",\n \"Bianka\",\n \"Bill\",\n \"Billie\",\n \"Billy\",\n \"Birdie\",\n \"Blair\",\n \"Blaise\",\n \"Blake\",\n \"Blanca\",\n \"Blanche\",\n \"Blaze\",\n \"Bo\",\n \"Bobbie\",\n \"Bobby\",\n \"Bonita\",\n \"Bonnie\",\n \"Boris\",\n \"Boyd\",\n \"Brad\",\n \"Braden\",\n \"Bradford\",\n \"Bradley\",\n \"Bradly\",\n \"Brady\",\n \"Braeden\",\n \"Brain\",\n \"Brandi\",\n \"Brando\",\n \"Brandon\",\n \"Brandt\",\n \"Brandy\",\n \"Brandyn\",\n \"Brannon\",\n \"Branson\",\n \"Brant\",\n \"Braulio\",\n \"Braxton\",\n \"Brayan\",\n \"Breana\",\n \"Breanna\",\n \"Breanne\",\n \"Brenda\",\n \"Brendan\",\n \"Brenden\",\n \"Brendon\",\n \"Brenna\",\n \"Brennan\",\n \"Brennon\",\n \"Brent\",\n \"Bret\",\n \"Brett\",\n \"Bria\",\n \"Brian\",\n \"Briana\",\n \"Brianne\",\n \"Brice\",\n \"Bridget\",\n \"Bridgette\",\n \"Bridie\",\n \"Brielle\",\n \"Brigitte\",\n \"Brionna\",\n \"Brisa\",\n \"Britney\",\n \"Brittany\",\n \"Brock\",\n \"Broderick\",\n \"Brody\",\n \"Brook\",\n \"Brooke\",\n \"Brooklyn\",\n \"Brooks\",\n \"Brown\",\n \"Bruce\",\n \"Bryana\",\n \"Bryce\",\n \"Brycen\",\n \"Bryon\",\n \"Buck\",\n \"Bud\",\n \"Buddy\",\n \"Buford\",\n \"Bulah\",\n \"Burdette\",\n \"Burley\",\n \"Burnice\",\n \"Buster\",\n \"Cade\",\n \"Caden\",\n \"Caesar\",\n \"Caitlyn\",\n \"Cale\",\n \"Caleb\",\n \"Caleigh\",\n \"Cali\",\n \"Calista\",\n \"Callie\",\n \"Camden\",\n \"Cameron\",\n \"Camila\",\n \"Camilla\",\n \"Camille\",\n \"Camren\",\n \"Camron\",\n \"Camryn\",\n \"Camylle\",\n \"Candace\",\n \"Candelario\",\n \"Candice\",\n \"Candida\",\n \"Candido\",\n \"Cara\",\n \"Carey\",\n \"Carissa\",\n \"Carlee\",\n \"Carleton\",\n \"Carley\",\n \"Carli\",\n \"Carlie\",\n \"Carlo\",\n \"Carlos\",\n \"Carlotta\",\n \"Carmel\",\n \"Carmela\",\n \"Carmella\",\n \"Carmelo\",\n \"Carmen\",\n \"Carmine\",\n \"Carol\",\n \"Carolanne\",\n \"Carole\",\n \"Carolina\",\n \"Caroline\",\n \"Carolyn\",\n \"Carolyne\",\n \"Carrie\",\n \"Carroll\",\n \"Carson\",\n \"Carter\",\n \"Cary\",\n \"Casandra\",\n \"Casey\",\n \"Casimer\",\n \"Casimir\",\n \"Casper\",\n \"Cassandra\",\n \"Cassandre\",\n \"Cassidy\",\n \"Cassie\",\n \"Catalina\",\n \"Caterina\",\n \"Catharine\",\n \"Catherine\",\n \"Cathrine\",\n \"Cathryn\",\n \"Cathy\",\n \"Cayla\",\n \"Ceasar\",\n \"Cecelia\",\n \"Cecil\",\n \"Cecile\",\n \"Cecilia\",\n \"Cedrick\",\n \"Celestine\",\n \"Celestino\",\n \"Celia\",\n \"Celine\",\n \"Cesar\",\n \"Chad\",\n \"Chadd\",\n \"Chadrick\",\n \"Chaim\",\n \"Chance\",\n \"Chandler\",\n \"Chanel\",\n \"Chanelle\",\n \"Charity\",\n \"Charlene\",\n \"Charles\",\n \"Charley\",\n \"Charlie\",\n \"Charlotte\",\n \"Chase\",\n \"Chasity\",\n \"Chauncey\",\n \"Chaya\",\n \"Chaz\",\n \"Chelsea\",\n \"Chelsey\",\n \"Chelsie\",\n \"Chesley\",\n \"Chester\",\n \"Chet\",\n \"Cheyanne\",\n \"Cheyenne\",\n \"Chloe\",\n \"Chris\",\n \"Christ\",\n \"Christa\",\n \"Christelle\",\n \"Christian\",\n \"Christiana\",\n \"Christina\",\n \"Christine\",\n \"Christop\",\n \"Christophe\",\n \"Christopher\",\n \"Christy\",\n \"Chyna\",\n \"Ciara\",\n \"Cicero\",\n \"Cielo\",\n \"Cierra\",\n \"Cindy\",\n \"Citlalli\",\n \"Clair\",\n \"Claire\",\n \"Clara\",\n \"Clarabelle\",\n \"Clare\",\n \"Clarissa\",\n \"Clark\",\n \"Claud\",\n \"Claude\",\n \"Claudia\",\n \"Claudie\",\n \"Claudine\",\n \"Clay\",\n \"Clemens\",\n \"Clement\",\n \"Clementina\",\n \"Clementine\",\n \"Clemmie\",\n \"Cleo\",\n \"Cleora\",\n \"Cleta\",\n \"Cletus\",\n \"Cleve\",\n \"Cleveland\",\n \"Clifford\",\n \"Clifton\",\n \"Clint\",\n \"Clinton\",\n \"Clotilde\",\n \"Clovis\",\n \"Cloyd\",\n \"Clyde\",\n \"Coby\",\n \"Cody\",\n \"Colby\",\n \"Cole\",\n \"Coleman\",\n \"Colin\",\n \"Colleen\",\n \"Collin\",\n \"Colt\",\n \"Colten\",\n \"Colton\",\n \"Columbus\",\n \"Concepcion\",\n \"Conner\",\n \"Connie\",\n \"Connor\",\n \"Conor\",\n \"Conrad\",\n \"Constance\",\n \"Constantin\",\n \"Consuelo\",\n \"Cooper\",\n \"Cora\",\n \"Coralie\",\n \"Corbin\",\n \"Cordelia\",\n \"Cordell\",\n \"Cordia\",\n \"Cordie\",\n \"Corene\",\n \"Corine\",\n \"Cornelius\",\n \"Cornell\",\n \"Corrine\",\n \"Cortez\",\n \"Cortney\",\n \"Cory\",\n \"Coty\",\n \"Courtney\",\n \"Coy\",\n \"Craig\",\n \"Crawford\",\n \"Creola\",\n \"Cristal\",\n \"Cristian\",\n \"Cristina\",\n \"Cristobal\",\n \"Cristopher\",\n \"Cruz\",\n \"Crystal\",\n \"Crystel\",\n \"Cullen\",\n \"Curt\",\n \"Curtis\",\n \"Cydney\",\n \"Cynthia\",\n \"Cyril\",\n \"Cyrus\",\n \"Dagmar\",\n \"Dahlia\",\n \"Daija\",\n \"Daisha\",\n \"Daisy\",\n \"Dakota\",\n \"Dale\",\n \"Dallas\",\n \"Dallin\",\n \"Dalton\",\n \"Damaris\",\n \"Dameon\",\n \"Damian\",\n \"Damien\",\n \"Damion\",\n \"Damon\",\n \"Dan\",\n \"Dana\",\n \"Dandre\",\n \"Dane\",\n \"D'angelo\",\n \"Dangelo\",\n \"Danial\",\n \"Daniela\",\n \"Daniella\",\n \"Danielle\",\n \"Danika\",\n \"Dannie\",\n \"Danny\",\n \"Dante\",\n \"Danyka\",\n \"Daphne\",\n \"Daphnee\",\n \"Daphney\",\n \"Darby\",\n \"Daren\",\n \"Darian\",\n \"Dariana\",\n \"Darien\",\n \"Dario\",\n \"Darion\",\n \"Darius\",\n \"Darlene\",\n \"Daron\",\n \"Darrel\",\n \"Darrell\",\n \"Darren\",\n \"Darrick\",\n \"Darrin\",\n \"Darrion\",\n \"Darron\",\n \"Darryl\",\n \"Darwin\",\n \"Daryl\",\n \"Dashawn\",\n \"Dasia\",\n \"Dave\",\n \"David\",\n \"Davin\",\n \"Davion\",\n \"Davon\",\n \"Davonte\",\n \"Dawn\",\n \"Dawson\",\n \"Dax\",\n \"Dayana\",\n \"Dayna\",\n \"Dayne\",\n \"Dayton\",\n \"Dean\",\n \"Deangelo\",\n \"Deanna\",\n \"Deborah\",\n \"Declan\",\n \"Dedric\",\n \"Dedrick\",\n \"Dee\",\n \"Deion\",\n \"Deja\",\n \"Dejah\",\n \"Dejon\",\n \"Dejuan\",\n \"Delaney\",\n \"Delbert\",\n \"Delfina\",\n \"Delia\",\n \"Delilah\",\n \"Dell\",\n \"Della\",\n \"Delmer\",\n \"Delores\",\n \"Delpha\",\n \"Delphia\",\n \"Delphine\",\n \"Delta\",\n \"Demarco\",\n \"Demarcus\",\n \"Demario\",\n \"Demetris\",\n \"Demetrius\",\n \"Demond\",\n \"Dena\",\n \"Denis\",\n \"Dennis\",\n \"Deon\",\n \"Deondre\",\n \"Deontae\",\n \"Deonte\",\n \"Dereck\",\n \"Derek\",\n \"Derick\",\n \"Deron\",\n \"Derrick\",\n \"Deshaun\",\n \"Deshawn\",\n \"Desiree\",\n \"Desmond\",\n \"Dessie\",\n \"Destany\",\n \"Destin\",\n \"Destinee\",\n \"Destiney\",\n \"Destini\",\n \"Destiny\",\n \"Devan\",\n \"Devante\",\n \"Deven\",\n \"Devin\",\n \"Devon\",\n \"Devonte\",\n \"Devyn\",\n \"Dewayne\",\n \"Dewitt\",\n \"Dexter\",\n \"Diamond\",\n \"Diana\",\n \"Dianna\",\n \"Diego\",\n \"Dillan\",\n \"Dillon\",\n \"Dimitri\",\n \"Dina\",\n \"Dino\",\n \"Dion\",\n \"Dixie\",\n \"Dock\",\n \"Dolly\",\n \"Dolores\",\n \"Domenic\",\n \"Domenica\",\n \"Domenick\",\n \"Domenico\",\n \"Domingo\",\n \"Dominic\",\n \"Dominique\",\n \"Don\",\n \"Donald\",\n \"Donato\",\n \"Donavon\",\n \"Donna\",\n \"Donnell\",\n \"Donnie\",\n \"Donny\",\n \"Dora\",\n \"Dorcas\",\n \"Dorian\",\n \"Doris\",\n \"Dorothea\",\n \"Dorothy\",\n \"Dorris\",\n \"Dortha\",\n \"Dorthy\",\n \"Doug\",\n \"Douglas\",\n \"Dovie\",\n \"Doyle\",\n \"Drake\",\n \"Drew\",\n \"Duane\",\n \"Dudley\",\n \"Dulce\",\n \"Duncan\",\n \"Durward\",\n \"Dustin\",\n \"Dusty\",\n \"Dwight\",\n \"Dylan\",\n \"Earl\",\n \"Earlene\",\n \"Earline\",\n \"Earnest\",\n \"Earnestine\",\n \"Easter\",\n \"Easton\",\n \"Ebba\",\n \"Ebony\",\n \"Ed\",\n \"Eda\",\n \"Edd\",\n \"Eddie\",\n \"Eden\",\n \"Edgar\",\n \"Edgardo\",\n \"Edison\",\n \"Edmond\",\n \"Edmund\",\n \"Edna\",\n \"Eduardo\",\n \"Edward\",\n \"Edwardo\",\n \"Edwin\",\n \"Edwina\",\n \"Edyth\",\n \"Edythe\",\n \"Effie\",\n \"Efrain\",\n \"Efren\",\n \"Eileen\",\n \"Einar\",\n \"Eino\",\n \"Eladio\",\n \"Elaina\",\n \"Elbert\",\n \"Elda\",\n \"Eldon\",\n \"Eldora\",\n \"Eldred\",\n \"Eldridge\",\n \"Eleanora\",\n \"Eleanore\",\n \"Eleazar\",\n \"Electa\",\n \"Elena\",\n \"Elenor\",\n \"Elenora\",\n \"Eleonore\",\n \"Elfrieda\",\n \"Eli\",\n \"Elian\",\n \"Eliane\",\n \"Elias\",\n \"Eliezer\",\n \"Elijah\",\n \"Elinor\",\n \"Elinore\",\n \"Elisa\",\n \"Elisabeth\",\n \"Elise\",\n \"Eliseo\",\n \"Elisha\",\n \"Elissa\",\n \"Eliza\",\n \"Elizabeth\",\n \"Ella\",\n \"Ellen\",\n \"Ellie\",\n \"Elliot\",\n \"Elliott\",\n \"Ellis\",\n \"Ellsworth\",\n \"Elmer\",\n \"Elmira\",\n \"Elmo\",\n \"Elmore\",\n \"Elna\",\n \"Elnora\",\n \"Elody\",\n \"Eloisa\",\n \"Eloise\",\n \"Elouise\",\n \"Eloy\",\n \"Elroy\",\n \"Elsa\",\n \"Else\",\n \"Elsie\",\n \"Elta\",\n \"Elton\",\n \"Elva\",\n \"Elvera\",\n \"Elvie\",\n \"Elvis\",\n \"Elwin\",\n \"Elwyn\",\n \"Elyse\",\n \"Elyssa\",\n \"Elza\",\n \"Emanuel\",\n \"Emelia\",\n \"Emelie\",\n \"Emely\",\n \"Emerald\",\n \"Emerson\",\n \"Emery\",\n \"Emie\",\n \"Emil\",\n \"Emile\",\n \"Emilia\",\n \"Emiliano\",\n \"Emilie\",\n \"Emilio\",\n \"Emily\",\n \"Emma\",\n \"Emmalee\",\n \"Emmanuel\",\n \"Emmanuelle\",\n \"Emmet\",\n \"Emmett\",\n \"Emmie\",\n \"Emmitt\",\n \"Emmy\",\n \"Emory\",\n \"Ena\",\n \"Enid\",\n \"Enoch\",\n \"Enola\",\n \"Enos\",\n \"Enrico\",\n \"Enrique\",\n \"Ephraim\",\n \"Era\",\n \"Eriberto\",\n \"Eric\",\n \"Erica\",\n \"Erich\",\n \"Erick\",\n \"Ericka\",\n \"Erik\",\n \"Erika\",\n \"Erin\",\n \"Erling\",\n \"Erna\",\n \"Ernest\",\n \"Ernestina\",\n \"Ernestine\",\n \"Ernesto\",\n \"Ernie\",\n \"Ervin\",\n \"Erwin\",\n \"Eryn\",\n \"Esmeralda\",\n \"Esperanza\",\n \"Esta\",\n \"Esteban\",\n \"Estefania\",\n \"Estel\",\n \"Estell\",\n \"Estella\",\n \"Estelle\",\n \"Estevan\",\n \"Esther\",\n \"Estrella\",\n \"Etha\",\n \"Ethan\",\n \"Ethel\",\n \"Ethelyn\",\n \"Ethyl\",\n \"Ettie\",\n \"Eudora\",\n \"Eugene\",\n \"Eugenia\",\n \"Eula\",\n \"Eulah\",\n \"Eulalia\",\n \"Euna\",\n \"Eunice\",\n \"Eusebio\",\n \"Eva\",\n \"Evalyn\",\n \"Evan\",\n \"Evangeline\",\n \"Evans\",\n \"Eve\",\n \"Eveline\",\n \"Evelyn\",\n \"Everardo\",\n \"Everett\",\n \"Everette\",\n \"Evert\",\n \"Evie\",\n \"Ewald\",\n \"Ewell\",\n \"Ezekiel\",\n \"Ezequiel\",\n \"Ezra\",\n \"Fabian\",\n \"Fabiola\",\n \"Fae\",\n \"Fannie\",\n \"Fanny\",\n \"Fatima\",\n \"Faustino\",\n \"Fausto\",\n \"Favian\",\n \"Fay\",\n \"Faye\",\n \"Federico\",\n \"Felicia\",\n \"Felicita\",\n \"Felicity\",\n \"Felipa\",\n \"Felipe\",\n \"Felix\",\n \"Felton\",\n \"Fermin\",\n \"Fern\",\n \"Fernando\",\n \"Ferne\",\n \"Fidel\",\n \"Filiberto\",\n \"Filomena\",\n \"Finn\",\n \"Fiona\",\n \"Flavie\",\n \"Flavio\",\n \"Fleta\",\n \"Fletcher\",\n \"Flo\",\n \"Florence\",\n \"Florencio\",\n \"Florian\",\n \"Florida\",\n \"Florine\",\n \"Flossie\",\n \"Floy\",\n \"Floyd\",\n \"Ford\",\n \"Forest\",\n \"Forrest\",\n \"Foster\",\n \"Frances\",\n \"Francesca\",\n \"Francesco\",\n \"Francis\",\n \"Francisca\",\n \"Francisco\",\n \"Franco\",\n \"Frank\",\n \"Frankie\",\n \"Franz\",\n \"Fred\",\n \"Freda\",\n \"Freddie\",\n \"Freddy\",\n \"Frederic\",\n \"Frederick\",\n \"Frederik\",\n \"Frederique\",\n \"Fredrick\",\n \"Fredy\",\n \"Freeda\",\n \"Freeman\",\n \"Freida\",\n \"Frida\",\n \"Frieda\",\n \"Friedrich\",\n \"Fritz\",\n \"Furman\",\n \"Gabe\",\n \"Gabriel\",\n \"Gabriella\",\n \"Gabrielle\",\n \"Gaetano\",\n \"Gage\",\n \"Gail\",\n \"Gardner\",\n \"Garett\",\n \"Garfield\",\n \"Garland\",\n \"Garnet\",\n \"Garnett\",\n \"Garret\",\n \"Garrett\",\n \"Garrick\",\n \"Garrison\",\n \"Garry\",\n \"Garth\",\n \"Gaston\",\n \"Gavin\",\n \"Gay\",\n \"Gayle\",\n \"Gaylord\",\n \"Gene\",\n \"General\",\n \"Genesis\",\n \"Genevieve\",\n \"Gennaro\",\n \"Genoveva\",\n \"Geo\",\n \"Geoffrey\",\n \"George\",\n \"Georgette\",\n \"Georgiana\",\n \"Georgianna\",\n \"Geovanni\",\n \"Geovanny\",\n \"Geovany\",\n \"Gerald\",\n \"Geraldine\",\n \"Gerard\",\n \"Gerardo\",\n \"Gerda\",\n \"Gerhard\",\n \"Germaine\",\n \"German\",\n \"Gerry\",\n \"Gerson\",\n \"Gertrude\",\n \"Gia\",\n \"Gianni\",\n \"Gideon\",\n \"Gilbert\",\n \"Gilberto\",\n \"Gilda\",\n \"Giles\",\n \"Gillian\",\n \"Gina\",\n \"Gino\",\n \"Giovani\",\n \"Giovanna\",\n \"Giovanni\",\n \"Giovanny\",\n \"Gisselle\",\n \"Giuseppe\",\n \"Gladyce\",\n \"Gladys\",\n \"Glen\",\n \"Glenda\",\n \"Glenna\",\n \"Glennie\",\n \"Gloria\",\n \"Godfrey\",\n \"Golda\",\n \"Golden\",\n \"Gonzalo\",\n \"Gordon\",\n \"Grace\",\n \"Gracie\",\n \"Graciela\",\n \"Grady\",\n \"Graham\",\n \"Grant\",\n \"Granville\",\n \"Grayce\",\n \"Grayson\",\n \"Green\",\n \"Greg\",\n \"Gregg\",\n \"Gregoria\",\n \"Gregorio\",\n \"Gregory\",\n \"Greta\",\n \"Gretchen\",\n \"Greyson\",\n \"Griffin\",\n \"Grover\",\n \"Guadalupe\",\n \"Gudrun\",\n \"Guido\",\n \"Guillermo\",\n \"Guiseppe\",\n \"Gunnar\",\n \"Gunner\",\n \"Gus\",\n \"Gussie\",\n \"Gust\",\n \"Gustave\",\n \"Guy\",\n \"Gwen\",\n \"Gwendolyn\",\n \"Hadley\",\n \"Hailee\",\n \"Hailey\",\n \"Hailie\",\n \"Hal\",\n \"Haleigh\",\n \"Haley\",\n \"Halie\",\n \"Halle\",\n \"Hallie\",\n \"Hank\",\n \"Hanna\",\n \"Hannah\",\n \"Hans\",\n \"Hardy\",\n \"Harley\",\n \"Harmon\",\n \"Harmony\",\n \"Harold\",\n \"Harrison\",\n \"Harry\",\n \"Harvey\",\n \"Haskell\",\n \"Hassan\",\n \"Hassie\",\n \"Hattie\",\n \"Haven\",\n \"Hayden\",\n \"Haylee\",\n \"Hayley\",\n \"Haylie\",\n \"Hazel\",\n \"Hazle\",\n \"Heath\",\n \"Heather\",\n \"Heaven\",\n \"Heber\",\n \"Hector\",\n \"Heidi\",\n \"Helen\",\n \"Helena\",\n \"Helene\",\n \"Helga\",\n \"Hellen\",\n \"Helmer\",\n \"Heloise\",\n \"Henderson\",\n \"Henri\",\n \"Henriette\",\n \"Henry\",\n \"Herbert\",\n \"Herman\",\n \"Hermann\",\n \"Hermina\",\n \"Herminia\",\n \"Herminio\",\n \"Hershel\",\n \"Herta\",\n \"Hertha\",\n \"Hester\",\n \"Hettie\",\n \"Hilario\",\n \"Hilbert\",\n \"Hilda\",\n \"Hildegard\",\n \"Hillard\",\n \"Hillary\",\n \"Hilma\",\n \"Hilton\",\n \"Hipolito\",\n \"Hiram\",\n \"Hobart\",\n \"Holden\",\n \"Hollie\",\n \"Hollis\",\n \"Holly\",\n \"Hope\",\n \"Horace\",\n \"Horacio\",\n \"Hortense\",\n \"Hosea\",\n \"Houston\",\n \"Howard\",\n \"Howell\",\n \"Hoyt\",\n \"Hubert\",\n \"Hudson\",\n \"Hugh\",\n \"Hulda\",\n \"Humberto\",\n \"Hunter\",\n \"Hyman\",\n \"Ian\",\n \"Ibrahim\",\n \"Icie\",\n \"Ida\",\n \"Idell\",\n \"Idella\",\n \"Ignacio\",\n \"Ignatius\",\n \"Ike\",\n \"Ila\",\n \"Ilene\",\n \"Iliana\",\n \"Ima\",\n \"Imani\",\n \"Imelda\",\n \"Immanuel\",\n \"Imogene\",\n \"Ines\",\n \"Irma\",\n \"Irving\",\n \"Irwin\",\n \"Isaac\",\n \"Isabel\",\n \"Isabell\",\n \"Isabella\",\n \"Isabelle\",\n \"Isac\",\n \"Isadore\",\n \"Isai\",\n \"Isaiah\",\n \"Isaias\",\n \"Isidro\",\n \"Ismael\",\n \"Isobel\",\n \"Isom\",\n \"Israel\",\n \"Issac\",\n \"Itzel\",\n \"Iva\",\n \"Ivah\",\n \"Ivory\",\n \"Ivy\",\n \"Izabella\",\n \"Izaiah\",\n \"Jabari\",\n \"Jace\",\n \"Jacey\",\n \"Jacinthe\",\n \"Jacinto\",\n \"Jack\",\n \"Jackeline\",\n \"Jackie\",\n \"Jacklyn\",\n \"Jackson\",\n \"Jacky\",\n \"Jaclyn\",\n \"Jacquelyn\",\n \"Jacques\",\n \"Jacynthe\",\n \"Jada\",\n \"Jade\",\n \"Jaden\",\n \"Jadon\",\n \"Jadyn\",\n \"Jaeden\",\n \"Jaida\",\n \"Jaiden\",\n \"Jailyn\",\n \"Jaime\",\n \"Jairo\",\n \"Jakayla\",\n \"Jake\",\n \"Jakob\",\n \"Jaleel\",\n \"Jalen\",\n \"Jalon\",\n \"Jalyn\",\n \"Jamaal\",\n \"Jamal\",\n \"Jamar\",\n \"Jamarcus\",\n \"Jamel\",\n \"Jameson\",\n \"Jamey\",\n \"Jamie\",\n \"Jamil\",\n \"Jamir\",\n \"Jamison\",\n \"Jammie\",\n \"Jan\",\n \"Jana\",\n \"Janae\",\n \"Jane\",\n \"Janelle\",\n \"Janessa\",\n \"Janet\",\n \"Janice\",\n \"Janick\",\n \"Janie\",\n \"Janis\",\n \"Janiya\",\n \"Jannie\",\n \"Jany\",\n \"Jaquan\",\n \"Jaquelin\",\n \"Jaqueline\",\n \"Jared\",\n \"Jaren\",\n \"Jarod\",\n \"Jaron\",\n \"Jarred\",\n \"Jarrell\",\n \"Jarret\",\n \"Jarrett\",\n \"Jarrod\",\n \"Jarvis\",\n \"Jasen\",\n \"Jasmin\",\n \"Jason\",\n \"Jasper\",\n \"Jaunita\",\n \"Javier\",\n \"Javon\",\n \"Javonte\",\n \"Jay\",\n \"Jayce\",\n \"Jaycee\",\n \"Jayda\",\n \"Jayde\",\n \"Jayden\",\n \"Jaydon\",\n \"Jaylan\",\n \"Jaylen\",\n \"Jaylin\",\n \"Jaylon\",\n \"Jayme\",\n \"Jayne\",\n \"Jayson\",\n \"Jazlyn\",\n \"Jazmin\",\n \"Jazmyn\",\n \"Jazmyne\",\n \"Jean\",\n \"Jeanette\",\n \"Jeanie\",\n \"Jeanne\",\n \"Jed\",\n \"Jedediah\",\n \"Jedidiah\",\n \"Jeff\",\n \"Jefferey\",\n \"Jeffery\",\n \"Jeffrey\",\n \"Jeffry\",\n \"Jena\",\n \"Jenifer\",\n \"Jennie\",\n \"Jennifer\",\n \"Jennings\",\n \"Jennyfer\",\n \"Jensen\",\n \"Jerad\",\n \"Jerald\",\n \"Jeramie\",\n \"Jeramy\",\n \"Jerel\",\n \"Jeremie\",\n \"Jeremy\",\n \"Jermain\",\n \"Jermaine\",\n \"Jermey\",\n \"Jerod\",\n \"Jerome\",\n \"Jeromy\",\n \"Jerrell\",\n \"Jerrod\",\n \"Jerrold\",\n \"Jerry\",\n \"Jess\",\n \"Jesse\",\n \"Jessica\",\n \"Jessie\",\n \"Jessika\",\n \"Jessy\",\n \"Jessyca\",\n \"Jesus\",\n \"Jett\",\n \"Jettie\",\n \"Jevon\",\n \"Jewel\",\n \"Jewell\",\n \"Jillian\",\n \"Jimmie\",\n \"Jimmy\",\n \"Jo\",\n \"Joan\",\n \"Joana\",\n \"Joanie\",\n \"Joanne\",\n \"Joannie\",\n \"Joanny\",\n \"Joany\",\n \"Joaquin\",\n \"Jocelyn\",\n \"Jodie\",\n \"Jody\",\n \"Joe\",\n \"Joel\",\n \"Joelle\",\n \"Joesph\",\n \"Joey\",\n \"Johan\",\n \"Johann\",\n \"Johanna\",\n \"Johathan\",\n \"John\",\n \"Johnathan\",\n \"Johnathon\",\n \"Johnnie\",\n \"Johnny\",\n \"Johnpaul\",\n \"Johnson\",\n \"Jolie\",\n \"Jon\",\n \"Jonas\",\n \"Jonatan\",\n \"Jonathan\",\n \"Jonathon\",\n \"Jordan\",\n \"Jordane\",\n \"Jordi\",\n \"Jordon\",\n \"Jordy\",\n \"Jordyn\",\n \"Jorge\",\n \"Jose\",\n \"Josefa\",\n \"Josefina\",\n \"Joseph\",\n \"Josephine\",\n \"Josh\",\n \"Joshua\",\n \"Joshuah\",\n \"Josiah\",\n \"Josiane\",\n \"Josianne\",\n \"Josie\",\n \"Josue\",\n \"Jovan\",\n \"Jovani\",\n \"Jovanny\",\n \"Jovany\",\n \"Joy\",\n \"Joyce\",\n \"Juana\",\n \"Juanita\",\n \"Judah\",\n \"Judd\",\n \"Jude\",\n \"Judge\",\n \"Judson\",\n \"Judy\",\n \"Jules\",\n \"Julia\",\n \"Julian\",\n \"Juliana\",\n \"Julianne\",\n \"Julie\",\n \"Julien\",\n \"Juliet\",\n \"Julio\",\n \"Julius\",\n \"June\",\n \"Junior\",\n \"Junius\",\n \"Justen\",\n \"Justice\",\n \"Justina\",\n \"Justine\",\n \"Juston\",\n \"Justus\",\n \"Justyn\",\n \"Juvenal\",\n \"Juwan\",\n \"Kacey\",\n \"Kaci\",\n \"Kacie\",\n \"Kade\",\n \"Kaden\",\n \"Kadin\",\n \"Kaela\",\n \"Kaelyn\",\n \"Kaia\",\n \"Kailee\",\n \"Kailey\",\n \"Kailyn\",\n \"Kaitlin\",\n \"Kaitlyn\",\n \"Kale\",\n \"Kaleb\",\n \"Kaleigh\",\n \"Kaley\",\n \"Kali\",\n \"Kallie\",\n \"Kameron\",\n \"Kamille\",\n \"Kamren\",\n \"Kamron\",\n \"Kamryn\",\n \"Kane\",\n \"Kara\",\n \"Kareem\",\n \"Karelle\",\n \"Karen\",\n \"Kari\",\n \"Kariane\",\n \"Karianne\",\n \"Karina\",\n \"Karine\",\n \"Karl\",\n \"Karlee\",\n \"Karley\",\n \"Karli\",\n \"Karlie\",\n \"Karolann\",\n \"Karson\",\n \"Kasandra\",\n \"Kasey\",\n \"Kassandra\",\n \"Katarina\",\n \"Katelin\",\n \"Katelyn\",\n \"Katelynn\",\n \"Katharina\",\n \"Katherine\",\n \"Katheryn\",\n \"Kathleen\",\n \"Kathlyn\",\n \"Kathryn\",\n \"Kathryne\",\n \"Katlyn\",\n \"Katlynn\",\n \"Katrina\",\n \"Katrine\",\n \"Kattie\",\n \"Kavon\",\n \"Kay\",\n \"Kaya\",\n \"Kaycee\",\n \"Kayden\",\n \"Kayla\",\n \"Kaylah\",\n \"Kaylee\",\n \"Kayleigh\",\n \"Kayley\",\n \"Kayli\",\n \"Kaylie\",\n \"Kaylin\",\n \"Keagan\",\n \"Keanu\",\n \"Keara\",\n \"Keaton\",\n \"Keegan\",\n \"Keeley\",\n \"Keely\",\n \"Keenan\",\n \"Keira\",\n \"Keith\",\n \"Kellen\",\n \"Kelley\",\n \"Kelli\",\n \"Kellie\",\n \"Kelly\",\n \"Kelsi\",\n \"Kelsie\",\n \"Kelton\",\n \"Kelvin\",\n \"Ken\",\n \"Kendall\",\n \"Kendra\",\n \"Kendrick\",\n \"Kenna\",\n \"Kennedi\",\n \"Kennedy\",\n \"Kenneth\",\n \"Kennith\",\n \"Kenny\",\n \"Kenton\",\n \"Kenya\",\n \"Kenyatta\",\n \"Kenyon\",\n \"Keon\",\n \"Keshaun\",\n \"Keshawn\",\n \"Keven\",\n \"Kevin\",\n \"Kevon\",\n \"Keyon\",\n \"Keyshawn\",\n \"Khalid\",\n \"Khalil\",\n \"Kian\",\n \"Kiana\",\n \"Kianna\",\n \"Kiara\",\n \"Kiarra\",\n \"Kiel\",\n \"Kiera\",\n \"Kieran\",\n \"Kiley\",\n \"Kim\",\n \"Kimberly\",\n \"King\",\n \"Kip\",\n \"Kira\",\n \"Kirk\",\n \"Kirsten\",\n \"Kirstin\",\n \"Kitty\",\n \"Kobe\",\n \"Koby\",\n \"Kody\",\n \"Kolby\",\n \"Kole\",\n \"Korbin\",\n \"Korey\",\n \"Kory\",\n \"Kraig\",\n \"Kris\",\n \"Krista\",\n \"Kristian\",\n \"Kristin\",\n \"Kristina\",\n \"Kristofer\",\n \"Kristoffer\",\n \"Kristopher\",\n \"Kristy\",\n \"Krystal\",\n \"Krystel\",\n \"Krystina\",\n \"Kurt\",\n \"Kurtis\",\n \"Kyla\",\n \"Kyle\",\n \"Kylee\",\n \"Kyleigh\",\n \"Kyler\",\n \"Kylie\",\n \"Kyra\",\n \"Lacey\",\n \"Lacy\",\n \"Ladarius\",\n \"Lafayette\",\n \"Laila\",\n \"Laisha\",\n \"Lamar\",\n \"Lambert\",\n \"Lamont\",\n \"Lance\",\n \"Landen\",\n \"Lane\",\n \"Laney\",\n \"Larissa\",\n \"Laron\",\n \"Larry\",\n \"Larue\",\n \"Laura\",\n \"Laurel\",\n \"Lauren\",\n \"Laurence\",\n \"Lauretta\",\n \"Lauriane\",\n \"Laurianne\",\n \"Laurie\",\n \"Laurine\",\n \"Laury\",\n \"Lauryn\",\n \"Lavada\",\n \"Lavern\",\n \"Laverna\",\n \"Laverne\",\n \"Lavina\",\n \"Lavinia\",\n \"Lavon\",\n \"Lavonne\",\n \"Lawrence\",\n \"Lawson\",\n \"Layla\",\n \"Layne\",\n \"Lazaro\",\n \"Lea\",\n \"Leann\",\n \"Leanna\",\n \"Leanne\",\n \"Leatha\",\n \"Leda\",\n \"Lee\",\n \"Leif\",\n \"Leila\",\n \"Leilani\",\n \"Lela\",\n \"Lelah\",\n \"Leland\",\n \"Lelia\",\n \"Lempi\",\n \"Lemuel\",\n \"Lenna\",\n \"Lennie\",\n \"Lenny\",\n \"Lenora\",\n \"Lenore\",\n \"Leo\",\n \"Leola\",\n \"Leon\",\n \"Leonard\",\n \"Leonardo\",\n \"Leone\",\n \"Leonel\",\n \"Leonie\",\n \"Leonor\",\n \"Leonora\",\n \"Leopold\",\n \"Leopoldo\",\n \"Leora\",\n \"Lera\",\n \"Lesley\",\n \"Leslie\",\n \"Lesly\",\n \"Lessie\",\n \"Lester\",\n \"Leta\",\n \"Letha\",\n \"Letitia\",\n \"Levi\",\n \"Lew\",\n \"Lewis\",\n \"Lexi\",\n \"Lexie\",\n \"Lexus\",\n \"Lia\",\n \"Liam\",\n \"Liana\",\n \"Libbie\",\n \"Libby\",\n \"Lila\",\n \"Lilian\",\n \"Liliana\",\n \"Liliane\",\n \"Lilla\",\n \"Lillian\",\n \"Lilliana\",\n \"Lillie\",\n \"Lilly\",\n \"Lily\",\n \"Lilyan\",\n \"Lina\",\n \"Lincoln\",\n \"Linda\",\n \"Lindsay\",\n \"Lindsey\",\n \"Linnea\",\n \"Linnie\",\n \"Linwood\",\n \"Lionel\",\n \"Lisa\",\n \"Lisandro\",\n \"Lisette\",\n \"Litzy\",\n \"Liza\",\n \"Lizeth\",\n \"Lizzie\",\n \"Llewellyn\",\n \"Lloyd\",\n \"Logan\",\n \"Lois\",\n \"Lola\",\n \"Lolita\",\n \"Loma\",\n \"Lon\",\n \"London\",\n \"Lonie\",\n \"Lonnie\",\n \"Lonny\",\n \"Lonzo\",\n \"Lora\",\n \"Loraine\",\n \"Loren\",\n \"Lorena\",\n \"Lorenz\",\n \"Lorenza\",\n \"Lorenzo\",\n \"Lori\",\n \"Lorine\",\n \"Lorna\",\n \"Lottie\",\n \"Lou\",\n \"Louie\",\n \"Louisa\",\n \"Lourdes\",\n \"Louvenia\",\n \"Lowell\",\n \"Loy\",\n \"Loyal\",\n \"Loyce\",\n \"Lucas\",\n \"Luciano\",\n \"Lucie\",\n \"Lucienne\",\n \"Lucile\",\n \"Lucinda\",\n \"Lucio\",\n \"Lucious\",\n \"Lucius\",\n \"Lucy\",\n \"Ludie\",\n \"Ludwig\",\n \"Lue\",\n \"Luella\",\n \"Luigi\",\n \"Luis\",\n \"Luisa\",\n \"Lukas\",\n \"Lula\",\n \"Lulu\",\n \"Luna\",\n \"Lupe\",\n \"Lura\",\n \"Lurline\",\n \"Luther\",\n \"Luz\",\n \"Lyda\",\n \"Lydia\",\n \"Lyla\",\n \"Lynn\",\n \"Lyric\",\n \"Lysanne\",\n \"Mabel\",\n \"Mabelle\",\n \"Mable\",\n \"Mac\",\n \"Macey\",\n \"Maci\",\n \"Macie\",\n \"Mack\",\n \"Mackenzie\",\n \"Macy\",\n \"Madaline\",\n \"Madalyn\",\n \"Maddison\",\n \"Madeline\",\n \"Madelyn\",\n \"Madelynn\",\n \"Madge\",\n \"Madie\",\n \"Madilyn\",\n \"Madisen\",\n \"Madison\",\n \"Madisyn\",\n \"Madonna\",\n \"Madyson\",\n \"Mae\",\n \"Maegan\",\n \"Maeve\",\n \"Mafalda\",\n \"Magali\",\n \"Magdalen\",\n \"Magdalena\",\n \"Maggie\",\n \"Magnolia\",\n \"Magnus\",\n \"Maia\",\n \"Maida\",\n \"Maiya\",\n \"Major\",\n \"Makayla\",\n \"Makenna\",\n \"Makenzie\",\n \"Malachi\",\n \"Malcolm\",\n \"Malika\",\n \"Malinda\",\n \"Mallie\",\n \"Mallory\",\n \"Malvina\",\n \"Mandy\",\n \"Manley\",\n \"Manuel\",\n \"Manuela\",\n \"Mara\",\n \"Marc\",\n \"Marcel\",\n \"Marcelina\",\n \"Marcelino\",\n \"Marcella\",\n \"Marcelle\",\n \"Marcellus\",\n \"Marcelo\",\n \"Marcia\",\n \"Marco\",\n \"Marcos\",\n \"Marcus\",\n \"Margaret\",\n \"Margarete\",\n \"Margarett\",\n \"Margaretta\",\n \"Margarette\",\n \"Margarita\",\n \"Marge\",\n \"Margie\",\n \"Margot\",\n \"Margret\",\n \"Marguerite\",\n \"Maria\",\n \"Mariah\",\n \"Mariam\",\n \"Marian\",\n \"Mariana\",\n \"Mariane\",\n \"Marianna\",\n \"Marianne\",\n \"Mariano\",\n \"Maribel\",\n \"Marie\",\n \"Mariela\",\n \"Marielle\",\n \"Marietta\",\n \"Marilie\",\n \"Marilou\",\n \"Marilyne\",\n \"Marina\",\n \"Mario\",\n \"Marion\",\n \"Marisa\",\n \"Marisol\",\n \"Maritza\",\n \"Marjolaine\",\n \"Marjorie\",\n \"Marjory\",\n \"Mark\",\n \"Markus\",\n \"Marlee\",\n \"Marlen\",\n \"Marlene\",\n \"Marley\",\n \"Marlin\",\n \"Marlon\",\n \"Marques\",\n \"Marquis\",\n \"Marquise\",\n \"Marshall\",\n \"Marta\",\n \"Martin\",\n \"Martina\",\n \"Martine\",\n \"Marty\",\n \"Marvin\",\n \"Mary\",\n \"Maryam\",\n \"Maryjane\",\n \"Maryse\",\n \"Mason\",\n \"Mateo\",\n \"Mathew\",\n \"Mathias\",\n \"Mathilde\",\n \"Matilda\",\n \"Matilde\",\n \"Matt\",\n \"Matteo\",\n \"Mattie\",\n \"Maud\",\n \"Maude\",\n \"Maudie\",\n \"Maureen\",\n \"Maurice\",\n \"Mauricio\",\n \"Maurine\",\n \"Maverick\",\n \"Mavis\",\n \"Max\",\n \"Maxie\",\n \"Maxime\",\n \"Maximilian\",\n \"Maximillia\",\n \"Maximillian\",\n \"Maximo\",\n \"Maximus\",\n \"Maxine\",\n \"Maxwell\",\n \"May\",\n \"Maya\",\n \"Maybell\",\n \"Maybelle\",\n \"Maye\",\n \"Maymie\",\n \"Maynard\",\n \"Mayra\",\n \"Mazie\",\n \"Mckayla\",\n \"Mckenna\",\n \"Mckenzie\",\n \"Meagan\",\n \"Meaghan\",\n \"Meda\",\n \"Megane\",\n \"Meggie\",\n \"Meghan\",\n \"Mekhi\",\n \"Melany\",\n \"Melba\",\n \"Melisa\",\n \"Melissa\",\n \"Mellie\",\n \"Melody\",\n \"Melvin\",\n \"Melvina\",\n \"Melyna\",\n \"Melyssa\",\n \"Mercedes\",\n \"Meredith\",\n \"Merl\",\n \"Merle\",\n \"Merlin\",\n \"Merritt\",\n \"Mertie\",\n \"Mervin\",\n \"Meta\",\n \"Mia\",\n \"Micaela\",\n \"Micah\",\n \"Michael\",\n \"Michaela\",\n \"Michale\",\n \"Micheal\",\n \"Michel\",\n \"Michele\",\n \"Michelle\",\n \"Miguel\",\n \"Mikayla\",\n \"Mike\",\n \"Mikel\",\n \"Milan\",\n \"Miles\",\n \"Milford\",\n \"Miller\",\n \"Millie\",\n \"Milo\",\n \"Milton\",\n \"Mina\",\n \"Minerva\",\n \"Minnie\",\n \"Miracle\",\n \"Mireille\",\n \"Mireya\",\n \"Misael\",\n \"Missouri\",\n \"Misty\",\n \"Mitchel\",\n \"Mitchell\",\n \"Mittie\",\n \"Modesta\",\n \"Modesto\",\n \"Mohamed\",\n \"Mohammad\",\n \"Mohammed\",\n \"Moises\",\n \"Mollie\",\n \"Molly\",\n \"Mona\",\n \"Monica\",\n \"Monique\",\n \"Monroe\",\n \"Monserrat\",\n \"Monserrate\",\n \"Montana\",\n \"Monte\",\n \"Monty\",\n \"Morgan\",\n \"Moriah\",\n \"Morris\",\n \"Mortimer\",\n \"Morton\",\n \"Mose\",\n \"Moses\",\n \"Moshe\",\n \"Mossie\",\n \"Mozell\",\n \"Mozelle\",\n \"Muhammad\",\n \"Muriel\",\n \"Murl\",\n \"Murphy\",\n \"Murray\",\n \"Mustafa\",\n \"Mya\",\n \"Myah\",\n \"Mylene\",\n \"Myles\",\n \"Myra\",\n \"Myriam\",\n \"Myrl\",\n \"Myrna\",\n \"Myron\",\n \"Myrtice\",\n \"Myrtie\",\n \"Myrtis\",\n \"Myrtle\",\n \"Nadia\",\n \"Nakia\",\n \"Name\",\n \"Nannie\",\n \"Naomi\",\n \"Naomie\",\n \"Napoleon\",\n \"Narciso\",\n \"Nash\",\n \"Nasir\",\n \"Nat\",\n \"Natalia\",\n \"Natalie\",\n \"Natasha\",\n \"Nathan\",\n \"Nathanael\",\n \"Nathanial\",\n \"Nathaniel\",\n \"Nathen\",\n \"Nayeli\",\n \"Neal\",\n \"Ned\",\n \"Nedra\",\n \"Neha\",\n \"Neil\",\n \"Nelda\",\n \"Nella\",\n \"Nelle\",\n \"Nellie\",\n \"Nels\",\n \"Nelson\",\n \"Neoma\",\n \"Nestor\",\n \"Nettie\",\n \"Neva\",\n \"Newell\",\n \"Newton\",\n \"Nia\",\n \"Nicholas\",\n \"Nicholaus\",\n \"Nichole\",\n \"Nick\",\n \"Nicklaus\",\n \"Nickolas\",\n \"Nico\",\n \"Nicola\",\n \"Nicolas\",\n \"Nicole\",\n \"Nicolette\",\n \"Nigel\",\n \"Nikita\",\n \"Nikki\",\n \"Nikko\",\n \"Niko\",\n \"Nikolas\",\n \"Nils\",\n \"Nina\",\n \"Noah\",\n \"Noble\",\n \"Noe\",\n \"Noel\",\n \"Noelia\",\n \"Noemi\",\n \"Noemie\",\n \"Noemy\",\n \"Nola\",\n \"Nolan\",\n \"Nona\",\n \"Nora\",\n \"Norbert\",\n \"Norberto\",\n \"Norene\",\n \"Norma\",\n \"Norris\",\n \"Norval\",\n \"Norwood\",\n \"Nova\",\n \"Novella\",\n \"Nya\",\n \"Nyah\",\n \"Nyasia\",\n \"Obie\",\n \"Oceane\",\n \"Ocie\",\n \"Octavia\",\n \"Oda\",\n \"Odell\",\n \"Odessa\",\n \"Odie\",\n \"Ofelia\",\n \"Okey\",\n \"Ola\",\n \"Olaf\",\n \"Ole\",\n \"Olen\",\n \"Oleta\",\n \"Olga\",\n \"Olin\",\n \"Oliver\",\n \"Ollie\",\n \"Oma\",\n \"Omari\",\n \"Omer\",\n \"Ona\",\n \"Onie\",\n \"Opal\",\n \"Ophelia\",\n \"Ora\",\n \"Oral\",\n \"Oran\",\n \"Oren\",\n \"Orie\",\n \"Orin\",\n \"Orion\",\n \"Orland\",\n \"Orlando\",\n \"Orlo\",\n \"Orpha\",\n \"Orrin\",\n \"Orval\",\n \"Orville\",\n \"Osbaldo\",\n \"Osborne\",\n \"Oscar\",\n \"Osvaldo\",\n \"Oswald\",\n \"Oswaldo\",\n \"Otha\",\n \"Otho\",\n \"Otilia\",\n \"Otis\",\n \"Ottilie\",\n \"Ottis\",\n \"Otto\",\n \"Ova\",\n \"Owen\",\n \"Ozella\",\n \"Pablo\",\n \"Paige\",\n \"Palma\",\n \"Pamela\",\n \"Pansy\",\n \"Paolo\",\n \"Paris\",\n \"Parker\",\n \"Pascale\",\n \"Pasquale\",\n \"Pat\",\n \"Patience\",\n \"Patricia\",\n \"Patrick\",\n \"Patsy\",\n \"Pattie\",\n \"Paul\",\n \"Paula\",\n \"Pauline\",\n \"Paxton\",\n \"Payton\",\n \"Pearl\",\n \"Pearlie\",\n \"Pearline\",\n \"Pedro\",\n \"Peggie\",\n \"Penelope\",\n \"Percival\",\n \"Percy\",\n \"Perry\",\n \"Pete\",\n \"Peter\",\n \"Petra\",\n \"Peyton\",\n \"Philip\",\n \"Phoebe\",\n \"Phyllis\",\n \"Pierce\",\n \"Pierre\",\n \"Pietro\",\n \"Pink\",\n \"Pinkie\",\n \"Piper\",\n \"Polly\",\n \"Porter\",\n \"Precious\",\n \"Presley\",\n \"Preston\",\n \"Price\",\n \"Prince\",\n \"Princess\",\n \"Priscilla\",\n \"Providenci\",\n \"Prudence\",\n \"Queen\",\n \"Queenie\",\n \"Quentin\",\n \"Quincy\",\n \"Quinn\",\n \"Quinten\",\n \"Quinton\",\n \"Rachael\",\n \"Rachel\",\n \"Rachelle\",\n \"Rae\",\n \"Raegan\",\n \"Rafael\",\n \"Rafaela\",\n \"Raheem\",\n \"Rahsaan\",\n \"Rahul\",\n \"Raina\",\n \"Raleigh\",\n \"Ralph\",\n \"Ramiro\",\n \"Ramon\",\n \"Ramona\",\n \"Randal\",\n \"Randall\",\n \"Randi\",\n \"Randy\",\n \"Ransom\",\n \"Raoul\",\n \"Raphael\",\n \"Raphaelle\",\n \"Raquel\",\n \"Rashad\",\n \"Rashawn\",\n \"Rasheed\",\n \"Raul\",\n \"Raven\",\n \"Ray\",\n \"Raymond\",\n \"Raymundo\",\n \"Reagan\",\n \"Reanna\",\n \"Reba\",\n \"Rebeca\",\n \"Rebecca\",\n \"Rebeka\",\n \"Rebekah\",\n \"Reece\",\n \"Reed\",\n \"Reese\",\n \"Regan\",\n \"Reggie\",\n \"Reginald\",\n \"Reid\",\n \"Reilly\",\n \"Reina\",\n \"Reinhold\",\n \"Remington\",\n \"Rene\",\n \"Renee\",\n \"Ressie\",\n \"Reta\",\n \"Retha\",\n \"Retta\",\n \"Reuben\",\n \"Reva\",\n \"Rex\",\n \"Rey\",\n \"Reyes\",\n \"Reymundo\",\n \"Reyna\",\n \"Reynold\",\n \"Rhea\",\n \"Rhett\",\n \"Rhianna\",\n \"Rhiannon\",\n \"Rhoda\",\n \"Ricardo\",\n \"Richard\",\n \"Richie\",\n \"Richmond\",\n \"Rick\",\n \"Rickey\",\n \"Rickie\",\n \"Ricky\",\n \"Rico\",\n \"Rigoberto\",\n \"Riley\",\n \"Rita\",\n \"River\",\n \"Robb\",\n \"Robbie\",\n \"Robert\",\n \"Roberta\",\n \"Roberto\",\n \"Robin\",\n \"Robyn\",\n \"Rocio\",\n \"Rocky\",\n \"Rod\",\n \"Roderick\",\n \"Rodger\",\n \"Rodolfo\",\n \"Rodrick\",\n \"Rodrigo\",\n \"Roel\",\n \"Rogelio\",\n \"Roger\",\n \"Rogers\",\n \"Rolando\",\n \"Rollin\",\n \"Roma\",\n \"Romaine\",\n \"Roman\",\n \"Ron\",\n \"Ronaldo\",\n \"Ronny\",\n \"Roosevelt\",\n \"Rory\",\n \"Rosa\",\n \"Rosalee\",\n \"Rosalia\",\n \"Rosalind\",\n \"Rosalinda\",\n \"Rosalyn\",\n \"Rosamond\",\n \"Rosanna\",\n \"Rosario\",\n \"Roscoe\",\n \"Rose\",\n \"Rosella\",\n \"Roselyn\",\n \"Rosemarie\",\n \"Rosemary\",\n \"Rosendo\",\n \"Rosetta\",\n \"Rosie\",\n \"Rosina\",\n \"Roslyn\",\n \"Ross\",\n \"Rossie\",\n \"Rowan\",\n \"Rowena\",\n \"Rowland\",\n \"Roxane\",\n \"Roxanne\",\n \"Roy\",\n \"Royal\",\n \"Royce\",\n \"Rozella\",\n \"Ruben\",\n \"Rubie\",\n \"Ruby\",\n \"Rubye\",\n \"Rudolph\",\n \"Rudy\",\n \"Rupert\",\n \"Russ\",\n \"Russel\",\n \"Russell\",\n \"Rusty\",\n \"Ruth\",\n \"Ruthe\",\n \"Ruthie\",\n \"Ryan\",\n \"Ryann\",\n \"Ryder\",\n \"Rylan\",\n \"Rylee\",\n \"Ryleigh\",\n \"Ryley\",\n \"Sabina\",\n \"Sabrina\",\n \"Sabryna\",\n \"Sadie\",\n \"Sadye\",\n \"Sage\",\n \"Saige\",\n \"Sallie\",\n \"Sally\",\n \"Salma\",\n \"Salvador\",\n \"Salvatore\",\n \"Sam\",\n \"Samanta\",\n \"Samantha\",\n \"Samara\",\n \"Samir\",\n \"Sammie\",\n \"Sammy\",\n \"Samson\",\n \"Sandra\",\n \"Sandrine\",\n \"Sandy\",\n \"Sanford\",\n \"Santa\",\n \"Santiago\",\n \"Santina\",\n \"Santino\",\n \"Santos\",\n \"Sarah\",\n \"Sarai\",\n \"Sarina\",\n \"Sasha\",\n \"Saul\",\n \"Savanah\",\n \"Savanna\",\n \"Savannah\",\n \"Savion\",\n \"Scarlett\",\n \"Schuyler\",\n \"Scot\",\n \"Scottie\",\n \"Scotty\",\n \"Seamus\",\n \"Sean\",\n \"Sebastian\",\n \"Sedrick\",\n \"Selena\",\n \"Selina\",\n \"Selmer\",\n \"Serena\",\n \"Serenity\",\n \"Seth\",\n \"Shad\",\n \"Shaina\",\n \"Shakira\",\n \"Shana\",\n \"Shane\",\n \"Shanel\",\n \"Shanelle\",\n \"Shania\",\n \"Shanie\",\n \"Shaniya\",\n \"Shanna\",\n \"Shannon\",\n \"Shanny\",\n \"Shanon\",\n \"Shany\",\n \"Sharon\",\n \"Shaun\",\n \"Shawn\",\n \"Shawna\",\n \"Shaylee\",\n \"Shayna\",\n \"Shayne\",\n \"Shea\",\n \"Sheila\",\n \"Sheldon\",\n \"Shemar\",\n \"Sheridan\",\n \"Sherman\",\n \"Sherwood\",\n \"Shirley\",\n \"Shyann\",\n \"Shyanne\",\n \"Sibyl\",\n \"Sid\",\n \"Sidney\",\n \"Sienna\",\n \"Sierra\",\n \"Sigmund\",\n \"Sigrid\",\n \"Sigurd\",\n \"Silas\",\n \"Sim\",\n \"Simeon\",\n \"Simone\",\n \"Sincere\",\n \"Sister\",\n \"Skye\",\n \"Skyla\",\n \"Skylar\",\n \"Sofia\",\n \"Soledad\",\n \"Solon\",\n \"Sonia\",\n \"Sonny\",\n \"Sonya\",\n \"Sophia\",\n \"Sophie\",\n \"Spencer\",\n \"Stacey\",\n \"Stacy\",\n \"Stan\",\n \"Stanford\",\n \"Stanley\",\n \"Stanton\",\n \"Stefan\",\n \"Stefanie\",\n \"Stella\",\n \"Stephan\",\n \"Stephania\",\n \"Stephanie\",\n \"Stephany\",\n \"Stephen\",\n \"Stephon\",\n \"Sterling\",\n \"Steve\",\n \"Stevie\",\n \"Stewart\",\n \"Stone\",\n \"Stuart\",\n \"Summer\",\n \"Sunny\",\n \"Susan\",\n \"Susana\",\n \"Susanna\",\n \"Susie\",\n \"Suzanne\",\n \"Sven\",\n \"Syble\",\n \"Sydnee\",\n \"Sydney\",\n \"Sydni\",\n \"Sydnie\",\n \"Sylvan\",\n \"Sylvester\",\n \"Sylvia\",\n \"Tabitha\",\n \"Tad\",\n \"Talia\",\n \"Talon\",\n \"Tamara\",\n \"Tamia\",\n \"Tania\",\n \"Tanner\",\n \"Tanya\",\n \"Tara\",\n \"Taryn\",\n \"Tate\",\n \"Tatum\",\n \"Tatyana\",\n \"Taurean\",\n \"Tavares\",\n \"Taya\",\n \"Taylor\",\n \"Teagan\",\n \"Ted\",\n \"Telly\",\n \"Terence\",\n \"Teresa\",\n \"Terrance\",\n \"Terrell\",\n \"Terrence\",\n \"Terrill\",\n \"Terry\",\n \"Tess\",\n \"Tessie\",\n \"Tevin\",\n \"Thad\",\n \"Thaddeus\",\n \"Thalia\",\n \"Thea\",\n \"Thelma\",\n \"Theo\",\n \"Theodora\",\n \"Theodore\",\n \"Theresa\",\n \"Therese\",\n \"Theresia\",\n \"Theron\",\n \"Thomas\",\n \"Thora\",\n \"Thurman\",\n \"Tia\",\n \"Tiana\",\n \"Tianna\",\n \"Tiara\",\n \"Tierra\",\n \"Tiffany\",\n \"Tillman\",\n \"Timmothy\",\n \"Timmy\",\n \"Timothy\",\n \"Tina\",\n \"Tito\",\n \"Titus\",\n \"Tobin\",\n \"Toby\",\n \"Tod\",\n \"Tom\",\n \"Tomas\",\n \"Tomasa\",\n \"Tommie\",\n \"Toney\",\n \"Toni\",\n \"Tony\",\n \"Torey\",\n \"Torrance\",\n \"Torrey\",\n \"Toy\",\n \"Trace\",\n \"Tracey\",\n \"Tracy\",\n \"Travis\",\n \"Travon\",\n \"Tre\",\n \"Tremaine\",\n \"Tremayne\",\n \"Trent\",\n \"Trenton\",\n \"Tressa\",\n \"Tressie\",\n \"Treva\",\n \"Trever\",\n \"Trevion\",\n \"Trevor\",\n \"Trey\",\n \"Trinity\",\n \"Trisha\",\n \"Tristian\",\n \"Tristin\",\n \"Triston\",\n \"Troy\",\n \"Trudie\",\n \"Trycia\",\n \"Trystan\",\n \"Turner\",\n \"Twila\",\n \"Tyler\",\n \"Tyra\",\n \"Tyree\",\n \"Tyreek\",\n \"Tyrel\",\n \"Tyrell\",\n \"Tyrese\",\n \"Tyrique\",\n \"Tyshawn\",\n \"Tyson\",\n \"Ubaldo\",\n \"Ulices\",\n \"Ulises\",\n \"Una\",\n \"Unique\",\n \"Urban\",\n \"Uriah\",\n \"Uriel\",\n \"Ursula\",\n \"Vada\",\n \"Valentin\",\n \"Valentina\",\n \"Valentine\",\n \"Valerie\",\n \"Vallie\",\n \"Van\",\n \"Vance\",\n \"Vanessa\",\n \"Vaughn\",\n \"Veda\",\n \"Velda\",\n \"Vella\",\n \"Velma\",\n \"Velva\",\n \"Vena\",\n \"Verda\",\n \"Verdie\",\n \"Vergie\",\n \"Verla\",\n \"Verlie\",\n \"Vern\",\n \"Verna\",\n \"Verner\",\n \"Vernice\",\n \"Vernie\",\n \"Vernon\",\n \"Verona\",\n \"Veronica\",\n \"Vesta\",\n \"Vicenta\",\n \"Vicente\",\n \"Vickie\",\n \"Vicky\",\n \"Victor\",\n \"Victoria\",\n \"Vida\",\n \"Vidal\",\n \"Vilma\",\n \"Vince\",\n \"Vincent\",\n \"Vincenza\",\n \"Vincenzo\",\n \"Vinnie\",\n \"Viola\",\n \"Violet\",\n \"Violette\",\n \"Virgie\",\n \"Virgil\",\n \"Virginia\",\n \"Virginie\",\n \"Vita\",\n \"Vito\",\n \"Viva\",\n \"Vivian\",\n \"Viviane\",\n \"Vivianne\",\n \"Vivien\",\n \"Vivienne\",\n \"Vladimir\",\n \"Wade\",\n \"Waino\",\n \"Waldo\",\n \"Walker\",\n \"Wallace\",\n \"Walter\",\n \"Walton\",\n \"Wanda\",\n \"Ward\",\n \"Warren\",\n \"Watson\",\n \"Wava\",\n \"Waylon\",\n \"Wayne\",\n \"Webster\",\n \"Weldon\",\n \"Wellington\",\n \"Wendell\",\n \"Wendy\",\n \"Werner\",\n \"Westley\",\n \"Weston\",\n \"Whitney\",\n \"Wilber\",\n \"Wilbert\",\n \"Wilburn\",\n \"Wiley\",\n \"Wilford\",\n \"Wilfred\",\n \"Wilfredo\",\n \"Wilfrid\",\n \"Wilhelm\",\n \"Wilhelmine\",\n \"Will\",\n \"Willa\",\n \"Willard\",\n \"William\",\n \"Willie\",\n \"Willis\",\n \"Willow\",\n \"Willy\",\n \"Wilma\",\n \"Wilmer\",\n \"Wilson\",\n \"Wilton\",\n \"Winfield\",\n \"Winifred\",\n \"Winnifred\",\n \"Winona\",\n \"Winston\",\n \"Woodrow\",\n \"Wyatt\",\n \"Wyman\",\n \"Xander\",\n \"Xavier\",\n \"Xzavier\",\n \"Yadira\",\n \"Yasmeen\",\n \"Yasmin\",\n \"Yasmine\",\n \"Yazmin\",\n \"Yesenia\",\n \"Yessenia\",\n \"Yolanda\",\n \"Yoshiko\",\n \"Yvette\",\n \"Yvonne\",\n \"Zachariah\",\n \"Zachary\",\n \"Zachery\",\n \"Zack\",\n \"Zackary\",\n \"Zackery\",\n \"Zakary\",\n \"Zander\",\n \"Zane\",\n \"Zaria\",\n \"Zechariah\",\n \"Zelda\",\n \"Zella\",\n \"Zelma\",\n \"Zena\",\n \"Zetta\",\n \"Zion\",\n \"Zita\",\n \"Zoe\",\n \"Zoey\",\n \"Zoie\",\n \"Zoila\",\n \"Zola\",\n \"Zora\",\n \"Zula\"\n];\n","module[\"exports\"] = [\n \"Abbott\",\n \"Abernathy\",\n \"Abshire\",\n \"Adams\",\n \"Altenwerth\",\n \"Anderson\",\n \"Ankunding\",\n \"Armstrong\",\n \"Auer\",\n \"Aufderhar\",\n \"Bahringer\",\n \"Bailey\",\n \"Balistreri\",\n \"Barrows\",\n \"Bartell\",\n \"Bartoletti\",\n \"Barton\",\n \"Bashirian\",\n \"Batz\",\n \"Bauch\",\n \"Baumbach\",\n \"Bayer\",\n \"Beahan\",\n \"Beatty\",\n \"Bechtelar\",\n \"Becker\",\n \"Bednar\",\n \"Beer\",\n \"Beier\",\n \"Berge\",\n \"Bergnaum\",\n \"Bergstrom\",\n \"Bernhard\",\n \"Bernier\",\n \"Bins\",\n \"Blanda\",\n \"Blick\",\n \"Block\",\n \"Bode\",\n \"Boehm\",\n \"Bogan\",\n \"Bogisich\",\n \"Borer\",\n \"Bosco\",\n \"Botsford\",\n \"Boyer\",\n \"Boyle\",\n \"Bradtke\",\n \"Brakus\",\n \"Braun\",\n \"Breitenberg\",\n \"Brekke\",\n \"Brown\",\n \"Bruen\",\n \"Buckridge\",\n \"Carroll\",\n \"Carter\",\n \"Cartwright\",\n \"Casper\",\n \"Cassin\",\n \"Champlin\",\n \"Christiansen\",\n \"Cole\",\n \"Collier\",\n \"Collins\",\n \"Conn\",\n \"Connelly\",\n \"Conroy\",\n \"Considine\",\n \"Corkery\",\n \"Cormier\",\n \"Corwin\",\n \"Cremin\",\n \"Crist\",\n \"Crona\",\n \"Cronin\",\n \"Crooks\",\n \"Cruickshank\",\n \"Cummerata\",\n \"Cummings\",\n \"Dach\",\n \"D'Amore\",\n \"Daniel\",\n \"Dare\",\n \"Daugherty\",\n \"Davis\",\n \"Deckow\",\n \"Denesik\",\n \"Dibbert\",\n \"Dickens\",\n \"Dicki\",\n \"Dickinson\",\n \"Dietrich\",\n \"Donnelly\",\n \"Dooley\",\n \"Douglas\",\n \"Doyle\",\n \"DuBuque\",\n \"Durgan\",\n \"Ebert\",\n \"Effertz\",\n \"Emard\",\n \"Emmerich\",\n \"Erdman\",\n \"Ernser\",\n \"Fadel\",\n \"Fahey\",\n \"Farrell\",\n \"Fay\",\n \"Feeney\",\n \"Feest\",\n \"Feil\",\n \"Ferry\",\n \"Fisher\",\n \"Flatley\",\n \"Frami\",\n \"Franecki\",\n \"Friesen\",\n \"Fritsch\",\n \"Funk\",\n \"Gaylord\",\n \"Gerhold\",\n \"Gerlach\",\n \"Gibson\",\n \"Gislason\",\n \"Gleason\",\n \"Gleichner\",\n \"Glover\",\n \"Goldner\",\n \"Goodwin\",\n \"Gorczany\",\n \"Gottlieb\",\n \"Goyette\",\n \"Grady\",\n \"Graham\",\n \"Grant\",\n \"Green\",\n \"Greenfelder\",\n \"Greenholt\",\n \"Grimes\",\n \"Gulgowski\",\n \"Gusikowski\",\n \"Gutkowski\",\n \"Gutmann\",\n \"Haag\",\n \"Hackett\",\n \"Hagenes\",\n \"Hahn\",\n \"Haley\",\n \"Halvorson\",\n \"Hamill\",\n \"Hammes\",\n \"Hand\",\n \"Hane\",\n \"Hansen\",\n \"Harber\",\n \"Harris\",\n \"Hartmann\",\n \"Harvey\",\n \"Hauck\",\n \"Hayes\",\n \"Heaney\",\n \"Heathcote\",\n \"Hegmann\",\n \"Heidenreich\",\n \"Heller\",\n \"Herman\",\n \"Hermann\",\n \"Hermiston\",\n \"Herzog\",\n \"Hessel\",\n \"Hettinger\",\n \"Hickle\",\n \"Hilll\",\n \"Hills\",\n \"Hilpert\",\n \"Hintz\",\n \"Hirthe\",\n \"Hodkiewicz\",\n \"Hoeger\",\n \"Homenick\",\n \"Hoppe\",\n \"Howe\",\n \"Howell\",\n \"Hudson\",\n \"Huel\",\n \"Huels\",\n \"Hyatt\",\n \"Jacobi\",\n \"Jacobs\",\n \"Jacobson\",\n \"Jakubowski\",\n \"Jaskolski\",\n \"Jast\",\n \"Jenkins\",\n \"Jerde\",\n \"Johns\",\n \"Johnson\",\n \"Johnston\",\n \"Jones\",\n \"Kassulke\",\n \"Kautzer\",\n \"Keebler\",\n \"Keeling\",\n \"Kemmer\",\n \"Kerluke\",\n \"Kertzmann\",\n \"Kessler\",\n \"Kiehn\",\n \"Kihn\",\n \"Kilback\",\n \"King\",\n \"Kirlin\",\n \"Klein\",\n \"Kling\",\n \"Klocko\",\n \"Koch\",\n \"Koelpin\",\n \"Koepp\",\n \"Kohler\",\n \"Konopelski\",\n \"Koss\",\n \"Kovacek\",\n \"Kozey\",\n \"Krajcik\",\n \"Kreiger\",\n \"Kris\",\n \"Kshlerin\",\n \"Kub\",\n \"Kuhic\",\n \"Kuhlman\",\n \"Kuhn\",\n \"Kulas\",\n \"Kunde\",\n \"Kunze\",\n \"Kuphal\",\n \"Kutch\",\n \"Kuvalis\",\n \"Labadie\",\n \"Lakin\",\n \"Lang\",\n \"Langosh\",\n \"Langworth\",\n \"Larkin\",\n \"Larson\",\n \"Leannon\",\n \"Lebsack\",\n \"Ledner\",\n \"Leffler\",\n \"Legros\",\n \"Lehner\",\n \"Lemke\",\n \"Lesch\",\n \"Leuschke\",\n \"Lind\",\n \"Lindgren\",\n \"Littel\",\n \"Little\",\n \"Lockman\",\n \"Lowe\",\n \"Lubowitz\",\n \"Lueilwitz\",\n \"Luettgen\",\n \"Lynch\",\n \"Macejkovic\",\n \"MacGyver\",\n \"Maggio\",\n \"Mann\",\n \"Mante\",\n \"Marks\",\n \"Marquardt\",\n \"Marvin\",\n \"Mayer\",\n \"Mayert\",\n \"McClure\",\n \"McCullough\",\n \"McDermott\",\n \"McGlynn\",\n \"McKenzie\",\n \"McLaughlin\",\n \"Medhurst\",\n \"Mertz\",\n \"Metz\",\n \"Miller\",\n \"Mills\",\n \"Mitchell\",\n \"Moen\",\n \"Mohr\",\n \"Monahan\",\n \"Moore\",\n \"Morar\",\n \"Morissette\",\n \"Mosciski\",\n \"Mraz\",\n \"Mueller\",\n \"Muller\",\n \"Murazik\",\n \"Murphy\",\n \"Murray\",\n \"Nader\",\n \"Nicolas\",\n \"Nienow\",\n \"Nikolaus\",\n \"Nitzsche\",\n \"Nolan\",\n \"Oberbrunner\",\n \"O'Connell\",\n \"O'Conner\",\n \"O'Hara\",\n \"O'Keefe\",\n \"O'Kon\",\n \"Okuneva\",\n \"Olson\",\n \"Ondricka\",\n \"O'Reilly\",\n \"Orn\",\n \"Ortiz\",\n \"Osinski\",\n \"Pacocha\",\n \"Padberg\",\n \"Pagac\",\n \"Parisian\",\n \"Parker\",\n \"Paucek\",\n \"Pfannerstill\",\n \"Pfeffer\",\n \"Pollich\",\n \"Pouros\",\n \"Powlowski\",\n \"Predovic\",\n \"Price\",\n \"Prohaska\",\n \"Prosacco\",\n \"Purdy\",\n \"Quigley\",\n \"Quitzon\",\n \"Rath\",\n \"Ratke\",\n \"Rau\",\n \"Raynor\",\n \"Reichel\",\n \"Reichert\",\n \"Reilly\",\n \"Reinger\",\n \"Rempel\",\n \"Renner\",\n \"Reynolds\",\n \"Rice\",\n \"Rippin\",\n \"Ritchie\",\n \"Robel\",\n \"Roberts\",\n \"Rodriguez\",\n \"Rogahn\",\n \"Rohan\",\n \"Rolfson\",\n \"Romaguera\",\n \"Roob\",\n \"Rosenbaum\",\n \"Rowe\",\n \"Ruecker\",\n \"Runolfsdottir\",\n \"Runolfsson\",\n \"Runte\",\n \"Russel\",\n \"Rutherford\",\n \"Ryan\",\n \"Sanford\",\n \"Satterfield\",\n \"Sauer\",\n \"Sawayn\",\n \"Schaden\",\n \"Schaefer\",\n \"Schamberger\",\n \"Schiller\",\n \"Schimmel\",\n \"Schinner\",\n \"Schmeler\",\n \"Schmidt\",\n \"Schmitt\",\n \"Schneider\",\n \"Schoen\",\n \"Schowalter\",\n \"Schroeder\",\n \"Schulist\",\n \"Schultz\",\n \"Schumm\",\n \"Schuppe\",\n \"Schuster\",\n \"Senger\",\n \"Shanahan\",\n \"Shields\",\n \"Simonis\",\n \"Sipes\",\n \"Skiles\",\n \"Smith\",\n \"Smitham\",\n \"Spencer\",\n \"Spinka\",\n \"Sporer\",\n \"Stamm\",\n \"Stanton\",\n \"Stark\",\n \"Stehr\",\n \"Steuber\",\n \"Stiedemann\",\n \"Stokes\",\n \"Stoltenberg\",\n \"Stracke\",\n \"Streich\",\n \"Stroman\",\n \"Strosin\",\n \"Swaniawski\",\n \"Swift\",\n \"Terry\",\n \"Thiel\",\n \"Thompson\",\n \"Tillman\",\n \"Torp\",\n \"Torphy\",\n \"Towne\",\n \"Toy\",\n \"Trantow\",\n \"Tremblay\",\n \"Treutel\",\n \"Tromp\",\n \"Turcotte\",\n \"Turner\",\n \"Ullrich\",\n \"Upton\",\n \"Vandervort\",\n \"Veum\",\n \"Volkman\",\n \"Von\",\n \"VonRueden\",\n \"Waelchi\",\n \"Walker\",\n \"Walsh\",\n \"Walter\",\n \"Ward\",\n \"Waters\",\n \"Watsica\",\n \"Weber\",\n \"Wehner\",\n \"Weimann\",\n \"Weissnat\",\n \"Welch\",\n \"West\",\n \"White\",\n \"Wiegand\",\n \"Wilderman\",\n \"Wilkinson\",\n \"Will\",\n \"Williamson\",\n \"Willms\",\n \"Windler\",\n \"Wintheiser\",\n \"Wisoky\",\n \"Wisozk\",\n \"Witting\",\n \"Wiza\",\n \"Wolf\",\n \"Wolff\",\n \"Wuckert\",\n \"Wunsch\",\n \"Wyman\",\n \"Yost\",\n \"Yundt\",\n \"Zboncak\",\n \"Zemlak\",\n \"Ziemann\",\n \"Zieme\",\n \"Zulauf\"\n];\n","module[\"exports\"] = [\n\"Asexual\",\n\"Female to male trans man\",\n\"Female to male transgender man\",\n\"Female to male transsexual man\",\n\"F2M\",\n\"Gender neutral\",\n\"Hermaphrodite\",\n\"Intersex man\",\n\"Intersex person\",\n\"Intersex woman\",\n\"Male to female trans woman\",\n\"Male to female transgender woman\",\n\"Male to female transsexual woman\",\n\"Man\",\n\"M2F\",\n\"Polygender\",\n\"T* man\",\n\"T* woman\",\n\"Two* person\",\n\"Two-spirit person\",\n\"Woman\",\n\"Agender\",\n\"Androgyne\",\n\"Androgynes\",\n\"Androgynous\",\n\"Bigender\",\n\"Cis\",\n\"Cis Female\",\n\"Cis Male\",\n\"Cis Man\",\n\"Cis Woman\",\n\"Cisgender\",\n\"Cisgender Female\",\n\"Cisgender Male\",\n\"Cisgender Man\",\n\"Cisgender Woman\",\n\"Female to Male\",\n\"FTM\",\n\"Gender Fluid\",\n\"Gender Nonconforming\",\n\"Gender Questioning\",\n\"Gender Variant\",\n\"Genderqueer\",\n\"Intersex\",\n\"Male to Female\",\n\"MTF\",\n\"Neither\",\n\"Neutrois\",\n\"Non-binary\",\n\"Other\",\n\"Pangender\",\n\"Trans\",\n\"Trans Female\",\n\"Trans Male\",\n\"Trans Man\",\n\"Trans Person\",\n\"Trans*Female\",\n\"Trans*Male\",\n\"Trans*Man\",\n\"Trans*Person\",\n\"Trans*Woman\",\n\"Transexual\",\n\"Transexual Female\",\n\"Transexual Male\",\n\"Transexual Man\",\n\"Transexual Person\",\n\"Transexual Woman\",\n\"Transgender Female\",\n\"Transgender Person\",\n\"Transmasculine\",\n\"Two-spirit\"\n];\n","module[\"exports\"] = [\n \"Mr.\",\n \"Mrs.\",\n \"Ms.\",\n \"Miss\",\n \"Dr.\"\n];\n","module[\"exports\"] = [\n \"Jr.\",\n \"Sr.\",\n \"I\",\n \"II\",\n \"III\",\n \"IV\",\n \"V\",\n \"MD\",\n \"DDS\",\n \"PhD\",\n \"DVM\"\n];\n","module[\"exports\"] = {\n \"descriptor\": [\n \"Lead\",\n \"Senior\",\n \"Direct\",\n \"Corporate\",\n \"Dynamic\",\n \"Future\",\n \"Product\",\n \"National\",\n \"Regional\",\n \"District\",\n \"Central\",\n \"Global\",\n \"Customer\",\n \"Investor\",\n \"Dynamic\",\n \"International\",\n \"Legacy\",\n \"Forward\",\n \"Internal\",\n \"Human\",\n \"Chief\",\n \"Principal\"\n ],\n \"level\": [\n \"Solutions\",\n \"Program\",\n \"Brand\",\n \"Security\",\n \"Research\",\n \"Marketing\",\n \"Directives\",\n \"Implementation\",\n \"Integration\",\n \"Functionality\",\n \"Response\",\n \"Paradigm\",\n \"Tactics\",\n \"Identity\",\n \"Markets\",\n \"Group\",\n \"Division\",\n \"Applications\",\n \"Optimization\",\n \"Operations\",\n \"Infrastructure\",\n \"Intranet\",\n \"Communications\",\n \"Web\",\n \"Branding\",\n \"Quality\",\n \"Assurance\",\n \"Mobility\",\n \"Accounts\",\n \"Data\",\n \"Creative\",\n \"Configuration\",\n \"Accountability\",\n \"Interactions\",\n \"Factors\",\n \"Usability\",\n \"Metrics\"\n ],\n \"job\": [\n \"Supervisor\",\n \"Associate\",\n \"Executive\",\n \"Liaison\",\n \"Officer\",\n \"Manager\",\n \"Engineer\",\n \"Specialist\",\n \"Director\",\n \"Coordinator\",\n \"Administrator\",\n \"Architect\",\n \"Analyst\",\n \"Designer\",\n \"Planner\",\n \"Orchestrator\",\n \"Technician\",\n \"Developer\",\n \"Producer\",\n \"Consultant\",\n \"Assistant\",\n \"Facilitator\",\n \"Agent\",\n \"Representative\",\n \"Strategist\"\n ]\n};\n","module[\"exports\"] = [\n \"#{prefix} #{first_name} #{last_name}\",\n \"#{first_name} #{last_name} #{suffix}\",\n \"#{first_name} #{last_name}\",\n \"#{first_name} #{last_name}\",\n \"#{male_first_name} #{last_name}\",\n \"#{female_first_name} #{last_name}\"\n];\n","var name = {};\nmodule['exports'] = name;\nname.male_first_name = require(\"./male_first_name\");\nname.female_first_name = require(\"./female_first_name\");\nname.first_name = require(\"./first_name\");\nname.last_name = require(\"./last_name\");\nname.gender = require(\"./gender\");\nname.prefix = require(\"./prefix\");\nname.suffix = require(\"./suffix\");\nname.title = require(\"./title\");\nname.name = require(\"./name\");","module[\"exports\"] = [\n \"!##-!##-####\",\n \"(!##) !##-####\",\n \"1-!##-!##-####\",\n \"!##.!##.####\",\n \"!##-!##-####\",\n \"(!##) !##-####\",\n \"1-!##-!##-####\",\n \"!##.!##.####\",\n \"!##-!##-#### x###\",\n \"(!##) !##-#### x###\",\n \"1-!##-!##-#### x###\",\n \"!##.!##.#### x###\",\n \"!##-!##-#### x####\",\n \"(!##) !##-#### x####\",\n \"1-!##-!##-#### x####\",\n \"!##.!##.#### x####\",\n \"!##-!##-#### x#####\",\n \"(!##) !##-#### x#####\",\n \"1-!##-!##-#### x#####\",\n \"!##.!##.#### x#####\"\n];\n","var phone_number = {};\nmodule['exports'] = phone_number;\nphone_number.formats = require(\"./formats\");\n","module[\"exports\"] = [\n \"###-###-####\",\n \"(###) ###-####\",\n \"1-###-###-####\",\n \"###.###.####\"\n];\n","var cell_phone = {};\nmodule['exports'] = cell_phone;\ncell_phone.formats = require(\"./formats\");\n","module[\"exports\"] = [\n \"1234-2121-1221-1211\",\n \"1212-1221-1121-1234\",\n \"1211-1221-1234-2201\",\n \"1228-1221-1221-1431\"\n];\n","module[\"exports\"] = [\n \"2011-10-12\",\n \"2012-11-12\",\n \"2015-11-11\",\n \"2013-9-12\"\n];\n","module[\"exports\"] = [\n \"visa\",\n \"mastercard\",\n \"americanexpress\",\n \"discover\"\n];\n","var business = {};\nmodule['exports'] = business;\nbusiness.credit_card_numbers = require(\"./credit_card_numbers\");\nbusiness.credit_card_expiry_dates = require(\"./credit_card_expiry_dates\");\nbusiness.credit_card_types = require(\"./credit_card_types\");\n","module[\"exports\"] = [\n \"red\",\n \"green\",\n \"blue\",\n \"yellow\",\n \"purple\",\n \"mint green\",\n \"teal\",\n \"white\",\n \"black\",\n \"orange\",\n \"pink\",\n \"grey\",\n \"maroon\",\n \"violet\",\n \"turquoise\",\n \"tan\",\n \"sky blue\",\n \"salmon\",\n \"plum\",\n \"orchid\",\n \"olive\",\n \"magenta\",\n \"lime\",\n \"ivory\",\n \"indigo\",\n \"gold\",\n \"fuchsia\",\n \"cyan\",\n \"azure\",\n \"lavender\",\n \"silver\"\n];\n","module[\"exports\"] = [\n \"Books\",\n \"Movies\",\n \"Music\",\n \"Games\",\n \"Electronics\",\n \"Computers\",\n \"Home\",\n \"Garden\",\n \"Tools\",\n \"Grocery\",\n \"Health\",\n \"Beauty\",\n \"Toys\",\n \"Kids\",\n \"Baby\",\n \"Clothing\",\n \"Shoes\",\n \"Jewelery\",\n \"Sports\",\n \"Outdoors\",\n \"Automotive\",\n \"Industrial\"\n];\n","module[\"exports\"] = {\n \"adjective\": [\n \"Small\",\n \"Ergonomic\",\n \"Rustic\",\n \"Intelligent\",\n \"Gorgeous\",\n \"Incredible\",\n \"Fantastic\",\n \"Practical\",\n \"Sleek\",\n \"Awesome\",\n \"Generic\",\n \"Handcrafted\",\n \"Handmade\",\n \"Licensed\",\n \"Refined\",\n \"Unbranded\",\n \"Tasty\"\n ],\n \"material\": [\n \"Steel\",\n \"Wooden\",\n \"Concrete\",\n \"Plastic\",\n \"Cotton\",\n \"Granite\",\n \"Rubber\",\n \"Metal\",\n \"Soft\",\n \"Fresh\",\n \"Frozen\"\n ],\n \"product\": [\n \"Chair\",\n \"Car\",\n \"Computer\",\n \"Keyboard\",\n \"Mouse\",\n \"Bike\",\n \"Ball\",\n \"Gloves\",\n \"Pants\",\n \"Shirt\",\n \"Table\",\n \"Shoes\",\n \"Hat\",\n \"Towels\",\n \"Soap\",\n \"Tuna\",\n \"Chicken\",\n \"Fish\",\n \"Cheese\",\n \"Bacon\",\n \"Pizza\",\n \"Salad\",\n \"Sausages\",\n \"Chips\"\n ]\n};\n","module[\"exports\"] = [\n \"Ergonomic executive chair upholstered in bonded black leather and PVC padded seat and back for all-day comfort and support\",\n \"The automobile layout consists of a front-engine design, with transaxle-type transmissions mounted at the rear of the engine and four wheel drive\",\n \"New ABC 13 9370, 13.3, 5th Gen CoreA5-8250U, 8GB RAM, 256GB SSD, power UHD Graphics, OS 10 Home, OS Office A & J 2016\",\n \"The slim & simple Maple Gaming Keyboard from Dev Byte comes with a sleek body and 7- Color RGB LED Back-lighting for smart functionality\",\n \"The Apollotech B340 is an affordable wireless mouse with reliable connectivity, 12 months battery life and modern design\",\n \"The Nagasaki Lander is the trademarked name of several series of Nagasaki sport bikes, that started with the 1984 ABC800J\",\n \"The Football Is Good For Training And Recreational Purposes\",\n \"Carbonite web goalkeeper gloves are ergonomically designed to give easy fit\",\n \"Boston's most advanced compression wear technology increases muscle oxygenation, stabilizes active muscles\",\n \"New range of formal shirts are designed keeping you in mind. With fits and styling that will make you stand apart\",\n \"The beautiful range of Apple Naturalé that has an exciting mix of natural ingredients. With the Goodness of 100% Natural Ingredients\",\n \"Andy shoes are designed to keeping in mind durability as well as trends, the most stylish range of shoes & sandals\"\n];","var commerce = {};\nmodule['exports'] = commerce;\ncommerce.color = require(\"./color\");\ncommerce.department = require(\"./department\");\ncommerce.product_name = require(\"./product_name\");\ncommerce.product_description = require(\"./product_description\");\n","module[\"exports\"] = [\n \"ants\",\n \"bats\",\n \"bears\",\n \"bees\",\n \"birds\",\n \"buffalo\",\n \"cats\",\n \"chickens\",\n \"cattle\",\n \"dogs\",\n \"dolphins\",\n \"ducks\",\n \"elephants\",\n \"fishes\",\n \"foxes\",\n \"frogs\",\n \"geese\",\n \"goats\",\n \"horses\",\n \"kangaroos\",\n \"lions\",\n \"monkeys\",\n \"owls\",\n \"oxen\",\n \"penguins\",\n \"people\",\n \"pigs\",\n \"rabbits\",\n \"sheep\",\n \"tigers\",\n \"whales\",\n \"wolves\",\n \"zebras\",\n \"banshees\",\n \"crows\",\n \"black cats\",\n \"chimeras\",\n \"ghosts\",\n \"conspirators\",\n \"dragons\",\n \"dwarves\",\n \"elves\",\n \"enchanters\",\n \"exorcists\",\n \"sons\",\n \"foes\",\n \"giants\",\n \"gnomes\",\n \"goblins\",\n \"gooses\",\n \"griffins\",\n \"lycanthropes\",\n \"nemesis\",\n \"ogres\",\n \"oracles\",\n \"prophets\",\n \"sorcerors\",\n \"spiders\",\n \"spirits\",\n \"vampires\",\n \"warlocks\",\n \"vixens\",\n \"werewolves\",\n \"witches\",\n \"worshipers\",\n \"zombies\",\n \"druids\"\n];\n","module[\"exports\"] = [\n \"#{Address.state} #{creature}\"\n];\n","var team = {};\nmodule['exports'] = team;\nteam.creature = require(\"./creature\");\nteam.name = require(\"./name\");\n","module[\"exports\"] = [\n \"TCP\",\n \"HTTP\",\n \"SDD\",\n \"RAM\",\n \"GB\",\n \"CSS\",\n \"SSL\",\n \"AGP\",\n \"SQL\",\n \"FTP\",\n \"PCI\",\n \"AI\",\n \"ADP\",\n \"RSS\",\n \"XML\",\n \"EXE\",\n \"COM\",\n \"HDD\",\n \"THX\",\n \"SMTP\",\n \"SMS\",\n \"USB\",\n \"PNG\",\n \"SAS\",\n \"IB\",\n \"SCSI\",\n \"JSON\",\n \"XSS\",\n \"JBOD\"\n];\n","module[\"exports\"] = [\n \"auxiliary\",\n \"primary\",\n \"back-end\",\n \"digital\",\n \"open-source\",\n \"virtual\",\n \"cross-platform\",\n \"redundant\",\n \"online\",\n \"haptic\",\n \"multi-byte\",\n \"bluetooth\",\n \"wireless\",\n \"1080p\",\n \"neural\",\n \"optical\",\n \"solid state\",\n \"mobile\"\n];\n","module[\"exports\"] = [\n \"driver\",\n \"protocol\",\n \"bandwidth\",\n \"panel\",\n \"microchip\",\n \"program\",\n \"port\",\n \"card\",\n \"array\",\n \"interface\",\n \"system\",\n \"sensor\",\n \"firewall\",\n \"hard drive\",\n \"pixel\",\n \"alarm\",\n \"feed\",\n \"monitor\",\n \"application\",\n \"transmitter\",\n \"bus\",\n \"circuit\",\n \"capacitor\",\n \"matrix\"\n];\n","module[\"exports\"] = [\n \"back up\",\n \"bypass\",\n \"hack\",\n \"override\",\n \"compress\",\n \"copy\",\n \"navigate\",\n \"index\",\n \"connect\",\n \"generate\",\n \"quantify\",\n \"calculate\",\n \"synthesize\",\n \"input\",\n \"transmit\",\n \"program\",\n \"reboot\",\n \"parse\"\n];\n","module[\"exports\"] = [\n \"backing up\",\n \"bypassing\",\n \"hacking\",\n \"overriding\",\n \"compressing\",\n \"copying\",\n \"navigating\",\n \"indexing\",\n \"connecting\",\n \"generating\",\n \"quantifying\",\n \"calculating\",\n \"synthesizing\",\n \"transmitting\",\n \"programming\",\n \"parsing\"\n];\n","module[\"exports\"] = [\r\n \"If we {{verb}} the {{noun}}, we can get to the {{abbreviation}} {{noun}} through the {{adjective}} {{abbreviation}} {{noun}}!\",\r\n \"We need to {{verb}} the {{adjective}} {{abbreviation}} {{noun}}!\",\r\n \"Try to {{verb}} the {{abbreviation}} {{noun}}, maybe it will {{verb}} the {{adjective}} {{noun}}!\",\r\n \"You can't {{verb}} the {{noun}} without {{ingverb}} the {{adjective}} {{abbreviation}} {{noun}}!\",\r\n \"Use the {{adjective}} {{abbreviation}} {{noun}}, then you can {{verb}} the {{adjective}} {{noun}}!\",\r\n \"The {{abbreviation}} {{noun}} is down, {{verb}} the {{adjective}} {{noun}} so we can {{verb}} the {{abbreviation}} {{noun}}!\",\r\n \"{{ingverb}} the {{noun}} won't do anything, we need to {{verb}} the {{adjective}} {{abbreviation}} {{noun}}!\",\r\n \"I'll {{verb}} the {{adjective}} {{abbreviation}} {{noun}}, that should {{noun}} the {{abbreviation}} {{noun}}!\"\r\n];","var hacker = {};\nmodule['exports'] = hacker;\nhacker.abbreviation = require(\"./abbreviation\");\nhacker.adjective = require(\"./adjective\");\nhacker.noun = require(\"./noun\");\nhacker.verb = require(\"./verb\");\nhacker.ingverb = require(\"./ingverb\");\nhacker.phrase = require(\"./phrase\");\n","module[\"exports\"] = [\n \"Redhold\",\n \"Treeflex\",\n \"Trippledex\",\n \"Kanlam\",\n \"Bigtax\",\n \"Daltfresh\",\n \"Toughjoyfax\",\n \"Mat Lam Tam\",\n \"Otcom\",\n \"Tres-Zap\",\n \"Y-Solowarm\",\n \"Tresom\",\n \"Voltsillam\",\n \"Biodex\",\n \"Greenlam\",\n \"Viva\",\n \"Matsoft\",\n \"Temp\",\n \"Zoolab\",\n \"Subin\",\n \"Rank\",\n \"Job\",\n \"Stringtough\",\n \"Tin\",\n \"It\",\n \"Home Ing\",\n \"Zamit\",\n \"Sonsing\",\n \"Konklab\",\n \"Alpha\",\n \"Latlux\",\n \"Voyatouch\",\n \"Alphazap\",\n \"Holdlamis\",\n \"Zaam-Dox\",\n \"Sub-Ex\",\n \"Quo Lux\",\n \"Bamity\",\n \"Ventosanzap\",\n \"Lotstring\",\n \"Hatity\",\n \"Tempsoft\",\n \"Overhold\",\n \"Fixflex\",\n \"Konklux\",\n \"Zontrax\",\n \"Tampflex\",\n \"Span\",\n \"Namfix\",\n \"Transcof\",\n \"Stim\",\n \"Fix San\",\n \"Sonair\",\n \"Stronghold\",\n \"Fintone\",\n \"Y-find\",\n \"Opela\",\n \"Lotlux\",\n \"Ronstring\",\n \"Zathin\",\n \"Duobam\",\n \"Keylex\"\n];\n","module[\"exports\"] = [\n \"0.#.#\",\n \"0.##\",\n \"#.##\",\n \"#.#\",\n \"#.#.#\"\n];\n","module[\"exports\"] = [\n \"#{Name.name}\",\n \"#{Company.name}\"\n];\n","var app = {};\nmodule['exports'] = app;\napp.name = require(\"./name\");\napp.version = require(\"./version\");\napp.author = require(\"./author\");\n","module[\"exports\"] = [\n \"Checking\",\n \"Savings\",\n \"Money Market\",\n \"Investment\",\n \"Home Loan\",\n \"Credit Card\",\n \"Auto Loan\",\n \"Personal Loan\"\n];\n","module[\"exports\"] = [\n \"deposit\",\n \"withdrawal\",\n \"payment\",\n \"invoice\"\n];\n","module[\"exports\"] = {\n \"UAE Dirham\": {\n \"code\": \"AED\",\n \"symbol\": \"\"\n },\n \"Afghani\": {\n \"code\": \"AFN\",\n \"symbol\": \"؋\"\n },\n \"Lek\": {\n \"code\": \"ALL\",\n \"symbol\": \"Lek\"\n },\n \"Armenian Dram\": {\n \"code\": \"AMD\",\n \"symbol\": \"\"\n },\n \"Netherlands Antillian Guilder\": {\n \"code\": \"ANG\",\n \"symbol\": \"ƒ\"\n },\n \"Kwanza\": {\n \"code\": \"AOA\",\n \"symbol\": \"\"\n },\n \"Argentine Peso\": {\n \"code\": \"ARS\",\n \"symbol\": \"$\"\n },\n \"Australian Dollar\": {\n \"code\": \"AUD\",\n \"symbol\": \"$\"\n },\n \"Aruban Guilder\": {\n \"code\": \"AWG\",\n \"symbol\": \"ƒ\"\n },\n \"Azerbaijanian Manat\": {\n \"code\": \"AZN\",\n \"symbol\": \"ман\"\n },\n \"Convertible Marks\": {\n \"code\": \"BAM\",\n \"symbol\": \"KM\"\n },\n \"Barbados Dollar\": {\n \"code\": \"BBD\",\n \"symbol\": \"$\"\n },\n \"Taka\": {\n \"code\": \"BDT\",\n \"symbol\": \"\"\n },\n \"Bulgarian Lev\": {\n \"code\": \"BGN\",\n \"symbol\": \"лв\"\n },\n \"Bahraini Dinar\": {\n \"code\": \"BHD\",\n \"symbol\": \"\"\n },\n \"Burundi Franc\": {\n \"code\": \"BIF\",\n \"symbol\": \"\"\n },\n \"Bermudian Dollar (customarily known as Bermuda Dollar)\": {\n \"code\": \"BMD\",\n \"symbol\": \"$\"\n },\n \"Brunei Dollar\": {\n \"code\": \"BND\",\n \"symbol\": \"$\"\n },\n \"Boliviano boliviano\": {\n \"code\": \"BOB\",\n \"symbol\": \"Bs\"\n },\n \"Brazilian Real\": {\n \"code\": \"BRL\",\n \"symbol\": \"R$\"\n },\n \"Bahamian Dollar\": {\n \"code\": \"BSD\",\n \"symbol\": \"$\"\n },\n \"Pula\": {\n \"code\": \"BWP\",\n \"symbol\": \"P\"\n },\n \"Belarussian Ruble\": {\n \"code\": \"BYR\",\n \"symbol\": \"p.\"\n },\n \"Belize Dollar\": {\n \"code\": \"BZD\",\n \"symbol\": \"BZ$\"\n },\n \"Canadian Dollar\": {\n \"code\": \"CAD\",\n \"symbol\": \"$\"\n },\n \"Congolese Franc\": {\n \"code\": \"CDF\",\n \"symbol\": \"\"\n },\n \"Swiss Franc\": {\n \"code\": \"CHF\",\n \"symbol\": \"CHF\"\n },\n \"Chilean Peso\": {\n \"code\": \"CLP\",\n \"symbol\": \"$\"\n },\n \"Yuan Renminbi\": {\n \"code\": \"CNY\",\n \"symbol\": \"¥\"\n },\n \"Colombian Peso\": {\n \"code\": \"COP\",\n \"symbol\": \"$\"\n },\n \"Costa Rican Colon\": {\n \"code\": \"CRC\",\n \"symbol\": \"₡\"\n },\n \"Cuban Peso\": {\n \"code\": \"CUP\",\n \"symbol\": \"₱\"\n },\n \"Cuban Peso Convertible\": {\n \"code\": \"CUC\",\n \"symbol\": \"$\"\n },\n \"Cape Verde Escudo\": {\n \"code\": \"CVE\",\n \"symbol\": \"\"\n },\n \"Czech Koruna\": {\n \"code\": \"CZK\",\n \"symbol\": \"Kč\"\n },\n \"Djibouti Franc\": {\n \"code\": \"DJF\",\n \"symbol\": \"\"\n },\n \"Danish Krone\": {\n \"code\": \"DKK\",\n \"symbol\": \"kr\"\n },\n \"Dominican Peso\": {\n \"code\": \"DOP\",\n \"symbol\": \"RD$\"\n },\n \"Algerian Dinar\": {\n \"code\": \"DZD\",\n \"symbol\": \"\"\n },\n \"Kroon\": {\n \"code\": \"EEK\",\n \"symbol\": \"\"\n },\n \"Egyptian Pound\": {\n \"code\": \"EGP\",\n \"symbol\": \"£\"\n },\n \"Nakfa\": {\n \"code\": \"ERN\",\n \"symbol\": \"\"\n },\n \"Ethiopian Birr\": {\n \"code\": \"ETB\",\n \"symbol\": \"\"\n },\n \"Euro\": {\n \"code\": \"EUR\",\n \"symbol\": \"€\"\n },\n \"Fiji Dollar\": {\n \"code\": \"FJD\",\n \"symbol\": \"$\"\n },\n \"Falkland Islands Pound\": {\n \"code\": \"FKP\",\n \"symbol\": \"£\"\n },\n \"Pound Sterling\": {\n \"code\": \"GBP\",\n \"symbol\": \"£\"\n },\n \"Lari\": {\n \"code\": \"GEL\",\n \"symbol\": \"\"\n },\n \"Cedi\": {\n \"code\": \"GHS\",\n \"symbol\": \"\"\n },\n \"Gibraltar Pound\": {\n \"code\": \"GIP\",\n \"symbol\": \"£\"\n },\n \"Dalasi\": {\n \"code\": \"GMD\",\n \"symbol\": \"\"\n },\n \"Guinea Franc\": {\n \"code\": \"GNF\",\n \"symbol\": \"\"\n },\n \"Quetzal\": {\n \"code\": \"GTQ\",\n \"symbol\": \"Q\"\n },\n \"Guyana Dollar\": {\n \"code\": \"GYD\",\n \"symbol\": \"$\"\n },\n \"Hong Kong Dollar\": {\n \"code\": \"HKD\",\n \"symbol\": \"$\"\n },\n \"Lempira\": {\n \"code\": \"HNL\",\n \"symbol\": \"L\"\n },\n \"Croatian Kuna\": {\n \"code\": \"HRK\",\n \"symbol\": \"kn\"\n },\n \"Gourde\": {\n \"code\": \"HTG\",\n \"symbol\": \"\"\n },\n \"Forint\": {\n \"code\": \"HUF\",\n \"symbol\": \"Ft\"\n },\n \"Rupiah\": {\n \"code\": \"IDR\",\n \"symbol\": \"Rp\"\n },\n \"New Israeli Sheqel\": {\n \"code\": \"ILS\",\n \"symbol\": \"₪\"\n },\n \"Indian Rupee\": {\n \"code\": \"INR\",\n \"symbol\": \"\"\n },\n \"Bhutanese Ngultrum\": {\n \"code\": \"BTN\",\n \"symbol\": \"Nu\"\n },\n \"Indian Rupee\": {\n \"code\": \"INR\",\n \"symbol\": \"₹\"\n },\n \"Iraqi Dinar\": {\n \"code\": \"IQD\",\n \"symbol\": \"\"\n },\n \"Iranian Rial\": {\n \"code\": \"IRR\",\n \"symbol\": \"﷼\"\n },\n \"Iceland Krona\": {\n \"code\": \"ISK\",\n \"symbol\": \"kr\"\n },\n \"Jamaican Dollar\": {\n \"code\": \"JMD\",\n \"symbol\": \"J$\"\n },\n \"Jordanian Dinar\": {\n \"code\": \"JOD\",\n \"symbol\": \"\"\n },\n \"Yen\": {\n \"code\": \"JPY\",\n \"symbol\": \"¥\"\n },\n \"Kenyan Shilling\": {\n \"code\": \"KES\",\n \"symbol\": \"\"\n },\n \"Som\": {\n \"code\": \"KGS\",\n \"symbol\": \"лв\"\n },\n \"Riel\": {\n \"code\": \"KHR\",\n \"symbol\": \"៛\"\n },\n \"Comoro Franc\": {\n \"code\": \"KMF\",\n \"symbol\": \"\"\n },\n \"North Korean Won\": {\n \"code\": \"KPW\",\n \"symbol\": \"₩\"\n },\n \"Won\": {\n \"code\": \"KRW\",\n \"symbol\": \"₩\"\n },\n \"Kuwaiti Dinar\": {\n \"code\": \"KWD\",\n \"symbol\": \"\"\n },\n \"Cayman Islands Dollar\": {\n \"code\": \"KYD\",\n \"symbol\": \"$\"\n },\n \"Tenge\": {\n \"code\": \"KZT\",\n \"symbol\": \"лв\"\n },\n \"Kip\": {\n \"code\": \"LAK\",\n \"symbol\": \"₭\"\n },\n \"Lebanese Pound\": {\n \"code\": \"LBP\",\n \"symbol\": \"£\"\n },\n \"Sri Lanka Rupee\": {\n \"code\": \"LKR\",\n \"symbol\": \"₨\"\n },\n \"Liberian Dollar\": {\n \"code\": \"LRD\",\n \"symbol\": \"$\"\n },\n \"Lithuanian Litas\": {\n \"code\": \"LTL\",\n \"symbol\": \"Lt\"\n },\n \"Latvian Lats\": {\n \"code\": \"LVL\",\n \"symbol\": \"Ls\"\n },\n \"Libyan Dinar\": {\n \"code\": \"LYD\",\n \"symbol\": \"\"\n },\n \"Moroccan Dirham\": {\n \"code\": \"MAD\",\n \"symbol\": \"\"\n },\n \"Moldovan Leu\": {\n \"code\": \"MDL\",\n \"symbol\": \"\"\n },\n \"Malagasy Ariary\": {\n \"code\": \"MGA\",\n \"symbol\": \"\"\n },\n \"Denar\": {\n \"code\": \"MKD\",\n \"symbol\": \"ден\"\n },\n \"Kyat\": {\n \"code\": \"MMK\",\n \"symbol\": \"\"\n },\n \"Tugrik\": {\n \"code\": \"MNT\",\n \"symbol\": \"₮\"\n },\n \"Pataca\": {\n \"code\": \"MOP\",\n \"symbol\": \"\"\n },\n \"Ouguiya\": {\n \"code\": \"MRO\",\n \"symbol\": \"\"\n },\n \"Mauritius Rupee\": {\n \"code\": \"MUR\",\n \"symbol\": \"₨\"\n },\n \"Rufiyaa\": {\n \"code\": \"MVR\",\n \"symbol\": \"\"\n },\n \"Kwacha\": {\n \"code\": \"MWK\",\n \"symbol\": \"\"\n },\n \"Mexican Peso\": {\n \"code\": \"MXN\",\n \"symbol\": \"$\"\n },\n \"Malaysian Ringgit\": {\n \"code\": \"MYR\",\n \"symbol\": \"RM\"\n },\n \"Metical\": {\n \"code\": \"MZN\",\n \"symbol\": \"MT\"\n },\n \"Naira\": {\n \"code\": \"NGN\",\n \"symbol\": \"₦\"\n },\n \"Cordoba Oro\": {\n \"code\": \"NIO\",\n \"symbol\": \"C$\"\n },\n \"Norwegian Krone\": {\n \"code\": \"NOK\",\n \"symbol\": \"kr\"\n },\n \"Nepalese Rupee\": {\n \"code\": \"NPR\",\n \"symbol\": \"₨\"\n },\n \"New Zealand Dollar\": {\n \"code\": \"NZD\",\n \"symbol\": \"$\"\n },\n \"Rial Omani\": {\n \"code\": \"OMR\",\n \"symbol\": \"﷼\"\n },\n \"Balboa\": {\n \"code\": \"PAB\",\n \"symbol\": \"B/.\"\n },\n \"Nuevo Sol\": {\n \"code\": \"PEN\",\n \"symbol\": \"S/.\"\n },\n \"Kina\": {\n \"code\": \"PGK\",\n \"symbol\": \"\"\n },\n \"Philippine Peso\": {\n \"code\": \"PHP\",\n \"symbol\": \"Php\"\n },\n \"Pakistan Rupee\": {\n \"code\": \"PKR\",\n \"symbol\": \"₨\"\n },\n \"Zloty\": {\n \"code\": \"PLN\",\n \"symbol\": \"zł\"\n },\n \"Guarani\": {\n \"code\": \"PYG\",\n \"symbol\": \"Gs\"\n },\n \"Qatari Rial\": {\n \"code\": \"QAR\",\n \"symbol\": \"﷼\"\n },\n \"New Leu\": {\n \"code\": \"RON\",\n \"symbol\": \"lei\"\n },\n \"Serbian Dinar\": {\n \"code\": \"RSD\",\n \"symbol\": \"Дин.\"\n },\n \"Russian Ruble\": {\n \"code\": \"RUB\",\n \"symbol\": \"руб\"\n },\n \"Rwanda Franc\": {\n \"code\": \"RWF\",\n \"symbol\": \"\"\n },\n \"Saudi Riyal\": {\n \"code\": \"SAR\",\n \"symbol\": \"﷼\"\n },\n \"Solomon Islands Dollar\": {\n \"code\": \"SBD\",\n \"symbol\": \"$\"\n },\n \"Seychelles Rupee\": {\n \"code\": \"SCR\",\n \"symbol\": \"₨\"\n },\n \"Sudanese Pound\": {\n \"code\": \"SDG\",\n \"symbol\": \"\"\n },\n \"Swedish Krona\": {\n \"code\": \"SEK\",\n \"symbol\": \"kr\"\n },\n \"Singapore Dollar\": {\n \"code\": \"SGD\",\n \"symbol\": \"$\"\n },\n \"Saint Helena Pound\": {\n \"code\": \"SHP\",\n \"symbol\": \"£\"\n },\n \"Leone\": {\n \"code\": \"SLL\",\n \"symbol\": \"\"\n },\n \"Somali Shilling\": {\n \"code\": \"SOS\",\n \"symbol\": \"S\"\n },\n \"Surinam Dollar\": {\n \"code\": \"SRD\",\n \"symbol\": \"$\"\n },\n \"Dobra\": {\n \"code\": \"STN\",\n \"symbol\": \"Db\"\n },\n \"El Salvador Colon\": {\n \"code\": \"SVC\",\n \"symbol\": \"₡\"\n },\n \"Syrian Pound\": {\n \"code\": \"SYP\",\n \"symbol\": \"£\"\n },\n \"Lilangeni\": {\n \"code\": \"SZL\",\n \"symbol\": \"\"\n },\n \"Baht\": {\n \"code\": \"THB\",\n \"symbol\": \"฿\"\n },\n \"Somoni\": {\n \"code\": \"TJS\",\n \"symbol\": \"\"\n },\n \"Manat\": {\n \"code\": \"TMT\",\n \"symbol\": \"\"\n },\n \"Tunisian Dinar\": {\n \"code\": \"TND\",\n \"symbol\": \"\"\n },\n \"Pa'anga\": {\n \"code\": \"TOP\",\n \"symbol\": \"\"\n },\n \"Turkish Lira\": {\n \"code\": \"TRY\",\n \"symbol\": \"₺\"\n },\n \"Trinidad and Tobago Dollar\": {\n \"code\": \"TTD\",\n \"symbol\": \"TT$\"\n },\n \"New Taiwan Dollar\": {\n \"code\": \"TWD\",\n \"symbol\": \"NT$\"\n },\n \"Tanzanian Shilling\": {\n \"code\": \"TZS\",\n \"symbol\": \"\"\n },\n \"Hryvnia\": {\n \"code\": \"UAH\",\n \"symbol\": \"₴\"\n },\n \"Uganda Shilling\": {\n \"code\": \"UGX\",\n \"symbol\": \"\"\n },\n \"US Dollar\": {\n \"code\": \"USD\",\n \"symbol\": \"$\"\n },\n \"Peso Uruguayo\": {\n \"code\": \"UYU\",\n \"symbol\": \"$U\"\n },\n \"Uzbekistan Sum\": {\n \"code\": \"UZS\",\n \"symbol\": \"лв\"\n },\n \"Bolivar Fuerte\": {\n \"code\": \"VEF\",\n \"symbol\": \"Bs\"\n },\n \"Dong\": {\n \"code\": \"VND\",\n \"symbol\": \"₫\"\n },\n \"Vatu\": {\n \"code\": \"VUV\",\n \"symbol\": \"\"\n },\n \"Tala\": {\n \"code\": \"WST\",\n \"symbol\": \"\"\n },\n \"CFA Franc BEAC\": {\n \"code\": \"XAF\",\n \"symbol\": \"\"\n },\n \"Silver\": {\n \"code\": \"XAG\",\n \"symbol\": \"\"\n },\n \"Gold\": {\n \"code\": \"XAU\",\n \"symbol\": \"\"\n },\n \"Bond Markets Units European Composite Unit (EURCO)\": {\n \"code\": \"XBA\",\n \"symbol\": \"\"\n },\n \"European Monetary Unit (E.M.U.-6)\": {\n \"code\": \"XBB\",\n \"symbol\": \"\"\n },\n \"European Unit of Account 9(E.U.A.-9)\": {\n \"code\": \"XBC\",\n \"symbol\": \"\"\n },\n \"European Unit of Account 17(E.U.A.-17)\": {\n \"code\": \"XBD\",\n \"symbol\": \"\"\n },\n \"East Caribbean Dollar\": {\n \"code\": \"XCD\",\n \"symbol\": \"$\"\n },\n \"SDR\": {\n \"code\": \"XDR\",\n \"symbol\": \"\"\n },\n \"UIC-Franc\": {\n \"code\": \"XFU\",\n \"symbol\": \"\"\n },\n \"CFA Franc BCEAO\": {\n \"code\": \"XOF\",\n \"symbol\": \"\"\n },\n \"Palladium\": {\n \"code\": \"XPD\",\n \"symbol\": \"\"\n },\n \"CFP Franc\": {\n \"code\": \"XPF\",\n \"symbol\": \"\"\n },\n \"Platinum\": {\n \"code\": \"XPT\",\n \"symbol\": \"\"\n },\n \"Codes specifically reserved for testing purposes\": {\n \"code\": \"XTS\",\n \"symbol\": \"\"\n },\n \"Yemeni Rial\": {\n \"code\": \"YER\",\n \"symbol\": \"﷼\"\n },\n \"Rand\": {\n \"code\": \"ZAR\",\n \"symbol\": \"R\"\n },\n \"Lesotho Loti\": {\n \"code\": \"LSL\",\n \"symbol\": \"\"\n },\n \"Namibia Dollar\": {\n \"code\": \"NAD\",\n \"symbol\": \"N$\"\n },\n \"Zambian Kwacha\": {\n \"code\": \"ZMK\",\n \"symbol\": \"\"\n },\n \"Zimbabwe Dollar\": {\n \"code\": \"ZWL\",\n \"symbol\": \"\"\n }\n};\n","module[\"exports\"] = [\n \"4###########L\",\n \"4###-####-####-###L\"\n];\n","module[\"exports\"] = [\n \"5[1-5]##-####-####-###L\",\n \"6771-89##-####-###L\"\n];\n","module[\"exports\"] = [\n \"6011-####-####-###L\",\n \"65##-####-####-###L\",\n \"64[4-9]#-####-####-###L\",\n \"6011-62##-####-####-###L\",\n \"65##-62##-####-####-###L\",\n \"64[4-9]#-62##-####-####-###L\"\n];\n","module[\"exports\"] = [\n \"34##-######-####L\",\n \"37##-######-####L\"\n];\n","module[\"exports\"] = [\n \"30[0-5]#-######-###L\",\n \"36##-######-###L\",\n \"54##-####-####-###L\"\n];\n","module[\"exports\"] = [\n \"3528-####-####-###L\",\n \"3529-####-####-###L\",\n \"35[3-8]#-####-####-###L\"\n];\n","module[\"exports\"] = [\n \"6759-####-####-###L\",\n \"6759-####-####-####-#L\",\n \"6759-####-####-####-##L\"\n];\n","module[\"exports\"] = [\n \"6767-####-####-###L\",\n \"6767-####-####-####-#L\",\n \"6767-####-####-####-##L\"\n];\n","module[\"exports\"] = [\n \"5018-#{4}-#{4}-#{3}L\",\n \"5020-#{4}-#{4}-#{3}L\",\n \"5038-#{4}-#{4}-#{3}L\",\n \"5893-#{4}-#{4}-#{3}L\",\n \"6304-#{4}-#{4}-#{3}L\",\n \"6759-#{4}-#{4}-#{3}L\",\n \"676[1-3]-####-####-###L\",\n \"5018#{11,15}L\",\n \"5020#{11,15}L\",\n \"5038#{11,15}L\",\n \"5893#{11,15}L\",\n \"6304#{11,15}L\",\n \"6759#{11,15}L\",\n \"676[1-3]#{11,15}L\",\n];\n\n// 5018 xxxx xxxx xxxx xxL\n","module[\"exports\"] = [\n \"6304###########L\",\n \"6706###########L\",\n \"6771###########L\",\n \"6709###########L\",\n \"6304#########{5,6}L\",\n \"6706#########{5,6}L\",\n \"6771#########{5,6}L\",\n \"6709#########{5,6}L\"\n];\n","module[\"exports\"] = [\n \"63[7-9]#-####-####-###L\"\n];\n","var credit_card = {};\nmodule['exports'] = credit_card;\ncredit_card.visa = require(\"./visa\");\ncredit_card.mastercard = require(\"./mastercard\");\ncredit_card.discover = require(\"./discover\");\ncredit_card.american_express = require(\"./american_express\");\ncredit_card.diners_club = require(\"./diners_club\");\ncredit_card.jcb = require(\"./jcb\");\ncredit_card.switch = require(\"./switch\");\ncredit_card.solo = require(\"./solo\");\ncredit_card.maestro = require(\"./maestro\");\ncredit_card.laser = require(\"./laser\");\ncredit_card.instapayment = require(\"./instapayment.js\")\n","var finance = {};\nmodule['exports'] = finance;\nfinance.account_type = require(\"./account_type\");\nfinance.transaction_type = require(\"./transaction_type\");\nfinance.currency = require(\"./currency\");\nfinance.credit_card = require(\"./credit_card\");\n","// Source: http://unicode.org/cldr/trac/browser/tags/release-27/common/main/en.xml#L1799\nmodule[\"exports\"] = {\n wide: [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\"\n ],\n // Property \"wide_context\" is optional, if not set then \"wide\" will be used instead\n // It is used to specify a word in context, which may differ from a stand-alone word\n wide_context: [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\"\n ],\n abbr: [\n \"Jan\",\n \"Feb\",\n \"Mar\",\n \"Apr\",\n \"May\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sep\",\n \"Oct\",\n \"Nov\",\n \"Dec\"\n ],\n // Property \"abbr_context\" is optional, if not set then \"abbr\" will be used instead\n // It is used to specify a word in context, which may differ from a stand-alone word\n abbr_context: [\n \"Jan\",\n \"Feb\",\n \"Mar\",\n \"Apr\",\n \"May\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sep\",\n \"Oct\",\n \"Nov\",\n \"Dec\"\n ]\n};\n","// Source: http://unicode.org/cldr/trac/browser/tags/release-27/common/main/en.xml#L1847\nmodule[\"exports\"] = {\n wide: [\n \"Sunday\",\n \"Monday\",\n \"Tuesday\",\n \"Wednesday\",\n \"Thursday\",\n \"Friday\",\n \"Saturday\"\n ],\n // Property \"wide_context\" is optional, if not set then \"wide\" will be used instead\n // It is used to specify a word in context, which may differ from a stand-alone word\n wide_context: [\n \"Sunday\",\n \"Monday\",\n \"Tuesday\",\n \"Wednesday\",\n \"Thursday\",\n \"Friday\",\n \"Saturday\"\n ],\n abbr: [\n \"Sun\",\n \"Mon\",\n \"Tue\",\n \"Wed\",\n \"Thu\",\n \"Fri\",\n \"Sat\"\n ],\n // Property \"abbr_context\" is optional, if not set then \"abbr\" will be used instead\n // It is used to specify a word in context, which may differ from a stand-alone word\n abbr_context: [\n \"Sun\",\n \"Mon\",\n \"Tue\",\n \"Wed\",\n \"Thu\",\n \"Fri\",\n \"Sat\"\n ]\n};\n","var date = {};\nmodule[\"exports\"] = date;\ndate.month = require(\"./month\");\ndate.weekday = require(\"./weekday\");\n","module['exports'] = [\n \"/Applications\",\n\t\t\"/bin\",\n \"/boot\",\n \"/boot/defaults\",\n \"/dev\",\n \"/etc\",\n \"/etc/defaults\",\n \"/etc/mail\",\n \"/etc/namedb\",\n \"/etc/periodic\",\n \"/etc/ppp\",\n \"/home\",\n \"/home/user\",\n \"/home/user/dir\",\n \"/lib\",\n \"/Library\",\n \"/lost+found\",\n \"/media\",\n \"/mnt\",\n \"/net\",\n \"/Network\",\n \"/opt\",\n \"/opt/bin\",\n \"/opt/include\",\n \"/opt/lib\",\n \"/opt/sbin\",\n \"/opt/share\",\n \"/private\",\n \"/private/tmp\",\n \"/private/var\",\n \"/proc\",\n \"/rescue\",\n \"/root\",\n \"/sbin\",\n \"/selinux\",\n \"/srv\",\n \"/sys\",\n \"/System\",\n \"/tmp\",\n \"/Users\",\n \"/usr\",\n \"/usr/X11R6\",\n \"/usr/bin\",\n \"/usr/include\",\n \"/usr/lib\",\n \"/usr/libdata\",\n \"/usr/libexec\",\n \"/usr/local/bin\",\n \"/usr/local/src\",\n \"/usr/obj\",\n \"/usr/ports\",\n \"/usr/sbin\",\n \"/usr/share\",\n \"/usr/src\",\n \"/var\",\n \"/var/log\",\n \"/var/mail\",\n \"/var/spool\",\n \"/var/tmp\",\n \"/var/yp\"\n];\n","/*\n\nThe MIT License (MIT)\n\nCopyright (c) 2014 Jonathan Ong me@jongleberry.com\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n\nDefinitions from mime-db v1.21.0\nFor updates check: https://github.com/jshttp/mime-db/blob/master/db.json\n\n*/\n\nmodule['exports'] = {\n \"application/1d-interleaved-parityfec\": {\n \"source\": \"iana\"\n },\n \"application/3gpdash-qoe-report+xml\": {\n \"source\": \"iana\"\n },\n \"application/3gpp-ims+xml\": {\n \"source\": \"iana\"\n },\n \"application/a2l\": {\n \"source\": \"iana\"\n },\n \"application/activemessage\": {\n \"source\": \"iana\"\n },\n \"application/alto-costmap+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-costmapfilter+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-directory+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-endpointcost+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-endpointcostparams+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-endpointprop+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-endpointpropparams+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-error+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-networkmap+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-networkmapfilter+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/aml\": {\n \"source\": \"iana\"\n },\n \"application/andrew-inset\": {\n \"source\": \"iana\",\n \"extensions\": [\"ez\"]\n },\n \"application/applefile\": {\n \"source\": \"iana\"\n },\n \"application/applixware\": {\n \"source\": \"apache\",\n \"extensions\": [\"aw\"]\n },\n \"application/atf\": {\n \"source\": \"iana\"\n },\n \"application/atfx\": {\n \"source\": \"iana\"\n },\n \"application/atom+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"atom\"]\n },\n \"application/atomcat+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"atomcat\"]\n },\n \"application/atomdeleted+xml\": {\n \"source\": \"iana\"\n },\n \"application/atomicmail\": {\n \"source\": \"iana\"\n },\n \"application/atomsvc+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"atomsvc\"]\n },\n \"application/atxml\": {\n \"source\": \"iana\"\n },\n \"application/auth-policy+xml\": {\n \"source\": \"iana\"\n },\n \"application/bacnet-xdd+zip\": {\n \"source\": \"iana\"\n },\n \"application/batch-smtp\": {\n \"source\": \"iana\"\n },\n \"application/bdoc\": {\n \"compressible\": false,\n \"extensions\": [\"bdoc\"]\n },\n \"application/beep+xml\": {\n \"source\": \"iana\"\n },\n \"application/calendar+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/calendar+xml\": {\n \"source\": \"iana\"\n },\n \"application/call-completion\": {\n \"source\": \"iana\"\n },\n \"application/cals-1840\": {\n \"source\": \"iana\"\n },\n \"application/cbor\": {\n \"source\": \"iana\"\n },\n \"application/ccmp+xml\": {\n \"source\": \"iana\"\n },\n \"application/ccxml+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"ccxml\"]\n },\n \"application/cdfx+xml\": {\n \"source\": \"iana\"\n },\n \"application/cdmi-capability\": {\n \"source\": \"iana\",\n \"extensions\": [\"cdmia\"]\n },\n \"application/cdmi-container\": {\n \"source\": \"iana\",\n \"extensions\": [\"cdmic\"]\n },\n \"application/cdmi-domain\": {\n \"source\": \"iana\",\n \"extensions\": [\"cdmid\"]\n },\n \"application/cdmi-object\": {\n \"source\": \"iana\",\n \"extensions\": [\"cdmio\"]\n },\n \"application/cdmi-queue\": {\n \"source\": \"iana\",\n \"extensions\": [\"cdmiq\"]\n },\n \"application/cdni\": {\n \"source\": \"iana\"\n },\n \"application/cea\": {\n \"source\": \"iana\"\n },\n \"application/cea-2018+xml\": {\n \"source\": \"iana\"\n },\n \"application/cellml+xml\": {\n \"source\": \"iana\"\n },\n \"application/cfw\": {\n \"source\": \"iana\"\n },\n \"application/cms\": {\n \"source\": \"iana\"\n },\n \"application/cnrp+xml\": {\n \"source\": \"iana\"\n },\n \"application/coap-group+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/commonground\": {\n \"source\": \"iana\"\n },\n \"application/conference-info+xml\": {\n \"source\": \"iana\"\n },\n \"application/cpl+xml\": {\n \"source\": \"iana\"\n },\n \"application/csrattrs\": {\n \"source\": \"iana\"\n },\n \"application/csta+xml\": {\n \"source\": \"iana\"\n },\n \"application/cstadata+xml\": {\n \"source\": \"iana\"\n },\n \"application/csvm+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/cu-seeme\": {\n \"source\": \"apache\",\n \"extensions\": [\"cu\"]\n },\n \"application/cybercash\": {\n \"source\": \"iana\"\n },\n \"application/dart\": {\n \"compressible\": true\n },\n \"application/dash+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"mdp\"]\n },\n \"application/dashdelta\": {\n \"source\": \"iana\"\n },\n \"application/davmount+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"davmount\"]\n },\n \"application/dca-rft\": {\n \"source\": \"iana\"\n },\n \"application/dcd\": {\n \"source\": \"iana\"\n },\n \"application/dec-dx\": {\n \"source\": \"iana\"\n },\n \"application/dialog-info+xml\": {\n \"source\": \"iana\"\n },\n \"application/dicom\": {\n \"source\": \"iana\"\n },\n \"application/dii\": {\n \"source\": \"iana\"\n },\n \"application/dit\": {\n \"source\": \"iana\"\n },\n \"application/dns\": {\n \"source\": \"iana\"\n },\n \"application/docbook+xml\": {\n \"source\": \"apache\",\n \"extensions\": [\"dbk\"]\n },\n \"application/dskpp+xml\": {\n \"source\": \"iana\"\n },\n \"application/dssc+der\": {\n \"source\": \"iana\",\n \"extensions\": [\"dssc\"]\n },\n \"application/dssc+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"xdssc\"]\n },\n \"application/dvcs\": {\n \"source\": \"iana\"\n },\n \"application/ecmascript\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"ecma\"]\n },\n \"application/edi-consent\": {\n \"source\": \"iana\"\n },\n \"application/edi-x12\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/edifact\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/emergencycalldata.comment+xml\": {\n \"source\": \"iana\"\n },\n \"application/emergencycalldata.deviceinfo+xml\": {\n \"source\": \"iana\"\n },\n \"application/emergencycalldata.providerinfo+xml\": {\n \"source\": \"iana\"\n },\n \"application/emergencycalldata.serviceinfo+xml\": {\n \"source\": \"iana\"\n },\n \"application/emergencycalldata.subscriberinfo+xml\": {\n \"source\": \"iana\"\n },\n \"application/emma+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"emma\"]\n },\n \"application/emotionml+xml\": {\n \"source\": \"iana\"\n },\n \"application/encaprtp\": {\n \"source\": \"iana\"\n },\n \"application/epp+xml\": {\n \"source\": \"iana\"\n },\n \"application/epub+zip\": {\n \"source\": \"iana\",\n \"extensions\": [\"epub\"]\n },\n \"application/eshop\": {\n \"source\": \"iana\"\n },\n \"application/exi\": {\n \"source\": \"iana\",\n \"extensions\": [\"exi\"]\n },\n \"application/fastinfoset\": {\n \"source\": \"iana\"\n },\n \"application/fastsoap\": {\n \"source\": \"iana\"\n },\n \"application/fdt+xml\": {\n \"source\": \"iana\"\n },\n \"application/fits\": {\n \"source\": \"iana\"\n },\n \"application/font-sfnt\": {\n \"source\": \"iana\"\n },\n \"application/font-tdpfr\": {\n \"source\": \"iana\",\n \"extensions\": [\"pfr\"]\n },\n \"application/font-woff\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"woff\"]\n },\n \"application/font-woff2\": {\n \"compressible\": false,\n \"extensions\": [\"woff2\"]\n },\n \"application/framework-attributes+xml\": {\n \"source\": \"iana\"\n },\n \"application/gml+xml\": {\n \"source\": \"apache\",\n \"extensions\": [\"gml\"]\n },\n \"application/gpx+xml\": {\n \"source\": \"apache\",\n \"extensions\": [\"gpx\"]\n },\n \"application/gxf\": {\n \"source\": \"apache\",\n \"extensions\": [\"gxf\"]\n },\n \"application/gzip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/h224\": {\n \"source\": \"iana\"\n },\n \"application/held+xml\": {\n \"source\": \"iana\"\n },\n \"application/http\": {\n \"source\": \"iana\"\n },\n \"application/hyperstudio\": {\n \"source\": \"iana\",\n \"extensions\": [\"stk\"]\n },\n \"application/ibe-key-request+xml\": {\n \"source\": \"iana\"\n },\n \"application/ibe-pkg-reply+xml\": {\n \"source\": \"iana\"\n },\n \"application/ibe-pp-data\": {\n \"source\": \"iana\"\n },\n \"application/iges\": {\n \"source\": \"iana\"\n },\n \"application/im-iscomposing+xml\": {\n \"source\": \"iana\"\n },\n \"application/index\": {\n \"source\": \"iana\"\n },\n \"application/index.cmd\": {\n \"source\": \"iana\"\n },\n \"application/index.obj\": {\n \"source\": \"iana\"\n },\n \"application/index.response\": {\n \"source\": \"iana\"\n },\n \"application/index.vnd\": {\n \"source\": \"iana\"\n },\n \"application/inkml+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"ink\",\"inkml\"]\n },\n \"application/iotp\": {\n \"source\": \"iana\"\n },\n \"application/ipfix\": {\n \"source\": \"iana\",\n \"extensions\": [\"ipfix\"]\n },\n \"application/ipp\": {\n \"source\": \"iana\"\n },\n \"application/isup\": {\n \"source\": \"iana\"\n },\n \"application/its+xml\": {\n \"source\": \"iana\"\n },\n \"application/java-archive\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"jar\",\"war\",\"ear\"]\n },\n \"application/java-serialized-object\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"ser\"]\n },\n \"application/java-vm\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"class\"]\n },\n \"application/javascript\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true,\n \"extensions\": [\"js\"]\n },\n \"application/jose\": {\n \"source\": \"iana\"\n },\n \"application/jose+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/jrd+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/json\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true,\n \"extensions\": [\"json\",\"map\"]\n },\n \"application/json-patch+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/json-seq\": {\n \"source\": \"iana\"\n },\n \"application/json5\": {\n \"extensions\": [\"json5\"]\n },\n \"application/jsonml+json\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"jsonml\"]\n },\n \"application/jwk+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/jwk-set+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/jwt\": {\n \"source\": \"iana\"\n },\n \"application/kpml-request+xml\": {\n \"source\": \"iana\"\n },\n \"application/kpml-response+xml\": {\n \"source\": \"iana\"\n },\n \"application/ld+json\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"jsonld\"]\n },\n \"application/link-format\": {\n \"source\": \"iana\"\n },\n \"application/load-control+xml\": {\n \"source\": \"iana\"\n },\n \"application/lost+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"lostxml\"]\n },\n \"application/lostsync+xml\": {\n \"source\": \"iana\"\n },\n \"application/lxf\": {\n \"source\": \"iana\"\n },\n \"application/mac-binhex40\": {\n \"source\": \"iana\",\n \"extensions\": [\"hqx\"]\n },\n \"application/mac-compactpro\": {\n \"source\": \"apache\",\n \"extensions\": [\"cpt\"]\n },\n \"application/macwriteii\": {\n \"source\": \"iana\"\n },\n \"application/mads+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"mads\"]\n },\n \"application/manifest+json\": {\n \"charset\": \"UTF-8\",\n \"compressible\": true,\n \"extensions\": [\"webmanifest\"]\n },\n \"application/marc\": {\n \"source\": \"iana\",\n \"extensions\": [\"mrc\"]\n },\n \"application/marcxml+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"mrcx\"]\n },\n \"application/mathematica\": {\n \"source\": \"iana\",\n \"extensions\": [\"ma\",\"nb\",\"mb\"]\n },\n \"application/mathml+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"mathml\"]\n },\n \"application/mathml-content+xml\": {\n \"source\": \"iana\"\n },\n \"application/mathml-presentation+xml\": {\n \"source\": \"iana\"\n },\n \"application/mbms-associated-procedure-description+xml\": {\n \"source\": \"iana\"\n },\n \"application/mbms-deregister+xml\": {\n \"source\": \"iana\"\n },\n \"application/mbms-envelope+xml\": {\n \"source\": \"iana\"\n },\n \"application/mbms-msk+xml\": {\n \"source\": \"iana\"\n },\n \"application/mbms-msk-response+xml\": {\n \"source\": \"iana\"\n },\n \"application/mbms-protection-description+xml\": {\n \"source\": \"iana\"\n },\n \"application/mbms-reception-report+xml\": {\n \"source\": \"iana\"\n },\n \"application/mbms-register+xml\": {\n \"source\": \"iana\"\n },\n \"application/mbms-register-response+xml\": {\n \"source\": \"iana\"\n },\n \"application/mbms-schedule+xml\": {\n \"source\": \"iana\"\n },\n \"application/mbms-user-service-description+xml\": {\n \"source\": \"iana\"\n },\n \"application/mbox\": {\n \"source\": \"iana\",\n \"extensions\": [\"mbox\"]\n },\n \"application/media-policy-dataset+xml\": {\n \"source\": \"iana\"\n },\n \"application/media_control+xml\": {\n \"source\": \"iana\"\n },\n \"application/mediaservercontrol+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"mscml\"]\n },\n \"application/merge-patch+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/metalink+xml\": {\n \"source\": \"apache\",\n \"extensions\": [\"metalink\"]\n },\n \"application/metalink4+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"meta4\"]\n },\n \"application/mets+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"mets\"]\n },\n \"application/mf4\": {\n \"source\": \"iana\"\n },\n \"application/mikey\": {\n \"source\": \"iana\"\n },\n \"application/mods+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"mods\"]\n },\n \"application/moss-keys\": {\n \"source\": \"iana\"\n },\n \"application/moss-signature\": {\n \"source\": \"iana\"\n },\n \"application/mosskey-data\": {\n \"source\": \"iana\"\n },\n \"application/mosskey-request\": {\n \"source\": \"iana\"\n },\n \"application/mp21\": {\n \"source\": \"iana\",\n \"extensions\": [\"m21\",\"mp21\"]\n },\n \"application/mp4\": {\n \"source\": \"iana\",\n \"extensions\": [\"mp4s\",\"m4p\"]\n },\n \"application/mpeg4-generic\": {\n \"source\": \"iana\"\n },\n \"application/mpeg4-iod\": {\n \"source\": \"iana\"\n },\n \"application/mpeg4-iod-xmt\": {\n \"source\": \"iana\"\n },\n \"application/mrb-consumer+xml\": {\n \"source\": \"iana\"\n },\n \"application/mrb-publish+xml\": {\n \"source\": \"iana\"\n },\n \"application/msc-ivr+xml\": {\n \"source\": \"iana\"\n },\n \"application/msc-mixer+xml\": {\n \"source\": \"iana\"\n },\n \"application/msword\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"doc\",\"dot\"]\n },\n \"application/mxf\": {\n \"source\": \"iana\",\n \"extensions\": [\"mxf\"]\n },\n \"application/nasdata\": {\n \"source\": \"iana\"\n },\n \"application/news-checkgroups\": {\n \"source\": \"iana\"\n },\n \"application/news-groupinfo\": {\n \"source\": \"iana\"\n },\n \"application/news-transmission\": {\n \"source\": \"iana\"\n },\n \"application/nlsml+xml\": {\n \"source\": \"iana\"\n },\n \"application/nss\": {\n \"source\": \"iana\"\n },\n \"application/ocsp-request\": {\n \"source\": \"iana\"\n },\n \"application/ocsp-response\": {\n \"source\": \"iana\"\n },\n \"application/octet-stream\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"bin\",\"dms\",\"lrf\",\"mar\",\"so\",\"dist\",\"distz\",\"pkg\",\"bpk\",\"dump\",\"elc\",\"deploy\",\"exe\",\"dll\",\"deb\",\"dmg\",\"iso\",\"img\",\"msi\",\"msp\",\"msm\",\"buffer\"]\n },\n \"application/oda\": {\n \"source\": \"iana\",\n \"extensions\": [\"oda\"]\n },\n \"application/odx\": {\n \"source\": \"iana\"\n },\n \"application/oebps-package+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"opf\"]\n },\n \"application/ogg\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"ogx\"]\n },\n \"application/omdoc+xml\": {\n \"source\": \"apache\",\n \"extensions\": [\"omdoc\"]\n },\n \"application/onenote\": {\n \"source\": \"apache\",\n \"extensions\": [\"onetoc\",\"onetoc2\",\"onetmp\",\"onepkg\"]\n },\n \"application/oxps\": {\n \"source\": \"iana\",\n \"extensions\": [\"oxps\"]\n },\n \"application/p2p-overlay+xml\": {\n \"source\": \"iana\"\n },\n \"application/parityfec\": {\n \"source\": \"iana\"\n },\n \"application/patch-ops-error+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"xer\"]\n },\n \"application/pdf\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"pdf\"]\n },\n \"application/pdx\": {\n \"source\": \"iana\"\n },\n \"application/pgp-encrypted\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"pgp\"]\n },\n \"application/pgp-keys\": {\n \"source\": \"iana\"\n },\n \"application/pgp-signature\": {\n \"source\": \"iana\",\n \"extensions\": [\"asc\",\"sig\"]\n },\n \"application/pics-rules\": {\n \"source\": \"apache\",\n \"extensions\": [\"prf\"]\n },\n \"application/pidf+xml\": {\n \"source\": \"iana\"\n },\n \"application/pidf-diff+xml\": {\n \"source\": \"iana\"\n },\n \"application/pkcs10\": {\n \"source\": \"iana\",\n \"extensions\": [\"p10\"]\n },\n \"application/pkcs12\": {\n \"source\": \"iana\"\n },\n \"application/pkcs7-mime\": {\n \"source\": \"iana\",\n \"extensions\": [\"p7m\",\"p7c\"]\n },\n \"application/pkcs7-signature\": {\n \"source\": \"iana\",\n \"extensions\": [\"p7s\"]\n },\n \"application/pkcs8\": {\n \"source\": \"iana\",\n \"extensions\": [\"p8\"]\n },\n \"application/pkix-attr-cert\": {\n \"source\": \"iana\",\n \"extensions\": [\"ac\"]\n },\n \"application/pkix-cert\": {\n \"source\": \"iana\",\n \"extensions\": [\"cer\"]\n },\n \"application/pkix-crl\": {\n \"source\": \"iana\",\n \"extensions\": [\"crl\"]\n },\n \"application/pkix-pkipath\": {\n \"source\": \"iana\",\n \"extensions\": [\"pkipath\"]\n },\n \"application/pkixcmp\": {\n \"source\": \"iana\",\n \"extensions\": [\"pki\"]\n },\n \"application/pls+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"pls\"]\n },\n \"application/poc-settings+xml\": {\n \"source\": \"iana\"\n },\n \"application/postscript\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"ai\",\"eps\",\"ps\"]\n },\n \"application/provenance+xml\": {\n \"source\": \"iana\"\n },\n \"application/prs.alvestrand.titrax-sheet\": {\n \"source\": \"iana\"\n },\n \"application/prs.cww\": {\n \"source\": \"iana\",\n \"extensions\": [\"cww\"]\n },\n \"application/prs.hpub+zip\": {\n \"source\": \"iana\"\n },\n \"application/prs.nprend\": {\n \"source\": \"iana\"\n },\n \"application/prs.plucker\": {\n \"source\": \"iana\"\n },\n \"application/prs.rdf-xml-crypt\": {\n \"source\": \"iana\"\n },\n \"application/prs.xsf+xml\": {\n \"source\": \"iana\"\n },\n \"application/pskc+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"pskcxml\"]\n },\n \"application/qsig\": {\n \"source\": \"iana\"\n },\n \"application/raptorfec\": {\n \"source\": \"iana\"\n },\n \"application/rdap+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/rdf+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rdf\"]\n },\n \"application/reginfo+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"rif\"]\n },\n \"application/relax-ng-compact-syntax\": {\n \"source\": \"iana\",\n \"extensions\": [\"rnc\"]\n },\n \"application/remote-printing\": {\n \"source\": \"iana\"\n },\n \"application/reputon+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/resource-lists+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"rl\"]\n },\n \"application/resource-lists-diff+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"rld\"]\n },\n \"application/rfc+xml\": {\n \"source\": \"iana\"\n },\n \"application/riscos\": {\n \"source\": \"iana\"\n },\n \"application/rlmi+xml\": {\n \"source\": \"iana\"\n },\n \"application/rls-services+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"rs\"]\n },\n \"application/rpki-ghostbusters\": {\n \"source\": \"iana\",\n \"extensions\": [\"gbr\"]\n },\n \"application/rpki-manifest\": {\n \"source\": \"iana\",\n \"extensions\": [\"mft\"]\n },\n \"application/rpki-roa\": {\n \"source\": \"iana\",\n \"extensions\": [\"roa\"]\n },\n \"application/rpki-updown\": {\n \"source\": \"iana\"\n },\n \"application/rsd+xml\": {\n \"source\": \"apache\",\n \"extensions\": [\"rsd\"]\n },\n \"application/rss+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"rss\"]\n },\n \"application/rtf\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rtf\"]\n },\n \"application/rtploopback\": {\n \"source\": \"iana\"\n },\n \"application/rtx\": {\n \"source\": \"iana\"\n },\n \"application/samlassertion+xml\": {\n \"source\": \"iana\"\n },\n \"application/samlmetadata+xml\": {\n \"source\": \"iana\"\n },\n \"application/sbml+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"sbml\"]\n },\n \"application/scaip+xml\": {\n \"source\": \"iana\"\n },\n \"application/scim+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/scvp-cv-request\": {\n \"source\": \"iana\",\n \"extensions\": [\"scq\"]\n },\n \"application/scvp-cv-response\": {\n \"source\": \"iana\",\n \"extensions\": [\"scs\"]\n },\n \"application/scvp-vp-request\": {\n \"source\": \"iana\",\n \"extensions\": [\"spq\"]\n },\n \"application/scvp-vp-response\": {\n \"source\": \"iana\",\n \"extensions\": [\"spp\"]\n },\n \"application/sdp\": {\n \"source\": \"iana\",\n \"extensions\": [\"sdp\"]\n },\n \"application/sep+xml\": {\n \"source\": \"iana\"\n },\n \"application/sep-exi\": {\n \"source\": \"iana\"\n },\n \"application/session-info\": {\n \"source\": \"iana\"\n },\n \"application/set-payment\": {\n \"source\": \"iana\"\n },\n \"application/set-payment-initiation\": {\n \"source\": \"iana\",\n \"extensions\": [\"setpay\"]\n },\n \"application/set-registration\": {\n \"source\": \"iana\"\n },\n \"application/set-registration-initiation\": {\n \"source\": \"iana\",\n \"extensions\": [\"setreg\"]\n },\n \"application/sgml\": {\n \"source\": \"iana\"\n },\n \"application/sgml-open-catalog\": {\n \"source\": \"iana\"\n },\n \"application/shf+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"shf\"]\n },\n \"application/sieve\": {\n \"source\": \"iana\"\n },\n \"application/simple-filter+xml\": {\n \"source\": \"iana\"\n },\n \"application/simple-message-summary\": {\n \"source\": \"iana\"\n },\n \"application/simplesymbolcontainer\": {\n \"source\": \"iana\"\n },\n \"application/slate\": {\n \"source\": \"iana\"\n },\n \"application/smil\": {\n \"source\": \"iana\"\n },\n \"application/smil+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"smi\",\"smil\"]\n },\n \"application/smpte336m\": {\n \"source\": \"iana\"\n },\n \"application/soap+fastinfoset\": {\n \"source\": \"iana\"\n },\n \"application/soap+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/sparql-query\": {\n \"source\": \"iana\",\n \"extensions\": [\"rq\"]\n },\n \"application/sparql-results+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"srx\"]\n },\n \"application/spirits-event+xml\": {\n \"source\": \"iana\"\n },\n \"application/sql\": {\n \"source\": \"iana\"\n },\n \"application/srgs\": {\n \"source\": \"iana\",\n \"extensions\": [\"gram\"]\n },\n \"application/srgs+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"grxml\"]\n },\n \"application/sru+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"sru\"]\n },\n \"application/ssdl+xml\": {\n \"source\": \"apache\",\n \"extensions\": [\"ssdl\"]\n },\n \"application/ssml+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"ssml\"]\n },\n \"application/tamp-apex-update\": {\n \"source\": \"iana\"\n },\n \"application/tamp-apex-update-confirm\": {\n \"source\": \"iana\"\n },\n \"application/tamp-community-update\": {\n \"source\": \"iana\"\n },\n \"application/tamp-community-update-confirm\": {\n \"source\": \"iana\"\n },\n \"application/tamp-error\": {\n \"source\": \"iana\"\n },\n \"application/tamp-sequence-adjust\": {\n \"source\": \"iana\"\n },\n \"application/tamp-sequence-adjust-confirm\": {\n \"source\": \"iana\"\n },\n \"application/tamp-status-query\": {\n \"source\": \"iana\"\n },\n \"application/tamp-status-response\": {\n \"source\": \"iana\"\n },\n \"application/tamp-update\": {\n \"source\": \"iana\"\n },\n \"application/tamp-update-confirm\": {\n \"source\": \"iana\"\n },\n \"application/tar\": {\n \"compressible\": true\n },\n \"application/tei+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"tei\",\"teicorpus\"]\n },\n \"application/thraud+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"tfi\"]\n },\n \"application/timestamp-query\": {\n \"source\": \"iana\"\n },\n \"application/timestamp-reply\": {\n \"source\": \"iana\"\n },\n \"application/timestamped-data\": {\n \"source\": \"iana\",\n \"extensions\": [\"tsd\"]\n },\n \"application/ttml+xml\": {\n \"source\": \"iana\"\n },\n \"application/tve-trigger\": {\n \"source\": \"iana\"\n },\n \"application/ulpfec\": {\n \"source\": \"iana\"\n },\n \"application/urc-grpsheet+xml\": {\n \"source\": \"iana\"\n },\n \"application/urc-ressheet+xml\": {\n \"source\": \"iana\"\n },\n \"application/urc-targetdesc+xml\": {\n \"source\": \"iana\"\n },\n \"application/urc-uisocketdesc+xml\": {\n \"source\": \"iana\"\n },\n \"application/vcard+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vcard+xml\": {\n \"source\": \"iana\"\n },\n \"application/vemmi\": {\n \"source\": \"iana\"\n },\n \"application/vividence.scriptfile\": {\n \"source\": \"apache\"\n },\n \"application/vnd.3gpp-prose+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp-prose-pc3ch+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.access-transfer-events+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.bsf+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.mid-call+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.pic-bw-large\": {\n \"source\": \"iana\",\n \"extensions\": [\"plb\"]\n },\n \"application/vnd.3gpp.pic-bw-small\": {\n \"source\": \"iana\",\n \"extensions\": [\"psb\"]\n },\n \"application/vnd.3gpp.pic-bw-var\": {\n \"source\": \"iana\",\n \"extensions\": [\"pvb\"]\n },\n \"application/vnd.3gpp.sms\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.srvcc-ext+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.srvcc-info+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.state-and-event-info+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.ussd+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp2.bcmcsinfo+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp2.sms\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp2.tcap\": {\n \"source\": \"iana\",\n \"extensions\": [\"tcap\"]\n },\n \"application/vnd.3m.post-it-notes\": {\n \"source\": \"iana\",\n \"extensions\": [\"pwn\"]\n },\n \"application/vnd.accpac.simply.aso\": {\n \"source\": \"iana\",\n \"extensions\": [\"aso\"]\n },\n \"application/vnd.accpac.simply.imp\": {\n \"source\": \"iana\",\n \"extensions\": [\"imp\"]\n },\n \"application/vnd.acucobol\": {\n \"source\": \"iana\",\n \"extensions\": [\"acu\"]\n },\n \"application/vnd.acucorp\": {\n \"source\": \"iana\",\n \"extensions\": [\"atc\",\"acutc\"]\n },\n \"application/vnd.adobe.air-application-installer-package+zip\": {\n \"source\": \"apache\",\n \"extensions\": [\"air\"]\n },\n \"application/vnd.adobe.flash.movie\": {\n \"source\": \"iana\"\n },\n \"application/vnd.adobe.formscentral.fcdt\": {\n \"source\": \"iana\",\n \"extensions\": [\"fcdt\"]\n },\n \"application/vnd.adobe.fxp\": {\n \"source\": \"iana\",\n \"extensions\": [\"fxp\",\"fxpl\"]\n },\n \"application/vnd.adobe.partial-upload\": {\n \"source\": \"iana\"\n },\n \"application/vnd.adobe.xdp+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"xdp\"]\n },\n \"application/vnd.adobe.xfdf\": {\n \"source\": \"iana\",\n \"extensions\": [\"xfdf\"]\n },\n \"application/vnd.aether.imp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ah-barcode\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ahead.space\": {\n \"source\": \"iana\",\n \"extensions\": [\"ahead\"]\n },\n \"application/vnd.airzip.filesecure.azf\": {\n \"source\": \"iana\",\n \"extensions\": [\"azf\"]\n },\n \"application/vnd.airzip.filesecure.azs\": {\n \"source\": \"iana\",\n \"extensions\": [\"azs\"]\n },\n \"application/vnd.amazon.ebook\": {\n \"source\": \"apache\",\n \"extensions\": [\"azw\"]\n },\n \"application/vnd.americandynamics.acc\": {\n \"source\": \"iana\",\n \"extensions\": [\"acc\"]\n },\n \"application/vnd.amiga.ami\": {\n \"source\": \"iana\",\n \"extensions\": [\"ami\"]\n },\n \"application/vnd.amundsen.maze+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.android.package-archive\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"apk\"]\n },\n \"application/vnd.anki\": {\n \"source\": \"iana\"\n },\n \"application/vnd.anser-web-certificate-issue-initiation\": {\n \"source\": \"iana\",\n \"extensions\": [\"cii\"]\n },\n \"application/vnd.anser-web-funds-transfer-initiation\": {\n \"source\": \"apache\",\n \"extensions\": [\"fti\"]\n },\n \"application/vnd.antix.game-component\": {\n \"source\": \"iana\",\n \"extensions\": [\"atx\"]\n },\n \"application/vnd.apache.thrift.binary\": {\n \"source\": \"iana\"\n },\n \"application/vnd.apache.thrift.compact\": {\n \"source\": \"iana\"\n },\n \"application/vnd.apache.thrift.json\": {\n \"source\": \"iana\"\n },\n \"application/vnd.api+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.apple.installer+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"mpkg\"]\n },\n \"application/vnd.apple.mpegurl\": {\n \"source\": \"iana\",\n \"extensions\": [\"m3u8\"]\n },\n \"application/vnd.apple.pkpass\": {\n \"compressible\": false,\n \"extensions\": [\"pkpass\"]\n },\n \"application/vnd.arastra.swi\": {\n \"source\": \"iana\"\n },\n \"application/vnd.aristanetworks.swi\": {\n \"source\": \"iana\",\n \"extensions\": [\"swi\"]\n },\n \"application/vnd.artsquare\": {\n \"source\": \"iana\"\n },\n \"application/vnd.astraea-software.iota\": {\n \"source\": \"iana\",\n \"extensions\": [\"iota\"]\n },\n \"application/vnd.audiograph\": {\n \"source\": \"iana\",\n \"extensions\": [\"aep\"]\n },\n \"application/vnd.autopackage\": {\n \"source\": \"iana\"\n },\n \"application/vnd.avistar+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.balsamiq.bmml+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.balsamiq.bmpr\": {\n \"source\": \"iana\"\n },\n \"application/vnd.bekitzur-stech+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.biopax.rdf+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.blueice.multipass\": {\n \"source\": \"iana\",\n \"extensions\": [\"mpm\"]\n },\n \"application/vnd.bluetooth.ep.oob\": {\n \"source\": \"iana\"\n },\n \"application/vnd.bluetooth.le.oob\": {\n \"source\": \"iana\"\n },\n \"application/vnd.bmi\": {\n \"source\": \"iana\",\n \"extensions\": [\"bmi\"]\n },\n \"application/vnd.businessobjects\": {\n \"source\": \"iana\",\n \"extensions\": [\"rep\"]\n },\n \"application/vnd.cab-jscript\": {\n \"source\": \"iana\"\n },\n \"application/vnd.canon-cpdl\": {\n \"source\": \"iana\"\n },\n \"application/vnd.canon-lips\": {\n \"source\": \"iana\"\n },\n \"application/vnd.cendio.thinlinc.clientconf\": {\n \"source\": \"iana\"\n },\n \"application/vnd.century-systems.tcp_stream\": {\n \"source\": \"iana\"\n },\n \"application/vnd.chemdraw+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"cdxml\"]\n },\n \"application/vnd.chipnuts.karaoke-mmd\": {\n \"source\": \"iana\",\n \"extensions\": [\"mmd\"]\n },\n \"application/vnd.cinderella\": {\n \"source\": \"iana\",\n \"extensions\": [\"cdy\"]\n },\n \"application/vnd.cirpack.isdn-ext\": {\n \"source\": \"iana\"\n },\n \"application/vnd.citationstyles.style+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.claymore\": {\n \"source\": \"iana\",\n \"extensions\": [\"cla\"]\n },\n \"application/vnd.cloanto.rp9\": {\n \"source\": \"iana\",\n \"extensions\": [\"rp9\"]\n },\n \"application/vnd.clonk.c4group\": {\n \"source\": \"iana\",\n \"extensions\": [\"c4g\",\"c4d\",\"c4f\",\"c4p\",\"c4u\"]\n },\n \"application/vnd.cluetrust.cartomobile-config\": {\n \"source\": \"iana\",\n \"extensions\": [\"c11amc\"]\n },\n \"application/vnd.cluetrust.cartomobile-config-pkg\": {\n \"source\": \"iana\",\n \"extensions\": [\"c11amz\"]\n },\n \"application/vnd.coffeescript\": {\n \"source\": \"iana\"\n },\n \"application/vnd.collection+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.collection.doc+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.collection.next+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.commerce-battelle\": {\n \"source\": \"iana\"\n },\n \"application/vnd.commonspace\": {\n \"source\": \"iana\",\n \"extensions\": [\"csp\"]\n },\n \"application/vnd.contact.cmsg\": {\n \"source\": \"iana\",\n \"extensions\": [\"cdbcmsg\"]\n },\n \"application/vnd.cosmocaller\": {\n \"source\": \"iana\",\n \"extensions\": [\"cmc\"]\n },\n \"application/vnd.crick.clicker\": {\n \"source\": \"iana\",\n \"extensions\": [\"clkx\"]\n },\n \"application/vnd.crick.clicker.keyboard\": {\n \"source\": \"iana\",\n \"extensions\": [\"clkk\"]\n },\n \"application/vnd.crick.clicker.palette\": {\n \"source\": \"iana\",\n \"extensions\": [\"clkp\"]\n },\n \"application/vnd.crick.clicker.template\": {\n \"source\": \"iana\",\n \"extensions\": [\"clkt\"]\n },\n \"application/vnd.crick.clicker.wordbank\": {\n \"source\": \"iana\",\n \"extensions\": [\"clkw\"]\n },\n \"application/vnd.criticaltools.wbs+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"wbs\"]\n },\n \"application/vnd.ctc-posml\": {\n \"source\": \"iana\",\n \"extensions\": [\"pml\"]\n },\n \"application/vnd.ctct.ws+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.cups-pdf\": {\n \"source\": \"iana\"\n },\n \"application/vnd.cups-postscript\": {\n \"source\": \"iana\"\n },\n \"application/vnd.cups-ppd\": {\n \"source\": \"iana\",\n \"extensions\": [\"ppd\"]\n },\n \"application/vnd.cups-raster\": {\n \"source\": \"iana\"\n },\n \"application/vnd.cups-raw\": {\n \"source\": \"iana\"\n },\n \"application/vnd.curl\": {\n \"source\": \"iana\"\n },\n \"application/vnd.curl.car\": {\n \"source\": \"apache\",\n \"extensions\": [\"car\"]\n },\n \"application/vnd.curl.pcurl\": {\n \"source\": \"apache\",\n \"extensions\": [\"pcurl\"]\n },\n \"application/vnd.cyan.dean.root+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.cybank\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dart\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"dart\"]\n },\n \"application/vnd.data-vision.rdz\": {\n \"source\": \"iana\",\n \"extensions\": [\"rdz\"]\n },\n \"application/vnd.debian.binary-package\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dece.data\": {\n \"source\": \"iana\",\n \"extensions\": [\"uvf\",\"uvvf\",\"uvd\",\"uvvd\"]\n },\n \"application/vnd.dece.ttml+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"uvt\",\"uvvt\"]\n },\n \"application/vnd.dece.unspecified\": {\n \"source\": \"iana\",\n \"extensions\": [\"uvx\",\"uvvx\"]\n },\n \"application/vnd.dece.zip\": {\n \"source\": \"iana\",\n \"extensions\": [\"uvz\",\"uvvz\"]\n },\n \"application/vnd.denovo.fcselayout-link\": {\n \"source\": \"iana\",\n \"extensions\": [\"fe_launch\"]\n },\n \"application/vnd.desmume-movie\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dir-bi.plate-dl-nosuffix\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dm.delegation+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dna\": {\n \"source\": \"iana\",\n \"extensions\": [\"dna\"]\n },\n \"application/vnd.document+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.dolby.mlp\": {\n \"source\": \"apache\",\n \"extensions\": [\"mlp\"]\n },\n \"application/vnd.dolby.mobile.1\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dolby.mobile.2\": {\n \"source\": \"iana\"\n },\n \"application/vnd.doremir.scorecloud-binary-document\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dpgraph\": {\n \"source\": \"iana\",\n \"extensions\": [\"dpg\"]\n },\n \"application/vnd.dreamfactory\": {\n \"source\": \"iana\",\n \"extensions\": [\"dfac\"]\n },\n \"application/vnd.drive+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ds-keypoint\": {\n \"source\": \"apache\",\n \"extensions\": [\"kpxx\"]\n },\n \"application/vnd.dtg.local\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dtg.local.flash\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dtg.local.html\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.ait\": {\n \"source\": \"iana\",\n \"extensions\": [\"ait\"]\n },\n \"application/vnd.dvb.dvbj\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.esgcontainer\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.ipdcdftnotifaccess\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.ipdcesgaccess\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.ipdcesgaccess2\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.ipdcesgpdd\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.ipdcroaming\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.iptv.alfec-base\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.iptv.alfec-enhancement\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.notif-aggregate-root+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.notif-container+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.notif-generic+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.notif-ia-msglist+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.notif-ia-registration-request+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.notif-ia-registration-response+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.notif-init+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.pfr\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.service\": {\n \"source\": \"iana\",\n \"extensions\": [\"svc\"]\n },\n \"application/vnd.dxr\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dynageo\": {\n \"source\": \"iana\",\n \"extensions\": [\"geo\"]\n },\n \"application/vnd.dzr\": {\n \"source\": \"iana\"\n },\n \"application/vnd.easykaraoke.cdgdownload\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ecdis-update\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ecowin.chart\": {\n \"source\": \"iana\",\n \"extensions\": [\"mag\"]\n },\n \"application/vnd.ecowin.filerequest\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ecowin.fileupdate\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ecowin.series\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ecowin.seriesrequest\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ecowin.seriesupdate\": {\n \"source\": \"iana\"\n },\n \"application/vnd.emclient.accessrequest+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.enliven\": {\n \"source\": \"iana\",\n \"extensions\": [\"nml\"]\n },\n \"application/vnd.enphase.envoy\": {\n \"source\": \"iana\"\n },\n \"application/vnd.eprints.data+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.epson.esf\": {\n \"source\": \"iana\",\n \"extensions\": [\"esf\"]\n },\n \"application/vnd.epson.msf\": {\n \"source\": \"iana\",\n \"extensions\": [\"msf\"]\n },\n \"application/vnd.epson.quickanime\": {\n \"source\": \"iana\",\n \"extensions\": [\"qam\"]\n },\n \"application/vnd.epson.salt\": {\n \"source\": \"iana\",\n \"extensions\": [\"slt\"]\n },\n \"application/vnd.epson.ssf\": {\n \"source\": \"iana\",\n \"extensions\": [\"ssf\"]\n },\n \"application/vnd.ericsson.quickcall\": {\n \"source\": \"iana\"\n },\n \"application/vnd.eszigno3+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"es3\",\"et3\"]\n },\n \"application/vnd.etsi.aoc+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.etsi.asic-e+zip\": {\n \"source\": \"iana\"\n },\n \"application/vnd.etsi.asic-s+zip\": {\n \"source\": \"iana\"\n },\n \"application/vnd.etsi.cug+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.etsi.iptvcommand+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.etsi.iptvdiscovery+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.etsi.iptvprofile+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.etsi.iptvsad-bc+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.etsi.iptvsad-cod+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.etsi.iptvsad-npvr+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.etsi.iptvservice+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.etsi.iptvsync+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.etsi.iptvueprofile+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.etsi.mcid+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.etsi.mheg5\": {\n \"source\": \"iana\"\n },\n \"application/vnd.etsi.overload-control-policy-dataset+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.etsi.pstn+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.etsi.sci+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.etsi.simservs+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.etsi.timestamp-token\": {\n \"source\": \"iana\"\n },\n \"application/vnd.etsi.tsl+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.etsi.tsl.der\": {\n \"source\": \"iana\"\n },\n \"application/vnd.eudora.data\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ezpix-album\": {\n \"source\": \"iana\",\n \"extensions\": [\"ez2\"]\n },\n \"application/vnd.ezpix-package\": {\n \"source\": \"iana\",\n \"extensions\": [\"ez3\"]\n },\n \"application/vnd.f-secure.mobile\": {\n \"source\": \"iana\"\n },\n \"application/vnd.fastcopy-disk-image\": {\n \"source\": \"iana\"\n },\n \"application/vnd.fdf\": {\n \"source\": \"iana\",\n \"extensions\": [\"fdf\"]\n },\n \"application/vnd.fdsn.mseed\": {\n \"source\": \"iana\",\n \"extensions\": [\"mseed\"]\n },\n \"application/vnd.fdsn.seed\": {\n \"source\": \"iana\",\n \"extensions\": [\"seed\",\"dataless\"]\n },\n \"application/vnd.ffsns\": {\n \"source\": \"iana\"\n },\n \"application/vnd.filmit.zfc\": {\n \"source\": \"iana\"\n },\n \"application/vnd.fints\": {\n \"source\": \"iana\"\n },\n \"application/vnd.firemonkeys.cloudcell\": {\n \"source\": \"iana\"\n },\n \"application/vnd.flographit\": {\n \"source\": \"iana\",\n \"extensions\": [\"gph\"]\n },\n \"application/vnd.fluxtime.clip\": {\n \"source\": \"iana\",\n \"extensions\": [\"ftc\"]\n },\n \"application/vnd.font-fontforge-sfd\": {\n \"source\": \"iana\"\n },\n \"application/vnd.framemaker\": {\n \"source\": \"iana\",\n \"extensions\": [\"fm\",\"frame\",\"maker\",\"book\"]\n },\n \"application/vnd.frogans.fnc\": {\n \"source\": \"iana\",\n \"extensions\": [\"fnc\"]\n },\n \"application/vnd.frogans.ltf\": {\n \"source\": \"iana\",\n \"extensions\": [\"ltf\"]\n },\n \"application/vnd.fsc.weblaunch\": {\n \"source\": \"iana\",\n \"extensions\": [\"fsc\"]\n },\n \"application/vnd.fujitsu.oasys\": {\n \"source\": \"iana\",\n \"extensions\": [\"oas\"]\n },\n \"application/vnd.fujitsu.oasys2\": {\n \"source\": \"iana\",\n \"extensions\": [\"oa2\"]\n },\n \"application/vnd.fujitsu.oasys3\": {\n \"source\": \"iana\",\n \"extensions\": [\"oa3\"]\n },\n \"application/vnd.fujitsu.oasysgp\": {\n \"source\": \"iana\",\n \"extensions\": [\"fg5\"]\n },\n \"application/vnd.fujitsu.oasysprs\": {\n \"source\": \"iana\",\n \"extensions\": [\"bh2\"]\n },\n \"application/vnd.fujixerox.art-ex\": {\n \"source\": \"iana\"\n },\n \"application/vnd.fujixerox.art4\": {\n \"source\": \"iana\"\n },\n \"application/vnd.fujixerox.ddd\": {\n \"source\": \"iana\",\n \"extensions\": [\"ddd\"]\n },\n \"application/vnd.fujixerox.docuworks\": {\n \"source\": \"iana\",\n \"extensions\": [\"xdw\"]\n },\n \"application/vnd.fujixerox.docuworks.binder\": {\n \"source\": \"iana\",\n \"extensions\": [\"xbd\"]\n },\n \"application/vnd.fujixerox.docuworks.container\": {\n \"source\": \"iana\"\n },\n \"application/vnd.fujixerox.hbpl\": {\n \"source\": \"iana\"\n },\n \"application/vnd.fut-misnet\": {\n \"source\": \"iana\"\n },\n \"application/vnd.fuzzysheet\": {\n \"source\": \"iana\",\n \"extensions\": [\"fzs\"]\n },\n \"application/vnd.genomatix.tuxedo\": {\n \"source\": \"iana\",\n \"extensions\": [\"txd\"]\n },\n \"application/vnd.geo+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.geocube+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.geogebra.file\": {\n \"source\": \"iana\",\n \"extensions\": [\"ggb\"]\n },\n \"application/vnd.geogebra.tool\": {\n \"source\": \"iana\",\n \"extensions\": [\"ggt\"]\n },\n \"application/vnd.geometry-explorer\": {\n \"source\": \"iana\",\n \"extensions\": [\"gex\",\"gre\"]\n },\n \"application/vnd.geonext\": {\n \"source\": \"iana\",\n \"extensions\": [\"gxt\"]\n },\n \"application/vnd.geoplan\": {\n \"source\": \"iana\",\n \"extensions\": [\"g2w\"]\n },\n \"application/vnd.geospace\": {\n \"source\": \"iana\",\n \"extensions\": [\"g3w\"]\n },\n \"application/vnd.gerber\": {\n \"source\": \"iana\"\n },\n \"application/vnd.globalplatform.card-content-mgt\": {\n \"source\": \"iana\"\n },\n \"application/vnd.globalplatform.card-content-mgt-response\": {\n \"source\": \"iana\"\n },\n \"application/vnd.gmx\": {\n \"source\": \"iana\",\n \"extensions\": [\"gmx\"]\n },\n \"application/vnd.google-apps.document\": {\n \"compressible\": false,\n \"extensions\": [\"gdoc\"]\n },\n \"application/vnd.google-apps.presentation\": {\n \"compressible\": false,\n \"extensions\": [\"gslides\"]\n },\n \"application/vnd.google-apps.spreadsheet\": {\n \"compressible\": false,\n \"extensions\": [\"gsheet\"]\n },\n \"application/vnd.google-earth.kml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"kml\"]\n },\n \"application/vnd.google-earth.kmz\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"kmz\"]\n },\n \"application/vnd.gov.sk.e-form+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.gov.sk.e-form+zip\": {\n \"source\": \"iana\"\n },\n \"application/vnd.gov.sk.xmldatacontainer+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.grafeq\": {\n \"source\": \"iana\",\n \"extensions\": [\"gqf\",\"gqs\"]\n },\n \"application/vnd.gridmp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.groove-account\": {\n \"source\": \"iana\",\n \"extensions\": [\"gac\"]\n },\n \"application/vnd.groove-help\": {\n \"source\": \"iana\",\n \"extensions\": [\"ghf\"]\n },\n \"application/vnd.groove-identity-message\": {\n \"source\": \"iana\",\n \"extensions\": [\"gim\"]\n },\n \"application/vnd.groove-injector\": {\n \"source\": \"iana\",\n \"extensions\": [\"grv\"]\n },\n \"application/vnd.groove-tool-message\": {\n \"source\": \"iana\",\n \"extensions\": [\"gtm\"]\n },\n \"application/vnd.groove-tool-template\": {\n \"source\": \"iana\",\n \"extensions\": [\"tpl\"]\n },\n \"application/vnd.groove-vcard\": {\n \"source\": \"iana\",\n \"extensions\": [\"vcg\"]\n },\n \"application/vnd.hal+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.hal+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"hal\"]\n },\n \"application/vnd.handheld-entertainment+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"zmm\"]\n },\n \"application/vnd.hbci\": {\n \"source\": \"iana\",\n \"extensions\": [\"hbci\"]\n },\n \"application/vnd.hcl-bireports\": {\n \"source\": \"iana\"\n },\n \"application/vnd.heroku+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.hhe.lesson-player\": {\n \"source\": \"iana\",\n \"extensions\": [\"les\"]\n },\n \"application/vnd.hp-hpgl\": {\n \"source\": \"iana\",\n \"extensions\": [\"hpgl\"]\n },\n \"application/vnd.hp-hpid\": {\n \"source\": \"iana\",\n \"extensions\": [\"hpid\"]\n },\n \"application/vnd.hp-hps\": {\n \"source\": \"iana\",\n \"extensions\": [\"hps\"]\n },\n \"application/vnd.hp-jlyt\": {\n \"source\": \"iana\",\n \"extensions\": [\"jlt\"]\n },\n \"application/vnd.hp-pcl\": {\n \"source\": \"iana\",\n \"extensions\": [\"pcl\"]\n },\n \"application/vnd.hp-pclxl\": {\n \"source\": \"iana\",\n \"extensions\": [\"pclxl\"]\n },\n \"application/vnd.httphone\": {\n \"source\": \"iana\"\n },\n \"application/vnd.hydrostatix.sof-data\": {\n \"source\": \"iana\",\n \"extensions\": [\"sfd-hdstx\"]\n },\n \"application/vnd.hyperdrive+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.hzn-3d-crossword\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ibm.afplinedata\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ibm.electronic-media\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ibm.minipay\": {\n \"source\": \"iana\",\n \"extensions\": [\"mpy\"]\n },\n \"application/vnd.ibm.modcap\": {\n \"source\": \"iana\",\n \"extensions\": [\"afp\",\"listafp\",\"list3820\"]\n },\n \"application/vnd.ibm.rights-management\": {\n \"source\": \"iana\",\n \"extensions\": [\"irm\"]\n },\n \"application/vnd.ibm.secure-container\": {\n \"source\": \"iana\",\n \"extensions\": [\"sc\"]\n },\n \"application/vnd.iccprofile\": {\n \"source\": \"iana\",\n \"extensions\": [\"icc\",\"icm\"]\n },\n \"application/vnd.ieee.1905\": {\n \"source\": \"iana\"\n },\n \"application/vnd.igloader\": {\n \"source\": \"iana\",\n \"extensions\": [\"igl\"]\n },\n \"application/vnd.immervision-ivp\": {\n \"source\": \"iana\",\n \"extensions\": [\"ivp\"]\n },\n \"application/vnd.immervision-ivu\": {\n \"source\": \"iana\",\n \"extensions\": [\"ivu\"]\n },\n \"application/vnd.ims.imsccv1p1\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ims.imsccv1p2\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ims.imsccv1p3\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ims.lis.v2.result+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ims.lti.v2.toolconsumerprofile+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ims.lti.v2.toolproxy+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ims.lti.v2.toolproxy.id+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ims.lti.v2.toolsettings+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ims.lti.v2.toolsettings.simple+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.informedcontrol.rms+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.informix-visionary\": {\n \"source\": \"iana\"\n },\n \"application/vnd.infotech.project\": {\n \"source\": \"iana\"\n },\n \"application/vnd.infotech.project+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.innopath.wamp.notification\": {\n \"source\": \"iana\"\n },\n \"application/vnd.insors.igm\": {\n \"source\": \"iana\",\n \"extensions\": [\"igm\"]\n },\n \"application/vnd.intercon.formnet\": {\n \"source\": \"iana\",\n \"extensions\": [\"xpw\",\"xpx\"]\n },\n \"application/vnd.intergeo\": {\n \"source\": \"iana\",\n \"extensions\": [\"i2g\"]\n },\n \"application/vnd.intertrust.digibox\": {\n \"source\": \"iana\"\n },\n \"application/vnd.intertrust.nncp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.intu.qbo\": {\n \"source\": \"iana\",\n \"extensions\": [\"qbo\"]\n },\n \"application/vnd.intu.qfx\": {\n \"source\": \"iana\",\n \"extensions\": [\"qfx\"]\n },\n \"application/vnd.iptc.g2.catalogitem+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.iptc.g2.conceptitem+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.iptc.g2.knowledgeitem+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.iptc.g2.newsitem+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.iptc.g2.newsmessage+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.iptc.g2.packageitem+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.iptc.g2.planningitem+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ipunplugged.rcprofile\": {\n \"source\": \"iana\",\n \"extensions\": [\"rcprofile\"]\n },\n \"application/vnd.irepository.package+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"irp\"]\n },\n \"application/vnd.is-xpr\": {\n \"source\": \"iana\",\n \"extensions\": [\"xpr\"]\n },\n \"application/vnd.isac.fcs\": {\n \"source\": \"iana\",\n \"extensions\": [\"fcs\"]\n },\n \"application/vnd.jam\": {\n \"source\": \"iana\",\n \"extensions\": [\"jam\"]\n },\n \"application/vnd.japannet-directory-service\": {\n \"source\": \"iana\"\n },\n \"application/vnd.japannet-jpnstore-wakeup\": {\n \"source\": \"iana\"\n },\n \"application/vnd.japannet-payment-wakeup\": {\n \"source\": \"iana\"\n },\n \"application/vnd.japannet-registration\": {\n \"source\": \"iana\"\n },\n \"application/vnd.japannet-registration-wakeup\": {\n \"source\": \"iana\"\n },\n \"application/vnd.japannet-setstore-wakeup\": {\n \"source\": \"iana\"\n },\n \"application/vnd.japannet-verification\": {\n \"source\": \"iana\"\n },\n \"application/vnd.japannet-verification-wakeup\": {\n \"source\": \"iana\"\n },\n \"application/vnd.jcp.javame.midlet-rms\": {\n \"source\": \"iana\",\n \"extensions\": [\"rms\"]\n },\n \"application/vnd.jisp\": {\n \"source\": \"iana\",\n \"extensions\": [\"jisp\"]\n },\n \"application/vnd.joost.joda-archive\": {\n \"source\": \"iana\",\n \"extensions\": [\"joda\"]\n },\n \"application/vnd.jsk.isdn-ngn\": {\n \"source\": \"iana\"\n },\n \"application/vnd.kahootz\": {\n \"source\": \"iana\",\n \"extensions\": [\"ktz\",\"ktr\"]\n },\n \"application/vnd.kde.karbon\": {\n \"source\": \"iana\",\n \"extensions\": [\"karbon\"]\n },\n \"application/vnd.kde.kchart\": {\n \"source\": \"iana\",\n \"extensions\": [\"chrt\"]\n },\n \"application/vnd.kde.kformula\": {\n \"source\": \"iana\",\n \"extensions\": [\"kfo\"]\n },\n \"application/vnd.kde.kivio\": {\n \"source\": \"iana\",\n \"extensions\": [\"flw\"]\n },\n \"application/vnd.kde.kontour\": {\n \"source\": \"iana\",\n \"extensions\": [\"kon\"]\n },\n \"application/vnd.kde.kpresenter\": {\n \"source\": \"iana\",\n \"extensions\": [\"kpr\",\"kpt\"]\n },\n \"application/vnd.kde.kspread\": {\n \"source\": \"iana\",\n \"extensions\": [\"ksp\"]\n },\n \"application/vnd.kde.kword\": {\n \"source\": \"iana\",\n \"extensions\": [\"kwd\",\"kwt\"]\n },\n \"application/vnd.kenameaapp\": {\n \"source\": \"iana\",\n \"extensions\": [\"htke\"]\n },\n \"application/vnd.kidspiration\": {\n \"source\": \"iana\",\n \"extensions\": [\"kia\"]\n },\n \"application/vnd.kinar\": {\n \"source\": \"iana\",\n \"extensions\": [\"kne\",\"knp\"]\n },\n \"application/vnd.koan\": {\n \"source\": \"iana\",\n \"extensions\": [\"skp\",\"skd\",\"skt\",\"skm\"]\n },\n \"application/vnd.kodak-descriptor\": {\n \"source\": \"iana\",\n \"extensions\": [\"sse\"]\n },\n \"application/vnd.las.las+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"lasxml\"]\n },\n \"application/vnd.liberty-request+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.llamagraphics.life-balance.desktop\": {\n \"source\": \"iana\",\n \"extensions\": [\"lbd\"]\n },\n \"application/vnd.llamagraphics.life-balance.exchange+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"lbe\"]\n },\n \"application/vnd.lotus-1-2-3\": {\n \"source\": \"iana\",\n \"extensions\": [\"123\"]\n },\n \"application/vnd.lotus-approach\": {\n \"source\": \"iana\",\n \"extensions\": [\"apr\"]\n },\n \"application/vnd.lotus-freelance\": {\n \"source\": \"iana\",\n \"extensions\": [\"pre\"]\n },\n \"application/vnd.lotus-notes\": {\n \"source\": \"iana\",\n \"extensions\": [\"nsf\"]\n },\n \"application/vnd.lotus-organizer\": {\n \"source\": \"iana\",\n \"extensions\": [\"org\"]\n },\n \"application/vnd.lotus-screencam\": {\n \"source\": \"iana\",\n \"extensions\": [\"scm\"]\n },\n \"application/vnd.lotus-wordpro\": {\n \"source\": \"iana\",\n \"extensions\": [\"lwp\"]\n },\n \"application/vnd.macports.portpkg\": {\n \"source\": \"iana\",\n \"extensions\": [\"portpkg\"]\n },\n \"application/vnd.mapbox-vector-tile\": {\n \"source\": \"iana\"\n },\n \"application/vnd.marlin.drm.actiontoken+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.marlin.drm.conftoken+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.marlin.drm.license+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.marlin.drm.mdcf\": {\n \"source\": \"iana\"\n },\n \"application/vnd.mason+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.maxmind.maxmind-db\": {\n \"source\": \"iana\"\n },\n \"application/vnd.mcd\": {\n \"source\": \"iana\",\n \"extensions\": [\"mcd\"]\n },\n \"application/vnd.medcalcdata\": {\n \"source\": \"iana\",\n \"extensions\": [\"mc1\"]\n },\n \"application/vnd.mediastation.cdkey\": {\n \"source\": \"iana\",\n \"extensions\": [\"cdkey\"]\n },\n \"application/vnd.meridian-slingshot\": {\n \"source\": \"iana\"\n },\n \"application/vnd.mfer\": {\n \"source\": \"iana\",\n \"extensions\": [\"mwf\"]\n },\n \"application/vnd.mfmp\": {\n \"source\": \"iana\",\n \"extensions\": [\"mfm\"]\n },\n \"application/vnd.micro+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.micrografx.flo\": {\n \"source\": \"iana\",\n \"extensions\": [\"flo\"]\n },\n \"application/vnd.micrografx.igx\": {\n \"source\": \"iana\",\n \"extensions\": [\"igx\"]\n },\n \"application/vnd.microsoft.portable-executable\": {\n \"source\": \"iana\"\n },\n \"application/vnd.miele+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.mif\": {\n \"source\": \"iana\",\n \"extensions\": [\"mif\"]\n },\n \"application/vnd.minisoft-hp3000-save\": {\n \"source\": \"iana\"\n },\n \"application/vnd.mitsubishi.misty-guard.trustweb\": {\n \"source\": \"iana\"\n },\n \"application/vnd.mobius.daf\": {\n \"source\": \"iana\",\n \"extensions\": [\"daf\"]\n },\n \"application/vnd.mobius.dis\": {\n \"source\": \"iana\",\n \"extensions\": [\"dis\"]\n },\n \"application/vnd.mobius.mbk\": {\n \"source\": \"iana\",\n \"extensions\": [\"mbk\"]\n },\n \"application/vnd.mobius.mqy\": {\n \"source\": \"iana\",\n \"extensions\": [\"mqy\"]\n },\n \"application/vnd.mobius.msl\": {\n \"source\": \"iana\",\n \"extensions\": [\"msl\"]\n },\n \"application/vnd.mobius.plc\": {\n \"source\": \"iana\",\n \"extensions\": [\"plc\"]\n },\n \"application/vnd.mobius.txf\": {\n \"source\": \"iana\",\n \"extensions\": [\"txf\"]\n },\n \"application/vnd.mophun.application\": {\n \"source\": \"iana\",\n \"extensions\": [\"mpn\"]\n },\n \"application/vnd.mophun.certificate\": {\n \"source\": \"iana\",\n \"extensions\": [\"mpc\"]\n },\n \"application/vnd.motorola.flexsuite\": {\n \"source\": \"iana\"\n },\n \"application/vnd.motorola.flexsuite.adsi\": {\n \"source\": \"iana\"\n },\n \"application/vnd.motorola.flexsuite.fis\": {\n \"source\": \"iana\"\n },\n \"application/vnd.motorola.flexsuite.gotap\": {\n \"source\": \"iana\"\n },\n \"application/vnd.motorola.flexsuite.kmr\": {\n \"source\": \"iana\"\n },\n \"application/vnd.motorola.flexsuite.ttc\": {\n \"source\": \"iana\"\n },\n \"application/vnd.motorola.flexsuite.wem\": {\n \"source\": \"iana\"\n },\n \"application/vnd.motorola.iprm\": {\n \"source\": \"iana\"\n },\n \"application/vnd.mozilla.xul+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xul\"]\n },\n \"application/vnd.ms-3mfdocument\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-artgalry\": {\n \"source\": \"iana\",\n \"extensions\": [\"cil\"]\n },\n \"application/vnd.ms-asf\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-cab-compressed\": {\n \"source\": \"iana\",\n \"extensions\": [\"cab\"]\n },\n \"application/vnd.ms-color.iccprofile\": {\n \"source\": \"apache\"\n },\n \"application/vnd.ms-excel\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"xls\",\"xlm\",\"xla\",\"xlc\",\"xlt\",\"xlw\"]\n },\n \"application/vnd.ms-excel.addin.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"xlam\"]\n },\n \"application/vnd.ms-excel.sheet.binary.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"xlsb\"]\n },\n \"application/vnd.ms-excel.sheet.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"xlsm\"]\n },\n \"application/vnd.ms-excel.template.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"xltm\"]\n },\n \"application/vnd.ms-fontobject\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"eot\"]\n },\n \"application/vnd.ms-htmlhelp\": {\n \"source\": \"iana\",\n \"extensions\": [\"chm\"]\n },\n \"application/vnd.ms-ims\": {\n \"source\": \"iana\",\n \"extensions\": [\"ims\"]\n },\n \"application/vnd.ms-lrm\": {\n \"source\": \"iana\",\n \"extensions\": [\"lrm\"]\n },\n \"application/vnd.ms-office.activex+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-officetheme\": {\n \"source\": \"iana\",\n \"extensions\": [\"thmx\"]\n },\n \"application/vnd.ms-opentype\": {\n \"source\": \"apache\",\n \"compressible\": true\n },\n \"application/vnd.ms-package.obfuscated-opentype\": {\n \"source\": \"apache\"\n },\n \"application/vnd.ms-pki.seccat\": {\n \"source\": \"apache\",\n \"extensions\": [\"cat\"]\n },\n \"application/vnd.ms-pki.stl\": {\n \"source\": \"apache\",\n \"extensions\": [\"stl\"]\n },\n \"application/vnd.ms-playready.initiator+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-powerpoint\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"ppt\",\"pps\",\"pot\"]\n },\n \"application/vnd.ms-powerpoint.addin.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"ppam\"]\n },\n \"application/vnd.ms-powerpoint.presentation.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"pptm\"]\n },\n \"application/vnd.ms-powerpoint.slide.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"sldm\"]\n },\n \"application/vnd.ms-powerpoint.slideshow.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"ppsm\"]\n },\n \"application/vnd.ms-powerpoint.template.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"potm\"]\n },\n \"application/vnd.ms-printdevicecapabilities+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-printing.printticket+xml\": {\n \"source\": \"apache\"\n },\n \"application/vnd.ms-project\": {\n \"source\": \"iana\",\n \"extensions\": [\"mpp\",\"mpt\"]\n },\n \"application/vnd.ms-tnef\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-windows.devicepairing\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-windows.nwprinting.oob\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-windows.printerpairing\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-windows.wsd.oob\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-wmdrm.lic-chlg-req\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-wmdrm.lic-resp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-wmdrm.meter-chlg-req\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-wmdrm.meter-resp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-word.document.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"docm\"]\n },\n \"application/vnd.ms-word.template.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"dotm\"]\n },\n \"application/vnd.ms-works\": {\n \"source\": \"iana\",\n \"extensions\": [\"wps\",\"wks\",\"wcm\",\"wdb\"]\n },\n \"application/vnd.ms-wpl\": {\n \"source\": \"iana\",\n \"extensions\": [\"wpl\"]\n },\n \"application/vnd.ms-xpsdocument\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"xps\"]\n },\n \"application/vnd.msa-disk-image\": {\n \"source\": \"iana\"\n },\n \"application/vnd.mseq\": {\n \"source\": \"iana\",\n \"extensions\": [\"mseq\"]\n },\n \"application/vnd.msign\": {\n \"source\": \"iana\"\n },\n \"application/vnd.multiad.creator\": {\n \"source\": \"iana\"\n },\n \"application/vnd.multiad.creator.cif\": {\n \"source\": \"iana\"\n },\n \"application/vnd.music-niff\": {\n \"source\": \"iana\"\n },\n \"application/vnd.musician\": {\n \"source\": \"iana\",\n \"extensions\": [\"mus\"]\n },\n \"application/vnd.muvee.style\": {\n \"source\": \"iana\",\n \"extensions\": [\"msty\"]\n },\n \"application/vnd.mynfc\": {\n \"source\": \"iana\",\n \"extensions\": [\"taglet\"]\n },\n \"application/vnd.ncd.control\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ncd.reference\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nervana\": {\n \"source\": \"iana\"\n },\n \"application/vnd.netfpx\": {\n \"source\": \"iana\"\n },\n \"application/vnd.neurolanguage.nlu\": {\n \"source\": \"iana\",\n \"extensions\": [\"nlu\"]\n },\n \"application/vnd.nintendo.nitro.rom\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nintendo.snes.rom\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nitf\": {\n \"source\": \"iana\",\n \"extensions\": [\"ntf\",\"nitf\"]\n },\n \"application/vnd.noblenet-directory\": {\n \"source\": \"iana\",\n \"extensions\": [\"nnd\"]\n },\n \"application/vnd.noblenet-sealer\": {\n \"source\": \"iana\",\n \"extensions\": [\"nns\"]\n },\n \"application/vnd.noblenet-web\": {\n \"source\": \"iana\",\n \"extensions\": [\"nnw\"]\n },\n \"application/vnd.nokia.catalogs\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nokia.conml+wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nokia.conml+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nokia.iptv.config+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nokia.isds-radio-presets\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nokia.landmark+wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nokia.landmark+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nokia.landmarkcollection+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nokia.n-gage.ac+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nokia.n-gage.data\": {\n \"source\": \"iana\",\n \"extensions\": [\"ngdat\"]\n },\n \"application/vnd.nokia.n-gage.symbian.install\": {\n \"source\": \"iana\",\n \"extensions\": [\"n-gage\"]\n },\n \"application/vnd.nokia.ncd\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nokia.pcd+wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nokia.pcd+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nokia.radio-preset\": {\n \"source\": \"iana\",\n \"extensions\": [\"rpst\"]\n },\n \"application/vnd.nokia.radio-presets\": {\n \"source\": \"iana\",\n \"extensions\": [\"rpss\"]\n },\n \"application/vnd.novadigm.edm\": {\n \"source\": \"iana\",\n \"extensions\": [\"edm\"]\n },\n \"application/vnd.novadigm.edx\": {\n \"source\": \"iana\",\n \"extensions\": [\"edx\"]\n },\n \"application/vnd.novadigm.ext\": {\n \"source\": \"iana\",\n \"extensions\": [\"ext\"]\n },\n \"application/vnd.ntt-local.content-share\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ntt-local.file-transfer\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ntt-local.ogw_remote-access\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ntt-local.sip-ta_remote\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ntt-local.sip-ta_tcp_stream\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oasis.opendocument.chart\": {\n \"source\": \"iana\",\n \"extensions\": [\"odc\"]\n },\n \"application/vnd.oasis.opendocument.chart-template\": {\n \"source\": \"iana\",\n \"extensions\": [\"otc\"]\n },\n \"application/vnd.oasis.opendocument.database\": {\n \"source\": \"iana\",\n \"extensions\": [\"odb\"]\n },\n \"application/vnd.oasis.opendocument.formula\": {\n \"source\": \"iana\",\n \"extensions\": [\"odf\"]\n },\n \"application/vnd.oasis.opendocument.formula-template\": {\n \"source\": \"iana\",\n \"extensions\": [\"odft\"]\n },\n \"application/vnd.oasis.opendocument.graphics\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"odg\"]\n },\n \"application/vnd.oasis.opendocument.graphics-template\": {\n \"source\": \"iana\",\n \"extensions\": [\"otg\"]\n },\n \"application/vnd.oasis.opendocument.image\": {\n \"source\": \"iana\",\n \"extensions\": [\"odi\"]\n },\n \"application/vnd.oasis.opendocument.image-template\": {\n \"source\": \"iana\",\n \"extensions\": [\"oti\"]\n },\n \"application/vnd.oasis.opendocument.presentation\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"odp\"]\n },\n \"application/vnd.oasis.opendocument.presentation-template\": {\n \"source\": \"iana\",\n \"extensions\": [\"otp\"]\n },\n \"application/vnd.oasis.opendocument.spreadsheet\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"ods\"]\n },\n \"application/vnd.oasis.opendocument.spreadsheet-template\": {\n \"source\": \"iana\",\n \"extensions\": [\"ots\"]\n },\n \"application/vnd.oasis.opendocument.text\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"odt\"]\n },\n \"application/vnd.oasis.opendocument.text-master\": {\n \"source\": \"iana\",\n \"extensions\": [\"odm\"]\n },\n \"application/vnd.oasis.opendocument.text-template\": {\n \"source\": \"iana\",\n \"extensions\": [\"ott\"]\n },\n \"application/vnd.oasis.opendocument.text-web\": {\n \"source\": \"iana\",\n \"extensions\": [\"oth\"]\n },\n \"application/vnd.obn\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oftn.l10n+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oipf.contentaccessdownload+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oipf.contentaccessstreaming+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oipf.cspg-hexbinary\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oipf.dae.svg+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oipf.dae.xhtml+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oipf.mippvcontrolmessage+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oipf.pae.gem\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oipf.spdiscovery+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oipf.spdlist+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oipf.ueprofile+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oipf.userprofile+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.olpc-sugar\": {\n \"source\": \"iana\",\n \"extensions\": [\"xo\"]\n },\n \"application/vnd.oma-scws-config\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma-scws-http-request\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma-scws-http-response\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.bcast.associated-procedure-parameter+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.bcast.drm-trigger+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.bcast.imd+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.bcast.ltkm\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.bcast.notification+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.bcast.provisioningtrigger\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.bcast.sgboot\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.bcast.sgdd+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.bcast.sgdu\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.bcast.simple-symbol-container\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.bcast.smartcard-trigger+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.bcast.sprov+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.bcast.stkm\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.cab-address-book+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.cab-feature-handler+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.cab-pcc+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.cab-subs-invite+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.cab-user-prefs+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.dcd\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.dcdc\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.dd2+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"dd2\"]\n },\n \"application/vnd.oma.drm.risd+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.group-usage-list+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.pal+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.poc.detailed-progress-report+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.poc.final-report+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.poc.groups+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.poc.invocation-descriptor+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.poc.optimized-progress-report+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.push\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.scidm.messages+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.xcap-directory+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.omads-email+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.omads-file+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.omads-folder+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.omaloc-supl-init\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openblox.game+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openblox.game-binary\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openeye.oeb\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openofficeorg.extension\": {\n \"source\": \"apache\",\n \"extensions\": [\"oxt\"]\n },\n \"application/vnd.openxmlformats-officedocument.custom-properties+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.customxmlproperties+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.drawing+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.drawingml.chart+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.extended-properties+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.presentationml-template\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.comments+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.presentation\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"pptx\"]\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.presprops+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.slide\": {\n \"source\": \"iana\",\n \"extensions\": [\"sldx\"]\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.slide+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.slideshow\": {\n \"source\": \"iana\",\n \"extensions\": [\"ppsx\"]\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.tags+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.template\": {\n \"source\": \"apache\",\n \"extensions\": [\"potx\"]\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.template.main+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml-template\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"xlsx\"]\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.template\": {\n \"source\": \"apache\",\n \"extensions\": [\"xltx\"]\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.theme+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.themeoverride+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.vmldrawing\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml-template\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"docx\"]\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.template\": {\n \"source\": \"apache\",\n \"extensions\": [\"dotx\"]\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-package.core-properties+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-package.relationships+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oracle.resource+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.orange.indata\": {\n \"source\": \"iana\"\n },\n \"application/vnd.osa.netdeploy\": {\n \"source\": \"iana\"\n },\n \"application/vnd.osgeo.mapguide.package\": {\n \"source\": \"iana\",\n \"extensions\": [\"mgp\"]\n },\n \"application/vnd.osgi.bundle\": {\n \"source\": \"iana\"\n },\n \"application/vnd.osgi.dp\": {\n \"source\": \"iana\",\n \"extensions\": [\"dp\"]\n },\n \"application/vnd.osgi.subsystem\": {\n \"source\": \"iana\",\n \"extensions\": [\"esa\"]\n },\n \"application/vnd.otps.ct-kip+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oxli.countgraph\": {\n \"source\": \"iana\"\n },\n \"application/vnd.pagerduty+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.palm\": {\n \"source\": \"iana\",\n \"extensions\": [\"pdb\",\"pqa\",\"oprc\"]\n },\n \"application/vnd.panoply\": {\n \"source\": \"iana\"\n },\n \"application/vnd.paos+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.paos.xml\": {\n \"source\": \"apache\"\n },\n \"application/vnd.pawaafile\": {\n \"source\": \"iana\",\n \"extensions\": [\"paw\"]\n },\n \"application/vnd.pcos\": {\n \"source\": \"iana\"\n },\n \"application/vnd.pg.format\": {\n \"source\": \"iana\",\n \"extensions\": [\"str\"]\n },\n \"application/vnd.pg.osasli\": {\n \"source\": \"iana\",\n \"extensions\": [\"ei6\"]\n },\n \"application/vnd.piaccess.application-licence\": {\n \"source\": \"iana\"\n },\n \"application/vnd.picsel\": {\n \"source\": \"iana\",\n \"extensions\": [\"efif\"]\n },\n \"application/vnd.pmi.widget\": {\n \"source\": \"iana\",\n \"extensions\": [\"wg\"]\n },\n \"application/vnd.poc.group-advertisement+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.pocketlearn\": {\n \"source\": \"iana\",\n \"extensions\": [\"plf\"]\n },\n \"application/vnd.powerbuilder6\": {\n \"source\": \"iana\",\n \"extensions\": [\"pbd\"]\n },\n \"application/vnd.powerbuilder6-s\": {\n \"source\": \"iana\"\n },\n \"application/vnd.powerbuilder7\": {\n \"source\": \"iana\"\n },\n \"application/vnd.powerbuilder7-s\": {\n \"source\": \"iana\"\n },\n \"application/vnd.powerbuilder75\": {\n \"source\": \"iana\"\n },\n \"application/vnd.powerbuilder75-s\": {\n \"source\": \"iana\"\n },\n \"application/vnd.preminet\": {\n \"source\": \"iana\"\n },\n \"application/vnd.previewsystems.box\": {\n \"source\": \"iana\",\n \"extensions\": [\"box\"]\n },\n \"application/vnd.proteus.magazine\": {\n \"source\": \"iana\",\n \"extensions\": [\"mgz\"]\n },\n \"application/vnd.publishare-delta-tree\": {\n \"source\": \"iana\",\n \"extensions\": [\"qps\"]\n },\n \"application/vnd.pvi.ptid1\": {\n \"source\": \"iana\",\n \"extensions\": [\"ptid\"]\n },\n \"application/vnd.pwg-multiplexed\": {\n \"source\": \"iana\"\n },\n \"application/vnd.pwg-xhtml-print+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.qualcomm.brew-app-res\": {\n \"source\": \"iana\"\n },\n \"application/vnd.quark.quarkxpress\": {\n \"source\": \"iana\",\n \"extensions\": [\"qxd\",\"qxt\",\"qwd\",\"qwt\",\"qxl\",\"qxb\"]\n },\n \"application/vnd.quobject-quoxdocument\": {\n \"source\": \"iana\"\n },\n \"application/vnd.radisys.moml+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.radisys.msml+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.radisys.msml-audit+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.radisys.msml-audit-conf+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.radisys.msml-audit-conn+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.radisys.msml-audit-dialog+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.radisys.msml-audit-stream+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.radisys.msml-conf+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.radisys.msml-dialog+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.radisys.msml-dialog-base+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.radisys.msml-dialog-fax-detect+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.radisys.msml-dialog-fax-sendrecv+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.radisys.msml-dialog-group+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.radisys.msml-dialog-speech+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.radisys.msml-dialog-transform+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.rainstor.data\": {\n \"source\": \"iana\"\n },\n \"application/vnd.rapid\": {\n \"source\": \"iana\"\n },\n \"application/vnd.realvnc.bed\": {\n \"source\": \"iana\",\n \"extensions\": [\"bed\"]\n },\n \"application/vnd.recordare.musicxml\": {\n \"source\": \"iana\",\n \"extensions\": [\"mxl\"]\n },\n \"application/vnd.recordare.musicxml+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"musicxml\"]\n },\n \"application/vnd.renlearn.rlprint\": {\n \"source\": \"iana\"\n },\n \"application/vnd.rig.cryptonote\": {\n \"source\": \"iana\",\n \"extensions\": [\"cryptonote\"]\n },\n \"application/vnd.rim.cod\": {\n \"source\": \"apache\",\n \"extensions\": [\"cod\"]\n },\n \"application/vnd.rn-realmedia\": {\n \"source\": \"apache\",\n \"extensions\": [\"rm\"]\n },\n \"application/vnd.rn-realmedia-vbr\": {\n \"source\": \"apache\",\n \"extensions\": [\"rmvb\"]\n },\n \"application/vnd.route66.link66+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"link66\"]\n },\n \"application/vnd.rs-274x\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ruckus.download\": {\n \"source\": \"iana\"\n },\n \"application/vnd.s3sms\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sailingtracker.track\": {\n \"source\": \"iana\",\n \"extensions\": [\"st\"]\n },\n \"application/vnd.sbm.cid\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sbm.mid2\": {\n \"source\": \"iana\"\n },\n \"application/vnd.scribus\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealed.3df\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealed.csf\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealed.doc\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealed.eml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealed.mht\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealed.net\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealed.ppt\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealed.tiff\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealed.xls\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealedmedia.softseal.html\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealedmedia.softseal.pdf\": {\n \"source\": \"iana\"\n },\n \"application/vnd.seemail\": {\n \"source\": \"iana\",\n \"extensions\": [\"see\"]\n },\n \"application/vnd.sema\": {\n \"source\": \"iana\",\n \"extensions\": [\"sema\"]\n },\n \"application/vnd.semd\": {\n \"source\": \"iana\",\n \"extensions\": [\"semd\"]\n },\n \"application/vnd.semf\": {\n \"source\": \"iana\",\n \"extensions\": [\"semf\"]\n },\n \"application/vnd.shana.informed.formdata\": {\n \"source\": \"iana\",\n \"extensions\": [\"ifm\"]\n },\n \"application/vnd.shana.informed.formtemplate\": {\n \"source\": \"iana\",\n \"extensions\": [\"itp\"]\n },\n \"application/vnd.shana.informed.interchange\": {\n \"source\": \"iana\",\n \"extensions\": [\"iif\"]\n },\n \"application/vnd.shana.informed.package\": {\n \"source\": \"iana\",\n \"extensions\": [\"ipk\"]\n },\n \"application/vnd.simtech-mindmapper\": {\n \"source\": \"iana\",\n \"extensions\": [\"twd\",\"twds\"]\n },\n \"application/vnd.siren+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.smaf\": {\n \"source\": \"iana\",\n \"extensions\": [\"mmf\"]\n },\n \"application/vnd.smart.notebook\": {\n \"source\": \"iana\"\n },\n \"application/vnd.smart.teacher\": {\n \"source\": \"iana\",\n \"extensions\": [\"teacher\"]\n },\n \"application/vnd.software602.filler.form+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.software602.filler.form-xml-zip\": {\n \"source\": \"iana\"\n },\n \"application/vnd.solent.sdkm+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"sdkm\",\"sdkd\"]\n },\n \"application/vnd.spotfire.dxp\": {\n \"source\": \"iana\",\n \"extensions\": [\"dxp\"]\n },\n \"application/vnd.spotfire.sfs\": {\n \"source\": \"iana\",\n \"extensions\": [\"sfs\"]\n },\n \"application/vnd.sss-cod\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sss-dtf\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sss-ntf\": {\n \"source\": \"iana\"\n },\n \"application/vnd.stardivision.calc\": {\n \"source\": \"apache\",\n \"extensions\": [\"sdc\"]\n },\n \"application/vnd.stardivision.draw\": {\n \"source\": \"apache\",\n \"extensions\": [\"sda\"]\n },\n \"application/vnd.stardivision.impress\": {\n \"source\": \"apache\",\n \"extensions\": [\"sdd\"]\n },\n \"application/vnd.stardivision.math\": {\n \"source\": \"apache\",\n \"extensions\": [\"smf\"]\n },\n \"application/vnd.stardivision.writer\": {\n \"source\": \"apache\",\n \"extensions\": [\"sdw\",\"vor\"]\n },\n \"application/vnd.stardivision.writer-global\": {\n \"source\": \"apache\",\n \"extensions\": [\"sgl\"]\n },\n \"application/vnd.stepmania.package\": {\n \"source\": \"iana\",\n \"extensions\": [\"smzip\"]\n },\n \"application/vnd.stepmania.stepchart\": {\n \"source\": \"iana\",\n \"extensions\": [\"sm\"]\n },\n \"application/vnd.street-stream\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sun.wadl+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sun.xml.calc\": {\n \"source\": \"apache\",\n \"extensions\": [\"sxc\"]\n },\n \"application/vnd.sun.xml.calc.template\": {\n \"source\": \"apache\",\n \"extensions\": [\"stc\"]\n },\n \"application/vnd.sun.xml.draw\": {\n \"source\": \"apache\",\n \"extensions\": [\"sxd\"]\n },\n \"application/vnd.sun.xml.draw.template\": {\n \"source\": \"apache\",\n \"extensions\": [\"std\"]\n },\n \"application/vnd.sun.xml.impress\": {\n \"source\": \"apache\",\n \"extensions\": [\"sxi\"]\n },\n \"application/vnd.sun.xml.impress.template\": {\n \"source\": \"apache\",\n \"extensions\": [\"sti\"]\n },\n \"application/vnd.sun.xml.math\": {\n \"source\": \"apache\",\n \"extensions\": [\"sxm\"]\n },\n \"application/vnd.sun.xml.writer\": {\n \"source\": \"apache\",\n \"extensions\": [\"sxw\"]\n },\n \"application/vnd.sun.xml.writer.global\": {\n \"source\": \"apache\",\n \"extensions\": [\"sxg\"]\n },\n \"application/vnd.sun.xml.writer.template\": {\n \"source\": \"apache\",\n \"extensions\": [\"stw\"]\n },\n \"application/vnd.sus-calendar\": {\n \"source\": \"iana\",\n \"extensions\": [\"sus\",\"susp\"]\n },\n \"application/vnd.svd\": {\n \"source\": \"iana\",\n \"extensions\": [\"svd\"]\n },\n \"application/vnd.swiftview-ics\": {\n \"source\": \"iana\"\n },\n \"application/vnd.symbian.install\": {\n \"source\": \"apache\",\n \"extensions\": [\"sis\",\"sisx\"]\n },\n \"application/vnd.syncml+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"xsm\"]\n },\n \"application/vnd.syncml.dm+wbxml\": {\n \"source\": \"iana\",\n \"extensions\": [\"bdm\"]\n },\n \"application/vnd.syncml.dm+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"xdm\"]\n },\n \"application/vnd.syncml.dm.notification\": {\n \"source\": \"iana\"\n },\n \"application/vnd.syncml.dmddf+wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.syncml.dmddf+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.syncml.dmtnds+wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.syncml.dmtnds+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.syncml.ds.notification\": {\n \"source\": \"iana\"\n },\n \"application/vnd.tao.intent-module-archive\": {\n \"source\": \"iana\",\n \"extensions\": [\"tao\"]\n },\n \"application/vnd.tcpdump.pcap\": {\n \"source\": \"iana\",\n \"extensions\": [\"pcap\",\"cap\",\"dmp\"]\n },\n \"application/vnd.tmd.mediaflex.api+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.tml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.tmobile-livetv\": {\n \"source\": \"iana\",\n \"extensions\": [\"tmo\"]\n },\n \"application/vnd.trid.tpt\": {\n \"source\": \"iana\",\n \"extensions\": [\"tpt\"]\n },\n \"application/vnd.triscape.mxs\": {\n \"source\": \"iana\",\n \"extensions\": [\"mxs\"]\n },\n \"application/vnd.trueapp\": {\n \"source\": \"iana\",\n \"extensions\": [\"tra\"]\n },\n \"application/vnd.truedoc\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ubisoft.webplayer\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ufdl\": {\n \"source\": \"iana\",\n \"extensions\": [\"ufd\",\"ufdl\"]\n },\n \"application/vnd.uiq.theme\": {\n \"source\": \"iana\",\n \"extensions\": [\"utz\"]\n },\n \"application/vnd.umajin\": {\n \"source\": \"iana\",\n \"extensions\": [\"umj\"]\n },\n \"application/vnd.unity\": {\n \"source\": \"iana\",\n \"extensions\": [\"unityweb\"]\n },\n \"application/vnd.uoml+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"uoml\"]\n },\n \"application/vnd.uplanet.alert\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.alert-wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.bearer-choice\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.bearer-choice-wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.cacheop\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.cacheop-wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.channel\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.channel-wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.list\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.list-wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.listcmd\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.listcmd-wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.signal\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uri-map\": {\n \"source\": \"iana\"\n },\n \"application/vnd.valve.source.material\": {\n \"source\": \"iana\"\n },\n \"application/vnd.vcx\": {\n \"source\": \"iana\",\n \"extensions\": [\"vcx\"]\n },\n \"application/vnd.vd-study\": {\n \"source\": \"iana\"\n },\n \"application/vnd.vectorworks\": {\n \"source\": \"iana\"\n },\n \"application/vnd.verimatrix.vcas\": {\n \"source\": \"iana\"\n },\n \"application/vnd.vidsoft.vidconference\": {\n \"source\": \"iana\"\n },\n \"application/vnd.visio\": {\n \"source\": \"iana\",\n \"extensions\": [\"vsd\",\"vst\",\"vss\",\"vsw\"]\n },\n \"application/vnd.visionary\": {\n \"source\": \"iana\",\n \"extensions\": [\"vis\"]\n },\n \"application/vnd.vividence.scriptfile\": {\n \"source\": \"iana\"\n },\n \"application/vnd.vsf\": {\n \"source\": \"iana\",\n \"extensions\": [\"vsf\"]\n },\n \"application/vnd.wap.sic\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wap.slc\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wap.wbxml\": {\n \"source\": \"iana\",\n \"extensions\": [\"wbxml\"]\n },\n \"application/vnd.wap.wmlc\": {\n \"source\": \"iana\",\n \"extensions\": [\"wmlc\"]\n },\n \"application/vnd.wap.wmlscriptc\": {\n \"source\": \"iana\",\n \"extensions\": [\"wmlsc\"]\n },\n \"application/vnd.webturbo\": {\n \"source\": \"iana\",\n \"extensions\": [\"wtb\"]\n },\n \"application/vnd.wfa.p2p\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wfa.wsc\": {\n \"source\": \"iana\"\n },\n \"application/vnd.windows.devicepairing\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wmc\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wmf.bootstrap\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wolfram.mathematica\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wolfram.mathematica.package\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wolfram.player\": {\n \"source\": \"iana\",\n \"extensions\": [\"nbp\"]\n },\n \"application/vnd.wordperfect\": {\n \"source\": \"iana\",\n \"extensions\": [\"wpd\"]\n },\n \"application/vnd.wqd\": {\n \"source\": \"iana\",\n \"extensions\": [\"wqd\"]\n },\n \"application/vnd.wrq-hp3000-labelled\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wt.stf\": {\n \"source\": \"iana\",\n \"extensions\": [\"stf\"]\n },\n \"application/vnd.wv.csp+wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wv.csp+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wv.ssp+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.xacml+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.xara\": {\n \"source\": \"iana\",\n \"extensions\": [\"xar\"]\n },\n \"application/vnd.xfdl\": {\n \"source\": \"iana\",\n \"extensions\": [\"xfdl\"]\n },\n \"application/vnd.xfdl.webform\": {\n \"source\": \"iana\"\n },\n \"application/vnd.xmi+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.xmpie.cpkg\": {\n \"source\": \"iana\"\n },\n \"application/vnd.xmpie.dpkg\": {\n \"source\": \"iana\"\n },\n \"application/vnd.xmpie.plan\": {\n \"source\": \"iana\"\n },\n \"application/vnd.xmpie.ppkg\": {\n \"source\": \"iana\"\n },\n \"application/vnd.xmpie.xlim\": {\n \"source\": \"iana\"\n },\n \"application/vnd.yamaha.hv-dic\": {\n \"source\": \"iana\",\n \"extensions\": [\"hvd\"]\n },\n \"application/vnd.yamaha.hv-script\": {\n \"source\": \"iana\",\n \"extensions\": [\"hvs\"]\n },\n \"application/vnd.yamaha.hv-voice\": {\n \"source\": \"iana\",\n \"extensions\": [\"hvp\"]\n },\n \"application/vnd.yamaha.openscoreformat\": {\n \"source\": \"iana\",\n \"extensions\": [\"osf\"]\n },\n \"application/vnd.yamaha.openscoreformat.osfpvg+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"osfpvg\"]\n },\n \"application/vnd.yamaha.remote-setup\": {\n \"source\": \"iana\"\n },\n \"application/vnd.yamaha.smaf-audio\": {\n \"source\": \"iana\",\n \"extensions\": [\"saf\"]\n },\n \"application/vnd.yamaha.smaf-phrase\": {\n \"source\": \"iana\",\n \"extensions\": [\"spf\"]\n },\n \"application/vnd.yamaha.through-ngn\": {\n \"source\": \"iana\"\n },\n \"application/vnd.yamaha.tunnel-udpencap\": {\n \"source\": \"iana\"\n },\n \"application/vnd.yaoweme\": {\n \"source\": \"iana\"\n },\n \"application/vnd.yellowriver-custom-menu\": {\n \"source\": \"iana\",\n \"extensions\": [\"cmp\"]\n },\n \"application/vnd.zul\": {\n \"source\": \"iana\",\n \"extensions\": [\"zir\",\"zirz\"]\n },\n \"application/vnd.zzazz.deck+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"zaz\"]\n },\n \"application/voicexml+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"vxml\"]\n },\n \"application/vq-rtcpxr\": {\n \"source\": \"iana\"\n },\n \"application/watcherinfo+xml\": {\n \"source\": \"iana\"\n },\n \"application/whoispp-query\": {\n \"source\": \"iana\"\n },\n \"application/whoispp-response\": {\n \"source\": \"iana\"\n },\n \"application/widget\": {\n \"source\": \"iana\",\n \"extensions\": [\"wgt\"]\n },\n \"application/winhlp\": {\n \"source\": \"apache\",\n \"extensions\": [\"hlp\"]\n },\n \"application/wita\": {\n \"source\": \"iana\"\n },\n \"application/wordperfect5.1\": {\n \"source\": \"iana\"\n },\n \"application/wsdl+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"wsdl\"]\n },\n \"application/wspolicy+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"wspolicy\"]\n },\n \"application/x-7z-compressed\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"7z\"]\n },\n \"application/x-abiword\": {\n \"source\": \"apache\",\n \"extensions\": [\"abw\"]\n },\n \"application/x-ace-compressed\": {\n \"source\": \"apache\",\n \"extensions\": [\"ace\"]\n },\n \"application/x-amf\": {\n \"source\": \"apache\"\n },\n \"application/x-apple-diskimage\": {\n \"source\": \"apache\",\n \"extensions\": [\"dmg\"]\n },\n \"application/x-authorware-bin\": {\n \"source\": \"apache\",\n \"extensions\": [\"aab\",\"x32\",\"u32\",\"vox\"]\n },\n \"application/x-authorware-map\": {\n \"source\": \"apache\",\n \"extensions\": [\"aam\"]\n },\n \"application/x-authorware-seg\": {\n \"source\": \"apache\",\n \"extensions\": [\"aas\"]\n },\n \"application/x-bcpio\": {\n \"source\": \"apache\",\n \"extensions\": [\"bcpio\"]\n },\n \"application/x-bdoc\": {\n \"compressible\": false,\n \"extensions\": [\"bdoc\"]\n },\n \"application/x-bittorrent\": {\n \"source\": \"apache\",\n \"extensions\": [\"torrent\"]\n },\n \"application/x-blorb\": {\n \"source\": \"apache\",\n \"extensions\": [\"blb\",\"blorb\"]\n },\n \"application/x-bzip\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"bz\"]\n },\n \"application/x-bzip2\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"bz2\",\"boz\"]\n },\n \"application/x-cbr\": {\n \"source\": \"apache\",\n \"extensions\": [\"cbr\",\"cba\",\"cbt\",\"cbz\",\"cb7\"]\n },\n \"application/x-cdlink\": {\n \"source\": \"apache\",\n \"extensions\": [\"vcd\"]\n },\n \"application/x-cfs-compressed\": {\n \"source\": \"apache\",\n \"extensions\": [\"cfs\"]\n },\n \"application/x-chat\": {\n \"source\": \"apache\",\n \"extensions\": [\"chat\"]\n },\n \"application/x-chess-pgn\": {\n \"source\": \"apache\",\n \"extensions\": [\"pgn\"]\n },\n \"application/x-chrome-extension\": {\n \"extensions\": [\"crx\"]\n },\n \"application/x-cocoa\": {\n \"source\": \"nginx\",\n \"extensions\": [\"cco\"]\n },\n \"application/x-compress\": {\n \"source\": \"apache\"\n },\n \"application/x-conference\": {\n \"source\": \"apache\",\n \"extensions\": [\"nsc\"]\n },\n \"application/x-cpio\": {\n \"source\": \"apache\",\n \"extensions\": [\"cpio\"]\n },\n \"application/x-csh\": {\n \"source\": \"apache\",\n \"extensions\": [\"csh\"]\n },\n \"application/x-deb\": {\n \"compressible\": false\n },\n \"application/x-debian-package\": {\n \"source\": \"apache\",\n \"extensions\": [\"deb\",\"udeb\"]\n },\n \"application/x-dgc-compressed\": {\n \"source\": \"apache\",\n \"extensions\": [\"dgc\"]\n },\n \"application/x-director\": {\n \"source\": \"apache\",\n \"extensions\": [\"dir\",\"dcr\",\"dxr\",\"cst\",\"cct\",\"cxt\",\"w3d\",\"fgd\",\"swa\"]\n },\n \"application/x-doom\": {\n \"source\": \"apache\",\n \"extensions\": [\"wad\"]\n },\n \"application/x-dtbncx+xml\": {\n \"source\": \"apache\",\n \"extensions\": [\"ncx\"]\n },\n \"application/x-dtbook+xml\": {\n \"source\": \"apache\",\n \"extensions\": [\"dtb\"]\n },\n \"application/x-dtbresource+xml\": {\n \"source\": \"apache\",\n \"extensions\": [\"res\"]\n },\n \"application/x-dvi\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"dvi\"]\n },\n \"application/x-envoy\": {\n \"source\": \"apache\",\n \"extensions\": [\"evy\"]\n },\n \"application/x-eva\": {\n \"source\": \"apache\",\n \"extensions\": [\"eva\"]\n },\n \"application/x-font-bdf\": {\n \"source\": \"apache\",\n \"extensions\": [\"bdf\"]\n },\n \"application/x-font-dos\": {\n \"source\": \"apache\"\n },\n \"application/x-font-framemaker\": {\n \"source\": \"apache\"\n },\n \"application/x-font-ghostscript\": {\n \"source\": \"apache\",\n \"extensions\": [\"gsf\"]\n },\n \"application/x-font-libgrx\": {\n \"source\": \"apache\"\n },\n \"application/x-font-linux-psf\": {\n \"source\": \"apache\",\n \"extensions\": [\"psf\"]\n },\n \"application/x-font-otf\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"otf\"]\n },\n \"application/x-font-pcf\": {\n \"source\": \"apache\",\n \"extensions\": [\"pcf\"]\n },\n \"application/x-font-snf\": {\n \"source\": \"apache\",\n \"extensions\": [\"snf\"]\n },\n \"application/x-font-speedo\": {\n \"source\": \"apache\"\n },\n \"application/x-font-sunos-news\": {\n \"source\": \"apache\"\n },\n \"application/x-font-ttf\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"ttf\",\"ttc\"]\n },\n \"application/x-font-type1\": {\n \"source\": \"apache\",\n \"extensions\": [\"pfa\",\"pfb\",\"pfm\",\"afm\"]\n },\n \"application/x-font-vfont\": {\n \"source\": \"apache\"\n },\n \"application/x-freearc\": {\n \"source\": \"apache\",\n \"extensions\": [\"arc\"]\n },\n \"application/x-futuresplash\": {\n \"source\": \"apache\",\n \"extensions\": [\"spl\"]\n },\n \"application/x-gca-compressed\": {\n \"source\": \"apache\",\n \"extensions\": [\"gca\"]\n },\n \"application/x-glulx\": {\n \"source\": \"apache\",\n \"extensions\": [\"ulx\"]\n },\n \"application/x-gnumeric\": {\n \"source\": \"apache\",\n \"extensions\": [\"gnumeric\"]\n },\n \"application/x-gramps-xml\": {\n \"source\": \"apache\",\n \"extensions\": [\"gramps\"]\n },\n \"application/x-gtar\": {\n \"source\": \"apache\",\n \"extensions\": [\"gtar\"]\n },\n \"application/x-gzip\": {\n \"source\": \"apache\"\n },\n \"application/x-hdf\": {\n \"source\": \"apache\",\n \"extensions\": [\"hdf\"]\n },\n \"application/x-httpd-php\": {\n \"compressible\": true,\n \"extensions\": [\"php\"]\n },\n \"application/x-install-instructions\": {\n \"source\": \"apache\",\n \"extensions\": [\"install\"]\n },\n \"application/x-iso9660-image\": {\n \"source\": \"apache\",\n \"extensions\": [\"iso\"]\n },\n \"application/x-java-archive-diff\": {\n \"source\": \"nginx\",\n \"extensions\": [\"jardiff\"]\n },\n \"application/x-java-jnlp-file\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"jnlp\"]\n },\n \"application/x-javascript\": {\n \"compressible\": true\n },\n \"application/x-latex\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"latex\"]\n },\n \"application/x-lua-bytecode\": {\n \"extensions\": [\"luac\"]\n },\n \"application/x-lzh-compressed\": {\n \"source\": \"apache\",\n \"extensions\": [\"lzh\",\"lha\"]\n },\n \"application/x-makeself\": {\n \"source\": \"nginx\",\n \"extensions\": [\"run\"]\n },\n \"application/x-mie\": {\n \"source\": \"apache\",\n \"extensions\": [\"mie\"]\n },\n \"application/x-mobipocket-ebook\": {\n \"source\": \"apache\",\n \"extensions\": [\"prc\",\"mobi\"]\n },\n \"application/x-mpegurl\": {\n \"compressible\": false\n },\n \"application/x-ms-application\": {\n \"source\": \"apache\",\n \"extensions\": [\"application\"]\n },\n \"application/x-ms-shortcut\": {\n \"source\": \"apache\",\n \"extensions\": [\"lnk\"]\n },\n \"application/x-ms-wmd\": {\n \"source\": \"apache\",\n \"extensions\": [\"wmd\"]\n },\n \"application/x-ms-wmz\": {\n \"source\": \"apache\",\n \"extensions\": [\"wmz\"]\n },\n \"application/x-ms-xbap\": {\n \"source\": \"apache\",\n \"extensions\": [\"xbap\"]\n },\n \"application/x-msaccess\": {\n \"source\": \"apache\",\n \"extensions\": [\"mdb\"]\n },\n \"application/x-msbinder\": {\n \"source\": \"apache\",\n \"extensions\": [\"obd\"]\n },\n \"application/x-mscardfile\": {\n \"source\": \"apache\",\n \"extensions\": [\"crd\"]\n },\n \"application/x-msclip\": {\n \"source\": \"apache\",\n \"extensions\": [\"clp\"]\n },\n \"application/x-msdos-program\": {\n \"extensions\": [\"exe\"]\n },\n \"application/x-msdownload\": {\n \"source\": \"apache\",\n \"extensions\": [\"exe\",\"dll\",\"com\",\"bat\",\"msi\"]\n },\n \"application/x-msmediaview\": {\n \"source\": \"apache\",\n \"extensions\": [\"mvb\",\"m13\",\"m14\"]\n },\n \"application/x-msmetafile\": {\n \"source\": \"apache\",\n \"extensions\": [\"wmf\",\"wmz\",\"emf\",\"emz\"]\n },\n \"application/x-msmoney\": {\n \"source\": \"apache\",\n \"extensions\": [\"mny\"]\n },\n \"application/x-mspublisher\": {\n \"source\": \"apache\",\n \"extensions\": [\"pub\"]\n },\n \"application/x-msschedule\": {\n \"source\": \"apache\",\n \"extensions\": [\"scd\"]\n },\n \"application/x-msterminal\": {\n \"source\": \"apache\",\n \"extensions\": [\"trm\"]\n },\n \"application/x-mswrite\": {\n \"source\": \"apache\",\n \"extensions\": [\"wri\"]\n },\n \"application/x-netcdf\": {\n \"source\": \"apache\",\n \"extensions\": [\"nc\",\"cdf\"]\n },\n \"application/x-ns-proxy-autoconfig\": {\n \"compressible\": true,\n \"extensions\": [\"pac\"]\n },\n \"application/x-nzb\": {\n \"source\": \"apache\",\n \"extensions\": [\"nzb\"]\n },\n \"application/x-perl\": {\n \"source\": \"nginx\",\n \"extensions\": [\"pl\",\"pm\"]\n },\n \"application/x-pilot\": {\n \"source\": \"nginx\",\n \"extensions\": [\"prc\",\"pdb\"]\n },\n \"application/x-pkcs12\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"p12\",\"pfx\"]\n },\n \"application/x-pkcs7-certificates\": {\n \"source\": \"apache\",\n \"extensions\": [\"p7b\",\"spc\"]\n },\n \"application/x-pkcs7-certreqresp\": {\n \"source\": \"apache\",\n \"extensions\": [\"p7r\"]\n },\n \"application/x-rar-compressed\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"rar\"]\n },\n \"application/x-redhat-package-manager\": {\n \"source\": \"nginx\",\n \"extensions\": [\"rpm\"]\n },\n \"application/x-research-info-systems\": {\n \"source\": \"apache\",\n \"extensions\": [\"ris\"]\n },\n \"application/x-sea\": {\n \"source\": \"nginx\",\n \"extensions\": [\"sea\"]\n },\n \"application/x-sh\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"sh\"]\n },\n \"application/x-shar\": {\n \"source\": \"apache\",\n \"extensions\": [\"shar\"]\n },\n \"application/x-shockwave-flash\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"swf\"]\n },\n \"application/x-silverlight-app\": {\n \"source\": \"apache\",\n \"extensions\": [\"xap\"]\n },\n \"application/x-sql\": {\n \"source\": \"apache\",\n \"extensions\": [\"sql\"]\n },\n \"application/x-stuffit\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"sit\"]\n },\n \"application/x-stuffitx\": {\n \"source\": \"apache\",\n \"extensions\": [\"sitx\"]\n },\n \"application/x-subrip\": {\n \"source\": \"apache\",\n \"extensions\": [\"srt\"]\n },\n \"application/x-sv4cpio\": {\n \"source\": \"apache\",\n \"extensions\": [\"sv4cpio\"]\n },\n \"application/x-sv4crc\": {\n \"source\": \"apache\",\n \"extensions\": [\"sv4crc\"]\n },\n \"application/x-t3vm-image\": {\n \"source\": \"apache\",\n \"extensions\": [\"t3\"]\n },\n \"application/x-tads\": {\n \"source\": \"apache\",\n \"extensions\": [\"gam\"]\n },\n \"application/x-tar\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"tar\"]\n },\n \"application/x-tcl\": {\n \"source\": \"apache\",\n \"extensions\": [\"tcl\",\"tk\"]\n },\n \"application/x-tex\": {\n \"source\": \"apache\",\n \"extensions\": [\"tex\"]\n },\n \"application/x-tex-tfm\": {\n \"source\": \"apache\",\n \"extensions\": [\"tfm\"]\n },\n \"application/x-texinfo\": {\n \"source\": \"apache\",\n \"extensions\": [\"texinfo\",\"texi\"]\n },\n \"application/x-tgif\": {\n \"source\": \"apache\",\n \"extensions\": [\"obj\"]\n },\n \"application/x-ustar\": {\n \"source\": \"apache\",\n \"extensions\": [\"ustar\"]\n },\n \"application/x-wais-source\": {\n \"source\": \"apache\",\n \"extensions\": [\"src\"]\n },\n \"application/x-web-app-manifest+json\": {\n \"compressible\": true,\n \"extensions\": [\"webapp\"]\n },\n \"application/x-www-form-urlencoded\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/x-x509-ca-cert\": {\n \"source\": \"apache\",\n \"extensions\": [\"der\",\"crt\",\"pem\"]\n },\n \"application/x-xfig\": {\n \"source\": \"apache\",\n \"extensions\": [\"fig\"]\n },\n \"application/x-xliff+xml\": {\n \"source\": \"apache\",\n \"extensions\": [\"xlf\"]\n },\n \"application/x-xpinstall\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"xpi\"]\n },\n \"application/x-xz\": {\n \"source\": \"apache\",\n \"extensions\": [\"xz\"]\n },\n \"application/x-zmachine\": {\n \"source\": \"apache\",\n \"extensions\": [\"z1\",\"z2\",\"z3\",\"z4\",\"z5\",\"z6\",\"z7\",\"z8\"]\n },\n \"application/x400-bp\": {\n \"source\": \"iana\"\n },\n \"application/xacml+xml\": {\n \"source\": \"iana\"\n },\n \"application/xaml+xml\": {\n \"source\": \"apache\",\n \"extensions\": [\"xaml\"]\n },\n \"application/xcap-att+xml\": {\n \"source\": \"iana\"\n },\n \"application/xcap-caps+xml\": {\n \"source\": \"iana\"\n },\n \"application/xcap-diff+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"xdf\"]\n },\n \"application/xcap-el+xml\": {\n \"source\": \"iana\"\n },\n \"application/xcap-error+xml\": {\n \"source\": \"iana\"\n },\n \"application/xcap-ns+xml\": {\n \"source\": \"iana\"\n },\n \"application/xcon-conference-info+xml\": {\n \"source\": \"iana\"\n },\n \"application/xcon-conference-info-diff+xml\": {\n \"source\": \"iana\"\n },\n \"application/xenc+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"xenc\"]\n },\n \"application/xhtml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xhtml\",\"xht\"]\n },\n \"application/xhtml-voice+xml\": {\n \"source\": \"apache\"\n },\n \"application/xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xml\",\"xsl\",\"xsd\"]\n },\n \"application/xml-dtd\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"dtd\"]\n },\n \"application/xml-external-parsed-entity\": {\n \"source\": \"iana\"\n },\n \"application/xml-patch+xml\": {\n \"source\": \"iana\"\n },\n \"application/xmpp+xml\": {\n \"source\": \"iana\"\n },\n \"application/xop+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xop\"]\n },\n \"application/xproc+xml\": {\n \"source\": \"apache\",\n \"extensions\": [\"xpl\"]\n },\n \"application/xslt+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"xslt\"]\n },\n \"application/xspf+xml\": {\n \"source\": \"apache\",\n \"extensions\": [\"xspf\"]\n },\n \"application/xv+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"mxml\",\"xhvml\",\"xvml\",\"xvm\"]\n },\n \"application/yang\": {\n \"source\": \"iana\",\n \"extensions\": [\"yang\"]\n },\n \"application/yin+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"yin\"]\n },\n \"application/zip\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"zip\"]\n },\n \"application/zlib\": {\n \"source\": \"iana\"\n },\n \"audio/1d-interleaved-parityfec\": {\n \"source\": \"iana\"\n },\n \"audio/32kadpcm\": {\n \"source\": \"iana\"\n },\n \"audio/3gpp\": {\n \"source\": \"iana\"\n },\n \"audio/3gpp2\": {\n \"source\": \"iana\"\n },\n \"audio/ac3\": {\n \"source\": \"iana\"\n },\n \"audio/adpcm\": {\n \"source\": \"apache\",\n \"extensions\": [\"adp\"]\n },\n \"audio/amr\": {\n \"source\": \"iana\"\n },\n \"audio/amr-wb\": {\n \"source\": \"iana\"\n },\n \"audio/amr-wb+\": {\n \"source\": \"iana\"\n },\n \"audio/aptx\": {\n \"source\": \"iana\"\n },\n \"audio/asc\": {\n \"source\": \"iana\"\n },\n \"audio/atrac-advanced-lossless\": {\n \"source\": \"iana\"\n },\n \"audio/atrac-x\": {\n \"source\": \"iana\"\n },\n \"audio/atrac3\": {\n \"source\": \"iana\"\n },\n \"audio/basic\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"au\",\"snd\"]\n },\n \"audio/bv16\": {\n \"source\": \"iana\"\n },\n \"audio/bv32\": {\n \"source\": \"iana\"\n },\n \"audio/clearmode\": {\n \"source\": \"iana\"\n },\n \"audio/cn\": {\n \"source\": \"iana\"\n },\n \"audio/dat12\": {\n \"source\": \"iana\"\n },\n \"audio/dls\": {\n \"source\": \"iana\"\n },\n \"audio/dsr-es201108\": {\n \"source\": \"iana\"\n },\n \"audio/dsr-es202050\": {\n \"source\": \"iana\"\n },\n \"audio/dsr-es202211\": {\n \"source\": \"iana\"\n },\n \"audio/dsr-es202212\": {\n \"source\": \"iana\"\n },\n \"audio/dv\": {\n \"source\": \"iana\"\n },\n \"audio/dvi4\": {\n \"source\": \"iana\"\n },\n \"audio/eac3\": {\n \"source\": \"iana\"\n },\n \"audio/encaprtp\": {\n \"source\": \"iana\"\n },\n \"audio/evrc\": {\n \"source\": \"iana\"\n },\n \"audio/evrc-qcp\": {\n \"source\": \"iana\"\n },\n \"audio/evrc0\": {\n \"source\": \"iana\"\n },\n \"audio/evrc1\": {\n \"source\": \"iana\"\n },\n \"audio/evrcb\": {\n \"source\": \"iana\"\n },\n \"audio/evrcb0\": {\n \"source\": \"iana\"\n },\n \"audio/evrcb1\": {\n \"source\": \"iana\"\n },\n \"audio/evrcnw\": {\n \"source\": \"iana\"\n },\n \"audio/evrcnw0\": {\n \"source\": \"iana\"\n },\n \"audio/evrcnw1\": {\n \"source\": \"iana\"\n },\n \"audio/evrcwb\": {\n \"source\": \"iana\"\n },\n \"audio/evrcwb0\": {\n \"source\": \"iana\"\n },\n \"audio/evrcwb1\": {\n \"source\": \"iana\"\n },\n \"audio/evs\": {\n \"source\": \"iana\"\n },\n \"audio/fwdred\": {\n \"source\": \"iana\"\n },\n \"audio/g711-0\": {\n \"source\": \"iana\"\n },\n \"audio/g719\": {\n \"source\": \"iana\"\n },\n \"audio/g722\": {\n \"source\": \"iana\"\n },\n \"audio/g7221\": {\n \"source\": \"iana\"\n },\n \"audio/g723\": {\n \"source\": \"iana\"\n },\n \"audio/g726-16\": {\n \"source\": \"iana\"\n },\n \"audio/g726-24\": {\n \"source\": \"iana\"\n },\n \"audio/g726-32\": {\n \"source\": \"iana\"\n },\n \"audio/g726-40\": {\n \"source\": \"iana\"\n },\n \"audio/g728\": {\n \"source\": \"iana\"\n },\n \"audio/g729\": {\n \"source\": \"iana\"\n },\n \"audio/g7291\": {\n \"source\": \"iana\"\n },\n \"audio/g729d\": {\n \"source\": \"iana\"\n },\n \"audio/g729e\": {\n \"source\": \"iana\"\n },\n \"audio/gsm\": {\n \"source\": \"iana\"\n },\n \"audio/gsm-efr\": {\n \"source\": \"iana\"\n },\n \"audio/gsm-hr-08\": {\n \"source\": \"iana\"\n },\n \"audio/ilbc\": {\n \"source\": \"iana\"\n },\n \"audio/ip-mr_v2.5\": {\n \"source\": \"iana\"\n },\n \"audio/isac\": {\n \"source\": \"apache\"\n },\n \"audio/l16\": {\n \"source\": \"iana\"\n },\n \"audio/l20\": {\n \"source\": \"iana\"\n },\n \"audio/l24\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"audio/l8\": {\n \"source\": \"iana\"\n },\n \"audio/lpc\": {\n \"source\": \"iana\"\n },\n \"audio/midi\": {\n \"source\": \"apache\",\n \"extensions\": [\"mid\",\"midi\",\"kar\",\"rmi\"]\n },\n \"audio/mobile-xmf\": {\n \"source\": \"iana\"\n },\n \"audio/mp4\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"mp4a\",\"m4a\"]\n },\n \"audio/mp4a-latm\": {\n \"source\": \"iana\"\n },\n \"audio/mpa\": {\n \"source\": \"iana\"\n },\n \"audio/mpa-robust\": {\n \"source\": \"iana\"\n },\n \"audio/mpeg\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"mpga\",\"mp2\",\"mp2a\",\"mp3\",\"m2a\",\"m3a\"]\n },\n \"audio/mpeg4-generic\": {\n \"source\": \"iana\"\n },\n \"audio/musepack\": {\n \"source\": \"apache\"\n },\n \"audio/ogg\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"oga\",\"ogg\",\"spx\"]\n },\n \"audio/opus\": {\n \"source\": \"iana\"\n },\n \"audio/parityfec\": {\n \"source\": \"iana\"\n },\n \"audio/pcma\": {\n \"source\": \"iana\"\n },\n \"audio/pcma-wb\": {\n \"source\": \"iana\"\n },\n \"audio/pcmu\": {\n \"source\": \"iana\"\n },\n \"audio/pcmu-wb\": {\n \"source\": \"iana\"\n },\n \"audio/prs.sid\": {\n \"source\": \"iana\"\n },\n \"audio/qcelp\": {\n \"source\": \"iana\"\n },\n \"audio/raptorfec\": {\n \"source\": \"iana\"\n },\n \"audio/red\": {\n \"source\": \"iana\"\n },\n \"audio/rtp-enc-aescm128\": {\n \"source\": \"iana\"\n },\n \"audio/rtp-midi\": {\n \"source\": \"iana\"\n },\n \"audio/rtploopback\": {\n \"source\": \"iana\"\n },\n \"audio/rtx\": {\n \"source\": \"iana\"\n },\n \"audio/s3m\": {\n \"source\": \"apache\",\n \"extensions\": [\"s3m\"]\n },\n \"audio/silk\": {\n \"source\": \"apache\",\n \"extensions\": [\"sil\"]\n },\n \"audio/smv\": {\n \"source\": \"iana\"\n },\n \"audio/smv-qcp\": {\n \"source\": \"iana\"\n },\n \"audio/smv0\": {\n \"source\": \"iana\"\n },\n \"audio/sp-midi\": {\n \"source\": \"iana\"\n },\n \"audio/speex\": {\n \"source\": \"iana\"\n },\n \"audio/t140c\": {\n \"source\": \"iana\"\n },\n \"audio/t38\": {\n \"source\": \"iana\"\n },\n \"audio/telephone-event\": {\n \"source\": \"iana\"\n },\n \"audio/tone\": {\n \"source\": \"iana\"\n },\n \"audio/uemclip\": {\n \"source\": \"iana\"\n },\n \"audio/ulpfec\": {\n \"source\": \"iana\"\n },\n \"audio/vdvi\": {\n \"source\": \"iana\"\n },\n \"audio/vmr-wb\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.3gpp.iufp\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.4sb\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.audiokoz\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.celp\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.cisco.nse\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.cmles.radio-events\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.cns.anp1\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.cns.inf1\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dece.audio\": {\n \"source\": \"iana\",\n \"extensions\": [\"uva\",\"uvva\"]\n },\n \"audio/vnd.digital-winds\": {\n \"source\": \"iana\",\n \"extensions\": [\"eol\"]\n },\n \"audio/vnd.dlna.adts\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dolby.heaac.1\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dolby.heaac.2\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dolby.mlp\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dolby.mps\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dolby.pl2\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dolby.pl2x\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dolby.pl2z\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dolby.pulse.1\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dra\": {\n \"source\": \"iana\",\n \"extensions\": [\"dra\"]\n },\n \"audio/vnd.dts\": {\n \"source\": \"iana\",\n \"extensions\": [\"dts\"]\n },\n \"audio/vnd.dts.hd\": {\n \"source\": \"iana\",\n \"extensions\": [\"dtshd\"]\n },\n \"audio/vnd.dvb.file\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.everad.plj\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.hns.audio\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.lucent.voice\": {\n \"source\": \"iana\",\n \"extensions\": [\"lvp\"]\n },\n \"audio/vnd.ms-playready.media.pya\": {\n \"source\": \"iana\",\n \"extensions\": [\"pya\"]\n },\n \"audio/vnd.nokia.mobile-xmf\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.nortel.vbk\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.nuera.ecelp4800\": {\n \"source\": \"iana\",\n \"extensions\": [\"ecelp4800\"]\n },\n \"audio/vnd.nuera.ecelp7470\": {\n \"source\": \"iana\",\n \"extensions\": [\"ecelp7470\"]\n },\n \"audio/vnd.nuera.ecelp9600\": {\n \"source\": \"iana\",\n \"extensions\": [\"ecelp9600\"]\n },\n \"audio/vnd.octel.sbc\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.qcelp\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.rhetorex.32kadpcm\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.rip\": {\n \"source\": \"iana\",\n \"extensions\": [\"rip\"]\n },\n \"audio/vnd.rn-realaudio\": {\n \"compressible\": false\n },\n \"audio/vnd.sealedmedia.softseal.mpeg\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.vmx.cvsd\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.wave\": {\n \"compressible\": false\n },\n \"audio/vorbis\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"audio/vorbis-config\": {\n \"source\": \"iana\"\n },\n \"audio/wav\": {\n \"compressible\": false,\n \"extensions\": [\"wav\"]\n },\n \"audio/wave\": {\n \"compressible\": false,\n \"extensions\": [\"wav\"]\n },\n \"audio/webm\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"weba\"]\n },\n \"audio/x-aac\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"aac\"]\n },\n \"audio/x-aiff\": {\n \"source\": \"apache\",\n \"extensions\": [\"aif\",\"aiff\",\"aifc\"]\n },\n \"audio/x-caf\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"caf\"]\n },\n \"audio/x-flac\": {\n \"source\": \"apache\",\n \"extensions\": [\"flac\"]\n },\n \"audio/x-m4a\": {\n \"source\": \"nginx\",\n \"extensions\": [\"m4a\"]\n },\n \"audio/x-matroska\": {\n \"source\": \"apache\",\n \"extensions\": [\"mka\"]\n },\n \"audio/x-mpegurl\": {\n \"source\": \"apache\",\n \"extensions\": [\"m3u\"]\n },\n \"audio/x-ms-wax\": {\n \"source\": \"apache\",\n \"extensions\": [\"wax\"]\n },\n \"audio/x-ms-wma\": {\n \"source\": \"apache\",\n \"extensions\": [\"wma\"]\n },\n \"audio/x-pn-realaudio\": {\n \"source\": \"apache\",\n \"extensions\": [\"ram\",\"ra\"]\n },\n \"audio/x-pn-realaudio-plugin\": {\n \"source\": \"apache\",\n \"extensions\": [\"rmp\"]\n },\n \"audio/x-realaudio\": {\n \"source\": \"nginx\",\n \"extensions\": [\"ra\"]\n },\n \"audio/x-tta\": {\n \"source\": \"apache\"\n },\n \"audio/x-wav\": {\n \"source\": \"apache\",\n \"extensions\": [\"wav\"]\n },\n \"audio/xm\": {\n \"source\": \"apache\",\n \"extensions\": [\"xm\"]\n },\n \"chemical/x-cdx\": {\n \"source\": \"apache\",\n \"extensions\": [\"cdx\"]\n },\n \"chemical/x-cif\": {\n \"source\": \"apache\",\n \"extensions\": [\"cif\"]\n },\n \"chemical/x-cmdf\": {\n \"source\": \"apache\",\n \"extensions\": [\"cmdf\"]\n },\n \"chemical/x-cml\": {\n \"source\": \"apache\",\n \"extensions\": [\"cml\"]\n },\n \"chemical/x-csml\": {\n \"source\": \"apache\",\n \"extensions\": [\"csml\"]\n },\n \"chemical/x-pdb\": {\n \"source\": \"apache\"\n },\n \"chemical/x-xyz\": {\n \"source\": \"apache\",\n \"extensions\": [\"xyz\"]\n },\n \"font/opentype\": {\n \"compressible\": true,\n \"extensions\": [\"otf\"]\n },\n \"image/bmp\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"bmp\"]\n },\n \"image/cgm\": {\n \"source\": \"iana\",\n \"extensions\": [\"cgm\"]\n },\n \"image/fits\": {\n \"source\": \"iana\"\n },\n \"image/g3fax\": {\n \"source\": \"iana\",\n \"extensions\": [\"g3\"]\n },\n \"image/gif\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"gif\"]\n },\n \"image/ief\": {\n \"source\": \"iana\",\n \"extensions\": [\"ief\"]\n },\n \"image/jp2\": {\n \"source\": \"iana\"\n },\n \"image/jpeg\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"jpeg\",\"jpg\",\"jpe\"]\n },\n \"image/jpm\": {\n \"source\": \"iana\"\n },\n \"image/jpx\": {\n \"source\": \"iana\"\n },\n \"image/ktx\": {\n \"source\": \"iana\",\n \"extensions\": [\"ktx\"]\n },\n \"image/naplps\": {\n \"source\": \"iana\"\n },\n \"image/pjpeg\": {\n \"compressible\": false\n },\n \"image/png\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"png\"]\n },\n \"image/prs.btif\": {\n \"source\": \"iana\",\n \"extensions\": [\"btif\"]\n },\n \"image/prs.pti\": {\n \"source\": \"iana\"\n },\n \"image/pwg-raster\": {\n \"source\": \"iana\"\n },\n \"image/sgi\": {\n \"source\": \"apache\",\n \"extensions\": [\"sgi\"]\n },\n \"image/svg+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"svg\",\"svgz\"]\n },\n \"image/t38\": {\n \"source\": \"iana\"\n },\n \"image/tiff\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"tiff\",\"tif\"]\n },\n \"image/tiff-fx\": {\n \"source\": \"iana\"\n },\n \"image/vnd.adobe.photoshop\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"psd\"]\n },\n \"image/vnd.airzip.accelerator.azv\": {\n \"source\": \"iana\"\n },\n \"image/vnd.cns.inf2\": {\n \"source\": \"iana\"\n },\n \"image/vnd.dece.graphic\": {\n \"source\": \"iana\",\n \"extensions\": [\"uvi\",\"uvvi\",\"uvg\",\"uvvg\"]\n },\n \"image/vnd.djvu\": {\n \"source\": \"iana\",\n \"extensions\": [\"djvu\",\"djv\"]\n },\n \"image/vnd.dvb.subtitle\": {\n \"source\": \"iana\",\n \"extensions\": [\"sub\"]\n },\n \"image/vnd.dwg\": {\n \"source\": \"iana\",\n \"extensions\": [\"dwg\"]\n },\n \"image/vnd.dxf\": {\n \"source\": \"iana\",\n \"extensions\": [\"dxf\"]\n },\n \"image/vnd.fastbidsheet\": {\n \"source\": \"iana\",\n \"extensions\": [\"fbs\"]\n },\n \"image/vnd.fpx\": {\n \"source\": \"iana\",\n \"extensions\": [\"fpx\"]\n },\n \"image/vnd.fst\": {\n \"source\": \"iana\",\n \"extensions\": [\"fst\"]\n },\n \"image/vnd.fujixerox.edmics-mmr\": {\n \"source\": \"iana\",\n \"extensions\": [\"mmr\"]\n },\n \"image/vnd.fujixerox.edmics-rlc\": {\n \"source\": \"iana\",\n \"extensions\": [\"rlc\"]\n },\n \"image/vnd.globalgraphics.pgb\": {\n \"source\": \"iana\"\n },\n \"image/vnd.microsoft.icon\": {\n \"source\": \"iana\"\n },\n \"image/vnd.mix\": {\n \"source\": \"iana\"\n },\n \"image/vnd.mozilla.apng\": {\n \"source\": \"iana\"\n },\n \"image/vnd.ms-modi\": {\n \"source\": \"iana\",\n \"extensions\": [\"mdi\"]\n },\n \"image/vnd.ms-photo\": {\n \"source\": \"apache\",\n \"extensions\": [\"wdp\"]\n },\n \"image/vnd.net-fpx\": {\n \"source\": \"iana\",\n \"extensions\": [\"npx\"]\n },\n \"image/vnd.radiance\": {\n \"source\": \"iana\"\n },\n \"image/vnd.sealed.png\": {\n \"source\": \"iana\"\n },\n \"image/vnd.sealedmedia.softseal.gif\": {\n \"source\": \"iana\"\n },\n \"image/vnd.sealedmedia.softseal.jpg\": {\n \"source\": \"iana\"\n },\n \"image/vnd.svf\": {\n \"source\": \"iana\"\n },\n \"image/vnd.tencent.tap\": {\n \"source\": \"iana\"\n },\n \"image/vnd.valve.source.texture\": {\n \"source\": \"iana\"\n },\n \"image/vnd.wap.wbmp\": {\n \"source\": \"iana\",\n \"extensions\": [\"wbmp\"]\n },\n \"image/vnd.xiff\": {\n \"source\": \"iana\",\n \"extensions\": [\"xif\"]\n },\n \"image/vnd.zbrush.pcx\": {\n \"source\": \"iana\"\n },\n \"image/webp\": {\n \"source\": \"apache\",\n \"extensions\": [\"webp\"]\n },\n \"image/x-3ds\": {\n \"source\": \"apache\",\n \"extensions\": [\"3ds\"]\n },\n \"image/x-cmu-raster\": {\n \"source\": \"apache\",\n \"extensions\": [\"ras\"]\n },\n \"image/x-cmx\": {\n \"source\": \"apache\",\n \"extensions\": [\"cmx\"]\n },\n \"image/x-freehand\": {\n \"source\": \"apache\",\n \"extensions\": [\"fh\",\"fhc\",\"fh4\",\"fh5\",\"fh7\"]\n },\n \"image/x-icon\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"ico\"]\n },\n \"image/x-jng\": {\n \"source\": \"nginx\",\n \"extensions\": [\"jng\"]\n },\n \"image/x-mrsid-image\": {\n \"source\": \"apache\",\n \"extensions\": [\"sid\"]\n },\n \"image/x-ms-bmp\": {\n \"source\": \"nginx\",\n \"compressible\": true,\n \"extensions\": [\"bmp\"]\n },\n \"image/x-pcx\": {\n \"source\": \"apache\",\n \"extensions\": [\"pcx\"]\n },\n \"image/x-pict\": {\n \"source\": \"apache\",\n \"extensions\": [\"pic\",\"pct\"]\n },\n \"image/x-portable-anymap\": {\n \"source\": \"apache\",\n \"extensions\": [\"pnm\"]\n },\n \"image/x-portable-bitmap\": {\n \"source\": \"apache\",\n \"extensions\": [\"pbm\"]\n },\n \"image/x-portable-graymap\": {\n \"source\": \"apache\",\n \"extensions\": [\"pgm\"]\n },\n \"image/x-portable-pixmap\": {\n \"source\": \"apache\",\n \"extensions\": [\"ppm\"]\n },\n \"image/x-rgb\": {\n \"source\": \"apache\",\n \"extensions\": [\"rgb\"]\n },\n \"image/x-tga\": {\n \"source\": \"apache\",\n \"extensions\": [\"tga\"]\n },\n \"image/x-xbitmap\": {\n \"source\": \"apache\",\n \"extensions\": [\"xbm\"]\n },\n \"image/x-xcf\": {\n \"compressible\": false\n },\n \"image/x-xpixmap\": {\n \"source\": \"apache\",\n \"extensions\": [\"xpm\"]\n },\n \"image/x-xwindowdump\": {\n \"source\": \"apache\",\n \"extensions\": [\"xwd\"]\n },\n \"message/cpim\": {\n \"source\": \"iana\"\n },\n \"message/delivery-status\": {\n \"source\": \"iana\"\n },\n \"message/disposition-notification\": {\n \"source\": \"iana\"\n },\n \"message/external-body\": {\n \"source\": \"iana\"\n },\n \"message/feedback-report\": {\n \"source\": \"iana\"\n },\n \"message/global\": {\n \"source\": \"iana\"\n },\n \"message/global-delivery-status\": {\n \"source\": \"iana\"\n },\n \"message/global-disposition-notification\": {\n \"source\": \"iana\"\n },\n \"message/global-headers\": {\n \"source\": \"iana\"\n },\n \"message/http\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"message/imdn+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"message/news\": {\n \"source\": \"iana\"\n },\n \"message/partial\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"message/rfc822\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"eml\",\"mime\"]\n },\n \"message/s-http\": {\n \"source\": \"iana\"\n },\n \"message/sip\": {\n \"source\": \"iana\"\n },\n \"message/sipfrag\": {\n \"source\": \"iana\"\n },\n \"message/tracking-status\": {\n \"source\": \"iana\"\n },\n \"message/vnd.si.simp\": {\n \"source\": \"iana\"\n },\n \"message/vnd.wfa.wsc\": {\n \"source\": \"iana\"\n },\n \"model/iges\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"igs\",\"iges\"]\n },\n \"model/mesh\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"msh\",\"mesh\",\"silo\"]\n },\n \"model/vnd.collada+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"dae\"]\n },\n \"model/vnd.dwf\": {\n \"source\": \"iana\",\n \"extensions\": [\"dwf\"]\n },\n \"model/vnd.flatland.3dml\": {\n \"source\": \"iana\"\n },\n \"model/vnd.gdl\": {\n \"source\": \"iana\",\n \"extensions\": [\"gdl\"]\n },\n \"model/vnd.gs-gdl\": {\n \"source\": \"apache\"\n },\n \"model/vnd.gs.gdl\": {\n \"source\": \"iana\"\n },\n \"model/vnd.gtw\": {\n \"source\": \"iana\",\n \"extensions\": [\"gtw\"]\n },\n \"model/vnd.moml+xml\": {\n \"source\": \"iana\"\n },\n \"model/vnd.mts\": {\n \"source\": \"iana\",\n \"extensions\": [\"mts\"]\n },\n \"model/vnd.opengex\": {\n \"source\": \"iana\"\n },\n \"model/vnd.parasolid.transmit.binary\": {\n \"source\": \"iana\"\n },\n \"model/vnd.parasolid.transmit.text\": {\n \"source\": \"iana\"\n },\n \"model/vnd.valve.source.compiled-map\": {\n \"source\": \"iana\"\n },\n \"model/vnd.vtu\": {\n \"source\": \"iana\",\n \"extensions\": [\"vtu\"]\n },\n \"model/vrml\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"wrl\",\"vrml\"]\n },\n \"model/x3d+binary\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"x3db\",\"x3dbz\"]\n },\n \"model/x3d+fastinfoset\": {\n \"source\": \"iana\"\n },\n \"model/x3d+vrml\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"x3dv\",\"x3dvz\"]\n },\n \"model/x3d+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"x3d\",\"x3dz\"]\n },\n \"model/x3d-vrml\": {\n \"source\": \"iana\"\n },\n \"multipart/alternative\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"multipart/appledouble\": {\n \"source\": \"iana\"\n },\n \"multipart/byteranges\": {\n \"source\": \"iana\"\n },\n \"multipart/digest\": {\n \"source\": \"iana\"\n },\n \"multipart/encrypted\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"multipart/form-data\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"multipart/header-set\": {\n \"source\": \"iana\"\n },\n \"multipart/mixed\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"multipart/parallel\": {\n \"source\": \"iana\"\n },\n \"multipart/related\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"multipart/report\": {\n \"source\": \"iana\"\n },\n \"multipart/signed\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"multipart/voice-message\": {\n \"source\": \"iana\"\n },\n \"multipart/x-mixed-replace\": {\n \"source\": \"iana\"\n },\n \"text/1d-interleaved-parityfec\": {\n \"source\": \"iana\"\n },\n \"text/cache-manifest\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"appcache\",\"manifest\"]\n },\n \"text/calendar\": {\n \"source\": \"iana\",\n \"extensions\": [\"ics\",\"ifb\"]\n },\n \"text/calender\": {\n \"compressible\": true\n },\n \"text/cmd\": {\n \"compressible\": true\n },\n \"text/coffeescript\": {\n \"extensions\": [\"coffee\",\"litcoffee\"]\n },\n \"text/css\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"css\"]\n },\n \"text/csv\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"csv\"]\n },\n \"text/csv-schema\": {\n \"source\": \"iana\"\n },\n \"text/directory\": {\n \"source\": \"iana\"\n },\n \"text/dns\": {\n \"source\": \"iana\"\n },\n \"text/ecmascript\": {\n \"source\": \"iana\"\n },\n \"text/encaprtp\": {\n \"source\": \"iana\"\n },\n \"text/enriched\": {\n \"source\": \"iana\"\n },\n \"text/fwdred\": {\n \"source\": \"iana\"\n },\n \"text/grammar-ref-list\": {\n \"source\": \"iana\"\n },\n \"text/hjson\": {\n \"extensions\": [\"hjson\"]\n },\n \"text/html\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"html\",\"htm\",\"shtml\"]\n },\n \"text/jade\": {\n \"extensions\": [\"jade\"]\n },\n \"text/javascript\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"text/jcr-cnd\": {\n \"source\": \"iana\"\n },\n \"text/jsx\": {\n \"compressible\": true,\n \"extensions\": [\"jsx\"]\n },\n \"text/less\": {\n \"extensions\": [\"less\"]\n },\n \"text/markdown\": {\n \"source\": \"iana\"\n },\n \"text/mathml\": {\n \"source\": \"nginx\",\n \"extensions\": [\"mml\"]\n },\n \"text/mizar\": {\n \"source\": \"iana\"\n },\n \"text/n3\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"n3\"]\n },\n \"text/parameters\": {\n \"source\": \"iana\"\n },\n \"text/parityfec\": {\n \"source\": \"iana\"\n },\n \"text/plain\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"txt\",\"text\",\"conf\",\"def\",\"list\",\"log\",\"in\",\"ini\"]\n },\n \"text/provenance-notation\": {\n \"source\": \"iana\"\n },\n \"text/prs.fallenstein.rst\": {\n \"source\": \"iana\"\n },\n \"text/prs.lines.tag\": {\n \"source\": \"iana\",\n \"extensions\": [\"dsc\"]\n },\n \"text/raptorfec\": {\n \"source\": \"iana\"\n },\n \"text/red\": {\n \"source\": \"iana\"\n },\n \"text/rfc822-headers\": {\n \"source\": \"iana\"\n },\n \"text/richtext\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rtx\"]\n },\n \"text/rtf\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rtf\"]\n },\n \"text/rtp-enc-aescm128\": {\n \"source\": \"iana\"\n },\n \"text/rtploopback\": {\n \"source\": \"iana\"\n },\n \"text/rtx\": {\n \"source\": \"iana\"\n },\n \"text/sgml\": {\n \"source\": \"iana\",\n \"extensions\": [\"sgml\",\"sgm\"]\n },\n \"text/stylus\": {\n \"extensions\": [\"stylus\",\"styl\"]\n },\n \"text/t140\": {\n \"source\": \"iana\"\n },\n \"text/tab-separated-values\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"tsv\"]\n },\n \"text/troff\": {\n \"source\": \"iana\",\n \"extensions\": [\"t\",\"tr\",\"roff\",\"man\",\"me\",\"ms\"]\n },\n \"text/turtle\": {\n \"source\": \"iana\",\n \"extensions\": [\"ttl\"]\n },\n \"text/ulpfec\": {\n \"source\": \"iana\"\n },\n \"text/uri-list\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"uri\",\"uris\",\"urls\"]\n },\n \"text/vcard\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"vcard\"]\n },\n \"text/vnd.a\": {\n \"source\": \"iana\"\n },\n \"text/vnd.abc\": {\n \"source\": \"iana\"\n },\n \"text/vnd.curl\": {\n \"source\": \"iana\",\n \"extensions\": [\"curl\"]\n },\n \"text/vnd.curl.dcurl\": {\n \"source\": \"apache\",\n \"extensions\": [\"dcurl\"]\n },\n \"text/vnd.curl.mcurl\": {\n \"source\": \"apache\",\n \"extensions\": [\"mcurl\"]\n },\n \"text/vnd.curl.scurl\": {\n \"source\": \"apache\",\n \"extensions\": [\"scurl\"]\n },\n \"text/vnd.debian.copyright\": {\n \"source\": \"iana\"\n },\n \"text/vnd.dmclientscript\": {\n \"source\": \"iana\"\n },\n \"text/vnd.dvb.subtitle\": {\n \"source\": \"iana\",\n \"extensions\": [\"sub\"]\n },\n \"text/vnd.esmertec.theme-descriptor\": {\n \"source\": \"iana\"\n },\n \"text/vnd.fly\": {\n \"source\": \"iana\",\n \"extensions\": [\"fly\"]\n },\n \"text/vnd.fmi.flexstor\": {\n \"source\": \"iana\",\n \"extensions\": [\"flx\"]\n },\n \"text/vnd.graphviz\": {\n \"source\": \"iana\",\n \"extensions\": [\"gv\"]\n },\n \"text/vnd.in3d.3dml\": {\n \"source\": \"iana\",\n \"extensions\": [\"3dml\"]\n },\n \"text/vnd.in3d.spot\": {\n \"source\": \"iana\",\n \"extensions\": [\"spot\"]\n },\n \"text/vnd.iptc.newsml\": {\n \"source\": \"iana\"\n },\n \"text/vnd.iptc.nitf\": {\n \"source\": \"iana\"\n },\n \"text/vnd.latex-z\": {\n \"source\": \"iana\"\n },\n \"text/vnd.motorola.reflex\": {\n \"source\": \"iana\"\n },\n \"text/vnd.ms-mediapackage\": {\n \"source\": \"iana\"\n },\n \"text/vnd.net2phone.commcenter.command\": {\n \"source\": \"iana\"\n },\n \"text/vnd.radisys.msml-basic-layout\": {\n \"source\": \"iana\"\n },\n \"text/vnd.si.uricatalogue\": {\n \"source\": \"iana\"\n },\n \"text/vnd.sun.j2me.app-descriptor\": {\n \"source\": \"iana\",\n \"extensions\": [\"jad\"]\n },\n \"text/vnd.trolltech.linguist\": {\n \"source\": \"iana\"\n },\n \"text/vnd.wap.si\": {\n \"source\": \"iana\"\n },\n \"text/vnd.wap.sl\": {\n \"source\": \"iana\"\n },\n \"text/vnd.wap.wml\": {\n \"source\": \"iana\",\n \"extensions\": [\"wml\"]\n },\n \"text/vnd.wap.wmlscript\": {\n \"source\": \"iana\",\n \"extensions\": [\"wmls\"]\n },\n \"text/vtt\": {\n \"charset\": \"UTF-8\",\n \"compressible\": true,\n \"extensions\": [\"vtt\"]\n },\n \"text/x-asm\": {\n \"source\": \"apache\",\n \"extensions\": [\"s\",\"asm\"]\n },\n \"text/x-c\": {\n \"source\": \"apache\",\n \"extensions\": [\"c\",\"cc\",\"cxx\",\"cpp\",\"h\",\"hh\",\"dic\"]\n },\n \"text/x-component\": {\n \"source\": \"nginx\",\n \"extensions\": [\"htc\"]\n },\n \"text/x-fortran\": {\n \"source\": \"apache\",\n \"extensions\": [\"f\",\"for\",\"f77\",\"f90\"]\n },\n \"text/x-gwt-rpc\": {\n \"compressible\": true\n },\n \"text/x-handlebars-template\": {\n \"extensions\": [\"hbs\"]\n },\n \"text/x-java-source\": {\n \"source\": \"apache\",\n \"extensions\": [\"java\"]\n },\n \"text/x-jquery-tmpl\": {\n \"compressible\": true\n },\n \"text/x-lua\": {\n \"extensions\": [\"lua\"]\n },\n \"text/x-markdown\": {\n \"compressible\": true,\n \"extensions\": [\"markdown\",\"md\",\"mkd\"]\n },\n \"text/x-nfo\": {\n \"source\": \"apache\",\n \"extensions\": [\"nfo\"]\n },\n \"text/x-opml\": {\n \"source\": \"apache\",\n \"extensions\": [\"opml\"]\n },\n \"text/x-pascal\": {\n \"source\": \"apache\",\n \"extensions\": [\"p\",\"pas\"]\n },\n \"text/x-processing\": {\n \"compressible\": true,\n \"extensions\": [\"pde\"]\n },\n \"text/x-sass\": {\n \"extensions\": [\"sass\"]\n },\n \"text/x-scss\": {\n \"extensions\": [\"scss\"]\n },\n \"text/x-setext\": {\n \"source\": \"apache\",\n \"extensions\": [\"etx\"]\n },\n \"text/x-sfv\": {\n \"source\": \"apache\",\n \"extensions\": [\"sfv\"]\n },\n \"text/x-suse-ymp\": {\n \"compressible\": true,\n \"extensions\": [\"ymp\"]\n },\n \"text/x-uuencode\": {\n \"source\": \"apache\",\n \"extensions\": [\"uu\"]\n },\n \"text/x-vcalendar\": {\n \"source\": \"apache\",\n \"extensions\": [\"vcs\"]\n },\n \"text/x-vcard\": {\n \"source\": \"apache\",\n \"extensions\": [\"vcf\"]\n },\n \"text/xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xml\"]\n },\n \"text/xml-external-parsed-entity\": {\n \"source\": \"iana\"\n },\n \"text/yaml\": {\n \"extensions\": [\"yaml\",\"yml\"]\n },\n \"video/1d-interleaved-parityfec\": {\n \"source\": \"apache\"\n },\n \"video/3gpp\": {\n \"source\": \"apache\",\n \"extensions\": [\"3gp\",\"3gpp\"]\n },\n \"video/3gpp-tt\": {\n \"source\": \"apache\"\n },\n \"video/3gpp2\": {\n \"source\": \"apache\",\n \"extensions\": [\"3g2\"]\n },\n \"video/bmpeg\": {\n \"source\": \"apache\"\n },\n \"video/bt656\": {\n \"source\": \"apache\"\n },\n \"video/celb\": {\n \"source\": \"apache\"\n },\n \"video/dv\": {\n \"source\": \"apache\"\n },\n \"video/h261\": {\n \"source\": \"apache\",\n \"extensions\": [\"h261\"]\n },\n \"video/h263\": {\n \"source\": \"apache\",\n \"extensions\": [\"h263\"]\n },\n \"video/h263-1998\": {\n \"source\": \"apache\"\n },\n \"video/h263-2000\": {\n \"source\": \"apache\"\n },\n \"video/h264\": {\n \"source\": \"apache\",\n \"extensions\": [\"h264\"]\n },\n \"video/h264-rcdo\": {\n \"source\": \"apache\"\n },\n \"video/h264-svc\": {\n \"source\": \"apache\"\n },\n \"video/jpeg\": {\n \"source\": \"apache\",\n \"extensions\": [\"jpgv\"]\n },\n \"video/jpeg2000\": {\n \"source\": \"apache\"\n },\n \"video/jpm\": {\n \"source\": \"apache\",\n \"extensions\": [\"jpm\",\"jpgm\"]\n },\n \"video/mj2\": {\n \"source\": \"apache\",\n \"extensions\": [\"mj2\",\"mjp2\"]\n },\n \"video/mp1s\": {\n \"source\": \"apache\"\n },\n \"video/mp2p\": {\n \"source\": \"apache\"\n },\n \"video/mp2t\": {\n \"source\": \"apache\",\n \"extensions\": [\"ts\"]\n },\n \"video/mp4\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"mp4\",\"mp4v\",\"mpg4\"]\n },\n \"video/mp4v-es\": {\n \"source\": \"apache\"\n },\n \"video/mpeg\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"mpeg\",\"mpg\",\"mpe\",\"m1v\",\"m2v\"]\n },\n \"video/mpeg4-generic\": {\n \"source\": \"apache\"\n },\n \"video/mpv\": {\n \"source\": \"apache\"\n },\n \"video/nv\": {\n \"source\": \"apache\"\n },\n \"video/ogg\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"ogv\"]\n },\n \"video/parityfec\": {\n \"source\": \"apache\"\n },\n \"video/pointer\": {\n \"source\": \"apache\"\n },\n \"video/quicktime\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"qt\",\"mov\"]\n },\n \"video/raw\": {\n \"source\": \"apache\"\n },\n \"video/rtp-enc-aescm128\": {\n \"source\": \"apache\"\n },\n \"video/rtx\": {\n \"source\": \"apache\"\n },\n \"video/smpte292m\": {\n \"source\": \"apache\"\n },\n \"video/ulpfec\": {\n \"source\": \"apache\"\n },\n \"video/vc1\": {\n \"source\": \"apache\"\n },\n \"video/vnd.cctv\": {\n \"source\": \"apache\"\n },\n \"video/vnd.dece.hd\": {\n \"source\": \"apache\",\n \"extensions\": [\"uvh\",\"uvvh\"]\n },\n \"video/vnd.dece.mobile\": {\n \"source\": \"apache\",\n \"extensions\": [\"uvm\",\"uvvm\"]\n },\n \"video/vnd.dece.mp4\": {\n \"source\": \"apache\"\n },\n \"video/vnd.dece.pd\": {\n \"source\": \"apache\",\n \"extensions\": [\"uvp\",\"uvvp\"]\n },\n \"video/vnd.dece.sd\": {\n \"source\": \"apache\",\n \"extensions\": [\"uvs\",\"uvvs\"]\n },\n \"video/vnd.dece.video\": {\n \"source\": \"apache\",\n \"extensions\": [\"uvv\",\"uvvv\"]\n },\n \"video/vnd.directv.mpeg\": {\n \"source\": \"apache\"\n },\n \"video/vnd.directv.mpeg-tts\": {\n \"source\": \"apache\"\n },\n \"video/vnd.dlna.mpeg-tts\": {\n \"source\": \"apache\"\n },\n \"video/vnd.dvb.file\": {\n \"source\": \"apache\",\n \"extensions\": [\"dvb\"]\n },\n \"video/vnd.fvt\": {\n \"source\": \"apache\",\n \"extensions\": [\"fvt\"]\n },\n \"video/vnd.hns.video\": {\n \"source\": \"apache\"\n },\n \"video/vnd.iptvforum.1dparityfec-1010\": {\n \"source\": \"apache\"\n },\n \"video/vnd.iptvforum.1dparityfec-2005\": {\n \"source\": \"apache\"\n },\n \"video/vnd.iptvforum.2dparityfec-1010\": {\n \"source\": \"apache\"\n },\n \"video/vnd.iptvforum.2dparityfec-2005\": {\n \"source\": \"apache\"\n },\n \"video/vnd.iptvforum.ttsavc\": {\n \"source\": \"apache\"\n },\n \"video/vnd.iptvforum.ttsmpeg2\": {\n \"source\": \"apache\"\n },\n \"video/vnd.motorola.video\": {\n \"source\": \"apache\"\n },\n \"video/vnd.motorola.videop\": {\n \"source\": \"apache\"\n },\n \"video/vnd.mpegurl\": {\n \"source\": \"apache\",\n \"extensions\": [\"mxu\",\"m4u\"]\n },\n \"video/vnd.ms-playready.media.pyv\": {\n \"source\": \"apache\",\n \"extensions\": [\"pyv\"]\n },\n \"video/vnd.nokia.interleaved-multimedia\": {\n \"source\": \"apache\"\n },\n \"video/vnd.nokia.videovoip\": {\n \"source\": \"apache\"\n },\n \"video/vnd.objectvideo\": {\n \"source\": \"apache\"\n },\n \"video/vnd.sealed.mpeg1\": {\n \"source\": \"apache\"\n },\n \"video/vnd.sealed.mpeg4\": {\n \"source\": \"apache\"\n },\n \"video/vnd.sealed.swf\": {\n \"source\": \"apache\"\n },\n \"video/vnd.sealedmedia.softseal.mov\": {\n \"source\": \"apache\"\n },\n \"video/vnd.uvvu.mp4\": {\n \"source\": \"apache\",\n \"extensions\": [\"uvu\",\"uvvu\"]\n },\n \"video/vnd.vivo\": {\n \"source\": \"apache\",\n \"extensions\": [\"viv\"]\n },\n \"video/webm\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"webm\"]\n },\n \"video/x-f4v\": {\n \"source\": \"apache\",\n \"extensions\": [\"f4v\"]\n },\n \"video/x-fli\": {\n \"source\": \"apache\",\n \"extensions\": [\"fli\"]\n },\n \"video/x-flv\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"flv\"]\n },\n \"video/x-m4v\": {\n \"source\": \"apache\",\n \"extensions\": [\"m4v\"]\n },\n \"video/x-matroska\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"mkv\",\"mk3d\",\"mks\"]\n },\n \"video/x-mng\": {\n \"source\": \"apache\",\n \"extensions\": [\"mng\"]\n },\n \"video/x-ms-asf\": {\n \"source\": \"apache\",\n \"extensions\": [\"asf\",\"asx\"]\n },\n \"video/x-ms-vob\": {\n \"source\": \"apache\",\n \"extensions\": [\"vob\"]\n },\n \"video/x-ms-wm\": {\n \"source\": \"apache\",\n \"extensions\": [\"wm\"]\n },\n \"video/x-ms-wmv\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"wmv\"]\n },\n \"video/x-ms-wmx\": {\n \"source\": \"apache\",\n \"extensions\": [\"wmx\"]\n },\n \"video/x-ms-wvx\": {\n \"source\": \"apache\",\n \"extensions\": [\"wvx\"]\n },\n \"video/x-msvideo\": {\n \"source\": \"apache\",\n \"extensions\": [\"avi\"]\n },\n \"video/x-sgi-movie\": {\n \"source\": \"apache\",\n \"extensions\": [\"movie\"]\n },\n \"video/x-smv\": {\n \"source\": \"apache\",\n \"extensions\": [\"smv\"]\n },\n \"x-conference/x-cooltalk\": {\n \"source\": \"apache\",\n \"extensions\": [\"ice\"]\n },\n \"x-shader/x-fragment\": {\n \"compressible\": true\n },\n \"x-shader/x-vertex\": {\n \"compressible\": true\n }\n}","var system = {};\nmodule['exports'] = system;\nsystem.directoryPaths = require(\"./directoryPaths\");\nsystem.mimeTypes = require(\"./mimeTypes\");\n","module[\"exports\"] = [\n \"Aston Martin\",\n \"Audi\",\n \"Bentley\",\n \"BMW\",\n \"Bugatti\",\n \"Cadillac\",\n \"Chevrolet\",\n \"Chrysler\",\n \"Dodge\",\n \"Ferrari\",\n \"Fiat\",\n \"Ford\",\n \"Honda\",\n \"Hyundai\",\n \"Jaguar\",\n \"Jeep\",\n \"Kia\",\n \"Lamborghini\",\n \"Land Rover\",\n \"Maserati\",\n \"Mazda\",\n \"Mercedes Benz\",\n \"Mini\",\n \"Nissan\",\n \"Polestar\",\n \"Porsche\",\n \"Rolls Royce\",\n \"Smart\",\n \"Tesla\",\n \"Toyota\",\n \"Volkswagen\",\n \"Volvo\"\n];\n","module[\"exports\"] = [\n \"Fiesta\",\n \"Focus\",\n \"Taurus\",\n \"Mustang\",\n \"Explorer\",\n \"Expedition\",\n \"F-150\",\n \"Model T\",\n \"Ranchero\",\n \"Volt\",\n \"Cruze\",\n \"Malibu\",\n \"Impala\",\n \"Camaro\",\n \"Corvette\",\n \"Colorado\",\n \"Silverado\",\n \"El Camino\",\n \"CTS\",\n \"XTS\",\n \"ATS\",\n \"Escalade\",\n \"Alpine\",\n \"Charger\",\n \"LeBaron\",\n \"PT Cruiser\",\n \"Challenger\",\n \"Durango\",\n \"Grand Caravan\",\n \"Wrangler\",\n \"Grand Cherokee\",\n \"Roadster\",\n \"Model S\",\n \"Model 3\",\n \"Camry\",\n \"Prius\",\n \"Land Cruiser\",\n \"Accord\",\n \"Civic\",\n \"Element\",\n \"Sentra\",\n \"Altima\",\n \"A8\",\n \"A4\",\n \"Beetle\",\n \"Jetta\",\n \"Golf\",\n \"911\",\n \"Spyder\",\n \"Countach\",\n \"Mercielago\",\n \"Aventador\",\n \"1\",\n \"2\",\n \"Fortwo\",\n \"V90\",\n \"XC90\",\n \"CX-9\",\n];\n","module[\"exports\"] = [\n \"Cargo Van\",\n \"Convertible\",\n \"Coupe\",\n \"Crew Cab Pickup\",\n \"Extended Cab Pickup\",\n \"Hatchback\",\n \"Minivan\",\n \"Passenger Van\",\n \"SUV\",\n \"Sedan\",\n \"Wagon\"\n];\n","module[\"exports\"] = [\n \"Diesel\",\n \"Electric\",\n \"Gasoline\",\n \"Hybrid\"\n];\n","var vehicle = {};\nmodule[\"exports\"] = vehicle;\nvehicle.manufacturer = require(\"./manufacturer\");\nvehicle.model = require(\"./model\");\nvehicle.type = require(\"./vehicle_type\");\nvehicle.fuel = require(\"./fuel\");\n","module[\"exports\"] = [\n \"Rock\",\n \"Metal\",\n \"Pop\",\n \"Electronic\",\n \"Folk\",\n \"World\",\n \"Country\",\n \"Jazz\",\n \"Funk\",\n \"Soul\",\n \"Hip Hop\",\n \"Classical\",\n \"Latin\",\n \"Reggae\",\n \"Stage And Screen\",\n \"Blues\",\n \"Non Music\",\n \"Rap\"\n];\n","var music = {};\nmodule['exports'] = music;\nmusic.genre = require(\"./genre\");\n","var en = {};\nmodule['exports'] = en;\nen.title = \"English\";\nen.separator = \" & \";\nen.address = require(\"./address\");\nen.company = require(\"./company\");\nen.internet = require(\"./internet\");\nen.database = require(\"./database\");\nen.lorem = require(\"./lorem\");\nen.name = require(\"./name\");\nen.phone_number = require(\"./phone_number\");\nen.cell_phone = require(\"./cell_phone\");\nen.business = require(\"./business\");\nen.commerce = require(\"./commerce\");\nen.team = require(\"./team\");\nen.hacker = require(\"./hacker\");\nen.app = require(\"./app\");\nen.finance = require(\"./finance\");\nen.date = require(\"./date\");\nen.system = require(\"./system\");\nen.vehicle = require(\"./vehicle\");\nen.music = require(\"./music\");\n","var Faker = require('../lib');\nvar faker = new Faker({ locale: 'en_US', localeFallback: 'en' });\nfaker.locales['en_US'] = require('../lib/locales/en_US');\nfaker.locales['en'] = require('../lib/locales/en');\nmodule['exports'] = faker;\n","import { name, internet } from 'faker/locale/en_US';\n\nimport { Db } from './types';\n\nexport const generateSales = (_: Db) => {\n const randomSales = Array.from(Array(10).keys()).map(id => {\n const first_name = name.firstName();\n const last_name = name.lastName();\n const email = internet.email(first_name, last_name);\n\n return {\n id: id + 1,\n first_name,\n last_name,\n email,\n };\n });\n return [\n {\n id: 0,\n first_name: 'Jane',\n last_name: 'Doe',\n email: 'janedoe@atomic.dev',\n },\n ...randomSales,\n ];\n};\n","import { Db } from './types';\n\n// --champagne-pink: #eddcd2ff;\n// --linen: #fff1e6ff;\n// --pale-pink: #fde2e4ff;\n// --mimi-pink: #fad2e1ff;\n// --powder-blue: #c5deddff;\n// --mint-cream: #dbe7e4ff;\n// --isabelline: #f0efebff;\n// --alice-blue: #d6e2e9ff;\n// --beau-blue: #bcd4e6ff;\n// --pale-cerulean: #99c1deff;\n\nconst tags = [\n { id: 0, name: 'football-fan', color: '#eddcd2' },\n { id: 1, name: 'holiday-card', color: '#fff1e6' },\n { id: 2, name: 'influencer', color: '#fde2e4' },\n { id: 3, name: 'manager', color: '#fad2e1' },\n { id: 4, name: 'musician', color: '#c5dedd' },\n { id: 5, name: 'vip', color: '#dbe7e4' },\n];\n\nexport const generateTags = (_: Db) => {\n return [...tags];\n};\n","var Faker = require('../lib');\nvar faker = new Faker({ locale: 'en', localeFallback: 'en' });\nfaker.locales['en'] = require('../lib/locales/en');\nfaker.locales['en'] = require('../lib/locales/en');\nmodule['exports'] = faker;\n","import faker from 'faker/locale/en';\n\nexport const weightedArrayElement = (values: any[], weights: any) =>\n faker.random.arrayElement(\n values.reduce(\n (acc, value, index) =>\n acc.concat(new Array(weights[index]).fill(value)),\n []\n )\n );\n\nexport const weightedBoolean = (likelyhood: number) =>\n faker.random.number(99) < likelyhood;\n\nexport const randomDate = (minDate?: Date, maxDate?: Date) => {\n const minTs =\n minDate instanceof Date\n ? minDate.getTime()\n : Date.now() - 5 * 365 * 24 * 60 * 60 * 1000; // 5 years\n const maxTs = maxDate instanceof Date ? maxDate.getTime() : Date.now();\n const range = maxTs - minTs;\n const randomRange = faker.random.number({ max: range });\n // move it more towards today to account for traffic increase\n const ts = Math.sqrt(randomRange / range) * range;\n return new Date(minTs + ts);\n};\n\nexport const randomFloat = (min: number, max: number) =>\n parseFloat(faker.random.number({ min, max, precision: 0.01 }).toFixed(2));\n","import { company, internet, address, phone, random } from 'faker/locale/en_US';\nimport { randomDate } from './utils';\n\nimport { Db } from './types';\nimport { Company } from '../types';\n\nconst sectors = [\n 'Communication Services',\n 'Consumer Discretionary',\n 'Consumer Staples',\n 'Energy',\n 'Financials',\n 'Health Care',\n 'Industrials',\n 'Information Technology',\n 'Materials',\n 'Real Estate',\n 'Utilities',\n];\n\nconst sizes = [1, 10, 50, 250, 500];\n\nconst regex = /\\W+/;\n\nexport const generateCompanies = (db: Db): Company[] => {\n return Array.from(Array(55).keys()).map(id => {\n const name = company.companyName();\n return {\n id,\n name: name,\n logo: `./logos/${id}.png`,\n sector: random.arrayElement(sectors),\n size: random.arrayElement(sizes) as 1 | 10 | 50 | 250 | 500,\n linkedIn: `https://www.linkedin.com/company/${name\n .toLowerCase()\n .replace(regex, '_')}`,\n website: internet.url(),\n phone_number: phone.phoneNumber(),\n address: address.streetAddress(),\n zipcode: address.zipCode(),\n city: address.city(),\n stateAbbr: address.stateAbbr(),\n nb_contacts: 0,\n nb_deals: 0,\n // at least 1/3rd of companies for Jane Doe\n sales_id:\n random.number(2) === 0 ? 0 : random.arrayElement(db.sales).id,\n created_at: randomDate().toISOString(),\n };\n });\n};\n","import {\n name,\n internet,\n random,\n company as fakerCompany,\n phone,\n lorem,\n} from 'faker/locale/en_US';\n\nimport { randomDate, weightedBoolean } from './utils';\nimport { Db } from './types';\nimport { Contact } from '../types';\n\nconst genders = ['male', 'female', 'nonbinary'];\nconst status = ['cold', 'cold', 'cold', 'warm', 'warm', 'hot', 'in-contract'];\nconst maxContacts = {\n 1: 1,\n 10: 4,\n 50: 12,\n 250: 25,\n 500: 50,\n};\n\nexport const generateContacts = (db: Db): Contact[] => {\n const nbAvailblePictures = 223;\n let numberOfContacts = 0;\n\n return Array.from(Array(500).keys()).map(id => {\n const has_avatar =\n weightedBoolean(25) && numberOfContacts < nbAvailblePictures;\n const gender = random.arrayElement(genders);\n const first_name = name.firstName(gender as any);\n const last_name = name.lastName();\n const email = internet.email(first_name, last_name);\n const avatar = has_avatar\n ? 'https://marmelab.com/posters/avatar-' +\n (223 - numberOfContacts) +\n '.jpeg'\n : undefined;\n const title = fakerCompany.bsAdjective();\n\n if (has_avatar) {\n numberOfContacts++;\n }\n\n // choose company with people left to know\n let company;\n do {\n company = random.arrayElement(db.companies);\n } while (company.nb_contacts >= maxContacts[company.size]);\n company.nb_contacts++;\n\n const first_seen = randomDate(\n new Date(company.created_at)\n ).toISOString();\n const last_seen = first_seen;\n\n return {\n id,\n first_name,\n last_name,\n gender,\n title: title.charAt(0).toUpperCase() + title.substr(1),\n company_id: company.id,\n email,\n phone_number1: phone.phoneNumber(),\n phone_number2: phone.phoneNumber(),\n background: lorem.sentence(),\n acquisition: random.arrayElement(['inbound', 'outbound']),\n avatar,\n first_seen: first_seen,\n last_seen: last_seen,\n has_newsletter: weightedBoolean(30),\n status: random.arrayElement(status),\n tags: random\n .arrayElements(db.tags, random.arrayElement([0, 0, 0, 1, 1, 2]))\n .map(tag => tag.id), // finalize\n sales_id: company.sales_id,\n nb_notes: 0,\n nb_tasks: 0,\n };\n });\n};\n","import { random, lorem } from 'faker/locale/en_US';\n\nimport { Db } from './types';\nimport { ContactNote } from '../types';\nimport { randomDate } from './utils';\n\nconst type = ['Email', 'Call', 'Call', 'Call', 'Call', 'Meeting', 'Reminder'];\nconst status = ['cold', 'cold', 'cold', 'warm', 'warm', 'hot', 'in-contract'];\n\nexport const generateContactNotes = (db: Db): ContactNote[] => {\n return Array.from(Array(1200).keys()).map(id => {\n const contact = random.arrayElement(db.contacts);\n const date = randomDate(new Date(contact.first_seen)).toISOString();\n contact.nb_notes++;\n contact.last_seen = date > contact.last_seen ? date : contact.last_seen;\n return {\n id,\n contact_id: contact.id,\n type: random.arrayElement(type),\n text: lorem.paragraphs(random.number({ min: 1, max: 4 })),\n date,\n sales_id: contact.sales_id,\n status: random.arrayElement(status),\n };\n });\n};\n","import { random, lorem } from 'faker/locale/en_US';\n\nimport { Db } from './types';\nimport { randomDate } from './utils';\n\nexport const type = [\n 'Email',\n 'Email',\n 'Email',\n 'Email',\n 'Email',\n 'Email',\n 'Call',\n 'Call',\n 'Call',\n 'Call',\n 'Call',\n 'Call',\n 'Call',\n 'Call',\n 'Call',\n 'Call',\n 'Call',\n 'Demo',\n 'Lunch',\n 'Meeting',\n 'Follow-up',\n 'Follow-up',\n 'Thank you',\n 'Ship',\n 'None',\n];\n\nexport const generateTasks = (db: Db) => {\n return Array.from(Array(400).keys()).map(id => {\n const contact = random.arrayElement(db.contacts);\n contact.nb_tasks++;\n return {\n id,\n contact_id: contact.id,\n type: random.arrayElement(type),\n text: lorem.sentence(),\n due_date: randomDate(\n random.boolean() ? new Date() : new Date(contact.first_seen),\n new Date(Date.now() + 100 * 24 * 60 * 60 * 1000)\n ).toISOString(),\n done_date: undefined,\n };\n });\n};\n","import { random, lorem } from 'faker/locale/en_US';\nimport { add } from 'date-fns';\n\nimport { Db } from './types';\nimport { Deal } from '../types';\nimport { randomDate } from './utils';\n\nconst type = [\n 'Other',\n 'Copywriting',\n 'Print project',\n 'UI Design',\n 'Website design',\n];\nconst stages = [\n 'opportunity',\n 'proposal-sent',\n 'in-negociation',\n 'won',\n 'lost',\n 'delayed',\n];\n//const tags = [\"new deal\", \"upsell\", \"SAV\"];\n\nexport const generateDeals = (db: Db): Deal[] => {\n const deals = Array.from(Array(50).keys()).map(id => {\n const company = random.arrayElement(db.companies);\n company.nb_deals++;\n const contacts = random.arrayElements(\n db.contacts.filter(contact => contact.company_id === company.id),\n random.number({ min: 1, max: 3 })\n );\n const lowercaseName = lorem.words();\n const created_at = randomDate(\n new Date(company.created_at)\n ).toISOString();\n return {\n id,\n name: lowercaseName[0].toUpperCase() + lowercaseName.slice(1),\n company_id: company.id,\n contact_ids: contacts.map(contact => contact.id),\n type: random.arrayElement(type),\n stage: random.arrayElement(stages),\n description: lorem.paragraphs(random.number({ min: 1, max: 4 })),\n amount: random.number(1000) * 100,\n created_at: created_at,\n updated_at: randomDate(new Date(created_at)).toISOString(),\n start_at: randomDate(\n new Date(),\n add(new Date(), { months: 6 })\n ).toISOString(),\n sales_id: company.sales_id,\n index: 0,\n nb_notes: 0,\n };\n });\n // compute index based on stage\n stages.forEach(stage => {\n deals\n .filter(deal => deal.stage === stage)\n .forEach((deal, index) => {\n deals[deal.id].index = index;\n });\n });\n return deals;\n};\n","import { random, lorem } from 'faker/locale/en_US';\n\nimport { Db } from './types';\nimport { randomDate } from './utils';\n\nconst type = ['Email', 'Call', 'Call', 'Call', 'Call', 'Meeting', 'Reminder'];\n\nexport const generateDealNotes = (db: Db) => {\n return Array.from(Array(300).keys()).map(id => {\n const deal = random.arrayElement(db.deals);\n deal.nb_notes++;\n return {\n id,\n deal_id: deal.id,\n type: random.arrayElement(type),\n text: lorem.paragraphs(random.number({ min: 1, max: 4 })),\n date: randomDate(\n new Date(db.companies[deal.company_id as number].created_at)\n ).toISOString(),\n sales_id: deal.sales_id,\n };\n });\n};\n","import { Db } from './types';\n\nexport const finalize = (db: Db) => {\n // set contact status according to the latest note\n db.contactNotes\n .sort((a, b) => new Date(a.date).valueOf() - new Date(b.date).valueOf())\n .forEach(note => {\n db.contacts[note.contact_id as number].status = note.status;\n });\n};\n","/* eslint-disable import/no-anonymous-default-export */\nimport { generateSales } from './sales';\nimport { generateTags } from './tags';\nimport { generateCompanies } from './companies';\nimport { generateContacts } from './contacts';\nimport { generateContactNotes } from './contactNotes';\nimport { generateTasks } from './tasks';\nimport { generateDeals } from './deals';\nimport { generateDealNotes } from './dealNotes';\nimport { finalize } from './finalize';\nimport { Db } from './types';\n\nexport default (): Db => {\n const db = {} as Db;\n db.sales = generateSales(db);\n db.tags = generateTags(db);\n db.companies = generateCompanies(db);\n db.contacts = generateContacts(db);\n db.contactNotes = generateContactNotes(db);\n db.deals = generateDeals(db);\n db.dealNotes = generateDealNotes(db);\n db.tasks = generateTasks(db);\n finalize(db);\n\n return db;\n};\n","import fakeRestDataProvider from 'ra-data-fakerest';\nimport { withLifecycleCallbacks } from 'react-admin';\n\nimport generateData from './dataGenerator';\n\nconst baseDataProvider = fakeRestDataProvider(generateData(), true);\n\nconst TASK_MARKED_AS_DONE = 'TASK_MARKED_AS_DONE';\nconst TASK_MARKED_AS_UNDONE = 'TASK_MARKED_AS_UNDONE';\nconst TASK_DONE_NOT_CHANGED = 'TASK_DONE_NOT_CHANGED';\nlet taskUpdateType = TASK_DONE_NOT_CHANGED;\n\nconst augmentedDataProvider = withLifecycleCallbacks(baseDataProvider, [\n {\n resource: 'contactNotes',\n afterCreate: async (result, dataProvider) => {\n // update the notes count in the related contact\n const { contact_id } = result.data;\n const { data: contact } = await dataProvider.getOne('contacts', {\n id: contact_id,\n });\n await dataProvider.update('contacts', {\n id: contact_id,\n data: {\n nb_notes: (contact.nb_notes ?? 0) + 1,\n },\n previousData: contact,\n });\n return result;\n },\n afterDelete: async (result, dataProvider) => {\n // update the notes count in the related contact\n const { contact_id } = result.data;\n const { data: contact } = await dataProvider.getOne('contacts', {\n id: contact_id,\n });\n await dataProvider.update('contacts', {\n id: contact_id,\n data: {\n nb_notes: (contact.nb_notes ?? 0) - 1,\n },\n previousData: contact,\n });\n return result;\n },\n },\n {\n resource: 'tasks',\n afterCreate: async (result, dataProvider) => {\n // update the task count in the related contact\n const { contact_id } = result.data;\n const { data: contact } = await dataProvider.getOne('contacts', {\n id: contact_id,\n });\n await dataProvider.update('contacts', {\n id: contact_id,\n data: {\n nb_tasks: (contact.nb_tasks ?? 0) + 1,\n },\n previousData: contact,\n });\n return result;\n },\n beforeUpdate: async params => {\n const { data, previousData } = params;\n if (previousData.done_date !== data.done_date) {\n taskUpdateType = data.done_date\n ? TASK_MARKED_AS_DONE\n : TASK_MARKED_AS_UNDONE;\n } else {\n taskUpdateType = TASK_DONE_NOT_CHANGED;\n }\n return params;\n },\n afterUpdate: async (result, dataProvider) => {\n // update the contact: if the task is done, decrement the nb tasks, otherwise increment it\n const { contact_id } = result.data;\n const { data: contact } = await dataProvider.getOne('contacts', {\n id: contact_id,\n });\n if (taskUpdateType !== TASK_DONE_NOT_CHANGED) {\n await dataProvider.update('contacts', {\n id: contact_id,\n data: {\n nb_tasks:\n taskUpdateType === TASK_MARKED_AS_DONE\n ? (contact.nb_tasks ?? 0) - 1\n : (contact.nb_tasks ?? 0) + 1,\n },\n previousData: contact,\n });\n }\n return result;\n },\n afterDelete: async (result, dataProvider) => {\n // update the task count in the related contact\n const { contact_id } = result.data;\n const { data: contact } = await dataProvider.getOne('contacts', {\n id: contact_id,\n });\n await dataProvider.update('contacts', {\n id: contact_id,\n data: {\n nb_tasks: (contact.nb_tasks ?? 0) - 1,\n },\n previousData: contact,\n });\n return result;\n },\n },\n]);\n\nexport const dataProvider = new Proxy(augmentedDataProvider, {\n get: (target, name: string) => (resource: string, params: any) =>\n new Promise(resolve =>\n setTimeout(\n () => resolve(augmentedDataProvider[name](resource, params)),\n 300\n )\n ),\n});\n","/* eslint-disable import/no-anonymous-default-export */\nimport * as React from 'react';\nconst DealList = React.lazy(() => import('./DealList'));\n\nexport default {\n list: DealList,\n};\n","import {\n Admin,\n ListGuesser,\n Resource,\n defaultTheme,\n localStorageStore,\n} from 'react-admin';\n\nimport Layout from './Layout';\nimport { authProvider } from './authProvider';\nimport companies from './companies';\nimport contacts from './contacts';\nimport { Dashboard } from './dashboard/Dashboard';\nimport { dataProvider } from './dataProvider';\nimport deals from './deals';\n\nconst App = () => (\n <Admin\n dataProvider={dataProvider}\n authProvider={authProvider}\n store={localStorageStore(undefined, 'CRM')}\n layout={Layout}\n dashboard={Dashboard}\n theme={{\n ...defaultTheme,\n palette: {\n background: {\n default: '#fafafb',\n },\n },\n }}\n >\n <Resource name=\"deals\" {...deals} />\n <Resource name=\"contacts\" {...contacts} />\n <Resource name=\"companies\" {...companies} />\n <Resource name=\"contactNotes\" />\n <Resource name=\"dealNotes\" />\n <Resource name=\"tasks\" list={ListGuesser} />\n <Resource\n name=\"sales\"\n list={ListGuesser}\n recordRepresentation={(record: any) =>\n `${record.first_name} ${record.last_name}`\n }\n />\n <Resource name=\"tags\" list={ListGuesser} />\n </Admin>\n);\n\nexport default App;\n","const reportWebVitals = onPerfEntry => {\n if (onPerfEntry && onPerfEntry instanceof Function) {\n import('web-vitals').then(\n ({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\n getCLS(onPerfEntry);\n getFID(onPerfEntry);\n getFCP(onPerfEntry);\n getLCP(onPerfEntry);\n getTTFB(onPerfEntry);\n }\n );\n }\n};\n\nexport default reportWebVitals;\n","import React from 'react';\nimport { createRoot } from 'react-dom/client';\nimport App from './App';\nimport reportWebVitals from './reportWebVitals';\n\nconst container = document.getElementById('root');\nconst root = createRoot(container!);\n\nroot.render(\n <React.StrictMode>\n <App />\n </React.StrictMode>\n);\n\n// If you want to start measuring performance in your app, pass a function\n// to log results (for example: reportWebVitals(console.log))\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\nreportWebVitals();\n"],"file":"assets/index-43HxY5vD.js"} \ No newline at end of file +{"version":3,"mappings":"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A,QACA,aACA,cAEA,UAEA,OAGA,UACA,OAEA,OACA,YACA,YACA,cAGA,cACA,YAEA,OACA,YACA,SACA,WACA,YAGA,OACA,UAEA,QACA,MACA,OAGA,OACA,MAEA,YACA,UACA,UACA,SAEA,WAEA,OACA,OACA,SAEA,YACA,QAEA,QACA,aAEA,YACA,WACA,OACA,OACA,SACA,SACA,OAEA,OACA,WACA,UACA,QACA,cACA,YACA,SACA,SACA,WACA,MACA,aACA,YACA,cAEA,YAEA,OACA,QACA,MAGA,UAEA,OAGA,SAEA,YAEA,OAEA,WACA,OACA,UACA,UACA,YACA,WACA,WACA,cACA,aACA,SACA,YACA,QACA,aAEA,OACA,UACA,WACA,YACA,QAEA,aACA,UACA,SACA,cACA,aACA,UAGA,UACA,OACA,QACA,QAEA,MACA,QACA,QACA,SACA,OACA,WACA,WACA,UACA,YACA,YACA,UAEA,SAGA,QACA,WAEA,UACA,SACA,YACA,UAEA,QAIA,aACA,YACA,cAGA,SACA,SAGA,aACA,cACA,WACA,UACA,UACA,OACA,UACA,MACA,SAKA,UACA,UACA,UACA,SACA,QACA,QACA,WAEA,QAEA,QACA,UACA,OACA,OACA,WACA,OAGA,YAEA,UAGA,QAEA,QACA,YAGA,WACA,WAEA,SACA,SACA,UACA,SAKA,UACA,iBAEA,QAEA,YACA,eACA,QAEA,WACA,OACA,aACA,gBACA,YACA,WAEA,WACA,SAEA,SACA,UAEA,UACA,QAGA,WAEA,SAKA,OACA,OACA,SACJ,EAIM3O,GAAQ,CACV,OAAQ,CACJ,IAAK,IAAI,OAAO,cAAe,IAAI,EACnC,OAAQ,IAAI,OAAO,YAAa,IAAI,EACpC,SAAU,IAAI,OAAO,cAAe,IAAI,EACxC,IAAK,IAAI,OAAO,WAAY,IAAI,EAChC,SAAU,IAAI,OAAO,gEAAiE,IAAI,EAC1F,UAAW,IAAI,OAAO,eAAgB,IAAI,EAC1C,OAAQ,IAAI,OAAO,YAAa,IAAI,EACpC,MAAO,IAAI,OAAO,cAAe,IAAI,EACrC,OAAQ,IAAI,OAAO,YAAa,IAAI,EACpC,MAAO,IAAI,OA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U,UACV,UAAWA,EACZ,EACD,aAAc,CACZ,SAAU,UACV,UAAWA,EACZ,EACD,WAAY,CACV,SAAU,UACV,UAAWA,EACZ,EACD,YAAa,CACX,SAAU,SACX,EACD,eAAgB,CACd,SAAU,SACX,EACD,iBAAkB,CAChB,SAAU,SACX,EACD,kBAAmB,CACjB,SAAU,SACX,EACD,gBAAiB,CACf,SAAU,SACX,EACD,QAAS,CACP,SAAU,UACV,UAAWA,EACZ,EACD,aAAc,CACZ,SAAU,SACX,EACD,aAAc,CACZ,SAAU,qBACV,MAAOc,EACR,EAED,MAAO,CACL,SAAU,UACV,UAAWa,EACZ,EACD,QAAS,CACP,SAAU,UACV,YAAa,kBACb,UAAWA,EACZ,EACD,gBAAiB,CACf,SAAU,UACV,UAAWA,EACZ,EAED,EAAG,CACD,MAAOjC,EACR,EACD,GAAI,CACF,MAAOA,EACR,EACD,GAAI,CACF,MAAOA,EACR,EACD,GAAI,CACF,MAAOA,EACR,EACD,GAAI,CACF,MAAOA,EACR,EACD,GAAI,CACF,MAAOA,EACR,EACD,GAAI,CACF,MAAOA,EACR,EACD,QAAS,CACP,MAAOA,EACR,EACD,WAAY,CACV,MAAOA,EACR,EACD,aAAc,CACZ,MAAOA,EACR,EACD,cAAe,CACb,MAAOA,EACR,EACD,YAAa,CACX,MAAOA,EACR,EACD,SAAU,CACR,MAAOA,EACR,EACD,SAAU,CACR,MAAOA,EACR,EACD,cAAe,CACb,MAAOA,EACR,EACD,mBAAoB,CAClB,MAAOA,EACR,EACD,iBAAkB,CAChB,MAAOA,EACR,EACD,aAAc,CACZ,MAAOA,EACR,EACD,kBAAmB,CACjB,MAAOA,EACR,EACD,gBAAiB,CACf,MAAOA,EACR,EACD,EAAG,CACD,MAAOD,EACR,EACD,GAAI,CACF,MAAOA,EACR,EACD,GAAI,CACF,MAAOA,EACR,EACD,GAAI,CACF,MAAOA,EACR,EACD,GAAI,CACF,MAAOA,EACR,EACD,GAAI,CACF,MAAOA,EACR,EACD,GAAI,CACF,MAAOA,EACR,EACD,OAAQ,CACN,MAAOA,EACR,EACD,UAAW,CACT,MA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AG,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAGA,GAAa,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAGA,GAAa,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAGA,GAAa,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAGA,GAAa,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAGA,GAAa,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAGA,GAAa,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAGA,GAAa,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAGA,GAAa,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAGA,GAAa,EAAG,EAAG,GAAI,GAAI,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAGA,GAAa,EAAG,EAAG,GAAI,GAAI,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAGA,GAAa,EAAG,EAAG,GAAI,GAAI,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAGA,GAAa,EAAG,EAAG,GAAI,GAAI,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAGA,GAAa,EAAG,GAAI,GAAI,GAAI,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAGA,GAAa,EAAG,GAAI,GAAI,GAAI,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAGA,GAAa,EAAG,GAAI,GAAI,GAAI,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAGA,GAAa,EAAG,GAAI,GAAI,GAAI,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAGA,GAAa,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ACN,MAAO,EACR,CACF,EACD,OAAQ,oCACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,+BACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,0BACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,oCACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,6BACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,CACR,CACF,EACD,OAAQ,qBACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,0BACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,EACR,EACD,CACE,KAAM,IACN,MAAO,EACR,EACD,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,CACR,CACF,EACD,OAAQ,sCACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,CACR,CACF,EACD,OAAQ,6BACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,4BACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,4BACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,oCACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,EACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,+BACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,wBACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,oCACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,8BACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,0BACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,wBACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,CACR,CACF,EACD,OAAQ,wBACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,EACR,EACD,CACE,KAAM,IACN,MAAO,EACR,EACD,CACE,KAAM,IACN,MAAO,CACR,CACF,EACD,OAAQ,mCACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,6BACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,6BACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,8BACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,mCACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,wBACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,oCACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,oCACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,kCACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,CACR,CACF,EACD,OAAQ,6BACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,8BACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,mCACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,uCACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,0BACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,0BACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,uCACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,4BACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,oCACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,4BACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,0BACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,0BACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,EACD,CACE,KAAM,IACN,MAAO,CACR,CACF,EACD,OAAQ,yBACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,wCACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,EACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,mCACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,EACD,CACE,KAAM,IACN,MAAO,CACR,CACF,EACD,OAAQ,uCACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,EACR,EACD,CACE,KAAM,IACN,MAAO,EACR,EACD,CACE,KAAM,IACN,MAAO,CACR,CACF,EACD,OAAQ,mCACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,+BACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,6BACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,wBACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,CACR,CACF,EACD,OAAQ,oBACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,+BACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,sCACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,oCACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,iCACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,sCACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,+BACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,mCACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,+BACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,6BACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,EACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,+BACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,yBACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,EACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,+BACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,+BACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,4BACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,+BACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,kCACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,8BACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,CACR,CACF,EACD,OAAQ,6BACT,EACD,CACE,QAAS,KACT,MAAO,GACP,KAAM,CACJ,CACE,KAAM,IACN,MAAO,CACR,EACD,CACE,KAAM,IACN,MAAO,EACR,CACF,EACD,OAAQ,+BACT,CACF,EACD,QAAS,CACP,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KACxE,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KACxE,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KACxE,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KACxE,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KACxE,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KACxE,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KACxE,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KACxE,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KACxE,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KACxE,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KACxE,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KACxE,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KACxE,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KACxE,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KACxE,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KACxE,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KACxE,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KACxE,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KACxE,KAAM,KAAM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CN,EACD,GAAG,CACA,IAAI,MACJ,IAAI,KACN,EACD,GAAG,CACA,IAAI,MACJ,IAAI,KACN,EACD,GAAG,CACA,IAAI,MACJ,IAAI,KACN,EACD,GAAG,CACA,IAAI,MACJ,IAAI,KACN,EACD,GAAG,CACA,IAAI,MACJ,IAAI,KACN,EACD,GAAG,CACA,IAAI,KACJ,IAAI,IACN,EACD,GAAG,CACA,IAAI,MACJ,IAAI,KACN,EACD,GAAG,CACA,IAAI,MACJ,IAAI,KACN,EACD,GAAG,CACA,IAAI,MACJ,IAAI,KACN,EACD,GAAG,CACA,IAAI,MACJ,IAAI,KACN,EACD,GAAG,CACA,IAAI,MACJ,IAAI,KACN,EACD,GAAG,CACA,IAAI,MACJ,IAAI,KACN,EACD,GAAG,CACA,IAAI,MACJ,IAAI,KACN,EACD,GAAG,CACA,IAAI,MACJ,IAAI,KACN,EACD,GAAG,CACA,IAAI,MACJ,IAAI,KACN,EACD,GAAG,CACA,IAAI,MACJ,IAAI,KACN,EACD,GAAG,CACA,IAAI,MACJ,IAAI,KACN,EACD,GAAG,CACA,IAAI,MACJ,IAAI,KACN,EACD,GAAG,CACA,IAAI,KACJ,IAAI,IACN,EACD,GAAG,CACA,IAAI,MACJ,IAAI,KACN,EACD,GAAG,CACA,IAAI,KACJ,IAAI,IACN,EACD,GAAG,CACA,IAAI,MACJ,IAAI,KACN,EACD,GAAG,CACA,IAAI,MACJ,IAAI,KACN,EACD,GAAG,CACA,IAAI,MACJ,IAAI,KACN,EACD,GAAG,CACA,IAAI,MACJ,IAAI,KACN,EACD,GAAG,CACA,IAAI,MACJ,IAAI,KACN,EACD,GAAG,CACA,IAAI,MACJ,IAAI,KACN,EACD,GAAG,CACA,IAAI,MACJ,IAAI,KACN,EACD,GAAG,CACA,IAAI,MACJ,IAAI,KACN,EACD,GAAG,CACA,IAAI,KACJ,IAAI,IACN,EACD,GAAG,CACA,IAAI,KACJ,IAAI,IACN,EACD,GAAG,CACA,IAAI,MACJ,IAAI,KACN,EACD,GAAG,CACA,IAAI,MACJ,IAAI,KACN,EACD,GAAG,CACA,IAAI,KACJ,IAAI,IACN,EACD,GAAG,CACA,IAAI,MACJ,IAAI,KACN,EACD,GAAG,CACA,IAAI,MACJ,IAAI,KACN,EACD,GAAG,CACA,IAAI,MACJ,IAAI,KACN,EACD,GAAG,CACA,IAAI,MACJ,IAAI,KACN,EACD,GAAG,CACA,IAAI,EACJ,IAAI,CACN,EACD,GAAG,CACA,IAAI,KACJ,IAAI,IACN,EACD,GAAG,CACA,IAAI,MACJ,IAAI,KACN,EACD,GAAG,CACA,IAAI,MACJ,IAAI,KACN,EACD,GAAG,CACA,IAAI,MACJ,IAAI,KACN,EACD,GAAG,CACA,IAAI,MACJ,IAAI,KACN,EACD,GAAG,CACA,IAAI,MACJ,IAAI,KACN,EACD,GAAG,CACA,IAAI,MACJ,IAAI,KACN,EACD,GAAG,CACA,IAAI,KACJ,IAAI,IACN,EACD,GAAG,CACA,IAAI,MACJ,IAAI,KACN,EACD,GAAG,CACA,IAAI,MACJ,IAAI,KACN,EACD,GAAG,CACA,IAAI,MACJ,IAAI,KACN,EACD,GAAG,CACA,IAAI,MACJ,IAAI,KACN,CACH,wCCjNA,IAAI6mO,EAAU,GACd7mO,EAAO,QAAa6mO,EACpBA,EAAQ,gBAAkB/7R,IAC1B+7R,EAAQ,kBAAoBx7R,0ECH5B20D,EAAO,QAAa,CAClB,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,6DC3RFA,EAAO,QAAa,CAClB,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,6CC3RF,IAAIyvO,EAAe,GACnBzvO,EAAO,QAAayvO,EACpBA,EAAa,UAAY3kS,IACzB2kS,EAAa,cAAgBpkS,0CCH7B,IAAIqkS,EAAQ,GACZ1vO,EAAO,QAAa0vO,EACpBA,EAAM,MAAQ,0BACdA,EAAM,SAAW5kS,IACjB4kS,EAAM,QAAUrkS,IAChBqkS,EAAM,aAAetgP,0FCLrB4Q,EAAO,QAAa,CAClB,QACA,OACA,OACA,QACA,MACA,OACA,8DCPFA,EAAO,QAAa,CAClB,OACA,MACA,OACA,QACA,OACA,QACA,UACA,OACA,OACA,OACA,QACA,OACA,OACA,UACA,QACA,OACA,QACA,OACA,+DCnBFA,EAAO,QAAa,CAClB,OACA,eACA,YACA,UACA,kBACA,wECNFA,EAAO,QAAa,CAClB,cACA,UACA,UACA,iBACA,UACA,SACA,WACA,+CACA,sBACA,YACA,UACA,QACA,YACA,UACA,aACA,UACA,UACA,aACA,WACA,UACA,UACA,SACA,QACA,UACA,SACA,UACA,yBACA,WACA,4BACA,SACA,sDACA,oBACA,WACA,eACA,UACA,WACA,WACA,SACA,aACA,iBACA,2BACA,OACA,QACA,QACA,mBACA,0BACA,WACA,UACA,QACA,eACA,aACA,gBACA,UACA,OACA,SACA,iBACA,UACA,WACA,WACA,qBACA,UACA,QACA,cACA,oBACA,UACA,UACA,WACA,gBACA,8BACA,OACA,UACA,SACA,gBACA,mBACA,8BACA,QACA,SACA,UACA,UACA,QACA,YACA,SACA,YACA,UACA,aACA,OACA,YACA,WACA,SACA,gBACA,SACA,QACA,oCACA,gCACA,WACA,YACA,UACA,UACA,QACA,YACA,OACA,OACA,UACA,cACA,SACA,QACA,UACA,QACA,SACA,SACA,aACA,QACA,WACA,wCACA,oBACA,SACA,kBACA,mCACA,SACA,UACA,UACA,UACA,yBACA,gBACA,YACA,aACA,QACA,YACA,aACA,SACA,WACA,WACA,OACA,QACA,mBACA,aACA,aACA,YACA,UACA,SACA,aACA,UACA,SACA,WACA,aACA,aACA,UACA,aACA,UACA,UACA,QACA,QACA,uBACA,cACA,gBACA,cACA,YACA,QACA,UACA,OACA,iBACA,2BACA,SACA,OACA,WACA,QACA,wBACA,SACA,mBACA,WACA,OACA,cACA,mBACA,SACA,WACA,cACA,QACA,UACA,UACA,qBACA,SACA,mBACA,eACA,wBACA,cACA,eACA,4BACA,mCACA,QACA,aACA,wBACA,eACA,UACA,SACA,aACA,eACA,YACA,6BACA,WACA,kBACA,UACA,eACA,+CACA,QACA,YACA,QACA,WACA,+BACA,YACA,SACA,cACA,uBACA,SACA,aACA,WACA,WACA,cACA,OACA,UACA,QACA,sBACA,UACA,SACA,eACA,2BACA,SACA,SACA,UACA,uBACA,iBACA,2BACA,uCACA,UACA,aACA,UACA,YACA,UACA,0BACA,uBACA,oBACA,iBACA,QACA,SACA,kECpPFA,EAAO,QAAa,CAClB,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,4DCzPFA,EAAO,QAAa,CAChB,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,6DC1PJA,EAAO,QAAa,CAClB,QACA,OACA,6DCHFA,EAAO,QAAa,CAClB,QACA,SACA,SACA,SACA,QACA,SACA,OACA,QACA,SACA,OACA,SACA,OACA,WACA,SACA,UACA,SACA,UACA,QACA,SACA,OACA,SACA,SACA,UACA,SACA,QACA,SACA,OACA,QACA,QACA,WACA,QACA,WACA,YACA,QACA,OACA,MACA,SACA,QACA,QACA,SACA,SACA,UACA,aACA,YACA,aACA,OACA,QACA,QACA,QACA,SACA,OACA,QACA,OACA,QACA,SACA,QACA,SACA,OACA,QACA,OACA,UACA,SACA,UACA,UACA,OACA,QACA,QACA,SACA,QACA,SACA,SACA,UACA,QACA,UACA,UACA,OACA,QACA,SACA,QACA,QACA,SACA,SACA,UACA,UACA,OACA,OACA,WACA,YACA,MACA,OACA,QACA,SACA,OACA,QACA,OACA,UACA,OACA,QACA,SACA,OACA,OACA,QACA,QACA,QACA,QACA,OACA,OACA,QACA,SACA,SACA,UACA,OACA,OACA,QACA,UACA,UACA,WACA,QACA,WACA,WACA,YACA,YACA,OACA,UACA,OACA,WACA,OACA,QACA,UACA,WACA,OACA,UACA,OACA,OACA,OACA,QACA,QACA,QACA,SACA,SACA,QACA,QACA,QACA,SACA,OACA,OACA,QACA,QACA,UACA,UACA,SACA,OACA,QACA,QACA,SACA,OACA,QACA,SACA,QACA,OACA,OACA,QACA,QACA,QACA,MACA,MACA,MACA,QACA,SACA,QACA,SACA,SACA,SACA,UACA,UACA,OACA,QACA,SACA,SACA,UACA,UACA,UACA,UACA,YACA,YACA,SACA,SACA,SACA,SACA,UACA,SACA,SACA,UACA,aACA,QACA,QACA,aACA,QACA,QACA,SACA,SACA,WACA,WACA,YACA,QACA,SACA,SACA,UACA,MACA,UACA,OACA,QACA,UACA,UACA,WACA,QACA,QACA,QACA,OACA,QACA,OACA,MACA,OACA,OACA,+DCjOFA,EAAO,QAAa,CAClB,WACA,mECFFA,EAAO,QAAa,CAClB,QACA,oECFFA,EAAO,QAAa,CAClB,QACA,oECFFA,EAAO,QAAa,CAClB,UACA,SACA,UACA,WACA,aACA,WACA,cACA,WACA,UACA,UACA,SACA,QACA,WACA,UACA,OACA,SACA,WACA,YACA,QACA,WACA,gBACA,WACA,YACA,cACA,WACA,UACA,WACA,SACA,gBACA,aACA,aACA,WACA,iBACA,eACA,OACA,WACA,SACA,eACA,eACA,iBACA,eACA,YACA,QACA,OACA,UACA,WACA,aACA,gBACA,YACA,iEClDFA,EAAO,QAAa,CAClB,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,4DClDFA,EAAO,QAAa,CAClB,iBACA,oBACA,mBACA,iBACA,sBACA,kBACA,iBACA,kBACA,oBACA,mBACA,kBACA,iBACA,sBACA,sBACA,oBACA,oBACA,mBACA,+BACA,iBACA,eACA,eACA,kBACA,kBACA,iBACA,mBACA,mBACA,oBACA,iCACA,iBACA,kBACA,yBACA,kBACA,sBACA,gBACA,gBACA,gBACA,gBACA,oBACA,kBACA,UACA,kBACA,oBACA,kBACA,mBACA,gBACA,kBACA,gBACA,gBACA,gBACA,kBACA,oBACA,gBACA,eACA,mBACA,gBACA,gBACA,cACA,mBACA,gBACA,iBACA,mBACA,eACA,kBACA,cACA,cACA,eACA,iBACA,iBACA,gBACA,kBACA,eACA,iBACA,gBACA,sBACA,gBACA,gBACA,gBACA,cACA,cACA,iBACA,eACA,cACA,cACA,cACA,YACA,eACA,eACA,aACA,qBACA,eACA,eACA,gBACA,eACA,eACA,eACA,eACA,iBACA,aACA,aACA,eACA,cACA,mBACA,eACA,eACA,eACA,eACA,mBACA,gBACA,iBACA,iBACA,cACA,oBACA,iBACA,cACA,kBACA,eACA,mBACA,aACA,aACA,aACA,aACA,eACA,mBACA,qBACA,sBACA,sBACA,mBACA,qBACA,mBACA,mBACA,eACA,uBACA,eACA,eACA,iBACA,eACA,iBACA,iBACA,mBACA,mBACA,oBACA,kBACA,sEC/IFA,EAAO,QAAa,CAClB,kDACA,oCACA,mCACA,yFCJFA,EAAO,QAAa,CAClB,sCACA,4FCFFA,EAAO,QAAa,CAClB,2FCDFA,EAAO,QAAa,CAClB,kFCDFA,EAAO,QAAa,CAClB,QACA,OACA,QACA,OACA,YACA,YACA,YACA,mECRFA,EAAO,QAAa,CAClB,IACA,IACA,IACA,IACA,KACA,KACA,KACA,4CCRF,IAAI6mO,EAAU,GACd7mO,EAAO,QAAa6mO,EACpBA,EAAQ,YAAc/7R,IACtB+7R,EAAQ,YAAcx7R,IACtBw7R,EAAQ,OAASz3O,IACjBy3O,EAAQ,QAAUj2O,IAClBi2O,EAAQ,aAAerzO,IACvBqzO,EAAQ,qBAAuB3rO,IAC/B2rO,EAAQ,gBAAkBtiO,IAC1BsiO,EAAQ,cAAgB5hO,IACxB4hO,EAAQ,kBAAoB57N,IAC5B47N,EAAQ,SAAW37N,IACnB27N,EAAQ,kBAAoB17N,IAC5B07N,EAAQ,MAAQz7N,IAChBy7N,EAAQ,WAAax7N,IACrBw7N,EAAQ,UAAYv7N,IACpBu7N,EAAQ,KAAOt7N,IACfs7N,EAAQ,YAAc91N,IACtB81N,EAAQ,eAAiB71N,IACzB61N,EAAQ,gBAAkB51N,IAC1B41N,EAAQ,UAAY31N,IACpB21N,EAAQ,eAAiB11N,0ECrBzBnR,EAAO,QAAa,CAClB,MACA,WACA,MACA,+DCJFA,EAAO,QAAa,CAClB,WACA,WACA,cACA,cACA,YACA,WACA,mBACA,cACA,SACA,aACA,eACA,cACA,iBACA,mBACA,eACA,gBACA,gBACA,WACA,YACA,cACA,UACA,aACA,WACA,kBACA,YACA,YACA,WACA,WACA,eACA,UACA,aACA,qBACA,iBACA,cACA,iBACA,cACA,aACA,cACA,aACA,aACA,YACA,UACA,UACA,YACA,YACA,mBACA,gBACA,gBACA,eACA,YACA,eACA,mBACA,cACA,YACA,YACA,WACA,UACA,YACA,cACA,aACA,SACA,YACA,cACA,YACA,iBACA,WACA,eACA,cACA,aACA,kBACA,WACA,YACA,oBACA,gBACA,UACA,qBACA,cACA,SACA,WACA,UACA,gBACA,WACA,cACA,cACA,aACA,eACA,cACA,aACA,gBACA,QACA,kBACA,YACA,WACA,aACA,eACA,gBACA,YACA,UACA,YACA,yECpGFA,EAAO,QAAa,CAClB,UACA,OACA,iBACA,iBACA,iBACA,iBACA,YACA,YACA,aACA,eACA,oBACA,aACA,sBACA,iBACA,aACA,cACA,iBACA,gBACA,gBACA,WACA,WACA,YACA,oBACA,qBACA,gBACA,YACA,gBACA,WACA,cACA,WACA,kBACA,UACA,cACA,aACA,eACA,cACA,YACA,WACA,UACA,iBACA,aACA,iBACA,aACA,SACA,eACA,YACA,aACA,WACA,cACA,iBACA,SACA,YACA,cACA,aACA,cACA,eACA,eACA,QACA,aACA,YACA,aACA,mBACA,SACA,UACA,aACA,aACA,cACA,gBACA,WACA,cACA,UACA,kBACA,eACA,kBACA,UACA,aACA,UACA,YACA,aACA,WACA,aACA,WACA,YACA,oBACA,SACA,SACA,aACA,WACA,gBACA,WACA,WACA,eACA,UACA,kBACA,cACA,cACA,cACA,iBACA,sBACA,cACA,wECrGFA,EAAO,QAAa,CAClB,UACA,SACA,UACA,YACA,WACA,WACA,cACA,WACA,eACA,UACA,0BACA,QACA,WACA,YACA,uBACA,aACA,WACA,YACA,UACA,gBACA,aACA,UACA,iBACA,cACA,OACA,mBACA,WACA,iBACA,aACA,YACA,WACA,aACA,WACA,WACA,cACA,cACA,WACA,QACA,YACA,WACA,kBACA,oBACA,YACA,2BACA,WACA,YACA,YACA,MACA,iBACA,iBACA,iBACA,aACA,eACA,kBACA,YACA,oBACA,WACA,iBACA,iBACA,qBACA,WACA,WACA,SACA,cACA,aACA,YACA,QACA,YACA,aACA,aACA,aACA,oBACA,cACA,gBACA,WACA,cACA,SACA,SACA,oBACA,sBACA,UACA,eACA,UACA,aACA,WACA,eACA,eACA,WACA,WACA,kBACA,WACA,YACA,UACA,iBACA,UACA,UACA,gBACA,aACA,aACA,aACA,UACA,cACA,UACA,mECxGFA,EAAO,QAAa,CAClB,YACA,UACA,YACA,aACA,WACA,SACA,YACA,UACA,SACA,cACA,WACA,WACA,YACA,YACA,UACA,cACA,QACA,UACA,cACA,WACA,UACA,aACA,QACA,kBACA,YACA,aACA,SACA,QACA,OACA,SACA,YACA,aACA,UACA,OACA,WACA,SACA,WACA,YACA,WACA,iBACA,aACA,YACA,YACA,WACA,QACA,UACA,QACA,SACA,WACA,gBACA,WACA,UACA,aACA,WACA,UACA,YACA,SACA,aACA,WACA,yEC5DFA,EAAO,QAAa,CAClB,oBACA,cACA,WACA,YACA,SACA,gBACA,WACA,eACA,aACA,YACA,YACA,aACA,mBACA,SACA,aACA,OACA,aACA,SACA,MACA,MACA,WACA,eACA,UACA,QACA,UACA,SACA,gBACA,SACA,WACA,gBACA,cACA,cACA,UACA,OACA,WACA,YACA,YACA,YACA,cACA,WACA,aACA,WACA,cACA,cACA,iBACA,cACA,cACA,oBACA,iBACA,aACA,aACA,YACA,WACA,cACA,kBACA,eACA,eACA,YACA,aACA,aACA,gBACA,gBACA,aACA,WACA,8DCjEFA,EAAO,QAAa,CAClB,YACA,gBACA,YACA,UACA,eACA,kBACA,YACA,cACA,WACA,WACA,cACA,MACA,YACA,YACA,aACA,eACA,UACA,SACA,eACA,UACA,UACA,gBACA,cACA,gBACA,gBACA,aACA,YACA,aACA,UACA,YACA,gBACA,SACA,YACA,eACA,QACA,UACA,WACA,eACA,UACA,aACA,kBACA,cACA,eACA,gBACA,qEC7CFA,EAAO,QAAa,CAClB,8BACA,sCACA,oGCHF,IAAI0sL,EAAU,GACd1sL,EAAO,QAAa0sL,EACpBA,EAAQ,OAAS5hP,IACjB4hP,EAAQ,UAAYrhP,IACpBqhP,EAAQ,WAAat9L,IACrBs9L,EAAQ,KAAO97L,IACf87L,EAAQ,QAAUl5L,IAClBk5L,EAAQ,aAAexxL,IACvBwxL,EAAQ,QAAUnoL,IAClBmoL,EAAQ,KAAOznL,0ECTfjF,EAAO,QAAa,CAClB,YACA,YACA,qECHFA,EAAO,QAAa,CAClB,cACA,cACA,qECHFA,EAAO,QAAa,CAClB,MACA,MACA,OACA,OACA,MACA,6DCNFA,EAAO,QAAa,CAClB,gEACA,gEACA,kEACA,iEACA,oEACA,gEACA,kEACA,iEACA,uEACA,oEACA,mEACA,mEACA,sEACA,kEACA,mEACA,+DACA,mEACA,oEACA,+DACA,oEACA,oEACA,qEACA,sEACA,kEACA,uEACA,uEACA,wEACA,kEACA,+DACA,kEACA,uEACA,yEACA,oEACA,kEACA,gEACA,mEACA,oEACA,wEACA,qEACA,sEACA,gEACA,iEACA,qEACA,wEACA,4DACA,kEACA,iEACA,+DACA,+DACA,mEACA,iEACA,mEACA,gEACA,qEACA,iEACA,oEACA,kEACA,mEACA,qEACA,iEACA,iEACA,mEACA,kEACA,8DACA,qEACA,+DACA,qEACA,sEACA,gEACA,kEACA,iEACA,oEACA,gEACA,iEACA,kEACA,qEACA,oEACA,sEACA,oEACA,+DACA,sEACA,yEACA,mEACA,qEACA,uEACA,qEACA,uEACA,uEACA,wEACA,mEACA,uEACA,oEACA,iEACA,uEACA,uEACA,kEACA,+DACA,mEACA,qEACA,kEACA,gEACA,wEACA,qEACA,8DACA,qEACA,+DACA,kEACA,kEACA,mEACA,qEACA,uEACA,mEACA,kEACA,kEACA,+DACA,kEACA,kEACA,gEACA,6DACA,oEACA,gEACA,gEACA,gEACA,uEACA,oEACA,mEACA,gEACA,gEACA,mEACA,sEACA,gEACA,+DACA,oEACA,qEACA,yEACA,mEACA,mEACA,mEACA,yEACA,kEACA,qEACA,mEACA,qEACA,8DACA,8DACA,wEACA,uEACA,uEACA,iEACA,iEACA,mEACA,oEACA,oEACA,mEACA,oEACA,kEACA,qEACA,iEACA,wEACA,mEACA,qEACA,oEACA,iEACA,sEACA,uEACA,sEACA,gEACA,qEACA,sEACA,+DACA,qEACA,iEACA,mEACA,qEACA,gEACA,iEACA,kEACA,iEACA,qEACA,iEACA,uEACA,sEACA,uEACA,mEACA,qEACA,mEACA,uEACA,mEACA,sEACA,qEACA,6DACA,mEACA,gEACA,mEACA,kEACA,kEACA,kEACA,iEACA,sEACA,iEACA,kEACA,iEACA,qEACA,qEACA,kEACA,8DACA,sEACA,oEACA,iEACA,uEACA,mEACA,wEACA,iEACA,qEACA,sEACA,wEACA,wEACA,mEACA,oEACA,iEACA,qEACA,sEACA,mEACA,qEACA,gEACA,iEACA,uEACA,mEACA,+DACA,kEACA,kEACA,qEACA,+DACA,uEACA,yEACA,kEACA,oEACA,uEACA,kEACA,kEACA,iEACA,iEACA,qEACA,kEACA,iEACA,wEACA,yEACA,yEACA,+DACA,+DACA,gEACA,iEACA,mEACA,sEACA,gEACA,mEACA,uEACA,sEACA,oEACA,qEACA,oEACA,kEACA,yEACA,mEACA,qEACA,kEACA,kEACA,uEACA,+DACA,qEACA,gEACA,oEACA,qEACA,sEACA,gEACA,gEACA,sEACA,yEACA,kEACA,+DACA,wEACA,qEACA,qEACA,mEACA,oEACA,kEACA,sEACA,mEACA,kEACA,gEACA,iEACA,oEACA,wEACA,yEACA,gEACA,mEACA,sEACA,mEACA,qEACA,yEACA,qEACA,kEACA,qEACA,sEACA,qEACA,sEACA,uEACA,qEACA,mEACA,oEACA,qEACA,oEACA,qEACA,gEACA,qEACA,sEACA,qEACA,8DACA,kEACA,gEACA,mEACA,oEACA,oEACA,kEACA,gEACA,sEACA,wEACA,kEACA,qEACA,oEACA,kEACA,iEACA,yEACA,qEACA,uEACA,wEACA,uEACA,wEACA,+DACA,kEACA,qEACA,+DACA,sEACA,oEACA,oEACA,+DACA,qEACA,oEACA,sEACA,kEACA,sEACA,oEACA,iEACA,uEACA,iEACA,+DACA,gEACA,oEACA,gEACA,kEACA,sEACA,iEACA,mEACA,yEACA,wEACA,mEACA,mEACA,kEACA,iEACA,sEACA,yEACA,qEACA,kEACA,wEACA,gEACA,iEACA,uEACA,6DACA,kEACA,mEACA,mEACA,oEACA,gEACA,mEACA,kEACA,mEACA,mEACA,uEACA,iEACA,uEACA,wEACA,mEACA,qEACA,sEACA,+DACA,oEACA,mEACA,kEACA,sEACA,iEACA,qEACA,uEACA,+DACA,uEACA,uEACA,iEACA,iEACA,qEACA,qEACA,uEACA,8DACA,kEACA,sEACA,qEACA,uEACA,uEACA,sEACA,iEACA,oEACA,gEACA,kEACA,oEACA,yEACA,qEACA,kEACA,iEACA,qEACA,iEACA,uEACA,kEACA,qEACA,mEACA,+DACA,oEACA,uEACA,sEACA,oEACA,gEACA,oEACA,oEACA,oEACA,+DACA,iEACA,sEACA,uEACA,gEACA,+DACA,uEACA,yEACA,iEACA,kEACA,qEACA,mEACA,uEACA,sEACA,+DACA,sEACA,wEACA,sEACA,uEACA,+DACA,qEACA,gEACA,kEACA,yEACA,mEACA,gEACA,kEACA,qEACA,kEACA,kEACA,iEACA,sEACA,mEACA,qEACA,wEACA,uEACA,kEACA,iEACA,4DACA,mEACA,iEACA,iEACA,mEACA,iEACA,sEACA,qEACA,iEACA,kEACA,qEACA,uEACA,qEACA,yEACA,gEACA,iEACA,iEACA,mEACA,oEACA,mEACA,gEACA,iEACA,oEACA,oEACA,qEACA,+DACA,qEACA,mEACA,iEACA,+DACA,kEACA,qEACA,kEACA,sEACA,gEACA,wEACA,qEACA,sEACA,sEACA,kEACA,qEACA,gEACA,oEACA,kEACA,iEACA,iEACA,sEACA,mEACA,kEACA,sEACA,qEACA,iEACA,uEACA,qEACA,qEACA,kEACA,sEACA,mEACA,kEACA,+DACA,kEACA,iEACA,wEACA,uEACA,kEACA,kEACA,qEACA,oEACA,gEACA,kEACA,uEACA,gEACA,mEACA,oEACA,gEACA,gEACA,oEACA,mEACA,qEACA,yEACA,mEACA,sEACA,kEACA,iEACA,uEACA,gEACA,iEACA,uEACA,gEACA,yEACA,uEACA,kEACA,oEACA,mEACA,sEACA,gEACA,uEACA,qEACA,gEACA,sEACA,oEACA,uEACA,sEACA,kEACA,wEACA,mEACA,wEACA,mEACA,yEACA,uEACA,8DACA,qEACA,iEACA,kEACA,mEACA,oEACA,qEACA,iEACA,mEACA,yEACA,yEACA,+DACA,kEACA,gEACA,wEACA,uEACA,iEACA,gEACA,oEACA,mEACA,mEACA,gEACA,uEACA,mEACA,oEACA,sEACA,iEACA,sEACA,oEACA,mEACA,iEACA,+DACA,qEACA,iEACA,kEACA,qEACA,qEACA,kEACA,sEACA,iEACA,8DACA,iEACA,wEACA,sEACA,sEACA,kEACA,oEACA,kEACA,mEACA,oEACA,uEACA,kEACA,kEACA,oEACA,qEACA,mEACA,mEACA,mEACA,qEACA,sEACA,qEACA,gEACA,8DACA,mEACA,uEACA,mEACA,wEACA,yEACA,sEACA,qEACA,uEACA,gEACA,uEACA,oEACA,gEACA,qEACA,kEACA,kEACA,sEACA,oEACA,uEACA,mEACA,sEACA,qEACA,oEACA,yEACA,sEACA,uEACA,wEACA,kEACA,iEACA,wEACA,iEACA,oEACA,kEACA,iEACA,sEACA,oEACA,iEACA,mEACA,oEACA,qEACA,+DACA,mEACA,mEACA,kEACA,qEACA,gEACA,oEACA,iEACA,kEACA,wEACA,qEACA,oEACA,iEACA,wEACA,gEACA,qEACA,oEACA,sEACA,+DACA,iEACA,mEACA,wEACA,kEACA,wEACA,kEACA,uEACA,mEACA,qEACA,gEACA,qEACA,yEACA,oEACA,sEACA,qEACA,mEACA,qEACA,uEACA,gEACA,mEACA,mEACA,kEACA,oEACA,kEACA,kEACA,mEACA,sEACA,oEACA,kEACA,oEACA,qEACA,kEACA,sEACA,gEACA,mEACA,iEACA,gEACA,iEACA,uEACA,oEACA,sEACA,sEACA,iEACA,wEACA,uEACA,qEACA,iEACA,mEACA,mEACA,mEACA,iEACA,qEACA,iEACA,qEACA,uEACA,qEACA,kEACA,kEACA,oEACA,gEACA,iEACA,iEACA,kEACA,kEACA,oEACA,kEACA,qEACA,oEACA,oEACA,sEACA,mEACA,kEACA,sEACA,mEACA,oEACA,oEACA,+DACA,mEACA,mEACA,sEACA,mEACA,qEACA,uEACA,gEACA,kEACA,uEACA,oEACA,oEACA,uEACA,kEACA,oEACA,mEACA,+DACA,oEACA,mEACA,oEACA,uEACA,mEACA,sEACA,iEACA,sEACA,uEACA,iEACA,sEACA,qEACA,sEACA,qEACA,kEACA,iEACA,kEACA,yEACA,gEACA,+DACA,qEACA,kEACA,kEACA,+DACA,yEACA,mEACA,gEACA,kEACA,sEACA,kEACA,8DACA,sEACA,+DACA,oEACA,mEACA,iEACA,mEACA,8DACA,oEACA,gEACA,qEACA,sEACA,uEACA,iEACA,uEACA,kEACA,iEACA,+DACA,oEACA,yEACA,qEACA,oEACA,wEACA,qEACA,sEACA,mEACA,mEACA,sEACA,uEACA,oEACA,sEACA,mEACA,kEACA,yEACA,kEACA,kEACA,oEACA,kEACA,wEACA,qEACA,gEACA,oEACA,mEACA,kEACA,wEACA,oEACA,wEACA,mEACA,kEACA,kEACA,oEACA,mEACA,uEACA,qEACA,mEACA,kEACA,sEACA,yEACA,kEACA,qEACA,uEACA,gEACA,mEACA,yEACA,qEACA,oEACA,qEACA,iEACA,sEACA,qEACA,kEACA,sEACA,oEACA,oEACA,mEACA,kEACA,qEACA,sEACA,uEACA,iEACA,sEACA,mEACA,oEACA,uEACA,oEACA,+DACA,uEACA,kEACA,iEACA,sEACA,iEACA,kEACA,mEACA,mEACA,uEACA,wEACA,oEACA,gEACA,uEACA,wEACA,uEACA,sEACA,iEACA,oEACA,oEACA,iEACA,qEACA,yEACA,wEACA,iEACA,wEACA,mEACA,iEACA,iEACA,qEACA,sEACA,iEACA,wEACA,gEACA,kEACA,oEACA,qEACA,uEACA,sEACA,oEACA,kEACA,iEACA,yEACA,uEACA,qEACA,mEACA,kEACA,sEACA,iEACA,sEACA,gEACA,uEACA,iEACA,iEACA,gEACA,kEACA,oEACA,oEACA,mEACA,oEACA,kEACA,kEACA,gEACA,qEACA,qEACA,sEACA,kEACA,mEACA,qEACA,yEACA,gEACA,qEACA,gEACA,qEACA,uEACA,iEACA,mEACA,uEACA,uEACA,mEACA,qEACA,uEACA,iEACA,sEACA,wEACA,mEACA,qEACA,wEACA,mEACA,mEACA,mEACA,wEACA,yEACA,mEACA,kEACA,mEACA,sEACA,mEACA,oEACA,mEACA,uEACA,kEACA,sEACA,iEACA,yEACA,wEACA,wEACA,iEACA,wEACA,iEACA,qEACA,uEACA,yEACA,oEACA,oEACA,sEACA,oEACA,oEACA,+DACA,qEACA,iEACA,gEACA,oEACA,iEACA,oEACA,sEACA,iEACA,wEACA,qEACA,uEACA,iEACA,oEACA,mEACA,mEACA,qEACA,sEACA,oEACA,mEACA,mEACA,iEACA,kEACA,iEACA,sEACA,oEACA,gEACA,gEACA,qEACA,kEACA,sEACA,qEACA,qEACA,yEACA,kEACA,kEACA,oEACA,sEACA,wEACA,kEACA,uEACA,qEACA,uEACA,gEACA,kEACA,kEACA,kEACA,gEACA,iEACA,sEACA,mEACA,oEACA,qEACA,iEACA,oEACA,kEACA,uEACA,uEACA,sEACA,iEACA,mEACA,mEACA,qEACA,sEACA,qEACA,kEACA,wEACA,sEACA,qEACA,yEACA,iEACA,yEACA,sEACA,gEACA,oEACA,sEACA,qEACA,qEACA,mEACA,oEACA,qEACA,iEACA,uEACA,kEACA,kEACA,kEACA,uEACA,oEACA,kEACA,+DACA,oEACA,8DACA,qEACA,wEACA,qEACA,iEACA,mEACA,iEACA,mEACA,yEACA,oEACA,iEACA,qEACA,iEACA,yEACA,sEACA,yEACA,uEACA,iEACA,mEACA,oEACA,qEACA,oEACA,uEACA,oEACA,mEACA,oEACA,uEACA,iEACA,sEACA,gEACA,qEACA,mEACA,iEACA,oEACA,uEACA,sEACA,uEACA,wEACA,gEACA,mEACA,kEACA,kEACA,uEACA,mEACA,wEACA,wEACA,wEACA,uEACA,mEACA,qEACA,sEACA,gEACA,gEACA,sEACA,qEACA,yEACA,qEACA,mEACA,uEACA,uEACA,uEACA,yEACA,kEACA,sEACA,gEACA,uEACA,sEACA,mEACA,wEACA,mEACA,oEACA,uEACA,qEACA,qEACA,oEACA,qEACA,gEACA,mEACA,uEACA,8DACA,uEACA,qEACA,kEACA,iEACA,iEACA,qEACA,kEACA,oEACA,mEACA,sEACA,oEACA,sEACA,uEACA,iEACA,gEACA,uEACA,8DACA,uEACA,sEACA,kEACA,mEACA,qEACA,sEACA,sEACA,qEACA,qEACA,mEACA,yEACA,uEACA,mEACA,kEACA,gEACA,mEACA,qEACA,mEACA,oEACA,gEACA,uEACA,uEACA,sEACA,uEACA,qEACA,iEACA,oEACA,wEACA,qEACA,2GCtuCF,IAAIwvO,EAAW,GACfxvO,EAAO,QAAawvO,EACpBA,EAAS,WAAa1kS,IACtB0kS,EAAS,cAAgBnkS,IACzBmkS,EAAS,cAAgBpgP,IACzBogP,EAAS,WAAa5+O,0ECLtBoP,EAAO,QAAa,CAClB,kBACA,kBACA,WACA,YACA,mBACA,aACA,2ECPFA,EAAO,QAAa,CAClB,KACA,QACA,OACA,QACA,QACA,QACA,QACA,WACA,WACA,UACA,SACA,SACA,YACA,mECdFA,EAAO,QAAa,CAClB,SACA,SACA,SACA,MACA,YACA,iECNFA,EAAO,QAAa,CAClB,MACA,UACA,OACA,OACA,WACA,UACA,OACA,YACA,WACA,YACA,SACA,UACA,QACA,SACA,OACA,MACA,UACA,SACA,OACA,SACA,OACA,MACA,WACA,+CCxBF,IAAIuiO,EAAW,GACfviO,EAAO,QAAauiO,EACpBA,EAAS,UAAYz3R,IACrBy3R,EAAS,OAASl3R,IAClBk3R,EAAS,OAASnzO,IAClBmzO,EAAS,KAAO3xO,0ECLhBoP,EAAO,QAAa,CAClB,QACA,cACA,MACA,cACA,MACA,aACA,cACA,aACA,UACA,QACA,OACA,OACA,KACA,OACA,YACA,YACA,KACA,QACA,aACA,SACA,QACA,QACA,OACA,YACA,aACA,MACA,OACA,MACA,QACA,MACA,OACA,eACA,QACA,UACA,MACA,MACA,UACA,aACA,QACA,WACA,QACA,UACA,QACA,OACA,QACA,MACA,OACA,cACA,WACA,QACA,MACA,OACA,MACA,UACA,OACA,OACA,UACA,WACA,KACA,SACA,KACA,SACA,SACA,UACA,UACA,aACA,KACA,OACA,KACA,SACA,SACA,OACA,UACA,iBACA,QACA,WACA,OACA,OACA,QACA,aACA,OACA,WACA,MACA,WACA,aACA,OACA,KACA,UACA,KACA,KACA,UACA,cACA,OACA,QACA,MACA,MACA,OACA,gBACA,MACA,KACA,KACA,YACA,QACA,OACA,OACA,QACA,YACA,KACA,QACA,OACA,cACA,UACA,MACA,aACA,cACA,aACA,QACA,MACA,aACA,WACA,QACA,WACA,OACA,UACA,KACA,OACA,YACA,YACA,OACA,YACA,aACA,MACA,YACA,MACA,KACA,eACA,OACA,QACA,OACA,QACA,QACA,YACA,OACA,KACA,QACA,MACA,UACA,WACA,WACA,QACA,KACA,MACA,UACA,KACA,UACA,OACA,KACA,QACA,SACA,QACA,UACA,MACA,KACA,WACA,aACA,MACA,SACA,UACA,MACA,SACA,QACA,MACA,WACA,QACA,SACA,QACA,UACA,MACA,QACA,WACA,MACA,MACA,QACA,KACA,OACA,SACA,UACA,SACA,WACA,QACA,WACA,YACA,MACA,QACA,QACA,cACA,aACA,QACA,YACA,KACA,MACA,cACA,MACA,QACA,MACA,UACA,MACA,SACA,MACA,WACA,QACA,WACA,KACA,OACA,MACA,KACA,YACA,WACA,UACA,MACA,QACA,iBACA,QACA,UACA,KACA,KACA,aACA,cACA,OACA,KACA,YACA,MACA,aACA,SACA,QACA,QACA,MACA,UACA,IACA,WACA,WACA,KACA,MACA,aACA,eACA,UACA,YACA,aACA,kECzPFA,EAAO,QAAa,CAClB,QACA,SACA,OACA,UACA,cACA,SACA,WACA,SACA,WACA,QACA,WACA,SACA,SACA,UACA,WACA,UACA,YACA,YACA,OACA,YACA,UACA,SACA,QACA,UACA,OACA,QACA,UACA,OACA,SACA,WACA,OACA,UACA,WACA,SACA,UACA,WACA,UACA,QACA,SACA,WACA,gBACA,YACA,SACA,gBACA,YACA,UACA,UACA,UACA,QACA,SACA,UACA,YACA,WACA,QACA,WACA,aACA,UACA,QACA,UACA,WACA,SACA,aACA,QACA,QACA,aACA,SACA,SACA,WACA,SACA,MACA,SACA,WACA,SACA,QACA,WACA,OACA,SACA,YACA,UACA,UACA,MACA,MACA,QACA,UACA,OACA,UACA,SACA,QACA,UACA,MACA,QACA,QACA,SACA,YACA,UACA,SACA,WACA,WACA,UACA,QACA,SACA,MACA,OACA,SACA,WACA,YACA,SACA,UACA,UACA,UACA,WACA,cACA,QACA,SACA,QACA,QACA,OACA,QACA,WACA,WACA,SACA,SACA,YACA,YACA,UACA,SACA,YACA,UACA,OACA,QACA,OACA,OACA,MACA,SACA,UACA,QACA,WACA,OACA,QACA,UACA,QACA,WACA,aACA,QACA,OACA,WACA,OACA,MACA,MACA,YACA,cACA,OACA,MACA,UACA,QACA,QACA,UACA,UACA,aACA,SACA,SACA,OACA,QACA,YACA,QACA,SACA,UACA,aACA,SACA,SACA,UACA,QACA,WACA,QACA,QACA,UACA,SACA,SACA,QACA,QACA,MACA,QACA,QACA,WACA,WACA,SACA,QACA,SACA,QACA,UACA,SACA,QACA,SACA,SACA,SACA,WACA,SACA,OACA,aACA,eACA,UACA,SACA,OACA,MACA,WACA,QACA,MACA,SACA,OACA,SACA,YACA,SACA,YACA,SACA,QACA,WACA,UACA,UACA,WACA,QACA,YACA,QACA,WACA,QACA,YACA,QACA,QACA,QACA,SACA,QACA,SACA,WACA,UACA,SACA,QACA,QACA,QACA,QACA,QACA,SACA,UACA,SACA,QACA,QACA,QACA,QACA,QACA,OACA,WACA,QACA,OACA,OACA,YACA,OACA,UACA,SACA,QACA,UACA,QACA,QACA,SACA,SACA,SACA,WACA,eACA,OACA,QACA,SACA,WACA,cACA,YACA,QACA,cACA,OACA,QACA,UACA,OACA,QACA,QACA,SACA,UACA,YACA,YACA,WACA,aACA,aACA,QACA,UACA,SACA,WACA,WACA,OACA,UACA,UACA,SACA,UACA,UACA,SACA,OACA,QACA,OACA,UACA,UACA,SACA,QACA,UACA,QACA,YACA,YACA,WACA,UACA,WACA,UACA,WACA,aACA,UACA,cACA,UACA,UACA,UACA,UACA,WACA,UACA,UACA,UACA,UACA,WACA,UACA,cACA,UACA,WACA,UACA,aACA,QACA,YACA,YACA,WACA,YACA,YACA,WACA,YACA,aACA,UACA,UACA,SACA,WACA,YACA,UACA,QACA,UACA,QACA,SACA,SACA,aACA,UACA,YACA,WACA,WACA,UACA,UACA,OACA,YACA,UACA,SACA,SACA,QACA,OACA,UACA,cACA,SACA,QACA,SACA,SACA,eACA,WACA,WACA,OACA,YACA,OACA,cACA,UACA,OACA,MACA,QACA,QACA,QACA,YACA,UACA,MACA,WACA,QACA,YACA,YACA,QACA,WACA,YACA,MACA,OACA,UACA,QACA,aACA,QACA,OACA,aACA,SACA,SACA,QACA,SACA,QACA,SACA,QACA,SACA,WACA,WACA,QACA,UACA,QACA,WACA,SACA,UACA,QACA,UACA,UACA,QACA,WACA,UACA,UACA,SACA,SACA,UACA,UACA,SACA,WACA,aACA,UACA,SACA,SACA,SACA,UACA,WACA,SACA,UACA,SACA,aACA,SACA,QACA,WACA,WACA,WACA,SACA,SACA,UACA,UACA,OACA,YACA,UACA,WACA,QACA,SACA,UACA,OACA,WACA,QACA,UACA,UACA,SACA,WACA,UACA,YACA,aACA,UACA,UACA,UACA,SACA,aACA,UACA,UACA,WACA,SACA,UACA,SACA,aACA,WACA,cACA,QACA,cACA,QACA,SACA,SACA,aACA,UACA,QACA,WACA,SACA,MACA,WACA,QACA,QACA,SACA,UACA,QACA,QACA,MACA,OACA,SACA,YACA,MACA,QACA,QACA,WACA,SACA,UACA,YACA,QACA,QACA,UACA,QACA,eACA,SACA,UACA,OACA,aACA,QACA,SACA,WACA,SACA,YACA,cACA,WACA,SACA,QACA,OACA,WACA,WACA,YACA,SACA,WACA,SACA,SACA,SACA,eACA,SACA,QACA,MACA,WACA,SACA,SACA,UACA,SACA,WACA,MACA,SACA,WACA,UACA,WACA,UACA,aACA,WACA,UACA,WACA,WACA,UACA,aACA,UACA,MACA,QACA,MACA,QACA,WACA,YACA,OACA,UACA,WACA,QACA,YACA,YACA,UACA,QACA,WACA,QACA,SACA,WACA,WACA,WACA,OACA,WACA,UACA,WACA,UACA,QACA,SACA,QACA,SACA,UACA,QACA,QACA,QACA,MACA,SACA,QACA,UACA,WACA,UACA,SACA,YACA,SACA,SACA,OACA,YACA,cACA,UACA,YACA,SACA,QACA,QACA,QACA,QACA,SACA,QACA,UACA,UACA,MACA,UACA,QACA,QACA,SACA,gBACA,QACA,SACA,SACA,aACA,OACA,QACA,SACA,UACA,SACA,SACA,UACA,cACA,OACA,WACA,SACA,SACA,cACA,WACA,QACA,QACA,YACA,UACA,YACA,SACA,SACA,UACA,SACA,OACA,UACA,QACA,UACA,SACA,QACA,SACA,SACA,UACA,UACA,MACA,UACA,SACA,QACA,SACA,QACA,QACA,QACA,WACA,QACA,UACA,OACA,SACA,aACA,WACA,WACA,WACA,UACA,YACA,UACA,cACA,WACA,MACA,MACA,WACA,OACA,QACA,QACA,QACA,SACA,UACA,QACA,WACA,WACA,MACA,WACA,QACA,WACA,QACA,QACA,QACA,SACA,SACA,MACA,OACA,UACA,WACA,OACA,UACA,OACA,QACA,SACA,QACA,SACA,SACA,OACA,OACA,UACA,SACA,SACA,OACA,SACA,WACA,UACA,QACA,OACA,OACA,SACA,OACA,MACA,QACA,SACA,QACA,WACA,UACA,SACA,UACA,WACA,SACA,WACA,MACA,YACA,QACA,QACA,QACA,QACA,UACA,WACA,SACA,WACA,MACA,UACA,SACA,OACA,aACA,SACA,QACA,UACA,OACA,SACA,QACA,aACA,QACA,QACA,SACA,SACA,WACA,SACA,YACA,UACA,QACA,MACA,UACA,cACA,WACA,SACA,YACA,QACA,UACA,QACA,SACA,QACA,UACA,QACA,UACA,QACA,QACA,WACA,UACA,UACA,QACA,MACA,QACA,QACA,UACA,YACA,SACA,MACA,SACA,OACA,WACA,SACA,OACA,OACA,MACA,QACA,YACA,OACA,YACA,OACA,YACA,cACA,QACA,aACA,QACA,QACA,SACA,SACA,SACA,QACA,OACA,MACA,QACA,QACA,MACA,YACA,WACA,aACA,QACA,SACA,UACA,SACA,SACA,aACA,YACA,iDCx0BF,IAAI2vO,EAAQ,GACZ3vO,EAAO,QAAa2vO,EACpBA,EAAM,MAAQ7kS,IACd6kS,EAAM,aAAetkS,0ECHrB20D,EAAO,QAAa,CACnB,QACA,OACA,SACA,UACA,UACA,QACA,UACA,UACA,SACA,SACA,cACA,SACA,OACA,OACA,SACA,SACA,UACA,SACA,SACA,QACA,SACA,UACA,QACA,QACA,UACA,OACA,UACA,OACA,QACA,UACA,QACA,QACA,OACA,UACA,SACA,UACA,UACA,SACA,QACA,SACA,SACA,UACA,QACA,SACA,UACA,QACA,OACA,SACA,OACA,QACA,MACA,OACA,OACA,SACA,WACA,SACA,QACA,SACA,QACA,SACA,SACA,QACA,WACA,WACA,MACA,WACA,QACA,UACA,OACA,QACA,OACA,QACA,QACA,QACA,QACA,SACA,QACA,QACA,SACA,SACA,SACA,UACA,QACA,SACA,SACA,SACA,UACA,OACA,QACA,QACA,OACA,QACA,WACA,OACA,SACA,QACA,SACA,OACA,QACA,UACA,QACA,QACA,OACA,OACA,OACA,UACA,UACA,SACA,OACA,SACA,SACA,SACA,SACA,QACA,SACA,UACA,QACA,UACA,SACA,OACA,OACA,QACA,MACA,SACA,SACA,OACA,UACA,UACA,QACA,UACA,YACA,MACA,OACA,QACA,MACA,QACA,QACA,OACA,UACA,QACA,YACA,UACA,QACA,QACA,YACA,SACA,UACA,WACA,WACA,SACA,QACA,MACA,MACA,MACA,SACA,OACA,MACA,SACA,OACA,QACA,QACA,OACA,QACA,SACA,UACA,SACA,QACA,MACA,QACA,MACA,SACA,SACA,OACA,OACA,QACA,SACA,QACA,UACA,MACA,QACA,UACA,QACA,SACA,UACA,SACA,UACA,QACA,OACA,SACA,QACA,UACA,MACA,OACA,SACA,QACA,QACA,UACA,QACA,UACA,OACA,OACA,WACA,QACA,QACA,QACA,YACA,SACA,SACA,QACA,SACA,OACA,MACA,UACA,QACA,QACA,WACA,QACA,QACA,OACA,UACA,MACA,WACA,SACA,SACA,SACA,QACA,SACA,OACA,OACA,SACA,OACA,SACA,QACA,OACA,SACA,YACA,SACA,WACA,UACA,MACA,SACA,SACA,SACA,SACA,QACA,OACA,QACA,QACA,OACA,QACA,SACA,MACA,UACA,OACA,MACA,SACA,SACA,UACA,QACA,SACA,UACA,SACA,MACA,UACA,MACA,MACA,QACA,QACA,UACA,UACA,OACA,OACA,UACA,SACA,QACA,SACA,QACA,SACA,UACA,UACA,QACA,OACA,SACA,OACA,WACA,WACA,QACA,OACA,SACA,SACA,QACA,OACA,OACA,WACA,OACA,UACA,WACA,UACA,UACA,OACA,SACA,SACA,WACA,SACA,YACA,SACA,OACA,OACA,SACA,UACA,WACA,OACA,SACA,OACA,SACA,OACA,UACA,SACA,SACA,OACA,QACA,SACA,OACA,QACA,SACA,SACA,QACA,OACA,OACA,OACA,UACA,UACA,MACA,UACA,UACA,UACA,OACA,QACA,UACA,OACA,SACA,QACA,QACA,SACA,WACA,QACA,UACA,SACA,SACA,OACA,MACA,SACA,QACA,YACA,UACA,UACA,QACA,SACA,OACA,UACA,QACA,SACA,QACA,KACA,OACA,WACA,QACA,WACA,WACA,SACA,SACA,UACA,KACA,UACA,QACA,QACA,UACA,QACA,YACA,UACA,QACA,QACA,OACA,UACA,UACA,QACA,SACA,UACA,YACA,SACA,SACA,QACA,UACA,SACA,QACA,YACA,MACA,YACA,SACA,WACA,UACA,UACA,SACA,QACA,YACA,QACA,SACA,UACA,SACA,OACA,QACA,UACA,QACA,aACA,OACA,OACA,SACA,UACA,OACA,SACA,QACA,SACA,QACA,SACA,WACA,QACA,UACA,WACA,SACA,UACA,OACA,OACA,QACA,QACA,KACA,UACA,OACA,OACA,UACA,QACA,QACA,UACA,QACA,UACA,UACA,QACA,SACA,UACA,UACA,WACA,SACA,QACA,OACA,SACA,SACA,SACA,MACA,OACA,QACA,OACA,YACA,QACA,UACA,OACA,QACA,SACA,WACA,QACA,QACA,OACA,UACA,QACA,QACA,OACA,QACA,UACA,SACA,SACA,QACA,SACA,UACA,UACA,OACA,MACA,OACA,WACA,OACA,WACA,MACA,SACA,SACA,OACA,UACA,SACA,SACA,SACA,SACA,UACA,SACA,gECpfDA,EAAO,QAAa,CACnB,OACA,WACA,QACA,UACA,YACA,WACA,QACA,QACA,WACA,UACA,OACA,QACA,QACA,QACA,QACA,SACA,QACA,QACA,OACA,SACA,WACA,QACA,QACA,WACA,UACA,UACA,UACA,UACA,SACA,UACA,SACA,MACA,OACA,UACA,WACA,WACA,SACA,SACA,QACA,SACA,YACA,UACA,YACA,QACA,QACA,YACA,UACA,MACA,QACA,QACA,QACA,QACA,UACA,SACA,QACA,SACA,SACA,OACA,SACA,UACA,YACA,OACA,SACA,SACA,OACA,SACA,QACA,SACA,OACA,YACA,QACA,UACA,UACA,SACA,QACA,QACA,OACA,OACA,SACA,UACA,SACA,UACA,SACA,OACA,OACA,aACA,QACA,SACA,QACA,OACA,OACA,OACA,UACA,QACA,QACA,QACA,QACA,UACA,QACA,QACA,QACA,UACA,SACA,OACA,OACA,SACA,WACA,QACA,OACA,UACA,SACA,OACA,QACA,QACA,QACA,WACA,QACA,MACA,SACA,SACA,YACA,SACA,UACA,SACA,QACA,QACA,SACA,WACA,SACA,YACA,SACA,SACA,UACA,OACA,UACA,QACA,SACA,QACA,QACA,MACA,SACA,QACA,SACA,QACA,UACA,QACA,SACA,UACA,UACA,WACA,QACA,SACA,UACA,UACA,OACA,SACA,UACA,WACA,OACA,OACA,YACA,SACA,QACA,QACA,WACA,OACA,QACA,SACA,QACA,WACA,UACA,UACA,SACA,SACA,UACA,OACA,WACA,SACA,OACA,QACA,MACA,QACA,MACA,SACA,UACA,QACA,WACA,UACA,UACA,UACA,WACA,SACA,QACA,UACA,UACA,OACA,MACA,QACA,OACA,SACA,QACA,QACA,OACA,WACA,SACA,QACA,WACA,OACA,QACA,OACA,SACA,QACA,OACA,UACA,SACA,UACA,QACA,OACA,SACA,WACA,SACA,UACA,UACA,QACA,SACA,UACA,UACA,UACA,SACA,MACA,UACA,YACA,SACA,UACA,SACA,SACA,QACA,SACA,SACA,UACA,QACA,SACA,QACA,QACA,WACA,SACA,SACA,WACA,OACA,KACA,SACA,SACA,QACA,SACA,OACA,QACA,SACA,SACA,OACA,UACA,SACA,QACA,QACA,YACA,SACA,OACA,SACA,OACA,YACA,OACA,QACA,MACA,YACA,QACA,SACA,SACA,OACA,SACA,SACA,SACA,QACA,QACA,UACA,QACA,SACA,QACA,QACA,SACA,SACA,WACA,OACA,QACA,MACA,SACA,QACA,SACA,SACA,QACA,UACA,SACA,UACA,UACA,SACA,YACA,UACA,YACA,SACA,OACA,OACA,MACA,UACA,UACA,SACA,aACA,SACA,UACA,QACA,UACA,SACA,SACA,UACA,QACA,QACA,SACA,OACA,SACA,QACA,OACA,QACA,WACA,SACA,UACA,YACA,UACA,OACA,QACA,SACA,QACA,QACA,MACA,MACA,WACA,UACA,SACA,UACA,OACA,SACA,SACA,SACA,MACA,QACA,SACA,QACA,UACA,SACA,QACA,OACA,OACA,QACA,SACA,aACA,UACA,QACA,YACA,MACA,QACA,SACA,UACA,UACA,QACA,QACA,SACA,QACA,SACA,QACA,QACA,QACA,QACA,QACA,WACA,OACA,YACA,OACA,SACA,OACA,UACA,MACA,SACA,UACA,WACA,UACA,QACA,UACA,WACA,UACA,YACA,SACA,UACA,QACA,aACA,QACA,OACA,SACA,UACA,UACA,UACA,UACA,QACA,YACA,SACA,WACA,QACA,UACA,WACA,SACA,OACA,UACA,SACA,WACA,OACA,OACA,SACA,YACA,QACA,UACA,UACA,OACA,SACA,QACA,QACA,WACA,QACA,WACA,WACA,UACA,OACA,WACA,OACA,QACA,SACA,SACA,SACA,WACA,WACA,UACA,SACA,YACA,SACA,OACA,SACA,OACA,QACA,QACA,SACA,UACA,QACA,SACA,QACA,SACA,SACA,QACA,QACA,SACA,OACA,QACA,SACA,SACA,QACA,OACA,OACA,QACA,MACA,QACA,QACA,QACA,SACA,OACA,WACA,UACA,UACA,QACA,QACA,QACA,QACA,OACA,UACA,QACA,UACA,OACA,SACA,QACA,QACA,QACA,MACA,SACA,UACA,QACA,QACA,WACA,iECpfDA,EAAO,QAAa,CAClB,UACA,QACA,UACA,QACA,QACA,WACA,OACA,SACA,QACA,WACA,MACA,OACA,WACA,UACA,UACA,WACA,QACA,UACA,MACA,OACA,YACA,UACA,OACA,OACA,QACA,UACA,QACA,WACA,QACA,SACA,UACA,QACA,SACA,SACA,SACA,QACA,SACA,SACA,WACA,SACA,SACA,SACA,UACA,WACA,SACA,SACA,WACA,QACA,QACA,QACA,UACA,WACA,QACA,QACA,OACA,QACA,QACA,SACA,QACA,QACA,SACA,QACA,KACA,SACA,OACA,QACA,SACA,SACA,SACA,OACA,SACA,UACA,WACA,UACA,QACA,SACA,OACA,QACA,OACA,QACA,YACA,aACA,OACA,QACA,QACA,aACA,aACA,UACA,SACA,OACA,QACA,YACA,YACA,YACA,aACA,aACA,cACA,YACA,UACA,WACA,SACA,SACA,SACA,aACA,MACA,UACA,UACA,SACA,SACA,UACA,UACA,MACA,OACA,QACA,SACA,QACA,SACA,SACA,SACA,QACA,SACA,QACA,QACA,QACA,QACA,SACA,QACA,UACA,OACA,WACA,OACA,SACA,OACA,QACA,SACA,SACA,UACA,SACA,QACA,QACA,SACA,QACA,SACA,SACA,UACA,SACA,SACA,QACA,QACA,QACA,QACA,QACA,UACA,SACA,SACA,QACA,UACA,UACA,OACA,QACA,OACA,QACA,QACA,OACA,SACA,MACA,OACA,MACA,SACA,WACA,QACA,QACA,YACA,YACA,WACA,QACA,WACA,YACA,SACA,SACA,OACA,QACA,SACA,WACA,WACA,WACA,WACA,SACA,QACA,QACA,SACA,QACA,SACA,QACA,QACA,SACA,SACA,OACA,UACA,WACA,YACA,WACA,UACA,YACA,OACA,UACA,UACA,QACA,QACA,SACA,UACA,aACA,SACA,YACA,YACA,UACA,aACA,WACA,UACA,SACA,SACA,OACA,QACA,MACA,UACA,UACA,OACA,YACA,UACA,QACA,SACA,QACA,MACA,SACA,UACA,OACA,QACA,UACA,QACA,SACA,QACA,OACA,SACA,UACA,SACA,UACA,OACA,OACA,SACA,UACA,UACA,OACA,MACA,SACA,SACA,QACA,QACA,UACA,UACA,MACA,OACA,SACA,WACA,SACA,QACA,UACA,SACA,SACA,OACA,UACA,SACA,SACA,SACA,SACA,QACA,QACA,YACA,SACA,SACA,UACA,YACA,WACA,UACA,UACA,UACA,SACA,SACA,SACA,SACA,SACA,MACA,QACA,OACA,OACA,QACA,QACA,OACA,QACA,OACA,SACA,SACA,UACA,SACA,QACA,UACA,QACA,OACA,aACA,SACA,SACA,WACA,OACA,UACA,OACA,QACA,QACA,MACA,WACA,WACA,UACA,SACA,QACA,SACA,WACA,aACA,YACA,UACA,WACA,WACA,WACA,UACA,SACA,WACA,UACA,QACA,OACA,QACA,SACA,UACA,WACA,QACA,SACA,OACA,UACA,SACA,QACA,QACA,SACA,QACA,SACA,SACA,UACA,SACA,OACA,SACA,QACA,SACA,QACA,SACA,QACA,SACA,UACA,QACA,KACA,SACA,QACA,SACA,SACA,QACA,OACA,OACA,SACA,WACA,UACA,SACA,QACA,UACA,QACA,SACA,SACA,UACA,SACA,SACA,UACA,UACA,UACA,QACA,UACA,UACA,SACA,SACA,UACA,UACA,SACA,UACA,UACA,UACA,SACA,UACA,UACA,QACA,OACA,QACA,OACA,QACA,SACA,UACA,QACA,UACA,YACA,SACA,UACA,WACA,UACA,QACA,UACA,WACA,QACA,YACA,QACA,QACA,SACA,WACA,SACA,QACA,QACA,SACA,QACA,SACA,QACA,OACA,MACA,QACA,SACA,QACA,WACA,SACA,UACA,SACA,OACA,QACA,SACA,UACA,OACA,QACA,UACA,OACA,UACA,SACA,SACA,UACA,SACA,UACA,UACA,SACA,SACA,SACA,UACA,UACA,aACA,UACA,UACA,UACA,OACA,QACA,UACA,SACA,WACA,SACA,QACA,SACA,QACA,SACA,WACA,SACA,UACA,WACA,UACA,SACA,UACA,QACA,YACA,SACA,WACA,WACA,UACA,WACA,SACA,UACA,SACA,SACA,OACA,WACA,QACA,UACA,UACA,SACA,YACA,YACA,UACA,SACA,WACA,WACA,YACA,YACA,WACA,UACA,QACA,QACA,SACA,UACA,QACA,SACA,UACA,UACA,YACA,YACA,QACA,SACA,QACA,OACA,QACA,WACA,QACA,SACA,WACA,SACA,WACA,UACA,WACA,UACA,UACA,UACA,YACA,QACA,UACA,WACA,QACA,OACA,UACA,UACA,UACA,UACA,UACA,OACA,WACA,WACA,QACA,QACA,SACA,UACA,aACA,YACA,aACA,YACA,YACA,WACA,aACA,cACA,UACA,QACA,QACA,SACA,QACA,SACA,QACA,WACA,QACA,SACA,QACA,aACA,QACA,WACA,QACA,QACA,SACA,UACA,UACA,WACA,OACA,UACA,UACA,aACA,aACA,UACA,OACA,SACA,QACA,SACA,QACA,YACA,WACA,UACA,QACA,UACA,WACA,SACA,QACA,QACA,OACA,OACA,QACA,OACA,UACA,QACA,UACA,SACA,OACA,SACA,SACA,WACA,aACA,SACA,SACA,SACA,QACA,SACA,YACA,aACA,WACA,SACA,OACA,UACA,SACA,WACA,UACA,SACA,SACA,SACA,SACA,YACA,UACA,UACA,SACA,UACA,OACA,OACA,WACA,MACA,QACA,WACA,SACA,UACA,WACA,WACA,YACA,aACA,OACA,UACA,UACA,SACA,OACA,SACA,SACA,UACA,QACA,QACA,SACA,SACA,QACA,SACA,QACA,SACA,OACA,SACA,SACA,SACA,UACA,SACA,SACA,SACA,SACA,QACA,MACA,OACA,SACA,OACA,WACA,UACA,SACA,UACA,WACA,WACA,SACA,SACA,QACA,QACA,SACA,SACA,UACA,UACA,QACA,QACA,SACA,UACA,SACA,QACA,SACA,SACA,UACA,QACA,SACA,UACA,SACA,UACA,SACA,UACA,SACA,SACA,SACA,QACA,UACA,QACA,OACA,QACA,QACA,SACA,QACA,UACA,OACA,SACA,MACA,SACA,QACA,QACA,SACA,OACA,WACA,SACA,UACA,SACA,SACA,UACA,MACA,QACA,OACA,QACA,QACA,SACA,UACA,UACA,UACA,QACA,UACA,OACA,QACA,SACA,UACA,SACA,UACA,WACA,QACA,UACA,WACA,UACA,WACA,YACA,SACA,OACA,QACA,SACA,OACA,UACA,UACA,SACA,SACA,QACA,SACA,QACA,UACA,UACA,UACA,UACA,UACA,SACA,UACA,SACA,WACA,WACA,UACA,UACA,QACA,UACA,QACA,QACA,QACA,UACA,QACA,UACA,SACA,SACA,UACA,QACA,SACA,QACA,SACA,SACA,UACA,OACA,OACA,OACA,QACA,OACA,QACA,UACA,UACA,WACA,WACA,WACA,UACA,UACA,YACA,MACA,SACA,SACA,UACA,QACA,UACA,SACA,QACA,OACA,SACA,SACA,QACA,WACA,UACA,SACA,SACA,SACA,OACA,UACA,QACA,QACA,QACA,OACA,QACA,SACA,QACA,SACA,UACA,SACA,QACA,SACA,QACA,OACA,UACA,UACA,UACA,aACA,SACA,SACA,OACA,QACA,KACA,MACA,MACA,QACA,OACA,QACA,UACA,SACA,SACA,SACA,OACA,UACA,SACA,UACA,QACA,SACA,QACA,SACA,QACA,SACA,QACA,SACA,QACA,OACA,SACA,SACA,SACA,OACA,QACA,SACA,SACA,WACA,WACA,WACA,UACA,SACA,QACA,SACA,UACA,WACA,WACA,MACA,QACA,SACA,QACA,UACA,SACA,SACA,UACA,QACA,YACA,QACA,SACA,SACA,SACA,QACA,YACA,OACA,QACA,QACA,SACA,UACA,QACA,YACA,QACA,SACA,OACA,SACA,OACA,SACA,QACA,SACA,SACA,UACA,OACA,QACA,OACA,OACA,QACA,OACA,QACA,OACA,SACA,QACA,QACA,QACA,QACA,QACA,SACA,OACA,UACA,SACA,SACA,QACA,UACA,UACA,QACA,OACA,OACA,QACA,SACA,WACA,SACA,SACA,QACA,OACA,UACA,WACA,aACA,QACA,SACA,QACA,SACA,OACA,QACA,MACA,OACA,QACA,QACA,OACA,SACA,UACA,UACA,MACA,WACA,OACA,QACA,QACA,QACA,SACA,OACA,QACA,OACA,SACA,OACA,SACA,YACA,YACA,UACA,QACA,QACA,QACA,OACA,YACA,YACA,OACA,UACA,YACA,QACA,SACA,UACA,UACA,UACA,SACA,WACA,OACA,QACA,QACA,UACA,QACA,QACA,SACA,SACA,UACA,OACA,QACA,UACA,OACA,SACA,UACA,MACA,SACA,OACA,aACA,QACA,MACA,UACA,SACA,WACA,UACA,WACA,QACA,OACA,QACA,QACA,UACA,WACA,OACA,SACA,UACA,MACA,SACA,QACA,SACA,WACA,SACA,SACA,MACA,OACA,WACA,UACA,WACA,WACA,SACA,SACA,QACA,SACA,SACA,OACA,WACA,QACA,QACA,YACA,WACA,OACA,QACA,SACA,SACA,QACA,WACA,MACA,WACA,YACA,UACA,UACA,UACA,UACA,OACA,QACA,OACA,SACA,UACA,SACA,UACA,YACA,YACA,UACA,YACA,YACA,SACA,QACA,UACA,QACA,OACA,QACA,UACA,SACA,WACA,YACA,WACA,aACA,WACA,QACA,SACA,UACA,SACA,QACA,SACA,YACA,QACA,SACA,OACA,UACA,YACA,YACA,UACA,OACA,OACA,UACA,SACA,WACA,UACA,SACA,UACA,SACA,UACA,UACA,WACA,QACA,QACA,SACA,QACA,MACA,QACA,UACA,OACA,UACA,UACA,YACA,UACA,WACA,MACA,WACA,SACA,YACA,YACA,aACA,WACA,WACA,UACA,SACA,YACA,SACA,UACA,QACA,UACA,WACA,SACA,QACA,SACA,WACA,MACA,SACA,SACA,UACA,WACA,QACA,QACA,UACA,OACA,OACA,UACA,WACA,WACA,WACA,WACA,WACA,UACA,SACA,OACA,SACA,SACA,UACA,SACA,UACA,QACA,SACA,UACA,SACA,QACA,SACA,WACA,QACA,SACA,QACA,YACA,SACA,UACA,QACA,OACA,QACA,WACA,WACA,UACA,QACA,WACA,UACA,UACA,SACA,YACA,SACA,QACA,YACA,WACA,SACA,SACA,MACA,SACA,OACA,UACA,MACA,OACA,YACA,SACA,SACA,SACA,SACA,MACA,UACA,QACA,QACA,QACA,SACA,OACA,QACA,SACA,OACA,QACA,SACA,SACA,UACA,SACA,WACA,QACA,SACA,UACA,SACA,SACA,SACA,QACA,SACA,SACA,SACA,SACA,QACA,QACA,QACA,UACA,SACA,QACA,SACA,QACA,QACA,SACA,SACA,QACA,SACA,SACA,UACA,YACA,QACA,YACA,QACA,UACA,SACA,UACA,UACA,WACA,WACA,UACA,QACA,SACA,SACA,SACA,UACA,UACA,QACA,YACA,UACA,UACA,QACA,SACA,WACA,QACA,SACA,SACA,SACA,SACA,QACA,OACA,SACA,UACA,WACA,QACA,UACA,SACA,SACA,OACA,SACA,SACA,OACA,QACA,WACA,SACA,QACA,MACA,UACA,OACA,MACA,QACA,SACA,UACA,WACA,MACA,MACA,QACA,SACA,MACA,QACA,SACA,WACA,UACA,OACA,OACA,SACA,QACA,QACA,SACA,UACA,WACA,WACA,OACA,UACA,OACA,SACA,SACA,SACA,SACA,SACA,OACA,SACA,QACA,QACA,MACA,OACA,QACA,MACA,WACA,SACA,SACA,OACA,QACA,WACA,UACA,OACA,YACA,SACA,UACA,UACA,QACA,SACA,YACA,UACA,WACA,OACA,OACA,QACA,QACA,QACA,SACA,QACA,SACA,SACA,QACA,QACA,UACA,OACA,QACA,SACA,QACA,QACA,QACA,SACA,QACA,QACA,WACA,QACA,UACA,QACA,QACA,QACA,QACA,UACA,SACA,MACA,OACA,QACA,OACA,UACA,UACA,QACA,SACA,SACA,QACA,QACA,SACA,SACA,OACA,SACA,WACA,YACA,QACA,QACA,QACA,QACA,SACA,UACA,SACA,UACA,SACA,SACA,QACA,SACA,QACA,SACA,UACA,SACA,QACA,UACA,MACA,QACA,SACA,QACA,QACA,SACA,SACA,SACA,SACA,SACA,SACA,QACA,QACA,SACA,SACA,SACA,SACA,UACA,OACA,WACA,SACA,SACA,MACA,WACA,WACA,OACA,WACA,UACA,UACA,SACA,OACA,UACA,SACA,WACA,WACA,WACA,SACA,QACA,SACA,UACA,SACA,QACA,UACA,SACA,UACA,WACA,SACA,QACA,SACA,SACA,UACA,SACA,UACA,QACA,OACA,QACA,UACA,SACA,UACA,QACA,UACA,QACA,OACA,SACA,QACA,QACA,SACA,UACA,SACA,QACA,KACA,OACA,QACA,SACA,SACA,UACA,SACA,QACA,UACA,UACA,QACA,OACA,MACA,OACA,SACA,SACA,OACA,QACA,SACA,UACA,WACA,OACA,YACA,YACA,UACA,SACA,WACA,UACA,QACA,MACA,QACA,UACA,WACA,WACA,SACA,UACA,QACA,SACA,QACA,SACA,QACA,OACA,SACA,WACA,SACA,YACA,OACA,SACA,UACA,SACA,UACA,WACA,QACA,QACA,QACA,SACA,UACA,SACA,MACA,QACA,QACA,UACA,QACA,OACA,OACA,QACA,SACA,OACA,QACA,QACA,SACA,UACA,WACA,QACA,SACA,SACA,QACA,SACA,OACA,SACA,SACA,SACA,UACA,UACA,UACA,SACA,SACA,SACA,UACA,QACA,QACA,OACA,QACA,OACA,QACA,QACA,QACA,SACA,OACA,SACA,SACA,SACA,UACA,UACA,OACA,QACA,UACA,QACA,OACA,SACA,UACA,UACA,SACA,SACA,SACA,OACA,OACA,SACA,UACA,QACA,OACA,UACA,WACA,SACA,SACA,OACA,SACA,SACA,QACA,SACA,WACA,SACA,WACA,QACA,YACA,WACA,UACA,UACA,WACA,YACA,YACA,WACA,WACA,UACA,UACA,WACA,SACA,UACA,UACA,UACA,SACA,QACA,MACA,OACA,SACA,SACA,QACA,SACA,SACA,WACA,SACA,QACA,SACA,SACA,SACA,QACA,QACA,SACA,SACA,SACA,QACA,SACA,QACA,QACA,SACA,SACA,QACA,SACA,QACA,QACA,SACA,SACA,SACA,MACA,UACA,SACA,WACA,QACA,UACA,UACA,UACA,UACA,QACA,SACA,QACA,WACA,SACA,OACA,UACA,UACA,QACA,QACA,QACA,QACA,WACA,SACA,SACA,OACA,QACA,SACA,QACA,SACA,OACA,QACA,SACA,QACA,MACA,WACA,OACA,MACA,OACA,OACA,UACA,UACA,QACA,OACA,OACA,OACA,QACA,OACA,SACA,QACA,OACA,QACA,OACA,SACA,WACA,UACA,WACA,YACA,aACA,aACA,SACA,UACA,UACA,WACA,OACA,SACA,OACA,OACA,QACA,UACA,QACA,QACA,OACA,QACA,OACA,WACA,YACA,QACA,SACA,QACA,UACA,SACA,QACA,SACA,OACA,QACA,UACA,QACA,QACA,QACA,QACA,SACA,SACA,WACA,WACA,WACA,YACA,SACA,UACA,QACA,SACA,SACA,SACA,UACA,UACA,SACA,UACA,QACA,UACA,WACA,SACA,QACA,QACA,SACA,MACA,QACA,SACA,SACA,SACA,OACA,MACA,OACA,QACA,UACA,OACA,QACA,SACA,QACA,QACA,SACA,QACA,SACA,QACA,SACA,SACA,MACA,QACA,OACA,UACA,WACA,QACA,SACA,SACA,SACA,UACA,UACA,WACA,QACA,OACA,SACA,SACA,QACA,SACA,SACA,OACA,QACA,UACA,OACA,MACA,QACA,OACA,QACA,QACA,MACA,OACA,QACA,SACA,QACA,OACA,SACA,UACA,UACA,QACA,UACA,WACA,SACA,QACA,OACA,SACA,OACA,UACA,QACA,UACA,UACA,SACA,SACA,UACA,SACA,OACA,WACA,UACA,QACA,OACA,SACA,SACA,YACA,QACA,QACA,OACA,OACA,SACA,OACA,MACA,SACA,QACA,SACA,QACA,QACA,OACA,UACA,QACA,SACA,SACA,UACA,UACA,OACA,SACA,QACA,SACA,MACA,QACA,SACA,UACA,WACA,SACA,MACA,QACA,QACA,QACA,UACA,QACA,WACA,SACA,UACA,QACA,UACA,SACA,OACA,QACA,SACA,MACA,SACA,QACA,OACA,QACA,QACA,OACA,OACA,OACA,OACA,OACA,UACA,SACA,MACA,OACA,QACA,OACA,OACA,QACA,UACA,QACA,UACA,QACA,MACA,QACA,OACA,QACA,OACA,YACA,OACA,WACA,UACA,WACA,WACA,UACA,WACA,QACA,QACA,UACA,UACA,UACA,UACA,UACA,UACA,MACA,SACA,QACA,UACA,SACA,WACA,YACA,SACA,WACA,SACA,OACA,QACA,QACA,QACA,UACA,UACA,WACA,UACA,UACA,SACA,UACA,SACA,UACA,UACA,QACA,SACA,SACA,UACA,OACA,OACA,SACA,YACA,YACA,WACA,WACA,YACA,UACA,SACA,QACA,SACA,SACA,WACA,YACA,YACA,aACA,aACA,YACA,QACA,SACA,SACA,UACA,aACA,QACA,SACA,SACA,SACA,UACA,UACA,WACA,WACA,UACA,UACA,QACA,UACA,WACA,WACA,UACA,UACA,WACA,SACA,QACA,SACA,SACA,UACA,UACA,aACA,WACA,UACA,OACA,SACA,SACA,SACA,UACA,SACA,SACA,SACA,UACA,UACA,WACA,WACA,QACA,SACA,UACA,UACA,QACA,SACA,OACA,SACA,WACA,SACA,QACA,QACA,SACA,UACA,WACA,UACA,UACA,OACA,SACA,SACA,OACA,QACA,SACA,UACA,UACA,WACA,UACA,WACA,QACA,MACA,QACA,SACA,aACA,aACA,cACA,SACA,UACA,SACA,UACA,MACA,OACA,UACA,WACA,OACA,SACA,UACA,QACA,QACA,UACA,UACA,WACA,SACA,UACA,OACA,SACA,SACA,SACA,QACA,SACA,QACA,SACA,UACA,SACA,SACA,SACA,UACA,SACA,UACA,WACA,WACA,OACA,QACA,SACA,UACA,SACA,SACA,OACA,MACA,UACA,QACA,UACA,WACA,UACA,UACA,SACA,UACA,WACA,SACA,UACA,OACA,QACA,QACA,QACA,UACA,SACA,SACA,OACA,SACA,OACA,UACA,SACA,UACA,WACA,SACA,SACA,WACA,QACA,UACA,WACA,SACA,UACA,UACA,UACA,WACA,WACA,SACA,SACA,QACA,OACA,SACA,UACA,SACA,YACA,aACA,UACA,QACA,QACA,SACA,SACA,SACA,WACA,SACA,OACA,QACA,QACA,SACA,SACA,UACA,WACA,SACA,OACA,SACA,SACA,UACA,MACA,OACA,SACA,QACA,OACA,SACA,OACA,QACA,QACA,UACA,SACA,SACA,SACA,QACA,QACA,OACA,SACA,QACA,SACA,WACA,UACA,OACA,QACA,MACA,UACA,UACA,UACA,SACA,YACA,YACA,YACA,SACA,SACA,OACA,MACA,QACA,OACA,OACA,QACA,QACA,QACA,SACA,OACA,SACA,QACA,SACA,SACA,OACA,SACA,SACA,MACA,WACA,YACA,UACA,OACA,WACA,WACA,OACA,SACA,UACA,SACA,YACA,QACA,SACA,QACA,QACA,OACA,UACA,OACA,OACA,OACA,QACA,MACA,OACA,SACA,QACA,SACA,QACA,OACA,QACA,OACA,OACA,UACA,WACA,SACA,QACA,SACA,SACA,UACA,OACA,UACA,MACA,OACA,SACA,OACA,SACA,OACA,UACA,MACA,QACA,SACA,OACA,SACA,OACA,MACA,OACA,MACA,OACA,QACA,OACA,OACA,SACA,QACA,MACA,QACA,OACA,MACA,OACA,OACA,UACA,MACA,OACA,OACA,OACA,OACA,OACA,QACA,SACA,UACA,OACA,QACA,QACA,QACA,UACA,UACA,UACA,QACA,UACA,SACA,UACA,OACA,OACA,SACA,OACA,UACA,QACA,OACA,MACA,OACA,SACA,QACA,QACA,QACA,SACA,QACA,QACA,QACA,SACA,UACA,WACA,MACA,WACA,WACA,UACA,QACA,SACA,OACA,QACA,UACA,SACA,SACA,QACA,UACA,WACA,QACA,SACA,WACA,WACA,QACA,QACA,OACA,QACA,QACA,SACA,SACA,SACA,UACA,SACA,SACA,SACA,OACA,SACA,QACA,QACA,SACA,WACA,UACA,UACA,QACA,SACA,WACA,YACA,aACA,WACA,QACA,UACA,UACA,SACA,QACA,UACA,UACA,UACA,SACA,WACA,MACA,SACA,SACA,UACA,SACA,UACA,QACA,QACA,UACA,QACA,SACA,QACA,SACA,SACA,UACA,QACA,QACA,SACA,QACA,UACA,YACA,SACA,SACA,UACA,UACA,OACA,QACA,MACA,UACA,WACA,SACA,SACA,OACA,SACA,UACA,SACA,UACA,QACA,OACA,QACA,QACA,SACA,WACA,OACA,SACA,QACA,WACA,YACA,OACA,QACA,SACA,OACA,QACA,QACA,SACA,OACA,MACA,MACA,QACA,WACA,QACA,UACA,OACA,QACA,UACA,WACA,QACA,UACA,UACA,SACA,WACA,OACA,SACA,SACA,QACA,OACA,YACA,QACA,OACA,QACA,OACA,SACA,SACA,UACA,UACA,QACA,QACA,QACA,QACA,MACA,WACA,SACA,UACA,UACA,UACA,OACA,UACA,QACA,SACA,UACA,SACA,OACA,UACA,QACA,MACA,UACA,QACA,YACA,OACA,OACA,UACA,UACA,WACA,YACA,UACA,WACA,UACA,UACA,SACA,OACA,UACA,UACA,YACA,WACA,UACA,UACA,QACA,SACA,SACA,OACA,SACA,QACA,SACA,UACA,SACA,UACA,MACA,QACA,QACA,UACA,QACA,QACA,OACA,QACA,UACA,OACA,SACA,OACA,SACA,UACA,QACA,OACA,QACA,SACA,OACA,QACA,QACA,QACA,QACA,UACA,QACA,SACA,UACA,UACA,QACA,QACA,OACA,QACA,SACA,QACA,QACA,WACA,YACA,MACA,UACA,WACA,SACA,QACA,SACA,QACA,SACA,SACA,WACA,QACA,UACA,QACA,WACA,UACA,UACA,SACA,QACA,QACA,SACA,QACA,OACA,UACA,UACA,WACA,SACA,WACA,WACA,OACA,UACA,SACA,SACA,OACA,YACA,UACA,SACA,SACA,SACA,SACA,WACA,OACA,OACA,SACA,UACA,QACA,QACA,SACA,WACA,SACA,SACA,UACA,SACA,UACA,SACA,SACA,QACA,SACA,QACA,QACA,SACA,UACA,SACA,SACA,OACA,SACA,UACA,SACA,WACA,UACA,WACA,UACA,SACA,UACA,QACA,MACA,SACA,SACA,SACA,UACA,SACA,SACA,QACA,MACA,SACA,SACA,UACA,SACA,OACA,QACA,SACA,QACA,UACA,QACA,QACA,QACA,QACA,SACA,SACA,UACA,SACA,QACA,OACA,WACA,UACA,UACA,SACA,WACA,SACA,UACA,YACA,YACA,WACA,UACA,UACA,WACA,QACA,SACA,UACA,QACA,SACA,SACA,QACA,QACA,SACA,UACA,QACA,UACA,OACA,QACA,SACA,SACA,QACA,SACA,SACA,YACA,SACA,UACA,MACA,QACA,QACA,SACA,QACA,QACA,SACA,QACA,OACA,QACA,OACA,QACA,UACA,UACA,UACA,OACA,SACA,SACA,MACA,QACA,UACA,SACA,WACA,UACA,WACA,UACA,QACA,OACA,SACA,QACA,OACA,WACA,SACA,OACA,SACA,OACA,WACA,WACA,UACA,UACA,WACA,SACA,SACA,QACA,UACA,MACA,QACA,SACA,QACA,SACA,UACA,UACA,WACA,QACA,UACA,OACA,OACA,QACA,QACA,OACA,MACA,MACA,QACA,SACA,SACA,QACA,OACA,OACA,QACA,WACA,SACA,MACA,QACA,SACA,QACA,SACA,SACA,MACA,WACA,WACA,QACA,UACA,SACA,UACA,QACA,SACA,UACA,SACA,OACA,UACA,SACA,WACA,UACA,UACA,OACA,SACA,SACA,UACA,SACA,QACA,QACA,OACA,QACA,SACA,QACA,SACA,SACA,UACA,UACA,QACA,SACA,SACA,SACA,MACA,SACA,QACA,QACA,QACA,SACA,OACA,WACA,YACA,YACA,UACA,SACA,MACA,QACA,UACA,SACA,OACA,QACA,QACA,QACA,QACA,OACA,QACA,SACA,SACA,QACA,SACA,OACA,QACA,SACA,UACA,SACA,SACA,SACA,WACA,QACA,UACA,UACA,SACA,QACA,SACA,WACA,OACA,QACA,QACA,QACA,UACA,WACA,WACA,SACA,QACA,SACA,WACA,SACA,SACA,WACA,WACA,OACA,OACA,OACA,SACA,UACA,WACA,SACA,WACA,WACA,OACA,QACA,QACA,SACA,UACA,SACA,SACA,QACA,OACA,SACA,SACA,OACA,SACA,QACA,UACA,SACA,aACA,UACA,QACA,SACA,UACA,SACA,UACA,SACA,UACA,UACA,QACA,UACA,UACA,WACA,UACA,UACA,aACA,OACA,QACA,UACA,UACA,SACA,SACA,SACA,QACA,QACA,SACA,SACA,SACA,WACA,WACA,YACA,SACA,UACA,UACA,QACA,QACA,SACA,SACA,UACA,SACA,UACA,SACA,UACA,SACA,UACA,WACA,UACA,UACA,SACA,SACA,YACA,UACA,UACA,OACA,UACA,UACA,SACA,SACA,OACA,QACA,YACA,QACA,QACA,QACA,OACA,QACA,OACA,OACA,MACA,OACA,OACA,QACA,OACA,OACA,8DC/7FFA,EAAO,QAAa,CAClB,SACA,YACA,UACA,QACA,aACA,WACA,YACA,YACA,OACA,YACA,YACA,SACA,aACA,UACA,UACA,aACA,SACA,YACA,OACA,QACA,WACA,QACA,SACA,SACA,YACA,SACA,SACA,OACA,QACA,QACA,WACA,YACA,WACA,UACA,OACA,SACA,QACA,QACA,OACA,QACA,QACA,WACA,QACA,QACA,WACA,QACA,QACA,UACA,SACA,QACA,cACA,SACA,QACA,QACA,YACA,UACA,SACA,aACA,SACA,SACA,WACA,eACA,OACA,UACA,UACA,OACA,WACA,SACA,YACA,UACA,UACA,SACA,SACA,QACA,QACA,SACA,SACA,cACA,YACA,WACA,OACA,UACA,SACA,OACA,YACA,QACA,SACA,UACA,UACA,UACA,QACA,YACA,WACA,WACA,SACA,UACA,QACA,UACA,SACA,QACA,UACA,QACA,WACA,SACA,SACA,QACA,QACA,UACA,MACA,SACA,QACA,OACA,QACA,SACA,UACA,QACA,WACA,UACA,UACA,OACA,UACA,UACA,UACA,SACA,WACA,UACA,YACA,SACA,UACA,UACA,WACA,WACA,UACA,QACA,SACA,QACA,QACA,cACA,YACA,SACA,YACA,aACA,YACA,UACA,OACA,UACA,UACA,OACA,QACA,YACA,SACA,SACA,OACA,OACA,SACA,SACA,SACA,WACA,SACA,QACA,QACA,SACA,YACA,UACA,cACA,SACA,SACA,UACA,YACA,SACA,SACA,YACA,SACA,QACA,QACA,UACA,QACA,SACA,aACA,SACA,WACA,QACA,OACA,SACA,SACA,OACA,QACA,QACA,SACA,SACA,WACA,aACA,YACA,OACA,UACA,QACA,QACA,UACA,WACA,QACA,WACA,UACA,UACA,UACA,SACA,UACA,YACA,UACA,QACA,OACA,UACA,OACA,SACA,QACA,QACA,SACA,OACA,UACA,QACA,SACA,aACA,OACA,UACA,QACA,UACA,UACA,OACA,WACA,MACA,QACA,UACA,OACA,QACA,QACA,QACA,SACA,QACA,UACA,UACA,QACA,OACA,UACA,YACA,SACA,SACA,UACA,UACA,SACA,UACA,SACA,SACA,QACA,QACA,WACA,OACA,WACA,SACA,SACA,UACA,OACA,WACA,YACA,WACA,QACA,aACA,WACA,SACA,OACA,QACA,QACA,YACA,SACA,QACA,SACA,UACA,aACA,YACA,UACA,WACA,aACA,WACA,QACA,OACA,SACA,QACA,WACA,OACA,OACA,UACA,QACA,QACA,aACA,WACA,OACA,UACA,SACA,UACA,SACA,SACA,QACA,UACA,SACA,WACA,WACA,QACA,cACA,YACA,WACA,SACA,UACA,QACA,UACA,QACA,WACA,WACA,MACA,QACA,UACA,UACA,UACA,QACA,WACA,SACA,SACA,eACA,UACA,UACA,SACA,YACA,WACA,QACA,WACA,WACA,QACA,UACA,UACA,OACA,QACA,MACA,SACA,UACA,WACA,SACA,UACA,SACA,SACA,WACA,OACA,SACA,UACA,QACA,UACA,YACA,SACA,QACA,UACA,YACA,OACA,YACA,OACA,UACA,gBACA,aACA,QACA,SACA,aACA,OACA,UACA,cACA,QACA,SACA,UACA,WACA,cACA,WACA,WACA,WACA,WACA,UACA,UACA,YACA,SACA,aACA,YACA,WACA,UACA,SACA,UACA,WACA,SACA,WACA,UACA,UACA,QACA,SACA,QACA,UACA,UACA,SACA,SACA,QACA,UACA,QACA,QACA,UACA,aACA,SACA,cACA,UACA,UACA,UACA,UACA,aACA,QACA,QACA,QACA,WACA,UACA,OACA,SACA,QACA,MACA,UACA,WACA,UACA,QACA,WACA,SACA,UACA,QACA,aACA,OACA,UACA,MACA,YACA,UACA,SACA,QACA,SACA,OACA,SACA,UACA,QACA,SACA,UACA,WACA,QACA,OACA,QACA,UACA,YACA,YACA,OACA,aACA,SACA,UACA,aACA,SACA,SACA,UACA,OACA,OACA,QACA,UACA,SACA,QACA,OACA,QACA,UACA,SACA,UACA,QACA,gECzdFA,EAAO,QAAa,CACpB,UACA,2BACA,iCACA,iCACA,MACA,iBACA,gBACA,eACA,kBACA,iBACA,6BACA,mCACA,mCACA,MACA,MACA,aACA,SACA,WACA,cACA,oBACA,QACA,UACA,YACA,aACA,cACA,WACA,MACA,aACA,WACA,UACA,YACA,YACA,mBACA,iBACA,gBACA,kBACA,iBACA,MACA,eACA,uBACA,qBACA,iBACA,cACA,WACA,iBACA,MACA,UACA,WACA,aACA,QACA,YACA,QACA,eACA,aACA,YACA,eACA,eACA,aACA,YACA,eACA,cACA,aACA,oBACA,kBACA,iBACA,oBACA,mBACA,qBACA,qBACA,iBACA,oECvEAA,EAAO,QAAa,CAClB,MACA,OACA,MACA,OACA,6DCLFA,EAAO,QAAa,CAClB,MACA,MACA,IACA,KACA,MACA,KACA,IACA,KACA,MACA,MACA,6DCXFA,EAAO,QAAa,CAClB,WAAc,CACZ,OACA,SACA,SACA,YACA,UACA,SACA,UACA,WACA,WACA,WACA,UACA,SACA,WACA,WACA,UACA,gBACA,SACA,UACA,WACA,QACA,QACA,WACD,EACD,MAAS,CACP,YACA,UACA,QACA,WACA,WACA,YACA,aACA,iBACA,cACA,gBACA,WACA,WACA,UACA,WACA,UACA,QACA,WACA,eACA,eACA,aACA,iBACA,WACA,iBACA,MACA,WACA,UACA,YACA,WACA,WACA,OACA,WACA,gBACA,iBACA,eACA,UACA,YACA,SACD,EACD,IAAO,CACL,aACA,YACA,YACA,UACA,UACA,UACA,WACA,aACA,WACA,cACA,gBACA,YACA,UACA,WACA,UACA,eACA,aACA,YACA,WACA,aACA,YACA,cACA,QACA,iBACA,YACD,yDC1FHA,EAAO,QAAa,CAClB,uCACA,uCACA,6BACA,6BACA,kCACA,2ECNF,IAAI1hB,EAAO,GACX0hB,EAAO,QAAa1hB,EACpBA,EAAK,gBAAkBxzC,IACvBwzC,EAAK,kBAAoBjzC,IACzBizC,EAAK,WAAa8Q,IAClB9Q,EAAK,UAAYsS,IACjBtS,EAAK,OAASkV,IACdlV,EAAK,OAAS4c,IACd5c,EAAK,OAASimB,IACdjmB,EAAK,MAAQ2mB,IACb3mB,EAAK,KAAO2sB,0ECVZjL,EAAO,QAAa,CAClB,eACA,iBACA,iBACA,eACA,eACA,iBACA,iBACA,eACA,oBACA,sBACA,sBACA,oBACA,qBACA,uBACA,uBACA,qBACA,sBACA,wBACA,wBACA,6DCpBF,IAAIyvO,EAAe,GACnBzvO,EAAO,QAAayvO,EACpBA,EAAa,QAAU3kS,0ECFvBk1D,EAAO,QAAa,CAClB,eACA,iBACA,iBACA,sDCJF,IAAI4vO,EAAa,GACjB5vO,EAAO,QAAa4vO,EACpBA,EAAW,QAAU9kS,0ECFrBk1D,EAAO,QAAa,CAClB,sBACA,sBACA,sBACA,6ECJFA,EAAO,QAAa,CAClB,aACA,aACA,aACA,mECJFA,EAAO,QAAa,CAClB,OACA,aACA,kBACA,kDCJF,IAAI6vO,EAAW,GACf7vO,EAAO,QAAa6vO,EACpBA,EAAS,oBAAsB/kS,IAC/B+kS,EAAS,yBAA2BxkS,IACpCwkS,EAAS,kBAAoBzgP,0ECJ7B4Q,EAAO,QAAa,CAClB,MACA,QACA,OACA,SACA,SACA,aACA,OACA,QACA,QACA,SACA,OACA,OACA,SACA,SACA,YACA,MACA,WACA,SACA,OACA,SACA,QACA,UACA,OACA,QACA,SACA,OACA,UACA,OACA,QACA,WACA,gEC/BFA,EAAO,QAAa,CAClB,QACA,SACA,QACA,QACA,cACA,YACA,OACA,SACA,QACA,UACA,SACA,SACA,OACA,OACA,OACA,WACA,QACA,WACA,SACA,WACA,aACA,oECtBFA,EAAO,QAAa,CAClB,UAAa,CACX,QACA,YACA,SACA,cACA,WACA,aACA,YACA,YACA,QACA,UACA,UACA,cACA,WACA,WACA,UACA,YACA,OACD,EACD,SAAY,CACV,QACA,SACA,WACA,UACA,SACA,UACA,SACA,QACA,OACA,QACA,QACD,EACD,QAAW,CACT,QACA,MACA,WACA,WACA,QACA,OACA,OACA,SACA,QACA,QACA,QACA,QACA,MACA,SACA,OACA,OACA,UACA,OACA,SACA,QACA,QACA,QACA,WACA,OACD,yDC1DHA,EAAO,QAAa,CAClB,6HACA,oJACA,wHACA,2IACA,2HACA,4HACA,8DACA,8EACA,6GACA,oHACA,uIACA,4JCZF,IAAI8vO,EAAW,GACf9vO,EAAO,QAAa8vO,EACpBA,EAAS,MAAQhlS,IACjBglS,EAAS,WAAazkS,IACtBykS,EAAS,aAAe1gP,IACxB0gP,EAAS,oBAAsBl/O,0ECL/BoP,EAAO,QAAa,CAClB,OACA,OACA,QACA,OACA,QACA,UACA,OACA,WACA,SACA,OACA,WACA,QACA,YACA,SACA,QACA,QACA,QACA,QACA,SACA,YACA,QACA,UACA,OACA,OACA,WACA,SACA,OACA,UACA,QACA,SACA,SACA,SACA,SACA,WACA,QACA,aACA,WACA,SACA,eACA,UACA,UACA,QACA,aACA,YACA,OACA,OACA,SACA,SACA,UACA,SACA,WACA,eACA,UACA,QACA,UACA,WACA,YACA,UACA,UACA,WACA,WACA,SACA,aACA,UACA,aACA,UACA,gECnEFA,EAAO,QAAa,CAClB,sECDF,IAAI+vO,EAAO,GACX/vO,EAAO,QAAa+vO,EACpBA,EAAK,SAAWjlS,IAChBilS,EAAK,KAAO1kS,0ECHZ20D,EAAO,QAAa,CAClB,MACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,MACA,MACA,MACA,MACA,KACA,OACA,OACA,MACA,8DC7BFA,EAAO,QAAa,CAClB,YACA,UACA,WACA,UACA,cACA,UACA,iBACA,YACA,SACA,SACA,aACA,YACA,WACA,QACA,SACA,UACA,cACA,gEClBFA,EAAO,QAAa,CAClB,SACA,WACA,YACA,QACA,YACA,UACA,OACA,OACA,QACA,YACA,SACA,SACA,WACA,aACA,QACA,QACA,OACA,UACA,cACA,cACA,MACA,UACA,YACA,gECxBFA,EAAO,QAAa,CAClB,UACA,SACA,OACA,WACA,WACA,OACA,WACA,QACA,UACA,WACA,WACA,YACA,aACA,QACA,WACA,UACA,SACA,+DClBFA,EAAO,QAAa,CAClB,aACA,YACA,UACA,aACA,cACA,UACA,aACA,WACA,aACA,aACA,cACA,cACA,eACA,eACA,cACA,iEChBFA,EAAO,QAAa,CAClB,gIACA,mEACA,oGACA,mGACA,qGACA,+HACA,+GACA,wJCRF,IAAIgwO,EAAS,GACbhwO,EAAO,QAAagwO,EACpBA,EAAO,aAAellS,IACtBklS,EAAO,UAAY3kS,IACnB2kS,EAAO,KAAO5gP,IACd4gP,EAAO,KAAOp/O,IACdo/O,EAAO,QAAUx8O,IACjBw8O,EAAO,OAAS90O,0ECPhB8E,EAAO,QAAa,CAClB,UACA,WACA,aACA,SACA,SACA,YACA,cACA,cACA,QACA,WACA,aACA,SACA,aACA,SACA,WACA,OACA,UACA,OACA,SACA,QACA,OACA,MACA,cACA,MACA,KACA,WACA,QACA,UACA,UACA,QACA,SACA,YACA,WACA,YACA,WACA,SACA,UACA,SACA,cACA,YACA,SACA,WACA,WACA,UACA,UACA,UACA,WACA,OACA,SACA,WACA,OACA,UACA,SACA,aACA,UACA,SACA,QACA,SACA,YACA,SACA,SACA,gEC9DFA,EAAO,QAAa,CAClB,QACA,OACA,OACA,MACA,+DCLFA,EAAO,QAAa,CAClB,eACA,yDCFF,IAAIiwO,EAAM,GACVjwO,EAAO,QAAaiwO,EACpBA,EAAI,KAAOnlS,IACXmlS,EAAI,QAAU5kS,IACd4kS,EAAI,OAAS7gP,0ECJb4Q,EAAO,QAAa,CAClB,WACA,UACA,eACA,aACA,YACA,cACA,YACA,uECRFA,EAAO,QAAa,CAClB,UACA,aACA,UACA,iECJFA,EAAO,QAAa,CAClB,aAAc,CACZ,KAAQ,MACR,OAAU,EACX,EACD,QAAW,CACT,KAAQ,MACR,OAAU,GACX,EACD,IAAO,CACL,KAAQ,MACR,OAAU,KACX,EACD,gBAAiB,CACf,KAAQ,MACR,OAAU,EACX,EACD,gCAAiC,CAC/B,KAAQ,MACR,OAAU,GACX,EACD,OAAU,CACR,KAAQ,MACR,OAAU,EACX,EACD,iBAAkB,CAChB,KAAQ,MACR,OAAU,GACX,EACD,oBAA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AO,QAAa,CAClB,gBACA,6ECFFA,EAAO,QAAa,CAClB,0BACA,6ECFFA,EAAO,QAAa,CAClB,sBACA,sBACA,0BACA,2BACA,2BACA,sFCNFA,EAAO,QAAa,CAClB,oBACA,2ECFFA,EAAO,QAAa,CAClB,uBACA,mBACA,6ECHFA,EAAO,QAAa,CAClB,sBACA,sBACA,iFCHFA,EAAO,QAAa,CAClB,sBACA,yBACA,iFCHFA,EAAO,QAAa,CAClB,sBACA,yBACA,iFCHFA,EAAO,QAAa,CAClB,uBACA,uBACA,uBACA,uBACA,uBACA,uBACA,0BACA,gBACA,gBACA,gBACA,gBACA,gBACA,gBACA,mBACF,wDCfAA,EAAO,QAAa,CAClB,mBACA,mBACA,mBACA,mBACA,sBACA,sBACA,sBACA,6ECRFA,EAAO,QAAa,CAClB,iECDF,IAAIkwO,EAAc,GAClBlwO,EAAO,QAAakwO,EACpBA,EAAY,KAAOplS,IACnBolS,EAAY,WAAa7kS,IACzB6kS,EAAY,SAAW9gP,IACvB8gP,EAAY,iBAAmBt/O,IAC/Bs/O,EAAY,YAAc18O,IAC1B08O,EAAY,IAAMh1O,IAClBg1O,EAAY,OAAS3rO,IACrB2rO,EAAY,KAAOjrO,IACnBirO,EAAY,QAAUjlO,IACtBilO,EAAY,MAAQhlO,IACpBglO,EAAY,aAAe/kO,0CCZ3B,IAAIglO,EAAU,GACdnwO,EAAO,QAAamwO,EACpBA,EAAQ,aAAerlS,IACvBqlS,EAAQ,iBAAmB9kS,IAC3B8kS,EAAQ,SAAW/gP,IACnB+gP,EAAQ,YAAcv/O,0ECJtBoP,EAAO,QAAa,CAClB,KAAM,CACJ,UACA,WACA,QACA,QACA,MACA,OACA,OACA,SACA,YACA,UACA,WACA,UACD,EAGD,aAAc,CACZ,UACA,WACA,QACA,QACA,MACA,OACA,OACA,SACA,YACA,UACA,WACA,UACD,EACD,KAAM,CACJ,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACD,EAGD,aAAc,CACZ,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACD,yDC5DHA,EAAO,QAAa,CAClB,KAAM,CACJ,SACA,SACA,UACA,YACA,WACA,SACA,UACD,EAGD,aAAc,CACZ,SACA,SACA,UACA,YACA,WACA,SACA,UACD,EACD,KAAM,CACJ,MACA,MACA,MACA,MACA,MACA,MACA,KACD,EAGD,aAAc,CACZ,MACA,MACA,MACA,MACA,MACA,MACA,KACD,yCCzCH,IAAIqsB,EAAO,GACXrsB,EAAO,QAAaqsB,EACpBA,EAAK,MAAQvhF,IACbuhF,EAAK,QAAUhhF,0ECHf20D,EAAO,QAAa,CAChB,gBACF,OACE,QACA,iBACA,OACA,OACA,gBACA,YACA,cACA,gBACA,WACA,QACA,aACA,iBACA,OACA,WACA,cACA,SACA,OACA,OACA,WACA,OACA,WACA,eACA,WACA,YACA,aACA,WACA,eACA,eACA,QACA,UACA,QACA,QACA,WACA,OACA,OACA,UACA,OACA,SACA,OACA,aACA,WACA,eACA,WACA,eACA,eACA,iBACA,iBACA,WACA,aACA,YACA,aACA,WACA,OACA,WACA,YACA,aACA,WACA,iEC/BJA,EAAO,QAAa,CAClB,uCAAwC,CACtC,OAAU,MACX,EACD,qCAAsC,CACpC,OAAU,MACX,EACD,2BAA4B,CAC1B,OAAU,MACX,EACD,kBAAmB,CACjB,OAAU,MACX,EACD,4BAA6B,CAC3B,OAAU,MACX,EACD,gCAAiC,CAC/B,OAAU,OACV,aAAgB,EACjB,EACD,sCAAuC,CACrC,OAAU,OACV,aAAgB,EACjB,EACD,kCAAmC,CACjC,OAAU,OACV,aAAgB,EACjB,EACD,qCAAsC,CACpC,OAAU,OACV,aAAgB,EACjB,EACD,2CAA4C,CAC1C,OAAU,OACV,aAAgB,EACjB,EACD,qCAAsC,CACpC,OAAU,OACV,aAAgB,EACjB,EACD,2CAA4C,CAC1C,OAAU,OACV,aAAgB,EACjB,EACD,8BAA+B,CAC7B,OAAU,OACV,aAAgB,EACjB,EACD,mCAAoC,CAClC,OAAU,OACV,aAAgB,EACjB,EACD,yCAA0C,CACxC,OAAU,OACV,aAAgB,EACjB,EACD,kBAAmB,CACjB,OAAU,MACX,EACD,2BAA4B,CAC1B,OAAU,OACV,WAAc,CAAC,IAAI,CACpB,EACD,wBAAyB,CACvB,OAAU,MACX,EACD,yBAA0B,CACxB,OAAU,SACV,WAAc,CAAC,IAAI,CACpB,EACD,kBAAmB,CACjB,OAAU,MACX,EACD,mBAAoB,CAClB,OAAU,MACX,EACD,uBAAwB,CACtB,OAAU,OACV,aAAgB,GAChB,WAAc,CAAC,MAAM,CACtB,EACD,0BAA2B,CACzB,OAAU,OACV,WAAc,CAAC,SAAS,CACzB,EACD,8BAA+B,CAC7B,OAAU,MACX,EACD,yBAA0B,CACxB,OAAU,MACX,EACD,0BAA2B,CACzB,OAAU,OACV,WAAc,CAAC,SAAS,CACzB,EACD,oBAAqB,CACnB,OAAU,MACX,EACD,8BAA+B,CAC7B,OAAU,MACX,EACD,6BAA8B,CAC5B,OAAU,MACX,EACD,yBAA0B,CACxB,OAAU,MACX,EACD,mBAAoB,CAClB,aAAgB,GAChB,WAAc,CAAC,MAAM,CACtB,EACD,uBAAwB,CACtB,OAAU,MACX,EACD,4BAA6B,CAC3B,OAAU,OACV,aAAgB,EACjB,EACD,2BAA4B,CAC1B,OAAU,MACX,EACD,8BAA+B,CAC7B,OAAU,MACX,EACD,wBAAyB,CACvB,OAAU,MACX,EACD,mBAAoB,CAClB,OAAU,MACX,EACD,uBAAwB,CACtB,OAAU,MACX,EACD,wBAAyB,CACvB,OAAU,OACV,WAAc,CAAC,OAAO,CACvB,EACD,uBAAwB,CACtB,OAAU,MACX,EACD,8BAA+B,CAC7B,OAAU,OACV,WAAc,CAAC,OAAO,CACvB,EACD,6BAA8B,CAC5B,OAAU,OACV,WAAc,CAAC,OAAO,CACvB,EACD,0BAA2B,CACzB,OAAU,OACV,WAAc,CAAC,OAAO,CACvB,EACD,0BAA2B,CACzB,OAAU,OACV,WAAc,CAAC,OAAO,CACvB,EACD,yBAA0B,CACxB,OAAU,OACV,WAAc,CAAC,OAAO,CACvB,EACD,mBAAoB,CAClB,OAAU,MACX,EACD,kBAAmB,CACjB,OAAU,MACX,EACD,2BAA4B,CAC1B,OAAU,MACX,EACD,yBAA0B,CACxB,OAAU,MACX,EACD,kBAAmB,CACjB,OAAU,MACX,EACD,kBAAmB,CACjB,OAAU,MACX,EACD,uBAAwB,CACtB,OAAU,MACX,EACD,8BAA+B,CAC7B,OAAU,OACV,aAAgB,EACjB,EACD,2BAA4B,CAC1B,OAAU,MACX,EACD,kCAAmC,CACjC,OAAU,MACX,EACD,sBAAuB,CACrB,OAAU,MACX,EACD,uBAAwB,CACtB,OAAU,MACX,EACD,uBAAwB,CACtB,OAAU,MACX,EACD,2BAA4B,CAC1B,OAAU,MACX,EACD,wBAAyB,CACvB,OAAU,OACV,aAAgB,EACjB,EACD,uBAAwB,CACtB,OAAU,SACV,WAAc,CAAC,IAAI,CACpB,EACD,wBAAyB,CACvB,OAAU,MACX,EACD,mBAAoB,CAClB,aAAgB,EACjB,EACD,uBAAwB,CACtB,OAAU,OACV,WAAc,CAAC,KAAK,CACrB,EACD,wBAAyB,CACvB,OAAU,MACX,EACD,2BAA4B,CAC1B,OAAU,OACV,WAAc,CAAC,UAAU,CAC1B,EACD,sBAAuB,CACrB,OAAU,MACX,EACD,kBAAmB,CACjB,OAAU,MACX,EACD,qBAAsB,CACpB,OAAU,MACX,EACD,8BAA+B,CAC7B,OAAU,MACX,EACD,oBAAqB,CACnB,OAAU,MACX,EACD,kBAAmB,CACjB,OAAU,MACX,EACD,kBAAmB,CACjB,OAAU,MACX,EACD,kBAAmB,CACjB,OAAU,MACX,EACD,0BAA2B,CACzB,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,wBAAyB,CACvB,OAAU,MACX,EACD,uBAAwB,CACtB,OAAU,OACV,WAAc,CAAC,MAAM,CACtB,EACD,uBAAwB,CACtB,OAAU,OACV,WAAc,CAAC,OAAO,CACvB,EACD,mBAAoB,CAClB,OAAU,MACX,EACD,yBAA0B,CACxB,OAAU,OACV,aAAgB,GAChB,WAAc,CAAC,MAAM,CACtB,EACD,0BAA2B,CACzB,OAAU,MACX,EACD,sBAAuB,CACrB,OAAU,OACV,aAAgB,EACjB,EACD,sBAAuB,CACrB,OAAU,OACV,aAAgB,EACjB,EACD,4CAA6C,CAC3C,OAAU,MACX,EACD,+CAAgD,CAC9C,OAAU,MACX,EACD,iDAAkD,CAChD,OAAU,MACX,EACD,gDAAiD,CAC/C,OAAU,MACX,EACD,mDAAoD,CAClD,OAAU,MACX,EACD,uBAAwB,CACtB,OAAU,OACV,WAAc,CAAC,MAAM,CACtB,EACD,4BAA6B,CAC3B,OAAU,MACX,EACD,uBAAwB,CACtB,OAAU,MACX,EACD,sBAAuB,CACrB,OAAU,MACX,EACD,uBAAwB,CACtB,OAAU,OACV,WAAc,CAAC,MAAM,CACtB,EACD,oBAAqB,CACnB,OAAU,MACX,EACD,kBAAmB,CACjB,OAAU,OACV,WAAc,CAAC,KAAK,CACrB,EACD,0BAA2B,CACzB,OAAU,MACX,EACD,uBAAwB,CACtB,OAAU,MACX,EACD,sBAAuB,CACrB,OAAU,MACX,EACD,mBAAoB,CAClB,OAAU,MACX,EACD,wBAAyB,CACvB,OAAU,MACX,EACD,yBAA0B,CACxB,OAAU,OACV,WAAc,CAAC,KAAK,CACrB,EACD,wBAAyB,CACvB,OAAU,OACV,aAAgB,GAChB,WAAc,CAAC,MAAM,CACtB,EACD,yBAA0B,CACxB,aAAgB,GAChB,WAAc,CAAC,OAAO,CACvB,EACD,uCAAwC,CACtC,OAAU,MACX,EACD,sBAAuB,CACrB,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,sBAAuB,CACrB,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,kBAAmB,CACjB,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,mBAAoB,CAClB,OAAU,OACV,aAAgB,EACjB,EACD,mBAAoB,CAClB,OAAU,MACX,EACD,uBAAwB,CACtB,OAAU,MACX,EACD,mBAAoB,CAClB,OAAU,MACX,EACD,0BAA2B,CACzB,OAAU,OACV,WAAc,CAAC,KAAK,CACrB,EACD,kCAAmC,CACjC,OAAU,MACX,EACD,gCAAiC,CAC/B,OAAU,MACX,EACD,0BAA2B,CACzB,OAAU,MACX,EACD,mBAAoB,CAClB,OAAU,MACX,EACD,iCAAkC,CAChC,OAAU,MACX,EACD,oBAAqB,CACnB,OAAU,MACX,EACD,wBA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CAAC,IAAI,CACpB,EACD,kCAAmC,CACjC,OAAU,MACX,EACD,wCAAyC,CACvC,OAAU,MACX,EACD,yCAA0C,CACxC,OAAU,MACX,EACD,+DAAgE,CAC9D,OAAU,MACX,EACD,4CAA6C,CAC3C,OAAU,MACX,EACD,oCAAqC,CACnC,OAAU,MACX,EACD,iCAAkC,CAChC,OAAU,MACX,EACD,6CAA8C,CAC5C,OAAU,MACX,EACD,gDAAiD,CAC/C,OAAU,MACX,EACD,mCAAoC,CAClC,OAAU,MACX,EACD,qCAAsC,CACpC,OAAU,MACX,EACD,iCAAkC,CAChC,OAAU,MACX,EACD,oDAAqD,CACnD,OAAU,MACX,EACD,kDAAmD,CACjD,OAAU,MACX,EACD,sCAAuC,CACrC,OAAU,MACX,EACD,iCAAkC,CAChC,OAAU,MACX,EACD,2CAA4C,CAC1C,OAAU,MACX,EACD,8CAA+C,CAC7C,OAAU,MACX,EACD,kCAAmC,CACjC,OAAU,MACX,EACD,0CAA2C,CACzC,OAAU,MACX,EACD,yCAA0C,CACxC,OAAU,MACX,EACD,0BAA2B,CACzB,OAAU,MACX,EACD,2BAA4B,CAC1B,OAAU,MACX,EACD,8BAA+B,CAC7B,OAAU,OACV,WAAc,CAAC,KAAK,CACrB,EACD,mCAAoC,CAClC,OAAU,MACX,EACD,2CAA4C,CAC1C,OAAU,MACX,EACD,8BAA+B,CAC7B,OAAU,MACX,EACD,uDAAwD,CACtD,OAAU,MACX,EACD,2CAA4C,CAC1C,OAAU,MACX,EACD,qCAAsC,CACpC,OAAU,MACX,EACD,oDAAqD,CACnD,OAAU,MACX,EACD,wDAAyD,CACvD,OAAU,MACX,EACD,2BAA4B,CAC1B,OAAU,MACX,EACD,yCAA0C,CACxC,OAAU,MACX,EACD,yCAA0C,CACxC,OAAU,MACX,EACD,kCAAmC,CACjC,OAAU,MACX,EACD,iCAAkC,CAChC,OAAU,MACX,EACD,mCAAoC,CAClC,OAAU,MACX,EACD,mCAAoC,CAClC,OAAU,MACX,EACD,oCAAqC,CACnC,OAAU,MACX,EACD,uCAAwC,CACtC,OAAU,MACX,EACD,8BAA+B,CAC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CACX,OAAU,MACX,EACD,gCAAiC,CAC/B,OAAU,MACX,EACD,gBAAiB,CACf,OAAU,MACX,EACD,eAAgB,CACd,OAAU,MACX,EACD,cAAe,CACb,OAAU,OACV,aAAgB,GAChB,WAAc,CAAC,KAAK,KAAK,CAC1B,EACD,aAAc,CACZ,OAAU,MACX,EACD,aAAc,CACZ,OAAU,MACX,EACD,kBAAmB,CACjB,OAAU,MACX,EACD,WAAY,CACV,OAAU,MACX,EACD,cAAe,CACb,OAAU,MACX,EACD,YAAa,CACX,OAAU,MACX,EACD,qBAAsB,CACpB,OAAU,MACX,EACD,qBAAsB,CACpB,OAAU,MACX,EACD,qBAAsB,CACpB,OAAU,MACX,EACD,qBAAsB,CACpB,OAAU,MACX,EACD,WAAY,CACV,OAAU,MACX,EACD,aAAc,CACZ,OAAU,MACX,EACD,aAAc,CACZ,OAAU,MACX,EACD,iBAAkB,CAChB,OAAU,MACX,EACD,aAAc,CACZ,OAAU,MACX,EACD,iBAAkB,CAChB,OAAU,MACX,EACD,cAAe,CACb,OAAU,MACX,EACD,cAAe,CACb,OAAU,MACX,EACD,cAAe,CACb,OAAU,MACX,EACD,eAAgB,CACd,OAAU,MACX,EACD,eAAgB,CACd,OAAU,MACX,EACD,eAAgB,CACd,OAAU,MACX,EACD,gBAAiB,CACf,OAAU,MACX,EACD,gBAAiB,CACf,OAAU,MACX,EACD,eAAgB,CACd,OAAU,MACX,EACD,gBAAiB,CACf,OAAU,MACX,EACD,gBAAiB,CACf,OAAU,MACX,EACD,YAAa,CACX,OAAU,MACX,EACD,eAAgB,CACd,OAAU,MACX,EACD,eAAgB,CACd,OAAU,MACX,EACD,aAAc,CACZ,OAAU,MACX,EACD,aAAc,CACZ,OAAU,MACX,EACD,cAAe,CACb,OAAU,MACX,EACD,aAAc,CACZ,OAAU,MACX,EACD,gBAAiB,CACf,OAAU,MACX,EACD,gBAAiB,CACf,OAAU,MACX,EACD,gBAAiB,CACf,OAAU,MACX,EACD,gBAAiB,CACf,OAAU,MACX,EACD,aAAc,CACZ,OAAU,MACX,EACD,aAAc,CACZ,OAAU,MACX,EACD,cAAe,CACb,OAAU,MACX,EACD,cAAe,CACb,OAAU,MACX,EACD,cAAe,CACb,OAAU,MACX,EACD,YAAa,CACX,OAAU,MACX,EACD,gBAAiB,CACf,OAAU,MACX,EACD,kBAAmB,CACjB,OAAU,MACX,EACD,aAAc,CACZ,OAAU,MACX,EACD,mBAAoB,CAClB,OAAU,MACX,EACD,aAAc,CACZ,OAAU,QACX,EACD,YAAa,CACX,OAAU,MACX,EACD,YAAa,CACX,OAAU,MACX,EACD,YAAa,CACX,OAAU,OACV,aAAgB,EACjB,EACD,WAAY,CACV,OAAU,MACX,EACD,YAAa,CACX,OAAU,MACX,EACD,aAAc,CACZ,OAAU,SACV,WAAc,CAAC,MAAM,OAAO,MAAM,KAAK,CACxC,EACD,mBAAoB,CAClB,OAAU,MACX,EACD,YAAa,CACX,OAAU,OACV,aAAgB,GAChB,WAAc,CAAC,OAAO,KAAK,CAC5B,EACD,kBAAmB,CACjB,OAAU,MACX,EACD,YAAa,CACX,OAAU,MACX,EACD,mBAAoB,CAClB,OAAU,MACX,EACD,aAAc,CACZ,OAAU,OACV,aAAgB,GAChB,WAAc,CAAC,OAAO,MAAM,OAAO,MAAM,MAAM,KAAK,CACrD,EACD,sBAAuB,CACrB,OAAU,MACX,EACD,iBAAkB,CAChB,OAAU,QACX,EACD,YAAa,CACX,OAAU,OACV,aAAgB,GAChB,WAAc,CAAC,MAAM,MAAM,KAAK,CACjC,EACD,aAAc,CACZ,OAAU,MACX,EACD,kBAAmB,CACjB,OAAU,MACX,EACD,aAAc,CACZ,OAAU,MACX,EACD,gBAAiB,CACf,OAAU,MACX,EACD,aAAc,CACZ,OAAU,MACX,EACD,gBAAiB,CACf,OAAU,MACX,EACD,gBAAiB,CACf,OAAU,MACX,EACD,cAAe,CACb,OAAU,MACX,EACD,kBAAmB,CACjB,OAAU,MACX,EACD,YAAa,CACX,OAAU,MACX,EACD,yBAA0B,CACxB,OAAU,MACX,EACD,iBAAkB,CAChB,OAAU,MACX,EACD,oBAAqB,CACnB,OAAU,MACX,EACD,YAAa,CACX,OAAU,MACX,EACD,YAAa,CACX,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,aAAc,CACZ,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,YAAa,CACX,OAAU,MACX,EACD,gBAAiB,CACf,OAAU,MACX,EACD,aAAc,CACZ,OAAU,MACX,EACD,gBAAiB,CACf,OAAU,MACX,EACD,cAAe,CACb,OAAU,MACX,EACD,cAAe,CACb,OAAU,MACX,EACD,YAAa,CACX,OAAU,MACX,EACD,wBAAyB,CACvB,OAAU,MACX,EACD,aAAc,CACZ,OAAU,MACX,EACD,gBAAiB,CACf,OAAU,MACX,EACD,eAAgB,CACd,OAAU,MACX,EACD,aAAc,CACZ,OAAU,MACX,EACD,eAAgB,CACd,OAAU,MACX,EACD,sBAAuB,CACrB,OAAU,MACX,EACD,gBAAiB,CACf,OAAU,MACX,EACD,qBAAsB,CACpB,OAAU,MACX,EACD,iBAAkB,CAChB,OAAU,MACX,EACD,sBAAuB,CACrB,OAAU,MACX,EACD,+BAAgC,CAC9B,OAAU,MACX,EACD,qBAAsB,CACpB,OAAU,MACX,EACD,qBAAsB,CACpB,OAAU,MACX,EACD,uBAAwB,CACtB,OAAU,OACV,WAAc,CAAC,MAAM,MAAM,CAC5B,EACD,0BAA2B,CACzB,OAAU,OACV,WAAc,CAAC,KAAK,CACrB,EACD,sBAAuB,CACrB,OAAU,MACX,EACD,0BAA2B,CACzB,OAAU,MACX,EACD,0BAA2B,CACzB,OAAU,MACX,EACD,sBAAuB,CACrB,OAAU,MACX,EACD,sBAAuB,CACrB,OAAU,MACX,EACD,sBAAuB,CACrB,OAAU,MACX,EACD,uBAAwB,CACtB,OAAU,MACX,EACD,uBAAwB,CACtB,OAAU,MACX,EACD,0BAA2B,CACzB,OAAU,MACX,EACD,gBAAiB,CACf,OAAU,OACV,WAAc,CAAC,KAAK,CACrB,EACD,gBAAiB,CACf,OAAU,OACV,WAAc,CAAC,KAAK,CACrB,EACD,mBAAoB,CAClB,OAAU,OACV,WAAc,CAAC,OAAO,CACvB,EACD,qBAAsB,CACpB,OAAU,MACX,EACD,uBAAwB,CACtB,OAAU,MACX,EACD,sBAAu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,KAAK,CACrB,EACD,cAAe,CACb,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,kBAAmB,CACjB,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,cAAe,CACb,aAAgB,EACjB,EACD,kBAAmB,CACjB,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,sBAAuB,CACrB,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,eAAgB,CACd,OAAU,MACX,EACD,0BAA2B,CACzB,OAAU,MACX,EACD,mCAAoC,CAClC,OAAU,MACX,EACD,wBAAyB,CACvB,OAAU,MACX,EACD,0BAA2B,CACzB,OAAU,MACX,EACD,iBAAkB,CAChB,OAAU,MACX,EACD,iCAAkC,CAChC,OAAU,MACX,EACD,0CAA2C,CACzC,OAAU,MACX,EACD,yBAA0B,CACxB,OAAU,MACX,EACD,eAAgB,CACd,OAAU,OACV,aAAgB,EACjB,EACD,mBAAoB,CAClB,OAAU,OACV,aAAgB,EACjB,EACD,eAAgB,CACd,OAAU,MACX,EACD,kBAAmB,CACjB,OAAU,OACV,aAAgB,EACjB,EACD,iBAAkB,CAChB,OAAU,OACV,aAAgB,GAChB,WAAc,CAAC,MAAM,MAAM,CAC5B,EACD,iBAAkB,CAChB,OAAU,MACX,EACD,cAAe,CACb,OAAU,MACX,EACD,kBAAmB,CACjB,OAAU,MACX,EACD,0BAA2B,CACzB,OAAU,MACX,EACD,sBAAuB,CACrB,OAAU,MACX,EACD,sBAAuB,CACrB,OAAU,MACX,EACD,aAAc,CACZ,OAAU,OACV,aAAgB,GAChB,WAAc,CAAC,MAAM,MAAM,CAC5B,EACD,aAAc,CACZ,OAAU,OACV,aAAgB,GAChB,WAAc,CAAC,MAAM,OAAO,MAAM,CACnC,EACD,wBAAyB,CACvB,OAAU,OACV,WAAc,CAAC,KAAK,CACrB,EACD,gBAAiB,CACf,OAAU,OACV,WAAc,CAAC,KAAK,CACrB,EACD,0BAA2B,CACzB,OAAU,MACX,EACD,gBAAiB,CACf,OAAU,OACV,WAAc,CAAC,KAAK,CACrB,EACD,mBAAoB,CAClB,OAAU,QACX,EACD,mBAAoB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,CACf,OAAU,SACV,WAAc,CAAC,IAAI,CACpB,EACD,iBAAkB,CAChB,OAAU,SACV,aAAgB,GAChB,WAAc,CAAC,KAAK,CACrB,EACD,iBAAkB,CAChB,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,iBAAkB,CAChB,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,kBAAmB,CACjB,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,oBAAqB,CACnB,OAAU,SACV,WAAc,CAAC,OAAO,CACvB,EACD,cAAe,CACb,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,0BAA2B,CACzB,OAAU,SACV,WAAc,CAAC,KAAK,CACrB,EACD,sBAAuB,CACrB,aAAgB,EACjB,EACD,oBAAqB,CACnB,aAAgB,EACjB,CACH,wCCp7MA,IAAIowO,EAAS,GACbpwO,EAAO,QAAaowO,EACpBA,EAAO,eAAiBtlS,IACxBslS,EAAO,UAAY/kS,0ECHnB20D,EAAO,QAAa,CAClB,eACA,OACA,UACA,MACA,UACA,WACA,YACA,WACA,QACA,UACA,OACA,OACA,QACA,UACA,SACA,OACA,MACA,cACA,aACA,WACA,QACA,gBACA,OACA,SACA,WACA,UACA,cACA,QACA,QACA,SACA,aACA,+DChCFA,EAAO,QAAa,CAClB,SACA,QACA,SACA,UACA,WACA,aACA,QACA,UACA,WACA,OACA,QACA,SACA,SACA,SACA,WACA,WACA,YACA,YACA,MACA,MACA,MACA,WACA,SACA,UACA,UACA,aACA,aACA,UACA,gBACA,WACA,iBACA,WACA,UACA,UACA,QACA,QACA,eACA,SACA,QACA,UACA,SACA,SACA,KACA,KACA,SACA,QACA,OACA,MACA,SACA,WACA,aACA,YACA,IACA,IACA,SACA,MACA,OACA,8DC1DFA,EAAO,QAAa,CAClB,YACA,cACA,QACA,kBACA,sBACA,YACA,UACA,gBACA,MACA,QACA,+DCXFA,EAAO,QAAa,CAClB,SACA,WACA,WACA,gDCJF,IAAIqwO,EAAU,GACdrwO,EAAO,QAAaqwO,EACpBA,EAAQ,a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","names":["l","n","p","q","r","t","u","v","w","x","y","z","A","a","B","__name","C","D","E","b","e","F","G","H","I","J","K","L","M","d","c","k","h","g","f","m","N","O","escape","P","Q","R","S","T","U","V","W","X","react_production_min","reactModule","require$$0","reactJsxRuntime_production_min","jsxRuntimeModule","exports","schedulerModule","aa","ca","require$$1","da","ea","fa","ha","ia","ja","ka","la","ma","oa","pa","qa","ra","sa","ta","ua","va","wa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ka","La","Ma","Na","Oa","Pa","Qa","Ra","Sa","Ta","Ua","Va","Wa","Xa","Ya","Za","ab","bb","cb","db","eb","fb","gb","hb","ib","jb","kb","lb","mb","nb","ob","pb","qb","rb","sb","tb","ub","vb","wb","xb","yb","zb","Ab","Bb","Cb","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Nb","Ob","Pb","Qb","Rb","Sb","Tb","Ub","Vb","Wb","Xb","Yb","Zb","$b","ac","bc","cc","dc","ec","fc","gc","hc","ic","jc","kc","lc","mc","oc","nc","pc","qc","rc","sc","tc","uc","vc","wc","xc","yc","zc","Ac","Bc","Cc","Dc","Ec","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Pc","Qc","Rc","Sc","Tc","Uc","Vc","Wc","Xc","Yc","Zc","$c","ad","bd","cd","dd","ed","fd","gd","hd","id","jd","kd","ld","md","nd","od","pd","qd","rd","sd","td","ud","vd","wd","xd","yd","Ad","zd","Bd","Cd","Dd","Ed","Fd","Gd","Hd","Id","Jd","Kd","Ld","Md","Nd","Od","Pd","Qd","Rd","Sd","Td","Ud","Vd","Wd","Xd","Yd","Zd","$d","ae","be","ce","de","ee","fe","ge","he","ie","je","ke","le","me","ne","oe","pe","qe","re","se","te","ue","ve","we","xe","ye","ze","Ae","Be","Ce","De","Ee","Fe","Ge","He","Ie","Je","Ke","Le","Me","Ne","Oe","Pe","Qe","Re","Se","Te","Ue","Ve","We","Xe","Ye","Ze","$e","af","bf","cf","df","ef","ff","gf","hf","jf","kf","lf","mf","nf","of","pf","qf","rf","sf","tf","uf","vf","wf","na","xa","$a","ba","xf","yf","zf","Af","Bf","Cf","Df","Ef","Ff","Gf","Hf","Jf","If","Kf","Lf","Mf","Nf","Of","Pf","Qf","Rf","Sf","Tf","Uf","Vf","Wf","Xf","Yf","Zf","$f","ag","bg","cg","dg","eg","fg","gg","hg","ig","jg","kg","lg","mg","ng","og","pg","qg","rg","sg","tg","ug","vg","wg","xg","yg","zg","Ag","Bg","Cg","Dg","Eg","Fg","Gg","Hg","Ig","Jg","Kg","Lg","Mg","Ng","Og","Pg","Qg","Rg","Sg","Tg","Ug","Vg","Wg","Xg","Yg","Zg","$g","ah","bh","ch","dh","eh","fh","gh","hh","ih","jh","kh","lh","mh","nh","oh","ph","qh","rh","sh","th","uh","vh","wh","xh","yh","zh","Ah","Bh","Ch","Dh","Eh","Fh","Gh","Hh","Ih","Jh","Kh","Lh","Mh","Nh","Oh","Ph","Qh","Rh","Sh","Th","Uh","Vh","Wh","Xh","Yh","Zh","$h","ai","bi","ci","di","ei","fi","gi","hi","ii","ji","ki","li","mi","ni","oi","pi","qi","ri","si","ti","ui","vi","wi","xi","yi","zi","Ai","Bi","Ci","Di","Ei","Fi","Gi","Hi","Ii","Ji","Ki","Li","Mi","Ni","Oi","Pi","Qi","Ri","Si","Ti","Ui","Vi","Wi","Xi","Yi","Zi","$i","aj","bj","cj","dj","ej","fj","gj","hj","ij","jj","kj","lj","mj","nj","oj","pj","qj","rj","sj","tj","uj","vj","wj","xj","yj","zj","Aj","Bj","Cj","Dj","Ej","Fj","Gj","Hj","Ij","Jj","Kj","Lj","Mj","Nj","Oj","Pj","Qj","Rj","Sj","Tj","Uj","Vj","Wj","Xj","Yj","Zj","ak","bk","ck","dk","ek","fk","gk","hk","ik","jk","kk","lk","mk","nk","ok","Y","Z","pk","qk","rk","sk","tk","uk","vk","wk","xk","yk","zk","Ak","Bk","Ck","Dk","Ek","Fk","Gk","Hk","Ik","Jk","Kk","Lk","Mk","Nk","Ok","Pk","Qk","Rk","Sk","Tk","Uk","Vk","Wk","Xk","Yk","Zk","$k","al","bl","cl","dl","el","fl","gl","hl","il","jl","kl","ll","ml","nl","ol","pl","ql","rl","sl","tl","ul","vl","reactDom_production_min","checkDCE","err","reactDomModule","createRoot","AuthContext","createContext","defaultAuthParams","useAuthProvider","useContext","Subscribable","_a","listener","isServer","noop","functionalUpdate","updater","input","isValidTimeout","value","timeUntilStale","updatedAt","staleTime","matchQuery","filters","query","type","exact","fetchStatus","predicate","queryKey","stale","hashQueryKeyByOptions","partialMatchKey","isActive","matchMutation","mutation","status","mutationKey","hashKey","options","_","val","isPlainObject","result","key","replaceEqualDeep","array","isPlainArray","aSize","bItems","bSize","copy","equalItems","i","shallowEqualObjects","o","hasObjectPrototype","ctor","prot","sleep","ms","resolve","scheduleMicrotask","callback","replaceData","prevData","data","addToEnd","items","item","max","newItems","addToStart","FocusManager","__privateAdd","_focused","_cleanup","_setup","__privateSet","onFocus","__privateGet","setup","focused","focusManager","OnlineManager","_online","onOnline","onlineListener","offlineListener","online","onlineManager","defaultRetryDelay","failureCount","canFetch","networkMode","CancelledError","isCancelledError","createRetryer","config","isRetryCancelled","isResolved","continueFn","promiseResolve","promiseReject","promise","outerResolve","outerReject","cancel","cancelOptions","reject","cancelRetry","continueRetry","shouldPause","pause","continueResolve","canContinue","run","promiseOrValue","error","retry","retryDelay","delay","shouldRetry","createNotifyManager","queue","transactions","notifyFn","batchNotifyFn","batch","flush","schedule","batchCalls","args","originalQueue","fn","notifyManager","Removable","_gcTimeout","newGcTime","Query","__this_instances","_initialState","_revertState","_cache","_promise","_retryer","_observers","_defaultOptions","_abortSignalConsumed","__privateMethod","setOptions_fn","getDefaultState","newData","dispatch_fn","state","setStateOptions","observer","fetchOptions","abortController","queryFnContext","addSignalProperty","object","fetchFn","context","_b","_c","_d","onError","action","reducer","hasData","initialDataUpdatedAt","QueryCache","_queries","client","queryHash","queryInMap","defaultedFilters","queries","event","Mutation","_mutationCache","variables","executeMutation","restored","_f","_e","_h","_g","_j","_i","_l","_k","_n","_m","_p","_o","_r","_q","_t","_s","MutationCache","_mutations","_mutationId","_resuming","__privateWrapper","pausedMutations","infiniteQueryBehavior","pages","direction","oldPages","oldPageParams","empty","cancelled","queryFn","fetchPage","param","previous","page","maxPages","addTo","pageParamFn","getPreviousPageParam","getNextPageParam","oldData","remainingPages","pageParams","lastIndex","QueryClient","_queryCache","_queryDefaults","_mutationDefaults","_mountCount","_unsubscribeFocus","_unsubscribeOnline","cachedData","defaultedOptions","queryCache","refetchFilters","defaultedCancelOptions","promises","defaults","queryDefault","QueryObserver","_client","_currentQuery","_currentQueryInitialState","_currentResult","_currentResultState","_currentResultOptions","_selectError","_selectFn","_selectResult","_lastQueryWithDefinedData","_staleTimeoutId","_refetchIntervalId","_currentRefetchInterval","_trackedProps","shouldFetchOnMount","executeFetch_fn","updateTimers_fn","shouldFetchOn","clearStaleTimeout_fn","clearRefetchInterval_fn","notifyOptions","prevOptions","prevQuery","updateQuery_fn","mounted","shouldFetchOptionally","updateStaleTimeout_fn","nextRefetchInterval","computeRefetchInterval_fn","updateRefetchInterval_fn","shouldAssignObserverCurrentProperties","trackedResult","prevResult","prevResultState","prevResultOptions","queryInitialState","errorUpdatedAt","isPlaceholderData","fetchOnMount","fetchOptionally","selectError","placeholderData","isFetching","isPending","isError","isLoading","isStale","nextResult","defaultNotifyOptions","shouldNotifyListeners","notifyOnChangeProps","notifyOnChangePropsValue","includedProps","typedKey","notify_fn","timeout","nextInterval","shouldLoadOnMount","field","optimisticResult","MutationObserver","_MutationObserver_instances","_currentMutation","_mutateOptions","updateResult_fn","QueryClientContext","React.createContext","useQueryClient","queryClient","React.useContext","QueryClientProvider","children","React.useEffect","React.createElement","IsRestoringContext","useIsRestoring","createValue","isReset","QueryErrorResetBoundaryContext","useQueryErrorResetBoundary","shouldThrowError","throwError","params","ensurePreventErrorBoundaryRetry","errorResetBoundary","useClearResetErrorBoundary","getHasError","throwOnError","ensureStaleTime","shouldSuspend","fetchOptimistic","useBaseQuery","Observer","isRestoring","React.useState","React.useSyncExternalStore","React.useCallback","onStoreChange","unsubscribe","useQuery","useMutation","mutate","mutateOptions","_extends","target","source","Action","PopStateEventType","createHashHistory","createHashLocation","window","globalHistory","pathname","search","hash","parsePath","createLocation","createHashHref","to","base","href","url","hashIndex","createPath","validateHashLocation","location","warning","getUrlBasedHistory","invariant","message","cond","createKey","getHistoryState","index","current","_ref","path","parsedPath","searchIndex","getLocation","createHref","validateLocation","v5Compat","getIndex","handlePop","nextIndex","delta","history","push","historyState","replace","createURL","ResultType","immutableRouteKeys","isIndexRoute","route","convertRoutesToDataRoutes","routes","mapRouteProperties","parentPath","manifest","treePath","indexRoute","pathOrLayoutRoute","matchRoutes","locationArg","basename","stripBasename","branches","flattenRoutes","rankRouteBranches","matches","matchRouteBranch","safelyDecodeURI","convertRouteMatchToUiMatch","match","loaderData","parentsMeta","flattenRoute","relativePath","meta","joinPaths","routesMeta","computeScore","_route$path","exploded","explodeOptionalSegments","segments","first","rest","isOptional","required","restExploded","subpath","compareIndexes","paramRe","dynamicSegmentValue","indexRouteValue","emptySegmentValue","staticSegmentValue","splatPenalty","isSplat","s","initialScore","score","segment","branch","matchedParams","matchedPathname","end","remainingPathname","matchPath","normalizePathname","pattern","matcher","compiledParams","compilePath","pathnameBase","captureGroups","memo","paramName","splatValue","safelyDecodeURIComponent","caseSensitive","regexpSource","startIndex","nextChar","resolvePath","fromPathname","toPathname","resolvePathname","normalizeSearch","normalizeHash","getInvalidPathError","char","dest","getPathContributingMatches","getResolveToMatches","v7_relativeSplatPath","pathMatches","idx","resolveTo","toArg","routePathnames","locationPathname","isPathRelative","isEmptyPath","from","routePathnameIndex","toSegments","hasExplicitTrailingSlash","hasCurrentTrailingSlash","paths","_ErrorResponseImpl","statusText","internal","ErrorResponseImpl","isRouteErrorResponse","validMutationMethodsArr","validMutationMethods","validRequestMethodsArr","validRequestMethods","redirectStatusCodes","redirectPreserveMethodStatusCodes","IDLE_NAVIGATION","IDLE_FETCHER","IDLE_BLOCKER","ABSOLUTE_URL_REGEX","defaultMapRouteProperties","TRANSITIONS_STORAGE_KEY","createRouter","init","routerWindow","isBrowser","detectErrorBoundary","dataRoutes","inFlightDataRoutes","future","unlistenHistory","subscribers","savedScrollPositions","getScrollRestorationKey","getScrollPosition","initialScrollRestored","initialMatches","initialErrors","getInternalRouterError","getShortCircuitMatches","initialized","hasLazyRoutes","hasLoaders","errors","router","pendingAction","pendingPreventScrollReset","pendingNavigationController","pendingViewTransitionEnabled","appliedViewTransitions","removePageHideEventListener","isUninterruptedRevalidation","isRevalidationRequired","cancelledDeferredRoutes","cancelledFetcherLoads","fetchControllers","incrementingLoadId","pendingNavigationLoadId","fetchReloadIds","fetchRedirectIds","fetchLoadMatches","activeFetchers","deletedFetchers","activeDeferreds","blockerFunctions","ignoreNextHistoryUpdate","initialize","historyAction","blockerKey","shouldBlockNavigation","updateBlocker","blockers","updateState","startNavigation","restoreAppliedTransitions","_saveAppliedTransitions","persistAppliedTransitions","dispose","deleteFetcher","deleteBlocker","subscribe","newState","opts","completedFetchers","deletedFetchersKeys","fetcher","subscriber","completeNavigation","_temp","_location$state","_location$state2","flushSync","isActionReload","isMutationMethod","actionData","mergeLoaderData","preventScrollReset","viewTransitionOpts","priorPaths","toPaths","getSavedScrollPosition","navigate","normalizedPath","normalizeTo","submission","normalizeNavigateOptions","currentLocation","nextLocation","userReplace","revalidate","interruptActiveLoads","saveScrollPosition","routesToUse","loadingNavigation","notFoundMatches","cancelActiveDeferreds","isHashChangeOnly","request","createClientSideRequest","pendingActionData","pendingError","findNearestBoundary","actionOutput","handleAction","getLoadingNavigation","shortCircuited","handleLoaders","navigation","getSubmittingNavigation","actionMatch","getTargetMatch","callLoaderOrAction","isRedirectResult","startRedirectNavigation","isErrorResult","boundaryMatch","isDeferredResult","overrideNavigation","fetcherSubmission","initialHydration","activeSubmission","getSubmissionFromNavigation","matchesToLoad","revalidatingFetchers","getMatchesToLoad","routeId","updatedFetchers","markFetchRedirectsDone","revalidatingFetcher","getLoadingFetcher","abortFetcher","abortPendingFetchRevalidations","results","loaderResults","fetcherResults","callLoadersAndMaybeResolveData","redirect","findRedirect","fetcherKey","processLoaderData","deferredData","aborted","didAbortFetchLoads","abortStaleFetchLoads","shouldUpdateFetchers","fetch","setFetcherError","handleFetcherAction","handleFetcherLoader","requestMatches","existingFetcher","updateFetcherState","getSubmittingFetcher","fetchRequest","originatingLoadId","actionResult","getDoneFetcher","revalidationRequest","loadId","loadFetcher","staleKey","doneFetcher","resolveDeferredData","_temp2","redirectLocation","isDocumentReload","redirectHistoryAction","formMethod","formAction","formEncType","currentMatches","fetchersToLoad","resolveDeferredResults","getFetcher","deleteFetcherAndUpdateState","count","controller","markFetchersDone","keys","doneKeys","landedId","yeetedKeys","getBlocker","blocker","newBlocker","_ref2","entries","blockerFunction","cancelledRouteIds","dfd","enableScrollRestoration","positions","getPosition","getKey","getScrollKey","_internalSetRoutes","newRoutes","isSubmissionNavigation","prependBasename","fromRouteId","relative","contextualMatches","activeRouteMatch","hasNakedIndexQuery","normalizeFormMethod","isFetcher","isValidMethod","getInvalidBodyError","rawFormMethod","stripHashFromPath","text","acc","_ref3","name","json","searchParams","formData","convertFormDataToSearchParams","convertSearchParamsToFormData","getLoaderMatchesUntilBoundary","boundaryId","boundaryMatches","isInitialLoad","currentUrl","nextUrl","navigationMatches","isNewLoader","currentRouteMatch","nextRouteMatch","shouldRevalidateLoader","isNewRouteInstance","fetcherMatches","fetcherMatch","shouldRevalidate","currentLoaderData","currentMatch","isNew","isMissingData","currentPath","loaderMatch","arg","routeChoice","loadLazyRouteModule","lazyRoute","routeToUpdate","routeUpdates","lazyRouteProperty","isPropertyStaticallyDefined","resultType","onReject","runHandler","handler","abortPromise","handlerError","values","isResponse","isSameBasename","contentType","isDeferredData","_result$init","_result$init2","signal","processRouteLoaderData","statusCode","foundError","loaderHeaders","newLoaderData","mergedLoaderData","_temp5","method","errorMessage","deferred","signals","isRevalidatingLoader","unwrap","_window","transitions","sessionPositions","DataRouterContext","DataRouterStateContext","NavigationContext","LocationContext","RouteContext","RouteErrorContext","useHref","useInRouterContext","UNSAFE_invariant","navigator","useResolvedPath","joinedPathname","useLocation","useMatch","React.useMemo","useIsomorphicLayoutEffect","React.useLayoutEffect","useNavigate","isDataRoute","useNavigateStable","useNavigateUnstable","dataRouterContext","routePathnamesJson","UNSAFE_getResolveToMatches","activeRef","React.useRef","useParams","routeMatch","useRoutes","useRoutesImpl","dataRouterState","parentMatches","parentParams","parentPathnameBase","locationFromContext","_parsedLocationArg$pa","parsedLocationArg","renderedMatches","_renderMatches","DefaultErrorComponent","useRouteError","stack","preStyles","React.Fragment","defaultErrorElement","_RenderErrorBoundary","React.Component","props","errorInfo","RenderErrorBoundary","RenderedRoute","routeContext","_dataRouterState2","_dataRouterState","errorIndex","renderFallback","fallbackIndex","needsToRunLoader","outlet","shouldRenderHydrateFallback","errorElement","hydrateFallbackElement","getChildren","DataRouterHook","DataRouterStateHook","useDataRouterContext","hookName","ctx","useDataRouterState","useRouteContext","useCurrentRouteId","thisRoute","_state$errors","blockerId","useBlocker","shouldBlock","setBlockerKey","Navigate","_ref4","isStatic","jsonPath","Route","_props","Router","_ref5","basenameProp","locationProp","navigationType","staticProp","navigationContext","locationContext","trailingPathname","Routes","_ref6","createRoutesFromChildren","React.Children","element","React.isValidElement","updates","_objectWithoutPropertiesLoose","excluded","sourceKeys","isModifiedEvent","shouldProcessLinkClick","_excluded","REACT_ROUTER_VERSION","createHashRouter","parseHydrationData","UNSAFE_mapRouteProperties","deserializeErrors","serialized","UNSAFE_ErrorResponseImpl","ErrorConstructor","ViewTransitionContext","FetchersContext","START_TRANSITION","startTransitionImpl","React","FLUSH_SYNC","flushSyncImpl","ReactDOM","startTransitionSafe","flushSyncSafe","_Deferred","reason","Deferred","RouterProvider","fallbackElement","setStateImpl","pendingState","setPendingState","vtContext","setVtContext","renderDfd","setRenderDfd","transition","setTransition","interruption","setInterruption","fetcherData","v7_startTransition","optInStartTransition","setState","isViewTransitionUnavailable","renderPromise","UNSAFE_DataRouterContext","UNSAFE_DataRouterStateContext","DataRoutes","UNSAFE_useRoutesImpl","Link","React.forwardRef","_ref7","ref","onClick","reloadDocument","unstable_viewTransition","UNSAFE_NavigationContext","absoluteHref","isExternal","targetUrl","internalOnClick","useLinkClickHandler","handleClick","replaceProp","RA_STORE","testLocalStorage","localStorageAvailable","localStorageStore","version","appKey","prefix","prefixLength","subscriptions","publish","onLocalStorageChange","tryParse","storedVersion","getStorage","storage","defaultValue","valueFromStorage","keyPrefix","publishKey","_LocalStorageShim","LocalStorageShim","memoryStorage","freeGlobal","global","_freeGlobal","freeSelf","root","_root","Symbol","_Symbol","objectProto","hasOwnProperty","nativeObjectToString","symToStringTag","getRawTag","isOwn","tag","unmasked","_getRawTag","objectToString","_objectToString","require$$2","nullTag","undefinedTag","baseGetTag","_baseGetTag","isObject","isObject_1","asyncTag","funcTag","genTag","proxyTag","isFunction","isFunction_1","coreJsData","_coreJsData","maskSrcKey","uid","isMasked","func","_isMasked","funcProto","funcToString","toSource","_toSource","require$$3","reRegExpChar","reIsHostCtor","reIsNative","baseIsNative","_baseIsNative","getValue","_getValue","getNative","_getNative","defineProperty","_defineProperty","baseAssignValue","_baseAssignValue","eq","other","eq_1","assignValue","objValue","_assignValue","isArray","isArray_1","isObjectLike","isObjectLike_1","symbolTag","isSymbol","isSymbol_1","reIsDeepProp","reIsPlainProp","isKey","_isKey","nativeCreate","_nativeCreate","hashClear","_hashClear","hashDelete","_hashDelete","HASH_UNDEFINED","hashGet","_hashGet","hashHas","_hashHas","hashSet","_hashSet","require$$4","Hash","length","entry","_Hash","listCacheClear","_listCacheClear","assocIndexOf","_assocIndexOf","arrayProto","splice","listCacheDelete","_listCacheDelete","listCacheGet","_listCacheGet","listCacheHas","_listCacheHas","listCacheSet","_listCacheSet","ListCache","_ListCache","Map","_Map","mapCacheClear","_mapCacheClear","isKeyable","_isKeyable","getMapData","map","_getMapData","mapCacheDelete","_mapCacheDelete","mapCacheGet","_mapCacheGet","mapCacheHas","_mapCacheHas","mapCacheSet","size","_mapCacheSet","MapCache","_MapCache","FUNC_ERROR_TEXT","memoize","resolver","memoized","cache","memoize_1","MAX_MEMOIZE_SIZE","memoizeCapped","_memoizeCapped","rePropName","reEscapeChar","stringToPath","string","number","quote","subString","_stringToPath","arrayMap","iteratee","_arrayMap","INFINITY","symbolProto","symbolToString","baseToString","_baseToString","toString","toString_1","castPath","_castPath","MAX_SAFE_INTEGER","reIsUint","isIndex","_isIndex","toKey","_toKey","baseSet","customizer","nested","newValue","_baseSet","set","set_1","last","last_1","baseGet","_baseGet","baseSlice","start","_baseSlice","parent","_parent","baseUnset","_baseUnset","unset","unset_1","get","get_1","memoryStore","flatStorage","flatten","doFlatten","prop","isEmpty","defaultStore","StoreContext","StoreContextProvider","Store","useEffect","useStoreContext","stackClear","_stackClear","stackDelete","_stackDelete","stackGet","_stackGet","stackHas","_stackHas","LARGE_ARRAY_SIZE","stackSet","pairs","_stackSet","require$$5","Stack","_Stack","setCacheAdd","_setCacheAdd","setCacheHas","_setCacheHas","SetCache","_SetCache","arraySome","_arraySome","cacheHas","_cacheHas","COMPARE_PARTIAL_FLAG","COMPARE_UNORDERED_FLAG","equalArrays","bitmask","equalFunc","isPartial","arrLength","othLength","arrStacked","othStacked","seen","arrValue","othValue","compared","othIndex","_equalArrays","Uint8Array","_Uint8Array","mapToArray","_mapToArray","setToArray","_setToArray","boolTag","dateTag","errorTag","mapTag","numberTag","regexpTag","setTag","stringTag","arrayBufferTag","dataViewTag","symbolValueOf","equalByTag","convert","stacked","_equalByTag","arrayPush","offset","_arrayPush","baseGetAllKeys","keysFunc","symbolsFunc","_baseGetAllKeys","arrayFilter","resIndex","_arrayFilter","stubArray","stubArray_1","propertyIsEnumerable","nativeGetSymbols","getSymbols","symbol","_getSymbols","baseTimes","_baseTimes","argsTag","baseIsArguments","_baseIsArguments","isArguments","isArguments_1","stubFalse","stubFalse_1","freeExports","freeModule","module","moduleExports","Buffer","nativeIsBuffer","isBuffer","isLength","isLength_1","arrayTag","objectTag","weakMapTag","float32Tag","float64Tag","int8Tag","int16Tag","int32Tag","uint8Tag","uint8ClampedTag","uint16Tag","uint32Tag","typedArrayTags","baseIsTypedArray","_baseIsTypedArray","baseUnary","_baseUnary","freeProcess","nodeUtil","types","nodeIsTypedArray","isTypedArray","isTypedArray_1","arrayLikeKeys","inherited","isArr","isArg","isBuff","isType","skipIndexes","_arrayLikeKeys","isPrototype","Ctor","proto","_isPrototype","overArg","transform","_overArg","nativeKeys","_nativeKeys","baseKeys","_baseKeys","isArrayLike","isArrayLike_1","keys_1","getAllKeys","_getAllKeys","equalObjects","objProps","objLength","othProps","objStacked","skipCtor","objCtor","othCtor","_equalObjects","DataView","_DataView","Promise","_Promise","Set","_Set","WeakMap","_WeakMap","require$$6","promiseTag","dataViewCtorString","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","getTag","ctorString","_getTag","require$$7","baseIsEqualDeep","objIsArr","othIsArr","objTag","othTag","objIsObj","othIsObj","isSameTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","_baseIsEqualDeep","baseIsEqual","_baseIsEqual","isEqual","isEqual_1","substituteTokens","template","defaultTokenRegex","expression","argument","defaultI18nProvider","I18nContext","AddNotificationContext","NotificationContext","NotificationContextProvider","notifications","setNotifications","useState","addNotification","useCallback","notification","takeNotification","resetNotifications","contextValue","useMemo","jsx","useAddNotificationContext","useNotificationContext","useNotify","messageType","notificationOptions","I18nContextProvider","defaulti18nContext","locale","useStore","notify","setKey","isInitialized","setInitialized","assignMergeValue","_assignMergeValue","createBaseFor","fromRight","iterable","_createBaseFor","baseFor","_baseFor","allocUnsafe","cloneBuffer","buffer","isDeep","cloneArrayBuffer","arrayBuffer","_cloneArrayBuffer","cloneTypedArray","typedArray","_cloneTypedArray","copyArray","_copyArray","objectCreate","baseCreate","_baseCreate","getPrototype","_getPrototype","initCloneObject","_initCloneObject","isArrayLikeObject","isArrayLikeObject_1","objectCtorString","isPlainObject_1","safeGet","_safeGet","copyObject","_copyObject","nativeKeysIn","_nativeKeysIn","baseKeysIn","isProto","_baseKeysIn","keysIn","keysIn_1","toPlainObject","toPlainObject_1","require$$8","require$$9","require$$10","require$$11","require$$12","require$$13","require$$14","baseMergeDeep","srcIndex","mergeFunc","srcValue","isCommon","isTyped","_baseMergeDeep","baseMerge","_baseMerge","identity","identity_1","apply","thisArg","_apply","nativeMax","overRest","otherArgs","_overRest","constant","constant_1","baseSetToString","_baseSetToString","HOT_COUNT","HOT_SPAN","nativeNow","shortOut","lastCalled","stamp","remaining","_shortOut","setToString","_setToString","baseRest","_baseRest","isIterateeCall","_isIterateeCall","createAssigner","assigner","sources","guard","_createAssigner","merge","merge_1","useI18nProvider","useLocaleState","i18nProvider","defaultLocale","useLocale","useLocales","locales","arrayEach","_arrayEach","baseAssign","_baseAssign","baseAssignIn","_baseAssignIn","copySymbols","_copySymbols","getSymbolsIn","_getSymbolsIn","copySymbolsIn","_copySymbolsIn","getAllKeysIn","_getAllKeysIn","initCloneArray","_initCloneArray","cloneDataView","dataView","_cloneDataView","reFlags","cloneRegExp","regexp","_cloneRegExp","cloneSymbol","_cloneSymbol","initCloneByTag","_initCloneByTag","baseIsMap","_baseIsMap","nodeIsMap","isMap","isMap_1","baseIsSet","_baseIsSet","nodeIsSet","isSet","isSet_1","require$$15","require$$16","require$$17","require$$18","require$$19","require$$20","require$$21","CLONE_DEEP_FLAG","CLONE_FLAT_FLAG","CLONE_SYMBOLS_FLAG","cloneableTags","baseClone","isFlat","isFull","isFunc","subValue","_baseClone","cloneDeep","cloneDeep_1","useTranslate","translate","BasenameContext","BasenameContextProvider","AdminRouter","isInRouter","DummyRouter","InternalRouter","Fragment","now","now_1","reWhitespace","trimmedEndIndex","_trimmedEndIndex","reTrimStart","baseTrim","_baseTrim","NAN","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","toNumber","isBinary","toNumber_1","nativeMin","debounce","wait","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","invokeFunc","time","leadingEdge","timerExpired","remainingWait","timeSinceLastCall","timeSinceLastInvoke","timeWaiting","shouldInvoke","trailingEdge","debounced","isInvoking","debounce_1","useRestoreScrollPosition","storeKey","debounceMs","position","setPosition","useTrackScrollPosition","handleScroll","RestoreScrollPosition","useBasename","useCreatePath","resource","removeDoubleSlashes","useRedirect","redirectTo","absoluteTarget","useResetErrorBoundaryOnLocationChange","resetErrorBoundary","originalPathname","useRef","useScrollToTop","GET_LIST","GET_ONE","GET_MANY","GET_MANY_REFERENCE","CREATE","UPDATE","UPDATE_MANY","DELETE","DELETE_MANY","fetchActionsWithArrayOfIdentifiedRecordsResponse","fetchActionsWithArrayOfRecordsResponse","defaultDataProvider","fetchMap","convertLegacyDataProvider","legacyDataProvider","fetchType","__","DataProviderContext","_HttpError","body","HttpError","strictUriEncode","str","token","singleMatcher","multiMatcher","decodeComponents","components","split","left","right","decode","tokens","customDecodeURIComponent","replaceMap","decodeUriComponent","encodedURI","splitOnFirst","separator","separatorIndex","filterObj","obj","ret","decodeComponent","filterObject","isNullOrUndefined","encodeFragmentIdentifier","encoderForArrayFormat","encode","keyValueSep","parserForArrayFormat","accumulator","isEncodedArray","arrayValue","validateArrayFormatSeparator","keysSorter","removeHash","hashStart","getHash","extract","queryStart","parseValue","parse","formatter","shouldFilter","objectCopy","url_","queryFromUrl","parsedQueryFromUrl","queryString","filter","fragmentIdentifier","exclusionFilter","isValidObject","hasKeys","flattenObject","has","Events","EE","once","addListener","emitter","evt","clearEvent","EventEmitter","names","events","handlers","listeners","a1","a2","a3","a4","a5","len","j","undoableEventEmitter","withLifecycleCallbacks","dataProvider","newParams","applyCallbacks","record","records","handlersToApply","callbacksValue","timer","useLogoutIfAccessDenied","authProvider","logout","useLogout","logoutUser","getErrorMessage","logoutIfAccessDeniedWithoutProvider","defaultMessage","arrayReturnTypes","useDataProvider","logoutIfAccessDenied","response","loggedOut","useLoading","mountedRef","isFetchingRef","isMutatingRef","setIsLoading","unsubscribeQueryCache","unsubscribeMutationCache","useRefresh","useGetOne","onSuccess","onSettled","queryOptions","onSuccessEvent","useEvent","onErrorEvent","onSettledEvent","queryParams","MAX_DATA_LENGTH_TO_CACHE","useGetList","pagination","sort","total","pageInfo","metaValue","resourceValue","oldRecord","useGetMany","ids","spreadableSymbol","isFlattenable","_isFlattenable","baseFlatten","depth","isStrict","_baseFlatten","baseFindIndex","fromIndex","_baseFindIndex","baseIsNaN","_baseIsNaN","strictIndexOf","_strictIndexOf","baseIndexOf","_baseIndexOf","arrayIncludes","_arrayIncludes","arrayIncludesWith","comparator","_arrayIncludesWith","noop_1","createSet","_createSet","baseUniq","includes","outer","computed","seenIndex","_baseUniq","union","arrays","union_1","useGetManyAggregate","callGetManyQueries","capturedArgs","calls","callsByResource","callArgs","callsForResource","aggregatedIds","uniqueMeta","callThatHasAllAggregatedIds","useGetManyReference","is","shallowEqual","objA","objB","keysA","keysB","removeEmpty","child","removeKey","deepRemoveKey","deepKey","deep","SET_SORT","SORT_ASC","SORT_DESC","SET_PAGE","SET_PER_PAGE","SET_FILTER","SHOW_FILTER","HIDE_FILTER","oppositeOrder","queryReducer","previousState","sortReducer","order","defaultSort","useSortState","initialSort","dispatch","useReducer","isFirstRender","paginationReducer","prevState","nextState","defaultPagination","usePaginationState","initialPagination","setPagination","setPerPage","perPage","setPage","useCheckMinimumRequiredProps","displayName","requiredProps","propNames","missingProps","useDeleteWithUndoController","mutationOptions","mutationMeta","otherMutationOptions","useResourceContext","unselect","useUnselect","deleteOne","useDelete","handleDelete","useDeleteWithConfirmController","mutationMode","open","setOpen","handleDialogOpen","handleDialogClose","SaveContext","SaveContextProvider","basePickBy","_basePickBy","baseHasIn","_baseHasIn","hasPath","hasFunc","_hasPath","hasIn","hasIn_1","basePick","_basePick","flatten_1","flatRest","_flatRest","pick","pick_1","usePickSaveContext","useSaveContext","useMutationMiddlewares","callbacks","registerMutationMiddleware","unregisterMutationMiddleware","getMutateWithMiddlewares","currentCallbacks","next","newArgs","useCreateController","disableAuthentication","useAuthenticated","hasEdit","hasShow","useResourceDefinition","finalRedirectTo","getDefaultRedirectRoute","recordToUse","getRecordFromLocation","create","saving","useCreate","validationErrors","save","transformFromSave","metaFromSave","callTimeOptions","getResourceLabel","useGetResourceLabel","defaultTitle","RecordContext","RecordContextProvider","CreateContext","CreateContextProvider","CreateBase","controllerProps","ResourceContextProvider","useCreateContext","useEditController","propsId","DefaultRedirect","getRecordRepresentation","useGetRecordRepresentation","refresh","queryMeta","otherQueryOptions","refetch","recordRepresentation","recordCached","update","useUpdate","onSuccessFromSave","onErrorFromSave","useRecordContext","OptionalRecordContextProvider","RecordRepresentation","EditContext","EditContextProvider","EditBase","useEditContext","ReferenceFieldContext","ReferenceFieldContextProvider","useReferenceFieldContext","useReference","reference","useReferenceFieldController","link","useFieldValue","referenceRecordQuery","resourceDefinition","ReferenceFieldBase","eol","helper","getType","arr","num","bool","date","EOL","joinRows","rows","join","_typeof","_createClass","defineProperties","descriptor","Constructor","protoProps","staticProps","_classCallCheck","instance","Handler","self","isInstanceOfTypeName","resultArray","resultObject","propData","resultCheckType","firstElementWithoutItem","aIndex","firstResult","boolean","globalScope","typeName","escapeDelimiters","textDelimiter","rowDelimiter","forceTextDelimiter","endOfLine","textDelimiterRegex","escapedDelimiter","enclosingCondition","Parser","done","stream","lastRow","finalRows","fillGaps","col","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","_step","row","missing","fileRows","fillRows","getHeaderIndex","header","fillAndPush","newRow","emptyRowIndexByHeader","currentRow","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_iterator2","_step2","elementHeaderIndex","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_iterator3","_step3","itemResult","parseResult","horizontalRows","_this","headers","csv","Stream","_Transform","dist","DEFAULT_OPTIONS","userOptions","_arguments","any","_arguments2","_arguments3","_any","defaultKeys","objectKeys","isOptions","parser","downloadCSV","filename","fakeLink","blob","defaultExporter","jsonExport","getRelatedIds","fetchRelatedRecords","post","useRecordSelection","disableSyncWithStore","localIds","setLocalIds","defaultSelection","storeIds","setStoreIds","resetStore","useRemoveFromStore","setIds","reset","selectionModifiers","idsToAdd","idsToRemove","baseIsMatch","matchData","noCustomizer","_baseIsMatch","isStrictComparable","_isStrictComparable","getMatchData","_getMatchData","matchesStrictComparable","_matchesStrictComparable","baseMatches","_baseMatches","baseMatchesProperty","_baseMatchesProperty","baseProperty","_baseProperty","basePropertyDeep","_basePropertyDeep","property","property_1","baseIteratee","_baseIteratee","pickBy","pickBy_1","useSafeSetState","initialState","safeSetState","usePrevious","useTimeout","ready","setReady","useIsMounted","isMounted","useListParams","disableSyncWithLocation","filterDefaultValues","localParams","setLocalParams","defaultParams","setParams","tempParams","requestSignature","queryFromLocation","parseQueryFromLocation","getQuery","changeParams","stringify","setSort","newPage","newPerPage","filterValues","emptyObject","displayedFilterValues","debouncedSetFilters","lodashDebounce","displayedFilters","setFilters","hideFilter","filterName","showFilter","validQueryParams","parseObject","hasCustomParams","getNumberOrDefault","possibleNumber","parsedNumber","ListContext","ListFilterContext","usePickFilterContext","ListSortContext","usePickSortContext","ListPaginationContext","usePickPaginationContext","ListContextProvider","useListController","exporter","isValidElement","queryModifiers","selectedIds","previousData","totalPages","currentSort","injectedProps","sanitizeListRestProps","propName","ListBase","useExpanded","single","expandedIds","setExpandedIds","expanded","toggleExpanded","useExpandAll","isExpanded","id2","toggleExpandedAll","unaffectedExpandedIds","expanded_id","useList","defaultFilter","initialPage","initialPerPage","filterCallback","fetchingState","setFetchingState","loadingState","setLoadingState","finalItems","setFinalItems","setSortState","filterRef","setDisplayedFilters","setFilterValues","tempData","flattenFilterValues","filterValue","recordValue","filteredLength","useListContext","propsIndex","propsLength","defaults_1","useListContextWithProps","extractListContextProps","hasCreate","onSelect","onToggleItem","onUnselectItems","useListFilterContext","useListPaginationContext","useListSortContext","emptyArray","useReferenceArrayFieldController","useReferenceManyFieldController","isCheckBoxInput","isDateObject","isObjectType","getEventValue","getNodeParentName","isNameInFieldArray","tempObject","prototypeCopy","isWeb","cloneObject","compact","isUndefined","isBoolean","tempPath","EVENTS","VALIDATION_MODE","INPUT_VALIDATION_RULES","HookFormContext","useFormContext","FormProvider","getProxyFormState","formState","control","localProxyFormState","isRoot","_key","isEmptyObject","shouldRenderFormState","formStateData","_proxyFormState","updateFormState","convertToArrayPayload","shouldSubscribeByName","signalName","currentName","useSubscribe","subscription","useFormState","methods","disabled","_mounted","_localProxyFormState","_name","isString","generateWatchOutput","_names","formValues","isGlobal","fieldName","useWatch","updateValue","useController","shouldUnregister","isArrayField","_registerProps","_shouldUnregisterField","updateMounted","elm","appendErrors","validateAllFieldCriteria","getValidationModes","mode","isWatched","isBlurEvent","watchName","iterateFieldsByAction","fields","fieldsNames","abortEarly","currentField","updateFieldArrayRootError","fieldArrayErrors","isFileInput","isHTMLElement","owner","isMessage","isRadioInput","isRegex","defaultResult","validResult","getCheckboxValue","option","defaultReturn","getRadioValue","getValidateError","getValueAndMessage","validationData","validateField","shouldUseNativeValidation","isFieldArray","refs","maxLength","minLength","min","validate","valueAsNumber","mount","inputValue","inputRef","setCustomValidity","isRadio","isCheckBox","isRadioOrCheckbox","appendErrorsCurry","getMinMaxMessage","exceedMax","maxLengthMessage","minLengthMessage","maxType","minType","exceedMin","maxOutput","minOutput","valueNumber","valueDate","convertTimeToDate","isTime","isWeek","maxLengthOutput","minLengthOutput","patternValue","validateError","validationResult","updatePath","isEmptyArray","childObject","createSubject","isPrimitive","deepEqual","object1","object2","keys1","keys2","val1","val2","isMultipleSelect","live","objectHasFunction","markFieldsDirty","isParentNodeArray","getDirtyFieldsFromDefaultValues","dirtyFieldsFromValues","getDirtyFields","defaultValues","getFieldValueAs","valueAsDate","setValueAs","getFieldValue","getResolverOptions","_fields","criteriaMode","getRuleValue","rule","hasValidation","schemaErrorLookup","skipValidation","isTouched","isSubmitted","reValidateMode","unsetEmptyArray","defaultOptions","createFormControl","_options","_formState","_defaultValues","_formValues","_state","delayErrorCallback","_subjects","validationModeBeforeSubmit","validationModeAfterSubmit","shouldDisplayAllAssociatedErrors","_updateValid","shouldUpdateValid","isValid","_executeSchema","executeBuiltInValidation","_updateIsValidating","isValidating","_updateFieldArray","shouldSetValues","shouldUpdateFieldsAndState","fieldValues","touchedFields","_getDirty","updateErrors","_setErrors","updateValidAndValue","shouldSkipSetValueAs","setFieldValue","updateTouchAndDirty","fieldValue","shouldDirty","shouldRender","shouldUpdateField","isPreviousDirty","output","disabledField","isCurrentFieldPristine","isPreviousFieldTouched","shouldRenderByError","fieldState","previousFieldError","updatedFormState","executeSchemaAndUpdateState","shouldOnlyCheckValid","isFieldArrayRoot","fieldError","_removeUnmounted","unregister","getValues","_getWatch","_getFieldArray","fieldReference","optionRef","checkboxRef","radioRef","trigger","setValues","fieldKey","setValue","cloneValue","onChange","isFieldValueUpdated","getCurrentFieldValue","_updateIsFieldValueUpdated","shouldSkipValidation","watched","previousErrorLookupResult","errorLookupResult","_focusInput","fieldNames","getFieldState","clearErrors","inputName","setError","currentError","currentRef","restOfErrorTree","watch","payload","_updateDisabledField","register","disabledIsDefined","fieldRef","radioOrCheckbox","_focusError","_disableForm","handleSubmit","onValid","onInvalid","onValidError","resetField","_reset","keepStateOptions","updatedValues","cloneUpdatedValues","isEmptyResetValues","form","useForm","_formControl","_values","isDirty","useReferenceParams","newTempParams","useReferenceInputController","enableGetChoices","paramsModifiers","finalSource","useWrappedSource","currentValue","isGetMatchingEnabled","possibleValuesData","isFetchingPossibleValues","isLoadingPossibleValues","isPendingPossibleValues","errorPossibleValues","refetchGetList","currentReferenceRecord","refetchReference","errorReference","isLoadingReference","isFetchingReference","isPendingReference","referenceRecord","setReferenceRecord","finalData","finalTotal","FormGroupsContext","ValidationErrorSpecialFormatPrefix","ValidationError","getSimpleValidationResolver","transformedErrors","transformErrorFields","arrayHasErrors","transformedArrayErrors","isRaTranslationObj","addTypeAndMessage","ChoicesContext","ChoicesContextProvider","useChoicesContext","list","FormGroupsProvider","formGroups","formContextValue","group","useWarnWhenUnsavedChanges","enable","formRootPathname","isSubmitSuccessful","dirtyFields","shouldNotify","setShouldNotify","shouldNotBlock","initialLocation","newLocationIsInsideCurrentLocation","newLocationIsShowView","beforeunload","WarnWhenUnsavedChanges","formRootPathName","formControl","getFormInitialValues","setSubmissionErrors","setErrorFromObject","rootPath","useNotifyIsFormInvalid","enabled","submitCount","submitCountRef","serverError","sanitizeEmptyValues","sanitizedValues","useAugmentedForm","onSubmit","disableInvalidFormNotification","saveContext","defaultValuesIncludingRecord","finalResolver","formRef","finalValues","sanitizeValues","formHandleSubmit","Form","className","noValidate","warnWhenUnsavedChanges","WarnWhenUnsavedChangesComponent","sourceContext","dataRouterStateContext","SourceContextProvider","EMAIL_REGEX","isValidationErrorMessageWithArgs","getMessage","messageArgs","lodashMemoize","combine2Validators","validator1","validator2","result1","resolvedResult1","composeValidators","validators","regex","email","oneOfTypeMessage","FormGroupContext","useFormGroups","useApplyInputDefaultValues","inputProps","isArrayInput","fieldArrayInputControl","formValue","pathPart","numericRegex","useChoices","optionText","optionValue","disableValue","translateChoice","getChoiceText","choice","choiceName","getChoiceValue","getDisableValue","useFormGroupContext","isRequired","it","defaultFormat","defaultParse","useInput","format","isRequiredOption","initialOnBlur","initialOnChange","parseProp","finalName","formGroupName","defaultId","useId","sanitizedValidate","controllerField","onBlur","eventOrValue","useSuggestions","allowCreate","choices","createText","limitChoicesToValue","matchSuggestion","selectedItem","suggestionLimit","getSuggestions","getSuggestionsFactory","escapeRegExp","defaultMatchSuggestion","suggestion","suggestionText","isReactElement","suggestions","selected","limitSuggestions","hasExactMatch","filterIsSelectedItem","getSuggestion","limit","ReferenceInputBase","useShowController","ShowContext","ShowContextProvider","ShowBase","useShowContext","paramsRef","hasCallTimeOnError","hasCallTimeOnSuccess","hasCallTimeOnSettled","callTimeResource","callTimeData","callTimeMeta","callTimeParams","returnPromise","otherCallTimeOptions","mutationResult","snapshot","mutateWithMiddlewares","callTimeOnError","callTimeOnSettled","updateCache","updateColl","old","res","coll","callTimeId","callTimePreviousData","userContext","previousRecord","queryKeys","prev","isUndo","newCollection","useDeleteMany","callTimeIds","PreferencesEditorContext","PreferencesEditorContextProvider","isEnabled","setIsEnabled","editor","setEditor","preferenceKey","setPreferenceKey","setPath","title","setTitleString","titleOptions","setTitleOptions","disable","setTitle","ResourceDefinitionContext","ResourceDefinitionContextProvider","defaultDefinitions","definitions","CoreAdminContext","store","finalQueryClient","finalAuthProvider","convertLegacyAuthProvider","finalDataProvider","ErrorBoundaryContext","_ErrorBoundary","Component","_this$props$onReset","_this$props","_len","info","_this$props$onError","_this$props2","prevProps","didCatch","resetKeys","hasArrayChanged","_this$props$onReset2","_this$props3","fallbackRender","FallbackComponent","fallback","childToRender","createElement","ErrorBoundary","useResourceDefinitionContext","useConfigureAdminRouterFromChildren","permissions","usePermissions","routesAndResources","useRoutesAndResourcesFromChildren","useRegisterResources","doLogout","setRoutesAndResources","mergeRoutesAndResources","useRoutesAndResourcesState","getRoutesAndResourceFromNodes","setStatus","getStatus","resolveChildFunction","childFunc","childrenFuncResult","resolvedChildren","functionChild","getSingleChildFunction","newRoutesAndResources","resources","definition","customRoutesWithLayout","customRoutesWithoutLayout","functionChildren","Children","customRoutesFromFragment","customRoutesElement","HasDashboardContext","HasDashboardContextProvider","useHasDashboard","CoreAdminRoutes","Layout","CatchAll","dashboard","LoadingPage","requireAuth","Ready","onlyAnonymousRoutes","setOnlyAnonymousRoutes","checkAuthLoading","setCheckAuthLoading","checkAuth","useCheckAuth","LogoutOnMount","jsxs","WithPermissions","DefaultTitleContext","DefaultTitleContextProvider","useDefaultTitle","DefaultLayout","DefaultError","CoreAdminUI","setErrorInfo","LoginCallbackPage","catchAll","Noop","disableTelemetry","ErrorComponent","layout","loading","LoginPage","img","handleError","createOrGetElement","ResourceContext","OptionalResourceContextProvider","reactIs_production_min","reactIsModule","Resource","edit","show","getElement","ElementOrComponent","isValidElementType","Element","icon","SourceContext","defaultContextValue","useSourceContext","useOptionalSourceContext","useResourceDefinitions","inflection","transform_1","capitalize_1","humanize_1","inflect_1","singularize_1","pluralize_1","uncountableWords","pluralRules","singularRules","nonTitlecasedWords","idSuffix","underbar","spaceOrUnderbar","uppercase","underbarPrefix","applyRules","rules","skip","override","pluralize","plural","singularize","singular","inflect","camelize","lowFirstLetter","strPath","strArr","underscore","allUpperCase","humanize","capitalize","dasherize","titleize","demodulize","tableize","classify","foreignKey","dropIdUbar","ordinalize","ltd","suf","transformFunctions","methodFn","resourceDefinitions","hasList","useTranslateLabel","resourceFromContext","label","getFieldLabelTranslationArgs","FieldTitle","translateLabel","condition","defaultLabel","sourceWithoutDigits","sourceSuffix","getSourceParts","defaultLabelTranslation","getResourceFieldLabelKey","parts","lastPartWithDigits","part","onlyDigits","useLayoutEffect","useCheckForApplicationUpdate","ONE_HOUR","onNewVersionAvailableProp","currentHash","onNewVersionAvailable","getHashForUrl","interval","seed","h1","h2","getItem","setItem","storedValue","valueParam","runtimeDefaultValue","hookTimeKey","removeItem","useRemoveItemsFromStore","hookTimeKeyPrefix","removeItems","useResetStore","navigateRef","locationRef","loginUrl","redirectToCurrentLocationAfterLogin","redirectToFromProvider","redirectToParts","newLocation","newLocationOptions","emptyParams","useAuthState","logoutOnFailure","isEmptyChildren","authParams","render","component","staticContext","useLogin","locationState","nextPathName","nextSearch","afterLoginUrl","pathName","redirectUrl","AUTH_LOGIN","AUTH_CHECK","AUTH_ERROR","AUTH_LOGOUT","AUTH_GET_PERMISSIONS","legacyAuthProvider","checkAuthWithoutAuthProvider","defaultIdentity","defaultQueryParams","useGetIdentity","useHandleAuthCallback","defaultRedirectUrl","queryResult","previousLocation","PreviousLocationStorageKey","PreferenceKeyContext","PreferenceKeyContextProvider","usePreferenceKey","usePreference","usePreferencesEditor","usePreferenceInput","valueFromStore","setValueFromStore","useSetInspectorTitle","preferencesEditorContext","getValuesFromRecords","_InferredElement","InferredElement","toDate","argStr","constructFrom","addDays","amount","_date","addMonths","dayOfMonth","endOfDesiredMonth","daysInMonth","add","duration","years","months","weeks","days","hours","minutes","seconds","dateWithMonths","dateWithDays","minutesToAdd","msToAdd","millisecondsInWeek","millisecondsInDay","millisecondsInMinute","millisecondsInHour","millisecondsInSecond","minutesInMonth","minutesInDay","getDefaultOptions","startOfWeek","weekStartsOn","day","diff","startOfISOWeek","getISOWeekYear","year","fourthOfJanuaryOfNextYear","startOfNextYear","fourthOfJanuaryOfThisYear","startOfThisYear","startOfDay","getTimezoneOffsetInMilliseconds","utcDate","differenceInCalendarDays","dateLeft","dateRight","startOfDayLeft","startOfDayRight","timestampLeft","timestampRight","startOfISOWeekYear","fourthOfJanuary","compareAsc","_dateLeft","_dateRight","isDate","differenceInCalendarMonths","yearDiff","monthDiff","getRoundingMethod","differenceInMilliseconds","endOfDay","endOfMonth","month","isLastDayOfMonth","differenceInMonths","sign","difference","isLastMonthNotFull","differenceInSeconds","startOfMonth","startOfYear","cleanDate","endOfYesterday","formatDistanceLocale","formatDistance","tokenValue","buildFormatLongFn","width","dateFormats","timeFormats","dateTimeFormats","formatLong","formatRelativeLocale","formatRelative","_baseDate","buildLocalizeFn","valuesArray","defaultWidth","eraValues","quarterValues","monthValues","dayValues","dayPeriodValues","formattingDayPeriodValues","ordinalNumber","dirtyNumber","rem100","localize","quarter","buildMatchFn","matchPattern","matchResult","matchedString","parsePatterns","findIndex","findKey","buildMatchPatternFn","matchOrdinalNumberPattern","parseOrdinalNumberPattern","matchEraPatterns","parseEraPatterns","matchQuarterPatterns","parseQuarterPatterns","matchMonthPatterns","parseMonthPatterns","matchDayPatterns","parseDayPatterns","matchDayPeriodPatterns","parseDayPeriodPatterns","enUS","getDayOfYear","getISOWeek","getWeekYear","firstWeekContainsDate","firstWeekOfNextYear","firstWeekOfThisYear","startOfWeekYear","firstWeek","getWeek","addLeadingZeros","targetLength","lightFormatters","signedYear","dayPeriodEnumValue","numberOfDigits","milliseconds","fractionalSeconds","dayPeriodEnum","formatters","era","signedWeekYear","weekYear","twoDigitYear","isoWeekYear","week","isoWeek","dayOfYear","dayOfWeek","localDayOfWeek","isoDayOfWeek","_localize","timezoneOffset","formatTimezoneWithOptionalMinutes","formatTimezone","formatTimezoneShort","timestamp","delimiter","absOffset","dateLongFormatter","timeLongFormatter","dateTimeLongFormatter","datePattern","timePattern","dateTimeFormat","longFormatters","dayOfYearTokenRE","weekYearTokenRE","throwTokens","isProtectedDayOfYearToken","isProtectedWeekYearToken","warnOrThrowProtectedError","_message","subject","formattingTokensRegExp","longFormattingTokensRegExp","escapedStringRegExp","doubleQuoteRegExp","unescapedLatinCharacterRegExp","formatStr","originalDate","substring","firstCharacter","longFormatter","cleanEscapedString","formatterOptions","matched","baseDate","minutesInAlmostTwoDays","comparison","localizeOptions","offsetInSeconds","nearestMonth","monthsSinceStartOfYear","getInternalDefaultOptions","getISODay","isAfter","dateToCompare","_dateToCompare","transpose","fromDate","constructor","TIMEZONE_UNIT_PRIORITY","_Setter","__publicField","_utcDate","Setter","_ValueSetter","validateValue","priority","subPriority","flags","ValueSetter","_DateToSystemTimezoneSetter","DateToSystemTimezoneSetter","_Parser","dateString","_value","_EraParser","EraParser","numericPatterns","timezonePatterns","mapValue","parseFnResult","mapFn","parseNumericPattern","parseTimezonePattern","parseAnyDigitsSigned","parseNDigits","parseNDigitsSigned","dayPeriodEnumToHours","dayPeriod","normalizeTwoDigitYear","currentYear","isCommonEra","absCurrentYear","rangeEnd","rangeEndCentury","isPreviousCentury","isLeapYearIndex","_YearParser","valueCallback","normalizedTwoDigitYear","YearParser","_LocalWeekYearParser","LocalWeekYearParser","_ISOWeekYearParser","_flags","firstWeekOfYear","ISOWeekYearParser","_ExtendedYearParser","ExtendedYearParser","_QuarterParser","QuarterParser","_StandAloneQuarterParser","StandAloneQuarterParser","_MonthParser","MonthParser","_StandAloneMonthParser","StandAloneMonthParser","setWeek","_LocalWeekParser","LocalWeekParser","setISOWeek","_ISOWeekParser","ISOWeekParser","DAYS_IN_MONTH","DAYS_IN_MONTH_LEAP_YEAR","_DateParser","isLeapYear","DateParser","_DayOfYearParser","DayOfYearParser","setDay","currentDay","dayIndex","_DayParser","DayParser","_LocalDayParser","wholeWeekDays","LocalDayParser","_StandAloneLocalDayParser","StandAloneLocalDayParser","setISODay","_ISODayParser","ISODayParser","_AMPMParser","AMPMParser","_AMPMMidnightParser","AMPMMidnightParser","_DayPeriodParser","DayPeriodParser","_Hour1to12Parser","isPM","Hour1to12Parser","_Hour0to23Parser","Hour0to23Parser","_Hour0To11Parser","Hour0To11Parser","_Hour1To24Parser","Hour1To24Parser","_MinuteParser","MinuteParser","_SecondParser","SecondParser","_FractionOfSecondParser","FractionOfSecondParser","_ISOTimezoneWithZParser","ISOTimezoneWithZParser","_ISOTimezoneParser","ISOTimezoneParser","_TimestampSecondsParser","TimestampSecondsParser","_TimestampMillisecondsParser","TimestampMillisecondsParser","parsers","notWhitespaceRegExp","dateStr","referenceDate","subFnOptions","setters","usedTokens","incompatibleTokens","incompatibleToken","usedToken","uniquePrioritySetters","setter","setterArray","isMatch","parseISO","dateStrings","splitDateString","parseYearResult","parseYear","parseDate","parseTime","parseTimezone","dirtyDate","patterns","dateRegex","timeRegex","timezoneRegex","timeString","additionalDigits","captures","century","isWeekDate","parseDateUnit","validateWeekDate","dayOfISOWeekYear","validateDate","validateDayOfYearDate","parseTimeUnit","validateTime","timezoneString","validateTimezone","fourthOfJanuaryDay","daysInMonths","_year","_hours","subMonths","isNumeric","valuesAreNumeric","isInteger","valuesAreInteger","valuesAreBoolean","valuesAreString","HtmlRegexp","isHtml","valuesAreHtml","valuesAreArray","valuesAreDate","isDateString","valuesAreDateString","valuesAreObject","DefaultComponent","defaultType","defaultTypes","hasType","inferElementFromValues","leafValues","vals","leafName","getElementsFromRecords","inferredElement","common","red","purple","blue","lightBlue","green","orange","grey","formatMuiErrorMessage","code","THEME_ID","reactPropsRegex","isPropValid","sheetForTag","createStyleElement","StyleSheet","before","_proto","nodes","sheet","MS","MOZ","WEBKIT","COMMENT","RULESET","DECLARATION","IMPORT","KEYFRAMES","abs","assign","charat","trim","replacement","indexof","substr","begin","strlen","sizeof","append","combine","line","column","character","characters","node","peek","caret","slice","alloc","dealloc","delimit","whitespace","escaping","commenter","identifier","compile","rulesets","pseudo","points","declarations","atrule","variable","scanning","ampersand","comment","declaration","ruleset","serialize","middleware","collection","rulesheet","prefixer","identifierWithPointTracking","toRules","parsed","getRules","fixedElements","compat","isImplicitRule","parentRules","removeLabel","defaultStylisPlugins","createCache","ssrStyles","dataEmotionAttribute","stylisPlugins","inserted","container","nodesToHydrate","attrib","_insert","omnipresentPlugins","currentSheet","finalizingPlugins","serializer","stylis","styles","selector","shouldCache","reactIs","REACT_STATICS","KNOWN_STATICS","FORWARD_REF_STATICS","MEMO_STATICS","TYPE_STATICS","getStatics","getOwnPropertyNames","getOwnPropertySymbols","getOwnPropertyDescriptor","getPrototypeOf","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","targetStatics","sourceStatics","hoistNonReactStatics_cjs","getRegisteredStyles","registered","registeredStyles","classNames","rawClassName","registerStyles","isStringTag","insertStyles","murmur2","unitlessKeys","hyphenateRegex","animationRegex","isCustomProperty","isProcessableValue","processStyleName","styleName","processStyleValue","p1","p2","cursor","unitless","handleInterpolation","mergedProps","interpolation","createStringFromObject","previousCursor","cached","interpolated","labelPattern","serializeStyles","stringMode","strings","identifierName","hashString","EmotionCacheContext","CacheProvider","withEmotionCache","forwardRef","ThemeContext","Global","sheetRef","rehydrating","sheetRefCurrent","css","keyframes","insertable","testOmitPropsOnStringTag","testOmitPropsOnComponent","getDefaultShouldForwardProp","composeShouldForwardProps","isReal","shouldForwardProp","optionsShouldForwardProp","createStyled","baseTag","targetClassName","defaultShouldForwardProp","shouldUseAs","Styled","finalTag","classInterpolations","finalShouldForwardProp","newProps","ele","possiblyStyleElement","nextTag","nextOptions","tags","newStyled","tagName","ReactPropTypesSecret","ReactPropTypesSecret_1","emptyFunction","emptyFunctionWithReset","factoryWithThrowingShims","shim","componentName","propFullName","secret","getShim","ReactPropTypes","propTypesModule","LAYER","StyledEngineProvider","injectFirst","_jsx","GlobalStyles","defaultTheme","globalStyles","themeInput","styled","emStyled","internal_processStyles","processor","prototype","deepClone","deepmerge","sortBreakpointsValues","breakpointsAsArray","breakpoint1","breakpoint2","createBreakpoints","breakpoints","unit","step","sortedValues","up","down","between","endIndex","only","not","keyIndex","shape","defaultBreakpoints","handleBreakpoints","propValue","styleFromPropValue","theme","themeBreakpoints","breakpoint","mediaKey","cssKey","createEmptyBreakpointObject","breakpointsInput","_breakpointsInput$key","breakpointStyleKey","removeUnusedBreakpoints","breakpointKeys","style","breakpointOutput","mergeBreakpointsInOrder","emptyBreakpoints","mergedOutput","computeBreakpointsBase","breakpointValues","breakpointsKeys","resolveBreakpointValues","customBase","_formatMuiErrorMessage","getPath","checkVars","getStyleValue","themeMapping","propValueFinal","userValue","cssProperty","themeKey","properties","directions","aliases","getCssProperties","dir","marginKeys","paddingKeys","createUnaryUnit","_getPath","themeSpacing","createUnarySpacing","transformer","transformed","getStyleFromPropValue","cssProperties","resolveCssProperty","margin","padding","createSpacing","spacingInput","spacing","argsInput","compose","borderTransform","createBorderStyle","border","borderTop","borderRight","borderBottom","borderLeft","borderColor","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor","outline","outlineColor","borderRadius","gap","columnGap","rowGap","gridColumn","gridRow","gridAutoFlow","gridAutoColumns","gridAutoRows","gridTemplateColumns","gridTemplateRows","gridTemplateAreas","gridArea","paletteTransform","color","bgcolor","backgroundColor","sizingTransform","maxWidth","_props$theme","_props$theme2","breakpointsValues","minWidth","height","maxHeight","minHeight","boxSizing","defaultSxConfig","objectsHaveSameKeys","objects","allKeys","callIfFn","maybeFn","unstable_createStyleFunctionSx","getThemeValue","styleFunctionSx","_theme$unstable_sxCon","sx","traverse","sxInput","sxObject","styleKey","applyStyles","createTheme","paletteInput","shapeInput","muiTheme","isObjectEmpty","useTheme","contextTheme","systemDefaultTheme","useThemeWithoutDefault","themeId","upperTheme","MuiGlobalStyles","splitProps","_props$theme$unstable","extendSxProp","inSx","systemProps","otherProps","finalSx","defaultGenerator","createClassNameGenerator","generate","generator","ClassNameGenerator","clsx","createBox","defaultClassName","generateClassName","BoxRoot","inProps","_extendSxProp","globalStateClasses","generateUtilityClass","slot","globalStatePrefix","globalStateClass","generateUtilityClasses","slots","fnNameMatchRegex","getFunctionName","getFunctionComponentName","getWrappedName","outerType","innerType","wrapperName","functionName","getDisplayName","ForwardRef","Memo","_excluded2","_excluded3","lowercaseFirstLetter","resolveTheme","defaultOverridesResolver","processStyleArg","callableStyle","ownerState","resolvedStylesArg","resolvedStyle","variants","variant","rootShouldForwardProp","slotShouldForwardProp","systemSx","inputOptions","processStyles","componentSlot","inputSkipVariantsResolver","inputSkipSx","overridesResolver","skipVariantsResolver","skipSx","shouldForwardPropOption","defaultStyledResolver","styledEngineStyled","transformStyleArg","stylesArg","muiStyledResolver","styleArg","expressions","transformedStyleArg","expressionsWithDefaultTheme","styleOverrides","resolvedStyleOverrides","slotKey","slotStyle","_theme$components","themeVariants","numOfCustomFnsApplied","placeholders","resolveProps","defaultProps","defaultSlotProps","slotProps","slotPropName","getThemeProps","useThemeProps","useEnhancedEffect","useMediaQueryOld","defaultMatches","matchMedia","ssrMatchMedia","noSsr","setMatch","active","queryList","updateMatch","maybeReactUseSyncExternalStore","React[\"useSyncExternalStore\"]","useMediaQueryNew","getDefaultSnapshot","getServerSnapshot","getSnapshot","mediaQueryList","useMediaQuery","queryInput","supportMatchMedia","clamp","clampWrapper","hexToRgb","colors","decomposeColor","marker","colorSpace","recomposeColor","alpha","lighten","coefficient","createChainedFunction","funcs","later","deprecatedPropType","validator","isMuiElement","muiNames","_muiName","_element$type","ownerDocument","ownerWindow","requirePropFactory","componentNameInError","setRef","globalId","useGlobalId","idOverride","setDefaultId","maybeReactUseId","reactId","unsupportedProp","useControlled","controlled","defaultProp","isControlled","valueState","setValueIfUncontrolled","useEventCallback","useForkRef","UNINITIALIZED","useLazyRef","initArg","EMPTY","useOnMount","_Timeout","Timeout","hadKeyboardEvent","hadFocusVisibleRecently","hadFocusVisibleRecentlyTimeout","inputTypesWhitelist","focusTriggersKeyboardModality","handleKeyDown","handlePointerDown","handleVisibilityChange","prepare","doc","isFocusVisible","useIsFocusVisible","isFocusVisibleRef","handleBlurVisible","handleFocusVisible","getScrollbarSize","documentWidth","cachedType","detectScrollType","dummy","getNormalizedScrollLeft","scrollLeft","usePreviousProps","composeClasses","getUtilityClass","classes","utilityClass","hasSymbol","mergeOuterLocalTheme","outerTheme","localTheme","ThemeProvider","RtlContext","RtlProvider","useRtl","EMPTY_THEME","useThemeScoping","isPrivate","resolvedTheme","mergedTheme","upperPrivateTheme","usePrivateTheme","engineTheme","privateTheme","rtlValue","MuiThemeProvider","StyledEngineThemeContext","defaultCreateStyledComponent","systemStyled","useThemePropsDefault","useThemePropsSystem","useUtilityClasses","getContainerUtilityClass","fixed","disableGutters","createContainer","createStyledComponent","ContainerRoot","breakpointValueKey","joinChildren","childrenArray","React.cloneElement","getSideFromDirection","directionValues","spacingValues","previousDirectionValue","createStack","StackRoot","themeProps","divider","useFlexGap","createMixins","mixins","_interopRequireDefault","colorManipulator","alpha_1","blend","darken_1","darken","emphasize_1","emphasize","getContrastRatio_1","getContrastRatio","getLuminance","hslToRgb","lighten_1","private_safeAlpha","private_safeDarken","private_safeEmphasize","private_safeLighten","rgbToHex","_formatMuiErrorMessage2","_clamp","intToHex","int","hex","colorChannel","decomposedColor","private_safeColorChannel","rgb","foreground","background","lumA","lumB","overlay","opacity","gamma","blendChannel","overlayColor","light","dark","addLightOrDark","intent","shade","tonalOffset","tonalOffsetLight","tonalOffsetDark","getDefaultPrimary","getDefaultSecondary","getDefaultError","getDefaultInfo","getDefaultSuccess","getDefaultWarning","createPalette","palette","contrastThreshold","primary","secondary","success","getContrastText","augmentColor","mainShade","lightShade","darkShade","modes","round","caseAllCaps","defaultFontFamily","createTypography","typography","fontFamily","fontSize","fontWeightLight","fontWeightRegular","fontWeightMedium","fontWeightBold","htmlFontSize","allVariants","pxToRem2","coef","pxToRem","buildVariant","fontWeight","lineHeight","letterSpacing","casing","shadowKeyUmbraOpacity","shadowKeyPenumbraOpacity","shadowAmbientShadowOpacity","createShadow","px","shadows","easing","formatMs","getAutoHeightDuration","createTransitions","inputTransitions","mergedEasing","mergedDuration","durationOption","easingOption","animatedProp","zIndex","mixinsInput","transitionsInput","typographyInput","systemTheme","systemCreateTheme","useThemeSystem","systemUseThemeProps","createStyled_1","_default","_extends2","_objectWithoutPropertiesLoose2","_styledEngine","_interopRequireWildcard","_deepmerge","_createTheme","_styleFunctionSx","_getRequireWildcardCache","scopedTheme","SystemThemeProvider","getOverlayAlpha","elevation","alphaValue","getSvgIconUtilityClass","SvgIconRoot","_theme$transitions","_theme$transitions$cr","_theme$transitions2","_theme$typography","_theme$typography$pxT","_theme$typography2","_theme$typography2$px","_theme$typography3","_theme$typography3$px","_palette$ownerState$c","_palette","_palette2","_palette3","SvgIcon","htmlColor","inheritViewBox","titleAccess","viewBox","hasSvgAsChild","more","_jsxs","createSvgIcon","React.memo","unstable_ClassNameGenerator","createUseThemeProps","_setPrototypeOf","_inheritsLoose","subClass","superClass","setPrototypeOf","config$1","TransitionGroupContext","forceReflow","UNMOUNTED","EXITED","ENTERING","ENTERED","EXITING","Transition","_React$Component","parentGroup","appear","initialStatus","nextIn","nextStatus","exit","enter","mounting","_this2","appearing","maybeNode","maybeAppearing","timeouts","enterTimeout","_this3","_this4","doesNotHaveTimeoutOrListener","maybeNextCallback","childProps","_assertThisInitialized","getChildMapping","mapper","mergeChildMappings","getValueForKey","nextKeysPending","pendingKeys","prevKey","childMapping","nextKey","pendingNextKey","getProp","getInitialChildMapping","onExited","cloneElement","getNextChildMapping","nextProps","prevChildMapping","nextChildMapping","hasPrev","hasNext","prevChild","isLeaving","TransitionGroup","handleExited","firstRender","currentChildMapping","childFactory","reflow","getTransitionProps","_style$transitionDura","_style$transitionTimi","getPaperUtilityClass","square","PaperRoot","_theme$vars$overlays","Paper","isHostComponent","appendOwnerState","elementType","ClassNameConfiguratorContext","useClassNamesOverride","disableDefaultClasses","extractEventHandlers","excludeKeys","resolveComponentProps","componentProps","slotState","omitEventHandlers","mergeSlotProps","parameters","getSlotProps","additionalProps","externalSlotProps","externalForwardedProps","joinedClasses","mergedStyle","eventHandlers","componentsPropsWithoutEventHandlers","otherPropsWithoutEventHandlers","internalSlotProps","useSlotProps","_parameters$additiona","skipResolvingSlotProps","resolvedComponentsProps","internalRef","useSlot","initialElementType","getSlotOwnerState","internalForwardedProps","useSlotPropsParams","rootComponent","_mergeSlotProps","slotComponent","slotOwnerState","finalOwnerState","LeafComponent","Ripple","pulsate","rippleX","rippleY","rippleSize","inProp","leaving","setLeaving","rippleClassName","rippleStyles","childClassName","timeoutId","touchRippleClasses","_t2","_t3","_t4","DURATION","DELAY_RIPPLE","enterKeyframe","exitKeyframe","pulsateKeyframe","TouchRippleRoot","TouchRippleRipple","TouchRipple","centerProp","ripples","setRipples","rippleCallback","ignoringMouseDown","startTimer","startTimerCommit","startCommit","oldRipples","center","fakeElement","rect","clientX","clientY","sizeX","sizeY","stop","React.useImperativeHandle","getButtonBaseUtilityClass","buttonBaseClasses","focusVisible","focusVisibleClassName","composedClasses","ButtonBaseRoot","ButtonBase","centerRipple","disableRipple","disableTouchRipple","focusRipple","LinkComponent","onContextMenu","onDragLeave","onFocusVisible","onKeyDown","onKeyUp","onMouseDown","onMouseLeave","onMouseUp","onTouchEnd","onTouchMove","onTouchStart","tabIndex","TouchRippleProps","touchRippleRef","buttonRef","rippleRef","handleRippleRef","focusVisibleRef","setFocusVisible","mountedState","setMountedState","enableTouchRipple","useRippleHandler","rippleAction","eventCallback","skipRippleAction","handleMouseDown","handleContextMenu","handleDragLeave","handleMouseUp","handleMouseLeave","handleTouchStart","handleTouchEnd","handleTouchMove","handleBlur","handleFocus","isNonNativeButton","button","keydownRef","handleKeyUp","ComponentProp","buttonProps","handleRef","getAlertUtilityClass","alertClasses","getIconButtonUtilityClass","iconButtonClasses","edge","IconButtonRoot","IconButton","disableFocusRipple","SuccessOutlinedIcon","ReportProblemOutlinedIcon","ErrorOutlineIcon","InfoOutlinedIcon","ClearIcon","severity","AlertRoot","getColor","getBackgroundColor","AlertIcon","AlertMessage","AlertAction","defaultIconMapping","Alert","closeText","componentsProps","iconMapping","onClose","role","CloseButtonSlot","closeButtonProps","CloseIconSlot","closeIconProps","CloseIcon","getTypographyUtilityClass","align","gutterBottom","noWrap","paragraph","TypographyRoot","defaultVariantMapping","colorTransformations","transformDeprecatedColors","Typography","variantMapping","getAppBarUtilityClass","joinVars","var1","var2","AppBarRoot","backgroundColorDefault","AppBar","enableColorOnDark","GLOBAL_CLASS_PREFIX","buildStateClass","buildSlotClass","mapEventPropToEvent","eventProp","clickedRootScrollbar","ClickAwayListener","disableReactTree","mouseEvent","onClickAway","touchEvent","movedRef","nodeRef","activatedRef","syntheticEventRef","handleClickAway","insideReactTree","insideDOM","createHandleSynthetic","childrenPropsHandler","handlerName","childrenProps","mappedTouchEvent","mappedMouseEvent","candidatesSelector","getTabIndex","tabindexAttr","isNonTabbableRadio","getRadio","roving","isNodeMatchingSelectorFocusable","defaultGetTabbable","regularTabNodes","orderedTabNodes","nodeTabIndex","defaultIsEnabled","FocusTrap","disableAutoFocus","disableEnforceFocus","disableRestoreFocus","getTabbable","ignoreNextEnforceFocus","sentinelStart","sentinelEnd","nodeToRestore","reactFocusEventTarget","activated","rootRef","lastKeydown","loopFocus","nativeEvent","contain","rootElement","tabbable","_lastKeydown$current","_lastKeydown$current2","isShiftTab","focusNext","focusPrevious","handleFocusSentinel","getContainer","Portal","forwardedRef","disablePortal","mountNode","setMountNode","ReactDOM.createPortal","isOverflowing","ariaHidden","getPaddingRight","isAriaHiddenForbiddenOnElement","isForbiddenTagName","isInputHidden","ariaHiddenSiblings","mountElement","currentElement","elementsToExclude","isNotExcludedElement","isNotForbiddenElement","findIndexOf","handleContainer","containerInfo","restoreStyle","scrollbarSize","scrollContainer","containerWindow","getHiddenSiblings","hiddenSiblings","_ModalManager","modal","modalIndex","containerIndex","ariaHiddenState","nextTop","ModalManager","getHasTransition","defaultManager","useModal","disableEscapeKeyDown","disableScrollLock","manager","closeAfterTransition","onTransitionEnter","onTransitionExited","mountNodeRef","modalRef","exited","setExited","hasTransition","ariaHiddenProp","getDoc","getModal","handleMounted","handleOpen","resolvedContainer","isTopModal","handlePortalRef","handleClose","createHandleKeyDown","otherHandlers","_otherHandlers$onKeyD","createHandleBackdropClick","_otherHandlers$onClic","propsEventHandlers","externalEventHandlers","handleEnter","top","bottom","auto","basePlacements","clippingParents","viewport","popper","variationPlacements","placement","placements","beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite","modifierPhases","getNodeName","getWindow","isElement","OwnElement","isShadowRoot","attributes","effect","initialStyles","styleProperties","attribute","applyStyles$1","getBasePlacement","getUAString","uaData","isLayoutViewport","getBoundingClientRect","includeScale","isFixedStrategy","clientRect","scaleX","scaleY","visualViewport","addVisualOffsets","getLayoutRect","contains","rootNode","getComputedStyle","isTableElement","getDocumentElement","getParentNode","getTrueOffsetParent","getContainingBlock","isFirefox","isIE","elementCss","currentNode","getOffsetParent","offsetParent","getMainAxisFromPlacement","within","mathMax","mathMin","withinMaxClamp","getFreshSideObject","mergePaddingObject","paddingObject","expandToHashMap","hashMap","toPaddingObject","arrow","_state$modifiersData$","arrowElement","popperOffsets","basePlacement","axis","isVertical","arrowRect","minProp","maxProp","endDiff","startDiff","arrowOffsetParent","clientSize","centerToReference","axisProp","_options$element","arrow$1","getVariation","unsetSides","roundOffsetsByDPR","win","dpr","mapToStyles","_Object$assign2","popperRect","variation","offsets","gpuAcceleration","adaptive","roundOffsets","isFixed","_offsets$x","_offsets$y","hasX","hasY","sideX","sideY","heightProp","widthProp","offsetY","offsetX","commonStyles","_Object$assign","computeStyles","_options$gpuAccelerat","_options$adaptive","_options$roundOffsets","computeStyles$1","passive","_options$scroll","scroll","_options$resize","resize","scrollParents","scrollParent","eventListeners","getOppositePlacement","getOppositeVariationPlacement","getWindowScroll","scrollTop","getWindowScrollBarX","getViewportRect","strategy","html","layoutViewport","getDocumentRect","_element$ownerDocumen","winScroll","isScrollParent","_getComputedStyle","overflow","overflowX","overflowY","getScrollParent","listScrollParents","isBody","updatedList","rectToClientRect","getInnerBoundingClientRect","getClientRectFromMixedType","clippingParent","getClippingParents","canEscapeClipping","clipperElement","getClippingRect","boundary","rootBoundary","mainClippingParents","firstClippingParent","clippingRect","accRect","computeOffsets","commonX","commonY","mainAxis","detectOverflow","_options$placement","_options$strategy","_options$boundary","_options$rootBoundary","_options$elementConte","elementContext","_options$altBoundary","altBoundary","_options$padding","altContext","clippingClientRect","referenceClientRect","popperClientRect","elementClientRect","overflowOffsets","offsetData","multiply","computeAutoPlacement","flipVariations","_options$allowedAutoP","allowedAutoPlacements","allPlacements","allowedPlacements","overflows","getExpandedFallbackPlacements","oppositePlacement","flip","_options$mainAxis","checkMainAxis","_options$altAxis","checkAltAxis","specifiedFallbackPlacements","_options$flipVariatio","preferredPlacement","isBasePlacement","fallbackPlacements","referenceRect","checksMap","makeFallbackChecks","firstFittingPlacement","_basePlacement","isStartVariation","mainVariationSide","altVariationSide","checks","check","numberOfChecks","_loop","fittingPlacement","_ret","flip$1","getSideOffsets","preventedOffsets","isAnySideFullyClipped","side","hide","referenceOverflow","popperAltOverflow","referenceClippingOffsets","popperEscapeOffsets","isReferenceHidden","hasPopperEscaped","hide$1","distanceAndSkiddingToXY","rects","invertDistance","skidding","distance","_options$offset","_data$state$placement","offset$1","popperOffsets$1","getAltAxis","preventOverflow","_options$tether","tether","_options$tetherOffset","tetherOffset","altAxis","tetherOffsetValue","normalizedTetherOffsetValue","offsetModifierState","_offsetModifierState$","mainSide","altSide","additive","minLen","maxLen","arrowPaddingObject","arrowPaddingMin","arrowPaddingMax","arrowLen","minOffset","maxOffset","clientOffset","offsetModifierValue","tetherMin","tetherMax","preventedOffset","_offsetModifierState$2","_mainSide","_altSide","_offset","_min","_max","isOriginSide","_offsetModifierValue","_tetherMin","_tetherMax","_preventedOffset","preventOverflow$1","getHTMLElementScroll","getNodeScroll","isElementScaled","getCompositeRect","elementOrVirtualElement","isOffsetParentAnElement","offsetParentIsScaled","documentElement","modifiers","visited","modifier","requires","dep","depModifier","orderModifiers","orderedModifiers","phase","pending","mergeByName","merged","existing","areValidElements","popperGenerator","generatorOptions","_generatorOptions","_generatorOptions$def","defaultModifiers","_generatorOptions$def2","effectCleanupFns","isDestroyed","setOptionsAction","cleanupModifierEffects","runModifierEffects","_state$elements","_state$orderedModifie","_state$orderedModifie2","_ref$options","cleanupFn","noopFn","createPopper","COMPONENT_NAME","getPopperUtilityClass","flipPlacement","resolveAnchorEl","anchorEl","defaultPopperOptions","PopperTooltip","_slots$root","initialPlacement","popperOptions","popperRefProp","TransitionProps","tooltipRef","ownRef","popperRef","handlePopperRef","handlePopperRefRef","rtlPlacement","setPlacement","resolvedAnchorElement","setResolvedAnchorElement","handlePopperUpdate","popperModifiers","Root","rootProps","Popper","containerProp","keepMounted","resolvedAnchorEl","display","transitionProps","useSnackbar","autoHideDuration","disableWindowBlurListener","resumeHideDuration","timerAutoHide","setAutoHideTimer","autoHideDurationParam","handlePause","handleResume","createHandleBlur","onBlurCallback","createHandleFocus","onFocusCallback","createMouseEnter","onMouseEnterCallback","createMouseLeave","onMouseLeaveCallback","externalProps","TextareaAutosize","maxRows","minRows","shadowRef","calculateTextareaStyles","computedStyle","inputShallow","innerHeight","singleRowHeight","outerHeight","outerHeightStyle","overflowing","syncHeight","textareaStyles","handleResize","rAF","debounceHandleResize","resizeObserver","handleChange","stripDiacritics","createFilterOptions","ignoreAccents","ignoreCase","matchFrom","getOptionLabel","filteredOptions","candidate","comp","defaultFilterOptions","pageSize","defaultIsActiveElementInListbox","listboxRef","_listboxRef$current$p","useAutocomplete","unstable_isActiveElementInListbox","unstable_classNamePrefix","autoComplete","autoHighlight","autoSelect","blurOnSelect","clearOnBlur","clearOnEscape","disableClearable","disableCloseOnSelect","disabledProp","disabledItemsFocusable","disableListWrap","filterOptions","filterSelectedOptions","freeSolo","getOptionDisabled","getOptionKey","getOptionLabelProp","_option$label","groupBy","handleHomeEndKeys","idProp","includeInputInList","inputValueProp","isOptionEqualToValue","multiple","onHighlightChange","onInputChange","onOpen","openProp","openOnFocus","readOnly","selectOnFocus","valueProp","optionLabel","ignoreFocus","firstFocus","setAnchorEl","focusedTag","setFocusedTag","defaultHighlighted","highlightedIndexRef","setValueState","setInputValueState","setFocused","resetInputValue","newInputValue","setOpenState","inputPristine","setInputPristine","inputValueIsSelectedValue","popupOpen","value2","previousProps","valueChange","listboxAvailable","focusTag","tagToFocus","validOptionIndex","nextFocus","nextFocusDisabled","setHighlightedIndex","listboxNode","scrollBottom","elementBottom","changeHighlightedIndex","maxIndex","newIndex","getPreviousHighlightedOptionIndex","isSameValue","value1","label1","label2","previousHighlightedOption","syncHighlightedIndex","previousHighlightedOptionIndex","valueItem","currentOption","itemIndex","optionItem","handleListboxRef","handleValue","details","isTouch","selectNewValue","reasonProp","origin","validTagIndex","handleFocusTag","handleClear","handleInputChange","handleOptionMouseMove","handleOptionTouchStart","handleOptionClick","handleTagDelete","handlePopupIndicator","handleInputMouseDown","dirty","groupedOptions","_getOptionKey","default_1","PopperRoot","BasePopper","RootComponent","getListSubheaderUtilityClass","inset","disableSticky","ListSubheaderRoot","ListSubheader","CancelIcon","getChipUtilityClass","chipClasses","iconColor","onDelete","clickable","ChipRoot","textColor","ChipLabel","isDeleteKeyboardEvent","keyboardEvent","Chip","avatarProp","clickableProp","deleteIconProp","iconProp","skipFocusWhenDisabled","chipRef","handleDeleteIconClick","moreProps","deleteIcon","avatar","formControlState","states","muiFormControl","FormControlContext","useFormControl","SystemGlobalStyles","hasValue","isFilled","SSR","isAdornedStart","getInputBaseUtilityClass","inputBaseClasses","rootOverridesResolver","inputOverridesResolver","endAdornment","fullWidth","hiddenLabel","multiline","startAdornment","InputBaseRoot","InputBaseComponent","placeholder","placeholderHidden","placeholderVisible","inputGlobalStyles","InputBase","_slotProps$input","ariaDescribedby","autoFocus","disableInjectingGlobalStyles","inputComponent","inputPropsProp","inputRefProp","renderSuffix","handleInputRefWarning","handleInputRef","fcs","onFilled","onEmpty","checkDirty","InputComponent","handleAutoFill","Input","InputBase$1","getInputUtilityClass","inputClasses","getOutlinedInputUtilityClass","outlinedInputClasses","getFilledInputUtilityClass","filledInputClasses","ArrowDropDownIcon","getAutocompleteUtilityClass","autocompleteClasses","_ClearIcon","_ArrowDropDownIcon","_excluded4","hasClearIcon","hasPopupIcon","inputFocused","AutocompleteRoot","AutocompleteEndAdornment","AutocompleteClearIndicator","AutocompletePopupIndicator","AutocompletePopper","AutocompletePaper","AutocompleteLoading","AutocompleteNoOptions","AutocompleteListbox","AutocompleteGroupLabel","AutocompleteGroupUl","Autocomplete","_slotProps$clearIndic","_slotProps$paper","_slotProps$popper","_slotProps$popupIndic","ChipProps","clearIcon","clearText","forcePopupIcon","getLimitTagsText","limitTags","ListboxComponent","ListboxProps","loadingText","noOptionsText","openText","PaperComponent","PopperComponent","popupIcon","renderGroupProp","renderInput","renderOptionProp","renderTags","getRootProps","getInputProps","getInputLabelProps","getPopupIndicatorProps","getClearProps","getTagProps","getListboxProps","getOptionProps","externalListboxRef","_getListboxProps","otherListboxProps","combinedListboxRef","getCustomizedTagProps","_getCustomizedTagProp","customTagProps","renderGroup","renderOption","props2","renderListOption","optionProps","clearIndicatorSlotProps","paperSlotProps","popperSlotProps","popupIndicatorSlotProps","renderAutocompletePopperChildren","autocompletePopper","option2","index2","Person","getAvatarUtilityClass","colorDefault","AvatarRoot","AvatarImg","AvatarFallback","useLoaded","crossOrigin","referrerPolicy","src","srcSet","loaded","setLoaded","image","Avatar","alt","childrenProp","imgProps","sizes","hasImg","hasImgNotFailing","ImgSlot","imgSlotProps","Fade","defaultTimeout","addEndListener","onEnter","onEntered","onEntering","onExit","onExiting","TransitionComponent","normalizedTransitionCallback","maybeIsAppearing","handleEntering","isAppearing","handleEntered","handleExiting","handleExit","handleAddEndListener","getBackdropUtilityClass","invisible","BackdropRoot","Backdrop","_slotProps$root","transitionDuration","rootSlotProps","boxClasses","Box","getButtonUtilityClass","buttonClasses","ButtonGroupContext","ButtonGroupButtonContext","disableElevation","commonIconStyles","ButtonRoot","_theme$palette$getCon","_theme$palette","inheritContainedBackgroundColor","inheritContainedHoverBackgroundColor","ButtonStartIcon","ButtonEndIcon","Button","contextProps","buttonGroupButtonContextPositionClassName","resolvedProps","endIconProp","startIconProp","startIcon","endIcon","positionClassName","getCardUtilityClass","CardRoot","Card","raised","getCardActionsUtilityClass","disableSpacing","CardActionsRoot","CardActions","getCardContentUtilityClass","CardContentRoot","CardContent","getSwitchBaseUtilityClass","checked","SwitchBaseRoot","SwitchBaseInput","SwitchBase","checkedProp","checkedIcon","defaultChecked","setCheckedState","newChecked","hasLabelFor","CheckBoxOutlineBlankIcon","CheckBoxIcon","IndeterminateCheckBoxIcon","getCheckboxUtilityClass","checkboxClasses","indeterminate","CheckboxRoot","defaultCheckedIcon","defaultIcon","defaultIndeterminateIcon","Checkbox","_icon$props$fontSize","_indeterminateIcon$pr","indeterminateIconProp","indeterminateIcon","getCircularProgressUtilityClass","SIZE","circularRotateKeyframe","circularDashKeyframe","disableShrink","CircularProgressRoot","CircularProgressSVG","CircularProgressCircle","CircularProgress","thickness","circleStyle","rootStyle","circumference","Container","enableColorScheme","colorSchemeStyles","scheme","_scheme$palette","defaultStyles","themeOverrides","CssBaseline","getModalUtilityClass","ModalRoot","ModalBackdrop","Modal","_slots$backdrop","_slotProps$backdrop","BackdropComponent","BackdropProps","hideBackdrop","onBackdropClick","propsWithDefaults","getBackdropProps","portalRef","RootSlot","BackdropSlot","backdropSlotProps","backdropProps","getDialogUtilityClass","dialogClasses","DialogContext","DialogBackdrop","fullScreen","DialogRoot","DialogContainer","DialogPaper","Dialog","defaultTransitionDuration","ariaLabelledbyProp","PaperProps","backdropClick","handleBackdropClick","ariaLabelledby","dialogContextValue","getDialogActionsUtilityClass","DialogActionsRoot","DialogActions","getDialogContentUtilityClass","getDialogTitleUtilityClass","dialogTitleClasses","dividers","DialogContentRoot","DialogContent","getDialogContentTextUtilityClass","DialogContentTextRoot","DialogContentText","DialogTitleRoot","DialogTitle","titleId","getDividerUtilityClass","dividerClasses","absolute","flexItem","orientation","textAlign","DividerRoot","DividerWrapper","Divider","getTranslateValue","containerRect","transformValues","resolveContainer","containerPropProp","setTranslateValue","Slide","defaultEasing","easingProp","childrenRef","updatePosition","getDrawerUtilityClass","anchor","DrawerRoot","DrawerDockedRoot","DrawerPaper","oppositeDirection","isHorizontal","getAnchor","Drawer","isRtl","anchorProp","BackdropPropsProp","SlideProps","ModalProps","anchorInvariant","drawer","slidingDrawer","getFabUtilityClass","fabClasses","FabRoot","Fab","disableUnderline","FilledInputRoot","inputBaseRootOverridesResolver","bottomLineColor","hoverBackground","disabledBackground","FilledInputInput","InputBaseInput","inputBaseInputOverridesResolver","FilledInput","_slots$input","componentsPropsProp","filledInputComponentsProps","InputSlot","getFormControlUtilityClasses","FormControlRoot","FormControl","visuallyFocused","adornedStart","setAdornedStart","initialAdornedStart","filled","setFilled","initialFilled","focusedState","registerEffect","childContext","getFormControlLabelUtilityClasses","formControlLabelClasses","labelPlacement","FormControlLabelRoot","AsteriskComponent","FormControlLabel","_slotProps$typography","disableTypography","labelProp","requiredProp","controlProps","typographySlotProps","getFormGroupUtilityClass","FormGroupRoot","FormGroup","getFormHelperTextUtilityClasses","formHelperTextClasses","_span","contained","FormHelperTextRoot","FormHelperText","getFormLabelUtilityClasses","formLabelClasses","FormLabelRoot","FormLabel","GridContext","getGridUtilityClass","SPACINGS","DIRECTIONS","WRAPS","GRID_SIZES","gridClasses","wrap","getOffset","generateGrid","columnsBreakpointValues","columnValue","generateDirection","extractZeroValueBreakpointKeys","nonZeroKey","sortedBreakpointKeysByValue","generateRowGap","rowSpacing","rowSpacingValues","zeroValueBreakpointKeys","_zeroValueBreakpointK","generateColumnGap","columnSpacing","columnSpacingValues","_zeroValueBreakpointK2","resolveSpacingStyles","spacingStyles","GridRoot","zeroMinWidth","breakpointsStyles","resolveSpacingClasses","spacingClasses","breakpointsClasses","Grid","columnsProp","columnSpacingProp","rowSpacingProp","columnsContext","columns","otherFiltered","getScale","isWebKit154","Grow","autoTimeout","transitionTimingFunction","InputRoot","InputInput","inputComponentsProps","getInputAdornmentUtilityClass","inputAdornmentClasses","disablePointerEvents","InputAdornmentRoot","InputAdornment","variantProp","getInputLabelUtilityClasses","shrink","disableAnimation","InputLabelRoot","InputLabel","shrinkProp","getLinearProgressUtilityClass","_t5","_t6","TRANSITION_DURATION","indeterminate1Keyframe","indeterminate2Keyframe","bufferKeyframe","getColorShade","LinearProgressRoot","LinearProgressDashed","LinearProgressBar1","LinearProgressBar2","LinearProgress","valueBuffer","inlineStyles","getLinkUtilityClass","linkClasses","getTextDecoration","transformedColor","channelColor","underline","LinkRoot","TypographyClasses","handlerRef","getListUtilityClass","disablePadding","dense","subheader","ListRoot","List","getListItemUtilityClass","listItemClasses","getListItemButtonUtilityClass","listItemButtonClasses","alignItems","ListItemButtonRoot","ListItemButton","listItemRef","getListItemSecondaryActionClassesUtilityClass","ListItemSecondaryActionRoot","ListItemSecondaryAction","hasSecondaryAction","ListItemRoot","ListItemContainer","ListItem","componentProp","ContainerComponent","ContainerClassName","secondaryAction","ContainerProps","getListItemAvatarUtilityClass","ListItemAvatarRoot","ListItemAvatar","getListItemIconUtilityClass","listItemIconClasses","ListItemIconRoot","ListItemIcon","getListItemTextUtilityClass","listItemTextClasses","ListItemTextRoot","ListItemText","primaryProp","primaryTypographyProps","secondaryProp","secondaryTypographyProps","nextItem","previousItem","textCriteriaMatches","textCriteria","moveFocus","currentFocus","traversalFunction","wrappedOnce","MenuList","actions","autoFocusItem","listRef","textCriteriaRef","containerElement","noExplicitWidth","criteria","lowerKey","currTime","keepFocusOnCurrent","activeItemIndex","newChildProps","getPopoverUtilityClass","getOffsetTop","vertical","getOffsetLeft","horizontal","getTransformOriginValue","transformOrigin","PopoverRoot","PopoverPaper","PaperBase","Popover","_slots$paper","anchorOrigin","anchorPosition","anchorReference","marginThreshold","PaperPropsProp","transitionDurationProp","externalPaperSlotProps","paperRef","handlePaperRef","getAnchorOffset","anchorRect","getTransformOrigin","elemRect","getPositioningStyle","elemTransformOrigin","anchorOffset","heightThreshold","widthThreshold","isPositioned","setIsPositioned","setPositioningStyles","positioning","PaperSlot","paperProps","_useSlotProps","rootSlotPropsProp","getMenuUtilityClass","RTL_ORIGIN","LTR_ORIGIN","MenuRoot","MenuPaper","MenuMenuList","Menu","disableAutoFocusItem","MenuListProps","PopoverClasses","menuListActionsRef","handleListKeyDown","paperExternalSlotProps","getMenuItemUtilityClass","menuItemClasses","MenuItemRoot","MenuItem","tabIndexProp","menuItemRef","getNativeSelectUtilityClasses","nativeSelectClasses","nativeSelectSelectStyles","NativeSelectSelect","nativeSelectIconStyles","NativeSelectIcon","NativeSelectInput","IconComponent","NotchedOutlineRoot","NotchedOutlineLegend","NotchedOutline","notched","withLabel","OutlinedInputRoot","OutlinedInputInput","OutlinedInput","_React$Fragment","getPaginationUtilityClass","usePagination","boundaryCount","defaultPage","hideNextButton","hidePrevButton","pageProp","showFirstButton","showLastButton","siblingCount","setPageState","range","startPages","endPages","siblingsStart","siblingsEnd","itemList","buttonPage","getPaginationItemUtilityClass","paginationItemClasses","FirstPageIconDefault","LastPageIconDefault","NavigateBeforeIcon","NavigateNextIcon","PaginationItemEllipsis","PaginationItemPage","PaginationItemPageIcon","PaginationItem","Icon","FirstPageIcon","LastPageIcon","PaginationRoot","PaginationUl","defaultGetAriaLabel","Pagination","getItemAriaLabel","renderItem","getScopedCssBaselineUtilityClass","ScopedCssBaselineRoot","ScopedCssBaseline","getSelectUtilityClasses","selectClasses","SelectSelect","SelectIcon","SelectNativeInput","areEqualValues","SelectInput","_MenuProps$slotProps","ariaLabel","autoWidth","defaultOpen","displayEmpty","labelId","MenuProps","renderValue","SelectDisplayProps","openState","displayRef","displayNode","setDisplayNode","isOpenControlled","menuMinWidthState","setMenuMinWidthState","handleDisplayRef","anchorElement","childItem","handleItemClick","clonedEvent","displaySingle","displayMultiple","computeDisplay","menuMinWidth","buttonId","listboxId","styledRootConfig","StyledInput","StyledOutlinedInput","StyledFilledInput","Select","classesProp","native","restOfClasses","inputComponentRef","getSnackbarContentUtilityClass","SnackbarContentRoot","emphasis","SnackbarContentMessage","SnackbarContentAction","SnackbarContent","getSnackbarUtilityClass","SnackbarRoot","Snackbar","ClickAwayListenerProps","ContentProps","getTooltipUtilityClass","tooltipClasses","disableInteractive","touch","TooltipPopper","TooltipTooltip","TooltipArrow","hystersisOpen","hystersisTimer","cursorPosition","composeEventHandler","eventHandler","Tooltip","_slots$popper","_slots$transition","_slots$tooltip","_slots$arrow","_slotProps$popper2","_slotProps$transition","_slotProps$tooltip","_slotProps$tooltip2","_slotProps$arrow","_ref8","_slotProps$arrow2","describeChild","disableFocusListener","disableHoverListener","disableInteractiveProp","disableTouchListener","enterDelay","enterNextDelay","enterTouchDelay","followCursor","leaveDelay","leaveTouchDelay","PopperComponentProp","PopperProps","TransitionComponentProp","childNode","setChildNode","arrowRef","setArrowRef","ignoreNonTouchEvents","closeTimer","enterTimer","leaveTimer","touchTimer","prevUserSelect","stopTouchInteraction","handleMouseOver","setChildIsFocusVisible","detectTouchStart","handleMouseMove","nameOrDescProps","titleIsString","interactiveWrapperListeners","_PopperProps$popperOp","tooltipModifiers","TooltipComponent","ArrowComponent","popperProps","tooltipProps","tooltipArrowProps","TransitionPropsInner","getSwitchUtilityClass","switchClasses","SwitchRoot","SwitchSwitchBase","SwitchTrack","SwitchThumb","Switch","getTabUtilityClass","tabClasses","wrapped","TabRoot","Tab","iconPosition","indicator","selectionFollowsFocus","TableContext","getTableUtilityClass","stickyHeader","TableRoot","defaultComponent","Table","table","Tablelvl2Context","getTableBodyUtilityClass","TableBodyRoot","tablelvl2","TableBody","getTableCellUtilityClass","tableCellClasses","TableCellRoot","TableCell","paddingProp","scopeProp","sizeProp","sortDirection","isHeadCell","scope","ariaSort","getTableHeadUtilityClass","TableHeadRoot","TableHead","getToolbarUtilityClass","ToolbarRoot","Toolbar","KeyboardArrowLeft","KeyboardArrowRight","TablePaginationActions","_slots$firstButton","_slots$lastButton","_slots$nextButton","_slots$previousButton","_slots$firstButtonIco","_slots$lastButtonIcon","_slots$nextButtonIcon","_slots$previousButton2","backIconButtonProps","nextIconButtonProps","onPageChange","rowsPerPage","handleFirstPageButtonClick","handleBackButtonClick","handleNextButtonClick","handleLastPageButtonClick","FirstButton","LastButton","NextButton","PreviousButton","FirstButtonIcon","LastButtonIcon","NextButtonIcon","PreviousButtonIcon","FirstButtonSlot","PreviousButtonSlot","NextButtonSlot","LastButtonSlot","firstButtonSlotProps","previousButtonSlotProps","nextButtonSlotProps","lastButtonSlotProps","getTablePaginationUtilityClass","tablePaginationClasses","_InputBase","TablePaginationRoot","TablePaginationToolbar","TablePaginationSpacer","TablePaginationSelectLabel","TablePaginationSelect","TablePaginationMenuItem","TablePaginationDisplayedRows","defaultLabelDisplayedRows","TablePagination","_slotProps$select","ActionsComponent","colSpanProp","labelDisplayedRows","labelRowsPerPage","onRowsPerPageChange","rowsPerPageOptions","SelectProps","selectProps","MenuItemComponent","colSpan","selectId","getLabelDisplayedRowsTo","rowsPerPageOption","_createElement","getTableRowUtilityClass","tableRowClasses","hover","head","footer","TableRowRoot","TableRow","ArrowDownwardIcon","getTableSortLabelUtilityClass","tableSortLabelClasses","TableSortLabelRoot","TableSortLabelIcon","TableSortLabel","hideSortIcon","easeInOutSin","animate","ease","ScrollbarSize","scrollbarHeight","setMeasurements","prevHeight","getTabScrollButtonUtilityClass","tabScrollButtonClasses","TabScrollButtonRoot","TabScrollButton","_slots$StartScrollBut","_slots$EndScrollButto","StartButtonIcon","EndButtonIcon","startButtonIconProps","endButtonIconProps","getTabsUtilityClass","tabsClasses","hideScrollbar","scrollableX","scrollableY","centered","scrollButtonsHideMobile","TabsRoot","TabsScroller","FlexContainer","TabsIndicator","TabsScrollbarSize","defaultIndicatorStyle","Tabs","ariaLabelledBy","allowScrollButtonsMobile","indicatorColor","ScrollButtonComponent","scrollButtons","TabIndicatorProps","TabScrollButtonProps","visibleScrollbar","scrollable","scrollStart","startScrollButtonIconProps","endScrollButtonIconProps","setMounted","indicatorStyle","setIndicatorStyle","displayStartScroll","setDisplayStartScroll","displayEndScroll","setDisplayEndScroll","updateScrollObserver","setUpdateScrollObserver","scrollerStyle","setScrollerStyle","valueToIndex","tabsRef","tabListRef","getTabsMeta","tabsNode","tabsMeta","tabMeta","tab","updateIndicatorState","startValue","startIndicator","correction","newIndicatorStyle","dStart","dSize","scrollValue","animation","moveTabsScroll","getScrollSize","containerSize","totalSize","handleStartScrollClick","handleEndScrollClick","handleScrollbarSizeChange","scrollbarWidth","getConditionalElements","conditionalElements","showScrollButtons","scrollSelectedIntoView","nextScrollStart","updateScrollButtonState","handleMutation","_resizeObserver","_resizeObserver2","mutationObserver","_mutationObserver","_resizeObserver3","tabListChildren","firstTab","lastTab","observerOptions","handleScrollButtonStart","firstObserver","handleScrollButtonEnd","lastObserver","childIndex","childValue","previousItemKey","nextItemKey","getTextFieldUtilityClass","variantComponent","TextFieldRoot","TextField","FormHelperTextProps","helperText","InputLabelProps","InputProps","select","InputMore","helperTextId","inputLabelId","InputElement","defaultTrigger","disableHysteresis","threshold","defaultTarget","useScrollTrigger","getTrigger","setTrigger","_utils","Lock","_createSvgIcon","_jsxRuntime","alignIcon","locationDescriptor","translatedLabel","linkParams","getLinkParams","StyledButton","PREFIX","MuiButton","Add","CreateButton","resourceProp","scrollToTop","isSmall","scrollStates","StyledFab","CreateButtonClasses","ContentAdd","RemoveRedEye","ShowButton","recordProp","stopPropagation","ImageEye","PureShowButton","Sort","ArrowDropDown","SortButton","isXSmall","handleChangeSort","inverseOrder","buttonLabel","SortIcon","arePropsEqual","SortButton$1","Delete","useSidebarState","SidebarToggleButton","StyledIconButton","MenuIcon","SidebarToggleButtonClasses","LoadingIndicator","RefreshIconButton","LoadingIndicatorClasses","AccountCircle","UserMenuContext","UserMenuContextProvider","PowerSettingsNew","Logout","authenticated","StyledMenuItem","LogoutClasses","ExitIcon","UserMenu","isLargeEnough","handleMenu","UserMenuClasses","AnchorOrigin","TransformOrigin","HideOnScroll","TitlePortal","ThemesContext","useThemesContext","lightTheme","darkTheme","Brightness4","Brightness7","prefersDarkMode","themeValue","defaultThemeInvariants","defaultLightTheme","defaultDarkTheme","ToggleThemeButton","setTheme","handleTogglePaletteType","toggleThemeTitle","Brightness7Icon","Brightness4Icon","alwaysOn","toolbar","defaultToolbarElement","userMenu","DefaultUserMenu","StyledAppBar","AppBarClasses","DefaultToolbar","LocalesMenuButton","MuiAppBar","ApplicationUpdatedNotification","ButtonProps","updateText","notificationText","alertProps","handleButtonClick","CheckForApplicationUpdate","DEFAULT_NOTIFICATION","CheckCircle","ErrorOutline","Confirm","isOpen","content","confirm","confirmColor","ConfirmIcon","ActionCheck","AlertError","onConfirm","translateOptions","handleConfirm","StyledDialog","ConfirmClasses","Dashboard","MenuItemLink","primaryText","leftIcon","sidebarIsOpen","handleMenuTap","renderMenuItem","MenuItemLinkClasses","LinkRef","DashboardMenuItem","DashboardIcon","Report","ExpandMore","History","Settings","Configurable","openButtonLabel","prefixedPreferenceKey","hasPreferencesEditorContext","currentPreferenceKey","isEditorOpen","editorOpenRef","wrapperRef","isCustomizeButtonVisible","setIsCustomizeButtonVisible","handleOpenEditor","handleShowButton","handleHideButton","ConfigurableClasses","SettingsIcon","CancelOutlined","DeleteOutline","InspectorRoot","Inspector","isDragging","setVersion","dialogPosition","setDialogPosition","clickPosition","setClickPosition","handleDragStart","draggedElement","handleDragEnd","handleDragover","moveInspectorIfOutsideScreen","handleReset","StyledPaper","InspectorClasses","DeleteIcon","PageTitle","titleFromPreferences","PageTitleEditor","PageTitleConfigurable","Title","setContainer","isInTheDom","createPortal","Error","ErrorClasses","ErrorIcon","goBack","Sidebar","appBarAlwaysOn","closedSize","toggleSidebar","StyledDrawer","SidebarClasses","lodashGet","DRAWER_WIDTH","CLOSED_DRAWER_WIDTH","ViewList","ResourceMenuItem","DefaultIcon","ResourceMenuItems","hasDashboard","MenuClasses","Loading","loadingPrimary","loadingSecondary","oneSecondHasPassed","LoadingClasses","DefaultAppBar","errorComponent","DefaultMenu","DefaultSidebar","Core","SkipNavigationButton","LayoutClasses","Suspense","StyledProgress","MuiLinearProgress","HotTub","NotFound","sanitizeRestProps","NotFoundClasses","defaultAnchorOrigin","Notification","multiLine","currentNotification","setCurrentNotification","confirmationMessage","handleRequestClose","handleUndo","typeFromMessage","autoHideDurationFromMessage","multilineFromMessage","undoable","StyledSnackbar","NotificationClasses","TopToolbar","StyledToolbar","sanitizeToolbarRestProps","BulkDeleteWithConfirmButton","confirmTitle","confirmContent","deleteMany","ActionDelete","BulkDeleteWithUndoButton","BulkDeleteButton","GetApp","DeleteWithUndoButton","DeleteWithConfirmButton","DeleteButton","finalMutationMode","Create","EditButton","EditButtonClasses","ContentCreate","ExportButton","maxResults","customExporter","exporterFromContext","DownloadIcon","Translate","languagesProp","languages","setLocale","getNameForLocale","language","changeLocale","handleLanguageClick","ExpandMoreIcon","LanguageIcon","_Error","Refresh","NavigationRefresh","Save","SaveButton","invalid","alwaysEnable","isSubmitting","valueOrDefault","displayedLabel","circularProgressStyle","ContentSave","skipToContent","AuthError","AuthErrorClasses","LockIcon","AuthCallback","InputHelperText","defaultInnerHTML","sanitizeInputRestProps","afterSubmit","allowNull","beforeSubmit","formatOnBlur","initialValue","initializeForm","setFilter","submitError","validateFields","RemoveCircleOutline","useSupportCreateSuggestion","createLabel","createItemLabel","onCreate","renderOnCreate","setRenderOnCreate","finalValue","newSuggestion","CreateSuggestionContext","AutocompleteInput","choicesProp","debounceDelay","emptyText","emptyValue","fieldOverride","inputText","isFetchingProp","isLoadingProp","isPendingProp","isRequiredOverride","fieldStateOverride","filterToQueryProp","DefaultFilterToQuery","formStateOverride","shouldRenderSuggestions","sourceProp","TextFieldProps","filterToQuery","allChoices","fetchError","isFromReference","finalChoices","selectedChoice","useSelectedChoice","setFilterValue","debouncedSetFilter","getCreateItem","handleChangeWithCreateSupport","createId","isListItem","finalOnBlur","doesQueryMatchSelection","selectedItemTexts","doesQueryMatchSuggestion","hasOption","handleAutocompleteChange","_reason","renderHelperText","StyledAutocomplete","mergedTextFieldProps","AutocompleteInputClasses","tagProps","ignoredKey","selectedChoiceRef","getSelectedItems","setSelectedChoice","newSelectedItems","areSelectedItemsEqual","newSelectedChoice","selectedChoiceArray","newSelectedChoiceArray","newChoice","searchText","BooleanInput","DatagridClasses","DatagridRoot","DatagridCell","ExpandRowButton","expandContentId","DatagridContext","useDatagridContext","computeNbColumns","expand","hasBulkActions","DatagridRow","defaultRowClick","recordOverride","rowClick","selectable","expandable","nbColumns","setNbColumns","newNbColumns","handleToggleExpand","handleToggleSelection","areEqual","_1","_2","prevPropsWithoutChildren","_3","_4","nextPropsWithoutChildren","PureDatagridRow","DatagridBody","defaultData","defaultChildren","rowSx","rowStyle","isRowSelectable","rowIndex","PureDatagridBody","DatagridHeaderCell","updateSort","isSorting","sortLabel","StyledTableCell","DatagridHeaderCellClasses","DatagridHeaderCell$1","Placeholder","times","nbChildren","DatagridLoading","nbFakeLines","key1","key2","baseDifference","valuesLength","valuesIndex","_baseDifference","difference_1","ExpandAllButton","DatagridHeader","hasExpand","expandSingle","updateSortCallback","newField","newOrder","handleSelectAll","selectableIds","DatagridContextProvider","Close","BulkActionsToolbar","handleUnselectAllClick","BulkActionsToolbarClasses","ListNoResults","defaultBulkActionButtons","Datagrid","optimized","DefaultEmpty","bulkActionButtons","isRowExpandable","lastSelected","handleToggleItem","lastSelectedIndex","idsBetweenSelections","newSelectedIds","createOrCloneElement","FilterFormInput","filterElement","handleHide","emptyRecord","FilterFormInputClasses","ActionHide","FilterContext","FilterForm","filtersProps","mergedInitialValuesWithDefaultValues","mergeInitialValuesWithDefaultValues","newValues","getFilterFormValues","previousValues","isFormValid","FilterFormBase","handleFormSubmit","getShownFilters","isEmptyValue","StyledForm","FilterFormClasses","initialValues","getInputValue","inputValues","innerKey","nestedInputValue","FilterList","FilterButtonMenuItem","onShow","handleShow","useSavedQueries","extractValidSavedQueries","savedQueries","isValidSavedQuery","savedQuery","AddSavedQueryDialog","setSavedQueries","queryName","setQueryName","handleQueryNameChange","addQuery","newSavedQuery","newSavedQueries","RemoveSavedQueryDialog","removeQuery","savedQueryToRemove","savedFilter","FilterButton","filtersProp","disableSaveQuery","hasFilterValues","validSavedQueries","hasSavedCurrentQuery","hiddenFilters","handleClickButton","inputElement","addSavedQueryDialogOpen","setAddSavedQueryDialogOpen","hideAddSavedQueryDialog","showAddSavedQueryDialog","removeSavedQueryDialogOpen","setRemoveSavedQueryDialogOpen","hideRemoveSavedQueryDialog","showRemoveSavedQueryDialog","ContentFilter","matches_1","FilterListItem","getIsSelected","DefaultIsSelected","userToggleFilter","DefaultToggleFilter","toggleFilter","isSelected","StyledListItem","FilterListItemClasses","keysToRemove","Search","FilterLiveSearch","TextInput","SearchIcon","PaginationActions","nbPages","DefaultRowsPerPageOptions","hasNextPage","handlePageChange","handlePerPageChange","labelItem","DateInput","getStringFromDate","defaultInputLabelProps","convertDateToString","pad","yyyy","MM","Clear","ResettableTextField","clearAlwaysVisible","resettable","handleClickClearButton","clearButton","inputAdornedEnd","selectAdornment","visibleClearIcon","ResettableTextFieldClasses","InputPropsWithoutEndAdornment","getEndAdornment","handleMouseDownClearButton","StyledTextField","ResettableTextFieldStyles","MuiTextField","LoadingInput","StyledResettableTextField","ReferenceInput","renderEmptyItemOption","renderMenuItemOption","eventOrChoice","createItem","crudGetMatching","crudGetOne","validation","LoginForm","setLoading","login","submit","LoginFormClasses","Login","defaultLoginForm","backgroundImage","containerRef","backgroundImageLoaded","updateBackgroundImage","lazyLoadBackgroundImage","LoginClasses","DefaultLoginForm","CreateView","aside","Content","CreateClasses","EditActions","defaultActions","EditView","finalActions","EditClasses","Edit","isXs","ToolbarClasses","MuiToolbar","genericMemo","ArrayFieldImpl","listContext","ArrayField","Done","sanitizeFieldRestProps","cellClassName","headerClassName","linkType","sortable","sortBy","sortByOrder","BooleanFieldImpl","valueLabelTrue","valueLabelFalse","TrueIcon","DoneIcon","FalseIcon","looseValue","isTruthyValue","StyledTypography","BooleanField","ChipFieldImpl","StyledChip","ChipFieldClasses","ChipField","DateFieldImpl","showTime","showDate","defaultTransform","toLocaleStringSupportsLocales","dateOptions","DateField","EmailFieldImpl","EmailField","FunctionField","NumberFieldImpl","hasNumberFormat","NumberField","StyledMuiLink","RRLink","LinkClasses","MuiLink","SingleFieldList","resourceLinkPath","SingleFieldListClasses","DefaultChildComponent","ReferenceArrayField","PureReferenceArrayFieldView","ReferenceArrayFieldView","ReferenceArrayFieldClasses","ReferenceField","PureReferenceFieldView","ReferenceFieldView","ReferenceFieldClasses","ReferenceManyField","SelectFieldImpl","choiceText","SelectField","TextFieldImpl","UrlFieldImpl","UrlField","Inbox","Empty","resourceName","emptyMessage","inviteMessage","EmptyClasses","ListToolbar","ListActions","DefaultActions","DefaultPagination","defaultEmpty","ListView","emptyWhileLoading","renderList","ListClasses","renderEmpty","shouldRenderEmptyPage","listFieldTypes","ListGuesser","keepPreviousData","ListViewGuesser","setChild","enableLog","inferredElements","inferredChild","inferredChildElement","representation","SimpleListLoading","hasLeftAvatarOrIcon","hasRightAvatarOrIcon","hasSecondaryText","hasTertiaryText","StyledList","SimpleListLoadingClasses","SimpleList","leftAvatar","rightAvatar","rightIcon","secondaryText","tertiaryText","renderAvatar","avatarCallback","avatarValue","LinkOrNot","SimpleListClasses","classesOverride","AdminUI","loginPage","authCallbackPage","AdminContext","englishMessages","toStr","isArgs","keysShim","isEnumerable","hasDontEnumBug","hasProtoEnumBug","dontEnums","equalsConstructorPrototype","excludedKeys","hasAutomationEqualityBug","equalsConstructorPrototypeIfNotBuggy","theKeys","skipProto","skipConstructor","implementation","origKeys","originalKeys","keysWorksWithArguments","esErrors","_eval","syntax","uri","shams","sym","symObj","symVal","syms","origSymbol","hasSymbolSham","hasSymbols","test","$Object","hasProto","ERROR_MESSAGE","funcType","concatty","slicy","arrLike","joiny","joiner","that","bound","binder","boundLength","boundArgs","functionBind","call","$hasOwn","bind","hasown","undefined","$Error","$EvalError","$RangeError","$ReferenceError","$SyntaxError","$TypeError","$URIError","$Function","getEvalledConstructor","expressionSyntax","$gOPD","throwTypeError","ThrowTypeError","getProto","needsEval","TypedArray","INTRINSICS","errorProto","doEval","gen","LEGACY_ALIASES","hasOwn","$concat","$spliceApply","$replace","$strSlice","$exec","getBaseIntrinsic","allowMissing","intrinsicName","alias","getIntrinsic","intrinsicBaseName","intrinsic","intrinsicRealName","skipFurtherCaching","desc","GetIntrinsic","$defineProperty","esDefineProperty","gopd","defineDataProperty","nonEnumerable","nonWritable","nonConfigurable","loose","hasPropertyDescriptors","hasPropertyDescriptors_1","concat","supportsDescriptors","predicates","defineProperties_1","define","hasDescriptors","gOPD","$floor","setFunctionLength","functionLengthIsConfigurable","functionLengthIsWritable","$apply","$call","$reflectApply","$max","originalFunction","applyBind","callBind","$indexOf","callBound","CheckObjectCoercible","optMessage","RequireObjectCoercible","$Array","IsArray","Call","argumentsList","__viteBrowserExternal","hasMap","mapSizeDescriptor","mapSize","mapForEach","hasSet","setSizeDescriptor","setSize","setForEach","hasWeakMap","weakMapHas","hasWeakSet","weakSetHas","hasWeakRef","weakRefDeref","booleanValueOf","functionToString","$match","$slice","$toUpperCase","$toLowerCase","$test","$join","$arrSlice","bigIntValueOf","gOPS","symToString","hasShammedSymbols","toStringTag","gPO","addNumericSeparator","sepRegex","intStr","dec","utilInspect","inspectCustom","inspectSymbol","objectInspect","inspect_","customInspect","numericSeparator","inspectString","bigIntStr","maxDepth","indent","getIndent","indexOf","inspect","noIndent","newOpts","isRegExp","nameOf","arrObjKeys","symString","markBoxed","attrs","wrapQuotes","xs","singleLineValues","indentedJoin","mapParts","collectionOf","setParts","isWeakMap","weakCollectionOf","isWeakSet","isWeakRef","isNumber","isBigInt","ys","protoTag","constructorTag","defaultStyle","quoteChar","trailer","lowbyte","joinedEntries","baseIndent","lineJoiner","symMap","IsPropertyKey","Type","ES5Type","Get","HasProperty","fnToStr","reflectApply","badArrayLike","isCallableMarker","constructorRegex","isES6ClassFn","fnStr","tryFunctionObject","objectClass","fnClass","genClass","ddaClass","ddaClass2","ddaClass3","hasToStringTag","isIE68","isDDA","all","isCallable","strClass","IsCallable","$Math","$Number","maxSafeInteger","$abs","floor","ES5internalSlots","actualHint","es5","ToPrimitive","ToNumber","prim","trimmed","_isNaN","$isNaN","_isFinite","$isFinite","$sign","ToInteger","regexTester","getDay","tryDateObject","dateClass","symToStr","symStringRegex","isSymbolObject","isSymbolModule","ordinaryToPrimitive","hint","methodNames","GetMethod","es2015","exoticToPrim","toPrimitive","$RegExp","$parseInteger","isOctal","isInvalidHexLiteral","nonWS","nonWSregex","hasNonWS","ws","trimRegex","$trim","ES5ToInteger","ToIntegerOrInfinity","ToLength","LengthOfArrayLike","ToObject","$String","ToString","strValue","tryStringObject","$split","boxedString","splitString","callbackfn","thisO","kPresent","kValue","esArrayMethodBoxesProperly","properlyBoxesNonStrict","properlyBoxesStrict","threwException","arrayMethodBoxesProperly","polyfill","getPolyfill","boundCoercible","array_prototype_foreach","$isEnumerable","$push","entrys","object_entries","leftWhitespace","rightWhitespace","zeroWidthSpace","boundTrim","string_prototype_trim","forEach","warn","russianPluralGroups","lastTwo","defaultPluralRules","langToTypeMap","mapping","langs","lang","pluralTypeName","langToPluralType","pluralTypeIndex","pluralType","createMemoizedPluralTypeNameSelector","localePluralTypeStorage","constructTokenRegex","suffix","memoizedPluralTypeName","transformPhrase","phrase","substitutions","tokenRegex","interpolationRegex","pluralRulesOrDefault","texts","bestLocale","pluralTypeWithCount","Polyglot","newLocale","morePhrases","prefixedKey","newPhrases","onMissingKey","nodePolyglot","polyglotI18nProvider","getMessages","initialLocale","availableLocales","polyglotOptions","messages","availableLocalesFinal","polyglotOptionsFinal","polyglot","newPolyglot","defaultMessages","Admin","Header","username","MonetizationOn","sectors","sector","CompanyAvatar","CompanyCard","setElevation","ContactsIcon","DealIcon","LoadingGridList","LoadedGridList","ImageList","Business","LocalShipping","SupervisorAccount","CompanyListFilter","BusinessIcon","LocalShippingIcon","SupervisorAccountIcon","CompanyList","CompanyListActions","CompanyForm","sales","CompanyCreate","PersonAdd","MuiAvatar","getColorFromStatus","Status","ColoredChipField","TagsList","sizeInPixel","LogoField","CompanyAside","stages","stageNames","stageChoices","getDealsByStage","unorderedDeals","dealsByStage","deal","stage","recordA","recordB","CompanyShow","CompanyShowContent","tabValue","setTabValue","handleTabChange","TabPanel","CreateRelatedContactButton","ContactsIterator","DealsIterator","contacts","contact","RouterLink","company","PersonAddIcon","deals","CompanyEdit","companies","ControlPoint","TagsListEdit","newTagName","setNewTagName","newTagColor","setNewTagColor","setDisabled","allTags","isPendingAllTags","isPendingRecordTags","unselectedTags","handleDeleteTag","tagId","handleAddTag","handleOpenCreateDialog","handleNewTagNameChange","handleCreateTag","ControlPointIcon","EditIcon","RoundButton","taskTypes","AddTask","MoreVert","Task","task","showContact","isUpdatePending","handleCheck","MoreVertIcon","TasksIterator","tasks","genders","ContactAside","StatusSelector","NewNote","showStatus","setText","setDate","getCurrentDate","foreignKeyMapping","Note","note","isHover","setHover","isEditing","setEditing","noteText","setNoteText","deleteNote","handleEnterEditMode","handleCancelEdit","handleTextChange","handleNoteUpdate","TrashIcon","NotesIterator","ContactShow","ContactShowContent","AccessTime","TrendingUp","LocalOffer","ContactListFilter","AccessTimeIcon","TrendingUpIcon","LocalOfferIcon","ContactListContent","ContactListActions","_err","ContactList","RaList","isUrl","ContactInputs","handleCreateCompany","ContactEdit","ContactEditContent","ContactCreate","Home","Code","Welcome","HomeIcon","CodeIcon","AttachMoney","updateQueue","makeQueue","raf","writeQueue","onStartQueue","onFrameQueue","onFinishQueue","pendingCount","findTimeout","sync","queuedFn","throttled","nativeRaf","impl","ts","loop","prevTs","eachSafely","each","defineHidden","eachProp","toArray","iterator","flushCalls","isSSR","createStringInterpolator$1","colors$1","skipAnimation","willAdvance","globals","startQueue","currentFrame","prevFrame","frameLoop","flushStartQueue","startSafely","advance","prevIndex","startUnsafely","dt","nextFrame","NUMBER","PERCENTAGE","rgba","hsl","hsla","hex3","hex4","hex6","hex8","normalizeColor","parse255","parse1","parse360","parsePercentage","hue2rgb","colorToRgba","int32Color","createInterpolator","extrapolate","outputRange","inputRange","extrapolateLeft","extrapolateRight","findRange","interpolate","inputMin","inputMax","outputMin","outputMax","$get","$observers","hasFluidValue","getFluidValue","getFluidObservers","callFluidObserver","callFluidObservers","observers","_FluidValue","setFluidGetter","FluidValue","setHidden","addFluidObserver","removeFluidObserver","numberRegex","colorRegex","unitRegex","rgbaRegex","cssVariableRegex","variableToRgba","parseCSSVariable","namedColorRegex","rgbaRound","p3","p4","createStringInterpolator","interpolators","_output$find","missingUnit","called","warnInterpolate","deprecateInterpolate","warnDirectCall","deprecateDirectCall","isAnimatedString","useForceUpdate","useMemoOne","getResult","inputs","initial","committed","prevCache","areInputsEqual","useOnce","emptyDeps","usePrev","prevRef","$node","isAnimated","getAnimated","setAnimated","getPayload","_Animated","Animated","_AnimatedValue","AnimatedValue","_AnimatedString","goal","AnimatedString","TreeContext","_AnimatedObject","animated","AnimatedObject","_AnimatedArray","makeAnimated","AnimatedArray","getAnimatedType","parentNode","withAnimated","host","hasInstance","givenProps","givenRef","instanceRef","updateRef","deps","getAnimatedState","forceUpdate","PropsObserver","observerRef","usedProps","_PropsObserver","dependencies","cacheKey","createHost","_applyAnimatedValues","_createAnimatedStyle","_getComponentProps","hostConfig","callProp","matchProp","resolveProp","getDefaultProp","noopTransform","getDefaultProps","DEFAULT_PROPS","RESERVED_PROPS","getForwardProps","forward","inferTo","out","computeGoal","Globals","hasProps","isAsyncTo","detachRefs","ctrl","_ctrl$ref","replaceRef","_ctrl$ref2","c1","c2","c3","c4","c5","bounceOut","easings","_AnimationConfig","AnimationConfig","mergeConfig","newConfig","defaultConfig","sanitizeConfig","mass","frequency","damping","isTensionConfig","_Animation","Animation","scheduleProps","callId","_props$cancel","onStart","onResume","onPause","getCombinedResult","getCancelledResult","getNoopResult","getFinishedResult","finished","runAsync","parentId","onRest","prevTo","prevPromise","preventBail","bail","bailPromise","bailIfEnded","bailSignal","bailResult","arg1","arg2","BailSignal","skipAnimationSignal","SkipAniamtionSignal","stopAsync","resume","animating","cancelId","_BailSignal","_SkipAniamtionSignal","isFrameValue","FrameValue","nextId$1","_FrameValue","idle","$P","HAS_ANIMATED","IS_ANIMATING","IS_PAUSED","hasAnimated","isAnimating","isPaused","setActiveBit","setPausedBit","paused","_SpringValue","changed","anim","toValues","elapsed","v0","velocity","decay","precision","restVelocity","bounceFactor","canBounce","isGrowing","isMoving","isBouncing","numSteps","springForce","dampingForce","acceleration","currVal","finalVal","isLoop","mergeActiveFn","sendEvent","checkFinished","createLoopUpdate","hasToProp","hasFromProp","prevFrom","hasFromChanged","hasToChanged","hasAsyncTo","isAnimatable","immediate","nodeType","goalType","started","hasValueChanged","ACTIVE_EVENTS","oldNode","SpringValue","loopRet","overrides","reverse","createUpdate","findDefined","declareUpdate","_target$animation$typ","_target$animation","_target$defaultProps$","_target$defaultProps","BATCHED_EVENTS","nextId","_Controller","spring","prepareKeys","flushUpdateQueue","springs","Controller","flushUpdate","onResolve","asyncTo","getSprings","prepareSprings","createSpring","setSprings","_excluded$3","SpringContext","Provider","makeContext","SpringRef","_getProps","useSprings","propsFn","layoutId","ctrls","prevLength","declareUpdates","prevContext","hasContext","useSpring","isFn","TransitionPhase","useTransition","trail","expires","exitBeforeEnter","onDestroyed","propsRef","propsConfig","usedTransitions","prevTransitions","_t$ctrl$ref","change","changes","getKeys","expired","reused","leave","exitingTransitions","forceChange","prevPhase","propsDelay","isLeave","expiry","expiryMs","ind","renderTransitions","elem","_Interpolation","_dt","oldValue","checkIdle","becomeIdle","highest","Interpolation","isIdle","_excluded$2","isCustomPropRE","dangerousStyleValue","isUnitlessNumber","attributeCache","applyAnimatedValues","isFilterElement","prefixKey","prefixes","_excluded$1","domTransforms","pxTransforms","degTransforms","addUnit","isValueIdentity","_AnimatedStyle","transforms","xyz","deg","FluidTransform","AnimatedStyle","_FluidTransform","primitives","unstable_batchedUpdates","factory","extend","Color","darker","brighter","reI","reN","reP","reHex","reRgbInteger","reRgbPercent","reRgbaInteger","reRgbaPercent","reHslPercent","reHslaPercent","named","channels","color_formatHex","color_formatHsl","color_formatRgb","hslConvert","rgbn","Rgb","rgbConvert","rgb_formatHex","rgb_formatRgb","Hsl","m2","m1","hsl2rgb","radians","degrees","ED","EB","BC_DA","cubehelixConvert","Cubehelix","cubehelix","cosh","sinh","basis","t1","v1","v2","v3","t2","t3","basis$1","constant$1","linear","exponential","hue","nogamma","rgbGamma","colorRgb","rgbSpline","spline","rgbBasis","numberArray","isNumberArray","genericArray","date$3","interpolateNumber","reA","reB","zero","one","R$2","am","bm","bs","interpolateRound","cubehelixGamma","colorCubehelix","cubehelixLong","isString_1","ascending","bisector","compare","ascendingComparator","lo","mid","number$2","ascendingBisect","bisectRight","e10","e5","e2","ticks","tickIncrement","r0","r1","power","tickStep","step0","step1","sequence","initRange","domain","implicit","ordinal","unknown","scale","band","ordinalRange","bandwidth","paddingInner","paddingOuter","rescale","pointish","point","constants","normalize","clamper","bimap","d0","d1","polymap","bisect","interpolateValue","untransform","piecewise","continuous","formatDecimal$1","formatDecimalParts","exponent$1","formatGroup$1","grouping","thousands","formatNumerals$1","numerals","formatSpecifier","specifier","FormatSpecifier","formatTrim$1","i0","i1","prefixExponent","formatPrefixAuto$1","exponent","formatRounded$1","formatTypes$1","formatDecimal","formatRounded","formatPrefixAuto","identity$2","formatLocale$2","formatGroup","currencyPrefix","currencySuffix","decimal","formatNumerals","percent","minus","nan","newFormat","fill","comma","formatTypes","formatType","maybeSuffix","valuePrefix","valueSuffix","valueNegative","formatTrim","formatPrefix","formatLocale","precisionFixed","precisionPrefix","precisionRound","tickFormat","linearish","prestep","maxIter","nice","x0","x1","transformLog","transformExp","transformLogn","transformExpn","pow10","powp","logp","reflect","loggish","logs","pows","log","transformSymlog","transformSymexp","symlogish","symlog","t0","newInterval","floori","offseti","millisecond","durationSecond","durationMinute","durationHour","durationDay","durationWeek","durationMonth","durationYear","second","minute","hour","weekday","sunday","monday","tuesday","wednesday","thursday","friday","saturday","utcMinute","utcHour","utcDay","utcWeekday","utcSunday","utcMonday","utcTuesday","utcWednesday","utcThursday","utcFriday","utcSaturday","utcMonth","utcYear","ticker","tickIntervals","tickInterval","utcTicks","utcTickInterval","utcWeek","timeTicks","timeTickInterval","localDate","newDate","locale_dateTime","locale_date","locale_time","locale_periods","locale_weekdays","locale_shortWeekdays","locale_months","locale_shortMonths","periodRe","formatRe","periodLookup","formatLookup","weekdayRe","weekdayLookup","shortWeekdayRe","shortWeekdayLookup","monthRe","monthLookup","shortMonthRe","shortMonthLookup","formats","formatShortWeekday","formatWeekday","formatShortMonth","formatMonth","formatDayOfMonth","formatMicroseconds","formatYearISO","formatFullYearISO","formatHour24","formatHour12","formatDayOfYear","formatMilliseconds","formatMonthNumber","formatMinutes","formatPeriod","formatQuarter","formatUnixTimestamp","formatUnixTimestampSeconds","formatSeconds","formatWeekdayNumberMonday","formatWeekNumberSunday","formatWeekNumberISO","formatWeekdayNumberSunday","formatWeekNumberMonday","formatYear","formatFullYear","formatZone","formatLiteralPercent","utcFormats","formatUTCShortWeekday","formatUTCWeekday","formatUTCShortMonth","formatUTCMonth","formatUTCDayOfMonth","formatUTCMicroseconds","formatUTCYearISO","formatUTCFullYearISO","formatUTCHour24","formatUTCHour12","formatUTCDayOfYear","formatUTCMilliseconds","formatUTCMonthNumber","formatUTCMinutes","formatUTCPeriod","formatUTCQuarter","formatUTCSeconds","formatUTCWeekdayNumberMonday","formatUTCWeekNumberSunday","formatUTCWeekNumberISO","formatUTCWeekdayNumberSunday","formatUTCWeekNumberMonday","formatUTCYear","formatUTCFullYear","formatUTCZone","parses","parseShortWeekday","parseWeekday","parseShortMonth","parseMonth","parseLocaleDateTime","parseDayOfMonth","parseMicroseconds","parseFullYear","parseHour24","parseDayOfYear","parseMilliseconds","parseMonthNumber","parseMinutes","parsePeriod","parseQuarter","parseUnixTimestamp","parseUnixTimestampSeconds","parseSeconds","parseWeekdayNumberMonday","parseWeekNumberSunday","parseWeekNumberISO","parseWeekdayNumberSunday","parseWeekNumberMonday","parseLocaleDate","parseLocaleTime","parseZone","parseLiteralPercent","pads","newParse","parseSpecifier","timeMonday","timeDay","numberRe","percentRe","requoteRe","requote","timeYear","timeSunday","dISO","timeThursday","dow","UTCdISO","timeFormat","timeParse","utcFormat","utcParse","calendar","invert","formatMillisecond","formatSecond","formatMinute","formatHour","formatDay","formatWeek","timeMonth","timeWeek","timeHour","timeMinute","timeSecond","utcTime","utcSecond","e$1","o$1","u$1","a$1","ramp$1","interpolateRgbBasis","ramp","ne$2","interpolateCubehelixLong","warm","cool","be$2","pi_1_3","pi_2_3","ve$2","X$4","Y$4","magma","inferno","plasma","without","without_1","epsilon","Linear","dr$1","Basis","$e$2","BasisClosed","er$1","BasisOpen","y0","rr$1","Bundle","beta","dx","dy","tr$1","custom","bundle","Cardinal","tension","ir$1","cardinal","CardinalClosed","nr$1","CardinalOpen","or$1","y1","x2","y2","CatmullRom","x23","y23","ar$1","catmullRom","CatmullRomClosed","sr$1","CatmullRomOpen","lr$1","LinearClosed","ur$1","slope3","h0","s0","s1","slope2","MonotoneX","MonotoneY","ReflectContext","monotoneX","monotoneY","Natural","controlPoints","py","pr$2","Step","hr$1","stepBefore","stepAfter","wr$1","series","Rr$1","stackValue","A$2","orderNone","offsetNone","kz","sz","oz","sij","kr$1","none","j$2","yp","yn","xr$1","Or$1","s2","sij0","sij1","s3","skj0","skj1","appearance","peaks","peak","br$1","sums","sum","yr$1","vr$1","tops","bottoms","qr$1","identity$1","Gr","Lr","Ir","Yr","Ar","Fr","Er","Ur","Xr","Kr","Hr","Vr","Jr","Qr","Zr","$r","et","rt","tt","nt","$","ot","ht","er","rr","tr","ir","nr","or","ar","sr","lr","dr","ur","fr","cr","pr","hr","gr","mr","gt","vt","br","yr","vr","Rr","qr","wt","Ct","kr","wr","xr","Or","Wt","Tt","Yt","At","Ft","Et","Ut","Wr","Cr","Xt","Kt","Ht","Nt","Vt","Jt","Qt","Zt","en","jr","Mr","Dr","rn","uniqBy","uniqBy_1","baseForOwn","_baseForOwn","createBaseEach","eachFunc","_createBaseEach","baseEach","_baseEach","baseMap","_baseMap","baseSortBy","comparer","_baseSortBy","compareAscending","valIsDefined","valIsNull","valIsReflexive","valIsSymbol","othIsDefined","othIsNull","othIsReflexive","othIsSymbol","_compareAscending","compareMultiple","orders","objCriteria","othCriteria","ordersLength","_compareMultiple","baseOrderBy","iteratees","_baseOrderBy","nn","tn","cn","pn","hn","gn","xn","kn","t.createElement","customOmitClone","_customOmitClone","omit","omit_1","isNumber_1","baseFilter","_baseFilter","filter_1","lt","at","ct","st","a.createElement","multiplier","DealsChart","dealsByMonth","AttachMoneyIcon","ResponsiveBar","Contacts","HotContacts","contactData","contactTotal","contactsLoading","LatestNotes","contactNotesData","contactNotesLoading","dealNotesData","dealNotesLoading","allNotes","NoteIcon","Deal","Contact","AssignmentTurnedIn","TasksList","tasksLoading","AssignmentTurnedInIcon","Gt","qt","ut","zt","ft","kt","Tr","Sr","Pr","Nr","Br","zr","ga","an","sn","on","ln","un","dn","bn","vn","$n","mn","An","wn","Tn","On","Cn","Sn","jn","En","In","Pn","Nn","Mn","Rn","Ln","Dn","Fn","Bn","Un","Gn","Kn","pt","Hn","qn","zn","Vn","Jn","Qn","Wn","Xn","Yn","Zn","es","rs","as","ns","ss","os","cs","ls","us","fs","ds","hs","gs","ps","vs","$s","As","Ts","Os","Cs","Ss","js","Es","Is","Ps","Ns","Ms","Rs","Ls","yt","Ds","Fs","Bs","Us","Gs","bt","Ks","Hs","qs","zs","Vs","Js","Qs","Ws","Xs","Ys","Zs","ks","$t","mt","eo","ro","ao","no","so","io","oo","co","uo","fo","ho","go","po","yo","bo","vo","$o","mo","Ao","wo","To","Oo","Co","So","jo","Eo","Io","Po","xo","No","Mo","Ro","Lo","Do","Fo","Bo","Uo","Go","Ko","Ho","qo","zo","Vo","Jo","Qo","Wo","Xo","Yo","Zo","ko","Ot","St","jt","It","Pt","yl","$l","Al","wl","Tl","Ol","Cl","Sl","El","Il","Pl","xl","Nl","Ml","Rl","Ll","Dl","Fl","Bl","Ul","Gl","Kl","Hl","zl","Vl","Jl","Ql","Wl","Xl","Yl","Zl","eu","tu","ru","au","nu","su","iu","ou","cu","lu","uu","fu","du","hu","gu","pu","yu","bu","vu","$u","_u","mu","Au","wu","Tu","Ou","Cu","Su","ju","Eu","Iu","Pu","xu","Nu","Mu","xt","Ru","Lu","Du","Fu","Bu","Uu","Gu","Mt","Ku","Hu","qu","zu","Vu","Ju","Qu","Wu","Xu","Yu","Zu","ku","Rt","Lt","_ot","Dt","_Ud","_Gd","delayed","fakeRestDataProvider","loggingEnabled","database","Database","getResponse","handle","UndefinedResourceError","paramsWithoutSignal","_UndefinedResourceError","Fake","faker","fake","regExp","unique","found","exclude","currentIterations","defaultCompare","startTime","unique_1","uniqueExec","Unique","maxTime","maxRetries","MersenneTwister19937","MATRIX_A","UPPER_MASK","LOWER_MASK","mti","unsigned32","n1","subtraction32","n2","addition32","multiplication32","init_key","key_length","mag01","mersenne","Random","randomNumber","arrayCopy","countToRemove","indexToRemove","RFC4122_TEMPLATE","replacePlaceholders","random","wordMethods","randomWordMethod","words","wholeString","Helpers","getCheckBit","curr","numberList","checkNum","RANGE_REP_REG","REP_REG","RANGE_REG","tmp","repetitions","userName","Name","gender","firstName","lastName","level","job","Address","localeFormat","zipRange","useFullAddress","address","alphaCode","useAbbr","coordinate","radius","isMetric","degreesToRadians","radiansToDegrees","kilometersToMiles","miles","coordinateWithOffset","bearing","lat1","lon1","lat2","lon2","randomCoord","Company","digitStr","Finance","ibanLib","routingNumber","parens","ellipsis","randValue","addressLength","provider","cvv","formatted","countryCode","ibanFormat","findFormat","currentFormat","bban","checksum","iban","vowels","prob","account","card","currency","transactionType","Lorempixel","randomize","categories","category","Unsplash","keyword","keywordFormat","LoremPicsum","grayscale","blur","Image","https","protocol","svgString","rawPrefix","Lorem","hasRightLength","word","properLengthWords","wordCount","sentence","sentenceCount","sentences","paragraphCount","paragraphs","loremMethods","randomLoremMethod","lineCount","Hacker","userAgent","rnd","rand","return_val","randomLang","randomBrowserAndOS","browser","randomProc","arch","procs","randomRevision","dots","version_string","delim","firefox_ver","gecko_ver","proc","os_ver","ver","presto_ver","safari","random_ua","Internet","protocols","httpMethods","randNum","randHash","baseRed255","baseGreen255","baseBlue255","redStr","greenStr","blueStr","sep","mac","validSep","memorable","consonant","vowel","_password","Phone","phoneFormatsArrayIndex","_Date","refDate","past","fromMilli","dateOffset","newDates","lastDate","_Time","outputType","Commerce","System","ext","mimes","mimeType","exts","Git","hexChars","noun","verb","commit","shortSha","Vehicle","Music","Faker","localeFallback","_definitions","internet","phone_number","en_US","lorem","cell_phone","business","commerce","team","hacker","app","credit_card","finance","system","vehicle","music","generateSales","randomSales","first_name","last_name","generateTags","weightedBoolean","likelyhood","randomDate","minDate","maxDate","minTs","randomRange","generateCompanies","phone","maxContacts","generateContacts","numberOfContacts","has_avatar","fakerCompany","first_seen","last_seen","generateContactNotes","generateTasks","generateDeals","lowercaseName","created_at","generateDealNotes","finalize","generateData","baseDataProvider","TASK_MARKED_AS_DONE","TASK_MARKED_AS_UNDONE","TASK_DONE_NOT_CHANGED","taskUpdateType","contact_id","DealList","React.lazy","__vitePreload","App"],"ignoreList":[0,1,2,3,4,5,6,7,8,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,220,221,222,223,224,237,238,239,240,241,243,253,254,255,256,257,258,259,260,261,262,263,264,278,279,280,281,282,283,284,285,307,308,309,310,311,312,313,314,320,321,322,323,324,325,326,327,328,329,330,343,351,392,402,403,407,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878,879,880,881,882,883,884,885,886,887,888,889,890,891,892,893,894,895,896,897,898,899,900,901,902,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,968,970,972,973,975,976,980,983,990,991,999,1000,1002,1005,1006,1007,1008,1010,1011,1019,1027,1034,1038,1041,1043,1044,1046,1053,1067,1068,1072,1079,1086,1088,1093,1109,1125,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,1156,1157,1158,1159,1160,1161,1162,1163,1164,1165,1166,1167,1168,1170,1171,1172,1173,1174,1175,1176,1177,1178,1179,1180,1181,1182,1183,1184,1185,1186,1187,1188,1189,1190,1191,1192,1193,1194,1195,1196,1197,1198,1199,1200,1201,1202,1203,1204,1205,1206,1207,1208,1209,1210,1211,1212,1213,1214,1215,1216,1217,1224,1229,1230,1231,1237,1247,1248,1252,1262,1263,1264,1271,1272,1274,1275,1276,1277,1278,1279,1280,1281,1282,1283,1284,1285,1286,1287,1288,1289,1290,1291,1292,1293,1294,1295,1296,1297,1298,1299,1300,1301,1302,1303,1304,1305,1306,1307,1308,1309,1310,1311,1312,1313,1314,1315,1316,1317,1318,1319,1320,1321,1322,1323,1324,1325,1326,1327,1328,1329,1330,1331,1332,1333,1334,1335,1336,1337,1338,1339,1340,1341,1342,1343,1344,1345,1346,1347,1348,1349,1350,1351,1352,1353,1354,1355,1356,1357,1358,1359,1360,1361,1362,1363,1364,1365,1366,1367,1368,1369,1370,1371,1372,1373,1374,1375,1376,1377,1378,1379,1380,1381,1382,1383,1384,1385,1386,1387,1388,1389,1390,1391,1392,1393,1394,1395,1396,1397,1398,1399,1400,1401,1402,1403,1404,1405,1406,1407,1408,1409,1410,1411,1412,1413,1414,1415,1416,1417,1418,1419,1420,1421,1422,1423,1424,1425,1426,1427,1428,1429,1430,1431,1432,1433,1434,1435,1436,1437,1438,1439,1440,1441,1442,1443,1444,1445,1446,1447,1448,1449,1450,1451,1452,1453,1454,1455,1456,1457,1458,1459,1460,1461,1462,1463,1464,1465,1466,1467,1468,1469,1470,1471,1472,1473,1474,1475,1476,1478,1480,1482,1485,1487,1488,1489,1490,1491,1492,1493,1494,1495,1496,1497,1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1512,1513,1514,1515,1516,1517,1518,1519,1520,1521,1522,1523,1524,1525,1526,1527,1528,1529,1530,1531,1532,1533,1534,1535,1536,1537,1538,1539,1540,1541,1542,1543,1544,1545,1546,1547,1548,1549,1550,1551,1552,1553,1554,1555,1556,1557,1558,1559,1560,1561,1562,1563,1564,1565,1566,1567,1568,1569,1570,1571,1572,1573,1574,1575,1576,1577,1578,1579,1580,1581,1582,1583,1584,1585,1586,1587,1588,1589,1590,1591,1592,1593,1594,1595,1596,1597,1598,1599,1600,1601,1602,1603,1604,1605,1606,1607,1608,1609,1610,1611,1612,1613,1614,1615,1616,1617,1618,1619,1620,1621,1622,1623,1624,1625,1626,1627,1628,1629,1630,1631,1632,1633,1634,1635,1638],"sources":["../../../../node_modules/react/cjs/react.production.min.js","../../../../node_modules/react/index.js","../../../../node_modules/react/cjs/react-jsx-runtime.production.min.js","../../../../node_modules/react/jsx-runtime.js","../../../../node_modules/scheduler/cjs/scheduler.production.min.js","../../../../node_modules/scheduler/index.js","../../../../node_modules/react-dom/cjs/react-dom.production.min.js","../../../../node_modules/react-dom/index.js","../../../../node_modules/react-dom/client.js","../../../../packages/ra-core/src/auth/AuthContext.tsx","../../../../packages/ra-core/src/auth/useAuthProvider.ts","../../../../node_modules/@tanstack/query-core/build/modern/subscribable.js","../../../../node_modules/@tanstack/query-core/build/modern/utils.js","../../../../node_modules/@tanstack/query-core/build/modern/focusManager.js","../../../../node_modules/@tanstack/query-core/build/modern/onlineManager.js","../../../../node_modules/@tanstack/query-core/build/modern/retryer.js","../../../../node_modules/@tanstack/query-core/build/modern/notifyManager.js","../../../../node_modules/@tanstack/query-core/build/modern/removable.js","../../../../node_modules/@tanstack/query-core/build/modern/query.js","../../../../node_modules/@tanstack/query-core/build/modern/queryCache.js","../../../../node_modules/@tanstack/query-core/build/modern/mutation.js","../../../../node_modules/@tanstack/query-core/build/modern/mutationCache.js","../../../../node_modules/@tanstack/query-core/build/modern/infiniteQueryBehavior.js","../../../../node_modules/@tanstack/query-core/build/modern/queryClient.js","../../../../node_modules/@tanstack/query-core/build/modern/queryObserver.js","../../../../node_modules/@tanstack/query-core/build/modern/mutationObserver.js","../../../../node_modules/@tanstack/react-query/build/modern/QueryClientProvider.js","../../../../node_modules/@tanstack/react-query/build/modern/isRestoring.js","../../../../node_modules/@tanstack/react-query/build/modern/QueryErrorResetBoundary.js","../../../../node_modules/@tanstack/react-query/build/modern/utils.js","../../../../node_modules/@tanstack/react-query/build/modern/errorBoundaryUtils.js","../../../../node_modules/@tanstack/react-query/build/modern/suspense.js","../../../../node_modules/@tanstack/react-query/build/modern/useBaseQuery.js","../../../../node_modules/@tanstack/react-query/build/modern/useQuery.js","../../../../node_modules/@tanstack/react-query/build/modern/useMutation.js","../../../../node_modules/@remix-run/router/dist/router.js","../../../../node_modules/react-router/dist/index.js","../../../../node_modules/react-router-dom/dist/index.js","../../../../packages/ra-core/src/store/localStorageStore.ts","../../../../node_modules/lodash/_freeGlobal.js","../../../../node_modules/lodash/_root.js","../../../../node_modules/lodash/_Symbol.js","../../../../node_modules/lodash/_getRawTag.js","../../../../node_modules/lodash/_objectToString.js","../../../../node_modules/lodash/_baseGetTag.js","../../../../node_modules/lodash/isObject.js","../../../../node_modules/lodash/isFunction.js","../../../../node_modules/lodash/_coreJsData.js","../../../../node_modules/lodash/_isMasked.js","../../../../node_modules/lodash/_toSource.js","../../../../node_modules/lodash/_baseIsNative.js","../../../../node_modules/lodash/_getValue.js","../../../../node_modules/lodash/_getNative.js","../../../../node_modules/lodash/_defineProperty.js","../../../../node_modules/lodash/_baseAssignValue.js","../../../../node_modules/lodash/eq.js","../../../../node_modules/lodash/_assignValue.js","../../../../node_modules/lodash/isArray.js","../../../../node_modules/lodash/isObjectLike.js","../../../../node_modules/lodash/isSymbol.js","../../../../node_modules/lodash/_isKey.js","../../../../node_modules/lodash/_nativeCreate.js","../../../../node_modules/lodash/_hashClear.js","../../../../node_modules/lodash/_hashDelete.js","../../../../node_modules/lodash/_hashGet.js","../../../../node_modules/lodash/_hashHas.js","../../../../node_modules/lodash/_hashSet.js","../../../../node_modules/lodash/_Hash.js","../../../../node_modules/lodash/_listCacheClear.js","../../../../node_modules/lodash/_assocIndexOf.js","../../../../node_modules/lodash/_listCacheDelete.js","../../../../node_modules/lodash/_listCacheGet.js","../../../../node_modules/lodash/_listCacheHas.js","../../../../node_modules/lodash/_listCacheSet.js","../../../../node_modules/lodash/_ListCache.js","../../../../node_modules/lodash/_Map.js","../../../../node_modules/lodash/_mapCacheClear.js","../../../../node_modules/lodash/_isKeyable.js","../../../../node_modules/lodash/_getMapData.js","../../../../node_modules/lodash/_mapCacheDelete.js","../../../../node_modules/lodash/_mapCacheGet.js","../../../../node_modules/lodash/_mapCacheHas.js","../../../../node_modules/lodash/_mapCacheSet.js","../../../../node_modules/lodash/_MapCache.js","../../../../node_modules/lodash/memoize.js","../../../../node_modules/lodash/_memoizeCapped.js","../../../../node_modules/lodash/_stringToPath.js","../../../../node_modules/lodash/_arrayMap.js","../../../../node_modules/lodash/_baseToString.js","../../../../node_modules/lodash/toString.js","../../../../node_modules/lodash/_castPath.js","../../../../node_modules/lodash/_isIndex.js","../../../../node_modules/lodash/_toKey.js","../../../../node_modules/lodash/_baseSet.js","../../../../node_modules/lodash/set.js","../../../../node_modules/lodash/last.js","../../../../node_modules/lodash/_baseGet.js","../../../../node_modules/lodash/_baseSlice.js","../../../../node_modules/lodash/_parent.js","../../../../node_modules/lodash/_baseUnset.js","../../../../node_modules/lodash/unset.js","../../../../node_modules/lodash/get.js","../../../../packages/ra-core/src/store/memoryStore.tsx","../../../../packages/ra-core/src/store/StoreContext.tsx","../../../../packages/ra-core/src/store/StoreContextProvider.tsx","../../../../packages/ra-core/src/store/useStoreContext.ts","../../../../node_modules/lodash/_stackClear.js","../../../../node_modules/lodash/_stackDelete.js","../../../../node_modules/lodash/_stackGet.js","../../../../node_modules/lodash/_stackHas.js","../../../../node_modules/lodash/_stackSet.js","../../../../node_modules/lodash/_Stack.js","../../../../node_modules/lodash/_setCacheAdd.js","../../../../node_modules/lodash/_setCacheHas.js","../../../../node_modules/lodash/_SetCache.js","../../../../node_modules/lodash/_arraySome.js","../../../../node_modules/lodash/_cacheHas.js","../../../../node_modules/lodash/_equalArrays.js","../../../../node_modules/lodash/_Uint8Array.js","../../../../node_modules/lodash/_mapToArray.js","../../../../node_modules/lodash/_setToArray.js","../../../../node_modules/lodash/_equalByTag.js","../../../../node_modules/lodash/_arrayPush.js","../../../../node_modules/lodash/_baseGetAllKeys.js","../../../../node_modules/lodash/_arrayFilter.js","../../../../node_modules/lodash/stubArray.js","../../../../node_modules/lodash/_getSymbols.js","../../../../node_modules/lodash/_baseTimes.js","../../../../node_modules/lodash/_baseIsArguments.js","../../../../node_modules/lodash/isArguments.js","../../../../node_modules/lodash/stubFalse.js","../../../../node_modules/lodash/isBuffer.js","../../../../node_modules/lodash/isLength.js","../../../../node_modules/lodash/_baseIsTypedArray.js","../../../../node_modules/lodash/_baseUnary.js","../../../../node_modules/lodash/_nodeUtil.js","../../../../node_modules/lodash/isTypedArray.js","../../../../node_modules/lodash/_arrayLikeKeys.js","../../../../node_modules/lodash/_isPrototype.js","../../../../node_modules/lodash/_overArg.js","../../../../node_modules/lodash/_nativeKeys.js","../../../../node_modules/lodash/_baseKeys.js","../../../../node_modules/lodash/isArrayLike.js","../../../../node_modules/lodash/keys.js","../../../../node_modules/lodash/_getAllKeys.js","../../../../node_modules/lodash/_equalObjects.js","../../../../node_modules/lodash/_DataView.js","../../../../node_modules/lodash/_Promise.js","../../../../node_modules/lodash/_Set.js","../../../../node_modules/lodash/_WeakMap.js","../../../../node_modules/lodash/_getTag.js","../../../../node_modules/lodash/_baseIsEqualDeep.js","../../../../node_modules/lodash/_baseIsEqual.js","../../../../node_modules/lodash/isEqual.js","../../../../packages/ra-core/src/i18n/substituteTokens.ts","../../../../packages/ra-core/src/i18n/I18nContext.ts","../../../../packages/ra-core/src/notification/AddNotificationContext.tsx","../../../../packages/ra-core/src/notification/NotificationContext.ts","../../../../packages/ra-core/src/notification/NotificationContextProvider.tsx","../../../../packages/ra-core/src/notification/useAddNotificationContext.tsx","../../../../packages/ra-core/src/notification/useNotificationContext.ts","../../../../packages/ra-core/src/notification/useNotify.ts","../../../../packages/ra-core/src/i18n/I18nContextProvider.tsx","../../../../node_modules/lodash/_assignMergeValue.js","../../../../node_modules/lodash/_createBaseFor.js","../../../../node_modules/lodash/_baseFor.js","../../../../node_modules/lodash/_cloneBuffer.js","../../../../node_modules/lodash/_cloneArrayBuffer.js","../../../../node_modules/lodash/_cloneTypedArray.js","../../../../node_modules/lodash/_copyArray.js","../../../../node_modules/lodash/_baseCreate.js","../../../../node_modules/lodash/_getPrototype.js","../../../../node_modules/lodash/_initCloneObject.js","../../../../node_modules/lodash/isArrayLikeObject.js","../../../../node_modules/lodash/isPlainObject.js","../../../../node_modules/lodash/_safeGet.js","../../../../node_modules/lodash/_copyObject.js","../../../../node_modules/lodash/_nativeKeysIn.js","../../../../node_modules/lodash/_baseKeysIn.js","../../../../node_modules/lodash/keysIn.js","../../../../node_modules/lodash/toPlainObject.js","../../../../node_modules/lodash/_baseMergeDeep.js","../../../../node_modules/lodash/_baseMerge.js","../../../../node_modules/lodash/identity.js","../../../../node_modules/lodash/_apply.js","../../../../node_modules/lodash/_overRest.js","../../../../node_modules/lodash/constant.js","../../../../node_modules/lodash/_baseSetToString.js","../../../../node_modules/lodash/_shortOut.js","../../../../node_modules/lodash/_setToString.js","../../../../node_modules/lodash/_baseRest.js","../../../../node_modules/lodash/_isIterateeCall.js","../../../../node_modules/lodash/_createAssigner.js","../../../../node_modules/lodash/merge.js","../../../../packages/ra-core/src/i18n/useI18nProvider.ts","../../../../packages/ra-core/src/i18n/useLocaleState.tsx","../../../../packages/ra-core/src/i18n/useLocale.tsx","../../../../packages/ra-core/src/i18n/useLocales.ts","../../../../node_modules/lodash/_arrayEach.js","../../../../node_modules/lodash/_baseAssign.js","../../../../node_modules/lodash/_baseAssignIn.js","../../../../node_modules/lodash/_copySymbols.js","../../../../node_modules/lodash/_getSymbolsIn.js","../../../../node_modules/lodash/_copySymbolsIn.js","../../../../node_modules/lodash/_getAllKeysIn.js","../../../../node_modules/lodash/_initCloneArray.js","../../../../node_modules/lodash/_cloneDataView.js","../../../../node_modules/lodash/_cloneRegExp.js","../../../../node_modules/lodash/_cloneSymbol.js","../../../../node_modules/lodash/_initCloneByTag.js","../../../../node_modules/lodash/_baseIsMap.js","../../../../node_modules/lodash/isMap.js","../../../../node_modules/lodash/_baseIsSet.js","../../../../node_modules/lodash/isSet.js","../../../../node_modules/lodash/_baseClone.js","../../../../node_modules/lodash/cloneDeep.js","../../../../packages/ra-core/src/i18n/useTranslate.ts","../../../../packages/ra-core/src/routing/BasenameContext.ts","../../../../packages/ra-core/src/routing/BasenameContextProvider.tsx","../../../../packages/ra-core/src/routing/AdminRouter.tsx","../../../../node_modules/lodash/now.js","../../../../node_modules/lodash/_trimmedEndIndex.js","../../../../node_modules/lodash/_baseTrim.js","../../../../node_modules/lodash/toNumber.js","../../../../node_modules/lodash/debounce.js","../../../../packages/ra-core/src/routing/useRestoreScrollPosition.ts","../../../../packages/ra-core/src/routing/RestoreScrollPosition.tsx","../../../../packages/ra-core/src/routing/useBasename.ts","../../../../packages/ra-core/src/routing/useCreatePath.ts","../../../../packages/ra-core/src/routing/useRedirect.ts","../../../../packages/ra-core/src/routing/useResetErrorBoundaryOnLocationChange.ts","../../../../packages/ra-core/src/routing/useScrollToTop.tsx","../../../../packages/ra-core/src/dataProvider/dataFetchActions.ts","../../../../packages/ra-core/src/dataProvider/defaultDataProvider.ts","../../../../packages/ra-core/src/dataProvider/convertLegacyDataProvider.ts","../../../../packages/ra-core/src/dataProvider/DataProviderContext.ts","../../../../packages/ra-core/src/dataProvider/HttpError.ts","../../../../node_modules/strict-uri-encode/index.js","../../../../node_modules/decode-uri-component/index.js","../../../../node_modules/split-on-first/index.js","../../../../node_modules/filter-obj/index.js","../../../../node_modules/query-string/index.js","../../../../packages/ra-core/src/dataProvider/fetch.ts","../../../../node_modules/eventemitter3/index.js","../../../../packages/ra-core/src/dataProvider/undoableEventEmitter.ts","../../../../packages/ra-core/src/dataProvider/withLifecycleCallbacks.ts","../../../../packages/ra-core/src/auth/useLogoutIfAccessDenied.ts","../../../../packages/ra-core/src/dataProvider/useDataProvider.ts","../../../../packages/ra-core/src/dataProvider/useLoading.ts","../../../../packages/ra-core/src/dataProvider/useRefresh.ts","../../../../packages/ra-core/src/dataProvider/useGetOne.ts","../../../../packages/ra-core/src/dataProvider/useGetList.ts","../../../../packages/ra-core/src/dataProvider/useGetMany.ts","../../../../node_modules/lodash/_isFlattenable.js","../../../../node_modules/lodash/_baseFlatten.js","../../../../node_modules/lodash/_baseFindIndex.js","../../../../node_modules/lodash/_baseIsNaN.js","../../../../node_modules/lodash/_strictIndexOf.js","../../../../node_modules/lodash/_baseIndexOf.js","../../../../node_modules/lodash/_arrayIncludes.js","../../../../node_modules/lodash/_arrayIncludesWith.js","../../../../node_modules/lodash/noop.js","../../../../node_modules/lodash/_createSet.js","../../../../node_modules/lodash/_baseUniq.js","../../../../node_modules/lodash/union.js","../../../../packages/ra-core/src/dataProvider/useGetManyAggregate.ts","../../../../packages/ra-core/src/dataProvider/useGetManyReference.ts","../../../../packages/ra-core/src/util/shallowEqual.ts","../../../../packages/ra-core/src/util/removeEmpty.ts","../../../../packages/ra-core/src/util/removeKey.ts","../../../../packages/ra-core/src/controller/list/queryReducer.ts","../../../../packages/ra-core/src/controller/useSortState.ts","../../../../packages/ra-core/src/controller/usePaginationState.ts","../../../../packages/ra-core/src/controller/checkMinimumRequiredProps.tsx","../../../../packages/ra-core/src/controller/button/useDeleteWithUndoController.tsx","../../../../packages/ra-core/src/controller/button/useDeleteWithConfirmController.tsx","../../../../packages/ra-core/src/controller/saveContext/SaveContext.ts","../../../../packages/ra-core/src/controller/saveContext/SaveContextProvider.tsx","../../../../node_modules/lodash/_basePickBy.js","../../../../node_modules/lodash/_baseHasIn.js","../../../../node_modules/lodash/_hasPath.js","../../../../node_modules/lodash/hasIn.js","../../../../node_modules/lodash/_basePick.js","../../../../node_modules/lodash/flatten.js","../../../../node_modules/lodash/_flatRest.js","../../../../node_modules/lodash/pick.js","../../../../packages/ra-core/src/controller/saveContext/usePickSaveContext.ts","../../../../packages/ra-core/src/controller/saveContext/useSaveContext.ts","../../../../packages/ra-core/src/controller/saveContext/useMutationMiddlewares.ts","../../../../packages/ra-core/src/controller/create/useCreateController.ts","../../../../packages/ra-core/src/controller/record/RecordContext.tsx","../../../../packages/ra-core/src/controller/create/CreateContext.tsx","../../../../packages/ra-core/src/controller/create/CreateContextProvider.tsx","../../../../packages/ra-core/src/controller/create/CreateBase.tsx","../../../../packages/ra-core/src/controller/create/useCreateContext.tsx","../../../../packages/ra-core/src/controller/edit/useEditController.ts","../../../../packages/ra-core/src/controller/record/useRecordContext.ts","../../../../packages/ra-core/src/controller/record/OptionalRecordContextProvider.tsx","../../../../packages/ra-core/src/controller/record/RecordRepresentation.tsx","../../../../packages/ra-core/src/controller/edit/EditContext.tsx","../../../../packages/ra-core/src/controller/edit/EditContextProvider.tsx","../../../../packages/ra-core/src/controller/edit/EditBase.tsx","../../../../packages/ra-core/src/controller/edit/useEditContext.tsx","../../../../packages/ra-core/src/controller/field/ReferenceFieldContext.tsx","../../../../packages/ra-core/src/controller/useReference.ts","../../../../packages/ra-core/src/controller/field/useReferenceFieldController.ts","../../../../packages/ra-core/src/controller/field/ReferenceFieldBase.tsx","../../../../node_modules/jsonexport/dist/core/eol.js","../../../../node_modules/jsonexport/dist/core/helper.js","../../../../node_modules/jsonexport/dist/core/join-rows.js","../../../../node_modules/jsonexport/dist/parser/handler.js","../../../../node_modules/jsonexport/dist/core/escape-delimiters.js","../../../../node_modules/jsonexport/dist/parser/csv.js","../../../../node_modules/jsonexport/dist/core/stream.js","../../../../node_modules/jsonexport/dist/index.js","../../../../packages/ra-core/src/export/downloadCSV.ts","../../../../packages/ra-core/src/export/defaultExporter.ts","../../../../packages/ra-core/src/export/getRelatedIds.ts","../../../../packages/ra-core/src/export/fetchRelatedRecords.ts","../../../../packages/ra-core/src/controller/list/useRecordSelection.ts","../../../../node_modules/lodash/_baseIsMatch.js","../../../../node_modules/lodash/_isStrictComparable.js","../../../../node_modules/lodash/_getMatchData.js","../../../../node_modules/lodash/_matchesStrictComparable.js","../../../../node_modules/lodash/_baseMatches.js","../../../../node_modules/lodash/_baseMatchesProperty.js","../../../../node_modules/lodash/_baseProperty.js","../../../../node_modules/lodash/_basePropertyDeep.js","../../../../node_modules/lodash/property.js","../../../../node_modules/lodash/_baseIteratee.js","../../../../node_modules/lodash/pickBy.js","../../../../packages/ra-core/src/util/hooks.ts","../../../../packages/ra-core/src/controller/list/useListParams.ts","../../../../packages/ra-core/src/controller/list/ListContext.tsx","../../../../packages/ra-core/src/controller/list/ListFilterContext.tsx","../../../../packages/ra-core/src/controller/list/ListSortContext.tsx","../../../../packages/ra-core/src/controller/list/ListPaginationContext.tsx","../../../../packages/ra-core/src/controller/list/ListContextProvider.tsx","../../../../packages/ra-core/src/controller/list/useListController.ts","../../../../packages/ra-core/src/controller/list/ListBase.tsx","../../../../packages/ra-core/src/controller/list/useExpanded.tsx","../../../../packages/ra-core/src/controller/list/useList.ts","../../../../packages/ra-core/src/controller/list/useListContext.ts","../../../../node_modules/lodash/defaults.js","../../../../packages/ra-core/src/controller/list/useListContextWithProps.ts","../../../../packages/ra-core/src/controller/list/useListFilterContext.ts","../../../../packages/ra-core/src/controller/list/useListPaginationContext.ts","../../../../packages/ra-core/src/controller/list/useListSortContext.ts","../../../../packages/ra-core/src/controller/list/useUnselect.ts","../../../../packages/ra-core/src/controller/field/useReferenceArrayFieldController.ts","../../../../packages/ra-core/src/controller/field/useReferenceManyFieldController.ts","../../../../node_modules/react-hook-form/dist/index.esm.mjs","../../../../packages/ra-core/src/controller/input/useReferenceParams.ts","../../../../packages/ra-core/src/controller/input/useReferenceInputController.ts","../../../../packages/ra-core/src/form/FormGroupsContext.tsx","../../../../packages/ra-core/src/form/ValidationError.tsx","../../../../packages/ra-core/src/form/getSimpleValidationResolver.ts","../../../../packages/ra-core/src/form/choices/ChoicesContext.ts","../../../../packages/ra-core/src/form/choices/ChoicesContextProvider.tsx","../../../../packages/ra-core/src/form/choices/useChoicesContext.ts","../../../../packages/ra-core/src/form/FormGroupsProvider.tsx","../../../../packages/ra-core/src/form/useWarnWhenUnsavedChanges.tsx","../../../../packages/ra-core/src/form/WarnWhenUnsavedChanges.ts","../../../../packages/ra-core/src/form/getFormInitialValues.ts","../../../../packages/ra-core/src/form/setSubmissionErrors.ts","../../../../packages/ra-core/src/form/useNotifyIsFormInvalid.ts","../../../../packages/ra-core/src/form/sanitizeEmptyValues.ts","../../../../packages/ra-core/src/form/useAugmentedForm.ts","../../../../packages/ra-core/src/form/Form.tsx","../../../../packages/ra-core/src/form/validate.ts","../../../../packages/ra-core/src/form/FormGroupContext.ts","../../../../packages/ra-core/src/form/useFormGroups.ts","../../../../packages/ra-core/src/form/useApplyInputDefaultValues.ts","../../../../packages/ra-core/src/form/useChoices.tsx","../../../../packages/ra-core/src/form/useFormGroupContext.ts","../../../../packages/ra-core/src/form/isRequired.ts","../../../../packages/ra-core/src/form/useInput.ts","../../../../packages/ra-core/src/form/useSuggestions.ts","../../../../packages/ra-core/src/controller/input/ReferenceInputBase.tsx","../../../../packages/ra-core/src/controller/show/useShowController.ts","../../../../packages/ra-core/src/controller/show/ShowContext.tsx","../../../../packages/ra-core/src/controller/show/ShowContextProvider.tsx","../../../../packages/ra-core/src/controller/show/ShowBase.tsx","../../../../packages/ra-core/src/controller/show/useShowContext.tsx","../../../../packages/ra-core/src/dataProvider/useCreate.ts","../../../../packages/ra-core/src/dataProvider/useUpdate.ts","../../../../packages/ra-core/src/dataProvider/useDelete.ts","../../../../packages/ra-core/src/dataProvider/useDeleteMany.ts","../../../../packages/ra-core/src/preferences/PreferencesEditorContext.tsx","../../../../packages/ra-core/src/preferences/PreferencesEditorContextProvider.tsx","../../../../packages/ra-core/src/core/ResourceDefinitionContext.tsx","../../../../packages/ra-core/src/core/CoreAdminContext.tsx","../../../../node_modules/react-error-boundary/dist/react-error-boundary.esm.js","../../../../packages/ra-core/src/core/useResourceDefinitionContext.ts","../../../../packages/ra-core/src/core/useConfigureAdminRouterFromChildren.tsx","../../../../packages/ra-core/src/core/HasDashboardContext.ts","../../../../packages/ra-core/src/core/CoreAdminRoutes.tsx","../../../../packages/ra-core/src/core/DefaultTitleContext.ts","../../../../packages/ra-core/src/core/CoreAdminUI.tsx","../../../../packages/ra-core/src/core/ResourceContext.ts","../../../../packages/ra-core/src/core/ResourceContextProvider.tsx","../../../../packages/ra-core/src/core/OptionalResourceContextProvider.tsx","../../../../node_modules/react-is/cjs/react-is.production.min.js","../../../../node_modules/react-is/index.js","../../../../packages/ra-core/src/core/Resource.tsx","../../../../packages/ra-core/src/core/SourceContext.tsx","../../../../packages/ra-core/src/core/useResourceDefinitions.ts","../../../../node_modules/inflection/lib/inflection.js","../../../../packages/ra-core/src/core/useGetResourceLabel.ts","../../../../packages/ra-core/src/core/useResourceContext.ts","../../../../packages/ra-core/src/core/useResourceDefinition.ts","../../../../packages/ra-core/src/core/useGetRecordRepresentation.ts","../../../../packages/ra-core/src/core/useWrappedSource.ts","../../../../packages/ra-core/src/i18n/useTranslateLabel.ts","../../../../packages/ra-core/src/util/FieldTitle.tsx","../../../../packages/ra-core/src/util/Ready.tsx","../../../../packages/ra-core/src/util/warning.ts","../../../../packages/ra-core/src/util/getFieldLabelTranslationArgs.ts","../../../../packages/ra-core/src/util/useEvent.ts","../../../../packages/ra-core/src/util/useFieldValue.ts","../../../../packages/ra-core/src/util/useCheckForApplicationUpdate.ts","../../../../packages/ra-core/src/store/useStore.ts","../../../../packages/ra-core/src/store/useRemoveFromStore.ts","../../../../packages/ra-core/src/store/useRemoveItemsFromStore.ts","../../../../packages/ra-core/src/store/useResetStore.ts","../../../../packages/ra-core/src/auth/useLogout.ts","../../../../packages/ra-core/src/auth/useAuthState.ts","../../../../packages/ra-core/src/auth/usePermissions.ts","../../../../packages/ra-core/src/auth/useAuthenticated.ts","../../../../packages/ra-core/src/auth/WithPermissions.tsx","../../../../packages/ra-core/src/auth/useLogin.ts","../../../../packages/ra-core/src/auth/types.ts","../../../../packages/ra-core/src/auth/convertLegacyAuthProvider.ts","../../../../packages/ra-core/src/auth/LogoutOnMount.ts","../../../../packages/ra-core/src/auth/useCheckAuth.ts","../../../../packages/ra-core/src/auth/useGetIdentity.ts","../../../../packages/ra-core/src/auth/useHandleAuthCallback.ts","../../../../packages/ra-core/src/preferences/PreferenceKeyContext.tsx","../../../../packages/ra-core/src/preferences/usePreference.ts","../../../../packages/ra-core/src/preferences/usePreferencesEditor.ts","../../../../packages/ra-core/src/preferences/usePreferenceInput.ts","../../../../packages/ra-core/src/preferences/useSetInspectorTitle.ts","../../../../packages/ra-core/src/inference/getValuesFromRecords.ts","../../../../packages/ra-core/src/inference/InferredElement.ts","../../../../node_modules/date-fns/toDate.mjs","../../../../node_modules/date-fns/constructFrom.mjs","../../../../node_modules/date-fns/addDays.mjs","../../../../node_modules/date-fns/addMonths.mjs","../../../../node_modules/date-fns/add.mjs","../../../../node_modules/date-fns/constants.mjs","../../../../node_modules/date-fns/_lib/defaultOptions.mjs","../../../../node_modules/date-fns/startOfWeek.mjs","../../../../node_modules/date-fns/startOfISOWeek.mjs","../../../../node_modules/date-fns/getISOWeekYear.mjs","../../../../node_modules/date-fns/startOfDay.mjs","../../../../node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.mjs","../../../../node_modules/date-fns/differenceInCalendarDays.mjs","../../../../node_modules/date-fns/startOfISOWeekYear.mjs","../../../../node_modules/date-fns/compareAsc.mjs","../../../../node_modules/date-fns/isDate.mjs","../../../../node_modules/date-fns/isValid.mjs","../../../../node_modules/date-fns/differenceInCalendarMonths.mjs","../../../../node_modules/date-fns/_lib/getRoundingMethod.mjs","../../../../node_modules/date-fns/differenceInMilliseconds.mjs","../../../../node_modules/date-fns/endOfDay.mjs","../../../../node_modules/date-fns/endOfMonth.mjs","../../../../node_modules/date-fns/isLastDayOfMonth.mjs","../../../../node_modules/date-fns/differenceInMonths.mjs","../../../../node_modules/date-fns/differenceInSeconds.mjs","../../../../node_modules/date-fns/startOfMonth.mjs","../../../../node_modules/date-fns/startOfYear.mjs","../../../../node_modules/date-fns/endOfYesterday.mjs","../../../../node_modules/date-fns/locale/en-US/_lib/formatDistance.mjs","../../../../node_modules/date-fns/locale/_lib/buildFormatLongFn.mjs","../../../../node_modules/date-fns/locale/en-US/_lib/formatLong.mjs","../../../../node_modules/date-fns/locale/en-US/_lib/formatRelative.mjs","../../../../node_modules/date-fns/locale/_lib/buildLocalizeFn.mjs","../../../../node_modules/date-fns/locale/en-US/_lib/localize.mjs","../../../../node_modules/date-fns/locale/_lib/buildMatchFn.mjs","../../../../node_modules/date-fns/locale/_lib/buildMatchPatternFn.mjs","../../../../node_modules/date-fns/locale/en-US/_lib/match.mjs","../../../../node_modules/date-fns/locale/en-US.mjs","../../../../node_modules/date-fns/getDayOfYear.mjs","../../../../node_modules/date-fns/getISOWeek.mjs","../../../../node_modules/date-fns/getWeekYear.mjs","../../../../node_modules/date-fns/startOfWeekYear.mjs","../../../../node_modules/date-fns/getWeek.mjs","../../../../node_modules/date-fns/_lib/addLeadingZeros.mjs","../../../../node_modules/date-fns/_lib/format/lightFormatters.mjs","../../../../node_modules/date-fns/_lib/format/formatters.mjs","../../../../node_modules/date-fns/_lib/format/longFormatters.mjs","../../../../node_modules/date-fns/_lib/protectedTokens.mjs","../../../../node_modules/date-fns/format.mjs","../../../../node_modules/date-fns/formatDistance.mjs","../../../../node_modules/date-fns/getDefaultOptions.mjs","../../../../node_modules/date-fns/getISODay.mjs","../../../../node_modules/date-fns/isAfter.mjs","../../../../node_modules/date-fns/transpose.mjs","../../../../node_modules/date-fns/parse/_lib/Setter.mjs","../../../../node_modules/date-fns/parse/_lib/Parser.mjs","../../../../node_modules/date-fns/parse/_lib/parsers/EraParser.mjs","../../../../node_modules/date-fns/parse/_lib/constants.mjs","../../../../node_modules/date-fns/parse/_lib/utils.mjs","../../../../node_modules/date-fns/parse/_lib/parsers/YearParser.mjs","../../../../node_modules/date-fns/parse/_lib/parsers/LocalWeekYearParser.mjs","../../../../node_modules/date-fns/parse/_lib/parsers/ISOWeekYearParser.mjs","../../../../node_modules/date-fns/parse/_lib/parsers/ExtendedYearParser.mjs","../../../../node_modules/date-fns/parse/_lib/parsers/QuarterParser.mjs","../../../../node_modules/date-fns/parse/_lib/parsers/StandAloneQuarterParser.mjs","../../../../node_modules/date-fns/parse/_lib/parsers/MonthParser.mjs","../../../../node_modules/date-fns/parse/_lib/parsers/StandAloneMonthParser.mjs","../../../../node_modules/date-fns/setWeek.mjs","../../../../node_modules/date-fns/parse/_lib/parsers/LocalWeekParser.mjs","../../../../node_modules/date-fns/setISOWeek.mjs","../../../../node_modules/date-fns/parse/_lib/parsers/ISOWeekParser.mjs","../../../../node_modules/date-fns/parse/_lib/parsers/DateParser.mjs","../../../../node_modules/date-fns/parse/_lib/parsers/DayOfYearParser.mjs","../../../../node_modules/date-fns/setDay.mjs","../../../../node_modules/date-fns/parse/_lib/parsers/DayParser.mjs","../../../../node_modules/date-fns/parse/_lib/parsers/LocalDayParser.mjs","../../../../node_modules/date-fns/parse/_lib/parsers/StandAloneLocalDayParser.mjs","../../../../node_modules/date-fns/setISODay.mjs","../../../../node_modules/date-fns/parse/_lib/parsers/ISODayParser.mjs","../../../../node_modules/date-fns/parse/_lib/parsers/AMPMParser.mjs","../../../../node_modules/date-fns/parse/_lib/parsers/AMPMMidnightParser.mjs","../../../../node_modules/date-fns/parse/_lib/parsers/DayPeriodParser.mjs","../../../../node_modules/date-fns/parse/_lib/parsers/Hour1to12Parser.mjs","../../../../node_modules/date-fns/parse/_lib/parsers/Hour0to23Parser.mjs","../../../../node_modules/date-fns/parse/_lib/parsers/Hour0To11Parser.mjs","../../../../node_modules/date-fns/parse/_lib/parsers/Hour1To24Parser.mjs","../../../../node_modules/date-fns/parse/_lib/parsers/MinuteParser.mjs","../../../../node_modules/date-fns/parse/_lib/parsers/SecondParser.mjs","../../../../node_modules/date-fns/parse/_lib/parsers/FractionOfSecondParser.mjs","../../../../node_modules/date-fns/parse/_lib/parsers/ISOTimezoneWithZParser.mjs","../../../../node_modules/date-fns/parse/_lib/parsers/ISOTimezoneParser.mjs","../../../../node_modules/date-fns/parse/_lib/parsers/TimestampSecondsParser.mjs","../../../../node_modules/date-fns/parse/_lib/parsers/TimestampMillisecondsParser.mjs","../../../../node_modules/date-fns/parse/_lib/parsers.mjs","../../../../node_modules/date-fns/parse.mjs","../../../../node_modules/date-fns/isMatch.mjs","../../../../node_modules/date-fns/parseISO.mjs","../../../../node_modules/date-fns/subMonths.mjs","../../../../packages/ra-core/src/inference/assertions.ts","../../../../packages/ra-core/src/inference/inferElementFromValues.tsx","../../../../packages/ra-core/src/inference/getElementsFromRecords.ts","../../../../node_modules/@mui/material/colors/common.js","../../../../node_modules/@mui/material/colors/red.js","../../../../node_modules/@mui/material/colors/purple.js","../../../../node_modules/@mui/material/colors/blue.js","../../../../node_modules/@mui/material/colors/lightBlue.js","../../../../node_modules/@mui/material/colors/green.js","../../../../node_modules/@mui/material/colors/orange.js","../../../../node_modules/@mui/material/colors/grey.js","../../../../node_modules/@mui/utils/formatMuiErrorMessage/formatMuiErrorMessage.js","../../../../node_modules/@mui/material/styles/identifier.js","../../../../node_modules/@babel/runtime/helpers/esm/extends.js","../../../../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../../../../node_modules/@babel/runtime/helpers/extends.js","../../../../node_modules/@emotion/memoize/dist/emotion-memoize.browser.esm.js","../../../../node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.browser.esm.js","../../../../node_modules/@emotion/sheet/dist/emotion-sheet.browser.esm.js","../../../../node_modules/stylis/src/Enum.js","../../../../node_modules/stylis/src/Utility.js","../../../../node_modules/stylis/src/Tokenizer.js","../../../../node_modules/stylis/src/Parser.js","../../../../node_modules/stylis/src/Prefixer.js","../../../../node_modules/stylis/src/Serializer.js","../../../../node_modules/stylis/src/Middleware.js","../../../../node_modules/@emotion/react/node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js","../../../../node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.production.min.js","../../../../node_modules/hoist-non-react-statics/node_modules/react-is/index.js","../../../../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../../../../node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js","../../../../node_modules/@emotion/hash/dist/hash.browser.esm.js","../../../../node_modules/@emotion/unitless/dist/unitless.browser.esm.js","../../../../node_modules/@emotion/serialize/dist/emotion-serialize.browser.esm.js","../../../../node_modules/@emotion/react/dist/emotion-element-699e6908.browser.esm.js","../../../../node_modules/@emotion/react/dist/emotion-react.browser.esm.js","../../../../node_modules/@emotion/styled/base/dist/emotion-styled-base.browser.esm.js","../../../../node_modules/@emotion/styled/dist/emotion-styled.browser.esm.js","../../../../node_modules/prop-types/lib/ReactPropTypesSecret.js","../../../../node_modules/prop-types/factoryWithThrowingShims.js","../../../../node_modules/prop-types/index.js","../../../../node_modules/@emotion/cache/node_modules/stylis/src/Enum.js","../../../../node_modules/@emotion/cache/node_modules/stylis/src/Utility.js","../../../../node_modules/@emotion/cache/node_modules/stylis/src/Tokenizer.js","../../../../node_modules/@emotion/cache/node_modules/stylis/src/Parser.js","../../../../node_modules/@emotion/cache/node_modules/stylis/src/Serializer.js","../../../../node_modules/@emotion/cache/node_modules/stylis/src/Middleware.js","../../../../node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js","../../../../node_modules/@mui/styled-engine/StyledEngineProvider/StyledEngineProvider.js","../../../../node_modules/@mui/styled-engine/GlobalStyles/GlobalStyles.js","../../../../node_modules/@mui/styled-engine/index.js","../../../../node_modules/@mui/utils/deepmerge/deepmerge.js","../../../../node_modules/@mui/system/esm/createTheme/createBreakpoints.js","../../../../node_modules/@mui/system/esm/createTheme/shape.js","../../../../node_modules/@mui/system/esm/merge.js","../../../../node_modules/@mui/system/esm/breakpoints.js","../../../../node_modules/@mui/utils/capitalize/capitalize.js","../../../../node_modules/@mui/system/esm/style.js","../../../../node_modules/@mui/system/esm/memoize.js","../../../../node_modules/@mui/system/esm/spacing.js","../../../../node_modules/@mui/system/esm/createTheme/createSpacing.js","../../../../node_modules/@mui/system/esm/compose.js","../../../../node_modules/@mui/system/esm/borders.js","../../../../node_modules/@mui/system/esm/cssGrid.js","../../../../node_modules/@mui/system/esm/palette.js","../../../../node_modules/@mui/system/esm/sizing.js","../../../../node_modules/@mui/system/esm/styleFunctionSx/defaultSxConfig.js","../../../../node_modules/@mui/system/esm/styleFunctionSx/styleFunctionSx.js","../../../../node_modules/@mui/system/esm/createTheme/applyStyles.js","../../../../node_modules/@mui/system/esm/createTheme/createTheme.js","../../../../node_modules/@mui/system/esm/useThemeWithoutDefault.js","../../../../node_modules/@mui/system/esm/useTheme.js","../../../../node_modules/@mui/system/esm/GlobalStyles/GlobalStyles.js","../../../../node_modules/@mui/system/esm/styleFunctionSx/extendSxProp.js","../../../../node_modules/@mui/utils/ClassNameGenerator/ClassNameGenerator.js","../../../../node_modules/clsx/dist/clsx.mjs","../../../../node_modules/@mui/system/esm/createBox.js","../../../../node_modules/@mui/utils/generateUtilityClass/generateUtilityClass.js","../../../../node_modules/@mui/utils/generateUtilityClasses/generateUtilityClasses.js","../../../../node_modules/@mui/utils/getDisplayName/getDisplayName.js","../../../../node_modules/@mui/system/esm/createStyled.js","../../../../node_modules/@mui/system/esm/styled.js","../../../../node_modules/@mui/utils/resolveProps/resolveProps.js","../../../../node_modules/@mui/system/esm/useThemeProps/getThemeProps.js","../../../../node_modules/@mui/system/esm/useThemeProps/useThemeProps.js","../../../../node_modules/@mui/utils/useEnhancedEffect/useEnhancedEffect.js","../../../../node_modules/@mui/system/esm/useMediaQuery/useMediaQuery.js","../../../../node_modules/@mui/utils/clamp/clamp.js","../../../../node_modules/@mui/system/esm/colorManipulator.js","../../../../node_modules/@mui/utils/createChainedFunction/createChainedFunction.js","../../../../node_modules/@mui/utils/debounce/debounce.js","../../../../node_modules/@mui/utils/deprecatedPropType/deprecatedPropType.js","../../../../node_modules/@mui/utils/isMuiElement/isMuiElement.js","../../../../node_modules/@mui/utils/ownerDocument/ownerDocument.js","../../../../node_modules/@mui/utils/ownerWindow/ownerWindow.js","../../../../node_modules/@mui/utils/requirePropFactory/requirePropFactory.js","../../../../node_modules/@mui/utils/setRef/setRef.js","../../../../node_modules/@mui/utils/useId/useId.js","../../../../node_modules/@mui/utils/unsupportedProp/unsupportedProp.js","../../../../node_modules/@mui/utils/useControlled/useControlled.js","../../../../node_modules/@mui/utils/useEventCallback/useEventCallback.js","../../../../node_modules/@mui/utils/useForkRef/useForkRef.js","../../../../node_modules/@mui/utils/useLazyRef/useLazyRef.js","../../../../node_modules/@mui/utils/useOnMount/useOnMount.js","../../../../node_modules/@mui/utils/useTimeout/useTimeout.js","../../../../node_modules/@mui/utils/useIsFocusVisible/useIsFocusVisible.js","../../../../node_modules/@mui/utils/getScrollbarSize/getScrollbarSize.js","../../../../node_modules/@mui/utils/scrollLeft/scrollLeft.js","../../../../node_modules/@mui/utils/usePreviousProps/usePreviousProps.js","../../../../node_modules/@mui/utils/composeClasses/composeClasses.js","../../../../node_modules/@mui/private-theming/useTheme/ThemeContext.js","../../../../node_modules/@mui/private-theming/useTheme/useTheme.js","../../../../node_modules/@mui/private-theming/ThemeProvider/nested.js","../../../../node_modules/@mui/private-theming/ThemeProvider/ThemeProvider.js","../../../../node_modules/@mui/system/esm/RtlProvider/index.js","../../../../node_modules/@mui/system/esm/ThemeProvider/ThemeProvider.js","../../../../node_modules/@mui/system/esm/Container/createContainer.js","../../../../node_modules/@mui/system/esm/Stack/createStack.js","../../../../node_modules/@mui/material/styles/createMixins.js","../../../../node_modules/@babel/runtime/helpers/interopRequireDefault.js","../../../../node_modules/@mui/system/colorManipulator.js","../../../../node_modules/@mui/material/styles/createPalette.js","../../../../node_modules/@mui/material/styles/createTypography.js","../../../../node_modules/@mui/material/styles/shadows.js","../../../../node_modules/@mui/material/styles/createTransitions.js","../../../../node_modules/@mui/material/styles/zIndex.js","../../../../node_modules/@mui/material/styles/createTheme.js","../../../../node_modules/@mui/material/styles/defaultTheme.js","../../../../node_modules/@mui/material/styles/useTheme.js","../../../../node_modules/@mui/material/styles/useThemeProps.js","../../../../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","../../../../node_modules/@mui/system/createStyled.js","../../../../node_modules/@mui/material/styles/slotShouldForwardProp.js","../../../../node_modules/@mui/material/styles/rootShouldForwardProp.js","../../../../node_modules/@mui/material/styles/styled.js","../../../../node_modules/@mui/material/styles/ThemeProvider.js","../../../../node_modules/@mui/material/styles/getOverlayAlpha.js","../../../../node_modules/@mui/material/SvgIcon/svgIconClasses.js","../../../../node_modules/@mui/material/SvgIcon/SvgIcon.js","../../../../node_modules/@mui/material/utils/createSvgIcon.js","../../../../node_modules/@mui/material/utils/index.js","../../../../node_modules/@mui/material/zero-styled/index.js","../../../../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../../../../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../../../../node_modules/react-transition-group/esm/config.js","../../../../node_modules/react-transition-group/esm/TransitionGroupContext.js","../../../../node_modules/react-transition-group/esm/utils/reflow.js","../../../../node_modules/react-transition-group/esm/Transition.js","../../../../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../../../../node_modules/react-transition-group/esm/utils/ChildMapping.js","../../../../node_modules/react-transition-group/esm/TransitionGroup.js","../../../../node_modules/@mui/material/transitions/utils.js","../../../../node_modules/@mui/material/Paper/paperClasses.js","../../../../node_modules/@mui/material/Paper/Paper.js","../../../../node_modules/@mui/base/utils/isHostComponent.js","../../../../node_modules/@mui/base/utils/appendOwnerState.js","../../../../node_modules/@mui/base/utils/ClassNameConfigurator.js","../../../../node_modules/@mui/base/utils/extractEventHandlers.js","../../../../node_modules/@mui/base/utils/resolveComponentProps.js","../../../../node_modules/@mui/base/utils/omitEventHandlers.js","../../../../node_modules/@mui/base/utils/mergeSlotProps.js","../../../../node_modules/@mui/base/utils/useSlotProps.js","../../../../node_modules/@mui/material/utils/useSlot.js","../../../../node_modules/@mui/material/ButtonBase/Ripple.js","../../../../node_modules/@mui/material/ButtonBase/touchRippleClasses.js","../../../../node_modules/@mui/material/ButtonBase/TouchRipple.js","../../../../node_modules/@mui/material/ButtonBase/buttonBaseClasses.js","../../../../node_modules/@mui/material/ButtonBase/ButtonBase.js","../../../../node_modules/@mui/material/Alert/alertClasses.js","../../../../node_modules/@mui/material/IconButton/iconButtonClasses.js","../../../../node_modules/@mui/material/IconButton/IconButton.js","../../../../node_modules/@mui/material/internal/svg-icons/SuccessOutlined.js","../../../../node_modules/@mui/material/internal/svg-icons/ReportProblemOutlined.js","../../../../node_modules/@mui/material/internal/svg-icons/ErrorOutline.js","../../../../node_modules/@mui/material/internal/svg-icons/InfoOutlined.js","../../../../node_modules/@mui/material/internal/svg-icons/Close.js","../../../../node_modules/@mui/material/Alert/Alert.js","../../../../node_modules/@mui/material/Typography/typographyClasses.js","../../../../node_modules/@mui/material/Typography/Typography.js","../../../../node_modules/@mui/material/AppBar/appBarClasses.js","../../../../node_modules/@mui/material/AppBar/AppBar.js","../../../../node_modules/@mui/base/generateUtilityClass/index.js","../../../../node_modules/@mui/base/generateUtilityClasses/index.js","../../../../node_modules/@mui/base/ClickAwayListener/ClickAwayListener.js","../../../../node_modules/@mui/base/FocusTrap/FocusTrap.js","../../../../node_modules/@mui/base/Portal/Portal.js","../../../../node_modules/@mui/base/unstable_useModal/ModalManager.js","../../../../node_modules/@mui/base/unstable_useModal/useModal.js","../../../../node_modules/@popperjs/core/lib/enums.js","../../../../node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","../../../../node_modules/@popperjs/core/lib/dom-utils/getWindow.js","../../../../node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","../../../../node_modules/@popperjs/core/lib/modifiers/applyStyles.js","../../../../node_modules/@popperjs/core/lib/utils/getBasePlacement.js","../../../../node_modules/@popperjs/core/lib/utils/math.js","../../../../node_modules/@popperjs/core/lib/utils/userAgent.js","../../../../node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js","../../../../node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","../../../../node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","../../../../node_modules/@popperjs/core/lib/dom-utils/contains.js","../../../../node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","../../../../node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","../../../../node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","../../../../node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","../../../../node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","../../../../node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","../../../../node_modules/@popperjs/core/lib/utils/within.js","../../../../node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","../../../../node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","../../../../node_modules/@popperjs/core/lib/utils/expandToHashMap.js","../../../../node_modules/@popperjs/core/lib/modifiers/arrow.js","../../../../node_modules/@popperjs/core/lib/utils/getVariation.js","../../../../node_modules/@popperjs/core/lib/modifiers/computeStyles.js","../../../../node_modules/@popperjs/core/lib/modifiers/eventListeners.js","../../../../node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","../../../../node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","../../../../node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","../../../../node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","../../../../node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","../../../../node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","../../../../node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","../../../../node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","../../../../node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","../../../../node_modules/@popperjs/core/lib/utils/rectToClientRect.js","../../../../node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","../../../../node_modules/@popperjs/core/lib/utils/computeOffsets.js","../../../../node_modules/@popperjs/core/lib/utils/detectOverflow.js","../../../../node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","../../../../node_modules/@popperjs/core/lib/modifiers/flip.js","../../../../node_modules/@popperjs/core/lib/modifiers/hide.js","../../../../node_modules/@popperjs/core/lib/modifiers/offset.js","../../../../node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","../../../../node_modules/@popperjs/core/lib/utils/getAltAxis.js","../../../../node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","../../../../node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","../../../../node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","../../../../node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","../../../../node_modules/@popperjs/core/lib/utils/orderModifiers.js","../../../../node_modules/@popperjs/core/lib/utils/debounce.js","../../../../node_modules/@popperjs/core/lib/utils/mergeByName.js","../../../../node_modules/@popperjs/core/lib/createPopper.js","../../../../node_modules/@popperjs/core/lib/popper.js","../../../../node_modules/@mui/base/Popper/popperClasses.js","../../../../node_modules/@mui/base/Popper/Popper.js","../../../../node_modules/@mui/base/useSnackbar/useSnackbar.js","../../../../node_modules/@mui/base/TextareaAutosize/TextareaAutosize.js","../../../../node_modules/@mui/base/useAutocomplete/useAutocomplete.js","../../../../node_modules/@mui/system/useThemeWithoutDefault.js","../../../../node_modules/@mui/material/Popper/Popper.js","../../../../node_modules/@mui/material/ListSubheader/listSubheaderClasses.js","../../../../node_modules/@mui/material/ListSubheader/ListSubheader.js","../../../../node_modules/@mui/material/internal/svg-icons/Cancel.js","../../../../node_modules/@mui/material/Chip/chipClasses.js","../../../../node_modules/@mui/material/Chip/Chip.js","../../../../node_modules/@mui/material/FormControl/formControlState.js","../../../../node_modules/@mui/material/FormControl/FormControlContext.js","../../../../node_modules/@mui/material/FormControl/useFormControl.js","../../../../node_modules/@mui/material/GlobalStyles/GlobalStyles.js","../../../../node_modules/@mui/material/InputBase/utils.js","../../../../node_modules/@mui/material/InputBase/inputBaseClasses.js","../../../../node_modules/@mui/material/InputBase/InputBase.js","../../../../node_modules/@mui/material/Input/inputClasses.js","../../../../node_modules/@mui/material/OutlinedInput/outlinedInputClasses.js","../../../../node_modules/@mui/material/FilledInput/filledInputClasses.js","../../../../node_modules/@mui/material/internal/svg-icons/ArrowDropDown.js","../../../../node_modules/@mui/material/Autocomplete/autocompleteClasses.js","../../../../node_modules/@mui/material/Autocomplete/Autocomplete.js","../../../../node_modules/@mui/material/internal/svg-icons/Person.js","../../../../node_modules/@mui/material/Avatar/avatarClasses.js","../../../../node_modules/@mui/material/Avatar/Avatar.js","../../../../node_modules/@mui/material/Fade/Fade.js","../../../../node_modules/@mui/material/Backdrop/backdropClasses.js","../../../../node_modules/@mui/material/Backdrop/Backdrop.js","../../../../node_modules/@mui/material/Box/boxClasses.js","../../../../node_modules/@mui/material/Box/Box.js","../../../../node_modules/@mui/material/Button/buttonClasses.js","../../../../node_modules/@mui/material/ButtonGroup/ButtonGroupContext.js","../../../../node_modules/@mui/material/ButtonGroup/ButtonGroupButtonContext.js","../../../../node_modules/@mui/material/Button/Button.js","../../../../node_modules/@mui/material/Card/cardClasses.js","../../../../node_modules/@mui/material/Card/Card.js","../../../../node_modules/@mui/material/CardActions/cardActionsClasses.js","../../../../node_modules/@mui/material/CardActions/CardActions.js","../../../../node_modules/@mui/material/CardContent/cardContentClasses.js","../../../../node_modules/@mui/material/CardContent/CardContent.js","../../../../node_modules/@mui/material/internal/switchBaseClasses.js","../../../../node_modules/@mui/material/internal/SwitchBase.js","../../../../node_modules/@mui/material/internal/svg-icons/CheckBoxOutlineBlank.js","../../../../node_modules/@mui/material/internal/svg-icons/CheckBox.js","../../../../node_modules/@mui/material/internal/svg-icons/IndeterminateCheckBox.js","../../../../node_modules/@mui/material/Checkbox/checkboxClasses.js","../../../../node_modules/@mui/material/Checkbox/Checkbox.js","../../../../node_modules/@mui/material/CircularProgress/circularProgressClasses.js","../../../../node_modules/@mui/material/CircularProgress/CircularProgress.js","../../../../node_modules/@mui/material/Container/Container.js","../../../../node_modules/@mui/material/CssBaseline/CssBaseline.js","../../../../node_modules/@mui/material/Modal/modalClasses.js","../../../../node_modules/@mui/material/Modal/Modal.js","../../../../node_modules/@mui/material/Dialog/dialogClasses.js","../../../../node_modules/@mui/material/Dialog/DialogContext.js","../../../../node_modules/@mui/material/Dialog/Dialog.js","../../../../node_modules/@mui/material/DialogActions/dialogActionsClasses.js","../../../../node_modules/@mui/material/DialogActions/DialogActions.js","../../../../node_modules/@mui/material/DialogContent/dialogContentClasses.js","../../../../node_modules/@mui/material/DialogTitle/dialogTitleClasses.js","../../../../node_modules/@mui/material/DialogContent/DialogContent.js","../../../../node_modules/@mui/material/DialogContentText/dialogContentTextClasses.js","../../../../node_modules/@mui/material/DialogContentText/DialogContentText.js","../../../../node_modules/@mui/material/DialogTitle/DialogTitle.js","../../../../node_modules/@mui/material/Divider/dividerClasses.js","../../../../node_modules/@mui/material/Divider/Divider.js","../../../../node_modules/@mui/material/Slide/Slide.js","../../../../node_modules/@mui/material/Drawer/drawerClasses.js","../../../../node_modules/@mui/material/Drawer/Drawer.js","../../../../node_modules/@mui/material/Fab/fabClasses.js","../../../../node_modules/@mui/material/Fab/Fab.js","../../../../node_modules/@mui/material/FilledInput/FilledInput.js","../../../../node_modules/@mui/material/FormControl/formControlClasses.js","../../../../node_modules/@mui/material/FormControl/FormControl.js","../../../../node_modules/@mui/material/Stack/Stack.js","../../../../node_modules/@mui/material/FormControlLabel/formControlLabelClasses.js","../../../../node_modules/@mui/material/FormControlLabel/FormControlLabel.js","../../../../node_modules/@mui/material/FormGroup/formGroupClasses.js","../../../../node_modules/@mui/material/FormGroup/FormGroup.js","../../../../node_modules/@mui/material/FormHelperText/formHelperTextClasses.js","../../../../node_modules/@mui/material/FormHelperText/FormHelperText.js","../../../../node_modules/@mui/material/FormLabel/formLabelClasses.js","../../../../node_modules/@mui/material/FormLabel/FormLabel.js","../../../../node_modules/@mui/material/Grid/GridContext.js","../../../../node_modules/@mui/material/Grid/gridClasses.js","../../../../node_modules/@mui/material/Grid/Grid.js","../../../../node_modules/@mui/material/Grow/Grow.js","../../../../node_modules/@mui/material/Input/Input.js","../../../../node_modules/@mui/material/InputAdornment/inputAdornmentClasses.js","../../../../node_modules/@mui/material/InputAdornment/InputAdornment.js","../../../../node_modules/@mui/material/InputLabel/inputLabelClasses.js","../../../../node_modules/@mui/material/InputLabel/InputLabel.js","../../../../node_modules/@mui/material/LinearProgress/linearProgressClasses.js","../../../../node_modules/@mui/material/LinearProgress/LinearProgress.js","../../../../node_modules/@mui/material/Link/linkClasses.js","../../../../node_modules/@mui/material/Link/getTextDecoration.js","../../../../node_modules/@mui/material/Link/Link.js","../../../../node_modules/@mui/material/List/ListContext.js","../../../../node_modules/@mui/material/List/listClasses.js","../../../../node_modules/@mui/material/List/List.js","../../../../node_modules/@mui/material/ListItem/listItemClasses.js","../../../../node_modules/@mui/material/ListItemButton/listItemButtonClasses.js","../../../../node_modules/@mui/material/ListItemButton/ListItemButton.js","../../../../node_modules/@mui/material/ListItemSecondaryAction/listItemSecondaryActionClasses.js","../../../../node_modules/@mui/material/ListItemSecondaryAction/ListItemSecondaryAction.js","../../../../node_modules/@mui/material/ListItem/ListItem.js","../../../../node_modules/@mui/material/ListItemAvatar/listItemAvatarClasses.js","../../../../node_modules/@mui/material/ListItemAvatar/ListItemAvatar.js","../../../../node_modules/@mui/material/ListItemIcon/listItemIconClasses.js","../../../../node_modules/@mui/material/ListItemIcon/ListItemIcon.js","../../../../node_modules/@mui/material/ListItemText/listItemTextClasses.js","../../../../node_modules/@mui/material/ListItemText/ListItemText.js","../../../../node_modules/@mui/material/MenuList/MenuList.js","../../../../node_modules/@mui/material/Popover/popoverClasses.js","../../../../node_modules/@mui/material/Popover/Popover.js","../../../../node_modules/@mui/material/Menu/menuClasses.js","../../../../node_modules/@mui/material/Menu/Menu.js","../../../../node_modules/@mui/material/MenuItem/menuItemClasses.js","../../../../node_modules/@mui/material/MenuItem/MenuItem.js","../../../../node_modules/@mui/material/NativeSelect/nativeSelectClasses.js","../../../../node_modules/@mui/material/NativeSelect/NativeSelectInput.js","../../../../node_modules/@mui/material/OutlinedInput/NotchedOutline.js","../../../../node_modules/@mui/material/OutlinedInput/OutlinedInput.js","../../../../node_modules/@mui/material/Pagination/paginationClasses.js","../../../../node_modules/@mui/material/usePagination/usePagination.js","../../../../node_modules/@mui/material/PaginationItem/paginationItemClasses.js","../../../../node_modules/@mui/material/internal/svg-icons/FirstPage.js","../../../../node_modules/@mui/material/internal/svg-icons/LastPage.js","../../../../node_modules/@mui/material/internal/svg-icons/NavigateBefore.js","../../../../node_modules/@mui/material/internal/svg-icons/NavigateNext.js","../../../../node_modules/@mui/material/PaginationItem/PaginationItem.js","../../../../node_modules/@mui/material/Pagination/Pagination.js","../../../../node_modules/@mui/material/ScopedCssBaseline/scopedCssBaselineClasses.js","../../../../node_modules/@mui/material/ScopedCssBaseline/ScopedCssBaseline.js","../../../../node_modules/@mui/material/Select/selectClasses.js","../../../../node_modules/@mui/material/Select/SelectInput.js","../../../../node_modules/@mui/material/Select/Select.js","../../../../node_modules/@mui/material/SnackbarContent/snackbarContentClasses.js","../../../../node_modules/@mui/material/SnackbarContent/SnackbarContent.js","../../../../node_modules/@mui/material/Snackbar/snackbarClasses.js","../../../../node_modules/@mui/material/Snackbar/Snackbar.js","../../../../node_modules/@mui/material/Tooltip/tooltipClasses.js","../../../../node_modules/@mui/material/Tooltip/Tooltip.js","../../../../node_modules/@mui/material/Switch/switchClasses.js","../../../../node_modules/@mui/material/Switch/Switch.js","../../../../node_modules/@mui/material/Tab/tabClasses.js","../../../../node_modules/@mui/material/Tab/Tab.js","../../../../node_modules/@mui/material/Table/TableContext.js","../../../../node_modules/@mui/material/Table/tableClasses.js","../../../../node_modules/@mui/material/Table/Table.js","../../../../node_modules/@mui/material/Table/Tablelvl2Context.js","../../../../node_modules/@mui/material/TableBody/tableBodyClasses.js","../../../../node_modules/@mui/material/TableBody/TableBody.js","../../../../node_modules/@mui/material/TableCell/tableCellClasses.js","../../../../node_modules/@mui/material/TableCell/TableCell.js","../../../../node_modules/@mui/material/TableHead/tableHeadClasses.js","../../../../node_modules/@mui/material/TableHead/TableHead.js","../../../../node_modules/@mui/material/Toolbar/toolbarClasses.js","../../../../node_modules/@mui/material/Toolbar/Toolbar.js","../../../../node_modules/@mui/material/internal/svg-icons/KeyboardArrowLeft.js","../../../../node_modules/@mui/material/internal/svg-icons/KeyboardArrowRight.js","../../../../node_modules/@mui/material/TablePagination/TablePaginationActions.js","../../../../node_modules/@mui/material/TablePagination/tablePaginationClasses.js","../../../../node_modules/@mui/material/TablePagination/TablePagination.js","../../../../node_modules/@mui/material/TableRow/tableRowClasses.js","../../../../node_modules/@mui/material/TableRow/TableRow.js","../../../../node_modules/@mui/material/internal/svg-icons/ArrowDownward.js","../../../../node_modules/@mui/material/TableSortLabel/tableSortLabelClasses.js","../../../../node_modules/@mui/material/TableSortLabel/TableSortLabel.js","../../../../node_modules/@mui/material/internal/animate.js","../../../../node_modules/@mui/material/Tabs/ScrollbarSize.js","../../../../node_modules/@mui/material/TabScrollButton/tabScrollButtonClasses.js","../../../../node_modules/@mui/material/TabScrollButton/TabScrollButton.js","../../../../node_modules/@mui/material/Tabs/tabsClasses.js","../../../../node_modules/@mui/material/Tabs/Tabs.js","../../../../node_modules/@mui/material/TextField/textFieldClasses.js","../../../../node_modules/@mui/material/TextField/TextField.js","../../../../node_modules/@mui/material/useScrollTrigger/useScrollTrigger.js","../../../../node_modules/@mui/icons-material/utils/createSvgIcon.js","../../../../node_modules/@mui/icons-material/Lock.js","../../../../packages/ra-ui-materialui/src/button/Button.tsx","../../../../node_modules/@mui/icons-material/Add.js","../../../../packages/ra-ui-materialui/src/button/CreateButton.tsx","../../../../node_modules/@mui/icons-material/RemoveRedEye.js","../../../../packages/ra-ui-materialui/src/button/ShowButton.tsx","../../../../node_modules/@mui/icons-material/Sort.js","../../../../node_modules/@mui/icons-material/ArrowDropDown.js","../../../../packages/ra-ui-materialui/src/button/SortButton.tsx","../../../../node_modules/@mui/icons-material/Delete.js","../../../../node_modules/@mui/icons-material/Menu.js","../../../../packages/ra-ui-materialui/src/layout/useSidebarState.ts","../../../../packages/ra-ui-materialui/src/layout/SidebarToggleButton.tsx","../../../../packages/ra-ui-materialui/src/layout/LoadingIndicator.tsx","../../../../node_modules/@mui/icons-material/AccountCircle.js","../../../../packages/ra-ui-materialui/src/layout/UserMenuContext.ts","../../../../packages/ra-ui-materialui/src/layout/UserMenuContextProvider.tsx","../../../../node_modules/@mui/icons-material/PowerSettingsNew.js","../../../../packages/ra-ui-materialui/src/auth/Logout.tsx","../../../../packages/ra-ui-materialui/src/layout/UserMenu.tsx","../../../../packages/ra-ui-materialui/src/layout/HideOnScroll.tsx","../../../../packages/ra-ui-materialui/src/layout/TitlePortal.tsx","../../../../packages/ra-ui-materialui/src/theme/ThemesContext.ts","../../../../packages/ra-ui-materialui/src/theme/useThemesContext.ts","../../../../node_modules/@mui/icons-material/Brightness4.js","../../../../node_modules/@mui/icons-material/Brightness7.js","../../../../packages/ra-ui-materialui/src/theme/useTheme.ts","../../../../packages/ra-ui-materialui/src/theme/ThemeProvider.tsx","../../../../packages/ra-ui-materialui/src/theme/defaultTheme.ts","../../../../packages/ra-ui-materialui/src/button/ToggleThemeButton.tsx","../../../../packages/ra-ui-materialui/src/layout/AppBar.tsx","../../../../packages/ra-ui-materialui/src/layout/ApplicationUpdatedNotification.tsx","../../../../packages/ra-ui-materialui/src/layout/CheckForApplicationUpdate.tsx","../../../../node_modules/@mui/icons-material/CheckCircle.js","../../../../node_modules/@mui/icons-material/ErrorOutline.js","../../../../packages/ra-ui-materialui/src/layout/Confirm.tsx","../../../../node_modules/@mui/icons-material/Dashboard.js","../../../../packages/ra-ui-materialui/src/layout/MenuItemLink.tsx","../../../../packages/ra-ui-materialui/src/layout/DashboardMenuItem.tsx","../../../../node_modules/@mui/icons-material/Report.js","../../../../node_modules/@mui/icons-material/ExpandMore.js","../../../../node_modules/@mui/icons-material/History.js","../../../../node_modules/@mui/icons-material/Settings.js","../../../../packages/ra-ui-materialui/src/preferences/Configurable.tsx","../../../../node_modules/@mui/icons-material/CancelOutlined.js","../../../../node_modules/@mui/icons-material/DeleteOutline.js","../../../../packages/ra-ui-materialui/src/preferences/InspectorRoot.tsx","../../../../packages/ra-ui-materialui/src/preferences/Inspector.tsx","../../../../packages/ra-ui-materialui/src/layout/PageTitle.tsx","../../../../packages/ra-ui-materialui/src/layout/PageTitleConfigurable.tsx","../../../../packages/ra-ui-materialui/src/layout/Title.tsx","../../../../packages/ra-ui-materialui/src/layout/Error.tsx","../../../../packages/ra-ui-materialui/src/layout/Sidebar.tsx","../../../../node_modules/@mui/icons-material/ViewList.js","../../../../packages/ra-ui-materialui/src/layout/ResourceMenuItem.tsx","../../../../packages/ra-ui-materialui/src/layout/ResourceMenuItems.tsx","../../../../packages/ra-ui-materialui/src/layout/Menu.tsx","../../../../packages/ra-ui-materialui/src/layout/Loading.tsx","../../../../packages/ra-ui-materialui/src/layout/Layout.tsx","../../../../packages/ra-ui-materialui/src/layout/LinearProgress.tsx","../../../../packages/ra-ui-materialui/src/layout/LoadingPage.tsx","../../../../node_modules/@mui/icons-material/HotTub.js","../../../../packages/ra-ui-materialui/src/layout/NotFound.tsx","../../../../packages/ra-ui-materialui/src/layout/Notification.tsx","../../../../packages/ra-ui-materialui/src/layout/TopToolbar.tsx","../../../../packages/ra-ui-materialui/src/button/BulkDeleteWithConfirmButton.tsx","../../../../packages/ra-ui-materialui/src/button/BulkDeleteWithUndoButton.tsx","../../../../packages/ra-ui-materialui/src/button/BulkDeleteButton.tsx","../../../../node_modules/@mui/icons-material/GetApp.js","../../../../packages/ra-ui-materialui/src/button/DeleteWithUndoButton.tsx","../../../../packages/ra-ui-materialui/src/button/DeleteWithConfirmButton.tsx","../../../../packages/ra-ui-materialui/src/button/DeleteButton.tsx","../../../../node_modules/@mui/icons-material/Create.js","../../../../packages/ra-ui-materialui/src/button/EditButton.tsx","../../../../packages/ra-ui-materialui/src/button/ExportButton.tsx","../../../../node_modules/@mui/icons-material/Translate.js","../../../../packages/ra-ui-materialui/src/button/LocalesMenuButton.tsx","../../../../node_modules/@mui/icons-material/Error.js","../../../../node_modules/@mui/icons-material/Refresh.js","../../../../packages/ra-ui-materialui/src/button/RefreshIconButton.tsx","../../../../node_modules/@mui/icons-material/Save.js","../../../../packages/ra-ui-materialui/src/button/SaveButton.tsx","../../../../packages/ra-ui-materialui/src/button/SkipNavigationButton.tsx","../../../../packages/ra-ui-materialui/src/auth/AuthError.tsx","../../../../packages/ra-ui-materialui/src/auth/AuthCallback.tsx","../../../../packages/ra-ui-materialui/src/input/InputHelperText.tsx","../../../../packages/ra-ui-materialui/src/input/sanitizeInputRestProps.ts","../../../../node_modules/@mui/icons-material/RemoveCircleOutline.js","../../../../packages/ra-ui-materialui/src/input/useSupportCreateSuggestion.tsx","../../../../packages/ra-ui-materialui/src/input/AutocompleteInput.tsx","../../../../packages/ra-ui-materialui/src/input/BooleanInput.tsx","../../../../packages/ra-ui-materialui/src/list/datagrid/useDatagridStyles.tsx","../../../../packages/ra-ui-materialui/src/list/datagrid/DatagridCell.tsx","../../../../packages/ra-ui-materialui/src/list/datagrid/ExpandRowButton.tsx","../../../../packages/ra-ui-materialui/src/list/datagrid/DatagridContext.ts","../../../../packages/ra-ui-materialui/src/list/datagrid/useDatagridContext.ts","../../../../packages/ra-ui-materialui/src/list/datagrid/DatagridRow.tsx","../../../../packages/ra-ui-materialui/src/list/datagrid/DatagridBody.tsx","../../../../packages/ra-ui-materialui/src/list/datagrid/DatagridHeaderCell.tsx","../../../../packages/ra-ui-materialui/src/list/Placeholder.tsx","../../../../packages/ra-ui-materialui/src/list/datagrid/DatagridLoading.tsx","../../../../node_modules/lodash/_baseDifference.js","../../../../node_modules/lodash/difference.js","../../../../packages/ra-ui-materialui/src/list/datagrid/ExpandAllButton.tsx","../../../../packages/ra-ui-materialui/src/list/datagrid/DatagridHeader.tsx","../../../../packages/ra-ui-materialui/src/list/datagrid/DatagridContextProvider.tsx","../../../../node_modules/@mui/icons-material/Close.js","../../../../packages/ra-ui-materialui/src/list/BulkActionsToolbar.tsx","../../../../packages/ra-ui-materialui/src/list/ListNoResults.tsx","../../../../packages/ra-ui-materialui/src/list/datagrid/Datagrid.tsx","../../../../packages/ra-ui-materialui/src/list/filter/FilterFormInput.tsx","../../../../packages/ra-ui-materialui/src/list/FilterContext.tsx","../../../../packages/ra-ui-materialui/src/list/filter/FilterForm.tsx","../../../../node_modules/@mui/icons-material/FilterList.js","../../../../packages/ra-ui-materialui/src/list/filter/FilterButtonMenuItem.tsx","../../../../packages/ra-ui-materialui/src/list/filter/useSavedQueries.ts","../../../../packages/ra-ui-materialui/src/list/filter/AddSavedQueryDialog.tsx","../../../../packages/ra-ui-materialui/src/list/filter/RemoveSavedQueryDialog.tsx","../../../../packages/ra-ui-materialui/src/list/filter/FilterButton.tsx","../../../../packages/ra-ui-materialui/src/list/filter/FilterList.tsx","../../../../node_modules/lodash/matches.js","../../../../packages/ra-ui-materialui/src/list/filter/FilterListItem.tsx","../../../../node_modules/@mui/icons-material/Search.js","../../../../packages/ra-ui-materialui/src/list/filter/FilterLiveSearch.tsx","../../../../packages/ra-ui-materialui/src/list/pagination/PaginationActions.tsx","../../../../packages/ra-ui-materialui/src/list/pagination/Pagination.tsx","../../../../packages/ra-ui-materialui/src/input/DateInput.tsx","../../../../node_modules/@mui/icons-material/Clear.js","../../../../packages/ra-ui-materialui/src/input/ResettableTextField.tsx","../../../../packages/ra-ui-materialui/src/input/LoadingInput.tsx","../../../../packages/ra-ui-materialui/src/input/TextInput.tsx","../../../../packages/ra-ui-materialui/src/input/ReferenceInput.tsx","../../../../packages/ra-ui-materialui/src/input/SelectInput.tsx","../../../../packages/ra-ui-materialui/src/auth/LoginForm.tsx","../../../../packages/ra-ui-materialui/src/auth/Login.tsx","../../../../packages/ra-ui-materialui/src/detail/CreateView.tsx","../../../../packages/ra-ui-materialui/src/detail/Create.tsx","../../../../packages/ra-ui-materialui/src/detail/EditActions.tsx","../../../../packages/ra-ui-materialui/src/detail/EditView.tsx","../../../../packages/ra-ui-materialui/src/detail/Edit.tsx","../../../../packages/ra-ui-materialui/src/form/Toolbar.tsx","../../../../packages/ra-ui-materialui/src/field/genericMemo.ts","../../../../packages/ra-ui-materialui/src/field/ArrayField.tsx","../../../../node_modules/@mui/icons-material/Done.js","../../../../packages/ra-ui-materialui/src/field/sanitizeFieldRestProps.ts","../../../../packages/ra-ui-materialui/src/field/BooleanField.tsx","../../../../packages/ra-ui-materialui/src/field/ChipField.tsx","../../../../packages/ra-ui-materialui/src/field/DateField.tsx","../../../../packages/ra-ui-materialui/src/field/EmailField.tsx","../../../../packages/ra-ui-materialui/src/field/FunctionField.tsx","../../../../packages/ra-ui-materialui/src/field/NumberField.tsx","../../../../packages/ra-ui-materialui/src/Link.tsx","../../../../packages/ra-ui-materialui/src/list/SingleFieldList.tsx","../../../../packages/ra-ui-materialui/src/field/ReferenceArrayField.tsx","../../../../packages/ra-ui-materialui/src/field/ReferenceField.tsx","../../../../packages/ra-ui-materialui/src/field/ReferenceManyField.tsx","../../../../packages/ra-ui-materialui/src/field/SelectField.tsx","../../../../packages/ra-ui-materialui/src/field/TextField.tsx","../../../../packages/ra-ui-materialui/src/field/UrlField.tsx","../../../../node_modules/@mui/icons-material/Inbox.js","../../../../packages/ra-ui-materialui/src/list/Empty.tsx","../../../../packages/ra-ui-materialui/src/list/ListToolbar.tsx","../../../../packages/ra-ui-materialui/src/list/ListActions.tsx","../../../../packages/ra-ui-materialui/src/list/ListView.tsx","../../../../packages/ra-ui-materialui/src/list/List.tsx","../../../../packages/ra-ui-materialui/src/list/listFieldTypes.tsx","../../../../packages/ra-ui-materialui/src/list/ListGuesser.tsx","../../../../packages/ra-ui-materialui/src/list/SimpleList/SimpleListLoading.tsx","../../../../packages/ra-ui-materialui/src/list/SimpleList/SimpleList.tsx","../../../../packages/ra-ui-materialui/src/AdminUI.tsx","../../../../packages/ra-ui-materialui/src/AdminContext.tsx","../../../../packages/ra-language-english/src/index.ts","../../../../node_modules/object-keys/isArguments.js","../../../../node_modules/object-keys/implementation.js","../../../../node_modules/object-keys/index.js","../../../../node_modules/es-errors/index.js","../../../../node_modules/es-errors/eval.js","../../../../node_modules/es-errors/range.js","../../../../node_modules/es-errors/ref.js","../../../../node_modules/es-errors/syntax.js","../../../../node_modules/es-errors/type.js","../../../../node_modules/es-errors/uri.js","../../../../node_modules/has-symbols/shams.js","../../../../node_modules/has-symbols/index.js","../../../../node_modules/has-proto/index.js","../../../../node_modules/function-bind/implementation.js","../../../../node_modules/function-bind/index.js","../../../../node_modules/hasown/index.js","../../../../node_modules/es-define-property/node_modules/get-intrinsic/index.js","../../../../node_modules/es-define-property/index.js","../../../../node_modules/get-intrinsic/index.js","../../../../node_modules/gopd/index.js","../../../../node_modules/define-data-property/index.js","../../../../node_modules/has-property-descriptors/index.js","../../../../node_modules/define-properties/index.js","../../../../node_modules/set-function-length/node_modules/define-data-property/index.js","../../../../node_modules/set-function-length/index.js","../../../../node_modules/call-bind/index.js","../../../../node_modules/call-bind/callBound.js","../../../../node_modules/es-abstract/5/CheckObjectCoercible.js","../../../../node_modules/es-abstract/2021/RequireObjectCoercible.js","../../../../node_modules/es-abstract/2021/IsArray.js","../../../../node_modules/es-abstract/2021/Call.js","../../__vite-browser-external","../../../../node_modules/object-inspect/index.js","../../../../node_modules/es-abstract/2021/IsPropertyKey.js","../../../../node_modules/es-abstract/5/Type.js","../../../../node_modules/es-abstract/2021/Type.js","../../../../node_modules/es-abstract/2021/Get.js","../../../../node_modules/es-abstract/2021/HasProperty.js","../../../../node_modules/is-callable/index.js","../../../../node_modules/es-abstract/2021/IsCallable.js","../../../../node_modules/es-abstract/helpers/maxSafeInteger.js","../../../../node_modules/es-abstract/5/abs.js","../../../../node_modules/es-abstract/5/floor.js","../../../../node_modules/es-to-primitive/helpers/isPrimitive.js","../../../../node_modules/es-to-primitive/es5.js","../../../../node_modules/es-abstract/5/ToPrimitive.js","../../../../node_modules/es-abstract/5/ToNumber.js","../../../../node_modules/es-abstract/helpers/isNaN.js","../../../../node_modules/es-abstract/helpers/isFinite.js","../../../../node_modules/es-abstract/helpers/sign.js","../../../../node_modules/es-abstract/5/ToInteger.js","../../../../node_modules/es-abstract/helpers/regexTester.js","../../../../node_modules/es-abstract/helpers/isPrimitive.js","../../../../node_modules/has-tostringtag/shams.js","../../../../node_modules/is-date-object/index.js","../../../../node_modules/is-symbol/index.js","../../../../node_modules/es-to-primitive/es2015.js","../../../../node_modules/es-abstract/2021/ToPrimitive.js","../../../../node_modules/es-abstract/2021/ToNumber.js","../../../../node_modules/es-abstract/2021/ToIntegerOrInfinity.js","../../../../node_modules/es-abstract/2021/ToLength.js","../../../../node_modules/es-abstract/2021/LengthOfArrayLike.js","../../../../node_modules/es-abstract/2021/ToObject.js","../../../../node_modules/es-abstract/2021/ToString.js","../../../../node_modules/is-string/index.js","../../../../node_modules/array.prototype.foreach/implementation.js","../../../../node_modules/es-array-method-boxes-properly/index.js","../../../../node_modules/array.prototype.foreach/polyfill.js","../../../../node_modules/array.prototype.foreach/shim.js","../../../../node_modules/array.prototype.foreach/index.js","../../../../node_modules/object.entries/implementation.js","../../../../node_modules/object.entries/polyfill.js","../../../../node_modules/object.entries/shim.js","../../../../node_modules/object.entries/index.js","../../../../node_modules/has/src/index.js","../../../../node_modules/string.prototype.trim/implementation.js","../../../../node_modules/string.prototype.trim/polyfill.js","../../../../node_modules/string.prototype.trim/shim.js","../../../../node_modules/string.prototype.trim/index.js","../../../../node_modules/node-polyglot/index.js","../../../../packages/ra-i18n-polyglot/src/index.ts","../../../../packages/react-admin/src/defaultI18nProvider.ts","../../../../packages/react-admin/src/Admin.tsx","../../src/Header.tsx","../../src/Layout.tsx","../../src/authProvider.ts","../../../../node_modules/@mui/icons-material/MonetizationOn.js","../../src/companies/sectors.ts","../../src/companies/CompanyAvatar.tsx","../../src/companies/CompanyCard.tsx","../../src/companies/GridList.tsx","../../../../node_modules/@mui/icons-material/Business.js","../../../../node_modules/@mui/icons-material/LocalShipping.js","../../../../node_modules/@mui/icons-material/SupervisorAccount.js","../../src/companies/sizes.ts","../../src/companies/CompanyListFilter.tsx","../../src/companies/CompanyList.tsx","../../src/companies/CompanyForm.tsx","../../src/companies/CompanyCreate.tsx","../../../../node_modules/@mui/icons-material/PersonAdd.js","../../src/contacts/Avatar.tsx","../../src/misc/Status.tsx","../../src/contacts/TagsList.tsx","../../src/companies/LogoField.tsx","../../src/companies/CompanyAside.tsx","../../src/deals/stages.ts","../../src/companies/CompanyShow.tsx","../../src/companies/CompanyEdit.tsx","../../src/companies/index.ts","../../../../node_modules/@mui/icons-material/ControlPoint.js","../../../../node_modules/@mui/icons-material/Edit.js","../../src/tags/colors.ts","../../src/contacts/TagsListEdit.tsx","../../src/tasks/AddTask.tsx","../../../../node_modules/@mui/icons-material/MoreVert.js","../../src/tasks/Task.tsx","../../src/tasks/TasksIterator.tsx","../../src/contacts/constants.ts","../../src/contacts/ContactAside.tsx","../../src/notes/StatusSelector.tsx","../../src/notes/NewNote.tsx","../../src/notes/Note.tsx","../../src/notes/NotesIterator.tsx","../../src/contacts/ContactShow.tsx","../../../../node_modules/@mui/icons-material/AccessTime.js","../../../../node_modules/@mui/icons-material/TrendingUp.js","../../../../node_modules/@mui/icons-material/LocalOffer.js","../../src/contacts/ContactListFilter.tsx","../../src/contacts/ContactList.tsx","../../src/contacts/ContactInputs.tsx","../../src/contacts/ContactEdit.tsx","../../src/contacts/ContactCreate.tsx","../../src/contacts/index.tsx","../../../../node_modules/@mui/icons-material/Home.js","../../../../node_modules/@mui/icons-material/Code.js","../../src/dashboard/Welcome.tsx","../../../../node_modules/@mui/icons-material/AttachMoney.js","../../../../node_modules/@react-spring/rafz/dist/react-spring-rafz.esm.js","../../../../node_modules/@react-spring/shared/dist/react-spring-shared.esm.js","../../../../node_modules/@react-spring/animated/dist/react-spring-animated.esm.js","../../../../node_modules/@react-spring/core/dist/react-spring-core.esm.js","../../../../node_modules/@react-spring/web/dist/react-spring-web.esm.js","../../../../node_modules/@nivo/tooltip/dist/nivo-tooltip.es.js","../../../../node_modules/d3-color/src/define.js","../../../../node_modules/d3-color/src/color.js","../../../../node_modules/d3-color/src/math.js","../../../../node_modules/d3-color/src/cubehelix.js","../../../../node_modules/d3-interpolate/src/basis.js","../../../../node_modules/d3-interpolate/src/constant.js","../../../../node_modules/d3-interpolate/src/color.js","../../../../node_modules/d3-interpolate/src/rgb.js","../../../../node_modules/d3-interpolate/src/numberArray.js","../../../../node_modules/d3-interpolate/src/array.js","../../../../node_modules/d3-interpolate/src/date.js","../../../../node_modules/d3-interpolate/src/number.js","../../../../node_modules/d3-interpolate/src/object.js","../../../../node_modules/d3-interpolate/src/string.js","../../../../node_modules/d3-interpolate/src/value.js","../../../../node_modules/d3-interpolate/src/round.js","../../../../node_modules/d3-interpolate/src/cubehelix.js","../../../../node_modules/lodash/isString.js","../../../../node_modules/d3-array/src/ascending.js","../../../../node_modules/d3-array/src/bisector.js","../../../../node_modules/d3-array/src/number.js","../../../../node_modules/d3-array/src/bisect.js","../../../../node_modules/d3-array/src/ticks.js","../../../../node_modules/d3-array/src/range.js","../../../../node_modules/d3-scale/src/init.js","../../../../node_modules/d3-scale/src/ordinal.js","../../../../node_modules/d3-scale/src/band.js","../../../../node_modules/d3-scale/src/constant.js","../../../../node_modules/d3-scale/src/number.js","../../../../node_modules/d3-scale/src/continuous.js","../../../../node_modules/d3-scale/node_modules/d3-format/src/formatDecimal.js","../../../../node_modules/d3-scale/node_modules/d3-format/src/exponent.js","../../../../node_modules/d3-scale/node_modules/d3-format/src/formatGroup.js","../../../../node_modules/d3-scale/node_modules/d3-format/src/formatNumerals.js","../../../../node_modules/d3-scale/node_modules/d3-format/src/formatSpecifier.js","../../../../node_modules/d3-scale/node_modules/d3-format/src/formatTrim.js","../../../../node_modules/d3-scale/node_modules/d3-format/src/formatPrefixAuto.js","../../../../node_modules/d3-scale/node_modules/d3-format/src/formatRounded.js","../../../../node_modules/d3-scale/node_modules/d3-format/src/formatTypes.js","../../../../node_modules/d3-scale/node_modules/d3-format/src/identity.js","../../../../node_modules/d3-scale/node_modules/d3-format/src/locale.js","../../../../node_modules/d3-scale/node_modules/d3-format/src/defaultLocale.js","../../../../node_modules/d3-scale/node_modules/d3-format/src/precisionFixed.js","../../../../node_modules/d3-scale/node_modules/d3-format/src/precisionPrefix.js","../../../../node_modules/d3-scale/node_modules/d3-format/src/precisionRound.js","../../../../node_modules/d3-scale/src/tickFormat.js","../../../../node_modules/d3-scale/src/linear.js","../../../../node_modules/d3-scale/src/nice.js","../../../../node_modules/d3-scale/src/log.js","../../../../node_modules/d3-scale/src/symlog.js","../../../../node_modules/d3-time/src/interval.js","../../../../node_modules/d3-time/src/millisecond.js","../../../../node_modules/d3-time/src/duration.js","../../../../node_modules/d3-time/src/second.js","../../../../node_modules/d3-time/src/minute.js","../../../../node_modules/d3-time/src/hour.js","../../../../node_modules/d3-time/src/day.js","../../../../node_modules/d3-time/src/week.js","../../../../node_modules/d3-time/src/month.js","../../../../node_modules/d3-time/src/year.js","../../../../node_modules/d3-time/src/utcMinute.js","../../../../node_modules/d3-time/src/utcHour.js","../../../../node_modules/d3-time/src/utcDay.js","../../../../node_modules/d3-time/src/utcWeek.js","../../../../node_modules/d3-time/src/utcMonth.js","../../../../node_modules/d3-time/src/utcYear.js","../../../../node_modules/d3-time/src/ticks.js","../../../../node_modules/d3-time-format/src/locale.js","../../../../node_modules/d3-time-format/src/defaultLocale.js","../../../../node_modules/d3-scale/src/time.js","../../../../node_modules/d3-scale/src/utcTime.js","../../../../node_modules/d3-scale-chromatic/src/colors.js","../../../../node_modules/d3-scale-chromatic/src/categorical/category10.js","../../../../node_modules/d3-scale-chromatic/src/categorical/Accent.js","../../../../node_modules/d3-scale-chromatic/src/categorical/Dark2.js","../../../../node_modules/d3-scale-chromatic/src/categorical/Paired.js","../../../../node_modules/d3-scale-chromatic/src/categorical/Pastel1.js","../../../../node_modules/d3-scale-chromatic/src/categorical/Pastel2.js","../../../../node_modules/d3-scale-chromatic/src/categorical/Set1.js","../../../../node_modules/d3-scale-chromatic/src/categorical/Set2.js","../../../../node_modules/d3-scale-chromatic/src/categorical/Set3.js","../../../../node_modules/d3-scale-chromatic/src/ramp.js","../../../../node_modules/d3-scale-chromatic/src/diverging/BrBG.js","../../../../node_modules/d3-scale-chromatic/src/diverging/PRGn.js","../../../../node_modules/d3-scale-chromatic/src/diverging/PiYG.js","../../../../node_modules/d3-scale-chromatic/src/diverging/PuOr.js","../../../../node_modules/d3-scale-chromatic/src/diverging/RdBu.js","../../../../node_modules/d3-scale-chromatic/src/diverging/RdGy.js","../../../../node_modules/d3-scale-chromatic/src/diverging/RdYlBu.js","../../../../node_modules/d3-scale-chromatic/src/diverging/RdYlGn.js","../../../../node_modules/d3-scale-chromatic/src/diverging/Spectral.js","../../../../node_modules/d3-scale-chromatic/src/sequential-multi/BuGn.js","../../../../node_modules/d3-scale-chromatic/src/sequential-multi/BuPu.js","../../../../node_modules/d3-scale-chromatic/src/sequential-multi/GnBu.js","../../../../node_modules/d3-scale-chromatic/src/sequential-multi/OrRd.js","../../../../node_modules/d3-scale-chromatic/src/sequential-multi/PuBuGn.js","../../../../node_modules/d3-scale-chromatic/src/sequential-multi/PuBu.js","../../../../node_modules/d3-scale-chromatic/src/sequential-multi/PuRd.js","../../../../node_modules/d3-scale-chromatic/src/sequential-multi/RdPu.js","../../../../node_modules/d3-scale-chromatic/src/sequential-multi/YlGnBu.js","../../../../node_modules/d3-scale-chromatic/src/sequential-multi/YlGn.js","../../../../node_modules/d3-scale-chromatic/src/sequential-multi/YlOrBr.js","../../../../node_modules/d3-scale-chromatic/src/sequential-multi/YlOrRd.js","../../../../node_modules/d3-scale-chromatic/src/sequential-single/Blues.js","../../../../node_modules/d3-scale-chromatic/src/sequential-single/Greens.js","../../../../node_modules/d3-scale-chromatic/src/sequential-single/Greys.js","../../../../node_modules/d3-scale-chromatic/src/sequential-single/Purples.js","../../../../node_modules/d3-scale-chromatic/src/sequential-single/Reds.js","../../../../node_modules/d3-scale-chromatic/src/sequential-single/Oranges.js","../../../../node_modules/d3-scale-chromatic/src/sequential-multi/cividis.js","../../../../node_modules/d3-scale-chromatic/src/sequential-multi/cubehelix.js","../../../../node_modules/d3-scale-chromatic/src/sequential-multi/rainbow.js","../../../../node_modules/d3-scale-chromatic/src/sequential-multi/sinebow.js","../../../../node_modules/d3-scale-chromatic/src/sequential-multi/turbo.js","../../../../node_modules/d3-scale-chromatic/src/sequential-multi/viridis.js","../../../../node_modules/lodash/without.js","../../../../node_modules/d3-shape/src/constant.js","../../../../node_modules/d3-shape/src/math.js","../../../../node_modules/d3-shape/src/curve/linear.js","../../../../node_modules/d3-shape/src/array.js","../../../../node_modules/d3-shape/src/noop.js","../../../../node_modules/d3-shape/src/curve/basis.js","../../../../node_modules/d3-shape/src/curve/basisClosed.js","../../../../node_modules/d3-shape/src/curve/basisOpen.js","../../../../node_modules/d3-shape/src/curve/bundle.js","../../../../node_modules/d3-shape/src/curve/cardinal.js","../../../../node_modules/d3-shape/src/curve/cardinalClosed.js","../../../../node_modules/d3-shape/src/curve/cardinalOpen.js","../../../../node_modules/d3-shape/src/curve/catmullRom.js","../../../../node_modules/d3-shape/src/curve/catmullRomClosed.js","../../../../node_modules/d3-shape/src/curve/catmullRomOpen.js","../../../../node_modules/d3-shape/src/curve/linearClosed.js","../../../../node_modules/d3-shape/src/curve/monotone.js","../../../../node_modules/d3-shape/src/curve/natural.js","../../../../node_modules/d3-shape/src/curve/step.js","../../../../node_modules/d3-shape/src/offset/none.js","../../../../node_modules/d3-shape/src/order/none.js","../../../../node_modules/d3-shape/src/stack.js","../../../../node_modules/d3-shape/src/offset/expand.js","../../../../node_modules/d3-shape/src/offset/diverging.js","../../../../node_modules/d3-shape/src/offset/silhouette.js","../../../../node_modules/d3-shape/src/offset/wiggle.js","../../../../node_modules/d3-shape/src/order/appearance.js","../../../../node_modules/d3-shape/src/order/ascending.js","../../../../node_modules/d3-shape/src/order/descending.js","../../../../node_modules/d3-shape/src/order/insideOut.js","../../../../node_modules/d3-shape/src/order/reverse.js","../../../../node_modules/d3-format/src/formatDecimal.js","../../../../node_modules/d3-format/src/exponent.js","../../../../node_modules/d3-format/src/formatGroup.js","../../../../node_modules/d3-format/src/formatNumerals.js","../../../../node_modules/d3-format/src/formatSpecifier.js","../../../../node_modules/d3-format/src/formatTrim.js","../../../../node_modules/d3-format/src/formatPrefixAuto.js","../../../../node_modules/d3-format/src/formatRounded.js","../../../../node_modules/d3-format/src/formatTypes.js","../../../../node_modules/d3-format/src/identity.js","../../../../node_modules/d3-format/src/locale.js","../../../../node_modules/d3-format/src/defaultLocale.js","../../../../node_modules/@nivo/core/dist/nivo-core.es.js","../../../../node_modules/lodash/uniqBy.js","../../../../node_modules/lodash/_baseForOwn.js","../../../../node_modules/lodash/_createBaseEach.js","../../../../node_modules/lodash/_baseEach.js","../../../../node_modules/lodash/_baseMap.js","../../../../node_modules/lodash/_baseSortBy.js","../../../../node_modules/lodash/_compareAscending.js","../../../../node_modules/lodash/_compareMultiple.js","../../../../node_modules/lodash/_baseOrderBy.js","../../../../node_modules/lodash/sortBy.js","../../../../node_modules/lodash/isDate.js","../../../../node_modules/@nivo/scales/node_modules/d3-time/src/interval.js","../../../../node_modules/@nivo/scales/node_modules/d3-time/src/millisecond.js","../../../../node_modules/@nivo/scales/node_modules/d3-time/src/duration.js","../../../../node_modules/@nivo/scales/node_modules/d3-time/src/second.js","../../../../node_modules/@nivo/scales/node_modules/d3-time/src/minute.js","../../../../node_modules/@nivo/scales/node_modules/d3-time/src/hour.js","../../../../node_modules/@nivo/scales/node_modules/d3-time/src/week.js","../../../../node_modules/@nivo/scales/node_modules/d3-time/src/month.js","../../../../node_modules/@nivo/scales/node_modules/d3-time/src/year.js","../../../../node_modules/@nivo/scales/node_modules/d3-time/src/utcMinute.js","../../../../node_modules/@nivo/scales/node_modules/d3-time/src/utcHour.js","../../../../node_modules/@nivo/scales/node_modules/d3-time/src/utcWeek.js","../../../../node_modules/@nivo/scales/node_modules/d3-time/src/utcMonth.js","../../../../node_modules/@nivo/scales/node_modules/d3-time/src/utcYear.js","../../../../node_modules/@nivo/scales/dist/nivo-scales.es.js","../../../../node_modules/@nivo/axes/dist/nivo-axes.es.js","../../../../node_modules/lodash/_customOmitClone.js","../../../../node_modules/lodash/omit.js","../../../../node_modules/lodash/isNumber.js","../../../../node_modules/lodash/_baseFilter.js","../../../../node_modules/lodash/filter.js","../../../../node_modules/@nivo/annotations/dist/nivo-annotations.es.js","../../../../node_modules/@nivo/colors/dist/nivo-colors.es.js","../../../../node_modules/@nivo/legends/dist/nivo-legends.es.js","../../../../node_modules/@nivo/bar/dist/nivo-bar.es.js","../../src/dashboard/DealsChart.tsx","../../../../node_modules/@mui/icons-material/Contacts.js","../../src/dashboard/HotContacts.tsx","../../../../node_modules/@mui/icons-material/Note.js","../../src/dashboard/LatestNotes.tsx","../../../../node_modules/@mui/icons-material/AssignmentTurnedIn.js","../../src/dashboard/TasksList.tsx","../../src/dashboard/Dashboard.tsx","../../../../node_modules/fakerest/dist/fakerest.min.js","../../../../packages/ra-data-fakerest/src/index.ts","../../../../node_modules/faker/lib/fake.js","../../../../node_modules/faker/vendor/unique.js","../../../../node_modules/faker/lib/unique.js","../../../../node_modules/faker/vendor/mersenne.js","../../../../node_modules/faker/lib/random.js","../../../../node_modules/faker/lib/helpers.js","../../../../node_modules/faker/lib/name.js","../../../../node_modules/faker/lib/address.js","../../../../node_modules/faker/lib/company.js","../../../../node_modules/faker/lib/iban.js","../../../../node_modules/faker/lib/finance.js","../../../../node_modules/faker/lib/image_providers/lorempixel.js","../../../../node_modules/faker/lib/image_providers/unsplash.js","../../../../node_modules/faker/lib/image_providers/lorempicsum.js","../../../../node_modules/faker/lib/image.js","../../../../node_modules/faker/lib/lorem.js","../../../../node_modules/faker/lib/hacker.js","../../../../node_modules/faker/vendor/user-agent.js","../../../../node_modules/faker/lib/internet.js","../../../../node_modules/faker/lib/database.js","../../../../node_modules/faker/lib/phone_number.js","../../../../node_modules/faker/lib/date.js","../../../../node_modules/faker/lib/time.js","../../../../node_modules/faker/lib/commerce.js","../../../../node_modules/faker/lib/system.js","../../../../node_modules/faker/lib/git.js","../../../../node_modules/faker/lib/vehicle.js","../../../../node_modules/faker/lib/music.js","../../../../node_modules/faker/lib/index.js","../../../../node_modules/faker/lib/locales/en_US/internet/domain_suffix.js","../../../../node_modules/faker/lib/locales/en_US/internet/index.js","../../../../node_modules/faker/lib/locales/en_US/address/default_country.js","../../../../node_modules/faker/lib/locales/en_US/address/postcode_by_state.js","../../../../node_modules/faker/lib/locales/en_US/address/index.js","../../../../node_modules/faker/lib/locales/en_US/phone_number/area_code.js","../../../../node_modules/faker/lib/locales/en_US/phone_number/exchange_code.js","../../../../node_modules/faker/lib/locales/en_US/phone_number/index.js","../../../../node_modules/faker/lib/locales/en_US/index.js","../../../../node_modules/faker/lib/locales/en/address/city_prefix.js","../../../../node_modules/faker/lib/locales/en/address/city_suffix.js","../../../../node_modules/faker/lib/locales/en/address/county.js","../../../../node_modules/faker/lib/locales/en/address/country.js","../../../../node_modules/faker/lib/locales/en/address/country_code.js","../../../../node_modules/faker/lib/locales/en/address/country_code_alpha_3.js","../../../../node_modules/faker/lib/locales/en/address/building_number.js","../../../../node_modules/faker/lib/locales/en/address/street_suffix.js","../../../../node_modules/faker/lib/locales/en/address/secondary_address.js","../../../../node_modules/faker/lib/locales/en/address/postcode.js","../../../../node_modules/faker/lib/locales/en/address/postcode_by_state.js","../../../../node_modules/faker/lib/locales/en/address/state.js","../../../../node_modules/faker/lib/locales/en/address/state_abbr.js","../../../../node_modules/faker/lib/locales/en/address/time_zone.js","../../../../node_modules/faker/lib/locales/en/address/city.js","../../../../node_modules/faker/lib/locales/en/address/street_name.js","../../../../node_modules/faker/lib/locales/en/address/street_address.js","../../../../node_modules/faker/lib/locales/en/address/default_country.js","../../../../node_modules/faker/lib/locales/en/address/direction.js","../../../../node_modules/faker/lib/locales/en/address/direction_abbr.js","../../../../node_modules/faker/lib/locales/en/address/index.js","../../../../node_modules/faker/lib/locales/en/company/suffix.js","../../../../node_modules/faker/lib/locales/en/company/adjective.js","../../../../node_modules/faker/lib/locales/en/company/descriptor.js","../../../../node_modules/faker/lib/locales/en/company/noun.js","../../../../node_modules/faker/lib/locales/en/company/bs_verb.js","../../../../node_modules/faker/lib/locales/en/company/bs_adjective.js","../../../../node_modules/faker/lib/locales/en/company/bs_noun.js","../../../../node_modules/faker/lib/locales/en/company/name.js","../../../../node_modules/faker/lib/locales/en/company/index.js","../../../../node_modules/faker/lib/locales/en/internet/free_email.js","../../../../node_modules/faker/lib/locales/en/internet/example_email.js","../../../../node_modules/faker/lib/locales/en/internet/domain_suffix.js","../../../../node_modules/faker/lib/locales/en/internet/avatar_uri.js","../../../../node_modules/faker/lib/locales/en/internet/index.js","../../../../node_modules/faker/lib/locales/en/database/collation.js","../../../../node_modules/faker/lib/locales/en/database/column.js","../../../../node_modules/faker/lib/locales/en/database/engine.js","../../../../node_modules/faker/lib/locales/en/database/type.js","../../../../node_modules/faker/lib/locales/en/database/index.js","../../../../node_modules/faker/lib/locales/en/lorem/words.js","../../../../node_modules/faker/lib/locales/en/lorem/supplemental.js","../../../../node_modules/faker/lib/locales/en/lorem/index.js","../../../../node_modules/faker/lib/locales/en/name/male_first_name.js","../../../../node_modules/faker/lib/locales/en/name/female_first_name.js","../../../../node_modules/faker/lib/locales/en/name/first_name.js","../../../../node_modules/faker/lib/locales/en/name/last_name.js","../../../../node_modules/faker/lib/locales/en/name/gender.js","../../../../node_modules/faker/lib/locales/en/name/prefix.js","../../../../node_modules/faker/lib/locales/en/name/suffix.js","../../../../node_modules/faker/lib/locales/en/name/title.js","../../../../node_modules/faker/lib/locales/en/name/name.js","../../../../node_modules/faker/lib/locales/en/name/index.js","../../../../node_modules/faker/lib/locales/en/phone_number/formats.js","../../../../node_modules/faker/lib/locales/en/phone_number/index.js","../../../../node_modules/faker/lib/locales/en/cell_phone/formats.js","../../../../node_modules/faker/lib/locales/en/cell_phone/index.js","../../../../node_modules/faker/lib/locales/en/business/credit_card_numbers.js","../../../../node_modules/faker/lib/locales/en/business/credit_card_expiry_dates.js","../../../../node_modules/faker/lib/locales/en/business/credit_card_types.js","../../../../node_modules/faker/lib/locales/en/business/index.js","../../../../node_modules/faker/lib/locales/en/commerce/color.js","../../../../node_modules/faker/lib/locales/en/commerce/department.js","../../../../node_modules/faker/lib/locales/en/commerce/product_name.js","../../../../node_modules/faker/lib/locales/en/commerce/product_description.js","../../../../node_modules/faker/lib/locales/en/commerce/index.js","../../../../node_modules/faker/lib/locales/en/team/creature.js","../../../../node_modules/faker/lib/locales/en/team/name.js","../../../../node_modules/faker/lib/locales/en/team/index.js","../../../../node_modules/faker/lib/locales/en/hacker/abbreviation.js","../../../../node_modules/faker/lib/locales/en/hacker/adjective.js","../../../../node_modules/faker/lib/locales/en/hacker/noun.js","../../../../node_modules/faker/lib/locales/en/hacker/verb.js","../../../../node_modules/faker/lib/locales/en/hacker/ingverb.js","../../../../node_modules/faker/lib/locales/en/hacker/phrase.js","../../../../node_modules/faker/lib/locales/en/hacker/index.js","../../../../node_modules/faker/lib/locales/en/app/name.js","../../../../node_modules/faker/lib/locales/en/app/version.js","../../../../node_modules/faker/lib/locales/en/app/author.js","../../../../node_modules/faker/lib/locales/en/app/index.js","../../../../node_modules/faker/lib/locales/en/finance/account_type.js","../../../../node_modules/faker/lib/locales/en/finance/transaction_type.js","../../../../node_modules/faker/lib/locales/en/finance/currency.js","../../../../node_modules/faker/lib/locales/en/finance/credit_card/visa.js","../../../../node_modules/faker/lib/locales/en/finance/credit_card/mastercard.js","../../../../node_modules/faker/lib/locales/en/finance/credit_card/discover.js","../../../../node_modules/faker/lib/locales/en/finance/credit_card/american_express.js","../../../../node_modules/faker/lib/locales/en/finance/credit_card/diners_club.js","../../../../node_modules/faker/lib/locales/en/finance/credit_card/jcb.js","../../../../node_modules/faker/lib/locales/en/finance/credit_card/switch.js","../../../../node_modules/faker/lib/locales/en/finance/credit_card/solo.js","../../../../node_modules/faker/lib/locales/en/finance/credit_card/maestro.js","../../../../node_modules/faker/lib/locales/en/finance/credit_card/laser.js","../../../../node_modules/faker/lib/locales/en/finance/credit_card/instapayment.js","../../../../node_modules/faker/lib/locales/en/finance/credit_card/index.js","../../../../node_modules/faker/lib/locales/en/finance/index.js","../../../../node_modules/faker/lib/locales/en/date/month.js","../../../../node_modules/faker/lib/locales/en/date/weekday.js","../../../../node_modules/faker/lib/locales/en/date/index.js","../../../../node_modules/faker/lib/locales/en/system/directoryPaths.js","../../../../node_modules/faker/lib/locales/en/system/mimeTypes.js","../../../../node_modules/faker/lib/locales/en/system/index.js","../../../../node_modules/faker/lib/locales/en/vehicle/manufacturer.js","../../../../node_modules/faker/lib/locales/en/vehicle/model.js","../../../../node_modules/faker/lib/locales/en/vehicle/vehicle_type.js","../../../../node_modules/faker/lib/locales/en/vehicle/fuel.js","../../../../node_modules/faker/lib/locales/en/vehicle/index.js","../../../../node_modules/faker/lib/locales/en/music/genre.js","../../../../node_modules/faker/lib/locales/en/music/index.js","../../../../node_modules/faker/lib/locales/en/index.js","../../../../node_modules/faker/locale/en_US.js","../../src/dataGenerator/sales.ts","../../src/dataGenerator/tags.ts","../../../../node_modules/faker/locale/en.js","../../src/dataGenerator/utils.ts","../../src/dataGenerator/companies.ts","../../src/dataGenerator/contacts.ts","../../src/dataGenerator/contactNotes.ts","../../src/dataGenerator/tasks.ts","../../src/dataGenerator/deals.ts","../../src/dataGenerator/dealNotes.ts","../../src/dataGenerator/finalize.ts","../../src/dataGenerator/index.ts","../../src/dataProvider.ts","../../src/deals/index.ts","../../src/App.tsx","../../src/index.tsx"],"sourcesContent":["/**\n * @license React\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=Symbol.for(\"react.element\"),n=Symbol.for(\"react.portal\"),p=Symbol.for(\"react.fragment\"),q=Symbol.for(\"react.strict_mode\"),r=Symbol.for(\"react.profiler\"),t=Symbol.for(\"react.provider\"),u=Symbol.for(\"react.context\"),v=Symbol.for(\"react.forward_ref\"),w=Symbol.for(\"react.suspense\"),x=Symbol.for(\"react.memo\"),y=Symbol.for(\"react.lazy\"),z=Symbol.iterator;function A(a){if(null===a||\"object\"!==typeof a)return null;a=z&&a[z]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}\nvar B={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,D={};function E(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}E.prototype.isReactComponent={};\nE.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,a,b,\"setState\")};E.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};function F(){}F.prototype=E.prototype;function G(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}var H=G.prototype=new F;\nH.constructor=G;C(H,E.prototype);H.isPureReactComponent=!0;var I=Array.isArray,J=Object.prototype.hasOwnProperty,K={current:null},L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,e){var d,c={},k=null,h=null;if(null!=b)for(d in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(k=\"\"+b.key),b)J.call(b,d)&&!L.hasOwnProperty(d)&&(c[d]=b[d]);var g=arguments.length-2;if(1===g)c.children=e;else if(1<g){for(var f=Array(g),m=0;m<g;m++)f[m]=arguments[m+2];c.children=f}if(a&&a.defaultProps)for(d in g=a.defaultProps,g)void 0===c[d]&&(c[d]=g[d]);return{$$typeof:l,type:a,key:k,ref:h,props:c,_owner:K.current}}\nfunction N(a,b){return{$$typeof:l,type:a.type,key:b,ref:a.ref,props:a.props,_owner:a._owner}}function O(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===l}function escape(a){var b={\"=\":\"=0\",\":\":\"=2\"};return\"$\"+a.replace(/[=:]/g,function(a){return b[a]})}var P=/\\/+/g;function Q(a,b){return\"object\"===typeof a&&null!==a&&null!=a.key?escape(\"\"+a.key):b.toString(36)}\nfunction R(a,b,e,d,c){var k=typeof a;if(\"undefined\"===k||\"boolean\"===k)a=null;var h=!1;if(null===a)h=!0;else switch(k){case \"string\":case \"number\":h=!0;break;case \"object\":switch(a.$$typeof){case l:case n:h=!0}}if(h)return h=a,c=c(h),a=\"\"===d?\".\"+Q(h,0):d,I(c)?(e=\"\",null!=a&&(e=a.replace(P,\"$&/\")+\"/\"),R(c,b,e,\"\",function(a){return a})):null!=c&&(O(c)&&(c=N(c,e+(!c.key||h&&h.key===c.key?\"\":(\"\"+c.key).replace(P,\"$&/\")+\"/\")+a)),b.push(c)),1;h=0;d=\"\"===d?\".\":d+\":\";if(I(a))for(var g=0;g<a.length;g++){k=\na[g];var f=d+Q(k,g);h+=R(k,b,e,f,c)}else if(f=A(a),\"function\"===typeof f)for(a=f.call(a),g=0;!(k=a.next()).done;)k=k.value,f=d+Q(k,g++),h+=R(k,b,e,f,c);else if(\"object\"===k)throw b=String(a),Error(\"Objects are not valid as a React child (found: \"+(\"[object Object]\"===b?\"object with keys {\"+Object.keys(a).join(\", \")+\"}\":b)+\"). If you meant to render a collection of children, use an array instead.\");return h}\nfunction S(a,b,e){if(null==a)return a;var d=[],c=0;R(a,d,\"\",\"\",function(a){return b.call(e,a,c++)});return d}function T(a){if(-1===a._status){var b=a._result;b=b();b.then(function(b){if(0===a._status||-1===a._status)a._status=1,a._result=b},function(b){if(0===a._status||-1===a._status)a._status=2,a._result=b});-1===a._status&&(a._status=0,a._result=b)}if(1===a._status)return a._result.default;throw a._result;}\nvar U={current:null},V={transition:null},W={ReactCurrentDispatcher:U,ReactCurrentBatchConfig:V,ReactCurrentOwner:K};function X(){throw Error(\"act(...) is not supported in production builds of React.\");}\nexports.Children={map:S,forEach:function(a,b,e){S(a,function(){b.apply(this,arguments)},e)},count:function(a){var b=0;S(a,function(){b++});return b},toArray:function(a){return S(a,function(a){return a})||[]},only:function(a){if(!O(a))throw Error(\"React.Children.only expected to receive a single React element child.\");return a}};exports.Component=E;exports.Fragment=p;exports.Profiler=r;exports.PureComponent=G;exports.StrictMode=q;exports.Suspense=w;\nexports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=W;exports.act=X;\nexports.cloneElement=function(a,b,e){if(null===a||void 0===a)throw Error(\"React.cloneElement(...): The argument must be a React element, but you passed \"+a+\".\");var d=C({},a.props),c=a.key,k=a.ref,h=a._owner;if(null!=b){void 0!==b.ref&&(k=b.ref,h=K.current);void 0!==b.key&&(c=\"\"+b.key);if(a.type&&a.type.defaultProps)var g=a.type.defaultProps;for(f in b)J.call(b,f)&&!L.hasOwnProperty(f)&&(d[f]=void 0===b[f]&&void 0!==g?g[f]:b[f])}var f=arguments.length-2;if(1===f)d.children=e;else if(1<f){g=Array(f);\nfor(var m=0;m<f;m++)g[m]=arguments[m+2];d.children=g}return{$$typeof:l,type:a.type,key:c,ref:k,props:d,_owner:h}};exports.createContext=function(a){a={$$typeof:u,_currentValue:a,_currentValue2:a,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null};a.Provider={$$typeof:t,_context:a};return a.Consumer=a};exports.createElement=M;exports.createFactory=function(a){var b=M.bind(null,a);b.type=a;return b};exports.createRef=function(){return{current:null}};\nexports.forwardRef=function(a){return{$$typeof:v,render:a}};exports.isValidElement=O;exports.lazy=function(a){return{$$typeof:y,_payload:{_status:-1,_result:a},_init:T}};exports.memo=function(a,b){return{$$typeof:x,type:a,compare:void 0===b?null:b}};exports.startTransition=function(a){var b=V.transition;V.transition={};try{a()}finally{V.transition=b}};exports.unstable_act=X;exports.useCallback=function(a,b){return U.current.useCallback(a,b)};exports.useContext=function(a){return U.current.useContext(a)};\nexports.useDebugValue=function(){};exports.useDeferredValue=function(a){return U.current.useDeferredValue(a)};exports.useEffect=function(a,b){return U.current.useEffect(a,b)};exports.useId=function(){return U.current.useId()};exports.useImperativeHandle=function(a,b,e){return U.current.useImperativeHandle(a,b,e)};exports.useInsertionEffect=function(a,b){return U.current.useInsertionEffect(a,b)};exports.useLayoutEffect=function(a,b){return U.current.useLayoutEffect(a,b)};\nexports.useMemo=function(a,b){return U.current.useMemo(a,b)};exports.useReducer=function(a,b,e){return U.current.useReducer(a,b,e)};exports.useRef=function(a){return U.current.useRef(a)};exports.useState=function(a){return U.current.useState(a)};exports.useSyncExternalStore=function(a,b,e){return U.current.useSyncExternalStore(a,b,e)};exports.useTransition=function(){return U.current.useTransition()};exports.version=\"18.3.1\";\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","/**\n * @license React\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';function f(a,b){var c=a.length;a.push(b);a:for(;0<c;){var d=c-1>>>1,e=a[d];if(0<g(e,b))a[d]=b,a[c]=e,c=d;else break a}}function h(a){return 0===a.length?null:a[0]}function k(a){if(0===a.length)return null;var b=a[0],c=a.pop();if(c!==b){a[0]=c;a:for(var d=0,e=a.length,w=e>>>1;d<w;){var m=2*(d+1)-1,C=a[m],n=m+1,x=a[n];if(0>g(C,c))n<e&&0>g(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(n<e&&0>g(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}\nfunction g(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}var r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=\"function\"===typeof setTimeout?setTimeout:null,E=\"function\"===typeof clearTimeout?clearTimeout:null,F=\"undefined\"!==typeof setImmediate?setImmediate:null;\n\"undefined\"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);null!==b;){if(null===b.callback)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){B=!1;G(a);if(!A)if(null!==h(r))A=!0,I(J);else{var b=h(t);null!==b&&K(H,b.startTime-a)}}\nfunction J(a,b){A=!1;B&&(B=!1,E(L),L=-1);z=!0;var c=y;try{G(b);for(v=h(r);null!==v&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(\"function\"===typeof d){v.callback=null;y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?v.callback=e:v===h(r)&&k(r);G(b)}else k(r);v=h(r)}if(null!==v)var w=!0;else{var m=h(t);null!==m&&K(H,m.startTime-b);w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;\nfunction M(){return exports.unstable_now()-Q<P?!1:!0}function R(){if(null!==O){var a=exports.unstable_now();Q=a;var b=!0;try{b=O(!0,a)}finally{b?S():(N=!1,O=null)}}else N=!1}var S;if(\"function\"===typeof F)S=function(){F(R)};else if(\"undefined\"!==typeof MessageChannel){var T=new MessageChannel,U=T.port2;T.port1.onmessage=R;S=function(){U.postMessage(null)}}else S=function(){D(R,0)};function I(a){O=a;N||(N=!0,S())}function K(a,b){L=D(function(){a(exports.unstable_now())},b)}\nexports.unstable_IdlePriority=5;exports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){A||z||(A=!0,I(J))};\nexports.unstable_forceFrameRate=function(a){0>a||125<a?console.error(\"forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported\"):P=0<a?Math.floor(1E3/a):5};exports.unstable_getCurrentPriorityLevel=function(){return y};exports.unstable_getFirstCallbackNode=function(){return h(r)};exports.unstable_next=function(a){switch(y){case 1:case 2:case 3:var b=3;break;default:b=y}var c=y;y=b;try{return a()}finally{y=c}};exports.unstable_pauseExecution=function(){};\nexports.unstable_requestPaint=function(){};exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=y;y=a;try{return b()}finally{y=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();\"object\"===typeof c&&null!==c?(c=c.delay,c=\"number\"===typeof c&&0<c?d+c:d):c=d;switch(a){case 1:var e=-1;break;case 2:e=250;break;case 5:e=1073741823;break;case 4:e=1E4;break;default:e=5E3}e=c+e;a={id:u++,callback:b,priorityLevel:a,startTime:c,expirationTime:e,sortIndex:-1};c>d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","/**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),ca=require(\"scheduler\");function p(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c<arguments.length;c++)b+=\"&args[]=\"+encodeURIComponent(arguments[c]);return\"Minified React error #\"+a+\"; visit \"+b+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}var da=new Set,ea={};function fa(a,b){ha(a,b);ha(a+\"Capture\",b)}\nfunction ha(a,b){ea[a]=b;for(a=0;a<b.length;a++)da.add(b[a])}\nvar ia=!(\"undefined\"===typeof window||\"undefined\"===typeof window.document||\"undefined\"===typeof window.document.createElement),ja=Object.prototype.hasOwnProperty,ka=/^[: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]*$/,la=\n{},ma={};function oa(a){if(ja.call(ma,a))return!0;if(ja.call(la,a))return!1;if(ka.test(a))return ma[a]=!0;la[a]=!0;return!1}function pa(a,b,c,d){if(null!==c&&0===c.type)return!1;switch(typeof b){case \"function\":case \"symbol\":return!0;case \"boolean\":if(d)return!1;if(null!==c)return!c.acceptsBooleans;a=a.toLowerCase().slice(0,5);return\"data-\"!==a&&\"aria-\"!==a;default:return!1}}\nfunction qa(a,b,c,d){if(null===b||\"undefined\"===typeof b||pa(a,b,c,d))return!0;if(d)return!1;if(null!==c)switch(c.type){case 3:return!b;case 4:return!1===b;case 5:return isNaN(b);case 6:return isNaN(b)||1>b}return!1}function v(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var z={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){z[a]=new v(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];z[b]=new v(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){z[a]=new v(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){z[a]=new v(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){z[a]=new v(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){z[a]=new v(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){z[a]=new v(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){z[a]=new v(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){z[a]=new v(a,5,!1,a.toLowerCase(),null,!1,!1)});var ra=/[\\-:]([a-z])/g;function sa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(ra,\nsa);z[b]=new v(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!1,!1)});\nz.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction ta(a,b,c,d){var e=z.hasOwnProperty(b)?z[b]:null;if(null!==e?0!==e.type:d||!(2<b.length)||\"o\"!==b[0]&&\"O\"!==b[0]||\"n\"!==b[1]&&\"N\"!==b[1])qa(b,c,e,d)&&(c=null),d||null===e?oa(b)&&(null===c?a.removeAttribute(b):a.setAttribute(b,\"\"+c)):e.mustUseProperty?a[e.propertyName]=null===c?3===e.type?!1:\"\":c:(b=e.attributeName,d=e.attributeNamespace,null===c?a.removeAttribute(b):(e=e.type,c=3===e||4===e&&!0===c?\"\":\"\"+c,d?a.setAttributeNS(d,b,c):a.setAttribute(b,c)))}\nvar ua=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,va=Symbol.for(\"react.element\"),wa=Symbol.for(\"react.portal\"),ya=Symbol.for(\"react.fragment\"),za=Symbol.for(\"react.strict_mode\"),Aa=Symbol.for(\"react.profiler\"),Ba=Symbol.for(\"react.provider\"),Ca=Symbol.for(\"react.context\"),Da=Symbol.for(\"react.forward_ref\"),Ea=Symbol.for(\"react.suspense\"),Fa=Symbol.for(\"react.suspense_list\"),Ga=Symbol.for(\"react.memo\"),Ha=Symbol.for(\"react.lazy\");Symbol.for(\"react.scope\");Symbol.for(\"react.debug_trace_mode\");\nvar Ia=Symbol.for(\"react.offscreen\");Symbol.for(\"react.legacy_hidden\");Symbol.for(\"react.cache\");Symbol.for(\"react.tracing_marker\");var Ja=Symbol.iterator;function Ka(a){if(null===a||\"object\"!==typeof a)return null;a=Ja&&a[Ja]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}var A=Object.assign,La;function Ma(a){if(void 0===La)try{throw Error();}catch(c){var b=c.stack.trim().match(/\\n( *(at )?)/);La=b&&b[1]||\"\"}return\"\\n\"+La+a}var Na=!1;\nfunction Oa(a,b){if(!a||Na)return\"\";Na=!0;var c=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(b)if(b=function(){throw Error();},Object.defineProperty(b.prototype,\"props\",{set:function(){throw Error();}}),\"object\"===typeof Reflect&&Reflect.construct){try{Reflect.construct(b,[])}catch(l){var d=l}Reflect.construct(a,[],b)}else{try{b.call()}catch(l){d=l}a.call(b.prototype)}else{try{throw Error();}catch(l){d=l}a()}}catch(l){if(l&&d&&\"string\"===typeof l.stack){for(var e=l.stack.split(\"\\n\"),\nf=d.stack.split(\"\\n\"),g=e.length-1,h=f.length-1;1<=g&&0<=h&&e[g]!==f[h];)h--;for(;1<=g&&0<=h;g--,h--)if(e[g]!==f[h]){if(1!==g||1!==h){do if(g--,h--,0>h||e[g]!==f[h]){var k=\"\\n\"+e[g].replace(\" at new \",\" at \");a.displayName&&k.includes(\"<anonymous>\")&&(k=k.replace(\"<anonymous>\",a.displayName));return k}while(1<=g&&0<=h)}break}}}finally{Na=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Ma(a):\"\"}\nfunction Pa(a){switch(a.tag){case 5:return Ma(a.type);case 16:return Ma(\"Lazy\");case 13:return Ma(\"Suspense\");case 19:return Ma(\"SuspenseList\");case 0:case 2:case 15:return a=Oa(a.type,!1),a;case 11:return a=Oa(a.type.render,!1),a;case 1:return a=Oa(a.type,!0),a;default:return\"\"}}\nfunction Qa(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ya:return\"Fragment\";case wa:return\"Portal\";case Aa:return\"Profiler\";case za:return\"StrictMode\";case Ea:return\"Suspense\";case Fa:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case Ca:return(a.displayName||\"Context\")+\".Consumer\";case Ba:return(a._context.displayName||\"Context\")+\".Provider\";case Da:var b=a.render;a=a.displayName;a||(a=b.displayName||\nb.name||\"\",a=\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");return a;case Ga:return b=a.displayName||null,null!==b?b:Qa(a.type)||\"Memo\";case Ha:b=a._payload;a=a._init;try{return Qa(a(b))}catch(c){}}return null}\nfunction Ra(a){var b=a.type;switch(a.tag){case 24:return\"Cache\";case 9:return(b.displayName||\"Context\")+\".Consumer\";case 10:return(b._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return a=b.render,a=a.displayName||a.name||\"\",b.displayName||(\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return b;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return Qa(b);case 8:return b===za?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";\ncase 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(\"function\"===typeof b)return b.displayName||b.name||null;if(\"string\"===typeof b)return b}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"string\":case \"undefined\":return a;case \"object\":return a;default:return\"\"}}\nfunction Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return A({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function ab(a,b){b=b.checked;null!=b&&ta(a,\"checked\",b,!1)}\nfunction bb(a,b){ab(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?cb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&cb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction db(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction cb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}var eb=Array.isArray;\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e<c.length;e++)b[\"$\"+c[e]]=!0;for(c=0;c<a.length;c++)e=b.hasOwnProperty(\"$\"+a[c].value),a[c].selected!==e&&(a[c].selected=e),e&&d&&(a[c].defaultSelected=!0)}else{c=\"\"+Sa(c);b=null;for(e=0;e<a.length;e++){if(a[e].value===c){a[e].selected=!0;d&&(a[e].defaultSelected=!0);return}null!==b||a[e].disabled||(b=a[e])}null!==b&&(b.selected=!0)}}\nfunction gb(a,b){if(null!=b.dangerouslySetInnerHTML)throw Error(p(91));return A({},b,{value:void 0,defaultValue:void 0,children:\"\"+a._wrapperState.initialValue})}function hb(a,b){var c=b.value;if(null==c){c=b.children;b=b.defaultValue;if(null!=c){if(null!=b)throw Error(p(92));if(eb(c)){if(1<c.length)throw Error(p(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:Sa(c)}}\nfunction ib(a,b){var c=Sa(b.value),d=Sa(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function jb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}function kb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}\nfunction lb(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?kb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar mb,nb=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(\"http://www.w3.org/2000/svg\"!==a.namespaceURI||\"innerHTML\"in a)a.innerHTML=b;else{mb=mb||document.createElement(\"div\");mb.innerHTML=\"<svg>\"+b.valueOf().toString()+\"</svg>\";for(b=mb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction ob(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar pb={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,\nzoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(pb).forEach(function(a){qb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);pb[b]=pb[a]})});function rb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||pb.hasOwnProperty(a)&&pb[a]?(\"\"+b).trim():b+\"px\"}\nfunction sb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=rb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var tb=A({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction ub(a,b){if(b){if(tb[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(p(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(p(60));if(\"object\"!==typeof b.dangerouslySetInnerHTML||!(\"__html\"in b.dangerouslySetInnerHTML))throw Error(p(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(p(62));}}\nfunction vb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){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 wb=null;function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(p(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;a<b.length;a++)Bb(b[a])}}function Gb(a,b){return a(b)}function Hb(){}var Ib=!1;function Jb(a,b,c){if(Ib)return a(b,c);Ib=!0;try{return Gb(a,b,c)}finally{if(Ib=!1,null!==zb||null!==Ab)Hb(),Fb()}}\nfunction Kb(a,b){var c=a.stateNode;if(null===c)return null;var d=Db(c);if(null===d)return null;c=d[b];a:switch(b){case \"onClick\":case \"onClickCapture\":case \"onDoubleClick\":case \"onDoubleClickCapture\":case \"onMouseDown\":case \"onMouseDownCapture\":case \"onMouseMove\":case \"onMouseMoveCapture\":case \"onMouseUp\":case \"onMouseUpCapture\":case \"onMouseEnter\":(d=!d.disabled)||(a=a.type,d=!(\"button\"===a||\"input\"===a||\"select\"===a||\"textarea\"===a));a=!d;break a;default:a=!1}if(a)return null;if(c&&\"function\"!==\ntypeof c)throw Error(p(231,b,typeof c));return c}var Lb=!1;if(ia)try{var Mb={};Object.defineProperty(Mb,\"passive\",{get:function(){Lb=!0}});window.addEventListener(\"test\",Mb,Mb);window.removeEventListener(\"test\",Mb,Mb)}catch(a){Lb=!1}function Nb(a,b,c,d,e,f,g,h,k){var l=Array.prototype.slice.call(arguments,3);try{b.apply(c,l)}catch(m){this.onError(m)}}var Ob=!1,Pb=null,Qb=!1,Rb=null,Sb={onError:function(a){Ob=!0;Pb=a}};function Tb(a,b,c,d,e,f,g,h,k){Ob=!1;Pb=null;Nb.apply(Sb,arguments)}\nfunction Ub(a,b,c,d,e,f,g,h,k){Tb.apply(this,arguments);if(Ob){if(Ob){var l=Pb;Ob=!1;Pb=null}else throw Error(p(198));Qb||(Qb=!0,Rb=l)}}function Vb(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else{a=b;do b=a,0!==(b.flags&4098)&&(c=b.return),a=b.return;while(a)}return 3===b.tag?c:null}function Wb(a){if(13===a.tag){var b=a.memoizedState;null===b&&(a=a.alternate,null!==a&&(b=a.memoizedState));if(null!==b)return b.dehydrated}return null}function Xb(a){if(Vb(a)!==a)throw Error(p(188));}\nfunction Yb(a){var b=a.alternate;if(!b){b=Vb(a);if(null===b)throw Error(p(188));return b!==a?null:a}for(var c=a,d=b;;){var e=c.return;if(null===e)break;var f=e.alternate;if(null===f){d=e.return;if(null!==d){c=d;continue}break}if(e.child===f.child){for(f=e.child;f;){if(f===c)return Xb(e),a;if(f===d)return Xb(e),b;f=f.sibling}throw Error(p(188));}if(c.return!==d.return)c=e,d=f;else{for(var g=!1,h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===\nc){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}if(!g)throw Error(p(189));}}if(c.alternate!==d)throw Error(p(190));}if(3!==c.tag)throw Error(p(188));return c.stateNode.current===c?a:b}function Zb(a){a=Yb(a);return null!==a?$b(a):null}function $b(a){if(5===a.tag||6===a.tag)return a;for(a=a.child;null!==a;){var b=$b(a);if(null!==b)return b;a=a.sibling}return null}\nvar ac=ca.unstable_scheduleCallback,bc=ca.unstable_cancelCallback,cc=ca.unstable_shouldYield,dc=ca.unstable_requestPaint,B=ca.unstable_now,ec=ca.unstable_getCurrentPriorityLevel,fc=ca.unstable_ImmediatePriority,gc=ca.unstable_UserBlockingPriority,hc=ca.unstable_NormalPriority,ic=ca.unstable_LowPriority,jc=ca.unstable_IdlePriority,kc=null,lc=null;function mc(a){if(lc&&\"function\"===typeof lc.onCommitFiberRoot)try{lc.onCommitFiberRoot(kc,a,void 0,128===(a.current.flags&128))}catch(b){}}\nvar oc=Math.clz32?Math.clz32:nc,pc=Math.log,qc=Math.LN2;function nc(a){a>>>=0;return 0===a?32:31-(pc(a)/qc|0)|0}var rc=64,sc=4194304;\nfunction tc(a){switch(a&-a){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: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 a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;\ndefault:return a}}function uc(a,b){var c=a.pendingLanes;if(0===c)return 0;var d=0,e=a.suspendedLanes,f=a.pingedLanes,g=c&268435455;if(0!==g){var h=g&~e;0!==h?d=tc(h):(f&=g,0!==f&&(d=tc(f)))}else g=c&~e,0!==g?d=tc(g):0!==f&&(d=tc(f));if(0===d)return 0;if(0!==b&&b!==d&&0===(b&e)&&(e=d&-d,f=b&-b,e>=f||16===e&&0!==(f&4194240)))return b;0!==(d&4)&&(d|=c&16);b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0<b;)c=31-oc(b),e=1<<c,d|=a[c],b&=~e;return d}\nfunction vc(a,b){switch(a){case 1:case 2:case 4:return b+250;case 8:case 16:case 32:case 64: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 b+5E3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}\nfunction wc(a,b){for(var c=a.suspendedLanes,d=a.pingedLanes,e=a.expirationTimes,f=a.pendingLanes;0<f;){var g=31-oc(f),h=1<<g,k=e[g];if(-1===k){if(0===(h&c)||0!==(h&d))e[g]=vc(h,b)}else k<=b&&(a.expiredLanes|=h);f&=~h}}function xc(a){a=a.pendingLanes&-1073741825;return 0!==a?a:a&1073741824?1073741824:0}function yc(){var a=rc;rc<<=1;0===(rc&4194240)&&(rc=64);return a}function zc(a){for(var b=[],c=0;31>c;c++)b.push(a);return b}\nfunction Ac(a,b,c){a.pendingLanes|=b;536870912!==b&&(a.suspendedLanes=0,a.pingedLanes=0);a=a.eventTimes;b=31-oc(b);a[b]=c}function Bc(a,b){var c=a.pendingLanes&~b;a.pendingLanes=b;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=b;a.mutableReadLanes&=b;a.entangledLanes&=b;b=a.entanglements;var d=a.eventTimes;for(a=a.expirationTimes;0<c;){var e=31-oc(c),f=1<<e;b[e]=0;d[e]=-1;a[e]=-1;c&=~f}}\nfunction Cc(a,b){var c=a.entangledLanes|=b;for(a=a.entanglements;c;){var d=31-oc(c),e=1<<d;e&b|a[d]&b&&(a[d]|=b);c&=~e}}var C=0;function Dc(a){a&=-a;return 1<a?4<a?0!==(a&268435455)?16:536870912:4:1}var Ec,Fc,Gc,Hc,Ic,Jc=!1,Kc=[],Lc=null,Mc=null,Nc=null,Oc=new Map,Pc=new Map,Qc=[],Rc=\"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 submit\".split(\" \");\nfunction Sc(a,b){switch(a){case \"focusin\":case \"focusout\":Lc=null;break;case \"dragenter\":case \"dragleave\":Mc=null;break;case \"mouseover\":case \"mouseout\":Nc=null;break;case \"pointerover\":case \"pointerout\":Oc.delete(b.pointerId);break;case \"gotpointercapture\":case \"lostpointercapture\":Pc.delete(b.pointerId)}}\nfunction Tc(a,b,c,d,e,f){if(null===a||a.nativeEvent!==f)return a={blockedOn:b,domEventName:c,eventSystemFlags:d,nativeEvent:f,targetContainers:[e]},null!==b&&(b=Cb(b),null!==b&&Fc(b)),a;a.eventSystemFlags|=d;b=a.targetContainers;null!==e&&-1===b.indexOf(e)&&b.push(e);return a}\nfunction Uc(a,b,c,d,e){switch(b){case \"focusin\":return Lc=Tc(Lc,a,b,c,d,e),!0;case \"dragenter\":return Mc=Tc(Mc,a,b,c,d,e),!0;case \"mouseover\":return Nc=Tc(Nc,a,b,c,d,e),!0;case \"pointerover\":var f=e.pointerId;Oc.set(f,Tc(Oc.get(f)||null,a,b,c,d,e));return!0;case \"gotpointercapture\":return f=e.pointerId,Pc.set(f,Tc(Pc.get(f)||null,a,b,c,d,e)),!0}return!1}\nfunction Vc(a){var b=Wc(a.target);if(null!==b){var c=Vb(b);if(null!==c)if(b=c.tag,13===b){if(b=Wb(c),null!==b){a.blockedOn=b;Ic(a.priority,function(){Gc(c)});return}}else if(3===b&&c.stateNode.current.memoizedState.isDehydrated){a.blockedOn=3===c.tag?c.stateNode.containerInfo:null;return}}a.blockedOn=null}\nfunction Xc(a){if(null!==a.blockedOn)return!1;for(var b=a.targetContainers;0<b.length;){var c=Yc(a.domEventName,a.eventSystemFlags,b[0],a.nativeEvent);if(null===c){c=a.nativeEvent;var d=new c.constructor(c.type,c);wb=d;c.target.dispatchEvent(d);wb=null}else return b=Cb(c),null!==b&&Fc(b),a.blockedOn=c,!1;b.shift()}return!0}function Zc(a,b,c){Xc(a)&&c.delete(b)}function $c(){Jc=!1;null!==Lc&&Xc(Lc)&&(Lc=null);null!==Mc&&Xc(Mc)&&(Mc=null);null!==Nc&&Xc(Nc)&&(Nc=null);Oc.forEach(Zc);Pc.forEach(Zc)}\nfunction ad(a,b){a.blockedOn===b&&(a.blockedOn=null,Jc||(Jc=!0,ca.unstable_scheduleCallback(ca.unstable_NormalPriority,$c)))}\nfunction bd(a){function b(b){return ad(b,a)}if(0<Kc.length){ad(Kc[0],a);for(var c=1;c<Kc.length;c++){var d=Kc[c];d.blockedOn===a&&(d.blockedOn=null)}}null!==Lc&&ad(Lc,a);null!==Mc&&ad(Mc,a);null!==Nc&&ad(Nc,a);Oc.forEach(b);Pc.forEach(b);for(c=0;c<Qc.length;c++)d=Qc[c],d.blockedOn===a&&(d.blockedOn=null);for(;0<Qc.length&&(c=Qc[0],null===c.blockedOn);)Vc(c),null===c.blockedOn&&Qc.shift()}var cd=ua.ReactCurrentBatchConfig,dd=!0;\nfunction ed(a,b,c,d){var e=C,f=cd.transition;cd.transition=null;try{C=1,fd(a,b,c,d)}finally{C=e,cd.transition=f}}function gd(a,b,c,d){var e=C,f=cd.transition;cd.transition=null;try{C=4,fd(a,b,c,d)}finally{C=e,cd.transition=f}}\nfunction fd(a,b,c,d){if(dd){var e=Yc(a,b,c,d);if(null===e)hd(a,b,d,id,c),Sc(a,d);else if(Uc(e,a,b,c,d))d.stopPropagation();else if(Sc(a,d),b&4&&-1<Rc.indexOf(a)){for(;null!==e;){var f=Cb(e);null!==f&&Ec(f);f=Yc(a,b,c,d);null===f&&hd(a,b,d,id,c);if(f===e)break;e=f}null!==e&&d.stopPropagation()}else hd(a,b,d,null,c)}}var id=null;\nfunction Yc(a,b,c,d){id=null;a=xb(d);a=Wc(a);if(null!==a)if(b=Vb(a),null===b)a=null;else if(c=b.tag,13===c){a=Wb(b);if(null!==a)return a;a=null}else if(3===c){if(b.stateNode.current.memoizedState.isDehydrated)return 3===b.tag?b.stateNode.containerInfo:null;a=null}else b!==a&&(a=null);id=a;return null}\nfunction jd(a){switch(a){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 \"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 1;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 \"toggle\":case \"touchmove\":case \"wheel\":case \"mouseenter\":case \"mouseleave\":case \"pointerenter\":case \"pointerleave\":return 4;\ncase \"message\":switch(ec()){case fc:return 1;case gc:return 4;case hc:case ic:return 16;case jc:return 536870912;default:return 16}default:return 16}}var kd=null,ld=null,md=null;function nd(){if(md)return md;var a,b=ld,c=b.length,d,e=\"value\"in kd?kd.value:kd.textContent,f=e.length;for(a=0;a<c&&b[a]===e[a];a++);var g=c-a;for(d=1;d<=g&&b[c-d]===e[f-d];d++);return md=e.slice(a,1<d?1-d:void 0)}\nfunction od(a){var b=a.keyCode;\"charCode\"in a?(a=a.charCode,0===a&&13===b&&(a=13)):a=b;10===a&&(a=13);return 32<=a||13===a?a:0}function pd(){return!0}function qd(){return!1}\nfunction rd(a){function b(b,d,e,f,g){this._reactName=b;this._targetInst=e;this.type=d;this.nativeEvent=f;this.target=g;this.currentTarget=null;for(var c in a)a.hasOwnProperty(c)&&(b=a[c],this[c]=b?b(f):f[c]);this.isDefaultPrevented=(null!=f.defaultPrevented?f.defaultPrevented:!1===f.returnValue)?pd:qd;this.isPropagationStopped=qd;return this}A(b.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():\"unknown\"!==typeof a.returnValue&&\n(a.returnValue=!1),this.isDefaultPrevented=pd)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():\"unknown\"!==typeof a.cancelBubble&&(a.cancelBubble=!0),this.isPropagationStopped=pd)},persist:function(){},isPersistent:pd});return b}\nvar sd={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(a){return a.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},td=rd(sd),ud=A({},sd,{view:0,detail:0}),vd=rd(ud),wd,xd,yd,Ad=A({},ud,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:zd,button:0,buttons:0,relatedTarget:function(a){return void 0===a.relatedTarget?a.fromElement===a.srcElement?a.toElement:a.fromElement:a.relatedTarget},movementX:function(a){if(\"movementX\"in\na)return a.movementX;a!==yd&&(yd&&\"mousemove\"===a.type?(wd=a.screenX-yd.screenX,xd=a.screenY-yd.screenY):xd=wd=0,yd=a);return wd},movementY:function(a){return\"movementY\"in a?a.movementY:xd}}),Bd=rd(Ad),Cd=A({},Ad,{dataTransfer:0}),Dd=rd(Cd),Ed=A({},ud,{relatedTarget:0}),Fd=rd(Ed),Gd=A({},sd,{animationName:0,elapsedTime:0,pseudoElement:0}),Hd=rd(Gd),Id=A({},sd,{clipboardData:function(a){return\"clipboardData\"in a?a.clipboardData:window.clipboardData}}),Jd=rd(Id),Kd=A({},sd,{data:0}),Ld=rd(Kd),Md={Esc:\"Escape\",\nSpacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},Nd={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\",\n119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"},Od={Alt:\"altKey\",Control:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};function Pd(a){var b=this.nativeEvent;return b.getModifierState?b.getModifierState(a):(a=Od[a])?!!b[a]:!1}function zd(){return Pd}\nvar Qd=A({},ud,{key:function(a){if(a.key){var b=Md[a.key]||a.key;if(\"Unidentified\"!==b)return b}return\"keypress\"===a.type?(a=od(a),13===a?\"Enter\":String.fromCharCode(a)):\"keydown\"===a.type||\"keyup\"===a.type?Nd[a.keyCode]||\"Unidentified\":\"\"},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:zd,charCode:function(a){return\"keypress\"===a.type?od(a):0},keyCode:function(a){return\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0},which:function(a){return\"keypress\"===\na.type?od(a):\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0}}),Rd=rd(Qd),Sd=A({},Ad,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Td=rd(Sd),Ud=A({},ud,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:zd}),Vd=rd(Ud),Wd=A({},sd,{propertyName:0,elapsedTime:0,pseudoElement:0}),Xd=rd(Wd),Yd=A({},Ad,{deltaX:function(a){return\"deltaX\"in a?a.deltaX:\"wheelDeltaX\"in a?-a.wheelDeltaX:0},\ndeltaY:function(a){return\"deltaY\"in a?a.deltaY:\"wheelDeltaY\"in a?-a.wheelDeltaY:\"wheelDelta\"in a?-a.wheelDelta:0},deltaZ:0,deltaMode:0}),Zd=rd(Yd),$d=[9,13,27,32],ae=ia&&\"CompositionEvent\"in window,be=null;ia&&\"documentMode\"in document&&(be=document.documentMode);var ce=ia&&\"TextEvent\"in window&&!be,de=ia&&(!ae||be&&8<be&&11>=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1<b.char.length)return b.char;if(b.which)return String.fromCharCode(b.which)}return null;case \"compositionend\":return de&&\"ko\"!==b.locale?null:b.data;default:return null}}\nvar le={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 me(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return\"input\"===b?!!le[a.type]:\"textarea\"===b?!0:!1}function ne(a,b,c,d){Eb(d);b=oe(b,\"onChange\");0<b.length&&(c=new td(\"onChange\",\"change\",null,c,d),a.push({event:c,listeners:b}))}var pe=null,qe=null;function re(a){se(a,0)}function te(a){var b=ue(a);if(Wa(b))return a}\nfunction ve(a,b){if(\"change\"===a)return b}var we=!1;if(ia){var xe;if(ia){var ye=\"oninput\"in document;if(!ye){var ze=document.createElement(\"div\");ze.setAttribute(\"oninput\",\"return;\");ye=\"function\"===typeof ze.oninput}xe=ye}else xe=!1;we=xe&&(!document.documentMode||9<document.documentMode)}function Ae(){pe&&(pe.detachEvent(\"onpropertychange\",Be),qe=pe=null)}function Be(a){if(\"value\"===a.propertyName&&te(qe)){var b=[];ne(b,qe,a,xb(a));Jb(re,b)}}\nfunction Ce(a,b,c){\"focusin\"===a?(Ae(),pe=b,qe=c,pe.attachEvent(\"onpropertychange\",Be)):\"focusout\"===a&&Ae()}function De(a){if(\"selectionchange\"===a||\"keyup\"===a||\"keydown\"===a)return te(qe)}function Ee(a,b){if(\"click\"===a)return te(b)}function Fe(a,b){if(\"input\"===a||\"change\"===a)return te(b)}function Ge(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var He=\"function\"===typeof Object.is?Object.is:Ge;\nfunction Ie(a,b){if(He(a,b))return!0;if(\"object\"!==typeof a||null===a||\"object\"!==typeof b||null===b)return!1;var c=Object.keys(a),d=Object.keys(b);if(c.length!==d.length)return!1;for(d=0;d<c.length;d++){var e=c[d];if(!ja.call(b,e)||!He(a[e],b[e]))return!1}return!0}function Je(a){for(;a&&a.firstChild;)a=a.firstChild;return a}\nfunction Ke(a,b){var c=Je(a);a=0;for(var d;c;){if(3===c.nodeType){d=a+c.textContent.length;if(a<=b&&d>=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Je(c)}}function Le(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Le(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Me(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Ne(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nfunction Oe(a){var b=Me(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Le(c.ownerDocument.documentElement,c)){if(null!==d&&Ne(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Ke(c,f);var g=Ke(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c<b.length;c++)a=b[c],a.element.scrollLeft=a.left,a.element.scrollTop=a.top}}\nvar Pe=ia&&\"documentMode\"in document&&11>=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Ne(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Ie(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0<d.length&&(b=new td(\"onSelect\",\"select\",null,b,c),a.push({event:b,listeners:d}),b.target=Qe)))}\nfunction Ve(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\"Webkit\"+a]=\"webkit\"+b;c[\"Moz\"+a]=\"moz\"+b;return c}var We={animationend:Ve(\"Animation\",\"AnimationEnd\"),animationiteration:Ve(\"Animation\",\"AnimationIteration\"),animationstart:Ve(\"Animation\",\"AnimationStart\"),transitionend:Ve(\"Transition\",\"TransitionEnd\")},Xe={},Ye={};\nia&&(Ye=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete We.animationend.animation,delete We.animationiteration.animation,delete We.animationstart.animation),\"TransitionEvent\"in window||delete We.transitionend.transition);function Ze(a){if(Xe[a])return Xe[a];if(!We[a])return a;var b=We[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Ye)return Xe[a]=b[c];return a}var $e=Ze(\"animationend\"),af=Ze(\"animationiteration\"),bf=Ze(\"animationstart\"),cf=Ze(\"transitionend\"),df=new Map,ef=\"abort auxClick 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(\" \");\nfunction ff(a,b){df.set(a,b);fa(b,[a])}for(var gf=0;gf<ef.length;gf++){var hf=ef[gf],jf=hf.toLowerCase(),kf=hf[0].toUpperCase()+hf.slice(1);ff(jf,\"on\"+kf)}ff($e,\"onAnimationEnd\");ff(af,\"onAnimationIteration\");ff(bf,\"onAnimationStart\");ff(\"dblclick\",\"onDoubleClick\");ff(\"focusin\",\"onFocus\");ff(\"focusout\",\"onBlur\");ff(cf,\"onTransitionEnd\");ha(\"onMouseEnter\",[\"mouseout\",\"mouseover\"]);ha(\"onMouseLeave\",[\"mouseout\",\"mouseover\"]);ha(\"onPointerEnter\",[\"pointerout\",\"pointerover\"]);\nha(\"onPointerLeave\",[\"pointerout\",\"pointerover\"]);fa(\"onChange\",\"change click focusin focusout input keydown keyup selectionchange\".split(\" \"));fa(\"onSelect\",\"focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange\".split(\" \"));fa(\"onBeforeInput\",[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]);fa(\"onCompositionEnd\",\"compositionend focusout keydown keypress keyup mousedown\".split(\" \"));fa(\"onCompositionStart\",\"compositionstart focusout keydown keypress keyup mousedown\".split(\" \"));\nfa(\"onCompositionUpdate\",\"compositionupdate focusout keydown keypress keyup mousedown\".split(\" \"));var lf=\"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(\" \"),mf=new Set(\"cancel close invalid load scroll toggle\".split(\" \").concat(lf));\nfunction nf(a,b,c){var d=a.type||\"unknown-event\";a.currentTarget=c;Ub(d,b,void 0,a);a.currentTarget=null}\nfunction se(a,b){b=0!==(b&4);for(var c=0;c<a.length;c++){var d=a[c],e=d.event;d=d.listeners;a:{var f=void 0;if(b)for(var g=d.length-1;0<=g;g--){var h=d[g],k=h.instance,l=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;nf(e,h,l);f=k}else for(g=0;g<d.length;g++){h=d[g];k=h.instance;l=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;nf(e,h,l);f=k}}}if(Qb)throw a=Rb,Qb=!1,Rb=null,a;}\nfunction D(a,b){var c=b[of];void 0===c&&(c=b[of]=new Set);var d=a+\"__bubble\";c.has(d)||(pf(b,a,2,!1),c.add(d))}function qf(a,b,c){var d=0;b&&(d|=4);pf(c,a,d,b)}var rf=\"_reactListening\"+Math.random().toString(36).slice(2);function sf(a){if(!a[rf]){a[rf]=!0;da.forEach(function(b){\"selectionchange\"!==b&&(mf.has(b)||qf(b,!1,a),qf(b,!0,a))});var b=9===a.nodeType?a:a.ownerDocument;null===b||b[rf]||(b[rf]=!0,qf(\"selectionchange\",!1,b))}}\nfunction pf(a,b,c,d){switch(jd(b)){case 1:var e=ed;break;case 4:e=gd;break;default:e=fd}c=e.bind(null,b,c,a);e=void 0;!Lb||\"touchstart\"!==b&&\"touchmove\"!==b&&\"wheel\"!==b||(e=!0);d?void 0!==e?a.addEventListener(b,c,{capture:!0,passive:e}):a.addEventListener(b,c,!0):void 0!==e?a.addEventListener(b,c,{passive:e}):a.addEventListener(b,c,!1)}\nfunction hd(a,b,c,d,e){var f=d;if(0===(b&1)&&0===(b&2)&&null!==d)a:for(;;){if(null===d)return;var g=d.tag;if(3===g||4===g){var h=d.stateNode.containerInfo;if(h===e||8===h.nodeType&&h.parentNode===e)break;if(4===g)for(g=d.return;null!==g;){var k=g.tag;if(3===k||4===k)if(k=g.stateNode.containerInfo,k===e||8===k.nodeType&&k.parentNode===e)return;g=g.return}for(;null!==h;){g=Wc(h);if(null===g)return;k=g.tag;if(5===k||6===k){d=f=g;continue a}h=h.parentNode}}d=d.return}Jb(function(){var d=f,e=xb(c),g=[];\na:{var h=df.get(a);if(void 0!==h){var k=td,n=a;switch(a){case \"keypress\":if(0===od(c))break a;case \"keydown\":case \"keyup\":k=Rd;break;case \"focusin\":n=\"focus\";k=Fd;break;case \"focusout\":n=\"blur\";k=Fd;break;case \"beforeblur\":case \"afterblur\":k=Fd;break;case \"click\":if(2===c.button)break a;case \"auxclick\":case \"dblclick\":case \"mousedown\":case \"mousemove\":case \"mouseup\":case \"mouseout\":case \"mouseover\":case \"contextmenu\":k=Bd;break;case \"drag\":case \"dragend\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"dragstart\":case \"drop\":k=\nDd;break;case \"touchcancel\":case \"touchend\":case \"touchmove\":case \"touchstart\":k=Vd;break;case $e:case af:case bf:k=Hd;break;case cf:k=Xd;break;case \"scroll\":k=vd;break;case \"wheel\":k=Zd;break;case \"copy\":case \"cut\":case \"paste\":k=Jd;break;case \"gotpointercapture\":case \"lostpointercapture\":case \"pointercancel\":case \"pointerdown\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"pointerup\":k=Td}var t=0!==(b&4),J=!t&&\"scroll\"===a,x=t?null!==h?h+\"Capture\":null:h;t=[];for(var w=d,u;null!==\nw;){u=w;var F=u.stateNode;5===u.tag&&null!==F&&(u=F,null!==x&&(F=Kb(w,x),null!=F&&t.push(tf(w,F,u))));if(J)break;w=w.return}0<t.length&&(h=new k(h,n,null,c,e),g.push({event:h,listeners:t}))}}if(0===(b&7)){a:{h=\"mouseover\"===a||\"pointerover\"===a;k=\"mouseout\"===a||\"pointerout\"===a;if(h&&c!==wb&&(n=c.relatedTarget||c.fromElement)&&(Wc(n)||n[uf]))break a;if(k||h){h=e.window===e?e:(h=e.ownerDocument)?h.defaultView||h.parentWindow:window;if(k){if(n=c.relatedTarget||c.toElement,k=d,n=n?Wc(n):null,null!==\nn&&(J=Vb(n),n!==J||5!==n.tag&&6!==n.tag))n=null}else k=null,n=d;if(k!==n){t=Bd;F=\"onMouseLeave\";x=\"onMouseEnter\";w=\"mouse\";if(\"pointerout\"===a||\"pointerover\"===a)t=Td,F=\"onPointerLeave\",x=\"onPointerEnter\",w=\"pointer\";J=null==k?h:ue(k);u=null==n?h:ue(n);h=new t(F,w+\"leave\",k,c,e);h.target=J;h.relatedTarget=u;F=null;Wc(e)===d&&(t=new t(x,w+\"enter\",n,c,e),t.target=u,t.relatedTarget=J,F=t);J=F;if(k&&n)b:{t=k;x=n;w=0;for(u=t;u;u=vf(u))w++;u=0;for(F=x;F;F=vf(F))u++;for(;0<w-u;)t=vf(t),w--;for(;0<u-w;)x=\nvf(x),u--;for(;w--;){if(t===x||null!==x&&t===x.alternate)break b;t=vf(t);x=vf(x)}t=null}else t=null;null!==k&&wf(g,h,k,t,!1);null!==n&&null!==J&&wf(g,J,n,t,!0)}}}a:{h=d?ue(d):window;k=h.nodeName&&h.nodeName.toLowerCase();if(\"select\"===k||\"input\"===k&&\"file\"===h.type)var na=ve;else if(me(h))if(we)na=Fe;else{na=De;var xa=Ce}else(k=h.nodeName)&&\"input\"===k.toLowerCase()&&(\"checkbox\"===h.type||\"radio\"===h.type)&&(na=Ee);if(na&&(na=na(a,d))){ne(g,na,c,e);break a}xa&&xa(a,h,d);\"focusout\"===a&&(xa=h._wrapperState)&&\nxa.controlled&&\"number\"===h.type&&cb(h,\"number\",h.value)}xa=d?ue(d):window;switch(a){case \"focusin\":if(me(xa)||\"true\"===xa.contentEditable)Qe=xa,Re=d,Se=null;break;case \"focusout\":Se=Re=Qe=null;break;case \"mousedown\":Te=!0;break;case \"contextmenu\":case \"mouseup\":case \"dragend\":Te=!1;Ue(g,c,e);break;case \"selectionchange\":if(Pe)break;case \"keydown\":case \"keyup\":Ue(g,c,e)}var $a;if(ae)b:{switch(a){case \"compositionstart\":var ba=\"onCompositionStart\";break b;case \"compositionend\":ba=\"onCompositionEnd\";\nbreak b;case \"compositionupdate\":ba=\"onCompositionUpdate\";break b}ba=void 0}else ie?ge(a,c)&&(ba=\"onCompositionEnd\"):\"keydown\"===a&&229===c.keyCode&&(ba=\"onCompositionStart\");ba&&(de&&\"ko\"!==c.locale&&(ie||\"onCompositionStart\"!==ba?\"onCompositionEnd\"===ba&&ie&&($a=nd()):(kd=e,ld=\"value\"in kd?kd.value:kd.textContent,ie=!0)),xa=oe(d,ba),0<xa.length&&(ba=new Ld(ba,a,null,c,e),g.push({event:ba,listeners:xa}),$a?ba.data=$a:($a=he(c),null!==$a&&(ba.data=$a))));if($a=ce?je(a,c):ke(a,c))d=oe(d,\"onBeforeInput\"),\n0<d.length&&(e=new Ld(\"onBeforeInput\",\"beforeinput\",null,c,e),g.push({event:e,listeners:d}),e.data=$a)}se(g,b)})}function tf(a,b,c){return{instance:a,listener:b,currentTarget:c}}function oe(a,b){for(var c=b+\"Capture\",d=[];null!==a;){var e=a,f=e.stateNode;5===e.tag&&null!==f&&(e=f,f=Kb(a,c),null!=f&&d.unshift(tf(a,f,e)),f=Kb(a,b),null!=f&&d.push(tf(a,f,e)));a=a.return}return d}function vf(a){if(null===a)return null;do a=a.return;while(a&&5!==a.tag);return a?a:null}\nfunction wf(a,b,c,d,e){for(var f=b._reactName,g=[];null!==c&&c!==d;){var h=c,k=h.alternate,l=h.stateNode;if(null!==k&&k===d)break;5===h.tag&&null!==l&&(h=l,e?(k=Kb(c,f),null!=k&&g.unshift(tf(c,k,h))):e||(k=Kb(c,f),null!=k&&g.push(tf(c,k,h))));c=c.return}0!==g.length&&a.push({event:b,listeners:g})}var xf=/\\r\\n?/g,yf=/\\u0000|\\uFFFD/g;function zf(a){return(\"string\"===typeof a?a:\"\"+a).replace(xf,\"\\n\").replace(yf,\"\")}function Af(a,b,c){b=zf(b);if(zf(a)!==b&&c)throw Error(p(425));}function Bf(){}\nvar Cf=null,Df=null;function Ef(a,b){return\"textarea\"===a||\"noscript\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html}\nvar Ff=\"function\"===typeof setTimeout?setTimeout:void 0,Gf=\"function\"===typeof clearTimeout?clearTimeout:void 0,Hf=\"function\"===typeof Promise?Promise:void 0,Jf=\"function\"===typeof queueMicrotask?queueMicrotask:\"undefined\"!==typeof Hf?function(a){return Hf.resolve(null).then(a).catch(If)}:Ff;function If(a){setTimeout(function(){throw a;})}\nfunction Kf(a,b){var c=b,d=0;do{var e=c.nextSibling;a.removeChild(c);if(e&&8===e.nodeType)if(c=e.data,\"/$\"===c){if(0===d){a.removeChild(e);bd(b);return}d--}else\"$\"!==c&&\"$?\"!==c&&\"$!\"!==c||d++;c=e}while(c);bd(b)}function Lf(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break;if(8===b){b=a.data;if(\"$\"===b||\"$!\"===b||\"$?\"===b)break;if(\"/$\"===b)return null}}return a}\nfunction Mf(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){var c=a.data;if(\"$\"===c||\"$!\"===c||\"$?\"===c){if(0===b)return a;b--}else\"/$\"===c&&b++}a=a.previousSibling}return null}var Nf=Math.random().toString(36).slice(2),Of=\"__reactFiber$\"+Nf,Pf=\"__reactProps$\"+Nf,uf=\"__reactContainer$\"+Nf,of=\"__reactEvents$\"+Nf,Qf=\"__reactListeners$\"+Nf,Rf=\"__reactHandles$\"+Nf;\nfunction Wc(a){var b=a[Of];if(b)return b;for(var c=a.parentNode;c;){if(b=c[uf]||c[Of]){c=b.alternate;if(null!==b.child||null!==c&&null!==c.child)for(a=Mf(a);null!==a;){if(c=a[Of])return c;a=Mf(a)}return b}a=c;c=a.parentNode}return null}function Cb(a){a=a[Of]||a[uf];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag&&3!==a.tag?null:a}function ue(a){if(5===a.tag||6===a.tag)return a.stateNode;throw Error(p(33));}function Db(a){return a[Pf]||null}var Sf=[],Tf=-1;function Uf(a){return{current:a}}\nfunction E(a){0>Tf||(a.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(a,b){Tf++;Sf[Tf]=a.current;a.current=b}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(a,b){var c=a.type.contextTypes;if(!c)return Vf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}\nfunction Zf(a){a=a.childContextTypes;return null!==a&&void 0!==a}function $f(){E(Wf);E(H)}function ag(a,b,c){if(H.current!==Vf)throw Error(p(168));G(H,b);G(Wf,c)}function bg(a,b,c){var d=a.stateNode;b=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in b))throw Error(p(108,Ra(a)||\"Unknown\",e));return A({},c,d)}\nfunction cg(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Vf;Xf=H.current;G(H,a);G(Wf,Wf.current);return!0}function dg(a,b,c){var d=a.stateNode;if(!d)throw Error(p(169));c?(a=bg(a,b,Xf),d.__reactInternalMemoizedMergedChildContext=a,E(Wf),E(H),G(H,a)):E(Wf);G(Wf,c)}var eg=null,fg=!1,gg=!1;function hg(a){null===eg?eg=[a]:eg.push(a)}function ig(a){fg=!0;hg(a)}\nfunction jg(){if(!gg&&null!==eg){gg=!0;var a=0,b=C;try{var c=eg;for(C=1;a<c.length;a++){var d=c[a];do d=d(!0);while(null!==d)}eg=null;fg=!1}catch(e){throw null!==eg&&(eg=eg.slice(a+1)),ac(fc,jg),e;}finally{C=b,gg=!1}}return null}var kg=[],lg=0,mg=null,ng=0,og=[],pg=0,qg=null,rg=1,sg=\"\";function tg(a,b){kg[lg++]=ng;kg[lg++]=mg;mg=a;ng=b}\nfunction ug(a,b,c){og[pg++]=rg;og[pg++]=sg;og[pg++]=qg;qg=a;var d=rg;a=sg;var e=32-oc(d)-1;d&=~(1<<e);c+=1;var f=32-oc(b)+e;if(30<f){var g=e-e%5;f=(d&(1<<g)-1).toString(32);d>>=g;e-=g;rg=1<<32-oc(b)+e|c<<e|d;sg=f+a}else rg=1<<f|c<<e|d,sg=a}function vg(a){null!==a.return&&(tg(a,1),ug(a,1,0))}function wg(a){for(;a===mg;)mg=kg[--lg],kg[lg]=null,ng=kg[--lg],kg[lg]=null;for(;a===qg;)qg=og[--pg],og[pg]=null,sg=og[--pg],og[pg]=null,rg=og[--pg],og[pg]=null}var xg=null,yg=null,I=!1,zg=null;\nfunction Ag(a,b){var c=Bg(5,null,null,0);c.elementType=\"DELETED\";c.stateNode=b;c.return=a;b=a.deletions;null===b?(a.deletions=[c],a.flags|=16):b.push(c)}\nfunction Cg(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,xg=a,yg=Lf(b.firstChild),!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,xg=a,yg=null,!0):!1;case 13:return b=8!==b.nodeType?null:b,null!==b?(c=null!==qg?{id:rg,overflow:sg}:null,a.memoizedState={dehydrated:b,treeContext:c,retryLane:1073741824},c=Bg(18,null,null,0),c.stateNode=b,c.return=a,a.child=c,xg=a,yg=\nnull,!0):!1;default:return!1}}function Dg(a){return 0!==(a.mode&1)&&0===(a.flags&128)}function Eg(a){if(I){var b=yg;if(b){var c=b;if(!Cg(a,b)){if(Dg(a))throw Error(p(418));b=Lf(c.nextSibling);var d=xg;b&&Cg(a,b)?Ag(d,c):(a.flags=a.flags&-4097|2,I=!1,xg=a)}}else{if(Dg(a))throw Error(p(418));a.flags=a.flags&-4097|2;I=!1;xg=a}}}function Fg(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;xg=a}\nfunction Gg(a){if(a!==xg)return!1;if(!I)return Fg(a),I=!0,!1;var b;(b=3!==a.tag)&&!(b=5!==a.tag)&&(b=a.type,b=\"head\"!==b&&\"body\"!==b&&!Ef(a.type,a.memoizedProps));if(b&&(b=yg)){if(Dg(a))throw Hg(),Error(p(418));for(;b;)Ag(a,b),b=Lf(b.nextSibling)}Fg(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(p(317));a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if(\"/$\"===c){if(0===b){yg=Lf(a.nextSibling);break a}b--}else\"$\"!==c&&\"$!\"!==c&&\"$?\"!==c||b++}a=a.nextSibling}yg=\nnull}}else yg=xg?Lf(a.stateNode.nextSibling):null;return!0}function Hg(){for(var a=yg;a;)a=Lf(a.nextSibling)}function Ig(){yg=xg=null;I=!1}function Jg(a){null===zg?zg=[a]:zg.push(a)}var Kg=ua.ReactCurrentBatchConfig;\nfunction Lg(a,b,c){a=c.ref;if(null!==a&&\"function\"!==typeof a&&\"object\"!==typeof a){if(c._owner){c=c._owner;if(c){if(1!==c.tag)throw Error(p(309));var d=c.stateNode}if(!d)throw Error(p(147,a));var e=d,f=\"\"+a;if(null!==b&&null!==b.ref&&\"function\"===typeof b.ref&&b.ref._stringRef===f)return b.ref;b=function(a){var b=e.refs;null===a?delete b[f]:b[f]=a};b._stringRef=f;return b}if(\"string\"!==typeof a)throw Error(p(284));if(!c._owner)throw Error(p(290,a));}return a}\nfunction Mg(a,b){a=Object.prototype.toString.call(b);throw Error(p(31,\"[object Object]\"===a?\"object with keys {\"+Object.keys(b).join(\", \")+\"}\":a));}function Ng(a){var b=a._init;return b(a._payload)}\nfunction Og(a){function b(b,c){if(a){var d=b.deletions;null===d?(b.deletions=[c],b.flags|=16):d.push(c)}}function c(c,d){if(!a)return null;for(;null!==d;)b(c,d),d=d.sibling;return null}function d(a,b){for(a=new Map;null!==b;)null!==b.key?a.set(b.key,b):a.set(b.index,b),b=b.sibling;return a}function e(a,b){a=Pg(a,b);a.index=0;a.sibling=null;return a}function f(b,c,d){b.index=d;if(!a)return b.flags|=1048576,c;d=b.alternate;if(null!==d)return d=d.index,d<c?(b.flags|=2,c):d;b.flags|=2;return c}function g(b){a&&\nnull===b.alternate&&(b.flags|=2);return b}function h(a,b,c,d){if(null===b||6!==b.tag)return b=Qg(c,a.mode,d),b.return=a,b;b=e(b,c);b.return=a;return b}function k(a,b,c,d){var f=c.type;if(f===ya)return m(a,b,c.props.children,d,c.key);if(null!==b&&(b.elementType===f||\"object\"===typeof f&&null!==f&&f.$$typeof===Ha&&Ng(f)===b.type))return d=e(b,c.props),d.ref=Lg(a,b,c),d.return=a,d;d=Rg(c.type,c.key,c.props,null,a.mode,d);d.ref=Lg(a,b,c);d.return=a;return d}function l(a,b,c,d){if(null===b||4!==b.tag||\nb.stateNode.containerInfo!==c.containerInfo||b.stateNode.implementation!==c.implementation)return b=Sg(c,a.mode,d),b.return=a,b;b=e(b,c.children||[]);b.return=a;return b}function m(a,b,c,d,f){if(null===b||7!==b.tag)return b=Tg(c,a.mode,d,f),b.return=a,b;b=e(b,c);b.return=a;return b}function q(a,b,c){if(\"string\"===typeof b&&\"\"!==b||\"number\"===typeof b)return b=Qg(\"\"+b,a.mode,c),b.return=a,b;if(\"object\"===typeof b&&null!==b){switch(b.$$typeof){case va:return c=Rg(b.type,b.key,b.props,null,a.mode,c),\nc.ref=Lg(a,null,b),c.return=a,c;case wa:return b=Sg(b,a.mode,c),b.return=a,b;case Ha:var d=b._init;return q(a,d(b._payload),c)}if(eb(b)||Ka(b))return b=Tg(b,a.mode,c,null),b.return=a,b;Mg(a,b)}return null}function r(a,b,c,d){var e=null!==b?b.key:null;if(\"string\"===typeof c&&\"\"!==c||\"number\"===typeof c)return null!==e?null:h(a,b,\"\"+c,d);if(\"object\"===typeof c&&null!==c){switch(c.$$typeof){case va:return c.key===e?k(a,b,c,d):null;case wa:return c.key===e?l(a,b,c,d):null;case Ha:return e=c._init,r(a,\nb,e(c._payload),d)}if(eb(c)||Ka(c))return null!==e?null:m(a,b,c,d,null);Mg(a,c)}return null}function y(a,b,c,d,e){if(\"string\"===typeof d&&\"\"!==d||\"number\"===typeof d)return a=a.get(c)||null,h(b,a,\"\"+d,e);if(\"object\"===typeof d&&null!==d){switch(d.$$typeof){case va:return a=a.get(null===d.key?c:d.key)||null,k(b,a,d,e);case wa:return a=a.get(null===d.key?c:d.key)||null,l(b,a,d,e);case Ha:var f=d._init;return y(a,b,c,f(d._payload),e)}if(eb(d)||Ka(d))return a=a.get(c)||null,m(b,a,d,e,null);Mg(b,d)}return null}\nfunction n(e,g,h,k){for(var l=null,m=null,u=g,w=g=0,x=null;null!==u&&w<h.length;w++){u.index>w?(x=u,u=null):x=u.sibling;var n=r(e,u,h[w],k);if(null===n){null===u&&(u=x);break}a&&u&&null===n.alternate&&b(e,u);g=f(n,g,w);null===m?l=n:m.sibling=n;m=n;u=x}if(w===h.length)return c(e,u),I&&tg(e,w),l;if(null===u){for(;w<h.length;w++)u=q(e,h[w],k),null!==u&&(g=f(u,g,w),null===m?l=u:m.sibling=u,m=u);I&&tg(e,w);return l}for(u=d(e,u);w<h.length;w++)x=y(u,e,w,h[w],k),null!==x&&(a&&null!==x.alternate&&u.delete(null===\nx.key?w:x.key),g=f(x,g,w),null===m?l=x:m.sibling=x,m=x);a&&u.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function t(e,g,h,k){var l=Ka(h);if(\"function\"!==typeof l)throw Error(p(150));h=l.call(h);if(null==h)throw Error(p(151));for(var u=l=null,m=g,w=g=0,x=null,n=h.next();null!==m&&!n.done;w++,n=h.next()){m.index>w?(x=m,m=null):x=m.sibling;var t=r(e,m,n.value,k);if(null===t){null===m&&(m=x);break}a&&m&&null===t.alternate&&b(e,m);g=f(t,g,w);null===u?l=t:u.sibling=t;u=t;m=x}if(n.done)return c(e,\nm),I&&tg(e,w),l;if(null===m){for(;!n.done;w++,n=h.next())n=q(e,n.value,k),null!==n&&(g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);I&&tg(e,w);return l}for(m=d(e,m);!n.done;w++,n=h.next())n=y(m,e,w,n.value,k),null!==n&&(a&&null!==n.alternate&&m.delete(null===n.key?w:n.key),g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);a&&m.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function J(a,d,f,h){\"object\"===typeof f&&null!==f&&f.type===ya&&null===f.key&&(f=f.props.children);if(\"object\"===typeof f&&null!==f){switch(f.$$typeof){case va:a:{for(var k=\nf.key,l=d;null!==l;){if(l.key===k){k=f.type;if(k===ya){if(7===l.tag){c(a,l.sibling);d=e(l,f.props.children);d.return=a;a=d;break a}}else if(l.elementType===k||\"object\"===typeof k&&null!==k&&k.$$typeof===Ha&&Ng(k)===l.type){c(a,l.sibling);d=e(l,f.props);d.ref=Lg(a,l,f);d.return=a;a=d;break a}c(a,l);break}else b(a,l);l=l.sibling}f.type===ya?(d=Tg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Rg(f.type,f.key,f.props,null,a.mode,h),h.ref=Lg(a,d,f),h.return=a,a=h)}return g(a);case wa:a:{for(l=f.key;null!==\nd;){if(d.key===l)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=Sg(f,a.mode,h);d.return=a;a=d}return g(a);case Ha:return l=f._init,J(a,d,l(f._payload),h)}if(eb(f))return n(a,d,f,h);if(Ka(f))return t(a,d,f,h);Mg(a,f)}return\"string\"===typeof f&&\"\"!==f||\"number\"===typeof f?(f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):\n(c(a,d),d=Qg(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return J}var Ug=Og(!0),Vg=Og(!1),Wg=Uf(null),Xg=null,Yg=null,Zg=null;function $g(){Zg=Yg=Xg=null}function ah(a){var b=Wg.current;E(Wg);a._currentValue=b}function bh(a,b,c){for(;null!==a;){var d=a.alternate;(a.childLanes&b)!==b?(a.childLanes|=b,null!==d&&(d.childLanes|=b)):null!==d&&(d.childLanes&b)!==b&&(d.childLanes|=b);if(a===c)break;a=a.return}}\nfunction ch(a,b){Xg=a;Zg=Yg=null;a=a.dependencies;null!==a&&null!==a.firstContext&&(0!==(a.lanes&b)&&(dh=!0),a.firstContext=null)}function eh(a){var b=a._currentValue;if(Zg!==a)if(a={context:a,memoizedValue:b,next:null},null===Yg){if(null===Xg)throw Error(p(308));Yg=a;Xg.dependencies={lanes:0,firstContext:a}}else Yg=Yg.next=a;return b}var fh=null;function gh(a){null===fh?fh=[a]:fh.push(a)}\nfunction hh(a,b,c,d){var e=b.interleaved;null===e?(c.next=c,gh(b)):(c.next=e.next,e.next=c);b.interleaved=c;return ih(a,d)}function ih(a,b){a.lanes|=b;var c=a.alternate;null!==c&&(c.lanes|=b);c=a;for(a=a.return;null!==a;)a.childLanes|=b,c=a.alternate,null!==c&&(c.childLanes|=b),c=a,a=a.return;return 3===c.tag?c.stateNode:null}var jh=!1;function kh(a){a.updateQueue={baseState:a.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}\nfunction lh(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,firstBaseUpdate:a.firstBaseUpdate,lastBaseUpdate:a.lastBaseUpdate,shared:a.shared,effects:a.effects})}function mh(a,b){return{eventTime:a,lane:b,tag:0,payload:null,callback:null,next:null}}\nfunction nh(a,b,c){var d=a.updateQueue;if(null===d)return null;d=d.shared;if(0!==(K&2)){var e=d.pending;null===e?b.next=b:(b.next=e.next,e.next=b);d.pending=b;return ih(a,c)}e=d.interleaved;null===e?(b.next=b,gh(d)):(b.next=e.next,e.next=b);d.interleaved=b;return ih(a,c)}function oh(a,b,c){b=b.updateQueue;if(null!==b&&(b=b.shared,0!==(c&4194240))){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nfunction ph(a,b){var c=a.updateQueue,d=a.alternate;if(null!==d&&(d=d.updateQueue,c===d)){var e=null,f=null;c=c.firstBaseUpdate;if(null!==c){do{var g={eventTime:c.eventTime,lane:c.lane,tag:c.tag,payload:c.payload,callback:c.callback,next:null};null===f?e=f=g:f=f.next=g;c=c.next}while(null!==c);null===f?e=f=b:f=f.next=b}else e=f=b;c={baseState:d.baseState,firstBaseUpdate:e,lastBaseUpdate:f,shared:d.shared,effects:d.effects};a.updateQueue=c;return}a=c.lastBaseUpdate;null===a?c.firstBaseUpdate=b:a.next=\nb;c.lastBaseUpdate=b}\nfunction qh(a,b,c,d){var e=a.updateQueue;jh=!1;var f=e.firstBaseUpdate,g=e.lastBaseUpdate,h=e.shared.pending;if(null!==h){e.shared.pending=null;var k=h,l=k.next;k.next=null;null===g?f=l:g.next=l;g=k;var m=a.alternate;null!==m&&(m=m.updateQueue,h=m.lastBaseUpdate,h!==g&&(null===h?m.firstBaseUpdate=l:h.next=l,m.lastBaseUpdate=k))}if(null!==f){var q=e.baseState;g=0;m=l=k=null;h=f;do{var r=h.lane,y=h.eventTime;if((d&r)===r){null!==m&&(m=m.next={eventTime:y,lane:0,tag:h.tag,payload:h.payload,callback:h.callback,\nnext:null});a:{var n=a,t=h;r=b;y=c;switch(t.tag){case 1:n=t.payload;if(\"function\"===typeof n){q=n.call(y,q,r);break a}q=n;break a;case 3:n.flags=n.flags&-65537|128;case 0:n=t.payload;r=\"function\"===typeof n?n.call(y,q,r):n;if(null===r||void 0===r)break a;q=A({},q,r);break a;case 2:jh=!0}}null!==h.callback&&0!==h.lane&&(a.flags|=64,r=e.effects,null===r?e.effects=[h]:r.push(h))}else y={eventTime:y,lane:r,tag:h.tag,payload:h.payload,callback:h.callback,next:null},null===m?(l=m=y,k=q):m=m.next=y,g|=r;\nh=h.next;if(null===h)if(h=e.shared.pending,null===h)break;else r=h,h=r.next,r.next=null,e.lastBaseUpdate=r,e.shared.pending=null}while(1);null===m&&(k=q);e.baseState=k;e.firstBaseUpdate=l;e.lastBaseUpdate=m;b=e.shared.interleaved;if(null!==b){e=b;do g|=e.lane,e=e.next;while(e!==b)}else null===f&&(e.shared.lanes=0);rh|=g;a.lanes=g;a.memoizedState=q}}\nfunction sh(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;b<a.length;b++){var d=a[b],e=d.callback;if(null!==e){d.callback=null;d=c;if(\"function\"!==typeof e)throw Error(p(191,e));e.call(d)}}}var th={},uh=Uf(th),vh=Uf(th),wh=Uf(th);function xh(a){if(a===th)throw Error(p(174));return a}\nfunction yh(a,b){G(wh,b);G(vh,a);G(uh,th);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:lb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=lb(b,a)}E(uh);G(uh,b)}function zh(){E(uh);E(vh);E(wh)}function Ah(a){xh(wh.current);var b=xh(uh.current);var c=lb(b,a.type);b!==c&&(G(vh,a),G(uh,c))}function Bh(a){vh.current===a&&(E(uh),E(vh))}var L=Uf(0);\nfunction Ch(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||\"$?\"===c.data||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&128))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var Dh=[];\nfunction Eh(){for(var a=0;a<Dh.length;a++)Dh[a]._workInProgressVersionPrimary=null;Dh.length=0}var Fh=ua.ReactCurrentDispatcher,Gh=ua.ReactCurrentBatchConfig,Hh=0,M=null,N=null,O=null,Ih=!1,Jh=!1,Kh=0,Lh=0;function P(){throw Error(p(321));}function Mh(a,b){if(null===b)return!1;for(var c=0;c<b.length&&c<a.length;c++)if(!He(a[c],b[c]))return!1;return!0}\nfunction Nh(a,b,c,d,e,f){Hh=f;M=b;b.memoizedState=null;b.updateQueue=null;b.lanes=0;Fh.current=null===a||null===a.memoizedState?Oh:Ph;a=c(d,e);if(Jh){f=0;do{Jh=!1;Kh=0;if(25<=f)throw Error(p(301));f+=1;O=N=null;b.updateQueue=null;Fh.current=Qh;a=c(d,e)}while(Jh)}Fh.current=Rh;b=null!==N&&null!==N.next;Hh=0;O=N=M=null;Ih=!1;if(b)throw Error(p(300));return a}function Sh(){var a=0!==Kh;Kh=0;return a}\nfunction Th(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===O?M.memoizedState=O=a:O=O.next=a;return O}function Uh(){if(null===N){var a=M.alternate;a=null!==a?a.memoizedState:null}else a=N.next;var b=null===O?M.memoizedState:O.next;if(null!==b)O=b,N=a;else{if(null===a)throw Error(p(310));N=a;a={memoizedState:N.memoizedState,baseState:N.baseState,baseQueue:N.baseQueue,queue:N.queue,next:null};null===O?M.memoizedState=O=a:O=O.next=a}return O}\nfunction Vh(a,b){return\"function\"===typeof b?b(a):b}\nfunction Wh(a){var b=Uh(),c=b.queue;if(null===c)throw Error(p(311));c.lastRenderedReducer=a;var d=N,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){f=e.next;d=d.baseState;var h=g=null,k=null,l=f;do{var m=l.lane;if((Hh&m)===m)null!==k&&(k=k.next={lane:0,action:l.action,hasEagerState:l.hasEagerState,eagerState:l.eagerState,next:null}),d=l.hasEagerState?l.eagerState:a(d,l.action);else{var q={lane:m,action:l.action,hasEagerState:l.hasEagerState,\neagerState:l.eagerState,next:null};null===k?(h=k=q,g=d):k=k.next=q;M.lanes|=m;rh|=m}l=l.next}while(null!==l&&l!==f);null===k?g=d:k.next=h;He(d,b.memoizedState)||(dh=!0);b.memoizedState=d;b.baseState=g;b.baseQueue=k;c.lastRenderedState=d}a=c.interleaved;if(null!==a){e=a;do f=e.lane,M.lanes|=f,rh|=f,e=e.next;while(e!==a)}else null===e&&(c.lanes=0);return[b.memoizedState,c.dispatch]}\nfunction Xh(a){var b=Uh(),c=b.queue;if(null===c)throw Error(p(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);He(f,b.memoizedState)||(dh=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}function Yh(){}\nfunction Zh(a,b){var c=M,d=Uh(),e=b(),f=!He(d.memoizedState,e);f&&(d.memoizedState=e,dh=!0);d=d.queue;$h(ai.bind(null,c,d,a),[a]);if(d.getSnapshot!==b||f||null!==O&&O.memoizedState.tag&1){c.flags|=2048;bi(9,ci.bind(null,c,d,e,b),void 0,null);if(null===Q)throw Error(p(349));0!==(Hh&30)||di(c,b,e)}return e}function di(a,b,c){a.flags|=16384;a={getSnapshot:b,value:c};b=M.updateQueue;null===b?(b={lastEffect:null,stores:null},M.updateQueue=b,b.stores=[a]):(c=b.stores,null===c?b.stores=[a]:c.push(a))}\nfunction ci(a,b,c,d){b.value=c;b.getSnapshot=d;ei(b)&&fi(a)}function ai(a,b,c){return c(function(){ei(b)&&fi(a)})}function ei(a){var b=a.getSnapshot;a=a.value;try{var c=b();return!He(a,c)}catch(d){return!0}}function fi(a){var b=ih(a,1);null!==b&&gi(b,a,1,-1)}\nfunction hi(a){var b=Th();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:Vh,lastRenderedState:a};b.queue=a;a=a.dispatch=ii.bind(null,M,a);return[b.memoizedState,a]}\nfunction bi(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};b=M.updateQueue;null===b?(b={lastEffect:null,stores:null},M.updateQueue=b,b.lastEffect=a.next=a):(c=b.lastEffect,null===c?b.lastEffect=a.next=a:(d=c.next,c.next=a,a.next=d,b.lastEffect=a));return a}function ji(){return Uh().memoizedState}function ki(a,b,c,d){var e=Th();M.flags|=a;e.memoizedState=bi(1|b,c,void 0,void 0===d?null:d)}\nfunction li(a,b,c,d){var e=Uh();d=void 0===d?null:d;var f=void 0;if(null!==N){var g=N.memoizedState;f=g.destroy;if(null!==d&&Mh(d,g.deps)){e.memoizedState=bi(b,c,f,d);return}}M.flags|=a;e.memoizedState=bi(1|b,c,f,d)}function mi(a,b){return ki(8390656,8,a,b)}function $h(a,b){return li(2048,8,a,b)}function ni(a,b){return li(4,2,a,b)}function oi(a,b){return li(4,4,a,b)}\nfunction pi(a,b){if(\"function\"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}function qi(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return li(4,4,pi.bind(null,b,a),c)}function ri(){}function si(a,b){var c=Uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Mh(b,d[1]))return d[0];c.memoizedState=[a,b];return a}\nfunction ti(a,b){var c=Uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Mh(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a}function ui(a,b,c){if(0===(Hh&21))return a.baseState&&(a.baseState=!1,dh=!0),a.memoizedState=c;He(c,b)||(c=yc(),M.lanes|=c,rh|=c,a.baseState=!0);return b}function vi(a,b){var c=C;C=0!==c&&4>c?c:4;a(!0);var d=Gh.transition;Gh.transition={};try{a(!1),b()}finally{C=c,Gh.transition=d}}function wi(){return Uh().memoizedState}\nfunction xi(a,b,c){var d=yi(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(zi(a))Ai(b,c);else if(c=hh(a,b,c,d),null!==c){var e=R();gi(c,a,d,e);Bi(c,b,d)}}\nfunction ii(a,b,c){var d=yi(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(zi(a))Ai(b,e);else{var f=a.alternate;if(0===a.lanes&&(null===f||0===f.lanes)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.hasEagerState=!0;e.eagerState=h;if(He(h,g)){var k=b.interleaved;null===k?(e.next=e,gh(b)):(e.next=k.next,k.next=e);b.interleaved=e;return}}catch(l){}finally{}c=hh(a,b,e,d);null!==c&&(e=R(),gi(c,a,d,e),Bi(c,b,d))}}\nfunction zi(a){var b=a.alternate;return a===M||null!==b&&b===M}function Ai(a,b){Jh=Ih=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function Bi(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nvar Rh={readContext:eh,useCallback:P,useContext:P,useEffect:P,useImperativeHandle:P,useInsertionEffect:P,useLayoutEffect:P,useMemo:P,useReducer:P,useRef:P,useState:P,useDebugValue:P,useDeferredValue:P,useTransition:P,useMutableSource:P,useSyncExternalStore:P,useId:P,unstable_isNewReconciler:!1},Oh={readContext:eh,useCallback:function(a,b){Th().memoizedState=[a,void 0===b?null:b];return a},useContext:eh,useEffect:mi,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ki(4194308,\n4,pi.bind(null,b,a),c)},useLayoutEffect:function(a,b){return ki(4194308,4,a,b)},useInsertionEffect:function(a,b){return ki(4,2,a,b)},useMemo:function(a,b){var c=Th();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=Th();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};d.queue=a;a=a.dispatch=xi.bind(null,M,a);return[d.memoizedState,a]},useRef:function(a){var b=\nTh();a={current:a};return b.memoizedState=a},useState:hi,useDebugValue:ri,useDeferredValue:function(a){return Th().memoizedState=a},useTransition:function(){var a=hi(!1),b=a[0];a=vi.bind(null,a[1]);Th().memoizedState=a;return[b,a]},useMutableSource:function(){},useSyncExternalStore:function(a,b,c){var d=M,e=Th();if(I){if(void 0===c)throw Error(p(407));c=c()}else{c=b();if(null===Q)throw Error(p(349));0!==(Hh&30)||di(d,b,c)}e.memoizedState=c;var f={value:c,getSnapshot:b};e.queue=f;mi(ai.bind(null,d,\nf,a),[a]);d.flags|=2048;bi(9,ci.bind(null,d,f,c,b),void 0,null);return c},useId:function(){var a=Th(),b=Q.identifierPrefix;if(I){var c=sg;var d=rg;c=(d&~(1<<32-oc(d)-1)).toString(32)+c;b=\":\"+b+\"R\"+c;c=Kh++;0<c&&(b+=\"H\"+c.toString(32));b+=\":\"}else c=Lh++,b=\":\"+b+\"r\"+c.toString(32)+\":\";return a.memoizedState=b},unstable_isNewReconciler:!1},Ph={readContext:eh,useCallback:si,useContext:eh,useEffect:$h,useImperativeHandle:qi,useInsertionEffect:ni,useLayoutEffect:oi,useMemo:ti,useReducer:Wh,useRef:ji,useState:function(){return Wh(Vh)},\nuseDebugValue:ri,useDeferredValue:function(a){var b=Uh();return ui(b,N.memoizedState,a)},useTransition:function(){var a=Wh(Vh)[0],b=Uh().memoizedState;return[a,b]},useMutableSource:Yh,useSyncExternalStore:Zh,useId:wi,unstable_isNewReconciler:!1},Qh={readContext:eh,useCallback:si,useContext:eh,useEffect:$h,useImperativeHandle:qi,useInsertionEffect:ni,useLayoutEffect:oi,useMemo:ti,useReducer:Xh,useRef:ji,useState:function(){return Xh(Vh)},useDebugValue:ri,useDeferredValue:function(a){var b=Uh();return null===\nN?b.memoizedState=a:ui(b,N.memoizedState,a)},useTransition:function(){var a=Xh(Vh)[0],b=Uh().memoizedState;return[a,b]},useMutableSource:Yh,useSyncExternalStore:Zh,useId:wi,unstable_isNewReconciler:!1};function Ci(a,b){if(a&&a.defaultProps){b=A({},b);a=a.defaultProps;for(var c in a)void 0===b[c]&&(b[c]=a[c]);return b}return b}function Di(a,b,c,d){b=a.memoizedState;c=c(d,b);c=null===c||void 0===c?b:A({},b,c);a.memoizedState=c;0===a.lanes&&(a.updateQueue.baseState=c)}\nvar Ei={isMounted:function(a){return(a=a._reactInternals)?Vb(a)===a:!1},enqueueSetState:function(a,b,c){a=a._reactInternals;var d=R(),e=yi(a),f=mh(d,e);f.payload=b;void 0!==c&&null!==c&&(f.callback=c);b=nh(a,f,e);null!==b&&(gi(b,a,e,d),oh(b,a,e))},enqueueReplaceState:function(a,b,c){a=a._reactInternals;var d=R(),e=yi(a),f=mh(d,e);f.tag=1;f.payload=b;void 0!==c&&null!==c&&(f.callback=c);b=nh(a,f,e);null!==b&&(gi(b,a,e,d),oh(b,a,e))},enqueueForceUpdate:function(a,b){a=a._reactInternals;var c=R(),d=\nyi(a),e=mh(c,d);e.tag=2;void 0!==b&&null!==b&&(e.callback=b);b=nh(a,e,d);null!==b&&(gi(b,a,d,c),oh(b,a,d))}};function Fi(a,b,c,d,e,f,g){a=a.stateNode;return\"function\"===typeof a.shouldComponentUpdate?a.shouldComponentUpdate(d,f,g):b.prototype&&b.prototype.isPureReactComponent?!Ie(c,d)||!Ie(e,f):!0}\nfunction Gi(a,b,c){var d=!1,e=Vf;var f=b.contextType;\"object\"===typeof f&&null!==f?f=eh(f):(e=Zf(b)?Xf:H.current,d=b.contextTypes,f=(d=null!==d&&void 0!==d)?Yf(a,e):Vf);b=new b(c,f);a.memoizedState=null!==b.state&&void 0!==b.state?b.state:null;b.updater=Ei;a.stateNode=b;b._reactInternals=a;d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=e,a.__reactInternalMemoizedMaskedChildContext=f);return b}\nfunction Hi(a,b,c,d){a=b.state;\"function\"===typeof b.componentWillReceiveProps&&b.componentWillReceiveProps(c,d);\"function\"===typeof b.UNSAFE_componentWillReceiveProps&&b.UNSAFE_componentWillReceiveProps(c,d);b.state!==a&&Ei.enqueueReplaceState(b,b.state,null)}\nfunction Ii(a,b,c,d){var e=a.stateNode;e.props=c;e.state=a.memoizedState;e.refs={};kh(a);var f=b.contextType;\"object\"===typeof f&&null!==f?e.context=eh(f):(f=Zf(b)?Xf:H.current,e.context=Yf(a,f));e.state=a.memoizedState;f=b.getDerivedStateFromProps;\"function\"===typeof f&&(Di(a,b,f,c),e.state=a.memoizedState);\"function\"===typeof b.getDerivedStateFromProps||\"function\"===typeof e.getSnapshotBeforeUpdate||\"function\"!==typeof e.UNSAFE_componentWillMount&&\"function\"!==typeof e.componentWillMount||(b=e.state,\n\"function\"===typeof e.componentWillMount&&e.componentWillMount(),\"function\"===typeof e.UNSAFE_componentWillMount&&e.UNSAFE_componentWillMount(),b!==e.state&&Ei.enqueueReplaceState(e,e.state,null),qh(a,c,e,d),e.state=a.memoizedState);\"function\"===typeof e.componentDidMount&&(a.flags|=4194308)}function Ji(a,b){try{var c=\"\",d=b;do c+=Pa(d),d=d.return;while(d);var e=c}catch(f){e=\"\\nError generating stack: \"+f.message+\"\\n\"+f.stack}return{value:a,source:b,stack:e,digest:null}}\nfunction Ki(a,b,c){return{value:a,source:null,stack:null!=c?c:null,digest:null!=b?b:null}}function Li(a,b){try{console.error(b.value)}catch(c){setTimeout(function(){throw c;})}}var Mi=\"function\"===typeof WeakMap?WeakMap:Map;function Ni(a,b,c){c=mh(-1,c);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){Oi||(Oi=!0,Pi=d);Li(a,b)};return c}\nfunction Qi(a,b,c){c=mh(-1,c);c.tag=3;var d=a.type.getDerivedStateFromError;if(\"function\"===typeof d){var e=b.value;c.payload=function(){return d(e)};c.callback=function(){Li(a,b)}}var f=a.stateNode;null!==f&&\"function\"===typeof f.componentDidCatch&&(c.callback=function(){Li(a,b);\"function\"!==typeof d&&(null===Ri?Ri=new Set([this]):Ri.add(this));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:\"\"})});return c}\nfunction Si(a,b,c){var d=a.pingCache;if(null===d){d=a.pingCache=new Mi;var e=new Set;d.set(b,e)}else e=d.get(b),void 0===e&&(e=new Set,d.set(b,e));e.has(c)||(e.add(c),a=Ti.bind(null,a,b,c),b.then(a,a))}function Ui(a){do{var b;if(b=13===a.tag)b=a.memoizedState,b=null!==b?null!==b.dehydrated?!0:!1:!0;if(b)return a;a=a.return}while(null!==a);return null}\nfunction Vi(a,b,c,d,e){if(0===(a.mode&1))return a===b?a.flags|=65536:(a.flags|=128,c.flags|=131072,c.flags&=-52805,1===c.tag&&(null===c.alternate?c.tag=17:(b=mh(-1,1),b.tag=2,nh(c,b,1))),c.lanes|=1),a;a.flags|=65536;a.lanes=e;return a}var Wi=ua.ReactCurrentOwner,dh=!1;function Xi(a,b,c,d){b.child=null===a?Vg(b,null,c,d):Ug(b,a.child,c,d)}\nfunction Yi(a,b,c,d,e){c=c.render;var f=b.ref;ch(b,e);d=Nh(a,b,c,d,f,e);c=Sh();if(null!==a&&!dh)return b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,Zi(a,b,e);I&&c&&vg(b);b.flags|=1;Xi(a,b,d,e);return b.child}\nfunction $i(a,b,c,d,e){if(null===a){var f=c.type;if(\"function\"===typeof f&&!aj(f)&&void 0===f.defaultProps&&null===c.compare&&void 0===c.defaultProps)return b.tag=15,b.type=f,bj(a,b,f,d,e);a=Rg(c.type,null,d,b,b.mode,e);a.ref=b.ref;a.return=b;return b.child=a}f=a.child;if(0===(a.lanes&e)){var g=f.memoizedProps;c=c.compare;c=null!==c?c:Ie;if(c(g,d)&&a.ref===b.ref)return Zi(a,b,e)}b.flags|=1;a=Pg(f,d);a.ref=b.ref;a.return=b;return b.child=a}\nfunction bj(a,b,c,d,e){if(null!==a){var f=a.memoizedProps;if(Ie(f,d)&&a.ref===b.ref)if(dh=!1,b.pendingProps=d=f,0!==(a.lanes&e))0!==(a.flags&131072)&&(dh=!0);else return b.lanes=a.lanes,Zi(a,b,e)}return cj(a,b,c,d,e)}\nfunction dj(a,b,c){var d=b.pendingProps,e=d.children,f=null!==a?a.memoizedState:null;if(\"hidden\"===d.mode)if(0===(b.mode&1))b.memoizedState={baseLanes:0,cachePool:null,transitions:null},G(ej,fj),fj|=c;else{if(0===(c&1073741824))return a=null!==f?f.baseLanes|c:c,b.lanes=b.childLanes=1073741824,b.memoizedState={baseLanes:a,cachePool:null,transitions:null},b.updateQueue=null,G(ej,fj),fj|=a,null;b.memoizedState={baseLanes:0,cachePool:null,transitions:null};d=null!==f?f.baseLanes:c;G(ej,fj);fj|=d}else null!==\nf?(d=f.baseLanes|c,b.memoizedState=null):d=c,G(ej,fj),fj|=d;Xi(a,b,e,c);return b.child}function gj(a,b){var c=b.ref;if(null===a&&null!==c||null!==a&&a.ref!==c)b.flags|=512,b.flags|=2097152}function cj(a,b,c,d,e){var f=Zf(c)?Xf:H.current;f=Yf(b,f);ch(b,e);c=Nh(a,b,c,d,f,e);d=Sh();if(null!==a&&!dh)return b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,Zi(a,b,e);I&&d&&vg(b);b.flags|=1;Xi(a,b,c,e);return b.child}\nfunction hj(a,b,c,d,e){if(Zf(c)){var f=!0;cg(b)}else f=!1;ch(b,e);if(null===b.stateNode)ij(a,b),Gi(b,c,d),Ii(b,c,d,e),d=!0;else if(null===a){var g=b.stateNode,h=b.memoizedProps;g.props=h;var k=g.context,l=c.contextType;\"object\"===typeof l&&null!==l?l=eh(l):(l=Zf(c)?Xf:H.current,l=Yf(b,l));var m=c.getDerivedStateFromProps,q=\"function\"===typeof m||\"function\"===typeof g.getSnapshotBeforeUpdate;q||\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||\n(h!==d||k!==l)&&Hi(b,g,d,l);jh=!1;var r=b.memoizedState;g.state=r;qh(b,d,g,e);k=b.memoizedState;h!==d||r!==k||Wf.current||jh?(\"function\"===typeof m&&(Di(b,c,m,d),k=b.memoizedState),(h=jh||Fi(b,c,h,d,r,k,l))?(q||\"function\"!==typeof g.UNSAFE_componentWillMount&&\"function\"!==typeof g.componentWillMount||(\"function\"===typeof g.componentWillMount&&g.componentWillMount(),\"function\"===typeof g.UNSAFE_componentWillMount&&g.UNSAFE_componentWillMount()),\"function\"===typeof g.componentDidMount&&(b.flags|=4194308)):\n(\"function\"===typeof g.componentDidMount&&(b.flags|=4194308),b.memoizedProps=d,b.memoizedState=k),g.props=d,g.state=k,g.context=l,d=h):(\"function\"===typeof g.componentDidMount&&(b.flags|=4194308),d=!1)}else{g=b.stateNode;lh(a,b);h=b.memoizedProps;l=b.type===b.elementType?h:Ci(b.type,h);g.props=l;q=b.pendingProps;r=g.context;k=c.contextType;\"object\"===typeof k&&null!==k?k=eh(k):(k=Zf(c)?Xf:H.current,k=Yf(b,k));var y=c.getDerivedStateFromProps;(m=\"function\"===typeof y||\"function\"===typeof g.getSnapshotBeforeUpdate)||\n\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||(h!==q||r!==k)&&Hi(b,g,d,k);jh=!1;r=b.memoizedState;g.state=r;qh(b,d,g,e);var n=b.memoizedState;h!==q||r!==n||Wf.current||jh?(\"function\"===typeof y&&(Di(b,c,y,d),n=b.memoizedState),(l=jh||Fi(b,c,l,d,r,n,k)||!1)?(m||\"function\"!==typeof g.UNSAFE_componentWillUpdate&&\"function\"!==typeof g.componentWillUpdate||(\"function\"===typeof g.componentWillUpdate&&g.componentWillUpdate(d,n,k),\"function\"===typeof g.UNSAFE_componentWillUpdate&&\ng.UNSAFE_componentWillUpdate(d,n,k)),\"function\"===typeof g.componentDidUpdate&&(b.flags|=4),\"function\"===typeof g.getSnapshotBeforeUpdate&&(b.flags|=1024)):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=1024),b.memoizedProps=d,b.memoizedState=n),g.props=d,g.state=n,g.context=k,d=l):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&r===\na.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=1024),d=!1)}return jj(a,b,c,d,f,e)}\nfunction jj(a,b,c,d,e,f){gj(a,b);var g=0!==(b.flags&128);if(!d&&!g)return e&&dg(b,c,!1),Zi(a,b,f);d=b.stateNode;Wi.current=b;var h=g&&\"function\"!==typeof c.getDerivedStateFromError?null:d.render();b.flags|=1;null!==a&&g?(b.child=Ug(b,a.child,null,f),b.child=Ug(b,null,h,f)):Xi(a,b,h,f);b.memoizedState=d.state;e&&dg(b,c,!0);return b.child}function kj(a){var b=a.stateNode;b.pendingContext?ag(a,b.pendingContext,b.pendingContext!==b.context):b.context&&ag(a,b.context,!1);yh(a,b.containerInfo)}\nfunction lj(a,b,c,d,e){Ig();Jg(e);b.flags|=256;Xi(a,b,c,d);return b.child}var mj={dehydrated:null,treeContext:null,retryLane:0};function nj(a){return{baseLanes:a,cachePool:null,transitions:null}}\nfunction oj(a,b,c){var d=b.pendingProps,e=L.current,f=!1,g=0!==(b.flags&128),h;(h=g)||(h=null!==a&&null===a.memoizedState?!1:0!==(e&2));if(h)f=!0,b.flags&=-129;else if(null===a||null!==a.memoizedState)e|=1;G(L,e&1);if(null===a){Eg(b);a=b.memoizedState;if(null!==a&&(a=a.dehydrated,null!==a))return 0===(b.mode&1)?b.lanes=1:\"$!\"===a.data?b.lanes=8:b.lanes=1073741824,null;g=d.children;a=d.fallback;return f?(d=b.mode,f=b.child,g={mode:\"hidden\",children:g},0===(d&1)&&null!==f?(f.childLanes=0,f.pendingProps=\ng):f=pj(g,d,0,null),a=Tg(a,d,c,null),f.return=b,a.return=b,f.sibling=a,b.child=f,b.child.memoizedState=nj(c),b.memoizedState=mj,a):qj(b,g)}e=a.memoizedState;if(null!==e&&(h=e.dehydrated,null!==h))return rj(a,b,g,d,h,e,c);if(f){f=d.fallback;g=b.mode;e=a.child;h=e.sibling;var k={mode:\"hidden\",children:d.children};0===(g&1)&&b.child!==e?(d=b.child,d.childLanes=0,d.pendingProps=k,b.deletions=null):(d=Pg(e,k),d.subtreeFlags=e.subtreeFlags&14680064);null!==h?f=Pg(h,f):(f=Tg(f,g,c,null),f.flags|=2);f.return=\nb;d.return=b;d.sibling=f;b.child=d;d=f;f=b.child;g=a.child.memoizedState;g=null===g?nj(c):{baseLanes:g.baseLanes|c,cachePool:null,transitions:g.transitions};f.memoizedState=g;f.childLanes=a.childLanes&~c;b.memoizedState=mj;return d}f=a.child;a=f.sibling;d=Pg(f,{mode:\"visible\",children:d.children});0===(b.mode&1)&&(d.lanes=c);d.return=b;d.sibling=null;null!==a&&(c=b.deletions,null===c?(b.deletions=[a],b.flags|=16):c.push(a));b.child=d;b.memoizedState=null;return d}\nfunction qj(a,b){b=pj({mode:\"visible\",children:b},a.mode,0,null);b.return=a;return a.child=b}function sj(a,b,c,d){null!==d&&Jg(d);Ug(b,a.child,null,c);a=qj(b,b.pendingProps.children);a.flags|=2;b.memoizedState=null;return a}\nfunction rj(a,b,c,d,e,f,g){if(c){if(b.flags&256)return b.flags&=-257,d=Ki(Error(p(422))),sj(a,b,g,d);if(null!==b.memoizedState)return b.child=a.child,b.flags|=128,null;f=d.fallback;e=b.mode;d=pj({mode:\"visible\",children:d.children},e,0,null);f=Tg(f,e,g,null);f.flags|=2;d.return=b;f.return=b;d.sibling=f;b.child=d;0!==(b.mode&1)&&Ug(b,a.child,null,g);b.child.memoizedState=nj(g);b.memoizedState=mj;return f}if(0===(b.mode&1))return sj(a,b,g,null);if(\"$!\"===e.data){d=e.nextSibling&&e.nextSibling.dataset;\nif(d)var h=d.dgst;d=h;f=Error(p(419));d=Ki(f,d,void 0);return sj(a,b,g,d)}h=0!==(g&a.childLanes);if(dh||h){d=Q;if(null!==d){switch(g&-g){case 4:e=2;break;case 16:e=8;break;case 64: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:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:e=32;break;case 536870912:e=268435456;break;default:e=0}e=0!==(e&(d.suspendedLanes|g))?0:e;\n0!==e&&e!==f.retryLane&&(f.retryLane=e,ih(a,e),gi(d,a,e,-1))}tj();d=Ki(Error(p(421)));return sj(a,b,g,d)}if(\"$?\"===e.data)return b.flags|=128,b.child=a.child,b=uj.bind(null,a),e._reactRetry=b,null;a=f.treeContext;yg=Lf(e.nextSibling);xg=b;I=!0;zg=null;null!==a&&(og[pg++]=rg,og[pg++]=sg,og[pg++]=qg,rg=a.id,sg=a.overflow,qg=b);b=qj(b,d.children);b.flags|=4096;return b}function vj(a,b,c){a.lanes|=b;var d=a.alternate;null!==d&&(d.lanes|=b);bh(a.return,b,c)}\nfunction wj(a,b,c,d,e){var f=a.memoizedState;null===f?a.memoizedState={isBackwards:b,rendering:null,renderingStartTime:0,last:d,tail:c,tailMode:e}:(f.isBackwards=b,f.rendering=null,f.renderingStartTime=0,f.last=d,f.tail=c,f.tailMode=e)}\nfunction xj(a,b,c){var d=b.pendingProps,e=d.revealOrder,f=d.tail;Xi(a,b,d.children,c);d=L.current;if(0!==(d&2))d=d&1|2,b.flags|=128;else{if(null!==a&&0!==(a.flags&128))a:for(a=b.child;null!==a;){if(13===a.tag)null!==a.memoizedState&&vj(a,c,b);else if(19===a.tag)vj(a,c,b);else if(null!==a.child){a.child.return=a;a=a.child;continue}if(a===b)break a;for(;null===a.sibling;){if(null===a.return||a.return===b)break a;a=a.return}a.sibling.return=a.return;a=a.sibling}d&=1}G(L,d);if(0===(b.mode&1))b.memoizedState=\nnull;else switch(e){case \"forwards\":c=b.child;for(e=null;null!==c;)a=c.alternate,null!==a&&null===Ch(a)&&(e=c),c=c.sibling;c=e;null===c?(e=b.child,b.child=null):(e=c.sibling,c.sibling=null);wj(b,!1,e,c,f);break;case \"backwards\":c=null;e=b.child;for(b.child=null;null!==e;){a=e.alternate;if(null!==a&&null===Ch(a)){b.child=e;break}a=e.sibling;e.sibling=c;c=e;e=a}wj(b,!0,c,null,f);break;case \"together\":wj(b,!1,null,null,void 0);break;default:b.memoizedState=null}return b.child}\nfunction ij(a,b){0===(b.mode&1)&&null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2)}function Zi(a,b,c){null!==a&&(b.dependencies=a.dependencies);rh|=b.lanes;if(0===(c&b.childLanes))return null;if(null!==a&&b.child!==a.child)throw Error(p(153));if(null!==b.child){a=b.child;c=Pg(a,a.pendingProps);b.child=c;for(c.return=b;null!==a.sibling;)a=a.sibling,c=c.sibling=Pg(a,a.pendingProps),c.return=b;c.sibling=null}return b.child}\nfunction yj(a,b,c){switch(b.tag){case 3:kj(b);Ig();break;case 5:Ah(b);break;case 1:Zf(b.type)&&cg(b);break;case 4:yh(b,b.stateNode.containerInfo);break;case 10:var d=b.type._context,e=b.memoizedProps.value;G(Wg,d._currentValue);d._currentValue=e;break;case 13:d=b.memoizedState;if(null!==d){if(null!==d.dehydrated)return G(L,L.current&1),b.flags|=128,null;if(0!==(c&b.child.childLanes))return oj(a,b,c);G(L,L.current&1);a=Zi(a,b,c);return null!==a?a.sibling:null}G(L,L.current&1);break;case 19:d=0!==(c&\nb.childLanes);if(0!==(a.flags&128)){if(d)return xj(a,b,c);b.flags|=128}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null,e.lastEffect=null);G(L,L.current);if(d)break;else return null;case 22:case 23:return b.lanes=0,dj(a,b,c)}return Zi(a,b,c)}var zj,Aj,Bj,Cj;\nzj=function(a,b){for(var c=b.child;null!==c;){if(5===c.tag||6===c.tag)a.appendChild(c.stateNode);else if(4!==c.tag&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return}c.sibling.return=c.return;c=c.sibling}};Aj=function(){};\nBj=function(a,b,c,d){var e=a.memoizedProps;if(e!==d){a=b.stateNode;xh(uh.current);var f=null;switch(c){case \"input\":e=Ya(a,e);d=Ya(a,d);f=[];break;case \"select\":e=A({},e,{value:void 0});d=A({},d,{value:void 0});f=[];break;case \"textarea\":e=gb(a,e);d=gb(a,d);f=[];break;default:\"function\"!==typeof e.onClick&&\"function\"===typeof d.onClick&&(a.onclick=Bf)}ub(c,d);var g;c=null;for(l in e)if(!d.hasOwnProperty(l)&&e.hasOwnProperty(l)&&null!=e[l])if(\"style\"===l){var h=e[l];for(g in h)h.hasOwnProperty(g)&&\n(c||(c={}),c[g]=\"\")}else\"dangerouslySetInnerHTML\"!==l&&\"children\"!==l&&\"suppressContentEditableWarning\"!==l&&\"suppressHydrationWarning\"!==l&&\"autoFocus\"!==l&&(ea.hasOwnProperty(l)?f||(f=[]):(f=f||[]).push(l,null));for(l in d){var k=d[l];h=null!=e?e[l]:void 0;if(d.hasOwnProperty(l)&&k!==h&&(null!=k||null!=h))if(\"style\"===l)if(h){for(g in h)!h.hasOwnProperty(g)||k&&k.hasOwnProperty(g)||(c||(c={}),c[g]=\"\");for(g in k)k.hasOwnProperty(g)&&h[g]!==k[g]&&(c||(c={}),c[g]=k[g])}else c||(f||(f=[]),f.push(l,\nc)),c=k;else\"dangerouslySetInnerHTML\"===l?(k=k?k.__html:void 0,h=h?h.__html:void 0,null!=k&&h!==k&&(f=f||[]).push(l,k)):\"children\"===l?\"string\"!==typeof k&&\"number\"!==typeof k||(f=f||[]).push(l,\"\"+k):\"suppressContentEditableWarning\"!==l&&\"suppressHydrationWarning\"!==l&&(ea.hasOwnProperty(l)?(null!=k&&\"onScroll\"===l&&D(\"scroll\",a),f||h===k||(f=[])):(f=f||[]).push(l,k))}c&&(f=f||[]).push(\"style\",c);var l=f;if(b.updateQueue=l)b.flags|=4}};Cj=function(a,b,c,d){c!==d&&(b.flags|=4)};\nfunction Dj(a,b){if(!I)switch(a.tailMode){case \"hidden\":b=a.tail;for(var c=null;null!==b;)null!==b.alternate&&(c=b),b=b.sibling;null===c?a.tail=null:c.sibling=null;break;case \"collapsed\":c=a.tail;for(var d=null;null!==c;)null!==c.alternate&&(d=c),c=c.sibling;null===d?b||null===a.tail?a.tail=null:a.tail.sibling=null:d.sibling=null}}\nfunction S(a){var b=null!==a.alternate&&a.alternate.child===a.child,c=0,d=0;if(b)for(var e=a.child;null!==e;)c|=e.lanes|e.childLanes,d|=e.subtreeFlags&14680064,d|=e.flags&14680064,e.return=a,e=e.sibling;else for(e=a.child;null!==e;)c|=e.lanes|e.childLanes,d|=e.subtreeFlags,d|=e.flags,e.return=a,e=e.sibling;a.subtreeFlags|=d;a.childLanes=c;return b}\nfunction Ej(a,b,c){var d=b.pendingProps;wg(b);switch(b.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return S(b),null;case 1:return Zf(b.type)&&$f(),S(b),null;case 3:d=b.stateNode;zh();E(Wf);E(H);Eh();d.pendingContext&&(d.context=d.pendingContext,d.pendingContext=null);if(null===a||null===a.child)Gg(b)?b.flags|=4:null===a||a.memoizedState.isDehydrated&&0===(b.flags&256)||(b.flags|=1024,null!==zg&&(Fj(zg),zg=null));Aj(a,b);S(b);return null;case 5:Bh(b);var e=xh(wh.current);\nc=b.type;if(null!==a&&null!=b.stateNode)Bj(a,b,c,d,e),a.ref!==b.ref&&(b.flags|=512,b.flags|=2097152);else{if(!d){if(null===b.stateNode)throw Error(p(166));S(b);return null}a=xh(uh.current);if(Gg(b)){d=b.stateNode;c=b.type;var f=b.memoizedProps;d[Of]=b;d[Pf]=f;a=0!==(b.mode&1);switch(c){case \"dialog\":D(\"cancel\",d);D(\"close\",d);break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",d);break;case \"video\":case \"audio\":for(e=0;e<lf.length;e++)D(lf[e],d);break;case \"source\":D(\"error\",d);break;case \"img\":case \"image\":case \"link\":D(\"error\",\nd);D(\"load\",d);break;case \"details\":D(\"toggle\",d);break;case \"input\":Za(d,f);D(\"invalid\",d);break;case \"select\":d._wrapperState={wasMultiple:!!f.multiple};D(\"invalid\",d);break;case \"textarea\":hb(d,f),D(\"invalid\",d)}ub(c,f);e=null;for(var g in f)if(f.hasOwnProperty(g)){var h=f[g];\"children\"===g?\"string\"===typeof h?d.textContent!==h&&(!0!==f.suppressHydrationWarning&&Af(d.textContent,h,a),e=[\"children\",h]):\"number\"===typeof h&&d.textContent!==\"\"+h&&(!0!==f.suppressHydrationWarning&&Af(d.textContent,\nh,a),e=[\"children\",\"\"+h]):ea.hasOwnProperty(g)&&null!=h&&\"onScroll\"===g&&D(\"scroll\",d)}switch(c){case \"input\":Va(d);db(d,f,!0);break;case \"textarea\":Va(d);jb(d);break;case \"select\":case \"option\":break;default:\"function\"===typeof f.onClick&&(d.onclick=Bf)}d=e;b.updateQueue=d;null!==d&&(b.flags|=4)}else{g=9===e.nodeType?e:e.ownerDocument;\"http://www.w3.org/1999/xhtml\"===a&&(a=kb(c));\"http://www.w3.org/1999/xhtml\"===a?\"script\"===c?(a=g.createElement(\"div\"),a.innerHTML=\"<script>\\x3c/script>\",a=a.removeChild(a.firstChild)):\n\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[Of]=b;a[Pf]=d;zj(a,b,!1,!1);b.stateNode=a;a:{g=vb(c,d);switch(c){case \"dialog\":D(\"cancel\",a);D(\"close\",a);e=d;break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;e<lf.length;e++)D(lf[e],a);e=d;break;case \"source\":D(\"error\",a);e=d;break;case \"img\":case \"image\":case \"link\":D(\"error\",\na);D(\"load\",a);e=d;break;case \"details\":D(\"toggle\",a);e=d;break;case \"input\":Za(a,d);e=Ya(a,d);D(\"invalid\",a);break;case \"option\":e=d;break;case \"select\":a._wrapperState={wasMultiple:!!d.multiple};e=A({},d,{value:void 0});D(\"invalid\",a);break;case \"textarea\":hb(a,d);e=gb(a,d);D(\"invalid\",a);break;default:e=d}ub(c,e);h=e;for(f in h)if(h.hasOwnProperty(f)){var k=h[f];\"style\"===f?sb(a,k):\"dangerouslySetInnerHTML\"===f?(k=k?k.__html:void 0,null!=k&&nb(a,k)):\"children\"===f?\"string\"===typeof k?(\"textarea\"!==\nc||\"\"!==k)&&ob(a,k):\"number\"===typeof k&&ob(a,\"\"+k):\"suppressContentEditableWarning\"!==f&&\"suppressHydrationWarning\"!==f&&\"autoFocus\"!==f&&(ea.hasOwnProperty(f)?null!=k&&\"onScroll\"===f&&D(\"scroll\",a):null!=k&&ta(a,f,k,g))}switch(c){case \"input\":Va(a);db(a,d,!1);break;case \"textarea\":Va(a);jb(a);break;case \"option\":null!=d.value&&a.setAttribute(\"value\",\"\"+Sa(d.value));break;case \"select\":a.multiple=!!d.multiple;f=d.value;null!=f?fb(a,!!d.multiple,f,!1):null!=d.defaultValue&&fb(a,!!d.multiple,d.defaultValue,\n!0);break;default:\"function\"===typeof e.onClick&&(a.onclick=Bf)}switch(c){case \"button\":case \"input\":case \"select\":case \"textarea\":d=!!d.autoFocus;break a;case \"img\":d=!0;break a;default:d=!1}}d&&(b.flags|=4)}null!==b.ref&&(b.flags|=512,b.flags|=2097152)}S(b);return null;case 6:if(a&&null!=b.stateNode)Cj(a,b,a.memoizedProps,d);else{if(\"string\"!==typeof d&&null===b.stateNode)throw Error(p(166));c=xh(wh.current);xh(uh.current);if(Gg(b)){d=b.stateNode;c=b.memoizedProps;d[Of]=b;if(f=d.nodeValue!==c)if(a=\nxg,null!==a)switch(a.tag){case 3:Af(d.nodeValue,c,0!==(a.mode&1));break;case 5:!0!==a.memoizedProps.suppressHydrationWarning&&Af(d.nodeValue,c,0!==(a.mode&1))}f&&(b.flags|=4)}else d=(9===c.nodeType?c:c.ownerDocument).createTextNode(d),d[Of]=b,b.stateNode=d}S(b);return null;case 13:E(L);d=b.memoizedState;if(null===a||null!==a.memoizedState&&null!==a.memoizedState.dehydrated){if(I&&null!==yg&&0!==(b.mode&1)&&0===(b.flags&128))Hg(),Ig(),b.flags|=98560,f=!1;else if(f=Gg(b),null!==d&&null!==d.dehydrated){if(null===\na){if(!f)throw Error(p(318));f=b.memoizedState;f=null!==f?f.dehydrated:null;if(!f)throw Error(p(317));f[Of]=b}else Ig(),0===(b.flags&128)&&(b.memoizedState=null),b.flags|=4;S(b);f=!1}else null!==zg&&(Fj(zg),zg=null),f=!0;if(!f)return b.flags&65536?b:null}if(0!==(b.flags&128))return b.lanes=c,b;d=null!==d;d!==(null!==a&&null!==a.memoizedState)&&d&&(b.child.flags|=8192,0!==(b.mode&1)&&(null===a||0!==(L.current&1)?0===T&&(T=3):tj()));null!==b.updateQueue&&(b.flags|=4);S(b);return null;case 4:return zh(),\nAj(a,b),null===a&&sf(b.stateNode.containerInfo),S(b),null;case 10:return ah(b.type._context),S(b),null;case 17:return Zf(b.type)&&$f(),S(b),null;case 19:E(L);f=b.memoizedState;if(null===f)return S(b),null;d=0!==(b.flags&128);g=f.rendering;if(null===g)if(d)Dj(f,!1);else{if(0!==T||null!==a&&0!==(a.flags&128))for(a=b.child;null!==a;){g=Ch(a);if(null!==g){b.flags|=128;Dj(f,!1);d=g.updateQueue;null!==d&&(b.updateQueue=d,b.flags|=4);b.subtreeFlags=0;d=c;for(c=b.child;null!==c;)f=c,a=d,f.flags&=14680066,\ng=f.alternate,null===g?(f.childLanes=0,f.lanes=a,f.child=null,f.subtreeFlags=0,f.memoizedProps=null,f.memoizedState=null,f.updateQueue=null,f.dependencies=null,f.stateNode=null):(f.childLanes=g.childLanes,f.lanes=g.lanes,f.child=g.child,f.subtreeFlags=0,f.deletions=null,f.memoizedProps=g.memoizedProps,f.memoizedState=g.memoizedState,f.updateQueue=g.updateQueue,f.type=g.type,a=g.dependencies,f.dependencies=null===a?null:{lanes:a.lanes,firstContext:a.firstContext}),c=c.sibling;G(L,L.current&1|2);return b.child}a=\na.sibling}null!==f.tail&&B()>Gj&&(b.flags|=128,d=!0,Dj(f,!1),b.lanes=4194304)}else{if(!d)if(a=Ch(g),null!==a){if(b.flags|=128,d=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Dj(f,!0),null===f.tail&&\"hidden\"===f.tailMode&&!g.alternate&&!I)return S(b),null}else 2*B()-f.renderingStartTime>Gj&&1073741824!==c&&(b.flags|=128,d=!0,Dj(f,!1),b.lanes=4194304);f.isBackwards?(g.sibling=b.child,b.child=g):(c=f.last,null!==c?c.sibling=g:b.child=g,f.last=g)}if(null!==f.tail)return b=f.tail,f.rendering=\nb,f.tail=b.sibling,f.renderingStartTime=B(),b.sibling=null,c=L.current,G(L,d?c&1|2:c&1),b;S(b);return null;case 22:case 23:return Hj(),d=null!==b.memoizedState,null!==a&&null!==a.memoizedState!==d&&(b.flags|=8192),d&&0!==(b.mode&1)?0!==(fj&1073741824)&&(S(b),b.subtreeFlags&6&&(b.flags|=8192)):S(b),null;case 24:return null;case 25:return null}throw Error(p(156,b.tag));}\nfunction Ij(a,b){wg(b);switch(b.tag){case 1:return Zf(b.type)&&$f(),a=b.flags,a&65536?(b.flags=a&-65537|128,b):null;case 3:return zh(),E(Wf),E(H),Eh(),a=b.flags,0!==(a&65536)&&0===(a&128)?(b.flags=a&-65537|128,b):null;case 5:return Bh(b),null;case 13:E(L);a=b.memoizedState;if(null!==a&&null!==a.dehydrated){if(null===b.alternate)throw Error(p(340));Ig()}a=b.flags;return a&65536?(b.flags=a&-65537|128,b):null;case 19:return E(L),null;case 4:return zh(),null;case 10:return ah(b.type._context),null;case 22:case 23:return Hj(),\nnull;case 24:return null;default:return null}}var Jj=!1,U=!1,Kj=\"function\"===typeof WeakSet?WeakSet:Set,V=null;function Lj(a,b){var c=a.ref;if(null!==c)if(\"function\"===typeof c)try{c(null)}catch(d){W(a,b,d)}else c.current=null}function Mj(a,b,c){try{c()}catch(d){W(a,b,d)}}var Nj=!1;\nfunction Oj(a,b){Cf=dd;a=Me();if(Ne(a)){if(\"selectionStart\"in a)var c={start:a.selectionStart,end:a.selectionEnd};else a:{c=(c=a.ownerDocument)&&c.defaultView||window;var d=c.getSelection&&c.getSelection();if(d&&0!==d.rangeCount){c=d.anchorNode;var e=d.anchorOffset,f=d.focusNode;d=d.focusOffset;try{c.nodeType,f.nodeType}catch(F){c=null;break a}var g=0,h=-1,k=-1,l=0,m=0,q=a,r=null;b:for(;;){for(var y;;){q!==c||0!==e&&3!==q.nodeType||(h=g+e);q!==f||0!==d&&3!==q.nodeType||(k=g+d);3===q.nodeType&&(g+=\nq.nodeValue.length);if(null===(y=q.firstChild))break;r=q;q=y}for(;;){if(q===a)break b;r===c&&++l===e&&(h=g);r===f&&++m===d&&(k=g);if(null!==(y=q.nextSibling))break;q=r;r=q.parentNode}q=y}c=-1===h||-1===k?null:{start:h,end:k}}else c=null}c=c||{start:0,end:0}}else c=null;Df={focusedElem:a,selectionRange:c};dd=!1;for(V=b;null!==V;)if(b=V,a=b.child,0!==(b.subtreeFlags&1028)&&null!==a)a.return=b,V=a;else for(;null!==V;){b=V;try{var n=b.alternate;if(0!==(b.flags&1024))switch(b.tag){case 0:case 11:case 15:break;\ncase 1:if(null!==n){var t=n.memoizedProps,J=n.memoizedState,x=b.stateNode,w=x.getSnapshotBeforeUpdate(b.elementType===b.type?t:Ci(b.type,t),J);x.__reactInternalSnapshotBeforeUpdate=w}break;case 3:var u=b.stateNode.containerInfo;1===u.nodeType?u.textContent=\"\":9===u.nodeType&&u.documentElement&&u.removeChild(u.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p(163));}}catch(F){W(b,b.return,F)}a=b.sibling;if(null!==a){a.return=b.return;V=a;break}V=b.return}n=Nj;Nj=!1;return n}\nfunction Pj(a,b,c){var d=b.updateQueue;d=null!==d?d.lastEffect:null;if(null!==d){var e=d=d.next;do{if((e.tag&a)===a){var f=e.destroy;e.destroy=void 0;void 0!==f&&Mj(b,c,f)}e=e.next}while(e!==d)}}function Qj(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}function Rj(a){var b=a.ref;if(null!==b){var c=a.stateNode;switch(a.tag){case 5:a=c;break;default:a=c}\"function\"===typeof b?b(a):b.current=a}}\nfunction Sj(a){var b=a.alternate;null!==b&&(a.alternate=null,Sj(b));a.child=null;a.deletions=null;a.sibling=null;5===a.tag&&(b=a.stateNode,null!==b&&(delete b[Of],delete b[Pf],delete b[of],delete b[Qf],delete b[Rf]));a.stateNode=null;a.return=null;a.dependencies=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.stateNode=null;a.updateQueue=null}function Tj(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Uj(a){a:for(;;){for(;null===a.sibling;){if(null===a.return||Tj(a.return))return null;a=a.return}a.sibling.return=a.return;for(a=a.sibling;5!==a.tag&&6!==a.tag&&18!==a.tag;){if(a.flags&2)continue a;if(null===a.child||4===a.tag)continue a;else a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}\nfunction Vj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=Bf));else if(4!==d&&(a=a.child,null!==a))for(Vj(a,b,c),a=a.sibling;null!==a;)Vj(a,b,c),a=a.sibling}\nfunction Wj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Wj(a,b,c),a=a.sibling;null!==a;)Wj(a,b,c),a=a.sibling}var X=null,Xj=!1;function Yj(a,b,c){for(c=c.child;null!==c;)Zj(a,b,c),c=c.sibling}\nfunction Zj(a,b,c){if(lc&&\"function\"===typeof lc.onCommitFiberUnmount)try{lc.onCommitFiberUnmount(kc,c)}catch(h){}switch(c.tag){case 5:U||Lj(c,b);case 6:var d=X,e=Xj;X=null;Yj(a,b,c);X=d;Xj=e;null!==X&&(Xj?(a=X,c=c.stateNode,8===a.nodeType?a.parentNode.removeChild(c):a.removeChild(c)):X.removeChild(c.stateNode));break;case 18:null!==X&&(Xj?(a=X,c=c.stateNode,8===a.nodeType?Kf(a.parentNode,c):1===a.nodeType&&Kf(a,c),bd(a)):Kf(X,c.stateNode));break;case 4:d=X;e=Xj;X=c.stateNode.containerInfo;Xj=!0;\nYj(a,b,c);X=d;Xj=e;break;case 0:case 11:case 14:case 15:if(!U&&(d=c.updateQueue,null!==d&&(d=d.lastEffect,null!==d))){e=d=d.next;do{var f=e,g=f.destroy;f=f.tag;void 0!==g&&(0!==(f&2)?Mj(c,b,g):0!==(f&4)&&Mj(c,b,g));e=e.next}while(e!==d)}Yj(a,b,c);break;case 1:if(!U&&(Lj(c,b),d=c.stateNode,\"function\"===typeof d.componentWillUnmount))try{d.props=c.memoizedProps,d.state=c.memoizedState,d.componentWillUnmount()}catch(h){W(c,b,h)}Yj(a,b,c);break;case 21:Yj(a,b,c);break;case 22:c.mode&1?(U=(d=U)||null!==\nc.memoizedState,Yj(a,b,c),U=d):Yj(a,b,c);break;default:Yj(a,b,c)}}function ak(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Kj);b.forEach(function(b){var d=bk.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction ck(a,b){var c=b.deletions;if(null!==c)for(var d=0;d<c.length;d++){var e=c[d];try{var f=a,g=b,h=g;a:for(;null!==h;){switch(h.tag){case 5:X=h.stateNode;Xj=!1;break a;case 3:X=h.stateNode.containerInfo;Xj=!0;break a;case 4:X=h.stateNode.containerInfo;Xj=!0;break a}h=h.return}if(null===X)throw Error(p(160));Zj(f,g,e);X=null;Xj=!1;var k=e.alternate;null!==k&&(k.return=null);e.return=null}catch(l){W(e,b,l)}}if(b.subtreeFlags&12854)for(b=b.child;null!==b;)dk(b,a),b=b.sibling}\nfunction dk(a,b){var c=a.alternate,d=a.flags;switch(a.tag){case 0:case 11:case 14:case 15:ck(b,a);ek(a);if(d&4){try{Pj(3,a,a.return),Qj(3,a)}catch(t){W(a,a.return,t)}try{Pj(5,a,a.return)}catch(t){W(a,a.return,t)}}break;case 1:ck(b,a);ek(a);d&512&&null!==c&&Lj(c,c.return);break;case 5:ck(b,a);ek(a);d&512&&null!==c&&Lj(c,c.return);if(a.flags&32){var e=a.stateNode;try{ob(e,\"\")}catch(t){W(a,a.return,t)}}if(d&4&&(e=a.stateNode,null!=e)){var f=a.memoizedProps,g=null!==c?c.memoizedProps:f,h=a.type,k=a.updateQueue;\na.updateQueue=null;if(null!==k)try{\"input\"===h&&\"radio\"===f.type&&null!=f.name&&ab(e,f);vb(h,g);var l=vb(h,f);for(g=0;g<k.length;g+=2){var m=k[g],q=k[g+1];\"style\"===m?sb(e,q):\"dangerouslySetInnerHTML\"===m?nb(e,q):\"children\"===m?ob(e,q):ta(e,m,q,l)}switch(h){case \"input\":bb(e,f);break;case \"textarea\":ib(e,f);break;case \"select\":var r=e._wrapperState.wasMultiple;e._wrapperState.wasMultiple=!!f.multiple;var y=f.value;null!=y?fb(e,!!f.multiple,y,!1):r!==!!f.multiple&&(null!=f.defaultValue?fb(e,!!f.multiple,\nf.defaultValue,!0):fb(e,!!f.multiple,f.multiple?[]:\"\",!1))}e[Pf]=f}catch(t){W(a,a.return,t)}}break;case 6:ck(b,a);ek(a);if(d&4){if(null===a.stateNode)throw Error(p(162));e=a.stateNode;f=a.memoizedProps;try{e.nodeValue=f}catch(t){W(a,a.return,t)}}break;case 3:ck(b,a);ek(a);if(d&4&&null!==c&&c.memoizedState.isDehydrated)try{bd(b.containerInfo)}catch(t){W(a,a.return,t)}break;case 4:ck(b,a);ek(a);break;case 13:ck(b,a);ek(a);e=a.child;e.flags&8192&&(f=null!==e.memoizedState,e.stateNode.isHidden=f,!f||\nnull!==e.alternate&&null!==e.alternate.memoizedState||(fk=B()));d&4&&ak(a);break;case 22:m=null!==c&&null!==c.memoizedState;a.mode&1?(U=(l=U)||m,ck(b,a),U=l):ck(b,a);ek(a);if(d&8192){l=null!==a.memoizedState;if((a.stateNode.isHidden=l)&&!m&&0!==(a.mode&1))for(V=a,m=a.child;null!==m;){for(q=V=m;null!==V;){r=V;y=r.child;switch(r.tag){case 0:case 11:case 14:case 15:Pj(4,r,r.return);break;case 1:Lj(r,r.return);var n=r.stateNode;if(\"function\"===typeof n.componentWillUnmount){d=r;c=r.return;try{b=d,n.props=\nb.memoizedProps,n.state=b.memoizedState,n.componentWillUnmount()}catch(t){W(d,c,t)}}break;case 5:Lj(r,r.return);break;case 22:if(null!==r.memoizedState){gk(q);continue}}null!==y?(y.return=r,V=y):gk(q)}m=m.sibling}a:for(m=null,q=a;;){if(5===q.tag){if(null===m){m=q;try{e=q.stateNode,l?(f=e.style,\"function\"===typeof f.setProperty?f.setProperty(\"display\",\"none\",\"important\"):f.display=\"none\"):(h=q.stateNode,k=q.memoizedProps.style,g=void 0!==k&&null!==k&&k.hasOwnProperty(\"display\")?k.display:null,h.style.display=\nrb(\"display\",g))}catch(t){W(a,a.return,t)}}}else if(6===q.tag){if(null===m)try{q.stateNode.nodeValue=l?\"\":q.memoizedProps}catch(t){W(a,a.return,t)}}else if((22!==q.tag&&23!==q.tag||null===q.memoizedState||q===a)&&null!==q.child){q.child.return=q;q=q.child;continue}if(q===a)break a;for(;null===q.sibling;){if(null===q.return||q.return===a)break a;m===q&&(m=null);q=q.return}m===q&&(m=null);q.sibling.return=q.return;q=q.sibling}}break;case 19:ck(b,a);ek(a);d&4&&ak(a);break;case 21:break;default:ck(b,\na),ek(a)}}function ek(a){var b=a.flags;if(b&2){try{a:{for(var c=a.return;null!==c;){if(Tj(c)){var d=c;break a}c=c.return}throw Error(p(160));}switch(d.tag){case 5:var e=d.stateNode;d.flags&32&&(ob(e,\"\"),d.flags&=-33);var f=Uj(a);Wj(a,f,e);break;case 3:case 4:var g=d.stateNode.containerInfo,h=Uj(a);Vj(a,h,g);break;default:throw Error(p(161));}}catch(k){W(a,a.return,k)}a.flags&=-3}b&4096&&(a.flags&=-4097)}function hk(a,b,c){V=a;ik(a,b,c)}\nfunction ik(a,b,c){for(var d=0!==(a.mode&1);null!==V;){var e=V,f=e.child;if(22===e.tag&&d){var g=null!==e.memoizedState||Jj;if(!g){var h=e.alternate,k=null!==h&&null!==h.memoizedState||U;h=Jj;var l=U;Jj=g;if((U=k)&&!l)for(V=e;null!==V;)g=V,k=g.child,22===g.tag&&null!==g.memoizedState?jk(e):null!==k?(k.return=g,V=k):jk(e);for(;null!==f;)V=f,ik(f,b,c),f=f.sibling;V=e;Jj=h;U=l}kk(a,b,c)}else 0!==(e.subtreeFlags&8772)&&null!==f?(f.return=e,V=f):kk(a,b,c)}}\nfunction kk(a){for(;null!==V;){var b=V;if(0!==(b.flags&8772)){var c=b.alternate;try{if(0!==(b.flags&8772))switch(b.tag){case 0:case 11:case 15:U||Qj(5,b);break;case 1:var d=b.stateNode;if(b.flags&4&&!U)if(null===c)d.componentDidMount();else{var e=b.elementType===b.type?c.memoizedProps:Ci(b.type,c.memoizedProps);d.componentDidUpdate(e,c.memoizedState,d.__reactInternalSnapshotBeforeUpdate)}var f=b.updateQueue;null!==f&&sh(b,f,d);break;case 3:var g=b.updateQueue;if(null!==g){c=null;if(null!==b.child)switch(b.child.tag){case 5:c=\nb.child.stateNode;break;case 1:c=b.child.stateNode}sh(b,g,c)}break;case 5:var h=b.stateNode;if(null===c&&b.flags&4){c=h;var k=b.memoizedProps;switch(b.type){case \"button\":case \"input\":case \"select\":case \"textarea\":k.autoFocus&&c.focus();break;case \"img\":k.src&&(c.src=k.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(null===b.memoizedState){var l=b.alternate;if(null!==l){var m=l.memoizedState;if(null!==m){var q=m.dehydrated;null!==q&&bd(q)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;\ndefault:throw Error(p(163));}U||b.flags&512&&Rj(b)}catch(r){W(b,b.return,r)}}if(b===a){V=null;break}c=b.sibling;if(null!==c){c.return=b.return;V=c;break}V=b.return}}function gk(a){for(;null!==V;){var b=V;if(b===a){V=null;break}var c=b.sibling;if(null!==c){c.return=b.return;V=c;break}V=b.return}}\nfunction jk(a){for(;null!==V;){var b=V;try{switch(b.tag){case 0:case 11:case 15:var c=b.return;try{Qj(4,b)}catch(k){W(b,c,k)}break;case 1:var d=b.stateNode;if(\"function\"===typeof d.componentDidMount){var e=b.return;try{d.componentDidMount()}catch(k){W(b,e,k)}}var f=b.return;try{Rj(b)}catch(k){W(b,f,k)}break;case 5:var g=b.return;try{Rj(b)}catch(k){W(b,g,k)}}}catch(k){W(b,b.return,k)}if(b===a){V=null;break}var h=b.sibling;if(null!==h){h.return=b.return;V=h;break}V=b.return}}\nvar lk=Math.ceil,mk=ua.ReactCurrentDispatcher,nk=ua.ReactCurrentOwner,ok=ua.ReactCurrentBatchConfig,K=0,Q=null,Y=null,Z=0,fj=0,ej=Uf(0),T=0,pk=null,rh=0,qk=0,rk=0,sk=null,tk=null,fk=0,Gj=Infinity,uk=null,Oi=!1,Pi=null,Ri=null,vk=!1,wk=null,xk=0,yk=0,zk=null,Ak=-1,Bk=0;function R(){return 0!==(K&6)?B():-1!==Ak?Ak:Ak=B()}\nfunction yi(a){if(0===(a.mode&1))return 1;if(0!==(K&2)&&0!==Z)return Z&-Z;if(null!==Kg.transition)return 0===Bk&&(Bk=yc()),Bk;a=C;if(0!==a)return a;a=window.event;a=void 0===a?16:jd(a.type);return a}function gi(a,b,c,d){if(50<yk)throw yk=0,zk=null,Error(p(185));Ac(a,c,d);if(0===(K&2)||a!==Q)a===Q&&(0===(K&2)&&(qk|=c),4===T&&Ck(a,Z)),Dk(a,d),1===c&&0===K&&0===(b.mode&1)&&(Gj=B()+500,fg&&jg())}\nfunction Dk(a,b){var c=a.callbackNode;wc(a,b);var d=uc(a,a===Q?Z:0);if(0===d)null!==c&&bc(c),a.callbackNode=null,a.callbackPriority=0;else if(b=d&-d,a.callbackPriority!==b){null!=c&&bc(c);if(1===b)0===a.tag?ig(Ek.bind(null,a)):hg(Ek.bind(null,a)),Jf(function(){0===(K&6)&&jg()}),c=null;else{switch(Dc(d)){case 1:c=fc;break;case 4:c=gc;break;case 16:c=hc;break;case 536870912:c=jc;break;default:c=hc}c=Fk(c,Gk.bind(null,a))}a.callbackPriority=b;a.callbackNode=c}}\nfunction Gk(a,b){Ak=-1;Bk=0;if(0!==(K&6))throw Error(p(327));var c=a.callbackNode;if(Hk()&&a.callbackNode!==c)return null;var d=uc(a,a===Q?Z:0);if(0===d)return null;if(0!==(d&30)||0!==(d&a.expiredLanes)||b)b=Ik(a,d);else{b=d;var e=K;K|=2;var f=Jk();if(Q!==a||Z!==b)uk=null,Gj=B()+500,Kk(a,b);do try{Lk();break}catch(h){Mk(a,h)}while(1);$g();mk.current=f;K=e;null!==Y?b=0:(Q=null,Z=0,b=T)}if(0!==b){2===b&&(e=xc(a),0!==e&&(d=e,b=Nk(a,e)));if(1===b)throw c=pk,Kk(a,0),Ck(a,d),Dk(a,B()),c;if(6===b)Ck(a,d);\nelse{e=a.current.alternate;if(0===(d&30)&&!Ok(e)&&(b=Ik(a,d),2===b&&(f=xc(a),0!==f&&(d=f,b=Nk(a,f))),1===b))throw c=pk,Kk(a,0),Ck(a,d),Dk(a,B()),c;a.finishedWork=e;a.finishedLanes=d;switch(b){case 0:case 1:throw Error(p(345));case 2:Pk(a,tk,uk);break;case 3:Ck(a,d);if((d&130023424)===d&&(b=fk+500-B(),10<b)){if(0!==uc(a,0))break;e=a.suspendedLanes;if((e&d)!==d){R();a.pingedLanes|=a.suspendedLanes&e;break}a.timeoutHandle=Ff(Pk.bind(null,a,tk,uk),b);break}Pk(a,tk,uk);break;case 4:Ck(a,d);if((d&4194240)===\nd)break;b=a.eventTimes;for(e=-1;0<d;){var g=31-oc(d);f=1<<g;g=b[g];g>e&&(e=g);d&=~f}d=e;d=B()-d;d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*lk(d/1960))-d;if(10<d){a.timeoutHandle=Ff(Pk.bind(null,a,tk,uk),d);break}Pk(a,tk,uk);break;case 5:Pk(a,tk,uk);break;default:throw Error(p(329));}}}Dk(a,B());return a.callbackNode===c?Gk.bind(null,a):null}\nfunction Nk(a,b){var c=sk;a.current.memoizedState.isDehydrated&&(Kk(a,b).flags|=256);a=Ik(a,b);2!==a&&(b=tk,tk=c,null!==b&&Fj(b));return a}function Fj(a){null===tk?tk=a:tk.push.apply(tk,a)}\nfunction Ok(a){for(var b=a;;){if(b.flags&16384){var c=b.updateQueue;if(null!==c&&(c=c.stores,null!==c))for(var d=0;d<c.length;d++){var e=c[d],f=e.getSnapshot;e=e.value;try{if(!He(f(),e))return!1}catch(g){return!1}}}c=b.child;if(b.subtreeFlags&16384&&null!==c)c.return=b,b=c;else{if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return!0;b=b.return}b.sibling.return=b.return;b=b.sibling}}return!0}\nfunction Ck(a,b){b&=~rk;b&=~qk;a.suspendedLanes|=b;a.pingedLanes&=~b;for(a=a.expirationTimes;0<b;){var c=31-oc(b),d=1<<c;a[c]=-1;b&=~d}}function Ek(a){if(0!==(K&6))throw Error(p(327));Hk();var b=uc(a,0);if(0===(b&1))return Dk(a,B()),null;var c=Ik(a,b);if(0!==a.tag&&2===c){var d=xc(a);0!==d&&(b=d,c=Nk(a,d))}if(1===c)throw c=pk,Kk(a,0),Ck(a,b),Dk(a,B()),c;if(6===c)throw Error(p(345));a.finishedWork=a.current.alternate;a.finishedLanes=b;Pk(a,tk,uk);Dk(a,B());return null}\nfunction Qk(a,b){var c=K;K|=1;try{return a(b)}finally{K=c,0===K&&(Gj=B()+500,fg&&jg())}}function Rk(a){null!==wk&&0===wk.tag&&0===(K&6)&&Hk();var b=K;K|=1;var c=ok.transition,d=C;try{if(ok.transition=null,C=1,a)return a()}finally{C=d,ok.transition=c,K=b,0===(K&6)&&jg()}}function Hj(){fj=ej.current;E(ej)}\nfunction Kk(a,b){a.finishedWork=null;a.finishedLanes=0;var c=a.timeoutHandle;-1!==c&&(a.timeoutHandle=-1,Gf(c));if(null!==Y)for(c=Y.return;null!==c;){var d=c;wg(d);switch(d.tag){case 1:d=d.type.childContextTypes;null!==d&&void 0!==d&&$f();break;case 3:zh();E(Wf);E(H);Eh();break;case 5:Bh(d);break;case 4:zh();break;case 13:E(L);break;case 19:E(L);break;case 10:ah(d.type._context);break;case 22:case 23:Hj()}c=c.return}Q=a;Y=a=Pg(a.current,null);Z=fj=b;T=0;pk=null;rk=qk=rh=0;tk=sk=null;if(null!==fh){for(b=\n0;b<fh.length;b++)if(c=fh[b],d=c.interleaved,null!==d){c.interleaved=null;var e=d.next,f=c.pending;if(null!==f){var g=f.next;f.next=e;d.next=g}c.pending=d}fh=null}return a}\nfunction Mk(a,b){do{var c=Y;try{$g();Fh.current=Rh;if(Ih){for(var d=M.memoizedState;null!==d;){var e=d.queue;null!==e&&(e.pending=null);d=d.next}Ih=!1}Hh=0;O=N=M=null;Jh=!1;Kh=0;nk.current=null;if(null===c||null===c.return){T=1;pk=b;Y=null;break}a:{var f=a,g=c.return,h=c,k=b;b=Z;h.flags|=32768;if(null!==k&&\"object\"===typeof k&&\"function\"===typeof k.then){var l=k,m=h,q=m.tag;if(0===(m.mode&1)&&(0===q||11===q||15===q)){var r=m.alternate;r?(m.updateQueue=r.updateQueue,m.memoizedState=r.memoizedState,\nm.lanes=r.lanes):(m.updateQueue=null,m.memoizedState=null)}var y=Ui(g);if(null!==y){y.flags&=-257;Vi(y,g,h,f,b);y.mode&1&&Si(f,l,b);b=y;k=l;var n=b.updateQueue;if(null===n){var t=new Set;t.add(k);b.updateQueue=t}else n.add(k);break a}else{if(0===(b&1)){Si(f,l,b);tj();break a}k=Error(p(426))}}else if(I&&h.mode&1){var J=Ui(g);if(null!==J){0===(J.flags&65536)&&(J.flags|=256);Vi(J,g,h,f,b);Jg(Ji(k,h));break a}}f=k=Ji(k,h);4!==T&&(T=2);null===sk?sk=[f]:sk.push(f);f=g;do{switch(f.tag){case 3:f.flags|=65536;\nb&=-b;f.lanes|=b;var x=Ni(f,k,b);ph(f,x);break a;case 1:h=k;var w=f.type,u=f.stateNode;if(0===(f.flags&128)&&(\"function\"===typeof w.getDerivedStateFromError||null!==u&&\"function\"===typeof u.componentDidCatch&&(null===Ri||!Ri.has(u)))){f.flags|=65536;b&=-b;f.lanes|=b;var F=Qi(f,h,b);ph(f,F);break a}}f=f.return}while(null!==f)}Sk(c)}catch(na){b=na;Y===c&&null!==c&&(Y=c=c.return);continue}break}while(1)}function Jk(){var a=mk.current;mk.current=Rh;return null===a?Rh:a}\nfunction tj(){if(0===T||3===T||2===T)T=4;null===Q||0===(rh&268435455)&&0===(qk&268435455)||Ck(Q,Z)}function Ik(a,b){var c=K;K|=2;var d=Jk();if(Q!==a||Z!==b)uk=null,Kk(a,b);do try{Tk();break}catch(e){Mk(a,e)}while(1);$g();K=c;mk.current=d;if(null!==Y)throw Error(p(261));Q=null;Z=0;return T}function Tk(){for(;null!==Y;)Uk(Y)}function Lk(){for(;null!==Y&&!cc();)Uk(Y)}function Uk(a){var b=Vk(a.alternate,a,fj);a.memoizedProps=a.pendingProps;null===b?Sk(a):Y=b;nk.current=null}\nfunction Sk(a){var b=a;do{var c=b.alternate;a=b.return;if(0===(b.flags&32768)){if(c=Ej(c,b,fj),null!==c){Y=c;return}}else{c=Ij(c,b);if(null!==c){c.flags&=32767;Y=c;return}if(null!==a)a.flags|=32768,a.subtreeFlags=0,a.deletions=null;else{T=6;Y=null;return}}b=b.sibling;if(null!==b){Y=b;return}Y=b=a}while(null!==b);0===T&&(T=5)}function Pk(a,b,c){var d=C,e=ok.transition;try{ok.transition=null,C=1,Wk(a,b,c,d)}finally{ok.transition=e,C=d}return null}\nfunction Wk(a,b,c,d){do Hk();while(null!==wk);if(0!==(K&6))throw Error(p(327));c=a.finishedWork;var e=a.finishedLanes;if(null===c)return null;a.finishedWork=null;a.finishedLanes=0;if(c===a.current)throw Error(p(177));a.callbackNode=null;a.callbackPriority=0;var f=c.lanes|c.childLanes;Bc(a,f);a===Q&&(Y=Q=null,Z=0);0===(c.subtreeFlags&2064)&&0===(c.flags&2064)||vk||(vk=!0,Fk(hc,function(){Hk();return null}));f=0!==(c.flags&15990);if(0!==(c.subtreeFlags&15990)||f){f=ok.transition;ok.transition=null;\nvar g=C;C=1;var h=K;K|=4;nk.current=null;Oj(a,c);dk(c,a);Oe(Df);dd=!!Cf;Df=Cf=null;a.current=c;hk(c,a,e);dc();K=h;C=g;ok.transition=f}else a.current=c;vk&&(vk=!1,wk=a,xk=e);f=a.pendingLanes;0===f&&(Ri=null);mc(c.stateNode,d);Dk(a,B());if(null!==b)for(d=a.onRecoverableError,c=0;c<b.length;c++)e=b[c],d(e.value,{componentStack:e.stack,digest:e.digest});if(Oi)throw Oi=!1,a=Pi,Pi=null,a;0!==(xk&1)&&0!==a.tag&&Hk();f=a.pendingLanes;0!==(f&1)?a===zk?yk++:(yk=0,zk=a):yk=0;jg();return null}\nfunction Hk(){if(null!==wk){var a=Dc(xk),b=ok.transition,c=C;try{ok.transition=null;C=16>a?16:a;if(null===wk)var d=!1;else{a=wk;wk=null;xk=0;if(0!==(K&6))throw Error(p(331));var e=K;K|=4;for(V=a.current;null!==V;){var f=V,g=f.child;if(0!==(V.flags&16)){var h=f.deletions;if(null!==h){for(var k=0;k<h.length;k++){var l=h[k];for(V=l;null!==V;){var m=V;switch(m.tag){case 0:case 11:case 15:Pj(8,m,f)}var q=m.child;if(null!==q)q.return=m,V=q;else for(;null!==V;){m=V;var r=m.sibling,y=m.return;Sj(m);if(m===\nl){V=null;break}if(null!==r){r.return=y;V=r;break}V=y}}}var n=f.alternate;if(null!==n){var t=n.child;if(null!==t){n.child=null;do{var J=t.sibling;t.sibling=null;t=J}while(null!==t)}}V=f}}if(0!==(f.subtreeFlags&2064)&&null!==g)g.return=f,V=g;else b:for(;null!==V;){f=V;if(0!==(f.flags&2048))switch(f.tag){case 0:case 11:case 15:Pj(9,f,f.return)}var x=f.sibling;if(null!==x){x.return=f.return;V=x;break b}V=f.return}}var w=a.current;for(V=w;null!==V;){g=V;var u=g.child;if(0!==(g.subtreeFlags&2064)&&null!==\nu)u.return=g,V=u;else b:for(g=w;null!==V;){h=V;if(0!==(h.flags&2048))try{switch(h.tag){case 0:case 11:case 15:Qj(9,h)}}catch(na){W(h,h.return,na)}if(h===g){V=null;break b}var F=h.sibling;if(null!==F){F.return=h.return;V=F;break b}V=h.return}}K=e;jg();if(lc&&\"function\"===typeof lc.onPostCommitFiberRoot)try{lc.onPostCommitFiberRoot(kc,a)}catch(na){}d=!0}return d}finally{C=c,ok.transition=b}}return!1}function Xk(a,b,c){b=Ji(c,b);b=Ni(a,b,1);a=nh(a,b,1);b=R();null!==a&&(Ac(a,1,b),Dk(a,b))}\nfunction W(a,b,c){if(3===a.tag)Xk(a,a,c);else for(;null!==b;){if(3===b.tag){Xk(b,a,c);break}else if(1===b.tag){var d=b.stateNode;if(\"function\"===typeof b.type.getDerivedStateFromError||\"function\"===typeof d.componentDidCatch&&(null===Ri||!Ri.has(d))){a=Ji(c,a);a=Qi(b,a,1);b=nh(b,a,1);a=R();null!==b&&(Ac(b,1,a),Dk(b,a));break}}b=b.return}}\nfunction Ti(a,b,c){var d=a.pingCache;null!==d&&d.delete(b);b=R();a.pingedLanes|=a.suspendedLanes&c;Q===a&&(Z&c)===c&&(4===T||3===T&&(Z&130023424)===Z&&500>B()-fk?Kk(a,0):rk|=c);Dk(a,b)}function Yk(a,b){0===b&&(0===(a.mode&1)?b=1:(b=sc,sc<<=1,0===(sc&130023424)&&(sc=4194304)));var c=R();a=ih(a,b);null!==a&&(Ac(a,b,c),Dk(a,c))}function uj(a){var b=a.memoizedState,c=0;null!==b&&(c=b.retryLane);Yk(a,c)}\nfunction bk(a,b){var c=0;switch(a.tag){case 13:var d=a.stateNode;var e=a.memoizedState;null!==e&&(c=e.retryLane);break;case 19:d=a.stateNode;break;default:throw Error(p(314));}null!==d&&d.delete(b);Yk(a,c)}var Vk;\nVk=function(a,b,c){if(null!==a)if(a.memoizedProps!==b.pendingProps||Wf.current)dh=!0;else{if(0===(a.lanes&c)&&0===(b.flags&128))return dh=!1,yj(a,b,c);dh=0!==(a.flags&131072)?!0:!1}else dh=!1,I&&0!==(b.flags&1048576)&&ug(b,ng,b.index);b.lanes=0;switch(b.tag){case 2:var d=b.type;ij(a,b);a=b.pendingProps;var e=Yf(b,H.current);ch(b,c);e=Nh(null,b,d,a,e,c);var f=Sh();b.flags|=1;\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof?(b.tag=1,b.memoizedState=null,b.updateQueue=\nnull,Zf(d)?(f=!0,cg(b)):f=!1,b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null,kh(b),e.updater=Ei,b.stateNode=e,e._reactInternals=b,Ii(b,d,a,c),b=jj(null,b,d,!0,f,c)):(b.tag=0,I&&f&&vg(b),Xi(null,b,e,c),b=b.child);return b;case 16:d=b.elementType;a:{ij(a,b);a=b.pendingProps;e=d._init;d=e(d._payload);b.type=d;e=b.tag=Zk(d);a=Ci(d,a);switch(e){case 0:b=cj(null,b,d,a,c);break a;case 1:b=hj(null,b,d,a,c);break a;case 11:b=Yi(null,b,d,a,c);break a;case 14:b=$i(null,b,d,Ci(d.type,a),c);break a}throw Error(p(306,\nd,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),cj(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),hj(a,b,d,e,c);case 3:a:{kj(b);if(null===a)throw Error(p(387));d=b.pendingProps;f=b.memoizedState;e=f.element;lh(a,b);qh(b,d,null,c);var g=b.memoizedState;d=g.element;if(f.isDehydrated)if(f={element:d,isDehydrated:!1,cache:g.cache,pendingSuspenseBoundaries:g.pendingSuspenseBoundaries,transitions:g.transitions},b.updateQueue.baseState=\nf,b.memoizedState=f,b.flags&256){e=Ji(Error(p(423)),b);b=lj(a,b,d,c,e);break a}else if(d!==e){e=Ji(Error(p(424)),b);b=lj(a,b,d,c,e);break a}else for(yg=Lf(b.stateNode.containerInfo.firstChild),xg=b,I=!0,zg=null,c=Vg(b,null,d,c),b.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{Ig();if(d===e){b=Zi(a,b,c);break a}Xi(a,b,d,c)}b=b.child}return b;case 5:return Ah(b),null===a&&Eg(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,Ef(d,e)?g=null:null!==f&&Ef(d,f)&&(b.flags|=32),\ngj(a,b),Xi(a,b,g,c),b.child;case 6:return null===a&&Eg(b),null;case 13:return oj(a,b,c);case 4:return yh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Ug(b,null,d,c):Xi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),Yi(a,b,d,e,c);case 7:return Xi(a,b,b.pendingProps,c),b.child;case 8:return Xi(a,b,b.pendingProps.children,c),b.child;case 12:return Xi(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;f=b.memoizedProps;\ng=e.value;G(Wg,d._currentValue);d._currentValue=g;if(null!==f)if(He(f.value,g)){if(f.children===e.children&&!Wf.current){b=Zi(a,b,c);break a}}else for(f=b.child,null!==f&&(f.return=b);null!==f;){var h=f.dependencies;if(null!==h){g=f.child;for(var k=h.firstContext;null!==k;){if(k.context===d){if(1===f.tag){k=mh(-1,c&-c);k.tag=2;var l=f.updateQueue;if(null!==l){l=l.shared;var m=l.pending;null===m?k.next=k:(k.next=m.next,m.next=k);l.pending=k}}f.lanes|=c;k=f.alternate;null!==k&&(k.lanes|=c);bh(f.return,\nc,b);h.lanes|=c;break}k=k.next}}else if(10===f.tag)g=f.type===b.type?null:f.child;else if(18===f.tag){g=f.return;if(null===g)throw Error(p(341));g.lanes|=c;h=g.alternate;null!==h&&(h.lanes|=c);bh(g,c,b);g=f.sibling}else g=f.child;if(null!==g)g.return=f;else for(g=f;null!==g;){if(g===b){g=null;break}f=g.sibling;if(null!==f){f.return=g.return;g=f;break}g=g.return}f=g}Xi(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,d=b.pendingProps.children,ch(b,c),e=eh(e),d=d(e),b.flags|=1,Xi(a,b,d,c),\nb.child;case 14:return d=b.type,e=Ci(d,b.pendingProps),e=Ci(d.type,e),$i(a,b,d,e,c);case 15:return bj(a,b,b.type,b.pendingProps,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),ij(a,b),b.tag=1,Zf(d)?(a=!0,cg(b)):a=!1,ch(b,c),Gi(b,d,e),Ii(b,d,e,c),jj(null,b,d,!0,a,c);case 19:return xj(a,b,c);case 22:return dj(a,b,c)}throw Error(p(156,b.tag));};function Fk(a,b){return ac(a,b)}\nfunction $k(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.subtreeFlags=this.flags=0;this.deletions=null;this.childLanes=this.lanes=0;this.alternate=null}function Bg(a,b,c,d){return new $k(a,b,c,d)}function aj(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction Zk(a){if(\"function\"===typeof a)return aj(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Da)return 11;if(a===Ga)return 14}return 2}\nfunction Pg(a,b){var c=a.alternate;null===c?(c=Bg(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.subtreeFlags=0,c.deletions=null);c.flags=a.flags&14680064;c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction Rg(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)aj(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ya:return Tg(c.children,e,f,b);case za:g=8;e|=8;break;case Aa:return a=Bg(12,c,b,e|2),a.elementType=Aa,a.lanes=f,a;case Ea:return a=Bg(13,c,b,e),a.elementType=Ea,a.lanes=f,a;case Fa:return a=Bg(19,c,b,e),a.elementType=Fa,a.lanes=f,a;case Ia:return pj(c,e,f,b);default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case Ba:g=10;break a;case Ca:g=9;break a;case Da:g=11;\nbreak a;case Ga:g=14;break a;case Ha:g=16;d=null;break a}throw Error(p(130,null==a?a:typeof a,\"\"));}b=Bg(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function Tg(a,b,c,d){a=Bg(7,a,d,b);a.lanes=c;return a}function pj(a,b,c,d){a=Bg(22,a,d,b);a.elementType=Ia;a.lanes=c;a.stateNode={isHidden:!1};return a}function Qg(a,b,c){a=Bg(6,a,null,b);a.lanes=c;return a}\nfunction Sg(a,b,c){b=Bg(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction al(a,b,c,d,e){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.callbackNode=this.pendingContext=this.context=null;this.callbackPriority=0;this.eventTimes=zc(0);this.expirationTimes=zc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=zc(0);this.identifierPrefix=d;this.onRecoverableError=e;this.mutableSourceEagerHydrationData=\nnull}function bl(a,b,c,d,e,f,g,h,k){a=new al(a,b,c,h,k);1===b?(b=1,!0===f&&(b|=8)):b=0;f=Bg(3,null,null,b);a.current=f;f.stateNode=a;f.memoizedState={element:d,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null};kh(f);return a}function cl(a,b,c){var d=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:wa,key:null==d?null:\"\"+d,children:a,containerInfo:b,implementation:c}}\nfunction dl(a){if(!a)return Vf;a=a._reactInternals;a:{if(Vb(a)!==a||1!==a.tag)throw Error(p(170));var b=a;do{switch(b.tag){case 3:b=b.stateNode.context;break a;case 1:if(Zf(b.type)){b=b.stateNode.__reactInternalMemoizedMergedChildContext;break a}}b=b.return}while(null!==b);throw Error(p(171));}if(1===a.tag){var c=a.type;if(Zf(c))return bg(a,c,b)}return b}\nfunction el(a,b,c,d,e,f,g,h,k){a=bl(c,d,!0,a,e,f,g,h,k);a.context=dl(null);c=a.current;d=R();e=yi(c);f=mh(d,e);f.callback=void 0!==b&&null!==b?b:null;nh(c,f,e);a.current.lanes=e;Ac(a,e,d);Dk(a,d);return a}function fl(a,b,c,d){var e=b.current,f=R(),g=yi(e);c=dl(c);null===b.context?b.context=c:b.pendingContext=c;b=mh(f,g);b.payload={element:a};d=void 0===d?null:d;null!==d&&(b.callback=d);a=nh(e,b,g);null!==a&&(gi(a,e,g,f),oh(a,e,g));return g}\nfunction gl(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function hl(a,b){a=a.memoizedState;if(null!==a&&null!==a.dehydrated){var c=a.retryLane;a.retryLane=0!==c&&c<b?c:b}}function il(a,b){hl(a,b);(a=a.alternate)&&hl(a,b)}function jl(){return null}var kl=\"function\"===typeof reportError?reportError:function(a){console.error(a)};function ll(a){this._internalRoot=a}\nml.prototype.render=ll.prototype.render=function(a){var b=this._internalRoot;if(null===b)throw Error(p(409));fl(a,b,null,null)};ml.prototype.unmount=ll.prototype.unmount=function(){var a=this._internalRoot;if(null!==a){this._internalRoot=null;var b=a.containerInfo;Rk(function(){fl(null,a,null,null)});b[uf]=null}};function ml(a){this._internalRoot=a}\nml.prototype.unstable_scheduleHydration=function(a){if(a){var b=Hc();a={blockedOn:null,target:a,priority:b};for(var c=0;c<Qc.length&&0!==b&&b<Qc[c].priority;c++);Qc.splice(c,0,a);0===c&&Vc(a)}};function nl(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType)}function ol(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType&&(8!==a.nodeType||\" react-mount-point-unstable \"!==a.nodeValue))}function pl(){}\nfunction ql(a,b,c,d,e){if(e){if(\"function\"===typeof d){var f=d;d=function(){var a=gl(g);f.call(a)}}var g=el(b,d,a,0,null,!1,!1,\"\",pl);a._reactRootContainer=g;a[uf]=g.current;sf(8===a.nodeType?a.parentNode:a);Rk();return g}for(;e=a.lastChild;)a.removeChild(e);if(\"function\"===typeof d){var h=d;d=function(){var a=gl(k);h.call(a)}}var k=bl(a,0,!1,null,null,!1,!1,\"\",pl);a._reactRootContainer=k;a[uf]=k.current;sf(8===a.nodeType?a.parentNode:a);Rk(function(){fl(b,k,c,d)});return k}\nfunction rl(a,b,c,d,e){var f=c._reactRootContainer;if(f){var g=f;if(\"function\"===typeof e){var h=e;e=function(){var a=gl(g);h.call(a)}}fl(b,g,a,e)}else g=ql(c,b,a,e,d);return gl(g)}Ec=function(a){switch(a.tag){case 3:var b=a.stateNode;if(b.current.memoizedState.isDehydrated){var c=tc(b.pendingLanes);0!==c&&(Cc(b,c|1),Dk(b,B()),0===(K&6)&&(Gj=B()+500,jg()))}break;case 13:Rk(function(){var b=ih(a,1);if(null!==b){var c=R();gi(b,a,1,c)}}),il(a,1)}};\nFc=function(a){if(13===a.tag){var b=ih(a,134217728);if(null!==b){var c=R();gi(b,a,134217728,c)}il(a,134217728)}};Gc=function(a){if(13===a.tag){var b=yi(a),c=ih(a,b);if(null!==c){var d=R();gi(c,a,b,d)}il(a,b)}};Hc=function(){return C};Ic=function(a,b){var c=C;try{return C=a,b()}finally{C=c}};\nyb=function(a,b,c){switch(b){case \"input\":bb(a,c);b=c.name;if(\"radio\"===c.type&&null!=b){for(c=a;c.parentNode;)c=c.parentNode;c=c.querySelectorAll(\"input[name=\"+JSON.stringify(\"\"+b)+'][type=\"radio\"]');for(b=0;b<c.length;b++){var d=c[b];if(d!==a&&d.form===a.form){var e=Db(d);if(!e)throw Error(p(90));Wa(d);bb(d,e)}}}break;case \"textarea\":ib(a,c);break;case \"select\":b=c.value,null!=b&&fb(a,!!c.multiple,b,!1)}};Gb=Qk;Hb=Rk;\nvar sl={usingClientEntryPoint:!1,Events:[Cb,ue,Db,Eb,Fb,Qk]},tl={findFiberByHostInstance:Wc,bundleType:0,version:\"18.3.1\",rendererPackageName:\"react-dom\"};\nvar ul={bundleType:tl.bundleType,version:tl.version,rendererPackageName:tl.rendererPackageName,rendererConfig:tl.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:ua.ReactCurrentDispatcher,findHostInstanceByFiber:function(a){a=Zb(a);return null===a?null:a.stateNode},findFiberByHostInstance:tl.findFiberByHostInstance||\njl,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:\"18.3.1-next-f1338f8080-20240426\"};if(\"undefined\"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var vl=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!vl.isDisabled&&vl.supportsFiber)try{kc=vl.inject(ul),lc=vl}catch(a){}}exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=sl;\nexports.createPortal=function(a,b){var c=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!nl(b))throw Error(p(200));return cl(a,b,null,c)};exports.createRoot=function(a,b){if(!nl(a))throw Error(p(299));var c=!1,d=\"\",e=kl;null!==b&&void 0!==b&&(!0===b.unstable_strictMode&&(c=!0),void 0!==b.identifierPrefix&&(d=b.identifierPrefix),void 0!==b.onRecoverableError&&(e=b.onRecoverableError));b=bl(a,1,!1,null,null,c,!1,d,e);a[uf]=b.current;sf(8===a.nodeType?a.parentNode:a);return new ll(b)};\nexports.findDOMNode=function(a){if(null==a)return null;if(1===a.nodeType)return a;var b=a._reactInternals;if(void 0===b){if(\"function\"===typeof a.render)throw Error(p(188));a=Object.keys(a).join(\",\");throw Error(p(268,a));}a=Zb(b);a=null===a?null:a.stateNode;return a};exports.flushSync=function(a){return Rk(a)};exports.hydrate=function(a,b,c){if(!ol(b))throw Error(p(200));return rl(null,a,b,!0,c)};\nexports.hydrateRoot=function(a,b,c){if(!nl(a))throw Error(p(405));var d=null!=c&&c.hydratedSources||null,e=!1,f=\"\",g=kl;null!==c&&void 0!==c&&(!0===c.unstable_strictMode&&(e=!0),void 0!==c.identifierPrefix&&(f=c.identifierPrefix),void 0!==c.onRecoverableError&&(g=c.onRecoverableError));b=el(b,null,a,1,null!=c?c:null,e,!1,f,g);a[uf]=b.current;sf(a);if(d)for(a=0;a<d.length;a++)c=d[a],e=c._getVersion,e=e(c._source),null==b.mutableSourceEagerHydrationData?b.mutableSourceEagerHydrationData=[c,e]:b.mutableSourceEagerHydrationData.push(c,\ne);return new ml(b)};exports.render=function(a,b,c){if(!ol(b))throw Error(p(200));return rl(null,a,b,!1,c)};exports.unmountComponentAtNode=function(a){if(!ol(a))throw Error(p(40));return a._reactRootContainer?(Rk(function(){rl(null,null,a,!1,function(){a._reactRootContainer=null;a[uf]=null})}),!0):!1};exports.unstable_batchedUpdates=Qk;\nexports.unstable_renderSubtreeIntoContainer=function(a,b,c,d){if(!ol(c))throw Error(p(200));if(null==a||void 0===a._reactInternals)throw Error(p(38));return rl(a,b,c,!1,d)};exports.version=\"18.3.1-next-f1338f8080-20240426\";\n","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n","'use strict';\n\nvar m = require('react-dom');\nif (process.env.NODE_ENV === 'production') {\n exports.createRoot = m.createRoot;\n exports.hydrateRoot = m.hydrateRoot;\n} else {\n var i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n exports.createRoot = function(c, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.createRoot(c, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n exports.hydrateRoot = function(c, h, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.hydrateRoot(c, h, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n}\n","import { createContext } from 'react';\n\nimport { AuthProvider } from '../types';\n\nexport const AuthContext = createContext<AuthProvider | undefined>(undefined);\n\nAuthContext.displayName = 'AuthContext';\n","import { useContext } from 'react';\n\nimport { AuthProvider } from '../types';\nimport { AuthContext } from './AuthContext';\n\nexport const defaultAuthParams = {\n loginUrl: '/login',\n afterLoginUrl: '/',\n};\n\n/**\n * Get the authProvider stored in the context\n */\nconst useAuthProvider = <\n AuthProviderType extends AuthProvider = AuthProvider,\n>(): AuthProviderType | undefined =>\n useContext(AuthContext) as AuthProviderType | undefined;\n\nexport default useAuthProvider;\n","// src/subscribable.ts\nvar Subscribable = class {\n constructor() {\n this.listeners = /* @__PURE__ */ new Set();\n this.subscribe = this.subscribe.bind(this);\n }\n subscribe(listener) {\n this.listeners.add(listener);\n this.onSubscribe();\n return () => {\n this.listeners.delete(listener);\n this.onUnsubscribe();\n };\n }\n hasListeners() {\n return this.listeners.size > 0;\n }\n onSubscribe() {\n }\n onUnsubscribe() {\n }\n};\nexport {\n Subscribable\n};\n//# sourceMappingURL=subscribable.js.map","// src/utils.ts\nvar isServer = typeof window === \"undefined\" || \"Deno\" in window;\nfunction noop() {\n return void 0;\n}\nfunction functionalUpdate(updater, input) {\n return typeof updater === \"function\" ? updater(input) : updater;\n}\nfunction isValidTimeout(value) {\n return typeof value === \"number\" && value >= 0 && value !== Infinity;\n}\nfunction timeUntilStale(updatedAt, staleTime) {\n return Math.max(updatedAt + (staleTime || 0) - Date.now(), 0);\n}\nfunction matchQuery(filters, query) {\n const {\n type = \"all\",\n exact,\n fetchStatus,\n predicate,\n queryKey,\n stale\n } = filters;\n if (queryKey) {\n if (exact) {\n if (query.queryHash !== hashQueryKeyByOptions(queryKey, query.options)) {\n return false;\n }\n } else if (!partialMatchKey(query.queryKey, queryKey)) {\n return false;\n }\n }\n if (type !== \"all\") {\n const isActive = query.isActive();\n if (type === \"active\" && !isActive) {\n return false;\n }\n if (type === \"inactive\" && isActive) {\n return false;\n }\n }\n if (typeof stale === \"boolean\" && query.isStale() !== stale) {\n return false;\n }\n if (typeof fetchStatus !== \"undefined\" && fetchStatus !== query.state.fetchStatus) {\n return false;\n }\n if (predicate && !predicate(query)) {\n return false;\n }\n return true;\n}\nfunction matchMutation(filters, mutation) {\n const { exact, status, predicate, mutationKey } = filters;\n if (mutationKey) {\n if (!mutation.options.mutationKey) {\n return false;\n }\n if (exact) {\n if (hashKey(mutation.options.mutationKey) !== hashKey(mutationKey)) {\n return false;\n }\n } else if (!partialMatchKey(mutation.options.mutationKey, mutationKey)) {\n return false;\n }\n }\n if (status && mutation.state.status !== status) {\n return false;\n }\n if (predicate && !predicate(mutation)) {\n return false;\n }\n return true;\n}\nfunction hashQueryKeyByOptions(queryKey, options) {\n const hashFn = options?.queryKeyHashFn || hashKey;\n return hashFn(queryKey);\n}\nfunction hashKey(queryKey) {\n return JSON.stringify(\n queryKey,\n (_, val) => isPlainObject(val) ? Object.keys(val).sort().reduce((result, key) => {\n result[key] = val[key];\n return result;\n }, {}) : val\n );\n}\nfunction partialMatchKey(a, b) {\n if (a === b) {\n return true;\n }\n if (typeof a !== typeof b) {\n return false;\n }\n if (a && b && typeof a === \"object\" && typeof b === \"object\") {\n return !Object.keys(b).some((key) => !partialMatchKey(a[key], b[key]));\n }\n return false;\n}\nfunction replaceEqualDeep(a, b) {\n if (a === b) {\n return a;\n }\n const array = isPlainArray(a) && isPlainArray(b);\n if (array || isPlainObject(a) && isPlainObject(b)) {\n const aSize = array ? a.length : Object.keys(a).length;\n const bItems = array ? b : Object.keys(b);\n const bSize = bItems.length;\n const copy = array ? [] : {};\n let equalItems = 0;\n for (let i = 0; i < bSize; i++) {\n const key = array ? i : bItems[i];\n copy[key] = replaceEqualDeep(a[key], b[key]);\n if (copy[key] === a[key]) {\n equalItems++;\n }\n }\n return aSize === bSize && equalItems === aSize ? a : copy;\n }\n return b;\n}\nfunction shallowEqualObjects(a, b) {\n if (a && !b || b && !a) {\n return false;\n }\n for (const key in a) {\n if (a[key] !== b[key]) {\n return false;\n }\n }\n return true;\n}\nfunction isPlainArray(value) {\n return Array.isArray(value) && value.length === Object.keys(value).length;\n}\nfunction isPlainObject(o) {\n if (!hasObjectPrototype(o)) {\n return false;\n }\n const ctor = o.constructor;\n if (typeof ctor === \"undefined\") {\n return true;\n }\n const prot = ctor.prototype;\n if (!hasObjectPrototype(prot)) {\n return false;\n }\n if (!prot.hasOwnProperty(\"isPrototypeOf\")) {\n return false;\n }\n return true;\n}\nfunction hasObjectPrototype(o) {\n return Object.prototype.toString.call(o) === \"[object Object]\";\n}\nfunction sleep(ms) {\n return new Promise((resolve) => {\n setTimeout(resolve, ms);\n });\n}\nfunction scheduleMicrotask(callback) {\n sleep(0).then(callback);\n}\nfunction replaceData(prevData, data, options) {\n if (typeof options.structuralSharing === \"function\") {\n return options.structuralSharing(prevData, data);\n } else if (options.structuralSharing !== false) {\n return replaceEqualDeep(prevData, data);\n }\n return data;\n}\nfunction keepPreviousData(previousData) {\n return previousData;\n}\nfunction addToEnd(items, item, max = 0) {\n const newItems = [...items, item];\n return max && newItems.length > max ? newItems.slice(1) : newItems;\n}\nfunction addToStart(items, item, max = 0) {\n const newItems = [item, ...items];\n return max && newItems.length > max ? newItems.slice(0, -1) : newItems;\n}\nexport {\n addToEnd,\n addToStart,\n functionalUpdate,\n hashKey,\n hashQueryKeyByOptions,\n isPlainArray,\n isPlainObject,\n isServer,\n isValidTimeout,\n keepPreviousData,\n matchMutation,\n matchQuery,\n noop,\n partialMatchKey,\n replaceData,\n replaceEqualDeep,\n scheduleMicrotask,\n shallowEqualObjects,\n sleep,\n timeUntilStale\n};\n//# sourceMappingURL=utils.js.map","// src/focusManager.ts\nimport { Subscribable } from \"./subscribable.js\";\nimport { isServer } from \"./utils.js\";\nvar FocusManager = class extends Subscribable {\n #focused;\n #cleanup;\n #setup;\n constructor() {\n super();\n this.#setup = (onFocus) => {\n if (!isServer && window.addEventListener) {\n const listener = () => onFocus();\n window.addEventListener(\"visibilitychange\", listener, false);\n return () => {\n window.removeEventListener(\"visibilitychange\", listener);\n };\n }\n return;\n };\n }\n onSubscribe() {\n if (!this.#cleanup) {\n this.setEventListener(this.#setup);\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#cleanup?.();\n this.#cleanup = void 0;\n }\n }\n setEventListener(setup) {\n this.#setup = setup;\n this.#cleanup?.();\n this.#cleanup = setup((focused) => {\n if (typeof focused === \"boolean\") {\n this.setFocused(focused);\n } else {\n this.onFocus();\n }\n });\n }\n setFocused(focused) {\n const changed = this.#focused !== focused;\n if (changed) {\n this.#focused = focused;\n this.onFocus();\n }\n }\n onFocus() {\n this.listeners.forEach((listener) => {\n listener();\n });\n }\n isFocused() {\n if (typeof this.#focused === \"boolean\") {\n return this.#focused;\n }\n return globalThis.document?.visibilityState !== \"hidden\";\n }\n};\nvar focusManager = new FocusManager();\nexport {\n FocusManager,\n focusManager\n};\n//# sourceMappingURL=focusManager.js.map","// src/onlineManager.ts\nimport { Subscribable } from \"./subscribable.js\";\nimport { isServer } from \"./utils.js\";\nvar OnlineManager = class extends Subscribable {\n #online = true;\n #cleanup;\n #setup;\n constructor() {\n super();\n this.#setup = (onOnline) => {\n if (!isServer && window.addEventListener) {\n const onlineListener = () => onOnline(true);\n const offlineListener = () => onOnline(false);\n window.addEventListener(\"online\", onlineListener, false);\n window.addEventListener(\"offline\", offlineListener, false);\n return () => {\n window.removeEventListener(\"online\", onlineListener);\n window.removeEventListener(\"offline\", offlineListener);\n };\n }\n return;\n };\n }\n onSubscribe() {\n if (!this.#cleanup) {\n this.setEventListener(this.#setup);\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#cleanup?.();\n this.#cleanup = void 0;\n }\n }\n setEventListener(setup) {\n this.#setup = setup;\n this.#cleanup?.();\n this.#cleanup = setup(this.setOnline.bind(this));\n }\n setOnline(online) {\n const changed = this.#online !== online;\n if (changed) {\n this.#online = online;\n this.listeners.forEach((listener) => {\n listener(online);\n });\n }\n }\n isOnline() {\n return this.#online;\n }\n};\nvar onlineManager = new OnlineManager();\nexport {\n OnlineManager,\n onlineManager\n};\n//# sourceMappingURL=onlineManager.js.map","// src/retryer.ts\nimport { focusManager } from \"./focusManager.js\";\nimport { onlineManager } from \"./onlineManager.js\";\nimport { isServer, sleep } from \"./utils.js\";\nfunction defaultRetryDelay(failureCount) {\n return Math.min(1e3 * 2 ** failureCount, 3e4);\n}\nfunction canFetch(networkMode) {\n return (networkMode ?? \"online\") === \"online\" ? onlineManager.isOnline() : true;\n}\nvar CancelledError = class {\n constructor(options) {\n this.revert = options?.revert;\n this.silent = options?.silent;\n }\n};\nfunction isCancelledError(value) {\n return value instanceof CancelledError;\n}\nfunction createRetryer(config) {\n let isRetryCancelled = false;\n let failureCount = 0;\n let isResolved = false;\n let continueFn;\n let promiseResolve;\n let promiseReject;\n const promise = new Promise((outerResolve, outerReject) => {\n promiseResolve = outerResolve;\n promiseReject = outerReject;\n });\n const cancel = (cancelOptions) => {\n if (!isResolved) {\n reject(new CancelledError(cancelOptions));\n config.abort?.();\n }\n };\n const cancelRetry = () => {\n isRetryCancelled = true;\n };\n const continueRetry = () => {\n isRetryCancelled = false;\n };\n const shouldPause = () => !focusManager.isFocused() || config.networkMode !== \"always\" && !onlineManager.isOnline();\n const resolve = (value) => {\n if (!isResolved) {\n isResolved = true;\n config.onSuccess?.(value);\n continueFn?.();\n promiseResolve(value);\n }\n };\n const reject = (value) => {\n if (!isResolved) {\n isResolved = true;\n config.onError?.(value);\n continueFn?.();\n promiseReject(value);\n }\n };\n const pause = () => {\n return new Promise((continueResolve) => {\n continueFn = (value) => {\n const canContinue = isResolved || !shouldPause();\n if (canContinue) {\n continueResolve(value);\n }\n return canContinue;\n };\n config.onPause?.();\n }).then(() => {\n continueFn = void 0;\n if (!isResolved) {\n config.onContinue?.();\n }\n });\n };\n const run = () => {\n if (isResolved) {\n return;\n }\n let promiseOrValue;\n try {\n promiseOrValue = config.fn();\n } catch (error) {\n promiseOrValue = Promise.reject(error);\n }\n Promise.resolve(promiseOrValue).then(resolve).catch((error) => {\n if (isResolved) {\n return;\n }\n const retry = config.retry ?? (isServer ? 0 : 3);\n const retryDelay = config.retryDelay ?? defaultRetryDelay;\n const delay = typeof retryDelay === \"function\" ? retryDelay(failureCount, error) : retryDelay;\n const shouldRetry = retry === true || typeof retry === \"number\" && failureCount < retry || typeof retry === \"function\" && retry(failureCount, error);\n if (isRetryCancelled || !shouldRetry) {\n reject(error);\n return;\n }\n failureCount++;\n config.onFail?.(failureCount, error);\n sleep(delay).then(() => {\n if (shouldPause()) {\n return pause();\n }\n return;\n }).then(() => {\n if (isRetryCancelled) {\n reject(error);\n } else {\n run();\n }\n });\n });\n };\n if (canFetch(config.networkMode)) {\n run();\n } else {\n pause().then(run);\n }\n return {\n promise,\n cancel,\n continue: () => {\n const didContinue = continueFn?.();\n return didContinue ? promise : Promise.resolve();\n },\n cancelRetry,\n continueRetry\n };\n}\nexport {\n CancelledError,\n canFetch,\n createRetryer,\n isCancelledError\n};\n//# sourceMappingURL=retryer.js.map","// src/notifyManager.ts\nimport { scheduleMicrotask } from \"./utils.js\";\nfunction createNotifyManager() {\n let queue = [];\n let transactions = 0;\n let notifyFn = (callback) => {\n callback();\n };\n let batchNotifyFn = (callback) => {\n callback();\n };\n const batch = (callback) => {\n let result;\n transactions++;\n try {\n result = callback();\n } finally {\n transactions--;\n if (!transactions) {\n flush();\n }\n }\n return result;\n };\n const schedule = (callback) => {\n if (transactions) {\n queue.push(callback);\n } else {\n scheduleMicrotask(() => {\n notifyFn(callback);\n });\n }\n };\n const batchCalls = (callback) => {\n return (...args) => {\n schedule(() => {\n callback(...args);\n });\n };\n };\n const flush = () => {\n const originalQueue = queue;\n queue = [];\n if (originalQueue.length) {\n scheduleMicrotask(() => {\n batchNotifyFn(() => {\n originalQueue.forEach((callback) => {\n notifyFn(callback);\n });\n });\n });\n }\n };\n const setNotifyFunction = (fn) => {\n notifyFn = fn;\n };\n const setBatchNotifyFunction = (fn) => {\n batchNotifyFn = fn;\n };\n return {\n batch,\n batchCalls,\n schedule,\n setNotifyFunction,\n setBatchNotifyFunction\n };\n}\nvar notifyManager = createNotifyManager();\nexport {\n createNotifyManager,\n notifyManager\n};\n//# sourceMappingURL=notifyManager.js.map","// src/removable.ts\nimport { isServer, isValidTimeout } from \"./utils.js\";\nvar Removable = class {\n #gcTimeout;\n destroy() {\n this.clearGcTimeout();\n }\n scheduleGc() {\n this.clearGcTimeout();\n if (isValidTimeout(this.gcTime)) {\n this.#gcTimeout = setTimeout(() => {\n this.optionalRemove();\n }, this.gcTime);\n }\n }\n updateGcTime(newGcTime) {\n this.gcTime = Math.max(\n this.gcTime || 0,\n newGcTime ?? (isServer ? Infinity : 5 * 60 * 1e3)\n );\n }\n clearGcTimeout() {\n if (this.#gcTimeout) {\n clearTimeout(this.#gcTimeout);\n this.#gcTimeout = void 0;\n }\n }\n};\nexport {\n Removable\n};\n//# sourceMappingURL=removable.js.map","// src/query.ts\nimport { noop, replaceData, timeUntilStale } from \"./utils.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { canFetch, createRetryer, isCancelledError } from \"./retryer.js\";\nimport { Removable } from \"./removable.js\";\nvar Query = class extends Removable {\n constructor(config) {\n super();\n this.#abortSignalConsumed = false;\n this.#defaultOptions = config.defaultOptions;\n this.#setOptions(config.options);\n this.#observers = [];\n this.#cache = config.cache;\n this.queryKey = config.queryKey;\n this.queryHash = config.queryHash;\n this.#initialState = config.state || getDefaultState(this.options);\n this.state = this.#initialState;\n this.scheduleGc();\n }\n #initialState;\n #revertState;\n #cache;\n #promise;\n #retryer;\n #observers;\n #defaultOptions;\n #abortSignalConsumed;\n get meta() {\n return this.options.meta;\n }\n #setOptions(options) {\n this.options = { ...this.#defaultOptions, ...options };\n this.updateGcTime(this.options.gcTime);\n }\n optionalRemove() {\n if (!this.#observers.length && this.state.fetchStatus === \"idle\") {\n this.#cache.remove(this);\n }\n }\n setData(newData, options) {\n const data = replaceData(this.state.data, newData, this.options);\n this.#dispatch({\n data,\n type: \"success\",\n dataUpdatedAt: options?.updatedAt,\n manual: options?.manual\n });\n return data;\n }\n setState(state, setStateOptions) {\n this.#dispatch({ type: \"setState\", state, setStateOptions });\n }\n cancel(options) {\n const promise = this.#promise;\n this.#retryer?.cancel(options);\n return promise ? promise.then(noop).catch(noop) : Promise.resolve();\n }\n destroy() {\n super.destroy();\n this.cancel({ silent: true });\n }\n reset() {\n this.destroy();\n this.setState(this.#initialState);\n }\n isActive() {\n return this.#observers.some(\n (observer) => observer.options.enabled !== false\n );\n }\n isDisabled() {\n return this.getObserversCount() > 0 && !this.isActive();\n }\n isStale() {\n return this.state.isInvalidated || !this.state.dataUpdatedAt || this.#observers.some((observer) => observer.getCurrentResult().isStale);\n }\n isStaleByTime(staleTime = 0) {\n return this.state.isInvalidated || !this.state.dataUpdatedAt || !timeUntilStale(this.state.dataUpdatedAt, staleTime);\n }\n onFocus() {\n const observer = this.#observers.find((x) => x.shouldFetchOnWindowFocus());\n observer?.refetch({ cancelRefetch: false });\n this.#retryer?.continue();\n }\n onOnline() {\n const observer = this.#observers.find((x) => x.shouldFetchOnReconnect());\n observer?.refetch({ cancelRefetch: false });\n this.#retryer?.continue();\n }\n addObserver(observer) {\n if (!this.#observers.includes(observer)) {\n this.#observers.push(observer);\n this.clearGcTimeout();\n this.#cache.notify({ type: \"observerAdded\", query: this, observer });\n }\n }\n removeObserver(observer) {\n if (this.#observers.includes(observer)) {\n this.#observers = this.#observers.filter((x) => x !== observer);\n if (!this.#observers.length) {\n if (this.#retryer) {\n if (this.#abortSignalConsumed) {\n this.#retryer.cancel({ revert: true });\n } else {\n this.#retryer.cancelRetry();\n }\n }\n this.scheduleGc();\n }\n this.#cache.notify({ type: \"observerRemoved\", query: this, observer });\n }\n }\n getObserversCount() {\n return this.#observers.length;\n }\n invalidate() {\n if (!this.state.isInvalidated) {\n this.#dispatch({ type: \"invalidate\" });\n }\n }\n fetch(options, fetchOptions) {\n if (this.state.fetchStatus !== \"idle\") {\n if (this.state.dataUpdatedAt && fetchOptions?.cancelRefetch) {\n this.cancel({ silent: true });\n } else if (this.#promise) {\n this.#retryer?.continueRetry();\n return this.#promise;\n }\n }\n if (options) {\n this.#setOptions(options);\n }\n if (!this.options.queryFn) {\n const observer = this.#observers.find((x) => x.options.queryFn);\n if (observer) {\n this.#setOptions(observer.options);\n }\n }\n if (process.env.NODE_ENV !== \"production\") {\n if (!Array.isArray(this.options.queryKey)) {\n console.error(\n `As of v4, queryKey needs to be an Array. If you are using a string like 'repoData', please change it to an Array, e.g. ['repoData']`\n );\n }\n }\n const abortController = new AbortController();\n const queryFnContext = {\n queryKey: this.queryKey,\n meta: this.meta\n };\n const addSignalProperty = (object) => {\n Object.defineProperty(object, \"signal\", {\n enumerable: true,\n get: () => {\n this.#abortSignalConsumed = true;\n return abortController.signal;\n }\n });\n };\n addSignalProperty(queryFnContext);\n const fetchFn = () => {\n if (!this.options.queryFn) {\n return Promise.reject(\n new Error(`Missing queryFn: '${this.options.queryHash}'`)\n );\n }\n this.#abortSignalConsumed = false;\n if (this.options.persister) {\n return this.options.persister(\n this.options.queryFn,\n queryFnContext,\n this\n );\n }\n return this.options.queryFn(\n queryFnContext\n );\n };\n const context = {\n fetchOptions,\n options: this.options,\n queryKey: this.queryKey,\n state: this.state,\n fetchFn\n };\n addSignalProperty(context);\n this.options.behavior?.onFetch(\n context,\n this\n );\n this.#revertState = this.state;\n if (this.state.fetchStatus === \"idle\" || this.state.fetchMeta !== context.fetchOptions?.meta) {\n this.#dispatch({ type: \"fetch\", meta: context.fetchOptions?.meta });\n }\n const onError = (error) => {\n if (!(isCancelledError(error) && error.silent)) {\n this.#dispatch({\n type: \"error\",\n error\n });\n }\n if (!isCancelledError(error)) {\n this.#cache.config.onError?.(\n error,\n this\n );\n this.#cache.config.onSettled?.(\n this.state.data,\n error,\n this\n );\n }\n if (!this.isFetchingOptimistic) {\n this.scheduleGc();\n }\n this.isFetchingOptimistic = false;\n };\n this.#retryer = createRetryer({\n fn: context.fetchFn,\n abort: abortController.abort.bind(abortController),\n onSuccess: (data) => {\n if (typeof data === \"undefined\") {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(\n `Query data cannot be undefined. Please make sure to return a value other than undefined from your query function. Affected query key: ${this.queryHash}`\n );\n }\n onError(new Error(`${this.queryHash} data is undefined`));\n return;\n }\n this.setData(data);\n this.#cache.config.onSuccess?.(data, this);\n this.#cache.config.onSettled?.(\n data,\n this.state.error,\n this\n );\n if (!this.isFetchingOptimistic) {\n this.scheduleGc();\n }\n this.isFetchingOptimistic = false;\n },\n onError,\n onFail: (failureCount, error) => {\n this.#dispatch({ type: \"failed\", failureCount, error });\n },\n onPause: () => {\n this.#dispatch({ type: \"pause\" });\n },\n onContinue: () => {\n this.#dispatch({ type: \"continue\" });\n },\n retry: context.options.retry,\n retryDelay: context.options.retryDelay,\n networkMode: context.options.networkMode\n });\n this.#promise = this.#retryer.promise;\n return this.#promise;\n }\n #dispatch(action) {\n const reducer = (state) => {\n switch (action.type) {\n case \"failed\":\n return {\n ...state,\n fetchFailureCount: action.failureCount,\n fetchFailureReason: action.error\n };\n case \"pause\":\n return {\n ...state,\n fetchStatus: \"paused\"\n };\n case \"continue\":\n return {\n ...state,\n fetchStatus: \"fetching\"\n };\n case \"fetch\":\n return {\n ...state,\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchMeta: action.meta ?? null,\n fetchStatus: canFetch(this.options.networkMode) ? \"fetching\" : \"paused\",\n ...!state.dataUpdatedAt && {\n error: null,\n status: \"pending\"\n }\n };\n case \"success\":\n return {\n ...state,\n data: action.data,\n dataUpdateCount: state.dataUpdateCount + 1,\n dataUpdatedAt: action.dataUpdatedAt ?? Date.now(),\n error: null,\n isInvalidated: false,\n status: \"success\",\n ...!action.manual && {\n fetchStatus: \"idle\",\n fetchFailureCount: 0,\n fetchFailureReason: null\n }\n };\n case \"error\":\n const error = action.error;\n if (isCancelledError(error) && error.revert && this.#revertState) {\n return { ...this.#revertState, fetchStatus: \"idle\" };\n }\n return {\n ...state,\n error,\n errorUpdateCount: state.errorUpdateCount + 1,\n errorUpdatedAt: Date.now(),\n fetchFailureCount: state.fetchFailureCount + 1,\n fetchFailureReason: error,\n fetchStatus: \"idle\",\n status: \"error\"\n };\n case \"invalidate\":\n return {\n ...state,\n isInvalidated: true\n };\n case \"setState\":\n return {\n ...state,\n ...action.state\n };\n }\n };\n this.state = reducer(this.state);\n notifyManager.batch(() => {\n this.#observers.forEach((observer) => {\n observer.onQueryUpdate();\n });\n this.#cache.notify({ query: this, type: \"updated\", action });\n });\n }\n};\nfunction getDefaultState(options) {\n const data = typeof options.initialData === \"function\" ? options.initialData() : options.initialData;\n const hasData = typeof data !== \"undefined\";\n const initialDataUpdatedAt = hasData ? typeof options.initialDataUpdatedAt === \"function\" ? options.initialDataUpdatedAt() : options.initialDataUpdatedAt : 0;\n return {\n data,\n dataUpdateCount: 0,\n dataUpdatedAt: hasData ? initialDataUpdatedAt ?? Date.now() : 0,\n error: null,\n errorUpdateCount: 0,\n errorUpdatedAt: 0,\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchMeta: null,\n isInvalidated: false,\n status: hasData ? \"success\" : \"pending\",\n fetchStatus: \"idle\"\n };\n}\nexport {\n Query\n};\n//# sourceMappingURL=query.js.map","// src/queryCache.ts\nimport { hashQueryKeyByOptions, matchQuery } from \"./utils.js\";\nimport { Query } from \"./query.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Subscribable } from \"./subscribable.js\";\nvar QueryCache = class extends Subscribable {\n constructor(config = {}) {\n super();\n this.config = config;\n this.#queries = /* @__PURE__ */ new Map();\n }\n #queries;\n build(client, options, state) {\n const queryKey = options.queryKey;\n const queryHash = options.queryHash ?? hashQueryKeyByOptions(queryKey, options);\n let query = this.get(queryHash);\n if (!query) {\n query = new Query({\n cache: this,\n queryKey,\n queryHash,\n options: client.defaultQueryOptions(options),\n state,\n defaultOptions: client.getQueryDefaults(queryKey)\n });\n this.add(query);\n }\n return query;\n }\n add(query) {\n if (!this.#queries.has(query.queryHash)) {\n this.#queries.set(query.queryHash, query);\n this.notify({\n type: \"added\",\n query\n });\n }\n }\n remove(query) {\n const queryInMap = this.#queries.get(query.queryHash);\n if (queryInMap) {\n query.destroy();\n if (queryInMap === query) {\n this.#queries.delete(query.queryHash);\n }\n this.notify({ type: \"removed\", query });\n }\n }\n clear() {\n notifyManager.batch(() => {\n this.getAll().forEach((query) => {\n this.remove(query);\n });\n });\n }\n get(queryHash) {\n return this.#queries.get(queryHash);\n }\n getAll() {\n return [...this.#queries.values()];\n }\n find(filters) {\n const defaultedFilters = { exact: true, ...filters };\n return this.getAll().find(\n (query) => matchQuery(defaultedFilters, query)\n );\n }\n findAll(filters = {}) {\n const queries = this.getAll();\n return Object.keys(filters).length > 0 ? queries.filter((query) => matchQuery(filters, query)) : queries;\n }\n notify(event) {\n notifyManager.batch(() => {\n this.listeners.forEach((listener) => {\n listener(event);\n });\n });\n }\n onFocus() {\n notifyManager.batch(() => {\n this.getAll().forEach((query) => {\n query.onFocus();\n });\n });\n }\n onOnline() {\n notifyManager.batch(() => {\n this.getAll().forEach((query) => {\n query.onOnline();\n });\n });\n }\n};\nexport {\n QueryCache\n};\n//# sourceMappingURL=queryCache.js.map","// src/mutation.ts\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Removable } from \"./removable.js\";\nimport { canFetch, createRetryer } from \"./retryer.js\";\nvar Mutation = class extends Removable {\n constructor(config) {\n super();\n this.mutationId = config.mutationId;\n this.#defaultOptions = config.defaultOptions;\n this.#mutationCache = config.mutationCache;\n this.#observers = [];\n this.state = config.state || getDefaultState();\n this.setOptions(config.options);\n this.scheduleGc();\n }\n #observers;\n #defaultOptions;\n #mutationCache;\n #retryer;\n setOptions(options) {\n this.options = { ...this.#defaultOptions, ...options };\n this.updateGcTime(this.options.gcTime);\n }\n get meta() {\n return this.options.meta;\n }\n addObserver(observer) {\n if (!this.#observers.includes(observer)) {\n this.#observers.push(observer);\n this.clearGcTimeout();\n this.#mutationCache.notify({\n type: \"observerAdded\",\n mutation: this,\n observer\n });\n }\n }\n removeObserver(observer) {\n this.#observers = this.#observers.filter((x) => x !== observer);\n this.scheduleGc();\n this.#mutationCache.notify({\n type: \"observerRemoved\",\n mutation: this,\n observer\n });\n }\n optionalRemove() {\n if (!this.#observers.length) {\n if (this.state.status === \"pending\") {\n this.scheduleGc();\n } else {\n this.#mutationCache.remove(this);\n }\n }\n }\n continue() {\n return this.#retryer?.continue() ?? // continuing a mutation assumes that variables are set, mutation must have been dehydrated before\n this.execute(this.state.variables);\n }\n async execute(variables) {\n const executeMutation = () => {\n this.#retryer = createRetryer({\n fn: () => {\n if (!this.options.mutationFn) {\n return Promise.reject(new Error(\"No mutationFn found\"));\n }\n return this.options.mutationFn(variables);\n },\n onFail: (failureCount, error) => {\n this.#dispatch({ type: \"failed\", failureCount, error });\n },\n onPause: () => {\n this.#dispatch({ type: \"pause\" });\n },\n onContinue: () => {\n this.#dispatch({ type: \"continue\" });\n },\n retry: this.options.retry ?? 0,\n retryDelay: this.options.retryDelay,\n networkMode: this.options.networkMode\n });\n return this.#retryer.promise;\n };\n const restored = this.state.status === \"pending\";\n try {\n if (!restored) {\n this.#dispatch({ type: \"pending\", variables });\n await this.#mutationCache.config.onMutate?.(\n variables,\n this\n );\n const context = await this.options.onMutate?.(variables);\n if (context !== this.state.context) {\n this.#dispatch({\n type: \"pending\",\n context,\n variables\n });\n }\n }\n const data = await executeMutation();\n await this.#mutationCache.config.onSuccess?.(\n data,\n variables,\n this.state.context,\n this\n );\n await this.options.onSuccess?.(data, variables, this.state.context);\n await this.#mutationCache.config.onSettled?.(\n data,\n null,\n this.state.variables,\n this.state.context,\n this\n );\n await this.options.onSettled?.(data, null, variables, this.state.context);\n this.#dispatch({ type: \"success\", data });\n return data;\n } catch (error) {\n try {\n await this.#mutationCache.config.onError?.(\n error,\n variables,\n this.state.context,\n this\n );\n await this.options.onError?.(\n error,\n variables,\n this.state.context\n );\n await this.#mutationCache.config.onSettled?.(\n void 0,\n error,\n this.state.variables,\n this.state.context,\n this\n );\n await this.options.onSettled?.(\n void 0,\n error,\n variables,\n this.state.context\n );\n throw error;\n } finally {\n this.#dispatch({ type: \"error\", error });\n }\n }\n }\n #dispatch(action) {\n const reducer = (state) => {\n switch (action.type) {\n case \"failed\":\n return {\n ...state,\n failureCount: action.failureCount,\n failureReason: action.error\n };\n case \"pause\":\n return {\n ...state,\n isPaused: true\n };\n case \"continue\":\n return {\n ...state,\n isPaused: false\n };\n case \"pending\":\n return {\n ...state,\n context: action.context,\n data: void 0,\n failureCount: 0,\n failureReason: null,\n error: null,\n isPaused: !canFetch(this.options.networkMode),\n status: \"pending\",\n variables: action.variables,\n submittedAt: Date.now()\n };\n case \"success\":\n return {\n ...state,\n data: action.data,\n failureCount: 0,\n failureReason: null,\n error: null,\n status: \"success\",\n isPaused: false\n };\n case \"error\":\n return {\n ...state,\n data: void 0,\n error: action.error,\n failureCount: state.failureCount + 1,\n failureReason: action.error,\n isPaused: false,\n status: \"error\"\n };\n }\n };\n this.state = reducer(this.state);\n notifyManager.batch(() => {\n this.#observers.forEach((observer) => {\n observer.onMutationUpdate(action);\n });\n this.#mutationCache.notify({\n mutation: this,\n type: \"updated\",\n action\n });\n });\n }\n};\nfunction getDefaultState() {\n return {\n context: void 0,\n data: void 0,\n error: null,\n failureCount: 0,\n failureReason: null,\n isPaused: false,\n status: \"idle\",\n variables: void 0,\n submittedAt: 0\n };\n}\nexport {\n Mutation,\n getDefaultState\n};\n//# sourceMappingURL=mutation.js.map","// src/mutationCache.ts\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Mutation } from \"./mutation.js\";\nimport { matchMutation, noop } from \"./utils.js\";\nimport { Subscribable } from \"./subscribable.js\";\nvar MutationCache = class extends Subscribable {\n constructor(config = {}) {\n super();\n this.config = config;\n this.#mutations = [];\n this.#mutationId = 0;\n }\n #mutations;\n #mutationId;\n #resuming;\n build(client, options, state) {\n const mutation = new Mutation({\n mutationCache: this,\n mutationId: ++this.#mutationId,\n options: client.defaultMutationOptions(options),\n state\n });\n this.add(mutation);\n return mutation;\n }\n add(mutation) {\n this.#mutations.push(mutation);\n this.notify({ type: \"added\", mutation });\n }\n remove(mutation) {\n this.#mutations = this.#mutations.filter((x) => x !== mutation);\n this.notify({ type: \"removed\", mutation });\n }\n clear() {\n notifyManager.batch(() => {\n this.#mutations.forEach((mutation) => {\n this.remove(mutation);\n });\n });\n }\n getAll() {\n return this.#mutations;\n }\n find(filters) {\n const defaultedFilters = { exact: true, ...filters };\n return this.#mutations.find(\n (mutation) => matchMutation(defaultedFilters, mutation)\n );\n }\n findAll(filters = {}) {\n return this.#mutations.filter(\n (mutation) => matchMutation(filters, mutation)\n );\n }\n notify(event) {\n notifyManager.batch(() => {\n this.listeners.forEach((listener) => {\n listener(event);\n });\n });\n }\n resumePausedMutations() {\n this.#resuming = (this.#resuming ?? Promise.resolve()).then(() => {\n const pausedMutations = this.#mutations.filter((x) => x.state.isPaused);\n return notifyManager.batch(\n () => pausedMutations.reduce(\n (promise, mutation) => promise.then(() => mutation.continue().catch(noop)),\n Promise.resolve()\n )\n );\n }).then(() => {\n this.#resuming = void 0;\n });\n return this.#resuming;\n }\n};\nexport {\n MutationCache\n};\n//# sourceMappingURL=mutationCache.js.map","// src/infiniteQueryBehavior.ts\nimport { addToEnd, addToStart } from \"./utils.js\";\nfunction infiniteQueryBehavior(pages) {\n return {\n onFetch: (context, query) => {\n const fetchFn = async () => {\n const options = context.options;\n const direction = context.fetchOptions?.meta?.fetchMore?.direction;\n const oldPages = context.state.data?.pages || [];\n const oldPageParams = context.state.data?.pageParams || [];\n const empty = { pages: [], pageParams: [] };\n let cancelled = false;\n const addSignalProperty = (object) => {\n Object.defineProperty(object, \"signal\", {\n enumerable: true,\n get: () => {\n if (context.signal.aborted) {\n cancelled = true;\n } else {\n context.signal.addEventListener(\"abort\", () => {\n cancelled = true;\n });\n }\n return context.signal;\n }\n });\n };\n const queryFn = context.options.queryFn || (() => Promise.reject(\n new Error(`Missing queryFn: '${context.options.queryHash}'`)\n ));\n const fetchPage = async (data, param, previous) => {\n if (cancelled) {\n return Promise.reject();\n }\n if (param == null && data.pages.length) {\n return Promise.resolve(data);\n }\n const queryFnContext = {\n queryKey: context.queryKey,\n pageParam: param,\n direction: previous ? \"backward\" : \"forward\",\n meta: context.options.meta\n };\n addSignalProperty(queryFnContext);\n const page = await queryFn(\n queryFnContext\n );\n const { maxPages } = context.options;\n const addTo = previous ? addToStart : addToEnd;\n return {\n pages: addTo(data.pages, page, maxPages),\n pageParams: addTo(data.pageParams, param, maxPages)\n };\n };\n let result;\n if (direction && oldPages.length) {\n const previous = direction === \"backward\";\n const pageParamFn = previous ? getPreviousPageParam : getNextPageParam;\n const oldData = {\n pages: oldPages,\n pageParams: oldPageParams\n };\n const param = pageParamFn(options, oldData);\n result = await fetchPage(oldData, param, previous);\n } else {\n result = await fetchPage(\n empty,\n oldPageParams[0] ?? options.initialPageParam\n );\n const remainingPages = pages ?? oldPages.length;\n for (let i = 1; i < remainingPages; i++) {\n const param = getNextPageParam(options, result);\n result = await fetchPage(result, param);\n }\n }\n return result;\n };\n if (context.options.persister) {\n context.fetchFn = () => {\n return context.options.persister?.(\n fetchFn,\n {\n queryKey: context.queryKey,\n meta: context.options.meta,\n signal: context.signal\n },\n query\n );\n };\n } else {\n context.fetchFn = fetchFn;\n }\n }\n };\n}\nfunction getNextPageParam(options, { pages, pageParams }) {\n const lastIndex = pages.length - 1;\n return options.getNextPageParam(\n pages[lastIndex],\n pages,\n pageParams[lastIndex],\n pageParams\n );\n}\nfunction getPreviousPageParam(options, { pages, pageParams }) {\n return options.getPreviousPageParam?.(\n pages[0],\n pages,\n pageParams[0],\n pageParams\n );\n}\nfunction hasNextPage(options, data) {\n if (!data)\n return false;\n return getNextPageParam(options, data) != null;\n}\nfunction hasPreviousPage(options, data) {\n if (!data || !options.getPreviousPageParam)\n return false;\n return getPreviousPageParam(options, data) != null;\n}\nexport {\n hasNextPage,\n hasPreviousPage,\n infiniteQueryBehavior\n};\n//# sourceMappingURL=infiniteQueryBehavior.js.map","// src/queryClient.ts\nimport {\n functionalUpdate,\n hashKey,\n hashQueryKeyByOptions,\n noop,\n partialMatchKey\n} from \"./utils.js\";\nimport { QueryCache } from \"./queryCache.js\";\nimport { MutationCache } from \"./mutationCache.js\";\nimport { focusManager } from \"./focusManager.js\";\nimport { onlineManager } from \"./onlineManager.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { infiniteQueryBehavior } from \"./infiniteQueryBehavior.js\";\nvar QueryClient = class {\n #queryCache;\n #mutationCache;\n #defaultOptions;\n #queryDefaults;\n #mutationDefaults;\n #mountCount;\n #unsubscribeFocus;\n #unsubscribeOnline;\n constructor(config = {}) {\n this.#queryCache = config.queryCache || new QueryCache();\n this.#mutationCache = config.mutationCache || new MutationCache();\n this.#defaultOptions = config.defaultOptions || {};\n this.#queryDefaults = /* @__PURE__ */ new Map();\n this.#mutationDefaults = /* @__PURE__ */ new Map();\n this.#mountCount = 0;\n }\n mount() {\n this.#mountCount++;\n if (this.#mountCount !== 1)\n return;\n this.#unsubscribeFocus = focusManager.subscribe(() => {\n if (focusManager.isFocused()) {\n this.resumePausedMutations();\n this.#queryCache.onFocus();\n }\n });\n this.#unsubscribeOnline = onlineManager.subscribe(() => {\n if (onlineManager.isOnline()) {\n this.resumePausedMutations();\n this.#queryCache.onOnline();\n }\n });\n }\n unmount() {\n this.#mountCount--;\n if (this.#mountCount !== 0)\n return;\n this.#unsubscribeFocus?.();\n this.#unsubscribeFocus = void 0;\n this.#unsubscribeOnline?.();\n this.#unsubscribeOnline = void 0;\n }\n isFetching(filters) {\n return this.#queryCache.findAll({ ...filters, fetchStatus: \"fetching\" }).length;\n }\n isMutating(filters) {\n return this.#mutationCache.findAll({ ...filters, status: \"pending\" }).length;\n }\n getQueryData(queryKey) {\n return this.#queryCache.find({ queryKey })?.state.data;\n }\n ensureQueryData(options) {\n const cachedData = this.getQueryData(options.queryKey);\n return cachedData !== void 0 ? Promise.resolve(cachedData) : this.fetchQuery(options);\n }\n getQueriesData(filters) {\n return this.getQueryCache().findAll(filters).map(({ queryKey, state }) => {\n const data = state.data;\n return [queryKey, data];\n });\n }\n setQueryData(queryKey, updater, options) {\n const query = this.#queryCache.find({ queryKey });\n const prevData = query?.state.data;\n const data = functionalUpdate(updater, prevData);\n if (typeof data === \"undefined\") {\n return void 0;\n }\n const defaultedOptions = this.defaultQueryOptions({ queryKey });\n return this.#queryCache.build(this, defaultedOptions).setData(data, { ...options, manual: true });\n }\n setQueriesData(filters, updater, options) {\n return notifyManager.batch(\n () => this.getQueryCache().findAll(filters).map(({ queryKey }) => [\n queryKey,\n this.setQueryData(queryKey, updater, options)\n ])\n );\n }\n getQueryState(queryKey) {\n return this.#queryCache.find({ queryKey })?.state;\n }\n removeQueries(filters) {\n const queryCache = this.#queryCache;\n notifyManager.batch(() => {\n queryCache.findAll(filters).forEach((query) => {\n queryCache.remove(query);\n });\n });\n }\n resetQueries(filters, options) {\n const queryCache = this.#queryCache;\n const refetchFilters = {\n type: \"active\",\n ...filters\n };\n return notifyManager.batch(() => {\n queryCache.findAll(filters).forEach((query) => {\n query.reset();\n });\n return this.refetchQueries(refetchFilters, options);\n });\n }\n cancelQueries(filters = {}, cancelOptions = {}) {\n const defaultedCancelOptions = { revert: true, ...cancelOptions };\n const promises = notifyManager.batch(\n () => this.#queryCache.findAll(filters).map((query) => query.cancel(defaultedCancelOptions))\n );\n return Promise.all(promises).then(noop).catch(noop);\n }\n invalidateQueries(filters = {}, options = {}) {\n return notifyManager.batch(() => {\n this.#queryCache.findAll(filters).forEach((query) => {\n query.invalidate();\n });\n if (filters.refetchType === \"none\") {\n return Promise.resolve();\n }\n const refetchFilters = {\n ...filters,\n type: filters.refetchType ?? filters.type ?? \"active\"\n };\n return this.refetchQueries(refetchFilters, options);\n });\n }\n refetchQueries(filters = {}, options) {\n const fetchOptions = {\n ...options,\n cancelRefetch: options?.cancelRefetch ?? true\n };\n const promises = notifyManager.batch(\n () => this.#queryCache.findAll(filters).filter((query) => !query.isDisabled()).map((query) => {\n let promise = query.fetch(void 0, fetchOptions);\n if (!fetchOptions.throwOnError) {\n promise = promise.catch(noop);\n }\n return query.state.fetchStatus === \"paused\" ? Promise.resolve() : promise;\n })\n );\n return Promise.all(promises).then(noop);\n }\n fetchQuery(options) {\n const defaultedOptions = this.defaultQueryOptions(options);\n if (typeof defaultedOptions.retry === \"undefined\") {\n defaultedOptions.retry = false;\n }\n const query = this.#queryCache.build(this, defaultedOptions);\n return query.isStaleByTime(defaultedOptions.staleTime) ? query.fetch(defaultedOptions) : Promise.resolve(query.state.data);\n }\n prefetchQuery(options) {\n return this.fetchQuery(options).then(noop).catch(noop);\n }\n fetchInfiniteQuery(options) {\n options.behavior = infiniteQueryBehavior(options.pages);\n return this.fetchQuery(options);\n }\n prefetchInfiniteQuery(options) {\n return this.fetchInfiniteQuery(options).then(noop).catch(noop);\n }\n resumePausedMutations() {\n return this.#mutationCache.resumePausedMutations();\n }\n getQueryCache() {\n return this.#queryCache;\n }\n getMutationCache() {\n return this.#mutationCache;\n }\n getDefaultOptions() {\n return this.#defaultOptions;\n }\n setDefaultOptions(options) {\n this.#defaultOptions = options;\n }\n setQueryDefaults(queryKey, options) {\n this.#queryDefaults.set(hashKey(queryKey), {\n queryKey,\n defaultOptions: options\n });\n }\n getQueryDefaults(queryKey) {\n const defaults = [...this.#queryDefaults.values()];\n let result = {};\n defaults.forEach((queryDefault) => {\n if (partialMatchKey(queryKey, queryDefault.queryKey)) {\n result = { ...result, ...queryDefault.defaultOptions };\n }\n });\n return result;\n }\n setMutationDefaults(mutationKey, options) {\n this.#mutationDefaults.set(hashKey(mutationKey), {\n mutationKey,\n defaultOptions: options\n });\n }\n getMutationDefaults(mutationKey) {\n const defaults = [...this.#mutationDefaults.values()];\n let result = {};\n defaults.forEach((queryDefault) => {\n if (partialMatchKey(mutationKey, queryDefault.mutationKey)) {\n result = { ...result, ...queryDefault.defaultOptions };\n }\n });\n return result;\n }\n defaultQueryOptions(options) {\n if (options?._defaulted) {\n return options;\n }\n const defaultedOptions = {\n ...this.#defaultOptions.queries,\n ...options?.queryKey && this.getQueryDefaults(options.queryKey),\n ...options,\n _defaulted: true\n };\n if (!defaultedOptions.queryHash) {\n defaultedOptions.queryHash = hashQueryKeyByOptions(\n defaultedOptions.queryKey,\n defaultedOptions\n );\n }\n if (typeof defaultedOptions.refetchOnReconnect === \"undefined\") {\n defaultedOptions.refetchOnReconnect = defaultedOptions.networkMode !== \"always\";\n }\n if (typeof defaultedOptions.throwOnError === \"undefined\") {\n defaultedOptions.throwOnError = !!defaultedOptions.suspense;\n }\n if (typeof defaultedOptions.networkMode === \"undefined\" && defaultedOptions.persister) {\n defaultedOptions.networkMode = \"offlineFirst\";\n }\n return defaultedOptions;\n }\n defaultMutationOptions(options) {\n if (options?._defaulted) {\n return options;\n }\n return {\n ...this.#defaultOptions.mutations,\n ...options?.mutationKey && this.getMutationDefaults(options.mutationKey),\n ...options,\n _defaulted: true\n };\n }\n clear() {\n this.#queryCache.clear();\n this.#mutationCache.clear();\n }\n};\nexport {\n QueryClient\n};\n//# sourceMappingURL=queryClient.js.map","// src/queryObserver.ts\nimport {\n isServer,\n isValidTimeout,\n noop,\n replaceData,\n shallowEqualObjects,\n timeUntilStale\n} from \"./utils.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { focusManager } from \"./focusManager.js\";\nimport { Subscribable } from \"./subscribable.js\";\nimport { canFetch } from \"./retryer.js\";\nvar QueryObserver = class extends Subscribable {\n constructor(client, options) {\n super();\n this.#currentQuery = void 0;\n this.#currentQueryInitialState = void 0;\n this.#currentResult = void 0;\n this.#trackedProps = /* @__PURE__ */ new Set();\n this.#client = client;\n this.options = options;\n this.#selectError = null;\n this.bindMethods();\n this.setOptions(options);\n }\n #client;\n #currentQuery;\n #currentQueryInitialState;\n #currentResult;\n #currentResultState;\n #currentResultOptions;\n #selectError;\n #selectFn;\n #selectResult;\n // This property keeps track of the last query with defined data.\n // It will be used to pass the previous data and query to the placeholder function between renders.\n #lastQueryWithDefinedData;\n #staleTimeoutId;\n #refetchIntervalId;\n #currentRefetchInterval;\n #trackedProps;\n bindMethods() {\n this.refetch = this.refetch.bind(this);\n }\n onSubscribe() {\n if (this.listeners.size === 1) {\n this.#currentQuery.addObserver(this);\n if (shouldFetchOnMount(this.#currentQuery, this.options)) {\n this.#executeFetch();\n } else {\n this.updateResult();\n }\n this.#updateTimers();\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.destroy();\n }\n }\n shouldFetchOnReconnect() {\n return shouldFetchOn(\n this.#currentQuery,\n this.options,\n this.options.refetchOnReconnect\n );\n }\n shouldFetchOnWindowFocus() {\n return shouldFetchOn(\n this.#currentQuery,\n this.options,\n this.options.refetchOnWindowFocus\n );\n }\n destroy() {\n this.listeners = /* @__PURE__ */ new Set();\n this.#clearStaleTimeout();\n this.#clearRefetchInterval();\n this.#currentQuery.removeObserver(this);\n }\n setOptions(options, notifyOptions) {\n const prevOptions = this.options;\n const prevQuery = this.#currentQuery;\n this.options = this.#client.defaultQueryOptions(options);\n if (!shallowEqualObjects(prevOptions, this.options)) {\n this.#client.getQueryCache().notify({\n type: \"observerOptionsUpdated\",\n query: this.#currentQuery,\n observer: this\n });\n }\n if (typeof this.options.enabled !== \"undefined\" && typeof this.options.enabled !== \"boolean\") {\n throw new Error(\"Expected enabled to be a boolean\");\n }\n if (!this.options.queryKey) {\n this.options.queryKey = prevOptions.queryKey;\n }\n this.#updateQuery();\n const mounted = this.hasListeners();\n if (mounted && shouldFetchOptionally(\n this.#currentQuery,\n prevQuery,\n this.options,\n prevOptions\n )) {\n this.#executeFetch();\n }\n this.updateResult(notifyOptions);\n if (mounted && (this.#currentQuery !== prevQuery || this.options.enabled !== prevOptions.enabled || this.options.staleTime !== prevOptions.staleTime)) {\n this.#updateStaleTimeout();\n }\n const nextRefetchInterval = this.#computeRefetchInterval();\n if (mounted && (this.#currentQuery !== prevQuery || this.options.enabled !== prevOptions.enabled || nextRefetchInterval !== this.#currentRefetchInterval)) {\n this.#updateRefetchInterval(nextRefetchInterval);\n }\n }\n getOptimisticResult(options) {\n const query = this.#client.getQueryCache().build(this.#client, options);\n const result = this.createResult(query, options);\n if (shouldAssignObserverCurrentProperties(this, result)) {\n this.#currentResult = result;\n this.#currentResultOptions = this.options;\n this.#currentResultState = this.#currentQuery.state;\n }\n return result;\n }\n getCurrentResult() {\n return this.#currentResult;\n }\n trackResult(result) {\n const trackedResult = {};\n Object.keys(result).forEach((key) => {\n Object.defineProperty(trackedResult, key, {\n configurable: false,\n enumerable: true,\n get: () => {\n this.#trackedProps.add(key);\n return result[key];\n }\n });\n });\n return trackedResult;\n }\n getCurrentQuery() {\n return this.#currentQuery;\n }\n refetch({ ...options } = {}) {\n return this.fetch({\n ...options\n });\n }\n fetchOptimistic(options) {\n const defaultedOptions = this.#client.defaultQueryOptions(options);\n const query = this.#client.getQueryCache().build(this.#client, defaultedOptions);\n query.isFetchingOptimistic = true;\n return query.fetch().then(() => this.createResult(query, defaultedOptions));\n }\n fetch(fetchOptions) {\n return this.#executeFetch({\n ...fetchOptions,\n cancelRefetch: fetchOptions.cancelRefetch ?? true\n }).then(() => {\n this.updateResult();\n return this.#currentResult;\n });\n }\n #executeFetch(fetchOptions) {\n this.#updateQuery();\n let promise = this.#currentQuery.fetch(\n this.options,\n fetchOptions\n );\n if (!fetchOptions?.throwOnError) {\n promise = promise.catch(noop);\n }\n return promise;\n }\n #updateStaleTimeout() {\n this.#clearStaleTimeout();\n if (isServer || this.#currentResult.isStale || !isValidTimeout(this.options.staleTime)) {\n return;\n }\n const time = timeUntilStale(\n this.#currentResult.dataUpdatedAt,\n this.options.staleTime\n );\n const timeout = time + 1;\n this.#staleTimeoutId = setTimeout(() => {\n if (!this.#currentResult.isStale) {\n this.updateResult();\n }\n }, timeout);\n }\n #computeRefetchInterval() {\n return (typeof this.options.refetchInterval === \"function\" ? this.options.refetchInterval(this.#currentQuery) : this.options.refetchInterval) ?? false;\n }\n #updateRefetchInterval(nextInterval) {\n this.#clearRefetchInterval();\n this.#currentRefetchInterval = nextInterval;\n if (isServer || this.options.enabled === false || !isValidTimeout(this.#currentRefetchInterval) || this.#currentRefetchInterval === 0) {\n return;\n }\n this.#refetchIntervalId = setInterval(() => {\n if (this.options.refetchIntervalInBackground || focusManager.isFocused()) {\n this.#executeFetch();\n }\n }, this.#currentRefetchInterval);\n }\n #updateTimers() {\n this.#updateStaleTimeout();\n this.#updateRefetchInterval(this.#computeRefetchInterval());\n }\n #clearStaleTimeout() {\n if (this.#staleTimeoutId) {\n clearTimeout(this.#staleTimeoutId);\n this.#staleTimeoutId = void 0;\n }\n }\n #clearRefetchInterval() {\n if (this.#refetchIntervalId) {\n clearInterval(this.#refetchIntervalId);\n this.#refetchIntervalId = void 0;\n }\n }\n createResult(query, options) {\n const prevQuery = this.#currentQuery;\n const prevOptions = this.options;\n const prevResult = this.#currentResult;\n const prevResultState = this.#currentResultState;\n const prevResultOptions = this.#currentResultOptions;\n const queryChange = query !== prevQuery;\n const queryInitialState = queryChange ? query.state : this.#currentQueryInitialState;\n const { state } = query;\n let { error, errorUpdatedAt, fetchStatus, status } = state;\n let isPlaceholderData = false;\n let data;\n if (options._optimisticResults) {\n const mounted = this.hasListeners();\n const fetchOnMount = !mounted && shouldFetchOnMount(query, options);\n const fetchOptionally = mounted && shouldFetchOptionally(query, prevQuery, options, prevOptions);\n if (fetchOnMount || fetchOptionally) {\n fetchStatus = canFetch(query.options.networkMode) ? \"fetching\" : \"paused\";\n if (!state.dataUpdatedAt) {\n status = \"pending\";\n }\n }\n if (options._optimisticResults === \"isRestoring\") {\n fetchStatus = \"idle\";\n }\n }\n if (options.select && typeof state.data !== \"undefined\") {\n if (prevResult && state.data === prevResultState?.data && options.select === this.#selectFn) {\n data = this.#selectResult;\n } else {\n try {\n this.#selectFn = options.select;\n data = options.select(state.data);\n data = replaceData(prevResult?.data, data, options);\n this.#selectResult = data;\n this.#selectError = null;\n } catch (selectError) {\n this.#selectError = selectError;\n }\n }\n } else {\n data = state.data;\n }\n if (typeof options.placeholderData !== \"undefined\" && typeof data === \"undefined\" && status === \"pending\") {\n let placeholderData;\n if (prevResult?.isPlaceholderData && options.placeholderData === prevResultOptions?.placeholderData) {\n placeholderData = prevResult.data;\n } else {\n placeholderData = typeof options.placeholderData === \"function\" ? options.placeholderData(\n this.#lastQueryWithDefinedData?.state.data,\n this.#lastQueryWithDefinedData\n ) : options.placeholderData;\n if (options.select && typeof placeholderData !== \"undefined\") {\n try {\n placeholderData = options.select(placeholderData);\n this.#selectError = null;\n } catch (selectError) {\n this.#selectError = selectError;\n }\n }\n }\n if (typeof placeholderData !== \"undefined\") {\n status = \"success\";\n data = replaceData(\n prevResult?.data,\n placeholderData,\n options\n );\n isPlaceholderData = true;\n }\n }\n if (this.#selectError) {\n error = this.#selectError;\n data = this.#selectResult;\n errorUpdatedAt = Date.now();\n status = \"error\";\n }\n const isFetching = fetchStatus === \"fetching\";\n const isPending = status === \"pending\";\n const isError = status === \"error\";\n const isLoading = isPending && isFetching;\n const result = {\n status,\n fetchStatus,\n isPending,\n isSuccess: status === \"success\",\n isError,\n isInitialLoading: isLoading,\n isLoading,\n data,\n dataUpdatedAt: state.dataUpdatedAt,\n error,\n errorUpdatedAt,\n failureCount: state.fetchFailureCount,\n failureReason: state.fetchFailureReason,\n errorUpdateCount: state.errorUpdateCount,\n isFetched: state.dataUpdateCount > 0 || state.errorUpdateCount > 0,\n isFetchedAfterMount: state.dataUpdateCount > queryInitialState.dataUpdateCount || state.errorUpdateCount > queryInitialState.errorUpdateCount,\n isFetching,\n isRefetching: isFetching && !isPending,\n isLoadingError: isError && state.dataUpdatedAt === 0,\n isPaused: fetchStatus === \"paused\",\n isPlaceholderData,\n isRefetchError: isError && state.dataUpdatedAt !== 0,\n isStale: isStale(query, options),\n refetch: this.refetch\n };\n return result;\n }\n updateResult(notifyOptions) {\n const prevResult = this.#currentResult;\n const nextResult = this.createResult(this.#currentQuery, this.options);\n this.#currentResultState = this.#currentQuery.state;\n this.#currentResultOptions = this.options;\n if (this.#currentResultState.data !== void 0) {\n this.#lastQueryWithDefinedData = this.#currentQuery;\n }\n if (shallowEqualObjects(nextResult, prevResult)) {\n return;\n }\n this.#currentResult = nextResult;\n const defaultNotifyOptions = {};\n const shouldNotifyListeners = () => {\n if (!prevResult) {\n return true;\n }\n const { notifyOnChangeProps } = this.options;\n const notifyOnChangePropsValue = typeof notifyOnChangeProps === \"function\" ? notifyOnChangeProps() : notifyOnChangeProps;\n if (notifyOnChangePropsValue === \"all\" || !notifyOnChangePropsValue && !this.#trackedProps.size) {\n return true;\n }\n const includedProps = new Set(\n notifyOnChangePropsValue ?? this.#trackedProps\n );\n if (this.options.throwOnError) {\n includedProps.add(\"error\");\n }\n return Object.keys(this.#currentResult).some((key) => {\n const typedKey = key;\n const changed = this.#currentResult[typedKey] !== prevResult[typedKey];\n return changed && includedProps.has(typedKey);\n });\n };\n if (notifyOptions?.listeners !== false && shouldNotifyListeners()) {\n defaultNotifyOptions.listeners = true;\n }\n this.#notify({ ...defaultNotifyOptions, ...notifyOptions });\n }\n #updateQuery() {\n const query = this.#client.getQueryCache().build(this.#client, this.options);\n if (query === this.#currentQuery) {\n return;\n }\n const prevQuery = this.#currentQuery;\n this.#currentQuery = query;\n this.#currentQueryInitialState = query.state;\n if (this.hasListeners()) {\n prevQuery?.removeObserver(this);\n query.addObserver(this);\n }\n }\n onQueryUpdate() {\n this.updateResult();\n if (this.hasListeners()) {\n this.#updateTimers();\n }\n }\n #notify(notifyOptions) {\n notifyManager.batch(() => {\n if (notifyOptions.listeners) {\n this.listeners.forEach((listener) => {\n listener(this.#currentResult);\n });\n }\n this.#client.getQueryCache().notify({\n query: this.#currentQuery,\n type: \"observerResultsUpdated\"\n });\n });\n }\n};\nfunction shouldLoadOnMount(query, options) {\n return options.enabled !== false && !query.state.dataUpdatedAt && !(query.state.status === \"error\" && options.retryOnMount === false);\n}\nfunction shouldFetchOnMount(query, options) {\n return shouldLoadOnMount(query, options) || query.state.dataUpdatedAt > 0 && shouldFetchOn(query, options, options.refetchOnMount);\n}\nfunction shouldFetchOn(query, options, field) {\n if (options.enabled !== false) {\n const value = typeof field === \"function\" ? field(query) : field;\n return value === \"always\" || value !== false && isStale(query, options);\n }\n return false;\n}\nfunction shouldFetchOptionally(query, prevQuery, options, prevOptions) {\n return options.enabled !== false && (query !== prevQuery || prevOptions.enabled === false) && (!options.suspense || query.state.status !== \"error\") && isStale(query, options);\n}\nfunction isStale(query, options) {\n return query.isStaleByTime(options.staleTime);\n}\nfunction shouldAssignObserverCurrentProperties(observer, optimisticResult) {\n if (!shallowEqualObjects(observer.getCurrentResult(), optimisticResult)) {\n return true;\n }\n return false;\n}\nexport {\n QueryObserver\n};\n//# sourceMappingURL=queryObserver.js.map","// src/mutationObserver.ts\nimport { getDefaultState } from \"./mutation.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Subscribable } from \"./subscribable.js\";\nimport { shallowEqualObjects } from \"./utils.js\";\nvar MutationObserver = class extends Subscribable {\n constructor(client, options) {\n super();\n this.#currentResult = void 0;\n this.#client = client;\n this.setOptions(options);\n this.bindMethods();\n this.#updateResult();\n }\n #client;\n #currentResult;\n #currentMutation;\n #mutateOptions;\n bindMethods() {\n this.mutate = this.mutate.bind(this);\n this.reset = this.reset.bind(this);\n }\n setOptions(options) {\n const prevOptions = this.options;\n this.options = this.#client.defaultMutationOptions(options);\n if (!shallowEqualObjects(prevOptions, this.options)) {\n this.#client.getMutationCache().notify({\n type: \"observerOptionsUpdated\",\n mutation: this.#currentMutation,\n observer: this\n });\n }\n this.#currentMutation?.setOptions(this.options);\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#currentMutation?.removeObserver(this);\n }\n }\n onMutationUpdate(action) {\n this.#updateResult();\n this.#notify(action);\n }\n getCurrentResult() {\n return this.#currentResult;\n }\n reset() {\n this.#currentMutation = void 0;\n this.#updateResult();\n this.#notify();\n }\n mutate(variables, options) {\n this.#mutateOptions = options;\n this.#currentMutation?.removeObserver(this);\n this.#currentMutation = this.#client.getMutationCache().build(this.#client, this.options);\n this.#currentMutation.addObserver(this);\n return this.#currentMutation.execute(variables);\n }\n #updateResult() {\n const state = this.#currentMutation?.state ?? getDefaultState();\n this.#currentResult = {\n ...state,\n isPending: state.status === \"pending\",\n isSuccess: state.status === \"success\",\n isError: state.status === \"error\",\n isIdle: state.status === \"idle\",\n mutate: this.mutate,\n reset: this.reset\n };\n }\n #notify(action) {\n notifyManager.batch(() => {\n if (this.#mutateOptions && this.hasListeners()) {\n if (action?.type === \"success\") {\n this.#mutateOptions.onSuccess?.(\n action.data,\n this.#currentResult.variables,\n this.#currentResult.context\n );\n this.#mutateOptions.onSettled?.(\n action.data,\n null,\n this.#currentResult.variables,\n this.#currentResult.context\n );\n } else if (action?.type === \"error\") {\n this.#mutateOptions.onError?.(\n action.error,\n this.#currentResult.variables,\n this.#currentResult.context\n );\n this.#mutateOptions.onSettled?.(\n void 0,\n action.error,\n this.#currentResult.variables,\n this.#currentResult.context\n );\n }\n }\n this.listeners.forEach((listener) => {\n listener(this.#currentResult);\n });\n });\n }\n};\nexport {\n MutationObserver\n};\n//# sourceMappingURL=mutationObserver.js.map","\"use client\";\n\n// src/QueryClientProvider.tsx\nimport * as React from \"react\";\nvar QueryClientContext = React.createContext(\n void 0\n);\nvar useQueryClient = (queryClient) => {\n const client = React.useContext(QueryClientContext);\n if (queryClient) {\n return queryClient;\n }\n if (!client) {\n throw new Error(\"No QueryClient set, use QueryClientProvider to set one\");\n }\n return client;\n};\nvar QueryClientProvider = ({\n client,\n children\n}) => {\n React.useEffect(() => {\n client.mount();\n return () => {\n client.unmount();\n };\n }, [client]);\n return /* @__PURE__ */ React.createElement(QueryClientContext.Provider, { value: client }, children);\n};\nexport {\n QueryClientContext,\n QueryClientProvider,\n useQueryClient\n};\n//# sourceMappingURL=QueryClientProvider.js.map","\"use client\";\n\n// src/isRestoring.ts\nimport * as React from \"react\";\nvar IsRestoringContext = React.createContext(false);\nvar useIsRestoring = () => React.useContext(IsRestoringContext);\nvar IsRestoringProvider = IsRestoringContext.Provider;\nexport {\n IsRestoringProvider,\n useIsRestoring\n};\n//# sourceMappingURL=isRestoring.js.map","\"use client\";\n\n// src/QueryErrorResetBoundary.tsx\nimport * as React from \"react\";\nfunction createValue() {\n let isReset = false;\n return {\n clearReset: () => {\n isReset = false;\n },\n reset: () => {\n isReset = true;\n },\n isReset: () => {\n return isReset;\n }\n };\n}\nvar QueryErrorResetBoundaryContext = React.createContext(createValue());\nvar useQueryErrorResetBoundary = () => React.useContext(QueryErrorResetBoundaryContext);\nvar QueryErrorResetBoundary = ({\n children\n}) => {\n const [value] = React.useState(() => createValue());\n return /* @__PURE__ */ React.createElement(QueryErrorResetBoundaryContext.Provider, { value }, typeof children === \"function\" ? children(value) : children);\n};\nexport {\n QueryErrorResetBoundary,\n useQueryErrorResetBoundary\n};\n//# sourceMappingURL=QueryErrorResetBoundary.js.map","// src/utils.ts\nfunction shouldThrowError(throwError, params) {\n if (typeof throwError === \"function\") {\n return throwError(...params);\n }\n return !!throwError;\n}\nexport {\n shouldThrowError\n};\n//# sourceMappingURL=utils.js.map","\"use client\";\n\n// src/errorBoundaryUtils.ts\nimport * as React from \"react\";\nimport { shouldThrowError } from \"./utils.js\";\nvar ensurePreventErrorBoundaryRetry = (options, errorResetBoundary) => {\n if (options.suspense || options.throwOnError) {\n if (!errorResetBoundary.isReset()) {\n options.retryOnMount = false;\n }\n }\n};\nvar useClearResetErrorBoundary = (errorResetBoundary) => {\n React.useEffect(() => {\n errorResetBoundary.clearReset();\n }, [errorResetBoundary]);\n};\nvar getHasError = ({\n result,\n errorResetBoundary,\n throwOnError,\n query\n}) => {\n return result.isError && !errorResetBoundary.isReset() && !result.isFetching && shouldThrowError(throwOnError, [result.error, query]);\n};\nexport {\n ensurePreventErrorBoundaryRetry,\n getHasError,\n useClearResetErrorBoundary\n};\n//# sourceMappingURL=errorBoundaryUtils.js.map","// src/suspense.ts\nvar defaultThrowOnError = (_error, query) => typeof query.state.data === \"undefined\";\nvar ensureStaleTime = (defaultedOptions) => {\n if (defaultedOptions.suspense) {\n if (typeof defaultedOptions.staleTime !== \"number\") {\n defaultedOptions.staleTime = 1e3;\n }\n }\n};\nvar willFetch = (result, isRestoring) => result.isLoading && result.isFetching && !isRestoring;\nvar shouldSuspend = (defaultedOptions, result) => defaultedOptions?.suspense && result.isPending;\nvar fetchOptimistic = (defaultedOptions, observer, errorResetBoundary) => observer.fetchOptimistic(defaultedOptions).catch(() => {\n errorResetBoundary.clearReset();\n});\nexport {\n defaultThrowOnError,\n ensureStaleTime,\n fetchOptimistic,\n shouldSuspend,\n willFetch\n};\n//# sourceMappingURL=suspense.js.map","\"use client\";\n\n// src/useBaseQuery.ts\nimport * as React from \"react\";\nimport { notifyManager } from \"@tanstack/query-core\";\nimport { useQueryErrorResetBoundary } from \"./QueryErrorResetBoundary.js\";\nimport { useQueryClient } from \"./QueryClientProvider.js\";\nimport { useIsRestoring } from \"./isRestoring.js\";\nimport {\n ensurePreventErrorBoundaryRetry,\n getHasError,\n useClearResetErrorBoundary\n} from \"./errorBoundaryUtils.js\";\nimport { ensureStaleTime, fetchOptimistic, shouldSuspend } from \"./suspense.js\";\nfunction useBaseQuery(options, Observer, queryClient) {\n if (process.env.NODE_ENV !== \"production\") {\n if (typeof options !== \"object\" || Array.isArray(options)) {\n throw new Error(\n 'Bad argument type. Starting with v5, only the \"Object\" form is allowed when calling query related functions. Please use the error stack to find the culprit call. More info here: https://tanstack.com/query/latest/docs/react/guides/migrating-to-v5#supports-a-single-signature-one-object'\n );\n }\n }\n const client = useQueryClient(queryClient);\n const isRestoring = useIsRestoring();\n const errorResetBoundary = useQueryErrorResetBoundary();\n const defaultedOptions = client.defaultQueryOptions(options);\n defaultedOptions._optimisticResults = isRestoring ? \"isRestoring\" : \"optimistic\";\n ensureStaleTime(defaultedOptions);\n ensurePreventErrorBoundaryRetry(defaultedOptions, errorResetBoundary);\n useClearResetErrorBoundary(errorResetBoundary);\n const [observer] = React.useState(\n () => new Observer(\n client,\n defaultedOptions\n )\n );\n const result = observer.getOptimisticResult(defaultedOptions);\n React.useSyncExternalStore(\n React.useCallback(\n (onStoreChange) => {\n const unsubscribe = isRestoring ? () => void 0 : observer.subscribe(notifyManager.batchCalls(onStoreChange));\n observer.updateResult();\n return unsubscribe;\n },\n [observer, isRestoring]\n ),\n () => observer.getCurrentResult(),\n () => observer.getCurrentResult()\n );\n React.useEffect(() => {\n observer.setOptions(defaultedOptions, { listeners: false });\n }, [defaultedOptions, observer]);\n if (shouldSuspend(defaultedOptions, result)) {\n throw fetchOptimistic(defaultedOptions, observer, errorResetBoundary);\n }\n if (getHasError({\n result,\n errorResetBoundary,\n throwOnError: defaultedOptions.throwOnError,\n query: observer.getCurrentQuery()\n })) {\n throw result.error;\n }\n return !defaultedOptions.notifyOnChangeProps ? observer.trackResult(result) : result;\n}\nexport {\n useBaseQuery\n};\n//# sourceMappingURL=useBaseQuery.js.map","\"use client\";\n\n// src/useQuery.ts\nimport { QueryObserver } from \"@tanstack/query-core\";\nimport { useBaseQuery } from \"./useBaseQuery.js\";\nfunction useQuery(options, queryClient) {\n return useBaseQuery(options, QueryObserver, queryClient);\n}\nexport {\n useQuery\n};\n//# sourceMappingURL=useQuery.js.map","\"use client\";\n\n// src/useMutation.ts\nimport * as React from \"react\";\nimport { MutationObserver, notifyManager } from \"@tanstack/query-core\";\nimport { useQueryClient } from \"./QueryClientProvider.js\";\nimport { shouldThrowError } from \"./utils.js\";\nfunction useMutation(options, queryClient) {\n const client = useQueryClient(queryClient);\n const [observer] = React.useState(\n () => new MutationObserver(\n client,\n options\n )\n );\n React.useEffect(() => {\n observer.setOptions(options);\n }, [observer, options]);\n const result = React.useSyncExternalStore(\n React.useCallback(\n (onStoreChange) => observer.subscribe(notifyManager.batchCalls(onStoreChange)),\n [observer]\n ),\n () => observer.getCurrentResult(),\n () => observer.getCurrentResult()\n );\n const mutate = React.useCallback(\n (variables, mutateOptions) => {\n observer.mutate(variables, mutateOptions).catch(noop);\n },\n [observer]\n );\n if (result.error && shouldThrowError(observer.options.throwOnError, [result.error])) {\n throw result.error;\n }\n return { ...result, mutate, mutateAsync: result.mutate };\n}\nfunction noop() {\n}\nexport {\n useMutation\n};\n//# sourceMappingURL=useMutation.js.map","/**\n * @remix-run/router v1.15.0\n *\n * Copyright (c) Remix Software Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nfunction _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Types and Constants\n////////////////////////////////////////////////////////////////////////////////\n/**\n * Actions represent the type of change to a location value.\n */\nvar Action;\n(function (Action) {\n /**\n * A POP indicates a change to an arbitrary index in the history stack, such\n * as a back or forward navigation. It does not describe the direction of the\n * navigation, only that the current index changed.\n *\n * Note: This is the default action for newly created history objects.\n */\n Action[\"Pop\"] = \"POP\";\n /**\n * A PUSH indicates a new entry being added to the history stack, such as when\n * a link is clicked and a new page loads. When this happens, all subsequent\n * entries in the stack are lost.\n */\n Action[\"Push\"] = \"PUSH\";\n /**\n * A REPLACE indicates the entry at the current index in the history stack\n * being replaced by a new one.\n */\n Action[\"Replace\"] = \"REPLACE\";\n})(Action || (Action = {}));\nconst PopStateEventType = \"popstate\";\n/**\n * Memory history stores the current location in memory. It is designed for use\n * in stateful non-browser environments like tests and React Native.\n */\nfunction createMemoryHistory(options) {\n if (options === void 0) {\n options = {};\n }\n let {\n initialEntries = [\"/\"],\n initialIndex,\n v5Compat = false\n } = options;\n let entries; // Declare so we can access from createMemoryLocation\n entries = initialEntries.map((entry, index) => createMemoryLocation(entry, typeof entry === \"string\" ? null : entry.state, index === 0 ? \"default\" : undefined));\n let index = clampIndex(initialIndex == null ? entries.length - 1 : initialIndex);\n let action = Action.Pop;\n let listener = null;\n function clampIndex(n) {\n return Math.min(Math.max(n, 0), entries.length - 1);\n }\n function getCurrentLocation() {\n return entries[index];\n }\n function createMemoryLocation(to, state, key) {\n if (state === void 0) {\n state = null;\n }\n let location = createLocation(entries ? getCurrentLocation().pathname : \"/\", to, state, key);\n warning(location.pathname.charAt(0) === \"/\", \"relative pathnames are not supported in memory history: \" + JSON.stringify(to));\n return location;\n }\n function createHref(to) {\n return typeof to === \"string\" ? to : createPath(to);\n }\n let history = {\n get index() {\n return index;\n },\n get action() {\n return action;\n },\n get location() {\n return getCurrentLocation();\n },\n createHref,\n createURL(to) {\n return new URL(createHref(to), \"http://localhost\");\n },\n encodeLocation(to) {\n let path = typeof to === \"string\" ? parsePath(to) : to;\n return {\n pathname: path.pathname || \"\",\n search: path.search || \"\",\n hash: path.hash || \"\"\n };\n },\n push(to, state) {\n action = Action.Push;\n let nextLocation = createMemoryLocation(to, state);\n index += 1;\n entries.splice(index, entries.length, nextLocation);\n if (v5Compat && listener) {\n listener({\n action,\n location: nextLocation,\n delta: 1\n });\n }\n },\n replace(to, state) {\n action = Action.Replace;\n let nextLocation = createMemoryLocation(to, state);\n entries[index] = nextLocation;\n if (v5Compat && listener) {\n listener({\n action,\n location: nextLocation,\n delta: 0\n });\n }\n },\n go(delta) {\n action = Action.Pop;\n let nextIndex = clampIndex(index + delta);\n let nextLocation = entries[nextIndex];\n index = nextIndex;\n if (listener) {\n listener({\n action,\n location: nextLocation,\n delta\n });\n }\n },\n listen(fn) {\n listener = fn;\n return () => {\n listener = null;\n };\n }\n };\n return history;\n}\n/**\n * Browser history stores the location in regular URLs. This is the standard for\n * most web apps, but it requires some configuration on the server to ensure you\n * serve the same app at multiple URLs.\n *\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createbrowserhistory\n */\nfunction createBrowserHistory(options) {\n if (options === void 0) {\n options = {};\n }\n function createBrowserLocation(window, globalHistory) {\n let {\n pathname,\n search,\n hash\n } = window.location;\n return createLocation(\"\", {\n pathname,\n search,\n hash\n },\n // state defaults to `null` because `window.history.state` does\n globalHistory.state && globalHistory.state.usr || null, globalHistory.state && globalHistory.state.key || \"default\");\n }\n function createBrowserHref(window, to) {\n return typeof to === \"string\" ? to : createPath(to);\n }\n return getUrlBasedHistory(createBrowserLocation, createBrowserHref, null, options);\n}\n/**\n * Hash history stores the location in window.location.hash. This makes it ideal\n * for situations where you don't want to send the location to the server for\n * some reason, either because you do cannot configure it or the URL space is\n * reserved for something else.\n *\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createhashhistory\n */\nfunction createHashHistory(options) {\n if (options === void 0) {\n options = {};\n }\n function createHashLocation(window, globalHistory) {\n let {\n pathname = \"/\",\n search = \"\",\n hash = \"\"\n } = parsePath(window.location.hash.substr(1));\n // Hash URL should always have a leading / just like window.location.pathname\n // does, so if an app ends up at a route like /#something then we add a\n // leading slash so all of our path-matching behaves the same as if it would\n // in a browser router. This is particularly important when there exists a\n // root splat route (<Route path=\"*\">) since that matches internally against\n // \"/*\" and we'd expect /#something to 404 in a hash router app.\n if (!pathname.startsWith(\"/\") && !pathname.startsWith(\".\")) {\n pathname = \"/\" + pathname;\n }\n return createLocation(\"\", {\n pathname,\n search,\n hash\n },\n // state defaults to `null` because `window.history.state` does\n globalHistory.state && globalHistory.state.usr || null, globalHistory.state && globalHistory.state.key || \"default\");\n }\n function createHashHref(window, to) {\n let base = window.document.querySelector(\"base\");\n let href = \"\";\n if (base && base.getAttribute(\"href\")) {\n let url = window.location.href;\n let hashIndex = url.indexOf(\"#\");\n href = hashIndex === -1 ? url : url.slice(0, hashIndex);\n }\n return href + \"#\" + (typeof to === \"string\" ? to : createPath(to));\n }\n function validateHashLocation(location, to) {\n warning(location.pathname.charAt(0) === \"/\", \"relative pathnames are not supported in hash history.push(\" + JSON.stringify(to) + \")\");\n }\n return getUrlBasedHistory(createHashLocation, createHashHref, validateHashLocation, options);\n}\nfunction invariant(value, message) {\n if (value === false || value === null || typeof value === \"undefined\") {\n throw new Error(message);\n }\n}\nfunction warning(cond, message) {\n if (!cond) {\n // eslint-disable-next-line no-console\n if (typeof console !== \"undefined\") console.warn(message);\n try {\n // Welcome to debugging history!\n //\n // This error is thrown as a convenience, so you can more easily\n // find the source for a warning that appears in the console by\n // enabling \"pause on exceptions\" in your JavaScript debugger.\n throw new Error(message);\n // eslint-disable-next-line no-empty\n } catch (e) {}\n }\n}\nfunction createKey() {\n return Math.random().toString(36).substr(2, 8);\n}\n/**\n * For browser-based histories, we combine the state and key into an object\n */\nfunction getHistoryState(location, index) {\n return {\n usr: location.state,\n key: location.key,\n idx: index\n };\n}\n/**\n * Creates a Location object with a unique key from the given Path\n */\nfunction createLocation(current, to, state, key) {\n if (state === void 0) {\n state = null;\n }\n let location = _extends({\n pathname: typeof current === \"string\" ? current : current.pathname,\n search: \"\",\n hash: \"\"\n }, typeof to === \"string\" ? parsePath(to) : to, {\n state,\n // TODO: This could be cleaned up. push/replace should probably just take\n // full Locations now and avoid the need to run through this flow at all\n // But that's a pretty big refactor to the current test suite so going to\n // keep as is for the time being and just let any incoming keys take precedence\n key: to && to.key || key || createKey()\n });\n return location;\n}\n/**\n * Creates a string URL path from the given pathname, search, and hash components.\n */\nfunction createPath(_ref) {\n let {\n pathname = \"/\",\n search = \"\",\n hash = \"\"\n } = _ref;\n if (search && search !== \"?\") pathname += search.charAt(0) === \"?\" ? search : \"?\" + search;\n if (hash && hash !== \"#\") pathname += hash.charAt(0) === \"#\" ? hash : \"#\" + hash;\n return pathname;\n}\n/**\n * Parses a string URL path into its separate pathname, search, and hash components.\n */\nfunction parsePath(path) {\n let parsedPath = {};\n if (path) {\n let hashIndex = path.indexOf(\"#\");\n if (hashIndex >= 0) {\n parsedPath.hash = path.substr(hashIndex);\n path = path.substr(0, hashIndex);\n }\n let searchIndex = path.indexOf(\"?\");\n if (searchIndex >= 0) {\n parsedPath.search = path.substr(searchIndex);\n path = path.substr(0, searchIndex);\n }\n if (path) {\n parsedPath.pathname = path;\n }\n }\n return parsedPath;\n}\nfunction getUrlBasedHistory(getLocation, createHref, validateLocation, options) {\n if (options === void 0) {\n options = {};\n }\n let {\n window = document.defaultView,\n v5Compat = false\n } = options;\n let globalHistory = window.history;\n let action = Action.Pop;\n let listener = null;\n let index = getIndex();\n // Index should only be null when we initialize. If not, it's because the\n // user called history.pushState or history.replaceState directly, in which\n // case we should log a warning as it will result in bugs.\n if (index == null) {\n index = 0;\n globalHistory.replaceState(_extends({}, globalHistory.state, {\n idx: index\n }), \"\");\n }\n function getIndex() {\n let state = globalHistory.state || {\n idx: null\n };\n return state.idx;\n }\n function handlePop() {\n action = Action.Pop;\n let nextIndex = getIndex();\n let delta = nextIndex == null ? null : nextIndex - index;\n index = nextIndex;\n if (listener) {\n listener({\n action,\n location: history.location,\n delta\n });\n }\n }\n function push(to, state) {\n action = Action.Push;\n let location = createLocation(history.location, to, state);\n if (validateLocation) validateLocation(location, to);\n index = getIndex() + 1;\n let historyState = getHistoryState(location, index);\n let url = history.createHref(location);\n // try...catch because iOS limits us to 100 pushState calls :/\n try {\n globalHistory.pushState(historyState, \"\", url);\n } catch (error) {\n // If the exception is because `state` can't be serialized, let that throw\n // outwards just like a replace call would so the dev knows the cause\n // https://html.spec.whatwg.org/multipage/nav-history-apis.html#shared-history-push/replace-state-steps\n // https://html.spec.whatwg.org/multipage/structured-data.html#structuredserializeinternal\n if (error instanceof DOMException && error.name === \"DataCloneError\") {\n throw error;\n }\n // They are going to lose state here, but there is no real\n // way to warn them about it since the page will refresh...\n window.location.assign(url);\n }\n if (v5Compat && listener) {\n listener({\n action,\n location: history.location,\n delta: 1\n });\n }\n }\n function replace(to, state) {\n action = Action.Replace;\n let location = createLocation(history.location, to, state);\n if (validateLocation) validateLocation(location, to);\n index = getIndex();\n let historyState = getHistoryState(location, index);\n let url = history.createHref(location);\n globalHistory.replaceState(historyState, \"\", url);\n if (v5Compat && listener) {\n listener({\n action,\n location: history.location,\n delta: 0\n });\n }\n }\n function createURL(to) {\n // window.location.origin is \"null\" (the literal string value) in Firefox\n // under certain conditions, notably when serving from a local HTML file\n // See https://bugzilla.mozilla.org/show_bug.cgi?id=878297\n let base = window.location.origin !== \"null\" ? window.location.origin : window.location.href;\n let href = typeof to === \"string\" ? to : createPath(to);\n invariant(base, \"No window.location.(origin|href) available to create URL for href: \" + href);\n return new URL(href, base);\n }\n let history = {\n get action() {\n return action;\n },\n get location() {\n return getLocation(window, globalHistory);\n },\n listen(fn) {\n if (listener) {\n throw new Error(\"A history only accepts one active listener\");\n }\n window.addEventListener(PopStateEventType, handlePop);\n listener = fn;\n return () => {\n window.removeEventListener(PopStateEventType, handlePop);\n listener = null;\n };\n },\n createHref(to) {\n return createHref(window, to);\n },\n createURL,\n encodeLocation(to) {\n // Encode a Location the same way window.location would\n let url = createURL(to);\n return {\n pathname: url.pathname,\n search: url.search,\n hash: url.hash\n };\n },\n push,\n replace,\n go(n) {\n return globalHistory.go(n);\n }\n };\n return history;\n}\n//#endregion\n\nvar ResultType;\n(function (ResultType) {\n ResultType[\"data\"] = \"data\";\n ResultType[\"deferred\"] = \"deferred\";\n ResultType[\"redirect\"] = \"redirect\";\n ResultType[\"error\"] = \"error\";\n})(ResultType || (ResultType = {}));\nconst immutableRouteKeys = new Set([\"lazy\", \"caseSensitive\", \"path\", \"id\", \"index\", \"children\"]);\nfunction isIndexRoute(route) {\n return route.index === true;\n}\n// Walk the route tree generating unique IDs where necessary, so we are working\n// solely with AgnosticDataRouteObject's within the Router\nfunction convertRoutesToDataRoutes(routes, mapRouteProperties, parentPath, manifest) {\n if (parentPath === void 0) {\n parentPath = [];\n }\n if (manifest === void 0) {\n manifest = {};\n }\n return routes.map((route, index) => {\n let treePath = [...parentPath, index];\n let id = typeof route.id === \"string\" ? route.id : treePath.join(\"-\");\n invariant(route.index !== true || !route.children, \"Cannot specify children on an index route\");\n invariant(!manifest[id], \"Found a route id collision on id \\\"\" + id + \"\\\". Route \" + \"id's must be globally unique within Data Router usages\");\n if (isIndexRoute(route)) {\n let indexRoute = _extends({}, route, mapRouteProperties(route), {\n id\n });\n manifest[id] = indexRoute;\n return indexRoute;\n } else {\n let pathOrLayoutRoute = _extends({}, route, mapRouteProperties(route), {\n id,\n children: undefined\n });\n manifest[id] = pathOrLayoutRoute;\n if (route.children) {\n pathOrLayoutRoute.children = convertRoutesToDataRoutes(route.children, mapRouteProperties, treePath, manifest);\n }\n return pathOrLayoutRoute;\n }\n });\n}\n/**\n * Matches the given routes to a location and returns the match data.\n *\n * @see https://reactrouter.com/utils/match-routes\n */\nfunction matchRoutes(routes, locationArg, basename) {\n if (basename === void 0) {\n basename = \"/\";\n }\n let location = typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n let pathname = stripBasename(location.pathname || \"/\", basename);\n if (pathname == null) {\n return null;\n }\n let branches = flattenRoutes(routes);\n rankRouteBranches(branches);\n let matches = null;\n for (let i = 0; matches == null && i < branches.length; ++i) {\n matches = matchRouteBranch(branches[i],\n // Incoming pathnames are generally encoded from either window.location\n // or from router.navigate, but we want to match against the unencoded\n // paths in the route definitions. Memory router locations won't be\n // encoded here but there also shouldn't be anything to decode so this\n // should be a safe operation. This avoids needing matchRoutes to be\n // history-aware.\n safelyDecodeURI(pathname));\n }\n return matches;\n}\nfunction convertRouteMatchToUiMatch(match, loaderData) {\n let {\n route,\n pathname,\n params\n } = match;\n return {\n id: route.id,\n pathname,\n params,\n data: loaderData[route.id],\n handle: route.handle\n };\n}\nfunction flattenRoutes(routes, branches, parentsMeta, parentPath) {\n if (branches === void 0) {\n branches = [];\n }\n if (parentsMeta === void 0) {\n parentsMeta = [];\n }\n if (parentPath === void 0) {\n parentPath = \"\";\n }\n let flattenRoute = (route, index, relativePath) => {\n let meta = {\n relativePath: relativePath === undefined ? route.path || \"\" : relativePath,\n caseSensitive: route.caseSensitive === true,\n childrenIndex: index,\n route\n };\n if (meta.relativePath.startsWith(\"/\")) {\n invariant(meta.relativePath.startsWith(parentPath), \"Absolute route path \\\"\" + meta.relativePath + \"\\\" nested under path \" + (\"\\\"\" + parentPath + \"\\\" is not valid. An absolute child route path \") + \"must start with the combined path of all its parent routes.\");\n meta.relativePath = meta.relativePath.slice(parentPath.length);\n }\n let path = joinPaths([parentPath, meta.relativePath]);\n let routesMeta = parentsMeta.concat(meta);\n // Add the children before adding this route to the array, so we traverse the\n // route tree depth-first and child routes appear before their parents in\n // the \"flattened\" version.\n if (route.children && route.children.length > 0) {\n invariant(\n // Our types know better, but runtime JS may not!\n // @ts-expect-error\n route.index !== true, \"Index routes must not have child routes. Please remove \" + (\"all child routes from route path \\\"\" + path + \"\\\".\"));\n flattenRoutes(route.children, branches, routesMeta, path);\n }\n // Routes without a path shouldn't ever match by themselves unless they are\n // index routes, so don't add them to the list of possible branches.\n if (route.path == null && !route.index) {\n return;\n }\n branches.push({\n path,\n score: computeScore(path, route.index),\n routesMeta\n });\n };\n routes.forEach((route, index) => {\n var _route$path;\n // coarse-grain check for optional params\n if (route.path === \"\" || !((_route$path = route.path) != null && _route$path.includes(\"?\"))) {\n flattenRoute(route, index);\n } else {\n for (let exploded of explodeOptionalSegments(route.path)) {\n flattenRoute(route, index, exploded);\n }\n }\n });\n return branches;\n}\n/**\n * Computes all combinations of optional path segments for a given path,\n * excluding combinations that are ambiguous and of lower priority.\n *\n * For example, `/one/:two?/three/:four?/:five?` explodes to:\n * - `/one/three`\n * - `/one/:two/three`\n * - `/one/three/:four`\n * - `/one/three/:five`\n * - `/one/:two/three/:four`\n * - `/one/:two/three/:five`\n * - `/one/three/:four/:five`\n * - `/one/:two/three/:four/:five`\n */\nfunction explodeOptionalSegments(path) {\n let segments = path.split(\"/\");\n if (segments.length === 0) return [];\n let [first, ...rest] = segments;\n // Optional path segments are denoted by a trailing `?`\n let isOptional = first.endsWith(\"?\");\n // Compute the corresponding required segment: `foo?` -> `foo`\n let required = first.replace(/\\?$/, \"\");\n if (rest.length === 0) {\n // Intepret empty string as omitting an optional segment\n // `[\"one\", \"\", \"three\"]` corresponds to omitting `:two` from `/one/:two?/three` -> `/one/three`\n return isOptional ? [required, \"\"] : [required];\n }\n let restExploded = explodeOptionalSegments(rest.join(\"/\"));\n let result = [];\n // All child paths with the prefix. Do this for all children before the\n // optional version for all children, so we get consistent ordering where the\n // parent optional aspect is preferred as required. Otherwise, we can get\n // child sections interspersed where deeper optional segments are higher than\n // parent optional segments, where for example, /:two would explode _earlier_\n // then /:one. By always including the parent as required _for all children_\n // first, we avoid this issue\n result.push(...restExploded.map(subpath => subpath === \"\" ? required : [required, subpath].join(\"/\")));\n // Then, if this is an optional value, add all child versions without\n if (isOptional) {\n result.push(...restExploded);\n }\n // for absolute paths, ensure `/` instead of empty segment\n return result.map(exploded => path.startsWith(\"/\") && exploded === \"\" ? \"/\" : exploded);\n}\nfunction rankRouteBranches(branches) {\n branches.sort((a, b) => a.score !== b.score ? b.score - a.score // Higher score first\n : compareIndexes(a.routesMeta.map(meta => meta.childrenIndex), b.routesMeta.map(meta => meta.childrenIndex)));\n}\nconst paramRe = /^:[\\w-]+$/;\nconst dynamicSegmentValue = 3;\nconst indexRouteValue = 2;\nconst emptySegmentValue = 1;\nconst staticSegmentValue = 10;\nconst splatPenalty = -2;\nconst isSplat = s => s === \"*\";\nfunction computeScore(path, index) {\n let segments = path.split(\"/\");\n let initialScore = segments.length;\n if (segments.some(isSplat)) {\n initialScore += splatPenalty;\n }\n if (index) {\n initialScore += indexRouteValue;\n }\n return segments.filter(s => !isSplat(s)).reduce((score, segment) => score + (paramRe.test(segment) ? dynamicSegmentValue : segment === \"\" ? emptySegmentValue : staticSegmentValue), initialScore);\n}\nfunction compareIndexes(a, b) {\n let siblings = a.length === b.length && a.slice(0, -1).every((n, i) => n === b[i]);\n return siblings ?\n // If two routes are siblings, we should try to match the earlier sibling\n // first. This allows people to have fine-grained control over the matching\n // behavior by simply putting routes with identical paths in the order they\n // want them tried.\n a[a.length - 1] - b[b.length - 1] :\n // Otherwise, it doesn't really make sense to rank non-siblings by index,\n // so they sort equally.\n 0;\n}\nfunction matchRouteBranch(branch, pathname) {\n let {\n routesMeta\n } = branch;\n let matchedParams = {};\n let matchedPathname = \"/\";\n let matches = [];\n for (let i = 0; i < routesMeta.length; ++i) {\n let meta = routesMeta[i];\n let end = i === routesMeta.length - 1;\n let remainingPathname = matchedPathname === \"/\" ? pathname : pathname.slice(matchedPathname.length) || \"/\";\n let match = matchPath({\n path: meta.relativePath,\n caseSensitive: meta.caseSensitive,\n end\n }, remainingPathname);\n if (!match) return null;\n Object.assign(matchedParams, match.params);\n let route = meta.route;\n matches.push({\n // TODO: Can this as be avoided?\n params: matchedParams,\n pathname: joinPaths([matchedPathname, match.pathname]),\n pathnameBase: normalizePathname(joinPaths([matchedPathname, match.pathnameBase])),\n route\n });\n if (match.pathnameBase !== \"/\") {\n matchedPathname = joinPaths([matchedPathname, match.pathnameBase]);\n }\n }\n return matches;\n}\n/**\n * Returns a path with params interpolated.\n *\n * @see https://reactrouter.com/utils/generate-path\n */\nfunction generatePath(originalPath, params) {\n if (params === void 0) {\n params = {};\n }\n let path = originalPath;\n if (path.endsWith(\"*\") && path !== \"*\" && !path.endsWith(\"/*\")) {\n warning(false, \"Route path \\\"\" + path + \"\\\" will be treated as if it were \" + (\"\\\"\" + path.replace(/\\*$/, \"/*\") + \"\\\" because the `*` character must \") + \"always follow a `/` in the pattern. To get rid of this warning, \" + (\"please change the route path to \\\"\" + path.replace(/\\*$/, \"/*\") + \"\\\".\"));\n path = path.replace(/\\*$/, \"/*\");\n }\n // ensure `/` is added at the beginning if the path is absolute\n const prefix = path.startsWith(\"/\") ? \"/\" : \"\";\n const stringify = p => p == null ? \"\" : typeof p === \"string\" ? p : String(p);\n const segments = path.split(/\\/+/).map((segment, index, array) => {\n const isLastSegment = index === array.length - 1;\n // only apply the splat if it's the last segment\n if (isLastSegment && segment === \"*\") {\n const star = \"*\";\n // Apply the splat\n return stringify(params[star]);\n }\n const keyMatch = segment.match(/^:([\\w-]+)(\\??)$/);\n if (keyMatch) {\n const [, key, optional] = keyMatch;\n let param = params[key];\n invariant(optional === \"?\" || param != null, \"Missing \\\":\" + key + \"\\\" param\");\n return stringify(param);\n }\n // Remove any optional markers from optional static segments\n return segment.replace(/\\?$/g, \"\");\n })\n // Remove empty segments\n .filter(segment => !!segment);\n return prefix + segments.join(\"/\");\n}\n/**\n * Performs pattern matching on a URL pathname and returns information about\n * the match.\n *\n * @see https://reactrouter.com/utils/match-path\n */\nfunction matchPath(pattern, pathname) {\n if (typeof pattern === \"string\") {\n pattern = {\n path: pattern,\n caseSensitive: false,\n end: true\n };\n }\n let [matcher, compiledParams] = compilePath(pattern.path, pattern.caseSensitive, pattern.end);\n let match = pathname.match(matcher);\n if (!match) return null;\n let matchedPathname = match[0];\n let pathnameBase = matchedPathname.replace(/(.)\\/+$/, \"$1\");\n let captureGroups = match.slice(1);\n let params = compiledParams.reduce((memo, _ref, index) => {\n let {\n paramName,\n isOptional\n } = _ref;\n // We need to compute the pathnameBase here using the raw splat value\n // instead of using params[\"*\"] later because it will be decoded then\n if (paramName === \"*\") {\n let splatValue = captureGroups[index] || \"\";\n pathnameBase = matchedPathname.slice(0, matchedPathname.length - splatValue.length).replace(/(.)\\/+$/, \"$1\");\n }\n const value = captureGroups[index];\n if (isOptional && !value) {\n memo[paramName] = undefined;\n } else {\n memo[paramName] = safelyDecodeURIComponent(value || \"\", paramName);\n }\n return memo;\n }, {});\n return {\n params,\n pathname: matchedPathname,\n pathnameBase,\n pattern\n };\n}\nfunction compilePath(path, caseSensitive, end) {\n if (caseSensitive === void 0) {\n caseSensitive = false;\n }\n if (end === void 0) {\n end = true;\n }\n warning(path === \"*\" || !path.endsWith(\"*\") || path.endsWith(\"/*\"), \"Route path \\\"\" + path + \"\\\" will be treated as if it were \" + (\"\\\"\" + path.replace(/\\*$/, \"/*\") + \"\\\" because the `*` character must \") + \"always follow a `/` in the pattern. To get rid of this warning, \" + (\"please change the route path to \\\"\" + path.replace(/\\*$/, \"/*\") + \"\\\".\"));\n let params = [];\n let regexpSource = \"^\" + path.replace(/\\/*\\*?$/, \"\") // Ignore trailing / and /*, we'll handle it below\n .replace(/^\\/*/, \"/\") // Make sure it has a leading /\n .replace(/[\\\\.*+^${}|()[\\]]/g, \"\\\\$&\") // Escape special regex chars\n .replace(/\\/:([\\w-]+)(\\?)?/g, (_, paramName, isOptional) => {\n params.push({\n paramName,\n isOptional: isOptional != null\n });\n return isOptional ? \"/?([^\\\\/]+)?\" : \"/([^\\\\/]+)\";\n });\n if (path.endsWith(\"*\")) {\n params.push({\n paramName: \"*\"\n });\n regexpSource += path === \"*\" || path === \"/*\" ? \"(.*)$\" // Already matched the initial /, just match the rest\n : \"(?:\\\\/(.+)|\\\\/*)$\"; // Don't include the / in params[\"*\"]\n } else if (end) {\n // When matching to the end, ignore trailing slashes\n regexpSource += \"\\\\/*$\";\n } else if (path !== \"\" && path !== \"/\") {\n // If our path is non-empty and contains anything beyond an initial slash,\n // then we have _some_ form of path in our regex, so we should expect to\n // match only if we find the end of this path segment. Look for an optional\n // non-captured trailing slash (to match a portion of the URL) or the end\n // of the path (if we've matched to the end). We used to do this with a\n // word boundary but that gives false positives on routes like\n // /user-preferences since `-` counts as a word boundary.\n regexpSource += \"(?:(?=\\\\/|$))\";\n } else ;\n let matcher = new RegExp(regexpSource, caseSensitive ? undefined : \"i\");\n return [matcher, params];\n}\nfunction safelyDecodeURI(value) {\n try {\n return decodeURI(value);\n } catch (error) {\n warning(false, \"The URL path \\\"\" + value + \"\\\" could not be decoded because it is is a \" + \"malformed URL segment. This is probably due to a bad percent \" + (\"encoding (\" + error + \").\"));\n return value;\n }\n}\nfunction safelyDecodeURIComponent(value, paramName) {\n try {\n return decodeURIComponent(value);\n } catch (error) {\n warning(false, \"The value for the URL param \\\"\" + paramName + \"\\\" will not be decoded because\" + (\" the string \\\"\" + value + \"\\\" is a malformed URL segment. This is probably\") + (\" due to a bad percent encoding (\" + error + \").\"));\n return value;\n }\n}\n/**\n * @private\n */\nfunction stripBasename(pathname, basename) {\n if (basename === \"/\") return pathname;\n if (!pathname.toLowerCase().startsWith(basename.toLowerCase())) {\n return null;\n }\n // We want to leave trailing slash behavior in the user's control, so if they\n // specify a basename with a trailing slash, we should support it\n let startIndex = basename.endsWith(\"/\") ? basename.length - 1 : basename.length;\n let nextChar = pathname.charAt(startIndex);\n if (nextChar && nextChar !== \"/\") {\n // pathname does not start with basename/\n return null;\n }\n return pathname.slice(startIndex) || \"/\";\n}\n/**\n * Returns a resolved path object relative to the given pathname.\n *\n * @see https://reactrouter.com/utils/resolve-path\n */\nfunction resolvePath(to, fromPathname) {\n if (fromPathname === void 0) {\n fromPathname = \"/\";\n }\n let {\n pathname: toPathname,\n search = \"\",\n hash = \"\"\n } = typeof to === \"string\" ? parsePath(to) : to;\n let pathname = toPathname ? toPathname.startsWith(\"/\") ? toPathname : resolvePathname(toPathname, fromPathname) : fromPathname;\n return {\n pathname,\n search: normalizeSearch(search),\n hash: normalizeHash(hash)\n };\n}\nfunction resolvePathname(relativePath, fromPathname) {\n let segments = fromPathname.replace(/\\/+$/, \"\").split(\"/\");\n let relativeSegments = relativePath.split(\"/\");\n relativeSegments.forEach(segment => {\n if (segment === \"..\") {\n // Keep the root \"\" segment so the pathname starts at /\n if (segments.length > 1) segments.pop();\n } else if (segment !== \".\") {\n segments.push(segment);\n }\n });\n return segments.length > 1 ? segments.join(\"/\") : \"/\";\n}\nfunction getInvalidPathError(char, field, dest, path) {\n return \"Cannot include a '\" + char + \"' character in a manually specified \" + (\"`to.\" + field + \"` field [\" + JSON.stringify(path) + \"]. Please separate it out to the \") + (\"`to.\" + dest + \"` field. Alternatively you may provide the full path as \") + \"a string in <Link to=\\\"...\\\"> and the router will parse it for you.\";\n}\n/**\n * @private\n *\n * When processing relative navigation we want to ignore ancestor routes that\n * do not contribute to the path, such that index/pathless layout routes don't\n * interfere.\n *\n * For example, when moving a route element into an index route and/or a\n * pathless layout route, relative link behavior contained within should stay\n * the same. Both of the following examples should link back to the root:\n *\n * <Route path=\"/\">\n * <Route path=\"accounts\" element={<Link to=\"..\"}>\n * </Route>\n *\n * <Route path=\"/\">\n * <Route path=\"accounts\">\n * <Route element={<AccountsLayout />}> // <-- Does not contribute\n * <Route index element={<Link to=\"..\"} /> // <-- Does not contribute\n * </Route\n * </Route>\n * </Route>\n */\nfunction getPathContributingMatches(matches) {\n return matches.filter((match, index) => index === 0 || match.route.path && match.route.path.length > 0);\n}\n// Return the array of pathnames for the current route matches - used to\n// generate the routePathnames input for resolveTo()\nfunction getResolveToMatches(matches, v7_relativeSplatPath) {\n let pathMatches = getPathContributingMatches(matches);\n // When v7_relativeSplatPath is enabled, use the full pathname for the leaf\n // match so we include splat values for \".\" links. See:\n // https://github.com/remix-run/react-router/issues/11052#issuecomment-1836589329\n if (v7_relativeSplatPath) {\n return pathMatches.map((match, idx) => idx === matches.length - 1 ? match.pathname : match.pathnameBase);\n }\n return pathMatches.map(match => match.pathnameBase);\n}\n/**\n * @private\n */\nfunction resolveTo(toArg, routePathnames, locationPathname, isPathRelative) {\n if (isPathRelative === void 0) {\n isPathRelative = false;\n }\n let to;\n if (typeof toArg === \"string\") {\n to = parsePath(toArg);\n } else {\n to = _extends({}, toArg);\n invariant(!to.pathname || !to.pathname.includes(\"?\"), getInvalidPathError(\"?\", \"pathname\", \"search\", to));\n invariant(!to.pathname || !to.pathname.includes(\"#\"), getInvalidPathError(\"#\", \"pathname\", \"hash\", to));\n invariant(!to.search || !to.search.includes(\"#\"), getInvalidPathError(\"#\", \"search\", \"hash\", to));\n }\n let isEmptyPath = toArg === \"\" || to.pathname === \"\";\n let toPathname = isEmptyPath ? \"/\" : to.pathname;\n let from;\n // Routing is relative to the current pathname if explicitly requested.\n //\n // If a pathname is explicitly provided in `to`, it should be relative to the\n // route context. This is explained in `Note on `<Link to>` values` in our\n // migration guide from v5 as a means of disambiguation between `to` values\n // that begin with `/` and those that do not. However, this is problematic for\n // `to` values that do not provide a pathname. `to` can simply be a search or\n // hash string, in which case we should assume that the navigation is relative\n // to the current location's pathname and *not* the route pathname.\n if (toPathname == null) {\n from = locationPathname;\n } else {\n let routePathnameIndex = routePathnames.length - 1;\n // With relative=\"route\" (the default), each leading .. segment means\n // \"go up one route\" instead of \"go up one URL segment\". This is a key\n // difference from how <a href> works and a major reason we call this a\n // \"to\" value instead of a \"href\".\n if (!isPathRelative && toPathname.startsWith(\"..\")) {\n let toSegments = toPathname.split(\"/\");\n while (toSegments[0] === \"..\") {\n toSegments.shift();\n routePathnameIndex -= 1;\n }\n to.pathname = toSegments.join(\"/\");\n }\n from = routePathnameIndex >= 0 ? routePathnames[routePathnameIndex] : \"/\";\n }\n let path = resolvePath(to, from);\n // Ensure the pathname has a trailing slash if the original \"to\" had one\n let hasExplicitTrailingSlash = toPathname && toPathname !== \"/\" && toPathname.endsWith(\"/\");\n // Or if this was a link to the current path which has a trailing slash\n let hasCurrentTrailingSlash = (isEmptyPath || toPathname === \".\") && locationPathname.endsWith(\"/\");\n if (!path.pathname.endsWith(\"/\") && (hasExplicitTrailingSlash || hasCurrentTrailingSlash)) {\n path.pathname += \"/\";\n }\n return path;\n}\n/**\n * @private\n */\nfunction getToPathname(to) {\n // Empty strings should be treated the same as / paths\n return to === \"\" || to.pathname === \"\" ? \"/\" : typeof to === \"string\" ? parsePath(to).pathname : to.pathname;\n}\n/**\n * @private\n */\nconst joinPaths = paths => paths.join(\"/\").replace(/\\/\\/+/g, \"/\");\n/**\n * @private\n */\nconst normalizePathname = pathname => pathname.replace(/\\/+$/, \"\").replace(/^\\/*/, \"/\");\n/**\n * @private\n */\nconst normalizeSearch = search => !search || search === \"?\" ? \"\" : search.startsWith(\"?\") ? search : \"?\" + search;\n/**\n * @private\n */\nconst normalizeHash = hash => !hash || hash === \"#\" ? \"\" : hash.startsWith(\"#\") ? hash : \"#\" + hash;\n/**\n * This is a shortcut for creating `application/json` responses. Converts `data`\n * to JSON and sets the `Content-Type` header.\n */\nconst json = function json(data, init) {\n if (init === void 0) {\n init = {};\n }\n let responseInit = typeof init === \"number\" ? {\n status: init\n } : init;\n let headers = new Headers(responseInit.headers);\n if (!headers.has(\"Content-Type\")) {\n headers.set(\"Content-Type\", \"application/json; charset=utf-8\");\n }\n return new Response(JSON.stringify(data), _extends({}, responseInit, {\n headers\n }));\n};\nclass AbortedDeferredError extends Error {}\nclass DeferredData {\n constructor(data, responseInit) {\n this.pendingKeysSet = new Set();\n this.subscribers = new Set();\n this.deferredKeys = [];\n invariant(data && typeof data === \"object\" && !Array.isArray(data), \"defer() only accepts plain objects\");\n // Set up an AbortController + Promise we can race against to exit early\n // cancellation\n let reject;\n this.abortPromise = new Promise((_, r) => reject = r);\n this.controller = new AbortController();\n let onAbort = () => reject(new AbortedDeferredError(\"Deferred data aborted\"));\n this.unlistenAbortSignal = () => this.controller.signal.removeEventListener(\"abort\", onAbort);\n this.controller.signal.addEventListener(\"abort\", onAbort);\n this.data = Object.entries(data).reduce((acc, _ref2) => {\n let [key, value] = _ref2;\n return Object.assign(acc, {\n [key]: this.trackPromise(key, value)\n });\n }, {});\n if (this.done) {\n // All incoming values were resolved\n this.unlistenAbortSignal();\n }\n this.init = responseInit;\n }\n trackPromise(key, value) {\n if (!(value instanceof Promise)) {\n return value;\n }\n this.deferredKeys.push(key);\n this.pendingKeysSet.add(key);\n // We store a little wrapper promise that will be extended with\n // _data/_error props upon resolve/reject\n let promise = Promise.race([value, this.abortPromise]).then(data => this.onSettle(promise, key, undefined, data), error => this.onSettle(promise, key, error));\n // Register rejection listeners to avoid uncaught promise rejections on\n // errors or aborted deferred values\n promise.catch(() => {});\n Object.defineProperty(promise, \"_tracked\", {\n get: () => true\n });\n return promise;\n }\n onSettle(promise, key, error, data) {\n if (this.controller.signal.aborted && error instanceof AbortedDeferredError) {\n this.unlistenAbortSignal();\n Object.defineProperty(promise, \"_error\", {\n get: () => error\n });\n return Promise.reject(error);\n }\n this.pendingKeysSet.delete(key);\n if (this.done) {\n // Nothing left to abort!\n this.unlistenAbortSignal();\n }\n // If the promise was resolved/rejected with undefined, we'll throw an error as you\n // should always resolve with a value or null\n if (error === undefined && data === undefined) {\n let undefinedError = new Error(\"Deferred data for key \\\"\" + key + \"\\\" resolved/rejected with `undefined`, \" + \"you must resolve/reject with a value or `null`.\");\n Object.defineProperty(promise, \"_error\", {\n get: () => undefinedError\n });\n this.emit(false, key);\n return Promise.reject(undefinedError);\n }\n if (data === undefined) {\n Object.defineProperty(promise, \"_error\", {\n get: () => error\n });\n this.emit(false, key);\n return Promise.reject(error);\n }\n Object.defineProperty(promise, \"_data\", {\n get: () => data\n });\n this.emit(false, key);\n return data;\n }\n emit(aborted, settledKey) {\n this.subscribers.forEach(subscriber => subscriber(aborted, settledKey));\n }\n subscribe(fn) {\n this.subscribers.add(fn);\n return () => this.subscribers.delete(fn);\n }\n cancel() {\n this.controller.abort();\n this.pendingKeysSet.forEach((v, k) => this.pendingKeysSet.delete(k));\n this.emit(true);\n }\n async resolveData(signal) {\n let aborted = false;\n if (!this.done) {\n let onAbort = () => this.cancel();\n signal.addEventListener(\"abort\", onAbort);\n aborted = await new Promise(resolve => {\n this.subscribe(aborted => {\n signal.removeEventListener(\"abort\", onAbort);\n if (aborted || this.done) {\n resolve(aborted);\n }\n });\n });\n }\n return aborted;\n }\n get done() {\n return this.pendingKeysSet.size === 0;\n }\n get unwrappedData() {\n invariant(this.data !== null && this.done, \"Can only unwrap data on initialized and settled deferreds\");\n return Object.entries(this.data).reduce((acc, _ref3) => {\n let [key, value] = _ref3;\n return Object.assign(acc, {\n [key]: unwrapTrackedPromise(value)\n });\n }, {});\n }\n get pendingKeys() {\n return Array.from(this.pendingKeysSet);\n }\n}\nfunction isTrackedPromise(value) {\n return value instanceof Promise && value._tracked === true;\n}\nfunction unwrapTrackedPromise(value) {\n if (!isTrackedPromise(value)) {\n return value;\n }\n if (value._error) {\n throw value._error;\n }\n return value._data;\n}\nconst defer = function defer(data, init) {\n if (init === void 0) {\n init = {};\n }\n let responseInit = typeof init === \"number\" ? {\n status: init\n } : init;\n return new DeferredData(data, responseInit);\n};\n/**\n * A redirect response. Sets the status code and the `Location` header.\n * Defaults to \"302 Found\".\n */\nconst redirect = function redirect(url, init) {\n if (init === void 0) {\n init = 302;\n }\n let responseInit = init;\n if (typeof responseInit === \"number\") {\n responseInit = {\n status: responseInit\n };\n } else if (typeof responseInit.status === \"undefined\") {\n responseInit.status = 302;\n }\n let headers = new Headers(responseInit.headers);\n headers.set(\"Location\", url);\n return new Response(null, _extends({}, responseInit, {\n headers\n }));\n};\n/**\n * A redirect response that will force a document reload to the new location.\n * Sets the status code and the `Location` header.\n * Defaults to \"302 Found\".\n */\nconst redirectDocument = (url, init) => {\n let response = redirect(url, init);\n response.headers.set(\"X-Remix-Reload-Document\", \"true\");\n return response;\n};\n/**\n * @private\n * Utility class we use to hold auto-unwrapped 4xx/5xx Response bodies\n *\n * We don't export the class for public use since it's an implementation\n * detail, but we export the interface above so folks can build their own\n * abstractions around instances via isRouteErrorResponse()\n */\nclass ErrorResponseImpl {\n constructor(status, statusText, data, internal) {\n if (internal === void 0) {\n internal = false;\n }\n this.status = status;\n this.statusText = statusText || \"\";\n this.internal = internal;\n if (data instanceof Error) {\n this.data = data.toString();\n this.error = data;\n } else {\n this.data = data;\n }\n }\n}\n/**\n * Check if the given error is an ErrorResponse generated from a 4xx/5xx\n * Response thrown from an action/loader\n */\nfunction isRouteErrorResponse(error) {\n return error != null && typeof error.status === \"number\" && typeof error.statusText === \"string\" && typeof error.internal === \"boolean\" && \"data\" in error;\n}\n\nconst validMutationMethodsArr = [\"post\", \"put\", \"patch\", \"delete\"];\nconst validMutationMethods = new Set(validMutationMethodsArr);\nconst validRequestMethodsArr = [\"get\", ...validMutationMethodsArr];\nconst validRequestMethods = new Set(validRequestMethodsArr);\nconst redirectStatusCodes = new Set([301, 302, 303, 307, 308]);\nconst redirectPreserveMethodStatusCodes = new Set([307, 308]);\nconst IDLE_NAVIGATION = {\n state: \"idle\",\n location: undefined,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n json: undefined,\n text: undefined\n};\nconst IDLE_FETCHER = {\n state: \"idle\",\n data: undefined,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n json: undefined,\n text: undefined\n};\nconst IDLE_BLOCKER = {\n state: \"unblocked\",\n proceed: undefined,\n reset: undefined,\n location: undefined\n};\nconst ABSOLUTE_URL_REGEX = /^(?:[a-z][a-z0-9+.-]*:|\\/\\/)/i;\nconst defaultMapRouteProperties = route => ({\n hasErrorBoundary: Boolean(route.hasErrorBoundary)\n});\nconst TRANSITIONS_STORAGE_KEY = \"remix-router-transitions\";\n//#endregion\n////////////////////////////////////////////////////////////////////////////////\n//#region createRouter\n////////////////////////////////////////////////////////////////////////////////\n/**\n * Create a router and listen to history POP navigations\n */\nfunction createRouter(init) {\n const routerWindow = init.window ? init.window : typeof window !== \"undefined\" ? window : undefined;\n const isBrowser = typeof routerWindow !== \"undefined\" && typeof routerWindow.document !== \"undefined\" && typeof routerWindow.document.createElement !== \"undefined\";\n const isServer = !isBrowser;\n invariant(init.routes.length > 0, \"You must provide a non-empty routes array to createRouter\");\n let mapRouteProperties;\n if (init.mapRouteProperties) {\n mapRouteProperties = init.mapRouteProperties;\n } else if (init.detectErrorBoundary) {\n // If they are still using the deprecated version, wrap it with the new API\n let detectErrorBoundary = init.detectErrorBoundary;\n mapRouteProperties = route => ({\n hasErrorBoundary: detectErrorBoundary(route)\n });\n } else {\n mapRouteProperties = defaultMapRouteProperties;\n }\n // Routes keyed by ID\n let manifest = {};\n // Routes in tree format for matching\n let dataRoutes = convertRoutesToDataRoutes(init.routes, mapRouteProperties, undefined, manifest);\n let inFlightDataRoutes;\n let basename = init.basename || \"/\";\n // Config driven behavior flags\n let future = _extends({\n v7_fetcherPersist: false,\n v7_normalizeFormMethod: false,\n v7_partialHydration: false,\n v7_prependBasename: false,\n v7_relativeSplatPath: false\n }, init.future);\n // Cleanup function for history\n let unlistenHistory = null;\n // Externally-provided functions to call on all state changes\n let subscribers = new Set();\n // Externally-provided object to hold scroll restoration locations during routing\n let savedScrollPositions = null;\n // Externally-provided function to get scroll restoration keys\n let getScrollRestorationKey = null;\n // Externally-provided function to get current scroll position\n let getScrollPosition = null;\n // One-time flag to control the initial hydration scroll restoration. Because\n // we don't get the saved positions from <ScrollRestoration /> until _after_\n // the initial render, we need to manually trigger a separate updateState to\n // send along the restoreScrollPosition\n // Set to true if we have `hydrationData` since we assume we were SSR'd and that\n // SSR did the initial scroll restoration.\n let initialScrollRestored = init.hydrationData != null;\n let initialMatches = matchRoutes(dataRoutes, init.history.location, basename);\n let initialErrors = null;\n if (initialMatches == null) {\n // If we do not match a user-provided-route, fall back to the root\n // to allow the error boundary to take over\n let error = getInternalRouterError(404, {\n pathname: init.history.location.pathname\n });\n let {\n matches,\n route\n } = getShortCircuitMatches(dataRoutes);\n initialMatches = matches;\n initialErrors = {\n [route.id]: error\n };\n }\n let initialized;\n let hasLazyRoutes = initialMatches.some(m => m.route.lazy);\n let hasLoaders = initialMatches.some(m => m.route.loader);\n if (hasLazyRoutes) {\n // All initialMatches need to be loaded before we're ready. If we have lazy\n // functions around still then we'll need to run them in initialize()\n initialized = false;\n } else if (!hasLoaders) {\n // If we've got no loaders to run, then we're good to go\n initialized = true;\n } else if (future.v7_partialHydration) {\n // If partial hydration is enabled, we're initialized so long as we were\n // provided with hydrationData for every route with a loader, and no loaders\n // were marked for explicit hydration\n let loaderData = init.hydrationData ? init.hydrationData.loaderData : null;\n let errors = init.hydrationData ? init.hydrationData.errors : null;\n initialized = initialMatches.every(m => m.route.loader && m.route.loader.hydrate !== true && (loaderData && loaderData[m.route.id] !== undefined || errors && errors[m.route.id] !== undefined));\n } else {\n // Without partial hydration - we're initialized if we were provided any\n // hydrationData - which is expected to be complete\n initialized = init.hydrationData != null;\n }\n let router;\n let state = {\n historyAction: init.history.action,\n location: init.history.location,\n matches: initialMatches,\n initialized,\n navigation: IDLE_NAVIGATION,\n // Don't restore on initial updateState() if we were SSR'd\n restoreScrollPosition: init.hydrationData != null ? false : null,\n preventScrollReset: false,\n revalidation: \"idle\",\n loaderData: init.hydrationData && init.hydrationData.loaderData || {},\n actionData: init.hydrationData && init.hydrationData.actionData || null,\n errors: init.hydrationData && init.hydrationData.errors || initialErrors,\n fetchers: new Map(),\n blockers: new Map()\n };\n // -- Stateful internal variables to manage navigations --\n // Current navigation in progress (to be committed in completeNavigation)\n let pendingAction = Action.Pop;\n // Should the current navigation prevent the scroll reset if scroll cannot\n // be restored?\n let pendingPreventScrollReset = false;\n // AbortController for the active navigation\n let pendingNavigationController;\n // Should the current navigation enable document.startViewTransition?\n let pendingViewTransitionEnabled = false;\n // Store applied view transitions so we can apply them on POP\n let appliedViewTransitions = new Map();\n // Cleanup function for persisting applied transitions to sessionStorage\n let removePageHideEventListener = null;\n // We use this to avoid touching history in completeNavigation if a\n // revalidation is entirely uninterrupted\n let isUninterruptedRevalidation = false;\n // Use this internal flag to force revalidation of all loaders:\n // - submissions (completed or interrupted)\n // - useRevalidator()\n // - X-Remix-Revalidate (from redirect)\n let isRevalidationRequired = false;\n // Use this internal array to capture routes that require revalidation due\n // to a cancelled deferred on action submission\n let cancelledDeferredRoutes = [];\n // Use this internal array to capture fetcher loads that were cancelled by an\n // action navigation and require revalidation\n let cancelledFetcherLoads = [];\n // AbortControllers for any in-flight fetchers\n let fetchControllers = new Map();\n // Track loads based on the order in which they started\n let incrementingLoadId = 0;\n // Track the outstanding pending navigation data load to be compared against\n // the globally incrementing load when a fetcher load lands after a completed\n // navigation\n let pendingNavigationLoadId = -1;\n // Fetchers that triggered data reloads as a result of their actions\n let fetchReloadIds = new Map();\n // Fetchers that triggered redirect navigations\n let fetchRedirectIds = new Set();\n // Most recent href/match for fetcher.load calls for fetchers\n let fetchLoadMatches = new Map();\n // Ref-count mounted fetchers so we know when it's ok to clean them up\n let activeFetchers = new Map();\n // Fetchers that have requested a delete when using v7_fetcherPersist,\n // they'll be officially removed after they return to idle\n let deletedFetchers = new Set();\n // Store DeferredData instances for active route matches. When a\n // route loader returns defer() we stick one in here. Then, when a nested\n // promise resolves we update loaderData. If a new navigation starts we\n // cancel active deferreds for eliminated routes.\n let activeDeferreds = new Map();\n // Store blocker functions in a separate Map outside of router state since\n // we don't need to update UI state if they change\n let blockerFunctions = new Map();\n // Flag to ignore the next history update, so we can revert the URL change on\n // a POP navigation that was blocked by the user without touching router state\n let ignoreNextHistoryUpdate = false;\n // Initialize the router, all side effects should be kicked off from here.\n // Implemented as a Fluent API for ease of:\n // let router = createRouter(init).initialize();\n function initialize() {\n // If history informs us of a POP navigation, start the navigation but do not update\n // state. We'll update our own state once the navigation completes\n unlistenHistory = init.history.listen(_ref => {\n let {\n action: historyAction,\n location,\n delta\n } = _ref;\n // Ignore this event if it was just us resetting the URL from a\n // blocked POP navigation\n if (ignoreNextHistoryUpdate) {\n ignoreNextHistoryUpdate = false;\n return;\n }\n warning(blockerFunctions.size === 0 || delta != null, \"You are trying to use a blocker on a POP navigation to a location \" + \"that was not created by @remix-run/router. This will fail silently in \" + \"production. This can happen if you are navigating outside the router \" + \"via `window.history.pushState`/`window.location.hash` instead of using \" + \"router navigation APIs. This can also happen if you are using \" + \"createHashRouter and the user manually changes the URL.\");\n let blockerKey = shouldBlockNavigation({\n currentLocation: state.location,\n nextLocation: location,\n historyAction\n });\n if (blockerKey && delta != null) {\n // Restore the URL to match the current UI, but don't update router state\n ignoreNextHistoryUpdate = true;\n init.history.go(delta * -1);\n // Put the blocker into a blocked state\n updateBlocker(blockerKey, {\n state: \"blocked\",\n location,\n proceed() {\n updateBlocker(blockerKey, {\n state: \"proceeding\",\n proceed: undefined,\n reset: undefined,\n location\n });\n // Re-do the same POP navigation we just blocked\n init.history.go(delta);\n },\n reset() {\n let blockers = new Map(state.blockers);\n blockers.set(blockerKey, IDLE_BLOCKER);\n updateState({\n blockers\n });\n }\n });\n return;\n }\n return startNavigation(historyAction, location);\n });\n if (isBrowser) {\n // FIXME: This feels gross. How can we cleanup the lines between\n // scrollRestoration/appliedTransitions persistance?\n restoreAppliedTransitions(routerWindow, appliedViewTransitions);\n let _saveAppliedTransitions = () => persistAppliedTransitions(routerWindow, appliedViewTransitions);\n routerWindow.addEventListener(\"pagehide\", _saveAppliedTransitions);\n removePageHideEventListener = () => routerWindow.removeEventListener(\"pagehide\", _saveAppliedTransitions);\n }\n // Kick off initial data load if needed. Use Pop to avoid modifying history\n // Note we don't do any handling of lazy here. For SPA's it'll get handled\n // in the normal navigation flow. For SSR it's expected that lazy modules are\n // resolved prior to router creation since we can't go into a fallbackElement\n // UI for SSR'd apps\n if (!state.initialized) {\n startNavigation(Action.Pop, state.location, {\n initialHydration: true\n });\n }\n return router;\n }\n // Clean up a router and it's side effects\n function dispose() {\n if (unlistenHistory) {\n unlistenHistory();\n }\n if (removePageHideEventListener) {\n removePageHideEventListener();\n }\n subscribers.clear();\n pendingNavigationController && pendingNavigationController.abort();\n state.fetchers.forEach((_, key) => deleteFetcher(key));\n state.blockers.forEach((_, key) => deleteBlocker(key));\n }\n // Subscribe to state updates for the router\n function subscribe(fn) {\n subscribers.add(fn);\n return () => subscribers.delete(fn);\n }\n // Update our state and notify the calling context of the change\n function updateState(newState, opts) {\n if (opts === void 0) {\n opts = {};\n }\n state = _extends({}, state, newState);\n // Prep fetcher cleanup so we can tell the UI which fetcher data entries\n // can be removed\n let completedFetchers = [];\n let deletedFetchersKeys = [];\n if (future.v7_fetcherPersist) {\n state.fetchers.forEach((fetcher, key) => {\n if (fetcher.state === \"idle\") {\n if (deletedFetchers.has(key)) {\n // Unmounted from the UI and can be totally removed\n deletedFetchersKeys.push(key);\n } else {\n // Returned to idle but still mounted in the UI, so semi-remains for\n // revalidations and such\n completedFetchers.push(key);\n }\n }\n });\n }\n // Iterate over a local copy so that if flushSync is used and we end up\n // removing and adding a new subscriber due to the useCallback dependencies,\n // we don't get ourselves into a loop calling the new subscriber immediately\n [...subscribers].forEach(subscriber => subscriber(state, {\n deletedFetchers: deletedFetchersKeys,\n unstable_viewTransitionOpts: opts.viewTransitionOpts,\n unstable_flushSync: opts.flushSync === true\n }));\n // Remove idle fetchers from state since we only care about in-flight fetchers.\n if (future.v7_fetcherPersist) {\n completedFetchers.forEach(key => state.fetchers.delete(key));\n deletedFetchersKeys.forEach(key => deleteFetcher(key));\n }\n }\n // Complete a navigation returning the state.navigation back to the IDLE_NAVIGATION\n // and setting state.[historyAction/location/matches] to the new route.\n // - Location is a required param\n // - Navigation will always be set to IDLE_NAVIGATION\n // - Can pass any other state in newState\n function completeNavigation(location, newState, _temp) {\n var _location$state, _location$state2;\n let {\n flushSync\n } = _temp === void 0 ? {} : _temp;\n // Deduce if we're in a loading/actionReload state:\n // - We have committed actionData in the store\n // - The current navigation was a mutation submission\n // - We're past the submitting state and into the loading state\n // - The location being loaded is not the result of a redirect\n let isActionReload = state.actionData != null && state.navigation.formMethod != null && isMutationMethod(state.navigation.formMethod) && state.navigation.state === \"loading\" && ((_location$state = location.state) == null ? void 0 : _location$state._isRedirect) !== true;\n let actionData;\n if (newState.actionData) {\n if (Object.keys(newState.actionData).length > 0) {\n actionData = newState.actionData;\n } else {\n // Empty actionData -> clear prior actionData due to an action error\n actionData = null;\n }\n } else if (isActionReload) {\n // Keep the current data if we're wrapping up the action reload\n actionData = state.actionData;\n } else {\n // Clear actionData on any other completed navigations\n actionData = null;\n }\n // Always preserve any existing loaderData from re-used routes\n let loaderData = newState.loaderData ? mergeLoaderData(state.loaderData, newState.loaderData, newState.matches || [], newState.errors) : state.loaderData;\n // On a successful navigation we can assume we got through all blockers\n // so we can start fresh\n let blockers = state.blockers;\n if (blockers.size > 0) {\n blockers = new Map(blockers);\n blockers.forEach((_, k) => blockers.set(k, IDLE_BLOCKER));\n }\n // Always respect the user flag. Otherwise don't reset on mutation\n // submission navigations unless they redirect\n let preventScrollReset = pendingPreventScrollReset === true || state.navigation.formMethod != null && isMutationMethod(state.navigation.formMethod) && ((_location$state2 = location.state) == null ? void 0 : _location$state2._isRedirect) !== true;\n if (inFlightDataRoutes) {\n dataRoutes = inFlightDataRoutes;\n inFlightDataRoutes = undefined;\n }\n if (isUninterruptedRevalidation) ; else if (pendingAction === Action.Pop) ; else if (pendingAction === Action.Push) {\n init.history.push(location, location.state);\n } else if (pendingAction === Action.Replace) {\n init.history.replace(location, location.state);\n }\n let viewTransitionOpts;\n // On POP, enable transitions if they were enabled on the original navigation\n if (pendingAction === Action.Pop) {\n // Forward takes precedence so they behave like the original navigation\n let priorPaths = appliedViewTransitions.get(state.location.pathname);\n if (priorPaths && priorPaths.has(location.pathname)) {\n viewTransitionOpts = {\n currentLocation: state.location,\n nextLocation: location\n };\n } else if (appliedViewTransitions.has(location.pathname)) {\n // If we don't have a previous forward nav, assume we're popping back to\n // the new location and enable if that location previously enabled\n viewTransitionOpts = {\n currentLocation: location,\n nextLocation: state.location\n };\n }\n } else if (pendingViewTransitionEnabled) {\n // Store the applied transition on PUSH/REPLACE\n let toPaths = appliedViewTransitions.get(state.location.pathname);\n if (toPaths) {\n toPaths.add(location.pathname);\n } else {\n toPaths = new Set([location.pathname]);\n appliedViewTransitions.set(state.location.pathname, toPaths);\n }\n viewTransitionOpts = {\n currentLocation: state.location,\n nextLocation: location\n };\n }\n updateState(_extends({}, newState, {\n actionData,\n loaderData,\n historyAction: pendingAction,\n location,\n initialized: true,\n navigation: IDLE_NAVIGATION,\n revalidation: \"idle\",\n restoreScrollPosition: getSavedScrollPosition(location, newState.matches || state.matches),\n preventScrollReset,\n blockers\n }), {\n viewTransitionOpts,\n flushSync: flushSync === true\n });\n // Reset stateful navigation vars\n pendingAction = Action.Pop;\n pendingPreventScrollReset = false;\n pendingViewTransitionEnabled = false;\n isUninterruptedRevalidation = false;\n isRevalidationRequired = false;\n cancelledDeferredRoutes = [];\n cancelledFetcherLoads = [];\n }\n // Trigger a navigation event, which can either be a numerical POP or a PUSH\n // replace with an optional submission\n async function navigate(to, opts) {\n if (typeof to === \"number\") {\n init.history.go(to);\n return;\n }\n let normalizedPath = normalizeTo(state.location, state.matches, basename, future.v7_prependBasename, to, future.v7_relativeSplatPath, opts == null ? void 0 : opts.fromRouteId, opts == null ? void 0 : opts.relative);\n let {\n path,\n submission,\n error\n } = normalizeNavigateOptions(future.v7_normalizeFormMethod, false, normalizedPath, opts);\n let currentLocation = state.location;\n let nextLocation = createLocation(state.location, path, opts && opts.state);\n // When using navigate as a PUSH/REPLACE we aren't reading an already-encoded\n // URL from window.location, so we need to encode it here so the behavior\n // remains the same as POP and non-data-router usages. new URL() does all\n // the same encoding we'd get from a history.pushState/window.location read\n // without having to touch history\n nextLocation = _extends({}, nextLocation, init.history.encodeLocation(nextLocation));\n let userReplace = opts && opts.replace != null ? opts.replace : undefined;\n let historyAction = Action.Push;\n if (userReplace === true) {\n historyAction = Action.Replace;\n } else if (userReplace === false) ; else if (submission != null && isMutationMethod(submission.formMethod) && submission.formAction === state.location.pathname + state.location.search) {\n // By default on submissions to the current location we REPLACE so that\n // users don't have to double-click the back button to get to the prior\n // location. If the user redirects to a different location from the\n // action/loader this will be ignored and the redirect will be a PUSH\n historyAction = Action.Replace;\n }\n let preventScrollReset = opts && \"preventScrollReset\" in opts ? opts.preventScrollReset === true : undefined;\n let flushSync = (opts && opts.unstable_flushSync) === true;\n let blockerKey = shouldBlockNavigation({\n currentLocation,\n nextLocation,\n historyAction\n });\n if (blockerKey) {\n // Put the blocker into a blocked state\n updateBlocker(blockerKey, {\n state: \"blocked\",\n location: nextLocation,\n proceed() {\n updateBlocker(blockerKey, {\n state: \"proceeding\",\n proceed: undefined,\n reset: undefined,\n location: nextLocation\n });\n // Send the same navigation through\n navigate(to, opts);\n },\n reset() {\n let blockers = new Map(state.blockers);\n blockers.set(blockerKey, IDLE_BLOCKER);\n updateState({\n blockers\n });\n }\n });\n return;\n }\n return await startNavigation(historyAction, nextLocation, {\n submission,\n // Send through the formData serialization error if we have one so we can\n // render at the right error boundary after we match routes\n pendingError: error,\n preventScrollReset,\n replace: opts && opts.replace,\n enableViewTransition: opts && opts.unstable_viewTransition,\n flushSync\n });\n }\n // Revalidate all current loaders. If a navigation is in progress or if this\n // is interrupted by a navigation, allow this to \"succeed\" by calling all\n // loaders during the next loader round\n function revalidate() {\n interruptActiveLoads();\n updateState({\n revalidation: \"loading\"\n });\n // If we're currently submitting an action, we don't need to start a new\n // navigation, we'll just let the follow up loader execution call all loaders\n if (state.navigation.state === \"submitting\") {\n return;\n }\n // If we're currently in an idle state, start a new navigation for the current\n // action/location and mark it as uninterrupted, which will skip the history\n // update in completeNavigation\n if (state.navigation.state === \"idle\") {\n startNavigation(state.historyAction, state.location, {\n startUninterruptedRevalidation: true\n });\n return;\n }\n // Otherwise, if we're currently in a loading state, just start a new\n // navigation to the navigation.location but do not trigger an uninterrupted\n // revalidation so that history correctly updates once the navigation completes\n startNavigation(pendingAction || state.historyAction, state.navigation.location, {\n overrideNavigation: state.navigation\n });\n }\n // Start a navigation to the given action/location. Can optionally provide a\n // overrideNavigation which will override the normalLoad in the case of a redirect\n // navigation\n async function startNavigation(historyAction, location, opts) {\n // Abort any in-progress navigations and start a new one. Unset any ongoing\n // uninterrupted revalidations unless told otherwise, since we want this\n // new navigation to update history normally\n pendingNavigationController && pendingNavigationController.abort();\n pendingNavigationController = null;\n pendingAction = historyAction;\n isUninterruptedRevalidation = (opts && opts.startUninterruptedRevalidation) === true;\n // Save the current scroll position every time we start a new navigation,\n // and track whether we should reset scroll on completion\n saveScrollPosition(state.location, state.matches);\n pendingPreventScrollReset = (opts && opts.preventScrollReset) === true;\n pendingViewTransitionEnabled = (opts && opts.enableViewTransition) === true;\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let loadingNavigation = opts && opts.overrideNavigation;\n let matches = matchRoutes(routesToUse, location, basename);\n let flushSync = (opts && opts.flushSync) === true;\n // Short circuit with a 404 on the root error boundary if we match nothing\n if (!matches) {\n let error = getInternalRouterError(404, {\n pathname: location.pathname\n });\n let {\n matches: notFoundMatches,\n route\n } = getShortCircuitMatches(routesToUse);\n // Cancel all pending deferred on 404s since we don't keep any routes\n cancelActiveDeferreds();\n completeNavigation(location, {\n matches: notFoundMatches,\n loaderData: {},\n errors: {\n [route.id]: error\n }\n }, {\n flushSync\n });\n return;\n }\n // Short circuit if it's only a hash change and not a revalidation or\n // mutation submission.\n //\n // Ignore on initial page loads because since the initial load will always\n // be \"same hash\". For example, on /page#hash and submit a <Form method=\"post\">\n // which will default to a navigation to /page\n if (state.initialized && !isRevalidationRequired && isHashChangeOnly(state.location, location) && !(opts && opts.submission && isMutationMethod(opts.submission.formMethod))) {\n completeNavigation(location, {\n matches\n }, {\n flushSync\n });\n return;\n }\n // Create a controller/Request for this navigation\n pendingNavigationController = new AbortController();\n let request = createClientSideRequest(init.history, location, pendingNavigationController.signal, opts && opts.submission);\n let pendingActionData;\n let pendingError;\n if (opts && opts.pendingError) {\n // If we have a pendingError, it means the user attempted a GET submission\n // with binary FormData so assign here and skip to handleLoaders. That\n // way we handle calling loaders above the boundary etc. It's not really\n // different from an actionError in that sense.\n pendingError = {\n [findNearestBoundary(matches).route.id]: opts.pendingError\n };\n } else if (opts && opts.submission && isMutationMethod(opts.submission.formMethod)) {\n // Call action if we received an action submission\n let actionOutput = await handleAction(request, location, opts.submission, matches, {\n replace: opts.replace,\n flushSync\n });\n if (actionOutput.shortCircuited) {\n return;\n }\n pendingActionData = actionOutput.pendingActionData;\n pendingError = actionOutput.pendingActionError;\n loadingNavigation = getLoadingNavigation(location, opts.submission);\n flushSync = false;\n // Create a GET request for the loaders\n request = new Request(request.url, {\n signal: request.signal\n });\n }\n // Call loaders\n let {\n shortCircuited,\n loaderData,\n errors\n } = await handleLoaders(request, location, matches, loadingNavigation, opts && opts.submission, opts && opts.fetcherSubmission, opts && opts.replace, opts && opts.initialHydration === true, flushSync, pendingActionData, pendingError);\n if (shortCircuited) {\n return;\n }\n // Clean up now that the action/loaders have completed. Don't clean up if\n // we short circuited because pendingNavigationController will have already\n // been assigned to a new controller for the next navigation\n pendingNavigationController = null;\n completeNavigation(location, _extends({\n matches\n }, pendingActionData ? {\n actionData: pendingActionData\n } : {}, {\n loaderData,\n errors\n }));\n }\n // Call the action matched by the leaf route for this navigation and handle\n // redirects/errors\n async function handleAction(request, location, submission, matches, opts) {\n if (opts === void 0) {\n opts = {};\n }\n interruptActiveLoads();\n // Put us in a submitting state\n let navigation = getSubmittingNavigation(location, submission);\n updateState({\n navigation\n }, {\n flushSync: opts.flushSync === true\n });\n // Call our action and get the result\n let result;\n let actionMatch = getTargetMatch(matches, location);\n if (!actionMatch.route.action && !actionMatch.route.lazy) {\n result = {\n type: ResultType.error,\n error: getInternalRouterError(405, {\n method: request.method,\n pathname: location.pathname,\n routeId: actionMatch.route.id\n })\n };\n } else {\n result = await callLoaderOrAction(\"action\", request, actionMatch, matches, manifest, mapRouteProperties, basename, future.v7_relativeSplatPath);\n if (request.signal.aborted) {\n return {\n shortCircuited: true\n };\n }\n }\n if (isRedirectResult(result)) {\n let replace;\n if (opts && opts.replace != null) {\n replace = opts.replace;\n } else {\n // If the user didn't explicity indicate replace behavior, replace if\n // we redirected to the exact same location we're currently at to avoid\n // double back-buttons\n replace = result.location === state.location.pathname + state.location.search;\n }\n await startRedirectNavigation(state, result, {\n submission,\n replace\n });\n return {\n shortCircuited: true\n };\n }\n if (isErrorResult(result)) {\n // Store off the pending error - we use it to determine which loaders\n // to call and will commit it when we complete the navigation\n let boundaryMatch = findNearestBoundary(matches, actionMatch.route.id);\n // By default, all submissions are REPLACE navigations, but if the\n // action threw an error that'll be rendered in an errorElement, we fall\n // back to PUSH so that the user can use the back button to get back to\n // the pre-submission form location to try again\n if ((opts && opts.replace) !== true) {\n pendingAction = Action.Push;\n }\n return {\n // Send back an empty object we can use to clear out any prior actionData\n pendingActionData: {},\n pendingActionError: {\n [boundaryMatch.route.id]: result.error\n }\n };\n }\n if (isDeferredResult(result)) {\n throw getInternalRouterError(400, {\n type: \"defer-action\"\n });\n }\n return {\n pendingActionData: {\n [actionMatch.route.id]: result.data\n }\n };\n }\n // Call all applicable loaders for the given matches, handling redirects,\n // errors, etc.\n async function handleLoaders(request, location, matches, overrideNavigation, submission, fetcherSubmission, replace, initialHydration, flushSync, pendingActionData, pendingError) {\n // Figure out the right navigation we want to use for data loading\n let loadingNavigation = overrideNavigation || getLoadingNavigation(location, submission);\n // If this was a redirect from an action we don't have a \"submission\" but\n // we have it on the loading navigation so use that if available\n let activeSubmission = submission || fetcherSubmission || getSubmissionFromNavigation(loadingNavigation);\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let [matchesToLoad, revalidatingFetchers] = getMatchesToLoad(init.history, state, matches, activeSubmission, location, future.v7_partialHydration && initialHydration === true, isRevalidationRequired, cancelledDeferredRoutes, cancelledFetcherLoads, deletedFetchers, fetchLoadMatches, fetchRedirectIds, routesToUse, basename, pendingActionData, pendingError);\n // Cancel pending deferreds for no-longer-matched routes or routes we're\n // about to reload. Note that if this is an action reload we would have\n // already cancelled all pending deferreds so this would be a no-op\n cancelActiveDeferreds(routeId => !(matches && matches.some(m => m.route.id === routeId)) || matchesToLoad && matchesToLoad.some(m => m.route.id === routeId));\n pendingNavigationLoadId = ++incrementingLoadId;\n // Short circuit if we have no loaders to run\n if (matchesToLoad.length === 0 && revalidatingFetchers.length === 0) {\n let updatedFetchers = markFetchRedirectsDone();\n completeNavigation(location, _extends({\n matches,\n loaderData: {},\n // Commit pending error if we're short circuiting\n errors: pendingError || null\n }, pendingActionData ? {\n actionData: pendingActionData\n } : {}, updatedFetchers ? {\n fetchers: new Map(state.fetchers)\n } : {}), {\n flushSync\n });\n return {\n shortCircuited: true\n };\n }\n // If this is an uninterrupted revalidation, we remain in our current idle\n // state. If not, we need to switch to our loading state and load data,\n // preserving any new action data or existing action data (in the case of\n // a revalidation interrupting an actionReload)\n // If we have partialHydration enabled, then don't update the state for the\n // initial data load since iot's not a \"navigation\"\n if (!isUninterruptedRevalidation && (!future.v7_partialHydration || !initialHydration)) {\n revalidatingFetchers.forEach(rf => {\n let fetcher = state.fetchers.get(rf.key);\n let revalidatingFetcher = getLoadingFetcher(undefined, fetcher ? fetcher.data : undefined);\n state.fetchers.set(rf.key, revalidatingFetcher);\n });\n let actionData = pendingActionData || state.actionData;\n updateState(_extends({\n navigation: loadingNavigation\n }, actionData ? Object.keys(actionData).length === 0 ? {\n actionData: null\n } : {\n actionData\n } : {}, revalidatingFetchers.length > 0 ? {\n fetchers: new Map(state.fetchers)\n } : {}), {\n flushSync\n });\n }\n revalidatingFetchers.forEach(rf => {\n if (fetchControllers.has(rf.key)) {\n abortFetcher(rf.key);\n }\n if (rf.controller) {\n // Fetchers use an independent AbortController so that aborting a fetcher\n // (via deleteFetcher) does not abort the triggering navigation that\n // triggered the revalidation\n fetchControllers.set(rf.key, rf.controller);\n }\n });\n // Proxy navigation abort through to revalidation fetchers\n let abortPendingFetchRevalidations = () => revalidatingFetchers.forEach(f => abortFetcher(f.key));\n if (pendingNavigationController) {\n pendingNavigationController.signal.addEventListener(\"abort\", abortPendingFetchRevalidations);\n }\n let {\n results,\n loaderResults,\n fetcherResults\n } = await callLoadersAndMaybeResolveData(state.matches, matches, matchesToLoad, revalidatingFetchers, request);\n if (request.signal.aborted) {\n return {\n shortCircuited: true\n };\n }\n // Clean up _after_ loaders have completed. Don't clean up if we short\n // circuited because fetchControllers would have been aborted and\n // reassigned to new controllers for the next navigation\n if (pendingNavigationController) {\n pendingNavigationController.signal.removeEventListener(\"abort\", abortPendingFetchRevalidations);\n }\n revalidatingFetchers.forEach(rf => fetchControllers.delete(rf.key));\n // If any loaders returned a redirect Response, start a new REPLACE navigation\n let redirect = findRedirect(results);\n if (redirect) {\n if (redirect.idx >= matchesToLoad.length) {\n // If this redirect came from a fetcher make sure we mark it in\n // fetchRedirectIds so it doesn't get revalidated on the next set of\n // loader executions\n let fetcherKey = revalidatingFetchers[redirect.idx - matchesToLoad.length].key;\n fetchRedirectIds.add(fetcherKey);\n }\n await startRedirectNavigation(state, redirect.result, {\n replace\n });\n return {\n shortCircuited: true\n };\n }\n // Process and commit output from loaders\n let {\n loaderData,\n errors\n } = processLoaderData(state, matches, matchesToLoad, loaderResults, pendingError, revalidatingFetchers, fetcherResults, activeDeferreds);\n // Wire up subscribers to update loaderData as promises settle\n activeDeferreds.forEach((deferredData, routeId) => {\n deferredData.subscribe(aborted => {\n // Note: No need to updateState here since the TrackedPromise on\n // loaderData is stable across resolve/reject\n // Remove this instance if we were aborted or if promises have settled\n if (aborted || deferredData.done) {\n activeDeferreds.delete(routeId);\n }\n });\n });\n let updatedFetchers = markFetchRedirectsDone();\n let didAbortFetchLoads = abortStaleFetchLoads(pendingNavigationLoadId);\n let shouldUpdateFetchers = updatedFetchers || didAbortFetchLoads || revalidatingFetchers.length > 0;\n return _extends({\n loaderData,\n errors\n }, shouldUpdateFetchers ? {\n fetchers: new Map(state.fetchers)\n } : {});\n }\n // Trigger a fetcher load/submit for the given fetcher key\n function fetch(key, routeId, href, opts) {\n if (isServer) {\n throw new Error(\"router.fetch() was called during the server render, but it shouldn't be. \" + \"You are likely calling a useFetcher() method in the body of your component. \" + \"Try moving it to a useEffect or a callback.\");\n }\n if (fetchControllers.has(key)) abortFetcher(key);\n let flushSync = (opts && opts.unstable_flushSync) === true;\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let normalizedPath = normalizeTo(state.location, state.matches, basename, future.v7_prependBasename, href, future.v7_relativeSplatPath, routeId, opts == null ? void 0 : opts.relative);\n let matches = matchRoutes(routesToUse, normalizedPath, basename);\n if (!matches) {\n setFetcherError(key, routeId, getInternalRouterError(404, {\n pathname: normalizedPath\n }), {\n flushSync\n });\n return;\n }\n let {\n path,\n submission,\n error\n } = normalizeNavigateOptions(future.v7_normalizeFormMethod, true, normalizedPath, opts);\n if (error) {\n setFetcherError(key, routeId, error, {\n flushSync\n });\n return;\n }\n let match = getTargetMatch(matches, path);\n pendingPreventScrollReset = (opts && opts.preventScrollReset) === true;\n if (submission && isMutationMethod(submission.formMethod)) {\n handleFetcherAction(key, routeId, path, match, matches, flushSync, submission);\n return;\n }\n // Store off the match so we can call it's shouldRevalidate on subsequent\n // revalidations\n fetchLoadMatches.set(key, {\n routeId,\n path\n });\n handleFetcherLoader(key, routeId, path, match, matches, flushSync, submission);\n }\n // Call the action for the matched fetcher.submit(), and then handle redirects,\n // errors, and revalidation\n async function handleFetcherAction(key, routeId, path, match, requestMatches, flushSync, submission) {\n interruptActiveLoads();\n fetchLoadMatches.delete(key);\n if (!match.route.action && !match.route.lazy) {\n let error = getInternalRouterError(405, {\n method: submission.formMethod,\n pathname: path,\n routeId: routeId\n });\n setFetcherError(key, routeId, error, {\n flushSync\n });\n return;\n }\n // Put this fetcher into it's submitting state\n let existingFetcher = state.fetchers.get(key);\n updateFetcherState(key, getSubmittingFetcher(submission, existingFetcher), {\n flushSync\n });\n // Call the action for the fetcher\n let abortController = new AbortController();\n let fetchRequest = createClientSideRequest(init.history, path, abortController.signal, submission);\n fetchControllers.set(key, abortController);\n let originatingLoadId = incrementingLoadId;\n let actionResult = await callLoaderOrAction(\"action\", fetchRequest, match, requestMatches, manifest, mapRouteProperties, basename, future.v7_relativeSplatPath);\n if (fetchRequest.signal.aborted) {\n // We can delete this so long as we weren't aborted by our own fetcher\n // re-submit which would have put _new_ controller is in fetchControllers\n if (fetchControllers.get(key) === abortController) {\n fetchControllers.delete(key);\n }\n return;\n }\n // When using v7_fetcherPersist, we don't want errors bubbling up to the UI\n // or redirects processed for unmounted fetchers so we just revert them to\n // idle\n if (future.v7_fetcherPersist && deletedFetchers.has(key)) {\n if (isRedirectResult(actionResult) || isErrorResult(actionResult)) {\n updateFetcherState(key, getDoneFetcher(undefined));\n return;\n }\n // Let SuccessResult's fall through for revalidation\n } else {\n if (isRedirectResult(actionResult)) {\n fetchControllers.delete(key);\n if (pendingNavigationLoadId > originatingLoadId) {\n // A new navigation was kicked off after our action started, so that\n // should take precedence over this redirect navigation. We already\n // set isRevalidationRequired so all loaders for the new route should\n // fire unless opted out via shouldRevalidate\n updateFetcherState(key, getDoneFetcher(undefined));\n return;\n } else {\n fetchRedirectIds.add(key);\n updateFetcherState(key, getLoadingFetcher(submission));\n return startRedirectNavigation(state, actionResult, {\n fetcherSubmission: submission\n });\n }\n }\n // Process any non-redirect errors thrown\n if (isErrorResult(actionResult)) {\n setFetcherError(key, routeId, actionResult.error);\n return;\n }\n }\n if (isDeferredResult(actionResult)) {\n throw getInternalRouterError(400, {\n type: \"defer-action\"\n });\n }\n // Start the data load for current matches, or the next location if we're\n // in the middle of a navigation\n let nextLocation = state.navigation.location || state.location;\n let revalidationRequest = createClientSideRequest(init.history, nextLocation, abortController.signal);\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let matches = state.navigation.state !== \"idle\" ? matchRoutes(routesToUse, state.navigation.location, basename) : state.matches;\n invariant(matches, \"Didn't find any matches after fetcher action\");\n let loadId = ++incrementingLoadId;\n fetchReloadIds.set(key, loadId);\n let loadFetcher = getLoadingFetcher(submission, actionResult.data);\n state.fetchers.set(key, loadFetcher);\n let [matchesToLoad, revalidatingFetchers] = getMatchesToLoad(init.history, state, matches, submission, nextLocation, false, isRevalidationRequired, cancelledDeferredRoutes, cancelledFetcherLoads, deletedFetchers, fetchLoadMatches, fetchRedirectIds, routesToUse, basename, {\n [match.route.id]: actionResult.data\n }, undefined // No need to send through errors since we short circuit above\n );\n // Put all revalidating fetchers into the loading state, except for the\n // current fetcher which we want to keep in it's current loading state which\n // contains it's action submission info + action data\n revalidatingFetchers.filter(rf => rf.key !== key).forEach(rf => {\n let staleKey = rf.key;\n let existingFetcher = state.fetchers.get(staleKey);\n let revalidatingFetcher = getLoadingFetcher(undefined, existingFetcher ? existingFetcher.data : undefined);\n state.fetchers.set(staleKey, revalidatingFetcher);\n if (fetchControllers.has(staleKey)) {\n abortFetcher(staleKey);\n }\n if (rf.controller) {\n fetchControllers.set(staleKey, rf.controller);\n }\n });\n updateState({\n fetchers: new Map(state.fetchers)\n });\n let abortPendingFetchRevalidations = () => revalidatingFetchers.forEach(rf => abortFetcher(rf.key));\n abortController.signal.addEventListener(\"abort\", abortPendingFetchRevalidations);\n let {\n results,\n loaderResults,\n fetcherResults\n } = await callLoadersAndMaybeResolveData(state.matches, matches, matchesToLoad, revalidatingFetchers, revalidationRequest);\n if (abortController.signal.aborted) {\n return;\n }\n abortController.signal.removeEventListener(\"abort\", abortPendingFetchRevalidations);\n fetchReloadIds.delete(key);\n fetchControllers.delete(key);\n revalidatingFetchers.forEach(r => fetchControllers.delete(r.key));\n let redirect = findRedirect(results);\n if (redirect) {\n if (redirect.idx >= matchesToLoad.length) {\n // If this redirect came from a fetcher make sure we mark it in\n // fetchRedirectIds so it doesn't get revalidated on the next set of\n // loader executions\n let fetcherKey = revalidatingFetchers[redirect.idx - matchesToLoad.length].key;\n fetchRedirectIds.add(fetcherKey);\n }\n return startRedirectNavigation(state, redirect.result);\n }\n // Process and commit output from loaders\n let {\n loaderData,\n errors\n } = processLoaderData(state, state.matches, matchesToLoad, loaderResults, undefined, revalidatingFetchers, fetcherResults, activeDeferreds);\n // Since we let revalidations complete even if the submitting fetcher was\n // deleted, only put it back to idle if it hasn't been deleted\n if (state.fetchers.has(key)) {\n let doneFetcher = getDoneFetcher(actionResult.data);\n state.fetchers.set(key, doneFetcher);\n }\n abortStaleFetchLoads(loadId);\n // If we are currently in a navigation loading state and this fetcher is\n // more recent than the navigation, we want the newer data so abort the\n // navigation and complete it with the fetcher data\n if (state.navigation.state === \"loading\" && loadId > pendingNavigationLoadId) {\n invariant(pendingAction, \"Expected pending action\");\n pendingNavigationController && pendingNavigationController.abort();\n completeNavigation(state.navigation.location, {\n matches,\n loaderData,\n errors,\n fetchers: new Map(state.fetchers)\n });\n } else {\n // otherwise just update with the fetcher data, preserving any existing\n // loaderData for loaders that did not need to reload. We have to\n // manually merge here since we aren't going through completeNavigation\n updateState({\n errors,\n loaderData: mergeLoaderData(state.loaderData, loaderData, matches, errors),\n fetchers: new Map(state.fetchers)\n });\n isRevalidationRequired = false;\n }\n }\n // Call the matched loader for fetcher.load(), handling redirects, errors, etc.\n async function handleFetcherLoader(key, routeId, path, match, matches, flushSync, submission) {\n let existingFetcher = state.fetchers.get(key);\n updateFetcherState(key, getLoadingFetcher(submission, existingFetcher ? existingFetcher.data : undefined), {\n flushSync\n });\n // Call the loader for this fetcher route match\n let abortController = new AbortController();\n let fetchRequest = createClientSideRequest(init.history, path, abortController.signal);\n fetchControllers.set(key, abortController);\n let originatingLoadId = incrementingLoadId;\n let result = await callLoaderOrAction(\"loader\", fetchRequest, match, matches, manifest, mapRouteProperties, basename, future.v7_relativeSplatPath);\n // Deferred isn't supported for fetcher loads, await everything and treat it\n // as a normal load. resolveDeferredData will return undefined if this\n // fetcher gets aborted, so we just leave result untouched and short circuit\n // below if that happens\n if (isDeferredResult(result)) {\n result = (await resolveDeferredData(result, fetchRequest.signal, true)) || result;\n }\n // We can delete this so long as we weren't aborted by our our own fetcher\n // re-load which would have put _new_ controller is in fetchControllers\n if (fetchControllers.get(key) === abortController) {\n fetchControllers.delete(key);\n }\n if (fetchRequest.signal.aborted) {\n return;\n }\n // We don't want errors bubbling up or redirects followed for unmounted\n // fetchers, so short circuit here if it was removed from the UI\n if (deletedFetchers.has(key)) {\n updateFetcherState(key, getDoneFetcher(undefined));\n return;\n }\n // If the loader threw a redirect Response, start a new REPLACE navigation\n if (isRedirectResult(result)) {\n if (pendingNavigationLoadId > originatingLoadId) {\n // A new navigation was kicked off after our loader started, so that\n // should take precedence over this redirect navigation\n updateFetcherState(key, getDoneFetcher(undefined));\n return;\n } else {\n fetchRedirectIds.add(key);\n await startRedirectNavigation(state, result);\n return;\n }\n }\n // Process any non-redirect errors thrown\n if (isErrorResult(result)) {\n setFetcherError(key, routeId, result.error);\n return;\n }\n invariant(!isDeferredResult(result), \"Unhandled fetcher deferred data\");\n // Put the fetcher back into an idle state\n updateFetcherState(key, getDoneFetcher(result.data));\n }\n /**\n * Utility function to handle redirects returned from an action or loader.\n * Normally, a redirect \"replaces\" the navigation that triggered it. So, for\n * example:\n *\n * - user is on /a\n * - user clicks a link to /b\n * - loader for /b redirects to /c\n *\n * In a non-JS app the browser would track the in-flight navigation to /b and\n * then replace it with /c when it encountered the redirect response. In\n * the end it would only ever update the URL bar with /c.\n *\n * In client-side routing using pushState/replaceState, we aim to emulate\n * this behavior and we also do not update history until the end of the\n * navigation (including processed redirects). This means that we never\n * actually touch history until we've processed redirects, so we just use\n * the history action from the original navigation (PUSH or REPLACE).\n */\n async function startRedirectNavigation(state, redirect, _temp2) {\n let {\n submission,\n fetcherSubmission,\n replace\n } = _temp2 === void 0 ? {} : _temp2;\n if (redirect.revalidate) {\n isRevalidationRequired = true;\n }\n let redirectLocation = createLocation(state.location, redirect.location, {\n _isRedirect: true\n });\n invariant(redirectLocation, \"Expected a location on the redirect navigation\");\n if (isBrowser) {\n let isDocumentReload = false;\n if (redirect.reloadDocument) {\n // Hard reload if the response contained X-Remix-Reload-Document\n isDocumentReload = true;\n } else if (ABSOLUTE_URL_REGEX.test(redirect.location)) {\n const url = init.history.createURL(redirect.location);\n isDocumentReload =\n // Hard reload if it's an absolute URL to a new origin\n url.origin !== routerWindow.location.origin ||\n // Hard reload if it's an absolute URL that does not match our basename\n stripBasename(url.pathname, basename) == null;\n }\n if (isDocumentReload) {\n if (replace) {\n routerWindow.location.replace(redirect.location);\n } else {\n routerWindow.location.assign(redirect.location);\n }\n return;\n }\n }\n // There's no need to abort on redirects, since we don't detect the\n // redirect until the action/loaders have settled\n pendingNavigationController = null;\n let redirectHistoryAction = replace === true ? Action.Replace : Action.Push;\n // Use the incoming submission if provided, fallback on the active one in\n // state.navigation\n let {\n formMethod,\n formAction,\n formEncType\n } = state.navigation;\n if (!submission && !fetcherSubmission && formMethod && formAction && formEncType) {\n submission = getSubmissionFromNavigation(state.navigation);\n }\n // If this was a 307/308 submission we want to preserve the HTTP method and\n // re-submit the GET/POST/PUT/PATCH/DELETE as a submission navigation to the\n // redirected location\n let activeSubmission = submission || fetcherSubmission;\n if (redirectPreserveMethodStatusCodes.has(redirect.status) && activeSubmission && isMutationMethod(activeSubmission.formMethod)) {\n await startNavigation(redirectHistoryAction, redirectLocation, {\n submission: _extends({}, activeSubmission, {\n formAction: redirect.location\n }),\n // Preserve this flag across redirects\n preventScrollReset: pendingPreventScrollReset\n });\n } else {\n // If we have a navigation submission, we will preserve it through the\n // redirect navigation\n let overrideNavigation = getLoadingNavigation(redirectLocation, submission);\n await startNavigation(redirectHistoryAction, redirectLocation, {\n overrideNavigation,\n // Send fetcher submissions through for shouldRevalidate\n fetcherSubmission,\n // Preserve this flag across redirects\n preventScrollReset: pendingPreventScrollReset\n });\n }\n }\n async function callLoadersAndMaybeResolveData(currentMatches, matches, matchesToLoad, fetchersToLoad, request) {\n // Call all navigation loaders and revalidating fetcher loaders in parallel,\n // then slice off the results into separate arrays so we can handle them\n // accordingly\n let results = await Promise.all([...matchesToLoad.map(match => callLoaderOrAction(\"loader\", request, match, matches, manifest, mapRouteProperties, basename, future.v7_relativeSplatPath)), ...fetchersToLoad.map(f => {\n if (f.matches && f.match && f.controller) {\n return callLoaderOrAction(\"loader\", createClientSideRequest(init.history, f.path, f.controller.signal), f.match, f.matches, manifest, mapRouteProperties, basename, future.v7_relativeSplatPath);\n } else {\n let error = {\n type: ResultType.error,\n error: getInternalRouterError(404, {\n pathname: f.path\n })\n };\n return error;\n }\n })]);\n let loaderResults = results.slice(0, matchesToLoad.length);\n let fetcherResults = results.slice(matchesToLoad.length);\n await Promise.all([resolveDeferredResults(currentMatches, matchesToLoad, loaderResults, loaderResults.map(() => request.signal), false, state.loaderData), resolveDeferredResults(currentMatches, fetchersToLoad.map(f => f.match), fetcherResults, fetchersToLoad.map(f => f.controller ? f.controller.signal : null), true)]);\n return {\n results,\n loaderResults,\n fetcherResults\n };\n }\n function interruptActiveLoads() {\n // Every interruption triggers a revalidation\n isRevalidationRequired = true;\n // Cancel pending route-level deferreds and mark cancelled routes for\n // revalidation\n cancelledDeferredRoutes.push(...cancelActiveDeferreds());\n // Abort in-flight fetcher loads\n fetchLoadMatches.forEach((_, key) => {\n if (fetchControllers.has(key)) {\n cancelledFetcherLoads.push(key);\n abortFetcher(key);\n }\n });\n }\n function updateFetcherState(key, fetcher, opts) {\n if (opts === void 0) {\n opts = {};\n }\n state.fetchers.set(key, fetcher);\n updateState({\n fetchers: new Map(state.fetchers)\n }, {\n flushSync: (opts && opts.flushSync) === true\n });\n }\n function setFetcherError(key, routeId, error, opts) {\n if (opts === void 0) {\n opts = {};\n }\n let boundaryMatch = findNearestBoundary(state.matches, routeId);\n deleteFetcher(key);\n updateState({\n errors: {\n [boundaryMatch.route.id]: error\n },\n fetchers: new Map(state.fetchers)\n }, {\n flushSync: (opts && opts.flushSync) === true\n });\n }\n function getFetcher(key) {\n if (future.v7_fetcherPersist) {\n activeFetchers.set(key, (activeFetchers.get(key) || 0) + 1);\n // If this fetcher was previously marked for deletion, unmark it since we\n // have a new instance\n if (deletedFetchers.has(key)) {\n deletedFetchers.delete(key);\n }\n }\n return state.fetchers.get(key) || IDLE_FETCHER;\n }\n function deleteFetcher(key) {\n let fetcher = state.fetchers.get(key);\n // Don't abort the controller if this is a deletion of a fetcher.submit()\n // in it's loading phase since - we don't want to abort the corresponding\n // revalidation and want them to complete and land\n if (fetchControllers.has(key) && !(fetcher && fetcher.state === \"loading\" && fetchReloadIds.has(key))) {\n abortFetcher(key);\n }\n fetchLoadMatches.delete(key);\n fetchReloadIds.delete(key);\n fetchRedirectIds.delete(key);\n deletedFetchers.delete(key);\n state.fetchers.delete(key);\n }\n function deleteFetcherAndUpdateState(key) {\n if (future.v7_fetcherPersist) {\n let count = (activeFetchers.get(key) || 0) - 1;\n if (count <= 0) {\n activeFetchers.delete(key);\n deletedFetchers.add(key);\n } else {\n activeFetchers.set(key, count);\n }\n } else {\n deleteFetcher(key);\n }\n updateState({\n fetchers: new Map(state.fetchers)\n });\n }\n function abortFetcher(key) {\n let controller = fetchControllers.get(key);\n invariant(controller, \"Expected fetch controller: \" + key);\n controller.abort();\n fetchControllers.delete(key);\n }\n function markFetchersDone(keys) {\n for (let key of keys) {\n let fetcher = getFetcher(key);\n let doneFetcher = getDoneFetcher(fetcher.data);\n state.fetchers.set(key, doneFetcher);\n }\n }\n function markFetchRedirectsDone() {\n let doneKeys = [];\n let updatedFetchers = false;\n for (let key of fetchRedirectIds) {\n let fetcher = state.fetchers.get(key);\n invariant(fetcher, \"Expected fetcher: \" + key);\n if (fetcher.state === \"loading\") {\n fetchRedirectIds.delete(key);\n doneKeys.push(key);\n updatedFetchers = true;\n }\n }\n markFetchersDone(doneKeys);\n return updatedFetchers;\n }\n function abortStaleFetchLoads(landedId) {\n let yeetedKeys = [];\n for (let [key, id] of fetchReloadIds) {\n if (id < landedId) {\n let fetcher = state.fetchers.get(key);\n invariant(fetcher, \"Expected fetcher: \" + key);\n if (fetcher.state === \"loading\") {\n abortFetcher(key);\n fetchReloadIds.delete(key);\n yeetedKeys.push(key);\n }\n }\n }\n markFetchersDone(yeetedKeys);\n return yeetedKeys.length > 0;\n }\n function getBlocker(key, fn) {\n let blocker = state.blockers.get(key) || IDLE_BLOCKER;\n if (blockerFunctions.get(key) !== fn) {\n blockerFunctions.set(key, fn);\n }\n return blocker;\n }\n function deleteBlocker(key) {\n state.blockers.delete(key);\n blockerFunctions.delete(key);\n }\n // Utility function to update blockers, ensuring valid state transitions\n function updateBlocker(key, newBlocker) {\n let blocker = state.blockers.get(key) || IDLE_BLOCKER;\n // Poor mans state machine :)\n // https://mermaid.live/edit#pako:eNqVkc9OwzAMxl8l8nnjAYrEtDIOHEBIgwvKJTReGy3_lDpIqO27k6awMG0XcrLlnz87nwdonESogKXXBuE79rq75XZO3-yHds0RJVuv70YrPlUrCEe2HfrORS3rubqZfuhtpg5C9wk5tZ4VKcRUq88q9Z8RS0-48cE1iHJkL0ugbHuFLus9L6spZy8nX9MP2CNdomVaposqu3fGayT8T8-jJQwhepo_UtpgBQaDEUom04dZhAN1aJBDlUKJBxE1ceB2Smj0Mln-IBW5AFU2dwUiktt_2Qaq2dBfaKdEup85UV7Yd-dKjlnkabl2Pvr0DTkTreM\n invariant(blocker.state === \"unblocked\" && newBlocker.state === \"blocked\" || blocker.state === \"blocked\" && newBlocker.state === \"blocked\" || blocker.state === \"blocked\" && newBlocker.state === \"proceeding\" || blocker.state === \"blocked\" && newBlocker.state === \"unblocked\" || blocker.state === \"proceeding\" && newBlocker.state === \"unblocked\", \"Invalid blocker state transition: \" + blocker.state + \" -> \" + newBlocker.state);\n let blockers = new Map(state.blockers);\n blockers.set(key, newBlocker);\n updateState({\n blockers\n });\n }\n function shouldBlockNavigation(_ref2) {\n let {\n currentLocation,\n nextLocation,\n historyAction\n } = _ref2;\n if (blockerFunctions.size === 0) {\n return;\n }\n // We ony support a single active blocker at the moment since we don't have\n // any compelling use cases for multi-blocker yet\n if (blockerFunctions.size > 1) {\n warning(false, \"A router only supports one blocker at a time\");\n }\n let entries = Array.from(blockerFunctions.entries());\n let [blockerKey, blockerFunction] = entries[entries.length - 1];\n let blocker = state.blockers.get(blockerKey);\n if (blocker && blocker.state === \"proceeding\") {\n // If the blocker is currently proceeding, we don't need to re-check\n // it and can let this navigation continue\n return;\n }\n // At this point, we know we're unblocked/blocked so we need to check the\n // user-provided blocker function\n if (blockerFunction({\n currentLocation,\n nextLocation,\n historyAction\n })) {\n return blockerKey;\n }\n }\n function cancelActiveDeferreds(predicate) {\n let cancelledRouteIds = [];\n activeDeferreds.forEach((dfd, routeId) => {\n if (!predicate || predicate(routeId)) {\n // Cancel the deferred - but do not remove from activeDeferreds here -\n // we rely on the subscribers to do that so our tests can assert proper\n // cleanup via _internalActiveDeferreds\n dfd.cancel();\n cancelledRouteIds.push(routeId);\n activeDeferreds.delete(routeId);\n }\n });\n return cancelledRouteIds;\n }\n // Opt in to capturing and reporting scroll positions during navigations,\n // used by the <ScrollRestoration> component\n function enableScrollRestoration(positions, getPosition, getKey) {\n savedScrollPositions = positions;\n getScrollPosition = getPosition;\n getScrollRestorationKey = getKey || null;\n // Perform initial hydration scroll restoration, since we miss the boat on\n // the initial updateState() because we've not yet rendered <ScrollRestoration/>\n // and therefore have no savedScrollPositions available\n if (!initialScrollRestored && state.navigation === IDLE_NAVIGATION) {\n initialScrollRestored = true;\n let y = getSavedScrollPosition(state.location, state.matches);\n if (y != null) {\n updateState({\n restoreScrollPosition: y\n });\n }\n }\n return () => {\n savedScrollPositions = null;\n getScrollPosition = null;\n getScrollRestorationKey = null;\n };\n }\n function getScrollKey(location, matches) {\n if (getScrollRestorationKey) {\n let key = getScrollRestorationKey(location, matches.map(m => convertRouteMatchToUiMatch(m, state.loaderData)));\n return key || location.key;\n }\n return location.key;\n }\n function saveScrollPosition(location, matches) {\n if (savedScrollPositions && getScrollPosition) {\n let key = getScrollKey(location, matches);\n savedScrollPositions[key] = getScrollPosition();\n }\n }\n function getSavedScrollPosition(location, matches) {\n if (savedScrollPositions) {\n let key = getScrollKey(location, matches);\n let y = savedScrollPositions[key];\n if (typeof y === \"number\") {\n return y;\n }\n }\n return null;\n }\n function _internalSetRoutes(newRoutes) {\n manifest = {};\n inFlightDataRoutes = convertRoutesToDataRoutes(newRoutes, mapRouteProperties, undefined, manifest);\n }\n router = {\n get basename() {\n return basename;\n },\n get future() {\n return future;\n },\n get state() {\n return state;\n },\n get routes() {\n return dataRoutes;\n },\n get window() {\n return routerWindow;\n },\n initialize,\n subscribe,\n enableScrollRestoration,\n navigate,\n fetch,\n revalidate,\n // Passthrough to history-aware createHref used by useHref so we get proper\n // hash-aware URLs in DOM paths\n createHref: to => init.history.createHref(to),\n encodeLocation: to => init.history.encodeLocation(to),\n getFetcher,\n deleteFetcher: deleteFetcherAndUpdateState,\n dispose,\n getBlocker,\n deleteBlocker,\n _internalFetchControllers: fetchControllers,\n _internalActiveDeferreds: activeDeferreds,\n // TODO: Remove setRoutes, it's temporary to avoid dealing with\n // updating the tree while validating the update algorithm.\n _internalSetRoutes\n };\n return router;\n}\n//#endregion\n////////////////////////////////////////////////////////////////////////////////\n//#region createStaticHandler\n////////////////////////////////////////////////////////////////////////////////\nconst UNSAFE_DEFERRED_SYMBOL = Symbol(\"deferred\");\nfunction createStaticHandler(routes, opts) {\n invariant(routes.length > 0, \"You must provide a non-empty routes array to createStaticHandler\");\n let manifest = {};\n let basename = (opts ? opts.basename : null) || \"/\";\n let mapRouteProperties;\n if (opts != null && opts.mapRouteProperties) {\n mapRouteProperties = opts.mapRouteProperties;\n } else if (opts != null && opts.detectErrorBoundary) {\n // If they are still using the deprecated version, wrap it with the new API\n let detectErrorBoundary = opts.detectErrorBoundary;\n mapRouteProperties = route => ({\n hasErrorBoundary: detectErrorBoundary(route)\n });\n } else {\n mapRouteProperties = defaultMapRouteProperties;\n }\n // Config driven behavior flags\n let future = _extends({\n v7_relativeSplatPath: false,\n v7_throwAbortReason: false\n }, opts ? opts.future : null);\n let dataRoutes = convertRoutesToDataRoutes(routes, mapRouteProperties, undefined, manifest);\n /**\n * The query() method is intended for document requests, in which we want to\n * call an optional action and potentially multiple loaders for all nested\n * routes. It returns a StaticHandlerContext object, which is very similar\n * to the router state (location, loaderData, actionData, errors, etc.) and\n * also adds SSR-specific information such as the statusCode and headers\n * from action/loaders Responses.\n *\n * It _should_ never throw and should report all errors through the\n * returned context.errors object, properly associating errors to their error\n * boundary. Additionally, it tracks _deepestRenderedBoundaryId which can be\n * used to emulate React error boundaries during SSr by performing a second\n * pass only down to the boundaryId.\n *\n * The one exception where we do not return a StaticHandlerContext is when a\n * redirect response is returned or thrown from any action/loader. We\n * propagate that out and return the raw Response so the HTTP server can\n * return it directly.\n */\n async function query(request, _temp3) {\n let {\n requestContext\n } = _temp3 === void 0 ? {} : _temp3;\n let url = new URL(request.url);\n let method = request.method;\n let location = createLocation(\"\", createPath(url), null, \"default\");\n let matches = matchRoutes(dataRoutes, location, basename);\n // SSR supports HEAD requests while SPA doesn't\n if (!isValidMethod(method) && method !== \"HEAD\") {\n let error = getInternalRouterError(405, {\n method\n });\n let {\n matches: methodNotAllowedMatches,\n route\n } = getShortCircuitMatches(dataRoutes);\n return {\n basename,\n location,\n matches: methodNotAllowedMatches,\n loaderData: {},\n actionData: null,\n errors: {\n [route.id]: error\n },\n statusCode: error.status,\n loaderHeaders: {},\n actionHeaders: {},\n activeDeferreds: null\n };\n } else if (!matches) {\n let error = getInternalRouterError(404, {\n pathname: location.pathname\n });\n let {\n matches: notFoundMatches,\n route\n } = getShortCircuitMatches(dataRoutes);\n return {\n basename,\n location,\n matches: notFoundMatches,\n loaderData: {},\n actionData: null,\n errors: {\n [route.id]: error\n },\n statusCode: error.status,\n loaderHeaders: {},\n actionHeaders: {},\n activeDeferreds: null\n };\n }\n let result = await queryImpl(request, location, matches, requestContext);\n if (isResponse(result)) {\n return result;\n }\n // When returning StaticHandlerContext, we patch back in the location here\n // since we need it for React Context. But this helps keep our submit and\n // loadRouteData operating on a Request instead of a Location\n return _extends({\n location,\n basename\n }, result);\n }\n /**\n * The queryRoute() method is intended for targeted route requests, either\n * for fetch ?_data requests or resource route requests. In this case, we\n * are only ever calling a single action or loader, and we are returning the\n * returned value directly. In most cases, this will be a Response returned\n * from the action/loader, but it may be a primitive or other value as well -\n * and in such cases the calling context should handle that accordingly.\n *\n * We do respect the throw/return differentiation, so if an action/loader\n * throws, then this method will throw the value. This is important so we\n * can do proper boundary identification in Remix where a thrown Response\n * must go to the Catch Boundary but a returned Response is happy-path.\n *\n * One thing to note is that any Router-initiated Errors that make sense\n * to associate with a status code will be thrown as an ErrorResponse\n * instance which include the raw Error, such that the calling context can\n * serialize the error as they see fit while including the proper response\n * code. Examples here are 404 and 405 errors that occur prior to reaching\n * any user-defined loaders.\n */\n async function queryRoute(request, _temp4) {\n let {\n routeId,\n requestContext\n } = _temp4 === void 0 ? {} : _temp4;\n let url = new URL(request.url);\n let method = request.method;\n let location = createLocation(\"\", createPath(url), null, \"default\");\n let matches = matchRoutes(dataRoutes, location, basename);\n // SSR supports HEAD requests while SPA doesn't\n if (!isValidMethod(method) && method !== \"HEAD\" && method !== \"OPTIONS\") {\n throw getInternalRouterError(405, {\n method\n });\n } else if (!matches) {\n throw getInternalRouterError(404, {\n pathname: location.pathname\n });\n }\n let match = routeId ? matches.find(m => m.route.id === routeId) : getTargetMatch(matches, location);\n if (routeId && !match) {\n throw getInternalRouterError(403, {\n pathname: location.pathname,\n routeId\n });\n } else if (!match) {\n // This should never hit I don't think?\n throw getInternalRouterError(404, {\n pathname: location.pathname\n });\n }\n let result = await queryImpl(request, location, matches, requestContext, match);\n if (isResponse(result)) {\n return result;\n }\n let error = result.errors ? Object.values(result.errors)[0] : undefined;\n if (error !== undefined) {\n // If we got back result.errors, that means the loader/action threw\n // _something_ that wasn't a Response, but it's not guaranteed/required\n // to be an `instanceof Error` either, so we have to use throw here to\n // preserve the \"error\" state outside of queryImpl.\n throw error;\n }\n // Pick off the right state value to return\n if (result.actionData) {\n return Object.values(result.actionData)[0];\n }\n if (result.loaderData) {\n var _result$activeDeferre;\n let data = Object.values(result.loaderData)[0];\n if ((_result$activeDeferre = result.activeDeferreds) != null && _result$activeDeferre[match.route.id]) {\n data[UNSAFE_DEFERRED_SYMBOL] = result.activeDeferreds[match.route.id];\n }\n return data;\n }\n return undefined;\n }\n async function queryImpl(request, location, matches, requestContext, routeMatch) {\n invariant(request.signal, \"query()/queryRoute() requests must contain an AbortController signal\");\n try {\n if (isMutationMethod(request.method.toLowerCase())) {\n let result = await submit(request, matches, routeMatch || getTargetMatch(matches, location), requestContext, routeMatch != null);\n return result;\n }\n let result = await loadRouteData(request, matches, requestContext, routeMatch);\n return isResponse(result) ? result : _extends({}, result, {\n actionData: null,\n actionHeaders: {}\n });\n } catch (e) {\n // If the user threw/returned a Response in callLoaderOrAction, we throw\n // it to bail out and then return or throw here based on whether the user\n // returned or threw\n if (isQueryRouteResponse(e)) {\n if (e.type === ResultType.error) {\n throw e.response;\n }\n return e.response;\n }\n // Redirects are always returned since they don't propagate to catch\n // boundaries\n if (isRedirectResponse(e)) {\n return e;\n }\n throw e;\n }\n }\n async function submit(request, matches, actionMatch, requestContext, isRouteRequest) {\n let result;\n if (!actionMatch.route.action && !actionMatch.route.lazy) {\n let error = getInternalRouterError(405, {\n method: request.method,\n pathname: new URL(request.url).pathname,\n routeId: actionMatch.route.id\n });\n if (isRouteRequest) {\n throw error;\n }\n result = {\n type: ResultType.error,\n error\n };\n } else {\n result = await callLoaderOrAction(\"action\", request, actionMatch, matches, manifest, mapRouteProperties, basename, future.v7_relativeSplatPath, {\n isStaticRequest: true,\n isRouteRequest,\n requestContext\n });\n if (request.signal.aborted) {\n throwStaticHandlerAbortedError(request, isRouteRequest, future);\n }\n }\n if (isRedirectResult(result)) {\n // Uhhhh - this should never happen, we should always throw these from\n // callLoaderOrAction, but the type narrowing here keeps TS happy and we\n // can get back on the \"throw all redirect responses\" train here should\n // this ever happen :/\n throw new Response(null, {\n status: result.status,\n headers: {\n Location: result.location\n }\n });\n }\n if (isDeferredResult(result)) {\n let error = getInternalRouterError(400, {\n type: \"defer-action\"\n });\n if (isRouteRequest) {\n throw error;\n }\n result = {\n type: ResultType.error,\n error\n };\n }\n if (isRouteRequest) {\n // Note: This should only be non-Response values if we get here, since\n // isRouteRequest should throw any Response received in callLoaderOrAction\n if (isErrorResult(result)) {\n throw result.error;\n }\n return {\n matches: [actionMatch],\n loaderData: {},\n actionData: {\n [actionMatch.route.id]: result.data\n },\n errors: null,\n // Note: statusCode + headers are unused here since queryRoute will\n // return the raw Response or value\n statusCode: 200,\n loaderHeaders: {},\n actionHeaders: {},\n activeDeferreds: null\n };\n }\n if (isErrorResult(result)) {\n // Store off the pending error - we use it to determine which loaders\n // to call and will commit it when we complete the navigation\n let boundaryMatch = findNearestBoundary(matches, actionMatch.route.id);\n let context = await loadRouteData(request, matches, requestContext, undefined, {\n [boundaryMatch.route.id]: result.error\n });\n // action status codes take precedence over loader status codes\n return _extends({}, context, {\n statusCode: isRouteErrorResponse(result.error) ? result.error.status : 500,\n actionData: null,\n actionHeaders: _extends({}, result.headers ? {\n [actionMatch.route.id]: result.headers\n } : {})\n });\n }\n // Create a GET request for the loaders\n let loaderRequest = new Request(request.url, {\n headers: request.headers,\n redirect: request.redirect,\n signal: request.signal\n });\n let context = await loadRouteData(loaderRequest, matches, requestContext);\n return _extends({}, context, result.statusCode ? {\n statusCode: result.statusCode\n } : {}, {\n actionData: {\n [actionMatch.route.id]: result.data\n },\n actionHeaders: _extends({}, result.headers ? {\n [actionMatch.route.id]: result.headers\n } : {})\n });\n }\n async function loadRouteData(request, matches, requestContext, routeMatch, pendingActionError) {\n let isRouteRequest = routeMatch != null;\n // Short circuit if we have no loaders to run (queryRoute())\n if (isRouteRequest && !(routeMatch != null && routeMatch.route.loader) && !(routeMatch != null && routeMatch.route.lazy)) {\n throw getInternalRouterError(400, {\n method: request.method,\n pathname: new URL(request.url).pathname,\n routeId: routeMatch == null ? void 0 : routeMatch.route.id\n });\n }\n let requestMatches = routeMatch ? [routeMatch] : getLoaderMatchesUntilBoundary(matches, Object.keys(pendingActionError || {})[0]);\n let matchesToLoad = requestMatches.filter(m => m.route.loader || m.route.lazy);\n // Short circuit if we have no loaders to run (query())\n if (matchesToLoad.length === 0) {\n return {\n matches,\n // Add a null for all matched routes for proper revalidation on the client\n loaderData: matches.reduce((acc, m) => Object.assign(acc, {\n [m.route.id]: null\n }), {}),\n errors: pendingActionError || null,\n statusCode: 200,\n loaderHeaders: {},\n activeDeferreds: null\n };\n }\n let results = await Promise.all([...matchesToLoad.map(match => callLoaderOrAction(\"loader\", request, match, matches, manifest, mapRouteProperties, basename, future.v7_relativeSplatPath, {\n isStaticRequest: true,\n isRouteRequest,\n requestContext\n }))]);\n if (request.signal.aborted) {\n throwStaticHandlerAbortedError(request, isRouteRequest, future);\n }\n // Process and commit output from loaders\n let activeDeferreds = new Map();\n let context = processRouteLoaderData(matches, matchesToLoad, results, pendingActionError, activeDeferreds);\n // Add a null for any non-loader matches for proper revalidation on the client\n let executedLoaders = new Set(matchesToLoad.map(match => match.route.id));\n matches.forEach(match => {\n if (!executedLoaders.has(match.route.id)) {\n context.loaderData[match.route.id] = null;\n }\n });\n return _extends({}, context, {\n matches,\n activeDeferreds: activeDeferreds.size > 0 ? Object.fromEntries(activeDeferreds.entries()) : null\n });\n }\n return {\n dataRoutes,\n query,\n queryRoute\n };\n}\n//#endregion\n////////////////////////////////////////////////////////////////////////////////\n//#region Helpers\n////////////////////////////////////////////////////////////////////////////////\n/**\n * Given an existing StaticHandlerContext and an error thrown at render time,\n * provide an updated StaticHandlerContext suitable for a second SSR render\n */\nfunction getStaticContextFromError(routes, context, error) {\n let newContext = _extends({}, context, {\n statusCode: isRouteErrorResponse(error) ? error.status : 500,\n errors: {\n [context._deepestRenderedBoundaryId || routes[0].id]: error\n }\n });\n return newContext;\n}\nfunction throwStaticHandlerAbortedError(request, isRouteRequest, future) {\n if (future.v7_throwAbortReason && request.signal.reason !== undefined) {\n throw request.signal.reason;\n }\n let method = isRouteRequest ? \"queryRoute\" : \"query\";\n throw new Error(method + \"() call aborted: \" + request.method + \" \" + request.url);\n}\nfunction isSubmissionNavigation(opts) {\n return opts != null && (\"formData\" in opts && opts.formData != null || \"body\" in opts && opts.body !== undefined);\n}\nfunction normalizeTo(location, matches, basename, prependBasename, to, v7_relativeSplatPath, fromRouteId, relative) {\n let contextualMatches;\n let activeRouteMatch;\n if (fromRouteId) {\n // Grab matches up to the calling route so our route-relative logic is\n // relative to the correct source route\n contextualMatches = [];\n for (let match of matches) {\n contextualMatches.push(match);\n if (match.route.id === fromRouteId) {\n activeRouteMatch = match;\n break;\n }\n }\n } else {\n contextualMatches = matches;\n activeRouteMatch = matches[matches.length - 1];\n }\n // Resolve the relative path\n let path = resolveTo(to ? to : \".\", getResolveToMatches(contextualMatches, v7_relativeSplatPath), stripBasename(location.pathname, basename) || location.pathname, relative === \"path\");\n // When `to` is not specified we inherit search/hash from the current\n // location, unlike when to=\".\" and we just inherit the path.\n // See https://github.com/remix-run/remix/issues/927\n if (to == null) {\n path.search = location.search;\n path.hash = location.hash;\n }\n // Add an ?index param for matched index routes if we don't already have one\n if ((to == null || to === \"\" || to === \".\") && activeRouteMatch && activeRouteMatch.route.index && !hasNakedIndexQuery(path.search)) {\n path.search = path.search ? path.search.replace(/^\\?/, \"?index&\") : \"?index\";\n }\n // If we're operating within a basename, prepend it to the pathname. If\n // this is a root navigation, then just use the raw basename which allows\n // the basename to have full control over the presence of a trailing slash\n // on root actions\n if (prependBasename && basename !== \"/\") {\n path.pathname = path.pathname === \"/\" ? basename : joinPaths([basename, path.pathname]);\n }\n return createPath(path);\n}\n// Normalize navigation options by converting formMethod=GET formData objects to\n// URLSearchParams so they behave identically to links with query params\nfunction normalizeNavigateOptions(normalizeFormMethod, isFetcher, path, opts) {\n // Return location verbatim on non-submission navigations\n if (!opts || !isSubmissionNavigation(opts)) {\n return {\n path\n };\n }\n if (opts.formMethod && !isValidMethod(opts.formMethod)) {\n return {\n path,\n error: getInternalRouterError(405, {\n method: opts.formMethod\n })\n };\n }\n let getInvalidBodyError = () => ({\n path,\n error: getInternalRouterError(400, {\n type: \"invalid-body\"\n })\n });\n // Create a Submission on non-GET navigations\n let rawFormMethod = opts.formMethod || \"get\";\n let formMethod = normalizeFormMethod ? rawFormMethod.toUpperCase() : rawFormMethod.toLowerCase();\n let formAction = stripHashFromPath(path);\n if (opts.body !== undefined) {\n if (opts.formEncType === \"text/plain\") {\n // text only support POST/PUT/PATCH/DELETE submissions\n if (!isMutationMethod(formMethod)) {\n return getInvalidBodyError();\n }\n let text = typeof opts.body === \"string\" ? opts.body : opts.body instanceof FormData || opts.body instanceof URLSearchParams ?\n // https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#plain-text-form-data\n Array.from(opts.body.entries()).reduce((acc, _ref3) => {\n let [name, value] = _ref3;\n return \"\" + acc + name + \"=\" + value + \"\\n\";\n }, \"\") : String(opts.body);\n return {\n path,\n submission: {\n formMethod,\n formAction,\n formEncType: opts.formEncType,\n formData: undefined,\n json: undefined,\n text\n }\n };\n } else if (opts.formEncType === \"application/json\") {\n // json only supports POST/PUT/PATCH/DELETE submissions\n if (!isMutationMethod(formMethod)) {\n return getInvalidBodyError();\n }\n try {\n let json = typeof opts.body === \"string\" ? JSON.parse(opts.body) : opts.body;\n return {\n path,\n submission: {\n formMethod,\n formAction,\n formEncType: opts.formEncType,\n formData: undefined,\n json,\n text: undefined\n }\n };\n } catch (e) {\n return getInvalidBodyError();\n }\n }\n }\n invariant(typeof FormData === \"function\", \"FormData is not available in this environment\");\n let searchParams;\n let formData;\n if (opts.formData) {\n searchParams = convertFormDataToSearchParams(opts.formData);\n formData = opts.formData;\n } else if (opts.body instanceof FormData) {\n searchParams = convertFormDataToSearchParams(opts.body);\n formData = opts.body;\n } else if (opts.body instanceof URLSearchParams) {\n searchParams = opts.body;\n formData = convertSearchParamsToFormData(searchParams);\n } else if (opts.body == null) {\n searchParams = new URLSearchParams();\n formData = new FormData();\n } else {\n try {\n searchParams = new URLSearchParams(opts.body);\n formData = convertSearchParamsToFormData(searchParams);\n } catch (e) {\n return getInvalidBodyError();\n }\n }\n let submission = {\n formMethod,\n formAction,\n formEncType: opts && opts.formEncType || \"application/x-www-form-urlencoded\",\n formData,\n json: undefined,\n text: undefined\n };\n if (isMutationMethod(submission.formMethod)) {\n return {\n path,\n submission\n };\n }\n // Flatten submission onto URLSearchParams for GET submissions\n let parsedPath = parsePath(path);\n // On GET navigation submissions we can drop the ?index param from the\n // resulting location since all loaders will run. But fetcher GET submissions\n // only run a single loader so we need to preserve any incoming ?index params\n if (isFetcher && parsedPath.search && hasNakedIndexQuery(parsedPath.search)) {\n searchParams.append(\"index\", \"\");\n }\n parsedPath.search = \"?\" + searchParams;\n return {\n path: createPath(parsedPath),\n submission\n };\n}\n// Filter out all routes below any caught error as they aren't going to\n// render so we don't need to load them\nfunction getLoaderMatchesUntilBoundary(matches, boundaryId) {\n let boundaryMatches = matches;\n if (boundaryId) {\n let index = matches.findIndex(m => m.route.id === boundaryId);\n if (index >= 0) {\n boundaryMatches = matches.slice(0, index);\n }\n }\n return boundaryMatches;\n}\nfunction getMatchesToLoad(history, state, matches, submission, location, isInitialLoad, isRevalidationRequired, cancelledDeferredRoutes, cancelledFetcherLoads, deletedFetchers, fetchLoadMatches, fetchRedirectIds, routesToUse, basename, pendingActionData, pendingError) {\n let actionResult = pendingError ? Object.values(pendingError)[0] : pendingActionData ? Object.values(pendingActionData)[0] : undefined;\n let currentUrl = history.createURL(state.location);\n let nextUrl = history.createURL(location);\n // Pick navigation matches that are net-new or qualify for revalidation\n let boundaryId = pendingError ? Object.keys(pendingError)[0] : undefined;\n let boundaryMatches = getLoaderMatchesUntilBoundary(matches, boundaryId);\n let navigationMatches = boundaryMatches.filter((match, index) => {\n let {\n route\n } = match;\n if (route.lazy) {\n // We haven't loaded this route yet so we don't know if it's got a loader!\n return true;\n }\n if (route.loader == null) {\n return false;\n }\n if (isInitialLoad) {\n if (route.loader.hydrate) {\n return true;\n }\n return state.loaderData[route.id] === undefined && (\n // Don't re-run if the loader ran and threw an error\n !state.errors || state.errors[route.id] === undefined);\n }\n // Always call the loader on new route instances and pending defer cancellations\n if (isNewLoader(state.loaderData, state.matches[index], match) || cancelledDeferredRoutes.some(id => id === match.route.id)) {\n return true;\n }\n // This is the default implementation for when we revalidate. If the route\n // provides it's own implementation, then we give them full control but\n // provide this value so they can leverage it if needed after they check\n // their own specific use cases\n let currentRouteMatch = state.matches[index];\n let nextRouteMatch = match;\n return shouldRevalidateLoader(match, _extends({\n currentUrl,\n currentParams: currentRouteMatch.params,\n nextUrl,\n nextParams: nextRouteMatch.params\n }, submission, {\n actionResult,\n defaultShouldRevalidate:\n // Forced revalidation due to submission, useRevalidator, or X-Remix-Revalidate\n isRevalidationRequired ||\n // Clicked the same link, resubmitted a GET form\n currentUrl.pathname + currentUrl.search === nextUrl.pathname + nextUrl.search ||\n // Search params affect all loaders\n currentUrl.search !== nextUrl.search || isNewRouteInstance(currentRouteMatch, nextRouteMatch)\n }));\n });\n // Pick fetcher.loads that need to be revalidated\n let revalidatingFetchers = [];\n fetchLoadMatches.forEach((f, key) => {\n // Don't revalidate:\n // - on initial load (shouldn't be any fetchers then anyway)\n // - if fetcher won't be present in the subsequent render\n // - no longer matches the URL (v7_fetcherPersist=false)\n // - was unmounted but persisted due to v7_fetcherPersist=true\n if (isInitialLoad || !matches.some(m => m.route.id === f.routeId) || deletedFetchers.has(key)) {\n return;\n }\n let fetcherMatches = matchRoutes(routesToUse, f.path, basename);\n // If the fetcher path no longer matches, push it in with null matches so\n // we can trigger a 404 in callLoadersAndMaybeResolveData. Note this is\n // currently only a use-case for Remix HMR where the route tree can change\n // at runtime and remove a route previously loaded via a fetcher\n if (!fetcherMatches) {\n revalidatingFetchers.push({\n key,\n routeId: f.routeId,\n path: f.path,\n matches: null,\n match: null,\n controller: null\n });\n return;\n }\n // Revalidating fetchers are decoupled from the route matches since they\n // load from a static href. They revalidate based on explicit revalidation\n // (submission, useRevalidator, or X-Remix-Revalidate)\n let fetcher = state.fetchers.get(key);\n let fetcherMatch = getTargetMatch(fetcherMatches, f.path);\n let shouldRevalidate = false;\n if (fetchRedirectIds.has(key)) {\n // Never trigger a revalidation of an actively redirecting fetcher\n shouldRevalidate = false;\n } else if (cancelledFetcherLoads.includes(key)) {\n // Always revalidate if the fetcher was cancelled\n shouldRevalidate = true;\n } else if (fetcher && fetcher.state !== \"idle\" && fetcher.data === undefined) {\n // If the fetcher hasn't ever completed loading yet, then this isn't a\n // revalidation, it would just be a brand new load if an explicit\n // revalidation is required\n shouldRevalidate = isRevalidationRequired;\n } else {\n // Otherwise fall back on any user-defined shouldRevalidate, defaulting\n // to explicit revalidations only\n shouldRevalidate = shouldRevalidateLoader(fetcherMatch, _extends({\n currentUrl,\n currentParams: state.matches[state.matches.length - 1].params,\n nextUrl,\n nextParams: matches[matches.length - 1].params\n }, submission, {\n actionResult,\n defaultShouldRevalidate: isRevalidationRequired\n }));\n }\n if (shouldRevalidate) {\n revalidatingFetchers.push({\n key,\n routeId: f.routeId,\n path: f.path,\n matches: fetcherMatches,\n match: fetcherMatch,\n controller: new AbortController()\n });\n }\n });\n return [navigationMatches, revalidatingFetchers];\n}\nfunction isNewLoader(currentLoaderData, currentMatch, match) {\n let isNew =\n // [a] -> [a, b]\n !currentMatch ||\n // [a, b] -> [a, c]\n match.route.id !== currentMatch.route.id;\n // Handle the case that we don't have data for a re-used route, potentially\n // from a prior error or from a cancelled pending deferred\n let isMissingData = currentLoaderData[match.route.id] === undefined;\n // Always load if this is a net-new route or we don't yet have data\n return isNew || isMissingData;\n}\nfunction isNewRouteInstance(currentMatch, match) {\n let currentPath = currentMatch.route.path;\n return (\n // param change for this match, /users/123 -> /users/456\n currentMatch.pathname !== match.pathname ||\n // splat param changed, which is not present in match.path\n // e.g. /files/images/avatar.jpg -> files/finances.xls\n currentPath != null && currentPath.endsWith(\"*\") && currentMatch.params[\"*\"] !== match.params[\"*\"]\n );\n}\nfunction shouldRevalidateLoader(loaderMatch, arg) {\n if (loaderMatch.route.shouldRevalidate) {\n let routeChoice = loaderMatch.route.shouldRevalidate(arg);\n if (typeof routeChoice === \"boolean\") {\n return routeChoice;\n }\n }\n return arg.defaultShouldRevalidate;\n}\n/**\n * Execute route.lazy() methods to lazily load route modules (loader, action,\n * shouldRevalidate) and update the routeManifest in place which shares objects\n * with dataRoutes so those get updated as well.\n */\nasync function loadLazyRouteModule(route, mapRouteProperties, manifest) {\n if (!route.lazy) {\n return;\n }\n let lazyRoute = await route.lazy();\n // If the lazy route function was executed and removed by another parallel\n // call then we can return - first lazy() to finish wins because the return\n // value of lazy is expected to be static\n if (!route.lazy) {\n return;\n }\n let routeToUpdate = manifest[route.id];\n invariant(routeToUpdate, \"No route found in manifest\");\n // Update the route in place. This should be safe because there's no way\n // we could yet be sitting on this route as we can't get there without\n // resolving lazy() first.\n //\n // This is different than the HMR \"update\" use-case where we may actively be\n // on the route being updated. The main concern boils down to \"does this\n // mutation affect any ongoing navigations or any current state.matches\n // values?\". If not, it should be safe to update in place.\n let routeUpdates = {};\n for (let lazyRouteProperty in lazyRoute) {\n let staticRouteValue = routeToUpdate[lazyRouteProperty];\n let isPropertyStaticallyDefined = staticRouteValue !== undefined &&\n // This property isn't static since it should always be updated based\n // on the route updates\n lazyRouteProperty !== \"hasErrorBoundary\";\n warning(!isPropertyStaticallyDefined, \"Route \\\"\" + routeToUpdate.id + \"\\\" has a static property \\\"\" + lazyRouteProperty + \"\\\" \" + \"defined but its lazy function is also returning a value for this property. \" + (\"The lazy route property \\\"\" + lazyRouteProperty + \"\\\" will be ignored.\"));\n if (!isPropertyStaticallyDefined && !immutableRouteKeys.has(lazyRouteProperty)) {\n routeUpdates[lazyRouteProperty] = lazyRoute[lazyRouteProperty];\n }\n }\n // Mutate the route with the provided updates. Do this first so we pass\n // the updated version to mapRouteProperties\n Object.assign(routeToUpdate, routeUpdates);\n // Mutate the `hasErrorBoundary` property on the route based on the route\n // updates and remove the `lazy` function so we don't resolve the lazy\n // route again.\n Object.assign(routeToUpdate, _extends({}, mapRouteProperties(routeToUpdate), {\n lazy: undefined\n }));\n}\nasync function callLoaderOrAction(type, request, match, matches, manifest, mapRouteProperties, basename, v7_relativeSplatPath, opts) {\n if (opts === void 0) {\n opts = {};\n }\n let resultType;\n let result;\n let onReject;\n let runHandler = handler => {\n // Setup a promise we can race against so that abort signals short circuit\n let reject;\n let abortPromise = new Promise((_, r) => reject = r);\n onReject = () => reject();\n request.signal.addEventListener(\"abort\", onReject);\n return Promise.race([handler({\n request,\n params: match.params,\n context: opts.requestContext\n }), abortPromise]);\n };\n try {\n let handler = match.route[type];\n if (match.route.lazy) {\n if (handler) {\n // Run statically defined handler in parallel with lazy()\n let handlerError;\n let values = await Promise.all([\n // If the handler throws, don't let it immediately bubble out,\n // since we need to let the lazy() execution finish so we know if this\n // route has a boundary that can handle the error\n runHandler(handler).catch(e => {\n handlerError = e;\n }), loadLazyRouteModule(match.route, mapRouteProperties, manifest)]);\n if (handlerError) {\n throw handlerError;\n }\n result = values[0];\n } else {\n // Load lazy route module, then run any returned handler\n await loadLazyRouteModule(match.route, mapRouteProperties, manifest);\n handler = match.route[type];\n if (handler) {\n // Handler still run even if we got interrupted to maintain consistency\n // with un-abortable behavior of handler execution on non-lazy or\n // previously-lazy-loaded routes\n result = await runHandler(handler);\n } else if (type === \"action\") {\n let url = new URL(request.url);\n let pathname = url.pathname + url.search;\n throw getInternalRouterError(405, {\n method: request.method,\n pathname,\n routeId: match.route.id\n });\n } else {\n // lazy() route has no loader to run. Short circuit here so we don't\n // hit the invariant below that errors on returning undefined.\n return {\n type: ResultType.data,\n data: undefined\n };\n }\n }\n } else if (!handler) {\n let url = new URL(request.url);\n let pathname = url.pathname + url.search;\n throw getInternalRouterError(404, {\n pathname\n });\n } else {\n result = await runHandler(handler);\n }\n invariant(result !== undefined, \"You defined \" + (type === \"action\" ? \"an action\" : \"a loader\") + \" for route \" + (\"\\\"\" + match.route.id + \"\\\" but didn't return anything from your `\" + type + \"` \") + \"function. Please return a value or `null`.\");\n } catch (e) {\n resultType = ResultType.error;\n result = e;\n } finally {\n if (onReject) {\n request.signal.removeEventListener(\"abort\", onReject);\n }\n }\n if (isResponse(result)) {\n let status = result.status;\n // Process redirects\n if (redirectStatusCodes.has(status)) {\n let location = result.headers.get(\"Location\");\n invariant(location, \"Redirects returned/thrown from loaders/actions must have a Location header\");\n // Support relative routing in internal redirects\n if (!ABSOLUTE_URL_REGEX.test(location)) {\n location = normalizeTo(new URL(request.url), matches.slice(0, matches.indexOf(match) + 1), basename, true, location, v7_relativeSplatPath);\n } else if (!opts.isStaticRequest) {\n // Strip off the protocol+origin for same-origin + same-basename absolute\n // redirects. If this is a static request, we can let it go back to the\n // browser as-is\n let currentUrl = new URL(request.url);\n let url = location.startsWith(\"//\") ? new URL(currentUrl.protocol + location) : new URL(location);\n let isSameBasename = stripBasename(url.pathname, basename) != null;\n if (url.origin === currentUrl.origin && isSameBasename) {\n location = url.pathname + url.search + url.hash;\n }\n }\n // Don't process redirects in the router during static requests requests.\n // Instead, throw the Response and let the server handle it with an HTTP\n // redirect. We also update the Location header in place in this flow so\n // basename and relative routing is taken into account\n if (opts.isStaticRequest) {\n result.headers.set(\"Location\", location);\n throw result;\n }\n return {\n type: ResultType.redirect,\n status,\n location,\n revalidate: result.headers.get(\"X-Remix-Revalidate\") !== null,\n reloadDocument: result.headers.get(\"X-Remix-Reload-Document\") !== null\n };\n }\n // For SSR single-route requests, we want to hand Responses back directly\n // without unwrapping. We do this with the QueryRouteResponse wrapper\n // interface so we can know whether it was returned or thrown\n if (opts.isRouteRequest) {\n let queryRouteResponse = {\n type: resultType === ResultType.error ? ResultType.error : ResultType.data,\n response: result\n };\n throw queryRouteResponse;\n }\n let data;\n try {\n let contentType = result.headers.get(\"Content-Type\");\n // Check between word boundaries instead of startsWith() due to the last\n // paragraph of https://httpwg.org/specs/rfc9110.html#field.content-type\n if (contentType && /\\bapplication\\/json\\b/.test(contentType)) {\n if (result.body == null) {\n data = null;\n } else {\n data = await result.json();\n }\n } else {\n data = await result.text();\n }\n } catch (e) {\n return {\n type: ResultType.error,\n error: e\n };\n }\n if (resultType === ResultType.error) {\n return {\n type: resultType,\n error: new ErrorResponseImpl(status, result.statusText, data),\n headers: result.headers\n };\n }\n return {\n type: ResultType.data,\n data,\n statusCode: result.status,\n headers: result.headers\n };\n }\n if (resultType === ResultType.error) {\n return {\n type: resultType,\n error: result\n };\n }\n if (isDeferredData(result)) {\n var _result$init, _result$init2;\n return {\n type: ResultType.deferred,\n deferredData: result,\n statusCode: (_result$init = result.init) == null ? void 0 : _result$init.status,\n headers: ((_result$init2 = result.init) == null ? void 0 : _result$init2.headers) && new Headers(result.init.headers)\n };\n }\n return {\n type: ResultType.data,\n data: result\n };\n}\n// Utility method for creating the Request instances for loaders/actions during\n// client-side navigations and fetches. During SSR we will always have a\n// Request instance from the static handler (query/queryRoute)\nfunction createClientSideRequest(history, location, signal, submission) {\n let url = history.createURL(stripHashFromPath(location)).toString();\n let init = {\n signal\n };\n if (submission && isMutationMethod(submission.formMethod)) {\n let {\n formMethod,\n formEncType\n } = submission;\n // Didn't think we needed this but it turns out unlike other methods, patch\n // won't be properly normalized to uppercase and results in a 405 error.\n // See: https://fetch.spec.whatwg.org/#concept-method\n init.method = formMethod.toUpperCase();\n if (formEncType === \"application/json\") {\n init.headers = new Headers({\n \"Content-Type\": formEncType\n });\n init.body = JSON.stringify(submission.json);\n } else if (formEncType === \"text/plain\") {\n // Content-Type is inferred (https://fetch.spec.whatwg.org/#dom-request)\n init.body = submission.text;\n } else if (formEncType === \"application/x-www-form-urlencoded\" && submission.formData) {\n // Content-Type is inferred (https://fetch.spec.whatwg.org/#dom-request)\n init.body = convertFormDataToSearchParams(submission.formData);\n } else {\n // Content-Type is inferred (https://fetch.spec.whatwg.org/#dom-request)\n init.body = submission.formData;\n }\n }\n return new Request(url, init);\n}\nfunction convertFormDataToSearchParams(formData) {\n let searchParams = new URLSearchParams();\n for (let [key, value] of formData.entries()) {\n // https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#converting-an-entry-list-to-a-list-of-name-value-pairs\n searchParams.append(key, typeof value === \"string\" ? value : value.name);\n }\n return searchParams;\n}\nfunction convertSearchParamsToFormData(searchParams) {\n let formData = new FormData();\n for (let [key, value] of searchParams.entries()) {\n formData.append(key, value);\n }\n return formData;\n}\nfunction processRouteLoaderData(matches, matchesToLoad, results, pendingError, activeDeferreds) {\n // Fill in loaderData/errors from our loaders\n let loaderData = {};\n let errors = null;\n let statusCode;\n let foundError = false;\n let loaderHeaders = {};\n // Process loader results into state.loaderData/state.errors\n results.forEach((result, index) => {\n let id = matchesToLoad[index].route.id;\n invariant(!isRedirectResult(result), \"Cannot handle redirect results in processLoaderData\");\n if (isErrorResult(result)) {\n // Look upwards from the matched route for the closest ancestor\n // error boundary, defaulting to the root match\n let boundaryMatch = findNearestBoundary(matches, id);\n let error = result.error;\n // If we have a pending action error, we report it at the highest-route\n // that throws a loader error, and then clear it out to indicate that\n // it was consumed\n if (pendingError) {\n error = Object.values(pendingError)[0];\n pendingError = undefined;\n }\n errors = errors || {};\n // Prefer higher error values if lower errors bubble to the same boundary\n if (errors[boundaryMatch.route.id] == null) {\n errors[boundaryMatch.route.id] = error;\n }\n // Clear our any prior loaderData for the throwing route\n loaderData[id] = undefined;\n // Once we find our first (highest) error, we set the status code and\n // prevent deeper status codes from overriding\n if (!foundError) {\n foundError = true;\n statusCode = isRouteErrorResponse(result.error) ? result.error.status : 500;\n }\n if (result.headers) {\n loaderHeaders[id] = result.headers;\n }\n } else {\n if (isDeferredResult(result)) {\n activeDeferreds.set(id, result.deferredData);\n loaderData[id] = result.deferredData.data;\n } else {\n loaderData[id] = result.data;\n }\n // Error status codes always override success status codes, but if all\n // loaders are successful we take the deepest status code.\n if (result.statusCode != null && result.statusCode !== 200 && !foundError) {\n statusCode = result.statusCode;\n }\n if (result.headers) {\n loaderHeaders[id] = result.headers;\n }\n }\n });\n // If we didn't consume the pending action error (i.e., all loaders\n // resolved), then consume it here. Also clear out any loaderData for the\n // throwing route\n if (pendingError) {\n errors = pendingError;\n loaderData[Object.keys(pendingError)[0]] = undefined;\n }\n return {\n loaderData,\n errors,\n statusCode: statusCode || 200,\n loaderHeaders\n };\n}\nfunction processLoaderData(state, matches, matchesToLoad, results, pendingError, revalidatingFetchers, fetcherResults, activeDeferreds) {\n let {\n loaderData,\n errors\n } = processRouteLoaderData(matches, matchesToLoad, results, pendingError, activeDeferreds);\n // Process results from our revalidating fetchers\n for (let index = 0; index < revalidatingFetchers.length; index++) {\n let {\n key,\n match,\n controller\n } = revalidatingFetchers[index];\n invariant(fetcherResults !== undefined && fetcherResults[index] !== undefined, \"Did not find corresponding fetcher result\");\n let result = fetcherResults[index];\n // Process fetcher non-redirect errors\n if (controller && controller.signal.aborted) {\n // Nothing to do for aborted fetchers\n continue;\n } else if (isErrorResult(result)) {\n let boundaryMatch = findNearestBoundary(state.matches, match == null ? void 0 : match.route.id);\n if (!(errors && errors[boundaryMatch.route.id])) {\n errors = _extends({}, errors, {\n [boundaryMatch.route.id]: result.error\n });\n }\n state.fetchers.delete(key);\n } else if (isRedirectResult(result)) {\n // Should never get here, redirects should get processed above, but we\n // keep this to type narrow to a success result in the else\n invariant(false, \"Unhandled fetcher revalidation redirect\");\n } else if (isDeferredResult(result)) {\n // Should never get here, deferred data should be awaited for fetchers\n // in resolveDeferredResults\n invariant(false, \"Unhandled fetcher deferred data\");\n } else {\n let doneFetcher = getDoneFetcher(result.data);\n state.fetchers.set(key, doneFetcher);\n }\n }\n return {\n loaderData,\n errors\n };\n}\nfunction mergeLoaderData(loaderData, newLoaderData, matches, errors) {\n let mergedLoaderData = _extends({}, newLoaderData);\n for (let match of matches) {\n let id = match.route.id;\n if (newLoaderData.hasOwnProperty(id)) {\n if (newLoaderData[id] !== undefined) {\n mergedLoaderData[id] = newLoaderData[id];\n }\n } else if (loaderData[id] !== undefined && match.route.loader) {\n // Preserve existing keys not included in newLoaderData and where a loader\n // wasn't removed by HMR\n mergedLoaderData[id] = loaderData[id];\n }\n if (errors && errors.hasOwnProperty(id)) {\n // Don't keep any loader data below the boundary\n break;\n }\n }\n return mergedLoaderData;\n}\n// Find the nearest error boundary, looking upwards from the leaf route (or the\n// route specified by routeId) for the closest ancestor error boundary,\n// defaulting to the root match\nfunction findNearestBoundary(matches, routeId) {\n let eligibleMatches = routeId ? matches.slice(0, matches.findIndex(m => m.route.id === routeId) + 1) : [...matches];\n return eligibleMatches.reverse().find(m => m.route.hasErrorBoundary === true) || matches[0];\n}\nfunction getShortCircuitMatches(routes) {\n // Prefer a root layout route if present, otherwise shim in a route object\n let route = routes.length === 1 ? routes[0] : routes.find(r => r.index || !r.path || r.path === \"/\") || {\n id: \"__shim-error-route__\"\n };\n return {\n matches: [{\n params: {},\n pathname: \"\",\n pathnameBase: \"\",\n route\n }],\n route\n };\n}\nfunction getInternalRouterError(status, _temp5) {\n let {\n pathname,\n routeId,\n method,\n type\n } = _temp5 === void 0 ? {} : _temp5;\n let statusText = \"Unknown Server Error\";\n let errorMessage = \"Unknown @remix-run/router error\";\n if (status === 400) {\n statusText = \"Bad Request\";\n if (method && pathname && routeId) {\n errorMessage = \"You made a \" + method + \" request to \\\"\" + pathname + \"\\\" but \" + (\"did not provide a `loader` for route \\\"\" + routeId + \"\\\", \") + \"so there is no way to handle the request.\";\n } else if (type === \"defer-action\") {\n errorMessage = \"defer() is not supported in actions\";\n } else if (type === \"invalid-body\") {\n errorMessage = \"Unable to encode submission body\";\n }\n } else if (status === 403) {\n statusText = \"Forbidden\";\n errorMessage = \"Route \\\"\" + routeId + \"\\\" does not match URL \\\"\" + pathname + \"\\\"\";\n } else if (status === 404) {\n statusText = \"Not Found\";\n errorMessage = \"No route matches URL \\\"\" + pathname + \"\\\"\";\n } else if (status === 405) {\n statusText = \"Method Not Allowed\";\n if (method && pathname && routeId) {\n errorMessage = \"You made a \" + method.toUpperCase() + \" request to \\\"\" + pathname + \"\\\" but \" + (\"did not provide an `action` for route \\\"\" + routeId + \"\\\", \") + \"so there is no way to handle the request.\";\n } else if (method) {\n errorMessage = \"Invalid request method \\\"\" + method.toUpperCase() + \"\\\"\";\n }\n }\n return new ErrorResponseImpl(status || 500, statusText, new Error(errorMessage), true);\n}\n// Find any returned redirect errors, starting from the lowest match\nfunction findRedirect(results) {\n for (let i = results.length - 1; i >= 0; i--) {\n let result = results[i];\n if (isRedirectResult(result)) {\n return {\n result,\n idx: i\n };\n }\n }\n}\nfunction stripHashFromPath(path) {\n let parsedPath = typeof path === \"string\" ? parsePath(path) : path;\n return createPath(_extends({}, parsedPath, {\n hash: \"\"\n }));\n}\nfunction isHashChangeOnly(a, b) {\n if (a.pathname !== b.pathname || a.search !== b.search) {\n return false;\n }\n if (a.hash === \"\") {\n // /page -> /page#hash\n return b.hash !== \"\";\n } else if (a.hash === b.hash) {\n // /page#hash -> /page#hash\n return true;\n } else if (b.hash !== \"\") {\n // /page#hash -> /page#other\n return true;\n }\n // If the hash is removed the browser will re-perform a request to the server\n // /page#hash -> /page\n return false;\n}\nfunction isDeferredResult(result) {\n return result.type === ResultType.deferred;\n}\nfunction isErrorResult(result) {\n return result.type === ResultType.error;\n}\nfunction isRedirectResult(result) {\n return (result && result.type) === ResultType.redirect;\n}\nfunction isDeferredData(value) {\n let deferred = value;\n return deferred && typeof deferred === \"object\" && typeof deferred.data === \"object\" && typeof deferred.subscribe === \"function\" && typeof deferred.cancel === \"function\" && typeof deferred.resolveData === \"function\";\n}\nfunction isResponse(value) {\n return value != null && typeof value.status === \"number\" && typeof value.statusText === \"string\" && typeof value.headers === \"object\" && typeof value.body !== \"undefined\";\n}\nfunction isRedirectResponse(result) {\n if (!isResponse(result)) {\n return false;\n }\n let status = result.status;\n let location = result.headers.get(\"Location\");\n return status >= 300 && status <= 399 && location != null;\n}\nfunction isQueryRouteResponse(obj) {\n return obj && isResponse(obj.response) && (obj.type === ResultType.data || obj.type === ResultType.error);\n}\nfunction isValidMethod(method) {\n return validRequestMethods.has(method.toLowerCase());\n}\nfunction isMutationMethod(method) {\n return validMutationMethods.has(method.toLowerCase());\n}\nasync function resolveDeferredResults(currentMatches, matchesToLoad, results, signals, isFetcher, currentLoaderData) {\n for (let index = 0; index < results.length; index++) {\n let result = results[index];\n let match = matchesToLoad[index];\n // If we don't have a match, then we can have a deferred result to do\n // anything with. This is for revalidating fetchers where the route was\n // removed during HMR\n if (!match) {\n continue;\n }\n let currentMatch = currentMatches.find(m => m.route.id === match.route.id);\n let isRevalidatingLoader = currentMatch != null && !isNewRouteInstance(currentMatch, match) && (currentLoaderData && currentLoaderData[match.route.id]) !== undefined;\n if (isDeferredResult(result) && (isFetcher || isRevalidatingLoader)) {\n // Note: we do not have to touch activeDeferreds here since we race them\n // against the signal in resolveDeferredData and they'll get aborted\n // there if needed\n let signal = signals[index];\n invariant(signal, \"Expected an AbortSignal for revalidating fetcher deferred result\");\n await resolveDeferredData(result, signal, isFetcher).then(result => {\n if (result) {\n results[index] = result || results[index];\n }\n });\n }\n }\n}\nasync function resolveDeferredData(result, signal, unwrap) {\n if (unwrap === void 0) {\n unwrap = false;\n }\n let aborted = await result.deferredData.resolveData(signal);\n if (aborted) {\n return;\n }\n if (unwrap) {\n try {\n return {\n type: ResultType.data,\n data: result.deferredData.unwrappedData\n };\n } catch (e) {\n // Handle any TrackedPromise._error values encountered while unwrapping\n return {\n type: ResultType.error,\n error: e\n };\n }\n }\n return {\n type: ResultType.data,\n data: result.deferredData.data\n };\n}\nfunction hasNakedIndexQuery(search) {\n return new URLSearchParams(search).getAll(\"index\").some(v => v === \"\");\n}\nfunction getTargetMatch(matches, location) {\n let search = typeof location === \"string\" ? parsePath(location).search : location.search;\n if (matches[matches.length - 1].route.index && hasNakedIndexQuery(search || \"\")) {\n // Return the leaf index route when index is present\n return matches[matches.length - 1];\n }\n // Otherwise grab the deepest \"path contributing\" match (ignoring index and\n // pathless layout routes)\n let pathMatches = getPathContributingMatches(matches);\n return pathMatches[pathMatches.length - 1];\n}\nfunction getSubmissionFromNavigation(navigation) {\n let {\n formMethod,\n formAction,\n formEncType,\n text,\n formData,\n json\n } = navigation;\n if (!formMethod || !formAction || !formEncType) {\n return;\n }\n if (text != null) {\n return {\n formMethod,\n formAction,\n formEncType,\n formData: undefined,\n json: undefined,\n text\n };\n } else if (formData != null) {\n return {\n formMethod,\n formAction,\n formEncType,\n formData,\n json: undefined,\n text: undefined\n };\n } else if (json !== undefined) {\n return {\n formMethod,\n formAction,\n formEncType,\n formData: undefined,\n json,\n text: undefined\n };\n }\n}\nfunction getLoadingNavigation(location, submission) {\n if (submission) {\n let navigation = {\n state: \"loading\",\n location,\n formMethod: submission.formMethod,\n formAction: submission.formAction,\n formEncType: submission.formEncType,\n formData: submission.formData,\n json: submission.json,\n text: submission.text\n };\n return navigation;\n } else {\n let navigation = {\n state: \"loading\",\n location,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n json: undefined,\n text: undefined\n };\n return navigation;\n }\n}\nfunction getSubmittingNavigation(location, submission) {\n let navigation = {\n state: \"submitting\",\n location,\n formMethod: submission.formMethod,\n formAction: submission.formAction,\n formEncType: submission.formEncType,\n formData: submission.formData,\n json: submission.json,\n text: submission.text\n };\n return navigation;\n}\nfunction getLoadingFetcher(submission, data) {\n if (submission) {\n let fetcher = {\n state: \"loading\",\n formMethod: submission.formMethod,\n formAction: submission.formAction,\n formEncType: submission.formEncType,\n formData: submission.formData,\n json: submission.json,\n text: submission.text,\n data\n };\n return fetcher;\n } else {\n let fetcher = {\n state: \"loading\",\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n json: undefined,\n text: undefined,\n data\n };\n return fetcher;\n }\n}\nfunction getSubmittingFetcher(submission, existingFetcher) {\n let fetcher = {\n state: \"submitting\",\n formMethod: submission.formMethod,\n formAction: submission.formAction,\n formEncType: submission.formEncType,\n formData: submission.formData,\n json: submission.json,\n text: submission.text,\n data: existingFetcher ? existingFetcher.data : undefined\n };\n return fetcher;\n}\nfunction getDoneFetcher(data) {\n let fetcher = {\n state: \"idle\",\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n json: undefined,\n text: undefined,\n data\n };\n return fetcher;\n}\nfunction restoreAppliedTransitions(_window, transitions) {\n try {\n let sessionPositions = _window.sessionStorage.getItem(TRANSITIONS_STORAGE_KEY);\n if (sessionPositions) {\n let json = JSON.parse(sessionPositions);\n for (let [k, v] of Object.entries(json || {})) {\n if (v && Array.isArray(v)) {\n transitions.set(k, new Set(v || []));\n }\n }\n }\n } catch (e) {\n // no-op, use default empty object\n }\n}\nfunction persistAppliedTransitions(_window, transitions) {\n if (transitions.size > 0) {\n let json = {};\n for (let [k, v] of transitions) {\n json[k] = [...v];\n }\n try {\n _window.sessionStorage.setItem(TRANSITIONS_STORAGE_KEY, JSON.stringify(json));\n } catch (error) {\n warning(false, \"Failed to save applied view transitions in sessionStorage (\" + error + \").\");\n }\n }\n}\n//#endregion\n\nexport { AbortedDeferredError, Action, IDLE_BLOCKER, IDLE_FETCHER, IDLE_NAVIGATION, UNSAFE_DEFERRED_SYMBOL, DeferredData as UNSAFE_DeferredData, ErrorResponseImpl as UNSAFE_ErrorResponseImpl, convertRouteMatchToUiMatch as UNSAFE_convertRouteMatchToUiMatch, convertRoutesToDataRoutes as UNSAFE_convertRoutesToDataRoutes, getResolveToMatches as UNSAFE_getResolveToMatches, invariant as UNSAFE_invariant, warning as UNSAFE_warning, createBrowserHistory, createHashHistory, createMemoryHistory, createPath, createRouter, createStaticHandler, defer, generatePath, getStaticContextFromError, getToPathname, isDeferredData, isRouteErrorResponse, joinPaths, json, matchPath, matchRoutes, normalizePathname, parsePath, redirect, redirectDocument, resolvePath, resolveTo, stripBasename };\n//# sourceMappingURL=router.js.map\n","/**\n * React Router v6.22.0\n *\n * Copyright (c) Remix Software Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nimport * as React from 'react';\nimport { UNSAFE_invariant, joinPaths, matchPath, UNSAFE_getResolveToMatches, UNSAFE_warning, resolveTo, parsePath, matchRoutes, Action, UNSAFE_convertRouteMatchToUiMatch, stripBasename, IDLE_BLOCKER, isRouteErrorResponse, createMemoryHistory, AbortedDeferredError, createRouter } from '@remix-run/router';\nexport { AbortedDeferredError, Action as NavigationType, createPath, defer, generatePath, isRouteErrorResponse, json, matchPath, matchRoutes, parsePath, redirect, redirectDocument, resolvePath } from '@remix-run/router';\n\nfunction _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\n\n// Create react-specific types from the agnostic types in @remix-run/router to\n// export from react-router\nconst DataRouterContext = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== \"production\") {\n DataRouterContext.displayName = \"DataRouter\";\n}\nconst DataRouterStateContext = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== \"production\") {\n DataRouterStateContext.displayName = \"DataRouterState\";\n}\nconst AwaitContext = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== \"production\") {\n AwaitContext.displayName = \"Await\";\n}\n\n/**\n * A Navigator is a \"location changer\"; it's how you get to different locations.\n *\n * Every history instance conforms to the Navigator interface, but the\n * distinction is useful primarily when it comes to the low-level `<Router>` API\n * where both the location and a navigator must be provided separately in order\n * to avoid \"tearing\" that may occur in a suspense-enabled app if the action\n * and/or location were to be read directly from the history instance.\n */\n\nconst NavigationContext = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== \"production\") {\n NavigationContext.displayName = \"Navigation\";\n}\nconst LocationContext = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== \"production\") {\n LocationContext.displayName = \"Location\";\n}\nconst RouteContext = /*#__PURE__*/React.createContext({\n outlet: null,\n matches: [],\n isDataRoute: false\n});\nif (process.env.NODE_ENV !== \"production\") {\n RouteContext.displayName = \"Route\";\n}\nconst RouteErrorContext = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== \"production\") {\n RouteErrorContext.displayName = \"RouteError\";\n}\n\n/**\n * Returns the full href for the given \"to\" value. This is useful for building\n * custom links that are also accessible and preserve right-click behavior.\n *\n * @see https://reactrouter.com/hooks/use-href\n */\nfunction useHref(to, _temp) {\n let {\n relative\n } = _temp === void 0 ? {} : _temp;\n !useInRouterContext() ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n \"useHref() may be used only in the context of a <Router> component.\") : UNSAFE_invariant(false) : void 0;\n let {\n basename,\n navigator\n } = React.useContext(NavigationContext);\n let {\n hash,\n pathname,\n search\n } = useResolvedPath(to, {\n relative\n });\n let joinedPathname = pathname;\n\n // If we're operating within a basename, prepend it to the pathname prior\n // to creating the href. If this is a root navigation, then just use the raw\n // basename which allows the basename to have full control over the presence\n // of a trailing slash on root links\n if (basename !== \"/\") {\n joinedPathname = pathname === \"/\" ? basename : joinPaths([basename, pathname]);\n }\n return navigator.createHref({\n pathname: joinedPathname,\n search,\n hash\n });\n}\n\n/**\n * Returns true if this component is a descendant of a `<Router>`.\n *\n * @see https://reactrouter.com/hooks/use-in-router-context\n */\nfunction useInRouterContext() {\n return React.useContext(LocationContext) != null;\n}\n\n/**\n * Returns the current location object, which represents the current URL in web\n * browsers.\n *\n * Note: If you're using this it may mean you're doing some of your own\n * \"routing\" in your app, and we'd like to know what your use case is. We may\n * be able to provide something higher-level to better suit your needs.\n *\n * @see https://reactrouter.com/hooks/use-location\n */\nfunction useLocation() {\n !useInRouterContext() ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n \"useLocation() may be used only in the context of a <Router> component.\") : UNSAFE_invariant(false) : void 0;\n return React.useContext(LocationContext).location;\n}\n\n/**\n * Returns the current navigation action which describes how the router came to\n * the current location, either by a pop, push, or replace on the history stack.\n *\n * @see https://reactrouter.com/hooks/use-navigation-type\n */\nfunction useNavigationType() {\n return React.useContext(LocationContext).navigationType;\n}\n\n/**\n * Returns a PathMatch object if the given pattern matches the current URL.\n * This is useful for components that need to know \"active\" state, e.g.\n * `<NavLink>`.\n *\n * @see https://reactrouter.com/hooks/use-match\n */\nfunction useMatch(pattern) {\n !useInRouterContext() ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n \"useMatch() may be used only in the context of a <Router> component.\") : UNSAFE_invariant(false) : void 0;\n let {\n pathname\n } = useLocation();\n return React.useMemo(() => matchPath(pattern, pathname), [pathname, pattern]);\n}\n\n/**\n * The interface for the navigate() function returned from useNavigate().\n */\n\nconst navigateEffectWarning = \"You should call navigate() in a React.useEffect(), not when \" + \"your component is first rendered.\";\n\n// Mute warnings for calls to useNavigate in SSR environments\nfunction useIsomorphicLayoutEffect(cb) {\n let isStatic = React.useContext(NavigationContext).static;\n if (!isStatic) {\n // We should be able to get rid of this once react 18.3 is released\n // See: https://github.com/facebook/react/pull/26395\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useLayoutEffect(cb);\n }\n}\n\n/**\n * Returns an imperative method for changing the location. Used by `<Link>`s, but\n * may also be used by other elements to change the location.\n *\n * @see https://reactrouter.com/hooks/use-navigate\n */\nfunction useNavigate() {\n let {\n isDataRoute\n } = React.useContext(RouteContext);\n // Conditional usage is OK here because the usage of a data router is static\n // eslint-disable-next-line react-hooks/rules-of-hooks\n return isDataRoute ? useNavigateStable() : useNavigateUnstable();\n}\nfunction useNavigateUnstable() {\n !useInRouterContext() ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n \"useNavigate() may be used only in the context of a <Router> component.\") : UNSAFE_invariant(false) : void 0;\n let dataRouterContext = React.useContext(DataRouterContext);\n let {\n basename,\n future,\n navigator\n } = React.useContext(NavigationContext);\n let {\n matches\n } = React.useContext(RouteContext);\n let {\n pathname: locationPathname\n } = useLocation();\n let routePathnamesJson = JSON.stringify(UNSAFE_getResolveToMatches(matches, future.v7_relativeSplatPath));\n let activeRef = React.useRef(false);\n useIsomorphicLayoutEffect(() => {\n activeRef.current = true;\n });\n let navigate = React.useCallback(function (to, options) {\n if (options === void 0) {\n options = {};\n }\n process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(activeRef.current, navigateEffectWarning) : void 0;\n\n // Short circuit here since if this happens on first render the navigate\n // is useless because we haven't wired up our history listener yet\n if (!activeRef.current) return;\n if (typeof to === \"number\") {\n navigator.go(to);\n return;\n }\n let path = resolveTo(to, JSON.parse(routePathnamesJson), locationPathname, options.relative === \"path\");\n\n // If we're operating within a basename, prepend it to the pathname prior\n // to handing off to history (but only if we're not in a data router,\n // otherwise it'll prepend the basename inside of the router).\n // If this is a root navigation, then we navigate to the raw basename\n // which allows the basename to have full control over the presence of a\n // trailing slash on root links\n if (dataRouterContext == null && basename !== \"/\") {\n path.pathname = path.pathname === \"/\" ? basename : joinPaths([basename, path.pathname]);\n }\n (!!options.replace ? navigator.replace : navigator.push)(path, options.state, options);\n }, [basename, navigator, routePathnamesJson, locationPathname, dataRouterContext]);\n return navigate;\n}\nconst OutletContext = /*#__PURE__*/React.createContext(null);\n\n/**\n * Returns the context (if provided) for the child route at this level of the route\n * hierarchy.\n * @see https://reactrouter.com/hooks/use-outlet-context\n */\nfunction useOutletContext() {\n return React.useContext(OutletContext);\n}\n\n/**\n * Returns the element for the child route at this level of the route\n * hierarchy. Used internally by `<Outlet>` to render child routes.\n *\n * @see https://reactrouter.com/hooks/use-outlet\n */\nfunction useOutlet(context) {\n let outlet = React.useContext(RouteContext).outlet;\n if (outlet) {\n return /*#__PURE__*/React.createElement(OutletContext.Provider, {\n value: context\n }, outlet);\n }\n return outlet;\n}\n\n/**\n * Returns an object of key/value pairs of the dynamic params from the current\n * URL that were matched by the route path.\n *\n * @see https://reactrouter.com/hooks/use-params\n */\nfunction useParams() {\n let {\n matches\n } = React.useContext(RouteContext);\n let routeMatch = matches[matches.length - 1];\n return routeMatch ? routeMatch.params : {};\n}\n\n/**\n * Resolves the pathname of the given `to` value against the current location.\n *\n * @see https://reactrouter.com/hooks/use-resolved-path\n */\nfunction useResolvedPath(to, _temp2) {\n let {\n relative\n } = _temp2 === void 0 ? {} : _temp2;\n let {\n future\n } = React.useContext(NavigationContext);\n let {\n matches\n } = React.useContext(RouteContext);\n let {\n pathname: locationPathname\n } = useLocation();\n let routePathnamesJson = JSON.stringify(UNSAFE_getResolveToMatches(matches, future.v7_relativeSplatPath));\n return React.useMemo(() => resolveTo(to, JSON.parse(routePathnamesJson), locationPathname, relative === \"path\"), [to, routePathnamesJson, locationPathname, relative]);\n}\n\n/**\n * Returns the element of the route that matched the current location, prepared\n * with the correct context to render the remainder of the route tree. Route\n * elements in the tree must render an `<Outlet>` to render their child route's\n * element.\n *\n * @see https://reactrouter.com/hooks/use-routes\n */\nfunction useRoutes(routes, locationArg) {\n return useRoutesImpl(routes, locationArg);\n}\n\n// Internal implementation with accept optional param for RouterProvider usage\nfunction useRoutesImpl(routes, locationArg, dataRouterState, future) {\n !useInRouterContext() ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n \"useRoutes() may be used only in the context of a <Router> component.\") : UNSAFE_invariant(false) : void 0;\n let {\n navigator\n } = React.useContext(NavigationContext);\n let {\n matches: parentMatches\n } = React.useContext(RouteContext);\n let routeMatch = parentMatches[parentMatches.length - 1];\n let parentParams = routeMatch ? routeMatch.params : {};\n let parentPathname = routeMatch ? routeMatch.pathname : \"/\";\n let parentPathnameBase = routeMatch ? routeMatch.pathnameBase : \"/\";\n let parentRoute = routeMatch && routeMatch.route;\n if (process.env.NODE_ENV !== \"production\") {\n // You won't get a warning about 2 different <Routes> under a <Route>\n // without a trailing *, but this is a best-effort warning anyway since we\n // cannot even give the warning unless they land at the parent route.\n //\n // Example:\n //\n // <Routes>\n // {/* This route path MUST end with /* because otherwise\n // it will never match /blog/post/123 */}\n // <Route path=\"blog\" element={<Blog />} />\n // <Route path=\"blog/feed\" element={<BlogFeed />} />\n // </Routes>\n //\n // function Blog() {\n // return (\n // <Routes>\n // <Route path=\"post/:id\" element={<Post />} />\n // </Routes>\n // );\n // }\n let parentPath = parentRoute && parentRoute.path || \"\";\n warningOnce(parentPathname, !parentRoute || parentPath.endsWith(\"*\"), \"You rendered descendant <Routes> (or called `useRoutes()`) at \" + (\"\\\"\" + parentPathname + \"\\\" (under <Route path=\\\"\" + parentPath + \"\\\">) but the \") + \"parent route path has no trailing \\\"*\\\". This means if you navigate \" + \"deeper, the parent won't match anymore and therefore the child \" + \"routes will never render.\\n\\n\" + (\"Please change the parent <Route path=\\\"\" + parentPath + \"\\\"> to <Route \") + (\"path=\\\"\" + (parentPath === \"/\" ? \"*\" : parentPath + \"/*\") + \"\\\">.\"));\n }\n let locationFromContext = useLocation();\n let location;\n if (locationArg) {\n var _parsedLocationArg$pa;\n let parsedLocationArg = typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n !(parentPathnameBase === \"/\" || ((_parsedLocationArg$pa = parsedLocationArg.pathname) == null ? void 0 : _parsedLocationArg$pa.startsWith(parentPathnameBase))) ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, \"When overriding the location using `<Routes location>` or `useRoutes(routes, location)`, \" + \"the location pathname must begin with the portion of the URL pathname that was \" + (\"matched by all parent routes. The current pathname base is \\\"\" + parentPathnameBase + \"\\\" \") + (\"but pathname \\\"\" + parsedLocationArg.pathname + \"\\\" was given in the `location` prop.\")) : UNSAFE_invariant(false) : void 0;\n location = parsedLocationArg;\n } else {\n location = locationFromContext;\n }\n let pathname = location.pathname || \"/\";\n let remainingPathname = parentPathnameBase === \"/\" ? pathname : pathname.slice(parentPathnameBase.length) || \"/\";\n let matches = matchRoutes(routes, {\n pathname: remainingPathname\n });\n if (process.env.NODE_ENV !== \"production\") {\n process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(parentRoute || matches != null, \"No routes matched location \\\"\" + location.pathname + location.search + location.hash + \"\\\" \") : void 0;\n process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(matches == null || matches[matches.length - 1].route.element !== undefined || matches[matches.length - 1].route.Component !== undefined || matches[matches.length - 1].route.lazy !== undefined, \"Matched leaf route at location \\\"\" + location.pathname + location.search + location.hash + \"\\\" \" + \"does not have an element or Component. This means it will render an <Outlet /> with a \" + \"null value by default resulting in an \\\"empty\\\" page.\") : void 0;\n }\n let renderedMatches = _renderMatches(matches && matches.map(match => Object.assign({}, match, {\n params: Object.assign({}, parentParams, match.params),\n pathname: joinPaths([parentPathnameBase,\n // Re-encode pathnames that were decoded inside matchRoutes\n navigator.encodeLocation ? navigator.encodeLocation(match.pathname).pathname : match.pathname]),\n pathnameBase: match.pathnameBase === \"/\" ? parentPathnameBase : joinPaths([parentPathnameBase,\n // Re-encode pathnames that were decoded inside matchRoutes\n navigator.encodeLocation ? navigator.encodeLocation(match.pathnameBase).pathname : match.pathnameBase])\n })), parentMatches, dataRouterState, future);\n\n // When a user passes in a `locationArg`, the associated routes need to\n // be wrapped in a new `LocationContext.Provider` in order for `useLocation`\n // to use the scoped location instead of the global location.\n if (locationArg && renderedMatches) {\n return /*#__PURE__*/React.createElement(LocationContext.Provider, {\n value: {\n location: _extends({\n pathname: \"/\",\n search: \"\",\n hash: \"\",\n state: null,\n key: \"default\"\n }, location),\n navigationType: Action.Pop\n }\n }, renderedMatches);\n }\n return renderedMatches;\n}\nfunction DefaultErrorComponent() {\n let error = useRouteError();\n let message = isRouteErrorResponse(error) ? error.status + \" \" + error.statusText : error instanceof Error ? error.message : JSON.stringify(error);\n let stack = error instanceof Error ? error.stack : null;\n let lightgrey = \"rgba(200,200,200, 0.5)\";\n let preStyles = {\n padding: \"0.5rem\",\n backgroundColor: lightgrey\n };\n let codeStyles = {\n padding: \"2px 4px\",\n backgroundColor: lightgrey\n };\n let devInfo = null;\n if (process.env.NODE_ENV !== \"production\") {\n console.error(\"Error handled by React Router default ErrorBoundary:\", error);\n devInfo = /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"p\", null, \"\\uD83D\\uDCBF Hey developer \\uD83D\\uDC4B\"), /*#__PURE__*/React.createElement(\"p\", null, \"You can provide a way better UX than this when your app throws errors by providing your own \", /*#__PURE__*/React.createElement(\"code\", {\n style: codeStyles\n }, \"ErrorBoundary\"), \" or\", \" \", /*#__PURE__*/React.createElement(\"code\", {\n style: codeStyles\n }, \"errorElement\"), \" prop on your route.\"));\n }\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"h2\", null, \"Unexpected Application Error!\"), /*#__PURE__*/React.createElement(\"h3\", {\n style: {\n fontStyle: \"italic\"\n }\n }, message), stack ? /*#__PURE__*/React.createElement(\"pre\", {\n style: preStyles\n }, stack) : null, devInfo);\n}\nconst defaultErrorElement = /*#__PURE__*/React.createElement(DefaultErrorComponent, null);\nclass RenderErrorBoundary extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n location: props.location,\n revalidation: props.revalidation,\n error: props.error\n };\n }\n static getDerivedStateFromError(error) {\n return {\n error: error\n };\n }\n static getDerivedStateFromProps(props, state) {\n // When we get into an error state, the user will likely click \"back\" to the\n // previous page that didn't have an error. Because this wraps the entire\n // application, that will have no effect--the error page continues to display.\n // This gives us a mechanism to recover from the error when the location changes.\n //\n // Whether we're in an error state or not, we update the location in state\n // so that when we are in an error state, it gets reset when a new location\n // comes in and the user recovers from the error.\n if (state.location !== props.location || state.revalidation !== \"idle\" && props.revalidation === \"idle\") {\n return {\n error: props.error,\n location: props.location,\n revalidation: props.revalidation\n };\n }\n\n // If we're not changing locations, preserve the location but still surface\n // any new errors that may come through. We retain the existing error, we do\n // this because the error provided from the app state may be cleared without\n // the location changing.\n return {\n error: props.error !== undefined ? props.error : state.error,\n location: state.location,\n revalidation: props.revalidation || state.revalidation\n };\n }\n componentDidCatch(error, errorInfo) {\n console.error(\"React Router caught the following error during render\", error, errorInfo);\n }\n render() {\n return this.state.error !== undefined ? /*#__PURE__*/React.createElement(RouteContext.Provider, {\n value: this.props.routeContext\n }, /*#__PURE__*/React.createElement(RouteErrorContext.Provider, {\n value: this.state.error,\n children: this.props.component\n })) : this.props.children;\n }\n}\nfunction RenderedRoute(_ref) {\n let {\n routeContext,\n match,\n children\n } = _ref;\n let dataRouterContext = React.useContext(DataRouterContext);\n\n // Track how deep we got in our render pass to emulate SSR componentDidCatch\n // in a DataStaticRouter\n if (dataRouterContext && dataRouterContext.static && dataRouterContext.staticContext && (match.route.errorElement || match.route.ErrorBoundary)) {\n dataRouterContext.staticContext._deepestRenderedBoundaryId = match.route.id;\n }\n return /*#__PURE__*/React.createElement(RouteContext.Provider, {\n value: routeContext\n }, children);\n}\nfunction _renderMatches(matches, parentMatches, dataRouterState, future) {\n var _dataRouterState2;\n if (parentMatches === void 0) {\n parentMatches = [];\n }\n if (dataRouterState === void 0) {\n dataRouterState = null;\n }\n if (future === void 0) {\n future = null;\n }\n if (matches == null) {\n var _dataRouterState;\n if ((_dataRouterState = dataRouterState) != null && _dataRouterState.errors) {\n // Don't bail if we have data router errors so we can render them in the\n // boundary. Use the pre-matched (or shimmed) matches\n matches = dataRouterState.matches;\n } else {\n return null;\n }\n }\n let renderedMatches = matches;\n\n // If we have data errors, trim matches to the highest error boundary\n let errors = (_dataRouterState2 = dataRouterState) == null ? void 0 : _dataRouterState2.errors;\n if (errors != null) {\n let errorIndex = renderedMatches.findIndex(m => m.route.id && (errors == null ? void 0 : errors[m.route.id]));\n !(errorIndex >= 0) ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, \"Could not find a matching route for errors on route IDs: \" + Object.keys(errors).join(\",\")) : UNSAFE_invariant(false) : void 0;\n renderedMatches = renderedMatches.slice(0, Math.min(renderedMatches.length, errorIndex + 1));\n }\n\n // If we're in a partial hydration mode, detect if we need to render down to\n // a given HydrateFallback while we load the rest of the hydration data\n let renderFallback = false;\n let fallbackIndex = -1;\n if (dataRouterState && future && future.v7_partialHydration) {\n for (let i = 0; i < renderedMatches.length; i++) {\n let match = renderedMatches[i];\n // Track the deepest fallback up until the first route without data\n if (match.route.HydrateFallback || match.route.hydrateFallbackElement) {\n fallbackIndex = i;\n }\n if (match.route.id) {\n let {\n loaderData,\n errors\n } = dataRouterState;\n let needsToRunLoader = match.route.loader && loaderData[match.route.id] === undefined && (!errors || errors[match.route.id] === undefined);\n if (match.route.lazy || needsToRunLoader) {\n // We found the first route that's not ready to render (waiting on\n // lazy, or has a loader that hasn't run yet). Flag that we need to\n // render a fallback and render up until the appropriate fallback\n renderFallback = true;\n if (fallbackIndex >= 0) {\n renderedMatches = renderedMatches.slice(0, fallbackIndex + 1);\n } else {\n renderedMatches = [renderedMatches[0]];\n }\n break;\n }\n }\n }\n }\n return renderedMatches.reduceRight((outlet, match, index) => {\n // Only data routers handle errors/fallbacks\n let error;\n let shouldRenderHydrateFallback = false;\n let errorElement = null;\n let hydrateFallbackElement = null;\n if (dataRouterState) {\n error = errors && match.route.id ? errors[match.route.id] : undefined;\n errorElement = match.route.errorElement || defaultErrorElement;\n if (renderFallback) {\n if (fallbackIndex < 0 && index === 0) {\n warningOnce(\"route-fallback\", false, \"No `HydrateFallback` element provided to render during initial hydration\");\n shouldRenderHydrateFallback = true;\n hydrateFallbackElement = null;\n } else if (fallbackIndex === index) {\n shouldRenderHydrateFallback = true;\n hydrateFallbackElement = match.route.hydrateFallbackElement || null;\n }\n }\n }\n let matches = parentMatches.concat(renderedMatches.slice(0, index + 1));\n let getChildren = () => {\n let children;\n if (error) {\n children = errorElement;\n } else if (shouldRenderHydrateFallback) {\n children = hydrateFallbackElement;\n } else if (match.route.Component) {\n // Note: This is a de-optimized path since React won't re-use the\n // ReactElement since it's identity changes with each new\n // React.createElement call. We keep this so folks can use\n // `<Route Component={...}>` in `<Routes>` but generally `Component`\n // usage is only advised in `RouterProvider` when we can convert it to\n // `element` ahead of time.\n children = /*#__PURE__*/React.createElement(match.route.Component, null);\n } else if (match.route.element) {\n children = match.route.element;\n } else {\n children = outlet;\n }\n return /*#__PURE__*/React.createElement(RenderedRoute, {\n match: match,\n routeContext: {\n outlet,\n matches,\n isDataRoute: dataRouterState != null\n },\n children: children\n });\n };\n // Only wrap in an error boundary within data router usages when we have an\n // ErrorBoundary/errorElement on this route. Otherwise let it bubble up to\n // an ancestor ErrorBoundary/errorElement\n return dataRouterState && (match.route.ErrorBoundary || match.route.errorElement || index === 0) ? /*#__PURE__*/React.createElement(RenderErrorBoundary, {\n location: dataRouterState.location,\n revalidation: dataRouterState.revalidation,\n component: errorElement,\n error: error,\n children: getChildren(),\n routeContext: {\n outlet: null,\n matches,\n isDataRoute: true\n }\n }) : getChildren();\n }, null);\n}\nvar DataRouterHook = /*#__PURE__*/function (DataRouterHook) {\n DataRouterHook[\"UseBlocker\"] = \"useBlocker\";\n DataRouterHook[\"UseRevalidator\"] = \"useRevalidator\";\n DataRouterHook[\"UseNavigateStable\"] = \"useNavigate\";\n return DataRouterHook;\n}(DataRouterHook || {});\nvar DataRouterStateHook = /*#__PURE__*/function (DataRouterStateHook) {\n DataRouterStateHook[\"UseBlocker\"] = \"useBlocker\";\n DataRouterStateHook[\"UseLoaderData\"] = \"useLoaderData\";\n DataRouterStateHook[\"UseActionData\"] = \"useActionData\";\n DataRouterStateHook[\"UseRouteError\"] = \"useRouteError\";\n DataRouterStateHook[\"UseNavigation\"] = \"useNavigation\";\n DataRouterStateHook[\"UseRouteLoaderData\"] = \"useRouteLoaderData\";\n DataRouterStateHook[\"UseMatches\"] = \"useMatches\";\n DataRouterStateHook[\"UseRevalidator\"] = \"useRevalidator\";\n DataRouterStateHook[\"UseNavigateStable\"] = \"useNavigate\";\n DataRouterStateHook[\"UseRouteId\"] = \"useRouteId\";\n return DataRouterStateHook;\n}(DataRouterStateHook || {});\nfunction getDataRouterConsoleError(hookName) {\n return hookName + \" must be used within a data router. See https://reactrouter.com/routers/picking-a-router.\";\n}\nfunction useDataRouterContext(hookName) {\n let ctx = React.useContext(DataRouterContext);\n !ctx ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, getDataRouterConsoleError(hookName)) : UNSAFE_invariant(false) : void 0;\n return ctx;\n}\nfunction useDataRouterState(hookName) {\n let state = React.useContext(DataRouterStateContext);\n !state ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, getDataRouterConsoleError(hookName)) : UNSAFE_invariant(false) : void 0;\n return state;\n}\nfunction useRouteContext(hookName) {\n let route = React.useContext(RouteContext);\n !route ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, getDataRouterConsoleError(hookName)) : UNSAFE_invariant(false) : void 0;\n return route;\n}\n\n// Internal version with hookName-aware debugging\nfunction useCurrentRouteId(hookName) {\n let route = useRouteContext(hookName);\n let thisRoute = route.matches[route.matches.length - 1];\n !thisRoute.route.id ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, hookName + \" can only be used on routes that contain a unique \\\"id\\\"\") : UNSAFE_invariant(false) : void 0;\n return thisRoute.route.id;\n}\n\n/**\n * Returns the ID for the nearest contextual route\n */\nfunction useRouteId() {\n return useCurrentRouteId(DataRouterStateHook.UseRouteId);\n}\n\n/**\n * Returns the current navigation, defaulting to an \"idle\" navigation when\n * no navigation is in progress\n */\nfunction useNavigation() {\n let state = useDataRouterState(DataRouterStateHook.UseNavigation);\n return state.navigation;\n}\n\n/**\n * Returns a revalidate function for manually triggering revalidation, as well\n * as the current state of any manual revalidations\n */\nfunction useRevalidator() {\n let dataRouterContext = useDataRouterContext(DataRouterHook.UseRevalidator);\n let state = useDataRouterState(DataRouterStateHook.UseRevalidator);\n return React.useMemo(() => ({\n revalidate: dataRouterContext.router.revalidate,\n state: state.revalidation\n }), [dataRouterContext.router.revalidate, state.revalidation]);\n}\n\n/**\n * Returns the active route matches, useful for accessing loaderData for\n * parent/child routes or the route \"handle\" property\n */\nfunction useMatches() {\n let {\n matches,\n loaderData\n } = useDataRouterState(DataRouterStateHook.UseMatches);\n return React.useMemo(() => matches.map(m => UNSAFE_convertRouteMatchToUiMatch(m, loaderData)), [matches, loaderData]);\n}\n\n/**\n * Returns the loader data for the nearest ancestor Route loader\n */\nfunction useLoaderData() {\n let state = useDataRouterState(DataRouterStateHook.UseLoaderData);\n let routeId = useCurrentRouteId(DataRouterStateHook.UseLoaderData);\n if (state.errors && state.errors[routeId] != null) {\n console.error(\"You cannot `useLoaderData` in an errorElement (routeId: \" + routeId + \")\");\n return undefined;\n }\n return state.loaderData[routeId];\n}\n\n/**\n * Returns the loaderData for the given routeId\n */\nfunction useRouteLoaderData(routeId) {\n let state = useDataRouterState(DataRouterStateHook.UseRouteLoaderData);\n return state.loaderData[routeId];\n}\n\n/**\n * Returns the action data for the nearest ancestor Route action\n */\nfunction useActionData() {\n let state = useDataRouterState(DataRouterStateHook.UseActionData);\n let routeId = useCurrentRouteId(DataRouterStateHook.UseLoaderData);\n return state.actionData ? state.actionData[routeId] : undefined;\n}\n\n/**\n * Returns the nearest ancestor Route error, which could be a loader/action\n * error or a render error. This is intended to be called from your\n * ErrorBoundary/errorElement to display a proper error message.\n */\nfunction useRouteError() {\n var _state$errors;\n let error = React.useContext(RouteErrorContext);\n let state = useDataRouterState(DataRouterStateHook.UseRouteError);\n let routeId = useCurrentRouteId(DataRouterStateHook.UseRouteError);\n\n // If this was a render error, we put it in a RouteError context inside\n // of RenderErrorBoundary\n if (error !== undefined) {\n return error;\n }\n\n // Otherwise look for errors from our data router state\n return (_state$errors = state.errors) == null ? void 0 : _state$errors[routeId];\n}\n\n/**\n * Returns the happy-path data from the nearest ancestor `<Await />` value\n */\nfunction useAsyncValue() {\n let value = React.useContext(AwaitContext);\n return value == null ? void 0 : value._data;\n}\n\n/**\n * Returns the error from the nearest ancestor `<Await />` value\n */\nfunction useAsyncError() {\n let value = React.useContext(AwaitContext);\n return value == null ? void 0 : value._error;\n}\nlet blockerId = 0;\n\n/**\n * Allow the application to block navigations within the SPA and present the\n * user a confirmation dialog to confirm the navigation. Mostly used to avoid\n * using half-filled form data. This does not handle hard-reloads or\n * cross-origin navigations.\n */\nfunction useBlocker(shouldBlock) {\n let {\n router,\n basename\n } = useDataRouterContext(DataRouterHook.UseBlocker);\n let state = useDataRouterState(DataRouterStateHook.UseBlocker);\n let [blockerKey, setBlockerKey] = React.useState(\"\");\n let blockerFunction = React.useCallback(arg => {\n if (typeof shouldBlock !== \"function\") {\n return !!shouldBlock;\n }\n if (basename === \"/\") {\n return shouldBlock(arg);\n }\n\n // If they provided us a function and we've got an active basename, strip\n // it from the locations we expose to the user to match the behavior of\n // useLocation\n let {\n currentLocation,\n nextLocation,\n historyAction\n } = arg;\n return shouldBlock({\n currentLocation: _extends({}, currentLocation, {\n pathname: stripBasename(currentLocation.pathname, basename) || currentLocation.pathname\n }),\n nextLocation: _extends({}, nextLocation, {\n pathname: stripBasename(nextLocation.pathname, basename) || nextLocation.pathname\n }),\n historyAction\n });\n }, [basename, shouldBlock]);\n\n // This effect is in charge of blocker key assignment and deletion (which is\n // tightly coupled to the key)\n React.useEffect(() => {\n let key = String(++blockerId);\n setBlockerKey(key);\n return () => router.deleteBlocker(key);\n }, [router]);\n\n // This effect handles assigning the blockerFunction. This is to handle\n // unstable blocker function identities, and happens only after the prior\n // effect so we don't get an orphaned blockerFunction in the router with a\n // key of \"\". Until then we just have the IDLE_BLOCKER.\n React.useEffect(() => {\n if (blockerKey !== \"\") {\n router.getBlocker(blockerKey, blockerFunction);\n }\n }, [router, blockerKey, blockerFunction]);\n\n // Prefer the blocker from `state` not `router.state` since DataRouterContext\n // is memoized so this ensures we update on blocker state updates\n return blockerKey && state.blockers.has(blockerKey) ? state.blockers.get(blockerKey) : IDLE_BLOCKER;\n}\n\n/**\n * Stable version of useNavigate that is used when we are in the context of\n * a RouterProvider.\n */\nfunction useNavigateStable() {\n let {\n router\n } = useDataRouterContext(DataRouterHook.UseNavigateStable);\n let id = useCurrentRouteId(DataRouterStateHook.UseNavigateStable);\n let activeRef = React.useRef(false);\n useIsomorphicLayoutEffect(() => {\n activeRef.current = true;\n });\n let navigate = React.useCallback(function (to, options) {\n if (options === void 0) {\n options = {};\n }\n process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(activeRef.current, navigateEffectWarning) : void 0;\n\n // Short circuit here since if this happens on first render the navigate\n // is useless because we haven't wired up our router subscriber yet\n if (!activeRef.current) return;\n if (typeof to === \"number\") {\n router.navigate(to);\n } else {\n router.navigate(to, _extends({\n fromRouteId: id\n }, options));\n }\n }, [router, id]);\n return navigate;\n}\nconst alreadyWarned = {};\nfunction warningOnce(key, cond, message) {\n if (!cond && !alreadyWarned[key]) {\n alreadyWarned[key] = true;\n process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(false, message) : void 0;\n }\n}\n\n/**\n Webpack + React 17 fails to compile on any of the following because webpack\n complains that `startTransition` doesn't exist in `React`:\n * import { startTransition } from \"react\"\n * import * as React from from \"react\";\n \"startTransition\" in React ? React.startTransition(() => setState()) : setState()\n * import * as React from from \"react\";\n \"startTransition\" in React ? React[\"startTransition\"](() => setState()) : setState()\n\n Moving it to a constant such as the following solves the Webpack/React 17 issue:\n * import * as React from from \"react\";\n const START_TRANSITION = \"startTransition\";\n START_TRANSITION in React ? React[START_TRANSITION](() => setState()) : setState()\n\n However, that introduces webpack/terser minification issues in production builds\n in React 18 where minification/obfuscation ends up removing the call of\n React.startTransition entirely from the first half of the ternary. Grabbing\n this exported reference once up front resolves that issue.\n\n See https://github.com/remix-run/react-router/issues/10579\n*/\nconst START_TRANSITION = \"startTransition\";\nconst startTransitionImpl = React[START_TRANSITION];\n\n/**\n * Given a Remix Router instance, render the appropriate UI\n */\nfunction RouterProvider(_ref) {\n let {\n fallbackElement,\n router,\n future\n } = _ref;\n let [state, setStateImpl] = React.useState(router.state);\n let {\n v7_startTransition\n } = future || {};\n let setState = React.useCallback(newState => {\n if (v7_startTransition && startTransitionImpl) {\n startTransitionImpl(() => setStateImpl(newState));\n } else {\n setStateImpl(newState);\n }\n }, [setStateImpl, v7_startTransition]);\n\n // Need to use a layout effect here so we are subscribed early enough to\n // pick up on any render-driven redirects/navigations (useEffect/<Navigate>)\n React.useLayoutEffect(() => router.subscribe(setState), [router, setState]);\n React.useEffect(() => {\n process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(fallbackElement == null || !router.future.v7_partialHydration, \"`<RouterProvider fallbackElement>` is deprecated when using \" + \"`v7_partialHydration`, use a `HydrateFallback` component instead\") : void 0;\n // Only log this once on initial mount\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n let navigator = React.useMemo(() => {\n return {\n createHref: router.createHref,\n encodeLocation: router.encodeLocation,\n go: n => router.navigate(n),\n push: (to, state, opts) => router.navigate(to, {\n state,\n preventScrollReset: opts == null ? void 0 : opts.preventScrollReset\n }),\n replace: (to, state, opts) => router.navigate(to, {\n replace: true,\n state,\n preventScrollReset: opts == null ? void 0 : opts.preventScrollReset\n })\n };\n }, [router]);\n let basename = router.basename || \"/\";\n let dataRouterContext = React.useMemo(() => ({\n router,\n navigator,\n static: false,\n basename\n }), [router, navigator, basename]);\n\n // The fragment and {null} here are important! We need them to keep React 18's\n // useId happy when we are server-rendering since we may have a <script> here\n // containing the hydrated server-side staticContext (from StaticRouterProvider).\n // useId relies on the component tree structure to generate deterministic id's\n // so we need to ensure it remains the same on the client even though\n // we don't need the <script> tag\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(DataRouterContext.Provider, {\n value: dataRouterContext\n }, /*#__PURE__*/React.createElement(DataRouterStateContext.Provider, {\n value: state\n }, /*#__PURE__*/React.createElement(Router, {\n basename: basename,\n location: state.location,\n navigationType: state.historyAction,\n navigator: navigator,\n future: {\n v7_relativeSplatPath: router.future.v7_relativeSplatPath\n }\n }, state.initialized || router.future.v7_partialHydration ? /*#__PURE__*/React.createElement(DataRoutes, {\n routes: router.routes,\n future: router.future,\n state: state\n }) : fallbackElement))), null);\n}\nfunction DataRoutes(_ref2) {\n let {\n routes,\n future,\n state\n } = _ref2;\n return useRoutesImpl(routes, undefined, state, future);\n}\n/**\n * A `<Router>` that stores all entries in memory.\n *\n * @see https://reactrouter.com/router-components/memory-router\n */\nfunction MemoryRouter(_ref3) {\n let {\n basename,\n children,\n initialEntries,\n initialIndex,\n future\n } = _ref3;\n let historyRef = React.useRef();\n if (historyRef.current == null) {\n historyRef.current = createMemoryHistory({\n initialEntries,\n initialIndex,\n v5Compat: true\n });\n }\n let history = historyRef.current;\n let [state, setStateImpl] = React.useState({\n action: history.action,\n location: history.location\n });\n let {\n v7_startTransition\n } = future || {};\n let setState = React.useCallback(newState => {\n v7_startTransition && startTransitionImpl ? startTransitionImpl(() => setStateImpl(newState)) : setStateImpl(newState);\n }, [setStateImpl, v7_startTransition]);\n React.useLayoutEffect(() => history.listen(setState), [history, setState]);\n return /*#__PURE__*/React.createElement(Router, {\n basename: basename,\n children: children,\n location: state.location,\n navigationType: state.action,\n navigator: history,\n future: future\n });\n}\n/**\n * Changes the current location.\n *\n * Note: This API is mostly useful in React.Component subclasses that are not\n * able to use hooks. In functional components, we recommend you use the\n * `useNavigate` hook instead.\n *\n * @see https://reactrouter.com/components/navigate\n */\nfunction Navigate(_ref4) {\n let {\n to,\n replace,\n state,\n relative\n } = _ref4;\n !useInRouterContext() ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, // TODO: This error is probably because they somehow have 2 versions of\n // the router loaded. We can help them understand how to avoid that.\n \"<Navigate> may be used only in the context of a <Router> component.\") : UNSAFE_invariant(false) : void 0;\n let {\n future,\n static: isStatic\n } = React.useContext(NavigationContext);\n process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(!isStatic, \"<Navigate> must not be used on the initial render in a <StaticRouter>. \" + \"This is a no-op, but you should modify your code so the <Navigate> is \" + \"only ever rendered in response to some user interaction or state change.\") : void 0;\n let {\n matches\n } = React.useContext(RouteContext);\n let {\n pathname: locationPathname\n } = useLocation();\n let navigate = useNavigate();\n\n // Resolve the path outside of the effect so that when effects run twice in\n // StrictMode they navigate to the same place\n let path = resolveTo(to, UNSAFE_getResolveToMatches(matches, future.v7_relativeSplatPath), locationPathname, relative === \"path\");\n let jsonPath = JSON.stringify(path);\n React.useEffect(() => navigate(JSON.parse(jsonPath), {\n replace,\n state,\n relative\n }), [navigate, jsonPath, relative, replace, state]);\n return null;\n}\n/**\n * Renders the child route's element, if there is one.\n *\n * @see https://reactrouter.com/components/outlet\n */\nfunction Outlet(props) {\n return useOutlet(props.context);\n}\n/**\n * Declares an element that should be rendered at a certain URL path.\n *\n * @see https://reactrouter.com/components/route\n */\nfunction Route(_props) {\n process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, \"A <Route> is only ever to be used as the child of <Routes> element, \" + \"never rendered directly. Please wrap your <Route> in a <Routes>.\") : UNSAFE_invariant(false) ;\n}\n/**\n * Provides location context for the rest of the app.\n *\n * Note: You usually won't render a `<Router>` directly. Instead, you'll render a\n * router that is more specific to your environment such as a `<BrowserRouter>`\n * in web browsers or a `<StaticRouter>` for server rendering.\n *\n * @see https://reactrouter.com/router-components/router\n */\nfunction Router(_ref5) {\n let {\n basename: basenameProp = \"/\",\n children = null,\n location: locationProp,\n navigationType = Action.Pop,\n navigator,\n static: staticProp = false,\n future\n } = _ref5;\n !!useInRouterContext() ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, \"You cannot render a <Router> inside another <Router>.\" + \" You should never have more than one in your app.\") : UNSAFE_invariant(false) : void 0;\n\n // Preserve trailing slashes on basename, so we can let the user control\n // the enforcement of trailing slashes throughout the app\n let basename = basenameProp.replace(/^\\/*/, \"/\");\n let navigationContext = React.useMemo(() => ({\n basename,\n navigator,\n static: staticProp,\n future: _extends({\n v7_relativeSplatPath: false\n }, future)\n }), [basename, future, navigator, staticProp]);\n if (typeof locationProp === \"string\") {\n locationProp = parsePath(locationProp);\n }\n let {\n pathname = \"/\",\n search = \"\",\n hash = \"\",\n state = null,\n key = \"default\"\n } = locationProp;\n let locationContext = React.useMemo(() => {\n let trailingPathname = stripBasename(pathname, basename);\n if (trailingPathname == null) {\n return null;\n }\n return {\n location: {\n pathname: trailingPathname,\n search,\n hash,\n state,\n key\n },\n navigationType\n };\n }, [basename, pathname, search, hash, state, key, navigationType]);\n process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(locationContext != null, \"<Router basename=\\\"\" + basename + \"\\\"> is not able to match the URL \" + (\"\\\"\" + pathname + search + hash + \"\\\" because it does not start with the \") + \"basename, so the <Router> won't render anything.\") : void 0;\n if (locationContext == null) {\n return null;\n }\n return /*#__PURE__*/React.createElement(NavigationContext.Provider, {\n value: navigationContext\n }, /*#__PURE__*/React.createElement(LocationContext.Provider, {\n children: children,\n value: locationContext\n }));\n}\n/**\n * A container for a nested tree of `<Route>` elements that renders the branch\n * that best matches the current location.\n *\n * @see https://reactrouter.com/components/routes\n */\nfunction Routes(_ref6) {\n let {\n children,\n location\n } = _ref6;\n return useRoutes(createRoutesFromChildren(children), location);\n}\n/**\n * Component to use for rendering lazily loaded data from returning defer()\n * in a loader function\n */\nfunction Await(_ref7) {\n let {\n children,\n errorElement,\n resolve\n } = _ref7;\n return /*#__PURE__*/React.createElement(AwaitErrorBoundary, {\n resolve: resolve,\n errorElement: errorElement\n }, /*#__PURE__*/React.createElement(ResolveAwait, null, children));\n}\nvar AwaitRenderStatus = /*#__PURE__*/function (AwaitRenderStatus) {\n AwaitRenderStatus[AwaitRenderStatus[\"pending\"] = 0] = \"pending\";\n AwaitRenderStatus[AwaitRenderStatus[\"success\"] = 1] = \"success\";\n AwaitRenderStatus[AwaitRenderStatus[\"error\"] = 2] = \"error\";\n return AwaitRenderStatus;\n}(AwaitRenderStatus || {});\nconst neverSettledPromise = new Promise(() => {});\nclass AwaitErrorBoundary extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n error: null\n };\n }\n static getDerivedStateFromError(error) {\n return {\n error\n };\n }\n componentDidCatch(error, errorInfo) {\n console.error(\"<Await> caught the following error during render\", error, errorInfo);\n }\n render() {\n let {\n children,\n errorElement,\n resolve\n } = this.props;\n let promise = null;\n let status = AwaitRenderStatus.pending;\n if (!(resolve instanceof Promise)) {\n // Didn't get a promise - provide as a resolved promise\n status = AwaitRenderStatus.success;\n promise = Promise.resolve();\n Object.defineProperty(promise, \"_tracked\", {\n get: () => true\n });\n Object.defineProperty(promise, \"_data\", {\n get: () => resolve\n });\n } else if (this.state.error) {\n // Caught a render error, provide it as a rejected promise\n status = AwaitRenderStatus.error;\n let renderError = this.state.error;\n promise = Promise.reject().catch(() => {}); // Avoid unhandled rejection warnings\n Object.defineProperty(promise, \"_tracked\", {\n get: () => true\n });\n Object.defineProperty(promise, \"_error\", {\n get: () => renderError\n });\n } else if (resolve._tracked) {\n // Already tracked promise - check contents\n promise = resolve;\n status = promise._error !== undefined ? AwaitRenderStatus.error : promise._data !== undefined ? AwaitRenderStatus.success : AwaitRenderStatus.pending;\n } else {\n // Raw (untracked) promise - track it\n status = AwaitRenderStatus.pending;\n Object.defineProperty(resolve, \"_tracked\", {\n get: () => true\n });\n promise = resolve.then(data => Object.defineProperty(resolve, \"_data\", {\n get: () => data\n }), error => Object.defineProperty(resolve, \"_error\", {\n get: () => error\n }));\n }\n if (status === AwaitRenderStatus.error && promise._error instanceof AbortedDeferredError) {\n // Freeze the UI by throwing a never resolved promise\n throw neverSettledPromise;\n }\n if (status === AwaitRenderStatus.error && !errorElement) {\n // No errorElement, throw to the nearest route-level error boundary\n throw promise._error;\n }\n if (status === AwaitRenderStatus.error) {\n // Render via our errorElement\n return /*#__PURE__*/React.createElement(AwaitContext.Provider, {\n value: promise,\n children: errorElement\n });\n }\n if (status === AwaitRenderStatus.success) {\n // Render children with resolved value\n return /*#__PURE__*/React.createElement(AwaitContext.Provider, {\n value: promise,\n children: children\n });\n }\n\n // Throw to the suspense boundary\n throw promise;\n }\n}\n\n/**\n * @private\n * Indirection to leverage useAsyncValue for a render-prop API on `<Await>`\n */\nfunction ResolveAwait(_ref8) {\n let {\n children\n } = _ref8;\n let data = useAsyncValue();\n let toRender = typeof children === \"function\" ? children(data) : children;\n return /*#__PURE__*/React.createElement(React.Fragment, null, toRender);\n}\n\n///////////////////////////////////////////////////////////////////////////////\n// UTILS\n///////////////////////////////////////////////////////////////////////////////\n\n/**\n * Creates a route config from a React \"children\" object, which is usually\n * either a `<Route>` element or an array of them. Used internally by\n * `<Routes>` to create a route config from its children.\n *\n * @see https://reactrouter.com/utils/create-routes-from-children\n */\nfunction createRoutesFromChildren(children, parentPath) {\n if (parentPath === void 0) {\n parentPath = [];\n }\n let routes = [];\n React.Children.forEach(children, (element, index) => {\n if (! /*#__PURE__*/React.isValidElement(element)) {\n // Ignore non-elements. This allows people to more easily inline\n // conditionals in their route config.\n return;\n }\n let treePath = [...parentPath, index];\n if (element.type === React.Fragment) {\n // Transparently support React.Fragment and its children.\n routes.push.apply(routes, createRoutesFromChildren(element.props.children, treePath));\n return;\n }\n !(element.type === Route) ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, \"[\" + (typeof element.type === \"string\" ? element.type : element.type.name) + \"] is not a <Route> component. All component children of <Routes> must be a <Route> or <React.Fragment>\") : UNSAFE_invariant(false) : void 0;\n !(!element.props.index || !element.props.children) ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, \"An index route cannot have child routes.\") : UNSAFE_invariant(false) : void 0;\n let route = {\n id: element.props.id || treePath.join(\"-\"),\n caseSensitive: element.props.caseSensitive,\n element: element.props.element,\n Component: element.props.Component,\n index: element.props.index,\n path: element.props.path,\n loader: element.props.loader,\n action: element.props.action,\n errorElement: element.props.errorElement,\n ErrorBoundary: element.props.ErrorBoundary,\n hasErrorBoundary: element.props.ErrorBoundary != null || element.props.errorElement != null,\n shouldRevalidate: element.props.shouldRevalidate,\n handle: element.props.handle,\n lazy: element.props.lazy\n };\n if (element.props.children) {\n route.children = createRoutesFromChildren(element.props.children, treePath);\n }\n routes.push(route);\n });\n return routes;\n}\n\n/**\n * Renders the result of `matchRoutes()` into a React element.\n */\nfunction renderMatches(matches) {\n return _renderMatches(matches);\n}\n\nfunction mapRouteProperties(route) {\n let updates = {\n // Note: this check also occurs in createRoutesFromChildren so update\n // there if you change this -- please and thank you!\n hasErrorBoundary: route.ErrorBoundary != null || route.errorElement != null\n };\n if (route.Component) {\n if (process.env.NODE_ENV !== \"production\") {\n if (route.element) {\n process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(false, \"You should not include both `Component` and `element` on your route - \" + \"`Component` will be used.\") : void 0;\n }\n }\n Object.assign(updates, {\n element: /*#__PURE__*/React.createElement(route.Component),\n Component: undefined\n });\n }\n if (route.HydrateFallback) {\n if (process.env.NODE_ENV !== \"production\") {\n if (route.hydrateFallbackElement) {\n process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(false, \"You should not include both `HydrateFallback` and `hydrateFallbackElement` on your route - \" + \"`HydrateFallback` will be used.\") : void 0;\n }\n }\n Object.assign(updates, {\n hydrateFallbackElement: /*#__PURE__*/React.createElement(route.HydrateFallback),\n HydrateFallback: undefined\n });\n }\n if (route.ErrorBoundary) {\n if (process.env.NODE_ENV !== \"production\") {\n if (route.errorElement) {\n process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(false, \"You should not include both `ErrorBoundary` and `errorElement` on your route - \" + \"`ErrorBoundary` will be used.\") : void 0;\n }\n }\n Object.assign(updates, {\n errorElement: /*#__PURE__*/React.createElement(route.ErrorBoundary),\n ErrorBoundary: undefined\n });\n }\n return updates;\n}\nfunction createMemoryRouter(routes, opts) {\n return createRouter({\n basename: opts == null ? void 0 : opts.basename,\n future: _extends({}, opts == null ? void 0 : opts.future, {\n v7_prependBasename: true\n }),\n history: createMemoryHistory({\n initialEntries: opts == null ? void 0 : opts.initialEntries,\n initialIndex: opts == null ? void 0 : opts.initialIndex\n }),\n hydrationData: opts == null ? void 0 : opts.hydrationData,\n routes,\n mapRouteProperties\n }).initialize();\n}\n\nexport { Await, MemoryRouter, Navigate, Outlet, Route, Router, RouterProvider, Routes, DataRouterContext as UNSAFE_DataRouterContext, DataRouterStateContext as UNSAFE_DataRouterStateContext, LocationContext as UNSAFE_LocationContext, NavigationContext as UNSAFE_NavigationContext, RouteContext as UNSAFE_RouteContext, mapRouteProperties as UNSAFE_mapRouteProperties, useRouteId as UNSAFE_useRouteId, useRoutesImpl as UNSAFE_useRoutesImpl, createMemoryRouter, createRoutesFromChildren, createRoutesFromChildren as createRoutesFromElements, renderMatches, useActionData, useAsyncError, useAsyncValue, useBlocker, useHref, useInRouterContext, useLoaderData, useLocation, useMatch, useMatches, useNavigate, useNavigation, useNavigationType, useOutlet, useOutletContext, useParams, useResolvedPath, useRevalidator, useRouteError, useRouteLoaderData, useRoutes };\n//# sourceMappingURL=index.js.map\n","/**\n * React Router DOM v6.22.0\n *\n * Copyright (c) Remix Software Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nimport * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport { UNSAFE_mapRouteProperties, UNSAFE_DataRouterContext, UNSAFE_DataRouterStateContext, Router, UNSAFE_useRoutesImpl, UNSAFE_NavigationContext, useHref, useResolvedPath, useLocation, useNavigate, createPath, UNSAFE_useRouteId, UNSAFE_RouteContext, useMatches, useNavigation, useBlocker } from 'react-router';\nexport { AbortedDeferredError, Await, MemoryRouter, Navigate, NavigationType, Outlet, Route, Router, Routes, UNSAFE_DataRouterContext, UNSAFE_DataRouterStateContext, UNSAFE_LocationContext, UNSAFE_NavigationContext, UNSAFE_RouteContext, UNSAFE_useRouteId, createMemoryRouter, createPath, createRoutesFromChildren, createRoutesFromElements, defer, generatePath, isRouteErrorResponse, json, matchPath, matchRoutes, parsePath, redirect, redirectDocument, renderMatches, resolvePath, useActionData, useAsyncError, useAsyncValue, useBlocker, useHref, useInRouterContext, useLoaderData, useLocation, useMatch, useMatches, useNavigate, useNavigation, useNavigationType, useOutlet, useOutletContext, useParams, useResolvedPath, useRevalidator, useRouteError, useRouteLoaderData, useRoutes } from 'react-router';\nimport { stripBasename, UNSAFE_warning, createRouter, createBrowserHistory, createHashHistory, UNSAFE_ErrorResponseImpl, UNSAFE_invariant, joinPaths, IDLE_FETCHER, matchPath } from '@remix-run/router';\n\nfunction _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}\n\nconst defaultMethod = \"get\";\nconst defaultEncType = \"application/x-www-form-urlencoded\";\nfunction isHtmlElement(object) {\n return object != null && typeof object.tagName === \"string\";\n}\nfunction isButtonElement(object) {\n return isHtmlElement(object) && object.tagName.toLowerCase() === \"button\";\n}\nfunction isFormElement(object) {\n return isHtmlElement(object) && object.tagName.toLowerCase() === \"form\";\n}\nfunction isInputElement(object) {\n return isHtmlElement(object) && object.tagName.toLowerCase() === \"input\";\n}\nfunction isModifiedEvent(event) {\n return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\nfunction shouldProcessLinkClick(event, target) {\n return event.button === 0 && (\n // Ignore everything but left clicks\n !target || target === \"_self\") &&\n // Let browser handle \"target=_blank\" etc.\n !isModifiedEvent(event) // Ignore clicks with modifier keys\n ;\n}\n/**\n * Creates a URLSearchParams object using the given initializer.\n *\n * This is identical to `new URLSearchParams(init)` except it also\n * supports arrays as values in the object form of the initializer\n * instead of just strings. This is convenient when you need multiple\n * values for a given key, but don't want to use an array initializer.\n *\n * For example, instead of:\n *\n * let searchParams = new URLSearchParams([\n * ['sort', 'name'],\n * ['sort', 'price']\n * ]);\n *\n * you can do:\n *\n * let searchParams = createSearchParams({\n * sort: ['name', 'price']\n * });\n */\nfunction createSearchParams(init) {\n if (init === void 0) {\n init = \"\";\n }\n return new URLSearchParams(typeof init === \"string\" || Array.isArray(init) || init instanceof URLSearchParams ? init : Object.keys(init).reduce((memo, key) => {\n let value = init[key];\n return memo.concat(Array.isArray(value) ? value.map(v => [key, v]) : [[key, value]]);\n }, []));\n}\nfunction getSearchParamsForLocation(locationSearch, defaultSearchParams) {\n let searchParams = createSearchParams(locationSearch);\n if (defaultSearchParams) {\n // Use `defaultSearchParams.forEach(...)` here instead of iterating of\n // `defaultSearchParams.keys()` to work-around a bug in Firefox related to\n // web extensions. Relevant Bugzilla tickets:\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1414602\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1023984\n defaultSearchParams.forEach((_, key) => {\n if (!searchParams.has(key)) {\n defaultSearchParams.getAll(key).forEach(value => {\n searchParams.append(key, value);\n });\n }\n });\n }\n return searchParams;\n}\n// One-time check for submitter support\nlet _formDataSupportsSubmitter = null;\nfunction isFormDataSubmitterSupported() {\n if (_formDataSupportsSubmitter === null) {\n try {\n new FormData(document.createElement(\"form\"),\n // @ts-expect-error if FormData supports the submitter parameter, this will throw\n 0);\n _formDataSupportsSubmitter = false;\n } catch (e) {\n _formDataSupportsSubmitter = true;\n }\n }\n return _formDataSupportsSubmitter;\n}\nconst supportedFormEncTypes = new Set([\"application/x-www-form-urlencoded\", \"multipart/form-data\", \"text/plain\"]);\nfunction getFormEncType(encType) {\n if (encType != null && !supportedFormEncTypes.has(encType)) {\n process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(false, \"\\\"\" + encType + \"\\\" is not a valid `encType` for `<Form>`/`<fetcher.Form>` \" + (\"and will default to \\\"\" + defaultEncType + \"\\\"\")) : void 0;\n return null;\n }\n return encType;\n}\nfunction getFormSubmissionInfo(target, basename) {\n let method;\n let action;\n let encType;\n let formData;\n let body;\n if (isFormElement(target)) {\n // When grabbing the action from the element, it will have had the basename\n // prefixed to ensure non-JS scenarios work, so strip it since we'll\n // re-prefix in the router\n let attr = target.getAttribute(\"action\");\n action = attr ? stripBasename(attr, basename) : null;\n method = target.getAttribute(\"method\") || defaultMethod;\n encType = getFormEncType(target.getAttribute(\"enctype\")) || defaultEncType;\n formData = new FormData(target);\n } else if (isButtonElement(target) || isInputElement(target) && (target.type === \"submit\" || target.type === \"image\")) {\n let form = target.form;\n if (form == null) {\n throw new Error(\"Cannot submit a <button> or <input type=\\\"submit\\\"> without a <form>\");\n }\n // <button>/<input type=\"submit\"> may override attributes of <form>\n // When grabbing the action from the element, it will have had the basename\n // prefixed to ensure non-JS scenarios work, so strip it since we'll\n // re-prefix in the router\n let attr = target.getAttribute(\"formaction\") || form.getAttribute(\"action\");\n action = attr ? stripBasename(attr, basename) : null;\n method = target.getAttribute(\"formmethod\") || form.getAttribute(\"method\") || defaultMethod;\n encType = getFormEncType(target.getAttribute(\"formenctype\")) || getFormEncType(form.getAttribute(\"enctype\")) || defaultEncType;\n // Build a FormData object populated from a form and submitter\n formData = new FormData(form, target);\n // If this browser doesn't support the `FormData(el, submitter)` format,\n // then tack on the submitter value at the end. This is a lightweight\n // solution that is not 100% spec compliant. For complete support in older\n // browsers, consider using the `formdata-submitter-polyfill` package\n if (!isFormDataSubmitterSupported()) {\n let {\n name,\n type,\n value\n } = target;\n if (type === \"image\") {\n let prefix = name ? name + \".\" : \"\";\n formData.append(prefix + \"x\", \"0\");\n formData.append(prefix + \"y\", \"0\");\n } else if (name) {\n formData.append(name, value);\n }\n }\n } else if (isHtmlElement(target)) {\n throw new Error(\"Cannot submit element that is not <form>, <button>, or \" + \"<input type=\\\"submit|image\\\">\");\n } else {\n method = defaultMethod;\n action = null;\n encType = defaultEncType;\n body = target;\n }\n // Send body for <Form encType=\"text/plain\" so we encode it into text\n if (formData && encType === \"text/plain\") {\n body = formData;\n formData = undefined;\n }\n return {\n action,\n method: method.toLowerCase(),\n encType,\n formData,\n body\n };\n}\n\nconst _excluded = [\"onClick\", \"relative\", \"reloadDocument\", \"replace\", \"state\", \"target\", \"to\", \"preventScrollReset\", \"unstable_viewTransition\"],\n _excluded2 = [\"aria-current\", \"caseSensitive\", \"className\", \"end\", \"style\", \"to\", \"unstable_viewTransition\", \"children\"],\n _excluded3 = [\"fetcherKey\", \"navigate\", \"reloadDocument\", \"replace\", \"state\", \"method\", \"action\", \"onSubmit\", \"relative\", \"preventScrollReset\", \"unstable_viewTransition\"];\n// HEY YOU! DON'T TOUCH THIS VARIABLE!\n//\n// It is replaced with the proper version at build time via a babel plugin in\n// the rollup config.\n//\n// Export a global property onto the window for React Router detection by the\n// Core Web Vitals Technology Report. This way they can configure the `wappalyzer`\n// to detect and properly classify live websites as being built with React Router:\n// https://github.com/HTTPArchive/wappalyzer/blob/main/src/technologies/r.json\nconst REACT_ROUTER_VERSION = \"6\";\ntry {\n window.__reactRouterVersion = REACT_ROUTER_VERSION;\n} catch (e) {\n // no-op\n}\nfunction createBrowserRouter(routes, opts) {\n return createRouter({\n basename: opts == null ? void 0 : opts.basename,\n future: _extends({}, opts == null ? void 0 : opts.future, {\n v7_prependBasename: true\n }),\n history: createBrowserHistory({\n window: opts == null ? void 0 : opts.window\n }),\n hydrationData: (opts == null ? void 0 : opts.hydrationData) || parseHydrationData(),\n routes,\n mapRouteProperties: UNSAFE_mapRouteProperties,\n window: opts == null ? void 0 : opts.window\n }).initialize();\n}\nfunction createHashRouter(routes, opts) {\n return createRouter({\n basename: opts == null ? void 0 : opts.basename,\n future: _extends({}, opts == null ? void 0 : opts.future, {\n v7_prependBasename: true\n }),\n history: createHashHistory({\n window: opts == null ? void 0 : opts.window\n }),\n hydrationData: (opts == null ? void 0 : opts.hydrationData) || parseHydrationData(),\n routes,\n mapRouteProperties: UNSAFE_mapRouteProperties,\n window: opts == null ? void 0 : opts.window\n }).initialize();\n}\nfunction parseHydrationData() {\n var _window;\n let state = (_window = window) == null ? void 0 : _window.__staticRouterHydrationData;\n if (state && state.errors) {\n state = _extends({}, state, {\n errors: deserializeErrors(state.errors)\n });\n }\n return state;\n}\nfunction deserializeErrors(errors) {\n if (!errors) return null;\n let entries = Object.entries(errors);\n let serialized = {};\n for (let [key, val] of entries) {\n // Hey you! If you change this, please change the corresponding logic in\n // serializeErrors in react-router-dom/server.tsx :)\n if (val && val.__type === \"RouteErrorResponse\") {\n serialized[key] = new UNSAFE_ErrorResponseImpl(val.status, val.statusText, val.data, val.internal === true);\n } else if (val && val.__type === \"Error\") {\n // Attempt to reconstruct the right type of Error (i.e., ReferenceError)\n if (val.__subType) {\n let ErrorConstructor = window[val.__subType];\n if (typeof ErrorConstructor === \"function\") {\n try {\n // @ts-expect-error\n let error = new ErrorConstructor(val.message);\n // Wipe away the client-side stack trace. Nothing to fill it in with\n // because we don't serialize SSR stack traces for security reasons\n error.stack = \"\";\n serialized[key] = error;\n } catch (e) {\n // no-op - fall through and create a normal Error\n }\n }\n }\n if (serialized[key] == null) {\n let error = new Error(val.message);\n // Wipe away the client-side stack trace. Nothing to fill it in with\n // because we don't serialize SSR stack traces for security reasons\n error.stack = \"\";\n serialized[key] = error;\n }\n } else {\n serialized[key] = val;\n }\n }\n return serialized;\n}\nconst ViewTransitionContext = /*#__PURE__*/React.createContext({\n isTransitioning: false\n});\nif (process.env.NODE_ENV !== \"production\") {\n ViewTransitionContext.displayName = \"ViewTransition\";\n}\nconst FetchersContext = /*#__PURE__*/React.createContext(new Map());\nif (process.env.NODE_ENV !== \"production\") {\n FetchersContext.displayName = \"Fetchers\";\n}\n//#endregion\n////////////////////////////////////////////////////////////////////////////////\n//#region Components\n////////////////////////////////////////////////////////////////////////////////\n/**\n Webpack + React 17 fails to compile on any of the following because webpack\n complains that `startTransition` doesn't exist in `React`:\n * import { startTransition } from \"react\"\n * import * as React from from \"react\";\n \"startTransition\" in React ? React.startTransition(() => setState()) : setState()\n * import * as React from from \"react\";\n \"startTransition\" in React ? React[\"startTransition\"](() => setState()) : setState()\n\n Moving it to a constant such as the following solves the Webpack/React 17 issue:\n * import * as React from from \"react\";\n const START_TRANSITION = \"startTransition\";\n START_TRANSITION in React ? React[START_TRANSITION](() => setState()) : setState()\n\n However, that introduces webpack/terser minification issues in production builds\n in React 18 where minification/obfuscation ends up removing the call of\n React.startTransition entirely from the first half of the ternary. Grabbing\n this exported reference once up front resolves that issue.\n\n See https://github.com/remix-run/react-router/issues/10579\n*/\nconst START_TRANSITION = \"startTransition\";\nconst startTransitionImpl = React[START_TRANSITION];\nconst FLUSH_SYNC = \"flushSync\";\nconst flushSyncImpl = ReactDOM[FLUSH_SYNC];\nconst USE_ID = \"useId\";\nconst useIdImpl = React[USE_ID];\nfunction startTransitionSafe(cb) {\n if (startTransitionImpl) {\n startTransitionImpl(cb);\n } else {\n cb();\n }\n}\nfunction flushSyncSafe(cb) {\n if (flushSyncImpl) {\n flushSyncImpl(cb);\n } else {\n cb();\n }\n}\nclass Deferred {\n constructor() {\n this.status = \"pending\";\n this.promise = new Promise((resolve, reject) => {\n this.resolve = value => {\n if (this.status === \"pending\") {\n this.status = \"resolved\";\n resolve(value);\n }\n };\n this.reject = reason => {\n if (this.status === \"pending\") {\n this.status = \"rejected\";\n reject(reason);\n }\n };\n });\n }\n}\n/**\n * Given a Remix Router instance, render the appropriate UI\n */\nfunction RouterProvider(_ref) {\n let {\n fallbackElement,\n router,\n future\n } = _ref;\n let [state, setStateImpl] = React.useState(router.state);\n let [pendingState, setPendingState] = React.useState();\n let [vtContext, setVtContext] = React.useState({\n isTransitioning: false\n });\n let [renderDfd, setRenderDfd] = React.useState();\n let [transition, setTransition] = React.useState();\n let [interruption, setInterruption] = React.useState();\n let fetcherData = React.useRef(new Map());\n let {\n v7_startTransition\n } = future || {};\n let optInStartTransition = React.useCallback(cb => {\n if (v7_startTransition) {\n startTransitionSafe(cb);\n } else {\n cb();\n }\n }, [v7_startTransition]);\n let setState = React.useCallback((newState, _ref2) => {\n let {\n deletedFetchers,\n unstable_flushSync: flushSync,\n unstable_viewTransitionOpts: viewTransitionOpts\n } = _ref2;\n deletedFetchers.forEach(key => fetcherData.current.delete(key));\n newState.fetchers.forEach((fetcher, key) => {\n if (fetcher.data !== undefined) {\n fetcherData.current.set(key, fetcher.data);\n }\n });\n let isViewTransitionUnavailable = router.window == null || typeof router.window.document.startViewTransition !== \"function\";\n // If this isn't a view transition or it's not available in this browser,\n // just update and be done with it\n if (!viewTransitionOpts || isViewTransitionUnavailable) {\n if (flushSync) {\n flushSyncSafe(() => setStateImpl(newState));\n } else {\n optInStartTransition(() => setStateImpl(newState));\n }\n return;\n }\n // flushSync + startViewTransition\n if (flushSync) {\n // Flush through the context to mark DOM elements as transition=ing\n flushSyncSafe(() => {\n // Cancel any pending transitions\n if (transition) {\n renderDfd && renderDfd.resolve();\n transition.skipTransition();\n }\n setVtContext({\n isTransitioning: true,\n flushSync: true,\n currentLocation: viewTransitionOpts.currentLocation,\n nextLocation: viewTransitionOpts.nextLocation\n });\n });\n // Update the DOM\n let t = router.window.document.startViewTransition(() => {\n flushSyncSafe(() => setStateImpl(newState));\n });\n // Clean up after the animation completes\n t.finished.finally(() => {\n flushSyncSafe(() => {\n setRenderDfd(undefined);\n setTransition(undefined);\n setPendingState(undefined);\n setVtContext({\n isTransitioning: false\n });\n });\n });\n flushSyncSafe(() => setTransition(t));\n return;\n }\n // startTransition + startViewTransition\n if (transition) {\n // Interrupting an in-progress transition, cancel and let everything flush\n // out, and then kick off a new transition from the interruption state\n renderDfd && renderDfd.resolve();\n transition.skipTransition();\n setInterruption({\n state: newState,\n currentLocation: viewTransitionOpts.currentLocation,\n nextLocation: viewTransitionOpts.nextLocation\n });\n } else {\n // Completed navigation update with opted-in view transitions, let 'er rip\n setPendingState(newState);\n setVtContext({\n isTransitioning: true,\n flushSync: false,\n currentLocation: viewTransitionOpts.currentLocation,\n nextLocation: viewTransitionOpts.nextLocation\n });\n }\n }, [router.window, transition, renderDfd, fetcherData, optInStartTransition]);\n // Need to use a layout effect here so we are subscribed early enough to\n // pick up on any render-driven redirects/navigations (useEffect/<Navigate>)\n React.useLayoutEffect(() => router.subscribe(setState), [router, setState]);\n // When we start a view transition, create a Deferred we can use for the\n // eventual \"completed\" render\n React.useEffect(() => {\n if (vtContext.isTransitioning && !vtContext.flushSync) {\n setRenderDfd(new Deferred());\n }\n }, [vtContext]);\n // Once the deferred is created, kick off startViewTransition() to update the\n // DOM and then wait on the Deferred to resolve (indicating the DOM update has\n // happened)\n React.useEffect(() => {\n if (renderDfd && pendingState && router.window) {\n let newState = pendingState;\n let renderPromise = renderDfd.promise;\n let transition = router.window.document.startViewTransition(async () => {\n optInStartTransition(() => setStateImpl(newState));\n await renderPromise;\n });\n transition.finished.finally(() => {\n setRenderDfd(undefined);\n setTransition(undefined);\n setPendingState(undefined);\n setVtContext({\n isTransitioning: false\n });\n });\n setTransition(transition);\n }\n }, [optInStartTransition, pendingState, renderDfd, router.window]);\n // When the new location finally renders and is committed to the DOM, this\n // effect will run to resolve the transition\n React.useEffect(() => {\n if (renderDfd && pendingState && state.location.key === pendingState.location.key) {\n renderDfd.resolve();\n }\n }, [renderDfd, transition, state.location, pendingState]);\n // If we get interrupted with a new navigation during a transition, we skip\n // the active transition, let it cleanup, then kick it off again here\n React.useEffect(() => {\n if (!vtContext.isTransitioning && interruption) {\n setPendingState(interruption.state);\n setVtContext({\n isTransitioning: true,\n flushSync: false,\n currentLocation: interruption.currentLocation,\n nextLocation: interruption.nextLocation\n });\n setInterruption(undefined);\n }\n }, [vtContext.isTransitioning, interruption]);\n React.useEffect(() => {\n process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(fallbackElement == null || !router.future.v7_partialHydration, \"`<RouterProvider fallbackElement>` is deprecated when using \" + \"`v7_partialHydration`, use a `HydrateFallback` component instead\") : void 0;\n // Only log this once on initial mount\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n let navigator = React.useMemo(() => {\n return {\n createHref: router.createHref,\n encodeLocation: router.encodeLocation,\n go: n => router.navigate(n),\n push: (to, state, opts) => router.navigate(to, {\n state,\n preventScrollReset: opts == null ? void 0 : opts.preventScrollReset\n }),\n replace: (to, state, opts) => router.navigate(to, {\n replace: true,\n state,\n preventScrollReset: opts == null ? void 0 : opts.preventScrollReset\n })\n };\n }, [router]);\n let basename = router.basename || \"/\";\n let dataRouterContext = React.useMemo(() => ({\n router,\n navigator,\n static: false,\n basename\n }), [router, navigator, basename]);\n // The fragment and {null} here are important! We need them to keep React 18's\n // useId happy when we are server-rendering since we may have a <script> here\n // containing the hydrated server-side staticContext (from StaticRouterProvider).\n // useId relies on the component tree structure to generate deterministic id's\n // so we need to ensure it remains the same on the client even though\n // we don't need the <script> tag\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(UNSAFE_DataRouterContext.Provider, {\n value: dataRouterContext\n }, /*#__PURE__*/React.createElement(UNSAFE_DataRouterStateContext.Provider, {\n value: state\n }, /*#__PURE__*/React.createElement(FetchersContext.Provider, {\n value: fetcherData.current\n }, /*#__PURE__*/React.createElement(ViewTransitionContext.Provider, {\n value: vtContext\n }, /*#__PURE__*/React.createElement(Router, {\n basename: basename,\n location: state.location,\n navigationType: state.historyAction,\n navigator: navigator,\n future: {\n v7_relativeSplatPath: router.future.v7_relativeSplatPath\n }\n }, state.initialized || router.future.v7_partialHydration ? /*#__PURE__*/React.createElement(DataRoutes, {\n routes: router.routes,\n future: router.future,\n state: state\n }) : fallbackElement))))), null);\n}\nfunction DataRoutes(_ref3) {\n let {\n routes,\n future,\n state\n } = _ref3;\n return UNSAFE_useRoutesImpl(routes, undefined, state, future);\n}\n/**\n * A `<Router>` for use in web browsers. Provides the cleanest URLs.\n */\nfunction BrowserRouter(_ref4) {\n let {\n basename,\n children,\n future,\n window\n } = _ref4;\n let historyRef = React.useRef();\n if (historyRef.current == null) {\n historyRef.current = createBrowserHistory({\n window,\n v5Compat: true\n });\n }\n let history = historyRef.current;\n let [state, setStateImpl] = React.useState({\n action: history.action,\n location: history.location\n });\n let {\n v7_startTransition\n } = future || {};\n let setState = React.useCallback(newState => {\n v7_startTransition && startTransitionImpl ? startTransitionImpl(() => setStateImpl(newState)) : setStateImpl(newState);\n }, [setStateImpl, v7_startTransition]);\n React.useLayoutEffect(() => history.listen(setState), [history, setState]);\n return /*#__PURE__*/React.createElement(Router, {\n basename: basename,\n children: children,\n location: state.location,\n navigationType: state.action,\n navigator: history,\n future: future\n });\n}\n/**\n * A `<Router>` for use in web browsers. Stores the location in the hash\n * portion of the URL so it is not sent to the server.\n */\nfunction HashRouter(_ref5) {\n let {\n basename,\n children,\n future,\n window\n } = _ref5;\n let historyRef = React.useRef();\n if (historyRef.current == null) {\n historyRef.current = createHashHistory({\n window,\n v5Compat: true\n });\n }\n let history = historyRef.current;\n let [state, setStateImpl] = React.useState({\n action: history.action,\n location: history.location\n });\n let {\n v7_startTransition\n } = future || {};\n let setState = React.useCallback(newState => {\n v7_startTransition && startTransitionImpl ? startTransitionImpl(() => setStateImpl(newState)) : setStateImpl(newState);\n }, [setStateImpl, v7_startTransition]);\n React.useLayoutEffect(() => history.listen(setState), [history, setState]);\n return /*#__PURE__*/React.createElement(Router, {\n basename: basename,\n children: children,\n location: state.location,\n navigationType: state.action,\n navigator: history,\n future: future\n });\n}\n/**\n * A `<Router>` that accepts a pre-instantiated history object. It's important\n * to note that using your own history object is highly discouraged and may add\n * two versions of the history library to your bundles unless you use the same\n * version of the history library that React Router uses internally.\n */\nfunction HistoryRouter(_ref6) {\n let {\n basename,\n children,\n future,\n history\n } = _ref6;\n let [state, setStateImpl] = React.useState({\n action: history.action,\n location: history.location\n });\n let {\n v7_startTransition\n } = future || {};\n let setState = React.useCallback(newState => {\n v7_startTransition && startTransitionImpl ? startTransitionImpl(() => setStateImpl(newState)) : setStateImpl(newState);\n }, [setStateImpl, v7_startTransition]);\n React.useLayoutEffect(() => history.listen(setState), [history, setState]);\n return /*#__PURE__*/React.createElement(Router, {\n basename: basename,\n children: children,\n location: state.location,\n navigationType: state.action,\n navigator: history,\n future: future\n });\n}\nif (process.env.NODE_ENV !== \"production\") {\n HistoryRouter.displayName = \"unstable_HistoryRouter\";\n}\nconst isBrowser = typeof window !== \"undefined\" && typeof window.document !== \"undefined\" && typeof window.document.createElement !== \"undefined\";\nconst ABSOLUTE_URL_REGEX = /^(?:[a-z][a-z0-9+.-]*:|\\/\\/)/i;\n/**\n * The public API for rendering a history-aware `<a>`.\n */\nconst Link = /*#__PURE__*/React.forwardRef(function LinkWithRef(_ref7, ref) {\n let {\n onClick,\n relative,\n reloadDocument,\n replace,\n state,\n target,\n to,\n preventScrollReset,\n unstable_viewTransition\n } = _ref7,\n rest = _objectWithoutPropertiesLoose(_ref7, _excluded);\n let {\n basename\n } = React.useContext(UNSAFE_NavigationContext);\n // Rendered into <a href> for absolute URLs\n let absoluteHref;\n let isExternal = false;\n if (typeof to === \"string\" && ABSOLUTE_URL_REGEX.test(to)) {\n // Render the absolute href server- and client-side\n absoluteHref = to;\n // Only check for external origins client-side\n if (isBrowser) {\n try {\n let currentUrl = new URL(window.location.href);\n let targetUrl = to.startsWith(\"//\") ? new URL(currentUrl.protocol + to) : new URL(to);\n let path = stripBasename(targetUrl.pathname, basename);\n if (targetUrl.origin === currentUrl.origin && path != null) {\n // Strip the protocol/origin/basename for same-origin absolute URLs\n to = path + targetUrl.search + targetUrl.hash;\n } else {\n isExternal = true;\n }\n } catch (e) {\n // We can't do external URL detection without a valid URL\n process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(false, \"<Link to=\\\"\" + to + \"\\\"> contains an invalid URL which will probably break \" + \"when clicked - please update to a valid URL path.\") : void 0;\n }\n }\n }\n // Rendered into <a href> for relative URLs\n let href = useHref(to, {\n relative\n });\n let internalOnClick = useLinkClickHandler(to, {\n replace,\n state,\n target,\n preventScrollReset,\n relative,\n unstable_viewTransition\n });\n function handleClick(event) {\n if (onClick) onClick(event);\n if (!event.defaultPrevented) {\n internalOnClick(event);\n }\n }\n return (\n /*#__PURE__*/\n // eslint-disable-next-line jsx-a11y/anchor-has-content\n React.createElement(\"a\", _extends({}, rest, {\n href: absoluteHref || href,\n onClick: isExternal || reloadDocument ? onClick : handleClick,\n ref: ref,\n target: target\n }))\n );\n});\nif (process.env.NODE_ENV !== \"production\") {\n Link.displayName = \"Link\";\n}\n/**\n * A `<Link>` wrapper that knows if it's \"active\" or not.\n */\nconst NavLink = /*#__PURE__*/React.forwardRef(function NavLinkWithRef(_ref8, ref) {\n let {\n \"aria-current\": ariaCurrentProp = \"page\",\n caseSensitive = false,\n className: classNameProp = \"\",\n end = false,\n style: styleProp,\n to,\n unstable_viewTransition,\n children\n } = _ref8,\n rest = _objectWithoutPropertiesLoose(_ref8, _excluded2);\n let path = useResolvedPath(to, {\n relative: rest.relative\n });\n let location = useLocation();\n let routerState = React.useContext(UNSAFE_DataRouterStateContext);\n let {\n navigator,\n basename\n } = React.useContext(UNSAFE_NavigationContext);\n let isTransitioning = routerState != null &&\n // Conditional usage is OK here because the usage of a data router is static\n // eslint-disable-next-line react-hooks/rules-of-hooks\n useViewTransitionState(path) && unstable_viewTransition === true;\n let toPathname = navigator.encodeLocation ? navigator.encodeLocation(path).pathname : path.pathname;\n let locationPathname = location.pathname;\n let nextLocationPathname = routerState && routerState.navigation && routerState.navigation.location ? routerState.navigation.location.pathname : null;\n if (!caseSensitive) {\n locationPathname = locationPathname.toLowerCase();\n nextLocationPathname = nextLocationPathname ? nextLocationPathname.toLowerCase() : null;\n toPathname = toPathname.toLowerCase();\n }\n if (nextLocationPathname && basename) {\n nextLocationPathname = stripBasename(nextLocationPathname, basename) || nextLocationPathname;\n }\n // If the `to` has a trailing slash, look at that exact spot. Otherwise,\n // we're looking for a slash _after_ what's in `to`. For example:\n //\n // <NavLink to=\"/users\"> and <NavLink to=\"/users/\">\n // both want to look for a / at index 6 to match URL `/users/matt`\n const endSlashPosition = toPathname !== \"/\" && toPathname.endsWith(\"/\") ? toPathname.length - 1 : toPathname.length;\n let isActive = locationPathname === toPathname || !end && locationPathname.startsWith(toPathname) && locationPathname.charAt(endSlashPosition) === \"/\";\n let isPending = nextLocationPathname != null && (nextLocationPathname === toPathname || !end && nextLocationPathname.startsWith(toPathname) && nextLocationPathname.charAt(toPathname.length) === \"/\");\n let renderProps = {\n isActive,\n isPending,\n isTransitioning\n };\n let ariaCurrent = isActive ? ariaCurrentProp : undefined;\n let className;\n if (typeof classNameProp === \"function\") {\n className = classNameProp(renderProps);\n } else {\n // If the className prop is not a function, we use a default `active`\n // class for <NavLink />s that are active. In v5 `active` was the default\n // value for `activeClassName`, but we are removing that API and can still\n // use the old default behavior for a cleaner upgrade path and keep the\n // simple styling rules working as they currently do.\n className = [classNameProp, isActive ? \"active\" : null, isPending ? \"pending\" : null, isTransitioning ? \"transitioning\" : null].filter(Boolean).join(\" \");\n }\n let style = typeof styleProp === \"function\" ? styleProp(renderProps) : styleProp;\n return /*#__PURE__*/React.createElement(Link, _extends({}, rest, {\n \"aria-current\": ariaCurrent,\n className: className,\n ref: ref,\n style: style,\n to: to,\n unstable_viewTransition: unstable_viewTransition\n }), typeof children === \"function\" ? children(renderProps) : children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n NavLink.displayName = \"NavLink\";\n}\n/**\n * A `@remix-run/router`-aware `<form>`. It behaves like a normal form except\n * that the interaction with the server is with `fetch` instead of new document\n * requests, allowing components to add nicer UX to the page as the form is\n * submitted and returns with data.\n */\nconst Form = /*#__PURE__*/React.forwardRef((_ref9, forwardedRef) => {\n let {\n fetcherKey,\n navigate,\n reloadDocument,\n replace,\n state,\n method = defaultMethod,\n action,\n onSubmit,\n relative,\n preventScrollReset,\n unstable_viewTransition\n } = _ref9,\n props = _objectWithoutPropertiesLoose(_ref9, _excluded3);\n let submit = useSubmit();\n let formAction = useFormAction(action, {\n relative\n });\n let formMethod = method.toLowerCase() === \"get\" ? \"get\" : \"post\";\n let submitHandler = event => {\n onSubmit && onSubmit(event);\n if (event.defaultPrevented) return;\n event.preventDefault();\n let submitter = event.nativeEvent.submitter;\n let submitMethod = (submitter == null ? void 0 : submitter.getAttribute(\"formmethod\")) || method;\n submit(submitter || event.currentTarget, {\n fetcherKey,\n method: submitMethod,\n navigate,\n replace,\n state,\n relative,\n preventScrollReset,\n unstable_viewTransition\n });\n };\n return /*#__PURE__*/React.createElement(\"form\", _extends({\n ref: forwardedRef,\n method: formMethod,\n action: formAction,\n onSubmit: reloadDocument ? onSubmit : submitHandler\n }, props));\n});\nif (process.env.NODE_ENV !== \"production\") {\n Form.displayName = \"Form\";\n}\n/**\n * This component will emulate the browser's scroll restoration on location\n * changes.\n */\nfunction ScrollRestoration(_ref10) {\n let {\n getKey,\n storageKey\n } = _ref10;\n useScrollRestoration({\n getKey,\n storageKey\n });\n return null;\n}\nif (process.env.NODE_ENV !== \"production\") {\n ScrollRestoration.displayName = \"ScrollRestoration\";\n}\n//#endregion\n////////////////////////////////////////////////////////////////////////////////\n//#region Hooks\n////////////////////////////////////////////////////////////////////////////////\nvar DataRouterHook;\n(function (DataRouterHook) {\n DataRouterHook[\"UseScrollRestoration\"] = \"useScrollRestoration\";\n DataRouterHook[\"UseSubmit\"] = \"useSubmit\";\n DataRouterHook[\"UseSubmitFetcher\"] = \"useSubmitFetcher\";\n DataRouterHook[\"UseFetcher\"] = \"useFetcher\";\n DataRouterHook[\"useViewTransitionState\"] = \"useViewTransitionState\";\n})(DataRouterHook || (DataRouterHook = {}));\nvar DataRouterStateHook;\n(function (DataRouterStateHook) {\n DataRouterStateHook[\"UseFetcher\"] = \"useFetcher\";\n DataRouterStateHook[\"UseFetchers\"] = \"useFetchers\";\n DataRouterStateHook[\"UseScrollRestoration\"] = \"useScrollRestoration\";\n})(DataRouterStateHook || (DataRouterStateHook = {}));\n// Internal hooks\nfunction getDataRouterConsoleError(hookName) {\n return hookName + \" must be used within a data router. See https://reactrouter.com/routers/picking-a-router.\";\n}\nfunction useDataRouterContext(hookName) {\n let ctx = React.useContext(UNSAFE_DataRouterContext);\n !ctx ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, getDataRouterConsoleError(hookName)) : UNSAFE_invariant(false) : void 0;\n return ctx;\n}\nfunction useDataRouterState(hookName) {\n let state = React.useContext(UNSAFE_DataRouterStateContext);\n !state ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, getDataRouterConsoleError(hookName)) : UNSAFE_invariant(false) : void 0;\n return state;\n}\n// External hooks\n/**\n * Handles the click behavior for router `<Link>` components. This is useful if\n * you need to create custom `<Link>` components with the same click behavior we\n * use in our exported `<Link>`.\n */\nfunction useLinkClickHandler(to, _temp) {\n let {\n target,\n replace: replaceProp,\n state,\n preventScrollReset,\n relative,\n unstable_viewTransition\n } = _temp === void 0 ? {} : _temp;\n let navigate = useNavigate();\n let location = useLocation();\n let path = useResolvedPath(to, {\n relative\n });\n return React.useCallback(event => {\n if (shouldProcessLinkClick(event, target)) {\n event.preventDefault();\n // If the URL hasn't changed, a regular <a> will do a replace instead of\n // a push, so do the same here unless the replace prop is explicitly set\n let replace = replaceProp !== undefined ? replaceProp : createPath(location) === createPath(path);\n navigate(to, {\n replace,\n state,\n preventScrollReset,\n relative,\n unstable_viewTransition\n });\n }\n }, [location, navigate, path, replaceProp, state, target, to, preventScrollReset, relative, unstable_viewTransition]);\n}\n/**\n * A convenient wrapper for reading and writing search parameters via the\n * URLSearchParams interface.\n */\nfunction useSearchParams(defaultInit) {\n process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(typeof URLSearchParams !== \"undefined\", \"You cannot use the `useSearchParams` hook in a browser that does not \" + \"support the URLSearchParams API. If you need to support Internet \" + \"Explorer 11, we recommend you load a polyfill such as \" + \"https://github.com/ungap/url-search-params\\n\\n\" + \"If you're unsure how to load polyfills, we recommend you check out \" + \"https://polyfill.io/v3/ which provides some recommendations about how \" + \"to load polyfills only for users that need them, instead of for every \" + \"user.\") : void 0;\n let defaultSearchParamsRef = React.useRef(createSearchParams(defaultInit));\n let hasSetSearchParamsRef = React.useRef(false);\n let location = useLocation();\n let searchParams = React.useMemo(() =>\n // Only merge in the defaults if we haven't yet called setSearchParams.\n // Once we call that we want those to take precedence, otherwise you can't\n // remove a param with setSearchParams({}) if it has an initial value\n getSearchParamsForLocation(location.search, hasSetSearchParamsRef.current ? null : defaultSearchParamsRef.current), [location.search]);\n let navigate = useNavigate();\n let setSearchParams = React.useCallback((nextInit, navigateOptions) => {\n const newSearchParams = createSearchParams(typeof nextInit === \"function\" ? nextInit(searchParams) : nextInit);\n hasSetSearchParamsRef.current = true;\n navigate(\"?\" + newSearchParams, navigateOptions);\n }, [navigate, searchParams]);\n return [searchParams, setSearchParams];\n}\nfunction validateClientSideSubmission() {\n if (typeof document === \"undefined\") {\n throw new Error(\"You are calling submit during the server render. \" + \"Try calling submit within a `useEffect` or callback instead.\");\n }\n}\nlet fetcherId = 0;\nlet getUniqueFetcherId = () => \"__\" + String(++fetcherId) + \"__\";\n/**\n * Returns a function that may be used to programmatically submit a form (or\n * some arbitrary data) to the server.\n */\nfunction useSubmit() {\n let {\n router\n } = useDataRouterContext(DataRouterHook.UseSubmit);\n let {\n basename\n } = React.useContext(UNSAFE_NavigationContext);\n let currentRouteId = UNSAFE_useRouteId();\n return React.useCallback(function (target, options) {\n if (options === void 0) {\n options = {};\n }\n validateClientSideSubmission();\n let {\n action,\n method,\n encType,\n formData,\n body\n } = getFormSubmissionInfo(target, basename);\n if (options.navigate === false) {\n let key = options.fetcherKey || getUniqueFetcherId();\n router.fetch(key, currentRouteId, options.action || action, {\n preventScrollReset: options.preventScrollReset,\n formData,\n body,\n formMethod: options.method || method,\n formEncType: options.encType || encType,\n unstable_flushSync: options.unstable_flushSync\n });\n } else {\n router.navigate(options.action || action, {\n preventScrollReset: options.preventScrollReset,\n formData,\n body,\n formMethod: options.method || method,\n formEncType: options.encType || encType,\n replace: options.replace,\n state: options.state,\n fromRouteId: currentRouteId,\n unstable_flushSync: options.unstable_flushSync,\n unstable_viewTransition: options.unstable_viewTransition\n });\n }\n }, [router, basename, currentRouteId]);\n}\n// v7: Eventually we should deprecate this entirely in favor of using the\n// router method directly?\nfunction useFormAction(action, _temp2) {\n let {\n relative\n } = _temp2 === void 0 ? {} : _temp2;\n let {\n basename\n } = React.useContext(UNSAFE_NavigationContext);\n let routeContext = React.useContext(UNSAFE_RouteContext);\n !routeContext ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, \"useFormAction must be used inside a RouteContext\") : UNSAFE_invariant(false) : void 0;\n let [match] = routeContext.matches.slice(-1);\n // Shallow clone path so we can modify it below, otherwise we modify the\n // object referenced by useMemo inside useResolvedPath\n let path = _extends({}, useResolvedPath(action ? action : \".\", {\n relative\n }));\n // If no action was specified, browsers will persist current search params\n // when determining the path, so match that behavior\n // https://github.com/remix-run/remix/issues/927\n let location = useLocation();\n if (action == null) {\n // Safe to write to this directly here since if action was undefined, we\n // would have called useResolvedPath(\".\") which will never include a search\n path.search = location.search;\n // When grabbing search params from the URL, remove any included ?index param\n // since it might not apply to our contextual route. We add it back based\n // on match.route.index below\n let params = new URLSearchParams(path.search);\n if (params.has(\"index\") && params.get(\"index\") === \"\") {\n params.delete(\"index\");\n path.search = params.toString() ? \"?\" + params.toString() : \"\";\n }\n }\n if ((!action || action === \".\") && match.route.index) {\n path.search = path.search ? path.search.replace(/^\\?/, \"?index&\") : \"?index\";\n }\n // If we're operating within a basename, prepend it to the pathname prior\n // to creating the form action. If this is a root navigation, then just use\n // the raw basename which allows the basename to have full control over the\n // presence of a trailing slash on root actions\n if (basename !== \"/\") {\n path.pathname = path.pathname === \"/\" ? basename : joinPaths([basename, path.pathname]);\n }\n return createPath(path);\n}\n// TODO: (v7) Change the useFetcher generic default from `any` to `unknown`\n/**\n * Interacts with route loaders and actions without causing a navigation. Great\n * for any interaction that stays on the same page.\n */\nfunction useFetcher(_temp3) {\n var _route$matches;\n let {\n key\n } = _temp3 === void 0 ? {} : _temp3;\n let {\n router\n } = useDataRouterContext(DataRouterHook.UseFetcher);\n let state = useDataRouterState(DataRouterStateHook.UseFetcher);\n let fetcherData = React.useContext(FetchersContext);\n let route = React.useContext(UNSAFE_RouteContext);\n let routeId = (_route$matches = route.matches[route.matches.length - 1]) == null ? void 0 : _route$matches.route.id;\n !fetcherData ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, \"useFetcher must be used inside a FetchersContext\") : UNSAFE_invariant(false) : void 0;\n !route ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, \"useFetcher must be used inside a RouteContext\") : UNSAFE_invariant(false) : void 0;\n !(routeId != null) ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, \"useFetcher can only be used on routes that contain a unique \\\"id\\\"\") : UNSAFE_invariant(false) : void 0;\n // Fetcher key handling\n // OK to call conditionally to feature detect `useId`\n // eslint-disable-next-line react-hooks/rules-of-hooks\n let defaultKey = useIdImpl ? useIdImpl() : \"\";\n let [fetcherKey, setFetcherKey] = React.useState(key || defaultKey);\n if (key && key !== fetcherKey) {\n setFetcherKey(key);\n } else if (!fetcherKey) {\n // We will only fall through here when `useId` is not available\n setFetcherKey(getUniqueFetcherId());\n }\n // Registration/cleanup\n React.useEffect(() => {\n router.getFetcher(fetcherKey);\n return () => {\n // Tell the router we've unmounted - if v7_fetcherPersist is enabled this\n // will not delete immediately but instead queue up a delete after the\n // fetcher returns to an `idle` state\n router.deleteFetcher(fetcherKey);\n };\n }, [router, fetcherKey]);\n // Fetcher additions\n let load = React.useCallback((href, opts) => {\n !routeId ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, \"No routeId available for fetcher.load()\") : UNSAFE_invariant(false) : void 0;\n router.fetch(fetcherKey, routeId, href, opts);\n }, [fetcherKey, routeId, router]);\n let submitImpl = useSubmit();\n let submit = React.useCallback((target, opts) => {\n submitImpl(target, _extends({}, opts, {\n navigate: false,\n fetcherKey\n }));\n }, [fetcherKey, submitImpl]);\n let FetcherForm = React.useMemo(() => {\n let FetcherForm = /*#__PURE__*/React.forwardRef((props, ref) => {\n return /*#__PURE__*/React.createElement(Form, _extends({}, props, {\n navigate: false,\n fetcherKey: fetcherKey,\n ref: ref\n }));\n });\n if (process.env.NODE_ENV !== \"production\") {\n FetcherForm.displayName = \"fetcher.Form\";\n }\n return FetcherForm;\n }, [fetcherKey]);\n // Exposed FetcherWithComponents\n let fetcher = state.fetchers.get(fetcherKey) || IDLE_FETCHER;\n let data = fetcherData.get(fetcherKey);\n let fetcherWithComponents = React.useMemo(() => _extends({\n Form: FetcherForm,\n submit,\n load\n }, fetcher, {\n data\n }), [FetcherForm, submit, load, fetcher, data]);\n return fetcherWithComponents;\n}\n/**\n * Provides all fetchers currently on the page. Useful for layouts and parent\n * routes that need to provide pending/optimistic UI regarding the fetch.\n */\nfunction useFetchers() {\n let state = useDataRouterState(DataRouterStateHook.UseFetchers);\n return Array.from(state.fetchers.entries()).map(_ref11 => {\n let [key, fetcher] = _ref11;\n return _extends({}, fetcher, {\n key\n });\n });\n}\nconst SCROLL_RESTORATION_STORAGE_KEY = \"react-router-scroll-positions\";\nlet savedScrollPositions = {};\n/**\n * When rendered inside a RouterProvider, will restore scroll positions on navigations\n */\nfunction useScrollRestoration(_temp4) {\n let {\n getKey,\n storageKey\n } = _temp4 === void 0 ? {} : _temp4;\n let {\n router\n } = useDataRouterContext(DataRouterHook.UseScrollRestoration);\n let {\n restoreScrollPosition,\n preventScrollReset\n } = useDataRouterState(DataRouterStateHook.UseScrollRestoration);\n let {\n basename\n } = React.useContext(UNSAFE_NavigationContext);\n let location = useLocation();\n let matches = useMatches();\n let navigation = useNavigation();\n // Trigger manual scroll restoration while we're active\n React.useEffect(() => {\n window.history.scrollRestoration = \"manual\";\n return () => {\n window.history.scrollRestoration = \"auto\";\n };\n }, []);\n // Save positions on pagehide\n usePageHide(React.useCallback(() => {\n if (navigation.state === \"idle\") {\n let key = (getKey ? getKey(location, matches) : null) || location.key;\n savedScrollPositions[key] = window.scrollY;\n }\n try {\n sessionStorage.setItem(storageKey || SCROLL_RESTORATION_STORAGE_KEY, JSON.stringify(savedScrollPositions));\n } catch (error) {\n process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(false, \"Failed to save scroll positions in sessionStorage, <ScrollRestoration /> will not work properly (\" + error + \").\") : void 0;\n }\n window.history.scrollRestoration = \"auto\";\n }, [storageKey, getKey, navigation.state, location, matches]));\n // Read in any saved scroll locations\n if (typeof document !== \"undefined\") {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useLayoutEffect(() => {\n try {\n let sessionPositions = sessionStorage.getItem(storageKey || SCROLL_RESTORATION_STORAGE_KEY);\n if (sessionPositions) {\n savedScrollPositions = JSON.parse(sessionPositions);\n }\n } catch (e) {\n // no-op, use default empty object\n }\n }, [storageKey]);\n // Enable scroll restoration in the router\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useLayoutEffect(() => {\n let getKeyWithoutBasename = getKey && basename !== \"/\" ? (location, matches) => getKey( // Strip the basename to match useLocation()\n _extends({}, location, {\n pathname: stripBasename(location.pathname, basename) || location.pathname\n }), matches) : getKey;\n let disableScrollRestoration = router == null ? void 0 : router.enableScrollRestoration(savedScrollPositions, () => window.scrollY, getKeyWithoutBasename);\n return () => disableScrollRestoration && disableScrollRestoration();\n }, [router, basename, getKey]);\n // Restore scrolling when state.restoreScrollPosition changes\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useLayoutEffect(() => {\n // Explicit false means don't do anything (used for submissions)\n if (restoreScrollPosition === false) {\n return;\n }\n // been here before, scroll to it\n if (typeof restoreScrollPosition === \"number\") {\n window.scrollTo(0, restoreScrollPosition);\n return;\n }\n // try to scroll to the hash\n if (location.hash) {\n let el = document.getElementById(decodeURIComponent(location.hash.slice(1)));\n if (el) {\n el.scrollIntoView();\n return;\n }\n }\n // Don't reset if this navigation opted out\n if (preventScrollReset === true) {\n return;\n }\n // otherwise go to the top on new locations\n window.scrollTo(0, 0);\n }, [location, restoreScrollPosition, preventScrollReset]);\n }\n}\n/**\n * Setup a callback to be fired on the window's `beforeunload` event. This is\n * useful for saving some data to `window.localStorage` just before the page\n * refreshes.\n *\n * Note: The `callback` argument should be a function created with\n * `React.useCallback()`.\n */\nfunction useBeforeUnload(callback, options) {\n let {\n capture\n } = options || {};\n React.useEffect(() => {\n let opts = capture != null ? {\n capture\n } : undefined;\n window.addEventListener(\"beforeunload\", callback, opts);\n return () => {\n window.removeEventListener(\"beforeunload\", callback, opts);\n };\n }, [callback, capture]);\n}\n/**\n * Setup a callback to be fired on the window's `pagehide` event. This is\n * useful for saving some data to `window.localStorage` just before the page\n * refreshes. This event is better supported than beforeunload across browsers.\n *\n * Note: The `callback` argument should be a function created with\n * `React.useCallback()`.\n */\nfunction usePageHide(callback, options) {\n let {\n capture\n } = options || {};\n React.useEffect(() => {\n let opts = capture != null ? {\n capture\n } : undefined;\n window.addEventListener(\"pagehide\", callback, opts);\n return () => {\n window.removeEventListener(\"pagehide\", callback, opts);\n };\n }, [callback, capture]);\n}\n/**\n * Wrapper around useBlocker to show a window.confirm prompt to users instead\n * of building a custom UI with useBlocker.\n *\n * Warning: This has *a lot of rough edges* and behaves very differently (and\n * very incorrectly in some cases) across browsers if user click addition\n * back/forward navigations while the confirm is open. Use at your own risk.\n */\nfunction usePrompt(_ref12) {\n let {\n when,\n message\n } = _ref12;\n let blocker = useBlocker(when);\n React.useEffect(() => {\n if (blocker.state === \"blocked\") {\n let proceed = window.confirm(message);\n if (proceed) {\n // This timeout is needed to avoid a weird \"race\" on POP navigations\n // between the `window.history` revert navigation and the result of\n // `window.confirm`\n setTimeout(blocker.proceed, 0);\n } else {\n blocker.reset();\n }\n }\n }, [blocker, message]);\n React.useEffect(() => {\n if (blocker.state === \"blocked\" && !when) {\n blocker.reset();\n }\n }, [blocker, when]);\n}\n/**\n * Return a boolean indicating if there is an active view transition to the\n * given href. You can use this value to render CSS classes or viewTransitionName\n * styles onto your elements\n *\n * @param href The destination href\n * @param [opts.relative] Relative routing type (\"route\" | \"path\")\n */\nfunction useViewTransitionState(to, opts) {\n if (opts === void 0) {\n opts = {};\n }\n let vtContext = React.useContext(ViewTransitionContext);\n !(vtContext != null) ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, \"`unstable_useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. \" + \"Did you accidentally import `RouterProvider` from `react-router`?\") : UNSAFE_invariant(false) : void 0;\n let {\n basename\n } = useDataRouterContext(DataRouterHook.useViewTransitionState);\n let path = useResolvedPath(to, {\n relative: opts.relative\n });\n if (!vtContext.isTransitioning) {\n return false;\n }\n let currentPath = stripBasename(vtContext.currentLocation.pathname, basename) || vtContext.currentLocation.pathname;\n let nextPath = stripBasename(vtContext.nextLocation.pathname, basename) || vtContext.nextLocation.pathname;\n // Transition is active if we're going to or coming from the indicated\n // destination. This ensures that other PUSH navigations that reverse\n // an indicated transition apply. I.e., on the list view you have:\n //\n // <NavLink to=\"/details/1\" unstable_viewTransition>\n //\n // If you click the breadcrumb back to the list view:\n //\n // <NavLink to=\"/list\" unstable_viewTransition>\n //\n // We should apply the transition because it's indicated as active going\n // from /list -> /details/1 and therefore should be active on the reverse\n // (even though this isn't strictly a POP reverse)\n return matchPath(path.pathname, nextPath) != null || matchPath(path.pathname, currentPath) != null;\n}\n//#endregion\n\nexport { BrowserRouter, Form, HashRouter, Link, NavLink, RouterProvider, ScrollRestoration, FetchersContext as UNSAFE_FetchersContext, ViewTransitionContext as UNSAFE_ViewTransitionContext, useScrollRestoration as UNSAFE_useScrollRestoration, createBrowserRouter, createHashRouter, createSearchParams, HistoryRouter as unstable_HistoryRouter, usePrompt as unstable_usePrompt, useViewTransitionState as unstable_useViewTransitionState, useBeforeUnload, useFetcher, useFetchers, useFormAction, useLinkClickHandler, useSearchParams, useSubmit };\n//# sourceMappingURL=index.js.map\n","import { Store } from './types';\n\ntype Subscription = {\n key: string;\n callback: (value: any) => void;\n};\n\nconst RA_STORE = 'RaStore';\n\n// localStorage isn't available in incognito mode. We need to detect it\nconst testLocalStorage = () => {\n // eslint-disable-next-line eqeqeq\n if (typeof window === 'undefined' || window.localStorage == undefined) {\n return false;\n }\n\n try {\n window.localStorage.setItem('test', 'test');\n window.localStorage.removeItem('test');\n return true;\n } catch (e) {\n return false;\n }\n};\n\nlet localStorageAvailable = testLocalStorage();\n\n/**\n * Store using localStorage, or memory storage in incognito mode\n *\n * @example\n *\n * import { localStorageStore } from 'react-admin';\n *\n * const App = () => (\n * <Admin store={localStorageStore()}>\n * ...\n * </Admin>\n * );\n */\nexport const localStorageStore = (\n version: string = '1',\n appKey: string = ''\n): Store => {\n const prefix = `${RA_STORE}${appKey}`;\n const prefixLength = prefix.length;\n const subscriptions: { [key: string]: Subscription } = {};\n const publish = (key: string, value: any) => {\n Object.keys(subscriptions).forEach(id => {\n if (!subscriptions[id]) return; // may happen if a component unmounts after a first subscriber was notified\n if (subscriptions[id].key === key) {\n subscriptions[id].callback(value);\n }\n });\n };\n\n // Whenever the local storage changes in another document, look for matching subscribers.\n // This allows to synchronize state across tabs\n const onLocalStorageChange = (event: StorageEvent): void => {\n if (event.key?.substring(0, prefixLength) !== prefix) {\n return;\n }\n const key = event.key.substring(prefixLength + 1);\n const value = event.newValue ? tryParse(event.newValue) : undefined;\n Object.keys(subscriptions).forEach(id => {\n if (!subscriptions[id]) return; // may happen if a component unmounts after a first subscriber was notified\n if (subscriptions[id].key === key) {\n if (value === null) {\n // an event with a null value is sent when the key is deleted.\n // to enable default value, we need to call setValue(undefined) instead of setValue(null)\n subscriptions[id].callback(undefined);\n } else {\n subscriptions[id].callback(\n value == null ? undefined : value\n );\n }\n }\n });\n };\n\n return {\n setup: () => {\n if (localStorageAvailable) {\n const storedVersion = getStorage().getItem(`${prefix}.version`);\n if (storedVersion && storedVersion !== version) {\n const storage = getStorage();\n Object.keys(storage).forEach(key => {\n if (key.startsWith(prefix)) {\n storage.removeItem(key);\n }\n });\n }\n getStorage().setItem(`${prefix}.version`, version);\n window.addEventListener('storage', onLocalStorageChange);\n }\n },\n teardown: () => {\n if (localStorageAvailable) {\n window.removeEventListener('storage', onLocalStorageChange);\n }\n },\n getItem<T = any>(key: string, defaultValue?: T): T {\n const valueFromStorage = getStorage().getItem(`${prefix}.${key}`);\n\n // eslint-disable-next-line eqeqeq\n return valueFromStorage == null\n ? defaultValue\n : tryParse(valueFromStorage);\n },\n setItem<T = any>(key: string, value: T): void {\n if (value === undefined) {\n getStorage().removeItem(`${prefix}.${key}`);\n } else {\n getStorage().setItem(`${prefix}.${key}`, JSON.stringify(value));\n }\n publish(key, value);\n },\n removeItem(key: string): void {\n getStorage().removeItem(`${prefix}.${key}`);\n publish(key, undefined);\n },\n removeItems(keyPrefix: string): void {\n const storage = getStorage();\n Object.keys(storage).forEach(key => {\n if (key.startsWith(`${prefix}.${keyPrefix}`)) {\n storage.removeItem(key);\n const publishKey = key.substring(prefixLength + 1);\n publish(publishKey, undefined);\n }\n });\n },\n reset(): void {\n const storage = getStorage();\n Object.keys(storage).forEach(key => {\n if (key.startsWith(prefix)) {\n storage.removeItem(key);\n const publishKey = key.substring(prefixLength + 1);\n publish(publishKey, undefined);\n }\n });\n },\n subscribe: (key: string, callback: (value: string) => void) => {\n const id = Math.random().toString();\n subscriptions[id] = {\n key,\n callback,\n };\n return () => {\n delete subscriptions[id];\n };\n },\n };\n};\n\nconst tryParse = (value: string): any => {\n try {\n return JSON.parse(value);\n } catch (e) {\n return value;\n }\n};\nclass LocalStorageShim {\n valuesMap: any = new Map();\n\n getItem(key: string) {\n if (this.valuesMap.has(key)) {\n return String(this.valuesMap.get(key));\n }\n return null;\n }\n\n setItem(key: string, value: string) {\n this.valuesMap.set(key, value);\n }\n\n removeItem(key: string) {\n this.valuesMap.delete(key);\n }\n\n removeItems(keyPrefix: string) {\n this.valuesMap.forEach((value, key) => {\n if (key.startsWith(keyPrefix)) {\n this.valuesMap.delete(key);\n }\n });\n }\n\n clear() {\n this.valuesMap.clear();\n }\n\n key(i): string {\n if (arguments.length === 0) {\n throw new TypeError(\n \"Failed to execute 'key' on 'Storage': 1 argument required, but only 0 present.\"\n ); // this is a TypeError implemented on Chrome, Firefox throws Not enough arguments to Storage.key.\n }\n const arr = Array.from(this.valuesMap.keys()) as string[];\n return arr[i];\n }\n\n get length() {\n return this.valuesMap.size;\n }\n}\nconst memoryStorage = new LocalStorageShim();\n\nexport const getStorage = () => {\n return localStorageAvailable ? window.localStorage : memoryStorage;\n};\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","var baseGetTag = require('./_baseGetTag'),\n isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n","var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n","var coreJsData = require('./_coreJsData');\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nmodule.exports = isMasked;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n","var isFunction = require('./isFunction'),\n isMasked = require('./_isMasked'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n","var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n","var getNative = require('./_getNative');\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nmodule.exports = defineProperty;\n","var defineProperty = require('./_defineProperty');\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nmodule.exports = baseAssignValue;\n","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignValue;\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","var isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/;\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\nmodule.exports = isKey;\n","var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n","var nativeCreate = require('./_nativeCreate');\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nmodule.exports = hashClear;\n","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = hashDelete;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nmodule.exports = hashGet;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nmodule.exports = hashHas;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nmodule.exports = hashSet;\n","var hashClear = require('./_hashClear'),\n hashDelete = require('./_hashDelete'),\n hashGet = require('./_hashGet'),\n hashHas = require('./_hashHas'),\n hashSet = require('./_hashSet');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nmodule.exports = Hash;\n","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nmodule.exports = listCacheClear;\n","var eq = require('./eq');\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nmodule.exports = listCacheDelete;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nmodule.exports = listCacheGet;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nmodule.exports = listCacheSet;\n","var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n","var Hash = require('./_Hash'),\n ListCache = require('./_ListCache'),\n Map = require('./_Map');\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nmodule.exports = mapCacheClear;\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nmodule.exports = isKeyable;\n","var isKeyable = require('./_isKeyable');\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nmodule.exports = getMapData;\n","var getMapData = require('./_getMapData');\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = mapCacheDelete;\n","var getMapData = require('./_getMapData');\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nmodule.exports = mapCacheGet;\n","var getMapData = require('./_getMapData');\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nmodule.exports = mapCacheHas;\n","var getMapData = require('./_getMapData');\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nmodule.exports = mapCacheSet;\n","var mapCacheClear = require('./_mapCacheClear'),\n mapCacheDelete = require('./_mapCacheDelete'),\n mapCacheGet = require('./_mapCacheGet'),\n mapCacheHas = require('./_mapCacheHas'),\n mapCacheSet = require('./_mapCacheSet');\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nmodule.exports = MapCache;\n","var MapCache = require('./_MapCache');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Expose `MapCache`.\nmemoize.Cache = MapCache;\n\nmodule.exports = memoize;\n","var memoize = require('./memoize');\n\n/** Used as the maximum memoize cache size. */\nvar MAX_MEMOIZE_SIZE = 500;\n\n/**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\nfunction memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n}\n\nmodule.exports = memoizeCapped;\n","var memoizeCapped = require('./_memoizeCapped');\n\n/** Used to match property names within property paths. */\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\nmodule.exports = stringToPath;\n","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nmodule.exports = arrayMap;\n","var Symbol = require('./_Symbol'),\n arrayMap = require('./_arrayMap'),\n isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = baseToString;\n","var baseToString = require('./_baseToString');\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\nmodule.exports = toString;\n","var isArray = require('./isArray'),\n isKey = require('./_isKey'),\n stringToPath = require('./_stringToPath'),\n toString = require('./toString');\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n}\n\nmodule.exports = castPath;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n","var isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = toKey;\n","var assignValue = require('./_assignValue'),\n castPath = require('./_castPath'),\n isIndex = require('./_isIndex'),\n isObject = require('./isObject'),\n toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.set`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @param {Function} [customizer] The function to customize path creation.\n * @returns {Object} Returns `object`.\n */\nfunction baseSet(object, path, value, customizer) {\n if (!isObject(object)) {\n return object;\n }\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n lastIndex = length - 1,\n nested = object;\n\n while (nested != null && ++index < length) {\n var key = toKey(path[index]),\n newValue = value;\n\n if (key === '__proto__' || key === 'constructor' || key === 'prototype') {\n return object;\n }\n\n if (index != lastIndex) {\n var objValue = nested[key];\n newValue = customizer ? customizer(objValue, key, nested) : undefined;\n if (newValue === undefined) {\n newValue = isObject(objValue)\n ? objValue\n : (isIndex(path[index + 1]) ? [] : {});\n }\n }\n assignValue(nested, key, newValue);\n nested = nested[key];\n }\n return object;\n}\n\nmodule.exports = baseSet;\n","var baseSet = require('./_baseSet');\n\n/**\n * Sets the value at `path` of `object`. If a portion of `path` doesn't exist,\n * it's created. Arrays are created for missing index properties while objects\n * are created for all other missing properties. Use `_.setWith` to customize\n * `path` creation.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.set(object, 'a[0].b.c', 4);\n * console.log(object.a[0].b.c);\n * // => 4\n *\n * _.set(object, ['x', '0', 'y', 'z'], 5);\n * console.log(object.x[0].y.z);\n * // => 5\n */\nfunction set(object, path, value) {\n return object == null ? object : baseSet(object, path, value);\n}\n\nmodule.exports = set;\n","/**\n * Gets the last element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {*} Returns the last element of `array`.\n * @example\n *\n * _.last([1, 2, 3]);\n * // => 3\n */\nfunction last(array) {\n var length = array == null ? 0 : array.length;\n return length ? array[length - 1] : undefined;\n}\n\nmodule.exports = last;\n","var castPath = require('./_castPath'),\n toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = castPath(path, object);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\nmodule.exports = baseGet;\n","/**\n * The base implementation of `_.slice` without an iteratee call guard.\n *\n * @private\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\nfunction baseSlice(array, start, end) {\n var index = -1,\n length = array.length;\n\n if (start < 0) {\n start = -start > length ? 0 : (length + start);\n }\n end = end > length ? length : end;\n if (end < 0) {\n end += length;\n }\n length = start > end ? 0 : ((end - start) >>> 0);\n start >>>= 0;\n\n var result = Array(length);\n while (++index < length) {\n result[index] = array[index + start];\n }\n return result;\n}\n\nmodule.exports = baseSlice;\n","var baseGet = require('./_baseGet'),\n baseSlice = require('./_baseSlice');\n\n/**\n * Gets the parent value at `path` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array} path The path to get the parent value of.\n * @returns {*} Returns the parent value.\n */\nfunction parent(object, path) {\n return path.length < 2 ? object : baseGet(object, baseSlice(path, 0, -1));\n}\n\nmodule.exports = parent;\n","var castPath = require('./_castPath'),\n last = require('./last'),\n parent = require('./_parent'),\n toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.unset`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The property path to unset.\n * @returns {boolean} Returns `true` if the property is deleted, else `false`.\n */\nfunction baseUnset(object, path) {\n path = castPath(path, object);\n object = parent(object, path);\n return object == null || delete object[toKey(last(path))];\n}\n\nmodule.exports = baseUnset;\n","var baseUnset = require('./_baseUnset');\n\n/**\n * Removes the property at `path` of `object`.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to unset.\n * @returns {boolean} Returns `true` if the property is deleted, else `false`.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 7 } }] };\n * _.unset(object, 'a[0].b.c');\n * // => true\n *\n * console.log(object);\n * // => { 'a': [{ 'b': {} }] };\n *\n * _.unset(object, ['a', '0', 'b', 'c']);\n * // => true\n *\n * console.log(object);\n * // => { 'a': [{ 'b': {} }] };\n */\nfunction unset(object, path) {\n return object == null ? true : baseUnset(object, path);\n}\n\nmodule.exports = unset;\n","var baseGet = require('./_baseGet');\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\nmodule.exports = get;\n","import set from 'lodash/set';\nimport unset from 'lodash/unset';\nimport get from 'lodash/get';\nimport { Store } from './types';\n\ntype Subscription = {\n key: string;\n callback: (value: any) => void;\n};\n\n/**\n * Store using memory\n *\n * @example\n *\n * import { memoryStore } from 'react-admin';\n *\n * const App = () => (\n * <Admin store={memoryStore()}>\n * ...\n * </Admin>\n * );\n */\nexport const memoryStore = (storage: any = {}): Store => {\n const subscriptions: { [key: string]: Subscription } = {};\n const publish = (key: string, value: any) => {\n Object.keys(subscriptions).forEach(id => {\n if (!subscriptions[id]) return; // may happen if a component unmounts after a first subscriber was notified\n if (subscriptions[id].key === key) {\n subscriptions[id].callback(value);\n }\n });\n };\n return {\n setup: () => {},\n teardown: () => {\n Object.keys(storage).forEach(key => delete storage[key]);\n },\n getItem<T = any>(key: string, defaultValue?: T): T {\n return get(storage, key, defaultValue);\n },\n setItem<T = any>(key: string, value: T): void {\n set(storage, key, value);\n publish(key, value);\n },\n removeItem(key: string): void {\n unset(storage, key);\n publish(key, undefined);\n },\n removeItems(keyPrefix: string): void {\n const flatStorage = flatten(storage);\n Object.keys(flatStorage).forEach(key => {\n if (!key.startsWith(keyPrefix)) {\n return;\n }\n unset(storage, key);\n publish(key, undefined);\n });\n },\n reset(): void {\n const flatStorage = flatten(storage);\n Object.keys(flatStorage).forEach(key => {\n unset(storage, key);\n publish(key, undefined);\n });\n },\n subscribe: (key: string, callback: (value: string) => void) => {\n const id = Math.random().toString();\n subscriptions[id] = {\n key,\n callback,\n };\n return () => {\n delete subscriptions[id];\n };\n },\n };\n};\n\n// taken from https://stackoverflow.com/a/19101235/1333479\nconst flatten = (data: any) => {\n var result = {};\n function doFlatten(current, prop) {\n if (Object(current) !== current) {\n // scalar value\n result[prop] = current;\n } else if (Array.isArray(current)) {\n // array\n result[prop] = current;\n } else {\n // object\n var isEmpty = true;\n for (var p in current) {\n isEmpty = false;\n doFlatten(current[p], prop ? prop + '.' + p : p);\n }\n if (isEmpty && prop) result[prop] = {};\n }\n }\n doFlatten(data, '');\n return result;\n};\n","import { createContext } from 'react';\n\nimport { Store } from './types';\nimport { memoryStore } from './memoryStore';\n\nconst defaultStore = memoryStore();\n\nexport const StoreContext = createContext<Store>(defaultStore);\n","import * as React from 'react';\nimport { useEffect } from 'react';\nimport { StoreContext } from './StoreContext';\nimport { Store } from './types';\n\nexport const StoreContextProvider = ({\n value: Store,\n children,\n}: StoreContextProviderProps) => {\n useEffect(() => {\n Store.setup();\n return () => {\n Store.teardown();\n };\n }, [Store]);\n\n return (\n <StoreContext.Provider value={Store}>{children}</StoreContext.Provider>\n );\n};\n\nexport interface StoreContextProviderProps {\n value: Store;\n children: React.ReactNode;\n}\n","import { useContext } from 'react';\n\nimport { StoreContext } from './StoreContext';\n\n/**\n * Get the Store stored in the StoreContext\n */\nexport const useStoreContext = () => useContext(StoreContext);\n","var ListCache = require('./_ListCache');\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nmodule.exports = stackClear;\n","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nmodule.exports = stackDelete;\n","/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nmodule.exports = stackGet;\n","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nmodule.exports = stackHas;\n","var ListCache = require('./_ListCache'),\n Map = require('./_Map'),\n MapCache = require('./_MapCache');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nmodule.exports = stackSet;\n","var ListCache = require('./_ListCache'),\n stackClear = require('./_stackClear'),\n stackDelete = require('./_stackDelete'),\n stackGet = require('./_stackGet'),\n stackHas = require('./_stackHas'),\n stackSet = require('./_stackSet');\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nmodule.exports = Stack;\n","/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\nmodule.exports = setCacheAdd;\n","/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\nmodule.exports = setCacheHas;\n","var MapCache = require('./_MapCache'),\n setCacheAdd = require('./_setCacheAdd'),\n setCacheHas = require('./_setCacheHas');\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\nmodule.exports = SetCache;\n","/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n","/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\nmodule.exports = cacheHas;\n","var SetCache = require('./_SetCache'),\n arraySome = require('./_arraySome'),\n cacheHas = require('./_cacheHas');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Check that cyclic values are equal.\n var arrStacked = stack.get(array);\n var othStacked = stack.get(other);\n if (arrStacked && othStacked) {\n return arrStacked == other && othStacked == array;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalArrays;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n","/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\nmodule.exports = mapToArray;\n","/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\nmodule.exports = setToArray;\n","var Symbol = require('./_Symbol'),\n Uint8Array = require('./_Uint8Array'),\n eq = require('./eq'),\n equalArrays = require('./_equalArrays'),\n mapToArray = require('./_mapToArray'),\n setToArray = require('./_setToArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n","/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nmodule.exports = arrayPush;\n","var arrayPush = require('./_arrayPush'),\n isArray = require('./isArray');\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\nmodule.exports = baseGetAllKeys;\n","/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nmodule.exports = arrayFilter;\n","/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\nmodule.exports = stubArray;\n","var arrayFilter = require('./_arrayFilter'),\n stubArray = require('./stubArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nmodule.exports = getSymbols;\n","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nmodule.exports = baseTimes;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nmodule.exports = baseIsArguments;\n","var baseIsArguments = require('./_baseIsArguments'),\n isObjectLike = require('./isObjectLike');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nmodule.exports = isArguments;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n","var root = require('./_root'),\n stubFalse = require('./stubFalse');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nmodule.exports = isBuffer;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n","var baseGetTag = require('./_baseGetTag'),\n isLength = require('./isLength'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nmodule.exports = baseIsTypedArray;\n","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n","var baseIsTypedArray = require('./_baseIsTypedArray'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nmodule.exports = isTypedArray;\n","var baseTimes = require('./_baseTimes'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isIndex = require('./_isIndex'),\n isTypedArray = require('./isTypedArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = arrayLikeKeys;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nmodule.exports = isPrototype;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;\n","var overArg = require('./_overArg');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nmodule.exports = nativeKeys;\n","var isPrototype = require('./_isPrototype'),\n nativeKeys = require('./_nativeKeys');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeys;\n","var isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeys = require('./_baseKeys'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nmodule.exports = keys;\n","var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbols = require('./_getSymbols'),\n keys = require('./keys');\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\nmodule.exports = getAllKeys;\n","var getAllKeys = require('./_getAllKeys');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Check that cyclic values are equal.\n var objStacked = stack.get(object);\n var othStacked = stack.get(other);\n if (objStacked && othStacked) {\n return objStacked == other && othStacked == object;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalObjects;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nmodule.exports = DataView;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nmodule.exports = Promise;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nmodule.exports = Set;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nmodule.exports = WeakMap;\n","var DataView = require('./_DataView'),\n Map = require('./_Map'),\n Promise = require('./_Promise'),\n Set = require('./_Set'),\n WeakMap = require('./_WeakMap'),\n baseGetTag = require('./_baseGetTag'),\n toSource = require('./_toSource');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nmodule.exports = getTag;\n","var Stack = require('./_Stack'),\n equalArrays = require('./_equalArrays'),\n equalByTag = require('./_equalByTag'),\n equalObjects = require('./_equalObjects'),\n getTag = require('./_getTag'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isTypedArray = require('./isTypedArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\nmodule.exports = baseIsEqualDeep;\n","var baseIsEqualDeep = require('./_baseIsEqualDeep'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\nmodule.exports = baseIsEqual;\n","var baseIsEqual = require('./_baseIsEqual');\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\nfunction isEqual(value, other) {\n return baseIsEqual(value, other);\n}\n\nmodule.exports = isEqual;\n","/**\n * Replace tokens by their value in the given string\n *\n * @param {string} template The template with interpolation tokens, e.g. 'Hello, %{name}'\n * @param {object} data The data to interpolate, e.g. { name: 'John' }\n * @returns {string} The interpolated string, e.g. 'Hello, John'\n */\nexport const substituteTokens = (template, data) =>\n template && data\n ? String.prototype.replace.call(\n template,\n defaultTokenRegex,\n function (expression, argument) {\n if (\n !data.hasOwnProperty(argument) ||\n data[argument] == null\n ) {\n return expression;\n }\n return data[argument];\n }\n )\n : template;\n\n// tokens are like 'Hello, %{name}'\nconst defaultTokenRegex = /%\\{(.*?)\\}/g;\n","import { createContext } from 'react';\nimport { I18nProvider } from '../types';\nimport { substituteTokens } from './substituteTokens';\n\nexport type I18nContextProps = I18nProvider;\n\nconst defaultI18nProvider = {\n translate: (key, options) =>\n options?._\n ? substituteTokens(options._, options)\n : substituteTokens(key, options),\n changeLocale: () => Promise.resolve(),\n getLocale: () => 'en',\n};\n\nexport const I18nContext = createContext<I18nProvider>(defaultI18nProvider);\n\nI18nContext.displayName = 'I18nContext';\n","import { createContext } from 'react';\n\nimport { NotificationPayload } from './types';\n\nexport const AddNotificationContext = createContext<\n (notification: NotificationPayload) => void\n>(() => {});\n","import { createContext, Dispatch, SetStateAction } from 'react';\n\nimport { NotificationPayload } from './types';\n\nexport type NotificationContextType = {\n notifications: NotificationPayload[];\n addNotification: (notification: NotificationPayload) => void;\n takeNotification: () => NotificationPayload | void;\n resetNotifications: () => void;\n setNotifications: Dispatch<SetStateAction<NotificationPayload[]>>;\n};\n\n/**\n * Context for the notification state and modifiers\n *\n * @example // display notifications\n * import { useNotificationContext } from 'react-admin';\n *\n * const App = () => {\n * const { notifications } = useNotificationContext();\n * return (\n * <ul>\n * {notifications.map(({ message }) => (\n * <li key={index}>{ message }</li>\n * ))}\n * </ul>\n * );\n * };\n *\n * @example // reset notifications\n * import { useNotificationContext } from 'react-admin';\n *\n * const ResetNotificationsButton = () => {\n * const { resetNotifications } = useNotificationContext();\n * return (\n * <button onClick={() => resetNotifications()}>Reset notifications</button>\n * );\n * };\n */\nexport const NotificationContext = createContext<NotificationContextType>({\n notifications: [],\n addNotification: () => {},\n takeNotification: () => {},\n resetNotifications: () => {},\n setNotifications: () => {},\n});\n","import * as React from 'react';\nimport { useState, useCallback, useMemo } from 'react';\n\nimport { NotificationPayload } from './types';\nimport { NotificationContext } from './NotificationContext';\nimport { AddNotificationContext } from './AddNotificationContext';\n\nexport const NotificationContextProvider = ({ children }) => {\n const [notifications, setNotifications] = useState<NotificationPayload[]>(\n []\n );\n\n const addNotification = useCallback((notification: NotificationPayload) => {\n setNotifications(notifications => [...notifications, notification]);\n }, []);\n\n const takeNotification = useCallback(() => {\n if (notifications.length === 0) return;\n const [notification, ...rest] = notifications;\n setNotifications(rest);\n return notification;\n }, [notifications]);\n\n const resetNotifications = useCallback(() => {\n setNotifications([]);\n }, []);\n\n const contextValue = useMemo(\n () => ({\n notifications,\n addNotification,\n takeNotification,\n resetNotifications,\n setNotifications,\n }),\n [notifications] // eslint-disable-line react-hooks/exhaustive-deps\n );\n\n // we separate the addNotification context to avoid rerendering all components\n // that depend on useNotify when a notification is dispatched\n return (\n <NotificationContext.Provider value={contextValue}>\n <AddNotificationContext.Provider value={addNotification}>\n {children}\n </AddNotificationContext.Provider>\n </NotificationContext.Provider>\n );\n};\n","import { useContext } from 'react';\nimport { AddNotificationContext } from './AddNotificationContext';\n\nexport const useAddNotificationContext = () =>\n useContext(AddNotificationContext);\n","import { useContext } from 'react';\nimport { NotificationContext } from './NotificationContext';\n\nexport const useNotificationContext = () => useContext(NotificationContext);\n","import { useCallback, ReactNode } from 'react';\n\nimport { useAddNotificationContext } from './useAddNotificationContext';\nimport { NotificationType, NotificationOptions } from './types';\n\n/**\n * Hook for Notification Side Effect\n *\n * @example\n *\n * const notify = useNotify();\n * // simple message (info level)\n * notify('Level complete');\n * // specify level\n * notify('A problem occurred', { type: 'error' })\n * // pass arguments to the translation function\n * notify('Deleted %{count} elements', { type: 'info', messageArgs: { smart_count: 23 } })\n * // show the action as undoable in the notification\n * notify('Post renamed', { type: 'info', undoable: true })\n */\nexport const useNotify = () => {\n const addNotification = useAddNotificationContext();\n return useCallback(\n (\n message: string | ReactNode,\n options: NotificationOptions & { type?: NotificationType } = {}\n ) => {\n const { type: messageType = 'info', ...notificationOptions } =\n options;\n addNotification({\n message,\n type: messageType,\n notificationOptions,\n });\n },\n [addNotification]\n );\n};\n","import * as React from 'react';\nimport { useEffect, useState, ReactNode } from 'react';\n\nimport { I18nContext } from './I18nContext';\nimport { useStore } from '../store/useStore';\nimport { useNotify } from '../notification';\nimport { I18nProvider } from '../types';\n\n/**\n * Store the i18nProvider in a context, and rerender children when the locale changes\n */\nexport const I18nContextProvider = ({\n value = defaulti18nContext,\n children,\n}: I18nContextProviderProps) => {\n const [locale] = useStore('locale');\n const notify = useNotify();\n const [key, setKey] = useState(0);\n // to avoid blinking effect, delay first render if the user has a non-default locale\n const [isInitialized, setInitialized] = useState(\n locale === value.getLocale()\n );\n\n // watch store for locale changes\n useEffect(() => {\n if (locale && value.getLocale() !== locale) {\n new Promise(resolve => {\n // so we systematically return a Promise for the messages\n // i18nProvider may return a Promise for language changes,\n resolve(value.changeLocale(locale));\n })\n .then(() => {\n // Force full page re-render.\n // This is slow on locale change, but it's a good way\n // to avoid having one subscription to the locale\n // for each call to translate()\n setKey(key => key + 1);\n setInitialized(true);\n })\n .catch(error => {\n setInitialized(true);\n notify('ra.notification.i18n_error', { type: 'error' });\n console.error(error);\n });\n } else {\n setInitialized(true);\n }\n }, [value, locale, notify]);\n\n return isInitialized ? (\n <I18nContext.Provider value={value} key={key}>\n {children}\n </I18nContext.Provider>\n ) : null;\n};\n\nexport interface I18nContextProviderProps {\n value?: I18nProvider;\n children: ReactNode;\n}\n\nconst defaulti18nContext = {\n translate: x => x,\n changeLocale: () => Promise.resolve(),\n getLocale: () => 'en',\n};\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignMergeValue;\n","/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n","var createBaseFor = require('./_createBaseFor');\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n","var root = require('./_root');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\nmodule.exports = cloneBuffer;\n","var Uint8Array = require('./_Uint8Array');\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\nmodule.exports = cloneArrayBuffer;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\nmodule.exports = cloneTypedArray;\n","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = copyArray;\n","var isObject = require('./isObject');\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\nmodule.exports = baseCreate;\n","var overArg = require('./_overArg');\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nmodule.exports = getPrototype;\n","var baseCreate = require('./_baseCreate'),\n getPrototype = require('./_getPrototype'),\n isPrototype = require('./_isPrototype');\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\nmodule.exports = initCloneObject;\n","var isArrayLike = require('./isArrayLike'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\nmodule.exports = isArrayLikeObject;\n","var baseGetTag = require('./_baseGetTag'),\n getPrototype = require('./_getPrototype'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nmodule.exports = isPlainObject;\n","/**\n * Gets the value at `key`, unless `key` is \"__proto__\" or \"constructor\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction safeGet(object, key) {\n if (key === 'constructor' && typeof object[key] === 'function') {\n return;\n }\n\n if (key == '__proto__') {\n return;\n }\n\n return object[key];\n}\n\nmodule.exports = safeGet;\n","var assignValue = require('./_assignValue'),\n baseAssignValue = require('./_baseAssignValue');\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nmodule.exports = copyObject;\n","/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = nativeKeysIn;\n","var isObject = require('./isObject'),\n isPrototype = require('./_isPrototype'),\n nativeKeysIn = require('./_nativeKeysIn');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeysIn;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeysIn = require('./_baseKeysIn'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nmodule.exports = keysIn;\n","var copyObject = require('./_copyObject'),\n keysIn = require('./keysIn');\n\n/**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\nfunction toPlainObject(value) {\n return copyObject(value, keysIn(value));\n}\n\nmodule.exports = toPlainObject;\n","var assignMergeValue = require('./_assignMergeValue'),\n cloneBuffer = require('./_cloneBuffer'),\n cloneTypedArray = require('./_cloneTypedArray'),\n copyArray = require('./_copyArray'),\n initCloneObject = require('./_initCloneObject'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isArrayLikeObject = require('./isArrayLikeObject'),\n isBuffer = require('./isBuffer'),\n isFunction = require('./isFunction'),\n isObject = require('./isObject'),\n isPlainObject = require('./isPlainObject'),\n isTypedArray = require('./isTypedArray'),\n safeGet = require('./_safeGet'),\n toPlainObject = require('./toPlainObject');\n\n/**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = safeGet(object, key),\n srcValue = safeGet(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = isArray(srcValue),\n isBuff = !isArr && isBuffer(srcValue),\n isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (isArray(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n }\n else if (isBuff) {\n isCommon = false;\n newValue = cloneBuffer(srcValue, true);\n }\n else if (isTyped) {\n isCommon = false;\n newValue = cloneTypedArray(srcValue, true);\n }\n else {\n newValue = [];\n }\n }\n else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n newValue = objValue;\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n }\n else if (!isObject(objValue) || isFunction(objValue)) {\n newValue = initCloneObject(srcValue);\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n assignMergeValue(object, key, newValue);\n}\n\nmodule.exports = baseMergeDeep;\n","var Stack = require('./_Stack'),\n assignMergeValue = require('./_assignMergeValue'),\n baseFor = require('./_baseFor'),\n baseMergeDeep = require('./_baseMergeDeep'),\n isObject = require('./isObject'),\n keysIn = require('./keysIn'),\n safeGet = require('./_safeGet');\n\n/**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n baseFor(source, function(srcValue, key) {\n stack || (stack = new Stack);\n if (isObject(srcValue)) {\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n }, keysIn);\n}\n\nmodule.exports = baseMerge;\n","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n","/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\nmodule.exports = apply;\n","var apply = require('./_apply');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\nmodule.exports = overRest;\n","/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\nmodule.exports = constant;\n","var constant = require('./constant'),\n defineProperty = require('./_defineProperty'),\n identity = require('./identity');\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n};\n\nmodule.exports = baseSetToString;\n","/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeNow = Date.now;\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\nmodule.exports = shortOut;\n","var baseSetToString = require('./_baseSetToString'),\n shortOut = require('./_shortOut');\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\nmodule.exports = setToString;\n","var identity = require('./identity'),\n overRest = require('./_overRest'),\n setToString = require('./_setToString');\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\nmodule.exports = baseRest;\n","var eq = require('./eq'),\n isArrayLike = require('./isArrayLike'),\n isIndex = require('./_isIndex'),\n isObject = require('./isObject');\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n","var baseRest = require('./_baseRest'),\n isIterateeCall = require('./_isIterateeCall');\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\nmodule.exports = createAssigner;\n","var baseMerge = require('./_baseMerge'),\n createAssigner = require('./_createAssigner');\n\n/**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n * 'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n * 'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\nvar merge = createAssigner(function(object, source, srcIndex) {\n baseMerge(object, source, srcIndex);\n});\n\nmodule.exports = merge;\n","import { useContext } from 'react';\n\nimport { I18nContext } from './I18nContext';\n\n/**\n * Get the i18nProvider instance declared in the <Admin> component\n *\n * @example\n *\n * const CurrentLanguage = () => {\n * const i18nProvider = useI18nProvider();\n * const locale = i18nProvider.getLocale();\n * return <span>{locale}</span>;\n * };\n */\nexport const useI18nProvider = () => useContext(I18nContext);\n","import { useMemo } from 'react';\nimport { useI18nProvider } from './useI18nProvider';\nimport { useStore } from '../store/useStore';\n\n/**\n * Get the current locale and the ability to change it\n *\n * @example\n *\n * import { useLocaleState } from 'react-admin';\n *\n * const availableLanguages = {\n * en: 'English',\n * fr: 'Français',\n * }\n * const LocaleSwitcher = () => {\n * const [locale, setLocale] = useLocaleState();\n * return (\n * <div>\n * <div>Language</div>\n * <Button disabled={locale === 'fr'} onClick={() => setLocale('fr')}>\n * English\n * </Button>\n * <Button disabled={locale === 'en'} onClick={() => setLocale('en')}>\n * French\n * </Button>\n * </div>\n * );\n * };\n */\nexport const useLocaleState = () => {\n const i18nProvider = useI18nProvider();\n const defaultLocale = useMemo(\n () => i18nProvider.getLocale(),\n [i18nProvider]\n );\n return useStore<string>('locale', defaultLocale);\n};\n","import { useLocaleState } from './useLocaleState';\n\n/**\n * Get the current locale\n *\n * @example\n *\n * import { useLocale } from 'react-admin';\n *\n * const availableLanguages = {\n * en: 'English',\n * fr: 'Français',\n * }\n * const CurrentLanguage = () => {\n * const locale = useLocale();\n * return <span>{availableLanguages[locale]}</span>;\n * }\n */\nexport const useLocale = () => {\n const [locale] = useLocaleState();\n return locale;\n};\n","import { useMemo } from 'react';\nimport { useI18nProvider } from './useI18nProvider';\n\n/**\n * A hook that gets the available locales from the i18nProvider.\n * @example\n *\n * import { useLocales } from 'react-admin';\n *\n * const LocaleSelector = () => {\n * const locales = useLocales();\n * const [currentLocale, setCurrentLocale] = useLocaleState();\n *\n * return (\n * <select onChange={event => setCurrentLocale(event.target.value)}>\n * {locales.map(locale => (\n * <option key={locale.locale} value={locale.locale}>\n * {locale.name}\n * </option>\n * )}\n * </select>\n * );\n * }\n */\nexport const useLocales = (options?: UseLocalesOptions) => {\n const i18nProvider = useI18nProvider();\n const locales = useMemo(\n () => (i18nProvider?.getLocales ? i18nProvider?.getLocales() : []),\n [i18nProvider]\n );\n return options?.locales ?? locales;\n};\n\nexport interface UseLocalesOptions {\n locales?: { locale: string; name: string }[];\n}\n","/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\n","var copyObject = require('./_copyObject'),\n keys = require('./keys');\n\n/**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n","var copyObject = require('./_copyObject'),\n keysIn = require('./keysIn');\n\n/**\n * The base implementation of `_.assignIn` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssignIn(object, source) {\n return object && copyObject(source, keysIn(source), object);\n}\n\nmodule.exports = baseAssignIn;\n","var copyObject = require('./_copyObject'),\n getSymbols = require('./_getSymbols');\n\n/**\n * Copies own symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbols(source, object) {\n return copyObject(source, getSymbols(source), object);\n}\n\nmodule.exports = copySymbols;\n","var arrayPush = require('./_arrayPush'),\n getPrototype = require('./_getPrototype'),\n getSymbols = require('./_getSymbols'),\n stubArray = require('./stubArray');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own and inherited enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {\n var result = [];\n while (object) {\n arrayPush(result, getSymbols(object));\n object = getPrototype(object);\n }\n return result;\n};\n\nmodule.exports = getSymbolsIn;\n","var copyObject = require('./_copyObject'),\n getSymbolsIn = require('./_getSymbolsIn');\n\n/**\n * Copies own and inherited symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbolsIn(source, object) {\n return copyObject(source, getSymbolsIn(source), object);\n}\n\nmodule.exports = copySymbolsIn;\n","var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbolsIn = require('./_getSymbolsIn'),\n keysIn = require('./keysIn');\n\n/**\n * Creates an array of own and inherited enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeysIn(object) {\n return baseGetAllKeys(object, keysIn, getSymbolsIn);\n}\n\nmodule.exports = getAllKeysIn;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\nfunction cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n}\n\nmodule.exports = cloneDataView;\n","/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\nfunction cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n}\n\nmodule.exports = cloneRegExp;\n","var Symbol = require('./_Symbol');\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\nfunction cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n}\n\nmodule.exports = cloneSymbol;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer'),\n cloneDataView = require('./_cloneDataView'),\n cloneRegExp = require('./_cloneRegExp'),\n cloneSymbol = require('./_cloneSymbol'),\n cloneTypedArray = require('./_cloneTypedArray');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return cloneArrayBuffer(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case dataViewTag:\n return cloneDataView(object, isDeep);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n return cloneTypedArray(object, isDeep);\n\n case mapTag:\n return new Ctor;\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n return cloneRegExp(object);\n\n case setTag:\n return new Ctor;\n\n case symbolTag:\n return cloneSymbol(object);\n }\n}\n\nmodule.exports = initCloneByTag;\n","var getTag = require('./_getTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]';\n\n/**\n * The base implementation of `_.isMap` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n */\nfunction baseIsMap(value) {\n return isObjectLike(value) && getTag(value) == mapTag;\n}\n\nmodule.exports = baseIsMap;\n","var baseIsMap = require('./_baseIsMap'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsMap = nodeUtil && nodeUtil.isMap;\n\n/**\n * Checks if `value` is classified as a `Map` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n * @example\n *\n * _.isMap(new Map);\n * // => true\n *\n * _.isMap(new WeakMap);\n * // => false\n */\nvar isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;\n\nmodule.exports = isMap;\n","var getTag = require('./_getTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar setTag = '[object Set]';\n\n/**\n * The base implementation of `_.isSet` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n */\nfunction baseIsSet(value) {\n return isObjectLike(value) && getTag(value) == setTag;\n}\n\nmodule.exports = baseIsSet;\n","var baseIsSet = require('./_baseIsSet'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsSet = nodeUtil && nodeUtil.isSet;\n\n/**\n * Checks if `value` is classified as a `Set` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n * @example\n *\n * _.isSet(new Set);\n * // => true\n *\n * _.isSet(new WeakSet);\n * // => false\n */\nvar isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;\n\nmodule.exports = isSet;\n","var Stack = require('./_Stack'),\n arrayEach = require('./_arrayEach'),\n assignValue = require('./_assignValue'),\n baseAssign = require('./_baseAssign'),\n baseAssignIn = require('./_baseAssignIn'),\n cloneBuffer = require('./_cloneBuffer'),\n copyArray = require('./_copyArray'),\n copySymbols = require('./_copySymbols'),\n copySymbolsIn = require('./_copySymbolsIn'),\n getAllKeys = require('./_getAllKeys'),\n getAllKeysIn = require('./_getAllKeysIn'),\n getTag = require('./_getTag'),\n initCloneArray = require('./_initCloneArray'),\n initCloneByTag = require('./_initCloneByTag'),\n initCloneObject = require('./_initCloneObject'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isMap = require('./isMap'),\n isObject = require('./isObject'),\n isSet = require('./isSet'),\n keys = require('./keys'),\n keysIn = require('./keysIn');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_FLAT_FLAG = 2,\n CLONE_SYMBOLS_FLAG = 4;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\ncloneableTags[boolTag] = cloneableTags[dateTag] =\ncloneableTags[float32Tag] = cloneableTags[float64Tag] =\ncloneableTags[int8Tag] = cloneableTags[int16Tag] =\ncloneableTags[int32Tag] = cloneableTags[mapTag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[setTag] =\ncloneableTags[stringTag] = cloneableTags[symbolTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Deep clone\n * 2 - Flatten inherited properties\n * 4 - Clone symbols\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, bitmask, customizer, key, object, stack) {\n var result,\n isDeep = bitmask & CLONE_DEEP_FLAG,\n isFlat = bitmask & CLONE_FLAT_FLAG,\n isFull = bitmask & CLONE_SYMBOLS_FLAG;\n\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return copyArray(value, result);\n }\n } else {\n var tag = getTag(value),\n isFunc = tag == funcTag || tag == genTag;\n\n if (isBuffer(value)) {\n return cloneBuffer(value, isDeep);\n }\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = (isFlat || isFunc) ? {} : initCloneObject(value);\n if (!isDeep) {\n return isFlat\n ? copySymbolsIn(value, baseAssignIn(result, value))\n : copySymbols(value, baseAssign(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = initCloneByTag(value, tag, isDeep);\n }\n }\n // Check for circular references and return its corresponding clone.\n stack || (stack = new Stack);\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n\n if (isSet(value)) {\n value.forEach(function(subValue) {\n result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));\n });\n } else if (isMap(value)) {\n value.forEach(function(subValue, key) {\n result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n }\n\n var keysFunc = isFull\n ? (isFlat ? getAllKeysIn : getAllKeys)\n : (isFlat ? keysIn : keys);\n\n var props = isArr ? undefined : keysFunc(value);\n arrayEach(props || value, function(subValue, key) {\n if (props) {\n key = subValue;\n subValue = value[key];\n }\n // Recursively populate clone (susceptible to call stack limits).\n assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n return result;\n}\n\nmodule.exports = baseClone;\n","var baseClone = require('./_baseClone');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * This method is like `_.clone` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @returns {*} Returns the deep cloned value.\n * @see _.clone\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var deep = _.cloneDeep(objects);\n * console.log(deep[0] === objects[0]);\n * // => false\n */\nfunction cloneDeep(value) {\n return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);\n}\n\nmodule.exports = cloneDeep;\n","import { useCallback } from 'react';\n\nimport { Translate } from '../types';\nimport { useI18nProvider } from './useI18nProvider';\n\n/**\n * Translate a string using the current locale and the translations from the i18nProvider\n *\n * @see Polyglot.t()\n * @link https://airbnb.io/polyglot.js/#polyglotprototypetkey-interpolationoptions\n *\n * @return {Function} A translation function, accepting two arguments\n * - a string used as key in the translations\n * - an interpolationOptions object\n *\n * @example\n *\n * import { useTranslate } from 'react-admin';\n *\n * const SettingsMenu = () => {\n * const translate = useTranslate();\n * return <MenuItem>{translate('settings')}</MenuItem>;\n * }\n */\nexport const useTranslate = (): Translate => {\n const i18nProvider = useI18nProvider();\n const translate = useCallback(\n (key: string, options?: any) =>\n i18nProvider.translate(key, options) as string,\n // update the hook each time the locale changes\n [i18nProvider] // eslint-disable-line react-hooks/exhaustive-deps\n );\n return i18nProvider ? translate : identity;\n};\n\nconst identity = key => key;\n","import { createContext } from 'react';\n\nexport const BasenameContext = createContext('');\n","import * as React from 'react';\nimport { BasenameContext } from './BasenameContext';\n\n/**\n * Set the string to append to all links to the admin app.\n *\n * Useful when the app is mounted on a sub path, e.g. '/admin'.\n * Used internally by the `<Admin>` component.\n *\n * @see useBasename\n */\nexport const BasenameContextProvider = ({ children, basename }) => (\n <BasenameContext.Provider value={basename}>\n {children}\n </BasenameContext.Provider>\n);\n","import * as React from 'react';\nimport { ReactNode } from 'react';\nimport {\n useInRouterContext,\n createHashRouter,\n RouterProvider,\n} from 'react-router-dom';\n\nimport { BasenameContextProvider } from './BasenameContextProvider';\n\n/**\n * Creates a react-router Router unless the app is already inside existing router.\n * Also creates a BasenameContext with the basename prop\n */\nexport const AdminRouter = ({ basename = '', children }: AdminRouterProps) => {\n const isInRouter = useInRouterContext();\n const Router = isInRouter ? DummyRouter : InternalRouter;\n\n return (\n <BasenameContextProvider basename={isInRouter ? basename : ''}>\n <Router basename={basename}>{children}</Router>\n </BasenameContextProvider>\n );\n};\n\nexport interface AdminRouterProps {\n basename?: string;\n children: React.ReactNode;\n}\n\nconst DummyRouter = ({\n children,\n}: {\n children: ReactNode;\n basename?: string;\n}) => <>{children}</>;\n\nconst InternalRouter = ({\n children,\n basename,\n}: {\n children: ReactNode;\n basename?: string;\n}) => {\n const router = createHashRouter([{ path: '*', element: <>{children}</> }], {\n basename,\n });\n return <RouterProvider router={router} />;\n};\n","var root = require('./_root');\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nmodule.exports = now;\n","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nmodule.exports = trimmedEndIndex;\n","var trimmedEndIndex = require('./_trimmedEndIndex');\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nmodule.exports = baseTrim;\n","var baseTrim = require('./_baseTrim'),\n isObject = require('./isObject'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n","var isObject = require('./isObject'),\n now = require('./now'),\n toNumber = require('./toNumber');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nmodule.exports = debounce;\n","import { useEffect } from 'react';\nimport { useLocation } from 'react-router';\nimport debounce from 'lodash/debounce';\n\nimport { useStore } from '../store';\n\n/**\n * A hook that tracks the scroll position and restores it when the component mounts.\n * @param storeKey The key under which to store the scroll position in the store\n * @param debounceMs The debounce time in milliseconds\n *\n * @example\n * import { useRestoreScrollPosition } from 'ra-core';\n *\n * const MyCustomPage = () => {\n * useRestoreScrollPosition('my-list');\n *\n * return (\n * <div>\n * <h1>My Custom Page</h1>\n * <VeryLongContent />\n * </div>\n * );\n * };\n */\nexport const useRestoreScrollPosition = (\n storeKey: string,\n debounceMs = 250\n) => {\n const [position, setPosition] = useTrackScrollPosition(\n storeKey,\n debounceMs\n );\n const location = useLocation();\n\n useEffect(() => {\n if (position != null && location.state?._scrollToTop !== true) {\n setPosition(undefined);\n window.scrollTo(0, position);\n }\n // We only want to run this effect on mount\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n};\n\n/**\n * A hook that tracks the scroll position and stores it.\n * @param storeKey The key under which to store the scroll position in the store\n * @param debounceMs The debounce time in milliseconds\n *\n * @example\n * import { useTrackScrollPosition } from 'ra-core';\n *\n * const MyCustomPage = () => {\n * useTrackScrollPosition('my-list');\n *\n * return (\n * <div>\n * <h1>My Custom Page</h1>\n * <VeryLongContent />\n * </div>\n * );\n * };\n */\nexport const useTrackScrollPosition = (storeKey: string, debounceMs = 250) => {\n const [position, setPosition] = useStore(storeKey);\n\n useEffect(() => {\n if (typeof window === 'undefined') {\n return;\n }\n const handleScroll = debounce(() => {\n setPosition(window.scrollY);\n }, debounceMs);\n\n window.addEventListener('scroll', handleScroll);\n\n return () => {\n window.removeEventListener('scroll', handleScroll);\n };\n }, [debounceMs, setPosition]);\n\n return [position, setPosition];\n};\n","import { ReactNode } from 'react';\nimport { useRestoreScrollPosition } from './useRestoreScrollPosition';\n\n/**\n * A component that tracks the scroll position and restores it when the component mounts.\n * @param children The content to render\n * @param key The key under which to store the scroll position in the store\n * @param debounceMs The debounce time in milliseconds\n *\n * @example\n * import { RestoreScrollPosition } from 'ra-core';\n *\n * const MyCustomPage = () => {\n * <RestoreScrollPosition key=\"my-list\">\n * <div>\n * <h1>My Custom Page</h1>\n * <VeryLongContent />\n * </div>\n * </RestoreScrollPosition>\n * };\n */\nexport const RestoreScrollPosition = ({\n children,\n storeKey,\n debounce = 250,\n}: {\n storeKey: string;\n debounce?: number;\n children: ReactNode;\n}) => {\n useRestoreScrollPosition(storeKey, debounce);\n return children;\n};\n","import { useContext } from 'react';\n\nimport { BasenameContext } from './BasenameContext';\n\n/**\n * Get the string to append to all links to the admin app.\n *\n * Useful when the app is mounted on a sub path, e.g. '/admin'.\n *\n * This hook is used internally by all react-admin components that\n * contain a link, and requires that the basename is set via the\n * `<BasenameContextProvider>` component (or via the `<Admin>` component,\n * which calls BasenameContextProvider internally).\n *\n * @see BasenameContextProvider\n *\n * @example\n * import { useBasename } from 'react-admin';\n *\n * const ArticleLink = ({ title, id }) => {\n * const basename = useBasename();\n * return <a href={`${basename}/articles/${id}`}>{title}</a>;\n * };\n */\nexport const useBasename = () => useContext(BasenameContext);\n","import { useCallback } from 'react';\n\nimport { Identifier } from '../types';\nimport { useBasename } from './useBasename';\n\n/**\n * Get a callback to create a link to a given page in the admin app.\n *\n * The callback expects an object as parameter, containing the following properties:\n * - type: 'list', 'edit', 'show' or 'create'\n * - resource\n * - id (optional), for 'edit' or 'show' pages\n *\n * This is used internally by react-admin to allow default components to work\n * in applications that are mounted on a sub path, e.g. '/admin'. If your app\n * is mounted in the root path, you don't need it, and you can create links by\n * hand, e.g. '/articles/1/show'.\n *\n * @example\n * import { useCreatePath, useRecordContext } from 'react-admin';\n * import { useNavigate } from 'react-router-dom';\n *\n * const PostEditButton = () => {\n * const createPath = useCreatePath();\n * const record = useRecordContext();\n * const navigate = useNavigate();\n *\n * const handleClick = () => {\n * const link = createPath({\n * type: 'edit',\n * resource: 'posts',\n * id: record.id\n * });\n * navigate(link);\n * };\n *\n * return <button onClick={handleClick}>Edit Post</button>;\n * };\n */\nexport const useCreatePath = () => {\n const basename = useBasename();\n return useCallback(\n ({ resource, id, type }: CreatePathParams): string => {\n if (\n ['list', 'create', 'edit', 'show'].includes(type) &&\n !resource\n ) {\n throw new Error(\n 'Cannot create a link without a resource. You must provide the resource name.'\n );\n }\n switch (type) {\n case 'list':\n return removeDoubleSlashes(`${basename}/${resource}`);\n case 'create':\n return removeDoubleSlashes(\n `${basename}/${resource}/create`\n );\n case 'edit': {\n if (id == null) {\n // maybe the id isn't defined yet\n // instead of throwing an error, fallback to list link\n return removeDoubleSlashes(`${basename}/${resource}`);\n }\n return removeDoubleSlashes(\n `${basename}/${resource}/${encodeURIComponent(id)}`\n );\n }\n case 'show': {\n if (id == null) {\n // maybe the id isn't defined yet\n // instead of throwing an error, fallback to list link\n return removeDoubleSlashes(`${basename}/${resource}`);\n }\n return removeDoubleSlashes(\n `${basename}/${resource}/${encodeURIComponent(id)}/show`\n );\n }\n default:\n return type;\n }\n },\n [basename]\n );\n};\n\ntype AnyString = string & {};\nexport type CreatePathType = 'list' | 'edit' | 'show' | 'create' | AnyString;\n\nexport interface CreatePathParams {\n type: CreatePathType;\n resource?: string;\n id?: Identifier;\n}\n\nexport const removeDoubleSlashes = (path: string) => path.replace('//', '/');\n","import { useCallback } from 'react';\nimport { useNavigate, To } from 'react-router-dom';\nimport { Identifier, RaRecord } from '../types';\n\nimport { useBasename } from './useBasename';\nimport { CreatePathType, useCreatePath } from './useCreatePath';\n\ntype RedirectToFunction = (\n resource?: string,\n id?: Identifier,\n data?: Partial<RaRecord>,\n state?: object\n) => To;\n\nexport type RedirectionSideEffect = CreatePathType | false | RedirectToFunction;\n\n/**\n * Hook for Redirection Side Effect\n *\n * @example\n *\n * const redirect = useRedirect();\n * // redirect to list view\n * redirect('list', 'posts');\n * // redirect to edit view\n * redirect('edit', 'posts', 123);\n * // redirect to edit view with state data\n * redirect('edit', 'comments', 123, {}, { record: { post_id: record.id } });\n * // do not redirect\n * redirect(false);\n * // redirect to the result of a function\n * redirect((resource, id, data) => ...)\n */\nexport const useRedirect = () => {\n const navigate = useNavigate();\n const basename = useBasename();\n const createPath = useCreatePath();\n\n return useCallback(\n (\n redirectTo: RedirectionSideEffect,\n resource: string = '',\n id?: Identifier,\n data?: Partial<RaRecord>,\n state: object = {}\n ) => {\n if (!redirectTo) {\n return;\n } else if (typeof redirectTo === 'function') {\n const target: To = redirectTo(resource, id, data);\n const absoluteTarget =\n typeof target === 'string'\n ? `${basename}/${target}`\n : {\n pathname: `${basename}/${target.pathname}`,\n ...target,\n };\n navigate(absoluteTarget, {\n state: { _scrollToTop: true, ...state },\n });\n return;\n } else if (\n typeof redirectTo === 'string' &&\n redirectTo.startsWith('http') &&\n window\n ) {\n // redirection to an absolute url\n // history doesn't handle that case, so we handle it by hand\n window.location.href = redirectTo;\n return;\n } else {\n // redirection to an internal link\n navigate(createPath({ resource, id, type: redirectTo }), {\n state:\n // We force the scrollToTop except when navigating to a list\n // where this is already done by <RestoreScrollPosition> in <Resource>\n redirectTo === 'list'\n ? state\n : { _scrollToTop: true, ...state },\n });\n return;\n }\n },\n [navigate, basename, createPath]\n );\n};\n","import { useEffect, useRef } from 'react';\nimport { useLocation } from 'react-router';\n\n/**\n * A hook to use inside the component passed to FallbackComponent\n * of react-error-boundary. It resets the error boundary state whenever\n * the location changes\n * @param {Function} resetErrorBoundary\n */\nexport const useResetErrorBoundaryOnLocationChange = (\n resetErrorBoundary: () => void\n) => {\n const { pathname } = useLocation();\n const originalPathname = useRef(pathname);\n\n useEffect(() => {\n if (pathname !== originalPathname.current) {\n resetErrorBoundary();\n }\n }, [pathname, resetErrorBoundary]);\n};\n","import { useEffect } from 'react';\nimport { useLocation } from 'react-router-dom';\n\n/**\n * Scroll the window to top when the target location contains the _scrollToTop state\n *\n * @see CoreAdminRouter where it's enabled by default\n *\n * @example // usage in buttons\n * import { Link } from 'react-router-dom';\n * import { Button } from '@mui/material';\n *\n * const FooButton = () => (\n * <Button\n * component={Link}\n * to={{\n * pathname: '/foo',\n * state: { _scrollToTop: true },\n * }}\n * >\n * Go to foo\n * </Button>\n * );\n */\nexport const useScrollToTop = () => {\n const location = useLocation();\n useEffect(() => {\n if (\n (location.state as any)?._scrollToTop &&\n typeof window != 'undefined' &&\n typeof window.scrollTo === 'function'\n ) {\n window.scrollTo(0, 0);\n }\n }, [location]);\n};\n","export const GET_LIST = 'GET_LIST';\nexport const GET_ONE = 'GET_ONE';\nexport const GET_MANY = 'GET_MANY';\nexport const GET_MANY_REFERENCE = 'GET_MANY_REFERENCE';\nexport const CREATE = 'CREATE';\nexport const UPDATE = 'UPDATE';\nexport const UPDATE_MANY = 'UPDATE_MANY';\nexport const DELETE = 'DELETE';\nexport const DELETE_MANY = 'DELETE_MANY';\n\nexport const fetchActionsWithRecordResponse = ['getOne', 'create', 'update'];\nexport const fetchActionsWithArrayOfIdentifiedRecordsResponse = [\n 'getList',\n 'getMany',\n 'getManyReference',\n];\nexport const fetchActionsWithArrayOfRecordsResponse = [\n ...fetchActionsWithArrayOfIdentifiedRecordsResponse,\n 'updateMany',\n 'deleteMany',\n];\nexport const fetchActionsWithTotalResponse = ['getList', 'getManyReference'];\n\nexport const reactAdminFetchActions = [\n ...fetchActionsWithRecordResponse,\n ...fetchActionsWithArrayOfRecordsResponse,\n];\n\nexport const sanitizeFetchType = (fetchType: string) => {\n switch (fetchType) {\n case GET_LIST:\n return 'getList';\n case GET_ONE:\n return 'getOne';\n case GET_MANY:\n return 'getMany';\n case GET_MANY_REFERENCE:\n return 'getManyReference';\n case CREATE:\n return 'create';\n case UPDATE:\n return 'update';\n case UPDATE_MANY:\n return 'updateMany';\n case DELETE:\n return 'delete';\n case DELETE_MANY:\n return 'deleteMany';\n default:\n return fetchType;\n }\n};\n","import { DataProvider } from '../types';\n\n// avoids adding a context in tests\nexport const defaultDataProvider: DataProvider = {\n create: async () => {\n throw new Error('create is not implemented');\n },\n delete: async () => {\n throw new Error('delete not implemented');\n },\n deleteMany: async () => {\n throw new Error('deleteMany is not implemented');\n },\n getList: async () => {\n throw new Error('getList is not implemented');\n },\n getMany: async () => {\n throw new Error('getMany is not implemented');\n },\n getManyReference: async () => {\n throw new Error('getManyReference is not implemented');\n },\n getOne: async () => {\n throw new Error('getOne is not implemented');\n },\n update: async () => {\n throw new Error('update not implemented');\n },\n updateMany: async () => {\n throw new Error('updateMany not implemented');\n },\n};\n","import {\n CREATE,\n DELETE,\n DELETE_MANY,\n GET_LIST,\n GET_MANY,\n GET_MANY_REFERENCE,\n GET_ONE,\n UPDATE,\n UPDATE_MANY,\n} from './dataFetchActions';\nimport { LegacyDataProvider, DataProvider } from '../types';\nimport { defaultDataProvider } from './defaultDataProvider';\n\nconst fetchMap = {\n create: CREATE,\n delete: DELETE,\n deleteMany: DELETE_MANY,\n getList: GET_LIST,\n getMany: GET_MANY,\n getManyReference: GET_MANY_REFERENCE,\n getOne: GET_ONE,\n update: UPDATE,\n updateMany: UPDATE_MANY,\n};\n\n/**\n * Turn a function-based dataProvider to an object-based one\n *\n * Allows using legacy dataProviders transparently.\n *\n * @param {Function} legacyDataProvider A legacy dataProvider (type, resource, params) => Promise<any>\n *\n * @returns {Object} A dataProvider that react-admin can use\n */\nconst convertLegacyDataProvider = (\n legacyDataProvider: LegacyDataProvider\n): DataProvider => {\n const proxy = new Proxy(defaultDataProvider, {\n get(_, name) {\n return (resource, params) => {\n if (Object.keys(fetchMap).includes(name.toString())) {\n const fetchType = fetchMap[name.toString()];\n return legacyDataProvider(fetchType, resource, params);\n }\n\n return legacyDataProvider(name.toString(), resource, params);\n };\n },\n apply(_, __, args) {\n return legacyDataProvider.apply(legacyDataProvider, args);\n },\n });\n\n return proxy;\n};\n\nexport default convertLegacyDataProvider;\n","import { createContext } from 'react';\n\nimport { DataProvider } from '../types';\n\nconst DataProviderContext = createContext<DataProvider | null>(null);\n\nDataProviderContext.displayName = 'DataProviderContext';\n\nexport default DataProviderContext;\n","class HttpError extends Error {\n constructor(\n public readonly message,\n public readonly status,\n public readonly body: any = null\n ) {\n super(message);\n Object.setPrototypeOf(this, HttpError.prototype);\n this.name = this.constructor.name;\n if (typeof Error.captureStackTrace === 'function') {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = new Error(message).stack;\n }\n this.stack = new Error().stack;\n }\n}\n\nexport default HttpError;\n","'use strict';\nmodule.exports = str => encodeURIComponent(str).replace(/[!'()*]/g, x => `%${x.charCodeAt(0).toString(16).toUpperCase()}`);\n","'use strict';\nvar token = '%[a-f0-9]{2}';\nvar singleMatcher = new RegExp('(' + token + ')|([^%]+?)', 'gi');\nvar multiMatcher = new RegExp('(' + token + ')+', 'gi');\n\nfunction decodeComponents(components, split) {\n\ttry {\n\t\t// Try to decode the entire string first\n\t\treturn [decodeURIComponent(components.join(''))];\n\t} catch (err) {\n\t\t// Do nothing\n\t}\n\n\tif (components.length === 1) {\n\t\treturn components;\n\t}\n\n\tsplit = split || 1;\n\n\t// Split the array in 2 parts\n\tvar left = components.slice(0, split);\n\tvar right = components.slice(split);\n\n\treturn Array.prototype.concat.call([], decodeComponents(left), decodeComponents(right));\n}\n\nfunction decode(input) {\n\ttry {\n\t\treturn decodeURIComponent(input);\n\t} catch (err) {\n\t\tvar tokens = input.match(singleMatcher) || [];\n\n\t\tfor (var i = 1; i < tokens.length; i++) {\n\t\t\tinput = decodeComponents(tokens, i).join('');\n\n\t\t\ttokens = input.match(singleMatcher) || [];\n\t\t}\n\n\t\treturn input;\n\t}\n}\n\nfunction customDecodeURIComponent(input) {\n\t// Keep track of all the replacements and prefill the map with the `BOM`\n\tvar replaceMap = {\n\t\t'%FE%FF': '\\uFFFD\\uFFFD',\n\t\t'%FF%FE': '\\uFFFD\\uFFFD'\n\t};\n\n\tvar match = multiMatcher.exec(input);\n\twhile (match) {\n\t\ttry {\n\t\t\t// Decode as big chunks as possible\n\t\t\treplaceMap[match[0]] = decodeURIComponent(match[0]);\n\t\t} catch (err) {\n\t\t\tvar result = decode(match[0]);\n\n\t\t\tif (result !== match[0]) {\n\t\t\t\treplaceMap[match[0]] = result;\n\t\t\t}\n\t\t}\n\n\t\tmatch = multiMatcher.exec(input);\n\t}\n\n\t// Add `%C2` at the end of the map to make sure it does not replace the combinator before everything else\n\treplaceMap['%C2'] = '\\uFFFD';\n\n\tvar entries = Object.keys(replaceMap);\n\n\tfor (var i = 0; i < entries.length; i++) {\n\t\t// Replace all decoded components\n\t\tvar key = entries[i];\n\t\tinput = input.replace(new RegExp(key, 'g'), replaceMap[key]);\n\t}\n\n\treturn input;\n}\n\nmodule.exports = function (encodedURI) {\n\tif (typeof encodedURI !== 'string') {\n\t\tthrow new TypeError('Expected `encodedURI` to be of type `string`, got `' + typeof encodedURI + '`');\n\t}\n\n\ttry {\n\t\tencodedURI = encodedURI.replace(/\\+/g, ' ');\n\n\t\t// Try the built in decoder first\n\t\treturn decodeURIComponent(encodedURI);\n\t} catch (err) {\n\t\t// Fallback to a more advanced decoder\n\t\treturn customDecodeURIComponent(encodedURI);\n\t}\n};\n","'use strict';\n\nmodule.exports = (string, separator) => {\n\tif (!(typeof string === 'string' && typeof separator === 'string')) {\n\t\tthrow new TypeError('Expected the arguments to be of type `string`');\n\t}\n\n\tif (separator === '') {\n\t\treturn [string];\n\t}\n\n\tconst separatorIndex = string.indexOf(separator);\n\n\tif (separatorIndex === -1) {\n\t\treturn [string];\n\t}\n\n\treturn [\n\t\tstring.slice(0, separatorIndex),\n\t\tstring.slice(separatorIndex + separator.length)\n\t];\n};\n","'use strict';\nmodule.exports = function (obj, predicate) {\n\tvar ret = {};\n\tvar keys = Object.keys(obj);\n\tvar isArr = Array.isArray(predicate);\n\n\tfor (var i = 0; i < keys.length; i++) {\n\t\tvar key = keys[i];\n\t\tvar val = obj[key];\n\n\t\tif (isArr ? predicate.indexOf(key) !== -1 : predicate(key, val, obj)) {\n\t\t\tret[key] = val;\n\t\t}\n\t}\n\n\treturn ret;\n};\n","'use strict';\nconst strictUriEncode = require('strict-uri-encode');\nconst decodeComponent = require('decode-uri-component');\nconst splitOnFirst = require('split-on-first');\nconst filterObject = require('filter-obj');\n\nconst isNullOrUndefined = value => value === null || value === undefined;\n\nconst encodeFragmentIdentifier = Symbol('encodeFragmentIdentifier');\n\nfunction encoderForArrayFormat(options) {\n\tswitch (options.arrayFormat) {\n\t\tcase 'index':\n\t\t\treturn key => (result, value) => {\n\t\t\t\tconst index = result.length;\n\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [...result, [encode(key, options), '[', index, ']'].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\t...result,\n\t\t\t\t\t[encode(key, options), '[', encode(index, options), ']=', encode(value, options)].join('')\n\t\t\t\t];\n\t\t\t};\n\n\t\tcase 'bracket':\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [...result, [encode(key, options), '[]'].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [...result, [encode(key, options), '[]=', encode(value, options)].join('')];\n\t\t\t};\n\n\t\tcase 'colon-list-separator':\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [...result, [encode(key, options), ':list='].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [...result, [encode(key, options), ':list=', encode(value, options)].join('')];\n\t\t\t};\n\n\t\tcase 'comma':\n\t\tcase 'separator':\n\t\tcase 'bracket-separator': {\n\t\t\tconst keyValueSep = options.arrayFormat === 'bracket-separator' ?\n\t\t\t\t'[]=' :\n\t\t\t\t'=';\n\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\t// Translate null to an empty string so that it doesn't serialize as 'null'\n\t\t\t\tvalue = value === null ? '' : value;\n\n\t\t\t\tif (result.length === 0) {\n\t\t\t\t\treturn [[encode(key, options), keyValueSep, encode(value, options)].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [[result, encode(value, options)].join(options.arrayFormatSeparator)];\n\t\t\t};\n\t\t}\n\n\t\tdefault:\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [...result, encode(key, options)];\n\t\t\t\t}\n\n\t\t\t\treturn [...result, [encode(key, options), '=', encode(value, options)].join('')];\n\t\t\t};\n\t}\n}\n\nfunction parserForArrayFormat(options) {\n\tlet result;\n\n\tswitch (options.arrayFormat) {\n\t\tcase 'index':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /\\[(\\d*)\\]$/.exec(key);\n\n\t\t\t\tkey = key.replace(/\\[\\d*\\]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = {};\n\t\t\t\t}\n\n\t\t\t\taccumulator[key][result[1]] = value;\n\t\t\t};\n\n\t\tcase 'bracket':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /(\\[\\])$/.exec(key);\n\t\t\t\tkey = key.replace(/\\[\\]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = [value];\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [].concat(accumulator[key], value);\n\t\t\t};\n\n\t\tcase 'colon-list-separator':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /(:list)$/.exec(key);\n\t\t\t\tkey = key.replace(/:list$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = [value];\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [].concat(accumulator[key], value);\n\t\t\t};\n\n\t\tcase 'comma':\n\t\tcase 'separator':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tconst isArray = typeof value === 'string' && value.includes(options.arrayFormatSeparator);\n\t\t\t\tconst isEncodedArray = (typeof value === 'string' && !isArray && decode(value, options).includes(options.arrayFormatSeparator));\n\t\t\t\tvalue = isEncodedArray ? decode(value, options) : value;\n\t\t\t\tconst newValue = isArray || isEncodedArray ? value.split(options.arrayFormatSeparator).map(item => decode(item, options)) : value === null ? value : decode(value, options);\n\t\t\t\taccumulator[key] = newValue;\n\t\t\t};\n\n\t\tcase 'bracket-separator':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tconst isArray = /(\\[\\])$/.test(key);\n\t\t\t\tkey = key.replace(/\\[\\]$/, '');\n\n\t\t\t\tif (!isArray) {\n\t\t\t\t\taccumulator[key] = value ? decode(value, options) : value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst arrayValue = value === null ?\n\t\t\t\t\t[] :\n\t\t\t\t\tvalue.split(options.arrayFormatSeparator).map(item => decode(item, options));\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = arrayValue;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [].concat(accumulator[key], arrayValue);\n\t\t\t};\n\n\t\tdefault:\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [].concat(accumulator[key], value);\n\t\t\t};\n\t}\n}\n\nfunction validateArrayFormatSeparator(value) {\n\tif (typeof value !== 'string' || value.length !== 1) {\n\t\tthrow new TypeError('arrayFormatSeparator must be single character string');\n\t}\n}\n\nfunction encode(value, options) {\n\tif (options.encode) {\n\t\treturn options.strict ? strictUriEncode(value) : encodeURIComponent(value);\n\t}\n\n\treturn value;\n}\n\nfunction decode(value, options) {\n\tif (options.decode) {\n\t\treturn decodeComponent(value);\n\t}\n\n\treturn value;\n}\n\nfunction keysSorter(input) {\n\tif (Array.isArray(input)) {\n\t\treturn input.sort();\n\t}\n\n\tif (typeof input === 'object') {\n\t\treturn keysSorter(Object.keys(input))\n\t\t\t.sort((a, b) => Number(a) - Number(b))\n\t\t\t.map(key => input[key]);\n\t}\n\n\treturn input;\n}\n\nfunction removeHash(input) {\n\tconst hashStart = input.indexOf('#');\n\tif (hashStart !== -1) {\n\t\tinput = input.slice(0, hashStart);\n\t}\n\n\treturn input;\n}\n\nfunction getHash(url) {\n\tlet hash = '';\n\tconst hashStart = url.indexOf('#');\n\tif (hashStart !== -1) {\n\t\thash = url.slice(hashStart);\n\t}\n\n\treturn hash;\n}\n\nfunction extract(input) {\n\tinput = removeHash(input);\n\tconst queryStart = input.indexOf('?');\n\tif (queryStart === -1) {\n\t\treturn '';\n\t}\n\n\treturn input.slice(queryStart + 1);\n}\n\nfunction parseValue(value, options) {\n\tif (options.parseNumbers && !Number.isNaN(Number(value)) && (typeof value === 'string' && value.trim() !== '')) {\n\t\tvalue = Number(value);\n\t} else if (options.parseBooleans && value !== null && (value.toLowerCase() === 'true' || value.toLowerCase() === 'false')) {\n\t\tvalue = value.toLowerCase() === 'true';\n\t}\n\n\treturn value;\n}\n\nfunction parse(query, options) {\n\toptions = Object.assign({\n\t\tdecode: true,\n\t\tsort: true,\n\t\tarrayFormat: 'none',\n\t\tarrayFormatSeparator: ',',\n\t\tparseNumbers: false,\n\t\tparseBooleans: false\n\t}, options);\n\n\tvalidateArrayFormatSeparator(options.arrayFormatSeparator);\n\n\tconst formatter = parserForArrayFormat(options);\n\n\t// Create an object with no prototype\n\tconst ret = Object.create(null);\n\n\tif (typeof query !== 'string') {\n\t\treturn ret;\n\t}\n\n\tquery = query.trim().replace(/^[?#&]/, '');\n\n\tif (!query) {\n\t\treturn ret;\n\t}\n\n\tfor (const param of query.split('&')) {\n\t\tif (param === '') {\n\t\t\tcontinue;\n\t\t}\n\n\t\tlet [key, value] = splitOnFirst(options.decode ? param.replace(/\\+/g, ' ') : param, '=');\n\n\t\t// Missing `=` should be `null`:\n\t\t// http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters\n\t\tvalue = value === undefined ? null : ['comma', 'separator', 'bracket-separator'].includes(options.arrayFormat) ? value : decode(value, options);\n\t\tformatter(decode(key, options), value, ret);\n\t}\n\n\tfor (const key of Object.keys(ret)) {\n\t\tconst value = ret[key];\n\t\tif (typeof value === 'object' && value !== null) {\n\t\t\tfor (const k of Object.keys(value)) {\n\t\t\t\tvalue[k] = parseValue(value[k], options);\n\t\t\t}\n\t\t} else {\n\t\t\tret[key] = parseValue(value, options);\n\t\t}\n\t}\n\n\tif (options.sort === false) {\n\t\treturn ret;\n\t}\n\n\treturn (options.sort === true ? Object.keys(ret).sort() : Object.keys(ret).sort(options.sort)).reduce((result, key) => {\n\t\tconst value = ret[key];\n\t\tif (Boolean(value) && typeof value === 'object' && !Array.isArray(value)) {\n\t\t\t// Sort object keys, not values\n\t\t\tresult[key] = keysSorter(value);\n\t\t} else {\n\t\t\tresult[key] = value;\n\t\t}\n\n\t\treturn result;\n\t}, Object.create(null));\n}\n\nexports.extract = extract;\nexports.parse = parse;\n\nexports.stringify = (object, options) => {\n\tif (!object) {\n\t\treturn '';\n\t}\n\n\toptions = Object.assign({\n\t\tencode: true,\n\t\tstrict: true,\n\t\tarrayFormat: 'none',\n\t\tarrayFormatSeparator: ','\n\t}, options);\n\n\tvalidateArrayFormatSeparator(options.arrayFormatSeparator);\n\n\tconst shouldFilter = key => (\n\t\t(options.skipNull && isNullOrUndefined(object[key])) ||\n\t\t(options.skipEmptyString && object[key] === '')\n\t);\n\n\tconst formatter = encoderForArrayFormat(options);\n\n\tconst objectCopy = {};\n\n\tfor (const key of Object.keys(object)) {\n\t\tif (!shouldFilter(key)) {\n\t\t\tobjectCopy[key] = object[key];\n\t\t}\n\t}\n\n\tconst keys = Object.keys(objectCopy);\n\n\tif (options.sort !== false) {\n\t\tkeys.sort(options.sort);\n\t}\n\n\treturn keys.map(key => {\n\t\tconst value = object[key];\n\n\t\tif (value === undefined) {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (value === null) {\n\t\t\treturn encode(key, options);\n\t\t}\n\n\t\tif (Array.isArray(value)) {\n\t\t\tif (value.length === 0 && options.arrayFormat === 'bracket-separator') {\n\t\t\t\treturn encode(key, options) + '[]';\n\t\t\t}\n\n\t\t\treturn value\n\t\t\t\t.reduce(formatter(key), [])\n\t\t\t\t.join('&');\n\t\t}\n\n\t\treturn encode(key, options) + '=' + encode(value, options);\n\t}).filter(x => x.length > 0).join('&');\n};\n\nexports.parseUrl = (url, options) => {\n\toptions = Object.assign({\n\t\tdecode: true\n\t}, options);\n\n\tconst [url_, hash] = splitOnFirst(url, '#');\n\n\treturn Object.assign(\n\t\t{\n\t\t\turl: url_.split('?')[0] || '',\n\t\t\tquery: parse(extract(url), options)\n\t\t},\n\t\toptions && options.parseFragmentIdentifier && hash ? {fragmentIdentifier: decode(hash, options)} : {}\n\t);\n};\n\nexports.stringifyUrl = (object, options) => {\n\toptions = Object.assign({\n\t\tencode: true,\n\t\tstrict: true,\n\t\t[encodeFragmentIdentifier]: true\n\t}, options);\n\n\tconst url = removeHash(object.url).split('?')[0] || '';\n\tconst queryFromUrl = exports.extract(object.url);\n\tconst parsedQueryFromUrl = exports.parse(queryFromUrl, {sort: false});\n\n\tconst query = Object.assign(parsedQueryFromUrl, object.query);\n\tlet queryString = exports.stringify(query, options);\n\tif (queryString) {\n\t\tqueryString = `?${queryString}`;\n\t}\n\n\tlet hash = getHash(object.url);\n\tif (object.fragmentIdentifier) {\n\t\thash = `#${options[encodeFragmentIdentifier] ? encode(object.fragmentIdentifier, options) : object.fragmentIdentifier}`;\n\t}\n\n\treturn `${url}${queryString}${hash}`;\n};\n\nexports.pick = (input, filter, options) => {\n\toptions = Object.assign({\n\t\tparseFragmentIdentifier: true,\n\t\t[encodeFragmentIdentifier]: false\n\t}, options);\n\n\tconst {url, query, fragmentIdentifier} = exports.parseUrl(input, options);\n\treturn exports.stringifyUrl({\n\t\turl,\n\t\tquery: filterObject(query, filter),\n\t\tfragmentIdentifier\n\t}, options);\n};\n\nexports.exclude = (input, filter, options) => {\n\tconst exclusionFilter = Array.isArray(filter) ? key => !filter.includes(key) : (key, value) => !filter(key, value);\n\n\treturn exports.pick(input, exclusionFilter, options);\n};\n","import HttpError from './HttpError';\nimport { stringify } from 'query-string';\n\nexport interface Options extends RequestInit {\n user?: {\n authenticated?: boolean;\n token?: string;\n };\n}\n\nexport const createHeadersFromOptions = (options: Options): Headers => {\n const requestHeaders = (options.headers ||\n new Headers({\n Accept: 'application/json',\n })) as Headers;\n const hasBody = options && options.body;\n const isContentTypeSet = requestHeaders.has('Content-Type');\n const isGetMethod = !options?.method || options?.method === 'GET';\n const isFormData = options?.body instanceof FormData;\n\n const shouldSetContentType =\n hasBody && !isContentTypeSet && !isGetMethod && !isFormData;\n if (shouldSetContentType) {\n requestHeaders.set('Content-Type', 'application/json');\n }\n\n if (options.user && options.user.authenticated && options.user.token) {\n requestHeaders.set('Authorization', options.user.token);\n }\n\n return requestHeaders;\n};\n\n/**\n * Utility function to make HTTP calls. It's similar to the HTML5 `fetch()`, except it handles JSON decoding and HTTP error codes automatically.\n *\n * @param url the URL to call\n * @param options the options to pass to the HTTP call\n * @param options.user the user object, used for the Authorization header\n * @param options.user.token the token to pass as the Authorization header\n * @param options.user.authenticated whether the user is authenticated or not (the Authorization header will be set only if this is true)\n * @param options.headers the headers to pass to the HTTP call\n *\n * @returns {Promise} the Promise for a response object containing the following properties:\n * - status: the HTTP status code\n * - headers: the HTTP headers\n * - body: the response body\n * - json: the response body parsed as JSON\n */\nexport const fetchJson = (url, options: Options = {}) => {\n const requestHeaders = createHeadersFromOptions(options);\n\n return fetch(url, { ...options, headers: requestHeaders })\n .then(response =>\n response.text().then(text => ({\n status: response.status,\n statusText: response.statusText,\n headers: response.headers,\n body: text,\n }))\n )\n .then(({ status, statusText, headers, body }) => {\n let json;\n try {\n json = JSON.parse(body);\n } catch (e) {\n // not json, no big deal\n }\n if (status < 200 || status >= 300) {\n return Promise.reject(\n new HttpError(\n (json && json.message) || statusText,\n status,\n json\n )\n );\n }\n return Promise.resolve({ status, headers, body, json });\n });\n};\n\nexport const queryParameters = stringify;\n\nconst isValidObject = value => {\n if (!value) {\n return false;\n }\n\n const isArray = Array.isArray(value);\n const isBuffer = typeof Buffer !== 'undefined' && Buffer.isBuffer(value);\n const isObject =\n Object.prototype.toString.call(value) === '[object Object]';\n const hasKeys = !!Object.keys(value).length;\n\n return !isArray && !isBuffer && isObject && hasKeys;\n};\n\nexport const flattenObject = (value: any, path: string[] = []) => {\n if (isValidObject(value)) {\n return Object.assign(\n {},\n ...Object.keys(value).map(key =>\n flattenObject(value[key], path.concat([key]))\n )\n );\n } else {\n return path.length ? { [path.join('.')]: value } : value;\n }\n};\n","'use strict';\n\nvar has = Object.prototype.hasOwnProperty\n , prefix = '~';\n\n/**\n * Constructor to create a storage for our `EE` objects.\n * An `Events` instance is a plain object whose properties are event names.\n *\n * @constructor\n * @private\n */\nfunction Events() {}\n\n//\n// We try to not inherit from `Object.prototype`. In some engines creating an\n// instance in this way is faster than calling `Object.create(null)` directly.\n// If `Object.create(null)` is not supported we prefix the event names with a\n// character to make sure that the built-in object properties are not\n// overridden or used as an attack vector.\n//\nif (Object.create) {\n Events.prototype = Object.create(null);\n\n //\n // This hack is needed because the `__proto__` property is still inherited in\n // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n //\n if (!new Events().__proto__) prefix = false;\n}\n\n/**\n * Representation of a single event listener.\n *\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n * @constructor\n * @private\n */\nfunction EE(fn, context, once) {\n this.fn = fn;\n this.context = context;\n this.once = once || false;\n}\n\n/**\n * Add a listener for a given event.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} once Specify if the listener is a one-time listener.\n * @returns {EventEmitter}\n * @private\n */\nfunction addListener(emitter, event, fn, context, once) {\n if (typeof fn !== 'function') {\n throw new TypeError('The listener must be a function');\n }\n\n var listener = new EE(fn, context || emitter, once)\n , evt = prefix ? prefix + event : event;\n\n if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;\n else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);\n else emitter._events[evt] = [emitter._events[evt], listener];\n\n return emitter;\n}\n\n/**\n * Clear event by name.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} evt The Event name.\n * @private\n */\nfunction clearEvent(emitter, evt) {\n if (--emitter._eventsCount === 0) emitter._events = new Events();\n else delete emitter._events[evt];\n}\n\n/**\n * Minimal `EventEmitter` interface that is molded against the Node.js\n * `EventEmitter` interface.\n *\n * @constructor\n * @public\n */\nfunction EventEmitter() {\n this._events = new Events();\n this._eventsCount = 0;\n}\n\n/**\n * Return an array listing the events for which the emitter has registered\n * listeners.\n *\n * @returns {Array}\n * @public\n */\nEventEmitter.prototype.eventNames = function eventNames() {\n var names = []\n , events\n , name;\n\n if (this._eventsCount === 0) return names;\n\n for (name in (events = this._events)) {\n if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n }\n\n if (Object.getOwnPropertySymbols) {\n return names.concat(Object.getOwnPropertySymbols(events));\n }\n\n return names;\n};\n\n/**\n * Return the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Array} The registered listeners.\n * @public\n */\nEventEmitter.prototype.listeners = function listeners(event) {\n var evt = prefix ? prefix + event : event\n , handlers = this._events[evt];\n\n if (!handlers) return [];\n if (handlers.fn) return [handlers.fn];\n\n for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {\n ee[i] = handlers[i].fn;\n }\n\n return ee;\n};\n\n/**\n * Return the number of listeners listening to a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Number} The number of listeners.\n * @public\n */\nEventEmitter.prototype.listenerCount = function listenerCount(event) {\n var evt = prefix ? prefix + event : event\n , listeners = this._events[evt];\n\n if (!listeners) return 0;\n if (listeners.fn) return 1;\n return listeners.length;\n};\n\n/**\n * Calls each of the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Boolean} `true` if the event had listeners, else `false`.\n * @public\n */\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return false;\n\n var listeners = this._events[evt]\n , len = arguments.length\n , args\n , i;\n\n if (listeners.fn) {\n if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n switch (len) {\n case 1: return listeners.fn.call(listeners.context), true;\n case 2: return listeners.fn.call(listeners.context, a1), true;\n case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n }\n\n for (i = 1, args = new Array(len -1); i < len; i++) {\n args[i - 1] = arguments[i];\n }\n\n listeners.fn.apply(listeners.context, args);\n } else {\n var length = listeners.length\n , j;\n\n for (i = 0; i < length; i++) {\n if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n switch (len) {\n case 1: listeners[i].fn.call(listeners[i].context); break;\n case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;\n default:\n if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\n args[j - 1] = arguments[j];\n }\n\n listeners[i].fn.apply(listeners[i].context, args);\n }\n }\n }\n\n return true;\n};\n\n/**\n * Add a listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.on = function on(event, fn, context) {\n return addListener(this, event, fn, context, false);\n};\n\n/**\n * Add a one-time listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.once = function once(event, fn, context) {\n return addListener(this, event, fn, context, true);\n};\n\n/**\n * Remove the listeners of a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn Only remove the listeners that match this function.\n * @param {*} context Only remove the listeners that have this context.\n * @param {Boolean} once Only remove one-time listeners.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return this;\n if (!fn) {\n clearEvent(this, evt);\n return this;\n }\n\n var listeners = this._events[evt];\n\n if (listeners.fn) {\n if (\n listeners.fn === fn &&\n (!once || listeners.once) &&\n (!context || listeners.context === context)\n ) {\n clearEvent(this, evt);\n }\n } else {\n for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n if (\n listeners[i].fn !== fn ||\n (once && !listeners[i].once) ||\n (context && listeners[i].context !== context)\n ) {\n events.push(listeners[i]);\n }\n }\n\n //\n // Reset the array, or remove it completely if we have no more listeners.\n //\n if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\n else clearEvent(this, evt);\n }\n\n return this;\n};\n\n/**\n * Remove all listeners, or those of the specified event.\n *\n * @param {(String|Symbol)} [event] The event name.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n var evt;\n\n if (event) {\n evt = prefix ? prefix + event : event;\n if (this._events[evt]) clearEvent(this, evt);\n } else {\n this._events = new Events();\n this._eventsCount = 0;\n }\n\n return this;\n};\n\n//\n// Alias methods names because people roll like that.\n//\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n//\n// Expose the prefix.\n//\nEventEmitter.prefixed = prefix;\n\n//\n// Allow `EventEmitter` to be imported as module namespace.\n//\nEventEmitter.EventEmitter = EventEmitter;\n\n//\n// Expose the module.\n//\nif ('undefined' !== typeof module) {\n module.exports = EventEmitter;\n}\n","import EventEmitter from 'eventemitter3';\n\nexport default new EventEmitter();\n","import {\n CreateParams,\n CreateResult,\n DataProvider,\n DeleteManyParams,\n DeleteManyResult,\n DeleteParams,\n DeleteResult,\n GetListParams,\n GetListResult,\n GetManyParams,\n GetManyReferenceParams,\n GetManyReferenceResult,\n GetManyResult,\n GetOneParams,\n GetOneResult,\n RaRecord,\n UpdateManyParams,\n UpdateManyResult,\n UpdateParams,\n UpdateResult,\n} from '../types';\n\n/**\n * Extend a dataProvider to execute callbacks before and after read and write calls.\n *\n * @param {DataProvider} dataProvider The dataProvider to wrap\n * @param {ResourceCallbacks[]} handlers An array of ResourceCallbacks\n *\n * @typedef {Object} ResourceCallbacks\n * @property {string} resource The resource name\n * @property {AfterCreate} [afterCreate] A callback (or array of callbacks) executed after create\n * @property {AfterDelete} [afterDelete] A callback (or array of callbacks) executed after delete\n * @property {AfterDeleteMany} [afterDeleteMany] A callback (or array of callbacks) executed after deleteMany\n * @property {AfterGetList} [afterGetList] A callback (or array of callbacks) executed after getList\n * @property {AfterGetMany} [afterGetMany] A callback (or array of callbacks) executed after getMany\n * @property {AfterGetManyReference} [afterGetManyReference] A callback (or array of callbacks) executed after getManyReference\n * @property {AfterGetOne} [afterGetOne] A callback (or array of callbacks) executed after getOne\n * @property {AfterRead} [afterRead] A callback (or array of callbacks) executed after read (getList, getMany, getManyReference, getOne)\n * @property {AfterSave} [afterSave] A callback (or array of callbacks) executed after save (create, update, updateMany)\n * @property {AfterUpdate} [afterUpdate] A callback (or array of callbacks) executed after update\n * @property {AfterUpdateMany} [afterUpdateMany] A callback (or array of callbacks) executed after updateMany\n * @property {BeforeCreate} [beforeCreate] A callback (or array of callbacks) executed before create\n * @property {BeforeDelete} [beforeDelete] A callback (or array of callbacks) executed before delete\n * @property {BeforeDeleteMany} [beforeDeleteMany] A callback (or array of callbacks) executed before deleteMany\n * @property {BeforeGetList} [beforeGetList] A callback (or array of callbacks) executed before getList\n * @property {BeforeGetMany} [beforeGetMany] A callback (or array of callbacks) executed before getMany\n * @property {BeforeGetManyReference} [beforeGetManyReference] A callback (or array of callbacks) executed before getManyReference\n * @property {BeforeGetOne} [beforeGetOne] A callback (or array of callbacks) executed before getOne\n * @property {BeforeSave} [beforeSave] A callback (or array of callbacks) executed before save (create, update, updateMany)\n * @property {BeforeUpdate} [beforeUpdate] A callback (or array of callbacks) executed before update\n * @property {BeforeUpdateMany} [beforeUpdateMany] A callback (or array of callbacks) executed before updateMany\n *\n * Warnings:\n * - As queries issued in the callbacks are not done through react-query,\n * any change in the data will not be automatically reflected in the UI.\n * - The callbacks are not executed in a transaction. In case of error,\n * the backend may be left in an inconsistent state.\n * - When calling the API directly using fetch or another client,\n * the callbacks will not be executed, leaving the backend in a possibly inconsistent state.\n * - If a callback triggers the query it's listening to, this will lead to a infinite loop.\n *\n * @example\n *\n * const dataProvider = withLifecycleCallbacks(\n * jsonServerProvider(\"http://localhost:3000\"),\n * [\n * {\n * resource: \"posts\",\n * afterRead: async (data, dataProvider, resource) => {\n * // rename field to the record\n * data.user_id = data.userId;\n * return data;\n * },\n * // executed after create, update and updateMany\n * afterSave: async (record, dataProvider, resource) => {\n * // update the author's nb_posts\n * const { total } = await dataProvider.getList(\"users\", {\n * filter: { id: record.user_id },\n * pagination: { page: 1, perPage: 1 },\n * });\n * await dataProvider.update(\"users\", {\n * id: user.id,\n * data: { nb_posts: total },\n * previousData: user,\n * });\n * return record;\n * },\n * beforeDelete: async (params, dataProvider, resource) => {\n * // delete all comments linked to the post\n * const { data: comments } = await dataProvider.getManyReference(\n * \"comments\",\n * {\n * target: \"post_id\",\n * id: params.id,\n * }\n * );\n * if (comments.length > 0) {\n * await dataProvider.deleteMany(\"comments\", {\n * ids: comments.map((comment) => comment.id),\n * });\n * }\n * // update the author's nb_posts\n * const { data: post } = await dataProvider.getOne(\"posts\", {\n * id: params.id,\n * });\n * const { total } = await dataProvider.getList(\"users\", {\n * filter: { id: post.user_id },\n * pagination: { page: 1, perPage: 1 },\n * });\n * await dataProvider.update(\"users\", {\n * id: user.id,\n * data: { nb_posts: total - 1 },\n * previousData: user,\n * });\n * return params;\n * },\n * },\n * ]\n * );\n */\nexport const withLifecycleCallbacks = (\n dataProvider: DataProvider,\n handlers: ResourceCallbacks[]\n): DataProvider => {\n return {\n ...dataProvider,\n\n getList: async function <RecordType extends RaRecord = any>(\n resource: string,\n params: GetListParams\n ) {\n let newParams = params;\n\n newParams = await applyCallbacks({\n name: 'beforeGetList',\n params: newParams,\n dataProvider,\n handlers,\n resource,\n });\n let result = await dataProvider.getList<RecordType>(\n resource,\n newParams\n );\n result = await applyCallbacks({\n name: 'afterGetList',\n params: result,\n dataProvider,\n handlers,\n resource,\n });\n result.data = await Promise.all(\n result.data.map(record =>\n applyCallbacks({\n name: 'afterRead',\n params: record,\n dataProvider,\n handlers,\n resource,\n })\n )\n );\n\n return result;\n },\n\n getOne: async function <RecordType extends RaRecord = any>(\n resource: string,\n params: GetOneParams<RecordType>\n ) {\n let newParams = params;\n\n newParams = await applyCallbacks({\n name: 'beforeGetOne',\n params: newParams,\n dataProvider,\n handlers,\n resource,\n });\n let result = await dataProvider.getOne<RecordType>(\n resource,\n newParams\n );\n result = await applyCallbacks({\n name: 'afterGetOne',\n params: result,\n dataProvider,\n handlers,\n resource,\n });\n result.data = await applyCallbacks({\n name: 'afterRead',\n params: result.data,\n dataProvider,\n handlers,\n resource,\n });\n\n return result;\n },\n\n getMany: async function <RecordType extends RaRecord = any>(\n resource: string,\n params: GetManyParams\n ) {\n let newParams = params;\n\n newParams = await applyCallbacks({\n name: 'beforeGetMany',\n params: newParams,\n dataProvider,\n handlers,\n resource,\n });\n let result = await dataProvider.getMany<RecordType>(\n resource,\n newParams\n );\n result = await applyCallbacks({\n name: 'afterGetMany',\n params: result,\n dataProvider,\n handlers,\n resource,\n });\n result.data = await Promise.all(\n result.data.map(record =>\n applyCallbacks({\n name: 'afterRead',\n params: record,\n dataProvider,\n handlers,\n resource,\n })\n )\n );\n\n return result;\n },\n\n getManyReference: async function <RecordType extends RaRecord = any>(\n resource: string,\n params: GetManyReferenceParams\n ) {\n let newParams = params;\n\n newParams = await applyCallbacks({\n name: 'beforeGetManyReference',\n params: newParams,\n dataProvider,\n handlers,\n resource,\n });\n let result = await dataProvider.getManyReference<RecordType>(\n resource,\n newParams\n );\n result = await applyCallbacks({\n name: 'afterGetManyReference',\n params: result,\n dataProvider,\n handlers,\n resource,\n });\n result.data = await Promise.all(\n result.data.map(record =>\n applyCallbacks({\n name: 'afterRead',\n params: record,\n dataProvider,\n handlers,\n resource,\n })\n )\n );\n return result;\n },\n\n update: async function <RecordType extends RaRecord = any>(\n resource: string,\n params: UpdateParams<RecordType>\n ) {\n let newParams = params;\n\n newParams = await applyCallbacks({\n name: 'beforeUpdate',\n params: newParams,\n dataProvider,\n handlers,\n resource,\n });\n newParams.data = await applyCallbacks({\n name: 'beforeSave',\n params: newParams.data,\n dataProvider,\n handlers,\n resource,\n });\n let result = await dataProvider.update<RecordType>(\n resource,\n newParams\n );\n result = await applyCallbacks({\n name: 'afterUpdate',\n params: result,\n dataProvider,\n handlers,\n resource,\n });\n result.data = await applyCallbacks({\n name: 'afterSave',\n params: result.data,\n dataProvider,\n handlers,\n resource,\n });\n\n return result;\n },\n\n create: async function <RecordType extends RaRecord = any>(\n resource: string,\n params: CreateParams<RecordType>\n ) {\n let newParams = params;\n\n newParams = await applyCallbacks({\n name: 'beforeCreate',\n params: newParams,\n dataProvider,\n handlers,\n resource,\n });\n newParams.data = await applyCallbacks({\n name: 'beforeSave',\n params: newParams.data,\n dataProvider,\n handlers,\n resource,\n });\n let result = await dataProvider.create<RecordType>(\n resource,\n newParams\n );\n result = await applyCallbacks({\n name: 'afterCreate',\n params: result,\n dataProvider,\n handlers,\n resource,\n });\n result.data = await applyCallbacks({\n name: 'afterSave',\n params: result.data,\n dataProvider,\n handlers,\n resource,\n });\n\n return result;\n },\n\n delete: async function <RecordType extends RaRecord = any>(\n resource: string,\n params: DeleteParams<RecordType>\n ) {\n let newParams = params;\n\n newParams = await applyCallbacks({\n name: 'beforeDelete',\n params: newParams,\n dataProvider,\n handlers,\n resource,\n });\n let result = await dataProvider.delete<RecordType>(\n resource,\n newParams\n );\n result = await applyCallbacks({\n name: 'afterDelete',\n params: result,\n dataProvider,\n handlers,\n resource,\n });\n\n return result;\n },\n\n updateMany: async function <RecordType extends RaRecord = any>(\n resource: string,\n params: UpdateManyParams<RecordType>\n ) {\n let newParams = params;\n\n newParams = await applyCallbacks({\n name: 'beforeUpdateMany',\n params: newParams,\n dataProvider,\n handlers,\n resource,\n });\n\n newParams.data = await applyCallbacks({\n name: 'beforeSave',\n params: newParams.data,\n dataProvider,\n handlers,\n resource,\n });\n\n let result = await dataProvider.updateMany<RecordType>(\n resource,\n newParams\n );\n result = await applyCallbacks({\n name: 'afterUpdateMany',\n params: result,\n dataProvider,\n handlers,\n resource,\n });\n\n const afterSaveHandlers = handlers.filter(\n h =>\n (h.resource === resource || h.resource === '*') &&\n h.afterSave\n );\n\n if (afterSaveHandlers.length > 0) {\n const { data: records } = await dataProvider.getMany(resource, {\n //@ts-ignore\n ids: result.data,\n });\n await Promise.all(\n records.map(record =>\n applyCallbacks({\n name: 'afterSave',\n params: record,\n dataProvider,\n handlers,\n resource,\n })\n )\n );\n }\n\n return result;\n },\n\n deleteMany: async function <RecordType extends RaRecord = any>(\n resource: string,\n params: DeleteManyParams<RecordType>\n ) {\n let newParams = params;\n\n newParams = await applyCallbacks({\n name: 'beforeDeleteMany',\n params: newParams,\n dataProvider,\n handlers,\n resource,\n });\n let result = await dataProvider.deleteMany<RecordType>(\n resource,\n newParams\n );\n result = await applyCallbacks({\n name: 'afterDeleteMany',\n params: result,\n dataProvider,\n handlers,\n resource,\n });\n\n return result;\n },\n };\n};\n\n/**\n * Apply callbacks to the params for the given resource and hook\n * @param {DataProvider} dataProvider The dataProvider\n * @param {ResourceCallbacks[]} handlers An array of ResourceCallbacks\n * @param {string} resource The resource name\n * @param {string} hook The hook name (beforeGetList, afterGetOne, etc.)\n * @param {U} params The params / result to pass to the callbacks\n * @returns {Promise<U>} The params / result after the callbacks have been applied\n */\nexport const applyCallbacks = async function <U>({\n name,\n params,\n dataProvider,\n handlers,\n resource,\n}: {\n name: string;\n params: U;\n dataProvider: DataProvider;\n handlers: ResourceCallbacks[];\n resource: string;\n}): Promise<U> {\n let newParams = params;\n const handlersToApply = handlers.filter(\n h => (h.resource === resource || h.resource === '*') && h[name]\n );\n for (let handler of handlersToApply) {\n const callbacksValue: ResourceCallbacksValue<any> = handler[name];\n if (Array.isArray(callbacksValue)) {\n for (let callback of callbacksValue ?? []) {\n newParams = await callback(newParams, dataProvider, resource);\n }\n } else {\n newParams = await callbacksValue(newParams, dataProvider, resource);\n }\n }\n return newParams;\n};\n\nexport type ResourceCallback<U> = {\n (params: U, dataProvider: DataProvider, resource: string): Promise<U>;\n};\n\nexport type ResourceCallbacksValue<V> =\n | ResourceCallback<V>\n | ResourceCallback<V>[];\n\nexport type ResourceCallbacks<T extends RaRecord = any> = {\n resource: string;\n afterCreate?: ResourceCallbacksValue<CreateResult<T>>;\n afterDelete?: ResourceCallbacksValue<DeleteResult<T>>;\n afterDeleteMany?: ResourceCallbacksValue<DeleteManyResult<T>>;\n afterGetList?: ResourceCallbacksValue<GetListResult<T>>;\n afterGetMany?: ResourceCallbacksValue<GetManyResult<T>>;\n afterGetManyReference?: ResourceCallbacksValue<GetManyReferenceResult<T>>;\n afterGetOne?: ResourceCallbacksValue<GetOneResult<T>>;\n afterUpdate?: ResourceCallbacksValue<UpdateResult<T>>;\n afterUpdateMany?: ResourceCallbacksValue<UpdateManyResult<T>>;\n beforeCreate?: ResourceCallbacksValue<CreateParams<T>>;\n beforeDelete?: ResourceCallbacksValue<DeleteParams<T>>;\n beforeDeleteMany?: ResourceCallbacksValue<DeleteManyParams<T>>;\n beforeGetList?: ResourceCallbacksValue<GetListParams>;\n beforeGetMany?: ResourceCallbacksValue<GetManyParams>;\n beforeGetManyReference?: ResourceCallbacksValue<GetManyReferenceParams>;\n beforeGetOne?: ResourceCallbacksValue<GetOneParams<T>>;\n beforeUpdate?: ResourceCallbacksValue<UpdateParams<T>>;\n beforeUpdateMany?: ResourceCallbacksValue<UpdateManyParams<T>>;\n\n // The following hooks don't match a dataProvider method\n\n /**\n * Modify the data before it is sent to the dataProvider.\n *\n * Used in create, update, and updateMany\n *\n * Note: This callback doesn't modify the record itself, but the data argument\n * (which may be a diff, especially when called with updateMany).\n */\n beforeSave?: ResourceCallbacksValue<T>;\n /**\n * Update a record after it has been read from the dataProvider\n *\n * Used in getOne, getList, getMany, and getManyReference\n */\n afterRead?: ResourceCallbacksValue<T>;\n /**\n * Use the record after it is returned by the dataProvider.\n *\n * Used in create, update, and updateMany\n */\n afterSave?: ResourceCallbacksValue<T>;\n};\n","import { useCallback } from 'react';\n\nimport useAuthProvider from './useAuthProvider';\nimport useLogout from './useLogout';\nimport { useNotify } from '../notification';\nimport { useNavigate } from 'react-router';\n\nlet timer;\n\n/**\n * Returns a callback used to call the authProvider.checkError() method\n * and an error from the dataProvider. If the authProvider rejects the call,\n * the hook logs the user out and shows a logged out notification.\n *\n * Used in the useDataProvider hook to check for access denied responses\n * (e.g. 401 or 403 responses) and trigger a logout.\n *\n * @see useLogout\n * @see useDataProvider\n *\n * @returns {Function} logoutIfAccessDenied callback\n *\n * @example\n *\n * import { useLogoutIfAccessDenied, useNotify, DataProviderContext } from 'react-admin';\n *\n * const FetchRestrictedResource = () => {\n * const dataProvider = useContext(DataProviderContext);\n * const logoutIfAccessDenied = useLogoutIfAccessDenied();\n * const notify = useNotify()\n * useEffect(() => {\n * dataProvider.getOne('secret', { id: 123 })\n * .catch(error => {\n * logoutIfAccessDenied(error);\n * notify('server error', { type: 'error' });\n * })\n * }, []);\n * // ...\n * }\n */\nconst useLogoutIfAccessDenied = (): LogoutIfAccessDenied => {\n const authProvider = useAuthProvider();\n const logout = useLogout();\n const notify = useNotify();\n const navigate = useNavigate();\n const logoutIfAccessDenied = useCallback(\n (error?: any) => {\n if (!authProvider) {\n return logoutIfAccessDeniedWithoutProvider();\n }\n return authProvider\n .checkError(error)\n .then(() => false)\n .catch(async e => {\n const logoutUser = e?.logoutUser ?? true;\n //manual debounce\n if (timer) {\n // side effects already triggered in this tick, exit\n return true;\n }\n timer = setTimeout(() => {\n timer = undefined;\n }, 0);\n\n const redirectTo =\n e && e.redirectTo != null\n ? e.redirectTo\n : error && error.redirectTo\n ? error.redirectTo\n : undefined;\n\n const shouldNotify = !(\n (e && e.message === false) ||\n (error && error.message === false) ||\n redirectTo?.startsWith('http')\n );\n if (shouldNotify) {\n // notify only if not yet logged out\n authProvider\n .checkAuth({})\n .then(() => {\n if (logoutUser) {\n notify(\n getErrorMessage(\n e,\n 'ra.notification.logged_out'\n ),\n { type: 'error' }\n );\n } else {\n notify(\n getErrorMessage(\n e,\n 'ra.notification.not_authorized'\n ),\n { type: 'error' }\n );\n }\n })\n .catch(() => {});\n }\n\n if (logoutUser) {\n logout({}, redirectTo);\n } else {\n if (redirectTo.startsWith('http')) {\n // absolute link (e.g. https://my.oidc.server/login)\n window.location.href = redirectTo;\n } else {\n // internal location\n navigate(redirectTo);\n }\n }\n\n return true;\n });\n },\n [authProvider, logout, notify, navigate]\n );\n return logoutIfAccessDenied;\n};\n\nconst logoutIfAccessDeniedWithoutProvider = () => Promise.resolve(false);\n\n/**\n * Call the authProvider.authError() method, using the error passed as argument.\n * If the authProvider rejects the call, logs the user out and shows a logged out notification.\n *\n * @param {Error} error An Error object (usually returned by the dataProvider)\n *\n * @return {Promise} Resolved to true if there was a logout, false otherwise\n */\ntype LogoutIfAccessDenied = (error?: any) => Promise<boolean>;\n\nconst getErrorMessage = (error, defaultMessage) =>\n typeof error === 'string'\n ? error\n : typeof error === 'undefined' || !error.message\n ? defaultMessage\n : error.message;\n\nexport default useLogoutIfAccessDenied;\n","import { useContext, useMemo } from 'react';\n\nimport DataProviderContext from './DataProviderContext';\nimport { defaultDataProvider } from './defaultDataProvider';\nimport validateResponseFormat from './validateResponseFormat';\nimport { DataProvider } from '../types';\nimport useLogoutIfAccessDenied from '../auth/useLogoutIfAccessDenied';\nimport { reactAdminFetchActions } from './dataFetchActions';\n\n/**\n * Hook for getting a dataProvider\n *\n * Gets a dataProvider object, which behaves just like the real dataProvider\n * (same methods returning a Promise). But it's actually a Proxy object,\n * which validates the response format, and logs the user out upon error\n * if authProvider.checkError() rejects.\n *\n * @return dataProvider\n *\n * @example Basic usage\n *\n * import * as React from 'react';\n * import { useState } from 'react';\n * import { useDataProvider } from 'react-admin';\n *\n * const PostList = () => {\n * const [posts, setPosts] = useState([])\n * const dataProvider = useDataProvider();\n * useEffect(() => {\n * dataProvider.getList('posts', { filter: { status: 'pending' }})\n * .then(({ data }) => setPosts(data));\n * }, [])\n *\n * return (\n * <Fragment>\n * {posts.map((post, key) => <PostDetail post={post} key={key} />)}\n * </Fragment>\n * );\n * }\n *\n * @example Handling all states (loading, error, success)\n *\n * import { useState, useEffect } from 'react';\n * import { useDataProvider } from 'react-admin';\n *\n * const UserProfile = ({ userId }) => {\n * const dataProvider = useDataProvider();\n * const [user, setUser] = useState();\n * const [loading, setLoading] = useState(true);\n * const [error, setError] = useState();\n * useEffect(() => {\n * dataProvider.getOne('users', { id: userId })\n * .then(({ data }) => {\n * setUser(data);\n * setLoading(false);\n * })\n * .catch(error => {\n * setError(error);\n * setLoading(false);\n * })\n * }, []);\n *\n * if (loading) return <Loading />;\n * if (error) return <Error />\n * if (!user) return null;\n *\n * return (\n * <ul>\n * <li>Name: {user.name}</li>\n * <li>Email: {user.email}</li>\n * </ul>\n * )\n * }\n */\n\nconst arrayReturnTypes = ['getList', 'getMany', 'getManyReference'];\n\nexport const useDataProvider = <\n TDataProvider extends DataProvider = DataProvider,\n>(): TDataProvider => {\n const dataProvider = (useContext(DataProviderContext) ||\n defaultDataProvider) as unknown as TDataProvider;\n\n const logoutIfAccessDenied = useLogoutIfAccessDenied();\n\n const dataProviderProxy = useMemo(() => {\n return new Proxy(dataProvider, {\n get: (_, name) => {\n if (typeof name === 'symbol' || name === 'then') {\n return;\n }\n if (name === 'supportAbortSignal') {\n return dataProvider.supportAbortSignal;\n }\n return (...args) => {\n const type = name.toString();\n\n if (typeof dataProvider[type] !== 'function') {\n throw new Error(\n `Unknown dataProvider function: ${type}`\n );\n }\n\n try {\n return dataProvider[type]\n .apply(dataProvider, args)\n .then(response => {\n if (\n process.env.NODE_ENV !== 'production' &&\n reactAdminFetchActions.includes(type)\n ) {\n validateResponseFormat(response, type);\n }\n return response;\n })\n .catch(error => {\n if (\n process.env.NODE_ENV !== 'production' &&\n // do not log AbortErrors\n !isAbortError(error)\n ) {\n console.error(error);\n }\n return logoutIfAccessDenied(error).then(\n loggedOut => {\n if (loggedOut)\n return {\n data: arrayReturnTypes.includes(\n type\n )\n ? []\n : {},\n };\n throw error;\n }\n );\n });\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n console.error(e);\n }\n throw new Error(\n 'The dataProvider threw an error. It should return a rejected Promise instead.'\n );\n }\n };\n },\n });\n }, [dataProvider, logoutIfAccessDenied]);\n\n return dataProviderProxy;\n};\n\nconst isAbortError = error =>\n error instanceof DOMException &&\n (error as DOMException).name === 'AbortError';\n","import React from 'react';\n\nimport { notifyManager, useQueryClient } from '@tanstack/react-query';\n\n/**\n * Get the state of the dataProvider connection.\n *\n * Returns true if a query or a mutation is pending.\n *\n * Custom implementation because react-query's useIsFetching and useIsMutating\n * render each time the number of active queries changes, which is too often.\n *\n * @see useIsFetching\n * @see useIsMutating\n */\nexport const useLoading = (): boolean => {\n const client = useQueryClient();\n const mountedRef = React.useRef(false);\n const isFetchingRef = React.useRef(client.isFetching() > 0);\n const isMutatingRef = React.useRef(client.isMutating() > 0);\n\n const [isLoading, setIsLoading] = React.useState<boolean>(\n isFetchingRef.current || isMutatingRef.current\n );\n\n React.useEffect(() => {\n mountedRef.current = true;\n\n const unsubscribeQueryCache = client.getQueryCache().subscribe(\n notifyManager.batchCalls(() => {\n if (mountedRef.current) {\n isFetchingRef.current = client.isFetching() > 0;\n setIsLoading(\n isFetchingRef.current || isMutatingRef.current\n );\n }\n })\n );\n\n const unsubscribeMutationCache = client.getMutationCache().subscribe(\n notifyManager.batchCalls(() => {\n if (mountedRef.current) {\n isMutatingRef.current = client.isMutating() > 0;\n setIsLoading(\n isFetchingRef.current || isMutatingRef.current\n );\n }\n })\n );\n\n return () => {\n mountedRef.current = false;\n unsubscribeQueryCache();\n unsubscribeMutationCache();\n };\n }, [client]);\n\n return isLoading;\n};\n","import { useCallback } from 'react';\nimport { useQueryClient } from '@tanstack/react-query';\n\n/**\n * Hook for triggering a page refresh. Returns a callback function.\n *\n * The callback invalidates all queries and refetches the active ones.\n * Any component depending on react-query data will be re-rendered.\n *\n * @example\n *\n * const refresh = useRefresh();\n * const handleClick = () => {\n * refresh();\n * };\n */\nexport const useRefresh = () => {\n const queryClient = useQueryClient();\n return useCallback(() => {\n queryClient.invalidateQueries();\n }, [queryClient]);\n};\n","import { RaRecord, GetOneParams, GetOneResult } from '../types';\nimport {\n useQuery,\n UseQueryOptions,\n UseQueryResult,\n} from '@tanstack/react-query';\nimport { useDataProvider } from './useDataProvider';\nimport { useEffect } from 'react';\nimport { useEvent } from '../util';\n\n/**\n * Call the dataProvider.getOne() method and return the resolved value\n * as well as the loading state.\n *\n * The return value updates according to the request state:\n *\n * - start: { isPending: true, isFetching: true, refetch }\n * - success: { data: [data from response], isPending: false, refetch }\n * - error: { error: [error from response], isPending: false, refetch }\n *\n * This hook will return the cached result when called a second time\n * with the same parameters, until the response arrives.\n *\n * @param resource The resource name, e.g. 'posts'\n * @param {Params} params The getOne parameters { id, meta }, e.g. { id: 123 }\n * @param {Options} options Options object to pass to the react-query queryClient.\n *\n * @typedef Params\n * @prop id a resource identifier, e.g. 123\n *\n * @typedef Options\n * @prop enabled Flag to conditionally run the query. If it's false, the query will not run\n * @prop onSuccess Side effect function to be executed upon success, e.g. { onSuccess: { refresh: true } }\n * @prop onError Side effect function to be executed upon failure, e.g. { onError: error => notify(error.message) }\n *\n * @returns The current request state. Destructure as { data, error, isPending, refetch }.\n *\n * @example\n *\n * import { useGetOne, useRecordContext } from 'react-admin';\n *\n * const UserProfile = () => {\n * const record = useRecordContext();\n * const { data, isPending, error } = useGetOne('users', { id: record.id });\n * if (isPending) { return <Loading />; }\n * if (error) { return <p>ERROR</p>; }\n * return <div>User {data.username}</div>;\n * };\n */\nexport const useGetOne = <RecordType extends RaRecord = any>(\n resource: string,\n { id, meta }: GetOneParams<RecordType>,\n options: UseGetOneOptions<RecordType> = {}\n): UseGetOneHookValue<RecordType> => {\n const dataProvider = useDataProvider();\n const {\n onError = noop,\n onSuccess = noop,\n onSettled = noop,\n ...queryOptions\n } = options;\n const onSuccessEvent = useEvent(onSuccess);\n const onErrorEvent = useEvent(onError);\n const onSettledEvent = useEvent(onSettled);\n\n const result = useQuery<RecordType>({\n // Sometimes the id comes as a string (e.g. when read from the URL in a Show view).\n // Sometimes the id comes as a number (e.g. when read from a Record in useGetList response).\n // As the react-query cache is type-sensitive, we always stringify the identifier to get a match\n queryKey: [resource, 'getOne', { id: String(id), meta }],\n queryFn: queryParams =>\n dataProvider\n .getOne<RecordType>(resource, {\n id,\n meta,\n signal:\n dataProvider.supportAbortSignal === true\n ? queryParams.signal\n : undefined,\n })\n .then(({ data }) => data),\n ...queryOptions,\n });\n\n useEffect(() => {\n if (\n result.data === undefined ||\n result.error != null ||\n result.isFetching\n )\n return;\n onSuccessEvent(result.data);\n }, [onSuccessEvent, result.data, result.error, result.isFetching]);\n\n useEffect(() => {\n if (result.error == null || result.isFetching) return;\n onErrorEvent(result.error);\n }, [onErrorEvent, result.error, result.isFetching]);\n\n useEffect(() => {\n if (result.status === 'pending' || result.isFetching) return;\n onSettledEvent(result.data, result.error);\n }, [\n onSettledEvent,\n result.data,\n result.error,\n result.status,\n result.isFetching,\n ]);\n\n return result;\n};\n\nconst noop = () => undefined;\n\nexport type UseGetOneOptions<RecordType extends RaRecord = any> = Omit<\n UseQueryOptions<GetOneResult<RecordType>['data']>,\n 'queryKey' | 'queryFn'\n> & {\n onSuccess?: (data: GetOneResult<RecordType>['data']) => void;\n onError?: (error: Error) => void;\n onSettled?: (\n data?: GetOneResult<RecordType>['data'],\n error?: Error | null\n ) => void;\n};\n\nexport type UseGetOneHookValue<RecordType extends RaRecord = any> =\n UseQueryResult<GetOneResult<RecordType>['data']>;\n","import { useEffect, useMemo, useRef } from 'react';\nimport {\n useQuery,\n UseQueryOptions,\n UseQueryResult,\n useQueryClient,\n} from '@tanstack/react-query';\n\nimport { RaRecord, GetListParams, GetListResult } from '../types';\nimport { useDataProvider } from './useDataProvider';\nimport { useEvent } from '../util';\n\nconst MAX_DATA_LENGTH_TO_CACHE = 100;\n\n/**\n * Call the dataProvider.getList() method and return the resolved result\n * as well as the loading state.\n *\n * The return value updates according to the request state:\n *\n * - start: { isPending: true, refetch }\n * - success: { data: [data from store], total: [total from response], isPending: false, refetch }\n * - error: { error: [error from response], isPending: false, refetch }\n *\n * This hook will return the cached result when called a second time\n * with the same parameters, until the response arrives.\n *\n * @param {string} resource The resource name, e.g. 'posts'\n * @param {Params} params The getList parameters { pagination, sort, filter, meta }\n * @param {Object} options Options object to pass to the queryClient.\n * May include side effects to be executed upon success or failure, e.g. { onSuccess: () => { refresh(); } }\n *\n * @typedef Params\n * @prop params.pagination The request pagination { page, perPage }, e.g. { page: 1, perPage: 10 }\n * @prop params.sort The request sort { field, order }, e.g. { field: 'id', order: 'DESC' }\n * @prop params.filter The request filters, e.g. { title: 'hello, world' }\n * @prop params.meta Optional meta parameters\n *\n * @returns The current request state. Destructure as { data, total, error, isPending, refetch }.\n *\n * @example\n *\n * import { useGetList } from 'react-admin';\n *\n * const LatestNews = () => {\n * const { data, total, isPending, error } = useGetList(\n * 'posts',\n * { pagination: { page: 1, perPage: 10 }, sort: { field: 'published_at', order: 'DESC' } }\n * );\n * if (isPending) { return <Loading />; }\n * if (error) { return <p>ERROR</p>; }\n * return <ul>{data.map(item =>\n * <li key={item.id}>{item.title}</li>\n * )}</ul>;\n * };\n */\nexport const useGetList = <RecordType extends RaRecord = any>(\n resource: string,\n params: Partial<GetListParams> = {},\n options: UseGetListOptions<RecordType> = {}\n): UseGetListHookValue<RecordType> => {\n const {\n pagination = { page: 1, perPage: 25 },\n sort = { field: 'id', order: 'DESC' },\n filter = {},\n meta,\n } = params;\n const dataProvider = useDataProvider();\n const queryClient = useQueryClient();\n const {\n onError = noop,\n onSuccess = noop,\n onSettled = noop,\n ...queryOptions\n } = options;\n const onSuccessEvent = useEvent(onSuccess);\n const onErrorEvent = useEvent(onError);\n const onSettledEvent = useEvent(onSettled);\n\n const result = useQuery<\n GetListResult<RecordType>,\n Error,\n GetListResult<RecordType>\n >({\n queryKey: [resource, 'getList', { pagination, sort, filter, meta }],\n queryFn: queryParams =>\n dataProvider\n .getList<RecordType>(resource, {\n pagination,\n sort,\n filter,\n meta,\n signal:\n dataProvider.supportAbortSignal === true\n ? queryParams.signal\n : undefined,\n })\n .then(({ data, total, pageInfo }) => ({\n data,\n total,\n pageInfo,\n })),\n ...queryOptions,\n });\n\n const metaValue = useRef(meta);\n const resourceValue = useRef(resource);\n\n useEffect(() => {\n metaValue.current = meta;\n }, [meta]);\n\n useEffect(() => {\n resourceValue.current = resource;\n }, [resource]);\n\n useEffect(() => {\n if (\n result.data === undefined ||\n result.error != null ||\n result.isFetching\n )\n return;\n\n // optimistically populate the getOne cache\n if (\n result.data?.data &&\n result.data.data.length <= MAX_DATA_LENGTH_TO_CACHE\n ) {\n result.data.data.forEach(record => {\n queryClient.setQueryData(\n [\n resourceValue.current,\n 'getOne',\n { id: String(record.id), meta: metaValue.current },\n ],\n oldRecord => oldRecord ?? record\n );\n });\n }\n onSuccessEvent(result.data);\n }, [\n onSuccessEvent,\n queryClient,\n result.data,\n result.error,\n result.isFetching,\n ]);\n\n useEffect(() => {\n if (result.error == null || result.isFetching) return;\n onErrorEvent(result.error);\n }, [onErrorEvent, result.error, result.isFetching]);\n\n useEffect(() => {\n if (result.status === 'pending' || result.isFetching) return;\n onSettledEvent(result.data, result.error);\n }, [\n onSettledEvent,\n result.data,\n result.error,\n result.status,\n result.isFetching,\n ]);\n\n return useMemo(\n () =>\n result.data\n ? {\n ...result,\n data: result.data?.data,\n total: result.data?.total,\n pageInfo: result.data?.pageInfo,\n }\n : result,\n [result]\n ) as UseQueryResult<RecordType[], Error> & {\n total?: number;\n pageInfo?: {\n hasNextPage?: boolean;\n hasPreviousPage?: boolean;\n };\n };\n};\n\nconst noop = () => undefined;\n\nexport type UseGetListOptions<RecordType extends RaRecord = any> = Omit<\n UseQueryOptions<GetListResult<RecordType>, Error>,\n 'queryKey' | 'queryFn'\n> & {\n onSuccess?: (value: GetListResult<RecordType>) => void;\n onError?: (error: Error) => void;\n onSettled?: (\n data?: GetListResult<RecordType>,\n error?: Error | null\n ) => void;\n};\n\nexport type UseGetListHookValue<RecordType extends RaRecord = any> =\n UseQueryResult<RecordType[], Error> & {\n total?: number;\n pageInfo?: {\n hasNextPage?: boolean;\n hasPreviousPage?: boolean;\n };\n };\n","import { useEffect, useRef } from 'react';\nimport {\n useQuery,\n UseQueryOptions,\n UseQueryResult,\n useQueryClient,\n hashKey,\n} from '@tanstack/react-query';\n\nimport { RaRecord, GetManyParams } from '../types';\nimport { useDataProvider } from './useDataProvider';\nimport { useEvent } from '../util';\n\n/**\n * Call the dataProvider.getMany() method and return the resolved result\n * as well as the loading state.\n *\n * The return value updates according to the request state:\n *\n * - start: { isPending: true, refetch }\n * - success: { data: [data from store], isPending: false, refetch }\n * - error: { error: [error from response], isPending: false, refetch }\n *\n * This hook will return the cached result when called a second time\n * with the same parameters, until the response arrives.\n *\n * @param {string} resource The resource name, e.g. 'posts'\n * @param {Params} params The getMany parameters { ids, meta }\n * @param {Object} options Options object to pass to the queryClient.\n * May include side effects to be executed upon success or failure, e.g. { onSuccess: () => { refresh(); } }\n *\n * @typedef Params\n * @prop params.ids The ids to get, e.g. [123, 456, 789]\n * @prop params.meta Optional meta parameters\n *\n * @returns The current request state. Destructure as { data, error, isPending, refetch }.\n *\n * @example\n *\n * import { useGetMany } from 'react-admin';\n *\n * const PostTags = ({ post }) => {\n * const { data, isPending, error } = useGetMany(\n * 'tags',\n * { ids: post.tags },\n * );\n * if (isPending) { return <Loading />; }\n * if (error) { return <p>ERROR</p>; }\n * return <ul>{data.map(tag =>\n * <li key={tag.id}>{tag.name}</li>\n * )}</ul>;\n * };\n */\nexport const useGetMany = <RecordType extends RaRecord = any>(\n resource: string,\n params: Partial<GetManyParams> = {},\n options: UseGetManyOptions<RecordType> = {}\n): UseGetManyHookValue<RecordType> => {\n const { ids, meta } = params;\n const dataProvider = useDataProvider();\n const queryClient = useQueryClient();\n const queryCache = queryClient.getQueryCache();\n const {\n onError = noop,\n onSuccess = noop,\n onSettled = noop,\n ...queryOptions\n } = options;\n const onSuccessEvent = useEvent(onSuccess);\n const onErrorEvent = useEvent(onError);\n const onSettledEvent = useEvent(onSettled);\n\n const result = useQuery<RecordType[], Error, RecordType[]>({\n queryKey: [\n resource,\n 'getMany',\n {\n ids: !ids || ids.length === 0 ? [] : ids.map(id => String(id)),\n meta,\n },\n ],\n queryFn: queryParams => {\n if (!ids || ids.length === 0) {\n // no need to call the dataProvider\n return Promise.resolve([]);\n }\n return dataProvider\n .getMany<RecordType>(resource, {\n ids,\n meta,\n signal:\n dataProvider.supportAbortSignal === true\n ? queryParams.signal\n : undefined,\n })\n .then(({ data }) => data);\n },\n placeholderData: () => {\n const records =\n !ids || ids.length === 0\n ? []\n : ids.map(id => {\n const queryHash = hashKey([\n resource,\n 'getOne',\n { id: String(id), meta },\n ]);\n return queryCache.get<RecordType>(queryHash)?.state\n ?.data;\n });\n if (records.some(record => record === undefined)) {\n return undefined;\n } else {\n return records as RecordType[];\n }\n },\n retry: false,\n ...queryOptions,\n });\n\n const metaValue = useRef(meta);\n const resourceValue = useRef(resource);\n\n useEffect(() => {\n metaValue.current = meta;\n }, [meta]);\n\n useEffect(() => {\n resourceValue.current = resource;\n }, [resource]);\n\n useEffect(() => {\n if (\n result.data === undefined ||\n result.error != null ||\n result.isFetching\n )\n return;\n // optimistically populate the getOne cache\n result.data.forEach(record => {\n queryClient.setQueryData(\n [\n resourceValue.current,\n 'getOne',\n { id: String(record.id), meta: metaValue.current },\n ],\n oldRecord => oldRecord ?? record\n );\n });\n\n onSuccessEvent(result.data);\n }, [\n queryClient,\n onSuccessEvent,\n result.data,\n result.error,\n result.isFetching,\n ]);\n\n useEffect(() => {\n if (result.error == null || result.isFetching) return;\n onErrorEvent(result.error);\n }, [onErrorEvent, result.error, result.isFetching]);\n\n useEffect(() => {\n if (result.status === 'pending' || result.isFetching) return;\n onSettledEvent(result.data, result.error);\n }, [\n onSettledEvent,\n result.data,\n result.error,\n result.status,\n result.isFetching,\n ]);\n\n return result;\n};\n\nconst noop = () => undefined;\n\nexport type UseGetManyOptions<RecordType extends RaRecord = any> = Omit<\n UseQueryOptions<RecordType[], Error>,\n 'queryKey' | 'queryFn'\n> & {\n onSuccess?: (data: RecordType[]) => void;\n onError?: (error: Error) => void;\n onSettled?: (data?: RecordType[], error?: Error | null) => void;\n};\n\nexport type UseGetManyHookValue<RecordType extends RaRecord = any> =\n UseQueryResult<RecordType[], Error>;\n","var Symbol = require('./_Symbol'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray');\n\n/** Built-in value references. */\nvar spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined;\n\n/**\n * Checks if `value` is a flattenable `arguments` object or array.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.\n */\nfunction isFlattenable(value) {\n return isArray(value) || isArguments(value) ||\n !!(spreadableSymbol && value && value[spreadableSymbol]);\n}\n\nmodule.exports = isFlattenable;\n","var arrayPush = require('./_arrayPush'),\n isFlattenable = require('./_isFlattenable');\n\n/**\n * The base implementation of `_.flatten` with support for restricting flattening.\n *\n * @private\n * @param {Array} array The array to flatten.\n * @param {number} depth The maximum recursion depth.\n * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.\n * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.\n * @param {Array} [result=[]] The initial result value.\n * @returns {Array} Returns the new flattened array.\n */\nfunction baseFlatten(array, depth, predicate, isStrict, result) {\n var index = -1,\n length = array.length;\n\n predicate || (predicate = isFlattenable);\n result || (result = []);\n\n while (++index < length) {\n var value = array[index];\n if (depth > 0 && predicate(value)) {\n if (depth > 1) {\n // Recursively flatten arrays (susceptible to call stack limits).\n baseFlatten(value, depth - 1, predicate, isStrict, result);\n } else {\n arrayPush(result, value);\n }\n } else if (!isStrict) {\n result[result.length] = value;\n }\n }\n return result;\n}\n\nmodule.exports = baseFlatten;\n","/**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = baseFindIndex;\n","/**\n * The base implementation of `_.isNaN` without support for number objects.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n */\nfunction baseIsNaN(value) {\n return value !== value;\n}\n\nmodule.exports = baseIsNaN;\n","/**\n * A specialized version of `_.indexOf` which performs strict equality\n * comparisons of values, i.e. `===`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction strictIndexOf(array, value, fromIndex) {\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = strictIndexOf;\n","var baseFindIndex = require('./_baseFindIndex'),\n baseIsNaN = require('./_baseIsNaN'),\n strictIndexOf = require('./_strictIndexOf');\n\n/**\n * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseIndexOf(array, value, fromIndex) {\n return value === value\n ? strictIndexOf(array, value, fromIndex)\n : baseFindIndex(array, baseIsNaN, fromIndex);\n}\n\nmodule.exports = baseIndexOf;\n","var baseIndexOf = require('./_baseIndexOf');\n\n/**\n * A specialized version of `_.includes` for arrays without support for\n * specifying an index to search from.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludes(array, value) {\n var length = array == null ? 0 : array.length;\n return !!length && baseIndexOf(array, value, 0) > -1;\n}\n\nmodule.exports = arrayIncludes;\n","/**\n * This function is like `arrayIncludes` except that it accepts a comparator.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludesWith(array, value, comparator) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (comparator(value, array[index])) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arrayIncludesWith;\n","/**\n * This method returns `undefined`.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Util\n * @example\n *\n * _.times(2, _.noop);\n * // => [undefined, undefined]\n */\nfunction noop() {\n // No operation performed.\n}\n\nmodule.exports = noop;\n","var Set = require('./_Set'),\n noop = require('./noop'),\n setToArray = require('./_setToArray');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Creates a set object of `values`.\n *\n * @private\n * @param {Array} values The values to add to the set.\n * @returns {Object} Returns the new set.\n */\nvar createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) {\n return new Set(values);\n};\n\nmodule.exports = createSet;\n","var SetCache = require('./_SetCache'),\n arrayIncludes = require('./_arrayIncludes'),\n arrayIncludesWith = require('./_arrayIncludesWith'),\n cacheHas = require('./_cacheHas'),\n createSet = require('./_createSet'),\n setToArray = require('./_setToArray');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * The base implementation of `_.uniqBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\nfunction baseUniq(array, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n length = array.length,\n isCommon = true,\n result = [],\n seen = result;\n\n if (comparator) {\n isCommon = false;\n includes = arrayIncludesWith;\n }\n else if (length >= LARGE_ARRAY_SIZE) {\n var set = iteratee ? null : createSet(array);\n if (set) {\n return setToArray(set);\n }\n isCommon = false;\n includes = cacheHas;\n seen = new SetCache;\n }\n else {\n seen = iteratee ? [] : result;\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n value = (comparator || value !== 0) ? value : 0;\n if (isCommon && computed === computed) {\n var seenIndex = seen.length;\n while (seenIndex--) {\n if (seen[seenIndex] === computed) {\n continue outer;\n }\n }\n if (iteratee) {\n seen.push(computed);\n }\n result.push(value);\n }\n else if (!includes(seen, computed, comparator)) {\n if (seen !== result) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n}\n\nmodule.exports = baseUniq;\n","var baseFlatten = require('./_baseFlatten'),\n baseRest = require('./_baseRest'),\n baseUniq = require('./_baseUniq'),\n isArrayLikeObject = require('./isArrayLikeObject');\n\n/**\n * Creates an array of unique values, in order, from all given arrays using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of combined values.\n * @example\n *\n * _.union([2], [1, 2]);\n * // => [2, 1]\n */\nvar union = baseRest(function(arrays) {\n return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true));\n});\n\nmodule.exports = union;\n","import { useEffect, useMemo, useRef } from 'react';\nimport {\n QueryClient,\n useQueryClient,\n useQuery,\n UseQueryOptions,\n hashKey,\n} from '@tanstack/react-query';\nimport union from 'lodash/union';\n\nimport { UseGetManyHookValue } from './useGetMany';\nimport { Identifier, RaRecord, GetManyParams, DataProvider } from '../types';\nimport { useDataProvider } from './useDataProvider';\nimport { useEvent } from '../util';\n\n/**\n * Call the dataProvider.getMany() method and return the resolved result\n * as well as the loading state.\n *\n * The return value updates according to the request state:\n *\n * - start: { isPending: true, isFetching: true, refetch }\n * - success: { data: [data from response], isPending: false, isFetching: false, refetch }\n * - error: { error: [error from response], isPending: false, isFetching: false, refetch }\n *\n * This hook will return the cached result when called a second time\n * with the same parameters, until the response arrives.\n *\n * This hook aggregates and deduplicates calls to the same resource, so for instance, if an app calls:\n *\n * useGetManyAggregate('tags', [1, 2, 3]);\n * useGetManyAggregate('tags', [3, 4]);\n *\n * during the same tick, the hook will only call the dataProvider once with the following parameters:\n *\n * dataProvider.getMany('tags', [1, 2, 3, 4])\n *\n * @param resource The resource name, e.g. 'posts'\n * @param {Params} params The getMany parameters { ids, meta }\n * @param {Object} options Options object to pass to the dataProvider.\n * @param {boolean} options.enabled Flag to conditionally run the query. If it's false, the query will not run\n * @param {Function} options.onSuccess Side effect function to be executed upon success, e.g. { onSuccess: { refresh: true } }\n * @param {Function} options.onError Side effect function to be executed upon failure, e.g. { onError: error => notify(error.message) }\n *\n * @typedef Params\n * @prop params.ids The ids to get, e.g. [123, 456, 789]\n * @prop params.meta Optional meta parameters\n\n * @returns The current request state. Destructure as { data, error, isPending, isFetching, refetch }.\n *\n * @example\n *\n * import { useGetManyAggregate, useRecordContext } from 'react-admin';\n *\n * const PostTags = () => {\n * const record = useRecordContext();\n * const { data, isPending, error } = useGetManyAggregate('tags', { ids: record.tagIds });\n * if (isPending) { return <Loading />; }\n * if (error) { return <p>ERROR</p>; }\n * return (\n * <ul>\n * {data.map(tag => (\n * <li key={tag.id}>{tag.name}</li>\n * ))}\n * </ul>\n * );\n * };\n */\nexport const useGetManyAggregate = <RecordType extends RaRecord = any>(\n resource: string,\n params: GetManyParams,\n options: UseGetManyAggregateOptions<RecordType> = {}\n): UseGetManyHookValue<RecordType> => {\n const dataProvider = useDataProvider();\n const queryClient = useQueryClient();\n const queryCache = queryClient.getQueryCache();\n const {\n onError = noop,\n onSuccess = noop,\n onSettled = noop,\n ...queryOptions\n } = options;\n const onSuccessEvent = useEvent(onSuccess);\n const onErrorEvent = useEvent(onError);\n const onSettledEvent = useEvent(onSettled);\n\n const { ids, meta } = params;\n const placeholderData = useMemo(() => {\n const records = (Array.isArray(ids) ? ids : [ids]).map(id => {\n const queryHash = hashKey([\n resource,\n 'getOne',\n { id: String(id), meta },\n ]);\n return queryCache.get<RecordType>(queryHash)?.state?.data;\n });\n if (records.some(record => record === undefined)) {\n return undefined;\n } else {\n return records as RecordType[];\n }\n }, [ids, queryCache, resource, meta]);\n\n const result = useQuery<RecordType[], Error, RecordType[]>({\n queryKey: [\n resource,\n 'getMany',\n {\n ids: (Array.isArray(ids) ? ids : [ids]).map(id => String(id)),\n meta,\n },\n ],\n queryFn: queryParams =>\n new Promise((resolve, reject) => {\n if (!ids || ids.length === 0) {\n // no need to call the dataProvider\n return resolve([]);\n }\n\n // debounced / batched fetch\n return callGetManyQueries({\n resource,\n ids,\n meta,\n resolve,\n reject,\n dataProvider,\n queryClient,\n signal:\n dataProvider.supportAbortSignal === true\n ? queryParams.signal\n : undefined,\n });\n }),\n placeholderData,\n retry: false,\n ...queryOptions,\n });\n\n const metaValue = useRef(meta);\n const resourceValue = useRef(resource);\n\n useEffect(() => {\n metaValue.current = meta;\n }, [meta]);\n\n useEffect(() => {\n resourceValue.current = resource;\n }, [resource]);\n\n useEffect(() => {\n if (\n result.data === undefined ||\n result.error != null ||\n result.isFetching\n )\n return;\n\n // optimistically populate the getOne cache\n (result.data ?? []).forEach(record => {\n queryClient.setQueryData(\n [\n resourceValue.current,\n 'getOne',\n { id: String(record.id), meta: metaValue.current },\n ],\n oldRecord => oldRecord ?? record\n );\n });\n\n onSuccessEvent(result.data);\n }, [\n queryClient,\n onSuccessEvent,\n result.data,\n result.error,\n result.isFetching,\n ]);\n\n useEffect(() => {\n if (result.error == null || result.isFetching) return;\n onErrorEvent(result.error);\n }, [onErrorEvent, result.error, result.isFetching]);\n\n useEffect(() => {\n if (result.status === 'pending' || result.isFetching) return;\n onSettledEvent(result.data, result.error);\n }, [\n onSettledEvent,\n result.data,\n result.error,\n result.status,\n result.isFetching,\n ]);\n\n return result;\n};\n\n/**\n * Batch all calls to a function into one single call with the arguments of all the calls.\n *\n * @example\n * let sum = 0;\n * const add = (args) => { sum = args.reduce((arg, total) => total + arg, 0); };\n * const addBatched = batch(add);\n * addBatched(2);\n * addBatched(8);\n * // add will be called once with arguments [2, 8]\n * // and sum will be equal to 10\n */\nconst batch = fn => {\n let capturedArgs: any[] = [];\n let timeout: ReturnType<typeof setTimeout> | null = null;\n return (arg: any) => {\n capturedArgs.push(arg);\n if (timeout) clearTimeout(timeout);\n timeout = setTimeout(() => {\n timeout = null;\n fn([...capturedArgs]);\n capturedArgs = [];\n }, 0);\n };\n};\n\ninterface GetManyCallArgs {\n resource: string;\n ids: Identifier[];\n meta?: any;\n resolve: (data: any[]) => void;\n reject: (error?: any) => void;\n dataProvider: DataProvider;\n queryClient: QueryClient;\n signal?: AbortSignal;\n}\n\n/**\n * Group and execute all calls to the dataProvider.getMany() method for the current tick\n *\n * Thanks to batch(), this function executes at most once per tick,\n * whatever the number of calls to useGetManyAggregate().\n */\nconst callGetManyQueries = batch((calls: GetManyCallArgs[]) => {\n const dataProvider = calls[0].dataProvider;\n const queryClient = calls[0].queryClient;\n\n /**\n * Aggregate calls by resource\n *\n * callsByResource will look like:\n * {\n * posts: [{ resource, ids, resolve, reject, dataProvider, queryClient }, ...],\n * tags: [{ resource, ids, resolve, reject, dataProvider, queryClient }, ...],\n * }\n */\n const callsByResource = calls.reduce(\n (acc, callArgs) => {\n if (!acc[callArgs.resource]) {\n acc[callArgs.resource] = [];\n }\n acc[callArgs.resource].push(callArgs);\n return acc;\n },\n {} as { [resource: string]: GetManyCallArgs[] }\n );\n\n /**\n * For each resource, aggregate ids and call dataProvider.getMany() once\n */\n Object.keys(callsByResource).forEach(resource => {\n const callsForResource = callsByResource[resource];\n\n /**\n * Extract ids from queries, aggregate and deduplicate them\n *\n * @example from [[1, 2], [2, null, 3], [4, null]] to [1, 2, 3, 4]\n */\n const aggregatedIds = callsForResource\n .reduce((acc, { ids }) => union(acc, ids), []) // concat + unique\n .filter(v => v != null && v !== ''); // remove null values\n\n const uniqueMeta = callsForResource.reduce(\n (acc, { meta }) => meta || acc,\n undefined\n );\n\n if (aggregatedIds.length === 0) {\n // no need to call the data provider if all the ids are null\n callsForResource.forEach(({ resolve }) => {\n resolve([]);\n });\n return;\n }\n\n const callThatHasAllAggregatedIds = callsForResource.find(\n ({ ids, signal }) =>\n JSON.stringify(ids) === JSON.stringify(aggregatedIds) &&\n !signal?.aborted\n );\n if (callThatHasAllAggregatedIds) {\n // There is only one call (no aggregation), or one of the calls has the same ids as the sum of all calls.\n // Either way, we can't trigger a new fetchQuery with the same signature, as it's already pending.\n // Therefore, we reply with the dataProvider\n const { dataProvider, resource, ids, meta, signal } =\n callThatHasAllAggregatedIds;\n\n dataProvider\n .getMany<any>(resource, { ids, meta, signal })\n .then(({ data }) => data)\n .then(\n data => {\n // We must then resolve all the pending calls with the data they requested\n callsForResource.forEach(({ ids, resolve }) => {\n resolve(\n data.filter(record =>\n ids\n .map(id => String(id))\n .includes(String(record.id))\n )\n );\n });\n },\n error => {\n // All pending calls must also receive the error\n callsForResource.forEach(({ reject }) => {\n reject(error);\n });\n }\n );\n return;\n }\n\n /**\n * Call dataProvider.getMany() with the aggregatedIds,\n * and resolve each of the promises using the results\n */\n queryClient\n .fetchQuery<any[], Error, any[]>({\n queryKey: [\n resource,\n 'getMany',\n {\n ids: aggregatedIds.map(id => String(id)),\n meta: uniqueMeta,\n },\n ],\n queryFn: queryParams =>\n dataProvider\n .getMany<any>(resource, {\n ids: aggregatedIds,\n meta: uniqueMeta,\n signal:\n dataProvider.supportAbortSignal === true\n ? queryParams.signal\n : undefined,\n })\n .then(({ data }) => data),\n })\n .then(data => {\n callsForResource.forEach(({ ids, resolve }) => {\n resolve(\n data.filter(record =>\n ids\n .map(id => String(id))\n .includes(String(record.id))\n )\n );\n });\n })\n .catch(error =>\n callsForResource.forEach(({ reject }) => reject(error))\n );\n });\n});\n\nconst noop = () => undefined;\n\nexport type UseGetManyAggregateOptions<RecordType extends RaRecord> = Omit<\n UseQueryOptions<RecordType[]>,\n 'queryKey' | 'queryFn'\n> & {\n onSuccess?: (data: RecordType[]) => void;\n onError?: (error: Error) => void;\n onSettled?: (data?: RecordType[], error?: Error | null) => void;\n};\n","import { useEffect, useMemo } from 'react';\nimport {\n useQuery,\n UseQueryOptions,\n UseQueryResult,\n useQueryClient,\n} from '@tanstack/react-query';\n\nimport {\n RaRecord,\n GetManyReferenceParams,\n GetManyReferenceResult,\n} from '../types';\nimport { useDataProvider } from './useDataProvider';\nimport { useEvent } from '../util';\n\n/**\n * Call the dataProvider.getManyReference() method and return the resolved result\n * as well as the loading state.\n *\n * The return value updates according to the request state:\n *\n * - start: { isPending: true, refetch }\n * - success: { data: [data from store], total: [total from response], isPending: false, refetch }\n * - error: { error: [error from response], isPending: false, refetch }\n *\n * This hook will return the cached result when called a second time\n * with the same parameters, until the response arrives.\n *\n * @param {string} resource The resource name, e.g. 'posts'\n * @param {Params} params The getManyReference parameters { target, id, pagination, sort, filter, meta }\n * @param {Object} options Options object to pass to the queryClient.\n * May include side effects to be executed upon success or failure, e.g. { onSuccess: () => { refresh(); } }\n *\n * @typedef Params\n * @prop params.target The target resource key, e.g. 'post_id'\n * @prop params.id The identifier of the record to look for in target, e.g. '123'\n * @prop params.pagination The request pagination { page, perPage }, e.g. { page: 1, perPage: 10 }\n * @prop params.sort The request sort { field, order }, e.g. { field: 'id', order: 'DESC' }\n * @prop params.filter The request filters, e.g. { title: 'hello, world' }\n * @prop params.meta Optional meta parameters\n *\n * @returns The current request state. Destructure as { data, total, error, isPending, refetch }.\n *\n * @example\n *\n * import { useGetManyReference, useRecordContext } from 'react-admin';\n *\n * const PostComments = () => {\n * const record = useRecordContext();\n * // fetch all comments related to the current record\n * const { data, isPending, error } = useGetManyReference(\n * 'comments',\n * { target: 'post_id', id: record.id, pagination: { page: 1, perPage: 10 }, sort: { field: 'published_at', order: 'DESC' } }\n * );\n * if (isPending) { return <Loading />; }\n * if (error) { return <p>ERROR</p>; }\n * return <ul>{data.map(comment =>\n * <li key={comment.id}>{comment.body}</li>\n * )}</ul>;\n * };\n */\nexport const useGetManyReference = <RecordType extends RaRecord = any>(\n resource: string,\n params: Partial<GetManyReferenceParams> = {},\n options: UseGetManyReferenceHookOptions<RecordType> = {}\n): UseGetManyReferenceHookValue<RecordType> => {\n const {\n target,\n id,\n pagination = { page: 1, perPage: 25 },\n sort = { field: 'id', order: 'DESC' },\n filter = {},\n meta,\n } = params;\n const dataProvider = useDataProvider();\n const queryClient = useQueryClient();\n const {\n onError = noop,\n onSuccess = noop,\n onSettled = noop,\n ...queryOptions\n } = options;\n const onSuccessEvent = useEvent(onSuccess);\n const onErrorEvent = useEvent(onError);\n const onSettledEvent = useEvent(onSettled);\n\n const result = useQuery<\n GetManyReferenceResult<RecordType>,\n Error,\n GetManyReferenceResult<RecordType>\n >({\n queryKey: [\n resource,\n 'getManyReference',\n { target, id, pagination, sort, filter, meta },\n ],\n queryFn: queryParams => {\n if (!target || id == null) {\n // check at runtime to support partial parameters with the enabled option\n return Promise.reject(new Error('target and id are required'));\n }\n\n return dataProvider\n .getManyReference<RecordType>(resource, {\n target,\n id,\n pagination,\n sort,\n filter,\n meta,\n signal:\n dataProvider.supportAbortSignal === true\n ? queryParams.signal\n : undefined,\n })\n .then(({ data, total, pageInfo }) => ({\n data,\n total,\n pageInfo,\n }));\n },\n ...queryOptions,\n });\n\n useEffect(() => {\n if (result.data === undefined) return;\n // optimistically populate the getOne cache\n result.data?.data?.forEach(record => {\n queryClient.setQueryData(\n [resource, 'getOne', { id: String(record.id), meta }],\n oldRecord => oldRecord ?? record\n );\n });\n\n onSuccessEvent(result.data);\n }, [queryClient, meta, onSuccessEvent, resource, result.data]);\n\n useEffect(() => {\n if (result.error == null) return;\n onErrorEvent(result.error);\n }, [onErrorEvent, result.error]);\n\n useEffect(() => {\n if (result.status === 'pending') return;\n onSettledEvent(result.data, result.error);\n }, [onSettledEvent, result.data, result.error, result.status]);\n\n return useMemo(\n () =>\n result.data\n ? {\n ...result,\n data: result.data?.data,\n total: result.data?.total,\n pageInfo: result.data?.pageInfo,\n }\n : result,\n [result]\n ) as UseQueryResult<RecordType[], Error> & {\n total?: number;\n pageInfo?: {\n hasNextPage?: boolean;\n hasPreviousPage?: boolean;\n };\n };\n};\n\nexport type UseGetManyReferenceHookOptions<RecordType extends RaRecord = any> =\n Omit<\n UseQueryOptions<GetManyReferenceResult<RecordType>>,\n 'queryKey' | 'queryFn'\n > & {\n onSuccess?: (data: GetManyReferenceResult<RecordType>) => void;\n onError?: (error: Error) => void;\n onSettled?: (\n data?: GetManyReferenceResult<RecordType>,\n error?: Error | null\n ) => void;\n };\n\nexport type UseGetManyReferenceHookValue<RecordType extends RaRecord = any> =\n UseQueryResult<RecordType[]> & {\n total?: number;\n pageInfo?: {\n hasNextPage?: boolean;\n hasPreviousPage?: boolean;\n };\n };\n\nconst noop = () => undefined;\n","function is(x: unknown, y: unknown) {\n if (x === y) {\n return x !== 0 || y !== 0 || 1 / x === 1 / y;\n } else {\n // eslint-disable-next-line no-self-compare\n return x !== x && y !== y;\n }\n}\n\nexport const shallowEqual = (objA: any, objB: any) => {\n if (is(objA, objB)) return true;\n\n if (\n typeof objA !== 'object' ||\n objA === null ||\n typeof objB !== 'object' ||\n objB === null\n ) {\n return false;\n }\n\n const keysA = Object.keys(objA);\n const keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) return false;\n\n for (let i = 0; i < keysA.length; i++) {\n if (\n !Object.prototype.hasOwnProperty.call(objB, keysA[i]) ||\n !is(objA[keysA[i]], objB[keysA[i]])\n ) {\n return false;\n }\n }\n\n return true;\n};\n","import { shallowEqual } from './shallowEqual';\n\nconst isObject = obj =>\n obj && Object.prototype.toString.call(obj) === '[object Object]';\n\nconst isEmpty = obj =>\n obj instanceof Date\n ? false\n : obj === '' ||\n obj === null ||\n obj === undefined ||\n shallowEqual(obj, {});\n\nconst removeEmpty = object =>\n Object.keys(object).reduce((acc, key) => {\n let child = object[key];\n\n if (isObject(object[key])) {\n child = removeEmpty(object[key]);\n }\n\n return isEmpty(child) ? acc : { ...acc, [key]: child };\n }, {});\n\nexport default removeEmpty;\n","const removeKey = (target, path) =>\n Object.keys(target).reduce((acc, key) => {\n if (key !== path) {\n return Object.assign({}, acc, { [key]: target[key] });\n }\n\n return acc;\n }, {});\n\nconst deepRemoveKey = (target, path) => {\n const paths = path.split('.');\n\n if (paths.length === 1) {\n return removeKey(target, path);\n }\n\n const deepKey = paths[0];\n if (target[deepKey] === undefined) {\n return target;\n }\n const deep = deepRemoveKey(target[deepKey], paths.slice(1).join('.'));\n\n if (Object.keys(deep).length === 0) {\n return removeKey(target, deepKey);\n }\n\n return Object.assign({}, target, { [deepKey]: deep });\n};\n\nexport default deepRemoveKey;\n","import { Reducer } from 'react';\nimport set from 'lodash/set';\n\nimport removeEmpty from '../../util/removeEmpty';\nimport removeKey from '../../util/removeKey';\nimport { ListParams } from './useListParams';\n\nexport const SET_SORT = 'SET_SORT';\nexport const SORT_ASC = 'ASC';\nexport const SORT_DESC = 'DESC';\n\nexport const SET_PAGE = 'SET_PAGE';\nexport const SET_PER_PAGE = 'SET_PER_PAGE';\n\nexport const SET_FILTER = 'SET_FILTER';\nexport const SHOW_FILTER = 'SHOW_FILTER';\nexport const HIDE_FILTER = 'HIDE_FILTER';\n\nconst oppositeOrder = direction =>\n direction === SORT_DESC ? SORT_ASC : SORT_DESC;\n\ntype ActionTypes =\n | {\n type: typeof SET_SORT;\n payload: {\n field: string;\n order?: typeof SORT_ASC | typeof SORT_DESC;\n };\n }\n | {\n type: typeof SET_PAGE;\n payload: number;\n }\n | {\n type: typeof SET_PER_PAGE;\n payload: number;\n }\n | {\n type: typeof SET_FILTER;\n payload: {\n filter: any;\n displayedFilters?: { [key: string]: boolean };\n };\n }\n | {\n type: typeof SHOW_FILTER;\n payload: { filterName: string; defaultValue?: any };\n }\n | {\n type: typeof HIDE_FILTER;\n payload: string;\n };\n\n/**\n * This reducer is for the react-router query string.\n */\nexport const queryReducer: Reducer<ListParams, ActionTypes> = (\n previousState,\n action\n) => {\n switch (action.type) {\n case SET_SORT:\n if (action.payload.field === previousState.sort) {\n return {\n ...previousState,\n order: oppositeOrder(previousState.order),\n page: 1,\n };\n }\n\n return {\n ...previousState,\n sort: action.payload.field,\n order: action.payload.order || SORT_ASC,\n page: 1,\n };\n\n case SET_PAGE:\n return { ...previousState, page: action.payload };\n\n case SET_PER_PAGE:\n return { ...previousState, page: 1, perPage: action.payload };\n\n case SET_FILTER: {\n return {\n ...previousState,\n page: 1,\n filter: action.payload.filter,\n displayedFilters: action.payload.displayedFilters\n ? action.payload.displayedFilters\n : previousState.displayedFilters,\n };\n }\n\n case SHOW_FILTER: {\n if (\n previousState.displayedFilters &&\n previousState.displayedFilters[action.payload.filterName]\n ) {\n // the filter is already shown\n return previousState;\n }\n return {\n ...previousState,\n filter:\n typeof action.payload.defaultValue !== 'undefined'\n ? set(\n previousState.filter,\n action.payload.filterName,\n action.payload.defaultValue\n )\n : previousState.filter,\n // we don't use lodash.set() for displayed filters\n // to avoid problems with compound filter names (e.g. 'author.name')\n displayedFilters: {\n ...previousState.displayedFilters,\n [action.payload.filterName]: true,\n },\n };\n }\n\n case HIDE_FILTER: {\n return {\n ...previousState,\n filter: removeEmpty(\n removeKey(previousState.filter, action.payload)\n ),\n // we don't use lodash.set() for displayed filters\n // to avoid problems with compound filter names (e.g. 'author.name')\n displayedFilters: previousState.displayedFilters\n ? Object.keys(previousState.displayedFilters).reduce(\n (filters, filter) => {\n return filter !== action.payload\n ? { ...filters, [filter]: true }\n : filters;\n },\n {}\n )\n : previousState.displayedFilters,\n };\n }\n\n default:\n return previousState;\n }\n};\n\nexport default queryReducer;\n","import { useReducer, useEffect, useRef, useCallback } from 'react';\n\nimport { SORT_ASC, SORT_DESC } from './list/queryReducer';\nimport { SortPayload } from '../types';\n\nexport interface SortProps {\n setSortField: (field: SortPayload['field']) => void;\n setSortOrder: (order: SortPayload['order']) => void;\n setSort: (sort: SortPayload) => void;\n sort: SortPayload;\n}\n\ntype Action =\n | { type: 'SET_SORT'; payload: SortPayload }\n | { type: 'SET_SORT_FIELD'; payload: SortPayload['field'] }\n | { type: 'SET_SORT_ORDER'; payload: SortPayload['order'] };\n\nconst sortReducer = (state: SortPayload, action: Action): SortPayload => {\n switch (action.type) {\n case 'SET_SORT':\n return action.payload;\n case 'SET_SORT_FIELD': {\n const field = action.payload;\n const order =\n state.field === field\n ? state.order === SORT_ASC\n ? SORT_DESC\n : SORT_ASC\n : SORT_ASC;\n return { field, order };\n }\n case 'SET_SORT_ORDER': {\n const order = action.payload;\n if (!state.field) {\n throw new Error(\n 'cannot change the order on an undefined sort field'\n );\n }\n return {\n field: state.field,\n order,\n };\n }\n default:\n return state;\n }\n};\n\nexport const defaultSort = { field: '', order: 'ASC' } as const;\n\n/**\n * Set the sort { field, order }\n * @name setSort\n * @function\n * @param {SortPayload} sort the sort object\n */\n\n/**\n * Set the sort field, swap the order if the field is the same\n * @name setSortField\n * @function\n * @param {string} field the sort field\n */\n\n/**\n * Set the sort order\n * @name setSortOrder\n * @function\n * @param {string} order The sort order, either ASC or DESC\n */\n\n/**\n * @typedef SortProps\n * @type {Object}\n * @property {Object} sort: the sort object.\n * @property {string} sort.field: the sort object.\n * @property {'ASC' | 'DESC'} sort.order: the sort object.\n * @property {setSort} setSort\n * @property {setSortField} setSortField\n * @property {setSortOrder} setSortOrder\n */\n\n/**\n * Hooks to provide sort state\n *\n * @example\n *\n * const { sort, setSort, setSortField, setSortOrder } = useSort({\n * field: 'name',\n * order: 'ASC',\n * });\n *\n * setSort({ field: 'name', order: 'ASC' });\n * // is the same as\n * setSortField('name');\n * setSortOrder('ASC');\n *\n * @param {Object} initialSort\n * @param {string} initialSort.field The initial sort field\n * @param {string} initialSort.order The initial sort order\n * @returns {SortProps} The sort props\n */\nconst useSortState = (initialSort: SortPayload = defaultSort): SortProps => {\n const [sort, dispatch] = useReducer(sortReducer, initialSort);\n const isFirstRender = useRef(true);\n useEffect(() => {\n if (isFirstRender.current) {\n isFirstRender.current = false;\n return;\n }\n dispatch({ type: 'SET_SORT', payload: initialSort });\n }, [initialSort.field, initialSort.order]); // eslint-disable-line react-hooks/exhaustive-deps\n\n return {\n setSort: useCallback(\n (sort: SortPayload) =>\n dispatch({ type: 'SET_SORT', payload: sort }),\n [dispatch]\n ),\n setSortField: useCallback(\n (field: string) =>\n dispatch({ type: 'SET_SORT_FIELD', payload: field }),\n [dispatch]\n ),\n setSortOrder: useCallback(\n (order: 'ASC' | 'DESC') =>\n dispatch({ type: 'SET_SORT_ORDER', payload: order }),\n [dispatch]\n ),\n sort,\n };\n};\n\nexport default useSortState;\n","import { useEffect, useReducer, useCallback, useRef } from 'react';\nimport { PaginationPayload } from '../types';\n\n/**\n * @typedef PaginationProps\n * @type {Object}\n * @property {number} page: The page number.\n * @property {number} perPage: The number of item per page.\n * @property {Function} setPage: Set the page number\n * @property {Function} setPerPage: Set the per page number\n * @property {Function} setPagination: Set page and perPage pagination numbers\n */\nexport interface PaginationHookResult {\n page: number;\n perPage: number;\n pagination: PaginationPayload;\n setPage: (page: number) => void;\n setPerPage: (perPage: number) => void;\n setPagination: (pagination: PaginationPayload) => void;\n}\n\nconst paginationReducer = (\n prevState: PaginationPayload,\n nextState: Partial<PaginationPayload>\n): PaginationPayload => {\n return {\n ...prevState,\n ...nextState,\n };\n};\n\nconst defaultPagination = {\n page: 1,\n perPage: 25,\n};\n\n/**\n * Hooks to provide pagination state (page and perPage)\n *\n * @example\n *\n * const { page, setPage, perPage, setPerPage } = usePagination(initialPerPage);\n *\n * @param {number} initialPagination the initial value per page\n * @returns {PaginationHookResult} The pagination props\n */\nexport default (\n initialPagination: { perPage?: number; page?: number } = {}\n): PaginationHookResult => {\n const [pagination, setPagination] = useReducer(paginationReducer, {\n ...defaultPagination,\n ...initialPagination,\n });\n const isFirstRender = useRef(true);\n\n const setPerPage = useCallback(\n perPage => setPagination({ perPage, page: 1 }),\n []\n );\n const setPage = useCallback(page => setPagination({ page }), []);\n\n useEffect(() => {\n if (isFirstRender.current) {\n isFirstRender.current = false;\n return;\n }\n setPerPage(initialPagination.perPage || 25);\n }, [initialPagination.perPage, setPerPage]);\n\n return {\n page: pagination.page,\n perPage: pagination.perPage,\n pagination,\n setPage,\n setPerPage,\n setPagination,\n };\n};\n","import * as React from 'react';\nimport { ComponentType } from 'react';\n\nconst checkMinimumRequiredProps =\n (displayName: string, requiredProps: string[]) =>\n (WrappedComponent: ComponentType) =>\n (props: any) => {\n useCheckMinimumRequiredProps(displayName, requiredProps, props);\n return <WrappedComponent {...props} />;\n };\n\nexport default checkMinimumRequiredProps;\n\n// Not a hook but named that way to avoid conflicts with the old one\nexport const useCheckMinimumRequiredProps = (\n displayName: string,\n requiredProps: string[],\n props: any\n): void => {\n const propNames = Object.keys(props);\n const missingProps = requiredProps.filter(\n prop => !propNames.includes(prop)\n );\n\n if (missingProps.length > 0) {\n throw new Error(\n `<${displayName}> component is not properly configured, some essential props are missing.\nBe sure to pass the props from the parent. Example:\n\nconst My${displayName} = props => (\n <${displayName} {...props}></${displayName}>\n);\n\nThe missing props are: ${missingProps.join(', ')}`\n );\n }\n};\n","import { useCallback, ReactEventHandler } from 'react';\nimport { UseMutationOptions } from '@tanstack/react-query';\n\nimport { useDelete } from '../../dataProvider';\nimport { useUnselect } from '../../controller';\nimport { useRedirect, RedirectionSideEffect } from '../../routing';\nimport { useNotify } from '../../notification';\nimport { RaRecord, DeleteParams } from '../../types';\nimport { useResourceContext } from '../../core';\n\n/**\n * Prepare callback for a Delete button with undo support\n *\n * @example\n *\n * import React from 'react';\n * import ActionDelete from '@mui/icons-material/Delete';\n * import { Button, useDeleteWithUndoController } from 'react-admin';\n *\n * const DeleteButton = ({\n * resource,\n * record,\n * redirect,\n * onClick,\n * ...rest\n * }) => {\n * const { isPending, handleDelete } = useDeleteWithUndoController({\n * resource,\n * record,\n * redirect,\n * onClick,\n * });\n *\n * return (\n * <Button\n * onClick={handleDelete}\n * disabled={isPending}\n * label=\"ra.action.delete\"\n * {...rest}\n * >\n * <ActionDelete />\n * </Button>\n * );\n * };\n */\nconst useDeleteWithUndoController = <RecordType extends RaRecord = any>(\n props: UseDeleteWithUndoControllerParams<RecordType>\n): UseDeleteWithUndoControllerReturn => {\n const {\n record,\n redirect: redirectTo = 'list',\n onClick,\n mutationOptions = {},\n } = props;\n const { meta: mutationMeta, ...otherMutationOptions } = mutationOptions;\n const resource = useResourceContext(props);\n const notify = useNotify();\n const unselect = useUnselect(resource);\n const redirect = useRedirect();\n const [deleteOne, { isPending }] = useDelete<RecordType>(\n resource,\n undefined,\n {\n onSuccess: () => {\n notify('ra.notification.deleted', {\n type: 'info',\n messageArgs: { smart_count: 1 },\n undoable: true,\n });\n record && unselect([record.id]);\n redirect(redirectTo, resource);\n },\n onError: (error: Error) => {\n notify(\n typeof error === 'string'\n ? error\n : error.message || 'ra.notification.http_error',\n {\n type: 'error',\n messageArgs: {\n _:\n typeof error === 'string'\n ? error\n : error && error.message\n ? error.message\n : undefined,\n },\n }\n );\n },\n }\n );\n\n const handleDelete = useCallback(\n event => {\n event.stopPropagation();\n if (!record) {\n throw new Error(\n 'The record cannot be deleted because no record has been passed'\n );\n }\n deleteOne(\n resource,\n {\n id: record.id,\n previousData: record,\n meta: mutationMeta,\n },\n {\n mutationMode: 'undoable',\n ...otherMutationOptions,\n }\n );\n if (typeof onClick === 'function') {\n onClick(event);\n }\n },\n [\n deleteOne,\n mutationMeta,\n otherMutationOptions,\n onClick,\n record,\n resource,\n ]\n );\n\n return { isPending, isLoading: isPending, handleDelete };\n};\n\nexport interface UseDeleteWithUndoControllerParams<\n RecordType extends RaRecord = any,\n MutationOptionsError = unknown,\n> {\n record?: RecordType;\n redirect?: RedirectionSideEffect;\n resource?: string;\n onClick?: ReactEventHandler<any>;\n mutationOptions?: UseMutationOptions<\n RecordType,\n MutationOptionsError,\n DeleteParams<RecordType>\n >;\n}\n\nexport interface UseDeleteWithUndoControllerReturn {\n isPending: boolean;\n isLoading: boolean;\n handleDelete: ReactEventHandler<any>;\n}\n\nexport default useDeleteWithUndoController;\n","import {\n useState,\n useCallback,\n ReactEventHandler,\n SyntheticEvent,\n} from 'react';\nimport { UseMutationOptions } from '@tanstack/react-query';\n\nimport { useDelete } from '../../dataProvider';\nimport { useUnselect } from '../../controller';\nimport { useRedirect, RedirectionSideEffect } from '../../routing';\nimport { useNotify } from '../../notification';\nimport { RaRecord, MutationMode, DeleteParams } from '../../types';\nimport { useResourceContext } from '../../core';\n\n/**\n * Prepare a set of callbacks for a delete button guarded by confirmation dialog\n *\n * @example\n *\n * const DeleteButton = ({\n * resource,\n * record,\n * redirect,\n * onClick,\n * ...rest\n * }) => {\n * const {\n * open,\n * isPending,\n * handleDialogOpen,\n * handleDialogClose,\n * handleDelete,\n * } = useDeleteWithConfirmController({\n * resource,\n * record,\n * redirect,\n * onClick,\n * });\n *\n * return (\n * <Fragment>\n * <Button\n * onClick={handleDialogOpen}\n * label=\"ra.action.delete\"\n * {...rest}\n * >\n * {icon}\n * </Button>\n * <Confirm\n * isOpen={open}\n * loading={isPending}\n * title=\"ra.message.delete_title\"\n * content=\"ra.message.delete_content\"\n * translateOptions={{\n * name: resource,\n * id: record.id,\n * }}\n * onConfirm={handleDelete}\n * onClose={handleDialogClose}\n * />\n * </Fragment>\n * );\n * };\n */\nconst useDeleteWithConfirmController = <RecordType extends RaRecord = any>(\n props: UseDeleteWithConfirmControllerParams<RecordType>\n): UseDeleteWithConfirmControllerReturn => {\n const {\n record,\n redirect: redirectTo = 'list',\n mutationMode,\n onClick,\n mutationOptions = {},\n } = props;\n const { meta: mutationMeta, ...otherMutationOptions } = mutationOptions;\n const resource = useResourceContext(props);\n const [open, setOpen] = useState(false);\n const notify = useNotify();\n const unselect = useUnselect(resource);\n const redirect = useRedirect();\n const [deleteOne, { isPending }] = useDelete<RecordType>(\n resource,\n undefined,\n {\n onSuccess: () => {\n setOpen(false);\n notify('ra.notification.deleted', {\n type: 'info',\n messageArgs: { smart_count: 1 },\n undoable: mutationMode === 'undoable',\n });\n record && unselect([record.id]);\n redirect(redirectTo, resource);\n },\n onError: (error: Error) => {\n setOpen(false);\n\n notify(\n typeof error === 'string'\n ? error\n : error.message || 'ra.notification.http_error',\n {\n type: 'error',\n messageArgs: {\n _:\n typeof error === 'string'\n ? error\n : error && error.message\n ? error.message\n : undefined,\n },\n }\n );\n },\n }\n );\n\n const handleDialogOpen = e => {\n setOpen(true);\n e.stopPropagation();\n };\n\n const handleDialogClose = e => {\n setOpen(false);\n e.stopPropagation();\n };\n\n const handleDelete = useCallback(\n event => {\n event.stopPropagation();\n if (!record) {\n throw new Error(\n 'The record cannot be deleted because no record has been passed'\n );\n }\n deleteOne(\n resource,\n {\n id: record.id,\n previousData: record,\n meta: mutationMeta,\n },\n {\n mutationMode,\n ...otherMutationOptions,\n }\n );\n if (typeof onClick === 'function') {\n onClick(event);\n }\n },\n [\n deleteOne,\n mutationMeta,\n mutationMode,\n otherMutationOptions,\n onClick,\n record,\n resource,\n ]\n );\n\n return {\n open,\n isPending,\n isLoading: isPending,\n handleDialogOpen,\n handleDialogClose,\n handleDelete,\n };\n};\n\nexport interface UseDeleteWithConfirmControllerParams<\n RecordType extends RaRecord = any,\n MutationOptionsError = unknown,\n> {\n mutationMode?: MutationMode;\n record?: RecordType;\n redirect?: RedirectionSideEffect;\n resource?: string;\n onClick?: ReactEventHandler<any>;\n mutationOptions?: UseMutationOptions<\n RecordType,\n MutationOptionsError,\n DeleteParams<RecordType>\n >;\n}\n\nexport interface UseDeleteWithConfirmControllerReturn {\n open: boolean;\n isLoading: boolean;\n isPending: boolean;\n handleDialogOpen: (e: SyntheticEvent) => void;\n handleDialogClose: (e: SyntheticEvent) => void;\n handleDelete: ReactEventHandler<any>;\n}\n\nexport default useDeleteWithConfirmController;\n","import { createContext } from 'react';\nimport {\n RaRecord,\n OnError,\n OnSuccess,\n TransformData,\n MutationMode,\n} from '../../types';\nimport { Middleware } from './useMutationMiddlewares';\n\nexport interface SaveContextValue<\n RecordType extends RaRecord = any,\n MutateFunc extends (...args: any[]) => any = (...args: any[]) => any,\n> {\n save?: SaveHandler<RecordType>;\n /**\n * @deprecated. Rely on the form isSubmitting value instead\n */\n saving?: boolean;\n mutationMode?: MutationMode;\n registerMutationMiddleware?: (callback: Middleware<MutateFunc>) => void;\n unregisterMutationMiddleware?: (callback: Middleware<MutateFunc>) => void;\n}\n\nexport type SaveHandler<RecordType> = (\n record: Partial<RecordType>,\n callbacks?: SaveHandlerCallbacks\n) => Promise<void | RecordType> | Record<string, string>;\n\nexport type SaveHandlerCallbacks = {\n onSuccess?: OnSuccess;\n onError?: OnError;\n transform?: TransformData;\n meta?: any;\n};\nexport const SaveContext = createContext<SaveContextValue>({});\n","import * as React from 'react';\nimport { SaveContext } from './SaveContext';\n\nexport const SaveContextProvider = ({ children, value }) => (\n <SaveContext.Provider value={value}>{children}</SaveContext.Provider>\n);\n","var baseGet = require('./_baseGet'),\n baseSet = require('./_baseSet'),\n castPath = require('./_castPath');\n\n/**\n * The base implementation of `_.pickBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} paths The property paths to pick.\n * @param {Function} predicate The function invoked per property.\n * @returns {Object} Returns the new object.\n */\nfunction basePickBy(object, paths, predicate) {\n var index = -1,\n length = paths.length,\n result = {};\n\n while (++index < length) {\n var path = paths[index],\n value = baseGet(object, path);\n\n if (predicate(value, path)) {\n baseSet(result, castPath(path, object), value);\n }\n }\n return result;\n}\n\nmodule.exports = basePickBy;\n","/**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHasIn(object, key) {\n return object != null && key in Object(object);\n}\n\nmodule.exports = baseHasIn;\n","var castPath = require('./_castPath'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isIndex = require('./_isIndex'),\n isLength = require('./isLength'),\n toKey = require('./_toKey');\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n result = false;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result || ++index != length) {\n return result;\n }\n length = object == null ? 0 : object.length;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n}\n\nmodule.exports = hasPath;\n","var baseHasIn = require('./_baseHasIn'),\n hasPath = require('./_hasPath');\n\n/**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\nfunction hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n}\n\nmodule.exports = hasIn;\n","var basePickBy = require('./_basePickBy'),\n hasIn = require('./hasIn');\n\n/**\n * The base implementation of `_.pick` without support for individual\n * property identifiers.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} paths The property paths to pick.\n * @returns {Object} Returns the new object.\n */\nfunction basePick(object, paths) {\n return basePickBy(object, paths, function(value, path) {\n return hasIn(object, path);\n });\n}\n\nmodule.exports = basePick;\n","var baseFlatten = require('./_baseFlatten');\n\n/**\n * Flattens `array` a single level deep.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to flatten.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * _.flatten([1, [2, [3, [4]], 5]]);\n * // => [1, 2, [3, [4]], 5]\n */\nfunction flatten(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseFlatten(array, 1) : [];\n}\n\nmodule.exports = flatten;\n","var flatten = require('./flatten'),\n overRest = require('./_overRest'),\n setToString = require('./_setToString');\n\n/**\n * A specialized version of `baseRest` which flattens the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @returns {Function} Returns the new function.\n */\nfunction flatRest(func) {\n return setToString(overRest(func, undefined, flatten), func + '');\n}\n\nmodule.exports = flatRest;\n","var basePick = require('./_basePick'),\n flatRest = require('./_flatRest');\n\n/**\n * Creates an object composed of the picked `object` properties.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The source object.\n * @param {...(string|string[])} [paths] The property paths to pick.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.pick(object, ['a', 'c']);\n * // => { 'a': 1, 'c': 3 }\n */\nvar pick = flatRest(function(object, paths) {\n return object == null ? {} : basePick(object, paths);\n});\n\nmodule.exports = pick;\n","import { useMemo } from 'react';\nimport pick from 'lodash/pick';\nimport { SaveContextValue } from './SaveContext';\n\n/**\n * This hook extracts the `save`, `saving` and mutationMode properties from either the `CreateContext` or `EditContext`. This ensures the `SaveContext` doesn't rerender when those two contexts have other properties changes.\n */\nexport const usePickSaveContext = <\n ContextType extends SaveContextValue = SaveContextValue,\n>(\n context: ContextType\n): SaveContextValue => {\n const value = useMemo(\n () =>\n pick(context, [\n 'save',\n 'saving',\n 'mutationMode',\n 'registerMutationMiddleware',\n 'unregisterMutationMiddleware',\n ]),\n /* eslint-disable react-hooks/exhaustive-deps */\n [\n context.save,\n context.saving,\n context.mutationMode,\n context.registerMutationMiddleware,\n context.unregisterMutationMiddleware,\n ]\n /* eslint-enable react-hooks/exhaustive-deps */\n );\n\n return value;\n};\n","import { useContext } from 'react';\nimport { SaveContext, SaveContextValue } from './SaveContext';\n/**\n * Get the save() function and its status\n *\n * Used in forms.\n *\n * @example\n *\n * const {\n * save,\n * saving\n * } = useSaveContext();\n */\nexport const useSaveContext = <\n PropsType extends SaveContextValue = SaveContextValue,\n>(\n _props?: PropsType\n): SaveContextValue => {\n return useContext(SaveContext);\n};\n","import { useCallback, useMemo, useRef } from 'react';\n\n/**\n * Internal hook used to handle mutation middlewares.\n *\n * @example\n * // We have a form creating an order for a new customer.\n * // The form contains the customer fields in addition to the order fields\n * // but they should be saved as a new customer resource record\n * // and the order should only reference this new customer\n * type Order = { id: string; reference: string };\n * type OrderCreateFormData = { id: string; reference: string; customer: Customer };\n * type Customer = { id: string; email: string; firstName: string; lastName: string };\n *\n * const CustomerForm = props => {\n * const [createCustomer] = useCreate<Customer>();\n * const middleware: Middleware<UseCreateResult<OrderCreateFormData>[0]> = useCallback(async (resource, params, next) => {\n * const { data } = params;\n * const { user, ...orderData } = data;\n * const { data = newCustomer } = await createCustomer('customers', { data: user });\n * const orderDataWithCustomer = { ...orderData, customerId: newCustomer.id };\n * next(resource, { data: orderDataWithCustomer });\n * }, [createCustomer]);\n * useRegisterMutationMiddleware(middleware);\n *\n * return (\n * <>\n * <TextInput source=\"user.email\" />\n * <TextInput source=\"user.firstName\" />\n * <TextInput source=\"user.lastName\" />\n * </>\n * );\n * }\n */\nexport const useMutationMiddlewares = <\n MutateFunc extends (...args: any[]) => any = (...args: any[]) => any,\n>(): UseMutationMiddlewaresResult<MutateFunc> => {\n const callbacks = useRef<Middleware<MutateFunc>[]>([]);\n\n const registerMutationMiddleware = useCallback(\n (callback: Middleware<MutateFunc>) => {\n callbacks.current.push(callback);\n },\n []\n );\n\n const unregisterMutationMiddleware = useCallback(\n (callback: Middleware<MutateFunc>) => {\n callbacks.current = callbacks.current.filter(cb => cb !== callback);\n },\n []\n );\n\n const getMutateWithMiddlewares = useCallback((fn: MutateFunc) => {\n // Stores the current callbacks in a closure to avoid losing them if the calling component is unmounted\n const currentCallbacks = [...callbacks.current];\n return (...args: Parameters<MutateFunc>): ReturnType<MutateFunc> => {\n let index = currentCallbacks.length - 1;\n\n // Called by middlewares to call the next middleware function\n // Should take the same arguments as the original mutation function\n const next = (...newArgs: any) => {\n // Decrement the middlewares counter so that when next is called again, we\n // call the next middleware\n index--;\n\n // If there are no more middlewares, we call the original mutation function\n if (index >= 0) {\n return currentCallbacks[index](...newArgs, next);\n } else {\n return fn(...newArgs);\n }\n };\n\n if (currentCallbacks.length > 0) {\n // Call the first middleware with the same args as the original mutation function\n // with an additional next function\n return currentCallbacks[index](...args, next);\n }\n\n return fn(...args);\n };\n }, []);\n\n const functions = useMemo<UseMutationMiddlewaresResult<MutateFunc>>(\n () => ({\n registerMutationMiddleware,\n getMutateWithMiddlewares,\n unregisterMutationMiddleware,\n }),\n [\n registerMutationMiddleware,\n getMutateWithMiddlewares,\n unregisterMutationMiddleware,\n ]\n );\n\n return functions;\n};\n\nexport interface UseMutationMiddlewaresResult<\n MutateFunc extends (...args: any[]) => any = (...args: any[]) => any,\n> {\n registerMutationMiddleware: (callback: Middleware<MutateFunc>) => void;\n getMutateWithMiddlewares: (\n mutate: MutateFunc\n ) => (...args: Parameters<MutateFunc>) => ReturnType<MutateFunc>;\n unregisterMutationMiddleware: (callback: Middleware<MutateFunc>) => void;\n}\n\nexport type Middleware<MutateFunc = (...args: any[]) => any> =\n MutateFunc extends (...a: any[]) => infer R\n ? (...a: [...U: Parameters<MutateFunc>, next: MutateFunc]) => R\n : never;\n","import { useCallback } from 'react';\nimport { parse } from 'query-string';\nimport { useLocation, Location } from 'react-router-dom';\nimport { UseMutationOptions } from '@tanstack/react-query';\n\nimport { useAuthenticated } from '../../auth';\nimport {\n HttpError,\n useCreate,\n UseCreateMutateParams,\n} from '../../dataProvider';\nimport { useRedirect, RedirectionSideEffect } from '../../routing';\nimport { useNotify } from '../../notification';\nimport {\n SaveContextValue,\n SaveHandlerCallbacks,\n useMutationMiddlewares,\n} from '../saveContext';\nimport { useTranslate } from '../../i18n';\nimport { Identifier, RaRecord, TransformData } from '../../types';\nimport {\n useResourceContext,\n useResourceDefinition,\n useGetResourceLabel,\n} from '../../core';\n\n/**\n * Prepare data for the Create view\n *\n * @param {Object} props The props passed to the Create component.\n *\n * @return {Object} controllerProps Fetched data and callbacks for the Create view\n *\n * @example\n *\n * import { useCreateController } from 'react-admin';\n * import CreateView from './CreateView';\n *\n * const MyCreate = props => {\n * const controllerProps = useCreateController(props);\n * return <CreateView {...controllerProps} {...props} />;\n * }\n */\nexport const useCreateController = <\n RecordType extends Omit<RaRecord, 'id'> = any,\n MutationOptionsError = Error,\n ResultRecordType extends RaRecord = RecordType & { id: Identifier },\n>(\n props: CreateControllerProps<\n RecordType,\n MutationOptionsError,\n ResultRecordType\n > = {}\n): CreateControllerResult<RecordType> => {\n const {\n disableAuthentication,\n record,\n redirect: redirectTo,\n transform,\n mutationOptions = {},\n } = props;\n\n useAuthenticated({ enabled: !disableAuthentication });\n const resource = useResourceContext(props);\n if (!resource) {\n throw new Error(\n 'useCreateController requires a non-empty resource prop or context'\n );\n }\n const { hasEdit, hasShow } = useResourceDefinition(props);\n const finalRedirectTo =\n redirectTo ?? getDefaultRedirectRoute(hasShow, hasEdit);\n const location = useLocation();\n const translate = useTranslate();\n const notify = useNotify();\n const redirect = useRedirect();\n const recordToUse = record ?? getRecordFromLocation(location) ?? undefined;\n const { onSuccess, onError, meta, ...otherMutationOptions } =\n mutationOptions;\n const {\n registerMutationMiddleware,\n getMutateWithMiddlewares,\n unregisterMutationMiddleware,\n } = useMutationMiddlewares();\n\n const [create, { isPending: saving }] = useCreate<\n RecordType,\n MutationOptionsError,\n ResultRecordType\n >(resource, undefined, {\n onSuccess: async (data, variables, context) => {\n if (onSuccess) {\n return onSuccess(data, variables, context);\n }\n\n notify('ra.notification.created', {\n type: 'info',\n messageArgs: { smart_count: 1 },\n });\n redirect(finalRedirectTo, resource, data.id, data);\n },\n onError: (error: MutationOptionsError, variables, context) => {\n if (onError) {\n return onError(error, variables, context);\n }\n // Don't trigger a notification if this is a validation error\n // (notification will be handled by the useNotifyIsFormInvalid hook)\n const validationErrors = (error as HttpError)?.body?.errors;\n const hasValidationErrors =\n !!validationErrors && Object.keys(validationErrors).length > 0;\n if (!hasValidationErrors) {\n notify(\n typeof error === 'string'\n ? error\n : (error as Error).message ||\n 'ra.notification.http_error',\n {\n type: 'error',\n messageArgs: {\n _:\n typeof error === 'string'\n ? error\n : error instanceof Error ||\n (typeof error === 'object' &&\n error !== null &&\n error.hasOwnProperty('message'))\n ? // @ts-ignore\n error.message\n : undefined,\n },\n }\n );\n }\n },\n ...otherMutationOptions,\n returnPromise: true,\n getMutateWithMiddlewares,\n });\n\n const save = useCallback(\n (\n data: Partial<RecordType>,\n {\n transform: transformFromSave,\n meta: metaFromSave,\n ...callTimeOptions\n } = {} as SaveHandlerCallbacks\n ) =>\n Promise.resolve(\n transformFromSave\n ? transformFromSave(data)\n : transform\n ? transform(data)\n : data\n ).then(async (data: Partial<RecordType>) => {\n try {\n await create(\n resource,\n { data, meta: metaFromSave ?? meta },\n callTimeOptions\n );\n } catch (error) {\n if (\n (error instanceof HttpError ||\n (typeof error === 'object' &&\n error !== null &&\n error.hasOwnProperty('body'))) &&\n error.body?.errors != null\n ) {\n return error.body.errors;\n }\n }\n }),\n [create, meta, resource, transform]\n );\n\n const getResourceLabel = useGetResourceLabel();\n const defaultTitle = translate('ra.page.create', {\n name: getResourceLabel(resource, 1),\n });\n\n return {\n isFetching: false,\n isLoading: false,\n isPending: saving,\n saving,\n defaultTitle,\n save,\n resource,\n record: recordToUse,\n redirect: finalRedirectTo,\n registerMutationMiddleware,\n unregisterMutationMiddleware,\n };\n};\n\nexport interface CreateControllerProps<\n RecordType extends Omit<RaRecord, 'id'> = any,\n MutationOptionsError = Error,\n ResultRecordType extends RaRecord = RecordType & { id: Identifier },\n> {\n disableAuthentication?: boolean;\n hasEdit?: boolean;\n hasShow?: boolean;\n record?: Partial<RecordType>;\n redirect?: RedirectionSideEffect;\n resource?: string;\n mutationOptions?: UseMutationOptions<\n ResultRecordType,\n MutationOptionsError,\n UseCreateMutateParams<RecordType>\n > & { meta?: any };\n transform?: TransformData;\n}\n\nexport interface CreateControllerResult<\n RecordType extends Omit<RaRecord, 'id'> = any,\n> extends SaveContextValue {\n defaultTitle?: string;\n isFetching: boolean;\n isPending: boolean;\n isLoading: boolean;\n record?: Partial<RecordType>;\n redirect: RedirectionSideEffect;\n resource: string;\n}\n\n/**\n * Get the initial record from the location, whether it comes from the location\n * state or is serialized in the url search part.\n */\nexport const getRecordFromLocation = ({ state, search }: Location) => {\n if (state && (state as StateWithRecord).record) {\n return (state as StateWithRecord).record;\n }\n if (search) {\n try {\n const searchParams = parse(search);\n if (searchParams.source) {\n if (Array.isArray(searchParams.source)) {\n console.error(\n `Failed to parse location search parameter '${search}'. To pre-fill some fields in the Create form, pass a stringified source parameter (e.g. '?source={\"title\":\"foo\"}')`\n );\n return;\n }\n return JSON.parse(searchParams.source);\n }\n } catch (e) {\n console.error(\n `Failed to parse location search parameter '${search}'. To pre-fill some fields in the Create form, pass a stringified source parameter (e.g. '?source={\"title\":\"foo\"}')`\n );\n }\n }\n return null;\n};\n\ntype StateWithRecord = {\n record?: Partial<RaRecord>;\n};\n\nconst getDefaultRedirectRoute = (hasShow, hasEdit) => {\n if (hasEdit) {\n return 'edit';\n }\n if (hasShow) {\n return 'show';\n }\n return 'list';\n};\n","import * as React from 'react';\nimport { createContext, ReactNode } from 'react';\nimport { RaRecord } from '../../types';\n\n/**\n * Context to store a record.\n *\n * @see RecordContextProvider\n * @see useRecordContext\n */\nexport const RecordContext = createContext<\n RaRecord | Omit<RaRecord, 'id'> | undefined\n>(undefined);\n\nRecordContext.displayName = 'RecordContext';\n\n/**\n * Provider for the Record Context, to store a record.\n *\n * Use the useRecordContext() hook to read the context.\n * That's what the Edit and Show components do in react-admin.\n *\n * Many react-admin components read the RecordContext, including all Field\n * components.\n *\n * @example\n *\n * import { useGetOne, RecordContextProvider } from 'ra-core';\n *\n * const Show = ({ resource, id }) => {\n * const { data } = useGetOne(resource, { id });\n * return (\n * <RecordContextProvider value={data}>\n * ...\n * </RecordContextProvider>\n * );\n * };\n */\nexport const RecordContextProvider = <\n RecordType extends RaRecord | Omit<RaRecord, 'id'> = RaRecord,\n>({\n children,\n value,\n}: RecordContextProviderProps<RecordType>) => (\n <RecordContext.Provider value={value}>{children}</RecordContext.Provider>\n);\n\nexport interface RecordContextProviderProps<RecordType> {\n children: ReactNode;\n value?: RecordType;\n}\n","import { createContext } from 'react';\nimport { CreateControllerResult } from './useCreateController';\n\n/**\n * Context to store the result of the useCreateController() hook.\n *\n * Use the useCreateContext() hook to read the context. That's what the Create components do in react-admin.\n *\n * @example\n *\n * import { useCreateController, CreateContextProvider } from 'ra-core';\n *\n * const Create = props => {\n * const controllerProps = useCreateController(props);\n * return (\n * <CreateContextProvider value={controllerProps}>\n * ...\n * </CreateContextProvider>\n * );\n * };\n */\nexport const CreateContext = createContext<CreateControllerResult | null>(null);\n\nCreateContext.displayName = 'CreateContext';\n","import * as React from 'react';\nimport { ReactNode } from 'react';\n\nimport { RaRecord } from '../../types';\nimport { RecordContextProvider } from '../record/RecordContext';\nimport { CreateContext } from './CreateContext';\nimport { CreateControllerResult } from './useCreateController';\nimport { SaveContextProvider, usePickSaveContext } from '../saveContext';\n\n/**\n * Create a Create Context.\n *\n * @example\n *\n * const MyCreate = (props) => {\n * const controllerProps = useCreateController(props);\n * return (\n * <CreateContextProvider value={controllerProps}>\n * <MyCreateView>\n * </CreateContextProvider>\n * );\n * };\n *\n * const MyCreateView = () => {\n * const record = useRecordContext();\n * // or, to rerender only when the save operation change but not data\n * const { saving } = useCreateContext();\n * }\n *\n * @see CreateContext\n * @see RecordContext\n */\nexport const CreateContextProvider = ({\n children,\n value,\n}: {\n children: ReactNode;\n value: CreateControllerResult;\n}) => (\n <CreateContext.Provider value={value}>\n <SaveContextProvider\n value={{\n ...usePickSaveContext(value),\n mutationMode: 'pessimistic',\n }}\n >\n <RecordContextProvider<Partial<RaRecord>>\n value={value && value.record}\n >\n {children}\n </RecordContextProvider>\n </SaveContextProvider>\n </CreateContext.Provider>\n);\n","import * as React from 'react';\nimport { ReactNode } from 'react';\nimport {\n useCreateController,\n CreateControllerProps,\n} from './useCreateController';\nimport { CreateContextProvider } from './CreateContextProvider';\nimport { Identifier, RaRecord } from '../../types';\nimport { ResourceContextProvider } from '../../core';\n\n/**\n * Call useCreateController and put the value in a CreateContext\n *\n * Base class for <Create> components, without UI.\n *\n * Accepts any props accepted by useCreateController:\n * - id: The record identifier\n * - resource: The resource\n *\n * @example // Custom edit layout\n *\n * const PostCreate = () => (\n * <CreateBase>\n * <Grid container>\n * <Grid item xs={8}>\n * <SimpleForm>\n * ...\n * </SimpleForm>\n * </Grid>\n * <Grid item xs={4}>\n * Create instructions...\n * </Grid>\n * </Grid>\n * <div>\n * Post related links...\n * </div>\n * </CreateBase>\n * );\n */\nexport const CreateBase = <\n RecordType extends Omit<RaRecord, 'id'> = any,\n ResultRecordType extends RaRecord = RecordType & { id: Identifier },\n>({\n children,\n ...props\n}: CreateControllerProps<RecordType, Error, ResultRecordType> & {\n children: ReactNode;\n}) => {\n const controllerProps = useCreateController<\n RecordType,\n Error,\n ResultRecordType\n >(props);\n const body = (\n <CreateContextProvider value={controllerProps}>\n {children}\n </CreateContextProvider>\n );\n return props.resource ? (\n // support resource override via props\n <ResourceContextProvider value={props.resource}>\n {body}\n </ResourceContextProvider>\n ) : (\n body\n );\n};\n","import { useContext } from 'react';\n\nimport { RaRecord } from '../../types';\nimport { CreateContext } from './CreateContext';\nimport { CreateControllerResult } from './useCreateController';\n\n/**\n * Hook to read the create controller props from the CreateContext.\n *\n * Used within a <CreateContextProvider> (e.g. as a descendent of <Create>).\n *\n * @returns {CreateControllerResult} create controller props\n *\n * @see useCreateController for how it is filled\n */\nexport const useCreateContext = <\n RecordType extends RaRecord = RaRecord,\n>(): CreateControllerResult<RecordType> => {\n const context = useContext(CreateContext);\n if (!context) {\n throw new Error(\n 'useCreateContext must be used inside a CreateContextProvider'\n );\n }\n return context;\n};\n","import { useCallback } from 'react';\nimport { useParams } from 'react-router-dom';\n\nimport { useAuthenticated } from '../../auth';\nimport { RaRecord, MutationMode, TransformData } from '../../types';\nimport { useRedirect, RedirectionSideEffect } from '../../routing';\nimport { useNotify } from '../../notification';\nimport {\n useGetOne,\n useUpdate,\n useRefresh,\n UseGetOneHookValue,\n HttpError,\n UseGetOneOptions,\n UseUpdateOptions,\n} from '../../dataProvider';\nimport { useTranslate } from '../../i18n';\nimport {\n useResourceContext,\n useGetResourceLabel,\n useGetRecordRepresentation,\n} from '../../core';\nimport {\n SaveContextValue,\n SaveHandlerCallbacks,\n useMutationMiddlewares,\n} from '../saveContext';\n\n/**\n * Prepare data for the Edit view.\n *\n * useEditController does a few things:\n * - it grabs the id from the URL and the resource name from the ResourceContext,\n * - it fetches the record via useGetOne,\n * - it prepares the page title.\n *\n * @param {Object} props The props passed to the Edit component.\n *\n * @return {Object} controllerProps Fetched data and callbacks for the Edit view\n *\n * @example\n *\n * import { useEditController } from 'react-admin';\n * import EditView from './EditView';\n *\n * const MyEdit = () => {\n * const controllerProps = useEditController({ resource: 'posts', id: 123 });\n * return <EditView {...controllerProps} {...props} />;\n * }\n */\nexport const useEditController = <\n RecordType extends RaRecord = any,\n ErrorType = Error,\n>(\n props: EditControllerProps<RecordType, ErrorType> = {}\n): EditControllerResult<RecordType> => {\n const {\n disableAuthentication,\n id: propsId,\n mutationMode = 'undoable',\n mutationOptions = {},\n queryOptions = {},\n redirect: redirectTo = DefaultRedirect,\n transform,\n } = props;\n useAuthenticated({ enabled: !disableAuthentication });\n const resource = useResourceContext(props);\n if (!resource) {\n throw new Error(\n 'useEditController requires a non-empty resource prop or context'\n );\n }\n const getRecordRepresentation = useGetRecordRepresentation(resource);\n const translate = useTranslate();\n const notify = useNotify();\n const redirect = useRedirect();\n const refresh = useRefresh();\n const { id: routeId } = useParams<'id'>();\n if (!routeId && !propsId) {\n throw new Error(\n 'useEditController requires an id prop or a route with an /:id? parameter.'\n );\n }\n const id = propsId ?? decodeURIComponent(routeId!);\n const { meta: queryMeta, ...otherQueryOptions } = queryOptions;\n const {\n meta: mutationMeta,\n onSuccess,\n onError,\n ...otherMutationOptions\n } = mutationOptions;\n const {\n registerMutationMiddleware,\n getMutateWithMiddlewares,\n unregisterMutationMiddleware,\n } = useMutationMiddlewares();\n const {\n data: record,\n error,\n isLoading,\n isFetching,\n isPending,\n refetch,\n } = useGetOne<RecordType>(\n resource,\n { id, meta: queryMeta },\n {\n onError: () => {\n notify('ra.notification.item_doesnt_exist', {\n type: 'error',\n });\n redirect('list', resource);\n refresh();\n },\n refetchOnReconnect: false,\n refetchOnWindowFocus: false,\n retry: false,\n ...otherQueryOptions,\n }\n );\n\n // eslint-disable-next-line eqeqeq\n if (record && record.id && record.id != id) {\n throw new Error(\n `useEditController: Fetched record's id attribute (${record.id}) must match the requested 'id' (${id})`\n );\n }\n\n const getResourceLabel = useGetResourceLabel();\n const recordRepresentation = getRecordRepresentation(record);\n const defaultTitle = translate('ra.page.edit', {\n name: getResourceLabel(resource, 1),\n id,\n record,\n recordRepresentation:\n typeof recordRepresentation === 'string'\n ? recordRepresentation\n : '',\n });\n\n const recordCached = { id, previousData: record };\n\n const [update, { isPending: saving }] = useUpdate<RecordType, ErrorType>(\n resource,\n recordCached,\n {\n onSuccess: async (data, variables, context) => {\n if (onSuccess) {\n return onSuccess(data, variables, context);\n }\n notify('ra.notification.updated', {\n type: 'info',\n messageArgs: { smart_count: 1 },\n undoable: mutationMode === 'undoable',\n });\n redirect(redirectTo, resource, data.id, data);\n },\n onError: (error, variables, context) => {\n if (onError) {\n return onError(error, variables, context);\n }\n // Don't trigger a notification if this is a validation error\n // (notification will be handled by the useNotifyIsFormInvalid hook)\n const validationErrors = (error as HttpError)?.body?.errors;\n const hasValidationErrors =\n !!validationErrors &&\n Object.keys(validationErrors).length > 0;\n if (!hasValidationErrors || mutationMode !== 'pessimistic') {\n notify(\n typeof error === 'string'\n ? error\n : (error as Error).message ||\n 'ra.notification.http_error',\n {\n type: 'error',\n messageArgs: {\n _:\n typeof error === 'string'\n ? error\n : error instanceof Error ||\n (typeof error === 'object' &&\n error !== null &&\n error.hasOwnProperty('message'))\n ? // @ts-ignore\n error.message\n : undefined,\n },\n }\n );\n }\n },\n ...otherMutationOptions,\n mutationMode,\n returnPromise: mutationMode === 'pessimistic',\n getMutateWithMiddlewares,\n }\n );\n\n const save = useCallback(\n (\n data: Partial<RecordType>,\n {\n onSuccess: onSuccessFromSave,\n onError: onErrorFromSave,\n transform: transformFromSave,\n meta: metaFromSave,\n } = {} as SaveHandlerCallbacks\n ) =>\n Promise.resolve(\n transformFromSave\n ? transformFromSave(data, {\n previousData: recordCached.previousData,\n })\n : transform\n ? transform(data, {\n previousData: recordCached.previousData,\n })\n : data\n ).then(async (data: Partial<RecordType>) => {\n try {\n await update(\n resource,\n {\n id,\n data,\n meta: metaFromSave ?? mutationMeta,\n },\n {\n onError: onErrorFromSave,\n onSuccess: onSuccessFromSave,\n }\n );\n } catch (error) {\n if ((error as HttpError).body?.errors != null) {\n return (error as HttpError).body.errors;\n }\n }\n }),\n [\n id,\n mutationMeta,\n resource,\n transform,\n update,\n recordCached.previousData,\n ]\n );\n\n return {\n defaultTitle,\n error,\n isFetching,\n isLoading,\n isPending,\n mutationMode,\n record,\n redirect: redirectTo,\n refetch,\n registerMutationMiddleware,\n resource,\n save,\n saving,\n unregisterMutationMiddleware,\n } as EditControllerResult<RecordType>;\n};\n\nconst DefaultRedirect = 'list';\n\nexport interface EditControllerProps<\n RecordType extends RaRecord = any,\n ErrorType = Error,\n> {\n disableAuthentication?: boolean;\n id?: RecordType['id'];\n mutationMode?: MutationMode;\n mutationOptions?: UseUpdateOptions<RecordType, ErrorType>;\n queryOptions?: UseGetOneOptions<RecordType>;\n redirect?: RedirectionSideEffect;\n resource?: string;\n transform?: TransformData;\n [key: string]: any;\n}\n\nexport interface EditControllerBaseResult<RecordType extends RaRecord = any>\n extends SaveContextValue<RecordType> {\n defaultTitle?: string;\n isFetching: boolean;\n isLoading: boolean;\n refetch: UseGetOneHookValue<RecordType>['refetch'];\n redirect: RedirectionSideEffect;\n resource: string;\n}\n\nexport interface EditControllerLoadingResult<RecordType extends RaRecord = any>\n extends EditControllerBaseResult<RecordType> {\n record: undefined;\n error: null;\n isPending: true;\n}\nexport interface EditControllerLoadingErrorResult<\n RecordType extends RaRecord = any,\n TError = Error,\n> extends EditControllerBaseResult<RecordType> {\n record: undefined;\n error: TError;\n isPending: false;\n}\nexport interface EditControllerRefetchErrorResult<\n RecordType extends RaRecord = any,\n TError = Error,\n> extends EditControllerBaseResult<RecordType> {\n record: RecordType;\n error: TError;\n isPending: false;\n}\nexport interface EditControllerSuccessResult<RecordType extends RaRecord = any>\n extends EditControllerBaseResult<RecordType> {\n record: RecordType;\n error: null;\n isPending: false;\n}\n\nexport type EditControllerResult<RecordType extends RaRecord = any> =\n | EditControllerLoadingResult<RecordType>\n | EditControllerLoadingErrorResult<RecordType>\n | EditControllerRefetchErrorResult<RecordType>\n | EditControllerSuccessResult<RecordType>;\n","import { useContext } from 'react';\nimport { RecordContext } from './RecordContext';\nimport { RaRecord } from '../../types';\n\n/**\n * Hook to read the record from a RecordContext.\n *\n * Must be used within a <RecordContext> such as provided by the <EditContextProvider>\n * (e.g. as a descendent of <Edit> or <EditBase>) or within a <ShowContextProvider>\n * (e.g. as a descendent of <Show> or <ShowBase>)\n *\n * @example // basic usage\n *\n * import { useRecordContext } from 'ra-core';\n *\n * const TitleField = () => {\n * const record = useRecordContext();\n * return <span>{record && record.title}</span>;\n * };\n *\n * @example // allow record override via props\n *\n * import { useRecordContext } from 'ra-core';\n *\n * const TitleField = (props) => {\n * const record = useRecordContext(props);\n * return <span>{record && record.title}</span>;\n * };\n * render(<TextField record={record} />);\n *\n * @returns {RaRecord} A record object\n */\nexport const useRecordContext = <\n RecordType extends RaRecord | Omit<RaRecord, 'id'> = RaRecord,\n>(\n props?: UseRecordContextParams<RecordType>\n): RecordType | undefined => {\n // Can't find a way to specify the RecordType when CreateContext is declared\n // @ts-ignore\n const context = useContext<RecordType | undefined>(RecordContext);\n\n return (props && props.record) || context;\n};\n\nexport interface UseRecordContextParams<\n RecordType extends RaRecord | Omit<RaRecord, 'id'> = RaRecord,\n> {\n record?: RecordType;\n [key: string]: any;\n}\n","import * as React from 'react';\nimport { ReactElement } from 'react';\nimport { RaRecord } from '../../types';\nimport { RecordContextProvider } from './RecordContext';\n\n/**\n * Wrap children with a RecordContext provider only if the value is defined.\n *\n * Allows a component to work outside of a record context.\n *\n * @example\n *\n * import { OptionalRecordContextProvider, TextField } from 'react-admin';\n *\n * const RecordTitle = ({ record }) => (\n * <OptionalRecordContextProvider value={record}>\n * <TextField source=\"title\" />\n * </OptionalRecordContextProvider>\n * );\n */\nexport const OptionalRecordContextProvider = <\n RecordType extends RaRecord | Omit<RaRecord, 'id'> = RaRecord,\n>({\n value,\n children,\n}: {\n children: ReactElement;\n value?: RecordType;\n}) =>\n value ? (\n <RecordContextProvider value={value}>{children}</RecordContextProvider>\n ) : (\n children\n );\n","import * as React from 'react';\nimport { useGetRecordRepresentation, useResourceContext } from '../../core';\nimport { RaRecord } from '../../types';\nimport { useRecordContext } from './useRecordContext';\n\n/**\n * Render the record representation as specified on its parent <Resource>.\n * @param props The component props\n * @param {string} props.resource The resource name\n * @param {RaRecord} props.record The record to render\n */\nexport const RecordRepresentation = (props: {\n record?: RaRecord;\n resource?: string;\n}) => {\n const record = useRecordContext(props);\n const resource = useResourceContext(props);\n const getRecordRepresentation = useGetRecordRepresentation(resource);\n\n return <>{getRecordRepresentation(record)}</>;\n};\n","import { createContext } from 'react';\nimport { EditControllerResult } from './useEditController';\n\n/**\n * Context to store the result of the useEditController() hook.\n *\n * Use the useEditContext() hook to read the context. That's what the Edit components do in react-admin.\n *\n * @example\n *\n * import { useEditController, EditContextProvider } from 'ra-core';\n *\n * const Edit = props => {\n * const controllerProps = useEditController(props);\n * return (\n * <EditContextProvider value={controllerProps}>\n * ...\n * </EditContextProvider>\n * );\n * };\n */\nexport const EditContext = createContext<EditControllerResult | null>(null);\n\nEditContext.displayName = 'EditContext';\n","import * as React from 'react';\nimport { ReactNode } from 'react';\nimport { RaRecord } from '../../types';\nimport { RecordContextProvider } from '../record';\nimport { SaveContextProvider, usePickSaveContext } from '../saveContext';\nimport { EditContext } from './EditContext';\nimport { EditControllerResult } from './useEditController';\n\n/**\n * Create an Edit Context.\n *\n * @example\n *\n * const MyEdit = (props) => {\n * const controllerProps = useEditController(props);\n * return (\n * <EditContextProvider value={controllerProps}>\n * <MyEditView>\n * </EditContextProvider>\n * );\n * };\n *\n * const MyEditView = () => {\n * const record = useRecordContext();\n * // or, to rerender only when the save operation change but not data\n * const { saving } = useEditContext();\n * }\n *\n * @see EditContext\n * @see RecordContext\n */\nexport const EditContextProvider = ({\n children,\n value,\n}: {\n children: ReactNode;\n value: EditControllerResult;\n}) => (\n <EditContext.Provider value={value}>\n <SaveContextProvider value={usePickSaveContext(value)}>\n <RecordContextProvider<Partial<RaRecord>>\n value={value && value.record}\n >\n {children}\n </RecordContextProvider>\n </SaveContextProvider>\n </EditContext.Provider>\n);\n","import * as React from 'react';\nimport { ReactNode } from 'react';\n\nimport { RaRecord } from '../../types';\nimport { useEditController, EditControllerProps } from './useEditController';\nimport { EditContextProvider } from './EditContextProvider';\nimport { ResourceContextProvider } from '../../core';\n\n/**\n * Call useEditController and put the value in a EditContext\n *\n * Base class for <Edit> components, without UI.\n *\n * Accepts any props accepted by useEditController:\n * - id: The record identifier\n * - resource: The resource\n *\n * @example // Custom edit layout\n *\n * const PostEdit = () => (\n * <EditBase resource=\"posts\">\n * <Grid container>\n * <Grid item xs={8}>\n * <SimpleForm>\n * ...\n * </SimpleForm>\n * </Grid>\n * <Grid item xs={4}>\n * Edit instructions...\n * </Grid>\n * </Grid>\n * <div>\n * Post related links...\n * </div>\n * </EditBase>\n * );\n */\nexport const EditBase = <RecordType extends RaRecord = any>({\n children,\n ...props\n}: { children: ReactNode } & EditControllerProps<RecordType>) => {\n const controllerProps = useEditController<RecordType>(props);\n const body = (\n <EditContextProvider value={controllerProps}>\n {children}\n </EditContextProvider>\n );\n return props.resource ? (\n // support resource override via props\n <ResourceContextProvider value={props.resource}>\n {body}\n </ResourceContextProvider>\n ) : (\n body\n );\n};\n","import { useContext } from 'react';\n\nimport { RaRecord } from '../../types';\nimport { EditContext } from './EditContext';\nimport { EditControllerResult } from './useEditController';\n\n/**\n * Hook to read the edit controller props from the EditContext.\n *\n * Used within a <EditContextProvider> (e.g. as a descendent of <Edit>).\n *\n * @returns {EditControllerResult} edit controller props\n *\n * @see useEditController for how it is filled\n */\nexport const useEditContext = <\n RecordType extends RaRecord = any,\n>(): EditControllerResult<RecordType> => {\n const context = useContext(EditContext);\n if (!context) {\n throw new Error(\n 'useEditContext must be used inside an EditContextProvider'\n );\n }\n return context;\n};\n","import { createContext, useContext } from 'react';\nimport type { UseReferenceFieldControllerResult } from './useReferenceFieldController';\n\nexport const ReferenceFieldContext =\n createContext<UseReferenceFieldControllerResult | null>(null);\n\nexport const ReferenceFieldContextProvider = ReferenceFieldContext.Provider;\n\nexport const useReferenceFieldContext = () => {\n const context = useContext(ReferenceFieldContext);\n if (!context) {\n throw new Error(\n 'useReferenceFieldContext must be used inside a ReferenceFieldContextProvider'\n );\n }\n return context;\n};\n","import { RaRecord, Identifier } from '../types';\nimport { UseGetManyHookValue, useGetManyAggregate } from '../dataProvider';\nimport { UseQueryOptions } from '@tanstack/react-query';\n\ninterface UseReferenceProps<RecordType extends RaRecord = any> {\n id: Identifier;\n reference: string;\n options?: Omit<UseQueryOptions<RecordType[]>, 'queryFn' | 'queryKey'> & {\n meta?: any;\n };\n}\n\nexport interface UseReferenceResult<RecordType extends RaRecord = any> {\n isLoading: boolean;\n isPending: boolean;\n isFetching: boolean;\n referenceRecord?: RecordType;\n error?: any;\n refetch: UseGetManyHookValue<RecordType>['refetch'];\n}\n\n/**\n * @typedef UseReferenceResult\n * @type {Object}\n * @property {boolean} isFetching: boolean indicating if the reference is loading\n * @property {boolean} isLoading: boolean indicating if the reference has loaded at least once\n * @property {Object} referenceRecord: the referenced record.\n */\n\n/**\n * Fetch reference record, and return it when available\n *\n * The reference prop should be the name of one of the <Resource> components\n * added as <Admin> child.\n *\n * @example\n *\n * const { isLoading, referenceRecord } = useReference({\n * id: 7,\n * reference: 'users',\n * });\n *\n * @param {Object} option\n * @param {string} option.reference The linked resource name\n * @param {string} option.id The id of the reference\n * @param {Object} option.options Options passed to the dataProvider\n *\n * @returns {UseReferenceResult} The reference record\n */\nexport const useReference = <RecordType extends RaRecord = RaRecord>({\n reference,\n id,\n options = {},\n}: UseReferenceProps<RecordType>): UseReferenceResult<RecordType> => {\n const { meta, ...otherQueryOptions } = options;\n const { data, error, isLoading, isFetching, isPending, refetch } =\n useGetManyAggregate<RecordType>(\n reference,\n { ids: [id], meta },\n otherQueryOptions\n );\n return {\n referenceRecord: error ? undefined : data ? data[0] : undefined,\n refetch,\n error,\n isLoading,\n isFetching,\n isPending,\n };\n};\n","import { useMemo } from 'react';\nimport { UseQueryOptions } from '@tanstack/react-query';\nimport { RaRecord } from '../../types';\nimport { LinkToType, useCreatePath } from '../../routing';\nimport { UseReferenceResult, useReference } from '../useReference';\nimport { useResourceDefinition } from '../../core';\nimport { useFieldValue } from '../../util';\n\nexport const useReferenceFieldController = <\n ReferenceRecordType extends RaRecord = RaRecord,\n>(\n options: UseReferenceFieldControllerOptions<ReferenceRecordType>\n): UseReferenceFieldControllerResult<ReferenceRecordType> => {\n const { link = 'edit', reference, queryOptions } = options;\n if (!reference) {\n throw new Error(\n 'useReferenceFieldController: missing reference prop. You must provide a reference, e.g. reference=\"posts\".'\n );\n }\n const id = useFieldValue(options);\n const referenceRecordQuery = useReference<ReferenceRecordType>({\n reference,\n id,\n options: {\n ...queryOptions,\n enabled:\n (queryOptions?.enabled == null ||\n queryOptions?.enabled === true) &&\n id != null,\n },\n });\n\n const createPath = useCreatePath();\n const resourceDefinition = useResourceDefinition({ resource: reference });\n\n const result = useMemo(\n () =>\n ({\n ...referenceRecordQuery,\n link:\n referenceRecordQuery.referenceRecord != null\n ? link === false ||\n (link === 'edit' && !resourceDefinition.hasEdit) ||\n (link === 'show' && !resourceDefinition.hasShow)\n ? false\n : createPath({\n resource: reference,\n id: referenceRecordQuery.referenceRecord.id,\n type:\n typeof link === 'function'\n ? link(\n referenceRecordQuery.referenceRecord,\n reference\n )\n : link,\n })\n : undefined,\n }) as const,\n [createPath, link, reference, referenceRecordQuery, resourceDefinition]\n );\n return result;\n};\n\nexport interface UseReferenceFieldControllerOptions<\n ReferenceRecordType extends RaRecord = RaRecord,\n> {\n source: string;\n queryOptions?: Partial<\n UseQueryOptions<ReferenceRecordType[], Error> & {\n meta?: any;\n }\n >;\n reference: string;\n link?: LinkToType<ReferenceRecordType>;\n}\n\nexport interface UseReferenceFieldControllerResult<\n ReferenceRecordType extends RaRecord = RaRecord,\n> extends UseReferenceResult<ReferenceRecordType> {\n link?: string | false;\n}\n","import * as React from 'react';\nimport { ReactNode } from 'react';\nimport { UseQueryOptions } from '@tanstack/react-query';\nimport { ReferenceFieldContextProvider } from './ReferenceFieldContext';\nimport { RaRecord } from '../../types';\nimport { useReferenceFieldController } from './useReferenceFieldController';\nimport { ResourceContextProvider } from '../../core';\nimport { RecordContextProvider } from '../record';\n\n/**\n * Fetch reference record, and render its representation, or delegate rendering to child component.\n *\n * The reference prop should be the name of one of the <Resource> components\n * added as <Admin> child.\n *\n * @example // using recordRepresentation\n * <ReferenceFieldBase label=\"User\" source=\"userId\" reference=\"users\" />\n *\n * @example // using a Field component to represent the record\n * <ReferenceFieldBase label=\"User\" source=\"userId\" reference=\"users\">\n * <TextField source=\"name\" />\n * </ReferenceFieldBase>\n *\n * @example // By default, includes a link to the <Edit> page of the related record\n * // (`/users/:userId` in the previous example).\n * // Set the `link` prop to \"show\" to link to the <Show> page instead.\n * <ReferenceFieldBase label=\"User\" source=\"userId\" reference=\"users\" link=\"show\" />\n *\n * @example // You can also prevent `<ReferenceFieldBase>` from adding link to children\n * // by setting `link` to false.\n * <ReferenceFieldBase label=\"User\" source=\"userId\" reference=\"users\" link={false} />\n *\n * @example // Alternatively, you can also pass a custom function to `link`.\n * // It must take reference and record as arguments and return a string\n * <ReferenceFieldBase label=\"User\" source=\"userId\" reference=\"users\" link={(record, reference) => \"/path/to/${reference}/${record}\"} />\n *\n * @default\n * In previous versions of React-Admin, the prop `linkType` was used. It is now deprecated and replaced with `link`. However\n * backward-compatibility is still kept\n */\nexport const ReferenceFieldBase = <\n ReferenceRecordType extends RaRecord = RaRecord,\n>(\n props: ReferenceFieldBaseProps<ReferenceRecordType>\n) => {\n const { children } = props;\n\n const controllerProps =\n useReferenceFieldController<ReferenceRecordType>(props);\n\n return (\n <ResourceContextProvider value={props.reference}>\n <ReferenceFieldContextProvider value={controllerProps}>\n <RecordContextProvider value={controllerProps.referenceRecord}>\n {children}\n </RecordContextProvider>\n </ReferenceFieldContextProvider>\n </ResourceContextProvider>\n );\n};\n\nexport interface ReferenceFieldBaseProps<\n ReferenceRecordType extends RaRecord = RaRecord,\n> {\n children?: ReactNode;\n className?: string;\n error?: ReactNode;\n queryOptions?: Partial<\n UseQueryOptions<ReferenceRecordType[], Error> & {\n meta?: any;\n }\n >;\n reference: string;\n source: string;\n}\n","/* jshint node:true */\n 'use strict';\n\n module.exports = \"\\n\";\n ","'use strict';\n\nmodule.exports.isFunction = function (fn) {\n var getType = {};\n return fn && getType.toString.call(fn) === '[object Function]';\n};\n\nmodule.exports.isArray = function (arr) {\n return Array.isArray(arr);\n};\n\nmodule.exports.isObject = function (obj) {\n return obj instanceof Object;\n};\n\nmodule.exports.isString = function (str) {\n return typeof str === 'string';\n};\n\nmodule.exports.isNumber = function (num) {\n return typeof num === 'number';\n};\n\nmodule.exports.isBoolean = function (bool) {\n return typeof bool === 'boolean';\n};\n\nmodule.exports.isDate = function (date) {\n return date instanceof Date;\n};","'use strict';\n\nvar EOL = require('./eol');\nvar helper = require('./helper');\n\nmodule.exports = function joinRows(rows, join) {\n if (!rows || !helper.isArray(rows)) {\n throw new TypeError('Invalid params \"rows\" for joinRows.' + ' Must be an array of string.');\n }\n //Merge all rows in a single output with the correct End of Line string\n var r = rows.join(join || EOL || '\\n');\n return r;\n};","/* jshint node:true */\n'use strict';\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar helper = require('../core/helper');\n\nvar Handler = function () {\n function Handler(options) {\n _classCallCheck(this, Handler);\n\n this._options = options;\n\n // an object of {typeName:(value,index,parent)=>any}\n this._options.typeHandlers = this._options.typeHandlers || {};\n }\n\n /**\n * Check if results needing mapping to alternate value\n *\n * @returns [{item, value}] result\n */\n\n\n _createClass(Handler, [{\n key: '_setHeaders',\n value: function _setHeaders(result, item) {\n var self = this;\n if (!item) return result;\n return result.map(function (element) {\n element.item = element.item ? item + self._options.headerPathString + element.item : item;\n return element;\n });\n }\n }, {\n key: 'castValue',\n value: function castValue(element, item, index, parent) {\n //cast by matching constructor\n var types = this._options.typeHandlers;\n for (var type in types) {\n if (isInstanceOfTypeName(element, type)) {\n element = types[type].call(types, element, index, parent);\n break; //first match we move on\n }\n }\n\n return element;\n }\n }, {\n key: 'checkComplex',\n value: function checkComplex(element, item) {\n //Check if element is a Date\n if (helper.isDate(element)) {\n return [{\n item: item,\n value: (this._options.handleDate || this._handleDate)(element, item)\n }];\n }\n //Check if element is an Array\n else if (helper.isArray(element)) {\n var resultArray = this._handleArray(element, item);\n return this._setHeaders(resultArray, item);\n }\n //Check if element is a Object\n else if (helper.isObject(element)) {\n var resultObject = this._handleObject(element);\n return this._setHeaders(resultObject, item);\n }\n\n return [{\n item: item,\n value: ''\n }];\n }\n\n /**\n * Check the element type of the element call the correct handle function\n *\n * @param element Element that will be checked\n * @param item Used to make the headers/path breadcrumb\n * @returns [{item, value}] result\n */\n\n }, {\n key: 'check',\n value: function check(element, item, index, parent) {\n element = this.castValue(element, item, index, parent);\n // try simple value by highier performance switch\n switch (typeof element === 'undefined' ? 'undefined' : _typeof(element)) {\n case 'string':\n return [{\n item: item,\n value: this._handleString(element, item)\n }];\n\n case 'number':\n return [{\n item: item,\n value: this._handleNumber(element, item)\n }];\n\n case 'boolean':\n return [{\n item: item,\n value: this._handleBoolean.bind(this)(element, item)\n }];\n }\n\n return this.checkComplex(element, item);\n }\n\n /**\n * Handle all Objects\n *\n * @param {Object} obj\n * @returns [{item, value}] result\n */\n\n }, {\n key: '_handleObject',\n value: function _handleObject(obj) {\n var result = [];\n //Look every object props\n for (var prop in obj) {\n var propData = obj[prop];\n //Check the propData type\n var resultCheckType = this.check(propData, prop, prop, obj);\n //Append to results aka merge results aka array-append-array\n result = result.concat(resultCheckType);\n }\n return result;\n }\n\n /**\n * Handle all Arrays, merges arrays with primitive types in a single value\n *\n * @param {Array} array\n * @returns [{item, value}] result\n */\n\n }, {\n key: '_handleArray',\n value: function _handleArray(array) {\n var self = this;\n var result = [];\n var firstElementWithoutItem;\n for (var aIndex = 0; aIndex < array.length; ++aIndex) {\n var element = array[aIndex];\n //Check the propData type\n var resultCheckType = self.check(element, null, aIndex, array);\n //Check for results without itens, merge all itens with the first occurrence\n if (resultCheckType.length === 0) continue;\n var firstResult = resultCheckType[0];\n if (!firstResult.item && firstElementWithoutItem !== undefined) {\n firstElementWithoutItem.value += self._options.arrayPathString + firstResult.value;\n continue;\n } else if (resultCheckType.length > 0 && !firstResult.item && firstElementWithoutItem === undefined) {\n firstElementWithoutItem = firstResult;\n }\n //Append to results\n result = result.concat(resultCheckType);\n }\n return result;\n }\n /**\n * Handle all Boolean variables, can be replaced with options.handleBoolean\n *\n * @param {Boolean} boolean\n * @returns {String} result\n */\n\n }, {\n key: '_handleBoolean',\n value: function _handleBoolean(boolean) {\n var result;\n //Check for booolean options\n if (boolean) {\n result = this._options.booleanTrueString || 'true';\n } else {\n result = this._options.booleanFalseString || 'false';\n }\n return result;\n }\n /**\n * Handle all String variables, can be replaced with options.handleString\n *\n * @param {String} string\n * @returns {String} string\n */\n\n }, {\n key: '_handleString',\n value: function _handleString(string) {\n return string;\n }\n /**\n * Handle all Number variables, can be replaced with options.handleNumber\n *\n * @param {Number} number\n * @returns {Number} number\n */\n\n }, {\n key: '_handleNumber',\n value: function _handleNumber(number) {\n return number;\n }\n /**\n * Handle all Date variables, can be replaced with options.handleDate\n *\n * @param {Date} number\n * @returns {string} result\n */\n\n }, {\n key: '_handleDate',\n value: function _handleDate(date) {\n return date.toLocaleDateString();\n }\n }]);\n\n return Handler;\n}();\n\nmodule.exports = Handler;\n\nvar globalScope = typeof window === \"undefined\" ? global : window;\nfunction isInstanceOfTypeName(element, typeName) {\n if (element instanceof globalScope[typeName]) {\n return true; //Buffer and complex objects\n }\n\n //literals in javascript cannot be checked by instance of\n switch (typeof element === 'undefined' ? 'undefined' : _typeof(element)) {\n case 'string':\n return typeName === \"String\";\n case 'boolean':\n return typeName === \"Boolean\";\n case 'number':\n return typeName === \"Number\";\n }\n\n return false;\n}","/* jshint node:true */\n'use strict';\n\n// Escape the textDelimiters contained in the field\n/*(https://tools.ietf.org/html/rfc4180)\n 7. If double-quotes are used to enclose fields, then a double-quote\n appearing inside a field must be escaped by preceding it with\n another double quote.\n For example: \"aaa\",\"b\"\"bb\",\"ccc\"\n*/\n\nmodule.exports = function escapedDelimiters(textDelimiter, rowDelimiter, forceTextDelimiter) {\n var endOfLine = '\\n';\n\n if (typeof textDelimiter !== 'string') {\n throw new TypeError('Invalid param \"textDelimiter\", must be a string.');\n }\n\n if (typeof rowDelimiter !== 'string') {\n throw new TypeError('Invalid param \"rowDelimiter\", must be a string.');\n }\n\n var textDelimiterRegex = new RegExp(\"\\\\\" + textDelimiter, 'g');\n var escapedDelimiter = textDelimiter + textDelimiter;\n\n var enclosingCondition = textDelimiter === '\"' ? function (value) {\n return value.indexOf(rowDelimiter) >= 0 || value.indexOf(endOfLine) >= 0 || value.indexOf('\"') >= 0;\n } : function (value) {\n return value.indexOf(rowDelimiter) >= 0 || value.indexOf(endOfLine) >= 0;\n };\n\n return function (value) {\n if (forceTextDelimiter) value = \"\" + value;\n\n if (!value.replace) return value;\n // Escape the textDelimiters contained in the field\n value = value.replace(textDelimiterRegex, escapedDelimiter);\n\n // Escape the whole field if it contains a rowDelimiter or a linebreak or double quote\n if (forceTextDelimiter || enclosingCondition(value)) {\n value = textDelimiter + value + textDelimiter;\n }\n\n return value;\n };\n};","/* jshint node:true */\n'use strict';\n\n/**\n * Module dependencies.\n */\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar joinRows = require('../core/join-rows');\nvar Handler = require('./handler');\nvar helper = require('../core/helper');\n\nvar Parser = function () {\n function Parser(options) {\n _classCallCheck(this, Parser);\n\n this._options = options || {};\n this._handler = new Handler(this._options);\n this._headers = this._options.headers || [];\n this._escape = require('../core/escape-delimiters')(this._options.textDelimiter, this._options.rowDelimiter, this._options.forceTextDelimiter);\n }\n\n /**\n * Generates a CSV file with optional headers based on the passed JSON,\n * with can be an Object or Array.\n *\n * @param {Object|Array} json\n * @param {Function} done(err,csv) - Callback function\n * if error, returning error in call back.\n * if csv is created successfully, returning csv output to callback.\n */\n\n\n _createClass(Parser, [{\n key: 'parse',\n value: function parse(json, done, stream) {\n if (helper.isArray(json)) return done(null, this._parseArray(json, stream));else if (helper.isObject(json)) return done(null, this._parseObject(json));\n return done(new Error('Unable to parse the JSON object, its not an Array or Object.'));\n }\n }, {\n key: '_checkRows',\n value: function _checkRows(rows) {\n var lastRow = null;\n var finalRows = [];\n var fillGaps = function fillGaps(col, index) {\n return col === '' || col === undefined ? lastRow[index] : col;\n };\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = rows[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var row = _step.value;\n\n var missing = this._headers.length - row.length;\n if (missing > 0) row = row.concat(Array(missing).join(\".\").split(\".\"));\n if (lastRow && this._options.fillGaps) row = row.map(fillGaps);\n finalRows.push(row.join(this._options.rowDelimiter));\n lastRow = row;\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n return finalRows;\n }\n }, {\n key: '_parseArray',\n value: function _parseArray(json, stream) {\n var self = this;\n this._headers = this._headers || [];\n var fileRows = [];\n var outputFile = void 0;\n var fillRows = void 0;\n\n var getHeaderIndex = function getHeaderIndex(header) {\n var index = self._headers.indexOf(header);\n if (index === -1) {\n self._headers.push(header);\n index = self._headers.indexOf(header);\n }\n return index;\n };\n\n //Generate the csv output\n fillRows = function fillRows(result) {\n var rows = [];\n var fillAndPush = function fillAndPush(row) {\n return rows.push(row.map(function (col) {\n return col != null ? col : '';\n }));\n };\n // initialize the array with empty strings to handle 'unpopular' headers\n var newRow = function newRow() {\n return new Array(self._headers.length).fill(null);\n };\n var emptyRowIndexByHeader = {};\n var currentRow = newRow();\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n for (var _iterator2 = result[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var element = _step2.value;\n\n var elementHeaderIndex = getHeaderIndex(element.item);\n if (currentRow[elementHeaderIndex] != undefined) {\n fillAndPush(currentRow);\n currentRow = newRow();\n }\n emptyRowIndexByHeader[elementHeaderIndex] = emptyRowIndexByHeader[elementHeaderIndex] || 0;\n // make sure there isn't a empty row for this header\n if (self._options.fillTopRow && emptyRowIndexByHeader[elementHeaderIndex] < rows.length) {\n rows[emptyRowIndexByHeader[elementHeaderIndex]][elementHeaderIndex] = self._escape(element.value);\n emptyRowIndexByHeader[elementHeaderIndex] += 1;\n continue;\n }\n currentRow[elementHeaderIndex] = self._escape(element.value);\n emptyRowIndexByHeader[elementHeaderIndex] += 1;\n }\n // push last row\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n\n if (currentRow.length > 0) {\n fillAndPush(currentRow);\n }\n fileRows = fileRows.concat(self._checkRows(rows));\n };\n var _iteratorNormalCompletion3 = true;\n var _didIteratorError3 = false;\n var _iteratorError3 = undefined;\n\n try {\n for (var _iterator3 = json[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n var item = _step3.value;\n\n //Call checkType to list all items inside this object\n //Items are returned as a object {item: 'Prop Value, Item Name', value: 'Prop Data Value'}\n var itemResult = self._handler.check(item, self._options.mainPathItem, item, json);\n fillRows(itemResult);\n }\n } catch (err) {\n _didIteratorError3 = true;\n _iteratorError3 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion3 && _iterator3.return) {\n _iterator3.return();\n }\n } finally {\n if (_didIteratorError3) {\n throw _iteratorError3;\n }\n }\n }\n\n if (!stream && self._options.includeHeaders) {\n //Add the headers to the first line\n fileRows.unshift(this.headers);\n }\n\n return joinRows(fileRows, self._options.endOfLine);\n }\n }, {\n key: '_parseObject',\n value: function _parseObject(json) {\n var self = this;\n var fileRows = [];\n var parseResult = [];\n var outputFile = void 0;\n var fillRows = void 0;\n var horizontalRows = [[], []];\n\n fillRows = function fillRows(result) {\n var value = result.value || result.value === 0 ? result.value.toString() : self._options.undefinedString;\n value = self._escape(value);\n\n //Type header;value\n if (self._options.verticalOutput) {\n var row = [result.item, value];\n fileRows.push(row.join(self._options.rowDelimiter));\n } else {\n horizontalRows[0].push(result.item);\n horizontalRows[1].push(value);\n }\n };\n for (var prop in json) {\n var prefix = \"\";\n if (this._options.mainPathItem) prefix = this._options.mainPathItem + this._options.headerPathString;\n parseResult = this._handler.check(json[prop], prefix + prop, prop, json);\n\n parseResult.forEach(fillRows);\n }\n if (!this._options.verticalOutput) {\n fileRows.push(horizontalRows[0].join(this._options.rowDelimiter));\n fileRows.push(horizontalRows[1].join(this._options.rowDelimiter));\n }\n return joinRows(fileRows, this._options.endOfLine);\n }\n }, {\n key: 'headers',\n get: function get() {\n var _this = this;\n\n var headers = this._headers;\n\n if (this._options.rename && this._options.rename.length > 0) headers = headers.map(function (header) {\n return _this._options.rename[_this._options.headers.indexOf(header)] || header;\n });\n\n if (this._options.forceTextDelimiter) {\n headers = headers.map(function (header) {\n return '' + _this._options.textDelimiter + header + _this._options.textDelimiter;\n });\n }\n\n if (this._options.mapHeaders) headers = headers.map(this._options.mapHeaders);\n\n return headers.join(this._options.rowDelimiter);\n }\n }]);\n\n return Parser;\n}();\n\nmodule.exports = Parser;","/* jshint node:true */\n 'use strict';\n\n var Stream = function (_Transform) {\n throw new Error(\"jsonexport called without third argument as a callback and is required\")\n }\n\n module.exports = Stream;\n ","/* jshint node:true */\n'use strict';\n/**\n * Module dependencies.\n */\n//const _ = require('underscore');\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar Parser = require('./parser/csv');\nvar Stream = require('./core/stream');\nvar helper = require('./core/helper');\nvar EOL = require('./core/eol');\n\n/**\n * Main function that converts json to csv\n *\n * @param {Object|Array} json\n * @param {Object} [options]\n * @param {Function} callback(err, csv) - Callback function\n * if error, returning error in call back.\n * if csv is created successfully, returning csv output to callback.\n */\nmodule.exports = function () {\n var DEFAULT_OPTIONS = {\n headers: [], // Array\n rename: [], // Array\n headerPathString: '.', // String\n rowDelimiter: ',', // String\n textDelimiter: '\"', // String\n arrayPathString: ';', // String\n undefinedString: '', // String\n endOfLine: EOL || '\\n', // String\n mainPathItem: null, // String\n booleanTrueString: null, // String\n booleanFalseString: null, // String\n includeHeaders: true, // Boolean\n fillGaps: false, // Boolean\n verticalOutput: true, // Boolean\n forceTextDelimiter: false //Boolean\n };\n // argument parsing\n var json = void 0,\n userOptions = void 0,\n callback = void 0;\n if (arguments.length === 3) {\n var _arguments = Array.prototype.slice.call(arguments);\n\n json = _arguments[0];\n userOptions = _arguments[1];\n callback = _arguments[2];\n } else if (arguments.length === 2) {\n var any = void 0;\n\n var _arguments2 = Array.prototype.slice.call(arguments);\n\n json = _arguments2[0];\n any = _arguments2[1];\n\n if (typeof any === 'function') {\n callback = any;\n } else if ((typeof any === 'undefined' ? 'undefined' : _typeof(any)) === 'object') {\n userOptions = any;\n }\n } else if (arguments.length === 1) {\n var _arguments3 = Array.prototype.slice.call(arguments),\n _any = _arguments3[0];\n\n if ((typeof _any === 'undefined' ? 'undefined' : _typeof(_any)) === 'object') {\n var defaultKeys = Object.keys(DEFAULT_OPTIONS);\n var objectKeys = Object.keys(_any);\n var isOptions = objectKeys.every(function (key) {\n return defaultKeys.includes(key);\n });\n if (objectKeys.length > 0 && isOptions) {\n userOptions = _any;\n } else {\n json = _any;\n }\n } else {\n json = _any;\n }\n } else {\n return new Stream(new Parser(DEFAULT_OPTIONS));\n }\n var options = Object.assign({}, DEFAULT_OPTIONS, userOptions);\n var parser = new Parser(options);\n // if no json is provided Stream API will be used\n if (!json) {\n return new Stream(parser);\n }\n // always return an promise\n return new Promise(function (resolve, reject) {\n parser.parse(json, function (err, result) {\n if (callback) return callback(err, result);\n if (err) return reject(err);\n if (reject) return resolve(result);\n });\n });\n};","export const downloadCSV = (csv: string, filename: string = 'export'): void => {\n const fakeLink = document.createElement('a');\n fakeLink.style.display = 'none';\n document.body.appendChild(fakeLink);\n const blob = new Blob([csv], { type: 'text/csv;charset=utf-8' });\n // @ts-ignore\n if (window.navigator && window.navigator.msSaveOrOpenBlob) {\n // Manage IE11+ & Edge\n // @ts-ignore\n window.navigator.msSaveOrOpenBlob(blob, `${filename}.csv`);\n } else {\n fakeLink.setAttribute('href', URL.createObjectURL(blob));\n fakeLink.setAttribute('download', `${filename}.csv`);\n fakeLink.click();\n }\n};\n","import jsonExport from 'jsonexport/dist';\n\nimport { downloadCSV } from './downloadCSV';\nimport { Exporter } from '../types';\n\nexport const defaultExporter: Exporter = (data, _, __, resource) =>\n jsonExport(data, (err, csv) => downloadCSV(csv, resource));\n","import { RaRecord, Identifier } from '../types';\n\n/**\n * Extracts, aggregates and deduplicates the ids of related records\n *\n * @example\n * const books = [\n * { id: 1, author_id: 123, title: 'Pride and Prejudice' },\n * { id: 2, author_id: 123, title: 'Sense and Sensibility' },\n * { id: 3, author_id: 456, title: 'War and Peace' },\n * ];\n * getRelatedIds(books, 'author_id'); => [123, 456]\n *\n * @example\n * const books = [\n * { id: 1, tag_ids: [1, 2], title: 'Pride and Prejudice' },\n * { id: 2, tag_ids: [2, 3], title: 'Sense and Sensibility' },\n * { id: 3, tag_ids: [4], title: 'War and Peace' },\n * ];\n * getRelatedIds(records, 'tag_ids'); => [1, 2, 3, 4]\n *\n * @param {Object[]} records An array of records\n * @param {string} field the identifier of the record field to use\n */\nexport const getRelatedIds = (\n records: RaRecord[],\n field: string\n): Identifier[] =>\n Array.from(\n new Set(\n records\n .filter(record => record[field] != null)\n .map(record => record[field])\n .reduce((ids, value) => ids.concat(value), [])\n )\n );\n","import { DataProvider, FetchRelatedRecords } from '../types';\nimport { getRelatedIds } from './getRelatedIds';\n\n/**\n * Helper function for calling the dataProvider.getMany() method,\n * and getting a Promise for the records indexed by id in return.\n *\n * @example\n * fetchRelatedRecords(dataProvider)(records, 'post_id', 'posts').then(posts =>\n * posts.map(record => ({\n * ...record,\n * post_title: posts[record.post_id].title,\n * }))\n * );\n */\nexport const fetchRelatedRecords =\n (dataProvider: DataProvider): FetchRelatedRecords =>\n (data, field, resource) =>\n dataProvider\n .getMany(resource, { ids: getRelatedIds(data, field) })\n .then(({ data }) =>\n data.reduce((acc, post) => {\n acc[post.id] = post;\n return acc;\n }, {})\n );\n","import { useCallback, useMemo, useState } from 'react';\n\nimport { useStore, useRemoveFromStore } from '../../store';\nimport { RaRecord } from '../../types';\n\ntype UseRecordSelectionWithResourceArgs = {\n resource: string;\n disableSyncWithStore?: false;\n};\ntype UseRecordSelectionWithNoStoreArgs = {\n resource?: string;\n disableSyncWithStore: true;\n};\n\nexport type UseRecordSelectionArgs =\n | UseRecordSelectionWithResourceArgs\n | UseRecordSelectionWithNoStoreArgs;\n\nexport type UseRecordSelectionResult<RecordType extends RaRecord = any> = [\n RecordType['id'][],\n {\n select: (ids: RecordType['id'][]) => void;\n unselect: (ids: RecordType['id'][]) => void;\n toggle: (id: RecordType['id']) => void;\n clearSelection: () => void;\n },\n];\n\n/**\n * Get the list of selected items for a resource, and callbacks to change the selection\n *\n * @param args.resource The resource name, e.g. 'posts'\n * @param args.disableSyncWithStore Controls the selection syncronization with the store\n *\n * @returns {Object} Destructure as [selectedIds, { select, toggle, clearSelection }].\n */\nexport const useRecordSelection = <RecordType extends RaRecord = any>(\n args: UseRecordSelectionArgs\n): UseRecordSelectionResult<RecordType> => {\n const { resource = '', disableSyncWithStore = false } = args;\n\n const storeKey = `${resource}.selectedIds`;\n\n const [localIds, setLocalIds] =\n useState<RecordType['id'][]>(defaultSelection);\n // As we can't conditionally call a hook, if the storeKey is false,\n // we'll ignore the params variable later on and won't call setParams either.\n const [storeIds, setStoreIds] = useStore<RecordType['id'][]>(\n storeKey,\n defaultSelection\n );\n const resetStore = useRemoveFromStore(storeKey);\n\n const ids = disableSyncWithStore ? localIds : storeIds;\n const setIds = disableSyncWithStore ? setLocalIds : setStoreIds;\n\n const reset = useCallback(() => {\n if (disableSyncWithStore) {\n setLocalIds(defaultSelection);\n } else {\n resetStore();\n }\n }, [disableSyncWithStore, resetStore]);\n\n const selectionModifiers = useMemo(\n () => ({\n select: (idsToAdd: RecordType['id'][]) => {\n if (!idsToAdd) return;\n setIds([...idsToAdd]);\n },\n unselect(idsToRemove: RecordType['id'][]) {\n if (!idsToRemove || idsToRemove.length === 0) return;\n setIds(ids => {\n if (!Array.isArray(ids)) return [];\n return ids.filter(id => !idsToRemove.includes(id));\n });\n },\n toggle: (id: RecordType['id']) => {\n if (typeof id === 'undefined') return;\n setIds(ids => {\n if (!Array.isArray(ids)) return [...ids];\n const index = ids.indexOf(id);\n return index > -1\n ? [...ids.slice(0, index), ...ids.slice(index + 1)]\n : [...ids, id];\n });\n },\n clearSelection: () => {\n reset();\n },\n }),\n [setIds, reset]\n );\n\n return [ids, selectionModifiers];\n};\n\nconst defaultSelection = [];\n","var Stack = require('./_Stack'),\n baseIsEqual = require('./_baseIsEqual');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\nfunction baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (index--) {\n var data = matchData[index];\n if ((noCustomizer && data[2])\n ? data[1] !== object[data[0]]\n : !(data[0] in object)\n ) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var stack = new Stack;\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n if (!(result === undefined\n ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n}\n\nmodule.exports = baseIsMatch;\n","var isObject = require('./isObject');\n\n/**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\nfunction isStrictComparable(value) {\n return value === value && !isObject(value);\n}\n\nmodule.exports = isStrictComparable;\n","var isStrictComparable = require('./_isStrictComparable'),\n keys = require('./keys');\n\n/**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\nfunction getMatchData(object) {\n var result = keys(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n}\n\nmodule.exports = getMatchData;\n","/**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n}\n\nmodule.exports = matchesStrictComparable;\n","var baseIsMatch = require('./_baseIsMatch'),\n getMatchData = require('./_getMatchData'),\n matchesStrictComparable = require('./_matchesStrictComparable');\n\n/**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n}\n\nmodule.exports = baseMatches;\n","var baseIsEqual = require('./_baseIsEqual'),\n get = require('./get'),\n hasIn = require('./hasIn'),\n isKey = require('./_isKey'),\n isStrictComparable = require('./_isStrictComparable'),\n matchesStrictComparable = require('./_matchesStrictComparable'),\n toKey = require('./_toKey');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? hasIn(object, path)\n : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);\n };\n}\n\nmodule.exports = baseMatchesProperty;\n","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = baseProperty;\n","var baseGet = require('./_baseGet');\n\n/**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n}\n\nmodule.exports = basePropertyDeep;\n","var baseProperty = require('./_baseProperty'),\n basePropertyDeep = require('./_basePropertyDeep'),\n isKey = require('./_isKey'),\n toKey = require('./_toKey');\n\n/**\n * Creates a function that returns the value at `path` of a given object.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var objects = [\n * { 'a': { 'b': 2 } },\n * { 'a': { 'b': 1 } }\n * ];\n *\n * _.map(objects, _.property('a.b'));\n * // => [2, 1]\n *\n * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n * // => [1, 2]\n */\nfunction property(path) {\n return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\n}\n\nmodule.exports = property;\n","var baseMatches = require('./_baseMatches'),\n baseMatchesProperty = require('./_baseMatchesProperty'),\n identity = require('./identity'),\n isArray = require('./isArray'),\n property = require('./property');\n\n/**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\nfunction baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n}\n\nmodule.exports = baseIteratee;\n","var arrayMap = require('./_arrayMap'),\n baseIteratee = require('./_baseIteratee'),\n basePickBy = require('./_basePickBy'),\n getAllKeysIn = require('./_getAllKeysIn');\n\n/**\n * Creates an object composed of the `object` properties `predicate` returns\n * truthy for. The predicate is invoked with two arguments: (value, key).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The source object.\n * @param {Function} [predicate=_.identity] The function invoked per property.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.pickBy(object, _.isNumber);\n * // => { 'a': 1, 'c': 3 }\n */\nfunction pickBy(object, predicate) {\n if (object == null) {\n return {};\n }\n var props = arrayMap(getAllKeysIn(object), function(prop) {\n return [prop];\n });\n predicate = baseIteratee(predicate);\n return basePickBy(object, props, function(value, path) {\n return predicate(value, path[0]);\n });\n}\n\nmodule.exports = pickBy;\n","import * as React from 'react';\nimport { useState, useRef, useEffect, useCallback } from 'react';\nimport isEqual from 'lodash/isEqual';\n\n// thanks Kent C Dodds for the following helpers\n\nexport function useSafeSetState<T>(\n initialState?: T | (() => T)\n): [T | undefined, React.Dispatch<React.SetStateAction<T>>] {\n const [state, setState] = useState(initialState);\n\n const mountedRef = useRef(false);\n useEffect(() => {\n mountedRef.current = true;\n return () => {\n mountedRef.current = false;\n };\n }, []);\n const safeSetState = useCallback(\n args => {\n if (mountedRef.current) {\n return setState(args);\n }\n },\n [mountedRef, setState]\n );\n\n return [state, safeSetState];\n}\n\nexport function usePrevious(value) {\n const ref = useRef();\n useEffect(() => {\n ref.current = value;\n });\n return ref.current;\n}\n\nexport function useDeepCompareEffect(callback, inputs) {\n const cleanupRef = useRef();\n useEffect(() => {\n if (!isEqual(previousInputs, inputs)) {\n cleanupRef.current = callback();\n }\n return cleanupRef.current;\n });\n const previousInputs = usePrevious(inputs);\n}\n\n/**\n * A hook that returns true once a delay has expired.\n * @param ms The delay in milliseconds\n * @param key A key that can be used to reset the timer\n * @returns true if the delay has expired, false otherwise\n */\nexport function useTimeout(ms = 0, key = '') {\n const [ready, setReady] = useSafeSetState(false);\n\n useEffect(() => {\n setReady(false);\n let timer = setTimeout(() => {\n setReady(true);\n }, ms);\n\n return () => {\n clearTimeout(timer);\n };\n }, [key, ms, setReady]);\n\n return ready;\n}\n\nexport function useIsMounted() {\n const isMounted = useRef(true);\n useEffect(() => {\n isMounted.current = true;\n return () => {\n isMounted.current = false;\n };\n }, []);\n return isMounted;\n}\n","import { useCallback, useMemo, useEffect, useState, useRef } from 'react';\nimport { parse, stringify } from 'query-string';\nimport lodashDebounce from 'lodash/debounce';\nimport pickBy from 'lodash/pickBy';\nimport { useNavigate, useLocation } from 'react-router-dom';\n\nimport { useStore } from '../../store';\nimport queryReducer, {\n SET_FILTER,\n HIDE_FILTER,\n SHOW_FILTER,\n SET_PAGE,\n SET_PER_PAGE,\n SET_SORT,\n SORT_ASC,\n} from './queryReducer';\nimport { SortPayload, FilterPayload } from '../../types';\nimport removeEmpty from '../../util/removeEmpty';\nimport { useIsMounted } from '../../util/hooks';\n\nexport interface ListParams {\n sort: string;\n order: 'ASC' | 'DESC';\n page: number;\n perPage: number;\n filter: any;\n displayedFilters: any;\n}\n\n/**\n * Get the list parameters (page, sort, filters) and modifiers.\n *\n * These parameters are merged from 3 sources:\n * - the query string from the URL\n * - the params stored in the state (from previous navigation)\n * - the options passed to the hook (including the filter defaultValues)\n *\n * @returns {Array} A tuple [parameters, modifiers].\n * Destructure as [\n * { page, perPage, sort, order, filter, filterValues, displayedFilters, requestSignature },\n * { setFilters, hideFilter, showFilter, setPage, setPerPage, setSort }\n * ]\n *\n * @example\n *\n * const [listParams, listParamsActions] = useListParams({\n * resource: 'posts',\n * location: location // From react-router. Injected to your component by react-admin inside a List\n * filterDefaultValues: {\n * published: true\n * },\n * sort: {\n * field: 'published_at',\n * order: 'DESC'\n * },\n * perPage: 25\n * });\n *\n * const {\n * page,\n * perPage,\n * sort,\n * order,\n * filter,\n * filterValues,\n * displayedFilters,\n * requestSignature\n * } = listParams;\n *\n * const {\n * setFilters,\n * hideFilter,\n * showFilter,\n * setPage,\n * setPerPage,\n * setSort,\n * } = listParamsActions;\n */\nexport const useListParams = ({\n debounce = 500,\n disableSyncWithLocation = false,\n filterDefaultValues,\n perPage = 10,\n resource,\n sort = defaultSort,\n storeKey = `${resource}.listParams`,\n}: ListParamsOptions): [Parameters, Modifiers] => {\n const location = useLocation();\n const navigate = useNavigate();\n const [localParams, setLocalParams] = useState(defaultParams);\n // As we can't conditionally call a hook, if the storeKey is false,\n // we'll ignore the params variable later on and won't call setParams either.\n const [params, setParams] = useStore(\n storeKey || `${resource}.listParams`,\n defaultParams\n );\n const tempParams = useRef<ListParams>();\n const isMounted = useIsMounted();\n const disableSyncWithStore = storeKey === false;\n\n const requestSignature = [\n location.search,\n resource,\n storeKey,\n JSON.stringify(\n disableSyncWithLocation || disableSyncWithStore\n ? localParams\n : params\n ),\n JSON.stringify(filterDefaultValues),\n JSON.stringify(sort),\n perPage,\n disableSyncWithLocation,\n ];\n\n const queryFromLocation = disableSyncWithLocation\n ? {}\n : parseQueryFromLocation(location);\n\n const query = useMemo(\n () =>\n getQuery({\n queryFromLocation,\n params:\n disableSyncWithLocation || disableSyncWithStore\n ? localParams\n : params,\n filterDefaultValues,\n sort,\n perPage,\n }),\n requestSignature // eslint-disable-line react-hooks/exhaustive-deps\n );\n\n // if the location includes params (for example from a link like\n // the categories products on the demo), we need to persist them in the\n // store as well so that we don't lose them after a redirection back\n // to the list\n useEffect(() => {\n if (\n Object.keys(queryFromLocation).length > 0 &&\n !disableSyncWithStore\n ) {\n setParams(query);\n }\n }, [location.search]); // eslint-disable-line\n\n const changeParams = useCallback(\n action => {\n // do not change params if the component is already unmounted\n // this is necessary because changeParams can be debounced, and therefore\n // executed after the component is unmounted\n if (!isMounted.current) return;\n\n if (!tempParams.current) {\n // no other changeParams action dispatched this tick\n tempParams.current = queryReducer(query, action);\n // schedule side effects for next tick\n setTimeout(() => {\n if (!tempParams.current) {\n // the side effects were already processed by another changeParams\n return;\n }\n if (disableSyncWithLocation) {\n setLocalParams(tempParams.current);\n } else {\n // the useEffect above will apply the changes to the params in the store\n navigate(\n {\n search: `?${stringify({\n ...tempParams.current,\n filter: JSON.stringify(\n tempParams.current.filter\n ),\n displayedFilters: JSON.stringify(\n tempParams.current.displayedFilters\n ),\n })}`,\n },\n {\n state: {\n _scrollToTop: action.type === SET_PAGE,\n },\n }\n );\n }\n tempParams.current = undefined;\n }, 0);\n } else {\n // side effects already scheduled, just change the params\n tempParams.current = queryReducer(tempParams.current, action);\n }\n },\n [...requestSignature, navigate] // eslint-disable-line react-hooks/exhaustive-deps\n );\n\n const setSort = useCallback(\n (sort: SortPayload) =>\n changeParams({\n type: SET_SORT,\n payload: sort,\n }),\n [changeParams]\n );\n\n const setPage = useCallback(\n (newPage: number) => changeParams({ type: SET_PAGE, payload: newPage }),\n [changeParams]\n );\n\n const setPerPage = useCallback(\n (newPerPage: number) =>\n changeParams({ type: SET_PER_PAGE, payload: newPerPage }),\n [changeParams]\n );\n\n const filterValues = query.filter || emptyObject;\n const displayedFilterValues = query.displayedFilters || emptyObject;\n\n const debouncedSetFilters = lodashDebounce((filter, displayedFilters) => {\n changeParams({\n type: SET_FILTER,\n payload: {\n filter: removeEmpty(filter),\n displayedFilters,\n },\n });\n }, debounce);\n\n const setFilters = useCallback(\n (filter, displayedFilters = undefined, debounce = false) =>\n debounce\n ? debouncedSetFilters(filter, displayedFilters)\n : changeParams({\n type: SET_FILTER,\n payload: {\n filter: removeEmpty(filter),\n displayedFilters,\n },\n }),\n [changeParams] // eslint-disable-line react-hooks/exhaustive-deps\n );\n\n const hideFilter = useCallback(\n (filterName: string) => {\n changeParams({\n type: HIDE_FILTER,\n payload: filterName,\n });\n },\n [changeParams]\n );\n\n const showFilter = useCallback(\n (filterName: string, defaultValue: any) => {\n changeParams({\n type: SHOW_FILTER,\n payload: {\n filterName,\n defaultValue,\n },\n });\n },\n [changeParams]\n );\n\n return [\n {\n filterValues,\n requestSignature,\n ...query,\n displayedFilters: displayedFilterValues,\n },\n {\n changeParams,\n setPage,\n setPerPage,\n setSort,\n setFilters,\n hideFilter,\n showFilter,\n },\n ];\n};\n\nexport const validQueryParams = [\n 'page',\n 'perPage',\n 'sort',\n 'order',\n 'filter',\n 'displayedFilters',\n];\n\nconst parseObject = (query, field) => {\n if (query[field] && typeof query[field] === 'string') {\n try {\n query[field] = JSON.parse(query[field]);\n } catch (err) {\n delete query[field];\n }\n }\n};\n\nexport const parseQueryFromLocation = ({ search }): Partial<ListParams> => {\n const query = pickBy(\n parse(search),\n (v, k) => validQueryParams.indexOf(k) !== -1\n );\n parseObject(query, 'filter');\n parseObject(query, 'displayedFilters');\n return query;\n};\n\n/**\n * Check if user has already set custom sort, page, or filters for this list\n *\n * User params come from the store as the params props. By default,\n * this object is:\n *\n * { filter: {}, order: null, page: 1, perPage: null, sort: null }\n *\n * To check if the user has custom params, we must compare the params\n * to these initial values.\n *\n * @param {Object} params\n */\nexport const hasCustomParams = (params: ListParams) => {\n return (\n params &&\n params.filter &&\n (Object.keys(params.filter).length > 0 ||\n params.order != null ||\n params.page !== 1 ||\n params.perPage != null ||\n params.sort != null)\n );\n};\n\n/**\n * Merge list params from 3 different sources:\n * - the query string\n * - the params stored in the state (from previous navigation)\n * - the props passed to the List component (including the filter defaultValues)\n */\nexport const getQuery = ({\n queryFromLocation,\n params,\n filterDefaultValues,\n sort,\n perPage,\n}) => {\n const query: Partial<ListParams> =\n Object.keys(queryFromLocation).length > 0\n ? queryFromLocation\n : hasCustomParams(params)\n ? { ...params }\n : { filter: filterDefaultValues || {} };\n\n if (!query.sort) {\n query.sort = sort.field;\n query.order = sort.order;\n }\n if (query.perPage == null) {\n query.perPage = perPage;\n }\n if (query.page == null) {\n query.page = 1;\n }\n\n return {\n ...query,\n page: getNumberOrDefault(query.page, 1),\n perPage: getNumberOrDefault(query.perPage, 10),\n } as ListParams;\n};\n\nexport const getNumberOrDefault = (\n possibleNumber: string | number | undefined,\n defaultValue: number\n) => {\n if (typeof possibleNumber === 'undefined') {\n return defaultValue;\n }\n const parsedNumber =\n typeof possibleNumber === 'string'\n ? parseInt(possibleNumber, 10)\n : possibleNumber;\n\n return isNaN(parsedNumber) ? defaultValue : parsedNumber;\n};\n\nexport interface ListParamsOptions {\n debounce?: number;\n // Whether to disable the synchronization of the list parameters with\n // the current location (URL search parameters)\n disableSyncWithLocation?: boolean;\n // default value for a filter when displayed but not yet set\n filterDefaultValues?: FilterPayload;\n perPage?: number;\n resource: string;\n sort?: SortPayload;\n storeKey?: string | false;\n}\n\ninterface Parameters extends ListParams {\n filterValues: object;\n displayedFilters: {\n [key: string]: boolean;\n };\n requestSignature: any[];\n}\n\ninterface Modifiers {\n changeParams: (action: any) => void;\n setPage: (page: number) => void;\n setPerPage: (pageSize: number) => void;\n setSort: (sort: SortPayload) => void;\n setFilters: (\n filters: any,\n displayedFilters?: any,\n debounce?: boolean\n ) => void;\n hideFilter: (filterName: string) => void;\n showFilter: (filterName: string, defaultValue: any) => void;\n}\n\nconst emptyObject = {};\n\nconst defaultSort = {\n field: 'id',\n order: SORT_ASC,\n} as const;\n\nconst defaultParams = {};\n","import { createContext } from 'react';\nimport { ListControllerResult } from './useListController';\n\n/**\n * Context to store the result of the useListController() hook.\n *\n * Use the useListContext() hook to read the context. That's what many\n * List components do in react-admin (e.g. <Datagrid>, <FilterForm>, <Pagination>).\n *\n * @typedef {Object} ListControllerProps\n * @prop {Array} data an array of the list records, e.g. [{ id: 123, title: 'hello world' }, { ... }]\n * @prop {integer} total the total number of results for the current filters, excluding pagination. Useful to build the pagination controls. e.g. 23\n * @prop {boolean} isFetching boolean that is true on mount, and false once the data was fetched\n * @prop {boolean} isLoading boolean that is false until the data is available\n * @prop {integer} page the current page. Starts at 1\n * @prop {Function} setPage a callback to change the page, e.g. setPage(3)\n * @prop {integer} perPage the number of results per page. Defaults to 25\n * @prop {Function} setPerPage a callback to change the number of results per page, e.g. setPerPage(25)\n * @prop {Object} sort a sort object { field, order }, e.g. { field: 'date', order: 'DESC' }\n * @prop {Function} setSort a callback to change the sort, e.g. setSort({ field: 'name', order: 'ASC' })\n * @prop {Object} filterValues a dictionary of filter values, e.g. { title: 'lorem', nationality: 'fr' }\n * @prop {Function} setFilters a callback to update the filters, e.g. setFilters(filters, displayedFilters)\n * @prop {Object} displayedFilters a dictionary of the displayed filters, e.g. { title: true, nationality: true }\n * @prop {Function} showFilter a callback to show one of the filters, e.g. showFilter('title', defaultValue)\n * @prop {Function} hideFilter a callback to hide one of the filters, e.g. hideFilter('title')\n * @prop {Array} selectedIds an array listing the ids of the selected rows, e.g. [123, 456]\n * @prop {Function} onSelect callback to change the list of selected rows, e.g. onSelect([456, 789])\n * @prop {Function} onToggleItem callback to toggle the selection of a given record based on its id, e.g. onToggleItem(456)\n * @prop {Function} onUnselectItems callback to clear the selection, e.g. onUnselectItems();\n * @prop {string} defaultTitle the translated title based on the resource, e.g. 'Posts'\n * @prop {string} resource the resource name, deduced from the location. e.g. 'posts'\n * @prop {Function} refetch a function for triggering a refetch of the list data\n *\n * @typedef Props\n * @prop {ListControllerResult} value\n *\n * @param {Props}\n *\n * @see useListController\n * @see useListContext\n *\n * @example\n *\n * import { useListController, ListContext } from 'ra-core';\n *\n * const List = props => {\n * const controllerProps = useListController(props);\n * return (\n * <ListContext.Provider value={controllerProps}>\n * ...\n * </ListContext.Provider>\n * );\n * };\n */\nexport const ListContext = createContext<ListControllerResult | null>(null);\n\nListContext.displayName = 'ListContext';\n","import { createContext, useMemo } from 'react';\nimport pick from 'lodash/pick';\nimport { ListControllerResult } from './useListController';\n\n/**\n * Context to store the filter part of the useListController() result.\n *\n * Use the useListFilterContext() hook to read the context. That's what many\n * List components do in react-admin (e.g. <FilterForm>, <FilterListItem>).\n *\n * @typedef {Object} ListFilterContextValue\n * @prop {Object} filterValues a dictionary of filter values, e.g. { title: 'lorem', nationality: 'fr' }\n * @prop {Function} setFilters a callback to update the filters, e.g. setFilters(filters, displayedFilters)\n * @prop {Object} displayedFilters a dictionary of the displayed filters, e.g. { title: true, nationality: true }\n * @prop {Function} showFilter a callback to show one of the filters, e.g. showFilter('title', defaultValue)\n * @prop {Function} hideFilter a callback to hide one of the filters, e.g. hideFilter('title')\n * @prop {string} resource the resource name, deduced from the location. e.g. 'posts'\n *\n * @typedef Props\n * @prop {ListFilterContextValue} value\n *\n * @param {Props}\n *\n * @see useListController\n * @see useListFilterContext\n *\n * @example\n *\n * import { useListController, usePickFilterContext, ListFilterContext } from 'ra-core';\n *\n * const List = props => {\n * const controllerProps = useListController(props);\n * return (\n * <ListFilterContext.Provider value={usePickFilterContext(controllerProps)}>\n * ...\n * </ListFilterContext.Provider>\n * );\n * };\n */\nexport const ListFilterContext = createContext<\n ListFilterContextValue | undefined\n>(undefined);\n\nexport type ListFilterContextValue = Pick<\n ListControllerResult,\n | 'displayedFilters'\n | 'filterValues'\n | 'hideFilter'\n | 'setFilters'\n | 'showFilter'\n | 'resource'\n>;\n\nexport const usePickFilterContext = (\n context: ListControllerResult\n): ListFilterContextValue =>\n useMemo(\n () =>\n pick(context, [\n 'displayedFilters',\n 'filterValues',\n 'hideFilter',\n 'setFilters',\n 'showFilter',\n 'resource',\n ]),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n context.displayedFilters,\n context.filterValues,\n context.hideFilter,\n context.setFilters,\n context.showFilter,\n ]\n );\n\nListFilterContext.displayName = 'ListFilterContext';\n","import { createContext, useMemo } from 'react';\nimport pick from 'lodash/pick';\nimport { ListControllerResult } from './useListController';\n\n/**\n * Context to store the sort part of the useListController() result.\n *\n * Use the useListSortContext() hook to read the context. That's what many\n * List components do in react-admin (e.g. <SortButton>).\n *\n * @typedef {Object} ListSortContextValue\n * @prop {Object} sort a sort object { field, order }, e.g. { field: 'date', order: 'DESC' }\n * @prop {Function} setSort a callback to change the sort, e.g. setSort({ field: 'name', order: 'ASC' })\n * @prop {string} resource the resource name, deduced from the location. e.g. 'posts'\n *\n * @typedef Props\n * @prop {ListSortContextValue} value\n *\n * @param {Props}\n *\n * @see useListController\n * @see useListSortContext\n *\n * @example\n *\n * import { useListController, usePickSortContext, ListSortContext } from 'ra-core';\n *\n * const List = props => {\n * const controllerProps = useListController(props);\n * return (\n * <ListSortContext.Provider value={usePickSortContext(controllerProps)}>\n * ...\n * </ListSortContext.Provider>\n * );\n * };\n */\nexport const ListSortContext = createContext<ListSortContextValue | undefined>(\n undefined\n);\n\nexport type ListSortContextValue = Pick<\n ListControllerResult,\n 'sort' | 'setSort' | 'resource'\n>;\n\nexport const usePickSortContext = (\n context: ListControllerResult\n): ListSortContextValue =>\n useMemo(\n () => pick(context, ['sort', 'setSort', 'resource']),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [context.sort, context.setSort]\n );\n\nListSortContext.displayName = 'ListSortContext';\n","import { createContext, useMemo } from 'react';\nimport pick from 'lodash/pick';\nimport { ListControllerResult } from './useListController';\n\n/**\n * Context to store the pagination part of the useListController() result.\n *\n * Use the useListPaginationContext() hook to read the pagination information.\n * That's what List components do in react-admin (e.g. <Pagination>).\n *\n * @typedef {Object} ListPaginationContextValue\n * @prop {boolean} isLoading boolean that is false until the data is available\n * @prop {integer} total the total number of results for the current filters, excluding pagination. Useful to build the pagination controls. e.g. 23\n * @prop {integer} page the current page. Starts at 1\n * @prop {Function} setPage a callback to change the page, e.g. setPage(3)\n * @prop {integer} perPage the number of results per page. Defaults to 25\n * @prop {Function} setPerPage a callback to change the number of results per page, e.g. setPerPage(25)\n * @prop {Boolean} hasPreviousPage true if the current page is not the first one\n * @prop {Boolean} hasNextPage true if the current page is not the last one\n\n * @prop {string} resource the resource name, deduced from the location. e.g. 'posts'\n *\n * @typedef Props\n * @prop {ListPaginationContextValue} value\n *\n * @param {Props}\n *\n * @see useListController\n * @see useListContext\n *\n * @example\n *\n * import { useListController, ListPaginationContext } from 'ra-core';\n *\n * const List = props => {\n * const controllerProps = useListController(props);\n * return (\n * <ListPaginationContext.Provider value={controllerProps}>\n * ...\n * </ListPaginationContext.Provider>\n * );\n * };\n */\nexport const ListPaginationContext = createContext<\n ListPaginationContextValue | undefined\n>(undefined);\n\nListPaginationContext.displayName = 'ListPaginationContext';\n\nexport type ListPaginationContextValue = Pick<\n ListControllerResult,\n | 'isLoading'\n | 'isPending'\n | 'hasPreviousPage'\n | 'hasNextPage'\n | 'page'\n | 'perPage'\n | 'setPage'\n | 'setPerPage'\n | 'total'\n | 'resource'\n>;\n\nexport const usePickPaginationContext = (\n context: ListControllerResult\n): ListPaginationContextValue =>\n useMemo(\n () =>\n pick(context, [\n 'isLoading',\n 'isPending',\n 'hasPreviousPage',\n 'hasNextPage',\n 'page',\n 'perPage',\n 'setPage',\n 'setPerPage',\n 'total',\n 'resource',\n ]),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n context.isLoading,\n context.isPending,\n context.hasPreviousPage,\n context.hasNextPage,\n context.page,\n context.perPage,\n context.setPage,\n context.setPerPage,\n context.total,\n ]\n );\n","import * as React from 'react';\nimport { ListContext } from './ListContext';\nimport { ListFilterContext, usePickFilterContext } from './ListFilterContext';\nimport { ListSortContext, usePickSortContext } from './ListSortContext';\nimport {\n ListPaginationContext,\n usePickPaginationContext,\n} from './ListPaginationContext';\nimport { ListControllerResult } from './useListController';\n\n/**\n * Create a List Context and several thematic List subcontext.\n *\n * Allows children to subscribe to part of the ListContext, and bail out of\n * rendering when some parts of the context that they don't depend on change\n * (because unfortunately React doesn't allow to use context selectors yet).\n *\n * @example\n *\n * const MyList = (props) => {\n * const controllerProps = useListController(props);\n * return (\n * <ListContextProvider value={controllerProps}>\n * <MyListView>\n * </ListContextProvider>\n * );\n * };\n *\n * const MyListView = () => {\n * const { data, filterValues, setFilters } = useListContext();\n * // or, to rerender only when filters change but not data\n * const { filterValues, setFilters } = useListFilterContext();\n * }\n *\n * @see ListContext\n * @see ListFilterContext\n */\nexport const ListContextProvider = ({\n value,\n children,\n}: {\n value: ListControllerResult;\n children: React.ReactNode;\n}) => (\n <ListContext.Provider value={value}>\n <ListFilterContext.Provider value={usePickFilterContext(value)}>\n <ListSortContext.Provider value={usePickSortContext(value)}>\n <ListPaginationContext.Provider\n value={usePickPaginationContext(value)}\n >\n {children}\n </ListPaginationContext.Provider>\n </ListSortContext.Provider>\n </ListFilterContext.Provider>\n </ListContext.Provider>\n);\n","import { isValidElement, useEffect, useMemo } from 'react';\n\nimport { useAuthenticated } from '../../auth';\nimport { useTranslate } from '../../i18n';\nimport { useNotify } from '../../notification';\nimport {\n useGetList,\n UseGetListHookValue,\n UseGetListOptions,\n} from '../../dataProvider';\nimport { SORT_ASC } from './queryReducer';\nimport { defaultExporter } from '../../export';\nimport { FilterPayload, SortPayload, RaRecord, Exporter } from '../../types';\nimport { useResourceContext, useGetResourceLabel } from '../../core';\nimport { useRecordSelection } from './useRecordSelection';\nimport { useListParams } from './useListParams';\n\n/**\n * Prepare data for the List view\n *\n * @param {Object} props The props passed to the List component.\n *\n * @return {Object} controllerProps Fetched and computed data for the List view\n *\n * @example\n *\n * import { useListController } from 'react-admin';\n * import ListView from './ListView';\n *\n * const MyList = props => {\n * const controllerProps = useListController(props);\n * return <ListView {...controllerProps} {...props} />;\n * }\n */\nexport const useListController = <RecordType extends RaRecord = any>(\n props: ListControllerProps<RecordType> = {}\n): ListControllerResult<RecordType> => {\n const {\n debounce = 500,\n disableAuthentication,\n disableSyncWithLocation,\n exporter = defaultExporter,\n filter,\n filterDefaultValues,\n perPage = 10,\n queryOptions = {},\n sort = defaultSort,\n storeKey,\n } = props;\n useAuthenticated({ enabled: !disableAuthentication });\n const resource = useResourceContext(props);\n const { meta, ...otherQueryOptions } = queryOptions;\n\n if (!resource) {\n throw new Error(\n `useListController requires a non-empty resource prop or context`\n );\n }\n if (filter && isValidElement(filter)) {\n throw new Error(\n 'useListController received a React element as `filter` props. If you intended to set the list filter elements, use the `filters` (with an s) prop instead. The `filter` prop is internal and should not be set by the developer.'\n );\n }\n\n const translate = useTranslate();\n const notify = useNotify();\n\n const [query, queryModifiers] = useListParams({\n debounce,\n disableSyncWithLocation,\n filterDefaultValues,\n perPage,\n resource,\n sort,\n storeKey,\n });\n\n const [selectedIds, selectionModifiers] = useRecordSelection({\n resource,\n disableSyncWithStore: storeKey === false,\n });\n\n const {\n data,\n pageInfo,\n total,\n error,\n isLoading,\n isFetching,\n isPending,\n refetch,\n } = useGetList<RecordType>(\n resource,\n {\n pagination: {\n page: query.page,\n perPage: query.perPage,\n },\n sort: { field: query.sort, order: query.order },\n filter: { ...query.filter, ...filter },\n meta,\n },\n {\n placeholderData: previousData => previousData,\n retry: false,\n onError: error =>\n notify(error?.message || 'ra.notification.http_error', {\n type: 'error',\n messageArgs: {\n _: error?.message,\n },\n }),\n ...otherQueryOptions,\n }\n );\n\n // change page if there is no data\n useEffect(() => {\n if (\n query.page <= 0 ||\n (!isFetching &&\n query.page > 1 &&\n (data == null || data?.length === 0))\n ) {\n // Query for a page that doesn't exist, set page to 1\n queryModifiers.setPage(1);\n return;\n }\n if (total == null) {\n return;\n }\n const totalPages = Math.ceil(total / query.perPage) || 1;\n if (!isFetching && query.page > totalPages) {\n // Query for a page out of bounds, set page to the last existing page\n // It occurs when deleting the last element of the last page\n queryModifiers.setPage(totalPages);\n }\n }, [isFetching, query.page, query.perPage, data, queryModifiers, total]);\n\n const currentSort = useMemo(\n () => ({\n field: query.sort,\n order: query.order,\n }),\n [query.sort, query.order]\n );\n\n const getResourceLabel = useGetResourceLabel();\n const defaultTitle = translate('ra.page.list', {\n name: getResourceLabel(resource, 2),\n });\n\n return {\n sort: currentSort,\n data,\n defaultTitle,\n displayedFilters: query.displayedFilters,\n error,\n exporter,\n filter,\n filterValues: query.filterValues,\n hideFilter: queryModifiers.hideFilter,\n isFetching,\n isLoading,\n isPending,\n onSelect: selectionModifiers.select,\n onToggleItem: selectionModifiers.toggle,\n onUnselectItems: selectionModifiers.clearSelection,\n page: query.page,\n perPage: query.perPage,\n refetch,\n resource,\n selectedIds,\n setFilters: queryModifiers.setFilters,\n setPage: queryModifiers.setPage,\n setPerPage: queryModifiers.setPerPage,\n setSort: queryModifiers.setSort,\n showFilter: queryModifiers.showFilter,\n total: total,\n hasNextPage: pageInfo\n ? pageInfo.hasNextPage\n : total != null\n ? query.page * query.perPage < total\n : undefined,\n hasPreviousPage: pageInfo ? pageInfo.hasPreviousPage : query.page > 1,\n } as ListControllerResult<RecordType>;\n};\n\nexport interface ListControllerProps<RecordType extends RaRecord = any> {\n /**\n * The debounce delay for filter queries in milliseconds. Defaults to 500ms.\n *\n * @see https://marmelab.com/react-admin/List.html#debounce\n * @example\n * // wait 1 seconds instead of 500 milliseconds befoce calling the dataProvider\n * const PostList = () => (\n * <List debounce={1000}>\n * ...\n * </List>\n * );\n */\n debounce?: number;\n\n /**\n * Allow anonymous access to the list view. Defaults to false.\n *\n * @see https://marmelab.com/react-admin/List.html#disableauthentication\n * @example\n * import { List } from 'react-admin';\n *\n * const BoolkList = () => (\n * <List disableAuthentication>\n * ...\n * </List>\n * );\n */\n disableAuthentication?: boolean;\n\n /**\n * Whether to disable the synchronization of the list parameters with the current location (URL search parameters)\n *\n * @see https://marmelab.com/react-admin/List.html#disablesyncwithlocation\n * @example\n * const Dashboard = () => (\n * <div>\n * // ...\n * <ResourceContextProvider value=\"posts\">\n * <List disableSyncWithLocation>\n * <SimpleList\n * primaryText={record => record.title}\n * secondaryText={record => `${record.views} views`}\n * tertiaryText={record => new Date(record.published_at).toLocaleDateString()}\n * />\n * </List>\n * </ResourceContextProvider>\n * <ResourceContextProvider value=\"comments\">\n * <List disableSyncWithLocation>\n * <SimpleList\n * primaryText={record => record.title}\n * secondaryText={record => `${record.views} views`}\n * tertiaryText={record => new Date(record.published_at).toLocaleDateString()}\n * />\n * </List>\n * </ResourceContextProvider>\n * </div>\n * )\n */\n disableSyncWithLocation?: boolean;\n\n /**\n * The function called when a user exports the list\n *\n * @see https://marmelab.com/react-admin/List.html#exporter\n * @example\n * import { List, downloadCSV } from 'react-admin';\n * import jsonExport from 'jsonexport/dist';\n *\n * const exporter = posts => {\n * const postsForExport = posts.map(post => {\n * const { backLinks, author, ...postForExport } = post; // omit backLinks and author\n * postForExport.author_name = post.author.name; // add a field\n * return postForExport;\n * });\n * jsonExport(postsForExport, {\n * headers: ['id', 'title', 'author_name', 'body'] // order fields in the export\n * }, (err, csv) => {\n * downloadCSV(csv, 'posts'); // download as 'posts.csv` file\n * });\n * };\n *\n * const PostList = () => (\n * <List exporter={exporter}>\n * ...\n * </List>\n * )\n */\n exporter?: Exporter<RecordType> | false;\n\n /**\n * Permanent filter applied to all getList queries, regardless of the user selected filters.\n *\n * @see https://marmelab.com/react-admin/List.html#filter\n * @example\n * export const PostList = () => (\n * <List filter={{ is_published: true }}>\n * ...\n * </List>\n * );\n */\n filter?: FilterPayload;\n\n /**\n * The filter to apply when calling getList if the filter is empty.\n *\n * @see https://marmelab.com/react-admin/List.html#filterdefaultvalues\n * @example\n * const postFilters = [\n * <TextInput label=\"Search\" source=\"q\" alwaysOn />,\n * <BooleanInput source=\"is_published\" alwaysOn />,\n * <TextInput source=\"title\" defaultValue=\"Hello, World!\" />,\n * ];\n *\n * export const PostList = () => (\n * <List filters={postFilters} filterDefaultValues={{ is_published: true }}>\n * ...\n * </List>\n * );\n */\n filterDefaultValues?: object;\n\n /**\n * The number of results per page. Defaults to 10.\n *\n * @see https://marmelab.com/react-admin/List.html#perpage\n * @example\n * export const PostList = () => (\n * <List perPage={25}>\n * ...\n * </List>\n * );\n */\n perPage?: number;\n\n /**\n * The options passed to react-query's useQuery when calling getList.\n *\n * @see https://marmelab.com/react-admin/List.html#queryoptions\n * @example\n * import { useNotify, useRedirect, List } from 'react-admin';\n *\n * const PostList = () => {\n * const notify = useNotify();\n * const redirect = useRedirect();\n *\n * const onError = (error) => {\n * notify(`Could not load list: ${error.message}`, { type: 'error' });\n * redirect('/dashboard');\n * };\n *\n * return (\n * <List queryOptions={{ onError }}>\n * ...\n * </List>\n * );\n * }\n */\n queryOptions?: UseGetListOptions<RecordType>;\n\n /**\n * The resource name. Defaults to the resource from ResourceContext.\n *\n * @see https://marmelab.com/react-admin/List.html#resource\n * @example\n * import { List } from 'react-admin';\n *\n * const PostList = () => (\n * <List resource=\"posts\">\n * ...\n * </List>\n * );\n */\n resource?: string;\n\n /**\n * The default sort field and order. Defaults to { field: 'id', order: 'ASC' }.\n *\n * @see https://marmelab.com/react-admin/List.html#sort\n * @example\n * export const PostList = () => (\n * <List sort={{ field: 'published_at', order: 'DESC' }}>\n * ...\n * </List>\n * );\n */\n sort?: SortPayload;\n\n /**\n * The key to use to store the current filter & sort. Pass false to disable.\n *\n * @see https://marmelab.com/react-admin/List.html#storekey\n * @example\n * const NewerBooks = () => (\n * <List\n * resource=\"books\"\n * storeKey=\"newerBooks\"\n * sort={{ field: 'year', order: 'DESC' }}\n * >\n * ...\n * </List>\n * );\n */\n storeKey?: string | false;\n}\n\nconst defaultSort = {\n field: 'id',\n order: SORT_ASC,\n} as const;\n\nexport const injectedProps = [\n 'sort',\n 'data',\n 'defaultTitle',\n 'displayedFilters',\n 'error',\n 'exporter',\n 'filterValues',\n 'hasNextPage',\n 'hasPreviousPage',\n 'hideFilter',\n 'isFetching',\n 'isLoading',\n 'isPending',\n 'onSelect',\n 'onToggleItem',\n 'onUnselectItems',\n 'page',\n 'perPage',\n 'refetch',\n 'refresh',\n 'resource',\n 'selectedIds',\n 'setFilters',\n 'setPage',\n 'setPerPage',\n 'setSort',\n 'showFilter',\n 'total',\n 'totalPages',\n];\n\n/**\n * Select the props injected by the useListController hook\n * to be passed to the List children need\n * This is an implementation of pick()\n */\nexport const getListControllerProps = props =>\n injectedProps.reduce((acc, key) => ({ ...acc, [key]: props[key] }), {});\n\n/**\n * Select the props not injected by the useListController hook\n * to be used inside the List children to sanitize props injected by List\n * This is an implementation of omit()\n */\nexport const sanitizeListRestProps = props =>\n Object.keys(props)\n .filter(propName => !injectedProps.includes(propName))\n .reduce((acc, key) => ({ ...acc, [key]: props[key] }), {});\n\nexport interface ListControllerBaseResult<RecordType extends RaRecord = any> {\n sort: SortPayload;\n defaultTitle?: string;\n displayedFilters: any;\n exporter?: Exporter | false;\n filter?: FilterPayload;\n filterValues: any;\n hideFilter: (filterName: string) => void;\n onSelect: (ids: RecordType['id'][]) => void;\n onToggleItem: (id: RecordType['id']) => void;\n onUnselectItems: () => void;\n page: number;\n perPage: number;\n refetch: (() => void) | UseGetListHookValue<RecordType>['refetch'];\n resource: string;\n selectedIds: RecordType['id'][];\n setFilters: (\n filters: any,\n displayedFilters?: any,\n debounce?: boolean\n ) => void;\n setPage: (page: number) => void;\n setPerPage: (page: number) => void;\n setSort: (sort: SortPayload) => void;\n showFilter: (filterName: string, defaultValue: any) => void;\n hasNextPage?: boolean;\n hasPreviousPage?: boolean;\n isFetching?: boolean;\n isLoading?: boolean;\n}\n\nexport interface ListControllerLoadingResult<RecordType extends RaRecord = any>\n extends ListControllerBaseResult<RecordType> {\n data: undefined;\n total: undefined;\n error: null;\n isPending: true;\n}\nexport interface ListControllerErrorResult<\n RecordType extends RaRecord = any,\n TError = Error,\n> extends ListControllerBaseResult<RecordType> {\n data: undefined;\n total: undefined;\n error: TError;\n isPending: false;\n}\nexport interface ListControllerRefetchErrorResult<\n RecordType extends RaRecord = any,\n TError = Error,\n> extends ListControllerBaseResult<RecordType> {\n data: RecordType[];\n total: number;\n error: TError;\n isPending: false;\n}\nexport interface ListControllerSuccessResult<RecordType extends RaRecord = any>\n extends ListControllerBaseResult<RecordType> {\n data: RecordType[];\n total: number;\n error: null;\n isPending: false;\n}\n\nexport type ListControllerResult<RecordType extends RaRecord = any> =\n | ListControllerLoadingResult<RecordType>\n | ListControllerErrorResult<RecordType>\n | ListControllerRefetchErrorResult<RecordType>\n | ListControllerSuccessResult<RecordType>;\n","import * as React from 'react';\nimport { ReactNode } from 'react';\nimport { useListController, ListControllerProps } from './useListController';\nimport { ResourceContextProvider } from '../../core';\nimport { RaRecord } from '../../types';\nimport { ListContextProvider } from './ListContextProvider';\n\n/**\n * Call useListController and put the value in a ListContext\n *\n * Base class for <List> components, without UI.\n *\n * Accepts any props accepted by useListController:\n * - filter: permanent filter applied to the list\n * - filters: Filter element, to display the filters\n * - filterDefaultValues: object;\n * - perPage: Number of results per page\n * - sort: Default sort\n * - exporter: exported function\n *\n * @example // Custom list layout\n *\n * const PostList = () => (\n * <ListBase perPage={10}>\n * <div>\n * List metrics...\n * </div>\n * <Grid container>\n * <Grid item xs={8}>\n * <SimpleList primaryText={record => record.title} />\n * </Grid>\n * <Grid item xs={4}>\n * List instructions...\n * </Grid>\n * </Grid>\n * <div>\n * Post related links...\n * </div>\n * </ListBase>\n * );\n */\nexport const ListBase = <RecordType extends RaRecord = any>({\n children,\n ...props\n}: ListControllerProps<RecordType> & { children: ReactNode }) => (\n <ResourceContextProvider value={props.resource}>\n <ListContextProvider value={useListController<RecordType>(props)}>\n {children}\n </ListContextProvider>\n </ResourceContextProvider>\n);\n","import { useCallback } from 'react';\n\nimport { useStore } from '../../store';\nimport { Identifier } from '../../types';\n\n/**\n * State-like hook for controlling the expanded state of a list item\n *\n * @param {string} resource The resource name, e.g. 'posts'\n * @param {string|integer} id The record identifier, e.g. 123\n * @param {boolean} single Forces only one id to be expanded at a time\n * @returns {Object} Destructure as [expanded, toggleExpanded].\n *\n * @example\n *\n * const [expanded, toggleExpanded] = useExpanded('posts', 123);\n * const expandIcon = expanded ? ExpandLess : ExpandMore;\n * const onExpandClick = () => toggleExpanded();\n */\nexport const useExpanded = (\n resource: string,\n id: Identifier,\n single: boolean = false\n): [boolean, () => void] => {\n const [expandedIds, setExpandedIds] = useStore<Identifier[]>(\n `${resource}.datagrid.expanded`,\n []\n );\n const expanded = Array.isArray(expandedIds)\n ? // eslint-disable-next-line eqeqeq\n expandedIds.map(el => el == id).indexOf(true) !== -1\n : false;\n\n const toggleExpanded = useCallback(() => {\n setExpandedIds(ids => {\n if (!Array.isArray(ids)) {\n return [id];\n }\n const index = ids.findIndex(el => el == id); // eslint-disable-line eqeqeq\n return index > -1\n ? single\n ? []\n : [...ids.slice(0, index), ...ids.slice(index + 1)]\n : single\n ? [id]\n : [...ids, id];\n });\n }, [setExpandedIds, id, single]);\n\n return [expanded, toggleExpanded];\n};\n\n/**\n * State-like hook for controlling the expanded state of many list items\n * expanded state is true when at least one item from ids is expanded.\n *\n * @param {string} resource The resource name, e.g. 'posts'\n * @param {Identifier[]} ids A list of record identifiers\n * @returns {Object} Destructure as [expanded, toggleExpanded].\n *\n * @example\n *\n * const [expanded, toggleExpanded] = useExpandAll('posts', [123, 124, 125]);\n * const expandIcon = expanded ? ExpandLess : ExpandMore;\n * const onExpandClick = () => toggleExpanded();\n */\nexport const useExpandAll = (\n resource: string,\n ids: Identifier[]\n): [boolean, () => void] => {\n const [expandedIds, setExpandedIds] = useStore<Identifier[]>(\n `${resource}.datagrid.expanded`,\n []\n );\n\n const isExpanded = Array.isArray(expandedIds)\n ? // eslint-disable-next-line eqeqeq\n expandedIds.some(id => ids.some(id2 => id2 == id))\n : false;\n\n const toggleExpandedAll = useCallback(() => {\n const unaffectedExpandedIds = expandedIds.filter(\n // eslint-disable-next-line eqeqeq\n expanded_id => !ids.some(id => id == expanded_id)\n );\n setExpandedIds(\n isExpanded\n ? unaffectedExpandedIds\n : unaffectedExpandedIds.concat(ids)\n );\n }, [expandedIds, setExpandedIds, isExpanded, ids]);\n\n return [isExpanded, toggleExpandedAll];\n};\n","import { useCallback, useEffect, useRef } from 'react';\nimport get from 'lodash/get';\nimport isEqual from 'lodash/isEqual';\nimport { removeEmpty, useSafeSetState } from '../../util';\nimport { FilterPayload, RaRecord, SortPayload } from '../../types';\nimport { useResourceContext } from '../../core';\nimport usePaginationState from '../usePaginationState';\nimport useSortState from '../useSortState';\nimport { useRecordSelection } from './useRecordSelection';\nimport { ListControllerResult } from './useListController';\nimport { flattenObject } from '../../dataProvider/fetch';\n\nconst refetch = () => {\n throw new Error(\n 'refetch is not available for a ListContext built from useList based on local data'\n );\n};\n\n/**\n * Handle filtering, sorting and pagination on local data.\n *\n * Returns the data and callbacks expected by <ListContext>.\n *\n * @example\n * const data = [\n * { id: 1, name: 'Arnold' },\n * { id: 2, name: 'Sylvester' },\n * { id: 3, name: 'Jean-Claude' },\n * ]\n *\n * const MyComponent = () => {\n * const listContext = useList({ data });\n * return (\n * <ListContextProvider value={listContext}>\n * <Datagrid>\n * <TextField source=\"id\" />\n * <TextField source=\"name\" />\n * </Datagrid>\n * </ListContextProvider>\n * );\n * };\n *\n * @param {UseListOptions} props\n * @param {RaRecord[]} props.data An array of records\n * @param {Boolean} props.isFetching: Optional. A boolean indicating whether the data is being loaded\n * @param {Boolean} props.isLoading: Optional. A boolean indicating whether the data has been loaded at least once\n * @param {Error | String} props.error: Optional. The error if any occurred while loading the data\n * @param {Object} props.filter: Optional. An object containing the filters applied on the data\n * @param {Number} props.page: Optional. The initial page index\n * @param {Number} props.perPage: Optional. The initial page size\n * @param {SortPayload} props.sort: Optional. The initial sort (field and order)\n * @param {filterCallback} prop.filterCallback Optional. A function that allows you to make a custom filter\n */\nexport const useList = <RecordType extends RaRecord = any>(\n props: UseListOptions<RecordType>\n): UseListValue<RecordType> => {\n const {\n data,\n error,\n filter = defaultFilter,\n isFetching = false,\n isLoading = false,\n isPending = false,\n page: initialPage = 1,\n perPage: initialPerPage = 1000,\n sort: initialSort,\n filterCallback = (record: RecordType) => Boolean(record),\n } = props;\n const resource = useResourceContext(props);\n\n const [fetchingState, setFetchingState] = useSafeSetState<boolean>(\n isFetching\n ) as [boolean, (isFetching: boolean) => void];\n\n const [loadingState, setLoadingState] = useSafeSetState<boolean>(\n isLoading\n ) as [boolean, (isLoading: boolean) => void];\n\n const [pendingState, setPendingState] = useSafeSetState<boolean>(\n isPending\n ) as [boolean, (isPending: boolean) => void];\n\n const [finalItems, setFinalItems] = useSafeSetState<{\n data?: RecordType[];\n total?: number;\n }>(() => ({\n data,\n total: data ? data.length : undefined,\n }));\n\n // pagination logic\n const { page, setPage, perPage, setPerPage } = usePaginationState({\n page: initialPage,\n perPage: initialPerPage,\n });\n\n // sort logic\n const { sort, setSort: setSortState } = useSortState(initialSort);\n const setSort = useCallback(\n (sort: SortPayload) => {\n setSortState(sort);\n setPage(1);\n },\n [setPage, setSortState]\n );\n\n // selection logic\n const [selectedIds, selectionModifiers] = useRecordSelection(\n resource\n ? {\n resource,\n }\n : { disableSyncWithStore: true }\n );\n\n // filter logic\n const filterRef = useRef(filter);\n const [displayedFilters, setDisplayedFilters] = useSafeSetState<{\n [key: string]: boolean;\n }>({});\n const [filterValues, setFilterValues] = useSafeSetState<{\n [key: string]: any;\n }>(filter);\n const hideFilter = useCallback(\n (filterName: string) => {\n setDisplayedFilters(previousState => {\n const { [filterName]: _, ...newState } = previousState;\n return newState;\n });\n setFilterValues(previousState => {\n const { [filterName]: _, ...newState } = previousState;\n return newState;\n });\n },\n [setDisplayedFilters, setFilterValues]\n );\n const showFilter = useCallback(\n (filterName: string, defaultValue: any) => {\n setDisplayedFilters(previousState => ({\n ...previousState,\n [filterName]: true,\n }));\n setFilterValues(previousState =>\n removeEmpty({\n ...previousState,\n [filterName]: defaultValue,\n })\n );\n },\n [setDisplayedFilters, setFilterValues]\n );\n const setFilters = useCallback(\n (filters, displayedFilters = undefined) => {\n setFilterValues(removeEmpty(filters));\n if (displayedFilters) {\n setDisplayedFilters(displayedFilters);\n }\n setPage(1);\n },\n [setDisplayedFilters, setFilterValues, setPage]\n );\n // handle filter prop change\n useEffect(() => {\n if (!isEqual(filter, filterRef.current)) {\n filterRef.current = filter;\n setFilterValues(filter);\n }\n });\n\n // We do all the data processing (filtering, sorting, paginating) client-side\n useEffect(\n () => {\n if (isLoading || !data) return;\n let tempData = data;\n\n // 1. filter\n if (filterValues) {\n const flattenFilterValues = flattenObject(filterValues);\n tempData = data\n .filter(record =>\n Object.entries(flattenFilterValues).every(\n ([filterName, filterValue]) => {\n const recordValue = get(record, filterName);\n const result = Array.isArray(recordValue)\n ? Array.isArray(filterValue)\n ? recordValue.some(item =>\n filterValue.includes(item)\n )\n : recordValue.includes(filterValue)\n : Array.isArray(filterValue)\n ? filterValue.includes(recordValue)\n : filterName === 'q' // special full-text filter\n ? Object.keys(record).some(\n key =>\n typeof record[key] ===\n 'string' &&\n record[key]\n .toLowerCase()\n .includes(\n (\n filterValue as string\n ).toLowerCase()\n )\n )\n : filterValue == recordValue; // eslint-disable-line eqeqeq\n return result;\n }\n )\n )\n .filter(filterCallback);\n }\n const filteredLength = tempData.length;\n\n // 2. sort\n if (sort.field) {\n tempData = tempData.sort((a, b) => {\n if (get(a, sort.field) > get(b, sort.field)) {\n return sort.order === 'ASC' ? 1 : -1;\n }\n if (get(a, sort.field) < get(b, sort.field)) {\n return sort.order === 'ASC' ? -1 : 1;\n }\n return 0;\n });\n }\n\n // 3. paginate\n tempData = tempData.slice((page - 1) * perPage, page * perPage);\n\n setFinalItems({\n data: tempData,\n total: filteredLength,\n });\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n // eslint-disable-next-line react-hooks/exhaustive-deps\n JSON.stringify(data),\n filterValues,\n isLoading,\n page,\n perPage,\n setFinalItems,\n sort.field,\n sort.order,\n ]\n );\n\n useEffect(() => {\n if (isFetching !== fetchingState) {\n setFetchingState(isFetching);\n }\n }, [isFetching, fetchingState, setFetchingState]);\n\n useEffect(() => {\n if (isLoading !== loadingState) {\n setLoadingState(isLoading);\n }\n }, [isLoading, loadingState, setLoadingState]);\n\n useEffect(() => {\n if (isPending !== pendingState) {\n setPendingState(isPending);\n }\n }, [isPending, pendingState, setPendingState]);\n\n return {\n sort,\n data: pendingState ? undefined : finalItems?.data ?? [],\n defaultTitle: '',\n error: error ?? null,\n displayedFilters,\n filterValues,\n hasNextPage:\n finalItems?.total == null\n ? false\n : page * perPage < finalItems.total,\n hasPreviousPage: page > 1,\n hideFilter,\n isFetching: fetchingState,\n isLoading: loadingState,\n isPending: pendingState,\n onSelect: selectionModifiers.select,\n onToggleItem: selectionModifiers.toggle,\n onUnselectItems: selectionModifiers.clearSelection,\n page,\n perPage,\n resource: '',\n refetch,\n selectedIds,\n setFilters,\n setPage,\n setPerPage,\n setSort,\n showFilter,\n total: finalItems?.total,\n } as UseListValue<RecordType>;\n};\n\nexport interface UseListOptions<RecordType extends RaRecord = any> {\n data?: RecordType[];\n error?: any;\n filter?: FilterPayload;\n isFetching?: boolean;\n isLoading?: boolean;\n isPending?: boolean;\n page?: number;\n perPage?: number;\n sort?: SortPayload;\n resource?: string;\n filterCallback?: (record: RecordType) => boolean;\n}\n\nexport type UseListValue<RecordType extends RaRecord = any> =\n ListControllerResult<RecordType>;\n\nconst defaultFilter = {};\n","import { useContext } from 'react';\n\nimport { ListContext } from './ListContext';\nimport { ListControllerResult } from './useListController';\nimport { RaRecord } from '../../types';\n\n/**\n * Hook to read the list controller props from the ListContext.\n *\n * Used within a <ListContextProvider> (e.g. as a descendent of <List>).\n *\n * @returns {ListControllerResult} list controller props\n *\n * @see useListController for how it is filled\n *\n * @example // custom list view\n *\n * import { useListContext } from 'react-admin';\n *\n * const MyList = () => {\n * const { data, isPending } = useListContext();\n * if (isPending) {\n * return <>Loading...</>;\n * }\n * return (\n * <ul>\n * {data.map(record => (\n * <li key={record.id}>{record.name}</li>\n * ))}\n * </ul>\n * );\n * }\n *\n * @example // custom pagination\n *\n * import { useListContext } from 'react-admin';\n * import { Button, Toolbar } from '@mui/material';\n * import ChevronLeft from '@mui/icons-material/ChevronLeft';\n * import ChevronRight from '@mui/icons-material/ChevronRight';\n *\n * const PrevNextPagination = () => {\n * const { page, perPage, total, setPage } = useListContext();\n * const nbPages = Math.ceil(total / perPage) || 1;\n * return (\n * nbPages > 1 &&\n * <Toolbar>\n * {page > 1 &&\n * <Button color=\"primary\" key=\"prev\" onClick={() => setPage(page - 1)}>\n * <ChevronLeft />\n * Prev\n * </Button>\n * }\n * {page !== nbPages &&\n * <Button color=\"primary\" key=\"next\" onClick={() => setPage(page + 1)}>\n * Next\n * <ChevronRight />\n * </Button>\n * }\n * </Toolbar>\n * );\n * }\n */\nexport const useListContext = <\n RecordType extends RaRecord = any,\n>(): ListControllerResult<RecordType> => {\n const context = useContext(ListContext);\n if (!context) {\n throw new Error(\n 'useListContext must be used inside a ListContextProvider'\n );\n }\n return context;\n};\n","var baseRest = require('./_baseRest'),\n eq = require('./eq'),\n isIterateeCall = require('./_isIterateeCall'),\n keysIn = require('./keysIn');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns own and inherited enumerable string keyed properties of source\n * objects to the destination object for all destination properties that\n * resolve to `undefined`. Source objects are applied from left to right.\n * Once a property is set, additional values of the same property are ignored.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.defaultsDeep\n * @example\n *\n * _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n * // => { 'a': 1, 'b': 2 }\n */\nvar defaults = baseRest(function(object, sources) {\n object = Object(object);\n\n var index = -1;\n var length = sources.length;\n var guard = length > 2 ? sources[2] : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n length = 1;\n }\n\n while (++index < length) {\n var source = sources[index];\n var props = keysIn(source);\n var propsIndex = -1;\n var propsLength = props.length;\n\n while (++propsIndex < propsLength) {\n var key = props[propsIndex];\n var value = object[key];\n\n if (value === undefined ||\n (eq(value, objectProto[key]) && !hasOwnProperty.call(object, key))) {\n object[key] = source[key];\n }\n }\n }\n\n return object;\n});\n\nmodule.exports = defaults;\n","import { useContext, useMemo } from 'react';\nimport defaults from 'lodash/defaults';\n\nimport { ListContext } from './ListContext';\nimport { ListControllerResult } from './useListController';\nimport { RaRecord } from '../../types';\n\n/**\n * Hook to read the list controller props from the ListContext.\n *\n * Mostly used within a <ListContext.Provider> (e.g. as a descendent of <List>\n * or <ListBase>).\n *\n * But you can also use it without a <ListContext.Provider>. In this case, it is up to you\n * to pass all the necessary props (see the list below).\n *\n * The given props will take precedence over context values.\n *\n * @typedef {Object} ListControllerProps\n * @prop {Object} data an array of the list records, e.g. [{ id: 123, title: 'hello world' }, { ... }]\n * @prop {integer} total the total number of results for the current filters, excluding pagination. Useful to build the pagination controls. e.g. 23\n * @prop {boolean} isFetching boolean that is true on mount, and false once the data was fetched\n * @prop {boolean} isLoading boolean that is false until the data is available\n * @prop {integer} page the current page. Starts at 1\n * @prop {Function} setPage a callback to change the page, e.g. setPage(3)\n * @prop {integer} perPage the number of results per page. Defaults to 25\n * @prop {Function} setPerPage a callback to change the number of results per page, e.g. setPerPage(25)\n * @prop {Object} sort a sort object { field, order }, e.g. { field: 'date', order: 'DESC' }\n * @prop {Function} setSort a callback to change the sort, e.g. setSort({ field : 'name', order: 'ASC' })\n * @prop {Object} filterValues a dictionary of filter values, e.g. { title: 'lorem', nationality: 'fr' }\n * @prop {Function} setFilters a callback to update the filters, e.g. setFilters(filters, displayedFilters)\n * @prop {Object} displayedFilters a dictionary of the displayed filters, e.g. { title: true, nationality: true }\n * @prop {Function} showFilter a callback to show one of the filters, e.g. showFilter('title', defaultValue)\n * @prop {Function} hideFilter a callback to hide one of the filters, e.g. hideFilter('title')\n * @prop {Array} selectedIds an array listing the ids of the selected rows, e.g. [123, 456]\n * @prop {Function} onSelect callback to change the list of selected rows, e.g. onSelect([456, 789])\n * @prop {Function} onToggleItem callback to toggle the selection of a given record based on its id, e.g. onToggleItem(456)\n * @prop {Function} onUnselectItems callback to clear the selection, e.g. onUnselectItems();\n * @prop {string} defaultTitle the translated title based on the resource, e.g. 'Posts'\n * @prop {string} resource the resource name, deduced from the location. e.g. 'posts'\n *\n * @param {ListControllerProps} props Props passed to the useListContext hook\n *\n * @returns {ListControllerResult} list controller props\n *\n * @see useListController for how it is filled\n */\nexport const useListContextWithProps = <RecordType extends RaRecord = any>(\n props?: any\n): Partial<ListControllerResult<RecordType>> => {\n const context = useContext(ListContext);\n // Props take precedence over the context\n return useMemo(\n () =>\n defaults(\n {},\n props != null ? extractListContextProps<RecordType>(props) : {},\n context\n ),\n [context, props]\n );\n};\n\n/**\n * Extract only the list controller props\n *\n * @param {Object} props Props passed to the useListContext hook\n *\n * @returns {ListControllerResult} List controller props\n */\nconst extractListContextProps = <RecordType extends RaRecord = any>({\n sort,\n data,\n defaultTitle,\n displayedFilters,\n exporter,\n filterValues,\n hasCreate,\n hideFilter,\n isFetching,\n isLoading,\n isPending,\n onSelect,\n onToggleItem,\n onUnselectItems,\n page,\n perPage,\n refetch,\n resource,\n selectedIds,\n setFilters,\n setPage,\n setPerPage,\n setSort,\n showFilter,\n total,\n}: Partial<ListControllerResult<RecordType>> & Record<string, any>) => ({\n sort,\n data,\n defaultTitle,\n displayedFilters,\n exporter,\n filterValues,\n hasCreate,\n hideFilter,\n isFetching,\n isLoading,\n isPending,\n onSelect,\n onToggleItem,\n onUnselectItems,\n page,\n perPage,\n refetch,\n resource,\n selectedIds,\n setFilters,\n setPage,\n setPerPage,\n setSort,\n showFilter,\n total,\n});\n","import { useContext } from 'react';\n\nimport { ListFilterContext, ListFilterContextValue } from './ListFilterContext';\n\n/**\n * Hook to read the list props from the ListFilterContext.\n *\n * Must be used within a <ListFilterContextProvider>.\n *\n * @returns {ListFilterContextValue} list controller props\n *\n * @see useListController for how it is filled\n */\nexport const useListFilterContext = (): ListFilterContextValue => {\n const context = useContext(ListFilterContext);\n if (!context) {\n throw new Error(\n 'useListFilterContext must be used inside a ListFilterContextProvider'\n );\n }\n return context;\n};\n","import { useContext } from 'react';\n\nimport {\n ListPaginationContext,\n ListPaginationContextValue,\n} from './ListPaginationContext';\n\n/**\n * Hook to read the list pagination controller props from the ListPaginationContext.\n *\n * Must be used within a <ListPaginationContext> (e.g. as a descendent of <List>\n * or <ListBase>).\n *\n * @returns {ListPaginationContextValue} list controller props\n *\n * @see useListController for how it is filled\n */\nexport const useListPaginationContext = (): ListPaginationContextValue => {\n const context = useContext(ListPaginationContext);\n if (!context) {\n throw new Error(\n 'useListPaginationContext must be used inside a ListPaginationContextProvider'\n );\n }\n return context;\n};\n","import { useContext } from 'react';\n\nimport { ListSortContext, ListSortContextValue } from './ListSortContext';\n\n/**\n * Hook to read the list sort controller props from the ListSortContext.\n *\n * Must be used within a <ListSortContextProvider> (e.g. as a descendent of <List>\n * or <ListBase>).\n *\n * @returns {ListSortContextValue} list controller props\n *\n * @see useListController for how it is filled\n */\nexport const useListSortContext = (): ListSortContextValue => {\n const context = useContext(ListSortContext);\n if (!context) {\n throw new Error(\n 'useListSortContext must be used inside a ListSortContextProvider'\n );\n }\n return context;\n};\n","import { useCallback } from 'react';\n\nimport { useRecordSelection } from './useRecordSelection';\nimport { Identifier } from '../../types';\n\n/**\n * Hook to Unselect the rows of a datagrid\n *\n * @example\n *\n * const unselect = useUnselect('posts');\n * unselect([123, 456]);\n */\nexport const useUnselect = (resource?: string) => {\n const [, { unselect }] = useRecordSelection(\n resource ? { resource } : { disableSyncWithStore: true }\n );\n return useCallback(\n (ids: Identifier[]) => {\n unselect(ids);\n },\n [unselect]\n );\n};\n","import get from 'lodash/get';\nimport { RaRecord, SortPayload } from '../../types';\nimport { useGetManyAggregate } from '../../dataProvider';\nimport { ListControllerResult, useList } from '../list';\nimport { useNotify } from '../../notification';\nimport { UseQueryOptions } from '@tanstack/react-query';\n\nexport interface UseReferenceArrayFieldControllerParams<\n RecordType extends RaRecord = RaRecord,\n ReferenceRecordType extends RaRecord = RaRecord,\n> {\n filter?: any;\n page?: number;\n perPage?: number;\n record?: RecordType;\n reference: string;\n resource?: string;\n sort?: SortPayload;\n source: string;\n queryOptions?: Omit<\n UseQueryOptions<ReferenceRecordType[]>,\n 'queryFn' | 'queryKey'\n >;\n}\n\nconst emptyArray = [];\nconst defaultFilter = {};\n\n/**\n * Hook that fetches records from another resource specified\n * by an array of *ids* in current record.\n *\n * @example\n *\n * const { data, error, isFetching, isPending } = useReferenceArrayFieldController({\n * record: { referenceIds: ['id1', 'id2']};\n * reference: 'reference';\n * resource: 'resource';\n * source: 'referenceIds';\n * });\n *\n * @param {Object} props\n * @param {Object} props.record The current resource record\n * @param {string} props.reference The linked resource name\n * @param {string} props.resource The current resource name\n * @param {string} props.source The key of the linked resource identifier\n *\n * @param {Props} props\n *\n * @returns {ListControllerResult} The reference props\n */\nexport const useReferenceArrayFieldController = <\n RecordType extends RaRecord = RaRecord,\n ReferenceRecordType extends RaRecord = RaRecord,\n>(\n props: UseReferenceArrayFieldControllerParams<\n RecordType,\n ReferenceRecordType\n >\n): ListControllerResult => {\n const {\n filter = defaultFilter,\n page = 1,\n perPage = 1000,\n record,\n reference,\n sort,\n source,\n queryOptions = {},\n } = props;\n const notify = useNotify();\n const value = get(record, source);\n const { meta, ...otherQueryOptions } = queryOptions;\n const ids = Array.isArray(value) ? value : emptyArray;\n\n const { data, error, isLoading, isFetching, isPending, refetch } =\n useGetManyAggregate<ReferenceRecordType>(\n reference,\n { ids, meta },\n {\n onError: error =>\n notify(\n typeof error === 'string'\n ? error\n : error.message || 'ra.notification.http_error',\n {\n type: 'error',\n messageArgs: {\n _:\n typeof error === 'string'\n ? error\n : error && error.message\n ? error.message\n : undefined,\n },\n }\n ),\n ...otherQueryOptions,\n }\n );\n\n const listProps = useList<ReferenceRecordType>({\n data,\n error,\n filter,\n isFetching,\n isLoading,\n isPending,\n page,\n perPage,\n sort,\n });\n\n return {\n ...listProps,\n defaultTitle: undefined,\n refetch,\n resource: reference,\n };\n};\n","import { useCallback, useEffect, useRef } from 'react';\nimport { UseQueryOptions } from '@tanstack/react-query';\nimport get from 'lodash/get';\nimport isEqual from 'lodash/isEqual';\nimport lodashDebounce from 'lodash/debounce';\n\nimport { useSafeSetState, removeEmpty } from '../../util';\nimport { useGetManyReference } from '../../dataProvider';\nimport { useNotify } from '../../notification';\nimport { Identifier, RaRecord, SortPayload } from '../../types';\nimport { ListControllerResult } from '../list';\nimport usePaginationState from '../usePaginationState';\nimport { useRecordSelection } from '../list/useRecordSelection';\nimport useSortState from '../useSortState';\nimport { useResourceContext } from '../../core';\n\nexport interface UseReferenceManyFieldControllerParams<\n RecordType extends RaRecord = RaRecord,\n ReferenceRecordType extends RaRecord = RaRecord,\n> {\n debounce?: number;\n filter?: any;\n page?: number;\n perPage?: number;\n record?: RecordType;\n reference: string;\n resource?: string;\n sort?: SortPayload;\n source?: string;\n target: string;\n queryOptions?: UseQueryOptions<\n { data: ReferenceRecordType[]; total: number },\n Error\n >;\n}\n\nconst defaultFilter = {};\n\n/**\n * Fetch reference records, and return them when available\n *\n * Uses dataProvider.getManyReference() internally.\n *\n * @example // fetch the comments related to the current post\n * const { isPending, data } = useReferenceManyFieldController({\n * reference: 'comments',\n * target: 'post_id',\n * record: { id: 123, title: 'hello, world' },\n * resource: 'posts',\n * });\n *\n * @param {Object} props\n * @param {string} props.reference The linked resource name. Required.\n * @param {string} props.target The target resource key. Required.\n * @param {Object} props.filter The filter applied on the recorded records list\n * @param {number} props.page the page number\n * @param {number} props.perPage the number of item per page\n * @param {Object} props.record The current resource record\n * @param {string} props.resource The current resource name\n * @param {Object} props.sort the sort to apply to the referenced records\n * @param {string} props.source The key of the linked resource identifier\n * @param {UseQuery Options} props.queryOptions `react-query` options`\n *\n * @returns {ListControllerResult} The reference many props\n */\nexport const useReferenceManyFieldController = <\n RecordType extends RaRecord = RaRecord,\n ReferenceRecordType extends RaRecord = RaRecord,\n>(\n props: UseReferenceManyFieldControllerParams<\n RecordType,\n ReferenceRecordType\n >\n): ListControllerResult<ReferenceRecordType> => {\n const {\n debounce = 500,\n reference,\n record,\n target,\n filter = defaultFilter,\n source = 'id',\n page: initialPage,\n perPage: initialPerPage,\n sort: initialSort = { field: 'id', order: 'DESC' },\n queryOptions = {} as UseQueryOptions<\n { data: ReferenceRecordType[]; total: number },\n Error\n >,\n } = props;\n const notify = useNotify();\n const resource = useResourceContext(props);\n const { meta, ...otherQueryOptions } = queryOptions;\n\n // pagination logic\n const { page, setPage, perPage, setPerPage } = usePaginationState({\n page: initialPage,\n perPage: initialPerPage,\n });\n\n // sort logic\n const { sort, setSort: setSortState } = useSortState(initialSort);\n const setSort = useCallback(\n (sort: SortPayload) => {\n setSortState(sort);\n setPage(1);\n },\n [setPage, setSortState]\n );\n\n // selection logic\n const [selectedIds, selectionModifiers] = useRecordSelection({\n resource: `${resource}.${record?.id}.${reference}`,\n });\n\n // filter logic\n const filterRef = useRef(filter);\n const [displayedFilters, setDisplayedFilters] = useSafeSetState<{\n [key: string]: boolean;\n }>({});\n const [filterValues, setFilterValues] = useSafeSetState<{\n [key: string]: any;\n }>(filter);\n const hideFilter = useCallback(\n (filterName: string) => {\n setDisplayedFilters(previousState => {\n const { [filterName]: _, ...newState } = previousState;\n return newState;\n });\n setFilterValues(previousState => {\n const { [filterName]: _, ...newState } = previousState;\n return newState;\n });\n },\n [setDisplayedFilters, setFilterValues]\n );\n const showFilter = useCallback(\n (filterName: string, defaultValue: any) => {\n setDisplayedFilters(previousState => ({\n ...previousState,\n [filterName]: true,\n }));\n setFilterValues(previousState => ({\n ...previousState,\n [filterName]: defaultValue,\n }));\n },\n [setDisplayedFilters, setFilterValues]\n );\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const debouncedSetFilters = useCallback(\n lodashDebounce((filters, displayedFilters) => {\n setFilterValues(removeEmpty(filters));\n setDisplayedFilters(displayedFilters);\n setPage(1);\n }, debounce),\n [setDisplayedFilters, setFilterValues, setPage]\n );\n\n const setFilters = useCallback(\n (filters, displayedFilters, debounce = false) => {\n if (debounce) {\n debouncedSetFilters(filters, displayedFilters);\n } else {\n setFilterValues(removeEmpty(filters));\n setDisplayedFilters(displayedFilters);\n setPage(1);\n }\n },\n [setDisplayedFilters, setFilterValues, setPage, debouncedSetFilters]\n );\n // handle filter prop change\n useEffect(() => {\n if (!isEqual(filter, filterRef.current)) {\n filterRef.current = filter;\n setFilterValues(filter);\n }\n });\n\n const {\n data,\n total,\n pageInfo,\n error,\n isFetching,\n isLoading,\n isPending,\n refetch,\n } = useGetManyReference<ReferenceRecordType>(\n reference,\n {\n target,\n id: get(record, source) as Identifier,\n pagination: { page, perPage },\n sort,\n filter: filterValues,\n meta,\n },\n {\n enabled: get(record, source) != null,\n placeholderData: previousData => previousData,\n onError: error =>\n notify(\n typeof error === 'string'\n ? error\n : error.message || 'ra.notification.http_error',\n {\n type: 'error',\n messageArgs: {\n _:\n typeof error === 'string'\n ? error\n : error && error.message\n ? error.message\n : undefined,\n },\n }\n ),\n ...otherQueryOptions,\n }\n );\n\n return {\n sort,\n data,\n defaultTitle: undefined,\n displayedFilters,\n error,\n filterValues,\n hideFilter,\n isFetching,\n isLoading,\n isPending,\n onSelect: selectionModifiers.select,\n onToggleItem: selectionModifiers.toggle,\n onUnselectItems: selectionModifiers.clearSelection,\n page,\n perPage,\n refetch,\n resource: reference,\n selectedIds,\n setFilters,\n setPage,\n setPerPage,\n hasNextPage: pageInfo\n ? pageInfo.hasNextPage\n : total != null\n ? page * perPage < total\n : undefined,\n hasPreviousPage: pageInfo ? pageInfo.hasPreviousPage : page > 1,\n setSort,\n showFilter,\n total,\n } as ListControllerResult<ReferenceRecordType>;\n};\n","import React from 'react';\n\nvar isCheckBoxInput = (element) => element.type === 'checkbox';\n\nvar isDateObject = (value) => value instanceof Date;\n\nvar isNullOrUndefined = (value) => value == null;\n\nconst isObjectType = (value) => typeof value === 'object';\nvar isObject = (value) => !isNullOrUndefined(value) &&\n !Array.isArray(value) &&\n isObjectType(value) &&\n !isDateObject(value);\n\nvar getEventValue = (event) => isObject(event) && event.target\n ? isCheckBoxInput(event.target)\n ? event.target.checked\n : event.target.value\n : event;\n\nvar getNodeParentName = (name) => name.substring(0, name.search(/\\.\\d+(\\.|$)/)) || name;\n\nvar isNameInFieldArray = (names, name) => names.has(getNodeParentName(name));\n\nvar isPlainObject = (tempObject) => {\n const prototypeCopy = tempObject.constructor && tempObject.constructor.prototype;\n return (isObject(prototypeCopy) && prototypeCopy.hasOwnProperty('isPrototypeOf'));\n};\n\nvar isWeb = typeof window !== 'undefined' &&\n typeof window.HTMLElement !== 'undefined' &&\n typeof document !== 'undefined';\n\nfunction cloneObject(data) {\n let copy;\n const isArray = Array.isArray(data);\n if (data instanceof Date) {\n copy = new Date(data);\n }\n else if (data instanceof Set) {\n copy = new Set(data);\n }\n else if (!(isWeb && (data instanceof Blob || data instanceof FileList)) &&\n (isArray || isObject(data))) {\n copy = isArray ? [] : {};\n if (!isArray && !isPlainObject(data)) {\n copy = data;\n }\n else {\n for (const key in data) {\n if (data.hasOwnProperty(key)) {\n copy[key] = cloneObject(data[key]);\n }\n }\n }\n }\n else {\n return data;\n }\n return copy;\n}\n\nvar compact = (value) => Array.isArray(value) ? value.filter(Boolean) : [];\n\nvar isUndefined = (val) => val === undefined;\n\nvar get = (object, path, defaultValue) => {\n if (!path || !isObject(object)) {\n return defaultValue;\n }\n const result = compact(path.split(/[,[\\].]+?/)).reduce((result, key) => isNullOrUndefined(result) ? result : result[key], object);\n return isUndefined(result) || result === object\n ? isUndefined(object[path])\n ? defaultValue\n : object[path]\n : result;\n};\n\nvar isBoolean = (value) => typeof value === 'boolean';\n\nvar isKey = (value) => /^\\w*$/.test(value);\n\nvar stringToPath = (input) => compact(input.replace(/[\"|']|\\]/g, '').split(/\\.|\\[/));\n\nvar set = (object, path, value) => {\n let index = -1;\n const tempPath = isKey(path) ? [path] : stringToPath(path);\n const length = tempPath.length;\n const lastIndex = length - 1;\n while (++index < length) {\n const key = tempPath[index];\n let newValue = value;\n if (index !== lastIndex) {\n const objValue = object[key];\n newValue =\n isObject(objValue) || Array.isArray(objValue)\n ? objValue\n : !isNaN(+tempPath[index + 1])\n ? []\n : {};\n }\n if (key === '__proto__') {\n return;\n }\n object[key] = newValue;\n object = object[key];\n }\n return object;\n};\n\nconst EVENTS = {\n BLUR: 'blur',\n FOCUS_OUT: 'focusout',\n CHANGE: 'change',\n};\nconst VALIDATION_MODE = {\n onBlur: 'onBlur',\n onChange: 'onChange',\n onSubmit: 'onSubmit',\n onTouched: 'onTouched',\n all: 'all',\n};\nconst INPUT_VALIDATION_RULES = {\n max: 'max',\n min: 'min',\n maxLength: 'maxLength',\n minLength: 'minLength',\n pattern: 'pattern',\n required: 'required',\n validate: 'validate',\n};\n\nconst HookFormContext = React.createContext(null);\n/**\n * This custom hook allows you to access the form context. useFormContext is intended to be used in deeply nested structures, where it would become inconvenient to pass the context as a prop. To be used with {@link FormProvider}.\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/useformcontext) • [Demo](https://codesandbox.io/s/react-hook-form-v7-form-context-ytudi)\n *\n * @returns return all useForm methods\n *\n * @example\n * ```tsx\n * function App() {\n * const methods = useForm();\n * const onSubmit = data => console.log(data);\n *\n * return (\n * <FormProvider {...methods} >\n * <form onSubmit={methods.handleSubmit(onSubmit)}>\n * <NestedInput />\n * <input type=\"submit\" />\n * </form>\n * </FormProvider>\n * );\n * }\n *\n * function NestedInput() {\n * const { register } = useFormContext(); // retrieve all hook methods\n * return <input {...register(\"test\")} />;\n * }\n * ```\n */\nconst useFormContext = () => React.useContext(HookFormContext);\n/**\n * A provider component that propagates the `useForm` methods to all children components via [React Context](https://reactjs.org/docs/context.html) API. To be used with {@link useFormContext}.\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/useformcontext) • [Demo](https://codesandbox.io/s/react-hook-form-v7-form-context-ytudi)\n *\n * @param props - all useForm methods\n *\n * @example\n * ```tsx\n * function App() {\n * const methods = useForm();\n * const onSubmit = data => console.log(data);\n *\n * return (\n * <FormProvider {...methods} >\n * <form onSubmit={methods.handleSubmit(onSubmit)}>\n * <NestedInput />\n * <input type=\"submit\" />\n * </form>\n * </FormProvider>\n * );\n * }\n *\n * function NestedInput() {\n * const { register } = useFormContext(); // retrieve all hook methods\n * return <input {...register(\"test\")} />;\n * }\n * ```\n */\nconst FormProvider = (props) => {\n const { children, ...data } = props;\n return (React.createElement(HookFormContext.Provider, { value: data }, children));\n};\n\nvar getProxyFormState = (formState, control, localProxyFormState, isRoot = true) => {\n const result = {\n defaultValues: control._defaultValues,\n };\n for (const key in formState) {\n Object.defineProperty(result, key, {\n get: () => {\n const _key = key;\n if (control._proxyFormState[_key] !== VALIDATION_MODE.all) {\n control._proxyFormState[_key] = !isRoot || VALIDATION_MODE.all;\n }\n localProxyFormState && (localProxyFormState[_key] = true);\n return formState[_key];\n },\n });\n }\n return result;\n};\n\nvar isEmptyObject = (value) => isObject(value) && !Object.keys(value).length;\n\nvar shouldRenderFormState = (formStateData, _proxyFormState, updateFormState, isRoot) => {\n updateFormState(formStateData);\n const { name, ...formState } = formStateData;\n return (isEmptyObject(formState) ||\n Object.keys(formState).length >= Object.keys(_proxyFormState).length ||\n Object.keys(formState).find((key) => _proxyFormState[key] ===\n (!isRoot || VALIDATION_MODE.all)));\n};\n\nvar convertToArrayPayload = (value) => (Array.isArray(value) ? value : [value]);\n\nvar shouldSubscribeByName = (name, signalName, exact) => !name ||\n !signalName ||\n name === signalName ||\n convertToArrayPayload(name).some((currentName) => currentName &&\n (exact\n ? currentName === signalName\n : currentName.startsWith(signalName) ||\n signalName.startsWith(currentName)));\n\nfunction useSubscribe(props) {\n const _props = React.useRef(props);\n _props.current = props;\n React.useEffect(() => {\n const subscription = !props.disabled &&\n _props.current.subject &&\n _props.current.subject.subscribe({\n next: _props.current.next,\n });\n return () => {\n subscription && subscription.unsubscribe();\n };\n }, [props.disabled]);\n}\n\n/**\n * This custom hook allows you to subscribe to each form state, and isolate the re-render at the custom hook level. It has its scope in terms of form state subscription, so it would not affect other useFormState and useForm. Using this hook can reduce the re-render impact on large and complex form application.\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/useformstate) • [Demo](https://codesandbox.io/s/useformstate-75xly)\n *\n * @param props - include options on specify fields to subscribe. {@link UseFormStateReturn}\n *\n * @example\n * ```tsx\n * function App() {\n * const { register, handleSubmit, control } = useForm({\n * defaultValues: {\n * firstName: \"firstName\"\n * }});\n * const { dirtyFields } = useFormState({\n * control\n * });\n * const onSubmit = (data) => console.log(data);\n *\n * return (\n * <form onSubmit={handleSubmit(onSubmit)}>\n * <input {...register(\"firstName\")} placeholder=\"First Name\" />\n * {dirtyFields.firstName && <p>Field is dirty.</p>}\n * <input type=\"submit\" />\n * </form>\n * );\n * }\n * ```\n */\nfunction useFormState(props) {\n const methods = useFormContext();\n const { control = methods.control, disabled, name, exact } = props || {};\n const [formState, updateFormState] = React.useState(control._formState);\n const _mounted = React.useRef(true);\n const _localProxyFormState = React.useRef({\n isDirty: false,\n isLoading: false,\n dirtyFields: false,\n touchedFields: false,\n validatingFields: false,\n isValidating: false,\n isValid: false,\n errors: false,\n });\n const _name = React.useRef(name);\n _name.current = name;\n useSubscribe({\n disabled,\n next: (value) => _mounted.current &&\n shouldSubscribeByName(_name.current, value.name, exact) &&\n shouldRenderFormState(value, _localProxyFormState.current, control._updateFormState) &&\n updateFormState({\n ...control._formState,\n ...value,\n }),\n subject: control._subjects.state,\n });\n React.useEffect(() => {\n _mounted.current = true;\n _localProxyFormState.current.isValid && control._updateValid(true);\n return () => {\n _mounted.current = false;\n };\n }, [control]);\n return getProxyFormState(formState, control, _localProxyFormState.current, false);\n}\n\nvar isString = (value) => typeof value === 'string';\n\nvar generateWatchOutput = (names, _names, formValues, isGlobal, defaultValue) => {\n if (isString(names)) {\n isGlobal && _names.watch.add(names);\n return get(formValues, names, defaultValue);\n }\n if (Array.isArray(names)) {\n return names.map((fieldName) => (isGlobal && _names.watch.add(fieldName), get(formValues, fieldName)));\n }\n isGlobal && (_names.watchAll = true);\n return formValues;\n};\n\n/**\n * Custom hook to subscribe to field change and isolate re-rendering at the component level.\n *\n * @remarks\n *\n * [API](https://react-hook-form.com/docs/usewatch) • [Demo](https://codesandbox.io/s/react-hook-form-v7-ts-usewatch-h9i5e)\n *\n * @example\n * ```tsx\n * const { control } = useForm();\n * const values = useWatch({\n * name: \"fieldName\"\n * control,\n * })\n * ```\n */\nfunction useWatch(props) {\n const methods = useFormContext();\n const { control = methods.control, name, defaultValue, disabled, exact, } = props || {};\n const _name = React.useRef(name);\n _name.current = name;\n useSubscribe({\n disabled,\n subject: control._subjects.values,\n next: (formState) => {\n if (shouldSubscribeByName(_name.current, formState.name, exact)) {\n updateValue(cloneObject(generateWatchOutput(_name.current, control._names, formState.values || control._formValues, false, defaultValue)));\n }\n },\n });\n const [value, updateValue] = React.useState(control._getWatch(name, defaultValue));\n React.useEffect(() => control._removeUnmounted());\n return value;\n}\n\n/**\n * Custom hook to work with controlled component, this function provide you with both form and field level state. Re-render is isolated at the hook level.\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/usecontroller) • [Demo](https://codesandbox.io/s/usecontroller-0o8px)\n *\n * @param props - the path name to the form field value, and validation rules.\n *\n * @returns field properties, field and form state. {@link UseControllerReturn}\n *\n * @example\n * ```tsx\n * function Input(props) {\n * const { field, fieldState, formState } = useController(props);\n * return (\n * <div>\n * <input {...field} placeholder={props.name} />\n * <p>{fieldState.isTouched && \"Touched\"}</p>\n * <p>{formState.isSubmitted ? \"submitted\" : \"\"}</p>\n * </div>\n * );\n * }\n * ```\n */\nfunction useController(props) {\n const methods = useFormContext();\n const { name, disabled, control = methods.control, shouldUnregister } = props;\n const isArrayField = isNameInFieldArray(control._names.array, name);\n const value = useWatch({\n control,\n name,\n defaultValue: get(control._formValues, name, get(control._defaultValues, name, props.defaultValue)),\n exact: true,\n });\n const formState = useFormState({\n control,\n name,\n });\n const _registerProps = React.useRef(control.register(name, {\n ...props.rules,\n value,\n ...(isBoolean(props.disabled) ? { disabled: props.disabled } : {}),\n }));\n React.useEffect(() => {\n const _shouldUnregisterField = control._options.shouldUnregister || shouldUnregister;\n const updateMounted = (name, value) => {\n const field = get(control._fields, name);\n if (field && field._f) {\n field._f.mount = value;\n }\n };\n updateMounted(name, true);\n if (_shouldUnregisterField) {\n const value = cloneObject(get(control._options.defaultValues, name));\n set(control._defaultValues, name, value);\n if (isUndefined(get(control._formValues, name))) {\n set(control._formValues, name, value);\n }\n }\n return () => {\n (isArrayField\n ? _shouldUnregisterField && !control._state.action\n : _shouldUnregisterField)\n ? control.unregister(name)\n : updateMounted(name, false);\n };\n }, [name, control, isArrayField, shouldUnregister]);\n React.useEffect(() => {\n if (get(control._fields, name)) {\n control._updateDisabledField({\n disabled,\n fields: control._fields,\n name,\n value: get(control._fields, name)._f.value,\n });\n }\n }, [disabled, name, control]);\n return {\n field: {\n name,\n value,\n ...(isBoolean(disabled) || formState.disabled\n ? { disabled: formState.disabled || disabled }\n : {}),\n onChange: React.useCallback((event) => _registerProps.current.onChange({\n target: {\n value: getEventValue(event),\n name: name,\n },\n type: EVENTS.CHANGE,\n }), [name]),\n onBlur: React.useCallback(() => _registerProps.current.onBlur({\n target: {\n value: get(control._formValues, name),\n name: name,\n },\n type: EVENTS.BLUR,\n }), [name, control]),\n ref: (elm) => {\n const field = get(control._fields, name);\n if (field && elm) {\n field._f.ref = {\n focus: () => elm.focus(),\n select: () => elm.select(),\n setCustomValidity: (message) => elm.setCustomValidity(message),\n reportValidity: () => elm.reportValidity(),\n };\n }\n },\n },\n formState,\n fieldState: Object.defineProperties({}, {\n invalid: {\n enumerable: true,\n get: () => !!get(formState.errors, name),\n },\n isDirty: {\n enumerable: true,\n get: () => !!get(formState.dirtyFields, name),\n },\n isTouched: {\n enumerable: true,\n get: () => !!get(formState.touchedFields, name),\n },\n isValidating: {\n enumerable: true,\n get: () => !!get(formState.validatingFields, name),\n },\n error: {\n enumerable: true,\n get: () => get(formState.errors, name),\n },\n }),\n };\n}\n\n/**\n * Component based on `useController` hook to work with controlled component.\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/usecontroller/controller) • [Demo](https://codesandbox.io/s/react-hook-form-v6-controller-ts-jwyzw) • [Video](https://www.youtube.com/watch?v=N2UNk_UCVyA)\n *\n * @param props - the path name to the form field value, and validation rules.\n *\n * @returns provide field handler functions, field and form state.\n *\n * @example\n * ```tsx\n * function App() {\n * const { control } = useForm<FormValues>({\n * defaultValues: {\n * test: \"\"\n * }\n * });\n *\n * return (\n * <form>\n * <Controller\n * control={control}\n * name=\"test\"\n * render={({ field: { onChange, onBlur, value, ref }, formState, fieldState }) => (\n * <>\n * <input\n * onChange={onChange} // send value to hook form\n * onBlur={onBlur} // notify when input is touched\n * value={value} // return updated value\n * ref={ref} // set ref for focus management\n * />\n * <p>{formState.isSubmitted ? \"submitted\" : \"\"}</p>\n * <p>{fieldState.isTouched ? \"touched\" : \"\"}</p>\n * </>\n * )}\n * />\n * </form>\n * );\n * }\n * ```\n */\nconst Controller = (props) => props.render(useController(props));\n\nconst POST_REQUEST = 'post';\n/**\n * Form component to manage submission.\n *\n * @param props - to setup submission detail. {@link FormProps}\n *\n * @returns form component or headless render prop.\n *\n * @example\n * ```tsx\n * function App() {\n * const { control, formState: { errors } } = useForm();\n *\n * return (\n * <Form action=\"/api\" control={control}>\n * <input {...register(\"name\")} />\n * <p>{errors?.root?.server && 'Server error'}</p>\n * <button>Submit</button>\n * </Form>\n * );\n * }\n * ```\n */\nfunction Form(props) {\n const methods = useFormContext();\n const [mounted, setMounted] = React.useState(false);\n const { control = methods.control, onSubmit, children, action, method = POST_REQUEST, headers, encType, onError, render, onSuccess, validateStatus, ...rest } = props;\n const submit = async (event) => {\n let hasError = false;\n let type = '';\n await control.handleSubmit(async (data) => {\n const formData = new FormData();\n let formDataJson = '';\n try {\n formDataJson = JSON.stringify(data);\n }\n catch (_a) { }\n for (const name of control._names.mount) {\n formData.append(name, get(data, name));\n }\n if (onSubmit) {\n await onSubmit({\n data,\n event,\n method,\n formData,\n formDataJson,\n });\n }\n if (action) {\n try {\n const shouldStringifySubmissionData = [\n headers && headers['Content-Type'],\n encType,\n ].some((value) => value && value.includes('json'));\n const response = await fetch(action, {\n method,\n headers: {\n ...headers,\n ...(encType ? { 'Content-Type': encType } : {}),\n },\n body: shouldStringifySubmissionData ? formDataJson : formData,\n });\n if (response &&\n (validateStatus\n ? !validateStatus(response.status)\n : response.status < 200 || response.status >= 300)) {\n hasError = true;\n onError && onError({ response });\n type = String(response.status);\n }\n else {\n onSuccess && onSuccess({ response });\n }\n }\n catch (error) {\n hasError = true;\n onError && onError({ error });\n }\n }\n })(event);\n if (hasError && props.control) {\n props.control._subjects.state.next({\n isSubmitSuccessful: false,\n });\n props.control.setError('root.server', {\n type,\n });\n }\n };\n React.useEffect(() => {\n setMounted(true);\n }, []);\n return render ? (React.createElement(React.Fragment, null, render({\n submit,\n }))) : (React.createElement(\"form\", { noValidate: mounted, action: action, method: method, encType: encType, onSubmit: submit, ...rest }, children));\n}\n\nvar appendErrors = (name, validateAllFieldCriteria, errors, type, message) => validateAllFieldCriteria\n ? {\n ...errors[name],\n types: {\n ...(errors[name] && errors[name].types ? errors[name].types : {}),\n [type]: message || true,\n },\n }\n : {};\n\nvar generateId = () => {\n const d = typeof performance === 'undefined' ? Date.now() : performance.now() * 1000;\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {\n const r = (Math.random() * 16 + d) % 16 | 0;\n return (c == 'x' ? r : (r & 0x3) | 0x8).toString(16);\n });\n};\n\nvar getFocusFieldName = (name, index, options = {}) => options.shouldFocus || isUndefined(options.shouldFocus)\n ? options.focusName ||\n `${name}.${isUndefined(options.focusIndex) ? index : options.focusIndex}.`\n : '';\n\nvar getValidationModes = (mode) => ({\n isOnSubmit: !mode || mode === VALIDATION_MODE.onSubmit,\n isOnBlur: mode === VALIDATION_MODE.onBlur,\n isOnChange: mode === VALIDATION_MODE.onChange,\n isOnAll: mode === VALIDATION_MODE.all,\n isOnTouch: mode === VALIDATION_MODE.onTouched,\n});\n\nvar isWatched = (name, _names, isBlurEvent) => !isBlurEvent &&\n (_names.watchAll ||\n _names.watch.has(name) ||\n [..._names.watch].some((watchName) => name.startsWith(watchName) &&\n /^\\.\\w+/.test(name.slice(watchName.length))));\n\nconst iterateFieldsByAction = (fields, action, fieldsNames, abortEarly) => {\n for (const key of fieldsNames || Object.keys(fields)) {\n const field = get(fields, key);\n if (field) {\n const { _f, ...currentField } = field;\n if (_f) {\n if (_f.refs && _f.refs[0] && action(_f.refs[0], key) && !abortEarly) {\n break;\n }\n else if (_f.ref && action(_f.ref, _f.name) && !abortEarly) {\n break;\n }\n else {\n iterateFieldsByAction(currentField, action);\n }\n }\n else if (isObject(currentField)) {\n iterateFieldsByAction(currentField, action);\n }\n }\n }\n};\n\nvar updateFieldArrayRootError = (errors, error, name) => {\n const fieldArrayErrors = compact(get(errors, name));\n set(fieldArrayErrors, 'root', error[name]);\n set(errors, name, fieldArrayErrors);\n return errors;\n};\n\nvar isFileInput = (element) => element.type === 'file';\n\nvar isFunction = (value) => typeof value === 'function';\n\nvar isHTMLElement = (value) => {\n if (!isWeb) {\n return false;\n }\n const owner = value ? value.ownerDocument : 0;\n return (value instanceof\n (owner && owner.defaultView ? owner.defaultView.HTMLElement : HTMLElement));\n};\n\nvar isMessage = (value) => isString(value);\n\nvar isRadioInput = (element) => element.type === 'radio';\n\nvar isRegex = (value) => value instanceof RegExp;\n\nconst defaultResult = {\n value: false,\n isValid: false,\n};\nconst validResult = { value: true, isValid: true };\nvar getCheckboxValue = (options) => {\n if (Array.isArray(options)) {\n if (options.length > 1) {\n const values = options\n .filter((option) => option && option.checked && !option.disabled)\n .map((option) => option.value);\n return { value: values, isValid: !!values.length };\n }\n return options[0].checked && !options[0].disabled\n ? // @ts-expect-error expected to work in the browser\n options[0].attributes && !isUndefined(options[0].attributes.value)\n ? isUndefined(options[0].value) || options[0].value === ''\n ? validResult\n : { value: options[0].value, isValid: true }\n : validResult\n : defaultResult;\n }\n return defaultResult;\n};\n\nconst defaultReturn = {\n isValid: false,\n value: null,\n};\nvar getRadioValue = (options) => Array.isArray(options)\n ? options.reduce((previous, option) => option && option.checked && !option.disabled\n ? {\n isValid: true,\n value: option.value,\n }\n : previous, defaultReturn)\n : defaultReturn;\n\nfunction getValidateError(result, ref, type = 'validate') {\n if (isMessage(result) ||\n (Array.isArray(result) && result.every(isMessage)) ||\n (isBoolean(result) && !result)) {\n return {\n type,\n message: isMessage(result) ? result : '',\n ref,\n };\n }\n}\n\nvar getValueAndMessage = (validationData) => isObject(validationData) && !isRegex(validationData)\n ? validationData\n : {\n value: validationData,\n message: '',\n };\n\nvar validateField = async (field, formValues, validateAllFieldCriteria, shouldUseNativeValidation, isFieldArray) => {\n const { ref, refs, required, maxLength, minLength, min, max, pattern, validate, name, valueAsNumber, mount, disabled, } = field._f;\n const inputValue = get(formValues, name);\n if (!mount || disabled) {\n return {};\n }\n const inputRef = refs ? refs[0] : ref;\n const setCustomValidity = (message) => {\n if (shouldUseNativeValidation && inputRef.reportValidity) {\n inputRef.setCustomValidity(isBoolean(message) ? '' : message || '');\n inputRef.reportValidity();\n }\n };\n const error = {};\n const isRadio = isRadioInput(ref);\n const isCheckBox = isCheckBoxInput(ref);\n const isRadioOrCheckbox = isRadio || isCheckBox;\n const isEmpty = ((valueAsNumber || isFileInput(ref)) &&\n isUndefined(ref.value) &&\n isUndefined(inputValue)) ||\n (isHTMLElement(ref) && ref.value === '') ||\n inputValue === '' ||\n (Array.isArray(inputValue) && !inputValue.length);\n const appendErrorsCurry = appendErrors.bind(null, name, validateAllFieldCriteria, error);\n const getMinMaxMessage = (exceedMax, maxLengthMessage, minLengthMessage, maxType = INPUT_VALIDATION_RULES.maxLength, minType = INPUT_VALIDATION_RULES.minLength) => {\n const message = exceedMax ? maxLengthMessage : minLengthMessage;\n error[name] = {\n type: exceedMax ? maxType : minType,\n message,\n ref,\n ...appendErrorsCurry(exceedMax ? maxType : minType, message),\n };\n };\n if (isFieldArray\n ? !Array.isArray(inputValue) || !inputValue.length\n : required &&\n ((!isRadioOrCheckbox && (isEmpty || isNullOrUndefined(inputValue))) ||\n (isBoolean(inputValue) && !inputValue) ||\n (isCheckBox && !getCheckboxValue(refs).isValid) ||\n (isRadio && !getRadioValue(refs).isValid))) {\n const { value, message } = isMessage(required)\n ? { value: !!required, message: required }\n : getValueAndMessage(required);\n if (value) {\n error[name] = {\n type: INPUT_VALIDATION_RULES.required,\n message,\n ref: inputRef,\n ...appendErrorsCurry(INPUT_VALIDATION_RULES.required, message),\n };\n if (!validateAllFieldCriteria) {\n setCustomValidity(message);\n return error;\n }\n }\n }\n if (!isEmpty && (!isNullOrUndefined(min) || !isNullOrUndefined(max))) {\n let exceedMax;\n let exceedMin;\n const maxOutput = getValueAndMessage(max);\n const minOutput = getValueAndMessage(min);\n if (!isNullOrUndefined(inputValue) && !isNaN(inputValue)) {\n const valueNumber = ref.valueAsNumber ||\n (inputValue ? +inputValue : inputValue);\n if (!isNullOrUndefined(maxOutput.value)) {\n exceedMax = valueNumber > maxOutput.value;\n }\n if (!isNullOrUndefined(minOutput.value)) {\n exceedMin = valueNumber < minOutput.value;\n }\n }\n else {\n const valueDate = ref.valueAsDate || new Date(inputValue);\n const convertTimeToDate = (time) => new Date(new Date().toDateString() + ' ' + time);\n const isTime = ref.type == 'time';\n const isWeek = ref.type == 'week';\n if (isString(maxOutput.value) && inputValue) {\n exceedMax = isTime\n ? convertTimeToDate(inputValue) > convertTimeToDate(maxOutput.value)\n : isWeek\n ? inputValue > maxOutput.value\n : valueDate > new Date(maxOutput.value);\n }\n if (isString(minOutput.value) && inputValue) {\n exceedMin = isTime\n ? convertTimeToDate(inputValue) < convertTimeToDate(minOutput.value)\n : isWeek\n ? inputValue < minOutput.value\n : valueDate < new Date(minOutput.value);\n }\n }\n if (exceedMax || exceedMin) {\n getMinMaxMessage(!!exceedMax, maxOutput.message, minOutput.message, INPUT_VALIDATION_RULES.max, INPUT_VALIDATION_RULES.min);\n if (!validateAllFieldCriteria) {\n setCustomValidity(error[name].message);\n return error;\n }\n }\n }\n if ((maxLength || minLength) &&\n !isEmpty &&\n (isString(inputValue) || (isFieldArray && Array.isArray(inputValue)))) {\n const maxLengthOutput = getValueAndMessage(maxLength);\n const minLengthOutput = getValueAndMessage(minLength);\n const exceedMax = !isNullOrUndefined(maxLengthOutput.value) &&\n inputValue.length > +maxLengthOutput.value;\n const exceedMin = !isNullOrUndefined(minLengthOutput.value) &&\n inputValue.length < +minLengthOutput.value;\n if (exceedMax || exceedMin) {\n getMinMaxMessage(exceedMax, maxLengthOutput.message, minLengthOutput.message);\n if (!validateAllFieldCriteria) {\n setCustomValidity(error[name].message);\n return error;\n }\n }\n }\n if (pattern && !isEmpty && isString(inputValue)) {\n const { value: patternValue, message } = getValueAndMessage(pattern);\n if (isRegex(patternValue) && !inputValue.match(patternValue)) {\n error[name] = {\n type: INPUT_VALIDATION_RULES.pattern,\n message,\n ref,\n ...appendErrorsCurry(INPUT_VALIDATION_RULES.pattern, message),\n };\n if (!validateAllFieldCriteria) {\n setCustomValidity(message);\n return error;\n }\n }\n }\n if (validate) {\n if (isFunction(validate)) {\n const result = await validate(inputValue, formValues);\n const validateError = getValidateError(result, inputRef);\n if (validateError) {\n error[name] = {\n ...validateError,\n ...appendErrorsCurry(INPUT_VALIDATION_RULES.validate, validateError.message),\n };\n if (!validateAllFieldCriteria) {\n setCustomValidity(validateError.message);\n return error;\n }\n }\n }\n else if (isObject(validate)) {\n let validationResult = {};\n for (const key in validate) {\n if (!isEmptyObject(validationResult) && !validateAllFieldCriteria) {\n break;\n }\n const validateError = getValidateError(await validate[key](inputValue, formValues), inputRef, key);\n if (validateError) {\n validationResult = {\n ...validateError,\n ...appendErrorsCurry(key, validateError.message),\n };\n setCustomValidity(validateError.message);\n if (validateAllFieldCriteria) {\n error[name] = validationResult;\n }\n }\n }\n if (!isEmptyObject(validationResult)) {\n error[name] = {\n ref: inputRef,\n ...validationResult,\n };\n if (!validateAllFieldCriteria) {\n return error;\n }\n }\n }\n }\n setCustomValidity(true);\n return error;\n};\n\nvar appendAt = (data, value) => [\n ...data,\n ...convertToArrayPayload(value),\n];\n\nvar fillEmptyArray = (value) => Array.isArray(value) ? value.map(() => undefined) : undefined;\n\nfunction insert(data, index, value) {\n return [\n ...data.slice(0, index),\n ...convertToArrayPayload(value),\n ...data.slice(index),\n ];\n}\n\nvar moveArrayAt = (data, from, to) => {\n if (!Array.isArray(data)) {\n return [];\n }\n if (isUndefined(data[to])) {\n data[to] = undefined;\n }\n data.splice(to, 0, data.splice(from, 1)[0]);\n return data;\n};\n\nvar prependAt = (data, value) => [\n ...convertToArrayPayload(value),\n ...convertToArrayPayload(data),\n];\n\nfunction removeAtIndexes(data, indexes) {\n let i = 0;\n const temp = [...data];\n for (const index of indexes) {\n temp.splice(index - i, 1);\n i++;\n }\n return compact(temp).length ? temp : [];\n}\nvar removeArrayAt = (data, index) => isUndefined(index)\n ? []\n : removeAtIndexes(data, convertToArrayPayload(index).sort((a, b) => a - b));\n\nvar swapArrayAt = (data, indexA, indexB) => {\n [data[indexA], data[indexB]] = [data[indexB], data[indexA]];\n};\n\nfunction baseGet(object, updatePath) {\n const length = updatePath.slice(0, -1).length;\n let index = 0;\n while (index < length) {\n object = isUndefined(object) ? index++ : object[updatePath[index++]];\n }\n return object;\n}\nfunction isEmptyArray(obj) {\n for (const key in obj) {\n if (obj.hasOwnProperty(key) && !isUndefined(obj[key])) {\n return false;\n }\n }\n return true;\n}\nfunction unset(object, path) {\n const paths = Array.isArray(path)\n ? path\n : isKey(path)\n ? [path]\n : stringToPath(path);\n const childObject = paths.length === 1 ? object : baseGet(object, paths);\n const index = paths.length - 1;\n const key = paths[index];\n if (childObject) {\n delete childObject[key];\n }\n if (index !== 0 &&\n ((isObject(childObject) && isEmptyObject(childObject)) ||\n (Array.isArray(childObject) && isEmptyArray(childObject)))) {\n unset(object, paths.slice(0, -1));\n }\n return object;\n}\n\nvar updateAt = (fieldValues, index, value) => {\n fieldValues[index] = value;\n return fieldValues;\n};\n\n/**\n * A custom hook that exposes convenient methods to perform operations with a list of dynamic inputs that need to be appended, updated, removed etc. • [Demo](https://codesandbox.io/s/react-hook-form-usefieldarray-ssugn) • [Video](https://youtu.be/4MrbfGSFY2A)\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/usefieldarray) • [Demo](https://codesandbox.io/s/react-hook-form-usefieldarray-ssugn)\n *\n * @param props - useFieldArray props\n *\n * @returns methods - functions to manipulate with the Field Arrays (dynamic inputs) {@link UseFieldArrayReturn}\n *\n * @example\n * ```tsx\n * function App() {\n * const { register, control, handleSubmit, reset, trigger, setError } = useForm({\n * defaultValues: {\n * test: []\n * }\n * });\n * const { fields, append } = useFieldArray({\n * control,\n * name: \"test\"\n * });\n *\n * return (\n * <form onSubmit={handleSubmit(data => console.log(data))}>\n * {fields.map((item, index) => (\n * <input key={item.id} {...register(`test.${index}.firstName`)} />\n * ))}\n * <button type=\"button\" onClick={() => append({ firstName: \"bill\" })}>\n * append\n * </button>\n * <input type=\"submit\" />\n * </form>\n * );\n * }\n * ```\n */\nfunction useFieldArray(props) {\n const methods = useFormContext();\n const { control = methods.control, name, keyName = 'id', shouldUnregister, } = props;\n const [fields, setFields] = React.useState(control._getFieldArray(name));\n const ids = React.useRef(control._getFieldArray(name).map(generateId));\n const _fieldIds = React.useRef(fields);\n const _name = React.useRef(name);\n const _actioned = React.useRef(false);\n _name.current = name;\n _fieldIds.current = fields;\n control._names.array.add(name);\n props.rules &&\n control.register(name, props.rules);\n useSubscribe({\n next: ({ values, name: fieldArrayName, }) => {\n if (fieldArrayName === _name.current || !fieldArrayName) {\n const fieldValues = get(values, _name.current);\n if (Array.isArray(fieldValues)) {\n setFields(fieldValues);\n ids.current = fieldValues.map(generateId);\n }\n }\n },\n subject: control._subjects.array,\n });\n const updateValues = React.useCallback((updatedFieldArrayValues) => {\n _actioned.current = true;\n control._updateFieldArray(name, updatedFieldArrayValues);\n }, [control, name]);\n const append = (value, options) => {\n const appendValue = convertToArrayPayload(cloneObject(value));\n const updatedFieldArrayValues = appendAt(control._getFieldArray(name), appendValue);\n control._names.focus = getFocusFieldName(name, updatedFieldArrayValues.length - 1, options);\n ids.current = appendAt(ids.current, appendValue.map(generateId));\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(name, updatedFieldArrayValues, appendAt, {\n argA: fillEmptyArray(value),\n });\n };\n const prepend = (value, options) => {\n const prependValue = convertToArrayPayload(cloneObject(value));\n const updatedFieldArrayValues = prependAt(control._getFieldArray(name), prependValue);\n control._names.focus = getFocusFieldName(name, 0, options);\n ids.current = prependAt(ids.current, prependValue.map(generateId));\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(name, updatedFieldArrayValues, prependAt, {\n argA: fillEmptyArray(value),\n });\n };\n const remove = (index) => {\n const updatedFieldArrayValues = removeArrayAt(control._getFieldArray(name), index);\n ids.current = removeArrayAt(ids.current, index);\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(name, updatedFieldArrayValues, removeArrayAt, {\n argA: index,\n });\n };\n const insert$1 = (index, value, options) => {\n const insertValue = convertToArrayPayload(cloneObject(value));\n const updatedFieldArrayValues = insert(control._getFieldArray(name), index, insertValue);\n control._names.focus = getFocusFieldName(name, index, options);\n ids.current = insert(ids.current, index, insertValue.map(generateId));\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(name, updatedFieldArrayValues, insert, {\n argA: index,\n argB: fillEmptyArray(value),\n });\n };\n const swap = (indexA, indexB) => {\n const updatedFieldArrayValues = control._getFieldArray(name);\n swapArrayAt(updatedFieldArrayValues, indexA, indexB);\n swapArrayAt(ids.current, indexA, indexB);\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(name, updatedFieldArrayValues, swapArrayAt, {\n argA: indexA,\n argB: indexB,\n }, false);\n };\n const move = (from, to) => {\n const updatedFieldArrayValues = control._getFieldArray(name);\n moveArrayAt(updatedFieldArrayValues, from, to);\n moveArrayAt(ids.current, from, to);\n updateValues(updatedFieldArrayValues);\n setFields(updatedFieldArrayValues);\n control._updateFieldArray(name, updatedFieldArrayValues, moveArrayAt, {\n argA: from,\n argB: to,\n }, false);\n };\n const update = (index, value) => {\n const updateValue = cloneObject(value);\n const updatedFieldArrayValues = updateAt(control._getFieldArray(name), index, updateValue);\n ids.current = [...updatedFieldArrayValues].map((item, i) => !item || i === index ? generateId() : ids.current[i]);\n updateValues(updatedFieldArrayValues);\n setFields([...updatedFieldArrayValues]);\n control._updateFieldArray(name, updatedFieldArrayValues, updateAt, {\n argA: index,\n argB: updateValue,\n }, true, false);\n };\n const replace = (value) => {\n const updatedFieldArrayValues = convertToArrayPayload(cloneObject(value));\n ids.current = updatedFieldArrayValues.map(generateId);\n updateValues([...updatedFieldArrayValues]);\n setFields([...updatedFieldArrayValues]);\n control._updateFieldArray(name, [...updatedFieldArrayValues], (data) => data, {}, true, false);\n };\n React.useEffect(() => {\n control._state.action = false;\n isWatched(name, control._names) &&\n control._subjects.state.next({\n ...control._formState,\n });\n if (_actioned.current &&\n (!getValidationModes(control._options.mode).isOnSubmit ||\n control._formState.isSubmitted)) {\n if (control._options.resolver) {\n control._executeSchema([name]).then((result) => {\n const error = get(result.errors, name);\n const existingError = get(control._formState.errors, name);\n if (existingError\n ? (!error && existingError.type) ||\n (error &&\n (existingError.type !== error.type ||\n existingError.message !== error.message))\n : error && error.type) {\n error\n ? set(control._formState.errors, name, error)\n : unset(control._formState.errors, name);\n control._subjects.state.next({\n errors: control._formState.errors,\n });\n }\n });\n }\n else {\n const field = get(control._fields, name);\n if (field &&\n field._f &&\n !(getValidationModes(control._options.reValidateMode).isOnSubmit &&\n getValidationModes(control._options.mode).isOnSubmit)) {\n validateField(field, control._formValues, control._options.criteriaMode === VALIDATION_MODE.all, control._options.shouldUseNativeValidation, true).then((error) => !isEmptyObject(error) &&\n control._subjects.state.next({\n errors: updateFieldArrayRootError(control._formState.errors, error, name),\n }));\n }\n }\n }\n control._subjects.values.next({\n name,\n values: { ...control._formValues },\n });\n control._names.focus &&\n iterateFieldsByAction(control._fields, (ref, key) => {\n if (control._names.focus &&\n key.startsWith(control._names.focus) &&\n ref.focus) {\n ref.focus();\n return 1;\n }\n return;\n });\n control._names.focus = '';\n control._updateValid();\n _actioned.current = false;\n }, [fields, name, control]);\n React.useEffect(() => {\n !get(control._formValues, name) && control._updateFieldArray(name);\n return () => {\n (control._options.shouldUnregister || shouldUnregister) &&\n control.unregister(name);\n };\n }, [name, control, keyName, shouldUnregister]);\n return {\n swap: React.useCallback(swap, [updateValues, name, control]),\n move: React.useCallback(move, [updateValues, name, control]),\n prepend: React.useCallback(prepend, [updateValues, name, control]),\n append: React.useCallback(append, [updateValues, name, control]),\n remove: React.useCallback(remove, [updateValues, name, control]),\n insert: React.useCallback(insert$1, [updateValues, name, control]),\n update: React.useCallback(update, [updateValues, name, control]),\n replace: React.useCallback(replace, [updateValues, name, control]),\n fields: React.useMemo(() => fields.map((field, index) => ({\n ...field,\n [keyName]: ids.current[index] || generateId(),\n })), [fields, keyName]),\n };\n}\n\nvar createSubject = () => {\n let _observers = [];\n const next = (value) => {\n for (const observer of _observers) {\n observer.next && observer.next(value);\n }\n };\n const subscribe = (observer) => {\n _observers.push(observer);\n return {\n unsubscribe: () => {\n _observers = _observers.filter((o) => o !== observer);\n },\n };\n };\n const unsubscribe = () => {\n _observers = [];\n };\n return {\n get observers() {\n return _observers;\n },\n next,\n subscribe,\n unsubscribe,\n };\n};\n\nvar isPrimitive = (value) => isNullOrUndefined(value) || !isObjectType(value);\n\nfunction deepEqual(object1, object2) {\n if (isPrimitive(object1) || isPrimitive(object2)) {\n return object1 === object2;\n }\n if (isDateObject(object1) && isDateObject(object2)) {\n return object1.getTime() === object2.getTime();\n }\n const keys1 = Object.keys(object1);\n const keys2 = Object.keys(object2);\n if (keys1.length !== keys2.length) {\n return false;\n }\n for (const key of keys1) {\n const val1 = object1[key];\n if (!keys2.includes(key)) {\n return false;\n }\n if (key !== 'ref') {\n const val2 = object2[key];\n if ((isDateObject(val1) && isDateObject(val2)) ||\n (isObject(val1) && isObject(val2)) ||\n (Array.isArray(val1) && Array.isArray(val2))\n ? !deepEqual(val1, val2)\n : val1 !== val2) {\n return false;\n }\n }\n }\n return true;\n}\n\nvar isMultipleSelect = (element) => element.type === `select-multiple`;\n\nvar isRadioOrCheckbox = (ref) => isRadioInput(ref) || isCheckBoxInput(ref);\n\nvar live = (ref) => isHTMLElement(ref) && ref.isConnected;\n\nvar objectHasFunction = (data) => {\n for (const key in data) {\n if (isFunction(data[key])) {\n return true;\n }\n }\n return false;\n};\n\nfunction markFieldsDirty(data, fields = {}) {\n const isParentNodeArray = Array.isArray(data);\n if (isObject(data) || isParentNodeArray) {\n for (const key in data) {\n if (Array.isArray(data[key]) ||\n (isObject(data[key]) && !objectHasFunction(data[key]))) {\n fields[key] = Array.isArray(data[key]) ? [] : {};\n markFieldsDirty(data[key], fields[key]);\n }\n else if (!isNullOrUndefined(data[key])) {\n fields[key] = true;\n }\n }\n }\n return fields;\n}\nfunction getDirtyFieldsFromDefaultValues(data, formValues, dirtyFieldsFromValues) {\n const isParentNodeArray = Array.isArray(data);\n if (isObject(data) || isParentNodeArray) {\n for (const key in data) {\n if (Array.isArray(data[key]) ||\n (isObject(data[key]) && !objectHasFunction(data[key]))) {\n if (isUndefined(formValues) ||\n isPrimitive(dirtyFieldsFromValues[key])) {\n dirtyFieldsFromValues[key] = Array.isArray(data[key])\n ? markFieldsDirty(data[key], [])\n : { ...markFieldsDirty(data[key]) };\n }\n else {\n getDirtyFieldsFromDefaultValues(data[key], isNullOrUndefined(formValues) ? {} : formValues[key], dirtyFieldsFromValues[key]);\n }\n }\n else {\n dirtyFieldsFromValues[key] = !deepEqual(data[key], formValues[key]);\n }\n }\n }\n return dirtyFieldsFromValues;\n}\nvar getDirtyFields = (defaultValues, formValues) => getDirtyFieldsFromDefaultValues(defaultValues, formValues, markFieldsDirty(formValues));\n\nvar getFieldValueAs = (value, { valueAsNumber, valueAsDate, setValueAs }) => isUndefined(value)\n ? value\n : valueAsNumber\n ? value === ''\n ? NaN\n : value\n ? +value\n : value\n : valueAsDate && isString(value)\n ? new Date(value)\n : setValueAs\n ? setValueAs(value)\n : value;\n\nfunction getFieldValue(_f) {\n const ref = _f.ref;\n if (_f.refs ? _f.refs.every((ref) => ref.disabled) : ref.disabled) {\n return;\n }\n if (isFileInput(ref)) {\n return ref.files;\n }\n if (isRadioInput(ref)) {\n return getRadioValue(_f.refs).value;\n }\n if (isMultipleSelect(ref)) {\n return [...ref.selectedOptions].map(({ value }) => value);\n }\n if (isCheckBoxInput(ref)) {\n return getCheckboxValue(_f.refs).value;\n }\n return getFieldValueAs(isUndefined(ref.value) ? _f.ref.value : ref.value, _f);\n}\n\nvar getResolverOptions = (fieldsNames, _fields, criteriaMode, shouldUseNativeValidation) => {\n const fields = {};\n for (const name of fieldsNames) {\n const field = get(_fields, name);\n field && set(fields, name, field._f);\n }\n return {\n criteriaMode,\n names: [...fieldsNames],\n fields,\n shouldUseNativeValidation,\n };\n};\n\nvar getRuleValue = (rule) => isUndefined(rule)\n ? rule\n : isRegex(rule)\n ? rule.source\n : isObject(rule)\n ? isRegex(rule.value)\n ? rule.value.source\n : rule.value\n : rule;\n\nvar hasValidation = (options) => options.mount &&\n (options.required ||\n options.min ||\n options.max ||\n options.maxLength ||\n options.minLength ||\n options.pattern ||\n options.validate);\n\nfunction schemaErrorLookup(errors, _fields, name) {\n const error = get(errors, name);\n if (error || isKey(name)) {\n return {\n error,\n name,\n };\n }\n const names = name.split('.');\n while (names.length) {\n const fieldName = names.join('.');\n const field = get(_fields, fieldName);\n const foundError = get(errors, fieldName);\n if (field && !Array.isArray(field) && name !== fieldName) {\n return { name };\n }\n if (foundError && foundError.type) {\n return {\n name: fieldName,\n error: foundError,\n };\n }\n names.pop();\n }\n return {\n name,\n };\n}\n\nvar skipValidation = (isBlurEvent, isTouched, isSubmitted, reValidateMode, mode) => {\n if (mode.isOnAll) {\n return false;\n }\n else if (!isSubmitted && mode.isOnTouch) {\n return !(isTouched || isBlurEvent);\n }\n else if (isSubmitted ? reValidateMode.isOnBlur : mode.isOnBlur) {\n return !isBlurEvent;\n }\n else if (isSubmitted ? reValidateMode.isOnChange : mode.isOnChange) {\n return isBlurEvent;\n }\n return true;\n};\n\nvar unsetEmptyArray = (ref, name) => !compact(get(ref, name)).length && unset(ref, name);\n\nconst defaultOptions = {\n mode: VALIDATION_MODE.onSubmit,\n reValidateMode: VALIDATION_MODE.onChange,\n shouldFocusError: true,\n};\nfunction createFormControl(props = {}) {\n let _options = {\n ...defaultOptions,\n ...props,\n };\n let _formState = {\n submitCount: 0,\n isDirty: false,\n isLoading: isFunction(_options.defaultValues),\n isValidating: false,\n isSubmitted: false,\n isSubmitting: false,\n isSubmitSuccessful: false,\n isValid: false,\n touchedFields: {},\n dirtyFields: {},\n validatingFields: {},\n errors: _options.errors || {},\n disabled: _options.disabled || false,\n };\n let _fields = {};\n let _defaultValues = isObject(_options.defaultValues) || isObject(_options.values)\n ? cloneObject(_options.defaultValues || _options.values) || {}\n : {};\n let _formValues = _options.shouldUnregister\n ? {}\n : cloneObject(_defaultValues);\n let _state = {\n action: false,\n mount: false,\n watch: false,\n };\n let _names = {\n mount: new Set(),\n unMount: new Set(),\n array: new Set(),\n watch: new Set(),\n };\n let delayErrorCallback;\n let timer = 0;\n const _proxyFormState = {\n isDirty: false,\n dirtyFields: false,\n validatingFields: false,\n touchedFields: false,\n isValidating: false,\n isValid: false,\n errors: false,\n };\n const _subjects = {\n values: createSubject(),\n array: createSubject(),\n state: createSubject(),\n };\n const validationModeBeforeSubmit = getValidationModes(_options.mode);\n const validationModeAfterSubmit = getValidationModes(_options.reValidateMode);\n const shouldDisplayAllAssociatedErrors = _options.criteriaMode === VALIDATION_MODE.all;\n const debounce = (callback) => (wait) => {\n clearTimeout(timer);\n timer = setTimeout(callback, wait);\n };\n const _updateValid = async (shouldUpdateValid) => {\n if (_proxyFormState.isValid || shouldUpdateValid) {\n const isValid = _options.resolver\n ? isEmptyObject((await _executeSchema()).errors)\n : await executeBuiltInValidation(_fields, true);\n if (isValid !== _formState.isValid) {\n _subjects.state.next({\n isValid,\n });\n }\n }\n };\n const _updateIsValidating = (names, isValidating) => {\n if (_proxyFormState.isValidating || _proxyFormState.validatingFields) {\n (names || Array.from(_names.mount)).forEach((name) => {\n if (name) {\n isValidating\n ? set(_formState.validatingFields, name, isValidating)\n : unset(_formState.validatingFields, name);\n }\n });\n _subjects.state.next({\n validatingFields: _formState.validatingFields,\n isValidating: !isEmptyObject(_formState.validatingFields),\n });\n }\n };\n const _updateFieldArray = (name, values = [], method, args, shouldSetValues = true, shouldUpdateFieldsAndState = true) => {\n if (args && method) {\n _state.action = true;\n if (shouldUpdateFieldsAndState && Array.isArray(get(_fields, name))) {\n const fieldValues = method(get(_fields, name), args.argA, args.argB);\n shouldSetValues && set(_fields, name, fieldValues);\n }\n if (shouldUpdateFieldsAndState &&\n Array.isArray(get(_formState.errors, name))) {\n const errors = method(get(_formState.errors, name), args.argA, args.argB);\n shouldSetValues && set(_formState.errors, name, errors);\n unsetEmptyArray(_formState.errors, name);\n }\n if (_proxyFormState.touchedFields &&\n shouldUpdateFieldsAndState &&\n Array.isArray(get(_formState.touchedFields, name))) {\n const touchedFields = method(get(_formState.touchedFields, name), args.argA, args.argB);\n shouldSetValues && set(_formState.touchedFields, name, touchedFields);\n }\n if (_proxyFormState.dirtyFields) {\n _formState.dirtyFields = getDirtyFields(_defaultValues, _formValues);\n }\n _subjects.state.next({\n name,\n isDirty: _getDirty(name, values),\n dirtyFields: _formState.dirtyFields,\n errors: _formState.errors,\n isValid: _formState.isValid,\n });\n }\n else {\n set(_formValues, name, values);\n }\n };\n const updateErrors = (name, error) => {\n set(_formState.errors, name, error);\n _subjects.state.next({\n errors: _formState.errors,\n });\n };\n const _setErrors = (errors) => {\n _formState.errors = errors;\n _subjects.state.next({\n errors: _formState.errors,\n isValid: false,\n });\n };\n const updateValidAndValue = (name, shouldSkipSetValueAs, value, ref) => {\n const field = get(_fields, name);\n if (field) {\n const defaultValue = get(_formValues, name, isUndefined(value) ? get(_defaultValues, name) : value);\n isUndefined(defaultValue) ||\n (ref && ref.defaultChecked) ||\n shouldSkipSetValueAs\n ? set(_formValues, name, shouldSkipSetValueAs ? defaultValue : getFieldValue(field._f))\n : setFieldValue(name, defaultValue);\n _state.mount && _updateValid();\n }\n };\n const updateTouchAndDirty = (name, fieldValue, isBlurEvent, shouldDirty, shouldRender) => {\n let shouldUpdateField = false;\n let isPreviousDirty = false;\n const output = {\n name,\n };\n const disabledField = !!(get(_fields, name) &&\n get(_fields, name)._f &&\n get(_fields, name)._f.disabled);\n if (!isBlurEvent || shouldDirty) {\n if (_proxyFormState.isDirty) {\n isPreviousDirty = _formState.isDirty;\n _formState.isDirty = output.isDirty = _getDirty();\n shouldUpdateField = isPreviousDirty !== output.isDirty;\n }\n const isCurrentFieldPristine = disabledField || deepEqual(get(_defaultValues, name), fieldValue);\n isPreviousDirty = !!(!disabledField && get(_formState.dirtyFields, name));\n isCurrentFieldPristine || disabledField\n ? unset(_formState.dirtyFields, name)\n : set(_formState.dirtyFields, name, true);\n output.dirtyFields = _formState.dirtyFields;\n shouldUpdateField =\n shouldUpdateField ||\n (_proxyFormState.dirtyFields &&\n isPreviousDirty !== !isCurrentFieldPristine);\n }\n if (isBlurEvent) {\n const isPreviousFieldTouched = get(_formState.touchedFields, name);\n if (!isPreviousFieldTouched) {\n set(_formState.touchedFields, name, isBlurEvent);\n output.touchedFields = _formState.touchedFields;\n shouldUpdateField =\n shouldUpdateField ||\n (_proxyFormState.touchedFields &&\n isPreviousFieldTouched !== isBlurEvent);\n }\n }\n shouldUpdateField && shouldRender && _subjects.state.next(output);\n return shouldUpdateField ? output : {};\n };\n const shouldRenderByError = (name, isValid, error, fieldState) => {\n const previousFieldError = get(_formState.errors, name);\n const shouldUpdateValid = _proxyFormState.isValid &&\n isBoolean(isValid) &&\n _formState.isValid !== isValid;\n if (props.delayError && error) {\n delayErrorCallback = debounce(() => updateErrors(name, error));\n delayErrorCallback(props.delayError);\n }\n else {\n clearTimeout(timer);\n delayErrorCallback = null;\n error\n ? set(_formState.errors, name, error)\n : unset(_formState.errors, name);\n }\n if ((error ? !deepEqual(previousFieldError, error) : previousFieldError) ||\n !isEmptyObject(fieldState) ||\n shouldUpdateValid) {\n const updatedFormState = {\n ...fieldState,\n ...(shouldUpdateValid && isBoolean(isValid) ? { isValid } : {}),\n errors: _formState.errors,\n name,\n };\n _formState = {\n ..._formState,\n ...updatedFormState,\n };\n _subjects.state.next(updatedFormState);\n }\n };\n const _executeSchema = async (name) => {\n _updateIsValidating(name, true);\n const result = await _options.resolver(_formValues, _options.context, getResolverOptions(name || _names.mount, _fields, _options.criteriaMode, _options.shouldUseNativeValidation));\n _updateIsValidating(name);\n return result;\n };\n const executeSchemaAndUpdateState = async (names) => {\n const { errors } = await _executeSchema(names);\n if (names) {\n for (const name of names) {\n const error = get(errors, name);\n error\n ? set(_formState.errors, name, error)\n : unset(_formState.errors, name);\n }\n }\n else {\n _formState.errors = errors;\n }\n return errors;\n };\n const executeBuiltInValidation = async (fields, shouldOnlyCheckValid, context = {\n valid: true,\n }) => {\n for (const name in fields) {\n const field = fields[name];\n if (field) {\n const { _f, ...fieldValue } = field;\n if (_f) {\n const isFieldArrayRoot = _names.array.has(_f.name);\n _updateIsValidating([name], true);\n const fieldError = await validateField(field, _formValues, shouldDisplayAllAssociatedErrors, _options.shouldUseNativeValidation && !shouldOnlyCheckValid, isFieldArrayRoot);\n _updateIsValidating([name]);\n if (fieldError[_f.name]) {\n context.valid = false;\n if (shouldOnlyCheckValid) {\n break;\n }\n }\n !shouldOnlyCheckValid &&\n (get(fieldError, _f.name)\n ? isFieldArrayRoot\n ? updateFieldArrayRootError(_formState.errors, fieldError, _f.name)\n : set(_formState.errors, _f.name, fieldError[_f.name])\n : unset(_formState.errors, _f.name));\n }\n fieldValue &&\n (await executeBuiltInValidation(fieldValue, shouldOnlyCheckValid, context));\n }\n }\n return context.valid;\n };\n const _removeUnmounted = () => {\n for (const name of _names.unMount) {\n const field = get(_fields, name);\n field &&\n (field._f.refs\n ? field._f.refs.every((ref) => !live(ref))\n : !live(field._f.ref)) &&\n unregister(name);\n }\n _names.unMount = new Set();\n };\n const _getDirty = (name, data) => (name && data && set(_formValues, name, data),\n !deepEqual(getValues(), _defaultValues));\n const _getWatch = (names, defaultValue, isGlobal) => generateWatchOutput(names, _names, {\n ...(_state.mount\n ? _formValues\n : isUndefined(defaultValue)\n ? _defaultValues\n : isString(names)\n ? { [names]: defaultValue }\n : defaultValue),\n }, isGlobal, defaultValue);\n const _getFieldArray = (name) => compact(get(_state.mount ? _formValues : _defaultValues, name, props.shouldUnregister ? get(_defaultValues, name, []) : []));\n const setFieldValue = (name, value, options = {}) => {\n const field = get(_fields, name);\n let fieldValue = value;\n if (field) {\n const fieldReference = field._f;\n if (fieldReference) {\n !fieldReference.disabled &&\n set(_formValues, name, getFieldValueAs(value, fieldReference));\n fieldValue =\n isHTMLElement(fieldReference.ref) && isNullOrUndefined(value)\n ? ''\n : value;\n if (isMultipleSelect(fieldReference.ref)) {\n [...fieldReference.ref.options].forEach((optionRef) => (optionRef.selected = fieldValue.includes(optionRef.value)));\n }\n else if (fieldReference.refs) {\n if (isCheckBoxInput(fieldReference.ref)) {\n fieldReference.refs.length > 1\n ? fieldReference.refs.forEach((checkboxRef) => (!checkboxRef.defaultChecked || !checkboxRef.disabled) &&\n (checkboxRef.checked = Array.isArray(fieldValue)\n ? !!fieldValue.find((data) => data === checkboxRef.value)\n : fieldValue === checkboxRef.value))\n : fieldReference.refs[0] &&\n (fieldReference.refs[0].checked = !!fieldValue);\n }\n else {\n fieldReference.refs.forEach((radioRef) => (radioRef.checked = radioRef.value === fieldValue));\n }\n }\n else if (isFileInput(fieldReference.ref)) {\n fieldReference.ref.value = '';\n }\n else {\n fieldReference.ref.value = fieldValue;\n if (!fieldReference.ref.type) {\n _subjects.values.next({\n name,\n values: { ..._formValues },\n });\n }\n }\n }\n }\n (options.shouldDirty || options.shouldTouch) &&\n updateTouchAndDirty(name, fieldValue, options.shouldTouch, options.shouldDirty, true);\n options.shouldValidate && trigger(name);\n };\n const setValues = (name, value, options) => {\n for (const fieldKey in value) {\n const fieldValue = value[fieldKey];\n const fieldName = `${name}.${fieldKey}`;\n const field = get(_fields, fieldName);\n (_names.array.has(name) ||\n !isPrimitive(fieldValue) ||\n (field && !field._f)) &&\n !isDateObject(fieldValue)\n ? setValues(fieldName, fieldValue, options)\n : setFieldValue(fieldName, fieldValue, options);\n }\n };\n const setValue = (name, value, options = {}) => {\n const field = get(_fields, name);\n const isFieldArray = _names.array.has(name);\n const cloneValue = cloneObject(value);\n set(_formValues, name, cloneValue);\n if (isFieldArray) {\n _subjects.array.next({\n name,\n values: { ..._formValues },\n });\n if ((_proxyFormState.isDirty || _proxyFormState.dirtyFields) &&\n options.shouldDirty) {\n _subjects.state.next({\n name,\n dirtyFields: getDirtyFields(_defaultValues, _formValues),\n isDirty: _getDirty(name, cloneValue),\n });\n }\n }\n else {\n field && !field._f && !isNullOrUndefined(cloneValue)\n ? setValues(name, cloneValue, options)\n : setFieldValue(name, cloneValue, options);\n }\n isWatched(name, _names) && _subjects.state.next({ ..._formState });\n _subjects.values.next({\n name: _state.mount ? name : undefined,\n values: { ..._formValues },\n });\n };\n const onChange = async (event) => {\n _state.mount = true;\n const target = event.target;\n let name = target.name;\n let isFieldValueUpdated = true;\n const field = get(_fields, name);\n const getCurrentFieldValue = () => target.type ? getFieldValue(field._f) : getEventValue(event);\n const _updateIsFieldValueUpdated = (fieldValue) => {\n isFieldValueUpdated =\n Number.isNaN(fieldValue) ||\n fieldValue === get(_formValues, name, fieldValue);\n };\n if (field) {\n let error;\n let isValid;\n const fieldValue = getCurrentFieldValue();\n const isBlurEvent = event.type === EVENTS.BLUR || event.type === EVENTS.FOCUS_OUT;\n const shouldSkipValidation = (!hasValidation(field._f) &&\n !_options.resolver &&\n !get(_formState.errors, name) &&\n !field._f.deps) ||\n skipValidation(isBlurEvent, get(_formState.touchedFields, name), _formState.isSubmitted, validationModeAfterSubmit, validationModeBeforeSubmit);\n const watched = isWatched(name, _names, isBlurEvent);\n set(_formValues, name, fieldValue);\n if (isBlurEvent) {\n field._f.onBlur && field._f.onBlur(event);\n delayErrorCallback && delayErrorCallback(0);\n }\n else if (field._f.onChange) {\n field._f.onChange(event);\n }\n const fieldState = updateTouchAndDirty(name, fieldValue, isBlurEvent, false);\n const shouldRender = !isEmptyObject(fieldState) || watched;\n !isBlurEvent &&\n _subjects.values.next({\n name,\n type: event.type,\n values: { ..._formValues },\n });\n if (shouldSkipValidation) {\n _proxyFormState.isValid && _updateValid();\n return (shouldRender &&\n _subjects.state.next({ name, ...(watched ? {} : fieldState) }));\n }\n !isBlurEvent && watched && _subjects.state.next({ ..._formState });\n if (_options.resolver) {\n const { errors } = await _executeSchema([name]);\n _updateIsFieldValueUpdated(fieldValue);\n if (isFieldValueUpdated) {\n const previousErrorLookupResult = schemaErrorLookup(_formState.errors, _fields, name);\n const errorLookupResult = schemaErrorLookup(errors, _fields, previousErrorLookupResult.name || name);\n error = errorLookupResult.error;\n name = errorLookupResult.name;\n isValid = isEmptyObject(errors);\n }\n }\n else {\n _updateIsValidating([name], true);\n error = (await validateField(field, _formValues, shouldDisplayAllAssociatedErrors, _options.shouldUseNativeValidation))[name];\n _updateIsValidating([name]);\n _updateIsFieldValueUpdated(fieldValue);\n if (isFieldValueUpdated) {\n if (error) {\n isValid = false;\n }\n else if (_proxyFormState.isValid) {\n isValid = await executeBuiltInValidation(_fields, true);\n }\n }\n }\n if (isFieldValueUpdated) {\n field._f.deps &&\n trigger(field._f.deps);\n shouldRenderByError(name, isValid, error, fieldState);\n }\n }\n };\n const _focusInput = (ref, key) => {\n if (get(_formState.errors, key) && ref.focus) {\n ref.focus();\n return 1;\n }\n return;\n };\n const trigger = async (name, options = {}) => {\n let isValid;\n let validationResult;\n const fieldNames = convertToArrayPayload(name);\n if (_options.resolver) {\n const errors = await executeSchemaAndUpdateState(isUndefined(name) ? name : fieldNames);\n isValid = isEmptyObject(errors);\n validationResult = name\n ? !fieldNames.some((name) => get(errors, name))\n : isValid;\n }\n else if (name) {\n validationResult = (await Promise.all(fieldNames.map(async (fieldName) => {\n const field = get(_fields, fieldName);\n return await executeBuiltInValidation(field && field._f ? { [fieldName]: field } : field);\n }))).every(Boolean);\n !(!validationResult && !_formState.isValid) && _updateValid();\n }\n else {\n validationResult = isValid = await executeBuiltInValidation(_fields);\n }\n _subjects.state.next({\n ...(!isString(name) ||\n (_proxyFormState.isValid && isValid !== _formState.isValid)\n ? {}\n : { name }),\n ...(_options.resolver || !name ? { isValid } : {}),\n errors: _formState.errors,\n });\n options.shouldFocus &&\n !validationResult &&\n iterateFieldsByAction(_fields, _focusInput, name ? fieldNames : _names.mount);\n return validationResult;\n };\n const getValues = (fieldNames) => {\n const values = {\n ...(_state.mount ? _formValues : _defaultValues),\n };\n return isUndefined(fieldNames)\n ? values\n : isString(fieldNames)\n ? get(values, fieldNames)\n : fieldNames.map((name) => get(values, name));\n };\n const getFieldState = (name, formState) => ({\n invalid: !!get((formState || _formState).errors, name),\n isDirty: !!get((formState || _formState).dirtyFields, name),\n error: get((formState || _formState).errors, name),\n isValidating: !!get(_formState.validatingFields, name),\n isTouched: !!get((formState || _formState).touchedFields, name),\n });\n const clearErrors = (name) => {\n name &&\n convertToArrayPayload(name).forEach((inputName) => unset(_formState.errors, inputName));\n _subjects.state.next({\n errors: name ? _formState.errors : {},\n });\n };\n const setError = (name, error, options) => {\n const ref = (get(_fields, name, { _f: {} })._f || {}).ref;\n const currentError = get(_formState.errors, name) || {};\n // Don't override existing error messages elsewhere in the object tree.\n const { ref: currentRef, message, type, ...restOfErrorTree } = currentError;\n set(_formState.errors, name, {\n ...restOfErrorTree,\n ...error,\n ref,\n });\n _subjects.state.next({\n name,\n errors: _formState.errors,\n isValid: false,\n });\n options && options.shouldFocus && ref && ref.focus && ref.focus();\n };\n const watch = (name, defaultValue) => isFunction(name)\n ? _subjects.values.subscribe({\n next: (payload) => name(_getWatch(undefined, defaultValue), payload),\n })\n : _getWatch(name, defaultValue, true);\n const unregister = (name, options = {}) => {\n for (const fieldName of name ? convertToArrayPayload(name) : _names.mount) {\n _names.mount.delete(fieldName);\n _names.array.delete(fieldName);\n if (!options.keepValue) {\n unset(_fields, fieldName);\n unset(_formValues, fieldName);\n }\n !options.keepError && unset(_formState.errors, fieldName);\n !options.keepDirty && unset(_formState.dirtyFields, fieldName);\n !options.keepTouched && unset(_formState.touchedFields, fieldName);\n !options.keepIsValidating &&\n unset(_formState.validatingFields, fieldName);\n !_options.shouldUnregister &&\n !options.keepDefaultValue &&\n unset(_defaultValues, fieldName);\n }\n _subjects.values.next({\n values: { ..._formValues },\n });\n _subjects.state.next({\n ..._formState,\n ...(!options.keepDirty ? {} : { isDirty: _getDirty() }),\n });\n !options.keepIsValid && _updateValid();\n };\n const _updateDisabledField = ({ disabled, name, field, fields, value, }) => {\n if ((isBoolean(disabled) && _state.mount) || !!disabled) {\n const inputValue = disabled\n ? undefined\n : isUndefined(value)\n ? getFieldValue(field ? field._f : get(fields, name)._f)\n : value;\n set(_formValues, name, inputValue);\n updateTouchAndDirty(name, inputValue, false, false, true);\n }\n };\n const register = (name, options = {}) => {\n let field = get(_fields, name);\n const disabledIsDefined = isBoolean(options.disabled);\n set(_fields, name, {\n ...(field || {}),\n _f: {\n ...(field && field._f ? field._f : { ref: { name } }),\n name,\n mount: true,\n ...options,\n },\n });\n _names.mount.add(name);\n if (field) {\n _updateDisabledField({\n field,\n disabled: options.disabled,\n name,\n value: options.value,\n });\n }\n else {\n updateValidAndValue(name, true, options.value);\n }\n return {\n ...(disabledIsDefined ? { disabled: options.disabled } : {}),\n ...(_options.progressive\n ? {\n required: !!options.required,\n min: getRuleValue(options.min),\n max: getRuleValue(options.max),\n minLength: getRuleValue(options.minLength),\n maxLength: getRuleValue(options.maxLength),\n pattern: getRuleValue(options.pattern),\n }\n : {}),\n name,\n onChange,\n onBlur: onChange,\n ref: (ref) => {\n if (ref) {\n register(name, options);\n field = get(_fields, name);\n const fieldRef = isUndefined(ref.value)\n ? ref.querySelectorAll\n ? ref.querySelectorAll('input,select,textarea')[0] || ref\n : ref\n : ref;\n const radioOrCheckbox = isRadioOrCheckbox(fieldRef);\n const refs = field._f.refs || [];\n if (radioOrCheckbox\n ? refs.find((option) => option === fieldRef)\n : fieldRef === field._f.ref) {\n return;\n }\n set(_fields, name, {\n _f: {\n ...field._f,\n ...(radioOrCheckbox\n ? {\n refs: [\n ...refs.filter(live),\n fieldRef,\n ...(Array.isArray(get(_defaultValues, name)) ? [{}] : []),\n ],\n ref: { type: fieldRef.type, name },\n }\n : { ref: fieldRef }),\n },\n });\n updateValidAndValue(name, false, undefined, fieldRef);\n }\n else {\n field = get(_fields, name, {});\n if (field._f) {\n field._f.mount = false;\n }\n (_options.shouldUnregister || options.shouldUnregister) &&\n !(isNameInFieldArray(_names.array, name) && _state.action) &&\n _names.unMount.add(name);\n }\n },\n };\n };\n const _focusError = () => _options.shouldFocusError &&\n iterateFieldsByAction(_fields, _focusInput, _names.mount);\n const _disableForm = (disabled) => {\n if (isBoolean(disabled)) {\n _subjects.state.next({ disabled });\n iterateFieldsByAction(_fields, (ref, name) => {\n const currentField = get(_fields, name);\n if (currentField) {\n ref.disabled = currentField._f.disabled || disabled;\n if (Array.isArray(currentField._f.refs)) {\n currentField._f.refs.forEach((inputRef) => {\n inputRef.disabled = currentField._f.disabled || disabled;\n });\n }\n }\n }, 0, false);\n }\n };\n const handleSubmit = (onValid, onInvalid) => async (e) => {\n let onValidError = undefined;\n if (e) {\n e.preventDefault && e.preventDefault();\n e.persist && e.persist();\n }\n let fieldValues = cloneObject(_formValues);\n _subjects.state.next({\n isSubmitting: true,\n });\n if (_options.resolver) {\n const { errors, values } = await _executeSchema();\n _formState.errors = errors;\n fieldValues = values;\n }\n else {\n await executeBuiltInValidation(_fields);\n }\n unset(_formState.errors, 'root');\n if (isEmptyObject(_formState.errors)) {\n _subjects.state.next({\n errors: {},\n });\n try {\n await onValid(fieldValues, e);\n }\n catch (error) {\n onValidError = error;\n }\n }\n else {\n if (onInvalid) {\n await onInvalid({ ..._formState.errors }, e);\n }\n _focusError();\n setTimeout(_focusError);\n }\n _subjects.state.next({\n isSubmitted: true,\n isSubmitting: false,\n isSubmitSuccessful: isEmptyObject(_formState.errors) && !onValidError,\n submitCount: _formState.submitCount + 1,\n errors: _formState.errors,\n });\n if (onValidError) {\n throw onValidError;\n }\n };\n const resetField = (name, options = {}) => {\n if (get(_fields, name)) {\n if (isUndefined(options.defaultValue)) {\n setValue(name, cloneObject(get(_defaultValues, name)));\n }\n else {\n setValue(name, options.defaultValue);\n set(_defaultValues, name, cloneObject(options.defaultValue));\n }\n if (!options.keepTouched) {\n unset(_formState.touchedFields, name);\n }\n if (!options.keepDirty) {\n unset(_formState.dirtyFields, name);\n _formState.isDirty = options.defaultValue\n ? _getDirty(name, cloneObject(get(_defaultValues, name)))\n : _getDirty();\n }\n if (!options.keepError) {\n unset(_formState.errors, name);\n _proxyFormState.isValid && _updateValid();\n }\n _subjects.state.next({ ..._formState });\n }\n };\n const _reset = (formValues, keepStateOptions = {}) => {\n const updatedValues = formValues ? cloneObject(formValues) : _defaultValues;\n const cloneUpdatedValues = cloneObject(updatedValues);\n const isEmptyResetValues = isEmptyObject(formValues);\n const values = isEmptyResetValues ? _defaultValues : cloneUpdatedValues;\n if (!keepStateOptions.keepDefaultValues) {\n _defaultValues = updatedValues;\n }\n if (!keepStateOptions.keepValues) {\n if (keepStateOptions.keepDirtyValues) {\n for (const fieldName of _names.mount) {\n get(_formState.dirtyFields, fieldName)\n ? set(values, fieldName, get(_formValues, fieldName))\n : setValue(fieldName, get(values, fieldName));\n }\n }\n else {\n if (isWeb && isUndefined(formValues)) {\n for (const name of _names.mount) {\n const field = get(_fields, name);\n if (field && field._f) {\n const fieldReference = Array.isArray(field._f.refs)\n ? field._f.refs[0]\n : field._f.ref;\n if (isHTMLElement(fieldReference)) {\n const form = fieldReference.closest('form');\n if (form) {\n form.reset();\n break;\n }\n }\n }\n }\n }\n _fields = {};\n }\n _formValues = props.shouldUnregister\n ? keepStateOptions.keepDefaultValues\n ? cloneObject(_defaultValues)\n : {}\n : cloneObject(values);\n _subjects.array.next({\n values: { ...values },\n });\n _subjects.values.next({\n values: { ...values },\n });\n }\n _names = {\n mount: keepStateOptions.keepDirtyValues ? _names.mount : new Set(),\n unMount: new Set(),\n array: new Set(),\n watch: new Set(),\n watchAll: false,\n focus: '',\n };\n _state.mount =\n !_proxyFormState.isValid ||\n !!keepStateOptions.keepIsValid ||\n !!keepStateOptions.keepDirtyValues;\n _state.watch = !!props.shouldUnregister;\n _subjects.state.next({\n submitCount: keepStateOptions.keepSubmitCount\n ? _formState.submitCount\n : 0,\n isDirty: isEmptyResetValues\n ? false\n : keepStateOptions.keepDirty\n ? _formState.isDirty\n : !!(keepStateOptions.keepDefaultValues &&\n !deepEqual(formValues, _defaultValues)),\n isSubmitted: keepStateOptions.keepIsSubmitted\n ? _formState.isSubmitted\n : false,\n dirtyFields: isEmptyResetValues\n ? []\n : keepStateOptions.keepDirtyValues\n ? keepStateOptions.keepDefaultValues && _formValues\n ? getDirtyFields(_defaultValues, _formValues)\n : _formState.dirtyFields\n : keepStateOptions.keepDefaultValues && formValues\n ? getDirtyFields(_defaultValues, formValues)\n : keepStateOptions.keepDirty\n ? _formState.dirtyFields\n : {},\n touchedFields: keepStateOptions.keepTouched\n ? _formState.touchedFields\n : {},\n errors: keepStateOptions.keepErrors ? _formState.errors : {},\n isSubmitSuccessful: keepStateOptions.keepIsSubmitSuccessful\n ? _formState.isSubmitSuccessful\n : false,\n isSubmitting: false,\n });\n };\n const reset = (formValues, keepStateOptions) => _reset(isFunction(formValues)\n ? formValues(_formValues)\n : formValues, keepStateOptions);\n const setFocus = (name, options = {}) => {\n const field = get(_fields, name);\n const fieldReference = field && field._f;\n if (fieldReference) {\n const fieldRef = fieldReference.refs\n ? fieldReference.refs[0]\n : fieldReference.ref;\n if (fieldRef.focus) {\n fieldRef.focus();\n options.shouldSelect && fieldRef.select();\n }\n }\n };\n const _updateFormState = (updatedFormState) => {\n _formState = {\n ..._formState,\n ...updatedFormState,\n };\n };\n const _resetDefaultValues = () => isFunction(_options.defaultValues) &&\n _options.defaultValues().then((values) => {\n reset(values, _options.resetOptions);\n _subjects.state.next({\n isLoading: false,\n });\n });\n return {\n control: {\n register,\n unregister,\n getFieldState,\n handleSubmit,\n setError,\n _executeSchema,\n _getWatch,\n _getDirty,\n _updateValid,\n _removeUnmounted,\n _updateFieldArray,\n _updateDisabledField,\n _getFieldArray,\n _reset,\n _resetDefaultValues,\n _updateFormState,\n _disableForm,\n _subjects,\n _proxyFormState,\n _setErrors,\n get _fields() {\n return _fields;\n },\n get _formValues() {\n return _formValues;\n },\n get _state() {\n return _state;\n },\n set _state(value) {\n _state = value;\n },\n get _defaultValues() {\n return _defaultValues;\n },\n get _names() {\n return _names;\n },\n set _names(value) {\n _names = value;\n },\n get _formState() {\n return _formState;\n },\n set _formState(value) {\n _formState = value;\n },\n get _options() {\n return _options;\n },\n set _options(value) {\n _options = {\n ..._options,\n ...value,\n };\n },\n },\n trigger,\n register,\n handleSubmit,\n watch,\n setValue,\n getValues,\n reset,\n resetField,\n clearErrors,\n unregister,\n setError,\n setFocus,\n getFieldState,\n };\n}\n\n/**\n * Custom hook to manage the entire form.\n *\n * @remarks\n * [API](https://react-hook-form.com/docs/useform) • [Demo](https://codesandbox.io/s/react-hook-form-get-started-ts-5ksmm) • [Video](https://www.youtube.com/watch?v=RkXv4AXXC_4)\n *\n * @param props - form configuration and validation parameters.\n *\n * @returns methods - individual functions to manage the form state. {@link UseFormReturn}\n *\n * @example\n * ```tsx\n * function App() {\n * const { register, handleSubmit, watch, formState: { errors } } = useForm();\n * const onSubmit = data => console.log(data);\n *\n * console.log(watch(\"example\"));\n *\n * return (\n * <form onSubmit={handleSubmit(onSubmit)}>\n * <input defaultValue=\"test\" {...register(\"example\")} />\n * <input {...register(\"exampleRequired\", { required: true })} />\n * {errors.exampleRequired && <span>This field is required</span>}\n * <button>Submit</button>\n * </form>\n * );\n * }\n * ```\n */\nfunction useForm(props = {}) {\n const _formControl = React.useRef();\n const _values = React.useRef();\n const [formState, updateFormState] = React.useState({\n isDirty: false,\n isValidating: false,\n isLoading: isFunction(props.defaultValues),\n isSubmitted: false,\n isSubmitting: false,\n isSubmitSuccessful: false,\n isValid: false,\n submitCount: 0,\n dirtyFields: {},\n touchedFields: {},\n validatingFields: {},\n errors: props.errors || {},\n disabled: props.disabled || false,\n defaultValues: isFunction(props.defaultValues)\n ? undefined\n : props.defaultValues,\n });\n if (!_formControl.current) {\n _formControl.current = {\n ...createFormControl(props),\n formState,\n };\n }\n const control = _formControl.current.control;\n control._options = props;\n useSubscribe({\n subject: control._subjects.state,\n next: (value) => {\n if (shouldRenderFormState(value, control._proxyFormState, control._updateFormState, true)) {\n updateFormState({ ...control._formState });\n }\n },\n });\n React.useEffect(() => control._disableForm(props.disabled), [control, props.disabled]);\n React.useEffect(() => {\n if (control._proxyFormState.isDirty) {\n const isDirty = control._getDirty();\n if (isDirty !== formState.isDirty) {\n control._subjects.state.next({\n isDirty,\n });\n }\n }\n }, [control, formState.isDirty]);\n React.useEffect(() => {\n if (props.values && !deepEqual(props.values, _values.current)) {\n control._reset(props.values, control._options.resetOptions);\n _values.current = props.values;\n updateFormState((state) => ({ ...state }));\n }\n else {\n control._resetDefaultValues();\n }\n }, [props.values, control]);\n React.useEffect(() => {\n if (props.errors) {\n control._setErrors(props.errors);\n }\n }, [props.errors, control]);\n React.useEffect(() => {\n if (!control._state.mount) {\n control._updateValid();\n control._state.mount = true;\n }\n if (control._state.watch) {\n control._state.watch = false;\n control._subjects.state.next({ ...control._formState });\n }\n control._removeUnmounted();\n });\n React.useEffect(() => {\n props.shouldUnregister &&\n control._subjects.values.next({\n values: control._getWatch(),\n });\n }, [props.shouldUnregister, control]);\n _formControl.current.formState = getProxyFormState(formState, control);\n return _formControl.current;\n}\n\nexport { Controller, Form, FormProvider, appendErrors, get, set, useController, useFieldArray, useForm, useFormContext, useFormState, useWatch };\n//# sourceMappingURL=index.esm.mjs.map\n","import { useCallback, useMemo, useState, useRef, useEffect } from 'react';\nimport lodashDebounce from 'lodash/debounce';\n\nimport { SortPayload, FilterPayload } from '../../types';\nimport removeEmpty from '../../util/removeEmpty';\nimport {\n queryReducer,\n HIDE_FILTER,\n SET_FILTER,\n SET_PAGE,\n SET_PER_PAGE,\n SET_SORT,\n SHOW_FILTER,\n SORT_ASC,\n} from '../list';\n\n/**\n * Get the reference inputs parameters (page, sort, filters) and modifiers.\n *\n * @returns {Array} A tuple [parameters, modifiers].\n * Destructure as [\n * { page, perPage, sort, order, filter, filterValues, displayedFilters, requestSignature },\n * { setFilters, hideFilter, showFilter, setPage, setPerPage, setSort }\n * ]\n *\n * @example\n *\n * const [referenceParams, referenceParamsActions] = useReferenceParams({\n * resource: 'posts',\n * filterDefaultValues: {\n * published: true\n * },\n * sort: {\n * field: 'published_at',\n * order: 'DESC'\n * },\n * perPage: 25\n * });\n *\n * const {\n * page,\n * perPage,\n * sort,\n * order,\n * filter,\n * filterValues,\n * displayedFilters,\n * requestSignature\n * } = referenceParams;\n *\n * const {\n * setFilters,\n * hideFilter,\n * showFilter,\n * setPage,\n * setPerPage,\n * setSort,\n * } = referenceParamsActions;\n */\nexport const useReferenceParams = ({\n resource,\n filter,\n sort = defaultSort,\n page = 1,\n perPage = 10,\n debounce = 500,\n}: ReferenceParamsOptions): [Parameters, Modifiers] => {\n const [params, setParams] = useState(defaultParams);\n const tempParams = useRef<ReferenceParams>();\n\n const requestSignature = [\n resource,\n JSON.stringify(params),\n JSON.stringify(filter),\n JSON.stringify(sort),\n page,\n perPage,\n ];\n\n const query = useMemo(\n () =>\n getQuery({\n params: params,\n filterDefaultValues: filter,\n sort,\n page,\n perPage,\n }),\n requestSignature // eslint-disable-line react-hooks/exhaustive-deps\n );\n\n const changeParams = useCallback(action => {\n if (!tempParams.current) {\n // no other changeParams action dispatched this tick\n const newTempParams = queryReducer(query, action);\n tempParams.current = newTempParams;\n // schedule side effects for next tick\n setTimeout(() => {\n setParams(newTempParams);\n tempParams.current = undefined;\n }, 0);\n } else {\n // side effects already scheduled, just change the params\n tempParams.current = queryReducer(tempParams.current, action);\n }\n }, requestSignature); // eslint-disable-line react-hooks/exhaustive-deps\n\n const setSort = useCallback(\n (sort: SortPayload) =>\n changeParams({\n type: SET_SORT,\n payload: sort,\n }),\n requestSignature // eslint-disable-line react-hooks/exhaustive-deps\n );\n\n const setPage = useCallback(\n (newPage: number) => changeParams({ type: SET_PAGE, payload: newPage }),\n requestSignature // eslint-disable-line react-hooks/exhaustive-deps\n );\n\n const setPerPage = useCallback(\n (newPerPage: number) =>\n changeParams({ type: SET_PER_PAGE, payload: newPerPage }),\n requestSignature // eslint-disable-line react-hooks/exhaustive-deps\n );\n\n const filterValues = query.filter || emptyObject;\n const displayedFilterValues = query.displayedFilters || emptyObject;\n\n const debouncedSetFilters = useRef(\n lodashDebounce((filter, displayedFilters = undefined) => {\n changeParams({\n type: SET_FILTER,\n payload: {\n filter: removeEmpty(filter),\n displayedFilters,\n },\n });\n }, debounce)\n );\n useEffect(() => {\n return () => {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n debouncedSetFilters.current.cancel();\n };\n }, []);\n\n const setFilters = useCallback(\n (filter, displayedFilters = undefined, debounce = false) => {\n debounce\n ? debouncedSetFilters.current(filter, displayedFilters)\n : changeParams({\n type: SET_FILTER,\n payload: {\n filter: removeEmpty(filter),\n displayedFilters,\n },\n });\n },\n requestSignature // eslint-disable-line react-hooks/exhaustive-deps\n );\n\n const hideFilter = useCallback((filterName: string) => {\n changeParams({\n type: HIDE_FILTER,\n payload: filterName,\n });\n }, requestSignature); // eslint-disable-line react-hooks/exhaustive-deps\n\n const showFilter = useCallback((filterName: string, defaultValue: any) => {\n changeParams({\n type: SHOW_FILTER,\n payload: {\n filterName,\n defaultValue,\n },\n });\n }, requestSignature); // eslint-disable-line react-hooks/exhaustive-deps\n return [\n {\n filterValues,\n requestSignature,\n ...query,\n displayedFilters: displayedFilterValues,\n },\n {\n changeParams,\n setPage,\n setPerPage,\n setSort,\n setFilters,\n hideFilter,\n showFilter,\n },\n ];\n};\n\nexport const validQueryParams = [\n 'page',\n 'perPage',\n 'sort',\n 'order',\n 'filter',\n 'displayedFilters',\n];\n\n/**\n * Merge list params from 2 different sources:\n * - the params stored in the local state\n * - the props passed to the List component (including the filter defaultValues)\n */\nexport const getQuery = ({\n params,\n filterDefaultValues,\n sort,\n page,\n perPage,\n}) => {\n const query: Partial<ReferenceParams> = hasCustomParams(params)\n ? { ...params }\n : { filter: filterDefaultValues || {} };\n\n if (!query.sort) {\n query.sort = sort.field;\n query.order = sort.order;\n }\n if (query.page == null) {\n query.page = page;\n }\n if (query.perPage == null) {\n query.perPage = perPage;\n }\n if (query.page == null) {\n query.page = 1;\n }\n\n return {\n ...query,\n page: getNumberOrDefault(query.page, 1),\n perPage: getNumberOrDefault(query.perPage, 10),\n } as ReferenceParams;\n};\n\n/**\n * Check if user has already set custom sort, page, or filters for this list\n *\n * User params come from the Redux store as the params props. By default,\n * this object is:\n *\n * { filter: {}, order: null, page: 1, perPage: null, sort: null }\n *\n * To check if the user has custom params, we must compare the params\n * to these initial values.\n *\n * @param {Object} params\n */\nexport const hasCustomParams = (params: ReferenceParams) => {\n return (\n params &&\n params.filter &&\n (Object.keys(params.filter).length > 0 ||\n params.order != null ||\n params.page !== 1 ||\n params.perPage != null ||\n params.sort != null)\n );\n};\n\nexport const getNumberOrDefault = (\n possibleNumber: string | number | undefined,\n defaultValue: number\n) => {\n if (typeof possibleNumber === 'undefined') {\n return defaultValue;\n }\n const parsedNumber =\n typeof possibleNumber === 'string'\n ? parseInt(possibleNumber, 10)\n : possibleNumber;\n\n return isNaN(parsedNumber) ? defaultValue : parsedNumber;\n};\n\nexport interface ReferenceParamsOptions {\n resource: string;\n page?: number;\n perPage?: number;\n sort?: SortPayload;\n // default value for a filter when displayed but not yet set\n filter?: FilterPayload;\n debounce?: number;\n}\n\nexport interface ReferenceParams {\n sort: string;\n order: 'ASC' | 'DESC';\n page: number;\n perPage: number;\n filter: any;\n displayedFilters: any;\n}\n\ninterface Parameters extends ReferenceParams {\n filterValues: object;\n displayedFilters: {\n [key: string]: boolean;\n };\n requestSignature: any[];\n}\n\ninterface Modifiers {\n changeParams: (action: any) => void;\n setPage: (page: number) => void;\n setPerPage: (pageSize: number) => void;\n setSort: (sort: SortPayload) => void;\n setFilters: (\n filters: any,\n displayedFilters?: any,\n debounce?: boolean\n ) => void;\n hideFilter: (filterName: string) => void;\n showFilter: (filterName: string, defaultValue: any) => void;\n}\n\nconst emptyObject = {};\n\nconst defaultSort = {\n field: 'id',\n order: SORT_ASC,\n} as const;\n\nconst defaultParams = {};\n","import { useCallback, useEffect, useMemo, useState } from 'react';\nimport { useWatch } from 'react-hook-form';\nimport type { UseQueryOptions } from '@tanstack/react-query';\n\nimport { useGetList } from '../../dataProvider';\nimport { useReference } from '../useReference';\nimport { useReferenceParams } from './useReferenceParams';\nimport { useWrappedSource } from '../../core';\nimport type { FilterPayload, RaRecord, SortPayload } from '../../types';\nimport type { ChoicesContextValue } from '../../form';\n\n/**\n * A hook for choosing a reference record. Useful for foreign keys.\n *\n * This hook fetches the possible values in the reference resource\n * (using `dataProvider.getList()`), it returns the possible choices\n * as the `choices` attribute.\n *\n * @example\n * const {\n * choices, // the available reference resource\n * } = useReferenceInputController({\n * input, // the input props\n * resource: 'comments',\n * reference: 'posts',\n * source: 'post_id',\n * });\n *\n * The hook also allow to filter results. It returns a `setFilters`\n * function. It uses the value to create a filter for the query.\n * You can also add a permanentFilter to further filter the result:\n *\n * @example\n * const {\n * choices, // the available reference resource\n * setFilter,\n * } = useReferenceInputController({\n * input, // the input props\n * resource: 'comments',\n * reference: 'posts',\n * source: 'post_id',\n * permanentFilter: {\n * author: 'john'\n * },\n * });\n */\nexport const useReferenceInputController = <RecordType extends RaRecord = any>(\n props: UseReferenceInputControllerParams\n): ChoicesContextValue<RecordType> => {\n const {\n debounce,\n enableGetChoices,\n filter,\n page: initialPage = 1,\n perPage: initialPerPage = 25,\n sort: initialSort,\n queryOptions = {},\n reference,\n source,\n } = props;\n const { meta, ...otherQueryOptions } = queryOptions;\n\n const [params, paramsModifiers] = useReferenceParams({\n resource: reference,\n page: initialPage,\n perPage: initialPerPage,\n sort: initialSort,\n debounce,\n filter,\n });\n\n // selection logic\n const finalSource = useWrappedSource(source);\n const currentValue = useWatch({ name: finalSource });\n\n const isGetMatchingEnabled = enableGetChoices\n ? enableGetChoices(params.filterValues)\n : true;\n\n // fetch possible values\n const {\n data: possibleValuesData = [],\n total,\n pageInfo,\n isFetching: isFetchingPossibleValues,\n isLoading: isLoadingPossibleValues,\n isPending: isPendingPossibleValues,\n error: errorPossibleValues,\n refetch: refetchGetList,\n } = useGetList<RecordType>(\n reference,\n {\n pagination: {\n page: params.page,\n perPage: params.perPage,\n },\n sort: { field: params.sort, order: params.order },\n filter: { ...params.filter, ...filter },\n meta,\n },\n {\n enabled: isGetMatchingEnabled,\n placeholderData: previousData => previousData,\n ...otherQueryOptions,\n }\n );\n\n // fetch current value\n const {\n referenceRecord: currentReferenceRecord,\n refetch: refetchReference,\n error: errorReference,\n isLoading: isLoadingReference,\n isFetching: isFetchingReference,\n isPending: isPendingReference,\n } = useReference<RecordType>({\n id: currentValue,\n reference,\n // @ts-ignore the types of the queryOptions for the getMAny and getList are not compatible\n options: {\n enabled: currentValue != null && currentValue !== '',\n meta,\n ...otherQueryOptions,\n },\n });\n\n const isPending =\n // The reference query isn't enabled when there is no value yet but as it has no data, react-query will flag it as pending\n (currentValue != null && currentValue !== '' && isPendingReference) ||\n isPendingPossibleValues;\n\n // We need to delay the update of the referenceRecord and the finalData\n // to the next React state update, because otherwise it can raise a warning\n // with AutocompleteInput saying the current value is not in the list of choices\n const [referenceRecord, setReferenceRecord] = useState<\n RecordType | undefined\n >(undefined);\n useEffect(() => {\n setReferenceRecord(currentReferenceRecord);\n }, [currentReferenceRecord]);\n\n // add current value to possible sources\n let finalData: RecordType[], finalTotal: number | undefined;\n if (\n !referenceRecord ||\n possibleValuesData.find(record => record.id === referenceRecord.id)\n ) {\n finalData = possibleValuesData;\n finalTotal = total;\n } else {\n finalData = [referenceRecord, ...possibleValuesData];\n finalTotal = total == null ? undefined : total + 1;\n }\n\n const refetch = useCallback(() => {\n refetchGetList();\n refetchReference();\n }, [refetchGetList, refetchReference]);\n\n const currentSort = useMemo(\n () => ({\n field: params.sort,\n order: params.order,\n }),\n [params.sort, params.order]\n );\n return {\n sort: currentSort,\n allChoices: finalData,\n availableChoices: possibleValuesData,\n selectedChoices: referenceRecord ? [referenceRecord] : [],\n displayedFilters: params.displayedFilters,\n error: errorReference || errorPossibleValues,\n filter: params.filter,\n filterValues: params.filterValues,\n hideFilter: paramsModifiers.hideFilter,\n isFetching: isFetchingReference || isFetchingPossibleValues,\n isLoading: isLoadingReference || isLoadingPossibleValues,\n isPending: isPending,\n page: params.page,\n perPage: params.perPage,\n refetch,\n resource: reference,\n setFilters: paramsModifiers.setFilters,\n setPage: paramsModifiers.setPage,\n setPerPage: paramsModifiers.setPerPage,\n setSort: paramsModifiers.setSort,\n showFilter: paramsModifiers.showFilter,\n // we return source and not finalSource because child inputs (e.g. AutocompleteInput) already call useInput and compute the final source\n source,\n total: finalTotal,\n hasNextPage: pageInfo\n ? pageInfo.hasNextPage\n : total != null\n ? params.page * params.perPage < total\n : undefined,\n hasPreviousPage: pageInfo ? pageInfo.hasPreviousPage : params.page > 1,\n isFromReference: true,\n } as ChoicesContextValue<RecordType>;\n};\n\nexport interface UseReferenceInputControllerParams<\n RecordType extends RaRecord = any,\n> {\n debounce?: number;\n filter?: FilterPayload;\n queryOptions?: Omit<\n UseQueryOptions<{\n data: RecordType[];\n total?: number;\n pageInfo?: {\n hasNextPage?: boolean;\n hasPreviousPage?: boolean;\n };\n }>,\n 'queryFn' | 'queryKey'\n > & { meta?: any };\n page?: number;\n perPage?: number;\n record?: RaRecord;\n reference: string;\n resource?: string;\n sort?: SortPayload;\n source: string;\n enableGetChoices?: (filters: any) => boolean;\n}\n","import { createContext } from 'react';\n\nexport const FormGroupsContext = createContext<\n FormGroupsContextValue | undefined\n>(undefined);\n\nexport type FormGroupSubscriber = () => void;\n\nexport type FormGroupsContextValue = {\n registerGroup: (name: string) => void;\n unregisterGroup: (name: string) => void;\n registerField: (source: string, group?: string) => void;\n unregisterField: (source: string, group?: string) => void;\n getGroupFields: (name: string) => string[];\n /**\n * Subscribe to any changes of the group content (fields added or removed).\n * Subscribers can get the current fields of the group by calling getGroupFields.\n * Returns a function to unsubscribe.\n */\n subscribe: (name: string, subscriber: FormGroupSubscriber) => () => void;\n};\n","import * as React from 'react';\nimport {\n ValidationErrorMessage,\n ValidationErrorMessageWithArgs,\n} from './validate';\nimport { useTranslate } from '../i18n';\n\nexport interface ValidationErrorProps {\n error: ValidationErrorMessage;\n}\n\nconst ValidationErrorSpecialFormatPrefix = '@@react-admin@@';\nconst ValidationError = (props: ValidationErrorProps) => {\n const { error } = props;\n let errorMessage = error;\n const translate = useTranslate();\n // react-hook-form expects errors to be plain strings but our validators can return objects\n // that have message and args.\n // To avoid double translation for users that validate with a schema instead of our validators\n // we use a special format for our validators errors.\n // The useInput hook handle the special formatting\n if (\n typeof error === 'string' &&\n error.startsWith(ValidationErrorSpecialFormatPrefix)\n ) {\n errorMessage = JSON.parse(\n error.substring(ValidationErrorSpecialFormatPrefix.length)\n );\n }\n if ((errorMessage as ValidationErrorMessageWithArgs).message) {\n const { message, args } =\n errorMessage as ValidationErrorMessageWithArgs;\n return <>{translate(message, { _: message, ...args })}</>;\n }\n\n return <>{translate(errorMessage as string, { _: errorMessage })}</>;\n};\n\nexport default ValidationError;\n","import { FieldValues } from 'react-hook-form';\n\n/**\n * Convert a simple validation function that returns an object matching the form shape with errors\n * to a validation resolver compatible with react-hook-form.\n *\n * @example\n * const validate = (values: any) => {\n * if (values.username == null || values.username.trim() === '') {\n * return { username: 'Required' };\n * }\n * }\n *\n * const validationResolver = getSimpleValidationResolver(validate);\n *\n * const UserForm = () => (\n * <Form\n * defaultValues={{ username: 'John' }}\n * validationResolver={validationResolver}\n * >\n * <TextField source=\"username\" />\n * </Form>\n * );\n */\nexport const getSimpleValidationResolver =\n (validate: ValidateForm) => async (data: FieldValues) => {\n const errors = await validate(data);\n\n // If there are no errors, early return the form values\n if (!errors || isEmptyObject(errors)) {\n return { values: data, errors: {} };\n }\n\n // Else, we return an error object shaped like errors but having for each leaf\n // `type: 'manual'` and a `message` prop like react-hook-form expects it\n const transformedErrors = transformErrorFields(errors);\n\n // Sometimes we still need to transform the error object to realize there are actually\n // no errors in it.\n // e.g. with an ArrayInput we can get something like: `{backlinks: [{}, {}]}`\n // If, after transformation, there are no errors, we return the form values\n if (!transformedErrors || isEmptyObject(transformedErrors)) {\n return { values: data, errors: {} };\n }\n\n // Else return the errors and no values\n return {\n values: {},\n errors: transformedErrors,\n };\n };\n\nconst transformErrorFields = (error: object) => {\n return Object.keys(error).reduce((acc, field) => {\n // Handle arrays\n if (Array.isArray(error[field])) {\n let arrayHasErrors = false;\n const transformedArrayErrors = error[field].map(item => {\n if (!isEmptyObject(item)) {\n arrayHasErrors = true;\n }\n return transformErrorFields(item);\n });\n if (!arrayHasErrors) {\n return acc;\n }\n return {\n ...acc,\n [field]: transformedArrayErrors,\n };\n }\n\n // Handle objects\n if (isEmptyObject(error[field])) {\n return acc;\n }\n if (\n typeof error[field] === 'object' &&\n !isRaTranslationObj(error[field])\n ) {\n return {\n ...acc,\n [field]: transformErrorFields(error[field]),\n };\n }\n\n // Handle leaf (either primary type or RaTranslationObj)\n return {\n ...acc,\n [field]: addTypeAndMessage(error[field]),\n };\n }, {} as FieldValues);\n};\n\nconst addTypeAndMessage = (error: object) => ({\n type: 'manual',\n message: isRaTranslationObj(error) ? error : { message: error },\n});\n\nconst isRaTranslationObj = (obj: object) =>\n Object.keys(obj).includes('message') && Object.keys(obj).includes('args');\n\nconst isEmptyObject = (obj: object) =>\n Object.getOwnPropertyNames(obj).length === 0;\n\nexport type ValidateForm = (\n data: FieldValues\n) => FieldValues | Promise<FieldValues>;\n","import { createContext } from 'react';\nimport { UseGetListHookValue } from '../../dataProvider/useGetList';\nimport { FilterPayload, RaRecord, SortPayload } from '../../types';\n\n/**\n * Context to store choices and functions to retrieve them.\n *\n * Use the useChoicesContext() hook to read the context.\n */\nexport const ChoicesContext = createContext<ChoicesContextValue | undefined>(\n undefined\n);\n\nexport type ChoicesContextBaseValue<RecordType extends RaRecord = any> = {\n displayedFilters: any;\n filter?: FilterPayload;\n filterValues: any;\n hasNextPage?: boolean;\n hasPreviousPage?: boolean;\n hideFilter: (filterName: string) => void;\n isFetching: boolean;\n isLoading: boolean;\n page: number;\n perPage: number;\n refetch: (() => void) | UseGetListHookValue<RecordType>['refetch'];\n resource: string;\n setFilters: (\n filters: any,\n displayedFilters?: any,\n debounce?: boolean\n ) => void;\n setPage: (page: number) => void;\n setPerPage: (page: number) => void;\n setSort: (sort: SortPayload) => void;\n showFilter: (filterName: string, defaultValue: any) => void;\n sort: SortPayload;\n source: string;\n isFromReference: boolean;\n};\n\nexport interface ChoicesContextLoadingResult<RecordType extends RaRecord = any>\n extends ChoicesContextBaseValue<RecordType> {\n allChoices: undefined;\n availableChoices: undefined;\n selectedChoices: undefined;\n total: undefined;\n error: null;\n isPending: true;\n}\nexport interface ChoicesContextErrorResult<\n RecordType extends RaRecord = any,\n TError = Error,\n> extends ChoicesContextBaseValue<RecordType> {\n allChoices: undefined;\n availableChoices: undefined;\n selectedChoices: undefined;\n total: undefined;\n error: TError;\n isPending: false;\n}\nexport interface ChoicesContextRefetchErrorResult<\n RecordType extends RaRecord = any,\n TError = Error,\n> extends ChoicesContextBaseValue<RecordType> {\n allChoices: RecordType[];\n availableChoices: RecordType[];\n selectedChoices: RecordType[];\n total: number;\n error: TError;\n isPending: false;\n}\nexport interface ChoicesContextSuccessResult<RecordType extends RaRecord = any>\n extends ChoicesContextBaseValue<RecordType> {\n allChoices: RecordType[];\n availableChoices: RecordType[];\n selectedChoices: RecordType[];\n total: number;\n error: null;\n isPending: false;\n}\n\nexport type ChoicesContextValue<RecordType extends RaRecord = any> =\n | ChoicesContextLoadingResult<RecordType>\n | ChoicesContextErrorResult<RecordType>\n | ChoicesContextRefetchErrorResult<RecordType>\n | ChoicesContextSuccessResult<RecordType>;\n","import * as React from 'react';\nimport { ReactNode } from 'react';\nimport { ChoicesContext, ChoicesContextValue } from './ChoicesContext';\n\nexport const ChoicesContextProvider = ({\n children,\n value,\n}: {\n children: ReactNode;\n value: ChoicesContextValue;\n}) => (\n <ChoicesContext.Provider value={value}>{children}</ChoicesContext.Provider>\n);\n","import { useContext, useMemo } from 'react';\nimport { RaRecord } from '../../types';\nimport { useList } from '../../controller';\nimport { ChoicesContext, ChoicesContextValue } from './ChoicesContext';\n\nexport const useChoicesContext = <ChoicesType extends RaRecord = RaRecord>(\n options: Partial<ChoicesContextValue> & { choices?: ChoicesType[] } = {}\n): ChoicesContextValue<ChoicesType> => {\n const context = useContext(\n ChoicesContext\n ) as ChoicesContextValue<ChoicesType>;\n // @ts-ignore cannot satisfy the type of useList because of ability to pass partial options\n const { data, ...list } = useList<ChoicesType>({\n data: options.choices,\n isLoading: options.isLoading ?? false,\n isPending: options.isPending ?? false,\n isFetching: options.isFetching ?? false,\n error: options.error,\n // When not in a ChoicesContext, paginating does not make sense (e.g. AutocompleteInput).\n perPage: Infinity,\n });\n const result = useMemo(() => {\n // Props take precedence over context.\n if (options.choices || !context) {\n return {\n allChoices: data,\n availableChoices: options.availableChoices ?? data,\n selectedChoices: options.selectedChoices ?? data,\n displayedFilters:\n options.selectedChoices ?? list.displayedFilters,\n error: options.error,\n filter: options.filter ?? list.filter,\n filterValues: options.filterValues ?? list.filterValues,\n hasNextPage: options.hasNextPage ?? list.hasNextPage,\n hasPreviousPage:\n options.hasPreviousPage ?? list.hasPreviousPage,\n hideFilter: options.hideFilter ?? list.hideFilter,\n isLoading: list.isLoading ?? false, // we must take the one for useList, otherwise the loading state isn't synchronized with the data\n isPending: list.isPending ?? false, // same\n isFetching: list.isFetching ?? false, // same\n page: options.page ?? list.page,\n perPage: options.perPage ?? list.perPage,\n refetch: options.refetch ?? list.refetch,\n resource: options.resource ?? list.resource,\n setFilters: options.setFilters ?? list.setFilters,\n setPage: options.setPage ?? list.setPage,\n setPerPage: options.setPerPage ?? list.setPerPage,\n setSort: options.setSort ?? list.setSort,\n showFilter: options.showFilter ?? list.showFilter,\n sort: options.sort ?? list.sort,\n source: options.source,\n total: options.total ?? list.total,\n isFromReference: false,\n };\n }\n return context;\n }, [context, data, list, options]);\n\n return result as ChoicesContextValue<ChoicesType>;\n};\n","import * as React from 'react';\nimport { ReactNode, useMemo, useRef } from 'react';\nimport {\n FormGroupsContext,\n FormGroupsContextValue,\n FormGroupSubscriber,\n} from './FormGroupsContext';\n\n/**\n * This component provides functions through context to manage form groups,\n * allowing to link or unlink an input to a group.\n * @see FormGroupContextProvider\n * @see useFormGroup\n * @see useFormGroups\n */\nexport const FormGroupsProvider = ({ children }: { children: ReactNode }) => {\n const formGroups = useRef<{ [key: string]: string[] }>({});\n const subscribers = useRef<{\n [key: string]: FormGroupSubscriber[];\n }>({});\n\n const formContextValue = useMemo<FormGroupsContextValue>(\n () => ({\n /**\n * Register a subscriber function for the specified group. The subscriber\n * will be called whenever the group content changes (fields added or removed).\n */\n subscribe: (group, subscriber) => {\n if (!subscribers.current[group]) {\n subscribers.current[group] = [];\n }\n subscribers.current[group].push(subscriber);\n\n return () => {\n subscribers.current[group] = subscribers.current[\n group\n ].filter(s => s !== subscriber);\n };\n },\n getGroupFields: name => formGroups.current[name] || [],\n registerGroup: name => {\n formGroups.current[name] = formGroups.current[name] || [];\n },\n unregisterGroup: name => {\n delete formGroups[name];\n },\n registerField: (source, group) => {\n if (group != null) {\n if (!(formGroups.current[group] || []).includes(source)) {\n formGroups.current[group] = [\n ...(formGroups.current[group] || []),\n source,\n ];\n // Notify subscribers that the group fields have changed\n if (subscribers.current[group]) {\n subscribers.current[group].forEach(subscriber =>\n subscriber()\n );\n }\n }\n }\n },\n unregisterField: (source, group) => {\n if (group != null) {\n if (!formGroups.current[group]) {\n console.warn(`Invalid form group ${group}`);\n } else {\n const fields = new Set(formGroups.current[group]);\n fields.delete(source);\n formGroups.current[group] = Array.from(fields);\n\n // Notify subscribers that the group fields have changed\n if (subscribers.current[group]) {\n subscribers.current[group].forEach(subscriber =>\n subscriber()\n );\n }\n }\n }\n },\n }),\n []\n );\n\n return (\n <FormGroupsContext.Provider value={formContextValue}>\n {children}\n </FormGroupsContext.Provider>\n );\n};\n","import { useEffect, useState } from 'react';\nimport { Control, useFormState } from 'react-hook-form';\nimport { useBlocker } from 'react-router-dom';\nimport { useTranslate } from '../i18n';\n\n/**\n * Display a confirmation dialog if the form has unsaved changes.\n * - If the user confirms, the navigation continues and the changes are lost.\n * - If the user cancels, the navigation is cancelled and the changes are kept.\n */\nexport const useWarnWhenUnsavedChanges = (\n enable: boolean,\n formRootPathname?: string,\n control?: Control\n) => {\n const translate = useTranslate();\n const { isSubmitSuccessful, dirtyFields } = useFormState(\n control ? { control } : undefined\n );\n const isDirty = Object.keys(dirtyFields).length > 0;\n const [shouldNotify, setShouldNotify] = useState(false);\n\n const shouldNotBlock = !enable || !isDirty || isSubmitSuccessful;\n\n const blocker = useBlocker(({ currentLocation, nextLocation }) => {\n if (shouldNotBlock) return false;\n\n // Also check if the new location is inside the form\n const initialLocation = formRootPathname || currentLocation.pathname;\n const newLocationIsInsideCurrentLocation =\n nextLocation.pathname.startsWith(initialLocation);\n const newLocationIsShowView = nextLocation.pathname.startsWith(\n `${initialLocation}/show`\n );\n const newLocationIsInsideForm =\n newLocationIsInsideCurrentLocation && !newLocationIsShowView;\n if (newLocationIsInsideForm) return false;\n\n return true;\n });\n\n useEffect(() => {\n if (blocker.state === 'blocked') {\n // Corner case: the blocker might be triggered by a redirect in the onSuccess side effect,\n // happening during the same tick the form is reset after a successful save.\n // In that case, the blocker will block but shouldNotBlock will be true one tick after.\n // If we are in that case, we can proceed immediately.\n if (shouldNotBlock) {\n blocker.proceed();\n return;\n }\n\n setShouldNotify(true);\n }\n // This effect should only run when the blocker state changes, not when shouldNotBlock changes.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [blocker.state]);\n\n useEffect(() => {\n if (shouldNotify) {\n const shouldProceed = window.confirm(\n translate('ra.message.unsaved_changes')\n );\n if (shouldProceed) {\n blocker.proceed && blocker.proceed();\n } else {\n blocker.reset && blocker.reset();\n }\n }\n setShouldNotify(false);\n // Can't use blocker in the dependency array because it is not stable across rerenders\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [shouldNotify, translate]);\n\n // This effect handles document navigation, e.g. closing the tab\n useEffect(() => {\n const beforeunload = (e: BeforeUnloadEvent) => {\n // Invoking event.preventDefault() will trigger a warning dialog when the user closes or navigates the tab\n // https://developer.mozilla.org/en-US/docs/Web/API/Window/beforeunload_event#examples\n e.preventDefault();\n // Included for legacy support, e.g. Chrome/Edge < 119\n e.returnValue = true;\n };\n\n if (shouldNotBlock) {\n return;\n }\n\n window.addEventListener('beforeunload', beforeunload);\n\n return () => {\n window.removeEventListener('beforeunload', beforeunload);\n };\n }, [shouldNotBlock]);\n};\n","import { useWarnWhenUnsavedChanges } from './useWarnWhenUnsavedChanges';\n\nexport const WarnWhenUnsavedChanges = ({\n enable = true,\n formRootPathName,\n formControl,\n}) => {\n useWarnWhenUnsavedChanges(enable, formRootPathName, formControl);\n return null;\n};\n","import merge from 'lodash/merge';\nimport { RaRecord } from '../types';\n\nexport default function getFormInitialValues(\n defaultValues: DefaultValue,\n record?: Partial<RaRecord>\n) {\n const finalInitialValues = merge(\n {},\n getValues(defaultValues, record),\n record\n );\n return finalInitialValues;\n}\n\nfunction getValues(values, record) {\n if (typeof values === 'object') {\n return values;\n }\n\n if (typeof values === 'function') {\n return values(record);\n }\n\n return {};\n}\n\ninterface DefaultValueObject {\n [key: string]: any;\n}\ntype DefaultValueFunction = (record: RaRecord) => DefaultValueObject;\ntype DefaultValue = DefaultValueObject | DefaultValueFunction;\n","import { FieldValues, UseFormSetError } from 'react-hook-form';\n\n/**\n * This internal function is used to convert an object matching the form shape with errors to a\n * format compatible with react-hook-form. It's used to handle submission errors. Only useful when\n * you are implementing a custom form without leveraging our Form component.\n *\n * @example\n * const MyForm = () => {\n * const { register, handleSubmit, setError } = useForm();\n * const onSubmit = data => {\n * return saveAsync(data).catch(error => setSubmissionErrors(error.body.details));\n * };\n *\n * return (\n * <form onSubmit={handleSubmit(onSubmit)}>\n * ...\n * </form>\n * );\n * };\n */\nexport const setSubmissionErrors = (\n errors: FieldValues,\n setError: UseFormSetError<FieldValues>\n) => {\n const setErrorFromObject = (errors: FieldValues, rootPath: string) => {\n Object.entries(errors).forEach(([name, error]) => {\n if (typeof error === 'object') {\n setErrorFromObject(error, `${rootPath}${name}.`);\n return;\n }\n setError(`${rootPath}${name}`, {\n type: 'server',\n message: error.toString(),\n });\n });\n };\n setErrorFromObject(errors, '');\n};\n","import { useEffect, useRef } from 'react';\nimport { useFormState, Control } from 'react-hook-form';\nimport { useNotify } from '../notification';\n\n/**\n * This hook display an error message on submit in Form and SaveButton.\n *\n * We can't do the form validity check in the form submit handler\n * as the form state may not have been updated yet when onSubmit validation mode is enabled\n * or when the form hasn't been touched at all.\n */\nexport const useNotifyIsFormInvalid = (\n control?: Control,\n enabled: boolean = true\n) => {\n const { submitCount, errors } = useFormState(\n control ? { control } : undefined\n );\n const submitCountRef = useRef(submitCount);\n const notify = useNotify();\n\n useEffect(() => {\n // Checking the submit count allows us to only display the notification after users\n // tried to submit\n if (submitCount > submitCountRef.current && enabled) {\n submitCountRef.current = submitCount;\n\n if (Object.keys(errors).length > 0) {\n const serverError =\n typeof errors.root?.serverError?.message === 'string'\n ? errors.root.serverError.message\n : undefined;\n notify(serverError || 'ra.message.invalid_form', {\n type: 'error',\n });\n }\n }\n }, [errors, submitCount, notify, enabled]);\n};\n","/**\n * Remove empty strings from form state\n *\n * @example\n * sanitizeEmptyValues({ foo: '', bar: 'baz' }) // { bar: 'baz' }\n */\nexport const sanitizeEmptyValues = (values: any, record: any = {}): any => {\n const sanitizedValues = {};\n Object.keys(values).forEach(key => {\n if (values[key] == null || values[key] === '') {\n if (record.hasOwnProperty(key)) {\n // user has emptied a field, make the value null\n sanitizedValues[key] = null;\n } else {\n // user has emptied a field, but the initial value was undefined\n // so we don't include it in the sanitized values\n }\n } else {\n // this is a non-empty value, so we include it in the sanitized values\n sanitizedValues[key] = values[key];\n }\n });\n return sanitizedValues;\n};\n","import { BaseSyntheticEvent, useCallback, useMemo, useRef } from 'react';\nimport {\n FieldValues,\n SubmitHandler,\n useForm,\n UseFormProps,\n} from 'react-hook-form';\n\nimport { RaRecord } from '../types';\nimport { SaveHandler, useSaveContext } from '../controller';\nimport { useRecordContext } from '../controller';\nimport getFormInitialValues from './getFormInitialValues';\nimport {\n getSimpleValidationResolver,\n ValidateForm,\n} from './getSimpleValidationResolver';\nimport { setSubmissionErrors } from './setSubmissionErrors';\nimport { useNotifyIsFormInvalid } from './useNotifyIsFormInvalid';\nimport { sanitizeEmptyValues as sanitizeValues } from './sanitizeEmptyValues';\n\n/**\n * Wrapper around react-hook-form's useForm\n *\n * This hook adds the following features to react-hook-form's useForm:\n *\n * - form initialization based on RecordContext\n * - validation based on a validate function\n * - sanitization of empty values\n * - notification on invalid form\n * - stop form submission event propagation\n */\nexport const useAugmentedForm = <RecordType = any>(\n props: UseAugmentedFormProps<RecordType>\n) => {\n const {\n criteriaMode = 'firstError',\n defaultValues,\n formRootPathname,\n resolver,\n reValidateMode = 'onChange',\n onSubmit,\n sanitizeEmptyValues,\n validate,\n disableInvalidFormNotification,\n ...rest\n } = props;\n const record = useRecordContext(props);\n const saveContext = useSaveContext();\n\n const defaultValuesIncludingRecord = useMemo(\n () => getFormInitialValues(defaultValues, record),\n // eslint-disable-next-line\n [\n // eslint-disable-next-line\n JSON.stringify({\n defaultValues:\n typeof defaultValues === 'function'\n ? 'function'\n : defaultValues,\n record,\n }),\n ]\n );\n\n const finalResolver = resolver\n ? resolver\n : validate\n ? getSimpleValidationResolver(validate)\n : undefined;\n\n const form = useForm({\n criteriaMode,\n values: defaultValuesIncludingRecord,\n reValidateMode,\n resolver: finalResolver,\n ...rest,\n });\n\n const formRef = useRef(form);\n\n // notify on invalid form\n useNotifyIsFormInvalid(form.control, !disableInvalidFormNotification);\n\n // submit callbacks\n const handleSubmit = useCallback(\n async (values, event) => {\n let errors;\n const finalValues = sanitizeEmptyValues\n ? sanitizeValues(values, record)\n : values;\n if (onSubmit) {\n errors = await onSubmit(finalValues, event);\n }\n if (onSubmit == null && saveContext?.save) {\n errors = await saveContext.save(finalValues, event);\n }\n if (errors != null) {\n setSubmissionErrors(errors, formRef.current.setError);\n }\n },\n [onSubmit, saveContext, sanitizeEmptyValues, record]\n );\n\n const formHandleSubmit = useCallback(\n (event: BaseSyntheticEvent) => {\n if (!event.defaultPrevented) {\n // Prevent outer forms to receive the event\n event.stopPropagation();\n form.handleSubmit(handleSubmit)(event);\n }\n return;\n },\n [form, handleSubmit]\n );\n\n return {\n form,\n handleSubmit,\n formHandleSubmit,\n };\n};\n\nexport type UseAugmentedFormProps<RecordType = any> =\n UseFormOwnProps<RecordType> &\n Omit<UseFormProps, 'onSubmit'> & {\n validate?: ValidateForm;\n };\n\nexport interface UseFormOwnProps<RecordType = any> {\n defaultValues?: any;\n formRootPathname?: string;\n record?: Partial<RaRecord>;\n onSubmit?: SubmitHandler<FieldValues> | SaveHandler<RecordType>;\n sanitizeEmptyValues?: boolean;\n disableInvalidFormNotification?: boolean;\n}\n","import * as React from 'react';\nimport { ReactNode, useContext } from 'react';\nimport {\n FormProvider,\n FieldValues,\n UseFormProps,\n SubmitHandler,\n} from 'react-hook-form';\nimport {\n UNSAFE_DataRouterContext,\n UNSAFE_DataRouterStateContext,\n} from 'react-router';\n\nimport { FormGroupsProvider } from './FormGroupsProvider';\nimport { RaRecord } from '../types';\nimport {\n useRecordContext,\n OptionalRecordContextProvider,\n SaveHandler,\n} from '../controller';\nimport {\n SourceContextProvider,\n SourceContextValue,\n useResourceContext,\n} from '../core';\nimport { ValidateForm } from './getSimpleValidationResolver';\nimport { WarnWhenUnsavedChanges } from './WarnWhenUnsavedChanges';\nimport { useAugmentedForm } from './useAugmentedForm';\n\n/**\n * Creates a form element, initialized with the current record, calling the saveContext on submit\n *\n * Wrapper around react-hook-form's useForm, FormContextProvider, and <form>.\n * Also sets up a FormGroupContext, and handles submission validation.\n *\n * @example\n *\n * const MyForm = ({ record, defaultValues, validate }) => (\n * <Form record={record} defaultValues={defaultValues} validate={validate}>\n * <Stack>\n * <TextInput source=\"title\" />\n * <SaveButton />\n * </Stack>\n * </Form>\n * );\n *\n * @typedef {Object} Props the props you can use\n * @prop {Object} defaultValues\n * @prop {Function} validate\n * @prop {Function} save\n *\n * @see useForm\n * @see FormGroupContext\n *\n * @link https://react-hook-form.com/docs/useformcontext\n */\nexport function Form<RecordType = any>(props: FormProps<RecordType>) {\n const {\n children,\n id,\n className,\n noValidate = false,\n formRootPathname,\n warnWhenUnsavedChanges,\n WarnWhenUnsavedChangesComponent = WarnWhenUnsavedChanges,\n } = props;\n const record = useRecordContext(props);\n const resource = useResourceContext(props);\n const { form, formHandleSubmit } = useAugmentedForm(props);\n const sourceContext = React.useMemo<SourceContextValue>(\n () => ({\n getSource: (source: string) => source,\n getLabel: (source: string) =>\n `resources.${resource}.fields.${source}`,\n }),\n [resource]\n );\n const dataRouterContext = useContext(UNSAFE_DataRouterContext);\n const dataRouterStateContext = useContext(UNSAFE_DataRouterStateContext);\n if (\n warnWhenUnsavedChanges &&\n (!dataRouterContext || !dataRouterStateContext) &&\n process.env.NODE_ENV === 'development'\n ) {\n console.error(\n 'Cannot use the warnWhenUnsavedChanges feature outside of a DataRouter. ' +\n 'The warnWhenUnsavedChanges feature is disabled. ' +\n 'Remove the warnWhenUnsavedChanges prop or convert your custom router to a Data Router.'\n );\n }\n\n return (\n <OptionalRecordContextProvider value={record}>\n <SourceContextProvider value={sourceContext}>\n <FormProvider {...form}>\n <FormGroupsProvider>\n <form\n onSubmit={formHandleSubmit}\n noValidate={noValidate}\n id={id}\n className={className}\n >\n {children}\n </form>\n {warnWhenUnsavedChanges &&\n dataRouterContext &&\n dataRouterStateContext && (\n <WarnWhenUnsavedChangesComponent\n enable\n formRootPathName={formRootPathname}\n formControl={form.control}\n />\n )}\n </FormGroupsProvider>\n </FormProvider>\n </SourceContextProvider>\n </OptionalRecordContextProvider>\n );\n}\n\nexport type FormProps<RecordType = any> = FormOwnProps<RecordType> &\n Omit<UseFormProps, 'onSubmit'> & {\n validate?: ValidateForm;\n noValidate?: boolean;\n WarnWhenUnsavedChangesComponent?: React.ComponentType<{\n enable?: boolean;\n formRootPathName?: string;\n formControl?: any;\n }>;\n };\n\nexport interface FormOwnProps<RecordType = any> {\n children: ReactNode;\n className?: string;\n defaultValues?: any;\n formRootPathname?: string;\n id?: string;\n record?: Partial<RaRecord>;\n resource?: string;\n onSubmit?: SubmitHandler<FieldValues> | SaveHandler<RecordType>;\n warnWhenUnsavedChanges?: boolean;\n sanitizeEmptyValues?: boolean;\n disableInvalidFormNotification?: boolean;\n}\n","import lodashMemoize from 'lodash/memoize';\n\n/* eslint-disable no-underscore-dangle */\n/* @link http://stackoverflow.com/questions/46155/validate-email-address-in-javascript */\nconst EMAIL_REGEX =\n /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/; // eslint-disable-line no-useless-escape\n\nexport const isEmpty = (value: any) =>\n typeof value === 'undefined' ||\n value === null ||\n value === '' ||\n (Array.isArray(value) && value.length === 0);\n\nexport interface ValidationErrorMessageWithArgs {\n message: string;\n args: {\n [key: string]: ValidationErrorMessageWithArgs | any;\n };\n}\n\nexport type ValidationErrorMessage = string | ValidationErrorMessageWithArgs;\n\nexport type Validator = (\n value: any,\n values: any,\n props: any\n) =>\n | ValidationErrorMessage\n | null\n | undefined\n | Promise<ValidationErrorMessage | null | undefined>;\n\n// type predicate, see https://www.typescriptlang.org/docs/handbook/2/narrowing.html#using-type-predicates\nfunction isValidationErrorMessageWithArgs(\n error: ReturnType<Validator>\n): error is ValidationErrorMessageWithArgs {\n return error ? error.hasOwnProperty('message') : false;\n}\n\ninterface MessageFuncParams {\n args: any;\n value: any;\n values: any;\n}\n\ntype MessageFunc = (params: MessageFuncParams) => ValidationErrorMessage;\n\nconst getMessage = (\n message: string | MessageFunc,\n messageArgs: any,\n value: any,\n values: any\n) =>\n typeof message === 'function'\n ? message({\n args: messageArgs,\n value,\n values,\n })\n : messageArgs\n ? {\n message,\n args: messageArgs,\n }\n : message;\n\ntype Memoize = <T extends (...args: any[]) => any>(\n func: T,\n resolver?: (...args: any[]) => any\n) => T;\n\n// If we define validation functions directly in JSX, it will\n// result in a new function at every render, and then trigger infinite re-render.\n// Hence, we memoize every built-in validator to prevent a \"Maximum call stack\" error.\nconst memoize: Memoize = (fn: any) =>\n lodashMemoize(fn, (...args) => JSON.stringify(args));\n\nconst isFunction = value => typeof value === 'function';\n\nexport const combine2Validators = (\n validator1: Validator,\n validator2: Validator\n): Validator => {\n return (value, values, meta) => {\n const result1 = validator1(value, values, meta);\n if (!result1) {\n return validator2(value, values, meta);\n }\n if (\n typeof result1 === 'string' ||\n isValidationErrorMessageWithArgs(result1)\n ) {\n return result1;\n }\n\n return result1.then(resolvedResult1 => {\n if (!resolvedResult1) {\n return validator2(value, values, meta);\n }\n return resolvedResult1;\n });\n };\n};\n\n// Compose multiple validators into a single one for use with react-hook-form\nexport const composeValidators = (...validators) => {\n const allValidators = (\n Array.isArray(validators[0]) ? validators[0] : validators\n ).filter(isFunction) as Validator[];\n return allValidators.reduce(combine2Validators, () => null);\n};\n\n// Compose multiple validators into a single one for use with react-hook-form\nexport const composeSyncValidators =\n (...validators) =>\n (value, values, meta) => {\n const allValidators = (\n Array.isArray(validators[0]) ? validators[0] : validators\n ).filter(isFunction) as Validator[];\n\n for (const validator of allValidators) {\n const error = validator(value, values, meta);\n\n if (error) {\n return error;\n }\n }\n };\n\n/**\n * Required validator\n *\n * Returns an error if the value is null, undefined, or empty\n *\n * @param {string|Function} message\n *\n * @example\n *\n * const titleValidators = [required('The title is required')];\n * <TextInput name=\"title\" validate={titleValidators} />\n */\nexport const required = memoize((message = 'ra.validation.required') =>\n Object.assign(\n (value, values) =>\n isEmpty(value)\n ? getMessage(message, undefined, value, values)\n : undefined,\n { isRequired: true }\n )\n);\n\n/**\n * Minimum length validator\n *\n * Returns an error if the value has a length less than the parameter\n *\n * @param {integer} min\n * @param {string|Function} message\n *\n * @example\n *\n * const passwordValidators = [minLength(10, 'Should be at least 10 characters')];\n * <TextInput type=\"password\" name=\"password\" validate={passwordValidators} />\n */\nexport const minLength = memoize(\n (min, message = 'ra.validation.minLength') =>\n (value, values) =>\n !isEmpty(value) && value.length < min\n ? getMessage(message, { min }, value, values)\n : undefined\n);\n\n/**\n * Maximum length validator\n *\n * Returns an error if the value has a length higher than the parameter\n *\n * @param {integer} max\n * @param {string|Function} message\n *\n * @example\n *\n * const nameValidators = [maxLength(10, 'Should be at most 10 characters')];\n * <TextInput name=\"name\" validate={nameValidators} />\n */\nexport const maxLength = memoize(\n (max, message = 'ra.validation.maxLength') =>\n (value, values) =>\n !isEmpty(value) && value.length > max\n ? getMessage(message, { max }, value, values)\n : undefined\n);\n\n/**\n * Minimum validator\n *\n * Returns an error if the value is less than the parameter\n *\n * @param {integer} min\n * @param {string|Function} message\n *\n * @example\n *\n * const fooValidators = [minValue(5, 'Should be more than 5')];\n * <NumberInput name=\"foo\" validate={fooValidators} />\n */\nexport const minValue = memoize(\n (min, message = 'ra.validation.minValue') =>\n (value, values) =>\n !isEmpty(value) && value < min\n ? getMessage(message, { min }, value, values)\n : undefined\n);\n\n/**\n * Maximum validator\n *\n * Returns an error if the value is higher than the parameter\n *\n * @param {integer} max\n * @param {string|Function} message\n *\n * @example\n *\n * const fooValidators = [maxValue(10, 'Should be less than 10')];\n * <NumberInput name=\"foo\" validate={fooValidators} />\n */\nexport const maxValue = memoize(\n (max, message = 'ra.validation.maxValue') =>\n (value, values) =>\n !isEmpty(value) && value > max\n ? getMessage(message, { max }, value, values)\n : undefined\n);\n\n/**\n * Number validator\n *\n * Returns an error if the value is not a number\n *\n * @param {string|Function} message\n *\n * @example\n *\n * const ageValidators = [number('Must be a number')];\n * <TextInput name=\"age\" validate={ageValidators} />\n */\nexport const number = memoize(\n (message = 'ra.validation.number') =>\n (value, values) =>\n !isEmpty(value) && isNaN(Number(value))\n ? getMessage(message, undefined, value, values)\n : undefined\n);\n\n/**\n * Regular expression validator\n *\n * Returns an error if the value does not match the pattern given as parameter\n *\n * @param {RegExp} pattern\n * @param {string|Function} message\n *\n * @example\n *\n * const zipValidators = [regex(/^\\d{5}(?:[-\\s]\\d{4})?$/, 'Must be a zip code')];\n * <TextInput name=\"zip\" validate={zipValidators} />\n */\nexport const regex = lodashMemoize(\n (pattern, message = 'ra.validation.regex') =>\n (value, values?) =>\n !isEmpty(value) && typeof value === 'string' && !pattern.test(value)\n ? getMessage(message, { pattern }, value, values)\n : undefined,\n (pattern, message) => {\n return pattern.toString() + message;\n }\n);\n\n/**\n * Email validator\n *\n * Returns an error if the value is not a valid email\n *\n * @param {string|Function} message\n *\n * @example\n *\n * const emailValidators = [email('Must be an email')];\n * <TextInput name=\"email\" validate={emailValidators} />\n */\nexport const email = memoize((message = 'ra.validation.email') =>\n regex(EMAIL_REGEX, message)\n);\n\nconst oneOfTypeMessage: MessageFunc = ({ args }) => ({\n message: 'ra.validation.oneOf',\n args,\n});\n\n/**\n * Choices validator\n *\n * Returns an error if the value is not among the list passed as parameter\n *\n * @param {array} list\n * @param {string|Function} message\n *\n * @example\n *\n * const genderValidators = [choices(['male', 'female'], 'Must be either Male or Female')];\n * <TextInput name=\"gender\" validate={genderValidators} />\n */\nexport const choices = memoize(\n (list, message = oneOfTypeMessage) =>\n (value, values) =>\n !isEmpty(value) && list.indexOf(value) === -1\n ? getMessage(message, { list }, value, values)\n : undefined\n);\n\n/**\n * Given a validator, returns a boolean indicating whether the field is required or not.\n */\nexport const isRequired = validate => {\n if (validate && validate.isRequired) {\n return true;\n }\n if (Array.isArray(validate)) {\n return !!validate.find(it => it.isRequired);\n }\n return false;\n};\n","import { createContext } from 'react';\n\n/**\n * Context allowing inputs to register to a specific group.\n * This enables other components in the group to access group properties such as its\n * validation (valid/invalid) or whether its inputs have been updated (dirty/pristine).\n *\n * This should only be used through a FormGroupContextProvider.\n */\nexport const FormGroupContext = createContext<FormGroupContextValue | null>(\n null\n);\n\nexport type FormGroupContextValue = string;\n","import { useContext } from 'react';\nimport { FormGroupsContext } from './FormGroupsContext';\n\n/**\n * Retrieve the form groups management context. Used by inputs to register themselves into a form group.\n */\nexport const useFormGroups = () => {\n const context = useContext(FormGroupsContext);\n return context;\n};\n","import { useEffect } from 'react';\nimport {\n FieldValues,\n UseFieldArrayReturn,\n useFormContext,\n} from 'react-hook-form';\nimport get from 'lodash/get';\nimport { useRecordContext } from '../controller';\nimport { InputProps } from './useInput';\nimport { useWrappedSource } from '../core';\n\ninterface StandardInput {\n inputProps: Partial<InputProps> & { source: string };\n isArrayInput?: undefined;\n fieldArrayInputControl?: undefined;\n}\n\ninterface ArrayInput {\n inputProps: Partial<InputProps> & { source: string };\n isArrayInput: true;\n fieldArrayInputControl: UseFieldArrayReturn<FieldValues, string, 'id'>;\n}\n\ntype Props = StandardInput | ArrayInput;\n\n/*\n * This hook updates the input with the default value if default value is present\n * and field input is not already populated or dirty\n */\nexport const useApplyInputDefaultValues = ({\n inputProps,\n isArrayInput,\n fieldArrayInputControl,\n}: Props) => {\n const { defaultValue, source } = inputProps;\n const finalSource = useWrappedSource(source);\n\n const record = useRecordContext(inputProps);\n const { getValues, resetField, formState, reset } = useFormContext();\n const recordValue = get(record, finalSource);\n const formValue = get(getValues(), finalSource);\n const { dirtyFields } = formState;\n const isDirty = Object.keys(dirtyFields).includes(finalSource);\n\n useEffect(() => {\n if (\n defaultValue == null ||\n formValue != null ||\n recordValue != null ||\n isDirty\n ) {\n return;\n }\n\n // Side note: For Array Input but checked for all to avoid possible regression\n // Since we use get(record, source), if source is like foo.23.bar,\n // this effect will run. However we only want to set the default value\n // for the subfield bar if the record actually has a value for foo.23\n const pathContainsIndex = finalSource\n .split('.')\n .some(pathPart => numericRegex.test(pathPart));\n if (pathContainsIndex) {\n const parentPath = finalSource.split('.').slice(0, -1).join('.');\n const parentValue = get(getValues(), parentPath);\n if (parentValue == null) {\n // the parent is undefined, so we don't want to set the default value\n return;\n }\n }\n\n if (isArrayInput) {\n if (!fieldArrayInputControl) {\n throw new Error(\n 'useApplyInputDefaultValues: No fieldArrayInputControl passed in props for array input usage'\n );\n }\n\n // We need to update inputs nested in array using react hook forms\n // own array controller rather then the generic reset to prevent control losing\n // context of the nested inputs\n fieldArrayInputControl.replace(defaultValue);\n // resets the form so that control no longer sees the form as dirty after\n // defaults applied\n reset({}, { keepValues: true });\n\n return;\n }\n\n resetField(finalSource, { defaultValue });\n });\n};\n\nconst numericRegex = /^\\d+$/;\n","import * as React from 'react';\nimport { ReactElement, isValidElement, useCallback } from 'react';\nimport get from 'lodash/get';\n\nimport { useTranslate } from '../i18n';\nimport { RaRecord } from '../types';\nimport { RecordContextProvider } from '../controller';\n\nexport type OptionTextElement = ReactElement<{\n record: RaRecord;\n}>;\nexport type OptionTextFunc = (choice: any) => React.ReactNode;\nexport type OptionText = OptionTextElement | OptionTextFunc | string;\n\nexport interface ChoicesProps {\n choices?: any[];\n isFetching?: boolean;\n isLoading?: boolean;\n isPending?: boolean;\n optionValue?: string;\n optionText?: OptionText;\n translateChoice?: boolean;\n}\n\nexport interface UseChoicesOptions {\n optionValue?: string;\n optionText?: OptionText;\n disableValue?: string;\n translateChoice?: boolean;\n}\n\n/*\n * Returns helper functions for choices handling.\n *\n * @param optionText Either a string defining the property to use to get the choice text, a function or a React element\n * @param optionValue The property to use to get the choice value\n * @param translateChoice A boolean indicating whether to option text should be translated\n *\n * @returns An object with helper functions:\n * - getChoiceText: Returns the choice text or a React element\n * - getChoiceValue: Returns the choice value\n */\nexport const useChoices = ({\n optionText = 'name',\n optionValue = 'id',\n disableValue = 'disabled',\n translateChoice = true,\n}: UseChoicesOptions) => {\n const translate = useTranslate();\n\n const getChoiceText = useCallback(\n choice => {\n if (isValidElement<{ record: any }>(optionText)) {\n return (\n <RecordContextProvider value={choice}>\n {optionText}\n </RecordContextProvider>\n );\n }\n const choiceName =\n typeof optionText === 'function'\n ? optionText(choice)\n : get(choice, optionText);\n\n return isValidElement(choiceName)\n ? choiceName\n : translateChoice\n ? translate(String(choiceName), { _: choiceName })\n : String(choiceName);\n },\n [optionText, translate, translateChoice]\n );\n\n const getChoiceValue = useCallback(\n choice => get(choice, optionValue),\n [optionValue]\n );\n\n const getDisableValue = useCallback(\n choice => get(choice, disableValue),\n [disableValue]\n );\n\n return {\n getChoiceText,\n getChoiceValue,\n getDisableValue,\n };\n};\n","import { useContext } from 'react';\nimport { FormGroupContext } from './FormGroupContext';\n\n/**\n * Retrieve the name of the form group the consumer belongs to. May be undefined if the consumer is not inside a form group.\n */\nexport const useFormGroupContext = () => {\n const context = useContext(FormGroupContext);\n return context;\n};\n","const isRequired = validate => {\n if (validate && validate.isRequired) {\n return true;\n }\n if (Array.isArray(validate)) {\n return validate.some(it => it.isRequired);\n }\n return false;\n};\n\nexport default isRequired;\n","import { ReactElement, useEffect, useId } from 'react';\nimport {\n ControllerFieldState,\n ControllerRenderProps,\n useController,\n UseControllerProps,\n UseControllerReturn,\n UseFormStateReturn,\n} from 'react-hook-form';\nimport get from 'lodash/get';\n\nimport { useRecordContext } from '../controller';\nimport { composeValidators, Validator } from './validate';\nimport isRequired from './isRequired';\nimport { useFormGroupContext } from './useFormGroupContext';\nimport { useFormGroups } from './useFormGroups';\nimport { useApplyInputDefaultValues } from './useApplyInputDefaultValues';\nimport { useEvent } from '../util';\nimport { useWrappedSource } from '../core';\n\n// replace null or undefined values by empty string to avoid controlled/uncontrolled input warning\nconst defaultFormat = (value: any) => (value == null ? '' : value);\n// parse empty string into null as it's more suitable for a majority of backends\nconst defaultParse = (value: string) => (value === '' ? null : value);\n\nexport const useInput = <ValueType = any>(\n props: InputProps<ValueType>\n): UseInputValue => {\n const {\n defaultValue,\n format = defaultFormat,\n id,\n isRequired: isRequiredOption,\n name,\n onBlur: initialOnBlur,\n onChange: initialOnChange,\n parse: parseProp = defaultParse,\n source,\n validate,\n ...options\n } = props;\n const finalSource = useWrappedSource(source);\n const finalName = name || finalSource;\n const formGroupName = useFormGroupContext();\n const formGroups = useFormGroups();\n const record = useRecordContext();\n // @ts-ignore\n const parse = useEvent(parseProp);\n const defaultId = useId();\n\n if (\n !source &&\n props.label == null &&\n process.env.NODE_ENV === 'development'\n ) {\n console.warn(\n 'Input components require either a source or a label prop.'\n );\n }\n\n useEffect(() => {\n if (!formGroups || formGroupName == null) {\n return;\n }\n\n formGroups.registerField(finalSource, formGroupName);\n\n return () => {\n formGroups.unregisterField(finalSource, formGroupName);\n };\n }, [formGroups, formGroupName, finalSource]);\n\n const sanitizedValidate = Array.isArray(validate)\n ? composeValidators(validate)\n : validate;\n\n // Fetch the defaultValue from the record if available or apply the provided defaultValue.\n // This ensures dynamically added inputs have their value set correctly (ArrayInput for example).\n // We don't do this for the form level defaultValues so that it works as it should in react-hook-form\n // (i.e. field level defaultValue override form level defaultValues for this field).\n const {\n field: controllerField,\n fieldState,\n formState,\n } = useController({\n name: finalName,\n defaultValue: get(record, finalSource, defaultValue),\n rules: {\n validate: async (value, values) => {\n if (!sanitizedValidate) return true;\n const error = await sanitizedValidate(value, values, props);\n\n if (!error) return true;\n // react-hook-form expects errors to be plain strings but our validators can return objects\n // that have message and args.\n // To avoid double translation for users that validate with a schema instead of our validators\n // we use a special format for our validators errors.\n // The ValidationError component will check for this format and extract the message and args\n // to translate.\n return `@@react-admin@@${JSON.stringify(error)}`;\n },\n },\n ...options,\n // Workaround for https://github.com/react-hook-form/react-hook-form/issues/10907\n // FIXME - remove when fixed\n // @ts-ignore - only exists since react-hook-form 7.46.0\n disabled: options.disabled || undefined,\n });\n\n // Because our forms may receive an asynchronously loaded record for instance,\n // they may reset their default values which would override the input default value.\n // This hook ensures that the input default value is applied when a new record is loaded but has\n // no value for the input.\n useApplyInputDefaultValues({ inputProps: props });\n\n const onBlur = useEvent((...event: any[]) => {\n controllerField.onBlur();\n if (initialOnBlur) {\n initialOnBlur(...event);\n }\n });\n\n const onChange = useEvent((...event: any[]) => {\n const eventOrValue = (\n props.type === 'checkbox' && event[0]?.target?.value === 'on'\n ? event[0].target.checked\n : event[0]?.target?.value ?? event[0]\n ) as any;\n controllerField.onChange(parse ? parse(eventOrValue) : eventOrValue);\n if (initialOnChange) {\n initialOnChange(...event);\n }\n });\n\n const field = {\n ...controllerField,\n value: format ? format(controllerField.value) : controllerField.value,\n onBlur,\n onChange,\n };\n\n return {\n id: id || defaultId,\n field,\n fieldState,\n formState,\n isRequired: isRequiredOption || isRequired(validate),\n };\n};\n\nexport type InputProps<ValueType = any> = Omit<\n UseControllerProps,\n 'name' | 'defaultValue' | 'rules'\n> &\n Partial<UseControllerReturn> & {\n alwaysOn?: any;\n defaultValue?: any;\n format?: (value: ValueType) => any;\n id?: string;\n isRequired?: boolean;\n label?: string | ReactElement | false;\n helperText?: string | ReactElement | false;\n name?: string;\n onBlur?: (...event: any[]) => void;\n onChange?: (...event: any[]) => void;\n parse?: (value: any) => ValueType;\n type?: string;\n resource?: string;\n source: string;\n validate?: Validator | Validator[];\n readOnly?: boolean;\n disabled?: boolean;\n };\n\nexport type UseInputValue = {\n id: string;\n isRequired: boolean;\n field: ControllerRenderProps;\n formState: UseFormStateReturn<Record<string, string>>;\n fieldState: ControllerFieldState;\n};\n","import { useCallback, isValidElement, ReactElement } from 'react';\nimport set from 'lodash/set';\nimport { useChoices, OptionText, UseChoicesOptions } from './useChoices';\nimport { useTranslate } from '../i18n';\n\n/*\n * Returns helper functions for suggestions handling.\n *\n * @param allowDuplicates A boolean indicating whether a suggestion can be added several times\n * @param choices An array of available choices\n * @param limitChoicesToValue A boolean indicating whether the initial suggestions should be limited to the currently selected one(s)\n * @param matchSuggestion Optional unless `optionText` is a React element. Function which check whether a choice matches a filter. Must return a boolean.\n * @param optionText Either a string defining the property to use to get the choice text, a function or a React element\n * @param optionValue The property to use to get the choice value\n * @param selectedItem The currently selected item. Maybe an array of selected items\n * @param suggestionLimit The maximum number of suggestions returned\n * @param translateChoice A boolean indicating whether to option text should be translated\n *\n * @returns An object with helper functions:\n * - getChoiceText: Returns the choice text or a React element\n * - getChoiceValue: Returns the choice value\n * - getSuggestions: A function taking a filter value (string) and returning the matching suggestions\n */\nexport const useSuggestions = ({\n allowCreate,\n choices,\n createText = 'ra.action.create',\n createValue = '@@create',\n limitChoicesToValue,\n matchSuggestion,\n optionText,\n optionValue,\n selectedItem,\n suggestionLimit = 0,\n translateChoice,\n}: UseSuggestionsOptions) => {\n const translate = useTranslate();\n const { getChoiceText, getChoiceValue } = useChoices({\n optionText,\n optionValue,\n translateChoice,\n });\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const getSuggestions = useCallback(\n getSuggestionsFactory({\n allowCreate,\n choices,\n createText,\n createValue,\n getChoiceText,\n getChoiceValue,\n limitChoicesToValue,\n matchSuggestion,\n optionText,\n optionValue,\n selectedItem,\n suggestionLimit,\n }),\n [\n allowCreate,\n choices,\n createText,\n createValue,\n getChoiceText,\n getChoiceValue,\n limitChoicesToValue,\n matchSuggestion,\n optionText,\n optionValue,\n selectedItem,\n suggestionLimit,\n translate,\n ]\n );\n\n return {\n getChoiceText,\n getChoiceValue,\n getSuggestions,\n };\n};\n\nconst escapeRegExp = value =>\n value ? value.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&') : ''; // $& means the whole matched string\n\nexport interface UseSuggestionsOptions extends UseChoicesOptions {\n allowCreate?: boolean;\n allowDuplicates?: boolean;\n choices?: any[];\n createText?: string;\n createValue?: any;\n limitChoicesToValue?: boolean;\n matchSuggestion?: (\n filter: string,\n suggestion: any,\n exact?: boolean\n ) => boolean;\n suggestionLimit?: number;\n selectedItem?: any | any[];\n}\n\n/**\n * Default matcher implementation which check whether the suggestion text matches the filter.\n */\nconst defaultMatchSuggestion =\n getChoiceText =>\n (filter, suggestion, exact = false) => {\n const suggestionText = getChoiceText(suggestion);\n\n const isReactElement = isValidElement(suggestionText);\n const regex = escapeRegExp(filter);\n\n return isReactElement\n ? false\n : suggestionText &&\n !!suggestionText.match(\n // We must escape any RegExp reserved characters to avoid errors\n // For example, the filter might contain * which must be escaped as \\*\n new RegExp(exact ? `^${regex}$` : regex, 'i')\n );\n };\n\n/**\n * Get the suggestions to display after applying a fuzzy search on the available choices\n *\n * @example\n *\n * getSuggestions({\n * choices: [{ id: 1, name: 'admin' }, { id: 2, name: 'publisher' }],\n * optionText: 'name',\n * optionValue: 'id',\n * getSuggestionText: choice => choice[optionText],\n * })('pub')\n *\n * // Will return [{ id: 2, name: 'publisher' }]\n * getSuggestions({\n * choices: [{ id: 1, name: 'admin' }, { id: 2, name: 'publisher' }],\n * optionText: 'name',\n * optionValue: 'id',\n * getSuggestionText: choice => choice[optionText],\n * })('pub')\n *\n * // Will return [{ id: 2, name: 'publisher' }]\n */\nexport const getSuggestionsFactory =\n ({\n allowCreate = false,\n choices = [],\n createText = 'ra.action.create',\n createValue = '@@create',\n optionText = 'name',\n optionValue = 'id',\n getChoiceText,\n getChoiceValue,\n limitChoicesToValue = false,\n matchSuggestion = defaultMatchSuggestion(getChoiceText),\n selectedItem,\n suggestionLimit = 0,\n }: UseSuggestionsOptions & {\n getChoiceText: (choice: any) => string | ReactElement;\n getChoiceValue: (choice: any) => string;\n }) =>\n filter => {\n let suggestions: any[] = [];\n // if an item is selected and matches the filter\n if (\n selectedItem &&\n !Array.isArray(selectedItem) &&\n matchSuggestion(filter, selectedItem)\n ) {\n if (limitChoicesToValue) {\n // display only the selected item\n suggestions = choices.filter(\n choice =>\n getChoiceValue(choice) === getChoiceValue(selectedItem)\n );\n } else {\n suggestions = [...choices];\n }\n } else {\n suggestions = choices.filter(\n choice =>\n matchSuggestion(filter, choice) ||\n (selectedItem != null &&\n (!Array.isArray(selectedItem)\n ? getChoiceValue(choice) ===\n getChoiceValue(selectedItem)\n : selectedItem.some(\n selected =>\n getChoiceValue(choice) ===\n getChoiceValue(selected)\n )))\n );\n }\n\n suggestions = limitSuggestions(suggestions, suggestionLimit);\n\n const hasExactMatch = suggestions.some(suggestion =>\n matchSuggestion(filter, suggestion, true)\n );\n\n if (allowCreate) {\n const filterIsSelectedItem =\n // If the selectedItem is an array (for example AutocompleteArrayInput)\n // we shouldn't try to match\n !!selectedItem && !Array.isArray(selectedItem)\n ? matchSuggestion(filter, selectedItem, true)\n : false;\n if (!hasExactMatch && !filterIsSelectedItem) {\n suggestions.push(\n getSuggestion({\n optionText,\n optionValue,\n text: createText,\n value: createValue,\n })\n );\n }\n }\n\n // Only keep unique items. Necessary because we might have fetched\n // the currently selected choice in addition of the possible choices\n // that may also contain it\n const result = suggestions.filter(\n (suggestion, index) => suggestions.indexOf(suggestion) === index\n );\n return result;\n };\n\n/**\n * @example\n *\n * limitSuggestions(\n * [{ id: 1, name: 'foo'}, { id: 2, name: 'bar' }],\n * 1\n * );\n *\n * // Will return [{ id: 1, name: 'foo' }]\n *\n * @param suggestions List of suggestions\n * @param limit\n */\nconst limitSuggestions = (suggestions: any[], limit: any = 0) =>\n Number.isInteger(limit) && limit > 0\n ? suggestions.slice(0, limit)\n : suggestions;\n\n/**\n * addSuggestion(\n * [{ id: 1, name: 'foo'}, { id: 2, name: 'bar' }],\n * );\n *\n * // Will return [{ id: null, name: '' }, { id: 1, name: 'foo' }, { id: 2, name: 'bar' }]\n *\n * @param suggestions List of suggestions\n * @param options\n * @param options.optionText\n */\nconst getSuggestion = ({\n optionText = 'name',\n optionValue = 'id',\n text = '',\n value = null,\n}: {\n optionText: OptionText;\n optionValue: string;\n text: string;\n value: any;\n}) => {\n const suggestion = {};\n set(suggestion, optionValue, value);\n if (typeof optionText === 'string') {\n set(suggestion, optionText, text);\n }\n\n return suggestion;\n};\n","import React, { ReactNode } from 'react';\n\nimport { ResourceContextProvider } from '../../core';\nimport { ChoicesContextProvider, InputProps } from '../../form';\nimport {\n UseReferenceInputControllerParams,\n useReferenceInputController,\n} from './useReferenceInputController';\n\n/**\n * An Input component for choosing a reference record. Useful for foreign keys.\n *\n * This component fetches the possible values in the reference resource\n * (using `dataProvider.getList()`), and renders the child you passed\n * to which it passes the possible choices via a `ChoicesContext`.\n *\n * You must pass a child selection component to customize the way the reference\n * selector is displayed (e.g. using `<SelectInput>` or `<RadioButtonGroupInput>`\n * instead of `<AutocompleteInput>` ).\n *\n * Note that the child component should handle the error and loading cases as this base component does not.\n *\n * @example // using a SelectInput as selector\n * export const CommentEdit = () => (\n * <Edit>\n * <SimpleForm>\n * <ReferenceInputBase label=\"Post\" source=\"post_id\" reference=\"posts\">\n * <SelectInput optionText=\"title\" />\n * </ReferenceInputBase>\n * </SimpleForm>\n * </Edit>\n * );\n *\n * By default, restricts the possible values to 25. You can extend this limit\n * by setting the `perPage` prop.\n *\n * @example\n * <ReferenceInputBase source=\"post_id\" reference=\"posts\" perPage={100}/>\n *\n * By default, orders the possible values by id desc. You can change this order\n * by setting the `sort` prop (an object with `field` and `order` properties).\n *\n * @example\n * <ReferenceInputBase\n * source=\"post_id\"\n * reference=\"posts\"\n * sort={{ field: 'title', order: 'ASC' }}\n * >\n * <SelectInput optionText=\"title\" />\n * </ReferenceInputBase>\n *\n * Also, you can filter the query used to populate the possible values. Use the\n * `filter` prop for that.\n *\n * @example\n * <ReferenceInputBase\n * source=\"post_id\"\n * reference=\"posts\"\n * filter={{ is_published: true }}\n * >\n * <SelectInput optionText=\"title\" />\n * </ReferenceInputBase>\n *\n * The enclosed component may filter results. ReferenceInputBase create a ChoicesContext which provides\n * a `setFilters` function. You can call this function to filter the results.\n */\nexport const ReferenceInputBase = (props: ReferenceInputBaseProps) => {\n const {\n children,\n reference,\n sort = { field: 'id', order: 'DESC' },\n filter = {},\n } = props;\n\n const controllerProps = useReferenceInputController({\n ...props,\n sort,\n filter,\n });\n\n return (\n <ResourceContextProvider value={reference}>\n <ChoicesContextProvider value={controllerProps}>\n {children}\n </ChoicesContextProvider>\n </ResourceContextProvider>\n );\n};\n\nexport interface ReferenceInputBaseProps\n extends InputProps,\n UseReferenceInputControllerParams {\n children?: ReactNode;\n}\n","import { useParams } from 'react-router-dom';\n\nimport { useAuthenticated } from '../../auth';\nimport { RaRecord } from '../../types';\nimport {\n useGetOne,\n useRefresh,\n UseGetOneHookValue,\n UseGetOneOptions,\n} from '../../dataProvider';\nimport { useTranslate } from '../../i18n';\nimport { useRedirect } from '../../routing';\nimport { useNotify } from '../../notification';\nimport {\n useResourceContext,\n useGetResourceLabel,\n useGetRecordRepresentation,\n} from '../../core';\n\n/**\n * Prepare data for the Show view.\n *\n * useShowController does a few things:\n * - it grabs the id from the URL and the resource name from the ResourceContext,\n * - it fetches the record via useGetOne,\n * - it prepares the page title.\n *\n * @param {Object} props The props passed to the Show component.\n *\n * @return {Object} controllerProps Fetched data and callbacks for the Show view\n *\n * @example\n *\n * import { useShowController } from 'react-admin';\n * import ShowView from './ShowView';\n *\n * const MyShow = () => {\n * const controllerProps = useShowController();\n * return <ShowView {...controllerProps} />;\n * };\n *\n * @example // useShowController can also take its parameters from props\n *\n * import { useShowController } from 'react-admin';\n * import ShowView from './ShowView';\n *\n * const MyShow = () => {\n * const controllerProps = useShowController({ resource: 'posts', id: 1234 });\n * return <ShowView {...controllerProps} />;\n * };\n */\nexport const useShowController = <RecordType extends RaRecord = any>(\n props: ShowControllerProps<RecordType> = {}\n): ShowControllerResult<RecordType> => {\n const { disableAuthentication, id: propsId, queryOptions = {} } = props;\n useAuthenticated({ enabled: !disableAuthentication });\n const resource = useResourceContext(props);\n if (!resource) {\n throw new Error(\n `useShowController requires a non-empty resource prop or context`\n );\n }\n const getRecordRepresentation = useGetRecordRepresentation(resource);\n const translate = useTranslate();\n const notify = useNotify();\n const redirect = useRedirect();\n const refresh = useRefresh();\n const { id: routeId } = useParams<'id'>();\n if (!routeId && !propsId) {\n throw new Error(\n 'useShowController requires an id prop or a route with an /:id? parameter.'\n );\n }\n const id = propsId != null ? propsId : decodeURIComponent(routeId!);\n const { meta, ...otherQueryOptions } = queryOptions;\n\n const {\n data: record,\n error,\n isLoading,\n isFetching,\n isPending,\n refetch,\n } = useGetOne<RecordType>(\n resource,\n { id, meta },\n {\n onError: () => {\n notify('ra.notification.item_doesnt_exist', {\n type: 'error',\n });\n redirect('list', resource);\n refresh();\n },\n retry: false,\n ...otherQueryOptions,\n }\n );\n\n // eslint-disable-next-line eqeqeq\n if (record && record.id && record.id != id) {\n throw new Error(\n `useShowController: Fetched record's id attribute (${record.id}) must match the requested 'id' (${id})`\n );\n }\n\n const getResourceLabel = useGetResourceLabel();\n const recordRepresentation = getRecordRepresentation(record);\n const defaultTitle = translate('ra.page.show', {\n name: getResourceLabel(resource, 1),\n id,\n record,\n recordRepresentation:\n typeof recordRepresentation === 'string'\n ? recordRepresentation\n : '',\n });\n\n return {\n defaultTitle,\n error,\n isLoading,\n isFetching,\n isPending,\n record,\n refetch,\n resource,\n } as ShowControllerResult<RecordType>;\n};\n\nexport interface ShowControllerProps<RecordType extends RaRecord = any> {\n disableAuthentication?: boolean;\n id?: RecordType['id'];\n queryOptions?: UseGetOneOptions<RecordType>;\n resource?: string;\n}\n\nexport interface ShowControllerBaseResult<RecordType extends RaRecord = any> {\n defaultTitle?: string;\n isFetching: boolean;\n isLoading: boolean;\n resource: string;\n record?: RecordType;\n refetch: UseGetOneHookValue<RecordType>['refetch'];\n}\n\nexport interface ShowControllerLoadingResult<RecordType extends RaRecord = any>\n extends ShowControllerBaseResult<RecordType> {\n record: undefined;\n error: null;\n isPending: true;\n}\nexport interface ShowControllerLoadingErrorResult<\n RecordType extends RaRecord = any,\n TError = Error,\n> extends ShowControllerBaseResult<RecordType> {\n record: undefined;\n error: TError;\n isPending: false;\n}\nexport interface ShowControllerRefetchErrorResult<\n RecordType extends RaRecord = any,\n TError = Error,\n> extends ShowControllerBaseResult<RecordType> {\n record: RecordType;\n error: TError;\n isPending: false;\n}\nexport interface ShowControllerSuccessResult<RecordType extends RaRecord = any>\n extends ShowControllerBaseResult<RecordType> {\n record: RecordType;\n error: null;\n isPending: false;\n}\n\nexport type ShowControllerResult<RecordType extends RaRecord = any> =\n | ShowControllerLoadingResult<RecordType>\n | ShowControllerLoadingErrorResult<RecordType>\n | ShowControllerRefetchErrorResult<RecordType>\n | ShowControllerSuccessResult<RecordType>;\n","import { createContext } from 'react';\nimport { ShowControllerResult } from './useShowController';\n\n/**\n * Context to store the result of the useShowController() hook.\n *\n * Use the useShowContext() hook to read the context. That's what the Show components do in react-admin.\n *\n * @example\n *\n * import { useShowController, ShowContextProvider } from 'ra-core';\n *\n * const Show = props => {\n * const controllerProps = useShowController(props);\n * return (\n * <ShowContextProvider value={controllerProps}>\n * ...\n * </ShowContextProvider>\n * );\n * };\n */\nexport const ShowContext = createContext<ShowControllerResult | null>(null);\n\nShowContext.displayName = 'ShowContext';\n","import * as React from 'react';\nimport { ReactNode } from 'react';\nimport { RaRecord } from '../../types';\nimport { RecordContextProvider } from '../record/RecordContext';\nimport { ShowContext } from './ShowContext';\nimport { ShowControllerResult } from './useShowController';\n\n/**\n * Create a Show Context.\n *\n * @example\n *\n * const MyShow = (props) => {\n * const controllerProps = useShowController(props);\n * return (\n * <ShowContextProvider value={controllerProps}>\n * <MyShowView>\n * </ShowContextProvider>\n * );\n * };\n *\n * const MyShowView = () => {\n * const record = useRecordContext();\n * }\n *\n * @see ShowContext\n * @see RecordContext\n */\nexport const ShowContextProvider = ({\n children,\n value,\n}: {\n children: ReactNode;\n value: ShowControllerResult;\n}) => (\n <ShowContext.Provider value={value}>\n <RecordContextProvider<Partial<RaRecord>> value={value && value.record}>\n {children}\n </RecordContextProvider>\n </ShowContext.Provider>\n);\n","import * as React from 'react';\nimport { ReactElement } from 'react';\n\nimport { RaRecord } from '../../types';\nimport { useShowController, ShowControllerProps } from './useShowController';\nimport { ShowContextProvider } from './ShowContextProvider';\nimport { ResourceContextProvider } from '../../core';\n\n/**\n * Call useShowController and put the value in a ShowContext\n *\n * Base class for <Show> components, without UI.\n *\n * Accepts any props accepted by useShowController:\n * - id: The record identifier\n * - resource: The resource\n *\n * @example // Custom show layout\n *\n * const PostShow = () => (\n * <ShowBase resource=\"posts\">\n * <Grid container>\n * <Grid item xs={8}>\n * <SimpleForm>\n * ...\n * </SimpleForm>\n * </Grid>\n * <Grid item xs={4}>\n * Show instructions...\n * </Grid>\n * </Grid>\n * <div>\n * Post related links...\n * </div>\n * </ShowBase>\n * );\n */\nexport const ShowBase = <RecordType extends RaRecord = any>({\n children,\n ...props\n}: { children: ReactElement } & ShowControllerProps<RecordType>) => {\n const controllerProps = useShowController<RecordType>(props);\n const body = (\n <ShowContextProvider value={controllerProps}>\n {children}\n </ShowContextProvider>\n );\n return props.resource ? (\n // support resource override via props\n <ResourceContextProvider value={props.resource}>\n {body}\n </ResourceContextProvider>\n ) : (\n body\n );\n};\n","import { useContext } from 'react';\n\nimport { RaRecord } from '../../types';\nimport { ShowContext } from './ShowContext';\nimport { ShowControllerResult } from './useShowController';\n\n/**\n * Hook to read the show controller props from the ShowContext.\n *\n * Used within a <ShowContextProvider> (e.g. as a descendent of <Show>).\n *\n * @returns {ShowControllerResult} create controller props\n *\n * @see useShowController for how it is filled\n */\nexport const useShowContext = <\n RecordType extends RaRecord = any,\n>(): ShowControllerResult<RecordType> => {\n const context = useContext(ShowContext);\n // Props take precedence over the context\n if (!context) {\n throw new Error(\n 'useShowContext must be used inside a ShowContextProvider'\n );\n }\n return context;\n};\n","import { useMemo, useRef } from 'react';\nimport {\n useMutation,\n UseMutationOptions,\n UseMutationResult,\n useQueryClient,\n MutateOptions,\n} from '@tanstack/react-query';\n\nimport { useDataProvider } from './useDataProvider';\nimport { RaRecord, CreateParams, Identifier, DataProvider } from '../types';\nimport { useEvent } from '../util';\n\n/**\n * Get a callback to call the dataProvider.create() method, the result and the loading state.\n *\n * @param {string} resource\n * @param {Params} params The create parameters { data }\n * @param {Object} options Options object to pass to the queryClient.\n * May include side effects to be executed upon success or failure, e.g. { onSuccess: () => { refresh(); } }\n *\n * @typedef Params\n * @prop params.data The record to create, e.g. { title: 'hello, world' }\n *\n * @returns The current mutation state. Destructure as [create, { data, error, isPending }].\n *\n * The return value updates according to the request state:\n *\n * - initial: [create, { isPending: false, isIdle: true }]\n * - start: [create, { isPending: true }]\n * - success: [create, { data: [data from response], isPending: false, isSuccess: true }]\n * - error: [create, { error: [error from response], isPending: false, isError: true }]\n *\n * The create() function must be called with a resource and a parameter object: create(resource, { data, meta }, options)\n *\n * This hook uses react-query useMutation under the hood.\n * This means the state object contains mutate, isIdle, reset and other react-query methods.\n *\n * @see https://tanstack.com/query/v5/docs/react/reference/useMutation\n *\n * @example // set params when calling the create callback\n *\n * import { useCreate, useRecordContext } from 'react-admin';\n *\n * const LikeButton = () => {\n * const record = useRecordContext();\n * const like = { postId: record.id };\n * const [create, { isPending, error }] = useCreate();\n * const handleClick = () => {\n * create('likes', { data: like })\n * }\n * if (error) { return <p>ERROR</p>; }\n * return <button disabled={isPending} onClick={handleClick}>Like</button>;\n * };\n *\n * @example // set params when calling the hook\n *\n * import { useCreate, useRecordContext } from 'react-admin';\n *\n * const LikeButton = () => {\n * const record = useRecordContext();\n * const like = { postId: record.id };\n * const [create, { isPending, error }] = useCreate('likes', { data: like });\n * if (error) { return <p>ERROR</p>; }\n * return <button disabled={isPending} onClick={() => create()}>Like</button>;\n * };\n *\n * @example // TypeScript\n * const [create, { data }] = useCreate<Product>('products', { data: product });\n * \\-- data is Product\n */\nexport const useCreate = <\n RecordType extends Omit<RaRecord, 'id'> = any,\n MutationError = unknown,\n ResultRecordType extends RaRecord = RecordType & { id: Identifier },\n>(\n resource?: string,\n params: Partial<CreateParams<Partial<RecordType>>> = {},\n options: UseCreateOptions<RecordType, MutationError, ResultRecordType> = {}\n): UseCreateResult<RecordType, boolean, MutationError, ResultRecordType> => {\n const dataProvider = useDataProvider();\n const queryClient = useQueryClient();\n const paramsRef =\n useRef<Partial<CreateParams<Partial<RecordType>>>>(params);\n const hasCallTimeOnError = useRef(false);\n const hasCallTimeOnSuccess = useRef(false);\n const hasCallTimeOnSettled = useRef(false);\n const { getMutateWithMiddlewares, ...mutationOptions } = options;\n const mutation = useMutation<\n ResultRecordType,\n MutationError,\n Partial<UseCreateMutateParams<RecordType>>\n >({\n mutationFn: ({\n resource: callTimeResource = resource,\n data: callTimeData = paramsRef.current.data,\n meta: callTimeMeta = paramsRef.current.meta,\n } = {}) => {\n if (!callTimeResource) {\n throw new Error(\n 'useCreate mutation requires a non-empty resource'\n );\n }\n if (!callTimeData) {\n throw new Error(\n 'useCreate mutation requires a non-empty data object'\n );\n }\n if (getMutateWithMiddlewares) {\n const createWithMiddlewares = getMutateWithMiddlewares(\n dataProvider.create.bind(dataProvider)\n );\n return createWithMiddlewares(callTimeResource, {\n data: callTimeData,\n meta: callTimeMeta,\n }).then(({ data }) => data);\n }\n return dataProvider\n .create<RecordType, ResultRecordType>(callTimeResource, {\n data: callTimeData,\n meta: callTimeMeta,\n })\n .then(({ data }) => data);\n },\n ...mutationOptions,\n onError: (error, variables, context) => {\n if (options.onError && !hasCallTimeOnError.current) {\n return options.onError(error, variables, context);\n }\n },\n onSuccess: (\n data: ResultRecordType,\n variables: Partial<UseCreateMutateParams<RecordType>> = {},\n context: unknown\n ) => {\n const { resource: callTimeResource = resource } = variables;\n queryClient.setQueryData(\n [callTimeResource, 'getOne', { id: String(data.id) }],\n data\n );\n queryClient.invalidateQueries({\n queryKey: [callTimeResource, 'getList'],\n });\n queryClient.invalidateQueries({\n queryKey: [callTimeResource, 'getInfiniteList'],\n });\n queryClient.invalidateQueries({\n queryKey: [callTimeResource, 'getMany'],\n });\n queryClient.invalidateQueries({\n queryKey: [callTimeResource, 'getManyReference'],\n });\n\n if (options.onSuccess && !hasCallTimeOnSuccess.current) {\n options.onSuccess(data, variables, context);\n }\n },\n onSettled: (data, error, variables, context) => {\n if (options.onSettled && !hasCallTimeOnSettled.current) {\n return options.onSettled(data, error, variables, context);\n }\n },\n });\n\n const create = (\n callTimeResource: string | undefined = resource,\n callTimeParams: Partial<CreateParams<Partial<RecordType>>> = {},\n callTimeOptions: MutateOptions<\n ResultRecordType,\n MutationError,\n Partial<UseCreateMutateParams<RecordType>>,\n unknown\n > & { returnPromise?: boolean } = {}\n ) => {\n const {\n returnPromise = options.returnPromise,\n ...otherCallTimeOptions\n } = callTimeOptions;\n\n hasCallTimeOnError.current = !!otherCallTimeOptions.onError;\n hasCallTimeOnSuccess.current = !!otherCallTimeOptions.onSuccess;\n hasCallTimeOnSettled.current = !!otherCallTimeOptions.onSettled;\n\n if (returnPromise) {\n return mutation.mutateAsync(\n { resource: callTimeResource, ...callTimeParams },\n otherCallTimeOptions\n );\n }\n return mutation.mutate(\n { resource: callTimeResource, ...callTimeParams },\n otherCallTimeOptions\n );\n };\n\n const mutationResult = useMemo(\n () => ({\n isLoading: mutation.isPending,\n ...mutation,\n }),\n [mutation]\n );\n\n return [useEvent(create), mutationResult];\n};\n\nexport interface UseCreateMutateParams<\n RecordType extends Omit<RaRecord, 'id'> = any,\n> {\n resource?: string;\n data?: Partial<Omit<RecordType, 'id'>>;\n meta?: any;\n}\n\nexport type UseCreateOptions<\n RecordType extends Omit<RaRecord, 'id'> = any,\n MutationError = unknown,\n ResultRecordType extends RaRecord = RecordType & { id: Identifier },\n> = Omit<\n UseMutationOptions<\n ResultRecordType,\n MutationError,\n Partial<UseCreateMutateParams<RecordType>>\n >,\n 'mutationFn'\n> & {\n returnPromise?: boolean;\n getMutateWithMiddlewares?: <\n CreateFunctionType extends\n DataProvider['create'] = DataProvider['create'],\n >(\n mutate: CreateFunctionType\n ) => (\n ...Params: Parameters<CreateFunctionType>\n ) => ReturnType<CreateFunctionType>;\n};\n\nexport type CreateMutationFunction<\n RecordType extends Omit<RaRecord, 'id'> = any,\n TReturnPromise extends boolean = boolean,\n MutationError = unknown,\n ResultRecordType extends RaRecord = RecordType & { id: Identifier },\n> = (\n resource?: string,\n params?: Partial<CreateParams<Partial<RecordType>>>,\n options?: MutateOptions<\n ResultRecordType,\n MutationError,\n Partial<UseCreateMutateParams<RecordType>>,\n unknown\n > & { returnPromise?: TReturnPromise }\n) => TReturnPromise extends true ? Promise<ResultRecordType> : void;\n\nexport type UseCreateResult<\n RecordType extends Omit<RaRecord, 'id'> = any,\n TReturnPromise extends boolean = boolean,\n MutationError = unknown,\n ResultRecordType extends RaRecord = RecordType & { id: Identifier },\n> = [\n CreateMutationFunction<\n RecordType,\n TReturnPromise,\n MutationError,\n ResultRecordType\n >,\n UseMutationResult<\n ResultRecordType,\n MutationError,\n Partial<UseCreateMutateParams<RecordType>>,\n unknown\n >,\n];\n","import { useMemo, useRef } from 'react';\nimport {\n useMutation,\n useQueryClient,\n UseMutationOptions,\n UseMutationResult,\n MutateOptions,\n QueryKey,\n UseInfiniteQueryResult,\n InfiniteData,\n} from '@tanstack/react-query';\n\nimport { useDataProvider } from './useDataProvider';\nimport undoableEventEmitter from './undoableEventEmitter';\nimport {\n RaRecord,\n UpdateParams,\n MutationMode,\n GetListResult as OriginalGetListResult,\n GetInfiniteListResult,\n DataProvider,\n} from '../types';\nimport { useEvent } from '../util';\n\n/**\n * Get a callback to call the dataProvider.update() method, the result and the loading state.\n *\n * @param {string} resource\n * @param {Params} params The update parameters { id, data, previousData, meta }\n * @param {Object} options Options object to pass to the queryClient.\n * May include side effects to be executed upon success or failure, e.g. { onSuccess: () => { refresh(); } }\n * May include a mutation mode (optimistic/pessimistic/undoable), e.g. { mutationMode: 'undoable' }\n *\n * @typedef Params\n * @prop params.id The resource identifier, e.g. 123\n * @prop params.data The updates to merge into the record, e.g. { views: 10 }\n * @prop params.previousData The record before the update is applied\n * @prop params.meta Optional meta data\n *\n * @returns The current mutation state. Destructure as [update, { data, error, isPending }].\n *\n * The return value updates according to the request state:\n *\n * - initial: [update, { isPending: false, isIdle: true }]\n * - start: [update, { isPending: true }]\n * - success: [update, { data: [data from response], isPending: false, isSuccess: true }]\n * - error: [update, { error: [error from response], isPending: false, isError: true }]\n *\n * The update() function must be called with a resource and a parameter object: update(resource, { id, data, previousData }, options)\n *\n * This hook uses react-query useMutation under the hood.\n * This means the state object contains mutate, isIdle, reset and other react-query methods.\n *\n * @see https://react-query-v3.tanstack.com/reference/useMutation\n *\n * @example // set params when calling the update callback\n *\n * import { useUpdate, useRecordContext } from 'react-admin';\n *\n * const IncreaseLikeButton = () => {\n * const record = useRecordContext();\n * const diff = { likes: record.likes + 1 };\n * const [update, { isPending, error }] = useUpdate();\n * const handleClick = () => {\n * update('likes', { id: record.id, data: diff, previousData: record })\n * }\n * if (error) { return <p>ERROR</p>; }\n * return <button disabled={isPending} onClick={handleClick}>Like</div>;\n * };\n *\n * @example // set params when calling the hook\n *\n * import { useUpdate, useRecordContext } from 'react-admin';\n *\n * const IncreaseLikeButton = () => {\n * const record = useRecordContext();\n * const diff = { likes: record.likes + 1 };\n * const [update, { isPending, error }] = useUpdate('likes', { id: record.id, data: diff, previousData: record });\n * if (error) { return <p>ERROR</p>; }\n * return <button disabled={isPending} onClick={() => update()}>Like</button>;\n * };\n *\n * @example // TypeScript\n * const [update, { data }] = useUpdate<Product>('products', { id, data: diff, previousData: product });\n * \\-- data is Product\n */\nexport const useUpdate = <RecordType extends RaRecord = any, ErrorType = Error>(\n resource?: string,\n params: Partial<UpdateParams<RecordType>> = {},\n options: UseUpdateOptions<RecordType, ErrorType> = {}\n): UseUpdateResult<RecordType, boolean, ErrorType> => {\n const dataProvider = useDataProvider();\n const queryClient = useQueryClient();\n const { id, data, meta } = params;\n const {\n mutationMode = 'pessimistic',\n getMutateWithMiddlewares,\n ...mutationOptions\n } = options;\n const mode = useRef<MutationMode>(mutationMode);\n const paramsRef = useRef<Partial<UpdateParams<RecordType>>>(params);\n const snapshot = useRef<Snapshot>([]);\n // Ref that stores the mutation with middlewares to avoid losing them if the calling component is unmounted\n const mutateWithMiddlewares = useRef(dataProvider.update);\n // We need to store the call-time onError and onSettled in refs to be able to call them in the useMutation hook even\n // when the calling component is unmounted\n const callTimeOnError =\n useRef<UseUpdateOptions<RecordType, ErrorType>['onError']>();\n const callTimeOnSettled =\n useRef<UseUpdateOptions<RecordType, ErrorType>['onSettled']>();\n\n // We don't need to keep a ref on the onSuccess callback as we call it ourselves for optimistic and\n // undoable mutations. There is a limitation though: if one of the side effects applied by the onSuccess callback\n // unmounts the component that called the useUpdate hook (redirect for instance), it must be the last one applied,\n // otherwise the other side effects may not applied.\n const hasCallTimeOnSuccess = useRef(false);\n\n const updateCache = ({ resource, id, data }) => {\n // hack: only way to tell react-query not to fetch this query for the next 5 seconds\n // because setQueryData doesn't accept a stale time option\n const now = Date.now();\n const updatedAt = mode.current === 'undoable' ? now + 5 * 1000 : now;\n\n const updateColl = (old: RecordType[]) => {\n if (!old) return old;\n const index = old.findIndex(\n // eslint-disable-next-line eqeqeq\n record => record.id == id\n );\n if (index === -1) {\n return old;\n }\n return [\n ...old.slice(0, index),\n { ...old[index], ...data } as RecordType,\n ...old.slice(index + 1),\n ];\n };\n\n type GetListResult = Omit<OriginalGetListResult, 'data'> & {\n data?: RecordType[];\n };\n\n queryClient.setQueryData(\n [resource, 'getOne', { id: String(id), meta }],\n (record: RecordType) => ({ ...record, ...data }),\n { updatedAt }\n );\n queryClient.setQueriesData(\n { queryKey: [resource, 'getList'] },\n (res: GetListResult) =>\n res && res.data ? { ...res, data: updateColl(res.data) } : res,\n { updatedAt }\n );\n queryClient.setQueriesData(\n { queryKey: [resource, 'getInfiniteList'] },\n (\n res: UseInfiniteQueryResult<\n InfiniteData<GetInfiniteListResult>\n >['data']\n ) =>\n res && res.pages\n ? {\n ...res,\n pages: res.pages.map(page => ({\n ...page,\n data: updateColl(page.data),\n })),\n }\n : res,\n { updatedAt }\n );\n queryClient.setQueriesData(\n { queryKey: [resource, 'getMany'] },\n (coll: RecordType[]) =>\n coll && coll.length > 0 ? updateColl(coll) : coll,\n { updatedAt }\n );\n queryClient.setQueriesData(\n { queryKey: [resource, 'getManyReference'] },\n (res: GetListResult) =>\n res && res.data\n ? { data: updateColl(res.data), total: res.total }\n : res,\n { updatedAt }\n );\n };\n\n const mutation = useMutation<\n RecordType,\n ErrorType,\n Partial<UseUpdateMutateParams<RecordType>>\n >({\n mutationFn: ({\n resource: callTimeResource = resource,\n id: callTimeId = paramsRef.current.id,\n data: callTimeData = paramsRef.current.data,\n meta: callTimeMeta = paramsRef.current.meta,\n previousData: callTimePreviousData = paramsRef.current.previousData,\n } = {}) => {\n if (!callTimeResource) {\n throw new Error(\n 'useUpdate mutation requires a non-empty resource'\n );\n }\n if (callTimeId == null) {\n throw new Error('useUpdate mutation requires a non-empty id');\n }\n if (!callTimeData) {\n throw new Error(\n 'useUpdate mutation requires a non-empty data object'\n );\n }\n\n return mutateWithMiddlewares\n .current(callTimeResource, {\n id: callTimeId,\n data: callTimeData,\n previousData: callTimePreviousData,\n meta: callTimeMeta,\n })\n .then(({ data }) => data);\n },\n ...mutationOptions,\n onMutate: async (\n variables: Partial<UseUpdateMutateParams<RecordType>>\n ) => {\n if (mutationOptions.onMutate) {\n const userContext =\n (await mutationOptions.onMutate(variables)) || {};\n return {\n snapshot: snapshot.current,\n // @ts-ignore\n ...userContext,\n };\n } else {\n // Return a context object with the snapshot value\n return { snapshot: snapshot.current };\n }\n },\n onError: (error, variables = {}, context: { snapshot: Snapshot }) => {\n if (mode.current === 'optimistic' || mode.current === 'undoable') {\n // If the mutation fails, use the context returned from onMutate to rollback\n context.snapshot.forEach(([key, value]) => {\n queryClient.setQueryData(key, value);\n });\n }\n\n if (callTimeOnError.current) {\n return callTimeOnError.current(error, variables, context);\n }\n if (mutationOptions.onError) {\n return mutationOptions.onError(error, variables, context);\n }\n // call-time error callback is executed by react-query\n },\n onSuccess: (\n data: RecordType,\n variables: Partial<UseUpdateMutateParams<RecordType>> = {},\n context: unknown\n ) => {\n if (mode.current === 'pessimistic') {\n // update the getOne and getList query cache with the new result\n const {\n resource: callTimeResource = resource,\n id: callTimeId = id,\n } = variables;\n updateCache({\n resource: callTimeResource,\n id: callTimeId,\n data,\n });\n\n if (\n mutationOptions.onSuccess &&\n !hasCallTimeOnSuccess.current\n ) {\n mutationOptions.onSuccess(data, variables, context);\n }\n }\n },\n onSettled: (\n data,\n error,\n variables = {},\n context: { snapshot: Snapshot }\n ) => {\n if (mode.current === 'optimistic' || mode.current === 'undoable') {\n // Always refetch after error or success:\n context.snapshot.forEach(([queryKey]) => {\n queryClient.invalidateQueries({ queryKey });\n });\n }\n\n if (callTimeOnSettled.current) {\n return callTimeOnSettled.current(\n data,\n error,\n variables,\n context\n );\n }\n if (mutationOptions.onSettled) {\n return mutationOptions.onSettled(\n data,\n error,\n variables,\n context\n );\n }\n },\n });\n\n const update = async (\n callTimeResource: string | undefined = resource,\n callTimeParams: Partial<UpdateParams<RecordType>> = {},\n callTimeOptions: MutateOptions<\n RecordType,\n ErrorType,\n Partial<UseUpdateMutateParams<RecordType>>,\n unknown\n > & { mutationMode?: MutationMode; returnPromise?: boolean } = {}\n ) => {\n const {\n mutationMode,\n returnPromise = mutationOptions.returnPromise,\n onError,\n onSettled,\n onSuccess,\n ...otherCallTimeOptions\n } = callTimeOptions;\n\n // Store the mutation with middlewares to avoid losing them if the calling component is unmounted\n if (getMutateWithMiddlewares) {\n mutateWithMiddlewares.current = getMutateWithMiddlewares(\n dataProvider.update.bind(dataProvider)\n );\n } else {\n mutateWithMiddlewares.current = dataProvider.update;\n }\n\n // We need to keep the onSuccess callback here and not in the useMutation for undoable mutations\n hasCallTimeOnSuccess.current = !!onSuccess;\n // We need to store the onError and onSettled callbacks here to be able to call them in the useMutation hook\n // so that they are called even when the calling component is unmounted\n callTimeOnError.current = onError;\n callTimeOnSettled.current = onSettled;\n\n // store the hook time params *at the moment of the call*\n // because they may change afterwards, which would break the undoable mode\n // as the previousData would be overwritten by the optimistic update\n paramsRef.current = params;\n\n if (mutationMode) {\n mode.current = mutationMode;\n }\n\n if (returnPromise && mode.current !== 'pessimistic') {\n console.warn(\n 'The returnPromise parameter can only be used if the mutationMode is set to pessimistic'\n );\n }\n\n if (mode.current === 'pessimistic') {\n if (returnPromise) {\n return mutation.mutateAsync(\n { resource: callTimeResource, ...callTimeParams },\n // We don't pass onError and onSettled here as we will call them in the useMutation hook side effects\n { onSuccess, ...otherCallTimeOptions }\n );\n }\n return mutation.mutate(\n { resource: callTimeResource, ...callTimeParams },\n // We don't pass onError and onSettled here as we will call them in the useMutation hook side effects\n { onSuccess, ...otherCallTimeOptions }\n );\n }\n\n const {\n id: callTimeId = id,\n data: callTimeData = data,\n meta: callTimeMeta = meta,\n } = callTimeParams;\n\n // optimistic update as documented in https://react-query-v3.tanstack.com/guides/optimistic-updates\n // except we do it in a mutate wrapper instead of the onMutate callback\n // to have access to success side effects\n\n const previousRecord = queryClient.getQueryData<RecordType>([\n callTimeResource,\n 'getOne',\n { id: String(callTimeId), meta: callTimeMeta },\n ]);\n\n const queryKeys = [\n [\n callTimeResource,\n 'getOne',\n { id: String(callTimeId), meta: callTimeMeta },\n ],\n [callTimeResource, 'getList'],\n [callTimeResource, 'getInfiniteList'],\n [callTimeResource, 'getMany'],\n [callTimeResource, 'getManyReference'],\n ];\n\n /**\n * Snapshot the previous values via queryClient.getQueriesData()\n *\n * The snapshotData ref will contain an array of tuples [query key, associated data]\n *\n * @example\n * [\n * [['posts', 'getOne', { id: '1' }], { id: 1, title: 'Hello' }],\n * [['posts', 'getList'], { data: [{ id: 1, title: 'Hello' }], total: 1 }],\n * [['posts', 'getMany'], [{ id: 1, title: 'Hello' }]],\n * ]\n *\n * @see https://react-query-v3.tanstack.com/reference/QueryClient#queryclientgetqueriesdata\n */\n snapshot.current = queryKeys.reduce(\n (prev, queryKey) =>\n prev.concat(queryClient.getQueriesData({ queryKey })),\n [] as Snapshot\n );\n\n // Cancel any outgoing re-fetches (so they don't overwrite our optimistic update)\n await Promise.all(\n snapshot.current.map(([queryKey]) =>\n queryClient.cancelQueries({ queryKey })\n )\n );\n\n // Optimistically update to the new value\n updateCache({\n resource: callTimeResource,\n id: callTimeId,\n data: callTimeData,\n });\n\n // run the success callbacks during the next tick\n setTimeout(() => {\n if (onSuccess) {\n onSuccess(\n { ...previousRecord, ...callTimeData } as RecordType,\n { resource: callTimeResource, ...callTimeParams },\n { snapshot: snapshot.current }\n );\n } else if (\n mutationOptions.onSuccess &&\n !hasCallTimeOnSuccess.current\n ) {\n mutationOptions.onSuccess(\n { ...previousRecord, ...callTimeData } as RecordType,\n { resource: callTimeResource, ...callTimeParams },\n { snapshot: snapshot.current }\n );\n }\n }, 0);\n\n if (mode.current === 'optimistic') {\n // call the mutate method without success side effects\n return mutation.mutate({\n resource: callTimeResource,\n // We don't pass onError and onSettled here as we will call them in the useMutation hook side effects\n ...callTimeParams,\n });\n } else {\n // undoable mutation: register the mutation for later\n undoableEventEmitter.once('end', ({ isUndo }) => {\n if (isUndo) {\n // rollback\n snapshot.current.forEach(([key, value]) => {\n queryClient.setQueryData(key, value);\n });\n } else {\n // call the mutate method without success side effects\n mutation.mutate({\n resource: callTimeResource,\n ...callTimeParams,\n });\n }\n });\n }\n };\n\n const mutationResult = useMemo(\n () => ({\n isLoading: mutation.isPending,\n ...mutation,\n }),\n [mutation]\n );\n\n return [useEvent(update), mutationResult];\n};\n\ntype Snapshot = [key: QueryKey, value: any][];\n\nexport interface UseUpdateMutateParams<RecordType extends RaRecord = any> {\n resource?: string;\n id?: RecordType['id'];\n data?: Partial<RecordType>;\n previousData?: any;\n meta?: any;\n}\n\nexport type UseUpdateOptions<\n RecordType extends RaRecord = any,\n ErrorType = Error,\n> = UseMutationOptions<\n RecordType,\n ErrorType,\n Partial<Omit<UseUpdateMutateParams<RecordType>, 'mutationFn'>>\n> & {\n mutationMode?: MutationMode;\n returnPromise?: boolean;\n getMutateWithMiddlewares?: <\n UpdateFunctionType extends\n DataProvider['update'] = DataProvider['update'],\n >(\n mutate: UpdateFunctionType\n ) => (\n ...Params: Parameters<UpdateFunctionType>\n ) => ReturnType<UpdateFunctionType>;\n};\n\nexport type UpdateMutationFunction<\n RecordType extends RaRecord = any,\n TReturnPromise extends boolean = boolean,\n ErrorType = Error,\n> = (\n resource?: string,\n params?: Partial<UpdateParams<RecordType>>,\n options?: MutateOptions<\n RecordType,\n ErrorType,\n Partial<UseUpdateMutateParams<RecordType>>,\n unknown\n > & { mutationMode?: MutationMode; returnPromise?: TReturnPromise }\n) => Promise<TReturnPromise extends true ? RecordType : void>;\n\nexport type UseUpdateResult<\n RecordType extends RaRecord = any,\n TReturnPromise extends boolean = boolean,\n ErrorType = Error,\n> = [\n UpdateMutationFunction<RecordType, TReturnPromise, ErrorType>,\n UseMutationResult<\n RecordType,\n ErrorType,\n Partial<UpdateParams<RecordType> & { resource?: string }>,\n unknown\n >,\n];\n","import { useMemo, useRef } from 'react';\nimport {\n useMutation,\n useQueryClient,\n UseMutationOptions,\n UseMutationResult,\n MutateOptions,\n QueryKey,\n UseInfiniteQueryResult,\n InfiniteData,\n} from '@tanstack/react-query';\n\nimport { useDataProvider } from './useDataProvider';\nimport undoableEventEmitter from './undoableEventEmitter';\nimport {\n RaRecord,\n DeleteParams,\n MutationMode,\n GetListResult as OriginalGetListResult,\n GetInfiniteListResult,\n} from '../types';\nimport { useEvent } from '../util';\n\n/**\n * Get a callback to call the dataProvider.delete() method, the result and the loading state.\n *\n * @param {string} resource\n * @param {Params} params The delete parameters { id, previousData }\n * @param {Object} options Options object to pass to the queryClient.\n * May include side effects to be executed upon success or failure, e.g. { onSuccess: () => { refresh(); } }\n * May include a mutation mode (optimistic/pessimistic/undoable), e.g. { mutationMode: 'undoable' }\n *\n * @typedef Params\n * @prop params.id The resource identifier, e.g. 123\n * @prop params.previousData The record before the update is applied\n *\n * @returns The current mutation state. Destructure as [deleteOne, { data, error, isPending }].\n *\n * The return value updates according to the request state:\n *\n * - initial: [deleteOne, { isPending: false, isIdle: true }]\n * - start: [deleteOne, { isPending: true }]\n * - success: [deleteOne, { data: [data from response], isPending: false, isSuccess: true }]\n * - error: [deleteOne, { error: [error from response], isPending: false, isError: true }]\n *\n * The deleteOne() function must be called with a resource and a parameter object: deleteOne(resource, { id, previousData, meta }, options)\n *\n * This hook uses react-query useMutation under the hood.\n * This means the state object contains mutate, isIdle, reset and other react-query methods.\n *\n * @see https://tanstack.com/query/v5/docs/react/reference/useMutation\n *\n * @example // set params when calling the deleteOne callback\n *\n * import { useDelete, useRecordContext } from 'react-admin';\n *\n * const DeleteButton = () => {\n * const record = useRecordContext();\n * const [deleteOne, { isPending, error }] = useDelete();\n * const handleClick = () => {\n * deleteOne('likes', { id: record.id, previousData: record })\n * }\n * if (error) { return <p>ERROR</p>; }\n * return <button disabled={isPending} onClick={handleClick}>Delete</div>;\n * };\n *\n * @example // set params when calling the hook\n *\n * import { useDelete, useRecordContext } from 'react-admin';\n *\n * const DeleteButton = () => {\n * const record = useRecordContext();\n * const [deleteOne, { isPending, error }] = useDelete('likes', { id: record.id, previousData: record });\n * if (error) { return <p>ERROR</p>; }\n * return <button disabled={isPending} onClick={() => deleteOne()}>Delete</button>;\n * };\n *\n * @example // TypeScript\n * const [delete, { data }] = useDelete<Product>('products', { id, previousData: product });\n * \\-- data is Product\n */\nexport const useDelete = <\n RecordType extends RaRecord = any,\n MutationError = unknown,\n>(\n resource?: string,\n params: Partial<DeleteParams<RecordType>> = {},\n options: UseDeleteOptions<RecordType, MutationError> = {}\n): UseDeleteResult<RecordType, MutationError> => {\n const dataProvider = useDataProvider();\n const queryClient = useQueryClient();\n const { id, previousData } = params;\n const { mutationMode = 'pessimistic', ...mutationOptions } = options;\n const mode = useRef<MutationMode>(mutationMode);\n const paramsRef = useRef<Partial<DeleteParams<RecordType>>>(params);\n const snapshot = useRef<Snapshot>([]);\n const hasCallTimeOnError = useRef(false);\n const hasCallTimeOnSuccess = useRef(false);\n const hasCallTimeOnSettled = useRef(false);\n\n const updateCache = ({ resource, id }) => {\n // hack: only way to tell react-query not to fetch this query for the next 5 seconds\n // because setQueryData doesn't accept a stale time option\n const now = Date.now();\n const updatedAt = mode.current === 'undoable' ? now + 5 * 1000 : now;\n\n const updateColl = (old: RecordType[]) => {\n if (!old) return old;\n const index = old.findIndex(\n // eslint-disable-next-line eqeqeq\n record => record.id == id\n );\n if (index === -1) {\n return old;\n }\n return [...old.slice(0, index), ...old.slice(index + 1)];\n };\n\n type GetListResult = Omit<OriginalGetListResult, 'data'> & {\n data?: RecordType[];\n };\n\n queryClient.setQueriesData(\n { queryKey: [resource, 'getList'] },\n (res: GetListResult) => {\n if (!res || !res.data) return res;\n const newCollection = updateColl(res.data);\n const recordWasFound = newCollection.length < res.data.length;\n return recordWasFound\n ? {\n data: newCollection,\n total: res.total ? res.total - 1 : undefined,\n pageInfo: res.pageInfo,\n }\n : res;\n },\n { updatedAt }\n );\n queryClient.setQueriesData(\n { queryKey: [resource, 'getInfiniteList'] },\n (\n res: UseInfiniteQueryResult<\n InfiniteData<GetInfiniteListResult>\n >['data']\n ) => {\n if (!res || !res.pages) return res;\n return {\n ...res,\n pages: res.pages.map(page => {\n const newCollection = updateColl(page.data);\n const recordWasFound =\n newCollection.length < page.data.length;\n return recordWasFound\n ? {\n ...page,\n data: newCollection,\n total: page.total\n ? page.total - 1\n : undefined,\n pageInfo: page.pageInfo,\n }\n : page;\n }),\n };\n },\n { updatedAt }\n );\n queryClient.setQueriesData(\n { queryKey: [resource, 'getMany'] },\n (coll: RecordType[]) =>\n coll && coll.length > 0 ? updateColl(coll) : coll,\n { updatedAt }\n );\n queryClient.setQueriesData(\n { queryKey: [resource, 'getManyReference'] },\n (res: GetListResult) => {\n if (!res || !res.data) return res;\n const newCollection = updateColl(res.data);\n const recordWasFound = newCollection.length < res.data.length;\n return recordWasFound\n ? {\n data: newCollection,\n total: res.total! - 1,\n }\n : res;\n },\n { updatedAt }\n );\n };\n\n const mutation = useMutation<\n RecordType,\n MutationError,\n Partial<UseDeleteMutateParams<RecordType>>\n >({\n mutationFn: ({\n resource: callTimeResource = resource,\n id: callTimeId = paramsRef.current.id,\n previousData: callTimePreviousData = paramsRef.current.previousData,\n meta: callTimeMeta = paramsRef.current.meta,\n } = {}) => {\n if (!callTimeResource) {\n throw new Error(\n 'useDelete mutation requires a non-empty resource'\n );\n }\n if (callTimeId == null) {\n throw new Error('useDelete mutation requires a non-empty id');\n }\n return dataProvider\n .delete<RecordType>(callTimeResource, {\n id: callTimeId,\n previousData: callTimePreviousData,\n meta: callTimeMeta,\n })\n .then(({ data }) => data);\n },\n ...mutationOptions,\n onMutate: async (\n variables: Partial<UseDeleteMutateParams<RecordType>>\n ) => {\n if (mutationOptions.onMutate) {\n const userContext =\n (await mutationOptions.onMutate(variables)) || {};\n return {\n snapshot: snapshot.current,\n // @ts-ignore\n ...userContext,\n };\n } else {\n // Return a context object with the snapshot value\n return { snapshot: snapshot.current };\n }\n },\n onError: (\n error: MutationError,\n variables: Partial<UseDeleteMutateParams<RecordType>> = {},\n context: { snapshot: Snapshot }\n ) => {\n if (mode.current === 'optimistic' || mode.current === 'undoable') {\n // If the mutation fails, use the context returned from onMutate to rollback\n context.snapshot.forEach(([key, value]) => {\n queryClient.setQueryData(key, value);\n });\n }\n\n if (mutationOptions.onError && !hasCallTimeOnError.current) {\n return mutationOptions.onError(error, variables, context);\n }\n // call-time error callback is executed by react-query\n },\n onSuccess: (\n data: RecordType,\n variables: Partial<UseDeleteMutateParams<RecordType>> = {},\n context: unknown\n ) => {\n if (mode.current === 'pessimistic') {\n // update the getOne and getList query cache with the new result\n const {\n resource: callTimeResource = resource,\n id: callTimeId = id,\n } = variables;\n updateCache({\n resource: callTimeResource,\n id: callTimeId,\n });\n\n if (\n mutationOptions.onSuccess &&\n !hasCallTimeOnSuccess.current\n ) {\n mutationOptions.onSuccess(data, variables, context);\n }\n // call-time success callback is executed by react-query\n }\n },\n onSettled: (\n data: RecordType,\n error: MutationError,\n variables: Partial<UseDeleteMutateParams<RecordType>> = {},\n context: { snapshot: Snapshot }\n ) => {\n if (mode.current === 'optimistic' || mode.current === 'undoable') {\n // Always refetch after error or success:\n context.snapshot.forEach(([queryKey]) => {\n queryClient.invalidateQueries({ queryKey });\n });\n }\n\n if (mutationOptions.onSettled && !hasCallTimeOnSettled.current) {\n return mutationOptions.onSettled(\n data,\n error,\n variables,\n context\n );\n }\n },\n });\n\n const mutate = async (\n callTimeResource: string | undefined = resource,\n callTimeParams: Partial<DeleteParams<RecordType>> = {},\n callTimeOptions: MutateOptions<\n RecordType,\n MutationError,\n Partial<UseDeleteMutateParams<RecordType>>,\n unknown\n > & {\n mutationMode?: MutationMode;\n onSuccess?: (\n data: RecordType | undefined,\n variables: Partial<UseDeleteMutateParams<RecordType>>,\n context: unknown\n ) => void;\n } = {}\n ) => {\n const { mutationMode, ...otherCallTimeOptions } = callTimeOptions;\n hasCallTimeOnError.current = !!callTimeOptions.onError;\n hasCallTimeOnSuccess.current = !!callTimeOptions.onSuccess;\n hasCallTimeOnSettled.current = !!callTimeOptions.onSettled;\n\n // store the hook time params *at the moment of the call*\n // because they may change afterwards, which would break the undoable mode\n // as the previousData would be overwritten by the optimistic update\n paramsRef.current = params;\n\n if (mutationMode) {\n mode.current = mutationMode;\n }\n\n if (mode.current === 'pessimistic') {\n return mutation.mutate(\n { resource: callTimeResource, ...callTimeParams },\n otherCallTimeOptions\n );\n }\n\n const {\n id: callTimeId = id,\n previousData: callTimePreviousData = previousData,\n } = callTimeParams;\n\n // optimistic update as documented in https://react-query-v5.tanstack.com/guides/optimistic-updates\n // except we do it in a mutate wrapper instead of the onMutate callback\n // to have access to success side effects\n\n const queryKeys = [\n [callTimeResource, 'getList'],\n [callTimeResource, 'getInfiniteList'],\n [callTimeResource, 'getMany'],\n [callTimeResource, 'getManyReference'],\n ];\n\n /**\n * Snapshot the previous values via queryClient.getQueriesData()\n *\n * The snapshotData ref will contain an array of tuples [query key, associated data]\n *\n * @example\n * [\n * [['posts', 'getList'], { data: [{ id: 1, title: 'Hello' }], total: 1 }],\n * [['posts', 'getMany'], [{ id: 1, title: 'Hello' }]],\n * ]\n *\n * @see https://tanstack.com/query/v5/docs/react/reference/QueryClient#queryclientgetqueriesdata\n */\n snapshot.current = queryKeys.reduce(\n (prev, queryKey) =>\n prev.concat(queryClient.getQueriesData({ queryKey })),\n [] as Snapshot\n );\n\n // Cancel any outgoing re-fetches (so they don't overwrite our optimistic update)\n await Promise.all(\n snapshot.current.map(([queryKey]) =>\n queryClient.cancelQueries({ queryKey })\n )\n );\n\n // Optimistically update to the new value\n updateCache({\n resource: callTimeResource,\n id: callTimeId,\n });\n\n // run the success callbacks during the next tick\n setTimeout(() => {\n if (callTimeOptions.onSuccess) {\n callTimeOptions.onSuccess(\n callTimePreviousData,\n { resource: callTimeResource, ...callTimeParams },\n { snapshot: snapshot.current }\n );\n } else if (mutationOptions.onSuccess) {\n mutationOptions.onSuccess(\n callTimePreviousData,\n { resource: callTimeResource, ...callTimeParams },\n { snapshot: snapshot.current }\n );\n }\n }, 0);\n\n if (mode.current === 'optimistic') {\n // call the mutate method without success side effects\n return mutation.mutate(\n { resource: callTimeResource, ...callTimeParams },\n {\n onSettled: callTimeOptions.onSettled,\n onError: callTimeOptions.onError,\n }\n );\n } else {\n // undoable mutation: register the mutation for later\n undoableEventEmitter.once('end', ({ isUndo }) => {\n if (isUndo) {\n // rollback\n snapshot.current.forEach(([key, value]) => {\n queryClient.setQueryData(key, value);\n });\n } else {\n // call the mutate method without success side effects\n mutation.mutate(\n { resource: callTimeResource, ...callTimeParams },\n {\n onSettled: callTimeOptions.onSettled,\n onError: callTimeOptions.onError,\n }\n );\n }\n });\n }\n };\n\n const mutationResult = useMemo(\n () => ({\n isLoading: mutation.isPending,\n ...mutation,\n }),\n [mutation]\n );\n\n return [useEvent(mutate), mutationResult];\n};\n\ntype Snapshot = [key: QueryKey, value: any][];\n\nexport interface UseDeleteMutateParams<RecordType extends RaRecord = any> {\n resource?: string;\n id?: RecordType['id'];\n data?: Partial<RecordType>;\n previousData?: any;\n meta?: any;\n}\n\nexport type UseDeleteOptions<\n RecordType extends RaRecord = any,\n MutationError = unknown,\n> = UseMutationOptions<\n RecordType,\n MutationError,\n Partial<UseDeleteMutateParams<RecordType>>\n> & {\n mutationMode?: MutationMode;\n onSuccess?: (\n data: RecordType | undefined,\n variables: Partial<UseDeleteMutateParams<RecordType>>,\n context: unknown\n ) => void;\n};\n\nexport type UseDeleteResult<\n RecordType extends RaRecord = any,\n MutationError = unknown,\n> = [\n (\n resource?: string,\n params?: Partial<DeleteParams<RecordType>>,\n options?: MutateOptions<\n RecordType,\n MutationError,\n Partial<UseDeleteMutateParams<RecordType>>,\n unknown\n > & {\n mutationMode?: MutationMode;\n }\n ) => Promise<void>,\n UseMutationResult<\n RecordType,\n MutationError,\n Partial<DeleteParams<RecordType> & { resource?: string }>,\n unknown\n >,\n];\n","import { useMemo, useRef } from 'react';\nimport {\n useMutation,\n useQueryClient,\n UseMutationOptions,\n UseMutationResult,\n MutateOptions,\n QueryKey,\n UseInfiniteQueryResult,\n InfiniteData,\n} from '@tanstack/react-query';\n\nimport { useDataProvider } from './useDataProvider';\nimport undoableEventEmitter from './undoableEventEmitter';\nimport {\n RaRecord,\n DeleteManyParams,\n MutationMode,\n GetListResult as OriginalGetListResult,\n GetInfiniteListResult,\n} from '../types';\nimport { useEvent } from '../util';\n\n/**\n * Get a callback to call the dataProvider.delete() method, the result and the loading state.\n *\n * @param {string} resource\n * @param {Params} params The delete parameters { ids }\n * @param {Object} options Options object to pass to the queryClient.\n * May include side effects to be executed upon success or failure, e.g. { onSuccess: () => { refresh(); } }\n * May include a mutation mode (optimistic/pessimistic/undoable), e.g. { mutationMode: 'undoable' }\n *\n * @typedef Params\n * @prop params.ids The resource identifiers, e.g. [123, 456]\n *\n * @returns The current mutation state. Destructure as [deleteMany, { data, error, isPending }].\n *\n * The return value updates according to the request state:\n *\n * - initial: [deleteMany, { isPending: false, isIdle: true }]\n * - start: [deleteMany, { isPending: true }]\n * - success: [deleteMany, { data: [data from response], isPending: false, isSuccess: true }]\n * - error: [deleteMany, { error: [error from response], isPending: false, isError: true }]\n *\n * The deleteMany() function must be called with a resource and a parameter object: deleteMany(resource, { ids, meta }, options)\n *\n * This hook uses react-query useMutation under the hood.\n * This means the state object contains mutate, isIdle, reset and other react-query methods.\n *\n * @see https://tanstack.com/query/v5/docs/react/reference/useMutation\n *\n * @example // set params when calling the deleteMany callback\n *\n * import { useDeleteMany } from 'react-admin';\n *\n * const BulkDeletePostsButton = ({ selectedIds }) => {\n * const [deleteMany, { isPending, error }] = useDeleteMany();\n * const handleClick = () => {\n * deleteMany('posts', { ids: selectedIds })\n * }\n * if (error) { return <p>ERROR</p>; }\n * return <button disabled={isPending} onClick={handleClick}>Delete selected posts</button>;\n * };\n *\n * @example // set params when calling the hook\n *\n * import { useDeleteMany } from 'react-admin';\n *\n * const BulkDeletePostsButton = ({ selectedIds }) => {\n * const [deleteMany, { isPending, error }] = useDeleteMany('posts', { ids: selectedIds });\n * const handleClick = () => {\n * deleteMany()\n * }\n * if (error) { return <p>ERROR</p>; }\n * return <button disabled={isPending} onClick={handleClick}>Delete selected posts</button>;\n * };\n *\n * @example // TypeScript\n * const [deleteMany, { data }] = useDeleteMany<Product>('products', { ids });\n * \\-- data is Product\n */\nexport const useDeleteMany = <\n RecordType extends RaRecord = any,\n MutationError = unknown,\n>(\n resource?: string,\n params: Partial<DeleteManyParams<RecordType>> = {},\n options: UseDeleteManyOptions<RecordType, MutationError> = {}\n): UseDeleteManyResult<RecordType, MutationError> => {\n const dataProvider = useDataProvider();\n const queryClient = useQueryClient();\n const { ids } = params;\n const { mutationMode = 'pessimistic', ...mutationOptions } = options;\n const mode = useRef<MutationMode>(mutationMode);\n const paramsRef = useRef<Partial<DeleteManyParams<RecordType>>>({});\n const snapshot = useRef<Snapshot>([]);\n const hasCallTimeOnError = useRef(false);\n const hasCallTimeOnSuccess = useRef(false);\n const hasCallTimeOnSettled = useRef(false);\n\n const updateCache = ({ resource, ids }) => {\n // hack: only way to tell react-query not to fetch this query for the next 5 seconds\n // because setQueryData doesn't accept a stale time option\n const now = Date.now();\n const updatedAt = mode.current === 'undoable' ? now + 5 * 1000 : now;\n\n const updateColl = (old: RecordType[]) => {\n if (!old) return old;\n let newCollection = [...old];\n ids.forEach(id => {\n const index = newCollection.findIndex(\n // eslint-disable-next-line eqeqeq\n record => record.id == id\n );\n if (index === -1) {\n return;\n }\n newCollection = [\n ...newCollection.slice(0, index),\n ...newCollection.slice(index + 1),\n ];\n });\n return newCollection;\n };\n\n type GetListResult = Omit<OriginalGetListResult, 'data'> & {\n data?: RecordType[];\n };\n\n queryClient.setQueriesData(\n { queryKey: [resource, 'getList'] },\n (res: GetListResult) => {\n if (!res || !res.data) return res;\n const newCollection = updateColl(res.data);\n const recordWasFound = newCollection.length < res.data.length;\n return recordWasFound\n ? {\n data: newCollection,\n total: res.total\n ? res.total -\n (res.data.length - newCollection.length)\n : undefined,\n pageInfo: res.pageInfo,\n }\n : res;\n },\n { updatedAt }\n );\n queryClient.setQueriesData(\n { queryKey: [resource, 'getInfiniteList'] },\n (\n res: UseInfiniteQueryResult<\n InfiniteData<GetInfiniteListResult>\n >['data']\n ) => {\n if (!res || !res.pages) return res;\n return {\n ...res,\n pages: res.pages.map(page => {\n const newCollection = updateColl(page.data);\n const recordWasFound =\n newCollection.length < page.data.length;\n return recordWasFound\n ? {\n ...page,\n data: newCollection,\n total: page.total\n ? page.total -\n (page.data.length -\n newCollection.length)\n : undefined,\n pageInfo: page.pageInfo,\n }\n : page;\n }),\n };\n },\n { updatedAt }\n );\n queryClient.setQueriesData(\n { queryKey: [resource, 'getMany'] },\n (coll: RecordType[]) =>\n coll && coll.length > 0 ? updateColl(coll) : coll,\n { updatedAt }\n );\n queryClient.setQueriesData(\n { queryKey: [resource, 'getManyReference'] },\n (res: GetListResult) => {\n if (!res || !res.data) return res;\n const newCollection = updateColl(res.data);\n const recordWasFound = newCollection.length < res.data.length;\n if (!recordWasFound) {\n return res;\n }\n if (res.total) {\n return {\n data: newCollection,\n total:\n res.total -\n (res.data.length - newCollection.length),\n };\n }\n if (res.pageInfo) {\n return {\n data: newCollection,\n pageInfo: res.pageInfo,\n };\n }\n throw new Error(\n 'Found getList result in cache without total or pageInfo'\n );\n },\n { updatedAt }\n );\n };\n\n const mutation = useMutation<\n RecordType['id'][],\n MutationError,\n Partial<UseDeleteManyMutateParams<RecordType>>\n >({\n mutationFn: ({\n resource: callTimeResource = resource,\n ids: callTimeIds = paramsRef.current.ids,\n meta: callTimeMeta = paramsRef.current.meta,\n } = {}) => {\n if (!callTimeResource) {\n throw new Error(\n 'useDeleteMany mutation requires a non-empty resource'\n );\n }\n if (!callTimeIds) {\n throw new Error(\n 'useDeleteMany mutation requires an array of ids'\n );\n }\n if (callTimeIds.length === 0) {\n return Promise.resolve([]);\n }\n return dataProvider\n .deleteMany<RecordType>(callTimeResource, {\n ids: callTimeIds,\n meta: callTimeMeta,\n })\n .then(({ data }) => data || []);\n },\n ...mutationOptions,\n onMutate: async (\n variables: Partial<UseDeleteManyMutateParams<RecordType>>\n ) => {\n if (mutationOptions.onMutate) {\n const userContext =\n (await mutationOptions.onMutate(variables)) || {};\n return {\n snapshot: snapshot.current,\n // @ts-ignore\n ...userContext,\n };\n } else {\n // Return a context object with the snapshot value\n return { snapshot: snapshot.current };\n }\n },\n onError: (\n error: MutationError,\n variables: Partial<UseDeleteManyMutateParams<RecordType>> = {},\n context: { snapshot: Snapshot }\n ) => {\n if (mode.current === 'optimistic' || mode.current === 'undoable') {\n // If the mutation fails, use the context returned from onMutate to rollback\n context.snapshot.forEach(([key, value]) => {\n queryClient.setQueryData(key, value);\n });\n }\n\n if (mutationOptions.onError && !hasCallTimeOnError.current) {\n return mutationOptions.onError(error, variables, context);\n }\n // call-time error callback is executed by react-query\n },\n onSuccess: (\n data: RecordType['id'][],\n variables: Partial<UseDeleteManyMutateParams<RecordType>> = {},\n context: unknown\n ) => {\n if (mode.current === 'pessimistic') {\n // update the getOne and getList query cache with the new result\n const {\n resource: callTimeResource = resource,\n ids: callTimeIds = ids,\n } = variables;\n updateCache({\n resource: callTimeResource,\n ids: callTimeIds,\n });\n\n if (\n mutationOptions.onSuccess &&\n !hasCallTimeOnSuccess.current\n ) {\n mutationOptions.onSuccess(data, variables, context);\n }\n // call-time success callback is executed by react-query\n }\n },\n onSettled: (\n data: RecordType['id'][],\n error: MutationError,\n variables: Partial<UseDeleteManyMutateParams<RecordType>> = {},\n context: { snapshot: Snapshot }\n ) => {\n if (mode.current === 'optimistic' || mode.current === 'undoable') {\n // Always refetch after error or success:\n context.snapshot.forEach(([queryKey]) => {\n queryClient.invalidateQueries({ queryKey });\n });\n }\n\n if (mutationOptions.onSettled && !hasCallTimeOnSettled.current) {\n return mutationOptions.onSettled(\n data,\n error,\n variables,\n context\n );\n }\n },\n });\n\n const mutate = async (\n callTimeResource: string | undefined = resource,\n callTimeParams: Partial<DeleteManyParams<RecordType>> = {},\n callTimeOptions: MutateOptions<\n RecordType['id'][],\n unknown,\n Partial<UseDeleteManyMutateParams<RecordType>>,\n unknown\n > & { mutationMode?: MutationMode } = {}\n ) => {\n const { mutationMode, ...otherCallTimeOptions } = callTimeOptions;\n hasCallTimeOnError.current = !!callTimeOptions.onError;\n hasCallTimeOnSuccess.current = !!callTimeOptions.onSuccess;\n hasCallTimeOnSettled.current = !!callTimeOptions.onSettled;\n // store the hook time params *at the moment of the call*\n // because they may change afterwards, which would break the undoable mode\n // as the previousData would be overwritten by the optimistic update\n paramsRef.current = params;\n\n if (mutationMode) {\n mode.current = mutationMode;\n }\n\n if (mode.current === 'pessimistic') {\n return mutation.mutate(\n { resource: callTimeResource, ...callTimeParams },\n {\n onSuccess: otherCallTimeOptions.onSuccess,\n onSettled: otherCallTimeOptions.onSettled,\n onError: otherCallTimeOptions.onError,\n }\n );\n }\n\n const { ids: callTimeIds = ids } = callTimeParams;\n if (!callTimeIds) {\n throw new Error('useDeleteMany mutation requires an array of ids');\n }\n\n // optimistic update as documented in https://react-query-v5.tanstack.com/guides/optimistic-updates\n // except we do it in a mutate wrapper instead of the onMutate callback\n // to have access to success side effects\n\n const queryKeys = [\n [callTimeResource, 'getList'],\n [callTimeResource, 'getInfiniteList'],\n [callTimeResource, 'getMany'],\n [callTimeResource, 'getManyReference'],\n ];\n\n /**\n * Snapshot the previous values via queryClient.getQueriesData()\n *\n * The snapshotData ref will contain an array of tuples [query key, associated data]\n *\n * @example\n * [\n * [['posts', 'getList'], { data: [{ id: 1, title: 'Hello' }], total: 1 }],\n * [['posts', 'getMany'], [{ id: 1, title: 'Hello' }]],\n * ]\n *\n * @see https://tanstack.com/query/v5/docs/react/reference/QueryClient#queryclientgetqueriesdata\n */\n snapshot.current = queryKeys.reduce(\n (prev, queryKey) =>\n prev.concat(queryClient.getQueriesData({ queryKey })),\n [] as Snapshot\n );\n\n // Cancel any outgoing re-fetches (so they don't overwrite our optimistic update)\n await Promise.all(\n snapshot.current.map(([queryKey]) =>\n queryClient.cancelQueries({ queryKey })\n )\n );\n\n // Optimistically update to the new value\n updateCache({\n resource: callTimeResource,\n ids: callTimeIds,\n });\n\n // run the success callbacks during the next tick\n setTimeout(() => {\n if (otherCallTimeOptions.onSuccess) {\n otherCallTimeOptions.onSuccess(\n callTimeIds,\n { resource: callTimeResource, ...callTimeParams },\n { snapshot: snapshot.current }\n );\n } else if (mutationOptions.onSuccess) {\n mutationOptions.onSuccess(\n callTimeIds,\n { resource: callTimeResource, ...callTimeParams },\n { snapshot: snapshot.current }\n );\n }\n }, 0);\n\n if (mode.current === 'optimistic') {\n // call the mutate method without success side effects\n return mutation.mutate(\n { resource: callTimeResource, ...callTimeParams },\n {\n onSettled: otherCallTimeOptions.onSettled,\n onError: otherCallTimeOptions.onError,\n }\n );\n } else {\n // undoable mutation: register the mutation for later\n undoableEventEmitter.once('end', ({ isUndo }) => {\n if (isUndo) {\n // rollback\n snapshot.current.forEach(([key, value]) => {\n queryClient.setQueryData(key, value);\n });\n } else {\n // call the mutate method without success side effects\n mutation.mutate(\n { resource: callTimeResource, ...callTimeParams },\n {\n onSettled: otherCallTimeOptions.onSettled,\n onError: otherCallTimeOptions.onError,\n }\n );\n }\n });\n }\n };\n\n const mutationResult = useMemo(\n () => ({\n isLoading: mutation.isPending,\n ...mutation,\n }),\n [mutation]\n );\n\n return [useEvent(mutate), mutationResult];\n};\n\ntype Snapshot = [key: QueryKey, value: any][];\n\nexport interface UseDeleteManyMutateParams<RecordType extends RaRecord = any> {\n resource?: string;\n ids?: RecordType['id'][];\n meta?: any;\n}\n\nexport type UseDeleteManyOptions<\n RecordType extends RaRecord = any,\n MutationError = unknown,\n> = UseMutationOptions<\n RecordType['id'][],\n MutationError,\n Partial<UseDeleteManyMutateParams<RecordType>>\n> & { mutationMode?: MutationMode };\n\nexport type UseDeleteManyResult<\n RecordType extends RaRecord = any,\n MutationError = unknown,\n> = [\n (\n resource?: string,\n params?: Partial<DeleteManyParams<RecordType>>,\n options?: MutateOptions<\n RecordType['id'][],\n MutationError,\n Partial<UseDeleteManyMutateParams<RecordType>>,\n unknown\n > & { mutationMode?: MutationMode }\n ) => Promise<void>,\n UseMutationResult<\n RecordType['id'][],\n MutationError,\n Partial<DeleteManyParams<RecordType> & { resource?: string }>,\n unknown\n >,\n];\n","import * as React from 'react';\nimport { createContext, ReactElement } from 'react';\n\nexport const PreferencesEditorContext = createContext<\n PreferencesEditorContextValue | undefined\n>(undefined);\n\nexport type PreferencesEditorContextValue = {\n editor: ReactElement | null;\n setEditor: React.Dispatch<React.SetStateAction<ReactElement | null>>;\n preferenceKey: string | null;\n setPreferenceKey: React.Dispatch<React.SetStateAction<string | null>>;\n title: string | null;\n titleOptions?: any;\n setTitle: (title: string, titleOptions?: any) => void;\n isEnabled: boolean;\n enable: () => void;\n disable: () => void;\n path: string | null;\n setPath: (path: string) => void;\n};\n","import * as React from 'react';\nimport { ReactElement, useCallback, useMemo, useState } from 'react';\nimport {\n PreferencesEditorContext,\n PreferencesEditorContextValue,\n} from './PreferencesEditorContext';\n\nexport const PreferencesEditorContextProvider = ({ children }) => {\n const [isEnabled, setIsEnabled] = useState(false);\n const [editor, setEditor] = useState<ReactElement | null>(null);\n const [preferenceKey, setPreferenceKey] = useState<string | null>(null);\n const [path, setPath] = useState<string | null>(null);\n const [title, setTitleString] = useState<string | null>(null);\n const [titleOptions, setTitleOptions] = useState<any>();\n const enable = useCallback(() => setIsEnabled(true), []);\n const disable = useCallback(() => {\n setIsEnabled(false);\n setEditor(null);\n }, []);\n\n const setTitle = useCallback((title: string, titleOptions?: any) => {\n setTitleString(title);\n setTitleOptions(titleOptions);\n }, []);\n\n const context = useMemo<PreferencesEditorContextValue>(() => {\n return {\n editor,\n setEditor,\n preferenceKey,\n setPreferenceKey,\n title,\n titleOptions,\n setTitle,\n isEnabled,\n disable,\n enable,\n path,\n setPath,\n };\n }, [\n disable,\n enable,\n editor,\n preferenceKey,\n isEnabled,\n path,\n setPath,\n title,\n titleOptions,\n setTitle,\n ]);\n\n return (\n <PreferencesEditorContext.Provider value={context}>\n {children}\n </PreferencesEditorContext.Provider>\n );\n};\n","import * as React from 'react';\nimport { createContext, useCallback, useState, useMemo } from 'react';\nimport isEqual from 'lodash/isEqual';\n\nimport { AdminChildren, ResourceDefinition, ResourceOptions } from '../types';\n\nexport type ResourceDefinitions<OptionsType extends ResourceOptions = any> = {\n [name: string]: ResourceDefinition<OptionsType>;\n};\n\nexport type ResourceDefinitionContextValue = {\n definitions: ResourceDefinitions;\n register: (config: ResourceDefinition) => void;\n unregister: (config: ResourceDefinition) => void;\n};\n\nexport const ResourceDefinitionContext =\n createContext<ResourceDefinitionContextValue>({\n definitions: {},\n register: () => {},\n unregister: () => {},\n });\n\n/**\n * Context to store the current resource Definition.\n *\n * Use the useResourceDefinition() hook to read the context.\n *\n * @example\n *\n * import { useResourceDefinition, useTranslate } from 'ra-core';\n *\n * const PostMenuItem = () => {\n * const { name, icon } = useResourceDefinition({ resource: 'posts' });\n *\n * return (\n * <MenuItem>\n * <ListItemIcon>{icon}</ListItemIcon>\n * {name}\n * </MenuItem>\n * );\n * };\n */\nexport const ResourceDefinitionContextProvider = ({\n definitions: defaultDefinitions = {},\n children,\n}: {\n definitions?: ResourceDefinitions;\n children: AdminChildren;\n}) => {\n const [definitions, setState] =\n useState<ResourceDefinitions>(defaultDefinitions);\n\n const register = useCallback((config: ResourceDefinition) => {\n setState(prev =>\n isEqual(prev[config.name], config)\n ? prev\n : {\n ...prev,\n [config.name]: config,\n }\n );\n }, []);\n\n const unregister = useCallback((config: ResourceDefinition) => {\n setState(prev => {\n const { [config.name]: _, ...rest } = prev;\n return rest;\n });\n }, []);\n\n const contextValue = useMemo(\n () => ({ definitions, register, unregister }),\n [definitions] // eslint-disable-line react-hooks/exhaustive-deps\n );\n\n return (\n <ResourceDefinitionContext.Provider value={contextValue}>\n {/* Had to cast here because Provider only accepts ReactNode but we might have a render function */}\n {children as React.ReactNode}\n </ResourceDefinitionContext.Provider>\n );\n};\n","import * as React from 'react';\nimport { useMemo } from 'react';\nimport { QueryClientProvider, QueryClient } from '@tanstack/react-query';\n\nimport { AdminRouter } from '../routing';\nimport { AuthContext, convertLegacyAuthProvider } from '../auth';\nimport {\n DataProviderContext,\n convertLegacyDataProvider,\n defaultDataProvider,\n} from '../dataProvider';\nimport { StoreContextProvider, Store, memoryStore } from '../store';\nimport { PreferencesEditorContextProvider } from '../preferences/PreferencesEditorContextProvider';\nimport { I18nContextProvider } from '../i18n';\nimport { ResourceDefinitionContextProvider } from './ResourceDefinitionContext';\nimport { NotificationContextProvider } from '../notification';\nimport {\n AuthProvider,\n LegacyAuthProvider,\n I18nProvider,\n DataProvider,\n AdminChildren,\n DashboardComponent,\n LegacyDataProvider,\n} from '../types';\n\nconst defaultStore = memoryStore();\n\nexport interface CoreAdminContextProps {\n /**\n * The authentication provider for security and permissions\n *\n * @see https://marmelab.com/react-admin/Authentication.html\n * @example\n * import authProvider from './authProvider';\n *\n * const App = () => (\n * <Admin authProvider={authProvider}>\n * ...\n * </Admin>\n * );\n */\n authProvider?: AuthProvider | LegacyAuthProvider;\n\n /**\n * The base path for all URLs generated by react-admin.\n *\n * @see https://marmelab.com/react-admin/Admin.html#using-react-admin-in-a-sub-path\n * @example\n * import { Admin } from 'react-admin';\n * import { BrowserRouter } from 'react-router-dom';\n * import { dataProvider } from './dataProvider';\n *\n * const App = () => (\n * <BrowserRouter>\n * <Admin basename=\"/admin\" dataProvider={dataProvider}>\n * ...\n * </Admin>\n * </BrowserRouter>\n * );\n */\n basename?: string;\n\n children?: AdminChildren;\n\n /**\n * The component to use for the dashboard page (displayed on the `/` route).\n *\n * @see https://marmelab.com/react-admin/Admin.html#dashboard\n * @example\n * import { Admin } from 'react-admin';\n * import Dashboard from './Dashboard';\n * import { dataProvider } from './dataProvider';\n *\n * const App = () => (\n * <Admin dashboard={Dashboard} dataProvider={dataProvider}>\n * ...\n * </Admin>\n * );\n */\n dashboard?: DashboardComponent;\n\n /**\n * The data provider used to communicate with the API\n *\n * @see https://marmelab.com/react-admin/DataProviders.html\n * @example\n * import { Admin } from 'react-admin';\n * import simpleRestProvider from 'ra-data-simple-rest';\n * const dataProvider = simpleRestProvider('http://path.to.my.api/');\n *\n * const App = () => (\n * <Admin dataProvider={dataProvider}>\n * ...\n * </Admin>\n * );\n */\n dataProvider?: DataProvider | LegacyDataProvider;\n\n /**\n * The adapter for storing user preferences\n *\n * @see https://marmelab.com/react-admin/Admin.html#store\n * @example\n * import { Admin, memoryStore } from 'react-admin';\n *\n * const App = () => (\n * <Admin dataProvider={dataProvider} store={memoryStore()}>\n * ...\n * </Admin>\n * );\n */\n store?: Store;\n\n /**\n * The react-query client\n *\n * @see https://marmelab.com/react-admin/Admin.html#queryclient\n * @example\n * import { Admin } from 'react-admin';\n * import { QueryClient } from '@tanstack/react-query';\n *\n * const queryClient = new QueryClient({\n * defaultOptions: {\n * queries: {\n * retry: false,\n * structuralSharing: false,\n * },\n * mutations: {\n * retryDelay: 10000,\n * },\n * },\n * });\n *\n * const App = () => (\n * <Admin queryClient={queryClient} dataProvider={...}>\n * ...\n * </Admin>\n * );\n */\n queryClient?: QueryClient;\n\n /**\n * The internationalization provider for translations\n *\n * @see https://marmelab.com/react-admin/Translation.html\n * @example\n * // in src/i18nProvider.js\n * import polyglotI18nProvider from 'ra-i18n-polyglot';\n * import fr from 'ra-language-french';\n *\n * export const i18nProvider = polyglotI18nProvider(() => fr, 'fr');\n *\n * // in src/App.js\n * import { Admin } from 'react-admin';\n * import { dataProvider } from './dataProvider';\n * import { i18nProvider } from './i18nProvider';\n *\n * const App = () => (\n * <Admin dataProvider={dataProvider} i18nProvider={i18nProvider}>\n * ...\n * </Admin>\n * );\n */\n i18nProvider?: I18nProvider;\n}\n\nexport const CoreAdminContext = (props: CoreAdminContextProps) => {\n const {\n authProvider,\n basename,\n dataProvider = defaultDataProvider,\n i18nProvider,\n store = defaultStore,\n children,\n queryClient,\n } = props;\n\n if (!dataProvider) {\n throw new Error(`Missing dataProvider prop.\nReact-admin requires a valid dataProvider function to work.`);\n }\n\n const finalQueryClient = useMemo(\n () => queryClient || new QueryClient(),\n [queryClient]\n );\n\n const finalAuthProvider = useMemo(\n () =>\n authProvider instanceof Function\n ? convertLegacyAuthProvider(authProvider)\n : authProvider,\n [authProvider]\n );\n\n const finalDataProvider = useMemo(\n () =>\n dataProvider instanceof Function\n ? convertLegacyDataProvider(dataProvider)\n : dataProvider,\n [dataProvider]\n );\n\n return (\n <AuthContext.Provider value={finalAuthProvider}>\n <DataProviderContext.Provider value={finalDataProvider}>\n <StoreContextProvider value={store}>\n <PreferencesEditorContextProvider>\n <QueryClientProvider client={finalQueryClient}>\n <AdminRouter basename={basename}>\n <I18nContextProvider value={i18nProvider}>\n <NotificationContextProvider>\n <ResourceDefinitionContextProvider>\n {children}\n </ResourceDefinitionContextProvider>\n </NotificationContextProvider>\n </I18nContextProvider>\n </AdminRouter>\n </QueryClientProvider>\n </PreferencesEditorContextProvider>\n </StoreContextProvider>\n </DataProviderContext.Provider>\n </AuthContext.Provider>\n );\n};\n","'use client';\nimport { createContext, Component, createElement, isValidElement, useContext, useState, useMemo, forwardRef } from 'react';\n\nconst ErrorBoundaryContext = createContext(null);\n\nconst initialState = {\n didCatch: false,\n error: null\n};\nclass ErrorBoundary extends Component {\n constructor(props) {\n super(props);\n this.resetErrorBoundary = this.resetErrorBoundary.bind(this);\n this.state = initialState;\n }\n static getDerivedStateFromError(error) {\n return {\n didCatch: true,\n error\n };\n }\n resetErrorBoundary() {\n const {\n error\n } = this.state;\n if (error !== null) {\n var _this$props$onReset, _this$props;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n (_this$props$onReset = (_this$props = this.props).onReset) === null || _this$props$onReset === void 0 ? void 0 : _this$props$onReset.call(_this$props, {\n args,\n reason: \"imperative-api\"\n });\n this.setState(initialState);\n }\n }\n componentDidCatch(error, info) {\n var _this$props$onError, _this$props2;\n (_this$props$onError = (_this$props2 = this.props).onError) === null || _this$props$onError === void 0 ? void 0 : _this$props$onError.call(_this$props2, error, info);\n }\n componentDidUpdate(prevProps, prevState) {\n const {\n didCatch\n } = this.state;\n const {\n resetKeys\n } = this.props;\n\n // There's an edge case where if the thing that triggered the error happens to *also* be in the resetKeys array,\n // we'd end up resetting the error boundary immediately.\n // This would likely trigger a second error to be thrown.\n // So we make sure that we don't check the resetKeys on the first call of cDU after the error is set.\n\n if (didCatch && prevState.error !== null && hasArrayChanged(prevProps.resetKeys, resetKeys)) {\n var _this$props$onReset2, _this$props3;\n (_this$props$onReset2 = (_this$props3 = this.props).onReset) === null || _this$props$onReset2 === void 0 ? void 0 : _this$props$onReset2.call(_this$props3, {\n next: resetKeys,\n prev: prevProps.resetKeys,\n reason: \"keys\"\n });\n this.setState(initialState);\n }\n }\n render() {\n const {\n children,\n fallbackRender,\n FallbackComponent,\n fallback\n } = this.props;\n const {\n didCatch,\n error\n } = this.state;\n let childToRender = children;\n if (didCatch) {\n const props = {\n error,\n resetErrorBoundary: this.resetErrorBoundary\n };\n if (typeof fallbackRender === \"function\") {\n childToRender = fallbackRender(props);\n } else if (FallbackComponent) {\n childToRender = createElement(FallbackComponent, props);\n } else if (fallback === null || isValidElement(fallback)) {\n childToRender = fallback;\n } else {\n throw error;\n }\n }\n return createElement(ErrorBoundaryContext.Provider, {\n value: {\n didCatch,\n error,\n resetErrorBoundary: this.resetErrorBoundary\n }\n }, childToRender);\n }\n}\nfunction hasArrayChanged() {\n let a = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n let b = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n return a.length !== b.length || a.some((item, index) => !Object.is(item, b[index]));\n}\n\nfunction assertErrorBoundaryContext(value) {\n if (value == null || typeof value.didCatch !== \"boolean\" || typeof value.resetErrorBoundary !== \"function\") {\n throw new Error(\"ErrorBoundaryContext not found\");\n }\n}\n\nfunction useErrorBoundary() {\n const context = useContext(ErrorBoundaryContext);\n assertErrorBoundaryContext(context);\n const [state, setState] = useState({\n error: null,\n hasError: false\n });\n const memoized = useMemo(() => ({\n resetBoundary: () => {\n context.resetErrorBoundary();\n setState({\n error: null,\n hasError: false\n });\n },\n showBoundary: error => setState({\n error,\n hasError: true\n })\n }), [context.resetErrorBoundary]);\n if (state.hasError) {\n throw state.error;\n }\n return memoized;\n}\n\nfunction withErrorBoundary(component, errorBoundaryProps) {\n const Wrapped = forwardRef((props, ref) => createElement(ErrorBoundary, errorBoundaryProps, createElement(component, {\n ...props,\n ref\n })));\n\n // Format for display in DevTools\n const name = component.displayName || component.name || \"Unknown\";\n Wrapped.displayName = \"withErrorBoundary(\".concat(name, \")\");\n return Wrapped;\n}\n\nexport { ErrorBoundary, ErrorBoundaryContext, useErrorBoundary, withErrorBoundary };\n","import { useContext } from 'react';\n\nimport { ResourceDefinitionContext } from './ResourceDefinitionContext';\n\nexport const useResourceDefinitionContext = () =>\n useContext(ResourceDefinitionContext);\n","import * as React from 'react';\nimport {\n Children,\n Dispatch,\n Fragment,\n ReactElement,\n ReactNode,\n SetStateAction,\n useCallback,\n useEffect,\n useState,\n} from 'react';\nimport { useLogout, usePermissions } from '../auth';\nimport { useSafeSetState } from '../util';\nimport {\n AdminChildren,\n RenderResourcesFunction,\n ResourceDefinition,\n ResourceProps,\n} from '../types';\nimport { CustomRoutesProps } from './CustomRoutes';\nimport { useResourceDefinitionContext } from './useResourceDefinitionContext';\n\n/**\n * This hook inspects the CoreAdminRouter children and returns them separated in three groups:\n * - Custom routes without layout\n * - Custom routes with layout\n * - Resources\n *\n * It also returns a status:\n * - loading: still loading children from a function child\n * - empty: no resources were provided among children\n * - ready: admin is ready to be rendered\n *\n * @example\n * const {\n * customRoutesWithLayout,\n * customRoutesWithoutLayout,\n * resources,\n * status,\n * } = useConfigureAdminRouterFromChildren(children);\n */\nexport const useConfigureAdminRouterFromChildren = (\n children: AdminChildren\n): RoutesAndResources & { status: AdminRouterStatus } => {\n const { permissions, isPending } = usePermissions();\n\n // Whenever children are updated, update our custom routes and resources\n const [routesAndResources, status] = useRoutesAndResourcesFromChildren(\n children,\n permissions,\n isPending\n );\n\n // Whenever the resources change, we must ensure they're all registered\n useRegisterResources(routesAndResources.resources, permissions);\n\n return {\n customRoutesWithLayout: routesAndResources.customRoutesWithLayout,\n customRoutesWithoutLayout: routesAndResources.customRoutesWithoutLayout,\n status,\n resources: routesAndResources.resources,\n };\n};\n\n/**\n * A hook that determine the routes and resources from React nodes and permissions.\n * Returns a tuple with the routes and resources as a single object, and the status.\n * @param children React nodes to inspect\n * @param permissions The permissions\n */\nconst useRoutesAndResourcesFromChildren = (\n children: AdminChildren,\n permissions: any,\n isLoading: boolean\n): [RoutesAndResources, AdminRouterStatus] => {\n // Gather custom routes and resources that were declared as direct children of CoreAdminRouter\n // e.g. Not returned from the child function (if any)\n // We need to know right away whether some resources were declared to correctly\n // initialize the status at the next stop\n const doLogout = useLogout();\n const [routesAndResources, setRoutesAndResources, mergeRoutesAndResources] =\n useRoutesAndResourcesState(getRoutesAndResourceFromNodes(children));\n\n const [status, setStatus] = useSafeSetState<AdminRouterStatus>(() =>\n getStatus({\n children,\n ...routesAndResources,\n })\n );\n if (!status) {\n throw new Error('Status should be defined');\n }\n\n useEffect(() => {\n const resolveChildFunction = async (\n childFunc: RenderResourcesFunction\n ) => {\n try {\n const childrenFuncResult = childFunc(permissions);\n if ((childrenFuncResult as Promise<ReactNode>)?.then) {\n (childrenFuncResult as Promise<ReactNode>).then(\n resolvedChildren => {\n mergeRoutesAndResources(\n getRoutesAndResourceFromNodes(resolvedChildren)\n );\n setStatus('ready');\n }\n );\n } else {\n mergeRoutesAndResources(\n getRoutesAndResourceFromNodes(\n childrenFuncResult as ReactNode\n )\n );\n setStatus('ready');\n }\n } catch (error) {\n console.error(error);\n doLogout();\n }\n };\n\n const updateFromChildren = async () => {\n const functionChild = getSingleChildFunction(children);\n const newRoutesAndResources =\n getRoutesAndResourceFromNodes(children);\n setRoutesAndResources(newRoutesAndResources);\n setStatus(\n !!functionChild\n ? 'loading'\n : newRoutesAndResources.resources.length > 0 ||\n newRoutesAndResources.customRoutesWithLayout.length >\n 0 ||\n newRoutesAndResources.customRoutesWithoutLayout.length >\n 0\n ? 'ready'\n : 'empty'\n );\n\n if (functionChild) {\n resolveChildFunction(functionChild);\n }\n };\n if (!isLoading) {\n updateFromChildren();\n }\n }, [\n children,\n doLogout,\n isLoading,\n mergeRoutesAndResources,\n permissions,\n setRoutesAndResources,\n setStatus,\n ]);\n\n return [routesAndResources, status];\n};\n\n/*\n * A hook that store the routes and resources just like setState but also provides an additional function\n * to merge new routes and resources with the existing ones.\n */\nconst useRoutesAndResourcesState = (\n initialState: RoutesAndResources\n): [\n RoutesAndResources,\n Dispatch<SetStateAction<RoutesAndResources>>,\n (newRoutesAndResources: RoutesAndResources) => void,\n] => {\n const [routesAndResources, setRoutesAndResources] = useState(initialState);\n\n const mergeRoutesAndResources = useCallback(\n (newRoutesAndResources: RoutesAndResources) => {\n setRoutesAndResources(previous => ({\n customRoutesWithLayout: previous.customRoutesWithLayout.concat(\n newRoutesAndResources.customRoutesWithLayout\n ),\n customRoutesWithoutLayout:\n previous.customRoutesWithoutLayout.concat(\n newRoutesAndResources.customRoutesWithoutLayout\n ),\n resources: previous.resources.concat(\n newRoutesAndResources.resources\n ),\n }));\n },\n []\n );\n\n return [routesAndResources, setRoutesAndResources, mergeRoutesAndResources];\n};\n\n/**\n * A hook that register resources and unregister them when the calling component is unmounted.\n * @param resources: An array of Resource elements\n * @param permissions: The permissions\n */\nconst useRegisterResources = (\n resources: (ReactElement & ResourceWithRegisterFunction)[],\n permissions: any\n) => {\n const { register, unregister } = useResourceDefinitionContext();\n\n useEffect(() => {\n resources.forEach(resource => {\n if (\n typeof (\n resource.type as unknown as ResourceWithRegisterFunction\n ).registerResource === 'function'\n ) {\n const definition = (\n resource.type as unknown as ResourceWithRegisterFunction\n ).registerResource(resource.props, permissions);\n register(definition);\n } else {\n throw new Error(\n 'When using a custom Resource element, it must have a static registerResource method accepting its props and returning a ResourceDefinition'\n );\n }\n });\n return () => {\n resources.forEach(resource => {\n if (\n typeof (\n resource.type as unknown as ResourceWithRegisterFunction\n ).registerResource === 'function'\n ) {\n const definition = (\n resource.type as unknown as ResourceWithRegisterFunction\n ).registerResource(resource.props, permissions);\n unregister(definition);\n } else {\n throw new Error(\n 'When using a custom Resource element, it must have a static registerResource method accepting its props and returning a ResourceDefinition'\n );\n }\n });\n };\n }, [permissions, register, resources, unregister]);\n};\n\nconst getStatus = ({\n children,\n resources,\n customRoutesWithLayout,\n customRoutesWithoutLayout,\n}: {\n children: AdminChildren;\n resources: ReactNode[];\n customRoutesWithLayout: ReactNode[];\n customRoutesWithoutLayout: ReactNode[];\n}): AdminRouterStatus => {\n return getSingleChildFunction(children)\n ? 'loading'\n : resources.length > 0 ||\n customRoutesWithLayout.length > 0 ||\n customRoutesWithoutLayout.length > 0\n ? 'ready'\n : 'empty';\n};\n\n/**\n * Inspect the children of a CoreAdminRouter to see if one of them is a function.\n * Throws an error if there are more than one function child.\n * Returns the function child if one was provided, or null otherwise.\n */\nconst getSingleChildFunction = (\n children: AdminChildren\n): RenderResourcesFunction | null => {\n const childrenArray = Array.isArray(children) ? children : [children];\n\n const functionChildren = childrenArray.filter(\n child => typeof child === 'function'\n );\n\n if (functionChildren.length > 1) {\n throw new Error(\n 'You can only provide one function child to AdminRouter'\n );\n }\n\n if (functionChildren.length === 0) {\n return null;\n }\n\n return functionChildren[0] as RenderResourcesFunction;\n};\n\n/**\n * Inspect the children and return an object with the following keys:\n * - customRoutesWithLayout: an array of the custom routes to render inside the layout\n * - customRoutesWithoutLayout: an array of custom routes to render outside the layout\n * - resources: an array of resources elements\n */\nconst getRoutesAndResourceFromNodes = (\n children: AdminChildren\n): RoutesAndResources => {\n const customRoutesWithLayout: ReactNode[] = [];\n const customRoutesWithoutLayout: ReactNode[] = [];\n const resources: (ReactElement & ResourceWithRegisterFunction)[] = [];\n\n if (typeof children === 'function') {\n return {\n customRoutesWithLayout: [],\n customRoutesWithoutLayout: [],\n resources: [],\n };\n }\n // @ts-ignore\n Children.forEach(children, element => {\n if (!React.isValidElement(element)) {\n // Ignore non-elements. This allows people to more easily inline\n // conditionals in their route config.\n return;\n }\n if (element.type === Fragment) {\n const customRoutesFromFragment = getRoutesAndResourceFromNodes(\n element.props.children\n );\n customRoutesWithLayout.push(\n ...customRoutesFromFragment.customRoutesWithLayout\n );\n customRoutesWithoutLayout.push(\n ...customRoutesFromFragment.customRoutesWithoutLayout\n );\n resources.push(...customRoutesFromFragment.resources);\n }\n\n if ((element.type as any).raName === 'CustomRoutes') {\n const customRoutesElement =\n element as ReactElement<CustomRoutesProps>;\n\n if (customRoutesElement.props.noLayout) {\n customRoutesWithoutLayout.push(\n customRoutesElement.props.children\n );\n } else {\n customRoutesWithLayout.push(customRoutesElement.props.children);\n }\n } else if ((element.type as any).raName === 'Resource') {\n resources.push(\n element as ReactElement & ResourceWithRegisterFunction\n );\n }\n });\n\n return {\n customRoutesWithLayout,\n customRoutesWithoutLayout,\n resources,\n };\n};\n\ntype RoutesAndResources = {\n customRoutesWithLayout: ReactNode[];\n customRoutesWithoutLayout: ReactNode[];\n resources: (ReactElement & ResourceWithRegisterFunction)[];\n};\n\ntype ResourceWithRegisterFunction = {\n registerResource: (\n props: ResourceProps,\n permissions: any\n ) => ResourceDefinition;\n};\n\ntype AdminRouterStatus = 'loading' | 'empty' | 'ready';\n","import { createContext, useContext } from 'react';\n\nexport const HasDashboardContext = createContext<boolean>(false);\n\nexport const HasDashboardContextProvider = HasDashboardContext.Provider;\n\n/**\n * Returns true if the app has a dashboard defined at the <Admin> level.\n *\n * @private\n * @example\n * import { useHasDashboard } from 'react-admin';\n *\n * const MyMenu = () => {\n * const hasDashboard = useHasDashboard();\n * return (\n * <Menu>\n * {hasDashboard && <DashboardMenuItem />}\n * <MenuItemLink to=\"/posts\" />\n * <MenuItemLink to=\"/comments\" />\n * </Menu>\n * );\n * }\n */\nexport const useHasDashboard = () => useContext(HasDashboardContext);\n","import * as React from 'react';\nimport { useState, useEffect, Children, ComponentType } from 'react';\nimport { Navigate, Route, Routes } from 'react-router-dom';\n\nimport { WithPermissions, useCheckAuth, LogoutOnMount } from '../auth';\nimport { useScrollToTop, useCreatePath } from '../routing';\nimport {\n AdminChildren,\n CatchAllComponent,\n DashboardComponent,\n LayoutComponent,\n LoadingComponent,\n} from '../types';\nimport { useConfigureAdminRouterFromChildren } from './useConfigureAdminRouterFromChildren';\nimport { HasDashboardContextProvider } from './HasDashboardContext';\n\nexport const CoreAdminRoutes = (props: CoreAdminRoutesProps) => {\n useScrollToTop();\n const createPath = useCreatePath();\n\n const {\n customRoutesWithLayout,\n customRoutesWithoutLayout,\n status,\n resources,\n } = useConfigureAdminRouterFromChildren(props.children);\n\n const {\n layout: Layout,\n catchAll: CatchAll,\n dashboard,\n loading: LoadingPage,\n requireAuth,\n ready: Ready,\n } = props;\n\n const [onlyAnonymousRoutes, setOnlyAnonymousRoutes] = useState(requireAuth);\n const [checkAuthLoading, setCheckAuthLoading] = useState(requireAuth);\n const checkAuth = useCheckAuth();\n\n useEffect(() => {\n if (requireAuth) {\n // do not log the user out on failure to allow access to custom routes with no layout\n // for other routes, the LogoutOnMount component will log the user out\n checkAuth(undefined, false)\n .then(() => {\n setOnlyAnonymousRoutes(false);\n })\n .catch(() => {})\n .finally(() => {\n setCheckAuthLoading(false);\n });\n }\n }, [checkAuth, requireAuth]);\n\n if (status === 'empty') {\n if (!Ready) {\n throw new Error(\n 'The admin is empty. Please provide an empty component, or pass Resource or CustomRoutes as children.'\n );\n }\n return <Ready />;\n }\n\n // Note: custom routes with no layout are always rendered, regardless of the auth status\n\n if (status === 'loading' || checkAuthLoading) {\n return (\n <Routes>\n {customRoutesWithoutLayout}\n <Route\n path=\"*\"\n element={\n <div style={{ height: '100vh' }}>\n <LoadingPage />\n </div>\n }\n />\n </Routes>\n );\n }\n\n if (onlyAnonymousRoutes) {\n return (\n <Routes>\n {customRoutesWithoutLayout}\n <Route path=\"*\" element={<LogoutOnMount />} />\n </Routes>\n );\n }\n\n return (\n <Routes>\n {/*\n Render the custom routes that were outside the child function.\n */}\n {customRoutesWithoutLayout}\n <Route\n path=\"/*\"\n element={\n <HasDashboardContextProvider value={!!dashboard}>\n <Layout>\n <Routes>\n {customRoutesWithLayout}\n {Children.map(resources, resource => (\n <Route\n key={resource.props.name}\n path={`${resource.props.name}/*`}\n element={resource}\n />\n ))}\n <Route\n path=\"/\"\n element={\n dashboard ? (\n <WithPermissions\n authParams={defaultAuthParams}\n component={dashboard}\n />\n ) : resources.length > 0 ? (\n <Navigate\n to={createPath({\n resource:\n resources[0].props.name,\n type: 'list',\n })}\n />\n ) : null\n }\n />\n <Route path=\"*\" element={<CatchAll />} />\n </Routes>\n </Layout>\n </HasDashboardContextProvider>\n }\n />\n </Routes>\n );\n};\n\nexport interface CoreAdminRoutesProps {\n dashboard?: DashboardComponent;\n layout: LayoutComponent;\n catchAll: CatchAllComponent;\n children?: AdminChildren;\n loading: LoadingComponent;\n requireAuth?: boolean;\n ready?: ComponentType;\n}\n\nconst defaultAuthParams = { params: { route: 'dashboard' } };\n","import { createContext, useContext } from 'react';\nimport type { TitleComponent } from '../types';\n\nexport const DefaultTitleContext = createContext<TitleComponent>('React Admin');\n\nexport const DefaultTitleContextProvider = DefaultTitleContext.Provider;\n\n/**\n * Get the application title defined at the `<Admin>` level\n *\n * @example\n * import { useDefaultTitle } from 'react-admin';\n *\n * const AppBar = () => {\n * const defaultTitle = useDefaultTitle();\n * return <span>{defaultTitle}</span>;\n * }\n */\nexport const useDefaultTitle = () => useContext(DefaultTitleContext);\n","import * as React from 'react';\nimport {\n ComponentType,\n useEffect,\n isValidElement,\n createElement,\n useState,\n ErrorInfo,\n ReactElement,\n} from 'react';\nimport { Routes, Route } from 'react-router-dom';\nimport { ErrorBoundary } from 'react-error-boundary';\n\nimport { CoreAdminRoutes } from './CoreAdminRoutes';\nimport { useResetErrorBoundaryOnLocationChange } from '../routing';\nimport { Ready } from '../util';\nimport { DefaultTitleContextProvider } from './DefaultTitleContext';\nimport type {\n TitleComponent,\n LoginComponent,\n LayoutComponent,\n AdminChildren,\n CatchAllComponent,\n DashboardComponent,\n LoadingComponent,\n} from '../types';\n\nexport type ChildrenFunction = () => ComponentType[];\n\nconst DefaultLayout = ({ children }: { children: React.ReactNode }) => (\n <>{children}</>\n);\nconst DefaultError = ({ error, errorInfo, resetErrorBoundary }) => {\n useResetErrorBoundaryOnLocationChange(resetErrorBoundary);\n return (\n <div>\n <h1>Error</h1>\n <pre>\n {error.message}\n {errorInfo?.componentStack}\n </pre>\n </div>\n );\n};\n\nexport interface CoreAdminUIProps {\n /**\n * The content displayed when the user visits the /auth-callback page, used for redirection by third-party authentication providers\n *\n * @see https://marmelab.com/react-admin/Admin.html#authcallbackpage\n * @example\n * import { Admin } from 'react-admin';\n * import { dataProvider } from './dataProvider';\n * import { authProvider } from './authProvider';\n * import MyAuthCallbackPage from './MyAuthCallbackPage';\n *\n * const App = () => (\n * <Admin\n * authCallbackPage={MyAuthCallbackPage}\n * authProvider={authProvider}\n * dataProvider={dataProvider}\n * >\n * ...\n * </Admin>\n * );\n */\n authCallbackPage?: ComponentType | boolean;\n\n /**\n * A catch-all react component to display when the URL does not match any\n *\n * @see https://marmelab.com/react-admin/Admin.html#catchall\n * @example\n * // in src/NotFound.js\n * import Card from '@mui/material/Card';\n * import CardContent from '@mui/material/CardContent';\n * import { Title } from 'react-admin';\n *\n * export const NotFound = () => (\n * <Card>\n * <Title title=\"Not Found\" />\n * <CardContent>\n * <h1>404: Page not found</h1>\n * </CardContent>\n * </Card>\n * );\n *\n * // in src/App.js\n * import { Admin } from 'react-admin';\n * import { dataProvider } from './dataProvider';\n * import { NotFound } from './NotFound';\n *\n * const App = () => (\n * <Admin catchAll={NotFound} dataProvider={dataProvider}>\n * ...\n * </Admin>\n * );\n */\n catchAll?: CatchAllComponent;\n\n children?: AdminChildren;\n\n /**\n * The component to use for the dashboard page (displayed on the `/` route).\n *\n * @see https://marmelab.com/react-admin/Admin.html#dashboard\n * @example\n * import { Admin } from 'react-admin';\n * import Dashboard from './Dashboard';\n * import { dataProvider } from './dataProvider';\n *\n * const App = () => (\n * <Admin dashboard={Dashboard} dataProvider={dataProvider}>\n * ...\n * </Admin>\n * );\n */\n dashboard?: DashboardComponent;\n\n /**\n * Set to true to disable anonymous telemetry collection\n *\n * @see https://marmelab.com/react-admin/Admin.html#disabletelemetry\n * @example\n * import { Admin } from 'react-admin';\n * import { dataProvider } from './dataProvider';\n *\n * const App = () => (\n * <Admin disableTelemetry dataProvider={dataProvider}>\n * ...\n * </Admin>\n * );\n */\n disableTelemetry?: boolean;\n\n /**\n * The component displayed when an error is caught in a child component\n * @see https://marmelab.com/react-admin/Admin.html#error\n * @example\n * import { Admin } from 'react-admin';\n * import { MyError } from './error';\n *\n * const App = () => (\n * <Admin error={MyError}>\n * ...\n * </Admin>\n * );\n */\n error?: ({\n errorInfo,\n error,\n resetErrorBoundary,\n }: {\n errorInfo?: ErrorInfo;\n error?: Error;\n resetErrorBoundary?: (args) => void;\n }) => ReactElement;\n\n /**\n * The main app layout component\n *\n * @see https://marmelab.com/react-admin/Admin.html#layout\n * @example\n * import { Admin, Layout } from 'react-admin';\n *\n * const MyLayout = ({ children }) => (\n * <Layout appBarAlwaysOn>\n * {children}\n * </Layout>\n * );\n *\n * export const App = () => (\n * <Admin dataProvider={dataProvider} layout={MyLayout}>\n * ...\n * </Admin>\n * );\n */\n layout?: LayoutComponent;\n\n /**\n * The component displayed while fetching the auth provider if the admin child is an async function\n */\n loading?: LoadingComponent;\n\n /**\n * The component displayed when the user visits the /login page\n * @see https://marmelab.com/react-admin/Admin.html#loginpage\n * @example\n * import { Admin } from 'react-admin';\n * import { dataProvider } from './dataProvider';\n * import { authProvider } from './authProvider';\n * import MyLoginPage from './MyLoginPage';\n *\n * const App = () => (\n * <Admin\n * loginPage={MyLoginPage}\n * authProvider={authProvider}\n * dataProvider={dataProvider}\n * >\n * ...\n * </Admin>\n * );\n */\n loginPage?: LoginComponent | boolean;\n\n /**\n * Flag to require authentication for all routes. Defaults to false.\n *\n * @see https://marmelab.com/react-admin/Admin.html#requireauth\n * @example\n * import { Admin } from 'react-admin';\n * import { dataProvider } from './dataProvider';\n * import { authProvider } from './authProvider';\n *\n * const App = () => (\n * <Admin\n * requireAuth\n * authProvider={authProvider}\n * dataProvider={dataProvider}\n * >\n * ...\n * </Admin>\n * );\n */\n requireAuth?: boolean;\n\n /**\n * The page to display when the admin has no Resource children\n *\n * @see https://marmelab.com/react-admin/Admin.html#ready\n * @example\n * import { Admin } from 'react-admin';\n *\n * const Ready = () => (\n * <div>\n * <h1>Admin ready</h1>\n * <p>You can now add resources</p>\n * </div>\n * )\n *\n * const App = () => (\n * <Admin ready={Ready}>\n * ...\n * </Admin>\n * );\n */\n ready?: ComponentType;\n\n /**\n * The title of the error page\n * @see https://marmelab.com/react-admin/Admin.html#title\n * @example\n * import { Admin } from 'react-admin';\n * import { dataProvider } from './dataProvider';\n *\n * const App = () => (\n * <Admin title=\"My Admin\" dataProvider={dataProvider}>\n * ...\n * </Admin>\n * );\n */\n title?: TitleComponent;\n}\n\nexport const CoreAdminUI = (props: CoreAdminUIProps) => {\n const [errorInfo, setErrorInfo] = useState<ErrorInfo>({});\n const {\n authCallbackPage: LoginCallbackPage = false,\n catchAll = Noop,\n children,\n dashboard,\n disableTelemetry = false,\n error: ErrorComponent = DefaultError,\n layout = DefaultLayout,\n loading = Noop,\n loginPage: LoginPage = false,\n ready = Ready,\n requireAuth = false,\n title = 'React Admin',\n } = props;\n\n useEffect(() => {\n if (\n disableTelemetry ||\n process.env.NODE_ENV !== 'production' ||\n typeof window === 'undefined' ||\n typeof window.location === 'undefined' ||\n typeof Image === 'undefined'\n ) {\n return;\n }\n const img = new Image();\n img.src = `https://react-admin-telemetry.marmelab.com/react-admin-telemetry?domain=${window.location.hostname}`;\n }, [disableTelemetry]);\n\n const handleError = (error: Error, info: ErrorInfo) => setErrorInfo(info);\n\n return (\n <DefaultTitleContextProvider value={title}>\n <ErrorBoundary\n onError={handleError}\n fallbackRender={({ error, resetErrorBoundary }) => (\n <div style={{ minHeight: '100vh' }}>\n <ErrorComponent\n error={error}\n errorInfo={errorInfo}\n resetErrorBoundary={resetErrorBoundary}\n />\n </div>\n )}\n >\n <Routes>\n {LoginPage !== false && LoginPage !== true ? (\n <Route\n path=\"/login\"\n element={createOrGetElement(LoginPage)}\n />\n ) : null}\n\n {LoginCallbackPage !== false &&\n LoginCallbackPage !== true ? (\n <Route\n path=\"/auth-callback\"\n element={createOrGetElement(LoginCallbackPage)}\n />\n ) : null}\n\n <Route\n path=\"/*\"\n element={\n <CoreAdminRoutes\n catchAll={catchAll}\n dashboard={dashboard}\n layout={layout}\n loading={loading}\n requireAuth={requireAuth}\n ready={ready}\n >\n {children}\n </CoreAdminRoutes>\n }\n />\n </Routes>\n </ErrorBoundary>\n </DefaultTitleContextProvider>\n );\n};\n\nconst createOrGetElement = el => (isValidElement(el) ? el : createElement(el));\n\nconst Noop = () => null;\n","import { createContext } from 'react';\n\n/**\n * Context to store the current resource name.\n *\n * Use the useResource() hook to read the context. That's what most components do in react-admin.\n *\n * @example\n *\n * import { useResourceContext, useTranslate } from 'ra-core';\n *\n * const MyCustomEditTitle = props => {\n * const name = useResourceContext(props);\n *\n * return (\n * <h1>{translate(`${name}.name`)}</h1>\n * );\n * };\n */\nexport const ResourceContext = createContext<ResourceContextValue>(undefined);\n\nexport type ResourceContextValue = string | undefined;\n","import * as React from 'react';\nimport { ReactNode } from 'react';\nimport { ResourceContext, ResourceContextValue } from './ResourceContext';\n\n/**\n * Create a Resource Context with the resource name\n *\n * Some react-admin components rely on the resource name to be available in the context.\n * This component provides it.\n *\n * If the value is empty, the context is not provided.\n *\n * @param {string} value the resource name\n * @example\n *\n * import { ResourceContextProvider } from 'react-admin';\n *\n * const MyComponent = () => (\n * <ResourceContextProvider value=\"posts\">\n * <MyResourceSpecificComponent />\n * </ResourceContextProvider>\n * );\n */\nexport const ResourceContextProvider = ({\n children,\n value,\n}: {\n children: ReactNode;\n value?: ResourceContextValue;\n}) =>\n value ? (\n <ResourceContext.Provider value={value}>\n {children}\n </ResourceContext.Provider>\n ) : (\n children\n );\n","import * as React from 'react';\nimport { ReactElement } from 'react';\nimport { ResourceContextValue } from './ResourceContext';\nimport { ResourceContextProvider } from './ResourceContextProvider';\n\n/**\n * Wrap children with a ResourceContext provider only if the value is defined.\n *\n * Allows a component to work outside of a resource context.\n *\n * @example\n *\n * import { OptionalResourceContextProvider, EditButton } from 'react-admin';\n *\n * const Button = ({ resource }) => (\n * <OptionalResourceContextProvider value={resource}>\n * <EditButton />\n * </OptionalResourceContextProvider>\n * );\n */\nexport const OptionalResourceContextProvider = ({\n value,\n children,\n}: {\n value?: ResourceContextValue;\n children: ReactElement;\n}) =>\n value ? (\n <ResourceContextProvider value={value}>\n {children}\n </ResourceContextProvider>\n ) : (\n children\n );\n","/**\n * @license React\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var b=Symbol.for(\"react.element\"),c=Symbol.for(\"react.portal\"),d=Symbol.for(\"react.fragment\"),e=Symbol.for(\"react.strict_mode\"),f=Symbol.for(\"react.profiler\"),g=Symbol.for(\"react.provider\"),h=Symbol.for(\"react.context\"),k=Symbol.for(\"react.server_context\"),l=Symbol.for(\"react.forward_ref\"),m=Symbol.for(\"react.suspense\"),n=Symbol.for(\"react.suspense_list\"),p=Symbol.for(\"react.memo\"),q=Symbol.for(\"react.lazy\"),t=Symbol.for(\"react.offscreen\"),u;u=Symbol.for(\"react.module.reference\");\nfunction v(a){if(\"object\"===typeof a&&null!==a){var r=a.$$typeof;switch(r){case b:switch(a=a.type,a){case d:case f:case e:case m:case n:return a;default:switch(a=a&&a.$$typeof,a){case k:case h:case l:case q:case p:case g:return a;default:return r}}case c:return r}}}exports.ContextConsumer=h;exports.ContextProvider=g;exports.Element=b;exports.ForwardRef=l;exports.Fragment=d;exports.Lazy=q;exports.Memo=p;exports.Portal=c;exports.Profiler=f;exports.StrictMode=e;exports.Suspense=m;\nexports.SuspenseList=n;exports.isAsyncMode=function(){return!1};exports.isConcurrentMode=function(){return!1};exports.isContextConsumer=function(a){return v(a)===h};exports.isContextProvider=function(a){return v(a)===g};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===b};exports.isForwardRef=function(a){return v(a)===l};exports.isFragment=function(a){return v(a)===d};exports.isLazy=function(a){return v(a)===q};exports.isMemo=function(a){return v(a)===p};\nexports.isPortal=function(a){return v(a)===c};exports.isProfiler=function(a){return v(a)===f};exports.isStrictMode=function(a){return v(a)===e};exports.isSuspense=function(a){return v(a)===m};exports.isSuspenseList=function(a){return v(a)===n};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===d||a===f||a===e||a===m||a===n||a===t||\"object\"===typeof a&&null!==a&&(a.$$typeof===q||a.$$typeof===p||a.$$typeof===g||a.$$typeof===h||a.$$typeof===l||a.$$typeof===u||void 0!==a.getModuleId)?!0:!1};exports.typeOf=v;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","import * as React from 'react';\nimport { ComponentType, ReactElement, isValidElement } from 'react';\nimport { Route, Routes } from 'react-router-dom';\nimport { isValidElementType } from 'react-is';\n\nimport { ResourceProps } from '../types';\nimport { ResourceContextProvider } from './ResourceContextProvider';\nimport { RestoreScrollPosition } from '../routing/RestoreScrollPosition';\n\nexport const Resource = (props: ResourceProps) => {\n const { create, edit, list, name, show } = props;\n\n return (\n <ResourceContextProvider value={name}>\n <Routes>\n {create && (\n <Route path=\"create/*\" element={getElement(create)} />\n )}\n {show && <Route path=\":id/show/*\" element={getElement(show)} />}\n {edit && <Route path=\":id/*\" element={getElement(edit)} />}\n {list && (\n <Route\n path=\"/*\"\n element={\n <RestoreScrollPosition\n storeKey={`${name}.list.scrollPosition`}\n >\n {getElement(list)}\n </RestoreScrollPosition>\n }\n />\n )}\n {props.children}\n </Routes>\n </ResourceContextProvider>\n );\n};\n\nconst getElement = (ElementOrComponent: ComponentType<any> | ReactElement) => {\n if (isValidElement(ElementOrComponent)) {\n return ElementOrComponent;\n }\n\n if (isValidElementType(ElementOrComponent)) {\n const Element = ElementOrComponent as ComponentType<any>;\n return <Element />;\n }\n\n return null;\n};\n\nResource.raName = 'Resource';\n\nResource.registerResource = ({\n create,\n edit,\n icon,\n list,\n name,\n options,\n show,\n recordRepresentation,\n hasCreate,\n hasEdit,\n hasShow,\n}: ResourceProps) => ({\n name,\n options,\n hasList: !!list,\n hasCreate: !!create || !!hasCreate,\n hasEdit: !!edit || !!hasEdit,\n hasShow: !!show || !!hasShow,\n icon,\n recordRepresentation,\n});\n","import { createContext, useContext } from 'react';\n\nexport type SourceContextValue = {\n /*\n * Returns the source for a field or input, modified according to the context.\n */\n getSource: (source: string) => string;\n /*\n * Returns the label for a field or input, modified according to the context. Returns a translation key.\n */\n getLabel: (source: string) => string;\n};\n\n/**\n * Context that provides a function that accept a source and return getters for the modified source and label.\n *\n * This allows some special inputs to prefix or suffix the source of their children.\n *\n * @example\n * const sourceContext = {\n * getSource: source => `coordinates.${source}`,\n * getLabel: source => `resources.posts.fields.${source}`,\n * }\n * const CoordinatesInput = () => {\n * return (\n * <SourceContextProvider value={sourceContext}>\n * <TextInput source=\"lat\" />\n * <TextInput source=\"lng\" />\n * </SourceContextProvider>\n * );\n * };\n */\nexport const SourceContext = createContext<SourceContextValue | undefined>(\n undefined\n);\n\nconst defaultContextValue = {\n getSource: (source: string) => source,\n getLabel: (source: string) => source,\n};\nexport const SourceContextProvider = SourceContext.Provider;\n\nexport const useSourceContext = () => {\n const context = useContext(SourceContext);\n if (!context) {\n return defaultContextValue;\n }\n return context;\n};\n\nexport const useOptionalSourceContext = () => useContext(SourceContext);\n","import type { ResourceOptions } from '../types';\nimport type { ResourceDefinitions } from './ResourceDefinitionContext';\nimport { useResourceDefinitionContext } from './useResourceDefinitionContext';\n\n/**\n * Get the definition of the all resources\n *\n * @example\n *\n * const definitions = useResourceDefinitions();\n * console.log(definitions.posts);\n * // {\n * // name: 'posts',\n * // hasList: true,\n * // hasEdit: true,\n * // hasShow: true,\n * // hasCreate: true,\n * // options: {},\n * // icon: PostIcon,\n * // recordRepresentation: 'title',\n * // }\n */\nexport const useResourceDefinitions = <\n OptionsType extends ResourceOptions = any,\n>(): ResourceDefinitions<OptionsType> =>\n useResourceDefinitionContext().definitions;\n","\"use strict\";\n/*!\n * inflection\n * Copyright(c) 2011 Ben Lin <ben@dreamerslab.com>\n * MIT Licensed\n *\n * @fileoverview\n * A port of inflection-js to node.js module.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.transform = exports.ordinalize = exports.foreignKey = exports.classify = exports.tableize = exports.demodulize = exports.titleize = exports.dasherize = exports.capitalize = exports.humanize = exports.underscore = exports.camelize = exports.inflect = exports.singularize = exports.pluralize = void 0;\n/**\n * @description This is a list of nouns that use the same form for both singular and plural.\n * This list should remain entirely in lower case to correctly match Strings.\n */\nconst uncountableWords = [\n // 'access',\n 'accommodation',\n 'adulthood',\n 'advertising',\n 'advice',\n 'aggression',\n 'aid',\n 'air',\n 'aircraft',\n 'alcohol',\n 'anger',\n 'applause',\n 'arithmetic',\n // 'art',\n 'assistance',\n 'athletics',\n // 'attention',\n 'bacon',\n 'baggage',\n // 'ballet',\n // 'beauty',\n 'beef',\n // 'beer',\n // 'behavior',\n 'biology',\n // 'billiards',\n 'blood',\n 'botany',\n // 'bowels',\n 'bread',\n // 'business',\n 'butter',\n 'carbon',\n 'cardboard',\n 'cash',\n 'chalk',\n 'chaos',\n 'chess',\n 'crossroads',\n 'countryside',\n // 'damage',\n 'dancing',\n // 'danger',\n 'deer',\n // 'delight',\n // 'dessert',\n 'dignity',\n 'dirt',\n // 'distribution',\n 'dust',\n 'economics',\n 'education',\n 'electricity',\n // 'employment',\n // 'energy',\n 'engineering',\n 'enjoyment',\n // 'entertainment',\n 'envy',\n 'equipment',\n 'ethics',\n 'evidence',\n 'evolution',\n // 'failure',\n // 'faith',\n 'fame',\n 'fiction',\n // 'fish',\n 'flour',\n 'flu',\n 'food',\n // 'freedom',\n // 'fruit',\n 'fuel',\n 'fun',\n // 'funeral',\n 'furniture',\n 'gallows',\n 'garbage',\n 'garlic',\n // 'gas',\n 'genetics',\n // 'glass',\n 'gold',\n 'golf',\n 'gossip',\n // 'grass',\n 'gratitude',\n 'grief',\n // 'ground',\n 'guilt',\n 'gymnastics',\n // 'hair',\n 'happiness',\n 'hardware',\n 'harm',\n 'hate',\n 'hatred',\n 'health',\n 'heat',\n // 'height',\n 'help',\n 'homework',\n 'honesty',\n 'honey',\n 'hospitality',\n 'housework',\n 'humour',\n 'hunger',\n 'hydrogen',\n 'ice',\n 'importance',\n 'inflation',\n 'information',\n // 'injustice',\n 'innocence',\n // 'intelligence',\n 'iron',\n 'irony',\n 'jam',\n // 'jealousy',\n // 'jelly',\n 'jewelry',\n // 'joy',\n 'judo',\n // 'juice',\n // 'justice',\n 'karate',\n // 'kindness',\n 'knowledge',\n // 'labour',\n 'lack',\n // 'land',\n 'laughter',\n 'lava',\n 'leather',\n 'leisure',\n 'lightning',\n 'linguine',\n 'linguini',\n 'linguistics',\n 'literature',\n 'litter',\n 'livestock',\n 'logic',\n 'loneliness',\n // 'love',\n 'luck',\n 'luggage',\n 'macaroni',\n 'machinery',\n 'magic',\n // 'mail',\n 'management',\n 'mankind',\n 'marble',\n 'mathematics',\n 'mayonnaise',\n 'measles',\n // 'meat',\n // 'metal',\n 'methane',\n 'milk',\n 'minus',\n 'money',\n // 'moose',\n 'mud',\n 'music',\n 'mumps',\n 'nature',\n 'news',\n 'nitrogen',\n 'nonsense',\n 'nurture',\n 'nutrition',\n 'obedience',\n 'obesity',\n // 'oil',\n 'oxygen',\n // 'paper',\n // 'passion',\n 'pasta',\n 'patience',\n // 'permission',\n 'physics',\n 'poetry',\n 'pollution',\n 'poverty',\n // 'power',\n 'pride',\n // 'production',\n // 'progress',\n // 'pronunciation',\n 'psychology',\n 'publicity',\n 'punctuation',\n // 'quality',\n // 'quantity',\n 'quartz',\n 'racism',\n // 'rain',\n // 'recreation',\n 'relaxation',\n 'reliability',\n 'research',\n 'respect',\n 'revenge',\n 'rice',\n 'rubbish',\n 'rum',\n 'safety',\n // 'salad',\n // 'salt',\n // 'sand',\n // 'satire',\n 'scenery',\n 'seafood',\n 'seaside',\n 'series',\n 'shame',\n 'sheep',\n 'shopping',\n // 'silence',\n 'sleep',\n // 'slang'\n 'smoke',\n 'smoking',\n 'snow',\n 'soap',\n 'software',\n 'soil',\n // 'sorrow',\n // 'soup',\n 'spaghetti',\n // 'speed',\n 'species',\n // 'spelling',\n // 'sport',\n 'steam',\n // 'strength',\n 'stuff',\n 'stupidity',\n // 'success',\n // 'sugar',\n 'sunshine',\n 'symmetry',\n // 'tea',\n 'tennis',\n 'thirst',\n 'thunder',\n 'timber',\n // 'time',\n // 'toast',\n // 'tolerance',\n // 'trade',\n 'traffic',\n 'transportation',\n // 'travel',\n 'trust',\n // 'understanding',\n 'underwear',\n 'unemployment',\n 'unity',\n // 'usage',\n 'validity',\n 'veal',\n 'vegetation',\n 'vegetarianism',\n 'vengeance',\n 'violence',\n // 'vision',\n 'vitality',\n 'warmth',\n // 'water',\n 'wealth',\n 'weather',\n // 'weight',\n 'welfare',\n 'wheat',\n // 'whiskey',\n // 'width',\n 'wildlife',\n // 'wine',\n 'wisdom',\n // 'wood',\n // 'wool',\n // 'work',\n // 'yeast',\n 'yoga',\n 'zinc',\n 'zoology',\n];\n/**\n * @description These rules translate from the singular form of a noun to its plural form.\n */\nconst regex = {\n plural: {\n men: new RegExp('^(m|wom)en$', 'gi'),\n people: new RegExp('(pe)ople$', 'gi'),\n children: new RegExp('(child)ren$', 'gi'),\n tia: new RegExp('([ti])a$', 'gi'),\n analyses: new RegExp('((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)ses$', 'gi'),\n databases: new RegExp('(database)s$', 'gi'),\n drives: new RegExp('(drive)s$', 'gi'),\n hives: new RegExp('(hi|ti)ves$', 'gi'),\n curves: new RegExp('(curve)s$', 'gi'),\n lrves: new RegExp('([lr])ves$', 'gi'),\n aves: new RegExp('([a])ves$', 'gi'),\n foves: new RegExp('([^fo])ves$', 'gi'),\n movies: new RegExp('(m)ovies$', 'gi'),\n aeiouyies: new RegExp('([^aeiouy]|qu)ies$', 'gi'),\n series: new RegExp('(s)eries$', 'gi'),\n xes: new RegExp('(x|ch|ss|sh)es$', 'gi'),\n mice: new RegExp('([m|l])ice$', 'gi'),\n buses: new RegExp('(bus)es$', 'gi'),\n oes: new RegExp('(o)es$', 'gi'),\n shoes: new RegExp('(shoe)s$', 'gi'),\n crises: new RegExp('(cris|ax|test)es$', 'gi'),\n octopuses: new RegExp('(octop|vir)uses$', 'gi'),\n aliases: new RegExp('(alias|canvas|status|campus)es$', 'gi'),\n summonses: new RegExp('^(summons|bonus)es$', 'gi'),\n oxen: new RegExp('^(ox)en', 'gi'),\n matrices: new RegExp('(matr)ices$', 'gi'),\n vertices: new RegExp('(vert|ind)ices$', 'gi'),\n feet: new RegExp('^feet$', 'gi'),\n teeth: new RegExp('^teeth$', 'gi'),\n geese: new RegExp('^geese$', 'gi'),\n quizzes: new RegExp('(quiz)zes$', 'gi'),\n whereases: new RegExp('^(whereas)es$', 'gi'),\n criteria: new RegExp('^(criteri)a$', 'gi'),\n genera: new RegExp('^genera$', 'gi'),\n ss: new RegExp('ss$', 'gi'),\n s: new RegExp('s$', 'gi'),\n },\n singular: {\n man: new RegExp('^(m|wom)an$', 'gi'),\n person: new RegExp('(pe)rson$', 'gi'),\n child: new RegExp('(child)$', 'gi'),\n drive: new RegExp('(drive)$', 'gi'),\n ox: new RegExp('^(ox)$', 'gi'),\n axis: new RegExp('(ax|test)is$', 'gi'),\n octopus: new RegExp('(octop|vir)us$', 'gi'),\n alias: new RegExp('(alias|status|canvas|campus)$', 'gi'),\n summons: new RegExp('^(summons|bonus)$', 'gi'),\n bus: new RegExp('(bu)s$', 'gi'),\n buffalo: new RegExp('(buffal|tomat|potat)o$', 'gi'),\n tium: new RegExp('([ti])um$', 'gi'),\n sis: new RegExp('sis$', 'gi'),\n ffe: new RegExp('(?:([^f])fe|([lr])f)$', 'gi'),\n hive: new RegExp('(hi|ti)ve$', 'gi'),\n aeiouyy: new RegExp('([^aeiouy]|qu)y$', 'gi'),\n x: new RegExp('(x|ch|ss|sh)$', 'gi'),\n matrix: new RegExp('(matr)ix$', 'gi'),\n vertex: new RegExp('(vert|ind)ex$', 'gi'),\n mouse: new RegExp('([m|l])ouse$', 'gi'),\n foot: new RegExp('^foot$', 'gi'),\n tooth: new RegExp('^tooth$', 'gi'),\n goose: new RegExp('^goose$', 'gi'),\n quiz: new RegExp('(quiz)$', 'gi'),\n whereas: new RegExp('^(whereas)$', 'gi'),\n criterion: new RegExp('^(criteri)on$', 'gi'),\n genus: new RegExp('^genus$', 'gi'),\n s: new RegExp('s$', 'gi'),\n common: new RegExp('$', 'gi'),\n },\n};\nconst pluralRules = [\n // do not replace if its already a plural word\n [regex.plural.men],\n [regex.plural.people],\n [regex.plural.children],\n [regex.plural.tia],\n [regex.plural.analyses],\n [regex.plural.databases],\n [regex.plural.drives],\n [regex.plural.hives],\n [regex.plural.curves],\n [regex.plural.lrves],\n [regex.plural.foves],\n [regex.plural.aeiouyies],\n [regex.plural.series],\n [regex.plural.movies],\n [regex.plural.xes],\n [regex.plural.mice],\n [regex.plural.buses],\n [regex.plural.oes],\n [regex.plural.shoes],\n [regex.plural.crises],\n [regex.plural.octopuses],\n [regex.plural.aliases],\n [regex.plural.summonses],\n [regex.plural.oxen],\n [regex.plural.matrices],\n [regex.plural.feet],\n [regex.plural.teeth],\n [regex.plural.geese],\n [regex.plural.quizzes],\n [regex.plural.whereases],\n [regex.plural.criteria],\n [regex.plural.genera],\n // original rule\n [regex.singular.man, '$1en'],\n [regex.singular.person, '$1ople'],\n [regex.singular.child, '$1ren'],\n [regex.singular.drive, '$1s'],\n [regex.singular.ox, '$1en'],\n [regex.singular.axis, '$1es'],\n [regex.singular.octopus, '$1uses'],\n [regex.singular.alias, '$1es'],\n [regex.singular.summons, '$1es'],\n [regex.singular.bus, '$1ses'],\n [regex.singular.buffalo, '$1oes'],\n [regex.singular.tium, '$1a'],\n [regex.singular.sis, 'ses'],\n [regex.singular.ffe, '$1$2ves'],\n [regex.singular.hive, '$1ves'],\n [regex.singular.aeiouyy, '$1ies'],\n [regex.singular.matrix, '$1ices'],\n [regex.singular.vertex, '$1ices'],\n [regex.singular.x, '$1es'],\n [regex.singular.mouse, '$1ice'],\n [regex.singular.foot, 'feet'],\n [regex.singular.tooth, 'teeth'],\n [regex.singular.goose, 'geese'],\n [regex.singular.quiz, '$1zes'],\n [regex.singular.whereas, '$1es'],\n [regex.singular.criterion, '$1a'],\n [regex.singular.genus, 'genera'],\n [regex.singular.s, 's'],\n [regex.singular.common, 's'],\n];\n/**\n * @description These rules translate from the plural form of a noun to its singular form.\n */\nconst singularRules = [\n // do not replace if its already a singular word\n [regex.singular.man],\n [regex.singular.person],\n [regex.singular.child],\n [regex.singular.drive],\n [regex.singular.ox],\n [regex.singular.axis],\n [regex.singular.octopus],\n [regex.singular.alias],\n [regex.singular.summons],\n [regex.singular.bus],\n [regex.singular.buffalo],\n [regex.singular.tium],\n [regex.singular.sis],\n [regex.singular.ffe],\n [regex.singular.hive],\n [regex.singular.aeiouyy],\n [regex.singular.x],\n [regex.singular.matrix],\n [regex.singular.mouse],\n [regex.singular.foot],\n [regex.singular.tooth],\n [regex.singular.goose],\n [regex.singular.quiz],\n [regex.singular.whereas],\n [regex.singular.criterion],\n [regex.singular.genus],\n // original rule\n [regex.plural.men, '$1an'],\n [regex.plural.people, '$1rson'],\n [regex.plural.children, '$1'],\n [regex.plural.databases, '$1'],\n [regex.plural.drives, '$1'],\n [regex.plural.genera, 'genus'],\n [regex.plural.criteria, '$1on'],\n [regex.plural.tia, '$1um'],\n [regex.plural.analyses, '$1$2sis'],\n [regex.plural.hives, '$1ve'],\n [regex.plural.curves, '$1'],\n [regex.plural.lrves, '$1f'],\n [regex.plural.aves, '$1ve'],\n [regex.plural.foves, '$1fe'],\n [regex.plural.movies, '$1ovie'],\n [regex.plural.aeiouyies, '$1y'],\n [regex.plural.series, '$1eries'],\n [regex.plural.xes, '$1'],\n [regex.plural.mice, '$1ouse'],\n [regex.plural.buses, '$1'],\n [regex.plural.oes, '$1'],\n [regex.plural.shoes, '$1'],\n [regex.plural.crises, '$1is'],\n [regex.plural.octopuses, '$1us'],\n [regex.plural.aliases, '$1'],\n [regex.plural.summonses, '$1'],\n [regex.plural.oxen, '$1'],\n [regex.plural.matrices, '$1ix'],\n [regex.plural.vertices, '$1ex'],\n [regex.plural.feet, 'foot'],\n [regex.plural.teeth, 'tooth'],\n [regex.plural.geese, 'goose'],\n [regex.plural.quizzes, '$1'],\n [regex.plural.whereases, '$1'],\n [regex.plural.ss, 'ss'],\n [regex.plural.s, ''],\n];\n/**\n * @description This is a list of words that should not be capitalized for title case.\n */\nconst nonTitlecasedWords = [\n 'and',\n 'or',\n 'nor',\n 'a',\n 'an',\n 'the',\n 'so',\n 'but',\n 'to',\n 'of',\n 'at',\n 'by',\n 'from',\n 'into',\n 'on',\n 'onto',\n 'off',\n 'out',\n 'in',\n 'over',\n 'with',\n 'for',\n];\n/**\n * @description These are regular expressions used for converting between String formats.\n */\nconst idSuffix = new RegExp('(_ids|_id)$', 'g');\nconst underbar = new RegExp('_', 'g');\nconst spaceOrUnderbar = new RegExp('[ _]', 'g');\nconst uppercase = new RegExp('([A-Z])', 'g');\nconst underbarPrefix = new RegExp('^_');\n/**\n * A helper method that applies rules based replacement to a String.\n * @param str String to modify and return based on the passed rules.\n * @param rules Regexp to match paired with String to use for replacement\n * @param skip Strings to skip if they match\n * @param override String to return as though this method succeeded (used to conform to APIs)\n * @returns Return passed String modified by passed rules.\n * @example\n *\n * applyRules( 'cows', singular_rules ); // === 'cow'\n */\nfunction applyRules(str, rules, skip, override) {\n if (override) {\n return override;\n }\n else {\n if (skip.includes(str.toLocaleLowerCase())) {\n return str;\n }\n for (const rule of rules) {\n if (str.match(rule[0])) {\n if (rule[1] !== undefined) {\n return str.replace(rule[0], rule[1]);\n }\n return str;\n }\n }\n }\n return str;\n}\n/**\n * This function adds pluralization support to every String object.\n * @param str The subject string.\n * @param plural Overrides normal output with said String.(optional)\n * @returns Singular English language nouns are returned in plural form.\n * @example\n *\n * const inflection = require( 'inflection' );\n *\n * inflection.pluralize( 'person' ); // === 'people'\n * inflection.pluralize( 'octopus' ); // === 'octopuses'\n * inflection.pluralize( 'Hat' ); // === 'Hats'\n * inflection.pluralize( 'person', 'guys' ); // === 'guys'\n */\nfunction pluralize(str, plural) {\n return applyRules(str, pluralRules, uncountableWords, plural);\n}\nexports.pluralize = pluralize;\n/**\n * This function adds singularization support to every String object.\n * @param str The subject string.\n * @param singular Overrides normal output with said String.(optional)\n * @returns Plural English language nouns are returned in singular form.\n * @example\n *\n * const inflection = require( 'inflection' );\n *\n * inflection.singularize( 'people' ); // === 'person'\n * inflection.singularize( 'octopuses' ); // === 'octopus'\n * inflection.singularize( 'Hats' ); // === 'Hat'\n * inflection.singularize( 'guys', 'person' ); // === 'person'\n */\nfunction singularize(str, singular) {\n return applyRules(str, singularRules, uncountableWords, singular);\n}\nexports.singularize = singularize;\n/**\n * This function will pluralize or singularlize a String appropriately based on a number value\n * @param str The subject string.\n * @param count The number to base pluralization off of.\n * @param singular Overrides normal output with said String.(optional)\n * @param plural Overrides normal output with said String.(optional)\n * @returns English language nouns are returned in the plural or singular form based on the count.\n * @example\n *\n * const inflection = require( 'inflection' );\n *\n * inflection.inflect( 'people' 1 ); // === 'person'\n * inflection.inflect( 'octopuses' 1 ); // === 'octopus'\n * inflection.inflect( 'Hats' 1 ); // === 'Hat'\n * inflection.inflect( 'guys', 1 , 'person' ); // === 'person'\n * inflection.inflect( 'inches', 1.5 ); // === 'inches'\n * inflection.inflect( 'person', 2 ); // === 'people'\n * inflection.inflect( 'octopus', 2 ); // === 'octopuses'\n * inflection.inflect( 'Hat', 2 ); // === 'Hats'\n * inflection.inflect( 'person', 2, null, 'guys' ); // === 'guys'\n */\nfunction inflect(str, count, singular, plural) {\n if (isNaN(count))\n return str;\n if (count === 1) {\n return applyRules(str, singularRules, uncountableWords, singular);\n }\n else {\n return applyRules(str, pluralRules, uncountableWords, plural);\n }\n}\nexports.inflect = inflect;\n/**\n * This function adds camelization support to every String object.\n * @param str The subject string.\n * @param lowFirstLetter Default is to capitalize the first letter of the results.(optional)\n * Passing true will lowercase it.\n * @returns Lower case underscored words will be returned in camel case.\n * additionally '/' is translated to '::'\n * @example\n *\n * const inflection = require( 'inflection' );\n *\n * inflection.camelize( 'message_properties' ); // === 'MessageProperties'\n * inflection.camelize( 'message_properties', true ); // === 'messageProperties'\n */\nfunction camelize(str, lowFirstLetter) {\n const strPath = str.split('/');\n const j = strPath.length;\n let strArr, k, l, first;\n for (let i = 0; i < j; i++) {\n strArr = strPath[i].split('_');\n k = 0;\n l = strArr.length;\n for (; k < l; k++) {\n if (k !== 0) {\n strArr[k] = strArr[k].toLowerCase();\n }\n first = strArr[k].charAt(0);\n first =\n lowFirstLetter && i === 0 && k === 0\n ? first.toLowerCase()\n : first.toUpperCase();\n strArr[k] = first + strArr[k].substring(1);\n }\n strPath[i] = strArr.join('');\n }\n return strPath.join('::');\n}\nexports.camelize = camelize;\n/**\n * This function adds underscore support to every String object.\n * @param str The subject string.\n * @param allUpperCase Default is to lowercase and add underscore prefix.(optional)\n * Passing true will return as entered.\n * @returns Camel cased words are returned as lower cased and underscored.\n * additionally '::' is translated to '/'.\n * @example\n *\n * const inflection = require( 'inflection' );\n *\n * inflection.underscore( 'MessageProperties' ); // === 'message_properties'\n * inflection.underscore( 'messageProperties' ); // === 'message_properties'\n * inflection.underscore( 'MP', true ); // === 'MP'\n */\nfunction underscore(str, allUpperCase) {\n if (allUpperCase && str === str.toUpperCase())\n return str;\n const strPath = str.split('::');\n const j = strPath.length;\n for (let i = 0; i < j; i++) {\n strPath[i] = strPath[i].replace(uppercase, '_$1');\n strPath[i] = strPath[i].replace(underbarPrefix, '');\n }\n return strPath.join('/').toLowerCase();\n}\nexports.underscore = underscore;\n/**\n * This function adds humanize support to every String object.\n * @param str The subject string.\n * @param lowFirstLetter Default is to capitalize the first letter of the results.(optional)\n * Passing true will lowercase it.\n * @returns Lower case underscored words will be returned in humanized form.\n * @example\n *\n * const inflection = require( 'inflection' );\n *\n * inflection.humanize( 'message_properties' ); // === 'Message properties'\n * inflection.humanize( 'message_properties', true ); // === 'message properties'\n */\nfunction humanize(str, lowFirstLetter) {\n str = str.toLowerCase();\n str = str.replace(idSuffix, '');\n str = str.replace(underbar, ' ');\n if (!lowFirstLetter) {\n str = capitalize(str);\n }\n return str;\n}\nexports.humanize = humanize;\n/**\n * This function adds capitalization support to every String object.\n * @param str The subject string.\n * @returns All characters will be lower case and the first will be upper.\n * @example\n *\n * const inflection = require( 'inflection' );\n *\n * inflection.capitalize( 'message_properties' ); // === 'Message_properties'\n * inflection.capitalize( 'message properties', true ); // === 'Message properties'\n */\nfunction capitalize(str) {\n str = str.toLowerCase();\n return str.substring(0, 1).toUpperCase() + str.substring(1);\n}\nexports.capitalize = capitalize;\n/**\n * This function replaces underscores with dashes in the string.\n * @param str The subject string.\n * @returns Replaces all spaces or underscores with dashes.\n * @example\n *\n * const inflection = require( 'inflection' );\n *\n * inflection.dasherize( 'message_properties' ); // === 'message-properties'\n * inflection.dasherize( 'Message Properties' ); // === 'Message-Properties'\n */\nfunction dasherize(str) {\n return str.replace(spaceOrUnderbar, '-');\n}\nexports.dasherize = dasherize;\n/**\n * This function adds titleize support to every String object.\n * @param str The subject string.\n * @returns Capitalizes words as you would for a book title.\n * @example\n *\n * const inflection = require( 'inflection' );\n *\n * inflection.titleize( 'message_properties' ); // === 'Message Properties'\n * inflection.titleize( 'message properties to keep' ); // === 'Message Properties to Keep'\n */\nfunction titleize(str) {\n str = str.toLowerCase().replace(underbar, ' ');\n const strArr = str.split(' ');\n const j = strArr.length;\n let d, l;\n for (let i = 0; i < j; i++) {\n d = strArr[i].split('-');\n l = d.length;\n for (let k = 0; k < l; k++) {\n if (nonTitlecasedWords.indexOf(d[k].toLowerCase()) < 0) {\n d[k] = capitalize(d[k]);\n }\n }\n strArr[i] = d.join('-');\n }\n str = strArr.join(' ');\n str = str.substring(0, 1).toUpperCase() + str.substring(1);\n return str;\n}\nexports.titleize = titleize;\n/**\n * This function adds demodulize support to every String object.\n * @param str The subject string.\n * @returns Removes module names leaving only class names.(Ruby style)\n * @example\n *\n * const inflection = require( 'inflection' );\n *\n * inflection.demodulize( 'Message::Bus::Properties' ); // === 'Properties'\n */\nfunction demodulize(str) {\n const strArr = str.split('::');\n return strArr[strArr.length - 1];\n}\nexports.demodulize = demodulize;\n/**\n * This function adds tableize support to every String object.\n * @param str The subject string.\n * @returns Return camel cased words into their underscored plural form.\n * @example\n *\n * const inflection = require( 'inflection' );\n *\n * inflection.tableize( 'MessageBusProperty' ); // === 'message_bus_properties'\n */\nfunction tableize(str) {\n str = underscore(str);\n str = pluralize(str);\n return str;\n}\nexports.tableize = tableize;\n/**\n * This function adds classification support to every String object.\n * @param str The subject string.\n * @returns Underscored plural nouns become the camel cased singular form.\n * @example\n *\n * const inflection = require( 'inflection' );\n *\n * inflection.classify( 'message_bus_properties' ); // === 'MessageBusProperty'\n */\nfunction classify(str) {\n str = camelize(str);\n str = singularize(str);\n return str;\n}\nexports.classify = classify;\n/**\n * This function adds foreign key support to every String object.\n * @param str The subject string.\n * @param dropIdUbar Default is to seperate id with an underbar at the end of the class name,\n you can pass true to skip it.(optional)\n * @returns Underscored plural nouns become the camel cased singular form.\n * @example\n *\n * const inflection = require( 'inflection' );\n *\n * inflection.foreign_key( 'MessageBusProperty' ); // === 'message_bus_property_id'\n * inflection.foreign_key( 'MessageBusProperty', true ); // === 'message_bus_propertyid'\n */\nfunction foreignKey(str, dropIdUbar) {\n str = demodulize(str);\n str = underscore(str) + (dropIdUbar ? '' : '_') + 'id';\n return str;\n}\nexports.foreignKey = foreignKey;\n/**\n * This function adds ordinalize support to every String object.\n * @param str The subject string.\n * @returns Return all found numbers their sequence like '22nd'.\n * @example\n *\n * const inflection = require( 'inflection' );\n *\n * inflection.ordinalize( 'the 1 pitch' ); // === 'the 1st pitch'\n */\nfunction ordinalize(str) {\n const strArr = str.split(' ');\n const j = strArr.length;\n for (let i = 0; i < j; i++) {\n const k = parseInt(strArr[i], 10);\n if (!isNaN(k)) {\n const ltd = strArr[i].substring(strArr[i].length - 2);\n const ld = strArr[i].substring(strArr[i].length - 1);\n let suf = 'th';\n if (ltd != '11' && ltd != '12' && ltd != '13') {\n if (ld === '1') {\n suf = 'st';\n }\n else if (ld === '2') {\n suf = 'nd';\n }\n else if (ld === '3') {\n suf = 'rd';\n }\n }\n strArr[i] += suf;\n }\n }\n return strArr.join(' ');\n}\nexports.ordinalize = ordinalize;\nconst transformFunctions = {\n pluralize,\n singularize,\n camelize,\n underscore,\n humanize,\n capitalize,\n dasherize,\n titleize,\n demodulize,\n tableize,\n classify,\n foreignKey,\n ordinalize,\n};\n/**\n * This function performs multiple inflection methods on a string\n * @param str The subject string.\n * @param arr An array of inflection methods.\n * @returns\n * @example\n *\n * const inflection = require( 'inflection' );\n *\n * inflection.transform( 'all job', [ 'pluralize', 'capitalize', 'dasherize' ]); // === 'All-jobs'\n */\nfunction transform(str, arr) {\n const j = arr.length;\n for (let i = 0; i < j; i++) {\n const method = arr[i];\n const methodFn = transformFunctions[method];\n if (methodFn) {\n str = methodFn(str);\n }\n }\n return str;\n}\nexports.transform = transform;\n","import { useResourceDefinitions } from './useResourceDefinitions';\nimport { useTranslate } from '../i18n';\nimport { humanize, pluralize, singularize } from 'inflection';\n\n/**\n * A hook which returns function to get a translated resource name. It will use the label option of the `Resource` component if it was provided.\n *\n * @returns {GetResourceLabel} A function which takes a resource name and an optional number indicating the number of items (used for pluralization) and returns a translated string.\n * @example\n * const Menu = () => {\n * const resources = useResourceDefinitions();\n * const getResourceLabel = useGetResourceLabel();\n *\n * return (\n * <ul>\n * {Object.keys(resources).map(name => (\n * <li key={name}>\n * {getResourceLabel(name, 2)}\n * </li>\n * ))}\n * </ul>\n * )\n * }\n */\nexport const useGetResourceLabel = (): GetResourceLabel => {\n const translate = useTranslate();\n const definitions = useResourceDefinitions();\n\n return (resource: string, count = 2): string => {\n const resourceDefinition = definitions[resource];\n\n const label = translate(`resources.${resource}.name`, {\n smart_count: count,\n _:\n resourceDefinition &&\n resourceDefinition.options &&\n resourceDefinition.options.label\n ? translate(resourceDefinition.options.label, {\n smart_count: count,\n _: resourceDefinition.options.label,\n })\n : humanize(\n count > 1\n ? pluralize(resource)\n : singularize(resource)\n ),\n });\n\n return label;\n };\n};\n\nexport type GetResourceLabel = (resource: string, count?: number) => string;\n","import { useContext } from 'react';\nimport { ResourceContext, ResourceContextValue } from './ResourceContext';\n\n/**\n * Hook to read the resource from the ResourceContext.\n *\n * Must be used within a <ResourceContextProvider> (e.g. as a descendent of <Resource>\n * or any reference related components), or called with a resource prop.\n *\n * @example\n *\n * const ResourceName = (props) => {\n * const resource = useResourceContext(props);\n * const getResourceLabel = useGetResourceLabel();\n * return <>{getResourceLabel(resource, 1)}</>;\n * }\n *\n * // use it in a resource context\n * const MyComponent = () => (\n * <ResourceContextProvider value=\"posts\">\n * <ResourceName />\n * ...\n * </ResourceContextProvider>\n * );\n *\n * // override resource via props\n * const MyComponent = () => (\n * <>\n * <ResourceName resource=\"posts\"/>\n * ...\n * </>\n * );\n *\n * @returns {ResourceContextValue} The resource name, e.g. 'posts'\n */\nexport const useResourceContext = <\n ResourceInformationsType extends Partial<{ resource: string }>,\n>(\n props?: ResourceInformationsType\n): ResourceContextValue => {\n const context = useContext(ResourceContext);\n return (props && props.resource) || context;\n};\n","import { useMemo } from 'react';\nimport defaults from 'lodash/defaults';\n\nimport { useResourceDefinitions } from './useResourceDefinitions';\nimport { useResourceContext } from './useResourceContext';\nimport { ResourceDefinition, ResourceOptions } from '../types';\n\n/**\n * Hook to get the definition of a given resource\n *\n * @example // Get the current resource definition (based on ResourceContext)\n *\n * const definition = useResourceDefinition();\n * console.log(definition);\n * // {\n * // name: 'posts',\n * // hasList: true,\n * // hasEdit: true,\n * // hasShow: true,\n * // hasCreate: true,\n * // options: {},\n * // icon: PostIcon,\n * // }\n *\n * @example // Pass a resource prop to check a different resource definition\n *\n * const definition = useResourceDefinition({ resource: 'posts' });\n */\nexport const useResourceDefinition = <\n OptionsType extends ResourceOptions = any,\n>(\n props?: UseResourceDefinitionOptions\n): ResourceDefinition<OptionsType> => {\n const resource = useResourceContext(props);\n const resourceDefinitions = useResourceDefinitions();\n const { hasCreate, hasEdit, hasList, hasShow, recordRepresentation } =\n props || {};\n\n const definition = useMemo(() => {\n return defaults(\n {},\n {\n hasCreate,\n hasEdit,\n hasList,\n hasShow,\n recordRepresentation,\n },\n resource ? resourceDefinitions[resource] : {}\n ) as ResourceDefinition<OptionsType>;\n }, [\n resource,\n resourceDefinitions,\n hasCreate,\n hasEdit,\n hasList,\n hasShow,\n recordRepresentation,\n ]);\n\n return definition;\n};\n\nexport interface UseResourceDefinitionOptions {\n readonly resource?: string;\n readonly hasList?: boolean;\n readonly hasEdit?: boolean;\n readonly hasShow?: boolean;\n readonly hasCreate?: boolean;\n readonly recordRepresentation?:\n | string\n | React.ReactElement\n | ((record: any) => string);\n}\n","import * as React from 'react';\nimport { useCallback, ReactNode } from 'react';\nimport get from 'lodash/get';\n\nimport { useResourceDefinition } from './useResourceDefinition';\n\n/**\n * Get default string representation of a record\n *\n * @example // No customization\n * const getRecordRepresentation = useGetRecordRepresentation('posts');\n * getRecordRepresentation({ id: 1, title: 'Hello' }); // => \"#1\"\n *\n * @example // With <Resource name=\"posts\" recordRepresentation=\"title\" />\n * const getRecordRepresentation = useGetRecordRepresentation('posts');\n * getRecordRepresentation({ id: 1, title: 'Hello' }); // => \"Hello\"\n */\nexport const useGetRecordRepresentation = (\n resource?: string\n): ((record: any) => ReactNode) => {\n const { recordRepresentation } = useResourceDefinition({ resource });\n return useCallback(\n record => {\n if (!record) return '';\n if (typeof recordRepresentation === 'function') {\n return recordRepresentation(record);\n }\n if (typeof recordRepresentation === 'string') {\n return get(record, recordRepresentation);\n }\n if (React.isValidElement(recordRepresentation)) {\n return recordRepresentation;\n }\n if (record?.name != null && record?.name !== '') {\n return record.name;\n }\n if (record?.title != null && record?.title !== '') {\n return record.title;\n }\n if (record?.label != null && record?.label !== '') {\n return record.label;\n }\n if (record?.reference != null && record?.reference !== '') {\n return record.reference;\n }\n return `#${record.id}`;\n },\n [recordRepresentation]\n );\n};\n","import { useSourceContext } from './SourceContext';\n\n/**\n * Get the source prop for a field or input by checking if a source context is available.\n * @param {string} source The original source prop\n * @returns {string} The source prop, either the original one or the one modified by the SourceContext.\n * @example\n * const MyInput = ({ source, ...props }) => {\n * const finalSource = useWrappedSource(source);\n * return <input name={finalSource} {...props} />;\n * };\n */\nexport const useWrappedSource = (source: string) => {\n const sourceContext = useSourceContext();\n return sourceContext.getSource(source);\n};\n","import { useCallback, ReactElement } from 'react';\n\nimport { useTranslate } from './useTranslate';\nimport { getFieldLabelTranslationArgs } from '../util';\nimport { useResourceContext, useOptionalSourceContext } from '../core';\n\nexport const useTranslateLabel = () => {\n const translate = useTranslate();\n const resourceFromContext = useResourceContext();\n const sourceContext = useOptionalSourceContext();\n\n return useCallback(\n ({\n source,\n label,\n resource,\n }: {\n source?: string;\n label?: string | false | ReactElement;\n resource?: string;\n }) => {\n if (label === false || label === '') {\n return null;\n }\n\n if (label && typeof label !== 'string') {\n return label;\n }\n\n return translate(\n ...getFieldLabelTranslationArgs({\n label: label as string,\n defaultLabel: source\n ? sourceContext?.getLabel(source)\n : undefined,\n resource,\n resourceFromContext,\n source,\n })\n );\n },\n [resourceFromContext, translate, sourceContext]\n );\n};\n","import * as React from 'react';\nimport { ReactElement, memo } from 'react';\n\nimport { useTranslateLabel } from '../i18n';\n\nexport interface FieldTitleProps {\n isRequired?: boolean;\n resource?: string;\n source?: string;\n label?: string | ReactElement | boolean;\n}\n\nexport const FieldTitle = (props: FieldTitleProps) => {\n const { source, label, resource, isRequired } = props;\n const translateLabel = useTranslateLabel();\n\n if (label === true) {\n throw new Error(\n 'Label parameter must be a string, a ReactElement or false'\n );\n }\n\n if (label === false || label === '') {\n return null;\n }\n\n if (label && typeof label !== 'string') {\n return label;\n }\n\n return (\n <span>\n {translateLabel({\n label,\n resource,\n source,\n })}\n {isRequired && <span aria-hidden=\"true\"> *</span>}\n </span>\n );\n};\n\n// What? TypeScript loses the displayName if we don't set it explicitly\nFieldTitle.displayName = 'FieldTitle';\n\nexport default memo(FieldTitle);\n","import * as React from 'react';\nimport { useState } from 'react';\n\nconst styles = {\n root: {\n width: '100vw',\n height: '100vh',\n display: 'flex',\n flexDirection: 'column' as 'column',\n fontFamily: '\"Roboto\", sans-serif',\n },\n main: {\n flex: 1,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n textAlign: 'center' as 'center',\n flexDirection: 'column' as 'column',\n background:\n 'linear-gradient(135deg, #00023b 0%, #00023b 50%, #313264 100%)',\n color: 'white',\n fontSize: '1.5em',\n fontWeight: 'bold' as 'bold',\n },\n secondary: {\n height: '20vh',\n background: '#e8e8e8',\n color: 'black',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-evenly',\n },\n link: {\n textAlign: 'center' as 'center',\n width: 150,\n display: 'block',\n textDecoration: 'none',\n color: 'black',\n opacity: 0.7,\n },\n linkHovered: {\n opacity: 1,\n },\n image: {\n width: 50,\n },\n logo: {\n height: 100,\n },\n};\n\nconst Button = ({ img, label, href }) => {\n const [hovered, setHovered] = useState(false);\n return (\n <div>\n <a\n href={href}\n style={\n hovered\n ? { ...styles.link, ...styles.linkHovered }\n : styles.link\n }\n onMouseEnter={() => setHovered(true)}\n onMouseLeave={() => setHovered(false)}\n >\n <img src={img} alt={label} style={styles.image} />\n <br />\n {label}\n </a>\n </div>\n );\n};\n\nexport default () =>\n process.env.NODE_ENV === 'production' ? (\n <span />\n ) : (\n <div style={styles.root}>\n <div style={styles.main}>\n <img\n style={styles.logo}\n src=\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDIzLjAuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkNhbHF1ZV8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIKCSB2aWV3Qm94PSIwIDAgMTMxIDEzMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTMxIDEzMTsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLnN0MHtmaWxsOiMyMjI0NTg7fQoJLnN0MXtmaWxsOiM1MTUzN0Q7fQoJLnN0MntmaWxsOiNBM0E0Qjk7fQoJLnN0M3tmaWxsOiMwMDAyM0I7fQoJLnN0NHtmaWxsOiNGRkZGRkY7fQoJLnN0NXtlbmFibGUtYmFja2dyb3VuZDpuZXcgICAgO30KPC9zdHlsZT4KPHRpdGxlPkxvZ29fc29tYnJlX2FpPC90aXRsZT4KPGcgaWQ9IlJlY3RhbmdsZV81NiI+Cgk8Zz4KCQk8cmVjdCB4PSIxOS4xIiB5PSIxOSIgdHJhbnNmb3JtPSJtYXRyaXgoMC41IC0wLjg2NiAwLjg2NiAwLjUgLTIzLjkyMjYgODkuNTQ2KSIgY2xhc3M9InN0MCIgd2lkdGg9IjkyLjkiIGhlaWdodD0iOTIuOSIvPgoJCTxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik04MywxMzAuM0wwLjgsODIuOUw0OC4yLDAuN2w4Mi4yLDQ3LjVMODMsMTMwLjN6IE0zLjUsODIuMWw3OC43LDQ1LjVsNDUuNS03OC43TDQ5LDMuNEwzLjUsODIuMXoiLz4KCTwvZz4KPC9nPgo8ZyBpZD0iUmVjdGFuZ2xlXzU2LTIiPgoJPGc+CgkJPHJlY3QgeD0iMTkiIHk9IjE5LjEiIHRyYW5zZm9ybT0ibWF0cml4KDAuODY2IC0wLjUgMC41IDAuODY2IC0yMy45Nzc3IDQxLjUyNykiIGNsYXNzPSJzdDAiIHdpZHRoPSI5Mi45IiBoZWlnaHQ9IjkyLjkiLz4KCQk8cGF0aCBjbGFzcz0ic3QyIiBkPSJNNDcuOSwxMzFMMCw0OEw4My4xLDBsNDgsODMuMUw0Ny45LDEzMXogTTQuMSw0OS4xbDQ1LDc3LjlsNzcuOS00NUw4Miw0LjFMNC4xLDQ5LjF6Ii8+Cgk8L2c+CjwvZz4KPGcgaWQ9IlJlY3RhbmdsZV81Ni0zIj4KCTxnPgoJCTxyZWN0IHg9IjE5LjEiIHk9IjE5IiBjbGFzcz0ic3QzIiB3aWR0aD0iOTIuOSIgaGVpZ2h0PSI5Mi45Ii8+CgkJPHBhdGggY2xhc3M9InN0NCIgZD0iTTExNC41LDExNC41SDE2LjZWMTYuNWg5Ny45VjExNC41eiBNMjEuNiwxMDkuNWg4Ny45VjIxLjVIMjEuNlYxMDkuNXoiLz4KCTwvZz4KPC9nPgo8ZyBpZD0iUmEiPgoJPGcgY2xhc3M9InN0NSI+CgkJPHBhdGggY2xhc3M9InN0NCIgZD0iTTU5LDg2LjdsLTYuNy0xOS4yaC0xLjJIMzguOXYxOS4yaC01LjZWMzguNWgxOC41YzMuNiwwLDYuMywwLjYsOC4xLDEuOGMxLjgsMS4yLDMsMi44LDMuNSw0LjgKCQkJYzAuNSwyLDAuOCw0LjYsMC44LDcuOGMwLDMuNS0wLjQsNi40LTEuMyw4LjdjLTAuOCwyLjMtMi42LDMuOS01LjMsNC44TDY1LDg2LjdINTl6IE01NS43LDYxLjZjMS4yLTAuNywyLTEuNywyLjQtMwoJCQljMC40LTEuMywwLjYtMy4yLDAuNi01LjZjMC0yLjUtMC4yLTQuMy0wLjUtNS42Yy0wLjMtMS4zLTEuMS0yLjItMi4zLTIuOWMtMS4yLTAuNy0zLTEtNS41LTFIMzguOXYxOS4xSDUwCgkJCUM1Mi41LDYyLjYsNTQuNCw2Mi4zLDU1LjcsNjEuNnoiLz4KCQk8cGF0aCBjbGFzcz0ic3Q0IiBkPSJNNzQuMyw4NWMtMS42LTEuNS0yLjUtNC4yLTIuNS04LjJjMC0yLjcsMC4zLTQuOCwwLjktNi4zYzAuNi0xLjUsMS42LTIuNiwzLTMuM2MxLjQtMC43LDMuNC0xLDYtMQoJCQljMS4zLDAsNS4xLDAuMSwxMS40LDAuM3YtMi40YzAtMi45LTAuMi01LTAuNy02LjJjLTAuNS0xLjItMS4zLTItMi42LTIuNGMtMS4yLTAuMy0zLjMtMC41LTYuMy0wLjVjLTEuMywwLTMsMC4xLTQuOSwwLjIKCQkJYy0yLDAuMS0zLjYsMC4zLTQuOCwwLjV2LTQuM2MzLjMtMC43LDcuMS0xLDExLjQtMWMzLjcsMCw2LjUsMC40LDguNCwxLjJjMS44LDAuOCwzLjEsMi4yLDMuOCw0LjFjMC43LDEuOSwxLDQuNywxLDguNHYyMi41aC00LjgKCQkJbC0wLjMtNWgtMC4zYy0wLjgsMi4yLTIuMiwzLjctNC4xLDQuNGMtMS45LDAuNy00LjEsMS4xLTYuNiwxLjFDNzguNiw4Ny4yLDc2LDg2LjUsNzQuMyw4NXogTTg5LjEsODJjMS4yLTAuNCwyLjItMS4yLDIuOC0yLjQKCQkJYzAuOS0xLjgsMS4zLTQuMywxLjMtNy4zdi0yaC0xMGMtMS43LDAtMywwLjItMy44LDAuNWMtMC44LDAuMy0xLjQsMC45LTEuNywxLjhjLTAuMywwLjktMC41LDIuMi0wLjUsNGMwLDEuOCwwLjIsMy4xLDAuNiwzLjkKCQkJYzAuNCwwLjgsMS4xLDEuNCwyLDEuOGMxLDAuMywyLjUsMC41LDQuNSwwLjVDODYuMiw4Mi42LDg3LjgsODIuNCw4OS4xLDgyeiIvPgoJPC9nPgo8L2c+Cjwvc3ZnPgo=\"\n alt=\"react-admin logo\"\n />\n <h1>Welcome to React-admin</h1>\n <div>\n Your application is properly configured.\n <br />\n Now you can add a <Resource> as child of\n <Admin>.\n </div>\n </div>\n <div style={styles.secondary}>\n <Button\n href=\"https://marmelab.com/react-admin/documentation.html\"\n img=\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDIzLjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSIyNHB4IgoJIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAwIDI0IDI0IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAyNCAyNCIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxnIGlkPSJCb3VuZGluZ19Cb3giPgoJPHJlY3QgZmlsbD0ibm9uZSIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ii8+CjwvZz4KPGcgaWQ9IkZsYXQiPgoJPGcgaWQ9InVpX3g1Rl9zcGVjX3g1Rl9oZWFkZXJfY29weV8yIj4KCTwvZz4KCTxnPgoJCTxwYXRoIGQ9Ik0yMSw1Yy0xLjExLTAuMzUtMi4zMy0wLjUtMy41LTAuNWMtMS45NSwwLTQuMDUsMC40LTUuNSwxLjVjLTEuNDUtMS4xLTMuNTUtMS41LTUuNS0xLjVTMi40NSw0LjksMSw2djE0LjY1CgkJCWMwLDAuMjUsMC4yNSwwLjUsMC41LDAuNWMwLjEsMCwwLjE1LTAuMDUsMC4yNS0wLjA1QzMuMSwyMC40NSw1LjA1LDIwLDYuNSwyMGMxLjk1LDAsNC4wNSwwLjQsNS41LDEuNWMxLjM1LTAuODUsMy44LTEuNSw1LjUtMS41CgkJCWMxLjY1LDAsMy4zNSwwLjMsNC43NSwxLjA1YzAuMSwwLjA1LDAuMTUsMC4wNSwwLjI1LDAuMDVjMC4yNSwwLDAuNS0wLjI1LDAuNS0wLjVWNkMyMi40LDUuNTUsMjEuNzUsNS4yNSwyMSw1eiBNMywxOC41VjcKCQkJYzEuMS0wLjM1LDIuMy0wLjUsMy41LTAuNWMxLjM0LDAsMy4xMywwLjQxLDQuNSwwLjk5djExLjVDOS42MywxOC40MSw3Ljg0LDE4LDYuNSwxOEM1LjMsMTgsNC4xLDE4LjE1LDMsMTguNXogTTIxLDE4LjUKCQkJYy0xLjEtMC4zNS0yLjMtMC41LTMuNS0wLjVjLTEuMzQsMC0zLjEzLDAuNDEtNC41LDAuOTlWNy40OWMxLjM3LTAuNTksMy4xNi0wLjk5LDQuNS0wLjk5YzEuMiwwLDIuNCwwLjE1LDMuNSwwLjVWMTguNXoiLz4KCQk8cGF0aCBvcGFjaXR5PSIwLjMiIGQ9Ik0xMSw3LjQ5QzkuNjMsNi45MSw3Ljg0LDYuNSw2LjUsNi41QzUuMyw2LjUsNC4xLDYuNjUsMyw3djExLjVDNC4xLDE4LjE1LDUuMywxOCw2LjUsMTgKCQkJYzEuMzQsMCwzLjEzLDAuNDEsNC41LDAuOTlWNy40OXoiLz4KCTwvZz4KCTxnPgoJCTxwYXRoIGQ9Ik0xNy41LDEwLjVjMC44OCwwLDEuNzMsMC4wOSwyLjUsMC4yNlY5LjI0QzE5LjIxLDkuMDksMTguMzYsOSwxNy41LDljLTEuMjgsMC0yLjQ2LDAuMTYtMy41LDAuNDd2MS41NwoJCQlDMTQuOTksMTAuNjksMTYuMTgsMTAuNSwxNy41LDEwLjV6Ii8+CgkJPHBhdGggZD0iTTE3LjUsMTMuMTZjMC44OCwwLDEuNzMsMC4wOSwyLjUsMC4yNlYxMS45Yy0wLjc5LTAuMTUtMS42NC0wLjI0LTIuNS0wLjI0Yy0xLjI4LDAtMi40NiwwLjE2LTMuNSwwLjQ3djEuNTcKCQkJQzE0Ljk5LDEzLjM2LDE2LjE4LDEzLjE2LDE3LjUsMTMuMTZ6Ii8+CgkJPHBhdGggZD0iTTE3LjUsMTUuODNjMC44OCwwLDEuNzMsMC4wOSwyLjUsMC4yNnYtMS41MmMtMC43OS0wLjE1LTEuNjQtMC4yNC0yLjUtMC4yNGMtMS4yOCwwLTIuNDYsMC4xNi0zLjUsMC40N3YxLjU3CgkJCUMxNC45OSwxNi4wMiwxNi4xOCwxNS44MywxNy41LDE1LjgzeiIvPgoJPC9nPgo8L2c+Cjwvc3ZnPgo=\"\n label=\"Documentation\"\n />\n <Button\n href=\"https://github.com/marmelab/react-admin/tree/master/examples\"\n img=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBmaWxsPSJub25lIiBkPSJNMCAwaDI0djI0SDBWMHoiLz48cGF0aCBkPSJNOS40IDE2LjZMNC44IDEybDQuNi00LjZMOCA2bC02IDYgNiA2IDEuNC0xLjR6bTUuMiAwbDQuNi00LjYtNC42LTQuNkwxNiA2bDYgNi02IDYtMS40LTEuNHoiLz48L3N2Zz4=\"\n label=\"Examples\"\n />\n <Button\n href=\"https://stackoverflow.com/questions/tagged/react-admin\"\n img=\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDIzLjAuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSIyNHB4IgoJIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAwIDI0IDI0IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAyNCAyNCIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxnIGlkPSJCb3VuZGluZ19Cb3giPgoJPHJlY3QgZmlsbD0ibm9uZSIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ii8+CjwvZz4KPGcgaWQ9IkZsYXQiPgoJPGcgaWQ9InVpX3g1Rl9zcGVjX3g1Rl9oZWFkZXJfY29weV8yIj4KCTwvZz4KCTxnPgoJCTxjaXJjbGUgb3BhY2l0eT0iMC4zIiBjeD0iOSIgY3k9IjgiIHI9IjIiLz4KCQk8cGF0aCBvcGFjaXR5PSIwLjMiIGQ9Ik05LDE1Yy0yLjcsMC01LjgsMS4yOS02LDIuMDFMMywxOGgxMnYtMUMxNC44LDE2LjI5LDExLjcsMTUsOSwxNXoiLz4KCQk8cGF0aCBkPSJNMTYuNjcsMTMuMTNDMTguMDQsMTQuMDYsMTksMTUuMzIsMTksMTd2M2g0di0zQzIzLDE0LjgyLDE5LjQzLDEzLjUzLDE2LjY3LDEzLjEzeiIvPgoJCTxwYXRoIGQ9Ik0xNSwxMmMyLjIxLDAsNC0xLjc5LDQtNGMwLTIuMjEtMS43OS00LTQtNGMtMC40NywwLTAuOTEsMC4xLTEuMzMsMC4yNEMxNC41LDUuMjcsMTUsNi41OCwxNSw4cy0wLjUsMi43My0xLjMzLDMuNzYKCQkJQzE0LjA5LDExLjksMTQuNTMsMTIsMTUsMTJ6Ii8+CgkJPHBhdGggZD0iTTksMTJjMi4yMSwwLDQtMS43OSw0LTRjMC0yLjIxLTEuNzktNC00LTRTNSw1Ljc5LDUsOEM1LDEwLjIxLDYuNzksMTIsOSwxMnogTTksNmMxLjEsMCwyLDAuOSwyLDJjMCwxLjEtMC45LDItMiwyCgkJCVM3LDkuMSw3LDhDNyw2LjksNy45LDYsOSw2eiIvPgoJCTxwYXRoIGQ9Ik05LDEzYy0yLjY3LDAtOCwxLjM0LTgsNHYzaDE2di0zQzE3LDE0LjM0LDExLjY3LDEzLDksMTN6IE0xNSwxOEgzbDAtMC45OUMzLjIsMTYuMjksNi4zLDE1LDksMTVzNS44LDEuMjksNiwyVjE4eiIvPgoJPC9nPgo8L2c+Cjwvc3ZnPgo=\"\n label=\"Community\"\n />\n </div>\n </div>\n );\n","export default (condition: any, message: string) => {\n if (condition && process.env.NODE_ENV !== 'production') {\n console.warn(message); // eslint-disable-line\n }\n};\n","import { transform } from 'inflection';\n\ninterface Args {\n label?: string;\n defaultLabel?: string;\n resource?: string;\n resourceFromContext?: string;\n source?: string;\n}\n\ntype TranslationArguments = [string, any?];\n\n/**\n * Returns an array of arguments to use with the translate function for the label of a field.\n * The label will be computed from the resource and source props.\n *\n * Usage:\n * <span>\n * {translate(...getFieldLabelTranslationArgs({ label, resource, source }))}\n * </span>\n *\n * @see useTranslateLabel for a ready-to-use hook\n */\nexport const getFieldLabelTranslationArgs = (\n options?: Args\n): TranslationArguments => {\n if (!options) return [''];\n const { label, defaultLabel, resource, resourceFromContext, source } =\n options;\n\n if (typeof label !== 'undefined') return [label, { _: label }];\n\n if (typeof source === 'undefined') return [''];\n\n const { sourceWithoutDigits, sourceSuffix } = getSourceParts(source);\n\n const defaultLabelTranslation = transform(\n sourceSuffix.replace(/\\./g, ' '),\n ['underscore', 'humanize']\n );\n\n if (resource) {\n return [\n getResourceFieldLabelKey(resource, sourceWithoutDigits),\n { _: defaultLabelTranslation },\n ];\n }\n\n if (defaultLabel) {\n return [defaultLabel, { _: defaultLabelTranslation }];\n }\n\n return [\n getResourceFieldLabelKey(\n resourceFromContext || 'undefined',\n sourceWithoutDigits\n ),\n { _: defaultLabelTranslation },\n ];\n};\n\nexport default getFieldLabelTranslationArgs;\n\nexport const getResourceFieldLabelKey = (resource: string, source: string) =>\n `resources.${resource}.fields.${source}`;\n\n/**\n * Uses the source string to guess a translation message and a default label.\n *\n * @example\n * getSourceParts('pictures') // { sourceWithoutDigits: 'pictures', sourceSuffix: 'pictures' }\n * getSourceParts('pictures.url') // { sourceWithoutDigits: 'pictures.url', sourceSuffix: 'pictures.url' }\n * getSourceParts('pictures.0.url') // { sourceWithoutDigits: 'pictures.url', sourceSuffix: 'url' }\n * getSourceParts('pictures.12.urls.5.protocol') // { sourceWithoutDigits: 'pictures.urls.protocol', sourceSuffix: 'protocol' }\n */\nconst getSourceParts = (source: string) => {\n // remove digits, e.g. 'book.authors.2.categories.3.identifier.name' => 'book.authors.categories.identifier.name'\n const sourceWithoutDigits = source.replace(/\\.\\d+\\./g, '.');\n // get final part, e.g. 'book.authors.2.categories.3.identifier.name' => 'identifier.name'\n // we're not using a regexp here to avoid code scanning alert \"Polynomial regular expression used on uncontrolled data\"\n const parts = source.split('.');\n let lastPartWithDigits;\n parts.forEach((part, index) => {\n if (onlyDigits(part)) {\n lastPartWithDigits = index;\n }\n });\n const sourceSuffix =\n lastPartWithDigits != null\n ? parts.slice(lastPartWithDigits + 1).join('.')\n : source;\n\n return { sourceWithoutDigits, sourceSuffix };\n};\n\n// 48 and 57 are the char codes for \"0\" and \"9\", respectively\nconst onlyDigits = s => {\n for (let i = s.length - 1; i >= 0; i--) {\n const d = s.charCodeAt(i);\n if (d < 48 || d > 57) return false;\n }\n return true;\n};\n","import * as React from 'react';\nimport { useCallback } from 'react';\n\n// allow the hook to work in SSR\nconst useLayoutEffect =\n typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;\n\n/**\n * Alternative to useCallback that doesn't update the callback when dependencies change\n *\n * @see https://reactjs.org/docs/hooks-faq.html#how-to-read-an-often-changing-value-from-usecallback\n * @see https://github.com/facebook/react/issues/14099#issuecomment-440013892\n */\nexport const useEvent = <Args extends unknown[], Return>(\n fn: (...args: Args) => Return\n): ((...args: Args) => Return) => {\n const ref = React.useRef<(...args: Args) => Return>(() => {\n throw new Error('Cannot call an event handler while rendering.');\n });\n\n useLayoutEffect(() => {\n ref.current = fn;\n });\n\n return useCallback((...args: Args) => ref.current(...args), []);\n};\n","import get from 'lodash/get';\nimport { Call, Objects } from 'hotscript';\nimport { useRecordContext } from '../controller';\n\n/**\n * A hook that gets the value of a field of the current record.\n * @param params The hook parameters\n * @param params.source The field source\n * @param params.record The record to use. Uses the record from the RecordContext if not provided\n * @param params.defaultValue The value to return when the field value is empty\n * @returns The field value\n *\n * @example\n * const MyField = (props: { source: string }) => {\n * const value = useFieldValue(props);\n * return <span>{value}</span>;\n * }\n */\nexport const useFieldValue = <\n RecordType extends Record<string, any> = Record<string, any>,\n>(\n params: UseFieldValueOptions<RecordType>\n) => {\n const { defaultValue, source } = params;\n // We use the record from the RecordContext and do not rely on the SourceContext on purpose to\n // avoid having the wrong source targeting the record.\n // Indeed, some components may create a sub record context (SimpleFormIterator, TranslatableInputs, etc.). In this case,\n // it they used the SourceContext as well, they would have the wrong source.\n // Inputs needs the SourceContext as they rely on the Form value and you can't have nested forms.\n // Fields needs the RecordContext as they rely on the Record value and you can have nested RecordContext.\n const record = useRecordContext<RecordType>(params);\n\n return get(record, source, defaultValue);\n};\n\nexport interface UseFieldValueOptions<\n RecordType extends Record<string, any> = Record<string, any>,\n> {\n // FIXME: Find a way to throw a type error when defaultValue is not of RecordType[Source] type\n defaultValue?: any;\n source: Call<Objects.AllPaths, RecordType> extends never\n ? AnyString\n : Call<Objects.AllPaths, RecordType>;\n record?: RecordType;\n}\n\ntype AnyString = string & {};\n","import { useEffect, useRef } from 'react';\nimport { useEvent } from './useEvent';\n\n/**\n * Checks if the application code has changed and calls the provided onNewVersionAvailable function when needed.\n *\n * It checks for code update by downloading the provided URL (default to the HTML page) and\n * comparing the hash of the response with the hash of the current page.\n *\n * @param {UseCheckForApplicationUpdateOptions} options The options\n * @param {Function} options.onNewVersionAvailable The function to call when a new version of the application is available.\n * @param {string} options.url Optional. The URL to download to check for code update. Defaults to the current URL.\n * @param {RequestInit} options.fetchOptions Optional. The options passed to fetch function when checking for update.\n * @param {number} options.interval Optional. The interval in milliseconds between two checks. Defaults to 3600000 (1 hour).\n * @param {boolean} options.disabled Optional. Whether the check should be disabled. Defaults to false.\n */\nexport const useCheckForApplicationUpdate = (\n options: UseCheckForApplicationUpdateOptions\n) => {\n const {\n url = window.location.href,\n fetchOptions,\n interval: delay = ONE_HOUR,\n onNewVersionAvailable: onNewVersionAvailableProp,\n disabled = process.env.NODE_ENV !== 'production',\n } = options;\n const currentHash = useRef<number>();\n const onNewVersionAvailable = useEvent(onNewVersionAvailableProp);\n\n useEffect(() => {\n if (disabled) return;\n\n getHashForUrl(url, fetchOptions).then(hash => {\n if (hash != null) {\n currentHash.current = hash;\n }\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [disabled, url, JSON.stringify(fetchOptions)]);\n\n useEffect(() => {\n if (disabled) return;\n\n const interval = setInterval(() => {\n getHashForUrl(url, fetchOptions)\n .then(hash => {\n if (hash != null && currentHash.current !== hash) {\n // Store the latest hash to avoid calling the onNewVersionAvailable function multiple times\n // or when users have closed the notification\n currentHash.current = hash;\n onNewVersionAvailable();\n }\n })\n .catch(() => {\n // Ignore errors to avoid issues when connectivity is lost\n });\n }, delay);\n return () => clearInterval(interval);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n delay,\n onNewVersionAvailable,\n disabled,\n url,\n // eslint-disable-next-line react-hooks/exhaustive-deps\n JSON.stringify(fetchOptions),\n ]);\n};\n\nconst getHashForUrl = async (url: string, fetchOptions?: RequestInit) => {\n try {\n const response = await fetch(url, fetchOptions);\n if (!response.ok) return null;\n const text = await response.text();\n return hash(text);\n } catch (e) {\n return null;\n }\n};\n\n// Simple hash function, taken from https://stackoverflow.com/a/52171480/3723993, suggested by Copilot\nconst hash = (value: string, seed = 0) => {\n let h1 = 0xdeadbeef ^ seed,\n h2 = 0x41c6ce57 ^ seed;\n for (let i = 0, ch; i < value.length; i++) {\n ch = value.charCodeAt(i);\n h1 = Math.imul(h1 ^ ch, 2654435761);\n h2 = Math.imul(h2 ^ ch, 1597334677);\n }\n h1 = Math.imul(h1 ^ (h1 >>> 16), 2246822507);\n h1 ^= Math.imul(h2 ^ (h2 >>> 13), 3266489909);\n h2 = Math.imul(h2 ^ (h2 >>> 16), 2246822507);\n h2 ^= Math.imul(h1 ^ (h1 >>> 13), 3266489909);\n\n return 4294967296 * (2097151 & h2) + (h1 >>> 0);\n};\n\nconst ONE_HOUR = 1000 * 60 * 60;\n\nexport interface UseCheckForApplicationUpdateOptions {\n onNewVersionAvailable: () => void;\n interval?: number;\n url?: string;\n fetchOptions?: RequestInit;\n disabled?: boolean;\n}\n","import { useState, useEffect } from 'react';\nimport isEqual from 'lodash/isEqual';\n\nimport { useEvent } from '../util';\nimport { useStoreContext } from './useStoreContext';\n\n/**\n * Read and write a value from the Store\n *\n * useState-like hook using the global Store for persistence.\n * Each time a store value is changed, all components using this value will be re-rendered.\n *\n * @param {string} key Name of the store key. Separate with dots to namespace, e.g. 'posts.list.columns'.\n * @param {any} defaultValue Default value\n *\n * @return {Object} A value and a setter for the value, in an array - just like for useState()\n *\n * @example\n * import { useStore } from 'react-admin';\n *\n * const PostList = () => {\n * const [density] = useStore('posts.list.density', 'small');\n *\n * return (\n * <List>\n * <Datagrid size={density}>\n * ...\n * </Datagrid>\n * </List>\n * );\n * }\n *\n * // Clicking on this button will trigger a rerender of the PostList!\n * const ChangeDensity: FC<any> = () => {\n * const [density, setDensity] = useStore('posts.list.density', 'small');\n *\n * const changeDensity = (): void => {\n * setDensity(density === 'small' ? 'medium' : 'small');\n * };\n *\n * return (\n * <Button onClick={changeDensity}>\n * {`Change density (current ${density})`}\n * </Button>\n * );\n * };\n */\nexport const useStore = <T = any>(\n key: string,\n defaultValue?: T\n): useStoreResult<T> => {\n const { getItem, setItem, subscribe } = useStoreContext();\n const [value, setValue] = useState(() => getItem(key, defaultValue));\n\n // subscribe to changes on this key, and change the state when they happen\n useEffect(() => {\n const storedValue = getItem(key, defaultValue);\n if (!isEqual(value, storedValue)) {\n setValue(storedValue);\n }\n const unsubscribe = subscribe(key, newValue => {\n setValue(typeof newValue === 'undefined' ? defaultValue : newValue);\n });\n return () => unsubscribe();\n }, [key, subscribe, defaultValue, getItem, value]);\n\n const set = useEvent((valueParam: T, runtimeDefaultValue: T) => {\n const newValue =\n typeof valueParam === 'function' ? valueParam(value) : valueParam;\n // we only set the value in the Store;\n // the value in the local state will be updated\n // by the useEffect during the next render\n setItem(\n key,\n typeof newValue === 'undefined'\n ? typeof runtimeDefaultValue === 'undefined'\n ? defaultValue\n : runtimeDefaultValue\n : newValue\n );\n });\n return [value, set];\n};\n\nexport type useStoreResult<T = any> = [\n T,\n (value: T | ((value: T) => void), defaultValue?: T) => void,\n];\n","import { useCallback } from 'react';\n\nimport { useStoreContext } from './useStoreContext';\n\n/**\n * Get a callback to remove an item from the store\n *\n * @example\n * import { useRemoveFromStore } from 'react-admin';\n *\n * const ResetDatagridPrefs = () {\n * const removeItem = useRemoveFromStore();\n *\n * const handleClick = () => {\n * removeItem('datagrid.prefs');\n * };\n *\n * return <Button onClick={hancleClick}>Reset datagrid preferences</Button>;\n * }\n */\nexport const useRemoveFromStore = (hookTimeKey?: string) => {\n const { removeItem } = useStoreContext();\n return useCallback(\n (key?: string) => {\n if (\n typeof key === 'undefined' &&\n typeof hookTimeKey === 'undefined'\n ) {\n throw new Error(\n 'You must provide a key to remove an item from the store'\n );\n }\n // @ts-ignore\n return removeItem(key ?? hookTimeKey);\n },\n [removeItem, hookTimeKey]\n );\n};\n","import { useCallback } from 'react';\n\nimport { useStoreContext } from './useStoreContext';\n\n/**\n * Get a callback to remove all item with a certain key prefix from the store\n *\n * @example\n * import { useRemoveItemsFromStore } from 'react-admin';\n *\n * const ResetDatagridPrefs = () {\n * const removeItems = useRemoveItemsFromStore();\n *\n * const handleClick = () => {\n * removeItems('datagrid.prefs');\n * };\n *\n * return <Button onClick={hancleClick}>Reset datagrid preferences</Button>;\n * }\n */\nexport const useRemoveItemsFromStore = (hookTimeKeyPrefix?: string | null) => {\n const { removeItems } = useStoreContext();\n return useCallback(\n (keyPrefix?: string) => {\n if (\n typeof keyPrefix === 'undefined' &&\n typeof hookTimeKeyPrefix === 'undefined'\n ) {\n throw new Error(\n 'You must provide a key to remove an item from the store'\n );\n }\n // @ts-ignore\n return removeItems(keyPrefix ?? hookTimeKeyPrefix);\n },\n [removeItems, hookTimeKeyPrefix]\n );\n};\n","import { useStoreContext } from './useStoreContext';\n\n/**\n * Get a callback to remove all items from the store\n *\n * @example\n * import { useResetStore } from 'react-admin';\n *\n * const ResetPrefs = () {\n * const reset = useResetStore();\n *\n * const handleClick = () => {\n * reset();\n * };\n *\n * return <Button onClick={handleClick}>Reset preferences</Button>;\n * }\n */\nexport const useResetStore = () => {\n const { reset } = useStoreContext();\n return reset;\n};\n","import { useCallback, useEffect, useRef } from 'react';\nimport { useLocation, useNavigate, Path } from 'react-router-dom';\nimport { useQueryClient } from '@tanstack/react-query';\n\nimport useAuthProvider, { defaultAuthParams } from './useAuthProvider';\nimport { useResetStore } from '../store';\nimport { useBasename } from '../routing';\nimport { removeDoubleSlashes } from '../routing/useCreatePath';\n\n/**\n * Get a callback for calling the authProvider.logout() method,\n * redirect to the login page, and clear the store.\n *\n * @see useAuthProvider\n *\n * @returns {Function} logout callback\n *\n * @example\n *\n * import { useLogout } from 'react-admin';\n *\n * const LogoutButton = () => {\n * const logout = useLogout();\n * const handleClick = () => logout();\n * return <button onClick={handleClick}>Logout</button>;\n * }\n */\nconst useLogout = (): Logout => {\n const authProvider = useAuthProvider();\n const queryClient = useQueryClient();\n const resetStore = useResetStore();\n const navigate = useNavigate();\n // useNavigate forces rerenders on every navigation, even if we don't use the result\n // see https://github.com/remix-run/react-router/issues/7634\n // so we use a ref to bail out of rerenders when we don't need to\n const navigateRef = useRef(navigate);\n const location = useLocation();\n const locationRef = useRef(location);\n const basename = useBasename();\n const loginUrl = removeDoubleSlashes(\n `${basename}/${defaultAuthParams.loginUrl}`\n );\n\n /*\n * We need the current location to pass in the router state\n * so that the login hook knows where to redirect to as next route after login.\n *\n * But if we used the location from useLocation as a dependency of the logout\n * function, it would be rebuilt each time the user changes location.\n * Consequently, that would force a rerender of all components using this hook\n * upon navigation (CoreAdminRouter for example).\n *\n * To avoid that, we store the location in a ref.\n */\n useEffect(() => {\n locationRef.current = location;\n navigateRef.current = navigate;\n }, [location, navigate]);\n\n const logout: Logout = useCallback(\n (\n params = {},\n redirectTo = loginUrl,\n redirectToCurrentLocationAfterLogin = true\n ) => {\n if (authProvider) {\n return authProvider\n .logout(params)\n .then(redirectToFromProvider => {\n if (\n redirectToFromProvider === false ||\n redirectTo === false\n ) {\n resetStore();\n queryClient.clear();\n // do not redirect\n return;\n }\n\n const finalRedirectTo =\n redirectToFromProvider || redirectTo;\n\n if (finalRedirectTo?.startsWith('http')) {\n // absolute link (e.g. https://my.oidc.server/login)\n resetStore();\n queryClient.clear();\n window.location.href = finalRedirectTo;\n return finalRedirectTo;\n }\n\n // redirectTo is an internal location that may contain a query string, e.g. '/login?foo=bar'\n // we must split it to pass a structured location to navigate()\n const redirectToParts = finalRedirectTo.split('?');\n const newLocation: Partial<Path> = {\n pathname: redirectToParts[0],\n };\n let newLocationOptions = {};\n\n if (\n redirectToCurrentLocationAfterLogin &&\n locationRef.current &&\n locationRef.current.pathname\n ) {\n newLocationOptions = {\n state: {\n nextPathname: locationRef.current.pathname,\n nextSearch: locationRef.current.search,\n },\n };\n }\n if (redirectToParts[1]) {\n newLocation.search = redirectToParts[1];\n }\n navigateRef.current(newLocation, newLocationOptions);\n resetStore();\n queryClient.clear();\n\n return redirectToFromProvider;\n });\n } else {\n navigateRef.current(\n {\n pathname: loginUrl,\n },\n {\n state: {\n nextPathname:\n locationRef.current &&\n locationRef.current.pathname,\n },\n }\n );\n resetStore();\n queryClient.clear();\n return Promise.resolve();\n }\n },\n [authProvider, resetStore, loginUrl, queryClient]\n );\n\n return logout;\n};\n\n/**\n * Log the current user out by calling the authProvider.logout() method,\n * and redirect them to the login screen.\n *\n * @param {Object} params The parameters to pass to the authProvider\n * @param {string} redirectTo The path name to redirect the user to (optional, defaults to login)\n * @param {boolean} redirectToCurrentLocationAfterLogin Whether the button shall record the current location to redirect to it after login. true by default.\n *\n * @return {Promise} The authProvider response\n */\ntype Logout = (\n params?: any,\n redirectTo?: string | false,\n redirectToCurrentLocationAfterLogin?: boolean\n) => Promise<any>;\n\nexport default useLogout;\n","import { useEffect, useMemo } from 'react';\nimport {\n QueryObserverResult,\n useQuery,\n UseQueryOptions,\n} from '@tanstack/react-query';\nimport useAuthProvider, { defaultAuthParams } from './useAuthProvider';\nimport useLogout from './useLogout';\nimport { removeDoubleSlashes, useBasename } from '../routing';\nimport { useNotify } from '../notification';\nimport { useEvent } from '../util';\n\nconst emptyParams = {};\n\n/**\n * Hook for getting the authentication status\n *\n * Calls the authProvider.checkAuth() method asynchronously.\n *\n * The return value updates according to the authProvider request state:\n *\n * - isPending: true just after mount, while the authProvider is being called. false once the authProvider has answered.\n * - authenticated: true while loading. then true or false depending on the authProvider response.\n *\n * To avoid rendering a component and force waiting for the authProvider response, use the useAuthState() hook\n * instead of the useAuthenticated() hook.\n *\n * You can render different content depending on the authenticated status.\n *\n * @see useAuthenticated()\n *\n * @param {Object} params Any params you want to pass to the authProvider\n *\n * @param {Boolean} logoutOnFailure: Optional. Whether the user should be logged out if the authProvider fails to authenticate them. False by default.\n *\n * @returns The current auth check state. Destructure as { authenticated, error, isPending }.\n *\n * @example\n * import { useAuthState, Loading } from 'react-admin';\n *\n * const MyPage = () => {\n * const { isPending, authenticated } = useAuthState();\n * if (isPending) {\n * return <Loading />;\n * }\n * if (authenticated) {\n * return <AuthenticatedContent />;\n * }\n * return <AnonymousContent />;\n * };\n */\nconst useAuthState = <ErrorType = Error>(\n params: any = emptyParams,\n logoutOnFailure: boolean = false,\n queryOptions: UseAuthStateOptions<ErrorType> = emptyParams\n): UseAuthStateResult<ErrorType> => {\n const authProvider = useAuthProvider();\n const logout = useLogout();\n const basename = useBasename();\n const notify = useNotify();\n const { onSuccess, onError, onSettled, ...options } = queryOptions;\n\n const result = useQuery<boolean, any>({\n queryKey: ['auth', 'checkAuth', params],\n queryFn: ({ signal }) => {\n // The authProvider is optional in react-admin\n if (!authProvider) {\n return true;\n }\n return authProvider\n .checkAuth({ ...params, signal })\n .then(() => true)\n .catch(error => {\n // This is necessary because react-query requires the error to be defined\n if (error != null) {\n throw error;\n }\n\n throw new Error();\n });\n },\n retry: false,\n ...options,\n });\n\n const onSuccessEvent = useEvent(onSuccess ?? noop);\n const onSettledEvent = useEvent(onSettled ?? noop);\n const onErrorEvent = useEvent(\n onError ??\n ((error: any) => {\n const loginUrl = removeDoubleSlashes(\n `${basename}/${defaultAuthParams.loginUrl}`\n );\n if (logoutOnFailure) {\n logout(\n {},\n error && error.redirectTo != null\n ? error.redirectTo\n : loginUrl\n );\n const shouldSkipNotify = error && error.message === false;\n !shouldSkipNotify &&\n notify(\n getErrorMessage(error, 'ra.auth.auth_check_error'),\n { type: 'error' }\n );\n }\n })\n );\n\n useEffect(() => {\n if (result.data === undefined || result.isFetching) return;\n onSuccessEvent(result.data);\n }, [onSuccessEvent, result.data, result.isFetching]);\n\n useEffect(() => {\n if (result.error == null || result.isFetching) return;\n onErrorEvent(result.error);\n }, [onErrorEvent, result.error, result.isFetching]);\n\n useEffect(() => {\n if (result.status === 'pending' || result.isFetching) return;\n onSettledEvent(result.data, result.error);\n }, [\n onSettledEvent,\n result.data,\n result.error,\n result.status,\n result.isFetching,\n ]);\n\n return useMemo(() => {\n return {\n ...result,\n // If the data is undefined and the query isn't loading anymore, it means the query failed.\n // In that case, we set authenticated to false unless there's no authProvider.\n authenticated:\n result.data ?? result.isLoading ? true : authProvider == null, // Optimistic,\n };\n }, [authProvider, result]);\n};\n\ntype UseAuthStateOptions<ErrorType = Error> = Omit<\n UseQueryOptions<boolean, ErrorType>,\n 'queryKey' | 'queryFn'\n> & {\n onSuccess?: (data: boolean) => void;\n onError?: (err: ErrorType) => void;\n onSettled?: (data?: boolean, error?: Error) => void;\n};\n\nexport type UseAuthStateResult<ErrorType = Error> = QueryObserverResult<\n boolean,\n ErrorType\n> & {\n authenticated: boolean;\n};\n\nexport default useAuthState;\n\nconst getErrorMessage = (error, defaultMessage) =>\n typeof error === 'string'\n ? error\n : typeof error === 'undefined' || !error.message\n ? defaultMessage\n : error.message;\n\nconst noop = () => {};\n","import { useEffect, useMemo } from 'react';\nimport {\n QueryObserverResult,\n useQuery,\n UseQueryOptions,\n} from '@tanstack/react-query';\nimport useAuthProvider from './useAuthProvider';\nimport useLogoutIfAccessDenied from './useLogoutIfAccessDenied';\nimport { useEvent } from '../util';\n\nconst emptyParams = {};\n\n/**\n * Hook for getting user permissions\n *\n * Calls the authProvider.getPermissions() method using react-query.\n * If the authProvider returns a rejected promise, returns empty permissions.\n *\n * The return value updates according to the request state:\n *\n * - start: { isPending: true }\n * - success: { permissions: [any], isPending: false }\n * - error: { error: [error from provider], isPending: false }\n *\n * Useful to enable features based on user permissions\n *\n * @param {Object} params Any params you want to pass to the authProvider\n *\n * @returns The current auth check state. Destructure as { permissions, error, isPending, refetch }.\n *\n * @example\n * import { usePermissions } from 'react-admin';\n *\n * const PostDetail = () => {\n * const { isPending, permissions } = usePermissions();\n * if (!isPending && permissions == 'editor') {\n * return <PostEdit />\n * } else {\n * return <PostShow />\n * }\n * };\n */\nconst usePermissions = <PermissionsType = any, ErrorType = Error>(\n params = emptyParams,\n queryParams: UsePermissionsOptions<PermissionsType, ErrorType> = {\n staleTime: 5 * 60 * 1000,\n }\n): UsePermissionsResult<PermissionsType, ErrorType> => {\n const authProvider = useAuthProvider();\n const logoutIfAccessDenied = useLogoutIfAccessDenied();\n const { onSuccess, onError, onSettled, ...queryOptions } =\n queryParams ?? {};\n\n const result = useQuery<PermissionsType, ErrorType>({\n queryKey: ['auth', 'getPermissions', params],\n queryFn: async ({ signal }) => {\n if (!authProvider) return Promise.resolve([]);\n const permissions = await authProvider.getPermissions({\n ...params,\n signal,\n });\n return permissions ?? null;\n },\n ...queryOptions,\n });\n\n const onSuccessEvent = useEvent(onSuccess ?? noop);\n const onSettledEvent = useEvent(onSettled ?? noop);\n const onErrorEvent = useEvent(\n onError ??\n ((error: ErrorType) => {\n if (process.env.NODE_ENV === 'development') {\n console.error(error);\n }\n logoutIfAccessDenied(error);\n })\n );\n\n useEffect(() => {\n if (result.data === undefined || result.isFetching) return;\n onSuccessEvent(result.data);\n }, [onSuccessEvent, result.data, result.isFetching]);\n\n useEffect(() => {\n if (result.error == null || result.isFetching) return;\n onErrorEvent(result.error);\n }, [onErrorEvent, result.error, result.isFetching]);\n\n useEffect(() => {\n if (result.status === 'pending' || result.isFetching) return;\n onSettledEvent(result.data, result.error);\n }, [\n onSettledEvent,\n result.data,\n result.error,\n result.status,\n result.isFetching,\n ]);\n\n return useMemo(\n () => ({\n ...result,\n permissions: result.data,\n }),\n [result]\n );\n};\n\nexport default usePermissions;\n\nexport interface UsePermissionsOptions<PermissionsType = any, ErrorType = Error>\n extends Omit<\n UseQueryOptions<PermissionsType, ErrorType>,\n 'queryKey' | 'queryFn'\n > {\n onSuccess?: (data: PermissionsType) => void;\n onError?: (err: ErrorType) => void;\n onSettled?: (data?: PermissionsType, error?: ErrorType | null) => void;\n}\n\nexport type UsePermissionsResult<\n PermissionsType = any,\n ErrorType = Error,\n> = QueryObserverResult<PermissionsType, ErrorType> & {\n permissions: PermissionsType | undefined;\n};\n\nconst noop = () => {};\n","import { UseQueryOptions } from '@tanstack/react-query';\nimport useAuthState from './useAuthState';\n\n/**\n * Restrict access to authenticated users.\n * Redirect anonymous users to the login page.\n *\n * Use it in your custom page components to require\n * authentication.\n *\n * You can set additional `authParams` at will if your authProvider\n * requires it.\n *\n * @example\n * import { Admin, CustomRoutes, useAuthenticated } from 'react-admin';\n * const FooPage = () => {\n * useAuthenticated();\n * return <Foo />;\n * }\n * const customRoutes = [\n * <Route path=\"/foo\" element={<FooPage />} />\n * ];\n * const App = () => (\n * <Admin>\n * <CustomRoutes>{customRoutes}</CustomRoutes>\n * </Admin>\n * );\n */\nexport const useAuthenticated = <ParamsType = any>({\n params,\n ...options\n}: UseAuthenticatedOptions<ParamsType> = {}) => {\n useAuthState(params ?? emptyParams, true, options);\n};\n\nexport type UseAuthenticatedOptions<ParamsType> = Omit<\n UseQueryOptions<boolean, any> & {\n params?: ParamsType;\n },\n 'queryKey' | 'queryFn'\n>;\n\nconst emptyParams = {};\n","import { Children, ReactElement, ComponentType, createElement } from 'react';\nimport { Location } from 'react-router-dom';\n\nimport warning from '../util/warning';\nimport { useAuthenticated } from './useAuthenticated';\nimport usePermissions from './usePermissions';\n\nexport interface WithPermissionsChildrenParams {\n permissions: any;\n}\n\ntype WithPermissionsChildren = (\n params: WithPermissionsChildrenParams\n) => ReactElement;\n\nexport interface WithPermissionsProps {\n authParams?: object;\n children?: WithPermissionsChildren;\n component?: ComponentType<any>;\n location?: Location;\n render?: WithPermissionsChildren;\n staticContext?: object;\n [key: string]: any;\n}\n\nconst isEmptyChildren = children => Children.count(children) === 0;\n\n/**\n * After checking that the user is authenticated,\n * retrieves the user's permissions for a specific context.\n *\n * Useful for Route components ; used internally by Resource.\n * Use it to decorate your custom page components to require\n * a custom role. It will pass the permissions as a prop to your\n * component.\n *\n * You can set additional `authParams` at will if your authProvider\n * requires it.\n *\n * @example\n * import { Admin, CustomRoutes, WithPermissions } from 'react-admin';\n *\n * const Foo = ({ permissions }) => (\n * {permissions === 'admin' ? <p>Sensitive data</p> : null}\n * <p>Not sensitive data</p>\n * );\n *\n * const customRoutes = [\n * <Route path=\"/foo\" element={\n * <WithPermissions\n * authParams={{ foo: 'bar' }}\n * component={({ permissions, ...props }) => <Foo permissions={permissions} {...props} />}\n * />\n * } />\n * ];\n * const App = () => (\n * <Admin>\n * <CustomRoutes>{customRoutes}</CustomRoutes>\n * </Admin>\n * );\n */\nconst WithPermissions = (props: WithPermissionsProps) => {\n const { authParams, children, render, component, staticContext, ...rest } =\n props;\n warning(\n (render && children && !isEmptyChildren(children)) ||\n (render && component) ||\n (component && children && !isEmptyChildren(children)),\n 'You should only use one of the `component`, `render` and `children` props in <WithPermissions>'\n );\n\n useAuthenticated(authParams);\n const { permissions } = usePermissions(authParams);\n // render even though the usePermissions() call isn't finished (optimistic rendering)\n if (component) {\n return createElement(component, { permissions, ...rest });\n }\n // @deprecated\n if (render) {\n return render({ permissions, ...rest });\n }\n // @deprecated\n if (children) {\n return children({ permissions, ...rest });\n }\n};\n\nexport default WithPermissions as ComponentType<WithPermissionsProps>;\n","import { useCallback } from 'react';\nimport { useLocation, useNavigate } from 'react-router-dom';\n\nimport { useNotificationContext } from '../notification';\nimport { useBasename } from '../routing';\nimport useAuthProvider, { defaultAuthParams } from './useAuthProvider';\nimport { removeDoubleSlashes } from '../routing/useCreatePath';\n\n/**\n * Get a callback for calling the authProvider.login() method\n * and redirect to the previous authenticated page (or the home page) on success.\n *\n * @see useAuthProvider\n *\n * @returns {Function} login callback\n *\n * @example\n *\n * import { useLogin } from 'react-admin';\n *\n * const LoginButton = () => {\n * const [loading, setLoading] = useState(false);\n * const login = useLogin();\n * const handleClick = {\n * setLoading(true);\n * login({ username: 'john', password: 'p@ssw0rd' }, '/posts')\n * .then(() => setLoading(false));\n * }\n * return <button onClick={handleClick}>Login</button>;\n * }\n */\nconst useLogin = (): Login => {\n const authProvider = useAuthProvider();\n const location = useLocation();\n const locationState = location.state as any;\n const navigate = useNavigate();\n const basename = useBasename();\n const { resetNotifications } = useNotificationContext();\n const nextPathName = locationState && locationState.nextPathname;\n const nextSearch = locationState && locationState.nextSearch;\n const afterLoginUrl = removeDoubleSlashes(\n `${basename}/${defaultAuthParams.afterLoginUrl}`\n );\n\n const login = useCallback(\n (params: any = {}, pathName) => {\n if (authProvider) {\n return authProvider.login(params).then(ret => {\n resetNotifications();\n if (ret && ret.hasOwnProperty('redirectTo')) {\n if (ret) {\n navigate(ret.redirectTo);\n }\n } else {\n const redirectUrl = pathName\n ? pathName\n : nextPathName + nextSearch || afterLoginUrl;\n navigate(redirectUrl);\n }\n return ret;\n });\n } else {\n resetNotifications();\n navigate(afterLoginUrl);\n return Promise.resolve();\n }\n },\n [\n authProvider,\n navigate,\n nextPathName,\n nextSearch,\n resetNotifications,\n afterLoginUrl,\n ]\n );\n\n return login;\n};\n\n/**\n * Log a user in by calling the authProvider.login() method\n *\n * @param {Object} params Login parameters to pass to the authProvider. May contain username/email, password, etc\n * @param {string} pathName The path to redirect to after login. By default, redirects to the home page, or to the last page visited after disconnection.\n *\n * @return {Promise} The authProvider response\n */\ntype Login = (params: any, pathName?: string) => Promise<any>;\n\nexport default useLogin;\n","export type UserCheck = (\n payload: object,\n pathName: string,\n routeParams?: object\n) => void;\n\nexport const AUTH_LOGIN = 'AUTH_LOGIN';\nexport const AUTH_CHECK = 'AUTH_CHECK';\nexport const AUTH_ERROR = 'AUTH_ERROR';\nexport const AUTH_LOGOUT = 'AUTH_LOGOUT';\nexport const AUTH_GET_PERMISSIONS = 'AUTH_GET_PERMISSIONS';\n\nexport type AuthActionType =\n | typeof AUTH_LOGIN\n | typeof AUTH_LOGOUT\n | typeof AUTH_ERROR\n | typeof AUTH_CHECK\n | typeof AUTH_GET_PERMISSIONS;\n","import {\n AUTH_LOGIN,\n AUTH_LOGOUT,\n AUTH_CHECK,\n AUTH_ERROR,\n AUTH_GET_PERMISSIONS,\n} from './types';\nimport { AuthProvider, LegacyAuthProvider } from '../types';\n\n/**\n * Turn a function-based authProvider to an object-based one\n *\n * Allows using legacy authProviders transparently.\n *\n * @param {Function} legacyAuthProvider A legacy authProvider (type, params) => Promise<any>\n *\n * @returns {Object} An authProvider that react-admin can use\n */\nexport default (legacyAuthProvider: LegacyAuthProvider): AuthProvider => {\n const authProvider = (...args) => legacyAuthProvider.apply(null, args);\n authProvider.login = params => legacyAuthProvider(AUTH_LOGIN, params);\n authProvider.logout = params => legacyAuthProvider(AUTH_LOGOUT, params);\n authProvider.checkAuth = params => legacyAuthProvider(AUTH_CHECK, params);\n authProvider.checkError = error => legacyAuthProvider(AUTH_ERROR, error);\n authProvider.getPermissions = params =>\n legacyAuthProvider(AUTH_GET_PERMISSIONS, params);\n return authProvider;\n};\n","import { useEffect } from 'react';\nimport useLogout from './useLogout';\n\n/**\n * Log the user out and redirect them to login.\n *\n * To be used as a catch-all route for anonymous users in a secure app.\n *\n * @see CoreAdminRoutes\n */\nexport const LogoutOnMount = () => {\n const logout = useLogout();\n useEffect(() => {\n logout();\n }, [logout]);\n return null;\n};\n","import { useCallback } from 'react';\n\nimport useAuthProvider, { defaultAuthParams } from './useAuthProvider';\nimport useLogout from './useLogout';\nimport { useNotify } from '../notification';\nimport { useBasename } from '../routing';\nimport { removeDoubleSlashes } from '../routing/useCreatePath';\n\n/**\n * Get a callback for calling the authProvider.checkAuth() method.\n * In case of rejection, redirects to the login page, displays a notification,\n * and throws an error.\n *\n * This is a low level hook. See those more specialized hooks\n * for common authentication tasks, based on useCheckAuth.\n *\n * @see useAuthenticated\n * @see useAuthState\n *\n * @returns {Function} checkAuth callback\n *\n * @example\n *\n * import { useCheckAuth } from 'react-admin';\n *\n * const MyProtectedPage = () => {\n * const checkAuth = useCheckAuth();\n * useEffect(() => {\n * checkAuth().catch(() => {});\n * }, []);\n * return <p>Private content: EZAEZEZAET</p>\n * } // tip: use useAuthenticated() hook instead\n *\n * const MyPage = () => {\n * const checkAuth = useCheckAuth();\n * const [authenticated, setAuthenticated] = useState(true); // optimistic auth\n * useEffect(() => {\n * checkAuth({}, false)\n * .then(() => setAuthenticated(true))\n * .catch(() => setAuthenticated(false));\n * }, []);\n * return authenticated ? <Bar /> : <BarNotAuthenticated />;\n * } // tip: use useAuthState() hook instead\n */\nexport const useCheckAuth = (): CheckAuth => {\n const authProvider = useAuthProvider();\n const notify = useNotify();\n const logout = useLogout();\n const basename = useBasename();\n const loginUrl = removeDoubleSlashes(\n `${basename}/${defaultAuthParams.loginUrl}`\n );\n\n const checkAuth = useCallback(\n (params: any = {}, logoutOnFailure = true, redirectTo = loginUrl) =>\n authProvider\n ? authProvider.checkAuth(params).catch(error => {\n if (logoutOnFailure) {\n logout(\n {},\n error && error.redirectTo != null\n ? error.redirectTo\n : redirectTo\n );\n const shouldSkipNotify =\n error && error.message === false;\n !shouldSkipNotify &&\n notify(\n getErrorMessage(\n error,\n 'ra.auth.auth_check_error'\n ),\n { type: 'error' }\n );\n }\n throw error;\n })\n : checkAuthWithoutAuthProvider(),\n [authProvider, logout, notify, loginUrl]\n );\n\n return checkAuth;\n};\n\nconst checkAuthWithoutAuthProvider = () => Promise.resolve();\n\n/**\n * Check if the current user is authenticated by calling authProvider.checkAuth().\n * Logs the user out on failure.\n *\n * @param {Object} params The parameters to pass to the authProvider\n * @param {boolean} logoutOnFailure Whether the user should be logged out if the authProvider fails to authenticate them. True by default.\n * @param {string} redirectTo The login form url. Defaults to '/login'\n *\n * @return {Promise} Resolved to the authProvider response if the user passes the check, or rejected with an error otherwise\n */\nexport type CheckAuth = (\n params?: any,\n logoutOnFailure?: boolean,\n redirectTo?: string\n) => Promise<any>;\n\nconst getErrorMessage = (error, defaultMessage) =>\n typeof error === 'string'\n ? error\n : typeof error === 'undefined' || !error.message\n ? defaultMessage\n : error.message;\n","import { useEffect, useMemo } from 'react';\nimport {\n useQuery,\n UseQueryOptions,\n QueryObserverResult,\n} from '@tanstack/react-query';\n\nimport useAuthProvider from './useAuthProvider';\nimport { UserIdentity } from '../types';\nimport { useEvent } from '../util';\n\nconst defaultIdentity: UserIdentity = {\n id: '',\n};\nconst defaultQueryParams = {\n staleTime: 5 * 60 * 1000,\n};\n\n/**\n * Return the current user identity by calling authProvider.getIdentity() on mount\n *\n * The return value updates according to the call state:\n *\n * - mount: { isPending: true }\n * - success: { identity, refetch: () => {}, isPending: false }\n * - error: { error: Error, isPending: false }\n *\n * The implementation is left to the authProvider.\n *\n * @returns The current user identity. Destructure as { isPending, identity, error, refetch }.\n *\n * @example\n * import { useGetIdentity, useGetOne } from 'react-admin';\n *\n * const PostDetail = ({ id }) => {\n * const { data: post, isPending: postLoading } = useGetOne('posts', { id });\n * const { identity, isPending: identityLoading } = useGetIdentity();\n * if (postLoading || identityLoading) return <>Loading...</>;\n * if (!post.lockedBy || post.lockedBy === identity.id) {\n * // post isn't locked, or is locked by me\n * return <PostEdit post={post} />\n * } else {\n * // post is locked by someone else and cannot be edited\n * return <PostShow post={post} />\n * }\n * }\n */\nexport const useGetIdentity = <ErrorType extends Error = Error>(\n options: UseGetIdentityOptions<ErrorType> = defaultQueryParams\n): UseGetIdentityResult<ErrorType> => {\n const authProvider = useAuthProvider();\n const { onSuccess, onError, onSettled, ...queryOptions } = options;\n\n const result = useQuery({\n queryKey: ['auth', 'getIdentity'],\n queryFn: async ({ signal }) => {\n if (\n authProvider &&\n typeof authProvider.getIdentity === 'function'\n ) {\n return authProvider.getIdentity({ signal });\n } else {\n return defaultIdentity;\n }\n },\n ...queryOptions,\n });\n\n const onSuccessEvent = useEvent(onSuccess ?? noop);\n const onErrorEvent = useEvent(onError ?? noop);\n const onSettledEvent = useEvent(onSettled ?? noop);\n\n useEffect(() => {\n if (result.data === undefined || result.isFetching) return;\n onSuccessEvent(result.data);\n }, [onSuccessEvent, result.data, result.isFetching]);\n\n useEffect(() => {\n if (result.error == null || result.isFetching) return;\n onErrorEvent(result.error);\n }, [onErrorEvent, result.error, result.isFetching]);\n\n useEffect(() => {\n if (result.status === 'pending' || result.isFetching) return;\n onSettledEvent(result.data, result.error);\n }, [\n onSettledEvent,\n result.data,\n result.error,\n result.status,\n result.isFetching,\n ]);\n\n return useMemo(\n () => ({\n ...result,\n identity: result.data,\n }),\n [result]\n );\n};\n\nexport interface UseGetIdentityOptions<ErrorType extends Error = Error>\n extends Omit<\n UseQueryOptions<UserIdentity, ErrorType>,\n 'queryKey' | 'queryFn'\n > {\n onSuccess?: (data: UserIdentity) => void;\n onError?: (err: Error) => void;\n onSettled?: (data?: UserIdentity, error?: Error | null) => void;\n}\n\nexport type UseGetIdentityResult<ErrorType = Error> = QueryObserverResult<\n UserIdentity,\n ErrorType\n> & {\n identity: UserIdentity | undefined;\n};\n\nexport default useGetIdentity;\n\nconst noop = () => {};\n","import { useEffect } from 'react';\nimport { useQuery, UseQueryOptions } from '@tanstack/react-query';\nimport { useLocation } from 'react-router';\nimport { useRedirect } from '../routing';\nimport { AuthRedirectResult } from '../types';\nimport useAuthProvider from './useAuthProvider';\nimport { useEvent } from '../util';\n\n/**\n * This hook calls the `authProvider.handleCallback()` method on mount. This is meant to be used in a route called\n * by an external authentication service (e.g. Auth0) after the user has logged in.\n * By default, it redirects to application home page upon success, or to the `redirectTo` location returned by `authProvider. handleCallback`.\n *\n * @returns An object containing { isPending, data, error, refetch }.\n */\nexport const useHandleAuthCallback = (\n options?: UseHandleAuthCallbackOptions\n) => {\n const authProvider = useAuthProvider();\n const redirect = useRedirect();\n const location = useLocation();\n const locationState = location.state as any;\n const nextPathName = locationState && locationState.nextPathname;\n const nextSearch = locationState && locationState.nextSearch;\n const defaultRedirectUrl = nextPathName ? nextPathName + nextSearch : '/';\n const { onSuccess, onError, onSettled, ...queryOptions } = options ?? {};\n\n const queryResult = useQuery({\n queryKey: ['auth', 'handleCallback'],\n queryFn: ({ signal }) =>\n authProvider && typeof authProvider.handleCallback === 'function'\n ? authProvider\n .handleCallback({ signal })\n .then(result => result ?? null)\n : Promise.resolve(),\n retry: false,\n ...queryOptions,\n });\n\n const onSuccessEvent = useEvent(\n onSuccess ??\n ((data: any) => {\n // AuthProviders relying on a third party services redirect back to the app can't\n // use the location state to store the path on which the user was before the login.\n // So we support a fallback on the localStorage.\n const previousLocation = localStorage.getItem(\n PreviousLocationStorageKey\n );\n const redirectTo =\n (data as AuthRedirectResult)?.redirectTo ??\n previousLocation;\n if (redirectTo === false) {\n return;\n }\n\n redirect(redirectTo ?? defaultRedirectUrl);\n })\n );\n const onErrorEvent = useEvent(onError ?? noop);\n const onSettledEvent = useEvent(onSettled ?? noop);\n\n useEffect(() => {\n if (queryResult.error == null || queryResult.isFetching) return;\n onErrorEvent(queryResult.error);\n }, [onErrorEvent, queryResult.error, queryResult.isFetching]);\n\n useEffect(() => {\n if (queryResult.data === undefined || queryResult.isFetching) return;\n onSuccessEvent(queryResult.data);\n }, [onSuccessEvent, queryResult.data, queryResult.isFetching]);\n\n useEffect(() => {\n if (queryResult.status === 'pending' || queryResult.isFetching) return;\n onSettledEvent(queryResult.data, queryResult.error);\n }, [\n onSettledEvent,\n queryResult.data,\n queryResult.error,\n queryResult.status,\n queryResult.isFetching,\n ]);\n\n return queryResult;\n};\n\n/**\n * Key used to store the previous location in localStorage.\n * Used by the useHandleAuthCallback hook to redirect the user to their previous location after a successful login.\n */\nexport const PreviousLocationStorageKey = '@react-admin/nextPathname';\n\nexport type UseHandleAuthCallbackOptions = Omit<\n UseQueryOptions<AuthRedirectResult | void>,\n 'queryKey' | 'queryFn'\n> & {\n onSuccess?: (data: AuthRedirectResult | void) => void;\n onError?: (err: Error) => void;\n onSettled?: (\n data?: AuthRedirectResult | void,\n error?: Error | null\n ) => void;\n};\n\nconst noop = () => {};\n","import * as React from 'react';\nimport { createContext, useContext } from 'react';\n\nexport const PreferenceKeyContext = createContext<string | null>('');\n\nexport const PreferenceKeyContextProvider = ({\n value = '',\n children,\n}: {\n value?: string | null;\n children: React.ReactNode;\n}) => (\n <PreferenceKeyContext.Provider value={value}>\n {children}\n </PreferenceKeyContext.Provider>\n);\n\nexport const usePreferenceKey = () => {\n return useContext(PreferenceKeyContext);\n};\n","import { useStore } from '../store/useStore';\nimport { usePreferenceKey } from './PreferenceKeyContext';\n\n/**\n * Get a preference value from the store\n *\n * Relies on the store, using a key namespaced with the preference key from the PreferenceKeyContext\n * @example\n *\n * // when used inside a PreferenceKeyContext of value 'my-app'\n * const [theme, setTheme] = usePreference('theme', 'light');\n * // this is equivalent to\n * const [theme, setTheme] = useStore('my-app.theme', 'light');\n */\nexport const usePreference = <T = any>(key?: string, defaultValue?: T) => {\n const preferenceKey = usePreferenceKey();\n if (!preferenceKey) {\n throw new Error(\n \"usePreference cannot be used outside of a Configurable component. Did you forget to wrap your component with <Configurable>? If you don't want to use Configurable, you can use the useStore hook instead.\"\n );\n }\n\n return useStore<T>(\n preferenceKey && key ? `${preferenceKey}.${key}` : preferenceKey ?? key,\n defaultValue\n );\n};\n","import { useContext } from 'react';\nimport {\n PreferencesEditorContext,\n PreferencesEditorContextValue,\n} from './PreferencesEditorContext';\n\nexport const usePreferencesEditor = (): PreferencesEditorContextValue => {\n const context = useContext(PreferencesEditorContext);\n\n if (!context) {\n throw new Error(\n 'usePreferencesEditor must be used within a PreferencesEditorContextProvider'\n );\n }\n\n return context;\n};\n","import { useState, useEffect } from 'react';\n\nimport { usePreference } from './usePreference';\n\n/**\n * Get the props for a preference input that changes the value on blur\n *\n * Relies on `usePreference`, so it's using the PreferenceKeyContext\n *\n * @example\n * const FontSizePreferenceInput = () => {\n * const field = usePreferenceInput('ui.font.size', 10);\n * return (\n * <div>\n * <label for=\"font-size\">Font size</label>\n * <input id=\"font-size\" {...field} />\n * </div>\n * );\n * }\n */\nexport const usePreferenceInput = (key?: string, defaultValue?: any) => {\n const [valueFromStore, setValueFromStore] = usePreference(\n key,\n defaultValue\n );\n const [value, setValue] = useState(valueFromStore);\n useEffect(() => {\n setValue(valueFromStore || defaultValue);\n }, [valueFromStore, defaultValue]);\n\n const onChange = event => {\n setValue(event.target.value === '' ? defaultValue : event.target.value);\n };\n\n const onBlur = () => {\n setValueFromStore(value);\n };\n\n const onKeyDown = event => {\n if (event.key === 'Enter') {\n setValueFromStore(value);\n const form = event.target.form;\n if (form) {\n const index = [...form].indexOf(event.target);\n form.elements[index + 1]?.focus();\n }\n event.preventDefault();\n }\n };\n\n return { value, onChange, onBlur, onKeyDown };\n};\n","import { useEffect } from 'react';\nimport { usePreferencesEditor } from './usePreferencesEditor';\n\n/**\n * Set inspector title on mount\n *\n * @example\n * useSetInspectorTitle('Datagrid');\n */\nexport const useSetInspectorTitle = (title: string, options?: any) => {\n const preferencesEditorContext = usePreferencesEditor();\n if (!preferencesEditorContext) {\n throw new Error(\n 'useSetInspectorTitle cannot be called outside of a PreferencesEditorContext'\n );\n }\n const { setTitle } = preferencesEditorContext;\n\n useEffect(() => {\n setTitle(title, options);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [title, JSON.stringify(options), setTitle]);\n};\n","/**\n * Gets a list of values indexed by field based on a list of records\n *\n * @example\n * const records = [\n * {\n * id: 1,\n * title: \"Lorem Ipsum\",\n * views: 254,\n * user_id: 123,\n * },\n * {\n * id: 2,\n * title: \"Sic Dolor amet\",\n * views: 65,\n * user_id: 456,\n * },\n * ];\n * getValuesFromRecords(records);\n * // {\n * // id: [1, 2],\n * // title: ['Lorem Ipsum', 'Sic Dolor amet'],\n * // views: [254, 65],\n * // user_id: [123, 456],\n * // }\n */\nexport default (records: any[]) =>\n records.reduce((values, record) => {\n Object.keys(record).forEach(fieldName => {\n if (!values[fieldName]) {\n values[fieldName] = [];\n }\n if (record[fieldName] != null) {\n const value = Array.isArray(record[fieldName])\n ? [record[fieldName]]\n : record[fieldName];\n values[fieldName] = values[fieldName].concat(value);\n }\n });\n return values;\n }, {});\n","import { createElement } from 'react';\nimport { InferredType } from './types';\n\nclass InferredElement {\n constructor(\n private type?: InferredType,\n private props?: any,\n private children?: any\n ) {\n this.type = type;\n this.props = props;\n this.children = children;\n }\n\n getElement(props = {}) {\n if (!this.type || !this.type.component) {\n return;\n }\n return this.children\n ? createElement(\n this.type.component,\n { ...this.props, ...props },\n this.children.length > 0\n ? this.children.map((child, index) =>\n child.getElement({ key: index })\n )\n : this.children.getElement()\n )\n : createElement(this.type.component, { ...this.props, ...props });\n }\n\n getProps() {\n return this.props;\n }\n\n isDefined() {\n return !!this.type;\n }\n\n getRepresentation() {\n if (!this.type) {\n return '';\n }\n if (this.type.representation) {\n return this.type.representation(this.props, this.children);\n }\n if (this.type.component) {\n return `<${\n this.type.component.displayName || this.type.component.name\n } source=\"${this.props.source}\" />`;\n }\n return '';\n }\n}\n\nexport default InferredElement;\n","/**\n * @name toDate\n * @category Common Helpers\n * @summary Convert the given argument to an instance of Date.\n *\n * @description\n * Convert the given argument to an instance of Date.\n *\n * If the argument is an instance of Date, the function returns its clone.\n *\n * If the argument is a number, it is treated as a timestamp.\n *\n * If the argument is none of the above, the function returns Invalid Date.\n *\n * **Note**: *all* Date arguments passed to any *date-fns* function is processed by `toDate`.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param argument - The value to convert\n *\n * @returns The parsed date in the local time zone\n *\n * @example\n * // Clone the date:\n * const result = toDate(new Date(2014, 1, 11, 11, 30, 30))\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert the timestamp to date:\n * const result = toDate(1392098430000)\n * //=> Tue Feb 11 2014 11:30:30\n */\nexport function toDate(argument) {\n const argStr = Object.prototype.toString.call(argument);\n\n // Clone the date\n if (\n argument instanceof Date ||\n (typeof argument === \"object\" && argStr === \"[object Date]\")\n ) {\n // Prevent the date to lose the milliseconds when passed to new Date() in IE10\n return new argument.constructor(+argument);\n } else if (\n typeof argument === \"number\" ||\n argStr === \"[object Number]\" ||\n typeof argument === \"string\" ||\n argStr === \"[object String]\"\n ) {\n // TODO: Can we get rid of as?\n return new Date(argument);\n } else {\n // TODO: Can we get rid of as?\n return new Date(NaN);\n }\n}\n\n// Fallback for modularized imports:\nexport default toDate;\n","/**\n * @name constructFrom\n * @category Generic Helpers\n * @summary Constructs a date using the reference date and the value\n *\n * @description\n * The function constructs a new date using the constructor from the reference\n * date and the given value. It helps to build generic functions that accept\n * date extensions.\n *\n * It defaults to `Date` if the passed reference date is a number or a string.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The reference date to take constructor from\n * @param value - The value to create the date\n *\n * @returns Date initialized using the given date and value\n *\n * @example\n * import { constructFrom } from 'date-fns'\n *\n * // A function that clones a date preserving the original type\n * function cloneDate<DateType extends Date(date: DateType): DateType {\n * return constructFrom(\n * date, // Use contrustor from the given date\n * date.getTime() // Use the date value to create a new date\n * )\n * }\n */\nexport function constructFrom(date, value) {\n if (date instanceof Date) {\n return new date.constructor(value);\n } else {\n return new Date(value);\n }\n}\n\n// Fallback for modularized imports:\nexport default constructFrom;\n","import { toDate } from \"./toDate.mjs\";\nimport { constructFrom } from \"./constructFrom.mjs\";\n\n/**\n * @name addDays\n * @category Day Helpers\n * @summary Add the specified number of days to the given date.\n *\n * @description\n * Add the specified number of days to the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The date to be changed\n * @param amount - The amount of days to be added.\n *\n * @returns The new date with the days added\n *\n * @example\n * // Add 10 days to 1 September 2014:\n * const result = addDays(new Date(2014, 8, 1), 10)\n * //=> Thu Sep 11 2014 00:00:00\n */\nexport function addDays(date, amount) {\n const _date = toDate(date);\n if (isNaN(amount)) return constructFrom(date, NaN);\n if (!amount) {\n // If 0 days, no-op to avoid changing times in the hour before end of DST\n return _date;\n }\n _date.setDate(_date.getDate() + amount);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default addDays;\n","import { toDate } from \"./toDate.mjs\";\nimport { constructFrom } from \"./constructFrom.mjs\";\n\n/**\n * @name addMonths\n * @category Month Helpers\n * @summary Add the specified number of months to the given date.\n *\n * @description\n * Add the specified number of months to the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The date to be changed\n * @param amount - The amount of months to be added.\n *\n * @returns The new date with the months added\n *\n * @example\n * // Add 5 months to 1 September 2014:\n * const result = addMonths(new Date(2014, 8, 1), 5)\n * //=> Sun Feb 01 2015 00:00:00\n *\n * // Add one month to 30 January 2023:\n * const result = addMonths(new Date(2023, 0, 30), 1)\n * //=> Tue Feb 28 2023 00:00:00\n */\nexport function addMonths(date, amount) {\n const _date = toDate(date);\n if (isNaN(amount)) return constructFrom(date, NaN);\n if (!amount) {\n // If 0 months, no-op to avoid changing times in the hour before end of DST\n return _date;\n }\n const dayOfMonth = _date.getDate();\n\n // The JS Date object supports date math by accepting out-of-bounds values for\n // month, day, etc. For example, new Date(2020, 0, 0) returns 31 Dec 2019 and\n // new Date(2020, 13, 1) returns 1 Feb 2021. This is *almost* the behavior we\n // want except that dates will wrap around the end of a month, meaning that\n // new Date(2020, 13, 31) will return 3 Mar 2021 not 28 Feb 2021 as desired. So\n // we'll default to the end of the desired month by adding 1 to the desired\n // month and using a date of 0 to back up one day to the end of the desired\n // month.\n const endOfDesiredMonth = constructFrom(date, _date.getTime());\n endOfDesiredMonth.setMonth(_date.getMonth() + amount + 1, 0);\n const daysInMonth = endOfDesiredMonth.getDate();\n if (dayOfMonth >= daysInMonth) {\n // If we're already at the end of the month, then this is the correct date\n // and we're done.\n return endOfDesiredMonth;\n } else {\n // Otherwise, we now know that setting the original day-of-month value won't\n // cause an overflow, so set the desired day-of-month. Note that we can't\n // just set the date of `endOfDesiredMonth` because that object may have had\n // its time changed in the unusual case where where a DST transition was on\n // the last day of the month and its local time was in the hour skipped or\n // repeated next to a DST transition. So we use `date` instead which is\n // guaranteed to still have the original time.\n _date.setFullYear(\n endOfDesiredMonth.getFullYear(),\n endOfDesiredMonth.getMonth(),\n dayOfMonth,\n );\n return _date;\n }\n}\n\n// Fallback for modularized imports:\nexport default addMonths;\n","import { addDays } from \"./addDays.mjs\";\nimport { addMonths } from \"./addMonths.mjs\";\nimport { constructFrom } from \"./constructFrom.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n/**\n * @name add\n * @category Common Helpers\n * @summary Add the specified years, months, weeks, days, hours, minutes and seconds to the given date.\n *\n * @description\n * Add the specified years, months, weeks, days, hours, minutes and seconds to the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The date to be changed\n * @param duration - The object with years, months, weeks, days, hours, minutes and seconds to be added.\n *\n * | Key | Description |\n * |----------------|------------------------------------|\n * | years | Amount of years to be added |\n * | months | Amount of months to be added |\n * | weeks | Amount of weeks to be added |\n * | days | Amount of days to be added |\n * | hours | Amount of hours to be added |\n * | minutes | Amount of minutes to be added |\n * | seconds | Amount of seconds to be added |\n *\n * All values default to 0\n *\n * @returns The new date with the seconds added\n *\n * @example\n * // Add the following duration to 1 September 2014, 10:19:50\n * const result = add(new Date(2014, 8, 1, 10, 19, 50), {\n * years: 2,\n * months: 9,\n * weeks: 1,\n * days: 7,\n * hours: 5,\\\\-7\n * minutes: 9,\n * seconds: 30,\n * })\n * //=> Thu Jun 15 2017 15:29:20\n */\nexport function add(date, duration) {\n const {\n years = 0,\n months = 0,\n weeks = 0,\n days = 0,\n hours = 0,\n minutes = 0,\n seconds = 0,\n } = duration;\n\n // Add years and months\n const _date = toDate(date);\n const dateWithMonths =\n months || years ? addMonths(_date, months + years * 12) : _date;\n\n // Add weeks and days\n const dateWithDays =\n days || weeks ? addDays(dateWithMonths, days + weeks * 7) : dateWithMonths;\n\n // Add days, hours, minutes and seconds\n const minutesToAdd = minutes + hours * 60;\n const secondsToAdd = seconds + minutesToAdd * 60;\n const msToAdd = secondsToAdd * 1000;\n const finalDate = constructFrom(date, dateWithDays.getTime() + msToAdd);\n\n return finalDate;\n}\n\n// Fallback for modularized imports:\nexport default add;\n","/**\n * @module constants\n * @summary Useful constants\n * @description\n * Collection of useful date constants.\n *\n * The constants could be imported from `date-fns/constants`:\n *\n * ```ts\n * import { maxTime, minTime } from \"./constants/date-fns/constants\";\n *\n * function isAllowedTime(time) {\n * return time <= maxTime && time >= minTime;\n * }\n * ```\n */\n\n/**\n * @constant\n * @name daysInWeek\n * @summary Days in 1 week.\n */\nexport const daysInWeek = 7;\n\n/**\n * @constant\n * @name daysInYear\n * @summary Days in 1 year.\n *\n * @description\n * How many days in a year.\n *\n * One years equals 365.2425 days according to the formula:\n *\n * > Leap year occures every 4 years, except for years that are divisable by 100 and not divisable by 400.\n * > 1 mean year = (365+1/4-1/100+1/400) days = 365.2425 days\n */\nexport const daysInYear = 365.2425;\n\n/**\n * @constant\n * @name maxTime\n * @summary Maximum allowed time.\n *\n * @example\n * import { maxTime } from \"./constants/date-fns/constants\";\n *\n * const isValid = 8640000000000001 <= maxTime;\n * //=> false\n *\n * new Date(8640000000000001);\n * //=> Invalid Date\n */\nexport const maxTime = Math.pow(10, 8) * 24 * 60 * 60 * 1000;\n\n/**\n * @constant\n * @name minTime\n * @summary Minimum allowed time.\n *\n * @example\n * import { minTime } from \"./constants/date-fns/constants\";\n *\n * const isValid = -8640000000000001 >= minTime;\n * //=> false\n *\n * new Date(-8640000000000001)\n * //=> Invalid Date\n */\nexport const minTime = -maxTime;\n\n/**\n * @constant\n * @name millisecondsInWeek\n * @summary Milliseconds in 1 week.\n */\nexport const millisecondsInWeek = 604800000;\n\n/**\n * @constant\n * @name millisecondsInDay\n * @summary Milliseconds in 1 day.\n */\nexport const millisecondsInDay = 86400000;\n\n/**\n * @constant\n * @name millisecondsInMinute\n * @summary Milliseconds in 1 minute\n */\nexport const millisecondsInMinute = 60000;\n\n/**\n * @constant\n * @name millisecondsInHour\n * @summary Milliseconds in 1 hour\n */\nexport const millisecondsInHour = 3600000;\n\n/**\n * @constant\n * @name millisecondsInSecond\n * @summary Milliseconds in 1 second\n */\nexport const millisecondsInSecond = 1000;\n\n/**\n * @constant\n * @name minutesInYear\n * @summary Minutes in 1 year.\n */\nexport const minutesInYear = 525600;\n\n/**\n * @constant\n * @name minutesInMonth\n * @summary Minutes in 1 month.\n */\nexport const minutesInMonth = 43200;\n\n/**\n * @constant\n * @name minutesInDay\n * @summary Minutes in 1 day.\n */\nexport const minutesInDay = 1440;\n\n/**\n * @constant\n * @name minutesInHour\n * @summary Minutes in 1 hour.\n */\nexport const minutesInHour = 60;\n\n/**\n * @constant\n * @name monthsInQuarter\n * @summary Months in 1 quarter.\n */\nexport const monthsInQuarter = 3;\n\n/**\n * @constant\n * @name monthsInYear\n * @summary Months in 1 year.\n */\nexport const monthsInYear = 12;\n\n/**\n * @constant\n * @name quartersInYear\n * @summary Quarters in 1 year\n */\nexport const quartersInYear = 4;\n\n/**\n * @constant\n * @name secondsInHour\n * @summary Seconds in 1 hour.\n */\nexport const secondsInHour = 3600;\n\n/**\n * @constant\n * @name secondsInMinute\n * @summary Seconds in 1 minute.\n */\nexport const secondsInMinute = 60;\n\n/**\n * @constant\n * @name secondsInDay\n * @summary Seconds in 1 day.\n */\nexport const secondsInDay = secondsInHour * 24;\n\n/**\n * @constant\n * @name secondsInWeek\n * @summary Seconds in 1 week.\n */\nexport const secondsInWeek = secondsInDay * 7;\n\n/**\n * @constant\n * @name secondsInYear\n * @summary Seconds in 1 year.\n */\nexport const secondsInYear = secondsInDay * daysInYear;\n\n/**\n * @constant\n * @name secondsInMonth\n * @summary Seconds in 1 month\n */\nexport const secondsInMonth = secondsInYear / 12;\n\n/**\n * @constant\n * @name secondsInQuarter\n * @summary Seconds in 1 quarter.\n */\nexport const secondsInQuarter = secondsInMonth * 3;\n","let defaultOptions = {};\n\nexport function getDefaultOptions() {\n return defaultOptions;\n}\n\nexport function setDefaultOptions(newOptions) {\n defaultOptions = newOptions;\n}\n","import { toDate } from \"./toDate.mjs\";\nimport { getDefaultOptions } from \"./_lib/defaultOptions.mjs\";\n\n/**\n * The {@link startOfWeek} function options.\n */\n\n/**\n * @name startOfWeek\n * @category Week Helpers\n * @summary Return the start of a week for the given date.\n *\n * @description\n * Return the start of a week for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n * @param options - An object with options\n *\n * @returns The start of a week\n *\n * @example\n * // The start of a week for 2 September 2014 11:55:00:\n * const result = startOfWeek(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Sun Aug 31 2014 00:00:00\n *\n * @example\n * // If the week starts on Monday, the start of the week for 2 September 2014 11:55:00:\n * const result = startOfWeek(new Date(2014, 8, 2, 11, 55, 0), { weekStartsOn: 1 })\n * //=> Mon Sep 01 2014 00:00:00\n */\nexport function startOfWeek(date, options) {\n const defaultOptions = getDefaultOptions();\n const weekStartsOn =\n options?.weekStartsOn ??\n options?.locale?.options?.weekStartsOn ??\n defaultOptions.weekStartsOn ??\n defaultOptions.locale?.options?.weekStartsOn ??\n 0;\n\n const _date = toDate(date);\n const day = _date.getDay();\n const diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\n\n _date.setDate(_date.getDate() - diff);\n _date.setHours(0, 0, 0, 0);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default startOfWeek;\n","import { startOfWeek } from \"./startOfWeek.mjs\";\n\n/**\n * @name startOfISOWeek\n * @category ISO Week Helpers\n * @summary Return the start of an ISO week for the given date.\n *\n * @description\n * Return the start of an ISO week for the given date.\n * The result will be in the local timezone.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n *\n * @returns The start of an ISO week\n *\n * @example\n * // The start of an ISO week for 2 September 2014 11:55:00:\n * const result = startOfISOWeek(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Mon Sep 01 2014 00:00:00\n */\nexport function startOfISOWeek(date) {\n return startOfWeek(date, { weekStartsOn: 1 });\n}\n\n// Fallback for modularized imports:\nexport default startOfISOWeek;\n","import { constructFrom } from \"./constructFrom.mjs\";\nimport { startOfISOWeek } from \"./startOfISOWeek.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n/**\n * @name getISOWeekYear\n * @category ISO Week-Numbering Year Helpers\n * @summary Get the ISO week-numbering year of the given date.\n *\n * @description\n * Get the ISO week-numbering year of the given date,\n * which always starts 3 days before the year's first Thursday.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The given date\n *\n * @returns The ISO week-numbering year\n *\n * @example\n * // Which ISO-week numbering year is 2 January 2005?\n * const result = getISOWeekYear(new Date(2005, 0, 2))\n * //=> 2004\n */\nexport function getISOWeekYear(date) {\n const _date = toDate(date);\n const year = _date.getFullYear();\n\n const fourthOfJanuaryOfNextYear = constructFrom(date, 0);\n fourthOfJanuaryOfNextYear.setFullYear(year + 1, 0, 4);\n fourthOfJanuaryOfNextYear.setHours(0, 0, 0, 0);\n const startOfNextYear = startOfISOWeek(fourthOfJanuaryOfNextYear);\n\n const fourthOfJanuaryOfThisYear = constructFrom(date, 0);\n fourthOfJanuaryOfThisYear.setFullYear(year, 0, 4);\n fourthOfJanuaryOfThisYear.setHours(0, 0, 0, 0);\n const startOfThisYear = startOfISOWeek(fourthOfJanuaryOfThisYear);\n\n if (_date.getTime() >= startOfNextYear.getTime()) {\n return year + 1;\n } else if (_date.getTime() >= startOfThisYear.getTime()) {\n return year;\n } else {\n return year - 1;\n }\n}\n\n// Fallback for modularized imports:\nexport default getISOWeekYear;\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name startOfDay\n * @category Day Helpers\n * @summary Return the start of a day for the given date.\n *\n * @description\n * Return the start of a day for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n *\n * @returns The start of a day\n *\n * @example\n * // The start of a day for 2 September 2014 11:55:00:\n * const result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 02 2014 00:00:00\n */\nexport function startOfDay(date) {\n const _date = toDate(date);\n _date.setHours(0, 0, 0, 0);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default startOfDay;\n","import { toDate } from \"../toDate.mjs\";\n\n/**\n * Google Chrome as of 67.0.3396.87 introduced timezones with offset that includes seconds.\n * They usually appear for dates that denote time before the timezones were introduced\n * (e.g. for 'Europe/Prague' timezone the offset is GMT+00:57:44 before 1 October 1891\n * and GMT+01:00:00 after that date)\n *\n * Date#getTimezoneOffset returns the offset in minutes and would return 57 for the example above,\n * which would lead to incorrect calculations.\n *\n * This function returns the timezone offset in milliseconds that takes seconds in account.\n */\nexport function getTimezoneOffsetInMilliseconds(date) {\n const _date = toDate(date);\n const utcDate = new Date(\n Date.UTC(\n _date.getFullYear(),\n _date.getMonth(),\n _date.getDate(),\n _date.getHours(),\n _date.getMinutes(),\n _date.getSeconds(),\n _date.getMilliseconds(),\n ),\n );\n utcDate.setUTCFullYear(_date.getFullYear());\n return +date - +utcDate;\n}\n","import { millisecondsInDay } from \"./constants.mjs\";\nimport { startOfDay } from \"./startOfDay.mjs\";\nimport { getTimezoneOffsetInMilliseconds } from \"./_lib/getTimezoneOffsetInMilliseconds.mjs\";\n\n/**\n * @name differenceInCalendarDays\n * @category Day Helpers\n * @summary Get the number of calendar days between the given dates.\n *\n * @description\n * Get the number of calendar days between the given dates. This means that the times are removed\n * from the dates and then the difference in days is calculated.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param dateLeft - The later date\n * @param dateRight - The earlier date\n *\n * @returns The number of calendar days\n *\n * @example\n * // How many calendar days are between\n * // 2 July 2011 23:00:00 and 2 July 2012 00:00:00?\n * const result = differenceInCalendarDays(\n * new Date(2012, 6, 2, 0, 0),\n * new Date(2011, 6, 2, 23, 0)\n * )\n * //=> 366\n * // How many calendar days are between\n * // 2 July 2011 23:59:00 and 3 July 2011 00:01:00?\n * const result = differenceInCalendarDays(\n * new Date(2011, 6, 3, 0, 1),\n * new Date(2011, 6, 2, 23, 59)\n * )\n * //=> 1\n */\nexport function differenceInCalendarDays(dateLeft, dateRight) {\n const startOfDayLeft = startOfDay(dateLeft);\n const startOfDayRight = startOfDay(dateRight);\n\n const timestampLeft =\n +startOfDayLeft - getTimezoneOffsetInMilliseconds(startOfDayLeft);\n const timestampRight =\n +startOfDayRight - getTimezoneOffsetInMilliseconds(startOfDayRight);\n\n // Round the number of days to the nearest integer because the number of\n // milliseconds in a day is not constant (e.g. it's different in the week of\n // the daylight saving time clock shift).\n return Math.round((timestampLeft - timestampRight) / millisecondsInDay);\n}\n\n// Fallback for modularized imports:\nexport default differenceInCalendarDays;\n","import { getISOWeekYear } from \"./getISOWeekYear.mjs\";\nimport { startOfISOWeek } from \"./startOfISOWeek.mjs\";\nimport { constructFrom } from \"./constructFrom.mjs\";\n\n/**\n * @name startOfISOWeekYear\n * @category ISO Week-Numbering Year Helpers\n * @summary Return the start of an ISO week-numbering year for the given date.\n *\n * @description\n * Return the start of an ISO week-numbering year,\n * which always starts 3 days before the year's first Thursday.\n * The result will be in the local timezone.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n *\n * @returns The start of an ISO week-numbering year\n *\n * @example\n * // The start of an ISO week-numbering year for 2 July 2005:\n * const result = startOfISOWeekYear(new Date(2005, 6, 2))\n * //=> Mon Jan 03 2005 00:00:00\n */\nexport function startOfISOWeekYear(date) {\n const year = getISOWeekYear(date);\n const fourthOfJanuary = constructFrom(date, 0);\n fourthOfJanuary.setFullYear(year, 0, 4);\n fourthOfJanuary.setHours(0, 0, 0, 0);\n return startOfISOWeek(fourthOfJanuary);\n}\n\n// Fallback for modularized imports:\nexport default startOfISOWeekYear;\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name compareAsc\n * @category Common Helpers\n * @summary Compare the two dates and return -1, 0 or 1.\n *\n * @description\n * Compare the two dates and return 1 if the first date is after the second,\n * -1 if the first date is before the second or 0 if dates are equal.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param dateLeft - The first date to compare\n * @param dateRight - The second date to compare\n *\n * @returns The result of the comparison\n *\n * @example\n * // Compare 11 February 1987 and 10 July 1989:\n * const result = compareAsc(new Date(1987, 1, 11), new Date(1989, 6, 10))\n * //=> -1\n *\n * @example\n * // Sort the array of dates:\n * const result = [\n * new Date(1995, 6, 2),\n * new Date(1987, 1, 11),\n * new Date(1989, 6, 10)\n * ].sort(compareAsc)\n * //=> [\n * // Wed Feb 11 1987 00:00:00,\n * // Mon Jul 10 1989 00:00:00,\n * // Sun Jul 02 1995 00:00:00\n * // ]\n */\nexport function compareAsc(dateLeft, dateRight) {\n const _dateLeft = toDate(dateLeft);\n const _dateRight = toDate(dateRight);\n\n const diff = _dateLeft.getTime() - _dateRight.getTime();\n\n if (diff < 0) {\n return -1;\n } else if (diff > 0) {\n return 1;\n // Return 0 if diff is 0; return NaN if diff is NaN\n } else {\n return diff;\n }\n}\n\n// Fallback for modularized imports:\nexport default compareAsc;\n","/**\n * @name isDate\n * @category Common Helpers\n * @summary Is the given value a date?\n *\n * @description\n * Returns true if the given value is an instance of Date. The function works for dates transferred across iframes.\n *\n * @param value - The value to check\n *\n * @returns True if the given value is a date\n *\n * @example\n * // For a valid date:\n * const result = isDate(new Date())\n * //=> true\n *\n * @example\n * // For an invalid date:\n * const result = isDate(new Date(NaN))\n * //=> true\n *\n * @example\n * // For some value:\n * const result = isDate('2014-02-31')\n * //=> false\n *\n * @example\n * // For an object:\n * const result = isDate({})\n * //=> false\n */\nexport function isDate(value) {\n return (\n value instanceof Date ||\n (typeof value === \"object\" &&\n Object.prototype.toString.call(value) === \"[object Date]\")\n );\n}\n\n// Fallback for modularized imports:\nexport default isDate;\n","import { isDate } from \"./isDate.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n/**\n * @name isValid\n * @category Common Helpers\n * @summary Is the given date valid?\n *\n * @description\n * Returns false if argument is Invalid Date and true otherwise.\n * Argument is converted to Date using `toDate`. See [toDate](https://date-fns.org/docs/toDate)\n * Invalid Date is a Date, whose time value is NaN.\n *\n * Time value of Date: http://es5.github.io/#x15.9.1.1\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The date to check\n *\n * @returns The date is valid\n *\n * @example\n * // For the valid date:\n * const result = isValid(new Date(2014, 1, 31))\n * //=> true\n *\n * @example\n * // For the value, convertable into a date:\n * const result = isValid(1393804800000)\n * //=> true\n *\n * @example\n * // For the invalid date:\n * const result = isValid(new Date(''))\n * //=> false\n */\nexport function isValid(date) {\n if (!isDate(date) && typeof date !== \"number\") {\n return false;\n }\n const _date = toDate(date);\n return !isNaN(Number(_date));\n}\n\n// Fallback for modularized imports:\nexport default isValid;\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name differenceInCalendarMonths\n * @category Month Helpers\n * @summary Get the number of calendar months between the given dates.\n *\n * @description\n * Get the number of calendar months between the given dates.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param dateLeft - The later date\n * @param dateRight - The earlier date\n *\n * @returns The number of calendar months\n *\n * @example\n * // How many calendar months are between 31 January 2014 and 1 September 2014?\n * const result = differenceInCalendarMonths(\n * new Date(2014, 8, 1),\n * new Date(2014, 0, 31)\n * )\n * //=> 8\n */\nexport function differenceInCalendarMonths(dateLeft, dateRight) {\n const _dateLeft = toDate(dateLeft);\n const _dateRight = toDate(dateRight);\n\n const yearDiff = _dateLeft.getFullYear() - _dateRight.getFullYear();\n const monthDiff = _dateLeft.getMonth() - _dateRight.getMonth();\n\n return yearDiff * 12 + monthDiff;\n}\n\n// Fallback for modularized imports:\nexport default differenceInCalendarMonths;\n","export function getRoundingMethod(method) {\n return (number) => {\n const round = method ? Math[method] : Math.trunc;\n const result = round(number);\n // Prevent negative zero\n return result === 0 ? 0 : result;\n };\n}\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name differenceInMilliseconds\n * @category Millisecond Helpers\n * @summary Get the number of milliseconds between the given dates.\n *\n * @description\n * Get the number of milliseconds between the given dates.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param dateLeft - The later date\n * @param dateRight - The earlier date\n *\n * @returns The number of milliseconds\n *\n * @example\n * // How many milliseconds are between\n * // 2 July 2014 12:30:20.600 and 2 July 2014 12:30:21.700?\n * const result = differenceInMilliseconds(\n * new Date(2014, 6, 2, 12, 30, 21, 700),\n * new Date(2014, 6, 2, 12, 30, 20, 600)\n * )\n * //=> 1100\n */\nexport function differenceInMilliseconds(dateLeft, dateRight) {\n return +toDate(dateLeft) - +toDate(dateRight);\n}\n\n// Fallback for modularized imports:\nexport default differenceInMilliseconds;\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name endOfDay\n * @category Day Helpers\n * @summary Return the end of a day for the given date.\n *\n * @description\n * Return the end of a day for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n *\n * @returns The end of a day\n *\n * @example\n * // The end of a day for 2 September 2014 11:55:00:\n * const result = endOfDay(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 02 2014 23:59:59.999\n */\nexport function endOfDay(date) {\n const _date = toDate(date);\n _date.setHours(23, 59, 59, 999);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default endOfDay;\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name endOfMonth\n * @category Month Helpers\n * @summary Return the end of a month for the given date.\n *\n * @description\n * Return the end of a month for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n *\n * @returns The end of a month\n *\n * @example\n * // The end of a month for 2 September 2014 11:55:00:\n * const result = endOfMonth(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 30 2014 23:59:59.999\n */\nexport function endOfMonth(date) {\n const _date = toDate(date);\n const month = _date.getMonth();\n _date.setFullYear(_date.getFullYear(), month + 1, 0);\n _date.setHours(23, 59, 59, 999);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default endOfMonth;\n","import { endOfDay } from \"./endOfDay.mjs\";\nimport { endOfMonth } from \"./endOfMonth.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n/**\n * @name isLastDayOfMonth\n * @category Month Helpers\n * @summary Is the given date the last day of a month?\n *\n * @description\n * Is the given date the last day of a month?\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The date to check\n\n * @returns The date is the last day of a month\n *\n * @example\n * // Is 28 February 2014 the last day of a month?\n * const result = isLastDayOfMonth(new Date(2014, 1, 28))\n * //=> true\n */\nexport function isLastDayOfMonth(date) {\n const _date = toDate(date);\n return +endOfDay(_date) === +endOfMonth(_date);\n}\n\n// Fallback for modularized imports:\nexport default isLastDayOfMonth;\n","import { compareAsc } from \"./compareAsc.mjs\";\nimport { differenceInCalendarMonths } from \"./differenceInCalendarMonths.mjs\";\nimport { isLastDayOfMonth } from \"./isLastDayOfMonth.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n/**\n * @name differenceInMonths\n * @category Month Helpers\n * @summary Get the number of full months between the given dates.\n *\n * @description\n * Get the number of full months between the given dates using trunc as a default rounding method.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param dateLeft - The later date\n * @param dateRight - The earlier date\n *\n * @returns The number of full months\n *\n * @example\n * // How many full months are between 31 January 2014 and 1 September 2014?\n * const result = differenceInMonths(new Date(2014, 8, 1), new Date(2014, 0, 31))\n * //=> 7\n */\nexport function differenceInMonths(dateLeft, dateRight) {\n const _dateLeft = toDate(dateLeft);\n const _dateRight = toDate(dateRight);\n\n const sign = compareAsc(_dateLeft, _dateRight);\n const difference = Math.abs(\n differenceInCalendarMonths(_dateLeft, _dateRight),\n );\n let result;\n\n // Check for the difference of less than month\n if (difference < 1) {\n result = 0;\n } else {\n if (_dateLeft.getMonth() === 1 && _dateLeft.getDate() > 27) {\n // This will check if the date is end of Feb and assign a higher end of month date\n // to compare it with Jan\n _dateLeft.setDate(30);\n }\n\n _dateLeft.setMonth(_dateLeft.getMonth() - sign * difference);\n\n // Math.abs(diff in full months - diff in calendar months) === 1 if last calendar month is not full\n // If so, result must be decreased by 1 in absolute value\n let isLastMonthNotFull = compareAsc(_dateLeft, _dateRight) === -sign;\n\n // Check for cases of one full calendar month\n if (\n isLastDayOfMonth(toDate(dateLeft)) &&\n difference === 1 &&\n compareAsc(dateLeft, _dateRight) === 1\n ) {\n isLastMonthNotFull = false;\n }\n\n result = sign * (difference - Number(isLastMonthNotFull));\n }\n\n // Prevent negative zero\n return result === 0 ? 0 : result;\n}\n\n// Fallback for modularized imports:\nexport default differenceInMonths;\n","import { getRoundingMethod } from \"./_lib/getRoundingMethod.mjs\";\nimport { differenceInMilliseconds } from \"./differenceInMilliseconds.mjs\";\n\n/**\n * The {@link differenceInSeconds} function options.\n */\n\n/**\n * @name differenceInSeconds\n * @category Second Helpers\n * @summary Get the number of seconds between the given dates.\n *\n * @description\n * Get the number of seconds between the given dates.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param dateLeft - The later date\n * @param dateRight - The earlier date\n * @param options - An object with options.\n *\n * @returns The number of seconds\n *\n * @example\n * // How many seconds are between\n * // 2 July 2014 12:30:07.999 and 2 July 2014 12:30:20.000?\n * const result = differenceInSeconds(\n * new Date(2014, 6, 2, 12, 30, 20, 0),\n * new Date(2014, 6, 2, 12, 30, 7, 999)\n * )\n * //=> 12\n */\nexport function differenceInSeconds(dateLeft, dateRight, options) {\n const diff = differenceInMilliseconds(dateLeft, dateRight) / 1000;\n return getRoundingMethod(options?.roundingMethod)(diff);\n}\n\n// Fallback for modularized imports:\nexport default differenceInSeconds;\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name startOfMonth\n * @category Month Helpers\n * @summary Return the start of a month for the given date.\n *\n * @description\n * Return the start of a month for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n *\n * @returns The start of a month\n *\n * @example\n * // The start of a month for 2 September 2014 11:55:00:\n * const result = startOfMonth(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Mon Sep 01 2014 00:00:00\n */\nexport function startOfMonth(date) {\n const _date = toDate(date);\n _date.setDate(1);\n _date.setHours(0, 0, 0, 0);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default startOfMonth;\n","import { toDate } from \"./toDate.mjs\";\nimport { constructFrom } from \"./constructFrom.mjs\";\n\n/**\n * @name startOfYear\n * @category Year Helpers\n * @summary Return the start of a year for the given date.\n *\n * @description\n * Return the start of a year for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n *\n * @returns The start of a year\n *\n * @example\n * // The start of a year for 2 September 2014 11:55:00:\n * const result = startOfYear(new Date(2014, 8, 2, 11, 55, 00))\n * //=> Wed Jan 01 2014 00:00:00\n */\nexport function startOfYear(date) {\n const cleanDate = toDate(date);\n const _date = constructFrom(date, 0);\n _date.setFullYear(cleanDate.getFullYear(), 0, 1);\n _date.setHours(0, 0, 0, 0);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default startOfYear;\n","/**\n * @name endOfYesterday\n * @category Day Helpers\n * @summary Return the end of yesterday.\n * @pure false\n *\n * @description\n * Return the end of yesterday.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @returns The end of yesterday\n *\n * @example\n * // If today is 6 October 2014:\n * const result = endOfYesterday()\n * //=> Sun Oct 5 2014 23:59:59.999\n */\nexport function endOfYesterday() {\n const now = new Date();\n const year = now.getFullYear();\n const month = now.getMonth();\n const day = now.getDate();\n\n const date = new Date(0);\n date.setFullYear(year, month, day - 1);\n date.setHours(23, 59, 59, 999);\n return date;\n}\n\n// Fallback for modularized imports:\nexport default endOfYesterday;\n","const formatDistanceLocale = {\n lessThanXSeconds: {\n one: \"less than a second\",\n other: \"less than {{count}} seconds\",\n },\n\n xSeconds: {\n one: \"1 second\",\n other: \"{{count}} seconds\",\n },\n\n halfAMinute: \"half a minute\",\n\n lessThanXMinutes: {\n one: \"less than a minute\",\n other: \"less than {{count}} minutes\",\n },\n\n xMinutes: {\n one: \"1 minute\",\n other: \"{{count}} minutes\",\n },\n\n aboutXHours: {\n one: \"about 1 hour\",\n other: \"about {{count}} hours\",\n },\n\n xHours: {\n one: \"1 hour\",\n other: \"{{count}} hours\",\n },\n\n xDays: {\n one: \"1 day\",\n other: \"{{count}} days\",\n },\n\n aboutXWeeks: {\n one: \"about 1 week\",\n other: \"about {{count}} weeks\",\n },\n\n xWeeks: {\n one: \"1 week\",\n other: \"{{count}} weeks\",\n },\n\n aboutXMonths: {\n one: \"about 1 month\",\n other: \"about {{count}} months\",\n },\n\n xMonths: {\n one: \"1 month\",\n other: \"{{count}} months\",\n },\n\n aboutXYears: {\n one: \"about 1 year\",\n other: \"about {{count}} years\",\n },\n\n xYears: {\n one: \"1 year\",\n other: \"{{count}} years\",\n },\n\n overXYears: {\n one: \"over 1 year\",\n other: \"over {{count}} years\",\n },\n\n almostXYears: {\n one: \"almost 1 year\",\n other: \"almost {{count}} years\",\n },\n};\n\nexport const formatDistance = (token, count, options) => {\n let result;\n\n const tokenValue = formatDistanceLocale[token];\n if (typeof tokenValue === \"string\") {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace(\"{{count}}\", count.toString());\n }\n\n if (options?.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return \"in \" + result;\n } else {\n return result + \" ago\";\n }\n }\n\n return result;\n};\n","export function buildFormatLongFn(args) {\n return (options = {}) => {\n // TODO: Remove String()\n const width = options.width ? String(options.width) : args.defaultWidth;\n const format = args.formats[width] || args.formats[args.defaultWidth];\n return format;\n };\n}\n","import { buildFormatLongFn } from \"../../_lib/buildFormatLongFn.mjs\";\n\nconst dateFormats = {\n full: \"EEEE, MMMM do, y\",\n long: \"MMMM do, y\",\n medium: \"MMM d, y\",\n short: \"MM/dd/yyyy\",\n};\n\nconst timeFormats = {\n full: \"h:mm:ss a zzzz\",\n long: \"h:mm:ss a z\",\n medium: \"h:mm:ss a\",\n short: \"h:mm a\",\n};\n\nconst dateTimeFormats = {\n full: \"{{date}} 'at' {{time}}\",\n long: \"{{date}} 'at' {{time}}\",\n medium: \"{{date}}, {{time}}\",\n short: \"{{date}}, {{time}}\",\n};\n\nexport const formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: \"full\",\n }),\n\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: \"full\",\n }),\n\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: \"full\",\n }),\n};\n","const formatRelativeLocale = {\n lastWeek: \"'last' eeee 'at' p\",\n yesterday: \"'yesterday at' p\",\n today: \"'today at' p\",\n tomorrow: \"'tomorrow at' p\",\n nextWeek: \"eeee 'at' p\",\n other: \"P\",\n};\n\nexport const formatRelative = (token, _date, _baseDate, _options) =>\n formatRelativeLocale[token];\n","/* eslint-disable no-unused-vars */\n\n/**\n * The localize function argument callback which allows to convert raw value to\n * the actual type.\n *\n * @param value - The value to convert\n *\n * @returns The converted value\n */\n\n/**\n * The map of localized values for each width.\n */\n\n/**\n * The index type of the locale unit value. It types conversion of units of\n * values that don't start at 0 (i.e. quarters).\n */\n\n/**\n * Converts the unit value to the tuple of values.\n */\n\n/**\n * The tuple of localized era values. The first element represents BC,\n * the second element represents AD.\n */\n\n/**\n * The tuple of localized quarter values. The first element represents Q1.\n */\n\n/**\n * The tuple of localized day values. The first element represents Sunday.\n */\n\n/**\n * The tuple of localized month values. The first element represents January.\n */\n\nexport function buildLocalizeFn(args) {\n return (value, options) => {\n const context = options?.context ? String(options.context) : \"standalone\";\n\n let valuesArray;\n if (context === \"formatting\" && args.formattingValues) {\n const defaultWidth = args.defaultFormattingWidth || args.defaultWidth;\n const width = options?.width ? String(options.width) : defaultWidth;\n\n valuesArray =\n args.formattingValues[width] || args.formattingValues[defaultWidth];\n } else {\n const defaultWidth = args.defaultWidth;\n const width = options?.width ? String(options.width) : args.defaultWidth;\n\n valuesArray = args.values[width] || args.values[defaultWidth];\n }\n const index = args.argumentCallback ? args.argumentCallback(value) : value;\n\n // @ts-expect-error - For some reason TypeScript just don't want to match it, no matter how hard we try. I challenge you to try to remove it!\n return valuesArray[index];\n };\n}\n","import { buildLocalizeFn } from \"../../_lib/buildLocalizeFn.mjs\";\n\nconst eraValues = {\n narrow: [\"B\", \"A\"],\n abbreviated: [\"BC\", \"AD\"],\n wide: [\"Before Christ\", \"Anno Domini\"],\n};\n\nconst quarterValues = {\n narrow: [\"1\", \"2\", \"3\", \"4\"],\n abbreviated: [\"Q1\", \"Q2\", \"Q3\", \"Q4\"],\n wide: [\"1st quarter\", \"2nd quarter\", \"3rd quarter\", \"4th quarter\"],\n};\n\n// Note: in English, the names of days of the week and months are capitalized.\n// If you are making a new locale based on this one, check if the same is true for the language you're working on.\n// Generally, formatted dates should look like they are in the middle of a sentence,\n// e.g. in Spanish language the weekdays and months should be in the lowercase.\nconst monthValues = {\n narrow: [\"J\", \"F\", \"M\", \"A\", \"M\", \"J\", \"J\", \"A\", \"S\", \"O\", \"N\", \"D\"],\n abbreviated: [\n \"Jan\",\n \"Feb\",\n \"Mar\",\n \"Apr\",\n \"May\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sep\",\n \"Oct\",\n \"Nov\",\n \"Dec\",\n ],\n\n wide: [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\",\n ],\n};\n\nconst dayValues = {\n narrow: [\"S\", \"M\", \"T\", \"W\", \"T\", \"F\", \"S\"],\n short: [\"Su\", \"Mo\", \"Tu\", \"We\", \"Th\", \"Fr\", \"Sa\"],\n abbreviated: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n wide: [\n \"Sunday\",\n \"Monday\",\n \"Tuesday\",\n \"Wednesday\",\n \"Thursday\",\n \"Friday\",\n \"Saturday\",\n ],\n};\n\nconst dayPeriodValues = {\n narrow: {\n am: \"a\",\n pm: \"p\",\n midnight: \"mi\",\n noon: \"n\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\",\n },\n abbreviated: {\n am: \"AM\",\n pm: \"PM\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\",\n },\n wide: {\n am: \"a.m.\",\n pm: \"p.m.\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\",\n },\n};\n\nconst formattingDayPeriodValues = {\n narrow: {\n am: \"a\",\n pm: \"p\",\n midnight: \"mi\",\n noon: \"n\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\",\n },\n abbreviated: {\n am: \"AM\",\n pm: \"PM\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\",\n },\n wide: {\n am: \"a.m.\",\n pm: \"p.m.\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\",\n },\n};\n\nconst ordinalNumber = (dirtyNumber, _options) => {\n const number = Number(dirtyNumber);\n\n // If ordinal numbers depend on context, for example,\n // if they are different for different grammatical genders,\n // use `options.unit`.\n //\n // `unit` can be 'year', 'quarter', 'month', 'week', 'date', 'dayOfYear',\n // 'day', 'hour', 'minute', 'second'.\n\n const rem100 = number % 100;\n if (rem100 > 20 || rem100 < 10) {\n switch (rem100 % 10) {\n case 1:\n return number + \"st\";\n case 2:\n return number + \"nd\";\n case 3:\n return number + \"rd\";\n }\n }\n return number + \"th\";\n};\n\nexport const localize = {\n ordinalNumber,\n\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: \"wide\",\n }),\n\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: \"wide\",\n argumentCallback: (quarter) => quarter - 1,\n }),\n\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: \"wide\",\n }),\n\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: \"wide\",\n }),\n\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: \"wide\",\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: \"wide\",\n }),\n};\n","export function buildMatchFn(args) {\n return (string, options = {}) => {\n const width = options.width;\n\n const matchPattern =\n (width && args.matchPatterns[width]) ||\n args.matchPatterns[args.defaultMatchWidth];\n const matchResult = string.match(matchPattern);\n\n if (!matchResult) {\n return null;\n }\n const matchedString = matchResult[0];\n\n const parsePatterns =\n (width && args.parsePatterns[width]) ||\n args.parsePatterns[args.defaultParseWidth];\n\n const key = Array.isArray(parsePatterns)\n ? findIndex(parsePatterns, (pattern) => pattern.test(matchedString))\n : // eslint-disable-next-line @typescript-eslint/no-explicit-any -- I challange you to fix the type\n findKey(parsePatterns, (pattern) => pattern.test(matchedString));\n\n let value;\n\n value = args.valueCallback ? args.valueCallback(key) : key;\n value = options.valueCallback\n ? // eslint-disable-next-line @typescript-eslint/no-explicit-any -- I challange you to fix the type\n options.valueCallback(value)\n : value;\n\n const rest = string.slice(matchedString.length);\n\n return { value, rest };\n };\n}\n\nfunction findKey(object, predicate) {\n for (const key in object) {\n if (\n Object.prototype.hasOwnProperty.call(object, key) &&\n predicate(object[key])\n ) {\n return key;\n }\n }\n return undefined;\n}\n\nfunction findIndex(array, predicate) {\n for (let key = 0; key < array.length; key++) {\n if (predicate(array[key])) {\n return key;\n }\n }\n return undefined;\n}\n","export function buildMatchPatternFn(args) {\n return (string, options = {}) => {\n const matchResult = string.match(args.matchPattern);\n if (!matchResult) return null;\n const matchedString = matchResult[0];\n\n const parseResult = string.match(args.parsePattern);\n if (!parseResult) return null;\n let value = args.valueCallback\n ? args.valueCallback(parseResult[0])\n : parseResult[0];\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any -- I challange you to fix the type\n value = options.valueCallback ? options.valueCallback(value) : value;\n\n const rest = string.slice(matchedString.length);\n\n return { value, rest };\n };\n}\n","import { buildMatchFn } from \"../../_lib/buildMatchFn.mjs\";\nimport { buildMatchPatternFn } from \"../../_lib/buildMatchPatternFn.mjs\";\n\nconst matchOrdinalNumberPattern = /^(\\d+)(th|st|nd|rd)?/i;\nconst parseOrdinalNumberPattern = /\\d+/i;\n\nconst matchEraPatterns = {\n narrow: /^(b|a)/i,\n abbreviated: /^(b\\.?\\s?c\\.?|b\\.?\\s?c\\.?\\s?e\\.?|a\\.?\\s?d\\.?|c\\.?\\s?e\\.?)/i,\n wide: /^(before christ|before common era|anno domini|common era)/i,\n};\nconst parseEraPatterns = {\n any: [/^b/i, /^(a|c)/i],\n};\n\nconst matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^q[1234]/i,\n wide: /^[1234](th|st|nd|rd)? quarter/i,\n};\nconst parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i],\n};\n\nconst matchMonthPatterns = {\n narrow: /^[jfmasond]/i,\n abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,\n wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i,\n};\nconst parseMonthPatterns = {\n narrow: [\n /^j/i,\n /^f/i,\n /^m/i,\n /^a/i,\n /^m/i,\n /^j/i,\n /^j/i,\n /^a/i,\n /^s/i,\n /^o/i,\n /^n/i,\n /^d/i,\n ],\n\n any: [\n /^ja/i,\n /^f/i,\n /^mar/i,\n /^ap/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^au/i,\n /^s/i,\n /^o/i,\n /^n/i,\n /^d/i,\n ],\n};\n\nconst matchDayPatterns = {\n narrow: /^[smtwf]/i,\n short: /^(su|mo|tu|we|th|fr|sa)/i,\n abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i,\n wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i,\n};\nconst parseDayPatterns = {\n narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i],\n any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i],\n};\n\nconst matchDayPeriodPatterns = {\n narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,\n any: /^([ap]\\.?\\s?m\\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i,\n};\nconst parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^mi/i,\n noon: /^no/i,\n morning: /morning/i,\n afternoon: /afternoon/i,\n evening: /evening/i,\n night: /night/i,\n },\n};\n\nexport const match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: (value) => parseInt(value, 10),\n }),\n\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseEraPatterns,\n defaultParseWidth: \"any\",\n }),\n\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: \"any\",\n valueCallback: (index) => index + 1,\n }),\n\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: \"any\",\n }),\n\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseDayPatterns,\n defaultParseWidth: \"any\",\n }),\n\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: \"any\",\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: \"any\",\n }),\n};\n","import { formatDistance } from \"./en-US/_lib/formatDistance.mjs\";\nimport { formatLong } from \"./en-US/_lib/formatLong.mjs\";\nimport { formatRelative } from \"./en-US/_lib/formatRelative.mjs\";\nimport { localize } from \"./en-US/_lib/localize.mjs\";\nimport { match } from \"./en-US/_lib/match.mjs\";\n\n/**\n * @category Locales\n * @summary English locale (United States).\n * @language English\n * @iso-639-2 eng\n * @author Sasha Koss [@kossnocorp](https://github.com/kossnocorp)\n * @author Lesha Koss [@leshakoss](https://github.com/leshakoss)\n */\nexport const enUS = {\n code: \"en-US\",\n formatDistance: formatDistance,\n formatLong: formatLong,\n formatRelative: formatRelative,\n localize: localize,\n match: match,\n options: {\n weekStartsOn: 0 /* Sunday */,\n firstWeekContainsDate: 1,\n },\n};\n\n// Fallback for modularized imports:\nexport default enUS;\n","import { differenceInCalendarDays } from \"./differenceInCalendarDays.mjs\";\nimport { startOfYear } from \"./startOfYear.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n/**\n * @name getDayOfYear\n * @category Day Helpers\n * @summary Get the day of the year of the given date.\n *\n * @description\n * Get the day of the year of the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The given date\n *\n * @returns The day of year\n *\n * @example\n * // Which day of the year is 2 July 2014?\n * const result = getDayOfYear(new Date(2014, 6, 2))\n * //=> 183\n */\nexport function getDayOfYear(date) {\n const _date = toDate(date);\n const diff = differenceInCalendarDays(_date, startOfYear(_date));\n const dayOfYear = diff + 1;\n return dayOfYear;\n}\n\n// Fallback for modularized imports:\nexport default getDayOfYear;\n","import { millisecondsInWeek } from \"./constants.mjs\";\nimport { startOfISOWeek } from \"./startOfISOWeek.mjs\";\nimport { startOfISOWeekYear } from \"./startOfISOWeekYear.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n/**\n * @name getISOWeek\n * @category ISO Week Helpers\n * @summary Get the ISO week of the given date.\n *\n * @description\n * Get the ISO week of the given date.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The given date\n *\n * @returns The ISO week\n *\n * @example\n * // Which week of the ISO-week numbering year is 2 January 2005?\n * const result = getISOWeek(new Date(2005, 0, 2))\n * //=> 53\n */\nexport function getISOWeek(date) {\n const _date = toDate(date);\n const diff = +startOfISOWeek(_date) - +startOfISOWeekYear(_date);\n\n // Round the number of weeks to the nearest integer because the number of\n // milliseconds in a week is not constant (e.g. it's different in the week of\n // the daylight saving time clock shift).\n return Math.round(diff / millisecondsInWeek) + 1;\n}\n\n// Fallback for modularized imports:\nexport default getISOWeek;\n","import { constructFrom } from \"./constructFrom.mjs\";\nimport { startOfWeek } from \"./startOfWeek.mjs\";\nimport { toDate } from \"./toDate.mjs\";\nimport { getDefaultOptions } from \"./_lib/defaultOptions.mjs\";\n\n/**\n * The {@link getWeekYear} function options.\n */\n\n/**\n * @name getWeekYear\n * @category Week-Numbering Year Helpers\n * @summary Get the local week-numbering year of the given date.\n *\n * @description\n * Get the local week-numbering year of the given date.\n * The exact calculation depends on the values of\n * `options.weekStartsOn` (which is the index of the first day of the week)\n * and `options.firstWeekContainsDate` (which is the day of January, which is always in\n * the first week of the week-numbering year)\n *\n * Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The given date\n * @param options - An object with options.\n *\n * @returns The local week-numbering year\n *\n * @example\n * // Which week numbering year is 26 December 2004 with the default settings?\n * const result = getWeekYear(new Date(2004, 11, 26))\n * //=> 2005\n *\n * @example\n * // Which week numbering year is 26 December 2004 if week starts on Saturday?\n * const result = getWeekYear(new Date(2004, 11, 26), { weekStartsOn: 6 })\n * //=> 2004\n *\n * @example\n * // Which week numbering year is 26 December 2004 if the first week contains 4 January?\n * const result = getWeekYear(new Date(2004, 11, 26), { firstWeekContainsDate: 4 })\n * //=> 2004\n */\nexport function getWeekYear(date, options) {\n const _date = toDate(date);\n const year = _date.getFullYear();\n\n const defaultOptions = getDefaultOptions();\n const firstWeekContainsDate =\n options?.firstWeekContainsDate ??\n options?.locale?.options?.firstWeekContainsDate ??\n defaultOptions.firstWeekContainsDate ??\n defaultOptions.locale?.options?.firstWeekContainsDate ??\n 1;\n\n const firstWeekOfNextYear = constructFrom(date, 0);\n firstWeekOfNextYear.setFullYear(year + 1, 0, firstWeekContainsDate);\n firstWeekOfNextYear.setHours(0, 0, 0, 0);\n const startOfNextYear = startOfWeek(firstWeekOfNextYear, options);\n\n const firstWeekOfThisYear = constructFrom(date, 0);\n firstWeekOfThisYear.setFullYear(year, 0, firstWeekContainsDate);\n firstWeekOfThisYear.setHours(0, 0, 0, 0);\n const startOfThisYear = startOfWeek(firstWeekOfThisYear, options);\n\n if (_date.getTime() >= startOfNextYear.getTime()) {\n return year + 1;\n } else if (_date.getTime() >= startOfThisYear.getTime()) {\n return year;\n } else {\n return year - 1;\n }\n}\n\n// Fallback for modularized imports:\nexport default getWeekYear;\n","import { constructFrom } from \"./constructFrom.mjs\";\nimport { getWeekYear } from \"./getWeekYear.mjs\";\nimport { startOfWeek } from \"./startOfWeek.mjs\";\nimport { getDefaultOptions } from \"./_lib/defaultOptions.mjs\";\n\n/**\n * The {@link startOfWeekYear} function options.\n */\n\n/**\n * @name startOfWeekYear\n * @category Week-Numbering Year Helpers\n * @summary Return the start of a local week-numbering year for the given date.\n *\n * @description\n * Return the start of a local week-numbering year.\n * The exact calculation depends on the values of\n * `options.weekStartsOn` (which is the index of the first day of the week)\n * and `options.firstWeekContainsDate` (which is the day of January, which is always in\n * the first week of the week-numbering year)\n *\n * Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n * @param options - An object with options\n *\n * @returns The start of a week-numbering year\n *\n * @example\n * // The start of an a week-numbering year for 2 July 2005 with default settings:\n * const result = startOfWeekYear(new Date(2005, 6, 2))\n * //=> Sun Dec 26 2004 00:00:00\n *\n * @example\n * // The start of a week-numbering year for 2 July 2005\n * // if Monday is the first day of week\n * // and 4 January is always in the first week of the year:\n * const result = startOfWeekYear(new Date(2005, 6, 2), {\n * weekStartsOn: 1,\n * firstWeekContainsDate: 4\n * })\n * //=> Mon Jan 03 2005 00:00:00\n */\nexport function startOfWeekYear(date, options) {\n const defaultOptions = getDefaultOptions();\n const firstWeekContainsDate =\n options?.firstWeekContainsDate ??\n options?.locale?.options?.firstWeekContainsDate ??\n defaultOptions.firstWeekContainsDate ??\n defaultOptions.locale?.options?.firstWeekContainsDate ??\n 1;\n\n const year = getWeekYear(date, options);\n const firstWeek = constructFrom(date, 0);\n firstWeek.setFullYear(year, 0, firstWeekContainsDate);\n firstWeek.setHours(0, 0, 0, 0);\n const _date = startOfWeek(firstWeek, options);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default startOfWeekYear;\n","import { millisecondsInWeek } from \"./constants.mjs\";\nimport { startOfWeek } from \"./startOfWeek.mjs\";\nimport { startOfWeekYear } from \"./startOfWeekYear.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n/**\n * The {@link getWeek} function options.\n */\n\n/**\n * @name getWeek\n * @category Week Helpers\n * @summary Get the local week index of the given date.\n *\n * @description\n * Get the local week index of the given date.\n * The exact calculation depends on the values of\n * `options.weekStartsOn` (which is the index of the first day of the week)\n * and `options.firstWeekContainsDate` (which is the day of January, which is always in\n * the first week of the week-numbering year)\n *\n * Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The given date\n * @param options - An object with options\n *\n * @returns The week\n *\n * @example\n * // Which week of the local week numbering year is 2 January 2005 with default options?\n * const result = getWeek(new Date(2005, 0, 2))\n * //=> 2\n *\n * @example\n * // Which week of the local week numbering year is 2 January 2005,\n * // if Monday is the first day of the week,\n * // and the first week of the year always contains 4 January?\n * const result = getWeek(new Date(2005, 0, 2), {\n * weekStartsOn: 1,\n * firstWeekContainsDate: 4\n * })\n * //=> 53\n */\n\nexport function getWeek(date, options) {\n const _date = toDate(date);\n const diff = +startOfWeek(_date, options) - +startOfWeekYear(_date, options);\n\n // Round the number of weeks to the nearest integer because the number of\n // milliseconds in a week is not constant (e.g. it's different in the week of\n // the daylight saving time clock shift).\n return Math.round(diff / millisecondsInWeek) + 1;\n}\n\n// Fallback for modularized imports:\nexport default getWeek;\n","export function addLeadingZeros(number, targetLength) {\n const sign = number < 0 ? \"-\" : \"\";\n const output = Math.abs(number).toString().padStart(targetLength, \"0\");\n return sign + output;\n}\n","import { addLeadingZeros } from \"../addLeadingZeros.mjs\";\n\n/*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | |\n * | d | Day of month | D | |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | m | Minute | M | Month |\n * | s | Second | S | Fraction of second |\n * | y | Year (abs) | Y | |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n */\n\nexport const lightFormatters = {\n // Year\n y(date, token) {\n // From http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_tokens\n // | Year | y | yy | yyy | yyyy | yyyyy |\n // |----------|-------|----|-------|-------|-------|\n // | AD 1 | 1 | 01 | 001 | 0001 | 00001 |\n // | AD 12 | 12 | 12 | 012 | 0012 | 00012 |\n // | AD 123 | 123 | 23 | 123 | 0123 | 00123 |\n // | AD 1234 | 1234 | 34 | 1234 | 1234 | 01234 |\n // | AD 12345 | 12345 | 45 | 12345 | 12345 | 12345 |\n\n const signedYear = date.getFullYear();\n // Returns 1 for 1 BC (which is year 0 in JavaScript)\n const year = signedYear > 0 ? signedYear : 1 - signedYear;\n return addLeadingZeros(token === \"yy\" ? year % 100 : year, token.length);\n },\n\n // Month\n M(date, token) {\n const month = date.getMonth();\n return token === \"M\" ? String(month + 1) : addLeadingZeros(month + 1, 2);\n },\n\n // Day of the month\n d(date, token) {\n return addLeadingZeros(date.getDate(), token.length);\n },\n\n // AM or PM\n a(date, token) {\n const dayPeriodEnumValue = date.getHours() / 12 >= 1 ? \"pm\" : \"am\";\n\n switch (token) {\n case \"a\":\n case \"aa\":\n return dayPeriodEnumValue.toUpperCase();\n case \"aaa\":\n return dayPeriodEnumValue;\n case \"aaaaa\":\n return dayPeriodEnumValue[0];\n case \"aaaa\":\n default:\n return dayPeriodEnumValue === \"am\" ? \"a.m.\" : \"p.m.\";\n }\n },\n\n // Hour [1-12]\n h(date, token) {\n return addLeadingZeros(date.getHours() % 12 || 12, token.length);\n },\n\n // Hour [0-23]\n H(date, token) {\n return addLeadingZeros(date.getHours(), token.length);\n },\n\n // Minute\n m(date, token) {\n return addLeadingZeros(date.getMinutes(), token.length);\n },\n\n // Second\n s(date, token) {\n return addLeadingZeros(date.getSeconds(), token.length);\n },\n\n // Fraction of second\n S(date, token) {\n const numberOfDigits = token.length;\n const milliseconds = date.getMilliseconds();\n const fractionalSeconds = Math.trunc(\n milliseconds * Math.pow(10, numberOfDigits - 3),\n );\n return addLeadingZeros(fractionalSeconds, token.length);\n },\n};\n","import { getDayOfYear } from \"../../getDayOfYear.mjs\";\nimport { getISOWeek } from \"../../getISOWeek.mjs\";\nimport { getISOWeekYear } from \"../../getISOWeekYear.mjs\";\nimport { getWeek } from \"../../getWeek.mjs\";\nimport { getWeekYear } from \"../../getWeekYear.mjs\";\nimport { addLeadingZeros } from \"../addLeadingZeros.mjs\";\nimport { lightFormatters } from \"./lightFormatters.mjs\";\n\nconst dayPeriodEnum = {\n am: \"am\",\n pm: \"pm\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\",\n};\n\n/*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | Milliseconds in day |\n * | b | AM, PM, noon, midnight | B | Flexible day period |\n * | c | Stand-alone local day of week | C* | Localized hour w/ day period |\n * | d | Day of month | D | Day of year |\n * | e | Local day of week | E | Day of week |\n * | f | | F* | Day of week in month |\n * | g* | Modified Julian day | G | Era |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | i! | ISO day of week | I! | ISO week of year |\n * | j* | Localized hour w/ day period | J* | Localized hour w/o day period |\n * | k | Hour [1-24] | K | Hour [0-11] |\n * | l* | (deprecated) | L | Stand-alone month |\n * | m | Minute | M | Month |\n * | n | | N | |\n * | o! | Ordinal number modifier | O | Timezone (GMT) |\n * | p! | Long localized time | P! | Long localized date |\n * | q | Stand-alone quarter | Q | Quarter |\n * | r* | Related Gregorian year | R! | ISO week-numbering year |\n * | s | Second | S | Fraction of second |\n * | t! | Seconds timestamp | T! | Milliseconds timestamp |\n * | u | Extended year | U* | Cyclic year |\n * | v* | Timezone (generic non-locat.) | V* | Timezone (location) |\n * | w | Local week of year | W* | Week of month |\n * | x | Timezone (ISO-8601 w/o Z) | X | Timezone (ISO-8601) |\n * | y | Year (abs) | Y | Local week-numbering year |\n * | z | Timezone (specific non-locat.) | Z* | Timezone (aliases) |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n *\n * Letters marked by ! are non-standard, but implemented by date-fns:\n * - `o` modifies the previous token to turn it into an ordinal (see `format` docs)\n * - `i` is ISO day of week. For `i` and `ii` is returns numeric ISO week days,\n * i.e. 7 for Sunday, 1 for Monday, etc.\n * - `I` is ISO week of year, as opposed to `w` which is local week of year.\n * - `R` is ISO week-numbering year, as opposed to `Y` which is local week-numbering year.\n * `R` is supposed to be used in conjunction with `I` and `i`\n * for universal ISO week-numbering date, whereas\n * `Y` is supposed to be used in conjunction with `w` and `e`\n * for week-numbering date specific to the locale.\n * - `P` is long localized date format\n * - `p` is long localized time format\n */\n\nexport const formatters = {\n // Era\n G: function (date, token, localize) {\n const era = date.getFullYear() > 0 ? 1 : 0;\n switch (token) {\n // AD, BC\n case \"G\":\n case \"GG\":\n case \"GGG\":\n return localize.era(era, { width: \"abbreviated\" });\n // A, B\n case \"GGGGG\":\n return localize.era(era, { width: \"narrow\" });\n // Anno Domini, Before Christ\n case \"GGGG\":\n default:\n return localize.era(era, { width: \"wide\" });\n }\n },\n\n // Year\n y: function (date, token, localize) {\n // Ordinal number\n if (token === \"yo\") {\n const signedYear = date.getFullYear();\n // Returns 1 for 1 BC (which is year 0 in JavaScript)\n const year = signedYear > 0 ? signedYear : 1 - signedYear;\n return localize.ordinalNumber(year, { unit: \"year\" });\n }\n\n return lightFormatters.y(date, token);\n },\n\n // Local week-numbering year\n Y: function (date, token, localize, options) {\n const signedWeekYear = getWeekYear(date, options);\n // Returns 1 for 1 BC (which is year 0 in JavaScript)\n const weekYear = signedWeekYear > 0 ? signedWeekYear : 1 - signedWeekYear;\n\n // Two digit year\n if (token === \"YY\") {\n const twoDigitYear = weekYear % 100;\n return addLeadingZeros(twoDigitYear, 2);\n }\n\n // Ordinal number\n if (token === \"Yo\") {\n return localize.ordinalNumber(weekYear, { unit: \"year\" });\n }\n\n // Padding\n return addLeadingZeros(weekYear, token.length);\n },\n\n // ISO week-numbering year\n R: function (date, token) {\n const isoWeekYear = getISOWeekYear(date);\n\n // Padding\n return addLeadingZeros(isoWeekYear, token.length);\n },\n\n // Extended year. This is a single number designating the year of this calendar system.\n // The main difference between `y` and `u` localizers are B.C. years:\n // | Year | `y` | `u` |\n // |------|-----|-----|\n // | AC 1 | 1 | 1 |\n // | BC 1 | 1 | 0 |\n // | BC 2 | 2 | -1 |\n // Also `yy` always returns the last two digits of a year,\n // while `uu` pads single digit years to 2 characters and returns other years unchanged.\n u: function (date, token) {\n const year = date.getFullYear();\n return addLeadingZeros(year, token.length);\n },\n\n // Quarter\n Q: function (date, token, localize) {\n const quarter = Math.ceil((date.getMonth() + 1) / 3);\n switch (token) {\n // 1, 2, 3, 4\n case \"Q\":\n return String(quarter);\n // 01, 02, 03, 04\n case \"QQ\":\n return addLeadingZeros(quarter, 2);\n // 1st, 2nd, 3rd, 4th\n case \"Qo\":\n return localize.ordinalNumber(quarter, { unit: \"quarter\" });\n // Q1, Q2, Q3, Q4\n case \"QQQ\":\n return localize.quarter(quarter, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n case \"QQQQQ\":\n return localize.quarter(quarter, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // 1st quarter, 2nd quarter, ...\n case \"QQQQ\":\n default:\n return localize.quarter(quarter, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // Stand-alone quarter\n q: function (date, token, localize) {\n const quarter = Math.ceil((date.getMonth() + 1) / 3);\n switch (token) {\n // 1, 2, 3, 4\n case \"q\":\n return String(quarter);\n // 01, 02, 03, 04\n case \"qq\":\n return addLeadingZeros(quarter, 2);\n // 1st, 2nd, 3rd, 4th\n case \"qo\":\n return localize.ordinalNumber(quarter, { unit: \"quarter\" });\n // Q1, Q2, Q3, Q4\n case \"qqq\":\n return localize.quarter(quarter, {\n width: \"abbreviated\",\n context: \"standalone\",\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n case \"qqqqq\":\n return localize.quarter(quarter, {\n width: \"narrow\",\n context: \"standalone\",\n });\n // 1st quarter, 2nd quarter, ...\n case \"qqqq\":\n default:\n return localize.quarter(quarter, {\n width: \"wide\",\n context: \"standalone\",\n });\n }\n },\n\n // Month\n M: function (date, token, localize) {\n const month = date.getMonth();\n switch (token) {\n case \"M\":\n case \"MM\":\n return lightFormatters.M(date, token);\n // 1st, 2nd, ..., 12th\n case \"Mo\":\n return localize.ordinalNumber(month + 1, { unit: \"month\" });\n // Jan, Feb, ..., Dec\n case \"MMM\":\n return localize.month(month, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n // J, F, ..., D\n case \"MMMMM\":\n return localize.month(month, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // January, February, ..., December\n case \"MMMM\":\n default:\n return localize.month(month, { width: \"wide\", context: \"formatting\" });\n }\n },\n\n // Stand-alone month\n L: function (date, token, localize) {\n const month = date.getMonth();\n switch (token) {\n // 1, 2, ..., 12\n case \"L\":\n return String(month + 1);\n // 01, 02, ..., 12\n case \"LL\":\n return addLeadingZeros(month + 1, 2);\n // 1st, 2nd, ..., 12th\n case \"Lo\":\n return localize.ordinalNumber(month + 1, { unit: \"month\" });\n // Jan, Feb, ..., Dec\n case \"LLL\":\n return localize.month(month, {\n width: \"abbreviated\",\n context: \"standalone\",\n });\n // J, F, ..., D\n case \"LLLLL\":\n return localize.month(month, {\n width: \"narrow\",\n context: \"standalone\",\n });\n // January, February, ..., December\n case \"LLLL\":\n default:\n return localize.month(month, { width: \"wide\", context: \"standalone\" });\n }\n },\n\n // Local week of year\n w: function (date, token, localize, options) {\n const week = getWeek(date, options);\n\n if (token === \"wo\") {\n return localize.ordinalNumber(week, { unit: \"week\" });\n }\n\n return addLeadingZeros(week, token.length);\n },\n\n // ISO week of year\n I: function (date, token, localize) {\n const isoWeek = getISOWeek(date);\n\n if (token === \"Io\") {\n return localize.ordinalNumber(isoWeek, { unit: \"week\" });\n }\n\n return addLeadingZeros(isoWeek, token.length);\n },\n\n // Day of the month\n d: function (date, token, localize) {\n if (token === \"do\") {\n return localize.ordinalNumber(date.getDate(), { unit: \"date\" });\n }\n\n return lightFormatters.d(date, token);\n },\n\n // Day of year\n D: function (date, token, localize) {\n const dayOfYear = getDayOfYear(date);\n\n if (token === \"Do\") {\n return localize.ordinalNumber(dayOfYear, { unit: \"dayOfYear\" });\n }\n\n return addLeadingZeros(dayOfYear, token.length);\n },\n\n // Day of week\n E: function (date, token, localize) {\n const dayOfWeek = date.getDay();\n switch (token) {\n // Tue\n case \"E\":\n case \"EE\":\n case \"EEE\":\n return localize.day(dayOfWeek, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n // T\n case \"EEEEE\":\n return localize.day(dayOfWeek, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // Tu\n case \"EEEEEE\":\n return localize.day(dayOfWeek, {\n width: \"short\",\n context: \"formatting\",\n });\n // Tuesday\n case \"EEEE\":\n default:\n return localize.day(dayOfWeek, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // Local day of week\n e: function (date, token, localize, options) {\n const dayOfWeek = date.getDay();\n const localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;\n switch (token) {\n // Numerical value (Nth day of week with current locale or weekStartsOn)\n case \"e\":\n return String(localDayOfWeek);\n // Padded numerical value\n case \"ee\":\n return addLeadingZeros(localDayOfWeek, 2);\n // 1st, 2nd, ..., 7th\n case \"eo\":\n return localize.ordinalNumber(localDayOfWeek, { unit: \"day\" });\n case \"eee\":\n return localize.day(dayOfWeek, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n // T\n case \"eeeee\":\n return localize.day(dayOfWeek, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // Tu\n case \"eeeeee\":\n return localize.day(dayOfWeek, {\n width: \"short\",\n context: \"formatting\",\n });\n // Tuesday\n case \"eeee\":\n default:\n return localize.day(dayOfWeek, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // Stand-alone local day of week\n c: function (date, token, localize, options) {\n const dayOfWeek = date.getDay();\n const localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;\n switch (token) {\n // Numerical value (same as in `e`)\n case \"c\":\n return String(localDayOfWeek);\n // Padded numerical value\n case \"cc\":\n return addLeadingZeros(localDayOfWeek, token.length);\n // 1st, 2nd, ..., 7th\n case \"co\":\n return localize.ordinalNumber(localDayOfWeek, { unit: \"day\" });\n case \"ccc\":\n return localize.day(dayOfWeek, {\n width: \"abbreviated\",\n context: \"standalone\",\n });\n // T\n case \"ccccc\":\n return localize.day(dayOfWeek, {\n width: \"narrow\",\n context: \"standalone\",\n });\n // Tu\n case \"cccccc\":\n return localize.day(dayOfWeek, {\n width: \"short\",\n context: \"standalone\",\n });\n // Tuesday\n case \"cccc\":\n default:\n return localize.day(dayOfWeek, {\n width: \"wide\",\n context: \"standalone\",\n });\n }\n },\n\n // ISO day of week\n i: function (date, token, localize) {\n const dayOfWeek = date.getDay();\n const isoDayOfWeek = dayOfWeek === 0 ? 7 : dayOfWeek;\n switch (token) {\n // 2\n case \"i\":\n return String(isoDayOfWeek);\n // 02\n case \"ii\":\n return addLeadingZeros(isoDayOfWeek, token.length);\n // 2nd\n case \"io\":\n return localize.ordinalNumber(isoDayOfWeek, { unit: \"day\" });\n // Tue\n case \"iii\":\n return localize.day(dayOfWeek, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n // T\n case \"iiiii\":\n return localize.day(dayOfWeek, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // Tu\n case \"iiiiii\":\n return localize.day(dayOfWeek, {\n width: \"short\",\n context: \"formatting\",\n });\n // Tuesday\n case \"iiii\":\n default:\n return localize.day(dayOfWeek, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // AM or PM\n a: function (date, token, localize) {\n const hours = date.getHours();\n const dayPeriodEnumValue = hours / 12 >= 1 ? \"pm\" : \"am\";\n\n switch (token) {\n case \"a\":\n case \"aa\":\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n case \"aaa\":\n return localize\n .dayPeriod(dayPeriodEnumValue, {\n width: \"abbreviated\",\n context: \"formatting\",\n })\n .toLowerCase();\n case \"aaaaa\":\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"narrow\",\n context: \"formatting\",\n });\n case \"aaaa\":\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // AM, PM, midnight, noon\n b: function (date, token, localize) {\n const hours = date.getHours();\n let dayPeriodEnumValue;\n if (hours === 12) {\n dayPeriodEnumValue = dayPeriodEnum.noon;\n } else if (hours === 0) {\n dayPeriodEnumValue = dayPeriodEnum.midnight;\n } else {\n dayPeriodEnumValue = hours / 12 >= 1 ? \"pm\" : \"am\";\n }\n\n switch (token) {\n case \"b\":\n case \"bb\":\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n case \"bbb\":\n return localize\n .dayPeriod(dayPeriodEnumValue, {\n width: \"abbreviated\",\n context: \"formatting\",\n })\n .toLowerCase();\n case \"bbbbb\":\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"narrow\",\n context: \"formatting\",\n });\n case \"bbbb\":\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // in the morning, in the afternoon, in the evening, at night\n B: function (date, token, localize) {\n const hours = date.getHours();\n let dayPeriodEnumValue;\n if (hours >= 17) {\n dayPeriodEnumValue = dayPeriodEnum.evening;\n } else if (hours >= 12) {\n dayPeriodEnumValue = dayPeriodEnum.afternoon;\n } else if (hours >= 4) {\n dayPeriodEnumValue = dayPeriodEnum.morning;\n } else {\n dayPeriodEnumValue = dayPeriodEnum.night;\n }\n\n switch (token) {\n case \"B\":\n case \"BB\":\n case \"BBB\":\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n case \"BBBBB\":\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"narrow\",\n context: \"formatting\",\n });\n case \"BBBB\":\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // Hour [1-12]\n h: function (date, token, localize) {\n if (token === \"ho\") {\n let hours = date.getHours() % 12;\n if (hours === 0) hours = 12;\n return localize.ordinalNumber(hours, { unit: \"hour\" });\n }\n\n return lightFormatters.h(date, token);\n },\n\n // Hour [0-23]\n H: function (date, token, localize) {\n if (token === \"Ho\") {\n return localize.ordinalNumber(date.getHours(), { unit: \"hour\" });\n }\n\n return lightFormatters.H(date, token);\n },\n\n // Hour [0-11]\n K: function (date, token, localize) {\n const hours = date.getHours() % 12;\n\n if (token === \"Ko\") {\n return localize.ordinalNumber(hours, { unit: \"hour\" });\n }\n\n return addLeadingZeros(hours, token.length);\n },\n\n // Hour [1-24]\n k: function (date, token, localize) {\n let hours = date.getHours();\n if (hours === 0) hours = 24;\n\n if (token === \"ko\") {\n return localize.ordinalNumber(hours, { unit: \"hour\" });\n }\n\n return addLeadingZeros(hours, token.length);\n },\n\n // Minute\n m: function (date, token, localize) {\n if (token === \"mo\") {\n return localize.ordinalNumber(date.getMinutes(), { unit: \"minute\" });\n }\n\n return lightFormatters.m(date, token);\n },\n\n // Second\n s: function (date, token, localize) {\n if (token === \"so\") {\n return localize.ordinalNumber(date.getSeconds(), { unit: \"second\" });\n }\n\n return lightFormatters.s(date, token);\n },\n\n // Fraction of second\n S: function (date, token) {\n return lightFormatters.S(date, token);\n },\n\n // Timezone (ISO-8601. If offset is 0, output is always `'Z'`)\n X: function (date, token, _localize) {\n const timezoneOffset = date.getTimezoneOffset();\n\n if (timezoneOffset === 0) {\n return \"Z\";\n }\n\n switch (token) {\n // Hours and optional minutes\n case \"X\":\n return formatTimezoneWithOptionalMinutes(timezoneOffset);\n\n // Hours, minutes and optional seconds without `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `XX`\n case \"XXXX\":\n case \"XX\": // Hours and minutes without `:` delimiter\n return formatTimezone(timezoneOffset);\n\n // Hours, minutes and optional seconds with `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `XXX`\n case \"XXXXX\":\n case \"XXX\": // Hours and minutes with `:` delimiter\n default:\n return formatTimezone(timezoneOffset, \":\");\n }\n },\n\n // Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent)\n x: function (date, token, _localize) {\n const timezoneOffset = date.getTimezoneOffset();\n\n switch (token) {\n // Hours and optional minutes\n case \"x\":\n return formatTimezoneWithOptionalMinutes(timezoneOffset);\n\n // Hours, minutes and optional seconds without `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `xx`\n case \"xxxx\":\n case \"xx\": // Hours and minutes without `:` delimiter\n return formatTimezone(timezoneOffset);\n\n // Hours, minutes and optional seconds with `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `xxx`\n case \"xxxxx\":\n case \"xxx\": // Hours and minutes with `:` delimiter\n default:\n return formatTimezone(timezoneOffset, \":\");\n }\n },\n\n // Timezone (GMT)\n O: function (date, token, _localize) {\n const timezoneOffset = date.getTimezoneOffset();\n\n switch (token) {\n // Short\n case \"O\":\n case \"OO\":\n case \"OOO\":\n return \"GMT\" + formatTimezoneShort(timezoneOffset, \":\");\n // Long\n case \"OOOO\":\n default:\n return \"GMT\" + formatTimezone(timezoneOffset, \":\");\n }\n },\n\n // Timezone (specific non-location)\n z: function (date, token, _localize) {\n const timezoneOffset = date.getTimezoneOffset();\n\n switch (token) {\n // Short\n case \"z\":\n case \"zz\":\n case \"zzz\":\n return \"GMT\" + formatTimezoneShort(timezoneOffset, \":\");\n // Long\n case \"zzzz\":\n default:\n return \"GMT\" + formatTimezone(timezoneOffset, \":\");\n }\n },\n\n // Seconds timestamp\n t: function (date, token, _localize) {\n const timestamp = Math.trunc(date.getTime() / 1000);\n return addLeadingZeros(timestamp, token.length);\n },\n\n // Milliseconds timestamp\n T: function (date, token, _localize) {\n const timestamp = date.getTime();\n return addLeadingZeros(timestamp, token.length);\n },\n};\n\nfunction formatTimezoneShort(offset, delimiter = \"\") {\n const sign = offset > 0 ? \"-\" : \"+\";\n const absOffset = Math.abs(offset);\n const hours = Math.trunc(absOffset / 60);\n const minutes = absOffset % 60;\n if (minutes === 0) {\n return sign + String(hours);\n }\n return sign + String(hours) + delimiter + addLeadingZeros(minutes, 2);\n}\n\nfunction formatTimezoneWithOptionalMinutes(offset, delimiter) {\n if (offset % 60 === 0) {\n const sign = offset > 0 ? \"-\" : \"+\";\n return sign + addLeadingZeros(Math.abs(offset) / 60, 2);\n }\n return formatTimezone(offset, delimiter);\n}\n\nfunction formatTimezone(offset, delimiter = \"\") {\n const sign = offset > 0 ? \"-\" : \"+\";\n const absOffset = Math.abs(offset);\n const hours = addLeadingZeros(Math.trunc(absOffset / 60), 2);\n const minutes = addLeadingZeros(absOffset % 60, 2);\n return sign + hours + delimiter + minutes;\n}\n","const dateLongFormatter = (pattern, formatLong) => {\n switch (pattern) {\n case \"P\":\n return formatLong.date({ width: \"short\" });\n case \"PP\":\n return formatLong.date({ width: \"medium\" });\n case \"PPP\":\n return formatLong.date({ width: \"long\" });\n case \"PPPP\":\n default:\n return formatLong.date({ width: \"full\" });\n }\n};\n\nconst timeLongFormatter = (pattern, formatLong) => {\n switch (pattern) {\n case \"p\":\n return formatLong.time({ width: \"short\" });\n case \"pp\":\n return formatLong.time({ width: \"medium\" });\n case \"ppp\":\n return formatLong.time({ width: \"long\" });\n case \"pppp\":\n default:\n return formatLong.time({ width: \"full\" });\n }\n};\n\nconst dateTimeLongFormatter = (pattern, formatLong) => {\n const matchResult = pattern.match(/(P+)(p+)?/) || [];\n const datePattern = matchResult[1];\n const timePattern = matchResult[2];\n\n if (!timePattern) {\n return dateLongFormatter(pattern, formatLong);\n }\n\n let dateTimeFormat;\n\n switch (datePattern) {\n case \"P\":\n dateTimeFormat = formatLong.dateTime({ width: \"short\" });\n break;\n case \"PP\":\n dateTimeFormat = formatLong.dateTime({ width: \"medium\" });\n break;\n case \"PPP\":\n dateTimeFormat = formatLong.dateTime({ width: \"long\" });\n break;\n case \"PPPP\":\n default:\n dateTimeFormat = formatLong.dateTime({ width: \"full\" });\n break;\n }\n\n return dateTimeFormat\n .replace(\"{{date}}\", dateLongFormatter(datePattern, formatLong))\n .replace(\"{{time}}\", timeLongFormatter(timePattern, formatLong));\n};\n\nexport const longFormatters = {\n p: timeLongFormatter,\n P: dateTimeLongFormatter,\n};\n","const dayOfYearTokenRE = /^D+$/;\nconst weekYearTokenRE = /^Y+$/;\n\nconst throwTokens = [\"D\", \"DD\", \"YY\", \"YYYY\"];\n\nexport function isProtectedDayOfYearToken(token) {\n return dayOfYearTokenRE.test(token);\n}\n\nexport function isProtectedWeekYearToken(token) {\n return weekYearTokenRE.test(token);\n}\n\nexport function warnOrThrowProtectedError(token, format, input) {\n const _message = message(token, format, input);\n console.warn(_message);\n if (throwTokens.includes(token)) throw new RangeError(_message);\n}\n\nfunction message(token, format, input) {\n const subject = token[0] === \"Y\" ? \"years\" : \"days of the month\";\n return `Use \\`${token.toLowerCase()}\\` instead of \\`${token}\\` (in \\`${format}\\`) for formatting ${subject} to the input \\`${input}\\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`;\n}\n","import { defaultLocale } from \"./_lib/defaultLocale.mjs\";\nimport { getDefaultOptions } from \"./_lib/defaultOptions.mjs\";\nimport { formatters } from \"./_lib/format/formatters.mjs\";\nimport { longFormatters } from \"./_lib/format/longFormatters.mjs\";\nimport {\n isProtectedDayOfYearToken,\n isProtectedWeekYearToken,\n warnOrThrowProtectedError,\n} from \"./_lib/protectedTokens.mjs\";\nimport { isValid } from \"./isValid.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n// Rexports of internal for libraries to use.\n// See: https://github.com/date-fns/date-fns/issues/3638#issuecomment-1877082874\nexport { formatters, longFormatters };\n\n// This RegExp consists of three parts separated by `|`:\n// - [yYQqMLwIdDecihHKkms]o matches any available ordinal number token\n// (one of the certain letters followed by `o`)\n// - (\\w)\\1* matches any sequences of the same letter\n// - '' matches two quote characters in a row\n// - '(''|[^'])+('|$) matches anything surrounded by two quote characters ('),\n// except a single quote symbol, which ends the sequence.\n// Two quote characters do not end the sequence.\n// If there is no matching single quote\n// then the sequence will continue until the end of the string.\n// - . matches any single character unmatched by previous parts of the RegExps\nconst formattingTokensRegExp =\n /[yYQqMLwIdDecihHKkms]o|(\\w)\\1*|''|'(''|[^'])+('|$)|./g;\n\n// This RegExp catches symbols escaped by quotes, and also\n// sequences of symbols P, p, and the combinations like `PPPPPPPppppp`\nconst longFormattingTokensRegExp = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g;\n\nconst escapedStringRegExp = /^'([^]*?)'?$/;\nconst doubleQuoteRegExp = /''/g;\nconst unescapedLatinCharacterRegExp = /[a-zA-Z]/;\n\nexport { format as formatDate };\n\n/**\n * The {@link format} function options.\n */\n\n/**\n * @name format\n * @alias formatDate\n * @category Common Helpers\n * @summary Format the date.\n *\n * @description\n * Return the formatted date string in the given format. The result may vary by locale.\n *\n * > ⚠️ Please note that the `format` tokens differ from Moment.js and other libraries.\n * > See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * The characters wrapped between two single quotes characters (') are escaped.\n * Two single quotes in a row, whether inside or outside a quoted sequence, represent a 'real' single quote.\n * (see the last example)\n *\n * Format of the string is based on Unicode Technical Standard #35:\n * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * with a few additions (see note 7 below the table).\n *\n * Accepted patterns:\n * | Unit | Pattern | Result examples | Notes |\n * |---------------------------------|---------|-----------------------------------|-------|\n * | Era | G..GGG | AD, BC | |\n * | | GGGG | Anno Domini, Before Christ | 2 |\n * | | GGGGG | A, B | |\n * | Calendar year | y | 44, 1, 1900, 2017 | 5 |\n * | | yo | 44th, 1st, 0th, 17th | 5,7 |\n * | | yy | 44, 01, 00, 17 | 5 |\n * | | yyy | 044, 001, 1900, 2017 | 5 |\n * | | yyyy | 0044, 0001, 1900, 2017 | 5 |\n * | | yyyyy | ... | 3,5 |\n * | Local week-numbering year | Y | 44, 1, 1900, 2017 | 5 |\n * | | Yo | 44th, 1st, 1900th, 2017th | 5,7 |\n * | | YY | 44, 01, 00, 17 | 5,8 |\n * | | YYY | 044, 001, 1900, 2017 | 5 |\n * | | YYYY | 0044, 0001, 1900, 2017 | 5,8 |\n * | | YYYYY | ... | 3,5 |\n * | ISO week-numbering year | R | -43, 0, 1, 1900, 2017 | 5,7 |\n * | | RR | -43, 00, 01, 1900, 2017 | 5,7 |\n * | | RRR | -043, 000, 001, 1900, 2017 | 5,7 |\n * | | RRRR | -0043, 0000, 0001, 1900, 2017 | 5,7 |\n * | | RRRRR | ... | 3,5,7 |\n * | Extended year | u | -43, 0, 1, 1900, 2017 | 5 |\n * | | uu | -43, 01, 1900, 2017 | 5 |\n * | | uuu | -043, 001, 1900, 2017 | 5 |\n * | | uuuu | -0043, 0001, 1900, 2017 | 5 |\n * | | uuuuu | ... | 3,5 |\n * | Quarter (formatting) | Q | 1, 2, 3, 4 | |\n * | | Qo | 1st, 2nd, 3rd, 4th | 7 |\n * | | QQ | 01, 02, 03, 04 | |\n * | | QQQ | Q1, Q2, Q3, Q4 | |\n * | | QQQQ | 1st quarter, 2nd quarter, ... | 2 |\n * | | QQQQQ | 1, 2, 3, 4 | 4 |\n * | Quarter (stand-alone) | q | 1, 2, 3, 4 | |\n * | | qo | 1st, 2nd, 3rd, 4th | 7 |\n * | | qq | 01, 02, 03, 04 | |\n * | | qqq | Q1, Q2, Q3, Q4 | |\n * | | qqqq | 1st quarter, 2nd quarter, ... | 2 |\n * | | qqqqq | 1, 2, 3, 4 | 4 |\n * | Month (formatting) | M | 1, 2, ..., 12 | |\n * | | Mo | 1st, 2nd, ..., 12th | 7 |\n * | | MM | 01, 02, ..., 12 | |\n * | | MMM | Jan, Feb, ..., Dec | |\n * | | MMMM | January, February, ..., December | 2 |\n * | | MMMMM | J, F, ..., D | |\n * | Month (stand-alone) | L | 1, 2, ..., 12 | |\n * | | Lo | 1st, 2nd, ..., 12th | 7 |\n * | | LL | 01, 02, ..., 12 | |\n * | | LLL | Jan, Feb, ..., Dec | |\n * | | LLLL | January, February, ..., December | 2 |\n * | | LLLLL | J, F, ..., D | |\n * | Local week of year | w | 1, 2, ..., 53 | |\n * | | wo | 1st, 2nd, ..., 53th | 7 |\n * | | ww | 01, 02, ..., 53 | |\n * | ISO week of year | I | 1, 2, ..., 53 | 7 |\n * | | Io | 1st, 2nd, ..., 53th | 7 |\n * | | II | 01, 02, ..., 53 | 7 |\n * | Day of month | d | 1, 2, ..., 31 | |\n * | | do | 1st, 2nd, ..., 31st | 7 |\n * | | dd | 01, 02, ..., 31 | |\n * | Day of year | D | 1, 2, ..., 365, 366 | 9 |\n * | | Do | 1st, 2nd, ..., 365th, 366th | 7 |\n * | | DD | 01, 02, ..., 365, 366 | 9 |\n * | | DDD | 001, 002, ..., 365, 366 | |\n * | | DDDD | ... | 3 |\n * | Day of week (formatting) | E..EEE | Mon, Tue, Wed, ..., Sun | |\n * | | EEEE | Monday, Tuesday, ..., Sunday | 2 |\n * | | EEEEE | M, T, W, T, F, S, S | |\n * | | EEEEEE | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | ISO day of week (formatting) | i | 1, 2, 3, ..., 7 | 7 |\n * | | io | 1st, 2nd, ..., 7th | 7 |\n * | | ii | 01, 02, ..., 07 | 7 |\n * | | iii | Mon, Tue, Wed, ..., Sun | 7 |\n * | | iiii | Monday, Tuesday, ..., Sunday | 2,7 |\n * | | iiiii | M, T, W, T, F, S, S | 7 |\n * | | iiiiii | Mo, Tu, We, Th, Fr, Sa, Su | 7 |\n * | Local day of week (formatting) | e | 2, 3, 4, ..., 1 | |\n * | | eo | 2nd, 3rd, ..., 1st | 7 |\n * | | ee | 02, 03, ..., 01 | |\n * | | eee | Mon, Tue, Wed, ..., Sun | |\n * | | eeee | Monday, Tuesday, ..., Sunday | 2 |\n * | | eeeee | M, T, W, T, F, S, S | |\n * | | eeeeee | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | Local day of week (stand-alone) | c | 2, 3, 4, ..., 1 | |\n * | | co | 2nd, 3rd, ..., 1st | 7 |\n * | | cc | 02, 03, ..., 01 | |\n * | | ccc | Mon, Tue, Wed, ..., Sun | |\n * | | cccc | Monday, Tuesday, ..., Sunday | 2 |\n * | | ccccc | M, T, W, T, F, S, S | |\n * | | cccccc | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | AM, PM | a..aa | AM, PM | |\n * | | aaa | am, pm | |\n * | | aaaa | a.m., p.m. | 2 |\n * | | aaaaa | a, p | |\n * | AM, PM, noon, midnight | b..bb | AM, PM, noon, midnight | |\n * | | bbb | am, pm, noon, midnight | |\n * | | bbbb | a.m., p.m., noon, midnight | 2 |\n * | | bbbbb | a, p, n, mi | |\n * | Flexible day period | B..BBB | at night, in the morning, ... | |\n * | | BBBB | at night, in the morning, ... | 2 |\n * | | BBBBB | at night, in the morning, ... | |\n * | Hour [1-12] | h | 1, 2, ..., 11, 12 | |\n * | | ho | 1st, 2nd, ..., 11th, 12th | 7 |\n * | | hh | 01, 02, ..., 11, 12 | |\n * | Hour [0-23] | H | 0, 1, 2, ..., 23 | |\n * | | Ho | 0th, 1st, 2nd, ..., 23rd | 7 |\n * | | HH | 00, 01, 02, ..., 23 | |\n * | Hour [0-11] | K | 1, 2, ..., 11, 0 | |\n * | | Ko | 1st, 2nd, ..., 11th, 0th | 7 |\n * | | KK | 01, 02, ..., 11, 00 | |\n * | Hour [1-24] | k | 24, 1, 2, ..., 23 | |\n * | | ko | 24th, 1st, 2nd, ..., 23rd | 7 |\n * | | kk | 24, 01, 02, ..., 23 | |\n * | Minute | m | 0, 1, ..., 59 | |\n * | | mo | 0th, 1st, ..., 59th | 7 |\n * | | mm | 00, 01, ..., 59 | |\n * | Second | s | 0, 1, ..., 59 | |\n * | | so | 0th, 1st, ..., 59th | 7 |\n * | | ss | 00, 01, ..., 59 | |\n * | Fraction of second | S | 0, 1, ..., 9 | |\n * | | SS | 00, 01, ..., 99 | |\n * | | SSS | 000, 001, ..., 999 | |\n * | | SSSS | ... | 3 |\n * | Timezone (ISO-8601 w/ Z) | X | -08, +0530, Z | |\n * | | XX | -0800, +0530, Z | |\n * | | XXX | -08:00, +05:30, Z | |\n * | | XXXX | -0800, +0530, Z, +123456 | 2 |\n * | | XXXXX | -08:00, +05:30, Z, +12:34:56 | |\n * | Timezone (ISO-8601 w/o Z) | x | -08, +0530, +00 | |\n * | | xx | -0800, +0530, +0000 | |\n * | | xxx | -08:00, +05:30, +00:00 | 2 |\n * | | xxxx | -0800, +0530, +0000, +123456 | |\n * | | xxxxx | -08:00, +05:30, +00:00, +12:34:56 | |\n * | Timezone (GMT) | O...OOO | GMT-8, GMT+5:30, GMT+0 | |\n * | | OOOO | GMT-08:00, GMT+05:30, GMT+00:00 | 2 |\n * | Timezone (specific non-locat.) | z...zzz | GMT-8, GMT+5:30, GMT+0 | 6 |\n * | | zzzz | GMT-08:00, GMT+05:30, GMT+00:00 | 2,6 |\n * | Seconds timestamp | t | 512969520 | 7 |\n * | | tt | ... | 3,7 |\n * | Milliseconds timestamp | T | 512969520900 | 7 |\n * | | TT | ... | 3,7 |\n * | Long localized date | P | 04/29/1453 | 7 |\n * | | PP | Apr 29, 1453 | 7 |\n * | | PPP | April 29th, 1453 | 7 |\n * | | PPPP | Friday, April 29th, 1453 | 2,7 |\n * | Long localized time | p | 12:00 AM | 7 |\n * | | pp | 12:00:00 AM | 7 |\n * | | ppp | 12:00:00 AM GMT+2 | 7 |\n * | | pppp | 12:00:00 AM GMT+02:00 | 2,7 |\n * | Combination of date and time | Pp | 04/29/1453, 12:00 AM | 7 |\n * | | PPpp | Apr 29, 1453, 12:00:00 AM | 7 |\n * | | PPPppp | April 29th, 1453 at ... | 7 |\n * | | PPPPpppp| Friday, April 29th, 1453 at ... | 2,7 |\n * Notes:\n * 1. \"Formatting\" units (e.g. formatting quarter) in the default en-US locale\n * are the same as \"stand-alone\" units, but are different in some languages.\n * \"Formatting\" units are declined according to the rules of the language\n * in the context of a date. \"Stand-alone\" units are always nominative singular:\n *\n * `format(new Date(2017, 10, 6), 'do LLLL', {locale: cs}) //=> '6. listopad'`\n *\n * `format(new Date(2017, 10, 6), 'do MMMM', {locale: cs}) //=> '6. listopadu'`\n *\n * 2. Any sequence of the identical letters is a pattern, unless it is escaped by\n * the single quote characters (see below).\n * If the sequence is longer than listed in table (e.g. `EEEEEEEEEEE`)\n * the output will be the same as default pattern for this unit, usually\n * the longest one (in case of ISO weekdays, `EEEE`). Default patterns for units\n * are marked with \"2\" in the last column of the table.\n *\n * `format(new Date(2017, 10, 6), 'MMM') //=> 'Nov'`\n *\n * `format(new Date(2017, 10, 6), 'MMMM') //=> 'November'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMM') //=> 'N'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMMM') //=> 'November'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMMMM') //=> 'November'`\n *\n * 3. Some patterns could be unlimited length (such as `yyyyyyyy`).\n * The output will be padded with zeros to match the length of the pattern.\n *\n * `format(new Date(2017, 10, 6), 'yyyyyyyy') //=> '00002017'`\n *\n * 4. `QQQQQ` and `qqqqq` could be not strictly numerical in some locales.\n * These tokens represent the shortest form of the quarter.\n *\n * 5. The main difference between `y` and `u` patterns are B.C. years:\n *\n * | Year | `y` | `u` |\n * |------|-----|-----|\n * | AC 1 | 1 | 1 |\n * | BC 1 | 1 | 0 |\n * | BC 2 | 2 | -1 |\n *\n * Also `yy` always returns the last two digits of a year,\n * while `uu` pads single digit years to 2 characters and returns other years unchanged:\n *\n * | Year | `yy` | `uu` |\n * |------|------|------|\n * | 1 | 01 | 01 |\n * | 14 | 14 | 14 |\n * | 376 | 76 | 376 |\n * | 1453 | 53 | 1453 |\n *\n * The same difference is true for local and ISO week-numbering years (`Y` and `R`),\n * except local week-numbering years are dependent on `options.weekStartsOn`\n * and `options.firstWeekContainsDate` (compare [getISOWeekYear](https://date-fns.org/docs/getISOWeekYear)\n * and [getWeekYear](https://date-fns.org/docs/getWeekYear)).\n *\n * 6. Specific non-location timezones are currently unavailable in `date-fns`,\n * so right now these tokens fall back to GMT timezones.\n *\n * 7. These patterns are not in the Unicode Technical Standard #35:\n * - `i`: ISO day of week\n * - `I`: ISO week of year\n * - `R`: ISO week-numbering year\n * - `t`: seconds timestamp\n * - `T`: milliseconds timestamp\n * - `o`: ordinal number modifier\n * - `P`: long localized date\n * - `p`: long localized time\n *\n * 8. `YY` and `YYYY` tokens represent week-numbering years but they are often confused with years.\n * You should enable `options.useAdditionalWeekYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * 9. `D` and `DD` tokens represent days of the year but they are often confused with days of the month.\n * You should enable `options.useAdditionalDayOfYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n * @param format - The string of tokens\n * @param options - An object with options\n *\n * @returns The formatted date string\n *\n * @throws `date` must not be Invalid Date\n * @throws `options.locale` must contain `localize` property\n * @throws `options.locale` must contain `formatLong` property\n * @throws use `yyyy` instead of `YYYY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws use `yy` instead of `YY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws use `d` instead of `D` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws use `dd` instead of `DD` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws format string contains an unescaped latin alphabet character\n *\n * @example\n * // Represent 11 February 2014 in middle-endian format:\n * const result = format(new Date(2014, 1, 11), 'MM/dd/yyyy')\n * //=> '02/11/2014'\n *\n * @example\n * // Represent 2 July 2014 in Esperanto:\n * import { eoLocale } from 'date-fns/locale/eo'\n * const result = format(new Date(2014, 6, 2), \"do 'de' MMMM yyyy\", {\n * locale: eoLocale\n * })\n * //=> '2-a de julio 2014'\n *\n * @example\n * // Escape string by single quote characters:\n * const result = format(new Date(2014, 6, 2, 15), \"h 'o''clock'\")\n * //=> \"3 o'clock\"\n */\nexport function format(date, formatStr, options) {\n const defaultOptions = getDefaultOptions();\n const locale = options?.locale ?? defaultOptions.locale ?? defaultLocale;\n\n const firstWeekContainsDate =\n options?.firstWeekContainsDate ??\n options?.locale?.options?.firstWeekContainsDate ??\n defaultOptions.firstWeekContainsDate ??\n defaultOptions.locale?.options?.firstWeekContainsDate ??\n 1;\n\n const weekStartsOn =\n options?.weekStartsOn ??\n options?.locale?.options?.weekStartsOn ??\n defaultOptions.weekStartsOn ??\n defaultOptions.locale?.options?.weekStartsOn ??\n 0;\n\n const originalDate = toDate(date);\n\n if (!isValid(originalDate)) {\n throw new RangeError(\"Invalid time value\");\n }\n\n let parts = formatStr\n .match(longFormattingTokensRegExp)\n .map((substring) => {\n const firstCharacter = substring[0];\n if (firstCharacter === \"p\" || firstCharacter === \"P\") {\n const longFormatter = longFormatters[firstCharacter];\n return longFormatter(substring, locale.formatLong);\n }\n return substring;\n })\n .join(\"\")\n .match(formattingTokensRegExp)\n .map((substring) => {\n // Replace two single quote characters with one single quote character\n if (substring === \"''\") {\n return { isToken: false, value: \"'\" };\n }\n\n const firstCharacter = substring[0];\n if (firstCharacter === \"'\") {\n return { isToken: false, value: cleanEscapedString(substring) };\n }\n\n if (formatters[firstCharacter]) {\n return { isToken: true, value: substring };\n }\n\n if (firstCharacter.match(unescapedLatinCharacterRegExp)) {\n throw new RangeError(\n \"Format string contains an unescaped latin alphabet character `\" +\n firstCharacter +\n \"`\",\n );\n }\n\n return { isToken: false, value: substring };\n });\n\n // invoke localize preprocessor (only for french locales at the moment)\n if (locale.localize.preprocessor) {\n parts = locale.localize.preprocessor(originalDate, parts);\n }\n\n const formatterOptions = {\n firstWeekContainsDate,\n weekStartsOn,\n locale,\n };\n\n return parts\n .map((part) => {\n if (!part.isToken) return part.value;\n\n const token = part.value;\n\n if (\n (!options?.useAdditionalWeekYearTokens &&\n isProtectedWeekYearToken(token)) ||\n (!options?.useAdditionalDayOfYearTokens &&\n isProtectedDayOfYearToken(token))\n ) {\n warnOrThrowProtectedError(token, formatStr, String(date));\n }\n\n const formatter = formatters[token[0]];\n return formatter(originalDate, token, locale.localize, formatterOptions);\n })\n .join(\"\");\n}\n\nfunction cleanEscapedString(input) {\n const matched = input.match(escapedStringRegExp);\n\n if (!matched) {\n return input;\n }\n\n return matched[1].replace(doubleQuoteRegExp, \"'\");\n}\n\n// Fallback for modularized imports:\nexport default format;\n","import { compareAsc } from \"./compareAsc.mjs\";\nimport { minutesInDay, minutesInMonth } from \"./constants.mjs\";\nimport { differenceInMonths } from \"./differenceInMonths.mjs\";\nimport { differenceInSeconds } from \"./differenceInSeconds.mjs\";\nimport { toDate } from \"./toDate.mjs\";\nimport { defaultLocale } from \"./_lib/defaultLocale.mjs\";\nimport { getDefaultOptions } from \"./_lib/defaultOptions.mjs\";\nimport { getTimezoneOffsetInMilliseconds } from \"./_lib/getTimezoneOffsetInMilliseconds.mjs\";\n\n/**\n * The {@link formatDistance} function options.\n */\n\n/**\n * @name formatDistance\n * @category Common Helpers\n * @summary Return the distance between the given dates in words.\n *\n * @description\n * Return the distance between the given dates in words.\n *\n * | Distance between dates | Result |\n * |-------------------------------------------------------------------|---------------------|\n * | 0 ... 30 secs | less than a minute |\n * | 30 secs ... 1 min 30 secs | 1 minute |\n * | 1 min 30 secs ... 44 mins 30 secs | [2..44] minutes |\n * | 44 mins ... 30 secs ... 89 mins 30 secs | about 1 hour |\n * | 89 mins 30 secs ... 23 hrs 59 mins 30 secs | about [2..24] hours |\n * | 23 hrs 59 mins 30 secs ... 41 hrs 59 mins 30 secs | 1 day |\n * | 41 hrs 59 mins 30 secs ... 29 days 23 hrs 59 mins 30 secs | [2..30] days |\n * | 29 days 23 hrs 59 mins 30 secs ... 44 days 23 hrs 59 mins 30 secs | about 1 month |\n * | 44 days 23 hrs 59 mins 30 secs ... 59 days 23 hrs 59 mins 30 secs | about 2 months |\n * | 59 days 23 hrs 59 mins 30 secs ... 1 yr | [2..12] months |\n * | 1 yr ... 1 yr 3 months | about 1 year |\n * | 1 yr 3 months ... 1 yr 9 month s | over 1 year |\n * | 1 yr 9 months ... 2 yrs | almost 2 years |\n * | N yrs ... N yrs 3 months | about N years |\n * | N yrs 3 months ... N yrs 9 months | over N years |\n * | N yrs 9 months ... N+1 yrs | almost N+1 years |\n *\n * With `options.includeSeconds == true`:\n * | Distance between dates | Result |\n * |------------------------|----------------------|\n * | 0 secs ... 5 secs | less than 5 seconds |\n * | 5 secs ... 10 secs | less than 10 seconds |\n * | 10 secs ... 20 secs | less than 20 seconds |\n * | 20 secs ... 40 secs | half a minute |\n * | 40 secs ... 60 secs | less than a minute |\n * | 60 secs ... 90 secs | 1 minute |\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The date\n * @param baseDate - The date to compare with\n * @param options - An object with options\n *\n * @returns The distance in words\n *\n * @throws `date` must not be Invalid Date\n * @throws `baseDate` must not be Invalid Date\n * @throws `options.locale` must contain `formatDistance` property\n *\n * @example\n * // What is the distance between 2 July 2014 and 1 January 2015?\n * const result = formatDistance(new Date(2014, 6, 2), new Date(2015, 0, 1))\n * //=> '6 months'\n *\n * @example\n * // What is the distance between 1 January 2015 00:00:15\n * // and 1 January 2015 00:00:00, including seconds?\n * const result = formatDistance(\n * new Date(2015, 0, 1, 0, 0, 15),\n * new Date(2015, 0, 1, 0, 0, 0),\n * { includeSeconds: true }\n * )\n * //=> 'less than 20 seconds'\n *\n * @example\n * // What is the distance from 1 January 2016\n * // to 1 January 2015, with a suffix?\n * const result = formatDistance(new Date(2015, 0, 1), new Date(2016, 0, 1), {\n * addSuffix: true\n * })\n * //=> 'about 1 year ago'\n *\n * @example\n * // What is the distance between 1 August 2016 and 1 January 2015 in Esperanto?\n * import { eoLocale } from 'date-fns/locale/eo'\n * const result = formatDistance(new Date(2016, 7, 1), new Date(2015, 0, 1), {\n * locale: eoLocale\n * })\n * //=> 'pli ol 1 jaro'\n */\n\nexport function formatDistance(date, baseDate, options) {\n const defaultOptions = getDefaultOptions();\n const locale = options?.locale ?? defaultOptions.locale ?? defaultLocale;\n const minutesInAlmostTwoDays = 2520;\n\n const comparison = compareAsc(date, baseDate);\n\n if (isNaN(comparison)) {\n throw new RangeError(\"Invalid time value\");\n }\n\n const localizeOptions = Object.assign({}, options, {\n addSuffix: options?.addSuffix,\n comparison: comparison,\n });\n\n let dateLeft;\n let dateRight;\n if (comparison > 0) {\n dateLeft = toDate(baseDate);\n dateRight = toDate(date);\n } else {\n dateLeft = toDate(date);\n dateRight = toDate(baseDate);\n }\n\n const seconds = differenceInSeconds(dateRight, dateLeft);\n const offsetInSeconds =\n (getTimezoneOffsetInMilliseconds(dateRight) -\n getTimezoneOffsetInMilliseconds(dateLeft)) /\n 1000;\n const minutes = Math.round((seconds - offsetInSeconds) / 60);\n let months;\n\n // 0 up to 2 mins\n if (minutes < 2) {\n if (options?.includeSeconds) {\n if (seconds < 5) {\n return locale.formatDistance(\"lessThanXSeconds\", 5, localizeOptions);\n } else if (seconds < 10) {\n return locale.formatDistance(\"lessThanXSeconds\", 10, localizeOptions);\n } else if (seconds < 20) {\n return locale.formatDistance(\"lessThanXSeconds\", 20, localizeOptions);\n } else if (seconds < 40) {\n return locale.formatDistance(\"halfAMinute\", 0, localizeOptions);\n } else if (seconds < 60) {\n return locale.formatDistance(\"lessThanXMinutes\", 1, localizeOptions);\n } else {\n return locale.formatDistance(\"xMinutes\", 1, localizeOptions);\n }\n } else {\n if (minutes === 0) {\n return locale.formatDistance(\"lessThanXMinutes\", 1, localizeOptions);\n } else {\n return locale.formatDistance(\"xMinutes\", minutes, localizeOptions);\n }\n }\n\n // 2 mins up to 0.75 hrs\n } else if (minutes < 45) {\n return locale.formatDistance(\"xMinutes\", minutes, localizeOptions);\n\n // 0.75 hrs up to 1.5 hrs\n } else if (minutes < 90) {\n return locale.formatDistance(\"aboutXHours\", 1, localizeOptions);\n\n // 1.5 hrs up to 24 hrs\n } else if (minutes < minutesInDay) {\n const hours = Math.round(minutes / 60);\n return locale.formatDistance(\"aboutXHours\", hours, localizeOptions);\n\n // 1 day up to 1.75 days\n } else if (minutes < minutesInAlmostTwoDays) {\n return locale.formatDistance(\"xDays\", 1, localizeOptions);\n\n // 1.75 days up to 30 days\n } else if (minutes < minutesInMonth) {\n const days = Math.round(minutes / minutesInDay);\n return locale.formatDistance(\"xDays\", days, localizeOptions);\n\n // 1 month up to 2 months\n } else if (minutes < minutesInMonth * 2) {\n months = Math.round(minutes / minutesInMonth);\n return locale.formatDistance(\"aboutXMonths\", months, localizeOptions);\n }\n\n months = differenceInMonths(dateRight, dateLeft);\n\n // 2 months up to 12 months\n if (months < 12) {\n const nearestMonth = Math.round(minutes / minutesInMonth);\n return locale.formatDistance(\"xMonths\", nearestMonth, localizeOptions);\n\n // 1 year up to max Date\n } else {\n const monthsSinceStartOfYear = months % 12;\n const years = Math.trunc(months / 12);\n\n // N years up to 1 years 3 months\n if (monthsSinceStartOfYear < 3) {\n return locale.formatDistance(\"aboutXYears\", years, localizeOptions);\n\n // N years 3 months up to N years 9 months\n } else if (monthsSinceStartOfYear < 9) {\n return locale.formatDistance(\"overXYears\", years, localizeOptions);\n\n // N years 9 months up to N year 12 months\n } else {\n return locale.formatDistance(\"almostXYears\", years + 1, localizeOptions);\n }\n }\n}\n\n// Fallback for modularized imports:\nexport default formatDistance;\n","import { getDefaultOptions as getInternalDefaultOptions } from \"./_lib/defaultOptions.mjs\";\n\n/**\n * @name getDefaultOptions\n * @category Common Helpers\n * @summary Get default options.\n * @pure false\n *\n * @description\n * Returns an object that contains defaults for\n * `options.locale`, `options.weekStartsOn` and `options.firstWeekContainsDate`\n * arguments for all functions.\n *\n * You can change these with [setDefaultOptions](https://date-fns.org/docs/setDefaultOptions).\n *\n * @returns The default options\n *\n * @example\n * const result = getDefaultOptions()\n * //=> {}\n *\n * @example\n * setDefaultOptions({ weekStarsOn: 1, firstWeekContainsDate: 4 })\n * const result = getDefaultOptions()\n * //=> { weekStarsOn: 1, firstWeekContainsDate: 4 }\n */\nexport function getDefaultOptions() {\n return Object.assign({}, getInternalDefaultOptions());\n}\n\n// Fallback for modularized imports:\nexport default getDefaultOptions;\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name getISODay\n * @category Weekday Helpers\n * @summary Get the day of the ISO week of the given date.\n *\n * @description\n * Get the day of the ISO week of the given date,\n * which is 7 for Sunday, 1 for Monday etc.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The given date\n *\n * @returns The day of ISO week\n *\n * @example\n * // Which day of the ISO week is 26 February 2012?\n * const result = getISODay(new Date(2012, 1, 26))\n * //=> 7\n */\nexport function getISODay(date) {\n const _date = toDate(date);\n let day = _date.getDay();\n\n if (day === 0) {\n day = 7;\n }\n\n return day;\n}\n\n// Fallback for modularized imports:\nexport default getISODay;\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name isAfter\n * @category Common Helpers\n * @summary Is the first date after the second one?\n *\n * @description\n * Is the first date after the second one?\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The date that should be after the other one to return true\n * @param dateToCompare - The date to compare with\n *\n * @returns The first date is after the second date\n *\n * @example\n * // Is 10 July 1989 after 11 February 1987?\n * const result = isAfter(new Date(1989, 6, 10), new Date(1987, 1, 11))\n * //=> true\n */\nexport function isAfter(date, dateToCompare) {\n const _date = toDate(date);\n const _dateToCompare = toDate(dateToCompare);\n return _date.getTime() > _dateToCompare.getTime();\n}\n\n// Fallback for modularized imports:\nexport default isAfter;\n","import { constructFrom } from \"./constructFrom.mjs\";\n\n/**\n * @name transpose\n * @category Generic Helpers\n * @summary Transpose the date to the given constructor.\n *\n * @description\n * The function transposes the date to the given constructor. It helps you\n * to transpose the date in the system time zone to say `UTCDate` or any other\n * date extension.\n *\n * @typeParam DateInputType - The input `Date` type derived from the passed argument.\n * @typeParam DateOutputType - The output `Date` type derived from the passed constructor.\n *\n * @param fromDate - The date to use values from\n * @param constructor - The date constructor to use\n *\n * @returns Date transposed to the given constructor\n *\n * @example\n * // Create July 10, 2022 00:00 in locale time zone\n * const date = new Date(2022, 6, 10)\n * //=> 'Sun Jul 10 2022 00:00:00 GMT+0800 (Singapore Standard Time)'\n *\n * @example\n * // Transpose the date to July 10, 2022 00:00 in UTC\n * transpose(date, UTCDate)\n * //=> 'Sun Jul 10 2022 00:00:00 GMT+0000 (Coordinated Universal Time)'\n */\nexport function transpose(fromDate, constructor) {\n const date =\n constructor instanceof Date\n ? constructFrom(constructor, 0)\n : new constructor(0);\n date.setFullYear(\n fromDate.getFullYear(),\n fromDate.getMonth(),\n fromDate.getDate(),\n );\n date.setHours(\n fromDate.getHours(),\n fromDate.getMinutes(),\n fromDate.getSeconds(),\n fromDate.getMilliseconds(),\n );\n return date;\n}\n\n// Fallback for modularized imports:\nexport default transpose;\n","import { transpose } from \"../../transpose.mjs\";\nimport { constructFrom } from \"../../constructFrom.mjs\";\n\nconst TIMEZONE_UNIT_PRIORITY = 10;\n\nexport class Setter {\n subPriority = 0;\n\n validate(_utcDate, _options) {\n return true;\n }\n}\n\nexport class ValueSetter extends Setter {\n constructor(\n value,\n\n validateValue,\n\n setValue,\n\n priority,\n subPriority,\n ) {\n super();\n this.value = value;\n this.validateValue = validateValue;\n this.setValue = setValue;\n this.priority = priority;\n if (subPriority) {\n this.subPriority = subPriority;\n }\n }\n\n validate(date, options) {\n return this.validateValue(date, this.value, options);\n }\n\n set(date, flags, options) {\n return this.setValue(date, flags, this.value, options);\n }\n}\n\nexport class DateToSystemTimezoneSetter extends Setter {\n priority = TIMEZONE_UNIT_PRIORITY;\n subPriority = -1;\n set(date, flags) {\n if (flags.timestampIsSet) return date;\n return constructFrom(date, transpose(date, Date));\n }\n}\n","import { ValueSetter } from \"./Setter.mjs\";\n\nexport class Parser {\n run(dateString, token, match, options) {\n const result = this.parse(dateString, token, match, options);\n if (!result) {\n return null;\n }\n\n return {\n setter: new ValueSetter(\n result.value,\n this.validate,\n this.set,\n this.priority,\n this.subPriority,\n ),\n rest: result.rest,\n };\n }\n\n validate(_utcDate, _value, _options) {\n return true;\n }\n}\n","import { Parser } from \"../Parser.mjs\";\n\nexport class EraParser extends Parser {\n priority = 140;\n\n parse(dateString, token, match) {\n switch (token) {\n // AD, BC\n case \"G\":\n case \"GG\":\n case \"GGG\":\n return (\n match.era(dateString, { width: \"abbreviated\" }) ||\n match.era(dateString, { width: \"narrow\" })\n );\n\n // A, B\n case \"GGGGG\":\n return match.era(dateString, { width: \"narrow\" });\n // Anno Domini, Before Christ\n case \"GGGG\":\n default:\n return (\n match.era(dateString, { width: \"wide\" }) ||\n match.era(dateString, { width: \"abbreviated\" }) ||\n match.era(dateString, { width: \"narrow\" })\n );\n }\n }\n\n set(date, flags, value) {\n flags.era = value;\n date.setFullYear(value, 0, 1);\n date.setHours(0, 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\"R\", \"u\", \"t\", \"T\"];\n}\n","export const numericPatterns = {\n month: /^(1[0-2]|0?\\d)/, // 0 to 12\n date: /^(3[0-1]|[0-2]?\\d)/, // 0 to 31\n dayOfYear: /^(36[0-6]|3[0-5]\\d|[0-2]?\\d?\\d)/, // 0 to 366\n week: /^(5[0-3]|[0-4]?\\d)/, // 0 to 53\n hour23h: /^(2[0-3]|[0-1]?\\d)/, // 0 to 23\n hour24h: /^(2[0-4]|[0-1]?\\d)/, // 0 to 24\n hour11h: /^(1[0-1]|0?\\d)/, // 0 to 11\n hour12h: /^(1[0-2]|0?\\d)/, // 0 to 12\n minute: /^[0-5]?\\d/, // 0 to 59\n second: /^[0-5]?\\d/, // 0 to 59\n\n singleDigit: /^\\d/, // 0 to 9\n twoDigits: /^\\d{1,2}/, // 0 to 99\n threeDigits: /^\\d{1,3}/, // 0 to 999\n fourDigits: /^\\d{1,4}/, // 0 to 9999\n\n anyDigitsSigned: /^-?\\d+/,\n singleDigitSigned: /^-?\\d/, // 0 to 9, -0 to -9\n twoDigitsSigned: /^-?\\d{1,2}/, // 0 to 99, -0 to -99\n threeDigitsSigned: /^-?\\d{1,3}/, // 0 to 999, -0 to -999\n fourDigitsSigned: /^-?\\d{1,4}/, // 0 to 9999, -0 to -9999\n};\n\nexport const timezonePatterns = {\n basicOptionalMinutes: /^([+-])(\\d{2})(\\d{2})?|Z/,\n basic: /^([+-])(\\d{2})(\\d{2})|Z/,\n basicOptionalSeconds: /^([+-])(\\d{2})(\\d{2})((\\d{2}))?|Z/,\n extended: /^([+-])(\\d{2}):(\\d{2})|Z/,\n extendedOptionalSeconds: /^([+-])(\\d{2}):(\\d{2})(:(\\d{2}))?|Z/,\n};\n","import {\n millisecondsInHour,\n millisecondsInMinute,\n millisecondsInSecond,\n} from \"../../constants.mjs\";\nimport { numericPatterns } from \"./constants.mjs\";\n\nexport function mapValue(parseFnResult, mapFn) {\n if (!parseFnResult) {\n return parseFnResult;\n }\n\n return {\n value: mapFn(parseFnResult.value),\n rest: parseFnResult.rest,\n };\n}\n\nexport function parseNumericPattern(pattern, dateString) {\n const matchResult = dateString.match(pattern);\n\n if (!matchResult) {\n return null;\n }\n\n return {\n value: parseInt(matchResult[0], 10),\n rest: dateString.slice(matchResult[0].length),\n };\n}\n\nexport function parseTimezonePattern(pattern, dateString) {\n const matchResult = dateString.match(pattern);\n\n if (!matchResult) {\n return null;\n }\n\n // Input is 'Z'\n if (matchResult[0] === \"Z\") {\n return {\n value: 0,\n rest: dateString.slice(1),\n };\n }\n\n const sign = matchResult[1] === \"+\" ? 1 : -1;\n const hours = matchResult[2] ? parseInt(matchResult[2], 10) : 0;\n const minutes = matchResult[3] ? parseInt(matchResult[3], 10) : 0;\n const seconds = matchResult[5] ? parseInt(matchResult[5], 10) : 0;\n\n return {\n value:\n sign *\n (hours * millisecondsInHour +\n minutes * millisecondsInMinute +\n seconds * millisecondsInSecond),\n rest: dateString.slice(matchResult[0].length),\n };\n}\n\nexport function parseAnyDigitsSigned(dateString) {\n return parseNumericPattern(numericPatterns.anyDigitsSigned, dateString);\n}\n\nexport function parseNDigits(n, dateString) {\n switch (n) {\n case 1:\n return parseNumericPattern(numericPatterns.singleDigit, dateString);\n case 2:\n return parseNumericPattern(numericPatterns.twoDigits, dateString);\n case 3:\n return parseNumericPattern(numericPatterns.threeDigits, dateString);\n case 4:\n return parseNumericPattern(numericPatterns.fourDigits, dateString);\n default:\n return parseNumericPattern(new RegExp(\"^\\\\d{1,\" + n + \"}\"), dateString);\n }\n}\n\nexport function parseNDigitsSigned(n, dateString) {\n switch (n) {\n case 1:\n return parseNumericPattern(numericPatterns.singleDigitSigned, dateString);\n case 2:\n return parseNumericPattern(numericPatterns.twoDigitsSigned, dateString);\n case 3:\n return parseNumericPattern(numericPatterns.threeDigitsSigned, dateString);\n case 4:\n return parseNumericPattern(numericPatterns.fourDigitsSigned, dateString);\n default:\n return parseNumericPattern(new RegExp(\"^-?\\\\d{1,\" + n + \"}\"), dateString);\n }\n}\n\nexport function dayPeriodEnumToHours(dayPeriod) {\n switch (dayPeriod) {\n case \"morning\":\n return 4;\n case \"evening\":\n return 17;\n case \"pm\":\n case \"noon\":\n case \"afternoon\":\n return 12;\n case \"am\":\n case \"midnight\":\n case \"night\":\n default:\n return 0;\n }\n}\n\nexport function normalizeTwoDigitYear(twoDigitYear, currentYear) {\n const isCommonEra = currentYear > 0;\n // Absolute number of the current year:\n // 1 -> 1 AC\n // 0 -> 1 BC\n // -1 -> 2 BC\n const absCurrentYear = isCommonEra ? currentYear : 1 - currentYear;\n\n let result;\n if (absCurrentYear <= 50) {\n result = twoDigitYear || 100;\n } else {\n const rangeEnd = absCurrentYear + 50;\n const rangeEndCentury = Math.trunc(rangeEnd / 100) * 100;\n const isPreviousCentury = twoDigitYear >= rangeEnd % 100;\n result = twoDigitYear + rangeEndCentury - (isPreviousCentury ? 100 : 0);\n }\n\n return isCommonEra ? result : 1 - result;\n}\n\nexport function isLeapYearIndex(year) {\n return year % 400 === 0 || (year % 4 === 0 && year % 100 !== 0);\n}\n","import { Parser } from \"../Parser.mjs\";\nimport { mapValue, normalizeTwoDigitYear, parseNDigits } from \"../utils.mjs\";\n\n// From http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_Patterns\n// | Year | y | yy | yyy | yyyy | yyyyy |\n// |----------|-------|----|-------|-------|-------|\n// | AD 1 | 1 | 01 | 001 | 0001 | 00001 |\n// | AD 12 | 12 | 12 | 012 | 0012 | 00012 |\n// | AD 123 | 123 | 23 | 123 | 0123 | 00123 |\n// | AD 1234 | 1234 | 34 | 1234 | 1234 | 01234 |\n// | AD 12345 | 12345 | 45 | 12345 | 12345 | 12345 |\nexport class YearParser extends Parser {\n priority = 130;\n incompatibleTokens = [\"Y\", \"R\", \"u\", \"w\", \"I\", \"i\", \"e\", \"c\", \"t\", \"T\"];\n\n parse(dateString, token, match) {\n const valueCallback = (year) => ({\n year,\n isTwoDigitYear: token === \"yy\",\n });\n\n switch (token) {\n case \"y\":\n return mapValue(parseNDigits(4, dateString), valueCallback);\n case \"yo\":\n return mapValue(\n match.ordinalNumber(dateString, {\n unit: \"year\",\n }),\n valueCallback,\n );\n default:\n return mapValue(parseNDigits(token.length, dateString), valueCallback);\n }\n }\n\n validate(_date, value) {\n return value.isTwoDigitYear || value.year > 0;\n }\n\n set(date, flags, value) {\n const currentYear = date.getFullYear();\n\n if (value.isTwoDigitYear) {\n const normalizedTwoDigitYear = normalizeTwoDigitYear(\n value.year,\n currentYear,\n );\n date.setFullYear(normalizedTwoDigitYear, 0, 1);\n date.setHours(0, 0, 0, 0);\n return date;\n }\n\n const year =\n !(\"era\" in flags) || flags.era === 1 ? value.year : 1 - value.year;\n date.setFullYear(year, 0, 1);\n date.setHours(0, 0, 0, 0);\n return date;\n }\n}\n","import { getWeekYear } from \"../../../getWeekYear.mjs\";\nimport { startOfWeek } from \"../../../startOfWeek.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport { mapValue, normalizeTwoDigitYear, parseNDigits } from \"../utils.mjs\";\n\n// Local week-numbering year\nexport class LocalWeekYearParser extends Parser {\n priority = 130;\n\n parse(dateString, token, match) {\n const valueCallback = (year) => ({\n year,\n isTwoDigitYear: token === \"YY\",\n });\n\n switch (token) {\n case \"Y\":\n return mapValue(parseNDigits(4, dateString), valueCallback);\n case \"Yo\":\n return mapValue(\n match.ordinalNumber(dateString, {\n unit: \"year\",\n }),\n valueCallback,\n );\n default:\n return mapValue(parseNDigits(token.length, dateString), valueCallback);\n }\n }\n\n validate(_date, value) {\n return value.isTwoDigitYear || value.year > 0;\n }\n\n set(date, flags, value, options) {\n const currentYear = getWeekYear(date, options);\n\n if (value.isTwoDigitYear) {\n const normalizedTwoDigitYear = normalizeTwoDigitYear(\n value.year,\n currentYear,\n );\n date.setFullYear(\n normalizedTwoDigitYear,\n 0,\n options.firstWeekContainsDate,\n );\n date.setHours(0, 0, 0, 0);\n return startOfWeek(date, options);\n }\n\n const year =\n !(\"era\" in flags) || flags.era === 1 ? value.year : 1 - value.year;\n date.setFullYear(year, 0, options.firstWeekContainsDate);\n date.setHours(0, 0, 0, 0);\n return startOfWeek(date, options);\n }\n\n incompatibleTokens = [\n \"y\",\n \"R\",\n \"u\",\n \"Q\",\n \"q\",\n \"M\",\n \"L\",\n \"I\",\n \"d\",\n \"D\",\n \"i\",\n \"t\",\n \"T\",\n ];\n}\n","import { startOfISOWeek } from \"../../../startOfISOWeek.mjs\";\nimport { constructFrom } from \"../../../constructFrom.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport { parseNDigitsSigned } from \"../utils.mjs\";\n\n// ISO week-numbering year\nexport class ISOWeekYearParser extends Parser {\n priority = 130;\n\n parse(dateString, token) {\n if (token === \"R\") {\n return parseNDigitsSigned(4, dateString);\n }\n\n return parseNDigitsSigned(token.length, dateString);\n }\n\n set(date, _flags, value) {\n const firstWeekOfYear = constructFrom(date, 0);\n firstWeekOfYear.setFullYear(value, 0, 4);\n firstWeekOfYear.setHours(0, 0, 0, 0);\n return startOfISOWeek(firstWeekOfYear);\n }\n\n incompatibleTokens = [\n \"G\",\n \"y\",\n \"Y\",\n \"u\",\n \"Q\",\n \"q\",\n \"M\",\n \"L\",\n \"w\",\n \"d\",\n \"D\",\n \"e\",\n \"c\",\n \"t\",\n \"T\",\n ];\n}\n","import { Parser } from \"../Parser.mjs\";\nimport { parseNDigitsSigned } from \"../utils.mjs\";\n\nexport class ExtendedYearParser extends Parser {\n priority = 130;\n\n parse(dateString, token) {\n if (token === \"u\") {\n return parseNDigitsSigned(4, dateString);\n }\n\n return parseNDigitsSigned(token.length, dateString);\n }\n\n set(date, _flags, value) {\n date.setFullYear(value, 0, 1);\n date.setHours(0, 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\"G\", \"y\", \"Y\", \"R\", \"w\", \"I\", \"i\", \"e\", \"c\", \"t\", \"T\"];\n}\n","import { Parser } from \"../Parser.mjs\";\nimport { parseNDigits } from \"../utils.mjs\";\n\nexport class QuarterParser extends Parser {\n priority = 120;\n\n parse(dateString, token, match) {\n switch (token) {\n // 1, 2, 3, 4\n case \"Q\":\n case \"QQ\": // 01, 02, 03, 04\n return parseNDigits(token.length, dateString);\n // 1st, 2nd, 3rd, 4th\n case \"Qo\":\n return match.ordinalNumber(dateString, { unit: \"quarter\" });\n // Q1, Q2, Q3, Q4\n case \"QQQ\":\n return (\n match.quarter(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.quarter(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n })\n );\n\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n case \"QQQQQ\":\n return match.quarter(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // 1st quarter, 2nd quarter, ...\n case \"QQQQ\":\n default:\n return (\n match.quarter(dateString, {\n width: \"wide\",\n context: \"formatting\",\n }) ||\n match.quarter(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.quarter(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n })\n );\n }\n }\n\n validate(_date, value) {\n return value >= 1 && value <= 4;\n }\n\n set(date, _flags, value) {\n date.setMonth((value - 1) * 3, 1);\n date.setHours(0, 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\n \"Y\",\n \"R\",\n \"q\",\n \"M\",\n \"L\",\n \"w\",\n \"I\",\n \"d\",\n \"D\",\n \"i\",\n \"e\",\n \"c\",\n \"t\",\n \"T\",\n ];\n}\n","import { Parser } from \"../Parser.mjs\";\nimport { parseNDigits } from \"../utils.mjs\";\n\nexport class StandAloneQuarterParser extends Parser {\n priority = 120;\n\n parse(dateString, token, match) {\n switch (token) {\n // 1, 2, 3, 4\n case \"q\":\n case \"qq\": // 01, 02, 03, 04\n return parseNDigits(token.length, dateString);\n // 1st, 2nd, 3rd, 4th\n case \"qo\":\n return match.ordinalNumber(dateString, { unit: \"quarter\" });\n // Q1, Q2, Q3, Q4\n case \"qqq\":\n return (\n match.quarter(dateString, {\n width: \"abbreviated\",\n context: \"standalone\",\n }) ||\n match.quarter(dateString, {\n width: \"narrow\",\n context: \"standalone\",\n })\n );\n\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n case \"qqqqq\":\n return match.quarter(dateString, {\n width: \"narrow\",\n context: \"standalone\",\n });\n // 1st quarter, 2nd quarter, ...\n case \"qqqq\":\n default:\n return (\n match.quarter(dateString, {\n width: \"wide\",\n context: \"standalone\",\n }) ||\n match.quarter(dateString, {\n width: \"abbreviated\",\n context: \"standalone\",\n }) ||\n match.quarter(dateString, {\n width: \"narrow\",\n context: \"standalone\",\n })\n );\n }\n }\n\n validate(_date, value) {\n return value >= 1 && value <= 4;\n }\n\n set(date, _flags, value) {\n date.setMonth((value - 1) * 3, 1);\n date.setHours(0, 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\n \"Y\",\n \"R\",\n \"Q\",\n \"M\",\n \"L\",\n \"w\",\n \"I\",\n \"d\",\n \"D\",\n \"i\",\n \"e\",\n \"c\",\n \"t\",\n \"T\",\n ];\n}\n","import { numericPatterns } from \"../constants.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport { mapValue, parseNDigits, parseNumericPattern } from \"../utils.mjs\";\n\nexport class MonthParser extends Parser {\n incompatibleTokens = [\n \"Y\",\n \"R\",\n \"q\",\n \"Q\",\n \"L\",\n \"w\",\n \"I\",\n \"D\",\n \"i\",\n \"e\",\n \"c\",\n \"t\",\n \"T\",\n ];\n\n priority = 110;\n\n parse(dateString, token, match) {\n const valueCallback = (value) => value - 1;\n\n switch (token) {\n // 1, 2, ..., 12\n case \"M\":\n return mapValue(\n parseNumericPattern(numericPatterns.month, dateString),\n valueCallback,\n );\n // 01, 02, ..., 12\n case \"MM\":\n return mapValue(parseNDigits(2, dateString), valueCallback);\n // 1st, 2nd, ..., 12th\n case \"Mo\":\n return mapValue(\n match.ordinalNumber(dateString, {\n unit: \"month\",\n }),\n valueCallback,\n );\n // Jan, Feb, ..., Dec\n case \"MMM\":\n return (\n match.month(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.month(dateString, { width: \"narrow\", context: \"formatting\" })\n );\n\n // J, F, ..., D\n case \"MMMMM\":\n return match.month(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // January, February, ..., December\n case \"MMMM\":\n default:\n return (\n match.month(dateString, { width: \"wide\", context: \"formatting\" }) ||\n match.month(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.month(dateString, { width: \"narrow\", context: \"formatting\" })\n );\n }\n }\n\n validate(_date, value) {\n return value >= 0 && value <= 11;\n }\n\n set(date, _flags, value) {\n date.setMonth(value, 1);\n date.setHours(0, 0, 0, 0);\n return date;\n }\n}\n","import { numericPatterns } from \"../constants.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport { mapValue, parseNDigits, parseNumericPattern } from \"../utils.mjs\";\n\nexport class StandAloneMonthParser extends Parser {\n priority = 110;\n\n parse(dateString, token, match) {\n const valueCallback = (value) => value - 1;\n\n switch (token) {\n // 1, 2, ..., 12\n case \"L\":\n return mapValue(\n parseNumericPattern(numericPatterns.month, dateString),\n valueCallback,\n );\n // 01, 02, ..., 12\n case \"LL\":\n return mapValue(parseNDigits(2, dateString), valueCallback);\n // 1st, 2nd, ..., 12th\n case \"Lo\":\n return mapValue(\n match.ordinalNumber(dateString, {\n unit: \"month\",\n }),\n valueCallback,\n );\n // Jan, Feb, ..., Dec\n case \"LLL\":\n return (\n match.month(dateString, {\n width: \"abbreviated\",\n context: \"standalone\",\n }) ||\n match.month(dateString, { width: \"narrow\", context: \"standalone\" })\n );\n\n // J, F, ..., D\n case \"LLLLL\":\n return match.month(dateString, {\n width: \"narrow\",\n context: \"standalone\",\n });\n // January, February, ..., December\n case \"LLLL\":\n default:\n return (\n match.month(dateString, { width: \"wide\", context: \"standalone\" }) ||\n match.month(dateString, {\n width: \"abbreviated\",\n context: \"standalone\",\n }) ||\n match.month(dateString, { width: \"narrow\", context: \"standalone\" })\n );\n }\n }\n\n validate(_date, value) {\n return value >= 0 && value <= 11;\n }\n\n set(date, _flags, value) {\n date.setMonth(value, 1);\n date.setHours(0, 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\n \"Y\",\n \"R\",\n \"q\",\n \"Q\",\n \"M\",\n \"w\",\n \"I\",\n \"D\",\n \"i\",\n \"e\",\n \"c\",\n \"t\",\n \"T\",\n ];\n}\n","import { getWeek } from \"./getWeek.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n/**\n * The {@link setWeek} function options.\n */\n\n/**\n * @name setWeek\n * @category Week Helpers\n * @summary Set the local week to the given date.\n *\n * @description\n * Set the local week to the given date, saving the weekday number.\n * The exact calculation depends on the values of\n * `options.weekStartsOn` (which is the index of the first day of the week)\n * and `options.firstWeekContainsDate` (which is the day of January, which is always in\n * the first week of the week-numbering year)\n *\n * Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The date to be changed\n * @param week - The week of the new date\n * @param options - An object with options\n *\n * @returns The new date with the local week set\n *\n * @example\n * // Set the 1st week to 2 January 2005 with default options:\n * const result = setWeek(new Date(2005, 0, 2), 1)\n * //=> Sun Dec 26 2004 00:00:00\n *\n * @example\n * // Set the 1st week to 2 January 2005,\n * // if Monday is the first day of the week,\n * // and the first week of the year always contains 4 January:\n * const result = setWeek(new Date(2005, 0, 2), 1, {\n * weekStartsOn: 1,\n * firstWeekContainsDate: 4\n * })\n * //=> Sun Jan 4 2004 00:00:00\n */\nexport function setWeek(date, week, options) {\n const _date = toDate(date);\n const diff = getWeek(_date, options) - week;\n _date.setDate(_date.getDate() - diff * 7);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default setWeek;\n","import { setWeek } from \"../../../setWeek.mjs\";\nimport { startOfWeek } from \"../../../startOfWeek.mjs\";\nimport { numericPatterns } from \"../constants.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport { parseNDigits, parseNumericPattern } from \"../utils.mjs\";\n\n// Local week of year\nexport class LocalWeekParser extends Parser {\n priority = 100;\n\n parse(dateString, token, match) {\n switch (token) {\n case \"w\":\n return parseNumericPattern(numericPatterns.week, dateString);\n case \"wo\":\n return match.ordinalNumber(dateString, { unit: \"week\" });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n\n validate(_date, value) {\n return value >= 1 && value <= 53;\n }\n\n set(date, _flags, value, options) {\n return startOfWeek(setWeek(date, value, options), options);\n }\n\n incompatibleTokens = [\n \"y\",\n \"R\",\n \"u\",\n \"q\",\n \"Q\",\n \"M\",\n \"L\",\n \"I\",\n \"d\",\n \"D\",\n \"i\",\n \"t\",\n \"T\",\n ];\n}\n","import { getISOWeek } from \"./getISOWeek.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n/**\n * @name setISOWeek\n * @category ISO Week Helpers\n * @summary Set the ISO week to the given date.\n *\n * @description\n * Set the ISO week to the given date, saving the weekday number.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The date to be changed\n * @param week - The ISO week of the new date\n *\n * @returns The new date with the ISO week set\n *\n * @example\n * // Set the 53rd ISO week to 7 August 2004:\n * const result = setISOWeek(new Date(2004, 7, 7), 53)\n * //=> Sat Jan 01 2005 00:00:00\n */\nexport function setISOWeek(date, week) {\n const _date = toDate(date);\n const diff = getISOWeek(_date) - week;\n _date.setDate(_date.getDate() - diff * 7);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default setISOWeek;\n","import { setISOWeek } from \"../../../setISOWeek.mjs\";\nimport { startOfISOWeek } from \"../../../startOfISOWeek.mjs\";\nimport { numericPatterns } from \"../constants.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport { parseNDigits, parseNumericPattern } from \"../utils.mjs\";\n\n// ISO week of year\nexport class ISOWeekParser extends Parser {\n priority = 100;\n\n parse(dateString, token, match) {\n switch (token) {\n case \"I\":\n return parseNumericPattern(numericPatterns.week, dateString);\n case \"Io\":\n return match.ordinalNumber(dateString, { unit: \"week\" });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n\n validate(_date, value) {\n return value >= 1 && value <= 53;\n }\n\n set(date, _flags, value) {\n return startOfISOWeek(setISOWeek(date, value));\n }\n\n incompatibleTokens = [\n \"y\",\n \"Y\",\n \"u\",\n \"q\",\n \"Q\",\n \"M\",\n \"L\",\n \"w\",\n \"d\",\n \"D\",\n \"e\",\n \"c\",\n \"t\",\n \"T\",\n ];\n}\n","import { numericPatterns } from \"../constants.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport {\n isLeapYearIndex,\n parseNDigits,\n parseNumericPattern,\n} from \"../utils.mjs\";\n\nconst DAYS_IN_MONTH = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\nconst DAYS_IN_MONTH_LEAP_YEAR = [\n 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31,\n];\n\n// Day of the month\nexport class DateParser extends Parser {\n priority = 90;\n subPriority = 1;\n\n parse(dateString, token, match) {\n switch (token) {\n case \"d\":\n return parseNumericPattern(numericPatterns.date, dateString);\n case \"do\":\n return match.ordinalNumber(dateString, { unit: \"date\" });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n\n validate(date, value) {\n const year = date.getFullYear();\n const isLeapYear = isLeapYearIndex(year);\n const month = date.getMonth();\n if (isLeapYear) {\n return value >= 1 && value <= DAYS_IN_MONTH_LEAP_YEAR[month];\n } else {\n return value >= 1 && value <= DAYS_IN_MONTH[month];\n }\n }\n\n set(date, _flags, value) {\n date.setDate(value);\n date.setHours(0, 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\n \"Y\",\n \"R\",\n \"q\",\n \"Q\",\n \"w\",\n \"I\",\n \"D\",\n \"i\",\n \"e\",\n \"c\",\n \"t\",\n \"T\",\n ];\n}\n","import { numericPatterns } from \"../constants.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport {\n isLeapYearIndex,\n parseNDigits,\n parseNumericPattern,\n} from \"../utils.mjs\";\n\nexport class DayOfYearParser extends Parser {\n priority = 90;\n\n subpriority = 1;\n\n parse(dateString, token, match) {\n switch (token) {\n case \"D\":\n case \"DD\":\n return parseNumericPattern(numericPatterns.dayOfYear, dateString);\n case \"Do\":\n return match.ordinalNumber(dateString, { unit: \"date\" });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n\n validate(date, value) {\n const year = date.getFullYear();\n const isLeapYear = isLeapYearIndex(year);\n if (isLeapYear) {\n return value >= 1 && value <= 366;\n } else {\n return value >= 1 && value <= 365;\n }\n }\n\n set(date, _flags, value) {\n date.setMonth(0, value);\n date.setHours(0, 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\n \"Y\",\n \"R\",\n \"q\",\n \"Q\",\n \"M\",\n \"L\",\n \"w\",\n \"I\",\n \"d\",\n \"E\",\n \"i\",\n \"e\",\n \"c\",\n \"t\",\n \"T\",\n ];\n}\n","import { addDays } from \"./addDays.mjs\";\nimport { toDate } from \"./toDate.mjs\";\nimport { getDefaultOptions } from \"./_lib/defaultOptions.mjs\";\n\n/**\n * The {@link setDay} function options.\n */\n\n/**\n * @name setDay\n * @category Weekday Helpers\n * @summary Set the day of the week to the given date.\n *\n * @description\n * Set the day of the week to the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The date to be changed\n * @param day - The day of the week of the new date\n * @param options - An object with options.\n *\n * @returns The new date with the day of the week set\n *\n * @example\n * // Set week day to Sunday, with the default weekStartsOn of Sunday:\n * const result = setDay(new Date(2014, 8, 1), 0)\n * //=> Sun Aug 31 2014 00:00:00\n *\n * @example\n * // Set week day to Sunday, with a weekStartsOn of Monday:\n * const result = setDay(new Date(2014, 8, 1), 0, { weekStartsOn: 1 })\n * //=> Sun Sep 07 2014 00:00:00\n */\nexport function setDay(date, day, options) {\n const defaultOptions = getDefaultOptions();\n const weekStartsOn =\n options?.weekStartsOn ??\n options?.locale?.options?.weekStartsOn ??\n defaultOptions.weekStartsOn ??\n defaultOptions.locale?.options?.weekStartsOn ??\n 0;\n\n const _date = toDate(date);\n const currentDay = _date.getDay();\n\n const remainder = day % 7;\n const dayIndex = (remainder + 7) % 7;\n\n const delta = 7 - weekStartsOn;\n const diff =\n day < 0 || day > 6\n ? day - ((currentDay + delta) % 7)\n : ((dayIndex + delta) % 7) - ((currentDay + delta) % 7);\n return addDays(_date, diff);\n}\n\n// Fallback for modularized imports:\nexport default setDay;\n","import { setDay } from \"../../../setDay.mjs\";\nimport { Parser } from \"../Parser.mjs\";\n\n// Day of week\nexport class DayParser extends Parser {\n priority = 90;\n\n parse(dateString, token, match) {\n switch (token) {\n // Tue\n case \"E\":\n case \"EE\":\n case \"EEE\":\n return (\n match.day(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.day(dateString, { width: \"short\", context: \"formatting\" }) ||\n match.day(dateString, { width: \"narrow\", context: \"formatting\" })\n );\n\n // T\n case \"EEEEE\":\n return match.day(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // Tu\n case \"EEEEEE\":\n return (\n match.day(dateString, { width: \"short\", context: \"formatting\" }) ||\n match.day(dateString, { width: \"narrow\", context: \"formatting\" })\n );\n\n // Tuesday\n case \"EEEE\":\n default:\n return (\n match.day(dateString, { width: \"wide\", context: \"formatting\" }) ||\n match.day(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.day(dateString, { width: \"short\", context: \"formatting\" }) ||\n match.day(dateString, { width: \"narrow\", context: \"formatting\" })\n );\n }\n }\n\n validate(_date, value) {\n return value >= 0 && value <= 6;\n }\n\n set(date, _flags, value, options) {\n date = setDay(date, value, options);\n date.setHours(0, 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\"D\", \"i\", \"e\", \"c\", \"t\", \"T\"];\n}\n","import { setDay } from \"../../../setDay.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport { mapValue, parseNDigits } from \"../utils.mjs\";\n\n// Local day of week\nexport class LocalDayParser extends Parser {\n priority = 90;\n parse(dateString, token, match, options) {\n const valueCallback = (value) => {\n // We want here floor instead of trunc, so we get -7 for value 0 instead of 0\n const wholeWeekDays = Math.floor((value - 1) / 7) * 7;\n return ((value + options.weekStartsOn + 6) % 7) + wholeWeekDays;\n };\n\n switch (token) {\n // 3\n case \"e\":\n case \"ee\": // 03\n return mapValue(parseNDigits(token.length, dateString), valueCallback);\n // 3rd\n case \"eo\":\n return mapValue(\n match.ordinalNumber(dateString, {\n unit: \"day\",\n }),\n valueCallback,\n );\n // Tue\n case \"eee\":\n return (\n match.day(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.day(dateString, { width: \"short\", context: \"formatting\" }) ||\n match.day(dateString, { width: \"narrow\", context: \"formatting\" })\n );\n\n // T\n case \"eeeee\":\n return match.day(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // Tu\n case \"eeeeee\":\n return (\n match.day(dateString, { width: \"short\", context: \"formatting\" }) ||\n match.day(dateString, { width: \"narrow\", context: \"formatting\" })\n );\n\n // Tuesday\n case \"eeee\":\n default:\n return (\n match.day(dateString, { width: \"wide\", context: \"formatting\" }) ||\n match.day(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.day(dateString, { width: \"short\", context: \"formatting\" }) ||\n match.day(dateString, { width: \"narrow\", context: \"formatting\" })\n );\n }\n }\n\n validate(_date, value) {\n return value >= 0 && value <= 6;\n }\n\n set(date, _flags, value, options) {\n date = setDay(date, value, options);\n date.setHours(0, 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\n \"y\",\n \"R\",\n \"u\",\n \"q\",\n \"Q\",\n \"M\",\n \"L\",\n \"I\",\n \"d\",\n \"D\",\n \"E\",\n \"i\",\n \"c\",\n \"t\",\n \"T\",\n ];\n}\n","import { setDay } from \"../../../setDay.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport { mapValue, parseNDigits } from \"../utils.mjs\";\n\n// Stand-alone local day of week\nexport class StandAloneLocalDayParser extends Parser {\n priority = 90;\n\n parse(dateString, token, match, options) {\n const valueCallback = (value) => {\n // We want here floor instead of trunc, so we get -7 for value 0 instead of 0\n const wholeWeekDays = Math.floor((value - 1) / 7) * 7;\n return ((value + options.weekStartsOn + 6) % 7) + wholeWeekDays;\n };\n\n switch (token) {\n // 3\n case \"c\":\n case \"cc\": // 03\n return mapValue(parseNDigits(token.length, dateString), valueCallback);\n // 3rd\n case \"co\":\n return mapValue(\n match.ordinalNumber(dateString, {\n unit: \"day\",\n }),\n valueCallback,\n );\n // Tue\n case \"ccc\":\n return (\n match.day(dateString, {\n width: \"abbreviated\",\n context: \"standalone\",\n }) ||\n match.day(dateString, { width: \"short\", context: \"standalone\" }) ||\n match.day(dateString, { width: \"narrow\", context: \"standalone\" })\n );\n\n // T\n case \"ccccc\":\n return match.day(dateString, {\n width: \"narrow\",\n context: \"standalone\",\n });\n // Tu\n case \"cccccc\":\n return (\n match.day(dateString, { width: \"short\", context: \"standalone\" }) ||\n match.day(dateString, { width: \"narrow\", context: \"standalone\" })\n );\n\n // Tuesday\n case \"cccc\":\n default:\n return (\n match.day(dateString, { width: \"wide\", context: \"standalone\" }) ||\n match.day(dateString, {\n width: \"abbreviated\",\n context: \"standalone\",\n }) ||\n match.day(dateString, { width: \"short\", context: \"standalone\" }) ||\n match.day(dateString, { width: \"narrow\", context: \"standalone\" })\n );\n }\n }\n\n validate(_date, value) {\n return value >= 0 && value <= 6;\n }\n\n set(date, _flags, value, options) {\n date = setDay(date, value, options);\n date.setHours(0, 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\n \"y\",\n \"R\",\n \"u\",\n \"q\",\n \"Q\",\n \"M\",\n \"L\",\n \"I\",\n \"d\",\n \"D\",\n \"E\",\n \"i\",\n \"e\",\n \"t\",\n \"T\",\n ];\n}\n","import { addDays } from \"./addDays.mjs\";\nimport { getISODay } from \"./getISODay.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n/**\n * @name setISODay\n * @category Weekday Helpers\n * @summary Set the day of the ISO week to the given date.\n *\n * @description\n * Set the day of the ISO week to the given date.\n * ISO week starts with Monday.\n * 7 is the index of Sunday, 1 is the index of Monday etc.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The date to be changed\n * @param day - The day of the ISO week of the new date\n *\n * @returns The new date with the day of the ISO week set\n *\n * @example\n * // Set Sunday to 1 September 2014:\n * const result = setISODay(new Date(2014, 8, 1), 7)\n * //=> Sun Sep 07 2014 00:00:00\n */\nexport function setISODay(date, day) {\n const _date = toDate(date);\n const currentDay = getISODay(_date);\n const diff = day - currentDay;\n return addDays(_date, diff);\n}\n\n// Fallback for modularized imports:\nexport default setISODay;\n","import { setISODay } from \"../../../setISODay.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport { mapValue, parseNDigits } from \"../utils.mjs\";\n\n// ISO day of week\nexport class ISODayParser extends Parser {\n priority = 90;\n\n parse(dateString, token, match) {\n const valueCallback = (value) => {\n if (value === 0) {\n return 7;\n }\n return value;\n };\n\n switch (token) {\n // 2\n case \"i\":\n case \"ii\": // 02\n return parseNDigits(token.length, dateString);\n // 2nd\n case \"io\":\n return match.ordinalNumber(dateString, { unit: \"day\" });\n // Tue\n case \"iii\":\n return mapValue(\n match.day(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.day(dateString, {\n width: \"short\",\n context: \"formatting\",\n }) ||\n match.day(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n }),\n valueCallback,\n );\n // T\n case \"iiiii\":\n return mapValue(\n match.day(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n }),\n valueCallback,\n );\n // Tu\n case \"iiiiii\":\n return mapValue(\n match.day(dateString, {\n width: \"short\",\n context: \"formatting\",\n }) ||\n match.day(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n }),\n valueCallback,\n );\n // Tuesday\n case \"iiii\":\n default:\n return mapValue(\n match.day(dateString, {\n width: \"wide\",\n context: \"formatting\",\n }) ||\n match.day(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.day(dateString, {\n width: \"short\",\n context: \"formatting\",\n }) ||\n match.day(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n }),\n valueCallback,\n );\n }\n }\n\n validate(_date, value) {\n return value >= 1 && value <= 7;\n }\n\n set(date, _flags, value) {\n date = setISODay(date, value);\n date.setHours(0, 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\n \"y\",\n \"Y\",\n \"u\",\n \"q\",\n \"Q\",\n \"M\",\n \"L\",\n \"w\",\n \"d\",\n \"D\",\n \"E\",\n \"e\",\n \"c\",\n \"t\",\n \"T\",\n ];\n}\n","import { Parser } from \"../Parser.mjs\";\nimport { dayPeriodEnumToHours } from \"../utils.mjs\";\n\nexport class AMPMParser extends Parser {\n priority = 80;\n\n parse(dateString, token, match) {\n switch (token) {\n case \"a\":\n case \"aa\":\n case \"aaa\":\n return (\n match.dayPeriod(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.dayPeriod(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n })\n );\n\n case \"aaaaa\":\n return match.dayPeriod(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n });\n case \"aaaa\":\n default:\n return (\n match.dayPeriod(dateString, {\n width: \"wide\",\n context: \"formatting\",\n }) ||\n match.dayPeriod(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.dayPeriod(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n })\n );\n }\n }\n\n set(date, _flags, value) {\n date.setHours(dayPeriodEnumToHours(value), 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\"b\", \"B\", \"H\", \"k\", \"t\", \"T\"];\n}\n","import { Parser } from \"../Parser.mjs\";\nimport { dayPeriodEnumToHours } from \"../utils.mjs\";\n\nexport class AMPMMidnightParser extends Parser {\n priority = 80;\n\n parse(dateString, token, match) {\n switch (token) {\n case \"b\":\n case \"bb\":\n case \"bbb\":\n return (\n match.dayPeriod(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.dayPeriod(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n })\n );\n\n case \"bbbbb\":\n return match.dayPeriod(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n });\n case \"bbbb\":\n default:\n return (\n match.dayPeriod(dateString, {\n width: \"wide\",\n context: \"formatting\",\n }) ||\n match.dayPeriod(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.dayPeriod(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n })\n );\n }\n }\n\n set(date, _flags, value) {\n date.setHours(dayPeriodEnumToHours(value), 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\"a\", \"B\", \"H\", \"k\", \"t\", \"T\"];\n}\n","import { Parser } from \"../Parser.mjs\";\nimport { dayPeriodEnumToHours } from \"../utils.mjs\";\n\n// in the morning, in the afternoon, in the evening, at night\nexport class DayPeriodParser extends Parser {\n priority = 80;\n\n parse(dateString, token, match) {\n switch (token) {\n case \"B\":\n case \"BB\":\n case \"BBB\":\n return (\n match.dayPeriod(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.dayPeriod(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n })\n );\n\n case \"BBBBB\":\n return match.dayPeriod(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n });\n case \"BBBB\":\n default:\n return (\n match.dayPeriod(dateString, {\n width: \"wide\",\n context: \"formatting\",\n }) ||\n match.dayPeriod(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.dayPeriod(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n })\n );\n }\n }\n\n set(date, _flags, value) {\n date.setHours(dayPeriodEnumToHours(value), 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\"a\", \"b\", \"t\", \"T\"];\n}\n","import { numericPatterns } from \"../constants.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport { parseNDigits, parseNumericPattern } from \"../utils.mjs\";\n\nexport class Hour1to12Parser extends Parser {\n priority = 70;\n\n parse(dateString, token, match) {\n switch (token) {\n case \"h\":\n return parseNumericPattern(numericPatterns.hour12h, dateString);\n case \"ho\":\n return match.ordinalNumber(dateString, { unit: \"hour\" });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n\n validate(_date, value) {\n return value >= 1 && value <= 12;\n }\n\n set(date, _flags, value) {\n const isPM = date.getHours() >= 12;\n if (isPM && value < 12) {\n date.setHours(value + 12, 0, 0, 0);\n } else if (!isPM && value === 12) {\n date.setHours(0, 0, 0, 0);\n } else {\n date.setHours(value, 0, 0, 0);\n }\n return date;\n }\n\n incompatibleTokens = [\"H\", \"K\", \"k\", \"t\", \"T\"];\n}\n","import { numericPatterns } from \"../constants.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport { parseNDigits, parseNumericPattern } from \"../utils.mjs\";\n\nexport class Hour0to23Parser extends Parser {\n priority = 70;\n\n parse(dateString, token, match) {\n switch (token) {\n case \"H\":\n return parseNumericPattern(numericPatterns.hour23h, dateString);\n case \"Ho\":\n return match.ordinalNumber(dateString, { unit: \"hour\" });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n\n validate(_date, value) {\n return value >= 0 && value <= 23;\n }\n\n set(date, _flags, value) {\n date.setHours(value, 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\"a\", \"b\", \"h\", \"K\", \"k\", \"t\", \"T\"];\n}\n","import { numericPatterns } from \"../constants.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport { parseNDigits, parseNumericPattern } from \"../utils.mjs\";\n\nexport class Hour0To11Parser extends Parser {\n priority = 70;\n\n parse(dateString, token, match) {\n switch (token) {\n case \"K\":\n return parseNumericPattern(numericPatterns.hour11h, dateString);\n case \"Ko\":\n return match.ordinalNumber(dateString, { unit: \"hour\" });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n\n validate(_date, value) {\n return value >= 0 && value <= 11;\n }\n\n set(date, _flags, value) {\n const isPM = date.getHours() >= 12;\n if (isPM && value < 12) {\n date.setHours(value + 12, 0, 0, 0);\n } else {\n date.setHours(value, 0, 0, 0);\n }\n return date;\n }\n\n incompatibleTokens = [\"h\", \"H\", \"k\", \"t\", \"T\"];\n}\n","import { numericPatterns } from \"../constants.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport { parseNDigits, parseNumericPattern } from \"../utils.mjs\";\n\nexport class Hour1To24Parser extends Parser {\n priority = 70;\n\n parse(dateString, token, match) {\n switch (token) {\n case \"k\":\n return parseNumericPattern(numericPatterns.hour24h, dateString);\n case \"ko\":\n return match.ordinalNumber(dateString, { unit: \"hour\" });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n\n validate(_date, value) {\n return value >= 1 && value <= 24;\n }\n\n set(date, _flags, value) {\n const hours = value <= 24 ? value % 24 : value;\n date.setHours(hours, 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\"a\", \"b\", \"h\", \"H\", \"K\", \"t\", \"T\"];\n}\n","import { numericPatterns } from \"../constants.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport { parseNDigits, parseNumericPattern } from \"../utils.mjs\";\n\nexport class MinuteParser extends Parser {\n priority = 60;\n\n parse(dateString, token, match) {\n switch (token) {\n case \"m\":\n return parseNumericPattern(numericPatterns.minute, dateString);\n case \"mo\":\n return match.ordinalNumber(dateString, { unit: \"minute\" });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n\n validate(_date, value) {\n return value >= 0 && value <= 59;\n }\n\n set(date, _flags, value) {\n date.setMinutes(value, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\"t\", \"T\"];\n}\n","import { numericPatterns } from \"../constants.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport { parseNDigits, parseNumericPattern } from \"../utils.mjs\";\n\nexport class SecondParser extends Parser {\n priority = 50;\n\n parse(dateString, token, match) {\n switch (token) {\n case \"s\":\n return parseNumericPattern(numericPatterns.second, dateString);\n case \"so\":\n return match.ordinalNumber(dateString, { unit: \"second\" });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n\n validate(_date, value) {\n return value >= 0 && value <= 59;\n }\n\n set(date, _flags, value) {\n date.setSeconds(value, 0);\n return date;\n }\n\n incompatibleTokens = [\"t\", \"T\"];\n}\n","import { Parser } from \"../Parser.mjs\";\nimport { mapValue, parseNDigits } from \"../utils.mjs\";\n\nexport class FractionOfSecondParser extends Parser {\n priority = 30;\n\n parse(dateString, token) {\n const valueCallback = (value) =>\n Math.trunc(value * Math.pow(10, -token.length + 3));\n return mapValue(parseNDigits(token.length, dateString), valueCallback);\n }\n\n set(date, _flags, value) {\n date.setMilliseconds(value);\n return date;\n }\n\n incompatibleTokens = [\"t\", \"T\"];\n}\n","import { constructFrom } from \"../../../constructFrom.mjs\";\nimport { getTimezoneOffsetInMilliseconds } from \"../../../_lib/getTimezoneOffsetInMilliseconds.mjs\";\nimport { timezonePatterns } from \"../constants.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport { parseTimezonePattern } from \"../utils.mjs\";\n\n// Timezone (ISO-8601. +00:00 is `'Z'`)\nexport class ISOTimezoneWithZParser extends Parser {\n priority = 10;\n\n parse(dateString, token) {\n switch (token) {\n case \"X\":\n return parseTimezonePattern(\n timezonePatterns.basicOptionalMinutes,\n dateString,\n );\n case \"XX\":\n return parseTimezonePattern(timezonePatterns.basic, dateString);\n case \"XXXX\":\n return parseTimezonePattern(\n timezonePatterns.basicOptionalSeconds,\n dateString,\n );\n case \"XXXXX\":\n return parseTimezonePattern(\n timezonePatterns.extendedOptionalSeconds,\n dateString,\n );\n case \"XXX\":\n default:\n return parseTimezonePattern(timezonePatterns.extended, dateString);\n }\n }\n\n set(date, flags, value) {\n if (flags.timestampIsSet) return date;\n return constructFrom(\n date,\n date.getTime() - getTimezoneOffsetInMilliseconds(date) - value,\n );\n }\n\n incompatibleTokens = [\"t\", \"T\", \"x\"];\n}\n","import { constructFrom } from \"../../../constructFrom.mjs\";\nimport { getTimezoneOffsetInMilliseconds } from \"../../../_lib/getTimezoneOffsetInMilliseconds.mjs\";\nimport { timezonePatterns } from \"../constants.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport { parseTimezonePattern } from \"../utils.mjs\";\n\n// Timezone (ISO-8601)\nexport class ISOTimezoneParser extends Parser {\n priority = 10;\n\n parse(dateString, token) {\n switch (token) {\n case \"x\":\n return parseTimezonePattern(\n timezonePatterns.basicOptionalMinutes,\n dateString,\n );\n case \"xx\":\n return parseTimezonePattern(timezonePatterns.basic, dateString);\n case \"xxxx\":\n return parseTimezonePattern(\n timezonePatterns.basicOptionalSeconds,\n dateString,\n );\n case \"xxxxx\":\n return parseTimezonePattern(\n timezonePatterns.extendedOptionalSeconds,\n dateString,\n );\n case \"xxx\":\n default:\n return parseTimezonePattern(timezonePatterns.extended, dateString);\n }\n }\n\n set(date, flags, value) {\n if (flags.timestampIsSet) return date;\n return constructFrom(\n date,\n date.getTime() - getTimezoneOffsetInMilliseconds(date) - value,\n );\n }\n\n incompatibleTokens = [\"t\", \"T\", \"X\"];\n}\n","import { constructFrom } from \"../../../constructFrom.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport { parseAnyDigitsSigned } from \"../utils.mjs\";\n\nexport class TimestampSecondsParser extends Parser {\n priority = 40;\n\n parse(dateString) {\n return parseAnyDigitsSigned(dateString);\n }\n\n set(date, _flags, value) {\n return [constructFrom(date, value * 1000), { timestampIsSet: true }];\n }\n\n incompatibleTokens = \"*\";\n}\n","import { constructFrom } from \"../../../constructFrom.mjs\";\nimport { Parser } from \"../Parser.mjs\";\nimport { parseAnyDigitsSigned } from \"../utils.mjs\";\n\nexport class TimestampMillisecondsParser extends Parser {\n priority = 20;\n\n parse(dateString) {\n return parseAnyDigitsSigned(dateString);\n }\n\n set(date, _flags, value) {\n return [constructFrom(date, value), { timestampIsSet: true }];\n }\n\n incompatibleTokens = \"*\";\n}\n","import { EraParser } from \"./parsers/EraParser.mjs\";\nimport { YearParser } from \"./parsers/YearParser.mjs\";\nimport { LocalWeekYearParser } from \"./parsers/LocalWeekYearParser.mjs\";\nimport { ISOWeekYearParser } from \"./parsers/ISOWeekYearParser.mjs\";\nimport { ExtendedYearParser } from \"./parsers/ExtendedYearParser.mjs\";\nimport { QuarterParser } from \"./parsers/QuarterParser.mjs\";\nimport { StandAloneQuarterParser } from \"./parsers/StandAloneQuarterParser.mjs\";\nimport { MonthParser } from \"./parsers/MonthParser.mjs\";\nimport { StandAloneMonthParser } from \"./parsers/StandAloneMonthParser.mjs\";\nimport { LocalWeekParser } from \"./parsers/LocalWeekParser.mjs\";\nimport { ISOWeekParser } from \"./parsers/ISOWeekParser.mjs\";\nimport { DateParser } from \"./parsers/DateParser.mjs\";\nimport { DayOfYearParser } from \"./parsers/DayOfYearParser.mjs\";\nimport { DayParser } from \"./parsers/DayParser.mjs\";\nimport { LocalDayParser } from \"./parsers/LocalDayParser.mjs\";\nimport { StandAloneLocalDayParser } from \"./parsers/StandAloneLocalDayParser.mjs\";\nimport { ISODayParser } from \"./parsers/ISODayParser.mjs\";\nimport { AMPMParser } from \"./parsers/AMPMParser.mjs\";\nimport { AMPMMidnightParser } from \"./parsers/AMPMMidnightParser.mjs\";\nimport { DayPeriodParser } from \"./parsers/DayPeriodParser.mjs\";\nimport { Hour1to12Parser } from \"./parsers/Hour1to12Parser.mjs\";\nimport { Hour0to23Parser } from \"./parsers/Hour0to23Parser.mjs\";\nimport { Hour0To11Parser } from \"./parsers/Hour0To11Parser.mjs\";\nimport { Hour1To24Parser } from \"./parsers/Hour1To24Parser.mjs\";\nimport { MinuteParser } from \"./parsers/MinuteParser.mjs\";\nimport { SecondParser } from \"./parsers/SecondParser.mjs\";\nimport { FractionOfSecondParser } from \"./parsers/FractionOfSecondParser.mjs\";\nimport { ISOTimezoneWithZParser } from \"./parsers/ISOTimezoneWithZParser.mjs\";\nimport { ISOTimezoneParser } from \"./parsers/ISOTimezoneParser.mjs\";\nimport { TimestampSecondsParser } from \"./parsers/TimestampSecondsParser.mjs\";\nimport { TimestampMillisecondsParser } from \"./parsers/TimestampMillisecondsParser.mjs\";\n\n/*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | Milliseconds in day |\n * | b | AM, PM, noon, midnight | B | Flexible day period |\n * | c | Stand-alone local day of week | C* | Localized hour w/ day period |\n * | d | Day of month | D | Day of year |\n * | e | Local day of week | E | Day of week |\n * | f | | F* | Day of week in month |\n * | g* | Modified Julian day | G | Era |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | i! | ISO day of week | I! | ISO week of year |\n * | j* | Localized hour w/ day period | J* | Localized hour w/o day period |\n * | k | Hour [1-24] | K | Hour [0-11] |\n * | l* | (deprecated) | L | Stand-alone month |\n * | m | Minute | M | Month |\n * | n | | N | |\n * | o! | Ordinal number modifier | O* | Timezone (GMT) |\n * | p | | P | |\n * | q | Stand-alone quarter | Q | Quarter |\n * | r* | Related Gregorian year | R! | ISO week-numbering year |\n * | s | Second | S | Fraction of second |\n * | t! | Seconds timestamp | T! | Milliseconds timestamp |\n * | u | Extended year | U* | Cyclic year |\n * | v* | Timezone (generic non-locat.) | V* | Timezone (location) |\n * | w | Local week of year | W* | Week of month |\n * | x | Timezone (ISO-8601 w/o Z) | X | Timezone (ISO-8601) |\n * | y | Year (abs) | Y | Local week-numbering year |\n * | z* | Timezone (specific non-locat.) | Z* | Timezone (aliases) |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n *\n * Letters marked by ! are non-standard, but implemented by date-fns:\n * - `o` modifies the previous token to turn it into an ordinal (see `parse` docs)\n * - `i` is ISO day of week. For `i` and `ii` is returns numeric ISO week days,\n * i.e. 7 for Sunday, 1 for Monday, etc.\n * - `I` is ISO week of year, as opposed to `w` which is local week of year.\n * - `R` is ISO week-numbering year, as opposed to `Y` which is local week-numbering year.\n * `R` is supposed to be used in conjunction with `I` and `i`\n * for universal ISO week-numbering date, whereas\n * `Y` is supposed to be used in conjunction with `w` and `e`\n * for week-numbering date specific to the locale.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any -- It's ok, we want any here\nexport const parsers = {\n G: new EraParser(),\n y: new YearParser(),\n Y: new LocalWeekYearParser(),\n R: new ISOWeekYearParser(),\n u: new ExtendedYearParser(),\n Q: new QuarterParser(),\n q: new StandAloneQuarterParser(),\n M: new MonthParser(),\n L: new StandAloneMonthParser(),\n w: new LocalWeekParser(),\n I: new ISOWeekParser(),\n d: new DateParser(),\n D: new DayOfYearParser(),\n E: new DayParser(),\n e: new LocalDayParser(),\n c: new StandAloneLocalDayParser(),\n i: new ISODayParser(),\n a: new AMPMParser(),\n b: new AMPMMidnightParser(),\n B: new DayPeriodParser(),\n h: new Hour1to12Parser(),\n H: new Hour0to23Parser(),\n K: new Hour0To11Parser(),\n k: new Hour1To24Parser(),\n m: new MinuteParser(),\n s: new SecondParser(),\n S: new FractionOfSecondParser(),\n X: new ISOTimezoneWithZParser(),\n x: new ISOTimezoneParser(),\n t: new TimestampSecondsParser(),\n T: new TimestampMillisecondsParser(),\n};\n","import { constructFrom } from \"./constructFrom.mjs\";\nimport { getDefaultOptions } from \"./getDefaultOptions.mjs\";\nimport { defaultLocale } from \"./_lib/defaultLocale.mjs\";\nimport { toDate } from \"./toDate.mjs\";\nimport { longFormatters } from \"./_lib/format/longFormatters.mjs\";\nimport {\n isProtectedDayOfYearToken,\n isProtectedWeekYearToken,\n warnOrThrowProtectedError,\n} from \"./_lib/protectedTokens.mjs\";\nimport { parsers } from \"./parse/_lib/parsers.mjs\";\nimport { DateToSystemTimezoneSetter } from \"./parse/_lib/Setter.mjs\";\n\n// Rexports of internal for libraries to use.\n// See: https://github.com/date-fns/date-fns/issues/3638#issuecomment-1877082874\nexport { longFormatters, parsers };\n\n/**\n * The {@link parse} function options.\n */\n\n// This RegExp consists of three parts separated by `|`:\n// - [yYQqMLwIdDecihHKkms]o matches any available ordinal number token\n// (one of the certain letters followed by `o`)\n// - (\\w)\\1* matches any sequences of the same letter\n// - '' matches two quote characters in a row\n// - '(''|[^'])+('|$) matches anything surrounded by two quote characters ('),\n// except a single quote symbol, which ends the sequence.\n// Two quote characters do not end the sequence.\n// If there is no matching single quote\n// then the sequence will continue until the end of the string.\n// - . matches any single character unmatched by previous parts of the RegExps\nconst formattingTokensRegExp =\n /[yYQqMLwIdDecihHKkms]o|(\\w)\\1*|''|'(''|[^'])+('|$)|./g;\n\n// This RegExp catches symbols escaped by quotes, and also\n// sequences of symbols P, p, and the combinations like `PPPPPPPppppp`\nconst longFormattingTokensRegExp = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g;\n\nconst escapedStringRegExp = /^'([^]*?)'?$/;\nconst doubleQuoteRegExp = /''/g;\n\nconst notWhitespaceRegExp = /\\S/;\nconst unescapedLatinCharacterRegExp = /[a-zA-Z]/;\n\n/**\n * @name parse\n * @category Common Helpers\n * @summary Parse the date.\n *\n * @description\n * Return the date parsed from string using the given format string.\n *\n * > ⚠️ Please note that the `format` tokens differ from Moment.js and other libraries.\n * > See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * The characters in the format string wrapped between two single quotes characters (') are escaped.\n * Two single quotes in a row, whether inside or outside a quoted sequence, represent a 'real' single quote.\n *\n * Format of the format string is based on Unicode Technical Standard #35:\n * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * with a few additions (see note 5 below the table).\n *\n * Not all tokens are compatible. Combinations that don't make sense or could lead to bugs are prohibited\n * and will throw `RangeError`. For example usage of 24-hour format token with AM/PM token will throw an exception:\n *\n * ```javascript\n * parse('23 AM', 'HH a', new Date())\n * //=> RangeError: The format string mustn't contain `HH` and `a` at the same time\n * ```\n *\n * See the compatibility table: https://docs.google.com/spreadsheets/d/e/2PACX-1vQOPU3xUhplll6dyoMmVUXHKl_8CRDs6_ueLmex3SoqwhuolkuN3O05l4rqx5h1dKX8eb46Ul-CCSrq/pubhtml?gid=0&single=true\n *\n * Accepted format string patterns:\n * | Unit |Prior| Pattern | Result examples | Notes |\n * |---------------------------------|-----|---------|-----------------------------------|-------|\n * | Era | 140 | G..GGG | AD, BC | |\n * | | | GGGG | Anno Domini, Before Christ | 2 |\n * | | | GGGGG | A, B | |\n * | Calendar year | 130 | y | 44, 1, 1900, 2017, 9999 | 4 |\n * | | | yo | 44th, 1st, 1900th, 9999999th | 4,5 |\n * | | | yy | 44, 01, 00, 17 | 4 |\n * | | | yyy | 044, 001, 123, 999 | 4 |\n * | | | yyyy | 0044, 0001, 1900, 2017 | 4 |\n * | | | yyyyy | ... | 2,4 |\n * | Local week-numbering year | 130 | Y | 44, 1, 1900, 2017, 9000 | 4 |\n * | | | Yo | 44th, 1st, 1900th, 9999999th | 4,5 |\n * | | | YY | 44, 01, 00, 17 | 4,6 |\n * | | | YYY | 044, 001, 123, 999 | 4 |\n * | | | YYYY | 0044, 0001, 1900, 2017 | 4,6 |\n * | | | YYYYY | ... | 2,4 |\n * | ISO week-numbering year | 130 | R | -43, 1, 1900, 2017, 9999, -9999 | 4,5 |\n * | | | RR | -43, 01, 00, 17 | 4,5 |\n * | | | RRR | -043, 001, 123, 999, -999 | 4,5 |\n * | | | RRRR | -0043, 0001, 2017, 9999, -9999 | 4,5 |\n * | | | RRRRR | ... | 2,4,5 |\n * | Extended year | 130 | u | -43, 1, 1900, 2017, 9999, -999 | 4 |\n * | | | uu | -43, 01, 99, -99 | 4 |\n * | | | uuu | -043, 001, 123, 999, -999 | 4 |\n * | | | uuuu | -0043, 0001, 2017, 9999, -9999 | 4 |\n * | | | uuuuu | ... | 2,4 |\n * | Quarter (formatting) | 120 | Q | 1, 2, 3, 4 | |\n * | | | Qo | 1st, 2nd, 3rd, 4th | 5 |\n * | | | QQ | 01, 02, 03, 04 | |\n * | | | QQQ | Q1, Q2, Q3, Q4 | |\n * | | | QQQQ | 1st quarter, 2nd quarter, ... | 2 |\n * | | | QQQQQ | 1, 2, 3, 4 | 4 |\n * | Quarter (stand-alone) | 120 | q | 1, 2, 3, 4 | |\n * | | | qo | 1st, 2nd, 3rd, 4th | 5 |\n * | | | qq | 01, 02, 03, 04 | |\n * | | | qqq | Q1, Q2, Q3, Q4 | |\n * | | | qqqq | 1st quarter, 2nd quarter, ... | 2 |\n * | | | qqqqq | 1, 2, 3, 4 | 3 |\n * | Month (formatting) | 110 | M | 1, 2, ..., 12 | |\n * | | | Mo | 1st, 2nd, ..., 12th | 5 |\n * | | | MM | 01, 02, ..., 12 | |\n * | | | MMM | Jan, Feb, ..., Dec | |\n * | | | MMMM | January, February, ..., December | 2 |\n * | | | MMMMM | J, F, ..., D | |\n * | Month (stand-alone) | 110 | L | 1, 2, ..., 12 | |\n * | | | Lo | 1st, 2nd, ..., 12th | 5 |\n * | | | LL | 01, 02, ..., 12 | |\n * | | | LLL | Jan, Feb, ..., Dec | |\n * | | | LLLL | January, February, ..., December | 2 |\n * | | | LLLLL | J, F, ..., D | |\n * | Local week of year | 100 | w | 1, 2, ..., 53 | |\n * | | | wo | 1st, 2nd, ..., 53th | 5 |\n * | | | ww | 01, 02, ..., 53 | |\n * | ISO week of year | 100 | I | 1, 2, ..., 53 | 5 |\n * | | | Io | 1st, 2nd, ..., 53th | 5 |\n * | | | II | 01, 02, ..., 53 | 5 |\n * | Day of month | 90 | d | 1, 2, ..., 31 | |\n * | | | do | 1st, 2nd, ..., 31st | 5 |\n * | | | dd | 01, 02, ..., 31 | |\n * | Day of year | 90 | D | 1, 2, ..., 365, 366 | 7 |\n * | | | Do | 1st, 2nd, ..., 365th, 366th | 5 |\n * | | | DD | 01, 02, ..., 365, 366 | 7 |\n * | | | DDD | 001, 002, ..., 365, 366 | |\n * | | | DDDD | ... | 2 |\n * | Day of week (formatting) | 90 | E..EEE | Mon, Tue, Wed, ..., Sun | |\n * | | | EEEE | Monday, Tuesday, ..., Sunday | 2 |\n * | | | EEEEE | M, T, W, T, F, S, S | |\n * | | | EEEEEE | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | ISO day of week (formatting) | 90 | i | 1, 2, 3, ..., 7 | 5 |\n * | | | io | 1st, 2nd, ..., 7th | 5 |\n * | | | ii | 01, 02, ..., 07 | 5 |\n * | | | iii | Mon, Tue, Wed, ..., Sun | 5 |\n * | | | iiii | Monday, Tuesday, ..., Sunday | 2,5 |\n * | | | iiiii | M, T, W, T, F, S, S | 5 |\n * | | | iiiiii | Mo, Tu, We, Th, Fr, Sa, Su | 5 |\n * | Local day of week (formatting) | 90 | e | 2, 3, 4, ..., 1 | |\n * | | | eo | 2nd, 3rd, ..., 1st | 5 |\n * | | | ee | 02, 03, ..., 01 | |\n * | | | eee | Mon, Tue, Wed, ..., Sun | |\n * | | | eeee | Monday, Tuesday, ..., Sunday | 2 |\n * | | | eeeee | M, T, W, T, F, S, S | |\n * | | | eeeeee | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | Local day of week (stand-alone) | 90 | c | 2, 3, 4, ..., 1 | |\n * | | | co | 2nd, 3rd, ..., 1st | 5 |\n * | | | cc | 02, 03, ..., 01 | |\n * | | | ccc | Mon, Tue, Wed, ..., Sun | |\n * | | | cccc | Monday, Tuesday, ..., Sunday | 2 |\n * | | | ccccc | M, T, W, T, F, S, S | |\n * | | | cccccc | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | AM, PM | 80 | a..aaa | AM, PM | |\n * | | | aaaa | a.m., p.m. | 2 |\n * | | | aaaaa | a, p | |\n * | AM, PM, noon, midnight | 80 | b..bbb | AM, PM, noon, midnight | |\n * | | | bbbb | a.m., p.m., noon, midnight | 2 |\n * | | | bbbbb | a, p, n, mi | |\n * | Flexible day period | 80 | B..BBB | at night, in the morning, ... | |\n * | | | BBBB | at night, in the morning, ... | 2 |\n * | | | BBBBB | at night, in the morning, ... | |\n * | Hour [1-12] | 70 | h | 1, 2, ..., 11, 12 | |\n * | | | ho | 1st, 2nd, ..., 11th, 12th | 5 |\n * | | | hh | 01, 02, ..., 11, 12 | |\n * | Hour [0-23] | 70 | H | 0, 1, 2, ..., 23 | |\n * | | | Ho | 0th, 1st, 2nd, ..., 23rd | 5 |\n * | | | HH | 00, 01, 02, ..., 23 | |\n * | Hour [0-11] | 70 | K | 1, 2, ..., 11, 0 | |\n * | | | Ko | 1st, 2nd, ..., 11th, 0th | 5 |\n * | | | KK | 01, 02, ..., 11, 00 | |\n * | Hour [1-24] | 70 | k | 24, 1, 2, ..., 23 | |\n * | | | ko | 24th, 1st, 2nd, ..., 23rd | 5 |\n * | | | kk | 24, 01, 02, ..., 23 | |\n * | Minute | 60 | m | 0, 1, ..., 59 | |\n * | | | mo | 0th, 1st, ..., 59th | 5 |\n * | | | mm | 00, 01, ..., 59 | |\n * | Second | 50 | s | 0, 1, ..., 59 | |\n * | | | so | 0th, 1st, ..., 59th | 5 |\n * | | | ss | 00, 01, ..., 59 | |\n * | Seconds timestamp | 40 | t | 512969520 | |\n * | | | tt | ... | 2 |\n * | Fraction of second | 30 | S | 0, 1, ..., 9 | |\n * | | | SS | 00, 01, ..., 99 | |\n * | | | SSS | 000, 001, ..., 999 | |\n * | | | SSSS | ... | 2 |\n * | Milliseconds timestamp | 20 | T | 512969520900 | |\n * | | | TT | ... | 2 |\n * | Timezone (ISO-8601 w/ Z) | 10 | X | -08, +0530, Z | |\n * | | | XX | -0800, +0530, Z | |\n * | | | XXX | -08:00, +05:30, Z | |\n * | | | XXXX | -0800, +0530, Z, +123456 | 2 |\n * | | | XXXXX | -08:00, +05:30, Z, +12:34:56 | |\n * | Timezone (ISO-8601 w/o Z) | 10 | x | -08, +0530, +00 | |\n * | | | xx | -0800, +0530, +0000 | |\n * | | | xxx | -08:00, +05:30, +00:00 | 2 |\n * | | | xxxx | -0800, +0530, +0000, +123456 | |\n * | | | xxxxx | -08:00, +05:30, +00:00, +12:34:56 | |\n * | Long localized date | NA | P | 05/29/1453 | 5,8 |\n * | | | PP | May 29, 1453 | |\n * | | | PPP | May 29th, 1453 | |\n * | | | PPPP | Sunday, May 29th, 1453 | 2,5,8 |\n * | Long localized time | NA | p | 12:00 AM | 5,8 |\n * | | | pp | 12:00:00 AM | |\n * | Combination of date and time | NA | Pp | 05/29/1453, 12:00 AM | |\n * | | | PPpp | May 29, 1453, 12:00:00 AM | |\n * | | | PPPpp | May 29th, 1453 at ... | |\n * | | | PPPPpp | Sunday, May 29th, 1453 at ... | 2,5,8 |\n * Notes:\n * 1. \"Formatting\" units (e.g. formatting quarter) in the default en-US locale\n * are the same as \"stand-alone\" units, but are different in some languages.\n * \"Formatting\" units are declined according to the rules of the language\n * in the context of a date. \"Stand-alone\" units are always nominative singular.\n * In `format` function, they will produce different result:\n *\n * `format(new Date(2017, 10, 6), 'do LLLL', {locale: cs}) //=> '6. listopad'`\n *\n * `format(new Date(2017, 10, 6), 'do MMMM', {locale: cs}) //=> '6. listopadu'`\n *\n * `parse` will try to match both formatting and stand-alone units interchangably.\n *\n * 2. Any sequence of the identical letters is a pattern, unless it is escaped by\n * the single quote characters (see below).\n * If the sequence is longer than listed in table:\n * - for numerical units (`yyyyyyyy`) `parse` will try to match a number\n * as wide as the sequence\n * - for text units (`MMMMMMMM`) `parse` will try to match the widest variation of the unit.\n * These variations are marked with \"2\" in the last column of the table.\n *\n * 3. `QQQQQ` and `qqqqq` could be not strictly numerical in some locales.\n * These tokens represent the shortest form of the quarter.\n *\n * 4. The main difference between `y` and `u` patterns are B.C. years:\n *\n * | Year | `y` | `u` |\n * |------|-----|-----|\n * | AC 1 | 1 | 1 |\n * | BC 1 | 1 | 0 |\n * | BC 2 | 2 | -1 |\n *\n * Also `yy` will try to guess the century of two digit year by proximity with `referenceDate`:\n *\n * `parse('50', 'yy', new Date(2018, 0, 1)) //=> Sat Jan 01 2050 00:00:00`\n *\n * `parse('75', 'yy', new Date(2018, 0, 1)) //=> Wed Jan 01 1975 00:00:00`\n *\n * while `uu` will just assign the year as is:\n *\n * `parse('50', 'uu', new Date(2018, 0, 1)) //=> Sat Jan 01 0050 00:00:00`\n *\n * `parse('75', 'uu', new Date(2018, 0, 1)) //=> Tue Jan 01 0075 00:00:00`\n *\n * The same difference is true for local and ISO week-numbering years (`Y` and `R`),\n * except local week-numbering years are dependent on `options.weekStartsOn`\n * and `options.firstWeekContainsDate` (compare [setISOWeekYear](https://date-fns.org/docs/setISOWeekYear)\n * and [setWeekYear](https://date-fns.org/docs/setWeekYear)).\n *\n * 5. These patterns are not in the Unicode Technical Standard #35:\n * - `i`: ISO day of week\n * - `I`: ISO week of year\n * - `R`: ISO week-numbering year\n * - `o`: ordinal number modifier\n * - `P`: long localized date\n * - `p`: long localized time\n *\n * 6. `YY` and `YYYY` tokens represent week-numbering years but they are often confused with years.\n * You should enable `options.useAdditionalWeekYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * 7. `D` and `DD` tokens represent days of the year but they are ofthen confused with days of the month.\n * You should enable `options.useAdditionalDayOfYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * 8. `P+` tokens do not have a defined priority since they are merely aliases to other tokens based\n * on the given locale.\n *\n * using `en-US` locale: `P` => `MM/dd/yyyy`\n * using `en-US` locale: `p` => `hh:mm a`\n * using `pt-BR` locale: `P` => `dd/MM/yyyy`\n * using `pt-BR` locale: `p` => `HH:mm`\n *\n * Values will be assigned to the date in the descending order of its unit's priority.\n * Units of an equal priority overwrite each other in the order of appearance.\n *\n * If no values of higher priority are parsed (e.g. when parsing string 'January 1st' without a year),\n * the values will be taken from 3rd argument `referenceDate` which works as a context of parsing.\n *\n * `referenceDate` must be passed for correct work of the function.\n * If you're not sure which `referenceDate` to supply, create a new instance of Date:\n * `parse('02/11/2014', 'MM/dd/yyyy', new Date())`\n * In this case parsing will be done in the context of the current date.\n * If `referenceDate` is `Invalid Date` or a value not convertible to valid `Date`,\n * then `Invalid Date` will be returned.\n *\n * The result may vary by locale.\n *\n * If `formatString` matches with `dateString` but does not provides tokens, `referenceDate` will be returned.\n *\n * If parsing failed, `Invalid Date` will be returned.\n * Invalid Date is a Date, whose time value is NaN.\n * Time value of Date: http://es5.github.io/#x15.9.1.1\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param dateStr - The string to parse\n * @param formatStr - The string of tokens\n * @param referenceDate - defines values missing from the parsed dateString\n * @param options - An object with options.\n * see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * @returns The parsed date\n *\n * @throws `options.locale` must contain `match` property\n * @throws use `yyyy` instead of `YYYY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws use `yy` instead of `YY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws use `d` instead of `D` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws use `dd` instead of `DD` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws format string contains an unescaped latin alphabet character\n *\n * @example\n * // Parse 11 February 2014 from middle-endian format:\n * var result = parse('02/11/2014', 'MM/dd/yyyy', new Date())\n * //=> Tue Feb 11 2014 00:00:00\n *\n * @example\n * // Parse 28th of February in Esperanto locale in the context of 2010 year:\n * import eo from 'date-fns/locale/eo'\n * var result = parse('28-a de februaro', \"do 'de' MMMM\", new Date(2010, 0, 1), {\n * locale: eo\n * })\n * //=> Sun Feb 28 2010 00:00:00\n */\nexport function parse(dateStr, formatStr, referenceDate, options) {\n const defaultOptions = getDefaultOptions();\n const locale = options?.locale ?? defaultOptions.locale ?? defaultLocale;\n\n const firstWeekContainsDate =\n options?.firstWeekContainsDate ??\n options?.locale?.options?.firstWeekContainsDate ??\n defaultOptions.firstWeekContainsDate ??\n defaultOptions.locale?.options?.firstWeekContainsDate ??\n 1;\n\n const weekStartsOn =\n options?.weekStartsOn ??\n options?.locale?.options?.weekStartsOn ??\n defaultOptions.weekStartsOn ??\n defaultOptions.locale?.options?.weekStartsOn ??\n 0;\n\n if (formatStr === \"\") {\n if (dateStr === \"\") {\n return toDate(referenceDate);\n } else {\n return constructFrom(referenceDate, NaN);\n }\n }\n\n const subFnOptions = {\n firstWeekContainsDate,\n weekStartsOn,\n locale,\n };\n\n // If timezone isn't specified, it will be set to the system timezone\n const setters = [new DateToSystemTimezoneSetter()];\n\n const tokens = formatStr\n .match(longFormattingTokensRegExp)\n .map((substring) => {\n const firstCharacter = substring[0];\n if (firstCharacter in longFormatters) {\n const longFormatter = longFormatters[firstCharacter];\n return longFormatter(substring, locale.formatLong);\n }\n return substring;\n })\n .join(\"\")\n .match(formattingTokensRegExp);\n\n const usedTokens = [];\n\n for (let token of tokens) {\n if (\n !options?.useAdditionalWeekYearTokens &&\n isProtectedWeekYearToken(token)\n ) {\n warnOrThrowProtectedError(token, formatStr, dateStr);\n }\n if (\n !options?.useAdditionalDayOfYearTokens &&\n isProtectedDayOfYearToken(token)\n ) {\n warnOrThrowProtectedError(token, formatStr, dateStr);\n }\n\n const firstCharacter = token[0];\n const parser = parsers[firstCharacter];\n if (parser) {\n const { incompatibleTokens } = parser;\n if (Array.isArray(incompatibleTokens)) {\n const incompatibleToken = usedTokens.find(\n (usedToken) =>\n incompatibleTokens.includes(usedToken.token) ||\n usedToken.token === firstCharacter,\n );\n if (incompatibleToken) {\n throw new RangeError(\n `The format string mustn't contain \\`${incompatibleToken.fullToken}\\` and \\`${token}\\` at the same time`,\n );\n }\n } else if (parser.incompatibleTokens === \"*\" && usedTokens.length > 0) {\n throw new RangeError(\n `The format string mustn't contain \\`${token}\\` and any other token at the same time`,\n );\n }\n\n usedTokens.push({ token: firstCharacter, fullToken: token });\n\n const parseResult = parser.run(\n dateStr,\n token,\n locale.match,\n subFnOptions,\n );\n\n if (!parseResult) {\n return constructFrom(referenceDate, NaN);\n }\n\n setters.push(parseResult.setter);\n\n dateStr = parseResult.rest;\n } else {\n if (firstCharacter.match(unescapedLatinCharacterRegExp)) {\n throw new RangeError(\n \"Format string contains an unescaped latin alphabet character `\" +\n firstCharacter +\n \"`\",\n );\n }\n\n // Replace two single quote characters with one single quote character\n if (token === \"''\") {\n token = \"'\";\n } else if (firstCharacter === \"'\") {\n token = cleanEscapedString(token);\n }\n\n // Cut token from string, or, if string doesn't match the token, return Invalid Date\n if (dateStr.indexOf(token) === 0) {\n dateStr = dateStr.slice(token.length);\n } else {\n return constructFrom(referenceDate, NaN);\n }\n }\n }\n\n // Check if the remaining input contains something other than whitespace\n if (dateStr.length > 0 && notWhitespaceRegExp.test(dateStr)) {\n return constructFrom(referenceDate, NaN);\n }\n\n const uniquePrioritySetters = setters\n .map((setter) => setter.priority)\n .sort((a, b) => b - a)\n .filter((priority, index, array) => array.indexOf(priority) === index)\n .map((priority) =>\n setters\n .filter((setter) => setter.priority === priority)\n .sort((a, b) => b.subPriority - a.subPriority),\n )\n .map((setterArray) => setterArray[0]);\n\n let date = toDate(referenceDate);\n\n if (isNaN(date.getTime())) {\n return constructFrom(referenceDate, NaN);\n }\n\n const flags = {};\n for (const setter of uniquePrioritySetters) {\n if (!setter.validate(date, subFnOptions)) {\n return constructFrom(referenceDate, NaN);\n }\n\n const result = setter.set(date, flags, subFnOptions);\n // Result is tuple (date, flags)\n if (Array.isArray(result)) {\n date = result[0];\n Object.assign(flags, result[1]);\n // Result is date\n } else {\n date = result;\n }\n }\n\n return constructFrom(referenceDate, date);\n}\n\nfunction cleanEscapedString(input) {\n return input.match(escapedStringRegExp)[1].replace(doubleQuoteRegExp, \"'\");\n}\n\n// Fallback for modularized imports:\nexport default parse;\n","import { isValid } from \"./isValid.mjs\";\nimport { parse } from \"./parse.mjs\";\n\n/**\n * The {@link isMatch} function options.\n */\n\n/**\n * @name isMatch\n * @category Common Helpers\n * @summary validates the date string against given formats\n *\n * @description\n * Return the true if given date is string correct against the given format else\n * will return false.\n *\n * > ⚠️ Please note that the `format` tokens differ from Moment.js and other libraries.\n * > See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * The characters in the format string wrapped between two single quotes characters (') are escaped.\n * Two single quotes in a row, whether inside or outside a quoted sequence, represent a 'real' single quote.\n *\n * Format of the format string is based on Unicode Technical Standard #35:\n * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * with a few additions (see note 5 below the table).\n *\n * Not all tokens are compatible. Combinations that don't make sense or could lead to bugs are prohibited\n * and will throw `RangeError`. For example usage of 24-hour format token with AM/PM token will throw an exception:\n *\n * ```javascript\n * isMatch('23 AM', 'HH a')\n * //=> RangeError: The format string mustn't contain `HH` and `a` at the same time\n * ```\n *\n * See the compatibility table: https://docs.google.com/spreadsheets/d/e/2PACX-1vQOPU3xUhplll6dyoMmVUXHKl_8CRDs6_ueLmex3SoqwhuolkuN3O05l4rqx5h1dKX8eb46Ul-CCSrq/pubhtml?gid=0&single=true\n *\n * Accepted format string patterns:\n * | Unit |Prior| Pattern | Result examples | Notes |\n * |---------------------------------|-----|---------|-----------------------------------|-------|\n * | Era | 140 | G..GGG | AD, BC | |\n * | | | GGGG | Anno Domini, Before Christ | 2 |\n * | | | GGGGG | A, B | |\n * | Calendar year | 130 | y | 44, 1, 1900, 2017, 9999 | 4 |\n * | | | yo | 44th, 1st, 1900th, 9999999th | 4,5 |\n * | | | yy | 44, 01, 00, 17 | 4 |\n * | | | yyy | 044, 001, 123, 999 | 4 |\n * | | | yyyy | 0044, 0001, 1900, 2017 | 4 |\n * | | | yyyyy | ... | 2,4 |\n * | Local week-numbering year | 130 | Y | 44, 1, 1900, 2017, 9000 | 4 |\n * | | | Yo | 44th, 1st, 1900th, 9999999th | 4,5 |\n * | | | YY | 44, 01, 00, 17 | 4,6 |\n * | | | YYY | 044, 001, 123, 999 | 4 |\n * | | | YYYY | 0044, 0001, 1900, 2017 | 4,6 |\n * | | | YYYYY | ... | 2,4 |\n * | ISO week-numbering year | 130 | R | -43, 1, 1900, 2017, 9999, -9999 | 4,5 |\n * | | | RR | -43, 01, 00, 17 | 4,5 |\n * | | | RRR | -043, 001, 123, 999, -999 | 4,5 |\n * | | | RRRR | -0043, 0001, 2017, 9999, -9999 | 4,5 |\n * | | | RRRRR | ... | 2,4,5 |\n * | Extended year | 130 | u | -43, 1, 1900, 2017, 9999, -999 | 4 |\n * | | | uu | -43, 01, 99, -99 | 4 |\n * | | | uuu | -043, 001, 123, 999, -999 | 4 |\n * | | | uuuu | -0043, 0001, 2017, 9999, -9999 | 4 |\n * | | | uuuuu | ... | 2,4 |\n * | Quarter (formatting) | 120 | Q | 1, 2, 3, 4 | |\n * | | | Qo | 1st, 2nd, 3rd, 4th | 5 |\n * | | | QQ | 01, 02, 03, 04 | |\n * | | | QQQ | Q1, Q2, Q3, Q4 | |\n * | | | QQQQ | 1st quarter, 2nd quarter, ... | 2 |\n * | | | QQQQQ | 1, 2, 3, 4 | 4 |\n * | Quarter (stand-alone) | 120 | q | 1, 2, 3, 4 | |\n * | | | qo | 1st, 2nd, 3rd, 4th | 5 |\n * | | | qq | 01, 02, 03, 04 | |\n * | | | qqq | Q1, Q2, Q3, Q4 | |\n * | | | qqqq | 1st quarter, 2nd quarter, ... | 2 |\n * | | | qqqqq | 1, 2, 3, 4 | 3 |\n * | Month (formatting) | 110 | M | 1, 2, ..., 12 | |\n * | | | Mo | 1st, 2nd, ..., 12th | 5 |\n * | | | MM | 01, 02, ..., 12 | |\n * | | | MMM | Jan, Feb, ..., Dec | |\n * | | | MMMM | January, February, ..., December | 2 |\n * | | | MMMMM | J, F, ..., D | |\n * | Month (stand-alone) | 110 | L | 1, 2, ..., 12 | |\n * | | | Lo | 1st, 2nd, ..., 12th | 5 |\n * | | | LL | 01, 02, ..., 12 | |\n * | | | LLL | Jan, Feb, ..., Dec | |\n * | | | LLLL | January, February, ..., December | 2 |\n * | | | LLLLL | J, F, ..., D | |\n * | Local week of year | 100 | w | 1, 2, ..., 53 | |\n * | | | wo | 1st, 2nd, ..., 53th | 5 |\n * | | | ww | 01, 02, ..., 53 | |\n * | ISO week of year | 100 | I | 1, 2, ..., 53 | 5 |\n * | | | Io | 1st, 2nd, ..., 53th | 5 |\n * | | | II | 01, 02, ..., 53 | 5 |\n * | Day of month | 90 | d | 1, 2, ..., 31 | |\n * | | | do | 1st, 2nd, ..., 31st | 5 |\n * | | | dd | 01, 02, ..., 31 | |\n * | Day of year | 90 | D | 1, 2, ..., 365, 366 | 7 |\n * | | | Do | 1st, 2nd, ..., 365th, 366th | 5 |\n * | | | DD | 01, 02, ..., 365, 366 | 7 |\n * | | | DDD | 001, 002, ..., 365, 366 | |\n * | | | DDDD | ... | 2 |\n * | Day of week (formatting) | 90 | E..EEE | Mon, Tue, Wed, ..., Su | |\n * | | | EEEE | Monday, Tuesday, ..., Sunday | 2 |\n * | | | EEEEE | M, T, W, T, F, S, S | |\n * | | | EEEEEE | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | ISO day of week (formatting) | 90 | i | 1, 2, 3, ..., 7 | 5 |\n * | | | io | 1st, 2nd, ..., 7th | 5 |\n * | | | ii | 01, 02, ..., 07 | 5 |\n * | | | iii | Mon, Tue, Wed, ..., Su | 5 |\n * | | | iiii | Monday, Tuesday, ..., Sunday | 2,5 |\n * | | | iiiii | M, T, W, T, F, S, S | 5 |\n * | | | iiiiii | Mo, Tu, We, Th, Fr, Sa, Su | 5 |\n * | Local day of week (formatting) | 90 | e | 2, 3, 4, ..., 1 | |\n * | | | eo | 2nd, 3rd, ..., 1st | 5 |\n * | | | ee | 02, 03, ..., 01 | |\n * | | | eee | Mon, Tue, Wed, ..., Su | |\n * | | | eeee | Monday, Tuesday, ..., Sunday | 2 |\n * | | | eeeee | M, T, W, T, F, S, S | |\n * | | | eeeeee | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | Local day of week (stand-alone) | 90 | c | 2, 3, 4, ..., 1 | |\n * | | | co | 2nd, 3rd, ..., 1st | 5 |\n * | | | cc | 02, 03, ..., 01 | |\n * | | | ccc | Mon, Tue, Wed, ..., Su | |\n * | | | cccc | Monday, Tuesday, ..., Sunday | 2 |\n * | | | ccccc | M, T, W, T, F, S, S | |\n * | | | cccccc | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | AM, PM | 80 | a..aaa | AM, PM | |\n * | | | aaaa | a.m., p.m. | 2 |\n * | | | aaaaa | a, p | |\n * | AM, PM, noon, midnight | 80 | b..bbb | AM, PM, noon, midnight | |\n * | | | bbbb | a.m., p.m., noon, midnight | 2 |\n * | | | bbbbb | a, p, n, mi | |\n * | Flexible day period | 80 | B..BBB | at night, in the morning, ... | |\n * | | | BBBB | at night, in the morning, ... | 2 |\n * | | | BBBBB | at night, in the morning, ... | |\n * | Hour [1-12] | 70 | h | 1, 2, ..., 11, 12 | |\n * | | | ho | 1st, 2nd, ..., 11th, 12th | 5 |\n * | | | hh | 01, 02, ..., 11, 12 | |\n * | Hour [0-23] | 70 | H | 0, 1, 2, ..., 23 | |\n * | | | Ho | 0th, 1st, 2nd, ..., 23rd | 5 |\n * | | | HH | 00, 01, 02, ..., 23 | |\n * | Hour [0-11] | 70 | K | 1, 2, ..., 11, 0 | |\n * | | | Ko | 1st, 2nd, ..., 11th, 0th | 5 |\n * | | | KK | 01, 02, ..., 11, 00 | |\n * | Hour [1-24] | 70 | k | 24, 1, 2, ..., 23 | |\n * | | | ko | 24th, 1st, 2nd, ..., 23rd | 5 |\n * | | | kk | 24, 01, 02, ..., 23 | |\n * | Minute | 60 | m | 0, 1, ..., 59 | |\n * | | | mo | 0th, 1st, ..., 59th | 5 |\n * | | | mm | 00, 01, ..., 59 | |\n * | Second | 50 | s | 0, 1, ..., 59 | |\n * | | | so | 0th, 1st, ..., 59th | 5 |\n * | | | ss | 00, 01, ..., 59 | |\n * | Seconds timestamp | 40 | t | 512969520 | |\n * | | | tt | ... | 2 |\n * | Fraction of second | 30 | S | 0, 1, ..., 9 | |\n * | | | SS | 00, 01, ..., 99 | |\n * | | | SSS | 000, 001, ..., 999 | |\n * | | | SSSS | ... | 2 |\n * | Milliseconds timestamp | 20 | T | 512969520900 | |\n * | | | TT | ... | 2 |\n * | Timezone (ISO-8601 w/ Z) | 10 | X | -08, +0530, Z | |\n * | | | XX | -0800, +0530, Z | |\n * | | | XXX | -08:00, +05:30, Z | |\n * | | | XXXX | -0800, +0530, Z, +123456 | 2 |\n * | | | XXXXX | -08:00, +05:30, Z, +12:34:56 | |\n * | Timezone (ISO-8601 w/o Z) | 10 | x | -08, +0530, +00 | |\n * | | | xx | -0800, +0530, +0000 | |\n * | | | xxx | -08:00, +05:30, +00:00 | 2 |\n * | | | xxxx | -0800, +0530, +0000, +123456 | |\n * | | | xxxxx | -08:00, +05:30, +00:00, +12:34:56 | |\n * | Long localized date | NA | P | 05/29/1453 | 5,8 |\n * | | | PP | May 29, 1453 | |\n * | | | PPP | May 29th, 1453 | |\n * | | | PPPP | Sunday, May 29th, 1453 | 2,5,8 |\n * | Long localized time | NA | p | 12:00 AM | 5,8 |\n * | | | pp | 12:00:00 AM | |\n * | Combination of date and time | NA | Pp | 05/29/1453, 12:00 AM | |\n * | | | PPpp | May 29, 1453, 12:00:00 AM | |\n * | | | PPPpp | May 29th, 1453 at ... | |\n * | | | PPPPpp | Sunday, May 29th, 1453 at ... | 2,5,8 |\n * Notes:\n * 1. \"Formatting\" units (e.g. formatting quarter) in the default en-US locale\n * are the same as \"stand-alone\" units, but are different in some languages.\n * \"Formatting\" units are declined according to the rules of the language\n * in the context of a date. \"Stand-alone\" units are always nominative singular.\n * In `format` function, they will produce different result:\n *\n * `format(new Date(2017, 10, 6), 'do LLLL', {locale: cs}) //=> '6. listopad'`\n *\n * `format(new Date(2017, 10, 6), 'do MMMM', {locale: cs}) //=> '6. listopadu'`\n *\n * `isMatch` will try to match both formatting and stand-alone units interchangably.\n *\n * 2. Any sequence of the identical letters is a pattern, unless it is escaped by\n * the single quote characters (see below).\n * If the sequence is longer than listed in table:\n * - for numerical units (`yyyyyyyy`) `isMatch` will try to match a number\n * as wide as the sequence\n * - for text units (`MMMMMMMM`) `isMatch` will try to match the widest variation of the unit.\n * These variations are marked with \"2\" in the last column of the table.\n *\n * 3. `QQQQQ` and `qqqqq` could be not strictly numerical in some locales.\n * These tokens represent the shortest form of the quarter.\n *\n * 4. The main difference between `y` and `u` patterns are B.C. years:\n *\n * | Year | `y` | `u` |\n * |------|-----|-----|\n * | AC 1 | 1 | 1 |\n * | BC 1 | 1 | 0 |\n * | BC 2 | 2 | -1 |\n *\n * Also `yy` will try to guess the century of two digit year by proximity with `referenceDate`:\n *\n * `isMatch('50', 'yy') //=> true`\n *\n * `isMatch('75', 'yy') //=> true`\n *\n * while `uu` will use the year as is:\n *\n * `isMatch('50', 'uu') //=> true`\n *\n * `isMatch('75', 'uu') //=> true`\n *\n * The same difference is true for local and ISO week-numbering years (`Y` and `R`),\n * except local week-numbering years are dependent on `options.weekStartsOn`\n * and `options.firstWeekContainsDate` (compare [setISOWeekYear](https://date-fns.org/docs/setISOWeekYear)\n * and [setWeekYear](https://date-fns.org/docs/setWeekYear)).\n *\n * 5. These patterns are not in the Unicode Technical Standard #35:\n * - `i`: ISO day of week\n * - `I`: ISO week of year\n * - `R`: ISO week-numbering year\n * - `o`: ordinal number modifier\n * - `P`: long localized date\n * - `p`: long localized time\n *\n * 6. `YY` and `YYYY` tokens represent week-numbering years but they are often confused with years.\n * You should enable `options.useAdditionalWeekYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * 7. `D` and `DD` tokens represent days of the year but they are ofthen confused with days of the month.\n * You should enable `options.useAdditionalDayOfYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * 8. `P+` tokens do not have a defined priority since they are merely aliases to other tokens based\n * on the given locale.\n *\n * using `en-US` locale: `P` => `MM/dd/yyyy`\n * using `en-US` locale: `p` => `hh:mm a`\n * using `pt-BR` locale: `P` => `dd/MM/yyyy`\n * using `pt-BR` locale: `p` => `HH:mm`\n *\n * Values will be checked in the descending order of its unit's priority.\n * Units of an equal priority overwrite each other in the order of appearance.\n *\n * If no values of higher priority are matched (e.g. when matching string 'January 1st' without a year),\n * the values will be taken from today's using `new Date()` date which works as a context of parsing.\n *\n * The result may vary by locale.\n *\n * If `formatString` matches with `dateString` but does not provides tokens, `referenceDate` will be returned.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param dateStr - The date string to verify\n * @param format - The string of tokens\n * @param options - An object with options.\n * see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * @returns Is format string a match for date string?\n *\n * @throws `options.locale` must contain `match` property\n * @throws use `yyyy` instead of `YYYY` for formatting years; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws use `yy` instead of `YY` for formatting years; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws use `d` instead of `D` for formatting days of the month; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws use `dd` instead of `DD` for formatting days of the month; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws format string contains an unescaped latin alphabet character\n *\n * @example\n * // Match 11 February 2014 from middle-endian format:\n * const result = isMatch('02/11/2014', 'MM/dd/yyyy')\n * //=> true\n *\n * @example\n * // Match 28th of February in Esperanto locale in the context of 2010 year:\n * import eo from 'date-fns/locale/eo'\n * const result = isMatch('28-a de februaro', \"do 'de' MMMM\", {\n * locale: eo\n * })\n * //=> true\n */\nexport function isMatch(dateStr, formatStr, options) {\n return isValid(parse(dateStr, formatStr, new Date(), options));\n}\n\n// Fallback for modularized imports:\nexport default isMatch;\n","import { millisecondsInHour, millisecondsInMinute } from \"./constants.mjs\";\n\n/**\n * The {@link parseISO} function options.\n */\n\n/**\n * @name parseISO\n * @category Common Helpers\n * @summary Parse ISO string\n *\n * @description\n * Parse the given string in ISO 8601 format and return an instance of Date.\n *\n * Function accepts complete ISO 8601 formats as well as partial implementations.\n * ISO 8601: http://en.wikipedia.org/wiki/ISO_8601\n *\n * If the argument isn't a string, the function cannot parse the string or\n * the values are invalid, it returns Invalid Date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param argument - The value to convert\n * @param options - An object with options\n *\n * @returns The parsed date in the local time zone\n *\n * @example\n * // Convert string '2014-02-11T11:30:30' to date:\n * const result = parseISO('2014-02-11T11:30:30')\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert string '+02014101' to date,\n * // if the additional number of digits in the extended year format is 1:\n * const result = parseISO('+02014101', { additionalDigits: 1 })\n * //=> Fri Apr 11 2014 00:00:00\n */\nexport function parseISO(argument, options) {\n const additionalDigits = options?.additionalDigits ?? 2;\n const dateStrings = splitDateString(argument);\n\n let date;\n if (dateStrings.date) {\n const parseYearResult = parseYear(dateStrings.date, additionalDigits);\n date = parseDate(parseYearResult.restDateString, parseYearResult.year);\n }\n\n if (!date || isNaN(date.getTime())) {\n return new Date(NaN);\n }\n\n const timestamp = date.getTime();\n let time = 0;\n let offset;\n\n if (dateStrings.time) {\n time = parseTime(dateStrings.time);\n if (isNaN(time)) {\n return new Date(NaN);\n }\n }\n\n if (dateStrings.timezone) {\n offset = parseTimezone(dateStrings.timezone);\n if (isNaN(offset)) {\n return new Date(NaN);\n }\n } else {\n const dirtyDate = new Date(timestamp + time);\n // JS parsed string assuming it's in UTC timezone\n // but we need it to be parsed in our timezone\n // so we use utc values to build date in our timezone.\n // Year values from 0 to 99 map to the years 1900 to 1999\n // so set year explicitly with setFullYear.\n const result = new Date(0);\n result.setFullYear(\n dirtyDate.getUTCFullYear(),\n dirtyDate.getUTCMonth(),\n dirtyDate.getUTCDate(),\n );\n result.setHours(\n dirtyDate.getUTCHours(),\n dirtyDate.getUTCMinutes(),\n dirtyDate.getUTCSeconds(),\n dirtyDate.getUTCMilliseconds(),\n );\n return result;\n }\n\n return new Date(timestamp + time + offset);\n}\n\nconst patterns = {\n dateTimeDelimiter: /[T ]/,\n timeZoneDelimiter: /[Z ]/i,\n timezone: /([Z+-].*)$/,\n};\n\nconst dateRegex =\n /^-?(?:(\\d{3})|(\\d{2})(?:-?(\\d{2}))?|W(\\d{2})(?:-?(\\d{1}))?|)$/;\nconst timeRegex =\n /^(\\d{2}(?:[.,]\\d*)?)(?::?(\\d{2}(?:[.,]\\d*)?))?(?::?(\\d{2}(?:[.,]\\d*)?))?$/;\nconst timezoneRegex = /^([+-])(\\d{2})(?::?(\\d{2}))?$/;\n\nfunction splitDateString(dateString) {\n const dateStrings = {};\n const array = dateString.split(patterns.dateTimeDelimiter);\n let timeString;\n\n // The regex match should only return at maximum two array elements.\n // [date], [time], or [date, time].\n if (array.length > 2) {\n return dateStrings;\n }\n\n if (/:/.test(array[0])) {\n timeString = array[0];\n } else {\n dateStrings.date = array[0];\n timeString = array[1];\n if (patterns.timeZoneDelimiter.test(dateStrings.date)) {\n dateStrings.date = dateString.split(patterns.timeZoneDelimiter)[0];\n timeString = dateString.substr(\n dateStrings.date.length,\n dateString.length,\n );\n }\n }\n\n if (timeString) {\n const token = patterns.timezone.exec(timeString);\n if (token) {\n dateStrings.time = timeString.replace(token[1], \"\");\n dateStrings.timezone = token[1];\n } else {\n dateStrings.time = timeString;\n }\n }\n\n return dateStrings;\n}\n\nfunction parseYear(dateString, additionalDigits) {\n const regex = new RegExp(\n \"^(?:(\\\\d{4}|[+-]\\\\d{\" +\n (4 + additionalDigits) +\n \"})|(\\\\d{2}|[+-]\\\\d{\" +\n (2 + additionalDigits) +\n \"})$)\",\n );\n\n const captures = dateString.match(regex);\n // Invalid ISO-formatted year\n if (!captures) return { year: NaN, restDateString: \"\" };\n\n const year = captures[1] ? parseInt(captures[1]) : null;\n const century = captures[2] ? parseInt(captures[2]) : null;\n\n // either year or century is null, not both\n return {\n year: century === null ? year : century * 100,\n restDateString: dateString.slice((captures[1] || captures[2]).length),\n };\n}\n\nfunction parseDate(dateString, year) {\n // Invalid ISO-formatted year\n if (year === null) return new Date(NaN);\n\n const captures = dateString.match(dateRegex);\n // Invalid ISO-formatted string\n if (!captures) return new Date(NaN);\n\n const isWeekDate = !!captures[4];\n const dayOfYear = parseDateUnit(captures[1]);\n const month = parseDateUnit(captures[2]) - 1;\n const day = parseDateUnit(captures[3]);\n const week = parseDateUnit(captures[4]);\n const dayOfWeek = parseDateUnit(captures[5]) - 1;\n\n if (isWeekDate) {\n if (!validateWeekDate(year, week, dayOfWeek)) {\n return new Date(NaN);\n }\n return dayOfISOWeekYear(year, week, dayOfWeek);\n } else {\n const date = new Date(0);\n if (\n !validateDate(year, month, day) ||\n !validateDayOfYearDate(year, dayOfYear)\n ) {\n return new Date(NaN);\n }\n date.setUTCFullYear(year, month, Math.max(dayOfYear, day));\n return date;\n }\n}\n\nfunction parseDateUnit(value) {\n return value ? parseInt(value) : 1;\n}\n\nfunction parseTime(timeString) {\n const captures = timeString.match(timeRegex);\n if (!captures) return NaN; // Invalid ISO-formatted time\n\n const hours = parseTimeUnit(captures[1]);\n const minutes = parseTimeUnit(captures[2]);\n const seconds = parseTimeUnit(captures[3]);\n\n if (!validateTime(hours, minutes, seconds)) {\n return NaN;\n }\n\n return (\n hours * millisecondsInHour + minutes * millisecondsInMinute + seconds * 1000\n );\n}\n\nfunction parseTimeUnit(value) {\n return (value && parseFloat(value.replace(\",\", \".\"))) || 0;\n}\n\nfunction parseTimezone(timezoneString) {\n if (timezoneString === \"Z\") return 0;\n\n const captures = timezoneString.match(timezoneRegex);\n if (!captures) return 0;\n\n const sign = captures[1] === \"+\" ? -1 : 1;\n const hours = parseInt(captures[2]);\n const minutes = (captures[3] && parseInt(captures[3])) || 0;\n\n if (!validateTimezone(hours, minutes)) {\n return NaN;\n }\n\n return sign * (hours * millisecondsInHour + minutes * millisecondsInMinute);\n}\n\nfunction dayOfISOWeekYear(isoWeekYear, week, day) {\n const date = new Date(0);\n date.setUTCFullYear(isoWeekYear, 0, 4);\n const fourthOfJanuaryDay = date.getUTCDay() || 7;\n const diff = (week - 1) * 7 + day + 1 - fourthOfJanuaryDay;\n date.setUTCDate(date.getUTCDate() + diff);\n return date;\n}\n\n// Validation functions\n\n// February is null to handle the leap year (using ||)\nconst daysInMonths = [31, null, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\n\nfunction isLeapYearIndex(year) {\n return year % 400 === 0 || (year % 4 === 0 && year % 100 !== 0);\n}\n\nfunction validateDate(year, month, date) {\n return (\n month >= 0 &&\n month <= 11 &&\n date >= 1 &&\n date <= (daysInMonths[month] || (isLeapYearIndex(year) ? 29 : 28))\n );\n}\n\nfunction validateDayOfYearDate(year, dayOfYear) {\n return dayOfYear >= 1 && dayOfYear <= (isLeapYearIndex(year) ? 366 : 365);\n}\n\nfunction validateWeekDate(_year, week, day) {\n return week >= 1 && week <= 53 && day >= 0 && day <= 6;\n}\n\nfunction validateTime(hours, minutes, seconds) {\n if (hours === 24) {\n return minutes === 0 && seconds === 0;\n }\n\n return (\n seconds >= 0 &&\n seconds < 60 &&\n minutes >= 0 &&\n minutes < 60 &&\n hours >= 0 &&\n hours < 25\n );\n}\n\nfunction validateTimezone(_hours, minutes) {\n return minutes >= 0 && minutes <= 59;\n}\n\n// Fallback for modularized imports:\nexport default parseISO;\n","import { addMonths } from \"./addMonths.mjs\";\n\n/**\n * @name subMonths\n * @category Month Helpers\n * @summary Subtract the specified number of months from the given date.\n *\n * @description\n * Subtract the specified number of months from the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The date to be changed\n * @param amount - The amount of months to be subtracted.\n *\n * @returns The new date with the months subtracted\n *\n * @example\n * // Subtract 5 months from 1 February 2015:\n * const result = subMonths(new Date(2015, 1, 1), 5)\n * //=> Mon Sep 01 2014 00:00:00\n */\nexport function subMonths(date, amount) {\n return addMonths(date, -amount);\n}\n\n// Fallback for modularized imports:\nexport default subMonths;\n","import { isMatch, isValid, parseISO } from 'date-fns';\n\nexport const isNumeric = (value: any) =>\n !isNaN(parseFloat(value)) && isFinite(value);\nexport const valuesAreNumeric = (values: any[]) => values.every(isNumeric);\n\nexport const isInteger = (value: any) =>\n Number.isInteger(value) || !isNaN(parseInt(value));\nexport const valuesAreInteger = (values: any[]) => values.every(isInteger);\n\nexport const isBoolean = (value: any) => typeof value === 'boolean';\nexport const valuesAreBoolean = (values: any[]) => values.every(isBoolean);\n\nexport const isBooleanString = (value: any) =>\n ['true', 'false'].includes(value.toString().toLowerCase());\nexport const valuesAreBooleanString = (values: any[]) =>\n values.every(isBooleanString);\n\nexport const isString = (value: any) => typeof value === 'string';\nexport const valuesAreString = (values: any[]) => values.every(isString);\n\nconst HtmlRegexp = /<([A-Z][A-Z0-9]*)\\b[^>]*>(.*?)<\\/\\1>/i;\nexport const isHtml = (value: any) => !value || HtmlRegexp.test(value);\nexport const valuesAreHtml = (values: any[]) => values.every(isHtml);\n\nconst UrlRegexp = /http(s*):\\/\\/.*/i;\nexport const isUrl = (value: any) => !value || UrlRegexp.test(value);\nexport const valuesAreUrl = (values: any[]) => values.every(isUrl);\n\nconst ImageUrlRegexp =\n /http(s*):\\/\\/.*\\.(jpeg|jpg|jfif|pjpeg|pjp|png|svg|gif|webp|apng|bmp|ico|cur|tif|tiff)/i;\nexport const isImageUrl = (value: any) => !value || ImageUrlRegexp.test(value);\nexport const valuesAreImageUrl = (values: any[]) => values.every(isImageUrl);\n\n// This is a very simple regex to find emails\n// It is NOT meant to validate emails as the spec is way more complicated but is\n// enough for our inference needs\nconst EmailRegexp = /@{1}/;\nexport const isEmail = (value: any) => !value || EmailRegexp.test(value);\nexport const valuesAreEmail = (values: any[]) => values.every(isEmail);\n\nexport const isArray = (value: any) => Array.isArray(value);\nexport const valuesAreArray = (values: any[]) => values.every(isArray);\n\nexport const isDate = (value: any) => !value || value instanceof Date;\nexport const valuesAreDate = (values: any[]) => values.every(isDate);\n\nexport const isDateString = (value: any) =>\n !value ||\n (typeof value === 'string' &&\n (isMatch(value, 'MM/dd/yyyy') ||\n isMatch(value, 'MM/dd/yy') ||\n isValid(parseISO(value))));\n\nexport const valuesAreDateString = (values: any[]) =>\n values.every(isDateString);\n\nexport const isObject = (value: any) =>\n Object.prototype.toString.call(value) === '[object Object]';\nexport const valuesAreObject = (values: any[]) => values.every(isObject);\n","import * as React from 'react';\n\nimport getValuesFromRecords from './getValuesFromRecords';\nimport InferredElement from './InferredElement';\n\nimport {\n isObject,\n valuesAreArray,\n valuesAreBoolean,\n valuesAreDate,\n valuesAreDateString,\n valuesAreHtml,\n valuesAreInteger,\n valuesAreNumeric,\n valuesAreObject,\n valuesAreString,\n} from './assertions';\nimport { InferredTypeMap } from './types';\nimport { pluralize } from 'inflection';\n\nconst DefaultComponent = () => <span>;</span>;\nconst defaultType = {\n type: DefaultComponent,\n representation: () => '<DefaultComponent />',\n};\nconst defaultTypes = {\n array: defaultType,\n boolean: defaultType,\n date: defaultType,\n email: defaultType,\n id: defaultType,\n number: defaultType,\n reference: defaultType,\n referenceArray: defaultType,\n richText: defaultType,\n string: defaultType,\n url: defaultType,\n};\n\nconst hasType = (type, types) => typeof types[type] !== 'undefined';\n\n/**\n * Guesses an element based on an array of values\n *\n * @example\n * inferElementFromValues(\n * 'address',\n * ['2 Baker Street', '1 Downing street'],\n * { number: NumberField, string: StringField }\n * );\n * // new InferredElement(<StringField source=\"address\" />)\n *\n * Types are optional: if a type isn't provided, the function falls back\n * to the nearest type.\n *\n * @example\n * inferElementFromValues(\n * 'content',\n * ['<h1>Hello</h1>'],\n * { string: StringField } // no richText type\n * );\n * // new InferredElement(<StringField source=\"content\" />)\n *\n * Types can be disabled by passing a falsy value.\n *\n * @example\n * inferElementFromValues(\n * 'content',\n * ['<h1>Hello</h1>'],\n * { string: StringField, richText: false }\n * );\n * // null\n *\n * @param {string} name Property name, e.g. 'date_of_birth'\n * @param {any[]} values an array of values from which to determine the type, e.g. [12, 34.4, 43]\n * @param {Object} types A set of components indexed by type. The string type is the only required one\n *\n * @return InferredElement\n */\nconst inferElementFromValues = (\n name,\n values = [],\n types: InferredTypeMap = defaultTypes\n) => {\n if (name === 'id' && hasType('id', types)) {\n return new InferredElement(types.id, { source: name });\n }\n if (name.substr(name.length - 3) === '_id' && hasType('reference', types)) {\n const reference = pluralize(name.substr(0, name.length - 3));\n return (\n types.reference &&\n new InferredElement(types.reference, {\n source: name,\n reference,\n })\n );\n }\n if (name.substr(name.length - 2) === 'Id' && hasType('reference', types)) {\n const reference = pluralize(name.substr(0, name.length - 2));\n return (\n types.reference &&\n new InferredElement(types.reference, {\n source: name,\n reference,\n })\n );\n }\n if (\n name.substr(name.length - 4) === '_ids' &&\n hasType('referenceArray', types)\n ) {\n const reference = pluralize(name.substr(0, name.length - 4));\n return (\n types.referenceArray &&\n new InferredElement(types.referenceArray, {\n source: name,\n reference,\n })\n );\n }\n if (\n name.substr(name.length - 3) === 'Ids' &&\n hasType('referenceArray', types)\n ) {\n const reference = pluralize(name.substr(0, name.length - 3));\n return (\n types.referenceArray &&\n new InferredElement(types.referenceArray, {\n source: name,\n reference,\n })\n );\n }\n if (values.length === 0) {\n // FIXME introspect further using name\n return new InferredElement(types.string, { source: name });\n }\n if (valuesAreArray(values)) {\n if (isObject(values[0][0]) && hasType('array', types)) {\n const leafValues = getValuesFromRecords(\n values.reduce((acc, vals) => acc.concat(vals), [])\n );\n // FIXME bad visual representation\n return (\n types.array &&\n new InferredElement(\n types.array,\n {\n source: name,\n },\n Object.keys(leafValues).map(leafName =>\n inferElementFromValues(\n leafName,\n leafValues[leafName],\n types\n )\n )\n )\n );\n }\n // FIXME introspect further\n return new InferredElement(types.string, { source: name });\n }\n if (valuesAreBoolean(values) && hasType('boolean', types)) {\n return new InferredElement(types.boolean, { source: name });\n }\n if (valuesAreDate(values) && hasType('date', types)) {\n return new InferredElement(types.date, { source: name });\n }\n if (valuesAreString(values)) {\n if (name === 'email' && hasType('email', types)) {\n return new InferredElement(types.email, { source: name });\n }\n if (name === 'url' && hasType('url', types)) {\n return new InferredElement(types.url, { source: name });\n }\n if (valuesAreDateString(values) && hasType('date', types)) {\n return new InferredElement(types.date, { source: name });\n }\n if (valuesAreHtml(values) && hasType('richText', types)) {\n return new InferredElement(types.richText, { source: name });\n }\n return new InferredElement(types.string, { source: name });\n }\n if (\n (valuesAreInteger(values) || valuesAreNumeric(values)) &&\n hasType('number', types)\n ) {\n return new InferredElement(types.number, { source: name });\n }\n if (valuesAreObject(values)) {\n // we need to go deeper\n // Arbitrarily, choose the first prop of the first object\n const propName = Object.keys(values[0]).shift();\n if (!propName) {\n return new InferredElement(types.string, { source: name });\n }\n const leafValues = values.map(v => v[propName]);\n return inferElementFromValues(`${name}.${propName}`, leafValues, types);\n }\n return new InferredElement(types.string, { source: name });\n};\n\nexport default inferElementFromValues;\n","import inferElementFromValues from './inferElementFromValues';\nimport getValuesFromRecords from './getValuesFromRecords';\nimport { InferredTypeMap } from './types';\nimport InferredElement from './InferredElement';\n\n/**\n * Get a list of React-admin field components from a list of records\n *\n * @example\n * const records = [\n * {\n * \"id\": 1,\n * \"title\": \"Lorem Ipsum\",\n * \"views\": 254,\n * \"user_id\": 123,\n * },\n * {\n * \"id\": 2,\n * \"title\": \"Sic Dolor amet\",\n * \"user_id\": 456,\n * },\n * ];\n * const types = {\n * id: NumberField,\n * string: TextField,\n * number: NumberField,\n * reference: ReferenceField\n * };\n * const components = getElementsFromRecords(records, types);\n * // [\n * // <NumberField source=\"id\" />,\n * // <TextField source=\"title\" />,\n * // <NumberField source=\"views\" />,\n * // <ReferenceField source=\"user_id\" reference=\"users\"><NumberField source=\"id\" /></ReferenceField>,\n * // ];\n */\nexport default (records: any[], types: InferredTypeMap) => {\n const fieldValues = getValuesFromRecords(records);\n return Object.keys(fieldValues)\n .reduce(\n (fields, fieldName) =>\n fields.concat(\n inferElementFromValues(\n fieldName,\n fieldValues[fieldName],\n types\n )\n ),\n [] as InferredElement[]\n )\n .filter(inferredElement => inferredElement.isDefined());\n};\n","const common = {\n black: '#000',\n white: '#fff'\n};\nexport default common;","const red = {\n 50: '#ffebee',\n 100: '#ffcdd2',\n 200: '#ef9a9a',\n 300: '#e57373',\n 400: '#ef5350',\n 500: '#f44336',\n 600: '#e53935',\n 700: '#d32f2f',\n 800: '#c62828',\n 900: '#b71c1c',\n A100: '#ff8a80',\n A200: '#ff5252',\n A400: '#ff1744',\n A700: '#d50000'\n};\nexport default red;","const purple = {\n 50: '#f3e5f5',\n 100: '#e1bee7',\n 200: '#ce93d8',\n 300: '#ba68c8',\n 400: '#ab47bc',\n 500: '#9c27b0',\n 600: '#8e24aa',\n 700: '#7b1fa2',\n 800: '#6a1b9a',\n 900: '#4a148c',\n A100: '#ea80fc',\n A200: '#e040fb',\n A400: '#d500f9',\n A700: '#aa00ff'\n};\nexport default purple;","const blue = {\n 50: '#e3f2fd',\n 100: '#bbdefb',\n 200: '#90caf9',\n 300: '#64b5f6',\n 400: '#42a5f5',\n 500: '#2196f3',\n 600: '#1e88e5',\n 700: '#1976d2',\n 800: '#1565c0',\n 900: '#0d47a1',\n A100: '#82b1ff',\n A200: '#448aff',\n A400: '#2979ff',\n A700: '#2962ff'\n};\nexport default blue;","const lightBlue = {\n 50: '#e1f5fe',\n 100: '#b3e5fc',\n 200: '#81d4fa',\n 300: '#4fc3f7',\n 400: '#29b6f6',\n 500: '#03a9f4',\n 600: '#039be5',\n 700: '#0288d1',\n 800: '#0277bd',\n 900: '#01579b',\n A100: '#80d8ff',\n A200: '#40c4ff',\n A400: '#00b0ff',\n A700: '#0091ea'\n};\nexport default lightBlue;","const green = {\n 50: '#e8f5e9',\n 100: '#c8e6c9',\n 200: '#a5d6a7',\n 300: '#81c784',\n 400: '#66bb6a',\n 500: '#4caf50',\n 600: '#43a047',\n 700: '#388e3c',\n 800: '#2e7d32',\n 900: '#1b5e20',\n A100: '#b9f6ca',\n A200: '#69f0ae',\n A400: '#00e676',\n A700: '#00c853'\n};\nexport default green;","const orange = {\n 50: '#fff3e0',\n 100: '#ffe0b2',\n 200: '#ffcc80',\n 300: '#ffb74d',\n 400: '#ffa726',\n 500: '#ff9800',\n 600: '#fb8c00',\n 700: '#f57c00',\n 800: '#ef6c00',\n 900: '#e65100',\n A100: '#ffd180',\n A200: '#ffab40',\n A400: '#ff9100',\n A700: '#ff6d00'\n};\nexport default orange;","const grey = {\n 50: '#fafafa',\n 100: '#f5f5f5',\n 200: '#eeeeee',\n 300: '#e0e0e0',\n 400: '#bdbdbd',\n 500: '#9e9e9e',\n 600: '#757575',\n 700: '#616161',\n 800: '#424242',\n 900: '#212121',\n A100: '#f5f5f5',\n A200: '#eeeeee',\n A400: '#bdbdbd',\n A700: '#616161'\n};\nexport default grey;","/**\n * WARNING: Don't import this directly.\n * Use `MuiError` from `@mui/internal-babel-macros/MuiError.macro` instead.\n * @param {number} code\n */\nexport default function formatMuiErrorMessage(code) {\n // Apply babel-plugin-transform-template-literals in loose mode\n // loose mode is safe if we're concatenating primitives\n // see https://babeljs.io/docs/en/babel-plugin-transform-template-literals#loose\n /* eslint-disable prefer-template */\n let url = 'https://mui.com/production-error/?code=' + code;\n for (let i = 1; i < arguments.length; i += 1) {\n // rest params over-transpile for this case\n // eslint-disable-next-line prefer-rest-params\n url += '&args[]=' + encodeURIComponent(arguments[i]);\n }\n return 'Minified MUI error #' + code + '; visit ' + url + ' for the full message.';\n /* eslint-enable prefer-template */\n}","export default '$$material';","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}","function _extends() {\n module.exports = _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _extends.apply(this, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function memoize(fn) {\n var cache = Object.create(null);\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport default memoize;\n","import memoize from '@emotion/memoize';\n\nvar reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23\n\nvar isPropValid = /* #__PURE__ */memoize(function (prop) {\n return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111\n /* o */\n && prop.charCodeAt(1) === 110\n /* n */\n && prop.charCodeAt(2) < 91;\n}\n/* Z+1 */\n);\n\nexport default isPropValid;\n","/*\n\nBased off glamor's StyleSheet, thanks Sunil ❤️\n\nhigh performance StyleSheet for css-in-js systems\n\n- uses multiple style tags behind the scenes for millions of rules\n- uses `insertRule` for appending in production for *much* faster performance\n\n// usage\n\nimport { StyleSheet } from '@emotion/sheet'\n\nlet styleSheet = new StyleSheet({ key: '', container: document.head })\n\nstyleSheet.insert('#box { border: 1px solid red; }')\n- appends a css rule into the stylesheet\n\nstyleSheet.flush()\n- empties the stylesheet of all its contents\n\n*/\n// $FlowFixMe\nfunction sheetForTag(tag) {\n if (tag.sheet) {\n // $FlowFixMe\n return tag.sheet;\n } // this weirdness brought to you by firefox\n\n /* istanbul ignore next */\n\n\n for (var i = 0; i < document.styleSheets.length; i++) {\n if (document.styleSheets[i].ownerNode === tag) {\n // $FlowFixMe\n return document.styleSheets[i];\n }\n }\n}\n\nfunction createStyleElement(options) {\n var tag = document.createElement('style');\n tag.setAttribute('data-emotion', options.key);\n\n if (options.nonce !== undefined) {\n tag.setAttribute('nonce', options.nonce);\n }\n\n tag.appendChild(document.createTextNode(''));\n tag.setAttribute('data-s', '');\n return tag;\n}\n\nvar StyleSheet = /*#__PURE__*/function () {\n // Using Node instead of HTMLElement since container may be a ShadowRoot\n function StyleSheet(options) {\n var _this = this;\n\n this._insertTag = function (tag) {\n var before;\n\n if (_this.tags.length === 0) {\n if (_this.insertionPoint) {\n before = _this.insertionPoint.nextSibling;\n } else if (_this.prepend) {\n before = _this.container.firstChild;\n } else {\n before = _this.before;\n }\n } else {\n before = _this.tags[_this.tags.length - 1].nextSibling;\n }\n\n _this.container.insertBefore(tag, before);\n\n _this.tags.push(tag);\n };\n\n this.isSpeedy = options.speedy === undefined ? process.env.NODE_ENV === 'production' : options.speedy;\n this.tags = [];\n this.ctr = 0;\n this.nonce = options.nonce; // key is the value of the data-emotion attribute, it's used to identify different sheets\n\n this.key = options.key;\n this.container = options.container;\n this.prepend = options.prepend;\n this.insertionPoint = options.insertionPoint;\n this.before = null;\n }\n\n var _proto = StyleSheet.prototype;\n\n _proto.hydrate = function hydrate(nodes) {\n nodes.forEach(this._insertTag);\n };\n\n _proto.insert = function insert(rule) {\n // the max length is how many rules we have per style tag, it's 65000 in speedy mode\n // it's 1 in dev because we insert source maps that map a single rule to a location\n // and you can only have one source map per style tag\n if (this.ctr % (this.isSpeedy ? 65000 : 1) === 0) {\n this._insertTag(createStyleElement(this));\n }\n\n var tag = this.tags[this.tags.length - 1];\n\n if (process.env.NODE_ENV !== 'production') {\n var isImportRule = rule.charCodeAt(0) === 64 && rule.charCodeAt(1) === 105;\n\n if (isImportRule && this._alreadyInsertedOrderInsensitiveRule) {\n // this would only cause problem in speedy mode\n // but we don't want enabling speedy to affect the observable behavior\n // so we report this error at all times\n console.error(\"You're attempting to insert the following rule:\\n\" + rule + '\\n\\n`@import` rules must be before all other types of rules in a stylesheet but other rules have already been inserted. Please ensure that `@import` rules are before all other rules.');\n }\n this._alreadyInsertedOrderInsensitiveRule = this._alreadyInsertedOrderInsensitiveRule || !isImportRule;\n }\n\n if (this.isSpeedy) {\n var sheet = sheetForTag(tag);\n\n try {\n // this is the ultrafast version, works across browsers\n // the big drawback is that the css won't be editable in devtools\n sheet.insertRule(rule, sheet.cssRules.length);\n } catch (e) {\n if (process.env.NODE_ENV !== 'production' && !/:(-moz-placeholder|-moz-focus-inner|-moz-focusring|-ms-input-placeholder|-moz-read-write|-moz-read-only|-ms-clear|-ms-expand|-ms-reveal){/.test(rule)) {\n console.error(\"There was a problem inserting the following rule: \\\"\" + rule + \"\\\"\", e);\n }\n }\n } else {\n tag.appendChild(document.createTextNode(rule));\n }\n\n this.ctr++;\n };\n\n _proto.flush = function flush() {\n // $FlowFixMe\n this.tags.forEach(function (tag) {\n return tag.parentNode && tag.parentNode.removeChild(tag);\n });\n this.tags = [];\n this.ctr = 0;\n\n if (process.env.NODE_ENV !== 'production') {\n this._alreadyInsertedOrderInsensitiveRule = false;\n }\n };\n\n return StyleSheet;\n}();\n\nexport { StyleSheet };\n","export var MS = '-ms-'\nexport var MOZ = '-moz-'\nexport var WEBKIT = '-webkit-'\n\nexport var COMMENT = 'comm'\nexport var RULESET = 'rule'\nexport var DECLARATION = 'decl'\n\nexport var PAGE = '@page'\nexport var MEDIA = '@media'\nexport var IMPORT = '@import'\nexport var CHARSET = '@charset'\nexport var VIEWPORT = '@viewport'\nexport var SUPPORTS = '@supports'\nexport var DOCUMENT = '@document'\nexport var NAMESPACE = '@namespace'\nexport var KEYFRAMES = '@keyframes'\nexport var FONT_FACE = '@font-face'\nexport var COUNTER_STYLE = '@counter-style'\nexport var FONT_FEATURE_VALUES = '@font-feature-values'\n","/**\n * @param {number}\n * @return {number}\n */\nexport var abs = Math.abs\n\n/**\n * @param {number}\n * @return {string}\n */\nexport var from = String.fromCharCode\n\n/**\n * @param {object}\n * @return {object}\n */\nexport var assign = Object.assign\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {number}\n */\nexport function hash (value, length) {\n\treturn (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3)\n}\n\n/**\n * @param {string} value\n * @return {string}\n */\nexport function trim (value) {\n\treturn value.trim()\n}\n\n/**\n * @param {string} value\n * @param {RegExp} pattern\n * @return {string?}\n */\nexport function match (value, pattern) {\n\treturn (value = pattern.exec(value)) ? value[0] : value\n}\n\n/**\n * @param {string} value\n * @param {(string|RegExp)} pattern\n * @param {string} replacement\n * @return {string}\n */\nexport function replace (value, pattern, replacement) {\n\treturn value.replace(pattern, replacement)\n}\n\n/**\n * @param {string} value\n * @param {string} search\n * @return {number}\n */\nexport function indexof (value, search) {\n\treturn value.indexOf(search)\n}\n\n/**\n * @param {string} value\n * @param {number} index\n * @return {number}\n */\nexport function charat (value, index) {\n\treturn value.charCodeAt(index) | 0\n}\n\n/**\n * @param {string} value\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function substr (value, begin, end) {\n\treturn value.slice(begin, end)\n}\n\n/**\n * @param {string} value\n * @return {number}\n */\nexport function strlen (value) {\n\treturn value.length\n}\n\n/**\n * @param {any[]} value\n * @return {number}\n */\nexport function sizeof (value) {\n\treturn value.length\n}\n\n/**\n * @param {any} value\n * @param {any[]} array\n * @return {any}\n */\nexport function append (value, array) {\n\treturn array.push(value), value\n}\n\n/**\n * @param {string[]} array\n * @param {function} callback\n * @return {string}\n */\nexport function combine (array, callback) {\n\treturn array.map(callback).join('')\n}\n","import {from, trim, charat, strlen, substr, append, assign} from './Utility.js'\n\nexport var line = 1\nexport var column = 1\nexport var length = 0\nexport var position = 0\nexport var character = 0\nexport var characters = ''\n\n/**\n * @param {string} value\n * @param {object | null} root\n * @param {object | null} parent\n * @param {string} type\n * @param {string[] | string} props\n * @param {object[] | string} children\n * @param {number} length\n */\nexport function node (value, root, parent, type, props, children, length) {\n\treturn {value: value, root: root, parent: parent, type: type, props: props, children: children, line: line, column: column, length: length, return: ''}\n}\n\n/**\n * @param {object} root\n * @param {object} props\n * @return {object}\n */\nexport function copy (root, props) {\n\treturn assign(node('', null, null, '', null, null, 0), root, {length: -root.length}, props)\n}\n\n/**\n * @return {number}\n */\nexport function char () {\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function prev () {\n\tcharacter = position > 0 ? charat(characters, --position) : 0\n\n\tif (column--, character === 10)\n\t\tcolumn = 1, line--\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function next () {\n\tcharacter = position < length ? charat(characters, position++) : 0\n\n\tif (column++, character === 10)\n\t\tcolumn = 1, line++\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function peek () {\n\treturn charat(characters, position)\n}\n\n/**\n * @return {number}\n */\nexport function caret () {\n\treturn position\n}\n\n/**\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function slice (begin, end) {\n\treturn substr(characters, begin, end)\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function token (type) {\n\tswitch (type) {\n\t\t// \\0 \\t \\n \\r \\s whitespace token\n\t\tcase 0: case 9: case 10: case 13: case 32:\n\t\t\treturn 5\n\t\t// ! + , / > @ ~ isolate token\n\t\tcase 33: case 43: case 44: case 47: case 62: case 64: case 126:\n\t\t// ; { } breakpoint token\n\t\tcase 59: case 123: case 125:\n\t\t\treturn 4\n\t\t// : accompanied token\n\t\tcase 58:\n\t\t\treturn 3\n\t\t// \" ' ( [ opening delimit token\n\t\tcase 34: case 39: case 40: case 91:\n\t\t\treturn 2\n\t\t// ) ] closing delimit token\n\t\tcase 41: case 93:\n\t\t\treturn 1\n\t}\n\n\treturn 0\n}\n\n/**\n * @param {string} value\n * @return {any[]}\n */\nexport function alloc (value) {\n\treturn line = column = 1, length = strlen(characters = value), position = 0, []\n}\n\n/**\n * @param {any} value\n * @return {any}\n */\nexport function dealloc (value) {\n\treturn characters = '', value\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function delimit (type) {\n\treturn trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)))\n}\n\n/**\n * @param {string} value\n * @return {string[]}\n */\nexport function tokenize (value) {\n\treturn dealloc(tokenizer(alloc(value)))\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function whitespace (type) {\n\twhile (character = peek())\n\t\tif (character < 33)\n\t\t\tnext()\n\t\telse\n\t\t\tbreak\n\n\treturn token(type) > 2 || token(character) > 3 ? '' : ' '\n}\n\n/**\n * @param {string[]} children\n * @return {string[]}\n */\nexport function tokenizer (children) {\n\twhile (next())\n\t\tswitch (token(character)) {\n\t\t\tcase 0: append(identifier(position - 1), children)\n\t\t\t\tbreak\n\t\t\tcase 2: append(delimit(character), children)\n\t\t\t\tbreak\n\t\t\tdefault: append(from(character), children)\n\t\t}\n\n\treturn children\n}\n\n/**\n * @param {number} index\n * @param {number} count\n * @return {string}\n */\nexport function escaping (index, count) {\n\twhile (--count && next())\n\t\t// not 0-9 A-F a-f\n\t\tif (character < 48 || character > 102 || (character > 57 && character < 65) || (character > 70 && character < 97))\n\t\t\tbreak\n\n\treturn slice(index, caret() + (count < 6 && peek() == 32 && next() == 32))\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function delimiter (type) {\n\twhile (next())\n\t\tswitch (character) {\n\t\t\t// ] ) \" '\n\t\t\tcase type:\n\t\t\t\treturn position\n\t\t\t// \" '\n\t\t\tcase 34: case 39:\n\t\t\t\tif (type !== 34 && type !== 39)\n\t\t\t\t\tdelimiter(character)\n\t\t\t\tbreak\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (type === 41)\n\t\t\t\t\tdelimiter(type)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tnext()\n\t\t\t\tbreak\n\t\t}\n\n\treturn position\n}\n\n/**\n * @param {number} type\n * @param {number} index\n * @return {number}\n */\nexport function commenter (type, index) {\n\twhile (next())\n\t\t// //\n\t\tif (type + character === 47 + 10)\n\t\t\tbreak\n\t\t// /*\n\t\telse if (type + character === 42 + 42 && peek() === 47)\n\t\t\tbreak\n\n\treturn '/*' + slice(index, position - 1) + '*' + from(type === 47 ? type : next())\n}\n\n/**\n * @param {number} index\n * @return {string}\n */\nexport function identifier (index) {\n\twhile (!token(peek()))\n\t\tnext()\n\n\treturn slice(index, position)\n}\n","import {COMMENT, RULESET, DECLARATION} from './Enum.js'\nimport {abs, trim, from, sizeof, strlen, substr, append, replace, indexof} from './Utility.js'\nimport {node, char, prev, next, peek, caret, alloc, dealloc, delimit, whitespace, escaping, identifier, commenter} from './Tokenizer.js'\n\n/**\n * @param {string} value\n * @return {object[]}\n */\nexport function compile (value) {\n\treturn dealloc(parse('', null, null, null, [''], value = alloc(value), 0, [0], value))\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {string[]} rule\n * @param {string[]} rules\n * @param {string[]} rulesets\n * @param {number[]} pseudo\n * @param {number[]} points\n * @param {string[]} declarations\n * @return {object}\n */\nexport function parse (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {\n\tvar index = 0\n\tvar offset = 0\n\tvar length = pseudo\n\tvar atrule = 0\n\tvar property = 0\n\tvar previous = 0\n\tvar variable = 1\n\tvar scanning = 1\n\tvar ampersand = 1\n\tvar character = 0\n\tvar type = ''\n\tvar props = rules\n\tvar children = rulesets\n\tvar reference = rule\n\tvar characters = type\n\n\twhile (scanning)\n\t\tswitch (previous = character, character = next()) {\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (previous != 108 && characters.charCodeAt(length - 1) == 58) {\n\t\t\t\t\tif (indexof(characters += replace(delimit(character), '&', '&\\f'), '&\\f') != -1)\n\t\t\t\t\t\tampersand = -1\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t// \" ' [\n\t\t\tcase 34: case 39: case 91:\n\t\t\t\tcharacters += delimit(character)\n\t\t\t\tbreak\n\t\t\t// \\t \\n \\r \\s\n\t\t\tcase 9: case 10: case 13: case 32:\n\t\t\t\tcharacters += whitespace(previous)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tcharacters += escaping(caret() - 1, 7)\n\t\t\t\tcontinue\n\t\t\t// /\n\t\t\tcase 47:\n\t\t\t\tswitch (peek()) {\n\t\t\t\t\tcase 42: case 47:\n\t\t\t\t\t\tappend(comment(commenter(next(), caret()), root, parent), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcharacters += '/'\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t// {\n\t\t\tcase 123 * variable:\n\t\t\t\tpoints[index++] = strlen(characters) * ampersand\n\t\t\t// } ; \\0\n\t\t\tcase 125 * variable: case 59: case 0:\n\t\t\t\tswitch (character) {\n\t\t\t\t\t// \\0 }\n\t\t\t\t\tcase 0: case 125: scanning = 0\n\t\t\t\t\t// ;\n\t\t\t\t\tcase 59 + offset:\n\t\t\t\t\t\tif (property > 0 && (strlen(characters) - length))\n\t\t\t\t\t\t\tappend(property > 32 ? declaration(characters + ';', rule, parent, length - 1) : declaration(replace(characters, ' ', '') + ';', rule, parent, length - 2), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @ ;\n\t\t\t\t\tcase 59: characters += ';'\n\t\t\t\t\t// { rule/at-rule\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tappend(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length), rulesets)\n\n\t\t\t\t\t\tif (character === 123)\n\t\t\t\t\t\t\tif (offset === 0)\n\t\t\t\t\t\t\t\tparse(characters, root, reference, reference, props, rulesets, length, points, children)\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tswitch (atrule) {\n\t\t\t\t\t\t\t\t\t// d m s\n\t\t\t\t\t\t\t\t\tcase 100: case 109: case 115:\n\t\t\t\t\t\t\t\t\t\tparse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length), children), rules, children, length, points, rule ? props : children)\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\tparse(characters, reference, reference, reference, [''], children, 0, points, children)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tindex = offset = property = 0, variable = ampersand = 1, type = characters = '', length = pseudo\n\t\t\t\tbreak\n\t\t\t// :\n\t\t\tcase 58:\n\t\t\t\tlength = 1 + strlen(characters), property = previous\n\t\t\tdefault:\n\t\t\t\tif (variable < 1)\n\t\t\t\t\tif (character == 123)\n\t\t\t\t\t\t--variable\n\t\t\t\t\telse if (character == 125 && variable++ == 0 && prev() == 125)\n\t\t\t\t\t\tcontinue\n\n\t\t\t\tswitch (characters += from(character), character * variable) {\n\t\t\t\t\t// &\n\t\t\t\t\tcase 38:\n\t\t\t\t\t\tampersand = offset > 0 ? 1 : (characters += '\\f', -1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// ,\n\t\t\t\t\tcase 44:\n\t\t\t\t\t\tpoints[index++] = (strlen(characters) - 1) * ampersand, ampersand = 1\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @\n\t\t\t\t\tcase 64:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (peek() === 45)\n\t\t\t\t\t\t\tcharacters += delimit(next())\n\n\t\t\t\t\t\tatrule = peek(), offset = length = strlen(type = characters += identifier(caret())), character++\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// -\n\t\t\t\t\tcase 45:\n\t\t\t\t\t\tif (previous === 45 && strlen(characters) == 2)\n\t\t\t\t\t\t\tvariable = 0\n\t\t\t\t}\n\t\t}\n\n\treturn rulesets\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} index\n * @param {number} offset\n * @param {string[]} rules\n * @param {number[]} points\n * @param {string} type\n * @param {string[]} props\n * @param {string[]} children\n * @param {number} length\n * @return {object}\n */\nexport function ruleset (value, root, parent, index, offset, rules, points, type, props, children, length) {\n\tvar post = offset - 1\n\tvar rule = offset === 0 ? rules : ['']\n\tvar size = sizeof(rule)\n\n\tfor (var i = 0, j = 0, k = 0; i < index; ++i)\n\t\tfor (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x)\n\t\t\tif (z = trim(j > 0 ? rule[x] + ' ' + y : replace(y, /&\\f/g, rule[x])))\n\t\t\t\tprops[k++] = z\n\n\treturn node(value, root, parent, offset === 0 ? RULESET : type, props, children, length)\n}\n\n/**\n * @param {number} value\n * @param {object} root\n * @param {object?} parent\n * @return {object}\n */\nexport function comment (value, root, parent) {\n\treturn node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0)\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} length\n * @return {object}\n */\nexport function declaration (value, root, parent, length) {\n\treturn node(value, root, parent, DECLARATION, substr(value, 0, length), substr(value, length + 1, -1), length)\n}\n","import {MS, MOZ, WEBKIT} from './Enum.js'\nimport {hash, charat, strlen, indexof, replace} from './Utility.js'\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {string}\n */\nexport function prefix (value, length) {\n\tswitch (hash(value, length)) {\n\t\t// color-adjust\n\t\tcase 5103:\n\t\t\treturn WEBKIT + 'print-' + value + value\n\t\t// animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)\n\t\tcase 5737: case 4201: case 3177: case 3433: case 1641: case 4457: case 2921:\n\t\t// text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break\n\t\tcase 5572: case 6356: case 5844: case 3191: case 6645: case 3005:\n\t\t// mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite,\n\t\tcase 6391: case 5879: case 5623: case 6135: case 4599: case 4855:\n\t\t// background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)\n\t\tcase 4215: case 6389: case 5109: case 5365: case 5621: case 3829:\n\t\t\treturn WEBKIT + value + value\n\t\t// appearance, user-select, transform, hyphens, text-size-adjust\n\t\tcase 5349: case 4246: case 4810: case 6968: case 2756:\n\t\t\treturn WEBKIT + value + MOZ + value + MS + value + value\n\t\t// flex, flex-direction\n\t\tcase 6828: case 4268:\n\t\t\treturn WEBKIT + value + MS + value + value\n\t\t// order\n\t\tcase 6165:\n\t\t\treturn WEBKIT + value + MS + 'flex-' + value + value\n\t\t// align-items\n\t\tcase 5187:\n\t\t\treturn WEBKIT + value + replace(value, /(\\w+).+(:[^]+)/, WEBKIT + 'box-$1$2' + MS + 'flex-$1$2') + value\n\t\t// align-self\n\t\tcase 5443:\n\t\t\treturn WEBKIT + value + MS + 'flex-item-' + replace(value, /flex-|-self/, '') + value\n\t\t// align-content\n\t\tcase 4675:\n\t\t\treturn WEBKIT + value + MS + 'flex-line-pack' + replace(value, /align-content|flex-|-self/, '') + value\n\t\t// flex-shrink\n\t\tcase 5548:\n\t\t\treturn WEBKIT + value + MS + replace(value, 'shrink', 'negative') + value\n\t\t// flex-basis\n\t\tcase 5292:\n\t\t\treturn WEBKIT + value + MS + replace(value, 'basis', 'preferred-size') + value\n\t\t// flex-grow\n\t\tcase 6060:\n\t\t\treturn WEBKIT + 'box-' + replace(value, '-grow', '') + WEBKIT + value + MS + replace(value, 'grow', 'positive') + value\n\t\t// transition\n\t\tcase 4554:\n\t\t\treturn WEBKIT + replace(value, /([^-])(transform)/g, '$1' + WEBKIT + '$2') + value\n\t\t// cursor\n\t\tcase 6187:\n\t\t\treturn replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + '$1'), /(image-set)/, WEBKIT + '$1'), value, '') + value\n\t\t// background, background-image\n\t\tcase 5495: case 3959:\n\t\t\treturn replace(value, /(image-set\\([^]*)/, WEBKIT + '$1' + '$`$1')\n\t\t// justify-content\n\t\tcase 4968:\n\t\t\treturn replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + 'box-pack:$3' + MS + 'flex-pack:$3'), /s.+-b[^;]+/, 'justify') + WEBKIT + value + value\n\t\t// (margin|padding)-inline-(start|end)\n\t\tcase 4095: case 3583: case 4068: case 2532:\n\t\t\treturn replace(value, /(.+)-inline(.+)/, WEBKIT + '$1$2') + value\n\t\t// (min|max)?(width|height|inline-size|block-size)\n\t\tcase 8116: case 7059: case 5753: case 5535:\n\t\tcase 5445: case 5701: case 4933: case 4677:\n\t\tcase 5533: case 5789: case 5021: case 4765:\n\t\t\t// stretch, max-content, min-content, fill-available\n\t\t\tif (strlen(value) - 1 - length > 6)\n\t\t\t\tswitch (charat(value, length + 1)) {\n\t\t\t\t\t// (m)ax-content, (m)in-content\n\t\t\t\t\tcase 109:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (charat(value, length + 4) !== 45)\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t// (f)ill-available, (f)it-content\n\t\t\t\t\tcase 102:\n\t\t\t\t\t\treturn replace(value, /(.+:)(.+)-([^]+)/, '$1' + WEBKIT + '$2-$3' + '$1' + MOZ + (charat(value, length + 3) == 108 ? '$3' : '$2-$3')) + value\n\t\t\t\t\t// (s)tretch\n\t\t\t\t\tcase 115:\n\t\t\t\t\t\treturn ~indexof(value, 'stretch') ? prefix(replace(value, 'stretch', 'fill-available'), length) + value : value\n\t\t\t\t}\n\t\t\tbreak\n\t\t// position: sticky\n\t\tcase 4949:\n\t\t\t// (s)ticky?\n\t\t\tif (charat(value, length + 1) !== 115)\n\t\t\t\tbreak\n\t\t// display: (flex|inline-flex)\n\t\tcase 6444:\n\t\t\tswitch (charat(value, strlen(value) - 3 - (~indexof(value, '!important') && 10))) {\n\t\t\t\t// stic(k)y\n\t\t\t\tcase 107:\n\t\t\t\t\treturn replace(value, ':', ':' + WEBKIT) + value\n\t\t\t\t// (inline-)?fl(e)x\n\t\t\t\tcase 101:\n\t\t\t\t\treturn replace(value, /(.+:)([^;!]+)(;|!.+)?/, '$1' + WEBKIT + (charat(value, 14) === 45 ? 'inline-' : '') + 'box$3' + '$1' + WEBKIT + '$2$3' + '$1' + MS + '$2box$3') + value\n\t\t\t}\n\t\t\tbreak\n\t\t// writing-mode\n\t\tcase 5936:\n\t\t\tswitch (charat(value, length + 11)) {\n\t\t\t\t// vertical-l(r)\n\t\t\t\tcase 114:\n\t\t\t\t\treturn WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb') + value\n\t\t\t\t// vertical-r(l)\n\t\t\t\tcase 108:\n\t\t\t\t\treturn WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb-rl') + value\n\t\t\t\t// horizontal(-)tb\n\t\t\t\tcase 45:\n\t\t\t\t\treturn WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'lr') + value\n\t\t\t}\n\n\t\t\treturn WEBKIT + value + MS + value + value\n\t}\n\n\treturn value\n}\n","import {IMPORT, COMMENT, RULESET, DECLARATION, KEYFRAMES} from './Enum.js'\nimport {strlen, sizeof} from './Utility.js'\n\n/**\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function serialize (children, callback) {\n\tvar output = ''\n\tvar length = sizeof(children)\n\n\tfor (var i = 0; i < length; i++)\n\t\toutput += callback(children[i], i, children, callback) || ''\n\n\treturn output\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function stringify (element, index, children, callback) {\n\tswitch (element.type) {\n\t\tcase IMPORT: case DECLARATION: return element.return = element.return || element.value\n\t\tcase COMMENT: return ''\n\t\tcase KEYFRAMES: return element.return = element.value + '{' + serialize(element.children, callback) + '}'\n\t\tcase RULESET: element.value = element.props.join(',')\n\t}\n\n\treturn strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : ''\n}\n","import {MS, MOZ, WEBKIT, RULESET, KEYFRAMES, DECLARATION} from './Enum.js'\nimport {match, charat, substr, strlen, sizeof, replace, combine} from './Utility.js'\nimport {copy, tokenize} from './Tokenizer.js'\nimport {serialize} from './Serializer.js'\nimport {prefix} from './Prefixer.js'\n\n/**\n * @param {function[]} collection\n * @return {function}\n */\nexport function middleware (collection) {\n\tvar length = sizeof(collection)\n\n\treturn function (element, index, children, callback) {\n\t\tvar output = ''\n\n\t\tfor (var i = 0; i < length; i++)\n\t\t\toutput += collection[i](element, index, children, callback) || ''\n\n\t\treturn output\n\t}\n}\n\n/**\n * @param {function} callback\n * @return {function}\n */\nexport function rulesheet (callback) {\n\treturn function (element) {\n\t\tif (!element.root)\n\t\t\tif (element = element.return)\n\t\t\t\tcallback(element)\n\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n */\nexport function prefixer (element, index, children, callback) {\n\tif (element.length > -1)\n\t\tif (!element.return)\n\t\t\tswitch (element.type) {\n\t\t\t\tcase DECLARATION: element.return = prefix(element.value, element.length)\n\t\t\t\t\tbreak\n\t\t\t\tcase KEYFRAMES:\n\t\t\t\t\treturn serialize([copy(element, {value: replace(element.value, '@', '@' + WEBKIT)})], callback)\n\t\t\t\tcase RULESET:\n\t\t\t\t\tif (element.length)\n\t\t\t\t\t\treturn combine(element.props, function (value) {\n\t\t\t\t\t\t\tswitch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n\t\t\t\t\t\t\t\t// :read-(only|write)\n\t\t\t\t\t\t\t\tcase ':read-only': case ':read-write':\n\t\t\t\t\t\t\t\t\treturn serialize([copy(element, {props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]})], callback)\n\t\t\t\t\t\t\t\t// :placeholder\n\t\t\t\t\t\t\t\tcase '::placeholder':\n\t\t\t\t\t\t\t\t\treturn serialize([\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]})\n\t\t\t\t\t\t\t\t\t], callback)\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn ''\n\t\t\t\t\t\t})\n\t\t\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n */\nexport function namespace (element) {\n\tswitch (element.type) {\n\t\tcase RULESET:\n\t\t\telement.props = element.props.map(function (value) {\n\t\t\t\treturn combine(tokenize(value), function (value, index, children) {\n\t\t\t\t\tswitch (charat(value, 0)) {\n\t\t\t\t\t\t// \\f\n\t\t\t\t\t\tcase 12:\n\t\t\t\t\t\t\treturn substr(value, 1, strlen(value))\n\t\t\t\t\t\t// \\0 ( + > ~\n\t\t\t\t\t\tcase 0: case 40: case 43: case 62: case 126:\n\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t// :\n\t\t\t\t\t\tcase 58:\n\t\t\t\t\t\t\tif (children[++index] === 'global')\n\t\t\t\t\t\t\t\tchildren[index] = '', children[++index] = '\\f' + substr(children[index], index = 1, -1)\n\t\t\t\t\t\t// \\s\n\t\t\t\t\t\tcase 32:\n\t\t\t\t\t\t\treturn index === 1 ? '' : value\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tswitch (index) {\n\t\t\t\t\t\t\t\tcase 0: element = value\n\t\t\t\t\t\t\t\t\treturn sizeof(children) > 1 ? '' : value\n\t\t\t\t\t\t\t\tcase index = sizeof(children) - 1: case 2:\n\t\t\t\t\t\t\t\t\treturn index === 2 ? value + element + element : value + element\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t})\n\t}\n}\n","import { StyleSheet } from '@emotion/sheet';\nimport { dealloc, alloc, next, token, from, peek, delimit, slice, position, stringify, COMMENT, rulesheet, middleware, prefixer, serialize, compile } from 'stylis';\nimport '@emotion/weak-memoize';\nimport '@emotion/memoize';\n\nvar last = function last(arr) {\n return arr.length ? arr[arr.length - 1] : null;\n}; // based on https://github.com/thysultan/stylis.js/blob/e6843c373ebcbbfade25ebcc23f540ed8508da0a/src/Tokenizer.js#L239-L244\n\n\nvar identifierWithPointTracking = function identifierWithPointTracking(begin, points, index) {\n var previous = 0;\n var character = 0;\n\n while (true) {\n previous = character;\n character = peek(); // &\\f\n\n if (previous === 38 && character === 12) {\n points[index] = 1;\n }\n\n if (token(character)) {\n break;\n }\n\n next();\n }\n\n return slice(begin, position);\n};\n\nvar toRules = function toRules(parsed, points) {\n // pretend we've started with a comma\n var index = -1;\n var character = 44;\n\n do {\n switch (token(character)) {\n case 0:\n // &\\f\n if (character === 38 && peek() === 12) {\n // this is not 100% correct, we don't account for literal sequences here - like for example quoted strings\n // stylis inserts \\f after & to know when & where it should replace this sequence with the context selector\n // and when it should just concatenate the outer and inner selectors\n // it's very unlikely for this sequence to actually appear in a different context, so we just leverage this fact here\n points[index] = 1;\n }\n\n parsed[index] += identifierWithPointTracking(position - 1, points, index);\n break;\n\n case 2:\n parsed[index] += delimit(character);\n break;\n\n case 4:\n // comma\n if (character === 44) {\n // colon\n parsed[++index] = peek() === 58 ? '&\\f' : '';\n points[index] = parsed[index].length;\n break;\n }\n\n // fallthrough\n\n default:\n parsed[index] += from(character);\n }\n } while (character = next());\n\n return parsed;\n};\n\nvar getRules = function getRules(value, points) {\n return dealloc(toRules(alloc(value), points));\n}; // WeakSet would be more appropriate, but only WeakMap is supported in IE11\n\n\nvar fixedElements = /* #__PURE__ */new WeakMap();\nvar compat = function compat(element) {\n if (element.type !== 'rule' || !element.parent || // positive .length indicates that this rule contains pseudo\n // negative .length indicates that this rule has been already prefixed\n element.length < 1) {\n return;\n }\n\n var value = element.value,\n parent = element.parent;\n var isImplicitRule = element.column === parent.column && element.line === parent.line;\n\n while (parent.type !== 'rule') {\n parent = parent.parent;\n if (!parent) return;\n } // short-circuit for the simplest case\n\n\n if (element.props.length === 1 && value.charCodeAt(0) !== 58\n /* colon */\n && !fixedElements.get(parent)) {\n return;\n } // if this is an implicitly inserted rule (the one eagerly inserted at the each new nested level)\n // then the props has already been manipulated beforehand as they that array is shared between it and its \"rule parent\"\n\n\n if (isImplicitRule) {\n return;\n }\n\n fixedElements.set(element, true);\n var points = [];\n var rules = getRules(value, points);\n var parentRules = parent.props;\n\n for (var i = 0, k = 0; i < rules.length; i++) {\n for (var j = 0; j < parentRules.length; j++, k++) {\n element.props[k] = points[i] ? rules[i].replace(/&\\f/g, parentRules[j]) : parentRules[j] + \" \" + rules[i];\n }\n }\n};\nvar removeLabel = function removeLabel(element) {\n if (element.type === 'decl') {\n var value = element.value;\n\n if ( // charcode for l\n value.charCodeAt(0) === 108 && // charcode for b\n value.charCodeAt(2) === 98) {\n // this ignores label\n element[\"return\"] = '';\n element.value = '';\n }\n }\n};\nvar ignoreFlag = 'emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason';\n\nvar isIgnoringComment = function isIgnoringComment(element) {\n return !!element && element.type === 'comm' && element.children.indexOf(ignoreFlag) > -1;\n};\n\nvar createUnsafeSelectorsAlarm = function createUnsafeSelectorsAlarm(cache) {\n return function (element, index, children) {\n if (element.type !== 'rule') return;\n var unsafePseudoClasses = element.value.match(/(:first|:nth|:nth-last)-child/g);\n\n if (unsafePseudoClasses && cache.compat !== true) {\n var prevElement = index > 0 ? children[index - 1] : null;\n\n if (prevElement && isIgnoringComment(last(prevElement.children))) {\n return;\n }\n\n unsafePseudoClasses.forEach(function (unsafePseudoClass) {\n console.error(\"The pseudo class \\\"\" + unsafePseudoClass + \"\\\" is potentially unsafe when doing server-side rendering. Try changing it to \\\"\" + unsafePseudoClass.split('-child')[0] + \"-of-type\\\".\");\n });\n }\n };\n};\n\nvar isImportRule = function isImportRule(element) {\n return element.type.charCodeAt(1) === 105 && element.type.charCodeAt(0) === 64;\n};\n\nvar isPrependedWithRegularRules = function isPrependedWithRegularRules(index, children) {\n for (var i = index - 1; i >= 0; i--) {\n if (!isImportRule(children[i])) {\n return true;\n }\n }\n\n return false;\n}; // use this to remove incorrect elements from further processing\n// so they don't get handed to the `sheet` (or anything else)\n// as that could potentially lead to additional logs which in turn could be overhelming to the user\n\n\nvar nullifyElement = function nullifyElement(element) {\n element.type = '';\n element.value = '';\n element[\"return\"] = '';\n element.children = '';\n element.props = '';\n};\n\nvar incorrectImportAlarm = function incorrectImportAlarm(element, index, children) {\n if (!isImportRule(element)) {\n return;\n }\n\n if (element.parent) {\n console.error(\"`@import` rules can't be nested inside other rules. Please move it to the top level and put it before regular rules. Keep in mind that they can only be used within global styles.\");\n nullifyElement(element);\n } else if (isPrependedWithRegularRules(index, children)) {\n console.error(\"`@import` rules can't be after other rules. Please put your `@import` rules before your other rules.\");\n nullifyElement(element);\n }\n};\n\nvar defaultStylisPlugins = [prefixer];\n\nvar createCache = function createCache(options) {\n var key = options.key;\n\n if (process.env.NODE_ENV !== 'production' && !key) {\n throw new Error(\"You have to configure `key` for your cache. Please make sure it's unique (and not equal to 'css') as it's used for linking styles to your cache.\\n\" + \"If multiple caches share the same key they might \\\"fight\\\" for each other's style elements.\");\n }\n\n if ( key === 'css') {\n var ssrStyles = document.querySelectorAll(\"style[data-emotion]:not([data-s])\"); // get SSRed styles out of the way of React's hydration\n // document.head is a safe place to move them to(though note document.head is not necessarily the last place they will be)\n // note this very very intentionally targets all style elements regardless of the key to ensure\n // that creating a cache works inside of render of a React component\n\n Array.prototype.forEach.call(ssrStyles, function (node) {\n // we want to only move elements which have a space in the data-emotion attribute value\n // because that indicates that it is an Emotion 11 server-side rendered style elements\n // while we will already ignore Emotion 11 client-side inserted styles because of the :not([data-s]) part in the selector\n // Emotion 10 client-side inserted styles did not have data-s (but importantly did not have a space in their data-emotion attributes)\n // so checking for the space ensures that loading Emotion 11 after Emotion 10 has inserted some styles\n // will not result in the Emotion 10 styles being destroyed\n var dataEmotionAttribute = node.getAttribute('data-emotion');\n\n if (dataEmotionAttribute.indexOf(' ') === -1) {\n return;\n }\n document.head.appendChild(node);\n node.setAttribute('data-s', '');\n });\n }\n\n var stylisPlugins = options.stylisPlugins || defaultStylisPlugins;\n\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe\n if (/[^a-z-]/.test(key)) {\n throw new Error(\"Emotion key must only contain lower case alphabetical characters and - but \\\"\" + key + \"\\\" was passed\");\n }\n }\n\n var inserted = {}; // $FlowFixMe\n\n var container;\n var nodesToHydrate = [];\n\n {\n container = options.container || document.head;\n Array.prototype.forEach.call( // this means we will ignore elements which don't have a space in them which\n // means that the style elements we're looking at are only Emotion 11 server-rendered style elements\n document.querySelectorAll(\"style[data-emotion^=\\\"\" + key + \" \\\"]\"), function (node) {\n var attrib = node.getAttribute(\"data-emotion\").split(' '); // $FlowFixMe\n\n for (var i = 1; i < attrib.length; i++) {\n inserted[attrib[i]] = true;\n }\n\n nodesToHydrate.push(node);\n });\n }\n\n var _insert;\n\n var omnipresentPlugins = [compat, removeLabel];\n\n if (process.env.NODE_ENV !== 'production') {\n omnipresentPlugins.push(createUnsafeSelectorsAlarm({\n get compat() {\n return cache.compat;\n }\n\n }), incorrectImportAlarm);\n }\n\n {\n var currentSheet;\n var finalizingPlugins = [stringify, process.env.NODE_ENV !== 'production' ? function (element) {\n if (!element.root) {\n if (element[\"return\"]) {\n currentSheet.insert(element[\"return\"]);\n } else if (element.value && element.type !== COMMENT) {\n // insert empty rule in non-production environments\n // so @emotion/jest can grab `key` from the (JS)DOM for caches without any rules inserted yet\n currentSheet.insert(element.value + \"{}\");\n }\n }\n } : rulesheet(function (rule) {\n currentSheet.insert(rule);\n })];\n var serializer = middleware(omnipresentPlugins.concat(stylisPlugins, finalizingPlugins));\n\n var stylis = function stylis(styles) {\n return serialize(compile(styles), serializer);\n };\n\n _insert = function insert(selector, serialized, sheet, shouldCache) {\n currentSheet = sheet;\n\n if (process.env.NODE_ENV !== 'production' && serialized.map !== undefined) {\n currentSheet = {\n insert: function insert(rule) {\n sheet.insert(rule + serialized.map);\n }\n };\n }\n\n stylis(selector ? selector + \"{\" + serialized.styles + \"}\" : serialized.styles);\n\n if (shouldCache) {\n cache.inserted[serialized.name] = true;\n }\n };\n }\n\n var cache = {\n key: key,\n sheet: new StyleSheet({\n key: key,\n container: container,\n nonce: options.nonce,\n speedy: options.speedy,\n prepend: options.prepend,\n insertionPoint: options.insertionPoint\n }),\n nonce: options.nonce,\n inserted: inserted,\n registered: {},\n insert: _insert\n };\n cache.sheet.hydrate(nodesToHydrate);\n return cache;\n};\n\nexport default createCache;\n","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","var isBrowser = \"object\" !== 'undefined';\nfunction getRegisteredStyles(registered, registeredStyles, classNames) {\n var rawClassName = '';\n classNames.split(' ').forEach(function (className) {\n if (registered[className] !== undefined) {\n registeredStyles.push(registered[className] + \";\");\n } else {\n rawClassName += className + \" \";\n }\n });\n return rawClassName;\n}\nvar registerStyles = function registerStyles(cache, serialized, isStringTag) {\n var className = cache.key + \"-\" + serialized.name;\n\n if ( // we only need to add the styles to the registered cache if the\n // class name could be used further down\n // the tree but if it's a string tag, we know it won't\n // so we don't have to add it to registered cache.\n // this improves memory usage since we can avoid storing the whole style string\n (isStringTag === false || // we need to always store it if we're in compat mode and\n // in node since emotion-server relies on whether a style is in\n // the registered cache to know whether a style is global or not\n // also, note that this check will be dead code eliminated in the browser\n isBrowser === false ) && cache.registered[className] === undefined) {\n cache.registered[className] = serialized.styles;\n }\n};\nvar insertStyles = function insertStyles(cache, serialized, isStringTag) {\n registerStyles(cache, serialized, isStringTag);\n var className = cache.key + \"-\" + serialized.name;\n\n if (cache.inserted[serialized.name] === undefined) {\n var current = serialized;\n\n do {\n cache.insert(serialized === current ? \".\" + className : '', current, cache.sheet, true);\n\n current = current.next;\n } while (current !== undefined);\n }\n};\n\nexport { getRegisteredStyles, insertStyles, registerStyles };\n","/* eslint-disable */\n// Inspired by https://github.com/garycourt/murmurhash-js\n// Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86\nfunction murmur2(str) {\n // 'm' and 'r' are mixing constants generated offline.\n // They're not really 'magic', they just happen to work well.\n // const m = 0x5bd1e995;\n // const r = 24;\n // Initialize the hash\n var h = 0; // Mix 4 bytes at a time into the hash\n\n var k,\n i = 0,\n len = str.length;\n\n for (; len >= 4; ++i, len -= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16);\n k ^=\n /* k >>> r: */\n k >>> 24;\n h =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16) ^\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Handle the last few bytes of the input array\n\n\n switch (len) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Do a few final mixes of the hash to ensure the last few\n // bytes are well-incorporated.\n\n\n h ^= h >>> 13;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n return ((h ^ h >>> 15) >>> 0).toString(36);\n}\n\nexport default murmur2;\n","var unitlessKeys = {\n animationIterationCount: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\nexport default unitlessKeys;\n","import hashString from '@emotion/hash';\nimport unitless from '@emotion/unitless';\nimport memoize from '@emotion/memoize';\n\nvar ILLEGAL_ESCAPE_SEQUENCE_ERROR = \"You have illegal escape sequence in your template literal, most likely inside content's property value.\\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \\\"content: '\\\\00d7';\\\" should become \\\"content: '\\\\\\\\00d7';\\\".\\nYou can read more about this here:\\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences\";\nvar UNDEFINED_AS_OBJECT_KEY_ERROR = \"You have passed in falsy value as style object's key (can happen when in example you pass unexported component as computed key).\";\nvar hyphenateRegex = /[A-Z]|^ms/g;\nvar animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g;\n\nvar isCustomProperty = function isCustomProperty(property) {\n return property.charCodeAt(1) === 45;\n};\n\nvar isProcessableValue = function isProcessableValue(value) {\n return value != null && typeof value !== 'boolean';\n};\n\nvar processStyleName = /* #__PURE__ */memoize(function (styleName) {\n return isCustomProperty(styleName) ? styleName : styleName.replace(hyphenateRegex, '-$&').toLowerCase();\n});\n\nvar processStyleValue = function processStyleValue(key, value) {\n switch (key) {\n case 'animation':\n case 'animationName':\n {\n if (typeof value === 'string') {\n return value.replace(animationRegex, function (match, p1, p2) {\n cursor = {\n name: p1,\n styles: p2,\n next: cursor\n };\n return p1;\n });\n }\n }\n }\n\n if (unitless[key] !== 1 && !isCustomProperty(key) && typeof value === 'number' && value !== 0) {\n return value + 'px';\n }\n\n return value;\n};\n\nif (process.env.NODE_ENV !== 'production') {\n var contentValuePattern = /(attr|counters?|url|(((repeating-)?(linear|radial))|conic)-gradient)\\(|(no-)?(open|close)-quote/;\n var contentValues = ['normal', 'none', 'initial', 'inherit', 'unset'];\n var oldProcessStyleValue = processStyleValue;\n var msPattern = /^-ms-/;\n var hyphenPattern = /-(.)/g;\n var hyphenatedCache = {};\n\n processStyleValue = function processStyleValue(key, value) {\n if (key === 'content') {\n if (typeof value !== 'string' || contentValues.indexOf(value) === -1 && !contentValuePattern.test(value) && (value.charAt(0) !== value.charAt(value.length - 1) || value.charAt(0) !== '\"' && value.charAt(0) !== \"'\")) {\n throw new Error(\"You seem to be using a value for 'content' without quotes, try replacing it with `content: '\\\"\" + value + \"\\\"'`\");\n }\n }\n\n var processed = oldProcessStyleValue(key, value);\n\n if (processed !== '' && !isCustomProperty(key) && key.indexOf('-') !== -1 && hyphenatedCache[key] === undefined) {\n hyphenatedCache[key] = true;\n console.error(\"Using kebab-case for css properties in objects is not supported. Did you mean \" + key.replace(msPattern, 'ms-').replace(hyphenPattern, function (str, _char) {\n return _char.toUpperCase();\n }) + \"?\");\n }\n\n return processed;\n };\n}\n\nfunction handleInterpolation(mergedProps, registered, interpolation) {\n if (interpolation == null) {\n return '';\n }\n\n if (interpolation.__emotion_styles !== undefined) {\n if (process.env.NODE_ENV !== 'production' && interpolation.toString() === 'NO_COMPONENT_SELECTOR') {\n throw new Error('Component selectors can only be used in conjunction with @emotion/babel-plugin.');\n }\n\n return interpolation;\n }\n\n switch (typeof interpolation) {\n case 'boolean':\n {\n return '';\n }\n\n case 'object':\n {\n if (interpolation.anim === 1) {\n cursor = {\n name: interpolation.name,\n styles: interpolation.styles,\n next: cursor\n };\n return interpolation.name;\n }\n\n if (interpolation.styles !== undefined) {\n var next = interpolation.next;\n\n if (next !== undefined) {\n // not the most efficient thing ever but this is a pretty rare case\n // and there will be very few iterations of this generally\n while (next !== undefined) {\n cursor = {\n name: next.name,\n styles: next.styles,\n next: cursor\n };\n next = next.next;\n }\n }\n\n var styles = interpolation.styles + \";\";\n\n if (process.env.NODE_ENV !== 'production' && interpolation.map !== undefined) {\n styles += interpolation.map;\n }\n\n return styles;\n }\n\n return createStringFromObject(mergedProps, registered, interpolation);\n }\n\n case 'function':\n {\n if (mergedProps !== undefined) {\n var previousCursor = cursor;\n var result = interpolation(mergedProps);\n cursor = previousCursor;\n return handleInterpolation(mergedProps, registered, result);\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('Functions that are interpolated in css calls will be stringified.\\n' + 'If you want to have a css call based on props, create a function that returns a css call like this\\n' + 'let dynamicStyle = (props) => css`color: ${props.color}`\\n' + 'It can be called directly with props or interpolated in a styled call like this\\n' + \"let SomeComponent = styled('div')`${dynamicStyle}`\");\n }\n\n break;\n }\n\n case 'string':\n if (process.env.NODE_ENV !== 'production') {\n var matched = [];\n var replaced = interpolation.replace(animationRegex, function (match, p1, p2) {\n var fakeVarName = \"animation\" + matched.length;\n matched.push(\"const \" + fakeVarName + \" = keyframes`\" + p2.replace(/^@keyframes animation-\\w+/, '') + \"`\");\n return \"${\" + fakeVarName + \"}\";\n });\n\n if (matched.length) {\n console.error('`keyframes` output got interpolated into plain string, please wrap it with `css`.\\n\\n' + 'Instead of doing this:\\n\\n' + [].concat(matched, [\"`\" + replaced + \"`\"]).join('\\n') + '\\n\\nYou should wrap it with `css` like this:\\n\\n' + (\"css`\" + replaced + \"`\"));\n }\n }\n\n break;\n } // finalize string values (regular strings and functions interpolated into css calls)\n\n\n if (registered == null) {\n return interpolation;\n }\n\n var cached = registered[interpolation];\n return cached !== undefined ? cached : interpolation;\n}\n\nfunction createStringFromObject(mergedProps, registered, obj) {\n var string = '';\n\n if (Array.isArray(obj)) {\n for (var i = 0; i < obj.length; i++) {\n string += handleInterpolation(mergedProps, registered, obj[i]) + \";\";\n }\n } else {\n for (var _key in obj) {\n var value = obj[_key];\n\n if (typeof value !== 'object') {\n if (registered != null && registered[value] !== undefined) {\n string += _key + \"{\" + registered[value] + \"}\";\n } else if (isProcessableValue(value)) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value) + \";\";\n }\n } else {\n if (_key === 'NO_COMPONENT_SELECTOR' && process.env.NODE_ENV !== 'production') {\n throw new Error('Component selectors can only be used in conjunction with @emotion/babel-plugin.');\n }\n\n if (Array.isArray(value) && typeof value[0] === 'string' && (registered == null || registered[value[0]] === undefined)) {\n for (var _i = 0; _i < value.length; _i++) {\n if (isProcessableValue(value[_i])) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value[_i]) + \";\";\n }\n }\n } else {\n var interpolated = handleInterpolation(mergedProps, registered, value);\n\n switch (_key) {\n case 'animation':\n case 'animationName':\n {\n string += processStyleName(_key) + \":\" + interpolated + \";\";\n break;\n }\n\n default:\n {\n if (process.env.NODE_ENV !== 'production' && _key === 'undefined') {\n console.error(UNDEFINED_AS_OBJECT_KEY_ERROR);\n }\n\n string += _key + \"{\" + interpolated + \"}\";\n }\n }\n }\n }\n }\n }\n\n return string;\n}\n\nvar labelPattern = /label:\\s*([^\\s;\\n{]+)\\s*(;|$)/g;\nvar sourceMapPattern;\n\nif (process.env.NODE_ENV !== 'production') {\n sourceMapPattern = /\\/\\*#\\ssourceMappingURL=data:application\\/json;\\S+\\s+\\*\\//g;\n} // this is the cursor for keyframes\n// keyframes are stored on the SerializedStyles object as a linked list\n\n\nvar cursor;\nvar serializeStyles = function serializeStyles(args, registered, mergedProps) {\n if (args.length === 1 && typeof args[0] === 'object' && args[0] !== null && args[0].styles !== undefined) {\n return args[0];\n }\n\n var stringMode = true;\n var styles = '';\n cursor = undefined;\n var strings = args[0];\n\n if (strings == null || strings.raw === undefined) {\n stringMode = false;\n styles += handleInterpolation(mergedProps, registered, strings);\n } else {\n if (process.env.NODE_ENV !== 'production' && strings[0] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles += strings[0];\n } // we start at 1 since we've already handled the first arg\n\n\n for (var i = 1; i < args.length; i++) {\n styles += handleInterpolation(mergedProps, registered, args[i]);\n\n if (stringMode) {\n if (process.env.NODE_ENV !== 'production' && strings[i] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles += strings[i];\n }\n }\n\n var sourceMap;\n\n if (process.env.NODE_ENV !== 'production') {\n styles = styles.replace(sourceMapPattern, function (match) {\n sourceMap = match;\n return '';\n });\n } // using a global regex with .exec is stateful so lastIndex has to be reset each time\n\n\n labelPattern.lastIndex = 0;\n var identifierName = '';\n var match; // https://esbench.com/bench/5b809c2cf2949800a0f61fb5\n\n while ((match = labelPattern.exec(styles)) !== null) {\n identifierName += '-' + // $FlowFixMe we know it's not null\n match[1];\n }\n\n var name = hashString(styles) + identifierName;\n\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe SerializedStyles type doesn't have toString property (and we don't want to add it)\n return {\n name: name,\n styles: styles,\n map: sourceMap,\n next: cursor,\n toString: function toString() {\n return \"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).\";\n }\n };\n }\n\n return {\n name: name,\n styles: styles,\n next: cursor\n };\n};\n\nexport { serializeStyles };\n","import { createContext, useContext, forwardRef, createElement, Fragment } from 'react';\nimport createCache from '@emotion/cache';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport weakMemoize from '@emotion/weak-memoize';\nimport hoistNonReactStatics from '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport { getRegisteredStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\n\nvar hasOwnProperty = {}.hasOwnProperty;\n\nvar EmotionCacheContext = /* #__PURE__ */createContext( // we're doing this to avoid preconstruct's dead code elimination in this one case\n// because this module is primarily intended for the browser and node\n// but it's also required in react native and similar environments sometimes\n// and we could have a special build just for that\n// but this is much easier and the native packages\n// might use a different theme context in the future anyway\ntypeof HTMLElement !== 'undefined' ? /* #__PURE__ */createCache({\n key: 'css'\n}) : null);\n\nif (process.env.NODE_ENV !== 'production') {\n EmotionCacheContext.displayName = 'EmotionCacheContext';\n}\n\nvar CacheProvider = EmotionCacheContext.Provider;\nvar __unsafe_useEmotionCache = function useEmotionCache() {\n return useContext(EmotionCacheContext);\n};\n\nvar withEmotionCache = function withEmotionCache(func) {\n // $FlowFixMe\n return /*#__PURE__*/forwardRef(function (props, ref) {\n // the cache will never be null in the browser\n var cache = useContext(EmotionCacheContext);\n return func(props, cache, ref);\n });\n};\n\nvar ThemeContext = /* #__PURE__ */createContext({});\n\nif (process.env.NODE_ENV !== 'production') {\n ThemeContext.displayName = 'EmotionThemeContext';\n}\n\nvar useTheme = function useTheme() {\n return useContext(ThemeContext);\n};\n\nvar getTheme = function getTheme(outerTheme, theme) {\n if (typeof theme === 'function') {\n var mergedTheme = theme(outerTheme);\n\n if (process.env.NODE_ENV !== 'production' && (mergedTheme == null || typeof mergedTheme !== 'object' || Array.isArray(mergedTheme))) {\n throw new Error('[ThemeProvider] Please return an object from your theme function, i.e. theme={() => ({})}!');\n }\n\n return mergedTheme;\n }\n\n if (process.env.NODE_ENV !== 'production' && (theme == null || typeof theme !== 'object' || Array.isArray(theme))) {\n throw new Error('[ThemeProvider] Please make your theme prop a plain object');\n }\n\n return _extends({}, outerTheme, theme);\n};\n\nvar createCacheWithTheme = /* #__PURE__ */weakMemoize(function (outerTheme) {\n return weakMemoize(function (theme) {\n return getTheme(outerTheme, theme);\n });\n});\nvar ThemeProvider = function ThemeProvider(props) {\n var theme = useContext(ThemeContext);\n\n if (props.theme !== theme) {\n theme = createCacheWithTheme(theme)(props.theme);\n }\n\n return /*#__PURE__*/createElement(ThemeContext.Provider, {\n value: theme\n }, props.children);\n};\nfunction withTheme(Component) {\n var componentName = Component.displayName || Component.name || 'Component';\n\n var render = function render(props, ref) {\n var theme = useContext(ThemeContext);\n return /*#__PURE__*/createElement(Component, _extends({\n theme: theme,\n ref: ref\n }, props));\n }; // $FlowFixMe\n\n\n var WithTheme = /*#__PURE__*/forwardRef(render);\n WithTheme.displayName = \"WithTheme(\" + componentName + \")\";\n return hoistNonReactStatics(WithTheme, Component);\n}\n\nvar getFunctionNameFromStackTraceLine = function getFunctionNameFromStackTraceLine(line) {\n // V8\n var match = /^\\s+at\\s+([A-Za-z0-9$.]+)\\s/.exec(line);\n\n if (match) {\n // The match may be something like 'Object.createEmotionProps'\n var parts = match[1].split('.');\n return parts[parts.length - 1];\n } // Safari / Firefox\n\n\n match = /^([A-Za-z0-9$.]+)@/.exec(line);\n if (match) return match[1];\n return undefined;\n};\n\nvar internalReactFunctionNames = /* #__PURE__ */new Set(['renderWithHooks', 'processChild', 'finishClassComponent', 'renderToString']); // These identifiers come from error stacks, so they have to be valid JS\n// identifiers, thus we only need to replace what is a valid character for JS,\n// but not for CSS.\n\nvar sanitizeIdentifier = function sanitizeIdentifier(identifier) {\n return identifier.replace(/\\$/g, '-');\n};\n\nvar getLabelFromStackTrace = function getLabelFromStackTrace(stackTrace) {\n if (!stackTrace) return undefined;\n var lines = stackTrace.split('\\n');\n\n for (var i = 0; i < lines.length; i++) {\n var functionName = getFunctionNameFromStackTraceLine(lines[i]); // The first line of V8 stack traces is just \"Error\"\n\n if (!functionName) continue; // If we reach one of these, we have gone too far and should quit\n\n if (internalReactFunctionNames.has(functionName)) break; // The component name is the first function in the stack that starts with an\n // uppercase letter\n\n if (/^[A-Z]/.test(functionName)) return sanitizeIdentifier(functionName);\n }\n\n return undefined;\n};\n\nvar typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__';\nvar labelPropName = '__EMOTION_LABEL_PLEASE_DO_NOT_USE__';\nvar createEmotionProps = function createEmotionProps(type, props) {\n if (process.env.NODE_ENV !== 'production' && typeof props.css === 'string' && // check if there is a css declaration\n props.css.indexOf(':') !== -1) {\n throw new Error(\"Strings are not allowed as css prop values, please wrap it in a css template literal from '@emotion/react' like this: css`\" + props.css + \"`\");\n }\n\n var newProps = {};\n\n for (var key in props) {\n if (hasOwnProperty.call(props, key)) {\n newProps[key] = props[key];\n }\n }\n\n newProps[typePropName] = type; // For performance, only call getLabelFromStackTrace in development and when\n // the label hasn't already been computed\n\n if (process.env.NODE_ENV !== 'production' && !!props.css && (typeof props.css !== 'object' || typeof props.css.name !== 'string' || props.css.name.indexOf('-') === -1)) {\n var label = getLabelFromStackTrace(new Error().stack);\n if (label) newProps[labelPropName] = label;\n }\n\n return newProps;\n};\n\nvar Noop = function Noop() {\n return null;\n};\n\nvar Emotion = /* #__PURE__ */withEmotionCache(function (props, cache, ref) {\n var cssProp = props.css; // so that using `css` from `emotion` and passing the result to the css prop works\n // not passing the registered cache to serializeStyles because it would\n // make certain babel optimisations not possible\n\n if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) {\n cssProp = cache.registered[cssProp];\n }\n\n var type = props[typePropName];\n var registeredStyles = [cssProp];\n var className = '';\n\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(cache.registered, registeredStyles, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = serializeStyles(registeredStyles, undefined, useContext(ThemeContext));\n\n if (process.env.NODE_ENV !== 'production' && serialized.name.indexOf('-') === -1) {\n var labelFromStack = props[labelPropName];\n\n if (labelFromStack) {\n serialized = serializeStyles([serialized, 'label:' + labelFromStack + ';']);\n }\n }\n\n var rules = insertStyles(cache, serialized, typeof type === 'string');\n className += cache.key + \"-\" + serialized.name;\n var newProps = {};\n\n for (var key in props) {\n if (hasOwnProperty.call(props, key) && key !== 'css' && key !== typePropName && (process.env.NODE_ENV === 'production' || key !== labelPropName)) {\n newProps[key] = props[key];\n }\n }\n\n newProps.ref = ref;\n newProps.className = className;\n var ele = /*#__PURE__*/createElement(type, newProps);\n var possiblyStyleElement = /*#__PURE__*/createElement(Noop, null);\n\n\n return /*#__PURE__*/createElement(Fragment, null, possiblyStyleElement, ele);\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Emotion.displayName = 'EmotionCssPropInternal';\n}\n\nexport { CacheProvider as C, Emotion as E, ThemeContext as T, __unsafe_useEmotionCache as _, ThemeProvider as a, withTheme as b, createEmotionProps as c, hasOwnProperty as h, useTheme as u, withEmotionCache as w };\n","import { createElement, useContext, useRef, useLayoutEffect, Fragment } from 'react';\nimport '@emotion/cache';\nimport { h as hasOwnProperty, E as Emotion, c as createEmotionProps, w as withEmotionCache, T as ThemeContext } from './emotion-element-699e6908.browser.esm.js';\nexport { C as CacheProvider, T as ThemeContext, a as ThemeProvider, _ as __unsafe_useEmotionCache, u as useTheme, w as withEmotionCache, b as withTheme } from './emotion-element-699e6908.browser.esm.js';\nimport '@babel/runtime/helpers/extends';\nimport '@emotion/weak-memoize';\nimport 'hoist-non-react-statics';\nimport '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport { insertStyles, getRegisteredStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { StyleSheet } from '@emotion/sheet';\n\nvar pkg = {\n\tname: \"@emotion/react\",\n\tversion: \"11.7.1\",\n\tmain: \"dist/emotion-react.cjs.js\",\n\tmodule: \"dist/emotion-react.esm.js\",\n\tbrowser: {\n\t\t\"./dist/emotion-react.cjs.js\": \"./dist/emotion-react.browser.cjs.js\",\n\t\t\"./dist/emotion-react.esm.js\": \"./dist/emotion-react.browser.esm.js\"\n\t},\n\ttypes: \"types/index.d.ts\",\n\tfiles: [\n\t\t\"src\",\n\t\t\"dist\",\n\t\t\"jsx-runtime\",\n\t\t\"jsx-dev-runtime\",\n\t\t\"_isolated-hnrs\",\n\t\t\"types/*.d.ts\",\n\t\t\"macro.js\",\n\t\t\"macro.d.ts\",\n\t\t\"macro.js.flow\"\n\t],\n\tsideEffects: false,\n\tauthor: \"mitchellhamilton <mitchell@mitchellhamilton.me>\",\n\tlicense: \"MIT\",\n\tscripts: {\n\t\t\"test:typescript\": \"dtslint types\"\n\t},\n\tdependencies: {\n\t\t\"@babel/runtime\": \"^7.13.10\",\n\t\t\"@emotion/cache\": \"^11.7.1\",\n\t\t\"@emotion/serialize\": \"^1.0.2\",\n\t\t\"@emotion/sheet\": \"^1.1.0\",\n\t\t\"@emotion/utils\": \"^1.0.0\",\n\t\t\"@emotion/weak-memoize\": \"^0.2.5\",\n\t\t\"hoist-non-react-statics\": \"^3.3.1\"\n\t},\n\tpeerDependencies: {\n\t\t\"@babel/core\": \"^7.0.0\",\n\t\treact: \">=16.8.0\"\n\t},\n\tpeerDependenciesMeta: {\n\t\t\"@babel/core\": {\n\t\t\toptional: true\n\t\t},\n\t\t\"@types/react\": {\n\t\t\toptional: true\n\t\t}\n\t},\n\tdevDependencies: {\n\t\t\"@babel/core\": \"^7.13.10\",\n\t\t\"@emotion/css\": \"11.7.1\",\n\t\t\"@emotion/css-prettifier\": \"1.0.1\",\n\t\t\"@emotion/server\": \"11.4.0\",\n\t\t\"@emotion/styled\": \"11.6.0\",\n\t\t\"@types/react\": \"^16.9.11\",\n\t\tdtslint: \"^0.3.0\",\n\t\t\"html-tag-names\": \"^1.1.2\",\n\t\treact: \"16.14.0\",\n\t\t\"svg-tag-names\": \"^1.1.1\"\n\t},\n\trepository: \"https://github.com/emotion-js/emotion/tree/main/packages/react\",\n\tpublishConfig: {\n\t\taccess: \"public\"\n\t},\n\t\"umd:main\": \"dist/emotion-react.umd.min.js\",\n\tpreconstruct: {\n\t\tentrypoints: [\n\t\t\t\"./index.js\",\n\t\t\t\"./jsx-runtime.js\",\n\t\t\t\"./jsx-dev-runtime.js\",\n\t\t\t\"./_isolated-hnrs.js\"\n\t\t],\n\t\tumdName: \"emotionReact\"\n\t}\n};\n\nvar jsx = function jsx(type, props) {\n var args = arguments;\n\n if (props == null || !hasOwnProperty.call(props, 'css')) {\n // $FlowFixMe\n return createElement.apply(undefined, args);\n }\n\n var argsLength = args.length;\n var createElementArgArray = new Array(argsLength);\n createElementArgArray[0] = Emotion;\n createElementArgArray[1] = createEmotionProps(type, props);\n\n for (var i = 2; i < argsLength; i++) {\n createElementArgArray[i] = args[i];\n } // $FlowFixMe\n\n\n return createElement.apply(null, createElementArgArray);\n};\n\nvar warnedAboutCssPropForGlobal = false; // maintain place over rerenders.\n// initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild\n// initial client-side render from SSR, use place of hydrating tag\n\nvar Global = /* #__PURE__ */withEmotionCache(function (props, cache) {\n if (process.env.NODE_ENV !== 'production' && !warnedAboutCssPropForGlobal && ( // check for className as well since the user is\n // probably using the custom createElement which\n // means it will be turned into a className prop\n // $FlowFixMe I don't really want to add it to the type since it shouldn't be used\n props.className || props.css)) {\n console.error(\"It looks like you're using the css prop on Global, did you mean to use the styles prop instead?\");\n warnedAboutCssPropForGlobal = true;\n }\n\n var styles = props.styles;\n var serialized = serializeStyles([styles], undefined, useContext(ThemeContext));\n // but it is based on a constant that will never change at runtime\n // it's effectively like having two implementations and switching them out\n // so it's not actually breaking anything\n\n\n var sheetRef = useRef();\n useLayoutEffect(function () {\n var key = cache.key + \"-global\";\n var sheet = new StyleSheet({\n key: key,\n nonce: cache.sheet.nonce,\n container: cache.sheet.container,\n speedy: cache.sheet.isSpeedy\n });\n var rehydrating = false; // $FlowFixMe\n\n var node = document.querySelector(\"style[data-emotion=\\\"\" + key + \" \" + serialized.name + \"\\\"]\");\n\n if (cache.sheet.tags.length) {\n sheet.before = cache.sheet.tags[0];\n }\n\n if (node !== null) {\n rehydrating = true; // clear the hash so this node won't be recognizable as rehydratable by other <Global/>s\n\n node.setAttribute('data-emotion', key);\n sheet.hydrate([node]);\n }\n\n sheetRef.current = [sheet, rehydrating];\n return function () {\n sheet.flush();\n };\n }, [cache]);\n useLayoutEffect(function () {\n var sheetRefCurrent = sheetRef.current;\n var sheet = sheetRefCurrent[0],\n rehydrating = sheetRefCurrent[1];\n\n if (rehydrating) {\n sheetRefCurrent[1] = false;\n return;\n }\n\n if (serialized.next !== undefined) {\n // insert keyframes\n insertStyles(cache, serialized.next, true);\n }\n\n if (sheet.tags.length) {\n // if this doesn't exist then it will be null so the style element will be appended\n var element = sheet.tags[sheet.tags.length - 1].nextElementSibling;\n sheet.before = element;\n sheet.flush();\n }\n\n cache.insert(\"\", serialized, sheet, false);\n }, [cache, serialized.name]);\n return null;\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Global.displayName = 'EmotionGlobal';\n}\n\nfunction css() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return serializeStyles(args);\n}\n\nvar keyframes = function keyframes() {\n var insertable = css.apply(void 0, arguments);\n var name = \"animation-\" + insertable.name; // $FlowFixMe\n\n return {\n name: name,\n styles: \"@keyframes \" + name + \"{\" + insertable.styles + \"}\",\n anim: 1,\n toString: function toString() {\n return \"_EMO_\" + this.name + \"_\" + this.styles + \"_EMO_\";\n }\n };\n};\n\nvar classnames = function classnames(args) {\n var len = args.length;\n var i = 0;\n var cls = '';\n\n for (; i < len; i++) {\n var arg = args[i];\n if (arg == null) continue;\n var toAdd = void 0;\n\n switch (typeof arg) {\n case 'boolean':\n break;\n\n case 'object':\n {\n if (Array.isArray(arg)) {\n toAdd = classnames(arg);\n } else {\n if (process.env.NODE_ENV !== 'production' && arg.styles !== undefined && arg.name !== undefined) {\n console.error('You have passed styles created with `css` from `@emotion/react` package to the `cx`.\\n' + '`cx` is meant to compose class names (strings) so you should convert those styles to a class name by passing them to the `css` received from <ClassNames/> component.');\n }\n\n toAdd = '';\n\n for (var k in arg) {\n if (arg[k] && k) {\n toAdd && (toAdd += ' ');\n toAdd += k;\n }\n }\n }\n\n break;\n }\n\n default:\n {\n toAdd = arg;\n }\n }\n\n if (toAdd) {\n cls && (cls += ' ');\n cls += toAdd;\n }\n }\n\n return cls;\n};\n\nfunction merge(registered, css, className) {\n var registeredStyles = [];\n var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n if (registeredStyles.length < 2) {\n return className;\n }\n\n return rawClassName + css(registeredStyles);\n}\n\nvar Noop = function Noop() {\n return null;\n};\n\nvar ClassNames = /* #__PURE__ */withEmotionCache(function (props, cache) {\n var hasRendered = false;\n\n var css = function css() {\n if (hasRendered && process.env.NODE_ENV !== 'production') {\n throw new Error('css can only be used during render');\n }\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var serialized = serializeStyles(args, cache.registered);\n\n {\n insertStyles(cache, serialized, false);\n }\n\n return cache.key + \"-\" + serialized.name;\n };\n\n var cx = function cx() {\n if (hasRendered && process.env.NODE_ENV !== 'production') {\n throw new Error('cx can only be used during render');\n }\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return merge(cache.registered, css, classnames(args));\n };\n\n var content = {\n css: css,\n cx: cx,\n theme: useContext(ThemeContext)\n };\n var ele = props.children(content);\n hasRendered = true;\n var possiblyStyleElement = /*#__PURE__*/createElement(Noop, null);\n\n\n return /*#__PURE__*/createElement(Fragment, null, possiblyStyleElement, ele);\n});\n\nif (process.env.NODE_ENV !== 'production') {\n ClassNames.displayName = 'EmotionClassNames';\n}\n\nif (process.env.NODE_ENV !== 'production') {\n var isBrowser = \"object\" !== 'undefined'; // #1727 for some reason Jest evaluates modules twice if some consuming module gets mocked with jest.mock\n\n var isJest = typeof jest !== 'undefined';\n\n if (isBrowser && !isJest) {\n // globalThis has wide browser support - https://caniuse.com/?search=globalThis, Node.js 12 and later\n var globalContext = // $FlowIgnore\n typeof globalThis !== 'undefined' ? globalThis // eslint-disable-line no-undef\n : isBrowser ? window : global;\n var globalKey = \"__EMOTION_REACT_\" + pkg.version.split('.')[0] + \"__\";\n\n if (globalContext[globalKey]) {\n console.warn('You are loading @emotion/react when it is already loaded. Running ' + 'multiple instances may cause problems. This can happen if multiple ' + 'versions are used, or if multiple builds of the same version are ' + 'used.');\n }\n\n globalContext[globalKey] = true;\n }\n}\n\nexport { ClassNames, Global, jsx as createElement, css, jsx, keyframes };\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport { useContext, createElement, Fragment } from 'react';\nimport isPropValid from '@emotion/is-prop-valid';\nimport { withEmotionCache, ThemeContext } from '@emotion/react';\nimport { getRegisteredStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\n\nvar testOmitPropsOnStringTag = isPropValid;\n\nvar testOmitPropsOnComponent = function testOmitPropsOnComponent(key) {\n return key !== 'theme';\n};\n\nvar getDefaultShouldForwardProp = function getDefaultShouldForwardProp(tag) {\n return typeof tag === 'string' && // 96 is one less than the char code\n // for \"a\" so this is checking that\n // it's a lowercase character\n tag.charCodeAt(0) > 96 ? testOmitPropsOnStringTag : testOmitPropsOnComponent;\n};\nvar composeShouldForwardProps = function composeShouldForwardProps(tag, options, isReal) {\n var shouldForwardProp;\n\n if (options) {\n var optionsShouldForwardProp = options.shouldForwardProp;\n shouldForwardProp = tag.__emotion_forwardProp && optionsShouldForwardProp ? function (propName) {\n return tag.__emotion_forwardProp(propName) && optionsShouldForwardProp(propName);\n } : optionsShouldForwardProp;\n }\n\n if (typeof shouldForwardProp !== 'function' && isReal) {\n shouldForwardProp = tag.__emotion_forwardProp;\n }\n\n return shouldForwardProp;\n};\n\nvar ILLEGAL_ESCAPE_SEQUENCE_ERROR = \"You have illegal escape sequence in your template literal, most likely inside content's property value.\\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \\\"content: '\\\\00d7';\\\" should become \\\"content: '\\\\\\\\00d7';\\\".\\nYou can read more about this here:\\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences\";\n\nvar Noop = function Noop() {\n return null;\n};\n\nvar createStyled = function createStyled(tag, options) {\n if (process.env.NODE_ENV !== 'production') {\n if (tag === undefined) {\n throw new Error('You are trying to create a styled element with an undefined component.\\nYou may have forgotten to import it.');\n }\n }\n\n var isReal = tag.__emotion_real === tag;\n var baseTag = isReal && tag.__emotion_base || tag;\n var identifierName;\n var targetClassName;\n\n if (options !== undefined) {\n identifierName = options.label;\n targetClassName = options.target;\n }\n\n var shouldForwardProp = composeShouldForwardProps(tag, options, isReal);\n var defaultShouldForwardProp = shouldForwardProp || getDefaultShouldForwardProp(baseTag);\n var shouldUseAs = !defaultShouldForwardProp('as');\n return function () {\n var args = arguments;\n var styles = isReal && tag.__emotion_styles !== undefined ? tag.__emotion_styles.slice(0) : [];\n\n if (identifierName !== undefined) {\n styles.push(\"label:\" + identifierName + \";\");\n }\n\n if (args[0] == null || args[0].raw === undefined) {\n styles.push.apply(styles, args);\n } else {\n if (process.env.NODE_ENV !== 'production' && args[0][0] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles.push(args[0][0]);\n var len = args.length;\n var i = 1;\n\n for (; i < len; i++) {\n if (process.env.NODE_ENV !== 'production' && args[0][i] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles.push(args[i], args[0][i]);\n }\n } // $FlowFixMe: we need to cast StatelessFunctionalComponent to our PrivateStyledComponent class\n\n\n var Styled = withEmotionCache(function (props, cache, ref) {\n var finalTag = shouldUseAs && props.as || baseTag;\n var className = '';\n var classInterpolations = [];\n var mergedProps = props;\n\n if (props.theme == null) {\n mergedProps = {};\n\n for (var key in props) {\n mergedProps[key] = props[key];\n }\n\n mergedProps.theme = useContext(ThemeContext);\n }\n\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(cache.registered, classInterpolations, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = serializeStyles(styles.concat(classInterpolations), cache.registered, mergedProps);\n var rules = insertStyles(cache, serialized, typeof finalTag === 'string');\n className += cache.key + \"-\" + serialized.name;\n\n if (targetClassName !== undefined) {\n className += \" \" + targetClassName;\n }\n\n var finalShouldForwardProp = shouldUseAs && shouldForwardProp === undefined ? getDefaultShouldForwardProp(finalTag) : defaultShouldForwardProp;\n var newProps = {};\n\n for (var _key in props) {\n if (shouldUseAs && _key === 'as') continue;\n\n if ( // $FlowFixMe\n finalShouldForwardProp(_key)) {\n newProps[_key] = props[_key];\n }\n }\n\n newProps.className = className;\n newProps.ref = ref;\n var ele = /*#__PURE__*/createElement(finalTag, newProps);\n var possiblyStyleElement = /*#__PURE__*/createElement(Noop, null);\n\n\n return /*#__PURE__*/createElement(Fragment, null, possiblyStyleElement, ele);\n });\n Styled.displayName = identifierName !== undefined ? identifierName : \"Styled(\" + (typeof baseTag === 'string' ? baseTag : baseTag.displayName || baseTag.name || 'Component') + \")\";\n Styled.defaultProps = tag.defaultProps;\n Styled.__emotion_real = Styled;\n Styled.__emotion_base = baseTag;\n Styled.__emotion_styles = styles;\n Styled.__emotion_forwardProp = shouldForwardProp;\n Object.defineProperty(Styled, 'toString', {\n value: function value() {\n if (targetClassName === undefined && process.env.NODE_ENV !== 'production') {\n return 'NO_COMPONENT_SELECTOR';\n } // $FlowFixMe: coerce undefined to string\n\n\n return \".\" + targetClassName;\n }\n });\n\n Styled.withComponent = function (nextTag, nextOptions) {\n return createStyled(nextTag, _extends({}, options, nextOptions, {\n shouldForwardProp: composeShouldForwardProps(Styled, nextOptions, true)\n })).apply(void 0, styles);\n };\n\n return Styled;\n };\n};\n\nexport default createStyled;\n","import '@babel/runtime/helpers/extends';\nimport 'react';\nimport '@emotion/is-prop-valid';\nimport createStyled from '../base/dist/emotion-styled-base.browser.esm.js';\nimport '@emotion/react';\nimport '@emotion/utils';\nimport '@emotion/serialize';\n\nvar tags = ['a', 'abbr', 'address', 'area', 'article', 'aside', 'audio', 'b', 'base', 'bdi', 'bdo', 'big', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'cite', 'code', 'col', 'colgroup', 'data', 'datalist', 'dd', 'del', 'details', 'dfn', 'dialog', 'div', 'dl', 'dt', 'em', 'embed', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'iframe', 'img', 'input', 'ins', 'kbd', 'keygen', 'label', 'legend', 'li', 'link', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meta', 'meter', 'nav', 'noscript', 'object', 'ol', 'optgroup', 'option', 'output', 'p', 'param', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'script', 'section', 'select', 'small', 'source', 'span', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'textarea', 'tfoot', 'th', 'thead', 'time', 'title', 'tr', 'track', 'u', 'ul', 'var', 'video', 'wbr', // SVG\n'circle', 'clipPath', 'defs', 'ellipse', 'foreignObject', 'g', 'image', 'line', 'linearGradient', 'mask', 'path', 'pattern', 'polygon', 'polyline', 'radialGradient', 'rect', 'stop', 'svg', 'text', 'tspan'];\n\nvar newStyled = createStyled.bind();\ntags.forEach(function (tagName) {\n // $FlowFixMe: we can ignore this because its exposed type is defined by the CreateStyled type\n newStyled[tagName] = newStyled(tagName);\n});\n\nexport default newStyled;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","export var MS = '-ms-'\nexport var MOZ = '-moz-'\nexport var WEBKIT = '-webkit-'\n\nexport var COMMENT = 'comm'\nexport var RULESET = 'rule'\nexport var DECLARATION = 'decl'\n\nexport var PAGE = '@page'\nexport var MEDIA = '@media'\nexport var IMPORT = '@import'\nexport var CHARSET = '@charset'\nexport var VIEWPORT = '@viewport'\nexport var SUPPORTS = '@supports'\nexport var DOCUMENT = '@document'\nexport var NAMESPACE = '@namespace'\nexport var KEYFRAMES = '@keyframes'\nexport var FONT_FACE = '@font-face'\nexport var COUNTER_STYLE = '@counter-style'\nexport var FONT_FEATURE_VALUES = '@font-feature-values'\nexport var LAYER = '@layer'\n","/**\n * @param {number}\n * @return {number}\n */\nexport var abs = Math.abs\n\n/**\n * @param {number}\n * @return {string}\n */\nexport var from = String.fromCharCode\n\n/**\n * @param {object}\n * @return {object}\n */\nexport var assign = Object.assign\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {number}\n */\nexport function hash (value, length) {\n\treturn charat(value, 0) ^ 45 ? (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3) : 0\n}\n\n/**\n * @param {string} value\n * @return {string}\n */\nexport function trim (value) {\n\treturn value.trim()\n}\n\n/**\n * @param {string} value\n * @param {RegExp} pattern\n * @return {string?}\n */\nexport function match (value, pattern) {\n\treturn (value = pattern.exec(value)) ? value[0] : value\n}\n\n/**\n * @param {string} value\n * @param {(string|RegExp)} pattern\n * @param {string} replacement\n * @return {string}\n */\nexport function replace (value, pattern, replacement) {\n\treturn value.replace(pattern, replacement)\n}\n\n/**\n * @param {string} value\n * @param {string} search\n * @return {number}\n */\nexport function indexof (value, search) {\n\treturn value.indexOf(search)\n}\n\n/**\n * @param {string} value\n * @param {number} index\n * @return {number}\n */\nexport function charat (value, index) {\n\treturn value.charCodeAt(index) | 0\n}\n\n/**\n * @param {string} value\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function substr (value, begin, end) {\n\treturn value.slice(begin, end)\n}\n\n/**\n * @param {string} value\n * @return {number}\n */\nexport function strlen (value) {\n\treturn value.length\n}\n\n/**\n * @param {any[]} value\n * @return {number}\n */\nexport function sizeof (value) {\n\treturn value.length\n}\n\n/**\n * @param {any} value\n * @param {any[]} array\n * @return {any}\n */\nexport function append (value, array) {\n\treturn array.push(value), value\n}\n\n/**\n * @param {string[]} array\n * @param {function} callback\n * @return {string}\n */\nexport function combine (array, callback) {\n\treturn array.map(callback).join('')\n}\n","import {from, trim, charat, strlen, substr, append, assign} from './Utility.js'\n\nexport var line = 1\nexport var column = 1\nexport var length = 0\nexport var position = 0\nexport var character = 0\nexport var characters = ''\n\n/**\n * @param {string} value\n * @param {object | null} root\n * @param {object | null} parent\n * @param {string} type\n * @param {string[] | string} props\n * @param {object[] | string} children\n * @param {number} length\n */\nexport function node (value, root, parent, type, props, children, length) {\n\treturn {value: value, root: root, parent: parent, type: type, props: props, children: children, line: line, column: column, length: length, return: ''}\n}\n\n/**\n * @param {object} root\n * @param {object} props\n * @return {object}\n */\nexport function copy (root, props) {\n\treturn assign(node('', null, null, '', null, null, 0), root, {length: -root.length}, props)\n}\n\n/**\n * @return {number}\n */\nexport function char () {\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function prev () {\n\tcharacter = position > 0 ? charat(characters, --position) : 0\n\n\tif (column--, character === 10)\n\t\tcolumn = 1, line--\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function next () {\n\tcharacter = position < length ? charat(characters, position++) : 0\n\n\tif (column++, character === 10)\n\t\tcolumn = 1, line++\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function peek () {\n\treturn charat(characters, position)\n}\n\n/**\n * @return {number}\n */\nexport function caret () {\n\treturn position\n}\n\n/**\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function slice (begin, end) {\n\treturn substr(characters, begin, end)\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function token (type) {\n\tswitch (type) {\n\t\t// \\0 \\t \\n \\r \\s whitespace token\n\t\tcase 0: case 9: case 10: case 13: case 32:\n\t\t\treturn 5\n\t\t// ! + , / > @ ~ isolate token\n\t\tcase 33: case 43: case 44: case 47: case 62: case 64: case 126:\n\t\t// ; { } breakpoint token\n\t\tcase 59: case 123: case 125:\n\t\t\treturn 4\n\t\t// : accompanied token\n\t\tcase 58:\n\t\t\treturn 3\n\t\t// \" ' ( [ opening delimit token\n\t\tcase 34: case 39: case 40: case 91:\n\t\t\treturn 2\n\t\t// ) ] closing delimit token\n\t\tcase 41: case 93:\n\t\t\treturn 1\n\t}\n\n\treturn 0\n}\n\n/**\n * @param {string} value\n * @return {any[]}\n */\nexport function alloc (value) {\n\treturn line = column = 1, length = strlen(characters = value), position = 0, []\n}\n\n/**\n * @param {any} value\n * @return {any}\n */\nexport function dealloc (value) {\n\treturn characters = '', value\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function delimit (type) {\n\treturn trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)))\n}\n\n/**\n * @param {string} value\n * @return {string[]}\n */\nexport function tokenize (value) {\n\treturn dealloc(tokenizer(alloc(value)))\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function whitespace (type) {\n\twhile (character = peek())\n\t\tif (character < 33)\n\t\t\tnext()\n\t\telse\n\t\t\tbreak\n\n\treturn token(type) > 2 || token(character) > 3 ? '' : ' '\n}\n\n/**\n * @param {string[]} children\n * @return {string[]}\n */\nexport function tokenizer (children) {\n\twhile (next())\n\t\tswitch (token(character)) {\n\t\t\tcase 0: append(identifier(position - 1), children)\n\t\t\t\tbreak\n\t\t\tcase 2: append(delimit(character), children)\n\t\t\t\tbreak\n\t\t\tdefault: append(from(character), children)\n\t\t}\n\n\treturn children\n}\n\n/**\n * @param {number} index\n * @param {number} count\n * @return {string}\n */\nexport function escaping (index, count) {\n\twhile (--count && next())\n\t\t// not 0-9 A-F a-f\n\t\tif (character < 48 || character > 102 || (character > 57 && character < 65) || (character > 70 && character < 97))\n\t\t\tbreak\n\n\treturn slice(index, caret() + (count < 6 && peek() == 32 && next() == 32))\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function delimiter (type) {\n\twhile (next())\n\t\tswitch (character) {\n\t\t\t// ] ) \" '\n\t\t\tcase type:\n\t\t\t\treturn position\n\t\t\t// \" '\n\t\t\tcase 34: case 39:\n\t\t\t\tif (type !== 34 && type !== 39)\n\t\t\t\t\tdelimiter(character)\n\t\t\t\tbreak\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (type === 41)\n\t\t\t\t\tdelimiter(type)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tnext()\n\t\t\t\tbreak\n\t\t}\n\n\treturn position\n}\n\n/**\n * @param {number} type\n * @param {number} index\n * @return {number}\n */\nexport function commenter (type, index) {\n\twhile (next())\n\t\t// //\n\t\tif (type + character === 47 + 10)\n\t\t\tbreak\n\t\t// /*\n\t\telse if (type + character === 42 + 42 && peek() === 47)\n\t\t\tbreak\n\n\treturn '/*' + slice(index, position - 1) + '*' + from(type === 47 ? type : next())\n}\n\n/**\n * @param {number} index\n * @return {string}\n */\nexport function identifier (index) {\n\twhile (!token(peek()))\n\t\tnext()\n\n\treturn slice(index, position)\n}\n","import {COMMENT, RULESET, DECLARATION} from './Enum.js'\nimport {abs, charat, trim, from, sizeof, strlen, substr, append, replace, indexof} from './Utility.js'\nimport {node, char, prev, next, peek, caret, alloc, dealloc, delimit, whitespace, escaping, identifier, commenter} from './Tokenizer.js'\n\n/**\n * @param {string} value\n * @return {object[]}\n */\nexport function compile (value) {\n\treturn dealloc(parse('', null, null, null, [''], value = alloc(value), 0, [0], value))\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {string[]} rule\n * @param {string[]} rules\n * @param {string[]} rulesets\n * @param {number[]} pseudo\n * @param {number[]} points\n * @param {string[]} declarations\n * @return {object}\n */\nexport function parse (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {\n\tvar index = 0\n\tvar offset = 0\n\tvar length = pseudo\n\tvar atrule = 0\n\tvar property = 0\n\tvar previous = 0\n\tvar variable = 1\n\tvar scanning = 1\n\tvar ampersand = 1\n\tvar character = 0\n\tvar type = ''\n\tvar props = rules\n\tvar children = rulesets\n\tvar reference = rule\n\tvar characters = type\n\n\twhile (scanning)\n\t\tswitch (previous = character, character = next()) {\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (previous != 108 && charat(characters, length - 1) == 58) {\n\t\t\t\t\tif (indexof(characters += replace(delimit(character), '&', '&\\f'), '&\\f') != -1)\n\t\t\t\t\t\tampersand = -1\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t// \" ' [\n\t\t\tcase 34: case 39: case 91:\n\t\t\t\tcharacters += delimit(character)\n\t\t\t\tbreak\n\t\t\t// \\t \\n \\r \\s\n\t\t\tcase 9: case 10: case 13: case 32:\n\t\t\t\tcharacters += whitespace(previous)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tcharacters += escaping(caret() - 1, 7)\n\t\t\t\tcontinue\n\t\t\t// /\n\t\t\tcase 47:\n\t\t\t\tswitch (peek()) {\n\t\t\t\t\tcase 42: case 47:\n\t\t\t\t\t\tappend(comment(commenter(next(), caret()), root, parent), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcharacters += '/'\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t// {\n\t\t\tcase 123 * variable:\n\t\t\t\tpoints[index++] = strlen(characters) * ampersand\n\t\t\t// } ; \\0\n\t\t\tcase 125 * variable: case 59: case 0:\n\t\t\t\tswitch (character) {\n\t\t\t\t\t// \\0 }\n\t\t\t\t\tcase 0: case 125: scanning = 0\n\t\t\t\t\t// ;\n\t\t\t\t\tcase 59 + offset: if (ampersand == -1) characters = replace(characters, /\\f/g, '')\n\t\t\t\t\t\tif (property > 0 && (strlen(characters) - length))\n\t\t\t\t\t\t\tappend(property > 32 ? declaration(characters + ';', rule, parent, length - 1) : declaration(replace(characters, ' ', '') + ';', rule, parent, length - 2), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @ ;\n\t\t\t\t\tcase 59: characters += ';'\n\t\t\t\t\t// { rule/at-rule\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tappend(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length), rulesets)\n\n\t\t\t\t\t\tif (character === 123)\n\t\t\t\t\t\t\tif (offset === 0)\n\t\t\t\t\t\t\t\tparse(characters, root, reference, reference, props, rulesets, length, points, children)\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tswitch (atrule === 99 && charat(characters, 3) === 110 ? 100 : atrule) {\n\t\t\t\t\t\t\t\t\t// d l m s\n\t\t\t\t\t\t\t\t\tcase 100: case 108: case 109: case 115:\n\t\t\t\t\t\t\t\t\t\tparse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length), children), rules, children, length, points, rule ? props : children)\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\tparse(characters, reference, reference, reference, [''], children, 0, points, children)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tindex = offset = property = 0, variable = ampersand = 1, type = characters = '', length = pseudo\n\t\t\t\tbreak\n\t\t\t// :\n\t\t\tcase 58:\n\t\t\t\tlength = 1 + strlen(characters), property = previous\n\t\t\tdefault:\n\t\t\t\tif (variable < 1)\n\t\t\t\t\tif (character == 123)\n\t\t\t\t\t\t--variable\n\t\t\t\t\telse if (character == 125 && variable++ == 0 && prev() == 125)\n\t\t\t\t\t\tcontinue\n\n\t\t\t\tswitch (characters += from(character), character * variable) {\n\t\t\t\t\t// &\n\t\t\t\t\tcase 38:\n\t\t\t\t\t\tampersand = offset > 0 ? 1 : (characters += '\\f', -1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// ,\n\t\t\t\t\tcase 44:\n\t\t\t\t\t\tpoints[index++] = (strlen(characters) - 1) * ampersand, ampersand = 1\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @\n\t\t\t\t\tcase 64:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (peek() === 45)\n\t\t\t\t\t\t\tcharacters += delimit(next())\n\n\t\t\t\t\t\tatrule = peek(), offset = length = strlen(type = characters += identifier(caret())), character++\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// -\n\t\t\t\t\tcase 45:\n\t\t\t\t\t\tif (previous === 45 && strlen(characters) == 2)\n\t\t\t\t\t\t\tvariable = 0\n\t\t\t\t}\n\t\t}\n\n\treturn rulesets\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} index\n * @param {number} offset\n * @param {string[]} rules\n * @param {number[]} points\n * @param {string} type\n * @param {string[]} props\n * @param {string[]} children\n * @param {number} length\n * @return {object}\n */\nexport function ruleset (value, root, parent, index, offset, rules, points, type, props, children, length) {\n\tvar post = offset - 1\n\tvar rule = offset === 0 ? rules : ['']\n\tvar size = sizeof(rule)\n\n\tfor (var i = 0, j = 0, k = 0; i < index; ++i)\n\t\tfor (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x)\n\t\t\tif (z = trim(j > 0 ? rule[x] + ' ' + y : replace(y, /&\\f/g, rule[x])))\n\t\t\t\tprops[k++] = z\n\n\treturn node(value, root, parent, offset === 0 ? RULESET : type, props, children, length)\n}\n\n/**\n * @param {number} value\n * @param {object} root\n * @param {object?} parent\n * @return {object}\n */\nexport function comment (value, root, parent) {\n\treturn node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0)\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} length\n * @return {object}\n */\nexport function declaration (value, root, parent, length) {\n\treturn node(value, root, parent, DECLARATION, substr(value, 0, length), substr(value, length + 1, -1), length)\n}\n","import {IMPORT, LAYER, COMMENT, RULESET, DECLARATION, KEYFRAMES} from './Enum.js'\nimport {strlen, sizeof} from './Utility.js'\n\n/**\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function serialize (children, callback) {\n\tvar output = ''\n\tvar length = sizeof(children)\n\n\tfor (var i = 0; i < length; i++)\n\t\toutput += callback(children[i], i, children, callback) || ''\n\n\treturn output\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function stringify (element, index, children, callback) {\n\tswitch (element.type) {\n\t\tcase LAYER: if (element.children.length) break\n\t\tcase IMPORT: case DECLARATION: return element.return = element.return || element.value\n\t\tcase COMMENT: return ''\n\t\tcase KEYFRAMES: return element.return = element.value + '{' + serialize(element.children, callback) + '}'\n\t\tcase RULESET: element.value = element.props.join(',')\n\t}\n\n\treturn strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : ''\n}\n","import {MS, MOZ, WEBKIT, RULESET, KEYFRAMES, DECLARATION} from './Enum.js'\nimport {match, charat, substr, strlen, sizeof, replace, combine} from './Utility.js'\nimport {copy, tokenize} from './Tokenizer.js'\nimport {serialize} from './Serializer.js'\nimport {prefix} from './Prefixer.js'\n\n/**\n * @param {function[]} collection\n * @return {function}\n */\nexport function middleware (collection) {\n\tvar length = sizeof(collection)\n\n\treturn function (element, index, children, callback) {\n\t\tvar output = ''\n\n\t\tfor (var i = 0; i < length; i++)\n\t\t\toutput += collection[i](element, index, children, callback) || ''\n\n\t\treturn output\n\t}\n}\n\n/**\n * @param {function} callback\n * @return {function}\n */\nexport function rulesheet (callback) {\n\treturn function (element) {\n\t\tif (!element.root)\n\t\t\tif (element = element.return)\n\t\t\t\tcallback(element)\n\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n */\nexport function prefixer (element, index, children, callback) {\n\tif (element.length > -1)\n\t\tif (!element.return)\n\t\t\tswitch (element.type) {\n\t\t\t\tcase DECLARATION: element.return = prefix(element.value, element.length, children)\n\t\t\t\t\treturn\n\t\t\t\tcase KEYFRAMES:\n\t\t\t\t\treturn serialize([copy(element, {value: replace(element.value, '@', '@' + WEBKIT)})], callback)\n\t\t\t\tcase RULESET:\n\t\t\t\t\tif (element.length)\n\t\t\t\t\t\treturn combine(element.props, function (value) {\n\t\t\t\t\t\t\tswitch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n\t\t\t\t\t\t\t\t// :read-(only|write)\n\t\t\t\t\t\t\t\tcase ':read-only': case ':read-write':\n\t\t\t\t\t\t\t\t\treturn serialize([copy(element, {props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]})], callback)\n\t\t\t\t\t\t\t\t// :placeholder\n\t\t\t\t\t\t\t\tcase '::placeholder':\n\t\t\t\t\t\t\t\t\treturn serialize([\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]})\n\t\t\t\t\t\t\t\t\t], callback)\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn ''\n\t\t\t\t\t\t})\n\t\t\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n */\nexport function namespace (element) {\n\tswitch (element.type) {\n\t\tcase RULESET:\n\t\t\telement.props = element.props.map(function (value) {\n\t\t\t\treturn combine(tokenize(value), function (value, index, children) {\n\t\t\t\t\tswitch (charat(value, 0)) {\n\t\t\t\t\t\t// \\f\n\t\t\t\t\t\tcase 12:\n\t\t\t\t\t\t\treturn substr(value, 1, strlen(value))\n\t\t\t\t\t\t// \\0 ( + > ~\n\t\t\t\t\t\tcase 0: case 40: case 43: case 62: case 126:\n\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t// :\n\t\t\t\t\t\tcase 58:\n\t\t\t\t\t\t\tif (children[++index] === 'global')\n\t\t\t\t\t\t\t\tchildren[index] = '', children[++index] = '\\f' + substr(children[index], index = 1, -1)\n\t\t\t\t\t\t// \\s\n\t\t\t\t\t\tcase 32:\n\t\t\t\t\t\t\treturn index === 1 ? '' : value\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tswitch (index) {\n\t\t\t\t\t\t\t\tcase 0: element = value\n\t\t\t\t\t\t\t\t\treturn sizeof(children) > 1 ? '' : value\n\t\t\t\t\t\t\t\tcase index = sizeof(children) - 1: case 2:\n\t\t\t\t\t\t\t\t\treturn index === 2 ? value + element + element : value + element\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t})\n\t}\n}\n","import { StyleSheet } from '@emotion/sheet';\nimport { dealloc, alloc, next, token, from, peek, delimit, slice, position, RULESET, combine, match, serialize, copy, replace, WEBKIT, MOZ, MS, KEYFRAMES, DECLARATION, hash, charat, strlen, indexof, stringify, COMMENT, rulesheet, middleware, compile } from 'stylis';\nimport '@emotion/weak-memoize';\nimport '@emotion/memoize';\n\nvar identifierWithPointTracking = function identifierWithPointTracking(begin, points, index) {\n var previous = 0;\n var character = 0;\n\n while (true) {\n previous = character;\n character = peek(); // &\\f\n\n if (previous === 38 && character === 12) {\n points[index] = 1;\n }\n\n if (token(character)) {\n break;\n }\n\n next();\n }\n\n return slice(begin, position);\n};\n\nvar toRules = function toRules(parsed, points) {\n // pretend we've started with a comma\n var index = -1;\n var character = 44;\n\n do {\n switch (token(character)) {\n case 0:\n // &\\f\n if (character === 38 && peek() === 12) {\n // this is not 100% correct, we don't account for literal sequences here - like for example quoted strings\n // stylis inserts \\f after & to know when & where it should replace this sequence with the context selector\n // and when it should just concatenate the outer and inner selectors\n // it's very unlikely for this sequence to actually appear in a different context, so we just leverage this fact here\n points[index] = 1;\n }\n\n parsed[index] += identifierWithPointTracking(position - 1, points, index);\n break;\n\n case 2:\n parsed[index] += delimit(character);\n break;\n\n case 4:\n // comma\n if (character === 44) {\n // colon\n parsed[++index] = peek() === 58 ? '&\\f' : '';\n points[index] = parsed[index].length;\n break;\n }\n\n // fallthrough\n\n default:\n parsed[index] += from(character);\n }\n } while (character = next());\n\n return parsed;\n};\n\nvar getRules = function getRules(value, points) {\n return dealloc(toRules(alloc(value), points));\n}; // WeakSet would be more appropriate, but only WeakMap is supported in IE11\n\n\nvar fixedElements = /* #__PURE__ */new WeakMap();\nvar compat = function compat(element) {\n if (element.type !== 'rule' || !element.parent || // positive .length indicates that this rule contains pseudo\n // negative .length indicates that this rule has been already prefixed\n element.length < 1) {\n return;\n }\n\n var value = element.value,\n parent = element.parent;\n var isImplicitRule = element.column === parent.column && element.line === parent.line;\n\n while (parent.type !== 'rule') {\n parent = parent.parent;\n if (!parent) return;\n } // short-circuit for the simplest case\n\n\n if (element.props.length === 1 && value.charCodeAt(0) !== 58\n /* colon */\n && !fixedElements.get(parent)) {\n return;\n } // if this is an implicitly inserted rule (the one eagerly inserted at the each new nested level)\n // then the props has already been manipulated beforehand as they that array is shared between it and its \"rule parent\"\n\n\n if (isImplicitRule) {\n return;\n }\n\n fixedElements.set(element, true);\n var points = [];\n var rules = getRules(value, points);\n var parentRules = parent.props;\n\n for (var i = 0, k = 0; i < rules.length; i++) {\n for (var j = 0; j < parentRules.length; j++, k++) {\n element.props[k] = points[i] ? rules[i].replace(/&\\f/g, parentRules[j]) : parentRules[j] + \" \" + rules[i];\n }\n }\n};\nvar removeLabel = function removeLabel(element) {\n if (element.type === 'decl') {\n var value = element.value;\n\n if ( // charcode for l\n value.charCodeAt(0) === 108 && // charcode for b\n value.charCodeAt(2) === 98) {\n // this ignores label\n element[\"return\"] = '';\n element.value = '';\n }\n }\n};\nvar ignoreFlag = 'emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason';\n\nvar isIgnoringComment = function isIgnoringComment(element) {\n return element.type === 'comm' && element.children.indexOf(ignoreFlag) > -1;\n};\n\nvar createUnsafeSelectorsAlarm = function createUnsafeSelectorsAlarm(cache) {\n return function (element, index, children) {\n if (element.type !== 'rule' || cache.compat) return;\n var unsafePseudoClasses = element.value.match(/(:first|:nth|:nth-last)-child/g);\n\n if (unsafePseudoClasses) {\n var isNested = !!element.parent; // in nested rules comments become children of the \"auto-inserted\" rule and that's always the `element.parent`\n //\n // considering this input:\n // .a {\n // .b /* comm */ {}\n // color: hotpink;\n // }\n // we get output corresponding to this:\n // .a {\n // & {\n // /* comm */\n // color: hotpink;\n // }\n // .b {}\n // }\n\n var commentContainer = isNested ? element.parent.children : // global rule at the root level\n children;\n\n for (var i = commentContainer.length - 1; i >= 0; i--) {\n var node = commentContainer[i];\n\n if (node.line < element.line) {\n break;\n } // it is quite weird but comments are *usually* put at `column: element.column - 1`\n // so we seek *from the end* for the node that is earlier than the rule's `element` and check that\n // this will also match inputs like this:\n // .a {\n // /* comm */\n // .b {}\n // }\n //\n // but that is fine\n //\n // it would be the easiest to change the placement of the comment to be the first child of the rule:\n // .a {\n // .b { /* comm */ }\n // }\n // with such inputs we wouldn't have to search for the comment at all\n // TODO: consider changing this comment placement in the next major version\n\n\n if (node.column < element.column) {\n if (isIgnoringComment(node)) {\n return;\n }\n\n break;\n }\n }\n\n unsafePseudoClasses.forEach(function (unsafePseudoClass) {\n console.error(\"The pseudo class \\\"\" + unsafePseudoClass + \"\\\" is potentially unsafe when doing server-side rendering. Try changing it to \\\"\" + unsafePseudoClass.split('-child')[0] + \"-of-type\\\".\");\n });\n }\n };\n};\n\nvar isImportRule = function isImportRule(element) {\n return element.type.charCodeAt(1) === 105 && element.type.charCodeAt(0) === 64;\n};\n\nvar isPrependedWithRegularRules = function isPrependedWithRegularRules(index, children) {\n for (var i = index - 1; i >= 0; i--) {\n if (!isImportRule(children[i])) {\n return true;\n }\n }\n\n return false;\n}; // use this to remove incorrect elements from further processing\n// so they don't get handed to the `sheet` (or anything else)\n// as that could potentially lead to additional logs which in turn could be overhelming to the user\n\n\nvar nullifyElement = function nullifyElement(element) {\n element.type = '';\n element.value = '';\n element[\"return\"] = '';\n element.children = '';\n element.props = '';\n};\n\nvar incorrectImportAlarm = function incorrectImportAlarm(element, index, children) {\n if (!isImportRule(element)) {\n return;\n }\n\n if (element.parent) {\n console.error(\"`@import` rules can't be nested inside other rules. Please move it to the top level and put it before regular rules. Keep in mind that they can only be used within global styles.\");\n nullifyElement(element);\n } else if (isPrependedWithRegularRules(index, children)) {\n console.error(\"`@import` rules can't be after other rules. Please put your `@import` rules before your other rules.\");\n nullifyElement(element);\n }\n};\n\n/* eslint-disable no-fallthrough */\n\nfunction prefix(value, length) {\n switch (hash(value, length)) {\n // color-adjust\n case 5103:\n return WEBKIT + 'print-' + value + value;\n // animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)\n\n case 5737:\n case 4201:\n case 3177:\n case 3433:\n case 1641:\n case 4457:\n case 2921: // text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break\n\n case 5572:\n case 6356:\n case 5844:\n case 3191:\n case 6645:\n case 3005: // mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite,\n\n case 6391:\n case 5879:\n case 5623:\n case 6135:\n case 4599:\n case 4855: // background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)\n\n case 4215:\n case 6389:\n case 5109:\n case 5365:\n case 5621:\n case 3829:\n return WEBKIT + value + value;\n // appearance, user-select, transform, hyphens, text-size-adjust\n\n case 5349:\n case 4246:\n case 4810:\n case 6968:\n case 2756:\n return WEBKIT + value + MOZ + value + MS + value + value;\n // flex, flex-direction\n\n case 6828:\n case 4268:\n return WEBKIT + value + MS + value + value;\n // order\n\n case 6165:\n return WEBKIT + value + MS + 'flex-' + value + value;\n // align-items\n\n case 5187:\n return WEBKIT + value + replace(value, /(\\w+).+(:[^]+)/, WEBKIT + 'box-$1$2' + MS + 'flex-$1$2') + value;\n // align-self\n\n case 5443:\n return WEBKIT + value + MS + 'flex-item-' + replace(value, /flex-|-self/, '') + value;\n // align-content\n\n case 4675:\n return WEBKIT + value + MS + 'flex-line-pack' + replace(value, /align-content|flex-|-self/, '') + value;\n // flex-shrink\n\n case 5548:\n return WEBKIT + value + MS + replace(value, 'shrink', 'negative') + value;\n // flex-basis\n\n case 5292:\n return WEBKIT + value + MS + replace(value, 'basis', 'preferred-size') + value;\n // flex-grow\n\n case 6060:\n return WEBKIT + 'box-' + replace(value, '-grow', '') + WEBKIT + value + MS + replace(value, 'grow', 'positive') + value;\n // transition\n\n case 4554:\n return WEBKIT + replace(value, /([^-])(transform)/g, '$1' + WEBKIT + '$2') + value;\n // cursor\n\n case 6187:\n return replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + '$1'), /(image-set)/, WEBKIT + '$1'), value, '') + value;\n // background, background-image\n\n case 5495:\n case 3959:\n return replace(value, /(image-set\\([^]*)/, WEBKIT + '$1' + '$`$1');\n // justify-content\n\n case 4968:\n return replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + 'box-pack:$3' + MS + 'flex-pack:$3'), /s.+-b[^;]+/, 'justify') + WEBKIT + value + value;\n // (margin|padding)-inline-(start|end)\n\n case 4095:\n case 3583:\n case 4068:\n case 2532:\n return replace(value, /(.+)-inline(.+)/, WEBKIT + '$1$2') + value;\n // (min|max)?(width|height|inline-size|block-size)\n\n case 8116:\n case 7059:\n case 5753:\n case 5535:\n case 5445:\n case 5701:\n case 4933:\n case 4677:\n case 5533:\n case 5789:\n case 5021:\n case 4765:\n // stretch, max-content, min-content, fill-available\n if (strlen(value) - 1 - length > 6) switch (charat(value, length + 1)) {\n // (m)ax-content, (m)in-content\n case 109:\n // -\n if (charat(value, length + 4) !== 45) break;\n // (f)ill-available, (f)it-content\n\n case 102:\n return replace(value, /(.+:)(.+)-([^]+)/, '$1' + WEBKIT + '$2-$3' + '$1' + MOZ + (charat(value, length + 3) == 108 ? '$3' : '$2-$3')) + value;\n // (s)tretch\n\n case 115:\n return ~indexof(value, 'stretch') ? prefix(replace(value, 'stretch', 'fill-available'), length) + value : value;\n }\n break;\n // position: sticky\n\n case 4949:\n // (s)ticky?\n if (charat(value, length + 1) !== 115) break;\n // display: (flex|inline-flex)\n\n case 6444:\n switch (charat(value, strlen(value) - 3 - (~indexof(value, '!important') && 10))) {\n // stic(k)y\n case 107:\n return replace(value, ':', ':' + WEBKIT) + value;\n // (inline-)?fl(e)x\n\n case 101:\n return replace(value, /(.+:)([^;!]+)(;|!.+)?/, '$1' + WEBKIT + (charat(value, 14) === 45 ? 'inline-' : '') + 'box$3' + '$1' + WEBKIT + '$2$3' + '$1' + MS + '$2box$3') + value;\n }\n\n break;\n // writing-mode\n\n case 5936:\n switch (charat(value, length + 11)) {\n // vertical-l(r)\n case 114:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb') + value;\n // vertical-r(l)\n\n case 108:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb-rl') + value;\n // horizontal(-)tb\n\n case 45:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'lr') + value;\n }\n\n return WEBKIT + value + MS + value + value;\n }\n\n return value;\n}\n\nvar prefixer = function prefixer(element, index, children, callback) {\n if (element.length > -1) if (!element[\"return\"]) switch (element.type) {\n case DECLARATION:\n element[\"return\"] = prefix(element.value, element.length);\n break;\n\n case KEYFRAMES:\n return serialize([copy(element, {\n value: replace(element.value, '@', '@' + WEBKIT)\n })], callback);\n\n case RULESET:\n if (element.length) return combine(element.props, function (value) {\n switch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n // :read-(only|write)\n case ':read-only':\n case ':read-write':\n return serialize([copy(element, {\n props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]\n })], callback);\n // :placeholder\n\n case '::placeholder':\n return serialize([copy(element, {\n props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]\n }), copy(element, {\n props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]\n }), copy(element, {\n props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]\n })], callback);\n }\n\n return '';\n });\n }\n};\n\nvar defaultStylisPlugins = [prefixer];\n\nvar createCache = function createCache(options) {\n var key = options.key;\n\n if (process.env.NODE_ENV !== 'production' && !key) {\n throw new Error(\"You have to configure `key` for your cache. Please make sure it's unique (and not equal to 'css') as it's used for linking styles to your cache.\\n\" + \"If multiple caches share the same key they might \\\"fight\\\" for each other's style elements.\");\n }\n\n if (key === 'css') {\n var ssrStyles = document.querySelectorAll(\"style[data-emotion]:not([data-s])\"); // get SSRed styles out of the way of React's hydration\n // document.head is a safe place to move them to(though note document.head is not necessarily the last place they will be)\n // note this very very intentionally targets all style elements regardless of the key to ensure\n // that creating a cache works inside of render of a React component\n\n Array.prototype.forEach.call(ssrStyles, function (node) {\n // we want to only move elements which have a space in the data-emotion attribute value\n // because that indicates that it is an Emotion 11 server-side rendered style elements\n // while we will already ignore Emotion 11 client-side inserted styles because of the :not([data-s]) part in the selector\n // Emotion 10 client-side inserted styles did not have data-s (but importantly did not have a space in their data-emotion attributes)\n // so checking for the space ensures that loading Emotion 11 after Emotion 10 has inserted some styles\n // will not result in the Emotion 10 styles being destroyed\n var dataEmotionAttribute = node.getAttribute('data-emotion');\n\n if (dataEmotionAttribute.indexOf(' ') === -1) {\n return;\n }\n document.head.appendChild(node);\n node.setAttribute('data-s', '');\n });\n }\n\n var stylisPlugins = options.stylisPlugins || defaultStylisPlugins;\n\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe\n if (/[^a-z-]/.test(key)) {\n throw new Error(\"Emotion key must only contain lower case alphabetical characters and - but \\\"\" + key + \"\\\" was passed\");\n }\n }\n\n var inserted = {};\n var container;\n var nodesToHydrate = [];\n\n {\n container = options.container || document.head;\n Array.prototype.forEach.call( // this means we will ignore elements which don't have a space in them which\n // means that the style elements we're looking at are only Emotion 11 server-rendered style elements\n document.querySelectorAll(\"style[data-emotion^=\\\"\" + key + \" \\\"]\"), function (node) {\n var attrib = node.getAttribute(\"data-emotion\").split(' '); // $FlowFixMe\n\n for (var i = 1; i < attrib.length; i++) {\n inserted[attrib[i]] = true;\n }\n\n nodesToHydrate.push(node);\n });\n }\n\n var _insert;\n\n var omnipresentPlugins = [compat, removeLabel];\n\n if (process.env.NODE_ENV !== 'production') {\n omnipresentPlugins.push(createUnsafeSelectorsAlarm({\n get compat() {\n return cache.compat;\n }\n\n }), incorrectImportAlarm);\n }\n\n {\n var currentSheet;\n var finalizingPlugins = [stringify, process.env.NODE_ENV !== 'production' ? function (element) {\n if (!element.root) {\n if (element[\"return\"]) {\n currentSheet.insert(element[\"return\"]);\n } else if (element.value && element.type !== COMMENT) {\n // insert empty rule in non-production environments\n // so @emotion/jest can grab `key` from the (JS)DOM for caches without any rules inserted yet\n currentSheet.insert(element.value + \"{}\");\n }\n }\n } : rulesheet(function (rule) {\n currentSheet.insert(rule);\n })];\n var serializer = middleware(omnipresentPlugins.concat(stylisPlugins, finalizingPlugins));\n\n var stylis = function stylis(styles) {\n return serialize(compile(styles), serializer);\n };\n\n _insert = function insert(selector, serialized, sheet, shouldCache) {\n currentSheet = sheet;\n\n if (process.env.NODE_ENV !== 'production' && serialized.map !== undefined) {\n currentSheet = {\n insert: function insert(rule) {\n sheet.insert(rule + serialized.map);\n }\n };\n }\n\n stylis(selector ? selector + \"{\" + serialized.styles + \"}\" : serialized.styles);\n\n if (shouldCache) {\n cache.inserted[serialized.name] = true;\n }\n };\n }\n\n var cache = {\n key: key,\n sheet: new StyleSheet({\n key: key,\n container: container,\n nonce: options.nonce,\n speedy: options.speedy,\n prepend: options.prepend,\n insertionPoint: options.insertionPoint\n }),\n nonce: options.nonce,\n inserted: inserted,\n registered: {},\n insert: _insert\n };\n cache.sheet.hydrate(nodesToHydrate);\n return cache;\n};\n\nexport { createCache as default };\n","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { CacheProvider } from '@emotion/react';\nimport createCache from '@emotion/cache';\n\n// prepend: true moves MUI styles to the top of the <head> so they're loaded first.\n// It allows developers to easily override MUI styles with other styling solutions, like CSS modules.\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nlet cache;\nif (typeof document === 'object') {\n cache = createCache({\n key: 'css',\n prepend: true\n });\n}\nexport default function StyledEngineProvider(props) {\n const {\n injectFirst,\n children\n } = props;\n return injectFirst && cache ? /*#__PURE__*/_jsx(CacheProvider, {\n value: cache,\n children: children\n }) : children;\n}\nprocess.env.NODE_ENV !== \"production\" ? StyledEngineProvider.propTypes = {\n /**\n * Your component tree.\n */\n children: PropTypes.node,\n /**\n * By default, the styles are injected last in the <head> element of the page.\n * As a result, they gain more specificity than any other style sheet.\n * If you want to override MUI's styles, set this prop.\n */\n injectFirst: PropTypes.bool\n} : void 0;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { Global } from '@emotion/react';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction isEmpty(obj) {\n return obj === undefined || obj === null || Object.keys(obj).length === 0;\n}\nexport default function GlobalStyles(props) {\n const {\n styles,\n defaultTheme = {}\n } = props;\n const globalStyles = typeof styles === 'function' ? themeInput => styles(isEmpty(themeInput) ? defaultTheme : themeInput) : styles;\n return /*#__PURE__*/_jsx(Global, {\n styles: globalStyles\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? GlobalStyles.propTypes = {\n defaultTheme: PropTypes.object,\n styles: PropTypes.oneOfType([PropTypes.array, PropTypes.string, PropTypes.object, PropTypes.func])\n} : void 0;","/**\n * @mui/styled-engine v5.15.14\n *\n * @license MIT\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use client';\n\n/* eslint-disable no-underscore-dangle */\nimport emStyled from '@emotion/styled';\nexport default function styled(tag, options) {\n const stylesFactory = emStyled(tag, options);\n if (process.env.NODE_ENV !== 'production') {\n return (...styles) => {\n const component = typeof tag === 'string' ? `\"${tag}\"` : 'component';\n if (styles.length === 0) {\n console.error([`MUI: Seems like you called \\`styled(${component})()\\` without a \\`style\\` argument.`, 'You must provide a `styles` argument: `styled(\"div\")(styleYouForgotToPass)`.'].join('\\n'));\n } else if (styles.some(style => style === undefined)) {\n console.error(`MUI: the styled(${component})(...args) API requires all its args to be defined.`);\n }\n return stylesFactory(...styles);\n };\n }\n return stylesFactory;\n}\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const internal_processStyles = (tag, processor) => {\n // Emotion attaches all the styles as `__emotion_styles`.\n // Ref: https://github.com/emotion-js/emotion/blob/16d971d0da229596d6bcc39d282ba9753c9ee7cf/packages/styled/src/base.js#L186\n if (Array.isArray(tag.__emotion_styles)) {\n tag.__emotion_styles = processor(tag.__emotion_styles);\n }\n};\nexport { ThemeContext, keyframes, css } from '@emotion/react';\nexport { default as StyledEngineProvider } from './StyledEngineProvider';\nexport { default as GlobalStyles } from './GlobalStyles';","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// https://github.com/sindresorhus/is-plain-obj/blob/main/index.js\nexport function isPlainObject(item) {\n if (typeof item !== 'object' || item === null) {\n return false;\n }\n const prototype = Object.getPrototypeOf(item);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in item) && !(Symbol.iterator in item);\n}\nfunction deepClone(source) {\n if (!isPlainObject(source)) {\n return source;\n }\n const output = {};\n Object.keys(source).forEach(key => {\n output[key] = deepClone(source[key]);\n });\n return output;\n}\nexport default function deepmerge(target, source, options = {\n clone: true\n}) {\n const output = options.clone ? _extends({}, target) : target;\n if (isPlainObject(target) && isPlainObject(source)) {\n Object.keys(source).forEach(key => {\n if (isPlainObject(source[key]) &&\n // Avoid prototype pollution\n Object.prototype.hasOwnProperty.call(target, key) && isPlainObject(target[key])) {\n // Since `output` is a clone of `target` and we have narrowed `target` in this block we can cast to the same type.\n output[key] = deepmerge(target[key], source[key], options);\n } else if (options.clone) {\n output[key] = isPlainObject(source[key]) ? deepClone(source[key]) : source[key];\n } else {\n output[key] = source[key];\n }\n });\n }\n return output;\n}","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"values\", \"unit\", \"step\"];\n// Sorted ASC by size. That's important.\n// It can't be configured as it's used statically for propTypes.\nexport const breakpointKeys = ['xs', 'sm', 'md', 'lg', 'xl'];\nconst sortBreakpointsValues = values => {\n const breakpointsAsArray = Object.keys(values).map(key => ({\n key,\n val: values[key]\n })) || [];\n // Sort in ascending order\n breakpointsAsArray.sort((breakpoint1, breakpoint2) => breakpoint1.val - breakpoint2.val);\n return breakpointsAsArray.reduce((acc, obj) => {\n return _extends({}, acc, {\n [obj.key]: obj.val\n });\n }, {});\n};\n\n// Keep in mind that @media is inclusive by the CSS specification.\nexport default function createBreakpoints(breakpoints) {\n const {\n // The breakpoint **start** at this value.\n // For instance with the first breakpoint xs: [xs, sm).\n values = {\n xs: 0,\n // phone\n sm: 600,\n // tablet\n md: 900,\n // small laptop\n lg: 1200,\n // desktop\n xl: 1536 // large screen\n },\n unit = 'px',\n step = 5\n } = breakpoints,\n other = _objectWithoutPropertiesLoose(breakpoints, _excluded);\n const sortedValues = sortBreakpointsValues(values);\n const keys = Object.keys(sortedValues);\n function up(key) {\n const value = typeof values[key] === 'number' ? values[key] : key;\n return `@media (min-width:${value}${unit})`;\n }\n function down(key) {\n const value = typeof values[key] === 'number' ? values[key] : key;\n return `@media (max-width:${value - step / 100}${unit})`;\n }\n function between(start, end) {\n const endIndex = keys.indexOf(end);\n return `@media (min-width:${typeof values[start] === 'number' ? values[start] : start}${unit}) and ` + `(max-width:${(endIndex !== -1 && typeof values[keys[endIndex]] === 'number' ? values[keys[endIndex]] : end) - step / 100}${unit})`;\n }\n function only(key) {\n if (keys.indexOf(key) + 1 < keys.length) {\n return between(key, keys[keys.indexOf(key) + 1]);\n }\n return up(key);\n }\n function not(key) {\n // handle first and last key separately, for better readability\n const keyIndex = keys.indexOf(key);\n if (keyIndex === 0) {\n return up(keys[1]);\n }\n if (keyIndex === keys.length - 1) {\n return down(keys[keyIndex]);\n }\n return between(key, keys[keys.indexOf(key) + 1]).replace('@media', '@media not all and');\n }\n return _extends({\n keys,\n values: sortedValues,\n up,\n down,\n between,\n only,\n not,\n unit\n }, other);\n}","const shape = {\n borderRadius: 4\n};\nexport default shape;","import deepmerge from '@mui/utils/deepmerge';\nfunction merge(acc, item) {\n if (!item) {\n return acc;\n }\n return deepmerge(acc, item, {\n clone: false // No need to clone deep, it's way faster.\n });\n}\nexport default merge;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport PropTypes from 'prop-types';\nimport deepmerge from '@mui/utils/deepmerge';\nimport merge from './merge';\n\n// The breakpoint **start** at this value.\n// For instance with the first breakpoint xs: [xs, sm[.\nexport const values = {\n xs: 0,\n // phone\n sm: 600,\n // tablet\n md: 900,\n // small laptop\n lg: 1200,\n // desktop\n xl: 1536 // large screen\n};\nconst defaultBreakpoints = {\n // Sorted ASC by size. That's important.\n // It can't be configured as it's used statically for propTypes.\n keys: ['xs', 'sm', 'md', 'lg', 'xl'],\n up: key => `@media (min-width:${values[key]}px)`\n};\nexport function handleBreakpoints(props, propValue, styleFromPropValue) {\n const theme = props.theme || {};\n if (Array.isArray(propValue)) {\n const themeBreakpoints = theme.breakpoints || defaultBreakpoints;\n return propValue.reduce((acc, item, index) => {\n acc[themeBreakpoints.up(themeBreakpoints.keys[index])] = styleFromPropValue(propValue[index]);\n return acc;\n }, {});\n }\n if (typeof propValue === 'object') {\n const themeBreakpoints = theme.breakpoints || defaultBreakpoints;\n return Object.keys(propValue).reduce((acc, breakpoint) => {\n // key is breakpoint\n if (Object.keys(themeBreakpoints.values || values).indexOf(breakpoint) !== -1) {\n const mediaKey = themeBreakpoints.up(breakpoint);\n acc[mediaKey] = styleFromPropValue(propValue[breakpoint], breakpoint);\n } else {\n const cssKey = breakpoint;\n acc[cssKey] = propValue[cssKey];\n }\n return acc;\n }, {});\n }\n const output = styleFromPropValue(propValue);\n return output;\n}\nfunction breakpoints(styleFunction) {\n // false positive\n // eslint-disable-next-line react/function-component-definition\n const newStyleFunction = props => {\n const theme = props.theme || {};\n const base = styleFunction(props);\n const themeBreakpoints = theme.breakpoints || defaultBreakpoints;\n const extended = themeBreakpoints.keys.reduce((acc, key) => {\n if (props[key]) {\n acc = acc || {};\n acc[themeBreakpoints.up(key)] = styleFunction(_extends({\n theme\n }, props[key]));\n }\n return acc;\n }, null);\n return merge(base, extended);\n };\n newStyleFunction.propTypes = process.env.NODE_ENV !== 'production' ? _extends({}, styleFunction.propTypes, {\n xs: PropTypes.object,\n sm: PropTypes.object,\n md: PropTypes.object,\n lg: PropTypes.object,\n xl: PropTypes.object\n }) : {};\n newStyleFunction.filterProps = ['xs', 'sm', 'md', 'lg', 'xl', ...styleFunction.filterProps];\n return newStyleFunction;\n}\nexport function createEmptyBreakpointObject(breakpointsInput = {}) {\n var _breakpointsInput$key;\n const breakpointsInOrder = (_breakpointsInput$key = breakpointsInput.keys) == null ? void 0 : _breakpointsInput$key.reduce((acc, key) => {\n const breakpointStyleKey = breakpointsInput.up(key);\n acc[breakpointStyleKey] = {};\n return acc;\n }, {});\n return breakpointsInOrder || {};\n}\nexport function removeUnusedBreakpoints(breakpointKeys, style) {\n return breakpointKeys.reduce((acc, key) => {\n const breakpointOutput = acc[key];\n const isBreakpointUnused = !breakpointOutput || Object.keys(breakpointOutput).length === 0;\n if (isBreakpointUnused) {\n delete acc[key];\n }\n return acc;\n }, style);\n}\nexport function mergeBreakpointsInOrder(breakpointsInput, ...styles) {\n const emptyBreakpoints = createEmptyBreakpointObject(breakpointsInput);\n const mergedOutput = [emptyBreakpoints, ...styles].reduce((prev, next) => deepmerge(prev, next), {});\n return removeUnusedBreakpoints(Object.keys(emptyBreakpoints), mergedOutput);\n}\n\n// compute base for responsive values; e.g.,\n// [1,2,3] => {xs: true, sm: true, md: true}\n// {xs: 1, sm: 2, md: 3} => {xs: true, sm: true, md: true}\nexport function computeBreakpointsBase(breakpointValues, themeBreakpoints) {\n // fixed value\n if (typeof breakpointValues !== 'object') {\n return {};\n }\n const base = {};\n const breakpointsKeys = Object.keys(themeBreakpoints);\n if (Array.isArray(breakpointValues)) {\n breakpointsKeys.forEach((breakpoint, i) => {\n if (i < breakpointValues.length) {\n base[breakpoint] = true;\n }\n });\n } else {\n breakpointsKeys.forEach(breakpoint => {\n if (breakpointValues[breakpoint] != null) {\n base[breakpoint] = true;\n }\n });\n }\n return base;\n}\nexport function resolveBreakpointValues({\n values: breakpointValues,\n breakpoints: themeBreakpoints,\n base: customBase\n}) {\n const base = customBase || computeBreakpointsBase(breakpointValues, themeBreakpoints);\n const keys = Object.keys(base);\n if (keys.length === 0) {\n return breakpointValues;\n }\n let previous;\n return keys.reduce((acc, breakpoint, i) => {\n if (Array.isArray(breakpointValues)) {\n acc[breakpoint] = breakpointValues[i] != null ? breakpointValues[i] : breakpointValues[previous];\n previous = i;\n } else if (typeof breakpointValues === 'object') {\n acc[breakpoint] = breakpointValues[breakpoint] != null ? breakpointValues[breakpoint] : breakpointValues[previous];\n previous = breakpoint;\n } else {\n acc[breakpoint] = breakpointValues;\n }\n return acc;\n }, {});\n}\nexport default breakpoints;","import _formatMuiErrorMessage from \"@mui/utils/formatMuiErrorMessage\";\n// It should to be noted that this function isn't equivalent to `text-transform: capitalize`.\n//\n// A strict capitalization should uppercase the first letter of each word in the sentence.\n// We only handle the first word.\nexport default function capitalize(string) {\n if (typeof string !== 'string') {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: \\`capitalize(string)\\` expects a string argument.` : _formatMuiErrorMessage(7));\n }\n return string.charAt(0).toUpperCase() + string.slice(1);\n}","import capitalize from '@mui/utils/capitalize';\nimport responsivePropType from './responsivePropType';\nimport { handleBreakpoints } from './breakpoints';\nexport function getPath(obj, path, checkVars = true) {\n if (!path || typeof path !== 'string') {\n return null;\n }\n\n // Check if CSS variables are used\n if (obj && obj.vars && checkVars) {\n const val = `vars.${path}`.split('.').reduce((acc, item) => acc && acc[item] ? acc[item] : null, obj);\n if (val != null) {\n return val;\n }\n }\n return path.split('.').reduce((acc, item) => {\n if (acc && acc[item] != null) {\n return acc[item];\n }\n return null;\n }, obj);\n}\nexport function getStyleValue(themeMapping, transform, propValueFinal, userValue = propValueFinal) {\n let value;\n if (typeof themeMapping === 'function') {\n value = themeMapping(propValueFinal);\n } else if (Array.isArray(themeMapping)) {\n value = themeMapping[propValueFinal] || userValue;\n } else {\n value = getPath(themeMapping, propValueFinal) || userValue;\n }\n if (transform) {\n value = transform(value, userValue, themeMapping);\n }\n return value;\n}\nfunction style(options) {\n const {\n prop,\n cssProperty = options.prop,\n themeKey,\n transform\n } = options;\n\n // false positive\n // eslint-disable-next-line react/function-component-definition\n const fn = props => {\n if (props[prop] == null) {\n return null;\n }\n const propValue = props[prop];\n const theme = props.theme;\n const themeMapping = getPath(theme, themeKey) || {};\n const styleFromPropValue = propValueFinal => {\n let value = getStyleValue(themeMapping, transform, propValueFinal);\n if (propValueFinal === value && typeof propValueFinal === 'string') {\n // Haven't found value\n value = getStyleValue(themeMapping, transform, `${prop}${propValueFinal === 'default' ? '' : capitalize(propValueFinal)}`, propValueFinal);\n }\n if (cssProperty === false) {\n return value;\n }\n return {\n [cssProperty]: value\n };\n };\n return handleBreakpoints(props, propValue, styleFromPropValue);\n };\n fn.propTypes = process.env.NODE_ENV !== 'production' ? {\n [prop]: responsivePropType\n } : {};\n fn.filterProps = [prop];\n return fn;\n}\nexport default style;","export default function memoize(fn) {\n const cache = {};\n return arg => {\n if (cache[arg] === undefined) {\n cache[arg] = fn(arg);\n }\n return cache[arg];\n };\n}","import responsivePropType from './responsivePropType';\nimport { handleBreakpoints } from './breakpoints';\nimport { getPath } from './style';\nimport merge from './merge';\nimport memoize from './memoize';\nconst properties = {\n m: 'margin',\n p: 'padding'\n};\nconst directions = {\n t: 'Top',\n r: 'Right',\n b: 'Bottom',\n l: 'Left',\n x: ['Left', 'Right'],\n y: ['Top', 'Bottom']\n};\nconst aliases = {\n marginX: 'mx',\n marginY: 'my',\n paddingX: 'px',\n paddingY: 'py'\n};\n\n// memoize() impact:\n// From 300,000 ops/sec\n// To 350,000 ops/sec\nconst getCssProperties = memoize(prop => {\n // It's not a shorthand notation.\n if (prop.length > 2) {\n if (aliases[prop]) {\n prop = aliases[prop];\n } else {\n return [prop];\n }\n }\n const [a, b] = prop.split('');\n const property = properties[a];\n const direction = directions[b] || '';\n return Array.isArray(direction) ? direction.map(dir => property + dir) : [property + direction];\n});\nexport const marginKeys = ['m', 'mt', 'mr', 'mb', 'ml', 'mx', 'my', 'margin', 'marginTop', 'marginRight', 'marginBottom', 'marginLeft', 'marginX', 'marginY', 'marginInline', 'marginInlineStart', 'marginInlineEnd', 'marginBlock', 'marginBlockStart', 'marginBlockEnd'];\nexport const paddingKeys = ['p', 'pt', 'pr', 'pb', 'pl', 'px', 'py', 'padding', 'paddingTop', 'paddingRight', 'paddingBottom', 'paddingLeft', 'paddingX', 'paddingY', 'paddingInline', 'paddingInlineStart', 'paddingInlineEnd', 'paddingBlock', 'paddingBlockStart', 'paddingBlockEnd'];\nconst spacingKeys = [...marginKeys, ...paddingKeys];\nexport function createUnaryUnit(theme, themeKey, defaultValue, propName) {\n var _getPath;\n const themeSpacing = (_getPath = getPath(theme, themeKey, false)) != null ? _getPath : defaultValue;\n if (typeof themeSpacing === 'number') {\n return abs => {\n if (typeof abs === 'string') {\n return abs;\n }\n if (process.env.NODE_ENV !== 'production') {\n if (typeof abs !== 'number') {\n console.error(`MUI: Expected ${propName} argument to be a number or a string, got ${abs}.`);\n }\n }\n return themeSpacing * abs;\n };\n }\n if (Array.isArray(themeSpacing)) {\n return abs => {\n if (typeof abs === 'string') {\n return abs;\n }\n if (process.env.NODE_ENV !== 'production') {\n if (!Number.isInteger(abs)) {\n console.error([`MUI: The \\`theme.${themeKey}\\` array type cannot be combined with non integer values.` + `You should either use an integer value that can be used as index, or define the \\`theme.${themeKey}\\` as a number.`].join('\\n'));\n } else if (abs > themeSpacing.length - 1) {\n console.error([`MUI: The value provided (${abs}) overflows.`, `The supported values are: ${JSON.stringify(themeSpacing)}.`, `${abs} > ${themeSpacing.length - 1}, you need to add the missing values.`].join('\\n'));\n }\n }\n return themeSpacing[abs];\n };\n }\n if (typeof themeSpacing === 'function') {\n return themeSpacing;\n }\n if (process.env.NODE_ENV !== 'production') {\n console.error([`MUI: The \\`theme.${themeKey}\\` value (${themeSpacing}) is invalid.`, 'It should be a number, an array or a function.'].join('\\n'));\n }\n return () => undefined;\n}\nexport function createUnarySpacing(theme) {\n return createUnaryUnit(theme, 'spacing', 8, 'spacing');\n}\nexport function getValue(transformer, propValue) {\n if (typeof propValue === 'string' || propValue == null) {\n return propValue;\n }\n const abs = Math.abs(propValue);\n const transformed = transformer(abs);\n if (propValue >= 0) {\n return transformed;\n }\n if (typeof transformed === 'number') {\n return -transformed;\n }\n return `-${transformed}`;\n}\nexport function getStyleFromPropValue(cssProperties, transformer) {\n return propValue => cssProperties.reduce((acc, cssProperty) => {\n acc[cssProperty] = getValue(transformer, propValue);\n return acc;\n }, {});\n}\nfunction resolveCssProperty(props, keys, prop, transformer) {\n // Using a hash computation over an array iteration could be faster, but with only 28 items,\n // it's doesn't worth the bundle size.\n if (keys.indexOf(prop) === -1) {\n return null;\n }\n const cssProperties = getCssProperties(prop);\n const styleFromPropValue = getStyleFromPropValue(cssProperties, transformer);\n const propValue = props[prop];\n return handleBreakpoints(props, propValue, styleFromPropValue);\n}\nfunction style(props, keys) {\n const transformer = createUnarySpacing(props.theme);\n return Object.keys(props).map(prop => resolveCssProperty(props, keys, prop, transformer)).reduce(merge, {});\n}\nexport function margin(props) {\n return style(props, marginKeys);\n}\nmargin.propTypes = process.env.NODE_ENV !== 'production' ? marginKeys.reduce((obj, key) => {\n obj[key] = responsivePropType;\n return obj;\n}, {}) : {};\nmargin.filterProps = marginKeys;\nexport function padding(props) {\n return style(props, paddingKeys);\n}\npadding.propTypes = process.env.NODE_ENV !== 'production' ? paddingKeys.reduce((obj, key) => {\n obj[key] = responsivePropType;\n return obj;\n}, {}) : {};\npadding.filterProps = paddingKeys;\nfunction spacing(props) {\n return style(props, spacingKeys);\n}\nspacing.propTypes = process.env.NODE_ENV !== 'production' ? spacingKeys.reduce((obj, key) => {\n obj[key] = responsivePropType;\n return obj;\n}, {}) : {};\nspacing.filterProps = spacingKeys;\nexport default spacing;","import { createUnarySpacing } from '../spacing';\n\n// The different signatures imply different meaning for their arguments that can't be expressed structurally.\n// We express the difference with variable names.\n\nexport default function createSpacing(spacingInput = 8) {\n // Already transformed.\n if (spacingInput.mui) {\n return spacingInput;\n }\n\n // Material Design layouts are visually balanced. Most measurements align to an 8dp grid, which aligns both spacing and the overall layout.\n // Smaller components, such as icons, can align to a 4dp grid.\n // https://m2.material.io/design/layout/understanding-layout.html\n const transform = createUnarySpacing({\n spacing: spacingInput\n });\n const spacing = (...argsInput) => {\n if (process.env.NODE_ENV !== 'production') {\n if (!(argsInput.length <= 4)) {\n console.error(`MUI: Too many arguments provided, expected between 0 and 4, got ${argsInput.length}`);\n }\n }\n const args = argsInput.length === 0 ? [1] : argsInput;\n return args.map(argument => {\n const output = transform(argument);\n return typeof output === 'number' ? `${output}px` : output;\n }).join(' ');\n };\n spacing.mui = true;\n return spacing;\n}","import merge from './merge';\nfunction compose(...styles) {\n const handlers = styles.reduce((acc, style) => {\n style.filterProps.forEach(prop => {\n acc[prop] = style;\n });\n return acc;\n }, {});\n\n // false positive\n // eslint-disable-next-line react/function-component-definition\n const fn = props => {\n return Object.keys(props).reduce((acc, prop) => {\n if (handlers[prop]) {\n return merge(acc, handlers[prop](props));\n }\n return acc;\n }, {});\n };\n fn.propTypes = process.env.NODE_ENV !== 'production' ? styles.reduce((acc, style) => Object.assign(acc, style.propTypes), {}) : {};\n fn.filterProps = styles.reduce((acc, style) => acc.concat(style.filterProps), []);\n return fn;\n}\nexport default compose;","import responsivePropType from './responsivePropType';\nimport style from './style';\nimport compose from './compose';\nimport { createUnaryUnit, getValue } from './spacing';\nimport { handleBreakpoints } from './breakpoints';\nexport function borderTransform(value) {\n if (typeof value !== 'number') {\n return value;\n }\n return `${value}px solid`;\n}\nfunction createBorderStyle(prop, transform) {\n return style({\n prop,\n themeKey: 'borders',\n transform\n });\n}\nexport const border = createBorderStyle('border', borderTransform);\nexport const borderTop = createBorderStyle('borderTop', borderTransform);\nexport const borderRight = createBorderStyle('borderRight', borderTransform);\nexport const borderBottom = createBorderStyle('borderBottom', borderTransform);\nexport const borderLeft = createBorderStyle('borderLeft', borderTransform);\nexport const borderColor = createBorderStyle('borderColor');\nexport const borderTopColor = createBorderStyle('borderTopColor');\nexport const borderRightColor = createBorderStyle('borderRightColor');\nexport const borderBottomColor = createBorderStyle('borderBottomColor');\nexport const borderLeftColor = createBorderStyle('borderLeftColor');\nexport const outline = createBorderStyle('outline', borderTransform);\nexport const outlineColor = createBorderStyle('outlineColor');\n\n// false positive\n// eslint-disable-next-line react/function-component-definition\nexport const borderRadius = props => {\n if (props.borderRadius !== undefined && props.borderRadius !== null) {\n const transformer = createUnaryUnit(props.theme, 'shape.borderRadius', 4, 'borderRadius');\n const styleFromPropValue = propValue => ({\n borderRadius: getValue(transformer, propValue)\n });\n return handleBreakpoints(props, props.borderRadius, styleFromPropValue);\n }\n return null;\n};\nborderRadius.propTypes = process.env.NODE_ENV !== 'production' ? {\n borderRadius: responsivePropType\n} : {};\nborderRadius.filterProps = ['borderRadius'];\nconst borders = compose(border, borderTop, borderRight, borderBottom, borderLeft, borderColor, borderTopColor, borderRightColor, borderBottomColor, borderLeftColor, borderRadius, outline, outlineColor);\nexport default borders;","import style from './style';\nimport compose from './compose';\nimport { createUnaryUnit, getValue } from './spacing';\nimport { handleBreakpoints } from './breakpoints';\nimport responsivePropType from './responsivePropType';\n\n// false positive\n// eslint-disable-next-line react/function-component-definition\nexport const gap = props => {\n if (props.gap !== undefined && props.gap !== null) {\n const transformer = createUnaryUnit(props.theme, 'spacing', 8, 'gap');\n const styleFromPropValue = propValue => ({\n gap: getValue(transformer, propValue)\n });\n return handleBreakpoints(props, props.gap, styleFromPropValue);\n }\n return null;\n};\ngap.propTypes = process.env.NODE_ENV !== 'production' ? {\n gap: responsivePropType\n} : {};\ngap.filterProps = ['gap'];\n\n// false positive\n// eslint-disable-next-line react/function-component-definition\nexport const columnGap = props => {\n if (props.columnGap !== undefined && props.columnGap !== null) {\n const transformer = createUnaryUnit(props.theme, 'spacing', 8, 'columnGap');\n const styleFromPropValue = propValue => ({\n columnGap: getValue(transformer, propValue)\n });\n return handleBreakpoints(props, props.columnGap, styleFromPropValue);\n }\n return null;\n};\ncolumnGap.propTypes = process.env.NODE_ENV !== 'production' ? {\n columnGap: responsivePropType\n} : {};\ncolumnGap.filterProps = ['columnGap'];\n\n// false positive\n// eslint-disable-next-line react/function-component-definition\nexport const rowGap = props => {\n if (props.rowGap !== undefined && props.rowGap !== null) {\n const transformer = createUnaryUnit(props.theme, 'spacing', 8, 'rowGap');\n const styleFromPropValue = propValue => ({\n rowGap: getValue(transformer, propValue)\n });\n return handleBreakpoints(props, props.rowGap, styleFromPropValue);\n }\n return null;\n};\nrowGap.propTypes = process.env.NODE_ENV !== 'production' ? {\n rowGap: responsivePropType\n} : {};\nrowGap.filterProps = ['rowGap'];\nexport const gridColumn = style({\n prop: 'gridColumn'\n});\nexport const gridRow = style({\n prop: 'gridRow'\n});\nexport const gridAutoFlow = style({\n prop: 'gridAutoFlow'\n});\nexport const gridAutoColumns = style({\n prop: 'gridAutoColumns'\n});\nexport const gridAutoRows = style({\n prop: 'gridAutoRows'\n});\nexport const gridTemplateColumns = style({\n prop: 'gridTemplateColumns'\n});\nexport const gridTemplateRows = style({\n prop: 'gridTemplateRows'\n});\nexport const gridTemplateAreas = style({\n prop: 'gridTemplateAreas'\n});\nexport const gridArea = style({\n prop: 'gridArea'\n});\nconst grid = compose(gap, columnGap, rowGap, gridColumn, gridRow, gridAutoFlow, gridAutoColumns, gridAutoRows, gridTemplateColumns, gridTemplateRows, gridTemplateAreas, gridArea);\nexport default grid;","import style from './style';\nimport compose from './compose';\nexport function paletteTransform(value, userValue) {\n if (userValue === 'grey') {\n return userValue;\n }\n return value;\n}\nexport const color = style({\n prop: 'color',\n themeKey: 'palette',\n transform: paletteTransform\n});\nexport const bgcolor = style({\n prop: 'bgcolor',\n cssProperty: 'backgroundColor',\n themeKey: 'palette',\n transform: paletteTransform\n});\nexport const backgroundColor = style({\n prop: 'backgroundColor',\n themeKey: 'palette',\n transform: paletteTransform\n});\nconst palette = compose(color, bgcolor, backgroundColor);\nexport default palette;","import style from './style';\nimport compose from './compose';\nimport { handleBreakpoints, values as breakpointsValues } from './breakpoints';\nexport function sizingTransform(value) {\n return value <= 1 && value !== 0 ? `${value * 100}%` : value;\n}\nexport const width = style({\n prop: 'width',\n transform: sizingTransform\n});\nexport const maxWidth = props => {\n if (props.maxWidth !== undefined && props.maxWidth !== null) {\n const styleFromPropValue = propValue => {\n var _props$theme, _props$theme2;\n const breakpoint = ((_props$theme = props.theme) == null || (_props$theme = _props$theme.breakpoints) == null || (_props$theme = _props$theme.values) == null ? void 0 : _props$theme[propValue]) || breakpointsValues[propValue];\n if (!breakpoint) {\n return {\n maxWidth: sizingTransform(propValue)\n };\n }\n if (((_props$theme2 = props.theme) == null || (_props$theme2 = _props$theme2.breakpoints) == null ? void 0 : _props$theme2.unit) !== 'px') {\n return {\n maxWidth: `${breakpoint}${props.theme.breakpoints.unit}`\n };\n }\n return {\n maxWidth: breakpoint\n };\n };\n return handleBreakpoints(props, props.maxWidth, styleFromPropValue);\n }\n return null;\n};\nmaxWidth.filterProps = ['maxWidth'];\nexport const minWidth = style({\n prop: 'minWidth',\n transform: sizingTransform\n});\nexport const height = style({\n prop: 'height',\n transform: sizingTransform\n});\nexport const maxHeight = style({\n prop: 'maxHeight',\n transform: sizingTransform\n});\nexport const minHeight = style({\n prop: 'minHeight',\n transform: sizingTransform\n});\nexport const sizeWidth = style({\n prop: 'size',\n cssProperty: 'width',\n transform: sizingTransform\n});\nexport const sizeHeight = style({\n prop: 'size',\n cssProperty: 'height',\n transform: sizingTransform\n});\nexport const boxSizing = style({\n prop: 'boxSizing'\n});\nconst sizing = compose(width, maxWidth, minWidth, height, maxHeight, minHeight, boxSizing);\nexport default sizing;","import { padding, margin } from '../spacing';\nimport { borderRadius, borderTransform } from '../borders';\nimport { gap, rowGap, columnGap } from '../cssGrid';\nimport { paletteTransform } from '../palette';\nimport { maxWidth, sizingTransform } from '../sizing';\nconst defaultSxConfig = {\n // borders\n border: {\n themeKey: 'borders',\n transform: borderTransform\n },\n borderTop: {\n themeKey: 'borders',\n transform: borderTransform\n },\n borderRight: {\n themeKey: 'borders',\n transform: borderTransform\n },\n borderBottom: {\n themeKey: 'borders',\n transform: borderTransform\n },\n borderLeft: {\n themeKey: 'borders',\n transform: borderTransform\n },\n borderColor: {\n themeKey: 'palette'\n },\n borderTopColor: {\n themeKey: 'palette'\n },\n borderRightColor: {\n themeKey: 'palette'\n },\n borderBottomColor: {\n themeKey: 'palette'\n },\n borderLeftColor: {\n themeKey: 'palette'\n },\n outline: {\n themeKey: 'borders',\n transform: borderTransform\n },\n outlineColor: {\n themeKey: 'palette'\n },\n borderRadius: {\n themeKey: 'shape.borderRadius',\n style: borderRadius\n },\n // palette\n color: {\n themeKey: 'palette',\n transform: paletteTransform\n },\n bgcolor: {\n themeKey: 'palette',\n cssProperty: 'backgroundColor',\n transform: paletteTransform\n },\n backgroundColor: {\n themeKey: 'palette',\n transform: paletteTransform\n },\n // spacing\n p: {\n style: padding\n },\n pt: {\n style: padding\n },\n pr: {\n style: padding\n },\n pb: {\n style: padding\n },\n pl: {\n style: padding\n },\n px: {\n style: padding\n },\n py: {\n style: padding\n },\n padding: {\n style: padding\n },\n paddingTop: {\n style: padding\n },\n paddingRight: {\n style: padding\n },\n paddingBottom: {\n style: padding\n },\n paddingLeft: {\n style: padding\n },\n paddingX: {\n style: padding\n },\n paddingY: {\n style: padding\n },\n paddingInline: {\n style: padding\n },\n paddingInlineStart: {\n style: padding\n },\n paddingInlineEnd: {\n style: padding\n },\n paddingBlock: {\n style: padding\n },\n paddingBlockStart: {\n style: padding\n },\n paddingBlockEnd: {\n style: padding\n },\n m: {\n style: margin\n },\n mt: {\n style: margin\n },\n mr: {\n style: margin\n },\n mb: {\n style: margin\n },\n ml: {\n style: margin\n },\n mx: {\n style: margin\n },\n my: {\n style: margin\n },\n margin: {\n style: margin\n },\n marginTop: {\n style: margin\n },\n marginRight: {\n style: margin\n },\n marginBottom: {\n style: margin\n },\n marginLeft: {\n style: margin\n },\n marginX: {\n style: margin\n },\n marginY: {\n style: margin\n },\n marginInline: {\n style: margin\n },\n marginInlineStart: {\n style: margin\n },\n marginInlineEnd: {\n style: margin\n },\n marginBlock: {\n style: margin\n },\n marginBlockStart: {\n style: margin\n },\n marginBlockEnd: {\n style: margin\n },\n // display\n displayPrint: {\n cssProperty: false,\n transform: value => ({\n '@media print': {\n display: value\n }\n })\n },\n display: {},\n overflow: {},\n textOverflow: {},\n visibility: {},\n whiteSpace: {},\n // flexbox\n flexBasis: {},\n flexDirection: {},\n flexWrap: {},\n justifyContent: {},\n alignItems: {},\n alignContent: {},\n order: {},\n flex: {},\n flexGrow: {},\n flexShrink: {},\n alignSelf: {},\n justifyItems: {},\n justifySelf: {},\n // grid\n gap: {\n style: gap\n },\n rowGap: {\n style: rowGap\n },\n columnGap: {\n style: columnGap\n },\n gridColumn: {},\n gridRow: {},\n gridAutoFlow: {},\n gridAutoColumns: {},\n gridAutoRows: {},\n gridTemplateColumns: {},\n gridTemplateRows: {},\n gridTemplateAreas: {},\n gridArea: {},\n // positions\n position: {},\n zIndex: {\n themeKey: 'zIndex'\n },\n top: {},\n right: {},\n bottom: {},\n left: {},\n // shadows\n boxShadow: {\n themeKey: 'shadows'\n },\n // sizing\n width: {\n transform: sizingTransform\n },\n maxWidth: {\n style: maxWidth\n },\n minWidth: {\n transform: sizingTransform\n },\n height: {\n transform: sizingTransform\n },\n maxHeight: {\n transform: sizingTransform\n },\n minHeight: {\n transform: sizingTransform\n },\n boxSizing: {},\n // typography\n fontFamily: {\n themeKey: 'typography'\n },\n fontSize: {\n themeKey: 'typography'\n },\n fontStyle: {\n themeKey: 'typography'\n },\n fontWeight: {\n themeKey: 'typography'\n },\n letterSpacing: {},\n textTransform: {},\n lineHeight: {},\n textAlign: {},\n typography: {\n cssProperty: false,\n themeKey: 'typography'\n }\n};\nexport default defaultSxConfig;","import capitalize from '@mui/utils/capitalize';\nimport merge from '../merge';\nimport { getPath, getStyleValue as getValue } from '../style';\nimport { handleBreakpoints, createEmptyBreakpointObject, removeUnusedBreakpoints } from '../breakpoints';\nimport defaultSxConfig from './defaultSxConfig';\nfunction objectsHaveSameKeys(...objects) {\n const allKeys = objects.reduce((keys, object) => keys.concat(Object.keys(object)), []);\n const union = new Set(allKeys);\n return objects.every(object => union.size === Object.keys(object).length);\n}\nfunction callIfFn(maybeFn, arg) {\n return typeof maybeFn === 'function' ? maybeFn(arg) : maybeFn;\n}\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function unstable_createStyleFunctionSx() {\n function getThemeValue(prop, val, theme, config) {\n const props = {\n [prop]: val,\n theme\n };\n const options = config[prop];\n if (!options) {\n return {\n [prop]: val\n };\n }\n const {\n cssProperty = prop,\n themeKey,\n transform,\n style\n } = options;\n if (val == null) {\n return null;\n }\n\n // TODO v6: remove, see https://github.com/mui/material-ui/pull/38123\n if (themeKey === 'typography' && val === 'inherit') {\n return {\n [prop]: val\n };\n }\n const themeMapping = getPath(theme, themeKey) || {};\n if (style) {\n return style(props);\n }\n const styleFromPropValue = propValueFinal => {\n let value = getValue(themeMapping, transform, propValueFinal);\n if (propValueFinal === value && typeof propValueFinal === 'string') {\n // Haven't found value\n value = getValue(themeMapping, transform, `${prop}${propValueFinal === 'default' ? '' : capitalize(propValueFinal)}`, propValueFinal);\n }\n if (cssProperty === false) {\n return value;\n }\n return {\n [cssProperty]: value\n };\n };\n return handleBreakpoints(props, val, styleFromPropValue);\n }\n function styleFunctionSx(props) {\n var _theme$unstable_sxCon;\n const {\n sx,\n theme = {}\n } = props || {};\n if (!sx) {\n return null; // Emotion & styled-components will neglect null\n }\n const config = (_theme$unstable_sxCon = theme.unstable_sxConfig) != null ? _theme$unstable_sxCon : defaultSxConfig;\n\n /*\n * Receive `sxInput` as object or callback\n * and then recursively check keys & values to create media query object styles.\n * (the result will be used in `styled`)\n */\n function traverse(sxInput) {\n let sxObject = sxInput;\n if (typeof sxInput === 'function') {\n sxObject = sxInput(theme);\n } else if (typeof sxInput !== 'object') {\n // value\n return sxInput;\n }\n if (!sxObject) {\n return null;\n }\n const emptyBreakpoints = createEmptyBreakpointObject(theme.breakpoints);\n const breakpointsKeys = Object.keys(emptyBreakpoints);\n let css = emptyBreakpoints;\n Object.keys(sxObject).forEach(styleKey => {\n const value = callIfFn(sxObject[styleKey], theme);\n if (value !== null && value !== undefined) {\n if (typeof value === 'object') {\n if (config[styleKey]) {\n css = merge(css, getThemeValue(styleKey, value, theme, config));\n } else {\n const breakpointsValues = handleBreakpoints({\n theme\n }, value, x => ({\n [styleKey]: x\n }));\n if (objectsHaveSameKeys(breakpointsValues, value)) {\n css[styleKey] = styleFunctionSx({\n sx: value,\n theme\n });\n } else {\n css = merge(css, breakpointsValues);\n }\n }\n } else {\n css = merge(css, getThemeValue(styleKey, value, theme, config));\n }\n }\n });\n return removeUnusedBreakpoints(breakpointsKeys, css);\n }\n return Array.isArray(sx) ? sx.map(traverse) : traverse(sx);\n }\n return styleFunctionSx;\n}\nconst styleFunctionSx = unstable_createStyleFunctionSx();\nstyleFunctionSx.filterProps = ['sx'];\nexport default styleFunctionSx;","/**\n * A universal utility to style components with multiple color modes. Always use it from the theme object.\n * It works with:\n * - [Basic theme](https://mui.com/material-ui/customization/dark-mode/)\n * - [CSS theme variables](https://mui.com/material-ui/experimental-api/css-theme-variables/overview/)\n * - Zero-runtime engine\n *\n * Tips: Use an array over object spread and place `theme.applyStyles()` last.\n *\n * ✅ [{ background: '#e5e5e5' }, theme.applyStyles('dark', { background: '#1c1c1c' })]\n *\n * 🚫 { background: '#e5e5e5', ...theme.applyStyles('dark', { background: '#1c1c1c' })}\n *\n * @example\n * 1. using with `styled`:\n * ```jsx\n * const Component = styled('div')(({ theme }) => [\n * { background: '#e5e5e5' },\n * theme.applyStyles('dark', {\n * background: '#1c1c1c',\n * color: '#fff',\n * }),\n * ]);\n * ```\n *\n * @example\n * 2. using with `sx` prop:\n * ```jsx\n * <Box sx={theme => [\n * { background: '#e5e5e5' },\n * theme.applyStyles('dark', {\n * background: '#1c1c1c',\n * color: '#fff',\n * }),\n * ]}\n * />\n * ```\n *\n * @example\n * 3. theming a component:\n * ```jsx\n * extendTheme({\n * components: {\n * MuiButton: {\n * styleOverrides: {\n * root: ({ theme }) => [\n * { background: '#e5e5e5' },\n * theme.applyStyles('dark', {\n * background: '#1c1c1c',\n * color: '#fff',\n * }),\n * ],\n * },\n * }\n * }\n * })\n *```\n */\nexport default function applyStyles(key, styles) {\n // @ts-expect-error this is 'any' type\n const theme = this;\n if (theme.vars && typeof theme.getColorSchemeSelector === 'function') {\n // If CssVarsProvider is used as a provider,\n // returns '* :where([data-mui-color-scheme=\"light|dark\"]) &'\n const selector = theme.getColorSchemeSelector(key).replace(/(\\[[^\\]]+\\])/, '*:where($1)');\n return {\n [selector]: styles\n };\n }\n if (theme.palette.mode === key) {\n return styles;\n }\n return {};\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"breakpoints\", \"palette\", \"spacing\", \"shape\"];\nimport deepmerge from '@mui/utils/deepmerge';\nimport createBreakpoints from './createBreakpoints';\nimport shape from './shape';\nimport createSpacing from './createSpacing';\nimport styleFunctionSx from '../styleFunctionSx/styleFunctionSx';\nimport defaultSxConfig from '../styleFunctionSx/defaultSxConfig';\nimport applyStyles from './applyStyles';\nfunction createTheme(options = {}, ...args) {\n const {\n breakpoints: breakpointsInput = {},\n palette: paletteInput = {},\n spacing: spacingInput,\n shape: shapeInput = {}\n } = options,\n other = _objectWithoutPropertiesLoose(options, _excluded);\n const breakpoints = createBreakpoints(breakpointsInput);\n const spacing = createSpacing(spacingInput);\n let muiTheme = deepmerge({\n breakpoints,\n direction: 'ltr',\n components: {},\n // Inject component definitions.\n palette: _extends({\n mode: 'light'\n }, paletteInput),\n spacing,\n shape: _extends({}, shape, shapeInput)\n }, other);\n muiTheme.applyStyles = applyStyles;\n muiTheme = args.reduce((acc, argument) => deepmerge(acc, argument), muiTheme);\n muiTheme.unstable_sxConfig = _extends({}, defaultSxConfig, other == null ? void 0 : other.unstable_sxConfig);\n muiTheme.unstable_sx = function sx(props) {\n return styleFunctionSx({\n sx: props,\n theme: this\n });\n };\n return muiTheme;\n}\nexport default createTheme;","'use client';\n\nimport * as React from 'react';\nimport { ThemeContext } from '@mui/styled-engine';\nfunction isObjectEmpty(obj) {\n return Object.keys(obj).length === 0;\n}\nfunction useTheme(defaultTheme = null) {\n const contextTheme = React.useContext(ThemeContext);\n return !contextTheme || isObjectEmpty(contextTheme) ? defaultTheme : contextTheme;\n}\nexport default useTheme;","'use client';\n\nimport createTheme from './createTheme';\nimport useThemeWithoutDefault from './useThemeWithoutDefault';\nexport const systemDefaultTheme = createTheme();\nfunction useTheme(defaultTheme = systemDefaultTheme) {\n return useThemeWithoutDefault(defaultTheme);\n}\nexport default useTheme;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { GlobalStyles as MuiGlobalStyles } from '@mui/styled-engine';\nimport useTheme from '../useTheme';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction GlobalStyles({\n styles,\n themeId,\n defaultTheme = {}\n}) {\n const upperTheme = useTheme(defaultTheme);\n const globalStyles = typeof styles === 'function' ? styles(themeId ? upperTheme[themeId] || upperTheme : upperTheme) : styles;\n return /*#__PURE__*/_jsx(MuiGlobalStyles, {\n styles: globalStyles\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? GlobalStyles.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * @ignore\n */\n defaultTheme: PropTypes.object,\n /**\n * @ignore\n */\n styles: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.array, PropTypes.func, PropTypes.number, PropTypes.object, PropTypes.string, PropTypes.bool]),\n /**\n * @ignore\n */\n themeId: PropTypes.string\n} : void 0;\nexport default GlobalStyles;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"sx\"];\nimport { isPlainObject } from '@mui/utils/deepmerge';\nimport defaultSxConfig from './defaultSxConfig';\nconst splitProps = props => {\n var _props$theme$unstable, _props$theme;\n const result = {\n systemProps: {},\n otherProps: {}\n };\n const config = (_props$theme$unstable = props == null || (_props$theme = props.theme) == null ? void 0 : _props$theme.unstable_sxConfig) != null ? _props$theme$unstable : defaultSxConfig;\n Object.keys(props).forEach(prop => {\n if (config[prop]) {\n result.systemProps[prop] = props[prop];\n } else {\n result.otherProps[prop] = props[prop];\n }\n });\n return result;\n};\nexport default function extendSxProp(props) {\n const {\n sx: inSx\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const {\n systemProps,\n otherProps\n } = splitProps(other);\n let finalSx;\n if (Array.isArray(inSx)) {\n finalSx = [systemProps, ...inSx];\n } else if (typeof inSx === 'function') {\n finalSx = (...args) => {\n const result = inSx(...args);\n if (!isPlainObject(result)) {\n return systemProps;\n }\n return _extends({}, systemProps, result);\n };\n } else {\n finalSx = _extends({}, systemProps, inSx);\n }\n return _extends({}, otherProps, {\n sx: finalSx\n });\n}","const defaultGenerator = componentName => componentName;\nconst createClassNameGenerator = () => {\n let generate = defaultGenerator;\n return {\n configure(generator) {\n generate = generator;\n },\n generate(componentName) {\n return generate(componentName);\n },\n reset() {\n generate = defaultGenerator;\n }\n };\n};\nconst ClassNameGenerator = createClassNameGenerator();\nexport default ClassNameGenerator;","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}export function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"className\", \"component\"];\nimport * as React from 'react';\nimport clsx from 'clsx';\nimport styled from '@mui/styled-engine';\nimport styleFunctionSx, { extendSxProp } from './styleFunctionSx';\nimport useTheme from './useTheme';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default function createBox(options = {}) {\n const {\n themeId,\n defaultTheme,\n defaultClassName = 'MuiBox-root',\n generateClassName\n } = options;\n const BoxRoot = styled('div', {\n shouldForwardProp: prop => prop !== 'theme' && prop !== 'sx' && prop !== 'as'\n })(styleFunctionSx);\n const Box = /*#__PURE__*/React.forwardRef(function Box(inProps, ref) {\n const theme = useTheme(defaultTheme);\n const _extendSxProp = extendSxProp(inProps),\n {\n className,\n component = 'div'\n } = _extendSxProp,\n other = _objectWithoutPropertiesLoose(_extendSxProp, _excluded);\n return /*#__PURE__*/_jsx(BoxRoot, _extends({\n as: component,\n ref: ref,\n className: clsx(className, generateClassName ? generateClassName(defaultClassName) : defaultClassName),\n theme: themeId ? theme[themeId] || theme : theme\n }, other));\n });\n return Box;\n}","import ClassNameGenerator from '../ClassNameGenerator';\nexport const globalStateClasses = {\n active: 'active',\n checked: 'checked',\n completed: 'completed',\n disabled: 'disabled',\n error: 'error',\n expanded: 'expanded',\n focused: 'focused',\n focusVisible: 'focusVisible',\n open: 'open',\n readOnly: 'readOnly',\n required: 'required',\n selected: 'selected'\n};\nexport default function generateUtilityClass(componentName, slot, globalStatePrefix = 'Mui') {\n const globalStateClass = globalStateClasses[slot];\n return globalStateClass ? `${globalStatePrefix}-${globalStateClass}` : `${ClassNameGenerator.generate(componentName)}-${slot}`;\n}\nexport function isGlobalState(slot) {\n return globalStateClasses[slot] !== undefined;\n}","import generateUtilityClass from '../generateUtilityClass';\nexport default function generateUtilityClasses(componentName, slots, globalStatePrefix = 'Mui') {\n const result = {};\n slots.forEach(slot => {\n result[slot] = generateUtilityClass(componentName, slot, globalStatePrefix);\n });\n return result;\n}","import { ForwardRef, Memo } from 'react-is';\n\n// Simplified polyfill for IE11 support\n// https://github.com/JamesMGreene/Function.name/blob/58b314d4a983110c3682f1228f845d39ccca1817/Function.name.js#L3\nconst fnNameMatchRegex = /^\\s*function(?:\\s|\\s*\\/\\*.*\\*\\/\\s*)+([^(\\s/]*)\\s*/;\nexport function getFunctionName(fn) {\n const match = `${fn}`.match(fnNameMatchRegex);\n const name = match && match[1];\n return name || '';\n}\nfunction getFunctionComponentName(Component, fallback = '') {\n return Component.displayName || Component.name || getFunctionName(Component) || fallback;\n}\nfunction getWrappedName(outerType, innerType, wrapperName) {\n const functionName = getFunctionComponentName(innerType);\n return outerType.displayName || (functionName !== '' ? `${wrapperName}(${functionName})` : wrapperName);\n}\n\n/**\n * cherry-pick from\n * https://github.com/facebook/react/blob/769b1f270e1251d9dbdce0fcbd9e92e502d059b8/packages/shared/getComponentName.js\n * originally forked from recompose/getDisplayName with added IE11 support\n */\nexport default function getDisplayName(Component) {\n if (Component == null) {\n return undefined;\n }\n if (typeof Component === 'string') {\n return Component;\n }\n if (typeof Component === 'function') {\n return getFunctionComponentName(Component, 'Component');\n }\n\n // TypeScript can't have components as objects but they exist in the form of `memo` or `Suspense`\n if (typeof Component === 'object') {\n switch (Component.$$typeof) {\n case ForwardRef:\n return getWrappedName(Component, Component.render, 'ForwardRef');\n case Memo:\n return getWrappedName(Component, Component.type, 'memo');\n default:\n return undefined;\n }\n }\n return undefined;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"ownerState\"],\n _excluded2 = [\"variants\"],\n _excluded3 = [\"name\", \"slot\", \"skipVariantsResolver\", \"skipSx\", \"overridesResolver\"];\n/* eslint-disable no-underscore-dangle */\nimport styledEngineStyled, { internal_processStyles as processStyles } from '@mui/styled-engine';\nimport { isPlainObject } from '@mui/utils/deepmerge';\nimport capitalize from '@mui/utils/capitalize';\nimport getDisplayName from '@mui/utils/getDisplayName';\nimport createTheme from './createTheme';\nimport styleFunctionSx from './styleFunctionSx';\nfunction isEmpty(obj) {\n return Object.keys(obj).length === 0;\n}\n\n// https://github.com/emotion-js/emotion/blob/26ded6109fcd8ca9875cc2ce4564fee678a3f3c5/packages/styled/src/utils.js#L40\nfunction isStringTag(tag) {\n return typeof tag === 'string' &&\n // 96 is one less than the char code\n // for \"a\" so this is checking that\n // it's a lowercase character\n tag.charCodeAt(0) > 96;\n}\n\n// Update /system/styled/#api in case if this changes\nexport function shouldForwardProp(prop) {\n return prop !== 'ownerState' && prop !== 'theme' && prop !== 'sx' && prop !== 'as';\n}\nexport const systemDefaultTheme = createTheme();\nconst lowercaseFirstLetter = string => {\n if (!string) {\n return string;\n }\n return string.charAt(0).toLowerCase() + string.slice(1);\n};\nfunction resolveTheme({\n defaultTheme,\n theme,\n themeId\n}) {\n return isEmpty(theme) ? defaultTheme : theme[themeId] || theme;\n}\nfunction defaultOverridesResolver(slot) {\n if (!slot) {\n return null;\n }\n return (props, styles) => styles[slot];\n}\nfunction processStyleArg(callableStyle, _ref) {\n let {\n ownerState\n } = _ref,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n const resolvedStylesArg = typeof callableStyle === 'function' ? callableStyle(_extends({\n ownerState\n }, props)) : callableStyle;\n if (Array.isArray(resolvedStylesArg)) {\n return resolvedStylesArg.flatMap(resolvedStyle => processStyleArg(resolvedStyle, _extends({\n ownerState\n }, props)));\n }\n if (!!resolvedStylesArg && typeof resolvedStylesArg === 'object' && Array.isArray(resolvedStylesArg.variants)) {\n const {\n variants = []\n } = resolvedStylesArg,\n otherStyles = _objectWithoutPropertiesLoose(resolvedStylesArg, _excluded2);\n let result = otherStyles;\n variants.forEach(variant => {\n let isMatch = true;\n if (typeof variant.props === 'function') {\n isMatch = variant.props(_extends({\n ownerState\n }, props, ownerState));\n } else {\n Object.keys(variant.props).forEach(key => {\n if ((ownerState == null ? void 0 : ownerState[key]) !== variant.props[key] && props[key] !== variant.props[key]) {\n isMatch = false;\n }\n });\n }\n if (isMatch) {\n if (!Array.isArray(result)) {\n result = [result];\n }\n result.push(typeof variant.style === 'function' ? variant.style(_extends({\n ownerState\n }, props, ownerState)) : variant.style);\n }\n });\n return result;\n }\n return resolvedStylesArg;\n}\nexport default function createStyled(input = {}) {\n const {\n themeId,\n defaultTheme = systemDefaultTheme,\n rootShouldForwardProp = shouldForwardProp,\n slotShouldForwardProp = shouldForwardProp\n } = input;\n const systemSx = props => {\n return styleFunctionSx(_extends({}, props, {\n theme: resolveTheme(_extends({}, props, {\n defaultTheme,\n themeId\n }))\n }));\n };\n systemSx.__mui_systemSx = true;\n return (tag, inputOptions = {}) => {\n // Filter out the `sx` style function from the previous styled component to prevent unnecessary styles generated by the composite components.\n processStyles(tag, styles => styles.filter(style => !(style != null && style.__mui_systemSx)));\n const {\n name: componentName,\n slot: componentSlot,\n skipVariantsResolver: inputSkipVariantsResolver,\n skipSx: inputSkipSx,\n // TODO v6: remove `lowercaseFirstLetter()` in the next major release\n // For more details: https://github.com/mui/material-ui/pull/37908\n overridesResolver = defaultOverridesResolver(lowercaseFirstLetter(componentSlot))\n } = inputOptions,\n options = _objectWithoutPropertiesLoose(inputOptions, _excluded3);\n\n // if skipVariantsResolver option is defined, take the value, otherwise, true for root and false for other slots.\n const skipVariantsResolver = inputSkipVariantsResolver !== undefined ? inputSkipVariantsResolver :\n // TODO v6: remove `Root` in the next major release\n // For more details: https://github.com/mui/material-ui/pull/37908\n componentSlot && componentSlot !== 'Root' && componentSlot !== 'root' || false;\n const skipSx = inputSkipSx || false;\n let label;\n if (process.env.NODE_ENV !== 'production') {\n if (componentName) {\n // TODO v6: remove `lowercaseFirstLetter()` in the next major release\n // For more details: https://github.com/mui/material-ui/pull/37908\n label = `${componentName}-${lowercaseFirstLetter(componentSlot || 'Root')}`;\n }\n }\n let shouldForwardPropOption = shouldForwardProp;\n\n // TODO v6: remove `Root` in the next major release\n // For more details: https://github.com/mui/material-ui/pull/37908\n if (componentSlot === 'Root' || componentSlot === 'root') {\n shouldForwardPropOption = rootShouldForwardProp;\n } else if (componentSlot) {\n // any other slot specified\n shouldForwardPropOption = slotShouldForwardProp;\n } else if (isStringTag(tag)) {\n // for string (html) tag, preserve the behavior in emotion & styled-components.\n shouldForwardPropOption = undefined;\n }\n const defaultStyledResolver = styledEngineStyled(tag, _extends({\n shouldForwardProp: shouldForwardPropOption,\n label\n }, options));\n const transformStyleArg = stylesArg => {\n // On the server Emotion doesn't use React.forwardRef for creating components, so the created\n // component stays as a function. This condition makes sure that we do not interpolate functions\n // which are basically components used as a selectors.\n if (typeof stylesArg === 'function' && stylesArg.__emotion_real !== stylesArg || isPlainObject(stylesArg)) {\n return props => processStyleArg(stylesArg, _extends({}, props, {\n theme: resolveTheme({\n theme: props.theme,\n defaultTheme,\n themeId\n })\n }));\n }\n return stylesArg;\n };\n const muiStyledResolver = (styleArg, ...expressions) => {\n let transformedStyleArg = transformStyleArg(styleArg);\n const expressionsWithDefaultTheme = expressions ? expressions.map(transformStyleArg) : [];\n if (componentName && overridesResolver) {\n expressionsWithDefaultTheme.push(props => {\n const theme = resolveTheme(_extends({}, props, {\n defaultTheme,\n themeId\n }));\n if (!theme.components || !theme.components[componentName] || !theme.components[componentName].styleOverrides) {\n return null;\n }\n const styleOverrides = theme.components[componentName].styleOverrides;\n const resolvedStyleOverrides = {};\n // TODO: v7 remove iteration and use `resolveStyleArg(styleOverrides[slot])` directly\n Object.entries(styleOverrides).forEach(([slotKey, slotStyle]) => {\n resolvedStyleOverrides[slotKey] = processStyleArg(slotStyle, _extends({}, props, {\n theme\n }));\n });\n return overridesResolver(props, resolvedStyleOverrides);\n });\n }\n if (componentName && !skipVariantsResolver) {\n expressionsWithDefaultTheme.push(props => {\n var _theme$components;\n const theme = resolveTheme(_extends({}, props, {\n defaultTheme,\n themeId\n }));\n const themeVariants = theme == null || (_theme$components = theme.components) == null || (_theme$components = _theme$components[componentName]) == null ? void 0 : _theme$components.variants;\n return processStyleArg({\n variants: themeVariants\n }, _extends({}, props, {\n theme\n }));\n });\n }\n if (!skipSx) {\n expressionsWithDefaultTheme.push(systemSx);\n }\n const numOfCustomFnsApplied = expressionsWithDefaultTheme.length - expressions.length;\n if (Array.isArray(styleArg) && numOfCustomFnsApplied > 0) {\n const placeholders = new Array(numOfCustomFnsApplied).fill('');\n // If the type is array, than we need to add placeholders in the template for the overrides, variants and the sx styles.\n transformedStyleArg = [...styleArg, ...placeholders];\n transformedStyleArg.raw = [...styleArg.raw, ...placeholders];\n }\n const Component = defaultStyledResolver(transformedStyleArg, ...expressionsWithDefaultTheme);\n if (process.env.NODE_ENV !== 'production') {\n let displayName;\n if (componentName) {\n displayName = `${componentName}${capitalize(componentSlot || '')}`;\n }\n if (displayName === undefined) {\n displayName = `Styled(${getDisplayName(tag)})`;\n }\n Component.displayName = displayName;\n }\n if (tag.muiName) {\n Component.muiName = tag.muiName;\n }\n return Component;\n };\n if (defaultStyledResolver.withConfig) {\n muiStyledResolver.withConfig = defaultStyledResolver.withConfig;\n }\n return muiStyledResolver;\n };\n}","import createStyled from './createStyled';\nconst styled = createStyled();\nexport default styled;","import _extends from \"@babel/runtime/helpers/esm/extends\";\n/**\n * Add keys, values of `defaultProps` that does not exist in `props`\n * @param {object} defaultProps\n * @param {object} props\n * @returns {object} resolved props\n */\nexport default function resolveProps(defaultProps, props) {\n const output = _extends({}, props);\n Object.keys(defaultProps).forEach(propName => {\n if (propName.toString().match(/^(components|slots)$/)) {\n output[propName] = _extends({}, defaultProps[propName], output[propName]);\n } else if (propName.toString().match(/^(componentsProps|slotProps)$/)) {\n const defaultSlotProps = defaultProps[propName] || {};\n const slotProps = props[propName];\n output[propName] = {};\n if (!slotProps || !Object.keys(slotProps)) {\n // Reduce the iteration if the slot props is empty\n output[propName] = defaultSlotProps;\n } else if (!defaultSlotProps || !Object.keys(defaultSlotProps)) {\n // Reduce the iteration if the default slot props is empty\n output[propName] = slotProps;\n } else {\n output[propName] = _extends({}, slotProps);\n Object.keys(defaultSlotProps).forEach(slotPropName => {\n output[propName][slotPropName] = resolveProps(defaultSlotProps[slotPropName], slotProps[slotPropName]);\n });\n }\n } else if (output[propName] === undefined) {\n output[propName] = defaultProps[propName];\n }\n });\n return output;\n}","import resolveProps from '@mui/utils/resolveProps';\nexport default function getThemeProps(params) {\n const {\n theme,\n name,\n props\n } = params;\n if (!theme || !theme.components || !theme.components[name] || !theme.components[name].defaultProps) {\n return props;\n }\n return resolveProps(theme.components[name].defaultProps, props);\n}","'use client';\n\nimport getThemeProps from './getThemeProps';\nimport useTheme from '../useTheme';\nexport default function useThemeProps({\n props,\n name,\n defaultTheme,\n themeId\n}) {\n let theme = useTheme(defaultTheme);\n if (themeId) {\n theme = theme[themeId] || theme;\n }\n const mergedProps = getThemeProps({\n theme,\n name,\n props\n });\n return mergedProps;\n}","'use client';\n\nimport * as React from 'react';\n\n/**\n * A version of `React.useLayoutEffect` that does not show a warning when server-side rendering.\n * This is useful for effects that are only needed for client-side rendering but not for SSR.\n *\n * Before you use this hook, make sure to read https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\n * and confirm it doesn't apply to your use-case.\n */\nconst useEnhancedEffect = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;\nexport default useEnhancedEffect;","'use client';\n\nimport * as React from 'react';\nimport useEnhancedEffect from '@mui/utils/useEnhancedEffect';\nimport { getThemeProps } from '../useThemeProps';\nimport useTheme from '../useThemeWithoutDefault';\n\n/**\n * @deprecated Not used internally. Use `MediaQueryListEvent` from lib.dom.d.ts instead.\n */\n\n/**\n * @deprecated Not used internally. Use `MediaQueryList` from lib.dom.d.ts instead.\n */\n\n/**\n * @deprecated Not used internally. Use `(event: MediaQueryListEvent) => void` instead.\n */\n\nfunction useMediaQueryOld(query, defaultMatches, matchMedia, ssrMatchMedia, noSsr) {\n const [match, setMatch] = React.useState(() => {\n if (noSsr && matchMedia) {\n return matchMedia(query).matches;\n }\n if (ssrMatchMedia) {\n return ssrMatchMedia(query).matches;\n }\n\n // Once the component is mounted, we rely on the\n // event listeners to return the correct matches value.\n return defaultMatches;\n });\n useEnhancedEffect(() => {\n let active = true;\n if (!matchMedia) {\n return undefined;\n }\n const queryList = matchMedia(query);\n const updateMatch = () => {\n // Workaround Safari wrong implementation of matchMedia\n // TODO can we remove it?\n // https://github.com/mui/material-ui/pull/17315#issuecomment-528286677\n if (active) {\n setMatch(queryList.matches);\n }\n };\n updateMatch();\n // TODO: Use `addEventListener` once support for Safari < 14 is dropped\n queryList.addListener(updateMatch);\n return () => {\n active = false;\n queryList.removeListener(updateMatch);\n };\n }, [query, matchMedia]);\n return match;\n}\n\n// eslint-disable-next-line no-useless-concat -- Workaround for https://github.com/webpack/webpack/issues/14814\nconst maybeReactUseSyncExternalStore = React['useSyncExternalStore' + ''];\nfunction useMediaQueryNew(query, defaultMatches, matchMedia, ssrMatchMedia, noSsr) {\n const getDefaultSnapshot = React.useCallback(() => defaultMatches, [defaultMatches]);\n const getServerSnapshot = React.useMemo(() => {\n if (noSsr && matchMedia) {\n return () => matchMedia(query).matches;\n }\n if (ssrMatchMedia !== null) {\n const {\n matches\n } = ssrMatchMedia(query);\n return () => matches;\n }\n return getDefaultSnapshot;\n }, [getDefaultSnapshot, query, ssrMatchMedia, noSsr, matchMedia]);\n const [getSnapshot, subscribe] = React.useMemo(() => {\n if (matchMedia === null) {\n return [getDefaultSnapshot, () => () => {}];\n }\n const mediaQueryList = matchMedia(query);\n return [() => mediaQueryList.matches, notify => {\n // TODO: Use `addEventListener` once support for Safari < 14 is dropped\n mediaQueryList.addListener(notify);\n return () => {\n mediaQueryList.removeListener(notify);\n };\n }];\n }, [getDefaultSnapshot, matchMedia, query]);\n const match = maybeReactUseSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n return match;\n}\nexport default function useMediaQuery(queryInput, options = {}) {\n const theme = useTheme();\n // Wait for jsdom to support the match media feature.\n // All the browsers MUI support have this built-in.\n // This defensive check is here for simplicity.\n // Most of the time, the match media logic isn't central to people tests.\n const supportMatchMedia = typeof window !== 'undefined' && typeof window.matchMedia !== 'undefined';\n const {\n defaultMatches = false,\n matchMedia = supportMatchMedia ? window.matchMedia : null,\n ssrMatchMedia = null,\n noSsr = false\n } = getThemeProps({\n name: 'MuiUseMediaQuery',\n props: options,\n theme\n });\n if (process.env.NODE_ENV !== 'production') {\n if (typeof queryInput === 'function' && theme === null) {\n console.error(['MUI: The `query` argument provided is invalid.', 'You are providing a function without a theme in the context.', 'One of the parent elements needs to use a ThemeProvider.'].join('\\n'));\n }\n }\n let query = typeof queryInput === 'function' ? queryInput(theme) : queryInput;\n query = query.replace(/^@media( ?)/m, '');\n\n // TODO: Drop `useMediaQueryOld` and use `use-sync-external-store` shim in `useMediaQueryNew` once the package is stable\n const useMediaQueryImplementation = maybeReactUseSyncExternalStore !== undefined ? useMediaQueryNew : useMediaQueryOld;\n const match = useMediaQueryImplementation(query, defaultMatches, matchMedia, ssrMatchMedia, noSsr);\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useDebugValue({\n query,\n match\n });\n }\n return match;\n}","function clamp(val, min = Number.MIN_SAFE_INTEGER, max = Number.MAX_SAFE_INTEGER) {\n return Math.max(min, Math.min(val, max));\n}\nexport default clamp;","import _formatMuiErrorMessage from \"@mui/utils/formatMuiErrorMessage\";\n/* eslint-disable @typescript-eslint/naming-convention */\nimport clamp from '@mui/utils/clamp';\n/**\n * Returns a number whose value is limited to the given range.\n * @param {number} value The value to be clamped\n * @param {number} min The lower boundary of the output range\n * @param {number} max The upper boundary of the output range\n * @returns {number} A number in the range [min, max]\n */\nfunction clampWrapper(value, min = 0, max = 1) {\n if (process.env.NODE_ENV !== 'production') {\n if (value < min || value > max) {\n console.error(`MUI: The value provided ${value} is out of range [${min}, ${max}].`);\n }\n }\n return clamp(value, min, max);\n}\n\n/**\n * Converts a color from CSS hex format to CSS rgb format.\n * @param {string} color - Hex color, i.e. #nnn or #nnnnnn\n * @returns {string} A CSS rgb color string\n */\nexport function hexToRgb(color) {\n color = color.slice(1);\n const re = new RegExp(`.{1,${color.length >= 6 ? 2 : 1}}`, 'g');\n let colors = color.match(re);\n if (colors && colors[0].length === 1) {\n colors = colors.map(n => n + n);\n }\n return colors ? `rgb${colors.length === 4 ? 'a' : ''}(${colors.map((n, index) => {\n return index < 3 ? parseInt(n, 16) : Math.round(parseInt(n, 16) / 255 * 1000) / 1000;\n }).join(', ')})` : '';\n}\nfunction intToHex(int) {\n const hex = int.toString(16);\n return hex.length === 1 ? `0${hex}` : hex;\n}\n\n/**\n * Returns an object with the type and values of a color.\n *\n * Note: Does not support rgb % values.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @returns {object} - A MUI color object: {type: string, values: number[]}\n */\nexport function decomposeColor(color) {\n // Idempotent\n if (color.type) {\n return color;\n }\n if (color.charAt(0) === '#') {\n return decomposeColor(hexToRgb(color));\n }\n const marker = color.indexOf('(');\n const type = color.substring(0, marker);\n if (['rgb', 'rgba', 'hsl', 'hsla', 'color'].indexOf(type) === -1) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: Unsupported \\`${color}\\` color.\nThe following formats are supported: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color().` : _formatMuiErrorMessage(9, color));\n }\n let values = color.substring(marker + 1, color.length - 1);\n let colorSpace;\n if (type === 'color') {\n values = values.split(' ');\n colorSpace = values.shift();\n if (values.length === 4 && values[3].charAt(0) === '/') {\n values[3] = values[3].slice(1);\n }\n if (['srgb', 'display-p3', 'a98-rgb', 'prophoto-rgb', 'rec-2020'].indexOf(colorSpace) === -1) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: unsupported \\`${colorSpace}\\` color space.\nThe following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rgb, rec-2020.` : _formatMuiErrorMessage(10, colorSpace));\n }\n } else {\n values = values.split(',');\n }\n values = values.map(value => parseFloat(value));\n return {\n type,\n values,\n colorSpace\n };\n}\n\n/**\n * Returns a channel created from the input color.\n *\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @returns {string} - The channel for the color, that can be used in rgba or hsla colors\n */\nexport const colorChannel = color => {\n const decomposedColor = decomposeColor(color);\n return decomposedColor.values.slice(0, 3).map((val, idx) => decomposedColor.type.indexOf('hsl') !== -1 && idx !== 0 ? `${val}%` : val).join(' ');\n};\nexport const private_safeColorChannel = (color, warning) => {\n try {\n return colorChannel(color);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n};\n\n/**\n * Converts a color object with type and values to a string.\n * @param {object} color - Decomposed color\n * @param {string} color.type - One of: 'rgb', 'rgba', 'hsl', 'hsla', 'color'\n * @param {array} color.values - [n,n,n] or [n,n,n,n]\n * @returns {string} A CSS color string\n */\nexport function recomposeColor(color) {\n const {\n type,\n colorSpace\n } = color;\n let {\n values\n } = color;\n if (type.indexOf('rgb') !== -1) {\n // Only convert the first 3 values to int (i.e. not alpha)\n values = values.map((n, i) => i < 3 ? parseInt(n, 10) : n);\n } else if (type.indexOf('hsl') !== -1) {\n values[1] = `${values[1]}%`;\n values[2] = `${values[2]}%`;\n }\n if (type.indexOf('color') !== -1) {\n values = `${colorSpace} ${values.join(' ')}`;\n } else {\n values = `${values.join(', ')}`;\n }\n return `${type}(${values})`;\n}\n\n/**\n * Converts a color from CSS rgb format to CSS hex format.\n * @param {string} color - RGB color, i.e. rgb(n, n, n)\n * @returns {string} A CSS rgb color string, i.e. #nnnnnn\n */\nexport function rgbToHex(color) {\n // Idempotent\n if (color.indexOf('#') === 0) {\n return color;\n }\n const {\n values\n } = decomposeColor(color);\n return `#${values.map((n, i) => intToHex(i === 3 ? Math.round(255 * n) : n)).join('')}`;\n}\n\n/**\n * Converts a color from hsl format to rgb format.\n * @param {string} color - HSL color values\n * @returns {string} rgb color values\n */\nexport function hslToRgb(color) {\n color = decomposeColor(color);\n const {\n values\n } = color;\n const h = values[0];\n const s = values[1] / 100;\n const l = values[2] / 100;\n const a = s * Math.min(l, 1 - l);\n const f = (n, k = (n + h / 30) % 12) => l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);\n let type = 'rgb';\n const rgb = [Math.round(f(0) * 255), Math.round(f(8) * 255), Math.round(f(4) * 255)];\n if (color.type === 'hsla') {\n type += 'a';\n rgb.push(values[3]);\n }\n return recomposeColor({\n type,\n values: rgb\n });\n}\n/**\n * The relative brightness of any point in a color space,\n * normalized to 0 for darkest black and 1 for lightest white.\n *\n * Formula: https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @returns {number} The relative brightness of the color in the range 0 - 1\n */\nexport function getLuminance(color) {\n color = decomposeColor(color);\n let rgb = color.type === 'hsl' || color.type === 'hsla' ? decomposeColor(hslToRgb(color)).values : color.values;\n rgb = rgb.map(val => {\n if (color.type !== 'color') {\n val /= 255; // normalized\n }\n return val <= 0.03928 ? val / 12.92 : ((val + 0.055) / 1.055) ** 2.4;\n });\n\n // Truncate at 3 digits\n return Number((0.2126 * rgb[0] + 0.7152 * rgb[1] + 0.0722 * rgb[2]).toFixed(3));\n}\n\n/**\n * Calculates the contrast ratio between two colors.\n *\n * Formula: https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests\n * @param {string} foreground - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @param {string} background - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @returns {number} A contrast ratio value in the range 0 - 21.\n */\nexport function getContrastRatio(foreground, background) {\n const lumA = getLuminance(foreground);\n const lumB = getLuminance(background);\n return (Math.max(lumA, lumB) + 0.05) / (Math.min(lumA, lumB) + 0.05);\n}\n\n/**\n * Sets the absolute transparency of a color.\n * Any existing alpha values are overwritten.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} value - value to set the alpha channel to in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nexport function alpha(color, value) {\n color = decomposeColor(color);\n value = clampWrapper(value);\n if (color.type === 'rgb' || color.type === 'hsl') {\n color.type += 'a';\n }\n if (color.type === 'color') {\n color.values[3] = `/${value}`;\n } else {\n color.values[3] = value;\n }\n return recomposeColor(color);\n}\nexport function private_safeAlpha(color, value, warning) {\n try {\n return alpha(color, value);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Darkens a color.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} coefficient - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nexport function darken(color, coefficient) {\n color = decomposeColor(color);\n coefficient = clampWrapper(coefficient);\n if (color.type.indexOf('hsl') !== -1) {\n color.values[2] *= 1 - coefficient;\n } else if (color.type.indexOf('rgb') !== -1 || color.type.indexOf('color') !== -1) {\n for (let i = 0; i < 3; i += 1) {\n color.values[i] *= 1 - coefficient;\n }\n }\n return recomposeColor(color);\n}\nexport function private_safeDarken(color, coefficient, warning) {\n try {\n return darken(color, coefficient);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Lightens a color.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} coefficient - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nexport function lighten(color, coefficient) {\n color = decomposeColor(color);\n coefficient = clampWrapper(coefficient);\n if (color.type.indexOf('hsl') !== -1) {\n color.values[2] += (100 - color.values[2]) * coefficient;\n } else if (color.type.indexOf('rgb') !== -1) {\n for (let i = 0; i < 3; i += 1) {\n color.values[i] += (255 - color.values[i]) * coefficient;\n }\n } else if (color.type.indexOf('color') !== -1) {\n for (let i = 0; i < 3; i += 1) {\n color.values[i] += (1 - color.values[i]) * coefficient;\n }\n }\n return recomposeColor(color);\n}\nexport function private_safeLighten(color, coefficient, warning) {\n try {\n return lighten(color, coefficient);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Darken or lighten a color, depending on its luminance.\n * Light colors are darkened, dark colors are lightened.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} coefficient=0.15 - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nexport function emphasize(color, coefficient = 0.15) {\n return getLuminance(color) > 0.5 ? darken(color, coefficient) : lighten(color, coefficient);\n}\nexport function private_safeEmphasize(color, coefficient, warning) {\n try {\n return emphasize(color, coefficient);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Blend a transparent overlay color with a background color, resulting in a single\n * RGB color.\n * @param {string} background - CSS color\n * @param {string} overlay - CSS color\n * @param {number} opacity - Opacity multiplier in the range 0 - 1\n * @param {number} [gamma=1.0] - Gamma correction factor. For gamma-correct blending, 2.2 is usual.\n */\nexport function blend(background, overlay, opacity, gamma = 1.0) {\n const blendChannel = (b, o) => Math.round((b ** (1 / gamma) * (1 - opacity) + o ** (1 / gamma) * opacity) ** gamma);\n const backgroundColor = decomposeColor(background);\n const overlayColor = decomposeColor(overlay);\n const rgb = [blendChannel(backgroundColor.values[0], overlayColor.values[0]), blendChannel(backgroundColor.values[1], overlayColor.values[1]), blendChannel(backgroundColor.values[2], overlayColor.values[2])];\n return recomposeColor({\n type: 'rgb',\n values: rgb\n });\n}","/**\n * Safe chained function.\n *\n * Will only create a new function if needed,\n * otherwise will pass back existing functions or null.\n */\nexport default function createChainedFunction(...funcs) {\n return funcs.reduce((acc, func) => {\n if (func == null) {\n return acc;\n }\n return function chainedFunction(...args) {\n acc.apply(this, args);\n func.apply(this, args);\n };\n }, () => {});\n}","// Corresponds to 10 frames at 60 Hz.\n// A few bytes payload overhead when lodash/debounce is ~3 kB and debounce ~300 B.\nexport default function debounce(func, wait = 166) {\n let timeout;\n function debounced(...args) {\n const later = () => {\n // @ts-ignore\n func.apply(this, args);\n };\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n }\n debounced.clear = () => {\n clearTimeout(timeout);\n };\n return debounced;\n}","export default function deprecatedPropType(validator, reason) {\n if (process.env.NODE_ENV === 'production') {\n return () => null;\n }\n return (props, propName, componentName, location, propFullName) => {\n const componentNameSafe = componentName || '<<anonymous>>';\n const propFullNameSafe = propFullName || propName;\n if (typeof props[propName] !== 'undefined') {\n return new Error(`The ${location} \\`${propFullNameSafe}\\` of ` + `\\`${componentNameSafe}\\` is deprecated. ${reason}`);\n }\n return null;\n };\n}","import * as React from 'react';\nexport default function isMuiElement(element, muiNames) {\n var _muiName, _element$type;\n return /*#__PURE__*/React.isValidElement(element) && muiNames.indexOf( // For server components `muiName` is avaialble in element.type._payload.value.muiName\n // relevant info - https://github.com/facebook/react/blob/2807d781a08db8e9873687fccc25c0f12b4fb3d4/packages/react/src/ReactLazy.js#L45\n // eslint-disable-next-line no-underscore-dangle\n (_muiName = element.type.muiName) != null ? _muiName : (_element$type = element.type) == null || (_element$type = _element$type._payload) == null || (_element$type = _element$type.value) == null ? void 0 : _element$type.muiName) !== -1;\n}","export default function ownerDocument(node) {\n return node && node.ownerDocument || document;\n}","import ownerDocument from '../ownerDocument';\nexport default function ownerWindow(node) {\n const doc = ownerDocument(node);\n return doc.defaultView || window;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nexport default function requirePropFactory(componentNameInError, Component) {\n if (process.env.NODE_ENV === 'production') {\n return () => null;\n }\n\n // eslint-disable-next-line react/forbid-foreign-prop-types\n const prevPropTypes = Component ? _extends({}, Component.propTypes) : null;\n const requireProp = requiredProp => (props, propName, componentName, location, propFullName, ...args) => {\n const propFullNameSafe = propFullName || propName;\n const defaultTypeChecker = prevPropTypes == null ? void 0 : prevPropTypes[propFullNameSafe];\n if (defaultTypeChecker) {\n const typeCheckerResult = defaultTypeChecker(props, propName, componentName, location, propFullName, ...args);\n if (typeCheckerResult) {\n return typeCheckerResult;\n }\n }\n if (typeof props[propName] !== 'undefined' && !props[requiredProp]) {\n return new Error(`The prop \\`${propFullNameSafe}\\` of ` + `\\`${componentNameInError}\\` can only be used together with the \\`${requiredProp}\\` prop.`);\n }\n return null;\n };\n return requireProp;\n}","/**\n * TODO v5: consider making it private\n *\n * passes {value} to {ref}\n *\n * WARNING: Be sure to only call this inside a callback that is passed as a ref.\n * Otherwise, make sure to cleanup the previous {ref} if it changes. See\n * https://github.com/mui/material-ui/issues/13539\n *\n * Useful if you want to expose the ref of an inner component to the public API\n * while still using it inside the component.\n * @param ref A ref callback or ref object. If anything falsy, this is a no-op.\n */\nexport default function setRef(ref, value) {\n if (typeof ref === 'function') {\n ref(value);\n } else if (ref) {\n ref.current = value;\n }\n}","'use client';\n\nimport * as React from 'react';\nlet globalId = 0;\nfunction useGlobalId(idOverride) {\n const [defaultId, setDefaultId] = React.useState(idOverride);\n const id = idOverride || defaultId;\n React.useEffect(() => {\n if (defaultId == null) {\n // Fallback to this default id when possible.\n // Use the incrementing value for client-side rendering only.\n // We can't use it server-side.\n // If you want to use random values please consider the Birthday Problem: https://en.wikipedia.org/wiki/Birthday_problem\n globalId += 1;\n setDefaultId(`mui-${globalId}`);\n }\n }, [defaultId]);\n return id;\n}\n\n// downstream bundlers may remove unnecessary concatenation, but won't remove toString call -- Workaround for https://github.com/webpack/webpack/issues/14814\nconst maybeReactUseId = React['useId'.toString()];\n/**\n *\n * @example <div id={useId()} />\n * @param idOverride\n * @returns {string}\n */\nexport default function useId(idOverride) {\n if (maybeReactUseId !== undefined) {\n const reactId = maybeReactUseId();\n return idOverride != null ? idOverride : reactId;\n }\n // eslint-disable-next-line react-hooks/rules-of-hooks -- `React.useId` is invariant at runtime.\n return useGlobalId(idOverride);\n}","export default function unsupportedProp(props, propName, componentName, location, propFullName) {\n if (process.env.NODE_ENV === 'production') {\n return null;\n }\n const propFullNameSafe = propFullName || propName;\n if (typeof props[propName] !== 'undefined') {\n return new Error(`The prop \\`${propFullNameSafe}\\` is not supported. Please remove it.`);\n }\n return null;\n}","'use client';\n\n/* eslint-disable react-hooks/rules-of-hooks, react-hooks/exhaustive-deps */\nimport * as React from 'react';\nexport default function useControlled({\n controlled,\n default: defaultProp,\n name,\n state = 'value'\n}) {\n // isControlled is ignored in the hook dependency lists as it should never change.\n const {\n current: isControlled\n } = React.useRef(controlled !== undefined);\n const [valueState, setValue] = React.useState(defaultProp);\n const value = isControlled ? controlled : valueState;\n if (process.env.NODE_ENV !== 'production') {\n React.useEffect(() => {\n if (isControlled !== (controlled !== undefined)) {\n console.error([`MUI: A component is changing the ${isControlled ? '' : 'un'}controlled ${state} state of ${name} to be ${isControlled ? 'un' : ''}controlled.`, 'Elements should not switch from uncontrolled to controlled (or vice versa).', `Decide between using a controlled or uncontrolled ${name} ` + 'element for the lifetime of the component.', \"The nature of the state is determined during the first render. It's considered controlled if the value is not `undefined`.\", 'More info: https://fb.me/react-controlled-components'].join('\\n'));\n }\n }, [state, name, controlled]);\n const {\n current: defaultValue\n } = React.useRef(defaultProp);\n React.useEffect(() => {\n if (!isControlled && !Object.is(defaultValue, defaultProp)) {\n console.error([`MUI: A component is changing the default ${state} state of an uncontrolled ${name} after being initialized. ` + `To suppress this warning opt to use a controlled ${name}.`].join('\\n'));\n }\n }, [JSON.stringify(defaultProp)]);\n }\n const setValueIfUncontrolled = React.useCallback(newValue => {\n if (!isControlled) {\n setValue(newValue);\n }\n }, []);\n return [value, setValueIfUncontrolled];\n}","'use client';\n\nimport * as React from 'react';\nimport useEnhancedEffect from '../useEnhancedEffect';\n\n/**\n * Inspired by https://github.com/facebook/react/issues/14099#issuecomment-440013892\n * See RFC in https://github.com/reactjs/rfcs/pull/220\n */\n\nfunction useEventCallback(fn) {\n const ref = React.useRef(fn);\n useEnhancedEffect(() => {\n ref.current = fn;\n });\n return React.useRef((...args) =>\n // @ts-expect-error hide `this`\n (0, ref.current)(...args)).current;\n}\nexport default useEventCallback;","'use client';\n\nimport * as React from 'react';\nimport setRef from '../setRef';\nexport default function useForkRef(...refs) {\n /**\n * This will create a new function if the refs passed to this hook change and are all defined.\n * This means react will call the old forkRef with `null` and the new forkRef\n * with the ref. Cleanup naturally emerges from this behavior.\n */\n return React.useMemo(() => {\n if (refs.every(ref => ref == null)) {\n return null;\n }\n return instance => {\n refs.forEach(ref => {\n setRef(ref, instance);\n });\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, refs);\n}","'use client';\n\nimport * as React from 'react';\nconst UNINITIALIZED = {};\n\n/**\n * A React.useRef() that is initialized lazily with a function. Note that it accepts an optional\n * initialization argument, so the initialization function doesn't need to be an inline closure.\n *\n * @usage\n * const ref = useLazyRef(sortColumns, columns)\n */\nexport default function useLazyRef(init, initArg) {\n const ref = React.useRef(UNINITIALIZED);\n if (ref.current === UNINITIALIZED) {\n ref.current = init(initArg);\n }\n return ref;\n}","'use client';\n\nimport * as React from 'react';\nconst EMPTY = [];\n\n/**\n * A React.useEffect equivalent that runs once, when the component is mounted.\n */\nexport default function useOnMount(fn) {\n /* eslint-disable react-hooks/exhaustive-deps */\n React.useEffect(fn, EMPTY);\n /* eslint-enable react-hooks/exhaustive-deps */\n}","'use client';\n\nimport useLazyRef from '../useLazyRef/useLazyRef';\nimport useOnMount from '../useOnMount/useOnMount';\nexport class Timeout {\n constructor() {\n this.currentId = null;\n this.clear = () => {\n if (this.currentId !== null) {\n clearTimeout(this.currentId);\n this.currentId = null;\n }\n };\n this.disposeEffect = () => {\n return this.clear;\n };\n }\n static create() {\n return new Timeout();\n }\n /**\n * Executes `fn` after `delay`, clearing any previously scheduled call.\n */\n start(delay, fn) {\n this.clear();\n this.currentId = setTimeout(() => {\n this.currentId = null;\n fn();\n }, delay);\n }\n}\nexport default function useTimeout() {\n const timeout = useLazyRef(Timeout.create).current;\n useOnMount(timeout.disposeEffect);\n return timeout;\n}","'use client';\n\n// based on https://github.com/WICG/focus-visible/blob/v4.1.5/src/focus-visible.js\nimport * as React from 'react';\nimport { Timeout } from '../useTimeout/useTimeout';\nlet hadKeyboardEvent = true;\nlet hadFocusVisibleRecently = false;\nconst hadFocusVisibleRecentlyTimeout = new Timeout();\nconst inputTypesWhitelist = {\n text: true,\n search: true,\n url: true,\n tel: true,\n email: true,\n password: true,\n number: true,\n date: true,\n month: true,\n week: true,\n time: true,\n datetime: true,\n 'datetime-local': true\n};\n\n/**\n * Computes whether the given element should automatically trigger the\n * `focus-visible` class being added, i.e. whether it should always match\n * `:focus-visible` when focused.\n * @param {Element} node\n * @returns {boolean}\n */\nfunction focusTriggersKeyboardModality(node) {\n const {\n type,\n tagName\n } = node;\n if (tagName === 'INPUT' && inputTypesWhitelist[type] && !node.readOnly) {\n return true;\n }\n if (tagName === 'TEXTAREA' && !node.readOnly) {\n return true;\n }\n if (node.isContentEditable) {\n return true;\n }\n return false;\n}\n\n/**\n * Keep track of our keyboard modality state with `hadKeyboardEvent`.\n * If the most recent user interaction was via the keyboard;\n * and the key press did not include a meta, alt/option, or control key;\n * then the modality is keyboard. Otherwise, the modality is not keyboard.\n * @param {KeyboardEvent} event\n */\nfunction handleKeyDown(event) {\n if (event.metaKey || event.altKey || event.ctrlKey) {\n return;\n }\n hadKeyboardEvent = true;\n}\n\n/**\n * If at any point a user clicks with a pointing device, ensure that we change\n * the modality away from keyboard.\n * This avoids the situation where a user presses a key on an already focused\n * element, and then clicks on a different element, focusing it with a\n * pointing device, while we still think we're in keyboard modality.\n */\nfunction handlePointerDown() {\n hadKeyboardEvent = false;\n}\nfunction handleVisibilityChange() {\n if (this.visibilityState === 'hidden') {\n // If the tab becomes active again, the browser will handle calling focus\n // on the element (Safari actually calls it twice).\n // If this tab change caused a blur on an element with focus-visible,\n // re-apply the class when the user switches back to the tab.\n if (hadFocusVisibleRecently) {\n hadKeyboardEvent = true;\n }\n }\n}\nfunction prepare(doc) {\n doc.addEventListener('keydown', handleKeyDown, true);\n doc.addEventListener('mousedown', handlePointerDown, true);\n doc.addEventListener('pointerdown', handlePointerDown, true);\n doc.addEventListener('touchstart', handlePointerDown, true);\n doc.addEventListener('visibilitychange', handleVisibilityChange, true);\n}\nexport function teardown(doc) {\n doc.removeEventListener('keydown', handleKeyDown, true);\n doc.removeEventListener('mousedown', handlePointerDown, true);\n doc.removeEventListener('pointerdown', handlePointerDown, true);\n doc.removeEventListener('touchstart', handlePointerDown, true);\n doc.removeEventListener('visibilitychange', handleVisibilityChange, true);\n}\nfunction isFocusVisible(event) {\n const {\n target\n } = event;\n try {\n return target.matches(':focus-visible');\n } catch (error) {\n // Browsers not implementing :focus-visible will throw a SyntaxError.\n // We use our own heuristic for those browsers.\n // Rethrow might be better if it's not the expected error but do we really\n // want to crash if focus-visible malfunctioned?\n }\n\n // No need for validFocusTarget check. The user does that by attaching it to\n // focusable events only.\n return hadKeyboardEvent || focusTriggersKeyboardModality(target);\n}\nexport default function useIsFocusVisible() {\n const ref = React.useCallback(node => {\n if (node != null) {\n prepare(node.ownerDocument);\n }\n }, []);\n const isFocusVisibleRef = React.useRef(false);\n\n /**\n * Should be called if a blur event is fired\n */\n function handleBlurVisible() {\n // checking against potential state variable does not suffice if we focus and blur synchronously.\n // React wouldn't have time to trigger a re-render so `focusVisible` would be stale.\n // Ideally we would adjust `isFocusVisible(event)` to look at `relatedTarget` for blur events.\n // This doesn't work in IE11 due to https://github.com/facebook/react/issues/3751\n // TODO: check again if React releases their internal changes to focus event handling (https://github.com/facebook/react/pull/19186).\n if (isFocusVisibleRef.current) {\n // To detect a tab/window switch, we look for a blur event followed\n // rapidly by a visibility change.\n // If we don't see a visibility change within 100ms, it's probably a\n // regular focus change.\n hadFocusVisibleRecently = true;\n hadFocusVisibleRecentlyTimeout.start(100, () => {\n hadFocusVisibleRecently = false;\n });\n isFocusVisibleRef.current = false;\n return true;\n }\n return false;\n }\n\n /**\n * Should be called if a blur event is fired\n */\n function handleFocusVisible(event) {\n if (isFocusVisible(event)) {\n isFocusVisibleRef.current = true;\n return true;\n }\n return false;\n }\n return {\n isFocusVisibleRef,\n onFocus: handleFocusVisible,\n onBlur: handleBlurVisible,\n ref\n };\n}","// A change of the browser zoom change the scrollbar size.\n// Credit https://github.com/twbs/bootstrap/blob/488fd8afc535ca3a6ad4dc581f5e89217b6a36ac/js/src/util/scrollbar.js#L14-L18\nexport default function getScrollbarSize(doc) {\n // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes\n const documentWidth = doc.documentElement.clientWidth;\n return Math.abs(window.innerWidth - documentWidth);\n}","// Source from https://github.com/alitaheri/normalize-scroll-left\nlet cachedType;\n\n/**\n * Based on the jquery plugin https://github.com/othree/jquery.rtl-scroll-type\n *\n * Types of scrollLeft, assuming scrollWidth=100 and direction is rtl.\n *\n * Type | <- Most Left | Most Right -> | Initial\n * ---------------- | ------------ | ------------- | -------\n * default | 0 | 100 | 100\n * negative (spec*) | -100 | 0 | 0\n * reverse | 100 | 0 | 0\n *\n * Edge 85: default\n * Safari 14: negative\n * Chrome 85: negative\n * Firefox 81: negative\n * IE11: reverse\n *\n * spec* https://drafts.csswg.org/cssom-view/#dom-window-scroll\n */\nexport function detectScrollType() {\n if (cachedType) {\n return cachedType;\n }\n const dummy = document.createElement('div');\n const container = document.createElement('div');\n container.style.width = '10px';\n container.style.height = '1px';\n dummy.appendChild(container);\n dummy.dir = 'rtl';\n dummy.style.fontSize = '14px';\n dummy.style.width = '4px';\n dummy.style.height = '1px';\n dummy.style.position = 'absolute';\n dummy.style.top = '-1000px';\n dummy.style.overflow = 'scroll';\n document.body.appendChild(dummy);\n cachedType = 'reverse';\n if (dummy.scrollLeft > 0) {\n cachedType = 'default';\n } else {\n dummy.scrollLeft = 1;\n if (dummy.scrollLeft === 0) {\n cachedType = 'negative';\n }\n }\n document.body.removeChild(dummy);\n return cachedType;\n}\n\n// Based on https://stackoverflow.com/a/24394376\nexport function getNormalizedScrollLeft(element, direction) {\n const scrollLeft = element.scrollLeft;\n\n // Perform the calculations only when direction is rtl to avoid messing up the ltr behavior\n if (direction !== 'rtl') {\n return scrollLeft;\n }\n const type = detectScrollType();\n switch (type) {\n case 'negative':\n return element.scrollWidth - element.clientWidth + scrollLeft;\n case 'reverse':\n return element.scrollWidth - element.clientWidth - scrollLeft;\n default:\n return scrollLeft;\n }\n}","'use client';\n\nimport * as React from 'react';\nconst usePreviousProps = value => {\n const ref = React.useRef({});\n React.useEffect(() => {\n ref.current = value;\n });\n return ref.current;\n};\nexport default usePreviousProps;","export default function composeClasses(slots, getUtilityClass, classes = undefined) {\n const output = {};\n Object.keys(slots).forEach(\n // `Object.keys(slots)` can't be wider than `T` because we infer `T` from `slots`.\n // @ts-expect-error https://github.com/microsoft/TypeScript/pull/12253#issuecomment-263132208\n slot => {\n output[slot] = slots[slot].reduce((acc, key) => {\n if (key) {\n const utilityClass = getUtilityClass(key);\n if (utilityClass !== '') {\n acc.push(utilityClass);\n }\n if (classes && classes[key]) {\n acc.push(classes[key]);\n }\n }\n return acc;\n }, []).join(' ');\n });\n return output;\n}","import * as React from 'react';\nconst ThemeContext = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== 'production') {\n ThemeContext.displayName = 'ThemeContext';\n}\nexport default ThemeContext;","import * as React from 'react';\nimport ThemeContext from './ThemeContext';\nexport default function useTheme() {\n const theme = React.useContext(ThemeContext);\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useDebugValue(theme);\n }\n return theme;\n}","const hasSymbol = typeof Symbol === 'function' && Symbol.for;\nexport default hasSymbol ? Symbol.for('mui.nested') : '__THEME_NESTED__';","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { exactProp } from '@mui/utils';\nimport ThemeContext from '../useTheme/ThemeContext';\nimport useTheme from '../useTheme';\nimport nested from './nested';\n\n// To support composition of theme.\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction mergeOuterLocalTheme(outerTheme, localTheme) {\n if (typeof localTheme === 'function') {\n const mergedTheme = localTheme(outerTheme);\n if (process.env.NODE_ENV !== 'production') {\n if (!mergedTheme) {\n console.error(['MUI: You should return an object from your theme function, i.e.', '<ThemeProvider theme={() => ({})} />'].join('\\n'));\n }\n }\n return mergedTheme;\n }\n return _extends({}, outerTheme, localTheme);\n}\n\n/**\n * This component takes a `theme` prop.\n * It makes the `theme` available down the React tree thanks to React context.\n * This component should preferably be used at **the root of your component tree**.\n */\nfunction ThemeProvider(props) {\n const {\n children,\n theme: localTheme\n } = props;\n const outerTheme = useTheme();\n if (process.env.NODE_ENV !== 'production') {\n if (outerTheme === null && typeof localTheme === 'function') {\n console.error(['MUI: You are providing a theme function prop to the ThemeProvider component:', '<ThemeProvider theme={outerTheme => outerTheme} />', '', 'However, no outer theme is present.', 'Make sure a theme is already injected higher in the React tree ' + 'or provide a theme object.'].join('\\n'));\n }\n }\n const theme = React.useMemo(() => {\n const output = outerTheme === null ? localTheme : mergeOuterLocalTheme(outerTheme, localTheme);\n if (output != null) {\n output[nested] = outerTheme !== null;\n }\n return output;\n }, [localTheme, outerTheme]);\n return /*#__PURE__*/_jsx(ThemeContext.Provider, {\n value: theme,\n children: children\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? ThemeProvider.propTypes = {\n /**\n * Your component tree.\n */\n children: PropTypes.node,\n /**\n * A theme object. You can provide a function to extend the outer theme.\n */\n theme: PropTypes.oneOfType([PropTypes.object, PropTypes.func]).isRequired\n} : void 0;\nif (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== \"production\" ? ThemeProvider.propTypes = exactProp(ThemeProvider.propTypes) : void 0;\n}\nexport default ThemeProvider;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"value\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst RtlContext = /*#__PURE__*/React.createContext();\nfunction RtlProvider(_ref) {\n let {\n value\n } = _ref,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n return /*#__PURE__*/_jsx(RtlContext.Provider, _extends({\n value: value != null ? value : true\n }, props));\n}\nprocess.env.NODE_ENV !== \"production\" ? RtlProvider.propTypes = {\n children: PropTypes.node,\n value: PropTypes.bool\n} : void 0;\nexport const useRtl = () => {\n const value = React.useContext(RtlContext);\n return value != null ? value : false;\n};\nexport default RtlProvider;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { ThemeProvider as MuiThemeProvider, useTheme as usePrivateTheme } from '@mui/private-theming';\nimport exactProp from '@mui/utils/exactProp';\nimport { ThemeContext as StyledEngineThemeContext } from '@mui/styled-engine';\nimport useThemeWithoutDefault from '../useThemeWithoutDefault';\nimport RtlProvider from '../RtlProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst EMPTY_THEME = {};\nfunction useThemeScoping(themeId, upperTheme, localTheme, isPrivate = false) {\n return React.useMemo(() => {\n const resolvedTheme = themeId ? upperTheme[themeId] || upperTheme : upperTheme;\n if (typeof localTheme === 'function') {\n const mergedTheme = localTheme(resolvedTheme);\n const result = themeId ? _extends({}, upperTheme, {\n [themeId]: mergedTheme\n }) : mergedTheme;\n // must return a function for the private theme to NOT merge with the upper theme.\n // see the test case \"use provided theme from a callback\" in ThemeProvider.test.js\n if (isPrivate) {\n return () => result;\n }\n return result;\n }\n return themeId ? _extends({}, upperTheme, {\n [themeId]: localTheme\n }) : _extends({}, upperTheme, localTheme);\n }, [themeId, upperTheme, localTheme, isPrivate]);\n}\n\n/**\n * This component makes the `theme` available down the React tree.\n * It should preferably be used at **the root of your component tree**.\n *\n * <ThemeProvider theme={theme}> // existing use case\n * <ThemeProvider theme={{ id: theme }}> // theme scoping\n */\nfunction ThemeProvider(props) {\n const {\n children,\n theme: localTheme,\n themeId\n } = props;\n const upperTheme = useThemeWithoutDefault(EMPTY_THEME);\n const upperPrivateTheme = usePrivateTheme() || EMPTY_THEME;\n if (process.env.NODE_ENV !== 'production') {\n if (upperTheme === null && typeof localTheme === 'function' || themeId && upperTheme && !upperTheme[themeId] && typeof localTheme === 'function') {\n console.error(['MUI: You are providing a theme function prop to the ThemeProvider component:', '<ThemeProvider theme={outerTheme => outerTheme} />', '', 'However, no outer theme is present.', 'Make sure a theme is already injected higher in the React tree ' + 'or provide a theme object.'].join('\\n'));\n }\n }\n const engineTheme = useThemeScoping(themeId, upperTheme, localTheme);\n const privateTheme = useThemeScoping(themeId, upperPrivateTheme, localTheme, true);\n const rtlValue = engineTheme.direction === 'rtl';\n return /*#__PURE__*/_jsx(MuiThemeProvider, {\n theme: privateTheme,\n children: /*#__PURE__*/_jsx(StyledEngineThemeContext.Provider, {\n value: engineTheme,\n children: /*#__PURE__*/_jsx(RtlProvider, {\n value: rtlValue,\n children: children\n })\n })\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? ThemeProvider.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Your component tree.\n */\n children: PropTypes.node,\n /**\n * A theme object. You can provide a function to extend the outer theme.\n */\n theme: PropTypes.oneOfType([PropTypes.func, PropTypes.object]).isRequired,\n /**\n * The design system's unique id for getting the corresponded theme when there are multiple design systems.\n */\n themeId: PropTypes.string\n} : void 0;\nif (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== \"production\" ? ThemeProvider.propTypes = exactProp(ThemeProvider.propTypes) : void 0;\n}\nexport default ThemeProvider;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"component\", \"disableGutters\", \"fixed\", \"maxWidth\", \"classes\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nimport composeClasses from '@mui/utils/composeClasses';\nimport capitalize from '@mui/utils/capitalize';\nimport useThemePropsSystem from '../useThemeProps';\nimport systemStyled from '../styled';\nimport createTheme from '../createTheme';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst defaultTheme = createTheme();\nconst defaultCreateStyledComponent = systemStyled('div', {\n name: 'MuiContainer',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`maxWidth${capitalize(String(ownerState.maxWidth))}`], ownerState.fixed && styles.fixed, ownerState.disableGutters && styles.disableGutters];\n }\n});\nconst useThemePropsDefault = inProps => useThemePropsSystem({\n props: inProps,\n name: 'MuiContainer',\n defaultTheme\n});\nconst useUtilityClasses = (ownerState, componentName) => {\n const getContainerUtilityClass = slot => {\n return generateUtilityClass(componentName, slot);\n };\n const {\n classes,\n fixed,\n disableGutters,\n maxWidth\n } = ownerState;\n const slots = {\n root: ['root', maxWidth && `maxWidth${capitalize(String(maxWidth))}`, fixed && 'fixed', disableGutters && 'disableGutters']\n };\n return composeClasses(slots, getContainerUtilityClass, classes);\n};\nexport default function createContainer(options = {}) {\n const {\n // This will allow adding custom styled fn (for example for custom sx style function)\n createStyledComponent = defaultCreateStyledComponent,\n useThemeProps = useThemePropsDefault,\n componentName = 'MuiContainer'\n } = options;\n const ContainerRoot = createStyledComponent(({\n theme,\n ownerState\n }) => _extends({\n width: '100%',\n marginLeft: 'auto',\n boxSizing: 'border-box',\n marginRight: 'auto',\n display: 'block'\n }, !ownerState.disableGutters && {\n paddingLeft: theme.spacing(2),\n paddingRight: theme.spacing(2),\n // @ts-ignore module augmentation fails if custom breakpoints are used\n [theme.breakpoints.up('sm')]: {\n paddingLeft: theme.spacing(3),\n paddingRight: theme.spacing(3)\n }\n }), ({\n theme,\n ownerState\n }) => ownerState.fixed && Object.keys(theme.breakpoints.values).reduce((acc, breakpointValueKey) => {\n const breakpoint = breakpointValueKey;\n const value = theme.breakpoints.values[breakpoint];\n if (value !== 0) {\n // @ts-ignore\n acc[theme.breakpoints.up(breakpoint)] = {\n maxWidth: `${value}${theme.breakpoints.unit}`\n };\n }\n return acc;\n }, {}), ({\n theme,\n ownerState\n }) => _extends({}, ownerState.maxWidth === 'xs' && {\n // @ts-ignore module augmentation fails if custom breakpoints are used\n [theme.breakpoints.up('xs')]: {\n // @ts-ignore module augmentation fails if custom breakpoints are used\n maxWidth: Math.max(theme.breakpoints.values.xs, 444)\n }\n }, ownerState.maxWidth &&\n // @ts-ignore module augmentation fails if custom breakpoints are used\n ownerState.maxWidth !== 'xs' && {\n // @ts-ignore module augmentation fails if custom breakpoints are used\n [theme.breakpoints.up(ownerState.maxWidth)]: {\n // @ts-ignore module augmentation fails if custom breakpoints are used\n maxWidth: `${theme.breakpoints.values[ownerState.maxWidth]}${theme.breakpoints.unit}`\n }\n }));\n const Container = /*#__PURE__*/React.forwardRef(function Container(inProps, ref) {\n const props = useThemeProps(inProps);\n const {\n className,\n component = 'div',\n disableGutters = false,\n fixed = false,\n maxWidth = 'lg'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n component,\n disableGutters,\n fixed,\n maxWidth\n });\n\n // @ts-ignore module augmentation fails if custom breakpoints are used\n const classes = useUtilityClasses(ownerState, componentName);\n return (\n /*#__PURE__*/\n // @ts-ignore theme is injected by the styled util\n _jsx(ContainerRoot, _extends({\n as: component\n // @ts-ignore module augmentation fails if custom breakpoints are used\n ,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other))\n );\n });\n process.env.NODE_ENV !== \"production\" ? Container.propTypes /* remove-proptypes */ = {\n children: PropTypes.node,\n classes: PropTypes.object,\n className: PropTypes.string,\n component: PropTypes.elementType,\n disableGutters: PropTypes.bool,\n fixed: PropTypes.bool,\n maxWidth: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['xs', 'sm', 'md', 'lg', 'xl', false]), PropTypes.string]),\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n } : void 0;\n return Container;\n}","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"component\", \"direction\", \"spacing\", \"divider\", \"children\", \"className\", \"useFlexGap\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport deepmerge from '@mui/utils/deepmerge';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nimport composeClasses from '@mui/utils/composeClasses';\nimport systemStyled from '../styled';\nimport useThemePropsSystem from '../useThemeProps';\nimport { extendSxProp } from '../styleFunctionSx';\nimport createTheme from '../createTheme';\nimport { handleBreakpoints, mergeBreakpointsInOrder, resolveBreakpointValues } from '../breakpoints';\nimport { createUnarySpacing, getValue } from '../spacing';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst defaultTheme = createTheme();\n// widening Theme to any so that the consumer can own the theme structure.\nconst defaultCreateStyledComponent = systemStyled('div', {\n name: 'MuiStack',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n});\nfunction useThemePropsDefault(props) {\n return useThemePropsSystem({\n props,\n name: 'MuiStack',\n defaultTheme\n });\n}\n\n/**\n * Return an array with the separator React element interspersed between\n * each React node of the input children.\n *\n * > joinChildren([1,2,3], 0)\n * [1,0,2,0,3]\n */\nfunction joinChildren(children, separator) {\n const childrenArray = React.Children.toArray(children).filter(Boolean);\n return childrenArray.reduce((output, child, index) => {\n output.push(child);\n if (index < childrenArray.length - 1) {\n output.push( /*#__PURE__*/React.cloneElement(separator, {\n key: `separator-${index}`\n }));\n }\n return output;\n }, []);\n}\nconst getSideFromDirection = direction => {\n return {\n row: 'Left',\n 'row-reverse': 'Right',\n column: 'Top',\n 'column-reverse': 'Bottom'\n }[direction];\n};\nexport const style = ({\n ownerState,\n theme\n}) => {\n let styles = _extends({\n display: 'flex',\n flexDirection: 'column'\n }, handleBreakpoints({\n theme\n }, resolveBreakpointValues({\n values: ownerState.direction,\n breakpoints: theme.breakpoints.values\n }), propValue => ({\n flexDirection: propValue\n })));\n if (ownerState.spacing) {\n const transformer = createUnarySpacing(theme);\n const base = Object.keys(theme.breakpoints.values).reduce((acc, breakpoint) => {\n if (typeof ownerState.spacing === 'object' && ownerState.spacing[breakpoint] != null || typeof ownerState.direction === 'object' && ownerState.direction[breakpoint] != null) {\n acc[breakpoint] = true;\n }\n return acc;\n }, {});\n const directionValues = resolveBreakpointValues({\n values: ownerState.direction,\n base\n });\n const spacingValues = resolveBreakpointValues({\n values: ownerState.spacing,\n base\n });\n if (typeof directionValues === 'object') {\n Object.keys(directionValues).forEach((breakpoint, index, breakpoints) => {\n const directionValue = directionValues[breakpoint];\n if (!directionValue) {\n const previousDirectionValue = index > 0 ? directionValues[breakpoints[index - 1]] : 'column';\n directionValues[breakpoint] = previousDirectionValue;\n }\n });\n }\n const styleFromPropValue = (propValue, breakpoint) => {\n if (ownerState.useFlexGap) {\n return {\n gap: getValue(transformer, propValue)\n };\n }\n return {\n // The useFlexGap={false} implement relies on each child to give up control of the margin.\n // We need to reset the margin to avoid double spacing.\n '& > :not(style):not(style)': {\n margin: 0\n },\n '& > :not(style) ~ :not(style)': {\n [`margin${getSideFromDirection(breakpoint ? directionValues[breakpoint] : ownerState.direction)}`]: getValue(transformer, propValue)\n }\n };\n };\n styles = deepmerge(styles, handleBreakpoints({\n theme\n }, spacingValues, styleFromPropValue));\n }\n styles = mergeBreakpointsInOrder(theme.breakpoints, styles);\n return styles;\n};\nexport default function createStack(options = {}) {\n const {\n // This will allow adding custom styled fn (for example for custom sx style function)\n createStyledComponent = defaultCreateStyledComponent,\n useThemeProps = useThemePropsDefault,\n componentName = 'MuiStack'\n } = options;\n const useUtilityClasses = () => {\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, slot => generateUtilityClass(componentName, slot), {});\n };\n const StackRoot = createStyledComponent(style);\n const Stack = /*#__PURE__*/React.forwardRef(function Grid(inProps, ref) {\n const themeProps = useThemeProps(inProps);\n const props = extendSxProp(themeProps); // `color` type conflicts with html color attribute.\n const {\n component = 'div',\n direction = 'column',\n spacing = 0,\n divider,\n children,\n className,\n useFlexGap = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = {\n direction,\n spacing,\n useFlexGap\n };\n const classes = useUtilityClasses();\n return /*#__PURE__*/_jsx(StackRoot, _extends({\n as: component,\n ownerState: ownerState,\n ref: ref,\n className: clsx(classes.root, className)\n }, other, {\n children: divider ? joinChildren(children, divider) : children\n }));\n });\n process.env.NODE_ENV !== \"production\" ? Stack.propTypes /* remove-proptypes */ = {\n children: PropTypes.node,\n direction: PropTypes.oneOfType([PropTypes.oneOf(['column-reverse', 'column', 'row-reverse', 'row']), PropTypes.arrayOf(PropTypes.oneOf(['column-reverse', 'column', 'row-reverse', 'row'])), PropTypes.object]),\n divider: PropTypes.node,\n spacing: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string])), PropTypes.number, PropTypes.object, PropTypes.string]),\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n } : void 0;\n return Stack;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nexport default function createMixins(breakpoints, mixins) {\n return _extends({\n toolbar: {\n minHeight: 56,\n [breakpoints.up('xs')]: {\n '@media (orientation: landscape)': {\n minHeight: 48\n }\n },\n [breakpoints.up('sm')]: {\n minHeight: 64\n }\n }\n }, mixins);\n}","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.alpha = alpha;\nexports.blend = blend;\nexports.colorChannel = void 0;\nexports.darken = darken;\nexports.decomposeColor = decomposeColor;\nexports.emphasize = emphasize;\nexports.getContrastRatio = getContrastRatio;\nexports.getLuminance = getLuminance;\nexports.hexToRgb = hexToRgb;\nexports.hslToRgb = hslToRgb;\nexports.lighten = lighten;\nexports.private_safeAlpha = private_safeAlpha;\nexports.private_safeColorChannel = void 0;\nexports.private_safeDarken = private_safeDarken;\nexports.private_safeEmphasize = private_safeEmphasize;\nexports.private_safeLighten = private_safeLighten;\nexports.recomposeColor = recomposeColor;\nexports.rgbToHex = rgbToHex;\nvar _formatMuiErrorMessage2 = _interopRequireDefault(require(\"@mui/utils/formatMuiErrorMessage\"));\nvar _clamp = _interopRequireDefault(require(\"@mui/utils/clamp\"));\n/* eslint-disable @typescript-eslint/naming-convention */\n\n/**\n * Returns a number whose value is limited to the given range.\n * @param {number} value The value to be clamped\n * @param {number} min The lower boundary of the output range\n * @param {number} max The upper boundary of the output range\n * @returns {number} A number in the range [min, max]\n */\nfunction clampWrapper(value, min = 0, max = 1) {\n if (process.env.NODE_ENV !== 'production') {\n if (value < min || value > max) {\n console.error(`MUI: The value provided ${value} is out of range [${min}, ${max}].`);\n }\n }\n return (0, _clamp.default)(value, min, max);\n}\n\n/**\n * Converts a color from CSS hex format to CSS rgb format.\n * @param {string} color - Hex color, i.e. #nnn or #nnnnnn\n * @returns {string} A CSS rgb color string\n */\nfunction hexToRgb(color) {\n color = color.slice(1);\n const re = new RegExp(`.{1,${color.length >= 6 ? 2 : 1}}`, 'g');\n let colors = color.match(re);\n if (colors && colors[0].length === 1) {\n colors = colors.map(n => n + n);\n }\n return colors ? `rgb${colors.length === 4 ? 'a' : ''}(${colors.map((n, index) => {\n return index < 3 ? parseInt(n, 16) : Math.round(parseInt(n, 16) / 255 * 1000) / 1000;\n }).join(', ')})` : '';\n}\nfunction intToHex(int) {\n const hex = int.toString(16);\n return hex.length === 1 ? `0${hex}` : hex;\n}\n\n/**\n * Returns an object with the type and values of a color.\n *\n * Note: Does not support rgb % values.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @returns {object} - A MUI color object: {type: string, values: number[]}\n */\nfunction decomposeColor(color) {\n // Idempotent\n if (color.type) {\n return color;\n }\n if (color.charAt(0) === '#') {\n return decomposeColor(hexToRgb(color));\n }\n const marker = color.indexOf('(');\n const type = color.substring(0, marker);\n if (['rgb', 'rgba', 'hsl', 'hsla', 'color'].indexOf(type) === -1) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: Unsupported \\`${color}\\` color.\nThe following formats are supported: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color().` : (0, _formatMuiErrorMessage2.default)(9, color));\n }\n let values = color.substring(marker + 1, color.length - 1);\n let colorSpace;\n if (type === 'color') {\n values = values.split(' ');\n colorSpace = values.shift();\n if (values.length === 4 && values[3].charAt(0) === '/') {\n values[3] = values[3].slice(1);\n }\n if (['srgb', 'display-p3', 'a98-rgb', 'prophoto-rgb', 'rec-2020'].indexOf(colorSpace) === -1) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: unsupported \\`${colorSpace}\\` color space.\nThe following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rgb, rec-2020.` : (0, _formatMuiErrorMessage2.default)(10, colorSpace));\n }\n } else {\n values = values.split(',');\n }\n values = values.map(value => parseFloat(value));\n return {\n type,\n values,\n colorSpace\n };\n}\n\n/**\n * Returns a channel created from the input color.\n *\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @returns {string} - The channel for the color, that can be used in rgba or hsla colors\n */\nconst colorChannel = color => {\n const decomposedColor = decomposeColor(color);\n return decomposedColor.values.slice(0, 3).map((val, idx) => decomposedColor.type.indexOf('hsl') !== -1 && idx !== 0 ? `${val}%` : val).join(' ');\n};\nexports.colorChannel = colorChannel;\nconst private_safeColorChannel = (color, warning) => {\n try {\n return colorChannel(color);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n};\n\n/**\n * Converts a color object with type and values to a string.\n * @param {object} color - Decomposed color\n * @param {string} color.type - One of: 'rgb', 'rgba', 'hsl', 'hsla', 'color'\n * @param {array} color.values - [n,n,n] or [n,n,n,n]\n * @returns {string} A CSS color string\n */\nexports.private_safeColorChannel = private_safeColorChannel;\nfunction recomposeColor(color) {\n const {\n type,\n colorSpace\n } = color;\n let {\n values\n } = color;\n if (type.indexOf('rgb') !== -1) {\n // Only convert the first 3 values to int (i.e. not alpha)\n values = values.map((n, i) => i < 3 ? parseInt(n, 10) : n);\n } else if (type.indexOf('hsl') !== -1) {\n values[1] = `${values[1]}%`;\n values[2] = `${values[2]}%`;\n }\n if (type.indexOf('color') !== -1) {\n values = `${colorSpace} ${values.join(' ')}`;\n } else {\n values = `${values.join(', ')}`;\n }\n return `${type}(${values})`;\n}\n\n/**\n * Converts a color from CSS rgb format to CSS hex format.\n * @param {string} color - RGB color, i.e. rgb(n, n, n)\n * @returns {string} A CSS rgb color string, i.e. #nnnnnn\n */\nfunction rgbToHex(color) {\n // Idempotent\n if (color.indexOf('#') === 0) {\n return color;\n }\n const {\n values\n } = decomposeColor(color);\n return `#${values.map((n, i) => intToHex(i === 3 ? Math.round(255 * n) : n)).join('')}`;\n}\n\n/**\n * Converts a color from hsl format to rgb format.\n * @param {string} color - HSL color values\n * @returns {string} rgb color values\n */\nfunction hslToRgb(color) {\n color = decomposeColor(color);\n const {\n values\n } = color;\n const h = values[0];\n const s = values[1] / 100;\n const l = values[2] / 100;\n const a = s * Math.min(l, 1 - l);\n const f = (n, k = (n + h / 30) % 12) => l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);\n let type = 'rgb';\n const rgb = [Math.round(f(0) * 255), Math.round(f(8) * 255), Math.round(f(4) * 255)];\n if (color.type === 'hsla') {\n type += 'a';\n rgb.push(values[3]);\n }\n return recomposeColor({\n type,\n values: rgb\n });\n}\n/**\n * The relative brightness of any point in a color space,\n * normalized to 0 for darkest black and 1 for lightest white.\n *\n * Formula: https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @returns {number} The relative brightness of the color in the range 0 - 1\n */\nfunction getLuminance(color) {\n color = decomposeColor(color);\n let rgb = color.type === 'hsl' || color.type === 'hsla' ? decomposeColor(hslToRgb(color)).values : color.values;\n rgb = rgb.map(val => {\n if (color.type !== 'color') {\n val /= 255; // normalized\n }\n return val <= 0.03928 ? val / 12.92 : ((val + 0.055) / 1.055) ** 2.4;\n });\n\n // Truncate at 3 digits\n return Number((0.2126 * rgb[0] + 0.7152 * rgb[1] + 0.0722 * rgb[2]).toFixed(3));\n}\n\n/**\n * Calculates the contrast ratio between two colors.\n *\n * Formula: https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests\n * @param {string} foreground - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @param {string} background - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @returns {number} A contrast ratio value in the range 0 - 21.\n */\nfunction getContrastRatio(foreground, background) {\n const lumA = getLuminance(foreground);\n const lumB = getLuminance(background);\n return (Math.max(lumA, lumB) + 0.05) / (Math.min(lumA, lumB) + 0.05);\n}\n\n/**\n * Sets the absolute transparency of a color.\n * Any existing alpha values are overwritten.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} value - value to set the alpha channel to in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nfunction alpha(color, value) {\n color = decomposeColor(color);\n value = clampWrapper(value);\n if (color.type === 'rgb' || color.type === 'hsl') {\n color.type += 'a';\n }\n if (color.type === 'color') {\n color.values[3] = `/${value}`;\n } else {\n color.values[3] = value;\n }\n return recomposeColor(color);\n}\nfunction private_safeAlpha(color, value, warning) {\n try {\n return alpha(color, value);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Darkens a color.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} coefficient - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nfunction darken(color, coefficient) {\n color = decomposeColor(color);\n coefficient = clampWrapper(coefficient);\n if (color.type.indexOf('hsl') !== -1) {\n color.values[2] *= 1 - coefficient;\n } else if (color.type.indexOf('rgb') !== -1 || color.type.indexOf('color') !== -1) {\n for (let i = 0; i < 3; i += 1) {\n color.values[i] *= 1 - coefficient;\n }\n }\n return recomposeColor(color);\n}\nfunction private_safeDarken(color, coefficient, warning) {\n try {\n return darken(color, coefficient);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Lightens a color.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} coefficient - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nfunction lighten(color, coefficient) {\n color = decomposeColor(color);\n coefficient = clampWrapper(coefficient);\n if (color.type.indexOf('hsl') !== -1) {\n color.values[2] += (100 - color.values[2]) * coefficient;\n } else if (color.type.indexOf('rgb') !== -1) {\n for (let i = 0; i < 3; i += 1) {\n color.values[i] += (255 - color.values[i]) * coefficient;\n }\n } else if (color.type.indexOf('color') !== -1) {\n for (let i = 0; i < 3; i += 1) {\n color.values[i] += (1 - color.values[i]) * coefficient;\n }\n }\n return recomposeColor(color);\n}\nfunction private_safeLighten(color, coefficient, warning) {\n try {\n return lighten(color, coefficient);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Darken or lighten a color, depending on its luminance.\n * Light colors are darkened, dark colors are lightened.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} coefficient=0.15 - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nfunction emphasize(color, coefficient = 0.15) {\n return getLuminance(color) > 0.5 ? darken(color, coefficient) : lighten(color, coefficient);\n}\nfunction private_safeEmphasize(color, coefficient, warning) {\n try {\n return emphasize(color, coefficient);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Blend a transparent overlay color with a background color, resulting in a single\n * RGB color.\n * @param {string} background - CSS color\n * @param {string} overlay - CSS color\n * @param {number} opacity - Opacity multiplier in the range 0 - 1\n * @param {number} [gamma=1.0] - Gamma correction factor. For gamma-correct blending, 2.2 is usual.\n */\nfunction blend(background, overlay, opacity, gamma = 1.0) {\n const blendChannel = (b, o) => Math.round((b ** (1 / gamma) * (1 - opacity) + o ** (1 / gamma) * opacity) ** gamma);\n const backgroundColor = decomposeColor(background);\n const overlayColor = decomposeColor(overlay);\n const rgb = [blendChannel(backgroundColor.values[0], overlayColor.values[0]), blendChannel(backgroundColor.values[1], overlayColor.values[1]), blendChannel(backgroundColor.values[2], overlayColor.values[2])];\n return recomposeColor({\n type: 'rgb',\n values: rgb\n });\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _formatMuiErrorMessage from \"@mui/utils/formatMuiErrorMessage\";\nconst _excluded = [\"mode\", \"contrastThreshold\", \"tonalOffset\"];\nimport deepmerge from '@mui/utils/deepmerge';\nimport { darken, getContrastRatio, lighten } from '@mui/system/colorManipulator';\nimport common from '../colors/common';\nimport grey from '../colors/grey';\nimport purple from '../colors/purple';\nimport red from '../colors/red';\nimport orange from '../colors/orange';\nimport blue from '../colors/blue';\nimport lightBlue from '../colors/lightBlue';\nimport green from '../colors/green';\nexport const light = {\n // The colors used to style the text.\n text: {\n // The most important text.\n primary: 'rgba(0, 0, 0, 0.87)',\n // Secondary text.\n secondary: 'rgba(0, 0, 0, 0.6)',\n // Disabled text have even lower visual prominence.\n disabled: 'rgba(0, 0, 0, 0.38)'\n },\n // The color used to divide different elements.\n divider: 'rgba(0, 0, 0, 0.12)',\n // The background colors used to style the surfaces.\n // Consistency between these values is important.\n background: {\n paper: common.white,\n default: common.white\n },\n // The colors used to style the action elements.\n action: {\n // The color of an active action like an icon button.\n active: 'rgba(0, 0, 0, 0.54)',\n // The color of an hovered action.\n hover: 'rgba(0, 0, 0, 0.04)',\n hoverOpacity: 0.04,\n // The color of a selected action.\n selected: 'rgba(0, 0, 0, 0.08)',\n selectedOpacity: 0.08,\n // The color of a disabled action.\n disabled: 'rgba(0, 0, 0, 0.26)',\n // The background color of a disabled action.\n disabledBackground: 'rgba(0, 0, 0, 0.12)',\n disabledOpacity: 0.38,\n focus: 'rgba(0, 0, 0, 0.12)',\n focusOpacity: 0.12,\n activatedOpacity: 0.12\n }\n};\nexport const dark = {\n text: {\n primary: common.white,\n secondary: 'rgba(255, 255, 255, 0.7)',\n disabled: 'rgba(255, 255, 255, 0.5)',\n icon: 'rgba(255, 255, 255, 0.5)'\n },\n divider: 'rgba(255, 255, 255, 0.12)',\n background: {\n paper: '#121212',\n default: '#121212'\n },\n action: {\n active: common.white,\n hover: 'rgba(255, 255, 255, 0.08)',\n hoverOpacity: 0.08,\n selected: 'rgba(255, 255, 255, 0.16)',\n selectedOpacity: 0.16,\n disabled: 'rgba(255, 255, 255, 0.3)',\n disabledBackground: 'rgba(255, 255, 255, 0.12)',\n disabledOpacity: 0.38,\n focus: 'rgba(255, 255, 255, 0.12)',\n focusOpacity: 0.12,\n activatedOpacity: 0.24\n }\n};\nfunction addLightOrDark(intent, direction, shade, tonalOffset) {\n const tonalOffsetLight = tonalOffset.light || tonalOffset;\n const tonalOffsetDark = tonalOffset.dark || tonalOffset * 1.5;\n if (!intent[direction]) {\n if (intent.hasOwnProperty(shade)) {\n intent[direction] = intent[shade];\n } else if (direction === 'light') {\n intent.light = lighten(intent.main, tonalOffsetLight);\n } else if (direction === 'dark') {\n intent.dark = darken(intent.main, tonalOffsetDark);\n }\n }\n}\nfunction getDefaultPrimary(mode = 'light') {\n if (mode === 'dark') {\n return {\n main: blue[200],\n light: blue[50],\n dark: blue[400]\n };\n }\n return {\n main: blue[700],\n light: blue[400],\n dark: blue[800]\n };\n}\nfunction getDefaultSecondary(mode = 'light') {\n if (mode === 'dark') {\n return {\n main: purple[200],\n light: purple[50],\n dark: purple[400]\n };\n }\n return {\n main: purple[500],\n light: purple[300],\n dark: purple[700]\n };\n}\nfunction getDefaultError(mode = 'light') {\n if (mode === 'dark') {\n return {\n main: red[500],\n light: red[300],\n dark: red[700]\n };\n }\n return {\n main: red[700],\n light: red[400],\n dark: red[800]\n };\n}\nfunction getDefaultInfo(mode = 'light') {\n if (mode === 'dark') {\n return {\n main: lightBlue[400],\n light: lightBlue[300],\n dark: lightBlue[700]\n };\n }\n return {\n main: lightBlue[700],\n light: lightBlue[500],\n dark: lightBlue[900]\n };\n}\nfunction getDefaultSuccess(mode = 'light') {\n if (mode === 'dark') {\n return {\n main: green[400],\n light: green[300],\n dark: green[700]\n };\n }\n return {\n main: green[800],\n light: green[500],\n dark: green[900]\n };\n}\nfunction getDefaultWarning(mode = 'light') {\n if (mode === 'dark') {\n return {\n main: orange[400],\n light: orange[300],\n dark: orange[700]\n };\n }\n return {\n main: '#ed6c02',\n // closest to orange[800] that pass 3:1.\n light: orange[500],\n dark: orange[900]\n };\n}\nexport default function createPalette(palette) {\n const {\n mode = 'light',\n contrastThreshold = 3,\n tonalOffset = 0.2\n } = palette,\n other = _objectWithoutPropertiesLoose(palette, _excluded);\n const primary = palette.primary || getDefaultPrimary(mode);\n const secondary = palette.secondary || getDefaultSecondary(mode);\n const error = palette.error || getDefaultError(mode);\n const info = palette.info || getDefaultInfo(mode);\n const success = palette.success || getDefaultSuccess(mode);\n const warning = palette.warning || getDefaultWarning(mode);\n\n // Use the same logic as\n // Bootstrap: https://github.com/twbs/bootstrap/blob/1d6e3710dd447de1a200f29e8fa521f8a0908f70/scss/_functions.scss#L59\n // and material-components-web https://github.com/material-components/material-components-web/blob/ac46b8863c4dab9fc22c4c662dc6bd1b65dd652f/packages/mdc-theme/_functions.scss#L54\n function getContrastText(background) {\n const contrastText = getContrastRatio(background, dark.text.primary) >= contrastThreshold ? dark.text.primary : light.text.primary;\n if (process.env.NODE_ENV !== 'production') {\n const contrast = getContrastRatio(background, contrastText);\n if (contrast < 3) {\n console.error([`MUI: The contrast ratio of ${contrast}:1 for ${contrastText} on ${background}`, 'falls below the WCAG recommended absolute minimum contrast ratio of 3:1.', 'https://www.w3.org/TR/2008/REC-WCAG20-20081211/#visual-audio-contrast-contrast'].join('\\n'));\n }\n }\n return contrastText;\n }\n const augmentColor = ({\n color,\n name,\n mainShade = 500,\n lightShade = 300,\n darkShade = 700\n }) => {\n color = _extends({}, color);\n if (!color.main && color[mainShade]) {\n color.main = color[mainShade];\n }\n if (!color.hasOwnProperty('main')) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: The color${name ? ` (${name})` : ''} provided to augmentColor(color) is invalid.\nThe color object needs to have a \\`main\\` property or a \\`${mainShade}\\` property.` : _formatMuiErrorMessage(11, name ? ` (${name})` : '', mainShade));\n }\n if (typeof color.main !== 'string') {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: The color${name ? ` (${name})` : ''} provided to augmentColor(color) is invalid.\n\\`color.main\\` should be a string, but \\`${JSON.stringify(color.main)}\\` was provided instead.\n\nDid you intend to use one of the following approaches?\n\nimport { green } from \"@mui/material/colors\";\n\nconst theme1 = createTheme({ palette: {\n primary: green,\n} });\n\nconst theme2 = createTheme({ palette: {\n primary: { main: green[500] },\n} });` : _formatMuiErrorMessage(12, name ? ` (${name})` : '', JSON.stringify(color.main)));\n }\n addLightOrDark(color, 'light', lightShade, tonalOffset);\n addLightOrDark(color, 'dark', darkShade, tonalOffset);\n if (!color.contrastText) {\n color.contrastText = getContrastText(color.main);\n }\n return color;\n };\n const modes = {\n dark,\n light\n };\n if (process.env.NODE_ENV !== 'production') {\n if (!modes[mode]) {\n console.error(`MUI: The palette mode \\`${mode}\\` is not supported.`);\n }\n }\n const paletteOutput = deepmerge(_extends({\n // A collection of common colors.\n common: _extends({}, common),\n // prevent mutable object.\n // The palette mode, can be light or dark.\n mode,\n // The colors used to represent primary interface elements for a user.\n primary: augmentColor({\n color: primary,\n name: 'primary'\n }),\n // The colors used to represent secondary interface elements for a user.\n secondary: augmentColor({\n color: secondary,\n name: 'secondary',\n mainShade: 'A400',\n lightShade: 'A200',\n darkShade: 'A700'\n }),\n // The colors used to represent interface elements that the user should be made aware of.\n error: augmentColor({\n color: error,\n name: 'error'\n }),\n // The colors used to represent potentially dangerous actions or important messages.\n warning: augmentColor({\n color: warning,\n name: 'warning'\n }),\n // The colors used to present information to the user that is neutral and not necessarily important.\n info: augmentColor({\n color: info,\n name: 'info'\n }),\n // The colors used to indicate the successful completion of an action that user triggered.\n success: augmentColor({\n color: success,\n name: 'success'\n }),\n // The grey colors.\n grey,\n // Used by `getContrastText()` to maximize the contrast between\n // the background and the text.\n contrastThreshold,\n // Takes a background color and returns the text color that maximizes the contrast.\n getContrastText,\n // Generate a rich color object.\n augmentColor,\n // Used by the functions below to shift a color's luminance by approximately\n // two indexes within its tonal palette.\n // E.g., shift from Red 500 to Red 300 or Red 700.\n tonalOffset\n }, modes[mode]), other);\n return paletteOutput;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"fontFamily\", \"fontSize\", \"fontWeightLight\", \"fontWeightRegular\", \"fontWeightMedium\", \"fontWeightBold\", \"htmlFontSize\", \"allVariants\", \"pxToRem\"];\nimport deepmerge from '@mui/utils/deepmerge';\nfunction round(value) {\n return Math.round(value * 1e5) / 1e5;\n}\nconst caseAllCaps = {\n textTransform: 'uppercase'\n};\nconst defaultFontFamily = '\"Roboto\", \"Helvetica\", \"Arial\", sans-serif';\n\n/**\n * @see @link{https://m2.material.io/design/typography/the-type-system.html}\n * @see @link{https://m2.material.io/design/typography/understanding-typography.html}\n */\nexport default function createTypography(palette, typography) {\n const _ref = typeof typography === 'function' ? typography(palette) : typography,\n {\n fontFamily = defaultFontFamily,\n // The default font size of the Material Specification.\n fontSize = 14,\n // px\n fontWeightLight = 300,\n fontWeightRegular = 400,\n fontWeightMedium = 500,\n fontWeightBold = 700,\n // Tell MUI what's the font-size on the html element.\n // 16px is the default font-size used by browsers.\n htmlFontSize = 16,\n // Apply the CSS properties to all the variants.\n allVariants,\n pxToRem: pxToRem2\n } = _ref,\n other = _objectWithoutPropertiesLoose(_ref, _excluded);\n if (process.env.NODE_ENV !== 'production') {\n if (typeof fontSize !== 'number') {\n console.error('MUI: `fontSize` is required to be a number.');\n }\n if (typeof htmlFontSize !== 'number') {\n console.error('MUI: `htmlFontSize` is required to be a number.');\n }\n }\n const coef = fontSize / 14;\n const pxToRem = pxToRem2 || (size => `${size / htmlFontSize * coef}rem`);\n const buildVariant = (fontWeight, size, lineHeight, letterSpacing, casing) => _extends({\n fontFamily,\n fontWeight,\n fontSize: pxToRem(size),\n // Unitless following https://meyerweb.com/eric/thoughts/2006/02/08/unitless-line-heights/\n lineHeight\n }, fontFamily === defaultFontFamily ? {\n letterSpacing: `${round(letterSpacing / size)}em`\n } : {}, casing, allVariants);\n const variants = {\n h1: buildVariant(fontWeightLight, 96, 1.167, -1.5),\n h2: buildVariant(fontWeightLight, 60, 1.2, -0.5),\n h3: buildVariant(fontWeightRegular, 48, 1.167, 0),\n h4: buildVariant(fontWeightRegular, 34, 1.235, 0.25),\n h5: buildVariant(fontWeightRegular, 24, 1.334, 0),\n h6: buildVariant(fontWeightMedium, 20, 1.6, 0.15),\n subtitle1: buildVariant(fontWeightRegular, 16, 1.75, 0.15),\n subtitle2: buildVariant(fontWeightMedium, 14, 1.57, 0.1),\n body1: buildVariant(fontWeightRegular, 16, 1.5, 0.15),\n body2: buildVariant(fontWeightRegular, 14, 1.43, 0.15),\n button: buildVariant(fontWeightMedium, 14, 1.75, 0.4, caseAllCaps),\n caption: buildVariant(fontWeightRegular, 12, 1.66, 0.4),\n overline: buildVariant(fontWeightRegular, 12, 2.66, 1, caseAllCaps),\n // TODO v6: Remove handling of 'inherit' variant from the theme as it is already handled in Material UI's Typography component. Also, remember to remove the associated types.\n inherit: {\n fontFamily: 'inherit',\n fontWeight: 'inherit',\n fontSize: 'inherit',\n lineHeight: 'inherit',\n letterSpacing: 'inherit'\n }\n };\n return deepmerge(_extends({\n htmlFontSize,\n pxToRem,\n fontFamily,\n fontSize,\n fontWeightLight,\n fontWeightRegular,\n fontWeightMedium,\n fontWeightBold\n }, variants), other, {\n clone: false // No need to clone deep\n });\n}","const shadowKeyUmbraOpacity = 0.2;\nconst shadowKeyPenumbraOpacity = 0.14;\nconst shadowAmbientShadowOpacity = 0.12;\nfunction createShadow(...px) {\n return [`${px[0]}px ${px[1]}px ${px[2]}px ${px[3]}px rgba(0,0,0,${shadowKeyUmbraOpacity})`, `${px[4]}px ${px[5]}px ${px[6]}px ${px[7]}px rgba(0,0,0,${shadowKeyPenumbraOpacity})`, `${px[8]}px ${px[9]}px ${px[10]}px ${px[11]}px rgba(0,0,0,${shadowAmbientShadowOpacity})`].join(',');\n}\n\n// Values from https://github.com/material-components/material-components-web/blob/be8747f94574669cb5e7add1a7c54fa41a89cec7/packages/mdc-elevation/_variables.scss\nconst shadows = ['none', createShadow(0, 2, 1, -1, 0, 1, 1, 0, 0, 1, 3, 0), createShadow(0, 3, 1, -2, 0, 2, 2, 0, 0, 1, 5, 0), createShadow(0, 3, 3, -2, 0, 3, 4, 0, 0, 1, 8, 0), createShadow(0, 2, 4, -1, 0, 4, 5, 0, 0, 1, 10, 0), createShadow(0, 3, 5, -1, 0, 5, 8, 0, 0, 1, 14, 0), createShadow(0, 3, 5, -1, 0, 6, 10, 0, 0, 1, 18, 0), createShadow(0, 4, 5, -2, 0, 7, 10, 1, 0, 2, 16, 1), createShadow(0, 5, 5, -3, 0, 8, 10, 1, 0, 3, 14, 2), createShadow(0, 5, 6, -3, 0, 9, 12, 1, 0, 3, 16, 2), createShadow(0, 6, 6, -3, 0, 10, 14, 1, 0, 4, 18, 3), createShadow(0, 6, 7, -4, 0, 11, 15, 1, 0, 4, 20, 3), createShadow(0, 7, 8, -4, 0, 12, 17, 2, 0, 5, 22, 4), createShadow(0, 7, 8, -4, 0, 13, 19, 2, 0, 5, 24, 4), createShadow(0, 7, 9, -4, 0, 14, 21, 2, 0, 5, 26, 4), createShadow(0, 8, 9, -5, 0, 15, 22, 2, 0, 6, 28, 5), createShadow(0, 8, 10, -5, 0, 16, 24, 2, 0, 6, 30, 5), createShadow(0, 8, 11, -5, 0, 17, 26, 2, 0, 6, 32, 5), createShadow(0, 9, 11, -5, 0, 18, 28, 2, 0, 7, 34, 6), createShadow(0, 9, 12, -6, 0, 19, 29, 2, 0, 7, 36, 6), createShadow(0, 10, 13, -6, 0, 20, 31, 3, 0, 8, 38, 7), createShadow(0, 10, 13, -6, 0, 21, 33, 3, 0, 8, 40, 7), createShadow(0, 10, 14, -6, 0, 22, 35, 3, 0, 8, 42, 7), createShadow(0, 11, 14, -7, 0, 23, 36, 3, 0, 9, 44, 8), createShadow(0, 11, 15, -7, 0, 24, 38, 3, 0, 9, 46, 8)];\nexport default shadows;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"duration\", \"easing\", \"delay\"];\n// Follow https://material.google.com/motion/duration-easing.html#duration-easing-natural-easing-curves\n// to learn the context in which each easing should be used.\nexport const easing = {\n // This is the most common easing curve.\n easeInOut: 'cubic-bezier(0.4, 0, 0.2, 1)',\n // Objects enter the screen at full velocity from off-screen and\n // slowly decelerate to a resting point.\n easeOut: 'cubic-bezier(0.0, 0, 0.2, 1)',\n // Objects leave the screen at full velocity. They do not decelerate when off-screen.\n easeIn: 'cubic-bezier(0.4, 0, 1, 1)',\n // The sharp curve is used by objects that may return to the screen at any time.\n sharp: 'cubic-bezier(0.4, 0, 0.6, 1)'\n};\n\n// Follow https://m2.material.io/guidelines/motion/duration-easing.html#duration-easing-common-durations\n// to learn when use what timing\nexport const duration = {\n shortest: 150,\n shorter: 200,\n short: 250,\n // most basic recommended timing\n standard: 300,\n // this is to be used in complex animations\n complex: 375,\n // recommended when something is entering screen\n enteringScreen: 225,\n // recommended when something is leaving screen\n leavingScreen: 195\n};\nfunction formatMs(milliseconds) {\n return `${Math.round(milliseconds)}ms`;\n}\nfunction getAutoHeightDuration(height) {\n if (!height) {\n return 0;\n }\n const constant = height / 36;\n\n // https://www.wolframalpha.com/input/?i=(4+%2B+15+*+(x+%2F+36+)+**+0.25+%2B+(x+%2F+36)+%2F+5)+*+10\n return Math.round((4 + 15 * constant ** 0.25 + constant / 5) * 10);\n}\nexport default function createTransitions(inputTransitions) {\n const mergedEasing = _extends({}, easing, inputTransitions.easing);\n const mergedDuration = _extends({}, duration, inputTransitions.duration);\n const create = (props = ['all'], options = {}) => {\n const {\n duration: durationOption = mergedDuration.standard,\n easing: easingOption = mergedEasing.easeInOut,\n delay = 0\n } = options,\n other = _objectWithoutPropertiesLoose(options, _excluded);\n if (process.env.NODE_ENV !== 'production') {\n const isString = value => typeof value === 'string';\n // IE11 support, replace with Number.isNaN\n // eslint-disable-next-line no-restricted-globals\n const isNumber = value => !isNaN(parseFloat(value));\n if (!isString(props) && !Array.isArray(props)) {\n console.error('MUI: Argument \"props\" must be a string or Array.');\n }\n if (!isNumber(durationOption) && !isString(durationOption)) {\n console.error(`MUI: Argument \"duration\" must be a number or a string but found ${durationOption}.`);\n }\n if (!isString(easingOption)) {\n console.error('MUI: Argument \"easing\" must be a string.');\n }\n if (!isNumber(delay) && !isString(delay)) {\n console.error('MUI: Argument \"delay\" must be a number or a string.');\n }\n if (typeof options !== 'object') {\n console.error(['MUI: Secong argument of transition.create must be an object.', \"Arguments should be either `create('prop1', options)` or `create(['prop1', 'prop2'], options)`\"].join('\\n'));\n }\n if (Object.keys(other).length !== 0) {\n console.error(`MUI: Unrecognized argument(s) [${Object.keys(other).join(',')}].`);\n }\n }\n return (Array.isArray(props) ? props : [props]).map(animatedProp => `${animatedProp} ${typeof durationOption === 'string' ? durationOption : formatMs(durationOption)} ${easingOption} ${typeof delay === 'string' ? delay : formatMs(delay)}`).join(',');\n };\n return _extends({\n getAutoHeightDuration,\n create\n }, inputTransitions, {\n easing: mergedEasing,\n duration: mergedDuration\n });\n}","// We need to centralize the zIndex definitions as they work\n// like global values in the browser.\nconst zIndex = {\n mobileStepper: 1000,\n fab: 1050,\n speedDial: 1050,\n appBar: 1100,\n drawer: 1200,\n modal: 1300,\n snackbar: 1400,\n tooltip: 1500\n};\nexport default zIndex;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _formatMuiErrorMessage from \"@mui/utils/formatMuiErrorMessage\";\nconst _excluded = [\"breakpoints\", \"mixins\", \"spacing\", \"palette\", \"transitions\", \"typography\", \"shape\"];\nimport deepmerge from '@mui/utils/deepmerge';\nimport styleFunctionSx, { unstable_defaultSxConfig as defaultSxConfig } from '@mui/system/styleFunctionSx';\nimport systemCreateTheme from '@mui/system/createTheme';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nimport createMixins from './createMixins';\nimport createPalette from './createPalette';\nimport createTypography from './createTypography';\nimport shadows from './shadows';\nimport createTransitions from './createTransitions';\nimport zIndex from './zIndex';\nfunction createTheme(options = {}, ...args) {\n const {\n mixins: mixinsInput = {},\n palette: paletteInput = {},\n transitions: transitionsInput = {},\n typography: typographyInput = {}\n } = options,\n other = _objectWithoutPropertiesLoose(options, _excluded);\n if (options.vars) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: \\`vars\\` is a private field used for CSS variables support.\nPlease use another name.` : _formatMuiErrorMessage(18));\n }\n const palette = createPalette(paletteInput);\n const systemTheme = systemCreateTheme(options);\n let muiTheme = deepmerge(systemTheme, {\n mixins: createMixins(systemTheme.breakpoints, mixinsInput),\n palette,\n // Don't use [...shadows] until you've verified its transpiled code is not invoking the iterator protocol.\n shadows: shadows.slice(),\n typography: createTypography(palette, typographyInput),\n transitions: createTransitions(transitionsInput),\n zIndex: _extends({}, zIndex)\n });\n muiTheme = deepmerge(muiTheme, other);\n muiTheme = args.reduce((acc, argument) => deepmerge(acc, argument), muiTheme);\n if (process.env.NODE_ENV !== 'production') {\n // TODO v6: Refactor to use globalStateClassesMapping from @mui/utils once `readOnly` state class is used in Rating component.\n const stateClasses = ['active', 'checked', 'completed', 'disabled', 'error', 'expanded', 'focused', 'focusVisible', 'required', 'selected'];\n const traverse = (node, component) => {\n let key;\n\n // eslint-disable-next-line guard-for-in, no-restricted-syntax\n for (key in node) {\n const child = node[key];\n if (stateClasses.indexOf(key) !== -1 && Object.keys(child).length > 0) {\n if (process.env.NODE_ENV !== 'production') {\n const stateClass = generateUtilityClass('', key);\n console.error([`MUI: The \\`${component}\\` component increases ` + `the CSS specificity of the \\`${key}\\` internal state.`, 'You can not override it like this: ', JSON.stringify(node, null, 2), '', `Instead, you need to use the '&.${stateClass}' syntax:`, JSON.stringify({\n root: {\n [`&.${stateClass}`]: child\n }\n }, null, 2), '', 'https://mui.com/r/state-classes-guide'].join('\\n'));\n }\n // Remove the style to prevent global conflicts.\n node[key] = {};\n }\n }\n };\n Object.keys(muiTheme.components).forEach(component => {\n const styleOverrides = muiTheme.components[component].styleOverrides;\n if (styleOverrides && component.indexOf('Mui') === 0) {\n traverse(styleOverrides, component);\n }\n });\n }\n muiTheme.unstable_sxConfig = _extends({}, defaultSxConfig, other == null ? void 0 : other.unstable_sxConfig);\n muiTheme.unstable_sx = function sx(props) {\n return styleFunctionSx({\n sx: props,\n theme: this\n });\n };\n return muiTheme;\n}\nlet warnedOnce = false;\nexport function createMuiTheme(...args) {\n if (process.env.NODE_ENV !== 'production') {\n if (!warnedOnce) {\n warnedOnce = true;\n console.error(['MUI: the createMuiTheme function was renamed to createTheme.', '', \"You should use `import { createTheme } from '@mui/material/styles'`\"].join('\\n'));\n }\n }\n return createTheme(...args);\n}\nexport default createTheme;","'use client';\n\nimport createTheme from './createTheme';\nconst defaultTheme = createTheme();\nexport default defaultTheme;","'use client';\n\nimport * as React from 'react';\nimport { useTheme as useThemeSystem } from '@mui/system';\nimport defaultTheme from './defaultTheme';\nimport THEME_ID from './identifier';\nexport default function useTheme() {\n const theme = useThemeSystem(defaultTheme);\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useDebugValue(theme);\n }\n return theme[THEME_ID] || theme;\n}","'use client';\n\nimport systemUseThemeProps from '@mui/system/useThemeProps';\nimport defaultTheme from './defaultTheme';\nimport THEME_ID from './identifier';\nexport default function useThemeProps({\n props,\n name\n}) {\n return systemUseThemeProps({\n props,\n name,\n defaultTheme,\n themeId: THEME_ID\n });\n}","function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}\nmodule.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = createStyled;\nexports.shouldForwardProp = shouldForwardProp;\nexports.systemDefaultTheme = void 0;\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\nvar _styledEngine = _interopRequireWildcard(require(\"@mui/styled-engine\"));\nvar _deepmerge = require(\"@mui/utils/deepmerge\");\nvar _capitalize = _interopRequireDefault(require(\"@mui/utils/capitalize\"));\nvar _getDisplayName = _interopRequireDefault(require(\"@mui/utils/getDisplayName\"));\nvar _createTheme = _interopRequireDefault(require(\"./createTheme\"));\nvar _styleFunctionSx = _interopRequireDefault(require(\"./styleFunctionSx\"));\nconst _excluded = [\"ownerState\"],\n _excluded2 = [\"variants\"],\n _excluded3 = [\"name\", \"slot\", \"skipVariantsResolver\", \"skipSx\", \"overridesResolver\"];\n/* eslint-disable no-underscore-dangle */\nfunction _getRequireWildcardCache(e) { if (\"function\" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }\nfunction _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || \"object\" != typeof e && \"function\" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if (\"default\" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }\nfunction isEmpty(obj) {\n return Object.keys(obj).length === 0;\n}\n\n// https://github.com/emotion-js/emotion/blob/26ded6109fcd8ca9875cc2ce4564fee678a3f3c5/packages/styled/src/utils.js#L40\nfunction isStringTag(tag) {\n return typeof tag === 'string' &&\n // 96 is one less than the char code\n // for \"a\" so this is checking that\n // it's a lowercase character\n tag.charCodeAt(0) > 96;\n}\n\n// Update /system/styled/#api in case if this changes\nfunction shouldForwardProp(prop) {\n return prop !== 'ownerState' && prop !== 'theme' && prop !== 'sx' && prop !== 'as';\n}\nconst systemDefaultTheme = exports.systemDefaultTheme = (0, _createTheme.default)();\nconst lowercaseFirstLetter = string => {\n if (!string) {\n return string;\n }\n return string.charAt(0).toLowerCase() + string.slice(1);\n};\nfunction resolveTheme({\n defaultTheme,\n theme,\n themeId\n}) {\n return isEmpty(theme) ? defaultTheme : theme[themeId] || theme;\n}\nfunction defaultOverridesResolver(slot) {\n if (!slot) {\n return null;\n }\n return (props, styles) => styles[slot];\n}\nfunction processStyleArg(callableStyle, _ref) {\n let {\n ownerState\n } = _ref,\n props = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded);\n const resolvedStylesArg = typeof callableStyle === 'function' ? callableStyle((0, _extends2.default)({\n ownerState\n }, props)) : callableStyle;\n if (Array.isArray(resolvedStylesArg)) {\n return resolvedStylesArg.flatMap(resolvedStyle => processStyleArg(resolvedStyle, (0, _extends2.default)({\n ownerState\n }, props)));\n }\n if (!!resolvedStylesArg && typeof resolvedStylesArg === 'object' && Array.isArray(resolvedStylesArg.variants)) {\n const {\n variants = []\n } = resolvedStylesArg,\n otherStyles = (0, _objectWithoutPropertiesLoose2.default)(resolvedStylesArg, _excluded2);\n let result = otherStyles;\n variants.forEach(variant => {\n let isMatch = true;\n if (typeof variant.props === 'function') {\n isMatch = variant.props((0, _extends2.default)({\n ownerState\n }, props, ownerState));\n } else {\n Object.keys(variant.props).forEach(key => {\n if ((ownerState == null ? void 0 : ownerState[key]) !== variant.props[key] && props[key] !== variant.props[key]) {\n isMatch = false;\n }\n });\n }\n if (isMatch) {\n if (!Array.isArray(result)) {\n result = [result];\n }\n result.push(typeof variant.style === 'function' ? variant.style((0, _extends2.default)({\n ownerState\n }, props, ownerState)) : variant.style);\n }\n });\n return result;\n }\n return resolvedStylesArg;\n}\nfunction createStyled(input = {}) {\n const {\n themeId,\n defaultTheme = systemDefaultTheme,\n rootShouldForwardProp = shouldForwardProp,\n slotShouldForwardProp = shouldForwardProp\n } = input;\n const systemSx = props => {\n return (0, _styleFunctionSx.default)((0, _extends2.default)({}, props, {\n theme: resolveTheme((0, _extends2.default)({}, props, {\n defaultTheme,\n themeId\n }))\n }));\n };\n systemSx.__mui_systemSx = true;\n return (tag, inputOptions = {}) => {\n // Filter out the `sx` style function from the previous styled component to prevent unnecessary styles generated by the composite components.\n (0, _styledEngine.internal_processStyles)(tag, styles => styles.filter(style => !(style != null && style.__mui_systemSx)));\n const {\n name: componentName,\n slot: componentSlot,\n skipVariantsResolver: inputSkipVariantsResolver,\n skipSx: inputSkipSx,\n // TODO v6: remove `lowercaseFirstLetter()` in the next major release\n // For more details: https://github.com/mui/material-ui/pull/37908\n overridesResolver = defaultOverridesResolver(lowercaseFirstLetter(componentSlot))\n } = inputOptions,\n options = (0, _objectWithoutPropertiesLoose2.default)(inputOptions, _excluded3);\n\n // if skipVariantsResolver option is defined, take the value, otherwise, true for root and false for other slots.\n const skipVariantsResolver = inputSkipVariantsResolver !== undefined ? inputSkipVariantsResolver :\n // TODO v6: remove `Root` in the next major release\n // For more details: https://github.com/mui/material-ui/pull/37908\n componentSlot && componentSlot !== 'Root' && componentSlot !== 'root' || false;\n const skipSx = inputSkipSx || false;\n let label;\n if (process.env.NODE_ENV !== 'production') {\n if (componentName) {\n // TODO v6: remove `lowercaseFirstLetter()` in the next major release\n // For more details: https://github.com/mui/material-ui/pull/37908\n label = `${componentName}-${lowercaseFirstLetter(componentSlot || 'Root')}`;\n }\n }\n let shouldForwardPropOption = shouldForwardProp;\n\n // TODO v6: remove `Root` in the next major release\n // For more details: https://github.com/mui/material-ui/pull/37908\n if (componentSlot === 'Root' || componentSlot === 'root') {\n shouldForwardPropOption = rootShouldForwardProp;\n } else if (componentSlot) {\n // any other slot specified\n shouldForwardPropOption = slotShouldForwardProp;\n } else if (isStringTag(tag)) {\n // for string (html) tag, preserve the behavior in emotion & styled-components.\n shouldForwardPropOption = undefined;\n }\n const defaultStyledResolver = (0, _styledEngine.default)(tag, (0, _extends2.default)({\n shouldForwardProp: shouldForwardPropOption,\n label\n }, options));\n const transformStyleArg = stylesArg => {\n // On the server Emotion doesn't use React.forwardRef for creating components, so the created\n // component stays as a function. This condition makes sure that we do not interpolate functions\n // which are basically components used as a selectors.\n if (typeof stylesArg === 'function' && stylesArg.__emotion_real !== stylesArg || (0, _deepmerge.isPlainObject)(stylesArg)) {\n return props => processStyleArg(stylesArg, (0, _extends2.default)({}, props, {\n theme: resolveTheme({\n theme: props.theme,\n defaultTheme,\n themeId\n })\n }));\n }\n return stylesArg;\n };\n const muiStyledResolver = (styleArg, ...expressions) => {\n let transformedStyleArg = transformStyleArg(styleArg);\n const expressionsWithDefaultTheme = expressions ? expressions.map(transformStyleArg) : [];\n if (componentName && overridesResolver) {\n expressionsWithDefaultTheme.push(props => {\n const theme = resolveTheme((0, _extends2.default)({}, props, {\n defaultTheme,\n themeId\n }));\n if (!theme.components || !theme.components[componentName] || !theme.components[componentName].styleOverrides) {\n return null;\n }\n const styleOverrides = theme.components[componentName].styleOverrides;\n const resolvedStyleOverrides = {};\n // TODO: v7 remove iteration and use `resolveStyleArg(styleOverrides[slot])` directly\n Object.entries(styleOverrides).forEach(([slotKey, slotStyle]) => {\n resolvedStyleOverrides[slotKey] = processStyleArg(slotStyle, (0, _extends2.default)({}, props, {\n theme\n }));\n });\n return overridesResolver(props, resolvedStyleOverrides);\n });\n }\n if (componentName && !skipVariantsResolver) {\n expressionsWithDefaultTheme.push(props => {\n var _theme$components;\n const theme = resolveTheme((0, _extends2.default)({}, props, {\n defaultTheme,\n themeId\n }));\n const themeVariants = theme == null || (_theme$components = theme.components) == null || (_theme$components = _theme$components[componentName]) == null ? void 0 : _theme$components.variants;\n return processStyleArg({\n variants: themeVariants\n }, (0, _extends2.default)({}, props, {\n theme\n }));\n });\n }\n if (!skipSx) {\n expressionsWithDefaultTheme.push(systemSx);\n }\n const numOfCustomFnsApplied = expressionsWithDefaultTheme.length - expressions.length;\n if (Array.isArray(styleArg) && numOfCustomFnsApplied > 0) {\n const placeholders = new Array(numOfCustomFnsApplied).fill('');\n // If the type is array, than we need to add placeholders in the template for the overrides, variants and the sx styles.\n transformedStyleArg = [...styleArg, ...placeholders];\n transformedStyleArg.raw = [...styleArg.raw, ...placeholders];\n }\n const Component = defaultStyledResolver(transformedStyleArg, ...expressionsWithDefaultTheme);\n if (process.env.NODE_ENV !== 'production') {\n let displayName;\n if (componentName) {\n displayName = `${componentName}${(0, _capitalize.default)(componentSlot || '')}`;\n }\n if (displayName === undefined) {\n displayName = `Styled(${(0, _getDisplayName.default)(tag)})`;\n }\n Component.displayName = displayName;\n }\n if (tag.muiName) {\n Component.muiName = tag.muiName;\n }\n return Component;\n };\n if (defaultStyledResolver.withConfig) {\n muiStyledResolver.withConfig = defaultStyledResolver.withConfig;\n }\n return muiStyledResolver;\n };\n}","// copied from @mui/system/createStyled\nfunction slotShouldForwardProp(prop) {\n return prop !== 'ownerState' && prop !== 'theme' && prop !== 'sx' && prop !== 'as';\n}\nexport default slotShouldForwardProp;","import slotShouldForwardProp from './slotShouldForwardProp';\nconst rootShouldForwardProp = prop => slotShouldForwardProp(prop) && prop !== 'classes';\nexport default rootShouldForwardProp;","'use client';\n\nimport createStyled from '@mui/system/createStyled';\nimport defaultTheme from './defaultTheme';\nimport THEME_ID from './identifier';\nimport rootShouldForwardProp from './rootShouldForwardProp';\nexport { default as slotShouldForwardProp } from './slotShouldForwardProp';\nexport { default as rootShouldForwardProp } from './rootShouldForwardProp';\nconst styled = createStyled({\n themeId: THEME_ID,\n defaultTheme,\n rootShouldForwardProp\n});\nexport default styled;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"theme\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { ThemeProvider as SystemThemeProvider } from '@mui/system';\nimport THEME_ID from './identifier';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default function ThemeProvider(_ref) {\n let {\n theme: themeInput\n } = _ref,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n const scopedTheme = themeInput[THEME_ID];\n return /*#__PURE__*/_jsx(SystemThemeProvider, _extends({}, props, {\n themeId: scopedTheme ? THEME_ID : undefined,\n theme: scopedTheme || themeInput\n }));\n}\nprocess.env.NODE_ENV !== \"production\" ? ThemeProvider.propTypes = {\n /**\n * Your component tree.\n */\n children: PropTypes.node,\n /**\n * A theme object. You can provide a function to extend the outer theme.\n */\n theme: PropTypes.oneOfType([PropTypes.object, PropTypes.func]).isRequired\n} : void 0;","// Inspired by https://github.com/material-components/material-components-ios/blob/bca36107405594d5b7b16265a5b0ed698f85a5ee/components/Elevation/src/UIColor%2BMaterialElevation.m#L61\nconst getOverlayAlpha = elevation => {\n let alphaValue;\n if (elevation < 1) {\n alphaValue = 5.11916 * elevation ** 2;\n } else {\n alphaValue = 4.5 * Math.log(elevation + 1) + 2;\n }\n return (alphaValue / 100).toFixed(2);\n};\nexport default getOverlayAlpha;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getSvgIconUtilityClass(slot) {\n return generateUtilityClass('MuiSvgIcon', slot);\n}\nconst svgIconClasses = generateUtilityClasses('MuiSvgIcon', ['root', 'colorPrimary', 'colorSecondary', 'colorAction', 'colorError', 'colorDisabled', 'fontSizeInherit', 'fontSizeSmall', 'fontSizeMedium', 'fontSizeLarge']);\nexport default svgIconClasses;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\", \"className\", \"color\", \"component\", \"fontSize\", \"htmlColor\", \"inheritViewBox\", \"titleAccess\", \"viewBox\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport capitalize from '../utils/capitalize';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport { getSvgIconUtilityClass } from './svgIconClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n color,\n fontSize,\n classes\n } = ownerState;\n const slots = {\n root: ['root', color !== 'inherit' && `color${capitalize(color)}`, `fontSize${capitalize(fontSize)}`]\n };\n return composeClasses(slots, getSvgIconUtilityClass, classes);\n};\nconst SvgIconRoot = styled('svg', {\n name: 'MuiSvgIcon',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.color !== 'inherit' && styles[`color${capitalize(ownerState.color)}`], styles[`fontSize${capitalize(ownerState.fontSize)}`]];\n }\n})(({\n theme,\n ownerState\n}) => {\n var _theme$transitions, _theme$transitions$cr, _theme$transitions2, _theme$typography, _theme$typography$pxT, _theme$typography2, _theme$typography2$px, _theme$typography3, _theme$typography3$px, _palette$ownerState$c, _palette, _palette2, _palette3;\n return {\n userSelect: 'none',\n width: '1em',\n height: '1em',\n display: 'inline-block',\n // the <svg> will define the property that has `currentColor`\n // for example heroicons uses fill=\"none\" and stroke=\"currentColor\"\n fill: ownerState.hasSvgAsChild ? undefined : 'currentColor',\n flexShrink: 0,\n transition: (_theme$transitions = theme.transitions) == null || (_theme$transitions$cr = _theme$transitions.create) == null ? void 0 : _theme$transitions$cr.call(_theme$transitions, 'fill', {\n duration: (_theme$transitions2 = theme.transitions) == null || (_theme$transitions2 = _theme$transitions2.duration) == null ? void 0 : _theme$transitions2.shorter\n }),\n fontSize: {\n inherit: 'inherit',\n small: ((_theme$typography = theme.typography) == null || (_theme$typography$pxT = _theme$typography.pxToRem) == null ? void 0 : _theme$typography$pxT.call(_theme$typography, 20)) || '1.25rem',\n medium: ((_theme$typography2 = theme.typography) == null || (_theme$typography2$px = _theme$typography2.pxToRem) == null ? void 0 : _theme$typography2$px.call(_theme$typography2, 24)) || '1.5rem',\n large: ((_theme$typography3 = theme.typography) == null || (_theme$typography3$px = _theme$typography3.pxToRem) == null ? void 0 : _theme$typography3$px.call(_theme$typography3, 35)) || '2.1875rem'\n }[ownerState.fontSize],\n // TODO v5 deprecate, v6 remove for sx\n color: (_palette$ownerState$c = (_palette = (theme.vars || theme).palette) == null || (_palette = _palette[ownerState.color]) == null ? void 0 : _palette.main) != null ? _palette$ownerState$c : {\n action: (_palette2 = (theme.vars || theme).palette) == null || (_palette2 = _palette2.action) == null ? void 0 : _palette2.active,\n disabled: (_palette3 = (theme.vars || theme).palette) == null || (_palette3 = _palette3.action) == null ? void 0 : _palette3.disabled,\n inherit: undefined\n }[ownerState.color]\n };\n});\nconst SvgIcon = /*#__PURE__*/React.forwardRef(function SvgIcon(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiSvgIcon'\n });\n const {\n children,\n className,\n color = 'inherit',\n component = 'svg',\n fontSize = 'medium',\n htmlColor,\n inheritViewBox = false,\n titleAccess,\n viewBox = '0 0 24 24'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const hasSvgAsChild = /*#__PURE__*/React.isValidElement(children) && children.type === 'svg';\n const ownerState = _extends({}, props, {\n color,\n component,\n fontSize,\n instanceFontSize: inProps.fontSize,\n inheritViewBox,\n viewBox,\n hasSvgAsChild\n });\n const more = {};\n if (!inheritViewBox) {\n more.viewBox = viewBox;\n }\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(SvgIconRoot, _extends({\n as: component,\n className: clsx(classes.root, className),\n focusable: \"false\",\n color: htmlColor,\n \"aria-hidden\": titleAccess ? undefined : true,\n role: titleAccess ? 'img' : undefined,\n ref: ref\n }, more, other, hasSvgAsChild && children.props, {\n ownerState: ownerState,\n children: [hasSvgAsChild ? children.props.children : children, titleAccess ? /*#__PURE__*/_jsx(\"title\", {\n children: titleAccess\n }) : null]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? SvgIcon.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Node passed into the SVG element.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * You can use the `htmlColor` prop to apply a color attribute to the SVG element.\n * @default 'inherit'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['inherit', 'action', 'disabled', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * The fontSize applied to the icon. Defaults to 24px, but can be configure to inherit font size.\n * @default 'medium'\n */\n fontSize: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['inherit', 'large', 'medium', 'small']), PropTypes.string]),\n /**\n * Applies a color attribute to the SVG element.\n */\n htmlColor: PropTypes.string,\n /**\n * If `true`, the root node will inherit the custom `component`'s viewBox and the `viewBox`\n * prop will be ignored.\n * Useful when you want to reference a custom `component` and have `SvgIcon` pass that\n * `component`'s viewBox to the root node.\n * @default false\n */\n inheritViewBox: PropTypes.bool,\n /**\n * The shape-rendering attribute. The behavior of the different options is described on the\n * [MDN Web Docs](https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/shape-rendering).\n * If you are having issues with blurry icons you should investigate this prop.\n */\n shapeRendering: PropTypes.string,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * Provides a human-readable title for the element that contains it.\n * https://www.w3.org/TR/SVG-access/#Equivalent\n */\n titleAccess: PropTypes.string,\n /**\n * Allows you to redefine what the coordinates without units mean inside an SVG element.\n * For example, if the SVG element is 500 (width) by 200 (height),\n * and you pass viewBox=\"0 0 50 20\",\n * this means that the coordinates inside the SVG will go from the top left corner (0,0)\n * to bottom right (50,20) and each unit will be worth 10px.\n * @default '0 0 24 24'\n */\n viewBox: PropTypes.string\n} : void 0;\nSvgIcon.muiName = 'SvgIcon';\nexport default SvgIcon;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport SvgIcon from '../SvgIcon';\n\n/**\n * Private module reserved for @mui packages.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default function createSvgIcon(path, displayName) {\n function Component(props, ref) {\n return /*#__PURE__*/_jsx(SvgIcon, _extends({\n \"data-testid\": `${displayName}Icon`,\n ref: ref\n }, props, {\n children: path\n }));\n }\n if (process.env.NODE_ENV !== 'production') {\n // Need to set `displayName` on the inner component for React.memo.\n // React prior to 16.14 ignores `displayName` on the wrapper.\n Component.displayName = `${displayName}Icon`;\n }\n Component.muiName = SvgIcon.muiName;\n return /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(Component));\n}","'use client';\n\nimport { unstable_ClassNameGenerator as ClassNameGenerator } from '@mui/base/ClassNameGenerator';\nexport { default as capitalize } from './capitalize';\nexport { default as createChainedFunction } from './createChainedFunction';\nexport { default as createSvgIcon } from './createSvgIcon';\nexport { default as debounce } from './debounce';\nexport { default as deprecatedPropType } from './deprecatedPropType';\nexport { default as isMuiElement } from './isMuiElement';\nexport { default as ownerDocument } from './ownerDocument';\nexport { default as ownerWindow } from './ownerWindow';\nexport { default as requirePropFactory } from './requirePropFactory';\nexport { default as setRef } from './setRef';\nexport { default as unstable_useEnhancedEffect } from './useEnhancedEffect';\nexport { default as unstable_useId } from './useId';\nexport { default as unsupportedProp } from './unsupportedProp';\nexport { default as useControlled } from './useControlled';\nexport { default as useEventCallback } from './useEventCallback';\nexport { default as useForkRef } from './useForkRef';\nexport { default as useIsFocusVisible } from './useIsFocusVisible';\n// TODO: remove this export once ClassNameGenerator is stable\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const unstable_ClassNameGenerator = {\n configure: generator => {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(['MUI: `ClassNameGenerator` import from `@mui/material/utils` is outdated and might cause unexpected issues.', '', \"You should use `import { unstable_ClassNameGenerator } from '@mui/material/className'` instead\", '', 'The detail of the issue: https://github.com/mui/material-ui/issues/30011#issuecomment-1024993401', '', 'The updated documentation: https://mui.com/guides/classname-generator/'].join('\\n'));\n }\n ClassNameGenerator.configure(generator);\n }\n};","import useThemeProps from '../styles/useThemeProps';\nexport { default as styled } from '../styles/styled';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport function createUseThemeProps(name) {\n return useThemeProps;\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","export default {\n disabled: false\n};","import React from 'react';\nexport default React.createContext(null);","export var forceReflow = function forceReflow(node) {\n return node.scrollTop;\n};","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport config from './config';\nimport { timeoutsShape } from './utils/PropTypes';\nimport TransitionGroupContext from './TransitionGroupContext';\nimport { forceReflow } from './utils/reflow';\nexport var UNMOUNTED = 'unmounted';\nexport var EXITED = 'exited';\nexport var ENTERING = 'entering';\nexport var ENTERED = 'entered';\nexport var EXITING = 'exiting';\n/**\n * The Transition component lets you describe a transition from one component\n * state to another _over time_ with a simple declarative API. Most commonly\n * it's used to animate the mounting and unmounting of a component, but can also\n * be used to describe in-place transition states as well.\n *\n * ---\n *\n * **Note**: `Transition` is a platform-agnostic base component. If you're using\n * transitions in CSS, you'll probably want to use\n * [`CSSTransition`](https://reactcommunity.org/react-transition-group/css-transition)\n * instead. It inherits all the features of `Transition`, but contains\n * additional features necessary to play nice with CSS transitions (hence the\n * name of the component).\n *\n * ---\n *\n * By default the `Transition` component does not alter the behavior of the\n * component it renders, it only tracks \"enter\" and \"exit\" states for the\n * components. It's up to you to give meaning and effect to those states. For\n * example we can add styles to a component when it enters or exits:\n *\n * ```jsx\n * import { Transition } from 'react-transition-group';\n *\n * const duration = 300;\n *\n * const defaultStyle = {\n * transition: `opacity ${duration}ms ease-in-out`,\n * opacity: 0,\n * }\n *\n * const transitionStyles = {\n * entering: { opacity: 1 },\n * entered: { opacity: 1 },\n * exiting: { opacity: 0 },\n * exited: { opacity: 0 },\n * };\n *\n * const Fade = ({ in: inProp }) => (\n * <Transition in={inProp} timeout={duration}>\n * {state => (\n * <div style={{\n * ...defaultStyle,\n * ...transitionStyles[state]\n * }}>\n * I'm a fade Transition!\n * </div>\n * )}\n * </Transition>\n * );\n * ```\n *\n * There are 4 main states a Transition can be in:\n * - `'entering'`\n * - `'entered'`\n * - `'exiting'`\n * - `'exited'`\n *\n * Transition state is toggled via the `in` prop. When `true` the component\n * begins the \"Enter\" stage. During this stage, the component will shift from\n * its current transition state, to `'entering'` for the duration of the\n * transition and then to the `'entered'` stage once it's complete. Let's take\n * the following example (we'll use the\n * [useState](https://reactjs.org/docs/hooks-reference.html#usestate) hook):\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n * <div>\n * <Transition in={inProp} timeout={500}>\n * {state => (\n * // ...\n * )}\n * </Transition>\n * <button onClick={() => setInProp(true)}>\n * Click to Enter\n * </button>\n * </div>\n * );\n * }\n * ```\n *\n * When the button is clicked the component will shift to the `'entering'` state\n * and stay there for 500ms (the value of `timeout`) before it finally switches\n * to `'entered'`.\n *\n * When `in` is `false` the same thing happens except the state moves from\n * `'exiting'` to `'exited'`.\n */\n\nvar Transition = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Transition, _React$Component);\n\n function Transition(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n var parentGroup = context; // In the context of a TransitionGroup all enters are really appears\n\n var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;\n var initialStatus;\n _this.appearStatus = null;\n\n if (props.in) {\n if (appear) {\n initialStatus = EXITED;\n _this.appearStatus = ENTERING;\n } else {\n initialStatus = ENTERED;\n }\n } else {\n if (props.unmountOnExit || props.mountOnEnter) {\n initialStatus = UNMOUNTED;\n } else {\n initialStatus = EXITED;\n }\n }\n\n _this.state = {\n status: initialStatus\n };\n _this.nextCallback = null;\n return _this;\n }\n\n Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {\n var nextIn = _ref.in;\n\n if (nextIn && prevState.status === UNMOUNTED) {\n return {\n status: EXITED\n };\n }\n\n return null;\n } // getSnapshotBeforeUpdate(prevProps) {\n // let nextStatus = null\n // if (prevProps !== this.props) {\n // const { status } = this.state\n // if (this.props.in) {\n // if (status !== ENTERING && status !== ENTERED) {\n // nextStatus = ENTERING\n // }\n // } else {\n // if (status === ENTERING || status === ENTERED) {\n // nextStatus = EXITING\n // }\n // }\n // }\n // return { nextStatus }\n // }\n ;\n\n var _proto = Transition.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.updateStatus(true, this.appearStatus);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var nextStatus = null;\n\n if (prevProps !== this.props) {\n var status = this.state.status;\n\n if (this.props.in) {\n if (status !== ENTERING && status !== ENTERED) {\n nextStatus = ENTERING;\n }\n } else {\n if (status === ENTERING || status === ENTERED) {\n nextStatus = EXITING;\n }\n }\n }\n\n this.updateStatus(false, nextStatus);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.cancelNextCallback();\n };\n\n _proto.getTimeouts = function getTimeouts() {\n var timeout = this.props.timeout;\n var exit, enter, appear;\n exit = enter = appear = timeout;\n\n if (timeout != null && typeof timeout !== 'number') {\n exit = timeout.exit;\n enter = timeout.enter; // TODO: remove fallback for next major\n\n appear = timeout.appear !== undefined ? timeout.appear : enter;\n }\n\n return {\n exit: exit,\n enter: enter,\n appear: appear\n };\n };\n\n _proto.updateStatus = function updateStatus(mounting, nextStatus) {\n if (mounting === void 0) {\n mounting = false;\n }\n\n if (nextStatus !== null) {\n // nextStatus will always be ENTERING or EXITING.\n this.cancelNextCallback();\n\n if (nextStatus === ENTERING) {\n if (this.props.unmountOnExit || this.props.mountOnEnter) {\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this); // https://github.com/reactjs/react-transition-group/pull/749\n // With unmountOnExit or mountOnEnter, the enter animation should happen at the transition between `exited` and `entering`.\n // To make the animation happen, we have to separate each rendering and avoid being processed as batched.\n\n if (node) forceReflow(node);\n }\n\n this.performEnter(mounting);\n } else {\n this.performExit();\n }\n } else if (this.props.unmountOnExit && this.state.status === EXITED) {\n this.setState({\n status: UNMOUNTED\n });\n }\n };\n\n _proto.performEnter = function performEnter(mounting) {\n var _this2 = this;\n\n var enter = this.props.enter;\n var appearing = this.context ? this.context.isMounting : mounting;\n\n var _ref2 = this.props.nodeRef ? [appearing] : [ReactDOM.findDOMNode(this), appearing],\n maybeNode = _ref2[0],\n maybeAppearing = _ref2[1];\n\n var timeouts = this.getTimeouts();\n var enterTimeout = appearing ? timeouts.appear : timeouts.enter; // no enter animation skip right to ENTERED\n // if we are mounting and running this it means appear _must_ be set\n\n if (!mounting && !enter || config.disabled) {\n this.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode);\n });\n return;\n }\n\n this.props.onEnter(maybeNode, maybeAppearing);\n this.safeSetState({\n status: ENTERING\n }, function () {\n _this2.props.onEntering(maybeNode, maybeAppearing);\n\n _this2.onTransitionEnd(enterTimeout, function () {\n _this2.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode, maybeAppearing);\n });\n });\n });\n };\n\n _proto.performExit = function performExit() {\n var _this3 = this;\n\n var exit = this.props.exit;\n var timeouts = this.getTimeouts();\n var maybeNode = this.props.nodeRef ? undefined : ReactDOM.findDOMNode(this); // no exit animation skip right to EXITED\n\n if (!exit || config.disabled) {\n this.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n return;\n }\n\n this.props.onExit(maybeNode);\n this.safeSetState({\n status: EXITING\n }, function () {\n _this3.props.onExiting(maybeNode);\n\n _this3.onTransitionEnd(timeouts.exit, function () {\n _this3.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n });\n });\n };\n\n _proto.cancelNextCallback = function cancelNextCallback() {\n if (this.nextCallback !== null) {\n this.nextCallback.cancel();\n this.nextCallback = null;\n }\n };\n\n _proto.safeSetState = function safeSetState(nextState, callback) {\n // This shouldn't be necessary, but there are weird race conditions with\n // setState callbacks and unmounting in testing, so always make sure that\n // we can cancel any pending setState callbacks after we unmount.\n callback = this.setNextCallback(callback);\n this.setState(nextState, callback);\n };\n\n _proto.setNextCallback = function setNextCallback(callback) {\n var _this4 = this;\n\n var active = true;\n\n this.nextCallback = function (event) {\n if (active) {\n active = false;\n _this4.nextCallback = null;\n callback(event);\n }\n };\n\n this.nextCallback.cancel = function () {\n active = false;\n };\n\n return this.nextCallback;\n };\n\n _proto.onTransitionEnd = function onTransitionEnd(timeout, handler) {\n this.setNextCallback(handler);\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this);\n var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener;\n\n if (!node || doesNotHaveTimeoutOrListener) {\n setTimeout(this.nextCallback, 0);\n return;\n }\n\n if (this.props.addEndListener) {\n var _ref3 = this.props.nodeRef ? [this.nextCallback] : [node, this.nextCallback],\n maybeNode = _ref3[0],\n maybeNextCallback = _ref3[1];\n\n this.props.addEndListener(maybeNode, maybeNextCallback);\n }\n\n if (timeout != null) {\n setTimeout(this.nextCallback, timeout);\n }\n };\n\n _proto.render = function render() {\n var status = this.state.status;\n\n if (status === UNMOUNTED) {\n return null;\n }\n\n var _this$props = this.props,\n children = _this$props.children,\n _in = _this$props.in,\n _mountOnEnter = _this$props.mountOnEnter,\n _unmountOnExit = _this$props.unmountOnExit,\n _appear = _this$props.appear,\n _enter = _this$props.enter,\n _exit = _this$props.exit,\n _timeout = _this$props.timeout,\n _addEndListener = _this$props.addEndListener,\n _onEnter = _this$props.onEnter,\n _onEntering = _this$props.onEntering,\n _onEntered = _this$props.onEntered,\n _onExit = _this$props.onExit,\n _onExiting = _this$props.onExiting,\n _onExited = _this$props.onExited,\n _nodeRef = _this$props.nodeRef,\n childProps = _objectWithoutPropertiesLoose(_this$props, [\"children\", \"in\", \"mountOnEnter\", \"unmountOnExit\", \"appear\", \"enter\", \"exit\", \"timeout\", \"addEndListener\", \"onEnter\", \"onEntering\", \"onEntered\", \"onExit\", \"onExiting\", \"onExited\", \"nodeRef\"]);\n\n return (\n /*#__PURE__*/\n // allows for nested Transitions\n React.createElement(TransitionGroupContext.Provider, {\n value: null\n }, typeof children === 'function' ? children(status, childProps) : React.cloneElement(React.Children.only(children), childProps))\n );\n };\n\n return Transition;\n}(React.Component);\n\nTransition.contextType = TransitionGroupContext;\nTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * A React reference to DOM element that need to transition:\n * https://stackoverflow.com/a/51127130/4671932\n *\n * - When `nodeRef` prop is used, `node` is not passed to callback functions\n * (e.g. `onEnter`) because user already has direct access to the node.\n * - When changing `key` prop of `Transition` in a `TransitionGroup` a new\n * `nodeRef` need to be provided to `Transition` with changed `key` prop\n * (see\n * [test/CSSTransition-test.js](https://github.com/reactjs/react-transition-group/blob/13435f897b3ab71f6e19d724f145596f5910581c/test/CSSTransition-test.js#L362-L437)).\n */\n nodeRef: PropTypes.shape({\n current: typeof Element === 'undefined' ? PropTypes.any : function (propValue, key, componentName, location, propFullName, secret) {\n var value = propValue[key];\n return PropTypes.instanceOf(value && 'ownerDocument' in value ? value.ownerDocument.defaultView.Element : Element)(propValue, key, componentName, location, propFullName, secret);\n }\n }),\n\n /**\n * A `function` child can be used instead of a React element. This function is\n * called with the current transition status (`'entering'`, `'entered'`,\n * `'exiting'`, `'exited'`), which can be used to apply context\n * specific props to a component.\n *\n * ```jsx\n * <Transition in={this.state.in} timeout={150}>\n * {state => (\n * <MyComponent className={`fade fade-${state}`} />\n * )}\n * </Transition>\n * ```\n */\n children: PropTypes.oneOfType([PropTypes.func.isRequired, PropTypes.element.isRequired]).isRequired,\n\n /**\n * Show the component; triggers the enter or exit states\n */\n in: PropTypes.bool,\n\n /**\n * By default the child component is mounted immediately along with\n * the parent `Transition` component. If you want to \"lazy mount\" the component on the\n * first `in={true}` you can set `mountOnEnter`. After the first enter transition the component will stay\n * mounted, even on \"exited\", unless you also specify `unmountOnExit`.\n */\n mountOnEnter: PropTypes.bool,\n\n /**\n * By default the child component stays mounted after it reaches the `'exited'` state.\n * Set `unmountOnExit` if you'd prefer to unmount the component after it finishes exiting.\n */\n unmountOnExit: PropTypes.bool,\n\n /**\n * By default the child component does not perform the enter transition when\n * it first mounts, regardless of the value of `in`. If you want this\n * behavior, set both `appear` and `in` to `true`.\n *\n * > **Note**: there are no special appear states like `appearing`/`appeared`, this prop\n * > only adds an additional enter transition. However, in the\n * > `<CSSTransition>` component that first enter transition does result in\n * > additional `.appear-*` classes, that way you can choose to style it\n * > differently.\n */\n appear: PropTypes.bool,\n\n /**\n * Enable or disable enter transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * Enable or disable exit transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * The duration of the transition, in milliseconds.\n * Required unless `addEndListener` is provided.\n *\n * You may specify a single timeout for all transitions:\n *\n * ```jsx\n * timeout={500}\n * ```\n *\n * or individually:\n *\n * ```jsx\n * timeout={{\n * appear: 500,\n * enter: 300,\n * exit: 500,\n * }}\n * ```\n *\n * - `appear` defaults to the value of `enter`\n * - `enter` defaults to `0`\n * - `exit` defaults to `0`\n *\n * @type {number | { enter?: number, exit?: number, appear?: number }}\n */\n timeout: function timeout(props) {\n var pt = timeoutsShape;\n if (!props.addEndListener) pt = pt.isRequired;\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return pt.apply(void 0, [props].concat(args));\n },\n\n /**\n * Add a custom transition end trigger. Called with the transitioning\n * DOM node and a `done` callback. Allows for more fine grained transition end\n * logic. Timeouts are still used as a fallback if provided.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * ```jsx\n * addEndListener={(node, done) => {\n * // use the css transitionend event to mark the finish of a transition\n * node.addEventListener('transitionend', done, false);\n * }}\n * ```\n */\n addEndListener: PropTypes.func,\n\n /**\n * Callback fired before the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEnter: PropTypes.func,\n\n /**\n * Callback fired after the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * Callback fired after the \"entered\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEntered: PropTypes.func,\n\n /**\n * Callback fired before the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExit: PropTypes.func,\n\n /**\n * Callback fired after the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExiting: PropTypes.func,\n\n /**\n * Callback fired after the \"exited\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExited: PropTypes.func\n} : {}; // Name the function so it is clearer in the documentation\n\nfunction noop() {}\n\nTransition.defaultProps = {\n in: false,\n mountOnEnter: false,\n unmountOnExit: false,\n appear: false,\n enter: true,\n exit: true,\n onEnter: noop,\n onEntering: noop,\n onEntered: noop,\n onExit: noop,\n onExiting: noop,\n onExited: noop\n};\nTransition.UNMOUNTED = UNMOUNTED;\nTransition.EXITED = EXITED;\nTransition.ENTERING = ENTERING;\nTransition.ENTERED = ENTERED;\nTransition.EXITING = EXITING;\nexport default Transition;","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}","import { Children, cloneElement, isValidElement } from 'react';\n/**\n * Given `this.props.children`, return an object mapping key to child.\n *\n * @param {*} children `this.props.children`\n * @return {object} Mapping of key to child\n */\n\nexport function getChildMapping(children, mapFn) {\n var mapper = function mapper(child) {\n return mapFn && isValidElement(child) ? mapFn(child) : child;\n };\n\n var result = Object.create(null);\n if (children) Children.map(children, function (c) {\n return c;\n }).forEach(function (child) {\n // run the map function here instead so that the key is the computed one\n result[child.key] = mapper(child);\n });\n return result;\n}\n/**\n * When you're adding or removing children some may be added or removed in the\n * same render pass. We want to show *both* since we want to simultaneously\n * animate elements in and out. This function takes a previous set of keys\n * and a new set of keys and merges them with its best guess of the correct\n * ordering. In the future we may expose some of the utilities in\n * ReactMultiChild to make this easy, but for now React itself does not\n * directly have this concept of the union of prevChildren and nextChildren\n * so we implement it here.\n *\n * @param {object} prev prev children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @param {object} next next children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @return {object} a key set that contains all keys in `prev` and all keys\n * in `next` in a reasonable order.\n */\n\nexport function mergeChildMappings(prev, next) {\n prev = prev || {};\n next = next || {};\n\n function getValueForKey(key) {\n return key in next ? next[key] : prev[key];\n } // For each key of `next`, the list of keys to insert before that key in\n // the combined list\n\n\n var nextKeysPending = Object.create(null);\n var pendingKeys = [];\n\n for (var prevKey in prev) {\n if (prevKey in next) {\n if (pendingKeys.length) {\n nextKeysPending[prevKey] = pendingKeys;\n pendingKeys = [];\n }\n } else {\n pendingKeys.push(prevKey);\n }\n }\n\n var i;\n var childMapping = {};\n\n for (var nextKey in next) {\n if (nextKeysPending[nextKey]) {\n for (i = 0; i < nextKeysPending[nextKey].length; i++) {\n var pendingNextKey = nextKeysPending[nextKey][i];\n childMapping[nextKeysPending[nextKey][i]] = getValueForKey(pendingNextKey);\n }\n }\n\n childMapping[nextKey] = getValueForKey(nextKey);\n } // Finally, add the keys which didn't appear before any key in `next`\n\n\n for (i = 0; i < pendingKeys.length; i++) {\n childMapping[pendingKeys[i]] = getValueForKey(pendingKeys[i]);\n }\n\n return childMapping;\n}\n\nfunction getProp(child, prop, props) {\n return props[prop] != null ? props[prop] : child.props[prop];\n}\n\nexport function getInitialChildMapping(props, onExited) {\n return getChildMapping(props.children, function (child) {\n return cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: true,\n appear: getProp(child, 'appear', props),\n enter: getProp(child, 'enter', props),\n exit: getProp(child, 'exit', props)\n });\n });\n}\nexport function getNextChildMapping(nextProps, prevChildMapping, onExited) {\n var nextChildMapping = getChildMapping(nextProps.children);\n var children = mergeChildMappings(prevChildMapping, nextChildMapping);\n Object.keys(children).forEach(function (key) {\n var child = children[key];\n if (!isValidElement(child)) return;\n var hasPrev = (key in prevChildMapping);\n var hasNext = (key in nextChildMapping);\n var prevChild = prevChildMapping[key];\n var isLeaving = isValidElement(prevChild) && !prevChild.props.in; // item is new (entering)\n\n if (hasNext && (!hasPrev || isLeaving)) {\n // console.log('entering', key)\n children[key] = cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: true,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n } else if (!hasNext && hasPrev && !isLeaving) {\n // item is old (exiting)\n // console.log('leaving', key)\n children[key] = cloneElement(child, {\n in: false\n });\n } else if (hasNext && hasPrev && isValidElement(prevChild)) {\n // item hasn't changed transition states\n // copy over the last transition props;\n // console.log('unchanged', key)\n children[key] = cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: prevChild.props.in,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n }\n });\n return children;\n}","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport TransitionGroupContext from './TransitionGroupContext';\nimport { getChildMapping, getInitialChildMapping, getNextChildMapping } from './utils/ChildMapping';\n\nvar values = Object.values || function (obj) {\n return Object.keys(obj).map(function (k) {\n return obj[k];\n });\n};\n\nvar defaultProps = {\n component: 'div',\n childFactory: function childFactory(child) {\n return child;\n }\n};\n/**\n * The `<TransitionGroup>` component manages a set of transition components\n * (`<Transition>` and `<CSSTransition>`) in a list. Like with the transition\n * components, `<TransitionGroup>` is a state machine for managing the mounting\n * and unmounting of components over time.\n *\n * Consider the example below. As items are removed or added to the TodoList the\n * `in` prop is toggled automatically by the `<TransitionGroup>`.\n *\n * Note that `<TransitionGroup>` does not define any animation behavior!\n * Exactly _how_ a list item animates is up to the individual transition\n * component. This means you can mix and match animations across different list\n * items.\n */\n\nvar TransitionGroup = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(TransitionGroup, _React$Component);\n\n function TransitionGroup(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n\n var handleExited = _this.handleExited.bind(_assertThisInitialized(_this)); // Initial children should all be entering, dependent on appear\n\n\n _this.state = {\n contextValue: {\n isMounting: true\n },\n handleExited: handleExited,\n firstRender: true\n };\n return _this;\n }\n\n var _proto = TransitionGroup.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.mounted = true;\n this.setState({\n contextValue: {\n isMounting: false\n }\n });\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.mounted = false;\n };\n\n TransitionGroup.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, _ref) {\n var prevChildMapping = _ref.children,\n handleExited = _ref.handleExited,\n firstRender = _ref.firstRender;\n return {\n children: firstRender ? getInitialChildMapping(nextProps, handleExited) : getNextChildMapping(nextProps, prevChildMapping, handleExited),\n firstRender: false\n };\n } // node is `undefined` when user provided `nodeRef` prop\n ;\n\n _proto.handleExited = function handleExited(child, node) {\n var currentChildMapping = getChildMapping(this.props.children);\n if (child.key in currentChildMapping) return;\n\n if (child.props.onExited) {\n child.props.onExited(node);\n }\n\n if (this.mounted) {\n this.setState(function (state) {\n var children = _extends({}, state.children);\n\n delete children[child.key];\n return {\n children: children\n };\n });\n }\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n Component = _this$props.component,\n childFactory = _this$props.childFactory,\n props = _objectWithoutPropertiesLoose(_this$props, [\"component\", \"childFactory\"]);\n\n var contextValue = this.state.contextValue;\n var children = values(this.state.children).map(childFactory);\n delete props.appear;\n delete props.enter;\n delete props.exit;\n\n if (Component === null) {\n return /*#__PURE__*/React.createElement(TransitionGroupContext.Provider, {\n value: contextValue\n }, children);\n }\n\n return /*#__PURE__*/React.createElement(TransitionGroupContext.Provider, {\n value: contextValue\n }, /*#__PURE__*/React.createElement(Component, props, children));\n };\n\n return TransitionGroup;\n}(React.Component);\n\nTransitionGroup.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * `<TransitionGroup>` renders a `<div>` by default. You can change this\n * behavior by providing a `component` prop.\n * If you use React v16+ and would like to avoid a wrapping `<div>` element\n * you can pass in `component={null}`. This is useful if the wrapping div\n * borks your css styles.\n */\n component: PropTypes.any,\n\n /**\n * A set of `<Transition>` components, that are toggled `in` and out as they\n * leave. the `<TransitionGroup>` will inject specific transition props, so\n * remember to spread them through if you are wrapping the `<Transition>` as\n * with our `<Fade>` example.\n *\n * While this component is meant for multiple `Transition` or `CSSTransition`\n * children, sometimes you may want to have a single transition child with\n * content that you want to be transitioned out and in when you change it\n * (e.g. routes, images etc.) In that case you can change the `key` prop of\n * the transition child as you change its content, this will cause\n * `TransitionGroup` to transition the child out and back in.\n */\n children: PropTypes.node,\n\n /**\n * A convenience prop that enables or disables appear animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n appear: PropTypes.bool,\n\n /**\n * A convenience prop that enables or disables enter animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * A convenience prop that enables or disables exit animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * You may need to apply reactive updates to a child as it is exiting.\n * This is generally done by using `cloneElement` however in the case of an exiting\n * child the element has already been removed and not accessible to the consumer.\n *\n * If you do need to update a child as it leaves you can provide a `childFactory`\n * to wrap every child, even the ones that are leaving.\n *\n * @type Function(child: ReactElement) -> ReactElement\n */\n childFactory: PropTypes.func\n} : {};\nTransitionGroup.defaultProps = defaultProps;\nexport default TransitionGroup;","export const reflow = node => node.scrollTop;\nexport function getTransitionProps(props, options) {\n var _style$transitionDura, _style$transitionTimi;\n const {\n timeout,\n easing,\n style = {}\n } = props;\n return {\n duration: (_style$transitionDura = style.transitionDuration) != null ? _style$transitionDura : typeof timeout === 'number' ? timeout : timeout[options.mode] || 0,\n easing: (_style$transitionTimi = style.transitionTimingFunction) != null ? _style$transitionTimi : typeof easing === 'object' ? easing[options.mode] : easing,\n delay: style.transitionDelay\n };\n}","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getPaperUtilityClass(slot) {\n return generateUtilityClass('MuiPaper', slot);\n}\nconst paperClasses = generateUtilityClasses('MuiPaper', ['root', 'rounded', 'outlined', 'elevation', 'elevation0', 'elevation1', 'elevation2', 'elevation3', 'elevation4', 'elevation5', 'elevation6', 'elevation7', 'elevation8', 'elevation9', 'elevation10', 'elevation11', 'elevation12', 'elevation13', 'elevation14', 'elevation15', 'elevation16', 'elevation17', 'elevation18', 'elevation19', 'elevation20', 'elevation21', 'elevation22', 'elevation23', 'elevation24']);\nexport default paperClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"component\", \"elevation\", \"square\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport integerPropType from '@mui/utils/integerPropType';\nimport chainPropTypes from '@mui/utils/chainPropTypes';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { alpha } from '@mui/system/colorManipulator';\nimport styled from '../styles/styled';\nimport getOverlayAlpha from '../styles/getOverlayAlpha';\nimport useThemeProps from '../styles/useThemeProps';\nimport useTheme from '../styles/useTheme';\nimport { getPaperUtilityClass } from './paperClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n square,\n elevation,\n variant,\n classes\n } = ownerState;\n const slots = {\n root: ['root', variant, !square && 'rounded', variant === 'elevation' && `elevation${elevation}`]\n };\n return composeClasses(slots, getPaperUtilityClass, classes);\n};\nconst PaperRoot = styled('div', {\n name: 'MuiPaper',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[ownerState.variant], !ownerState.square && styles.rounded, ownerState.variant === 'elevation' && styles[`elevation${ownerState.elevation}`]];\n }\n})(({\n theme,\n ownerState\n}) => {\n var _theme$vars$overlays;\n return _extends({\n backgroundColor: (theme.vars || theme).palette.background.paper,\n color: (theme.vars || theme).palette.text.primary,\n transition: theme.transitions.create('box-shadow')\n }, !ownerState.square && {\n borderRadius: theme.shape.borderRadius\n }, ownerState.variant === 'outlined' && {\n border: `1px solid ${(theme.vars || theme).palette.divider}`\n }, ownerState.variant === 'elevation' && _extends({\n boxShadow: (theme.vars || theme).shadows[ownerState.elevation]\n }, !theme.vars && theme.palette.mode === 'dark' && {\n backgroundImage: `linear-gradient(${alpha('#fff', getOverlayAlpha(ownerState.elevation))}, ${alpha('#fff', getOverlayAlpha(ownerState.elevation))})`\n }, theme.vars && {\n backgroundImage: (_theme$vars$overlays = theme.vars.overlays) == null ? void 0 : _theme$vars$overlays[ownerState.elevation]\n }));\n});\nconst Paper = /*#__PURE__*/React.forwardRef(function Paper(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiPaper'\n });\n const {\n className,\n component = 'div',\n elevation = 1,\n square = false,\n variant = 'elevation'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n component,\n elevation,\n square,\n variant\n });\n const classes = useUtilityClasses(ownerState);\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const theme = useTheme();\n if (theme.shadows[elevation] === undefined) {\n console.error([`MUI: The elevation provided <Paper elevation={${elevation}}> is not available in the theme.`, `Please make sure that \\`theme.shadows[${elevation}]\\` is defined.`].join('\\n'));\n }\n }\n return /*#__PURE__*/_jsx(PaperRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? Paper.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * Shadow depth, corresponds to `dp` in the spec.\n * It accepts values between 0 and 24 inclusive.\n * @default 1\n */\n elevation: chainPropTypes(integerPropType, props => {\n const {\n elevation,\n variant\n } = props;\n if (elevation > 0 && variant === 'outlined') {\n return new Error(`MUI: Combining \\`elevation={${elevation}}\\` with \\`variant=\"${variant}\"\\` has no effect. Either use \\`elevation={0}\\` or use a different \\`variant\\`.`);\n }\n return null;\n }),\n /**\n * If `true`, rounded corners are disabled.\n * @default false\n */\n square: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The variant to use.\n * @default 'elevation'\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['elevation', 'outlined']), PropTypes.string])\n} : void 0;\nexport default Paper;","/**\n * Determines if a given element is a DOM element name (i.e. not a React component).\n */\nexport function isHostComponent(element) {\n return typeof element === 'string';\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { isHostComponent } from './isHostComponent';\n\n/**\n * Type of the ownerState based on the type of an element it applies to.\n * This resolves to the provided OwnerState for React components and `undefined` for host components.\n * Falls back to `OwnerState | undefined` when the exact type can't be determined in development time.\n */\n\n/**\n * Appends the ownerState object to the props, merging with the existing one if necessary.\n *\n * @param elementType Type of the element that owns the `existingProps`. If the element is a DOM node or undefined, `ownerState` is not applied.\n * @param otherProps Props of the element.\n * @param ownerState\n */\nexport function appendOwnerState(elementType, otherProps, ownerState) {\n if (elementType === undefined || isHostComponent(elementType)) {\n return otherProps;\n }\n return _extends({}, otherProps, {\n ownerState: _extends({}, otherProps.ownerState, ownerState)\n });\n}","'use client';\n\nimport * as React from 'react';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst defaultContextValue = {\n disableDefaultClasses: false\n};\nconst ClassNameConfiguratorContext = /*#__PURE__*/React.createContext(defaultContextValue);\nif (process.env.NODE_ENV !== 'production') {\n ClassNameConfiguratorContext.displayName = 'ClassNameConfiguratorContext';\n}\n/**\n * @ignore - internal hook.\n *\n * Wraps the `generateUtilityClass` function and controls how the classes are generated.\n * Currently it only affects whether the classes are applied or not.\n *\n * @returns Function to be called with the `generateUtilityClass` function specific to a component to generate the classes.\n */\nexport function useClassNamesOverride(generateUtilityClass) {\n const {\n disableDefaultClasses\n } = React.useContext(ClassNameConfiguratorContext);\n return slot => {\n if (disableDefaultClasses) {\n return '';\n }\n return generateUtilityClass(slot);\n };\n}\n\n/**\n * Allows to configure the components within to not apply any built-in classes.\n */\nexport function ClassNameConfigurator(props) {\n const {\n disableDefaultClasses,\n children\n } = props;\n const contextValue = React.useMemo(() => ({\n disableDefaultClasses: disableDefaultClasses != null ? disableDefaultClasses : false\n }), [disableDefaultClasses]);\n return /*#__PURE__*/_jsx(ClassNameConfiguratorContext.Provider, {\n value: contextValue,\n children: children\n });\n}","/**\n * Extracts event handlers from a given object.\n * A prop is considered an event handler if it is a function and its name starts with `on`.\n *\n * @param object An object to extract event handlers from.\n * @param excludeKeys An array of keys to exclude from the returned object.\n */\nexport function extractEventHandlers(object, excludeKeys = []) {\n if (object === undefined) {\n return {};\n }\n const result = {};\n Object.keys(object).filter(prop => prop.match(/^on[A-Z]/) && typeof object[prop] === 'function' && !excludeKeys.includes(prop)).forEach(prop => {\n result[prop] = object[prop];\n });\n return result;\n}","/**\n * If `componentProps` is a function, calls it with the provided `ownerState`.\n * Otherwise, just returns `componentProps`.\n */\nexport function resolveComponentProps(componentProps, ownerState, slotState) {\n if (typeof componentProps === 'function') {\n return componentProps(ownerState, slotState);\n }\n return componentProps;\n}","/**\n * Removes event handlers from the given object.\n * A field is considered an event handler if it is a function with a name beginning with `on`.\n *\n * @param object Object to remove event handlers from.\n * @returns Object with event handlers removed.\n */\nexport function omitEventHandlers(object) {\n if (object === undefined) {\n return {};\n }\n const result = {};\n Object.keys(object).filter(prop => !(prop.match(/^on[A-Z]/) && typeof object[prop] === 'function')).forEach(prop => {\n result[prop] = object[prop];\n });\n return result;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport clsx from 'clsx';\nimport { extractEventHandlers } from './extractEventHandlers';\nimport { omitEventHandlers } from './omitEventHandlers';\n/**\n * Merges the slot component internal props (usually coming from a hook)\n * with the externally provided ones.\n *\n * The merge order is (the latter overrides the former):\n * 1. The internal props (specified as a getter function to work with get*Props hook result)\n * 2. Additional props (specified internally on a Base UI component)\n * 3. External props specified on the owner component. These should only be used on a root slot.\n * 4. External props specified in the `slotProps.*` prop.\n * 5. The `className` prop - combined from all the above.\n * @param parameters\n * @returns\n */\nexport function mergeSlotProps(parameters) {\n const {\n getSlotProps,\n additionalProps,\n externalSlotProps,\n externalForwardedProps,\n className\n } = parameters;\n if (!getSlotProps) {\n // The simpler case - getSlotProps is not defined, so no internal event handlers are defined,\n // so we can simply merge all the props without having to worry about extracting event handlers.\n const joinedClasses = clsx(additionalProps == null ? void 0 : additionalProps.className, className, externalForwardedProps == null ? void 0 : externalForwardedProps.className, externalSlotProps == null ? void 0 : externalSlotProps.className);\n const mergedStyle = _extends({}, additionalProps == null ? void 0 : additionalProps.style, externalForwardedProps == null ? void 0 : externalForwardedProps.style, externalSlotProps == null ? void 0 : externalSlotProps.style);\n const props = _extends({}, additionalProps, externalForwardedProps, externalSlotProps);\n if (joinedClasses.length > 0) {\n props.className = joinedClasses;\n }\n if (Object.keys(mergedStyle).length > 0) {\n props.style = mergedStyle;\n }\n return {\n props,\n internalRef: undefined\n };\n }\n\n // In this case, getSlotProps is responsible for calling the external event handlers.\n // We don't need to include them in the merged props because of this.\n\n const eventHandlers = extractEventHandlers(_extends({}, externalForwardedProps, externalSlotProps));\n const componentsPropsWithoutEventHandlers = omitEventHandlers(externalSlotProps);\n const otherPropsWithoutEventHandlers = omitEventHandlers(externalForwardedProps);\n const internalSlotProps = getSlotProps(eventHandlers);\n\n // The order of classes is important here.\n // Emotion (that we use in libraries consuming Base UI) depends on this order\n // to properly override style. It requires the most important classes to be last\n // (see https://github.com/mui/material-ui/pull/33205) for the related discussion.\n const joinedClasses = clsx(internalSlotProps == null ? void 0 : internalSlotProps.className, additionalProps == null ? void 0 : additionalProps.className, className, externalForwardedProps == null ? void 0 : externalForwardedProps.className, externalSlotProps == null ? void 0 : externalSlotProps.className);\n const mergedStyle = _extends({}, internalSlotProps == null ? void 0 : internalSlotProps.style, additionalProps == null ? void 0 : additionalProps.style, externalForwardedProps == null ? void 0 : externalForwardedProps.style, externalSlotProps == null ? void 0 : externalSlotProps.style);\n const props = _extends({}, internalSlotProps, additionalProps, otherPropsWithoutEventHandlers, componentsPropsWithoutEventHandlers);\n if (joinedClasses.length > 0) {\n props.className = joinedClasses;\n }\n if (Object.keys(mergedStyle).length > 0) {\n props.style = mergedStyle;\n }\n return {\n props,\n internalRef: internalSlotProps.ref\n };\n}","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"elementType\", \"externalSlotProps\", \"ownerState\", \"skipResolvingSlotProps\"];\nimport { unstable_useForkRef as useForkRef } from '@mui/utils';\nimport { appendOwnerState } from './appendOwnerState';\nimport { mergeSlotProps } from './mergeSlotProps';\nimport { resolveComponentProps } from './resolveComponentProps';\n/**\n * @ignore - do not document.\n * Builds the props to be passed into the slot of an unstyled component.\n * It merges the internal props of the component with the ones supplied by the user, allowing to customize the behavior.\n * If the slot component is not a host component, it also merges in the `ownerState`.\n *\n * @param parameters.getSlotProps - A function that returns the props to be passed to the slot component.\n */\nexport function useSlotProps(parameters) {\n var _parameters$additiona;\n const {\n elementType,\n externalSlotProps,\n ownerState,\n skipResolvingSlotProps = false\n } = parameters,\n rest = _objectWithoutPropertiesLoose(parameters, _excluded);\n const resolvedComponentsProps = skipResolvingSlotProps ? {} : resolveComponentProps(externalSlotProps, ownerState);\n const {\n props: mergedProps,\n internalRef\n } = mergeSlotProps(_extends({}, rest, {\n externalSlotProps: resolvedComponentsProps\n }));\n const ref = useForkRef(internalRef, resolvedComponentsProps == null ? void 0 : resolvedComponentsProps.ref, (_parameters$additiona = parameters.additionalProps) == null ? void 0 : _parameters$additiona.ref);\n const props = appendOwnerState(elementType, _extends({}, mergedProps, {\n ref\n }), ownerState);\n return props;\n}","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"className\", \"elementType\", \"ownerState\", \"externalForwardedProps\", \"getSlotOwnerState\", \"internalForwardedProps\"],\n _excluded2 = [\"component\", \"slots\", \"slotProps\"],\n _excluded3 = [\"component\"];\nimport useForkRef from '@mui/utils/useForkRef';\nimport { appendOwnerState, resolveComponentProps, mergeSlotProps } from '@mui/base/utils';\n/**\n * An internal function to create a Material UI slot.\n *\n * This is an advanced version of Base UI `useSlotProps` because Material UI allows leaf component to be customized via `component` prop\n * while Base UI does not need to support leaf component customization.\n *\n * @param {string} name: name of the slot\n * @param {object} parameters\n * @returns {[Slot, slotProps]} The slot's React component and the slot's props\n *\n * Note: the returned slot's props\n * - will never contain `component` prop.\n * - might contain `as` prop.\n */\nexport default function useSlot(\n/**\n * The slot's name. All Material UI components should have `root` slot.\n *\n * If the name is `root`, the logic behaves differently from other slots,\n * e.g. the `externalForwardedProps` are spread to `root` slot but not other slots.\n */\nname, parameters) {\n const {\n className,\n elementType: initialElementType,\n ownerState,\n externalForwardedProps,\n getSlotOwnerState,\n internalForwardedProps\n } = parameters,\n useSlotPropsParams = _objectWithoutPropertiesLoose(parameters, _excluded);\n const {\n component: rootComponent,\n slots = {\n [name]: undefined\n },\n slotProps = {\n [name]: undefined\n }\n } = externalForwardedProps,\n other = _objectWithoutPropertiesLoose(externalForwardedProps, _excluded2);\n const elementType = slots[name] || initialElementType;\n\n // `slotProps[name]` can be a callback that receives the component's ownerState.\n // `resolvedComponentsProps` is always a plain object.\n const resolvedComponentsProps = resolveComponentProps(slotProps[name], ownerState);\n const _mergeSlotProps = mergeSlotProps(_extends({\n className\n }, useSlotPropsParams, {\n externalForwardedProps: name === 'root' ? other : undefined,\n externalSlotProps: resolvedComponentsProps\n })),\n {\n props: {\n component: slotComponent\n },\n internalRef\n } = _mergeSlotProps,\n mergedProps = _objectWithoutPropertiesLoose(_mergeSlotProps.props, _excluded3);\n const ref = useForkRef(internalRef, resolvedComponentsProps == null ? void 0 : resolvedComponentsProps.ref, parameters.ref);\n const slotOwnerState = getSlotOwnerState ? getSlotOwnerState(mergedProps) : {};\n const finalOwnerState = _extends({}, ownerState, slotOwnerState);\n const LeafComponent = name === 'root' ? slotComponent || rootComponent : slotComponent;\n const props = appendOwnerState(elementType, _extends({}, name === 'root' && !rootComponent && !slots[name] && internalForwardedProps, name !== 'root' && !slots[name] && internalForwardedProps, mergedProps, LeafComponent && {\n as: LeafComponent\n }, {\n ref\n }), finalOwnerState);\n Object.keys(slotOwnerState).forEach(propName => {\n delete props[propName];\n });\n return [elementType, props];\n}","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction Ripple(props) {\n const {\n className,\n classes,\n pulsate = false,\n rippleX,\n rippleY,\n rippleSize,\n in: inProp,\n onExited,\n timeout\n } = props;\n const [leaving, setLeaving] = React.useState(false);\n const rippleClassName = clsx(className, classes.ripple, classes.rippleVisible, pulsate && classes.ripplePulsate);\n const rippleStyles = {\n width: rippleSize,\n height: rippleSize,\n top: -(rippleSize / 2) + rippleY,\n left: -(rippleSize / 2) + rippleX\n };\n const childClassName = clsx(classes.child, leaving && classes.childLeaving, pulsate && classes.childPulsate);\n if (!inProp && !leaving) {\n setLeaving(true);\n }\n React.useEffect(() => {\n if (!inProp && onExited != null) {\n // react-transition-group#onExited\n const timeoutId = setTimeout(onExited, timeout);\n return () => {\n clearTimeout(timeoutId);\n };\n }\n return undefined;\n }, [onExited, inProp, timeout]);\n return /*#__PURE__*/_jsx(\"span\", {\n className: rippleClassName,\n style: rippleStyles,\n children: /*#__PURE__*/_jsx(\"span\", {\n className: childClassName\n })\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? Ripple.propTypes = {\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n /**\n * @ignore - injected from TransitionGroup\n */\n in: PropTypes.bool,\n /**\n * @ignore - injected from TransitionGroup\n */\n onExited: PropTypes.func,\n /**\n * If `true`, the ripple pulsates, typically indicating the keyboard focus state of an element.\n */\n pulsate: PropTypes.bool,\n /**\n * Diameter of the ripple.\n */\n rippleSize: PropTypes.number,\n /**\n * Horizontal position of the ripple center.\n */\n rippleX: PropTypes.number,\n /**\n * Vertical position of the ripple center.\n */\n rippleY: PropTypes.number,\n /**\n * exit delay\n */\n timeout: PropTypes.number.isRequired\n} : void 0;\nexport default Ripple;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getTouchRippleUtilityClass(slot) {\n return generateUtilityClass('MuiTouchRipple', slot);\n}\nconst touchRippleClasses = generateUtilityClasses('MuiTouchRipple', ['root', 'ripple', 'rippleVisible', 'ripplePulsate', 'child', 'childLeaving', 'childPulsate']);\nexport default touchRippleClasses;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"center\", \"classes\", \"className\"];\nlet _ = t => t,\n _t,\n _t2,\n _t3,\n _t4;\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { TransitionGroup } from 'react-transition-group';\nimport clsx from 'clsx';\nimport { keyframes } from '@mui/system';\nimport useTimeout from '@mui/utils/useTimeout';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport Ripple from './Ripple';\nimport touchRippleClasses from './touchRippleClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst DURATION = 550;\nexport const DELAY_RIPPLE = 80;\nconst enterKeyframe = keyframes(_t || (_t = _`\n 0% {\n transform: scale(0);\n opacity: 0.1;\n }\n\n 100% {\n transform: scale(1);\n opacity: 0.3;\n }\n`));\nconst exitKeyframe = keyframes(_t2 || (_t2 = _`\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n }\n`));\nconst pulsateKeyframe = keyframes(_t3 || (_t3 = _`\n 0% {\n transform: scale(1);\n }\n\n 50% {\n transform: scale(0.92);\n }\n\n 100% {\n transform: scale(1);\n }\n`));\nexport const TouchRippleRoot = styled('span', {\n name: 'MuiTouchRipple',\n slot: 'Root'\n})({\n overflow: 'hidden',\n pointerEvents: 'none',\n position: 'absolute',\n zIndex: 0,\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n borderRadius: 'inherit'\n});\n\n// This `styled()` function invokes keyframes. `styled-components` only supports keyframes\n// in string templates. Do not convert these styles in JS object as it will break.\nexport const TouchRippleRipple = styled(Ripple, {\n name: 'MuiTouchRipple',\n slot: 'Ripple'\n})(_t4 || (_t4 = _`\n opacity: 0;\n position: absolute;\n\n &.${0} {\n opacity: 0.3;\n transform: scale(1);\n animation-name: ${0};\n animation-duration: ${0}ms;\n animation-timing-function: ${0};\n }\n\n &.${0} {\n animation-duration: ${0}ms;\n }\n\n & .${0} {\n opacity: 1;\n display: block;\n width: 100%;\n height: 100%;\n border-radius: 50%;\n background-color: currentColor;\n }\n\n & .${0} {\n opacity: 0;\n animation-name: ${0};\n animation-duration: ${0}ms;\n animation-timing-function: ${0};\n }\n\n & .${0} {\n position: absolute;\n /* @noflip */\n left: 0px;\n top: 0;\n animation-name: ${0};\n animation-duration: 2500ms;\n animation-timing-function: ${0};\n animation-iteration-count: infinite;\n animation-delay: 200ms;\n }\n`), touchRippleClasses.rippleVisible, enterKeyframe, DURATION, ({\n theme\n}) => theme.transitions.easing.easeInOut, touchRippleClasses.ripplePulsate, ({\n theme\n}) => theme.transitions.duration.shorter, touchRippleClasses.child, touchRippleClasses.childLeaving, exitKeyframe, DURATION, ({\n theme\n}) => theme.transitions.easing.easeInOut, touchRippleClasses.childPulsate, pulsateKeyframe, ({\n theme\n}) => theme.transitions.easing.easeInOut);\n\n/**\n * @ignore - internal component.\n *\n * TODO v5: Make private\n */\nconst TouchRipple = /*#__PURE__*/React.forwardRef(function TouchRipple(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTouchRipple'\n });\n const {\n center: centerProp = false,\n classes = {},\n className\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const [ripples, setRipples] = React.useState([]);\n const nextKey = React.useRef(0);\n const rippleCallback = React.useRef(null);\n React.useEffect(() => {\n if (rippleCallback.current) {\n rippleCallback.current();\n rippleCallback.current = null;\n }\n }, [ripples]);\n\n // Used to filter out mouse emulated events on mobile.\n const ignoringMouseDown = React.useRef(false);\n // We use a timer in order to only show the ripples for touch \"click\" like events.\n // We don't want to display the ripple for touch scroll events.\n const startTimer = useTimeout();\n\n // This is the hook called once the previous timeout is ready.\n const startTimerCommit = React.useRef(null);\n const container = React.useRef(null);\n const startCommit = React.useCallback(params => {\n const {\n pulsate,\n rippleX,\n rippleY,\n rippleSize,\n cb\n } = params;\n setRipples(oldRipples => [...oldRipples, /*#__PURE__*/_jsx(TouchRippleRipple, {\n classes: {\n ripple: clsx(classes.ripple, touchRippleClasses.ripple),\n rippleVisible: clsx(classes.rippleVisible, touchRippleClasses.rippleVisible),\n ripplePulsate: clsx(classes.ripplePulsate, touchRippleClasses.ripplePulsate),\n child: clsx(classes.child, touchRippleClasses.child),\n childLeaving: clsx(classes.childLeaving, touchRippleClasses.childLeaving),\n childPulsate: clsx(classes.childPulsate, touchRippleClasses.childPulsate)\n },\n timeout: DURATION,\n pulsate: pulsate,\n rippleX: rippleX,\n rippleY: rippleY,\n rippleSize: rippleSize\n }, nextKey.current)]);\n nextKey.current += 1;\n rippleCallback.current = cb;\n }, [classes]);\n const start = React.useCallback((event = {}, options = {}, cb = () => {}) => {\n const {\n pulsate = false,\n center = centerProp || options.pulsate,\n fakeElement = false // For test purposes\n } = options;\n if ((event == null ? void 0 : event.type) === 'mousedown' && ignoringMouseDown.current) {\n ignoringMouseDown.current = false;\n return;\n }\n if ((event == null ? void 0 : event.type) === 'touchstart') {\n ignoringMouseDown.current = true;\n }\n const element = fakeElement ? null : container.current;\n const rect = element ? element.getBoundingClientRect() : {\n width: 0,\n height: 0,\n left: 0,\n top: 0\n };\n\n // Get the size of the ripple\n let rippleX;\n let rippleY;\n let rippleSize;\n if (center || event === undefined || event.clientX === 0 && event.clientY === 0 || !event.clientX && !event.touches) {\n rippleX = Math.round(rect.width / 2);\n rippleY = Math.round(rect.height / 2);\n } else {\n const {\n clientX,\n clientY\n } = event.touches && event.touches.length > 0 ? event.touches[0] : event;\n rippleX = Math.round(clientX - rect.left);\n rippleY = Math.round(clientY - rect.top);\n }\n if (center) {\n rippleSize = Math.sqrt((2 * rect.width ** 2 + rect.height ** 2) / 3);\n\n // For some reason the animation is broken on Mobile Chrome if the size is even.\n if (rippleSize % 2 === 0) {\n rippleSize += 1;\n }\n } else {\n const sizeX = Math.max(Math.abs((element ? element.clientWidth : 0) - rippleX), rippleX) * 2 + 2;\n const sizeY = Math.max(Math.abs((element ? element.clientHeight : 0) - rippleY), rippleY) * 2 + 2;\n rippleSize = Math.sqrt(sizeX ** 2 + sizeY ** 2);\n }\n\n // Touche devices\n if (event != null && event.touches) {\n // check that this isn't another touchstart due to multitouch\n // otherwise we will only clear a single timer when unmounting while two\n // are running\n if (startTimerCommit.current === null) {\n // Prepare the ripple effect.\n startTimerCommit.current = () => {\n startCommit({\n pulsate,\n rippleX,\n rippleY,\n rippleSize,\n cb\n });\n };\n // Delay the execution of the ripple effect.\n // We have to make a tradeoff with this delay value.\n startTimer.start(DELAY_RIPPLE, () => {\n if (startTimerCommit.current) {\n startTimerCommit.current();\n startTimerCommit.current = null;\n }\n });\n }\n } else {\n startCommit({\n pulsate,\n rippleX,\n rippleY,\n rippleSize,\n cb\n });\n }\n }, [centerProp, startCommit, startTimer]);\n const pulsate = React.useCallback(() => {\n start({}, {\n pulsate: true\n });\n }, [start]);\n const stop = React.useCallback((event, cb) => {\n startTimer.clear();\n\n // The touch interaction occurs too quickly.\n // We still want to show ripple effect.\n if ((event == null ? void 0 : event.type) === 'touchend' && startTimerCommit.current) {\n startTimerCommit.current();\n startTimerCommit.current = null;\n startTimer.start(0, () => {\n stop(event, cb);\n });\n return;\n }\n startTimerCommit.current = null;\n setRipples(oldRipples => {\n if (oldRipples.length > 0) {\n return oldRipples.slice(1);\n }\n return oldRipples;\n });\n rippleCallback.current = cb;\n }, [startTimer]);\n React.useImperativeHandle(ref, () => ({\n pulsate,\n start,\n stop\n }), [pulsate, start, stop]);\n return /*#__PURE__*/_jsx(TouchRippleRoot, _extends({\n className: clsx(touchRippleClasses.root, classes.root, className),\n ref: container\n }, other, {\n children: /*#__PURE__*/_jsx(TransitionGroup, {\n component: null,\n exit: true,\n children: ripples\n })\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TouchRipple.propTypes = {\n /**\n * If `true`, the ripple starts at the center of the component\n * rather than at the point of interaction.\n */\n center: PropTypes.bool,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string\n} : void 0;\nexport default TouchRipple;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getButtonBaseUtilityClass(slot) {\n return generateUtilityClass('MuiButtonBase', slot);\n}\nconst buttonBaseClasses = generateUtilityClasses('MuiButtonBase', ['root', 'disabled', 'focusVisible']);\nexport default buttonBaseClasses;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"action\", \"centerRipple\", \"children\", \"className\", \"component\", \"disabled\", \"disableRipple\", \"disableTouchRipple\", \"focusRipple\", \"focusVisibleClassName\", \"LinkComponent\", \"onBlur\", \"onClick\", \"onContextMenu\", \"onDragLeave\", \"onFocus\", \"onFocusVisible\", \"onKeyDown\", \"onKeyUp\", \"onMouseDown\", \"onMouseLeave\", \"onMouseUp\", \"onTouchEnd\", \"onTouchMove\", \"onTouchStart\", \"tabIndex\", \"TouchRippleProps\", \"touchRippleRef\", \"type\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport refType from '@mui/utils/refType';\nimport elementTypeAcceptingRef from '@mui/utils/elementTypeAcceptingRef';\nimport composeClasses from '@mui/utils/composeClasses';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport useForkRef from '../utils/useForkRef';\nimport useEventCallback from '../utils/useEventCallback';\nimport useIsFocusVisible from '../utils/useIsFocusVisible';\nimport TouchRipple from './TouchRipple';\nimport buttonBaseClasses, { getButtonBaseUtilityClass } from './buttonBaseClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n disabled,\n focusVisible,\n focusVisibleClassName,\n classes\n } = ownerState;\n const slots = {\n root: ['root', disabled && 'disabled', focusVisible && 'focusVisible']\n };\n const composedClasses = composeClasses(slots, getButtonBaseUtilityClass, classes);\n if (focusVisible && focusVisibleClassName) {\n composedClasses.root += ` ${focusVisibleClassName}`;\n }\n return composedClasses;\n};\nexport const ButtonBaseRoot = styled('button', {\n name: 'MuiButtonBase',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n position: 'relative',\n boxSizing: 'border-box',\n WebkitTapHighlightColor: 'transparent',\n backgroundColor: 'transparent',\n // Reset default value\n // We disable the focus ring for mouse, touch and keyboard users.\n outline: 0,\n border: 0,\n margin: 0,\n // Remove the margin in Safari\n borderRadius: 0,\n padding: 0,\n // Remove the padding in Firefox\n cursor: 'pointer',\n userSelect: 'none',\n verticalAlign: 'middle',\n MozAppearance: 'none',\n // Reset\n WebkitAppearance: 'none',\n // Reset\n textDecoration: 'none',\n // So we take precedent over the style of a native <a /> element.\n color: 'inherit',\n '&::-moz-focus-inner': {\n borderStyle: 'none' // Remove Firefox dotted outline.\n },\n [`&.${buttonBaseClasses.disabled}`]: {\n pointerEvents: 'none',\n // Disable link interactions\n cursor: 'default'\n },\n '@media print': {\n colorAdjust: 'exact'\n }\n});\n\n/**\n * `ButtonBase` contains as few styles as possible.\n * It aims to be a simple building block for creating a button.\n * It contains a load of style reset and some focus/ripple logic.\n */\nconst ButtonBase = /*#__PURE__*/React.forwardRef(function ButtonBase(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiButtonBase'\n });\n const {\n action,\n centerRipple = false,\n children,\n className,\n component = 'button',\n disabled = false,\n disableRipple = false,\n disableTouchRipple = false,\n focusRipple = false,\n LinkComponent = 'a',\n onBlur,\n onClick,\n onContextMenu,\n onDragLeave,\n onFocus,\n onFocusVisible,\n onKeyDown,\n onKeyUp,\n onMouseDown,\n onMouseLeave,\n onMouseUp,\n onTouchEnd,\n onTouchMove,\n onTouchStart,\n tabIndex = 0,\n TouchRippleProps,\n touchRippleRef,\n type\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const buttonRef = React.useRef(null);\n const rippleRef = React.useRef(null);\n const handleRippleRef = useForkRef(rippleRef, touchRippleRef);\n const {\n isFocusVisibleRef,\n onFocus: handleFocusVisible,\n onBlur: handleBlurVisible,\n ref: focusVisibleRef\n } = useIsFocusVisible();\n const [focusVisible, setFocusVisible] = React.useState(false);\n if (disabled && focusVisible) {\n setFocusVisible(false);\n }\n React.useImperativeHandle(action, () => ({\n focusVisible: () => {\n setFocusVisible(true);\n buttonRef.current.focus();\n }\n }), []);\n const [mountedState, setMountedState] = React.useState(false);\n React.useEffect(() => {\n setMountedState(true);\n }, []);\n const enableTouchRipple = mountedState && !disableRipple && !disabled;\n React.useEffect(() => {\n if (focusVisible && focusRipple && !disableRipple && mountedState) {\n rippleRef.current.pulsate();\n }\n }, [disableRipple, focusRipple, focusVisible, mountedState]);\n function useRippleHandler(rippleAction, eventCallback, skipRippleAction = disableTouchRipple) {\n return useEventCallback(event => {\n if (eventCallback) {\n eventCallback(event);\n }\n const ignore = skipRippleAction;\n if (!ignore && rippleRef.current) {\n rippleRef.current[rippleAction](event);\n }\n return true;\n });\n }\n const handleMouseDown = useRippleHandler('start', onMouseDown);\n const handleContextMenu = useRippleHandler('stop', onContextMenu);\n const handleDragLeave = useRippleHandler('stop', onDragLeave);\n const handleMouseUp = useRippleHandler('stop', onMouseUp);\n const handleMouseLeave = useRippleHandler('stop', event => {\n if (focusVisible) {\n event.preventDefault();\n }\n if (onMouseLeave) {\n onMouseLeave(event);\n }\n });\n const handleTouchStart = useRippleHandler('start', onTouchStart);\n const handleTouchEnd = useRippleHandler('stop', onTouchEnd);\n const handleTouchMove = useRippleHandler('stop', onTouchMove);\n const handleBlur = useRippleHandler('stop', event => {\n handleBlurVisible(event);\n if (isFocusVisibleRef.current === false) {\n setFocusVisible(false);\n }\n if (onBlur) {\n onBlur(event);\n }\n }, false);\n const handleFocus = useEventCallback(event => {\n // Fix for https://github.com/facebook/react/issues/7769\n if (!buttonRef.current) {\n buttonRef.current = event.currentTarget;\n }\n handleFocusVisible(event);\n if (isFocusVisibleRef.current === true) {\n setFocusVisible(true);\n if (onFocusVisible) {\n onFocusVisible(event);\n }\n }\n if (onFocus) {\n onFocus(event);\n }\n });\n const isNonNativeButton = () => {\n const button = buttonRef.current;\n return component && component !== 'button' && !(button.tagName === 'A' && button.href);\n };\n\n /**\n * IE11 shim for https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/repeat\n */\n const keydownRef = React.useRef(false);\n const handleKeyDown = useEventCallback(event => {\n // Check if key is already down to avoid repeats being counted as multiple activations\n if (focusRipple && !keydownRef.current && focusVisible && rippleRef.current && event.key === ' ') {\n keydownRef.current = true;\n rippleRef.current.stop(event, () => {\n rippleRef.current.start(event);\n });\n }\n if (event.target === event.currentTarget && isNonNativeButton() && event.key === ' ') {\n event.preventDefault();\n }\n if (onKeyDown) {\n onKeyDown(event);\n }\n\n // Keyboard accessibility for non interactive elements\n if (event.target === event.currentTarget && isNonNativeButton() && event.key === 'Enter' && !disabled) {\n event.preventDefault();\n if (onClick) {\n onClick(event);\n }\n }\n });\n const handleKeyUp = useEventCallback(event => {\n // calling preventDefault in keyUp on a <button> will not dispatch a click event if Space is pressed\n // https://codesandbox.io/p/sandbox/button-keyup-preventdefault-dn7f0\n if (focusRipple && event.key === ' ' && rippleRef.current && focusVisible && !event.defaultPrevented) {\n keydownRef.current = false;\n rippleRef.current.stop(event, () => {\n rippleRef.current.pulsate(event);\n });\n }\n if (onKeyUp) {\n onKeyUp(event);\n }\n\n // Keyboard accessibility for non interactive elements\n if (onClick && event.target === event.currentTarget && isNonNativeButton() && event.key === ' ' && !event.defaultPrevented) {\n onClick(event);\n }\n });\n let ComponentProp = component;\n if (ComponentProp === 'button' && (other.href || other.to)) {\n ComponentProp = LinkComponent;\n }\n const buttonProps = {};\n if (ComponentProp === 'button') {\n buttonProps.type = type === undefined ? 'button' : type;\n buttonProps.disabled = disabled;\n } else {\n if (!other.href && !other.to) {\n buttonProps.role = 'button';\n }\n if (disabled) {\n buttonProps['aria-disabled'] = disabled;\n }\n }\n const handleRef = useForkRef(ref, focusVisibleRef, buttonRef);\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useEffect(() => {\n if (enableTouchRipple && !rippleRef.current) {\n console.error(['MUI: The `component` prop provided to ButtonBase is invalid.', 'Please make sure the children prop is rendered in this custom component.'].join('\\n'));\n }\n }, [enableTouchRipple]);\n }\n const ownerState = _extends({}, props, {\n centerRipple,\n component,\n disabled,\n disableRipple,\n disableTouchRipple,\n focusRipple,\n tabIndex,\n focusVisible\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(ButtonBaseRoot, _extends({\n as: ComponentProp,\n className: clsx(classes.root, className),\n ownerState: ownerState,\n onBlur: handleBlur,\n onClick: onClick,\n onContextMenu: handleContextMenu,\n onFocus: handleFocus,\n onKeyDown: handleKeyDown,\n onKeyUp: handleKeyUp,\n onMouseDown: handleMouseDown,\n onMouseLeave: handleMouseLeave,\n onMouseUp: handleMouseUp,\n onDragLeave: handleDragLeave,\n onTouchEnd: handleTouchEnd,\n onTouchMove: handleTouchMove,\n onTouchStart: handleTouchStart,\n ref: handleRef,\n tabIndex: disabled ? -1 : tabIndex,\n type: type\n }, buttonProps, other, {\n children: [children, enableTouchRipple ?\n /*#__PURE__*/\n /* TouchRipple is only needed client-side, x2 boost on the server. */\n _jsx(TouchRipple, _extends({\n ref: handleRippleRef,\n center: centerRipple\n }, TouchRippleProps)) : null]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? ButtonBase.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * A ref for imperative actions.\n * It currently only supports `focusVisible()` action.\n */\n action: refType,\n /**\n * If `true`, the ripples are centered.\n * They won't start at the cursor interaction position.\n * @default false\n */\n centerRipple: PropTypes.bool,\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: elementTypeAcceptingRef,\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the ripple effect is disabled.\n *\n * ⚠️ Without a ripple there is no styling for :focus-visible by default. Be sure\n * to highlight the element by applying separate styles with the `.Mui-focusVisible` class.\n * @default false\n */\n disableRipple: PropTypes.bool,\n /**\n * If `true`, the touch ripple effect is disabled.\n * @default false\n */\n disableTouchRipple: PropTypes.bool,\n /**\n * If `true`, the base button will have a keyboard focus ripple.\n * @default false\n */\n focusRipple: PropTypes.bool,\n /**\n * This prop can help identify which element has keyboard focus.\n * The class name will be applied when the element gains the focus through keyboard interaction.\n * It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo).\n * The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/HEAD/explainer.md).\n * A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components\n * if needed.\n */\n focusVisibleClassName: PropTypes.string,\n /**\n * @ignore\n */\n href: PropTypes /* @typescript-to-proptypes-ignore */.any,\n /**\n * The component used to render a link when the `href` prop is provided.\n * @default 'a'\n */\n LinkComponent: PropTypes.elementType,\n /**\n * @ignore\n */\n onBlur: PropTypes.func,\n /**\n * @ignore\n */\n onClick: PropTypes.func,\n /**\n * @ignore\n */\n onContextMenu: PropTypes.func,\n /**\n * @ignore\n */\n onDragLeave: PropTypes.func,\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n /**\n * Callback fired when the component is focused with a keyboard.\n * We trigger a `onFocus` callback too.\n */\n onFocusVisible: PropTypes.func,\n /**\n * @ignore\n */\n onKeyDown: PropTypes.func,\n /**\n * @ignore\n */\n onKeyUp: PropTypes.func,\n /**\n * @ignore\n */\n onMouseDown: PropTypes.func,\n /**\n * @ignore\n */\n onMouseLeave: PropTypes.func,\n /**\n * @ignore\n */\n onMouseUp: PropTypes.func,\n /**\n * @ignore\n */\n onTouchEnd: PropTypes.func,\n /**\n * @ignore\n */\n onTouchMove: PropTypes.func,\n /**\n * @ignore\n */\n onTouchStart: PropTypes.func,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * @default 0\n */\n tabIndex: PropTypes.number,\n /**\n * Props applied to the `TouchRipple` element.\n */\n TouchRippleProps: PropTypes.object,\n /**\n * A ref that points to the `TouchRipple` element.\n */\n touchRippleRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({\n current: PropTypes.shape({\n pulsate: PropTypes.func.isRequired,\n start: PropTypes.func.isRequired,\n stop: PropTypes.func.isRequired\n })\n })]),\n /**\n * @ignore\n */\n type: PropTypes.oneOfType([PropTypes.oneOf(['button', 'reset', 'submit']), PropTypes.string])\n} : void 0;\nexport default ButtonBase;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getAlertUtilityClass(slot) {\n return generateUtilityClass('MuiAlert', slot);\n}\nconst alertClasses = generateUtilityClasses('MuiAlert', ['root', 'action', 'icon', 'message', 'filled', 'colorSuccess', 'colorInfo', 'colorWarning', 'colorError', 'filledSuccess', 'filledInfo', 'filledWarning', 'filledError', 'outlined', 'outlinedSuccess', 'outlinedInfo', 'outlinedWarning', 'outlinedError', 'standard', 'standardSuccess', 'standardInfo', 'standardWarning', 'standardError']);\nexport default alertClasses;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getIconButtonUtilityClass(slot) {\n return generateUtilityClass('MuiIconButton', slot);\n}\nconst iconButtonClasses = generateUtilityClasses('MuiIconButton', ['root', 'disabled', 'colorInherit', 'colorPrimary', 'colorSecondary', 'colorError', 'colorInfo', 'colorSuccess', 'colorWarning', 'edgeStart', 'edgeEnd', 'sizeSmall', 'sizeMedium', 'sizeLarge']);\nexport default iconButtonClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"edge\", \"children\", \"className\", \"color\", \"disabled\", \"disableFocusRipple\", \"size\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport chainPropTypes from '@mui/utils/chainPropTypes';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { alpha } from '@mui/system/colorManipulator';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport ButtonBase from '../ButtonBase';\nimport capitalize from '../utils/capitalize';\nimport iconButtonClasses, { getIconButtonUtilityClass } from './iconButtonClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disabled,\n color,\n edge,\n size\n } = ownerState;\n const slots = {\n root: ['root', disabled && 'disabled', color !== 'default' && `color${capitalize(color)}`, edge && `edge${capitalize(edge)}`, `size${capitalize(size)}`]\n };\n return composeClasses(slots, getIconButtonUtilityClass, classes);\n};\nconst IconButtonRoot = styled(ButtonBase, {\n name: 'MuiIconButton',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.color !== 'default' && styles[`color${capitalize(ownerState.color)}`], ownerState.edge && styles[`edge${capitalize(ownerState.edge)}`], styles[`size${capitalize(ownerState.size)}`]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n textAlign: 'center',\n flex: '0 0 auto',\n fontSize: theme.typography.pxToRem(24),\n padding: 8,\n borderRadius: '50%',\n overflow: 'visible',\n // Explicitly set the default value to solve a bug on IE11.\n color: (theme.vars || theme).palette.action.active,\n transition: theme.transitions.create('background-color', {\n duration: theme.transitions.duration.shortest\n })\n}, !ownerState.disableRipple && {\n '&:hover': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.action.activeChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(theme.palette.action.active, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n}, ownerState.edge === 'start' && {\n marginLeft: ownerState.size === 'small' ? -3 : -12\n}, ownerState.edge === 'end' && {\n marginRight: ownerState.size === 'small' ? -3 : -12\n}), ({\n theme,\n ownerState\n}) => {\n var _palette;\n const palette = (_palette = (theme.vars || theme).palette) == null ? void 0 : _palette[ownerState.color];\n return _extends({}, ownerState.color === 'inherit' && {\n color: 'inherit'\n }, ownerState.color !== 'inherit' && ownerState.color !== 'default' && _extends({\n color: palette == null ? void 0 : palette.main\n }, !ownerState.disableRipple && {\n '&:hover': _extends({}, palette && {\n backgroundColor: theme.vars ? `rgba(${palette.mainChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(palette.main, theme.palette.action.hoverOpacity)\n }, {\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n })\n }), ownerState.size === 'small' && {\n padding: 5,\n fontSize: theme.typography.pxToRem(18)\n }, ownerState.size === 'large' && {\n padding: 12,\n fontSize: theme.typography.pxToRem(28)\n }, {\n [`&.${iconButtonClasses.disabled}`]: {\n backgroundColor: 'transparent',\n color: (theme.vars || theme).palette.action.disabled\n }\n });\n});\n\n/**\n * Refer to the [Icons](/material-ui/icons/) section of the documentation\n * regarding the available icon options.\n */\nconst IconButton = /*#__PURE__*/React.forwardRef(function IconButton(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiIconButton'\n });\n const {\n edge = false,\n children,\n className,\n color = 'default',\n disabled = false,\n disableFocusRipple = false,\n size = 'medium'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n edge,\n color,\n disabled,\n disableFocusRipple,\n size\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(IconButtonRoot, _extends({\n className: clsx(classes.root, className),\n centerRipple: true,\n focusRipple: !disableFocusRipple,\n disabled: disabled,\n ref: ref\n }, other, {\n ownerState: ownerState,\n children: children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? IconButton.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The icon to display.\n */\n children: chainPropTypes(PropTypes.node, props => {\n const found = React.Children.toArray(props.children).some(child => /*#__PURE__*/React.isValidElement(child) && child.props.onClick);\n if (found) {\n return new Error(['MUI: You are providing an onClick event listener to a child of a button element.', 'Prefer applying it to the IconButton directly.', 'This guarantees that the whole <button> will be responsive to click events.'].join('\\n'));\n }\n return null;\n }),\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * @default 'default'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['inherit', 'default', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the keyboard focus ripple is disabled.\n * @default false\n */\n disableFocusRipple: PropTypes.bool,\n /**\n * If `true`, the ripple effect is disabled.\n *\n * ⚠️ Without a ripple there is no styling for :focus-visible by default. Be sure\n * to highlight the element by applying separate styles with the `.Mui-focusVisible` class.\n * @default false\n */\n disableRipple: PropTypes.bool,\n /**\n * If given, uses a negative margin to counteract the padding on one\n * side (this is often helpful for aligning the left or right\n * side of the icon with content above or below, without ruining the border\n * size and shape).\n * @default false\n */\n edge: PropTypes.oneOf(['end', 'start', false]),\n /**\n * The size of the component.\n * `small` is equivalent to the dense button styling.\n * @default 'medium'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['small', 'medium', 'large']), PropTypes.string]),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default IconButton;","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4C12.76,4 13.5,4.11 14.2, 4.31L15.77,2.74C14.61,2.26 13.34,2 12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0, 0 22,12M7.91,10.08L6.5,11.5L11,16L21,6L19.59,4.58L11,13.17L7.91,10.08Z\"\n}), 'SuccessOutlined');","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M12 5.99L19.53 19H4.47L12 5.99M12 2L1 21h22L12 2zm1 14h-2v2h2v-2zm0-6h-2v4h2v-4z\"\n}), 'ReportProblemOutlined');","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M11 15h2v2h-2zm0-8h2v6h-2zm.99-5C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z\"\n}), 'ErrorOutline');","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M11,9H13V7H11M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20, 12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10, 10 0 0,0 12,2M11,17H13V11H11V17Z\"\n}), 'InfoOutlined');","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n\n/**\n * @ignore - internal component.\n *\n * Alias to `Clear`.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"\n}), 'Close');","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"action\", \"children\", \"className\", \"closeText\", \"color\", \"components\", \"componentsProps\", \"icon\", \"iconMapping\", \"onClose\", \"role\", \"severity\", \"slotProps\", \"slots\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { darken, lighten } from '@mui/system/colorManipulator';\nimport { styled, createUseThemeProps } from '../zero-styled';\nimport useSlot from '../utils/useSlot';\nimport capitalize from '../utils/capitalize';\nimport Paper from '../Paper';\nimport alertClasses, { getAlertUtilityClass } from './alertClasses';\nimport IconButton from '../IconButton';\nimport SuccessOutlinedIcon from '../internal/svg-icons/SuccessOutlined';\nimport ReportProblemOutlinedIcon from '../internal/svg-icons/ReportProblemOutlined';\nimport ErrorOutlineIcon from '../internal/svg-icons/ErrorOutline';\nimport InfoOutlinedIcon from '../internal/svg-icons/InfoOutlined';\nimport CloseIcon from '../internal/svg-icons/Close';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useThemeProps = createUseThemeProps('MuiAlert');\nconst useUtilityClasses = ownerState => {\n const {\n variant,\n color,\n severity,\n classes\n } = ownerState;\n const slots = {\n root: ['root', `color${capitalize(color || severity)}`, `${variant}${capitalize(color || severity)}`, `${variant}`],\n icon: ['icon'],\n message: ['message'],\n action: ['action']\n };\n return composeClasses(slots, getAlertUtilityClass, classes);\n};\nconst AlertRoot = styled(Paper, {\n name: 'MuiAlert',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[ownerState.variant], styles[`${ownerState.variant}${capitalize(ownerState.color || ownerState.severity)}`]];\n }\n})(({\n theme\n}) => {\n const getColor = theme.palette.mode === 'light' ? darken : lighten;\n const getBackgroundColor = theme.palette.mode === 'light' ? lighten : darken;\n return _extends({}, theme.typography.body2, {\n backgroundColor: 'transparent',\n display: 'flex',\n padding: '6px 16px',\n variants: [...Object.entries(theme.palette).filter(([, value]) => value.main && value.light).map(([color]) => ({\n props: {\n colorSeverity: color,\n variant: 'standard'\n },\n style: {\n color: theme.vars ? theme.vars.palette.Alert[`${color}Color`] : getColor(theme.palette[color].light, 0.6),\n backgroundColor: theme.vars ? theme.vars.palette.Alert[`${color}StandardBg`] : getBackgroundColor(theme.palette[color].light, 0.9),\n [`& .${alertClasses.icon}`]: theme.vars ? {\n color: theme.vars.palette.Alert[`${color}IconColor`]\n } : {\n color: theme.palette[color].main\n }\n }\n })), ...Object.entries(theme.palette).filter(([, value]) => value.main && value.light).map(([color]) => ({\n props: {\n colorSeverity: color,\n variant: 'outlined'\n },\n style: {\n color: theme.vars ? theme.vars.palette.Alert[`${color}Color`] : getColor(theme.palette[color].light, 0.6),\n border: `1px solid ${(theme.vars || theme).palette[color].light}`,\n [`& .${alertClasses.icon}`]: theme.vars ? {\n color: theme.vars.palette.Alert[`${color}IconColor`]\n } : {\n color: theme.palette[color].main\n }\n }\n })), ...Object.entries(theme.palette).filter(([, value]) => value.main && value.dark).map(([color]) => ({\n props: {\n colorSeverity: color,\n variant: 'filled'\n },\n style: _extends({\n fontWeight: theme.typography.fontWeightMedium\n }, theme.vars ? {\n color: theme.vars.palette.Alert[`${color}FilledColor`],\n backgroundColor: theme.vars.palette.Alert[`${color}FilledBg`]\n } : {\n backgroundColor: theme.palette.mode === 'dark' ? theme.palette[color].dark : theme.palette[color].main,\n color: theme.palette.getContrastText(theme.palette[color].main)\n })\n }))]\n });\n});\nconst AlertIcon = styled('div', {\n name: 'MuiAlert',\n slot: 'Icon',\n overridesResolver: (props, styles) => styles.icon\n})({\n marginRight: 12,\n padding: '7px 0',\n display: 'flex',\n fontSize: 22,\n opacity: 0.9\n});\nconst AlertMessage = styled('div', {\n name: 'MuiAlert',\n slot: 'Message',\n overridesResolver: (props, styles) => styles.message\n})({\n padding: '8px 0',\n minWidth: 0,\n overflow: 'auto'\n});\nconst AlertAction = styled('div', {\n name: 'MuiAlert',\n slot: 'Action',\n overridesResolver: (props, styles) => styles.action\n})({\n display: 'flex',\n alignItems: 'flex-start',\n padding: '4px 0 0 16px',\n marginLeft: 'auto',\n marginRight: -8\n});\nconst defaultIconMapping = {\n success: /*#__PURE__*/_jsx(SuccessOutlinedIcon, {\n fontSize: \"inherit\"\n }),\n warning: /*#__PURE__*/_jsx(ReportProblemOutlinedIcon, {\n fontSize: \"inherit\"\n }),\n error: /*#__PURE__*/_jsx(ErrorOutlineIcon, {\n fontSize: \"inherit\"\n }),\n info: /*#__PURE__*/_jsx(InfoOutlinedIcon, {\n fontSize: \"inherit\"\n })\n};\nconst Alert = /*#__PURE__*/React.forwardRef(function Alert(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiAlert'\n });\n const {\n action,\n children,\n className,\n closeText = 'Close',\n color,\n components = {},\n componentsProps = {},\n icon,\n iconMapping = defaultIconMapping,\n onClose,\n role = 'alert',\n severity = 'success',\n slotProps = {},\n slots = {},\n variant = 'standard'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n color,\n severity,\n variant,\n colorSeverity: color || severity\n });\n const classes = useUtilityClasses(ownerState);\n const externalForwardedProps = {\n slots: _extends({\n closeButton: components.CloseButton,\n closeIcon: components.CloseIcon\n }, slots),\n slotProps: _extends({}, componentsProps, slotProps)\n };\n const [CloseButtonSlot, closeButtonProps] = useSlot('closeButton', {\n elementType: IconButton,\n externalForwardedProps,\n ownerState\n });\n const [CloseIconSlot, closeIconProps] = useSlot('closeIcon', {\n elementType: CloseIcon,\n externalForwardedProps,\n ownerState\n });\n return /*#__PURE__*/_jsxs(AlertRoot, _extends({\n role: role,\n elevation: 0,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: [icon !== false ? /*#__PURE__*/_jsx(AlertIcon, {\n ownerState: ownerState,\n className: classes.icon,\n children: icon || iconMapping[severity] || defaultIconMapping[severity]\n }) : null, /*#__PURE__*/_jsx(AlertMessage, {\n ownerState: ownerState,\n className: classes.message,\n children: children\n }), action != null ? /*#__PURE__*/_jsx(AlertAction, {\n ownerState: ownerState,\n className: classes.action,\n children: action\n }) : null, action == null && onClose ? /*#__PURE__*/_jsx(AlertAction, {\n ownerState: ownerState,\n className: classes.action,\n children: /*#__PURE__*/_jsx(CloseButtonSlot, _extends({\n size: \"small\",\n \"aria-label\": closeText,\n title: closeText,\n color: \"inherit\",\n onClick: onClose\n }, closeButtonProps, {\n children: /*#__PURE__*/_jsx(CloseIconSlot, _extends({\n fontSize: \"small\"\n }, closeIconProps))\n }))\n }) : null]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Alert.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The action to display. It renders after the message, at the end of the alert.\n */\n action: PropTypes.node,\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * Override the default label for the *close popup* icon button.\n *\n * For localization purposes, you can use the provided [translations](/material-ui/guides/localization/).\n * @default 'Close'\n */\n closeText: PropTypes.string,\n /**\n * The color of the component. Unless provided, the value is taken from the `severity` prop.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * The components used for each slot inside.\n *\n * @deprecated use the `slots` prop instead. This prop will be removed in v7. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/).\n *\n * @default {}\n */\n components: PropTypes.shape({\n CloseButton: PropTypes.elementType,\n CloseIcon: PropTypes.elementType\n }),\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * @deprecated use the `slotProps` prop instead. This prop will be removed in v7. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/).\n *\n * @default {}\n */\n componentsProps: PropTypes.shape({\n closeButton: PropTypes.object,\n closeIcon: PropTypes.object\n }),\n /**\n * Override the icon displayed before the children.\n * Unless provided, the icon is mapped to the value of the `severity` prop.\n * Set to `false` to remove the `icon`.\n */\n icon: PropTypes.node,\n /**\n * The component maps the `severity` prop to a range of different icons,\n * for instance success to `<SuccessOutlined>`.\n * If you wish to change this mapping, you can provide your own.\n * Alternatively, you can use the `icon` prop to override the icon displayed.\n */\n iconMapping: PropTypes.shape({\n error: PropTypes.node,\n info: PropTypes.node,\n success: PropTypes.node,\n warning: PropTypes.node\n }),\n /**\n * Callback fired when the component requests to be closed.\n * When provided and no `action` prop is set, a close icon button is displayed that triggers the callback when clicked.\n * @param {React.SyntheticEvent} event The event source of the callback.\n */\n onClose: PropTypes.func,\n /**\n * The ARIA role attribute of the element.\n * @default 'alert'\n */\n role: PropTypes.string,\n /**\n * The severity of the alert. This defines the color and icon used.\n * @default 'success'\n */\n severity: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * The props used for each slot inside.\n * @default {}\n */\n slotProps: PropTypes.shape({\n closeButton: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n closeIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside.\n * @default {}\n */\n slots: PropTypes.shape({\n closeButton: PropTypes.elementType,\n closeIcon: PropTypes.elementType\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The variant to use.\n * @default 'standard'\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['filled', 'outlined', 'standard']), PropTypes.string])\n} : void 0;\nexport default Alert;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getTypographyUtilityClass(slot) {\n return generateUtilityClass('MuiTypography', slot);\n}\nconst typographyClasses = generateUtilityClasses('MuiTypography', ['root', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'subtitle1', 'subtitle2', 'body1', 'body2', 'inherit', 'button', 'caption', 'overline', 'alignLeft', 'alignRight', 'alignCenter', 'alignJustify', 'noWrap', 'gutterBottom', 'paragraph']);\nexport default typographyClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"align\", \"className\", \"component\", \"gutterBottom\", \"noWrap\", \"paragraph\", \"variant\", \"variantMapping\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { extendSxProp } from '@mui/system/styleFunctionSx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport capitalize from '../utils/capitalize';\nimport { getTypographyUtilityClass } from './typographyClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n align,\n gutterBottom,\n noWrap,\n paragraph,\n variant,\n classes\n } = ownerState;\n const slots = {\n root: ['root', variant, ownerState.align !== 'inherit' && `align${capitalize(align)}`, gutterBottom && 'gutterBottom', noWrap && 'noWrap', paragraph && 'paragraph']\n };\n return composeClasses(slots, getTypographyUtilityClass, classes);\n};\nexport const TypographyRoot = styled('span', {\n name: 'MuiTypography',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.variant && styles[ownerState.variant], ownerState.align !== 'inherit' && styles[`align${capitalize(ownerState.align)}`], ownerState.noWrap && styles.noWrap, ownerState.gutterBottom && styles.gutterBottom, ownerState.paragraph && styles.paragraph];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n margin: 0\n}, ownerState.variant === 'inherit' && {\n // Some elements, like <button> on Chrome have default font that doesn't inherit, reset this.\n font: 'inherit'\n}, ownerState.variant !== 'inherit' && theme.typography[ownerState.variant], ownerState.align !== 'inherit' && {\n textAlign: ownerState.align\n}, ownerState.noWrap && {\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap'\n}, ownerState.gutterBottom && {\n marginBottom: '0.35em'\n}, ownerState.paragraph && {\n marginBottom: 16\n}));\nconst defaultVariantMapping = {\n h1: 'h1',\n h2: 'h2',\n h3: 'h3',\n h4: 'h4',\n h5: 'h5',\n h6: 'h6',\n subtitle1: 'h6',\n subtitle2: 'h6',\n body1: 'p',\n body2: 'p',\n inherit: 'p'\n};\n\n// TODO v6: deprecate these color values in v5.x and remove the transformation in v6\nconst colorTransformations = {\n primary: 'primary.main',\n textPrimary: 'text.primary',\n secondary: 'secondary.main',\n textSecondary: 'text.secondary',\n error: 'error.main'\n};\nconst transformDeprecatedColors = color => {\n return colorTransformations[color] || color;\n};\nconst Typography = /*#__PURE__*/React.forwardRef(function Typography(inProps, ref) {\n const themeProps = useThemeProps({\n props: inProps,\n name: 'MuiTypography'\n });\n const color = transformDeprecatedColors(themeProps.color);\n const props = extendSxProp(_extends({}, themeProps, {\n color\n }));\n const {\n align = 'inherit',\n className,\n component,\n gutterBottom = false,\n noWrap = false,\n paragraph = false,\n variant = 'body1',\n variantMapping = defaultVariantMapping\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n align,\n color,\n className,\n component,\n gutterBottom,\n noWrap,\n paragraph,\n variant,\n variantMapping\n });\n const Component = component || (paragraph ? 'p' : variantMapping[variant] || defaultVariantMapping[variant]) || 'span';\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(TypographyRoot, _extends({\n as: Component,\n ref: ref,\n ownerState: ownerState,\n className: clsx(classes.root, className)\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? Typography.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Set the text-align on the component.\n * @default 'inherit'\n */\n align: PropTypes.oneOf(['center', 'inherit', 'justify', 'left', 'right']),\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * If `true`, the text will have a bottom margin.\n * @default false\n */\n gutterBottom: PropTypes.bool,\n /**\n * If `true`, the text will not wrap, but instead will truncate with a text overflow ellipsis.\n *\n * Note that text overflow can only happen with block or inline-block level elements\n * (the element needs to have a width in order to overflow).\n * @default false\n */\n noWrap: PropTypes.bool,\n /**\n * If `true`, the element will be a paragraph element.\n * @default false\n */\n paragraph: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * Applies the theme typography styles.\n * @default 'body1'\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['body1', 'body2', 'button', 'caption', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'inherit', 'overline', 'subtitle1', 'subtitle2']), PropTypes.string]),\n /**\n * The component maps the variant prop to a range of different HTML element types.\n * For instance, subtitle1 to `<h6>`.\n * If you wish to change that mapping, you can provide your own.\n * Alternatively, you can use the `component` prop.\n * @default {\n * h1: 'h1',\n * h2: 'h2',\n * h3: 'h3',\n * h4: 'h4',\n * h5: 'h5',\n * h6: 'h6',\n * subtitle1: 'h6',\n * subtitle2: 'h6',\n * body1: 'p',\n * body2: 'p',\n * inherit: 'p',\n * }\n */\n variantMapping: PropTypes /* @typescript-to-proptypes-ignore */.object\n} : void 0;\nexport default Typography;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getAppBarUtilityClass(slot) {\n return generateUtilityClass('MuiAppBar', slot);\n}\nconst appBarClasses = generateUtilityClasses('MuiAppBar', ['root', 'positionFixed', 'positionAbsolute', 'positionSticky', 'positionStatic', 'positionRelative', 'colorDefault', 'colorPrimary', 'colorSecondary', 'colorInherit', 'colorTransparent', 'colorError', 'colorInfo', 'colorSuccess', 'colorWarning']);\nexport default appBarClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"color\", \"enableColorOnDark\", \"position\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport capitalize from '../utils/capitalize';\nimport Paper from '../Paper';\nimport { getAppBarUtilityClass } from './appBarClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n color,\n position,\n classes\n } = ownerState;\n const slots = {\n root: ['root', `color${capitalize(color)}`, `position${capitalize(position)}`]\n };\n return composeClasses(slots, getAppBarUtilityClass, classes);\n};\n\n// var2 is the fallback.\n// Ex. var1: 'var(--a)', var2: 'var(--b)'; return: 'var(--a, var(--b))'\nconst joinVars = (var1, var2) => var1 ? `${var1 == null ? void 0 : var1.replace(')', '')}, ${var2})` : var2;\nconst AppBarRoot = styled(Paper, {\n name: 'MuiAppBar',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`position${capitalize(ownerState.position)}`], styles[`color${capitalize(ownerState.color)}`]];\n }\n})(({\n theme,\n ownerState\n}) => {\n const backgroundColorDefault = theme.palette.mode === 'light' ? theme.palette.grey[100] : theme.palette.grey[900];\n return _extends({\n display: 'flex',\n flexDirection: 'column',\n width: '100%',\n boxSizing: 'border-box',\n // Prevent padding issue with the Modal and fixed positioned AppBar.\n flexShrink: 0\n }, ownerState.position === 'fixed' && {\n position: 'fixed',\n zIndex: (theme.vars || theme).zIndex.appBar,\n top: 0,\n left: 'auto',\n right: 0,\n '@media print': {\n // Prevent the app bar to be visible on each printed page.\n position: 'absolute'\n }\n }, ownerState.position === 'absolute' && {\n position: 'absolute',\n zIndex: (theme.vars || theme).zIndex.appBar,\n top: 0,\n left: 'auto',\n right: 0\n }, ownerState.position === 'sticky' && {\n // ⚠️ sticky is not supported by IE11.\n position: 'sticky',\n zIndex: (theme.vars || theme).zIndex.appBar,\n top: 0,\n left: 'auto',\n right: 0\n }, ownerState.position === 'static' && {\n position: 'static'\n }, ownerState.position === 'relative' && {\n position: 'relative'\n }, !theme.vars && _extends({}, ownerState.color === 'default' && {\n backgroundColor: backgroundColorDefault,\n color: theme.palette.getContrastText(backgroundColorDefault)\n }, ownerState.color && ownerState.color !== 'default' && ownerState.color !== 'inherit' && ownerState.color !== 'transparent' && {\n backgroundColor: theme.palette[ownerState.color].main,\n color: theme.palette[ownerState.color].contrastText\n }, ownerState.color === 'inherit' && {\n color: 'inherit'\n }, theme.palette.mode === 'dark' && !ownerState.enableColorOnDark && {\n backgroundColor: null,\n color: null\n }, ownerState.color === 'transparent' && _extends({\n backgroundColor: 'transparent',\n color: 'inherit'\n }, theme.palette.mode === 'dark' && {\n backgroundImage: 'none'\n })), theme.vars && _extends({}, ownerState.color === 'default' && {\n '--AppBar-background': ownerState.enableColorOnDark ? theme.vars.palette.AppBar.defaultBg : joinVars(theme.vars.palette.AppBar.darkBg, theme.vars.palette.AppBar.defaultBg),\n '--AppBar-color': ownerState.enableColorOnDark ? theme.vars.palette.text.primary : joinVars(theme.vars.palette.AppBar.darkColor, theme.vars.palette.text.primary)\n }, ownerState.color && !ownerState.color.match(/^(default|inherit|transparent)$/) && {\n '--AppBar-background': ownerState.enableColorOnDark ? theme.vars.palette[ownerState.color].main : joinVars(theme.vars.palette.AppBar.darkBg, theme.vars.palette[ownerState.color].main),\n '--AppBar-color': ownerState.enableColorOnDark ? theme.vars.palette[ownerState.color].contrastText : joinVars(theme.vars.palette.AppBar.darkColor, theme.vars.palette[ownerState.color].contrastText)\n }, {\n backgroundColor: 'var(--AppBar-background)',\n color: ownerState.color === 'inherit' ? 'inherit' : 'var(--AppBar-color)'\n }, ownerState.color === 'transparent' && {\n backgroundImage: 'none',\n backgroundColor: 'transparent',\n color: 'inherit'\n }));\n});\nconst AppBar = /*#__PURE__*/React.forwardRef(function AppBar(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiAppBar'\n });\n const {\n className,\n color = 'primary',\n enableColorOnDark = false,\n position = 'fixed'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n color,\n position,\n enableColorOnDark\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(AppBarRoot, _extends({\n square: true,\n component: \"header\",\n ownerState: ownerState,\n elevation: 4,\n className: clsx(classes.root, className, position === 'fixed' && 'mui-fixed'),\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? AppBar.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * @default 'primary'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['default', 'inherit', 'primary', 'secondary', 'transparent', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * If true, the `color` prop is applied in dark mode.\n * @default false\n */\n enableColorOnDark: PropTypes.bool,\n /**\n * The positioning type. The behavior of the different options is described\n * [in the MDN web docs](https://developer.mozilla.org/en-US/docs/Learn/CSS/CSS_layout/Positioning).\n * Note: `sticky` is not universally supported and will fall back to `static` when unavailable.\n * @default 'fixed'\n */\n position: PropTypes.oneOf(['absolute', 'fixed', 'relative', 'static', 'sticky']),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default AppBar;","import { globalStateClasses } from '@mui/utils/generateUtilityClass';\nconst GLOBAL_CLASS_PREFIX = 'base';\nfunction buildStateClass(state) {\n return `${GLOBAL_CLASS_PREFIX}--${state}`;\n}\nfunction buildSlotClass(componentName, slot) {\n return `${GLOBAL_CLASS_PREFIX}-${componentName}-${slot}`;\n}\nexport function generateUtilityClass(componentName, slot) {\n const globalStateClass = globalStateClasses[slot];\n return globalStateClass ? buildStateClass(globalStateClass) : buildSlotClass(componentName, slot);\n}\nexport function isGlobalState(slot) {\n return globalStateClasses[slot] !== undefined;\n}","import { generateUtilityClass } from '../generateUtilityClass';\nexport function generateUtilityClasses(componentName, slots) {\n const result = {};\n slots.forEach(slot => {\n result[slot] = generateUtilityClass(componentName, slot);\n });\n return result;\n}","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { elementAcceptingRef, exactProp, unstable_ownerDocument as ownerDocument, unstable_useForkRef as useForkRef, unstable_useEventCallback as useEventCallback } from '@mui/utils';\n\n// TODO: return `EventHandlerName extends `on${infer EventName}` ? Lowercase<EventName> : never` once generatePropTypes runs with TS 4.1\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction mapEventPropToEvent(eventProp) {\n return eventProp.substring(2).toLowerCase();\n}\nfunction clickedRootScrollbar(event, doc) {\n return doc.documentElement.clientWidth < event.clientX || doc.documentElement.clientHeight < event.clientY;\n}\n/**\n * Listen for click events that occur somewhere in the document, outside of the element itself.\n * For instance, if you need to hide a menu when people click anywhere else on your page.\n *\n * Demos:\n *\n * - [Click-Away Listener](https://mui.com/base-ui/react-click-away-listener/)\n *\n * API:\n *\n * - [ClickAwayListener API](https://mui.com/base-ui/react-click-away-listener/components-api/#click-away-listener)\n */\nfunction ClickAwayListener(props) {\n const {\n children,\n disableReactTree = false,\n mouseEvent = 'onClick',\n onClickAway,\n touchEvent = 'onTouchEnd'\n } = props;\n const movedRef = React.useRef(false);\n const nodeRef = React.useRef(null);\n const activatedRef = React.useRef(false);\n const syntheticEventRef = React.useRef(false);\n React.useEffect(() => {\n // Ensure that this component is not \"activated\" synchronously.\n // https://github.com/facebook/react/issues/20074\n setTimeout(() => {\n activatedRef.current = true;\n }, 0);\n return () => {\n activatedRef.current = false;\n };\n }, []);\n const handleRef = useForkRef(\n // @ts-expect-error TODO upstream fix\n children.ref, nodeRef);\n\n // The handler doesn't take event.defaultPrevented into account:\n //\n // event.preventDefault() is meant to stop default behaviors like\n // clicking a checkbox to check it, hitting a button to submit a form,\n // and hitting left arrow to move the cursor in a text input etc.\n // Only special HTML elements have these default behaviors.\n const handleClickAway = useEventCallback(event => {\n // Given developers can stop the propagation of the synthetic event,\n // we can only be confident with a positive value.\n const insideReactTree = syntheticEventRef.current;\n syntheticEventRef.current = false;\n const doc = ownerDocument(nodeRef.current);\n\n // 1. IE11 support, which trigger the handleClickAway even after the unbind\n // 2. The child might render null.\n // 3. Behave like a blur listener.\n if (!activatedRef.current || !nodeRef.current || 'clientX' in event && clickedRootScrollbar(event, doc)) {\n return;\n }\n\n // Do not act if user performed touchmove\n if (movedRef.current) {\n movedRef.current = false;\n return;\n }\n let insideDOM;\n\n // If not enough, can use https://github.com/DieterHolvoet/event-propagation-path/blob/master/propagationPath.js\n if (event.composedPath) {\n insideDOM = event.composedPath().indexOf(nodeRef.current) > -1;\n } else {\n insideDOM = !doc.documentElement.contains(\n // @ts-expect-error returns `false` as intended when not dispatched from a Node\n event.target) || nodeRef.current.contains(\n // @ts-expect-error returns `false` as intended when not dispatched from a Node\n event.target);\n }\n if (!insideDOM && (disableReactTree || !insideReactTree)) {\n onClickAway(event);\n }\n });\n\n // Keep track of mouse/touch events that bubbled up through the portal.\n const createHandleSynthetic = handlerName => event => {\n syntheticEventRef.current = true;\n const childrenPropsHandler = children.props[handlerName];\n if (childrenPropsHandler) {\n childrenPropsHandler(event);\n }\n };\n const childrenProps = {\n ref: handleRef\n };\n if (touchEvent !== false) {\n childrenProps[touchEvent] = createHandleSynthetic(touchEvent);\n }\n React.useEffect(() => {\n if (touchEvent !== false) {\n const mappedTouchEvent = mapEventPropToEvent(touchEvent);\n const doc = ownerDocument(nodeRef.current);\n const handleTouchMove = () => {\n movedRef.current = true;\n };\n doc.addEventListener(mappedTouchEvent, handleClickAway);\n doc.addEventListener('touchmove', handleTouchMove);\n return () => {\n doc.removeEventListener(mappedTouchEvent, handleClickAway);\n doc.removeEventListener('touchmove', handleTouchMove);\n };\n }\n return undefined;\n }, [handleClickAway, touchEvent]);\n if (mouseEvent !== false) {\n childrenProps[mouseEvent] = createHandleSynthetic(mouseEvent);\n }\n React.useEffect(() => {\n if (mouseEvent !== false) {\n const mappedMouseEvent = mapEventPropToEvent(mouseEvent);\n const doc = ownerDocument(nodeRef.current);\n doc.addEventListener(mappedMouseEvent, handleClickAway);\n return () => {\n doc.removeEventListener(mappedMouseEvent, handleClickAway);\n };\n }\n return undefined;\n }, [handleClickAway, mouseEvent]);\n return /*#__PURE__*/_jsx(React.Fragment, {\n children: /*#__PURE__*/React.cloneElement(children, childrenProps)\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? ClickAwayListener.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The wrapped element.\n */\n children: elementAcceptingRef.isRequired,\n /**\n * If `true`, the React tree is ignored and only the DOM tree is considered.\n * This prop changes how portaled elements are handled.\n * @default false\n */\n disableReactTree: PropTypes.bool,\n /**\n * The mouse event to listen to. You can disable the listener by providing `false`.\n * @default 'onClick'\n */\n mouseEvent: PropTypes.oneOf(['onClick', 'onMouseDown', 'onMouseUp', 'onPointerDown', 'onPointerUp', false]),\n /**\n * Callback fired when a \"click away\" event is detected.\n */\n onClickAway: PropTypes.func.isRequired,\n /**\n * The touch event to listen to. You can disable the listener by providing `false`.\n * @default 'onTouchEnd'\n */\n touchEvent: PropTypes.oneOf(['onTouchEnd', 'onTouchStart', false])\n} : void 0;\nif (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line\n ClickAwayListener['propTypes' + ''] = exactProp(ClickAwayListener.propTypes);\n}\nexport { ClickAwayListener };","'use client';\n\n/* eslint-disable consistent-return, jsx-a11y/no-noninteractive-tabindex */\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { exactProp, elementAcceptingRef, unstable_useForkRef as useForkRef, unstable_ownerDocument as ownerDocument } from '@mui/utils';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n// Inspired by https://github.com/focus-trap/tabbable\nconst candidatesSelector = ['input', 'select', 'textarea', 'a[href]', 'button', '[tabindex]', 'audio[controls]', 'video[controls]', '[contenteditable]:not([contenteditable=\"false\"])'].join(',');\nfunction getTabIndex(node) {\n const tabindexAttr = parseInt(node.getAttribute('tabindex') || '', 10);\n if (!Number.isNaN(tabindexAttr)) {\n return tabindexAttr;\n }\n\n // Browsers do not return `tabIndex` correctly for contentEditable nodes;\n // https://bugs.chromium.org/p/chromium/issues/detail?id=661108&q=contenteditable%20tabindex&can=2\n // so if they don't have a tabindex attribute specifically set, assume it's 0.\n // in Chrome, <details/>, <audio controls/> and <video controls/> elements get a default\n // `tabIndex` of -1 when the 'tabindex' attribute isn't specified in the DOM,\n // yet they are still part of the regular tab order; in FF, they get a default\n // `tabIndex` of 0; since Chrome still puts those elements in the regular tab\n // order, consider their tab index to be 0.\n if (node.contentEditable === 'true' || (node.nodeName === 'AUDIO' || node.nodeName === 'VIDEO' || node.nodeName === 'DETAILS') && node.getAttribute('tabindex') === null) {\n return 0;\n }\n return node.tabIndex;\n}\nfunction isNonTabbableRadio(node) {\n if (node.tagName !== 'INPUT' || node.type !== 'radio') {\n return false;\n }\n if (!node.name) {\n return false;\n }\n const getRadio = selector => node.ownerDocument.querySelector(`input[type=\"radio\"]${selector}`);\n let roving = getRadio(`[name=\"${node.name}\"]:checked`);\n if (!roving) {\n roving = getRadio(`[name=\"${node.name}\"]`);\n }\n return roving !== node;\n}\nfunction isNodeMatchingSelectorFocusable(node) {\n if (node.disabled || node.tagName === 'INPUT' && node.type === 'hidden' || isNonTabbableRadio(node)) {\n return false;\n }\n return true;\n}\nfunction defaultGetTabbable(root) {\n const regularTabNodes = [];\n const orderedTabNodes = [];\n Array.from(root.querySelectorAll(candidatesSelector)).forEach((node, i) => {\n const nodeTabIndex = getTabIndex(node);\n if (nodeTabIndex === -1 || !isNodeMatchingSelectorFocusable(node)) {\n return;\n }\n if (nodeTabIndex === 0) {\n regularTabNodes.push(node);\n } else {\n orderedTabNodes.push({\n documentOrder: i,\n tabIndex: nodeTabIndex,\n node: node\n });\n }\n });\n return orderedTabNodes.sort((a, b) => a.tabIndex === b.tabIndex ? a.documentOrder - b.documentOrder : a.tabIndex - b.tabIndex).map(a => a.node).concat(regularTabNodes);\n}\nfunction defaultIsEnabled() {\n return true;\n}\n\n/**\n * Utility component that locks focus inside the component.\n *\n * Demos:\n *\n * - [Focus Trap](https://mui.com/base-ui/react-focus-trap/)\n *\n * API:\n *\n * - [FocusTrap API](https://mui.com/base-ui/react-focus-trap/components-api/#focus-trap)\n */\nfunction FocusTrap(props) {\n const {\n children,\n disableAutoFocus = false,\n disableEnforceFocus = false,\n disableRestoreFocus = false,\n getTabbable = defaultGetTabbable,\n isEnabled = defaultIsEnabled,\n open\n } = props;\n const ignoreNextEnforceFocus = React.useRef(false);\n const sentinelStart = React.useRef(null);\n const sentinelEnd = React.useRef(null);\n const nodeToRestore = React.useRef(null);\n const reactFocusEventTarget = React.useRef(null);\n // This variable is useful when disableAutoFocus is true.\n // It waits for the active element to move into the component to activate.\n const activated = React.useRef(false);\n const rootRef = React.useRef(null);\n // @ts-expect-error TODO upstream fix\n const handleRef = useForkRef(children.ref, rootRef);\n const lastKeydown = React.useRef(null);\n React.useEffect(() => {\n // We might render an empty child.\n if (!open || !rootRef.current) {\n return;\n }\n activated.current = !disableAutoFocus;\n }, [disableAutoFocus, open]);\n React.useEffect(() => {\n // We might render an empty child.\n if (!open || !rootRef.current) {\n return;\n }\n const doc = ownerDocument(rootRef.current);\n if (!rootRef.current.contains(doc.activeElement)) {\n if (!rootRef.current.hasAttribute('tabIndex')) {\n if (process.env.NODE_ENV !== 'production') {\n console.error(['MUI: The modal content node does not accept focus.', 'For the benefit of assistive technologies, ' + 'the tabIndex of the node is being set to \"-1\".'].join('\\n'));\n }\n rootRef.current.setAttribute('tabIndex', '-1');\n }\n if (activated.current) {\n rootRef.current.focus();\n }\n }\n return () => {\n // restoreLastFocus()\n if (!disableRestoreFocus) {\n // In IE11 it is possible for document.activeElement to be null resulting\n // in nodeToRestore.current being null.\n // Not all elements in IE11 have a focus method.\n // Once IE11 support is dropped the focus() call can be unconditional.\n if (nodeToRestore.current && nodeToRestore.current.focus) {\n ignoreNextEnforceFocus.current = true;\n nodeToRestore.current.focus();\n }\n nodeToRestore.current = null;\n }\n };\n // Missing `disableRestoreFocus` which is fine.\n // We don't support changing that prop on an open FocusTrap\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [open]);\n React.useEffect(() => {\n // We might render an empty child.\n if (!open || !rootRef.current) {\n return;\n }\n const doc = ownerDocument(rootRef.current);\n const loopFocus = nativeEvent => {\n lastKeydown.current = nativeEvent;\n if (disableEnforceFocus || !isEnabled() || nativeEvent.key !== 'Tab') {\n return;\n }\n\n // Make sure the next tab starts from the right place.\n // doc.activeElement refers to the origin.\n if (doc.activeElement === rootRef.current && nativeEvent.shiftKey) {\n // We need to ignore the next contain as\n // it will try to move the focus back to the rootRef element.\n ignoreNextEnforceFocus.current = true;\n if (sentinelEnd.current) {\n sentinelEnd.current.focus();\n }\n }\n };\n const contain = () => {\n const rootElement = rootRef.current;\n\n // Cleanup functions are executed lazily in React 17.\n // Contain can be called between the component being unmounted and its cleanup function being run.\n if (rootElement === null) {\n return;\n }\n if (!doc.hasFocus() || !isEnabled() || ignoreNextEnforceFocus.current) {\n ignoreNextEnforceFocus.current = false;\n return;\n }\n\n // The focus is already inside\n if (rootElement.contains(doc.activeElement)) {\n return;\n }\n\n // The disableEnforceFocus is set and the focus is outside of the focus trap (and sentinel nodes)\n if (disableEnforceFocus && doc.activeElement !== sentinelStart.current && doc.activeElement !== sentinelEnd.current) {\n return;\n }\n\n // if the focus event is not coming from inside the children's react tree, reset the refs\n if (doc.activeElement !== reactFocusEventTarget.current) {\n reactFocusEventTarget.current = null;\n } else if (reactFocusEventTarget.current !== null) {\n return;\n }\n if (!activated.current) {\n return;\n }\n let tabbable = [];\n if (doc.activeElement === sentinelStart.current || doc.activeElement === sentinelEnd.current) {\n tabbable = getTabbable(rootRef.current);\n }\n\n // one of the sentinel nodes was focused, so move the focus\n // to the first/last tabbable element inside the focus trap\n if (tabbable.length > 0) {\n var _lastKeydown$current, _lastKeydown$current2;\n const isShiftTab = Boolean(((_lastKeydown$current = lastKeydown.current) == null ? void 0 : _lastKeydown$current.shiftKey) && ((_lastKeydown$current2 = lastKeydown.current) == null ? void 0 : _lastKeydown$current2.key) === 'Tab');\n const focusNext = tabbable[0];\n const focusPrevious = tabbable[tabbable.length - 1];\n if (typeof focusNext !== 'string' && typeof focusPrevious !== 'string') {\n if (isShiftTab) {\n focusPrevious.focus();\n } else {\n focusNext.focus();\n }\n }\n // no tabbable elements in the trap focus or the focus was outside of the focus trap\n } else {\n rootElement.focus();\n }\n };\n doc.addEventListener('focusin', contain);\n doc.addEventListener('keydown', loopFocus, true);\n\n // With Edge, Safari and Firefox, no focus related events are fired when the focused area stops being a focused area.\n // for example https://bugzilla.mozilla.org/show_bug.cgi?id=559561.\n // Instead, we can look if the active element was restored on the BODY element.\n //\n // The whatwg spec defines how the browser should behave but does not explicitly mention any events:\n // https://html.spec.whatwg.org/multipage/interaction.html#focus-fixup-rule.\n const interval = setInterval(() => {\n if (doc.activeElement && doc.activeElement.tagName === 'BODY') {\n contain();\n }\n }, 50);\n return () => {\n clearInterval(interval);\n doc.removeEventListener('focusin', contain);\n doc.removeEventListener('keydown', loopFocus, true);\n };\n }, [disableAutoFocus, disableEnforceFocus, disableRestoreFocus, isEnabled, open, getTabbable]);\n const onFocus = event => {\n if (nodeToRestore.current === null) {\n nodeToRestore.current = event.relatedTarget;\n }\n activated.current = true;\n reactFocusEventTarget.current = event.target;\n const childrenPropsHandler = children.props.onFocus;\n if (childrenPropsHandler) {\n childrenPropsHandler(event);\n }\n };\n const handleFocusSentinel = event => {\n if (nodeToRestore.current === null) {\n nodeToRestore.current = event.relatedTarget;\n }\n activated.current = true;\n };\n return /*#__PURE__*/_jsxs(React.Fragment, {\n children: [/*#__PURE__*/_jsx(\"div\", {\n tabIndex: open ? 0 : -1,\n onFocus: handleFocusSentinel,\n ref: sentinelStart,\n \"data-testid\": \"sentinelStart\"\n }), /*#__PURE__*/React.cloneElement(children, {\n ref: handleRef,\n onFocus\n }), /*#__PURE__*/_jsx(\"div\", {\n tabIndex: open ? 0 : -1,\n onFocus: handleFocusSentinel,\n ref: sentinelEnd,\n \"data-testid\": \"sentinelEnd\"\n })]\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? FocusTrap.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * A single child content element.\n */\n children: elementAcceptingRef,\n /**\n * If `true`, the focus trap will not automatically shift focus to itself when it opens, and\n * replace it to the last focused element when it closes.\n * This also works correctly with any focus trap children that have the `disableAutoFocus` prop.\n *\n * Generally this should never be set to `true` as it makes the focus trap less\n * accessible to assistive technologies, like screen readers.\n * @default false\n */\n disableAutoFocus: PropTypes.bool,\n /**\n * If `true`, the focus trap will not prevent focus from leaving the focus trap while open.\n *\n * Generally this should never be set to `true` as it makes the focus trap less\n * accessible to assistive technologies, like screen readers.\n * @default false\n */\n disableEnforceFocus: PropTypes.bool,\n /**\n * If `true`, the focus trap will not restore focus to previously focused element once\n * focus trap is hidden or unmounted.\n * @default false\n */\n disableRestoreFocus: PropTypes.bool,\n /**\n * Returns an array of ordered tabbable nodes (i.e. in tab order) within the root.\n * For instance, you can provide the \"tabbable\" npm dependency.\n * @param {HTMLElement} root\n */\n getTabbable: PropTypes.func,\n /**\n * This prop extends the `open` prop.\n * It allows to toggle the open state without having to wait for a rerender when changing the `open` prop.\n * This prop should be memoized.\n * It can be used to support multiple focus trap mounted at the same time.\n * @default function defaultIsEnabled(): boolean {\n * return true;\n * }\n */\n isEnabled: PropTypes.func,\n /**\n * If `true`, focus is locked.\n */\n open: PropTypes.bool.isRequired\n} : void 0;\nif (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line\n FocusTrap['propTypes' + ''] = exactProp(FocusTrap.propTypes);\n}\nexport { FocusTrap };","'use client';\n\nimport * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\nimport { exactProp, HTMLElementType, unstable_useEnhancedEffect as useEnhancedEffect, unstable_useForkRef as useForkRef, unstable_setRef as setRef } from '@mui/utils';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction getContainer(container) {\n return typeof container === 'function' ? container() : container;\n}\n\n/**\n * Portals provide a first-class way to render children into a DOM node\n * that exists outside the DOM hierarchy of the parent component.\n *\n * Demos:\n *\n * - [Portal](https://mui.com/base-ui/react-portal/)\n *\n * API:\n *\n * - [Portal API](https://mui.com/base-ui/react-portal/components-api/#portal)\n */\nconst Portal = /*#__PURE__*/React.forwardRef(function Portal(props, forwardedRef) {\n const {\n children,\n container,\n disablePortal = false\n } = props;\n const [mountNode, setMountNode] = React.useState(null);\n // @ts-expect-error TODO upstream fix\n const handleRef = useForkRef( /*#__PURE__*/React.isValidElement(children) ? children.ref : null, forwardedRef);\n useEnhancedEffect(() => {\n if (!disablePortal) {\n setMountNode(getContainer(container) || document.body);\n }\n }, [container, disablePortal]);\n useEnhancedEffect(() => {\n if (mountNode && !disablePortal) {\n setRef(forwardedRef, mountNode);\n return () => {\n setRef(forwardedRef, null);\n };\n }\n return undefined;\n }, [forwardedRef, mountNode, disablePortal]);\n if (disablePortal) {\n if ( /*#__PURE__*/React.isValidElement(children)) {\n const newProps = {\n ref: handleRef\n };\n return /*#__PURE__*/React.cloneElement(children, newProps);\n }\n return /*#__PURE__*/_jsx(React.Fragment, {\n children: children\n });\n }\n return /*#__PURE__*/_jsx(React.Fragment, {\n children: mountNode ? /*#__PURE__*/ReactDOM.createPortal(children, mountNode) : mountNode\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Portal.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The children to render into the `container`.\n */\n children: PropTypes.node,\n /**\n * An HTML element or function that returns one.\n * The `container` will have the portal children appended to it.\n *\n * You can also provide a callback, which is called in a React layout effect.\n * This lets you set the container from a ref, and also makes server-side rendering possible.\n *\n * By default, it uses the body of the top-level document object,\n * so it's simply `document.body` most of the time.\n */\n container: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([HTMLElementType, PropTypes.func]),\n /**\n * The `children` will be under the DOM hierarchy of the parent component.\n * @default false\n */\n disablePortal: PropTypes.bool\n} : void 0;\nif (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line\n Portal['propTypes' + ''] = exactProp(Portal.propTypes);\n}\nexport { Portal };","import { unstable_ownerWindow as ownerWindow, unstable_ownerDocument as ownerDocument, unstable_getScrollbarSize as getScrollbarSize } from '@mui/utils';\n// Is a vertical scrollbar displayed?\nfunction isOverflowing(container) {\n const doc = ownerDocument(container);\n if (doc.body === container) {\n return ownerWindow(container).innerWidth > doc.documentElement.clientWidth;\n }\n return container.scrollHeight > container.clientHeight;\n}\nexport function ariaHidden(element, show) {\n if (show) {\n element.setAttribute('aria-hidden', 'true');\n } else {\n element.removeAttribute('aria-hidden');\n }\n}\nfunction getPaddingRight(element) {\n return parseInt(ownerWindow(element).getComputedStyle(element).paddingRight, 10) || 0;\n}\nfunction isAriaHiddenForbiddenOnElement(element) {\n // The forbidden HTML tags are the ones from ARIA specification that\n // can be children of body and can't have aria-hidden attribute.\n // cf. https://www.w3.org/TR/html-aria/#docconformance\n const forbiddenTagNames = ['TEMPLATE', 'SCRIPT', 'STYLE', 'LINK', 'MAP', 'META', 'NOSCRIPT', 'PICTURE', 'COL', 'COLGROUP', 'PARAM', 'SLOT', 'SOURCE', 'TRACK'];\n const isForbiddenTagName = forbiddenTagNames.indexOf(element.tagName) !== -1;\n const isInputHidden = element.tagName === 'INPUT' && element.getAttribute('type') === 'hidden';\n return isForbiddenTagName || isInputHidden;\n}\nfunction ariaHiddenSiblings(container, mountElement, currentElement, elementsToExclude, show) {\n const blacklist = [mountElement, currentElement, ...elementsToExclude];\n [].forEach.call(container.children, element => {\n const isNotExcludedElement = blacklist.indexOf(element) === -1;\n const isNotForbiddenElement = !isAriaHiddenForbiddenOnElement(element);\n if (isNotExcludedElement && isNotForbiddenElement) {\n ariaHidden(element, show);\n }\n });\n}\nfunction findIndexOf(items, callback) {\n let idx = -1;\n items.some((item, index) => {\n if (callback(item)) {\n idx = index;\n return true;\n }\n return false;\n });\n return idx;\n}\nfunction handleContainer(containerInfo, props) {\n const restoreStyle = [];\n const container = containerInfo.container;\n if (!props.disableScrollLock) {\n if (isOverflowing(container)) {\n // Compute the size before applying overflow hidden to avoid any scroll jumps.\n const scrollbarSize = getScrollbarSize(ownerDocument(container));\n restoreStyle.push({\n value: container.style.paddingRight,\n property: 'padding-right',\n el: container\n });\n // Use computed style, here to get the real padding to add our scrollbar width.\n container.style.paddingRight = `${getPaddingRight(container) + scrollbarSize}px`;\n\n // .mui-fixed is a global helper.\n const fixedElements = ownerDocument(container).querySelectorAll('.mui-fixed');\n [].forEach.call(fixedElements, element => {\n restoreStyle.push({\n value: element.style.paddingRight,\n property: 'padding-right',\n el: element\n });\n element.style.paddingRight = `${getPaddingRight(element) + scrollbarSize}px`;\n });\n }\n let scrollContainer;\n if (container.parentNode instanceof DocumentFragment) {\n scrollContainer = ownerDocument(container).body;\n } else {\n // Support html overflow-y: auto for scroll stability between pages\n // https://css-tricks.com/snippets/css/force-vertical-scrollbar/\n const parent = container.parentElement;\n const containerWindow = ownerWindow(container);\n scrollContainer = (parent == null ? void 0 : parent.nodeName) === 'HTML' && containerWindow.getComputedStyle(parent).overflowY === 'scroll' ? parent : container;\n }\n\n // Block the scroll even if no scrollbar is visible to account for mobile keyboard\n // screensize shrink.\n restoreStyle.push({\n value: scrollContainer.style.overflow,\n property: 'overflow',\n el: scrollContainer\n }, {\n value: scrollContainer.style.overflowX,\n property: 'overflow-x',\n el: scrollContainer\n }, {\n value: scrollContainer.style.overflowY,\n property: 'overflow-y',\n el: scrollContainer\n });\n scrollContainer.style.overflow = 'hidden';\n }\n const restore = () => {\n restoreStyle.forEach(({\n value,\n el,\n property\n }) => {\n if (value) {\n el.style.setProperty(property, value);\n } else {\n el.style.removeProperty(property);\n }\n });\n };\n return restore;\n}\nfunction getHiddenSiblings(container) {\n const hiddenSiblings = [];\n [].forEach.call(container.children, element => {\n if (element.getAttribute('aria-hidden') === 'true') {\n hiddenSiblings.push(element);\n }\n });\n return hiddenSiblings;\n}\n/**\n * @ignore - do not document.\n *\n * Proper state management for containers and the modals in those containers.\n * Simplified, but inspired by react-overlay's ModalManager class.\n * Used by the Modal to ensure proper styling of containers.\n */\nexport class ModalManager {\n constructor() {\n this.containers = void 0;\n this.modals = void 0;\n this.modals = [];\n this.containers = [];\n }\n add(modal, container) {\n let modalIndex = this.modals.indexOf(modal);\n if (modalIndex !== -1) {\n return modalIndex;\n }\n modalIndex = this.modals.length;\n this.modals.push(modal);\n\n // If the modal we are adding is already in the DOM.\n if (modal.modalRef) {\n ariaHidden(modal.modalRef, false);\n }\n const hiddenSiblings = getHiddenSiblings(container);\n ariaHiddenSiblings(container, modal.mount, modal.modalRef, hiddenSiblings, true);\n const containerIndex = findIndexOf(this.containers, item => item.container === container);\n if (containerIndex !== -1) {\n this.containers[containerIndex].modals.push(modal);\n return modalIndex;\n }\n this.containers.push({\n modals: [modal],\n container,\n restore: null,\n hiddenSiblings\n });\n return modalIndex;\n }\n mount(modal, props) {\n const containerIndex = findIndexOf(this.containers, item => item.modals.indexOf(modal) !== -1);\n const containerInfo = this.containers[containerIndex];\n if (!containerInfo.restore) {\n containerInfo.restore = handleContainer(containerInfo, props);\n }\n }\n remove(modal, ariaHiddenState = true) {\n const modalIndex = this.modals.indexOf(modal);\n if (modalIndex === -1) {\n return modalIndex;\n }\n const containerIndex = findIndexOf(this.containers, item => item.modals.indexOf(modal) !== -1);\n const containerInfo = this.containers[containerIndex];\n containerInfo.modals.splice(containerInfo.modals.indexOf(modal), 1);\n this.modals.splice(modalIndex, 1);\n\n // If that was the last modal in a container, clean up the container.\n if (containerInfo.modals.length === 0) {\n // The modal might be closed before it had the chance to be mounted in the DOM.\n if (containerInfo.restore) {\n containerInfo.restore();\n }\n if (modal.modalRef) {\n // In case the modal wasn't in the DOM yet.\n ariaHidden(modal.modalRef, ariaHiddenState);\n }\n ariaHiddenSiblings(containerInfo.container, modal.mount, modal.modalRef, containerInfo.hiddenSiblings, false);\n this.containers.splice(containerIndex, 1);\n } else {\n // Otherwise make sure the next top modal is visible to a screen reader.\n const nextTop = containerInfo.modals[containerInfo.modals.length - 1];\n // as soon as a modal is adding its modalRef is undefined. it can't set\n // aria-hidden because the dom element doesn't exist either\n // when modal was unmounted before modalRef gets null\n if (nextTop.modalRef) {\n ariaHidden(nextTop.modalRef, false);\n }\n }\n return modalIndex;\n }\n isTopModal(modal) {\n return this.modals.length > 0 && this.modals[this.modals.length - 1] === modal;\n }\n}","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport { unstable_ownerDocument as ownerDocument, unstable_useForkRef as useForkRef, unstable_useEventCallback as useEventCallback, unstable_createChainedFunction as createChainedFunction } from '@mui/utils';\nimport { extractEventHandlers } from '../utils';\nimport { ModalManager, ariaHidden } from './ModalManager';\nfunction getContainer(container) {\n return typeof container === 'function' ? container() : container;\n}\nfunction getHasTransition(children) {\n return children ? children.props.hasOwnProperty('in') : false;\n}\n\n// A modal manager used to track and manage the state of open Modals.\n// Modals don't open on the server so this won't conflict with concurrent requests.\nconst defaultManager = new ModalManager();\n/**\n *\n * Demos:\n *\n * - [Modal](https://mui.com/base-ui/react-modal/#hook)\n *\n * API:\n *\n * - [useModal API](https://mui.com/base-ui/react-modal/hooks-api/#use-modal)\n */\nexport function useModal(parameters) {\n const {\n container,\n disableEscapeKeyDown = false,\n disableScrollLock = false,\n // @ts-ignore internal logic - Base UI supports the manager as a prop too\n manager = defaultManager,\n closeAfterTransition = false,\n onTransitionEnter,\n onTransitionExited,\n children,\n onClose,\n open,\n rootRef\n } = parameters;\n\n // @ts-ignore internal logic\n const modal = React.useRef({});\n const mountNodeRef = React.useRef(null);\n const modalRef = React.useRef(null);\n const handleRef = useForkRef(modalRef, rootRef);\n const [exited, setExited] = React.useState(!open);\n const hasTransition = getHasTransition(children);\n let ariaHiddenProp = true;\n if (parameters['aria-hidden'] === 'false' || parameters['aria-hidden'] === false) {\n ariaHiddenProp = false;\n }\n const getDoc = () => ownerDocument(mountNodeRef.current);\n const getModal = () => {\n modal.current.modalRef = modalRef.current;\n modal.current.mount = mountNodeRef.current;\n return modal.current;\n };\n const handleMounted = () => {\n manager.mount(getModal(), {\n disableScrollLock\n });\n\n // Fix a bug on Chrome where the scroll isn't initially 0.\n if (modalRef.current) {\n modalRef.current.scrollTop = 0;\n }\n };\n const handleOpen = useEventCallback(() => {\n const resolvedContainer = getContainer(container) || getDoc().body;\n manager.add(getModal(), resolvedContainer);\n\n // The element was already mounted.\n if (modalRef.current) {\n handleMounted();\n }\n });\n const isTopModal = React.useCallback(() => manager.isTopModal(getModal()), [manager]);\n const handlePortalRef = useEventCallback(node => {\n mountNodeRef.current = node;\n if (!node) {\n return;\n }\n if (open && isTopModal()) {\n handleMounted();\n } else if (modalRef.current) {\n ariaHidden(modalRef.current, ariaHiddenProp);\n }\n });\n const handleClose = React.useCallback(() => {\n manager.remove(getModal(), ariaHiddenProp);\n }, [ariaHiddenProp, manager]);\n React.useEffect(() => {\n return () => {\n handleClose();\n };\n }, [handleClose]);\n React.useEffect(() => {\n if (open) {\n handleOpen();\n } else if (!hasTransition || !closeAfterTransition) {\n handleClose();\n }\n }, [open, handleClose, hasTransition, closeAfterTransition, handleOpen]);\n const createHandleKeyDown = otherHandlers => event => {\n var _otherHandlers$onKeyD;\n (_otherHandlers$onKeyD = otherHandlers.onKeyDown) == null || _otherHandlers$onKeyD.call(otherHandlers, event);\n\n // The handler doesn't take event.defaultPrevented into account:\n //\n // event.preventDefault() is meant to stop default behaviors like\n // clicking a checkbox to check it, hitting a button to submit a form,\n // and hitting left arrow to move the cursor in a text input etc.\n // Only special HTML elements have these default behaviors.\n if (event.key !== 'Escape' || event.which === 229 ||\n // Wait until IME is settled.\n !isTopModal()) {\n return;\n }\n if (!disableEscapeKeyDown) {\n // Swallow the event, in case someone is listening for the escape key on the body.\n event.stopPropagation();\n if (onClose) {\n onClose(event, 'escapeKeyDown');\n }\n }\n };\n const createHandleBackdropClick = otherHandlers => event => {\n var _otherHandlers$onClic;\n (_otherHandlers$onClic = otherHandlers.onClick) == null || _otherHandlers$onClic.call(otherHandlers, event);\n if (event.target !== event.currentTarget) {\n return;\n }\n if (onClose) {\n onClose(event, 'backdropClick');\n }\n };\n const getRootProps = (otherHandlers = {}) => {\n const propsEventHandlers = extractEventHandlers(parameters);\n\n // The custom event handlers shouldn't be spread on the root element\n delete propsEventHandlers.onTransitionEnter;\n delete propsEventHandlers.onTransitionExited;\n const externalEventHandlers = _extends({}, propsEventHandlers, otherHandlers);\n return _extends({\n role: 'presentation'\n }, externalEventHandlers, {\n onKeyDown: createHandleKeyDown(externalEventHandlers),\n ref: handleRef\n });\n };\n const getBackdropProps = (otherHandlers = {}) => {\n const externalEventHandlers = otherHandlers;\n return _extends({\n 'aria-hidden': true\n }, externalEventHandlers, {\n onClick: createHandleBackdropClick(externalEventHandlers),\n open\n });\n };\n const getTransitionProps = () => {\n const handleEnter = () => {\n setExited(false);\n if (onTransitionEnter) {\n onTransitionEnter();\n }\n };\n const handleExited = () => {\n setExited(true);\n if (onTransitionExited) {\n onTransitionExited();\n }\n if (closeAfterTransition) {\n handleClose();\n }\n };\n return {\n onEnter: createChainedFunction(handleEnter, children == null ? void 0 : children.props.onEnter),\n onExited: createChainedFunction(handleExited, children == null ? void 0 : children.props.onExited)\n };\n };\n return {\n getRootProps,\n getBackdropProps,\n getTransitionProps,\n rootRef: handleRef,\n portalRef: handlePortalRef,\n isTopModal,\n exited,\n hasTransition\n };\n}","export var top = 'top';\nexport var bottom = 'bottom';\nexport var right = 'right';\nexport var left = 'left';\nexport var auto = 'auto';\nexport var basePlacements = [top, bottom, right, left];\nexport var start = 'start';\nexport var end = 'end';\nexport var clippingParents = 'clippingParents';\nexport var viewport = 'viewport';\nexport var popper = 'popper';\nexport var reference = 'reference';\nexport var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {\n return acc.concat([placement + \"-\" + start, placement + \"-\" + end]);\n}, []);\nexport var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {\n return acc.concat([placement, placement + \"-\" + start, placement + \"-\" + end]);\n}, []); // modifiers that need to read the DOM\n\nexport var beforeRead = 'beforeRead';\nexport var read = 'read';\nexport var afterRead = 'afterRead'; // pure-logic modifiers\n\nexport var beforeMain = 'beforeMain';\nexport var main = 'main';\nexport var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)\n\nexport var beforeWrite = 'beforeWrite';\nexport var write = 'write';\nexport var afterWrite = 'afterWrite';\nexport var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];","export default function getNodeName(element) {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}","export default function getWindow(node) {\n if (node == null) {\n return window;\n }\n\n if (node.toString() !== '[object Window]') {\n var ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}","import getWindow from \"./getWindow.js\";\n\nfunction isElement(node) {\n var OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\nfunction isHTMLElement(node) {\n var OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nfunction isShadowRoot(node) {\n // IE 11 has no ShadowRoot\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n\n var OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\n\nexport { isElement, isHTMLElement, isShadowRoot };","import getNodeName from \"../dom-utils/getNodeName.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // This modifier takes the styles prepared by the `computeStyles` modifier\n// and applies them to the HTMLElements such as popper and arrow\n\nfunction applyStyles(_ref) {\n var state = _ref.state;\n Object.keys(state.elements).forEach(function (name) {\n var style = state.styles[name] || {};\n var attributes = state.attributes[name] || {};\n var element = state.elements[name]; // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n } // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe[cannot-write]\n\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (name) {\n var value = attributes[name];\n\n if (value === false) {\n element.removeAttribute(name);\n } else {\n element.setAttribute(name, value === true ? '' : value);\n }\n });\n });\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state;\n var initialStyles = {\n popper: {\n position: state.options.strategy,\n left: '0',\n top: '0',\n margin: '0'\n },\n arrow: {\n position: 'absolute'\n },\n reference: {}\n };\n Object.assign(state.elements.popper.style, initialStyles.popper);\n state.styles = initialStyles;\n\n if (state.elements.arrow) {\n Object.assign(state.elements.arrow.style, initialStyles.arrow);\n }\n\n return function () {\n Object.keys(state.elements).forEach(function (name) {\n var element = state.elements[name];\n var attributes = state.attributes[name] || {};\n var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them\n\n var style = styleProperties.reduce(function (style, property) {\n style[property] = '';\n return style;\n }, {}); // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (attribute) {\n element.removeAttribute(attribute);\n });\n });\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'applyStyles',\n enabled: true,\n phase: 'write',\n fn: applyStyles,\n effect: effect,\n requires: ['computeStyles']\n};","import { auto } from \"../enums.js\";\nexport default function getBasePlacement(placement) {\n return placement.split('-')[0];\n}","export var max = Math.max;\nexport var min = Math.min;\nexport var round = Math.round;","export default function getUAString() {\n var uaData = navigator.userAgentData;\n\n if (uaData != null && uaData.brands && Array.isArray(uaData.brands)) {\n return uaData.brands.map(function (item) {\n return item.brand + \"/\" + item.version;\n }).join(' ');\n }\n\n return navigator.userAgent;\n}","import getUAString from \"../utils/userAgent.js\";\nexport default function isLayoutViewport() {\n return !/^((?!chrome|android).)*safari/i.test(getUAString());\n}","import { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport { round } from \"../utils/math.js\";\nimport getWindow from \"./getWindow.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getBoundingClientRect(element, includeScale, isFixedStrategy) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n\n var clientRect = element.getBoundingClientRect();\n var scaleX = 1;\n var scaleY = 1;\n\n if (includeScale && isHTMLElement(element)) {\n scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;\n scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;\n }\n\n var _ref = isElement(element) ? getWindow(element) : window,\n visualViewport = _ref.visualViewport;\n\n var addVisualOffsets = !isLayoutViewport() && isFixedStrategy;\n var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX;\n var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY;\n var width = clientRect.width / scaleX;\n var height = clientRect.height / scaleY;\n return {\n width: width,\n height: height,\n top: y,\n right: x + width,\n bottom: y + height,\n left: x,\n x: x,\n y: y\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\"; // Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\n\nexport default function getLayoutRect(element) {\n var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed.\n // Fixes https://github.com/popperjs/popper-core/issues/1223\n\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n if (Math.abs(clientRect.width - width) <= 1) {\n width = clientRect.width;\n }\n\n if (Math.abs(clientRect.height - height) <= 1) {\n height = clientRect.height;\n }\n\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: width,\n height: height\n };\n}","import { isShadowRoot } from \"./instanceOf.js\";\nexport default function contains(parent, child) {\n var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method\n\n if (parent.contains(child)) {\n return true;\n } // then fallback to custom implementation with Shadow DOM support\n else if (rootNode && isShadowRoot(rootNode)) {\n var next = child;\n\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n } // $FlowFixMe[prop-missing]: need a better way to handle this...\n\n\n next = next.parentNode || next.host;\n } while (next);\n } // Give up, the result is false\n\n\n return false;\n}","import getWindow from \"./getWindow.js\";\nexport default function getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}","import getNodeName from \"./getNodeName.js\";\nexport default function isTableElement(element) {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}","import { isElement } from \"./instanceOf.js\";\nexport default function getDocumentElement(element) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing]\n element.document) || window.document).documentElement;\n}","import getNodeName from \"./getNodeName.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport { isShadowRoot } from \"./instanceOf.js\";\nexport default function getParentNode(element) {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n // $FlowFixMe[incompatible-return]\n // $FlowFixMe[prop-missing]\n element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n element.parentNode || ( // DOM Element detected\n isShadowRoot(element) ? element.host : null) || // ShadowRoot detected\n // $FlowFixMe[incompatible-call]: HTMLElement is a Node\n getDocumentElement(element) // fallback\n\n );\n}","import getWindow from \"./getWindow.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isHTMLElement, isShadowRoot } from \"./instanceOf.js\";\nimport isTableElement from \"./isTableElement.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getUAString from \"../utils/userAgent.js\";\n\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed') {\n return null;\n }\n\n return element.offsetParent;\n} // `.offsetParent` reports `null` for fixed elements, while absolute elements\n// return the containing block\n\n\nfunction getContainingBlock(element) {\n var isFirefox = /firefox/i.test(getUAString());\n var isIE = /Trident/i.test(getUAString());\n\n if (isIE && isHTMLElement(element)) {\n // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport\n var elementCss = getComputedStyle(element);\n\n if (elementCss.position === 'fixed') {\n return null;\n }\n }\n\n var currentNode = getParentNode(element);\n\n if (isShadowRoot(currentNode)) {\n currentNode = currentNode.host;\n }\n\n while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {\n var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') {\n return currentNode;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nexport default function getOffsetParent(element) {\n var window = getWindow(element);\n var offsetParent = getTrueOffsetParent(element);\n\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static')) {\n return window;\n }\n\n return offsetParent || getContainingBlock(element) || window;\n}","export default function getMainAxisFromPlacement(placement) {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}","import { max as mathMax, min as mathMin } from \"./math.js\";\nexport function within(min, value, max) {\n return mathMax(min, mathMin(value, max));\n}\nexport function withinMaxClamp(min, value, max) {\n var v = within(min, value, max);\n return v > max ? max : v;\n}","export default function getFreshSideObject() {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n}","import getFreshSideObject from \"./getFreshSideObject.js\";\nexport default function mergePaddingObject(paddingObject) {\n return Object.assign({}, getFreshSideObject(), paddingObject);\n}","export default function expandToHashMap(value, keys) {\n return keys.reduce(function (hashMap, key) {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport contains from \"../dom-utils/contains.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport { within } from \"../utils/within.js\";\nimport mergePaddingObject from \"../utils/mergePaddingObject.js\";\nimport expandToHashMap from \"../utils/expandToHashMap.js\";\nimport { left, right, basePlacements, top, bottom } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar toPaddingObject = function toPaddingObject(padding, state) {\n padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, {\n placement: state.placement\n })) : padding;\n return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n};\n\nfunction arrow(_ref) {\n var _state$modifiersData$;\n\n var state = _ref.state,\n name = _ref.name,\n options = _ref.options;\n var arrowElement = state.elements.arrow;\n var popperOffsets = state.modifiersData.popperOffsets;\n var basePlacement = getBasePlacement(state.placement);\n var axis = getMainAxisFromPlacement(basePlacement);\n var isVertical = [left, right].indexOf(basePlacement) >= 0;\n var len = isVertical ? 'height' : 'width';\n\n if (!arrowElement || !popperOffsets) {\n return;\n }\n\n var paddingObject = toPaddingObject(options.padding, state);\n var arrowRect = getLayoutRect(arrowElement);\n var minProp = axis === 'y' ? top : left;\n var maxProp = axis === 'y' ? bottom : right;\n var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];\n var startDiff = popperOffsets[axis] - state.rects.reference[axis];\n var arrowOffsetParent = getOffsetParent(arrowElement);\n var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is\n // outside of the popper bounds\n\n var min = paddingObject[minProp];\n var max = clientSize - arrowRect[len] - paddingObject[maxProp];\n var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n var offset = within(min, center, max); // Prevents breaking syntax highlighting...\n\n var axisProp = axis;\n state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state,\n options = _ref2.options;\n var _options$element = options.element,\n arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element;\n\n if (arrowElement == null) {\n return;\n } // CSS selector\n\n\n if (typeof arrowElement === 'string') {\n arrowElement = state.elements.popper.querySelector(arrowElement);\n\n if (!arrowElement) {\n return;\n }\n }\n\n if (!contains(state.elements.popper, arrowElement)) {\n return;\n }\n\n state.elements.arrow = arrowElement;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'arrow',\n enabled: true,\n phase: 'main',\n fn: arrow,\n effect: effect,\n requires: ['popperOffsets'],\n requiresIfExists: ['preventOverflow']\n};","export default function getVariation(placement) {\n return placement.split('-')[1];\n}","import { top, left, right, bottom, end } from \"../enums.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getWindow from \"../dom-utils/getWindow.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getComputedStyle from \"../dom-utils/getComputedStyle.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport { round } from \"../utils/math.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar unsetSides = {\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto'\n}; // Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\n\nfunction roundOffsetsByDPR(_ref, win) {\n var x = _ref.x,\n y = _ref.y;\n var dpr = win.devicePixelRatio || 1;\n return {\n x: round(x * dpr) / dpr || 0,\n y: round(y * dpr) / dpr || 0\n };\n}\n\nexport function mapToStyles(_ref2) {\n var _Object$assign2;\n\n var popper = _ref2.popper,\n popperRect = _ref2.popperRect,\n placement = _ref2.placement,\n variation = _ref2.variation,\n offsets = _ref2.offsets,\n position = _ref2.position,\n gpuAcceleration = _ref2.gpuAcceleration,\n adaptive = _ref2.adaptive,\n roundOffsets = _ref2.roundOffsets,\n isFixed = _ref2.isFixed;\n var _offsets$x = offsets.x,\n x = _offsets$x === void 0 ? 0 : _offsets$x,\n _offsets$y = offsets.y,\n y = _offsets$y === void 0 ? 0 : _offsets$y;\n\n var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({\n x: x,\n y: y\n }) : {\n x: x,\n y: y\n };\n\n x = _ref3.x;\n y = _ref3.y;\n var hasX = offsets.hasOwnProperty('x');\n var hasY = offsets.hasOwnProperty('y');\n var sideX = left;\n var sideY = top;\n var win = window;\n\n if (adaptive) {\n var offsetParent = getOffsetParent(popper);\n var heightProp = 'clientHeight';\n var widthProp = 'clientWidth';\n\n if (offsetParent === getWindow(popper)) {\n offsetParent = getDocumentElement(popper);\n\n if (getComputedStyle(offsetParent).position !== 'static' && position === 'absolute') {\n heightProp = 'scrollHeight';\n widthProp = 'scrollWidth';\n }\n } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n\n\n offsetParent = offsetParent;\n\n if (placement === top || (placement === left || placement === right) && variation === end) {\n sideY = bottom;\n var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing]\n offsetParent[heightProp];\n y -= offsetY - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n\n if (placement === left || (placement === top || placement === bottom) && variation === end) {\n sideX = right;\n var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing]\n offsetParent[widthProp];\n x -= offsetX - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n\n var commonStyles = Object.assign({\n position: position\n }, adaptive && unsetSides);\n\n var _ref4 = roundOffsets === true ? roundOffsetsByDPR({\n x: x,\n y: y\n }, getWindow(popper)) : {\n x: x,\n y: y\n };\n\n x = _ref4.x;\n y = _ref4.y;\n\n if (gpuAcceleration) {\n var _Object$assign;\n\n return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? \"translate(\" + x + \"px, \" + y + \"px)\" : \"translate3d(\" + x + \"px, \" + y + \"px, 0)\", _Object$assign));\n }\n\n return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + \"px\" : '', _Object$assign2[sideX] = hasX ? x + \"px\" : '', _Object$assign2.transform = '', _Object$assign2));\n}\n\nfunction computeStyles(_ref5) {\n var state = _ref5.state,\n options = _ref5.options;\n var _options$gpuAccelerat = options.gpuAcceleration,\n gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,\n _options$adaptive = options.adaptive,\n adaptive = _options$adaptive === void 0 ? true : _options$adaptive,\n _options$roundOffsets = options.roundOffsets,\n roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;\n var commonStyles = {\n placement: getBasePlacement(state.placement),\n variation: getVariation(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration: gpuAcceleration,\n isFixed: state.options.strategy === 'fixed'\n };\n\n if (state.modifiersData.popperOffsets != null) {\n state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive: adaptive,\n roundOffsets: roundOffsets\n })));\n }\n\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.arrow,\n position: 'absolute',\n adaptive: false,\n roundOffsets: roundOffsets\n })));\n }\n\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-placement': state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'computeStyles',\n enabled: true,\n phase: 'beforeWrite',\n fn: computeStyles,\n data: {}\n};","import getWindow from \"../dom-utils/getWindow.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar passive = {\n passive: true\n};\n\nfunction effect(_ref) {\n var state = _ref.state,\n instance = _ref.instance,\n options = _ref.options;\n var _options$scroll = options.scroll,\n scroll = _options$scroll === void 0 ? true : _options$scroll,\n _options$resize = options.resize,\n resize = _options$resize === void 0 ? true : _options$resize;\n var window = getWindow(state.elements.popper);\n var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);\n\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.addEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, passive);\n }\n\n return function () {\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.removeEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, passive);\n }\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: function fn() {},\n effect: effect,\n data: {}\n};","var hash = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nexport default function getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}","var hash = {\n start: 'end',\n end: 'start'\n};\nexport default function getOppositeVariationPlacement(placement) {\n return placement.replace(/start|end/g, function (matched) {\n return hash[matched];\n });\n}","import getWindow from \"./getWindow.js\";\nexport default function getWindowScroll(node) {\n var win = getWindow(node);\n var scrollLeft = win.pageXOffset;\n var scrollTop = win.pageYOffset;\n return {\n scrollLeft: scrollLeft,\n scrollTop: scrollTop\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nexport default function getWindowScrollBarX(element) {\n // If <html> has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on <html>\n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;\n}","import getWindow from \"./getWindow.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getViewportRect(element, strategy) {\n var win = getWindow(element);\n var html = getDocumentElement(element);\n var visualViewport = win.visualViewport;\n var width = html.clientWidth;\n var height = html.clientHeight;\n var x = 0;\n var y = 0;\n\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n var layoutViewport = isLayoutViewport();\n\n if (layoutViewport || !layoutViewport && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n\n return {\n width: width,\n height: height,\n x: x + getWindowScrollBarX(element),\n y: y\n };\n}","import getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nimport { max } from \"../utils/math.js\"; // Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable\n\nexport default function getDocumentRect(element) {\n var _element$ownerDocumen;\n\n var html = getDocumentElement(element);\n var winScroll = getWindowScroll(element);\n var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n var x = -winScroll.scrollLeft + getWindowScrollBarX(element);\n var y = -winScroll.scrollTop;\n\n if (getComputedStyle(body || html).direction === 'rtl') {\n x += max(html.clientWidth, body ? body.clientWidth : 0) - width;\n }\n\n return {\n width: width,\n height: height,\n x: x,\n y: y\n };\n}","import getComputedStyle from \"./getComputedStyle.js\";\nexport default function isScrollParent(element) {\n // Firefox wants us to check `-x` and `-y` variations as well\n var _getComputedStyle = getComputedStyle(element),\n overflow = _getComputedStyle.overflow,\n overflowX = _getComputedStyle.overflowX,\n overflowY = _getComputedStyle.overflowY;\n\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}","import getParentNode from \"./getParentNode.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nexport default function getScrollParent(node) {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node) && isScrollParent(node)) {\n return node;\n }\n\n return getScrollParent(getParentNode(node));\n}","import getScrollParent from \"./getScrollParent.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getWindow from \"./getWindow.js\";\nimport isScrollParent from \"./isScrollParent.js\";\n/*\ngiven a DOM element, return the list of all scroll parents, up the list of ancesors\nuntil we get to the top window object. This list is what we attach scroll listeners\nto, because if any of these parent elements scroll, we'll need to re-calculate the\nreference element's position.\n*/\n\nexport default function listScrollParents(element, list) {\n var _element$ownerDocumen;\n\n if (list === void 0) {\n list = [];\n }\n\n var scrollParent = getScrollParent(element);\n var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);\n var win = getWindow(scrollParent);\n var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n var updatedList = list.concat(target);\n return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}","export default function rectToClientRect(rect) {\n return Object.assign({}, rect, {\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n });\n}","import { viewport } from \"../enums.js\";\nimport getViewportRect from \"./getViewportRect.js\";\nimport getDocumentRect from \"./getDocumentRect.js\";\nimport listScrollParents from \"./listScrollParents.js\";\nimport getOffsetParent from \"./getOffsetParent.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport contains from \"./contains.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport rectToClientRect from \"../utils/rectToClientRect.js\";\nimport { max, min } from \"../utils/math.js\";\n\nfunction getInnerBoundingClientRect(element, strategy) {\n var rect = getBoundingClientRect(element, false, strategy === 'fixed');\n rect.top = rect.top + element.clientTop;\n rect.left = rect.left + element.clientLeft;\n rect.bottom = rect.top + element.clientHeight;\n rect.right = rect.left + element.clientWidth;\n rect.width = element.clientWidth;\n rect.height = element.clientHeight;\n rect.x = rect.left;\n rect.y = rect.top;\n return rect;\n}\n\nfunction getClientRectFromMixedType(element, clippingParent, strategy) {\n return clippingParent === viewport ? rectToClientRect(getViewportRect(element, strategy)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n var clippingParents = listScrollParents(getParentNode(element));\n var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n if (!isElement(clipperElement)) {\n return [];\n } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414\n\n\n return clippingParents.filter(function (clippingParent) {\n return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body';\n });\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nexport default function getClippingRect(element, boundary, rootBoundary, strategy) {\n var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n var clippingParents = [].concat(mainClippingParents, [rootBoundary]);\n var firstClippingParent = clippingParents[0];\n var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {\n var rect = getClientRectFromMixedType(element, clippingParent, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent, strategy));\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n return clippingRect;\n}","import getBasePlacement from \"./getBasePlacement.js\";\nimport getVariation from \"./getVariation.js\";\nimport getMainAxisFromPlacement from \"./getMainAxisFromPlacement.js\";\nimport { top, right, bottom, left, start, end } from \"../enums.js\";\nexport default function computeOffsets(_ref) {\n var reference = _ref.reference,\n element = _ref.element,\n placement = _ref.placement;\n var basePlacement = placement ? getBasePlacement(placement) : null;\n var variation = placement ? getVariation(placement) : null;\n var commonX = reference.x + reference.width / 2 - element.width / 2;\n var commonY = reference.y + reference.height / 2 - element.height / 2;\n var offsets;\n\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height\n };\n break;\n\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY\n };\n break;\n\n default:\n offsets = {\n x: reference.x,\n y: reference.y\n };\n }\n\n var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;\n\n if (mainAxis != null) {\n var len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);\n break;\n\n case end:\n offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);\n break;\n\n default:\n }\n }\n\n return offsets;\n}","import getClippingRect from \"../dom-utils/getClippingRect.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getBoundingClientRect from \"../dom-utils/getBoundingClientRect.js\";\nimport computeOffsets from \"./computeOffsets.js\";\nimport rectToClientRect from \"./rectToClientRect.js\";\nimport { clippingParents, reference, popper, bottom, top, right, basePlacements, viewport } from \"../enums.js\";\nimport { isElement } from \"../dom-utils/instanceOf.js\";\nimport mergePaddingObject from \"./mergePaddingObject.js\";\nimport expandToHashMap from \"./expandToHashMap.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport default function detectOverflow(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$placement = _options.placement,\n placement = _options$placement === void 0 ? state.placement : _options$placement,\n _options$strategy = _options.strategy,\n strategy = _options$strategy === void 0 ? state.strategy : _options$strategy,\n _options$boundary = _options.boundary,\n boundary = _options$boundary === void 0 ? clippingParents : _options$boundary,\n _options$rootBoundary = _options.rootBoundary,\n rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary,\n _options$elementConte = _options.elementContext,\n elementContext = _options$elementConte === void 0 ? popper : _options$elementConte,\n _options$altBoundary = _options.altBoundary,\n altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary,\n _options$padding = _options.padding,\n padding = _options$padding === void 0 ? 0 : _options$padding;\n var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n var altContext = elementContext === popper ? reference : popper;\n var popperRect = state.rects.popper;\n var element = state.elements[altBoundary ? altContext : elementContext];\n var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary, strategy);\n var referenceClientRect = getBoundingClientRect(state.elements.reference);\n var popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement: placement\n });\n var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets));\n var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n\n var overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n };\n var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element\n\n if (elementContext === popper && offsetData) {\n var offset = offsetData[placement];\n Object.keys(overflowOffsets).forEach(function (key) {\n var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}","import getVariation from \"./getVariation.js\";\nimport { variationPlacements, basePlacements, placements as allPlacements } from \"../enums.js\";\nimport detectOverflow from \"./detectOverflow.js\";\nimport getBasePlacement from \"./getBasePlacement.js\";\nexport default function computeAutoPlacement(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n placement = _options.placement,\n boundary = _options.boundary,\n rootBoundary = _options.rootBoundary,\n padding = _options.padding,\n flipVariations = _options.flipVariations,\n _options$allowedAutoP = _options.allowedAutoPlacements,\n allowedAutoPlacements = _options$allowedAutoP === void 0 ? allPlacements : _options$allowedAutoP;\n var variation = getVariation(placement);\n var placements = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) {\n return getVariation(placement) === variation;\n }) : basePlacements;\n var allowedPlacements = placements.filter(function (placement) {\n return allowedAutoPlacements.indexOf(placement) >= 0;\n });\n\n if (allowedPlacements.length === 0) {\n allowedPlacements = placements;\n } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions...\n\n\n var overflows = allowedPlacements.reduce(function (acc, placement) {\n acc[placement] = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding\n })[getBasePlacement(placement)];\n return acc;\n }, {});\n return Object.keys(overflows).sort(function (a, b) {\n return overflows[a] - overflows[b];\n });\n}","import getOppositePlacement from \"../utils/getOppositePlacement.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getOppositeVariationPlacement from \"../utils/getOppositeVariationPlacement.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport computeAutoPlacement from \"../utils/computeAutoPlacement.js\";\nimport { bottom, top, start, right, left, auto } from \"../enums.js\";\nimport getVariation from \"../utils/getVariation.js\"; // eslint-disable-next-line import/no-unused-modules\n\nfunction getExpandedFallbackPlacements(placement) {\n if (getBasePlacement(placement) === auto) {\n return [];\n }\n\n var oppositePlacement = getOppositePlacement(placement);\n return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];\n}\n\nfunction flip(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n\n if (state.modifiersData[name]._skip) {\n return;\n }\n\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis,\n specifiedFallbackPlacements = options.fallbackPlacements,\n padding = options.padding,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n _options$flipVariatio = options.flipVariations,\n flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,\n allowedAutoPlacements = options.allowedAutoPlacements;\n var preferredPlacement = state.options.placement;\n var basePlacement = getBasePlacement(preferredPlacement);\n var isBasePlacement = basePlacement === preferredPlacement;\n var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));\n var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {\n return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n flipVariations: flipVariations,\n allowedAutoPlacements: allowedAutoPlacements\n }) : placement);\n }, []);\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var checksMap = new Map();\n var makeFallbackChecks = true;\n var firstFittingPlacement = placements[0];\n\n for (var i = 0; i < placements.length; i++) {\n var placement = placements[i];\n\n var _basePlacement = getBasePlacement(placement);\n\n var isStartVariation = getVariation(placement) === start;\n var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;\n var len = isVertical ? 'width' : 'height';\n var overflow = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n altBoundary: altBoundary,\n padding: padding\n });\n var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;\n\n if (referenceRect[len] > popperRect[len]) {\n mainVariationSide = getOppositePlacement(mainVariationSide);\n }\n\n var altVariationSide = getOppositePlacement(mainVariationSide);\n var checks = [];\n\n if (checkMainAxis) {\n checks.push(overflow[_basePlacement] <= 0);\n }\n\n if (checkAltAxis) {\n checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);\n }\n\n if (checks.every(function (check) {\n return check;\n })) {\n firstFittingPlacement = placement;\n makeFallbackChecks = false;\n break;\n }\n\n checksMap.set(placement, checks);\n }\n\n if (makeFallbackChecks) {\n // `2` may be desired in some cases – research later\n var numberOfChecks = flipVariations ? 3 : 1;\n\n var _loop = function _loop(_i) {\n var fittingPlacement = placements.find(function (placement) {\n var checks = checksMap.get(placement);\n\n if (checks) {\n return checks.slice(0, _i).every(function (check) {\n return check;\n });\n }\n });\n\n if (fittingPlacement) {\n firstFittingPlacement = fittingPlacement;\n return \"break\";\n }\n };\n\n for (var _i = numberOfChecks; _i > 0; _i--) {\n var _ret = _loop(_i);\n\n if (_ret === \"break\") break;\n }\n }\n\n if (state.placement !== firstFittingPlacement) {\n state.modifiersData[name]._skip = true;\n state.placement = firstFittingPlacement;\n state.reset = true;\n }\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'flip',\n enabled: true,\n phase: 'main',\n fn: flip,\n requiresIfExists: ['offset'],\n data: {\n _skip: false\n }\n};","import { top, bottom, left, right } from \"../enums.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\n\nfunction getSideOffsets(overflow, rect, preventedOffsets) {\n if (preventedOffsets === void 0) {\n preventedOffsets = {\n x: 0,\n y: 0\n };\n }\n\n return {\n top: overflow.top - rect.height - preventedOffsets.y,\n right: overflow.right - rect.width + preventedOffsets.x,\n bottom: overflow.bottom - rect.height + preventedOffsets.y,\n left: overflow.left - rect.width - preventedOffsets.x\n };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n return [top, right, bottom, left].some(function (side) {\n return overflow[side] >= 0;\n });\n}\n\nfunction hide(_ref) {\n var state = _ref.state,\n name = _ref.name;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var preventedOffsets = state.modifiersData.preventOverflow;\n var referenceOverflow = detectOverflow(state, {\n elementContext: 'reference'\n });\n var popperAltOverflow = detectOverflow(state, {\n altBoundary: true\n });\n var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);\n var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);\n var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);\n var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);\n state.modifiersData[name] = {\n referenceClippingOffsets: referenceClippingOffsets,\n popperEscapeOffsets: popperEscapeOffsets,\n isReferenceHidden: isReferenceHidden,\n hasPopperEscaped: hasPopperEscaped\n };\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-reference-hidden': isReferenceHidden,\n 'data-popper-escaped': hasPopperEscaped\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'hide',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['preventOverflow'],\n fn: hide\n};","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport { top, left, right, placements } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport function distanceAndSkiddingToXY(placement, rects, offset) {\n var basePlacement = getBasePlacement(placement);\n var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, {\n placement: placement\n })) : offset,\n skidding = _ref[0],\n distance = _ref[1];\n\n skidding = skidding || 0;\n distance = (distance || 0) * invertDistance;\n return [left, right].indexOf(basePlacement) >= 0 ? {\n x: distance,\n y: skidding\n } : {\n x: skidding,\n y: distance\n };\n}\n\nfunction offset(_ref2) {\n var state = _ref2.state,\n options = _ref2.options,\n name = _ref2.name;\n var _options$offset = options.offset,\n offset = _options$offset === void 0 ? [0, 0] : _options$offset;\n var data = placements.reduce(function (acc, placement) {\n acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n return acc;\n }, {});\n var _data$state$placement = data[state.placement],\n x = _data$state$placement.x,\n y = _data$state$placement.y;\n\n if (state.modifiersData.popperOffsets != null) {\n state.modifiersData.popperOffsets.x += x;\n state.modifiersData.popperOffsets.y += y;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'offset',\n enabled: true,\n phase: 'main',\n requires: ['popperOffsets'],\n fn: offset\n};","import computeOffsets from \"../utils/computeOffsets.js\";\n\nfunction popperOffsets(_ref) {\n var state = _ref.state,\n name = _ref.name;\n // Offsets are the actual position the popper needs to have to be\n // properly positioned near its reference element\n // This is the most basic placement, and will be adjusted by\n // the modifiers in the next step\n state.modifiersData[name] = computeOffsets({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: 'absolute',\n placement: state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'popperOffsets',\n enabled: true,\n phase: 'read',\n fn: popperOffsets,\n data: {}\n};","export default function getAltAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}","import { top, left, right, bottom, start } from \"../enums.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport getAltAxis from \"../utils/getAltAxis.js\";\nimport { within, withinMaxClamp } from \"../utils/within.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport getFreshSideObject from \"../utils/getFreshSideObject.js\";\nimport { min as mathMin, max as mathMax } from \"../utils/math.js\";\n\nfunction preventOverflow(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n padding = options.padding,\n _options$tether = options.tether,\n tether = _options$tether === void 0 ? true : _options$tether,\n _options$tetherOffset = options.tetherOffset,\n tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;\n var overflow = detectOverflow(state, {\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n altBoundary: altBoundary\n });\n var basePlacement = getBasePlacement(state.placement);\n var variation = getVariation(state.placement);\n var isBasePlacement = !variation;\n var mainAxis = getMainAxisFromPlacement(basePlacement);\n var altAxis = getAltAxis(mainAxis);\n var popperOffsets = state.modifiersData.popperOffsets;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {\n placement: state.placement\n })) : tetherOffset;\n var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? {\n mainAxis: tetherOffsetValue,\n altAxis: tetherOffsetValue\n } : Object.assign({\n mainAxis: 0,\n altAxis: 0\n }, tetherOffsetValue);\n var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null;\n var data = {\n x: 0,\n y: 0\n };\n\n if (!popperOffsets) {\n return;\n }\n\n if (checkMainAxis) {\n var _offsetModifierState$;\n\n var mainSide = mainAxis === 'y' ? top : left;\n var altSide = mainAxis === 'y' ? bottom : right;\n var len = mainAxis === 'y' ? 'height' : 'width';\n var offset = popperOffsets[mainAxis];\n var min = offset + overflow[mainSide];\n var max = offset - overflow[altSide];\n var additive = tether ? -popperRect[len] / 2 : 0;\n var minLen = variation === start ? referenceRect[len] : popperRect[len];\n var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go\n // outside the reference bounds\n\n var arrowElement = state.elements.arrow;\n var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {\n width: 0,\n height: 0\n };\n var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject();\n var arrowPaddingMin = arrowPaddingObject[mainSide];\n var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want\n // to include its full size in the calculation. If the reference is small\n // and near the edge of a boundary, the popper can overflow even if the\n // reference is not overflowing as well (e.g. virtual elements with no\n // width or height)\n\n var arrowLen = within(0, referenceRect[len], arrowRect[len]);\n var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis;\n var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis;\n var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);\n var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;\n var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0;\n var tetherMin = offset + minOffset - offsetModifierValue - clientOffset;\n var tetherMax = offset + maxOffset - offsetModifierValue;\n var preventedOffset = within(tether ? mathMin(min, tetherMin) : min, offset, tether ? mathMax(max, tetherMax) : max);\n popperOffsets[mainAxis] = preventedOffset;\n data[mainAxis] = preventedOffset - offset;\n }\n\n if (checkAltAxis) {\n var _offsetModifierState$2;\n\n var _mainSide = mainAxis === 'x' ? top : left;\n\n var _altSide = mainAxis === 'x' ? bottom : right;\n\n var _offset = popperOffsets[altAxis];\n\n var _len = altAxis === 'y' ? 'height' : 'width';\n\n var _min = _offset + overflow[_mainSide];\n\n var _max = _offset - overflow[_altSide];\n\n var isOriginSide = [top, left].indexOf(basePlacement) !== -1;\n\n var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0;\n\n var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis;\n\n var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max;\n\n var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max);\n\n popperOffsets[altAxis] = _preventedOffset;\n data[altAxis] = _preventedOffset - _offset;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'preventOverflow',\n enabled: true,\n phase: 'main',\n fn: preventOverflow,\n requiresIfExists: ['offset']\n};","export default function getHTMLElementScroll(element) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n}","import getWindowScroll from \"./getWindowScroll.js\";\nimport getWindow from \"./getWindow.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getHTMLElementScroll from \"./getHTMLElementScroll.js\";\nexport default function getNodeScroll(node) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getNodeScroll from \"./getNodeScroll.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport { round } from \"../utils/math.js\";\n\nfunction isElementScaled(element) {\n var rect = element.getBoundingClientRect();\n var scaleX = round(rect.width) / element.offsetWidth || 1;\n var scaleY = round(rect.height) / element.offsetHeight || 1;\n return scaleX !== 1 || scaleY !== 1;\n} // Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\n\n\nexport default function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n\n var isOffsetParentAnElement = isHTMLElement(offsetParent);\n var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);\n var documentElement = getDocumentElement(offsetParent);\n var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed);\n var scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n var offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078\n isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent, true);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}","import { modifierPhases } from \"../enums.js\"; // source: https://stackoverflow.com/questions/49875255\n\nfunction order(modifiers) {\n var map = new Map();\n var visited = new Set();\n var result = [];\n modifiers.forEach(function (modifier) {\n map.set(modifier.name, modifier);\n }); // On visiting object, check for its dependencies and visit them recursively\n\n function sort(modifier) {\n visited.add(modifier.name);\n var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);\n requires.forEach(function (dep) {\n if (!visited.has(dep)) {\n var depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n result.push(modifier);\n }\n\n modifiers.forEach(function (modifier) {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n return result;\n}\n\nexport default function orderModifiers(modifiers) {\n // order based on dependencies\n var orderedModifiers = order(modifiers); // order based on phase\n\n return modifierPhases.reduce(function (acc, phase) {\n return acc.concat(orderedModifiers.filter(function (modifier) {\n return modifier.phase === phase;\n }));\n }, []);\n}","export default function debounce(fn) {\n var pending;\n return function () {\n if (!pending) {\n pending = new Promise(function (resolve) {\n Promise.resolve().then(function () {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}","export default function mergeByName(modifiers) {\n var merged = modifiers.reduce(function (merged, current) {\n var existing = merged[current.name];\n merged[current.name] = existing ? Object.assign({}, existing, current, {\n options: Object.assign({}, existing.options, current.options),\n data: Object.assign({}, existing.data, current.data)\n }) : current;\n return merged;\n }, {}); // IE11 does not support Object.values\n\n return Object.keys(merged).map(function (key) {\n return merged[key];\n });\n}","import getCompositeRect from \"./dom-utils/getCompositeRect.js\";\nimport getLayoutRect from \"./dom-utils/getLayoutRect.js\";\nimport listScrollParents from \"./dom-utils/listScrollParents.js\";\nimport getOffsetParent from \"./dom-utils/getOffsetParent.js\";\nimport orderModifiers from \"./utils/orderModifiers.js\";\nimport debounce from \"./utils/debounce.js\";\nimport mergeByName from \"./utils/mergeByName.js\";\nimport detectOverflow from \"./utils/detectOverflow.js\";\nimport { isElement } from \"./dom-utils/instanceOf.js\";\nvar DEFAULT_OPTIONS = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute'\n};\n\nfunction areValidElements() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return !args.some(function (element) {\n return !(element && typeof element.getBoundingClientRect === 'function');\n });\n}\n\nexport function popperGenerator(generatorOptions) {\n if (generatorOptions === void 0) {\n generatorOptions = {};\n }\n\n var _generatorOptions = generatorOptions,\n _generatorOptions$def = _generatorOptions.defaultModifiers,\n defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,\n _generatorOptions$def2 = _generatorOptions.defaultOptions,\n defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;\n return function createPopper(reference, popper, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n var state = {\n placement: 'bottom',\n orderedModifiers: [],\n options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),\n modifiersData: {},\n elements: {\n reference: reference,\n popper: popper\n },\n attributes: {},\n styles: {}\n };\n var effectCleanupFns = [];\n var isDestroyed = false;\n var instance = {\n state: state,\n setOptions: function setOptions(setOptionsAction) {\n var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction;\n cleanupModifierEffects();\n state.options = Object.assign({}, defaultOptions, state.options, options);\n state.scrollParents = {\n reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],\n popper: listScrollParents(popper)\n }; // Orders the modifiers based on their dependencies and `phase`\n // properties\n\n var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers\n\n state.orderedModifiers = orderedModifiers.filter(function (m) {\n return m.enabled;\n });\n runModifierEffects();\n return instance.update();\n },\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate: function forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n var _state$elements = state.elements,\n reference = _state$elements.reference,\n popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n\n if (!areValidElements(reference, popper)) {\n return;\n } // Store the reference and popper rects to be read by modifiers\n\n\n state.rects = {\n reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'),\n popper: getLayoutRect(popper)\n }; // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n\n state.reset = false;\n state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n\n state.orderedModifiers.forEach(function (modifier) {\n return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);\n });\n\n for (var index = 0; index < state.orderedModifiers.length; index++) {\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n var _state$orderedModifie = state.orderedModifiers[index],\n fn = _state$orderedModifie.fn,\n _state$orderedModifie2 = _state$orderedModifie.options,\n _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,\n name = _state$orderedModifie.name;\n\n if (typeof fn === 'function') {\n state = fn({\n state: state,\n options: _options,\n name: name,\n instance: instance\n }) || state;\n }\n }\n },\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce(function () {\n return new Promise(function (resolve) {\n instance.forceUpdate();\n resolve(state);\n });\n }),\n destroy: function destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n }\n };\n\n if (!areValidElements(reference, popper)) {\n return instance;\n }\n\n instance.setOptions(options).then(function (state) {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n }); // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n\n function runModifierEffects() {\n state.orderedModifiers.forEach(function (_ref) {\n var name = _ref.name,\n _ref$options = _ref.options,\n options = _ref$options === void 0 ? {} : _ref$options,\n effect = _ref.effect;\n\n if (typeof effect === 'function') {\n var cleanupFn = effect({\n state: state,\n name: name,\n instance: instance,\n options: options\n });\n\n var noopFn = function noopFn() {};\n\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(function (fn) {\n return fn();\n });\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\nexport var createPopper = /*#__PURE__*/popperGenerator(); // eslint-disable-next-line import/no-unused-modules\n\nexport { detectOverflow };","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nimport offset from \"./modifiers/offset.js\";\nimport flip from \"./modifiers/flip.js\";\nimport preventOverflow from \"./modifiers/preventOverflow.js\";\nimport arrow from \"./modifiers/arrow.js\";\nimport hide from \"./modifiers/hide.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles, offset, flip, preventOverflow, arrow, hide];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow }; // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper as createPopperLite } from \"./popper-lite.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport * from \"./modifiers/index.js\";","import { generateUtilityClass } from '../generateUtilityClass';\nimport { generateUtilityClasses } from '../generateUtilityClasses';\nconst COMPONENT_NAME = 'Popper';\nexport function getPopperUtilityClass(slot) {\n return generateUtilityClass(COMPONENT_NAME, slot);\n}\nexport const popperClasses = generateUtilityClasses(COMPONENT_NAME, ['root']);","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"anchorEl\", \"children\", \"direction\", \"disablePortal\", \"modifiers\", \"open\", \"placement\", \"popperOptions\", \"popperRef\", \"slotProps\", \"slots\", \"TransitionProps\", \"ownerState\"],\n _excluded2 = [\"anchorEl\", \"children\", \"container\", \"direction\", \"disablePortal\", \"keepMounted\", \"modifiers\", \"open\", \"placement\", \"popperOptions\", \"popperRef\", \"style\", \"transition\", \"slotProps\", \"slots\"];\nimport * as React from 'react';\nimport { chainPropTypes, HTMLElementType, refType, unstable_ownerDocument as ownerDocument, unstable_useEnhancedEffect as useEnhancedEffect, unstable_useForkRef as useForkRef } from '@mui/utils';\nimport { createPopper } from '@popperjs/core';\nimport PropTypes from 'prop-types';\nimport { unstable_composeClasses as composeClasses } from '../composeClasses';\nimport { Portal } from '../Portal';\nimport { getPopperUtilityClass } from './popperClasses';\nimport { useSlotProps } from '../utils';\nimport { useClassNamesOverride } from '../utils/ClassNameConfigurator';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction flipPlacement(placement, direction) {\n if (direction === 'ltr') {\n return placement;\n }\n switch (placement) {\n case 'bottom-end':\n return 'bottom-start';\n case 'bottom-start':\n return 'bottom-end';\n case 'top-end':\n return 'top-start';\n case 'top-start':\n return 'top-end';\n default:\n return placement;\n }\n}\nfunction resolveAnchorEl(anchorEl) {\n return typeof anchorEl === 'function' ? anchorEl() : anchorEl;\n}\nfunction isHTMLElement(element) {\n return element.nodeType !== undefined;\n}\nfunction isVirtualElement(element) {\n return !isHTMLElement(element);\n}\nconst useUtilityClasses = () => {\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, useClassNamesOverride(getPopperUtilityClass));\n};\nconst defaultPopperOptions = {};\nconst PopperTooltip = /*#__PURE__*/React.forwardRef(function PopperTooltip(props, forwardedRef) {\n var _slots$root;\n const {\n anchorEl,\n children,\n direction,\n disablePortal,\n modifiers,\n open,\n placement: initialPlacement,\n popperOptions,\n popperRef: popperRefProp,\n slotProps = {},\n slots = {},\n TransitionProps\n // @ts-ignore internal logic\n // prevent from spreading to DOM, it can come from the parent component e.g. Select.\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const tooltipRef = React.useRef(null);\n const ownRef = useForkRef(tooltipRef, forwardedRef);\n const popperRef = React.useRef(null);\n const handlePopperRef = useForkRef(popperRef, popperRefProp);\n const handlePopperRefRef = React.useRef(handlePopperRef);\n useEnhancedEffect(() => {\n handlePopperRefRef.current = handlePopperRef;\n }, [handlePopperRef]);\n React.useImperativeHandle(popperRefProp, () => popperRef.current, []);\n const rtlPlacement = flipPlacement(initialPlacement, direction);\n /**\n * placement initialized from prop but can change during lifetime if modifiers.flip.\n * modifiers.flip is essentially a flip for controlled/uncontrolled behavior\n */\n const [placement, setPlacement] = React.useState(rtlPlacement);\n const [resolvedAnchorElement, setResolvedAnchorElement] = React.useState(resolveAnchorEl(anchorEl));\n React.useEffect(() => {\n if (popperRef.current) {\n popperRef.current.forceUpdate();\n }\n });\n React.useEffect(() => {\n if (anchorEl) {\n setResolvedAnchorElement(resolveAnchorEl(anchorEl));\n }\n }, [anchorEl]);\n useEnhancedEffect(() => {\n if (!resolvedAnchorElement || !open) {\n return undefined;\n }\n const handlePopperUpdate = data => {\n setPlacement(data.placement);\n };\n if (process.env.NODE_ENV !== 'production') {\n if (resolvedAnchorElement && isHTMLElement(resolvedAnchorElement) && resolvedAnchorElement.nodeType === 1) {\n const box = resolvedAnchorElement.getBoundingClientRect();\n if (process.env.NODE_ENV !== 'test' && box.top === 0 && box.left === 0 && box.right === 0 && box.bottom === 0) {\n console.warn(['MUI: The `anchorEl` prop provided to the component is invalid.', 'The anchor element should be part of the document layout.', \"Make sure the element is present in the document or that it's not display none.\"].join('\\n'));\n }\n }\n }\n let popperModifiers = [{\n name: 'preventOverflow',\n options: {\n altBoundary: disablePortal\n }\n }, {\n name: 'flip',\n options: {\n altBoundary: disablePortal\n }\n }, {\n name: 'onUpdate',\n enabled: true,\n phase: 'afterWrite',\n fn: ({\n state\n }) => {\n handlePopperUpdate(state);\n }\n }];\n if (modifiers != null) {\n popperModifiers = popperModifiers.concat(modifiers);\n }\n if (popperOptions && popperOptions.modifiers != null) {\n popperModifiers = popperModifiers.concat(popperOptions.modifiers);\n }\n const popper = createPopper(resolvedAnchorElement, tooltipRef.current, _extends({\n placement: rtlPlacement\n }, popperOptions, {\n modifiers: popperModifiers\n }));\n handlePopperRefRef.current(popper);\n return () => {\n popper.destroy();\n handlePopperRefRef.current(null);\n };\n }, [resolvedAnchorElement, disablePortal, modifiers, open, popperOptions, rtlPlacement]);\n const childProps = {\n placement: placement\n };\n if (TransitionProps !== null) {\n childProps.TransitionProps = TransitionProps;\n }\n const classes = useUtilityClasses();\n const Root = (_slots$root = slots.root) != null ? _slots$root : 'div';\n const rootProps = useSlotProps({\n elementType: Root,\n externalSlotProps: slotProps.root,\n externalForwardedProps: other,\n additionalProps: {\n role: 'tooltip',\n ref: ownRef\n },\n ownerState: props,\n className: classes.root\n });\n return /*#__PURE__*/_jsx(Root, _extends({}, rootProps, {\n children: typeof children === 'function' ? children(childProps) : children\n }));\n});\n\n/**\n * Poppers rely on the 3rd party library [Popper.js](https://popper.js.org/docs/v2/) for positioning.\n *\n * Demos:\n *\n * - [Popper](https://mui.com/base-ui/react-popper/)\n *\n * API:\n *\n * - [Popper API](https://mui.com/base-ui/react-popper/components-api/#popper)\n */\nconst Popper = /*#__PURE__*/React.forwardRef(function Popper(props, forwardedRef) {\n const {\n anchorEl,\n children,\n container: containerProp,\n direction = 'ltr',\n disablePortal = false,\n keepMounted = false,\n modifiers,\n open,\n placement = 'bottom',\n popperOptions = defaultPopperOptions,\n popperRef,\n style,\n transition = false,\n slotProps = {},\n slots = {}\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded2);\n const [exited, setExited] = React.useState(true);\n const handleEnter = () => {\n setExited(false);\n };\n const handleExited = () => {\n setExited(true);\n };\n if (!keepMounted && !open && (!transition || exited)) {\n return null;\n }\n\n // If the container prop is provided, use that\n // If the anchorEl prop is provided, use its parent body element as the container\n // If neither are provided let the Modal take care of choosing the container\n let container;\n if (containerProp) {\n container = containerProp;\n } else if (anchorEl) {\n const resolvedAnchorEl = resolveAnchorEl(anchorEl);\n container = resolvedAnchorEl && isHTMLElement(resolvedAnchorEl) ? ownerDocument(resolvedAnchorEl).body : ownerDocument(null).body;\n }\n const display = !open && keepMounted && (!transition || exited) ? 'none' : undefined;\n const transitionProps = transition ? {\n in: open,\n onEnter: handleEnter,\n onExited: handleExited\n } : undefined;\n return /*#__PURE__*/_jsx(Portal, {\n disablePortal: disablePortal,\n container: container,\n children: /*#__PURE__*/_jsx(PopperTooltip, _extends({\n anchorEl: anchorEl,\n direction: direction,\n disablePortal: disablePortal,\n modifiers: modifiers,\n ref: forwardedRef,\n open: transition ? !exited : open,\n placement: placement,\n popperOptions: popperOptions,\n popperRef: popperRef,\n slotProps: slotProps,\n slots: slots\n }, other, {\n style: _extends({\n // Prevents scroll issue, waiting for Popper.js to add this style once initiated.\n position: 'fixed',\n // Fix Popper.js display issue\n top: 0,\n left: 0,\n display\n }, style),\n TransitionProps: transitionProps,\n children: children\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Popper.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * An HTML element, [virtualElement](https://popper.js.org/docs/v2/virtual-elements/),\n * or a function that returns either.\n * It's used to set the position of the popper.\n * The return value will passed as the reference object of the Popper instance.\n */\n anchorEl: chainPropTypes(PropTypes.oneOfType([HTMLElementType, PropTypes.object, PropTypes.func]), props => {\n if (props.open) {\n const resolvedAnchorEl = resolveAnchorEl(props.anchorEl);\n if (resolvedAnchorEl && isHTMLElement(resolvedAnchorEl) && resolvedAnchorEl.nodeType === 1) {\n const box = resolvedAnchorEl.getBoundingClientRect();\n if (process.env.NODE_ENV !== 'test' && box.top === 0 && box.left === 0 && box.right === 0 && box.bottom === 0) {\n return new Error(['MUI: The `anchorEl` prop provided to the component is invalid.', 'The anchor element should be part of the document layout.', \"Make sure the element is present in the document or that it's not display none.\"].join('\\n'));\n }\n } else if (!resolvedAnchorEl || typeof resolvedAnchorEl.getBoundingClientRect !== 'function' || isVirtualElement(resolvedAnchorEl) && resolvedAnchorEl.contextElement != null && resolvedAnchorEl.contextElement.nodeType !== 1) {\n return new Error(['MUI: The `anchorEl` prop provided to the component is invalid.', 'It should be an HTML element instance or a virtualElement ', '(https://popper.js.org/docs/v2/virtual-elements/).'].join('\\n'));\n }\n }\n return null;\n }),\n /**\n * Popper render function or node.\n */\n children: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.node, PropTypes.func]),\n /**\n * An HTML element or function that returns one.\n * The `container` will have the portal children appended to it.\n *\n * You can also provide a callback, which is called in a React layout effect.\n * This lets you set the container from a ref, and also makes server-side rendering possible.\n *\n * By default, it uses the body of the top-level document object,\n * so it's simply `document.body` most of the time.\n */\n container: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([HTMLElementType, PropTypes.func]),\n /**\n * Direction of the text.\n * @default 'ltr'\n */\n direction: PropTypes.oneOf(['ltr', 'rtl']),\n /**\n * The `children` will be under the DOM hierarchy of the parent component.\n * @default false\n */\n disablePortal: PropTypes.bool,\n /**\n * Always keep the children in the DOM.\n * This prop can be useful in SEO situation or\n * when you want to maximize the responsiveness of the Popper.\n * @default false\n */\n keepMounted: PropTypes.bool,\n /**\n * Popper.js is based on a \"plugin-like\" architecture,\n * most of its features are fully encapsulated \"modifiers\".\n *\n * A modifier is a function that is called each time Popper.js needs to\n * compute the position of the popper.\n * For this reason, modifiers should be very performant to avoid bottlenecks.\n * To learn how to create a modifier, [read the modifiers documentation](https://popper.js.org/docs/v2/modifiers/).\n */\n modifiers: PropTypes.arrayOf(PropTypes.shape({\n data: PropTypes.object,\n effect: PropTypes.func,\n enabled: PropTypes.bool,\n fn: PropTypes.func,\n name: PropTypes.any,\n options: PropTypes.object,\n phase: PropTypes.oneOf(['afterMain', 'afterRead', 'afterWrite', 'beforeMain', 'beforeRead', 'beforeWrite', 'main', 'read', 'write']),\n requires: PropTypes.arrayOf(PropTypes.string),\n requiresIfExists: PropTypes.arrayOf(PropTypes.string)\n })),\n /**\n * If `true`, the component is shown.\n */\n open: PropTypes.bool.isRequired,\n /**\n * Popper placement.\n * @default 'bottom'\n */\n placement: PropTypes.oneOf(['auto-end', 'auto-start', 'auto', 'bottom-end', 'bottom-start', 'bottom', 'left-end', 'left-start', 'left', 'right-end', 'right-start', 'right', 'top-end', 'top-start', 'top']),\n /**\n * Options provided to the [`Popper.js`](https://popper.js.org/docs/v2/constructors/#options) instance.\n * @default {}\n */\n popperOptions: PropTypes.shape({\n modifiers: PropTypes.array,\n onFirstUpdate: PropTypes.func,\n placement: PropTypes.oneOf(['auto-end', 'auto-start', 'auto', 'bottom-end', 'bottom-start', 'bottom', 'left-end', 'left-start', 'left', 'right-end', 'right-start', 'right', 'top-end', 'top-start', 'top']),\n strategy: PropTypes.oneOf(['absolute', 'fixed'])\n }),\n /**\n * A ref that points to the used popper instance.\n */\n popperRef: refType,\n /**\n * The props used for each slot inside the Popper.\n * @default {}\n */\n slotProps: PropTypes.shape({\n root: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside the Popper.\n * Either a string to use a HTML element or a component.\n * @default {}\n */\n slots: PropTypes.shape({\n root: PropTypes.elementType\n }),\n /**\n * Help supporting a react-transition-group/Transition component.\n * @default false\n */\n transition: PropTypes.bool\n} : void 0;\nexport { Popper };","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport { unstable_useEventCallback as useEventCallback, unstable_useTimeout as useTimeout } from '@mui/utils';\nimport { extractEventHandlers } from '../utils/extractEventHandlers';\n/**\n * The basic building block for creating custom snackbar.\n *\n * Demos:\n *\n * - [Snackbar](https://mui.com/base-ui/react-snackbar/#hook)\n *\n * API:\n *\n * - [useSnackbar API](https://mui.com/base-ui/react-snackbar/hooks-api/#use-snackbar)\n */\nexport function useSnackbar(parameters = {}) {\n const {\n autoHideDuration = null,\n disableWindowBlurListener = false,\n onClose,\n open,\n resumeHideDuration\n } = parameters;\n const timerAutoHide = useTimeout();\n React.useEffect(() => {\n if (!open) {\n return undefined;\n }\n\n /**\n * @param {KeyboardEvent} nativeEvent\n */\n function handleKeyDown(nativeEvent) {\n if (!nativeEvent.defaultPrevented) {\n // IE11, Edge (prior to using Blink?) use 'Esc'\n if (nativeEvent.key === 'Escape' || nativeEvent.key === 'Esc') {\n // not calling `preventDefault` since we don't know if people may ignore this event e.g. a permanently open snackbar\n onClose == null || onClose(nativeEvent, 'escapeKeyDown');\n }\n }\n }\n document.addEventListener('keydown', handleKeyDown);\n return () => {\n document.removeEventListener('keydown', handleKeyDown);\n };\n }, [open, onClose]);\n const handleClose = useEventCallback((event, reason) => {\n onClose == null || onClose(event, reason);\n });\n const setAutoHideTimer = useEventCallback(autoHideDurationParam => {\n if (!onClose || autoHideDurationParam == null) {\n return;\n }\n timerAutoHide.start(autoHideDurationParam, () => {\n handleClose(null, 'timeout');\n });\n });\n React.useEffect(() => {\n if (open) {\n setAutoHideTimer(autoHideDuration);\n }\n return timerAutoHide.clear;\n }, [open, autoHideDuration, setAutoHideTimer, timerAutoHide]);\n const handleClickAway = event => {\n onClose == null || onClose(event, 'clickaway');\n };\n\n // Pause the timer when the user is interacting with the Snackbar\n // or when the user hide the window.\n const handlePause = timerAutoHide.clear;\n\n // Restart the timer when the user is no longer interacting with the Snackbar\n // or when the window is shown back.\n const handleResume = React.useCallback(() => {\n if (autoHideDuration != null) {\n setAutoHideTimer(resumeHideDuration != null ? resumeHideDuration : autoHideDuration * 0.5);\n }\n }, [autoHideDuration, resumeHideDuration, setAutoHideTimer]);\n const createHandleBlur = otherHandlers => event => {\n const onBlurCallback = otherHandlers.onBlur;\n onBlurCallback == null || onBlurCallback(event);\n handleResume();\n };\n const createHandleFocus = otherHandlers => event => {\n const onFocusCallback = otherHandlers.onFocus;\n onFocusCallback == null || onFocusCallback(event);\n handlePause();\n };\n const createMouseEnter = otherHandlers => event => {\n const onMouseEnterCallback = otherHandlers.onMouseEnter;\n onMouseEnterCallback == null || onMouseEnterCallback(event);\n handlePause();\n };\n const createMouseLeave = otherHandlers => event => {\n const onMouseLeaveCallback = otherHandlers.onMouseLeave;\n onMouseLeaveCallback == null || onMouseLeaveCallback(event);\n handleResume();\n };\n React.useEffect(() => {\n // TODO: window global should be refactored here\n if (!disableWindowBlurListener && open) {\n window.addEventListener('focus', handleResume);\n window.addEventListener('blur', handlePause);\n return () => {\n window.removeEventListener('focus', handleResume);\n window.removeEventListener('blur', handlePause);\n };\n }\n return undefined;\n }, [disableWindowBlurListener, open, handleResume, handlePause]);\n const getRootProps = (externalProps = {}) => {\n const externalEventHandlers = _extends({}, extractEventHandlers(parameters), extractEventHandlers(externalProps));\n return _extends({\n // ClickAwayListener adds an `onClick` prop which results in the alert not being announced.\n // See https://github.com/mui/material-ui/issues/29080\n role: 'presentation'\n }, externalProps, externalEventHandlers, {\n onBlur: createHandleBlur(externalEventHandlers),\n onFocus: createHandleFocus(externalEventHandlers),\n onMouseEnter: createMouseEnter(externalEventHandlers),\n onMouseLeave: createMouseLeave(externalEventHandlers)\n });\n };\n return {\n getRootProps,\n onClickAway: handleClickAway\n };\n}","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"onChange\", \"maxRows\", \"minRows\", \"style\", \"value\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { unstable_debounce as debounce, unstable_useForkRef as useForkRef, unstable_useEnhancedEffect as useEnhancedEffect, unstable_ownerWindow as ownerWindow } from '@mui/utils';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nfunction getStyleValue(value) {\n return parseInt(value, 10) || 0;\n}\nconst styles = {\n shadow: {\n // Visibility needed to hide the extra text area on iPads\n visibility: 'hidden',\n // Remove from the content flow\n position: 'absolute',\n // Ignore the scrollbar width\n overflow: 'hidden',\n height: 0,\n top: 0,\n left: 0,\n // Create a new layer, increase the isolation of the computed values\n transform: 'translateZ(0)'\n }\n};\nfunction isEmpty(obj) {\n return obj === undefined || obj === null || Object.keys(obj).length === 0 || obj.outerHeightStyle === 0 && !obj.overflowing;\n}\n\n/**\n *\n * Demos:\n *\n * - [Textarea Autosize](https://mui.com/base-ui/react-textarea-autosize/)\n * - [Textarea Autosize](https://mui.com/material-ui/react-textarea-autosize/)\n *\n * API:\n *\n * - [TextareaAutosize API](https://mui.com/base-ui/react-textarea-autosize/components-api/#textarea-autosize)\n */\nconst TextareaAutosize = /*#__PURE__*/React.forwardRef(function TextareaAutosize(props, forwardedRef) {\n const {\n onChange,\n maxRows,\n minRows = 1,\n style,\n value\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const {\n current: isControlled\n } = React.useRef(value != null);\n const inputRef = React.useRef(null);\n const handleRef = useForkRef(forwardedRef, inputRef);\n const shadowRef = React.useRef(null);\n const calculateTextareaStyles = React.useCallback(() => {\n const input = inputRef.current;\n const containerWindow = ownerWindow(input);\n const computedStyle = containerWindow.getComputedStyle(input);\n\n // If input's width is shrunk and it's not visible, don't sync height.\n if (computedStyle.width === '0px') {\n return {\n outerHeightStyle: 0,\n overflowing: false\n };\n }\n const inputShallow = shadowRef.current;\n inputShallow.style.width = computedStyle.width;\n inputShallow.value = input.value || props.placeholder || 'x';\n if (inputShallow.value.slice(-1) === '\\n') {\n // Certain fonts which overflow the line height will cause the textarea\n // to report a different scrollHeight depending on whether the last line\n // is empty. Make it non-empty to avoid this issue.\n inputShallow.value += ' ';\n }\n const boxSizing = computedStyle.boxSizing;\n const padding = getStyleValue(computedStyle.paddingBottom) + getStyleValue(computedStyle.paddingTop);\n const border = getStyleValue(computedStyle.borderBottomWidth) + getStyleValue(computedStyle.borderTopWidth);\n\n // The height of the inner content\n const innerHeight = inputShallow.scrollHeight;\n\n // Measure height of a textarea with a single row\n inputShallow.value = 'x';\n const singleRowHeight = inputShallow.scrollHeight;\n\n // The height of the outer content\n let outerHeight = innerHeight;\n if (minRows) {\n outerHeight = Math.max(Number(minRows) * singleRowHeight, outerHeight);\n }\n if (maxRows) {\n outerHeight = Math.min(Number(maxRows) * singleRowHeight, outerHeight);\n }\n outerHeight = Math.max(outerHeight, singleRowHeight);\n\n // Take the box sizing into account for applying this value as a style.\n const outerHeightStyle = outerHeight + (boxSizing === 'border-box' ? padding + border : 0);\n const overflowing = Math.abs(outerHeight - innerHeight) <= 1;\n return {\n outerHeightStyle,\n overflowing\n };\n }, [maxRows, minRows, props.placeholder]);\n const syncHeight = React.useCallback(() => {\n const textareaStyles = calculateTextareaStyles();\n if (isEmpty(textareaStyles)) {\n return;\n }\n const input = inputRef.current;\n input.style.height = `${textareaStyles.outerHeightStyle}px`;\n input.style.overflow = textareaStyles.overflowing ? 'hidden' : '';\n }, [calculateTextareaStyles]);\n useEnhancedEffect(() => {\n const handleResize = () => {\n syncHeight();\n };\n // Workaround a \"ResizeObserver loop completed with undelivered notifications\" error\n // in test.\n // Note that we might need to use this logic in production per https://github.com/WICG/resize-observer/issues/38\n // Also see https://github.com/mui/mui-x/issues/8733\n let rAF;\n const rAFHandleResize = () => {\n cancelAnimationFrame(rAF);\n rAF = requestAnimationFrame(() => {\n handleResize();\n });\n };\n const debounceHandleResize = debounce(handleResize);\n const input = inputRef.current;\n const containerWindow = ownerWindow(input);\n containerWindow.addEventListener('resize', debounceHandleResize);\n let resizeObserver;\n if (typeof ResizeObserver !== 'undefined') {\n resizeObserver = new ResizeObserver(process.env.NODE_ENV === 'test' ? rAFHandleResize : handleResize);\n resizeObserver.observe(input);\n }\n return () => {\n debounceHandleResize.clear();\n cancelAnimationFrame(rAF);\n containerWindow.removeEventListener('resize', debounceHandleResize);\n if (resizeObserver) {\n resizeObserver.disconnect();\n }\n };\n }, [calculateTextareaStyles, syncHeight]);\n useEnhancedEffect(() => {\n syncHeight();\n });\n const handleChange = event => {\n if (!isControlled) {\n syncHeight();\n }\n if (onChange) {\n onChange(event);\n }\n };\n return /*#__PURE__*/_jsxs(React.Fragment, {\n children: [/*#__PURE__*/_jsx(\"textarea\", _extends({\n value: value,\n onChange: handleChange,\n ref: handleRef\n // Apply the rows prop to get a \"correct\" first SSR paint\n ,\n rows: minRows,\n style: style\n }, other)), /*#__PURE__*/_jsx(\"textarea\", {\n \"aria-hidden\": true,\n className: props.className,\n readOnly: true,\n ref: shadowRef,\n tabIndex: -1,\n style: _extends({}, styles.shadow, style, {\n paddingTop: 0,\n paddingBottom: 0\n })\n })]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? TextareaAutosize.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * Maximum number of rows to display.\n */\n maxRows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * Minimum number of rows to display.\n * @default 1\n */\n minRows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * @ignore\n */\n onChange: PropTypes.func,\n /**\n * @ignore\n */\n placeholder: PropTypes.string,\n /**\n * @ignore\n */\n style: PropTypes.object,\n /**\n * @ignore\n */\n value: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.number, PropTypes.string])\n} : void 0;\nexport { TextareaAutosize };","'use client';\n\n/* eslint-disable no-constant-condition */\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport { unstable_setRef as setRef, unstable_useEventCallback as useEventCallback, unstable_useControlled as useControlled, unstable_useId as useId, usePreviousProps } from '@mui/utils';\n\n// https://stackoverflow.com/questions/990904/remove-accents-diacritics-in-a-string-in-javascript\n// Give up on IE11 support for this feature\nfunction stripDiacritics(string) {\n return typeof string.normalize !== 'undefined' ? string.normalize('NFD').replace(/[\\u0300-\\u036f]/g, '') : string;\n}\nexport function createFilterOptions(config = {}) {\n const {\n ignoreAccents = true,\n ignoreCase = true,\n limit,\n matchFrom = 'any',\n stringify,\n trim = false\n } = config;\n return (options, {\n inputValue,\n getOptionLabel\n }) => {\n let input = trim ? inputValue.trim() : inputValue;\n if (ignoreCase) {\n input = input.toLowerCase();\n }\n if (ignoreAccents) {\n input = stripDiacritics(input);\n }\n const filteredOptions = !input ? options : options.filter(option => {\n let candidate = (stringify || getOptionLabel)(option);\n if (ignoreCase) {\n candidate = candidate.toLowerCase();\n }\n if (ignoreAccents) {\n candidate = stripDiacritics(candidate);\n }\n return matchFrom === 'start' ? candidate.indexOf(input) === 0 : candidate.indexOf(input) > -1;\n });\n return typeof limit === 'number' ? filteredOptions.slice(0, limit) : filteredOptions;\n };\n}\n\n// To replace with .findIndex() once we stop IE11 support.\nfunction findIndex(array, comp) {\n for (let i = 0; i < array.length; i += 1) {\n if (comp(array[i])) {\n return i;\n }\n }\n return -1;\n}\nconst defaultFilterOptions = createFilterOptions();\n\n// Number of options to jump in list box when `Page Up` and `Page Down` keys are used.\nconst pageSize = 5;\nconst defaultIsActiveElementInListbox = listboxRef => {\n var _listboxRef$current$p;\n return listboxRef.current !== null && ((_listboxRef$current$p = listboxRef.current.parentElement) == null ? void 0 : _listboxRef$current$p.contains(document.activeElement));\n};\nexport function useAutocomplete(props) {\n const {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n unstable_isActiveElementInListbox = defaultIsActiveElementInListbox,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n unstable_classNamePrefix = 'Mui',\n autoComplete = false,\n autoHighlight = false,\n autoSelect = false,\n blurOnSelect = false,\n clearOnBlur = !props.freeSolo,\n clearOnEscape = false,\n componentName = 'useAutocomplete',\n defaultValue = props.multiple ? [] : null,\n disableClearable = false,\n disableCloseOnSelect = false,\n disabled: disabledProp,\n disabledItemsFocusable = false,\n disableListWrap = false,\n filterOptions = defaultFilterOptions,\n filterSelectedOptions = false,\n freeSolo = false,\n getOptionDisabled,\n getOptionKey,\n getOptionLabel: getOptionLabelProp = option => {\n var _option$label;\n return (_option$label = option.label) != null ? _option$label : option;\n },\n groupBy,\n handleHomeEndKeys = !props.freeSolo,\n id: idProp,\n includeInputInList = false,\n inputValue: inputValueProp,\n isOptionEqualToValue = (option, value) => option === value,\n multiple = false,\n onChange,\n onClose,\n onHighlightChange,\n onInputChange,\n onOpen,\n open: openProp,\n openOnFocus = false,\n options,\n readOnly = false,\n selectOnFocus = !props.freeSolo,\n value: valueProp\n } = props;\n const id = useId(idProp);\n let getOptionLabel = getOptionLabelProp;\n getOptionLabel = option => {\n const optionLabel = getOptionLabelProp(option);\n if (typeof optionLabel !== 'string') {\n if (process.env.NODE_ENV !== 'production') {\n const erroneousReturn = optionLabel === undefined ? 'undefined' : `${typeof optionLabel} (${optionLabel})`;\n console.error(`MUI: The \\`getOptionLabel\\` method of ${componentName} returned ${erroneousReturn} instead of a string for ${JSON.stringify(option)}.`);\n }\n return String(optionLabel);\n }\n return optionLabel;\n };\n const ignoreFocus = React.useRef(false);\n const firstFocus = React.useRef(true);\n const inputRef = React.useRef(null);\n const listboxRef = React.useRef(null);\n const [anchorEl, setAnchorEl] = React.useState(null);\n const [focusedTag, setFocusedTag] = React.useState(-1);\n const defaultHighlighted = autoHighlight ? 0 : -1;\n const highlightedIndexRef = React.useRef(defaultHighlighted);\n const [value, setValueState] = useControlled({\n controlled: valueProp,\n default: defaultValue,\n name: componentName\n });\n const [inputValue, setInputValueState] = useControlled({\n controlled: inputValueProp,\n default: '',\n name: componentName,\n state: 'inputValue'\n });\n const [focused, setFocused] = React.useState(false);\n const resetInputValue = React.useCallback((event, newValue) => {\n // retain current `inputValue` if new option isn't selected and `clearOnBlur` is false\n // When `multiple` is enabled, `newValue` is an array of all selected items including the newly selected item\n const isOptionSelected = multiple ? value.length < newValue.length : newValue !== null;\n if (!isOptionSelected && !clearOnBlur) {\n return;\n }\n let newInputValue;\n if (multiple) {\n newInputValue = '';\n } else if (newValue == null) {\n newInputValue = '';\n } else {\n const optionLabel = getOptionLabel(newValue);\n newInputValue = typeof optionLabel === 'string' ? optionLabel : '';\n }\n if (inputValue === newInputValue) {\n return;\n }\n setInputValueState(newInputValue);\n if (onInputChange) {\n onInputChange(event, newInputValue, 'reset');\n }\n }, [getOptionLabel, inputValue, multiple, onInputChange, setInputValueState, clearOnBlur, value]);\n const [open, setOpenState] = useControlled({\n controlled: openProp,\n default: false,\n name: componentName,\n state: 'open'\n });\n const [inputPristine, setInputPristine] = React.useState(true);\n const inputValueIsSelectedValue = !multiple && value != null && inputValue === getOptionLabel(value);\n const popupOpen = open && !readOnly;\n const filteredOptions = popupOpen ? filterOptions(options.filter(option => {\n if (filterSelectedOptions && (multiple ? value : [value]).some(value2 => value2 !== null && isOptionEqualToValue(option, value2))) {\n return false;\n }\n return true;\n }),\n // we use the empty string to manipulate `filterOptions` to not filter any options\n // i.e. the filter predicate always returns true\n {\n inputValue: inputValueIsSelectedValue && inputPristine ? '' : inputValue,\n getOptionLabel\n }) : [];\n const previousProps = usePreviousProps({\n filteredOptions,\n value,\n inputValue\n });\n React.useEffect(() => {\n const valueChange = value !== previousProps.value;\n if (focused && !valueChange) {\n return;\n }\n\n // Only reset the input's value when freeSolo if the component's value changes.\n if (freeSolo && !valueChange) {\n return;\n }\n resetInputValue(null, value);\n }, [value, resetInputValue, focused, previousProps.value, freeSolo]);\n const listboxAvailable = open && filteredOptions.length > 0 && !readOnly;\n if (process.env.NODE_ENV !== 'production') {\n if (value !== null && !freeSolo && options.length > 0) {\n const missingValue = (multiple ? value : [value]).filter(value2 => !options.some(option => isOptionEqualToValue(option, value2)));\n if (missingValue.length > 0) {\n console.warn([`MUI: The value provided to ${componentName} is invalid.`, `None of the options match with \\`${missingValue.length > 1 ? JSON.stringify(missingValue) : JSON.stringify(missingValue[0])}\\`.`, 'You can use the `isOptionEqualToValue` prop to customize the equality test.'].join('\\n'));\n }\n }\n }\n const focusTag = useEventCallback(tagToFocus => {\n if (tagToFocus === -1) {\n inputRef.current.focus();\n } else {\n anchorEl.querySelector(`[data-tag-index=\"${tagToFocus}\"]`).focus();\n }\n });\n\n // Ensure the focusedTag is never inconsistent\n React.useEffect(() => {\n if (multiple && focusedTag > value.length - 1) {\n setFocusedTag(-1);\n focusTag(-1);\n }\n }, [value, multiple, focusedTag, focusTag]);\n function validOptionIndex(index, direction) {\n if (!listboxRef.current || index < 0 || index >= filteredOptions.length) {\n return -1;\n }\n let nextFocus = index;\n while (true) {\n const option = listboxRef.current.querySelector(`[data-option-index=\"${nextFocus}\"]`);\n\n // Same logic as MenuList.js\n const nextFocusDisabled = disabledItemsFocusable ? false : !option || option.disabled || option.getAttribute('aria-disabled') === 'true';\n if (option && option.hasAttribute('tabindex') && !nextFocusDisabled) {\n // The next option is available\n return nextFocus;\n }\n\n // The next option is disabled, move to the next element.\n // with looped index\n if (direction === 'next') {\n nextFocus = (nextFocus + 1) % filteredOptions.length;\n } else {\n nextFocus = (nextFocus - 1 + filteredOptions.length) % filteredOptions.length;\n }\n\n // We end up with initial index, that means we don't have available options.\n // All of them are disabled\n if (nextFocus === index) {\n return -1;\n }\n }\n }\n const setHighlightedIndex = useEventCallback(({\n event,\n index,\n reason = 'auto'\n }) => {\n highlightedIndexRef.current = index;\n\n // does the index exist?\n if (index === -1) {\n inputRef.current.removeAttribute('aria-activedescendant');\n } else {\n inputRef.current.setAttribute('aria-activedescendant', `${id}-option-${index}`);\n }\n if (onHighlightChange) {\n onHighlightChange(event, index === -1 ? null : filteredOptions[index], reason);\n }\n if (!listboxRef.current) {\n return;\n }\n const prev = listboxRef.current.querySelector(`[role=\"option\"].${unstable_classNamePrefix}-focused`);\n if (prev) {\n prev.classList.remove(`${unstable_classNamePrefix}-focused`);\n prev.classList.remove(`${unstable_classNamePrefix}-focusVisible`);\n }\n let listboxNode = listboxRef.current;\n if (listboxRef.current.getAttribute('role') !== 'listbox') {\n listboxNode = listboxRef.current.parentElement.querySelector('[role=\"listbox\"]');\n }\n\n // \"No results\"\n if (!listboxNode) {\n return;\n }\n if (index === -1) {\n listboxNode.scrollTop = 0;\n return;\n }\n const option = listboxRef.current.querySelector(`[data-option-index=\"${index}\"]`);\n if (!option) {\n return;\n }\n option.classList.add(`${unstable_classNamePrefix}-focused`);\n if (reason === 'keyboard') {\n option.classList.add(`${unstable_classNamePrefix}-focusVisible`);\n }\n\n // Scroll active descendant into view.\n // Logic copied from https://www.w3.org/WAI/content-assets/wai-aria-practices/patterns/combobox/examples/js/select-only.js\n // In case of mouse clicks and touch (in mobile devices) we avoid scrolling the element and keep both behaviors same.\n // Consider this API instead once it has a better browser support:\n // .scrollIntoView({ scrollMode: 'if-needed', block: 'nearest' });\n if (listboxNode.scrollHeight > listboxNode.clientHeight && reason !== 'mouse' && reason !== 'touch') {\n const element = option;\n const scrollBottom = listboxNode.clientHeight + listboxNode.scrollTop;\n const elementBottom = element.offsetTop + element.offsetHeight;\n if (elementBottom > scrollBottom) {\n listboxNode.scrollTop = elementBottom - listboxNode.clientHeight;\n } else if (element.offsetTop - element.offsetHeight * (groupBy ? 1.3 : 0) < listboxNode.scrollTop) {\n listboxNode.scrollTop = element.offsetTop - element.offsetHeight * (groupBy ? 1.3 : 0);\n }\n }\n });\n const changeHighlightedIndex = useEventCallback(({\n event,\n diff,\n direction = 'next',\n reason = 'auto'\n }) => {\n if (!popupOpen) {\n return;\n }\n const getNextIndex = () => {\n const maxIndex = filteredOptions.length - 1;\n if (diff === 'reset') {\n return defaultHighlighted;\n }\n if (diff === 'start') {\n return 0;\n }\n if (diff === 'end') {\n return maxIndex;\n }\n const newIndex = highlightedIndexRef.current + diff;\n if (newIndex < 0) {\n if (newIndex === -1 && includeInputInList) {\n return -1;\n }\n if (disableListWrap && highlightedIndexRef.current !== -1 || Math.abs(diff) > 1) {\n return 0;\n }\n return maxIndex;\n }\n if (newIndex > maxIndex) {\n if (newIndex === maxIndex + 1 && includeInputInList) {\n return -1;\n }\n if (disableListWrap || Math.abs(diff) > 1) {\n return maxIndex;\n }\n return 0;\n }\n return newIndex;\n };\n const nextIndex = validOptionIndex(getNextIndex(), direction);\n setHighlightedIndex({\n index: nextIndex,\n reason,\n event\n });\n\n // Sync the content of the input with the highlighted option.\n if (autoComplete && diff !== 'reset') {\n if (nextIndex === -1) {\n inputRef.current.value = inputValue;\n } else {\n const option = getOptionLabel(filteredOptions[nextIndex]);\n inputRef.current.value = option;\n\n // The portion of the selected suggestion that has not been typed by the user,\n // a completion string, appears inline after the input cursor in the textbox.\n const index = option.toLowerCase().indexOf(inputValue.toLowerCase());\n if (index === 0 && inputValue.length > 0) {\n inputRef.current.setSelectionRange(inputValue.length, option.length);\n }\n }\n }\n });\n const getPreviousHighlightedOptionIndex = () => {\n const isSameValue = (value1, value2) => {\n const label1 = value1 ? getOptionLabel(value1) : '';\n const label2 = value2 ? getOptionLabel(value2) : '';\n return label1 === label2;\n };\n if (highlightedIndexRef.current !== -1 && previousProps.filteredOptions && previousProps.filteredOptions.length !== filteredOptions.length && previousProps.inputValue === inputValue && (multiple ? value.length === previousProps.value.length && previousProps.value.every((val, i) => getOptionLabel(value[i]) === getOptionLabel(val)) : isSameValue(previousProps.value, value))) {\n const previousHighlightedOption = previousProps.filteredOptions[highlightedIndexRef.current];\n if (previousHighlightedOption) {\n return findIndex(filteredOptions, option => {\n return getOptionLabel(option) === getOptionLabel(previousHighlightedOption);\n });\n }\n }\n return -1;\n };\n const syncHighlightedIndex = React.useCallback(() => {\n if (!popupOpen) {\n return;\n }\n\n // Check if the previously highlighted option still exists in the updated filtered options list and if the value and inputValue haven't changed\n // If it exists and the value and the inputValue haven't changed, just update its index, otherwise continue execution\n const previousHighlightedOptionIndex = getPreviousHighlightedOptionIndex();\n if (previousHighlightedOptionIndex !== -1) {\n highlightedIndexRef.current = previousHighlightedOptionIndex;\n return;\n }\n const valueItem = multiple ? value[0] : value;\n\n // The popup is empty, reset\n if (filteredOptions.length === 0 || valueItem == null) {\n changeHighlightedIndex({\n diff: 'reset'\n });\n return;\n }\n if (!listboxRef.current) {\n return;\n }\n\n // Synchronize the value with the highlighted index\n if (valueItem != null) {\n const currentOption = filteredOptions[highlightedIndexRef.current];\n\n // Keep the current highlighted index if possible\n if (multiple && currentOption && findIndex(value, val => isOptionEqualToValue(currentOption, val)) !== -1) {\n return;\n }\n const itemIndex = findIndex(filteredOptions, optionItem => isOptionEqualToValue(optionItem, valueItem));\n if (itemIndex === -1) {\n changeHighlightedIndex({\n diff: 'reset'\n });\n } else {\n setHighlightedIndex({\n index: itemIndex\n });\n }\n return;\n }\n\n // Prevent the highlighted index to leak outside the boundaries.\n if (highlightedIndexRef.current >= filteredOptions.length - 1) {\n setHighlightedIndex({\n index: filteredOptions.length - 1\n });\n return;\n }\n\n // Restore the focus to the previous index.\n setHighlightedIndex({\n index: highlightedIndexRef.current\n });\n // Ignore filteredOptions (and options, isOptionEqualToValue, getOptionLabel) not to break the scroll position\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n // Only sync the highlighted index when the option switch between empty and not\n filteredOptions.length,\n // Don't sync the highlighted index with the value when multiple\n // eslint-disable-next-line react-hooks/exhaustive-deps\n multiple ? false : value, filterSelectedOptions, changeHighlightedIndex, setHighlightedIndex, popupOpen, inputValue, multiple]);\n const handleListboxRef = useEventCallback(node => {\n setRef(listboxRef, node);\n if (!node) {\n return;\n }\n syncHighlightedIndex();\n });\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useEffect(() => {\n if (!inputRef.current || inputRef.current.nodeName !== 'INPUT') {\n if (inputRef.current && inputRef.current.nodeName === 'TEXTAREA') {\n console.warn([`A textarea element was provided to ${componentName} where input was expected.`, `This is not a supported scenario but it may work under certain conditions.`, `A textarea keyboard navigation may conflict with Autocomplete controls (for example enter and arrow keys).`, `Make sure to test keyboard navigation and add custom event handlers if necessary.`].join('\\n'));\n } else {\n console.error([`MUI: Unable to find the input element. It was resolved to ${inputRef.current} while an HTMLInputElement was expected.`, `Instead, ${componentName} expects an input element.`, '', componentName === 'useAutocomplete' ? 'Make sure you have bound getInputProps correctly and that the normal ref/effect resolutions order is guaranteed.' : 'Make sure you have customized the input component correctly.'].join('\\n'));\n }\n }\n }, [componentName]);\n }\n React.useEffect(() => {\n syncHighlightedIndex();\n }, [syncHighlightedIndex]);\n const handleOpen = event => {\n if (open) {\n return;\n }\n setOpenState(true);\n setInputPristine(true);\n if (onOpen) {\n onOpen(event);\n }\n };\n const handleClose = (event, reason) => {\n if (!open) {\n return;\n }\n setOpenState(false);\n if (onClose) {\n onClose(event, reason);\n }\n };\n const handleValue = (event, newValue, reason, details) => {\n if (multiple) {\n if (value.length === newValue.length && value.every((val, i) => val === newValue[i])) {\n return;\n }\n } else if (value === newValue) {\n return;\n }\n if (onChange) {\n onChange(event, newValue, reason, details);\n }\n setValueState(newValue);\n };\n const isTouch = React.useRef(false);\n const selectNewValue = (event, option, reasonProp = 'selectOption', origin = 'options') => {\n let reason = reasonProp;\n let newValue = option;\n if (multiple) {\n newValue = Array.isArray(value) ? value.slice() : [];\n if (process.env.NODE_ENV !== 'production') {\n const matches = newValue.filter(val => isOptionEqualToValue(option, val));\n if (matches.length > 1) {\n console.error([`MUI: The \\`isOptionEqualToValue\\` method of ${componentName} does not handle the arguments correctly.`, `The component expects a single value to match a given option but found ${matches.length} matches.`].join('\\n'));\n }\n }\n const itemIndex = findIndex(newValue, valueItem => isOptionEqualToValue(option, valueItem));\n if (itemIndex === -1) {\n newValue.push(option);\n } else if (origin !== 'freeSolo') {\n newValue.splice(itemIndex, 1);\n reason = 'removeOption';\n }\n }\n resetInputValue(event, newValue);\n handleValue(event, newValue, reason, {\n option\n });\n if (!disableCloseOnSelect && (!event || !event.ctrlKey && !event.metaKey)) {\n handleClose(event, reason);\n }\n if (blurOnSelect === true || blurOnSelect === 'touch' && isTouch.current || blurOnSelect === 'mouse' && !isTouch.current) {\n inputRef.current.blur();\n }\n };\n function validTagIndex(index, direction) {\n if (index === -1) {\n return -1;\n }\n let nextFocus = index;\n while (true) {\n // Out of range\n if (direction === 'next' && nextFocus === value.length || direction === 'previous' && nextFocus === -1) {\n return -1;\n }\n const option = anchorEl.querySelector(`[data-tag-index=\"${nextFocus}\"]`);\n\n // Same logic as MenuList.js\n if (!option || !option.hasAttribute('tabindex') || option.disabled || option.getAttribute('aria-disabled') === 'true') {\n nextFocus += direction === 'next' ? 1 : -1;\n } else {\n return nextFocus;\n }\n }\n }\n const handleFocusTag = (event, direction) => {\n if (!multiple) {\n return;\n }\n if (inputValue === '') {\n handleClose(event, 'toggleInput');\n }\n let nextTag = focusedTag;\n if (focusedTag === -1) {\n if (inputValue === '' && direction === 'previous') {\n nextTag = value.length - 1;\n }\n } else {\n nextTag += direction === 'next' ? 1 : -1;\n if (nextTag < 0) {\n nextTag = 0;\n }\n if (nextTag === value.length) {\n nextTag = -1;\n }\n }\n nextTag = validTagIndex(nextTag, direction);\n setFocusedTag(nextTag);\n focusTag(nextTag);\n };\n const handleClear = event => {\n ignoreFocus.current = true;\n setInputValueState('');\n if (onInputChange) {\n onInputChange(event, '', 'clear');\n }\n handleValue(event, multiple ? [] : null, 'clear');\n };\n const handleKeyDown = other => event => {\n if (other.onKeyDown) {\n other.onKeyDown(event);\n }\n if (event.defaultMuiPrevented) {\n return;\n }\n if (focusedTag !== -1 && ['ArrowLeft', 'ArrowRight'].indexOf(event.key) === -1) {\n setFocusedTag(-1);\n focusTag(-1);\n }\n\n // Wait until IME is settled.\n if (event.which !== 229) {\n switch (event.key) {\n case 'Home':\n if (popupOpen && handleHomeEndKeys) {\n // Prevent scroll of the page\n event.preventDefault();\n changeHighlightedIndex({\n diff: 'start',\n direction: 'next',\n reason: 'keyboard',\n event\n });\n }\n break;\n case 'End':\n if (popupOpen && handleHomeEndKeys) {\n // Prevent scroll of the page\n event.preventDefault();\n changeHighlightedIndex({\n diff: 'end',\n direction: 'previous',\n reason: 'keyboard',\n event\n });\n }\n break;\n case 'PageUp':\n // Prevent scroll of the page\n event.preventDefault();\n changeHighlightedIndex({\n diff: -pageSize,\n direction: 'previous',\n reason: 'keyboard',\n event\n });\n handleOpen(event);\n break;\n case 'PageDown':\n // Prevent scroll of the page\n event.preventDefault();\n changeHighlightedIndex({\n diff: pageSize,\n direction: 'next',\n reason: 'keyboard',\n event\n });\n handleOpen(event);\n break;\n case 'ArrowDown':\n // Prevent cursor move\n event.preventDefault();\n changeHighlightedIndex({\n diff: 1,\n direction: 'next',\n reason: 'keyboard',\n event\n });\n handleOpen(event);\n break;\n case 'ArrowUp':\n // Prevent cursor move\n event.preventDefault();\n changeHighlightedIndex({\n diff: -1,\n direction: 'previous',\n reason: 'keyboard',\n event\n });\n handleOpen(event);\n break;\n case 'ArrowLeft':\n handleFocusTag(event, 'previous');\n break;\n case 'ArrowRight':\n handleFocusTag(event, 'next');\n break;\n case 'Enter':\n if (highlightedIndexRef.current !== -1 && popupOpen) {\n const option = filteredOptions[highlightedIndexRef.current];\n const disabled = getOptionDisabled ? getOptionDisabled(option) : false;\n\n // Avoid early form validation, let the end-users continue filling the form.\n event.preventDefault();\n if (disabled) {\n return;\n }\n selectNewValue(event, option, 'selectOption');\n\n // Move the selection to the end.\n if (autoComplete) {\n inputRef.current.setSelectionRange(inputRef.current.value.length, inputRef.current.value.length);\n }\n } else if (freeSolo && inputValue !== '' && inputValueIsSelectedValue === false) {\n if (multiple) {\n // Allow people to add new values before they submit the form.\n event.preventDefault();\n }\n selectNewValue(event, inputValue, 'createOption', 'freeSolo');\n }\n break;\n case 'Escape':\n if (popupOpen) {\n // Avoid Opera to exit fullscreen mode.\n event.preventDefault();\n // Avoid the Modal to handle the event.\n event.stopPropagation();\n handleClose(event, 'escape');\n } else if (clearOnEscape && (inputValue !== '' || multiple && value.length > 0)) {\n // Avoid Opera to exit fullscreen mode.\n event.preventDefault();\n // Avoid the Modal to handle the event.\n event.stopPropagation();\n handleClear(event);\n }\n break;\n case 'Backspace':\n // Remove the value on the left of the \"cursor\"\n if (multiple && !readOnly && inputValue === '' && value.length > 0) {\n const index = focusedTag === -1 ? value.length - 1 : focusedTag;\n const newValue = value.slice();\n newValue.splice(index, 1);\n handleValue(event, newValue, 'removeOption', {\n option: value[index]\n });\n }\n break;\n case 'Delete':\n // Remove the value on the right of the \"cursor\"\n if (multiple && !readOnly && inputValue === '' && value.length > 0 && focusedTag !== -1) {\n const index = focusedTag;\n const newValue = value.slice();\n newValue.splice(index, 1);\n handleValue(event, newValue, 'removeOption', {\n option: value[index]\n });\n }\n break;\n default:\n }\n }\n };\n const handleFocus = event => {\n setFocused(true);\n if (openOnFocus && !ignoreFocus.current) {\n handleOpen(event);\n }\n };\n const handleBlur = event => {\n // Ignore the event when using the scrollbar with IE11\n if (unstable_isActiveElementInListbox(listboxRef)) {\n inputRef.current.focus();\n return;\n }\n setFocused(false);\n firstFocus.current = true;\n ignoreFocus.current = false;\n if (autoSelect && highlightedIndexRef.current !== -1 && popupOpen) {\n selectNewValue(event, filteredOptions[highlightedIndexRef.current], 'blur');\n } else if (autoSelect && freeSolo && inputValue !== '') {\n selectNewValue(event, inputValue, 'blur', 'freeSolo');\n } else if (clearOnBlur) {\n resetInputValue(event, value);\n }\n handleClose(event, 'blur');\n };\n const handleInputChange = event => {\n const newValue = event.target.value;\n if (inputValue !== newValue) {\n setInputValueState(newValue);\n setInputPristine(false);\n if (onInputChange) {\n onInputChange(event, newValue, 'input');\n }\n }\n if (newValue === '') {\n if (!disableClearable && !multiple) {\n handleValue(event, null, 'clear');\n }\n } else {\n handleOpen(event);\n }\n };\n const handleOptionMouseMove = event => {\n const index = Number(event.currentTarget.getAttribute('data-option-index'));\n if (highlightedIndexRef.current !== index) {\n setHighlightedIndex({\n event,\n index,\n reason: 'mouse'\n });\n }\n };\n const handleOptionTouchStart = event => {\n setHighlightedIndex({\n event,\n index: Number(event.currentTarget.getAttribute('data-option-index')),\n reason: 'touch'\n });\n isTouch.current = true;\n };\n const handleOptionClick = event => {\n const index = Number(event.currentTarget.getAttribute('data-option-index'));\n selectNewValue(event, filteredOptions[index], 'selectOption');\n isTouch.current = false;\n };\n const handleTagDelete = index => event => {\n const newValue = value.slice();\n newValue.splice(index, 1);\n handleValue(event, newValue, 'removeOption', {\n option: value[index]\n });\n };\n const handlePopupIndicator = event => {\n if (open) {\n handleClose(event, 'toggleInput');\n } else {\n handleOpen(event);\n }\n };\n\n // Prevent input blur when interacting with the combobox\n const handleMouseDown = event => {\n // Prevent focusing the input if click is anywhere outside the Autocomplete\n if (!event.currentTarget.contains(event.target)) {\n return;\n }\n if (event.target.getAttribute('id') !== id) {\n event.preventDefault();\n }\n };\n\n // Focus the input when interacting with the combobox\n const handleClick = event => {\n // Prevent focusing the input if click is anywhere outside the Autocomplete\n if (!event.currentTarget.contains(event.target)) {\n return;\n }\n inputRef.current.focus();\n if (selectOnFocus && firstFocus.current && inputRef.current.selectionEnd - inputRef.current.selectionStart === 0) {\n inputRef.current.select();\n }\n firstFocus.current = false;\n };\n const handleInputMouseDown = event => {\n if (!disabledProp && (inputValue === '' || !open)) {\n handlePopupIndicator(event);\n }\n };\n let dirty = freeSolo && inputValue.length > 0;\n dirty = dirty || (multiple ? value.length > 0 : value !== null);\n let groupedOptions = filteredOptions;\n if (groupBy) {\n // used to keep track of key and indexes in the result array\n const indexBy = new Map();\n let warn = false;\n groupedOptions = filteredOptions.reduce((acc, option, index) => {\n const group = groupBy(option);\n if (acc.length > 0 && acc[acc.length - 1].group === group) {\n acc[acc.length - 1].options.push(option);\n } else {\n if (process.env.NODE_ENV !== 'production') {\n if (indexBy.get(group) && !warn) {\n console.warn(`MUI: The options provided combined with the \\`groupBy\\` method of ${componentName} returns duplicated headers.`, 'You can solve the issue by sorting the options with the output of `groupBy`.');\n warn = true;\n }\n indexBy.set(group, true);\n }\n acc.push({\n key: index,\n index,\n group,\n options: [option]\n });\n }\n return acc;\n }, []);\n }\n if (disabledProp && focused) {\n handleBlur();\n }\n return {\n getRootProps: (other = {}) => _extends({\n 'aria-owns': listboxAvailable ? `${id}-listbox` : null\n }, other, {\n onKeyDown: handleKeyDown(other),\n onMouseDown: handleMouseDown,\n onClick: handleClick\n }),\n getInputLabelProps: () => ({\n id: `${id}-label`,\n htmlFor: id\n }),\n getInputProps: () => ({\n id,\n value: inputValue,\n onBlur: handleBlur,\n onFocus: handleFocus,\n onChange: handleInputChange,\n onMouseDown: handleInputMouseDown,\n // if open then this is handled imperatively so don't let react override\n // only have an opinion about this when closed\n 'aria-activedescendant': popupOpen ? '' : null,\n 'aria-autocomplete': autoComplete ? 'both' : 'list',\n 'aria-controls': listboxAvailable ? `${id}-listbox` : undefined,\n 'aria-expanded': listboxAvailable,\n // Disable browser's suggestion that might overlap with the popup.\n // Handle autocomplete but not autofill.\n autoComplete: 'off',\n ref: inputRef,\n autoCapitalize: 'none',\n spellCheck: 'false',\n role: 'combobox',\n disabled: disabledProp\n }),\n getClearProps: () => ({\n tabIndex: -1,\n type: 'button',\n onClick: handleClear\n }),\n getPopupIndicatorProps: () => ({\n tabIndex: -1,\n type: 'button',\n onClick: handlePopupIndicator\n }),\n getTagProps: ({\n index\n }) => _extends({\n key: index,\n 'data-tag-index': index,\n tabIndex: -1\n }, !readOnly && {\n onDelete: handleTagDelete(index)\n }),\n getListboxProps: () => ({\n role: 'listbox',\n id: `${id}-listbox`,\n 'aria-labelledby': `${id}-label`,\n ref: handleListboxRef,\n onMouseDown: event => {\n // Prevent blur\n event.preventDefault();\n }\n }),\n getOptionProps: ({\n index,\n option\n }) => {\n var _getOptionKey;\n const selected = (multiple ? value : [value]).some(value2 => value2 != null && isOptionEqualToValue(option, value2));\n const disabled = getOptionDisabled ? getOptionDisabled(option) : false;\n return {\n key: (_getOptionKey = getOptionKey == null ? void 0 : getOptionKey(option)) != null ? _getOptionKey : getOptionLabel(option),\n tabIndex: -1,\n role: 'option',\n id: `${id}-option-${index}`,\n onMouseMove: handleOptionMouseMove,\n onClick: handleOptionClick,\n onTouchStart: handleOptionTouchStart,\n 'data-option-index': index,\n 'aria-disabled': disabled,\n 'aria-selected': selected\n };\n },\n id,\n inputValue,\n value,\n dirty,\n expanded: popupOpen && anchorEl,\n popupOpen,\n focused: focused || focusedTag !== -1,\n anchorEl,\n setAnchorEl,\n focusedTag,\n groupedOptions\n };\n}","\"use strict\";\n'use client';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _styledEngine = require(\"@mui/styled-engine\");\nfunction _getRequireWildcardCache(e) { if (\"function\" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }\nfunction _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || \"object\" != typeof e && \"function\" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if (\"default\" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }\nfunction isObjectEmpty(obj) {\n return Object.keys(obj).length === 0;\n}\nfunction useTheme(defaultTheme = null) {\n const contextTheme = React.useContext(_styledEngine.ThemeContext);\n return !contextTheme || isObjectEmpty(contextTheme) ? defaultTheme : contextTheme;\n}\nvar _default = exports.default = useTheme;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"anchorEl\", \"component\", \"components\", \"componentsProps\", \"container\", \"disablePortal\", \"keepMounted\", \"modifiers\", \"open\", \"placement\", \"popperOptions\", \"popperRef\", \"transition\", \"slots\", \"slotProps\"];\nimport { Popper as BasePopper } from '@mui/base/Popper';\nimport useTheme from '@mui/system/useThemeWithoutDefault';\nimport refType from '@mui/utils/refType';\nimport HTMLElementType from '@mui/utils/HTMLElementType';\nimport PropTypes from 'prop-types';\nimport * as React from 'react';\nimport { styled, useThemeProps } from '../styles';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst PopperRoot = styled(BasePopper, {\n name: 'MuiPopper',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({});\n\n/**\n *\n * Demos:\n *\n * - [Autocomplete](https://mui.com/material-ui/react-autocomplete/)\n * - [Menu](https://mui.com/material-ui/react-menu/)\n * - [Popper](https://mui.com/material-ui/react-popper/)\n *\n * API:\n *\n * - [Popper API](https://mui.com/material-ui/api/popper/)\n */\nconst Popper = /*#__PURE__*/React.forwardRef(function Popper(inProps, ref) {\n var _slots$root;\n const theme = useTheme();\n const props = useThemeProps({\n props: inProps,\n name: 'MuiPopper'\n });\n const {\n anchorEl,\n component,\n components,\n componentsProps,\n container,\n disablePortal,\n keepMounted,\n modifiers,\n open,\n placement,\n popperOptions,\n popperRef,\n transition,\n slots,\n slotProps\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const RootComponent = (_slots$root = slots == null ? void 0 : slots.root) != null ? _slots$root : components == null ? void 0 : components.Root;\n const otherProps = _extends({\n anchorEl,\n container,\n disablePortal,\n keepMounted,\n modifiers,\n open,\n placement,\n popperOptions,\n popperRef,\n transition\n }, other);\n return /*#__PURE__*/_jsx(PopperRoot, _extends({\n as: component,\n direction: theme == null ? void 0 : theme.direction,\n slots: {\n root: RootComponent\n },\n slotProps: slotProps != null ? slotProps : componentsProps\n }, otherProps, {\n ref: ref\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Popper.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * An HTML element, [virtualElement](https://popper.js.org/docs/v2/virtual-elements/),\n * or a function that returns either.\n * It's used to set the position of the popper.\n * The return value will passed as the reference object of the Popper instance.\n */\n anchorEl: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([HTMLElementType, PropTypes.object, PropTypes.func]),\n /**\n * Popper render function or node.\n */\n children: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.node, PropTypes.func]),\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * The components used for each slot inside the Popper.\n * Either a string to use a HTML element or a component.\n * @default {}\n */\n components: PropTypes.shape({\n Root: PropTypes.elementType\n }),\n /**\n * The props used for each slot inside the Popper.\n * @default {}\n */\n componentsProps: PropTypes.shape({\n root: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * An HTML element or function that returns one.\n * The `container` will have the portal children appended to it.\n *\n * You can also provide a callback, which is called in a React layout effect.\n * This lets you set the container from a ref, and also makes server-side rendering possible.\n *\n * By default, it uses the body of the top-level document object,\n * so it's simply `document.body` most of the time.\n */\n container: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([HTMLElementType, PropTypes.func]),\n /**\n * The `children` will be under the DOM hierarchy of the parent component.\n * @default false\n */\n disablePortal: PropTypes.bool,\n /**\n * Always keep the children in the DOM.\n * This prop can be useful in SEO situation or\n * when you want to maximize the responsiveness of the Popper.\n * @default false\n */\n keepMounted: PropTypes.bool,\n /**\n * Popper.js is based on a \"plugin-like\" architecture,\n * most of its features are fully encapsulated \"modifiers\".\n *\n * A modifier is a function that is called each time Popper.js needs to\n * compute the position of the popper.\n * For this reason, modifiers should be very performant to avoid bottlenecks.\n * To learn how to create a modifier, [read the modifiers documentation](https://popper.js.org/docs/v2/modifiers/).\n */\n modifiers: PropTypes.arrayOf(PropTypes.shape({\n data: PropTypes.object,\n effect: PropTypes.func,\n enabled: PropTypes.bool,\n fn: PropTypes.func,\n name: PropTypes.any,\n options: PropTypes.object,\n phase: PropTypes.oneOf(['afterMain', 'afterRead', 'afterWrite', 'beforeMain', 'beforeRead', 'beforeWrite', 'main', 'read', 'write']),\n requires: PropTypes.arrayOf(PropTypes.string),\n requiresIfExists: PropTypes.arrayOf(PropTypes.string)\n })),\n /**\n * If `true`, the component is shown.\n */\n open: PropTypes.bool.isRequired,\n /**\n * Popper placement.\n * @default 'bottom'\n */\n placement: PropTypes.oneOf(['auto-end', 'auto-start', 'auto', 'bottom-end', 'bottom-start', 'bottom', 'left-end', 'left-start', 'left', 'right-end', 'right-start', 'right', 'top-end', 'top-start', 'top']),\n /**\n * Options provided to the [`Popper.js`](https://popper.js.org/docs/v2/constructors/#options) instance.\n * @default {}\n */\n popperOptions: PropTypes.shape({\n modifiers: PropTypes.array,\n onFirstUpdate: PropTypes.func,\n placement: PropTypes.oneOf(['auto-end', 'auto-start', 'auto', 'bottom-end', 'bottom-start', 'bottom', 'left-end', 'left-start', 'left', 'right-end', 'right-start', 'right', 'top-end', 'top-start', 'top']),\n strategy: PropTypes.oneOf(['absolute', 'fixed'])\n }),\n /**\n * A ref that points to the used popper instance.\n */\n popperRef: refType,\n /**\n * The props used for each slot inside the Popper.\n * @default {}\n */\n slotProps: PropTypes.shape({\n root: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside the Popper.\n * Either a string to use a HTML element or a component.\n * @default {}\n */\n slots: PropTypes.shape({\n root: PropTypes.elementType\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * Help supporting a react-transition-group/Transition component.\n * @default false\n */\n transition: PropTypes.bool\n} : void 0;\nexport default Popper;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getListSubheaderUtilityClass(slot) {\n return generateUtilityClass('MuiListSubheader', slot);\n}\nconst listSubheaderClasses = generateUtilityClasses('MuiListSubheader', ['root', 'colorPrimary', 'colorInherit', 'gutters', 'inset', 'sticky']);\nexport default listSubheaderClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"color\", \"component\", \"disableGutters\", \"disableSticky\", \"inset\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport capitalize from '../utils/capitalize';\nimport { getListSubheaderUtilityClass } from './listSubheaderClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n color,\n disableGutters,\n inset,\n disableSticky\n } = ownerState;\n const slots = {\n root: ['root', color !== 'default' && `color${capitalize(color)}`, !disableGutters && 'gutters', inset && 'inset', !disableSticky && 'sticky']\n };\n return composeClasses(slots, getListSubheaderUtilityClass, classes);\n};\nconst ListSubheaderRoot = styled('li', {\n name: 'MuiListSubheader',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.color !== 'default' && styles[`color${capitalize(ownerState.color)}`], !ownerState.disableGutters && styles.gutters, ownerState.inset && styles.inset, !ownerState.disableSticky && styles.sticky];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n boxSizing: 'border-box',\n lineHeight: '48px',\n listStyle: 'none',\n color: (theme.vars || theme).palette.text.secondary,\n fontFamily: theme.typography.fontFamily,\n fontWeight: theme.typography.fontWeightMedium,\n fontSize: theme.typography.pxToRem(14)\n}, ownerState.color === 'primary' && {\n color: (theme.vars || theme).palette.primary.main\n}, ownerState.color === 'inherit' && {\n color: 'inherit'\n}, !ownerState.disableGutters && {\n paddingLeft: 16,\n paddingRight: 16\n}, ownerState.inset && {\n paddingLeft: 72\n}, !ownerState.disableSticky && {\n position: 'sticky',\n top: 0,\n zIndex: 1,\n backgroundColor: (theme.vars || theme).palette.background.paper\n}));\nconst ListSubheader = /*#__PURE__*/React.forwardRef(function ListSubheader(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiListSubheader'\n });\n const {\n className,\n color = 'default',\n component = 'li',\n disableGutters = false,\n disableSticky = false,\n inset = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n color,\n component,\n disableGutters,\n disableSticky,\n inset\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(ListSubheaderRoot, _extends({\n as: component,\n className: clsx(classes.root, className),\n ref: ref,\n ownerState: ownerState\n }, other));\n});\nListSubheader.muiSkipListHighlight = true;\nprocess.env.NODE_ENV !== \"production\" ? ListSubheader.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n * @default 'default'\n */\n color: PropTypes.oneOf(['default', 'inherit', 'primary']),\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * If `true`, the List Subheader will not have gutters.\n * @default false\n */\n disableGutters: PropTypes.bool,\n /**\n * If `true`, the List Subheader will not stick to the top during scroll.\n * @default false\n */\n disableSticky: PropTypes.bool,\n /**\n * If `true`, the List Subheader is indented.\n * @default false\n */\n inset: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default ListSubheader;","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z\"\n}), 'Cancel');","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getChipUtilityClass(slot) {\n return generateUtilityClass('MuiChip', slot);\n}\nconst chipClasses = generateUtilityClasses('MuiChip', ['root', 'sizeSmall', 'sizeMedium', 'colorError', 'colorInfo', 'colorPrimary', 'colorSecondary', 'colorSuccess', 'colorWarning', 'disabled', 'clickable', 'clickableColorPrimary', 'clickableColorSecondary', 'deletable', 'deletableColorPrimary', 'deletableColorSecondary', 'outlined', 'filled', 'outlinedPrimary', 'outlinedSecondary', 'filledPrimary', 'filledSecondary', 'avatar', 'avatarSmall', 'avatarMedium', 'avatarColorPrimary', 'avatarColorSecondary', 'icon', 'iconSmall', 'iconMedium', 'iconColorPrimary', 'iconColorSecondary', 'label', 'labelSmall', 'labelMedium', 'deleteIcon', 'deleteIconSmall', 'deleteIconMedium', 'deleteIconColorPrimary', 'deleteIconColorSecondary', 'deleteIconOutlinedColorPrimary', 'deleteIconOutlinedColorSecondary', 'deleteIconFilledColorPrimary', 'deleteIconFilledColorSecondary', 'focusVisible']);\nexport default chipClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"avatar\", \"className\", \"clickable\", \"color\", \"component\", \"deleteIcon\", \"disabled\", \"icon\", \"label\", \"onClick\", \"onDelete\", \"onKeyDown\", \"onKeyUp\", \"size\", \"variant\", \"tabIndex\", \"skipFocusWhenDisabled\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { alpha } from '@mui/system/colorManipulator';\nimport CancelIcon from '../internal/svg-icons/Cancel';\nimport useForkRef from '../utils/useForkRef';\nimport unsupportedProp from '../utils/unsupportedProp';\nimport capitalize from '../utils/capitalize';\nimport ButtonBase from '../ButtonBase';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport chipClasses, { getChipUtilityClass } from './chipClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disabled,\n size,\n color,\n iconColor,\n onDelete,\n clickable,\n variant\n } = ownerState;\n const slots = {\n root: ['root', variant, disabled && 'disabled', `size${capitalize(size)}`, `color${capitalize(color)}`, clickable && 'clickable', clickable && `clickableColor${capitalize(color)}`, onDelete && 'deletable', onDelete && `deletableColor${capitalize(color)}`, `${variant}${capitalize(color)}`],\n label: ['label', `label${capitalize(size)}`],\n avatar: ['avatar', `avatar${capitalize(size)}`, `avatarColor${capitalize(color)}`],\n icon: ['icon', `icon${capitalize(size)}`, `iconColor${capitalize(iconColor)}`],\n deleteIcon: ['deleteIcon', `deleteIcon${capitalize(size)}`, `deleteIconColor${capitalize(color)}`, `deleteIcon${capitalize(variant)}Color${capitalize(color)}`]\n };\n return composeClasses(slots, getChipUtilityClass, classes);\n};\nconst ChipRoot = styled('div', {\n name: 'MuiChip',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n const {\n color,\n iconColor,\n clickable,\n onDelete,\n size,\n variant\n } = ownerState;\n return [{\n [`& .${chipClasses.avatar}`]: styles.avatar\n }, {\n [`& .${chipClasses.avatar}`]: styles[`avatar${capitalize(size)}`]\n }, {\n [`& .${chipClasses.avatar}`]: styles[`avatarColor${capitalize(color)}`]\n }, {\n [`& .${chipClasses.icon}`]: styles.icon\n }, {\n [`& .${chipClasses.icon}`]: styles[`icon${capitalize(size)}`]\n }, {\n [`& .${chipClasses.icon}`]: styles[`iconColor${capitalize(iconColor)}`]\n }, {\n [`& .${chipClasses.deleteIcon}`]: styles.deleteIcon\n }, {\n [`& .${chipClasses.deleteIcon}`]: styles[`deleteIcon${capitalize(size)}`]\n }, {\n [`& .${chipClasses.deleteIcon}`]: styles[`deleteIconColor${capitalize(color)}`]\n }, {\n [`& .${chipClasses.deleteIcon}`]: styles[`deleteIcon${capitalize(variant)}Color${capitalize(color)}`]\n }, styles.root, styles[`size${capitalize(size)}`], styles[`color${capitalize(color)}`], clickable && styles.clickable, clickable && color !== 'default' && styles[`clickableColor${capitalize(color)})`], onDelete && styles.deletable, onDelete && color !== 'default' && styles[`deletableColor${capitalize(color)}`], styles[variant], styles[`${variant}${capitalize(color)}`]];\n }\n})(({\n theme,\n ownerState\n}) => {\n const textColor = theme.palette.mode === 'light' ? theme.palette.grey[700] : theme.palette.grey[300];\n return _extends({\n maxWidth: '100%',\n fontFamily: theme.typography.fontFamily,\n fontSize: theme.typography.pxToRem(13),\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n height: 32,\n color: (theme.vars || theme).palette.text.primary,\n backgroundColor: (theme.vars || theme).palette.action.selected,\n borderRadius: 32 / 2,\n whiteSpace: 'nowrap',\n transition: theme.transitions.create(['background-color', 'box-shadow']),\n // reset cursor explicitly in case ButtonBase is used\n cursor: 'unset',\n // We disable the focus ring for mouse, touch and keyboard users.\n outline: 0,\n textDecoration: 'none',\n border: 0,\n // Remove `button` border\n padding: 0,\n // Remove `button` padding\n verticalAlign: 'middle',\n boxSizing: 'border-box',\n [`&.${chipClasses.disabled}`]: {\n opacity: (theme.vars || theme).palette.action.disabledOpacity,\n pointerEvents: 'none'\n },\n [`& .${chipClasses.avatar}`]: {\n marginLeft: 5,\n marginRight: -6,\n width: 24,\n height: 24,\n color: theme.vars ? theme.vars.palette.Chip.defaultAvatarColor : textColor,\n fontSize: theme.typography.pxToRem(12)\n },\n [`& .${chipClasses.avatarColorPrimary}`]: {\n color: (theme.vars || theme).palette.primary.contrastText,\n backgroundColor: (theme.vars || theme).palette.primary.dark\n },\n [`& .${chipClasses.avatarColorSecondary}`]: {\n color: (theme.vars || theme).palette.secondary.contrastText,\n backgroundColor: (theme.vars || theme).palette.secondary.dark\n },\n [`& .${chipClasses.avatarSmall}`]: {\n marginLeft: 4,\n marginRight: -4,\n width: 18,\n height: 18,\n fontSize: theme.typography.pxToRem(10)\n },\n [`& .${chipClasses.icon}`]: _extends({\n marginLeft: 5,\n marginRight: -6\n }, ownerState.size === 'small' && {\n fontSize: 18,\n marginLeft: 4,\n marginRight: -4\n }, ownerState.iconColor === ownerState.color && _extends({\n color: theme.vars ? theme.vars.palette.Chip.defaultIconColor : textColor\n }, ownerState.color !== 'default' && {\n color: 'inherit'\n })),\n [`& .${chipClasses.deleteIcon}`]: _extends({\n WebkitTapHighlightColor: 'transparent',\n color: theme.vars ? `rgba(${theme.vars.palette.text.primaryChannel} / 0.26)` : alpha(theme.palette.text.primary, 0.26),\n fontSize: 22,\n cursor: 'pointer',\n margin: '0 5px 0 -6px',\n '&:hover': {\n color: theme.vars ? `rgba(${theme.vars.palette.text.primaryChannel} / 0.4)` : alpha(theme.palette.text.primary, 0.4)\n }\n }, ownerState.size === 'small' && {\n fontSize: 16,\n marginRight: 4,\n marginLeft: -4\n }, ownerState.color !== 'default' && {\n color: theme.vars ? `rgba(${theme.vars.palette[ownerState.color].contrastTextChannel} / 0.7)` : alpha(theme.palette[ownerState.color].contrastText, 0.7),\n '&:hover, &:active': {\n color: (theme.vars || theme).palette[ownerState.color].contrastText\n }\n })\n }, ownerState.size === 'small' && {\n height: 24\n }, ownerState.color !== 'default' && {\n backgroundColor: (theme.vars || theme).palette[ownerState.color].main,\n color: (theme.vars || theme).palette[ownerState.color].contrastText\n }, ownerState.onDelete && {\n [`&.${chipClasses.focusVisible}`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.action.selectedChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.focusOpacity}))` : alpha(theme.palette.action.selected, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)\n }\n }, ownerState.onDelete && ownerState.color !== 'default' && {\n [`&.${chipClasses.focusVisible}`]: {\n backgroundColor: (theme.vars || theme).palette[ownerState.color].dark\n }\n });\n}, ({\n theme,\n ownerState\n}) => _extends({}, ownerState.clickable && {\n userSelect: 'none',\n WebkitTapHighlightColor: 'transparent',\n cursor: 'pointer',\n '&:hover': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.action.selectedChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.hoverOpacity}))` : alpha(theme.palette.action.selected, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity)\n },\n [`&.${chipClasses.focusVisible}`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.action.selectedChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.focusOpacity}))` : alpha(theme.palette.action.selected, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)\n },\n '&:active': {\n boxShadow: (theme.vars || theme).shadows[1]\n }\n}, ownerState.clickable && ownerState.color !== 'default' && {\n [`&:hover, &.${chipClasses.focusVisible}`]: {\n backgroundColor: (theme.vars || theme).palette[ownerState.color].dark\n }\n}), ({\n theme,\n ownerState\n}) => _extends({}, ownerState.variant === 'outlined' && {\n backgroundColor: 'transparent',\n border: theme.vars ? `1px solid ${theme.vars.palette.Chip.defaultBorder}` : `1px solid ${theme.palette.mode === 'light' ? theme.palette.grey[400] : theme.palette.grey[700]}`,\n [`&.${chipClasses.clickable}:hover`]: {\n backgroundColor: (theme.vars || theme).palette.action.hover\n },\n [`&.${chipClasses.focusVisible}`]: {\n backgroundColor: (theme.vars || theme).palette.action.focus\n },\n [`& .${chipClasses.avatar}`]: {\n marginLeft: 4\n },\n [`& .${chipClasses.avatarSmall}`]: {\n marginLeft: 2\n },\n [`& .${chipClasses.icon}`]: {\n marginLeft: 4\n },\n [`& .${chipClasses.iconSmall}`]: {\n marginLeft: 2\n },\n [`& .${chipClasses.deleteIcon}`]: {\n marginRight: 5\n },\n [`& .${chipClasses.deleteIconSmall}`]: {\n marginRight: 3\n }\n}, ownerState.variant === 'outlined' && ownerState.color !== 'default' && {\n color: (theme.vars || theme).palette[ownerState.color].main,\n border: `1px solid ${theme.vars ? `rgba(${theme.vars.palette[ownerState.color].mainChannel} / 0.7)` : alpha(theme.palette[ownerState.color].main, 0.7)}`,\n [`&.${chipClasses.clickable}:hover`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette[ownerState.color].mainChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(theme.palette[ownerState.color].main, theme.palette.action.hoverOpacity)\n },\n [`&.${chipClasses.focusVisible}`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette[ownerState.color].mainChannel} / ${theme.vars.palette.action.focusOpacity})` : alpha(theme.palette[ownerState.color].main, theme.palette.action.focusOpacity)\n },\n [`& .${chipClasses.deleteIcon}`]: {\n color: theme.vars ? `rgba(${theme.vars.palette[ownerState.color].mainChannel} / 0.7)` : alpha(theme.palette[ownerState.color].main, 0.7),\n '&:hover, &:active': {\n color: (theme.vars || theme).palette[ownerState.color].main\n }\n }\n}));\nconst ChipLabel = styled('span', {\n name: 'MuiChip',\n slot: 'Label',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n const {\n size\n } = ownerState;\n return [styles.label, styles[`label${capitalize(size)}`]];\n }\n})(({\n ownerState\n}) => _extends({\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n paddingLeft: 12,\n paddingRight: 12,\n whiteSpace: 'nowrap'\n}, ownerState.variant === 'outlined' && {\n paddingLeft: 11,\n paddingRight: 11\n}, ownerState.size === 'small' && {\n paddingLeft: 8,\n paddingRight: 8\n}, ownerState.size === 'small' && ownerState.variant === 'outlined' && {\n paddingLeft: 7,\n paddingRight: 7\n}));\nfunction isDeleteKeyboardEvent(keyboardEvent) {\n return keyboardEvent.key === 'Backspace' || keyboardEvent.key === 'Delete';\n}\n\n/**\n * Chips represent complex entities in small blocks, such as a contact.\n */\nconst Chip = /*#__PURE__*/React.forwardRef(function Chip(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiChip'\n });\n const {\n avatar: avatarProp,\n className,\n clickable: clickableProp,\n color = 'default',\n component: ComponentProp,\n deleteIcon: deleteIconProp,\n disabled = false,\n icon: iconProp,\n label,\n onClick,\n onDelete,\n onKeyDown,\n onKeyUp,\n size = 'medium',\n variant = 'filled',\n tabIndex,\n skipFocusWhenDisabled = false // TODO v6: Rename to `focusableWhenDisabled`.\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const chipRef = React.useRef(null);\n const handleRef = useForkRef(chipRef, ref);\n const handleDeleteIconClick = event => {\n // Stop the event from bubbling up to the `Chip`\n event.stopPropagation();\n if (onDelete) {\n onDelete(event);\n }\n };\n const handleKeyDown = event => {\n // Ignore events from children of `Chip`.\n if (event.currentTarget === event.target && isDeleteKeyboardEvent(event)) {\n // Will be handled in keyUp, otherwise some browsers\n // might init navigation\n event.preventDefault();\n }\n if (onKeyDown) {\n onKeyDown(event);\n }\n };\n const handleKeyUp = event => {\n // Ignore events from children of `Chip`.\n if (event.currentTarget === event.target) {\n if (onDelete && isDeleteKeyboardEvent(event)) {\n onDelete(event);\n } else if (event.key === 'Escape' && chipRef.current) {\n chipRef.current.blur();\n }\n }\n if (onKeyUp) {\n onKeyUp(event);\n }\n };\n const clickable = clickableProp !== false && onClick ? true : clickableProp;\n const component = clickable || onDelete ? ButtonBase : ComponentProp || 'div';\n const ownerState = _extends({}, props, {\n component,\n disabled,\n size,\n color,\n iconColor: /*#__PURE__*/React.isValidElement(iconProp) ? iconProp.props.color || color : color,\n onDelete: !!onDelete,\n clickable,\n variant\n });\n const classes = useUtilityClasses(ownerState);\n const moreProps = component === ButtonBase ? _extends({\n component: ComponentProp || 'div',\n focusVisibleClassName: classes.focusVisible\n }, onDelete && {\n disableRipple: true\n }) : {};\n let deleteIcon = null;\n if (onDelete) {\n deleteIcon = deleteIconProp && /*#__PURE__*/React.isValidElement(deleteIconProp) ? ( /*#__PURE__*/React.cloneElement(deleteIconProp, {\n className: clsx(deleteIconProp.props.className, classes.deleteIcon),\n onClick: handleDeleteIconClick\n })) : /*#__PURE__*/_jsx(CancelIcon, {\n className: clsx(classes.deleteIcon),\n onClick: handleDeleteIconClick\n });\n }\n let avatar = null;\n if (avatarProp && /*#__PURE__*/React.isValidElement(avatarProp)) {\n avatar = /*#__PURE__*/React.cloneElement(avatarProp, {\n className: clsx(classes.avatar, avatarProp.props.className)\n });\n }\n let icon = null;\n if (iconProp && /*#__PURE__*/React.isValidElement(iconProp)) {\n icon = /*#__PURE__*/React.cloneElement(iconProp, {\n className: clsx(classes.icon, iconProp.props.className)\n });\n }\n if (process.env.NODE_ENV !== 'production') {\n if (avatar && icon) {\n console.error('MUI: The Chip component can not handle the avatar ' + 'and the icon prop at the same time. Pick one.');\n }\n }\n return /*#__PURE__*/_jsxs(ChipRoot, _extends({\n as: component,\n className: clsx(classes.root, className),\n disabled: clickable && disabled ? true : undefined,\n onClick: onClick,\n onKeyDown: handleKeyDown,\n onKeyUp: handleKeyUp,\n ref: handleRef,\n tabIndex: skipFocusWhenDisabled && disabled ? -1 : tabIndex,\n ownerState: ownerState\n }, moreProps, other, {\n children: [avatar || icon, /*#__PURE__*/_jsx(ChipLabel, {\n className: clsx(classes.label),\n ownerState: ownerState,\n children: label\n }), deleteIcon]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Chip.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The Avatar element to display.\n */\n avatar: PropTypes.element,\n /**\n * This prop isn't supported.\n * Use the `component` prop if you need to change the children structure.\n */\n children: unsupportedProp,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * If `true`, the chip will appear clickable, and will raise when pressed,\n * even if the onClick prop is not defined.\n * If `false`, the chip will not appear clickable, even if onClick prop is defined.\n * This can be used, for example,\n * along with the component prop to indicate an anchor Chip is clickable.\n * Note: this controls the UI and does not affect the onClick event.\n */\n clickable: PropTypes.bool,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * @default 'default'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['default', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * Override the default delete icon element. Shown only if `onDelete` is set.\n */\n deleteIcon: PropTypes.element,\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * Icon element.\n */\n icon: PropTypes.element,\n /**\n * The content of the component.\n */\n label: PropTypes.node,\n /**\n * @ignore\n */\n onClick: PropTypes.func,\n /**\n * Callback fired when the delete icon is clicked.\n * If set, the delete icon will be shown.\n */\n onDelete: PropTypes.func,\n /**\n * @ignore\n */\n onKeyDown: PropTypes.func,\n /**\n * @ignore\n */\n onKeyUp: PropTypes.func,\n /**\n * The size of the component.\n * @default 'medium'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\n /**\n * If `true`, allows the disabled chip to escape focus.\n * If `false`, allows the disabled chip to receive focus.\n * @default false\n */\n skipFocusWhenDisabled: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * @ignore\n */\n tabIndex: PropTypes.number,\n /**\n * The variant to use.\n * @default 'filled'\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['filled', 'outlined']), PropTypes.string])\n} : void 0;\nexport default Chip;","export default function formControlState({\n props,\n states,\n muiFormControl\n}) {\n return states.reduce((acc, state) => {\n acc[state] = props[state];\n if (muiFormControl) {\n if (typeof props[state] === 'undefined') {\n acc[state] = muiFormControl[state];\n }\n }\n return acc;\n }, {});\n}","import * as React from 'react';\n/**\n * @ignore - internal component.\n */\nconst FormControlContext = /*#__PURE__*/React.createContext(undefined);\nif (process.env.NODE_ENV !== 'production') {\n FormControlContext.displayName = 'FormControlContext';\n}\nexport default FormControlContext;","'use client';\n\nimport * as React from 'react';\nimport FormControlContext from './FormControlContext';\nexport default function useFormControl() {\n return React.useContext(FormControlContext);\n}","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { GlobalStyles as SystemGlobalStyles } from '@mui/system';\nimport defaultTheme from '../styles/defaultTheme';\nimport THEME_ID from '../styles/identifier';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction GlobalStyles(props) {\n return /*#__PURE__*/_jsx(SystemGlobalStyles, _extends({}, props, {\n defaultTheme: defaultTheme,\n themeId: THEME_ID\n }));\n}\nprocess.env.NODE_ENV !== \"production\" ? GlobalStyles.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The styles you want to apply globally.\n */\n styles: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.array, PropTypes.func, PropTypes.number, PropTypes.object, PropTypes.string, PropTypes.bool])\n} : void 0;\nexport default GlobalStyles;","// Supports determination of isControlled().\n// Controlled input accepts its current value as a prop.\n//\n// @see https://facebook.github.io/react/docs/forms.html#controlled-components\n// @param value\n// @returns {boolean} true if string (including '') or number (including zero)\nexport function hasValue(value) {\n return value != null && !(Array.isArray(value) && value.length === 0);\n}\n\n// Determine if field is empty or filled.\n// Response determines if label is presented above field or as placeholder.\n//\n// @param obj\n// @param SSR\n// @returns {boolean} False when not present or empty string.\n// True when any number or string with length.\nexport function isFilled(obj, SSR = false) {\n return obj && (hasValue(obj.value) && obj.value !== '' || SSR && hasValue(obj.defaultValue) && obj.defaultValue !== '');\n}\n\n// Determine if an Input is adorned on start.\n// It's corresponding to the left with LTR.\n//\n// @param obj\n// @returns {boolean} False when no adornments.\n// True when adorned at the start.\nexport function isAdornedStart(obj) {\n return obj.startAdornment;\n}","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getInputBaseUtilityClass(slot) {\n return generateUtilityClass('MuiInputBase', slot);\n}\nconst inputBaseClasses = generateUtilityClasses('MuiInputBase', ['root', 'formControl', 'focused', 'disabled', 'adornedStart', 'adornedEnd', 'error', 'sizeSmall', 'multiline', 'colorSecondary', 'fullWidth', 'hiddenLabel', 'readOnly', 'input', 'inputSizeSmall', 'inputMultiline', 'inputTypeSearch', 'inputAdornedStart', 'inputAdornedEnd', 'inputHiddenLabel']);\nexport default inputBaseClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _formatMuiErrorMessage from \"@mui/utils/formatMuiErrorMessage\";\nconst _excluded = [\"aria-describedby\", \"autoComplete\", \"autoFocus\", \"className\", \"color\", \"components\", \"componentsProps\", \"defaultValue\", \"disabled\", \"disableInjectingGlobalStyles\", \"endAdornment\", \"error\", \"fullWidth\", \"id\", \"inputComponent\", \"inputProps\", \"inputRef\", \"margin\", \"maxRows\", \"minRows\", \"multiline\", \"name\", \"onBlur\", \"onChange\", \"onClick\", \"onFocus\", \"onKeyDown\", \"onKeyUp\", \"placeholder\", \"readOnly\", \"renderSuffix\", \"rows\", \"size\", \"slotProps\", \"slots\", \"startAdornment\", \"type\", \"value\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport elementTypeAcceptingRef from '@mui/utils/elementTypeAcceptingRef';\nimport refType from '@mui/utils/refType';\nimport { TextareaAutosize } from '@mui/base';\nimport { isHostComponent } from '@mui/base/utils';\nimport composeClasses from '@mui/utils/composeClasses';\nimport formControlState from '../FormControl/formControlState';\nimport FormControlContext from '../FormControl/FormControlContext';\nimport useFormControl from '../FormControl/useFormControl';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport capitalize from '../utils/capitalize';\nimport useForkRef from '../utils/useForkRef';\nimport useEnhancedEffect from '../utils/useEnhancedEffect';\nimport GlobalStyles from '../GlobalStyles';\nimport { isFilled } from './utils';\nimport inputBaseClasses, { getInputBaseUtilityClass } from './inputBaseClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport const rootOverridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.formControl && styles.formControl, ownerState.startAdornment && styles.adornedStart, ownerState.endAdornment && styles.adornedEnd, ownerState.error && styles.error, ownerState.size === 'small' && styles.sizeSmall, ownerState.multiline && styles.multiline, ownerState.color && styles[`color${capitalize(ownerState.color)}`], ownerState.fullWidth && styles.fullWidth, ownerState.hiddenLabel && styles.hiddenLabel];\n};\nexport const inputOverridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.input, ownerState.size === 'small' && styles.inputSizeSmall, ownerState.multiline && styles.inputMultiline, ownerState.type === 'search' && styles.inputTypeSearch, ownerState.startAdornment && styles.inputAdornedStart, ownerState.endAdornment && styles.inputAdornedEnd, ownerState.hiddenLabel && styles.inputHiddenLabel];\n};\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n color,\n disabled,\n error,\n endAdornment,\n focused,\n formControl,\n fullWidth,\n hiddenLabel,\n multiline,\n readOnly,\n size,\n startAdornment,\n type\n } = ownerState;\n const slots = {\n root: ['root', `color${capitalize(color)}`, disabled && 'disabled', error && 'error', fullWidth && 'fullWidth', focused && 'focused', formControl && 'formControl', size && size !== 'medium' && `size${capitalize(size)}`, multiline && 'multiline', startAdornment && 'adornedStart', endAdornment && 'adornedEnd', hiddenLabel && 'hiddenLabel', readOnly && 'readOnly'],\n input: ['input', disabled && 'disabled', type === 'search' && 'inputTypeSearch', multiline && 'inputMultiline', size === 'small' && 'inputSizeSmall', hiddenLabel && 'inputHiddenLabel', startAdornment && 'inputAdornedStart', endAdornment && 'inputAdornedEnd', readOnly && 'readOnly']\n };\n return composeClasses(slots, getInputBaseUtilityClass, classes);\n};\nexport const InputBaseRoot = styled('div', {\n name: 'MuiInputBase',\n slot: 'Root',\n overridesResolver: rootOverridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({}, theme.typography.body1, {\n color: (theme.vars || theme).palette.text.primary,\n lineHeight: '1.4375em',\n // 23px\n boxSizing: 'border-box',\n // Prevent padding issue with fullWidth.\n position: 'relative',\n cursor: 'text',\n display: 'inline-flex',\n alignItems: 'center',\n [`&.${inputBaseClasses.disabled}`]: {\n color: (theme.vars || theme).palette.text.disabled,\n cursor: 'default'\n }\n}, ownerState.multiline && _extends({\n padding: '4px 0 5px'\n}, ownerState.size === 'small' && {\n paddingTop: 1\n}), ownerState.fullWidth && {\n width: '100%'\n}));\nexport const InputBaseComponent = styled('input', {\n name: 'MuiInputBase',\n slot: 'Input',\n overridesResolver: inputOverridesResolver\n})(({\n theme,\n ownerState\n}) => {\n const light = theme.palette.mode === 'light';\n const placeholder = _extends({\n color: 'currentColor'\n }, theme.vars ? {\n opacity: theme.vars.opacity.inputPlaceholder\n } : {\n opacity: light ? 0.42 : 0.5\n }, {\n transition: theme.transitions.create('opacity', {\n duration: theme.transitions.duration.shorter\n })\n });\n const placeholderHidden = {\n opacity: '0 !important'\n };\n const placeholderVisible = theme.vars ? {\n opacity: theme.vars.opacity.inputPlaceholder\n } : {\n opacity: light ? 0.42 : 0.5\n };\n return _extends({\n font: 'inherit',\n letterSpacing: 'inherit',\n color: 'currentColor',\n padding: '4px 0 5px',\n border: 0,\n boxSizing: 'content-box',\n background: 'none',\n height: '1.4375em',\n // Reset 23pxthe native input line-height\n margin: 0,\n // Reset for Safari\n WebkitTapHighlightColor: 'transparent',\n display: 'block',\n // Make the flex item shrink with Firefox\n minWidth: 0,\n width: '100%',\n // Fix IE11 width issue\n animationName: 'mui-auto-fill-cancel',\n animationDuration: '10ms',\n '&::-webkit-input-placeholder': placeholder,\n '&::-moz-placeholder': placeholder,\n // Firefox 19+\n '&:-ms-input-placeholder': placeholder,\n // IE11\n '&::-ms-input-placeholder': placeholder,\n // Edge\n '&:focus': {\n outline: 0\n },\n // Reset Firefox invalid required input style\n '&:invalid': {\n boxShadow: 'none'\n },\n '&::-webkit-search-decoration': {\n // Remove the padding when type=search.\n WebkitAppearance: 'none'\n },\n // Show and hide the placeholder logic\n [`label[data-shrink=false] + .${inputBaseClasses.formControl} &`]: {\n '&::-webkit-input-placeholder': placeholderHidden,\n '&::-moz-placeholder': placeholderHidden,\n // Firefox 19+\n '&:-ms-input-placeholder': placeholderHidden,\n // IE11\n '&::-ms-input-placeholder': placeholderHidden,\n // Edge\n '&:focus::-webkit-input-placeholder': placeholderVisible,\n '&:focus::-moz-placeholder': placeholderVisible,\n // Firefox 19+\n '&:focus:-ms-input-placeholder': placeholderVisible,\n // IE11\n '&:focus::-ms-input-placeholder': placeholderVisible // Edge\n },\n [`&.${inputBaseClasses.disabled}`]: {\n opacity: 1,\n // Reset iOS opacity\n WebkitTextFillColor: (theme.vars || theme).palette.text.disabled // Fix opacity Safari bug\n },\n '&:-webkit-autofill': {\n animationDuration: '5000s',\n animationName: 'mui-auto-fill'\n }\n }, ownerState.size === 'small' && {\n paddingTop: 1\n }, ownerState.multiline && {\n height: 'auto',\n resize: 'none',\n padding: 0,\n paddingTop: 0\n }, ownerState.type === 'search' && {\n // Improve type search style.\n MozAppearance: 'textfield'\n });\n});\nconst inputGlobalStyles = /*#__PURE__*/_jsx(GlobalStyles, {\n styles: {\n '@keyframes mui-auto-fill': {\n from: {\n display: 'block'\n }\n },\n '@keyframes mui-auto-fill-cancel': {\n from: {\n display: 'block'\n }\n }\n }\n});\n\n/**\n * `InputBase` contains as few styles as possible.\n * It aims to be a simple building block for creating an input.\n * It contains a load of style reset and some state logic.\n */\nconst InputBase = /*#__PURE__*/React.forwardRef(function InputBase(inProps, ref) {\n var _slotProps$input;\n const props = useThemeProps({\n props: inProps,\n name: 'MuiInputBase'\n });\n const {\n 'aria-describedby': ariaDescribedby,\n autoComplete,\n autoFocus,\n className,\n components = {},\n componentsProps = {},\n defaultValue,\n disabled,\n disableInjectingGlobalStyles,\n endAdornment,\n fullWidth = false,\n id,\n inputComponent = 'input',\n inputProps: inputPropsProp = {},\n inputRef: inputRefProp,\n maxRows,\n minRows,\n multiline = false,\n name,\n onBlur,\n onChange,\n onClick,\n onFocus,\n onKeyDown,\n onKeyUp,\n placeholder,\n readOnly,\n renderSuffix,\n rows,\n slotProps = {},\n slots = {},\n startAdornment,\n type = 'text',\n value: valueProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const value = inputPropsProp.value != null ? inputPropsProp.value : valueProp;\n const {\n current: isControlled\n } = React.useRef(value != null);\n const inputRef = React.useRef();\n const handleInputRefWarning = React.useCallback(instance => {\n if (process.env.NODE_ENV !== 'production') {\n if (instance && instance.nodeName !== 'INPUT' && !instance.focus) {\n console.error(['MUI: You have provided a `inputComponent` to the input component', 'that does not correctly handle the `ref` prop.', 'Make sure the `ref` prop is called with a HTMLInputElement.'].join('\\n'));\n }\n }\n }, []);\n const handleInputRef = useForkRef(inputRef, inputRefProp, inputPropsProp.ref, handleInputRefWarning);\n const [focused, setFocused] = React.useState(false);\n const muiFormControl = useFormControl();\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useEffect(() => {\n if (muiFormControl) {\n return muiFormControl.registerEffect();\n }\n return undefined;\n }, [muiFormControl]);\n }\n const fcs = formControlState({\n props,\n muiFormControl,\n states: ['color', 'disabled', 'error', 'hiddenLabel', 'size', 'required', 'filled']\n });\n fcs.focused = muiFormControl ? muiFormControl.focused : focused;\n\n // The blur won't fire when the disabled state is set on a focused input.\n // We need to book keep the focused state manually.\n React.useEffect(() => {\n if (!muiFormControl && disabled && focused) {\n setFocused(false);\n if (onBlur) {\n onBlur();\n }\n }\n }, [muiFormControl, disabled, focused, onBlur]);\n const onFilled = muiFormControl && muiFormControl.onFilled;\n const onEmpty = muiFormControl && muiFormControl.onEmpty;\n const checkDirty = React.useCallback(obj => {\n if (isFilled(obj)) {\n if (onFilled) {\n onFilled();\n }\n } else if (onEmpty) {\n onEmpty();\n }\n }, [onFilled, onEmpty]);\n useEnhancedEffect(() => {\n if (isControlled) {\n checkDirty({\n value\n });\n }\n }, [value, checkDirty, isControlled]);\n const handleFocus = event => {\n // Fix a bug with IE11 where the focus/blur events are triggered\n // while the component is disabled.\n if (fcs.disabled) {\n event.stopPropagation();\n return;\n }\n if (onFocus) {\n onFocus(event);\n }\n if (inputPropsProp.onFocus) {\n inputPropsProp.onFocus(event);\n }\n if (muiFormControl && muiFormControl.onFocus) {\n muiFormControl.onFocus(event);\n } else {\n setFocused(true);\n }\n };\n const handleBlur = event => {\n if (onBlur) {\n onBlur(event);\n }\n if (inputPropsProp.onBlur) {\n inputPropsProp.onBlur(event);\n }\n if (muiFormControl && muiFormControl.onBlur) {\n muiFormControl.onBlur(event);\n } else {\n setFocused(false);\n }\n };\n const handleChange = (event, ...args) => {\n if (!isControlled) {\n const element = event.target || inputRef.current;\n if (element == null) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: Expected valid input target. Did you use a custom \\`inputComponent\\` and forget to forward refs? See https://mui.com/r/input-component-ref-interface for more info.` : _formatMuiErrorMessage(1));\n }\n checkDirty({\n value: element.value\n });\n }\n if (inputPropsProp.onChange) {\n inputPropsProp.onChange(event, ...args);\n }\n\n // Perform in the willUpdate\n if (onChange) {\n onChange(event, ...args);\n }\n };\n\n // Check the input state on mount, in case it was filled by the user\n // or auto filled by the browser before the hydration (for SSR).\n React.useEffect(() => {\n checkDirty(inputRef.current);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n const handleClick = event => {\n if (inputRef.current && event.currentTarget === event.target) {\n inputRef.current.focus();\n }\n if (onClick) {\n onClick(event);\n }\n };\n let InputComponent = inputComponent;\n let inputProps = inputPropsProp;\n if (multiline && InputComponent === 'input') {\n if (rows) {\n if (process.env.NODE_ENV !== 'production') {\n if (minRows || maxRows) {\n console.warn('MUI: You can not use the `minRows` or `maxRows` props when the input `rows` prop is set.');\n }\n }\n inputProps = _extends({\n type: undefined,\n minRows: rows,\n maxRows: rows\n }, inputProps);\n } else {\n inputProps = _extends({\n type: undefined,\n maxRows,\n minRows\n }, inputProps);\n }\n InputComponent = TextareaAutosize;\n }\n const handleAutoFill = event => {\n // Provide a fake value as Chrome might not let you access it for security reasons.\n checkDirty(event.animationName === 'mui-auto-fill-cancel' ? inputRef.current : {\n value: 'x'\n });\n };\n React.useEffect(() => {\n if (muiFormControl) {\n muiFormControl.setAdornedStart(Boolean(startAdornment));\n }\n }, [muiFormControl, startAdornment]);\n const ownerState = _extends({}, props, {\n color: fcs.color || 'primary',\n disabled: fcs.disabled,\n endAdornment,\n error: fcs.error,\n focused: fcs.focused,\n formControl: muiFormControl,\n fullWidth,\n hiddenLabel: fcs.hiddenLabel,\n multiline,\n size: fcs.size,\n startAdornment,\n type\n });\n const classes = useUtilityClasses(ownerState);\n const Root = slots.root || components.Root || InputBaseRoot;\n const rootProps = slotProps.root || componentsProps.root || {};\n const Input = slots.input || components.Input || InputBaseComponent;\n inputProps = _extends({}, inputProps, (_slotProps$input = slotProps.input) != null ? _slotProps$input : componentsProps.input);\n return /*#__PURE__*/_jsxs(React.Fragment, {\n children: [!disableInjectingGlobalStyles && inputGlobalStyles, /*#__PURE__*/_jsxs(Root, _extends({}, rootProps, !isHostComponent(Root) && {\n ownerState: _extends({}, ownerState, rootProps.ownerState)\n }, {\n ref: ref,\n onClick: handleClick\n }, other, {\n className: clsx(classes.root, rootProps.className, className, readOnly && 'MuiInputBase-readOnly'),\n children: [startAdornment, /*#__PURE__*/_jsx(FormControlContext.Provider, {\n value: null,\n children: /*#__PURE__*/_jsx(Input, _extends({\n ownerState: ownerState,\n \"aria-invalid\": fcs.error,\n \"aria-describedby\": ariaDescribedby,\n autoComplete: autoComplete,\n autoFocus: autoFocus,\n defaultValue: defaultValue,\n disabled: fcs.disabled,\n id: id,\n onAnimationStart: handleAutoFill,\n name: name,\n placeholder: placeholder,\n readOnly: readOnly,\n required: fcs.required,\n rows: rows,\n value: value,\n onKeyDown: onKeyDown,\n onKeyUp: onKeyUp,\n type: type\n }, inputProps, !isHostComponent(Input) && {\n as: InputComponent,\n ownerState: _extends({}, ownerState, inputProps.ownerState)\n }, {\n ref: handleInputRef,\n className: clsx(classes.input, inputProps.className, readOnly && 'MuiInputBase-readOnly'),\n onBlur: handleBlur,\n onChange: handleChange,\n onFocus: handleFocus\n }))\n }), endAdornment, renderSuffix ? renderSuffix(_extends({}, fcs, {\n startAdornment\n })) : null]\n }))]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? InputBase.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * @ignore\n */\n 'aria-describedby': PropTypes.string,\n /**\n * This prop helps users to fill forms faster, especially on mobile devices.\n * The name can be confusing, as it's more like an autofill.\n * You can learn more about it [following the specification](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill).\n */\n autoComplete: PropTypes.string,\n /**\n * If `true`, the `input` element is focused during the first mount.\n */\n autoFocus: PropTypes.bool,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * The prop defaults to the value (`'primary'`) inherited from the parent FormControl component.\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * The components used for each slot inside.\n *\n * This prop is an alias for the `slots` prop.\n * It's recommended to use the `slots` prop instead.\n *\n * @default {}\n */\n components: PropTypes.shape({\n Input: PropTypes.elementType,\n Root: PropTypes.elementType\n }),\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * This prop is an alias for the `slotProps` prop.\n * It's recommended to use the `slotProps` prop instead, as `componentsProps` will be deprecated in the future.\n *\n * @default {}\n */\n componentsProps: PropTypes.shape({\n input: PropTypes.object,\n root: PropTypes.object\n }),\n /**\n * The default value. Use when the component is not controlled.\n */\n defaultValue: PropTypes.any,\n /**\n * If `true`, the component is disabled.\n * The prop defaults to the value (`false`) inherited from the parent FormControl component.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, GlobalStyles for the auto-fill keyframes will not be injected/removed on mount/unmount. Make sure to inject them at the top of your application.\n * This option is intended to help with boosting the initial rendering performance if you are loading a big amount of Input components at once.\n * @default false\n */\n disableInjectingGlobalStyles: PropTypes.bool,\n /**\n * End `InputAdornment` for this component.\n */\n endAdornment: PropTypes.node,\n /**\n * If `true`, the `input` will indicate an error.\n * The prop defaults to the value (`false`) inherited from the parent FormControl component.\n */\n error: PropTypes.bool,\n /**\n * If `true`, the `input` will take up the full width of its container.\n * @default false\n */\n fullWidth: PropTypes.bool,\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n /**\n * The component used for the `input` element.\n * Either a string to use a HTML element or a component.\n * @default 'input'\n */\n inputComponent: elementTypeAcceptingRef,\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n * @default {}\n */\n inputProps: PropTypes.object,\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n /**\n * If `dense`, will adjust vertical spacing. This is normally obtained via context from\n * FormControl.\n * The prop defaults to the value (`'none'`) inherited from the parent FormControl component.\n */\n margin: PropTypes.oneOf(['dense', 'none']),\n /**\n * Maximum number of rows to display when multiline option is set to true.\n */\n maxRows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * Minimum number of rows to display when multiline option is set to true.\n */\n minRows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * If `true`, a [TextareaAutosize](/material-ui/react-textarea-autosize/) element is rendered.\n * @default false\n */\n multiline: PropTypes.bool,\n /**\n * Name attribute of the `input` element.\n */\n name: PropTypes.string,\n /**\n * Callback fired when the `input` is blurred.\n *\n * Notice that the first argument (event) might be undefined.\n */\n onBlur: PropTypes.func,\n /**\n * Callback fired when the value is changed.\n *\n * @param {React.ChangeEvent<HTMLTextAreaElement | HTMLInputElement>} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value` (string).\n */\n onChange: PropTypes.func,\n /**\n * @ignore\n */\n onClick: PropTypes.func,\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n /**\n * Callback fired when the `input` doesn't satisfy its constraints.\n */\n onInvalid: PropTypes.func,\n /**\n * @ignore\n */\n onKeyDown: PropTypes.func,\n /**\n * @ignore\n */\n onKeyUp: PropTypes.func,\n /**\n * The short hint displayed in the `input` before the user enters a value.\n */\n placeholder: PropTypes.string,\n /**\n * It prevents the user from changing the value of the field\n * (not from interacting with the field).\n */\n readOnly: PropTypes.bool,\n /**\n * @ignore\n */\n renderSuffix: PropTypes.func,\n /**\n * If `true`, the `input` element is required.\n * The prop defaults to the value (`false`) inherited from the parent FormControl component.\n */\n required: PropTypes.bool,\n /**\n * Number of rows to display when multiline option is set to true.\n */\n rows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * The size of the component.\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * This prop is an alias for the `componentsProps` prop, which will be deprecated in the future.\n *\n * @default {}\n */\n slotProps: PropTypes.shape({\n input: PropTypes.object,\n root: PropTypes.object\n }),\n /**\n * The components used for each slot inside.\n *\n * This prop is an alias for the `components` prop, which will be deprecated in the future.\n *\n * @default {}\n */\n slots: PropTypes.shape({\n input: PropTypes.elementType,\n root: PropTypes.elementType\n }),\n /**\n * Start `InputAdornment` for this component.\n */\n startAdornment: PropTypes.node,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * Type of the `input` element. It should be [a valid HTML5 input type](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Form_%3Cinput%3E_types).\n * @default 'text'\n */\n type: PropTypes.string,\n /**\n * The value of the `input` element, required for a controlled component.\n */\n value: PropTypes.any\n} : void 0;\nexport default InputBase;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nimport { inputBaseClasses } from '../InputBase';\nexport function getInputUtilityClass(slot) {\n return generateUtilityClass('MuiInput', slot);\n}\nconst inputClasses = _extends({}, inputBaseClasses, generateUtilityClasses('MuiInput', ['root', 'underline', 'input']));\nexport default inputClasses;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nimport { inputBaseClasses } from '../InputBase';\nexport function getOutlinedInputUtilityClass(slot) {\n return generateUtilityClass('MuiOutlinedInput', slot);\n}\nconst outlinedInputClasses = _extends({}, inputBaseClasses, generateUtilityClasses('MuiOutlinedInput', ['root', 'notchedOutline', 'input']));\nexport default outlinedInputClasses;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nimport { inputBaseClasses } from '../InputBase';\nexport function getFilledInputUtilityClass(slot) {\n return generateUtilityClass('MuiFilledInput', slot);\n}\nconst filledInputClasses = _extends({}, inputBaseClasses, generateUtilityClasses('MuiFilledInput', ['root', 'underline', 'input']));\nexport default filledInputClasses;","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M7 10l5 5 5-5z\"\n}), 'ArrowDropDown');","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getAutocompleteUtilityClass(slot) {\n return generateUtilityClass('MuiAutocomplete', slot);\n}\nconst autocompleteClasses = generateUtilityClasses('MuiAutocomplete', ['root', 'expanded', 'fullWidth', 'focused', 'focusVisible', 'tag', 'tagSizeSmall', 'tagSizeMedium', 'hasPopupIcon', 'hasClearIcon', 'inputRoot', 'input', 'inputFocused', 'endAdornment', 'clearIndicator', 'popupIndicator', 'popupIndicatorOpen', 'popper', 'popperDisablePortal', 'paper', 'listbox', 'loading', 'noOptions', 'option', 'groupLabel', 'groupUl']);\nexport default autocompleteClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nvar _ClearIcon, _ArrowDropDownIcon;\nconst _excluded = [\"autoComplete\", \"autoHighlight\", \"autoSelect\", \"blurOnSelect\", \"ChipProps\", \"className\", \"clearIcon\", \"clearOnBlur\", \"clearOnEscape\", \"clearText\", \"closeText\", \"componentsProps\", \"defaultValue\", \"disableClearable\", \"disableCloseOnSelect\", \"disabled\", \"disabledItemsFocusable\", \"disableListWrap\", \"disablePortal\", \"filterOptions\", \"filterSelectedOptions\", \"forcePopupIcon\", \"freeSolo\", \"fullWidth\", \"getLimitTagsText\", \"getOptionDisabled\", \"getOptionKey\", \"getOptionLabel\", \"isOptionEqualToValue\", \"groupBy\", \"handleHomeEndKeys\", \"id\", \"includeInputInList\", \"inputValue\", \"limitTags\", \"ListboxComponent\", \"ListboxProps\", \"loading\", \"loadingText\", \"multiple\", \"noOptionsText\", \"onChange\", \"onClose\", \"onHighlightChange\", \"onInputChange\", \"onOpen\", \"open\", \"openOnFocus\", \"openText\", \"options\", \"PaperComponent\", \"PopperComponent\", \"popupIcon\", \"readOnly\", \"renderGroup\", \"renderInput\", \"renderOption\", \"renderTags\", \"selectOnFocus\", \"size\", \"slotProps\", \"value\"],\n _excluded2 = [\"ref\"],\n _excluded3 = [\"key\"],\n _excluded4 = [\"key\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport integerPropType from '@mui/utils/integerPropType';\nimport chainPropTypes from '@mui/utils/chainPropTypes';\nimport { useAutocomplete, createFilterOptions } from '@mui/base';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { alpha } from '@mui/system/colorManipulator';\nimport Popper from '../Popper';\nimport ListSubheader from '../ListSubheader';\nimport Paper from '../Paper';\nimport IconButton from '../IconButton';\nimport Chip from '../Chip';\nimport inputClasses from '../Input/inputClasses';\nimport inputBaseClasses from '../InputBase/inputBaseClasses';\nimport outlinedInputClasses from '../OutlinedInput/outlinedInputClasses';\nimport filledInputClasses from '../FilledInput/filledInputClasses';\nimport ClearIcon from '../internal/svg-icons/Close';\nimport ArrowDropDownIcon from '../internal/svg-icons/ArrowDropDown';\nimport { styled, createUseThemeProps } from '../zero-styled';\nimport autocompleteClasses, { getAutocompleteUtilityClass } from './autocompleteClasses';\nimport capitalize from '../utils/capitalize';\nimport useForkRef from '../utils/useForkRef';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useThemeProps = createUseThemeProps('MuiAutocomplete');\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disablePortal,\n expanded,\n focused,\n fullWidth,\n hasClearIcon,\n hasPopupIcon,\n inputFocused,\n popupOpen,\n size\n } = ownerState;\n const slots = {\n root: ['root', expanded && 'expanded', focused && 'focused', fullWidth && 'fullWidth', hasClearIcon && 'hasClearIcon', hasPopupIcon && 'hasPopupIcon'],\n inputRoot: ['inputRoot'],\n input: ['input', inputFocused && 'inputFocused'],\n tag: ['tag', `tagSize${capitalize(size)}`],\n endAdornment: ['endAdornment'],\n clearIndicator: ['clearIndicator'],\n popupIndicator: ['popupIndicator', popupOpen && 'popupIndicatorOpen'],\n popper: ['popper', disablePortal && 'popperDisablePortal'],\n paper: ['paper'],\n listbox: ['listbox'],\n loading: ['loading'],\n noOptions: ['noOptions'],\n option: ['option'],\n groupLabel: ['groupLabel'],\n groupUl: ['groupUl']\n };\n return composeClasses(slots, getAutocompleteUtilityClass, classes);\n};\nconst AutocompleteRoot = styled('div', {\n name: 'MuiAutocomplete',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n const {\n fullWidth,\n hasClearIcon,\n hasPopupIcon,\n inputFocused,\n size\n } = ownerState;\n return [{\n [`& .${autocompleteClasses.tag}`]: styles.tag\n }, {\n [`& .${autocompleteClasses.tag}`]: styles[`tagSize${capitalize(size)}`]\n }, {\n [`& .${autocompleteClasses.inputRoot}`]: styles.inputRoot\n }, {\n [`& .${autocompleteClasses.input}`]: styles.input\n }, {\n [`& .${autocompleteClasses.input}`]: inputFocused && styles.inputFocused\n }, styles.root, fullWidth && styles.fullWidth, hasPopupIcon && styles.hasPopupIcon, hasClearIcon && styles.hasClearIcon];\n }\n})({\n [`&.${autocompleteClasses.focused} .${autocompleteClasses.clearIndicator}`]: {\n visibility: 'visible'\n },\n /* Avoid double tap issue on iOS */\n '@media (pointer: fine)': {\n [`&:hover .${autocompleteClasses.clearIndicator}`]: {\n visibility: 'visible'\n }\n },\n [`& .${autocompleteClasses.tag}`]: {\n margin: 3,\n maxWidth: 'calc(100% - 6px)'\n },\n [`& .${autocompleteClasses.inputRoot}`]: {\n [`.${autocompleteClasses.hasPopupIcon}&, .${autocompleteClasses.hasClearIcon}&`]: {\n paddingRight: 26 + 4\n },\n [`.${autocompleteClasses.hasPopupIcon}.${autocompleteClasses.hasClearIcon}&`]: {\n paddingRight: 52 + 4\n },\n [`& .${autocompleteClasses.input}`]: {\n width: 0,\n minWidth: 30\n }\n },\n [`& .${inputClasses.root}`]: {\n paddingBottom: 1,\n '& .MuiInput-input': {\n padding: '4px 4px 4px 0px'\n }\n },\n [`& .${inputClasses.root}.${inputBaseClasses.sizeSmall}`]: {\n [`& .${inputClasses.input}`]: {\n padding: '2px 4px 3px 0'\n }\n },\n [`& .${outlinedInputClasses.root}`]: {\n padding: 9,\n [`.${autocompleteClasses.hasPopupIcon}&, .${autocompleteClasses.hasClearIcon}&`]: {\n paddingRight: 26 + 4 + 9\n },\n [`.${autocompleteClasses.hasPopupIcon}.${autocompleteClasses.hasClearIcon}&`]: {\n paddingRight: 52 + 4 + 9\n },\n [`& .${autocompleteClasses.input}`]: {\n padding: '7.5px 4px 7.5px 5px'\n },\n [`& .${autocompleteClasses.endAdornment}`]: {\n right: 9\n }\n },\n [`& .${outlinedInputClasses.root}.${inputBaseClasses.sizeSmall}`]: {\n // Don't specify paddingRight, as it overrides the default value set when there is only\n // one of the popup or clear icon as the specificity is equal so the latter one wins\n paddingTop: 6,\n paddingBottom: 6,\n paddingLeft: 6,\n [`& .${autocompleteClasses.input}`]: {\n padding: '2.5px 4px 2.5px 8px'\n }\n },\n [`& .${filledInputClasses.root}`]: {\n paddingTop: 19,\n paddingLeft: 8,\n [`.${autocompleteClasses.hasPopupIcon}&, .${autocompleteClasses.hasClearIcon}&`]: {\n paddingRight: 26 + 4 + 9\n },\n [`.${autocompleteClasses.hasPopupIcon}.${autocompleteClasses.hasClearIcon}&`]: {\n paddingRight: 52 + 4 + 9\n },\n [`& .${filledInputClasses.input}`]: {\n padding: '7px 4px'\n },\n [`& .${autocompleteClasses.endAdornment}`]: {\n right: 9\n }\n },\n [`& .${filledInputClasses.root}.${inputBaseClasses.sizeSmall}`]: {\n paddingBottom: 1,\n [`& .${filledInputClasses.input}`]: {\n padding: '2.5px 4px'\n }\n },\n [`& .${inputBaseClasses.hiddenLabel}`]: {\n paddingTop: 8\n },\n [`& .${filledInputClasses.root}.${inputBaseClasses.hiddenLabel}`]: {\n paddingTop: 0,\n paddingBottom: 0,\n [`& .${autocompleteClasses.input}`]: {\n paddingTop: 16,\n paddingBottom: 17\n }\n },\n [`& .${filledInputClasses.root}.${inputBaseClasses.hiddenLabel}.${inputBaseClasses.sizeSmall}`]: {\n [`& .${autocompleteClasses.input}`]: {\n paddingTop: 8,\n paddingBottom: 9\n }\n },\n [`& .${autocompleteClasses.input}`]: {\n flexGrow: 1,\n textOverflow: 'ellipsis',\n opacity: 0\n },\n variants: [{\n props: {\n fullWidth: true\n },\n style: {\n width: '100%'\n }\n }, {\n props: {\n size: 'small'\n },\n style: {\n [`& .${autocompleteClasses.tag}`]: {\n margin: 2,\n maxWidth: 'calc(100% - 4px)'\n }\n }\n }, {\n props: {\n inputFocused: true\n },\n style: {\n [`& .${autocompleteClasses.input}`]: {\n opacity: 1\n }\n }\n }, {\n props: {\n multiple: true\n },\n style: {\n [`& .${autocompleteClasses.inputRoot}`]: {\n flexWrap: 'wrap'\n }\n }\n }]\n});\nconst AutocompleteEndAdornment = styled('div', {\n name: 'MuiAutocomplete',\n slot: 'EndAdornment',\n overridesResolver: (props, styles) => styles.endAdornment\n})({\n // We use a position absolute to support wrapping tags.\n position: 'absolute',\n right: 0,\n top: '50%',\n transform: 'translate(0, -50%)'\n});\nconst AutocompleteClearIndicator = styled(IconButton, {\n name: 'MuiAutocomplete',\n slot: 'ClearIndicator',\n overridesResolver: (props, styles) => styles.clearIndicator\n})({\n marginRight: -2,\n padding: 4,\n visibility: 'hidden'\n});\nconst AutocompletePopupIndicator = styled(IconButton, {\n name: 'MuiAutocomplete',\n slot: 'PopupIndicator',\n overridesResolver: ({\n ownerState\n }, styles) => _extends({}, styles.popupIndicator, ownerState.popupOpen && styles.popupIndicatorOpen)\n})({\n padding: 2,\n marginRight: -2,\n variants: [{\n props: {\n popupOpen: true\n },\n style: {\n transform: 'rotate(180deg)'\n }\n }]\n});\nconst AutocompletePopper = styled(Popper, {\n name: 'MuiAutocomplete',\n slot: 'Popper',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [{\n [`& .${autocompleteClasses.option}`]: styles.option\n }, styles.popper, ownerState.disablePortal && styles.popperDisablePortal];\n }\n})(({\n theme\n}) => ({\n zIndex: (theme.vars || theme).zIndex.modal,\n variants: [{\n props: {\n disablePortal: true\n },\n style: {\n position: 'absolute'\n }\n }]\n}));\nconst AutocompletePaper = styled(Paper, {\n name: 'MuiAutocomplete',\n slot: 'Paper',\n overridesResolver: (props, styles) => styles.paper\n})(({\n theme\n}) => _extends({}, theme.typography.body1, {\n overflow: 'auto'\n}));\nconst AutocompleteLoading = styled('div', {\n name: 'MuiAutocomplete',\n slot: 'Loading',\n overridesResolver: (props, styles) => styles.loading\n})(({\n theme\n}) => ({\n color: (theme.vars || theme).palette.text.secondary,\n padding: '14px 16px'\n}));\nconst AutocompleteNoOptions = styled('div', {\n name: 'MuiAutocomplete',\n slot: 'NoOptions',\n overridesResolver: (props, styles) => styles.noOptions\n})(({\n theme\n}) => ({\n color: (theme.vars || theme).palette.text.secondary,\n padding: '14px 16px'\n}));\nconst AutocompleteListbox = styled('div', {\n name: 'MuiAutocomplete',\n slot: 'Listbox',\n overridesResolver: (props, styles) => styles.listbox\n})(({\n theme\n}) => ({\n listStyle: 'none',\n margin: 0,\n padding: '8px 0',\n maxHeight: '40vh',\n overflow: 'auto',\n position: 'relative',\n [`& .${autocompleteClasses.option}`]: {\n minHeight: 48,\n display: 'flex',\n overflow: 'hidden',\n justifyContent: 'flex-start',\n alignItems: 'center',\n cursor: 'pointer',\n paddingTop: 6,\n boxSizing: 'border-box',\n outline: '0',\n WebkitTapHighlightColor: 'transparent',\n paddingBottom: 6,\n paddingLeft: 16,\n paddingRight: 16,\n [theme.breakpoints.up('sm')]: {\n minHeight: 'auto'\n },\n [`&.${autocompleteClasses.focused}`]: {\n backgroundColor: (theme.vars || theme).palette.action.hover,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n '&[aria-disabled=\"true\"]': {\n opacity: (theme.vars || theme).palette.action.disabledOpacity,\n pointerEvents: 'none'\n },\n [`&.${autocompleteClasses.focusVisible}`]: {\n backgroundColor: (theme.vars || theme).palette.action.focus\n },\n '&[aria-selected=\"true\"]': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.selectedOpacity})` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity),\n [`&.${autocompleteClasses.focused}`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.hoverOpacity}))` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: (theme.vars || theme).palette.action.selected\n }\n },\n [`&.${autocompleteClasses.focusVisible}`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.focusOpacity}))` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)\n }\n }\n }\n}));\nconst AutocompleteGroupLabel = styled(ListSubheader, {\n name: 'MuiAutocomplete',\n slot: 'GroupLabel',\n overridesResolver: (props, styles) => styles.groupLabel\n})(({\n theme\n}) => ({\n backgroundColor: (theme.vars || theme).palette.background.paper,\n top: -8\n}));\nconst AutocompleteGroupUl = styled('ul', {\n name: 'MuiAutocomplete',\n slot: 'GroupUl',\n overridesResolver: (props, styles) => styles.groupUl\n})({\n padding: 0,\n [`& .${autocompleteClasses.option}`]: {\n paddingLeft: 24\n }\n});\nexport { createFilterOptions };\nconst Autocomplete = /*#__PURE__*/React.forwardRef(function Autocomplete(inProps, ref) {\n var _slotProps$clearIndic, _slotProps$paper, _slotProps$popper, _slotProps$popupIndic;\n const props = useThemeProps({\n props: inProps,\n name: 'MuiAutocomplete'\n });\n\n /* eslint-disable @typescript-eslint/no-unused-vars */\n const {\n autoComplete = false,\n autoHighlight = false,\n autoSelect = false,\n blurOnSelect = false,\n ChipProps,\n className,\n clearIcon = _ClearIcon || (_ClearIcon = /*#__PURE__*/_jsx(ClearIcon, {\n fontSize: \"small\"\n })),\n clearOnBlur = !props.freeSolo,\n clearOnEscape = false,\n clearText = 'Clear',\n closeText = 'Close',\n componentsProps = {},\n defaultValue = props.multiple ? [] : null,\n disableClearable = false,\n disableCloseOnSelect = false,\n disabled = false,\n disabledItemsFocusable = false,\n disableListWrap = false,\n disablePortal = false,\n filterSelectedOptions = false,\n forcePopupIcon = 'auto',\n freeSolo = false,\n fullWidth = false,\n getLimitTagsText = more => `+${more}`,\n getOptionLabel: getOptionLabelProp,\n groupBy,\n handleHomeEndKeys = !props.freeSolo,\n includeInputInList = false,\n limitTags = -1,\n ListboxComponent = 'ul',\n ListboxProps,\n loading = false,\n loadingText = 'Loading…',\n multiple = false,\n noOptionsText = 'No options',\n openOnFocus = false,\n openText = 'Open',\n PaperComponent = Paper,\n PopperComponent = Popper,\n popupIcon = _ArrowDropDownIcon || (_ArrowDropDownIcon = /*#__PURE__*/_jsx(ArrowDropDownIcon, {})),\n readOnly = false,\n renderGroup: renderGroupProp,\n renderInput,\n renderOption: renderOptionProp,\n renderTags,\n selectOnFocus = !props.freeSolo,\n size = 'medium',\n slotProps = {}\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n /* eslint-enable @typescript-eslint/no-unused-vars */\n\n const {\n getRootProps,\n getInputProps,\n getInputLabelProps,\n getPopupIndicatorProps,\n getClearProps,\n getTagProps,\n getListboxProps,\n getOptionProps,\n value,\n dirty,\n expanded,\n id,\n popupOpen,\n focused,\n focusedTag,\n anchorEl,\n setAnchorEl,\n inputValue,\n groupedOptions\n } = useAutocomplete(_extends({}, props, {\n componentName: 'Autocomplete'\n }));\n const hasClearIcon = !disableClearable && !disabled && dirty && !readOnly;\n const hasPopupIcon = (!freeSolo || forcePopupIcon === true) && forcePopupIcon !== false;\n const {\n onMouseDown: handleInputMouseDown\n } = getInputProps();\n const {\n ref: externalListboxRef\n } = ListboxProps != null ? ListboxProps : {};\n const _getListboxProps = getListboxProps(),\n {\n ref: listboxRef\n } = _getListboxProps,\n otherListboxProps = _objectWithoutPropertiesLoose(_getListboxProps, _excluded2);\n const combinedListboxRef = useForkRef(listboxRef, externalListboxRef);\n const defaultGetOptionLabel = option => {\n var _option$label;\n return (_option$label = option.label) != null ? _option$label : option;\n };\n const getOptionLabel = getOptionLabelProp || defaultGetOptionLabel;\n\n // If you modify this, make sure to keep the `AutocompleteOwnerState` type in sync.\n const ownerState = _extends({}, props, {\n disablePortal,\n expanded,\n focused,\n fullWidth,\n getOptionLabel,\n hasClearIcon,\n hasPopupIcon,\n inputFocused: focusedTag === -1,\n popupOpen,\n size\n });\n const classes = useUtilityClasses(ownerState);\n let startAdornment;\n if (multiple && value.length > 0) {\n const getCustomizedTagProps = params => _extends({\n className: classes.tag,\n disabled\n }, getTagProps(params));\n if (renderTags) {\n startAdornment = renderTags(value, getCustomizedTagProps, ownerState);\n } else {\n startAdornment = value.map((option, index) => {\n const _getCustomizedTagProp = getCustomizedTagProps({\n index\n }),\n {\n key\n } = _getCustomizedTagProp,\n customTagProps = _objectWithoutPropertiesLoose(_getCustomizedTagProp, _excluded3);\n return /*#__PURE__*/_jsx(Chip, _extends({\n label: getOptionLabel(option),\n size: size\n }, customTagProps, ChipProps), key);\n });\n }\n }\n if (limitTags > -1 && Array.isArray(startAdornment)) {\n const more = startAdornment.length - limitTags;\n if (!focused && more > 0) {\n startAdornment = startAdornment.splice(0, limitTags);\n startAdornment.push( /*#__PURE__*/_jsx(\"span\", {\n className: classes.tag,\n children: getLimitTagsText(more)\n }, startAdornment.length));\n }\n }\n const defaultRenderGroup = params => /*#__PURE__*/_jsxs(\"li\", {\n children: [/*#__PURE__*/_jsx(AutocompleteGroupLabel, {\n className: classes.groupLabel,\n ownerState: ownerState,\n component: \"div\",\n children: params.group\n }), /*#__PURE__*/_jsx(AutocompleteGroupUl, {\n className: classes.groupUl,\n ownerState: ownerState,\n children: params.children\n })]\n }, params.key);\n const renderGroup = renderGroupProp || defaultRenderGroup;\n const defaultRenderOption = (props2, option) => {\n // Need to clearly apply key because of https://github.com/vercel/next.js/issues/55642\n const {\n key\n } = props2,\n otherProps = _objectWithoutPropertiesLoose(props2, _excluded4);\n return /*#__PURE__*/_jsx(\"li\", _extends({}, otherProps, {\n children: getOptionLabel(option)\n }), key);\n };\n const renderOption = renderOptionProp || defaultRenderOption;\n const renderListOption = (option, index) => {\n const optionProps = getOptionProps({\n option,\n index\n });\n return renderOption(_extends({}, optionProps, {\n className: classes.option\n }), option, {\n selected: optionProps['aria-selected'],\n index,\n inputValue\n }, ownerState);\n };\n const clearIndicatorSlotProps = (_slotProps$clearIndic = slotProps.clearIndicator) != null ? _slotProps$clearIndic : componentsProps.clearIndicator;\n const paperSlotProps = (_slotProps$paper = slotProps.paper) != null ? _slotProps$paper : componentsProps.paper;\n const popperSlotProps = (_slotProps$popper = slotProps.popper) != null ? _slotProps$popper : componentsProps.popper;\n const popupIndicatorSlotProps = (_slotProps$popupIndic = slotProps.popupIndicator) != null ? _slotProps$popupIndic : componentsProps.popupIndicator;\n const renderAutocompletePopperChildren = children => /*#__PURE__*/_jsx(AutocompletePopper, _extends({\n as: PopperComponent,\n disablePortal: disablePortal,\n style: {\n width: anchorEl ? anchorEl.clientWidth : null\n },\n ownerState: ownerState,\n role: \"presentation\",\n anchorEl: anchorEl,\n open: popupOpen\n }, popperSlotProps, {\n className: clsx(classes.popper, popperSlotProps == null ? void 0 : popperSlotProps.className),\n children: /*#__PURE__*/_jsx(AutocompletePaper, _extends({\n ownerState: ownerState,\n as: PaperComponent\n }, paperSlotProps, {\n className: clsx(classes.paper, paperSlotProps == null ? void 0 : paperSlotProps.className),\n children: children\n }))\n }));\n let autocompletePopper = null;\n if (groupedOptions.length > 0) {\n autocompletePopper = renderAutocompletePopperChildren( /*#__PURE__*/_jsx(AutocompleteListbox, _extends({\n as: ListboxComponent,\n className: classes.listbox,\n ownerState: ownerState\n }, otherListboxProps, ListboxProps, {\n ref: combinedListboxRef,\n children: groupedOptions.map((option, index) => {\n if (groupBy) {\n return renderGroup({\n key: option.key,\n group: option.group,\n children: option.options.map((option2, index2) => renderListOption(option2, option.index + index2))\n });\n }\n return renderListOption(option, index);\n })\n })));\n } else if (loading && groupedOptions.length === 0) {\n autocompletePopper = renderAutocompletePopperChildren( /*#__PURE__*/_jsx(AutocompleteLoading, {\n className: classes.loading,\n ownerState: ownerState,\n children: loadingText\n }));\n } else if (groupedOptions.length === 0 && !freeSolo && !loading) {\n autocompletePopper = renderAutocompletePopperChildren( /*#__PURE__*/_jsx(AutocompleteNoOptions, {\n className: classes.noOptions,\n ownerState: ownerState,\n role: \"presentation\",\n onMouseDown: event => {\n // Prevent input blur when interacting with the \"no options\" content\n event.preventDefault();\n },\n children: noOptionsText\n }));\n }\n return /*#__PURE__*/_jsxs(React.Fragment, {\n children: [/*#__PURE__*/_jsx(AutocompleteRoot, _extends({\n ref: ref,\n className: clsx(classes.root, className),\n ownerState: ownerState\n }, getRootProps(other), {\n children: renderInput({\n id,\n disabled,\n fullWidth: true,\n size: size === 'small' ? 'small' : undefined,\n InputLabelProps: getInputLabelProps(),\n InputProps: _extends({\n ref: setAnchorEl,\n className: classes.inputRoot,\n startAdornment,\n onClick: event => {\n if (event.target === event.currentTarget) {\n handleInputMouseDown(event);\n }\n }\n }, (hasClearIcon || hasPopupIcon) && {\n endAdornment: /*#__PURE__*/_jsxs(AutocompleteEndAdornment, {\n className: classes.endAdornment,\n ownerState: ownerState,\n children: [hasClearIcon ? /*#__PURE__*/_jsx(AutocompleteClearIndicator, _extends({}, getClearProps(), {\n \"aria-label\": clearText,\n title: clearText,\n ownerState: ownerState\n }, clearIndicatorSlotProps, {\n className: clsx(classes.clearIndicator, clearIndicatorSlotProps == null ? void 0 : clearIndicatorSlotProps.className),\n children: clearIcon\n })) : null, hasPopupIcon ? /*#__PURE__*/_jsx(AutocompletePopupIndicator, _extends({}, getPopupIndicatorProps(), {\n disabled: disabled,\n \"aria-label\": popupOpen ? closeText : openText,\n title: popupOpen ? closeText : openText,\n ownerState: ownerState\n }, popupIndicatorSlotProps, {\n className: clsx(classes.popupIndicator, popupIndicatorSlotProps == null ? void 0 : popupIndicatorSlotProps.className),\n children: popupIcon\n })) : null]\n })\n }),\n inputProps: _extends({\n className: classes.input,\n disabled,\n readOnly\n }, getInputProps())\n })\n })), anchorEl ? autocompletePopper : null]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Autocomplete.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * If `true`, the portion of the selected suggestion that the user hasn't typed,\n * known as the completion string, appears inline after the input cursor in the textbox.\n * The inline completion string is visually highlighted and has a selected state.\n * @default false\n */\n autoComplete: PropTypes.bool,\n /**\n * If `true`, the first option is automatically highlighted.\n * @default false\n */\n autoHighlight: PropTypes.bool,\n /**\n * If `true`, the selected option becomes the value of the input\n * when the Autocomplete loses focus unless the user chooses\n * a different option or changes the character string in the input.\n *\n * When using the `freeSolo` mode, the typed value will be the input value\n * if the Autocomplete loses focus without highlighting an option.\n * @default false\n */\n autoSelect: PropTypes.bool,\n /**\n * Control if the input should be blurred when an option is selected:\n *\n * - `false` the input is not blurred.\n * - `true` the input is always blurred.\n * - `touch` the input is blurred after a touch event.\n * - `mouse` the input is blurred after a mouse event.\n * @default false\n */\n blurOnSelect: PropTypes.oneOfType([PropTypes.oneOf(['mouse', 'touch']), PropTypes.bool]),\n /**\n * Props applied to the [`Chip`](/material-ui/api/chip/) element.\n */\n ChipProps: PropTypes.object,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The icon to display in place of the default clear icon.\n * @default <ClearIcon fontSize=\"small\" />\n */\n clearIcon: PropTypes.node,\n /**\n * If `true`, the input's text is cleared on blur if no value is selected.\n *\n * Set it to `true` if you want to help the user enter a new value.\n * Set it to `false` if you want to help the user resume their search.\n * @default !props.freeSolo\n */\n clearOnBlur: PropTypes.bool,\n /**\n * If `true`, clear all values when the user presses escape and the popup is closed.\n * @default false\n */\n clearOnEscape: PropTypes.bool,\n /**\n * Override the default text for the *clear* icon button.\n *\n * For localization purposes, you can use the provided [translations](/material-ui/guides/localization/).\n * @default 'Clear'\n */\n clearText: PropTypes.string,\n /**\n * Override the default text for the *close popup* icon button.\n *\n * For localization purposes, you can use the provided [translations](/material-ui/guides/localization/).\n * @default 'Close'\n */\n closeText: PropTypes.string,\n /**\n * The props used for each slot inside.\n * @default {}\n */\n componentsProps: PropTypes.shape({\n clearIndicator: PropTypes.object,\n paper: PropTypes.object,\n popper: PropTypes.object,\n popupIndicator: PropTypes.object\n }),\n /**\n * The default value. Use when the component is not controlled.\n * @default props.multiple ? [] : null\n */\n defaultValue: chainPropTypes(PropTypes.any, props => {\n if (props.multiple && props.defaultValue !== undefined && !Array.isArray(props.defaultValue)) {\n return new Error(['MUI: The Autocomplete expects the `defaultValue` prop to be an array when `multiple={true}` or undefined.', `However, ${props.defaultValue} was provided.`].join('\\n'));\n }\n return null;\n }),\n /**\n * If `true`, the input can't be cleared.\n * @default false\n */\n disableClearable: PropTypes.bool,\n /**\n * If `true`, the popup won't close when a value is selected.\n * @default false\n */\n disableCloseOnSelect: PropTypes.bool,\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, will allow focus on disabled items.\n * @default false\n */\n disabledItemsFocusable: PropTypes.bool,\n /**\n * If `true`, the list box in the popup will not wrap focus.\n * @default false\n */\n disableListWrap: PropTypes.bool,\n /**\n * If `true`, the `Popper` content will be under the DOM hierarchy of the parent component.\n * @default false\n */\n disablePortal: PropTypes.bool,\n /**\n * A function that determines the filtered options to be rendered on search.\n *\n * @default createFilterOptions()\n * @param {Value[]} options The options to render.\n * @param {object} state The state of the component.\n * @returns {Value[]}\n */\n filterOptions: PropTypes.func,\n /**\n * If `true`, hide the selected options from the list box.\n * @default false\n */\n filterSelectedOptions: PropTypes.bool,\n /**\n * Force the visibility display of the popup icon.\n * @default 'auto'\n */\n forcePopupIcon: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.bool]),\n /**\n * If `true`, the Autocomplete is free solo, meaning that the user input is not bound to provided options.\n * @default false\n */\n freeSolo: PropTypes.bool,\n /**\n * If `true`, the input will take up the full width of its container.\n * @default false\n */\n fullWidth: PropTypes.bool,\n /**\n * The label to display when the tags are truncated (`limitTags`).\n *\n * @param {number} more The number of truncated tags.\n * @returns {ReactNode}\n * @default (more) => `+${more}`\n */\n getLimitTagsText: PropTypes.func,\n /**\n * Used to determine the disabled state for a given option.\n *\n * @param {Value} option The option to test.\n * @returns {boolean}\n */\n getOptionDisabled: PropTypes.func,\n /**\n * Used to determine the key for a given option.\n * This can be useful when the labels of options are not unique (since labels are used as keys by default).\n *\n * @param {Value} option The option to get the key for.\n * @returns {string | number}\n */\n getOptionKey: PropTypes.func,\n /**\n * Used to determine the string value for a given option.\n * It's used to fill the input (and the list box options if `renderOption` is not provided).\n *\n * If used in free solo mode, it must accept both the type of the options and a string.\n *\n * @param {Value} option\n * @returns {string}\n * @default (option) => option.label ?? option\n */\n getOptionLabel: PropTypes.func,\n /**\n * If provided, the options will be grouped under the returned string.\n * The groupBy value is also used as the text for group headings when `renderGroup` is not provided.\n *\n * @param {Value} options The options to group.\n * @returns {string}\n */\n groupBy: PropTypes.func,\n /**\n * If `true`, the component handles the \"Home\" and \"End\" keys when the popup is open.\n * It should move focus to the first option and last option, respectively.\n * @default !props.freeSolo\n */\n handleHomeEndKeys: PropTypes.bool,\n /**\n * This prop is used to help implement the accessibility logic.\n * If you don't provide an id it will fall back to a randomly generated one.\n */\n id: PropTypes.string,\n /**\n * If `true`, the highlight can move to the input.\n * @default false\n */\n includeInputInList: PropTypes.bool,\n /**\n * The input value.\n */\n inputValue: PropTypes.string,\n /**\n * Used to determine if the option represents the given value.\n * Uses strict equality by default.\n * ⚠️ Both arguments need to be handled, an option can only match with one value.\n *\n * @param {Value} option The option to test.\n * @param {Value} value The value to test against.\n * @returns {boolean}\n */\n isOptionEqualToValue: PropTypes.func,\n /**\n * The maximum number of tags that will be visible when not focused.\n * Set `-1` to disable the limit.\n * @default -1\n */\n limitTags: integerPropType,\n /**\n * The component used to render the listbox.\n * @default 'ul'\n */\n ListboxComponent: PropTypes.elementType,\n /**\n * Props applied to the Listbox element.\n */\n ListboxProps: PropTypes.object,\n /**\n * If `true`, the component is in a loading state.\n * This shows the `loadingText` in place of suggestions (only if there are no suggestions to show, for example `options` are empty).\n * @default false\n */\n loading: PropTypes.bool,\n /**\n * Text to display when in a loading state.\n *\n * For localization purposes, you can use the provided [translations](/material-ui/guides/localization/).\n * @default 'Loading…'\n */\n loadingText: PropTypes.node,\n /**\n * If `true`, `value` must be an array and the menu will support multiple selections.\n * @default false\n */\n multiple: PropTypes.bool,\n /**\n * Text to display when there are no options.\n *\n * For localization purposes, you can use the provided [translations](/material-ui/guides/localization/).\n * @default 'No options'\n */\n noOptionsText: PropTypes.node,\n /**\n * Callback fired when the value changes.\n *\n * @param {React.SyntheticEvent} event The event source of the callback.\n * @param {Value|Value[]} value The new value of the component.\n * @param {string} reason One of \"createOption\", \"selectOption\", \"removeOption\", \"blur\" or \"clear\".\n * @param {string} [details]\n */\n onChange: PropTypes.func,\n /**\n * Callback fired when the popup requests to be closed.\n * Use in controlled mode (see open).\n *\n * @param {React.SyntheticEvent} event The event source of the callback.\n * @param {string} reason Can be: `\"toggleInput\"`, `\"escape\"`, `\"selectOption\"`, `\"removeOption\"`, `\"blur\"`.\n */\n onClose: PropTypes.func,\n /**\n * Callback fired when the highlight option changes.\n *\n * @param {React.SyntheticEvent} event The event source of the callback.\n * @param {Value} option The highlighted option.\n * @param {string} reason Can be: `\"keyboard\"`, `\"auto\"`, `\"mouse\"`, `\"touch\"`.\n */\n onHighlightChange: PropTypes.func,\n /**\n * Callback fired when the input value changes.\n *\n * @param {React.SyntheticEvent} event The event source of the callback.\n * @param {string} value The new value of the text input.\n * @param {string} reason Can be: `\"input\"` (user input), `\"reset\"` (programmatic change), `\"clear\"`.\n */\n onInputChange: PropTypes.func,\n /**\n * @ignore\n */\n onKeyDown: PropTypes.func,\n /**\n * Callback fired when the popup requests to be opened.\n * Use in controlled mode (see open).\n *\n * @param {React.SyntheticEvent} event The event source of the callback.\n */\n onOpen: PropTypes.func,\n /**\n * If `true`, the component is shown.\n */\n open: PropTypes.bool,\n /**\n * If `true`, the popup will open on input focus.\n * @default false\n */\n openOnFocus: PropTypes.bool,\n /**\n * Override the default text for the *open popup* icon button.\n *\n * For localization purposes, you can use the provided [translations](/material-ui/guides/localization/).\n * @default 'Open'\n */\n openText: PropTypes.string,\n /**\n * Array of options.\n */\n options: PropTypes.array.isRequired,\n /**\n * The component used to render the body of the popup.\n * @default Paper\n */\n PaperComponent: PropTypes.elementType,\n /**\n * The component used to position the popup.\n * @default Popper\n */\n PopperComponent: PropTypes.elementType,\n /**\n * The icon to display in place of the default popup icon.\n * @default <ArrowDropDownIcon />\n */\n popupIcon: PropTypes.node,\n /**\n * If `true`, the component becomes readonly. It is also supported for multiple tags where the tag cannot be deleted.\n * @default false\n */\n readOnly: PropTypes.bool,\n /**\n * Render the group.\n *\n * @param {AutocompleteRenderGroupParams} params The group to render.\n * @returns {ReactNode}\n */\n renderGroup: PropTypes.func,\n /**\n * Render the input.\n *\n * @param {object} params\n * @returns {ReactNode}\n */\n renderInput: PropTypes.func.isRequired,\n /**\n * Render the option, use `getOptionLabel` by default.\n *\n * @param {object} props The props to apply on the li element.\n * @param {Value} option The option to render.\n * @param {object} state The state of each option.\n * @param {object} ownerState The state of the Autocomplete component.\n * @returns {ReactNode}\n */\n renderOption: PropTypes.func,\n /**\n * Render the selected value.\n *\n * @param {Value[]} value The `value` provided to the component.\n * @param {function} getTagProps A tag props getter.\n * @param {object} ownerState The state of the Autocomplete component.\n * @returns {ReactNode}\n */\n renderTags: PropTypes.func,\n /**\n * If `true`, the input's text is selected on focus.\n * It helps the user clear the selected value.\n * @default !props.freeSolo\n */\n selectOnFocus: PropTypes.bool,\n /**\n * The size of the component.\n * @default 'medium'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['small', 'medium']), PropTypes.string]),\n /**\n * The props used for each slot inside.\n * @default {}\n */\n slotProps: PropTypes.shape({\n clearIndicator: PropTypes.object,\n paper: PropTypes.object,\n popper: PropTypes.object,\n popupIndicator: PropTypes.object\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The value of the autocomplete.\n *\n * The value must have reference equality with the option in order to be selected.\n * You can customize the equality behavior with the `isOptionEqualToValue` prop.\n */\n value: chainPropTypes(PropTypes.any, props => {\n if (props.multiple && props.value !== undefined && !Array.isArray(props.value)) {\n return new Error(['MUI: The Autocomplete expects the `value` prop to be an array when `multiple={true}` or undefined.', `However, ${props.value} was provided.`].join('\\n'));\n }\n return null;\n })\n} : void 0;\nexport default Autocomplete;","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z\"\n}), 'Person');","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getAvatarUtilityClass(slot) {\n return generateUtilityClass('MuiAvatar', slot);\n}\nconst avatarClasses = generateUtilityClasses('MuiAvatar', ['root', 'colorDefault', 'circular', 'rounded', 'square', 'img', 'fallback']);\nexport default avatarClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"alt\", \"children\", \"className\", \"component\", \"slots\", \"slotProps\", \"imgProps\", \"sizes\", \"src\", \"srcSet\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { styled, createUseThemeProps } from '../zero-styled';\nimport Person from '../internal/svg-icons/Person';\nimport { getAvatarUtilityClass } from './avatarClasses';\nimport useSlot from '../utils/useSlot';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useThemeProps = createUseThemeProps('MuiAvatar');\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n variant,\n colorDefault\n } = ownerState;\n const slots = {\n root: ['root', variant, colorDefault && 'colorDefault'],\n img: ['img'],\n fallback: ['fallback']\n };\n return composeClasses(slots, getAvatarUtilityClass, classes);\n};\nconst AvatarRoot = styled('div', {\n name: 'MuiAvatar',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[ownerState.variant], ownerState.colorDefault && styles.colorDefault];\n }\n})(({\n theme\n}) => ({\n position: 'relative',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n width: 40,\n height: 40,\n fontFamily: theme.typography.fontFamily,\n fontSize: theme.typography.pxToRem(20),\n lineHeight: 1,\n borderRadius: '50%',\n overflow: 'hidden',\n userSelect: 'none',\n variants: [{\n props: {\n variant: 'rounded'\n },\n style: {\n borderRadius: (theme.vars || theme).shape.borderRadius\n }\n }, {\n props: {\n variant: 'square'\n },\n style: {\n borderRadius: 0\n }\n }, {\n props: {\n colorDefault: true\n },\n style: _extends({\n color: (theme.vars || theme).palette.background.default\n }, theme.vars ? {\n backgroundColor: theme.vars.palette.Avatar.defaultBg\n } : _extends({\n backgroundColor: theme.palette.grey[400]\n }, theme.applyStyles('dark', {\n backgroundColor: theme.palette.grey[600]\n })))\n }]\n}));\nconst AvatarImg = styled('img', {\n name: 'MuiAvatar',\n slot: 'Img',\n overridesResolver: (props, styles) => styles.img\n})({\n width: '100%',\n height: '100%',\n textAlign: 'center',\n // Handle non-square image. The property isn't supported by IE11.\n objectFit: 'cover',\n // Hide alt text.\n color: 'transparent',\n // Hide the image broken icon, only works on Chrome.\n textIndent: 10000\n});\nconst AvatarFallback = styled(Person, {\n name: 'MuiAvatar',\n slot: 'Fallback',\n overridesResolver: (props, styles) => styles.fallback\n})({\n width: '75%',\n height: '75%'\n});\nfunction useLoaded({\n crossOrigin,\n referrerPolicy,\n src,\n srcSet\n}) {\n const [loaded, setLoaded] = React.useState(false);\n React.useEffect(() => {\n if (!src && !srcSet) {\n return undefined;\n }\n setLoaded(false);\n let active = true;\n const image = new Image();\n image.onload = () => {\n if (!active) {\n return;\n }\n setLoaded('loaded');\n };\n image.onerror = () => {\n if (!active) {\n return;\n }\n setLoaded('error');\n };\n image.crossOrigin = crossOrigin;\n image.referrerPolicy = referrerPolicy;\n image.src = src;\n if (srcSet) {\n image.srcset = srcSet;\n }\n return () => {\n active = false;\n };\n }, [crossOrigin, referrerPolicy, src, srcSet]);\n return loaded;\n}\nconst Avatar = /*#__PURE__*/React.forwardRef(function Avatar(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiAvatar'\n });\n const {\n alt,\n children: childrenProp,\n className,\n component = 'div',\n slots = {},\n slotProps = {},\n imgProps,\n sizes,\n src,\n srcSet,\n variant = 'circular'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n let children = null;\n\n // Use a hook instead of onError on the img element to support server-side rendering.\n const loaded = useLoaded(_extends({}, imgProps, {\n src,\n srcSet\n }));\n const hasImg = src || srcSet;\n const hasImgNotFailing = hasImg && loaded !== 'error';\n const ownerState = _extends({}, props, {\n colorDefault: !hasImgNotFailing,\n component,\n variant\n });\n const classes = useUtilityClasses(ownerState);\n const [ImgSlot, imgSlotProps] = useSlot('img', {\n className: classes.img,\n elementType: AvatarImg,\n externalForwardedProps: {\n slots,\n slotProps: {\n img: _extends({}, imgProps, slotProps.img)\n }\n },\n additionalProps: {\n alt,\n src,\n srcSet,\n sizes\n },\n ownerState\n });\n if (hasImgNotFailing) {\n children = /*#__PURE__*/_jsx(ImgSlot, _extends({}, imgSlotProps));\n // We only render valid children, non valid children are rendered with a fallback\n // We consider that invalid children are all falsy values, except 0, which is valid.\n } else if (!!childrenProp || childrenProp === 0) {\n children = childrenProp;\n } else if (hasImg && alt) {\n children = alt[0];\n } else {\n children = /*#__PURE__*/_jsx(AvatarFallback, {\n ownerState: ownerState,\n className: classes.fallback\n });\n }\n return /*#__PURE__*/_jsx(AvatarRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Avatar.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Used in combination with `src` or `srcSet` to\n * provide an alt attribute for the rendered `img` element.\n */\n alt: PropTypes.string,\n /**\n * Used to render icon or text elements inside the Avatar if `src` is not set.\n * This can be an element, or just a string.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img#attributes) applied to the `img` element if the component is used to display an image.\n * It can be used to listen for the loading error event.\n * @deprecated Use `slotProps.img` instead. This prop will be removed in v7. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/).\n */\n imgProps: PropTypes.object,\n /**\n * The `sizes` attribute for the `img` element.\n */\n sizes: PropTypes.string,\n /**\n * The props used for each slot inside.\n * @default {}\n */\n slotProps: PropTypes.shape({\n img: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside.\n * @default {}\n */\n slots: PropTypes.shape({\n img: PropTypes.elementType\n }),\n /**\n * The `src` attribute for the `img` element.\n */\n src: PropTypes.string,\n /**\n * The `srcSet` attribute for the `img` element.\n * Use this attribute for responsive image display.\n */\n srcSet: PropTypes.string,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The shape of the avatar.\n * @default 'circular'\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['circular', 'rounded', 'square']), PropTypes.string])\n} : void 0;\nexport default Avatar;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"addEndListener\", \"appear\", \"children\", \"easing\", \"in\", \"onEnter\", \"onEntered\", \"onEntering\", \"onExit\", \"onExited\", \"onExiting\", \"style\", \"timeout\", \"TransitionComponent\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { Transition } from 'react-transition-group';\nimport elementAcceptingRef from '@mui/utils/elementAcceptingRef';\nimport useTheme from '../styles/useTheme';\nimport { reflow, getTransitionProps } from '../transitions/utils';\nimport useForkRef from '../utils/useForkRef';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst styles = {\n entering: {\n opacity: 1\n },\n entered: {\n opacity: 1\n }\n};\n\n/**\n * The Fade transition is used by the [Modal](/material-ui/react-modal/) component.\n * It uses [react-transition-group](https://github.com/reactjs/react-transition-group) internally.\n */\nconst Fade = /*#__PURE__*/React.forwardRef(function Fade(props, ref) {\n const theme = useTheme();\n const defaultTimeout = {\n enter: theme.transitions.duration.enteringScreen,\n exit: theme.transitions.duration.leavingScreen\n };\n const {\n addEndListener,\n appear = true,\n children,\n easing,\n in: inProp,\n onEnter,\n onEntered,\n onEntering,\n onExit,\n onExited,\n onExiting,\n style,\n timeout = defaultTimeout,\n // eslint-disable-next-line react/prop-types\n TransitionComponent = Transition\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const enableStrictModeCompat = true;\n const nodeRef = React.useRef(null);\n const handleRef = useForkRef(nodeRef, children.ref, ref);\n const normalizedTransitionCallback = callback => maybeIsAppearing => {\n if (callback) {\n const node = nodeRef.current;\n\n // onEnterXxx and onExitXxx callbacks have a different arguments.length value.\n if (maybeIsAppearing === undefined) {\n callback(node);\n } else {\n callback(node, maybeIsAppearing);\n }\n }\n };\n const handleEntering = normalizedTransitionCallback(onEntering);\n const handleEnter = normalizedTransitionCallback((node, isAppearing) => {\n reflow(node); // So the animation always start from the start.\n\n const transitionProps = getTransitionProps({\n style,\n timeout,\n easing\n }, {\n mode: 'enter'\n });\n node.style.webkitTransition = theme.transitions.create('opacity', transitionProps);\n node.style.transition = theme.transitions.create('opacity', transitionProps);\n if (onEnter) {\n onEnter(node, isAppearing);\n }\n });\n const handleEntered = normalizedTransitionCallback(onEntered);\n const handleExiting = normalizedTransitionCallback(onExiting);\n const handleExit = normalizedTransitionCallback(node => {\n const transitionProps = getTransitionProps({\n style,\n timeout,\n easing\n }, {\n mode: 'exit'\n });\n node.style.webkitTransition = theme.transitions.create('opacity', transitionProps);\n node.style.transition = theme.transitions.create('opacity', transitionProps);\n if (onExit) {\n onExit(node);\n }\n });\n const handleExited = normalizedTransitionCallback(onExited);\n const handleAddEndListener = next => {\n if (addEndListener) {\n // Old call signature before `react-transition-group` implemented `nodeRef`\n addEndListener(nodeRef.current, next);\n }\n };\n return /*#__PURE__*/_jsx(TransitionComponent, _extends({\n appear: appear,\n in: inProp,\n nodeRef: enableStrictModeCompat ? nodeRef : undefined,\n onEnter: handleEnter,\n onEntered: handleEntered,\n onEntering: handleEntering,\n onExit: handleExit,\n onExited: handleExited,\n onExiting: handleExiting,\n addEndListener: handleAddEndListener,\n timeout: timeout\n }, other, {\n children: (state, childProps) => {\n return /*#__PURE__*/React.cloneElement(children, _extends({\n style: _extends({\n opacity: 0,\n visibility: state === 'exited' && !inProp ? 'hidden' : undefined\n }, styles[state], style, children.props.style),\n ref: handleRef\n }, childProps));\n }\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Fade.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Add a custom transition end trigger. Called with the transitioning DOM\n * node and a done callback. Allows for more fine grained transition end\n * logic. Note: Timeouts are still used as a fallback if provided.\n */\n addEndListener: PropTypes.func,\n /**\n * Perform the enter transition when it first mounts if `in` is also `true`.\n * Set this to `false` to disable this behavior.\n * @default true\n */\n appear: PropTypes.bool,\n /**\n * A single child content element.\n */\n children: elementAcceptingRef.isRequired,\n /**\n * The transition timing function.\n * You may specify a single easing or a object containing enter and exit values.\n */\n easing: PropTypes.oneOfType([PropTypes.shape({\n enter: PropTypes.string,\n exit: PropTypes.string\n }), PropTypes.string]),\n /**\n * If `true`, the component will transition in.\n */\n in: PropTypes.bool,\n /**\n * @ignore\n */\n onEnter: PropTypes.func,\n /**\n * @ignore\n */\n onEntered: PropTypes.func,\n /**\n * @ignore\n */\n onEntering: PropTypes.func,\n /**\n * @ignore\n */\n onExit: PropTypes.func,\n /**\n * @ignore\n */\n onExited: PropTypes.func,\n /**\n * @ignore\n */\n onExiting: PropTypes.func,\n /**\n * @ignore\n */\n style: PropTypes.object,\n /**\n * The duration for the transition, in milliseconds.\n * You may specify a single timeout for all transitions, or individually with an object.\n * @default {\n * enter: theme.transitions.duration.enteringScreen,\n * exit: theme.transitions.duration.leavingScreen,\n * }\n */\n timeout: PropTypes.oneOfType([PropTypes.number, PropTypes.shape({\n appear: PropTypes.number,\n enter: PropTypes.number,\n exit: PropTypes.number\n })])\n} : void 0;\nexport default Fade;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getBackdropUtilityClass(slot) {\n return generateUtilityClass('MuiBackdrop', slot);\n}\nconst backdropClasses = generateUtilityClasses('MuiBackdrop', ['root', 'invisible']);\nexport default backdropClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"className\", \"component\", \"components\", \"componentsProps\", \"invisible\", \"open\", \"slotProps\", \"slots\", \"TransitionComponent\", \"transitionDuration\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport Fade from '../Fade';\nimport { getBackdropUtilityClass } from './backdropClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n invisible\n } = ownerState;\n const slots = {\n root: ['root', invisible && 'invisible']\n };\n return composeClasses(slots, getBackdropUtilityClass, classes);\n};\nconst BackdropRoot = styled('div', {\n name: 'MuiBackdrop',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.invisible && styles.invisible];\n }\n})(({\n ownerState\n}) => _extends({\n position: 'fixed',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n right: 0,\n bottom: 0,\n top: 0,\n left: 0,\n backgroundColor: 'rgba(0, 0, 0, 0.5)',\n WebkitTapHighlightColor: 'transparent'\n}, ownerState.invisible && {\n backgroundColor: 'transparent'\n}));\nconst Backdrop = /*#__PURE__*/React.forwardRef(function Backdrop(inProps, ref) {\n var _slotProps$root, _ref, _slots$root;\n const props = useThemeProps({\n props: inProps,\n name: 'MuiBackdrop'\n });\n const {\n children,\n className,\n component = 'div',\n components = {},\n componentsProps = {},\n invisible = false,\n open,\n slotProps = {},\n slots = {},\n TransitionComponent = Fade,\n transitionDuration\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n component,\n invisible\n });\n const classes = useUtilityClasses(ownerState);\n const rootSlotProps = (_slotProps$root = slotProps.root) != null ? _slotProps$root : componentsProps.root;\n return /*#__PURE__*/_jsx(TransitionComponent, _extends({\n in: open,\n timeout: transitionDuration\n }, other, {\n children: /*#__PURE__*/_jsx(BackdropRoot, _extends({\n \"aria-hidden\": true\n }, rootSlotProps, {\n as: (_ref = (_slots$root = slots.root) != null ? _slots$root : components.Root) != null ? _ref : component,\n className: clsx(classes.root, className, rootSlotProps == null ? void 0 : rootSlotProps.className),\n ownerState: _extends({}, ownerState, rootSlotProps == null ? void 0 : rootSlotProps.ownerState),\n classes: classes,\n ref: ref,\n children: children\n }))\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Backdrop.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * The components used for each slot inside.\n *\n * This prop is an alias for the `slots` prop.\n * It's recommended to use the `slots` prop instead.\n *\n * @default {}\n */\n components: PropTypes.shape({\n Root: PropTypes.elementType\n }),\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * This prop is an alias for the `slotProps` prop.\n * It's recommended to use the `slotProps` prop instead, as `componentsProps` will be deprecated in the future.\n *\n * @default {}\n */\n componentsProps: PropTypes.shape({\n root: PropTypes.object\n }),\n /**\n * If `true`, the backdrop is invisible.\n * It can be used when rendering a popover or a custom select component.\n * @default false\n */\n invisible: PropTypes.bool,\n /**\n * If `true`, the component is shown.\n */\n open: PropTypes.bool.isRequired,\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * This prop is an alias for the `componentsProps` prop, which will be deprecated in the future.\n *\n * @default {}\n */\n slotProps: PropTypes.shape({\n root: PropTypes.object\n }),\n /**\n * The components used for each slot inside.\n *\n * This prop is an alias for the `components` prop, which will be deprecated in the future.\n *\n * @default {}\n */\n slots: PropTypes.shape({\n root: PropTypes.elementType\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The component used for the transition.\n * [Follow this guide](/material-ui/transitions/#transitioncomponent-prop) to learn more about the requirements for this component.\n * @default Fade\n */\n TransitionComponent: PropTypes.elementType,\n /**\n * The duration for the transition, in milliseconds.\n * You may specify a single timeout for all transitions, or individually with an object.\n */\n transitionDuration: PropTypes.oneOfType([PropTypes.number, PropTypes.shape({\n appear: PropTypes.number,\n enter: PropTypes.number,\n exit: PropTypes.number\n })])\n} : void 0;\nexport default Backdrop;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nconst boxClasses = generateUtilityClasses('MuiBox', ['root']);\nexport default boxClasses;","'use client';\n\nimport { createBox } from '@mui/system';\nimport PropTypes from 'prop-types';\nimport { unstable_ClassNameGenerator as ClassNameGenerator } from '../className';\nimport { createTheme } from '../styles';\nimport THEME_ID from '../styles/identifier';\nimport boxClasses from './boxClasses';\nconst defaultTheme = createTheme();\nconst Box = createBox({\n themeId: THEME_ID,\n defaultTheme,\n defaultClassName: boxClasses.root,\n generateClassName: ClassNameGenerator.generate\n});\nprocess.env.NODE_ENV !== \"production\" ? Box.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * @ignore\n */\n children: PropTypes.node,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default Box;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getButtonUtilityClass(slot) {\n return generateUtilityClass('MuiButton', slot);\n}\nconst buttonClasses = generateUtilityClasses('MuiButton', ['root', 'text', 'textInherit', 'textPrimary', 'textSecondary', 'textSuccess', 'textError', 'textInfo', 'textWarning', 'outlined', 'outlinedInherit', 'outlinedPrimary', 'outlinedSecondary', 'outlinedSuccess', 'outlinedError', 'outlinedInfo', 'outlinedWarning', 'contained', 'containedInherit', 'containedPrimary', 'containedSecondary', 'containedSuccess', 'containedError', 'containedInfo', 'containedWarning', 'disableElevation', 'focusVisible', 'disabled', 'colorInherit', 'colorPrimary', 'colorSecondary', 'colorSuccess', 'colorError', 'colorInfo', 'colorWarning', 'textSizeSmall', 'textSizeMedium', 'textSizeLarge', 'outlinedSizeSmall', 'outlinedSizeMedium', 'outlinedSizeLarge', 'containedSizeSmall', 'containedSizeMedium', 'containedSizeLarge', 'sizeMedium', 'sizeSmall', 'sizeLarge', 'fullWidth', 'startIcon', 'endIcon', 'icon', 'iconSizeSmall', 'iconSizeMedium', 'iconSizeLarge']);\nexport default buttonClasses;","import * as React from 'react';\n/**\n * @ignore - internal component.\n */\nconst ButtonGroupContext = /*#__PURE__*/React.createContext({});\nif (process.env.NODE_ENV !== 'production') {\n ButtonGroupContext.displayName = 'ButtonGroupContext';\n}\nexport default ButtonGroupContext;","import * as React from 'react';\n/**\n * @ignore - internal component.\n */\nconst ButtonGroupButtonContext = /*#__PURE__*/React.createContext(undefined);\nif (process.env.NODE_ENV !== 'production') {\n ButtonGroupButtonContext.displayName = 'ButtonGroupButtonContext';\n}\nexport default ButtonGroupButtonContext;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"color\", \"component\", \"className\", \"disabled\", \"disableElevation\", \"disableFocusRipple\", \"endIcon\", \"focusVisibleClassName\", \"fullWidth\", \"size\", \"startIcon\", \"type\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport resolveProps from '@mui/utils/resolveProps';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { alpha } from '@mui/system/colorManipulator';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport ButtonBase from '../ButtonBase';\nimport capitalize from '../utils/capitalize';\nimport buttonClasses, { getButtonUtilityClass } from './buttonClasses';\nimport ButtonGroupContext from '../ButtonGroup/ButtonGroupContext';\nimport ButtonGroupButtonContext from '../ButtonGroup/ButtonGroupButtonContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n color,\n disableElevation,\n fullWidth,\n size,\n variant,\n classes\n } = ownerState;\n const slots = {\n root: ['root', variant, `${variant}${capitalize(color)}`, `size${capitalize(size)}`, `${variant}Size${capitalize(size)}`, `color${capitalize(color)}`, disableElevation && 'disableElevation', fullWidth && 'fullWidth'],\n label: ['label'],\n startIcon: ['icon', 'startIcon', `iconSize${capitalize(size)}`],\n endIcon: ['icon', 'endIcon', `iconSize${capitalize(size)}`]\n };\n const composedClasses = composeClasses(slots, getButtonUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\nconst commonIconStyles = ownerState => _extends({}, ownerState.size === 'small' && {\n '& > *:nth-of-type(1)': {\n fontSize: 18\n }\n}, ownerState.size === 'medium' && {\n '& > *:nth-of-type(1)': {\n fontSize: 20\n }\n}, ownerState.size === 'large' && {\n '& > *:nth-of-type(1)': {\n fontSize: 22\n }\n});\nconst ButtonRoot = styled(ButtonBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiButton',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[ownerState.variant], styles[`${ownerState.variant}${capitalize(ownerState.color)}`], styles[`size${capitalize(ownerState.size)}`], styles[`${ownerState.variant}Size${capitalize(ownerState.size)}`], ownerState.color === 'inherit' && styles.colorInherit, ownerState.disableElevation && styles.disableElevation, ownerState.fullWidth && styles.fullWidth];\n }\n})(({\n theme,\n ownerState\n}) => {\n var _theme$palette$getCon, _theme$palette;\n const inheritContainedBackgroundColor = theme.palette.mode === 'light' ? theme.palette.grey[300] : theme.palette.grey[800];\n const inheritContainedHoverBackgroundColor = theme.palette.mode === 'light' ? theme.palette.grey.A100 : theme.palette.grey[700];\n return _extends({}, theme.typography.button, {\n minWidth: 64,\n padding: '6px 16px',\n borderRadius: (theme.vars || theme).shape.borderRadius,\n transition: theme.transitions.create(['background-color', 'box-shadow', 'border-color', 'color'], {\n duration: theme.transitions.duration.short\n }),\n '&:hover': _extends({\n textDecoration: 'none',\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.text.primaryChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(theme.palette.text.primary, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }, ownerState.variant === 'text' && ownerState.color !== 'inherit' && {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette[ownerState.color].mainChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(theme.palette[ownerState.color].main, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }, ownerState.variant === 'outlined' && ownerState.color !== 'inherit' && {\n border: `1px solid ${(theme.vars || theme).palette[ownerState.color].main}`,\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette[ownerState.color].mainChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(theme.palette[ownerState.color].main, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }, ownerState.variant === 'contained' && {\n backgroundColor: theme.vars ? theme.vars.palette.Button.inheritContainedHoverBg : inheritContainedHoverBackgroundColor,\n boxShadow: (theme.vars || theme).shadows[4],\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n boxShadow: (theme.vars || theme).shadows[2],\n backgroundColor: (theme.vars || theme).palette.grey[300]\n }\n }, ownerState.variant === 'contained' && ownerState.color !== 'inherit' && {\n backgroundColor: (theme.vars || theme).palette[ownerState.color].dark,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: (theme.vars || theme).palette[ownerState.color].main\n }\n }),\n '&:active': _extends({}, ownerState.variant === 'contained' && {\n boxShadow: (theme.vars || theme).shadows[8]\n }),\n [`&.${buttonClasses.focusVisible}`]: _extends({}, ownerState.variant === 'contained' && {\n boxShadow: (theme.vars || theme).shadows[6]\n }),\n [`&.${buttonClasses.disabled}`]: _extends({\n color: (theme.vars || theme).palette.action.disabled\n }, ownerState.variant === 'outlined' && {\n border: `1px solid ${(theme.vars || theme).palette.action.disabledBackground}`\n }, ownerState.variant === 'contained' && {\n color: (theme.vars || theme).palette.action.disabled,\n boxShadow: (theme.vars || theme).shadows[0],\n backgroundColor: (theme.vars || theme).palette.action.disabledBackground\n })\n }, ownerState.variant === 'text' && {\n padding: '6px 8px'\n }, ownerState.variant === 'text' && ownerState.color !== 'inherit' && {\n color: (theme.vars || theme).palette[ownerState.color].main\n }, ownerState.variant === 'outlined' && {\n padding: '5px 15px',\n border: '1px solid currentColor'\n }, ownerState.variant === 'outlined' && ownerState.color !== 'inherit' && {\n color: (theme.vars || theme).palette[ownerState.color].main,\n border: theme.vars ? `1px solid rgba(${theme.vars.palette[ownerState.color].mainChannel} / 0.5)` : `1px solid ${alpha(theme.palette[ownerState.color].main, 0.5)}`\n }, ownerState.variant === 'contained' && {\n color: theme.vars ?\n // this is safe because grey does not change between default light/dark mode\n theme.vars.palette.text.primary : (_theme$palette$getCon = (_theme$palette = theme.palette).getContrastText) == null ? void 0 : _theme$palette$getCon.call(_theme$palette, theme.palette.grey[300]),\n backgroundColor: theme.vars ? theme.vars.palette.Button.inheritContainedBg : inheritContainedBackgroundColor,\n boxShadow: (theme.vars || theme).shadows[2]\n }, ownerState.variant === 'contained' && ownerState.color !== 'inherit' && {\n color: (theme.vars || theme).palette[ownerState.color].contrastText,\n backgroundColor: (theme.vars || theme).palette[ownerState.color].main\n }, ownerState.color === 'inherit' && {\n color: 'inherit',\n borderColor: 'currentColor'\n }, ownerState.size === 'small' && ownerState.variant === 'text' && {\n padding: '4px 5px',\n fontSize: theme.typography.pxToRem(13)\n }, ownerState.size === 'large' && ownerState.variant === 'text' && {\n padding: '8px 11px',\n fontSize: theme.typography.pxToRem(15)\n }, ownerState.size === 'small' && ownerState.variant === 'outlined' && {\n padding: '3px 9px',\n fontSize: theme.typography.pxToRem(13)\n }, ownerState.size === 'large' && ownerState.variant === 'outlined' && {\n padding: '7px 21px',\n fontSize: theme.typography.pxToRem(15)\n }, ownerState.size === 'small' && ownerState.variant === 'contained' && {\n padding: '4px 10px',\n fontSize: theme.typography.pxToRem(13)\n }, ownerState.size === 'large' && ownerState.variant === 'contained' && {\n padding: '8px 22px',\n fontSize: theme.typography.pxToRem(15)\n }, ownerState.fullWidth && {\n width: '100%'\n });\n}, ({\n ownerState\n}) => ownerState.disableElevation && {\n boxShadow: 'none',\n '&:hover': {\n boxShadow: 'none'\n },\n [`&.${buttonClasses.focusVisible}`]: {\n boxShadow: 'none'\n },\n '&:active': {\n boxShadow: 'none'\n },\n [`&.${buttonClasses.disabled}`]: {\n boxShadow: 'none'\n }\n});\nconst ButtonStartIcon = styled('span', {\n name: 'MuiButton',\n slot: 'StartIcon',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.startIcon, styles[`iconSize${capitalize(ownerState.size)}`]];\n }\n})(({\n ownerState\n}) => _extends({\n display: 'inherit',\n marginRight: 8,\n marginLeft: -4\n}, ownerState.size === 'small' && {\n marginLeft: -2\n}, commonIconStyles(ownerState)));\nconst ButtonEndIcon = styled('span', {\n name: 'MuiButton',\n slot: 'EndIcon',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.endIcon, styles[`iconSize${capitalize(ownerState.size)}`]];\n }\n})(({\n ownerState\n}) => _extends({\n display: 'inherit',\n marginRight: -4,\n marginLeft: 8\n}, ownerState.size === 'small' && {\n marginRight: -2\n}, commonIconStyles(ownerState)));\nconst Button = /*#__PURE__*/React.forwardRef(function Button(inProps, ref) {\n // props priority: `inProps` > `contextProps` > `themeDefaultProps`\n const contextProps = React.useContext(ButtonGroupContext);\n const buttonGroupButtonContextPositionClassName = React.useContext(ButtonGroupButtonContext);\n const resolvedProps = resolveProps(contextProps, inProps);\n const props = useThemeProps({\n props: resolvedProps,\n name: 'MuiButton'\n });\n const {\n children,\n color = 'primary',\n component = 'button',\n className,\n disabled = false,\n disableElevation = false,\n disableFocusRipple = false,\n endIcon: endIconProp,\n focusVisibleClassName,\n fullWidth = false,\n size = 'medium',\n startIcon: startIconProp,\n type,\n variant = 'text'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n color,\n component,\n disabled,\n disableElevation,\n disableFocusRipple,\n fullWidth,\n size,\n type,\n variant\n });\n const classes = useUtilityClasses(ownerState);\n const startIcon = startIconProp && /*#__PURE__*/_jsx(ButtonStartIcon, {\n className: classes.startIcon,\n ownerState: ownerState,\n children: startIconProp\n });\n const endIcon = endIconProp && /*#__PURE__*/_jsx(ButtonEndIcon, {\n className: classes.endIcon,\n ownerState: ownerState,\n children: endIconProp\n });\n const positionClassName = buttonGroupButtonContextPositionClassName || '';\n return /*#__PURE__*/_jsxs(ButtonRoot, _extends({\n ownerState: ownerState,\n className: clsx(contextProps.className, classes.root, className, positionClassName),\n component: component,\n disabled: disabled,\n focusRipple: !disableFocusRipple,\n focusVisibleClassName: clsx(classes.focusVisible, focusVisibleClassName),\n ref: ref,\n type: type\n }, other, {\n classes: classes,\n children: [startIcon, children, endIcon]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Button.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * @default 'primary'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['inherit', 'primary', 'secondary', 'success', 'error', 'info', 'warning']), PropTypes.string]),\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, no elevation is used.\n * @default false\n */\n disableElevation: PropTypes.bool,\n /**\n * If `true`, the keyboard focus ripple is disabled.\n * @default false\n */\n disableFocusRipple: PropTypes.bool,\n /**\n * If `true`, the ripple effect is disabled.\n *\n * ⚠️ Without a ripple there is no styling for :focus-visible by default. Be sure\n * to highlight the element by applying separate styles with the `.Mui-focusVisible` class.\n * @default false\n */\n disableRipple: PropTypes.bool,\n /**\n * Element placed after the children.\n */\n endIcon: PropTypes.node,\n /**\n * @ignore\n */\n focusVisibleClassName: PropTypes.string,\n /**\n * If `true`, the button will take up the full width of its container.\n * @default false\n */\n fullWidth: PropTypes.bool,\n /**\n * The URL to link to when the button is clicked.\n * If defined, an `a` element will be used as the root node.\n */\n href: PropTypes.string,\n /**\n * The size of the component.\n * `small` is equivalent to the dense button styling.\n * @default 'medium'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['small', 'medium', 'large']), PropTypes.string]),\n /**\n * Element placed before the children.\n */\n startIcon: PropTypes.node,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * @ignore\n */\n type: PropTypes.oneOfType([PropTypes.oneOf(['button', 'reset', 'submit']), PropTypes.string]),\n /**\n * The variant to use.\n * @default 'text'\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['contained', 'outlined', 'text']), PropTypes.string])\n} : void 0;\nexport default Button;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getCardUtilityClass(slot) {\n return generateUtilityClass('MuiCard', slot);\n}\nconst cardClasses = generateUtilityClasses('MuiCard', ['root']);\nexport default cardClasses;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"className\", \"raised\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport chainPropTypes from '@mui/utils/chainPropTypes';\nimport composeClasses from '@mui/utils/composeClasses';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport Paper from '../Paper';\nimport { getCardUtilityClass } from './cardClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getCardUtilityClass, classes);\n};\nconst CardRoot = styled(Paper, {\n name: 'MuiCard',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})(() => {\n return {\n overflow: 'hidden'\n };\n});\nconst Card = /*#__PURE__*/React.forwardRef(function Card(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiCard'\n });\n const {\n className,\n raised = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n raised\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(CardRoot, _extends({\n className: clsx(classes.root, className),\n elevation: raised ? 8 : undefined,\n ref: ref,\n ownerState: ownerState\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? Card.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * If `true`, the card will use raised styling.\n * @default false\n */\n raised: chainPropTypes(PropTypes.bool, props => {\n if (props.raised && props.variant === 'outlined') {\n return new Error('MUI: Combining `raised={true}` with `variant=\"outlined\"` has no effect.');\n }\n return null;\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default Card;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getCardActionsUtilityClass(slot) {\n return generateUtilityClass('MuiCardActions', slot);\n}\nconst cardActionsClasses = generateUtilityClasses('MuiCardActions', ['root', 'spacing']);\nexport default cardActionsClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"disableSpacing\", \"className\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport { getCardActionsUtilityClass } from './cardActionsClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disableSpacing\n } = ownerState;\n const slots = {\n root: ['root', !disableSpacing && 'spacing']\n };\n return composeClasses(slots, getCardActionsUtilityClass, classes);\n};\nconst CardActionsRoot = styled('div', {\n name: 'MuiCardActions',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, !ownerState.disableSpacing && styles.spacing];\n }\n})(({\n ownerState\n}) => _extends({\n display: 'flex',\n alignItems: 'center',\n padding: 8\n}, !ownerState.disableSpacing && {\n '& > :not(style) ~ :not(style)': {\n marginLeft: 8\n }\n}));\nconst CardActions = /*#__PURE__*/React.forwardRef(function CardActions(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiCardActions'\n });\n const {\n disableSpacing = false,\n className\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n disableSpacing\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(CardActionsRoot, _extends({\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? CardActions.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * If `true`, the actions do not have additional margin.\n * @default false\n */\n disableSpacing: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default CardActions;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getCardContentUtilityClass(slot) {\n return generateUtilityClass('MuiCardContent', slot);\n}\nconst cardContentClasses = generateUtilityClasses('MuiCardContent', ['root']);\nexport default cardContentClasses;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"className\", \"component\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport { getCardContentUtilityClass } from './cardContentClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getCardContentUtilityClass, classes);\n};\nconst CardContentRoot = styled('div', {\n name: 'MuiCardContent',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})(() => {\n return {\n padding: 16,\n '&:last-child': {\n paddingBottom: 24\n }\n };\n});\nconst CardContent = /*#__PURE__*/React.forwardRef(function CardContent(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiCardContent'\n });\n const {\n className,\n component = 'div'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n component\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(CardContentRoot, _extends({\n as: component,\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? CardContent.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default CardContent;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getSwitchBaseUtilityClass(slot) {\n return generateUtilityClass('PrivateSwitchBase', slot);\n}\nconst switchBaseClasses = generateUtilityClasses('PrivateSwitchBase', ['root', 'checked', 'disabled', 'input', 'edgeStart', 'edgeEnd']);\nexport default switchBaseClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"autoFocus\", \"checked\", \"checkedIcon\", \"className\", \"defaultChecked\", \"disabled\", \"disableFocusRipple\", \"edge\", \"icon\", \"id\", \"inputProps\", \"inputRef\", \"name\", \"onBlur\", \"onChange\", \"onFocus\", \"readOnly\", \"required\", \"tabIndex\", \"type\", \"value\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport refType from '@mui/utils/refType';\nimport composeClasses from '@mui/utils/composeClasses';\nimport capitalize from '../utils/capitalize';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useControlled from '../utils/useControlled';\nimport useFormControl from '../FormControl/useFormControl';\nimport ButtonBase from '../ButtonBase';\nimport { getSwitchBaseUtilityClass } from './switchBaseClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n checked,\n disabled,\n edge\n } = ownerState;\n const slots = {\n root: ['root', checked && 'checked', disabled && 'disabled', edge && `edge${capitalize(edge)}`],\n input: ['input']\n };\n return composeClasses(slots, getSwitchBaseUtilityClass, classes);\n};\nconst SwitchBaseRoot = styled(ButtonBase)(({\n ownerState\n}) => _extends({\n padding: 9,\n borderRadius: '50%'\n}, ownerState.edge === 'start' && {\n marginLeft: ownerState.size === 'small' ? -3 : -12\n}, ownerState.edge === 'end' && {\n marginRight: ownerState.size === 'small' ? -3 : -12\n}));\nconst SwitchBaseInput = styled('input', {\n shouldForwardProp: rootShouldForwardProp\n})({\n cursor: 'inherit',\n position: 'absolute',\n opacity: 0,\n width: '100%',\n height: '100%',\n top: 0,\n left: 0,\n margin: 0,\n padding: 0,\n zIndex: 1\n});\n\n/**\n * @ignore - internal component.\n */\nconst SwitchBase = /*#__PURE__*/React.forwardRef(function SwitchBase(props, ref) {\n const {\n autoFocus,\n checked: checkedProp,\n checkedIcon,\n className,\n defaultChecked,\n disabled: disabledProp,\n disableFocusRipple = false,\n edge = false,\n icon,\n id,\n inputProps,\n inputRef,\n name,\n onBlur,\n onChange,\n onFocus,\n readOnly,\n required = false,\n tabIndex,\n type,\n value\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const [checked, setCheckedState] = useControlled({\n controlled: checkedProp,\n default: Boolean(defaultChecked),\n name: 'SwitchBase',\n state: 'checked'\n });\n const muiFormControl = useFormControl();\n const handleFocus = event => {\n if (onFocus) {\n onFocus(event);\n }\n if (muiFormControl && muiFormControl.onFocus) {\n muiFormControl.onFocus(event);\n }\n };\n const handleBlur = event => {\n if (onBlur) {\n onBlur(event);\n }\n if (muiFormControl && muiFormControl.onBlur) {\n muiFormControl.onBlur(event);\n }\n };\n const handleInputChange = event => {\n // Workaround for https://github.com/facebook/react/issues/9023\n if (event.nativeEvent.defaultPrevented) {\n return;\n }\n const newChecked = event.target.checked;\n setCheckedState(newChecked);\n if (onChange) {\n // TODO v6: remove the second argument.\n onChange(event, newChecked);\n }\n };\n let disabled = disabledProp;\n if (muiFormControl) {\n if (typeof disabled === 'undefined') {\n disabled = muiFormControl.disabled;\n }\n }\n const hasLabelFor = type === 'checkbox' || type === 'radio';\n const ownerState = _extends({}, props, {\n checked,\n disabled,\n disableFocusRipple,\n edge\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(SwitchBaseRoot, _extends({\n component: \"span\",\n className: clsx(classes.root, className),\n centerRipple: true,\n focusRipple: !disableFocusRipple,\n disabled: disabled,\n tabIndex: null,\n role: undefined,\n onFocus: handleFocus,\n onBlur: handleBlur,\n ownerState: ownerState,\n ref: ref\n }, other, {\n children: [/*#__PURE__*/_jsx(SwitchBaseInput, _extends({\n autoFocus: autoFocus,\n checked: checkedProp,\n defaultChecked: defaultChecked,\n className: classes.input,\n disabled: disabled,\n id: hasLabelFor ? id : undefined,\n name: name,\n onChange: handleInputChange,\n readOnly: readOnly,\n ref: inputRef,\n required: required,\n ownerState: ownerState,\n tabIndex: tabIndex,\n type: type\n }, type === 'checkbox' && value === undefined ? {} : {\n value\n }, inputProps)), checked ? checkedIcon : icon]\n }));\n});\n\n// NB: If changed, please update Checkbox, Switch and Radio\n// so that the API documentation is updated.\nprocess.env.NODE_ENV !== \"production\" ? SwitchBase.propTypes = {\n /**\n * If `true`, the `input` element is focused during the first mount.\n */\n autoFocus: PropTypes.bool,\n /**\n * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n /**\n * The icon to display when the component is checked.\n */\n checkedIcon: PropTypes.node.isRequired,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * @ignore\n */\n defaultChecked: PropTypes.bool,\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the keyboard focus ripple is disabled.\n * @default false\n */\n disableFocusRipple: PropTypes.bool,\n /**\n * If given, uses a negative margin to counteract the padding on one\n * side (this is often helpful for aligning the left or right\n * side of the icon with content above or below, without ruining the border\n * size and shape).\n * @default false\n */\n edge: PropTypes.oneOf(['end', 'start', false]),\n /**\n * The icon to display when the component is unchecked.\n */\n icon: PropTypes.node.isRequired,\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: PropTypes.object,\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n /*\n * @ignore\n */\n name: PropTypes.string,\n /**\n * @ignore\n */\n onBlur: PropTypes.func,\n /**\n * Callback fired when the state is changed.\n *\n * @param {object} event The event source of the callback.\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n /**\n * It prevents the user from changing the value of the field\n * (not from interacting with the field).\n */\n readOnly: PropTypes.bool,\n /**\n * If `true`, the `input` element is required.\n */\n required: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.object,\n /**\n * @ignore\n */\n tabIndex: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * The input component prop `type`.\n */\n type: PropTypes.string.isRequired,\n /**\n * The value of the component.\n */\n value: PropTypes.any\n} : void 0;\nexport default SwitchBase;","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z\"\n}), 'CheckBoxOutlineBlank');","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z\"\n}), 'CheckBox');","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z\"\n}), 'IndeterminateCheckBox');","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getCheckboxUtilityClass(slot) {\n return generateUtilityClass('MuiCheckbox', slot);\n}\nconst checkboxClasses = generateUtilityClasses('MuiCheckbox', ['root', 'checked', 'disabled', 'indeterminate', 'colorPrimary', 'colorSecondary', 'sizeSmall', 'sizeMedium']);\nexport default checkboxClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"checkedIcon\", \"color\", \"icon\", \"indeterminate\", \"indeterminateIcon\", \"inputProps\", \"size\", \"className\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport refType from '@mui/utils/refType';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { alpha } from '@mui/system/colorManipulator';\nimport SwitchBase from '../internal/SwitchBase';\nimport CheckBoxOutlineBlankIcon from '../internal/svg-icons/CheckBoxOutlineBlank';\nimport CheckBoxIcon from '../internal/svg-icons/CheckBox';\nimport IndeterminateCheckBoxIcon from '../internal/svg-icons/IndeterminateCheckBox';\nimport capitalize from '../utils/capitalize';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport checkboxClasses, { getCheckboxUtilityClass } from './checkboxClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n indeterminate,\n color,\n size\n } = ownerState;\n const slots = {\n root: ['root', indeterminate && 'indeterminate', `color${capitalize(color)}`, `size${capitalize(size)}`]\n };\n const composedClasses = composeClasses(slots, getCheckboxUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\nconst CheckboxRoot = styled(SwitchBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiCheckbox',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.indeterminate && styles.indeterminate, styles[`size${capitalize(ownerState.size)}`], ownerState.color !== 'default' && styles[`color${capitalize(ownerState.color)}`]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n color: (theme.vars || theme).palette.text.secondary\n}, !ownerState.disableRipple && {\n '&:hover': {\n backgroundColor: theme.vars ? `rgba(${ownerState.color === 'default' ? theme.vars.palette.action.activeChannel : theme.vars.palette[ownerState.color].mainChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(ownerState.color === 'default' ? theme.palette.action.active : theme.palette[ownerState.color].main, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n}, ownerState.color !== 'default' && {\n [`&.${checkboxClasses.checked}, &.${checkboxClasses.indeterminate}`]: {\n color: (theme.vars || theme).palette[ownerState.color].main\n },\n [`&.${checkboxClasses.disabled}`]: {\n color: (theme.vars || theme).palette.action.disabled\n }\n}));\nconst defaultCheckedIcon = /*#__PURE__*/_jsx(CheckBoxIcon, {});\nconst defaultIcon = /*#__PURE__*/_jsx(CheckBoxOutlineBlankIcon, {});\nconst defaultIndeterminateIcon = /*#__PURE__*/_jsx(IndeterminateCheckBoxIcon, {});\nconst Checkbox = /*#__PURE__*/React.forwardRef(function Checkbox(inProps, ref) {\n var _icon$props$fontSize, _indeterminateIcon$pr;\n const props = useThemeProps({\n props: inProps,\n name: 'MuiCheckbox'\n });\n const {\n checkedIcon = defaultCheckedIcon,\n color = 'primary',\n icon: iconProp = defaultIcon,\n indeterminate = false,\n indeterminateIcon: indeterminateIconProp = defaultIndeterminateIcon,\n inputProps,\n size = 'medium',\n className\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const icon = indeterminate ? indeterminateIconProp : iconProp;\n const indeterminateIcon = indeterminate ? indeterminateIconProp : checkedIcon;\n const ownerState = _extends({}, props, {\n color,\n indeterminate,\n size\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(CheckboxRoot, _extends({\n type: \"checkbox\",\n inputProps: _extends({\n 'data-indeterminate': indeterminate\n }, inputProps),\n icon: /*#__PURE__*/React.cloneElement(icon, {\n fontSize: (_icon$props$fontSize = icon.props.fontSize) != null ? _icon$props$fontSize : size\n }),\n checkedIcon: /*#__PURE__*/React.cloneElement(indeterminateIcon, {\n fontSize: (_indeterminateIcon$pr = indeterminateIcon.props.fontSize) != null ? _indeterminateIcon$pr : size\n }),\n ownerState: ownerState,\n ref: ref,\n className: clsx(classes.root, className)\n }, other, {\n classes: classes\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Checkbox.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n /**\n * The icon to display when the component is checked.\n * @default <CheckBoxIcon />\n */\n checkedIcon: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * @default 'primary'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['default', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * The default checked state. Use when the component is not controlled.\n */\n defaultChecked: PropTypes.bool,\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the ripple effect is disabled.\n * @default false\n */\n disableRipple: PropTypes.bool,\n /**\n * The icon to display when the component is unchecked.\n * @default <CheckBoxOutlineBlankIcon />\n */\n icon: PropTypes.node,\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n /**\n * If `true`, the component appears indeterminate.\n * This does not set the native input element to indeterminate due\n * to inconsistent behavior across browsers.\n * However, we set a `data-indeterminate` attribute on the `input`.\n * @default false\n */\n indeterminate: PropTypes.bool,\n /**\n * The icon to display when the component is indeterminate.\n * @default <IndeterminateCheckBoxIcon />\n */\n indeterminateIcon: PropTypes.node,\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: PropTypes.object,\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n /**\n * Callback fired when the state is changed.\n *\n * @param {React.ChangeEvent<HTMLInputElement>} event The event source of the callback.\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n /**\n * If `true`, the `input` element is required.\n * @default false\n */\n required: PropTypes.bool,\n /**\n * The size of the component.\n * `small` is equivalent to the dense checkbox styling.\n * @default 'medium'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The value of the component. The DOM API casts this to a string.\n * The browser uses \"on\" as the default value.\n */\n value: PropTypes.any\n} : void 0;\nexport default Checkbox;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getCircularProgressUtilityClass(slot) {\n return generateUtilityClass('MuiCircularProgress', slot);\n}\nconst circularProgressClasses = generateUtilityClasses('MuiCircularProgress', ['root', 'determinate', 'indeterminate', 'colorPrimary', 'colorSecondary', 'svg', 'circle', 'circleDeterminate', 'circleIndeterminate', 'circleDisableShrink']);\nexport default circularProgressClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"color\", \"disableShrink\", \"size\", \"style\", \"thickness\", \"value\", \"variant\"];\nlet _ = t => t,\n _t,\n _t2,\n _t3,\n _t4;\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport chainPropTypes from '@mui/utils/chainPropTypes';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { keyframes, css } from '@mui/system';\nimport capitalize from '../utils/capitalize';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport { getCircularProgressUtilityClass } from './circularProgressClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst SIZE = 44;\nconst circularRotateKeyframe = keyframes(_t || (_t = _`\n 0% {\n transform: rotate(0deg);\n }\n\n 100% {\n transform: rotate(360deg);\n }\n`));\nconst circularDashKeyframe = keyframes(_t2 || (_t2 = _`\n 0% {\n stroke-dasharray: 1px, 200px;\n stroke-dashoffset: 0;\n }\n\n 50% {\n stroke-dasharray: 100px, 200px;\n stroke-dashoffset: -15px;\n }\n\n 100% {\n stroke-dasharray: 100px, 200px;\n stroke-dashoffset: -125px;\n }\n`));\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n variant,\n color,\n disableShrink\n } = ownerState;\n const slots = {\n root: ['root', variant, `color${capitalize(color)}`],\n svg: ['svg'],\n circle: ['circle', `circle${capitalize(variant)}`, disableShrink && 'circleDisableShrink']\n };\n return composeClasses(slots, getCircularProgressUtilityClass, classes);\n};\nconst CircularProgressRoot = styled('span', {\n name: 'MuiCircularProgress',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[ownerState.variant], styles[`color${capitalize(ownerState.color)}`]];\n }\n})(({\n ownerState,\n theme\n}) => _extends({\n display: 'inline-block'\n}, ownerState.variant === 'determinate' && {\n transition: theme.transitions.create('transform')\n}, ownerState.color !== 'inherit' && {\n color: (theme.vars || theme).palette[ownerState.color].main\n}), ({\n ownerState\n}) => ownerState.variant === 'indeterminate' && css(_t3 || (_t3 = _`\n animation: ${0} 1.4s linear infinite;\n `), circularRotateKeyframe));\nconst CircularProgressSVG = styled('svg', {\n name: 'MuiCircularProgress',\n slot: 'Svg',\n overridesResolver: (props, styles) => styles.svg\n})({\n display: 'block' // Keeps the progress centered\n});\nconst CircularProgressCircle = styled('circle', {\n name: 'MuiCircularProgress',\n slot: 'Circle',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.circle, styles[`circle${capitalize(ownerState.variant)}`], ownerState.disableShrink && styles.circleDisableShrink];\n }\n})(({\n ownerState,\n theme\n}) => _extends({\n stroke: 'currentColor'\n}, ownerState.variant === 'determinate' && {\n transition: theme.transitions.create('stroke-dashoffset')\n}, ownerState.variant === 'indeterminate' && {\n // Some default value that looks fine waiting for the animation to kicks in.\n strokeDasharray: '80px, 200px',\n strokeDashoffset: 0 // Add the unit to fix a Edge 16 and below bug.\n}), ({\n ownerState\n}) => ownerState.variant === 'indeterminate' && !ownerState.disableShrink && css(_t4 || (_t4 = _`\n animation: ${0} 1.4s ease-in-out infinite;\n `), circularDashKeyframe));\n\n/**\n * ## ARIA\n *\n * If the progress bar is describing the loading progress of a particular region of a page,\n * you should use `aria-describedby` to point to the progress bar, and set the `aria-busy`\n * attribute to `true` on that region until it has finished loading.\n */\nconst CircularProgress = /*#__PURE__*/React.forwardRef(function CircularProgress(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiCircularProgress'\n });\n const {\n className,\n color = 'primary',\n disableShrink = false,\n size = 40,\n style,\n thickness = 3.6,\n value = 0,\n variant = 'indeterminate'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n color,\n disableShrink,\n size,\n thickness,\n value,\n variant\n });\n const classes = useUtilityClasses(ownerState);\n const circleStyle = {};\n const rootStyle = {};\n const rootProps = {};\n if (variant === 'determinate') {\n const circumference = 2 * Math.PI * ((SIZE - thickness) / 2);\n circleStyle.strokeDasharray = circumference.toFixed(3);\n rootProps['aria-valuenow'] = Math.round(value);\n circleStyle.strokeDashoffset = `${((100 - value) / 100 * circumference).toFixed(3)}px`;\n rootStyle.transform = 'rotate(-90deg)';\n }\n return /*#__PURE__*/_jsx(CircularProgressRoot, _extends({\n className: clsx(classes.root, className),\n style: _extends({\n width: size,\n height: size\n }, rootStyle, style),\n ownerState: ownerState,\n ref: ref,\n role: \"progressbar\"\n }, rootProps, other, {\n children: /*#__PURE__*/_jsx(CircularProgressSVG, {\n className: classes.svg,\n ownerState: ownerState,\n viewBox: `${SIZE / 2} ${SIZE / 2} ${SIZE} ${SIZE}`,\n children: /*#__PURE__*/_jsx(CircularProgressCircle, {\n className: classes.circle,\n style: circleStyle,\n ownerState: ownerState,\n cx: SIZE,\n cy: SIZE,\n r: (SIZE - thickness) / 2,\n fill: \"none\",\n strokeWidth: thickness\n })\n })\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? CircularProgress.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * @default 'primary'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['inherit', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * If `true`, the shrink animation is disabled.\n * This only works if variant is `indeterminate`.\n * @default false\n */\n disableShrink: chainPropTypes(PropTypes.bool, props => {\n if (props.disableShrink && props.variant && props.variant !== 'indeterminate') {\n return new Error('MUI: You have provided the `disableShrink` prop ' + 'with a variant other than `indeterminate`. This will have no effect.');\n }\n return null;\n }),\n /**\n * The size of the component.\n * If using a number, the pixel unit is assumed.\n * If using a string, you need to provide the CSS unit, for example '3rem'.\n * @default 40\n */\n size: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * @ignore\n */\n style: PropTypes.object,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The thickness of the circle.\n * @default 3.6\n */\n thickness: PropTypes.number,\n /**\n * The value of the progress indicator for the determinate variant.\n * Value between 0 and 100.\n * @default 0\n */\n value: PropTypes.number,\n /**\n * The variant to use.\n * Use indeterminate when there is no progress value.\n * @default 'indeterminate'\n */\n variant: PropTypes.oneOf(['determinate', 'indeterminate'])\n} : void 0;\nexport default CircularProgress;","'use client';\n\nimport PropTypes from 'prop-types';\nimport { createContainer } from '@mui/system';\nimport capitalize from '../utils/capitalize';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nconst Container = createContainer({\n createStyledComponent: styled('div', {\n name: 'MuiContainer',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`maxWidth${capitalize(String(ownerState.maxWidth))}`], ownerState.fixed && styles.fixed, ownerState.disableGutters && styles.disableGutters];\n }\n }),\n useThemeProps: inProps => useThemeProps({\n props: inProps,\n name: 'MuiContainer'\n })\n});\nprocess.env.NODE_ENV !== \"production\" ? Container.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * @ignore\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * If `true`, the left and right padding is removed.\n * @default false\n */\n disableGutters: PropTypes.bool,\n /**\n * Set the max-width to match the min-width of the current breakpoint.\n * This is useful if you'd prefer to design for a fixed set of sizes\n * instead of trying to accommodate a fully fluid viewport.\n * It's fluid by default.\n * @default false\n */\n fixed: PropTypes.bool,\n /**\n * Determine the max-width of the container.\n * The container width grows with the size of the screen.\n * Set to `false` to disable `maxWidth`.\n * @default 'lg'\n */\n maxWidth: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['xs', 'sm', 'md', 'lg', 'xl', false]), PropTypes.string]),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default Container;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport useThemeProps from '../styles/useThemeProps';\nimport GlobalStyles from '../GlobalStyles';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport const html = (theme, enableColorScheme) => _extends({\n WebkitFontSmoothing: 'antialiased',\n // Antialiasing.\n MozOsxFontSmoothing: 'grayscale',\n // Antialiasing.\n // Change from `box-sizing: content-box` so that `width`\n // is not affected by `padding` or `border`.\n boxSizing: 'border-box',\n // Fix font resize problem in iOS\n WebkitTextSizeAdjust: '100%'\n}, enableColorScheme && !theme.vars && {\n colorScheme: theme.palette.mode\n});\nexport const body = theme => _extends({\n color: (theme.vars || theme).palette.text.primary\n}, theme.typography.body1, {\n backgroundColor: (theme.vars || theme).palette.background.default,\n '@media print': {\n // Save printer ink.\n backgroundColor: (theme.vars || theme).palette.common.white\n }\n});\nexport const styles = (theme, enableColorScheme = false) => {\n var _theme$components;\n const colorSchemeStyles = {};\n if (enableColorScheme && theme.colorSchemes) {\n Object.entries(theme.colorSchemes).forEach(([key, scheme]) => {\n var _scheme$palette;\n colorSchemeStyles[theme.getColorSchemeSelector(key).replace(/\\s*&/, '')] = {\n colorScheme: (_scheme$palette = scheme.palette) == null ? void 0 : _scheme$palette.mode\n };\n });\n }\n let defaultStyles = _extends({\n html: html(theme, enableColorScheme),\n '*, *::before, *::after': {\n boxSizing: 'inherit'\n },\n 'strong, b': {\n fontWeight: theme.typography.fontWeightBold\n },\n body: _extends({\n margin: 0\n }, body(theme), {\n // Add support for document.body.requestFullScreen().\n // Other elements, if background transparent, are not supported.\n '&::backdrop': {\n backgroundColor: (theme.vars || theme).palette.background.default\n }\n })\n }, colorSchemeStyles);\n const themeOverrides = (_theme$components = theme.components) == null || (_theme$components = _theme$components.MuiCssBaseline) == null ? void 0 : _theme$components.styleOverrides;\n if (themeOverrides) {\n defaultStyles = [defaultStyles, themeOverrides];\n }\n return defaultStyles;\n};\n\n/**\n * Kickstart an elegant, consistent, and simple baseline to build upon.\n */\nfunction CssBaseline(inProps) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiCssBaseline'\n });\n const {\n children,\n enableColorScheme = false\n } = props;\n return /*#__PURE__*/_jsxs(React.Fragment, {\n children: [/*#__PURE__*/_jsx(GlobalStyles, {\n styles: theme => styles(theme, enableColorScheme)\n }), children]\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? CssBaseline.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * You can wrap a node.\n */\n children: PropTypes.node,\n /**\n * Enable `color-scheme` CSS property to use `theme.palette.mode`.\n * For more details, check out https://developer.mozilla.org/en-US/docs/Web/CSS/color-scheme\n * For browser support, check out https://caniuse.com/?search=color-scheme\n * @default false\n */\n enableColorScheme: PropTypes.bool\n} : void 0;\nexport default CssBaseline;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getModalUtilityClass(slot) {\n return generateUtilityClass('MuiModal', slot);\n}\nconst modalClasses = generateUtilityClasses('MuiModal', ['root', 'hidden', 'backdrop']);\nexport default modalClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"BackdropComponent\", \"BackdropProps\", \"classes\", \"className\", \"closeAfterTransition\", \"children\", \"container\", \"component\", \"components\", \"componentsProps\", \"disableAutoFocus\", \"disableEnforceFocus\", \"disableEscapeKeyDown\", \"disablePortal\", \"disableRestoreFocus\", \"disableScrollLock\", \"hideBackdrop\", \"keepMounted\", \"onBackdropClick\", \"onClose\", \"onTransitionEnter\", \"onTransitionExited\", \"open\", \"slotProps\", \"slots\", \"theme\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport HTMLElementType from '@mui/utils/HTMLElementType';\nimport elementAcceptingRef from '@mui/utils/elementAcceptingRef';\nimport { useSlotProps } from '@mui/base/utils';\nimport { unstable_useModal as useModal } from '@mui/base/unstable_useModal';\nimport composeClasses from '@mui/utils/composeClasses';\nimport FocusTrap from '../Unstable_TrapFocus';\nimport Portal from '../Portal';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport Backdrop from '../Backdrop';\nimport { getModalUtilityClass } from './modalClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n open,\n exited,\n classes\n } = ownerState;\n const slots = {\n root: ['root', !open && exited && 'hidden'],\n backdrop: ['backdrop']\n };\n return composeClasses(slots, getModalUtilityClass, classes);\n};\nconst ModalRoot = styled('div', {\n name: 'MuiModal',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, !ownerState.open && ownerState.exited && styles.hidden];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n position: 'fixed',\n zIndex: (theme.vars || theme).zIndex.modal,\n right: 0,\n bottom: 0,\n top: 0,\n left: 0\n}, !ownerState.open && ownerState.exited && {\n visibility: 'hidden'\n}));\nconst ModalBackdrop = styled(Backdrop, {\n name: 'MuiModal',\n slot: 'Backdrop',\n overridesResolver: (props, styles) => {\n return styles.backdrop;\n }\n})({\n zIndex: -1\n});\n\n/**\n * Modal is a lower-level construct that is leveraged by the following components:\n *\n * - [Dialog](/material-ui/api/dialog/)\n * - [Drawer](/material-ui/api/drawer/)\n * - [Menu](/material-ui/api/menu/)\n * - [Popover](/material-ui/api/popover/)\n *\n * If you are creating a modal dialog, you probably want to use the [Dialog](/material-ui/api/dialog/) component\n * rather than directly using Modal.\n *\n * This component shares many concepts with [react-overlays](https://react-bootstrap.github.io/react-overlays/#modals).\n */\nconst Modal = /*#__PURE__*/React.forwardRef(function Modal(inProps, ref) {\n var _ref, _slots$root, _ref2, _slots$backdrop, _slotProps$root, _slotProps$backdrop;\n const props = useThemeProps({\n name: 'MuiModal',\n props: inProps\n });\n const {\n BackdropComponent = ModalBackdrop,\n BackdropProps,\n className,\n closeAfterTransition = false,\n children,\n container,\n component,\n components = {},\n componentsProps = {},\n disableAutoFocus = false,\n disableEnforceFocus = false,\n disableEscapeKeyDown = false,\n disablePortal = false,\n disableRestoreFocus = false,\n disableScrollLock = false,\n hideBackdrop = false,\n keepMounted = false,\n onBackdropClick,\n open,\n slotProps,\n slots\n // eslint-disable-next-line react/prop-types\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const propsWithDefaults = _extends({}, props, {\n closeAfterTransition,\n disableAutoFocus,\n disableEnforceFocus,\n disableEscapeKeyDown,\n disablePortal,\n disableRestoreFocus,\n disableScrollLock,\n hideBackdrop,\n keepMounted\n });\n const {\n getRootProps,\n getBackdropProps,\n getTransitionProps,\n portalRef,\n isTopModal,\n exited,\n hasTransition\n } = useModal(_extends({}, propsWithDefaults, {\n rootRef: ref\n }));\n const ownerState = _extends({}, propsWithDefaults, {\n exited\n });\n const classes = useUtilityClasses(ownerState);\n const childProps = {};\n if (children.props.tabIndex === undefined) {\n childProps.tabIndex = '-1';\n }\n\n // It's a Transition like component\n if (hasTransition) {\n const {\n onEnter,\n onExited\n } = getTransitionProps();\n childProps.onEnter = onEnter;\n childProps.onExited = onExited;\n }\n const RootSlot = (_ref = (_slots$root = slots == null ? void 0 : slots.root) != null ? _slots$root : components.Root) != null ? _ref : ModalRoot;\n const BackdropSlot = (_ref2 = (_slots$backdrop = slots == null ? void 0 : slots.backdrop) != null ? _slots$backdrop : components.Backdrop) != null ? _ref2 : BackdropComponent;\n const rootSlotProps = (_slotProps$root = slotProps == null ? void 0 : slotProps.root) != null ? _slotProps$root : componentsProps.root;\n const backdropSlotProps = (_slotProps$backdrop = slotProps == null ? void 0 : slotProps.backdrop) != null ? _slotProps$backdrop : componentsProps.backdrop;\n const rootProps = useSlotProps({\n elementType: RootSlot,\n externalSlotProps: rootSlotProps,\n externalForwardedProps: other,\n getSlotProps: getRootProps,\n additionalProps: {\n ref,\n as: component\n },\n ownerState,\n className: clsx(className, rootSlotProps == null ? void 0 : rootSlotProps.className, classes == null ? void 0 : classes.root, !ownerState.open && ownerState.exited && (classes == null ? void 0 : classes.hidden))\n });\n const backdropProps = useSlotProps({\n elementType: BackdropSlot,\n externalSlotProps: backdropSlotProps,\n additionalProps: BackdropProps,\n getSlotProps: otherHandlers => {\n return getBackdropProps(_extends({}, otherHandlers, {\n onClick: e => {\n if (onBackdropClick) {\n onBackdropClick(e);\n }\n if (otherHandlers != null && otherHandlers.onClick) {\n otherHandlers.onClick(e);\n }\n }\n }));\n },\n className: clsx(backdropSlotProps == null ? void 0 : backdropSlotProps.className, BackdropProps == null ? void 0 : BackdropProps.className, classes == null ? void 0 : classes.backdrop),\n ownerState\n });\n if (!keepMounted && !open && (!hasTransition || exited)) {\n return null;\n }\n return /*#__PURE__*/_jsx(Portal, {\n ref: portalRef,\n container: container,\n disablePortal: disablePortal,\n children: /*#__PURE__*/_jsxs(RootSlot, _extends({}, rootProps, {\n children: [!hideBackdrop && BackdropComponent ? /*#__PURE__*/_jsx(BackdropSlot, _extends({}, backdropProps)) : null, /*#__PURE__*/_jsx(FocusTrap, {\n disableEnforceFocus: disableEnforceFocus,\n disableAutoFocus: disableAutoFocus,\n disableRestoreFocus: disableRestoreFocus,\n isEnabled: isTopModal,\n open: open,\n children: /*#__PURE__*/React.cloneElement(children, childProps)\n })]\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Modal.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * A backdrop component. This prop enables custom backdrop rendering.\n * @deprecated Use `slots.backdrop` instead. While this prop currently works, it will be removed in the next major version.\n * Use the `slots.backdrop` prop to make your application ready for the next version of Material UI.\n * @default styled(Backdrop, {\n * name: 'MuiModal',\n * slot: 'Backdrop',\n * overridesResolver: (props, styles) => {\n * return styles.backdrop;\n * },\n * })({\n * zIndex: -1,\n * })\n */\n BackdropComponent: PropTypes.elementType,\n /**\n * Props applied to the [`Backdrop`](/material-ui/api/backdrop/) element.\n * @deprecated Use `slotProps.backdrop` instead.\n */\n BackdropProps: PropTypes.object,\n /**\n * A single child content element.\n */\n children: elementAcceptingRef.isRequired,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * When set to true the Modal waits until a nested Transition is completed before closing.\n * @default false\n */\n closeAfterTransition: PropTypes.bool,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * The components used for each slot inside.\n *\n * This prop is an alias for the `slots` prop.\n * It's recommended to use the `slots` prop instead.\n *\n * @default {}\n */\n components: PropTypes.shape({\n Backdrop: PropTypes.elementType,\n Root: PropTypes.elementType\n }),\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * This prop is an alias for the `slotProps` prop.\n * It's recommended to use the `slotProps` prop instead, as `componentsProps` will be deprecated in the future.\n *\n * @default {}\n */\n componentsProps: PropTypes.shape({\n backdrop: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n root: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * An HTML element or function that returns one.\n * The `container` will have the portal children appended to it.\n *\n * You can also provide a callback, which is called in a React layout effect.\n * This lets you set the container from a ref, and also makes server-side rendering possible.\n *\n * By default, it uses the body of the top-level document object,\n * so it's simply `document.body` most of the time.\n */\n container: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([HTMLElementType, PropTypes.func]),\n /**\n * If `true`, the modal will not automatically shift focus to itself when it opens, and\n * replace it to the last focused element when it closes.\n * This also works correctly with any modal children that have the `disableAutoFocus` prop.\n *\n * Generally this should never be set to `true` as it makes the modal less\n * accessible to assistive technologies, like screen readers.\n * @default false\n */\n disableAutoFocus: PropTypes.bool,\n /**\n * If `true`, the modal will not prevent focus from leaving the modal while open.\n *\n * Generally this should never be set to `true` as it makes the modal less\n * accessible to assistive technologies, like screen readers.\n * @default false\n */\n disableEnforceFocus: PropTypes.bool,\n /**\n * If `true`, hitting escape will not fire the `onClose` callback.\n * @default false\n */\n disableEscapeKeyDown: PropTypes.bool,\n /**\n * The `children` will be under the DOM hierarchy of the parent component.\n * @default false\n */\n disablePortal: PropTypes.bool,\n /**\n * If `true`, the modal will not restore focus to previously focused element once\n * modal is hidden or unmounted.\n * @default false\n */\n disableRestoreFocus: PropTypes.bool,\n /**\n * Disable the scroll lock behavior.\n * @default false\n */\n disableScrollLock: PropTypes.bool,\n /**\n * If `true`, the backdrop is not rendered.\n * @default false\n */\n hideBackdrop: PropTypes.bool,\n /**\n * Always keep the children in the DOM.\n * This prop can be useful in SEO situation or\n * when you want to maximize the responsiveness of the Modal.\n * @default false\n */\n keepMounted: PropTypes.bool,\n /**\n * Callback fired when the backdrop is clicked.\n * @deprecated Use the `onClose` prop with the `reason` argument to handle the `backdropClick` events.\n */\n onBackdropClick: PropTypes.func,\n /**\n * Callback fired when the component requests to be closed.\n * The `reason` parameter can optionally be used to control the response to `onClose`.\n *\n * @param {object} event The event source of the callback.\n * @param {string} reason Can be: `\"escapeKeyDown\"`, `\"backdropClick\"`.\n */\n onClose: PropTypes.func,\n /**\n * A function called when a transition enters.\n */\n onTransitionEnter: PropTypes.func,\n /**\n * A function called when a transition has exited.\n */\n onTransitionExited: PropTypes.func,\n /**\n * If `true`, the component is shown.\n */\n open: PropTypes.bool.isRequired,\n /**\n * The props used for each slot inside the Modal.\n * @default {}\n */\n slotProps: PropTypes.shape({\n backdrop: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n root: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside the Modal.\n * Either a string to use a HTML element or a component.\n * @default {}\n */\n slots: PropTypes.shape({\n backdrop: PropTypes.elementType,\n root: PropTypes.elementType\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default Modal;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getDialogUtilityClass(slot) {\n return generateUtilityClass('MuiDialog', slot);\n}\nconst dialogClasses = generateUtilityClasses('MuiDialog', ['root', 'scrollPaper', 'scrollBody', 'container', 'paper', 'paperScrollPaper', 'paperScrollBody', 'paperWidthFalse', 'paperWidthXs', 'paperWidthSm', 'paperWidthMd', 'paperWidthLg', 'paperWidthXl', 'paperFullWidth', 'paperFullScreen']);\nexport default dialogClasses;","import * as React from 'react';\nconst DialogContext = /*#__PURE__*/React.createContext({});\nif (process.env.NODE_ENV !== 'production') {\n DialogContext.displayName = 'DialogContext';\n}\nexport default DialogContext;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"aria-describedby\", \"aria-labelledby\", \"BackdropComponent\", \"BackdropProps\", \"children\", \"className\", \"disableEscapeKeyDown\", \"fullScreen\", \"fullWidth\", \"maxWidth\", \"onBackdropClick\", \"onClick\", \"onClose\", \"open\", \"PaperComponent\", \"PaperProps\", \"scroll\", \"TransitionComponent\", \"transitionDuration\", \"TransitionProps\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport useId from '@mui/utils/useId';\nimport capitalize from '../utils/capitalize';\nimport Modal from '../Modal';\nimport Fade from '../Fade';\nimport Paper from '../Paper';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport dialogClasses, { getDialogUtilityClass } from './dialogClasses';\nimport DialogContext from './DialogContext';\nimport Backdrop from '../Backdrop';\nimport useTheme from '../styles/useTheme';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst DialogBackdrop = styled(Backdrop, {\n name: 'MuiDialog',\n slot: 'Backdrop',\n overrides: (props, styles) => styles.backdrop\n})({\n // Improve scrollable dialog support.\n zIndex: -1\n});\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n scroll,\n maxWidth,\n fullWidth,\n fullScreen\n } = ownerState;\n const slots = {\n root: ['root'],\n container: ['container', `scroll${capitalize(scroll)}`],\n paper: ['paper', `paperScroll${capitalize(scroll)}`, `paperWidth${capitalize(String(maxWidth))}`, fullWidth && 'paperFullWidth', fullScreen && 'paperFullScreen']\n };\n return composeClasses(slots, getDialogUtilityClass, classes);\n};\nconst DialogRoot = styled(Modal, {\n name: 'MuiDialog',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({\n '@media print': {\n // Use !important to override the Modal inline-style.\n position: 'absolute !important'\n }\n});\nconst DialogContainer = styled('div', {\n name: 'MuiDialog',\n slot: 'Container',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.container, styles[`scroll${capitalize(ownerState.scroll)}`]];\n }\n})(({\n ownerState\n}) => _extends({\n height: '100%',\n '@media print': {\n height: 'auto'\n },\n // We disable the focus ring for mouse, touch and keyboard users.\n outline: 0\n}, ownerState.scroll === 'paper' && {\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center'\n}, ownerState.scroll === 'body' && {\n overflowY: 'auto',\n overflowX: 'hidden',\n textAlign: 'center',\n '&::after': {\n content: '\"\"',\n display: 'inline-block',\n verticalAlign: 'middle',\n height: '100%',\n width: '0'\n }\n}));\nconst DialogPaper = styled(Paper, {\n name: 'MuiDialog',\n slot: 'Paper',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.paper, styles[`scrollPaper${capitalize(ownerState.scroll)}`], styles[`paperWidth${capitalize(String(ownerState.maxWidth))}`], ownerState.fullWidth && styles.paperFullWidth, ownerState.fullScreen && styles.paperFullScreen];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n margin: 32,\n position: 'relative',\n overflowY: 'auto',\n // Fix IE11 issue, to remove at some point.\n '@media print': {\n overflowY: 'visible',\n boxShadow: 'none'\n }\n}, ownerState.scroll === 'paper' && {\n display: 'flex',\n flexDirection: 'column',\n maxHeight: 'calc(100% - 64px)'\n}, ownerState.scroll === 'body' && {\n display: 'inline-block',\n verticalAlign: 'middle',\n textAlign: 'left' // 'initial' doesn't work on IE11\n}, !ownerState.maxWidth && {\n maxWidth: 'calc(100% - 64px)'\n}, ownerState.maxWidth === 'xs' && {\n maxWidth: theme.breakpoints.unit === 'px' ? Math.max(theme.breakpoints.values.xs, 444) : `max(${theme.breakpoints.values.xs}${theme.breakpoints.unit}, 444px)`,\n [`&.${dialogClasses.paperScrollBody}`]: {\n [theme.breakpoints.down(Math.max(theme.breakpoints.values.xs, 444) + 32 * 2)]: {\n maxWidth: 'calc(100% - 64px)'\n }\n }\n}, ownerState.maxWidth && ownerState.maxWidth !== 'xs' && {\n maxWidth: `${theme.breakpoints.values[ownerState.maxWidth]}${theme.breakpoints.unit}`,\n [`&.${dialogClasses.paperScrollBody}`]: {\n [theme.breakpoints.down(theme.breakpoints.values[ownerState.maxWidth] + 32 * 2)]: {\n maxWidth: 'calc(100% - 64px)'\n }\n }\n}, ownerState.fullWidth && {\n width: 'calc(100% - 64px)'\n}, ownerState.fullScreen && {\n margin: 0,\n width: '100%',\n maxWidth: '100%',\n height: '100%',\n maxHeight: 'none',\n borderRadius: 0,\n [`&.${dialogClasses.paperScrollBody}`]: {\n margin: 0,\n maxWidth: '100%'\n }\n}));\n\n/**\n * Dialogs are overlaid modal paper based components with a backdrop.\n */\nconst Dialog = /*#__PURE__*/React.forwardRef(function Dialog(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiDialog'\n });\n const theme = useTheme();\n const defaultTransitionDuration = {\n enter: theme.transitions.duration.enteringScreen,\n exit: theme.transitions.duration.leavingScreen\n };\n const {\n 'aria-describedby': ariaDescribedby,\n 'aria-labelledby': ariaLabelledbyProp,\n BackdropComponent,\n BackdropProps,\n children,\n className,\n disableEscapeKeyDown = false,\n fullScreen = false,\n fullWidth = false,\n maxWidth = 'sm',\n onBackdropClick,\n onClick,\n onClose,\n open,\n PaperComponent = Paper,\n PaperProps = {},\n scroll = 'paper',\n TransitionComponent = Fade,\n transitionDuration = defaultTransitionDuration,\n TransitionProps\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n disableEscapeKeyDown,\n fullScreen,\n fullWidth,\n maxWidth,\n scroll\n });\n const classes = useUtilityClasses(ownerState);\n const backdropClick = React.useRef();\n const handleMouseDown = event => {\n // We don't want to close the dialog when clicking the dialog content.\n // Make sure the event starts and ends on the same DOM element.\n backdropClick.current = event.target === event.currentTarget;\n };\n const handleBackdropClick = event => {\n if (onClick) {\n onClick(event);\n }\n\n // Ignore the events not coming from the \"backdrop\".\n if (!backdropClick.current) {\n return;\n }\n backdropClick.current = null;\n if (onBackdropClick) {\n onBackdropClick(event);\n }\n if (onClose) {\n onClose(event, 'backdropClick');\n }\n };\n const ariaLabelledby = useId(ariaLabelledbyProp);\n const dialogContextValue = React.useMemo(() => {\n return {\n titleId: ariaLabelledby\n };\n }, [ariaLabelledby]);\n return /*#__PURE__*/_jsx(DialogRoot, _extends({\n className: clsx(classes.root, className),\n closeAfterTransition: true,\n components: {\n Backdrop: DialogBackdrop\n },\n componentsProps: {\n backdrop: _extends({\n transitionDuration,\n as: BackdropComponent\n }, BackdropProps)\n },\n disableEscapeKeyDown: disableEscapeKeyDown,\n onClose: onClose,\n open: open,\n ref: ref,\n onClick: handleBackdropClick,\n ownerState: ownerState\n }, other, {\n children: /*#__PURE__*/_jsx(TransitionComponent, _extends({\n appear: true,\n in: open,\n timeout: transitionDuration,\n role: \"presentation\"\n }, TransitionProps, {\n children: /*#__PURE__*/_jsx(DialogContainer, {\n className: clsx(classes.container),\n onMouseDown: handleMouseDown,\n ownerState: ownerState,\n children: /*#__PURE__*/_jsx(DialogPaper, _extends({\n as: PaperComponent,\n elevation: 24,\n role: \"dialog\",\n \"aria-describedby\": ariaDescribedby,\n \"aria-labelledby\": ariaLabelledby\n }, PaperProps, {\n className: clsx(classes.paper, PaperProps.className),\n ownerState: ownerState,\n children: /*#__PURE__*/_jsx(DialogContext.Provider, {\n value: dialogContextValue,\n children: children\n })\n }))\n })\n }))\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Dialog.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The id(s) of the element(s) that describe the dialog.\n */\n 'aria-describedby': PropTypes.string,\n /**\n * The id(s) of the element(s) that label the dialog.\n */\n 'aria-labelledby': PropTypes.string,\n /**\n * A backdrop component. This prop enables custom backdrop rendering.\n * @deprecated Use `slots.backdrop` instead. While this prop currently works, it will be removed in the next major version.\n * Use the `slots.backdrop` prop to make your application ready for the next version of Material UI.\n * @default styled(Backdrop, {\n * name: 'MuiModal',\n * slot: 'Backdrop',\n * overridesResolver: (props, styles) => {\n * return styles.backdrop;\n * },\n * })({\n * zIndex: -1,\n * })\n */\n BackdropComponent: PropTypes.elementType,\n /**\n * @ignore\n */\n BackdropProps: PropTypes.object,\n /**\n * Dialog children, usually the included sub-components.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * If `true`, hitting escape will not fire the `onClose` callback.\n * @default false\n */\n disableEscapeKeyDown: PropTypes.bool,\n /**\n * If `true`, the dialog is full-screen.\n * @default false\n */\n fullScreen: PropTypes.bool,\n /**\n * If `true`, the dialog stretches to `maxWidth`.\n *\n * Notice that the dialog width grow is limited by the default margin.\n * @default false\n */\n fullWidth: PropTypes.bool,\n /**\n * Determine the max-width of the dialog.\n * The dialog width grows with the size of the screen.\n * Set to `false` to disable `maxWidth`.\n * @default 'sm'\n */\n maxWidth: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['xs', 'sm', 'md', 'lg', 'xl', false]), PropTypes.string]),\n /**\n * Callback fired when the backdrop is clicked.\n * @deprecated Use the `onClose` prop with the `reason` argument to handle the `backdropClick` events.\n */\n onBackdropClick: PropTypes.func,\n /**\n * @ignore\n */\n onClick: PropTypes.func,\n /**\n * Callback fired when the component requests to be closed.\n *\n * @param {object} event The event source of the callback.\n * @param {string} reason Can be: `\"escapeKeyDown\"`, `\"backdropClick\"`.\n */\n onClose: PropTypes.func,\n /**\n * If `true`, the component is shown.\n */\n open: PropTypes.bool.isRequired,\n /**\n * The component used to render the body of the dialog.\n * @default Paper\n */\n PaperComponent: PropTypes.elementType,\n /**\n * Props applied to the [`Paper`](/material-ui/api/paper/) element.\n * @default {}\n */\n PaperProps: PropTypes.object,\n /**\n * Determine the container for scrolling the dialog.\n * @default 'paper'\n */\n scroll: PropTypes.oneOf(['body', 'paper']),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The component used for the transition.\n * [Follow this guide](/material-ui/transitions/#transitioncomponent-prop) to learn more about the requirements for this component.\n * @default Fade\n */\n TransitionComponent: PropTypes.elementType,\n /**\n * The duration for the transition, in milliseconds.\n * You may specify a single timeout for all transitions, or individually with an object.\n * @default {\n * enter: theme.transitions.duration.enteringScreen,\n * exit: theme.transitions.duration.leavingScreen,\n * }\n */\n transitionDuration: PropTypes.oneOfType([PropTypes.number, PropTypes.shape({\n appear: PropTypes.number,\n enter: PropTypes.number,\n exit: PropTypes.number\n })]),\n /**\n * Props applied to the transition element.\n * By default, the element is based on this [`Transition`](https://reactcommunity.org/react-transition-group/transition/) component.\n */\n TransitionProps: PropTypes.object\n} : void 0;\nexport default Dialog;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getDialogActionsUtilityClass(slot) {\n return generateUtilityClass('MuiDialogActions', slot);\n}\nconst dialogActionsClasses = generateUtilityClasses('MuiDialogActions', ['root', 'spacing']);\nexport default dialogActionsClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"disableSpacing\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport { getDialogActionsUtilityClass } from './dialogActionsClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disableSpacing\n } = ownerState;\n const slots = {\n root: ['root', !disableSpacing && 'spacing']\n };\n return composeClasses(slots, getDialogActionsUtilityClass, classes);\n};\nconst DialogActionsRoot = styled('div', {\n name: 'MuiDialogActions',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, !ownerState.disableSpacing && styles.spacing];\n }\n})(({\n ownerState\n}) => _extends({\n display: 'flex',\n alignItems: 'center',\n padding: 8,\n justifyContent: 'flex-end',\n flex: '0 0 auto'\n}, !ownerState.disableSpacing && {\n '& > :not(style) ~ :not(style)': {\n marginLeft: 8\n }\n}));\nconst DialogActions = /*#__PURE__*/React.forwardRef(function DialogActions(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiDialogActions'\n });\n const {\n className,\n disableSpacing = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n disableSpacing\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(DialogActionsRoot, _extends({\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? DialogActions.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * If `true`, the actions do not have additional margin.\n * @default false\n */\n disableSpacing: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default DialogActions;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getDialogContentUtilityClass(slot) {\n return generateUtilityClass('MuiDialogContent', slot);\n}\nconst dialogContentClasses = generateUtilityClasses('MuiDialogContent', ['root', 'dividers']);\nexport default dialogContentClasses;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getDialogTitleUtilityClass(slot) {\n return generateUtilityClass('MuiDialogTitle', slot);\n}\nconst dialogTitleClasses = generateUtilityClasses('MuiDialogTitle', ['root']);\nexport default dialogTitleClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"dividers\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport { getDialogContentUtilityClass } from './dialogContentClasses';\nimport dialogTitleClasses from '../DialogTitle/dialogTitleClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n dividers\n } = ownerState;\n const slots = {\n root: ['root', dividers && 'dividers']\n };\n return composeClasses(slots, getDialogContentUtilityClass, classes);\n};\nconst DialogContentRoot = styled('div', {\n name: 'MuiDialogContent',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.dividers && styles.dividers];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n flex: '1 1 auto',\n // Add iOS momentum scrolling for iOS < 13.0\n WebkitOverflowScrolling: 'touch',\n overflowY: 'auto',\n padding: '20px 24px'\n}, ownerState.dividers ? {\n padding: '16px 24px',\n borderTop: `1px solid ${(theme.vars || theme).palette.divider}`,\n borderBottom: `1px solid ${(theme.vars || theme).palette.divider}`\n} : {\n [`.${dialogTitleClasses.root} + &`]: {\n paddingTop: 0\n }\n}));\nconst DialogContent = /*#__PURE__*/React.forwardRef(function DialogContent(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiDialogContent'\n });\n const {\n className,\n dividers = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n dividers\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(DialogContentRoot, _extends({\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? DialogContent.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * Display the top and bottom dividers.\n * @default false\n */\n dividers: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default DialogContent;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getDialogContentTextUtilityClass(slot) {\n return generateUtilityClass('MuiDialogContentText', slot);\n}\nconst dialogContentTextClasses = generateUtilityClasses('MuiDialogContentText', ['root']);\nexport default dialogContentTextClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"className\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport Typography from '../Typography';\nimport { getDialogContentTextUtilityClass } from './dialogContentTextClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n const composedClasses = composeClasses(slots, getDialogContentTextUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\nconst DialogContentTextRoot = styled(Typography, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiDialogContentText',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({});\nconst DialogContentText = /*#__PURE__*/React.forwardRef(function DialogContentText(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiDialogContentText'\n });\n const {\n className\n } = props,\n ownerState = _objectWithoutPropertiesLoose(props, _excluded);\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(DialogContentTextRoot, _extends({\n component: \"p\",\n variant: \"body1\",\n color: \"text.secondary\",\n ref: ref,\n ownerState: ownerState,\n className: clsx(classes.root, className)\n }, props, {\n classes: classes\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? DialogContentText.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default DialogContentText;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"className\", \"id\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport Typography from '../Typography';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport { getDialogTitleUtilityClass } from './dialogTitleClasses';\nimport DialogContext from '../Dialog/DialogContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getDialogTitleUtilityClass, classes);\n};\nconst DialogTitleRoot = styled(Typography, {\n name: 'MuiDialogTitle',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({\n padding: '16px 24px',\n flex: '0 0 auto'\n});\nconst DialogTitle = /*#__PURE__*/React.forwardRef(function DialogTitle(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiDialogTitle'\n });\n const {\n className,\n id: idProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = props;\n const classes = useUtilityClasses(ownerState);\n const {\n titleId = idProp\n } = React.useContext(DialogContext);\n return /*#__PURE__*/_jsx(DialogTitleRoot, _extends({\n component: \"h2\",\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref,\n variant: \"h6\",\n id: idProp != null ? idProp : titleId\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? DialogTitle.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * @ignore\n */\n id: PropTypes.string,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default DialogTitle;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getDividerUtilityClass(slot) {\n return generateUtilityClass('MuiDivider', slot);\n}\nconst dividerClasses = generateUtilityClasses('MuiDivider', ['root', 'absolute', 'fullWidth', 'inset', 'middle', 'flexItem', 'light', 'vertical', 'withChildren', 'withChildrenVertical', 'textAlignRight', 'textAlignLeft', 'wrapper', 'wrapperVertical']);\nexport default dividerClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"absolute\", \"children\", \"className\", \"component\", \"flexItem\", \"light\", \"orientation\", \"role\", \"textAlign\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { alpha } from '@mui/system/colorManipulator';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport { getDividerUtilityClass } from './dividerClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n absolute,\n children,\n classes,\n flexItem,\n light,\n orientation,\n textAlign,\n variant\n } = ownerState;\n const slots = {\n root: ['root', absolute && 'absolute', variant, light && 'light', orientation === 'vertical' && 'vertical', flexItem && 'flexItem', children && 'withChildren', children && orientation === 'vertical' && 'withChildrenVertical', textAlign === 'right' && orientation !== 'vertical' && 'textAlignRight', textAlign === 'left' && orientation !== 'vertical' && 'textAlignLeft'],\n wrapper: ['wrapper', orientation === 'vertical' && 'wrapperVertical']\n };\n return composeClasses(slots, getDividerUtilityClass, classes);\n};\nconst DividerRoot = styled('div', {\n name: 'MuiDivider',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.absolute && styles.absolute, styles[ownerState.variant], ownerState.light && styles.light, ownerState.orientation === 'vertical' && styles.vertical, ownerState.flexItem && styles.flexItem, ownerState.children && styles.withChildren, ownerState.children && ownerState.orientation === 'vertical' && styles.withChildrenVertical, ownerState.textAlign === 'right' && ownerState.orientation !== 'vertical' && styles.textAlignRight, ownerState.textAlign === 'left' && ownerState.orientation !== 'vertical' && styles.textAlignLeft];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n margin: 0,\n // Reset browser default style.\n flexShrink: 0,\n borderWidth: 0,\n borderStyle: 'solid',\n borderColor: (theme.vars || theme).palette.divider,\n borderBottomWidth: 'thin'\n}, ownerState.absolute && {\n position: 'absolute',\n bottom: 0,\n left: 0,\n width: '100%'\n}, ownerState.light && {\n borderColor: theme.vars ? `rgba(${theme.vars.palette.dividerChannel} / 0.08)` : alpha(theme.palette.divider, 0.08)\n}, ownerState.variant === 'inset' && {\n marginLeft: 72\n}, ownerState.variant === 'middle' && ownerState.orientation === 'horizontal' && {\n marginLeft: theme.spacing(2),\n marginRight: theme.spacing(2)\n}, ownerState.variant === 'middle' && ownerState.orientation === 'vertical' && {\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1)\n}, ownerState.orientation === 'vertical' && {\n height: '100%',\n borderBottomWidth: 0,\n borderRightWidth: 'thin'\n}, ownerState.flexItem && {\n alignSelf: 'stretch',\n height: 'auto'\n}), ({\n ownerState\n}) => _extends({}, ownerState.children && {\n display: 'flex',\n whiteSpace: 'nowrap',\n textAlign: 'center',\n border: 0,\n '&::before, &::after': {\n content: '\"\"',\n alignSelf: 'center'\n }\n}), ({\n theme,\n ownerState\n}) => _extends({}, ownerState.children && ownerState.orientation !== 'vertical' && {\n '&::before, &::after': {\n width: '100%',\n borderTop: `thin solid ${(theme.vars || theme).palette.divider}`\n }\n}), ({\n theme,\n ownerState\n}) => _extends({}, ownerState.children && ownerState.orientation === 'vertical' && {\n flexDirection: 'column',\n '&::before, &::after': {\n height: '100%',\n borderLeft: `thin solid ${(theme.vars || theme).palette.divider}`\n }\n}), ({\n ownerState\n}) => _extends({}, ownerState.textAlign === 'right' && ownerState.orientation !== 'vertical' && {\n '&::before': {\n width: '90%'\n },\n '&::after': {\n width: '10%'\n }\n}, ownerState.textAlign === 'left' && ownerState.orientation !== 'vertical' && {\n '&::before': {\n width: '10%'\n },\n '&::after': {\n width: '90%'\n }\n}));\nconst DividerWrapper = styled('span', {\n name: 'MuiDivider',\n slot: 'Wrapper',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.wrapper, ownerState.orientation === 'vertical' && styles.wrapperVertical];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'inline-block',\n paddingLeft: `calc(${theme.spacing(1)} * 1.2)`,\n paddingRight: `calc(${theme.spacing(1)} * 1.2)`\n}, ownerState.orientation === 'vertical' && {\n paddingTop: `calc(${theme.spacing(1)} * 1.2)`,\n paddingBottom: `calc(${theme.spacing(1)} * 1.2)`\n}));\nconst Divider = /*#__PURE__*/React.forwardRef(function Divider(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiDivider'\n });\n const {\n absolute = false,\n children,\n className,\n component = children ? 'div' : 'hr',\n flexItem = false,\n light = false,\n orientation = 'horizontal',\n role = component !== 'hr' ? 'separator' : undefined,\n textAlign = 'center',\n variant = 'fullWidth'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n absolute,\n component,\n flexItem,\n light,\n orientation,\n role,\n textAlign,\n variant\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(DividerRoot, _extends({\n as: component,\n className: clsx(classes.root, className),\n role: role,\n ref: ref,\n ownerState: ownerState\n }, other, {\n children: children ? /*#__PURE__*/_jsx(DividerWrapper, {\n className: classes.wrapper,\n ownerState: ownerState,\n children: children\n }) : null\n }));\n});\n\n/**\n * The following flag is used to ensure that this component isn't tabbable i.e.\n * does not get highlight/focus inside of MUI List.\n */\nDivider.muiSkipListHighlight = true;\nprocess.env.NODE_ENV !== \"production\" ? Divider.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Absolutely position the element.\n * @default false\n */\n absolute: PropTypes.bool,\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * If `true`, a vertical divider will have the correct height when used in flex container.\n * (By default, a vertical divider will have a calculated height of `0px` if it is the child of a flex container.)\n * @default false\n */\n flexItem: PropTypes.bool,\n /**\n * If `true`, the divider will have a lighter color.\n * @default false\n * @deprecated Use <Divider sx={{ opacity: 0.6 }} /> (or any opacity or color) instead. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/)\n */\n light: PropTypes.bool,\n /**\n * The component orientation.\n * @default 'horizontal'\n */\n orientation: PropTypes.oneOf(['horizontal', 'vertical']),\n /**\n * @ignore\n */\n role: PropTypes /* @typescript-to-proptypes-ignore */.string,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The text alignment.\n * @default 'center'\n */\n textAlign: PropTypes.oneOf(['center', 'left', 'right']),\n /**\n * The variant to use.\n * @default 'fullWidth'\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['fullWidth', 'inset', 'middle']), PropTypes.string])\n} : void 0;\nexport default Divider;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"addEndListener\", \"appear\", \"children\", \"container\", \"direction\", \"easing\", \"in\", \"onEnter\", \"onEntered\", \"onEntering\", \"onExit\", \"onExited\", \"onExiting\", \"style\", \"timeout\", \"TransitionComponent\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { Transition } from 'react-transition-group';\nimport chainPropTypes from '@mui/utils/chainPropTypes';\nimport HTMLElementType from '@mui/utils/HTMLElementType';\nimport elementAcceptingRef from '@mui/utils/elementAcceptingRef';\nimport debounce from '../utils/debounce';\nimport useForkRef from '../utils/useForkRef';\nimport useTheme from '../styles/useTheme';\nimport { reflow, getTransitionProps } from '../transitions/utils';\nimport { ownerWindow } from '../utils';\n\n// Translate the node so it can't be seen on the screen.\n// Later, we're going to translate the node back to its original location with `none`.\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction getTranslateValue(direction, node, resolvedContainer) {\n const rect = node.getBoundingClientRect();\n const containerRect = resolvedContainer && resolvedContainer.getBoundingClientRect();\n const containerWindow = ownerWindow(node);\n let transform;\n if (node.fakeTransform) {\n transform = node.fakeTransform;\n } else {\n const computedStyle = containerWindow.getComputedStyle(node);\n transform = computedStyle.getPropertyValue('-webkit-transform') || computedStyle.getPropertyValue('transform');\n }\n let offsetX = 0;\n let offsetY = 0;\n if (transform && transform !== 'none' && typeof transform === 'string') {\n const transformValues = transform.split('(')[1].split(')')[0].split(',');\n offsetX = parseInt(transformValues[4], 10);\n offsetY = parseInt(transformValues[5], 10);\n }\n if (direction === 'left') {\n if (containerRect) {\n return `translateX(${containerRect.right + offsetX - rect.left}px)`;\n }\n return `translateX(${containerWindow.innerWidth + offsetX - rect.left}px)`;\n }\n if (direction === 'right') {\n if (containerRect) {\n return `translateX(-${rect.right - containerRect.left - offsetX}px)`;\n }\n return `translateX(-${rect.left + rect.width - offsetX}px)`;\n }\n if (direction === 'up') {\n if (containerRect) {\n return `translateY(${containerRect.bottom + offsetY - rect.top}px)`;\n }\n return `translateY(${containerWindow.innerHeight + offsetY - rect.top}px)`;\n }\n\n // direction === 'down'\n if (containerRect) {\n return `translateY(-${rect.top - containerRect.top + rect.height - offsetY}px)`;\n }\n return `translateY(-${rect.top + rect.height - offsetY}px)`;\n}\nfunction resolveContainer(containerPropProp) {\n return typeof containerPropProp === 'function' ? containerPropProp() : containerPropProp;\n}\nexport function setTranslateValue(direction, node, containerProp) {\n const resolvedContainer = resolveContainer(containerProp);\n const transform = getTranslateValue(direction, node, resolvedContainer);\n if (transform) {\n node.style.webkitTransform = transform;\n node.style.transform = transform;\n }\n}\n\n/**\n * The Slide transition is used by the [Drawer](/material-ui/react-drawer/) component.\n * It uses [react-transition-group](https://github.com/reactjs/react-transition-group) internally.\n */\nconst Slide = /*#__PURE__*/React.forwardRef(function Slide(props, ref) {\n const theme = useTheme();\n const defaultEasing = {\n enter: theme.transitions.easing.easeOut,\n exit: theme.transitions.easing.sharp\n };\n const defaultTimeout = {\n enter: theme.transitions.duration.enteringScreen,\n exit: theme.transitions.duration.leavingScreen\n };\n const {\n addEndListener,\n appear = true,\n children,\n container: containerProp,\n direction = 'down',\n easing: easingProp = defaultEasing,\n in: inProp,\n onEnter,\n onEntered,\n onEntering,\n onExit,\n onExited,\n onExiting,\n style,\n timeout = defaultTimeout,\n // eslint-disable-next-line react/prop-types\n TransitionComponent = Transition\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const childrenRef = React.useRef(null);\n const handleRef = useForkRef(children.ref, childrenRef, ref);\n const normalizedTransitionCallback = callback => isAppearing => {\n if (callback) {\n // onEnterXxx and onExitXxx callbacks have a different arguments.length value.\n if (isAppearing === undefined) {\n callback(childrenRef.current);\n } else {\n callback(childrenRef.current, isAppearing);\n }\n }\n };\n const handleEnter = normalizedTransitionCallback((node, isAppearing) => {\n setTranslateValue(direction, node, containerProp);\n reflow(node);\n if (onEnter) {\n onEnter(node, isAppearing);\n }\n });\n const handleEntering = normalizedTransitionCallback((node, isAppearing) => {\n const transitionProps = getTransitionProps({\n timeout,\n style,\n easing: easingProp\n }, {\n mode: 'enter'\n });\n node.style.webkitTransition = theme.transitions.create('-webkit-transform', _extends({}, transitionProps));\n node.style.transition = theme.transitions.create('transform', _extends({}, transitionProps));\n node.style.webkitTransform = 'none';\n node.style.transform = 'none';\n if (onEntering) {\n onEntering(node, isAppearing);\n }\n });\n const handleEntered = normalizedTransitionCallback(onEntered);\n const handleExiting = normalizedTransitionCallback(onExiting);\n const handleExit = normalizedTransitionCallback(node => {\n const transitionProps = getTransitionProps({\n timeout,\n style,\n easing: easingProp\n }, {\n mode: 'exit'\n });\n node.style.webkitTransition = theme.transitions.create('-webkit-transform', transitionProps);\n node.style.transition = theme.transitions.create('transform', transitionProps);\n setTranslateValue(direction, node, containerProp);\n if (onExit) {\n onExit(node);\n }\n });\n const handleExited = normalizedTransitionCallback(node => {\n // No need for transitions when the component is hidden\n node.style.webkitTransition = '';\n node.style.transition = '';\n if (onExited) {\n onExited(node);\n }\n });\n const handleAddEndListener = next => {\n if (addEndListener) {\n // Old call signature before `react-transition-group` implemented `nodeRef`\n addEndListener(childrenRef.current, next);\n }\n };\n const updatePosition = React.useCallback(() => {\n if (childrenRef.current) {\n setTranslateValue(direction, childrenRef.current, containerProp);\n }\n }, [direction, containerProp]);\n React.useEffect(() => {\n // Skip configuration where the position is screen size invariant.\n if (inProp || direction === 'down' || direction === 'right') {\n return undefined;\n }\n const handleResize = debounce(() => {\n if (childrenRef.current) {\n setTranslateValue(direction, childrenRef.current, containerProp);\n }\n });\n const containerWindow = ownerWindow(childrenRef.current);\n containerWindow.addEventListener('resize', handleResize);\n return () => {\n handleResize.clear();\n containerWindow.removeEventListener('resize', handleResize);\n };\n }, [direction, inProp, containerProp]);\n React.useEffect(() => {\n if (!inProp) {\n // We need to update the position of the drawer when the direction change and\n // when it's hidden.\n updatePosition();\n }\n }, [inProp, updatePosition]);\n return /*#__PURE__*/_jsx(TransitionComponent, _extends({\n nodeRef: childrenRef,\n onEnter: handleEnter,\n onEntered: handleEntered,\n onEntering: handleEntering,\n onExit: handleExit,\n onExited: handleExited,\n onExiting: handleExiting,\n addEndListener: handleAddEndListener,\n appear: appear,\n in: inProp,\n timeout: timeout\n }, other, {\n children: (state, childProps) => {\n return /*#__PURE__*/React.cloneElement(children, _extends({\n ref: handleRef,\n style: _extends({\n visibility: state === 'exited' && !inProp ? 'hidden' : undefined\n }, style, children.props.style)\n }, childProps));\n }\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Slide.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Add a custom transition end trigger. Called with the transitioning DOM\n * node and a done callback. Allows for more fine grained transition end\n * logic. Note: Timeouts are still used as a fallback if provided.\n */\n addEndListener: PropTypes.func,\n /**\n * Perform the enter transition when it first mounts if `in` is also `true`.\n * Set this to `false` to disable this behavior.\n * @default true\n */\n appear: PropTypes.bool,\n /**\n * A single child content element.\n */\n children: elementAcceptingRef.isRequired,\n /**\n * An HTML element, or a function that returns one.\n * It's used to set the container the Slide is transitioning from.\n */\n container: chainPropTypes(PropTypes.oneOfType([HTMLElementType, PropTypes.func]), props => {\n if (props.open) {\n const resolvedContainer = resolveContainer(props.container);\n if (resolvedContainer && resolvedContainer.nodeType === 1) {\n const box = resolvedContainer.getBoundingClientRect();\n if (process.env.NODE_ENV !== 'test' && box.top === 0 && box.left === 0 && box.right === 0 && box.bottom === 0) {\n return new Error(['MUI: The `container` prop provided to the component is invalid.', 'The anchor element should be part of the document layout.', \"Make sure the element is present in the document or that it's not display none.\"].join('\\n'));\n }\n } else if (!resolvedContainer || typeof resolvedContainer.getBoundingClientRect !== 'function' || resolvedContainer.contextElement != null && resolvedContainer.contextElement.nodeType !== 1) {\n return new Error(['MUI: The `container` prop provided to the component is invalid.', 'It should be an HTML element instance.'].join('\\n'));\n }\n }\n return null;\n }),\n /**\n * Direction the child node will enter from.\n * @default 'down'\n */\n direction: PropTypes.oneOf(['down', 'left', 'right', 'up']),\n /**\n * The transition timing function.\n * You may specify a single easing or a object containing enter and exit values.\n * @default {\n * enter: theme.transitions.easing.easeOut,\n * exit: theme.transitions.easing.sharp,\n * }\n */\n easing: PropTypes.oneOfType([PropTypes.shape({\n enter: PropTypes.string,\n exit: PropTypes.string\n }), PropTypes.string]),\n /**\n * If `true`, the component will transition in.\n */\n in: PropTypes.bool,\n /**\n * @ignore\n */\n onEnter: PropTypes.func,\n /**\n * @ignore\n */\n onEntered: PropTypes.func,\n /**\n * @ignore\n */\n onEntering: PropTypes.func,\n /**\n * @ignore\n */\n onExit: PropTypes.func,\n /**\n * @ignore\n */\n onExited: PropTypes.func,\n /**\n * @ignore\n */\n onExiting: PropTypes.func,\n /**\n * @ignore\n */\n style: PropTypes.object,\n /**\n * The duration for the transition, in milliseconds.\n * You may specify a single timeout for all transitions, or individually with an object.\n * @default {\n * enter: theme.transitions.duration.enteringScreen,\n * exit: theme.transitions.duration.leavingScreen,\n * }\n */\n timeout: PropTypes.oneOfType([PropTypes.number, PropTypes.shape({\n appear: PropTypes.number,\n enter: PropTypes.number,\n exit: PropTypes.number\n })])\n} : void 0;\nexport default Slide;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getDrawerUtilityClass(slot) {\n return generateUtilityClass('MuiDrawer', slot);\n}\nconst drawerClasses = generateUtilityClasses('MuiDrawer', ['root', 'docked', 'paper', 'paperAnchorLeft', 'paperAnchorRight', 'paperAnchorTop', 'paperAnchorBottom', 'paperAnchorDockedLeft', 'paperAnchorDockedRight', 'paperAnchorDockedTop', 'paperAnchorDockedBottom', 'modal']);\nexport default drawerClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"BackdropProps\"],\n _excluded2 = [\"anchor\", \"BackdropProps\", \"children\", \"className\", \"elevation\", \"hideBackdrop\", \"ModalProps\", \"onClose\", \"open\", \"PaperProps\", \"SlideProps\", \"TransitionComponent\", \"transitionDuration\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport integerPropType from '@mui/utils/integerPropType';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { useRtl } from '@mui/system/RtlProvider';\nimport Modal from '../Modal';\nimport Slide from '../Slide';\nimport Paper from '../Paper';\nimport capitalize from '../utils/capitalize';\nimport useTheme from '../styles/useTheme';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport { getDrawerUtilityClass } from './drawerClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, (ownerState.variant === 'permanent' || ownerState.variant === 'persistent') && styles.docked, styles.modal];\n};\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n anchor,\n variant\n } = ownerState;\n const slots = {\n root: ['root'],\n docked: [(variant === 'permanent' || variant === 'persistent') && 'docked'],\n modal: ['modal'],\n paper: ['paper', `paperAnchor${capitalize(anchor)}`, variant !== 'temporary' && `paperAnchorDocked${capitalize(anchor)}`]\n };\n return composeClasses(slots, getDrawerUtilityClass, classes);\n};\nconst DrawerRoot = styled(Modal, {\n name: 'MuiDrawer',\n slot: 'Root',\n overridesResolver\n})(({\n theme\n}) => ({\n zIndex: (theme.vars || theme).zIndex.drawer\n}));\nconst DrawerDockedRoot = styled('div', {\n shouldForwardProp: rootShouldForwardProp,\n name: 'MuiDrawer',\n slot: 'Docked',\n skipVariantsResolver: false,\n overridesResolver\n})({\n flex: '0 0 auto'\n});\nconst DrawerPaper = styled(Paper, {\n name: 'MuiDrawer',\n slot: 'Paper',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.paper, styles[`paperAnchor${capitalize(ownerState.anchor)}`], ownerState.variant !== 'temporary' && styles[`paperAnchorDocked${capitalize(ownerState.anchor)}`]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n overflowY: 'auto',\n display: 'flex',\n flexDirection: 'column',\n height: '100%',\n flex: '1 0 auto',\n zIndex: (theme.vars || theme).zIndex.drawer,\n // Add iOS momentum scrolling for iOS < 13.0\n WebkitOverflowScrolling: 'touch',\n // temporary style\n position: 'fixed',\n top: 0,\n // We disable the focus ring for mouse, touch and keyboard users.\n // At some point, it would be better to keep it for keyboard users.\n // :focus-ring CSS pseudo-class will help.\n outline: 0\n}, ownerState.anchor === 'left' && {\n left: 0\n}, ownerState.anchor === 'top' && {\n top: 0,\n left: 0,\n right: 0,\n height: 'auto',\n maxHeight: '100%'\n}, ownerState.anchor === 'right' && {\n right: 0\n}, ownerState.anchor === 'bottom' && {\n top: 'auto',\n left: 0,\n bottom: 0,\n right: 0,\n height: 'auto',\n maxHeight: '100%'\n}, ownerState.anchor === 'left' && ownerState.variant !== 'temporary' && {\n borderRight: `1px solid ${(theme.vars || theme).palette.divider}`\n}, ownerState.anchor === 'top' && ownerState.variant !== 'temporary' && {\n borderBottom: `1px solid ${(theme.vars || theme).palette.divider}`\n}, ownerState.anchor === 'right' && ownerState.variant !== 'temporary' && {\n borderLeft: `1px solid ${(theme.vars || theme).palette.divider}`\n}, ownerState.anchor === 'bottom' && ownerState.variant !== 'temporary' && {\n borderTop: `1px solid ${(theme.vars || theme).palette.divider}`\n}));\nconst oppositeDirection = {\n left: 'right',\n right: 'left',\n top: 'down',\n bottom: 'up'\n};\nexport function isHorizontal(anchor) {\n return ['left', 'right'].indexOf(anchor) !== -1;\n}\nexport function getAnchor({\n direction\n}, anchor) {\n return direction === 'rtl' && isHorizontal(anchor) ? oppositeDirection[anchor] : anchor;\n}\n\n/**\n * The props of the [Modal](/material-ui/api/modal/) component are available\n * when `variant=\"temporary\"` is set.\n */\nconst Drawer = /*#__PURE__*/React.forwardRef(function Drawer(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiDrawer'\n });\n const theme = useTheme();\n const isRtl = useRtl();\n const defaultTransitionDuration = {\n enter: theme.transitions.duration.enteringScreen,\n exit: theme.transitions.duration.leavingScreen\n };\n const {\n anchor: anchorProp = 'left',\n BackdropProps,\n children,\n className,\n elevation = 16,\n hideBackdrop = false,\n ModalProps: {\n BackdropProps: BackdropPropsProp\n } = {},\n onClose,\n open = false,\n PaperProps = {},\n SlideProps,\n // eslint-disable-next-line react/prop-types\n TransitionComponent = Slide,\n transitionDuration = defaultTransitionDuration,\n variant = 'temporary'\n } = props,\n ModalProps = _objectWithoutPropertiesLoose(props.ModalProps, _excluded),\n other = _objectWithoutPropertiesLoose(props, _excluded2);\n\n // Let's assume that the Drawer will always be rendered on user space.\n // We use this state is order to skip the appear transition during the\n // initial mount of the component.\n const mounted = React.useRef(false);\n React.useEffect(() => {\n mounted.current = true;\n }, []);\n const anchorInvariant = getAnchor({\n direction: isRtl ? 'rtl' : 'ltr'\n }, anchorProp);\n const anchor = anchorProp;\n const ownerState = _extends({}, props, {\n anchor,\n elevation,\n open,\n variant\n }, other);\n const classes = useUtilityClasses(ownerState);\n const drawer = /*#__PURE__*/_jsx(DrawerPaper, _extends({\n elevation: variant === 'temporary' ? elevation : 0,\n square: true\n }, PaperProps, {\n className: clsx(classes.paper, PaperProps.className),\n ownerState: ownerState,\n children: children\n }));\n if (variant === 'permanent') {\n return /*#__PURE__*/_jsx(DrawerDockedRoot, _extends({\n className: clsx(classes.root, classes.docked, className),\n ownerState: ownerState,\n ref: ref\n }, other, {\n children: drawer\n }));\n }\n const slidingDrawer = /*#__PURE__*/_jsx(TransitionComponent, _extends({\n in: open,\n direction: oppositeDirection[anchorInvariant],\n timeout: transitionDuration,\n appear: mounted.current\n }, SlideProps, {\n children: drawer\n }));\n if (variant === 'persistent') {\n return /*#__PURE__*/_jsx(DrawerDockedRoot, _extends({\n className: clsx(classes.root, classes.docked, className),\n ownerState: ownerState,\n ref: ref\n }, other, {\n children: slidingDrawer\n }));\n }\n\n // variant === temporary\n return /*#__PURE__*/_jsx(DrawerRoot, _extends({\n BackdropProps: _extends({}, BackdropProps, BackdropPropsProp, {\n transitionDuration\n }),\n className: clsx(classes.root, classes.modal, className),\n open: open,\n ownerState: ownerState,\n onClose: onClose,\n hideBackdrop: hideBackdrop,\n ref: ref\n }, other, ModalProps, {\n children: slidingDrawer\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Drawer.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Side from which the drawer will appear.\n * @default 'left'\n */\n anchor: PropTypes.oneOf(['bottom', 'left', 'right', 'top']),\n /**\n * @ignore\n */\n BackdropProps: PropTypes.object,\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The elevation of the drawer.\n * @default 16\n */\n elevation: integerPropType,\n /**\n * If `true`, the backdrop is not rendered.\n * @default false\n */\n hideBackdrop: PropTypes.bool,\n /**\n * Props applied to the [`Modal`](/material-ui/api/modal/) element.\n * @default {}\n */\n ModalProps: PropTypes.object,\n /**\n * Callback fired when the component requests to be closed.\n * The `reason` parameter can optionally be used to control the response to `onClose`.\n *\n * @param {object} event The event source of the callback.\n * @param {string} reason Can be: `\"escapeKeyDown\"`, `\"backdropClick\"`.\n */\n onClose: PropTypes.func,\n /**\n * If `true`, the component is shown.\n * @default false\n */\n open: PropTypes.bool,\n /**\n * Props applied to the [`Paper`](/material-ui/api/paper/) element.\n * @default {}\n */\n PaperProps: PropTypes.object,\n /**\n * Props applied to the [`Slide`](/material-ui/api/slide/) element.\n */\n SlideProps: PropTypes.object,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The duration for the transition, in milliseconds.\n * You may specify a single timeout for all transitions, or individually with an object.\n * @default {\n * enter: theme.transitions.duration.enteringScreen,\n * exit: theme.transitions.duration.leavingScreen,\n * }\n */\n transitionDuration: PropTypes.oneOfType([PropTypes.number, PropTypes.shape({\n appear: PropTypes.number,\n enter: PropTypes.number,\n exit: PropTypes.number\n })]),\n /**\n * The variant to use.\n * @default 'temporary'\n */\n variant: PropTypes.oneOf(['permanent', 'persistent', 'temporary'])\n} : void 0;\nexport default Drawer;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getFabUtilityClass(slot) {\n return generateUtilityClass('MuiFab', slot);\n}\nconst fabClasses = generateUtilityClasses('MuiFab', ['root', 'primary', 'secondary', 'extended', 'circular', 'focusVisible', 'disabled', 'colorInherit', 'sizeSmall', 'sizeMedium', 'sizeLarge', 'info', 'error', 'warning', 'success']);\nexport default fabClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"className\", \"color\", \"component\", \"disabled\", \"disableFocusRipple\", \"focusVisibleClassName\", \"size\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport ButtonBase from '../ButtonBase';\nimport capitalize from '../utils/capitalize';\nimport useThemeProps from '../styles/useThemeProps';\nimport fabClasses, { getFabUtilityClass } from './fabClasses';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n color,\n variant,\n classes,\n size\n } = ownerState;\n const slots = {\n root: ['root', variant, `size${capitalize(size)}`, color === 'inherit' ? 'colorInherit' : color]\n };\n const composedClasses = composeClasses(slots, getFabUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\nconst FabRoot = styled(ButtonBase, {\n name: 'MuiFab',\n slot: 'Root',\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[ownerState.variant], styles[`size${capitalize(ownerState.size)}`], ownerState.color === 'inherit' && styles.colorInherit, styles[capitalize(ownerState.size)], styles[ownerState.color]];\n }\n})(({\n theme,\n ownerState\n}) => {\n var _theme$palette$getCon, _theme$palette;\n return _extends({}, theme.typography.button, {\n minHeight: 36,\n transition: theme.transitions.create(['background-color', 'box-shadow', 'border-color'], {\n duration: theme.transitions.duration.short\n }),\n borderRadius: '50%',\n padding: 0,\n minWidth: 0,\n width: 56,\n height: 56,\n zIndex: (theme.vars || theme).zIndex.fab,\n boxShadow: (theme.vars || theme).shadows[6],\n '&:active': {\n boxShadow: (theme.vars || theme).shadows[12]\n },\n color: theme.vars ? theme.vars.palette.text.primary : (_theme$palette$getCon = (_theme$palette = theme.palette).getContrastText) == null ? void 0 : _theme$palette$getCon.call(_theme$palette, theme.palette.grey[300]),\n backgroundColor: (theme.vars || theme).palette.grey[300],\n '&:hover': {\n backgroundColor: (theme.vars || theme).palette.grey.A100,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: (theme.vars || theme).palette.grey[300]\n },\n textDecoration: 'none'\n },\n [`&.${fabClasses.focusVisible}`]: {\n boxShadow: (theme.vars || theme).shadows[6]\n }\n }, ownerState.size === 'small' && {\n width: 40,\n height: 40\n }, ownerState.size === 'medium' && {\n width: 48,\n height: 48\n }, ownerState.variant === 'extended' && {\n borderRadius: 48 / 2,\n padding: '0 16px',\n width: 'auto',\n minHeight: 'auto',\n minWidth: 48,\n height: 48\n }, ownerState.variant === 'extended' && ownerState.size === 'small' && {\n width: 'auto',\n padding: '0 8px',\n borderRadius: 34 / 2,\n minWidth: 34,\n height: 34\n }, ownerState.variant === 'extended' && ownerState.size === 'medium' && {\n width: 'auto',\n padding: '0 16px',\n borderRadius: 40 / 2,\n minWidth: 40,\n height: 40\n }, ownerState.color === 'inherit' && {\n color: 'inherit'\n });\n}, ({\n theme,\n ownerState\n}) => _extends({}, ownerState.color !== 'inherit' && ownerState.color !== 'default' && (theme.vars || theme).palette[ownerState.color] != null && {\n color: (theme.vars || theme).palette[ownerState.color].contrastText,\n backgroundColor: (theme.vars || theme).palette[ownerState.color].main,\n '&:hover': {\n backgroundColor: (theme.vars || theme).palette[ownerState.color].dark,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: (theme.vars || theme).palette[ownerState.color].main\n }\n }\n}), ({\n theme\n}) => ({\n [`&.${fabClasses.disabled}`]: {\n color: (theme.vars || theme).palette.action.disabled,\n boxShadow: (theme.vars || theme).shadows[0],\n backgroundColor: (theme.vars || theme).palette.action.disabledBackground\n }\n}));\nconst Fab = /*#__PURE__*/React.forwardRef(function Fab(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiFab'\n });\n const {\n children,\n className,\n color = 'default',\n component = 'button',\n disabled = false,\n disableFocusRipple = false,\n focusVisibleClassName,\n size = 'large',\n variant = 'circular'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n color,\n component,\n disabled,\n disableFocusRipple,\n size,\n variant\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(FabRoot, _extends({\n className: clsx(classes.root, className),\n component: component,\n disabled: disabled,\n focusRipple: !disableFocusRipple,\n focusVisibleClassName: clsx(classes.focusVisible, focusVisibleClassName),\n ownerState: ownerState,\n ref: ref\n }, other, {\n classes: classes,\n children: children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Fab.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * @default 'default'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['default', 'error', 'info', 'inherit', 'primary', 'secondary', 'success', 'warning']), PropTypes.string]),\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the keyboard focus ripple is disabled.\n * @default false\n */\n disableFocusRipple: PropTypes.bool,\n /**\n * If `true`, the ripple effect is disabled.\n */\n disableRipple: PropTypes.bool,\n /**\n * @ignore\n */\n focusVisibleClassName: PropTypes.string,\n /**\n * The URL to link to when the button is clicked.\n * If defined, an `a` element will be used as the root node.\n */\n href: PropTypes.string,\n /**\n * The size of the component.\n * `small` is equivalent to the dense button styling.\n * @default 'large'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['small', 'medium', 'large']), PropTypes.string]),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The variant to use.\n * @default 'circular'\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['circular', 'extended']), PropTypes.string])\n} : void 0;\nexport default Fab;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"disableUnderline\", \"components\", \"componentsProps\", \"fullWidth\", \"hiddenLabel\", \"inputComponent\", \"multiline\", \"slotProps\", \"slots\", \"type\"];\nimport * as React from 'react';\nimport deepmerge from '@mui/utils/deepmerge';\nimport refType from '@mui/utils/refType';\nimport PropTypes from 'prop-types';\nimport composeClasses from '@mui/utils/composeClasses';\nimport InputBase from '../InputBase';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport filledInputClasses, { getFilledInputUtilityClass } from './filledInputClasses';\nimport { rootOverridesResolver as inputBaseRootOverridesResolver, inputOverridesResolver as inputBaseInputOverridesResolver, InputBaseRoot, InputBaseComponent as InputBaseInput } from '../InputBase/InputBase';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disableUnderline\n } = ownerState;\n const slots = {\n root: ['root', !disableUnderline && 'underline'],\n input: ['input']\n };\n const composedClasses = composeClasses(slots, getFilledInputUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\nconst FilledInputRoot = styled(InputBaseRoot, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiFilledInput',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [...inputBaseRootOverridesResolver(props, styles), !ownerState.disableUnderline && styles.underline];\n }\n})(({\n theme,\n ownerState\n}) => {\n var _palette;\n const light = theme.palette.mode === 'light';\n const bottomLineColor = light ? 'rgba(0, 0, 0, 0.42)' : 'rgba(255, 255, 255, 0.7)';\n const backgroundColor = light ? 'rgba(0, 0, 0, 0.06)' : 'rgba(255, 255, 255, 0.09)';\n const hoverBackground = light ? 'rgba(0, 0, 0, 0.09)' : 'rgba(255, 255, 255, 0.13)';\n const disabledBackground = light ? 'rgba(0, 0, 0, 0.12)' : 'rgba(255, 255, 255, 0.12)';\n return _extends({\n position: 'relative',\n backgroundColor: theme.vars ? theme.vars.palette.FilledInput.bg : backgroundColor,\n borderTopLeftRadius: (theme.vars || theme).shape.borderRadius,\n borderTopRightRadius: (theme.vars || theme).shape.borderRadius,\n transition: theme.transitions.create('background-color', {\n duration: theme.transitions.duration.shorter,\n easing: theme.transitions.easing.easeOut\n }),\n '&:hover': {\n backgroundColor: theme.vars ? theme.vars.palette.FilledInput.hoverBg : hoverBackground,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: theme.vars ? theme.vars.palette.FilledInput.bg : backgroundColor\n }\n },\n [`&.${filledInputClasses.focused}`]: {\n backgroundColor: theme.vars ? theme.vars.palette.FilledInput.bg : backgroundColor\n },\n [`&.${filledInputClasses.disabled}`]: {\n backgroundColor: theme.vars ? theme.vars.palette.FilledInput.disabledBg : disabledBackground\n }\n }, !ownerState.disableUnderline && {\n '&::after': {\n borderBottom: `2px solid ${(_palette = (theme.vars || theme).palette[ownerState.color || 'primary']) == null ? void 0 : _palette.main}`,\n left: 0,\n bottom: 0,\n // Doing the other way around crash on IE11 \"''\" https://github.com/cssinjs/jss/issues/242\n content: '\"\"',\n position: 'absolute',\n right: 0,\n transform: 'scaleX(0)',\n transition: theme.transitions.create('transform', {\n duration: theme.transitions.duration.shorter,\n easing: theme.transitions.easing.easeOut\n }),\n pointerEvents: 'none' // Transparent to the hover style.\n },\n [`&.${filledInputClasses.focused}:after`]: {\n // translateX(0) is a workaround for Safari transform scale bug\n // See https://github.com/mui/material-ui/issues/31766\n transform: 'scaleX(1) translateX(0)'\n },\n [`&.${filledInputClasses.error}`]: {\n '&::before, &::after': {\n borderBottomColor: (theme.vars || theme).palette.error.main\n }\n },\n '&::before': {\n borderBottom: `1px solid ${theme.vars ? `rgba(${theme.vars.palette.common.onBackgroundChannel} / ${theme.vars.opacity.inputUnderline})` : bottomLineColor}`,\n left: 0,\n bottom: 0,\n // Doing the other way around crash on IE11 \"''\" https://github.com/cssinjs/jss/issues/242\n content: '\"\\\\00a0\"',\n position: 'absolute',\n right: 0,\n transition: theme.transitions.create('border-bottom-color', {\n duration: theme.transitions.duration.shorter\n }),\n pointerEvents: 'none' // Transparent to the hover style.\n },\n [`&:hover:not(.${filledInputClasses.disabled}, .${filledInputClasses.error}):before`]: {\n borderBottom: `1px solid ${(theme.vars || theme).palette.text.primary}`\n },\n [`&.${filledInputClasses.disabled}:before`]: {\n borderBottomStyle: 'dotted'\n }\n }, ownerState.startAdornment && {\n paddingLeft: 12\n }, ownerState.endAdornment && {\n paddingRight: 12\n }, ownerState.multiline && _extends({\n padding: '25px 12px 8px'\n }, ownerState.size === 'small' && {\n paddingTop: 21,\n paddingBottom: 4\n }, ownerState.hiddenLabel && {\n paddingTop: 16,\n paddingBottom: 17\n }, ownerState.hiddenLabel && ownerState.size === 'small' && {\n paddingTop: 8,\n paddingBottom: 9\n }));\n});\nconst FilledInputInput = styled(InputBaseInput, {\n name: 'MuiFilledInput',\n slot: 'Input',\n overridesResolver: inputBaseInputOverridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({\n paddingTop: 25,\n paddingRight: 12,\n paddingBottom: 8,\n paddingLeft: 12\n}, !theme.vars && {\n '&:-webkit-autofill': {\n WebkitBoxShadow: theme.palette.mode === 'light' ? null : '0 0 0 100px #266798 inset',\n WebkitTextFillColor: theme.palette.mode === 'light' ? null : '#fff',\n caretColor: theme.palette.mode === 'light' ? null : '#fff',\n borderTopLeftRadius: 'inherit',\n borderTopRightRadius: 'inherit'\n }\n}, theme.vars && {\n '&:-webkit-autofill': {\n borderTopLeftRadius: 'inherit',\n borderTopRightRadius: 'inherit'\n },\n [theme.getColorSchemeSelector('dark')]: {\n '&:-webkit-autofill': {\n WebkitBoxShadow: '0 0 0 100px #266798 inset',\n WebkitTextFillColor: '#fff',\n caretColor: '#fff'\n }\n }\n}, ownerState.size === 'small' && {\n paddingTop: 21,\n paddingBottom: 4\n}, ownerState.hiddenLabel && {\n paddingTop: 16,\n paddingBottom: 17\n}, ownerState.startAdornment && {\n paddingLeft: 0\n}, ownerState.endAdornment && {\n paddingRight: 0\n}, ownerState.hiddenLabel && ownerState.size === 'small' && {\n paddingTop: 8,\n paddingBottom: 9\n}, ownerState.multiline && {\n paddingTop: 0,\n paddingBottom: 0,\n paddingLeft: 0,\n paddingRight: 0\n}));\nconst FilledInput = /*#__PURE__*/React.forwardRef(function FilledInput(inProps, ref) {\n var _ref, _slots$root, _ref2, _slots$input;\n const props = useThemeProps({\n props: inProps,\n name: 'MuiFilledInput'\n });\n const {\n components = {},\n componentsProps: componentsPropsProp,\n fullWidth = false,\n // declare here to prevent spreading to DOM\n inputComponent = 'input',\n multiline = false,\n slotProps,\n slots = {},\n type = 'text'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n fullWidth,\n inputComponent,\n multiline,\n type\n });\n const classes = useUtilityClasses(props);\n const filledInputComponentsProps = {\n root: {\n ownerState\n },\n input: {\n ownerState\n }\n };\n const componentsProps = (slotProps != null ? slotProps : componentsPropsProp) ? deepmerge(filledInputComponentsProps, slotProps != null ? slotProps : componentsPropsProp) : filledInputComponentsProps;\n const RootSlot = (_ref = (_slots$root = slots.root) != null ? _slots$root : components.Root) != null ? _ref : FilledInputRoot;\n const InputSlot = (_ref2 = (_slots$input = slots.input) != null ? _slots$input : components.Input) != null ? _ref2 : FilledInputInput;\n return /*#__PURE__*/_jsx(InputBase, _extends({\n slots: {\n root: RootSlot,\n input: InputSlot\n },\n componentsProps: componentsProps,\n fullWidth: fullWidth,\n inputComponent: inputComponent,\n multiline: multiline,\n ref: ref,\n type: type\n }, other, {\n classes: classes\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? FilledInput.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * This prop helps users to fill forms faster, especially on mobile devices.\n * The name can be confusing, as it's more like an autofill.\n * You can learn more about it [following the specification](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill).\n */\n autoComplete: PropTypes.string,\n /**\n * If `true`, the `input` element is focused during the first mount.\n */\n autoFocus: PropTypes.bool,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * The prop defaults to the value (`'primary'`) inherited from the parent FormControl component.\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['primary', 'secondary']), PropTypes.string]),\n /**\n * The components used for each slot inside.\n *\n * This prop is an alias for the `slots` prop.\n * It's recommended to use the `slots` prop instead.\n *\n * @default {}\n */\n components: PropTypes.shape({\n Input: PropTypes.elementType,\n Root: PropTypes.elementType\n }),\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * This prop is an alias for the `slotProps` prop.\n * It's recommended to use the `slotProps` prop instead, as `componentsProps` will be deprecated in the future.\n *\n * @default {}\n */\n componentsProps: PropTypes.shape({\n input: PropTypes.object,\n root: PropTypes.object\n }),\n /**\n * The default value. Use when the component is not controlled.\n */\n defaultValue: PropTypes.any,\n /**\n * If `true`, the component is disabled.\n * The prop defaults to the value (`false`) inherited from the parent FormControl component.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the input will not have an underline.\n */\n disableUnderline: PropTypes.bool,\n /**\n * End `InputAdornment` for this component.\n */\n endAdornment: PropTypes.node,\n /**\n * If `true`, the `input` will indicate an error.\n * The prop defaults to the value (`false`) inherited from the parent FormControl component.\n */\n error: PropTypes.bool,\n /**\n * If `true`, the `input` will take up the full width of its container.\n * @default false\n */\n fullWidth: PropTypes.bool,\n /**\n * If `true`, the label is hidden.\n * This is used to increase density for a `FilledInput`.\n * Be sure to add `aria-label` to the `input` element.\n * @default false\n */\n hiddenLabel: PropTypes.bool,\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n /**\n * The component used for the `input` element.\n * Either a string to use a HTML element or a component.\n * @default 'input'\n */\n inputComponent: PropTypes.elementType,\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n * @default {}\n */\n inputProps: PropTypes.object,\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n /**\n * If `dense`, will adjust vertical spacing. This is normally obtained via context from\n * FormControl.\n * The prop defaults to the value (`'none'`) inherited from the parent FormControl component.\n */\n margin: PropTypes.oneOf(['dense', 'none']),\n /**\n * Maximum number of rows to display when multiline option is set to true.\n */\n maxRows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * Minimum number of rows to display when multiline option is set to true.\n */\n minRows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * If `true`, a [TextareaAutosize](/material-ui/react-textarea-autosize/) element is rendered.\n * @default false\n */\n multiline: PropTypes.bool,\n /**\n * Name attribute of the `input` element.\n */\n name: PropTypes.string,\n /**\n * Callback fired when the value is changed.\n *\n * @param {React.ChangeEvent<HTMLTextAreaElement | HTMLInputElement>} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value` (string).\n */\n onChange: PropTypes.func,\n /**\n * The short hint displayed in the `input` before the user enters a value.\n */\n placeholder: PropTypes.string,\n /**\n * It prevents the user from changing the value of the field\n * (not from interacting with the field).\n */\n readOnly: PropTypes.bool,\n /**\n * If `true`, the `input` element is required.\n * The prop defaults to the value (`false`) inherited from the parent FormControl component.\n */\n required: PropTypes.bool,\n /**\n * Number of rows to display when multiline option is set to true.\n */\n rows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * This prop is an alias for the `componentsProps` prop, which will be deprecated in the future.\n *\n * @default {}\n */\n slotProps: PropTypes.shape({\n input: PropTypes.object,\n root: PropTypes.object\n }),\n /**\n * The components used for each slot inside.\n *\n * This prop is an alias for the `components` prop, which will be deprecated in the future.\n *\n * @default {}\n */\n slots: PropTypes.shape({\n input: PropTypes.elementType,\n root: PropTypes.elementType\n }),\n /**\n * Start `InputAdornment` for this component.\n */\n startAdornment: PropTypes.node,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * Type of the `input` element. It should be [a valid HTML5 input type](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Form_%3Cinput%3E_types).\n * @default 'text'\n */\n type: PropTypes.string,\n /**\n * The value of the `input` element, required for a controlled component.\n */\n value: PropTypes.any\n} : void 0;\nFilledInput.muiName = 'Input';\nexport default FilledInput;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getFormControlUtilityClasses(slot) {\n return generateUtilityClass('MuiFormControl', slot);\n}\nconst formControlClasses = generateUtilityClasses('MuiFormControl', ['root', 'marginNone', 'marginNormal', 'marginDense', 'fullWidth', 'disabled']);\nexport default formControlClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"className\", \"color\", \"component\", \"disabled\", \"error\", \"focused\", \"fullWidth\", \"hiddenLabel\", \"margin\", \"required\", \"size\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport { isFilled, isAdornedStart } from '../InputBase/utils';\nimport capitalize from '../utils/capitalize';\nimport isMuiElement from '../utils/isMuiElement';\nimport FormControlContext from './FormControlContext';\nimport { getFormControlUtilityClasses } from './formControlClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n margin,\n fullWidth\n } = ownerState;\n const slots = {\n root: ['root', margin !== 'none' && `margin${capitalize(margin)}`, fullWidth && 'fullWidth']\n };\n return composeClasses(slots, getFormControlUtilityClasses, classes);\n};\nconst FormControlRoot = styled('div', {\n name: 'MuiFormControl',\n slot: 'Root',\n overridesResolver: ({\n ownerState\n }, styles) => {\n return _extends({}, styles.root, styles[`margin${capitalize(ownerState.margin)}`], ownerState.fullWidth && styles.fullWidth);\n }\n})(({\n ownerState\n}) => _extends({\n display: 'inline-flex',\n flexDirection: 'column',\n position: 'relative',\n // Reset fieldset default style.\n minWidth: 0,\n padding: 0,\n margin: 0,\n border: 0,\n verticalAlign: 'top'\n}, ownerState.margin === 'normal' && {\n marginTop: 16,\n marginBottom: 8\n}, ownerState.margin === 'dense' && {\n marginTop: 8,\n marginBottom: 4\n}, ownerState.fullWidth && {\n width: '100%'\n}));\n\n/**\n * Provides context such as filled/focused/error/required for form inputs.\n * Relying on the context provides high flexibility and ensures that the state always stays\n * consistent across the children of the `FormControl`.\n * This context is used by the following components:\n *\n * - FormLabel\n * - FormHelperText\n * - Input\n * - InputLabel\n *\n * You can find one composition example below and more going to [the demos](/material-ui/react-text-field/#components).\n *\n * ```jsx\n * <FormControl>\n * <InputLabel htmlFor=\"my-input\">Email address</InputLabel>\n * <Input id=\"my-input\" aria-describedby=\"my-helper-text\" />\n * <FormHelperText id=\"my-helper-text\">We'll never share your email.</FormHelperText>\n * </FormControl>\n * ```\n *\n * ⚠️ Only one `InputBase` can be used within a FormControl because it creates visual inconsistencies.\n * For instance, only one input can be focused at the same time, the state shouldn't be shared.\n */\nconst FormControl = /*#__PURE__*/React.forwardRef(function FormControl(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiFormControl'\n });\n const {\n children,\n className,\n color = 'primary',\n component = 'div',\n disabled = false,\n error = false,\n focused: visuallyFocused,\n fullWidth = false,\n hiddenLabel = false,\n margin = 'none',\n required = false,\n size = 'medium',\n variant = 'outlined'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n color,\n component,\n disabled,\n error,\n fullWidth,\n hiddenLabel,\n margin,\n required,\n size,\n variant\n });\n const classes = useUtilityClasses(ownerState);\n const [adornedStart, setAdornedStart] = React.useState(() => {\n // We need to iterate through the children and find the Input in order\n // to fully support server-side rendering.\n let initialAdornedStart = false;\n if (children) {\n React.Children.forEach(children, child => {\n if (!isMuiElement(child, ['Input', 'Select'])) {\n return;\n }\n const input = isMuiElement(child, ['Select']) ? child.props.input : child;\n if (input && isAdornedStart(input.props)) {\n initialAdornedStart = true;\n }\n });\n }\n return initialAdornedStart;\n });\n const [filled, setFilled] = React.useState(() => {\n // We need to iterate through the children and find the Input in order\n // to fully support server-side rendering.\n let initialFilled = false;\n if (children) {\n React.Children.forEach(children, child => {\n if (!isMuiElement(child, ['Input', 'Select'])) {\n return;\n }\n if (isFilled(child.props, true) || isFilled(child.props.inputProps, true)) {\n initialFilled = true;\n }\n });\n }\n return initialFilled;\n });\n const [focusedState, setFocused] = React.useState(false);\n if (disabled && focusedState) {\n setFocused(false);\n }\n const focused = visuallyFocused !== undefined && !disabled ? visuallyFocused : focusedState;\n let registerEffect;\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const registeredInput = React.useRef(false);\n registerEffect = () => {\n if (registeredInput.current) {\n console.error(['MUI: There are multiple `InputBase` components inside a FormControl.', 'This creates visual inconsistencies, only use one `InputBase`.'].join('\\n'));\n }\n registeredInput.current = true;\n return () => {\n registeredInput.current = false;\n };\n };\n }\n const childContext = React.useMemo(() => {\n return {\n adornedStart,\n setAdornedStart,\n color,\n disabled,\n error,\n filled,\n focused,\n fullWidth,\n hiddenLabel,\n size,\n onBlur: () => {\n setFocused(false);\n },\n onEmpty: () => {\n setFilled(false);\n },\n onFilled: () => {\n setFilled(true);\n },\n onFocus: () => {\n setFocused(true);\n },\n registerEffect,\n required,\n variant\n };\n }, [adornedStart, color, disabled, error, filled, focused, fullWidth, hiddenLabel, registerEffect, required, size, variant]);\n return /*#__PURE__*/_jsx(FormControlContext.Provider, {\n value: childContext,\n children: /*#__PURE__*/_jsx(FormControlRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: children\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? FormControl.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * @default 'primary'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * If `true`, the label, input and helper text should be displayed in a disabled state.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the label is displayed in an error state.\n * @default false\n */\n error: PropTypes.bool,\n /**\n * If `true`, the component is displayed in focused state.\n */\n focused: PropTypes.bool,\n /**\n * If `true`, the component will take up the full width of its container.\n * @default false\n */\n fullWidth: PropTypes.bool,\n /**\n * If `true`, the label is hidden.\n * This is used to increase density for a `FilledInput`.\n * Be sure to add `aria-label` to the `input` element.\n * @default false\n */\n hiddenLabel: PropTypes.bool,\n /**\n * If `dense` or `normal`, will adjust vertical spacing of this and contained components.\n * @default 'none'\n */\n margin: PropTypes.oneOf(['dense', 'none', 'normal']),\n /**\n * If `true`, the label will indicate that the `input` is required.\n * @default false\n */\n required: PropTypes.bool,\n /**\n * The size of the component.\n * @default 'medium'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The variant to use.\n * @default 'outlined'\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default FormControl;","'use client';\n\nimport PropTypes from 'prop-types';\nimport { createStack } from '@mui/system';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nconst Stack = createStack({\n createStyledComponent: styled('div', {\n name: 'MuiStack',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n }),\n useThemeProps: inProps => useThemeProps({\n props: inProps,\n name: 'MuiStack'\n })\n});\nprocess.env.NODE_ENV !== \"production\" ? Stack.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * Defines the `flex-direction` style property.\n * It is applied for all screen sizes.\n * @default 'column'\n */\n direction: PropTypes.oneOfType([PropTypes.oneOf(['column-reverse', 'column', 'row-reverse', 'row']), PropTypes.arrayOf(PropTypes.oneOf(['column-reverse', 'column', 'row-reverse', 'row'])), PropTypes.object]),\n /**\n * Add an element between each child.\n */\n divider: PropTypes.node,\n /**\n * Defines the space between immediate children.\n * @default 0\n */\n spacing: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string])), PropTypes.number, PropTypes.object, PropTypes.string]),\n /**\n * The system prop, which allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * If `true`, the CSS flexbox `gap` is used instead of applying `margin` to children.\n *\n * While CSS `gap` removes the [known limitations](https://mui.com/joy-ui/react-stack/#limitations),\n * it is not fully supported in some browsers. We recommend checking https://caniuse.com/?search=flex%20gap before using this flag.\n *\n * To enable this flag globally, follow the [theme's default props](https://mui.com/material-ui/customization/theme-components/#default-props) configuration.\n * @default false\n */\n useFlexGap: PropTypes.bool\n} : void 0;\nexport default Stack;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getFormControlLabelUtilityClasses(slot) {\n return generateUtilityClass('MuiFormControlLabel', slot);\n}\nconst formControlLabelClasses = generateUtilityClasses('MuiFormControlLabel', ['root', 'labelPlacementStart', 'labelPlacementTop', 'labelPlacementBottom', 'disabled', 'label', 'error', 'required', 'asterisk']);\nexport default formControlLabelClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"checked\", \"className\", \"componentsProps\", \"control\", \"disabled\", \"disableTypography\", \"inputRef\", \"label\", \"labelPlacement\", \"name\", \"onChange\", \"required\", \"slotProps\", \"value\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport refType from '@mui/utils/refType';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { useFormControl } from '../FormControl';\nimport Stack from '../Stack';\nimport Typography from '../Typography';\nimport capitalize from '../utils/capitalize';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport formControlLabelClasses, { getFormControlLabelUtilityClasses } from './formControlLabelClasses';\nimport formControlState from '../FormControl/formControlState';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disabled,\n labelPlacement,\n error,\n required\n } = ownerState;\n const slots = {\n root: ['root', disabled && 'disabled', `labelPlacement${capitalize(labelPlacement)}`, error && 'error', required && 'required'],\n label: ['label', disabled && 'disabled'],\n asterisk: ['asterisk', error && 'error']\n };\n return composeClasses(slots, getFormControlLabelUtilityClasses, classes);\n};\nexport const FormControlLabelRoot = styled('label', {\n name: 'MuiFormControlLabel',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [{\n [`& .${formControlLabelClasses.label}`]: styles.label\n }, styles.root, styles[`labelPlacement${capitalize(ownerState.labelPlacement)}`]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'inline-flex',\n alignItems: 'center',\n cursor: 'pointer',\n // For correct alignment with the text.\n verticalAlign: 'middle',\n WebkitTapHighlightColor: 'transparent',\n marginLeft: -11,\n marginRight: 16,\n // used for row presentation of radio/checkbox\n [`&.${formControlLabelClasses.disabled}`]: {\n cursor: 'default'\n }\n}, ownerState.labelPlacement === 'start' && {\n flexDirection: 'row-reverse',\n marginLeft: 16,\n // used for row presentation of radio/checkbox\n marginRight: -11\n}, ownerState.labelPlacement === 'top' && {\n flexDirection: 'column-reverse',\n marginLeft: 16\n}, ownerState.labelPlacement === 'bottom' && {\n flexDirection: 'column',\n marginLeft: 16\n}, {\n [`& .${formControlLabelClasses.label}`]: {\n [`&.${formControlLabelClasses.disabled}`]: {\n color: (theme.vars || theme).palette.text.disabled\n }\n }\n}));\nconst AsteriskComponent = styled('span', {\n name: 'MuiFormControlLabel',\n slot: 'Asterisk',\n overridesResolver: (props, styles) => styles.asterisk\n})(({\n theme\n}) => ({\n [`&.${formControlLabelClasses.error}`]: {\n color: (theme.vars || theme).palette.error.main\n }\n}));\n\n/**\n * Drop-in replacement of the `Radio`, `Switch` and `Checkbox` component.\n * Use this component if you want to display an extra label.\n */\nconst FormControlLabel = /*#__PURE__*/React.forwardRef(function FormControlLabel(inProps, ref) {\n var _ref, _slotProps$typography;\n const props = useThemeProps({\n props: inProps,\n name: 'MuiFormControlLabel'\n });\n const {\n className,\n componentsProps = {},\n control,\n disabled: disabledProp,\n disableTypography,\n label: labelProp,\n labelPlacement = 'end',\n required: requiredProp,\n slotProps = {}\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const muiFormControl = useFormControl();\n const disabled = (_ref = disabledProp != null ? disabledProp : control.props.disabled) != null ? _ref : muiFormControl == null ? void 0 : muiFormControl.disabled;\n const required = requiredProp != null ? requiredProp : control.props.required;\n const controlProps = {\n disabled,\n required\n };\n ['checked', 'name', 'onChange', 'value', 'inputRef'].forEach(key => {\n if (typeof control.props[key] === 'undefined' && typeof props[key] !== 'undefined') {\n controlProps[key] = props[key];\n }\n });\n const fcs = formControlState({\n props,\n muiFormControl,\n states: ['error']\n });\n const ownerState = _extends({}, props, {\n disabled,\n labelPlacement,\n required,\n error: fcs.error\n });\n const classes = useUtilityClasses(ownerState);\n const typographySlotProps = (_slotProps$typography = slotProps.typography) != null ? _slotProps$typography : componentsProps.typography;\n let label = labelProp;\n if (label != null && label.type !== Typography && !disableTypography) {\n label = /*#__PURE__*/_jsx(Typography, _extends({\n component: \"span\"\n }, typographySlotProps, {\n className: clsx(classes.label, typographySlotProps == null ? void 0 : typographySlotProps.className),\n children: label\n }));\n }\n return /*#__PURE__*/_jsxs(FormControlLabelRoot, _extends({\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref\n }, other, {\n children: [/*#__PURE__*/React.cloneElement(control, controlProps), required ? /*#__PURE__*/_jsxs(Stack, {\n display: \"block\",\n children: [label, /*#__PURE__*/_jsxs(AsteriskComponent, {\n ownerState: ownerState,\n \"aria-hidden\": true,\n className: classes.asterisk,\n children: [\"\\u2009\", '*']\n })]\n }) : label]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? FormControlLabel.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * If `true`, the component appears selected.\n */\n checked: PropTypes.bool,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The props used for each slot inside.\n * @default {}\n */\n componentsProps: PropTypes.shape({\n typography: PropTypes.object\n }),\n /**\n * A control element. For instance, it can be a `Radio`, a `Switch` or a `Checkbox`.\n */\n control: PropTypes.element.isRequired,\n /**\n * If `true`, the control is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the label is rendered as it is passed without an additional typography node.\n */\n disableTypography: PropTypes.bool,\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n /**\n * A text or an element to be used in an enclosing label element.\n */\n label: PropTypes.node,\n /**\n * The position of the label.\n * @default 'end'\n */\n labelPlacement: PropTypes.oneOf(['bottom', 'end', 'start', 'top']),\n /**\n * @ignore\n */\n name: PropTypes.string,\n /**\n * Callback fired when the state is changed.\n *\n * @param {React.SyntheticEvent} event The event source of the callback.\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n /**\n * If `true`, the label will indicate that the `input` is required.\n */\n required: PropTypes.bool,\n /**\n * The props used for each slot inside.\n * @default {}\n */\n slotProps: PropTypes.shape({\n typography: PropTypes.object\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The value of the component.\n */\n value: PropTypes.any\n} : void 0;\nexport default FormControlLabel;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getFormGroupUtilityClass(slot) {\n return generateUtilityClass('MuiFormGroup', slot);\n}\nconst formGroupClasses = generateUtilityClasses('MuiFormGroup', ['root', 'row', 'error']);\nexport default formGroupClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"row\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport { getFormGroupUtilityClass } from './formGroupClasses';\nimport useFormControl from '../FormControl/useFormControl';\nimport formControlState from '../FormControl/formControlState';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n row,\n error\n } = ownerState;\n const slots = {\n root: ['root', row && 'row', error && 'error']\n };\n return composeClasses(slots, getFormGroupUtilityClass, classes);\n};\nconst FormGroupRoot = styled('div', {\n name: 'MuiFormGroup',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.row && styles.row];\n }\n})(({\n ownerState\n}) => _extends({\n display: 'flex',\n flexDirection: 'column',\n flexWrap: 'wrap'\n}, ownerState.row && {\n flexDirection: 'row'\n}));\n\n/**\n * `FormGroup` wraps controls such as `Checkbox` and `Switch`.\n * It provides compact row layout.\n * For the `Radio`, you should be using the `RadioGroup` component instead of this one.\n */\nconst FormGroup = /*#__PURE__*/React.forwardRef(function FormGroup(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiFormGroup'\n });\n const {\n className,\n row = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const muiFormControl = useFormControl();\n const fcs = formControlState({\n props,\n muiFormControl,\n states: ['error']\n });\n const ownerState = _extends({}, props, {\n row,\n error: fcs.error\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(FormGroupRoot, _extends({\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? FormGroup.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * Display group of elements in a compact row.\n * @default false\n */\n row: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default FormGroup;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getFormHelperTextUtilityClasses(slot) {\n return generateUtilityClass('MuiFormHelperText', slot);\n}\nconst formHelperTextClasses = generateUtilityClasses('MuiFormHelperText', ['root', 'error', 'disabled', 'sizeSmall', 'sizeMedium', 'contained', 'focused', 'filled', 'required']);\nexport default formHelperTextClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nvar _span;\nconst _excluded = [\"children\", \"className\", \"component\", \"disabled\", \"error\", \"filled\", \"focused\", \"margin\", \"required\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport formControlState from '../FormControl/formControlState';\nimport useFormControl from '../FormControl/useFormControl';\nimport styled from '../styles/styled';\nimport capitalize from '../utils/capitalize';\nimport formHelperTextClasses, { getFormHelperTextUtilityClasses } from './formHelperTextClasses';\nimport useThemeProps from '../styles/useThemeProps';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n contained,\n size,\n disabled,\n error,\n filled,\n focused,\n required\n } = ownerState;\n const slots = {\n root: ['root', disabled && 'disabled', error && 'error', size && `size${capitalize(size)}`, contained && 'contained', focused && 'focused', filled && 'filled', required && 'required']\n };\n return composeClasses(slots, getFormHelperTextUtilityClasses, classes);\n};\nconst FormHelperTextRoot = styled('p', {\n name: 'MuiFormHelperText',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.size && styles[`size${capitalize(ownerState.size)}`], ownerState.contained && styles.contained, ownerState.filled && styles.filled];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n color: (theme.vars || theme).palette.text.secondary\n}, theme.typography.caption, {\n textAlign: 'left',\n marginTop: 3,\n marginRight: 0,\n marginBottom: 0,\n marginLeft: 0,\n [`&.${formHelperTextClasses.disabled}`]: {\n color: (theme.vars || theme).palette.text.disabled\n },\n [`&.${formHelperTextClasses.error}`]: {\n color: (theme.vars || theme).palette.error.main\n }\n}, ownerState.size === 'small' && {\n marginTop: 4\n}, ownerState.contained && {\n marginLeft: 14,\n marginRight: 14\n}));\nconst FormHelperText = /*#__PURE__*/React.forwardRef(function FormHelperText(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiFormHelperText'\n });\n const {\n children,\n className,\n component = 'p'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const muiFormControl = useFormControl();\n const fcs = formControlState({\n props,\n muiFormControl,\n states: ['variant', 'size', 'disabled', 'error', 'filled', 'focused', 'required']\n });\n const ownerState = _extends({}, props, {\n component,\n contained: fcs.variant === 'filled' || fcs.variant === 'outlined',\n variant: fcs.variant,\n size: fcs.size,\n disabled: fcs.disabled,\n error: fcs.error,\n filled: fcs.filled,\n focused: fcs.focused,\n required: fcs.required\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(FormHelperTextRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: children === ' ' ? // notranslate needed while Google Translate will not fix zero-width space issue\n _span || (_span = /*#__PURE__*/_jsx(\"span\", {\n className: \"notranslate\",\n children: \"\\u200B\"\n })) : children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? FormHelperText.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n *\n * If `' '` is provided, the component reserves one line height for displaying a future message.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * If `true`, the helper text should be displayed in a disabled state.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, helper text should be displayed in an error state.\n */\n error: PropTypes.bool,\n /**\n * If `true`, the helper text should use filled classes key.\n */\n filled: PropTypes.bool,\n /**\n * If `true`, the helper text should use focused classes key.\n */\n focused: PropTypes.bool,\n /**\n * If `dense`, will adjust vertical spacing. This is normally obtained via context from\n * FormControl.\n */\n margin: PropTypes.oneOf(['dense']),\n /**\n * If `true`, the helper text should use required classes key.\n */\n required: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The variant to use.\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['filled', 'outlined', 'standard']), PropTypes.string])\n} : void 0;\nexport default FormHelperText;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getFormLabelUtilityClasses(slot) {\n return generateUtilityClass('MuiFormLabel', slot);\n}\nconst formLabelClasses = generateUtilityClasses('MuiFormLabel', ['root', 'colorSecondary', 'focused', 'disabled', 'error', 'filled', 'required', 'asterisk']);\nexport default formLabelClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"className\", \"color\", \"component\", \"disabled\", \"error\", \"filled\", \"focused\", \"required\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport formControlState from '../FormControl/formControlState';\nimport useFormControl from '../FormControl/useFormControl';\nimport capitalize from '../utils/capitalize';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport formLabelClasses, { getFormLabelUtilityClasses } from './formLabelClasses';\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n color,\n focused,\n disabled,\n error,\n filled,\n required\n } = ownerState;\n const slots = {\n root: ['root', `color${capitalize(color)}`, disabled && 'disabled', error && 'error', filled && 'filled', focused && 'focused', required && 'required'],\n asterisk: ['asterisk', error && 'error']\n };\n return composeClasses(slots, getFormLabelUtilityClasses, classes);\n};\nexport const FormLabelRoot = styled('label', {\n name: 'MuiFormLabel',\n slot: 'Root',\n overridesResolver: ({\n ownerState\n }, styles) => {\n return _extends({}, styles.root, ownerState.color === 'secondary' && styles.colorSecondary, ownerState.filled && styles.filled);\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n color: (theme.vars || theme).palette.text.secondary\n}, theme.typography.body1, {\n lineHeight: '1.4375em',\n padding: 0,\n position: 'relative',\n [`&.${formLabelClasses.focused}`]: {\n color: (theme.vars || theme).palette[ownerState.color].main\n },\n [`&.${formLabelClasses.disabled}`]: {\n color: (theme.vars || theme).palette.text.disabled\n },\n [`&.${formLabelClasses.error}`]: {\n color: (theme.vars || theme).palette.error.main\n }\n}));\nconst AsteriskComponent = styled('span', {\n name: 'MuiFormLabel',\n slot: 'Asterisk',\n overridesResolver: (props, styles) => styles.asterisk\n})(({\n theme\n}) => ({\n [`&.${formLabelClasses.error}`]: {\n color: (theme.vars || theme).palette.error.main\n }\n}));\nconst FormLabel = /*#__PURE__*/React.forwardRef(function FormLabel(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiFormLabel'\n });\n const {\n children,\n className,\n component = 'label'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const muiFormControl = useFormControl();\n const fcs = formControlState({\n props,\n muiFormControl,\n states: ['color', 'required', 'focused', 'disabled', 'error', 'filled']\n });\n const ownerState = _extends({}, props, {\n color: fcs.color || 'primary',\n component,\n disabled: fcs.disabled,\n error: fcs.error,\n filled: fcs.filled,\n focused: fcs.focused,\n required: fcs.required\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(FormLabelRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: [children, fcs.required && /*#__PURE__*/_jsxs(AsteriskComponent, {\n ownerState: ownerState,\n \"aria-hidden\": true,\n className: classes.asterisk,\n children: [\"\\u2009\", '*']\n })]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? FormLabel.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['error', 'info', 'primary', 'secondary', 'success', 'warning']), PropTypes.string]),\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * If `true`, the label should be displayed in a disabled state.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the label is displayed in an error state.\n */\n error: PropTypes.bool,\n /**\n * If `true`, the label should use filled classes key.\n */\n filled: PropTypes.bool,\n /**\n * If `true`, the input of this label is focused (used by `FormGroup` components).\n */\n focused: PropTypes.bool,\n /**\n * If `true`, the label will indicate that the `input` is required.\n */\n required: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default FormLabel;","'use client';\n\nimport * as React from 'react';\n\n/**\n * @ignore - internal component.\n */\nconst GridContext = /*#__PURE__*/React.createContext();\nif (process.env.NODE_ENV !== 'production') {\n GridContext.displayName = 'GridContext';\n}\nexport default GridContext;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getGridUtilityClass(slot) {\n return generateUtilityClass('MuiGrid', slot);\n}\nconst SPACINGS = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10];\nconst DIRECTIONS = ['column-reverse', 'column', 'row-reverse', 'row'];\nconst WRAPS = ['nowrap', 'wrap-reverse', 'wrap'];\nconst GRID_SIZES = ['auto', true, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];\nconst gridClasses = generateUtilityClasses('MuiGrid', ['root', 'container', 'item', 'zeroMinWidth',\n// spacings\n...SPACINGS.map(spacing => `spacing-xs-${spacing}`),\n// direction values\n...DIRECTIONS.map(direction => `direction-xs-${direction}`),\n// wrap values\n...WRAPS.map(wrap => `wrap-xs-${wrap}`),\n// grid sizes for all breakpoints\n...GRID_SIZES.map(size => `grid-xs-${size}`), ...GRID_SIZES.map(size => `grid-sm-${size}`), ...GRID_SIZES.map(size => `grid-md-${size}`), ...GRID_SIZES.map(size => `grid-lg-${size}`), ...GRID_SIZES.map(size => `grid-xl-${size}`)]);\nexport default gridClasses;","'use client';\n\n// A grid component using the following libs as inspiration.\n//\n// For the implementation:\n// - https://getbootstrap.com/docs/4.3/layout/grid/\n// - https://github.com/kristoferjoseph/flexboxgrid/blob/master/src/css/flexboxgrid.css\n// - https://github.com/roylee0704/react-flexbox-grid\n// - https://material.angularjs.org/latest/layout/introduction\n//\n// Follow this flexbox Guide to better understand the underlying model:\n// - https://css-tricks.com/snippets/css/a-guide-to-flexbox/\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"columns\", \"columnSpacing\", \"component\", \"container\", \"direction\", \"item\", \"rowSpacing\", \"spacing\", \"wrap\", \"zeroMinWidth\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { handleBreakpoints, unstable_resolveBreakpointValues as resolveBreakpointValues } from '@mui/system';\nimport { extendSxProp } from '@mui/system/styleFunctionSx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport requirePropFactory from '../utils/requirePropFactory';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport useTheme from '../styles/useTheme';\nimport GridContext from './GridContext';\nimport gridClasses, { getGridUtilityClass } from './gridClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction getOffset(val) {\n const parse = parseFloat(val);\n return `${parse}${String(val).replace(String(parse), '') || 'px'}`;\n}\nexport function generateGrid({\n theme,\n ownerState\n}) {\n let size;\n return theme.breakpoints.keys.reduce((globalStyles, breakpoint) => {\n // Use side effect over immutability for better performance.\n let styles = {};\n if (ownerState[breakpoint]) {\n size = ownerState[breakpoint];\n }\n if (!size) {\n return globalStyles;\n }\n if (size === true) {\n // For the auto layouting\n styles = {\n flexBasis: 0,\n flexGrow: 1,\n maxWidth: '100%'\n };\n } else if (size === 'auto') {\n styles = {\n flexBasis: 'auto',\n flexGrow: 0,\n flexShrink: 0,\n maxWidth: 'none',\n width: 'auto'\n };\n } else {\n const columnsBreakpointValues = resolveBreakpointValues({\n values: ownerState.columns,\n breakpoints: theme.breakpoints.values\n });\n const columnValue = typeof columnsBreakpointValues === 'object' ? columnsBreakpointValues[breakpoint] : columnsBreakpointValues;\n if (columnValue === undefined || columnValue === null) {\n return globalStyles;\n }\n // Keep 7 significant numbers.\n const width = `${Math.round(size / columnValue * 10e7) / 10e5}%`;\n let more = {};\n if (ownerState.container && ownerState.item && ownerState.columnSpacing !== 0) {\n const themeSpacing = theme.spacing(ownerState.columnSpacing);\n if (themeSpacing !== '0px') {\n const fullWidth = `calc(${width} + ${getOffset(themeSpacing)})`;\n more = {\n flexBasis: fullWidth,\n maxWidth: fullWidth\n };\n }\n }\n\n // Close to the bootstrap implementation:\n // https://github.com/twbs/bootstrap/blob/8fccaa2439e97ec72a4b7dc42ccc1f649790adb0/scss/mixins/_grid.scss#L41\n styles = _extends({\n flexBasis: width,\n flexGrow: 0,\n maxWidth: width\n }, more);\n }\n\n // No need for a media query for the first size.\n if (theme.breakpoints.values[breakpoint] === 0) {\n Object.assign(globalStyles, styles);\n } else {\n globalStyles[theme.breakpoints.up(breakpoint)] = styles;\n }\n return globalStyles;\n }, {});\n}\nexport function generateDirection({\n theme,\n ownerState\n}) {\n const directionValues = resolveBreakpointValues({\n values: ownerState.direction,\n breakpoints: theme.breakpoints.values\n });\n return handleBreakpoints({\n theme\n }, directionValues, propValue => {\n const output = {\n flexDirection: propValue\n };\n if (propValue.indexOf('column') === 0) {\n output[`& > .${gridClasses.item}`] = {\n maxWidth: 'none'\n };\n }\n return output;\n });\n}\n\n/**\n * Extracts zero value breakpoint keys before a non-zero value breakpoint key.\n * @example { xs: 0, sm: 0, md: 2, lg: 0, xl: 0 } or [0, 0, 2, 0, 0]\n * @returns [xs, sm]\n */\nfunction extractZeroValueBreakpointKeys({\n breakpoints,\n values\n}) {\n let nonZeroKey = '';\n Object.keys(values).forEach(key => {\n if (nonZeroKey !== '') {\n return;\n }\n if (values[key] !== 0) {\n nonZeroKey = key;\n }\n });\n const sortedBreakpointKeysByValue = Object.keys(breakpoints).sort((a, b) => {\n return breakpoints[a] - breakpoints[b];\n });\n return sortedBreakpointKeysByValue.slice(0, sortedBreakpointKeysByValue.indexOf(nonZeroKey));\n}\nexport function generateRowGap({\n theme,\n ownerState\n}) {\n const {\n container,\n rowSpacing\n } = ownerState;\n let styles = {};\n if (container && rowSpacing !== 0) {\n const rowSpacingValues = resolveBreakpointValues({\n values: rowSpacing,\n breakpoints: theme.breakpoints.values\n });\n let zeroValueBreakpointKeys;\n if (typeof rowSpacingValues === 'object') {\n zeroValueBreakpointKeys = extractZeroValueBreakpointKeys({\n breakpoints: theme.breakpoints.values,\n values: rowSpacingValues\n });\n }\n styles = handleBreakpoints({\n theme\n }, rowSpacingValues, (propValue, breakpoint) => {\n var _zeroValueBreakpointK;\n const themeSpacing = theme.spacing(propValue);\n if (themeSpacing !== '0px') {\n return {\n marginTop: `-${getOffset(themeSpacing)}`,\n [`& > .${gridClasses.item}`]: {\n paddingTop: getOffset(themeSpacing)\n }\n };\n }\n if ((_zeroValueBreakpointK = zeroValueBreakpointKeys) != null && _zeroValueBreakpointK.includes(breakpoint)) {\n return {};\n }\n return {\n marginTop: 0,\n [`& > .${gridClasses.item}`]: {\n paddingTop: 0\n }\n };\n });\n }\n return styles;\n}\nexport function generateColumnGap({\n theme,\n ownerState\n}) {\n const {\n container,\n columnSpacing\n } = ownerState;\n let styles = {};\n if (container && columnSpacing !== 0) {\n const columnSpacingValues = resolveBreakpointValues({\n values: columnSpacing,\n breakpoints: theme.breakpoints.values\n });\n let zeroValueBreakpointKeys;\n if (typeof columnSpacingValues === 'object') {\n zeroValueBreakpointKeys = extractZeroValueBreakpointKeys({\n breakpoints: theme.breakpoints.values,\n values: columnSpacingValues\n });\n }\n styles = handleBreakpoints({\n theme\n }, columnSpacingValues, (propValue, breakpoint) => {\n var _zeroValueBreakpointK2;\n const themeSpacing = theme.spacing(propValue);\n if (themeSpacing !== '0px') {\n return {\n width: `calc(100% + ${getOffset(themeSpacing)})`,\n marginLeft: `-${getOffset(themeSpacing)}`,\n [`& > .${gridClasses.item}`]: {\n paddingLeft: getOffset(themeSpacing)\n }\n };\n }\n if ((_zeroValueBreakpointK2 = zeroValueBreakpointKeys) != null && _zeroValueBreakpointK2.includes(breakpoint)) {\n return {};\n }\n return {\n width: '100%',\n marginLeft: 0,\n [`& > .${gridClasses.item}`]: {\n paddingLeft: 0\n }\n };\n });\n }\n return styles;\n}\nexport function resolveSpacingStyles(spacing, breakpoints, styles = {}) {\n // undefined/null or `spacing` <= 0\n if (!spacing || spacing <= 0) {\n return [];\n }\n // in case of string/number `spacing`\n if (typeof spacing === 'string' && !Number.isNaN(Number(spacing)) || typeof spacing === 'number') {\n return [styles[`spacing-xs-${String(spacing)}`]];\n }\n // in case of object `spacing`\n const spacingStyles = [];\n breakpoints.forEach(breakpoint => {\n const value = spacing[breakpoint];\n if (Number(value) > 0) {\n spacingStyles.push(styles[`spacing-${breakpoint}-${String(value)}`]);\n }\n });\n return spacingStyles;\n}\n\n// Default CSS values\n// flex: '0 1 auto',\n// flexDirection: 'row',\n// alignItems: 'flex-start',\n// flexWrap: 'nowrap',\n// justifyContent: 'flex-start',\nconst GridRoot = styled('div', {\n name: 'MuiGrid',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n const {\n container,\n direction,\n item,\n spacing,\n wrap,\n zeroMinWidth,\n breakpoints\n } = ownerState;\n let spacingStyles = [];\n\n // in case of grid item\n if (container) {\n spacingStyles = resolveSpacingStyles(spacing, breakpoints, styles);\n }\n const breakpointsStyles = [];\n breakpoints.forEach(breakpoint => {\n const value = ownerState[breakpoint];\n if (value) {\n breakpointsStyles.push(styles[`grid-${breakpoint}-${String(value)}`]);\n }\n });\n return [styles.root, container && styles.container, item && styles.item, zeroMinWidth && styles.zeroMinWidth, ...spacingStyles, direction !== 'row' && styles[`direction-xs-${String(direction)}`], wrap !== 'wrap' && styles[`wrap-xs-${String(wrap)}`], ...breakpointsStyles];\n }\n})(({\n ownerState\n}) => _extends({\n boxSizing: 'border-box'\n}, ownerState.container && {\n display: 'flex',\n flexWrap: 'wrap',\n width: '100%'\n}, ownerState.item && {\n margin: 0 // For instance, it's useful when used with a `figure` element.\n}, ownerState.zeroMinWidth && {\n minWidth: 0\n}, ownerState.wrap !== 'wrap' && {\n flexWrap: ownerState.wrap\n}), generateDirection, generateRowGap, generateColumnGap, generateGrid);\nexport function resolveSpacingClasses(spacing, breakpoints) {\n // undefined/null or `spacing` <= 0\n if (!spacing || spacing <= 0) {\n return [];\n }\n // in case of string/number `spacing`\n if (typeof spacing === 'string' && !Number.isNaN(Number(spacing)) || typeof spacing === 'number') {\n return [`spacing-xs-${String(spacing)}`];\n }\n // in case of object `spacing`\n const classes = [];\n breakpoints.forEach(breakpoint => {\n const value = spacing[breakpoint];\n if (Number(value) > 0) {\n const className = `spacing-${breakpoint}-${String(value)}`;\n classes.push(className);\n }\n });\n return classes;\n}\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n container,\n direction,\n item,\n spacing,\n wrap,\n zeroMinWidth,\n breakpoints\n } = ownerState;\n let spacingClasses = [];\n\n // in case of grid item\n if (container) {\n spacingClasses = resolveSpacingClasses(spacing, breakpoints);\n }\n const breakpointsClasses = [];\n breakpoints.forEach(breakpoint => {\n const value = ownerState[breakpoint];\n if (value) {\n breakpointsClasses.push(`grid-${breakpoint}-${String(value)}`);\n }\n });\n const slots = {\n root: ['root', container && 'container', item && 'item', zeroMinWidth && 'zeroMinWidth', ...spacingClasses, direction !== 'row' && `direction-xs-${String(direction)}`, wrap !== 'wrap' && `wrap-xs-${String(wrap)}`, ...breakpointsClasses]\n };\n return composeClasses(slots, getGridUtilityClass, classes);\n};\nconst Grid = /*#__PURE__*/React.forwardRef(function Grid(inProps, ref) {\n const themeProps = useThemeProps({\n props: inProps,\n name: 'MuiGrid'\n });\n const {\n breakpoints\n } = useTheme();\n const props = extendSxProp(themeProps);\n const {\n className,\n columns: columnsProp,\n columnSpacing: columnSpacingProp,\n component = 'div',\n container = false,\n direction = 'row',\n item = false,\n rowSpacing: rowSpacingProp,\n spacing = 0,\n wrap = 'wrap',\n zeroMinWidth = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const rowSpacing = rowSpacingProp || spacing;\n const columnSpacing = columnSpacingProp || spacing;\n const columnsContext = React.useContext(GridContext);\n\n // columns set with default breakpoint unit of 12\n const columns = container ? columnsProp || 12 : columnsContext;\n const breakpointsValues = {};\n const otherFiltered = _extends({}, other);\n breakpoints.keys.forEach(breakpoint => {\n if (other[breakpoint] != null) {\n breakpointsValues[breakpoint] = other[breakpoint];\n delete otherFiltered[breakpoint];\n }\n });\n const ownerState = _extends({}, props, {\n columns,\n container,\n direction,\n item,\n rowSpacing,\n columnSpacing,\n wrap,\n zeroMinWidth,\n spacing\n }, breakpointsValues, {\n breakpoints: breakpoints.keys\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(GridContext.Provider, {\n value: columns,\n children: /*#__PURE__*/_jsx(GridRoot, _extends({\n ownerState: ownerState,\n className: clsx(classes.root, className),\n as: component,\n ref: ref\n }, otherFiltered))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Grid.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The number of columns.\n * @default 12\n */\n columns: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.number, PropTypes.object]),\n /**\n * Defines the horizontal space between the type `item` components.\n * It overrides the value of the `spacing` prop.\n */\n columnSpacing: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string])), PropTypes.number, PropTypes.object, PropTypes.string]),\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * If `true`, the component will have the flex *container* behavior.\n * You should be wrapping *items* with a *container*.\n * @default false\n */\n container: PropTypes.bool,\n /**\n * Defines the `flex-direction` style property.\n * It is applied for all screen sizes.\n * @default 'row'\n */\n direction: PropTypes.oneOfType([PropTypes.oneOf(['column-reverse', 'column', 'row-reverse', 'row']), PropTypes.arrayOf(PropTypes.oneOf(['column-reverse', 'column', 'row-reverse', 'row'])), PropTypes.object]),\n /**\n * If `true`, the component will have the flex *item* behavior.\n * You should be wrapping *items* with a *container*.\n * @default false\n */\n item: PropTypes.bool,\n /**\n * If a number, it sets the number of columns the grid item uses.\n * It can't be greater than the total number of columns of the container (12 by default).\n * If 'auto', the grid item's width matches its content.\n * If false, the prop is ignored.\n * If true, the grid item's width grows to use the space available in the grid container.\n * The value is applied for the `lg` breakpoint and wider screens if not overridden.\n * @default false\n */\n lg: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.number, PropTypes.bool]),\n /**\n * If a number, it sets the number of columns the grid item uses.\n * It can't be greater than the total number of columns of the container (12 by default).\n * If 'auto', the grid item's width matches its content.\n * If false, the prop is ignored.\n * If true, the grid item's width grows to use the space available in the grid container.\n * The value is applied for the `md` breakpoint and wider screens if not overridden.\n * @default false\n */\n md: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.number, PropTypes.bool]),\n /**\n * Defines the vertical space between the type `item` components.\n * It overrides the value of the `spacing` prop.\n */\n rowSpacing: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string])), PropTypes.number, PropTypes.object, PropTypes.string]),\n /**\n * If a number, it sets the number of columns the grid item uses.\n * It can't be greater than the total number of columns of the container (12 by default).\n * If 'auto', the grid item's width matches its content.\n * If false, the prop is ignored.\n * If true, the grid item's width grows to use the space available in the grid container.\n * The value is applied for the `sm` breakpoint and wider screens if not overridden.\n * @default false\n */\n sm: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.number, PropTypes.bool]),\n /**\n * Defines the space between the type `item` components.\n * It can only be used on a type `container` component.\n * @default 0\n */\n spacing: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string])), PropTypes.number, PropTypes.object, PropTypes.string]),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * Defines the `flex-wrap` style property.\n * It's applied for all screen sizes.\n * @default 'wrap'\n */\n wrap: PropTypes.oneOf(['nowrap', 'wrap-reverse', 'wrap']),\n /**\n * If a number, it sets the number of columns the grid item uses.\n * It can't be greater than the total number of columns of the container (12 by default).\n * If 'auto', the grid item's width matches its content.\n * If false, the prop is ignored.\n * If true, the grid item's width grows to use the space available in the grid container.\n * The value is applied for the `xl` breakpoint and wider screens if not overridden.\n * @default false\n */\n xl: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.number, PropTypes.bool]),\n /**\n * If a number, it sets the number of columns the grid item uses.\n * It can't be greater than the total number of columns of the container (12 by default).\n * If 'auto', the grid item's width matches its content.\n * If false, the prop is ignored.\n * If true, the grid item's width grows to use the space available in the grid container.\n * The value is applied for all the screen sizes with the lowest priority.\n * @default false\n */\n xs: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.number, PropTypes.bool]),\n /**\n * If `true`, it sets `min-width: 0` on the item.\n * Refer to the limitations section of the documentation to better understand the use case.\n * @default false\n */\n zeroMinWidth: PropTypes.bool\n} : void 0;\nif (process.env.NODE_ENV !== 'production') {\n const requireProp = requirePropFactory('Grid', Grid);\n // eslint-disable-next-line no-useless-concat\n Grid['propTypes' + ''] = _extends({}, Grid.propTypes, {\n direction: requireProp('container'),\n lg: requireProp('item'),\n md: requireProp('item'),\n sm: requireProp('item'),\n spacing: requireProp('container'),\n wrap: requireProp('container'),\n xs: requireProp('item'),\n zeroMinWidth: requireProp('item')\n });\n}\nexport default Grid;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"addEndListener\", \"appear\", \"children\", \"easing\", \"in\", \"onEnter\", \"onEntered\", \"onEntering\", \"onExit\", \"onExited\", \"onExiting\", \"style\", \"timeout\", \"TransitionComponent\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport useTimeout from '@mui/utils/useTimeout';\nimport elementAcceptingRef from '@mui/utils/elementAcceptingRef';\nimport { Transition } from 'react-transition-group';\nimport useTheme from '../styles/useTheme';\nimport { getTransitionProps, reflow } from '../transitions/utils';\nimport useForkRef from '../utils/useForkRef';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction getScale(value) {\n return `scale(${value}, ${value ** 2})`;\n}\nconst styles = {\n entering: {\n opacity: 1,\n transform: getScale(1)\n },\n entered: {\n opacity: 1,\n transform: 'none'\n }\n};\n\n/*\n TODO v6: remove\n Conditionally apply a workaround for the CSS transition bug in Safari 15.4 / WebKit browsers.\n */\nconst isWebKit154 = typeof navigator !== 'undefined' && /^((?!chrome|android).)*(safari|mobile)/i.test(navigator.userAgent) && /(os |version\\/)15(.|_)4/i.test(navigator.userAgent);\n\n/**\n * The Grow transition is used by the [Tooltip](/material-ui/react-tooltip/) and\n * [Popover](/material-ui/react-popover/) components.\n * It uses [react-transition-group](https://github.com/reactjs/react-transition-group) internally.\n */\nconst Grow = /*#__PURE__*/React.forwardRef(function Grow(props, ref) {\n const {\n addEndListener,\n appear = true,\n children,\n easing,\n in: inProp,\n onEnter,\n onEntered,\n onEntering,\n onExit,\n onExited,\n onExiting,\n style,\n timeout = 'auto',\n // eslint-disable-next-line react/prop-types\n TransitionComponent = Transition\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const timer = useTimeout();\n const autoTimeout = React.useRef();\n const theme = useTheme();\n const nodeRef = React.useRef(null);\n const handleRef = useForkRef(nodeRef, children.ref, ref);\n const normalizedTransitionCallback = callback => maybeIsAppearing => {\n if (callback) {\n const node = nodeRef.current;\n\n // onEnterXxx and onExitXxx callbacks have a different arguments.length value.\n if (maybeIsAppearing === undefined) {\n callback(node);\n } else {\n callback(node, maybeIsAppearing);\n }\n }\n };\n const handleEntering = normalizedTransitionCallback(onEntering);\n const handleEnter = normalizedTransitionCallback((node, isAppearing) => {\n reflow(node); // So the animation always start from the start.\n\n const {\n duration: transitionDuration,\n delay,\n easing: transitionTimingFunction\n } = getTransitionProps({\n style,\n timeout,\n easing\n }, {\n mode: 'enter'\n });\n let duration;\n if (timeout === 'auto') {\n duration = theme.transitions.getAutoHeightDuration(node.clientHeight);\n autoTimeout.current = duration;\n } else {\n duration = transitionDuration;\n }\n node.style.transition = [theme.transitions.create('opacity', {\n duration,\n delay\n }), theme.transitions.create('transform', {\n duration: isWebKit154 ? duration : duration * 0.666,\n delay,\n easing: transitionTimingFunction\n })].join(',');\n if (onEnter) {\n onEnter(node, isAppearing);\n }\n });\n const handleEntered = normalizedTransitionCallback(onEntered);\n const handleExiting = normalizedTransitionCallback(onExiting);\n const handleExit = normalizedTransitionCallback(node => {\n const {\n duration: transitionDuration,\n delay,\n easing: transitionTimingFunction\n } = getTransitionProps({\n style,\n timeout,\n easing\n }, {\n mode: 'exit'\n });\n let duration;\n if (timeout === 'auto') {\n duration = theme.transitions.getAutoHeightDuration(node.clientHeight);\n autoTimeout.current = duration;\n } else {\n duration = transitionDuration;\n }\n node.style.transition = [theme.transitions.create('opacity', {\n duration,\n delay\n }), theme.transitions.create('transform', {\n duration: isWebKit154 ? duration : duration * 0.666,\n delay: isWebKit154 ? delay : delay || duration * 0.333,\n easing: transitionTimingFunction\n })].join(',');\n node.style.opacity = 0;\n node.style.transform = getScale(0.75);\n if (onExit) {\n onExit(node);\n }\n });\n const handleExited = normalizedTransitionCallback(onExited);\n const handleAddEndListener = next => {\n if (timeout === 'auto') {\n timer.start(autoTimeout.current || 0, next);\n }\n if (addEndListener) {\n // Old call signature before `react-transition-group` implemented `nodeRef`\n addEndListener(nodeRef.current, next);\n }\n };\n return /*#__PURE__*/_jsx(TransitionComponent, _extends({\n appear: appear,\n in: inProp,\n nodeRef: nodeRef,\n onEnter: handleEnter,\n onEntered: handleEntered,\n onEntering: handleEntering,\n onExit: handleExit,\n onExited: handleExited,\n onExiting: handleExiting,\n addEndListener: handleAddEndListener,\n timeout: timeout === 'auto' ? null : timeout\n }, other, {\n children: (state, childProps) => {\n return /*#__PURE__*/React.cloneElement(children, _extends({\n style: _extends({\n opacity: 0,\n transform: getScale(0.75),\n visibility: state === 'exited' && !inProp ? 'hidden' : undefined\n }, styles[state], style, children.props.style),\n ref: handleRef\n }, childProps));\n }\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Grow.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Add a custom transition end trigger. Called with the transitioning DOM\n * node and a done callback. Allows for more fine grained transition end\n * logic. Note: Timeouts are still used as a fallback if provided.\n */\n addEndListener: PropTypes.func,\n /**\n * Perform the enter transition when it first mounts if `in` is also `true`.\n * Set this to `false` to disable this behavior.\n * @default true\n */\n appear: PropTypes.bool,\n /**\n * A single child content element.\n */\n children: elementAcceptingRef.isRequired,\n /**\n * The transition timing function.\n * You may specify a single easing or a object containing enter and exit values.\n */\n easing: PropTypes.oneOfType([PropTypes.shape({\n enter: PropTypes.string,\n exit: PropTypes.string\n }), PropTypes.string]),\n /**\n * If `true`, the component will transition in.\n */\n in: PropTypes.bool,\n /**\n * @ignore\n */\n onEnter: PropTypes.func,\n /**\n * @ignore\n */\n onEntered: PropTypes.func,\n /**\n * @ignore\n */\n onEntering: PropTypes.func,\n /**\n * @ignore\n */\n onExit: PropTypes.func,\n /**\n * @ignore\n */\n onExited: PropTypes.func,\n /**\n * @ignore\n */\n onExiting: PropTypes.func,\n /**\n * @ignore\n */\n style: PropTypes.object,\n /**\n * The duration for the transition, in milliseconds.\n * You may specify a single timeout for all transitions, or individually with an object.\n *\n * Set to 'auto' to automatically calculate transition time based on height.\n * @default 'auto'\n */\n timeout: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.number, PropTypes.shape({\n appear: PropTypes.number,\n enter: PropTypes.number,\n exit: PropTypes.number\n })])\n} : void 0;\nGrow.muiSupportAuto = true;\nexport default Grow;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"disableUnderline\", \"components\", \"componentsProps\", \"fullWidth\", \"inputComponent\", \"multiline\", \"slotProps\", \"slots\", \"type\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport composeClasses from '@mui/utils/composeClasses';\nimport deepmerge from '@mui/utils/deepmerge';\nimport refType from '@mui/utils/refType';\nimport InputBase from '../InputBase';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport inputClasses, { getInputUtilityClass } from './inputClasses';\nimport { rootOverridesResolver as inputBaseRootOverridesResolver, inputOverridesResolver as inputBaseInputOverridesResolver, InputBaseRoot, InputBaseComponent as InputBaseInput } from '../InputBase/InputBase';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disableUnderline\n } = ownerState;\n const slots = {\n root: ['root', !disableUnderline && 'underline'],\n input: ['input']\n };\n const composedClasses = composeClasses(slots, getInputUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\nconst InputRoot = styled(InputBaseRoot, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiInput',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [...inputBaseRootOverridesResolver(props, styles), !ownerState.disableUnderline && styles.underline];\n }\n})(({\n theme,\n ownerState\n}) => {\n const light = theme.palette.mode === 'light';\n let bottomLineColor = light ? 'rgba(0, 0, 0, 0.42)' : 'rgba(255, 255, 255, 0.7)';\n if (theme.vars) {\n bottomLineColor = `rgba(${theme.vars.palette.common.onBackgroundChannel} / ${theme.vars.opacity.inputUnderline})`;\n }\n return _extends({\n position: 'relative'\n }, ownerState.formControl && {\n 'label + &': {\n marginTop: 16\n }\n }, !ownerState.disableUnderline && {\n '&::after': {\n borderBottom: `2px solid ${(theme.vars || theme).palette[ownerState.color].main}`,\n left: 0,\n bottom: 0,\n // Doing the other way around crash on IE11 \"''\" https://github.com/cssinjs/jss/issues/242\n content: '\"\"',\n position: 'absolute',\n right: 0,\n transform: 'scaleX(0)',\n transition: theme.transitions.create('transform', {\n duration: theme.transitions.duration.shorter,\n easing: theme.transitions.easing.easeOut\n }),\n pointerEvents: 'none' // Transparent to the hover style.\n },\n [`&.${inputClasses.focused}:after`]: {\n // translateX(0) is a workaround for Safari transform scale bug\n // See https://github.com/mui/material-ui/issues/31766\n transform: 'scaleX(1) translateX(0)'\n },\n [`&.${inputClasses.error}`]: {\n '&::before, &::after': {\n borderBottomColor: (theme.vars || theme).palette.error.main\n }\n },\n '&::before': {\n borderBottom: `1px solid ${bottomLineColor}`,\n left: 0,\n bottom: 0,\n // Doing the other way around crash on IE11 \"''\" https://github.com/cssinjs/jss/issues/242\n content: '\"\\\\00a0\"',\n position: 'absolute',\n right: 0,\n transition: theme.transitions.create('border-bottom-color', {\n duration: theme.transitions.duration.shorter\n }),\n pointerEvents: 'none' // Transparent to the hover style.\n },\n [`&:hover:not(.${inputClasses.disabled}, .${inputClasses.error}):before`]: {\n borderBottom: `2px solid ${(theme.vars || theme).palette.text.primary}`,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n borderBottom: `1px solid ${bottomLineColor}`\n }\n },\n [`&.${inputClasses.disabled}:before`]: {\n borderBottomStyle: 'dotted'\n }\n });\n});\nconst InputInput = styled(InputBaseInput, {\n name: 'MuiInput',\n slot: 'Input',\n overridesResolver: inputBaseInputOverridesResolver\n})({});\nconst Input = /*#__PURE__*/React.forwardRef(function Input(inProps, ref) {\n var _ref, _slots$root, _ref2, _slots$input;\n const props = useThemeProps({\n props: inProps,\n name: 'MuiInput'\n });\n const {\n disableUnderline,\n components = {},\n componentsProps: componentsPropsProp,\n fullWidth = false,\n inputComponent = 'input',\n multiline = false,\n slotProps,\n slots = {},\n type = 'text'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const classes = useUtilityClasses(props);\n const ownerState = {\n disableUnderline\n };\n const inputComponentsProps = {\n root: {\n ownerState\n }\n };\n const componentsProps = (slotProps != null ? slotProps : componentsPropsProp) ? deepmerge(slotProps != null ? slotProps : componentsPropsProp, inputComponentsProps) : inputComponentsProps;\n const RootSlot = (_ref = (_slots$root = slots.root) != null ? _slots$root : components.Root) != null ? _ref : InputRoot;\n const InputSlot = (_ref2 = (_slots$input = slots.input) != null ? _slots$input : components.Input) != null ? _ref2 : InputInput;\n return /*#__PURE__*/_jsx(InputBase, _extends({\n slots: {\n root: RootSlot,\n input: InputSlot\n },\n slotProps: componentsProps,\n fullWidth: fullWidth,\n inputComponent: inputComponent,\n multiline: multiline,\n ref: ref,\n type: type\n }, other, {\n classes: classes\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Input.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * This prop helps users to fill forms faster, especially on mobile devices.\n * The name can be confusing, as it's more like an autofill.\n * You can learn more about it [following the specification](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill).\n */\n autoComplete: PropTypes.string,\n /**\n * If `true`, the `input` element is focused during the first mount.\n */\n autoFocus: PropTypes.bool,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * The prop defaults to the value (`'primary'`) inherited from the parent FormControl component.\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['primary', 'secondary']), PropTypes.string]),\n /**\n * The components used for each slot inside.\n *\n * This prop is an alias for the `slots` prop.\n * It's recommended to use the `slots` prop instead.\n *\n * @default {}\n */\n components: PropTypes.shape({\n Input: PropTypes.elementType,\n Root: PropTypes.elementType\n }),\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * This prop is an alias for the `slotProps` prop.\n * It's recommended to use the `slotProps` prop instead, as `componentsProps` will be deprecated in the future.\n *\n * @default {}\n */\n componentsProps: PropTypes.shape({\n input: PropTypes.object,\n root: PropTypes.object\n }),\n /**\n * The default value. Use when the component is not controlled.\n */\n defaultValue: PropTypes.any,\n /**\n * If `true`, the component is disabled.\n * The prop defaults to the value (`false`) inherited from the parent FormControl component.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the `input` will not have an underline.\n */\n disableUnderline: PropTypes.bool,\n /**\n * End `InputAdornment` for this component.\n */\n endAdornment: PropTypes.node,\n /**\n * If `true`, the `input` will indicate an error.\n * The prop defaults to the value (`false`) inherited from the parent FormControl component.\n */\n error: PropTypes.bool,\n /**\n * If `true`, the `input` will take up the full width of its container.\n * @default false\n */\n fullWidth: PropTypes.bool,\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n /**\n * The component used for the `input` element.\n * Either a string to use a HTML element or a component.\n * @default 'input'\n */\n inputComponent: PropTypes.elementType,\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n * @default {}\n */\n inputProps: PropTypes.object,\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n /**\n * If `dense`, will adjust vertical spacing. This is normally obtained via context from\n * FormControl.\n * The prop defaults to the value (`'none'`) inherited from the parent FormControl component.\n */\n margin: PropTypes.oneOf(['dense', 'none']),\n /**\n * Maximum number of rows to display when multiline option is set to true.\n */\n maxRows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * Minimum number of rows to display when multiline option is set to true.\n */\n minRows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * If `true`, a [TextareaAutosize](/material-ui/react-textarea-autosize/) element is rendered.\n * @default false\n */\n multiline: PropTypes.bool,\n /**\n * Name attribute of the `input` element.\n */\n name: PropTypes.string,\n /**\n * Callback fired when the value is changed.\n *\n * @param {React.ChangeEvent<HTMLTextAreaElement | HTMLInputElement>} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value` (string).\n */\n onChange: PropTypes.func,\n /**\n * The short hint displayed in the `input` before the user enters a value.\n */\n placeholder: PropTypes.string,\n /**\n * It prevents the user from changing the value of the field\n * (not from interacting with the field).\n */\n readOnly: PropTypes.bool,\n /**\n * If `true`, the `input` element is required.\n * The prop defaults to the value (`false`) inherited from the parent FormControl component.\n */\n required: PropTypes.bool,\n /**\n * Number of rows to display when multiline option is set to true.\n */\n rows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * This prop is an alias for the `componentsProps` prop, which will be deprecated in the future.\n *\n * @default {}\n */\n slotProps: PropTypes.shape({\n input: PropTypes.object,\n root: PropTypes.object\n }),\n /**\n * The components used for each slot inside.\n *\n * This prop is an alias for the `components` prop, which will be deprecated in the future.\n *\n * @default {}\n */\n slots: PropTypes.shape({\n input: PropTypes.elementType,\n root: PropTypes.elementType\n }),\n /**\n * Start `InputAdornment` for this component.\n */\n startAdornment: PropTypes.node,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * Type of the `input` element. It should be [a valid HTML5 input type](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Form_%3Cinput%3E_types).\n * @default 'text'\n */\n type: PropTypes.string,\n /**\n * The value of the `input` element, required for a controlled component.\n */\n value: PropTypes.any\n} : void 0;\nInput.muiName = 'Input';\nexport default Input;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getInputAdornmentUtilityClass(slot) {\n return generateUtilityClass('MuiInputAdornment', slot);\n}\nconst inputAdornmentClasses = generateUtilityClasses('MuiInputAdornment', ['root', 'filled', 'standard', 'outlined', 'positionStart', 'positionEnd', 'disablePointerEvents', 'hiddenLabel', 'sizeSmall']);\nexport default inputAdornmentClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nvar _span;\nconst _excluded = [\"children\", \"className\", \"component\", \"disablePointerEvents\", \"disableTypography\", \"position\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport capitalize from '../utils/capitalize';\nimport Typography from '../Typography';\nimport FormControlContext from '../FormControl/FormControlContext';\nimport useFormControl from '../FormControl/useFormControl';\nimport styled from '../styles/styled';\nimport inputAdornmentClasses, { getInputAdornmentUtilityClass } from './inputAdornmentClasses';\nimport useThemeProps from '../styles/useThemeProps';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`position${capitalize(ownerState.position)}`], ownerState.disablePointerEvents === true && styles.disablePointerEvents, styles[ownerState.variant]];\n};\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disablePointerEvents,\n hiddenLabel,\n position,\n size,\n variant\n } = ownerState;\n const slots = {\n root: ['root', disablePointerEvents && 'disablePointerEvents', position && `position${capitalize(position)}`, variant, hiddenLabel && 'hiddenLabel', size && `size${capitalize(size)}`]\n };\n return composeClasses(slots, getInputAdornmentUtilityClass, classes);\n};\nconst InputAdornmentRoot = styled('div', {\n name: 'MuiInputAdornment',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'flex',\n height: '0.01em',\n // Fix IE11 flexbox alignment. To remove at some point.\n maxHeight: '2em',\n alignItems: 'center',\n whiteSpace: 'nowrap',\n color: (theme.vars || theme).palette.action.active\n}, ownerState.variant === 'filled' && {\n // Styles applied to the root element if `variant=\"filled\"`.\n [`&.${inputAdornmentClasses.positionStart}&:not(.${inputAdornmentClasses.hiddenLabel})`]: {\n marginTop: 16\n }\n}, ownerState.position === 'start' && {\n // Styles applied to the root element if `position=\"start\"`.\n marginRight: 8\n}, ownerState.position === 'end' && {\n // Styles applied to the root element if `position=\"end\"`.\n marginLeft: 8\n}, ownerState.disablePointerEvents === true && {\n // Styles applied to the root element if `disablePointerEvents={true}`.\n pointerEvents: 'none'\n}));\nconst InputAdornment = /*#__PURE__*/React.forwardRef(function InputAdornment(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiInputAdornment'\n });\n const {\n children,\n className,\n component = 'div',\n disablePointerEvents = false,\n disableTypography = false,\n position,\n variant: variantProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const muiFormControl = useFormControl() || {};\n let variant = variantProp;\n if (variantProp && muiFormControl.variant) {\n if (process.env.NODE_ENV !== 'production') {\n if (variantProp === muiFormControl.variant) {\n console.error('MUI: The `InputAdornment` variant infers the variant prop ' + 'you do not have to provide one.');\n }\n }\n }\n if (muiFormControl && !variant) {\n variant = muiFormControl.variant;\n }\n const ownerState = _extends({}, props, {\n hiddenLabel: muiFormControl.hiddenLabel,\n size: muiFormControl.size,\n disablePointerEvents,\n position,\n variant\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(FormControlContext.Provider, {\n value: null,\n children: /*#__PURE__*/_jsx(InputAdornmentRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: typeof children === 'string' && !disableTypography ? /*#__PURE__*/_jsx(Typography, {\n color: \"text.secondary\",\n children: children\n }) : /*#__PURE__*/_jsxs(React.Fragment, {\n children: [position === 'start' ? ( /* notranslate needed while Google Translate will not fix zero-width space issue */_span || (_span = /*#__PURE__*/_jsx(\"span\", {\n className: \"notranslate\",\n children: \"\\u200B\"\n }))) : null, children]\n })\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? InputAdornment.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component, normally an `IconButton` or string.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * Disable pointer events on the root.\n * This allows for the content of the adornment to focus the `input` on click.\n * @default false\n */\n disablePointerEvents: PropTypes.bool,\n /**\n * If children is a string then disable wrapping in a Typography component.\n * @default false\n */\n disableTypography: PropTypes.bool,\n /**\n * The position this adornment should appear relative to the `Input`.\n */\n position: PropTypes.oneOf(['end', 'start']).isRequired,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The variant to use.\n * Note: If you are using the `TextField` component or the `FormControl` component\n * you do not have to set this manually.\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default InputAdornment;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getInputLabelUtilityClasses(slot) {\n return generateUtilityClass('MuiInputLabel', slot);\n}\nconst inputLabelClasses = generateUtilityClasses('MuiInputLabel', ['root', 'focused', 'disabled', 'error', 'required', 'asterisk', 'formControl', 'sizeSmall', 'shrink', 'animated', 'standard', 'filled', 'outlined']);\nexport default inputLabelClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"disableAnimation\", \"margin\", \"shrink\", \"variant\", \"className\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport composeClasses from '@mui/utils/composeClasses';\nimport clsx from 'clsx';\nimport formControlState from '../FormControl/formControlState';\nimport useFormControl from '../FormControl/useFormControl';\nimport FormLabel, { formLabelClasses } from '../FormLabel';\nimport useThemeProps from '../styles/useThemeProps';\nimport capitalize from '../utils/capitalize';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport { getInputLabelUtilityClasses } from './inputLabelClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n formControl,\n size,\n shrink,\n disableAnimation,\n variant,\n required\n } = ownerState;\n const slots = {\n root: ['root', formControl && 'formControl', !disableAnimation && 'animated', shrink && 'shrink', size && size !== 'normal' && `size${capitalize(size)}`, variant],\n asterisk: [required && 'asterisk']\n };\n const composedClasses = composeClasses(slots, getInputLabelUtilityClasses, classes);\n return _extends({}, classes, composedClasses);\n};\nconst InputLabelRoot = styled(FormLabel, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiInputLabel',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [{\n [`& .${formLabelClasses.asterisk}`]: styles.asterisk\n }, styles.root, ownerState.formControl && styles.formControl, ownerState.size === 'small' && styles.sizeSmall, ownerState.shrink && styles.shrink, !ownerState.disableAnimation && styles.animated, ownerState.focused && styles.focused, styles[ownerState.variant]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'block',\n transformOrigin: 'top left',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n maxWidth: '100%'\n}, ownerState.formControl && {\n position: 'absolute',\n left: 0,\n top: 0,\n // slight alteration to spec spacing to match visual spec result\n transform: 'translate(0, 20px) scale(1)'\n}, ownerState.size === 'small' && {\n // Compensation for the `Input.inputSizeSmall` style.\n transform: 'translate(0, 17px) scale(1)'\n}, ownerState.shrink && {\n transform: 'translate(0, -1.5px) scale(0.75)',\n transformOrigin: 'top left',\n maxWidth: '133%'\n}, !ownerState.disableAnimation && {\n transition: theme.transitions.create(['color', 'transform', 'max-width'], {\n duration: theme.transitions.duration.shorter,\n easing: theme.transitions.easing.easeOut\n })\n}, ownerState.variant === 'filled' && _extends({\n // Chrome's autofill feature gives the input field a yellow background.\n // Since the input field is behind the label in the HTML tree,\n // the input field is drawn last and hides the label with an opaque background color.\n // zIndex: 1 will raise the label above opaque background-colors of input.\n zIndex: 1,\n pointerEvents: 'none',\n transform: 'translate(12px, 16px) scale(1)',\n maxWidth: 'calc(100% - 24px)'\n}, ownerState.size === 'small' && {\n transform: 'translate(12px, 13px) scale(1)'\n}, ownerState.shrink && _extends({\n userSelect: 'none',\n pointerEvents: 'auto',\n transform: 'translate(12px, 7px) scale(0.75)',\n maxWidth: 'calc(133% - 24px)'\n}, ownerState.size === 'small' && {\n transform: 'translate(12px, 4px) scale(0.75)'\n})), ownerState.variant === 'outlined' && _extends({\n // see comment above on filled.zIndex\n zIndex: 1,\n pointerEvents: 'none',\n transform: 'translate(14px, 16px) scale(1)',\n maxWidth: 'calc(100% - 24px)'\n}, ownerState.size === 'small' && {\n transform: 'translate(14px, 9px) scale(1)'\n}, ownerState.shrink && {\n userSelect: 'none',\n pointerEvents: 'auto',\n // Theoretically, we should have (8+5)*2/0.75 = 34px\n // but it feels a better when it bleeds a bit on the left, so 32px.\n maxWidth: 'calc(133% - 32px)',\n transform: 'translate(14px, -9px) scale(0.75)'\n})));\nconst InputLabel = /*#__PURE__*/React.forwardRef(function InputLabel(inProps, ref) {\n const props = useThemeProps({\n name: 'MuiInputLabel',\n props: inProps\n });\n const {\n disableAnimation = false,\n shrink: shrinkProp,\n className\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const muiFormControl = useFormControl();\n let shrink = shrinkProp;\n if (typeof shrink === 'undefined' && muiFormControl) {\n shrink = muiFormControl.filled || muiFormControl.focused || muiFormControl.adornedStart;\n }\n const fcs = formControlState({\n props,\n muiFormControl,\n states: ['size', 'variant', 'required', 'focused']\n });\n const ownerState = _extends({}, props, {\n disableAnimation,\n formControl: muiFormControl,\n shrink,\n size: fcs.size,\n variant: fcs.variant,\n required: fcs.required,\n focused: fcs.focused\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(InputLabelRoot, _extends({\n \"data-shrink\": shrink,\n ownerState: ownerState,\n ref: ref,\n className: clsx(classes.root, className)\n }, other, {\n classes: classes\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? InputLabel.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['error', 'info', 'primary', 'secondary', 'success', 'warning']), PropTypes.string]),\n /**\n * If `true`, the transition animation is disabled.\n * @default false\n */\n disableAnimation: PropTypes.bool,\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the label is displayed in an error state.\n */\n error: PropTypes.bool,\n /**\n * If `true`, the `input` of this label is focused.\n */\n focused: PropTypes.bool,\n /**\n * If `dense`, will adjust vertical spacing. This is normally obtained via context from\n * FormControl.\n */\n margin: PropTypes.oneOf(['dense']),\n /**\n * if `true`, the label will indicate that the `input` is required.\n */\n required: PropTypes.bool,\n /**\n * If `true`, the label is shrunk.\n */\n shrink: PropTypes.bool,\n /**\n * The size of the component.\n * @default 'normal'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['normal', 'small']), PropTypes.string]),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The variant to use.\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default InputLabel;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getLinearProgressUtilityClass(slot) {\n return generateUtilityClass('MuiLinearProgress', slot);\n}\nconst linearProgressClasses = generateUtilityClasses('MuiLinearProgress', ['root', 'colorPrimary', 'colorSecondary', 'determinate', 'indeterminate', 'buffer', 'query', 'dashed', 'dashedColorPrimary', 'dashedColorSecondary', 'bar', 'barColorPrimary', 'barColorSecondary', 'bar1Indeterminate', 'bar1Determinate', 'bar1Buffer', 'bar2Indeterminate', 'bar2Buffer']);\nexport default linearProgressClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"color\", \"value\", \"valueBuffer\", \"variant\"];\nlet _ = t => t,\n _t,\n _t2,\n _t3,\n _t4,\n _t5,\n _t6;\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { keyframes, css } from '@mui/system';\nimport { darken, lighten } from '@mui/system/colorManipulator';\nimport { useRtl } from '@mui/system/RtlProvider';\nimport capitalize from '../utils/capitalize';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport { getLinearProgressUtilityClass } from './linearProgressClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst TRANSITION_DURATION = 4; // seconds\nconst indeterminate1Keyframe = keyframes(_t || (_t = _`\n 0% {\n left: -35%;\n right: 100%;\n }\n\n 60% {\n left: 100%;\n right: -90%;\n }\n\n 100% {\n left: 100%;\n right: -90%;\n }\n`));\nconst indeterminate2Keyframe = keyframes(_t2 || (_t2 = _`\n 0% {\n left: -200%;\n right: 100%;\n }\n\n 60% {\n left: 107%;\n right: -8%;\n }\n\n 100% {\n left: 107%;\n right: -8%;\n }\n`));\nconst bufferKeyframe = keyframes(_t3 || (_t3 = _`\n 0% {\n opacity: 1;\n background-position: 0 -23px;\n }\n\n 60% {\n opacity: 0;\n background-position: 0 -23px;\n }\n\n 100% {\n opacity: 1;\n background-position: -200px -23px;\n }\n`));\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n variant,\n color\n } = ownerState;\n const slots = {\n root: ['root', `color${capitalize(color)}`, variant],\n dashed: ['dashed', `dashedColor${capitalize(color)}`],\n bar1: ['bar', `barColor${capitalize(color)}`, (variant === 'indeterminate' || variant === 'query') && 'bar1Indeterminate', variant === 'determinate' && 'bar1Determinate', variant === 'buffer' && 'bar1Buffer'],\n bar2: ['bar', variant !== 'buffer' && `barColor${capitalize(color)}`, variant === 'buffer' && `color${capitalize(color)}`, (variant === 'indeterminate' || variant === 'query') && 'bar2Indeterminate', variant === 'buffer' && 'bar2Buffer']\n };\n return composeClasses(slots, getLinearProgressUtilityClass, classes);\n};\nconst getColorShade = (theme, color) => {\n if (color === 'inherit') {\n return 'currentColor';\n }\n if (theme.vars) {\n return theme.vars.palette.LinearProgress[`${color}Bg`];\n }\n return theme.palette.mode === 'light' ? lighten(theme.palette[color].main, 0.62) : darken(theme.palette[color].main, 0.5);\n};\nconst LinearProgressRoot = styled('span', {\n name: 'MuiLinearProgress',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`color${capitalize(ownerState.color)}`], styles[ownerState.variant]];\n }\n})(({\n ownerState,\n theme\n}) => _extends({\n position: 'relative',\n overflow: 'hidden',\n display: 'block',\n height: 4,\n zIndex: 0,\n // Fix Safari's bug during composition of different paint.\n '@media print': {\n colorAdjust: 'exact'\n },\n backgroundColor: getColorShade(theme, ownerState.color)\n}, ownerState.color === 'inherit' && ownerState.variant !== 'buffer' && {\n backgroundColor: 'none',\n '&::before': {\n content: '\"\"',\n position: 'absolute',\n left: 0,\n top: 0,\n right: 0,\n bottom: 0,\n backgroundColor: 'currentColor',\n opacity: 0.3\n }\n}, ownerState.variant === 'buffer' && {\n backgroundColor: 'transparent'\n}, ownerState.variant === 'query' && {\n transform: 'rotate(180deg)'\n}));\nconst LinearProgressDashed = styled('span', {\n name: 'MuiLinearProgress',\n slot: 'Dashed',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.dashed, styles[`dashedColor${capitalize(ownerState.color)}`]];\n }\n})(({\n ownerState,\n theme\n}) => {\n const backgroundColor = getColorShade(theme, ownerState.color);\n return _extends({\n position: 'absolute',\n marginTop: 0,\n height: '100%',\n width: '100%'\n }, ownerState.color === 'inherit' && {\n opacity: 0.3\n }, {\n backgroundImage: `radial-gradient(${backgroundColor} 0%, ${backgroundColor} 16%, transparent 42%)`,\n backgroundSize: '10px 10px',\n backgroundPosition: '0 -23px'\n });\n}, css(_t4 || (_t4 = _`\n animation: ${0} 3s infinite linear;\n `), bufferKeyframe));\nconst LinearProgressBar1 = styled('span', {\n name: 'MuiLinearProgress',\n slot: 'Bar1',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.bar, styles[`barColor${capitalize(ownerState.color)}`], (ownerState.variant === 'indeterminate' || ownerState.variant === 'query') && styles.bar1Indeterminate, ownerState.variant === 'determinate' && styles.bar1Determinate, ownerState.variant === 'buffer' && styles.bar1Buffer];\n }\n})(({\n ownerState,\n theme\n}) => _extends({\n width: '100%',\n position: 'absolute',\n left: 0,\n bottom: 0,\n top: 0,\n transition: 'transform 0.2s linear',\n transformOrigin: 'left',\n backgroundColor: ownerState.color === 'inherit' ? 'currentColor' : (theme.vars || theme).palette[ownerState.color].main\n}, ownerState.variant === 'determinate' && {\n transition: `transform .${TRANSITION_DURATION}s linear`\n}, ownerState.variant === 'buffer' && {\n zIndex: 1,\n transition: `transform .${TRANSITION_DURATION}s linear`\n}), ({\n ownerState\n}) => (ownerState.variant === 'indeterminate' || ownerState.variant === 'query') && css(_t5 || (_t5 = _`\n width: auto;\n animation: ${0} 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;\n `), indeterminate1Keyframe));\nconst LinearProgressBar2 = styled('span', {\n name: 'MuiLinearProgress',\n slot: 'Bar2',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.bar, styles[`barColor${capitalize(ownerState.color)}`], (ownerState.variant === 'indeterminate' || ownerState.variant === 'query') && styles.bar2Indeterminate, ownerState.variant === 'buffer' && styles.bar2Buffer];\n }\n})(({\n ownerState,\n theme\n}) => _extends({\n width: '100%',\n position: 'absolute',\n left: 0,\n bottom: 0,\n top: 0,\n transition: 'transform 0.2s linear',\n transformOrigin: 'left'\n}, ownerState.variant !== 'buffer' && {\n backgroundColor: ownerState.color === 'inherit' ? 'currentColor' : (theme.vars || theme).palette[ownerState.color].main\n}, ownerState.color === 'inherit' && {\n opacity: 0.3\n}, ownerState.variant === 'buffer' && {\n backgroundColor: getColorShade(theme, ownerState.color),\n transition: `transform .${TRANSITION_DURATION}s linear`\n}), ({\n ownerState\n}) => (ownerState.variant === 'indeterminate' || ownerState.variant === 'query') && css(_t6 || (_t6 = _`\n width: auto;\n animation: ${0} 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) 1.15s infinite;\n `), indeterminate2Keyframe));\n\n/**\n * ## ARIA\n *\n * If the progress bar is describing the loading progress of a particular region of a page,\n * you should use `aria-describedby` to point to the progress bar, and set the `aria-busy`\n * attribute to `true` on that region until it has finished loading.\n */\nconst LinearProgress = /*#__PURE__*/React.forwardRef(function LinearProgress(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiLinearProgress'\n });\n const {\n className,\n color = 'primary',\n value,\n valueBuffer,\n variant = 'indeterminate'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n color,\n variant\n });\n const classes = useUtilityClasses(ownerState);\n const isRtl = useRtl();\n const rootProps = {};\n const inlineStyles = {\n bar1: {},\n bar2: {}\n };\n if (variant === 'determinate' || variant === 'buffer') {\n if (value !== undefined) {\n rootProps['aria-valuenow'] = Math.round(value);\n rootProps['aria-valuemin'] = 0;\n rootProps['aria-valuemax'] = 100;\n let transform = value - 100;\n if (isRtl) {\n transform = -transform;\n }\n inlineStyles.bar1.transform = `translateX(${transform}%)`;\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('MUI: You need to provide a value prop ' + 'when using the determinate or buffer variant of LinearProgress .');\n }\n }\n if (variant === 'buffer') {\n if (valueBuffer !== undefined) {\n let transform = (valueBuffer || 0) - 100;\n if (isRtl) {\n transform = -transform;\n }\n inlineStyles.bar2.transform = `translateX(${transform}%)`;\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('MUI: You need to provide a valueBuffer prop ' + 'when using the buffer variant of LinearProgress.');\n }\n }\n return /*#__PURE__*/_jsxs(LinearProgressRoot, _extends({\n className: clsx(classes.root, className),\n ownerState: ownerState,\n role: \"progressbar\"\n }, rootProps, {\n ref: ref\n }, other, {\n children: [variant === 'buffer' ? /*#__PURE__*/_jsx(LinearProgressDashed, {\n className: classes.dashed,\n ownerState: ownerState\n }) : null, /*#__PURE__*/_jsx(LinearProgressBar1, {\n className: classes.bar1,\n ownerState: ownerState,\n style: inlineStyles.bar1\n }), variant === 'determinate' ? null : /*#__PURE__*/_jsx(LinearProgressBar2, {\n className: classes.bar2,\n ownerState: ownerState,\n style: inlineStyles.bar2\n })]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? LinearProgress.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * @default 'primary'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['inherit', 'primary', 'secondary']), PropTypes.string]),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The value of the progress indicator for the determinate and buffer variants.\n * Value between 0 and 100.\n */\n value: PropTypes.number,\n /**\n * The value for the buffer variant.\n * Value between 0 and 100.\n */\n valueBuffer: PropTypes.number,\n /**\n * The variant to use.\n * Use indeterminate or query when there is no progress value.\n * @default 'indeterminate'\n */\n variant: PropTypes.oneOf(['buffer', 'determinate', 'indeterminate', 'query'])\n} : void 0;\nexport default LinearProgress;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getLinkUtilityClass(slot) {\n return generateUtilityClass('MuiLink', slot);\n}\nconst linkClasses = generateUtilityClasses('MuiLink', ['root', 'underlineNone', 'underlineHover', 'underlineAlways', 'button', 'focusVisible']);\nexport default linkClasses;","import { getPath } from '@mui/system';\nimport { alpha } from '@mui/system/colorManipulator';\nexport const colorTransformations = {\n primary: 'primary.main',\n textPrimary: 'text.primary',\n secondary: 'secondary.main',\n textSecondary: 'text.secondary',\n error: 'error.main'\n};\nconst transformDeprecatedColors = color => {\n return colorTransformations[color] || color;\n};\nconst getTextDecoration = ({\n theme,\n ownerState\n}) => {\n const transformedColor = transformDeprecatedColors(ownerState.color);\n const color = getPath(theme, `palette.${transformedColor}`, false) || ownerState.color;\n const channelColor = getPath(theme, `palette.${transformedColor}Channel`);\n if ('vars' in theme && channelColor) {\n return `rgba(${channelColor} / 0.4)`;\n }\n return alpha(color, 0.4);\n};\nexport default getTextDecoration;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"color\", \"component\", \"onBlur\", \"onFocus\", \"TypographyClasses\", \"underline\", \"variant\", \"sx\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport elementTypeAcceptingRef from '@mui/utils/elementTypeAcceptingRef';\nimport composeClasses from '@mui/utils/composeClasses';\nimport capitalize from '../utils/capitalize';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport useIsFocusVisible from '../utils/useIsFocusVisible';\nimport useForkRef from '../utils/useForkRef';\nimport Typography from '../Typography';\nimport linkClasses, { getLinkUtilityClass } from './linkClasses';\nimport getTextDecoration, { colorTransformations } from './getTextDecoration';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n component,\n focusVisible,\n underline\n } = ownerState;\n const slots = {\n root: ['root', `underline${capitalize(underline)}`, component === 'button' && 'button', focusVisible && 'focusVisible']\n };\n return composeClasses(slots, getLinkUtilityClass, classes);\n};\nconst LinkRoot = styled(Typography, {\n name: 'MuiLink',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`underline${capitalize(ownerState.underline)}`], ownerState.component === 'button' && styles.button];\n }\n})(({\n theme,\n ownerState\n}) => {\n return _extends({}, ownerState.underline === 'none' && {\n textDecoration: 'none'\n }, ownerState.underline === 'hover' && {\n textDecoration: 'none',\n '&:hover': {\n textDecoration: 'underline'\n }\n }, ownerState.underline === 'always' && _extends({\n textDecoration: 'underline'\n }, ownerState.color !== 'inherit' && {\n textDecorationColor: getTextDecoration({\n theme,\n ownerState\n })\n }, {\n '&:hover': {\n textDecorationColor: 'inherit'\n }\n }), ownerState.component === 'button' && {\n position: 'relative',\n WebkitTapHighlightColor: 'transparent',\n backgroundColor: 'transparent',\n // Reset default value\n // We disable the focus ring for mouse, touch and keyboard users.\n outline: 0,\n border: 0,\n margin: 0,\n // Remove the margin in Safari\n borderRadius: 0,\n padding: 0,\n // Remove the padding in Firefox\n cursor: 'pointer',\n userSelect: 'none',\n verticalAlign: 'middle',\n MozAppearance: 'none',\n // Reset\n WebkitAppearance: 'none',\n // Reset\n '&::-moz-focus-inner': {\n borderStyle: 'none' // Remove Firefox dotted outline.\n },\n [`&.${linkClasses.focusVisible}`]: {\n outline: 'auto'\n }\n });\n});\nconst Link = /*#__PURE__*/React.forwardRef(function Link(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiLink'\n });\n const {\n className,\n color = 'primary',\n component = 'a',\n onBlur,\n onFocus,\n TypographyClasses,\n underline = 'always',\n variant = 'inherit',\n sx\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const {\n isFocusVisibleRef,\n onBlur: handleBlurVisible,\n onFocus: handleFocusVisible,\n ref: focusVisibleRef\n } = useIsFocusVisible();\n const [focusVisible, setFocusVisible] = React.useState(false);\n const handlerRef = useForkRef(ref, focusVisibleRef);\n const handleBlur = event => {\n handleBlurVisible(event);\n if (isFocusVisibleRef.current === false) {\n setFocusVisible(false);\n }\n if (onBlur) {\n onBlur(event);\n }\n };\n const handleFocus = event => {\n handleFocusVisible(event);\n if (isFocusVisibleRef.current === true) {\n setFocusVisible(true);\n }\n if (onFocus) {\n onFocus(event);\n }\n };\n const ownerState = _extends({}, props, {\n color,\n component,\n focusVisible,\n underline,\n variant\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(LinkRoot, _extends({\n color: color,\n className: clsx(classes.root, className),\n classes: TypographyClasses,\n component: component,\n onBlur: handleBlur,\n onFocus: handleFocus,\n ref: handlerRef,\n ownerState: ownerState,\n variant: variant,\n sx: [...(!Object.keys(colorTransformations).includes(color) ? [{\n color\n }] : []), ...(Array.isArray(sx) ? sx : [sx])]\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? Link.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the link.\n * @default 'primary'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.any,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: elementTypeAcceptingRef,\n /**\n * @ignore\n */\n onBlur: PropTypes.func,\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * `classes` prop applied to the [`Typography`](/material-ui/api/typography/) element.\n */\n TypographyClasses: PropTypes.object,\n /**\n * Controls when the link should have an underline.\n * @default 'always'\n */\n underline: PropTypes.oneOf(['always', 'hover', 'none']),\n /**\n * Applies the theme typography styles.\n * @default 'inherit'\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['body1', 'body2', 'button', 'caption', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'inherit', 'overline', 'subtitle1', 'subtitle2']), PropTypes.string])\n} : void 0;\nexport default Link;","'use client';\n\nimport * as React from 'react';\n\n/**\n * @ignore - internal component.\n */\nconst ListContext = /*#__PURE__*/React.createContext({});\nif (process.env.NODE_ENV !== 'production') {\n ListContext.displayName = 'ListContext';\n}\nexport default ListContext;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getListUtilityClass(slot) {\n return generateUtilityClass('MuiList', slot);\n}\nconst listClasses = generateUtilityClasses('MuiList', ['root', 'padding', 'dense', 'subheader']);\nexport default listClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"className\", \"component\", \"dense\", \"disablePadding\", \"subheader\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport ListContext from './ListContext';\nimport { getListUtilityClass } from './listClasses';\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disablePadding,\n dense,\n subheader\n } = ownerState;\n const slots = {\n root: ['root', !disablePadding && 'padding', dense && 'dense', subheader && 'subheader']\n };\n return composeClasses(slots, getListUtilityClass, classes);\n};\nconst ListRoot = styled('ul', {\n name: 'MuiList',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, !ownerState.disablePadding && styles.padding, ownerState.dense && styles.dense, ownerState.subheader && styles.subheader];\n }\n})(({\n ownerState\n}) => _extends({\n listStyle: 'none',\n margin: 0,\n padding: 0,\n position: 'relative'\n}, !ownerState.disablePadding && {\n paddingTop: 8,\n paddingBottom: 8\n}, ownerState.subheader && {\n paddingTop: 0\n}));\nconst List = /*#__PURE__*/React.forwardRef(function List(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiList'\n });\n const {\n children,\n className,\n component = 'ul',\n dense = false,\n disablePadding = false,\n subheader\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const context = React.useMemo(() => ({\n dense\n }), [dense]);\n const ownerState = _extends({}, props, {\n component,\n dense,\n disablePadding\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(ListContext.Provider, {\n value: context,\n children: /*#__PURE__*/_jsxs(ListRoot, _extends({\n as: component,\n className: clsx(classes.root, className),\n ref: ref,\n ownerState: ownerState\n }, other, {\n children: [subheader, children]\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? List.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * If `true`, compact vertical padding designed for keyboard and mouse input is used for\n * the list and list items.\n * The prop is available to descendant components as the `dense` context.\n * @default false\n */\n dense: PropTypes.bool,\n /**\n * If `true`, vertical padding is removed from the list.\n * @default false\n */\n disablePadding: PropTypes.bool,\n /**\n * The content of the subheader, normally `ListSubheader`.\n */\n subheader: PropTypes.node,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default List;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getListItemUtilityClass(slot) {\n return generateUtilityClass('MuiListItem', slot);\n}\nconst listItemClasses = generateUtilityClasses('MuiListItem', ['root', 'container', 'focusVisible', 'dense', 'alignItemsFlexStart', 'disabled', 'divider', 'gutters', 'padding', 'button', 'secondaryAction', 'selected']);\nexport default listItemClasses;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getListItemButtonUtilityClass(slot) {\n return generateUtilityClass('MuiListItemButton', slot);\n}\nconst listItemButtonClasses = generateUtilityClasses('MuiListItemButton', ['root', 'focusVisible', 'dense', 'alignItemsFlexStart', 'disabled', 'divider', 'gutters', 'selected']);\nexport default listItemButtonClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"alignItems\", \"autoFocus\", \"component\", \"children\", \"dense\", \"disableGutters\", \"divider\", \"focusVisibleClassName\", \"selected\", \"className\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { alpha } from '@mui/system/colorManipulator';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport ButtonBase from '../ButtonBase';\nimport useEnhancedEffect from '../utils/useEnhancedEffect';\nimport useForkRef from '../utils/useForkRef';\nimport ListContext from '../List/ListContext';\nimport listItemButtonClasses, { getListItemButtonUtilityClass } from './listItemButtonClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.dense && styles.dense, ownerState.alignItems === 'flex-start' && styles.alignItemsFlexStart, ownerState.divider && styles.divider, !ownerState.disableGutters && styles.gutters];\n};\nconst useUtilityClasses = ownerState => {\n const {\n alignItems,\n classes,\n dense,\n disabled,\n disableGutters,\n divider,\n selected\n } = ownerState;\n const slots = {\n root: ['root', dense && 'dense', !disableGutters && 'gutters', divider && 'divider', disabled && 'disabled', alignItems === 'flex-start' && 'alignItemsFlexStart', selected && 'selected']\n };\n const composedClasses = composeClasses(slots, getListItemButtonUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\nconst ListItemButtonRoot = styled(ButtonBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiListItemButton',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'flex',\n flexGrow: 1,\n justifyContent: 'flex-start',\n alignItems: 'center',\n position: 'relative',\n textDecoration: 'none',\n minWidth: 0,\n boxSizing: 'border-box',\n textAlign: 'left',\n paddingTop: 8,\n paddingBottom: 8,\n transition: theme.transitions.create('background-color', {\n duration: theme.transitions.duration.shortest\n }),\n '&:hover': {\n textDecoration: 'none',\n backgroundColor: (theme.vars || theme).palette.action.hover,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${listItemButtonClasses.selected}`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.selectedOpacity})` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity),\n [`&.${listItemButtonClasses.focusVisible}`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.focusOpacity}))` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)\n }\n },\n [`&.${listItemButtonClasses.selected}:hover`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.hoverOpacity}))` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.selectedOpacity})` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity)\n }\n },\n [`&.${listItemButtonClasses.focusVisible}`]: {\n backgroundColor: (theme.vars || theme).palette.action.focus\n },\n [`&.${listItemButtonClasses.disabled}`]: {\n opacity: (theme.vars || theme).palette.action.disabledOpacity\n }\n}, ownerState.divider && {\n borderBottom: `1px solid ${(theme.vars || theme).palette.divider}`,\n backgroundClip: 'padding-box'\n}, ownerState.alignItems === 'flex-start' && {\n alignItems: 'flex-start'\n}, !ownerState.disableGutters && {\n paddingLeft: 16,\n paddingRight: 16\n}, ownerState.dense && {\n paddingTop: 4,\n paddingBottom: 4\n}));\nconst ListItemButton = /*#__PURE__*/React.forwardRef(function ListItemButton(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiListItemButton'\n });\n const {\n alignItems = 'center',\n autoFocus = false,\n component = 'div',\n children,\n dense = false,\n disableGutters = false,\n divider = false,\n focusVisibleClassName,\n selected = false,\n className\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const context = React.useContext(ListContext);\n const childContext = React.useMemo(() => ({\n dense: dense || context.dense || false,\n alignItems,\n disableGutters\n }), [alignItems, context.dense, dense, disableGutters]);\n const listItemRef = React.useRef(null);\n useEnhancedEffect(() => {\n if (autoFocus) {\n if (listItemRef.current) {\n listItemRef.current.focus();\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('MUI: Unable to set focus to a ListItemButton whose component has not been rendered.');\n }\n }\n }, [autoFocus]);\n const ownerState = _extends({}, props, {\n alignItems,\n dense: childContext.dense,\n disableGutters,\n divider,\n selected\n });\n const classes = useUtilityClasses(ownerState);\n const handleRef = useForkRef(listItemRef, ref);\n return /*#__PURE__*/_jsx(ListContext.Provider, {\n value: childContext,\n children: /*#__PURE__*/_jsx(ListItemButtonRoot, _extends({\n ref: handleRef,\n href: other.href || other.to\n // `ButtonBase` processes `href` or `to` if `component` is set to 'button'\n ,\n component: (other.href || other.to) && component === 'div' ? 'button' : component,\n focusVisibleClassName: clsx(classes.focusVisible, focusVisibleClassName),\n ownerState: ownerState,\n className: clsx(classes.root, className)\n }, other, {\n classes: classes,\n children: children\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? ListItemButton.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Defines the `align-items` style property.\n * @default 'center'\n */\n alignItems: PropTypes.oneOf(['center', 'flex-start']),\n /**\n * If `true`, the list item is focused during the first mount.\n * Focus will also be triggered if the value changes from false to true.\n * @default false\n */\n autoFocus: PropTypes.bool,\n /**\n * The content of the component if a `ListItemSecondaryAction` is used it must\n * be the last child.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * If `true`, compact vertical padding designed for keyboard and mouse input is used.\n * The prop defaults to the value inherited from the parent List component.\n * @default false\n */\n dense: PropTypes.bool,\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the left and right padding is removed.\n * @default false\n */\n disableGutters: PropTypes.bool,\n /**\n * If `true`, a 1px light border is added to the bottom of the list item.\n * @default false\n */\n divider: PropTypes.bool,\n /**\n * This prop can help identify which element has keyboard focus.\n * The class name will be applied when the element gains the focus through keyboard interaction.\n * It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo).\n * The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/HEAD/explainer.md).\n * A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components\n * if needed.\n */\n focusVisibleClassName: PropTypes.string,\n /**\n * @ignore\n */\n href: PropTypes.string,\n /**\n * Use to apply selected styling.\n * @default false\n */\n selected: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default ListItemButton;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getListItemSecondaryActionClassesUtilityClass(slot) {\n return generateUtilityClass('MuiListItemSecondaryAction', slot);\n}\nconst listItemSecondaryActionClasses = generateUtilityClasses('MuiListItemSecondaryAction', ['root', 'disableGutters']);\nexport default listItemSecondaryActionClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport ListContext from '../List/ListContext';\nimport { getListItemSecondaryActionClassesUtilityClass } from './listItemSecondaryActionClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n disableGutters,\n classes\n } = ownerState;\n const slots = {\n root: ['root', disableGutters && 'disableGutters']\n };\n return composeClasses(slots, getListItemSecondaryActionClassesUtilityClass, classes);\n};\nconst ListItemSecondaryActionRoot = styled('div', {\n name: 'MuiListItemSecondaryAction',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.disableGutters && styles.disableGutters];\n }\n})(({\n ownerState\n}) => _extends({\n position: 'absolute',\n right: 16,\n top: '50%',\n transform: 'translateY(-50%)'\n}, ownerState.disableGutters && {\n right: 0\n}));\n\n/**\n * Must be used as the last child of ListItem to function properly.\n */\nconst ListItemSecondaryAction = /*#__PURE__*/React.forwardRef(function ListItemSecondaryAction(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiListItemSecondaryAction'\n });\n const {\n className\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const context = React.useContext(ListContext);\n const ownerState = _extends({}, props, {\n disableGutters: context.disableGutters\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(ListItemSecondaryActionRoot, _extends({\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? ListItemSecondaryAction.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component, normally an `IconButton` or selection control.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nListItemSecondaryAction.muiName = 'ListItemSecondaryAction';\nexport default ListItemSecondaryAction;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\"],\n _excluded2 = [\"alignItems\", \"autoFocus\", \"button\", \"children\", \"className\", \"component\", \"components\", \"componentsProps\", \"ContainerComponent\", \"ContainerProps\", \"dense\", \"disabled\", \"disableGutters\", \"disablePadding\", \"divider\", \"focusVisibleClassName\", \"secondaryAction\", \"selected\", \"slotProps\", \"slots\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { isHostComponent } from '@mui/base/utils';\nimport composeClasses from '@mui/utils/composeClasses';\nimport elementTypeAcceptingRef from '@mui/utils/elementTypeAcceptingRef';\nimport chainPropTypes from '@mui/utils/chainPropTypes';\nimport { alpha } from '@mui/system/colorManipulator';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport ButtonBase from '../ButtonBase';\nimport isMuiElement from '../utils/isMuiElement';\nimport useEnhancedEffect from '../utils/useEnhancedEffect';\nimport useForkRef from '../utils/useForkRef';\nimport ListContext from '../List/ListContext';\nimport listItemClasses, { getListItemUtilityClass } from './listItemClasses';\nimport { listItemButtonClasses } from '../ListItemButton';\nimport ListItemSecondaryAction from '../ListItemSecondaryAction';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport const overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.dense && styles.dense, ownerState.alignItems === 'flex-start' && styles.alignItemsFlexStart, ownerState.divider && styles.divider, !ownerState.disableGutters && styles.gutters, !ownerState.disablePadding && styles.padding, ownerState.button && styles.button, ownerState.hasSecondaryAction && styles.secondaryAction];\n};\nconst useUtilityClasses = ownerState => {\n const {\n alignItems,\n button,\n classes,\n dense,\n disabled,\n disableGutters,\n disablePadding,\n divider,\n hasSecondaryAction,\n selected\n } = ownerState;\n const slots = {\n root: ['root', dense && 'dense', !disableGutters && 'gutters', !disablePadding && 'padding', divider && 'divider', disabled && 'disabled', button && 'button', alignItems === 'flex-start' && 'alignItemsFlexStart', hasSecondaryAction && 'secondaryAction', selected && 'selected'],\n container: ['container']\n };\n return composeClasses(slots, getListItemUtilityClass, classes);\n};\nexport const ListItemRoot = styled('div', {\n name: 'MuiListItem',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'flex',\n justifyContent: 'flex-start',\n alignItems: 'center',\n position: 'relative',\n textDecoration: 'none',\n width: '100%',\n boxSizing: 'border-box',\n textAlign: 'left'\n}, !ownerState.disablePadding && _extends({\n paddingTop: 8,\n paddingBottom: 8\n}, ownerState.dense && {\n paddingTop: 4,\n paddingBottom: 4\n}, !ownerState.disableGutters && {\n paddingLeft: 16,\n paddingRight: 16\n}, !!ownerState.secondaryAction && {\n // Add some space to avoid collision as `ListItemSecondaryAction`\n // is absolutely positioned.\n paddingRight: 48\n}), !!ownerState.secondaryAction && {\n [`& > .${listItemButtonClasses.root}`]: {\n paddingRight: 48\n }\n}, {\n [`&.${listItemClasses.focusVisible}`]: {\n backgroundColor: (theme.vars || theme).palette.action.focus\n },\n [`&.${listItemClasses.selected}`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.selectedOpacity})` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity),\n [`&.${listItemClasses.focusVisible}`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.focusOpacity}))` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)\n }\n },\n [`&.${listItemClasses.disabled}`]: {\n opacity: (theme.vars || theme).palette.action.disabledOpacity\n }\n}, ownerState.alignItems === 'flex-start' && {\n alignItems: 'flex-start'\n}, ownerState.divider && {\n borderBottom: `1px solid ${(theme.vars || theme).palette.divider}`,\n backgroundClip: 'padding-box'\n}, ownerState.button && {\n transition: theme.transitions.create('background-color', {\n duration: theme.transitions.duration.shortest\n }),\n '&:hover': {\n textDecoration: 'none',\n backgroundColor: (theme.vars || theme).palette.action.hover,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${listItemClasses.selected}:hover`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.hoverOpacity}))` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.selectedOpacity})` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity)\n }\n }\n}, ownerState.hasSecondaryAction && {\n // Add some space to avoid collision as `ListItemSecondaryAction`\n // is absolutely positioned.\n paddingRight: 48\n}));\nconst ListItemContainer = styled('li', {\n name: 'MuiListItem',\n slot: 'Container',\n overridesResolver: (props, styles) => styles.container\n})({\n position: 'relative'\n});\n\n/**\n * Uses an additional container component if `ListItemSecondaryAction` is the last child.\n */\nconst ListItem = /*#__PURE__*/React.forwardRef(function ListItem(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiListItem'\n });\n const {\n alignItems = 'center',\n autoFocus = false,\n button = false,\n children: childrenProp,\n className,\n component: componentProp,\n components = {},\n componentsProps = {},\n ContainerComponent = 'li',\n ContainerProps: {\n className: ContainerClassName\n } = {},\n dense = false,\n disabled = false,\n disableGutters = false,\n disablePadding = false,\n divider = false,\n focusVisibleClassName,\n secondaryAction,\n selected = false,\n slotProps = {},\n slots = {}\n } = props,\n ContainerProps = _objectWithoutPropertiesLoose(props.ContainerProps, _excluded),\n other = _objectWithoutPropertiesLoose(props, _excluded2);\n const context = React.useContext(ListContext);\n const childContext = React.useMemo(() => ({\n dense: dense || context.dense || false,\n alignItems,\n disableGutters\n }), [alignItems, context.dense, dense, disableGutters]);\n const listItemRef = React.useRef(null);\n useEnhancedEffect(() => {\n if (autoFocus) {\n if (listItemRef.current) {\n listItemRef.current.focus();\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('MUI: Unable to set focus to a ListItem whose component has not been rendered.');\n }\n }\n }, [autoFocus]);\n const children = React.Children.toArray(childrenProp);\n\n // v4 implementation, deprecated in v5, will be removed in v6\n const hasSecondaryAction = children.length && isMuiElement(children[children.length - 1], ['ListItemSecondaryAction']);\n const ownerState = _extends({}, props, {\n alignItems,\n autoFocus,\n button,\n dense: childContext.dense,\n disabled,\n disableGutters,\n disablePadding,\n divider,\n hasSecondaryAction,\n selected\n });\n const classes = useUtilityClasses(ownerState);\n const handleRef = useForkRef(listItemRef, ref);\n const Root = slots.root || components.Root || ListItemRoot;\n const rootProps = slotProps.root || componentsProps.root || {};\n const componentProps = _extends({\n className: clsx(classes.root, rootProps.className, className),\n disabled\n }, other);\n let Component = componentProp || 'li';\n if (button) {\n componentProps.component = componentProp || 'div';\n componentProps.focusVisibleClassName = clsx(listItemClasses.focusVisible, focusVisibleClassName);\n Component = ButtonBase;\n }\n\n // v4 implementation, deprecated in v5, will be removed in v6\n if (hasSecondaryAction) {\n // Use div by default.\n Component = !componentProps.component && !componentProp ? 'div' : Component;\n\n // Avoid nesting of li > li.\n if (ContainerComponent === 'li') {\n if (Component === 'li') {\n Component = 'div';\n } else if (componentProps.component === 'li') {\n componentProps.component = 'div';\n }\n }\n return /*#__PURE__*/_jsx(ListContext.Provider, {\n value: childContext,\n children: /*#__PURE__*/_jsxs(ListItemContainer, _extends({\n as: ContainerComponent,\n className: clsx(classes.container, ContainerClassName),\n ref: handleRef,\n ownerState: ownerState\n }, ContainerProps, {\n children: [/*#__PURE__*/_jsx(Root, _extends({}, rootProps, !isHostComponent(Root) && {\n as: Component,\n ownerState: _extends({}, ownerState, rootProps.ownerState)\n }, componentProps, {\n children: children\n })), children.pop()]\n }))\n });\n }\n return /*#__PURE__*/_jsx(ListContext.Provider, {\n value: childContext,\n children: /*#__PURE__*/_jsxs(Root, _extends({}, rootProps, {\n as: Component,\n ref: handleRef\n }, !isHostComponent(Root) && {\n ownerState: _extends({}, ownerState, rootProps.ownerState)\n }, componentProps, {\n children: [children, secondaryAction && /*#__PURE__*/_jsx(ListItemSecondaryAction, {\n children: secondaryAction\n })]\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? ListItem.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Defines the `align-items` style property.\n * @default 'center'\n */\n alignItems: PropTypes.oneOf(['center', 'flex-start']),\n /**\n * If `true`, the list item is focused during the first mount.\n * Focus will also be triggered if the value changes from false to true.\n * @default false\n * @deprecated checkout [ListItemButton](/material-ui/api/list-item-button/) instead\n */\n autoFocus: PropTypes.bool,\n /**\n * If `true`, the list item is a button (using `ButtonBase`). Props intended\n * for `ButtonBase` can then be applied to `ListItem`.\n * @default false\n * @deprecated checkout [ListItemButton](/material-ui/api/list-item-button/) instead\n */\n button: PropTypes.bool,\n /**\n * The content of the component if a `ListItemSecondaryAction` is used it must\n * be the last child.\n */\n children: chainPropTypes(PropTypes.node, props => {\n const children = React.Children.toArray(props.children);\n\n // React.Children.toArray(props.children).findLastIndex(isListItemSecondaryAction)\n let secondaryActionIndex = -1;\n for (let i = children.length - 1; i >= 0; i -= 1) {\n const child = children[i];\n if (isMuiElement(child, ['ListItemSecondaryAction'])) {\n secondaryActionIndex = i;\n break;\n }\n }\n\n // is ListItemSecondaryAction the last child of ListItem\n if (secondaryActionIndex !== -1 && secondaryActionIndex !== children.length - 1) {\n return new Error('MUI: You used an element after ListItemSecondaryAction. ' + 'For ListItem to detect that it has a secondary action ' + 'you must pass it as the last child to ListItem.');\n }\n return null;\n }),\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * The components used for each slot inside.\n *\n * This prop is an alias for the `slots` prop.\n * It's recommended to use the `slots` prop instead.\n *\n * @default {}\n */\n components: PropTypes.shape({\n Root: PropTypes.elementType\n }),\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * This prop is an alias for the `slotProps` prop.\n * It's recommended to use the `slotProps` prop instead, as `componentsProps` will be deprecated in the future.\n *\n * @default {}\n */\n componentsProps: PropTypes.shape({\n root: PropTypes.object\n }),\n /**\n * The container component used when a `ListItemSecondaryAction` is the last child.\n * @default 'li'\n * @deprecated\n */\n ContainerComponent: elementTypeAcceptingRef,\n /**\n * Props applied to the container component if used.\n * @default {}\n * @deprecated\n */\n ContainerProps: PropTypes.object,\n /**\n * If `true`, compact vertical padding designed for keyboard and mouse input is used.\n * The prop defaults to the value inherited from the parent List component.\n * @default false\n */\n dense: PropTypes.bool,\n /**\n * If `true`, the component is disabled.\n * @default false\n * @deprecated checkout [ListItemButton](/material-ui/api/list-item-button/) instead\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the left and right padding is removed.\n * @default false\n */\n disableGutters: PropTypes.bool,\n /**\n * If `true`, all padding is removed.\n * @default false\n */\n disablePadding: PropTypes.bool,\n /**\n * If `true`, a 1px light border is added to the bottom of the list item.\n * @default false\n */\n divider: PropTypes.bool,\n /**\n * @ignore\n */\n focusVisibleClassName: PropTypes.string,\n /**\n * The element to display at the end of ListItem.\n */\n secondaryAction: PropTypes.node,\n /**\n * Use to apply selected styling.\n * @default false\n * @deprecated checkout [ListItemButton](/material-ui/api/list-item-button/) instead\n */\n selected: PropTypes.bool,\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * This prop is an alias for the `componentsProps` prop, which will be deprecated in the future.\n *\n * @default {}\n */\n slotProps: PropTypes.shape({\n root: PropTypes.object\n }),\n /**\n * The components used for each slot inside.\n *\n * This prop is an alias for the `components` prop, which will be deprecated in the future.\n *\n * @default {}\n */\n slots: PropTypes.shape({\n root: PropTypes.elementType\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default ListItem;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getListItemAvatarUtilityClass(slot) {\n return generateUtilityClass('MuiListItemAvatar', slot);\n}\nconst listItemAvatarClasses = generateUtilityClasses('MuiListItemAvatar', ['root', 'alignItemsFlexStart']);\nexport default listItemAvatarClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport ListContext from '../List/ListContext';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport { getListItemAvatarUtilityClass } from './listItemAvatarClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n alignItems,\n classes\n } = ownerState;\n const slots = {\n root: ['root', alignItems === 'flex-start' && 'alignItemsFlexStart']\n };\n return composeClasses(slots, getListItemAvatarUtilityClass, classes);\n};\nconst ListItemAvatarRoot = styled('div', {\n name: 'MuiListItemAvatar',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.alignItems === 'flex-start' && styles.alignItemsFlexStart];\n }\n})(({\n ownerState\n}) => _extends({\n minWidth: 56,\n flexShrink: 0\n}, ownerState.alignItems === 'flex-start' && {\n marginTop: 8\n}));\n\n/**\n * A simple wrapper to apply `List` styles to an `Avatar`.\n */\nconst ListItemAvatar = /*#__PURE__*/React.forwardRef(function ListItemAvatar(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiListItemAvatar'\n });\n const {\n className\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const context = React.useContext(ListContext);\n const ownerState = _extends({}, props, {\n alignItems: context.alignItems\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(ListItemAvatarRoot, _extends({\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? ListItemAvatar.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component, normally an `Avatar`.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default ListItemAvatar;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getListItemIconUtilityClass(slot) {\n return generateUtilityClass('MuiListItemIcon', slot);\n}\nconst listItemIconClasses = generateUtilityClasses('MuiListItemIcon', ['root', 'alignItemsFlexStart']);\nexport default listItemIconClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport { getListItemIconUtilityClass } from './listItemIconClasses';\nimport ListContext from '../List/ListContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n alignItems,\n classes\n } = ownerState;\n const slots = {\n root: ['root', alignItems === 'flex-start' && 'alignItemsFlexStart']\n };\n return composeClasses(slots, getListItemIconUtilityClass, classes);\n};\nconst ListItemIconRoot = styled('div', {\n name: 'MuiListItemIcon',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.alignItems === 'flex-start' && styles.alignItemsFlexStart];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n minWidth: 56,\n color: (theme.vars || theme).palette.action.active,\n flexShrink: 0,\n display: 'inline-flex'\n}, ownerState.alignItems === 'flex-start' && {\n marginTop: 8\n}));\n\n/**\n * A simple wrapper to apply `List` styles to an `Icon` or `SvgIcon`.\n */\nconst ListItemIcon = /*#__PURE__*/React.forwardRef(function ListItemIcon(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiListItemIcon'\n });\n const {\n className\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const context = React.useContext(ListContext);\n const ownerState = _extends({}, props, {\n alignItems: context.alignItems\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(ListItemIconRoot, _extends({\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? ListItemIcon.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component, normally `Icon`, `SvgIcon`,\n * or a `@mui/icons-material` SVG icon element.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default ListItemIcon;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getListItemTextUtilityClass(slot) {\n return generateUtilityClass('MuiListItemText', slot);\n}\nconst listItemTextClasses = generateUtilityClasses('MuiListItemText', ['root', 'multiline', 'dense', 'inset', 'primary', 'secondary']);\nexport default listItemTextClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"className\", \"disableTypography\", \"inset\", \"primary\", \"primaryTypographyProps\", \"secondary\", \"secondaryTypographyProps\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport Typography from '../Typography';\nimport ListContext from '../List/ListContext';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport listItemTextClasses, { getListItemTextUtilityClass } from './listItemTextClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n inset,\n primary,\n secondary,\n dense\n } = ownerState;\n const slots = {\n root: ['root', inset && 'inset', dense && 'dense', primary && secondary && 'multiline'],\n primary: ['primary'],\n secondary: ['secondary']\n };\n return composeClasses(slots, getListItemTextUtilityClass, classes);\n};\nconst ListItemTextRoot = styled('div', {\n name: 'MuiListItemText',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [{\n [`& .${listItemTextClasses.primary}`]: styles.primary\n }, {\n [`& .${listItemTextClasses.secondary}`]: styles.secondary\n }, styles.root, ownerState.inset && styles.inset, ownerState.primary && ownerState.secondary && styles.multiline, ownerState.dense && styles.dense];\n }\n})(({\n ownerState\n}) => _extends({\n flex: '1 1 auto',\n minWidth: 0,\n marginTop: 4,\n marginBottom: 4\n}, ownerState.primary && ownerState.secondary && {\n marginTop: 6,\n marginBottom: 6\n}, ownerState.inset && {\n paddingLeft: 56\n}));\nconst ListItemText = /*#__PURE__*/React.forwardRef(function ListItemText(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiListItemText'\n });\n const {\n children,\n className,\n disableTypography = false,\n inset = false,\n primary: primaryProp,\n primaryTypographyProps,\n secondary: secondaryProp,\n secondaryTypographyProps\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const {\n dense\n } = React.useContext(ListContext);\n let primary = primaryProp != null ? primaryProp : children;\n let secondary = secondaryProp;\n const ownerState = _extends({}, props, {\n disableTypography,\n inset,\n primary: !!primary,\n secondary: !!secondary,\n dense\n });\n const classes = useUtilityClasses(ownerState);\n if (primary != null && primary.type !== Typography && !disableTypography) {\n primary = /*#__PURE__*/_jsx(Typography, _extends({\n variant: dense ? 'body2' : 'body1',\n className: classes.primary,\n component: primaryTypographyProps != null && primaryTypographyProps.variant ? undefined : 'span',\n display: \"block\"\n }, primaryTypographyProps, {\n children: primary\n }));\n }\n if (secondary != null && secondary.type !== Typography && !disableTypography) {\n secondary = /*#__PURE__*/_jsx(Typography, _extends({\n variant: \"body2\",\n className: classes.secondary,\n color: \"text.secondary\",\n display: \"block\"\n }, secondaryTypographyProps, {\n children: secondary\n }));\n }\n return /*#__PURE__*/_jsxs(ListItemTextRoot, _extends({\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref\n }, other, {\n children: [primary, secondary]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? ListItemText.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Alias for the `primary` prop.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * If `true`, the children won't be wrapped by a Typography component.\n * This can be useful to render an alternative Typography variant by wrapping\n * the `children` (or `primary`) text, and optional `secondary` text\n * with the Typography component.\n * @default false\n */\n disableTypography: PropTypes.bool,\n /**\n * If `true`, the children are indented.\n * This should be used if there is no left avatar or left icon.\n * @default false\n */\n inset: PropTypes.bool,\n /**\n * The main content element.\n */\n primary: PropTypes.node,\n /**\n * These props will be forwarded to the primary typography component\n * (as long as disableTypography is not `true`).\n */\n primaryTypographyProps: PropTypes.object,\n /**\n * The secondary content element.\n */\n secondary: PropTypes.node,\n /**\n * These props will be forwarded to the secondary typography component\n * (as long as disableTypography is not `true`).\n */\n secondaryTypographyProps: PropTypes.object,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default ListItemText;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"actions\", \"autoFocus\", \"autoFocusItem\", \"children\", \"className\", \"disabledItemsFocusable\", \"disableListWrap\", \"onKeyDown\", \"variant\"];\nimport * as React from 'react';\nimport { isFragment } from 'react-is';\nimport PropTypes from 'prop-types';\nimport ownerDocument from '../utils/ownerDocument';\nimport List from '../List';\nimport getScrollbarSize from '../utils/getScrollbarSize';\nimport useForkRef from '../utils/useForkRef';\nimport useEnhancedEffect from '../utils/useEnhancedEffect';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction nextItem(list, item, disableListWrap) {\n if (list === item) {\n return list.firstChild;\n }\n if (item && item.nextElementSibling) {\n return item.nextElementSibling;\n }\n return disableListWrap ? null : list.firstChild;\n}\nfunction previousItem(list, item, disableListWrap) {\n if (list === item) {\n return disableListWrap ? list.firstChild : list.lastChild;\n }\n if (item && item.previousElementSibling) {\n return item.previousElementSibling;\n }\n return disableListWrap ? null : list.lastChild;\n}\nfunction textCriteriaMatches(nextFocus, textCriteria) {\n if (textCriteria === undefined) {\n return true;\n }\n let text = nextFocus.innerText;\n if (text === undefined) {\n // jsdom doesn't support innerText\n text = nextFocus.textContent;\n }\n text = text.trim().toLowerCase();\n if (text.length === 0) {\n return false;\n }\n if (textCriteria.repeating) {\n return text[0] === textCriteria.keys[0];\n }\n return text.indexOf(textCriteria.keys.join('')) === 0;\n}\nfunction moveFocus(list, currentFocus, disableListWrap, disabledItemsFocusable, traversalFunction, textCriteria) {\n let wrappedOnce = false;\n let nextFocus = traversalFunction(list, currentFocus, currentFocus ? disableListWrap : false);\n while (nextFocus) {\n // Prevent infinite loop.\n if (nextFocus === list.firstChild) {\n if (wrappedOnce) {\n return false;\n }\n wrappedOnce = true;\n }\n\n // Same logic as useAutocomplete.js\n const nextFocusDisabled = disabledItemsFocusable ? false : nextFocus.disabled || nextFocus.getAttribute('aria-disabled') === 'true';\n if (!nextFocus.hasAttribute('tabindex') || !textCriteriaMatches(nextFocus, textCriteria) || nextFocusDisabled) {\n // Move to the next element.\n nextFocus = traversalFunction(list, nextFocus, disableListWrap);\n } else {\n nextFocus.focus();\n return true;\n }\n }\n return false;\n}\n\n/**\n * A permanently displayed menu following https://www.w3.org/WAI/ARIA/apg/patterns/menu-button/.\n * It's exposed to help customization of the [`Menu`](/material-ui/api/menu/) component if you\n * use it separately you need to move focus into the component manually. Once\n * the focus is placed inside the component it is fully keyboard accessible.\n */\nconst MenuList = /*#__PURE__*/React.forwardRef(function MenuList(props, ref) {\n const {\n // private\n // eslint-disable-next-line react/prop-types\n actions,\n autoFocus = false,\n autoFocusItem = false,\n children,\n className,\n disabledItemsFocusable = false,\n disableListWrap = false,\n onKeyDown,\n variant = 'selectedMenu'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const listRef = React.useRef(null);\n const textCriteriaRef = React.useRef({\n keys: [],\n repeating: true,\n previousKeyMatched: true,\n lastTime: null\n });\n useEnhancedEffect(() => {\n if (autoFocus) {\n listRef.current.focus();\n }\n }, [autoFocus]);\n React.useImperativeHandle(actions, () => ({\n adjustStyleForScrollbar: (containerElement, {\n direction\n }) => {\n // Let's ignore that piece of logic if users are already overriding the width\n // of the menu.\n const noExplicitWidth = !listRef.current.style.width;\n if (containerElement.clientHeight < listRef.current.clientHeight && noExplicitWidth) {\n const scrollbarSize = `${getScrollbarSize(ownerDocument(containerElement))}px`;\n listRef.current.style[direction === 'rtl' ? 'paddingLeft' : 'paddingRight'] = scrollbarSize;\n listRef.current.style.width = `calc(100% + ${scrollbarSize})`;\n }\n return listRef.current;\n }\n }), []);\n const handleKeyDown = event => {\n const list = listRef.current;\n const key = event.key;\n /**\n * @type {Element} - will always be defined since we are in a keydown handler\n * attached to an element. A keydown event is either dispatched to the activeElement\n * or document.body or document.documentElement. Only the first case will\n * trigger this specific handler.\n */\n const currentFocus = ownerDocument(list).activeElement;\n if (key === 'ArrowDown') {\n // Prevent scroll of the page\n event.preventDefault();\n moveFocus(list, currentFocus, disableListWrap, disabledItemsFocusable, nextItem);\n } else if (key === 'ArrowUp') {\n event.preventDefault();\n moveFocus(list, currentFocus, disableListWrap, disabledItemsFocusable, previousItem);\n } else if (key === 'Home') {\n event.preventDefault();\n moveFocus(list, null, disableListWrap, disabledItemsFocusable, nextItem);\n } else if (key === 'End') {\n event.preventDefault();\n moveFocus(list, null, disableListWrap, disabledItemsFocusable, previousItem);\n } else if (key.length === 1) {\n const criteria = textCriteriaRef.current;\n const lowerKey = key.toLowerCase();\n const currTime = performance.now();\n if (criteria.keys.length > 0) {\n // Reset\n if (currTime - criteria.lastTime > 500) {\n criteria.keys = [];\n criteria.repeating = true;\n criteria.previousKeyMatched = true;\n } else if (criteria.repeating && lowerKey !== criteria.keys[0]) {\n criteria.repeating = false;\n }\n }\n criteria.lastTime = currTime;\n criteria.keys.push(lowerKey);\n const keepFocusOnCurrent = currentFocus && !criteria.repeating && textCriteriaMatches(currentFocus, criteria);\n if (criteria.previousKeyMatched && (keepFocusOnCurrent || moveFocus(list, currentFocus, false, disabledItemsFocusable, nextItem, criteria))) {\n event.preventDefault();\n } else {\n criteria.previousKeyMatched = false;\n }\n }\n if (onKeyDown) {\n onKeyDown(event);\n }\n };\n const handleRef = useForkRef(listRef, ref);\n\n /**\n * the index of the item should receive focus\n * in a `variant=\"selectedMenu\"` it's the first `selected` item\n * otherwise it's the very first item.\n */\n let activeItemIndex = -1;\n // since we inject focus related props into children we have to do a lookahead\n // to check if there is a `selected` item. We're looking for the last `selected`\n // item and use the first valid item as a fallback\n React.Children.forEach(children, (child, index) => {\n if (! /*#__PURE__*/React.isValidElement(child)) {\n if (activeItemIndex === index) {\n activeItemIndex += 1;\n if (activeItemIndex >= children.length) {\n // there are no focusable items within the list.\n activeItemIndex = -1;\n }\n }\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n if (isFragment(child)) {\n console.error([\"MUI: The Menu component doesn't accept a Fragment as a child.\", 'Consider providing an array instead.'].join('\\n'));\n }\n }\n if (!child.props.disabled) {\n if (variant === 'selectedMenu' && child.props.selected) {\n activeItemIndex = index;\n } else if (activeItemIndex === -1) {\n activeItemIndex = index;\n }\n }\n if (activeItemIndex === index && (child.props.disabled || child.props.muiSkipListHighlight || child.type.muiSkipListHighlight)) {\n activeItemIndex += 1;\n if (activeItemIndex >= children.length) {\n // there are no focusable items within the list.\n activeItemIndex = -1;\n }\n }\n });\n const items = React.Children.map(children, (child, index) => {\n if (index === activeItemIndex) {\n const newChildProps = {};\n if (autoFocusItem) {\n newChildProps.autoFocus = true;\n }\n if (child.props.tabIndex === undefined && variant === 'selectedMenu') {\n newChildProps.tabIndex = 0;\n }\n return /*#__PURE__*/React.cloneElement(child, newChildProps);\n }\n return child;\n });\n return /*#__PURE__*/_jsx(List, _extends({\n role: \"menu\",\n ref: handleRef,\n className: className,\n onKeyDown: handleKeyDown,\n tabIndex: autoFocus ? 0 : -1\n }, other, {\n children: items\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? MenuList.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * If `true`, will focus the `[role=\"menu\"]` container and move into tab order.\n * @default false\n */\n autoFocus: PropTypes.bool,\n /**\n * If `true`, will focus the first menuitem if `variant=\"menu\"` or selected item\n * if `variant=\"selectedMenu\"`.\n * @default false\n */\n autoFocusItem: PropTypes.bool,\n /**\n * MenuList contents, normally `MenuItem`s.\n */\n children: PropTypes.node,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * If `true`, will allow focus on disabled items.\n * @default false\n */\n disabledItemsFocusable: PropTypes.bool,\n /**\n * If `true`, the menu items will not wrap focus.\n * @default false\n */\n disableListWrap: PropTypes.bool,\n /**\n * @ignore\n */\n onKeyDown: PropTypes.func,\n /**\n * The variant to use. Use `menu` to prevent selected items from impacting the initial focus\n * and the vertical alignment relative to the anchor element.\n * @default 'selectedMenu'\n */\n variant: PropTypes.oneOf(['menu', 'selectedMenu'])\n} : void 0;\nexport default MenuList;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getPopoverUtilityClass(slot) {\n return generateUtilityClass('MuiPopover', slot);\n}\nconst popoverClasses = generateUtilityClasses('MuiPopover', ['root', 'paper']);\nexport default popoverClasses;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"onEntering\"],\n _excluded2 = [\"action\", \"anchorEl\", \"anchorOrigin\", \"anchorPosition\", \"anchorReference\", \"children\", \"className\", \"container\", \"elevation\", \"marginThreshold\", \"open\", \"PaperProps\", \"slots\", \"slotProps\", \"transformOrigin\", \"TransitionComponent\", \"transitionDuration\", \"TransitionProps\", \"disableScrollLock\"],\n _excluded3 = [\"slotProps\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { useSlotProps, isHostComponent } from '@mui/base/utils';\nimport composeClasses from '@mui/utils/composeClasses';\nimport HTMLElementType from '@mui/utils/HTMLElementType';\nimport refType from '@mui/utils/refType';\nimport elementTypeAcceptingRef from '@mui/utils/elementTypeAcceptingRef';\nimport integerPropType from '@mui/utils/integerPropType';\nimport chainPropTypes from '@mui/utils/chainPropTypes';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport debounce from '../utils/debounce';\nimport ownerDocument from '../utils/ownerDocument';\nimport ownerWindow from '../utils/ownerWindow';\nimport useForkRef from '../utils/useForkRef';\nimport Grow from '../Grow';\nimport Modal from '../Modal';\nimport PaperBase from '../Paper';\nimport { getPopoverUtilityClass } from './popoverClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport function getOffsetTop(rect, vertical) {\n let offset = 0;\n if (typeof vertical === 'number') {\n offset = vertical;\n } else if (vertical === 'center') {\n offset = rect.height / 2;\n } else if (vertical === 'bottom') {\n offset = rect.height;\n }\n return offset;\n}\nexport function getOffsetLeft(rect, horizontal) {\n let offset = 0;\n if (typeof horizontal === 'number') {\n offset = horizontal;\n } else if (horizontal === 'center') {\n offset = rect.width / 2;\n } else if (horizontal === 'right') {\n offset = rect.width;\n }\n return offset;\n}\nfunction getTransformOriginValue(transformOrigin) {\n return [transformOrigin.horizontal, transformOrigin.vertical].map(n => typeof n === 'number' ? `${n}px` : n).join(' ');\n}\nfunction resolveAnchorEl(anchorEl) {\n return typeof anchorEl === 'function' ? anchorEl() : anchorEl;\n}\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root'],\n paper: ['paper']\n };\n return composeClasses(slots, getPopoverUtilityClass, classes);\n};\nexport const PopoverRoot = styled(Modal, {\n name: 'MuiPopover',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({});\nexport const PopoverPaper = styled(PaperBase, {\n name: 'MuiPopover',\n slot: 'Paper',\n overridesResolver: (props, styles) => styles.paper\n})({\n position: 'absolute',\n overflowY: 'auto',\n overflowX: 'hidden',\n // So we see the popover when it's empty.\n // It's most likely on issue on userland.\n minWidth: 16,\n minHeight: 16,\n maxWidth: 'calc(100% - 32px)',\n maxHeight: 'calc(100% - 32px)',\n // We disable the focus ring for mouse, touch and keyboard users.\n outline: 0\n});\nconst Popover = /*#__PURE__*/React.forwardRef(function Popover(inProps, ref) {\n var _slotProps$paper, _slots$root, _slots$paper;\n const props = useThemeProps({\n props: inProps,\n name: 'MuiPopover'\n });\n const {\n action,\n anchorEl,\n anchorOrigin = {\n vertical: 'top',\n horizontal: 'left'\n },\n anchorPosition,\n anchorReference = 'anchorEl',\n children,\n className,\n container: containerProp,\n elevation = 8,\n marginThreshold = 16,\n open,\n PaperProps: PaperPropsProp = {},\n slots,\n slotProps,\n transformOrigin = {\n vertical: 'top',\n horizontal: 'left'\n },\n TransitionComponent = Grow,\n transitionDuration: transitionDurationProp = 'auto',\n TransitionProps: {\n onEntering\n } = {},\n disableScrollLock = false\n } = props,\n TransitionProps = _objectWithoutPropertiesLoose(props.TransitionProps, _excluded),\n other = _objectWithoutPropertiesLoose(props, _excluded2);\n const externalPaperSlotProps = (_slotProps$paper = slotProps == null ? void 0 : slotProps.paper) != null ? _slotProps$paper : PaperPropsProp;\n const paperRef = React.useRef();\n const handlePaperRef = useForkRef(paperRef, externalPaperSlotProps.ref);\n const ownerState = _extends({}, props, {\n anchorOrigin,\n anchorReference,\n elevation,\n marginThreshold,\n externalPaperSlotProps,\n transformOrigin,\n TransitionComponent,\n transitionDuration: transitionDurationProp,\n TransitionProps\n });\n const classes = useUtilityClasses(ownerState);\n\n // Returns the top/left offset of the position\n // to attach to on the anchor element (or body if none is provided)\n const getAnchorOffset = React.useCallback(() => {\n if (anchorReference === 'anchorPosition') {\n if (process.env.NODE_ENV !== 'production') {\n if (!anchorPosition) {\n console.error('MUI: You need to provide a `anchorPosition` prop when using ' + '<Popover anchorReference=\"anchorPosition\" />.');\n }\n }\n return anchorPosition;\n }\n const resolvedAnchorEl = resolveAnchorEl(anchorEl);\n\n // If an anchor element wasn't provided, just use the parent body element of this Popover\n const anchorElement = resolvedAnchorEl && resolvedAnchorEl.nodeType === 1 ? resolvedAnchorEl : ownerDocument(paperRef.current).body;\n const anchorRect = anchorElement.getBoundingClientRect();\n if (process.env.NODE_ENV !== 'production') {\n const box = anchorElement.getBoundingClientRect();\n if (process.env.NODE_ENV !== 'test' && box.top === 0 && box.left === 0 && box.right === 0 && box.bottom === 0) {\n console.warn(['MUI: The `anchorEl` prop provided to the component is invalid.', 'The anchor element should be part of the document layout.', \"Make sure the element is present in the document or that it's not display none.\"].join('\\n'));\n }\n }\n return {\n top: anchorRect.top + getOffsetTop(anchorRect, anchorOrigin.vertical),\n left: anchorRect.left + getOffsetLeft(anchorRect, anchorOrigin.horizontal)\n };\n }, [anchorEl, anchorOrigin.horizontal, anchorOrigin.vertical, anchorPosition, anchorReference]);\n\n // Returns the base transform origin using the element\n const getTransformOrigin = React.useCallback(elemRect => {\n return {\n vertical: getOffsetTop(elemRect, transformOrigin.vertical),\n horizontal: getOffsetLeft(elemRect, transformOrigin.horizontal)\n };\n }, [transformOrigin.horizontal, transformOrigin.vertical]);\n const getPositioningStyle = React.useCallback(element => {\n const elemRect = {\n width: element.offsetWidth,\n height: element.offsetHeight\n };\n\n // Get the transform origin point on the element itself\n const elemTransformOrigin = getTransformOrigin(elemRect);\n if (anchorReference === 'none') {\n return {\n top: null,\n left: null,\n transformOrigin: getTransformOriginValue(elemTransformOrigin)\n };\n }\n\n // Get the offset of the anchoring element\n const anchorOffset = getAnchorOffset();\n\n // Calculate element positioning\n let top = anchorOffset.top - elemTransformOrigin.vertical;\n let left = anchorOffset.left - elemTransformOrigin.horizontal;\n const bottom = top + elemRect.height;\n const right = left + elemRect.width;\n\n // Use the parent window of the anchorEl if provided\n const containerWindow = ownerWindow(resolveAnchorEl(anchorEl));\n\n // Window thresholds taking required margin into account\n const heightThreshold = containerWindow.innerHeight - marginThreshold;\n const widthThreshold = containerWindow.innerWidth - marginThreshold;\n\n // Check if the vertical axis needs shifting\n if (marginThreshold !== null && top < marginThreshold) {\n const diff = top - marginThreshold;\n top -= diff;\n elemTransformOrigin.vertical += diff;\n } else if (marginThreshold !== null && bottom > heightThreshold) {\n const diff = bottom - heightThreshold;\n top -= diff;\n elemTransformOrigin.vertical += diff;\n }\n if (process.env.NODE_ENV !== 'production') {\n if (elemRect.height > heightThreshold && elemRect.height && heightThreshold) {\n console.error(['MUI: The popover component is too tall.', `Some part of it can not be seen on the screen (${elemRect.height - heightThreshold}px).`, 'Please consider adding a `max-height` to improve the user-experience.'].join('\\n'));\n }\n }\n\n // Check if the horizontal axis needs shifting\n if (marginThreshold !== null && left < marginThreshold) {\n const diff = left - marginThreshold;\n left -= diff;\n elemTransformOrigin.horizontal += diff;\n } else if (right > widthThreshold) {\n const diff = right - widthThreshold;\n left -= diff;\n elemTransformOrigin.horizontal += diff;\n }\n return {\n top: `${Math.round(top)}px`,\n left: `${Math.round(left)}px`,\n transformOrigin: getTransformOriginValue(elemTransformOrigin)\n };\n }, [anchorEl, anchorReference, getAnchorOffset, getTransformOrigin, marginThreshold]);\n const [isPositioned, setIsPositioned] = React.useState(open);\n const setPositioningStyles = React.useCallback(() => {\n const element = paperRef.current;\n if (!element) {\n return;\n }\n const positioning = getPositioningStyle(element);\n if (positioning.top !== null) {\n element.style.top = positioning.top;\n }\n if (positioning.left !== null) {\n element.style.left = positioning.left;\n }\n element.style.transformOrigin = positioning.transformOrigin;\n setIsPositioned(true);\n }, [getPositioningStyle]);\n React.useEffect(() => {\n if (disableScrollLock) {\n window.addEventListener('scroll', setPositioningStyles);\n }\n return () => window.removeEventListener('scroll', setPositioningStyles);\n }, [anchorEl, disableScrollLock, setPositioningStyles]);\n const handleEntering = (element, isAppearing) => {\n if (onEntering) {\n onEntering(element, isAppearing);\n }\n setPositioningStyles();\n };\n const handleExited = () => {\n setIsPositioned(false);\n };\n React.useEffect(() => {\n if (open) {\n setPositioningStyles();\n }\n });\n React.useImperativeHandle(action, () => open ? {\n updatePosition: () => {\n setPositioningStyles();\n }\n } : null, [open, setPositioningStyles]);\n React.useEffect(() => {\n if (!open) {\n return undefined;\n }\n const handleResize = debounce(() => {\n setPositioningStyles();\n });\n const containerWindow = ownerWindow(anchorEl);\n containerWindow.addEventListener('resize', handleResize);\n return () => {\n handleResize.clear();\n containerWindow.removeEventListener('resize', handleResize);\n };\n }, [anchorEl, open, setPositioningStyles]);\n let transitionDuration = transitionDurationProp;\n if (transitionDurationProp === 'auto' && !TransitionComponent.muiSupportAuto) {\n transitionDuration = undefined;\n }\n\n // If the container prop is provided, use that\n // If the anchorEl prop is provided, use its parent body element as the container\n // If neither are provided let the Modal take care of choosing the container\n const container = containerProp || (anchorEl ? ownerDocument(resolveAnchorEl(anchorEl)).body : undefined);\n const RootSlot = (_slots$root = slots == null ? void 0 : slots.root) != null ? _slots$root : PopoverRoot;\n const PaperSlot = (_slots$paper = slots == null ? void 0 : slots.paper) != null ? _slots$paper : PopoverPaper;\n const paperProps = useSlotProps({\n elementType: PaperSlot,\n externalSlotProps: _extends({}, externalPaperSlotProps, {\n style: isPositioned ? externalPaperSlotProps.style : _extends({}, externalPaperSlotProps.style, {\n opacity: 0\n })\n }),\n additionalProps: {\n elevation,\n ref: handlePaperRef\n },\n ownerState,\n className: clsx(classes.paper, externalPaperSlotProps == null ? void 0 : externalPaperSlotProps.className)\n });\n const _useSlotProps = useSlotProps({\n elementType: RootSlot,\n externalSlotProps: (slotProps == null ? void 0 : slotProps.root) || {},\n externalForwardedProps: other,\n additionalProps: {\n ref,\n slotProps: {\n backdrop: {\n invisible: true\n }\n },\n container,\n open\n },\n ownerState,\n className: clsx(classes.root, className)\n }),\n {\n slotProps: rootSlotPropsProp\n } = _useSlotProps,\n rootProps = _objectWithoutPropertiesLoose(_useSlotProps, _excluded3);\n return /*#__PURE__*/_jsx(RootSlot, _extends({}, rootProps, !isHostComponent(RootSlot) && {\n slotProps: rootSlotPropsProp,\n disableScrollLock\n }, {\n children: /*#__PURE__*/_jsx(TransitionComponent, _extends({\n appear: true,\n in: open,\n onEntering: handleEntering,\n onExited: handleExited,\n timeout: transitionDuration\n }, TransitionProps, {\n children: /*#__PURE__*/_jsx(PaperSlot, _extends({}, paperProps, {\n children: children\n }))\n }))\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Popover.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * A ref for imperative actions.\n * It currently only supports updatePosition() action.\n */\n action: refType,\n /**\n * An HTML element, [PopoverVirtualElement](/material-ui/react-popover/#virtual-element),\n * or a function that returns either.\n * It's used to set the position of the popover.\n */\n anchorEl: chainPropTypes(PropTypes.oneOfType([HTMLElementType, PropTypes.func]), props => {\n if (props.open && (!props.anchorReference || props.anchorReference === 'anchorEl')) {\n const resolvedAnchorEl = resolveAnchorEl(props.anchorEl);\n if (resolvedAnchorEl && resolvedAnchorEl.nodeType === 1) {\n const box = resolvedAnchorEl.getBoundingClientRect();\n if (process.env.NODE_ENV !== 'test' && box.top === 0 && box.left === 0 && box.right === 0 && box.bottom === 0) {\n return new Error(['MUI: The `anchorEl` prop provided to the component is invalid.', 'The anchor element should be part of the document layout.', \"Make sure the element is present in the document or that it's not display none.\"].join('\\n'));\n }\n } else {\n return new Error(['MUI: The `anchorEl` prop provided to the component is invalid.', `It should be an Element or PopoverVirtualElement instance but it's \\`${resolvedAnchorEl}\\` instead.`].join('\\n'));\n }\n }\n return null;\n }),\n /**\n * This is the point on the anchor where the popover's\n * `anchorEl` will attach to. This is not used when the\n * anchorReference is 'anchorPosition'.\n *\n * Options:\n * vertical: [top, center, bottom];\n * horizontal: [left, center, right].\n * @default {\n * vertical: 'top',\n * horizontal: 'left',\n * }\n */\n anchorOrigin: PropTypes.shape({\n horizontal: PropTypes.oneOfType([PropTypes.oneOf(['center', 'left', 'right']), PropTypes.number]).isRequired,\n vertical: PropTypes.oneOfType([PropTypes.oneOf(['bottom', 'center', 'top']), PropTypes.number]).isRequired\n }),\n /**\n * This is the position that may be used to set the position of the popover.\n * The coordinates are relative to the application's client area.\n */\n anchorPosition: PropTypes.shape({\n left: PropTypes.number.isRequired,\n top: PropTypes.number.isRequired\n }),\n /**\n * This determines which anchor prop to refer to when setting\n * the position of the popover.\n * @default 'anchorEl'\n */\n anchorReference: PropTypes.oneOf(['anchorEl', 'anchorPosition', 'none']),\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * An HTML element, component instance, or function that returns either.\n * The `container` will passed to the Modal component.\n *\n * By default, it uses the body of the anchorEl's top-level document object,\n * so it's simply `document.body` most of the time.\n */\n container: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([HTMLElementType, PropTypes.func]),\n /**\n * Disable the scroll lock behavior.\n * @default false\n */\n disableScrollLock: PropTypes.bool,\n /**\n * The elevation of the popover.\n * @default 8\n */\n elevation: integerPropType,\n /**\n * Specifies how close to the edge of the window the popover can appear.\n * If null, the popover will not be constrained by the window.\n * @default 16\n */\n marginThreshold: PropTypes.number,\n /**\n * Callback fired when the component requests to be closed.\n * The `reason` parameter can optionally be used to control the response to `onClose`.\n */\n onClose: PropTypes.func,\n /**\n * If `true`, the component is shown.\n */\n open: PropTypes.bool.isRequired,\n /**\n * Props applied to the [`Paper`](/material-ui/api/paper/) element.\n *\n * This prop is an alias for `slotProps.paper` and will be overriden by it if both are used.\n * @deprecated Use `slotProps.paper` instead.\n *\n * @default {}\n */\n PaperProps: PropTypes /* @typescript-to-proptypes-ignore */.shape({\n component: elementTypeAcceptingRef\n }),\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * @default {}\n */\n slotProps: PropTypes.shape({\n paper: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n root: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside.\n *\n * @default {}\n */\n slots: PropTypes.shape({\n paper: PropTypes.elementType,\n root: PropTypes.elementType\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * This is the point on the popover which\n * will attach to the anchor's origin.\n *\n * Options:\n * vertical: [top, center, bottom, x(px)];\n * horizontal: [left, center, right, x(px)].\n * @default {\n * vertical: 'top',\n * horizontal: 'left',\n * }\n */\n transformOrigin: PropTypes.shape({\n horizontal: PropTypes.oneOfType([PropTypes.oneOf(['center', 'left', 'right']), PropTypes.number]).isRequired,\n vertical: PropTypes.oneOfType([PropTypes.oneOf(['bottom', 'center', 'top']), PropTypes.number]).isRequired\n }),\n /**\n * The component used for the transition.\n * [Follow this guide](/material-ui/transitions/#transitioncomponent-prop) to learn more about the requirements for this component.\n * @default Grow\n */\n TransitionComponent: PropTypes.elementType,\n /**\n * Set to 'auto' to automatically calculate transition time based on height.\n * @default 'auto'\n */\n transitionDuration: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.number, PropTypes.shape({\n appear: PropTypes.number,\n enter: PropTypes.number,\n exit: PropTypes.number\n })]),\n /**\n * Props applied to the transition element.\n * By default, the element is based on this [`Transition`](https://reactcommunity.org/react-transition-group/transition/) component.\n * @default {}\n */\n TransitionProps: PropTypes.object\n} : void 0;\nexport default Popover;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getMenuUtilityClass(slot) {\n return generateUtilityClass('MuiMenu', slot);\n}\nconst menuClasses = generateUtilityClasses('MuiMenu', ['root', 'paper', 'list']);\nexport default menuClasses;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"onEntering\"],\n _excluded2 = [\"autoFocus\", \"children\", \"className\", \"disableAutoFocusItem\", \"MenuListProps\", \"onClose\", \"open\", \"PaperProps\", \"PopoverClasses\", \"transitionDuration\", \"TransitionProps\", \"variant\", \"slots\", \"slotProps\"];\nimport * as React from 'react';\nimport { isFragment } from 'react-is';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { useSlotProps } from '@mui/base/utils';\nimport HTMLElementType from '@mui/utils/HTMLElementType';\nimport { useRtl } from '@mui/system/RtlProvider';\nimport MenuList from '../MenuList';\nimport Popover, { PopoverPaper } from '../Popover';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport { getMenuUtilityClass } from './menuClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst RTL_ORIGIN = {\n vertical: 'top',\n horizontal: 'right'\n};\nconst LTR_ORIGIN = {\n vertical: 'top',\n horizontal: 'left'\n};\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root'],\n paper: ['paper'],\n list: ['list']\n };\n return composeClasses(slots, getMenuUtilityClass, classes);\n};\nconst MenuRoot = styled(Popover, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiMenu',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({});\nexport const MenuPaper = styled(PopoverPaper, {\n name: 'MuiMenu',\n slot: 'Paper',\n overridesResolver: (props, styles) => styles.paper\n})({\n // specZ: The maximum height of a simple menu should be one or more rows less than the view\n // height. This ensures a tappable area outside of the simple menu with which to dismiss\n // the menu.\n maxHeight: 'calc(100% - 96px)',\n // Add iOS momentum scrolling for iOS < 13.0\n WebkitOverflowScrolling: 'touch'\n});\nconst MenuMenuList = styled(MenuList, {\n name: 'MuiMenu',\n slot: 'List',\n overridesResolver: (props, styles) => styles.list\n})({\n // We disable the focus ring for mouse, touch and keyboard users.\n outline: 0\n});\nconst Menu = /*#__PURE__*/React.forwardRef(function Menu(inProps, ref) {\n var _slots$paper, _slotProps$paper;\n const props = useThemeProps({\n props: inProps,\n name: 'MuiMenu'\n });\n const {\n autoFocus = true,\n children,\n className,\n disableAutoFocusItem = false,\n MenuListProps = {},\n onClose,\n open,\n PaperProps = {},\n PopoverClasses,\n transitionDuration = 'auto',\n TransitionProps: {\n onEntering\n } = {},\n variant = 'selectedMenu',\n slots = {},\n slotProps = {}\n } = props,\n TransitionProps = _objectWithoutPropertiesLoose(props.TransitionProps, _excluded),\n other = _objectWithoutPropertiesLoose(props, _excluded2);\n const isRtl = useRtl();\n const ownerState = _extends({}, props, {\n autoFocus,\n disableAutoFocusItem,\n MenuListProps,\n onEntering,\n PaperProps,\n transitionDuration,\n TransitionProps,\n variant\n });\n const classes = useUtilityClasses(ownerState);\n const autoFocusItem = autoFocus && !disableAutoFocusItem && open;\n const menuListActionsRef = React.useRef(null);\n const handleEntering = (element, isAppearing) => {\n if (menuListActionsRef.current) {\n menuListActionsRef.current.adjustStyleForScrollbar(element, {\n direction: isRtl ? 'rtl' : 'ltr'\n });\n }\n if (onEntering) {\n onEntering(element, isAppearing);\n }\n };\n const handleListKeyDown = event => {\n if (event.key === 'Tab') {\n event.preventDefault();\n if (onClose) {\n onClose(event, 'tabKeyDown');\n }\n }\n };\n\n /**\n * the index of the item should receive focus\n * in a `variant=\"selectedMenu\"` it's the first `selected` item\n * otherwise it's the very first item.\n */\n let activeItemIndex = -1;\n // since we inject focus related props into children we have to do a lookahead\n // to check if there is a `selected` item. We're looking for the last `selected`\n // item and use the first valid item as a fallback\n React.Children.map(children, (child, index) => {\n if (! /*#__PURE__*/React.isValidElement(child)) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n if (isFragment(child)) {\n console.error([\"MUI: The Menu component doesn't accept a Fragment as a child.\", 'Consider providing an array instead.'].join('\\n'));\n }\n }\n if (!child.props.disabled) {\n if (variant === 'selectedMenu' && child.props.selected) {\n activeItemIndex = index;\n } else if (activeItemIndex === -1) {\n activeItemIndex = index;\n }\n }\n });\n const PaperSlot = (_slots$paper = slots.paper) != null ? _slots$paper : MenuPaper;\n const paperExternalSlotProps = (_slotProps$paper = slotProps.paper) != null ? _slotProps$paper : PaperProps;\n const rootSlotProps = useSlotProps({\n elementType: slots.root,\n externalSlotProps: slotProps.root,\n ownerState,\n className: [classes.root, className]\n });\n const paperSlotProps = useSlotProps({\n elementType: PaperSlot,\n externalSlotProps: paperExternalSlotProps,\n ownerState,\n className: classes.paper\n });\n return /*#__PURE__*/_jsx(MenuRoot, _extends({\n onClose: onClose,\n anchorOrigin: {\n vertical: 'bottom',\n horizontal: isRtl ? 'right' : 'left'\n },\n transformOrigin: isRtl ? RTL_ORIGIN : LTR_ORIGIN,\n slots: {\n paper: PaperSlot,\n root: slots.root\n },\n slotProps: {\n root: rootSlotProps,\n paper: paperSlotProps\n },\n open: open,\n ref: ref,\n transitionDuration: transitionDuration,\n TransitionProps: _extends({\n onEntering: handleEntering\n }, TransitionProps),\n ownerState: ownerState\n }, other, {\n classes: PopoverClasses,\n children: /*#__PURE__*/_jsx(MenuMenuList, _extends({\n onKeyDown: handleListKeyDown,\n actions: menuListActionsRef,\n autoFocus: autoFocus && (activeItemIndex === -1 || disableAutoFocusItem),\n autoFocusItem: autoFocusItem,\n variant: variant\n }, MenuListProps, {\n className: clsx(classes.list, MenuListProps.className),\n children: children\n }))\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Menu.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * An HTML element, or a function that returns one.\n * It's used to set the position of the menu.\n */\n anchorEl: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([HTMLElementType, PropTypes.func]),\n /**\n * If `true` (Default) will focus the `[role=\"menu\"]` if no focusable child is found. Disabled\n * children are not focusable. If you set this prop to `false` focus will be placed\n * on the parent modal container. This has severe accessibility implications\n * and should only be considered if you manage focus otherwise.\n * @default true\n */\n autoFocus: PropTypes.bool,\n /**\n * Menu contents, normally `MenuItem`s.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * When opening the menu will not focus the active item but the `[role=\"menu\"]`\n * unless `autoFocus` is also set to `false`. Not using the default means not\n * following WAI-ARIA authoring practices. Please be considerate about possible\n * accessibility implications.\n * @default false\n */\n disableAutoFocusItem: PropTypes.bool,\n /**\n * Props applied to the [`MenuList`](/material-ui/api/menu-list/) element.\n * @default {}\n */\n MenuListProps: PropTypes.object,\n /**\n * Callback fired when the component requests to be closed.\n *\n * @param {object} event The event source of the callback.\n * @param {string} reason Can be: `\"escapeKeyDown\"`, `\"backdropClick\"`, `\"tabKeyDown\"`.\n */\n onClose: PropTypes.func,\n /**\n * If `true`, the component is shown.\n */\n open: PropTypes.bool.isRequired,\n /**\n * @ignore\n */\n PaperProps: PropTypes.object,\n /**\n * `classes` prop applied to the [`Popover`](/material-ui/api/popover/) element.\n */\n PopoverClasses: PropTypes.object,\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * @default {}\n */\n slotProps: PropTypes.shape({\n paper: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n root: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside.\n *\n * @default {}\n */\n slots: PropTypes.shape({\n paper: PropTypes.elementType,\n root: PropTypes.elementType\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The length of the transition in `ms`, or 'auto'\n * @default 'auto'\n */\n transitionDuration: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.number, PropTypes.shape({\n appear: PropTypes.number,\n enter: PropTypes.number,\n exit: PropTypes.number\n })]),\n /**\n * Props applied to the transition element.\n * By default, the element is based on this [`Transition`](https://reactcommunity.org/react-transition-group/transition/) component.\n * @default {}\n */\n TransitionProps: PropTypes.object,\n /**\n * The variant to use. Use `menu` to prevent selected items from impacting the initial focus.\n * @default 'selectedMenu'\n */\n variant: PropTypes.oneOf(['menu', 'selectedMenu'])\n} : void 0;\nexport default Menu;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getMenuItemUtilityClass(slot) {\n return generateUtilityClass('MuiMenuItem', slot);\n}\nconst menuItemClasses = generateUtilityClasses('MuiMenuItem', ['root', 'focusVisible', 'dense', 'disabled', 'divider', 'gutters', 'selected']);\nexport default menuItemClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"autoFocus\", \"component\", \"dense\", \"divider\", \"disableGutters\", \"focusVisibleClassName\", \"role\", \"tabIndex\", \"className\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { alpha } from '@mui/system/colorManipulator';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport ListContext from '../List/ListContext';\nimport ButtonBase from '../ButtonBase';\nimport useEnhancedEffect from '../utils/useEnhancedEffect';\nimport useForkRef from '../utils/useForkRef';\nimport { dividerClasses } from '../Divider';\nimport { listItemIconClasses } from '../ListItemIcon';\nimport { listItemTextClasses } from '../ListItemText';\nimport menuItemClasses, { getMenuItemUtilityClass } from './menuItemClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.dense && styles.dense, ownerState.divider && styles.divider, !ownerState.disableGutters && styles.gutters];\n};\nconst useUtilityClasses = ownerState => {\n const {\n disabled,\n dense,\n divider,\n disableGutters,\n selected,\n classes\n } = ownerState;\n const slots = {\n root: ['root', dense && 'dense', disabled && 'disabled', !disableGutters && 'gutters', divider && 'divider', selected && 'selected']\n };\n const composedClasses = composeClasses(slots, getMenuItemUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\nconst MenuItemRoot = styled(ButtonBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiMenuItem',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({}, theme.typography.body1, {\n display: 'flex',\n justifyContent: 'flex-start',\n alignItems: 'center',\n position: 'relative',\n textDecoration: 'none',\n minHeight: 48,\n paddingTop: 6,\n paddingBottom: 6,\n boxSizing: 'border-box',\n whiteSpace: 'nowrap'\n}, !ownerState.disableGutters && {\n paddingLeft: 16,\n paddingRight: 16\n}, ownerState.divider && {\n borderBottom: `1px solid ${(theme.vars || theme).palette.divider}`,\n backgroundClip: 'padding-box'\n}, {\n '&:hover': {\n textDecoration: 'none',\n backgroundColor: (theme.vars || theme).palette.action.hover,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${menuItemClasses.selected}`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.selectedOpacity})` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity),\n [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.focusOpacity}))` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)\n }\n },\n [`&.${menuItemClasses.selected}:hover`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.hoverOpacity}))` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.selectedOpacity})` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity)\n }\n },\n [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: (theme.vars || theme).palette.action.focus\n },\n [`&.${menuItemClasses.disabled}`]: {\n opacity: (theme.vars || theme).palette.action.disabledOpacity\n },\n [`& + .${dividerClasses.root}`]: {\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1)\n },\n [`& + .${dividerClasses.inset}`]: {\n marginLeft: 52\n },\n [`& .${listItemTextClasses.root}`]: {\n marginTop: 0,\n marginBottom: 0\n },\n [`& .${listItemTextClasses.inset}`]: {\n paddingLeft: 36\n },\n [`& .${listItemIconClasses.root}`]: {\n minWidth: 36\n }\n}, !ownerState.dense && {\n [theme.breakpoints.up('sm')]: {\n minHeight: 'auto'\n }\n}, ownerState.dense && _extends({\n minHeight: 32,\n // https://m2.material.io/components/menus#specs > Dense\n paddingTop: 4,\n paddingBottom: 4\n}, theme.typography.body2, {\n [`& .${listItemIconClasses.root} svg`]: {\n fontSize: '1.25rem'\n }\n})));\nconst MenuItem = /*#__PURE__*/React.forwardRef(function MenuItem(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiMenuItem'\n });\n const {\n autoFocus = false,\n component = 'li',\n dense = false,\n divider = false,\n disableGutters = false,\n focusVisibleClassName,\n role = 'menuitem',\n tabIndex: tabIndexProp,\n className\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const context = React.useContext(ListContext);\n const childContext = React.useMemo(() => ({\n dense: dense || context.dense || false,\n disableGutters\n }), [context.dense, dense, disableGutters]);\n const menuItemRef = React.useRef(null);\n useEnhancedEffect(() => {\n if (autoFocus) {\n if (menuItemRef.current) {\n menuItemRef.current.focus();\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('MUI: Unable to set focus to a MenuItem whose component has not been rendered.');\n }\n }\n }, [autoFocus]);\n const ownerState = _extends({}, props, {\n dense: childContext.dense,\n divider,\n disableGutters\n });\n const classes = useUtilityClasses(props);\n const handleRef = useForkRef(menuItemRef, ref);\n let tabIndex;\n if (!props.disabled) {\n tabIndex = tabIndexProp !== undefined ? tabIndexProp : -1;\n }\n return /*#__PURE__*/_jsx(ListContext.Provider, {\n value: childContext,\n children: /*#__PURE__*/_jsx(MenuItemRoot, _extends({\n ref: handleRef,\n role: role,\n tabIndex: tabIndex,\n component: component,\n focusVisibleClassName: clsx(classes.focusVisible, focusVisibleClassName),\n className: clsx(classes.root, className)\n }, other, {\n ownerState: ownerState,\n classes: classes\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? MenuItem.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * If `true`, the list item is focused during the first mount.\n * Focus will also be triggered if the value changes from false to true.\n * @default false\n */\n autoFocus: PropTypes.bool,\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * If `true`, compact vertical padding designed for keyboard and mouse input is used.\n * The prop defaults to the value inherited from the parent Menu component.\n * @default false\n */\n dense: PropTypes.bool,\n /**\n * @ignore\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the left and right padding is removed.\n * @default false\n */\n disableGutters: PropTypes.bool,\n /**\n * If `true`, a 1px light border is added to the bottom of the menu item.\n * @default false\n */\n divider: PropTypes.bool,\n /**\n * This prop can help identify which element has keyboard focus.\n * The class name will be applied when the element gains the focus through keyboard interaction.\n * It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo).\n * The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/HEAD/explainer.md).\n * A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components\n * if needed.\n */\n focusVisibleClassName: PropTypes.string,\n /**\n * @ignore\n */\n role: PropTypes /* @typescript-to-proptypes-ignore */.string,\n /**\n * If `true`, the component is selected.\n * @default false\n */\n selected: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * @default 0\n */\n tabIndex: PropTypes.number\n} : void 0;\nexport default MenuItem;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getNativeSelectUtilityClasses(slot) {\n return generateUtilityClass('MuiNativeSelect', slot);\n}\nconst nativeSelectClasses = generateUtilityClasses('MuiNativeSelect', ['root', 'select', 'multiple', 'filled', 'outlined', 'standard', 'disabled', 'icon', 'iconOpen', 'iconFilled', 'iconOutlined', 'iconStandard', 'nativeInput', 'error']);\nexport default nativeSelectClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"disabled\", \"error\", \"IconComponent\", \"inputRef\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport refType from '@mui/utils/refType';\nimport composeClasses from '@mui/utils/composeClasses';\nimport capitalize from '../utils/capitalize';\nimport nativeSelectClasses, { getNativeSelectUtilityClasses } from './nativeSelectClasses';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n variant,\n disabled,\n multiple,\n open,\n error\n } = ownerState;\n const slots = {\n select: ['select', variant, disabled && 'disabled', multiple && 'multiple', error && 'error'],\n icon: ['icon', `icon${capitalize(variant)}`, open && 'iconOpen', disabled && 'disabled']\n };\n return composeClasses(slots, getNativeSelectUtilityClasses, classes);\n};\nexport const nativeSelectSelectStyles = ({\n ownerState,\n theme\n}) => _extends({\n MozAppearance: 'none',\n // Reset\n WebkitAppearance: 'none',\n // Reset\n // When interacting quickly, the text can end up selected.\n // Native select can't be selected either.\n userSelect: 'none',\n borderRadius: 0,\n // Reset\n cursor: 'pointer',\n '&:focus': _extends({}, theme.vars ? {\n backgroundColor: `rgba(${theme.vars.palette.common.onBackgroundChannel} / 0.05)`\n } : {\n backgroundColor: theme.palette.mode === 'light' ? 'rgba(0, 0, 0, 0.05)' : 'rgba(255, 255, 255, 0.05)'\n }, {\n borderRadius: 0 // Reset Chrome style\n }),\n // Remove IE11 arrow\n '&::-ms-expand': {\n display: 'none'\n },\n [`&.${nativeSelectClasses.disabled}`]: {\n cursor: 'default'\n },\n '&[multiple]': {\n height: 'auto'\n },\n '&:not([multiple]) option, &:not([multiple]) optgroup': {\n backgroundColor: (theme.vars || theme).palette.background.paper\n },\n // Bump specificity to allow extending custom inputs\n '&&&': {\n paddingRight: 24,\n minWidth: 16 // So it doesn't collapse.\n }\n}, ownerState.variant === 'filled' && {\n '&&&': {\n paddingRight: 32\n }\n}, ownerState.variant === 'outlined' && {\n borderRadius: (theme.vars || theme).shape.borderRadius,\n '&:focus': {\n borderRadius: (theme.vars || theme).shape.borderRadius // Reset the reset for Chrome style\n },\n '&&&': {\n paddingRight: 32\n }\n});\nconst NativeSelectSelect = styled('select', {\n name: 'MuiNativeSelect',\n slot: 'Select',\n shouldForwardProp: rootShouldForwardProp,\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.select, styles[ownerState.variant], ownerState.error && styles.error, {\n [`&.${nativeSelectClasses.multiple}`]: styles.multiple\n }];\n }\n})(nativeSelectSelectStyles);\nexport const nativeSelectIconStyles = ({\n ownerState,\n theme\n}) => _extends({\n // We use a position absolute over a flexbox in order to forward the pointer events\n // to the input and to support wrapping tags..\n position: 'absolute',\n right: 0,\n top: 'calc(50% - .5em)',\n // Center vertically, height is 1em\n pointerEvents: 'none',\n // Don't block pointer events on the select under the icon.\n color: (theme.vars || theme).palette.action.active,\n [`&.${nativeSelectClasses.disabled}`]: {\n color: (theme.vars || theme).palette.action.disabled\n }\n}, ownerState.open && {\n transform: 'rotate(180deg)'\n}, ownerState.variant === 'filled' && {\n right: 7\n}, ownerState.variant === 'outlined' && {\n right: 7\n});\nconst NativeSelectIcon = styled('svg', {\n name: 'MuiNativeSelect',\n slot: 'Icon',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.icon, ownerState.variant && styles[`icon${capitalize(ownerState.variant)}`], ownerState.open && styles.iconOpen];\n }\n})(nativeSelectIconStyles);\n\n/**\n * @ignore - internal component.\n */\nconst NativeSelectInput = /*#__PURE__*/React.forwardRef(function NativeSelectInput(props, ref) {\n const {\n className,\n disabled,\n error,\n IconComponent,\n inputRef,\n variant = 'standard'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n disabled,\n variant,\n error\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(React.Fragment, {\n children: [/*#__PURE__*/_jsx(NativeSelectSelect, _extends({\n ownerState: ownerState,\n className: clsx(classes.select, className),\n disabled: disabled,\n ref: inputRef || ref\n }, other)), props.multiple ? null : /*#__PURE__*/_jsx(NativeSelectIcon, {\n as: IconComponent,\n ownerState: ownerState,\n className: classes.icon\n })]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? NativeSelectInput.propTypes = {\n /**\n * The option elements to populate the select with.\n * Can be some `<option>` elements.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * The CSS class name of the select element.\n */\n className: PropTypes.string,\n /**\n * If `true`, the select is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the `select input` will indicate an error.\n */\n error: PropTypes.bool,\n /**\n * The icon that displays the arrow.\n */\n IconComponent: PropTypes.elementType.isRequired,\n /**\n * Use that prop to pass a ref to the native select element.\n * @deprecated\n */\n inputRef: refType,\n /**\n * @ignore\n */\n multiple: PropTypes.bool,\n /**\n * Name attribute of the `select` or hidden `input` element.\n */\n name: PropTypes.string,\n /**\n * Callback fired when a menu item is selected.\n *\n * @param {object} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value` (string).\n */\n onChange: PropTypes.func,\n /**\n * The input value.\n */\n value: PropTypes.any,\n /**\n * The variant to use.\n */\n variant: PropTypes.oneOf(['standard', 'outlined', 'filled'])\n} : void 0;\nexport default NativeSelectInput;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nvar _span;\nconst _excluded = [\"children\", \"classes\", \"className\", \"label\", \"notched\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst NotchedOutlineRoot = styled('fieldset', {\n shouldForwardProp: rootShouldForwardProp\n})({\n textAlign: 'left',\n position: 'absolute',\n bottom: 0,\n right: 0,\n top: -5,\n left: 0,\n margin: 0,\n padding: '0 8px',\n pointerEvents: 'none',\n borderRadius: 'inherit',\n borderStyle: 'solid',\n borderWidth: 1,\n overflow: 'hidden',\n minWidth: '0%'\n});\nconst NotchedOutlineLegend = styled('legend', {\n shouldForwardProp: rootShouldForwardProp\n})(({\n ownerState,\n theme\n}) => _extends({\n float: 'unset',\n // Fix conflict with bootstrap\n width: 'auto',\n // Fix conflict with bootstrap\n overflow: 'hidden'\n}, !ownerState.withLabel && {\n padding: 0,\n lineHeight: '11px',\n // sync with `height` in `legend` styles\n transition: theme.transitions.create('width', {\n duration: 150,\n easing: theme.transitions.easing.easeOut\n })\n}, ownerState.withLabel && _extends({\n display: 'block',\n // Fix conflict with normalize.css and sanitize.css\n padding: 0,\n height: 11,\n // sync with `lineHeight` in `legend` styles\n fontSize: '0.75em',\n visibility: 'hidden',\n maxWidth: 0.01,\n transition: theme.transitions.create('max-width', {\n duration: 50,\n easing: theme.transitions.easing.easeOut\n }),\n whiteSpace: 'nowrap',\n '& > span': {\n paddingLeft: 5,\n paddingRight: 5,\n display: 'inline-block',\n opacity: 0,\n visibility: 'visible'\n }\n}, ownerState.notched && {\n maxWidth: '100%',\n transition: theme.transitions.create('max-width', {\n duration: 100,\n easing: theme.transitions.easing.easeOut,\n delay: 50\n })\n})));\n\n/**\n * @ignore - internal component.\n */\nexport default function NotchedOutline(props) {\n const {\n className,\n label,\n notched\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const withLabel = label != null && label !== '';\n const ownerState = _extends({}, props, {\n notched,\n withLabel\n });\n return /*#__PURE__*/_jsx(NotchedOutlineRoot, _extends({\n \"aria-hidden\": true,\n className: className,\n ownerState: ownerState\n }, other, {\n children: /*#__PURE__*/_jsx(NotchedOutlineLegend, {\n ownerState: ownerState,\n children: withLabel ? /*#__PURE__*/_jsx(\"span\", {\n children: label\n }) : // notranslate needed while Google Translate will not fix zero-width space issue\n _span || (_span = /*#__PURE__*/_jsx(\"span\", {\n className: \"notranslate\",\n children: \"\\u200B\"\n }))\n })\n }));\n}\nprocess.env.NODE_ENV !== \"production\" ? NotchedOutline.propTypes = {\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The label.\n */\n label: PropTypes.node,\n /**\n * If `true`, the outline is notched to accommodate the label.\n */\n notched: PropTypes.bool.isRequired,\n /**\n * @ignore\n */\n style: PropTypes.object\n} : void 0;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"components\", \"fullWidth\", \"inputComponent\", \"label\", \"multiline\", \"notched\", \"slots\", \"type\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport refType from '@mui/utils/refType';\nimport composeClasses from '@mui/utils/composeClasses';\nimport NotchedOutline from './NotchedOutline';\nimport useFormControl from '../FormControl/useFormControl';\nimport formControlState from '../FormControl/formControlState';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport outlinedInputClasses, { getOutlinedInputUtilityClass } from './outlinedInputClasses';\nimport InputBase, { rootOverridesResolver as inputBaseRootOverridesResolver, inputOverridesResolver as inputBaseInputOverridesResolver, InputBaseRoot, InputBaseComponent as InputBaseInput } from '../InputBase/InputBase';\nimport useThemeProps from '../styles/useThemeProps';\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root'],\n notchedOutline: ['notchedOutline'],\n input: ['input']\n };\n const composedClasses = composeClasses(slots, getOutlinedInputUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\nconst OutlinedInputRoot = styled(InputBaseRoot, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiOutlinedInput',\n slot: 'Root',\n overridesResolver: inputBaseRootOverridesResolver\n})(({\n theme,\n ownerState\n}) => {\n const borderColor = theme.palette.mode === 'light' ? 'rgba(0, 0, 0, 0.23)' : 'rgba(255, 255, 255, 0.23)';\n return _extends({\n position: 'relative',\n borderRadius: (theme.vars || theme).shape.borderRadius,\n [`&:hover .${outlinedInputClasses.notchedOutline}`]: {\n borderColor: (theme.vars || theme).palette.text.primary\n },\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n [`&:hover .${outlinedInputClasses.notchedOutline}`]: {\n borderColor: theme.vars ? `rgba(${theme.vars.palette.common.onBackgroundChannel} / 0.23)` : borderColor\n }\n },\n [`&.${outlinedInputClasses.focused} .${outlinedInputClasses.notchedOutline}`]: {\n borderColor: (theme.vars || theme).palette[ownerState.color].main,\n borderWidth: 2\n },\n [`&.${outlinedInputClasses.error} .${outlinedInputClasses.notchedOutline}`]: {\n borderColor: (theme.vars || theme).palette.error.main\n },\n [`&.${outlinedInputClasses.disabled} .${outlinedInputClasses.notchedOutline}`]: {\n borderColor: (theme.vars || theme).palette.action.disabled\n }\n }, ownerState.startAdornment && {\n paddingLeft: 14\n }, ownerState.endAdornment && {\n paddingRight: 14\n }, ownerState.multiline && _extends({\n padding: '16.5px 14px'\n }, ownerState.size === 'small' && {\n padding: '8.5px 14px'\n }));\n});\nconst NotchedOutlineRoot = styled(NotchedOutline, {\n name: 'MuiOutlinedInput',\n slot: 'NotchedOutline',\n overridesResolver: (props, styles) => styles.notchedOutline\n})(({\n theme\n}) => {\n const borderColor = theme.palette.mode === 'light' ? 'rgba(0, 0, 0, 0.23)' : 'rgba(255, 255, 255, 0.23)';\n return {\n borderColor: theme.vars ? `rgba(${theme.vars.palette.common.onBackgroundChannel} / 0.23)` : borderColor\n };\n});\nconst OutlinedInputInput = styled(InputBaseInput, {\n name: 'MuiOutlinedInput',\n slot: 'Input',\n overridesResolver: inputBaseInputOverridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({\n padding: '16.5px 14px'\n}, !theme.vars && {\n '&:-webkit-autofill': {\n WebkitBoxShadow: theme.palette.mode === 'light' ? null : '0 0 0 100px #266798 inset',\n WebkitTextFillColor: theme.palette.mode === 'light' ? null : '#fff',\n caretColor: theme.palette.mode === 'light' ? null : '#fff',\n borderRadius: 'inherit'\n }\n}, theme.vars && {\n '&:-webkit-autofill': {\n borderRadius: 'inherit'\n },\n [theme.getColorSchemeSelector('dark')]: {\n '&:-webkit-autofill': {\n WebkitBoxShadow: '0 0 0 100px #266798 inset',\n WebkitTextFillColor: '#fff',\n caretColor: '#fff'\n }\n }\n}, ownerState.size === 'small' && {\n padding: '8.5px 14px'\n}, ownerState.multiline && {\n padding: 0\n}, ownerState.startAdornment && {\n paddingLeft: 0\n}, ownerState.endAdornment && {\n paddingRight: 0\n}));\nconst OutlinedInput = /*#__PURE__*/React.forwardRef(function OutlinedInput(inProps, ref) {\n var _ref, _slots$root, _ref2, _slots$input, _React$Fragment;\n const props = useThemeProps({\n props: inProps,\n name: 'MuiOutlinedInput'\n });\n const {\n components = {},\n fullWidth = false,\n inputComponent = 'input',\n label,\n multiline = false,\n notched,\n slots = {},\n type = 'text'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const classes = useUtilityClasses(props);\n const muiFormControl = useFormControl();\n const fcs = formControlState({\n props,\n muiFormControl,\n states: ['color', 'disabled', 'error', 'focused', 'hiddenLabel', 'size', 'required']\n });\n const ownerState = _extends({}, props, {\n color: fcs.color || 'primary',\n disabled: fcs.disabled,\n error: fcs.error,\n focused: fcs.focused,\n formControl: muiFormControl,\n fullWidth,\n hiddenLabel: fcs.hiddenLabel,\n multiline,\n size: fcs.size,\n type\n });\n const RootSlot = (_ref = (_slots$root = slots.root) != null ? _slots$root : components.Root) != null ? _ref : OutlinedInputRoot;\n const InputSlot = (_ref2 = (_slots$input = slots.input) != null ? _slots$input : components.Input) != null ? _ref2 : OutlinedInputInput;\n return /*#__PURE__*/_jsx(InputBase, _extends({\n slots: {\n root: RootSlot,\n input: InputSlot\n },\n renderSuffix: state => /*#__PURE__*/_jsx(NotchedOutlineRoot, {\n ownerState: ownerState,\n className: classes.notchedOutline,\n label: label != null && label !== '' && fcs.required ? _React$Fragment || (_React$Fragment = /*#__PURE__*/_jsxs(React.Fragment, {\n children: [label, \"\\u2009\", '*']\n })) : label,\n notched: typeof notched !== 'undefined' ? notched : Boolean(state.startAdornment || state.filled || state.focused)\n }),\n fullWidth: fullWidth,\n inputComponent: inputComponent,\n multiline: multiline,\n ref: ref,\n type: type\n }, other, {\n classes: _extends({}, classes, {\n notchedOutline: null\n })\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? OutlinedInput.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * This prop helps users to fill forms faster, especially on mobile devices.\n * The name can be confusing, as it's more like an autofill.\n * You can learn more about it [following the specification](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill).\n */\n autoComplete: PropTypes.string,\n /**\n * If `true`, the `input` element is focused during the first mount.\n */\n autoFocus: PropTypes.bool,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * The prop defaults to the value (`'primary'`) inherited from the parent FormControl component.\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['primary', 'secondary']), PropTypes.string]),\n /**\n * The components used for each slot inside.\n *\n * This prop is an alias for the `slots` prop.\n * It's recommended to use the `slots` prop instead.\n *\n * @default {}\n */\n components: PropTypes.shape({\n Input: PropTypes.elementType,\n Root: PropTypes.elementType\n }),\n /**\n * The default value. Use when the component is not controlled.\n */\n defaultValue: PropTypes.any,\n /**\n * If `true`, the component is disabled.\n * The prop defaults to the value (`false`) inherited from the parent FormControl component.\n */\n disabled: PropTypes.bool,\n /**\n * End `InputAdornment` for this component.\n */\n endAdornment: PropTypes.node,\n /**\n * If `true`, the `input` will indicate an error.\n * The prop defaults to the value (`false`) inherited from the parent FormControl component.\n */\n error: PropTypes.bool,\n /**\n * If `true`, the `input` will take up the full width of its container.\n * @default false\n */\n fullWidth: PropTypes.bool,\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n /**\n * The component used for the `input` element.\n * Either a string to use a HTML element or a component.\n * @default 'input'\n */\n inputComponent: PropTypes.elementType,\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n * @default {}\n */\n inputProps: PropTypes.object,\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n /**\n * The label of the `input`. It is only used for layout. The actual labelling\n * is handled by `InputLabel`.\n */\n label: PropTypes.node,\n /**\n * If `dense`, will adjust vertical spacing. This is normally obtained via context from\n * FormControl.\n * The prop defaults to the value (`'none'`) inherited from the parent FormControl component.\n */\n margin: PropTypes.oneOf(['dense', 'none']),\n /**\n * Maximum number of rows to display when multiline option is set to true.\n */\n maxRows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * Minimum number of rows to display when multiline option is set to true.\n */\n minRows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * If `true`, a [TextareaAutosize](/material-ui/react-textarea-autosize/) element is rendered.\n * @default false\n */\n multiline: PropTypes.bool,\n /**\n * Name attribute of the `input` element.\n */\n name: PropTypes.string,\n /**\n * If `true`, the outline is notched to accommodate the label.\n */\n notched: PropTypes.bool,\n /**\n * Callback fired when the value is changed.\n *\n * @param {React.ChangeEvent<HTMLTextAreaElement | HTMLInputElement>} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value` (string).\n */\n onChange: PropTypes.func,\n /**\n * The short hint displayed in the `input` before the user enters a value.\n */\n placeholder: PropTypes.string,\n /**\n * It prevents the user from changing the value of the field\n * (not from interacting with the field).\n */\n readOnly: PropTypes.bool,\n /**\n * If `true`, the `input` element is required.\n * The prop defaults to the value (`false`) inherited from the parent FormControl component.\n */\n required: PropTypes.bool,\n /**\n * Number of rows to display when multiline option is set to true.\n */\n rows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * The components used for each slot inside.\n *\n * This prop is an alias for the `components` prop, which will be deprecated in the future.\n *\n * @default {}\n */\n slots: PropTypes.shape({\n input: PropTypes.elementType,\n root: PropTypes.elementType\n }),\n /**\n * Start `InputAdornment` for this component.\n */\n startAdornment: PropTypes.node,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * Type of the `input` element. It should be [a valid HTML5 input type](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Form_%3Cinput%3E_types).\n * @default 'text'\n */\n type: PropTypes.string,\n /**\n * The value of the `input` element, required for a controlled component.\n */\n value: PropTypes.any\n} : void 0;\nOutlinedInput.muiName = 'Input';\nexport default OutlinedInput;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getPaginationUtilityClass(slot) {\n return generateUtilityClass('MuiPagination', slot);\n}\nconst paginationClasses = generateUtilityClasses('MuiPagination', ['root', 'ul', 'outlined', 'text']);\nexport default paginationClasses;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"boundaryCount\", \"componentName\", \"count\", \"defaultPage\", \"disabled\", \"hideNextButton\", \"hidePrevButton\", \"onChange\", \"page\", \"showFirstButton\", \"showLastButton\", \"siblingCount\"];\nimport useControlled from '@mui/utils/useControlled';\nexport default function usePagination(props = {}) {\n // keep default values in sync with @default tags in Pagination.propTypes\n const {\n boundaryCount = 1,\n componentName = 'usePagination',\n count = 1,\n defaultPage = 1,\n disabled = false,\n hideNextButton = false,\n hidePrevButton = false,\n onChange: handleChange,\n page: pageProp,\n showFirstButton = false,\n showLastButton = false,\n siblingCount = 1\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const [page, setPageState] = useControlled({\n controlled: pageProp,\n default: defaultPage,\n name: componentName,\n state: 'page'\n });\n const handleClick = (event, value) => {\n if (!pageProp) {\n setPageState(value);\n }\n if (handleChange) {\n handleChange(event, value);\n }\n };\n\n // https://dev.to/namirsab/comment/2050\n const range = (start, end) => {\n const length = end - start + 1;\n return Array.from({\n length\n }, (_, i) => start + i);\n };\n const startPages = range(1, Math.min(boundaryCount, count));\n const endPages = range(Math.max(count - boundaryCount + 1, boundaryCount + 1), count);\n const siblingsStart = Math.max(Math.min(\n // Natural start\n page - siblingCount,\n // Lower boundary when page is high\n count - boundaryCount - siblingCount * 2 - 1),\n // Greater than startPages\n boundaryCount + 2);\n const siblingsEnd = Math.min(Math.max(\n // Natural end\n page + siblingCount,\n // Upper boundary when page is low\n boundaryCount + siblingCount * 2 + 2),\n // Less than endPages\n endPages.length > 0 ? endPages[0] - 2 : count - 1);\n\n // Basic list of items to render\n // for example itemList = ['first', 'previous', 1, 'ellipsis', 4, 5, 6, 'ellipsis', 10, 'next', 'last']\n const itemList = [...(showFirstButton ? ['first'] : []), ...(hidePrevButton ? [] : ['previous']), ...startPages,\n // Start ellipsis\n // eslint-disable-next-line no-nested-ternary\n ...(siblingsStart > boundaryCount + 2 ? ['start-ellipsis'] : boundaryCount + 1 < count - boundaryCount ? [boundaryCount + 1] : []),\n // Sibling pages\n ...range(siblingsStart, siblingsEnd),\n // End ellipsis\n // eslint-disable-next-line no-nested-ternary\n ...(siblingsEnd < count - boundaryCount - 1 ? ['end-ellipsis'] : count - boundaryCount > boundaryCount ? [count - boundaryCount] : []), ...endPages, ...(hideNextButton ? [] : ['next']), ...(showLastButton ? ['last'] : [])];\n\n // Map the button type to its page number\n const buttonPage = type => {\n switch (type) {\n case 'first':\n return 1;\n case 'previous':\n return page - 1;\n case 'next':\n return page + 1;\n case 'last':\n return count;\n default:\n return null;\n }\n };\n\n // Convert the basic item list to PaginationItem props objects\n const items = itemList.map(item => {\n return typeof item === 'number' ? {\n onClick: event => {\n handleClick(event, item);\n },\n type: 'page',\n page: item,\n selected: item === page,\n disabled,\n 'aria-current': item === page ? 'true' : undefined\n } : {\n onClick: event => {\n handleClick(event, buttonPage(item));\n },\n type: item,\n page: buttonPage(item),\n selected: false,\n disabled: disabled || item.indexOf('ellipsis') === -1 && (item === 'next' || item === 'last' ? page >= count : page <= 1)\n };\n });\n return _extends({\n items\n }, other);\n}","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getPaginationItemUtilityClass(slot) {\n return generateUtilityClass('MuiPaginationItem', slot);\n}\nconst paginationItemClasses = generateUtilityClasses('MuiPaginationItem', ['root', 'page', 'sizeSmall', 'sizeLarge', 'text', 'textPrimary', 'textSecondary', 'outlined', 'outlinedPrimary', 'outlinedSecondary', 'rounded', 'ellipsis', 'firstLast', 'previousNext', 'focusVisible', 'disabled', 'selected', 'icon', 'colorPrimary', 'colorSecondary']);\nexport default paginationItemClasses;","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M18.41 16.59L13.82 12l4.59-4.59L17 6l-6 6 6 6zM6 6h2v12H6z\"\n}), 'FirstPage');","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M5.59 7.41L10.18 12l-4.59 4.59L7 18l6-6-6-6zM16 6h2v12h-2z\"\n}), 'LastPage');","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z\"\n}), 'NavigateBefore');","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z\"\n}), 'NavigateNext');","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"color\", \"component\", \"components\", \"disabled\", \"page\", \"selected\", \"shape\", \"size\", \"slots\", \"type\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { alpha } from '@mui/system/colorManipulator';\nimport { useRtl } from '@mui/system/RtlProvider';\nimport useThemeProps from '../styles/useThemeProps';\nimport paginationItemClasses, { getPaginationItemUtilityClass } from './paginationItemClasses';\nimport ButtonBase from '../ButtonBase';\nimport capitalize from '../utils/capitalize';\nimport FirstPageIcon from '../internal/svg-icons/FirstPage';\nimport LastPageIcon from '../internal/svg-icons/LastPage';\nimport NavigateBeforeIcon from '../internal/svg-icons/NavigateBefore';\nimport NavigateNextIcon from '../internal/svg-icons/NavigateNext';\nimport styled from '../styles/styled';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[ownerState.variant], styles[`size${capitalize(ownerState.size)}`], ownerState.variant === 'text' && styles[`text${capitalize(ownerState.color)}`], ownerState.variant === 'outlined' && styles[`outlined${capitalize(ownerState.color)}`], ownerState.shape === 'rounded' && styles.rounded, ownerState.type === 'page' && styles.page, (ownerState.type === 'start-ellipsis' || ownerState.type === 'end-ellipsis') && styles.ellipsis, (ownerState.type === 'previous' || ownerState.type === 'next') && styles.previousNext, (ownerState.type === 'first' || ownerState.type === 'last') && styles.firstLast];\n};\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n color,\n disabled,\n selected,\n size,\n shape,\n type,\n variant\n } = ownerState;\n const slots = {\n root: ['root', `size${capitalize(size)}`, variant, shape, color !== 'standard' && `color${capitalize(color)}`, color !== 'standard' && `${variant}${capitalize(color)}`, disabled && 'disabled', selected && 'selected', {\n page: 'page',\n first: 'firstLast',\n last: 'firstLast',\n 'start-ellipsis': 'ellipsis',\n 'end-ellipsis': 'ellipsis',\n previous: 'previousNext',\n next: 'previousNext'\n }[type]],\n icon: ['icon']\n };\n return composeClasses(slots, getPaginationItemUtilityClass, classes);\n};\nconst PaginationItemEllipsis = styled('div', {\n name: 'MuiPaginationItem',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({}, theme.typography.body2, {\n borderRadius: 32 / 2,\n textAlign: 'center',\n boxSizing: 'border-box',\n minWidth: 32,\n padding: '0 6px',\n margin: '0 3px',\n color: (theme.vars || theme).palette.text.primary,\n height: 'auto',\n [`&.${paginationItemClasses.disabled}`]: {\n opacity: (theme.vars || theme).palette.action.disabledOpacity\n }\n}, ownerState.size === 'small' && {\n minWidth: 26,\n borderRadius: 26 / 2,\n margin: '0 1px',\n padding: '0 4px'\n}, ownerState.size === 'large' && {\n minWidth: 40,\n borderRadius: 40 / 2,\n padding: '0 10px',\n fontSize: theme.typography.pxToRem(15)\n}));\nconst PaginationItemPage = styled(ButtonBase, {\n name: 'MuiPaginationItem',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({}, theme.typography.body2, {\n borderRadius: 32 / 2,\n textAlign: 'center',\n boxSizing: 'border-box',\n minWidth: 32,\n height: 32,\n padding: '0 6px',\n margin: '0 3px',\n color: (theme.vars || theme).palette.text.primary,\n [`&.${paginationItemClasses.focusVisible}`]: {\n backgroundColor: (theme.vars || theme).palette.action.focus\n },\n [`&.${paginationItemClasses.disabled}`]: {\n opacity: (theme.vars || theme).palette.action.disabledOpacity\n },\n transition: theme.transitions.create(['color', 'background-color'], {\n duration: theme.transitions.duration.short\n }),\n '&:hover': {\n backgroundColor: (theme.vars || theme).palette.action.hover,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${paginationItemClasses.selected}`]: {\n backgroundColor: (theme.vars || theme).palette.action.selected,\n '&:hover': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.action.selectedChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.hoverOpacity}))` : alpha(theme.palette.action.selected, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: (theme.vars || theme).palette.action.selected\n }\n },\n [`&.${paginationItemClasses.focusVisible}`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.action.selectedChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.focusOpacity}))` : alpha(theme.palette.action.selected, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)\n },\n [`&.${paginationItemClasses.disabled}`]: {\n opacity: 1,\n color: (theme.vars || theme).palette.action.disabled,\n backgroundColor: (theme.vars || theme).palette.action.selected\n }\n }\n}, ownerState.size === 'small' && {\n minWidth: 26,\n height: 26,\n borderRadius: 26 / 2,\n margin: '0 1px',\n padding: '0 4px'\n}, ownerState.size === 'large' && {\n minWidth: 40,\n height: 40,\n borderRadius: 40 / 2,\n padding: '0 10px',\n fontSize: theme.typography.pxToRem(15)\n}, ownerState.shape === 'rounded' && {\n borderRadius: (theme.vars || theme).shape.borderRadius\n}), ({\n theme,\n ownerState\n}) => _extends({}, ownerState.variant === 'text' && {\n [`&.${paginationItemClasses.selected}`]: _extends({}, ownerState.color !== 'standard' && {\n color: (theme.vars || theme).palette[ownerState.color].contrastText,\n backgroundColor: (theme.vars || theme).palette[ownerState.color].main,\n '&:hover': {\n backgroundColor: (theme.vars || theme).palette[ownerState.color].dark,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: (theme.vars || theme).palette[ownerState.color].main\n }\n },\n [`&.${paginationItemClasses.focusVisible}`]: {\n backgroundColor: (theme.vars || theme).palette[ownerState.color].dark\n }\n }, {\n [`&.${paginationItemClasses.disabled}`]: {\n color: (theme.vars || theme).palette.action.disabled\n }\n })\n}, ownerState.variant === 'outlined' && {\n border: theme.vars ? `1px solid rgba(${theme.vars.palette.common.onBackgroundChannel} / 0.23)` : `1px solid ${theme.palette.mode === 'light' ? 'rgba(0, 0, 0, 0.23)' : 'rgba(255, 255, 255, 0.23)'}`,\n [`&.${paginationItemClasses.selected}`]: _extends({}, ownerState.color !== 'standard' && {\n color: (theme.vars || theme).palette[ownerState.color].main,\n border: `1px solid ${theme.vars ? `rgba(${theme.vars.palette[ownerState.color].mainChannel} / 0.5)` : alpha(theme.palette[ownerState.color].main, 0.5)}`,\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette[ownerState.color].mainChannel} / ${theme.vars.palette.action.activatedOpacity})` : alpha(theme.palette[ownerState.color].main, theme.palette.action.activatedOpacity),\n '&:hover': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette[ownerState.color].mainChannel} / calc(${theme.vars.palette.action.activatedOpacity} + ${theme.vars.palette.action.focusOpacity}))` : alpha(theme.palette[ownerState.color].main, theme.palette.action.activatedOpacity + theme.palette.action.focusOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${paginationItemClasses.focusVisible}`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette[ownerState.color].mainChannel} / calc(${theme.vars.palette.action.activatedOpacity} + ${theme.vars.palette.action.focusOpacity}))` : alpha(theme.palette[ownerState.color].main, theme.palette.action.activatedOpacity + theme.palette.action.focusOpacity)\n }\n }, {\n [`&.${paginationItemClasses.disabled}`]: {\n borderColor: (theme.vars || theme).palette.action.disabledBackground,\n color: (theme.vars || theme).palette.action.disabled\n }\n })\n}));\nconst PaginationItemPageIcon = styled('div', {\n name: 'MuiPaginationItem',\n slot: 'Icon',\n overridesResolver: (props, styles) => styles.icon\n})(({\n theme,\n ownerState\n}) => _extends({\n fontSize: theme.typography.pxToRem(20),\n margin: '0 -8px'\n}, ownerState.size === 'small' && {\n fontSize: theme.typography.pxToRem(18)\n}, ownerState.size === 'large' && {\n fontSize: theme.typography.pxToRem(22)\n}));\nconst PaginationItem = /*#__PURE__*/React.forwardRef(function PaginationItem(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiPaginationItem'\n });\n const {\n className,\n color = 'standard',\n component,\n components = {},\n disabled = false,\n page,\n selected = false,\n shape = 'circular',\n size = 'medium',\n slots = {},\n type = 'page',\n variant = 'text'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n color,\n disabled,\n selected,\n shape,\n size,\n type,\n variant\n });\n const isRtl = useRtl();\n const classes = useUtilityClasses(ownerState);\n const normalizedIcons = isRtl ? {\n previous: slots.next || components.next || NavigateNextIcon,\n next: slots.previous || components.previous || NavigateBeforeIcon,\n last: slots.first || components.first || FirstPageIcon,\n first: slots.last || components.last || LastPageIcon\n } : {\n previous: slots.previous || components.previous || NavigateBeforeIcon,\n next: slots.next || components.next || NavigateNextIcon,\n first: slots.first || components.first || FirstPageIcon,\n last: slots.last || components.last || LastPageIcon\n };\n const Icon = normalizedIcons[type];\n return type === 'start-ellipsis' || type === 'end-ellipsis' ? /*#__PURE__*/_jsx(PaginationItemEllipsis, {\n ref: ref,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n children: \"\\u2026\"\n }) : /*#__PURE__*/_jsxs(PaginationItemPage, _extends({\n ref: ref,\n ownerState: ownerState,\n component: component,\n disabled: disabled,\n className: clsx(classes.root, className)\n }, other, {\n children: [type === 'page' && page, Icon ? /*#__PURE__*/_jsx(PaginationItemPageIcon, {\n as: Icon,\n ownerState: ownerState,\n className: classes.icon\n }) : null]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? PaginationItem.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * @ignore\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The active color.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * @default 'standard'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['primary', 'secondary', 'standard']), PropTypes.string]),\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * The components used for each slot inside.\n *\n * This prop is an alias for the `slots` prop.\n * It's recommended to use the `slots` prop instead.\n *\n * @default {}\n */\n components: PropTypes.shape({\n first: PropTypes.elementType,\n last: PropTypes.elementType,\n next: PropTypes.elementType,\n previous: PropTypes.elementType\n }),\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * The current page number.\n */\n page: PropTypes.node,\n /**\n * If `true` the pagination item is selected.\n * @default false\n */\n selected: PropTypes.bool,\n /**\n * The shape of the pagination item.\n * @default 'circular'\n */\n shape: PropTypes.oneOf(['circular', 'rounded']),\n /**\n * The size of the component.\n * @default 'medium'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['small', 'medium', 'large']), PropTypes.string]),\n /**\n * The components used for each slot inside.\n *\n * This prop is an alias for the `components` prop, which will be deprecated in the future.\n *\n * @default {}\n */\n slots: PropTypes.shape({\n first: PropTypes.elementType,\n last: PropTypes.elementType,\n next: PropTypes.elementType,\n previous: PropTypes.elementType\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The type of pagination item.\n * @default 'page'\n */\n type: PropTypes.oneOf(['end-ellipsis', 'first', 'last', 'next', 'page', 'previous', 'start-ellipsis']),\n /**\n * The variant to use.\n * @default 'text'\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['outlined', 'text']), PropTypes.string])\n} : void 0;\nexport default PaginationItem;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"boundaryCount\", \"className\", \"color\", \"count\", \"defaultPage\", \"disabled\", \"getItemAriaLabel\", \"hideNextButton\", \"hidePrevButton\", \"onChange\", \"page\", \"renderItem\", \"shape\", \"showFirstButton\", \"showLastButton\", \"siblingCount\", \"size\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport integerPropType from '@mui/utils/integerPropType';\nimport useThemeProps from '../styles/useThemeProps';\nimport { getPaginationUtilityClass } from './paginationClasses';\nimport usePagination from '../usePagination';\nimport PaginationItem from '../PaginationItem';\nimport styled from '../styles/styled';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n variant\n } = ownerState;\n const slots = {\n root: ['root', variant],\n ul: ['ul']\n };\n return composeClasses(slots, getPaginationUtilityClass, classes);\n};\nconst PaginationRoot = styled('nav', {\n name: 'MuiPagination',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[ownerState.variant]];\n }\n})({});\nconst PaginationUl = styled('ul', {\n name: 'MuiPagination',\n slot: 'Ul',\n overridesResolver: (props, styles) => styles.ul\n})({\n display: 'flex',\n flexWrap: 'wrap',\n alignItems: 'center',\n padding: 0,\n margin: 0,\n listStyle: 'none'\n});\nfunction defaultGetAriaLabel(type, page, selected) {\n if (type === 'page') {\n return `${selected ? '' : 'Go to '}page ${page}`;\n }\n return `Go to ${type} page`;\n}\nconst Pagination = /*#__PURE__*/React.forwardRef(function Pagination(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiPagination'\n });\n const {\n boundaryCount = 1,\n className,\n color = 'standard',\n count = 1,\n defaultPage = 1,\n disabled = false,\n getItemAriaLabel = defaultGetAriaLabel,\n hideNextButton = false,\n hidePrevButton = false,\n renderItem = item => /*#__PURE__*/_jsx(PaginationItem, _extends({}, item)),\n shape = 'circular',\n showFirstButton = false,\n showLastButton = false,\n siblingCount = 1,\n size = 'medium',\n variant = 'text'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const {\n items\n } = usePagination(_extends({}, props, {\n componentName: 'Pagination'\n }));\n const ownerState = _extends({}, props, {\n boundaryCount,\n color,\n count,\n defaultPage,\n disabled,\n getItemAriaLabel,\n hideNextButton,\n hidePrevButton,\n renderItem,\n shape,\n showFirstButton,\n showLastButton,\n siblingCount,\n size,\n variant\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(PaginationRoot, _extends({\n \"aria-label\": \"pagination navigation\",\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref\n }, other, {\n children: /*#__PURE__*/_jsx(PaginationUl, {\n className: classes.ul,\n ownerState: ownerState,\n children: items.map((item, index) => /*#__PURE__*/_jsx(\"li\", {\n children: renderItem(_extends({}, item, {\n color,\n 'aria-label': getItemAriaLabel(item.type, item.page, item.selected),\n shape,\n size,\n variant\n }))\n }, index))\n })\n }));\n});\n\n// @default tags synced with default values from usePagination\n\nprocess.env.NODE_ENV !== \"production\" ? Pagination.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Number of always visible pages at the beginning and end.\n * @default 1\n */\n boundaryCount: integerPropType,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The active color.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * @default 'standard'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['primary', 'secondary', 'standard']), PropTypes.string]),\n /**\n * The total number of pages.\n * @default 1\n */\n count: integerPropType,\n /**\n * The page selected by default when the component is uncontrolled.\n * @default 1\n */\n defaultPage: integerPropType,\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * Accepts a function which returns a string value that provides a user-friendly name for the current page.\n * This is important for screen reader users.\n *\n * For localization purposes, you can use the provided [translations](/material-ui/guides/localization/).\n * @param {string} type The link or button type to format ('page' | 'first' | 'last' | 'next' | 'previous' | 'start-ellipsis' | 'end-ellipsis'). Defaults to 'page'.\n * @param {number} page The page number to format.\n * @param {bool} selected If true, the current page is selected.\n * @returns {string}\n */\n getItemAriaLabel: PropTypes.func,\n /**\n * If `true`, hide the next-page button.\n * @default false\n */\n hideNextButton: PropTypes.bool,\n /**\n * If `true`, hide the previous-page button.\n * @default false\n */\n hidePrevButton: PropTypes.bool,\n /**\n * Callback fired when the page is changed.\n *\n * @param {React.ChangeEvent<unknown>} event The event source of the callback.\n * @param {number} page The page selected.\n */\n onChange: PropTypes.func,\n /**\n * The current page. Unlike `TablePagination`, which starts numbering from `0`, this pagination starts from `1`.\n */\n page: integerPropType,\n /**\n * Render the item.\n * @param {PaginationRenderItemParams} params The props to spread on a PaginationItem.\n * @returns {ReactNode}\n * @default (item) => <PaginationItem {...item} />\n */\n renderItem: PropTypes.func,\n /**\n * The shape of the pagination items.\n * @default 'circular'\n */\n shape: PropTypes.oneOf(['circular', 'rounded']),\n /**\n * If `true`, show the first-page button.\n * @default false\n */\n showFirstButton: PropTypes.bool,\n /**\n * If `true`, show the last-page button.\n * @default false\n */\n showLastButton: PropTypes.bool,\n /**\n * Number of always visible pages before and after the current page.\n * @default 1\n */\n siblingCount: integerPropType,\n /**\n * The size of the component.\n * @default 'medium'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['small', 'medium', 'large']), PropTypes.string]),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The variant to use.\n * @default 'text'\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['outlined', 'text']), PropTypes.string])\n} : void 0;\nexport default Pagination;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getScopedCssBaselineUtilityClass(slot) {\n return generateUtilityClass('MuiScopedCssBaseline', slot);\n}\nconst scopedCssBaselineClasses = generateUtilityClasses('MuiScopedCssBaseline', ['root']);\nexport default scopedCssBaselineClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"component\", \"enableColorScheme\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport { html, body } from '../CssBaseline/CssBaseline';\nimport { getScopedCssBaselineUtilityClass } from './scopedCssBaselineClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getScopedCssBaselineUtilityClass, classes);\n};\nconst ScopedCssBaselineRoot = styled('div', {\n name: 'MuiScopedCssBaseline',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})(({\n theme,\n ownerState\n}) => {\n const colorSchemeStyles = {};\n if (ownerState.enableColorScheme && theme.colorSchemes) {\n Object.entries(theme.colorSchemes).forEach(([key, scheme]) => {\n var _scheme$palette;\n colorSchemeStyles[`&${theme.getColorSchemeSelector(key).replace(/\\s*&/, '')}`] = {\n colorScheme: (_scheme$palette = scheme.palette) == null ? void 0 : _scheme$palette.mode\n };\n });\n }\n return _extends({}, html(theme, ownerState.enableColorScheme), body(theme), {\n '& *, & *::before, & *::after': {\n boxSizing: 'inherit'\n },\n '& strong, & b': {\n fontWeight: theme.typography.fontWeightBold\n }\n }, colorSchemeStyles);\n});\nconst ScopedCssBaseline = /*#__PURE__*/React.forwardRef(function ScopedCssBaseline(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiScopedCssBaseline'\n });\n const {\n className,\n component = 'div'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n component\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(ScopedCssBaselineRoot, _extends({\n as: component,\n className: clsx(classes.root, className),\n ref: ref,\n ownerState: ownerState\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? ScopedCssBaseline.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * Enable `color-scheme` CSS property to use `theme.palette.mode`.\n * For more details, check out https://developer.mozilla.org/en-US/docs/Web/CSS/color-scheme\n * For browser support, check out https://caniuse.com/?search=color-scheme\n */\n enableColorScheme: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default ScopedCssBaseline;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getSelectUtilityClasses(slot) {\n return generateUtilityClass('MuiSelect', slot);\n}\nconst selectClasses = generateUtilityClasses('MuiSelect', ['root', 'select', 'multiple', 'filled', 'outlined', 'standard', 'disabled', 'focused', 'icon', 'iconOpen', 'iconFilled', 'iconOutlined', 'iconStandard', 'nativeInput', 'error']);\nexport default selectClasses;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _formatMuiErrorMessage from \"@mui/utils/formatMuiErrorMessage\";\nvar _span;\nconst _excluded = [\"aria-describedby\", \"aria-label\", \"autoFocus\", \"autoWidth\", \"children\", \"className\", \"defaultOpen\", \"defaultValue\", \"disabled\", \"displayEmpty\", \"error\", \"IconComponent\", \"inputRef\", \"labelId\", \"MenuProps\", \"multiple\", \"name\", \"onBlur\", \"onChange\", \"onClose\", \"onFocus\", \"onOpen\", \"open\", \"readOnly\", \"renderValue\", \"SelectDisplayProps\", \"tabIndex\", \"type\", \"value\", \"variant\"];\nimport * as React from 'react';\nimport { isFragment } from 'react-is';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport useId from '@mui/utils/useId';\nimport refType from '@mui/utils/refType';\nimport ownerDocument from '../utils/ownerDocument';\nimport capitalize from '../utils/capitalize';\nimport Menu from '../Menu/Menu';\nimport { nativeSelectSelectStyles, nativeSelectIconStyles } from '../NativeSelect/NativeSelectInput';\nimport { isFilled } from '../InputBase/utils';\nimport styled, { slotShouldForwardProp } from '../styles/styled';\nimport useForkRef from '../utils/useForkRef';\nimport useControlled from '../utils/useControlled';\nimport selectClasses, { getSelectUtilityClasses } from './selectClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst SelectSelect = styled('div', {\n name: 'MuiSelect',\n slot: 'Select',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [\n // Win specificity over the input base\n {\n [`&.${selectClasses.select}`]: styles.select\n }, {\n [`&.${selectClasses.select}`]: styles[ownerState.variant]\n }, {\n [`&.${selectClasses.error}`]: styles.error\n }, {\n [`&.${selectClasses.multiple}`]: styles.multiple\n }];\n }\n})(nativeSelectSelectStyles, {\n // Win specificity over the input base\n [`&.${selectClasses.select}`]: {\n height: 'auto',\n // Resets for multiple select with chips\n minHeight: '1.4375em',\n // Required for select\\text-field height consistency\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n overflow: 'hidden'\n }\n});\nconst SelectIcon = styled('svg', {\n name: 'MuiSelect',\n slot: 'Icon',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.icon, ownerState.variant && styles[`icon${capitalize(ownerState.variant)}`], ownerState.open && styles.iconOpen];\n }\n})(nativeSelectIconStyles);\nconst SelectNativeInput = styled('input', {\n shouldForwardProp: prop => slotShouldForwardProp(prop) && prop !== 'classes',\n name: 'MuiSelect',\n slot: 'NativeInput',\n overridesResolver: (props, styles) => styles.nativeInput\n})({\n bottom: 0,\n left: 0,\n position: 'absolute',\n opacity: 0,\n pointerEvents: 'none',\n width: '100%',\n boxSizing: 'border-box'\n});\nfunction areEqualValues(a, b) {\n if (typeof b === 'object' && b !== null) {\n return a === b;\n }\n\n // The value could be a number, the DOM will stringify it anyway.\n return String(a) === String(b);\n}\nfunction isEmpty(display) {\n return display == null || typeof display === 'string' && !display.trim();\n}\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n variant,\n disabled,\n multiple,\n open,\n error\n } = ownerState;\n const slots = {\n select: ['select', variant, disabled && 'disabled', multiple && 'multiple', error && 'error'],\n icon: ['icon', `icon${capitalize(variant)}`, open && 'iconOpen', disabled && 'disabled'],\n nativeInput: ['nativeInput']\n };\n return composeClasses(slots, getSelectUtilityClasses, classes);\n};\n\n/**\n * @ignore - internal component.\n */\nconst SelectInput = /*#__PURE__*/React.forwardRef(function SelectInput(props, ref) {\n var _MenuProps$slotProps;\n const {\n 'aria-describedby': ariaDescribedby,\n 'aria-label': ariaLabel,\n autoFocus,\n autoWidth,\n children,\n className,\n defaultOpen,\n defaultValue,\n disabled,\n displayEmpty,\n error = false,\n IconComponent,\n inputRef: inputRefProp,\n labelId,\n MenuProps = {},\n multiple,\n name,\n onBlur,\n onChange,\n onClose,\n onFocus,\n onOpen,\n open: openProp,\n readOnly,\n renderValue,\n SelectDisplayProps = {},\n tabIndex: tabIndexProp\n // catching `type` from Input which makes no sense for SelectInput\n ,\n\n value: valueProp,\n variant = 'standard'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const [value, setValueState] = useControlled({\n controlled: valueProp,\n default: defaultValue,\n name: 'Select'\n });\n const [openState, setOpenState] = useControlled({\n controlled: openProp,\n default: defaultOpen,\n name: 'Select'\n });\n const inputRef = React.useRef(null);\n const displayRef = React.useRef(null);\n const [displayNode, setDisplayNode] = React.useState(null);\n const {\n current: isOpenControlled\n } = React.useRef(openProp != null);\n const [menuMinWidthState, setMenuMinWidthState] = React.useState();\n const handleRef = useForkRef(ref, inputRefProp);\n const handleDisplayRef = React.useCallback(node => {\n displayRef.current = node;\n if (node) {\n setDisplayNode(node);\n }\n }, []);\n const anchorElement = displayNode == null ? void 0 : displayNode.parentNode;\n React.useImperativeHandle(handleRef, () => ({\n focus: () => {\n displayRef.current.focus();\n },\n node: inputRef.current,\n value\n }), [value]);\n\n // Resize menu on `defaultOpen` automatic toggle.\n React.useEffect(() => {\n if (defaultOpen && openState && displayNode && !isOpenControlled) {\n setMenuMinWidthState(autoWidth ? null : anchorElement.clientWidth);\n displayRef.current.focus();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [displayNode, autoWidth]);\n // `isOpenControlled` is ignored because the component should never switch between controlled and uncontrolled modes.\n // `defaultOpen` and `openState` are ignored to avoid unnecessary callbacks.\n React.useEffect(() => {\n if (autoFocus) {\n displayRef.current.focus();\n }\n }, [autoFocus]);\n React.useEffect(() => {\n if (!labelId) {\n return undefined;\n }\n const label = ownerDocument(displayRef.current).getElementById(labelId);\n if (label) {\n const handler = () => {\n if (getSelection().isCollapsed) {\n displayRef.current.focus();\n }\n };\n label.addEventListener('click', handler);\n return () => {\n label.removeEventListener('click', handler);\n };\n }\n return undefined;\n }, [labelId]);\n const update = (open, event) => {\n if (open) {\n if (onOpen) {\n onOpen(event);\n }\n } else if (onClose) {\n onClose(event);\n }\n if (!isOpenControlled) {\n setMenuMinWidthState(autoWidth ? null : anchorElement.clientWidth);\n setOpenState(open);\n }\n };\n const handleMouseDown = event => {\n // Ignore everything but left-click\n if (event.button !== 0) {\n return;\n }\n // Hijack the default focus behavior.\n event.preventDefault();\n displayRef.current.focus();\n update(true, event);\n };\n const handleClose = event => {\n update(false, event);\n };\n const childrenArray = React.Children.toArray(children);\n\n // Support autofill.\n const handleChange = event => {\n const child = childrenArray.find(childItem => childItem.props.value === event.target.value);\n if (child === undefined) {\n return;\n }\n setValueState(child.props.value);\n if (onChange) {\n onChange(event, child);\n }\n };\n const handleItemClick = child => event => {\n let newValue;\n\n // We use the tabindex attribute to signal the available options.\n if (!event.currentTarget.hasAttribute('tabindex')) {\n return;\n }\n if (multiple) {\n newValue = Array.isArray(value) ? value.slice() : [];\n const itemIndex = value.indexOf(child.props.value);\n if (itemIndex === -1) {\n newValue.push(child.props.value);\n } else {\n newValue.splice(itemIndex, 1);\n }\n } else {\n newValue = child.props.value;\n }\n if (child.props.onClick) {\n child.props.onClick(event);\n }\n if (value !== newValue) {\n setValueState(newValue);\n if (onChange) {\n // Redefine target to allow name and value to be read.\n // This allows seamless integration with the most popular form libraries.\n // https://github.com/mui/material-ui/issues/13485#issuecomment-676048492\n // Clone the event to not override `target` of the original event.\n const nativeEvent = event.nativeEvent || event;\n const clonedEvent = new nativeEvent.constructor(nativeEvent.type, nativeEvent);\n Object.defineProperty(clonedEvent, 'target', {\n writable: true,\n value: {\n value: newValue,\n name\n }\n });\n onChange(clonedEvent, child);\n }\n }\n if (!multiple) {\n update(false, event);\n }\n };\n const handleKeyDown = event => {\n if (!readOnly) {\n const validKeys = [' ', 'ArrowUp', 'ArrowDown',\n // The native select doesn't respond to enter on macOS, but it's recommended by\n // https://www.w3.org/WAI/ARIA/apg/patterns/combobox/examples/combobox-select-only/\n 'Enter'];\n if (validKeys.indexOf(event.key) !== -1) {\n event.preventDefault();\n update(true, event);\n }\n }\n };\n const open = displayNode !== null && openState;\n const handleBlur = event => {\n // if open event.stopImmediatePropagation\n if (!open && onBlur) {\n // Preact support, target is read only property on a native event.\n Object.defineProperty(event, 'target', {\n writable: true,\n value: {\n value,\n name\n }\n });\n onBlur(event);\n }\n };\n delete other['aria-invalid'];\n let display;\n let displaySingle;\n const displayMultiple = [];\n let computeDisplay = false;\n let foundMatch = false;\n\n // No need to display any value if the field is empty.\n if (isFilled({\n value\n }) || displayEmpty) {\n if (renderValue) {\n display = renderValue(value);\n } else {\n computeDisplay = true;\n }\n }\n const items = childrenArray.map(child => {\n if (! /*#__PURE__*/React.isValidElement(child)) {\n return null;\n }\n if (process.env.NODE_ENV !== 'production') {\n if (isFragment(child)) {\n console.error([\"MUI: The Select component doesn't accept a Fragment as a child.\", 'Consider providing an array instead.'].join('\\n'));\n }\n }\n let selected;\n if (multiple) {\n if (!Array.isArray(value)) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: The \\`value\\` prop must be an array when using the \\`Select\\` component with \\`multiple\\`.` : _formatMuiErrorMessage(2));\n }\n selected = value.some(v => areEqualValues(v, child.props.value));\n if (selected && computeDisplay) {\n displayMultiple.push(child.props.children);\n }\n } else {\n selected = areEqualValues(value, child.props.value);\n if (selected && computeDisplay) {\n displaySingle = child.props.children;\n }\n }\n if (selected) {\n foundMatch = true;\n }\n return /*#__PURE__*/React.cloneElement(child, {\n 'aria-selected': selected ? 'true' : 'false',\n onClick: handleItemClick(child),\n onKeyUp: event => {\n if (event.key === ' ') {\n // otherwise our MenuItems dispatches a click event\n // it's not behavior of the native <option> and causes\n // the select to close immediately since we open on space keydown\n event.preventDefault();\n }\n if (child.props.onKeyUp) {\n child.props.onKeyUp(event);\n }\n },\n role: 'option',\n selected,\n value: undefined,\n // The value is most likely not a valid HTML attribute.\n 'data-value': child.props.value // Instead, we provide it as a data attribute.\n });\n });\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useEffect(() => {\n if (!foundMatch && !multiple && value !== '') {\n const values = childrenArray.map(child => child.props.value);\n console.warn([`MUI: You have provided an out-of-range value \\`${value}\\` for the select ${name ? `(name=\"${name}\") ` : ''}component.`, \"Consider providing a value that matches one of the available options or ''.\", `The available values are ${values.filter(x => x != null).map(x => `\\`${x}\\``).join(', ') || '\"\"'}.`].join('\\n'));\n }\n }, [foundMatch, childrenArray, multiple, name, value]);\n }\n if (computeDisplay) {\n if (multiple) {\n if (displayMultiple.length === 0) {\n display = null;\n } else {\n display = displayMultiple.reduce((output, child, index) => {\n output.push(child);\n if (index < displayMultiple.length - 1) {\n output.push(', ');\n }\n return output;\n }, []);\n }\n } else {\n display = displaySingle;\n }\n }\n\n // Avoid performing a layout computation in the render method.\n let menuMinWidth = menuMinWidthState;\n if (!autoWidth && isOpenControlled && displayNode) {\n menuMinWidth = anchorElement.clientWidth;\n }\n let tabIndex;\n if (typeof tabIndexProp !== 'undefined') {\n tabIndex = tabIndexProp;\n } else {\n tabIndex = disabled ? null : 0;\n }\n const buttonId = SelectDisplayProps.id || (name ? `mui-component-select-${name}` : undefined);\n const ownerState = _extends({}, props, {\n variant,\n value,\n open,\n error\n });\n const classes = useUtilityClasses(ownerState);\n const paperProps = _extends({}, MenuProps.PaperProps, (_MenuProps$slotProps = MenuProps.slotProps) == null ? void 0 : _MenuProps$slotProps.paper);\n const listboxId = useId();\n return /*#__PURE__*/_jsxs(React.Fragment, {\n children: [/*#__PURE__*/_jsx(SelectSelect, _extends({\n ref: handleDisplayRef,\n tabIndex: tabIndex,\n role: \"combobox\",\n \"aria-controls\": listboxId,\n \"aria-disabled\": disabled ? 'true' : undefined,\n \"aria-expanded\": open ? 'true' : 'false',\n \"aria-haspopup\": \"listbox\",\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": [labelId, buttonId].filter(Boolean).join(' ') || undefined,\n \"aria-describedby\": ariaDescribedby,\n onKeyDown: handleKeyDown,\n onMouseDown: disabled || readOnly ? null : handleMouseDown,\n onBlur: handleBlur,\n onFocus: onFocus\n }, SelectDisplayProps, {\n ownerState: ownerState,\n className: clsx(SelectDisplayProps.className, classes.select, className)\n // The id is required for proper a11y\n ,\n id: buttonId,\n children: isEmpty(display) ? // notranslate needed while Google Translate will not fix zero-width space issue\n _span || (_span = /*#__PURE__*/_jsx(\"span\", {\n className: \"notranslate\",\n children: \"\\u200B\"\n })) : display\n })), /*#__PURE__*/_jsx(SelectNativeInput, _extends({\n \"aria-invalid\": error,\n value: Array.isArray(value) ? value.join(',') : value,\n name: name,\n ref: inputRef,\n \"aria-hidden\": true,\n onChange: handleChange,\n tabIndex: -1,\n disabled: disabled,\n className: classes.nativeInput,\n autoFocus: autoFocus,\n ownerState: ownerState\n }, other)), /*#__PURE__*/_jsx(SelectIcon, {\n as: IconComponent,\n className: classes.icon,\n ownerState: ownerState\n }), /*#__PURE__*/_jsx(Menu, _extends({\n id: `menu-${name || ''}`,\n anchorEl: anchorElement,\n open: open,\n onClose: handleClose,\n anchorOrigin: {\n vertical: 'bottom',\n horizontal: 'center'\n },\n transformOrigin: {\n vertical: 'top',\n horizontal: 'center'\n }\n }, MenuProps, {\n MenuListProps: _extends({\n 'aria-labelledby': labelId,\n role: 'listbox',\n 'aria-multiselectable': multiple ? 'true' : undefined,\n disableListWrap: true,\n id: listboxId\n }, MenuProps.MenuListProps),\n slotProps: _extends({}, MenuProps.slotProps, {\n paper: _extends({}, paperProps, {\n style: _extends({\n minWidth: menuMinWidth\n }, paperProps != null ? paperProps.style : null)\n })\n }),\n children: items\n }))]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? SelectInput.propTypes = {\n /**\n * @ignore\n */\n 'aria-describedby': PropTypes.string,\n /**\n * @ignore\n */\n 'aria-label': PropTypes.string,\n /**\n * @ignore\n */\n autoFocus: PropTypes.bool,\n /**\n * If `true`, the width of the popover will automatically be set according to the items inside the\n * menu, otherwise it will be at least the width of the select input.\n */\n autoWidth: PropTypes.bool,\n /**\n * The option elements to populate the select with.\n * Can be some `<MenuItem>` elements.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * The CSS class name of the select element.\n */\n className: PropTypes.string,\n /**\n * If `true`, the component is toggled on mount. Use when the component open state is not controlled.\n * You can only use it when the `native` prop is `false` (default).\n */\n defaultOpen: PropTypes.bool,\n /**\n * The default value. Use when the component is not controlled.\n */\n defaultValue: PropTypes.any,\n /**\n * If `true`, the select is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the selected item is displayed even if its value is empty.\n */\n displayEmpty: PropTypes.bool,\n /**\n * If `true`, the `select input` will indicate an error.\n */\n error: PropTypes.bool,\n /**\n * The icon that displays the arrow.\n */\n IconComponent: PropTypes.elementType.isRequired,\n /**\n * Imperative handle implementing `{ value: T, node: HTMLElement, focus(): void }`\n * Equivalent to `ref`\n */\n inputRef: refType,\n /**\n * The ID of an element that acts as an additional label. The Select will\n * be labelled by the additional label and the selected value.\n */\n labelId: PropTypes.string,\n /**\n * Props applied to the [`Menu`](/material-ui/api/menu/) element.\n */\n MenuProps: PropTypes.object,\n /**\n * If `true`, `value` must be an array and the menu will support multiple selections.\n */\n multiple: PropTypes.bool,\n /**\n * Name attribute of the `select` or hidden `input` element.\n */\n name: PropTypes.string,\n /**\n * @ignore\n */\n onBlur: PropTypes.func,\n /**\n * Callback fired when a menu item is selected.\n *\n * @param {object} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value` (any).\n * @param {object} [child] The react element that was selected.\n */\n onChange: PropTypes.func,\n /**\n * Callback fired when the component requests to be closed.\n * Use in controlled mode (see open).\n *\n * @param {object} event The event source of the callback.\n */\n onClose: PropTypes.func,\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n /**\n * Callback fired when the component requests to be opened.\n * Use in controlled mode (see open).\n *\n * @param {object} event The event source of the callback.\n */\n onOpen: PropTypes.func,\n /**\n * If `true`, the component is shown.\n */\n open: PropTypes.bool,\n /**\n * @ignore\n */\n readOnly: PropTypes.bool,\n /**\n * Render the selected value.\n *\n * @param {any} value The `value` provided to the component.\n * @returns {ReactNode}\n */\n renderValue: PropTypes.func,\n /**\n * Props applied to the clickable div element.\n */\n SelectDisplayProps: PropTypes.object,\n /**\n * @ignore\n */\n tabIndex: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * @ignore\n */\n type: PropTypes.any,\n /**\n * The input value.\n */\n value: PropTypes.any,\n /**\n * The variant to use.\n */\n variant: PropTypes.oneOf(['standard', 'outlined', 'filled'])\n} : void 0;\nexport default SelectInput;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"autoWidth\", \"children\", \"classes\", \"className\", \"defaultOpen\", \"displayEmpty\", \"IconComponent\", \"id\", \"input\", \"inputProps\", \"label\", \"labelId\", \"MenuProps\", \"multiple\", \"native\", \"onClose\", \"onOpen\", \"open\", \"renderValue\", \"SelectDisplayProps\", \"variant\"],\n _excluded2 = [\"root\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport deepmerge from '@mui/utils/deepmerge';\nimport SelectInput from './SelectInput';\nimport formControlState from '../FormControl/formControlState';\nimport useFormControl from '../FormControl/useFormControl';\nimport ArrowDropDownIcon from '../internal/svg-icons/ArrowDropDown';\nimport Input from '../Input';\nimport NativeSelectInput from '../NativeSelect/NativeSelectInput';\nimport FilledInput from '../FilledInput';\nimport OutlinedInput from '../OutlinedInput';\nimport useThemeProps from '../styles/useThemeProps';\nimport useForkRef from '../utils/useForkRef';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n return classes;\n};\nconst styledRootConfig = {\n name: 'MuiSelect',\n overridesResolver: (props, styles) => styles.root,\n shouldForwardProp: prop => rootShouldForwardProp(prop) && prop !== 'variant',\n slot: 'Root'\n};\nconst StyledInput = styled(Input, styledRootConfig)('');\nconst StyledOutlinedInput = styled(OutlinedInput, styledRootConfig)('');\nconst StyledFilledInput = styled(FilledInput, styledRootConfig)('');\nconst Select = /*#__PURE__*/React.forwardRef(function Select(inProps, ref) {\n const props = useThemeProps({\n name: 'MuiSelect',\n props: inProps\n });\n const {\n autoWidth = false,\n children,\n classes: classesProp = {},\n className,\n defaultOpen = false,\n displayEmpty = false,\n IconComponent = ArrowDropDownIcon,\n id,\n input,\n inputProps,\n label,\n labelId,\n MenuProps,\n multiple = false,\n native = false,\n onClose,\n onOpen,\n open,\n renderValue,\n SelectDisplayProps,\n variant: variantProp = 'outlined'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const inputComponent = native ? NativeSelectInput : SelectInput;\n const muiFormControl = useFormControl();\n const fcs = formControlState({\n props,\n muiFormControl,\n states: ['variant', 'error']\n });\n const variant = fcs.variant || variantProp;\n const ownerState = _extends({}, props, {\n variant,\n classes: classesProp\n });\n const classes = useUtilityClasses(ownerState);\n const restOfClasses = _objectWithoutPropertiesLoose(classes, _excluded2);\n const InputComponent = input || {\n standard: /*#__PURE__*/_jsx(StyledInput, {\n ownerState: ownerState\n }),\n outlined: /*#__PURE__*/_jsx(StyledOutlinedInput, {\n label: label,\n ownerState: ownerState\n }),\n filled: /*#__PURE__*/_jsx(StyledFilledInput, {\n ownerState: ownerState\n })\n }[variant];\n const inputComponentRef = useForkRef(ref, InputComponent.ref);\n return /*#__PURE__*/_jsx(React.Fragment, {\n children: /*#__PURE__*/React.cloneElement(InputComponent, _extends({\n // Most of the logic is implemented in `SelectInput`.\n // The `Select` component is a simple API wrapper to expose something better to play with.\n inputComponent,\n inputProps: _extends({\n children,\n error: fcs.error,\n IconComponent,\n variant,\n type: undefined,\n // We render a select. We can ignore the type provided by the `Input`.\n multiple\n }, native ? {\n id\n } : {\n autoWidth,\n defaultOpen,\n displayEmpty,\n labelId,\n MenuProps,\n onClose,\n onOpen,\n open,\n renderValue,\n SelectDisplayProps: _extends({\n id\n }, SelectDisplayProps)\n }, inputProps, {\n classes: inputProps ? deepmerge(restOfClasses, inputProps.classes) : restOfClasses\n }, input ? input.props.inputProps : {})\n }, (multiple && native || displayEmpty) && variant === 'outlined' ? {\n notched: true\n } : {}, {\n ref: inputComponentRef,\n className: clsx(InputComponent.props.className, className, classes.root)\n }, !input && {\n variant\n }, other))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Select.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * If `true`, the width of the popover will automatically be set according to the items inside the\n * menu, otherwise it will be at least the width of the select input.\n * @default false\n */\n autoWidth: PropTypes.bool,\n /**\n * The option elements to populate the select with.\n * Can be some `MenuItem` when `native` is false and `option` when `native` is true.\n *\n * ⚠️The `MenuItem` elements **must** be direct descendants when `native` is false.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n * @default {}\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * If `true`, the component is initially open. Use when the component open state is not controlled (i.e. the `open` prop is not defined).\n * You can only use it when the `native` prop is `false` (default).\n * @default false\n */\n defaultOpen: PropTypes.bool,\n /**\n * The default value. Use when the component is not controlled.\n */\n defaultValue: PropTypes.any,\n /**\n * If `true`, a value is displayed even if no items are selected.\n *\n * In order to display a meaningful value, a function can be passed to the `renderValue` prop which\n * returns the value to be displayed when no items are selected.\n *\n * ⚠️ When using this prop, make sure the label doesn't overlap with the empty displayed value.\n * The label should either be hidden or forced to a shrunk state.\n * @default false\n */\n displayEmpty: PropTypes.bool,\n /**\n * The icon that displays the arrow.\n * @default ArrowDropDownIcon\n */\n IconComponent: PropTypes.elementType,\n /**\n * The `id` of the wrapper element or the `select` element when `native`.\n */\n id: PropTypes.string,\n /**\n * An `Input` element; does not have to be a material-ui specific `Input`.\n */\n input: PropTypes.element,\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n * When `native` is `true`, the attributes are applied on the `select` element.\n */\n inputProps: PropTypes.object,\n /**\n * See [OutlinedInput#label](/material-ui/api/outlined-input/#props)\n */\n label: PropTypes.node,\n /**\n * The ID of an element that acts as an additional label. The Select will\n * be labelled by the additional label and the selected value.\n */\n labelId: PropTypes.string,\n /**\n * Props applied to the [`Menu`](/material-ui/api/menu/) element.\n */\n MenuProps: PropTypes.object,\n /**\n * If `true`, `value` must be an array and the menu will support multiple selections.\n * @default false\n */\n multiple: PropTypes.bool,\n /**\n * If `true`, the component uses a native `select` element.\n * @default false\n */\n native: PropTypes.bool,\n /**\n * Callback fired when a menu item is selected.\n *\n * @param {SelectChangeEvent<Value>} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value` (any).\n * **Warning**: This is a generic event, not a change event, unless the change event is caused by browser autofill.\n * @param {object} [child] The react element that was selected when `native` is `false` (default).\n */\n onChange: PropTypes.func,\n /**\n * Callback fired when the component requests to be closed.\n * Use it in either controlled (see the `open` prop), or uncontrolled mode (to detect when the Select collapses).\n *\n * @param {object} event The event source of the callback.\n */\n onClose: PropTypes.func,\n /**\n * Callback fired when the component requests to be opened.\n * Use it in either controlled (see the `open` prop), or uncontrolled mode (to detect when the Select expands).\n *\n * @param {object} event The event source of the callback.\n */\n onOpen: PropTypes.func,\n /**\n * If `true`, the component is shown.\n * You can only use it when the `native` prop is `false` (default).\n */\n open: PropTypes.bool,\n /**\n * Render the selected value.\n * You can only use it when the `native` prop is `false` (default).\n *\n * @param {any} value The `value` provided to the component.\n * @returns {ReactNode}\n */\n renderValue: PropTypes.func,\n /**\n * Props applied to the clickable div element.\n */\n SelectDisplayProps: PropTypes.object,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The `input` value. Providing an empty string will select no options.\n * Set to an empty string `''` if you don't want any of the available options to be selected.\n *\n * If the value is an object it must have reference equality with the option in order to be selected.\n * If the value is not an object, the string representation must match with the string representation of the option in order to be selected.\n */\n value: PropTypes.oneOfType([PropTypes.oneOf(['']), PropTypes.any]),\n /**\n * The variant to use.\n * @default 'outlined'\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nSelect.muiName = 'Select';\nexport default Select;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getSnackbarContentUtilityClass(slot) {\n return generateUtilityClass('MuiSnackbarContent', slot);\n}\nconst snackbarContentClasses = generateUtilityClasses('MuiSnackbarContent', ['root', 'message', 'action']);\nexport default snackbarContentClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"action\", \"className\", \"message\", \"role\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { emphasize } from '@mui/system/colorManipulator';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport Paper from '../Paper';\nimport { getSnackbarContentUtilityClass } from './snackbarContentClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root'],\n action: ['action'],\n message: ['message']\n };\n return composeClasses(slots, getSnackbarContentUtilityClass, classes);\n};\nconst SnackbarContentRoot = styled(Paper, {\n name: 'MuiSnackbarContent',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})(({\n theme\n}) => {\n const emphasis = theme.palette.mode === 'light' ? 0.8 : 0.98;\n const backgroundColor = emphasize(theme.palette.background.default, emphasis);\n return _extends({}, theme.typography.body2, {\n color: theme.vars ? theme.vars.palette.SnackbarContent.color : theme.palette.getContrastText(backgroundColor),\n backgroundColor: theme.vars ? theme.vars.palette.SnackbarContent.bg : backgroundColor,\n display: 'flex',\n alignItems: 'center',\n flexWrap: 'wrap',\n padding: '6px 16px',\n borderRadius: (theme.vars || theme).shape.borderRadius,\n flexGrow: 1,\n [theme.breakpoints.up('sm')]: {\n flexGrow: 'initial',\n minWidth: 288\n }\n });\n});\nconst SnackbarContentMessage = styled('div', {\n name: 'MuiSnackbarContent',\n slot: 'Message',\n overridesResolver: (props, styles) => styles.message\n})({\n padding: '8px 0'\n});\nconst SnackbarContentAction = styled('div', {\n name: 'MuiSnackbarContent',\n slot: 'Action',\n overridesResolver: (props, styles) => styles.action\n})({\n display: 'flex',\n alignItems: 'center',\n marginLeft: 'auto',\n paddingLeft: 16,\n marginRight: -8\n});\nconst SnackbarContent = /*#__PURE__*/React.forwardRef(function SnackbarContent(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiSnackbarContent'\n });\n const {\n action,\n className,\n message,\n role = 'alert'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = props;\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(SnackbarContentRoot, _extends({\n role: role,\n square: true,\n elevation: 6,\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref\n }, other, {\n children: [/*#__PURE__*/_jsx(SnackbarContentMessage, {\n className: classes.message,\n ownerState: ownerState,\n children: message\n }), action ? /*#__PURE__*/_jsx(SnackbarContentAction, {\n className: classes.action,\n ownerState: ownerState,\n children: action\n }) : null]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? SnackbarContent.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The action to display. It renders after the message, at the end of the snackbar.\n */\n action: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The message to display.\n */\n message: PropTypes.node,\n /**\n * The ARIA role attribute of the element.\n * @default 'alert'\n */\n role: PropTypes /* @typescript-to-proptypes-ignore */.string,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default SnackbarContent;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getSnackbarUtilityClass(slot) {\n return generateUtilityClass('MuiSnackbar', slot);\n}\nconst snackbarClasses = generateUtilityClasses('MuiSnackbar', ['root', 'anchorOriginTopCenter', 'anchorOriginBottomCenter', 'anchorOriginTopRight', 'anchorOriginBottomRight', 'anchorOriginTopLeft', 'anchorOriginBottomLeft']);\nexport default snackbarClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"onEnter\", \"onExited\"],\n _excluded2 = [\"action\", \"anchorOrigin\", \"autoHideDuration\", \"children\", \"className\", \"ClickAwayListenerProps\", \"ContentProps\", \"disableWindowBlurListener\", \"message\", \"onBlur\", \"onClose\", \"onFocus\", \"onMouseEnter\", \"onMouseLeave\", \"open\", \"resumeHideDuration\", \"TransitionComponent\", \"transitionDuration\", \"TransitionProps\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { useSlotProps } from '@mui/base/utils';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { ClickAwayListener } from '@mui/base/ClickAwayListener';\nimport { useSnackbar } from '@mui/base/useSnackbar';\nimport styled from '../styles/styled';\nimport useTheme from '../styles/useTheme';\nimport useThemeProps from '../styles/useThemeProps';\nimport capitalize from '../utils/capitalize';\nimport Grow from '../Grow';\nimport SnackbarContent from '../SnackbarContent';\nimport { getSnackbarUtilityClass } from './snackbarClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n anchorOrigin\n } = ownerState;\n const slots = {\n root: ['root', `anchorOrigin${capitalize(anchorOrigin.vertical)}${capitalize(anchorOrigin.horizontal)}`]\n };\n return composeClasses(slots, getSnackbarUtilityClass, classes);\n};\nconst SnackbarRoot = styled('div', {\n name: 'MuiSnackbar',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`anchorOrigin${capitalize(ownerState.anchorOrigin.vertical)}${capitalize(ownerState.anchorOrigin.horizontal)}`]];\n }\n})(({\n theme,\n ownerState\n}) => {\n const center = {\n left: '50%',\n right: 'auto',\n transform: 'translateX(-50%)'\n };\n return _extends({\n zIndex: (theme.vars || theme).zIndex.snackbar,\n position: 'fixed',\n display: 'flex',\n left: 8,\n right: 8,\n justifyContent: 'center',\n alignItems: 'center'\n }, ownerState.anchorOrigin.vertical === 'top' ? {\n top: 8\n } : {\n bottom: 8\n }, ownerState.anchorOrigin.horizontal === 'left' && {\n justifyContent: 'flex-start'\n }, ownerState.anchorOrigin.horizontal === 'right' && {\n justifyContent: 'flex-end'\n }, {\n [theme.breakpoints.up('sm')]: _extends({}, ownerState.anchorOrigin.vertical === 'top' ? {\n top: 24\n } : {\n bottom: 24\n }, ownerState.anchorOrigin.horizontal === 'center' && center, ownerState.anchorOrigin.horizontal === 'left' && {\n left: 24,\n right: 'auto'\n }, ownerState.anchorOrigin.horizontal === 'right' && {\n right: 24,\n left: 'auto'\n })\n });\n});\nconst Snackbar = /*#__PURE__*/React.forwardRef(function Snackbar(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiSnackbar'\n });\n const theme = useTheme();\n const defaultTransitionDuration = {\n enter: theme.transitions.duration.enteringScreen,\n exit: theme.transitions.duration.leavingScreen\n };\n const {\n action,\n anchorOrigin: {\n vertical,\n horizontal\n } = {\n vertical: 'bottom',\n horizontal: 'left'\n },\n autoHideDuration = null,\n children,\n className,\n ClickAwayListenerProps,\n ContentProps,\n disableWindowBlurListener = false,\n message,\n open,\n TransitionComponent = Grow,\n transitionDuration = defaultTransitionDuration,\n TransitionProps: {\n onEnter,\n onExited\n } = {}\n } = props,\n TransitionProps = _objectWithoutPropertiesLoose(props.TransitionProps, _excluded),\n other = _objectWithoutPropertiesLoose(props, _excluded2);\n const ownerState = _extends({}, props, {\n anchorOrigin: {\n vertical,\n horizontal\n },\n autoHideDuration,\n disableWindowBlurListener,\n TransitionComponent,\n transitionDuration\n });\n const classes = useUtilityClasses(ownerState);\n const {\n getRootProps,\n onClickAway\n } = useSnackbar(_extends({}, ownerState));\n const [exited, setExited] = React.useState(true);\n const rootProps = useSlotProps({\n elementType: SnackbarRoot,\n getSlotProps: getRootProps,\n externalForwardedProps: other,\n ownerState,\n additionalProps: {\n ref\n },\n className: [classes.root, className]\n });\n const handleExited = node => {\n setExited(true);\n if (onExited) {\n onExited(node);\n }\n };\n const handleEnter = (node, isAppearing) => {\n setExited(false);\n if (onEnter) {\n onEnter(node, isAppearing);\n }\n };\n\n // So we only render active snackbars.\n if (!open && exited) {\n return null;\n }\n return /*#__PURE__*/_jsx(ClickAwayListener, _extends({\n onClickAway: onClickAway\n }, ClickAwayListenerProps, {\n children: /*#__PURE__*/_jsx(SnackbarRoot, _extends({}, rootProps, {\n children: /*#__PURE__*/_jsx(TransitionComponent, _extends({\n appear: true,\n in: open,\n timeout: transitionDuration,\n direction: vertical === 'top' ? 'down' : 'up',\n onEnter: handleEnter,\n onExited: handleExited\n }, TransitionProps, {\n children: children || /*#__PURE__*/_jsx(SnackbarContent, _extends({\n message: message,\n action: action\n }, ContentProps))\n }))\n }))\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Snackbar.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The action to display. It renders after the message, at the end of the snackbar.\n */\n action: PropTypes.node,\n /**\n * The anchor of the `Snackbar`.\n * On smaller screens, the component grows to occupy all the available width,\n * the horizontal alignment is ignored.\n * @default { vertical: 'bottom', horizontal: 'left' }\n */\n anchorOrigin: PropTypes.shape({\n horizontal: PropTypes.oneOf(['center', 'left', 'right']).isRequired,\n vertical: PropTypes.oneOf(['bottom', 'top']).isRequired\n }),\n /**\n * The number of milliseconds to wait before automatically calling the\n * `onClose` function. `onClose` should then set the state of the `open`\n * prop to hide the Snackbar. This behavior is disabled by default with\n * the `null` value.\n * @default null\n */\n autoHideDuration: PropTypes.number,\n /**\n * Replace the `SnackbarContent` component.\n */\n children: PropTypes.element,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * Props applied to the `ClickAwayListener` element.\n */\n ClickAwayListenerProps: PropTypes.object,\n /**\n * Props applied to the [`SnackbarContent`](/material-ui/api/snackbar-content/) element.\n */\n ContentProps: PropTypes.object,\n /**\n * If `true`, the `autoHideDuration` timer will expire even if the window is not focused.\n * @default false\n */\n disableWindowBlurListener: PropTypes.bool,\n /**\n * When displaying multiple consecutive snackbars using a single parent-rendered\n * `<Snackbar/>`, add the `key` prop to ensure independent treatment of each message.\n * For instance, use `<Snackbar key={message} />`. Otherwise, messages might update\n * in place, and features like `autoHideDuration` could be affected.\n */\n key: () => null,\n /**\n * The message to display.\n */\n message: PropTypes.node,\n /**\n * @ignore\n */\n onBlur: PropTypes.func,\n /**\n * Callback fired when the component requests to be closed.\n * Typically `onClose` is used to set state in the parent component,\n * which is used to control the `Snackbar` `open` prop.\n * The `reason` parameter can optionally be used to control the response to `onClose`,\n * for example ignoring `clickaway`.\n *\n * @param {React.SyntheticEvent<any> | Event} event The event source of the callback.\n * @param {string} reason Can be: `\"timeout\"` (`autoHideDuration` expired), `\"clickaway\"`, or `\"escapeKeyDown\"`.\n */\n onClose: PropTypes.func,\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n /**\n * @ignore\n */\n onMouseEnter: PropTypes.func,\n /**\n * @ignore\n */\n onMouseLeave: PropTypes.func,\n /**\n * If `true`, the component is shown.\n */\n open: PropTypes.bool,\n /**\n * The number of milliseconds to wait before dismissing after user interaction.\n * If `autoHideDuration` prop isn't specified, it does nothing.\n * If `autoHideDuration` prop is specified but `resumeHideDuration` isn't,\n * we default to `autoHideDuration / 2` ms.\n */\n resumeHideDuration: PropTypes.number,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The component used for the transition.\n * [Follow this guide](/material-ui/transitions/#transitioncomponent-prop) to learn more about the requirements for this component.\n * @default Grow\n */\n TransitionComponent: PropTypes.elementType,\n /**\n * The duration for the transition, in milliseconds.\n * You may specify a single timeout for all transitions, or individually with an object.\n * @default {\n * enter: theme.transitions.duration.enteringScreen,\n * exit: theme.transitions.duration.leavingScreen,\n * }\n */\n transitionDuration: PropTypes.oneOfType([PropTypes.number, PropTypes.shape({\n appear: PropTypes.number,\n enter: PropTypes.number,\n exit: PropTypes.number\n })]),\n /**\n * Props applied to the transition element.\n * By default, the element is based on this [`Transition`](https://reactcommunity.org/react-transition-group/transition/) component.\n * @default {}\n */\n TransitionProps: PropTypes.object\n} : void 0;\nexport default Snackbar;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getTooltipUtilityClass(slot) {\n return generateUtilityClass('MuiTooltip', slot);\n}\nconst tooltipClasses = generateUtilityClasses('MuiTooltip', ['popper', 'popperInteractive', 'popperArrow', 'popperClose', 'tooltip', 'tooltipArrow', 'touch', 'tooltipPlacementLeft', 'tooltipPlacementRight', 'tooltipPlacementTop', 'tooltipPlacementBottom', 'arrow']);\nexport default tooltipClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"arrow\", \"children\", \"classes\", \"components\", \"componentsProps\", \"describeChild\", \"disableFocusListener\", \"disableHoverListener\", \"disableInteractive\", \"disableTouchListener\", \"enterDelay\", \"enterNextDelay\", \"enterTouchDelay\", \"followCursor\", \"id\", \"leaveDelay\", \"leaveTouchDelay\", \"onClose\", \"onOpen\", \"open\", \"placement\", \"PopperComponent\", \"PopperProps\", \"slotProps\", \"slots\", \"title\", \"TransitionComponent\", \"TransitionProps\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport useTimeout, { Timeout } from '@mui/utils/useTimeout';\nimport elementAcceptingRef from '@mui/utils/elementAcceptingRef';\nimport { appendOwnerState } from '@mui/base/utils';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { alpha } from '@mui/system/colorManipulator';\nimport { useRtl } from '@mui/system/RtlProvider';\nimport styled from '../styles/styled';\nimport useTheme from '../styles/useTheme';\nimport useThemeProps from '../styles/useThemeProps';\nimport capitalize from '../utils/capitalize';\nimport Grow from '../Grow';\nimport Popper from '../Popper';\nimport useEventCallback from '../utils/useEventCallback';\nimport useForkRef from '../utils/useForkRef';\nimport useId from '../utils/useId';\nimport useIsFocusVisible from '../utils/useIsFocusVisible';\nimport useControlled from '../utils/useControlled';\nimport tooltipClasses, { getTooltipUtilityClass } from './tooltipClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nfunction round(value) {\n return Math.round(value * 1e5) / 1e5;\n}\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disableInteractive,\n arrow,\n touch,\n placement\n } = ownerState;\n const slots = {\n popper: ['popper', !disableInteractive && 'popperInteractive', arrow && 'popperArrow'],\n tooltip: ['tooltip', arrow && 'tooltipArrow', touch && 'touch', `tooltipPlacement${capitalize(placement.split('-')[0])}`],\n arrow: ['arrow']\n };\n return composeClasses(slots, getTooltipUtilityClass, classes);\n};\nconst TooltipPopper = styled(Popper, {\n name: 'MuiTooltip',\n slot: 'Popper',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.popper, !ownerState.disableInteractive && styles.popperInteractive, ownerState.arrow && styles.popperArrow, !ownerState.open && styles.popperClose];\n }\n})(({\n theme,\n ownerState,\n open\n}) => _extends({\n zIndex: (theme.vars || theme).zIndex.tooltip,\n pointerEvents: 'none'\n}, !ownerState.disableInteractive && {\n pointerEvents: 'auto'\n}, !open && {\n pointerEvents: 'none'\n}, ownerState.arrow && {\n [`&[data-popper-placement*=\"bottom\"] .${tooltipClasses.arrow}`]: {\n top: 0,\n marginTop: '-0.71em',\n '&::before': {\n transformOrigin: '0 100%'\n }\n },\n [`&[data-popper-placement*=\"top\"] .${tooltipClasses.arrow}`]: {\n bottom: 0,\n marginBottom: '-0.71em',\n '&::before': {\n transformOrigin: '100% 0'\n }\n },\n [`&[data-popper-placement*=\"right\"] .${tooltipClasses.arrow}`]: _extends({}, !ownerState.isRtl ? {\n left: 0,\n marginLeft: '-0.71em'\n } : {\n right: 0,\n marginRight: '-0.71em'\n }, {\n height: '1em',\n width: '0.71em',\n '&::before': {\n transformOrigin: '100% 100%'\n }\n }),\n [`&[data-popper-placement*=\"left\"] .${tooltipClasses.arrow}`]: _extends({}, !ownerState.isRtl ? {\n right: 0,\n marginRight: '-0.71em'\n } : {\n left: 0,\n marginLeft: '-0.71em'\n }, {\n height: '1em',\n width: '0.71em',\n '&::before': {\n transformOrigin: '0 0'\n }\n })\n}));\nconst TooltipTooltip = styled('div', {\n name: 'MuiTooltip',\n slot: 'Tooltip',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.tooltip, ownerState.touch && styles.touch, ownerState.arrow && styles.tooltipArrow, styles[`tooltipPlacement${capitalize(ownerState.placement.split('-')[0])}`]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n backgroundColor: theme.vars ? theme.vars.palette.Tooltip.bg : alpha(theme.palette.grey[700], 0.92),\n borderRadius: (theme.vars || theme).shape.borderRadius,\n color: (theme.vars || theme).palette.common.white,\n fontFamily: theme.typography.fontFamily,\n padding: '4px 8px',\n fontSize: theme.typography.pxToRem(11),\n maxWidth: 300,\n margin: 2,\n wordWrap: 'break-word',\n fontWeight: theme.typography.fontWeightMedium\n}, ownerState.arrow && {\n position: 'relative',\n margin: 0\n}, ownerState.touch && {\n padding: '8px 16px',\n fontSize: theme.typography.pxToRem(14),\n lineHeight: `${round(16 / 14)}em`,\n fontWeight: theme.typography.fontWeightRegular\n}, {\n [`.${tooltipClasses.popper}[data-popper-placement*=\"left\"] &`]: _extends({\n transformOrigin: 'right center'\n }, !ownerState.isRtl ? _extends({\n marginRight: '14px'\n }, ownerState.touch && {\n marginRight: '24px'\n }) : _extends({\n marginLeft: '14px'\n }, ownerState.touch && {\n marginLeft: '24px'\n })),\n [`.${tooltipClasses.popper}[data-popper-placement*=\"right\"] &`]: _extends({\n transformOrigin: 'left center'\n }, !ownerState.isRtl ? _extends({\n marginLeft: '14px'\n }, ownerState.touch && {\n marginLeft: '24px'\n }) : _extends({\n marginRight: '14px'\n }, ownerState.touch && {\n marginRight: '24px'\n })),\n [`.${tooltipClasses.popper}[data-popper-placement*=\"top\"] &`]: _extends({\n transformOrigin: 'center bottom',\n marginBottom: '14px'\n }, ownerState.touch && {\n marginBottom: '24px'\n }),\n [`.${tooltipClasses.popper}[data-popper-placement*=\"bottom\"] &`]: _extends({\n transformOrigin: 'center top',\n marginTop: '14px'\n }, ownerState.touch && {\n marginTop: '24px'\n })\n}));\nconst TooltipArrow = styled('span', {\n name: 'MuiTooltip',\n slot: 'Arrow',\n overridesResolver: (props, styles) => styles.arrow\n})(({\n theme\n}) => ({\n overflow: 'hidden',\n position: 'absolute',\n width: '1em',\n height: '0.71em' /* = width / sqrt(2) = (length of the hypotenuse) */,\n boxSizing: 'border-box',\n color: theme.vars ? theme.vars.palette.Tooltip.bg : alpha(theme.palette.grey[700], 0.9),\n '&::before': {\n content: '\"\"',\n margin: 'auto',\n display: 'block',\n width: '100%',\n height: '100%',\n backgroundColor: 'currentColor',\n transform: 'rotate(45deg)'\n }\n}));\nlet hystersisOpen = false;\nconst hystersisTimer = new Timeout();\nlet cursorPosition = {\n x: 0,\n y: 0\n};\nexport function testReset() {\n hystersisOpen = false;\n hystersisTimer.clear();\n}\nfunction composeEventHandler(handler, eventHandler) {\n return (event, ...params) => {\n if (eventHandler) {\n eventHandler(event, ...params);\n }\n handler(event, ...params);\n };\n}\n\n// TODO v6: Remove PopperComponent, PopperProps, TransitionComponent and TransitionProps.\nconst Tooltip = /*#__PURE__*/React.forwardRef(function Tooltip(inProps, ref) {\n var _ref, _slots$popper, _ref2, _ref3, _slots$transition, _ref4, _slots$tooltip, _ref5, _slots$arrow, _slotProps$popper, _ref6, _slotProps$popper2, _slotProps$transition, _slotProps$tooltip, _ref7, _slotProps$tooltip2, _slotProps$arrow, _ref8, _slotProps$arrow2;\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTooltip'\n });\n const {\n arrow = false,\n children: childrenProp,\n components = {},\n componentsProps = {},\n describeChild = false,\n disableFocusListener = false,\n disableHoverListener = false,\n disableInteractive: disableInteractiveProp = false,\n disableTouchListener = false,\n enterDelay = 100,\n enterNextDelay = 0,\n enterTouchDelay = 700,\n followCursor = false,\n id: idProp,\n leaveDelay = 0,\n leaveTouchDelay = 1500,\n onClose,\n onOpen,\n open: openProp,\n placement = 'bottom',\n PopperComponent: PopperComponentProp,\n PopperProps = {},\n slotProps = {},\n slots = {},\n title,\n TransitionComponent: TransitionComponentProp = Grow,\n TransitionProps\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n // to prevent runtime errors, developers will need to provide a child as a React element anyway.\n const children = /*#__PURE__*/React.isValidElement(childrenProp) ? childrenProp : /*#__PURE__*/_jsx(\"span\", {\n children: childrenProp\n });\n const theme = useTheme();\n const isRtl = useRtl();\n const [childNode, setChildNode] = React.useState();\n const [arrowRef, setArrowRef] = React.useState(null);\n const ignoreNonTouchEvents = React.useRef(false);\n const disableInteractive = disableInteractiveProp || followCursor;\n const closeTimer = useTimeout();\n const enterTimer = useTimeout();\n const leaveTimer = useTimeout();\n const touchTimer = useTimeout();\n const [openState, setOpenState] = useControlled({\n controlled: openProp,\n default: false,\n name: 'Tooltip',\n state: 'open'\n });\n let open = openState;\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const {\n current: isControlled\n } = React.useRef(openProp !== undefined);\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useEffect(() => {\n if (childNode && childNode.disabled && !isControlled && title !== '' && childNode.tagName.toLowerCase() === 'button') {\n console.error(['MUI: You are providing a disabled `button` child to the Tooltip component.', 'A disabled element does not fire events.', \"Tooltip needs to listen to the child element's events to display the title.\", '', 'Add a simple wrapper element, such as a `span`.'].join('\\n'));\n }\n }, [title, childNode, isControlled]);\n }\n const id = useId(idProp);\n const prevUserSelect = React.useRef();\n const stopTouchInteraction = useEventCallback(() => {\n if (prevUserSelect.current !== undefined) {\n document.body.style.WebkitUserSelect = prevUserSelect.current;\n prevUserSelect.current = undefined;\n }\n touchTimer.clear();\n });\n React.useEffect(() => stopTouchInteraction, [stopTouchInteraction]);\n const handleOpen = event => {\n hystersisTimer.clear();\n hystersisOpen = true;\n\n // The mouseover event will trigger for every nested element in the tooltip.\n // We can skip rerendering when the tooltip is already open.\n // We are using the mouseover event instead of the mouseenter event to fix a hide/show issue.\n setOpenState(true);\n if (onOpen && !open) {\n onOpen(event);\n }\n };\n const handleClose = useEventCallback(\n /**\n * @param {React.SyntheticEvent | Event} event\n */\n event => {\n hystersisTimer.start(800 + leaveDelay, () => {\n hystersisOpen = false;\n });\n setOpenState(false);\n if (onClose && open) {\n onClose(event);\n }\n closeTimer.start(theme.transitions.duration.shortest, () => {\n ignoreNonTouchEvents.current = false;\n });\n });\n const handleMouseOver = event => {\n if (ignoreNonTouchEvents.current && event.type !== 'touchstart') {\n return;\n }\n\n // Remove the title ahead of time.\n // We don't want to wait for the next render commit.\n // We would risk displaying two tooltips at the same time (native + this one).\n if (childNode) {\n childNode.removeAttribute('title');\n }\n enterTimer.clear();\n leaveTimer.clear();\n if (enterDelay || hystersisOpen && enterNextDelay) {\n enterTimer.start(hystersisOpen ? enterNextDelay : enterDelay, () => {\n handleOpen(event);\n });\n } else {\n handleOpen(event);\n }\n };\n const handleMouseLeave = event => {\n enterTimer.clear();\n leaveTimer.start(leaveDelay, () => {\n handleClose(event);\n });\n };\n const {\n isFocusVisibleRef,\n onBlur: handleBlurVisible,\n onFocus: handleFocusVisible,\n ref: focusVisibleRef\n } = useIsFocusVisible();\n // We don't necessarily care about the focusVisible state (which is safe to access via ref anyway).\n // We just need to re-render the Tooltip if the focus-visible state changes.\n const [, setChildIsFocusVisible] = React.useState(false);\n const handleBlur = event => {\n handleBlurVisible(event);\n if (isFocusVisibleRef.current === false) {\n setChildIsFocusVisible(false);\n handleMouseLeave(event);\n }\n };\n const handleFocus = event => {\n // Workaround for https://github.com/facebook/react/issues/7769\n // The autoFocus of React might trigger the event before the componentDidMount.\n // We need to account for this eventuality.\n if (!childNode) {\n setChildNode(event.currentTarget);\n }\n handleFocusVisible(event);\n if (isFocusVisibleRef.current === true) {\n setChildIsFocusVisible(true);\n handleMouseOver(event);\n }\n };\n const detectTouchStart = event => {\n ignoreNonTouchEvents.current = true;\n const childrenProps = children.props;\n if (childrenProps.onTouchStart) {\n childrenProps.onTouchStart(event);\n }\n };\n const handleTouchStart = event => {\n detectTouchStart(event);\n leaveTimer.clear();\n closeTimer.clear();\n stopTouchInteraction();\n prevUserSelect.current = document.body.style.WebkitUserSelect;\n // Prevent iOS text selection on long-tap.\n document.body.style.WebkitUserSelect = 'none';\n touchTimer.start(enterTouchDelay, () => {\n document.body.style.WebkitUserSelect = prevUserSelect.current;\n handleMouseOver(event);\n });\n };\n const handleTouchEnd = event => {\n if (children.props.onTouchEnd) {\n children.props.onTouchEnd(event);\n }\n stopTouchInteraction();\n leaveTimer.start(leaveTouchDelay, () => {\n handleClose(event);\n });\n };\n React.useEffect(() => {\n if (!open) {\n return undefined;\n }\n\n /**\n * @param {KeyboardEvent} nativeEvent\n */\n function handleKeyDown(nativeEvent) {\n // IE11, Edge (prior to using Bink?) use 'Esc'\n if (nativeEvent.key === 'Escape' || nativeEvent.key === 'Esc') {\n handleClose(nativeEvent);\n }\n }\n document.addEventListener('keydown', handleKeyDown);\n return () => {\n document.removeEventListener('keydown', handleKeyDown);\n };\n }, [handleClose, open]);\n const handleRef = useForkRef(children.ref, focusVisibleRef, setChildNode, ref);\n\n // There is no point in displaying an empty tooltip.\n // So we exclude all falsy values, except 0, which is valid.\n if (!title && title !== 0) {\n open = false;\n }\n const popperRef = React.useRef();\n const handleMouseMove = event => {\n const childrenProps = children.props;\n if (childrenProps.onMouseMove) {\n childrenProps.onMouseMove(event);\n }\n cursorPosition = {\n x: event.clientX,\n y: event.clientY\n };\n if (popperRef.current) {\n popperRef.current.update();\n }\n };\n const nameOrDescProps = {};\n const titleIsString = typeof title === 'string';\n if (describeChild) {\n nameOrDescProps.title = !open && titleIsString && !disableHoverListener ? title : null;\n nameOrDescProps['aria-describedby'] = open ? id : null;\n } else {\n nameOrDescProps['aria-label'] = titleIsString ? title : null;\n nameOrDescProps['aria-labelledby'] = open && !titleIsString ? id : null;\n }\n const childrenProps = _extends({}, nameOrDescProps, other, children.props, {\n className: clsx(other.className, children.props.className),\n onTouchStart: detectTouchStart,\n ref: handleRef\n }, followCursor ? {\n onMouseMove: handleMouseMove\n } : {});\n if (process.env.NODE_ENV !== 'production') {\n childrenProps['data-mui-internal-clone-element'] = true;\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useEffect(() => {\n if (childNode && !childNode.getAttribute('data-mui-internal-clone-element')) {\n console.error(['MUI: The `children` component of the Tooltip is not forwarding its props correctly.', 'Please make sure that props are spread on the same element that the ref is applied to.'].join('\\n'));\n }\n }, [childNode]);\n }\n const interactiveWrapperListeners = {};\n if (!disableTouchListener) {\n childrenProps.onTouchStart = handleTouchStart;\n childrenProps.onTouchEnd = handleTouchEnd;\n }\n if (!disableHoverListener) {\n childrenProps.onMouseOver = composeEventHandler(handleMouseOver, childrenProps.onMouseOver);\n childrenProps.onMouseLeave = composeEventHandler(handleMouseLeave, childrenProps.onMouseLeave);\n if (!disableInteractive) {\n interactiveWrapperListeners.onMouseOver = handleMouseOver;\n interactiveWrapperListeners.onMouseLeave = handleMouseLeave;\n }\n }\n if (!disableFocusListener) {\n childrenProps.onFocus = composeEventHandler(handleFocus, childrenProps.onFocus);\n childrenProps.onBlur = composeEventHandler(handleBlur, childrenProps.onBlur);\n if (!disableInteractive) {\n interactiveWrapperListeners.onFocus = handleFocus;\n interactiveWrapperListeners.onBlur = handleBlur;\n }\n }\n if (process.env.NODE_ENV !== 'production') {\n if (children.props.title) {\n console.error(['MUI: You have provided a `title` prop to the child of <Tooltip />.', `Remove this title prop \\`${children.props.title}\\` or the Tooltip component.`].join('\\n'));\n }\n }\n const popperOptions = React.useMemo(() => {\n var _PopperProps$popperOp;\n let tooltipModifiers = [{\n name: 'arrow',\n enabled: Boolean(arrowRef),\n options: {\n element: arrowRef,\n padding: 4\n }\n }];\n if ((_PopperProps$popperOp = PopperProps.popperOptions) != null && _PopperProps$popperOp.modifiers) {\n tooltipModifiers = tooltipModifiers.concat(PopperProps.popperOptions.modifiers);\n }\n return _extends({}, PopperProps.popperOptions, {\n modifiers: tooltipModifiers\n });\n }, [arrowRef, PopperProps]);\n const ownerState = _extends({}, props, {\n isRtl,\n arrow,\n disableInteractive,\n placement,\n PopperComponentProp,\n touch: ignoreNonTouchEvents.current\n });\n const classes = useUtilityClasses(ownerState);\n const PopperComponent = (_ref = (_slots$popper = slots.popper) != null ? _slots$popper : components.Popper) != null ? _ref : TooltipPopper;\n const TransitionComponent = (_ref2 = (_ref3 = (_slots$transition = slots.transition) != null ? _slots$transition : components.Transition) != null ? _ref3 : TransitionComponentProp) != null ? _ref2 : Grow;\n const TooltipComponent = (_ref4 = (_slots$tooltip = slots.tooltip) != null ? _slots$tooltip : components.Tooltip) != null ? _ref4 : TooltipTooltip;\n const ArrowComponent = (_ref5 = (_slots$arrow = slots.arrow) != null ? _slots$arrow : components.Arrow) != null ? _ref5 : TooltipArrow;\n const popperProps = appendOwnerState(PopperComponent, _extends({}, PopperProps, (_slotProps$popper = slotProps.popper) != null ? _slotProps$popper : componentsProps.popper, {\n className: clsx(classes.popper, PopperProps == null ? void 0 : PopperProps.className, (_ref6 = (_slotProps$popper2 = slotProps.popper) != null ? _slotProps$popper2 : componentsProps.popper) == null ? void 0 : _ref6.className)\n }), ownerState);\n const transitionProps = appendOwnerState(TransitionComponent, _extends({}, TransitionProps, (_slotProps$transition = slotProps.transition) != null ? _slotProps$transition : componentsProps.transition), ownerState);\n const tooltipProps = appendOwnerState(TooltipComponent, _extends({}, (_slotProps$tooltip = slotProps.tooltip) != null ? _slotProps$tooltip : componentsProps.tooltip, {\n className: clsx(classes.tooltip, (_ref7 = (_slotProps$tooltip2 = slotProps.tooltip) != null ? _slotProps$tooltip2 : componentsProps.tooltip) == null ? void 0 : _ref7.className)\n }), ownerState);\n const tooltipArrowProps = appendOwnerState(ArrowComponent, _extends({}, (_slotProps$arrow = slotProps.arrow) != null ? _slotProps$arrow : componentsProps.arrow, {\n className: clsx(classes.arrow, (_ref8 = (_slotProps$arrow2 = slotProps.arrow) != null ? _slotProps$arrow2 : componentsProps.arrow) == null ? void 0 : _ref8.className)\n }), ownerState);\n return /*#__PURE__*/_jsxs(React.Fragment, {\n children: [/*#__PURE__*/React.cloneElement(children, childrenProps), /*#__PURE__*/_jsx(PopperComponent, _extends({\n as: PopperComponentProp != null ? PopperComponentProp : Popper,\n placement: placement,\n anchorEl: followCursor ? {\n getBoundingClientRect: () => ({\n top: cursorPosition.y,\n left: cursorPosition.x,\n right: cursorPosition.x,\n bottom: cursorPosition.y,\n width: 0,\n height: 0\n })\n } : childNode,\n popperRef: popperRef,\n open: childNode ? open : false,\n id: id,\n transition: true\n }, interactiveWrapperListeners, popperProps, {\n popperOptions: popperOptions,\n children: ({\n TransitionProps: TransitionPropsInner\n }) => /*#__PURE__*/_jsx(TransitionComponent, _extends({\n timeout: theme.transitions.duration.shorter\n }, TransitionPropsInner, transitionProps, {\n children: /*#__PURE__*/_jsxs(TooltipComponent, _extends({}, tooltipProps, {\n children: [title, arrow ? /*#__PURE__*/_jsx(ArrowComponent, _extends({}, tooltipArrowProps, {\n ref: setArrowRef\n })) : null]\n }))\n }))\n }))]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Tooltip.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * If `true`, adds an arrow to the tooltip.\n * @default false\n */\n arrow: PropTypes.bool,\n /**\n * Tooltip reference element.\n */\n children: elementAcceptingRef.isRequired,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The components used for each slot inside.\n *\n * This prop is an alias for the `slots` prop.\n * It's recommended to use the `slots` prop instead.\n *\n * @default {}\n */\n components: PropTypes.shape({\n Arrow: PropTypes.elementType,\n Popper: PropTypes.elementType,\n Tooltip: PropTypes.elementType,\n Transition: PropTypes.elementType\n }),\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * This prop is an alias for the `slotProps` prop.\n * It's recommended to use the `slotProps` prop instead, as `componentsProps` will be deprecated in the future.\n *\n * @default {}\n */\n componentsProps: PropTypes.shape({\n arrow: PropTypes.object,\n popper: PropTypes.object,\n tooltip: PropTypes.object,\n transition: PropTypes.object\n }),\n /**\n * Set to `true` if the `title` acts as an accessible description.\n * By default the `title` acts as an accessible label for the child.\n * @default false\n */\n describeChild: PropTypes.bool,\n /**\n * Do not respond to focus-visible events.\n * @default false\n */\n disableFocusListener: PropTypes.bool,\n /**\n * Do not respond to hover events.\n * @default false\n */\n disableHoverListener: PropTypes.bool,\n /**\n * Makes a tooltip not interactive, i.e. it will close when the user\n * hovers over the tooltip before the `leaveDelay` is expired.\n * @default false\n */\n disableInteractive: PropTypes.bool,\n /**\n * Do not respond to long press touch events.\n * @default false\n */\n disableTouchListener: PropTypes.bool,\n /**\n * The number of milliseconds to wait before showing the tooltip.\n * This prop won't impact the enter touch delay (`enterTouchDelay`).\n * @default 100\n */\n enterDelay: PropTypes.number,\n /**\n * The number of milliseconds to wait before showing the tooltip when one was already recently opened.\n * @default 0\n */\n enterNextDelay: PropTypes.number,\n /**\n * The number of milliseconds a user must touch the element before showing the tooltip.\n * @default 700\n */\n enterTouchDelay: PropTypes.number,\n /**\n * If `true`, the tooltip follow the cursor over the wrapped element.\n * @default false\n */\n followCursor: PropTypes.bool,\n /**\n * This prop is used to help implement the accessibility logic.\n * If you don't provide this prop. It falls back to a randomly generated id.\n */\n id: PropTypes.string,\n /**\n * The number of milliseconds to wait before hiding the tooltip.\n * This prop won't impact the leave touch delay (`leaveTouchDelay`).\n * @default 0\n */\n leaveDelay: PropTypes.number,\n /**\n * The number of milliseconds after the user stops touching an element before hiding the tooltip.\n * @default 1500\n */\n leaveTouchDelay: PropTypes.number,\n /**\n * Callback fired when the component requests to be closed.\n *\n * @param {React.SyntheticEvent} event The event source of the callback.\n */\n onClose: PropTypes.func,\n /**\n * Callback fired when the component requests to be open.\n *\n * @param {React.SyntheticEvent} event The event source of the callback.\n */\n onOpen: PropTypes.func,\n /**\n * If `true`, the component is shown.\n */\n open: PropTypes.bool,\n /**\n * Tooltip placement.\n * @default 'bottom'\n */\n placement: PropTypes.oneOf(['bottom-end', 'bottom-start', 'bottom', 'left-end', 'left-start', 'left', 'right-end', 'right-start', 'right', 'top-end', 'top-start', 'top']),\n /**\n * The component used for the popper.\n * @default Popper\n */\n PopperComponent: PropTypes.elementType,\n /**\n * Props applied to the [`Popper`](/material-ui/api/popper/) element.\n * @default {}\n */\n PopperProps: PropTypes.object,\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * This prop is an alias for the `componentsProps` prop, which will be deprecated in the future.\n *\n * @default {}\n */\n slotProps: PropTypes.shape({\n arrow: PropTypes.object,\n popper: PropTypes.object,\n tooltip: PropTypes.object,\n transition: PropTypes.object\n }),\n /**\n * The components used for each slot inside.\n *\n * This prop is an alias for the `components` prop, which will be deprecated in the future.\n *\n * @default {}\n */\n slots: PropTypes.shape({\n arrow: PropTypes.elementType,\n popper: PropTypes.elementType,\n tooltip: PropTypes.elementType,\n transition: PropTypes.elementType\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * Tooltip title. Zero-length titles string, undefined, null and false are never displayed.\n */\n title: PropTypes.node,\n /**\n * The component used for the transition.\n * [Follow this guide](/material-ui/transitions/#transitioncomponent-prop) to learn more about the requirements for this component.\n * @default Grow\n */\n TransitionComponent: PropTypes.elementType,\n /**\n * Props applied to the transition element.\n * By default, the element is based on this [`Transition`](https://reactcommunity.org/react-transition-group/transition/) component.\n */\n TransitionProps: PropTypes.object\n} : void 0;\nexport default Tooltip;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getSwitchUtilityClass(slot) {\n return generateUtilityClass('MuiSwitch', slot);\n}\nconst switchClasses = generateUtilityClasses('MuiSwitch', ['root', 'edgeStart', 'edgeEnd', 'switchBase', 'colorPrimary', 'colorSecondary', 'sizeSmall', 'sizeMedium', 'checked', 'disabled', 'input', 'thumb', 'track']);\nexport default switchClasses;","'use client';\n\n// @inheritedComponent IconButton\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"color\", \"edge\", \"size\", \"sx\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport refType from '@mui/utils/refType';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { alpha, darken, lighten } from '@mui/system/colorManipulator';\nimport capitalize from '../utils/capitalize';\nimport SwitchBase from '../internal/SwitchBase';\nimport { styled, createUseThemeProps } from '../zero-styled';\nimport switchClasses, { getSwitchUtilityClass } from './switchClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useThemeProps = createUseThemeProps('MuiSwitch');\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n edge,\n size,\n color,\n checked,\n disabled\n } = ownerState;\n const slots = {\n root: ['root', edge && `edge${capitalize(edge)}`, `size${capitalize(size)}`],\n switchBase: ['switchBase', `color${capitalize(color)}`, checked && 'checked', disabled && 'disabled'],\n thumb: ['thumb'],\n track: ['track'],\n input: ['input']\n };\n const composedClasses = composeClasses(slots, getSwitchUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\nconst SwitchRoot = styled('span', {\n name: 'MuiSwitch',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.edge && styles[`edge${capitalize(ownerState.edge)}`], styles[`size${capitalize(ownerState.size)}`]];\n }\n})({\n display: 'inline-flex',\n width: 34 + 12 * 2,\n height: 14 + 12 * 2,\n overflow: 'hidden',\n padding: 12,\n boxSizing: 'border-box',\n position: 'relative',\n flexShrink: 0,\n zIndex: 0,\n // Reset the stacking context.\n verticalAlign: 'middle',\n // For correct alignment with the text.\n '@media print': {\n colorAdjust: 'exact'\n },\n variants: [{\n props: {\n edge: 'start'\n },\n style: {\n marginLeft: -8\n }\n }, {\n props: {\n edge: 'end'\n },\n style: {\n marginRight: -8\n }\n }, {\n props: {\n size: 'small'\n },\n style: {\n width: 40,\n height: 24,\n padding: 7,\n [`& .${switchClasses.thumb}`]: {\n width: 16,\n height: 16\n },\n [`& .${switchClasses.switchBase}`]: {\n padding: 4,\n [`&.${switchClasses.checked}`]: {\n transform: 'translateX(16px)'\n }\n }\n }\n }]\n});\nconst SwitchSwitchBase = styled(SwitchBase, {\n name: 'MuiSwitch',\n slot: 'SwitchBase',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.switchBase, {\n [`& .${switchClasses.input}`]: styles.input\n }, ownerState.color !== 'default' && styles[`color${capitalize(ownerState.color)}`]];\n }\n})(({\n theme\n}) => ({\n position: 'absolute',\n top: 0,\n left: 0,\n zIndex: 1,\n // Render above the focus ripple.\n color: theme.vars ? theme.vars.palette.Switch.defaultColor : `${theme.palette.mode === 'light' ? theme.palette.common.white : theme.palette.grey[300]}`,\n transition: theme.transitions.create(['left', 'transform'], {\n duration: theme.transitions.duration.shortest\n }),\n [`&.${switchClasses.checked}`]: {\n transform: 'translateX(20px)'\n },\n [`&.${switchClasses.disabled}`]: {\n color: theme.vars ? theme.vars.palette.Switch.defaultDisabledColor : `${theme.palette.mode === 'light' ? theme.palette.grey[100] : theme.palette.grey[600]}`\n },\n [`&.${switchClasses.checked} + .${switchClasses.track}`]: {\n opacity: 0.5\n },\n [`&.${switchClasses.disabled} + .${switchClasses.track}`]: {\n opacity: theme.vars ? theme.vars.opacity.switchTrackDisabled : `${theme.palette.mode === 'light' ? 0.12 : 0.2}`\n },\n [`& .${switchClasses.input}`]: {\n left: '-100%',\n width: '300%'\n }\n}), ({\n theme\n}) => ({\n '&:hover': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.action.activeChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(theme.palette.action.active, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n variants: [...Object.entries(theme.palette).filter(([, value]) => value.main && value.light) // check all the used fields in the style below\n .map(([color]) => ({\n props: {\n color\n },\n style: {\n [`&.${switchClasses.checked}`]: {\n color: (theme.vars || theme).palette[color].main,\n '&:hover': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette[color].mainChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(theme.palette[color].main, theme.palette.action.hoverOpacity),\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${switchClasses.disabled}`]: {\n color: theme.vars ? theme.vars.palette.Switch[`${color}DisabledColor`] : `${theme.palette.mode === 'light' ? lighten(theme.palette[color].main, 0.62) : darken(theme.palette[color].main, 0.55)}`\n }\n },\n [`&.${switchClasses.checked} + .${switchClasses.track}`]: {\n backgroundColor: (theme.vars || theme).palette[color].main\n }\n }\n }))]\n}));\nconst SwitchTrack = styled('span', {\n name: 'MuiSwitch',\n slot: 'Track',\n overridesResolver: (props, styles) => styles.track\n})(({\n theme\n}) => ({\n height: '100%',\n width: '100%',\n borderRadius: 14 / 2,\n zIndex: -1,\n transition: theme.transitions.create(['opacity', 'background-color'], {\n duration: theme.transitions.duration.shortest\n }),\n backgroundColor: theme.vars ? theme.vars.palette.common.onBackground : `${theme.palette.mode === 'light' ? theme.palette.common.black : theme.palette.common.white}`,\n opacity: theme.vars ? theme.vars.opacity.switchTrack : `${theme.palette.mode === 'light' ? 0.38 : 0.3}`\n}));\nconst SwitchThumb = styled('span', {\n name: 'MuiSwitch',\n slot: 'Thumb',\n overridesResolver: (props, styles) => styles.thumb\n})(({\n theme\n}) => ({\n boxShadow: (theme.vars || theme).shadows[1],\n backgroundColor: 'currentColor',\n width: 20,\n height: 20,\n borderRadius: '50%'\n}));\nconst Switch = /*#__PURE__*/React.forwardRef(function Switch(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiSwitch'\n });\n const {\n className,\n color = 'primary',\n edge = false,\n size = 'medium',\n sx\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n color,\n edge,\n size\n });\n const classes = useUtilityClasses(ownerState);\n const icon = /*#__PURE__*/_jsx(SwitchThumb, {\n className: classes.thumb,\n ownerState: ownerState\n });\n return /*#__PURE__*/_jsxs(SwitchRoot, {\n className: clsx(classes.root, className),\n sx: sx,\n ownerState: ownerState,\n children: [/*#__PURE__*/_jsx(SwitchSwitchBase, _extends({\n type: \"checkbox\",\n icon: icon,\n checkedIcon: icon,\n ref: ref,\n ownerState: ownerState\n }, other, {\n classes: _extends({}, classes, {\n root: classes.switchBase\n })\n })), /*#__PURE__*/_jsx(SwitchTrack, {\n className: classes.track,\n ownerState: ownerState\n })]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Switch.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n /**\n * The icon to display when the component is checked.\n */\n checkedIcon: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * @default 'primary'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['default', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * The default checked state. Use when the component is not controlled.\n */\n defaultChecked: PropTypes.bool,\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the ripple effect is disabled.\n * @default false\n */\n disableRipple: PropTypes.bool,\n /**\n * If given, uses a negative margin to counteract the padding on one\n * side (this is often helpful for aligning the left or right\n * side of the icon with content above or below, without ruining the border\n * size and shape).\n * @default false\n */\n edge: PropTypes.oneOf(['end', 'start', false]),\n /**\n * The icon to display when the component is unchecked.\n */\n icon: PropTypes.node,\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: PropTypes.object,\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n /**\n * Callback fired when the state is changed.\n *\n * @param {React.ChangeEvent<HTMLInputElement>} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value` (string).\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n /**\n * If `true`, the `input` element is required.\n * @default false\n */\n required: PropTypes.bool,\n /**\n * The size of the component.\n * `small` is equivalent to the dense switch styling.\n * @default 'medium'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The value of the component. The DOM API casts this to a string.\n * The browser uses \"on\" as the default value.\n */\n value: PropTypes.any\n} : void 0;\nexport default Switch;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getTabUtilityClass(slot) {\n return generateUtilityClass('MuiTab', slot);\n}\nconst tabClasses = generateUtilityClasses('MuiTab', ['root', 'labelIcon', 'textColorInherit', 'textColorPrimary', 'textColorSecondary', 'selected', 'disabled', 'fullWidth', 'wrapped', 'iconWrapper']);\nexport default tabClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"disabled\", \"disableFocusRipple\", \"fullWidth\", \"icon\", \"iconPosition\", \"indicator\", \"label\", \"onChange\", \"onClick\", \"onFocus\", \"selected\", \"selectionFollowsFocus\", \"textColor\", \"value\", \"wrapped\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport ButtonBase from '../ButtonBase';\nimport capitalize from '../utils/capitalize';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport unsupportedProp from '../utils/unsupportedProp';\nimport tabClasses, { getTabUtilityClass } from './tabClasses';\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n textColor,\n fullWidth,\n wrapped,\n icon,\n label,\n selected,\n disabled\n } = ownerState;\n const slots = {\n root: ['root', icon && label && 'labelIcon', `textColor${capitalize(textColor)}`, fullWidth && 'fullWidth', wrapped && 'wrapped', selected && 'selected', disabled && 'disabled'],\n iconWrapper: ['iconWrapper']\n };\n return composeClasses(slots, getTabUtilityClass, classes);\n};\nconst TabRoot = styled(ButtonBase, {\n name: 'MuiTab',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.label && ownerState.icon && styles.labelIcon, styles[`textColor${capitalize(ownerState.textColor)}`], ownerState.fullWidth && styles.fullWidth, ownerState.wrapped && styles.wrapped, {\n [`& .${tabClasses.iconWrapper}`]: styles.iconWrapper\n }];\n }\n})(({\n theme,\n ownerState\n}) => _extends({}, theme.typography.button, {\n maxWidth: 360,\n minWidth: 90,\n position: 'relative',\n minHeight: 48,\n flexShrink: 0,\n padding: '12px 16px',\n overflow: 'hidden',\n whiteSpace: 'normal',\n textAlign: 'center'\n}, ownerState.label && {\n flexDirection: ownerState.iconPosition === 'top' || ownerState.iconPosition === 'bottom' ? 'column' : 'row'\n}, {\n lineHeight: 1.25\n}, ownerState.icon && ownerState.label && {\n minHeight: 72,\n paddingTop: 9,\n paddingBottom: 9,\n [`& > .${tabClasses.iconWrapper}`]: _extends({}, ownerState.iconPosition === 'top' && {\n marginBottom: 6\n }, ownerState.iconPosition === 'bottom' && {\n marginTop: 6\n }, ownerState.iconPosition === 'start' && {\n marginRight: theme.spacing(1)\n }, ownerState.iconPosition === 'end' && {\n marginLeft: theme.spacing(1)\n })\n}, ownerState.textColor === 'inherit' && {\n color: 'inherit',\n opacity: 0.6,\n // same opacity as theme.palette.text.secondary\n [`&.${tabClasses.selected}`]: {\n opacity: 1\n },\n [`&.${tabClasses.disabled}`]: {\n opacity: (theme.vars || theme).palette.action.disabledOpacity\n }\n}, ownerState.textColor === 'primary' && {\n color: (theme.vars || theme).palette.text.secondary,\n [`&.${tabClasses.selected}`]: {\n color: (theme.vars || theme).palette.primary.main\n },\n [`&.${tabClasses.disabled}`]: {\n color: (theme.vars || theme).palette.text.disabled\n }\n}, ownerState.textColor === 'secondary' && {\n color: (theme.vars || theme).palette.text.secondary,\n [`&.${tabClasses.selected}`]: {\n color: (theme.vars || theme).palette.secondary.main\n },\n [`&.${tabClasses.disabled}`]: {\n color: (theme.vars || theme).palette.text.disabled\n }\n}, ownerState.fullWidth && {\n flexShrink: 1,\n flexGrow: 1,\n flexBasis: 0,\n maxWidth: 'none'\n}, ownerState.wrapped && {\n fontSize: theme.typography.pxToRem(12)\n}));\nconst Tab = /*#__PURE__*/React.forwardRef(function Tab(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTab'\n });\n const {\n className,\n disabled = false,\n disableFocusRipple = false,\n // eslint-disable-next-line react/prop-types\n fullWidth,\n icon: iconProp,\n iconPosition = 'top',\n // eslint-disable-next-line react/prop-types\n indicator,\n label,\n onChange,\n onClick,\n onFocus,\n // eslint-disable-next-line react/prop-types\n selected,\n // eslint-disable-next-line react/prop-types\n selectionFollowsFocus,\n // eslint-disable-next-line react/prop-types\n textColor = 'inherit',\n value,\n wrapped = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n disabled,\n disableFocusRipple,\n selected,\n icon: !!iconProp,\n iconPosition,\n label: !!label,\n fullWidth,\n textColor,\n wrapped\n });\n const classes = useUtilityClasses(ownerState);\n const icon = iconProp && label && /*#__PURE__*/React.isValidElement(iconProp) ? /*#__PURE__*/React.cloneElement(iconProp, {\n className: clsx(classes.iconWrapper, iconProp.props.className)\n }) : iconProp;\n const handleClick = event => {\n if (!selected && onChange) {\n onChange(event, value);\n }\n if (onClick) {\n onClick(event);\n }\n };\n const handleFocus = event => {\n if (selectionFollowsFocus && !selected && onChange) {\n onChange(event, value);\n }\n if (onFocus) {\n onFocus(event);\n }\n };\n return /*#__PURE__*/_jsxs(TabRoot, _extends({\n focusRipple: !disableFocusRipple,\n className: clsx(classes.root, className),\n ref: ref,\n role: \"tab\",\n \"aria-selected\": selected,\n disabled: disabled,\n onClick: handleClick,\n onFocus: handleFocus,\n ownerState: ownerState,\n tabIndex: selected ? 0 : -1\n }, other, {\n children: [iconPosition === 'top' || iconPosition === 'start' ? /*#__PURE__*/_jsxs(React.Fragment, {\n children: [icon, label]\n }) : /*#__PURE__*/_jsxs(React.Fragment, {\n children: [label, icon]\n }), indicator]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Tab.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * This prop isn't supported.\n * Use the `component` prop if you need to change the children structure.\n */\n children: unsupportedProp,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the keyboard focus ripple is disabled.\n * @default false\n */\n disableFocusRipple: PropTypes.bool,\n /**\n * If `true`, the ripple effect is disabled.\n *\n * ⚠️ Without a ripple there is no styling for :focus-visible by default. Be sure\n * to highlight the element by applying separate styles with the `.Mui-focusVisible` class.\n * @default false\n */\n disableRipple: PropTypes.bool,\n /**\n * The icon to display.\n */\n icon: PropTypes.oneOfType([PropTypes.element, PropTypes.string]),\n /**\n * The position of the icon relative to the label.\n * @default 'top'\n */\n iconPosition: PropTypes.oneOf(['bottom', 'end', 'start', 'top']),\n /**\n * The label element.\n */\n label: PropTypes.node,\n /**\n * @ignore\n */\n onChange: PropTypes.func,\n /**\n * @ignore\n */\n onClick: PropTypes.func,\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * You can provide your own value. Otherwise, we fallback to the child position index.\n */\n value: PropTypes.any,\n /**\n * Tab labels appear in a single row.\n * They can use a second line if needed.\n * @default false\n */\n wrapped: PropTypes.bool\n} : void 0;\nexport default Tab;","'use client';\n\nimport * as React from 'react';\n\n/**\n * @ignore - internal component.\n */\nconst TableContext = /*#__PURE__*/React.createContext();\nif (process.env.NODE_ENV !== 'production') {\n TableContext.displayName = 'TableContext';\n}\nexport default TableContext;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getTableUtilityClass(slot) {\n return generateUtilityClass('MuiTable', slot);\n}\nconst tableClasses = generateUtilityClasses('MuiTable', ['root', 'stickyHeader']);\nexport default tableClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"component\", \"padding\", \"size\", \"stickyHeader\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport TableContext from './TableContext';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport { getTableUtilityClass } from './tableClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n stickyHeader\n } = ownerState;\n const slots = {\n root: ['root', stickyHeader && 'stickyHeader']\n };\n return composeClasses(slots, getTableUtilityClass, classes);\n};\nconst TableRoot = styled('table', {\n name: 'MuiTable',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.stickyHeader && styles.stickyHeader];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'table',\n width: '100%',\n borderCollapse: 'collapse',\n borderSpacing: 0,\n '& caption': _extends({}, theme.typography.body2, {\n padding: theme.spacing(2),\n color: (theme.vars || theme).palette.text.secondary,\n textAlign: 'left',\n captionSide: 'bottom'\n })\n}, ownerState.stickyHeader && {\n borderCollapse: 'separate'\n}));\nconst defaultComponent = 'table';\nconst Table = /*#__PURE__*/React.forwardRef(function Table(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTable'\n });\n const {\n className,\n component = defaultComponent,\n padding = 'normal',\n size = 'medium',\n stickyHeader = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n component,\n padding,\n size,\n stickyHeader\n });\n const classes = useUtilityClasses(ownerState);\n const table = React.useMemo(() => ({\n padding,\n size,\n stickyHeader\n }), [padding, size, stickyHeader]);\n return /*#__PURE__*/_jsx(TableContext.Provider, {\n value: table,\n children: /*#__PURE__*/_jsx(TableRoot, _extends({\n as: component,\n role: component === defaultComponent ? null : 'table',\n ref: ref,\n className: clsx(classes.root, className),\n ownerState: ownerState\n }, other))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Table.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the table, normally `TableHead` and `TableBody`.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * Allows TableCells to inherit padding of the Table.\n * @default 'normal'\n */\n padding: PropTypes.oneOf(['checkbox', 'none', 'normal']),\n /**\n * Allows TableCells to inherit size of the Table.\n * @default 'medium'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\n /**\n * Set the header sticky.\n *\n * ⚠️ It doesn't work with IE11.\n * @default false\n */\n stickyHeader: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default Table;","import * as React from 'react';\n\n/**\n * @ignore - internal component.\n */\nconst Tablelvl2Context = /*#__PURE__*/React.createContext();\nif (process.env.NODE_ENV !== 'production') {\n Tablelvl2Context.displayName = 'Tablelvl2Context';\n}\nexport default Tablelvl2Context;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getTableBodyUtilityClass(slot) {\n return generateUtilityClass('MuiTableBody', slot);\n}\nconst tableBodyClasses = generateUtilityClasses('MuiTableBody', ['root']);\nexport default tableBodyClasses;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"className\", \"component\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport Tablelvl2Context from '../Table/Tablelvl2Context';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport { getTableBodyUtilityClass } from './tableBodyClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getTableBodyUtilityClass, classes);\n};\nconst TableBodyRoot = styled('tbody', {\n name: 'MuiTableBody',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({\n display: 'table-row-group'\n});\nconst tablelvl2 = {\n variant: 'body'\n};\nconst defaultComponent = 'tbody';\nconst TableBody = /*#__PURE__*/React.forwardRef(function TableBody(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTableBody'\n });\n const {\n className,\n component = defaultComponent\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n component\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(Tablelvl2Context.Provider, {\n value: tablelvl2,\n children: /*#__PURE__*/_jsx(TableBodyRoot, _extends({\n className: clsx(classes.root, className),\n as: component,\n ref: ref,\n role: component === defaultComponent ? null : 'rowgroup',\n ownerState: ownerState\n }, other))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? TableBody.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component, normally `TableRow`.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default TableBody;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getTableCellUtilityClass(slot) {\n return generateUtilityClass('MuiTableCell', slot);\n}\nconst tableCellClasses = generateUtilityClasses('MuiTableCell', ['root', 'head', 'body', 'footer', 'sizeSmall', 'sizeMedium', 'paddingCheckbox', 'paddingNone', 'alignLeft', 'alignCenter', 'alignRight', 'alignJustify', 'stickyHeader']);\nexport default tableCellClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"align\", \"className\", \"component\", \"padding\", \"scope\", \"size\", \"sortDirection\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { darken, alpha, lighten } from '@mui/system/colorManipulator';\nimport capitalize from '../utils/capitalize';\nimport TableContext from '../Table/TableContext';\nimport Tablelvl2Context from '../Table/Tablelvl2Context';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport tableCellClasses, { getTableCellUtilityClass } from './tableCellClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n variant,\n align,\n padding,\n size,\n stickyHeader\n } = ownerState;\n const slots = {\n root: ['root', variant, stickyHeader && 'stickyHeader', align !== 'inherit' && `align${capitalize(align)}`, padding !== 'normal' && `padding${capitalize(padding)}`, `size${capitalize(size)}`]\n };\n return composeClasses(slots, getTableCellUtilityClass, classes);\n};\nconst TableCellRoot = styled('td', {\n name: 'MuiTableCell',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[ownerState.variant], styles[`size${capitalize(ownerState.size)}`], ownerState.padding !== 'normal' && styles[`padding${capitalize(ownerState.padding)}`], ownerState.align !== 'inherit' && styles[`align${capitalize(ownerState.align)}`], ownerState.stickyHeader && styles.stickyHeader];\n }\n})(({\n theme,\n ownerState\n}) => _extends({}, theme.typography.body2, {\n display: 'table-cell',\n verticalAlign: 'inherit',\n // Workaround for a rendering bug with spanned columns in Chrome 62.0.\n // Removes the alpha (sets it to 1), and lightens or darkens the theme color.\n borderBottom: theme.vars ? `1px solid ${theme.vars.palette.TableCell.border}` : `1px solid\n ${theme.palette.mode === 'light' ? lighten(alpha(theme.palette.divider, 1), 0.88) : darken(alpha(theme.palette.divider, 1), 0.68)}`,\n textAlign: 'left',\n padding: 16\n}, ownerState.variant === 'head' && {\n color: (theme.vars || theme).palette.text.primary,\n lineHeight: theme.typography.pxToRem(24),\n fontWeight: theme.typography.fontWeightMedium\n}, ownerState.variant === 'body' && {\n color: (theme.vars || theme).palette.text.primary\n}, ownerState.variant === 'footer' && {\n color: (theme.vars || theme).palette.text.secondary,\n lineHeight: theme.typography.pxToRem(21),\n fontSize: theme.typography.pxToRem(12)\n}, ownerState.size === 'small' && {\n padding: '6px 16px',\n [`&.${tableCellClasses.paddingCheckbox}`]: {\n width: 24,\n // prevent the checkbox column from growing\n padding: '0 12px 0 16px',\n '& > *': {\n padding: 0\n }\n }\n}, ownerState.padding === 'checkbox' && {\n width: 48,\n // prevent the checkbox column from growing\n padding: '0 0 0 4px'\n}, ownerState.padding === 'none' && {\n padding: 0\n}, ownerState.align === 'left' && {\n textAlign: 'left'\n}, ownerState.align === 'center' && {\n textAlign: 'center'\n}, ownerState.align === 'right' && {\n textAlign: 'right',\n flexDirection: 'row-reverse'\n}, ownerState.align === 'justify' && {\n textAlign: 'justify'\n}, ownerState.stickyHeader && {\n position: 'sticky',\n top: 0,\n zIndex: 2,\n backgroundColor: (theme.vars || theme).palette.background.default\n}));\n\n/**\n * The component renders a `<th>` element when the parent context is a header\n * or otherwise a `<td>` element.\n */\nconst TableCell = /*#__PURE__*/React.forwardRef(function TableCell(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTableCell'\n });\n const {\n align = 'inherit',\n className,\n component: componentProp,\n padding: paddingProp,\n scope: scopeProp,\n size: sizeProp,\n sortDirection,\n variant: variantProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const table = React.useContext(TableContext);\n const tablelvl2 = React.useContext(Tablelvl2Context);\n const isHeadCell = tablelvl2 && tablelvl2.variant === 'head';\n let component;\n if (componentProp) {\n component = componentProp;\n } else {\n component = isHeadCell ? 'th' : 'td';\n }\n let scope = scopeProp;\n // scope is not a valid attribute for <td/> elements.\n // source: https://html.spec.whatwg.org/multipage/tables.html#the-td-element\n if (component === 'td') {\n scope = undefined;\n } else if (!scope && isHeadCell) {\n scope = 'col';\n }\n const variant = variantProp || tablelvl2 && tablelvl2.variant;\n const ownerState = _extends({}, props, {\n align,\n component,\n padding: paddingProp || (table && table.padding ? table.padding : 'normal'),\n size: sizeProp || (table && table.size ? table.size : 'medium'),\n sortDirection,\n stickyHeader: variant === 'head' && table && table.stickyHeader,\n variant\n });\n const classes = useUtilityClasses(ownerState);\n let ariaSort = null;\n if (sortDirection) {\n ariaSort = sortDirection === 'asc' ? 'ascending' : 'descending';\n }\n return /*#__PURE__*/_jsx(TableCellRoot, _extends({\n as: component,\n ref: ref,\n className: clsx(classes.root, className),\n \"aria-sort\": ariaSort,\n scope: scope,\n ownerState: ownerState\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? TableCell.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Set the text-align on the table cell content.\n *\n * Monetary or generally number fields **should be right aligned** as that allows\n * you to add them up quickly in your head without having to worry about decimals.\n * @default 'inherit'\n */\n align: PropTypes.oneOf(['center', 'inherit', 'justify', 'left', 'right']),\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * Sets the padding applied to the cell.\n * The prop defaults to the value (`'default'`) inherited from the parent Table component.\n */\n padding: PropTypes.oneOf(['checkbox', 'none', 'normal']),\n /**\n * Set scope attribute.\n */\n scope: PropTypes.string,\n /**\n * Specify the size of the cell.\n * The prop defaults to the value (`'medium'`) inherited from the parent Table component.\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\n /**\n * Set aria-sort direction.\n */\n sortDirection: PropTypes.oneOf(['asc', 'desc', false]),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * Specify the cell type.\n * The prop defaults to the value inherited from the parent TableHead, TableBody, or TableFooter components.\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['body', 'footer', 'head']), PropTypes.string])\n} : void 0;\nexport default TableCell;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getTableHeadUtilityClass(slot) {\n return generateUtilityClass('MuiTableHead', slot);\n}\nconst tableHeadClasses = generateUtilityClasses('MuiTableHead', ['root']);\nexport default tableHeadClasses;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"className\", \"component\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport Tablelvl2Context from '../Table/Tablelvl2Context';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport { getTableHeadUtilityClass } from './tableHeadClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getTableHeadUtilityClass, classes);\n};\nconst TableHeadRoot = styled('thead', {\n name: 'MuiTableHead',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({\n display: 'table-header-group'\n});\nconst tablelvl2 = {\n variant: 'head'\n};\nconst defaultComponent = 'thead';\nconst TableHead = /*#__PURE__*/React.forwardRef(function TableHead(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTableHead'\n });\n const {\n className,\n component = defaultComponent\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n component\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(Tablelvl2Context.Provider, {\n value: tablelvl2,\n children: /*#__PURE__*/_jsx(TableHeadRoot, _extends({\n as: component,\n className: clsx(classes.root, className),\n ref: ref,\n role: component === defaultComponent ? null : 'rowgroup',\n ownerState: ownerState\n }, other))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? TableHead.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component, normally `TableRow`.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default TableHead;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getToolbarUtilityClass(slot) {\n return generateUtilityClass('MuiToolbar', slot);\n}\nconst toolbarClasses = generateUtilityClasses('MuiToolbar', ['root', 'gutters', 'regular', 'dense']);\nexport default toolbarClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"component\", \"disableGutters\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport { getToolbarUtilityClass } from './toolbarClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disableGutters,\n variant\n } = ownerState;\n const slots = {\n root: ['root', !disableGutters && 'gutters', variant]\n };\n return composeClasses(slots, getToolbarUtilityClass, classes);\n};\nconst ToolbarRoot = styled('div', {\n name: 'MuiToolbar',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, !ownerState.disableGutters && styles.gutters, styles[ownerState.variant]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n position: 'relative',\n display: 'flex',\n alignItems: 'center'\n}, !ownerState.disableGutters && {\n paddingLeft: theme.spacing(2),\n paddingRight: theme.spacing(2),\n [theme.breakpoints.up('sm')]: {\n paddingLeft: theme.spacing(3),\n paddingRight: theme.spacing(3)\n }\n}, ownerState.variant === 'dense' && {\n minHeight: 48\n}), ({\n theme,\n ownerState\n}) => ownerState.variant === 'regular' && theme.mixins.toolbar);\nconst Toolbar = /*#__PURE__*/React.forwardRef(function Toolbar(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiToolbar'\n });\n const {\n className,\n component = 'div',\n disableGutters = false,\n variant = 'regular'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n component,\n disableGutters,\n variant\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(ToolbarRoot, _extends({\n as: component,\n className: clsx(classes.root, className),\n ref: ref,\n ownerState: ownerState\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? Toolbar.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The Toolbar children, usually a mixture of `IconButton`, `Button` and `Typography`.\n * The Toolbar is a flex container, allowing flex item properties to be used to lay out the children.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * If `true`, disables gutter padding.\n * @default false\n */\n disableGutters: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The variant to use.\n * @default 'regular'\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['dense', 'regular']), PropTypes.string])\n} : void 0;\nexport default Toolbar;","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M15.41 16.09l-4.58-4.59 4.58-4.59L14 5.5l-6 6 6 6z\"\n}), 'KeyboardArrowLeft');","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z\"\n}), 'KeyboardArrowRight');","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"backIconButtonProps\", \"count\", \"disabled\", \"getItemAriaLabel\", \"nextIconButtonProps\", \"onPageChange\", \"page\", \"rowsPerPage\", \"showFirstButton\", \"showLastButton\", \"slots\", \"slotProps\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { useRtl } from '@mui/system/RtlProvider';\nimport KeyboardArrowLeft from '../internal/svg-icons/KeyboardArrowLeft';\nimport KeyboardArrowRight from '../internal/svg-icons/KeyboardArrowRight';\nimport IconButton from '../IconButton';\nimport LastPageIconDefault from '../internal/svg-icons/LastPage';\nimport FirstPageIconDefault from '../internal/svg-icons/FirstPage';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst TablePaginationActions = /*#__PURE__*/React.forwardRef(function TablePaginationActions(props, ref) {\n var _slots$firstButton, _slots$lastButton, _slots$nextButton, _slots$previousButton, _slots$firstButtonIco, _slots$lastButtonIcon, _slots$nextButtonIcon, _slots$previousButton2;\n const {\n backIconButtonProps,\n count,\n disabled = false,\n getItemAriaLabel,\n nextIconButtonProps,\n onPageChange,\n page,\n rowsPerPage,\n showFirstButton,\n showLastButton,\n slots = {},\n slotProps = {}\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const isRtl = useRtl();\n const handleFirstPageButtonClick = event => {\n onPageChange(event, 0);\n };\n const handleBackButtonClick = event => {\n onPageChange(event, page - 1);\n };\n const handleNextButtonClick = event => {\n onPageChange(event, page + 1);\n };\n const handleLastPageButtonClick = event => {\n onPageChange(event, Math.max(0, Math.ceil(count / rowsPerPage) - 1));\n };\n const FirstButton = (_slots$firstButton = slots.firstButton) != null ? _slots$firstButton : IconButton;\n const LastButton = (_slots$lastButton = slots.lastButton) != null ? _slots$lastButton : IconButton;\n const NextButton = (_slots$nextButton = slots.nextButton) != null ? _slots$nextButton : IconButton;\n const PreviousButton = (_slots$previousButton = slots.previousButton) != null ? _slots$previousButton : IconButton;\n const FirstButtonIcon = (_slots$firstButtonIco = slots.firstButtonIcon) != null ? _slots$firstButtonIco : FirstPageIconDefault;\n const LastButtonIcon = (_slots$lastButtonIcon = slots.lastButtonIcon) != null ? _slots$lastButtonIcon : LastPageIconDefault;\n const NextButtonIcon = (_slots$nextButtonIcon = slots.nextButtonIcon) != null ? _slots$nextButtonIcon : KeyboardArrowRight;\n const PreviousButtonIcon = (_slots$previousButton2 = slots.previousButtonIcon) != null ? _slots$previousButton2 : KeyboardArrowLeft;\n const FirstButtonSlot = isRtl ? LastButton : FirstButton;\n const PreviousButtonSlot = isRtl ? NextButton : PreviousButton;\n const NextButtonSlot = isRtl ? PreviousButton : NextButton;\n const LastButtonSlot = isRtl ? FirstButton : LastButton;\n const firstButtonSlotProps = isRtl ? slotProps.lastButton : slotProps.firstButton;\n const previousButtonSlotProps = isRtl ? slotProps.nextButton : slotProps.previousButton;\n const nextButtonSlotProps = isRtl ? slotProps.previousButton : slotProps.nextButton;\n const lastButtonSlotProps = isRtl ? slotProps.firstButton : slotProps.lastButton;\n return /*#__PURE__*/_jsxs(\"div\", _extends({\n ref: ref\n }, other, {\n children: [showFirstButton && /*#__PURE__*/_jsx(FirstButtonSlot, _extends({\n onClick: handleFirstPageButtonClick,\n disabled: disabled || page === 0,\n \"aria-label\": getItemAriaLabel('first', page),\n title: getItemAriaLabel('first', page)\n }, firstButtonSlotProps, {\n children: isRtl ? /*#__PURE__*/_jsx(LastButtonIcon, _extends({}, slotProps.lastButtonIcon)) : /*#__PURE__*/_jsx(FirstButtonIcon, _extends({}, slotProps.firstButtonIcon))\n })), /*#__PURE__*/_jsx(PreviousButtonSlot, _extends({\n onClick: handleBackButtonClick,\n disabled: disabled || page === 0,\n color: \"inherit\",\n \"aria-label\": getItemAriaLabel('previous', page),\n title: getItemAriaLabel('previous', page)\n }, previousButtonSlotProps != null ? previousButtonSlotProps : backIconButtonProps, {\n children: isRtl ? /*#__PURE__*/_jsx(NextButtonIcon, _extends({}, slotProps.nextButtonIcon)) : /*#__PURE__*/_jsx(PreviousButtonIcon, _extends({}, slotProps.previousButtonIcon))\n })), /*#__PURE__*/_jsx(NextButtonSlot, _extends({\n onClick: handleNextButtonClick,\n disabled: disabled || (count !== -1 ? page >= Math.ceil(count / rowsPerPage) - 1 : false),\n color: \"inherit\",\n \"aria-label\": getItemAriaLabel('next', page),\n title: getItemAriaLabel('next', page)\n }, nextButtonSlotProps != null ? nextButtonSlotProps : nextIconButtonProps, {\n children: isRtl ? /*#__PURE__*/_jsx(PreviousButtonIcon, _extends({}, slotProps.previousButtonIcon)) : /*#__PURE__*/_jsx(NextButtonIcon, _extends({}, slotProps.nextButtonIcon))\n })), showLastButton && /*#__PURE__*/_jsx(LastButtonSlot, _extends({\n onClick: handleLastPageButtonClick,\n disabled: disabled || page >= Math.ceil(count / rowsPerPage) - 1,\n \"aria-label\": getItemAriaLabel('last', page),\n title: getItemAriaLabel('last', page)\n }, lastButtonSlotProps, {\n children: isRtl ? /*#__PURE__*/_jsx(FirstButtonIcon, _extends({}, slotProps.firstButtonIcon)) : /*#__PURE__*/_jsx(LastButtonIcon, _extends({}, slotProps.lastButtonIcon))\n }))]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TablePaginationActions.propTypes = {\n /**\n * Props applied to the back arrow [`IconButton`](/material-ui/api/icon-button/) element.\n */\n backIconButtonProps: PropTypes.object,\n /**\n * The total number of rows.\n */\n count: PropTypes.number.isRequired,\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * Accepts a function which returns a string value that provides a user-friendly name for the current page.\n *\n * For localization purposes, you can use the provided [translations](/material-ui/guides/localization/).\n *\n * @param {string} type The link or button type to format ('page' | 'first' | 'last' | 'next' | 'previous'). Defaults to 'page'.\n * @param {number} page The page number to format.\n * @returns {string}\n */\n getItemAriaLabel: PropTypes.func.isRequired,\n /**\n * Props applied to the next arrow [`IconButton`](/material-ui/api/icon-button/) element.\n */\n nextIconButtonProps: PropTypes.object,\n /**\n * Callback fired when the page is changed.\n *\n * @param {object} event The event source of the callback.\n * @param {number} page The page selected.\n */\n onPageChange: PropTypes.func.isRequired,\n /**\n * The zero-based index of the current page.\n */\n page: PropTypes.number.isRequired,\n /**\n * The number of rows per page.\n */\n rowsPerPage: PropTypes.number.isRequired,\n /**\n * If `true`, show the first-page button.\n */\n showFirstButton: PropTypes.bool.isRequired,\n /**\n * If `true`, show the last-page button.\n */\n showLastButton: PropTypes.bool.isRequired,\n /**\n * The props used for each slot inside the TablePaginationActions.\n * @default {}\n */\n slotProps: PropTypes.shape({\n firstButton: PropTypes.object,\n firstButtonIcon: PropTypes.object,\n lastButton: PropTypes.object,\n lastButtonIcon: PropTypes.object,\n nextButton: PropTypes.object,\n nextButtonIcon: PropTypes.object,\n previousButton: PropTypes.object,\n previousButtonIcon: PropTypes.object\n }),\n /**\n * The components used for each slot inside the TablePaginationActions.\n * Either a string to use a HTML element or a component.\n * @default {}\n */\n slots: PropTypes.shape({\n firstButton: PropTypes.elementType,\n firstButtonIcon: PropTypes.elementType,\n lastButton: PropTypes.elementType,\n lastButtonIcon: PropTypes.elementType,\n nextButton: PropTypes.elementType,\n nextButtonIcon: PropTypes.elementType,\n previousButton: PropTypes.elementType,\n previousButtonIcon: PropTypes.elementType\n })\n} : void 0;\nexport default TablePaginationActions;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getTablePaginationUtilityClass(slot) {\n return generateUtilityClass('MuiTablePagination', slot);\n}\nconst tablePaginationClasses = generateUtilityClasses('MuiTablePagination', ['root', 'toolbar', 'spacer', 'selectLabel', 'selectRoot', 'select', 'selectIcon', 'input', 'menuItem', 'displayedRows', 'actions']);\nexport default tablePaginationClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nvar _InputBase;\nconst _excluded = [\"ActionsComponent\", \"backIconButtonProps\", \"className\", \"colSpan\", \"component\", \"count\", \"disabled\", \"getItemAriaLabel\", \"labelDisplayedRows\", \"labelRowsPerPage\", \"nextIconButtonProps\", \"onPageChange\", \"onRowsPerPageChange\", \"page\", \"rowsPerPage\", \"rowsPerPageOptions\", \"SelectProps\", \"showFirstButton\", \"showLastButton\", \"slotProps\", \"slots\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport integerPropType from '@mui/utils/integerPropType';\nimport chainPropTypes from '@mui/utils/chainPropTypes';\nimport { isHostComponent } from '@mui/base/utils';\nimport composeClasses from '@mui/utils/composeClasses';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport InputBase from '../InputBase';\nimport MenuItem from '../MenuItem';\nimport Select from '../Select';\nimport TableCell from '../TableCell';\nimport Toolbar from '../Toolbar';\nimport TablePaginationActions from './TablePaginationActions';\nimport useId from '../utils/useId';\nimport tablePaginationClasses, { getTablePaginationUtilityClass } from './tablePaginationClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { createElement as _createElement } from \"react\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst TablePaginationRoot = styled(TableCell, {\n name: 'MuiTablePagination',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})(({\n theme\n}) => ({\n overflow: 'auto',\n color: (theme.vars || theme).palette.text.primary,\n fontSize: theme.typography.pxToRem(14),\n // Increase the specificity to override TableCell.\n '&:last-child': {\n padding: 0\n }\n}));\nconst TablePaginationToolbar = styled(Toolbar, {\n name: 'MuiTablePagination',\n slot: 'Toolbar',\n overridesResolver: (props, styles) => _extends({\n [`& .${tablePaginationClasses.actions}`]: styles.actions\n }, styles.toolbar)\n})(({\n theme\n}) => ({\n minHeight: 52,\n paddingRight: 2,\n [`${theme.breakpoints.up('xs')} and (orientation: landscape)`]: {\n minHeight: 52\n },\n [theme.breakpoints.up('sm')]: {\n minHeight: 52,\n paddingRight: 2\n },\n [`& .${tablePaginationClasses.actions}`]: {\n flexShrink: 0,\n marginLeft: 20\n }\n}));\nconst TablePaginationSpacer = styled('div', {\n name: 'MuiTablePagination',\n slot: 'Spacer',\n overridesResolver: (props, styles) => styles.spacer\n})({\n flex: '1 1 100%'\n});\nconst TablePaginationSelectLabel = styled('p', {\n name: 'MuiTablePagination',\n slot: 'SelectLabel',\n overridesResolver: (props, styles) => styles.selectLabel\n})(({\n theme\n}) => _extends({}, theme.typography.body2, {\n flexShrink: 0\n}));\nconst TablePaginationSelect = styled(Select, {\n name: 'MuiTablePagination',\n slot: 'Select',\n overridesResolver: (props, styles) => _extends({\n [`& .${tablePaginationClasses.selectIcon}`]: styles.selectIcon,\n [`& .${tablePaginationClasses.select}`]: styles.select\n }, styles.input, styles.selectRoot)\n})({\n color: 'inherit',\n fontSize: 'inherit',\n flexShrink: 0,\n marginRight: 32,\n marginLeft: 8,\n [`& .${tablePaginationClasses.select}`]: {\n paddingLeft: 8,\n paddingRight: 24,\n textAlign: 'right',\n textAlignLast: 'right' // Align <select> on Chrome.\n }\n});\nconst TablePaginationMenuItem = styled(MenuItem, {\n name: 'MuiTablePagination',\n slot: 'MenuItem',\n overridesResolver: (props, styles) => styles.menuItem\n})({});\nconst TablePaginationDisplayedRows = styled('p', {\n name: 'MuiTablePagination',\n slot: 'DisplayedRows',\n overridesResolver: (props, styles) => styles.displayedRows\n})(({\n theme\n}) => _extends({}, theme.typography.body2, {\n flexShrink: 0\n}));\nfunction defaultLabelDisplayedRows({\n from,\n to,\n count\n}) {\n return `${from}–${to} of ${count !== -1 ? count : `more than ${to}`}`;\n}\nfunction defaultGetAriaLabel(type) {\n return `Go to ${type} page`;\n}\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root'],\n toolbar: ['toolbar'],\n spacer: ['spacer'],\n selectLabel: ['selectLabel'],\n select: ['select'],\n input: ['input'],\n selectIcon: ['selectIcon'],\n menuItem: ['menuItem'],\n displayedRows: ['displayedRows'],\n actions: ['actions']\n };\n return composeClasses(slots, getTablePaginationUtilityClass, classes);\n};\n\n/**\n * A `TableCell` based component for placing inside `TableFooter` for pagination.\n */\nconst TablePagination = /*#__PURE__*/React.forwardRef(function TablePagination(inProps, ref) {\n var _slotProps$select;\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTablePagination'\n });\n const {\n ActionsComponent = TablePaginationActions,\n backIconButtonProps,\n className,\n colSpan: colSpanProp,\n component = TableCell,\n count,\n disabled = false,\n getItemAriaLabel = defaultGetAriaLabel,\n labelDisplayedRows = defaultLabelDisplayedRows,\n labelRowsPerPage = 'Rows per page:',\n nextIconButtonProps,\n onPageChange,\n onRowsPerPageChange,\n page,\n rowsPerPage,\n rowsPerPageOptions = [10, 25, 50, 100],\n SelectProps = {},\n showFirstButton = false,\n showLastButton = false,\n slotProps = {},\n slots = {}\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = props;\n const classes = useUtilityClasses(ownerState);\n const selectProps = (_slotProps$select = slotProps == null ? void 0 : slotProps.select) != null ? _slotProps$select : SelectProps;\n const MenuItemComponent = selectProps.native ? 'option' : TablePaginationMenuItem;\n let colSpan;\n if (component === TableCell || component === 'td') {\n colSpan = colSpanProp || 1000; // col-span over everything\n }\n const selectId = useId(selectProps.id);\n const labelId = useId(selectProps.labelId);\n const getLabelDisplayedRowsTo = () => {\n if (count === -1) {\n return (page + 1) * rowsPerPage;\n }\n return rowsPerPage === -1 ? count : Math.min(count, (page + 1) * rowsPerPage);\n };\n return /*#__PURE__*/_jsx(TablePaginationRoot, _extends({\n colSpan: colSpan,\n ref: ref,\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className)\n }, other, {\n children: /*#__PURE__*/_jsxs(TablePaginationToolbar, {\n className: classes.toolbar,\n children: [/*#__PURE__*/_jsx(TablePaginationSpacer, {\n className: classes.spacer\n }), rowsPerPageOptions.length > 1 && /*#__PURE__*/_jsx(TablePaginationSelectLabel, {\n className: classes.selectLabel,\n id: labelId,\n children: labelRowsPerPage\n }), rowsPerPageOptions.length > 1 && /*#__PURE__*/_jsx(TablePaginationSelect, _extends({\n variant: \"standard\"\n }, !selectProps.variant && {\n input: _InputBase || (_InputBase = /*#__PURE__*/_jsx(InputBase, {}))\n }, {\n value: rowsPerPage,\n onChange: onRowsPerPageChange,\n id: selectId,\n labelId: labelId\n }, selectProps, {\n classes: _extends({}, selectProps.classes, {\n // TODO v5 remove `classes.input`\n root: clsx(classes.input, classes.selectRoot, (selectProps.classes || {}).root),\n select: clsx(classes.select, (selectProps.classes || {}).select),\n // TODO v5 remove `selectIcon`\n icon: clsx(classes.selectIcon, (selectProps.classes || {}).icon)\n }),\n disabled: disabled,\n children: rowsPerPageOptions.map(rowsPerPageOption => /*#__PURE__*/_createElement(MenuItemComponent, _extends({}, !isHostComponent(MenuItemComponent) && {\n ownerState\n }, {\n className: classes.menuItem,\n key: rowsPerPageOption.label ? rowsPerPageOption.label : rowsPerPageOption,\n value: rowsPerPageOption.value ? rowsPerPageOption.value : rowsPerPageOption\n }), rowsPerPageOption.label ? rowsPerPageOption.label : rowsPerPageOption))\n })), /*#__PURE__*/_jsx(TablePaginationDisplayedRows, {\n className: classes.displayedRows,\n children: labelDisplayedRows({\n from: count === 0 ? 0 : page * rowsPerPage + 1,\n to: getLabelDisplayedRowsTo(),\n count: count === -1 ? -1 : count,\n page\n })\n }), /*#__PURE__*/_jsx(ActionsComponent, {\n className: classes.actions,\n backIconButtonProps: backIconButtonProps,\n count: count,\n nextIconButtonProps: nextIconButtonProps,\n onPageChange: onPageChange,\n page: page,\n rowsPerPage: rowsPerPage,\n showFirstButton: showFirstButton,\n showLastButton: showLastButton,\n slotProps: slotProps.actions,\n slots: slots.actions,\n getItemAriaLabel: getItemAriaLabel,\n disabled: disabled\n })]\n })\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TablePagination.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The component used for displaying the actions.\n * Either a string to use a HTML element or a component.\n * @default TablePaginationActions\n */\n ActionsComponent: PropTypes.elementType,\n /**\n * Props applied to the back arrow [`IconButton`](/material-ui/api/icon-button/) component.\n *\n * This prop is an alias for `slotProps.actions.previousButton` and will be overriden by it if both are used.\n * @deprecated Use `slotProps.actions.previousButton` instead.\n */\n backIconButtonProps: PropTypes.object,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * @ignore\n */\n colSpan: PropTypes.number,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * The total number of rows.\n *\n * To enable server side pagination for an unknown number of items, provide -1.\n */\n count: integerPropType.isRequired,\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * Accepts a function which returns a string value that provides a user-friendly name for the current page.\n * This is important for screen reader users.\n *\n * For localization purposes, you can use the provided [translations](/material-ui/guides/localization/).\n * @param {string} type The link or button type to format ('first' | 'last' | 'next' | 'previous').\n * @returns {string}\n * @default function defaultGetAriaLabel(type) {\n * return `Go to ${type} page`;\n * }\n */\n getItemAriaLabel: PropTypes.func,\n /**\n * Customize the displayed rows label. Invoked with a `{ from, to, count, page }`\n * object.\n *\n * For localization purposes, you can use the provided [translations](/material-ui/guides/localization/).\n * @default function defaultLabelDisplayedRows({ from, to, count }) {\n * return `${from}–${to} of ${count !== -1 ? count : `more than ${to}`}`;\n * }\n */\n labelDisplayedRows: PropTypes.func,\n /**\n * Customize the rows per page label.\n *\n * For localization purposes, you can use the provided [translations](/material-ui/guides/localization/).\n * @default 'Rows per page:'\n */\n labelRowsPerPage: PropTypes.node,\n /**\n * Props applied to the next arrow [`IconButton`](/material-ui/api/icon-button/) element.\n *\n * This prop is an alias for `slotProps.actions.nextButton` and will be overriden by it if both are used.\n * @deprecated Use `slotProps.actions.nextButton` instead.\n */\n nextIconButtonProps: PropTypes.object,\n /**\n * Callback fired when the page is changed.\n *\n * @param {React.MouseEvent<HTMLButtonElement> | null} event The event source of the callback.\n * @param {number} page The page selected.\n */\n onPageChange: PropTypes.func.isRequired,\n /**\n * Callback fired when the number of rows per page is changed.\n *\n * @param {React.ChangeEvent<HTMLTextAreaElement | HTMLInputElement>} event The event source of the callback.\n */\n onRowsPerPageChange: PropTypes.func,\n /**\n * The zero-based index of the current page.\n */\n page: chainPropTypes(integerPropType.isRequired, props => {\n const {\n count,\n page,\n rowsPerPage\n } = props;\n if (count === -1) {\n return null;\n }\n const newLastPage = Math.max(0, Math.ceil(count / rowsPerPage) - 1);\n if (page < 0 || page > newLastPage) {\n return new Error('MUI: The page prop of a TablePagination is out of range ' + `(0 to ${newLastPage}, but page is ${page}).`);\n }\n return null;\n }),\n /**\n * The number of rows per page.\n *\n * Set -1 to display all the rows.\n */\n rowsPerPage: integerPropType.isRequired,\n /**\n * Customizes the options of the rows per page select field. If less than two options are\n * available, no select field will be displayed.\n * Use -1 for the value with a custom label to show all the rows.\n * @default [10, 25, 50, 100]\n */\n rowsPerPageOptions: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.shape({\n label: PropTypes.string.isRequired,\n value: PropTypes.number.isRequired\n })]).isRequired),\n /**\n * Props applied to the rows per page [`Select`](/material-ui/api/select/) element.\n *\n * This prop is an alias for `slotProps.select` and will be overriden by it if both are used.\n * @deprecated Use `slotProps.select` instead.\n *\n * @default {}\n */\n SelectProps: PropTypes.object,\n /**\n * If `true`, show the first-page button.\n * @default false\n */\n showFirstButton: PropTypes.bool,\n /**\n * If `true`, show the last-page button.\n * @default false\n */\n showLastButton: PropTypes.bool,\n /**\n * The props used for each slot inside the TablePagination.\n * @default {}\n */\n slotProps: PropTypes.shape({\n actions: PropTypes.shape({\n firstButton: PropTypes.object,\n firstButtonIcon: PropTypes.object,\n lastButton: PropTypes.object,\n lastButtonIcon: PropTypes.object,\n nextButton: PropTypes.object,\n nextButtonIcon: PropTypes.object,\n previousButton: PropTypes.object,\n previousButtonIcon: PropTypes.object\n }),\n select: PropTypes.object\n }),\n /**\n * The components used for each slot inside the TablePagination.\n * Either a string to use a HTML element or a component.\n * @default {}\n */\n slots: PropTypes.shape({\n actions: PropTypes.shape({\n firstButton: PropTypes.elementType,\n firstButtonIcon: PropTypes.elementType,\n lastButton: PropTypes.elementType,\n lastButtonIcon: PropTypes.elementType,\n nextButton: PropTypes.elementType,\n nextButtonIcon: PropTypes.elementType,\n previousButton: PropTypes.elementType,\n previousButtonIcon: PropTypes.elementType\n })\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default TablePagination;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getTableRowUtilityClass(slot) {\n return generateUtilityClass('MuiTableRow', slot);\n}\nconst tableRowClasses = generateUtilityClasses('MuiTableRow', ['root', 'selected', 'hover', 'head', 'footer']);\nexport default tableRowClasses;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"className\", \"component\", \"hover\", \"selected\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { alpha } from '@mui/system/colorManipulator';\nimport Tablelvl2Context from '../Table/Tablelvl2Context';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport tableRowClasses, { getTableRowUtilityClass } from './tableRowClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n selected,\n hover,\n head,\n footer\n } = ownerState;\n const slots = {\n root: ['root', selected && 'selected', hover && 'hover', head && 'head', footer && 'footer']\n };\n return composeClasses(slots, getTableRowUtilityClass, classes);\n};\nconst TableRowRoot = styled('tr', {\n name: 'MuiTableRow',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.head && styles.head, ownerState.footer && styles.footer];\n }\n})(({\n theme\n}) => ({\n color: 'inherit',\n display: 'table-row',\n verticalAlign: 'middle',\n // We disable the focus ring for mouse, touch and keyboard users.\n outline: 0,\n [`&.${tableRowClasses.hover}:hover`]: {\n backgroundColor: (theme.vars || theme).palette.action.hover\n },\n [`&.${tableRowClasses.selected}`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.selectedOpacity})` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity),\n '&:hover': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.hoverOpacity}))` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity)\n }\n }\n}));\nconst defaultComponent = 'tr';\n/**\n * Will automatically set dynamic row height\n * based on the material table element parent (head, body, etc).\n */\nconst TableRow = /*#__PURE__*/React.forwardRef(function TableRow(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTableRow'\n });\n const {\n className,\n component = defaultComponent,\n hover = false,\n selected = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const tablelvl2 = React.useContext(Tablelvl2Context);\n const ownerState = _extends({}, props, {\n component,\n hover,\n selected,\n head: tablelvl2 && tablelvl2.variant === 'head',\n footer: tablelvl2 && tablelvl2.variant === 'footer'\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(TableRowRoot, _extends({\n as: component,\n ref: ref,\n className: clsx(classes.root, className),\n role: component === defaultComponent ? null : 'row',\n ownerState: ownerState\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? TableRow.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Should be valid `<tr>` children such as `TableCell`.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * If `true`, the table row will shade on hover.\n * @default false\n */\n hover: PropTypes.bool,\n /**\n * If `true`, the table row will have the selected shading.\n * @default false\n */\n selected: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default TableRow;","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M20 12l-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8 8-8z\"\n}), 'ArrowDownward');","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getTableSortLabelUtilityClass(slot) {\n return generateUtilityClass('MuiTableSortLabel', slot);\n}\nconst tableSortLabelClasses = generateUtilityClasses('MuiTableSortLabel', ['root', 'active', 'icon', 'iconDirectionDesc', 'iconDirectionAsc']);\nexport default tableSortLabelClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"active\", \"children\", \"className\", \"direction\", \"hideSortIcon\", \"IconComponent\"];\nimport composeClasses from '@mui/utils/composeClasses';\nimport clsx from 'clsx';\nimport PropTypes from 'prop-types';\nimport * as React from 'react';\nimport ButtonBase from '../ButtonBase';\nimport ArrowDownwardIcon from '../internal/svg-icons/ArrowDownward';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport capitalize from '../utils/capitalize';\nimport tableSortLabelClasses, { getTableSortLabelUtilityClass } from './tableSortLabelClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n direction,\n active\n } = ownerState;\n const slots = {\n root: ['root', active && 'active'],\n icon: ['icon', `iconDirection${capitalize(direction)}`]\n };\n return composeClasses(slots, getTableSortLabelUtilityClass, classes);\n};\nconst TableSortLabelRoot = styled(ButtonBase, {\n name: 'MuiTableSortLabel',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.active && styles.active];\n }\n})(({\n theme\n}) => ({\n cursor: 'pointer',\n display: 'inline-flex',\n justifyContent: 'flex-start',\n flexDirection: 'inherit',\n alignItems: 'center',\n '&:focus': {\n color: (theme.vars || theme).palette.text.secondary\n },\n '&:hover': {\n color: (theme.vars || theme).palette.text.secondary,\n [`& .${tableSortLabelClasses.icon}`]: {\n opacity: 0.5\n }\n },\n [`&.${tableSortLabelClasses.active}`]: {\n color: (theme.vars || theme).palette.text.primary,\n [`& .${tableSortLabelClasses.icon}`]: {\n opacity: 1,\n color: (theme.vars || theme).palette.text.secondary\n }\n }\n}));\nconst TableSortLabelIcon = styled('span', {\n name: 'MuiTableSortLabel',\n slot: 'Icon',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.icon, styles[`iconDirection${capitalize(ownerState.direction)}`]];\n }\n})(({\n theme,\n ownerState\n}) => _extends({\n fontSize: 18,\n marginRight: 4,\n marginLeft: 4,\n opacity: 0,\n transition: theme.transitions.create(['opacity', 'transform'], {\n duration: theme.transitions.duration.shorter\n }),\n userSelect: 'none'\n}, ownerState.direction === 'desc' && {\n transform: 'rotate(0deg)'\n}, ownerState.direction === 'asc' && {\n transform: 'rotate(180deg)'\n}));\n\n/**\n * A button based label for placing inside `TableCell` for column sorting.\n */\nconst TableSortLabel = /*#__PURE__*/React.forwardRef(function TableSortLabel(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTableSortLabel'\n });\n const {\n active = false,\n children,\n className,\n direction = 'asc',\n hideSortIcon = false,\n IconComponent = ArrowDownwardIcon\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n active,\n direction,\n hideSortIcon,\n IconComponent\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(TableSortLabelRoot, _extends({\n className: clsx(classes.root, className),\n component: \"span\",\n disableRipple: true,\n ownerState: ownerState,\n ref: ref\n }, other, {\n children: [children, hideSortIcon && !active ? null : /*#__PURE__*/_jsx(TableSortLabelIcon, {\n as: IconComponent,\n className: clsx(classes.icon),\n ownerState: ownerState\n })]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TableSortLabel.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * If `true`, the label will have the active styling (should be true for the sorted column).\n * @default false\n */\n active: PropTypes.bool,\n /**\n * Label contents, the arrow will be appended automatically.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The current sort direction.\n * @default 'asc'\n */\n direction: PropTypes.oneOf(['asc', 'desc']),\n /**\n * Hide sort icon when active is false.\n * @default false\n */\n hideSortIcon: PropTypes.bool,\n /**\n * Sort icon to use.\n * @default ArrowDownwardIcon\n */\n IconComponent: PropTypes.elementType,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default TableSortLabel;","function easeInOutSin(time) {\n return (1 + Math.sin(Math.PI * time - Math.PI / 2)) / 2;\n}\nexport default function animate(property, element, to, options = {}, cb = () => {}) {\n const {\n ease = easeInOutSin,\n duration = 300 // standard\n } = options;\n let start = null;\n const from = element[property];\n let cancelled = false;\n const cancel = () => {\n cancelled = true;\n };\n const step = timestamp => {\n if (cancelled) {\n cb(new Error('Animation cancelled'));\n return;\n }\n if (start === null) {\n start = timestamp;\n }\n const time = Math.min(1, (timestamp - start) / duration);\n element[property] = ease(time) * (to - from) + from;\n if (time >= 1) {\n requestAnimationFrame(() => {\n cb(null);\n });\n return;\n }\n requestAnimationFrame(step);\n };\n if (from === to) {\n cb(new Error('Element already at target position'));\n return cancel;\n }\n requestAnimationFrame(step);\n return cancel;\n}","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"onChange\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport debounce from '../utils/debounce';\nimport { ownerWindow, unstable_useEnhancedEffect as useEnhancedEffect } from '../utils';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst styles = {\n width: 99,\n height: 99,\n position: 'absolute',\n top: -9999,\n overflow: 'scroll'\n};\n\n/**\n * @ignore - internal component.\n * The component originates from https://github.com/STORIS/react-scrollbar-size.\n * It has been moved into the core in order to minimize the bundle size.\n */\nexport default function ScrollbarSize(props) {\n const {\n onChange\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const scrollbarHeight = React.useRef();\n const nodeRef = React.useRef(null);\n const setMeasurements = () => {\n scrollbarHeight.current = nodeRef.current.offsetHeight - nodeRef.current.clientHeight;\n };\n useEnhancedEffect(() => {\n const handleResize = debounce(() => {\n const prevHeight = scrollbarHeight.current;\n setMeasurements();\n if (prevHeight !== scrollbarHeight.current) {\n onChange(scrollbarHeight.current);\n }\n });\n const containerWindow = ownerWindow(nodeRef.current);\n containerWindow.addEventListener('resize', handleResize);\n return () => {\n handleResize.clear();\n containerWindow.removeEventListener('resize', handleResize);\n };\n }, [onChange]);\n React.useEffect(() => {\n setMeasurements();\n onChange(scrollbarHeight.current);\n }, [onChange]);\n return /*#__PURE__*/_jsx(\"div\", _extends({\n style: styles,\n ref: nodeRef\n }, other));\n}\nprocess.env.NODE_ENV !== \"production\" ? ScrollbarSize.propTypes = {\n onChange: PropTypes.func.isRequired\n} : void 0;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getTabScrollButtonUtilityClass(slot) {\n return generateUtilityClass('MuiTabScrollButton', slot);\n}\nconst tabScrollButtonClasses = generateUtilityClasses('MuiTabScrollButton', ['root', 'vertical', 'horizontal', 'disabled']);\nexport default tabScrollButtonClasses;","'use client';\n\n/* eslint-disable jsx-a11y/aria-role */\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"slots\", \"slotProps\", \"direction\", \"orientation\", \"disabled\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { useSlotProps } from '@mui/base/utils';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { useRtl } from '@mui/system/RtlProvider';\nimport KeyboardArrowLeft from '../internal/svg-icons/KeyboardArrowLeft';\nimport KeyboardArrowRight from '../internal/svg-icons/KeyboardArrowRight';\nimport ButtonBase from '../ButtonBase';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport tabScrollButtonClasses, { getTabScrollButtonUtilityClass } from './tabScrollButtonClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n orientation,\n disabled\n } = ownerState;\n const slots = {\n root: ['root', orientation, disabled && 'disabled']\n };\n return composeClasses(slots, getTabScrollButtonUtilityClass, classes);\n};\nconst TabScrollButtonRoot = styled(ButtonBase, {\n name: 'MuiTabScrollButton',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.orientation && styles[ownerState.orientation]];\n }\n})(({\n ownerState\n}) => _extends({\n width: 40,\n flexShrink: 0,\n opacity: 0.8,\n [`&.${tabScrollButtonClasses.disabled}`]: {\n opacity: 0\n }\n}, ownerState.orientation === 'vertical' && {\n width: '100%',\n height: 40,\n '& svg': {\n transform: `rotate(${ownerState.isRtl ? -90 : 90}deg)`\n }\n}));\nconst TabScrollButton = /*#__PURE__*/React.forwardRef(function TabScrollButton(inProps, ref) {\n var _slots$StartScrollBut, _slots$EndScrollButto;\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTabScrollButton'\n });\n const {\n className,\n slots = {},\n slotProps = {},\n direction\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const isRtl = useRtl();\n const ownerState = _extends({\n isRtl\n }, props);\n const classes = useUtilityClasses(ownerState);\n const StartButtonIcon = (_slots$StartScrollBut = slots.StartScrollButtonIcon) != null ? _slots$StartScrollBut : KeyboardArrowLeft;\n const EndButtonIcon = (_slots$EndScrollButto = slots.EndScrollButtonIcon) != null ? _slots$EndScrollButto : KeyboardArrowRight;\n const startButtonIconProps = useSlotProps({\n elementType: StartButtonIcon,\n externalSlotProps: slotProps.startScrollButtonIcon,\n additionalProps: {\n fontSize: 'small'\n },\n ownerState\n });\n const endButtonIconProps = useSlotProps({\n elementType: EndButtonIcon,\n externalSlotProps: slotProps.endScrollButtonIcon,\n additionalProps: {\n fontSize: 'small'\n },\n ownerState\n });\n return /*#__PURE__*/_jsx(TabScrollButtonRoot, _extends({\n component: \"div\",\n className: clsx(classes.root, className),\n ref: ref,\n role: null,\n ownerState: ownerState,\n tabIndex: null\n }, other, {\n children: direction === 'left' ? /*#__PURE__*/_jsx(StartButtonIcon, _extends({}, startButtonIconProps)) : /*#__PURE__*/_jsx(EndButtonIcon, _extends({}, endButtonIconProps))\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TabScrollButton.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The direction the button should indicate.\n */\n direction: PropTypes.oneOf(['left', 'right']).isRequired,\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * The component orientation (layout flow direction).\n */\n orientation: PropTypes.oneOf(['horizontal', 'vertical']).isRequired,\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n * @default {}\n */\n slotProps: PropTypes.shape({\n endScrollButtonIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n startScrollButtonIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside.\n * @default {}\n */\n slots: PropTypes.shape({\n EndScrollButtonIcon: PropTypes.elementType,\n StartScrollButtonIcon: PropTypes.elementType\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default TabScrollButton;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getTabsUtilityClass(slot) {\n return generateUtilityClass('MuiTabs', slot);\n}\nconst tabsClasses = generateUtilityClasses('MuiTabs', ['root', 'vertical', 'flexContainer', 'flexContainerVertical', 'centered', 'scroller', 'fixed', 'scrollableX', 'scrollableY', 'hideScrollbar', 'scrollButtons', 'scrollButtonsHideMobile', 'indicator']);\nexport default tabsClasses;","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"aria-label\", \"aria-labelledby\", \"action\", \"centered\", \"children\", \"className\", \"component\", \"allowScrollButtonsMobile\", \"indicatorColor\", \"onChange\", \"orientation\", \"ScrollButtonComponent\", \"scrollButtons\", \"selectionFollowsFocus\", \"slots\", \"slotProps\", \"TabIndicatorProps\", \"TabScrollButtonProps\", \"textColor\", \"value\", \"variant\", \"visibleScrollbar\"];\nimport * as React from 'react';\nimport { isFragment } from 'react-is';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport refType from '@mui/utils/refType';\nimport { useSlotProps } from '@mui/base/utils';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { useRtl } from '@mui/system/RtlProvider';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport useTheme from '../styles/useTheme';\nimport debounce from '../utils/debounce';\nimport { getNormalizedScrollLeft, detectScrollType } from '../utils/scrollLeft';\nimport animate from '../internal/animate';\nimport ScrollbarSize from './ScrollbarSize';\nimport TabScrollButton from '../TabScrollButton';\nimport useEventCallback from '../utils/useEventCallback';\nimport tabsClasses, { getTabsUtilityClass } from './tabsClasses';\nimport ownerDocument from '../utils/ownerDocument';\nimport ownerWindow from '../utils/ownerWindow';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst nextItem = (list, item) => {\n if (list === item) {\n return list.firstChild;\n }\n if (item && item.nextElementSibling) {\n return item.nextElementSibling;\n }\n return list.firstChild;\n};\nconst previousItem = (list, item) => {\n if (list === item) {\n return list.lastChild;\n }\n if (item && item.previousElementSibling) {\n return item.previousElementSibling;\n }\n return list.lastChild;\n};\nconst moveFocus = (list, currentFocus, traversalFunction) => {\n let wrappedOnce = false;\n let nextFocus = traversalFunction(list, currentFocus);\n while (nextFocus) {\n // Prevent infinite loop.\n if (nextFocus === list.firstChild) {\n if (wrappedOnce) {\n return;\n }\n wrappedOnce = true;\n }\n\n // Same logic as useAutocomplete.js\n const nextFocusDisabled = nextFocus.disabled || nextFocus.getAttribute('aria-disabled') === 'true';\n if (!nextFocus.hasAttribute('tabindex') || nextFocusDisabled) {\n // Move to the next element.\n nextFocus = traversalFunction(list, nextFocus);\n } else {\n nextFocus.focus();\n return;\n }\n }\n};\nconst useUtilityClasses = ownerState => {\n const {\n vertical,\n fixed,\n hideScrollbar,\n scrollableX,\n scrollableY,\n centered,\n scrollButtonsHideMobile,\n classes\n } = ownerState;\n const slots = {\n root: ['root', vertical && 'vertical'],\n scroller: ['scroller', fixed && 'fixed', hideScrollbar && 'hideScrollbar', scrollableX && 'scrollableX', scrollableY && 'scrollableY'],\n flexContainer: ['flexContainer', vertical && 'flexContainerVertical', centered && 'centered'],\n indicator: ['indicator'],\n scrollButtons: ['scrollButtons', scrollButtonsHideMobile && 'scrollButtonsHideMobile'],\n scrollableX: [scrollableX && 'scrollableX'],\n hideScrollbar: [hideScrollbar && 'hideScrollbar']\n };\n return composeClasses(slots, getTabsUtilityClass, classes);\n};\nconst TabsRoot = styled('div', {\n name: 'MuiTabs',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [{\n [`& .${tabsClasses.scrollButtons}`]: styles.scrollButtons\n }, {\n [`& .${tabsClasses.scrollButtons}`]: ownerState.scrollButtonsHideMobile && styles.scrollButtonsHideMobile\n }, styles.root, ownerState.vertical && styles.vertical];\n }\n})(({\n ownerState,\n theme\n}) => _extends({\n overflow: 'hidden',\n minHeight: 48,\n // Add iOS momentum scrolling for iOS < 13.0\n WebkitOverflowScrolling: 'touch',\n display: 'flex'\n}, ownerState.vertical && {\n flexDirection: 'column'\n}, ownerState.scrollButtonsHideMobile && {\n [`& .${tabsClasses.scrollButtons}`]: {\n [theme.breakpoints.down('sm')]: {\n display: 'none'\n }\n }\n}));\nconst TabsScroller = styled('div', {\n name: 'MuiTabs',\n slot: 'Scroller',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.scroller, ownerState.fixed && styles.fixed, ownerState.hideScrollbar && styles.hideScrollbar, ownerState.scrollableX && styles.scrollableX, ownerState.scrollableY && styles.scrollableY];\n }\n})(({\n ownerState\n}) => _extends({\n position: 'relative',\n display: 'inline-block',\n flex: '1 1 auto',\n whiteSpace: 'nowrap'\n}, ownerState.fixed && {\n overflowX: 'hidden',\n width: '100%'\n}, ownerState.hideScrollbar && {\n // Hide dimensionless scrollbar on macOS\n scrollbarWidth: 'none',\n // Firefox\n '&::-webkit-scrollbar': {\n display: 'none' // Safari + Chrome\n }\n}, ownerState.scrollableX && {\n overflowX: 'auto',\n overflowY: 'hidden'\n}, ownerState.scrollableY && {\n overflowY: 'auto',\n overflowX: 'hidden'\n}));\nconst FlexContainer = styled('div', {\n name: 'MuiTabs',\n slot: 'FlexContainer',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.flexContainer, ownerState.vertical && styles.flexContainerVertical, ownerState.centered && styles.centered];\n }\n})(({\n ownerState\n}) => _extends({\n display: 'flex'\n}, ownerState.vertical && {\n flexDirection: 'column'\n}, ownerState.centered && {\n justifyContent: 'center'\n}));\nconst TabsIndicator = styled('span', {\n name: 'MuiTabs',\n slot: 'Indicator',\n overridesResolver: (props, styles) => styles.indicator\n})(({\n ownerState,\n theme\n}) => _extends({\n position: 'absolute',\n height: 2,\n bottom: 0,\n width: '100%',\n transition: theme.transitions.create()\n}, ownerState.indicatorColor === 'primary' && {\n backgroundColor: (theme.vars || theme).palette.primary.main\n}, ownerState.indicatorColor === 'secondary' && {\n backgroundColor: (theme.vars || theme).palette.secondary.main\n}, ownerState.vertical && {\n height: '100%',\n width: 2,\n right: 0\n}));\nconst TabsScrollbarSize = styled(ScrollbarSize)({\n overflowX: 'auto',\n overflowY: 'hidden',\n // Hide dimensionless scrollbar on macOS\n scrollbarWidth: 'none',\n // Firefox\n '&::-webkit-scrollbar': {\n display: 'none' // Safari + Chrome\n }\n});\nconst defaultIndicatorStyle = {};\nlet warnedOnceTabPresent = false;\nconst Tabs = /*#__PURE__*/React.forwardRef(function Tabs(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTabs'\n });\n const theme = useTheme();\n const isRtl = useRtl();\n const {\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n action,\n centered = false,\n children: childrenProp,\n className,\n component = 'div',\n allowScrollButtonsMobile = false,\n indicatorColor = 'primary',\n onChange,\n orientation = 'horizontal',\n ScrollButtonComponent = TabScrollButton,\n scrollButtons = 'auto',\n selectionFollowsFocus,\n slots = {},\n slotProps = {},\n TabIndicatorProps = {},\n TabScrollButtonProps = {},\n textColor = 'primary',\n value,\n variant = 'standard',\n visibleScrollbar = false\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const scrollable = variant === 'scrollable';\n const vertical = orientation === 'vertical';\n const scrollStart = vertical ? 'scrollTop' : 'scrollLeft';\n const start = vertical ? 'top' : 'left';\n const end = vertical ? 'bottom' : 'right';\n const clientSize = vertical ? 'clientHeight' : 'clientWidth';\n const size = vertical ? 'height' : 'width';\n const ownerState = _extends({}, props, {\n component,\n allowScrollButtonsMobile,\n indicatorColor,\n orientation,\n vertical,\n scrollButtons,\n textColor,\n variant,\n visibleScrollbar,\n fixed: !scrollable,\n hideScrollbar: scrollable && !visibleScrollbar,\n scrollableX: scrollable && !vertical,\n scrollableY: scrollable && vertical,\n centered: centered && !scrollable,\n scrollButtonsHideMobile: !allowScrollButtonsMobile\n });\n const classes = useUtilityClasses(ownerState);\n const startScrollButtonIconProps = useSlotProps({\n elementType: slots.StartScrollButtonIcon,\n externalSlotProps: slotProps.startScrollButtonIcon,\n ownerState\n });\n const endScrollButtonIconProps = useSlotProps({\n elementType: slots.EndScrollButtonIcon,\n externalSlotProps: slotProps.endScrollButtonIcon,\n ownerState\n });\n if (process.env.NODE_ENV !== 'production') {\n if (centered && scrollable) {\n console.error('MUI: You can not use the `centered={true}` and `variant=\"scrollable\"` properties ' + 'at the same time on a `Tabs` component.');\n }\n }\n const [mounted, setMounted] = React.useState(false);\n const [indicatorStyle, setIndicatorStyle] = React.useState(defaultIndicatorStyle);\n const [displayStartScroll, setDisplayStartScroll] = React.useState(false);\n const [displayEndScroll, setDisplayEndScroll] = React.useState(false);\n const [updateScrollObserver, setUpdateScrollObserver] = React.useState(false);\n const [scrollerStyle, setScrollerStyle] = React.useState({\n overflow: 'hidden',\n scrollbarWidth: 0\n });\n const valueToIndex = new Map();\n const tabsRef = React.useRef(null);\n const tabListRef = React.useRef(null);\n const getTabsMeta = () => {\n const tabsNode = tabsRef.current;\n let tabsMeta;\n if (tabsNode) {\n const rect = tabsNode.getBoundingClientRect();\n // create a new object with ClientRect class props + scrollLeft\n tabsMeta = {\n clientWidth: tabsNode.clientWidth,\n scrollLeft: tabsNode.scrollLeft,\n scrollTop: tabsNode.scrollTop,\n scrollLeftNormalized: getNormalizedScrollLeft(tabsNode, isRtl ? 'rtl' : 'ltr'),\n scrollWidth: tabsNode.scrollWidth,\n top: rect.top,\n bottom: rect.bottom,\n left: rect.left,\n right: rect.right\n };\n }\n let tabMeta;\n if (tabsNode && value !== false) {\n const children = tabListRef.current.children;\n if (children.length > 0) {\n const tab = children[valueToIndex.get(value)];\n if (process.env.NODE_ENV !== 'production') {\n if (!tab) {\n console.error([`MUI: The \\`value\\` provided to the Tabs component is invalid.`, `None of the Tabs' children match with \"${value}\".`, valueToIndex.keys ? `You can provide one of the following values: ${Array.from(valueToIndex.keys()).join(', ')}.` : null].join('\\n'));\n }\n }\n tabMeta = tab ? tab.getBoundingClientRect() : null;\n if (process.env.NODE_ENV !== 'production') {\n if (process.env.NODE_ENV !== 'test' && !warnedOnceTabPresent && tabMeta && tabMeta.width === 0 && tabMeta.height === 0 &&\n // if the whole Tabs component is hidden, don't warn\n tabsMeta.clientWidth !== 0) {\n tabsMeta = null;\n console.error(['MUI: The `value` provided to the Tabs component is invalid.', `The Tab with this \\`value\\` (\"${value}\") is not part of the document layout.`, \"Make sure the tab item is present in the document or that it's not `display: none`.\"].join('\\n'));\n warnedOnceTabPresent = true;\n }\n }\n }\n }\n return {\n tabsMeta,\n tabMeta\n };\n };\n const updateIndicatorState = useEventCallback(() => {\n const {\n tabsMeta,\n tabMeta\n } = getTabsMeta();\n let startValue = 0;\n let startIndicator;\n if (vertical) {\n startIndicator = 'top';\n if (tabMeta && tabsMeta) {\n startValue = tabMeta.top - tabsMeta.top + tabsMeta.scrollTop;\n }\n } else {\n startIndicator = isRtl ? 'right' : 'left';\n if (tabMeta && tabsMeta) {\n const correction = isRtl ? tabsMeta.scrollLeftNormalized + tabsMeta.clientWidth - tabsMeta.scrollWidth : tabsMeta.scrollLeft;\n startValue = (isRtl ? -1 : 1) * (tabMeta[startIndicator] - tabsMeta[startIndicator] + correction);\n }\n }\n const newIndicatorStyle = {\n [startIndicator]: startValue,\n // May be wrong until the font is loaded.\n [size]: tabMeta ? tabMeta[size] : 0\n };\n\n // IE11 support, replace with Number.isNaN\n // eslint-disable-next-line no-restricted-globals\n if (isNaN(indicatorStyle[startIndicator]) || isNaN(indicatorStyle[size])) {\n setIndicatorStyle(newIndicatorStyle);\n } else {\n const dStart = Math.abs(indicatorStyle[startIndicator] - newIndicatorStyle[startIndicator]);\n const dSize = Math.abs(indicatorStyle[size] - newIndicatorStyle[size]);\n if (dStart >= 1 || dSize >= 1) {\n setIndicatorStyle(newIndicatorStyle);\n }\n }\n });\n const scroll = (scrollValue, {\n animation = true\n } = {}) => {\n if (animation) {\n animate(scrollStart, tabsRef.current, scrollValue, {\n duration: theme.transitions.duration.standard\n });\n } else {\n tabsRef.current[scrollStart] = scrollValue;\n }\n };\n const moveTabsScroll = delta => {\n let scrollValue = tabsRef.current[scrollStart];\n if (vertical) {\n scrollValue += delta;\n } else {\n scrollValue += delta * (isRtl ? -1 : 1);\n // Fix for Edge\n scrollValue *= isRtl && detectScrollType() === 'reverse' ? -1 : 1;\n }\n scroll(scrollValue);\n };\n const getScrollSize = () => {\n const containerSize = tabsRef.current[clientSize];\n let totalSize = 0;\n const children = Array.from(tabListRef.current.children);\n for (let i = 0; i < children.length; i += 1) {\n const tab = children[i];\n if (totalSize + tab[clientSize] > containerSize) {\n // If the first item is longer than the container size, then only scroll\n // by the container size.\n if (i === 0) {\n totalSize = containerSize;\n }\n break;\n }\n totalSize += tab[clientSize];\n }\n return totalSize;\n };\n const handleStartScrollClick = () => {\n moveTabsScroll(-1 * getScrollSize());\n };\n const handleEndScrollClick = () => {\n moveTabsScroll(getScrollSize());\n };\n\n // TODO Remove <ScrollbarSize /> as browser support for hiding the scrollbar\n // with CSS improves.\n const handleScrollbarSizeChange = React.useCallback(scrollbarWidth => {\n setScrollerStyle({\n overflow: null,\n scrollbarWidth\n });\n }, []);\n const getConditionalElements = () => {\n const conditionalElements = {};\n conditionalElements.scrollbarSizeListener = scrollable ? /*#__PURE__*/_jsx(TabsScrollbarSize, {\n onChange: handleScrollbarSizeChange,\n className: clsx(classes.scrollableX, classes.hideScrollbar)\n }) : null;\n const scrollButtonsActive = displayStartScroll || displayEndScroll;\n const showScrollButtons = scrollable && (scrollButtons === 'auto' && scrollButtonsActive || scrollButtons === true);\n conditionalElements.scrollButtonStart = showScrollButtons ? /*#__PURE__*/_jsx(ScrollButtonComponent, _extends({\n slots: {\n StartScrollButtonIcon: slots.StartScrollButtonIcon\n },\n slotProps: {\n startScrollButtonIcon: startScrollButtonIconProps\n },\n orientation: orientation,\n direction: isRtl ? 'right' : 'left',\n onClick: handleStartScrollClick,\n disabled: !displayStartScroll\n }, TabScrollButtonProps, {\n className: clsx(classes.scrollButtons, TabScrollButtonProps.className)\n })) : null;\n conditionalElements.scrollButtonEnd = showScrollButtons ? /*#__PURE__*/_jsx(ScrollButtonComponent, _extends({\n slots: {\n EndScrollButtonIcon: slots.EndScrollButtonIcon\n },\n slotProps: {\n endScrollButtonIcon: endScrollButtonIconProps\n },\n orientation: orientation,\n direction: isRtl ? 'left' : 'right',\n onClick: handleEndScrollClick,\n disabled: !displayEndScroll\n }, TabScrollButtonProps, {\n className: clsx(classes.scrollButtons, TabScrollButtonProps.className)\n })) : null;\n return conditionalElements;\n };\n const scrollSelectedIntoView = useEventCallback(animation => {\n const {\n tabsMeta,\n tabMeta\n } = getTabsMeta();\n if (!tabMeta || !tabsMeta) {\n return;\n }\n if (tabMeta[start] < tabsMeta[start]) {\n // left side of button is out of view\n const nextScrollStart = tabsMeta[scrollStart] + (tabMeta[start] - tabsMeta[start]);\n scroll(nextScrollStart, {\n animation\n });\n } else if (tabMeta[end] > tabsMeta[end]) {\n // right side of button is out of view\n const nextScrollStart = tabsMeta[scrollStart] + (tabMeta[end] - tabsMeta[end]);\n scroll(nextScrollStart, {\n animation\n });\n }\n });\n const updateScrollButtonState = useEventCallback(() => {\n if (scrollable && scrollButtons !== false) {\n setUpdateScrollObserver(!updateScrollObserver);\n }\n });\n React.useEffect(() => {\n const handleResize = debounce(() => {\n // If the Tabs component is replaced by Suspense with a fallback, the last\n // ResizeObserver's handler that runs because of the change in the layout is trying to\n // access a dom node that is no longer there (as the fallback component is being shown instead).\n // See https://github.com/mui/material-ui/issues/33276\n // TODO: Add tests that will ensure the component is not failing when\n // replaced by Suspense with a fallback, once React is updated to version 18\n if (tabsRef.current) {\n updateIndicatorState();\n }\n });\n let resizeObserver;\n\n /**\n * @type {MutationCallback}\n */\n const handleMutation = records => {\n records.forEach(record => {\n record.removedNodes.forEach(item => {\n var _resizeObserver;\n (_resizeObserver = resizeObserver) == null || _resizeObserver.unobserve(item);\n });\n record.addedNodes.forEach(item => {\n var _resizeObserver2;\n (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.observe(item);\n });\n });\n handleResize();\n updateScrollButtonState();\n };\n const win = ownerWindow(tabsRef.current);\n win.addEventListener('resize', handleResize);\n let mutationObserver;\n if (typeof ResizeObserver !== 'undefined') {\n resizeObserver = new ResizeObserver(handleResize);\n Array.from(tabListRef.current.children).forEach(child => {\n resizeObserver.observe(child);\n });\n }\n if (typeof MutationObserver !== 'undefined') {\n mutationObserver = new MutationObserver(handleMutation);\n mutationObserver.observe(tabListRef.current, {\n childList: true\n });\n }\n return () => {\n var _mutationObserver, _resizeObserver3;\n handleResize.clear();\n win.removeEventListener('resize', handleResize);\n (_mutationObserver = mutationObserver) == null || _mutationObserver.disconnect();\n (_resizeObserver3 = resizeObserver) == null || _resizeObserver3.disconnect();\n };\n }, [updateIndicatorState, updateScrollButtonState]);\n\n /**\n * Toggle visibility of start and end scroll buttons\n * Using IntersectionObserver on first and last Tabs.\n */\n React.useEffect(() => {\n const tabListChildren = Array.from(tabListRef.current.children);\n const length = tabListChildren.length;\n if (typeof IntersectionObserver !== 'undefined' && length > 0 && scrollable && scrollButtons !== false) {\n const firstTab = tabListChildren[0];\n const lastTab = tabListChildren[length - 1];\n const observerOptions = {\n root: tabsRef.current,\n threshold: 0.99\n };\n const handleScrollButtonStart = entries => {\n setDisplayStartScroll(!entries[0].isIntersecting);\n };\n const firstObserver = new IntersectionObserver(handleScrollButtonStart, observerOptions);\n firstObserver.observe(firstTab);\n const handleScrollButtonEnd = entries => {\n setDisplayEndScroll(!entries[0].isIntersecting);\n };\n const lastObserver = new IntersectionObserver(handleScrollButtonEnd, observerOptions);\n lastObserver.observe(lastTab);\n return () => {\n firstObserver.disconnect();\n lastObserver.disconnect();\n };\n }\n return undefined;\n }, [scrollable, scrollButtons, updateScrollObserver, childrenProp == null ? void 0 : childrenProp.length]);\n React.useEffect(() => {\n setMounted(true);\n }, []);\n React.useEffect(() => {\n updateIndicatorState();\n });\n React.useEffect(() => {\n // Don't animate on the first render.\n scrollSelectedIntoView(defaultIndicatorStyle !== indicatorStyle);\n }, [scrollSelectedIntoView, indicatorStyle]);\n React.useImperativeHandle(action, () => ({\n updateIndicator: updateIndicatorState,\n updateScrollButtons: updateScrollButtonState\n }), [updateIndicatorState, updateScrollButtonState]);\n const indicator = /*#__PURE__*/_jsx(TabsIndicator, _extends({}, TabIndicatorProps, {\n className: clsx(classes.indicator, TabIndicatorProps.className),\n ownerState: ownerState,\n style: _extends({}, indicatorStyle, TabIndicatorProps.style)\n }));\n let childIndex = 0;\n const children = React.Children.map(childrenProp, child => {\n if (! /*#__PURE__*/React.isValidElement(child)) {\n return null;\n }\n if (process.env.NODE_ENV !== 'production') {\n if (isFragment(child)) {\n console.error([\"MUI: The Tabs component doesn't accept a Fragment as a child.\", 'Consider providing an array instead.'].join('\\n'));\n }\n }\n const childValue = child.props.value === undefined ? childIndex : child.props.value;\n valueToIndex.set(childValue, childIndex);\n const selected = childValue === value;\n childIndex += 1;\n return /*#__PURE__*/React.cloneElement(child, _extends({\n fullWidth: variant === 'fullWidth',\n indicator: selected && !mounted && indicator,\n selected,\n selectionFollowsFocus,\n onChange,\n textColor,\n value: childValue\n }, childIndex === 1 && value === false && !child.props.tabIndex ? {\n tabIndex: 0\n } : {}));\n });\n const handleKeyDown = event => {\n const list = tabListRef.current;\n const currentFocus = ownerDocument(list).activeElement;\n // Keyboard navigation assumes that [role=\"tab\"] are siblings\n // though we might warn in the future about nested, interactive elements\n // as a a11y violation\n const role = currentFocus.getAttribute('role');\n if (role !== 'tab') {\n return;\n }\n let previousItemKey = orientation === 'horizontal' ? 'ArrowLeft' : 'ArrowUp';\n let nextItemKey = orientation === 'horizontal' ? 'ArrowRight' : 'ArrowDown';\n if (orientation === 'horizontal' && isRtl) {\n // swap previousItemKey with nextItemKey\n previousItemKey = 'ArrowRight';\n nextItemKey = 'ArrowLeft';\n }\n switch (event.key) {\n case previousItemKey:\n event.preventDefault();\n moveFocus(list, currentFocus, previousItem);\n break;\n case nextItemKey:\n event.preventDefault();\n moveFocus(list, currentFocus, nextItem);\n break;\n case 'Home':\n event.preventDefault();\n moveFocus(list, null, nextItem);\n break;\n case 'End':\n event.preventDefault();\n moveFocus(list, null, previousItem);\n break;\n default:\n break;\n }\n };\n const conditionalElements = getConditionalElements();\n return /*#__PURE__*/_jsxs(TabsRoot, _extends({\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref,\n as: component\n }, other, {\n children: [conditionalElements.scrollButtonStart, conditionalElements.scrollbarSizeListener, /*#__PURE__*/_jsxs(TabsScroller, {\n className: classes.scroller,\n ownerState: ownerState,\n style: {\n overflow: scrollerStyle.overflow,\n [vertical ? `margin${isRtl ? 'Left' : 'Right'}` : 'marginBottom']: visibleScrollbar ? undefined : -scrollerStyle.scrollbarWidth\n },\n ref: tabsRef,\n children: [/*#__PURE__*/_jsx(FlexContainer, {\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-orientation\": orientation === 'vertical' ? 'vertical' : null,\n className: classes.flexContainer,\n ownerState: ownerState,\n onKeyDown: handleKeyDown,\n ref: tabListRef,\n role: \"tablist\",\n children: children\n }), mounted && indicator]\n }), conditionalElements.scrollButtonEnd]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Tabs.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Callback fired when the component mounts.\n * This is useful when you want to trigger an action programmatically.\n * It supports two actions: `updateIndicator()` and `updateScrollButtons()`\n *\n * @param {object} actions This object contains all possible actions\n * that can be triggered programmatically.\n */\n action: refType,\n /**\n * If `true`, the scroll buttons aren't forced hidden on mobile.\n * By default the scroll buttons are hidden on mobile and takes precedence over `scrollButtons`.\n * @default false\n */\n allowScrollButtonsMobile: PropTypes.bool,\n /**\n * The label for the Tabs as a string.\n */\n 'aria-label': PropTypes.string,\n /**\n * An id or list of ids separated by a space that label the Tabs.\n */\n 'aria-labelledby': PropTypes.string,\n /**\n * If `true`, the tabs are centered.\n * This prop is intended for large views.\n * @default false\n */\n centered: PropTypes.bool,\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * Determines the color of the indicator.\n * @default 'primary'\n */\n indicatorColor: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['primary', 'secondary']), PropTypes.string]),\n /**\n * Callback fired when the value changes.\n *\n * @param {React.SyntheticEvent} event The event source of the callback. **Warning**: This is a generic event not a change event.\n * @param {any} value We default to the index of the child (number)\n */\n onChange: PropTypes.func,\n /**\n * The component orientation (layout flow direction).\n * @default 'horizontal'\n */\n orientation: PropTypes.oneOf(['horizontal', 'vertical']),\n /**\n * The component used to render the scroll buttons.\n * @default TabScrollButton\n */\n ScrollButtonComponent: PropTypes.elementType,\n /**\n * Determine behavior of scroll buttons when tabs are set to scroll:\n *\n * - `auto` will only present them when not all the items are visible.\n * - `true` will always present them.\n * - `false` will never present them.\n *\n * By default the scroll buttons are hidden on mobile.\n * This behavior can be disabled with `allowScrollButtonsMobile`.\n * @default 'auto'\n */\n scrollButtons: PropTypes /* @typescript-to-proptypes-ignore */.oneOf(['auto', false, true]),\n /**\n * If `true` the selected tab changes on focus. Otherwise it only\n * changes on activation.\n */\n selectionFollowsFocus: PropTypes.bool,\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n * @default {}\n */\n slotProps: PropTypes.shape({\n endScrollButtonIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n startScrollButtonIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside.\n * @default {}\n */\n slots: PropTypes.shape({\n EndScrollButtonIcon: PropTypes.elementType,\n StartScrollButtonIcon: PropTypes.elementType\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * Props applied to the tab indicator element.\n * @default {}\n */\n TabIndicatorProps: PropTypes.object,\n /**\n * Props applied to the [`TabScrollButton`](/material-ui/api/tab-scroll-button/) element.\n * @default {}\n */\n TabScrollButtonProps: PropTypes.object,\n /**\n * Determines the color of the `Tab`.\n * @default 'primary'\n */\n textColor: PropTypes.oneOf(['inherit', 'primary', 'secondary']),\n /**\n * The value of the currently selected `Tab`.\n * If you don't want any selected `Tab`, you can set this prop to `false`.\n */\n value: PropTypes.any,\n /**\n * Determines additional display behavior of the tabs:\n *\n * - `scrollable` will invoke scrolling properties and allow for horizontally\n * scrolling (or swiping) of the tab bar.\n * - `fullWidth` will make the tabs grow to use all the available space,\n * which should be used for small views, like on mobile.\n * - `standard` will render the default state.\n * @default 'standard'\n */\n variant: PropTypes.oneOf(['fullWidth', 'scrollable', 'standard']),\n /**\n * If `true`, the scrollbar is visible. It can be useful when displaying\n * a long vertical list of tabs.\n * @default false\n */\n visibleScrollbar: PropTypes.bool\n} : void 0;\nexport default Tabs;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getTextFieldUtilityClass(slot) {\n return generateUtilityClass('MuiTextField', slot);\n}\nconst textFieldClasses = generateUtilityClasses('MuiTextField', ['root']);\nexport default textFieldClasses;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"autoComplete\", \"autoFocus\", \"children\", \"className\", \"color\", \"defaultValue\", \"disabled\", \"error\", \"FormHelperTextProps\", \"fullWidth\", \"helperText\", \"id\", \"InputLabelProps\", \"inputProps\", \"InputProps\", \"inputRef\", \"label\", \"maxRows\", \"minRows\", \"multiline\", \"name\", \"onBlur\", \"onChange\", \"onFocus\", \"placeholder\", \"required\", \"rows\", \"select\", \"SelectProps\", \"type\", \"value\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport useId from '@mui/utils/useId';\nimport refType from '@mui/utils/refType';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport Input from '../Input';\nimport FilledInput from '../FilledInput';\nimport OutlinedInput from '../OutlinedInput';\nimport InputLabel from '../InputLabel';\nimport FormControl from '../FormControl';\nimport FormHelperText from '../FormHelperText';\nimport Select from '../Select';\nimport { getTextFieldUtilityClass } from './textFieldClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst variantComponent = {\n standard: Input,\n filled: FilledInput,\n outlined: OutlinedInput\n};\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getTextFieldUtilityClass, classes);\n};\nconst TextFieldRoot = styled(FormControl, {\n name: 'MuiTextField',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({});\n\n/**\n * The `TextField` is a convenience wrapper for the most common cases (80%).\n * It cannot be all things to all people, otherwise the API would grow out of control.\n *\n * ## Advanced Configuration\n *\n * It's important to understand that the text field is a simple abstraction\n * on top of the following components:\n *\n * - [FormControl](/material-ui/api/form-control/)\n * - [InputLabel](/material-ui/api/input-label/)\n * - [FilledInput](/material-ui/api/filled-input/)\n * - [OutlinedInput](/material-ui/api/outlined-input/)\n * - [Input](/material-ui/api/input/)\n * - [FormHelperText](/material-ui/api/form-helper-text/)\n *\n * If you wish to alter the props applied to the `input` element, you can do so as follows:\n *\n * ```jsx\n * const inputProps = {\n * step: 300,\n * };\n *\n * return <TextField id=\"time\" type=\"time\" inputProps={inputProps} />;\n * ```\n *\n * For advanced cases, please look at the source of TextField by clicking on the\n * \"Edit this page\" button above. Consider either:\n *\n * - using the upper case props for passing values directly to the components\n * - using the underlying components directly as shown in the demos\n */\nconst TextField = /*#__PURE__*/React.forwardRef(function TextField(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTextField'\n });\n const {\n autoComplete,\n autoFocus = false,\n children,\n className,\n color = 'primary',\n defaultValue,\n disabled = false,\n error = false,\n FormHelperTextProps,\n fullWidth = false,\n helperText,\n id: idOverride,\n InputLabelProps,\n inputProps,\n InputProps,\n inputRef,\n label,\n maxRows,\n minRows,\n multiline = false,\n name,\n onBlur,\n onChange,\n onFocus,\n placeholder,\n required = false,\n rows,\n select = false,\n SelectProps,\n type,\n value,\n variant = 'outlined'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n autoFocus,\n color,\n disabled,\n error,\n fullWidth,\n multiline,\n required,\n select,\n variant\n });\n const classes = useUtilityClasses(ownerState);\n if (process.env.NODE_ENV !== 'production') {\n if (select && !children) {\n console.error('MUI: `children` must be passed when using the `TextField` component with `select`.');\n }\n }\n const InputMore = {};\n if (variant === 'outlined') {\n if (InputLabelProps && typeof InputLabelProps.shrink !== 'undefined') {\n InputMore.notched = InputLabelProps.shrink;\n }\n InputMore.label = label;\n }\n if (select) {\n // unset defaults from textbox inputs\n if (!SelectProps || !SelectProps.native) {\n InputMore.id = undefined;\n }\n InputMore['aria-describedby'] = undefined;\n }\n const id = useId(idOverride);\n const helperTextId = helperText && id ? `${id}-helper-text` : undefined;\n const inputLabelId = label && id ? `${id}-label` : undefined;\n const InputComponent = variantComponent[variant];\n const InputElement = /*#__PURE__*/_jsx(InputComponent, _extends({\n \"aria-describedby\": helperTextId,\n autoComplete: autoComplete,\n autoFocus: autoFocus,\n defaultValue: defaultValue,\n fullWidth: fullWidth,\n multiline: multiline,\n name: name,\n rows: rows,\n maxRows: maxRows,\n minRows: minRows,\n type: type,\n value: value,\n id: id,\n inputRef: inputRef,\n onBlur: onBlur,\n onChange: onChange,\n onFocus: onFocus,\n placeholder: placeholder,\n inputProps: inputProps\n }, InputMore, InputProps));\n return /*#__PURE__*/_jsxs(TextFieldRoot, _extends({\n className: clsx(classes.root, className),\n disabled: disabled,\n error: error,\n fullWidth: fullWidth,\n ref: ref,\n required: required,\n color: color,\n variant: variant,\n ownerState: ownerState\n }, other, {\n children: [label != null && label !== '' && /*#__PURE__*/_jsx(InputLabel, _extends({\n htmlFor: id,\n id: inputLabelId\n }, InputLabelProps, {\n children: label\n })), select ? /*#__PURE__*/_jsx(Select, _extends({\n \"aria-describedby\": helperTextId,\n id: id,\n labelId: inputLabelId,\n value: value,\n input: InputElement\n }, SelectProps, {\n children: children\n })) : InputElement, helperText && /*#__PURE__*/_jsx(FormHelperText, _extends({\n id: helperTextId\n }, FormHelperTextProps, {\n children: helperText\n }))]\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TextField.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * This prop helps users to fill forms faster, especially on mobile devices.\n * The name can be confusing, as it's more like an autofill.\n * You can learn more about it [following the specification](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill).\n */\n autoComplete: PropTypes.string,\n /**\n * If `true`, the `input` element is focused during the first mount.\n * @default false\n */\n autoFocus: PropTypes.bool,\n /**\n * @ignore\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * @default 'primary'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * The default value. Use when the component is not controlled.\n */\n defaultValue: PropTypes.any,\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the label is displayed in an error state.\n * @default false\n */\n error: PropTypes.bool,\n /**\n * Props applied to the [`FormHelperText`](/material-ui/api/form-helper-text/) element.\n */\n FormHelperTextProps: PropTypes.object,\n /**\n * If `true`, the input will take up the full width of its container.\n * @default false\n */\n fullWidth: PropTypes.bool,\n /**\n * The helper text content.\n */\n helperText: PropTypes.node,\n /**\n * The id of the `input` element.\n * Use this prop to make `label` and `helperText` accessible for screen readers.\n */\n id: PropTypes.string,\n /**\n * Props applied to the [`InputLabel`](/material-ui/api/input-label/) element.\n * Pointer events like `onClick` are enabled if and only if `shrink` is `true`.\n */\n InputLabelProps: PropTypes.object,\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: PropTypes.object,\n /**\n * Props applied to the Input element.\n * It will be a [`FilledInput`](/material-ui/api/filled-input/),\n * [`OutlinedInput`](/material-ui/api/outlined-input/) or [`Input`](/material-ui/api/input/)\n * component depending on the `variant` prop value.\n */\n InputProps: PropTypes.object,\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n /**\n * The label content.\n */\n label: PropTypes.node,\n /**\n * If `dense` or `normal`, will adjust vertical spacing of this and contained components.\n * @default 'none'\n */\n margin: PropTypes.oneOf(['dense', 'none', 'normal']),\n /**\n * Maximum number of rows to display when multiline option is set to true.\n */\n maxRows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * Minimum number of rows to display when multiline option is set to true.\n */\n minRows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * If `true`, a `textarea` element is rendered instead of an input.\n * @default false\n */\n multiline: PropTypes.bool,\n /**\n * Name attribute of the `input` element.\n */\n name: PropTypes.string,\n /**\n * @ignore\n */\n onBlur: PropTypes.func,\n /**\n * Callback fired when the value is changed.\n *\n * @param {object} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value` (string).\n */\n onChange: PropTypes.func,\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n /**\n * The short hint displayed in the `input` before the user enters a value.\n */\n placeholder: PropTypes.string,\n /**\n * If `true`, the label is displayed as required and the `input` element is required.\n * @default false\n */\n required: PropTypes.bool,\n /**\n * Number of rows to display when multiline option is set to true.\n */\n rows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * Render a [`Select`](/material-ui/api/select/) element while passing the Input element to `Select` as `input` parameter.\n * If this option is set you must pass the options of the select as children.\n * @default false\n */\n select: PropTypes.bool,\n /**\n * Props applied to the [`Select`](/material-ui/api/select/) element.\n */\n SelectProps: PropTypes.object,\n /**\n * The size of the component.\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * Type of the `input` element. It should be [a valid HTML5 input type](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Form_%3Cinput%3E_types).\n */\n type: PropTypes /* @typescript-to-proptypes-ignore */.string,\n /**\n * The value of the `input` element, required for a controlled component.\n */\n value: PropTypes.any,\n /**\n * The variant to use.\n * @default 'outlined'\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default TextField;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"getTrigger\", \"target\"];\nimport * as React from 'react';\nfunction defaultTrigger(store, options) {\n const {\n disableHysteresis = false,\n threshold = 100,\n target\n } = options;\n const previous = store.current;\n if (target) {\n // Get vertical scroll\n store.current = target.pageYOffset !== undefined ? target.pageYOffset : target.scrollTop;\n }\n if (!disableHysteresis && previous !== undefined) {\n if (store.current < previous) {\n return false;\n }\n }\n return store.current > threshold;\n}\nconst defaultTarget = typeof window !== 'undefined' ? window : null;\nexport default function useScrollTrigger(options = {}) {\n const {\n getTrigger = defaultTrigger,\n target = defaultTarget\n } = options,\n other = _objectWithoutPropertiesLoose(options, _excluded);\n const store = React.useRef();\n const [trigger, setTrigger] = React.useState(() => getTrigger(store, other));\n React.useEffect(() => {\n const handleScroll = () => {\n setTrigger(getTrigger(store, _extends({\n target\n }, other)));\n };\n handleScroll(); // Re-evaluate trigger when dependencies change\n target.addEventListener('scroll', handleScroll, {\n passive: true\n });\n return () => {\n target.removeEventListener('scroll', handleScroll, {\n passive: true\n });\n };\n // See Option 3. https://github.com/facebook/react/issues/14476#issuecomment-471199055\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [target, getTrigger, JSON.stringify(other)]);\n return trigger;\n}","\"use strict\";\n'use client';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function () {\n return _utils.createSvgIcon;\n }\n});\nvar _utils = require(\"@mui/material/utils\");","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2m-6 9c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2m3.1-9H8.9V6c0-1.71 1.39-3.1 3.1-3.1 1.71 0 3.1 1.39 3.1 3.1z\"\n}), 'Lock');","import * as React from 'react';\nimport {\n Button as MuiButton,\n ButtonProps as MuiButtonProps,\n Tooltip,\n IconButton,\n useMediaQuery,\n Theme,\n} from '@mui/material';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport { useTranslate } from 'ra-core';\nimport { Path, To } from 'react-router';\n\n/**\n * A generic Button with side icon. Only the icon is displayed on small screens.\n *\n * The component translates the label. Pass the icon as child.\n * The icon displays on the left side of the button by default. Set alignIcon prop to 'right' to inverse.\n *\n * @example\n *\n * <Button label=\"Edit\" color=\"secondary\" onClick={doEdit}>\n * <ContentCreate />\n * </Button>\n *\n */\nexport const Button = <RootComponent extends React.ElementType = 'button'>(\n inProps: ButtonProps<RootComponent>\n) => {\n const props = useThemeProps({ props: inProps, name: 'RaButton' });\n const {\n alignIcon = 'left',\n children,\n className,\n disabled,\n label,\n color = 'primary',\n size = 'small',\n to: locationDescriptor,\n ...rest\n } = props;\n\n const translate = useTranslate();\n const translatedLabel = label ? translate(label, { _: label }) : undefined;\n const linkParams = getLinkParams(locationDescriptor);\n\n const isXSmall = useMediaQuery((theme: Theme) =>\n theme.breakpoints.down('sm')\n );\n\n return isXSmall ? (\n label && !disabled ? (\n <Tooltip title={translatedLabel}>\n <IconButton\n aria-label={translatedLabel}\n className={className}\n color={color}\n size=\"large\"\n {...linkParams}\n {...rest}\n >\n {children}\n </IconButton>\n </Tooltip>\n ) : (\n <IconButton\n className={className}\n color={color}\n disabled={disabled}\n size=\"large\"\n {...linkParams}\n {...rest}\n >\n {children}\n </IconButton>\n )\n ) : (\n <StyledButton\n className={className}\n color={color}\n size={size}\n aria-label={translatedLabel}\n disabled={disabled}\n startIcon={alignIcon === 'left' && children ? children : undefined}\n endIcon={alignIcon === 'right' && children ? children : undefined}\n {...linkParams}\n {...rest}\n >\n {translatedLabel}\n </StyledButton>\n );\n};\n\ninterface Props<RootComponent extends React.ElementType> {\n alignIcon?: 'left' | 'right';\n children?: React.ReactElement;\n className?: string;\n component?: RootComponent;\n to?: LocationDescriptor | To;\n disabled?: boolean;\n label?: string;\n size?: 'small' | 'medium' | 'large';\n variant?: string;\n}\n\nexport type ButtonProps<RootComponent extends React.ElementType = 'button'> =\n Props<RootComponent> & MuiButtonProps<RootComponent>;\n\nconst PREFIX = 'RaButton';\n\nconst StyledButton = styled(MuiButton, {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})({\n '&.MuiButton-sizeSmall': {\n // fix for icon misalignment on small buttons, see https://github.com/mui/material-ui/pull/30240\n lineHeight: 1.5,\n },\n});\n\nconst getLinkParams = (locationDescriptor?: LocationDescriptor | string) => {\n // eslint-disable-next-line eqeqeq\n if (locationDescriptor == undefined) {\n return undefined;\n }\n\n if (typeof locationDescriptor === 'string') {\n return { to: locationDescriptor };\n }\n\n const { redirect, replace, state, ...to } = locationDescriptor;\n return {\n to,\n redirect,\n replace,\n state,\n };\n};\n\nexport type LocationDescriptor = Partial<Path> & {\n redirect?: boolean;\n state?: any;\n replace?: boolean;\n};\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6z\"\n}), 'Add');","import * as React from 'react';\nimport ContentAdd from '@mui/icons-material/Add';\nimport { Fab, useMediaQuery, Theme } from '@mui/material';\nimport { styled } from '@mui/material/styles';\nimport clsx from 'clsx';\nimport isEqual from 'lodash/isEqual';\nimport merge from 'lodash/merge';\nimport { useTranslate, useResourceContext, useCreatePath } from 'ra-core';\nimport { Link, To } from 'react-router-dom';\n\nimport { Button, ButtonProps, LocationDescriptor } from './Button';\n\n/**\n * Opens the Create view of a given resource\n *\n * Renders as a regular button on desktop, and a Floating Action Button\n * on mobile.\n *\n * @example // basic usage\n * import { CreateButton } from 'react-admin';\n *\n * const CommentCreateButton = () => (\n * <CreateButton label=\"Create comment\" />\n * );\n */\nconst CreateButton = (props: CreateButtonProps) => {\n const {\n className,\n icon = defaultIcon,\n label = 'ra.action.create',\n resource: resourceProp,\n scrollToTop = true,\n variant,\n to: locationDescriptor,\n state: initialState = {},\n ...rest\n } = props;\n\n const resource = useResourceContext(props);\n const createPath = useCreatePath();\n const translate = useTranslate();\n const isSmall = useMediaQuery((theme: Theme) =>\n theme.breakpoints.down('md')\n );\n const state = merge(\n {},\n scrollStates.get(String(scrollToTop)),\n initialState\n );\n // Duplicated behaviour of Button component (legacy use) which will be removed in v5.\n const linkParams = getLinkParams(locationDescriptor);\n\n return isSmall ? (\n <StyledFab\n component={Link}\n to={createPath({ resource, type: 'create' })}\n state={state}\n // @ts-ignore FabProps ships its own runtime palette `FabPropsColorOverrides` provoking an overlap error with `ButtonProps`\n color=\"primary\"\n className={clsx(CreateButtonClasses.floating, className)}\n aria-label={label && translate(label)}\n {...rest}\n {...linkParams}\n >\n {icon}\n </StyledFab>\n ) : (\n <StyledButton\n component={Link}\n to={createPath({ resource, type: 'create' })}\n state={state}\n className={clsx(CreateButtonClasses.root, className)}\n label={label}\n variant={variant}\n {...(rest as any)}\n {...linkParams}\n >\n {icon}\n </StyledButton>\n );\n};\n\n// avoids using useMemo to get a constant value for the link state\nconst scrollStates = new Map([\n ['true', { _scrollToTop: true }],\n ['false', {}],\n]);\n\nconst defaultIcon = <ContentAdd />;\n\ninterface Props {\n resource?: string;\n icon?: React.ReactElement;\n scrollToTop?: boolean;\n to?: LocationDescriptor | To;\n}\n\nexport type CreateButtonProps = Props & Omit<ButtonProps<typeof Link>, 'to'>;\n\nconst PREFIX = 'RaCreateButton';\n\nexport const CreateButtonClasses = {\n root: `${PREFIX}-root`,\n floating: `${PREFIX}-floating`,\n};\n\nconst StyledFab = styled(Fab, {\n name: PREFIX,\n overridesResolver: (_props, styles) => styles.root,\n})(({ theme }) => ({\n [`&.${CreateButtonClasses.floating}`]: {\n color: theme.palette.getContrastText(theme.palette.primary.main),\n margin: 0,\n top: 'auto',\n right: 20,\n bottom: 60,\n left: 'auto',\n position: 'fixed',\n zIndex: 1000,\n },\n})) as unknown as typeof Fab;\n\nconst StyledButton = styled(Button, {\n name: PREFIX,\n overridesResolver: (_props, styles) => styles.root,\n})({});\n\nexport default React.memo(CreateButton, (prevProps, nextProps) => {\n return (\n prevProps.resource === nextProps.resource &&\n prevProps.label === nextProps.label &&\n prevProps.translate === nextProps.translate &&\n prevProps.disabled === nextProps.disabled &&\n isEqual(prevProps.to, nextProps.to) &&\n isEqual(prevProps.state, nextProps.state)\n );\n});\n\nconst getLinkParams = (locationDescriptor?: LocationDescriptor | string) => {\n // eslint-disable-next-line\n if (locationDescriptor == undefined) {\n return undefined;\n }\n\n if (typeof locationDescriptor === 'string') {\n return { to: locationDescriptor };\n }\n\n const { redirect, replace, state, ...to } = locationDescriptor;\n return {\n to,\n redirect,\n replace,\n state,\n };\n};\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5M12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5m0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3\"\n}), 'RemoveRedEye');","import * as React from 'react';\nimport { memo, ReactElement } from 'react';\nimport ImageEye from '@mui/icons-material/RemoveRedEye';\nimport { Link } from 'react-router-dom';\nimport {\n RaRecord,\n useResourceContext,\n useRecordContext,\n useCreatePath,\n} from 'ra-core';\n\nimport { Button, ButtonProps } from './Button';\n\n/**\n * Opens the Show view of a given record\n *\n * @example // basic usage\n * import { ShowButton, useRecordContext } from 'react-admin';\n *\n * const CommentShowButton = () => {\n * const record = useRecordContext();\n * return (\n * <ShowButton label=\"Show comment\" record={record} />\n * );\n * };\n */\nconst ShowButton = <RecordType extends RaRecord = any>(\n props: ShowButtonProps<RecordType>\n) => {\n const {\n icon = defaultIcon,\n label = 'ra.action.show',\n record: recordProp,\n resource: resourceProp,\n scrollToTop = true,\n ...rest\n } = props;\n const resource = useResourceContext(props);\n const record = useRecordContext(props);\n const createPath = useCreatePath();\n if (!record) return null;\n return (\n <Button\n component={Link}\n to={createPath({ type: 'show', resource, id: record.id })}\n state={scrollStates[String(scrollToTop)]}\n label={label}\n onClick={stopPropagation}\n {...(rest as any)}\n >\n {icon}\n </Button>\n );\n};\n\n// avoids using useMemo to get a constant value for the link state\nconst scrollStates = {\n true: { _scrollToTop: true },\n false: {},\n};\n\nconst defaultIcon = <ImageEye />;\n\n// useful to prevent click bubbling in a datagrid with rowClick\nconst stopPropagation = e => e.stopPropagation();\n\ninterface Props<RecordType extends RaRecord = any> {\n icon?: ReactElement;\n label?: string;\n record?: RecordType;\n resource?: string;\n scrollToTop?: boolean;\n}\n\nexport type ShowButtonProps<RecordType extends RaRecord = any> =\n Props<RecordType> & Omit<ButtonProps<typeof Link>, 'to'>;\n\nconst PureShowButton = memo(\n ShowButton,\n (prevProps, nextProps) =>\n prevProps.resource === nextProps.resource &&\n (prevProps.record && nextProps.record\n ? prevProps.record.id === nextProps.record.id\n : prevProps.record == nextProps.record) && // eslint-disable-line eqeqeq\n prevProps.label === nextProps.label &&\n prevProps.disabled === nextProps.disabled\n);\n\nexport default PureShowButton;\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M3 18h6v-2H3zM3 6v2h18V6zm0 7h12v-2H3z\"\n}), 'Sort');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"m7 10 5 5 5-5z\"\n}), 'ArrowDropDown');","import * as React from 'react';\nimport { ReactElement, memo } from 'react';\nimport clsx from 'clsx';\nimport {\n Button,\n Menu,\n MenuItem,\n Tooltip,\n IconButton,\n useMediaQuery,\n Theme,\n SxProps,\n} from '@mui/material';\nimport { styled } from '@mui/material/styles';\nimport SortIcon from '@mui/icons-material/Sort';\nimport ArrowDropDownIcon from '@mui/icons-material/ArrowDropDown';\nimport {\n useListSortContext,\n useTranslate,\n useTranslateLabel,\n shallowEqual,\n} from 'ra-core';\n\n/**\n * A button allowing to change the sort field and order.\n *\n * To be used inside a ListContext (e.g. inside a <List> or <ReferenceManyField>)\n *\n * Expects one 'fields' prop, containing an array of field strings that shall\n * be used and displayed for sorting.\n *\n * When users clicks on the <SortButton>, they see a dropdown list with the\n * proposed sorting fields. Once they click on one of these fields, the related\n * list refreshes, re-sorted.\n *\n * @example\n *\n * import * as React from 'react';\n * import { TopToolbar, SortButton, CreateButton, ExportButton } from 'react-admin';\n *\n * const ListActions = () => (\n * <TopToolbar>\n * <SortButton fields={['reference', 'sales', 'stock']} />\n * <CreateButton />\n * <ExportButton />\n * </TopToolbar>\n * );\n */\nconst SortButton = (props: SortButtonProps) => {\n const {\n fields,\n label = 'ra.sort.sort_by',\n icon = defaultIcon,\n sx,\n className,\n resource: resourceProp,\n } = props;\n const {\n resource: resourceFromContext,\n sort,\n setSort,\n } = useListSortContext();\n const resource = resourceProp || resourceFromContext;\n const translate = useTranslate();\n const translateLabel = useTranslateLabel();\n const isXSmall = useMediaQuery((theme: Theme) =>\n theme.breakpoints.down('sm')\n );\n const [anchorEl, setAnchorEl] = React.useState<null | HTMLElement>(null);\n const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n setAnchorEl(event.currentTarget);\n };\n\n const handleClose = () => {\n setAnchorEl(null);\n };\n\n const handleChangeSort = (\n event: React.MouseEvent<HTMLLIElement, MouseEvent>\n ) => {\n const field = event.currentTarget.dataset.sort;\n if (!field) {\n throw new Error(\n '<SortButton> MenuItems should have a data-sort attribute'\n );\n }\n setSort({\n field,\n order: field === sort.field ? inverseOrder(sort.order) : 'ASC',\n });\n setAnchorEl(null);\n };\n\n const buttonLabel = translate(label, {\n field: translateLabel({\n resource,\n source: sort.field,\n }),\n order: translate(`ra.sort.${sort.order}`),\n _: label,\n });\n\n return (\n <Root sx={sx} className={clsx(className, classNames.root)}>\n {isXSmall ? (\n <Tooltip title={buttonLabel}>\n <IconButton\n aria-label={buttonLabel}\n color=\"primary\"\n onClick={handleClick}\n size=\"large\"\n >\n {icon}\n </IconButton>\n </Tooltip>\n ) : (\n <Button\n aria-controls=\"simple-menu\"\n aria-haspopup=\"true\"\n color=\"primary\"\n onClick={handleClick}\n startIcon={icon}\n endIcon={<ArrowDropDownIcon />}\n size=\"small\"\n >\n {buttonLabel}\n </Button>\n )}\n <Menu\n id=\"simple-menu\"\n anchorEl={anchorEl}\n keepMounted\n open={Boolean(anchorEl)}\n onClose={handleClose}\n >\n {fields.map(field => (\n <MenuItem\n onClick={handleChangeSort}\n data-sort={field}\n key={field}\n >\n {translateLabel({\n resource,\n source: field,\n })}{' '}\n {translate(\n `ra.sort.${\n sort.field === field\n ? inverseOrder(sort.order)\n : 'ASC'\n }`\n )}\n </MenuItem>\n ))}\n </Menu>\n </Root>\n );\n};\n\nconst defaultIcon = <SortIcon />;\n\nconst inverseOrder = (sort: string) => (sort === 'ASC' ? 'DESC' : 'ASC');\n\nconst arePropsEqual = (prevProps, nextProps) =>\n shallowEqual(prevProps.fields, nextProps.fields);\n\nexport interface SortButtonProps {\n className?: string;\n fields: string[];\n icon?: ReactElement;\n label?: string;\n resource?: string;\n sx?: SxProps;\n}\n\nconst PREFIX = 'RaSortButton';\n\nconst classNames = {\n root: `${PREFIX}-root`,\n};\n\nconst Root = styled('span', {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})({\n [`.${classNames.root}`]: {},\n '& .MuiButton-sizeSmall': {\n // fix for icon misalignment on small buttons, see https://github.com/mui/material-ui/pull/30240\n lineHeight: 1.5,\n },\n '& .MuiButton-endIcon': { ml: 0 },\n});\n\nexport default memo(SortButton, arePropsEqual);\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6zM19 4h-3.5l-1-1h-5l-1 1H5v2h14z\"\n}), 'Delete');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M3 18h18v-2H3zm0-5h18v-2H3zm0-7v2h18V6z\"\n}), 'Menu');","import { useStore } from 'ra-core';\nimport { useMediaQuery, Theme } from '@mui/material';\n\n/**\n * A hook that returns the sidebar open state and a function to toggle it.\n *\n * The sidebar is open by default on desktop, and closed by default on mobile.\n *\n * @example\n * const ToggleSidebar = () => {\n * const [open, setOpen] = useSidebarState();\n * return (\n * <Button onClick={() => setOpen(!open)}>\n * {open ? 'Open' : 'Close'}\n * </Button>\n * );\n * };\n */\nexport const useSidebarState = (): useSidebarStateResult => {\n const isXSmall = useMediaQuery<Theme>(\n theme => theme?.breakpoints.down('sm'),\n { noSsr: true }\n );\n return useStore<boolean>('sidebar.open', isXSmall ? false : true);\n};\n\nexport type useSidebarStateResult = [boolean, (open: boolean) => void];\n","import * as React from 'react';\nimport { styled } from '@mui/material/styles';\nimport { IconButton, Tooltip } from '@mui/material';\nimport MenuIcon from '@mui/icons-material/Menu';\nimport { useTranslate } from 'ra-core';\n\nimport { useSidebarState } from './useSidebarState';\n\n/**\n * A button that toggles the sidebar. Used by default in the <AppBar>.\n * @param props The component props\n * @param {String} props.className An optional class name to apply to the button\n */\nexport const SidebarToggleButton = (props: SidebarToggleButtonProps) => {\n const translate = useTranslate();\n\n const { className } = props;\n const [open, setOpen] = useSidebarState();\n\n return (\n <Tooltip\n className={className}\n title={translate(\n open ? 'ra.action.close_menu' : 'ra.action.open_menu',\n { _: 'Open/Close menu' }\n )}\n enterDelay={500}\n >\n <StyledIconButton color=\"inherit\" onClick={() => setOpen(!open)}>\n <MenuIcon\n classes={{\n root: open\n ? SidebarToggleButtonClasses.menuButtonIconOpen\n : SidebarToggleButtonClasses.menuButtonIconClosed,\n }}\n />\n </StyledIconButton>\n </Tooltip>\n );\n};\n\nexport type SidebarToggleButtonProps = {\n className?: string;\n};\n\nconst PREFIX = 'RaSidebarToggleButton';\n\nexport const SidebarToggleButtonClasses = {\n menuButtonIconClosed: `${PREFIX}-menuButtonIconClosed`,\n menuButtonIconOpen: `${PREFIX}-menuButtonIconOpen`,\n};\n\nconst StyledIconButton = styled(IconButton, {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme }) => ({\n [`& .${SidebarToggleButtonClasses.menuButtonIconClosed}`]: {\n transition: theme.transitions.create(['transform'], {\n easing: theme.transitions.easing.sharp,\n duration: theme.transitions.duration.leavingScreen,\n }),\n transform: 'rotate(0deg)',\n },\n\n [`& .${SidebarToggleButtonClasses.menuButtonIconOpen}`]: {\n transition: theme.transitions.create(['transform'], {\n easing: theme.transitions.easing.sharp,\n duration: theme.transitions.duration.leavingScreen,\n }),\n transform: 'rotate(180deg)',\n },\n}));\n","import * as React from 'react';\nimport { styled } from '@mui/material/styles';\nimport clsx from 'clsx';\nimport { useTheme } from '@mui/material/styles';\nimport CircularProgress from '@mui/material/CircularProgress';\nimport { useLoading } from 'ra-core';\n\nimport { RefreshIconButton, RefreshIconButtonProps } from '../button';\nimport { SxProps } from '@mui/system';\n\nexport const LoadingIndicator = (props: LoadingIndicatorProps) => {\n const { className, onClick, sx, ...rest } = props;\n const loading = useLoading();\n\n const theme = useTheme();\n return (\n <Root className={className} sx={sx}>\n <RefreshIconButton\n className={`${LoadingIndicatorClasses.loadedIcon} ${\n loading && LoadingIndicatorClasses.loadedLoading\n }`}\n onClick={onClick}\n />\n {loading && (\n <CircularProgress\n className={clsx(\n 'app-loader',\n LoadingIndicatorClasses.loader\n )}\n color=\"inherit\"\n size={theme.spacing(2)}\n thickness={6}\n {...rest}\n />\n )}\n </Root>\n );\n};\n\ninterface Props {\n className?: string;\n sx?: SxProps;\n}\n\ntype LoadingIndicatorProps = Props & Pick<RefreshIconButtonProps, 'onClick'>;\n\nconst PREFIX = 'RaLoadingIndicator';\n\nexport const LoadingIndicatorClasses = {\n loader: `${PREFIX}-loader`,\n loadedLoading: `${PREFIX}-loadedLoading`,\n loadedIcon: `${PREFIX}-loadedIcon`,\n};\n\nconst Root = styled('div', {\n name: PREFIX,\n overridesResolver: (_, styles) => styles.root,\n})({\n position: 'relative',\n [`& .${LoadingIndicatorClasses.loadedIcon}`]: {\n [`&.${LoadingIndicatorClasses.loadedLoading}`]: {\n opacity: 0,\n },\n },\n [`& .${LoadingIndicatorClasses.loader}`]: {\n position: 'absolute',\n top: '30%',\n left: '30%',\n },\n});\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 4c1.93 0 3.5 1.57 3.5 3.5S13.93 13 12 13s-3.5-1.57-3.5-3.5S10.07 6 12 6m0 14c-2.03 0-4.43-.82-6.14-2.88C7.55 15.8 9.68 15 12 15s4.45.8 6.14 2.12C16.43 19.18 14.03 20 12 20\"\n}), 'AccountCircle');","import { createContext } from 'react';\n\n/**\n * This context provides access to a function for closing the user menu.\n *\n * @example\n * import { Logout, MenuItemLink, UserMenu, useUserMenu } from 'react-admin';\n *\n * const ConfigurationMenu = () => {\n * const { onClose } = useUserMenu();\n * return (\n * <MenuItemLink\n * to=\"/configuration\"\n * primaryText=\"pos.configuration\"\n * leftIcon={<SettingsIcon />}\n * sidebarIsOpen\n * onClick={onClose}\n * />\n * );\n * };\n *\n * export const MyUserMenu = () => (\n * <UserMenu>\n * <ConfigurationMenu />\n * <Logout />\n * </UserMenu>\n * );\n */\nexport const UserMenuContext = createContext<UserMenuContextValue | undefined>(\n undefined\n);\n\nexport type UserMenuContextValue = {\n /**\n * Closes the user menu\n * @see UserMenu\n */\n onClose: () => void;\n};\n","import * as React from 'react';\nimport { ReactNode } from 'react';\nimport { UserMenuContext, UserMenuContextValue } from './UserMenuContext';\n\n/**\n * A React context provider that provides access to the user menu context.\n * @param props\n * @param {ReactNode} props.children\n * @param {UserMenuContextValue} props.value The user menu context\n */\nexport const UserMenuContextProvider = ({ children, value }) => (\n <UserMenuContext.Provider value={value}>\n {children}\n </UserMenuContext.Provider>\n);\n\nexport type UserMenuContextProviderProps = {\n children: ReactNode;\n value: UserMenuContextValue;\n};\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M13 3h-2v10h2zm4.83 2.17-1.42 1.42C17.99 7.86 19 9.81 19 12c0 3.87-3.13 7-7 7s-7-3.13-7-7c0-2.19 1.01-4.14 2.58-5.42L6.17 5.17C4.23 6.82 3 9.26 3 12c0 4.97 4.03 9 9 9s9-4.03 9-9c0-2.74-1.23-5.18-3.17-6.83\"\n}), 'PowerSettingsNew');","import * as React from 'react';\nimport { styled, Theme } from '@mui/material/styles';\nimport { useCallback, ReactNode } from 'react';\nimport {\n ListItemIcon,\n ListItemText,\n MenuItem,\n useMediaQuery,\n} from '@mui/material';\nimport { MenuItemProps } from '@mui/material/MenuItem';\n\nimport ExitIcon from '@mui/icons-material/PowerSettingsNew';\nimport clsx from 'clsx';\nimport { useTranslate, useLogout, useAuthState } from 'ra-core';\n\n/**\n * Logout button component, to be passed to the Admin component\n *\n * Used for the Logout Menu item in the sidebar\n */\nexport const Logout: React.ForwardRefExoticComponent<\n Omit<MenuItemProps<'li'>, 'ref'> &\n React.RefAttributes<HTMLLIElement> &\n LogoutProps\n> = React.forwardRef<HTMLLIElement, LogoutProps & MenuItemProps<'li'>>(\n function Logout(props, ref) {\n const { className, redirectTo, icon, ...rest } = props;\n\n const { authenticated } = useAuthState();\n const isXSmall = useMediaQuery((theme: Theme) =>\n theme.breakpoints.down('sm')\n );\n const translate = useTranslate();\n const logout = useLogout();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const handleClick = useCallback(\n () => logout(null, redirectTo, false),\n [redirectTo, logout]\n );\n\n if (!authenticated) return null;\n\n return (\n <StyledMenuItem\n className={clsx('logout', className)}\n onClick={handleClick}\n ref={ref}\n component={isXSmall ? 'span' : 'li'}\n {...rest}\n >\n <ListItemIcon className={LogoutClasses.icon}>\n {icon ? icon : <ExitIcon fontSize=\"small\" />}\n </ListItemIcon>\n <ListItemText>\n {translate('ra.auth.logout', { _: 'Logout' })}\n </ListItemText>\n </StyledMenuItem>\n );\n }\n);\n\nconst PREFIX = 'RaLogout';\n\nexport const LogoutClasses = {\n icon: `${PREFIX}-icon`,\n};\n\nconst StyledMenuItem = styled(MenuItem, {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})({\n [`& .${LogoutClasses.icon}`]: {},\n});\n\nexport interface LogoutProps {\n className?: string;\n redirectTo?: string;\n icon?: ReactNode;\n}\n","import * as React from 'react';\nimport { ReactNode, useCallback, useMemo, useState } from 'react';\nimport { styled } from '@mui/material/styles';\nimport { useAuthProvider, useGetIdentity, useTranslate } from 'ra-core';\nimport {\n Tooltip,\n IconButton,\n Menu,\n Button,\n Avatar,\n PopoverOrigin,\n useMediaQuery,\n Theme,\n} from '@mui/material';\nimport AccountCircle from '@mui/icons-material/AccountCircle';\nimport { UserMenuContextProvider } from './UserMenuContextProvider';\nimport { Logout } from '../auth/Logout';\n\n/**\n * The UserMenu component renders a Mui Button that shows a Menu.\n * It accepts children that must be Mui MenuItem components.\n *\n * @example\n * import { Logout, UserMenu, useUserMenu } from 'react-admin';\n * import MenuItem from '@mui/material/MenuItem';\n * import ListItemIcon from '@mui/material/ListItemIcon';\n * import ListItemText from '@mui/material/ListItemText';\n * import SettingsIcon from '@mui/icons-material/Settings';\n\n * const ConfigurationMenu = React.forwardRef((props, ref) => {\n * const { onClose } = useUserMenu();\n * return (\n * <MenuItem\n * ref={ref}\n * {...props}\n * to=\"/configuration\"\n * onClick={onClose}\n * >\n * <ListItemIcon>\n * <SettingsIcon />\n * </ListItemIcon>\n * <ListItemText>Configuration</ListItemText>\n * </MenuItem>\n * );\n * });\n *\n * export const MyUserMenu = () => (\n * <UserMenu>\n * <ConfigurationMenu />\n * <Logout />\n * </UserMenu>\n * );\n * @param props\n * @param {ReactNode} props.children React node/s to be rendered as children of the UserMenu. Must be Mui MenuItem components\n * @param {string} props.className CSS class applied to the MuiAppBar component\n * @param {string} props.label The label of the UserMenu button. Accepts translation keys\n * @param {Element} props.icon The icon of the UserMenu button.\n *\n */\nexport const UserMenu = (props: UserMenuProps) => {\n const [anchorEl, setAnchorEl] = useState(null);\n const translate = useTranslate();\n const { isPending, identity } = useGetIdentity();\n const authProvider = useAuthProvider();\n const isLargeEnough = useMediaQuery<Theme>(theme =>\n theme.breakpoints.up('sm')\n );\n\n const {\n children = !!authProvider ? <Logout /> : null,\n className,\n label = 'ra.auth.user_menu',\n icon = defaultIcon,\n } = props;\n\n const handleMenu = event => setAnchorEl(event.currentTarget);\n const handleClose = useCallback(() => setAnchorEl(null), []);\n const context = useMemo(() => ({ onClose: handleClose }), [handleClose]);\n if (!children) return null;\n const open = Boolean(anchorEl);\n\n return (\n <Root className={className}>\n {isLargeEnough && !isPending && identity?.fullName ? (\n <Button\n aria-label={label && translate(label, { _: label })}\n className={UserMenuClasses.userButton}\n color=\"inherit\"\n startIcon={\n identity.avatar ? (\n <Avatar\n className={UserMenuClasses.avatar}\n src={identity.avatar}\n alt={identity.fullName}\n />\n ) : (\n icon\n )\n }\n onClick={handleMenu}\n variant=\"text\"\n >\n {identity.fullName}\n </Button>\n ) : (\n <Tooltip title={label && translate(label, { _: 'Profile' })}>\n <IconButton\n aria-label={label && translate(label, { _: 'Profile' })}\n aria-owns={open ? 'menu-appbar' : undefined}\n aria-haspopup={true}\n color=\"inherit\"\n onClick={handleMenu}\n >\n {!isPending && identity?.avatar ? (\n <Avatar\n className={UserMenuClasses.avatar}\n src={identity.avatar}\n alt={identity.fullName}\n />\n ) : (\n icon\n )}\n </IconButton>\n </Tooltip>\n )}\n <UserMenuContextProvider value={context}>\n <Menu\n id=\"menu-appbar\"\n disableScrollLock\n anchorEl={anchorEl}\n anchorOrigin={AnchorOrigin}\n transformOrigin={TransformOrigin}\n open={open}\n onClose={handleClose}\n >\n {children}\n </Menu>\n </UserMenuContextProvider>\n </Root>\n );\n};\n\nexport interface UserMenuProps {\n children?: ReactNode;\n className?: string;\n label?: string;\n icon?: ReactNode;\n}\n\nconst PREFIX = 'RaUserMenu';\n\nexport const UserMenuClasses = {\n userButton: `${PREFIX}-userButton`,\n avatar: `${PREFIX}-avatar`,\n};\n\nconst Root = styled('div', {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme }) => ({\n [`& .${UserMenuClasses.userButton}`]: {\n textTransform: 'none',\n marginInlineStart: theme.spacing(0.5),\n },\n\n [`& .${UserMenuClasses.avatar}`]: {\n width: theme.spacing(3),\n height: theme.spacing(3),\n },\n}));\n\nconst defaultIcon = <AccountCircle />;\n\nconst AnchorOrigin: PopoverOrigin = {\n vertical: 'bottom',\n horizontal: 'right',\n};\n\nconst TransformOrigin: PopoverOrigin = {\n vertical: 'top',\n horizontal: 'right',\n};\n","import * as React from 'react';\nimport useScrollTrigger from '@mui/material/useScrollTrigger';\nimport Slide from '@mui/material/Slide';\n\nexport const HideOnScroll = (props: HideOnScrollProps) => {\n const { children, className } = props;\n const trigger = useScrollTrigger();\n return (\n <Slide\n appear={false}\n direction=\"down\"\n in={!trigger}\n className={className}\n >\n {children}\n </Slide>\n );\n};\n\nexport interface HideOnScrollProps {\n children: React.ReactElement;\n className?: string;\n}\n","import * as React from 'react';\nimport { Typography, TypographyProps } from '@mui/material';\n\nexport const TitlePortal = (props: TypographyProps) => (\n <Typography\n flex=\"1\"\n textOverflow=\"ellipsis\"\n whiteSpace=\"nowrap\"\n overflow=\"hidden\"\n variant=\"h6\"\n color=\"inherit\"\n id=\"react-admin-title\"\n {...props}\n />\n);\n","import { createContext } from 'react';\nimport { RaThemeOptions } from './types';\n\nexport const ThemesContext = createContext<ThemesContextValue>({});\n\nexport interface ThemesContextValue {\n darkTheme?: RaThemeOptions;\n lightTheme?: RaThemeOptions;\n defaultTheme?: 'dark' | 'light';\n}\n","import { useContext } from 'react';\n\nimport { ThemesContext } from './ThemesContext';\nimport { RaThemeOptions } from './types';\n\nexport const useThemesContext = (params?: UseThemesContextParams) => {\n const { lightTheme, darkTheme, defaultTheme } = params || {};\n const context = useContext(ThemesContext);\n return {\n lightTheme: lightTheme || context.lightTheme,\n darkTheme: darkTheme || context.darkTheme,\n defaultTheme: defaultTheme ?? context.defaultTheme,\n };\n};\n\nexport interface UseThemesContextParams {\n lightTheme?: RaThemeOptions;\n darkTheme?: RaThemeOptions;\n defaultTheme?: 'dark' | 'light';\n [key: string]: any;\n}\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zM12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6c3.31 0 6 2.69 6 6s-2.69 6-6 6\"\n}), 'Brightness4');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zM12 18c-3.31 0-6-2.69-6-6s2.69-6 6-6 6 2.69 6 6-2.69 6-6 6m0-10c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4\"\n}), 'Brightness7');","import { useStore } from 'ra-core';\nimport { ThemeType } from './types';\nimport { useMediaQuery } from '@mui/material';\nimport { useThemesContext } from './useThemesContext';\n\nexport type ThemeSetter = (theme: ThemeType) => void;\n\n/**\n * Read and update the theme mode (light or dark)\n *\n * @example\n * const [theme, setTheme] = useTheme('light');\n * const toggleTheme = () => {\n * setTheme(theme === 'light' ? 'dark' : 'light');\n * };\n *\n */\nexport const useTheme = (type?: ThemeType): [ThemeType, ThemeSetter] => {\n const { darkTheme } = useThemesContext();\n const prefersDarkMode = useMediaQuery('(prefers-color-scheme: dark)', {\n noSsr: true,\n });\n const [theme, setter] = useStore<ThemeType>(\n 'theme',\n type ?? (prefersDarkMode && darkTheme ? 'dark' : 'light')\n );\n\n // Ensure that even though the store has its value set to 'dark', we still use the light theme when no dark theme is available\n return [darkTheme != null ? theme : 'light', setter];\n};\n","import * as React from 'react';\nimport { ReactNode, useMemo } from 'react';\nimport {\n ThemeProvider as MuiThemeProvider,\n createTheme,\n} from '@mui/material/styles';\nimport { useMediaQuery } from '@mui/material';\n\nimport { useTheme } from './useTheme';\nimport { useThemesContext } from './useThemesContext';\nimport { AdminChildren } from 'ra-core';\n\n/**\n * This sets the Material UI theme based on the preferred theme type.\n *\n * @param props\n * @param props.children The children of the component.\n * @param {ThemeOptions} props.theme The initial theme. Optional, use the one from the context if not provided.\n *\n * @example\n *\n * import { ThemesContext, ThemeProvider } from 'react-admin';\n *\n * const App = () => (\n * <ThemesContext.Provider value={{ lightTheme, darkTheme }}>\n * <ThemeProvider>\n * <Button>Test</Button>\n * </ThemeProvider>\n * </ThemesContext.Provider>\n * );\n */\nexport const ThemeProvider = ({ children }: ThemeProviderProps) => {\n const { lightTheme, darkTheme, defaultTheme } = useThemesContext();\n\n const prefersDarkMode = useMediaQuery('(prefers-color-scheme: dark)', {\n noSsr: true,\n });\n const [mode] = useTheme(\n defaultTheme || (prefersDarkMode && darkTheme ? 'dark' : 'light')\n );\n\n const themeValue = useMemo(() => {\n try {\n return createTheme(mode === 'dark' ? darkTheme : lightTheme);\n } catch (e) {\n console.warn('Failed to reuse custom theme from store', e);\n return createTheme();\n }\n }, [mode, lightTheme, darkTheme]);\n\n return (\n <MuiThemeProvider theme={themeValue}>\n {/* Had to cast here because Provider only accepts ReactNode but we might have a render function */}\n {children as ReactNode}\n </MuiThemeProvider>\n );\n};\n\nexport interface ThemeProviderProps {\n children: AdminChildren;\n}\n","import { RaThemeOptions } from './types';\nimport { deepmerge } from '@mui/utils';\n\nconst defaultThemeInvariants = {\n typography: {\n h6: {\n fontWeight: 400,\n },\n },\n sidebar: {\n width: 240,\n closedWidth: 50,\n },\n components: {\n MuiAutocomplete: {\n defaultProps: {\n fullWidth: true,\n },\n variants: [\n {\n props: {},\n style: ({ theme }) => ({\n [theme.breakpoints.down('sm')]: { width: '100%' },\n }),\n },\n ],\n },\n MuiTextField: {\n defaultProps: {\n variant: 'filled' as const,\n margin: 'dense' as const,\n size: 'small' as const,\n fullWidth: true,\n },\n variants: [\n {\n props: {},\n style: ({ theme }) => ({\n [theme.breakpoints.down('sm')]: { width: '100%' },\n }),\n },\n ],\n },\n MuiFormControl: {\n defaultProps: {\n variant: 'filled' as const,\n margin: 'dense' as const,\n size: 'small' as const,\n fullWidth: true,\n },\n },\n RaSimpleFormIterator: {\n defaultProps: {\n fullWidth: true,\n },\n },\n RaTranslatableInputs: {\n defaultProps: {\n fullWidth: true,\n },\n },\n },\n};\n\nexport const defaultLightTheme: RaThemeOptions = deepmerge(\n defaultThemeInvariants,\n {\n palette: {\n background: {\n default: '#fafafb',\n },\n secondary: {\n light: '#6ec6ff',\n main: '#2196f3',\n dark: '#0069c0',\n contrastText: '#fff',\n },\n },\n components: {\n MuiFilledInput: {\n styleOverrides: {\n root: {\n backgroundColor: 'rgba(0, 0, 0, 0.04)',\n '&$disabled': {\n backgroundColor: 'rgba(0, 0, 0, 0.04)',\n },\n },\n },\n },\n },\n }\n);\n\nexport const defaultDarkTheme: RaThemeOptions = deepmerge(\n defaultThemeInvariants,\n {\n palette: {\n mode: 'dark',\n primary: {\n main: '#90caf9',\n },\n background: {\n default: '#313131',\n },\n },\n }\n);\n\nexport const defaultTheme = defaultLightTheme;\n","import React from 'react';\nimport { Tooltip, IconButton, useMediaQuery } from '@mui/material';\nimport Brightness4Icon from '@mui/icons-material/Brightness4';\nimport Brightness7Icon from '@mui/icons-material/Brightness7';\nimport { useTranslate } from 'ra-core';\n\nimport { useThemesContext, useTheme } from '../theme';\n\n/**\n * Button toggling the theme (light or dark).\n *\n * Enabled by default in the <AppBar> when the <Admin> component has a darkMode.\n *\n * @example\n * import { AppBar, ToggleThemeButton } from 'react-admin';\n *\n * const MyAppBar = () => (\n * <AppBar toolbar={<ToggleThemeButton />} />\n * );\n *\n * const MyLayout = ({ children }) => (\n * <Layout appBar={MyAppBar}>\n * {children}\n * </Layout>\n * );\n */\nexport const ToggleThemeButton = () => {\n const translate = useTranslate();\n const { darkTheme, defaultTheme } = useThemesContext();\n const prefersDarkMode = useMediaQuery('(prefers-color-scheme: dark)', {\n noSsr: true,\n });\n const [theme, setTheme] = useTheme(\n defaultTheme || (prefersDarkMode && darkTheme ? 'dark' : 'light')\n );\n\n const handleTogglePaletteType = (): void => {\n setTheme(theme === 'dark' ? 'light' : 'dark');\n };\n const toggleThemeTitle = translate('ra.action.toggle_theme', {\n _: 'Toggle Theme',\n });\n\n return (\n <Tooltip title={toggleThemeTitle} enterDelay={300}>\n <IconButton\n color=\"inherit\"\n onClick={handleTogglePaletteType}\n aria-label={toggleThemeTitle}\n >\n {theme === 'dark' ? <Brightness7Icon /> : <Brightness4Icon />}\n </IconButton>\n </Tooltip>\n );\n};\n","import * as React from 'react';\nimport { FC } from 'react';\nimport { styled } from '@mui/material/styles';\nimport { Children, memo } from 'react';\nimport {\n AppBar as MuiAppBar,\n AppBarProps as MuiAppBarProps,\n Toolbar,\n useMediaQuery,\n Theme,\n} from '@mui/material';\nimport { useLocales } from 'ra-core';\n\nimport { SidebarToggleButton } from './SidebarToggleButton';\nimport { LoadingIndicator } from './LoadingIndicator';\nimport { UserMenu } from './UserMenu';\nimport { HideOnScroll } from './HideOnScroll';\nimport { TitlePortal } from './TitlePortal';\nimport { LocalesMenuButton } from '../button';\nimport { useThemesContext } from '../theme/useThemesContext';\nimport { ToggleThemeButton } from '../button/ToggleThemeButton';\n\n/**\n * The AppBar component renders a custom MuiAppBar.\n *\n * @param {Object} props\n * @param {ReactNode} props.children React node/s to be rendered as children of the AppBar\n * @param {string} props.className CSS class applied to the MuiAppBar component\n * @param {string} props.color The color of the AppBar\n * @param {Element | boolean} props.userMenu A custom user menu component for the AppBar. <UserMenu/> component by default. Pass false to disable.\n *\n * @example // add a custom button to the AppBar\n *\n * const MyAppBar = () => (\n * <AppBar>\n * <TitlePortal />\n * <MyCustomButton />\n * </AppBar>\n * );\n *\n * @example // without a user menu\n *\n * const MyAppBar = () => <AppBar userMenu={false} />;\n */\nexport const AppBar: FC<AppBarProps> = memo(props => {\n const {\n alwaysOn,\n children,\n className,\n color = 'secondary',\n toolbar = defaultToolbarElement,\n userMenu = DefaultUserMenu,\n container: Container = alwaysOn ? 'div' : HideOnScroll,\n ...rest\n } = props;\n\n const isXSmall = useMediaQuery<Theme>(theme =>\n theme.breakpoints.down('sm')\n );\n\n return (\n <Container className={className}>\n <StyledAppBar\n className={AppBarClasses.appBar}\n color={color}\n {...rest}\n >\n <Toolbar\n disableGutters\n variant={isXSmall ? 'regular' : 'dense'}\n className={AppBarClasses.toolbar}\n >\n <SidebarToggleButton className={AppBarClasses.menuButton} />\n {Children.count(children) === 0 ? (\n <TitlePortal className={AppBarClasses.title} />\n ) : (\n children\n )}\n {toolbar}\n {typeof userMenu === 'boolean' ? (\n userMenu === true ? (\n <UserMenu />\n ) : null\n ) : (\n userMenu\n )}\n </Toolbar>\n </StyledAppBar>\n </Container>\n );\n});\n\nconst DefaultToolbar = () => {\n const locales = useLocales();\n const { darkTheme } = useThemesContext();\n return (\n <>\n {locales && locales.length > 1 ? <LocalesMenuButton /> : null}\n {darkTheme && <ToggleThemeButton />}\n <LoadingIndicator />\n </>\n );\n};\n\nconst defaultToolbarElement = <DefaultToolbar />;\n\nconst DefaultUserMenu = <UserMenu />;\n\nexport interface AppBarProps extends MuiAppBarProps {\n /**\n * This prop is injected by Layout. You should not use it directly unless\n * you are using a custom layout.\n * If you are using the default layout, use `<Layout appBarAlwaysOn>` instead.\n */\n alwaysOn?: boolean;\n container?: React.ElementType<any>;\n toolbar?: JSX.Element;\n userMenu?: JSX.Element | boolean;\n}\n\nconst PREFIX = 'RaAppBar';\n\nexport const AppBarClasses = {\n appBar: `${PREFIX}-appBar`,\n toolbar: `${PREFIX}-toolbar`,\n menuButton: `${PREFIX}-menuButton`,\n menuButtonIconClosed: `${PREFIX}-menuButtonIconClosed`,\n menuButtonIconOpen: `${PREFIX}-menuButtonIconOpen`,\n title: `${PREFIX}-title`,\n};\n\nconst StyledAppBar = styled(MuiAppBar, {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme }) => ({\n [`& .${AppBarClasses.toolbar}`]: {\n padding: `0 ${theme.spacing(1)}`,\n [theme.breakpoints.down('md')]: {\n minHeight: theme.spacing(6),\n },\n },\n [`& .${AppBarClasses.menuButton}`]: {\n marginRight: '0.2em',\n },\n [`& .${AppBarClasses.title}`]: {},\n}));\n","import * as React from 'react';\nimport { Alert, AlertProps, Button, ButtonProps } from '@mui/material';\nimport { useTranslate } from 'ra-core';\n\nexport const ApplicationUpdatedNotification = React.forwardRef<\n HTMLDivElement,\n ApplicationUpdatedNotificationProps\n>((props, ref) => {\n const {\n ButtonProps,\n updateText = 'ra.action.update_application',\n notificationText = 'ra.notification.application_update_available',\n ...alertProps\n } = props;\n const translate = useTranslate();\n\n const handleButtonClick = () => {\n window.location.reload();\n };\n return (\n <Alert\n ref={ref}\n severity=\"info\"\n action={\n <Button\n color=\"inherit\"\n size=\"small\"\n onClick={handleButtonClick}\n {...ButtonProps}\n >\n {translate(updateText, { _: updateText })}\n </Button>\n }\n {...alertProps}\n >\n {translate(notificationText, { _: notificationText })}\n </Alert>\n );\n});\n\nexport interface ApplicationUpdatedNotificationProps extends AlertProps {\n ButtonProps?: ButtonProps;\n notificationText?: string;\n updateText?: string;\n}\n","import * as React from 'react';\nimport { ReactElement } from 'react';\nimport {\n useNotify,\n UseCheckForApplicationUpdateOptions,\n useCheckForApplicationUpdate,\n} from 'ra-core';\nimport { ApplicationUpdatedNotification } from './ApplicationUpdatedNotification';\n\n/**\n * Display a notification asking users to reload the page when the application code has changed.\n *\n * @param {CheckForApplicationUpdateProps} props\n * @param {boolean} options.disabled Optional. Whether the check should be disabled. Defaults to false.\n * @param {string|ReactElement} props.notification The notification to display to the user. Displayed only if `updateMode` is manual. Defaults to `<ApplicationUpdatedNotification />`.\n * @param {string} options.url Optional. The URL to download to check for code update. Defaults to the current URL.\n * @param {RequestInit} options.fetchOptions Optional. The options passed to fetch function when checking for update.\n * @param {number} options.interval Optional. The interval in milliseconds between two checks. Defaults to 3600000 (1 hour).\n *\n * @example <caption>Basic usage</caption>\n * import { Admin, Resource, Layout, CheckForApplicationUpdate, ListGuesser } from 'react-admin';\n *\n * const MyLayout = ({ children }) => (\n * <Layout>\n * {children}\n * <CheckForApplicationUpdate />\n * </Layout>\n * );\n *\n * const App = () => (\n * <Admin layout={MyLayout}>\n * <Resource name=\"posts\" list={ListGuesser} />\n * </Admin>\n * );\n *\n * @example <caption>Custom notification</caption>\n * import { forwardRef } from 'react';\n * import { Admin, Resource, Layout, CheckForApplicationUpdate, ListGuesser } from 'react-admin';\n *\n * const CustomAppUpdatedNotification = forwardRef((props, ref) => (\n * <Alert\n * ref={ref}\n * severity=\"info\"\n * action={\n * <Button\n * color=\"inherit\"\n * size=\"small\"\n * onClick={() => window.location.reload()}\n * >\n * Update\n * </Button>\n * }\n * >\n * A new version of the application is available. Please update.\n * </Alert>\n * ));\n *\n * const MyLayout = ({ children }) => (\n * <Layout>\n * {children}\n * <CheckForApplicationUpdate notification={<CustomAppUpdatedNotification />} />\n * </Layout>\n * );\n *\n * const App = () => (\n * <Admin layout={MyLayout}>\n * <Resource name=\"posts\" list={ListGuesser} />\n * </Admin>\n * );\n */\nexport const CheckForApplicationUpdate = (\n props: CheckForApplicationUpdateProps\n) => {\n const { notification = DEFAULT_NOTIFICATION, ...rest } = props;\n const notify = useNotify();\n\n const onNewVersionAvailable = () => {\n notify(notification, {\n type: 'info',\n autoHideDuration: null,\n });\n };\n\n useCheckForApplicationUpdate({ onNewVersionAvailable, ...rest });\n return null;\n};\n\nexport interface CheckForApplicationUpdateProps\n extends Omit<UseCheckForApplicationUpdateOptions, 'onNewVersionAvailable'> {\n onNewVersionAvailable?: UseCheckForApplicationUpdateOptions['onNewVersionAvailable'];\n notification?: ReactElement;\n}\n\nconst DEFAULT_NOTIFICATION = <ApplicationUpdatedNotification />;\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m-2 15-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8z\"\n}), 'CheckCircle');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M11 15h2v2h-2zm0-8h2v6h-2zm.99-5C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2M12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8\"\n}), 'ErrorOutline');","import * as React from 'react';\nimport { styled } from '@mui/material/styles';\nimport { useCallback, MouseEventHandler, ComponentType } from 'react';\nimport Dialog, { DialogProps } from '@mui/material/Dialog';\nimport DialogActions from '@mui/material/DialogActions';\nimport DialogContent from '@mui/material/DialogContent';\nimport DialogContentText from '@mui/material/DialogContentText';\nimport DialogTitle from '@mui/material/DialogTitle';\nimport Button from '@mui/material/Button';\nimport { alpha } from '@mui/material/styles';\nimport ActionCheck from '@mui/icons-material/CheckCircle';\nimport AlertError from '@mui/icons-material/ErrorOutline';\nimport clsx from 'clsx';\nimport { useTranslate } from 'ra-core';\n\n/**\n * Confirmation dialog\n *\n * @example\n * <Confirm\n * isOpen={true}\n * title=\"Delete Item\"\n * content=\"Are you sure you want to delete this item?\"\n * confirm=\"Yes\"\n * confirmColor=\"primary\"\n * ConfirmIcon=ActionCheck\n * CancelIcon=AlertError\n * cancel=\"Cancel\"\n * onConfirm={() => { // do something }}\n * onClose={() => { // do something }}\n * />\n */\nexport const Confirm = (props: ConfirmProps) => {\n const {\n className,\n isOpen = false,\n loading,\n title,\n content,\n cancel = 'ra.action.cancel',\n confirm = 'ra.action.confirm',\n confirmColor = 'primary',\n ConfirmIcon = ActionCheck,\n CancelIcon = AlertError,\n onClose,\n onConfirm,\n translateOptions = {},\n ...rest\n } = props;\n\n const translate = useTranslate();\n\n const handleConfirm = useCallback(\n e => {\n e.stopPropagation();\n onConfirm(e);\n },\n [onConfirm]\n );\n\n const handleClick = useCallback(e => {\n e.stopPropagation();\n }, []);\n\n return (\n <StyledDialog\n className={className}\n open={isOpen}\n onClose={onClose}\n onClick={handleClick}\n aria-labelledby=\"alert-dialog-title\"\n {...rest}\n >\n <DialogTitle id=\"alert-dialog-title\">\n {typeof title === 'string'\n ? translate(title, { _: title, ...translateOptions })\n : title}\n </DialogTitle>\n <DialogContent>\n {typeof content === 'string' ? (\n <DialogContentText>\n {translate(content, {\n _: content,\n ...translateOptions,\n })}\n </DialogContentText>\n ) : (\n content\n )}\n </DialogContent>\n <DialogActions>\n <Button\n disabled={loading}\n onClick={onClose}\n startIcon={<CancelIcon />}\n >\n {translate(cancel, { _: cancel })}\n </Button>\n <Button\n disabled={loading}\n onClick={handleConfirm}\n className={clsx('ra-confirm', {\n [ConfirmClasses.confirmWarning]:\n confirmColor === 'warning',\n [ConfirmClasses.confirmPrimary]:\n confirmColor === 'primary',\n })}\n autoFocus\n startIcon={<ConfirmIcon />}\n >\n {translate(confirm, { _: confirm })}\n </Button>\n </DialogActions>\n </StyledDialog>\n );\n};\n\nexport interface ConfirmProps\n extends Omit<DialogProps, 'open' | 'onClose' | 'title' | 'content'> {\n cancel?: string;\n className?: string;\n confirm?: string;\n confirmColor?: 'primary' | 'warning';\n ConfirmIcon?: ComponentType;\n CancelIcon?: ComponentType;\n content: React.ReactNode;\n isOpen?: boolean;\n loading?: boolean;\n onClose: MouseEventHandler;\n onConfirm: MouseEventHandler;\n title: React.ReactNode;\n translateOptions?: object;\n}\n\nconst PREFIX = 'RaConfirm';\n\nexport const ConfirmClasses = {\n confirmPrimary: `${PREFIX}-confirmPrimary`,\n confirmWarning: `${PREFIX}-confirmWarning`,\n};\n\nconst StyledDialog = styled(Dialog, {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme }) => ({\n [`& .${ConfirmClasses.confirmPrimary}`]: {\n color: theme.palette.primary.main,\n },\n\n [`& .${ConfirmClasses.confirmWarning}`]: {\n color: theme.palette.error.main,\n '&:hover': {\n backgroundColor: alpha(theme.palette.error.main, 0.12),\n // Reset on mouse devices\n '@media (hover: none)': {\n backgroundColor: 'transparent',\n },\n },\n },\n}));\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M3 13h8V3H3zm0 8h8v-6H3zm10 0h8V11h-8zm0-18v6h8V3z\"\n}), 'Dashboard');","import React, { forwardRef, useCallback, ReactElement, ReactNode } from 'react';\nimport { styled } from '@mui/material/styles';\nimport clsx from 'clsx';\nimport { Link, LinkProps, useMatch } from 'react-router-dom';\nimport {\n MenuItem,\n MenuItemProps,\n ListItemIcon,\n Tooltip,\n TooltipProps,\n useMediaQuery,\n Theme,\n} from '@mui/material';\n\nimport { useSidebarState } from './useSidebarState';\nimport { useTranslate, useBasename } from 'ra-core';\n\n/**\n * Displays a menu item with a label and an icon - or only the icon with a tooltip when the sidebar is minimized.\n * It also handles the automatic closing of the menu on tap on mobile.\n *\n * @typedef {Object} Props the props you can use\n * @prop {string|Location} to The menu item's target. It is passed to a React Router NavLink component.\n * @prop {string|ReactNode} primaryText The menu content, displayed when the menu isn't minimized. |\n * @prop {ReactNode} leftIcon The menu icon\n *\n * Additional props are passed down to the underling Material UI <MenuItem> component\n * @see https://material-ui.com/api/menu-item/#menuitem-api\n *\n * @example // You can create a custom menu component using the <DashboardMenuItem> and <MenuItemLink> components:\n *\n * // in src/Menu.js\n * import * as React from 'react';\n * import { DashboardMenuItem, MenuItemLink } from 'react-admin';\n * import BookIcon from '@mui/icons-material/Book';\n * import ChatBubbleIcon from '@mui/icons-material/ChatBubble';\n * import PeopleIcon from '@mui/icons-material/People';\n * import LabelIcon from '@mui/icons-material/Label';\n *\n * export const Menu = () => (\n * <div>\n * <DashboardMenuItem />\n * <MenuItemLink to=\"/posts\" primaryText=\"Posts\" leftIcon={<BookIcon />}/>\n * <MenuItemLink to=\"/comments\" primaryText=\"Comments\" leftIcon={<ChatBubbleIcon />}/>\n * <MenuItemLink to=\"/users\" primaryText=\"Users\" leftIcon={<PeopleIcon />}/>\n * <MenuItemLink to=\"/custom-route\" primaryText=\"Miscellaneous\" leftIcon={<LabelIcon />}/>\n * </div>\n * );\n *\n * // to use this custom menu component, pass it to a custom Layout:\n * // in src/Layout.js\n * import { Layout } from 'react-admin';\n * import { Menu } from './Menu';\n *\n * export const Layout = ({ children }) => (\n * <Layout menu={Menu}>\n * {children}\n * </Layout>\n * );\n *\n * // then, use this layout in the <Admin layout> prop:\n * // in src/App.js\n * import { Layout } from './Layout';\n *\n * const App = () => (\n * <Admin layout={Layout} dataProvider={simpleRestProvider('http://path.to.my.api')}>\n * // ...\n * </Admin>\n * );\n */\nexport const MenuItemLink = forwardRef<any, MenuItemLinkProps>((props, ref) => {\n const {\n className,\n primaryText,\n leftIcon,\n onClick,\n sidebarIsOpen,\n tooltipProps,\n children,\n ...rest\n } = props;\n\n const isSmall = useMediaQuery<Theme>(theme => theme.breakpoints.down('md'));\n const translate = useTranslate();\n const basename = useBasename();\n\n const [open, setOpen] = useSidebarState();\n const handleMenuTap = useCallback(\n e => {\n if (isSmall) {\n setOpen(false);\n }\n onClick && onClick(e);\n },\n [setOpen, isSmall, onClick]\n );\n\n const to =\n (typeof props.to === 'string' ? props.to : props.to.pathname) || '';\n const match = useMatch({ path: to, end: to === `${basename}/` });\n\n const renderMenuItem = () => {\n return (\n <StyledMenuItem\n className={clsx(className, {\n [MenuItemLinkClasses.active]: !!match,\n })}\n // @ts-ignore\n component={LinkRef}\n ref={ref}\n tabIndex={0}\n {...rest}\n onClick={handleMenuTap}\n >\n {leftIcon && (\n <ListItemIcon className={MenuItemLinkClasses.icon}>\n {leftIcon}\n </ListItemIcon>\n )}\n {children\n ? children\n : typeof primaryText === 'string'\n ? translate(primaryText, { _: primaryText })\n : primaryText}\n </StyledMenuItem>\n );\n };\n\n return open ? (\n renderMenuItem()\n ) : (\n <Tooltip\n title={\n typeof primaryText === 'string'\n ? translate(primaryText, { _: primaryText })\n : primaryText\n }\n placement=\"right\"\n {...tooltipProps}\n >\n {renderMenuItem()}\n </Tooltip>\n );\n});\n\nexport type MenuItemLinkProps = Omit<\n LinkProps & MenuItemProps<'li'>,\n 'placeholder' | 'onPointerEnterCapture' | 'onPointerLeaveCapture'\n> & {\n leftIcon?: ReactElement;\n primaryText?: ReactNode;\n /**\n * @deprecated\n */\n sidebarIsOpen?: boolean;\n tooltipProps?: TooltipProps;\n};\n\nconst PREFIX = 'RaMenuItemLink';\n\nexport const MenuItemLinkClasses = {\n active: `${PREFIX}-active`,\n icon: `${PREFIX}-icon`,\n};\n\nconst StyledMenuItem = styled(MenuItem, {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme }) => ({\n color: theme.palette.text.secondary,\n\n [`&.${MenuItemLinkClasses.active}`]: {\n color: theme.palette.text.primary,\n },\n\n [`& .${MenuItemLinkClasses.icon}`]: { minWidth: theme.spacing(5) },\n}));\n\nconst LinkRef = forwardRef<HTMLAnchorElement, LinkProps>((props, ref) => (\n <Link ref={ref} {...props} />\n));\n","import React from 'react';\nimport DashboardIcon from '@mui/icons-material/Dashboard';\nimport { To } from 'react-router';\nimport { useBasename } from 'ra-core';\n\nimport { MenuItemLink, MenuItemLinkProps } from './MenuItemLink';\n\nexport const DashboardMenuItem = (props: DashboardMenuItemProps) => {\n const basename = useBasename();\n const {\n leftIcon = <DashboardIcon />,\n to = `${basename}/`,\n primaryText = 'ra.page.dashboard',\n ...rest\n } = props;\n\n return (\n <MenuItemLink\n leftIcon={leftIcon}\n to={to}\n primaryText={primaryText}\n {...rest}\n />\n );\n};\n\nexport interface DashboardMenuItemProps extends Omit<MenuItemLinkProps, 'to'> {\n to?: To;\n /**\n * @deprecated\n */\n sidebarIsOpen?: boolean;\n}\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M15.73 3H8.27L3 8.27v7.46L8.27 21h7.46L21 15.73V8.27zM12 17.3c-.72 0-1.3-.58-1.3-1.3 0-.72.58-1.3 1.3-1.3.72 0 1.3.58 1.3 1.3 0 .72-.58 1.3-1.3 1.3m1-4.3h-2V7h2z\"\n}), 'Report');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z\"\n}), 'ExpandMore');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M13 3c-4.97 0-9 4.03-9 9H1l3.89 3.89.07.14L9 12H6c0-3.87 3.13-7 7-7s7 3.13 7 7-3.13 7-7 7c-1.93 0-3.68-.79-4.94-2.06l-1.42 1.42C8.27 19.99 10.51 21 13 21c4.97 0 9-4.03 9-9s-4.03-9-9-9m-1 5v5l4.28 2.54.72-1.21-3.5-2.08V8z\"\n}), 'History');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.07-.94l2.03-1.58c.18-.14.23-.41.12-.61l-1.92-3.32c-.12-.22-.37-.29-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94l-.36-2.54c-.04-.24-.24-.41-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96c-.22-.08-.47 0-.59.22L2.74 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.09.63-.09.94s.02.64.07.94l-2.03 1.58c-.18.14-.23.41-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .44-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.47-.12-.61zM12 15.6c-1.98 0-3.6-1.62-3.6-3.6s1.62-3.6 3.6-3.6 3.6 1.62 3.6 3.6-1.62 3.6-3.6 3.6\"\n}), 'Settings');","import * as React from 'react';\nimport { useRef, useEffect, useState, cloneElement, ReactElement } from 'react';\nimport {\n usePreferencesEditor,\n PreferenceKeyContextProvider,\n useTranslate,\n} from 'ra-core';\nimport { alpha, Popover } from '@mui/material';\nimport { styled, SxProps } from '@mui/material/styles';\nimport SettingsIcon from '@mui/icons-material/Settings';\nimport clsx from 'clsx';\n\n/**\n * Wrap any component with this component to make it configurable\n *\n * When the edit mode is enabled, users will see a button to edit the component;\n * when clicked, the inspector will show the editor element.\n *\n * Creates a context for the preference key, so that both the child component\n * and the editor can access it using usePreferenceKey();\n *\n * @example\n * const ConfigurableTextBlock = ({ preferenceKey = \"TextBlock\", ...props }) => (\n * <Configurable editor={<TextBlockInspector />} preferenceKey={preferenceKey}>\n * <TextBlock {...props} />\n * </Configurable>\n * );\n */\nexport const Configurable = (props: ConfigurableProps) => {\n const {\n children,\n editor,\n preferenceKey,\n openButtonLabel = 'ra.configurable.customize',\n sx,\n } = props;\n\n const prefixedPreferenceKey = `preferences.${preferenceKey}`;\n const preferencesEditorContext = usePreferencesEditor();\n const hasPreferencesEditorContext = !!preferencesEditorContext;\n\n const translate = useTranslate();\n\n const {\n isEnabled,\n setEditor,\n preferenceKey: currentPreferenceKey,\n setPreferenceKey,\n } = preferencesEditorContext || {};\n\n const isEditorOpen = prefixedPreferenceKey === currentPreferenceKey;\n const editorOpenRef = useRef(isEditorOpen);\n const wrapperRef = useRef(null);\n const [isCustomizeButtonVisible, setIsCustomizeButtonVisible] =\n useState(false);\n\n useEffect(() => {\n editorOpenRef.current = isEditorOpen;\n }, [isEditorOpen]);\n\n // on unmount, if selected, remove the editor\n useEffect(() => {\n return () => {\n if (!editorOpenRef.current) return;\n setPreferenceKey && setPreferenceKey(null);\n setEditor && setEditor(null);\n };\n }, [setEditor, setPreferenceKey]);\n\n if (!hasPreferencesEditorContext) {\n return children;\n }\n\n const handleOpenEditor = () => {\n if (!setEditor) {\n throw new Error(\n 'Configurable must be used inside a PreferencesEditorContextProvider'\n );\n }\n\n // include the editorKey as key to force destroy and mount\n // when switching between two identical editors with different editor keys\n // otherwise the editor will see an update and its useStore will return one tick later\n // which would forbid the usage of uncontrolled inputs in the editor\n setEditor(\n cloneElement(editor, {\n preferenceKey: prefixedPreferenceKey,\n key: prefixedPreferenceKey,\n })\n );\n if (!setPreferenceKey) {\n throw new Error(\n 'Configurable must be used inside a PreferencesEditorContextProvider'\n );\n }\n // as we modify the editor, isEditorOpen cannot compare the editor element\n // we'll compare the editor key instead\n setPreferenceKey(prefixedPreferenceKey);\n };\n\n const handleShowButton = () => {\n setIsCustomizeButtonVisible(true);\n };\n\n const handleHideButton = () => {\n setIsCustomizeButtonVisible(false);\n };\n\n return (\n <PreferenceKeyContextProvider value={prefixedPreferenceKey}>\n <Root\n className={clsx(\n ConfigurableClasses.root,\n isEnabled && ConfigurableClasses.editMode,\n isEditorOpen && ConfigurableClasses.editorActive\n )}\n sx={sx}\n ref={wrapperRef}\n onMouseEnter={isEnabled ? handleShowButton : undefined}\n onMouseLeave={isEnabled ? handleHideButton : undefined}\n >\n {children}\n </Root>\n <Popover\n open={!!isEnabled && (isCustomizeButtonVisible || isEditorOpen)}\n sx={{\n pointerEvents: 'none',\n '& .MuiPaper-root': {\n pointerEvents: 'auto',\n borderRadius: 10,\n padding: '2px',\n lineHeight: 0,\n backgroundColor: 'warning.light',\n color: 'warning.contrastText',\n '&:hover': {\n cursor: 'pointer',\n },\n },\n }}\n anchorEl={wrapperRef.current}\n anchorOrigin={{\n vertical: 'top',\n horizontal: 'right',\n }}\n transformOrigin={{\n vertical: 'center',\n horizontal: 'center',\n }}\n onClose={handleHideButton}\n PaperProps={{\n elevation: 1,\n onMouseEnter: handleShowButton,\n onMouseLeave: handleHideButton,\n title: translate(openButtonLabel),\n onClick: handleOpenEditor,\n }}\n disableAutoFocus\n disableRestoreFocus\n disableEnforceFocus\n disableScrollLock\n marginThreshold={8}\n >\n <SettingsIcon\n // @ts-ignore\n fontSize=\"12px\"\n />\n </Popover>\n </PreferenceKeyContextProvider>\n );\n};\n\nexport interface ConfigurableProps {\n children: ReactElement;\n editor: ReactElement;\n preferenceKey: string;\n openButtonLabel?: string;\n sx?: SxProps;\n}\n\nconst PREFIX = 'RaConfigurable';\n\nexport const ConfigurableClasses = {\n root: `${PREFIX}-root`,\n editMode: `${PREFIX}-editMode`,\n editorActive: `${PREFIX}-editorActive`,\n};\n\nconst Root = styled('span', {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme }) => ({\n position: 'relative',\n display: 'inline-block',\n [`&.${ConfigurableClasses.editMode}`]: {\n transition: theme.transitions.create('outline'),\n outline: `${alpha(theme.palette.warning.main, 0.3)} solid 2px`,\n },\n [`&.${ConfigurableClasses.editMode}:hover `]: {\n outline: `${alpha(theme.palette.warning.main, 0.5)} solid 2px`,\n },\n [`&.${ConfigurableClasses.editMode}.${ConfigurableClasses.editorActive} , &.${ConfigurableClasses.editMode}.${ConfigurableClasses.editorActive}:hover `]:\n {\n outline: `${theme.palette.warning.main} solid 2px`,\n },\n}));\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8m3.59-13L12 10.59 8.41 7 7 8.41 10.59 12 7 15.59 8.41 17 12 13.41 15.59 17 17 15.59 13.41 12 17 8.41z\"\n}), 'CancelOutlined');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6zM8 9h8v10H8zm7.5-5-1-1h-5l-1 1H5v2h14V4z\"\n}), 'DeleteOutline');","import * as React from 'react';\nimport { Typography } from '@mui/material';\nimport { useTranslate, useSetInspectorTitle } from 'ra-core';\n\nexport const InspectorRoot = () => {\n const translate = useTranslate();\n useSetInspectorTitle('ra.configurable.inspector.title', {\n _: 'Inspector',\n });\n\n return (\n <Typography>\n {translate('ra.configurable.inspector.content', {\n _: 'Hover the application UI elements to configure them',\n })}\n </Typography>\n );\n};\n","import * as React from 'react';\nimport { useState, useEffect, useRef } from 'react';\nimport {\n useStore,\n usePreferencesEditor,\n useTranslate,\n useRemoveItemsFromStore,\n PreferenceKeyContextProvider,\n} from 'ra-core';\nimport { Paper, Typography, IconButton } from '@mui/material';\nimport CloseIcon from '@mui/icons-material/CancelOutlined';\nimport DeleteIcon from '@mui/icons-material/DeleteOutline';\nimport { useTheme, styled } from '@mui/material/styles';\n\nimport { InspectorRoot } from './InspectorRoot';\n\nexport const Inspector = () => {\n const { isEnabled, disable, title, titleOptions, editor, preferenceKey } =\n usePreferencesEditor();\n\n const isDragging = useRef(false);\n const removeItems = useRemoveItemsFromStore(preferenceKey);\n const theme = useTheme();\n const translate = useTranslate();\n const [version, setVersion] = useState(0);\n\n const [dialogPosition, setDialogPosition] = useStore(\n 'ra.inspector.position',\n {\n x:\n // We want it positioned to the far right of the screen\n document?.body.clientWidth -\n // So we remove its size (see the root css class)\n theme.breakpoints.values.sm / 2 -\n // And add a margin\n 8,\n y: 8,\n }\n );\n\n // poor man's drag and drop\n // store click position relative to the dialog position\n const [clickPosition, setClickPosition] = useState<\n { x: number; y: number } | undefined\n >();\n const handleDragStart = e => {\n // exit if the user drags on anything but the title\n const draggedElement = document?.elementFromPoint(e.clientX, e.clientY);\n if (draggedElement?.id !== 'inspector-dialog-title') {\n return;\n }\n isDragging.current = true;\n e.dataTransfer.effectAllowed = 'move';\n e.dataTransfer.setData('inspector', '');\n setTimeout(() => {\n e.target.classList.add('hide');\n }, 0);\n setClickPosition({\n x: e.clientX - dialogPosition.x,\n y: e.clientY - dialogPosition.y,\n });\n };\n const handleDragEnd = e => {\n if (isDragging.current && clickPosition) {\n setDialogPosition({\n x: e.clientX - clickPosition.x,\n y: e.clientY - clickPosition.y,\n });\n e.target.classList.remove('hide');\n isDragging.current = false;\n }\n };\n\n // prevent \"back to base\" animation when the inspector is dropped\n useEffect(() => {\n if (!isEnabled) return;\n const handleDragover = e => {\n if (e.dataTransfer.types.includes('inspector')) {\n e.preventDefault();\n }\n };\n document?.addEventListener('dragover', handleDragover);\n return () => {\n document?.removeEventListener('dragover', handleDragover);\n };\n }, [isEnabled]);\n\n // make sure that the dialog is always visible, as the stored position may be outside the screen\n useEffect(() => {\n if (!isEnabled) return;\n const moveInspectorIfOutsideScreen = () => {\n window?.requestAnimationFrame(() => {\n setDialogPosition(position => ({\n x: Math.min(\n position.x,\n document?.body.clientWidth -\n theme.breakpoints.values.sm / 2 -\n 8\n ),\n y: Math.min(position.y, window?.innerHeight - 50),\n }));\n });\n };\n moveInspectorIfOutsideScreen();\n window?.addEventListener('resize', moveInspectorIfOutsideScreen);\n return () => {\n window?.removeEventListener('resize', moveInspectorIfOutsideScreen);\n };\n }, [isEnabled, setDialogPosition, theme.breakpoints.values.sm]);\n\n const handleReset = () => {\n removeItems();\n // force redraw of the form to use the default values\n setVersion(version => version + 1);\n };\n\n if (!isEnabled) return null;\n return (\n <StyledPaper\n className={InspectorClasses.modal}\n elevation={3}\n draggable\n onDragStart={handleDragStart}\n onDragEnd={handleDragEnd}\n sx={{ left: dialogPosition.x, top: dialogPosition.y }}\n >\n <div className={InspectorClasses.title}>\n <Typography\n id=\"inspector-dialog-title\"\n variant=\"overline\"\n component=\"div\"\n py={1}\n px={2}\n flex=\"1\"\n >\n {title && translate(title, titleOptions)}\n </Typography>\n <span id=\"inspector-toolbar\" />\n {preferenceKey && (\n <IconButton\n aria-label={translate('ra.action.remove')}\n onClick={handleReset}\n size=\"small\"\n >\n <DeleteIcon fontSize=\"inherit\" />\n </IconButton>\n )}\n <IconButton\n aria-label={translate('ra.action.close')}\n onClick={disable}\n size=\"small\"\n sx={{ mr: 1 }}\n >\n <CloseIcon fontSize=\"inherit\" />\n </IconButton>\n </div>\n <div className={InspectorClasses.content} key={version}>\n <PreferenceKeyContextProvider value={preferenceKey}>\n {editor || <InspectorRoot />}\n </PreferenceKeyContextProvider>\n </div>\n </StyledPaper>\n );\n};\n\nconst PREFIX = 'RaInspector';\n\nexport const InspectorClasses = {\n modal: `${PREFIX}-modal`,\n title: `${PREFIX}-title`,\n content: `${PREFIX}-content`,\n};\n\nconst StyledPaper = styled(Paper, {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme }) => ({\n position: 'fixed',\n zIndex: theme.zIndex.modal + 1,\n width: theme.breakpoints.values.sm / 2,\n transition: theme.transitions.create(['height', 'width']),\n '&.hide': {\n display: 'none',\n },\n [`& .${InspectorClasses.title}`]: {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n cursor: 'move',\n },\n [`& .${InspectorClasses.content}`]: {\n overflowY: 'auto',\n maxHeight: '75vh',\n padding: theme.spacing(2),\n paddingTop: 0,\n },\n}));\n\nInspector.displayName = 'Inspector';\n","import * as React from 'react';\nimport { useRecordContext, useTranslate, usePreference } from 'ra-core';\n\nexport const PageTitle = ({ title, defaultTitle, className, ...rest }: any) => {\n const [titleFromPreferences] = usePreference();\n const translate = useTranslate();\n const record = useRecordContext();\n\n return titleFromPreferences ? (\n <span className={className} {...rest}>\n {translate(titleFromPreferences, {\n ...record,\n _: titleFromPreferences,\n })}\n </span>\n ) : (\n <span className={className}>\n {!title ? (\n <span {...rest}>{defaultTitle}</span>\n ) : typeof title === 'string' ? (\n <span {...rest}>{translate(title, { _: title })}</span>\n ) : (\n title\n )}\n </span>\n );\n};\n","import * as React from 'react';\nimport { useLocation } from 'react-router-dom';\nimport { usePreferenceInput } from 'ra-core';\nimport { TextField } from '@mui/material';\n\nimport { Configurable } from '../preferences';\nimport { PageTitle } from './PageTitle';\n\nexport const PageTitleEditor = () => {\n const field = usePreferenceInput();\n return (\n <form>\n <TextField\n label=\"title\"\n variant=\"filled\"\n size=\"small\"\n fullWidth\n sx={{ mb: 1 }}\n {...field}\n />\n </form>\n );\n};\n\nexport const PageTitleConfigurable = ({ preferenceKey, ...props }) => {\n const { pathname } = useLocation();\n return (\n <Configurable\n editor={<PageTitleEditor />}\n preferenceKey={preferenceKey || `${pathname}.title`}\n sx={{\n '&.RaConfigurable-editMode': {\n margin: '2px',\n },\n }}\n >\n <PageTitle {...props} />\n </Configurable>\n );\n};\n","import * as React from 'react';\nimport { useEffect, useState } from 'react';\nimport { ReactElement } from 'react';\nimport { createPortal } from 'react-dom';\nimport { RaRecord, TitleComponent, warning } from 'ra-core';\n\nimport { PageTitleConfigurable } from './PageTitleConfigurable';\n\nexport const Title = (props: TitleProps) => {\n const { defaultTitle, title, preferenceKey, ...rest } = props;\n const [container, setContainer] = useState<HTMLElement | null>(() =>\n typeof document !== 'undefined'\n ? document.getElementById('react-admin-title')\n : null\n );\n\n // on first mount, we don't have the container yet, so we wait for it\n useEffect(() => {\n setContainer(container => {\n const isInTheDom =\n typeof document !== 'undefined' &&\n document.body.contains(container);\n if (container && isInTheDom) return container;\n return typeof document !== 'undefined'\n ? document.getElementById('react-admin-title')\n : null;\n });\n }, []);\n\n if (!container) return null;\n\n warning(!defaultTitle && !title, 'Missing title prop in <Title> element');\n\n return (\n <>\n {createPortal(\n <PageTitleConfigurable\n title={title}\n defaultTitle={defaultTitle}\n preferenceKey={preferenceKey}\n {...rest}\n />,\n container\n )}\n </>\n );\n};\n\nexport interface TitleProps {\n className?: string;\n defaultTitle?: TitleComponent;\n record?: Partial<RaRecord>;\n title?: string | ReactElement;\n preferenceKey?: string;\n}\n","import * as React from 'react';\nimport { ComponentType, ErrorInfo, Fragment, HtmlHTMLAttributes } from 'react';\nimport { FallbackProps } from 'react-error-boundary';\nimport { styled } from '@mui/material/styles';\nimport {\n Button,\n Accordion,\n AccordionDetails,\n AccordionSummary,\n Typography,\n} from '@mui/material';\nimport ErrorIcon from '@mui/icons-material/Report';\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore';\nimport History from '@mui/icons-material/History';\nimport {\n useTranslate,\n useDefaultTitle,\n useResetErrorBoundaryOnLocationChange,\n} from 'ra-core';\nimport type { TitleComponent } from 'ra-core';\n\nimport { Title } from './Title';\n\nexport const Error = (\n props: InternalErrorProps & {\n errorComponent?: ComponentType<ErrorProps>;\n }\n) => {\n const {\n error,\n errorComponent: ErrorComponent,\n errorInfo,\n resetErrorBoundary,\n className,\n ...rest\n } = props;\n\n const translate = useTranslate();\n const title = useDefaultTitle();\n useResetErrorBoundaryOnLocationChange(resetErrorBoundary);\n\n if (ErrorComponent) {\n return (\n <ErrorComponent error={error} errorInfo={errorInfo} title={title} />\n );\n }\n\n return (\n <Fragment>\n {title && <Title title={title} />}\n <Root className={className} {...rest}>\n <h1 className={ErrorClasses.title} role=\"alert\">\n <ErrorIcon className={ErrorClasses.icon} />\n {translate('ra.page.error')}\n </h1>\n <div>{translate('ra.message.error')}</div>\n {process.env.NODE_ENV !== 'production' && (\n <>\n <Accordion className={ErrorClasses.panel}>\n <AccordionSummary\n expandIcon={<ExpandMoreIcon />}\n className={ErrorClasses.panelSumary}\n >\n {translate(error.message, {\n _: error.message,\n })}\n </AccordionSummary>\n <AccordionDetails\n className={ErrorClasses.panelDetails}\n >\n {/*\n error message is repeated here to allow users to copy it. AccordionSummary doesn't support text selection.\n */}\n <p>\n {translate(error.message, {\n _: error.message,\n })}\n </p>\n <p>{errorInfo?.componentStack}</p>\n </AccordionDetails>\n </Accordion>\n\n <div className={ErrorClasses.advice}>\n <Typography align=\"center\">\n Need help with this error? Try the following:\n </Typography>\n <Typography component=\"div\">\n <ul>\n <li>\n Check the{' '}\n <a href=\"https://marmelab.com/react-admin/documentation.html\">\n react-admin documentation\n </a>\n </li>\n <li>\n Search on{' '}\n <a href=\"https://stackoverflow.com/questions/tagged/react-admin\">\n StackOverflow\n </a>{' '}\n for community answers\n </li>\n <li>\n Get help from the core team via{' '}\n <a href=\"https://react-admin-ee.marmelab.com/#fromsww\">\n react-admin Enterprise Edition\n </a>\n </li>\n </ul>\n </Typography>\n </div>\n </>\n )}\n <div className={ErrorClasses.toolbar}>\n <Button\n variant=\"contained\"\n startIcon={<History />}\n onClick={goBack}\n >\n {translate('ra.action.back')}\n </Button>\n </div>\n </Root>\n </Fragment>\n );\n};\n\ninterface InternalErrorProps\n extends Omit<HtmlHTMLAttributes<HTMLDivElement>, 'title'>,\n FallbackProps {\n className?: string;\n errorInfo?: ErrorInfo;\n}\n\nexport interface ErrorProps extends Pick<FallbackProps, 'error'> {\n errorInfo?: ErrorInfo;\n title?: TitleComponent;\n}\n\nconst PREFIX = 'RaError';\n\nexport const ErrorClasses = {\n container: `${PREFIX}-container`,\n title: `${PREFIX}-title`,\n icon: `${PREFIX}-icon`,\n panel: `${PREFIX}-panel`,\n panelSumary: `${PREFIX}-panelSumary`,\n panelDetails: `${PREFIX}-panelDetails`,\n toolbar: `${PREFIX}-toolbar`,\n advice: `${PREFIX}-advice`,\n};\n\nconst Root = styled('div', {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme }) => ({\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n [theme.breakpoints.down('md')]: {\n padding: '1em',\n },\n fontFamily: 'Roboto, sans-serif',\n opacity: 0.5,\n\n [`& .${ErrorClasses.title}`]: {\n display: 'flex',\n alignItems: 'center',\n },\n\n [`& .${ErrorClasses.icon}`]: {\n width: '2em',\n height: '2em',\n marginRight: '0.5em',\n },\n\n [`& .${ErrorClasses.panel}`]: {\n marginTop: '1em',\n maxWidth: '60em',\n },\n\n [`& .${ErrorClasses.panelSumary}`]: {\n userSelect: 'all',\n },\n\n [`& .${ErrorClasses.panelDetails}`]: {\n whiteSpace: 'pre-wrap',\n },\n\n [`& .${ErrorClasses.toolbar}`]: {\n marginTop: '2em',\n },\n\n [`& .${ErrorClasses.advice}`]: {\n marginTop: '2em',\n },\n}));\n\nfunction goBack() {\n window.history.go(-1);\n}\n","import * as React from 'react';\nimport { styled } from '@mui/material/styles';\nimport { ReactElement } from 'react';\nimport {\n Drawer,\n DrawerProps,\n useMediaQuery,\n Theme,\n useScrollTrigger,\n} from '@mui/material';\nimport lodashGet from 'lodash/get';\nimport { useLocale } from 'ra-core';\n\nimport { useSidebarState } from './useSidebarState';\n\nexport const Sidebar = (props: SidebarProps) => {\n const { appBarAlwaysOn, children, closedSize, size, ...rest } = props;\n const isXSmall = useMediaQuery<Theme>(theme =>\n theme.breakpoints.down('sm')\n );\n const [open, setOpen] = useSidebarState();\n useLocale(); // force redraw on locale change\n const trigger = useScrollTrigger();\n\n const toggleSidebar = () => setOpen(!open);\n\n return isXSmall ? (\n <StyledDrawer\n variant=\"temporary\"\n open={open}\n onClose={toggleSidebar}\n classes={SidebarClasses}\n {...rest}\n >\n {children}\n </StyledDrawer>\n ) : (\n <StyledDrawer\n variant=\"permanent\"\n open={open}\n onClose={toggleSidebar}\n classes={SidebarClasses}\n className={\n trigger && !appBarAlwaysOn ? SidebarClasses.appBarCollapsed : ''\n }\n {...rest}\n >\n <div className={SidebarClasses.fixed}>{children}</div>\n </StyledDrawer>\n );\n};\n\nexport interface SidebarProps extends DrawerProps {\n appBarAlwaysOn?: boolean;\n children: ReactElement;\n closedSize?: number;\n size?: number;\n}\n\nconst PREFIX = 'RaSidebar';\n\nexport const SidebarClasses = {\n docked: `${PREFIX}-docked`,\n paper: `${PREFIX}-paper`,\n paperAnchorLeft: `${PREFIX}-paperAnchorLeft`,\n paperAnchorRight: `${PREFIX}-paperAnchorRight`,\n paperAnchorTop: `${PREFIX}-paperAnchorTop`,\n paperAnchorBottom: `${PREFIX}-paperAnchorBottom`,\n paperAnchorDockedLeft: `${PREFIX}-paperAnchorDockedLeft`,\n paperAnchorDockedTop: `${PREFIX}-paperAnchorDockedTop`,\n paperAnchorDockedRight: `${PREFIX}-paperAnchorDockedRight`,\n paperAnchorDockedBottom: `${PREFIX}-paperAnchorDockedBottom`,\n modal: `${PREFIX}-modal`,\n fixed: `${PREFIX}-fixed`,\n appBarCollapsed: `${PREFIX}-appBarCollapsed`,\n};\n\nconst StyledDrawer = styled(Drawer, {\n name: PREFIX,\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root,\n shouldForwardProp: () => true,\n})(({ open, theme }) => ({\n height: 'calc(100vh - 3em)',\n marginTop: 0,\n transition: theme.transitions.create('margin', {\n easing: theme.transitions.easing.easeOut,\n duration: theme.transitions.duration.enteringScreen,\n }),\n [`&.${SidebarClasses.appBarCollapsed}`]: {\n // compensate the margin of the Layout appFrame instead of removing it in the Layout\n // because otherwise, the appFrame content without margin may revert the scrollTrigger,\n // leading to a visual jiggle\n marginTop: theme.spacing(-6),\n [theme.breakpoints.down('sm')]: {\n marginTop: theme.spacing(-7),\n },\n transition: theme.transitions.create('margin', {\n easing: theme.transitions.easing.sharp,\n duration: theme.transitions.duration.leavingScreen,\n }),\n },\n [`& .${SidebarClasses.docked}`]: {},\n [`& .${SidebarClasses.paper}`]: {},\n [`& .${SidebarClasses.paperAnchorLeft}`]: {},\n [`& .${SidebarClasses.paperAnchorRight}`]: {},\n [`& .${SidebarClasses.paperAnchorTop}`]: {},\n [`& .${SidebarClasses.paperAnchorBottom}`]: {},\n [`& .${SidebarClasses.paperAnchorDockedLeft}`]: {},\n [`& .${SidebarClasses.paperAnchorDockedTop}`]: {},\n [`& .${SidebarClasses.paperAnchorDockedRight}`]: {},\n [`& .${SidebarClasses.paperAnchorDockedBottom}`]: {},\n [`& .${SidebarClasses.modal}`]: {},\n\n [`& .${SidebarClasses.fixed}`]: {\n position: 'fixed',\n height: 'calc(100vh - 3em)',\n overflowX: 'hidden',\n // hide scrollbar\n scrollbarWidth: 'none',\n msOverflowStyle: 'none',\n '&::-webkit-scrollbar': {\n display: 'none',\n },\n },\n\n [`& .MuiPaper-root`]: {\n position: 'relative',\n width: open\n ? lodashGet(theme, 'sidebar.width', DRAWER_WIDTH)\n : lodashGet(theme, 'sidebar.closedWidth', CLOSED_DRAWER_WIDTH),\n transition: theme.transitions.create('width', {\n easing: theme.transitions.easing.sharp,\n duration: theme.transitions.duration.leavingScreen,\n }),\n backgroundColor: 'transparent',\n borderRight: 'none',\n [theme.breakpoints.only('xs')]: {\n marginTop: 0,\n height: '100vh',\n position: 'inherit',\n backgroundColor: theme.palette.background.default,\n },\n [theme.breakpoints.up('md')]: {\n border: 'none',\n },\n zIndex: 'inherit',\n },\n}));\n\nexport const DRAWER_WIDTH = 240;\nexport const CLOSED_DRAWER_WIDTH = 55;\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M3 14h4v-4H3zm0 5h4v-4H3zM3 9h4V5H3zm5 5h13v-4H8zm0 5h13v-4H8zM8 5v4h13V5z\"\n}), 'ViewList');","import * as React from 'react';\nimport { createElement } from 'react';\nimport DefaultIcon from '@mui/icons-material/ViewList';\n\nimport {\n useResourceDefinitions,\n useGetResourceLabel,\n useCreatePath,\n} from 'ra-core';\n\nimport { MenuItemLink } from './MenuItemLink';\n\nexport const ResourceMenuItem = ({ name }: { name: string }) => {\n const resources = useResourceDefinitions();\n const getResourceLabel = useGetResourceLabel();\n const createPath = useCreatePath();\n if (!resources || !resources[name]) return null;\n return (\n <MenuItemLink\n to={createPath({\n resource: name,\n type: 'list',\n })}\n state={{ _scrollToTop: true }}\n primaryText={<>{getResourceLabel(name, 2)}</>}\n leftIcon={\n resources[name].icon ? (\n createElement(resources[name].icon)\n ) : (\n <DefaultIcon />\n )\n }\n />\n );\n};\n","import * as React from 'react';\nimport { useResourceDefinitions } from 'ra-core';\n\nimport { ResourceMenuItem } from './ResourceMenuItem';\n\nexport const ResourceMenuItems = () => {\n const resources = useResourceDefinitions();\n return (\n <>\n {Object.keys(resources)\n .filter(name => resources[name].hasList)\n .map(name => (\n <ResourceMenuItem key={name} name={name} />\n ))}\n </>\n );\n};\n","import * as React from 'react';\nimport { ReactNode } from 'react';\nimport { MenuList } from '@mui/material';\nimport { styled } from '@mui/material/styles';\nimport lodashGet from 'lodash/get';\nimport clsx from 'clsx';\n\nimport { DRAWER_WIDTH, CLOSED_DRAWER_WIDTH } from './Sidebar';\nimport { useSidebarState } from './useSidebarState';\nimport { DashboardMenuItem } from './DashboardMenuItem';\nimport { MenuItemLink } from './MenuItemLink';\nimport { ResourceMenuItem } from './ResourceMenuItem';\nimport { ResourceMenuItems } from './ResourceMenuItems';\nimport { useHasDashboard } from 'ra-core';\n\n/**\n * Renders a menu with one menu item per resource by default. You can also set menu items by hand.\n *\n * @example\n * import * as React from 'react';\n * import { Menu } from 'react-admin';\n *\n * import BookIcon from '@mui/icons-material/Book';\n * import ChatBubbleIcon from '@mui/icons-material/ChatBubble';\n * import PeopleIcon from '@mui/icons-material/People';\n * import LabelIcon from '@mui/icons-material/Label';\n *\n * export const MyMenu = () => (\n * <Menu>\n * <Menu.DashboardItem />\n * <Menu.Item to=\"/posts\" primaryText=\"Posts\" leftIcon={<BookIcon />}/>\n * <Menu.Item to=\"/comments\" primaryText=\"Comments\" leftIcon={<ChatBubbleIcon />}/>\n * <Menu.Item to=\"/users\" primaryText=\"Users\" leftIcon={<PeopleIcon />}/>\n * <Menu.Item to=\"/custom-route\" primaryText=\"Miscellaneous\" leftIcon={<LabelIcon />}/>\n * </Menu>\n * );\n */\nexport const Menu = (props: MenuProps) => {\n const { children, className, ...rest } = props;\n const hasDashboard = useHasDashboard();\n const [open] = useSidebarState();\n\n return (\n <Root\n className={clsx(\n {\n [MenuClasses.open]: open,\n [MenuClasses.closed]: !open,\n },\n className\n )}\n {...rest}\n >\n {hasDashboard && !children && <DashboardMenuItem />}\n {children ?? <ResourceMenuItems />}\n </Root>\n );\n};\n\n// NOTE: We don't extends MenuListProps here to avoid breaking changes\nexport interface MenuProps {\n children?: ReactNode;\n className?: string;\n dense?: boolean;\n [key: string]: any;\n}\n\n// re-export MenuItem components for convenience\nMenu.Item = MenuItemLink;\nMenu.DashboardItem = DashboardMenuItem;\nMenu.ResourceItem = ResourceMenuItem;\nMenu.ResourceItems = ResourceMenuItems;\n\nconst PREFIX = 'RaMenu';\n\nexport const MenuClasses = {\n open: `${PREFIX}-open`,\n closed: `${PREFIX}-closed`,\n};\n\nconst Root = styled(MenuList, {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme }) => ({\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'flex-start',\n [theme.breakpoints.only('xs')]: {\n marginTop: 0,\n },\n transition: theme.transitions.create('width', {\n easing: theme.transitions.easing.sharp,\n duration: theme.transitions.duration.leavingScreen,\n }),\n\n [`&.${MenuClasses.open}`]: {\n width: lodashGet(theme, 'sidebar.width', DRAWER_WIDTH),\n },\n\n [`&.${MenuClasses.closed}`]: {\n width: lodashGet(theme, 'sidebar.closedWidth', CLOSED_DRAWER_WIDTH),\n },\n}));\n","import * as React from 'react';\nimport { styled } from '@mui/material/styles';\nimport { Typography, SxProps } from '@mui/material';\nimport CircularProgress from '@mui/material/CircularProgress';\nimport { useTimeout, useTranslate } from 'ra-core';\n\nexport const Loading = (props: LoadingProps) => {\n const {\n className,\n loadingPrimary = 'ra.page.loading',\n loadingSecondary = 'ra.message.loading',\n ...rest\n } = props;\n const oneSecondHasPassed = useTimeout(1000);\n const translate = useTranslate();\n return oneSecondHasPassed ? (\n <Root className={className} {...rest}>\n <div className={LoadingClasses.message}>\n <CircularProgress className={LoadingClasses.icon} />\n <Typography variant=\"h5\" mt={3} color=\"text.secondary\">\n {translate(loadingPrimary, { _: loadingPrimary })}\n </Typography>\n <Typography variant=\"body2\">\n {translate(loadingSecondary, { _: loadingSecondary })}\n </Typography>\n </div>\n </Root>\n ) : null;\n};\n\nexport interface LoadingProps {\n className?: string;\n loadingPrimary?: string;\n loadingSecondary?: string;\n sx?: SxProps;\n}\n\nconst PREFIX = 'RaLoading';\n\nexport const LoadingClasses = {\n root: `${PREFIX}-root`,\n icon: `${PREFIX}-icon`,\n message: `${PREFIX}-message`,\n};\n\nconst Root = styled('div', {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme }) => ({\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n alignItems: 'center',\n height: '100%',\n [`& .${LoadingClasses.message}`]: {\n textAlign: 'center',\n fontFamily: 'Roboto, sans-serif',\n color: theme.palette.text.disabled,\n paddingTop: '1em',\n paddingBottom: '1em',\n },\n [`& .${LoadingClasses.icon}`]: {\n width: '9em',\n height: '9em',\n },\n}));\n","import React, { ComponentType, ErrorInfo, Suspense, useState } from 'react';\nimport { ErrorBoundary } from 'react-error-boundary';\nimport clsx from 'clsx';\nimport { styled, SxProps } from '@mui/material/styles';\n\nimport { AppBar as DefaultAppBar, AppBarProps } from './AppBar';\nimport { Sidebar as DefaultSidebar, SidebarProps } from './Sidebar';\nimport { Menu as DefaultMenu, MenuProps } from './Menu';\nimport { Error, ErrorProps } from './Error';\nimport { SkipNavigationButton } from '../button';\nimport { Inspector } from '../preferences';\nimport { Loading } from './Loading';\n\nexport const Layout = (props: LayoutProps) => {\n const {\n appBar: AppBar = DefaultAppBar,\n appBarAlwaysOn,\n children,\n className,\n error: errorComponent,\n menu: Menu = DefaultMenu,\n sidebar: Sidebar = DefaultSidebar,\n ...rest\n } = props;\n\n const [errorInfo, setErrorInfo] = useState<ErrorInfo | undefined>(\n undefined\n );\n\n const handleError = (error: Error, info: ErrorInfo) => {\n setErrorInfo(info);\n };\n\n return (\n <Core className={clsx('layout', className)} {...rest}>\n <SkipNavigationButton />\n <div className={LayoutClasses.appFrame}>\n <AppBar alwaysOn={appBarAlwaysOn} />\n <main className={LayoutClasses.contentWithSidebar}>\n <Sidebar appBarAlwaysOn={appBarAlwaysOn}>\n <Menu />\n </Sidebar>\n <div id=\"main-content\" className={LayoutClasses.content}>\n <ErrorBoundary\n onError={handleError}\n fallbackRender={({ error, resetErrorBoundary }) => (\n <Error\n error={error}\n errorComponent={errorComponent}\n errorInfo={errorInfo}\n resetErrorBoundary={resetErrorBoundary}\n />\n )}\n >\n <Suspense fallback={<Loading />}>\n {children}\n </Suspense>\n </ErrorBoundary>\n </div>\n </main>\n <Inspector />\n </div>\n </Core>\n );\n};\n\nexport interface LayoutProps {\n appBar?: ComponentType<AppBarProps>;\n appBarAlwaysOn?: boolean;\n className?: string;\n children: React.ReactNode;\n error?: ComponentType<ErrorProps>;\n menu?: ComponentType<MenuProps>;\n sidebar?: ComponentType<SidebarProps>;\n sx?: SxProps;\n}\n\nexport interface LayoutState {\n hasError: boolean;\n error?: Error;\n errorInfo?: ErrorInfo;\n}\n\nconst PREFIX = 'RaLayout';\nexport const LayoutClasses = {\n appFrame: `${PREFIX}-appFrame`,\n contentWithSidebar: `${PREFIX}-contentWithSidebar`,\n content: `${PREFIX}-content`,\n};\n\nconst Core = styled('div', {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme }) => ({\n display: 'flex',\n flexDirection: 'column',\n zIndex: 1,\n minHeight: '100vh',\n backgroundColor: theme.palette.background.default,\n position: 'relative',\n minWidth: 'fit-content',\n width: '100%',\n color: theme.palette.getContrastText(theme.palette.background.default),\n\n [`& .${LayoutClasses.appFrame}`]: {\n display: 'flex',\n flexDirection: 'column',\n flexGrow: 1,\n marginTop: theme.spacing(6),\n [theme.breakpoints.down('sm')]: {\n marginTop: theme.spacing(7),\n },\n },\n [`& .${LayoutClasses.contentWithSidebar}`]: {\n display: 'flex',\n flexGrow: 1,\n transition: theme.transitions.create('margin', {\n easing: theme.transitions.easing.easeOut,\n duration: theme.transitions.duration.enteringScreen,\n }),\n },\n [`& .${LayoutClasses.content}`]: {\n backgroundColor: theme.palette.background.default,\n zIndex: 2,\n display: 'flex',\n flexDirection: 'column',\n flexGrow: 1,\n flexBasis: 0,\n padding: 0,\n [theme.breakpoints.up('xs')]: {\n paddingRight: theme.spacing(1),\n paddingLeft: theme.spacing(1),\n },\n },\n}));\n","import * as React from 'react';\nimport { styled } from '@mui/material/styles';\nimport {\n Box,\n LinearProgress as MuiLinearProgress,\n LinearProgressProps as ProgressProps,\n} from '@mui/material';\nimport { useTimeout } from 'ra-core';\n\n/**\n * Progress bar formatted to replace an input or a field in a form layout\n *\n * Avoids visual jumps when replaced by value or form input\n *\n * @see ReferenceField\n * @see ReferenceInput\n *\n * @typedef {Object} Props the props you can use\n * @prop {Object} classes CSS class names\n * @prop {string} className CSS class applied to the LinearProgress component\n * @prop {integer} timeout Milliseconds to wait before showing the progress bar. One second by default\n *\n * @param {Props} props\n */\nexport const LinearProgress = ({\n timeout = 1000,\n ...props\n}: LinearProgressProps) => {\n const { className, ...rest } = props;\n\n const oneSecondHasPassed = useTimeout(timeout);\n\n return oneSecondHasPassed ? (\n <StyledProgress className={className} {...rest} />\n ) : (\n <Box my={1} height={4} />\n );\n};\n\n// What? TypeScript loses the displayName if we don't set it explicitly\nLinearProgress.displayName = 'LinearProgress';\n\nexport interface LinearProgressProps extends ProgressProps {\n timeout?: number;\n}\n\nconst PREFIX = 'RaLinearProgress';\n\nconst StyledProgress = styled(MuiLinearProgress, {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme }) => ({\n margin: `${theme.spacing(1)} 0`,\n width: theme.spacing(20),\n}));\n","import * as React from 'react';\n\nimport { Loading } from './Loading';\n\nexport const LoadingPage = ({\n loadingPrimary = 'ra.page.loading',\n loadingSecondary = 'ra.message.loading',\n ...props\n}) => (\n <Loading\n loadingPrimary={loadingPrimary}\n loadingSecondary={loadingSecondary}\n {...props}\n />\n);\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)([/*#__PURE__*/(0, _jsxRuntime.jsx)(\"circle\", {\n cx: \"7\",\n cy: \"6\",\n r: \"2\"\n}, \"0\"), /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M11.15 12c-.31-.22-.59-.46-.82-.72l-1.4-1.55c-.19-.21-.43-.38-.69-.5-.29-.14-.62-.23-.96-.23h-.03C6.01 9 5 10.01 5 11.25V12H2v8c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2v-8zM7 20H5v-6h2zm4 0H9v-6h2zm4 0h-2v-6h2zm4 0h-2v-6h2zm-.35-14.14-.07-.07c-.57-.62-.82-1.41-.67-2.2L18 3h-1.89l-.06.43c-.2 1.36.27 2.71 1.3 3.72l.07.06c.57.62.82 1.41.67 2.2l-.11.59h1.91l.06-.43c.21-1.36-.27-2.71-1.3-3.71m-4 0-.07-.07c-.57-.62-.82-1.41-.67-2.2L14 3h-1.89l-.06.43c-.2 1.36.27 2.71 1.3 3.72l.07.06c.57.62.82 1.41.67 2.2l-.11.59h1.91l.06-.43c.21-1.36-.27-2.71-1.3-3.71\"\n}, \"1\")], 'HotTub');","import * as React from 'react';\nimport { styled } from '@mui/material/styles';\nimport Button from '@mui/material/Button';\nimport HotTub from '@mui/icons-material/HotTub';\nimport History from '@mui/icons-material/History';\n\nimport { useAuthenticated, useDefaultTitle, useTranslate } from 'ra-core';\nimport { Title } from './Title';\n\nexport const NotFound = props => {\n const { className, ...rest } = props;\n\n const translate = useTranslate();\n useAuthenticated();\n const title = useDefaultTitle();\n return (\n <Root className={className} {...sanitizeRestProps(rest)}>\n <Title defaultTitle={title} />\n <div className={NotFoundClasses.message}>\n <HotTub className={NotFoundClasses.icon} />\n <h1>{translate('ra.page.not_found')}</h1>\n <div>{translate('ra.message.not_found')}.</div>\n </div>\n <div className={NotFoundClasses.toolbar}>\n <Button\n variant=\"contained\"\n startIcon={<History />}\n onClick={goBack}\n >\n {translate('ra.action.back')}\n </Button>\n </div>\n </Root>\n );\n};\n\nconst sanitizeRestProps = ({\n staticContext,\n history,\n location,\n match,\n ...rest\n}) => rest;\n\nconst PREFIX = 'RaNotFound';\n\nexport const NotFoundClasses = {\n icon: `${PREFIX}-icon`,\n message: `${PREFIX}-message`,\n toolbar: `${PREFIX}-toolbar`,\n};\n\nconst Root = styled('div', {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme }) => ({\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n [theme.breakpoints.up('md')]: {\n height: '100%',\n },\n [theme.breakpoints.down('md')]: {\n height: '100vh',\n marginTop: '-3em',\n },\n\n [`& .${NotFoundClasses.icon}`]: {\n width: '9em',\n height: '9em',\n },\n\n [`& .${NotFoundClasses.message}`]: {\n textAlign: 'center',\n fontFamily: 'Roboto, sans-serif',\n opacity: 0.5,\n margin: '0 1em',\n },\n\n [`& .${NotFoundClasses.toolbar}`]: {\n textAlign: 'center',\n marginTop: '2em',\n },\n}));\n\nfunction goBack() {\n window.history.go(-1);\n}\n","import * as React from 'react';\nimport { styled, Theme } from '@mui/material/styles';\nimport { useState, useEffect, useCallback } from 'react';\nimport { Button, Snackbar, SnackbarProps, SnackbarOrigin } from '@mui/material';\nimport clsx from 'clsx';\n\nimport {\n useNotificationContext,\n undoableEventEmitter,\n useTranslate,\n NotificationPayload,\n} from 'ra-core';\n\nconst defaultAnchorOrigin: SnackbarOrigin = {\n vertical: 'bottom',\n horizontal: 'center',\n};\n\n/**\n * Provides a way to show a notification.\n * @see useNotify\n *\n * @example <caption>Basic usage</caption>\n * <Notification />\n *\n * @param props The component props\n * @param {string} props.type The notification type. Defaults to 'info'.\n * @param {number} props.autoHideDuration Duration in milliseconds to wait until hiding a given notification. Defaults to 4000.\n * @param {boolean} props.multiLine Set it to `true` if the notification message should be shown in more than one line.\n */\nexport const Notification = (props: NotificationProps) => {\n const {\n className,\n type = 'info',\n autoHideDuration = 4000,\n multiLine = false,\n anchorOrigin = defaultAnchorOrigin,\n ...rest\n } = props;\n const { notifications, takeNotification } = useNotificationContext();\n const [open, setOpen] = useState(false);\n const [currentNotification, setCurrentNotification] = React.useState<\n NotificationPayload | undefined\n >(undefined);\n const translate = useTranslate();\n\n useEffect(() => {\n const beforeunload = (e: BeforeUnloadEvent) => {\n e.preventDefault();\n const confirmationMessage = '';\n e.returnValue = confirmationMessage;\n return confirmationMessage;\n };\n\n if (currentNotification?.notificationOptions?.undoable) {\n window.addEventListener('beforeunload', beforeunload);\n }\n\n if (notifications.length && !currentNotification) {\n // Set a new snack when we don't have an active one\n const notification = takeNotification();\n if (notification) {\n setCurrentNotification(notification);\n setOpen(true);\n }\n } else if (notifications.length && currentNotification && open) {\n // Close an active snack when a new one is added\n setOpen(false);\n }\n\n return () => {\n if (currentNotification?.notificationOptions?.undoable) {\n window.removeEventListener('beforeunload', beforeunload);\n }\n };\n }, [notifications, currentNotification, open, takeNotification]);\n\n const handleRequestClose = useCallback(() => {\n setOpen(false);\n }, [setOpen]);\n\n const handleExited = useCallback(() => {\n if (\n currentNotification &&\n currentNotification.notificationOptions?.undoable\n ) {\n undoableEventEmitter.emit('end', { isUndo: false });\n }\n setCurrentNotification(undefined);\n }, [currentNotification]);\n\n const handleUndo = useCallback(() => {\n undoableEventEmitter.emit('end', { isUndo: true });\n setOpen(false);\n }, []);\n\n if (!currentNotification) return null;\n const {\n message,\n type: typeFromMessage,\n notificationOptions,\n } = currentNotification;\n const {\n autoHideDuration: autoHideDurationFromMessage,\n messageArgs,\n multiLine: multilineFromMessage,\n undoable,\n ...options\n } = notificationOptions || {};\n\n return (\n <StyledSnackbar\n className={className}\n open={open}\n message={\n message &&\n typeof message === 'string' &&\n translate(message, messageArgs)\n }\n autoHideDuration={\n // Only apply the default autoHideDuration when autoHideDurationFromMessage is undefined\n // as 0 and null are valid values\n autoHideDurationFromMessage === undefined\n ? autoHideDuration\n : autoHideDurationFromMessage ?? undefined\n }\n disableWindowBlurListener={undoable}\n TransitionProps={{ onExited: handleExited }}\n onClose={handleRequestClose}\n ContentProps={{\n className: clsx(NotificationClasses[typeFromMessage || type], {\n [NotificationClasses.multiLine]:\n multilineFromMessage || multiLine,\n }),\n }}\n action={\n undoable ? (\n <Button\n color=\"primary\"\n className={NotificationClasses.undo}\n size=\"small\"\n onClick={handleUndo}\n >\n <>{translate('ra.action.undo')}</>\n </Button>\n ) : null\n }\n anchorOrigin={anchorOrigin}\n {...rest}\n {...options}\n >\n {message &&\n typeof message !== 'string' &&\n React.isValidElement(message)\n ? message\n : undefined}\n </StyledSnackbar>\n );\n};\n\nconst PREFIX = 'RaNotification';\n\nexport const NotificationClasses = {\n success: `${PREFIX}-success`,\n error: `${PREFIX}-error`,\n warning: `${PREFIX}-warning`,\n undo: `${PREFIX}-undo`,\n multiLine: `${PREFIX}-multiLine`,\n};\n\nconst StyledSnackbar = styled(Snackbar, {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme, type }: NotificationProps & { theme?: Theme }) => ({\n [`& .${NotificationClasses.success}`]: {\n backgroundColor: theme?.palette.success.main,\n color: theme?.palette.success.contrastText,\n },\n\n [`& .${NotificationClasses.error}`]: {\n backgroundColor: theme?.palette.error.main,\n color: theme?.palette.error.contrastText,\n },\n\n [`& .${NotificationClasses.warning}`]: {\n backgroundColor: theme?.palette.warning.main,\n color: theme?.palette.warning.contrastText,\n },\n\n [`& .${NotificationClasses.undo}`]: {\n color:\n type === 'success'\n ? theme?.palette.success.contrastText\n : theme?.palette.primary.light,\n },\n [`& .${NotificationClasses.multiLine}`]: {\n whiteSpace: 'pre-wrap',\n },\n}));\n\nexport interface NotificationProps extends Omit<SnackbarProps, 'open'> {\n type?: string;\n autoHideDuration?: number;\n multiLine?: boolean;\n}\n","import * as React from 'react';\nimport { useMediaQuery, Theme } from '@mui/material';\nimport { styled } from '@mui/material/styles';\nimport Toolbar, { ToolbarProps } from '@mui/material/Toolbar';\n\nexport const TopToolbar = (props: ToolbarProps) => {\n const isXSmall = useMediaQuery<Theme>(theme =>\n theme.breakpoints.down('sm')\n );\n return (\n <StyledToolbar\n disableGutters\n variant={isXSmall ? 'regular' : 'dense'}\n {...sanitizeToolbarRestProps(props)}\n />\n );\n};\n\nexport default TopToolbar;\nconst PREFIX = 'RaTopToolbar';\n\nconst StyledToolbar = styled(Toolbar, {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme }) => ({\n display: 'flex',\n justifyContent: 'flex-end',\n alignItems: 'flex-end',\n gap: theme.spacing(1),\n whiteSpace: 'nowrap',\n flex: '0 1 auto',\n padding: theme.spacing(0.5),\n paddingBottom: theme.spacing(1),\n [theme.breakpoints.down('md')]: {\n flex: '0 1 100%',\n },\n [theme.breakpoints.down('sm')]: {\n backgroundColor: theme.palette.background.paper,\n padding: 0,\n paddingBottom: 0,\n },\n}));\n\nconst sanitizeToolbarRestProps = ({ hasCreate, ...props }: any) => props;\n","import * as React from 'react';\nimport { Fragment, ReactElement } from 'react';\nimport ActionDelete from '@mui/icons-material/Delete';\n\nimport { alpha, styled } from '@mui/material/styles';\nimport {\n MutationMode,\n useDeleteMany,\n useListContext,\n useNotify,\n useRefresh,\n useResourceContext,\n useTranslate,\n useSafeSetState,\n RaRecord,\n DeleteManyParams,\n} from 'ra-core';\n\nimport { Confirm } from '../layout';\nimport { Button, ButtonProps } from './Button';\nimport { UseMutationOptions } from '@tanstack/react-query';\nimport { humanize, inflect } from 'inflection';\n\nexport const BulkDeleteWithConfirmButton = (\n props: BulkDeleteWithConfirmButtonProps\n) => {\n const {\n confirmTitle = 'ra.message.bulk_delete_title',\n confirmContent = 'ra.message.bulk_delete_content',\n confirmColor = 'primary',\n icon = defaultIcon,\n label = 'ra.action.delete',\n mutationMode = 'pessimistic',\n mutationOptions = {},\n onClick,\n ...rest\n } = props;\n const { meta: mutationMeta, ...otherMutationOptions } = mutationOptions;\n const { selectedIds, onUnselectItems } = useListContext();\n const [isOpen, setOpen] = useSafeSetState(false);\n const notify = useNotify();\n const resource = useResourceContext(props);\n const refresh = useRefresh();\n const translate = useTranslate();\n const [deleteMany, { isPending }] = useDeleteMany(\n resource,\n { ids: selectedIds, meta: mutationMeta },\n {\n onSuccess: () => {\n refresh();\n notify('ra.notification.deleted', {\n type: 'info',\n messageArgs: { smart_count: selectedIds.length },\n undoable: mutationMode === 'undoable',\n });\n onUnselectItems();\n setOpen(false);\n },\n onError: (error: Error) => {\n notify(\n typeof error === 'string'\n ? error\n : error.message || 'ra.notification.http_error',\n {\n type: 'error',\n messageArgs: {\n _:\n typeof error === 'string'\n ? error\n : error && error.message\n ? error.message\n : undefined,\n },\n }\n );\n setOpen(false);\n },\n mutationMode,\n ...otherMutationOptions,\n }\n );\n\n const handleClick = e => {\n setOpen(true);\n e.stopPropagation();\n };\n\n const handleDialogClose = () => {\n setOpen(false);\n };\n\n const handleDelete = e => {\n deleteMany();\n\n if (typeof onClick === 'function') {\n onClick(e);\n }\n };\n\n return (\n <Fragment>\n <StyledButton\n onClick={handleClick}\n label={label}\n {...sanitizeRestProps(rest)}\n >\n {icon}\n </StyledButton>\n <Confirm\n isOpen={isOpen}\n loading={isPending}\n title={confirmTitle}\n content={confirmContent}\n confirmColor={confirmColor}\n translateOptions={{\n smart_count: selectedIds.length,\n name: translate(`resources.${resource}.forcedCaseName`, {\n smart_count: selectedIds.length,\n _: humanize(\n translate(`resources.${resource}.name`, {\n smart_count: selectedIds.length,\n _: resource\n ? inflect(resource, selectedIds.length)\n : undefined,\n }),\n true\n ),\n }),\n }}\n onConfirm={handleDelete}\n onClose={handleDialogClose}\n />\n </Fragment>\n );\n};\n\nconst sanitizeRestProps = ({\n classes,\n label,\n ...rest\n}: Omit<\n BulkDeleteWithConfirmButtonProps,\n 'resource' | 'icon' | 'mutationMode'\n>) => rest;\n\nexport interface BulkDeleteWithConfirmButtonProps<\n RecordType extends RaRecord = any,\n MutationOptionsError = unknown,\n> extends ButtonProps {\n confirmContent?: React.ReactNode;\n confirmTitle?: React.ReactNode;\n confirmColor?: 'primary' | 'warning';\n icon?: ReactElement;\n mutationMode: MutationMode;\n mutationOptions?: UseMutationOptions<\n RecordType,\n MutationOptionsError,\n DeleteManyParams<RecordType>\n > & { meta?: any };\n}\n\nconst PREFIX = 'RaBulkDeleteWithConfirmButton';\n\nconst StyledButton = styled(Button, {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme }) => ({\n color: theme.palette.error.main,\n '&:hover': {\n backgroundColor: alpha(theme.palette.error.main, 0.12),\n // Reset on mouse devices\n '@media (hover: none)': {\n backgroundColor: 'transparent',\n },\n },\n}));\n\nconst defaultIcon = <ActionDelete />;\n","import * as React from 'react';\nimport { styled } from '@mui/material/styles';\nimport { ReactElement } from 'react';\nimport ActionDelete from '@mui/icons-material/Delete';\nimport { alpha } from '@mui/material/styles';\nimport {\n useDeleteMany,\n useRefresh,\n useNotify,\n useResourceContext,\n useListContext,\n RaRecord,\n DeleteManyParams,\n} from 'ra-core';\n\nimport { Button, ButtonProps } from './Button';\nimport { UseMutationOptions } from '@tanstack/react-query';\n\nexport const BulkDeleteWithUndoButton = (\n props: BulkDeleteWithUndoButtonProps\n) => {\n const {\n label = 'ra.action.delete',\n icon = defaultIcon,\n onClick,\n mutationOptions = {},\n ...rest\n } = props;\n const { meta: mutationMeta, ...otherMutationOptions } = mutationOptions;\n const { selectedIds, onUnselectItems } = useListContext();\n\n const notify = useNotify();\n const resource = useResourceContext(props);\n const refresh = useRefresh();\n const [deleteMany, { isPending }] = useDeleteMany();\n\n const handleClick = e => {\n deleteMany(\n resource,\n { ids: selectedIds, meta: mutationMeta },\n {\n onSuccess: () => {\n notify('ra.notification.deleted', {\n type: 'info',\n messageArgs: { smart_count: selectedIds.length },\n undoable: true,\n });\n onUnselectItems();\n },\n onError: (error: Error) => {\n notify(\n typeof error === 'string'\n ? error\n : error.message || 'ra.notification.http_error',\n {\n type: 'error',\n messageArgs: {\n _:\n typeof error === 'string'\n ? error\n : error && error.message\n ? error.message\n : undefined,\n },\n }\n );\n refresh();\n },\n mutationMode: 'undoable',\n ...otherMutationOptions,\n }\n );\n if (typeof onClick === 'function') {\n onClick(e);\n }\n };\n\n return (\n <StyledButton\n onClick={handleClick}\n label={label}\n disabled={isPending}\n {...sanitizeRestProps(rest)}\n >\n {icon}\n </StyledButton>\n );\n};\n\nconst defaultIcon = <ActionDelete />;\n\nconst sanitizeRestProps = ({\n classes,\n label,\n ...rest\n}: Omit<BulkDeleteWithUndoButtonProps, 'resource' | 'icon'>) => rest;\n\nexport interface BulkDeleteWithUndoButtonProps<\n RecordType extends RaRecord = any,\n MutationOptionsError = unknown,\n> extends ButtonProps {\n icon?: ReactElement;\n mutationOptions?: UseMutationOptions<\n RecordType,\n MutationOptionsError,\n DeleteManyParams<RecordType>\n > & { meta?: any };\n}\n\nconst PREFIX = 'RaBulkDeleteWithUndoButton';\n\nconst StyledButton = styled(Button, {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme }) => ({\n color: theme.palette.error.main,\n '&:hover': {\n backgroundColor: alpha(theme.palette.error.main, 0.12),\n // Reset on mouse devices\n '@media (hover: none)': {\n backgroundColor: 'transparent',\n },\n },\n}));\n","import * as React from 'react';\nimport {\n BulkDeleteWithConfirmButton,\n BulkDeleteWithConfirmButtonProps,\n} from './BulkDeleteWithConfirmButton';\nimport {\n BulkDeleteWithUndoButton,\n BulkDeleteWithUndoButtonProps,\n} from './BulkDeleteWithUndoButton';\nimport { MutationMode } from 'ra-core';\n\n/**\n * Deletes the selected rows.\n *\n * To be used inside the <Datagrid bulkActionButtons> prop (where it's enabled by default).\n *\n * @example // basic usage\n * import { BulkDeleteButton, BulkExportButton, List, Datagrid } from 'react-admin';\n *\n * const PostBulkActionButtons = () => (\n * <>\n * <BulkExportButton />\n * <BulkDeleteButton />\n * </>\n * );\n *\n * export const PostList = () => (\n * <List>\n * <Datagrid bulkActionButtons={<PostBulkActionButtons />}>\n * ...\n * </Datagrid>\n * </List>\n * );\n */\nexport const BulkDeleteButton = ({\n mutationMode = 'undoable',\n ...props\n}: BulkDeleteButtonProps) =>\n mutationMode === 'undoable' ? (\n <BulkDeleteWithUndoButton {...props} />\n ) : (\n <BulkDeleteWithConfirmButton mutationMode={mutationMode} {...props} />\n );\n\ninterface Props {\n mutationMode?: MutationMode;\n}\n\nexport type BulkDeleteButtonProps = Props &\n (BulkDeleteWithUndoButtonProps | BulkDeleteWithConfirmButtonProps);\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M19 9h-4V3H9v6H5l7 7zM5 18v2h14v-2z\"\n}), 'GetApp');","import * as React from 'react';\nimport { ReactElement, ReactEventHandler } from 'react';\nimport ActionDelete from '@mui/icons-material/Delete';\nimport clsx from 'clsx';\nimport { UseMutationOptions } from '@tanstack/react-query';\nimport {\n RaRecord,\n useDeleteWithUndoController,\n DeleteParams,\n useRecordContext,\n useResourceContext,\n RedirectionSideEffect,\n} from 'ra-core';\n\nimport { Button, ButtonProps } from './Button';\n\nexport const DeleteWithUndoButton = <RecordType extends RaRecord = any>(\n props: DeleteWithUndoButtonProps<RecordType>\n) => {\n const {\n label = 'ra.action.delete',\n className,\n icon = defaultIcon,\n onClick,\n redirect = 'list',\n mutationOptions,\n color = 'error',\n ...rest\n } = props;\n\n const record = useRecordContext(props);\n const resource = useResourceContext(props);\n const { isPending, handleDelete } = useDeleteWithUndoController({\n record,\n resource,\n redirect,\n onClick,\n mutationOptions,\n });\n\n return (\n <Button\n onClick={handleDelete}\n disabled={isPending}\n label={label}\n className={clsx('ra-delete-button', className)}\n key=\"button\"\n color={color}\n {...rest}\n >\n {icon}\n </Button>\n );\n};\n\nconst defaultIcon = <ActionDelete />;\n\nexport interface DeleteWithUndoButtonProps<\n RecordType extends RaRecord = any,\n MutationOptionsError = unknown,\n> extends ButtonProps {\n icon?: ReactElement;\n onClick?: ReactEventHandler<any>;\n mutationOptions?: UseMutationOptions<\n RecordType,\n MutationOptionsError,\n DeleteParams<RecordType>\n >;\n record?: RecordType;\n redirect?: RedirectionSideEffect;\n resource?: string;\n}\n","import React, { Fragment, ReactEventHandler, ReactElement } from 'react';\nimport ActionDelete from '@mui/icons-material/Delete';\nimport clsx from 'clsx';\n\nimport { UseMutationOptions } from '@tanstack/react-query';\nimport {\n MutationMode,\n RaRecord,\n DeleteParams,\n useDeleteWithConfirmController,\n useRecordContext,\n useResourceContext,\n useTranslate,\n RedirectionSideEffect,\n} from 'ra-core';\n\nimport { Confirm } from '../layout';\nimport { Button, ButtonProps } from './Button';\nimport { humanize, singularize } from 'inflection';\n\nexport const DeleteWithConfirmButton = <RecordType extends RaRecord = any>(\n props: DeleteWithConfirmButtonProps<RecordType>\n) => {\n const {\n className,\n confirmTitle = 'ra.message.delete_title',\n confirmContent = 'ra.message.delete_content',\n confirmColor = 'primary',\n icon = defaultIcon,\n label = 'ra.action.delete',\n mutationMode = 'pessimistic',\n onClick,\n redirect = 'list',\n translateOptions = {},\n mutationOptions,\n color = 'error',\n ...rest\n } = props;\n const translate = useTranslate();\n const record = useRecordContext(props);\n const resource = useResourceContext(props);\n\n const {\n open,\n isPending,\n handleDialogOpen,\n handleDialogClose,\n handleDelete,\n } = useDeleteWithConfirmController({\n record,\n redirect,\n mutationMode,\n onClick,\n mutationOptions,\n resource,\n });\n\n return (\n <Fragment>\n <Button\n onClick={handleDialogOpen}\n label={label}\n className={clsx('ra-delete-button', className)}\n key=\"button\"\n color={color}\n {...rest}\n >\n {icon}\n </Button>\n <Confirm\n isOpen={open}\n loading={isPending}\n title={confirmTitle}\n content={confirmContent}\n confirmColor={confirmColor}\n translateOptions={{\n name: translate(`resources.${resource}.forcedCaseName`, {\n smart_count: 1,\n _: humanize(\n translate(`resources.${resource}.name`, {\n smart_count: 1,\n _: resource ? singularize(resource) : undefined,\n }),\n true\n ),\n }),\n id: record?.id,\n ...translateOptions,\n }}\n onConfirm={handleDelete}\n onClose={handleDialogClose}\n />\n </Fragment>\n );\n};\n\nconst defaultIcon = <ActionDelete />;\n\nexport interface DeleteWithConfirmButtonProps<\n RecordType extends RaRecord = any,\n MutationOptionsError = unknown,\n> extends ButtonProps {\n confirmTitle?: React.ReactNode;\n confirmContent?: React.ReactNode;\n confirmColor?: 'primary' | 'warning';\n icon?: ReactElement;\n mutationMode?: MutationMode;\n onClick?: ReactEventHandler<any>;\n // May be injected by Toolbar - sanitized in Button\n translateOptions?: object;\n mutationOptions?: UseMutationOptions<\n RecordType,\n MutationOptionsError,\n DeleteParams<RecordType>\n >;\n record?: RecordType;\n redirect?: RedirectionSideEffect;\n resource?: string;\n}\n","import * as React from 'react';\nimport { ReactElement } from 'react';\nimport { UseMutationOptions } from '@tanstack/react-query';\nimport {\n RaRecord,\n MutationMode,\n DeleteParams,\n useRecordContext,\n useSaveContext,\n SaveContextValue,\n RedirectionSideEffect,\n} from 'ra-core';\n\nimport { ButtonProps } from './Button';\nimport { DeleteWithUndoButton } from './DeleteWithUndoButton';\nimport { DeleteWithConfirmButton } from './DeleteWithConfirmButton';\n\n/**\n * Button used to delete a single record. Added by default by the <Toolbar> of edit and show views.\n *\n * @typedef {Object} Props The props you can use (other props are injected if you used it in the <Toolbar>)\n * @prop {boolean} mutationMode Either 'pessimistic', 'optimistic' or 'undoable'. Determine whether the deletion uses an undo button in a notification or a confirmation dialog. Defaults to 'undoable'.\n * @prop {Object} record The current resource record\n * @prop {string} className\n * @prop {string} label Button label. Defaults to 'ra.action.delete, translated.\n * @prop {boolean} disabled Disable the button.\n * @prop {string} variant Material UI variant for the button. Defaults to 'contained'.\n * @prop {ReactElement} icon Override the icon. Defaults to the Delete icon from Material UI.\n *\n * @param {Props} props\n *\n * @example Usage in the <TopToolbar> of an <Edit> form\n *\n * import * as React from 'react';\n * import { Edit, DeleteButton, TopToolbar } from 'react-admin';\n *\n * const EditActions = props => {\n * const { data, resource } = props;\n * return (\n * <TopToolbar>\n * <DeleteButton\n * mutationMode=\"pessimistic\" // Renders the <DeleteWithConfirmButton>\n * />\n * </TopToolbar>\n * );\n * };\n *\n * const Edit = props => {\n * return <Edit actions={<EditActions />} {...props} />;\n * };\n */\nexport const DeleteButton = <RecordType extends RaRecord = any>(\n props: DeleteButtonProps<RecordType>\n) => {\n const { mutationMode, ...rest } = props;\n const record = useRecordContext(props);\n const saveContext = useSaveContext(props);\n if (!record || record.id == null) {\n return null;\n }\n\n const finalMutationMode = mutationMode\n ? mutationMode\n : saveContext?.mutationMode\n ? saveContext.mutationMode\n : 'undoable';\n\n return finalMutationMode === 'undoable' ? (\n <DeleteWithUndoButton<RecordType> record={record} {...rest} />\n ) : (\n <DeleteWithConfirmButton<RecordType>\n // @ts-ignore I looked for the error for one hour without finding it\n mutationMode={finalMutationMode}\n record={record}\n {...rest}\n />\n );\n};\n\nexport interface DeleteButtonProps<\n RecordType extends RaRecord = any,\n MutationOptionsError = unknown,\n> extends ButtonProps,\n SaveContextValue {\n confirmTitle?: React.ReactNode;\n confirmContent?: React.ReactNode;\n confirmColor?: 'primary' | 'warning';\n icon?: ReactElement;\n mutationMode?: MutationMode;\n mutationOptions?: UseMutationOptions<\n RecordType,\n MutationOptionsError,\n DeleteParams<RecordType>\n >;\n record?: RecordType;\n redirect?: RedirectionSideEffect;\n resource?: string;\n}\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M3 17.25V21h3.75L17.81 9.94l-3.75-3.75zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34a.9959.9959 0 0 0-1.41 0l-1.83 1.83 3.75 3.75z\"\n}), 'Create');","import * as React from 'react';\nimport { ReactElement } from 'react';\nimport clsx from 'clsx';\nimport { styled } from '@mui/material/styles';\nimport ContentCreate from '@mui/icons-material/Create';\nimport { Link } from 'react-router-dom';\nimport {\n RaRecord,\n useResourceContext,\n useRecordContext,\n useCreatePath,\n} from 'ra-core';\n\nimport { Button, ButtonProps } from './Button';\n\n/**\n * Opens the Edit view for the current record.\n *\n * Reads the record and resource from the context.\n *\n * @example // basic usage\n * import { EditButton } from 'react-admin';\n *\n * const CommentEditButton = () => (\n * <EditButton label=\"Edit comment\" />\n * );\n */\nexport const EditButton = <RecordType extends RaRecord = any>(\n props: EditButtonProps<RecordType>\n) => {\n const {\n icon = defaultIcon,\n label = 'ra.action.edit',\n scrollToTop = true,\n className,\n ...rest\n } = props;\n const resource = useResourceContext(props);\n const record = useRecordContext(props);\n const createPath = useCreatePath();\n if (!record) return null;\n return (\n <StyledButton\n component={Link}\n to={createPath({ type: 'edit', resource, id: record.id })}\n state={scrollStates[String(scrollToTop)]}\n label={label}\n onClick={stopPropagation}\n className={clsx(EditButtonClasses.root, className)}\n {...(rest as any)}\n >\n {icon}\n </StyledButton>\n );\n};\n\n// avoids using useMemo to get a constant value for the link state\nconst scrollStates = {\n true: { _scrollToTop: true },\n false: {},\n};\n\nconst defaultIcon = <ContentCreate />;\n\n// useful to prevent click bubbling in a datagrid with rowClick\nconst stopPropagation = e => e.stopPropagation();\n\ninterface Props<RecordType extends RaRecord = any> {\n icon?: ReactElement;\n label?: string;\n record?: RecordType;\n resource?: string;\n scrollToTop?: boolean;\n}\n\nexport type EditButtonProps<RecordType extends RaRecord = any> =\n Props<RecordType> & ButtonProps;\n\nconst PREFIX = 'RaEditButton';\n\nexport const EditButtonClasses = {\n root: `${PREFIX}-root`,\n};\n\nconst StyledButton = styled(Button, {\n name: PREFIX,\n overridesResolver: (_props, styles) => styles.root,\n})({});\n","import * as React from 'react';\nimport { useCallback } from 'react';\nimport DownloadIcon from '@mui/icons-material/GetApp';\nimport {\n fetchRelatedRecords,\n useDataProvider,\n useNotify,\n useListContext,\n Exporter,\n} from 'ra-core';\nimport { Button, ButtonProps } from './Button';\n\nexport const ExportButton = (props: ExportButtonProps) => {\n const {\n maxResults = 1000,\n onClick,\n label = 'ra.action.export',\n icon = defaultIcon,\n exporter: customExporter,\n meta,\n ...rest\n } = props;\n const {\n filter,\n filterValues,\n resource,\n sort,\n exporter: exporterFromContext,\n total,\n } = useListContext();\n const exporter = customExporter || exporterFromContext;\n const dataProvider = useDataProvider();\n const notify = useNotify();\n const handleClick = useCallback(\n event => {\n dataProvider\n .getList(resource, {\n sort,\n filter: filter\n ? { ...filterValues, ...filter }\n : filterValues,\n pagination: { page: 1, perPage: maxResults },\n meta,\n })\n .then(\n ({ data }) =>\n exporter &&\n exporter(\n data,\n fetchRelatedRecords(dataProvider),\n dataProvider,\n resource\n )\n )\n .catch(error => {\n console.error(error);\n notify('ra.notification.http_error', { type: 'error' });\n });\n if (typeof onClick === 'function') {\n onClick(event);\n }\n },\n [\n dataProvider,\n exporter,\n filter,\n filterValues,\n maxResults,\n notify,\n onClick,\n resource,\n sort,\n meta,\n ]\n );\n\n return (\n <Button\n onClick={handleClick}\n label={label}\n disabled={total === 0}\n {...sanitizeRestProps(rest)}\n >\n {icon}\n </Button>\n );\n};\n\nconst defaultIcon = <DownloadIcon />;\n\nconst sanitizeRestProps = ({\n resource,\n ...rest\n}: Omit<ExportButtonProps, 'maxResults' | 'label' | 'exporter' | 'meta'>) =>\n rest;\n\ninterface Props {\n exporter?: Exporter;\n icon?: JSX.Element;\n label?: string;\n maxResults?: number;\n onClick?: (e: Event) => void;\n resource?: string;\n meta?: any;\n}\n\nexport type ExportButtonProps = Props & ButtonProps;\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"m12.87 15.07-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z\"\n}), 'Translate');","import * as React from 'react';\nimport { MouseEvent, ReactNode, useState } from 'react';\nimport { useLocaleState, useLocales } from 'ra-core';\nimport { Box, Button, Menu, MenuItem, styled } from '@mui/material';\nimport LanguageIcon from '@mui/icons-material/Translate';\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore';\n\n/**\n * Language selector. Changes the locale in the app and persists it in\n * preferences so that the app opens with the right locale in the future.\n *\n * Uses i18nProvider.getLocales() to get the list of available locales.\n *\n * @example\n * import { AppBar, TitlePortal, LocalesMenuButton } from 'react-admin';\n *\n * const MyAppBar = () => (\n * <AppBar>\n * <TitlePortal />\n * <LocalesMenuButton />\n * </AppBar>\n * );\n */\nexport const LocalesMenuButton = (props: LocalesMenuButtonProps) => {\n const { icon = DefaultIcon, languages: languagesProp } = props;\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);\n const languages = useLocales({ locales: languagesProp });\n const [locale, setLocale] = useLocaleState();\n\n const getNameForLocale = (locale: string): string => {\n const language = languages.find(language => language.locale === locale);\n return language ? language.name : '';\n };\n\n const changeLocale = (locale: string) => (): void => {\n setLocale(locale);\n setAnchorEl(null);\n };\n\n const handleLanguageClick = (event: MouseEvent<HTMLElement>): void => {\n setAnchorEl(event.currentTarget);\n };\n\n const handleClose = (): void => {\n setAnchorEl(null);\n };\n\n return (\n <Root component=\"span\">\n <Button\n color=\"inherit\"\n variant=\"text\"\n aria-controls=\"simple-menu\"\n aria-label=\"\"\n aria-haspopup=\"true\"\n onClick={handleLanguageClick}\n startIcon={icon}\n endIcon={<ExpandMoreIcon fontSize=\"small\" />}\n >\n {getNameForLocale(locale)}\n </Button>\n <Menu\n id=\"simple-menu\"\n anchorEl={anchorEl}\n keepMounted\n open={Boolean(anchorEl)}\n onClose={handleClose}\n >\n {languages.map(language => (\n <MenuItem\n key={language.locale}\n onClick={changeLocale(language.locale)}\n selected={language.locale === locale}\n >\n {language.name}\n </MenuItem>\n ))}\n </Menu>\n </Root>\n );\n};\n\nconst DefaultIcon = <LanguageIcon />;\nconst PREFIX = 'RaLocalesMenuButton';\n\nexport const LocalesMenuButtonClasses = {};\n\nconst Root = styled(Box, {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})({});\n\nexport interface LocalesMenuButtonProps {\n icon?: ReactNode;\n languages?: { locale: string; name: string }[];\n}\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m1 15h-2v-2h2zm0-4h-2V7h2z\"\n}), 'Error');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4z\"\n}), 'Refresh');","import * as React from 'react';\nimport { useCallback, ReactElement } from 'react';\nimport Tooltip from '@mui/material/Tooltip';\nimport IconButton, { IconButtonProps } from '@mui/material/IconButton';\nimport NavigationRefresh from '@mui/icons-material/Refresh';\nimport { useRefresh, useTranslate } from 'ra-core';\n\nexport const RefreshIconButton = (props: RefreshIconButtonProps) => {\n const {\n label = 'ra.action.refresh',\n icon = defaultIcon,\n onClick,\n className,\n ...rest\n } = props;\n const refresh = useRefresh();\n const translate = useTranslate();\n const handleClick = useCallback(\n event => {\n event.preventDefault();\n refresh();\n if (typeof onClick === 'function') {\n onClick(event);\n }\n },\n [refresh, onClick]\n );\n\n return (\n <Tooltip title={label && translate(label, { _: 'Refresh' })}>\n <IconButton\n aria-label={label && translate(label, { _: 'Refresh' })}\n className={className}\n color=\"inherit\"\n onClick={handleClick}\n {...rest}\n >\n {icon}\n </IconButton>\n </Tooltip>\n );\n};\n\nconst defaultIcon = <NavigationRefresh />;\n\ninterface Props {\n className?: string;\n icon?: ReactElement;\n label?: string;\n onClick?: (e: MouseEvent) => void;\n}\n\nexport type RefreshIconButtonProps = Props & IconButtonProps;\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M17 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V7zm-5 16c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3m3-10H5V5h10z\"\n}), 'Save');","import * as React from 'react';\nimport { MouseEventHandler, ReactElement, useCallback } from 'react';\nimport { UseMutationOptions } from '@tanstack/react-query';\nimport { styled } from '@mui/material/styles';\nimport { Button, ButtonProps, CircularProgress } from '@mui/material';\nimport ContentSave from '@mui/icons-material/Save';\nimport { useFormContext, useFormState } from 'react-hook-form';\nimport {\n CreateParams,\n RaRecord,\n TransformData,\n UpdateParams,\n useSaveContext,\n useTranslate,\n warning,\n setSubmissionErrors,\n} from 'ra-core';\n\n/**\n * Submit button for resource forms (Edit and Create).\n *\n * @typedef {Object} Props the props you can use (other props are injected by the <Toolbar>)\n * @prop {string} className\n * @prop {string} label Button label. Defaults to 'ra.action.save', translated.\n * @prop {boolean} disabled Disable the button.\n * @prop {string} variant Material UI variant for the button. Defaults to 'contained'.\n * @prop {ReactElement} icon\n * @prop {function} mutationOptions Object of options passed to react-query.\n * @prop {function} transform Callback to execute before calling the dataProvider. Receives the data from the form, must return that transformed data. Can be asynchronous (and return a Promise)\n * @prop {boolean} alwaysEnable Force enabling the <SaveButton>. If it's not defined, the `<SaveButton>` will be enabled using `react-hook-form`'s `isValidating` state props and form context's `saving` prop (disabled if isValidating or saving, enabled otherwise).\n *\n * @param {Props} props\n *\n * @example // with custom success side effect\n *\n * const MySaveButton = props => {\n * const notify = useNotify();\n * const redirect = useRedirect();\n * const onSuccess = (response) => {\n * notify(`Post \"${response.data.title}\" saved!`);\n * redirect('/posts');\n * };\n * return <SaveButton {...props} mutationOptions={{ onSuccess }} />;\n * }\n */\nexport const SaveButton = <RecordType extends RaRecord = any>(\n props: SaveButtonProps<RecordType>\n) => {\n const {\n color = 'primary',\n icon = defaultIcon,\n invalid,\n label = 'ra.action.save',\n onClick,\n mutationOptions,\n disabled: disabledProp,\n type = 'submit',\n transform,\n variant = 'contained',\n alwaysEnable = false,\n ...rest\n } = props;\n const translate = useTranslate();\n const form = useFormContext();\n const saveContext = useSaveContext();\n const { dirtyFields, isValidating, isSubmitting } = useFormState();\n // useFormState().isDirty might differ from useFormState().dirtyFields (https://github.com/react-hook-form/react-hook-form/issues/4740)\n const isDirty = Object.keys(dirtyFields).length > 0;\n // Use form isDirty, isValidating and form context saving to enable or disable the save button\n // if alwaysEnable is undefined\n const disabled = valueOrDefault(\n alwaysEnable === false || alwaysEnable === undefined\n ? undefined\n : !alwaysEnable,\n disabledProp || !isDirty || isValidating || isSubmitting\n );\n\n warning(\n type === 'submit' &&\n ((mutationOptions &&\n (mutationOptions.onSuccess || mutationOptions.onError)) ||\n transform),\n 'Cannot use <SaveButton mutationOptions> props on a button of type \"submit\". To override the default mutation options on a particular save button, set the <SaveButton type=\"button\"> prop, or set mutationOptions in the main view component (<Create> or <Edit>).'\n );\n\n const handleSubmit = useCallback(\n async values => {\n let errors;\n if (saveContext?.save) {\n errors = await saveContext.save(values, {\n ...mutationOptions,\n transform,\n });\n }\n if (errors != null) {\n setSubmissionErrors(errors, form.setError);\n }\n },\n [form.setError, saveContext, mutationOptions, transform]\n );\n\n const handleClick: MouseEventHandler<HTMLButtonElement> = useCallback(\n async event => {\n if (onClick) {\n onClick(event);\n }\n if (event.defaultPrevented) {\n return;\n }\n if (type === 'button') {\n // this button doesn't submit the form, so it doesn't trigger useIsFormInvalid in <FormContent>\n // therefore we need to check for errors manually\n event.stopPropagation();\n await form.handleSubmit(handleSubmit)(event);\n }\n },\n [onClick, type, form, handleSubmit]\n );\n\n const displayedLabel = label && translate(label, { _: label });\n\n return (\n <StyledButton\n variant={variant}\n type={type}\n color={color}\n aria-label={displayedLabel}\n disabled={disabled}\n onClick={handleClick}\n {...rest}\n >\n {isSubmitting ? (\n <CircularProgress\n sx={circularProgressStyle}\n size={14}\n thickness={3}\n color=\"inherit\"\n />\n ) : (\n icon\n )}\n {displayedLabel}\n </StyledButton>\n );\n};\n\nconst circularProgressStyle = {\n '&.MuiCircularProgress-root': {\n marginRight: '10px',\n marginLeft: '2px',\n },\n};\n\nconst defaultIcon = <ContentSave />;\n\ninterface Props<\n RecordType extends RaRecord = any,\n MutationOptionsError = unknown,\n> {\n className?: string;\n disabled?: boolean;\n icon?: ReactElement;\n invalid?: boolean;\n label?: string;\n mutationOptions?: UseMutationOptions<\n RecordType,\n MutationOptionsError,\n CreateParams<RecordType> | UpdateParams<RecordType>\n >;\n transform?: TransformData;\n variant?: string;\n}\n\nexport type SaveButtonProps<RecordType extends RaRecord = any> =\n Props<RecordType> &\n ButtonProps & {\n alwaysEnable?: boolean;\n };\n\nconst PREFIX = 'RaSaveButton';\n\nconst StyledButton = styled(Button, {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme }) => ({\n position: 'relative',\n [`& .MuiSvgIcon-root, & .MuiIcon-root, & .MuiCircularProgress-root`]: {\n marginRight: theme.spacing(1),\n },\n [`& .MuiSvgIcon-root, & .MuiIcon-root`]: {\n fontSize: 18,\n },\n}));\n\nconst valueOrDefault = (value, defaultValue) =>\n typeof value === 'undefined' ? defaultValue : value;\n","import React from 'react';\nimport { styled } from '@mui/material/styles';\nimport { Button } from './Button';\n\nexport const SkipNavigationButton = () => {\n return (\n <StyledButton\n onClick={skipToContent}\n className={'skip-nav-button'}\n label=\"ra.navigation.skip_nav\"\n variant=\"contained\"\n />\n );\n};\n\nconst PREFIX = 'RaSkipNavigationButton';\n\nconst StyledButton = styled(Button, {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme }) => ({\n position: 'fixed',\n padding: theme.spacing(1),\n backgroundColor: theme.palette.background.default,\n color: theme.palette.getContrastText(theme.palette.background.default),\n transition: theme.transitions.create(['top', 'opacity'], {\n easing: theme.transitions.easing.easeIn,\n duration: theme.transitions.duration.leavingScreen,\n }),\n left: theme.spacing(2),\n top: theme.spacing(-10),\n zIndex: 5000,\n '&:hover': {\n opacity: 0.8,\n backgroundColor: theme.palette.background.default,\n },\n '&:focus': {\n top: theme.spacing(2),\n transition: theme.transitions.create(['top', 'opacity'], {\n easing: theme.transitions.easing.easeOut,\n duration: theme.transitions.duration.enteringScreen,\n }),\n },\n}));\n\nconst skipToContent = () => {\n if (typeof document === 'undefined') return;\n const element = document.getElementById('main-content');\n\n if (!element) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n 'No element with id \"main-content\" was found. Ensure the element that contains your main content has an id of \"main-content\".'\n );\n }\n\n return;\n }\n\n element.setAttribute('tabIndex', '-1');\n element.focus();\n element.blur();\n element.removeAttribute('tabIndex');\n};\n","import * as React from 'react';\nimport { styled, SxProps } from '@mui/material';\nimport LockIcon from '@mui/icons-material/Lock';\nimport { useTranslate } from 'ra-core';\nimport { Button } from '../button';\nimport { Link } from 'react-router-dom';\n\nexport const AuthError = (props: AuthErrorProps) => {\n const {\n className,\n title = 'ra.page.error',\n message = 'ra.message.auth_error',\n ...rest\n } = props;\n\n const translate = useTranslate();\n return (\n <Root className={className} {...rest}>\n <div className={AuthErrorClasses.message}>\n <h1>{translate(title, { _: title })}</h1>\n <div>{translate(message, { _: message })}</div>\n <Button component={Link} to=\"/login\" label=\"ra.auth.sign_in\">\n <LockIcon />\n </Button>\n </div>\n </Root>\n );\n};\n\nexport interface AuthErrorProps {\n className?: string;\n title?: string;\n message?: string;\n sx?: SxProps;\n}\n\nconst PREFIX = 'RaAuthError';\n\nexport const AuthErrorClasses = {\n root: `${PREFIX}-root`,\n message: `${PREFIX}-message`,\n};\n\nconst Root = styled('div', {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme }) => ({\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n [theme.breakpoints.up('md')]: {\n height: '100%',\n },\n [theme.breakpoints.down('xl')]: {\n height: '100vh',\n marginTop: '-3em',\n },\n\n [`& .${AuthErrorClasses.message}`]: {\n textAlign: 'center',\n fontFamily: 'Roboto, sans-serif',\n opacity: 0.5,\n margin: '0 1em',\n },\n}));\n","import * as React from 'react';\nimport { useHandleAuthCallback } from 'ra-core';\nimport { Loading } from '..';\nimport { AuthError } from './AuthError';\n\n/**\n * A standalone page to be used in a route called by external authentication services (e.g. OAuth)\n * after the user has been authenticated.\n *\n * Copy and adapt this component to implement your own login logic\n * (e.g. to show a different waiting screen, start onboarding procedures, etc.).\n *\n * @example\n * import MyAuthCallbackPage from './MyAuthCallbackPage';\n * const App = () => (\n * <Admin authCallbackPage={MyAuthCallbackPage} authProvider={authProvider}>\n * ...\n * </Admin>\n * );\n */\nexport const AuthCallback = () => {\n const { error } = useHandleAuthCallback();\n if (error) {\n return (\n <AuthError\n message={\n (error as Error) ? (error as Error).message : undefined\n }\n />\n );\n }\n return <Loading />;\n};\n","import * as React from 'react';\nimport { isValidElement, ReactElement } from 'react';\nimport { useTranslate, ValidationError, ValidationErrorMessage } from 'ra-core';\n\nexport const InputHelperText = (props: InputHelperTextProps) => {\n const { helperText, error } = props;\n const translate = useTranslate();\n\n if (error) {\n return <ValidationError error={error} />;\n }\n\n if (helperText === false) {\n return null;\n }\n\n if (isValidElement(helperText)) {\n return helperText;\n }\n\n if (typeof helperText === 'string') {\n return <>{translate(helperText, { _: helperText })}</>;\n }\n\n // Material UI's HelperText cannot reserve space unless we pass a single\n // space as child, which isn't possible when the child is a component.\n // Therefore, we must reserve the space ourselves by passing the same\n // markup as Material UI.\n // @see https://github.com/mui/material-ui/blob/62e439b7022d519ab638d65201e204b59b77f8da/packages/material-ui/src/FormHelperText/FormHelperText.js#L85-L90\n return <span dangerouslySetInnerHTML={defaultInnerHTML} />;\n};\n\nconst defaultInnerHTML = { __html: '​' };\n\nexport interface InputHelperTextProps {\n helperText?: string | ReactElement | boolean;\n error?: ValidationErrorMessage;\n}\n","export const sanitizeInputRestProps = ({\n afterSubmit,\n allowNull,\n alwaysOn,\n beforeSubmit,\n component,\n data,\n defaultValue,\n error,\n format,\n formatOnBlur,\n initialValue,\n initializeForm,\n input,\n isEqual,\n isRequired,\n label,\n limitChoicesToValue,\n locale,\n meta,\n multiple,\n name,\n options,\n optionText,\n optionValue,\n parse,\n record,\n ref,\n refetch,\n render,\n resource,\n setFilter,\n setPagination,\n setSort,\n shouldUnregister,\n source,\n submitError,\n subscription,\n textAlign,\n translate,\n translateChoice,\n validate,\n validateFields,\n value,\n ...rest\n}: any) => rest;\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M7 11v2h10v-2zm5-9C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8\"\n}), 'RemoveCircleOutline');","import * as React from 'react';\nimport {\n ChangeEvent,\n createContext,\n isValidElement,\n ReactElement,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { Identifier, OptionText, useTranslate } from 'ra-core';\nimport set from 'lodash/set';\n\n/**\n * This hook provides support for suggestion creation in inputs which have choices.\n *\n * @param options The hook option\n * @param {ReactElement} options.create A react element which will be rendered when users choose to create a new choice. This component must call the `useCreateSuggestionContext` hook which provides `onCancel`, `onCreate` and `filter`. See the examples.\n * @param {String} options.createLabel Optional. The label for the choice item allowing users to create a new choice. Can be a translation key. Defaults to `ra.action.create`.\n * @param {String} options.createItemLabel Optional. The label for the choice item allowing users to create a new choice when they already entered a filter. Can be a translation key. The translation will receive an `item` parameter. Defaults to `ra.action.create_item`.\n * @param {any} options.createValue Optional. The value for the choice item allowing users to create a new choice. Defaults to `@@ra-create`.\n * @param {String} options.filter Optional. The filter users may have already entered. Useful for autocomplete inputs for example.\n * @param {OnCreateHandler} options.onCreate Optional. A function which will be called when users choose to create a new choice, if the `create` option wasn't provided.\n * @param {Function} options.handleChange A function to pass to the input. Receives the same parameter as the original event handler and an additional newItem parameter if a new item was create.\n *\n * @returns {UseSupportCreateValue} An object with the following properties:\n * - getCreateItem: a function which will return the label of the choice for create a new choice.\n * - createElement: a React element to render after the input. It will be rendered when users choose to create a new choice. It renders null otherwise.\n */\nexport const useSupportCreateSuggestion = (\n options: SupportCreateSuggestionOptions\n): UseSupportCreateValue => {\n const {\n create,\n createLabel = 'ra.action.create',\n createItemLabel = 'ra.action.create_item',\n createValue = '@@ra-create',\n optionText = 'name',\n filter,\n handleChange,\n onCreate,\n } = options;\n\n const translate = useTranslate();\n const [renderOnCreate, setRenderOnCreate] = useState(false);\n const filterRef = useRef(filter);\n\n useEffect(() => {\n if (filterRef.current !== filter && filter !== '') {\n filterRef.current = filter;\n }\n }, [filter]);\n\n const context = useMemo(\n () => ({\n filter: filterRef.current,\n onCancel: () => setRenderOnCreate(false),\n onCreate: item => {\n setRenderOnCreate(false);\n handleChange(item);\n },\n }),\n [handleChange]\n );\n\n return {\n createId: createValue,\n getCreateItem: () => {\n if (typeof optionText !== 'string') {\n return {\n id: createValue,\n name:\n filter && createItemLabel\n ? translate(createItemLabel, {\n item: filter,\n _: createItemLabel,\n })\n : translate(createLabel, { _: createLabel }),\n };\n }\n return set(\n { id: createValue },\n optionText,\n filter && createItemLabel\n ? translate(createItemLabel, {\n item: filter,\n _: createItemLabel,\n })\n : translate(createLabel, { _: createLabel })\n );\n },\n handleChange: async (eventOrValue: MouseEvent | any) => {\n const value = eventOrValue?.target?.value || eventOrValue;\n const finalValue = Array.isArray(value) ? [...value].pop() : value;\n\n if (finalValue?.id === createValue || finalValue === createValue) {\n if (!isValidElement(create)) {\n if (!onCreate) {\n // this should never happen because the createValue is only added if a create function is provided\n // @see AutocompleteInput:filterOptions\n throw new Error(\n 'To create a new option, you must pass an onCreate function or a create element.'\n );\n }\n const newSuggestion = await onCreate(filter);\n if (newSuggestion) {\n handleChange(newSuggestion);\n return;\n }\n } else {\n setRenderOnCreate(true);\n return;\n }\n }\n handleChange(eventOrValue);\n },\n createElement:\n renderOnCreate && isValidElement(create) ? (\n <CreateSuggestionContext.Provider value={context}>\n {create}\n </CreateSuggestionContext.Provider>\n ) : null,\n };\n};\n\nexport interface SupportCreateSuggestionOptions {\n create?: ReactElement;\n createValue?: string;\n createLabel?: string;\n createItemLabel?: string;\n filter?: string;\n handleChange: (value: any) => void;\n onCreate?: OnCreateHandler;\n optionText?: OptionText;\n}\n\nexport interface UseSupportCreateValue {\n createId: string;\n getCreateItem: (filterValue?: string) => {\n id: Identifier;\n [key: string]: any;\n };\n handleChange: (eventOrValue: ChangeEvent | any) => Promise<void>;\n createElement: ReactElement | null;\n}\n\nconst CreateSuggestionContext = createContext<\n CreateSuggestionContextValue | undefined\n>(undefined);\n\ninterface CreateSuggestionContextValue {\n filter?: string;\n onCreate: (choice: any) => void;\n onCancel: () => void;\n}\nexport const useCreateSuggestionContext = () => {\n const context = useContext(CreateSuggestionContext);\n if (!context) {\n throw new Error(\n 'useCreateSuggestionContext must be used inside a CreateSuggestionContext.Provider'\n );\n }\n return context;\n};\n\nexport type OnCreateHandler = (filter?: string) => any | Promise<any>;\n","import * as React from 'react';\nimport {\n isValidElement,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n ReactNode,\n} from 'react';\nimport debounce from 'lodash/debounce';\nimport get from 'lodash/get';\nimport isEqual from 'lodash/isEqual';\nimport clsx from 'clsx';\nimport {\n Autocomplete,\n AutocompleteProps,\n Chip,\n TextField,\n TextFieldProps,\n createFilterOptions,\n} from '@mui/material';\nimport { styled } from '@mui/material/styles';\nimport {\n ChoicesProps,\n FieldTitle,\n RaRecord,\n useChoicesContext,\n useInput,\n useSuggestions,\n UseSuggestionsOptions,\n useTimeout,\n useTranslate,\n warning,\n useGetRecordRepresentation,\n useEvent,\n} from 'ra-core';\nimport {\n SupportCreateSuggestionOptions,\n useSupportCreateSuggestion,\n} from './useSupportCreateSuggestion';\nimport { CommonInputProps } from './CommonInputProps';\nimport { InputHelperText } from './InputHelperText';\nimport { sanitizeInputRestProps } from './sanitizeInputRestProps';\n\nconst defaultFilterOptions = createFilterOptions();\n\n/**\n * An Input component for an autocomplete field, using an array of objects for the options\n *\n * Pass possible options as an array of objects in the 'choices' attribute.\n *\n * By default, the options are built from:\n * - the 'id' property as the option value,\n * - the 'name' property as the option text\n * @example\n * const choices = [\n * { id: 'M', name: 'Male' },\n * { id: 'F', name: 'Female' },\n * ];\n * <AutocompleteInput source=\"gender\" choices={choices} />\n *\n * You can also customize the properties to use for the option name and value,\n * thanks to the 'optionText' and 'optionValue' attributes.\n * @example\n * const choices = [\n * { _id: 123, full_name: 'Leo Tolstoi', sex: 'M' },\n * { _id: 456, full_name: 'Jane Austen', sex: 'F' },\n * ];\n * <AutocompleteInput source=\"author_id\" choices={choices} optionText=\"full_name\" optionValue=\"_id\" />\n *\n * `optionText` also accepts a function, so you can shape the option text at will:\n * @example\n * const choices = [\n * { id: 123, first_name: 'Leo', last_name: 'Tolstoi' },\n * { id: 456, first_name: 'Jane', last_name: 'Austen' },\n * ];\n * const optionRenderer = choice => `${choice.first_name} ${choice.last_name}`;\n * <AutocompleteInput source=\"author_id\" choices={choices} optionText={optionRenderer} />\n *\n * `optionText` also accepts a React Element, that can access\n * the related choice through the `useRecordContext` hook. You can use Field components there.\n * Note that you must also specify the `matchSuggestion` and `inputText` props\n * @example\n * const choices = [\n * { id: 123, first_name: 'Leo', last_name: 'Tolstoi' },\n * { id: 456, first_name: 'Jane', last_name: 'Austen' },\n * ];\n * const matchSuggestion = (filterValue, choice) => choice.first_name.match(filterValue) || choice.last_name.match(filterValue)\n * const inputText = (record) => `${record.fullName} (${record.language})`;\n *\n * const FullNameField = () => {\n * const record = useRecordContext();\n * return <span>{record.first_name} {record.last_name}</span>;\n * }\n * <AutocompleteInput source=\"author\" choices={choices} optionText={<FullNameField />} matchSuggestion={matchSuggestion} inputText={inputText} />\n *\n * The choices are translated by default, so you can use translation identifiers as choices:\n * @example\n * const choices = [\n * { id: 'M', name: 'myroot.gender.male' },\n * { id: 'F', name: 'myroot.gender.female' },\n * ];\n *\n * However, in some cases (e.g. inside a `<ReferenceInput>`), you may not want\n * the choice to be translated. In that case, set the `translateChoice` prop to false.\n * @example\n * <AutocompleteInput source=\"gender\" choices={choices} translateChoice={false}/>\n *\n * The object passed as `options` props is passed to the Material UI <TextField> component\n *\n * @example\n * <AutocompleteInput source=\"author_id\" options={{ color: 'secondary', InputLabelProps: { shrink: true } }} />\n */\nexport const AutocompleteInput = <\n OptionType extends RaRecord = RaRecord,\n Multiple extends boolean | undefined = false,\n DisableClearable extends boolean | undefined = false,\n SupportCreate extends boolean | undefined = false,\n>(\n props: AutocompleteInputProps<\n OptionType,\n Multiple,\n DisableClearable,\n SupportCreate\n >\n) => {\n const {\n choices: choicesProp,\n className,\n clearOnBlur = true,\n clearText = 'ra.action.clear_input_value',\n closeText = 'ra.action.close',\n create,\n createLabel,\n createItemLabel,\n createValue,\n debounce: debounceDelay = 250,\n defaultValue,\n emptyText,\n emptyValue = '',\n field: fieldOverride,\n format,\n helperText,\n id: idOverride,\n inputText,\n isFetching: isFetchingProp,\n isLoading: isLoadingProp,\n isPending: isPendingProp,\n isRequired: isRequiredOverride,\n label,\n limitChoicesToValue,\n matchSuggestion,\n margin,\n fieldState: fieldStateOverride,\n filterToQuery: filterToQueryProp = DefaultFilterToQuery,\n formState: formStateOverride,\n multiple = false,\n noOptionsText,\n onBlur,\n onChange,\n onCreate,\n openText = 'ra.action.open',\n optionText,\n optionValue,\n parse,\n resource: resourceProp,\n shouldRenderSuggestions,\n setFilter,\n size,\n source: sourceProp,\n suggestionLimit = Infinity,\n TextFieldProps,\n translateChoice,\n validate,\n variant,\n onInputChange,\n disabled,\n readOnly,\n ...rest\n } = props;\n\n const filterToQuery = useEvent(filterToQueryProp);\n\n const {\n allChoices,\n isPending,\n error: fetchError,\n resource,\n source,\n setFilters,\n isFromReference,\n } = useChoicesContext({\n choices: choicesProp,\n isFetching: isFetchingProp,\n isLoading: isLoadingProp,\n isPending: isPendingProp,\n resource: resourceProp,\n source: sourceProp,\n });\n\n const translate = useTranslate();\n\n const {\n id,\n field,\n isRequired,\n fieldState: { error, invalid },\n } = useInput({\n defaultValue,\n id: idOverride,\n field: fieldOverride,\n fieldState: fieldStateOverride,\n formState: formStateOverride,\n isRequired: isRequiredOverride,\n onBlur,\n onChange,\n parse,\n format,\n resource,\n source,\n validate,\n disabled,\n readOnly,\n ...rest,\n });\n\n const finalChoices = useMemo(\n () =>\n // eslint-disable-next-line eqeqeq\n emptyText == undefined || isRequired || multiple\n ? allChoices\n : [\n {\n [optionValue || 'id']: emptyValue,\n [typeof optionText === 'string'\n ? optionText\n : 'name']: translate(emptyText, {\n _: emptyText,\n }),\n },\n ].concat(allChoices || []),\n [\n allChoices,\n emptyValue,\n emptyText,\n isRequired,\n multiple,\n optionText,\n optionValue,\n translate,\n ]\n );\n\n const selectedChoice = useSelectedChoice<\n OptionType,\n Multiple,\n DisableClearable,\n SupportCreate\n >(field.value, {\n choices: finalChoices,\n // @ts-ignore\n multiple,\n optionValue,\n });\n\n useEffect(() => {\n // eslint-disable-next-line eqeqeq\n if (emptyValue == null) {\n throw new Error(\n `emptyValue being set to null or undefined is not supported. Use parse to turn the empty string into null.`\n );\n }\n }, [emptyValue]);\n\n useEffect(() => {\n // eslint-disable-next-line eqeqeq\n if (isValidElement(optionText) && emptyText != undefined) {\n throw new Error(\n `optionText of type React element is not supported when setting emptyText`\n );\n }\n // eslint-disable-next-line eqeqeq\n if (isValidElement(optionText) && inputText == undefined) {\n throw new Error(`\nIf you provided a React element for the optionText prop, you must also provide the inputText prop (used for the text input)`);\n }\n if (\n isValidElement(optionText) &&\n !isFromReference &&\n // eslint-disable-next-line eqeqeq\n matchSuggestion == undefined\n ) {\n throw new Error(`\nIf you provided a React element for the optionText prop, you must also provide the matchSuggestion prop (used to match the user input with a choice)`);\n }\n }, [optionText, inputText, matchSuggestion, emptyText, isFromReference]);\n\n useEffect(() => {\n warning(\n /* eslint-disable eqeqeq */\n shouldRenderSuggestions != undefined && noOptionsText == undefined,\n `When providing a shouldRenderSuggestions function, we recommend you also provide the noOptionsText prop and set it to a text explaining users why no options are displayed. It supports translation keys.`\n );\n /* eslint-enable eqeqeq */\n }, [shouldRenderSuggestions, noOptionsText]);\n\n const getRecordRepresentation = useGetRecordRepresentation(resource);\n\n const { getChoiceText, getChoiceValue, getSuggestions } = useSuggestions({\n choices: finalChoices,\n limitChoicesToValue,\n matchSuggestion,\n optionText:\n optionText ??\n (isFromReference ? getRecordRepresentation : undefined),\n optionValue,\n selectedItem: selectedChoice,\n suggestionLimit,\n translateChoice: translateChoice ?? !isFromReference,\n });\n\n const [filterValue, setFilterValue] = useState('');\n\n const handleChange = (newValue: any) => {\n if (multiple) {\n if (Array.isArray(newValue)) {\n field.onChange(newValue.map(getChoiceValue), newValue);\n } else {\n field.onChange(\n [...(field.value ?? []), getChoiceValue(newValue)],\n newValue\n );\n }\n } else {\n field.onChange(getChoiceValue(newValue) ?? emptyValue, newValue);\n }\n };\n\n // eslint-disable-next-line\n const debouncedSetFilter = useCallback(\n debounce(filter => {\n if (setFilter) {\n return setFilter(filter);\n }\n\n if (choicesProp) {\n return;\n }\n\n setFilters(filterToQuery(filter));\n }, debounceDelay),\n [debounceDelay, setFilters, setFilter]\n );\n\n // We must reset the filter every time the value changes to ensure we\n // display at least some choices even if the input has a value.\n // Otherwise, it would only display the currently selected one and the user\n // would have to first clear the input before seeing any other choices\n const currentValue = useRef(field.value);\n useEffect(() => {\n if (!isEqual(currentValue.current, field.value)) {\n currentValue.current = field.value;\n debouncedSetFilter('');\n }\n }, [field.value]); // eslint-disable-line\n\n const {\n getCreateItem,\n handleChange: handleChangeWithCreateSupport,\n createElement,\n createId,\n } = useSupportCreateSuggestion({\n create,\n createLabel,\n createItemLabel,\n createValue,\n handleChange,\n filter: filterValue,\n onCreate,\n optionText,\n });\n\n const getOptionLabel = useCallback(\n (option: any, isListItem: boolean = false) => {\n // eslint-disable-next-line eqeqeq\n if (option == undefined) {\n return '';\n }\n\n // Value selected with enter, right from the input\n if (typeof option === 'string') {\n return option;\n }\n\n if (option?.id === createId) {\n return get(\n option,\n typeof optionText === 'string' ? optionText : 'name'\n );\n }\n\n if (!isListItem && option[optionValue || 'id'] === emptyValue) {\n return get(\n option,\n typeof optionText === 'string' ? optionText : 'name'\n );\n }\n\n if (!isListItem && inputText !== undefined) {\n return inputText(option);\n }\n\n return getChoiceText(option);\n },\n [\n getChoiceText,\n inputText,\n createId,\n optionText,\n optionValue,\n emptyValue,\n ]\n );\n\n const finalOnBlur = useCallback((): void => {\n if (clearOnBlur && !multiple) {\n const optionLabel = getOptionLabel(selectedChoice);\n if (!isEqual(optionLabel, filterValue)) {\n setFilterValue(optionLabel);\n debouncedSetFilter('');\n }\n }\n field.onBlur();\n }, [\n clearOnBlur,\n field,\n getOptionLabel,\n selectedChoice,\n filterValue,\n debouncedSetFilter,\n multiple,\n ]);\n\n useEffect(() => {\n if (!multiple) {\n const optionLabel = getOptionLabel(selectedChoice);\n if (typeof optionLabel === 'string') {\n setFilterValue(optionLabel);\n } else {\n throw new Error(\n 'When optionText returns a React element, you must also provide the inputText prop'\n );\n }\n }\n }, [getOptionLabel, multiple, selectedChoice]);\n\n const handleInputChange: AutocompleteProps<\n OptionType,\n Multiple,\n DisableClearable,\n SupportCreate\n >['onInputChange'] = (event, newInputValue, reason) => {\n if (\n event?.type === 'change' ||\n !doesQueryMatchSelection(newInputValue)\n ) {\n setFilterValue(newInputValue);\n debouncedSetFilter(newInputValue);\n }\n\n onInputChange?.(event, newInputValue, reason);\n };\n\n const doesQueryMatchSelection = useCallback(\n (filter: string) => {\n let selectedItemTexts;\n\n if (multiple) {\n selectedItemTexts = selectedChoice.map(item =>\n getOptionLabel(item)\n );\n } else {\n selectedItemTexts = [getOptionLabel(selectedChoice)];\n }\n\n return selectedItemTexts.includes(filter);\n },\n [getOptionLabel, multiple, selectedChoice]\n );\n const doesQueryMatchSuggestion = useCallback(\n filter => {\n const hasOption = !!finalChoices\n ? finalChoices.some(choice => getOptionLabel(choice) === filter)\n : false;\n\n return doesQueryMatchSelection(filter) || hasOption;\n },\n [finalChoices, getOptionLabel, doesQueryMatchSelection]\n );\n\n const filterOptions = (options, params) => {\n let filteredOptions =\n isFromReference || // When used inside a reference, AutocompleteInput shouldn't do the filtering as it's done by the reference input\n matchSuggestion || // When using element as optionText (and matchSuggestion), options are filtered by getSuggestions, so they shouldn't be filtered here\n limitChoicesToValue // When limiting choices to values (why? it's legacy!), options are also filtered by getSuggestions, so they shouldn't be filtered here\n ? options\n : defaultFilterOptions(options, params); // Otherwise, we let Material UI's Autocomplete do the filtering\n\n // add create option if necessary\n const { inputValue } = params;\n if (onCreate || create) {\n if (inputValue === '') {\n // create option with createLabel\n filteredOptions = filteredOptions.concat(getCreateItem(''));\n } else if (!doesQueryMatchSuggestion(filterValue)) {\n filteredOptions = filteredOptions.concat(\n // create option with createItemLabel\n getCreateItem(inputValue)\n );\n }\n }\n\n return filteredOptions;\n };\n\n const handleAutocompleteChange = (\n event: any,\n newValue: any,\n _reason: string\n ) => {\n handleChangeWithCreateSupport(newValue != null ? newValue : emptyValue);\n };\n\n const oneSecondHasPassed = useTimeout(1000, filterValue);\n\n const suggestions = useMemo(() => {\n if (!isFromReference && (matchSuggestion || limitChoicesToValue)) {\n return getSuggestions(filterValue);\n }\n return finalChoices?.slice(0, suggestionLimit) || [];\n }, [\n finalChoices,\n filterValue,\n getSuggestions,\n limitChoicesToValue,\n matchSuggestion,\n suggestionLimit,\n isFromReference,\n ]);\n\n const isOptionEqualToValue = (option, value) => {\n return String(getChoiceValue(option)) === String(getChoiceValue(value));\n };\n const renderHelperText = !!fetchError || helperText !== false || invalid;\n\n return (\n <>\n <StyledAutocomplete\n className={clsx('ra-input', `ra-input-${source}`, className)}\n clearText={translate(clearText, { _: clearText })}\n closeText={translate(closeText, { _: closeText })}\n openOnFocus\n openText={translate(openText, { _: openText })}\n id={id}\n isOptionEqualToValue={isOptionEqualToValue}\n filterSelectedOptions\n disabled={disabled || readOnly}\n renderInput={params => {\n const mergedTextFieldProps = {\n readOnly,\n ...params.InputProps,\n ...TextFieldProps?.InputProps,\n };\n return (\n <TextField\n name={field.name}\n label={\n <FieldTitle\n label={label}\n source={source}\n resource={resourceProp}\n isRequired={isRequired}\n />\n }\n error={!!fetchError || invalid}\n helperText={\n renderHelperText ? (\n <InputHelperText\n error={\n error?.message ||\n fetchError?.message\n }\n helperText={helperText}\n />\n ) : null\n }\n margin={margin}\n variant={variant}\n className={AutocompleteInputClasses.textField}\n {...params}\n {...TextFieldProps}\n InputProps={mergedTextFieldProps}\n size={size}\n />\n );\n }}\n multiple={multiple}\n renderTags={(value, getTagProps) =>\n value.map((option, index) => {\n // We have to extract the key because react 19 does not allow to spread the key prop\n const { key, ...tagProps } = getTagProps({ index });\n return (\n <Chip\n label={\n isValidElement(optionText)\n ? inputText\n ? inputText(option)\n : ''\n : getChoiceText(option)\n }\n size=\"small\"\n key={key}\n {...tagProps}\n />\n );\n })\n }\n noOptionsText={\n typeof noOptionsText === 'string'\n ? translate(noOptionsText, { _: noOptionsText })\n : noOptionsText\n }\n selectOnFocus\n clearOnBlur={clearOnBlur}\n {...sanitizeInputRestProps(rest)}\n freeSolo={!!create || !!onCreate}\n handleHomeEndKeys={!!create || !!onCreate}\n filterOptions={filterOptions}\n options={\n shouldRenderSuggestions == undefined || // eslint-disable-line eqeqeq\n shouldRenderSuggestions(filterValue)\n ? suggestions\n : []\n }\n getOptionLabel={getOptionLabel}\n inputValue={filterValue}\n loading={\n isPending &&\n (!finalChoices || finalChoices.length === 0) &&\n oneSecondHasPassed\n }\n value={selectedChoice}\n onChange={handleAutocompleteChange}\n onBlur={finalOnBlur}\n onInputChange={handleInputChange}\n renderOption={(props, record: RaRecord) => {\n // We have to extract the key because react 19 does not allow to spread the key prop\n // @ts-expect-error The key is indeed inside props but MUI does not provide the correct type\n const { key: ignoredKey, ...rest } = props;\n // We don't use MUI key which is generated from the option label because we may have options with the same label but with different values\n const key = getChoiceValue(record);\n const optionLabel = getOptionLabel(record, true);\n\n return (\n <li key={key} {...rest}>\n {optionLabel === '' ? ' ' : optionLabel}\n </li>\n );\n }}\n />\n {createElement}\n </>\n );\n};\n\nconst PREFIX = 'RaAutocompleteInput';\n\nexport const AutocompleteInputClasses = {\n textField: `${PREFIX}-textField`,\n};\n\nconst StyledAutocomplete = styled(Autocomplete, {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme }) => ({\n [`& .${AutocompleteInputClasses.textField}`]: {\n minWidth: theme.spacing(20),\n },\n}));\n\n// @ts-ignore\nexport interface AutocompleteInputProps<\n OptionType extends any = RaRecord,\n Multiple extends boolean | undefined = false,\n DisableClearable extends boolean | undefined = false,\n SupportCreate extends boolean | undefined = false,\n> extends Omit<CommonInputProps, 'source' | 'onChange'>,\n ChoicesProps,\n UseSuggestionsOptions,\n Omit<SupportCreateSuggestionOptions, 'handleChange' | 'optionText'>,\n Omit<\n AutocompleteProps<\n OptionType,\n Multiple,\n DisableClearable,\n SupportCreate\n >,\n 'onChange' | 'options' | 'renderInput'\n > {\n children?: ReactNode;\n debounce?: number;\n emptyText?: string;\n emptyValue?: any;\n filterToQuery?: (searchText: string) => any;\n inputText?: (option: any) => string;\n onChange?: (\n // We can't know upfront what the value type will be\n value: Multiple extends true ? any[] : any,\n // We return an empty string when the input is cleared in single mode\n record: Multiple extends true ? OptionType[] : OptionType | ''\n ) => void;\n setFilter?: (value: string) => void;\n shouldRenderSuggestions?: any;\n // Source is optional as AutocompleteInput can be used inside a ReferenceInput that already defines the source\n source?: string;\n TextFieldProps?: TextFieldProps;\n}\n\n/**\n * Returns the selected choice (or choices if multiple) by matching the input value with the choices.\n */\nconst useSelectedChoice = <\n OptionType extends any = RaRecord,\n Multiple extends boolean | undefined = false,\n DisableClearable extends boolean | undefined = false,\n SupportCreate extends boolean | undefined = false,\n>(\n value: any,\n {\n choices,\n multiple,\n optionValue,\n }: AutocompleteInputProps<\n OptionType,\n Multiple,\n DisableClearable,\n SupportCreate\n >\n) => {\n const selectedChoiceRef = useRef(\n getSelectedItems(choices, value, optionValue, multiple)\n );\n const [selectedChoice, setSelectedChoice] = useState<RaRecord | RaRecord[]>(\n () => getSelectedItems(choices, value, optionValue, multiple)\n );\n\n // As the selected choices are objects, we want to ensure we pass the same\n // reference to the Autocomplete as it would reset its filter value otherwise.\n useEffect(() => {\n const newSelectedItems = getSelectedItems(\n choices,\n value,\n optionValue,\n multiple\n );\n\n if (\n !areSelectedItemsEqual(\n selectedChoiceRef.current,\n newSelectedItems,\n optionValue,\n multiple\n )\n ) {\n selectedChoiceRef.current = newSelectedItems;\n setSelectedChoice(newSelectedItems);\n }\n }, [choices, value, multiple, optionValue]);\n return selectedChoice || null;\n};\n\nconst getSelectedItems = (\n choices: RaRecord[] = [],\n value,\n optionValue = 'id',\n multiple\n) => {\n if (multiple) {\n return (Array.isArray(value ?? []) ? value : [value])\n .map(item =>\n choices.find(\n choice => String(item) === String(get(choice, optionValue))\n )\n )\n .filter(item => !!item);\n }\n return (\n choices.find(\n choice => String(get(choice, optionValue)) === String(value)\n ) || ''\n );\n};\n\nconst areSelectedItemsEqual = (\n selectedChoice: RaRecord | RaRecord[],\n newSelectedChoice: RaRecord | RaRecord[],\n optionValue = 'id',\n multiple?: boolean\n) => {\n if (multiple) {\n const selectedChoiceArray = (selectedChoice as RaRecord[]) ?? [];\n const newSelectedChoiceArray = (newSelectedChoice as RaRecord[]) ?? [];\n if (selectedChoiceArray.length !== newSelectedChoiceArray.length) {\n return false;\n }\n const equalityArray = selectedChoiceArray.map(choice =>\n newSelectedChoiceArray.some(\n newChoice =>\n get(newChoice, optionValue) === get(choice, optionValue)\n )\n );\n return !equalityArray.some(item => item === false);\n }\n return (\n get(selectedChoice, optionValue) === get(newSelectedChoice, optionValue)\n );\n};\n\nconst DefaultFilterToQuery = searchText => ({ q: searchText });\n","import * as React from 'react';\nimport { useCallback } from 'react';\nimport clsx from 'clsx';\nimport FormControlLabel from '@mui/material/FormControlLabel';\nimport FormHelperText from '@mui/material/FormHelperText';\nimport FormGroup, { FormGroupProps } from '@mui/material/FormGroup';\nimport Switch, { SwitchProps } from '@mui/material/Switch';\nimport { FieldTitle, useInput } from 'ra-core';\n\nimport { CommonInputProps } from './CommonInputProps';\nimport { sanitizeInputRestProps } from './sanitizeInputRestProps';\nimport { InputHelperText } from './InputHelperText';\n\nexport const BooleanInput = (props: BooleanInputProps) => {\n const {\n className,\n row = false,\n defaultValue = false,\n format,\n label,\n fullWidth,\n helperText,\n onBlur,\n onChange,\n onFocus,\n readOnly,\n disabled,\n parse,\n resource,\n source,\n validate,\n options = defaultOptions,\n sx,\n ...rest\n } = props;\n const {\n id,\n field,\n isRequired,\n fieldState: { error, invalid },\n } = useInput({\n defaultValue,\n format,\n parse,\n resource,\n source,\n onBlur,\n onChange,\n type: 'checkbox',\n validate,\n disabled,\n readOnly,\n ...rest,\n });\n\n const handleChange = useCallback(\n event => {\n field.onChange(event);\n // Ensure field is considered as touched\n field.onBlur();\n },\n [field]\n );\n\n const renderHelperText = helperText !== false || invalid;\n\n return (\n <FormGroup\n className={clsx('ra-input', `ra-input-${source}`, className)}\n row={row}\n sx={sx}\n >\n <FormControlLabel\n inputRef={field.ref}\n control={\n <Switch\n id={id}\n name={field.name}\n onChange={handleChange}\n onFocus={onFocus}\n checked={Boolean(field.value)}\n {...sanitizeInputRestProps(rest)}\n {...options}\n disabled={disabled || readOnly}\n readOnly={readOnly}\n />\n }\n label={\n <FieldTitle\n label={label}\n source={source}\n resource={resource}\n isRequired={isRequired}\n />\n }\n />\n {renderHelperText ? (\n <FormHelperText error={invalid}>\n <InputHelperText\n error={error?.message}\n helperText={helperText}\n />\n </FormHelperText>\n ) : null}\n </FormGroup>\n );\n};\n\nexport type BooleanInputProps = CommonInputProps &\n Omit<SwitchProps, 'defaultValue'> &\n Omit<FormGroupProps, 'defaultValue' | 'onChange' | 'onBlur' | 'onFocus'> & {\n options?: SwitchProps;\n };\n\nconst defaultOptions = {};\n","import { styled } from '@mui/material';\n\nconst PREFIX = 'RaDatagrid';\n\nexport const DatagridClasses = {\n root: `${PREFIX}-root`,\n table: `${PREFIX}-table`,\n tableWrapper: `${PREFIX}-tableWrapper`,\n thead: `${PREFIX}-thead`,\n tbody: `${PREFIX}-tbody`,\n headerRow: `${PREFIX}-headerRow`,\n headerCell: `${PREFIX}-headerCell`,\n checkbox: `${PREFIX}-checkbox`,\n row: `${PREFIX}-row`,\n clickableRow: `${PREFIX}-clickableRow`,\n rowEven: `${PREFIX}-rowEven`,\n rowOdd: `${PREFIX}-rowOdd`,\n rowCell: `${PREFIX}-rowCell`,\n selectable: `${PREFIX}-selectable`,\n expandHeader: `${PREFIX}-expandHeader`,\n expandIconCell: `${PREFIX}-expandIconCell`,\n expandIcon: `${PREFIX}-expandIcon`,\n expandable: `${PREFIX}-expandable`,\n expanded: `${PREFIX}-expanded`,\n expandedPanel: `${PREFIX}-expandedPanel`,\n};\n\nexport const DatagridRoot = styled('div', {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme }) => ({\n [`& .${DatagridClasses.table}`]: {\n tableLayout: 'auto',\n },\n [`& .${DatagridClasses.tableWrapper}`]: {},\n [`& .${DatagridClasses.thead}`]: {},\n [`& .${DatagridClasses.tbody}`]: {},\n [`& .${DatagridClasses.headerRow}`]: {},\n [`& .${DatagridClasses.headerCell}`]: {\n position: 'sticky',\n top: 0,\n zIndex: 2,\n backgroundColor: theme.palette.background.paper,\n '&:first-of-type': {\n borderTopLeftRadius: theme.shape.borderRadius,\n },\n '&:last-child': {\n borderTopRightRadius: theme.shape.borderRadius,\n },\n },\n [`& .${DatagridClasses.checkbox}`]: {},\n [`& .${DatagridClasses.row}`]: {},\n [`& .${DatagridClasses.clickableRow}`]: {\n cursor: 'pointer',\n },\n [`& .${DatagridClasses.rowEven}`]: {},\n [`& .${DatagridClasses.rowOdd}`]: {},\n [`& .${DatagridClasses.rowCell}`]: {},\n [`& .${DatagridClasses.expandHeader}`]: {\n padding: 0,\n width: theme.spacing(6),\n },\n [`& .${DatagridClasses.expandIconCell}`]: {\n width: theme.spacing(6),\n },\n [`& .${DatagridClasses.expandIcon}`]: {\n padding: theme.spacing(1),\n transform: 'rotate(-90deg)',\n transition: theme.transitions.create('transform', {\n duration: theme.transitions.duration.shortest,\n }),\n },\n [`& .${DatagridClasses.expandIcon}.${DatagridClasses.expanded}`]: {\n transform: 'rotate(0deg)',\n },\n [`& .${DatagridClasses.expandedPanel}`]: {},\n}));\n","import * as React from 'react';\nimport TableCell, { TableCellProps } from '@mui/material/TableCell';\nimport clsx from 'clsx';\nimport { RaRecord } from 'ra-core';\n\nconst DatagridCell = React.forwardRef<HTMLTableCellElement, DatagridCellProps>(\n ({ className, field, record, resource, ...rest }, ref) => (\n <TableCell\n className={clsx(className, field.props.cellClassName)}\n align={field.props.textAlign || field.type.textAlign}\n ref={ref}\n {...rest}\n >\n {field}\n </TableCell>\n )\n);\n\nexport interface DatagridCellProps extends TableCellProps {\n className?: string;\n field: JSX.Element;\n record?: RaRecord;\n resource?: string;\n}\n\n// What? TypeScript loses the displayName if we don't set it explicitly\nDatagridCell.displayName = 'DatagridCell';\n\nexport default DatagridCell;\n","import * as React from 'react';\nimport { ElementType, memo } from 'react';\nimport IconButton, { IconButtonProps } from '@mui/material/IconButton';\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore';\nimport { useTranslate } from 'ra-core';\n\nconst ExpandRowButton = ({\n expanded,\n expandContentId,\n ...props\n}: ExpandRowButtonProps) => {\n const translate = useTranslate();\n return (\n <IconButton\n aria-label={translate(\n expanded ? 'ra.action.close' : 'ra.action.expand'\n )}\n aria-expanded={expanded}\n aria-controls={expandContentId}\n tabIndex={-1}\n aria-hidden=\"true\"\n component=\"div\"\n {...props}\n size=\"small\"\n >\n <ExpandMoreIcon fontSize=\"inherit\" />\n </IconButton>\n );\n};\n\nexport interface ExpandRowButtonProps extends IconButtonProps {\n component?: ElementType;\n expanded: boolean;\n expandContentId?: string;\n}\n\nexport default memo(ExpandRowButton);\n","import { createContext } from 'react';\nimport { RaRecord } from 'ra-core';\n\nconst DatagridContext = createContext<DatagridContextValue>({});\n\nDatagridContext.displayName = 'DatagridContext';\n\nexport type DatagridContextValue = {\n isRowExpandable?: (record: RaRecord) => boolean;\n expandSingle?: boolean;\n};\n\nexport default DatagridContext;\n","import { useContext, useMemo } from 'react';\nimport { DatagridProps } from './Datagrid';\nimport DatagridContext, { DatagridContextValue } from './DatagridContext';\nimport defaults from 'lodash/defaults';\n\nexport const useDatagridContext = (\n props?: DatagridProps\n): DatagridContextValue => {\n const context = useContext(DatagridContext);\n\n return useMemo(\n () =>\n defaults(\n {},\n props != null ? { isRowExpandable: props.isRowExpandable } : {},\n context\n ),\n [context, props]\n );\n};\n","import React, {\n isValidElement,\n createElement,\n useState,\n useEffect,\n useCallback,\n memo,\n FC,\n ReactElement,\n} from 'react';\nimport clsx from 'clsx';\nimport { TableCell, TableRow, TableRowProps, Checkbox } from '@mui/material';\nimport {\n Identifier,\n RaRecord,\n shallowEqual,\n useExpanded,\n useResourceContext,\n useTranslate,\n useCreatePath,\n useRecordContext,\n useResourceDefinition,\n} from 'ra-core';\nimport { useNavigate } from 'react-router-dom';\n\nimport DatagridCell from './DatagridCell';\nimport ExpandRowButton from './ExpandRowButton';\nimport { DatagridClasses } from './useDatagridStyles';\nimport { useDatagridContext } from './useDatagridContext';\n\nconst computeNbColumns = (expand, children, hasBulkActions) =>\n expand\n ? 1 + // show expand button\n (hasBulkActions ? 1 : 0) + // checkbox column\n React.Children.toArray(children).filter(child => !!child).length // non-null children\n : 0; // we don't need to compute columns if there is no expand panel;\n\nconst DatagridRow: React.ForwardRefExoticComponent<\n Omit<DatagridRowProps, 'ref'> & React.RefAttributes<HTMLTableRowElement>\n> = React.forwardRef<HTMLTableRowElement, DatagridRowProps>((props, ref) => {\n const definition = useResourceDefinition(props);\n const defaultRowClick = definition?.hasShow\n ? 'show'\n : definition?.hasEdit\n ? 'edit'\n : false;\n\n const {\n children,\n className,\n expand,\n hasBulkActions = false,\n hover = true,\n id,\n onToggleItem,\n record: recordOverride,\n rowClick = defaultRowClick,\n selected = false,\n style,\n selectable = true,\n ...rest\n } = props;\n\n if (typeof id === 'undefined') {\n throw new Error('DatagridRow expects an id prop');\n }\n const context = useDatagridContext();\n const translate = useTranslate();\n const record = useRecordContext(props);\n if (!record) {\n throw new Error(\n 'DatagridRow can only be used within a RecordContext or be passed a record prop'\n );\n }\n const resource = useResourceContext(props);\n if (!resource) {\n throw new Error(\n 'DatagridRow can only be used within a ResourceContext or be passed a resource prop'\n );\n }\n const expandable =\n (!context ||\n !context.isRowExpandable ||\n context.isRowExpandable(record)) &&\n expand;\n const createPath = useCreatePath();\n const [expanded, toggleExpanded] = useExpanded(\n resource,\n id,\n context && context.expandSingle\n );\n const [nbColumns, setNbColumns] = useState(() =>\n computeNbColumns(expandable, children, hasBulkActions)\n );\n useEffect(() => {\n // Fields can be hidden dynamically based on permissions;\n // The expand panel must span over the remaining columns\n // So we must recompute the number of columns to span on\n const newNbColumns = computeNbColumns(\n expandable,\n children,\n hasBulkActions\n );\n if (newNbColumns !== nbColumns) {\n setNbColumns(newNbColumns);\n }\n }, [expandable, nbColumns, children, hasBulkActions]);\n\n const navigate = useNavigate();\n\n const handleToggleExpand = useCallback(\n event => {\n toggleExpanded();\n event.stopPropagation();\n },\n [toggleExpanded]\n );\n const handleToggleSelection = useCallback(\n event => {\n if (!selectable || !onToggleItem) return;\n onToggleItem(id, event);\n event.stopPropagation();\n },\n [id, onToggleItem, selectable]\n );\n const handleClick = useCallback(\n async event => {\n event.persist();\n const type =\n typeof rowClick === 'function'\n ? await rowClick(id, resource, record)\n : rowClick;\n if (type === false || type == null) {\n return;\n }\n if (['edit', 'show'].includes(type)) {\n navigate(createPath({ resource, id, type }), {\n state: { _scrollToTop: true },\n });\n return;\n }\n if (type === 'expand') {\n handleToggleExpand(event);\n return;\n }\n if (type === 'toggleSelection') {\n handleToggleSelection(event);\n return;\n }\n navigate(type);\n },\n [\n rowClick,\n id,\n resource,\n record,\n navigate,\n createPath,\n handleToggleExpand,\n handleToggleSelection,\n ]\n );\n\n return (\n <>\n <TableRow\n ref={ref}\n className={clsx(className, {\n [DatagridClasses.expandable]: expandable,\n [DatagridClasses.selectable]: selectable,\n [DatagridClasses.clickableRow]:\n typeof rowClick === 'function' ? true : rowClick,\n })}\n key={id}\n style={style}\n hover={hover}\n onClick={handleClick}\n {...rest}\n >\n {expand && (\n <TableCell\n padding=\"none\"\n className={DatagridClasses.expandIconCell}\n >\n {expandable && (\n <ExpandRowButton\n className={clsx(DatagridClasses.expandIcon, {\n [DatagridClasses.expanded]: expanded,\n })}\n expanded={expanded}\n onClick={handleToggleExpand}\n expandContentId={`${id}-expand`}\n />\n )}\n </TableCell>\n )}\n {hasBulkActions && (\n <TableCell padding=\"checkbox\">\n <Checkbox\n aria-label={translate('ra.action.select_row', {\n _: 'Select this row',\n })}\n color=\"primary\"\n className={`select-item ${DatagridClasses.checkbox}`}\n checked={selectable && selected}\n onClick={handleToggleSelection}\n disabled={!selectable}\n />\n </TableCell>\n )}\n {React.Children.map(children, (field, index) =>\n isValidElement(field) ? (\n <DatagridCell\n key={`${id}-${\n (field.props as any).source || index\n }`}\n className={clsx(\n `column-${(field.props as any).source}`,\n DatagridClasses.rowCell\n )}\n record={record}\n {...{ field, resource }}\n />\n ) : null\n )}\n </TableRow>\n {expandable && expanded && (\n <TableRow\n key={`${id}-expand`}\n id={`${id}-expand`}\n className={DatagridClasses.expandedPanel}\n >\n <TableCell colSpan={nbColumns}>\n {isValidElement(expand)\n ? expand\n : createElement(\n expand as React.FunctionComponent<any>\n )}\n </TableCell>\n </TableRow>\n )}\n </>\n );\n});\n\nexport interface DatagridRowProps\n extends Omit<TableRowProps, 'id' | 'classes'> {\n className?: string;\n expand?:\n | ReactElement\n | FC<{\n id: Identifier;\n record: RaRecord;\n resource: string;\n }>;\n hasBulkActions?: boolean;\n hover?: boolean;\n id?: Identifier;\n onToggleItem?: (\n id: Identifier,\n event: React.TouchEvent | React.MouseEvent\n ) => void;\n record?: RaRecord;\n resource?: string;\n rowClick?: RowClickFunction | string | false;\n selected?: boolean;\n style?: any;\n selectable?: boolean;\n}\n\nexport type RowClickFunction = (\n id: Identifier,\n resource: string,\n record: RaRecord\n) => string | false | Promise<string | false>;\n\nconst areEqual = (prevProps, nextProps) => {\n const { children: _1, expand: _2, ...prevPropsWithoutChildren } = prevProps;\n const { children: _3, expand: _4, ...nextPropsWithoutChildren } = nextProps;\n return shallowEqual(prevPropsWithoutChildren, nextPropsWithoutChildren);\n};\n\nexport const PureDatagridRow = memo(DatagridRow, areEqual);\n\nPureDatagridRow.displayName = 'PureDatagridRow';\n\nexport default DatagridRow;\n","import * as React from 'react';\nimport { cloneElement, memo, FC, ReactElement } from 'react';\nimport { SxProps, TableBody, TableBodyProps } from '@mui/material';\nimport clsx from 'clsx';\nimport { Identifier, RaRecord, RecordContextProvider } from 'ra-core';\n\nimport { DatagridClasses } from './useDatagridStyles';\nimport DatagridRow, { PureDatagridRow, RowClickFunction } from './DatagridRow';\n\nconst DatagridBody: React.ForwardRefExoticComponent<\n Omit<DatagridBodyProps, 'ref'> &\n React.RefAttributes<HTMLTableSectionElement>\n> = React.forwardRef<HTMLTableSectionElement, DatagridBodyProps>(\n (\n {\n children,\n className,\n data = defaultData,\n expand,\n hasBulkActions = false,\n hover,\n onToggleItem,\n resource,\n row = defaultChildren,\n rowClick,\n rowSx,\n rowStyle,\n selectedIds,\n isRowSelectable,\n ...rest\n },\n ref\n ) => (\n <TableBody\n ref={ref}\n className={clsx('datagrid-body', className, DatagridClasses.tbody)}\n {...rest}\n >\n {data.map((record, rowIndex) => (\n <RecordContextProvider\n value={record}\n key={record.id ?? `row${rowIndex}`}\n >\n {cloneElement(\n row,\n {\n className: clsx(DatagridClasses.row, {\n [DatagridClasses.rowEven]: rowIndex % 2 === 0,\n [DatagridClasses.rowOdd]: rowIndex % 2 !== 0,\n }),\n expand,\n hasBulkActions: hasBulkActions && !!selectedIds,\n hover,\n id: record.id ?? `row${rowIndex}`,\n onToggleItem,\n resource,\n rowClick,\n selectable:\n !isRowSelectable || isRowSelectable(record),\n selected: selectedIds?.includes(record.id),\n sx: rowSx?.(record, rowIndex),\n style: rowStyle?.(record, rowIndex),\n },\n children\n )}\n </RecordContextProvider>\n ))}\n </TableBody>\n )\n);\n\nconst defaultChildren = <DatagridRow />;\n\nexport interface DatagridBodyProps extends Omit<TableBodyProps, 'classes'> {\n className?: string;\n data?: any[];\n expand?:\n | ReactElement\n | FC<{\n id: Identifier;\n record: RaRecord;\n resource: string;\n }>;\n hasBulkActions?: boolean;\n hover?: boolean;\n onToggleItem?: (\n id: Identifier,\n event: React.TouchEvent | React.MouseEvent\n ) => void;\n record?: RaRecord;\n resource?: string;\n row?: ReactElement;\n rowClick?: string | RowClickFunction | false;\n rowSx?: (record: RaRecord, index: number) => SxProps;\n rowStyle?: (record: RaRecord, index: number) => any;\n selectedIds?: Identifier[];\n isRowSelectable?: (record: RaRecord) => boolean;\n}\n\nconst defaultData = [];\n\n// trick Material UI Table into thinking this is one of the child type it supports\n// @ts-ignore\nDatagridBody.muiName = 'TableBody';\n\nexport const PureDatagridBody = memo(props => (\n <DatagridBody row={<PureDatagridRow />} {...props} />\n));\n\n// trick Material UI Table into thinking this is one of the child type it supports\n// @ts-ignore\nPureDatagridBody.muiName = 'TableBody';\n\nexport default DatagridBody;\n","import * as React from 'react';\nimport { styled } from '@mui/material/styles';\nimport { memo } from 'react';\nimport clsx from 'clsx';\nimport { TableCell, TableSortLabel, Tooltip } from '@mui/material';\nimport { TableCellProps } from '@mui/material/TableCell';\nimport {\n FieldTitle,\n useTranslate,\n SortPayload,\n useResourceContext,\n useTranslateLabel,\n} from 'ra-core';\n\nexport const DatagridHeaderCell = (\n props: DatagridHeaderCellProps\n): JSX.Element => {\n const { className, field, sort, updateSort, isSorting, ...rest } = props;\n const resource = useResourceContext();\n\n const translate = useTranslate();\n const translateLabel = useTranslateLabel();\n const sortLabel = translate('ra.sort.sort_by', {\n field: field\n ? translateLabel({\n label:\n typeof field.props.label === 'string'\n ? field.props.label\n : undefined,\n resource,\n source: field.props.source,\n })\n : undefined,\n order: translate(`ra.sort.${sort?.order === 'ASC' ? 'DESC' : 'ASC'}`),\n _: translate('ra.action.sort'),\n });\n\n return (\n <StyledTableCell\n className={clsx(className, field?.props.headerClassName)}\n align={field?.props.textAlign || field?.type.textAlign}\n variant=\"head\"\n {...rest}\n >\n {updateSort &&\n sort &&\n field &&\n field.props.sortable !== false &&\n field.type.sortable !== false &&\n (field.props.sortBy || field.props.source) ? (\n <Tooltip\n title={sortLabel}\n placement={\n field.props.textAlign === 'right' ||\n field.type.textAlign === 'right'\n ? 'bottom-end'\n : 'bottom-start'\n }\n enterDelay={300}\n >\n <TableSortLabel\n active={\n sort.field ===\n (field.props.sortBy || field.props.source)\n }\n direction={sort.order === 'ASC' ? 'asc' : 'desc'}\n data-field={field.props.sortBy || field.props.source}\n data-order={field.props.sortByOrder || 'ASC'}\n onClick={updateSort}\n classes={DatagridHeaderCellClasses}\n >\n <FieldTitle\n label={field.props.label}\n source={field.props.source}\n resource={resource}\n />\n </TableSortLabel>\n </Tooltip>\n ) : (\n <FieldTitle\n label={field?.props.label}\n source={field?.props.source}\n resource={resource}\n />\n )}\n </StyledTableCell>\n );\n};\n\nexport interface DatagridHeaderCellProps\n extends Omit<TableCellProps, 'classes' | 'resource'> {\n className?: string;\n field?: JSX.Element;\n isSorting?: boolean;\n sort?: SortPayload;\n updateSort?: (event: any) => void;\n}\n\nexport default memo(\n DatagridHeaderCell,\n (props, nextProps) =>\n props.updateSort === nextProps.updateSort &&\n props.sort?.field === nextProps.sort?.field &&\n props.sort?.order === nextProps.sort?.order &&\n props.isSorting === nextProps.isSorting\n);\n\nconst PREFIX = 'RaDatagridHeaderCell';\n\nexport const DatagridHeaderCellClasses = {\n icon: `${PREFIX}-icon`,\n};\n\n// Remove the sort icons when not active\nconst StyledTableCell = styled(TableCell, {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})({\n [`& .MuiTableSortLabel-icon`]: {\n display: 'none',\n },\n [`& .Mui-active .MuiTableSortLabel-icon`]: {\n display: 'inline',\n },\n});\n","import * as React from 'react';\nimport { styled } from '@mui/material/styles';\n\ninterface PlaceholderProps {\n className?: string;\n}\n\nexport const Placeholder = (props: PlaceholderProps) => (\n <Root className={props.className}> </Root>\n);\n\nconst PREFIX = 'RaPlaceholder';\n\nconst Root = styled('span', {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme }) => ({\n backgroundColor: theme.palette.grey[300],\n display: 'flex',\n}));\n","import * as React from 'react';\nimport { ReactElement, FC, memo } from 'react';\nimport {\n Table,\n TableCell,\n TableHead,\n TableRow,\n TableBody,\n IconButton,\n Checkbox,\n} from '@mui/material';\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore';\nimport clsx from 'clsx';\nimport { useTimeout, Identifier, RaRecord } from 'ra-core';\n\nimport { DatagridClasses } from './useDatagridStyles';\nimport { Placeholder } from '../Placeholder';\n\nconst times = (nbChildren, fn) =>\n Array.from({ length: nbChildren }, (_, key) => fn(key));\n\nconst DatagridLoading = ({\n className,\n expand,\n hasBulkActions,\n nbChildren,\n nbFakeLines = 5,\n size,\n}: DatagridLoadingProps) => {\n const oneSecondHasPassed = useTimeout(1000);\n if (!oneSecondHasPassed) return null;\n return (\n <div className={DatagridClasses.root}>\n <Table\n className={clsx(DatagridClasses.table, className)}\n size={size}\n >\n <TableHead>\n <TableRow className={DatagridClasses.row}>\n {expand && (\n <TableCell\n padding=\"none\"\n className={DatagridClasses.expandHeader}\n />\n )}\n {hasBulkActions && (\n <TableCell\n padding=\"checkbox\"\n className={DatagridClasses.expandIconCell}\n >\n <Checkbox\n className=\"select-all\"\n color=\"primary\"\n checked={false}\n />\n </TableCell>\n )}\n {times(nbChildren, key => (\n <TableCell\n variant=\"head\"\n className={DatagridClasses.headerCell}\n key={key}\n >\n <Placeholder />\n </TableCell>\n ))}\n </TableRow>\n </TableHead>\n <TableBody>\n {times(nbFakeLines, key1 => (\n <TableRow\n key={key1}\n style={{ opacity: 1 / (key1 + 1) }}\n >\n {expand && (\n <TableCell\n padding=\"none\"\n className={DatagridClasses.expandIconCell}\n >\n <IconButton\n className={DatagridClasses.expandIcon}\n component=\"div\"\n aria-hidden=\"true\"\n size=\"large\"\n >\n <ExpandMoreIcon />\n </IconButton>\n </TableCell>\n )}\n {hasBulkActions && (\n <TableCell\n padding=\"checkbox\"\n className={DatagridClasses.expandIconCell}\n >\n <Checkbox\n className=\"select-all\"\n color=\"primary\"\n checked={false}\n />\n </TableCell>\n )}\n {times(nbChildren, key2 => (\n <TableCell\n className={DatagridClasses.rowCell}\n key={key2}\n >\n <Placeholder />\n </TableCell>\n ))}\n </TableRow>\n ))}\n </TableBody>\n </Table>\n </div>\n );\n};\n\nexport interface DatagridLoadingProps {\n className?: string;\n expand?:\n | ReactElement\n | FC<{\n id: Identifier;\n record: RaRecord;\n resource: string;\n }>;\n hasBulkActions?: boolean;\n nbChildren: number;\n nbFakeLines?: number;\n size?: 'small' | 'medium';\n}\n\nexport default memo(DatagridLoading);\n","var SetCache = require('./_SetCache'),\n arrayIncludes = require('./_arrayIncludes'),\n arrayIncludesWith = require('./_arrayIncludesWith'),\n arrayMap = require('./_arrayMap'),\n baseUnary = require('./_baseUnary'),\n cacheHas = require('./_cacheHas');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * The base implementation of methods like `_.difference` without support\n * for excluding multiple arrays or iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Array} values The values to exclude.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n */\nfunction baseDifference(array, values, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n isCommon = true,\n length = array.length,\n result = [],\n valuesLength = values.length;\n\n if (!length) {\n return result;\n }\n if (iteratee) {\n values = arrayMap(values, baseUnary(iteratee));\n }\n if (comparator) {\n includes = arrayIncludesWith;\n isCommon = false;\n }\n else if (values.length >= LARGE_ARRAY_SIZE) {\n includes = cacheHas;\n isCommon = false;\n values = new SetCache(values);\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee == null ? value : iteratee(value);\n\n value = (comparator || value !== 0) ? value : 0;\n if (isCommon && computed === computed) {\n var valuesIndex = valuesLength;\n while (valuesIndex--) {\n if (values[valuesIndex] === computed) {\n continue outer;\n }\n }\n result.push(value);\n }\n else if (!includes(values, computed, comparator)) {\n result.push(value);\n }\n }\n return result;\n}\n\nmodule.exports = baseDifference;\n","var baseDifference = require('./_baseDifference'),\n baseFlatten = require('./_baseFlatten'),\n baseRest = require('./_baseRest'),\n isArrayLikeObject = require('./isArrayLikeObject');\n\n/**\n * Creates an array of `array` values not included in the other given arrays\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons. The order and references of result values are\n * determined by the first array.\n *\n * **Note:** Unlike `_.pullAll`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...Array} [values] The values to exclude.\n * @returns {Array} Returns the new array of filtered values.\n * @see _.without, _.xor\n * @example\n *\n * _.difference([2, 1], [2, 3]);\n * // => [1]\n */\nvar difference = baseRest(function(array, values) {\n return isArrayLikeObject(array)\n ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true))\n : [];\n});\n\nmodule.exports = difference;\n","import * as React from 'react';\nimport { memo } from 'react';\nimport IconButton from '@mui/material/IconButton';\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore';\nimport { useTranslate, useExpandAll, useResourceContext } from 'ra-core';\nimport { DatagridClasses } from './useDatagridStyles';\nimport clsx from 'clsx';\n\ninterface ExpandAllButtonProps {\n ids: string[] | number[];\n}\n\nconst ExpandAllButton = ({ ids }: ExpandAllButtonProps) => {\n const translate = useTranslate();\n const resource = useResourceContext();\n const [expanded, toggleExpanded] = useExpandAll(resource || '', ids);\n\n if (!resource) return null;\n return (\n <IconButton\n className={clsx(DatagridClasses.expandIcon, {\n [DatagridClasses.expanded]: expanded,\n })}\n aria-label={translate(\n expanded ? 'ra.action.close' : 'ra.action.expand'\n )}\n aria-expanded={expanded}\n tabIndex={-1}\n aria-hidden=\"true\"\n onClick={toggleExpanded}\n size=\"small\"\n >\n <ExpandMoreIcon fontSize=\"inherit\" />\n </IconButton>\n );\n};\n\nexport default memo(ExpandAllButton);\n","import * as React from 'react';\nimport { Children, isValidElement, useCallback } from 'react';\nimport {\n useListContextWithProps,\n Identifier,\n RaRecord,\n SortPayload,\n useTranslate,\n} from 'ra-core';\nimport { Checkbox, TableCell, TableHead, TableRow } from '@mui/material';\nimport clsx from 'clsx';\n\nimport DatagridHeaderCell from './DatagridHeaderCell';\nimport { DatagridClasses } from './useDatagridStyles';\nimport ExpandAllButton from './ExpandAllButton';\nimport { useDatagridContext } from './useDatagridContext';\n\n/**\n * The default Datagrid Header component.\n *\n * Renders select all checkbox as well as column header buttons used for sorting.\n */\nexport const DatagridHeader = (props: DatagridHeaderProps) => {\n const {\n children,\n className,\n hasExpand = false,\n hasBulkActions = false,\n isRowSelectable,\n } = props;\n const translate = useTranslate();\n const { sort, data, onSelect, selectedIds, setSort } =\n useListContextWithProps(props);\n const { expandSingle } = useDatagridContext();\n\n const updateSortCallback = useCallback(\n event => {\n event.stopPropagation();\n if (!setSort) return;\n const newField = event.currentTarget.dataset.field;\n const newOrder =\n sort?.field === newField\n ? sort?.order === 'ASC'\n ? 'DESC'\n : 'ASC'\n : event.currentTarget.dataset.order;\n setSort({ field: newField, order: newOrder });\n },\n [sort?.field, sort?.order, setSort]\n );\n\n const updateSort = setSort ? updateSortCallback : null;\n\n const handleSelectAll = useCallback(\n event => {\n if (!onSelect || !selectedIds || !data) return;\n onSelect(\n event.target.checked\n ? selectedIds.concat(\n data\n .filter(\n record => !selectedIds.includes(record.id)\n )\n .filter(record =>\n isRowSelectable\n ? isRowSelectable(record)\n : true\n )\n .map(record => record.id)\n )\n : []\n );\n },\n [data, onSelect, isRowSelectable, selectedIds]\n );\n\n const selectableIds = Array.isArray(data)\n ? isRowSelectable\n ? data\n .filter(record => isRowSelectable(record))\n .map(record => record.id)\n : data.map(record => record.id)\n : [];\n\n return (\n <TableHead className={clsx(className, DatagridClasses.thead)}>\n <TableRow\n className={clsx(DatagridClasses.row, DatagridClasses.headerRow)}\n >\n {hasExpand && (\n <TableCell\n padding=\"none\"\n className={clsx(\n DatagridClasses.headerCell,\n DatagridClasses.expandHeader\n )}\n >\n {!expandSingle && data ? (\n <ExpandAllButton\n ids={data.map(record => record.id)}\n />\n ) : null}\n </TableCell>\n )}\n {hasBulkActions && selectedIds && (\n <TableCell\n padding=\"checkbox\"\n className={DatagridClasses.headerCell}\n >\n <Checkbox\n inputProps={{\n 'aria-label': translate(\n 'ra.action.select_all',\n { _: 'Select all' }\n ),\n }}\n className=\"select-all\"\n color=\"primary\"\n checked={\n selectedIds.length > 0 &&\n selectableIds.length > 0 &&\n selectableIds.every(id =>\n selectedIds.includes(id)\n )\n }\n onChange={handleSelectAll}\n onClick={e => e.stopPropagation()}\n />\n </TableCell>\n )}\n {Children.map(children, (field, index) =>\n isValidElement(field) ? (\n <DatagridHeaderCell\n className={clsx(\n DatagridClasses.headerCell,\n `column-${(field.props as any).source}`\n )}\n sort={sort}\n field={field}\n isSorting={\n sort?.field ===\n ((field.props as any).sortBy ||\n (field.props as any).source)\n }\n key={(field.props as any).source || index}\n updateSort={updateSort || undefined}\n />\n ) : null\n )}\n </TableRow>\n </TableHead>\n );\n};\n\nexport interface DatagridHeaderProps<RecordType extends RaRecord = any> {\n children?: React.ReactNode;\n className?: string;\n hasExpand?: boolean;\n hasBulkActions?: boolean;\n isRowSelectable?: (record: RecordType) => boolean;\n isRowExpandable?: (record: RecordType) => boolean;\n size?: 'medium' | 'small';\n // can be injected when using the component without context\n sort?: SortPayload;\n data?: RecordType[];\n onSelect?: (ids: Identifier[]) => void;\n onToggleItem?: (id: Identifier) => void;\n selectedIds?: Identifier[];\n setSort?: (sort: SortPayload) => void;\n}\n\nDatagridHeader.displayName = 'DatagridHeader';\n","import React, { ReactElement, ReactNode } from 'react';\nimport DatagridContext, { DatagridContextValue } from './DatagridContext';\n\nconst DatagridContextProvider = ({\n children,\n value,\n}: {\n children: ReactNode;\n value: DatagridContextValue;\n}): ReactElement => (\n <DatagridContext.Provider value={value}>\n {children}\n </DatagridContext.Provider>\n);\n\nexport default DatagridContextProvider;\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"\n}), 'Close');","import * as React from 'react';\nimport { ReactNode, useCallback } from 'react';\nimport { styled } from '@mui/material/styles';\nimport clsx from 'clsx';\nimport Toolbar from '@mui/material/Toolbar';\nimport Typography from '@mui/material/Typography';\nimport { lighten } from '@mui/material/styles';\nimport IconButton from '@mui/material/IconButton';\nimport CloseIcon from '@mui/icons-material/Close';\nimport { useTranslate, sanitizeListRestProps, useListContext } from 'ra-core';\n\nimport TopToolbar from '../layout/TopToolbar';\n\nexport const BulkActionsToolbar = (props: BulkActionsToolbarProps) => {\n const {\n label = 'ra.action.bulk_actions',\n children,\n className,\n ...rest\n } = props;\n const { selectedIds = [], onUnselectItems } = useListContext();\n\n const translate = useTranslate();\n\n const handleUnselectAllClick = useCallback(() => {\n onUnselectItems();\n }, [onUnselectItems]);\n\n return (\n <Root className={className}>\n <Toolbar\n data-test=\"bulk-actions-toolbar\"\n className={clsx(BulkActionsToolbarClasses.toolbar, {\n [BulkActionsToolbarClasses.collapsed]:\n selectedIds.length === 0,\n })}\n {...sanitizeListRestProps(rest)}\n >\n <div className={BulkActionsToolbarClasses.title}>\n <IconButton\n className={BulkActionsToolbarClasses.icon}\n aria-label={translate('ra.action.unselect')}\n title={translate('ra.action.unselect')}\n onClick={handleUnselectAllClick}\n size=\"small\"\n >\n <CloseIcon fontSize=\"small\" />\n </IconButton>\n <Typography color=\"inherit\" variant=\"subtitle1\">\n {translate(label, {\n _: label,\n smart_count: selectedIds.length,\n })}\n </Typography>\n </div>\n <TopToolbar className={BulkActionsToolbarClasses.topToolbar}>\n {children}\n </TopToolbar>\n </Toolbar>\n </Root>\n );\n};\n\nexport interface BulkActionsToolbarProps {\n children?: ReactNode;\n label?: string;\n className?: string;\n}\n\nconst PREFIX = 'RaBulkActionsToolbar';\n\nexport const BulkActionsToolbarClasses = {\n toolbar: `${PREFIX}-toolbar`,\n topToolbar: `${PREFIX}-topToolbar`,\n buttons: `${PREFIX}-buttons`,\n collapsed: `${PREFIX}-collapsed`,\n title: `${PREFIX}-title`,\n icon: `${PREFIX}-icon`,\n};\n\nconst Root = styled('div', {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme }) => ({\n position: 'relative',\n [`& .${BulkActionsToolbarClasses.toolbar}`]: {\n position: 'absolute',\n left: 0,\n right: 0,\n zIndex: 3,\n color:\n theme.palette.mode === 'light'\n ? theme.palette.primary.main\n : theme.palette.text.primary,\n justifyContent: 'space-between',\n backgroundColor:\n theme.palette.mode === 'light'\n ? lighten(theme.palette.primary.light, 0.8)\n : theme.palette.primary.dark,\n minHeight: theme.spacing(6),\n height: theme.spacing(6),\n transform: `translateY(-${theme.spacing(6)})`,\n transition: `${theme.transitions.create(\n 'height'\n )}, ${theme.transitions.create(\n 'min-height'\n )}, ${theme.transitions.create('transform')}`,\n borderTopLeftRadius: theme.shape.borderRadius,\n borderTopRightRadius: theme.shape.borderRadius,\n },\n\n [`& .${BulkActionsToolbarClasses.topToolbar}`]: {\n paddingBottom: theme.spacing(1),\n minHeight: 'auto',\n [theme.breakpoints.down('sm')]: {\n backgroundColor: 'transparent',\n },\n },\n\n [`& .${BulkActionsToolbarClasses.buttons}`]: {},\n\n [`& .${BulkActionsToolbarClasses.collapsed}`]: {\n minHeight: 0,\n height: 0,\n transform: `translateY(0)`,\n overflowY: 'hidden',\n },\n\n [`& .${BulkActionsToolbarClasses.title}`]: {\n display: 'flex',\n flex: '0 0 auto',\n },\n\n [`& .${BulkActionsToolbarClasses.icon}`]: {\n marginLeft: '-0.5em',\n marginRight: '0.5em',\n },\n}));\n","import * as React from 'react';\nimport { memo } from 'react';\nimport CardContent from '@mui/material/CardContent';\nimport Typography from '@mui/material/Typography';\nimport { useResourceContext, useTranslate } from 'ra-core';\n\nexport const ListNoResults = memo(() => {\n const translate = useTranslate();\n const resource = useResourceContext();\n return (\n <CardContent>\n <Typography variant=\"body2\">\n {translate('ra.navigation.no_results', { resource })}\n </Typography>\n </CardContent>\n );\n});\n","import * as React from 'react';\nimport {\n cloneElement,\n createElement,\n isValidElement,\n useCallback,\n useRef,\n useEffect,\n FC,\n ComponentType,\n ReactElement,\n useMemo,\n} from 'react';\nimport {\n sanitizeListRestProps,\n useListContextWithProps,\n Identifier,\n OptionalResourceContextProvider,\n RaRecord,\n SortPayload,\n} from 'ra-core';\nimport { Table, TableProps, SxProps } from '@mui/material';\nimport clsx from 'clsx';\nimport union from 'lodash/union';\nimport difference from 'lodash/difference';\n\nimport { DatagridHeader } from './DatagridHeader';\nimport DatagridLoading from './DatagridLoading';\nimport DatagridBody, { PureDatagridBody } from './DatagridBody';\nimport { RowClickFunction } from './DatagridRow';\nimport DatagridContextProvider from './DatagridContextProvider';\nimport { DatagridClasses, DatagridRoot } from './useDatagridStyles';\nimport { BulkActionsToolbar } from '../BulkActionsToolbar';\nimport { BulkDeleteButton } from '../../button';\nimport { ListNoResults } from '../ListNoResults';\n\nconst defaultBulkActionButtons = <BulkDeleteButton />;\n\n/**\n * The Datagrid component renders a list of records as a table.\n * It is usually used as a child of the <List> and <ReferenceManyField> components.\n *\n * Props:\n * - body\n * - bulkActionButtons\n * - children\n * - empty\n * - expand\n * - header\n * - hover\n * - isRowExpandable\n * - isRowSelectable\n * - optimized\n * - rowClick\n * - rowSx\n * - size\n * - sx\n *\n * @example // Display all posts as a datagrid\n * const postRowSx = (record, index) => ({\n * backgroundColor: record.nb_views >= 500 ? '#efe' : 'white',\n * });\n * export const PostList = () => (\n * <List>\n * <Datagrid rowSx={postRowSx}>\n * <TextField source=\"id\" />\n * <TextField source=\"title\" />\n * <TextField source=\"body\" />\n * <EditButton />\n * </Datagrid>\n * </List>\n * );\n *\n * @example // Display all the comments of the current post as a datagrid\n * <ReferenceManyField reference=\"comments\" target=\"post_id\">\n * <Datagrid>\n * <TextField source=\"id\" />\n * <TextField source=\"body\" />\n * <DateField source=\"created_at\" />\n * <EditButton />\n * </Datagrid>\n * </ReferenceManyField>\n *\n * @example // Usage outside of a <List> or a <ReferenceManyField>.\n *\n * const sort = { field: 'published_at', order: 'DESC' };\n *\n * export const MyCustomList = (props) => {\n * const { data, total, isPending } = useGetList(\n * 'posts',\n * { pagination: { page: 1, perPage: 10 }, sort: sort }\n * );\n *\n * return (\n * <Datagrid\n * data={data}\n * total={total}\n * isPending={isPending}\n * sort={sort}\n * selectedIds={[]}\n * setSort={() => {\n * console.log('set sort');\n * }}\n * onSelect={() => {\n * console.log('on select');\n * }}\n * onToggleItem={() => {\n * console.log('on toggle item');\n * }}\n * >\n * <TextField source=\"id\" />\n * <TextField source=\"title\" />\n * </Datagrid>\n * );\n * }\n */\nexport const Datagrid: React.ForwardRefExoticComponent<\n Omit<DatagridProps, 'ref'> & React.RefAttributes<HTMLTableElement>\n> = React.forwardRef<HTMLTableElement, DatagridProps>((props, ref) => {\n const {\n optimized = false,\n body = optimized ? PureDatagridBody : DatagridBody,\n header = DatagridHeader,\n children,\n className,\n empty = DefaultEmpty,\n expand,\n bulkActionButtons = defaultBulkActionButtons,\n hover,\n isRowSelectable,\n isRowExpandable,\n resource,\n rowClick,\n rowSx,\n rowStyle,\n size = 'small',\n sx,\n expandSingle = false,\n ...rest\n } = props;\n\n const {\n sort,\n data,\n isPending,\n onSelect,\n onToggleItem,\n selectedIds,\n setSort,\n total,\n } = useListContextWithProps(props);\n\n const hasBulkActions = !!bulkActionButtons !== false;\n\n const contextValue = useMemo(\n () => ({ isRowExpandable, expandSingle }),\n [isRowExpandable, expandSingle]\n );\n\n const lastSelected = useRef(null);\n\n useEffect(() => {\n if (!selectedIds || selectedIds.length === 0) {\n lastSelected.current = null;\n }\n }, [JSON.stringify(selectedIds)]); // eslint-disable-line react-hooks/exhaustive-deps\n\n // we manage row selection at the datagrid level to allow shift+click to select an array of rows\n const handleToggleItem = useCallback(\n (id, event) => {\n if (!data) return;\n const ids = data.map(record => record.id);\n const lastSelectedIndex = ids.indexOf(lastSelected.current);\n lastSelected.current = event.target.checked ? id : null;\n\n if (event.shiftKey && lastSelectedIndex !== -1) {\n const index = ids.indexOf(id);\n const idsBetweenSelections = ids.slice(\n Math.min(lastSelectedIndex, index),\n Math.max(lastSelectedIndex, index) + 1\n );\n\n const newSelectedIds = event.target.checked\n ? union(selectedIds, idsBetweenSelections)\n : difference(selectedIds, idsBetweenSelections);\n\n onSelect?.(\n isRowSelectable\n ? newSelectedIds.filter((id: Identifier) =>\n isRowSelectable(\n data.find(record => record.id === id)\n )\n )\n : newSelectedIds\n );\n } else {\n onToggleItem?.(id);\n }\n },\n [data, isRowSelectable, onSelect, onToggleItem, selectedIds]\n );\n\n if (isPending === true) {\n return (\n <DatagridLoading\n className={className}\n expand={expand}\n hasBulkActions={hasBulkActions}\n nbChildren={React.Children.count(children)}\n size={size}\n />\n );\n }\n\n /**\n * Once loaded, the data for the list may be empty. Instead of\n * displaying the table header with zero data rows,\n * the Datagrid displays the empty component.\n */\n if (data == null || data.length === 0 || total === 0) {\n if (empty) {\n return empty;\n }\n\n return null;\n }\n\n /**\n * After the initial load, if the data for the list isn't empty,\n * and even if the data is refreshing (e.g. after a filter change),\n * the datagrid displays the current data.\n */\n return (\n <DatagridContextProvider value={contextValue}>\n <OptionalResourceContextProvider value={resource}>\n <DatagridRoot\n sx={sx}\n className={clsx(DatagridClasses.root, className)}\n >\n {bulkActionButtons !== false ? (\n <BulkActionsToolbar>\n {isValidElement(bulkActionButtons)\n ? bulkActionButtons\n : defaultBulkActionButtons}\n </BulkActionsToolbar>\n ) : null}\n <div className={DatagridClasses.tableWrapper}>\n <Table\n ref={ref}\n className={DatagridClasses.table}\n size={size}\n {...sanitizeRestProps(rest)}\n >\n {createOrCloneElement(\n header,\n {\n children,\n sort,\n data,\n hasExpand: !!expand,\n hasBulkActions,\n isRowSelectable,\n onSelect,\n selectedIds,\n setSort,\n },\n children\n )}\n {createOrCloneElement(\n body,\n {\n expand,\n rowClick,\n data,\n hasBulkActions,\n hover,\n onToggleItem: handleToggleItem,\n resource,\n rowSx,\n rowStyle,\n selectedIds,\n isRowSelectable,\n },\n children\n )}\n </Table>\n </div>\n </DatagridRoot>\n </OptionalResourceContextProvider>\n </DatagridContextProvider>\n );\n});\n\nconst createOrCloneElement = (element, props, children) =>\n isValidElement(element)\n ? cloneElement(element, props, children)\n : createElement(element, props, children);\n\nexport interface DatagridProps<RecordType extends RaRecord = any>\n extends Omit<TableProps, 'size' | 'classes' | 'onSelect'> {\n /**\n * The component used to render the body of the table. Defaults to <DatagridBody>.\n *\n * @see https://marmelab.com/react-admin/Datagrid.html#body\n */\n body?: ReactElement | ComponentType;\n\n /**\n * A class name to apply to the root table element\n */\n className?: string;\n\n /**\n * The component used to render the bulk action buttons. Defaults to <BulkDeleteButton>.\n *\n * @see https://marmelab.com/react-admin/Datagrid.html#bulkactionbuttons\n * @example\n * import { List, Datagrid, BulkDeleteButton } from 'react-admin';\n * import { Button } from '@mui/material';\n * import ResetViewsButton from './ResetViewsButton';\n *\n * const PostBulkActionButtons = () => (\n * <>\n * <ResetViewsButton label=\"Reset Views\" />\n * <BulkDeleteButton />\n * </>\n * );\n *\n * export const PostList = () => (\n * <List>\n * <Datagrid bulkActionButtons={<PostBulkActionButtons />}>\n * ...\n * </Datagrid>\n * </List>\n * );\n */\n bulkActionButtons?: ReactElement | false;\n\n /**\n * The component used to render the expand panel for each row.\n *\n * @see https://marmelab.com/react-admin/Datagrid.html#expand\n * @example\n * import { List, Datagrid, useRecordContext } from 'react-admin';\n *\n * const PostPanel = () => {\n * const record = useRecordContext();\n * return (\n * <div dangerouslySetInnerHTML={{ __html: record.body }} />\n * );\n * };\n *\n * const PostList = () => (\n * <List>\n * <Datagrid expand={<PostPanel />}>\n * ...\n * </Datagrid>\n * </List>\n * )\n */\n expand?:\n | ReactElement\n | FC<{\n id: Identifier;\n record: RecordType;\n resource: string;\n }>;\n\n /**\n * The component used to render the header row. Defaults to <DatagridHeader>.\n *\n * @see https://marmelab.com/react-admin/Datagrid.html#header\n */\n header?: ReactElement | ComponentType;\n\n /**\n * Whether to allow only one expanded row at a time. Defaults to false.\n *\n * @see https://marmelab.com/react-admin/Datagrid.html#expandsingle\n * @example\n * import { List, Datagrid } from 'react-admin';\n *\n * export const PostList = () => (\n * <List>\n * <Datagrid expandSingle>\n * ...\n * </Datagrid>\n * </List>\n * );\n */\n expandSingle?: boolean;\n\n /**\n * Set to false to disable the hover effect on rows.\n *\n * @see https://marmelab.com/react-admin/Datagrid.html#hover\n * @example\n * import { List, Datagrid } from 'react-admin';\n *\n * const PostList = () => (\n * <List>\n * <Datagrid hover={false}>\n * ...\n * </Datagrid>\n * </List>\n * );\n */\n hover?: boolean;\n\n /**\n * The component used to render the empty table.\n *\n * @see https://marmelab.com/react-admin/Datagrid.html#empty\n * @example\n * import { List, Datagrid } from 'react-admin';\n *\n * const CustomEmpty = () => <div>No books found</div>;\n *\n * const PostList = () => (\n * <List>\n * <Datagrid empty={<CustomEmpty />}>\n * ...\n * </Datagrid>\n * </List>\n * );\n */\n empty?: ReactElement;\n\n /**\n * A function that returns whether the row for a record is expandable.\n *\n * @see https://marmelab.com/react-admin/Datagrid.html#isrowexpandable\n * @example\n * import { List, Datagrid, useRecordContext } from 'react-admin';\n *\n * const PostPanel = () => {\n * const record = useRecordContext();\n * return (\n * <div dangerouslySetInnerHTML={{ __html: record.body }} />\n * );\n * };\n *\n * const PostList = () => (\n * <List>\n * <Datagrid\n * expand={<PostPanel />}\n * isRowExpandable={row => row.has_detail}\n * >\n * ...\n * </Datagrid>\n * </List>\n * )\n */\n isRowExpandable?: (record: RecordType) => boolean;\n\n /**\n * A function that returns whether the row for a record is selectable.\n *\n * @see https://marmelab.com/react-admin/Datagrid.html#isrowselectable\n * @example\n * import { List, Datagrid } from 'react-admin';\n *\n * export const PostList = () => (\n * <List>\n * <Datagrid isRowSelectable={ record => record.id > 300 }>\n * ...\n * </Datagrid>\n * </List>\n * );\n */\n isRowSelectable?: (record: RecordType) => boolean;\n\n /**\n * Set to true to optimize datagrid rendering if the children never vary.\n *\n * @see https://marmelab.com/react-admin/Datagrid.html#optimized\n */\n optimized?: boolean;\n\n /**\n * The action to trigger when the user clicks on a row.\n *\n * @see https://marmelab.com/react-admin/Datagrid.html#rowclick\n * @example\n * import { List, Datagrid } from 'react-admin';\n *\n * export const PostList = () => (\n * <List>\n * <Datagrid rowClick=\"edit\">\n * ...\n * </Datagrid>\n * </List>\n * );\n */\n rowClick?: string | RowClickFunction | false;\n\n /**\n * A function that returns the sx prop to apply to a row.\n *\n * @see https://marmelab.com/react-admin/Datagrid.html#rowsx\n * @example\n * import { List, Datagrid } from 'react-admin';\n *\n * const postRowSx = (record, index) => ({\n * backgroundColor: record.nb_views >= 500 ? '#efe' : 'white',\n * });\n * export const PostList = () => (\n * <List>\n * <Datagrid rowSx={postRowSx}>\n * ...\n * </Datagrid>\n * </List>\n * );\n */\n rowSx?: (record: RecordType, index: number) => SxProps;\n\n /**\n * @deprecated use rowSx instead\n */\n rowStyle?: (record: RecordType, index: number) => any;\n\n /**\n * Density setting, can be either 'small' or 'medium'. Defaults to 'small'.\n *\n * @see https://marmelab.com/react-admin/Datagrid.html#size\n * @example\n * import { List, Datagrid } from 'react-admin';\n *\n * export const PostList = () => (\n * <List>\n * <Datagrid size=\"medium\">\n * ...\n * </Datagrid>\n * </List>\n * );\n */\n size?: 'medium' | 'small';\n\n // can be injected when using the component without context\n sort?: SortPayload;\n data?: RecordType[];\n isLoading?: boolean;\n isPending?: boolean;\n onSelect?: (ids: Identifier[]) => void;\n onToggleItem?: (id: Identifier) => void;\n setSort?: (sort: SortPayload) => void;\n selectedIds?: Identifier[];\n total?: number;\n}\n\nconst injectedProps = [\n 'isRequired',\n 'setFilter',\n 'setPagination',\n 'limitChoicesToValue',\n 'translateChoice',\n // Datagrid may be used as an alternative to SelectInput\n 'field',\n 'fieldState',\n 'formState',\n];\n\nconst sanitizeRestProps = props =>\n Object.keys(sanitizeListRestProps(props))\n .filter(\n propName => !injectedProps.includes(propName) || propName === 'ref'\n )\n .reduce((acc, key) => ({ ...acc, [key]: props[key] }), {});\n\nDatagrid.displayName = 'Datagrid';\n\nconst DefaultEmpty = <ListNoResults />;\n","import * as React from 'react';\nimport { styled } from '@mui/material/styles';\nimport { IconButton } from '@mui/material';\nimport ActionHide from '@mui/icons-material/RemoveCircleOutline';\nimport clsx from 'clsx';\nimport { useResourceContext, useTranslate } from 'ra-core';\n\nexport const FilterFormInput = props => {\n const { filterElement, handleHide, className } = props;\n const resource = useResourceContext(props);\n const translate = useTranslate();\n\n return (\n <Root\n data-source={filterElement.props.source}\n className={clsx('filter-field', className)}\n >\n {React.cloneElement(filterElement, {\n resource,\n record: emptyRecord,\n size: filterElement.props.size ?? 'small',\n helperText: false,\n // ignore defaultValue in Field because it was already set in Form (via mergedInitialValuesWithDefaultValues)\n defaultValue: undefined,\n })}\n {!filterElement.props.alwaysOn && (\n <IconButton\n className={clsx(\n 'hide-filter',\n FilterFormInputClasses.hideButton\n )}\n onClick={handleHide}\n data-key={filterElement.props.source}\n title={translate('ra.action.remove_filter')}\n size=\"small\"\n >\n <ActionHide />\n </IconButton>\n )}\n\n <div className={FilterFormInputClasses.spacer}> </div>\n </Root>\n );\n};\n\nconst PREFIX = 'RaFilterFormInput';\n\nexport const FilterFormInputClasses = {\n spacer: `${PREFIX}-spacer`,\n hideButton: `${PREFIX}-hideButton`,\n};\n\nconst Root = styled('div', {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme }) => ({\n display: 'flex',\n alignItems: 'flex-end',\n pointerEvents: 'auto',\n [theme.breakpoints.down('sm')]: {\n width: '100%',\n },\n\n [`& .${FilterFormInputClasses.spacer}`]: { width: theme.spacing(2) },\n [`& .${FilterFormInputClasses.hideButton}`]: {\n marginBottom: theme.spacing(1),\n },\n}));\n\nconst emptyRecord = {};\n","import * as React from 'react';\n\nexport type FilterContextType = React.ReactNode[] | undefined;\n\n/**\n * Make filters accessible to sub components\n */\nexport const FilterContext = React.createContext<FilterContextType>(undefined);\n","import * as React from 'react';\nimport {\n HtmlHTMLAttributes,\n ReactNode,\n useEffect,\n useCallback,\n useContext,\n} from 'react';\nimport { styled } from '@mui/material/styles';\nimport {\n FormGroupsProvider,\n SourceContextProvider,\n SourceContextValue,\n useListContext,\n useResourceContext,\n} from 'ra-core';\nimport {\n FieldValues,\n FormProvider,\n useForm,\n useFormContext,\n} from 'react-hook-form';\nimport set from 'lodash/set';\nimport unset from 'lodash/unset';\nimport get from 'lodash/get';\nimport cloneDeep from 'lodash/cloneDeep';\nimport isEqual from 'lodash/isEqual';\n\nimport { FilterFormInput } from './FilterFormInput';\nimport { FilterContext } from '../FilterContext';\n\nexport const FilterForm = (props: FilterFormProps) => {\n const { defaultValues, filters: filtersProps, ...rest } = props;\n\n const { setFilters, displayedFilters, filterValues } = useListContext();\n const filters = useContext(FilterContext) || filtersProps;\n\n const mergedInitialValuesWithDefaultValues =\n mergeInitialValuesWithDefaultValues(\n defaultValues || filterValues,\n filters\n );\n\n const form = useForm({\n defaultValues: mergedInitialValuesWithDefaultValues,\n });\n const { getValues, reset, trigger, watch } = form;\n\n // Reapply filterValues when the URL changes or a user removes a filter\n useEffect(() => {\n const newValues = getFilterFormValues(getValues(), filterValues);\n const previousValues = getValues();\n if (!isEqual(newValues, previousValues)) {\n reset(newValues);\n }\n // The reference to the filterValues object is not updated when it changes,\n // so we must stringify it to compare it by value and also compare the reference.\n // This makes it work for both input values and filters applied directly through\n // the ListContext.setFilter (e.g. QuickFilter in the simple example)\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [JSON.stringify(filterValues), filterValues, getValues, reset]);\n\n useEffect(() => {\n const subscription = watch(async (values, { name }) => {\n // We must check whether the form is valid as watch will not check that for us.\n // We can't rely on form state as it might not be synchronized yet\n const isFormValid = await trigger();\n\n // Check that the name is present to avoid setting filters when watch was\n // triggered by a change on the ListContext values.\n if (name && isFormValid) {\n if (get(values, name) === '') {\n const newValues = cloneDeep(values);\n unset(newValues, name);\n setFilters(newValues, displayedFilters, true);\n } else {\n setFilters(values, displayedFilters, true);\n }\n }\n });\n return () => subscription.unsubscribe();\n }, [displayedFilters, setFilters, trigger, watch]);\n\n return (\n <FormProvider {...form}>\n <FormGroupsProvider>\n <FilterFormBase\n onSubmit={handleFormSubmit}\n filters={filters}\n {...rest}\n />\n </FormGroupsProvider>\n </FormProvider>\n );\n};\n\nexport type FilterFormProps = FilterFormBaseProps & {\n defaultValues?: FieldValues;\n};\n\nexport const FilterFormBase = (props: FilterFormBaseProps) => {\n const { className, filters, ...rest } = props;\n const resource = useResourceContext(props);\n const form = useFormContext();\n const { displayedFilters = {}, hideFilter } = useListContext();\n\n useEffect(() => {\n if (!filters) return;\n filters.forEach((filter: JSX.Element) => {\n if (filter.props.alwaysOn && filter.props.defaultValue) {\n throw new Error(\n 'Cannot use alwaysOn and defaultValue on a filter input. Please set the filterDefaultValues props on the <List> element instead.'\n );\n }\n });\n }, [filters]);\n\n const getShownFilters = () => {\n if (!filters) return [];\n const values = form.getValues();\n return filters.filter((filterElement: JSX.Element) => {\n const filterValue = get(values, filterElement.props.source);\n return (\n filterElement.props.alwaysOn ||\n displayedFilters[filterElement.props.source] ||\n !isEmptyValue(filterValue)\n );\n });\n };\n\n const handleHide = useCallback(\n event => hideFilter(event.currentTarget.dataset.key),\n [hideFilter]\n );\n\n const sourceContext = React.useMemo<SourceContextValue>(\n () => ({\n getSource: (source: string) => source,\n getLabel: (source: string) =>\n `resources.${resource}.fields.${source}`,\n }),\n [resource]\n );\n\n return (\n <SourceContextProvider value={sourceContext}>\n <StyledForm\n className={className}\n {...sanitizeRestProps(rest)}\n onSubmit={handleSubmit}\n >\n {getShownFilters().map((filterElement: JSX.Element) => (\n <FilterFormInput\n key={filterElement.key || filterElement.props.source}\n filterElement={filterElement}\n handleHide={handleHide}\n resource={resource}\n className={FilterFormClasses.filterFormInput}\n />\n ))}\n <div className={FilterFormClasses.clearFix} />\n </StyledForm>\n </SourceContextProvider>\n );\n};\n\nconst handleSubmit = event => {\n event.preventDefault();\n return false;\n};\n\nconst sanitizeRestProps = ({\n hasCreate,\n resource,\n ...props\n}: Partial<FilterFormBaseProps> & { hasCreate?: boolean }) => props;\n\nexport type FilterFormBaseProps = Omit<\n HtmlHTMLAttributes<HTMLFormElement>,\n 'children'\n> & {\n className?: string;\n resource?: string;\n filters?: ReactNode[];\n};\n\nexport const mergeInitialValuesWithDefaultValues = (\n initialValues,\n filters\n) => ({\n ...filters\n .filter(\n (filterElement: JSX.Element) =>\n filterElement.props.alwaysOn && filterElement.props.defaultValue\n )\n .reduce(\n (acc, filterElement: JSX.Element) =>\n set(\n { ...acc },\n filterElement.props.source,\n filterElement.props.defaultValue\n ),\n {} as any\n ),\n ...initialValues,\n});\n\nconst handleFormSubmit = (event: React.FormEvent) => {\n event.preventDefault();\n event.stopPropagation();\n return false;\n};\n\nconst PREFIX = 'RaFilterForm';\n\nexport const FilterFormClasses = {\n clearFix: `${PREFIX}-clearFix`,\n filterFormInput: `${PREFIX}-filterFormInput`,\n};\n\nconst StyledForm = styled('form', {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme }) => ({\n display: 'flex',\n flex: '0 1 auto',\n [theme.breakpoints.down('sm')]: {\n width: '100%',\n },\n [theme.breakpoints.up('sm')]: {\n minHeight: theme.spacing(8),\n },\n [theme.breakpoints.up('md')]: {\n flex: '0 1 100%',\n },\n flexWrap: 'wrap',\n alignItems: 'flex-end',\n pointerEvents: 'none',\n padding: `0 0 ${theme.spacing(0.5)} 0`,\n '& .MuiFormHelperText-root': { display: 'none' },\n [`& .${FilterFormClasses.clearFix}`]: { clear: 'right' },\n [`& .${FilterFormClasses.filterFormInput} .MuiFormControl-root`]: {\n marginTop: `${theme.spacing(1)}`,\n },\n}));\n\n/**\n * Because we are using controlled inputs with react-hook-form, we must provide a default value\n * for each input when resetting the form. (see https://react-hook-form.com/docs/useform/reset).\n * To ensure we don't provide undefined which will result to the current input value being reapplied\n * and due to the dynamic nature of the filter form, we rebuild the filter form values from its current\n * values and make sure to pass at least an empty string for each input.\n */\nexport const getFilterFormValues = (\n formValues: Record<string, any>,\n filterValues: Record<string, any>\n) => {\n return Object.keys(formValues).reduce(\n (acc, key) => {\n acc[key] = getInputValue(formValues, key, filterValues);\n return acc;\n },\n cloneDeep(filterValues) ?? {}\n );\n};\n\nconst getInputValue = (\n formValues: Record<string, any>,\n key: string,\n filterValues: Record<string, any>\n) => {\n if (formValues[key] === undefined || formValues[key] === null) {\n return '';\n }\n if (Array.isArray(formValues[key])) {\n return get(filterValues, key, '');\n }\n if (formValues[key] instanceof Date) {\n return get(filterValues, key, '');\n }\n if (typeof formValues[key] === 'object') {\n const inputValues = Object.keys(formValues[key]).reduce(\n (acc, innerKey) => {\n const nestedInputValue = getInputValue(\n formValues[key],\n innerKey,\n (filterValues || {})[key] ?? {}\n );\n acc[innerKey] = nestedInputValue;\n return acc;\n },\n {}\n );\n if (!Object.keys(inputValues).length) return '';\n return inputValues;\n }\n return get(filterValues, key, '');\n};\n\nconst isEmptyValue = (filterValue: unknown) => {\n if (filterValue === '' || filterValue == null) return true;\n\n // If one of the value leaf is not empty\n // the value is considered not empty\n if (typeof filterValue === 'object') {\n return Object.keys(filterValue).every(key =>\n isEmptyValue(filterValue[key])\n );\n }\n\n return false;\n};\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M10 18h4v-2h-4zM3 6v2h18V6zm3 7h12v-2H6z\"\n}), 'FilterList');","import * as React from 'react';\nimport { forwardRef, useCallback } from 'react';\nimport MenuItem from '@mui/material/MenuItem';\nimport { FieldTitle, useResourceContext } from 'ra-core';\n\nexport const FilterButtonMenuItem = forwardRef<any, FilterButtonMenuItemProps>(\n (props, ref) => {\n const { filter, onShow, autoFocus } = props;\n const resource = useResourceContext(props);\n const handleShow = useCallback(() => {\n onShow({\n source: filter.props.source,\n defaultValue: filter.props.defaultValue,\n });\n }, [filter.props.defaultValue, filter.props.source, onShow]);\n\n return (\n <MenuItem\n className=\"new-filter-item\"\n data-key={filter.props.source}\n data-default-value={filter.props.defaultValue}\n key={filter.props.source}\n onClick={handleShow}\n autoFocus={autoFocus}\n ref={ref}\n disabled={filter.props.disabled}\n >\n <FieldTitle\n label={filter.props.label}\n source={filter.props.source}\n resource={resource}\n />\n </MenuItem>\n );\n }\n);\n\nexport interface FilterButtonMenuItemProps {\n filter: JSX.Element;\n onShow: (params: { source: string; defaultValue: any }) => void;\n resource?: string;\n autoFocus?: boolean;\n}\n","import { SortPayload, useStore } from 'ra-core';\n\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nexport const useSavedQueries = (resource: string) => {\n return useStore<SavedQuery[]>(`${resource}.savedQueries`, []);\n};\n\nexport interface SavedQuery {\n label: string;\n value: {\n filter?: any;\n displayedFilters?: any[];\n sort?: SortPayload;\n perPage?: number;\n };\n}\n\nexport const extractValidSavedQueries = (savedQueries: SavedQuery[]) => {\n if (Array.isArray(savedQueries)) {\n return savedQueries.filter(query => isValidSavedQuery(query));\n }\n\n return [];\n};\n\nexport const areValidSavedQueries = (savedQueries: SavedQuery[]) => {\n if (\n Array.isArray(savedQueries) &&\n savedQueries.every(query => isValidSavedQuery(query))\n ) {\n return true;\n }\n};\n\nexport const isValidSavedQuery = (savedQuery: SavedQuery) => {\n if (\n savedQuery.label &&\n typeof savedQuery.label === 'string' &&\n savedQuery.value &&\n typeof Array.isArray(savedQuery.value.displayedFilters) &&\n typeof savedQuery.value.perPage === 'number' &&\n typeof savedQuery.value.sort?.field === 'string' &&\n typeof savedQuery.value.sort?.order === 'string' &&\n typeof savedQuery.value.filter === 'object'\n ) {\n return true;\n }\n\n return false;\n};\n","import * as React from 'react';\nimport { ReactElement, ChangeEvent, FormEvent, useState } from 'react';\nimport { useListContext, useTranslate } from 'ra-core';\nimport {\n Button,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n TextField,\n} from '@mui/material';\n\nimport { extractValidSavedQueries, useSavedQueries } from './useSavedQueries';\n\nexport const AddSavedQueryDialog = ({\n open,\n onClose,\n}: AddSavedQueryDialogProps): ReactElement => {\n const translate = useTranslate();\n const { resource, filterValues, displayedFilters, sort, perPage } =\n useListContext();\n\n const [savedQueries, setSavedQueries] = useSavedQueries(resource);\n\n // input state\n const [queryName, setQueryName] = useState('');\n const handleQueryNameChange = (\n event: ChangeEvent<HTMLInputElement>\n ): void => {\n setQueryName(event.target.value);\n };\n\n const handleFormSubmit = (e: FormEvent<HTMLFormElement>): void => {\n e.preventDefault();\n addQuery();\n };\n\n const addQuery = (): void => {\n const newSavedQuery = {\n label: queryName,\n value: {\n filter: filterValues,\n sort,\n perPage,\n displayedFilters,\n },\n };\n const newSavedQueries = extractValidSavedQueries(savedQueries);\n setSavedQueries(newSavedQueries.concat(newSavedQuery));\n setQueryName('');\n onClose();\n };\n\n return (\n <Dialog\n open={open}\n onClose={onClose}\n aria-labelledby=\"form-dialog-title\"\n >\n <DialogTitle id=\"form-dialog-title\">\n {translate('ra.saved_queries.new_dialog_title', {\n _: 'Save current query as',\n })}\n </DialogTitle>\n <DialogContent>\n <form onSubmit={handleFormSubmit}>\n <TextField\n // eslint-disable-next-line jsx-a11y/no-autofocus\n autoFocus\n margin=\"dense\"\n id=\"name\"\n label={translate('ra.saved_queries.query_name', {\n _: 'Query name',\n })}\n fullWidth\n value={queryName}\n onChange={handleQueryNameChange}\n />\n </form>\n </DialogContent>\n <DialogActions>\n <Button onClick={onClose}>\n {translate('ra.action.cancel')}\n </Button>\n <Button onClick={addQuery} color=\"primary\">\n {translate('ra.action.save')}\n </Button>\n </DialogActions>\n </Dialog>\n );\n};\n\nexport interface AddSavedQueryDialogProps {\n open: boolean;\n onClose: () => void;\n}\n","import * as React from 'react';\nimport { ReactElement } from 'react';\nimport isEqual from 'lodash/isEqual';\nimport { useListContext, useTranslate } from 'ra-core';\nimport {\n Button,\n Dialog,\n DialogActions,\n DialogContent,\n DialogContentText,\n DialogTitle,\n} from '@mui/material';\n\nimport { useSavedQueries, extractValidSavedQueries } from './useSavedQueries';\n\nexport interface RemoveSavedQueryDialogProps {\n open: boolean;\n onClose: () => void;\n}\n\nexport const RemoveSavedQueryDialog = ({\n open,\n onClose,\n}: RemoveSavedQueryDialogProps): ReactElement => {\n const translate = useTranslate();\n const { resource, filterValues, sort, perPage, displayedFilters } =\n useListContext();\n\n const [savedQueries, setSavedQueries] = useSavedQueries(resource);\n\n const removeQuery = (): void => {\n let savedQueryToRemove = {\n filter: filterValues,\n sort,\n perPage,\n displayedFilters,\n };\n\n const newSavedQueries = extractValidSavedQueries(savedQueries);\n const index = newSavedQueries.findIndex(savedFilter =>\n isEqual(savedFilter.value, savedQueryToRemove)\n );\n setSavedQueries([\n ...newSavedQueries.slice(0, index),\n ...newSavedQueries.slice(index + 1),\n ]);\n onClose();\n };\n\n return (\n <Dialog\n open={open}\n onClose={onClose}\n aria-labelledby=\"alert-dialog-title\"\n aria-describedby=\"alert-dialog-description\"\n >\n <DialogTitle id=\"alert-dialog-title\">\n {translate('ra.saved_queries.remove_dialog_title', {\n _: 'Remove saved query?',\n })}\n </DialogTitle>\n <DialogContent>\n <DialogContentText>\n {translate('ra.saved_queries.remove_message', {\n _: 'Are you sure you want to remove that item from your list of saved queries?',\n })}\n </DialogContentText>\n </DialogContent>\n <DialogActions>\n <Button onClick={onClose}>\n {translate('ra.action.cancel')}\n </Button>\n <Button\n onClick={removeQuery}\n color=\"primary\"\n // eslint-disable-next-line jsx-a11y/no-autofocus\n autoFocus\n >\n {translate('ra.action.confirm')}\n </Button>\n </DialogActions>\n </Dialog>\n );\n};\n","import * as React from 'react';\nimport {\n useState,\n useCallback,\n useRef,\n ReactNode,\n HtmlHTMLAttributes,\n useContext,\n} from 'react';\nimport {\n Menu,\n MenuItem,\n styled,\n ButtonProps as MuiButtonProps,\n} from '@mui/material';\nimport ContentFilter from '@mui/icons-material/FilterList';\nimport lodashGet from 'lodash/get';\nimport isEqual from 'lodash/isEqual';\nimport { useListContext, useResourceContext, useTranslate } from 'ra-core';\nimport { stringify } from 'query-string';\nimport { useNavigate } from 'react-router';\n\nimport { FilterButtonMenuItem } from './FilterButtonMenuItem';\nimport { Button } from '../../button';\nimport { FilterContext } from '../FilterContext';\nimport { extractValidSavedQueries, useSavedQueries } from './useSavedQueries';\nimport { AddSavedQueryDialog } from './AddSavedQueryDialog';\nimport { RemoveSavedQueryDialog } from './RemoveSavedQueryDialog';\n\nexport const FilterButton = (props: FilterButtonProps) => {\n const {\n filters: filtersProp,\n className,\n disableSaveQuery,\n size,\n variant,\n ...rest\n } = props;\n const filters = useContext(FilterContext) || filtersProp;\n const resource = useResourceContext(props);\n const translate = useTranslate();\n if (!resource && !disableSaveQuery) {\n throw new Error(\n '<FilterButton> must be called inside a ResourceContextProvider, or must provide a resource prop'\n );\n }\n const [savedQueries] = useSavedQueries(resource || '');\n const navigate = useNavigate();\n const {\n displayedFilters = {},\n filterValues,\n perPage,\n setFilters,\n showFilter,\n sort,\n } = useListContext();\n const hasFilterValues = !isEqual(filterValues, {});\n const validSavedQueries = extractValidSavedQueries(savedQueries);\n const hasSavedCurrentQuery = validSavedQueries.some(savedQuery =>\n isEqual(savedQuery.value, {\n filter: filterValues,\n sort,\n perPage,\n displayedFilters,\n })\n );\n const [open, setOpen] = useState(false);\n const anchorEl = useRef();\n\n if (filters === undefined) {\n throw new Error(\n 'The <FilterButton> component requires the <List filters> prop to be set'\n );\n }\n\n const hiddenFilters = filters.filter(\n (filterElement: JSX.Element) =>\n !filterElement.props.alwaysOn &&\n !displayedFilters[filterElement.props.source] &&\n typeof lodashGet(filterValues, filterElement.props.source) ===\n 'undefined'\n );\n\n const handleClickButton = useCallback(\n event => {\n // This prevents ghost click.\n event.preventDefault();\n setOpen(true);\n anchorEl.current = event.currentTarget;\n },\n [anchorEl, setOpen]\n );\n\n const handleRequestClose = useCallback(() => {\n setOpen(false);\n }, [setOpen]);\n\n const handleShow = useCallback(\n ({ source, defaultValue }) => {\n showFilter(source, defaultValue === '' ? undefined : defaultValue);\n // We have to fallback to imperative code because the new FilterFormInput\n // has no way of knowing it has just been displayed (and thus that it should focus its input)\n setTimeout(() => {\n const inputElement = document.querySelector(\n `input[name='${source}']`\n ) as HTMLInputElement;\n if (inputElement) {\n inputElement.focus();\n }\n }, 50);\n setOpen(false);\n },\n [showFilter, setOpen]\n );\n\n // add query dialog state\n const [addSavedQueryDialogOpen, setAddSavedQueryDialogOpen] =\n useState(false);\n const hideAddSavedQueryDialog = (): void => {\n setAddSavedQueryDialogOpen(false);\n };\n const showAddSavedQueryDialog = (): void => {\n setOpen(false);\n setAddSavedQueryDialogOpen(true);\n };\n\n // remove query dialog state\n const [removeSavedQueryDialogOpen, setRemoveSavedQueryDialogOpen] =\n useState(false);\n const hideRemoveSavedQueryDialog = (): void => {\n setRemoveSavedQueryDialogOpen(false);\n };\n const showRemoveSavedQueryDialog = (): void => {\n setOpen(false);\n setRemoveSavedQueryDialogOpen(true);\n };\n\n if (\n hiddenFilters.length === 0 &&\n validSavedQueries.length === 0 &&\n !hasFilterValues\n ) {\n return null;\n }\n return (\n <Root className={className} {...sanitizeRestProps(rest)}>\n <Button\n className=\"add-filter\"\n label=\"ra.action.add_filter\"\n aria-haspopup=\"true\"\n onClick={handleClickButton}\n variant={variant}\n size={size}\n >\n <ContentFilter />\n </Button>\n <Menu\n open={open}\n anchorEl={anchorEl.current}\n onClose={handleRequestClose}\n >\n {hiddenFilters.map((filterElement: JSX.Element, index) => (\n <FilterButtonMenuItem\n key={filterElement.props.source}\n filter={filterElement}\n resource={resource}\n onShow={handleShow}\n autoFocus={index === 0}\n />\n ))}\n {validSavedQueries.map((savedQuery, index) =>\n isEqual(savedQuery.value, {\n filter: filterValues,\n sort,\n perPage,\n displayedFilters,\n }) ? (\n <MenuItem\n onClick={showRemoveSavedQueryDialog}\n key={index}\n >\n {translate(\n 'ra.saved_queries.remove_label_with_name',\n {\n _: 'Remove query \"%{name}\"',\n name: savedQuery.label,\n }\n )}\n </MenuItem>\n ) : (\n <MenuItem\n onClick={(): void => {\n navigate({\n search: stringify({\n filter: JSON.stringify(\n savedQuery.value.filter\n ),\n sort: savedQuery.value.sort?.field,\n order: savedQuery.value.sort?.order,\n page: 1,\n perPage: savedQuery.value.perPage,\n displayedFilters: JSON.stringify(\n savedQuery.value.displayedFilters\n ),\n }),\n });\n setOpen(false);\n }}\n key={index}\n >\n {savedQuery.label}\n </MenuItem>\n )\n )}\n {hasFilterValues &&\n !hasSavedCurrentQuery &&\n !disableSaveQuery && (\n <MenuItem onClick={showAddSavedQueryDialog}>\n {translate('ra.saved_queries.new_label', {\n _: 'Save current query...',\n })}\n </MenuItem>\n )}\n {hasFilterValues && (\n <MenuItem\n onClick={() => {\n setFilters({}, {});\n setOpen(false);\n }}\n >\n {translate('ra.action.remove_all_filters', {\n _: 'Remove all filters',\n })}\n </MenuItem>\n )}\n </Menu>\n {!disableSaveQuery && (\n <>\n <AddSavedQueryDialog\n open={addSavedQueryDialogOpen}\n onClose={hideAddSavedQueryDialog}\n />\n <RemoveSavedQueryDialog\n open={removeSavedQueryDialogOpen}\n onClose={hideRemoveSavedQueryDialog}\n />\n </>\n )}\n </Root>\n );\n};\n\n/* eslint-disable @typescript-eslint/no-unused-vars */\nconst sanitizeRestProps = ({\n displayedFilters = null,\n filterValues = null,\n showFilter = null,\n ...rest\n}) => rest;\n\nexport interface FilterButtonProps\n extends HtmlHTMLAttributes<HTMLDivElement>,\n Pick<MuiButtonProps, 'variant' | 'size'> {\n className?: string;\n disableSaveQuery?: boolean;\n filters?: ReactNode[];\n resource?: string;\n}\n\nconst PREFIX = 'RaFilterButton';\n\nconst Root = styled('div', {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})({\n display: 'inline-block',\n});\n","import * as React from 'react';\nimport { ReactNode } from 'react';\nimport { Box, BoxProps, List, Typography } from '@mui/material';\nimport { useTranslate } from 'ra-core';\n\n/**\n * Header and container for a list of filter list items\n *\n * Expects 2 props, and a list of <FilterListItem> as children:\n *\n * - label: The label for this filter section. Will be translated.\n * - icon: An icon react element\n *\n * @see FilterListItem\n *\n * @example\n *\n * import * as React from 'react';\n * import { Card, CardContent } from '@mui/material';\n * import MailIcon from '@mui/icons-material/MailOutline';\n * import { FilterList, FilterListItem } from 'react-admin';\n *\n * const FilterSidebar = () => (\n * <Card>\n * <CardContent>\n * <FilterList\n * label=\"Subscribed to newsletter\"\n * icon={<MailIcon />}\n * >\n * <FilterListItem\n * label=\"Yes\"\n * value={{ has_newsletter: true }}\n * />\n * <FilterListItem\n * label=\"No\"\n * value={{ has_newsletter: false }}\n * />\n * </FilterList>\n * </CardContent>\n * </Card>\n * );\n */\nexport const FilterList = (props: FilterListProps) => {\n const { label, icon, children, ...rest } = props;\n const translate = useTranslate();\n return (\n <Box {...rest}>\n <Box mt={2} display=\"flex\" alignItems=\"center\">\n <Box mr={1}>{icon}</Box>\n <Typography variant=\"overline\">\n {translate(label, { _: label })}\n </Typography>\n </Box>\n <List dense disablePadding>\n {children}\n </List>\n </Box>\n );\n};\n\nexport interface FilterListProps extends BoxProps {\n label: string;\n icon: ReactNode;\n}\n","var baseClone = require('./_baseClone'),\n baseMatches = require('./_baseMatches');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1;\n\n/**\n * Creates a function that performs a partial deep comparison between a given\n * object and `source`, returning `true` if the given object has equivalent\n * property values, else `false`.\n *\n * **Note:** The created function is equivalent to `_.isMatch` with `source`\n * partially applied.\n *\n * Partial comparisons will match empty array and empty object `source`\n * values against any array or object value, respectively. See `_.isEqual`\n * for a list of supported value comparisons.\n *\n * **Note:** Multiple values can be checked by combining several matchers\n * using `_.overSome`\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Util\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n * @example\n *\n * var objects = [\n * { 'a': 1, 'b': 2, 'c': 3 },\n * { 'a': 4, 'b': 5, 'c': 6 }\n * ];\n *\n * _.filter(objects, _.matches({ 'a': 4, 'c': 6 }));\n * // => [{ 'a': 4, 'b': 5, 'c': 6 }]\n *\n * // Checking for several possible values\n * _.filter(objects, _.overSome([_.matches({ 'a': 1 }), _.matches({ 'a': 4 })]));\n * // => [{ 'a': 1, 'b': 2, 'c': 3 }, { 'a': 4, 'b': 5, 'c': 6 }]\n */\nfunction matches(source) {\n return baseMatches(baseClone(source, CLONE_DEEP_FLAG));\n}\n\nmodule.exports = matches;\n","import * as React from 'react';\nimport { isElement } from 'react-is';\nimport { styled } from '@mui/material/styles';\nimport { memo, ReactElement } from 'react';\nimport {\n IconButton,\n ListItem,\n ListItemButton,\n ListItemIcon,\n ListItemProps,\n ListItemText,\n ListItemSecondaryAction,\n} from '@mui/material';\nimport CancelIcon from '@mui/icons-material/CancelOutlined';\nimport {\n useTranslate,\n useListFilterContext,\n shallowEqual,\n useEvent,\n} from 'ra-core';\nimport matches from 'lodash/matches';\nimport pickBy from 'lodash/pickBy';\n\nconst arePropsEqual = (prevProps, nextProps) =>\n prevProps.label === nextProps.label &&\n shallowEqual(prevProps.value, nextProps.value);\n\n/**\n * Button to enable/disable a list filter.\n *\n * Expects 2 props:\n *\n * - label: The text (or React element) to be displayed for this item.\n * If it's a string, the component will translate it.\n * - value: An object to be merged into the filter value when enabling the filter\n * (e.g. { is_published: true, published_at_gte: '2020-07-08' })\n *\n * @example\n *\n * import * as React from 'react';\n * import { Card, CardContent } from '@mui/material';\n * import MailIcon from '@mui/icons-material/MailOutline';\n * import { FilterList, FilterListItem } from 'react-admin';\n *\n * const FilterSidebar = () => (\n * <Card>\n * <CardContent>\n * <FilterList\n * label=\"Subscribed to newsletter\"\n * icon={<MailIcon />}\n * >\n * <FilterListItem\n * label=\"Yes\"\n * value={{ has_newsletter: true }}\n * />\n * <FilterListItem\n * label=\"No\"\n * value={{ has_newsletter: false }}\n * />\n * </FilterList>\n * </CardContent>\n * </Card>\n * );\n *\n * @example // The value prop can contain multiple keys\n *\n * import * as React from 'react';\n * import {\n * endOfYesterday,\n * startOfWeek,\n * subWeeks,\n * startOfMonth,\n * subMonths,\n * } from 'date-fns';\n * import { Card, CardContent } from '@mui/material';\n * import AccessTimeIcon from '@mui/icons-material/AccessTime';\n * import { FilterList, FilterListItem } from 'react-admin';\n *\n * const FilterSidebar = () => (\n * <Card>\n * <CardContent>\n * <FilterList\n * label=\"Last visited\"\n * icon={<AccessTimeIcon />}\n * >\n * <FilterListItem\n * label=\"Today\"\n * value={{\n * last_seen_gte: endOfYesterday().toISOString(),\n * last_seen_lte: undefined,\n * }}\n * />\n * <FilterListItem\n * label=\"This week\"\n * value={{\n * last_seen_gte: startOfWeek(\n * new Date()\n * ).toISOString(),\n * last_seen_lte: undefined,\n * }}\n * />\n * <FilterListItem\n * label=\"Last week\"\n * value={{\n * last_seen_gte: subWeeks(\n * startOfWeek(new Date()),\n * 1\n * ).toISOString(),\n * last_seen_lte: startOfWeek(\n * new Date()\n * ).toISOString(),\n * }}\n * />\n * <FilterListItem\n * label=\"This month\"\n * value={{\n * last_seen_gte: startOfMonth(\n * new Date()\n * ).toISOString(),\n * last_seen_lte: undefined,\n * }}\n * />\n * <FilterListItem\n * label=\"Last month\"\n * value={{\n * last_seen_gte: subMonths(\n * startOfMonth(new Date()),\n * 1\n * ).toISOString(),\n * last_seen_lte: startOfMonth(\n * new Date()\n * ).toISOString(),\n * }}\n * />\n * <FilterListItem\n * label=\"Earlier\"\n * value={{\n * last_seen_gte: undefined,\n * last_seen_lte: subMonths(\n * startOfMonth(new Date()),\n * 1\n * ).toISOString(),\n * }}\n * />\n * </FilterList>\n * </CardContent>\n * </Card>\n * );\n */\nexport const FilterListItem = memo((props: FilterListItemProps) => {\n const {\n label,\n value,\n icon,\n isSelected: getIsSelected = DefaultIsSelected,\n toggleFilter: userToggleFilter = DefaultToggleFilter,\n ...rest\n } = props;\n const { filterValues, setFilters } = useListFilterContext();\n const translate = useTranslate();\n const toggleFilter = useEvent(userToggleFilter);\n\n // We can't wrap this function with useEvent as it is called in the render phase\n const isSelected = getIsSelected(value, filterValues);\n\n const handleClick = () => setFilters(toggleFilter(value, filterValues));\n\n return (\n <StyledListItem\n onClick={handleClick}\n selected={isSelected}\n disablePadding\n {...rest}\n >\n <ListItemButton\n disableGutters\n className={FilterListItemClasses.listItemButton}\n >\n {icon && (\n <ListItemIcon\n className={FilterListItemClasses.listItemIcon}\n >\n {icon}\n </ListItemIcon>\n )}\n <ListItemText\n primary={\n typeof label === 'string' && !isElement(label)\n ? translate(label, { _: label })\n : label\n }\n className={FilterListItemClasses.listItemText}\n data-selected={isSelected ? 'true' : 'false'}\n />\n {isSelected && (\n <ListItemSecondaryAction\n onClick={event => {\n event.stopPropagation();\n handleClick();\n }}\n >\n <IconButton size=\"small\">\n <CancelIcon />\n </IconButton>\n </ListItemSecondaryAction>\n )}\n </ListItemButton>\n </StyledListItem>\n );\n}, arePropsEqual);\n\nconst DefaultIsSelected = (value, filters) =>\n matches(pickBy(value, val => typeof val !== 'undefined'))(filters);\n\nconst DefaultToggleFilter = (value, filters) => {\n const isSelected = matches(\n pickBy(value, val => typeof val !== 'undefined')\n )(filters);\n\n if (isSelected) {\n const keysToRemove = Object.keys(value);\n return Object.keys(filters).reduce(\n (acc, key) =>\n keysToRemove.includes(key)\n ? acc\n : { ...acc, [key]: filters[key] },\n {}\n );\n }\n\n return { ...filters, ...value };\n};\n\nconst PREFIX = 'RaFilterListItem';\n\nexport const FilterListItemClasses = {\n listItemButton: `${PREFIX}-listItemButton`,\n listItemText: `${PREFIX}-listItemText`,\n listItemIcon: `${PREFIX}-listItemIcon`,\n};\n\nconst StyledListItem = styled(ListItem, {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})({\n [`& .${FilterListItemClasses.listItemButton}`]: {\n paddingRight: '2em',\n paddingLeft: '2em',\n },\n [`& .${FilterListItemClasses.listItemText}`]: {\n margin: 0,\n },\n [`& .${FilterListItemClasses.listItemIcon}`]: {\n minWidth: 0,\n marginRight: '0.5em',\n },\n});\n\nexport interface FilterListItemProps extends Omit<ListItemProps, 'value'> {\n label: string | ReactElement;\n value: any;\n icon?: ReactElement;\n toggleFilter?: (value: any, filters: any) => any;\n isSelected?: (value: any, filters: any) => boolean;\n}\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14\"\n}), 'Search');","import * as React from 'react';\nimport { ChangeEvent, memo, useMemo } from 'react';\nimport { InputAdornment } from '@mui/material';\nimport { SxProps } from '@mui/system';\nimport SearchIcon from '@mui/icons-material/Search';\nimport {\n useTranslate,\n useListFilterContext,\n SourceContextProvider,\n useResourceContext,\n SourceContextValue,\n} from 'ra-core';\nimport { FormProvider, useForm } from 'react-hook-form';\n\nimport { TextInput, TextInputProps } from '../../input';\n\n/**\n * Form and search input for doing a full-text search filter.\n *\n * Triggers a search on change (with debounce).\n *\n * @example\n *\n * const FilterPanel = () => (\n * <Card>\n * <CardContent>\n * <FilterLiveSearch source=\"title\" />\n * </CardContent>\n * </Card>\n * );\n */\nexport const FilterLiveSearch = memo((props: FilterLiveSearchProps) => {\n const { filterValues, setFilters } = useListFilterContext();\n const translate = useTranslate();\n const resource = useResourceContext(props);\n\n const {\n source = 'q',\n label = translate('ra.action.search'),\n placeholder,\n ...rest\n } = props;\n\n const handleChange = (event: ChangeEvent<HTMLInputElement>) => {\n if (event.target) {\n setFilters(\n { ...filterValues, [source]: event.target.value },\n null,\n true\n );\n } else {\n const { [source]: _, ...filters } = filterValues;\n setFilters(filters);\n }\n };\n\n const initialValues = useMemo(\n () => ({\n [source]: filterValues[source],\n }),\n [filterValues, source]\n );\n\n const form = useForm({ defaultValues: initialValues });\n\n const onSubmit = e => {\n e.preventDefault();\n };\n\n const sourceContext = React.useMemo<SourceContextValue>(\n () => ({\n getSource: (source: string) => source,\n getLabel: (source: string) =>\n `resources.${resource}.fields.${source}`,\n }),\n [resource]\n );\n\n return (\n <FormProvider {...form}>\n <SourceContextProvider value={sourceContext}>\n <form onSubmit={onSubmit}>\n <TextInput\n resettable\n helperText={false}\n source={source}\n InputProps={{\n endAdornment: (\n <InputAdornment position=\"end\">\n <SearchIcon color=\"disabled\" />\n </InputAdornment>\n ),\n }}\n onChange={handleChange}\n size=\"small\"\n label={rest.hiddenLabel ? false : label}\n placeholder={\n placeholder ??\n (rest.hiddenLabel ? label : undefined)\n }\n {...rest}\n />\n </form>\n </SourceContextProvider>\n </FormProvider>\n );\n});\n\nexport interface FilterLiveSearchProps extends Omit<TextInputProps, 'source'> {\n source?: string;\n sx?: SxProps;\n label?: string;\n fullWidth?: boolean;\n variant?: 'filled' | 'outlined';\n}\n","import * as React from 'react';\nimport { memo, FC } from 'react';\nimport { styled } from '@mui/material/styles';\nimport { Pagination, PaginationProps } from '@mui/material';\nimport { useTranslate } from 'ra-core';\n\nexport const PaginationActions: FC<PaginationActionsProps> = memo(props => {\n const {\n page,\n rowsPerPage,\n count,\n onPageChange,\n size = 'small',\n className,\n ...rest\n } = props;\n const translate = useTranslate();\n\n const nbPages = Math.ceil(count / rowsPerPage) || 1;\n\n if (nbPages === 1) {\n return <Root className={className} />;\n }\n\n const getItemAriaLabel = (\n type: 'page' | 'first' | 'last' | 'next' | 'previous',\n page: number,\n selected: boolean\n ) => {\n if (type === 'page') {\n return selected\n ? translate('ra.navigation.current_page', {\n page,\n _: `page ${page}`,\n })\n : translate('ra.navigation.page', {\n page,\n _: `Go to page ${page}`,\n });\n }\n return translate(`ra.navigation.${type}`, { _: `Go to ${type} page` });\n };\n\n return (\n <Root className={className}>\n <Pagination\n size={size}\n count={nbPages}\n // <TablePagination>, the parent, uses 0-based pagination\n // while <Pagination> uses 1-based pagination\n page={page + 1}\n onChange={(e: any, page) => onPageChange(e, page - 1)}\n {...sanitizeRestProps(rest)}\n getItemAriaLabel={getItemAriaLabel}\n />\n </Root>\n );\n});\n\nexport interface PaginationActionsProps extends PaginationProps {\n page: number;\n rowsPerPage: number;\n count: number;\n onPageChange: (event: MouseEvent, page: number) => void;\n}\n\nconst PREFIX = 'RaPaginationActions';\n\nconst Root = styled('div', {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(() => ({\n flexShrink: 0,\n ml: 4,\n}));\n\nconst sanitizeRestProps = ({\n nextIconButtonProps,\n backIconButtonProps,\n slotProps,\n ...rest\n}: any) => rest;\n","import * as React from 'react';\nimport { useCallback, useMemo, FC, memo, ReactElement } from 'react';\nimport {\n TablePagination,\n TablePaginationBaseProps,\n Toolbar,\n useMediaQuery,\n Theme,\n} from '@mui/material';\nimport {\n useTranslate,\n useListPaginationContext,\n sanitizeListRestProps,\n} from 'ra-core';\n\nimport { PaginationActions, PaginationActionsProps } from './PaginationActions';\n\nexport const Pagination: FC<PaginationProps> = memo(props => {\n const {\n rowsPerPageOptions = DefaultRowsPerPageOptions,\n actions,\n limit = null,\n ...rest\n } = props;\n const {\n isPending,\n hasNextPage,\n page,\n perPage,\n total,\n setPage,\n setPerPage,\n } = useListPaginationContext();\n const translate = useTranslate();\n const isSmall = useMediaQuery((theme: Theme) =>\n theme.breakpoints.down('md')\n );\n\n const totalPages = useMemo(() => {\n return total != null ? Math.ceil(total / perPage) : undefined;\n }, [perPage, total]);\n\n /**\n * Warning: Material UI's page is 0-based\n */\n const handlePageChange = useCallback(\n (event, page) => {\n event && event.stopPropagation();\n if (page < 0 || (totalPages && page > totalPages - 1)) {\n throw new Error(\n translate('ra.navigation.page_out_of_boundaries', {\n page: page + 1,\n })\n );\n }\n setPage(page + 1);\n },\n [totalPages, setPage, translate]\n );\n\n const handlePerPageChange = useCallback(\n event => {\n setPerPage(event.target.value);\n },\n [setPerPage]\n );\n\n const labelDisplayedRows = useCallback(\n ({ from, to, count }) =>\n count === -1 && hasNextPage\n ? translate('ra.navigation.partial_page_range_info', {\n offsetBegin: from,\n offsetEnd: to,\n _: `%{from}-%{to} of more than %{to}`,\n })\n : translate('ra.navigation.page_range_info', {\n offsetBegin: from,\n offsetEnd: to,\n total: count === -1 ? to : count,\n _: `%{from}-%{to} of %{count === -1 ? to : count}`,\n }),\n [translate, hasNextPage]\n );\n\n const labelItem = useCallback(\n type => translate(`ra.navigation.${type}`, { _: `Go to ${type} page` }),\n [translate]\n );\n\n if (isPending) {\n return <Toolbar variant=\"dense\" />;\n }\n\n // Avoid rendering TablePagination if \"page\" value is invalid\n if (total === 0 || page < 1 || (total != null && page > totalPages!)) {\n if (limit != null && process.env.NODE_ENV === 'development') {\n console.warn(\n 'The Pagination limit prop is deprecated. Empty state should be handled by the component displaying data (Datagrid, SimpleList).'\n );\n }\n return null;\n }\n\n if (isSmall) {\n return (\n <TablePagination\n count={total == null ? -1 : total}\n rowsPerPage={perPage}\n page={page - 1}\n onPageChange={handlePageChange}\n rowsPerPageOptions={emptyArray}\n component=\"span\"\n labelDisplayedRows={labelDisplayedRows}\n {...sanitizeListRestProps(rest)}\n />\n );\n }\n\n const ActionsComponent = actions\n ? actions // overridden by caller\n : !isPending && total != null\n ? PaginationActions // regular navigation\n : undefined; // partial navigation (uses default TablePaginationActions)\n\n return (\n <TablePagination\n count={total == null ? -1 : total}\n rowsPerPage={perPage}\n page={page - 1}\n onPageChange={handlePageChange}\n onRowsPerPageChange={handlePerPageChange}\n // @ts-ignore\n ActionsComponent={ActionsComponent}\n nextIconButtonProps={{\n disabled: !hasNextPage,\n }}\n component=\"span\"\n labelRowsPerPage={translate('ra.navigation.page_rows_per_page')}\n labelDisplayedRows={labelDisplayedRows}\n getItemAriaLabel={labelItem}\n rowsPerPageOptions={rowsPerPageOptions}\n {...sanitizeListRestProps(rest)}\n />\n );\n});\n\nconst DefaultRowsPerPageOptions = [5, 10, 25, 50];\nconst emptyArray = [];\n\nexport interface PaginationProps extends TablePaginationBaseProps {\n rowsPerPageOptions?: Array<number | { label: string; value: number }>;\n actions?: FC<PaginationActionsProps>;\n limit?: ReactElement;\n}\n","import * as React from 'react';\nimport clsx from 'clsx';\nimport TextField, { TextFieldProps } from '@mui/material/TextField';\nimport { useInput, FieldTitle } from 'ra-core';\n\nimport { CommonInputProps } from './CommonInputProps';\nimport { sanitizeInputRestProps } from './sanitizeInputRestProps';\nimport { InputHelperText } from './InputHelperText';\n\n/**\n * Form input to edit a Date string value in the \"YYYY-MM-DD\" format (e.g. '2021-06-23').\n *\n * Renders a date picker (the exact UI depends on the browser).\n *\n * @example\n * import { Edit, SimpleForm, DateInput } from 'react-admin';\n *\n * const PostEdit = () => (\n * <Edit>\n * <SimpleForm>\n * <DateInput source=\"published_at\" />\n * </SimpleForm>\n * </Edit>\n * );\n *\n * @example\n * // If the initial value is a Date object, DateInput converts it to a string\n * // but you must pass a custom parse method to convert the form value\n * // (which is always a date string) back to a Date object.\n * <DateInput source=\"published_at\" parse={val => new Date(val)} />\n */\nexport const DateInput = ({\n className,\n defaultValue,\n format = getStringFromDate,\n label,\n name,\n source,\n resource,\n helperText,\n margin,\n onBlur,\n onChange,\n parse,\n validate,\n variant,\n disabled,\n readOnly,\n ...rest\n}: DateInputProps) => {\n const { field, fieldState, id, isRequired } = useInput({\n defaultValue,\n name,\n format,\n parse,\n onBlur,\n onChange,\n resource,\n source,\n validate,\n disabled,\n readOnly,\n ...rest,\n });\n\n const { error, invalid } = fieldState;\n const renderHelperText = helperText !== false || invalid;\n\n return (\n <TextField\n id={id}\n {...field}\n className={clsx('ra-input', `ra-input-${source}`, className)}\n type=\"date\"\n size=\"small\"\n variant={variant}\n margin={margin}\n error={invalid}\n disabled={disabled || readOnly}\n readOnly={readOnly}\n helperText={\n renderHelperText ? (\n <InputHelperText\n error={error?.message}\n helperText={helperText}\n />\n ) : null\n }\n label={\n <FieldTitle\n label={label}\n source={source}\n resource={resource}\n isRequired={isRequired}\n />\n }\n InputLabelProps={defaultInputLabelProps}\n {...sanitizeInputRestProps(rest)}\n />\n );\n};\n\nexport type DateInputProps = CommonInputProps &\n Omit<TextFieldProps, 'helperText' | 'label'>;\n\n/**\n * Convert Date object to String\n *\n * @param {Date} value value to convert\n * @returns {String} A standardized date (yyyy-MM-dd), to be passed to an <input type=\"date\" />\n */\nconst convertDateToString = (value: Date) => {\n if (!(value instanceof Date) || isNaN(value.getDate())) return '';\n const pad = '00';\n const yyyy = value.getFullYear().toString();\n const MM = (value.getMonth() + 1).toString();\n const dd = value.getDate().toString();\n return `${yyyy}-${(pad + MM).slice(-2)}-${(pad + dd).slice(-2)}`;\n};\n\nconst dateRegex = /^\\d{4}-\\d{2}-\\d{2}$/;\nconst defaultInputLabelProps = { shrink: true };\n\nconst getStringFromDate = (value: string | Date) => {\n // null, undefined and empty string values should not go through dateFormatter\n // otherwise, it returns undefined and will make the input an uncontrolled one.\n if (value == null || value === '') {\n return '';\n }\n\n if (value instanceof Date) {\n return convertDateToString(value);\n }\n\n // valid dates should not be converted\n if (dateRegex.test(value)) {\n return value;\n }\n\n return convertDateToString(new Date(value));\n};\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"\n}), 'Clear');","import * as React from 'react';\nimport { forwardRef, useCallback } from 'react';\nimport { styled } from '@mui/material/styles';\nimport clsx from 'clsx';\nimport {\n InputAdornment,\n IconButton,\n TextField as MuiTextField,\n TextFieldProps,\n} from '@mui/material';\nimport ClearIcon from '@mui/icons-material/Clear';\nimport { useTranslate } from 'ra-core';\n\n/**\n * An override of the default Material UI TextField which is resettable\n */\nexport const ResettableTextField = forwardRef(\n (props: ResettableTextFieldProps, ref) => {\n const {\n clearAlwaysVisible,\n InputProps,\n value,\n resettable,\n disabled,\n readOnly,\n variant,\n margin,\n className,\n ...rest\n } = props;\n\n const translate = useTranslate();\n\n const { onChange } = props;\n const handleClickClearButton = useCallback(\n event => {\n event.preventDefault();\n onChange && onChange('');\n },\n [onChange]\n );\n\n const {\n clearButton,\n clearIcon,\n inputAdornedEnd,\n selectAdornment,\n visibleClearIcon,\n } = ResettableTextFieldClasses;\n\n const { endAdornment, ...InputPropsWithoutEndAdornment } =\n InputProps || {};\n\n if (clearAlwaysVisible && endAdornment) {\n throw new Error(\n 'ResettableTextField cannot display both an endAdornment and a clear button always visible'\n );\n }\n\n const getEndAdornment = () => {\n if (!resettable) {\n return endAdornment;\n } else if (!value) {\n if (clearAlwaysVisible) {\n // show clear button, inactive\n return (\n <InputAdornment\n position=\"end\"\n className={\n props.select ? selectAdornment : undefined\n }\n >\n <IconButton\n className={clearButton}\n aria-label={translate(\n 'ra.action.clear_input_value'\n )}\n title={translate('ra.action.clear_input_value')}\n disabled={true}\n size=\"large\"\n >\n <ClearIcon\n className={clsx(\n clearIcon,\n visibleClearIcon\n )}\n />\n </IconButton>\n </InputAdornment>\n );\n } else {\n if (endAdornment) {\n return endAdornment;\n } else {\n // show spacer\n return (\n <InputAdornment\n position=\"end\"\n className={\n props.select ? selectAdornment : undefined\n }\n >\n <span className={clearButton}> </span>\n </InputAdornment>\n );\n }\n }\n } else {\n // show clear\n return (\n <InputAdornment\n position=\"end\"\n className={props.select ? selectAdornment : undefined}\n >\n <IconButton\n className={clearButton}\n aria-label={translate(\n 'ra.action.clear_input_value'\n )}\n title={translate('ra.action.clear_input_value')}\n onClick={handleClickClearButton}\n onMouseDown={handleMouseDownClearButton}\n disabled={disabled || readOnly}\n size=\"large\"\n >\n <ClearIcon\n className={clsx(clearIcon, {\n [visibleClearIcon]:\n clearAlwaysVisible || value,\n })}\n />\n </IconButton>\n </InputAdornment>\n );\n }\n };\n\n return (\n <StyledTextField\n value={value}\n InputProps={{\n readOnly: readOnly,\n classes:\n props.select && variant === 'filled'\n ? { adornedEnd: inputAdornedEnd }\n : {},\n endAdornment: getEndAdornment(),\n ...InputPropsWithoutEndAdornment,\n }}\n disabled={disabled || readOnly}\n variant={variant}\n margin={margin}\n className={className}\n {...rest}\n inputRef={ref}\n />\n );\n }\n);\n\nResettableTextField.displayName = 'ResettableTextField';\n\nconst handleMouseDownClearButton = event => {\n event.preventDefault();\n};\n\ninterface Props {\n clearAlwaysVisible?: boolean;\n resettable?: boolean;\n readOnly?: boolean;\n}\n\nexport type ResettableTextFieldProps = Props &\n Omit<\n TextFieldProps,\n 'onChange' | 'onPointerEnterCapture' | 'onPointerLeaveCapture'\n > & {\n onChange?: (eventOrValue: any) => void;\n };\n\nconst PREFIX = 'RaResettableTextField';\n\nexport const ResettableTextFieldClasses = {\n clearIcon: `${PREFIX}-clearIcon`,\n visibleClearIcon: `${PREFIX}-visibleClearIcon`,\n clearButton: `${PREFIX}-clearButton`,\n selectAdornment: `${PREFIX}-selectAdornment`,\n inputAdornedEnd: `${PREFIX}-inputAdornedEnd`,\n};\n\nexport const ResettableTextFieldStyles = {\n [`& .${ResettableTextFieldClasses.clearIcon}`]: {\n height: 16,\n width: 0,\n },\n [`& .${ResettableTextFieldClasses.visibleClearIcon}`]: {\n width: 16,\n },\n [`& .${ResettableTextFieldClasses.clearButton}`]: {\n height: 24,\n width: 24,\n padding: 0,\n },\n [`& .${ResettableTextFieldClasses.selectAdornment}`]: {\n position: 'absolute',\n right: 24,\n },\n [`& .${ResettableTextFieldClasses.inputAdornedEnd}`]: {\n paddingRight: 0,\n },\n};\n\nconst StyledTextField = styled(MuiTextField, {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(ResettableTextFieldStyles);\n","import * as React from 'react';\nimport { CircularProgress, InputAdornment } from '@mui/material';\nimport { styled, SxProps } from '@mui/material/styles';\nimport { useTimeout } from 'ra-core';\n\nimport { ResettableTextField } from './ResettableTextField';\n\n/**\n * An input placeholder with a loading indicator\n *\n * Avoids visual jumps when replaced by a form input\n */\nexport const LoadingInput = ({\n fullWidth,\n label,\n helperText,\n margin,\n size,\n sx,\n timeout = 1000,\n variant,\n}: LoadingInputProps) => {\n const oneSecondHasPassed = useTimeout(timeout);\n\n return (\n <StyledResettableTextField\n sx={sx}\n label={label}\n helperText={helperText}\n fullWidth={fullWidth}\n variant={variant}\n margin={margin}\n size={size}\n disabled\n onChange={() => {}}\n InputProps={{\n endAdornment: (\n <InputAdornment position=\"end\">\n {oneSecondHasPassed ? (\n <CircularProgress color=\"inherit\" size={20} />\n ) : (\n // use an adornment of the same size to avoid visual jumps\n <span style={{ width: 20 }}> </span>\n )}\n </InputAdornment>\n ),\n }}\n />\n );\n};\n\nconst PREFIX = 'RaLoadingInput';\n\n// make it look just like a regular input, even though it's disabled\n// because the loading indicator is enough\nconst StyledResettableTextField = styled(ResettableTextField, {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme }) => ({\n '& .MuiInputLabel-root.Mui-disabled': {\n color: theme.palette.text.secondary,\n },\n '& .MuiFilledInput-root.Mui-disabled': {\n background:\n theme.palette.mode === 'light'\n ? 'rgba(0, 0, 0, 0.04)'\n : 'rgba(255, 255, 255, 0.09)',\n },\n '& .MuiFilledInput-root.Mui-disabled:before': {\n borderBottomStyle: 'solid',\n },\n}));\n\nexport interface LoadingInputProps {\n fullWidth?: boolean;\n helperText?: React.ReactNode;\n margin?: 'normal' | 'none' | 'dense';\n label?: string | React.ReactElement | false;\n sx?: SxProps;\n size?: 'medium' | 'small';\n timeout?: number;\n variant?: 'standard' | 'filled' | 'outlined';\n}\n","import * as React from 'react';\nimport clsx from 'clsx';\nimport { useInput, FieldTitle } from 'ra-core';\n\nimport { CommonInputProps } from './CommonInputProps';\nimport {\n ResettableTextField,\n ResettableTextFieldProps,\n} from './ResettableTextField';\nimport { InputHelperText } from './InputHelperText';\nimport { sanitizeInputRestProps } from './sanitizeInputRestProps';\n\n/**\n * An Input component for a string\n *\n * @example\n * <TextInput source=\"first_name\" />\n *\n * You can customize the `type` props (which defaults to \"text\").\n * Note that, due to a React bug, you should use `<NumberField>` instead of using type=\"number\".\n * @example\n * <TextInput source=\"email\" type=\"email\" />\n * <NumberInput source=\"nb_views\" />\n *\n */\nexport const TextInput = (props: TextInputProps) => {\n const {\n className,\n defaultValue,\n label,\n format,\n helperText,\n onBlur,\n onChange,\n parse,\n resource,\n source,\n validate,\n ...rest\n } = props;\n const {\n field,\n fieldState: { error, invalid },\n id,\n isRequired,\n } = useInput({\n defaultValue,\n format,\n parse,\n resource,\n source,\n type: 'text',\n validate,\n onBlur,\n onChange,\n ...rest,\n });\n\n const renderHelperText = helperText !== false || invalid;\n\n return (\n <ResettableTextField\n id={id}\n {...field}\n className={clsx('ra-input', `ra-input-${source}`, className)}\n label={\n label !== '' && label !== false ? (\n <FieldTitle\n label={label}\n source={source}\n resource={resource}\n isRequired={isRequired}\n />\n ) : null\n }\n error={invalid}\n helperText={\n renderHelperText ? (\n <InputHelperText\n error={error?.message}\n helperText={helperText}\n />\n ) : null\n }\n {...sanitizeInputRestProps(rest)}\n />\n );\n};\n\nexport type TextInputProps = CommonInputProps &\n Omit<ResettableTextFieldProps, 'label' | 'helperText'>;\n","import React from 'react';\nimport { ReferenceInputBase, ReferenceInputBaseProps } from 'ra-core';\n\nimport { AutocompleteInput } from './AutocompleteInput';\n\n/**\n * An Input component for choosing a reference record. Useful for foreign keys.\n *\n * This component fetches the possible values in the reference resource\n * (using `dataProvider.getList()`), then renders an `<AutocompleteInput>`,\n * to which it passes the possible choices via a `ChoicesContext`.\n *\n * You can pass a child select component to customize the way the reference\n * selector is displayed (e.g. using `<SelectInput>` or `<RadioButtonGroupInput>`\n * instead of `<AutocompleteInput>`).\n *\n * @example // default selector: AutocompleteInput\n * export const CommentEdit = () => (\n * <Edit>\n * <SimpleForm>\n * <ReferenceInput label=\"Post\" source=\"post_id\" reference=\"posts\" />\n * </SimpleForm>\n * </Edit>\n * );\n *\n * @example // using a SelectInput as selector\n * export const CommentEdit = () => (\n * <Edit>\n * <SimpleForm>\n * <ReferenceInput label=\"Post\" source=\"post_id\" reference=\"posts\">\n * <SelectInput optionText=\"title\" />\n * </ReferenceInput>\n * </SimpleForm>\n * </Edit>\n * );\n *\n * By default, restricts the possible values to 25. You can extend this limit\n * by setting the `perPage` prop.\n *\n * @example\n * <ReferenceInput source=\"post_id\" reference=\"posts\" perPage={100}/>\n *\n * By default, orders the possible values by id desc. You can change this order\n * by setting the `sort` prop (an object with `field` and `order` properties).\n *\n * @example\n * <ReferenceInput\n * source=\"post_id\"\n * reference=\"posts\"\n * sort={{ field: 'title', order: 'ASC' }}\n * />\n *\n * Also, you can filter the query used to populate the possible values. Use the\n * `filter` prop for that.\n *\n * @example\n * <ReferenceInput\n * source=\"post_id\"\n * reference=\"posts\"\n * filter={{ is_published: true }}\n * />\n *\n * The enclosed component may filter results. ReferenceInput create a ChoicesContext which provides\n * a `setFilters` function. You can call this function to filter the results.\n */\nexport const ReferenceInput = (props: ReferenceInputProps) => {\n const { children = defaultChildren, ...rest } = props;\n\n if (props.validate && process.env.NODE_ENV !== 'production') {\n throw new Error(\n '<ReferenceInput> does not accept a validate prop. Set the validate prop on the child instead.'\n );\n }\n\n return <ReferenceInputBase {...rest}>{children}</ReferenceInputBase>;\n};\n\nconst defaultChildren = <AutocompleteInput />;\n\nexport interface ReferenceInputProps extends ReferenceInputBaseProps {\n /**\n * Call validate on the child component instead\n */\n validate?: never;\n [key: string]: any;\n}\n","import * as React from 'react';\nimport { ReactElement, useCallback, useEffect, ChangeEvent } from 'react';\nimport clsx from 'clsx';\nimport { MenuItem, TextFieldProps } from '@mui/material';\nimport { styled } from '@mui/material/styles';\nimport {\n useChoicesContext,\n useInput,\n FieldTitle,\n useTranslate,\n ChoicesProps,\n useChoices,\n RaRecord,\n useGetRecordRepresentation,\n} from 'ra-core';\n\nimport { CommonInputProps } from './CommonInputProps';\nimport {\n ResettableTextField,\n ResettableTextFieldStyles,\n} from './ResettableTextField';\nimport { InputHelperText } from './InputHelperText';\nimport { sanitizeInputRestProps } from './sanitizeInputRestProps';\nimport {\n useSupportCreateSuggestion,\n SupportCreateSuggestionOptions,\n} from './useSupportCreateSuggestion';\nimport { LoadingInput } from './LoadingInput';\n\n/**\n * An Input component for a select box, using an array of objects for the options\n *\n * Pass possible options as an array of objects in the 'choices' attribute.\n *\n * By default, the options are built from:\n * - the 'id' property as the option value,\n * - the 'name' property as the option text\n * @example\n * const choices = [\n * { id: 'M', name: 'Male' },\n * { id: 'F', name: 'Female' },\n * ];\n * <SelectInput source=\"gender\" choices={choices} />\n *\n * You can also customize the properties to use for the option name and value,\n * thanks to the 'optionText' and 'optionValue' attributes.\n * @example\n * const choices = [\n * { _id: 123, full_name: 'Leo Tolstoi', sex: 'M' },\n * { _id: 456, full_name: 'Jane Austen', sex: 'F' },\n * ];\n * <SelectInput source=\"author_id\" choices={choices} optionText=\"full_name\" optionValue=\"_id\" />\n *\n * `optionText` also accepts a function, so you can shape the option text at will:\n * @example\n * const choices = [\n * { id: 123, first_name: 'Leo', last_name: 'Tolstoi' },\n * { id: 456, first_name: 'Jane', last_name: 'Austen' },\n * ];\n * const optionRenderer = choice => `${choice.first_name} ${choice.last_name}`;\n * <SelectInput source=\"author_id\" choices={choices} optionText={optionRenderer} />\n *\n * `optionText` also accepts a React Element, that can access\n * the related choice through the `useRecordContext` hook. You can use Field components there.\n * @example\n * const choices = [\n * { id: 123, first_name: 'Leo', last_name: 'Tolstoi' },\n * { id: 456, first_name: 'Jane', last_name: 'Austen' },\n * ];\n * const FullNameField = () => {\n * const record = useRecordContext();\n * return <span>{record.first_name} {record.last_name}</span>;\n * }\n * <SelectInput source=\"author\" choices={choices} optionText={<FullNameField />}/>\n *\n * The choices are translated by default, so you can use translation identifiers as choices:\n * @example\n * const choices = [\n * { id: 'M', name: 'myroot.gender.male' },\n * { id: 'F', name: 'myroot.gender.female' },\n * ];\n *\n * However, in some cases (e.g. inside a `<ReferenceInput>`), you may not want\n * the choice to be translated. In that case, set the `translateChoice` prop to false.\n * @example\n * <SelectInput source=\"gender\" choices={choices} translateChoice={false}/>\n *\n * You can disable some choices by providing a `disableValue` field which name is `disabled` by default\n * @example\n * const choices = [\n * { id: 123, first_name: 'Leo', last_name: 'Tolstoi' },\n * { id: 456, first_name: 'Jane', last_name: 'Austen' },\n * { id: 976, first_name: 'William', last_name: 'Rinkerd', disabled: true },\n * ];\n *\n * @example\n * const choices = [\n * { id: 123, first_name: 'Leo', last_name: 'Tolstoi' },\n * { id: 456, first_name: 'Jane', last_name: 'Austen' },\n * { id: 976, first_name: 'William', last_name: 'Rinkerd', not_available: true },\n * ];\n * <SelectInput source=\"gender\" choices={choices} disableValue=\"not_available\" />\n *\n */\nexport const SelectInput = (props: SelectInputProps) => {\n const {\n choices: choicesProp,\n className,\n create,\n createLabel,\n createValue,\n defaultValue,\n disableValue = 'disabled',\n emptyText = '',\n emptyValue = '',\n format,\n filter,\n helperText,\n isFetching: isFetchingProp,\n isLoading: isLoadingProp,\n isPending: isPendingProp,\n label,\n margin = 'dense',\n onBlur,\n onChange,\n onCreate,\n optionText,\n optionValue,\n parse,\n resource: resourceProp,\n source: sourceProp,\n translateChoice,\n validate,\n ...rest\n } = props;\n const translate = useTranslate();\n\n useEffect(() => {\n // eslint-disable-next-line eqeqeq\n if (emptyValue == null) {\n throw new Error(\n `emptyValue being set to null or undefined is not supported. Use parse to turn the empty string into null.`\n );\n }\n }, [emptyValue]);\n\n const {\n allChoices,\n isPending,\n error: fetchError,\n source,\n resource,\n isFromReference,\n } = useChoicesContext({\n choices: choicesProp,\n isLoading: isLoadingProp,\n isFetching: isFetchingProp,\n isPending: isPendingProp,\n resource: resourceProp,\n source: sourceProp,\n });\n\n if (source === undefined) {\n throw new Error(\n `If you're not wrapping the SelectInput inside a ReferenceInput, you must provide the source prop`\n );\n }\n\n if (!isPending && !fetchError && allChoices === undefined) {\n throw new Error(\n `If you're not wrapping the SelectInput inside a ReferenceInput, you must provide the choices prop`\n );\n }\n\n const getRecordRepresentation = useGetRecordRepresentation(resource);\n const { getChoiceText, getChoiceValue, getDisableValue } = useChoices({\n optionText:\n optionText ??\n (isFromReference ? getRecordRepresentation : undefined),\n optionValue,\n disableValue,\n translateChoice: translateChoice ?? !isFromReference,\n });\n const { field, fieldState, id, isRequired } = useInput({\n defaultValue,\n parse,\n format,\n onBlur,\n onChange,\n resource,\n source,\n validate,\n ...rest,\n });\n\n const { error, invalid } = fieldState;\n\n const renderEmptyItemOption = useCallback(() => {\n return typeof emptyText === 'string'\n ? emptyText === ''\n ? ' ' // em space, forces the display of an empty line of normal height\n : translate(emptyText, { _: emptyText })\n : emptyText;\n }, [emptyText, translate]);\n\n const renderMenuItemOption = useCallback(\n choice => getChoiceText(choice),\n [getChoiceText]\n );\n\n const handleChange = useCallback(\n async (\n eventOrChoice: ChangeEvent<HTMLInputElement> | RaRecord | ''\n ) => {\n if (typeof eventOrChoice === 'string') {\n if (eventOrChoice === '') {\n // called by the reset button\n field.onChange(emptyValue);\n }\n } else if (eventOrChoice?.target) {\n // We might receive an event from the mui component\n // In this case, it will be the choice id\n field.onChange(eventOrChoice);\n } else {\n // Or we might receive a choice directly, for instance a newly created one\n field.onChange(getChoiceValue(eventOrChoice));\n }\n },\n [field, getChoiceValue, emptyValue]\n );\n\n const {\n getCreateItem,\n handleChange: handleChangeWithCreateSupport,\n createElement,\n } = useSupportCreateSuggestion({\n create,\n createLabel,\n createValue,\n handleChange,\n onCreate,\n optionText,\n });\n\n const createItem = create || onCreate ? getCreateItem() : null;\n\n const renderMenuItem = useCallback(\n choice => {\n return choice ? (\n <MenuItem\n key={getChoiceValue(choice)}\n value={getChoiceValue(choice)}\n disabled={getDisableValue(choice)}\n >\n {renderMenuItemOption(\n !!createItem && choice?.id === createItem.id\n ? createItem\n : choice\n )}\n </MenuItem>\n ) : null;\n },\n [getChoiceValue, getDisableValue, renderMenuItemOption, createItem]\n );\n\n if (isPending) {\n return (\n <LoadingInput\n label={\n label !== '' &&\n label !== false && (\n <FieldTitle\n label={label}\n source={source}\n resource={resourceProp}\n isRequired={isRequired}\n />\n )\n }\n sx={props.sx}\n helperText={\n <InputHelperText\n error={error?.message}\n helperText={helperText}\n />\n }\n variant={props.variant}\n size={props.size}\n margin={props.margin}\n fullWidth={props.fullWidth}\n />\n );\n }\n\n let finalChoices = fetchError ? [] : allChoices;\n if (create || onCreate) {\n finalChoices = [...finalChoices, createItem];\n }\n const renderHelperText = !!fetchError || helperText !== false || invalid;\n\n return (\n <>\n <StyledResettableTextField\n id={id}\n {...field}\n className={clsx('ra-input', `ra-input-${source}`, className)}\n onChange={handleChangeWithCreateSupport}\n select\n label={\n label !== '' &&\n label !== false && (\n <FieldTitle\n label={label}\n source={source}\n resource={resourceProp}\n isRequired={isRequired}\n />\n )\n }\n clearAlwaysVisible\n error={!!fetchError || invalid}\n helperText={\n renderHelperText ? (\n <InputHelperText\n error={error?.message || fetchError?.message}\n helperText={helperText}\n />\n ) : null\n }\n margin={margin}\n {...sanitizeRestProps(rest)}\n >\n {!isRequired && (\n <MenuItem\n value={emptyValue}\n key=\"null\"\n aria-label={translate('ra.action.clear_input_value')}\n title={translate('ra.action.clear_input_value')}\n >\n {renderEmptyItemOption()}\n </MenuItem>\n )}\n {finalChoices.map(renderMenuItem)}\n </StyledResettableTextField>\n {createElement}\n </>\n );\n};\n\nconst sanitizeRestProps = ({\n afterSubmit,\n allowNull,\n beforeSubmit,\n choices,\n className,\n crudGetMatching,\n crudGetOne,\n data,\n field,\n fieldState,\n formState,\n filter,\n filterToQuery,\n formatOnBlur,\n isEqual,\n limitChoicesToValue,\n multiple,\n name,\n pagination,\n perPage,\n ref,\n reference,\n refetch,\n render,\n setFilter,\n setPagination,\n setSort,\n shouldUnregister,\n sort,\n subscription,\n type,\n validateFields,\n validation,\n value,\n ...rest\n}: any) => sanitizeInputRestProps(rest);\n\nconst PREFIX = 'RaSelectInput';\n\nconst StyledResettableTextField = styled(ResettableTextField, {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme }) => ({\n ...ResettableTextFieldStyles,\n minWidth: theme.spacing(20),\n '& .MuiFilledInput-root': { paddingRight: 0 },\n}));\n\nexport type SelectInputProps = Omit<CommonInputProps, 'source'> &\n ChoicesProps &\n Omit<SupportCreateSuggestionOptions, 'handleChange'> &\n Omit<TextFieldProps, 'label' | 'helperText' | 'classes' | 'onChange'> & {\n disableValue?: string;\n emptyText?: string | ReactElement;\n emptyValue?: any;\n resettable?: boolean;\n // Source is optional as AutocompleteInput can be used inside a ReferenceInput that already defines the source\n source?: string;\n onChange?: (event: ChangeEvent<HTMLInputElement> | RaRecord) => void;\n };\n","import * as React from 'react';\nimport { styled } from '@mui/material/styles';\nimport { Button, CardContent, CircularProgress } from '@mui/material';\nimport {\n Form,\n required,\n useTranslate,\n useLogin,\n useNotify,\n useSafeSetState,\n} from 'ra-core';\nimport { TextInput } from '../input';\n\nexport const LoginForm = (props: LoginFormProps) => {\n const { redirectTo, className } = props;\n const [loading, setLoading] = useSafeSetState(false);\n const login = useLogin();\n const translate = useTranslate();\n const notify = useNotify();\n\n const submit = (values: FormData) => {\n setLoading(true);\n login(values, redirectTo)\n .then(() => {\n setLoading(false);\n })\n .catch(error => {\n setLoading(false);\n notify(\n typeof error === 'string'\n ? error\n : typeof error === 'undefined' || !error.message\n ? 'ra.auth.sign_in_error'\n : error.message,\n {\n type: 'error',\n messageArgs: {\n _:\n typeof error === 'string'\n ? error\n : error && error.message\n ? error.message\n : undefined,\n },\n }\n );\n });\n };\n\n return (\n <StyledForm\n onSubmit={submit}\n mode=\"onChange\"\n noValidate\n className={className}\n >\n <CardContent className={LoginFormClasses.content}>\n <TextInput\n autoFocus\n source=\"username\"\n label={translate('ra.auth.username')}\n autoComplete=\"username\"\n validate={required()}\n />\n <TextInput\n source=\"password\"\n label={translate('ra.auth.password')}\n type=\"password\"\n autoComplete=\"current-password\"\n validate={required()}\n />\n\n <Button\n variant=\"contained\"\n type=\"submit\"\n color=\"primary\"\n disabled={loading}\n fullWidth\n className={LoginFormClasses.button}\n >\n {loading ? (\n <CircularProgress\n className={LoginFormClasses.icon}\n size={19}\n thickness={3}\n />\n ) : (\n translate('ra.auth.sign_in')\n )}\n </Button>\n </CardContent>\n </StyledForm>\n );\n};\n\nconst PREFIX = 'RaLoginForm';\n\nexport const LoginFormClasses = {\n content: `${PREFIX}-content`,\n button: `${PREFIX}-button`,\n icon: `${PREFIX}-icon`,\n};\n\nconst StyledForm = styled(Form, {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme }) => ({\n [`& .${LoginFormClasses.content}`]: {\n width: 300,\n },\n [`& .${LoginFormClasses.button}`]: {\n marginTop: theme.spacing(2),\n },\n [`& .${LoginFormClasses.icon}`]: {\n margin: theme.spacing(0.3),\n },\n}));\n\nexport interface LoginFormProps {\n redirectTo?: string;\n className?: string;\n}\n\ninterface FormData {\n username: string;\n password: string;\n}\n","import * as React from 'react';\nimport { HtmlHTMLAttributes, ReactNode, useRef, useEffect } from 'react';\nimport { Card, Avatar, SxProps } from '@mui/material';\nimport { styled } from '@mui/material/styles';\nimport LockIcon from '@mui/icons-material/Lock';\nimport { useNavigate } from 'react-router-dom';\nimport { useCheckAuth } from 'ra-core';\n\nimport { LoginForm as DefaultLoginForm } from './LoginForm';\n\n/**\n * A standalone login page, to serve as authentication gate to the admin\n *\n * Expects the user to enter a login and a password, which will be checked\n * by the `authProvider.login()` method. Redirects to the root page (/)\n * upon success, otherwise displays an authentication error message.\n *\n * Copy and adapt this component to implement your own login logic\n * (e.g. to authenticate via email or facebook or anything else).\n *\n * @example\n * import MyLoginPage from './MyLoginPage';\n * const App = () => (\n * <Admin loginPage={MyLoginPage} authProvider={authProvider}>\n * ...\n * </Admin>\n * );\n */\nexport const Login = (props: LoginProps) => {\n const { children = defaultLoginForm, backgroundImage, ...rest } = props;\n const containerRef = useRef<HTMLDivElement>(null);\n let backgroundImageLoaded = false;\n const checkAuth = useCheckAuth();\n const navigate = useNavigate();\n useEffect(() => {\n checkAuth({}, false)\n .then(() => {\n // already authenticated, redirect to the home page\n navigate('/');\n })\n .catch(() => {\n // not authenticated, stay on the login page\n });\n }, [checkAuth, navigate]);\n\n const updateBackgroundImage = () => {\n if (!backgroundImageLoaded && containerRef.current) {\n containerRef.current.style.backgroundImage = `url(${backgroundImage})`;\n backgroundImageLoaded = true;\n }\n };\n\n // Load background image asynchronously to speed up time to interactive\n const lazyLoadBackgroundImage = () => {\n if (backgroundImage) {\n const img = new Image();\n img.onload = updateBackgroundImage;\n img.src = backgroundImage;\n }\n };\n\n useEffect(() => {\n if (!backgroundImageLoaded) {\n lazyLoadBackgroundImage();\n }\n });\n return (\n <Root {...rest} ref={containerRef}>\n <Card className={LoginClasses.card}>\n <div className={LoginClasses.avatar}>\n <Avatar className={LoginClasses.icon}>\n <LockIcon />\n </Avatar>\n </div>\n {children}\n </Card>\n </Root>\n );\n};\n\nconst defaultLoginForm = <DefaultLoginForm />;\n\nexport interface LoginProps extends HtmlHTMLAttributes<HTMLDivElement> {\n backgroundImage?: string;\n children?: ReactNode;\n className?: string;\n sx?: SxProps;\n}\n\nconst PREFIX = 'RaLogin';\nexport const LoginClasses = {\n card: `${PREFIX}-card`,\n avatar: `${PREFIX}-avatar`,\n icon: `${PREFIX}-icon`,\n};\n\nconst Root = styled('div', {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme }) => ({\n display: 'flex',\n flexDirection: 'column',\n minHeight: '100vh',\n height: '1px',\n alignItems: 'center',\n justifyContent: 'flex-start',\n backgroundRepeat: 'no-repeat',\n backgroundSize: 'cover',\n backgroundImage:\n 'radial-gradient(circle at 50% 14em, #313264 0%, #00023b 60%, #00023b 100%)',\n\n [`& .${LoginClasses.card}`]: {\n minWidth: 300,\n marginTop: '6em',\n },\n [`& .${LoginClasses.avatar}`]: {\n margin: '1em',\n display: 'flex',\n justifyContent: 'center',\n },\n [`& .${LoginClasses.icon}`]: {\n backgroundColor: theme.palette.secondary[500],\n },\n}));\n","import * as React from 'react';\nimport { ElementType, ReactElement } from 'react';\nimport { Card, styled, SxProps } from '@mui/material';\nimport { useCreateContext } from 'ra-core';\nimport clsx from 'clsx';\n\nimport { Title } from '../layout';\n\nexport const CreateView = (props: CreateViewProps) => {\n const {\n actions,\n aside,\n children,\n className,\n component: Content = Card,\n title,\n ...rest\n } = props;\n\n const { resource, defaultTitle } = useCreateContext();\n\n return (\n <Root className={clsx('create-page', className)} {...rest}>\n <Title\n title={title}\n defaultTitle={defaultTitle}\n preferenceKey={`${resource}.create.title`}\n />\n {actions}\n <div\n className={clsx(CreateClasses.main, {\n [CreateClasses.noActions]: !actions,\n })}\n >\n <Content className={CreateClasses.card}>{children}</Content>\n {aside}\n </div>\n </Root>\n );\n};\n\nexport interface CreateViewProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, 'title'> {\n actions?: ReactElement | false;\n aside?: ReactElement;\n component?: ElementType;\n sx?: SxProps;\n title?: string | ReactElement;\n}\n\nconst PREFIX = 'RaCreate';\n\nexport const CreateClasses = {\n main: `${PREFIX}-main`,\n noActions: `${PREFIX}-noActions`,\n card: `${PREFIX}-card`,\n};\n\nconst Root = styled('div', {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme }) => ({\n [`& .${CreateClasses.main}`]: {\n display: 'flex',\n },\n\n [`& .${CreateClasses.noActions}`]: {\n [theme.breakpoints.up('sm')]: {\n marginTop: '1em',\n },\n },\n\n [`& .${CreateClasses.card}`]: {\n flex: '1 1 auto',\n },\n}));\n","import * as React from 'react';\nimport { ReactElement } from 'react';\nimport {\n CreateBase,\n CreateControllerProps,\n Identifier,\n RaRecord,\n useCheckMinimumRequiredProps,\n} from 'ra-core';\n\nimport { CreateView, CreateViewProps } from './CreateView';\n\n/**\n * Page component for the Create view\n *\n * The `<Create>` component renders the page title and actions.\n * It is not responsible for rendering the actual form -\n * that's the job of its child component (usually `<SimpleForm>`),\n * to which it passes the `record` as prop.\n *\n * The <Create> component accepts the following props:\n *\n * - actions\n * - aside\n * - component\n * - mutationOptions\n * - title\n *\n * @example\n *\n * // in src/posts.js\n * import * as React from \"react\";\n * import { Create, SimpleForm, TextInput } from 'react-admin';\n *\n * export const PostCreate = () => (\n * <Create>\n * <SimpleForm>\n * <TextInput source=\"title\" />\n * </SimpleForm>\n * </Create>\n * );\n *\n * // in src/App.js\n * import * as React from \"react\";\n * import { Admin, Resource } from 'react-admin';\n *\n * import { PostCreate } from './posts';\n *\n * const App = () => (\n * <Admin dataProvider={...}>\n * <Resource name=\"posts\" create={PostCreate} />\n * </Admin>\n * );\n * export default App;\n */\nexport const Create = <\n RecordType extends Omit<RaRecord, 'id'> = any,\n ResultRecordType extends RaRecord = RecordType & { id: Identifier },\n>(\n props: CreateProps<RecordType, Error, ResultRecordType>\n): ReactElement => {\n useCheckMinimumRequiredProps('Create', ['children'], props);\n const {\n resource,\n record,\n redirect,\n transform,\n mutationOptions,\n disableAuthentication,\n hasEdit,\n hasShow,\n ...rest\n } = props;\n return (\n <CreateBase<RecordType, ResultRecordType>\n resource={resource}\n record={record}\n redirect={redirect}\n transform={transform}\n mutationOptions={mutationOptions}\n disableAuthentication={disableAuthentication}\n hasEdit={hasEdit}\n hasShow={hasShow}\n >\n <CreateView {...rest} />\n </CreateBase>\n );\n};\n\nexport interface CreateProps<\n RecordType extends Omit<RaRecord, 'id'> = any,\n MutationOptionsError = Error,\n ResultRecordType extends RaRecord = RecordType & { id: Identifier },\n> extends CreateControllerProps<\n RecordType,\n MutationOptionsError,\n ResultRecordType\n >,\n CreateViewProps {}\n","import * as React from 'react';\nimport { useResourceDefinition } from 'ra-core';\n\nimport { ToolbarProps } from '@mui/material';\nimport { ShowButton } from '../button';\nimport TopToolbar from '../layout/TopToolbar';\n\n/**\n * Action Toolbar for the Edit view\n *\n * Internal component. If you want to add or remove actions for an Edit view,\n * write your own EditActions Component. Then, in the <Edit> component,\n * use it in the `actions` prop to pass a custom component.\n *\n * @example\n * import Button from '@mui/material/Button';\n * import { TopToolbar, EditButton, Edit } from 'react-admin';\n *\n * const PostEditActions = () => (\n * <TopToolbar>\n * <EditButton />\n * // Add your custom actions here\n * <Button color=\"primary\" onClick={customAction}>Custom Action</Button>\n * </TopToolbar>\n * );\n *\n * export const PostEdit = (props) => (\n * <Edit actions={<PostEditActions />} {...props}>\n * ...\n * </Edit>\n * );\n */\nexport const EditActions = (props: EditActionsProps) => {\n const { hasShow } = useResourceDefinition(props);\n return (\n <TopToolbar {...sanitizeRestProps(props)}>\n {hasShow && <ShowButton />}\n </TopToolbar>\n );\n};\n\nconst sanitizeRestProps = ({\n hasCreate,\n hasEdit,\n hasShow,\n hasList,\n resource,\n ...rest\n}: EditActionsProps) => rest;\n\nexport interface EditActionsProps extends ToolbarProps {\n hasCreate?: boolean;\n hasEdit?: boolean;\n hasList?: boolean;\n hasShow?: boolean;\n resource?: string;\n}\n","import * as React from 'react';\nimport { ReactElement, ElementType } from 'react';\nimport { Card, CardContent, styled, SxProps } from '@mui/material';\nimport clsx from 'clsx';\nimport { useEditContext, useResourceDefinition } from 'ra-core';\n\nimport { EditActions } from './EditActions';\nimport { Title } from '../layout';\n\nconst defaultActions = <EditActions />;\n\nexport const EditView = (props: EditViewProps) => {\n const {\n actions,\n aside,\n children,\n className,\n component: Content = Card,\n title,\n ...rest\n } = props;\n\n const { hasShow } = useResourceDefinition();\n const { resource, defaultTitle, record } = useEditContext();\n\n const finalActions =\n typeof actions === 'undefined' && hasShow ? defaultActions : actions;\n if (!children) {\n return null;\n }\n return (\n <Root className={clsx('edit-page', className)} {...rest}>\n <Title\n title={title}\n defaultTitle={defaultTitle}\n preferenceKey={`${resource}.edit.title`}\n />\n {finalActions}\n <div\n className={clsx(EditClasses.main, {\n [EditClasses.noActions]: !finalActions,\n })}\n >\n <Content className={EditClasses.card}>\n {record ? children : <CardContent> </CardContent>}\n </Content>\n {aside}\n </div>\n </Root>\n );\n};\n\nexport interface EditViewProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, 'id' | 'title'> {\n actions?: ReactElement | false;\n aside?: ReactElement;\n component?: ElementType;\n title?: string | ReactElement;\n sx?: SxProps;\n}\n\nconst PREFIX = 'RaEdit';\n\nexport const EditClasses = {\n main: `${PREFIX}-main`,\n noActions: `${PREFIX}-noActions`,\n card: `${PREFIX}-card`,\n};\n\nconst Root = styled('div', {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})({\n [`& .${EditClasses.main}`]: {\n display: 'flex',\n alignItems: 'flex-start',\n },\n [`& .${EditClasses.noActions}`]: {\n marginTop: '1em',\n },\n [`& .${EditClasses.card}`]: {\n flex: '1 1 auto',\n },\n});\n","import * as React from 'react';\nimport {\n EditBase,\n useCheckMinimumRequiredProps,\n RaRecord,\n EditControllerProps,\n} from 'ra-core';\nimport { EditView, EditViewProps } from './EditView';\n\n/**\n * Page component for the Edit view\n *\n * The `<Edit>` component renders the page title and actions,\n * fetches the record from the data provider.\n * It is not responsible for rendering the actual form -\n * that's the job of its child component (usually `<SimpleForm>`),\n * to which it passes the `record` as prop.\n *\n * The <Edit> component accepts the following props:\n *\n * - actions\n * - aside\n * - component\n * - title\n * - mutationMode\n * - mutationOptions\n *\n * @example\n *\n * // in src/posts.js\n * import * as React from \"react\";\n * import { Edit, SimpleForm, TextInput } from 'react-admin';\n *\n * export const PostEdit = () => (\n * <Edit>\n * <SimpleForm>\n * <TextInput source=\"title\" />\n * </SimpleForm>\n * </Edit>\n * );\n *\n * // in src/App.js\n * import * as React from \"react\";\n * import { Admin, Resource } from 'react-admin';\n *\n * import { PostEdit } from './posts';\n *\n * const App = () => (\n * <Admin dataProvider={...}>\n * <Resource name=\"posts\" edit={PostEdit} />\n * </Admin>\n * );\n * export default App;\n */\nexport const Edit = <RecordType extends RaRecord = any>(\n props: EditProps<RecordType, Error>\n) => {\n useCheckMinimumRequiredProps('Edit', ['children'], props);\n const {\n resource,\n id,\n mutationMode,\n mutationOptions,\n queryOptions,\n redirect,\n transform,\n disableAuthentication,\n ...rest\n } = props;\n return (\n <EditBase<RecordType>\n resource={resource}\n id={id}\n mutationMode={mutationMode}\n mutationOptions={mutationOptions}\n queryOptions={queryOptions}\n redirect={redirect}\n transform={transform}\n disableAuthentication={disableAuthentication}\n >\n <EditView {...rest} />\n </EditBase>\n );\n};\n\nexport interface EditProps<RecordType extends RaRecord = any, ErrorType = Error>\n extends EditControllerProps<RecordType, ErrorType>,\n EditViewProps {}\n","import * as React from 'react';\nimport { styled } from '@mui/material/styles';\nimport { Children, ReactNode } from 'react';\nimport {\n Toolbar as MuiToolbar,\n ToolbarProps as MuiToolbarProps,\n useMediaQuery,\n Theme,\n} from '@mui/material';\nimport clsx from 'clsx';\n\nimport { SaveButton, DeleteButton } from '../button';\n\n/**\n * The Toolbar displayed at the bottom of forms.\n *\n * @example Always enable the <SaveButton />\n *\n * import * as React from 'react';\n * import {\n * Create,\n * DateInput,\n * TextInput,\n * SimpleForm,\n * Toolbar,\n * SaveButton,\n * required,\n * } from 'react-admin';\n *\n * const now = new Date();\n * const defaultSort = { field: 'title', order: 'ASC' };\n *\n * const MyToolbar = props => (\n * <Toolbar {...props} >\n * <SaveButton alwaysEnable />\n * </Toolbar>\n * );\n *\n * const CommentCreate = () => (\n * <Create>\n * <SimpleForm redirect={false} toolbar={<MyToolbar />}>\n * <TextInput\n * source=\"author.name\"\n * fullWidth\n * />\n * <DateInput source=\"created_at\" defaultValue={now} />\n * <TextInput source=\"body\" fullWidth={true} multiline={true} />\n * </SimpleForm>\n * </Create>\n * );\n *\n * @typedef {Object} Props the props you can use (other props are injected by the <SimpleForm>)\n * @prop {ReactElement[]} children Customize the buttons you want to display in the <Toolbar>.\n *\n */\nexport const Toolbar = (props: ToolbarProps) => {\n const { children, className, resource, ...rest } = props;\n\n const isXs = useMediaQuery<Theme>(theme => theme.breakpoints.down('sm'));\n\n return (\n <StyledToolbar\n className={clsx(\n {\n [ToolbarClasses.mobileToolbar]: isXs,\n [ToolbarClasses.desktopToolbar]: !isXs,\n },\n className\n )}\n role=\"toolbar\"\n {...rest}\n >\n {Children.count(children) === 0 ? (\n <div className={ToolbarClasses.defaultToolbar}>\n <SaveButton />\n <DeleteButton resource={resource} />\n </div>\n ) : (\n children\n )}\n </StyledToolbar>\n );\n};\n\nexport interface ToolbarProps extends Omit<MuiToolbarProps, 'classes'> {\n children?: ReactNode;\n className?: string;\n resource?: string;\n}\n\nconst PREFIX = 'RaToolbar';\n\nexport const ToolbarClasses = {\n desktopToolbar: `${PREFIX}-desktopToolbar`,\n mobileToolbar: `${PREFIX}-mobileToolbar`,\n defaultToolbar: `${PREFIX}-defaultToolbar`,\n};\n\nconst StyledToolbar = styled(MuiToolbar, {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme }) => ({\n backgroundColor:\n theme.palette.mode === 'light'\n ? theme.palette.grey[100]\n : theme.palette.grey[900],\n\n [`&.${ToolbarClasses.desktopToolbar}`]: {},\n\n [`&.${ToolbarClasses.mobileToolbar}`]: {\n position: 'fixed',\n bottom: 0,\n left: 0,\n right: 0,\n padding: '16px',\n width: '100%',\n boxSizing: 'border-box',\n flexShrink: 0,\n zIndex: 2,\n },\n\n [`& .${ToolbarClasses.defaultToolbar}`]: {\n flex: 1,\n display: 'flex',\n justifyContent: 'space-between',\n },\n}));\n","import { FunctionComponent, memo } from 'react';\n\n/**\n * A version of React.memo that preserves the original component type allowing it to accept generics.\n * See {@link https://stackoverflow.com/a/70890101}\n */\nexport const genericMemo = <T>(component: T): T => {\n const result = memo(component as FunctionComponent);\n\n // We have to set the displayName on both the field implementation and the memoized version.\n // On the implementation so that the memoized version can pick them up and users may reference the defaultProps in their components.\n // On the memoized version so that components that inspect their children props may read them.\n // @ts-ignore\n result.displayName = component.displayName?.replace('Impl', '');\n return result as unknown as T;\n};\n","import * as React from 'react';\nimport { ReactNode } from 'react';\nimport {\n ListContextProvider,\n useList,\n SortPayload,\n FilterPayload,\n useFieldValue,\n} from 'ra-core';\n\nimport { FieldProps } from './types';\nimport { genericMemo } from './genericMemo';\n\n/**\n * Renders an embedded array of objects.\n *\n * ArrayField creates a ListContext with the field value, and renders its children components -\n * usually iterator components like Datagrid, SingleFieldList, or SimpleList.\n *\n * @example // Display all the tags of the current post as `<Chip>` components\n * // const post = {\n * // id: 123\n * // tags: [\n * // { name: 'foo' },\n * // { name: 'bar' }\n * // ]\n * // };\n * const PostShow = () => (\n * <Show>\n * <SimpleShowLayout>\n * <ArrayField source=\"tags\">\n * <SingleFieldList>\n * <ChipField source=\"name\" />\n * </SingleFieldList>\n * </ArrayField>\n * </SimpleShowLayout>\n * </Show>\n * );\n *\n * @example // Display all the backlinks of the current post as a `<Datagrid>`\n * // const post = {\n * // id: 123\n * // backlinks: [\n * // {\n * // uuid: '34fdf393-f449-4b04-a423-38ad02ae159e',\n * // date: '2012-08-10T00:00:00.000Z',\n * // url: 'http://example.com/foo/bar.html',\n * // },\n * // {\n * // uuid: 'd907743a-253d-4ec1-8329-404d4c5e6cf1',\n * // date: '2012-08-14T00:00:00.000Z',\n * // url: 'https://blog.johndoe.com/2012/08/12/foobar.html',\n * // }\n * // ]\n * // };\n * <ArrayField source=\"backlinks\">\n * <Datagrid>\n * <DateField source=\"date\" />\n * <UrlField source=\"url\" />\n * </Datagrid>\n * </ArrayField>\n *\n * @example // If you need to render a collection of strings, it's often simpler to write your own component\n * const TagsField = () => {\n * const record = useRecordContext();\n * return (\n * <ul>\n * {record.tags.map(item => (\n * <li key={item.name}>{item.name}</li>\n * ))}\n * </ul>\n * );\n * };\n *\n * @see useListContext\n */\nconst ArrayFieldImpl = <\n RecordType extends Record<string, any> = Record<string, any>,\n>(\n props: ArrayFieldProps<RecordType>\n) => {\n const { children, resource, perPage, sort, filter } = props;\n const data = useFieldValue(props) || emptyArray;\n const listContext = useList({ data, resource, perPage, sort, filter });\n return (\n <ListContextProvider value={listContext}>\n {children}\n </ListContextProvider>\n );\n};\nArrayFieldImpl.displayName = 'ArrayFieldImpl';\n\nexport const ArrayField = genericMemo(ArrayFieldImpl);\n\nexport interface ArrayFieldProps<\n RecordType extends Record<string, any> = Record<string, any>,\n> extends FieldProps<RecordType> {\n children?: ReactNode;\n perPage?: number;\n sort?: SortPayload;\n filter?: FilterPayload;\n}\n\nconst emptyArray = [];\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z\"\n}), 'Done');","export const sanitizeFieldRestProps: (props: any) => any = ({\n cellClassName,\n className,\n emptyText,\n fullWidth,\n headerClassName,\n label,\n linkType,\n link,\n locale,\n record,\n refetch,\n resource,\n sortable,\n sortBy,\n sortByOrder,\n source,\n textAlign,\n translateChoice,\n ...props\n}) => props;\n","import * as React from 'react';\nimport { styled } from '@mui/material/styles';\nimport DoneIcon from '@mui/icons-material/Done';\nimport ClearIcon from '@mui/icons-material/Clear';\nimport { Tooltip, Typography, TypographyProps, SvgIcon } from '@mui/material';\nimport { useTranslate, useFieldValue } from 'ra-core';\nimport { genericMemo } from './genericMemo';\nimport { FieldProps } from './types';\nimport { sanitizeFieldRestProps } from './sanitizeFieldRestProps';\n\nconst BooleanFieldImpl = <\n RecordType extends Record<string, any> = Record<string, any>,\n>(\n props: BooleanFieldProps<RecordType>\n) => {\n const {\n className,\n emptyText,\n valueLabelTrue,\n valueLabelFalse,\n TrueIcon = DoneIcon,\n FalseIcon = ClearIcon,\n looseValue = false,\n ...rest\n } = props;\n const translate = useTranslate();\n const value = useFieldValue(props);\n const isTruthyValue = value === true || (looseValue && value);\n let ariaLabel = value ? valueLabelTrue : valueLabelFalse;\n\n if (!ariaLabel) {\n ariaLabel = isTruthyValue ? 'ra.boolean.true' : 'ra.boolean.false';\n }\n\n if (looseValue || value === false || value === true) {\n return (\n <StyledTypography\n component=\"span\"\n variant=\"body2\"\n className={className}\n {...sanitizeFieldRestProps(rest)}\n >\n <Tooltip title={translate(ariaLabel, { _: ariaLabel })}>\n {isTruthyValue ? (\n TrueIcon ? (\n <TrueIcon\n data-testid=\"true\"\n fontSize=\"small\"\n className={classes.trueIcon}\n />\n ) : (\n <></>\n )\n ) : FalseIcon ? (\n <FalseIcon\n data-testid=\"false\"\n fontSize=\"small\"\n className={classes.falseIcon}\n />\n ) : (\n <></>\n )}\n </Tooltip>\n </StyledTypography>\n );\n }\n\n return (\n <Typography\n component=\"span\"\n variant=\"body2\"\n className={className}\n {...sanitizeFieldRestProps(rest)}\n >\n {emptyText && translate(emptyText, { _: emptyText })}\n </Typography>\n );\n};\nBooleanFieldImpl.displayName = 'BooleanFieldImpl';\n\nexport const BooleanField = genericMemo(BooleanFieldImpl);\n\nexport interface BooleanFieldProps<\n RecordType extends Record<string, any> = Record<string, any>,\n> extends FieldProps<RecordType>,\n Omit<TypographyProps, 'textAlign'> {\n valueLabelTrue?: string;\n valueLabelFalse?: string;\n TrueIcon?: typeof SvgIcon | null;\n FalseIcon?: typeof SvgIcon | null;\n looseValue?: boolean;\n}\n\nconst PREFIX = 'RaBooleanField';\n\nconst classes = {\n trueIcon: `${PREFIX}-trueIcon`,\n falseIcon: `${PREFIX}-falseIcon`,\n};\n\nconst StyledTypography = styled(Typography, {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})({\n display: 'inline-flex',\n verticalAlign: 'middle',\n lineHeight: 0,\n [`& .${classes.trueIcon}`]: {},\n [`& .${classes.falseIcon}`]: {},\n});\n","import * as React from 'react';\nimport { styled } from '@mui/material/styles';\nimport Chip, { ChipProps } from '@mui/material/Chip';\nimport Typography from '@mui/material/Typography';\nimport clsx from 'clsx';\nimport { useFieldValue, useTranslate } from 'ra-core';\n\nimport { sanitizeFieldRestProps } from './sanitizeFieldRestProps';\nimport { FieldProps } from './types';\nimport { genericMemo } from './genericMemo';\n\nconst ChipFieldImpl = <\n RecordType extends Record<string, any> = Record<string, any>,\n>(\n props: ChipFieldProps<RecordType>\n) => {\n const { className, emptyText, ...rest } = props;\n const value = useFieldValue(props);\n const translate = useTranslate();\n\n if (value == null && emptyText) {\n return (\n <Typography\n component=\"span\"\n variant=\"body2\"\n className={className}\n {...sanitizeFieldRestProps(rest)}\n >\n {emptyText && translate(emptyText, { _: emptyText })}\n </Typography>\n );\n }\n\n return (\n <StyledChip\n className={clsx(ChipFieldClasses.chip, className)}\n label={value}\n {...sanitizeFieldRestProps(rest)}\n />\n );\n};\nChipFieldImpl.displayName = 'ChipFieldImpl';\n\nexport const ChipField = genericMemo(ChipFieldImpl);\n\nexport interface ChipFieldProps<\n RecordType extends Record<string, any> = Record<string, any>,\n> extends FieldProps<RecordType>,\n Omit<ChipProps, 'label' | 'children'> {\n /**\n * @internal do not use (prop required for TS to be able to cast ChipField as FunctionComponent)\n */\n children?: React.ReactNode;\n}\n\nconst PREFIX = 'RaChipField';\n\nconst ChipFieldClasses = {\n chip: `${PREFIX}-chip`,\n};\n\nconst StyledChip = styled(Chip, {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})({\n [`&.${ChipFieldClasses.chip}`]: { cursor: 'inherit' },\n});\n","import * as React from 'react';\nimport { Typography, TypographyProps } from '@mui/material';\nimport { useFieldValue, useTranslate } from 'ra-core';\n\nimport { sanitizeFieldRestProps } from './sanitizeFieldRestProps';\nimport { FieldProps } from './types';\nimport { genericMemo } from './genericMemo';\n\n/**\n * Display a date value as a locale string.\n *\n * Uses Intl.DateTimeFormat() if available, passing the locales and options props as arguments.\n * If Intl is not available, it outputs date as is (and ignores the locales and options props).\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleString\n * @example\n * <DateField source=\"published_at\" />\n * // renders the record { id: 1234, published_at: new Date('2012-11-07') } as\n * <span>07/11/2012</span>\n *\n * <DateField source=\"published_at\" className=\"red\" />\n * // renders the record { id: 1234, new Date('2012-11-07') } as\n * <span class=\"red\">07/11/2012</span>\n *\n * <DateField source=\"share\" options={{ weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' }} />\n * // renders the record { id: 1234, new Date('2012-11-07') } as\n * <span>Wednesday, November 7, 2012</span>\n *\n * <DateField source=\"price\" locales=\"fr-FR\" options={{ weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' }} />\n * // renders the record { id: 1234, new Date('2012-11-07') } as\n * <span>mercredi 7 novembre 2012</span>\n */\nconst DateFieldImpl = <\n RecordType extends Record<string, any> = Record<string, any>,\n>(\n props: DateFieldProps<RecordType>\n) => {\n const {\n className,\n emptyText,\n locales,\n options,\n showTime = false,\n showDate = true,\n transform = defaultTransform,\n ...rest\n } = props;\n const translate = useTranslate();\n\n if (!showTime && !showDate) {\n throw new Error(\n '<DateField> cannot have showTime and showDate false at the same time'\n );\n }\n\n const value = useFieldValue(props);\n if (value == null || value === '') {\n return emptyText ? (\n <Typography\n component=\"span\"\n variant=\"body2\"\n className={className}\n {...sanitizeFieldRestProps(rest)}\n >\n {emptyText && translate(emptyText, { _: emptyText })}\n </Typography>\n ) : null;\n }\n\n const date = transform(value);\n\n let dateString = '';\n if (date) {\n if (showTime && showDate) {\n dateString = toLocaleStringSupportsLocales\n ? date.toLocaleString(locales, options)\n : date.toLocaleString();\n } else if (showDate) {\n // If input is a date string (e.g. '2022-02-15') without time and time zone,\n // force timezone to UTC to fix issue with people in negative time zones\n // who may see a different date when calling toLocaleDateString().\n const dateOptions =\n options ??\n (typeof value === 'string' && value.length <= 10\n ? { timeZone: 'UTC' }\n : undefined);\n dateString = toLocaleStringSupportsLocales\n ? date.toLocaleDateString(locales, dateOptions)\n : date.toLocaleDateString();\n } else if (showTime) {\n dateString = toLocaleStringSupportsLocales\n ? date.toLocaleTimeString(locales, options)\n : date.toLocaleTimeString();\n }\n }\n\n return (\n <Typography\n component=\"span\"\n variant=\"body2\"\n className={className}\n {...sanitizeFieldRestProps(rest)}\n >\n {dateString}\n </Typography>\n );\n};\nDateFieldImpl.displayName = 'DateFieldImpl';\n\nexport const DateField = genericMemo(DateFieldImpl);\n\nexport interface DateFieldProps<\n RecordType extends Record<string, any> = Record<string, any>,\n> extends FieldProps<RecordType>,\n Omit<TypographyProps, 'textAlign'> {\n locales?: Intl.LocalesArgument;\n options?: Intl.DateTimeFormatOptions;\n showTime?: boolean;\n showDate?: boolean;\n transform?: (value: any) => Date;\n}\n\nconst defaultTransform = value =>\n value instanceof Date\n ? value\n : typeof value === 'string' || typeof value === 'number'\n ? new Date(value)\n : undefined;\n\nconst toLocaleStringSupportsLocales = (() => {\n // from https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleString\n try {\n new Date().toLocaleString('i');\n } catch (error) {\n return error instanceof RangeError;\n }\n return false;\n})();\n","import * as React from 'react';\nimport Typography from '@mui/material/Typography';\nimport { Link, LinkProps } from '@mui/material';\nimport { useFieldValue, useTranslate } from 'ra-core';\n\nimport { sanitizeFieldRestProps } from './sanitizeFieldRestProps';\nimport { FieldProps } from './types';\nimport { genericMemo } from './genericMemo';\n\nconst EmailFieldImpl = <\n RecordType extends Record<string, any> = Record<string, any>,\n>(\n props: EmailFieldProps<RecordType>\n) => {\n const { className, emptyText, ...rest } = props;\n const value = useFieldValue(props);\n const translate = useTranslate();\n\n if (value == null) {\n return emptyText ? (\n <Typography\n component=\"span\"\n variant=\"body2\"\n className={className}\n {...sanitizeFieldRestProps(rest)}\n >\n {emptyText && translate(emptyText, { _: emptyText })}\n </Typography>\n ) : null;\n }\n\n return (\n <Link\n className={className}\n href={`mailto:${value}`}\n onClick={stopPropagation}\n variant=\"body2\"\n {...sanitizeFieldRestProps(rest)}\n >\n {value}\n </Link>\n );\n};\nEmailFieldImpl.displayName = 'EmailFieldImpl';\n\nexport const EmailField = genericMemo(EmailFieldImpl);\n\nexport interface EmailFieldProps<\n RecordType extends Record<string, any> = Record<string, any>,\n> extends FieldProps<RecordType>,\n Omit<LinkProps, 'textAlign'> {}\n\n// useful to prevent click bubbling in a Datagrid with rowClick\nconst stopPropagation = e => e.stopPropagation();\n","import * as React from 'react';\nimport { useMemo, ReactNode } from 'react';\nimport { useRecordContext } from 'ra-core';\nimport Typography, { TypographyProps } from '@mui/material/Typography';\n\nimport { sanitizeFieldRestProps } from './sanitizeFieldRestProps';\nimport { FieldProps } from './types';\n\n/**\n * Field using a render function\n *\n * @example\n * <FunctionField\n * source=\"last_name\" // used for sorting\n * label=\"Name\"\n * render={record => `${record.first_name} ${record.last_name}`}\n * />\n */\n\nexport const FunctionField = <RecordType extends Record<string, any> = any>(\n props: FunctionFieldProps<RecordType>\n) => {\n const { className, source = '', render, ...rest } = props;\n const record = useRecordContext(props);\n return useMemo(\n () =>\n record ? (\n <Typography\n component=\"span\"\n variant=\"body2\"\n className={className}\n {...sanitizeFieldRestProps(rest)}\n >\n {render(record, source)}\n </Typography>\n ) : null,\n [className, record, source, render, rest]\n );\n};\n\nexport interface FunctionFieldProps<\n RecordType extends Record<string, any> = any,\n> extends Omit<FieldProps<RecordType>, 'source'>,\n Omit<TypographyProps, 'textAlign'> {\n source?: string;\n render: (record: RecordType, source?: string) => ReactNode;\n}\n","import * as React from 'react';\nimport Typography, { TypographyProps } from '@mui/material/Typography';\nimport { useFieldValue, useTranslate } from 'ra-core';\n\nimport { sanitizeFieldRestProps } from './sanitizeFieldRestProps';\nimport { FieldProps } from './types';\nimport { genericMemo } from './genericMemo';\n\n/**\n * Display a numeric value as a locale string.\n *\n * Uses Intl.NumberFormat() if available, passing the locales and options props as arguments.\n * If Intl is not available, it outputs number as is (and ignores the locales and options props).\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toLocaleString\n * @example\n * <NumberField source=\"score\" />\n * // renders the record { id: 1234, score: 567 } as\n * <span>567</span>\n *\n * <NumberField source=\"score\" className=\"red\" />\n * // renders the record { id: 1234, score: 567 } as\n * <span class=\"red\">567</span>\n *\n * <NumberField source=\"share\" options={{ style: 'percent' }} />\n * // renders the record { id: 1234, share: 0.2545 } as\n * <span>25%</span>\n *\n * <NumberField source=\"price\" options={{ style: 'currency', currency: 'USD' }} />\n * // renders the record { id: 1234, price: 25.99 } as\n * <span>$25.99</span>\n *\n * <NumberField source=\"price\" locales=\"fr-FR\" options={{ style: 'currency', currency: 'USD' }} />\n * // renders the record { id: 1234, price: 25.99 } as\n * <span>25,99 $US</span>\n */\nconst NumberFieldImpl = <\n RecordType extends Record<string, any> = Record<string, any>,\n>(\n props: NumberFieldProps<RecordType>\n) => {\n const {\n className,\n emptyText,\n source,\n locales,\n options,\n textAlign,\n transform = defaultTransform,\n ...rest\n } = props;\n const translate = useTranslate();\n let value = useFieldValue(props);\n\n if (value == null) {\n return emptyText ? (\n <Typography\n component=\"span\"\n variant=\"body2\"\n className={className}\n {...sanitizeFieldRestProps(rest)}\n >\n {emptyText && translate(emptyText, { _: emptyText })}\n </Typography>\n ) : null;\n }\n\n if (transform) {\n value = transform(value);\n }\n\n return (\n <Typography\n variant=\"body2\"\n component=\"span\"\n className={className}\n {...sanitizeFieldRestProps(rest)}\n >\n {hasNumberFormat && typeof value === 'number'\n ? value.toLocaleString(locales, options)\n : value}\n </Typography>\n );\n};\n\nconst defaultTransform = value =>\n value && typeof value === 'string' && !isNaN(value as any) ? +value : value;\n\n// what? TypeScript loses the displayName if we don't set it explicitly\nNumberFieldImpl.displayName = 'NumberFieldImpl';\n\nexport const NumberField = genericMemo(NumberFieldImpl);\n// @ts-expect-error This is a hack that replaces react support for defaultProps. We currently need this for the Datagrid.\nNumberField.textAlign = 'right';\n\nexport interface NumberFieldProps<\n RecordType extends Record<string, any> = Record<string, any>,\n> extends FieldProps<RecordType>,\n Omit<TypographyProps, 'textAlign'> {\n locales?: string | string[];\n options?: object;\n transform?: (value: any) => number;\n}\n\nconst hasNumberFormat = !!(\n typeof Intl === 'object' &&\n Intl &&\n typeof Intl.NumberFormat === 'function'\n);\n","import * as React from 'react';\nimport clsx from 'clsx';\nimport { Link as RRLink, LinkProps as RRLinkProps } from 'react-router-dom';\nimport {\n styled,\n Link as MuiLink,\n LinkProps as MuiLinkProps,\n} from '@mui/material';\n\nexport const Link = (props: LinkProps) => {\n const { to, children, className, ...rest } = props;\n\n return (\n <StyledMuiLink\n component={RRLink}\n to={to}\n className={clsx(LinkClasses.link, className)}\n {...rest}\n >\n {children}\n </StyledMuiLink>\n );\n};\n\nconst PREFIX = 'RaLink';\n\nexport const LinkClasses = {\n link: `${PREFIX}-link`,\n};\n\nconst StyledMuiLink = styled(MuiLink)({}) as typeof MuiLink; // @see https://mui.com/material-ui/guides/typescript/#complications-with-the-component-prop\n\n// @see https://mui.com/material-ui/guides/composition/#with-typescript\nexport interface LinkProps\n extends MuiLinkProps<React.ElementType<any>, RRLinkProps> {\n className?: string;\n}\n","import * as React from 'react';\nimport { Chip, Stack, StackProps, styled } from '@mui/material';\nimport {\n sanitizeListRestProps,\n useListContextWithProps,\n useResourceContext,\n RaRecord,\n RecordContextProvider,\n RecordRepresentation,\n useCreatePath,\n} from 'ra-core';\n\nimport { LinearProgress } from '../layout/LinearProgress';\nimport { Link } from '../Link';\n\n/**\n * Iterator component to be used to display a list of entities, using a single field\n *\n * @example Display all the orders by the current customer as a list of chips\n * <ReferenceManyField reference=\"orders\" target=\"customer_id\">\n * <SingleFieldList />\n * </ReferenceManyField>\n\n* @example Choose the field to be used as text label\n * <ReferenceManyField reference=\"orders\" target=\"customer_id\">\n * <SingleFieldList>\n * <ChipField source=\"reference\" />\n * </SingleFieldList>\n * </ReferenceManyField>\n *\n * @example Customize the link type\n * // By default, it includes a link to the <Edit> page of the related record\n * // (`/orders/:id` in the previous example).\n * // Set the linkType prop to \"show\" to link to the <Show> page instead.\n * <ReferenceManyField reference=\"books\" target=\"author_id\">\n * <SingleFieldList linkType=\"show\">\n * <ChipField source=\"title\" />\n * </SingleFieldList>\n * </ReferenceManyField>\n *\n * @example Disable the link\n * // You can also prevent `<SingleFieldList>` from adding link to children by\n * // setting `linkType` to false.\n * <ReferenceManyField reference=\"books\" target=\"author_id\">\n * <SingleFieldList linkType={false}>\n * <ChipField source=\"title\" />\n * </SingleFieldList>\n * </ReferenceManyField>\n */\nexport const SingleFieldList = (props: SingleFieldListProps) => {\n const {\n className,\n children,\n empty,\n linkType = 'edit',\n gap = 1,\n direction = 'row',\n ...rest\n } = props;\n const { data, total, isPending } = useListContextWithProps(props);\n const resource = useResourceContext(props);\n const createPath = useCreatePath();\n\n if (isPending === true) {\n return <LinearProgress />;\n }\n\n if (data == null || data.length === 0 || total === 0) {\n if (empty) {\n return empty;\n }\n\n return null;\n }\n\n return (\n <Root\n gap={gap}\n direction={direction}\n className={className}\n {...sanitizeListRestProps(rest)}\n >\n {data.map((record, rowIndex) => {\n const resourceLinkPath = !linkType\n ? false\n : createPath({\n resource,\n type: linkType,\n id: record.id,\n });\n\n if (resourceLinkPath) {\n return (\n <RecordContextProvider\n value={record}\n key={record.id ?? `row${rowIndex}`}\n >\n <Link\n className={SingleFieldListClasses.link}\n to={resourceLinkPath}\n onClick={stopPropagation}\n >\n {children || (\n <DefaultChildComponent clickable />\n )}\n </Link>\n </RecordContextProvider>\n );\n }\n\n return (\n <RecordContextProvider\n value={record}\n key={record.id ?? `row${rowIndex}`}\n >\n {children || <DefaultChildComponent />}\n </RecordContextProvider>\n );\n })}\n </Root>\n );\n};\n\nexport interface SingleFieldListProps<RecordType extends RaRecord = any>\n extends StackProps {\n className?: string;\n empty?: React.ReactElement;\n linkType?: string | false;\n children?: React.ReactNode;\n // can be injected when using the component without context\n data?: RecordType[];\n total?: number;\n loaded?: boolean;\n}\n\nconst PREFIX = 'RaSingleFieldList';\n\nexport const SingleFieldListClasses = {\n link: `${PREFIX}-link`,\n};\n\nconst Root = styled(Stack, {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme }) => ({\n flexWrap: 'wrap',\n [`& .${SingleFieldListClasses.link}`]: {\n textDecoration: 'none',\n '& > *': {\n color: theme.palette.primary.main,\n },\n },\n}));\n\n// useful to prevent click bubbling in a datagrid with rowClick\nconst stopPropagation = e => e.stopPropagation();\n\nconst DefaultChildComponent = ({ clickable }: { clickable?: boolean }) => (\n <Chip\n sx={{ cursor: 'inherit' }}\n size=\"small\"\n label={<RecordRepresentation />}\n clickable={clickable}\n />\n);\n","import * as React from 'react';\nimport { FC, memo, ReactElement, ReactNode } from 'react';\nimport {\n ListContextProvider,\n useListContext,\n ListControllerProps,\n useReferenceArrayFieldController,\n SortPayload,\n FilterPayload,\n ResourceContextProvider,\n useRecordContext,\n RaRecord,\n} from 'ra-core';\nimport { styled } from '@mui/material/styles';\nimport { SxProps } from '@mui/system';\nimport { UseQueryOptions } from '@tanstack/react-query';\n\nimport { FieldProps } from './types';\nimport { LinearProgress } from '../layout';\nimport { SingleFieldList } from '../list/SingleFieldList';\n\n/**\n * A container component that fetches records from another resource specified\n * by an array of *ids* in current record.\n *\n * You must define the fields to be passed to the iterator component as children.\n *\n * @example Display all the products of the current order as datagrid\n * // order = {\n * // id: 123,\n * // product_ids: [456, 457, 458],\n * // }\n * <ReferenceArrayField label=\"Products\" reference=\"products\" source=\"product_ids\">\n * <Datagrid>\n * <TextField source=\"id\" />\n * <TextField source=\"description\" />\n * <NumberField source=\"price\" options={{ style: 'currency', currency: 'USD' }} />\n * <EditButton />\n * </Datagrid>\n * </ReferenceArrayField>\n *\n * @example Display all the categories of the current product as a list of chips\n * // product = {\n * // id: 456,\n * // category_ids: [11, 22, 33],\n * // }\n * <ReferenceArrayField label=\"Categories\" reference=\"categories\" source=\"category_ids\">\n * <SingleFieldList>\n * <ChipField source=\"name\" />\n * </SingleFieldList>\n * </ReferenceArrayField>\n *\n * By default, restricts the displayed values to 1000. You can extend this limit\n * by setting the `perPage` prop.\n *\n * @example\n * <ReferenceArrayField perPage={10} reference=\"categories\" source=\"category_ids\">\n * ...\n * </ReferenceArrayField>\n *\n * By default, the field displays the results in the order in which they are referenced\n * (i.e. in the order of the list of ids). You can change this order\n * by setting the `sort` prop (an object with `field` and `order` properties).\n *\n * @example\n * <ReferenceArrayField sort={{ field: 'name', order: 'ASC' }} reference=\"categories\" source=\"category_ids\">\n * ...\n * </ReferenceArrayField>\n *\n * Also, you can filter the results to display only a subset of values. Use the\n * `filter` prop for that.\n *\n * @example\n * <ReferenceArrayField filter={{ is_published: true }} reference=\"categories\" source=\"category_ids\">\n * ...\n * </ReferenceArrayField>\n */\nexport const ReferenceArrayField = <\n RecordType extends RaRecord = RaRecord,\n ReferenceRecordType extends RaRecord = RaRecord,\n>(\n props: ReferenceArrayFieldProps<RecordType, ReferenceRecordType>\n) => {\n const {\n filter,\n page = 1,\n perPage,\n reference,\n resource,\n sort,\n source,\n queryOptions,\n } = props;\n const record = useRecordContext(props);\n const controllerProps = useReferenceArrayFieldController<\n RecordType,\n ReferenceRecordType\n >({\n filter,\n page,\n perPage,\n record,\n reference,\n resource,\n sort,\n source,\n queryOptions,\n });\n return (\n <ResourceContextProvider value={reference}>\n <ListContextProvider value={controllerProps}>\n <PureReferenceArrayFieldView {...props} />\n </ListContextProvider>\n </ResourceContextProvider>\n );\n};\nexport interface ReferenceArrayFieldProps<\n RecordType extends RaRecord = RaRecord,\n ReferenceRecordType extends RaRecord = RaRecord,\n> extends FieldProps<RecordType> {\n children?: ReactNode;\n filter?: FilterPayload;\n page?: number;\n pagination?: ReactElement;\n perPage?: number;\n reference: string;\n sort?: SortPayload;\n sx?: SxProps;\n queryOptions?: UseQueryOptions<ReferenceRecordType[], Error>;\n}\n\nexport interface ReferenceArrayFieldViewProps\n extends Omit<ReferenceArrayFieldProps, 'resource' | 'page' | 'perPage'>,\n Omit<ListControllerProps, 'queryOptions'> {}\n\nexport const ReferenceArrayFieldView: FC<\n ReferenceArrayFieldViewProps\n> = props => {\n const { children, pagination, className, sx } = props;\n const { isPending, total } = useListContext();\n\n return (\n <Root className={className} sx={sx}>\n {isPending ? (\n <LinearProgress\n className={ReferenceArrayFieldClasses.progress}\n />\n ) : (\n <span>\n {children || <SingleFieldList />}\n {pagination && total !== undefined ? pagination : null}\n </span>\n )}\n </Root>\n );\n};\n\nconst PREFIX = 'RaReferenceArrayField';\n\nexport const ReferenceArrayFieldClasses = {\n progress: `${PREFIX}-progress`,\n};\n\nconst Root = styled('div', {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme }) => ({\n [`& .${ReferenceArrayFieldClasses.progress}`]: {\n marginTop: theme.spacing(2),\n },\n}));\n\nconst PureReferenceArrayFieldView = memo(ReferenceArrayFieldView);\n","import * as React from 'react';\nimport { ReactNode } from 'react';\nimport { Typography, SxProps } from '@mui/material';\nimport { styled } from '@mui/material/styles';\nimport ErrorIcon from '@mui/icons-material/Error';\nimport {\n LinkToType,\n RecordContextProvider,\n useGetRecordRepresentation,\n useTranslate,\n RaRecord,\n ReferenceFieldBase,\n useReferenceFieldContext,\n useFieldValue,\n} from 'ra-core';\nimport { UseQueryOptions } from '@tanstack/react-query';\n\nimport { LinearProgress } from '../layout';\nimport { Link } from '../Link';\nimport { FieldProps } from './types';\nimport { genericMemo } from './genericMemo';\n\n/**\n * Fetch reference record, and render its representation, or delegate rendering to child component.\n *\n * The reference prop should be the name of one of the <Resource> components\n * added as <Admin> child.\n *\n * @example // using recordRepresentation\n * <ReferenceField label=\"User\" source=\"userId\" reference=\"users\" />\n *\n * @example // using a Field component to represent the record\n * <ReferenceField label=\"User\" source=\"userId\" reference=\"users\">\n * <TextField source=\"name\" />\n * </ReferenceField>\n *\n * @example // By default, includes a link to the <Edit> page of the related record\n * // (`/users/:userId` in the previous example).\n * // Set the `link` prop to \"show\" to link to the <Show> page instead.\n * <ReferenceField label=\"User\" source=\"userId\" reference=\"users\" link=\"show\" />\n *\n * @example // You can also prevent `<ReferenceField>` from adding link to children\n * // by setting `link` to false.\n * <ReferenceField label=\"User\" source=\"userId\" reference=\"users\" link={false} />\n *\n * @example // Alternatively, you can also pass a custom function to `link`.\n * // It must take reference and record as arguments and return a string\n * <ReferenceField label=\"User\" source=\"userId\" reference=\"users\" link={(record, reference) => \"/path/to/${reference}/${record}\"} />\n *\n * @default\n * In previous versions of React-Admin, the prop `linkType` was used. It is now deprecated and replaced with `link`. However\n * backward-compatibility is still kept\n */\nexport const ReferenceField = <\n RecordType extends Record<string, any> = Record<string, any>,\n ReferenceRecordType extends RaRecord = RaRecord,\n>(\n props: ReferenceFieldProps<RecordType, ReferenceRecordType>\n) => {\n const { emptyText } = props;\n const translate = useTranslate();\n const id = useFieldValue(props);\n\n if (id == null) {\n return emptyText ? (\n <Typography component=\"span\" variant=\"body2\">\n {emptyText && translate(emptyText, { _: emptyText })}\n </Typography>\n ) : null;\n }\n\n return (\n <ReferenceFieldBase<ReferenceRecordType> {...props}>\n <PureReferenceFieldView<RecordType, ReferenceRecordType>\n {...props}\n />\n </ReferenceFieldBase>\n );\n};\n\nexport interface ReferenceFieldProps<\n RecordType extends Record<string, any> = Record<string, any>,\n ReferenceRecordType extends RaRecord = RaRecord,\n> extends Omit<FieldProps<RecordType>, 'source'>,\n Required<Pick<FieldProps<RecordType>, 'source'>> {\n children?: ReactNode;\n queryOptions?: Partial<\n UseQueryOptions<ReferenceRecordType[], Error> & {\n meta?: any;\n }\n >;\n reference: string;\n translateChoice?: Function | boolean;\n link?: LinkToType<ReferenceRecordType>;\n sx?: SxProps;\n}\n\n// useful to prevent click bubbling in a datagrid with rowClick\nconst stopPropagation = e => e.stopPropagation();\n\nexport const ReferenceFieldView = <\n RecordType extends Record<string, any> = Record<string, any>,\n ReferenceRecordType extends RaRecord = RaRecord,\n>(\n props: ReferenceFieldViewProps<RecordType, ReferenceRecordType>\n) => {\n const { children, className, emptyText, reference, sx } = props;\n const { error, link, isLoading, referenceRecord } =\n useReferenceFieldContext();\n\n const getRecordRepresentation = useGetRecordRepresentation(reference);\n const translate = useTranslate();\n\n if (error) {\n return (\n /* eslint-disable jsx-a11y/role-supports-aria-props */\n <ErrorIcon\n aria-errormessage={error.message ? error.message : error}\n role=\"presentation\"\n color=\"error\"\n fontSize=\"small\"\n />\n /* eslint-enable */\n );\n }\n // We explicitly check isLoading here as the record may not have an id for the reference,\n // in which case, the query will not be enabled and isPending will be true\n // isLoading checks that we are actually loading the reference record\n if (isLoading) {\n return <LinearProgress />;\n }\n if (!referenceRecord) {\n return emptyText ? (\n <Typography component=\"span\" variant=\"body2\">\n {emptyText && translate(emptyText, { _: emptyText })}\n </Typography>\n ) : null;\n }\n\n let child = children || (\n <Typography component=\"span\" variant=\"body2\">\n {getRecordRepresentation(referenceRecord)}\n </Typography>\n );\n\n if (link) {\n return (\n <Root className={className} sx={sx}>\n <RecordContextProvider value={referenceRecord}>\n <Link\n to={link}\n className={ReferenceFieldClasses.link}\n onClick={stopPropagation}\n state={{ _scrollToTop: true }}\n >\n {child}\n </Link>\n </RecordContextProvider>\n </Root>\n );\n }\n\n return (\n <Root className={className} sx={sx}>\n <RecordContextProvider value={referenceRecord}>\n {child}\n </RecordContextProvider>\n </Root>\n );\n};\n\nexport interface ReferenceFieldViewProps<\n RecordType extends Record<string, any> = Record<string, any>,\n ReferenceRecordType extends RaRecord = RaRecord,\n> extends FieldProps<RecordType>,\n Omit<ReferenceFieldProps<RecordType, ReferenceRecordType>, 'link'> {\n children?: ReactNode;\n reference: string;\n resource?: string;\n translateChoice?: Function | boolean;\n sx?: SxProps;\n}\n\nconst PureReferenceFieldView = genericMemo(ReferenceFieldView);\n\nconst PREFIX = 'RaReferenceField';\n\nexport const ReferenceFieldClasses = {\n link: `${PREFIX}-link`,\n};\n\nconst Root = styled('span', {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme }) => ({\n lineHeight: 'initial',\n [`& .${ReferenceFieldClasses.link}`]: {\n '& > *': {\n color: theme.palette.primary.main,\n },\n },\n}));\n","import React, { ReactElement, ReactNode } from 'react';\nimport {\n FilterPayload,\n SortPayload,\n useReferenceManyFieldController,\n ListContextProvider,\n ResourceContextProvider,\n useRecordContext,\n RaRecord,\n} from 'ra-core';\nimport { UseQueryOptions } from '@tanstack/react-query';\n\nimport { FieldProps } from './types';\n\n/**\n * Render related records to the current one.\n *\n * You must define the fields to be passed to the iterator component as children.\n *\n * @example Display all the comments of the current post as a datagrid\n * <ReferenceManyField reference=\"comments\" target=\"post_id\">\n * <Datagrid>\n * <TextField source=\"id\" />\n * <TextField source=\"body\" />\n * <DateField source=\"created_at\" />\n * <EditButton />\n * </Datagrid>\n * </ReferenceManyField>\n *\n * @example Display all the books by the current author, only the title\n * <ReferenceManyField reference=\"books\" target=\"author_id\">\n * <SingleFieldList>\n * <ChipField source=\"title\" />\n * </SingleFieldList>\n * </ReferenceManyField>\n *\n * By default, restricts the displayed values to 25. You can extend this limit\n * by setting the `perPage` prop.\n *\n * @example\n * <ReferenceManyField perPage={10} reference=\"comments\" target=\"post_id\">\n * ...\n * </ReferenceManyField>\n *\n * By default, orders the possible values by id desc. You can change this order\n * by setting the `sort` prop (an object with `field` and `order` properties).\n *\n * @example\n * <ReferenceManyField sort={{ field: 'created_at', order: 'DESC' }} reference=\"comments\" target=\"post_id\">\n * ...\n * </ReferenceManyField>\n *\n * Also, you can filter the query used to populate the possible values. Use the\n * `filter` prop for that.\n *\n * @example\n * <ReferenceManyField filter={{ is_published: true }} reference=\"comments\" target=\"post_id\">\n * ...\n * </ReferenceManyField>\n */\nexport const ReferenceManyField = <\n RecordType extends RaRecord = RaRecord,\n ReferenceRecordType extends RaRecord = RaRecord,\n>(\n props: ReferenceManyFieldProps<RecordType, ReferenceRecordType>\n) => {\n const {\n children,\n debounce,\n filter = defaultFilter,\n page = 1,\n pagination = null,\n perPage = 25,\n reference,\n resource,\n sort = defaultSort,\n source = 'id',\n target,\n queryOptions,\n } = props;\n const record = useRecordContext(props);\n\n const controllerProps = useReferenceManyFieldController<\n RecordType,\n ReferenceRecordType\n >({\n debounce,\n filter,\n page,\n perPage,\n record,\n reference,\n resource,\n sort,\n source,\n target,\n queryOptions,\n });\n\n return (\n <ResourceContextProvider value={reference}>\n <ListContextProvider value={controllerProps}>\n {children}\n {pagination}\n </ListContextProvider>\n </ResourceContextProvider>\n );\n};\n\nexport interface ReferenceManyFieldProps<\n RecordType extends Record<string, any> = Record<string, any>,\n ReferenceRecordType extends Record<string, any> = Record<string, any>,\n> extends Omit<FieldProps<RecordType>, 'source'> {\n children: ReactNode;\n debounce?: number;\n filter?: FilterPayload;\n page?: number;\n pagination?: ReactElement;\n perPage?: number;\n reference: string;\n sort?: SortPayload;\n source?: string;\n target: string;\n queryOptions?: UseQueryOptions<\n { data: ReferenceRecordType[]; total: number },\n Error\n >;\n}\n\nconst defaultFilter = {};\nconst defaultSort = { field: 'id', order: 'DESC' as const };\n","import * as React from 'react';\nimport { ChoicesProps, useChoices, useFieldValue, useTranslate } from 'ra-core';\nimport { Typography, TypographyProps } from '@mui/material';\n\nimport { sanitizeFieldRestProps } from './sanitizeFieldRestProps';\nimport { FieldProps } from './types';\nimport { genericMemo } from './genericMemo';\n\n/**\n * Display a value in an enumeration\n *\n * Pass possible options as an array of objects in the 'choices' attribute.\n *\n * @example\n * const choices = [\n * { id: 'M', name: 'Male' },\n * { id: 'F', name: 'Female' },\n * ];\n * <SelectField source=\"gender\" choices={choices} />\n *\n * By default, the text is built by\n * - finding a choice where the 'id' property equals the field value\n * - using the 'name' property as the option text\n *\n * You can also customize the properties to use for the value and text,\n * thanks to the 'optionValue' and 'optionText' attributes.\n *\n * @example\n * const choices = [\n * { _id: 123, full_name: 'Leo Tolstoi', sex: 'M' },\n * { _id: 456, full_name: 'Jane Austen', sex: 'F' },\n * ];\n * <SelectField source=\"author_id\" choices={choices} optionText=\"full_name\" optionValue=\"_id\" />\n *\n * `optionText` also accepts a function, so you can shape the option text at will:\n * @example\n * const choices = [\n * { id: 123, first_name: 'Leo', last_name: 'Tolstoi' },\n * { id: 456, first_name: 'Jane', last_name: 'Austen' },\n * ];\n * const optionRenderer = choice => `${choice.first_name} ${choice.last_name}`;\n * <SelectField source=\"author_id\" choices={choices} optionText={optionRenderer} />\n *\n * `optionText` also accepts a React Element, that can access\n * the related choice through the `useRecordContext` hook. You can use Field components there.\n * @example\n * const choices = [\n * { id: 123, first_name: 'Leo', last_name: 'Tolstoi' },\n * { id: 456, first_name: 'Jane', last_name: 'Austen' },\n * ];\n * const FullNameField = () => {\n * const record = useRecordContext();\n * return (<Chip>{record.first_name} {record.last_name}</Chip>)\n * };\n * <SelectField source=\"gender\" choices={choices} optionText={<FullNameField />}/>\n *\n * The current choice is translated by default, so you can use translation identifiers as choices:\n * @example\n * const choices = [\n * { id: 'M', name: 'myroot.gender.male' },\n * { id: 'F', name: 'myroot.gender.female' },\n * ];\n *\n * However, in some cases (e.g. inside a `<ReferenceField>`), you may not want\n * the choice to be translated. In that case, set the `translateChoice` prop to false.\n * @example\n * <SelectField source=\"gender\" choices={choices} translateChoice={false}/>\n *\n * **Tip**: <ReferenceField> sets `translateChoice` to false by default.\n */\nconst SelectFieldImpl = <\n RecordType extends Record<string, any> = Record<string, any>,\n>(\n props: SelectFieldProps<RecordType>\n) => {\n const {\n className,\n emptyText,\n choices,\n optionValue = 'id',\n optionText = 'name',\n translateChoice = true,\n ...rest\n } = props;\n const value = useFieldValue(props);\n\n const { getChoiceText, getChoiceValue } = useChoices({\n optionText,\n optionValue,\n translateChoice,\n });\n const translate = useTranslate();\n\n const choice = choices\n ? choices.find(choice => getChoiceValue(choice) === value)\n : null;\n\n if (!choice) {\n return emptyText ? (\n <Typography\n component=\"span\"\n variant=\"body2\"\n className={className}\n {...sanitizeFieldRestProps(rest)}\n >\n {emptyText && translate(emptyText, { _: emptyText })}\n </Typography>\n ) : null;\n }\n\n let choiceText = getChoiceText(choice);\n\n return (\n <Typography\n component=\"span\"\n variant=\"body2\"\n className={className}\n {...sanitizeFieldRestProps(rest)}\n >\n {choiceText}\n </Typography>\n );\n};\n\nSelectFieldImpl.displayName = 'SelectFieldImpl';\n\nexport const SelectField = genericMemo(SelectFieldImpl);\n\nexport interface SelectFieldProps<\n RecordType extends Record<string, any> = Record<string, any>,\n> extends ChoicesProps,\n FieldProps<RecordType>,\n Omit<TypographyProps, 'textAlign'> {}\n","import * as React from 'react';\nimport { ElementType } from 'react';\nimport Typography, { TypographyProps } from '@mui/material/Typography';\nimport { useFieldValue, useTranslate } from 'ra-core';\n\nimport { sanitizeFieldRestProps } from './sanitizeFieldRestProps';\nimport { FieldProps } from './types';\nimport { genericMemo } from './genericMemo';\n\nconst TextFieldImpl = <\n RecordType extends Record<string, any> = Record<string, any>,\n>(\n props: TextFieldProps<RecordType>\n) => {\n const { className, emptyText, ...rest } = props;\n const translate = useTranslate();\n const value = useFieldValue(props);\n\n return (\n <Typography\n component=\"span\"\n variant=\"body2\"\n className={className}\n {...sanitizeFieldRestProps(rest)}\n >\n {value != null && typeof value !== 'string'\n ? value.toString()\n : value ||\n (emptyText ? translate(emptyText, { _: emptyText }) : null)}\n </Typography>\n );\n};\n\n// what? TypeScript loses the displayName if we don't set it explicitly\nTextFieldImpl.displayName = 'TextFieldImpl';\n\nexport const TextField = genericMemo(TextFieldImpl);\n\nexport interface TextFieldProps<\n RecordType extends Record<string, any> = Record<string, any>,\n> extends FieldProps<RecordType>,\n Omit<TypographyProps, 'textAlign'> {\n // TypographyProps do not expose the component props, see https://github.com/mui/material-ui/issues/19512\n component?: ElementType<any>;\n}\n","import * as React from 'react';\nimport { AnchorHTMLAttributes } from 'react';\nimport { sanitizeFieldRestProps } from './sanitizeFieldRestProps';\nimport { Typography, Link } from '@mui/material';\nimport { useFieldValue, useTranslate } from 'ra-core';\nimport { FieldProps } from './types';\nimport { genericMemo } from './genericMemo';\n\nconst UrlFieldImpl = <\n RecordType extends Record<string, any> = Record<string, any>,\n>(\n props: UrlFieldProps<RecordType>\n) => {\n const { className, emptyText, ...rest } = props;\n const value = useFieldValue(props);\n const translate = useTranslate();\n\n if (value == null) {\n return (\n <Typography\n component=\"span\"\n variant=\"body2\"\n className={className}\n {...sanitizeFieldRestProps(rest)}\n >\n {emptyText && translate(emptyText, { _: emptyText })}\n </Typography>\n );\n }\n\n return (\n <Link\n className={className}\n href={value}\n onClick={stopPropagation}\n variant=\"body2\"\n {...sanitizeFieldRestProps(rest)}\n >\n {value}\n </Link>\n );\n};\nUrlFieldImpl.displayName = 'UrlFieldImpl';\n\nexport const UrlField = genericMemo(UrlFieldImpl);\n\nexport interface UrlFieldProps<\n RecordType extends Record<string, any> = Record<string, any>,\n> extends FieldProps<RecordType>,\n AnchorHTMLAttributes<HTMLAnchorElement> {}\n\n// useful to prevent click bubbling in a Datagrid with rowClick\nconst stopPropagation = e => e.stopPropagation();\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M19 3H4.99c-1.11 0-1.98.89-1.98 2L3 19c0 1.1.88 2 1.99 2H19c1.1 0 2-.9 2-2V5c0-1.11-.9-2-2-2m0 12h-4c0 1.66-1.35 3-3 3s-3-1.34-3-3H4.99V5H19z\"\n}), 'Inbox');","import * as React from 'react';\nimport { styled } from '@mui/material/styles';\nimport { Typography } from '@mui/material';\nimport Inbox from '@mui/icons-material/Inbox';\nimport {\n useTranslate,\n useResourceDefinition,\n useResourceContext,\n useGetResourceLabel,\n} from 'ra-core';\n\nimport { CreateButton } from '../button';\n\nexport const Empty = (props: EmptyProps) => {\n const { className } = props;\n const { hasCreate } = useResourceDefinition(props);\n const resource = useResourceContext(props);\n\n const translate = useTranslate();\n\n const getResourceLabel = useGetResourceLabel();\n const resourceName = translate(`resources.${resource}.forcedCaseName`, {\n smart_count: 0,\n _: resource ? getResourceLabel(resource, 0) : undefined,\n });\n\n const emptyMessage = translate('ra.page.empty', { name: resourceName });\n const inviteMessage = translate('ra.page.invite');\n\n return (\n <Root className={className}>\n <div className={EmptyClasses.message}>\n <Inbox className={EmptyClasses.icon} />\n <Typography variant=\"h4\" paragraph>\n {translate(`resources.${resource}.empty`, {\n _: emptyMessage,\n })}\n </Typography>\n {hasCreate && (\n <Typography variant=\"body1\">\n {translate(`resources.${resource}.invite`, {\n _: inviteMessage,\n })}\n </Typography>\n )}\n </div>\n {hasCreate && (\n <div className={EmptyClasses.toolbar}>\n <CreateButton variant=\"contained\" />\n </div>\n )}\n </Root>\n );\n};\n\nexport interface EmptyProps {\n resource?: string;\n hasCreate?: boolean;\n className?: string;\n}\n\nconst PREFIX = 'RaEmpty';\n\nexport const EmptyClasses = {\n message: `${PREFIX}-message`,\n icon: `${PREFIX}-icon`,\n toolbar: `${PREFIX}-toolbar`,\n};\n\nconst Root = styled('span', {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme }) => ({\n flex: 1,\n [`& .${EmptyClasses.message}`]: {\n textAlign: 'center',\n opacity: theme.palette.mode === 'light' ? 0.5 : 0.8,\n margin: '0 1em',\n color:\n theme.palette.mode === 'light'\n ? 'inherit'\n : theme.palette.text.primary,\n },\n\n [`& .${EmptyClasses.icon}`]: {\n width: '9em',\n height: '9em',\n },\n\n [`& .${EmptyClasses.toolbar}`]: {\n textAlign: 'center',\n marginTop: '2em',\n },\n}));\n","import * as React from 'react';\nimport { FC, memo } from 'react';\nimport { styled } from '@mui/material/styles';\nimport { ReactElement } from 'react';\nimport { ToolbarProps } from '@mui/material';\nimport { Exporter } from 'ra-core';\n\nimport { FilterForm } from './filter';\nimport { FilterContext } from './FilterContext';\n\nexport const ListToolbar: FC<ListToolbarProps> = memo(props => {\n const { filters, actions, className, ...rest } = props;\n\n return Array.isArray(filters) ? (\n <FilterContext.Provider value={filters}>\n <Root className={className}>\n <FilterForm />\n <span />\n {actions}\n </Root>\n </FilterContext.Provider>\n ) : (\n <Root className={className}>\n {filters &&\n React.cloneElement(filters, {\n ...rest,\n context: 'form',\n })}\n <span />\n {actions &&\n React.cloneElement(actions, {\n ...rest,\n filters,\n ...actions.props,\n })}\n </Root>\n );\n});\n\nexport interface ListToolbarProps\n extends Omit<ToolbarProps, 'classes' | 'onSelect'> {\n actions?: ReactElement | false;\n exporter?: Exporter | false;\n filters?: ReactElement | ReactElement[];\n hasCreate?: boolean;\n}\n\nconst PREFIX = 'RaListToolbar';\n\nconst Root = styled('div', {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme }) => ({\n display: 'flex',\n position: 'relative',\n justifyContent: 'space-between',\n alignItems: 'flex-end',\n width: '100%',\n [theme.breakpoints.down('md')]: {\n flexWrap: 'wrap',\n },\n [theme.breakpoints.down('sm')]: {\n backgroundColor: theme.palette.background.paper,\n flexWrap: 'inherit',\n flexDirection: 'column-reverse',\n },\n}));\n","import * as React from 'react';\nimport { cloneElement, useMemo, useContext, ReactElement } from 'react';\nimport {\n sanitizeListRestProps,\n Exporter,\n useListContext,\n useResourceContext,\n useResourceDefinition,\n} from 'ra-core';\nimport { ToolbarProps } from '@mui/material';\n\nimport TopToolbar from '../layout/TopToolbar';\nimport { CreateButton, ExportButton } from '../button';\nimport { FilterContext } from './FilterContext';\nimport { FilterButton } from './filter';\n\n/**\n * Action Toolbar for the List view\n *\n * Internal component. If you want to add or remove actions for a List view,\n * write your own ListActions Component. Then, in the <List> component,\n * use it in the `actions` prop to pass a custom component.\n *\n * @example\n * import { cloneElement } from 'react';\n * import Button from '@mui/material/Button';\n * import { TopToolbar, List, CreateButton, ExportButton } from 'react-admin';\n *\n * const PostListActions = ({ filters }) => (\n * <TopToolbar>\n * { cloneElement(filters, { context: 'button' }) }\n * <CreateButton/>\n * <ExportButton/>\n * // Add your custom actions here //\n * <Button onClick={customAction}>Custom Action</Button>\n * </TopToolbar>\n * );\n *\n * export const PostList = () => (\n * <List actions={<PostListActions />}>\n * ...\n * </List>\n * );\n */\nexport const ListActions = (props: ListActionsProps) => {\n const { className, filters: filtersProp, hasCreate: _, ...rest } = props;\n\n const { displayedFilters, filterValues, exporter, showFilter, total } =\n useListContext();\n const resource = useResourceContext(props);\n const { hasCreate } = useResourceDefinition(props);\n const filters = useContext(FilterContext) || filtersProp;\n return useMemo(\n () => (\n <TopToolbar className={className} {...sanitizeListRestProps(rest)}>\n {filtersProp\n ? cloneElement(filtersProp, {\n resource,\n showFilter,\n displayedFilters,\n filterValues,\n context: 'button',\n })\n : filters && <FilterButton />}\n {hasCreate && <CreateButton />}\n {exporter !== false && (\n <ExportButton disabled={total === 0} resource={resource} />\n )}\n </TopToolbar>\n ),\n /* eslint-disable react-hooks/exhaustive-deps */\n [\n resource,\n displayedFilters,\n filterValues,\n filtersProp,\n showFilter,\n filters,\n total,\n className,\n exporter,\n hasCreate,\n ]\n );\n};\n\nexport interface ListActionsProps extends ToolbarProps {\n className?: string;\n resource?: string;\n filters?: ReactElement<any>;\n displayedFilters?: any;\n exporter?: Exporter | boolean;\n filterValues?: any;\n permanentFilter?: any;\n hasCreate?: boolean;\n showFilter?: (filterName: string, defaultValue: any) => void;\n total?: number;\n}\n","import * as React from 'react';\nimport { styled } from '@mui/material/styles';\nimport { ReactElement, ReactNode, ElementType } from 'react';\nimport { SxProps } from '@mui/system';\nimport Card from '@mui/material/Card';\nimport clsx from 'clsx';\nimport { useListContext, RaRecord } from 'ra-core';\n\nimport { Title } from '../layout/Title';\nimport { ListToolbar } from './ListToolbar';\nimport { Pagination as DefaultPagination } from './pagination';\nimport { ListActions as DefaultActions } from './ListActions';\nimport { Empty } from './Empty';\n\nconst defaultActions = <DefaultActions />;\nconst defaultPagination = <DefaultPagination />;\nconst defaultEmpty = <Empty />;\nconst DefaultComponent = Card;\n\nexport const ListView = <RecordType extends RaRecord = any>(\n props: ListViewProps\n) => {\n const {\n actions = defaultActions,\n aside,\n filters,\n emptyWhileLoading,\n pagination = defaultPagination,\n children,\n className,\n component: Content = DefaultComponent,\n title,\n empty = defaultEmpty,\n ...rest\n } = props;\n const { defaultTitle, data, error, isPending, filterValues, resource } =\n useListContext<RecordType>();\n\n if (!children || (!data && isPending && emptyWhileLoading)) {\n return null;\n }\n\n const renderList = () => (\n <div className={ListClasses.main}>\n {(filters || actions) && (\n <ListToolbar\n className={ListClasses.actions}\n filters={filters}\n actions={actions}\n />\n )}\n <Content className={ListClasses.content}>{children}</Content>\n {!error && pagination !== false && pagination}\n </div>\n );\n\n const renderEmpty = () =>\n empty !== false && <div className={ListClasses.noResults}>{empty}</div>;\n\n const shouldRenderEmptyPage =\n !isPending &&\n data?.length === 0 &&\n !Object.keys(filterValues).length &&\n empty !== false;\n\n return (\n <Root className={clsx('list-page', className)} {...rest}>\n <Title\n title={title}\n defaultTitle={defaultTitle}\n preferenceKey={`${resource}.list.title`}\n />\n {shouldRenderEmptyPage ? renderEmpty() : renderList()}\n {aside}\n </Root>\n );\n};\n\nexport interface ListViewProps {\n /**\n * The actions to display in the toolbar. defaults to Filter + Create + Export.\n *\n * @see https://marmelab.com/react-admin/List.html#actions\n * @example\n * import {\n * CreateButton,\n * DatagridConfigurable,\n * ExportButton,\n * FilterButton,\n * List,\n * SelectColumnsButton,\n * TopToolbar,\n * } from 'react-admin';\n * import IconEvent from '@mui/icons-material/Event';\n *\n * const ListActions = () => (\n * <TopToolbar>\n * <SelectColumnsButton />\n * <FilterButton/>\n * <CreateButton/>\n * <ExportButton/>\n * </TopToolbar>\n * );\n *\n * export const PostList = () => (\n * <List actions={<ListActions/>}>\n * <DatagridConfigurable>\n * ...\n * </DatagridConfigurable>\n * </List>\n * );\n */\n actions?: ReactElement | false;\n\n /**\n * The content to render as a sidebar.\n * @see https://marmelab.com/react-admin/List.html#aside\n * @example\n * import { List, useListContext } from 'react-admin';\n * import { Typography } from '@mui/material';\n *\n * const Aside = () => {\n * const { data, isPending } = useListContext();\n * if (isPending) return null;\n * return (\n * <div style={{ width: 200, margin: '4em 1em' }}>\n * <Typography variant=\"h6\">Posts stats</Typography>\n * <Typography variant=\"body2\">\n * Total views: {data.reduce((sum, post) => sum + post.views, 0)}\n * </Typography>\n * </div>\n * );\n * };\n *\n * const PostList = () => (\n * <List aside={<Aside />}>\n * ...\n * </List>\n * );\n */\n aside?: ReactElement;\n\n /**\n * A class name to apply to the root div element\n */\n className?: string;\n\n /**\n * The components rendering the list of records. Usually a <Datagrid> or <SimpleList>.\n *\n * @see https://marmelab.com/react-admin/List.html#children\n * @example\n * import { List, Datagrid, TextField, DateField, NumberField, BooleanField, ReferenceManyCount } from 'react-admin';\n *\n * export const BookList = () => (\n * <List>\n * <Datagrid rowClick=\"edit\">\n * <TextField source=\"id\" />\n * <TextField source=\"title\" />\n * <DateField source=\"published_at\" />\n * <ReferenceManyCount label=\"Nb comments\" reference=\"comments\" target=\"post_id\" link />\n * <BooleanField source=\"commentable\" label=\"Com.\" />\n * <NumberField source=\"nb_views\" label=\"Views\" />\n * </Datagrid>\n * </List>\n * );\n */\n children: ReactNode;\n\n /**\n * The component used to display the list. Defaults to <Card>.\n *\n * @see https://marmelab.com/react-admin/List.html#component\n * @example\n * import { List } from 'react-admin';\n *\n * const PostList = () => (\n * <List component=\"div\">\n * ...\n * </List>\n * );\n */\n component?: ElementType;\n\n /**\n * The component to display when the list is empty.\n *\n * @see https://marmelab.com/react-admin/List.html#empty\n * @example\n * import { CreateButton, List } from 'react-admin';\n * import { Box, Button, Typography } from '@mui/material';\n *\n * const Empty = () => (\n * <Box textAlign=\"center\" m={1}>\n * <Typography variant=\"h4\" paragraph>\n * No products available\n * </Typography>\n * <Typography variant=\"body1\">\n * Create one or import products from a file\n * </Typography>\n * <CreateButton />\n * <Button onClick={...}>Import</Button>\n * </Box>\n * );\n *\n * const ProductList = () => (\n * <List empty={<Empty />}>\n * ...\n * </List>\n * );\n */\n empty?: ReactElement | false;\n\n /**\n * Set to true to return null while the list is loading.\n *\n * @see https://marmelab.com/react-admin/List.html#emptywhileloading\n * @example\n * import { List } from 'react-admin';\n * import { SimpleBookList } from './BookList';\n *\n * const BookList = () => (\n * <List emptyWhileLoading>\n * <SimpleBookList />\n * </List>\n * );\n */\n emptyWhileLoading?: boolean;\n\n /**\n * The filter inputs to display in the toolbar.\n *\n * @see https://marmelab.com/react-admin/List.html#filters\n * @example\n * import { List, TextInput } from 'react-admin';\n *\n * const postFilters = [\n * <TextInput label=\"Search\" source=\"q\" alwaysOn />,\n * <TextInput label=\"Title\" source=\"title\" defaultValue=\"Hello, World!\" />,\n * ];\n *\n * export const PostList = () => (\n * <List filters={postFilters}>\n * ...\n * </List>\n * );\n */\n filters?: ReactElement | ReactElement[];\n\n /**\n * The pagination component to display. defaults to <Pagination />\n *\n * @see https://marmelab.com/react-admin/List.html#pagination\n * @example\n * import { Pagination, List } from 'react-admin';\n *\n * const PostPagination = props => <Pagination rowsPerPageOptions={[10, 25, 50, 100]} {...props} />;\n *\n * export const PostList = () => (\n * <List pagination={<PostPagination />}>\n * ...\n * </List>\n * );\n */\n pagination?: ReactElement | false;\n\n /**\n * The page title (main title) to display above the data. Defaults to the humanized resource name.\n *\n * @see https://marmelab.com/react-admin/List.html#title\n * @example\n * import { List } from 'react-admin';\n *\n * export const PostList = () => (\n * <List title=\"List of posts\">\n * ...\n * </List>\n * );\n */\n title?: string | ReactElement;\n\n /**\n * The CSS styles to apply to the component.\n *\n * @see https://marmelab.com/react-admin/List.html#sx-css-api\n * @example\n * const PostList = () => (\n * <List\n * sx={{\n * backgroundColor: 'yellow',\n * '& .RaList-content': {\n * backgroundColor: 'red',\n * },\n * }}\n * >\n * ...\n * </List>\n * );\n */\n sx?: SxProps;\n}\n\nconst PREFIX = 'RaList';\n\nexport const ListClasses = {\n main: `${PREFIX}-main`,\n content: `${PREFIX}-content`,\n actions: `${PREFIX}-actions`,\n noResults: `${PREFIX}-noResults`,\n};\n\nconst Root = styled('div', {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme }) => ({\n display: 'flex',\n\n [`& .${ListClasses.main}`]: {\n flex: '1 1 auto',\n display: 'flex',\n flexDirection: 'column',\n },\n\n [`& .${ListClasses.content}`]: {\n position: 'relative',\n [theme.breakpoints.down('sm')]: {\n boxShadow: 'none',\n },\n overflow: 'inherit',\n },\n\n [`& .${ListClasses.actions}`]: {},\n\n [`& .${ListClasses.noResults}`]: {\n flex: 1,\n },\n}));\n","import * as React from 'react';\nimport { ReactElement } from 'react';\nimport { ListBase, ListControllerProps, RaRecord } from 'ra-core';\n\nimport { ListView, ListViewProps } from './ListView';\n\n/**\n * List page component\n *\n * The <List> component renders the list layout (title, buttons, filters, pagination),\n * and fetches the list of records from the REST API.\n *\n * It then delegates the rendering of the list of records to its child component.\n * Usually, it's a <Datagrid>, responsible for displaying a table with one row for each post.\n *\n * The <List> component accepts the following props:\n *\n * - actions\n * - aside: Side Component\n * - children: List Layout\n * - component\n * - disableAuthentication\n * - disableSyncWithLocation\n * - empty: Empty Page Component\n * - emptyWhileLoading\n * - exporter\n * - filters: Filter Inputs\n * - filter: Permanent Filter\n * - filterDefaultValues\n * - pagination: Pagination Component\n * - perPage: Pagination Size\n * - queryOptions\n * - sort: Default Sort Field & Order\n * - title\n * - sx: CSS API\n *\n * @example\n * const postFilters = [\n * <TextInput label=\"Search\" source=\"q\" alwaysOn />,\n * <TextInput label=\"Title\" source=\"title\" />\n * ];\n * export const PostList = () => (\n * <List\n * title=\"List of posts\"\n * sort={{ field: 'published_at' }}\n * filter={{ is_published: true }}\n * filters={postFilters}\n * >\n * <Datagrid>\n * <TextField source=\"id\" />\n * <TextField source=\"title\" />\n * <EditButton />\n * </Datagrid>\n * </List>\n * );\n */\nexport const List = <RecordType extends RaRecord = any>({\n debounce,\n disableAuthentication,\n disableSyncWithLocation,\n exporter,\n filter = defaultFilter,\n filterDefaultValues,\n perPage = 10,\n queryOptions,\n resource,\n sort,\n storeKey,\n ...rest\n}: ListProps<RecordType>): ReactElement => (\n <ListBase<RecordType>\n debounce={debounce}\n disableAuthentication={disableAuthentication}\n disableSyncWithLocation={disableSyncWithLocation}\n exporter={exporter}\n filter={filter}\n filterDefaultValues={filterDefaultValues}\n perPage={perPage}\n queryOptions={queryOptions}\n resource={resource}\n sort={sort}\n storeKey={storeKey}\n >\n <ListView<RecordType> {...rest} />\n </ListBase>\n);\n\nexport interface ListProps<RecordType extends RaRecord = any>\n extends ListControllerProps<RecordType>,\n ListViewProps {}\n\nconst defaultFilter = {};\n","import * as React from 'react';\nimport { Datagrid } from './datagrid';\nimport { SingleFieldList } from './SingleFieldList';\nimport {\n ArrayField,\n BooleanField,\n ChipField,\n DateField,\n EmailField,\n NumberField,\n ReferenceField,\n ReferenceArrayField,\n TextField,\n UrlField,\n ArrayFieldProps,\n} from '../field';\n\nexport const listFieldTypes = {\n table: {\n component: props => {\n return <Datagrid {...props} />;\n }, // eslint-disable-line react/display-name\n representation: (_props, children) => ` <Datagrid>\n${children.map(child => ` ${child.getRepresentation()}`).join('\\n')}\n </Datagrid>`,\n },\n array: {\n // eslint-disable-next-line react/display-name\n component: ({ children, ...props }: ArrayFieldProps) => {\n const childrenArray = React.Children.toArray(children);\n return (\n <ArrayField {...props}>\n <SingleFieldList>\n <ChipField\n source={\n childrenArray.length > 0 &&\n React.isValidElement(childrenArray[0]) &&\n childrenArray[0].props.source\n }\n />\n </SingleFieldList>\n </ArrayField>\n );\n },\n representation: (props, children) =>\n `<ArrayField source=\"${\n props.source\n }\"><SingleFieldList><ChipField source=\"${\n children.length > 0 && children[0].getProps().source\n }\" /></SingleFieldList></ArrayField>`,\n },\n boolean: {\n component: BooleanField,\n representation: props => `<BooleanField source=\"${props.source}\" />`,\n },\n date: {\n component: DateField,\n representation: props => `<DateField source=\"${props.source}\" />`,\n },\n email: {\n component: EmailField,\n representation: props => `<EmailField source=\"${props.source}\" />`,\n },\n id: {\n component: TextField,\n representation: props => `<TextField source=\"${props.source}\" />`,\n },\n number: {\n component: NumberField,\n representation: props => `<NumberField source=\"${props.source}\" />`,\n },\n reference: {\n component: ReferenceField,\n representation: props =>\n `<ReferenceField source=\"${props.source}\" reference=\"${props.reference}\" />`,\n },\n referenceChild: {\n component: () => <TextField source=\"id\" />, // eslint-disable-line react/display-name\n representation: () => `<TextField source=\"id\" />`,\n },\n referenceArray: {\n component: ReferenceArrayField,\n representation: props =>\n `<ReferenceArrayField source=\"${props.source}\" reference=\"${props.reference}\" />`,\n },\n referenceArrayChild: {\n component: () => (\n <SingleFieldList>\n <ChipField source=\"id\" />\n </SingleFieldList>\n ), // eslint-disable-line react/display-name\n representation: () =>\n `<SingleFieldList><ChipField source=\"id\" /></SingleFieldList>`,\n },\n richText: undefined, // never display a rich text field in a datagrid\n string: {\n component: TextField,\n representation: props => `<TextField source=\"${props.source}\" />`,\n },\n url: {\n component: UrlField,\n representation: props => `<UrlField source=\"${props.source}\" />`,\n },\n};\n","import * as React from 'react';\nimport { useState, useEffect } from 'react';\n\nimport {\n ListBase,\n getElementsFromRecords,\n InferredElement,\n useListContext,\n useResourceContext,\n RaRecord,\n usePrevious,\n} from 'ra-core';\nimport { useLocation } from 'react-router';\n\nimport { ListProps } from './List';\nimport { ListView, ListViewProps } from './ListView';\nimport { listFieldTypes } from './listFieldTypes';\nimport { capitalize, singularize } from 'inflection';\n\n/**\n * List component rendering a <Datagrid> based on the result of the\n * dataProvider.getList() call.\n *\n * The result (choice and type of columns) isn't configurable, but the\n * <ListGuesser> outputs the <Datagrid> it has guessed to the console so that\n * developers can start from there.\n *\n * To be used as the list prop of a <Resource>.\n *\n * @example\n *\n * import { Admin, Resource, ListGuesser } from 'react-admin';\n *\n * const App = () => (\n * <Admin dataProvider={myDataProvider}>\n * <Resource name=\"posts\" list={ListGuesser} />\n * </Admin>\n * );\n */\nexport const ListGuesser = <RecordType extends RaRecord = any>(\n props: Omit<ListProps, 'children'> & { enableLog?: boolean }\n) => {\n const {\n debounce,\n disableAuthentication,\n disableSyncWithLocation,\n exporter,\n filter,\n filterDefaultValues,\n perPage,\n queryOptions,\n resource,\n sort,\n ...rest\n } = props;\n // force a rerender of this component when any list parameter changes\n // otherwise the ListBase won't be rerendered when the sort changes\n // and the following check won't be performed\n useLocation();\n // keep previous data, unless the resource changes\n const resourceFromContext = useResourceContext(props);\n const previousResource = usePrevious(resourceFromContext);\n const keepPreviousData = previousResource === resourceFromContext;\n return (\n <ListBase<RecordType>\n debounce={debounce}\n disableAuthentication={disableAuthentication}\n disableSyncWithLocation={disableSyncWithLocation}\n exporter={exporter}\n filter={filter}\n filterDefaultValues={filterDefaultValues}\n perPage={perPage}\n queryOptions={{\n placeholderData: previousData =>\n keepPreviousData ? previousData : undefined,\n }}\n resource={resource}\n sort={sort}\n >\n <ListViewGuesser {...rest} />\n </ListBase>\n );\n};\n\nconst ListViewGuesser = (\n props: Omit<ListViewProps, 'children'> & { enableLog?: boolean }\n) => {\n const { data } = useListContext();\n const resource = useResourceContext();\n const [child, setChild] = useState<React.ReactElement | null>(null);\n const { enableLog = process.env.NODE_ENV === 'development', ...rest } =\n props;\n\n useEffect(() => {\n setChild(null);\n }, [resource]);\n\n useEffect(() => {\n if (data && data.length > 0 && !child) {\n const inferredElements = getElementsFromRecords(\n data,\n listFieldTypes\n );\n const inferredChild = new InferredElement(\n listFieldTypes.table,\n null,\n inferredElements\n );\n const inferredChildElement = inferredChild.getElement();\n const representation = inferredChild.getRepresentation();\n if (!resource) {\n throw new Error(\n 'Cannot use <ListGuesser> outside of a ResourceContext'\n );\n }\n if (!inferredChildElement || !representation) {\n return;\n }\n\n setChild(inferredChildElement);\n\n const components = ['List']\n .concat(\n Array.from(\n new Set(\n Array.from(representation.matchAll(/<([^/\\s>]+)/g))\n .map(match => match[1])\n .filter(component => component !== 'span')\n )\n )\n )\n .sort();\n\n if (enableLog) {\n // eslint-disable-next-line no-console\n console.log(\n `Guessed List:\n\nimport { ${components.join(', ')} } from 'react-admin';\n\nexport const ${capitalize(singularize(resource))}List = () => (\n <List>\n${inferredChild.getRepresentation()}\n </List>\n);`\n );\n }\n }\n }, [data, child, resource, enableLog]);\n\n return <ListView {...rest}>{child}</ListView>;\n};\n","import * as React from 'react';\nimport { styled } from '@mui/material/styles';\nimport Avatar from '@mui/material/Avatar';\nimport {\n List,\n ListProps,\n ListItem,\n ListItemAvatar,\n ListItemSecondaryAction,\n ListItemText,\n} from '@mui/material';\nimport { useTimeout } from 'ra-core';\n\nimport { Placeholder } from '../Placeholder';\n\nexport const SimpleListLoading = (props: Props & ListProps) => {\n const {\n className,\n hasLeftAvatarOrIcon,\n hasRightAvatarOrIcon,\n hasSecondaryText,\n hasTertiaryText,\n nbFakeLines = 5,\n ...rest\n } = props;\n\n const oneSecondHasPassed = useTimeout(1000);\n\n return oneSecondHasPassed ? (\n <StyledList className={className} {...rest}>\n {times(nbFakeLines, key => (\n <ListItem key={key}>\n {hasLeftAvatarOrIcon && (\n <ListItemAvatar>\n <Avatar> </Avatar>\n </ListItemAvatar>\n )}\n <ListItemText\n primary={\n <div>\n <Placeholder\n className={SimpleListLoadingClasses.primary}\n />\n {hasTertiaryText && (\n <span\n className={\n SimpleListLoadingClasses.tertiary\n }\n >\n <Placeholder />\n </span>\n )}\n </div>\n }\n secondary={\n hasSecondaryText ? <Placeholder /> : undefined\n }\n />\n {hasRightAvatarOrIcon && (\n <ListItemSecondaryAction>\n <Avatar> </Avatar>\n </ListItemSecondaryAction>\n )}\n </ListItem>\n ))}\n </StyledList>\n ) : null;\n};\n\nconst PREFIX = 'RaSimpleListLoading';\n\nexport const SimpleListLoadingClasses = {\n primary: `${PREFIX}-primary`,\n tertiary: `${PREFIX}-tertiary`,\n};\n\nconst StyledList = styled(List, {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})(({ theme }) => ({\n [`& .${SimpleListLoadingClasses.primary}`]: {\n width: '30vw',\n display: 'inline-block',\n marginBottom: theme.spacing(),\n },\n\n [`& .${SimpleListLoadingClasses.tertiary}`]: {\n float: 'right',\n opacity: 0.541176,\n minWidth: '10vw',\n },\n}));\n\nconst times = (nbChildren, fn) =>\n Array.from({ length: nbChildren }, (_, key) => fn(key));\n\ninterface Props {\n className?: string;\n hasLeftAvatarOrIcon?: boolean;\n hasRightAvatarOrIcon?: boolean;\n hasSecondaryText?: boolean;\n hasTertiaryText?: boolean;\n nbFakeLines?: number;\n}\n","import * as React from 'react';\nimport { styled } from '@mui/material/styles';\nimport type { SxProps } from '@mui/material';\nimport { isValidElement, ReactNode, ReactElement } from 'react';\nimport {\n Avatar,\n List,\n ListProps,\n ListItem,\n ListItemAvatar,\n ListItemButton,\n ListItemIcon,\n ListItemProps,\n ListItemSecondaryAction,\n ListItemText,\n} from '@mui/material';\nimport { Link } from 'react-router-dom';\nimport {\n Identifier,\n RaRecord,\n RecordContextProvider,\n sanitizeListRestProps,\n useListContextWithProps,\n useResourceContext,\n useGetRecordRepresentation,\n useCreatePath,\n useTranslate,\n} from 'ra-core';\n\nimport { SimpleListLoading } from './SimpleListLoading';\nimport { ListNoResults } from '../ListNoResults';\n\n/**\n * The <SimpleList> component renders a list of records as a Material UI <List>.\n * It is usually used as a child of react-admin's <List> and <ReferenceManyField> components.\n *\n * Also widely used on Mobile.\n *\n * Props:\n * - primaryText: function returning a React element (or some text) based on the record\n * - secondaryText: same\n * - tertiaryText: same\n * - leftAvatar: function returning a React element based on the record\n * - leftIcon: same\n * - rightAvatar: same\n * - rightIcon: same\n * - linkType: 'edit' or 'show', or a function returning 'edit' or 'show' based on the record\n * - rowStyle: function returning a style object based on (record, index)\n * - rowSx: function returning a sx object based on (record, index)\n *\n * @example // Display all posts as a List\n * const postRowSx = (record, index) => ({\n * backgroundColor: record.views >= 500 ? '#efe' : 'white',\n * });\n * export const PostList = () => (\n * <List>\n * <SimpleList\n * primaryText={record => record.title}\n * secondaryText={record => `${record.views} views`}\n * tertiaryText={record =>\n * new Date(record.published_at).toLocaleDateString()\n * }\n * rowSx={postRowSx}\n * />\n * </List>\n * );\n */\nexport const SimpleList = <RecordType extends RaRecord = any>(\n props: SimpleListProps<RecordType>\n) => {\n const {\n className,\n empty = DefaultEmpty,\n hasBulkActions,\n leftAvatar,\n leftIcon,\n linkType = 'edit',\n primaryText,\n rightAvatar,\n rightIcon,\n secondaryText,\n tertiaryText,\n rowSx,\n rowStyle,\n ...rest\n } = props;\n const { data, isPending, total } =\n useListContextWithProps<RecordType>(props);\n const resource = useResourceContext(props);\n const getRecordRepresentation = useGetRecordRepresentation(resource);\n const translate = useTranslate();\n\n if (isPending === true) {\n return (\n <SimpleListLoading\n className={className}\n hasLeftAvatarOrIcon={!!leftIcon || !!leftAvatar}\n hasRightAvatarOrIcon={!!rightIcon || !!rightAvatar}\n hasSecondaryText={!!secondaryText}\n hasTertiaryText={!!tertiaryText}\n />\n );\n }\n\n const renderAvatar = (\n record: RecordType,\n avatarCallback: FunctionToElement<RecordType>\n ) => {\n const avatarValue = avatarCallback(record, record.id);\n if (\n typeof avatarValue === 'string' &&\n (avatarValue.startsWith('http') || avatarValue.startsWith('data:'))\n ) {\n return <Avatar src={avatarValue} />;\n } else {\n return <Avatar>{avatarValue}</Avatar>;\n }\n };\n\n if (data == null || data.length === 0 || total === 0) {\n if (empty) {\n return empty;\n }\n\n return null;\n }\n\n return (\n <Root className={className} {...sanitizeListRestProps(rest)}>\n {data.map((record, rowIndex) => (\n <RecordContextProvider key={record.id} value={record}>\n <ListItem disablePadding>\n <LinkOrNot\n linkType={linkType}\n resource={resource}\n id={record.id}\n record={record}\n style={\n rowStyle\n ? rowStyle(record, rowIndex)\n : undefined\n }\n sx={rowSx?.(record, rowIndex)}\n >\n {leftIcon && (\n <ListItemIcon>\n {leftIcon(record, record.id)}\n </ListItemIcon>\n )}\n {leftAvatar && (\n <ListItemAvatar>\n {renderAvatar(record, leftAvatar)}\n </ListItemAvatar>\n )}\n <ListItemText\n primary={\n <div>\n {primaryText\n ? typeof primaryText === 'string'\n ? translate(primaryText, {\n ...record,\n _: primaryText,\n })\n : isValidElement(primaryText)\n ? primaryText\n : // @ts-ignore\n primaryText(\n record,\n record.id\n )\n : getRecordRepresentation(record)}\n\n {!!tertiaryText &&\n (isValidElement(tertiaryText) ? (\n tertiaryText\n ) : (\n <span\n className={\n SimpleListClasses.tertiary\n }\n >\n {typeof tertiaryText ===\n 'string'\n ? translate(\n tertiaryText,\n {\n ...record,\n _: tertiaryText,\n }\n )\n : isValidElement(\n tertiaryText\n )\n ? tertiaryText\n : // @ts-ignore\n tertiaryText(\n record,\n record.id\n )}\n </span>\n ))}\n </div>\n }\n secondary={\n !!secondaryText &&\n (typeof secondaryText === 'string'\n ? translate(secondaryText, {\n ...record,\n _: secondaryText,\n })\n : isValidElement(secondaryText)\n ? secondaryText\n : // @ts-ignore\n secondaryText(record, record.id))\n }\n />\n {(rightAvatar || rightIcon) && (\n <ListItemSecondaryAction>\n {rightAvatar && (\n <Avatar>\n {renderAvatar(record, rightAvatar)}\n </Avatar>\n )}\n {rightIcon && (\n <ListItemIcon>\n {rightIcon(record, record.id)}\n </ListItemIcon>\n )}\n </ListItemSecondaryAction>\n )}\n </LinkOrNot>\n </ListItem>\n </RecordContextProvider>\n ))}\n </Root>\n );\n};\n\nexport type FunctionToElement<RecordType extends RaRecord = any> = (\n record: RecordType,\n id: Identifier\n) => ReactNode;\n\nexport interface SimpleListProps<RecordType extends RaRecord = any>\n extends Omit<ListProps, 'classes'> {\n className?: string;\n empty?: ReactElement;\n hasBulkActions?: boolean;\n leftAvatar?: FunctionToElement<RecordType>;\n leftIcon?: FunctionToElement<RecordType>;\n primaryText?: FunctionToElement<RecordType> | ReactElement | string;\n linkType?: string | FunctionLinkType | false;\n rightAvatar?: FunctionToElement<RecordType>;\n rightIcon?: FunctionToElement<RecordType>;\n secondaryText?: FunctionToElement<RecordType> | ReactElement | string;\n tertiaryText?: FunctionToElement<RecordType> | ReactElement | string;\n rowSx?: (record: RecordType, index: number) => SxProps;\n rowStyle?: (record: RecordType, index: number) => any;\n // can be injected when using the component without context\n resource?: string;\n data?: RecordType[];\n isLoading?: boolean;\n isPending?: boolean;\n isLoaded?: boolean;\n total?: number;\n}\n\nconst LinkOrNot = (\n props: LinkOrNotProps & Omit<ListItemProps, 'button' | 'component' | 'id'>\n) => {\n const {\n classes: classesOverride,\n linkType,\n resource,\n id,\n children,\n record,\n ...rest\n } = props;\n const createPath = useCreatePath();\n const type =\n typeof linkType === 'function' ? linkType(record, id) : linkType;\n\n if (type === false) {\n return (\n <ListItemText\n // @ts-ignore\n component=\"div\"\n {...rest}\n >\n {children}\n </ListItemText>\n );\n }\n return (\n // @ts-ignore\n <ListItemButton\n component={Link}\n to={createPath({ resource, id, type })}\n {...rest}\n >\n {children}\n </ListItemButton>\n );\n};\n\nexport type FunctionLinkType = (record: RaRecord, id: Identifier) => string;\n\nexport interface LinkOrNotProps {\n linkType: string | FunctionLinkType | false;\n resource?: string;\n id: Identifier;\n record: RaRecord;\n children: ReactNode;\n}\n\nconst PREFIX = 'RaSimpleList';\n\nexport const SimpleListClasses = {\n tertiary: `${PREFIX}-tertiary`,\n};\n\nconst Root = styled(List, {\n name: PREFIX,\n overridesResolver: (props, styles) => styles.root,\n})({\n [`& .${SimpleListClasses.tertiary}`]: { float: 'right', opacity: 0.541176 },\n});\n\nconst DefaultEmpty = <ListNoResults />;\n","import * as React from 'react';\nimport { createElement, ComponentType } from 'react';\nimport { CoreAdminUI, CoreAdminUIProps } from 'ra-core';\nimport { ScopedCssBaseline } from '@mui/material';\n\nimport {\n Layout as DefaultLayout,\n LoadingPage,\n NotFound,\n Notification,\n Error,\n} from './layout';\nimport { Login, AuthCallback } from './auth';\n\nexport const AdminUI = ({\n layout = DefaultLayout,\n catchAll = NotFound,\n loading = LoadingPage,\n loginPage = Login,\n authCallbackPage = AuthCallback,\n notification = Notification,\n error = Error,\n ...props\n}: AdminUIProps) => (\n <ScopedCssBaseline enableColorScheme>\n <CoreAdminUI\n layout={layout}\n catchAll={catchAll}\n loading={loading}\n loginPage={loginPage}\n authCallbackPage={authCallbackPage}\n error={error}\n {...props}\n />\n {createElement(notification)}\n </ScopedCssBaseline>\n);\n\nexport interface AdminUIProps extends CoreAdminUIProps {\n /**\n * The component used to display notifications\n *\n * @see https://marmelab.com/react-admin/Admin.html#notification\n * @example\n * import { Admin, Notification } from 'react-admin';\n * import { dataProvider } from './dataProvider';\n *\n * const MyNotification = () => <Notification autoHideDuration={5000} />;\n *\n * const App = () => (\n * <Admin notification={MyNotification} dataProvider={dataProvider}>\n * ...\n * </Admin>\n * );\n */\n notification?: ComponentType;\n}\n","import * as React from 'react';\nimport { CoreAdminContext, CoreAdminContextProps } from 'ra-core';\n\nimport {\n ThemeProvider,\n ThemesContext,\n RaThemeOptions,\n defaultLightTheme,\n defaultDarkTheme,\n} from './theme';\n\nexport const AdminContext = (props: AdminContextProps) => {\n const {\n theme,\n lightTheme = defaultLightTheme,\n darkTheme,\n defaultTheme,\n children,\n ...rest\n } = props;\n return (\n <CoreAdminContext {...rest}>\n <ThemesContext.Provider\n value={{\n lightTheme: theme || lightTheme,\n darkTheme:\n theme && !darkTheme\n ? undefined\n : !darkTheme && darkTheme !== null\n ? defaultDarkTheme\n : darkTheme ?? undefined,\n defaultTheme,\n }}\n >\n <ThemeProvider>{children}</ThemeProvider>\n </ThemesContext.Provider>\n </CoreAdminContext>\n );\n};\n\nexport interface AdminContextProps extends CoreAdminContextProps {\n /**\n * The material-UI theme to customize the UI\n *\n * @see https://marmelab.com/react-admin/Admin.html#theme\n * @example\n * import { Admin, defaultTheme } from 'react-admin';\n * import { dataProvider } from './dataProvider';\n *\n * const theme = {\n * ...defaultTheme,\n * palette: { mode: 'dark' },\n * };\n *\n * const App = () => (\n * <Admin theme={theme} dataProvider={dataProvider}>\n * ...\n * </Admin>\n * );\n */\n theme?: object;\n\n /**\n * The material-UI theme to customize the UI. Prefer the theme prop.\n * If not provided, the default light theme is used.\n *\n * @see https://marmelab.com/react-admin/Admin.html#theme\n */\n lightTheme?: RaThemeOptions;\n\n /**\n * The material-UI theme to apply to the UI when the dark mode is activated.\n * If not provided, the default dark theme is used.\n * If set to null, the dark mode is disabled.\n *\n * @see https://marmelab.com/react-admin/Admin.html#darktheme\n * @example\n * import { Admin } from 'react-admin';\n * import { dataProvider } from './dataProvider';\n * import { darkTheme, lightTheme } from './themes';\n *\n * const App = () => (\n * <Admin\n * dataProvider={dataProvider}\n * theme={lightTheme}\n * darkTheme={darkTheme}\n * >\n * ...\n * </Admin>\n * );\n */\n darkTheme?: RaThemeOptions | null;\n\n /**\n * The default theme to use when the user hasn't chosen a theme yet.\n *\n * @see https://marmelab.com/react-admin/Admin.html#defaulttheme\n * @example\n * import { Admin } from 'react-admin';\n * import { dataProvider } from './dataProvider';\n * import { darkTheme, lightTheme } from './themes';\n *\n * const App = () => (\n * <Admin\n * dataProvider={dataProvider}\n * theme={lightTheme}\n * darkTheme={darkTheme}\n * defaultTheme=\"dark\"\n * >\n * ...\n * </Admin>\n * );\n */\n defaultTheme?: 'light' | 'dark';\n}\n\nAdminContext.displayName = 'AdminContext';\n","import { TranslationMessages } from 'ra-core';\n\nconst englishMessages: TranslationMessages = {\n ra: {\n action: {\n add_filter: 'Add filter',\n add: 'Add',\n back: 'Go Back',\n bulk_actions: '1 item selected |||| %{smart_count} items selected',\n cancel: 'Cancel',\n clear_array_input: 'Clear the list',\n clear_input_value: 'Clear value',\n clone: 'Clone',\n confirm: 'Confirm',\n create: 'Create',\n create_item: 'Create %{item}',\n delete: 'Delete',\n edit: 'Edit',\n export: 'Export',\n list: 'List',\n refresh: 'Refresh',\n remove_filter: 'Remove this filter',\n remove_all_filters: 'Remove all filters',\n remove: 'Remove',\n save: 'Save',\n search: 'Search',\n select_all: 'Select all',\n select_row: 'Select this row',\n show: 'Show',\n sort: 'Sort',\n undo: 'Undo',\n unselect: 'Unselect',\n expand: 'Expand',\n close: 'Close',\n open_menu: 'Open menu',\n close_menu: 'Close menu',\n update: 'Update',\n move_up: 'Move up',\n move_down: 'Move down',\n open: 'Open',\n toggle_theme: 'Toggle light/dark mode',\n select_columns: 'Columns',\n update_application: 'Reload Application',\n },\n boolean: {\n true: 'Yes',\n false: 'No',\n null: ' ',\n },\n page: {\n create: 'Create %{name}',\n dashboard: 'Dashboard',\n edit: '%{name} %{recordRepresentation}',\n error: 'Something went wrong',\n list: '%{name}',\n loading: 'Loading',\n not_found: 'Not Found',\n show: '%{name} %{recordRepresentation}',\n empty: 'No %{name} yet.',\n invite: 'Do you want to add one?',\n },\n input: {\n file: {\n upload_several:\n 'Drop some files to upload, or click to select one.',\n upload_single: 'Drop a file to upload, or click to select it.',\n },\n image: {\n upload_several:\n 'Drop some pictures to upload, or click to select one.',\n upload_single:\n 'Drop a picture to upload, or click to select it.',\n },\n references: {\n all_missing: 'Unable to find references data.',\n many_missing:\n 'At least one of the associated references no longer appears to be available.',\n single_missing:\n 'Associated reference no longer appears to be available.',\n },\n password: {\n toggle_visible: 'Hide password',\n toggle_hidden: 'Show password',\n },\n },\n message: {\n about: 'About',\n are_you_sure: 'Are you sure?',\n auth_error:\n 'An error occurred while validating the authentication token.',\n bulk_delete_content:\n 'Are you sure you want to delete this %{name}? |||| Are you sure you want to delete these %{smart_count} items?',\n bulk_delete_title:\n 'Delete %{name} |||| Delete %{smart_count} %{name}',\n bulk_update_content:\n 'Are you sure you want to update this %{name}? |||| Are you sure you want to update these %{smart_count} items?',\n bulk_update_title:\n 'Update %{name} |||| Update %{smart_count} %{name}',\n clear_array_input: 'Are you sure you want to clear the whole list?',\n delete_content: 'Are you sure you want to delete this item?',\n delete_title: 'Delete %{name} #%{id}',\n details: 'Details',\n error: \"A client error occurred and your request couldn't be completed.\",\n\n invalid_form: 'The form is not valid. Please check for errors',\n loading: 'Please wait',\n no: 'No',\n not_found:\n 'Either you typed a wrong URL, or you followed a bad link.',\n yes: 'Yes',\n unsaved_changes:\n \"Some of your changes weren't saved. Are you sure you want to ignore them?\",\n },\n navigation: {\n no_results: 'No results found',\n no_more_results:\n 'The page number %{page} is out of boundaries. Try the previous page.',\n page_out_of_boundaries: 'Page number %{page} out of boundaries',\n page_out_from_end: 'Cannot go after last page',\n page_out_from_begin: 'Cannot go before page 1',\n page_range_info: '%{offsetBegin}-%{offsetEnd} of %{total}',\n partial_page_range_info:\n '%{offsetBegin}-%{offsetEnd} of more than %{offsetEnd}',\n current_page: 'Page %{page}',\n page: 'Go to page %{page}',\n first: 'Go to first page',\n last: 'Go to last page',\n next: 'Go to next page',\n previous: 'Go to previous page',\n page_rows_per_page: 'Rows per page:',\n skip_nav: 'Skip to content',\n },\n sort: {\n sort_by: 'Sort by %{field} %{order}',\n ASC: 'ascending',\n DESC: 'descending',\n },\n auth: {\n auth_check_error: 'Please login to continue',\n user_menu: 'Profile',\n username: 'Username',\n password: 'Password',\n sign_in: 'Sign in',\n sign_in_error: 'Authentication failed, please retry',\n logout: 'Logout',\n },\n notification: {\n updated: 'Element updated |||| %{smart_count} elements updated',\n created: 'Element created',\n deleted: 'Element deleted |||| %{smart_count} elements deleted',\n bad_item: 'Incorrect element',\n item_doesnt_exist: 'Element does not exist',\n http_error: 'Server communication error',\n data_provider_error:\n 'dataProvider error. Check the console for details.',\n i18n_error:\n 'Cannot load the translations for the specified language',\n canceled: 'Action cancelled',\n logged_out: 'Your session has ended, please reconnect.',\n not_authorized: \"You're not authorized to access this resource.\",\n application_update_available: 'A new version is available.',\n },\n validation: {\n required: 'Required',\n minLength: 'Must be %{min} characters at least',\n maxLength: 'Must be %{max} characters or less',\n minValue: 'Must be at least %{min}',\n maxValue: 'Must be %{max} or less',\n number: 'Must be a number',\n email: 'Must be a valid email',\n oneOf: 'Must be one of: %{options}',\n regex: 'Must match a specific format (regexp): %{pattern}',\n unique: 'Must be unique',\n },\n saved_queries: {\n label: 'Saved queries',\n query_name: 'Query name',\n new_label: 'Save current query...',\n new_dialog_title: 'Save current query as',\n remove_label: 'Remove saved query',\n remove_label_with_name: 'Remove query \"%{name}\"',\n remove_dialog_title: 'Remove saved query?',\n remove_message:\n 'Are you sure you want to remove that item from your list of saved queries?',\n help: 'Filter the list and save this query for later',\n },\n configurable: {\n customize: 'Customize',\n configureMode: 'Configure this page',\n inspector: {\n title: 'Inspector',\n content: 'Hover the application UI elements to configure them',\n reset: 'Reset Settings',\n hideAll: 'Hide All',\n showAll: 'Show All',\n },\n Datagrid: {\n title: 'Datagrid',\n unlabeled: 'Unlabeled column #%{column}',\n },\n SimpleForm: {\n title: 'Form',\n unlabeled: 'Unlabeled input #%{input}',\n },\n SimpleList: {\n title: 'List',\n primaryText: 'Primary text',\n secondaryText: 'Secondary text',\n tertiaryText: 'Tertiary text',\n },\n },\n },\n};\n\nexport default englishMessages;\n","'use strict';\n\nvar toStr = Object.prototype.toString;\n\nmodule.exports = function isArguments(value) {\n\tvar str = toStr.call(value);\n\tvar isArgs = str === '[object Arguments]';\n\tif (!isArgs) {\n\t\tisArgs = str !== '[object Array]' &&\n\t\t\tvalue !== null &&\n\t\t\ttypeof value === 'object' &&\n\t\t\ttypeof value.length === 'number' &&\n\t\t\tvalue.length >= 0 &&\n\t\t\ttoStr.call(value.callee) === '[object Function]';\n\t}\n\treturn isArgs;\n};\n","'use strict';\n\nvar keysShim;\nif (!Object.keys) {\n\t// modified from https://github.com/es-shims/es5-shim\n\tvar has = Object.prototype.hasOwnProperty;\n\tvar toStr = Object.prototype.toString;\n\tvar isArgs = require('./isArguments'); // eslint-disable-line global-require\n\tvar isEnumerable = Object.prototype.propertyIsEnumerable;\n\tvar hasDontEnumBug = !isEnumerable.call({ toString: null }, 'toString');\n\tvar hasProtoEnumBug = isEnumerable.call(function () {}, 'prototype');\n\tvar dontEnums = [\n\t\t'toString',\n\t\t'toLocaleString',\n\t\t'valueOf',\n\t\t'hasOwnProperty',\n\t\t'isPrototypeOf',\n\t\t'propertyIsEnumerable',\n\t\t'constructor'\n\t];\n\tvar equalsConstructorPrototype = function (o) {\n\t\tvar ctor = o.constructor;\n\t\treturn ctor && ctor.prototype === o;\n\t};\n\tvar excludedKeys = {\n\t\t$applicationCache: true,\n\t\t$console: true,\n\t\t$external: true,\n\t\t$frame: true,\n\t\t$frameElement: true,\n\t\t$frames: true,\n\t\t$innerHeight: true,\n\t\t$innerWidth: true,\n\t\t$onmozfullscreenchange: true,\n\t\t$onmozfullscreenerror: true,\n\t\t$outerHeight: true,\n\t\t$outerWidth: true,\n\t\t$pageXOffset: true,\n\t\t$pageYOffset: true,\n\t\t$parent: true,\n\t\t$scrollLeft: true,\n\t\t$scrollTop: true,\n\t\t$scrollX: true,\n\t\t$scrollY: true,\n\t\t$self: true,\n\t\t$webkitIndexedDB: true,\n\t\t$webkitStorageInfo: true,\n\t\t$window: true\n\t};\n\tvar hasAutomationEqualityBug = (function () {\n\t\t/* global window */\n\t\tif (typeof window === 'undefined') { return false; }\n\t\tfor (var k in window) {\n\t\t\ttry {\n\t\t\t\tif (!excludedKeys['$' + k] && has.call(window, k) && window[k] !== null && typeof window[k] === 'object') {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tequalsConstructorPrototype(window[k]);\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}());\n\tvar equalsConstructorPrototypeIfNotBuggy = function (o) {\n\t\t/* global window */\n\t\tif (typeof window === 'undefined' || !hasAutomationEqualityBug) {\n\t\t\treturn equalsConstructorPrototype(o);\n\t\t}\n\t\ttry {\n\t\t\treturn equalsConstructorPrototype(o);\n\t\t} catch (e) {\n\t\t\treturn false;\n\t\t}\n\t};\n\n\tkeysShim = function keys(object) {\n\t\tvar isObject = object !== null && typeof object === 'object';\n\t\tvar isFunction = toStr.call(object) === '[object Function]';\n\t\tvar isArguments = isArgs(object);\n\t\tvar isString = isObject && toStr.call(object) === '[object String]';\n\t\tvar theKeys = [];\n\n\t\tif (!isObject && !isFunction && !isArguments) {\n\t\t\tthrow new TypeError('Object.keys called on a non-object');\n\t\t}\n\n\t\tvar skipProto = hasProtoEnumBug && isFunction;\n\t\tif (isString && object.length > 0 && !has.call(object, 0)) {\n\t\t\tfor (var i = 0; i < object.length; ++i) {\n\t\t\t\ttheKeys.push(String(i));\n\t\t\t}\n\t\t}\n\n\t\tif (isArguments && object.length > 0) {\n\t\t\tfor (var j = 0; j < object.length; ++j) {\n\t\t\t\ttheKeys.push(String(j));\n\t\t\t}\n\t\t} else {\n\t\t\tfor (var name in object) {\n\t\t\t\tif (!(skipProto && name === 'prototype') && has.call(object, name)) {\n\t\t\t\t\ttheKeys.push(String(name));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (hasDontEnumBug) {\n\t\t\tvar skipConstructor = equalsConstructorPrototypeIfNotBuggy(object);\n\n\t\t\tfor (var k = 0; k < dontEnums.length; ++k) {\n\t\t\t\tif (!(skipConstructor && dontEnums[k] === 'constructor') && has.call(object, dontEnums[k])) {\n\t\t\t\t\ttheKeys.push(dontEnums[k]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn theKeys;\n\t};\n}\nmodule.exports = keysShim;\n","'use strict';\n\nvar slice = Array.prototype.slice;\nvar isArgs = require('./isArguments');\n\nvar origKeys = Object.keys;\nvar keysShim = origKeys ? function keys(o) { return origKeys(o); } : require('./implementation');\n\nvar originalKeys = Object.keys;\n\nkeysShim.shim = function shimObjectKeys() {\n\tif (Object.keys) {\n\t\tvar keysWorksWithArguments = (function () {\n\t\t\t// Safari 5.0 bug\n\t\t\tvar args = Object.keys(arguments);\n\t\t\treturn args && args.length === arguments.length;\n\t\t}(1, 2));\n\t\tif (!keysWorksWithArguments) {\n\t\t\tObject.keys = function keys(object) { // eslint-disable-line func-name-matching\n\t\t\t\tif (isArgs(object)) {\n\t\t\t\t\treturn originalKeys(slice.call(object));\n\t\t\t\t}\n\t\t\t\treturn originalKeys(object);\n\t\t\t};\n\t\t}\n\t} else {\n\t\tObject.keys = keysShim;\n\t}\n\treturn Object.keys || keysShim;\n};\n\nmodule.exports = keysShim;\n","'use strict';\n\n/** @type {import('.')} */\nmodule.exports = Error;\n","'use strict';\n\n/** @type {import('./eval')} */\nmodule.exports = EvalError;\n","'use strict';\n\n/** @type {import('./range')} */\nmodule.exports = RangeError;\n","'use strict';\n\n/** @type {import('./ref')} */\nmodule.exports = ReferenceError;\n","'use strict';\n\n/** @type {import('./syntax')} */\nmodule.exports = SyntaxError;\n","'use strict';\n\n/** @type {import('./type')} */\nmodule.exports = TypeError;\n","'use strict';\n\n/** @type {import('./uri')} */\nmodule.exports = URIError;\n","'use strict';\n\n/* eslint complexity: [2, 18], max-statements: [2, 33] */\nmodule.exports = function hasSymbols() {\n\tif (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }\n\tif (typeof Symbol.iterator === 'symbol') { return true; }\n\n\tvar obj = {};\n\tvar sym = Symbol('test');\n\tvar symObj = Object(sym);\n\tif (typeof sym === 'string') { return false; }\n\n\tif (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }\n\tif (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }\n\n\t// temp disabled per https://github.com/ljharb/object.assign/issues/17\n\t// if (sym instanceof Symbol) { return false; }\n\t// temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4\n\t// if (!(symObj instanceof Symbol)) { return false; }\n\n\t// if (typeof Symbol.prototype.toString !== 'function') { return false; }\n\t// if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }\n\n\tvar symVal = 42;\n\tobj[sym] = symVal;\n\tfor (sym in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop\n\tif (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }\n\n\tif (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }\n\n\tvar syms = Object.getOwnPropertySymbols(obj);\n\tif (syms.length !== 1 || syms[0] !== sym) { return false; }\n\n\tif (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }\n\n\tif (typeof Object.getOwnPropertyDescriptor === 'function') {\n\t\tvar descriptor = Object.getOwnPropertyDescriptor(obj, sym);\n\t\tif (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }\n\t}\n\n\treturn true;\n};\n","'use strict';\n\nvar origSymbol = typeof Symbol !== 'undefined' && Symbol;\nvar hasSymbolSham = require('./shams');\n\nmodule.exports = function hasNativeSymbols() {\n\tif (typeof origSymbol !== 'function') { return false; }\n\tif (typeof Symbol !== 'function') { return false; }\n\tif (typeof origSymbol('foo') !== 'symbol') { return false; }\n\tif (typeof Symbol('bar') !== 'symbol') { return false; }\n\n\treturn hasSymbolSham();\n};\n","'use strict';\n\nvar test = {\n\tfoo: {}\n};\n\nvar $Object = Object;\n\nmodule.exports = function hasProto() {\n\treturn { __proto__: test }.foo === test.foo && !({ __proto__: null } instanceof $Object);\n};\n","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar toStr = Object.prototype.toString;\nvar max = Math.max;\nvar funcType = '[object Function]';\n\nvar concatty = function concatty(a, b) {\n var arr = [];\n\n for (var i = 0; i < a.length; i += 1) {\n arr[i] = a[i];\n }\n for (var j = 0; j < b.length; j += 1) {\n arr[j + a.length] = b[j];\n }\n\n return arr;\n};\n\nvar slicy = function slicy(arrLike, offset) {\n var arr = [];\n for (var i = offset || 0, j = 0; i < arrLike.length; i += 1, j += 1) {\n arr[j] = arrLike[i];\n }\n return arr;\n};\n\nvar joiny = function (arr, joiner) {\n var str = '';\n for (var i = 0; i < arr.length; i += 1) {\n str += arr[i];\n if (i + 1 < arr.length) {\n str += joiner;\n }\n }\n return str;\n};\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.apply(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slicy(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n concatty(args, arguments)\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n }\n return target.apply(\n that,\n concatty(args, arguments)\n );\n\n };\n\n var boundLength = max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs[i] = '$' + i;\n }\n\n bound = Function('binder', 'return function (' + joiny(boundArgs, ',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","'use strict';\n\nvar call = Function.prototype.call;\nvar $hasOwn = Object.prototype.hasOwnProperty;\nvar bind = require('function-bind');\n\n/** @type {(o: {}, p: PropertyKey) => p is keyof o} */\nmodule.exports = bind.call(call, $hasOwn);\n","'use strict';\n\nvar undefined;\n\nvar $Error = require('es-errors');\nvar $EvalError = require('es-errors/eval');\nvar $RangeError = require('es-errors/range');\nvar $ReferenceError = require('es-errors/ref');\nvar $SyntaxError = require('es-errors/syntax');\nvar $TypeError = require('es-errors/type');\nvar $URIError = require('es-errors/uri');\n\nvar $Function = Function;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = Object.getOwnPropertyDescriptor;\nif ($gOPD) {\n\ttry {\n\t\t$gOPD({}, '');\n\t} catch (e) {\n\t\t$gOPD = null; // this is IE 8, which has a broken gOPD\n\t}\n}\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\nvar hasProto = require('has-proto')();\n\nvar getProto = Object.getPrototypeOf || (\n\thasProto\n\t\t? function (x) { return x.__proto__; } // eslint-disable-line no-proto\n\t\t: null\n);\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' || !getProto ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t__proto__: null,\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols && getProto ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%BigInt64Array%': typeof BigInt64Array === 'undefined' ? undefined : BigInt64Array,\n\t'%BigUint64Array%': typeof BigUint64Array === 'undefined' ? undefined : BigUint64Array,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': $Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': $EvalError,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols && getProto ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': Object,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': $RangeError,\n\t'%ReferenceError%': $ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols && getProto ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': $URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet\n};\n\nif (getProto) {\n\ttry {\n\t\tnull.error; // eslint-disable-line no-unused-expressions\n\t} catch (e) {\n\t\t// https://github.com/tc39/proposal-shadowrealm/pull/384#issuecomment-1364264229\n\t\tvar errorProto = getProto(getProto(e));\n\t\tINTRINSICS['%Error.prototype%'] = errorProto;\n\t}\n}\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen && getProto) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t__proto__: null,\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('hasown');\nvar $concat = bind.call(Function.call, Array.prototype.concat);\nvar $spliceApply = bind.call(Function.apply, Array.prototype.splice);\nvar $replace = bind.call(Function.call, String.prototype.replace);\nvar $strSlice = bind.call(Function.call, String.prototype.slice);\nvar $exec = bind.call(Function.call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\n/** @type {import('.')} */\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true) || false;\nif ($defineProperty) {\n\ttry {\n\t\t$defineProperty({}, 'a', { value: 1 });\n\t} catch (e) {\n\t\t// IE 8 has a broken defineProperty\n\t\t$defineProperty = false;\n\t}\n}\n\nmodule.exports = $defineProperty;\n","'use strict';\n\nvar undefined;\n\nvar $SyntaxError = SyntaxError;\nvar $Function = Function;\nvar $TypeError = TypeError;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = Object.getOwnPropertyDescriptor;\nif ($gOPD) {\n\ttry {\n\t\t$gOPD({}, '');\n\t} catch (e) {\n\t\t$gOPD = null; // this is IE 8, which has a broken gOPD\n\t}\n}\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\nvar hasProto = require('has-proto')();\n\nvar getProto = Object.getPrototypeOf || (\n\thasProto\n\t\t? function (x) { return x.__proto__; } // eslint-disable-line no-proto\n\t\t: null\n);\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' || !getProto ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols && getProto ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%BigInt64Array%': typeof BigInt64Array === 'undefined' ? undefined : BigInt64Array,\n\t'%BigUint64Array%': typeof BigUint64Array === 'undefined' ? undefined : BigUint64Array,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': EvalError,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols && getProto ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': Object,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': RangeError,\n\t'%ReferenceError%': ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols && getProto ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet\n};\n\nif (getProto) {\n\ttry {\n\t\tnull.error; // eslint-disable-line no-unused-expressions\n\t} catch (e) {\n\t\t// https://github.com/tc39/proposal-shadowrealm/pull/384#issuecomment-1364264229\n\t\tvar errorProto = getProto(getProto(e));\n\t\tINTRINSICS['%Error.prototype%'] = errorProto;\n\t}\n}\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen && getProto) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('hasown');\nvar $concat = bind.call(Function.call, Array.prototype.concat);\nvar $spliceApply = bind.call(Function.apply, Array.prototype.splice);\nvar $replace = bind.call(Function.call, String.prototype.replace);\nvar $strSlice = bind.call(Function.call, String.prototype.slice);\nvar $exec = bind.call(Function.call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true);\n\nif ($gOPD) {\n\ttry {\n\t\t$gOPD([], 'length');\n\t} catch (e) {\n\t\t// IE 8 has a broken gOPD\n\t\t$gOPD = null;\n\t}\n}\n\nmodule.exports = $gOPD;\n","'use strict';\n\nvar $defineProperty = require('es-define-property');\n\nvar $SyntaxError = require('es-errors/syntax');\nvar $TypeError = require('es-errors/type');\n\nvar gopd = require('gopd');\n\n/** @type {import('.')} */\nmodule.exports = function defineDataProperty(\n\tobj,\n\tproperty,\n\tvalue\n) {\n\tif (!obj || (typeof obj !== 'object' && typeof obj !== 'function')) {\n\t\tthrow new $TypeError('`obj` must be an object or a function`');\n\t}\n\tif (typeof property !== 'string' && typeof property !== 'symbol') {\n\t\tthrow new $TypeError('`property` must be a string or a symbol`');\n\t}\n\tif (arguments.length > 3 && typeof arguments[3] !== 'boolean' && arguments[3] !== null) {\n\t\tthrow new $TypeError('`nonEnumerable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 4 && typeof arguments[4] !== 'boolean' && arguments[4] !== null) {\n\t\tthrow new $TypeError('`nonWritable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 5 && typeof arguments[5] !== 'boolean' && arguments[5] !== null) {\n\t\tthrow new $TypeError('`nonConfigurable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 6 && typeof arguments[6] !== 'boolean') {\n\t\tthrow new $TypeError('`loose`, if provided, must be a boolean');\n\t}\n\n\tvar nonEnumerable = arguments.length > 3 ? arguments[3] : null;\n\tvar nonWritable = arguments.length > 4 ? arguments[4] : null;\n\tvar nonConfigurable = arguments.length > 5 ? arguments[5] : null;\n\tvar loose = arguments.length > 6 ? arguments[6] : false;\n\n\t/* @type {false | TypedPropertyDescriptor<unknown>} */\n\tvar desc = !!gopd && gopd(obj, property);\n\n\tif ($defineProperty) {\n\t\t$defineProperty(obj, property, {\n\t\t\tconfigurable: nonConfigurable === null && desc ? desc.configurable : !nonConfigurable,\n\t\t\tenumerable: nonEnumerable === null && desc ? desc.enumerable : !nonEnumerable,\n\t\t\tvalue: value,\n\t\t\twritable: nonWritable === null && desc ? desc.writable : !nonWritable\n\t\t});\n\t} else if (loose || (!nonEnumerable && !nonWritable && !nonConfigurable)) {\n\t\t// must fall back to [[Set]], and was not explicitly asked to make non-enumerable, non-writable, or non-configurable\n\t\tobj[property] = value; // eslint-disable-line no-param-reassign\n\t} else {\n\t\tthrow new $SyntaxError('This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.');\n\t}\n};\n","'use strict';\n\nvar $defineProperty = require('es-define-property');\n\nvar hasPropertyDescriptors = function hasPropertyDescriptors() {\n\treturn !!$defineProperty;\n};\n\nhasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBug() {\n\t// node v0.6 has a bug where array lengths can be Set but not Defined\n\tif (!$defineProperty) {\n\t\treturn null;\n\t}\n\ttry {\n\t\treturn $defineProperty([], 'length', { value: 1 }).length !== 1;\n\t} catch (e) {\n\t\t// In Firefox 4-22, defining length on an array throws an exception.\n\t\treturn true;\n\t}\n};\n\nmodule.exports = hasPropertyDescriptors;\n","'use strict';\n\nvar keys = require('object-keys');\nvar hasSymbols = typeof Symbol === 'function' && typeof Symbol('foo') === 'symbol';\n\nvar toStr = Object.prototype.toString;\nvar concat = Array.prototype.concat;\nvar defineDataProperty = require('define-data-property');\n\nvar isFunction = function (fn) {\n\treturn typeof fn === 'function' && toStr.call(fn) === '[object Function]';\n};\n\nvar supportsDescriptors = require('has-property-descriptors')();\n\nvar defineProperty = function (object, name, value, predicate) {\n\tif (name in object) {\n\t\tif (predicate === true) {\n\t\t\tif (object[name] === value) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t} else if (!isFunction(predicate) || !predicate()) {\n\t\t\treturn;\n\t\t}\n\t}\n\n\tif (supportsDescriptors) {\n\t\tdefineDataProperty(object, name, value, true);\n\t} else {\n\t\tdefineDataProperty(object, name, value);\n\t}\n};\n\nvar defineProperties = function (object, map) {\n\tvar predicates = arguments.length > 2 ? arguments[2] : {};\n\tvar props = keys(map);\n\tif (hasSymbols) {\n\t\tprops = concat.call(props, Object.getOwnPropertySymbols(map));\n\t}\n\tfor (var i = 0; i < props.length; i += 1) {\n\t\tdefineProperty(object, props[i], map[props[i]], predicates[props[i]]);\n\t}\n};\n\ndefineProperties.supportsDescriptors = !!supportsDescriptors;\n\nmodule.exports = defineProperties;\n","'use strict';\n\nvar hasPropertyDescriptors = require('has-property-descriptors')();\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $defineProperty = hasPropertyDescriptors && GetIntrinsic('%Object.defineProperty%', true);\nif ($defineProperty) {\n\ttry {\n\t\t$defineProperty({}, 'a', { value: 1 });\n\t} catch (e) {\n\t\t// IE 8 has a broken defineProperty\n\t\t$defineProperty = false;\n\t}\n}\n\nvar $SyntaxError = GetIntrinsic('%SyntaxError%');\nvar $TypeError = GetIntrinsic('%TypeError%');\n\nvar gopd = require('gopd');\n\n/** @type {(obj: Record<PropertyKey, unknown>, property: PropertyKey, value: unknown, nonEnumerable?: boolean | null, nonWritable?: boolean | null, nonConfigurable?: boolean | null, loose?: boolean) => void} */\nmodule.exports = function defineDataProperty(\n\tobj,\n\tproperty,\n\tvalue\n) {\n\tif (!obj || (typeof obj !== 'object' && typeof obj !== 'function')) {\n\t\tthrow new $TypeError('`obj` must be an object or a function`');\n\t}\n\tif (typeof property !== 'string' && typeof property !== 'symbol') {\n\t\tthrow new $TypeError('`property` must be a string or a symbol`');\n\t}\n\tif (arguments.length > 3 && typeof arguments[3] !== 'boolean' && arguments[3] !== null) {\n\t\tthrow new $TypeError('`nonEnumerable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 4 && typeof arguments[4] !== 'boolean' && arguments[4] !== null) {\n\t\tthrow new $TypeError('`nonWritable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 5 && typeof arguments[5] !== 'boolean' && arguments[5] !== null) {\n\t\tthrow new $TypeError('`nonConfigurable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 6 && typeof arguments[6] !== 'boolean') {\n\t\tthrow new $TypeError('`loose`, if provided, must be a boolean');\n\t}\n\n\tvar nonEnumerable = arguments.length > 3 ? arguments[3] : null;\n\tvar nonWritable = arguments.length > 4 ? arguments[4] : null;\n\tvar nonConfigurable = arguments.length > 5 ? arguments[5] : null;\n\tvar loose = arguments.length > 6 ? arguments[6] : false;\n\n\t/* @type {false | TypedPropertyDescriptor<unknown>} */\n\tvar desc = !!gopd && gopd(obj, property);\n\n\tif ($defineProperty) {\n\t\t$defineProperty(obj, property, {\n\t\t\tconfigurable: nonConfigurable === null && desc ? desc.configurable : !nonConfigurable,\n\t\t\tenumerable: nonEnumerable === null && desc ? desc.enumerable : !nonEnumerable,\n\t\t\tvalue: value,\n\t\t\twritable: nonWritable === null && desc ? desc.writable : !nonWritable\n\t\t});\n\t} else if (loose || (!nonEnumerable && !nonWritable && !nonConfigurable)) {\n\t\t// must fall back to [[Set]], and was not explicitly asked to make non-enumerable, non-writable, or non-configurable\n\t\tobj[property] = value; // eslint-disable-line no-param-reassign\n\t} else {\n\t\tthrow new $SyntaxError('This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.');\n\t}\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar define = require('define-data-property');\nvar hasDescriptors = require('has-property-descriptors')();\nvar gOPD = require('gopd');\n\nvar $TypeError = GetIntrinsic('%TypeError%');\nvar $floor = GetIntrinsic('%Math.floor%');\n\nmodule.exports = function setFunctionLength(fn, length) {\n\tif (typeof fn !== 'function') {\n\t\tthrow new $TypeError('`fn` is not a function');\n\t}\n\tif (typeof length !== 'number' || length < 0 || length > 0xFFFFFFFF || $floor(length) !== length) {\n\t\tthrow new $TypeError('`length` must be a positive 32-bit integer');\n\t}\n\n\tvar loose = arguments.length > 2 && !!arguments[2];\n\n\tvar functionLengthIsConfigurable = true;\n\tvar functionLengthIsWritable = true;\n\tif ('length' in fn && gOPD) {\n\t\tvar desc = gOPD(fn, 'length');\n\t\tif (desc && !desc.configurable) {\n\t\t\tfunctionLengthIsConfigurable = false;\n\t\t}\n\t\tif (desc && !desc.writable) {\n\t\t\tfunctionLengthIsWritable = false;\n\t\t}\n\t}\n\n\tif (functionLengthIsConfigurable || functionLengthIsWritable || !loose) {\n\t\tif (hasDescriptors) {\n\t\t\tdefine(fn, 'length', length, true, true);\n\t\t} else {\n\t\t\tdefine(fn, 'length', length);\n\t\t}\n\t}\n\treturn fn;\n};\n","'use strict';\n\nvar bind = require('function-bind');\nvar GetIntrinsic = require('get-intrinsic');\nvar setFunctionLength = require('set-function-length');\n\nvar $TypeError = GetIntrinsic('%TypeError%');\nvar $apply = GetIntrinsic('%Function.prototype.apply%');\nvar $call = GetIntrinsic('%Function.prototype.call%');\nvar $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply);\n\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true);\nvar $max = GetIntrinsic('%Math.max%');\n\nif ($defineProperty) {\n\ttry {\n\t\t$defineProperty({}, 'a', { value: 1 });\n\t} catch (e) {\n\t\t// IE 8 has a broken defineProperty\n\t\t$defineProperty = null;\n\t}\n}\n\nmodule.exports = function callBind(originalFunction) {\n\tif (typeof originalFunction !== 'function') {\n\t\tthrow new $TypeError('a function is required');\n\t}\n\tvar func = $reflectApply(bind, $call, arguments);\n\treturn setFunctionLength(\n\t\tfunc,\n\t\t1 + $max(0, originalFunction.length - (arguments.length - 1)),\n\t\ttrue\n\t);\n};\n\nvar applyBind = function applyBind() {\n\treturn $reflectApply(bind, $apply, arguments);\n};\n\nif ($defineProperty) {\n\t$defineProperty(module.exports, 'apply', { value: applyBind });\n} else {\n\tmodule.exports.apply = applyBind;\n}\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar callBind = require('./');\n\nvar $indexOf = callBind(GetIntrinsic('String.prototype.indexOf'));\n\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\n\tvar intrinsic = GetIntrinsic(name, !!allowMissing);\n\tif (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {\n\t\treturn callBind(intrinsic);\n\t}\n\treturn intrinsic;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $TypeError = GetIntrinsic('%TypeError%');\n\n// http://262.ecma-international.org/5.1/#sec-9.10\n\nmodule.exports = function CheckObjectCoercible(value, optMessage) {\n\tif (value == null) {\n\t\tthrow new $TypeError(optMessage || ('Cannot call method on ' + value));\n\t}\n\treturn value;\n};\n","'use strict';\n\nmodule.exports = require('../5/CheckObjectCoercible');\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $Array = GetIntrinsic('%Array%');\n\n// eslint-disable-next-line global-require\nvar toStr = !$Array.isArray && require('call-bind/callBound')('Object.prototype.toString');\n\n// https://ecma-international.org/ecma-262/6.0/#sec-isarray\n\nmodule.exports = $Array.isArray || function IsArray(argument) {\n\treturn toStr(argument) === '[object Array]';\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar callBound = require('call-bind/callBound');\n\nvar $TypeError = GetIntrinsic('%TypeError%');\n\nvar IsArray = require('./IsArray');\n\nvar $apply = GetIntrinsic('%Reflect.apply%', true) || callBound('%Function.prototype.apply%');\n\n// https://ecma-international.org/ecma-262/6.0/#sec-call\n\nmodule.exports = function Call(F, V) {\n\tvar argumentsList = arguments.length > 2 ? arguments[2] : [];\n\tif (!IsArray(argumentsList)) {\n\t\tthrow new $TypeError('Assertion failed: optional `argumentsList`, if provided, must be a List');\n\t}\n\treturn $apply(F, V, argumentsList);\n};\n","export default {}","var hasMap = typeof Map === 'function' && Map.prototype;\nvar mapSizeDescriptor = Object.getOwnPropertyDescriptor && hasMap ? Object.getOwnPropertyDescriptor(Map.prototype, 'size') : null;\nvar mapSize = hasMap && mapSizeDescriptor && typeof mapSizeDescriptor.get === 'function' ? mapSizeDescriptor.get : null;\nvar mapForEach = hasMap && Map.prototype.forEach;\nvar hasSet = typeof Set === 'function' && Set.prototype;\nvar setSizeDescriptor = Object.getOwnPropertyDescriptor && hasSet ? Object.getOwnPropertyDescriptor(Set.prototype, 'size') : null;\nvar setSize = hasSet && setSizeDescriptor && typeof setSizeDescriptor.get === 'function' ? setSizeDescriptor.get : null;\nvar setForEach = hasSet && Set.prototype.forEach;\nvar hasWeakMap = typeof WeakMap === 'function' && WeakMap.prototype;\nvar weakMapHas = hasWeakMap ? WeakMap.prototype.has : null;\nvar hasWeakSet = typeof WeakSet === 'function' && WeakSet.prototype;\nvar weakSetHas = hasWeakSet ? WeakSet.prototype.has : null;\nvar hasWeakRef = typeof WeakRef === 'function' && WeakRef.prototype;\nvar weakRefDeref = hasWeakRef ? WeakRef.prototype.deref : null;\nvar booleanValueOf = Boolean.prototype.valueOf;\nvar objectToString = Object.prototype.toString;\nvar functionToString = Function.prototype.toString;\nvar $match = String.prototype.match;\nvar $slice = String.prototype.slice;\nvar $replace = String.prototype.replace;\nvar $toUpperCase = String.prototype.toUpperCase;\nvar $toLowerCase = String.prototype.toLowerCase;\nvar $test = RegExp.prototype.test;\nvar $concat = Array.prototype.concat;\nvar $join = Array.prototype.join;\nvar $arrSlice = Array.prototype.slice;\nvar $floor = Math.floor;\nvar bigIntValueOf = typeof BigInt === 'function' ? BigInt.prototype.valueOf : null;\nvar gOPS = Object.getOwnPropertySymbols;\nvar symToString = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? Symbol.prototype.toString : null;\nvar hasShammedSymbols = typeof Symbol === 'function' && typeof Symbol.iterator === 'object';\n// ie, `has-tostringtag/shams\nvar toStringTag = typeof Symbol === 'function' && Symbol.toStringTag && (typeof Symbol.toStringTag === hasShammedSymbols ? 'object' : 'symbol')\n ? Symbol.toStringTag\n : null;\nvar isEnumerable = Object.prototype.propertyIsEnumerable;\n\nvar gPO = (typeof Reflect === 'function' ? Reflect.getPrototypeOf : Object.getPrototypeOf) || (\n [].__proto__ === Array.prototype // eslint-disable-line no-proto\n ? function (O) {\n return O.__proto__; // eslint-disable-line no-proto\n }\n : null\n);\n\nfunction addNumericSeparator(num, str) {\n if (\n num === Infinity\n || num === -Infinity\n || num !== num\n || (num && num > -1000 && num < 1000)\n || $test.call(/e/, str)\n ) {\n return str;\n }\n var sepRegex = /[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;\n if (typeof num === 'number') {\n var int = num < 0 ? -$floor(-num) : $floor(num); // trunc(num)\n if (int !== num) {\n var intStr = String(int);\n var dec = $slice.call(str, intStr.length + 1);\n return $replace.call(intStr, sepRegex, '$&_') + '.' + $replace.call($replace.call(dec, /([0-9]{3})/g, '$&_'), /_$/, '');\n }\n }\n return $replace.call(str, sepRegex, '$&_');\n}\n\nvar utilInspect = require('./util.inspect');\nvar inspectCustom = utilInspect.custom;\nvar inspectSymbol = isSymbol(inspectCustom) ? inspectCustom : null;\n\nmodule.exports = function inspect_(obj, options, depth, seen) {\n var opts = options || {};\n\n if (has(opts, 'quoteStyle') && (opts.quoteStyle !== 'single' && opts.quoteStyle !== 'double')) {\n throw new TypeError('option \"quoteStyle\" must be \"single\" or \"double\"');\n }\n if (\n has(opts, 'maxStringLength') && (typeof opts.maxStringLength === 'number'\n ? opts.maxStringLength < 0 && opts.maxStringLength !== Infinity\n : opts.maxStringLength !== null\n )\n ) {\n throw new TypeError('option \"maxStringLength\", if provided, must be a positive integer, Infinity, or `null`');\n }\n var customInspect = has(opts, 'customInspect') ? opts.customInspect : true;\n if (typeof customInspect !== 'boolean' && customInspect !== 'symbol') {\n throw new TypeError('option \"customInspect\", if provided, must be `true`, `false`, or `\\'symbol\\'`');\n }\n\n if (\n has(opts, 'indent')\n && opts.indent !== null\n && opts.indent !== '\\t'\n && !(parseInt(opts.indent, 10) === opts.indent && opts.indent > 0)\n ) {\n throw new TypeError('option \"indent\" must be \"\\\\t\", an integer > 0, or `null`');\n }\n if (has(opts, 'numericSeparator') && typeof opts.numericSeparator !== 'boolean') {\n throw new TypeError('option \"numericSeparator\", if provided, must be `true` or `false`');\n }\n var numericSeparator = opts.numericSeparator;\n\n if (typeof obj === 'undefined') {\n return 'undefined';\n }\n if (obj === null) {\n return 'null';\n }\n if (typeof obj === 'boolean') {\n return obj ? 'true' : 'false';\n }\n\n if (typeof obj === 'string') {\n return inspectString(obj, opts);\n }\n if (typeof obj === 'number') {\n if (obj === 0) {\n return Infinity / obj > 0 ? '0' : '-0';\n }\n var str = String(obj);\n return numericSeparator ? addNumericSeparator(obj, str) : str;\n }\n if (typeof obj === 'bigint') {\n var bigIntStr = String(obj) + 'n';\n return numericSeparator ? addNumericSeparator(obj, bigIntStr) : bigIntStr;\n }\n\n var maxDepth = typeof opts.depth === 'undefined' ? 5 : opts.depth;\n if (typeof depth === 'undefined') { depth = 0; }\n if (depth >= maxDepth && maxDepth > 0 && typeof obj === 'object') {\n return isArray(obj) ? '[Array]' : '[Object]';\n }\n\n var indent = getIndent(opts, depth);\n\n if (typeof seen === 'undefined') {\n seen = [];\n } else if (indexOf(seen, obj) >= 0) {\n return '[Circular]';\n }\n\n function inspect(value, from, noIndent) {\n if (from) {\n seen = $arrSlice.call(seen);\n seen.push(from);\n }\n if (noIndent) {\n var newOpts = {\n depth: opts.depth\n };\n if (has(opts, 'quoteStyle')) {\n newOpts.quoteStyle = opts.quoteStyle;\n }\n return inspect_(value, newOpts, depth + 1, seen);\n }\n return inspect_(value, opts, depth + 1, seen);\n }\n\n if (typeof obj === 'function' && !isRegExp(obj)) { // in older engines, regexes are callable\n var name = nameOf(obj);\n var keys = arrObjKeys(obj, inspect);\n return '[Function' + (name ? ': ' + name : ' (anonymous)') + ']' + (keys.length > 0 ? ' { ' + $join.call(keys, ', ') + ' }' : '');\n }\n if (isSymbol(obj)) {\n var symString = hasShammedSymbols ? $replace.call(String(obj), /^(Symbol\\(.*\\))_[^)]*$/, '$1') : symToString.call(obj);\n return typeof obj === 'object' && !hasShammedSymbols ? markBoxed(symString) : symString;\n }\n if (isElement(obj)) {\n var s = '<' + $toLowerCase.call(String(obj.nodeName));\n var attrs = obj.attributes || [];\n for (var i = 0; i < attrs.length; i++) {\n s += ' ' + attrs[i].name + '=' + wrapQuotes(quote(attrs[i].value), 'double', opts);\n }\n s += '>';\n if (obj.childNodes && obj.childNodes.length) { s += '...'; }\n s += '</' + $toLowerCase.call(String(obj.nodeName)) + '>';\n return s;\n }\n if (isArray(obj)) {\n if (obj.length === 0) { return '[]'; }\n var xs = arrObjKeys(obj, inspect);\n if (indent && !singleLineValues(xs)) {\n return '[' + indentedJoin(xs, indent) + ']';\n }\n return '[ ' + $join.call(xs, ', ') + ' ]';\n }\n if (isError(obj)) {\n var parts = arrObjKeys(obj, inspect);\n if (!('cause' in Error.prototype) && 'cause' in obj && !isEnumerable.call(obj, 'cause')) {\n return '{ [' + String(obj) + '] ' + $join.call($concat.call('[cause]: ' + inspect(obj.cause), parts), ', ') + ' }';\n }\n if (parts.length === 0) { return '[' + String(obj) + ']'; }\n return '{ [' + String(obj) + '] ' + $join.call(parts, ', ') + ' }';\n }\n if (typeof obj === 'object' && customInspect) {\n if (inspectSymbol && typeof obj[inspectSymbol] === 'function' && utilInspect) {\n return utilInspect(obj, { depth: maxDepth - depth });\n } else if (customInspect !== 'symbol' && typeof obj.inspect === 'function') {\n return obj.inspect();\n }\n }\n if (isMap(obj)) {\n var mapParts = [];\n mapForEach.call(obj, function (value, key) {\n mapParts.push(inspect(key, obj, true) + ' => ' + inspect(value, obj));\n });\n return collectionOf('Map', mapSize.call(obj), mapParts, indent);\n }\n if (isSet(obj)) {\n var setParts = [];\n setForEach.call(obj, function (value) {\n setParts.push(inspect(value, obj));\n });\n return collectionOf('Set', setSize.call(obj), setParts, indent);\n }\n if (isWeakMap(obj)) {\n return weakCollectionOf('WeakMap');\n }\n if (isWeakSet(obj)) {\n return weakCollectionOf('WeakSet');\n }\n if (isWeakRef(obj)) {\n return weakCollectionOf('WeakRef');\n }\n if (isNumber(obj)) {\n return markBoxed(inspect(Number(obj)));\n }\n if (isBigInt(obj)) {\n return markBoxed(inspect(bigIntValueOf.call(obj)));\n }\n if (isBoolean(obj)) {\n return markBoxed(booleanValueOf.call(obj));\n }\n if (isString(obj)) {\n return markBoxed(inspect(String(obj)));\n }\n if (!isDate(obj) && !isRegExp(obj)) {\n var ys = arrObjKeys(obj, inspect);\n var isPlainObject = gPO ? gPO(obj) === Object.prototype : obj instanceof Object || obj.constructor === Object;\n var protoTag = obj instanceof Object ? '' : 'null prototype';\n var stringTag = !isPlainObject && toStringTag && Object(obj) === obj && toStringTag in obj ? $slice.call(toStr(obj), 8, -1) : protoTag ? 'Object' : '';\n var constructorTag = isPlainObject || typeof obj.constructor !== 'function' ? '' : obj.constructor.name ? obj.constructor.name + ' ' : '';\n var tag = constructorTag + (stringTag || protoTag ? '[' + $join.call($concat.call([], stringTag || [], protoTag || []), ': ') + '] ' : '');\n if (ys.length === 0) { return tag + '{}'; }\n if (indent) {\n return tag + '{' + indentedJoin(ys, indent) + '}';\n }\n return tag + '{ ' + $join.call(ys, ', ') + ' }';\n }\n return String(obj);\n};\n\nfunction wrapQuotes(s, defaultStyle, opts) {\n var quoteChar = (opts.quoteStyle || defaultStyle) === 'double' ? '\"' : \"'\";\n return quoteChar + s + quoteChar;\n}\n\nfunction quote(s) {\n return $replace.call(String(s), /\"/g, '"');\n}\n\nfunction isArray(obj) { return toStr(obj) === '[object Array]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isDate(obj) { return toStr(obj) === '[object Date]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isRegExp(obj) { return toStr(obj) === '[object RegExp]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isError(obj) { return toStr(obj) === '[object Error]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isString(obj) { return toStr(obj) === '[object String]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isNumber(obj) { return toStr(obj) === '[object Number]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isBoolean(obj) { return toStr(obj) === '[object Boolean]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\n\n// Symbol and BigInt do have Symbol.toStringTag by spec, so that can't be used to eliminate false positives\nfunction isSymbol(obj) {\n if (hasShammedSymbols) {\n return obj && typeof obj === 'object' && obj instanceof Symbol;\n }\n if (typeof obj === 'symbol') {\n return true;\n }\n if (!obj || typeof obj !== 'object' || !symToString) {\n return false;\n }\n try {\n symToString.call(obj);\n return true;\n } catch (e) {}\n return false;\n}\n\nfunction isBigInt(obj) {\n if (!obj || typeof obj !== 'object' || !bigIntValueOf) {\n return false;\n }\n try {\n bigIntValueOf.call(obj);\n return true;\n } catch (e) {}\n return false;\n}\n\nvar hasOwn = Object.prototype.hasOwnProperty || function (key) { return key in this; };\nfunction has(obj, key) {\n return hasOwn.call(obj, key);\n}\n\nfunction toStr(obj) {\n return objectToString.call(obj);\n}\n\nfunction nameOf(f) {\n if (f.name) { return f.name; }\n var m = $match.call(functionToString.call(f), /^function\\s*([\\w$]+)/);\n if (m) { return m[1]; }\n return null;\n}\n\nfunction indexOf(xs, x) {\n if (xs.indexOf) { return xs.indexOf(x); }\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) { return i; }\n }\n return -1;\n}\n\nfunction isMap(x) {\n if (!mapSize || !x || typeof x !== 'object') {\n return false;\n }\n try {\n mapSize.call(x);\n try {\n setSize.call(x);\n } catch (s) {\n return true;\n }\n return x instanceof Map; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakMap(x) {\n if (!weakMapHas || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakMapHas.call(x, weakMapHas);\n try {\n weakSetHas.call(x, weakSetHas);\n } catch (s) {\n return true;\n }\n return x instanceof WeakMap; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakRef(x) {\n if (!weakRefDeref || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakRefDeref.call(x);\n return true;\n } catch (e) {}\n return false;\n}\n\nfunction isSet(x) {\n if (!setSize || !x || typeof x !== 'object') {\n return false;\n }\n try {\n setSize.call(x);\n try {\n mapSize.call(x);\n } catch (m) {\n return true;\n }\n return x instanceof Set; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakSet(x) {\n if (!weakSetHas || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakSetHas.call(x, weakSetHas);\n try {\n weakMapHas.call(x, weakMapHas);\n } catch (s) {\n return true;\n }\n return x instanceof WeakSet; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isElement(x) {\n if (!x || typeof x !== 'object') { return false; }\n if (typeof HTMLElement !== 'undefined' && x instanceof HTMLElement) {\n return true;\n }\n return typeof x.nodeName === 'string' && typeof x.getAttribute === 'function';\n}\n\nfunction inspectString(str, opts) {\n if (str.length > opts.maxStringLength) {\n var remaining = str.length - opts.maxStringLength;\n var trailer = '... ' + remaining + ' more character' + (remaining > 1 ? 's' : '');\n return inspectString($slice.call(str, 0, opts.maxStringLength), opts) + trailer;\n }\n // eslint-disable-next-line no-control-regex\n var s = $replace.call($replace.call(str, /(['\\\\])/g, '\\\\$1'), /[\\x00-\\x1f]/g, lowbyte);\n return wrapQuotes(s, 'single', opts);\n}\n\nfunction lowbyte(c) {\n var n = c.charCodeAt(0);\n var x = {\n 8: 'b',\n 9: 't',\n 10: 'n',\n 12: 'f',\n 13: 'r'\n }[n];\n if (x) { return '\\\\' + x; }\n return '\\\\x' + (n < 0x10 ? '0' : '') + $toUpperCase.call(n.toString(16));\n}\n\nfunction markBoxed(str) {\n return 'Object(' + str + ')';\n}\n\nfunction weakCollectionOf(type) {\n return type + ' { ? }';\n}\n\nfunction collectionOf(type, size, entries, indent) {\n var joinedEntries = indent ? indentedJoin(entries, indent) : $join.call(entries, ', ');\n return type + ' (' + size + ') {' + joinedEntries + '}';\n}\n\nfunction singleLineValues(xs) {\n for (var i = 0; i < xs.length; i++) {\n if (indexOf(xs[i], '\\n') >= 0) {\n return false;\n }\n }\n return true;\n}\n\nfunction getIndent(opts, depth) {\n var baseIndent;\n if (opts.indent === '\\t') {\n baseIndent = '\\t';\n } else if (typeof opts.indent === 'number' && opts.indent > 0) {\n baseIndent = $join.call(Array(opts.indent + 1), ' ');\n } else {\n return null;\n }\n return {\n base: baseIndent,\n prev: $join.call(Array(depth + 1), baseIndent)\n };\n}\n\nfunction indentedJoin(xs, indent) {\n if (xs.length === 0) { return ''; }\n var lineJoiner = '\\n' + indent.prev + indent.base;\n return lineJoiner + $join.call(xs, ',' + lineJoiner) + '\\n' + indent.prev;\n}\n\nfunction arrObjKeys(obj, inspect) {\n var isArr = isArray(obj);\n var xs = [];\n if (isArr) {\n xs.length = obj.length;\n for (var i = 0; i < obj.length; i++) {\n xs[i] = has(obj, i) ? inspect(obj[i], obj) : '';\n }\n }\n var syms = typeof gOPS === 'function' ? gOPS(obj) : [];\n var symMap;\n if (hasShammedSymbols) {\n symMap = {};\n for (var k = 0; k < syms.length; k++) {\n symMap['$' + syms[k]] = syms[k];\n }\n }\n\n for (var key in obj) { // eslint-disable-line no-restricted-syntax\n if (!has(obj, key)) { continue; } // eslint-disable-line no-restricted-syntax, no-continue\n if (isArr && String(Number(key)) === key && key < obj.length) { continue; } // eslint-disable-line no-restricted-syntax, no-continue\n if (hasShammedSymbols && symMap['$' + key] instanceof Symbol) {\n // this is to prevent shammed Symbols, which are stored as strings, from being included in the string key section\n continue; // eslint-disable-line no-restricted-syntax, no-continue\n } else if ($test.call(/[^\\w$]/, key)) {\n xs.push(inspect(key, obj) + ': ' + inspect(obj[key], obj));\n } else {\n xs.push(key + ': ' + inspect(obj[key], obj));\n }\n }\n if (typeof gOPS === 'function') {\n for (var j = 0; j < syms.length; j++) {\n if (isEnumerable.call(obj, syms[j])) {\n xs.push('[' + inspect(syms[j]) + ']: ' + inspect(obj[syms[j]], obj));\n }\n }\n }\n return xs;\n}\n","'use strict';\n\n// https://ecma-international.org/ecma-262/6.0/#sec-ispropertykey\n\nmodule.exports = function IsPropertyKey(argument) {\n\treturn typeof argument === 'string' || typeof argument === 'symbol';\n};\n","'use strict';\n\n// https://262.ecma-international.org/5.1/#sec-8\n\nmodule.exports = function Type(x) {\n\tif (x === null) {\n\t\treturn 'Null';\n\t}\n\tif (typeof x === 'undefined') {\n\t\treturn 'Undefined';\n\t}\n\tif (typeof x === 'function' || typeof x === 'object') {\n\t\treturn 'Object';\n\t}\n\tif (typeof x === 'number') {\n\t\treturn 'Number';\n\t}\n\tif (typeof x === 'boolean') {\n\t\treturn 'Boolean';\n\t}\n\tif (typeof x === 'string') {\n\t\treturn 'String';\n\t}\n};\n","'use strict';\n\nvar ES5Type = require('../5/Type');\n\n// https://262.ecma-international.org/11.0/#sec-ecmascript-data-types-and-values\n\nmodule.exports = function Type(x) {\n\tif (typeof x === 'symbol') {\n\t\treturn 'Symbol';\n\t}\n\tif (typeof x === 'bigint') {\n\t\treturn 'BigInt';\n\t}\n\treturn ES5Type(x);\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $TypeError = GetIntrinsic('%TypeError%');\n\nvar inspect = require('object-inspect');\n\nvar IsPropertyKey = require('./IsPropertyKey');\nvar Type = require('./Type');\n\n/**\n * 7.3.1 Get (O, P) - https://ecma-international.org/ecma-262/6.0/#sec-get-o-p\n * 1. Assert: Type(O) is Object.\n * 2. Assert: IsPropertyKey(P) is true.\n * 3. Return O.[[Get]](P, O).\n */\n\nmodule.exports = function Get(O, P) {\n\t// 7.3.1.1\n\tif (Type(O) !== 'Object') {\n\t\tthrow new $TypeError('Assertion failed: Type(O) is not Object');\n\t}\n\t// 7.3.1.2\n\tif (!IsPropertyKey(P)) {\n\t\tthrow new $TypeError('Assertion failed: IsPropertyKey(P) is not true, got ' + inspect(P));\n\t}\n\t// 7.3.1.3\n\treturn O[P];\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $TypeError = GetIntrinsic('%TypeError%');\n\nvar IsPropertyKey = require('./IsPropertyKey');\nvar Type = require('./Type');\n\n// https://ecma-international.org/ecma-262/6.0/#sec-hasproperty\n\nmodule.exports = function HasProperty(O, P) {\n\tif (Type(O) !== 'Object') {\n\t\tthrow new $TypeError('Assertion failed: `O` must be an Object');\n\t}\n\tif (!IsPropertyKey(P)) {\n\t\tthrow new $TypeError('Assertion failed: `P` must be a Property Key');\n\t}\n\treturn P in O;\n};\n","'use strict';\n\nvar fnToStr = Function.prototype.toString;\nvar reflectApply = typeof Reflect === 'object' && Reflect !== null && Reflect.apply;\nvar badArrayLike;\nvar isCallableMarker;\nif (typeof reflectApply === 'function' && typeof Object.defineProperty === 'function') {\n\ttry {\n\t\tbadArrayLike = Object.defineProperty({}, 'length', {\n\t\t\tget: function () {\n\t\t\t\tthrow isCallableMarker;\n\t\t\t}\n\t\t});\n\t\tisCallableMarker = {};\n\t\t// eslint-disable-next-line no-throw-literal\n\t\treflectApply(function () { throw 42; }, null, badArrayLike);\n\t} catch (_) {\n\t\tif (_ !== isCallableMarker) {\n\t\t\treflectApply = null;\n\t\t}\n\t}\n} else {\n\treflectApply = null;\n}\n\nvar constructorRegex = /^\\s*class\\b/;\nvar isES6ClassFn = function isES6ClassFunction(value) {\n\ttry {\n\t\tvar fnStr = fnToStr.call(value);\n\t\treturn constructorRegex.test(fnStr);\n\t} catch (e) {\n\t\treturn false; // not a function\n\t}\n};\n\nvar tryFunctionObject = function tryFunctionToStr(value) {\n\ttry {\n\t\tif (isES6ClassFn(value)) { return false; }\n\t\tfnToStr.call(value);\n\t\treturn true;\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\nvar toStr = Object.prototype.toString;\nvar objectClass = '[object Object]';\nvar fnClass = '[object Function]';\nvar genClass = '[object GeneratorFunction]';\nvar ddaClass = '[object HTMLAllCollection]'; // IE 11\nvar ddaClass2 = '[object HTML document.all class]';\nvar ddaClass3 = '[object HTMLCollection]'; // IE 9-10\nvar hasToStringTag = typeof Symbol === 'function' && !!Symbol.toStringTag; // better: use `has-tostringtag`\n\nvar isIE68 = !(0 in [,]); // eslint-disable-line no-sparse-arrays, comma-spacing\n\nvar isDDA = function isDocumentDotAll() { return false; };\nif (typeof document === 'object') {\n\t// Firefox 3 canonicalizes DDA to undefined when it's not accessed directly\n\tvar all = document.all;\n\tif (toStr.call(all) === toStr.call(document.all)) {\n\t\tisDDA = function isDocumentDotAll(value) {\n\t\t\t/* globals document: false */\n\t\t\t// in IE 6-8, typeof document.all is \"object\" and it's truthy\n\t\t\tif ((isIE68 || !value) && (typeof value === 'undefined' || typeof value === 'object')) {\n\t\t\t\ttry {\n\t\t\t\t\tvar str = toStr.call(value);\n\t\t\t\t\treturn (\n\t\t\t\t\t\tstr === ddaClass\n\t\t\t\t\t\t|| str === ddaClass2\n\t\t\t\t\t\t|| str === ddaClass3 // opera 12.16\n\t\t\t\t\t\t|| str === objectClass // IE 6-8\n\t\t\t\t\t) && value('') == null; // eslint-disable-line eqeqeq\n\t\t\t\t} catch (e) { /**/ }\n\t\t\t}\n\t\t\treturn false;\n\t\t};\n\t}\n}\n\nmodule.exports = reflectApply\n\t? function isCallable(value) {\n\t\tif (isDDA(value)) { return true; }\n\t\tif (!value) { return false; }\n\t\tif (typeof value !== 'function' && typeof value !== 'object') { return false; }\n\t\ttry {\n\t\t\treflectApply(value, null, badArrayLike);\n\t\t} catch (e) {\n\t\t\tif (e !== isCallableMarker) { return false; }\n\t\t}\n\t\treturn !isES6ClassFn(value) && tryFunctionObject(value);\n\t}\n\t: function isCallable(value) {\n\t\tif (isDDA(value)) { return true; }\n\t\tif (!value) { return false; }\n\t\tif (typeof value !== 'function' && typeof value !== 'object') { return false; }\n\t\tif (hasToStringTag) { return tryFunctionObject(value); }\n\t\tif (isES6ClassFn(value)) { return false; }\n\t\tvar strClass = toStr.call(value);\n\t\tif (strClass !== fnClass && strClass !== genClass && !(/^\\[object HTML/).test(strClass)) { return false; }\n\t\treturn tryFunctionObject(value);\n\t};\n","'use strict';\n\n// http://262.ecma-international.org/5.1/#sec-9.11\n\nmodule.exports = require('is-callable');\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $Math = GetIntrinsic('%Math%');\nvar $Number = GetIntrinsic('%Number%');\n\nmodule.exports = $Number.MAX_SAFE_INTEGER || $Math.pow(2, 53) - 1;\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $abs = GetIntrinsic('%Math.abs%');\n\n// http://262.ecma-international.org/5.1/#sec-5.2\n\nmodule.exports = function abs(x) {\n\treturn $abs(x);\n};\n","'use strict';\n\n// var modulo = require('./modulo');\nvar $floor = Math.floor;\n\n// http://262.ecma-international.org/5.1/#sec-5.2\n\nmodule.exports = function floor(x) {\n\t// return x - modulo(x, 1);\n\treturn $floor(x);\n};\n","'use strict';\n\nmodule.exports = function isPrimitive(value) {\n\treturn value === null || (typeof value !== 'function' && typeof value !== 'object');\n};\n","'use strict';\n\nvar toStr = Object.prototype.toString;\n\nvar isPrimitive = require('./helpers/isPrimitive');\n\nvar isCallable = require('is-callable');\n\n// http://ecma-international.org/ecma-262/5.1/#sec-8.12.8\nvar ES5internalSlots = {\n\t'[[DefaultValue]]': function (O) {\n\t\tvar actualHint;\n\t\tif (arguments.length > 1) {\n\t\t\tactualHint = arguments[1];\n\t\t} else {\n\t\t\tactualHint = toStr.call(O) === '[object Date]' ? String : Number;\n\t\t}\n\n\t\tif (actualHint === String || actualHint === Number) {\n\t\t\tvar methods = actualHint === String ? ['toString', 'valueOf'] : ['valueOf', 'toString'];\n\t\t\tvar value, i;\n\t\t\tfor (i = 0; i < methods.length; ++i) {\n\t\t\t\tif (isCallable(O[methods[i]])) {\n\t\t\t\t\tvalue = O[methods[i]]();\n\t\t\t\t\tif (isPrimitive(value)) {\n\t\t\t\t\t\treturn value;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tthrow new TypeError('No default value');\n\t\t}\n\t\tthrow new TypeError('invalid [[DefaultValue]] hint supplied');\n\t}\n};\n\n// http://ecma-international.org/ecma-262/5.1/#sec-9.1\nmodule.exports = function ToPrimitive(input) {\n\tif (isPrimitive(input)) {\n\t\treturn input;\n\t}\n\tif (arguments.length > 1) {\n\t\treturn ES5internalSlots['[[DefaultValue]]'](input, arguments[1]);\n\t}\n\treturn ES5internalSlots['[[DefaultValue]]'](input);\n};\n","'use strict';\n\n// http://262.ecma-international.org/5.1/#sec-9.1\n\nmodule.exports = require('es-to-primitive/es5');\n","'use strict';\n\nvar ToPrimitive = require('./ToPrimitive');\n\n// http://262.ecma-international.org/5.1/#sec-9.3\n\nmodule.exports = function ToNumber(value) {\n\tvar prim = ToPrimitive(value, Number);\n\tif (typeof prim !== 'string') {\n\t\treturn +prim; // eslint-disable-line no-implicit-coercion\n\t}\n\n\t// eslint-disable-next-line no-control-regex\n\tvar trimmed = prim.replace(/^[ \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u0085]+|[ \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u0085]+$/g, '');\n\tif ((/^0[ob]|^[+-]0x/).test(trimmed)) {\n\t\treturn NaN;\n\t}\n\n\treturn +trimmed; // eslint-disable-line no-implicit-coercion\n};\n","'use strict';\n\nmodule.exports = Number.isNaN || function isNaN(a) {\n\treturn a !== a;\n};\n","'use strict';\n\nvar $isNaN = Number.isNaN || function (a) { return a !== a; };\n\nmodule.exports = Number.isFinite || function (x) { return typeof x === 'number' && !$isNaN(x) && x !== Infinity && x !== -Infinity; };\n","'use strict';\n\nmodule.exports = function sign(number) {\n\treturn number >= 0 ? 1 : -1;\n};\n","'use strict';\n\nvar abs = require('./abs');\nvar floor = require('./floor');\nvar ToNumber = require('./ToNumber');\n\nvar $isNaN = require('../helpers/isNaN');\nvar $isFinite = require('../helpers/isFinite');\nvar $sign = require('../helpers/sign');\n\n// http://262.ecma-international.org/5.1/#sec-9.4\n\nmodule.exports = function ToInteger(value) {\n\tvar number = ToNumber(value);\n\tif ($isNaN(number)) { return 0; }\n\tif (number === 0 || !$isFinite(number)) { return number; }\n\treturn $sign(number) * floor(abs(number));\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $test = GetIntrinsic('RegExp.prototype.test');\n\nvar callBind = require('call-bind');\n\nmodule.exports = function regexTester(regex) {\n\treturn callBind($test, regex);\n};\n","'use strict';\n\nmodule.exports = function isPrimitive(value) {\n\treturn value === null || (typeof value !== 'function' && typeof value !== 'object');\n};\n","'use strict';\n\nvar hasSymbols = require('has-symbols/shams');\n\nmodule.exports = function hasToStringTagShams() {\n\treturn hasSymbols() && !!Symbol.toStringTag;\n};\n","'use strict';\n\nvar getDay = Date.prototype.getDay;\nvar tryDateObject = function tryDateGetDayCall(value) {\n\ttry {\n\t\tgetDay.call(value);\n\t\treturn true;\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\n\nvar toStr = Object.prototype.toString;\nvar dateClass = '[object Date]';\nvar hasToStringTag = require('has-tostringtag/shams')();\n\nmodule.exports = function isDateObject(value) {\n\tif (typeof value !== 'object' || value === null) {\n\t\treturn false;\n\t}\n\treturn hasToStringTag ? tryDateObject(value) : toStr.call(value) === dateClass;\n};\n","'use strict';\n\nvar toStr = Object.prototype.toString;\nvar hasSymbols = require('has-symbols')();\n\nif (hasSymbols) {\n\tvar symToStr = Symbol.prototype.toString;\n\tvar symStringRegex = /^Symbol\\(.*\\)$/;\n\tvar isSymbolObject = function isRealSymbolObject(value) {\n\t\tif (typeof value.valueOf() !== 'symbol') {\n\t\t\treturn false;\n\t\t}\n\t\treturn symStringRegex.test(symToStr.call(value));\n\t};\n\n\tmodule.exports = function isSymbol(value) {\n\t\tif (typeof value === 'symbol') {\n\t\t\treturn true;\n\t\t}\n\t\tif (toStr.call(value) !== '[object Symbol]') {\n\t\t\treturn false;\n\t\t}\n\t\ttry {\n\t\t\treturn isSymbolObject(value);\n\t\t} catch (e) {\n\t\t\treturn false;\n\t\t}\n\t};\n} else {\n\n\tmodule.exports = function isSymbol(value) {\n\t\t// this environment does not support Symbols.\n\t\treturn false && value;\n\t};\n}\n","'use strict';\n\nvar hasSymbols = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol';\n\nvar isPrimitive = require('./helpers/isPrimitive');\nvar isCallable = require('is-callable');\nvar isDate = require('is-date-object');\nvar isSymbol = require('is-symbol');\n\nvar ordinaryToPrimitive = function OrdinaryToPrimitive(O, hint) {\n\tif (typeof O === 'undefined' || O === null) {\n\t\tthrow new TypeError('Cannot call method on ' + O);\n\t}\n\tif (typeof hint !== 'string' || (hint !== 'number' && hint !== 'string')) {\n\t\tthrow new TypeError('hint must be \"string\" or \"number\"');\n\t}\n\tvar methodNames = hint === 'string' ? ['toString', 'valueOf'] : ['valueOf', 'toString'];\n\tvar method, result, i;\n\tfor (i = 0; i < methodNames.length; ++i) {\n\t\tmethod = O[methodNames[i]];\n\t\tif (isCallable(method)) {\n\t\t\tresult = method.call(O);\n\t\t\tif (isPrimitive(result)) {\n\t\t\t\treturn result;\n\t\t\t}\n\t\t}\n\t}\n\tthrow new TypeError('No default value');\n};\n\nvar GetMethod = function GetMethod(O, P) {\n\tvar func = O[P];\n\tif (func !== null && typeof func !== 'undefined') {\n\t\tif (!isCallable(func)) {\n\t\t\tthrow new TypeError(func + ' returned for property ' + P + ' of object ' + O + ' is not a function');\n\t\t}\n\t\treturn func;\n\t}\n\treturn void 0;\n};\n\n// http://www.ecma-international.org/ecma-262/6.0/#sec-toprimitive\nmodule.exports = function ToPrimitive(input) {\n\tif (isPrimitive(input)) {\n\t\treturn input;\n\t}\n\tvar hint = 'default';\n\tif (arguments.length > 1) {\n\t\tif (arguments[1] === String) {\n\t\t\thint = 'string';\n\t\t} else if (arguments[1] === Number) {\n\t\t\thint = 'number';\n\t\t}\n\t}\n\n\tvar exoticToPrim;\n\tif (hasSymbols) {\n\t\tif (Symbol.toPrimitive) {\n\t\t\texoticToPrim = GetMethod(input, Symbol.toPrimitive);\n\t\t} else if (isSymbol(input)) {\n\t\t\texoticToPrim = Symbol.prototype.valueOf;\n\t\t}\n\t}\n\tif (typeof exoticToPrim !== 'undefined') {\n\t\tvar result = exoticToPrim.call(input, hint);\n\t\tif (isPrimitive(result)) {\n\t\t\treturn result;\n\t\t}\n\t\tthrow new TypeError('unable to convert exotic object to primitive');\n\t}\n\tif (hint === 'default' && (isDate(input) || isSymbol(input))) {\n\t\thint = 'string';\n\t}\n\treturn ordinaryToPrimitive(input, hint === 'default' ? 'number' : hint);\n};\n","'use strict';\n\nvar toPrimitive = require('es-to-primitive/es2015');\n\n// https://ecma-international.org/ecma-262/6.0/#sec-toprimitive\n\nmodule.exports = function ToPrimitive(input) {\n\tif (arguments.length > 1) {\n\t\treturn toPrimitive(input, arguments[1]);\n\t}\n\treturn toPrimitive(input);\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $TypeError = GetIntrinsic('%TypeError%');\nvar $Number = GetIntrinsic('%Number%');\nvar $RegExp = GetIntrinsic('%RegExp%');\nvar $parseInteger = GetIntrinsic('%parseInt%');\n\nvar callBound = require('call-bind/callBound');\nvar regexTester = require('../helpers/regexTester');\nvar isPrimitive = require('../helpers/isPrimitive');\n\nvar $strSlice = callBound('String.prototype.slice');\nvar isBinary = regexTester(/^0b[01]+$/i);\nvar isOctal = regexTester(/^0o[0-7]+$/i);\nvar isInvalidHexLiteral = regexTester(/^[-+]0x[0-9a-f]+$/i);\nvar nonWS = ['\\u0085', '\\u200b', '\\ufffe'].join('');\nvar nonWSregex = new $RegExp('[' + nonWS + ']', 'g');\nvar hasNonWS = regexTester(nonWSregex);\n\n// whitespace from: https://es5.github.io/#x15.5.4.20\n// implementation from https://github.com/es-shims/es5-shim/blob/v3.4.0/es5-shim.js#L1304-L1324\nvar ws = [\n\t'\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003',\n\t'\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028',\n\t'\\u2029\\uFEFF'\n].join('');\nvar trimRegex = new RegExp('(^[' + ws + ']+)|([' + ws + ']+$)', 'g');\nvar $replace = callBound('String.prototype.replace');\nvar $trim = function (value) {\n\treturn $replace(value, trimRegex, '');\n};\n\nvar ToPrimitive = require('./ToPrimitive');\n\n// https://ecma-international.org/ecma-262/6.0/#sec-tonumber\n\nmodule.exports = function ToNumber(argument) {\n\tvar value = isPrimitive(argument) ? argument : ToPrimitive(argument, $Number);\n\tif (typeof value === 'symbol') {\n\t\tthrow new $TypeError('Cannot convert a Symbol value to a number');\n\t}\n\tif (typeof value === 'bigint') {\n\t\tthrow new $TypeError('Conversion from \\'BigInt\\' to \\'number\\' is not allowed.');\n\t}\n\tif (typeof value === 'string') {\n\t\tif (isBinary(value)) {\n\t\t\treturn ToNumber($parseInteger($strSlice(value, 2), 2));\n\t\t} else if (isOctal(value)) {\n\t\t\treturn ToNumber($parseInteger($strSlice(value, 2), 8));\n\t\t} else if (hasNonWS(value) || isInvalidHexLiteral(value)) {\n\t\t\treturn NaN;\n\t\t}\n\t\tvar trimmed = $trim(value);\n\t\tif (trimmed !== value) {\n\t\t\treturn ToNumber(trimmed);\n\t\t}\n\n\t}\n\treturn $Number(value);\n};\n","'use strict';\n\nvar ES5ToInteger = require('../5/ToInteger');\n\nvar ToNumber = require('./ToNumber');\n\n// https://www.ecma-international.org/ecma-262/11.0/#sec-tointeger\n\nmodule.exports = function ToInteger(value) {\n\tvar number = ToNumber(value);\n\tif (number !== 0) {\n\t\tnumber = ES5ToInteger(number);\n\t}\n\treturn number === 0 ? 0 : number;\n};\n","'use strict';\n\nvar MAX_SAFE_INTEGER = require('../helpers/maxSafeInteger');\n\nvar ToIntegerOrInfinity = require('./ToIntegerOrInfinity');\n\nmodule.exports = function ToLength(argument) {\n\tvar len = ToIntegerOrInfinity(argument);\n\tif (len <= 0) { return 0; } // includes converting -0 to +0\n\tif (len > MAX_SAFE_INTEGER) { return MAX_SAFE_INTEGER; }\n\treturn len;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $TypeError = GetIntrinsic('%TypeError%');\n\nvar Get = require('./Get');\nvar ToLength = require('./ToLength');\nvar Type = require('./Type');\n\n// https://262.ecma-international.org/11.0/#sec-lengthofarraylike\n\nmodule.exports = function LengthOfArrayLike(obj) {\n\tif (Type(obj) !== 'Object') {\n\t\tthrow new $TypeError('Assertion failed: `obj` must be an Object');\n\t}\n\treturn ToLength(Get(obj, 'length'));\n};\n\n// TODO: use this all over\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $Object = GetIntrinsic('%Object%');\n\nvar RequireObjectCoercible = require('./RequireObjectCoercible');\n\n// https://ecma-international.org/ecma-262/6.0/#sec-toobject\n\nmodule.exports = function ToObject(value) {\n\tRequireObjectCoercible(value);\n\treturn $Object(value);\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $String = GetIntrinsic('%String%');\nvar $TypeError = GetIntrinsic('%TypeError%');\n\n// https://ecma-international.org/ecma-262/6.0/#sec-tostring\n\nmodule.exports = function ToString(argument) {\n\tif (typeof argument === 'symbol') {\n\t\tthrow new $TypeError('Cannot convert a Symbol value to a string');\n\t}\n\treturn $String(argument);\n};\n","'use strict';\n\nvar strValue = String.prototype.valueOf;\nvar tryStringObject = function tryStringObject(value) {\n\ttry {\n\t\tstrValue.call(value);\n\t\treturn true;\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\nvar toStr = Object.prototype.toString;\nvar strClass = '[object String]';\nvar hasToStringTag = require('has-tostringtag/shams')();\n\nmodule.exports = function isString(value) {\n\tif (typeof value === 'string') {\n\t\treturn true;\n\t}\n\tif (typeof value !== 'object') {\n\t\treturn false;\n\t}\n\treturn hasToStringTag ? tryStringObject(value) : toStr.call(value) === strClass;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar callBound = require('call-bind/callBound');\nvar $TypeError = GetIntrinsic('%TypeError%');\n\nvar Call = require('es-abstract/2021/Call');\nvar Get = require('es-abstract/2021/Get');\nvar HasProperty = require('es-abstract/2021/HasProperty');\nvar IsCallable = require('es-abstract/2021/IsCallable');\nvar LengthOfArrayLike = require('es-abstract/2021/LengthOfArrayLike');\nvar ToObject = require('es-abstract/2021/ToObject');\nvar ToString = require('es-abstract/2021/ToString');\n\nvar isString = require('is-string');\n\nvar $split = callBound('String.prototype.split');\n\n// Check failure of by-index access of string characters (IE < 9) and failure of `0 in boxedString` (Rhino)\nvar boxedString = Object('a');\nvar splitString = boxedString[0] !== 'a' || !(0 in boxedString);\n\nmodule.exports = function forEach(callbackfn) {\n\tvar thisO = ToObject(this);\n\tvar O = splitString && isString(this) ? $split(this, '') : thisO;\n\n\tvar len = LengthOfArrayLike(O);\n\n\tif (!IsCallable(callbackfn)) {\n\t\tthrow new $TypeError('Array.prototype.forEach callback must be a function');\n\t}\n\n\tvar thisArg;\n\tif (arguments.length > 1) {\n\t\tthisArg = arguments[1];\n\t}\n\n\tvar k = 0;\n\twhile (k < len) {\n\t\tvar Pk = ToString(k);\n\t\tvar kPresent = HasProperty(O, Pk);\n\t\tif (kPresent) {\n\t\t\tvar kValue = Get(O, Pk);\n\t\t\tCall(callbackfn, thisArg, [kValue, k, O]);\n\t\t}\n\t\tk += 1;\n\t}\n\n\treturn void undefined;\n};\n","module.exports = function properlyBoxed(method) {\n\t// Check node 0.6.21 bug where third parameter is not boxed\n\tvar properlyBoxesNonStrict = true;\n\tvar properlyBoxesStrict = true;\n\tvar threwException = false;\n\tif (typeof method === 'function') {\n\t\ttry {\n\t\t\t// eslint-disable-next-line max-params\n\t\t\tmethod.call('f', function (_, __, O) {\n\t\t\t\tif (typeof O !== 'object') {\n\t\t\t\t\tproperlyBoxesNonStrict = false;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tmethod.call(\n\t\t\t\t[null],\n\t\t\t\tfunction () {\n\t\t\t\t\t'use strict';\n\n\t\t\t\t\tproperlyBoxesStrict = typeof this === 'string'; // eslint-disable-line no-invalid-this\n\t\t\t\t},\n\t\t\t\t'x'\n\t\t\t);\n\t\t} catch (e) {\n\t\t\tthrewException = true;\n\t\t}\n\t\treturn !threwException && properlyBoxesNonStrict && properlyBoxesStrict;\n\t}\n\treturn false;\n};\n","'use strict';\n\nvar arrayMethodBoxesProperly = require('es-array-method-boxes-properly');\n\nvar implementation = require('./implementation');\n\nmodule.exports = function getPolyfill() {\n\tvar method = Array.prototype.forEach;\n\treturn arrayMethodBoxesProperly(method) ? method : implementation;\n};\n","'use strict';\n\nvar define = require('define-properties');\nvar getPolyfill = require('./polyfill');\n\nmodule.exports = function shimForEach() {\n\tvar polyfill = getPolyfill();\n\tdefine(\n\t\tArray.prototype,\n\t\t{ forEach: polyfill },\n\t\t{ forEach: function () { return Array.prototype.forEach !== polyfill; } }\n\t);\n\treturn polyfill;\n};\n","'use strict';\n\nvar define = require('define-properties');\nvar callBind = require('call-bind');\nvar callBound = require('call-bind/callBound');\nvar RequireObjectCoercible = require('es-abstract/2021/RequireObjectCoercible');\n\nvar implementation = require('./implementation');\nvar getPolyfill = require('./polyfill');\nvar polyfill = getPolyfill();\nvar shim = require('./shim');\n\nvar $slice = callBound('Array.prototype.slice');\n\nvar bound = callBind.apply(polyfill);\n// eslint-disable-next-line no-unused-vars\nvar boundCoercible = function forEach(array, callbackfn) {\n\tRequireObjectCoercible(array);\n\treturn bound(array, $slice(arguments, 1));\n};\n\ndefine(boundCoercible, {\n\tgetPolyfill: getPolyfill,\n\timplementation: implementation,\n\tshim: shim\n});\n\nmodule.exports = boundCoercible;\n","'use strict';\n\nvar RequireObjectCoercible = require('es-abstract/2021/RequireObjectCoercible');\nvar callBound = require('call-bind/callBound');\nvar $isEnumerable = callBound('Object.prototype.propertyIsEnumerable');\nvar $push = callBound('Array.prototype.push');\n\nmodule.exports = function entries(O) {\n\tvar obj = RequireObjectCoercible(O);\n\tvar entrys = [];\n\tfor (var key in obj) {\n\t\tif ($isEnumerable(obj, key)) { // checks own-ness as well\n\t\t\t$push(entrys, [key, obj[key]]);\n\t\t}\n\t}\n\treturn entrys;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = function getPolyfill() {\n\treturn typeof Object.entries === 'function' ? Object.entries : implementation;\n};\n","'use strict';\n\nvar getPolyfill = require('./polyfill');\nvar define = require('define-properties');\n\nmodule.exports = function shimEntries() {\n\tvar polyfill = getPolyfill();\n\tdefine(Object, { entries: polyfill }, {\n\t\tentries: function testEntries() {\n\t\t\treturn Object.entries !== polyfill;\n\t\t}\n\t});\n\treturn polyfill;\n};\n","'use strict';\n\nvar define = require('define-properties');\nvar callBind = require('call-bind');\n\nvar implementation = require('./implementation');\nvar getPolyfill = require('./polyfill');\nvar shim = require('./shim');\n\nvar polyfill = callBind(getPolyfill(), Object);\n\ndefine(polyfill, {\n\tgetPolyfill: getPolyfill,\n\timplementation: implementation,\n\tshim: shim\n});\n\nmodule.exports = polyfill;\n","'use strict';\n\nvar bind = require('function-bind');\n\nmodule.exports = bind.call(Function.call, Object.prototype.hasOwnProperty);\n","'use strict';\n\nvar RequireObjectCoercible = require('es-abstract/2021/RequireObjectCoercible');\nvar ToString = require('es-abstract/2021/ToString');\nvar callBound = require('call-bind/callBound');\nvar $replace = callBound('String.prototype.replace');\n\n/* eslint-disable no-control-regex */\nvar leftWhitespace = /^[\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF]+/;\nvar rightWhitespace = /[\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF]+$/;\n/* eslint-enable no-control-regex */\n\nmodule.exports = function trim() {\n\tvar S = ToString(RequireObjectCoercible(this));\n\treturn $replace($replace(S, leftWhitespace, ''), rightWhitespace, '');\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nvar zeroWidthSpace = '\\u200b';\n\nmodule.exports = function getPolyfill() {\n\tif (String.prototype.trim && zeroWidthSpace.trim() === zeroWidthSpace) {\n\t\treturn String.prototype.trim;\n\t}\n\treturn implementation;\n};\n","'use strict';\n\nvar define = require('define-properties');\nvar getPolyfill = require('./polyfill');\n\nmodule.exports = function shimStringTrim() {\n\tvar polyfill = getPolyfill();\n\tdefine(String.prototype, { trim: polyfill }, {\n\t\ttrim: function testTrim() {\n\t\t\treturn String.prototype.trim !== polyfill;\n\t\t}\n\t});\n\treturn polyfill;\n};\n","'use strict';\n\nvar callBind = require('call-bind');\nvar define = require('define-properties');\n\nvar implementation = require('./implementation');\nvar getPolyfill = require('./polyfill');\nvar shim = require('./shim');\n\nvar boundTrim = callBind(getPolyfill());\n\ndefine(boundTrim, {\n\tgetPolyfill: getPolyfill,\n\timplementation: implementation,\n\tshim: shim\n});\n\nmodule.exports = boundTrim;\n","// (c) 2012-2018 Airbnb, Inc.\n//\n// polyglot.js may be freely distributed under the terms of the BSD\n// license. For all licensing information, details, and documentation:\n// http://airbnb.github.com/polyglot.js\n//\n//\n// Polyglot.js is an I18n helper library written in JavaScript, made to\n// work both in the browser and in Node. It provides a simple solution for\n// interpolation and pluralization, based off of Airbnb's\n// experience adding I18n functionality to its Backbone.js and Node apps.\n//\n// Polylglot is agnostic to your translation backend. It doesn't perform any\n// translation; it simply gives you a way to manage translated phrases from\n// your client- or server-side JavaScript application.\n//\n\n'use strict';\n\nvar forEach = require('array.prototype.foreach');\nvar entries = require('object.entries');\nvar warning = require('warning');\nvar has = require('has');\nvar trim = require('string.prototype.trim');\n\nvar warn = function warn(message) {\n warning(false, message);\n};\n\nvar replace = String.prototype.replace;\nvar split = String.prototype.split;\n\n// #### Pluralization methods\n// The string that separates the different phrase possibilities.\nvar delimiter = '||||';\n\nvar russianPluralGroups = function (n) {\n var lastTwo = n % 100;\n var end = lastTwo % 10;\n if (lastTwo !== 11 && end === 1) {\n return 0;\n }\n if (2 <= end && end <= 4 && !(lastTwo >= 12 && lastTwo <= 14)) {\n return 1;\n }\n return 2;\n};\n\nvar defaultPluralRules = {\n // Mapping from pluralization group plural logic.\n pluralTypes: {\n arabic: function (n) {\n // http://www.arabeyes.org/Plural_Forms\n if (n < 3) { return n; }\n var lastTwo = n % 100;\n if (lastTwo >= 3 && lastTwo <= 10) return 3;\n return lastTwo >= 11 ? 4 : 5;\n },\n bosnian_serbian: russianPluralGroups,\n chinese: function () { return 0; },\n croatian: russianPluralGroups,\n french: function (n) { return n >= 2 ? 1 : 0; },\n german: function (n) { return n !== 1 ? 1 : 0; },\n russian: russianPluralGroups,\n lithuanian: function (n) {\n if (n % 10 === 1 && n % 100 !== 11) { return 0; }\n return n % 10 >= 2 && n % 10 <= 9 && (n % 100 < 11 || n % 100 > 19) ? 1 : 2;\n },\n czech: function (n) {\n if (n === 1) { return 0; }\n return (n >= 2 && n <= 4) ? 1 : 2;\n },\n polish: function (n) {\n if (n === 1) { return 0; }\n var end = n % 10;\n return 2 <= end && end <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2;\n },\n icelandic: function (n) { return (n % 10 !== 1 || n % 100 === 11) ? 1 : 0; },\n slovenian: function (n) {\n var lastTwo = n % 100;\n if (lastTwo === 1) {\n return 0;\n }\n if (lastTwo === 2) {\n return 1;\n }\n if (lastTwo === 3 || lastTwo === 4) {\n return 2;\n }\n return 3;\n }\n },\n\n // Mapping from pluralization group to individual language codes/locales.\n // Will look up based on exact match, if not found and it's a locale will parse the locale\n // for language code, and if that does not exist will default to 'en'\n pluralTypeToLanguages: {\n arabic: ['ar'],\n bosnian_serbian: ['bs-Latn-BA', 'bs-Cyrl-BA', 'srl-RS', 'sr-RS'],\n chinese: ['id', 'id-ID', 'ja', 'ko', 'ko-KR', 'lo', 'ms', 'th', 'th-TH', 'zh'],\n croatian: ['hr', 'hr-HR'],\n german: ['fa', 'da', 'de', 'en', 'es', 'fi', 'el', 'he', 'hi-IN', 'hu', 'hu-HU', 'it', 'nl', 'no', 'pt', 'sv', 'tr'],\n french: ['fr', 'tl', 'pt-br'],\n russian: ['ru', 'ru-RU'],\n lithuanian: ['lt'],\n czech: ['cs', 'cs-CZ', 'sk'],\n polish: ['pl'],\n icelandic: ['is'],\n slovenian: ['sl-SL']\n }\n};\n\nfunction langToTypeMap(mapping) {\n var ret = {};\n forEach(entries(mapping), function (entry) {\n var type = entry[0];\n var langs = entry[1];\n forEach(langs, function (lang) {\n ret[lang] = type;\n });\n });\n return ret;\n}\n\nfunction pluralTypeName(pluralRules, locale) {\n var langToPluralType = langToTypeMap(pluralRules.pluralTypeToLanguages);\n return langToPluralType[locale]\n || langToPluralType[split.call(locale, /-/, 1)[0]]\n || langToPluralType.en;\n}\n\nfunction pluralTypeIndex(pluralRules, pluralType, count) {\n return pluralRules.pluralTypes[pluralType](count);\n}\n\nfunction createMemoizedPluralTypeNameSelector() {\n var localePluralTypeStorage = {};\n\n return function (pluralRules, locale) {\n var pluralType = localePluralTypeStorage[locale];\n\n if (pluralType && !pluralRules.pluralTypes[pluralType]) {\n pluralType = null;\n localePluralTypeStorage[locale] = pluralType;\n }\n\n if (!pluralType) {\n pluralType = pluralTypeName(pluralRules, locale);\n\n if (pluralType) {\n localePluralTypeStorage[locale] = pluralType;\n }\n }\n\n return pluralType;\n };\n}\n\nfunction escape(token) {\n return token.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n}\n\nfunction constructTokenRegex(opts) {\n var prefix = (opts && opts.prefix) || '%{';\n var suffix = (opts && opts.suffix) || '}';\n\n if (prefix === delimiter || suffix === delimiter) {\n throw new RangeError('\"' + delimiter + '\" token is reserved for pluralization');\n }\n\n return new RegExp(escape(prefix) + '(.*?)' + escape(suffix), 'g');\n}\n\nvar memoizedPluralTypeName = createMemoizedPluralTypeNameSelector();\n\nvar defaultTokenRegex = /%\\{(.*?)\\}/g;\n\n// ### transformPhrase(phrase, substitutions, locale)\n//\n// Takes a phrase string and transforms it by choosing the correct\n// plural form and interpolating it.\n//\n// transformPhrase('Hello, %{name}!', {name: 'Spike'});\n// // \"Hello, Spike!\"\n//\n// The correct plural form is selected if substitutions.smart_count\n// is set. You can pass in a number instead of an Object as `substitutions`\n// as a shortcut for `smart_count`.\n//\n// transformPhrase('%{smart_count} new messages |||| 1 new message', {smart_count: 1}, 'en');\n// // \"1 new message\"\n//\n// transformPhrase('%{smart_count} new messages |||| 1 new message', {smart_count: 2}, 'en');\n// // \"2 new messages\"\n//\n// transformPhrase('%{smart_count} new messages |||| 1 new message', 5, 'en');\n// // \"5 new messages\"\n//\n// You should pass in a third argument, the locale, to specify the correct plural type.\n// It defaults to `'en'` with 2 plural forms.\nfunction transformPhrase(phrase, substitutions, locale, tokenRegex, pluralRules) {\n if (typeof phrase !== 'string') {\n throw new TypeError('Polyglot.transformPhrase expects argument #1 to be string');\n }\n\n if (substitutions == null) {\n return phrase;\n }\n\n var result = phrase;\n var interpolationRegex = tokenRegex || defaultTokenRegex;\n\n // allow number as a pluralization shortcut\n var options = typeof substitutions === 'number' ? { smart_count: substitutions } : substitutions;\n\n // Select plural form: based on a phrase text that contains `n`\n // plural forms separated by `delimiter`, a `locale`, and a `substitutions.smart_count`,\n // choose the correct plural form. This is only done if `count` is set.\n if (options.smart_count != null && phrase) {\n var pluralRulesOrDefault = pluralRules || defaultPluralRules;\n var texts = split.call(phrase, delimiter);\n var bestLocale = locale || 'en';\n var pluralType = memoizedPluralTypeName(pluralRulesOrDefault, bestLocale);\n var pluralTypeWithCount = pluralTypeIndex(\n pluralRulesOrDefault,\n pluralType,\n options.smart_count\n );\n\n result = trim(texts[pluralTypeWithCount] || texts[0]);\n }\n\n // Interpolate: Creates a `RegExp` object for each interpolation placeholder.\n result = replace.call(result, interpolationRegex, function (expression, argument) {\n if (!has(options, argument) || options[argument] == null) { return expression; }\n return options[argument];\n });\n\n return result;\n}\n\n// ### Polyglot class constructor\nfunction Polyglot(options) {\n var opts = options || {};\n this.phrases = {};\n this.extend(opts.phrases || {});\n this.currentLocale = opts.locale || 'en';\n var allowMissing = opts.allowMissing ? transformPhrase : null;\n this.onMissingKey = typeof opts.onMissingKey === 'function' ? opts.onMissingKey : allowMissing;\n this.warn = opts.warn || warn;\n this.tokenRegex = constructTokenRegex(opts.interpolation);\n this.pluralRules = opts.pluralRules || defaultPluralRules;\n}\n\n// ### polyglot.locale([locale])\n//\n// Get or set locale. Internally, Polyglot only uses locale for pluralization.\nPolyglot.prototype.locale = function (newLocale) {\n if (newLocale) this.currentLocale = newLocale;\n return this.currentLocale;\n};\n\n// ### polyglot.extend(phrases)\n//\n// Use `extend` to tell Polyglot how to translate a given key.\n//\n// polyglot.extend({\n// \"hello\": \"Hello\",\n// \"hello_name\": \"Hello, %{name}\"\n// });\n//\n// The key can be any string. Feel free to call `extend` multiple times;\n// it will override any phrases with the same key, but leave existing phrases\n// untouched.\n//\n// It is also possible to pass nested phrase objects, which get flattened\n// into an object with the nested keys concatenated using dot notation.\n//\n// polyglot.extend({\n// \"nav\": {\n// \"hello\": \"Hello\",\n// \"hello_name\": \"Hello, %{name}\",\n// \"sidebar\": {\n// \"welcome\": \"Welcome\"\n// }\n// }\n// });\n//\n// console.log(polyglot.phrases);\n// // {\n// // 'nav.hello': 'Hello',\n// // 'nav.hello_name': 'Hello, %{name}',\n// // 'nav.sidebar.welcome': 'Welcome'\n// // }\n//\n// `extend` accepts an optional second argument, `prefix`, which can be used\n// to prefix every key in the phrases object with some string, using dot\n// notation.\n//\n// polyglot.extend({\n// \"hello\": \"Hello\",\n// \"hello_name\": \"Hello, %{name}\"\n// }, \"nav\");\n//\n// console.log(polyglot.phrases);\n// // {\n// // 'nav.hello': 'Hello',\n// // 'nav.hello_name': 'Hello, %{name}'\n// // }\n//\n// This feature is used internally to support nested phrase objects.\nPolyglot.prototype.extend = function (morePhrases, prefix) {\n forEach(entries(morePhrases || {}), function (entry) {\n var key = entry[0];\n var phrase = entry[1];\n var prefixedKey = prefix ? prefix + '.' + key : key;\n if (typeof phrase === 'object') {\n this.extend(phrase, prefixedKey);\n } else {\n this.phrases[prefixedKey] = phrase;\n }\n }, this);\n};\n\n// ### polyglot.unset(phrases)\n// Use `unset` to selectively remove keys from a polyglot instance.\n//\n// polyglot.unset(\"some_key\");\n// polyglot.unset({\n// \"hello\": \"Hello\",\n// \"hello_name\": \"Hello, %{name}\"\n// });\n//\n// The unset method can take either a string (for the key), or an object hash with\n// the keys that you would like to unset.\nPolyglot.prototype.unset = function (morePhrases, prefix) {\n if (typeof morePhrases === 'string') {\n delete this.phrases[morePhrases];\n } else {\n forEach(entries(morePhrases || {}), function (entry) {\n var key = entry[0];\n var phrase = entry[1];\n var prefixedKey = prefix ? prefix + '.' + key : key;\n if (typeof phrase === 'object') {\n this.unset(phrase, prefixedKey);\n } else {\n delete this.phrases[prefixedKey];\n }\n }, this);\n }\n};\n\n// ### polyglot.clear()\n//\n// Clears all phrases. Useful for special cases, such as freeing\n// up memory if you have lots of phrases but no longer need to\n// perform any translation. Also used internally by `replace`.\nPolyglot.prototype.clear = function () {\n this.phrases = {};\n};\n\n// ### polyglot.replace(phrases)\n//\n// Completely replace the existing phrases with a new set of phrases.\n// Normally, just use `extend` to add more phrases, but under certain\n// circumstances, you may want to make sure no old phrases are lying around.\nPolyglot.prototype.replace = function (newPhrases) {\n this.clear();\n this.extend(newPhrases);\n};\n\n// ### polyglot.t(key, options)\n//\n// The most-used method. Provide a key, and `t` will return the\n// phrase.\n//\n// polyglot.t(\"hello\");\n// => \"Hello\"\n//\n// The phrase value is provided first by a call to `polyglot.extend()` or\n// `polyglot.replace()`.\n//\n// Pass in an object as the second argument to perform interpolation.\n//\n// polyglot.t(\"hello_name\", {name: \"Spike\"});\n// => \"Hello, Spike\"\n//\n// If you like, you can provide a default value in case the phrase is missing.\n// Use the special option key \"_\" to specify a default.\n//\n// polyglot.t(\"i_like_to_write_in_language\", {\n// _: \"I like to write in %{language}.\",\n// language: \"JavaScript\"\n// });\n// => \"I like to write in JavaScript.\"\n//\nPolyglot.prototype.t = function (key, options) {\n var phrase, result;\n var opts = options == null ? {} : options;\n if (typeof this.phrases[key] === 'string') {\n phrase = this.phrases[key];\n } else if (typeof opts._ === 'string') {\n phrase = opts._;\n } else if (this.onMissingKey) {\n var onMissingKey = this.onMissingKey;\n result = onMissingKey(key, opts, this.currentLocale, this.tokenRegex, this.pluralRules);\n } else {\n this.warn('Missing translation for key: \"' + key + '\"');\n result = key;\n }\n if (typeof phrase === 'string') {\n result = transformPhrase(phrase, opts, this.currentLocale, this.tokenRegex, this.pluralRules);\n }\n return result;\n};\n\n// ### polyglot.has(key)\n//\n// Check if polyglot has a translation for given key\nPolyglot.prototype.has = function (key) {\n return has(this.phrases, key);\n};\n\n// export transformPhrase\nPolyglot.transformPhrase = function transform(phrase, substitutions, locale) {\n return transformPhrase(phrase, substitutions, locale);\n};\n\nmodule.exports = Polyglot;\n","import Polyglot from 'node-polyglot';\n\nimport { I18nProvider, TranslationMessages, Locale } from 'ra-core';\n\ntype GetMessages = (\n locale: string\n) => TranslationMessages | Promise<TranslationMessages>;\n\n/**\n * Build a polyglot-based i18nProvider based on a function returning the messages for a locale\n *\n * @example\n *\n * import { Admin, Resource, polyglotI18nProvider } from 'react-admin';\n * import englishMessages from 'ra-language-english';\n * import frenchMessages from 'ra-language-french';\n *\n * const messages = {\n * fr: frenchMessages,\n * en: englishMessages,\n * };\n * const i18nProvider = polyglotI18nProvider(\n * locale => messages[locale],\n * 'en',\n * [{ locale: 'en', name: 'English' }, { locale: 'fr', name: 'Français' }]\n * )\n */\nexport default (\n getMessages: GetMessages,\n initialLocale: string = 'en',\n availableLocales: Locale[] | any = [{ locale: 'en', name: 'English' }],\n polyglotOptions: any = {}\n): I18nProvider => {\n let locale = initialLocale;\n const messages = getMessages(initialLocale);\n if (messages instanceof Promise) {\n throw new Error(\n `The i18nProvider returned a Promise for the messages of the default locale (${initialLocale}). Please update your i18nProvider to return the messages of the default locale in a synchronous way.`\n );\n }\n\n let availableLocalesFinal, polyglotOptionsFinal;\n if (Array.isArray(availableLocales)) {\n // third argument is an array of locales\n availableLocalesFinal = availableLocales;\n polyglotOptionsFinal = polyglotOptions;\n } else {\n // third argument is the polyglotOptions\n availableLocalesFinal = [{ locale: 'en', name: 'English' }];\n polyglotOptionsFinal = availableLocales;\n }\n const polyglot = new Polyglot({\n locale,\n phrases: { '': '', ...messages },\n ...polyglotOptionsFinal,\n });\n let translate = polyglot.t.bind(polyglot);\n\n return {\n translate: (key: string, options: any = {}) => translate(key, options),\n changeLocale: (newLocale: string) =>\n // We systematically return a Promise for the messages because\n // getMessages may return a Promise\n Promise.resolve(getMessages(newLocale as string)).then(\n (messages: TranslationMessages) => {\n locale = newLocale;\n const newPolyglot = new Polyglot({\n locale: newLocale,\n phrases: { '': '', ...messages },\n ...polyglotOptions,\n });\n translate = newPolyglot.t.bind(newPolyglot);\n }\n ),\n getLocale: () => locale,\n getLocales: () => availableLocalesFinal,\n };\n};\n","import defaultMessages from 'ra-language-english';\nimport polyglotI18nProvider from 'ra-i18n-polyglot';\n\nexport const defaultI18nProvider = polyglotI18nProvider(\n () => defaultMessages,\n 'en',\n [{ name: 'en', value: 'English' }],\n { allowMissing: true }\n);\n","import * as React from 'react';\nimport { localStorageStore } from 'ra-core';\nimport {\n AdminUI,\n AdminContext,\n AdminContextProps,\n AdminUIProps,\n} from 'ra-ui-materialui';\n\nimport { defaultI18nProvider } from './defaultI18nProvider';\nconst defaultStore = localStorageStore();\n\n/**\n * Main admin component, entry point to the application.\n *\n * Initializes the various contexts (auth, data, i18n, router)\n * and defines the main routes.\n *\n * Expects a list of resources as children, or a function returning a list of\n * resources based on the permissions.\n *\n * @example\n *\n * // static list of resources\n *\n * import {\n * Admin,\n * Resource,\n * ListGuesser,\n * useDataProvider,\n * } from 'react-admin';\n *\n * const App = () => (\n * <Admin dataProvider={myDataProvider}>\n * <Resource name=\"posts\" list={ListGuesser} />\n * </Admin>\n * );\n *\n * // dynamic list of resources based on permissions\n *\n * import {\n * Admin,\n * Resource,\n * ListGuesser,\n * useDataProvider,\n * } from 'react-admin';\n *\n * const App = () => (\n * <Admin dataProvider={myDataProvider}>\n * {permissions => [\n * <Resource name=\"posts\" key=\"posts\" list={ListGuesser} />,\n * ]}\n * </Admin>\n * );\n *\n * // If you have to build a dynamic list of resources using a side effect,\n * // you can't use <Admin>. But as it delegates to sub components,\n * // it's relatively straightforward to replace it:\n *\n * import * as React from 'react';\nimport { useEffect, useState } from 'react';\n * import {\n * AdminContext,\n * AdminUI,\n * defaultI18nProvider,\n * localStorageStore,\n * Resource,\n * ListGuesser,\n * useDataProvider,\n * } from 'react-admin';\n *\n * const store = localStorageStore();\n *\n * const App = () => (\n * <AdminContext dataProvider={myDataProvider} i18nProvider={defaultI18nProvider} store={store}>\n * <Resources />\n * </AdminContext>\n * );\n *\n * const Resources = () => {\n * const [resources, setResources] = useState([]);\n * const dataProvider = useDataProvider();\n * useEffect(() => {\n * dataProvider.introspect().then(r => setResources(r));\n * }, []);\n *\n * return (\n * <AdminUI>\n * {resources.map(resource => (\n * <Resource name={resource.name} key={resource.key} list={ListGuesser} />\n * ))}\n * </AdminUI>\n * );\n * };\n */\nexport const Admin = (props: AdminProps) => {\n const {\n authProvider,\n basename,\n catchAll,\n children,\n dashboard,\n dataProvider,\n disableTelemetry,\n error,\n i18nProvider = defaultI18nProvider,\n layout,\n loading,\n loginPage,\n authCallbackPage,\n notification,\n queryClient,\n requireAuth,\n store = defaultStore,\n ready,\n theme,\n lightTheme,\n darkTheme,\n defaultTheme,\n title = 'React Admin',\n } = props;\n\n if (loginPage === true && process.env.NODE_ENV !== 'production') {\n console.warn(\n 'You passed true to the loginPage prop. You must either pass false to disable it or a component class to customize it'\n );\n }\n\n return (\n <AdminContext\n authProvider={authProvider}\n basename={basename}\n dataProvider={dataProvider}\n i18nProvider={i18nProvider}\n store={store}\n queryClient={queryClient}\n theme={theme}\n lightTheme={lightTheme}\n darkTheme={darkTheme}\n defaultTheme={defaultTheme}\n >\n <AdminUI\n layout={layout}\n dashboard={dashboard}\n disableTelemetry={disableTelemetry}\n catchAll={catchAll}\n error={error}\n title={title}\n loading={loading}\n loginPage={loginPage}\n authCallbackPage={authCallbackPage}\n notification={notification}\n requireAuth={requireAuth}\n ready={ready}\n >\n {children}\n </AdminUI>\n </AdminContext>\n );\n};\n\nexport default Admin;\n\nexport interface AdminProps extends AdminContextProps, AdminUIProps {}\n","import React from 'react';\nimport { Tabs, Tab, Toolbar, AppBar, Box, Typography } from '@mui/material';\nimport { Link, matchPath, useLocation } from 'react-router-dom';\nimport { UserMenu, Logout, LoadingIndicator } from 'react-admin';\n\nconst Header = () => {\n const location = useLocation();\n\n let currentPath = '/';\n if (!!matchPath('/contacts/*', location.pathname)) {\n currentPath = '/contacts';\n } else if (!!matchPath('/companies/*', location.pathname)) {\n currentPath = '/companies';\n } else if (!!matchPath('/deals/*', location.pathname)) {\n currentPath = '/deals';\n }\n\n return (\n <Box component=\"nav\" sx={{ flexGrow: 1 }}>\n <AppBar position=\"static\" color=\"primary\">\n <Toolbar variant=\"dense\">\n <Box flex={1} display=\"flex\" justifyContent=\"space-between\">\n <Box display=\"flex\" alignItems=\"center\">\n <Box\n component=\"img\"\n sx={{ marginRight: '1em', height: 30 }}\n src={\n 'https://upload.wikimedia.org/wikipedia/commons/a/a7/React-icon.svg'\n }\n alt=\"Bosch Logo\"\n />\n <Typography component=\"span\" variant=\"h5\">\n Atomic CRM\n </Typography>\n </Box>\n <Box>\n <Tabs\n value={currentPath}\n aria-label=\"Navigation Tabs\"\n indicatorColor=\"secondary\"\n textColor=\"inherit\"\n >\n <Tab\n label={'Dashboard'}\n component={Link}\n to=\"/\"\n value=\"/\"\n />\n <Tab\n label={'Contacts'}\n component={Link}\n to=\"/contacts\"\n value=\"/contacts\"\n />\n <Tab\n label={'Companies'}\n component={Link}\n to=\"/companies\"\n value=\"/companies\"\n />\n <Tab\n label={'Deals'}\n component={Link}\n to=\"/deals\"\n value=\"/deals\"\n />\n </Tabs>\n </Box>\n <Box display=\"flex\" alignItems=\"center\">\n <LoadingIndicator />\n <UserMenu>\n <Logout />\n </UserMenu>\n </Box>\n </Box>\n </Toolbar>\n </AppBar>\n </Box>\n );\n};\n\nexport default Header;\n","import React, { Suspense, ReactNode } from 'react';\nimport { CssBaseline, Container } from '@mui/material';\nimport { CheckForApplicationUpdate } from 'react-admin';\nimport { ErrorBoundary } from 'react-error-boundary';\n\nimport { Error, Loading } from 'react-admin';\nimport Header from './Header';\n\nconst Layout = ({ children }: { children: ReactNode }) => (\n <>\n <CssBaseline />\n <Header />\n <Container sx={{ maxWidth: { xl: 1280 } }}>\n <main id=\"main-content\">\n <ErrorBoundary FallbackComponent={Error}>\n <Suspense fallback={<Loading />}>{children}</Suspense>\n </ErrorBoundary>\n </main>\n </Container>\n <CheckForApplicationUpdate interval={30 * 1000} />\n </>\n);\n\nexport default Layout;\n","import { AuthProvider } from 'react-admin';\n\nlocalStorage.setItem('username', 'Jane Doe');\n\nexport const authProvider: AuthProvider = {\n login: ({ username }) => {\n localStorage.setItem('username', username);\n // accept all username/password combinations\n return Promise.resolve();\n },\n logout: () => {\n localStorage.removeItem('username');\n return Promise.resolve();\n },\n checkError: () => Promise.resolve(),\n checkAuth: () =>\n localStorage.getItem('username') ? Promise.resolve() : Promise.reject(),\n getPermissions: () => Promise.resolve([]),\n getIdentity: () =>\n Promise.resolve({\n id: 0,\n fullName: 'Jane Doe',\n avatar: 'data:image/jpeg;base64,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',\n }),\n};\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m1.41 16.09V20h-2.67v-1.93c-1.71-.36-3.16-1.46-3.27-3.4h1.96c.1 1.05.82 1.87 2.65 1.87 1.96 0 2.4-.98 2.4-1.59 0-.83-.44-1.61-2.67-2.14-2.48-.6-4.18-1.62-4.18-3.67 0-1.72 1.39-2.84 3.11-3.21V4h2.67v1.95c1.86.45 2.79 1.86 2.85 3.39H14.3c-.05-1.11-.64-1.87-2.22-1.87-1.5 0-2.4.68-2.4 1.64 0 .84.65 1.39 2.67 1.91s4.18 1.39 4.18 3.91c-.01 1.83-1.38 2.83-3.12 3.16\"\n}), 'MonetizationOn');","export const sectors = [\n 'Communication Services',\n 'Consumer Discretionary',\n 'Consumer Staples',\n 'Energy',\n 'Financials',\n 'Health Care',\n 'Industrials',\n 'Information Technology',\n 'Materials',\n 'Real Estate',\n 'Utilities',\n].map(sector => ({ id: sector, name: sector }));\n","import * as React from 'react';\nimport { Avatar } from '@mui/material';\nimport { useRecordContext } from 'react-admin';\n\nimport { Company } from '../types';\n\nexport const CompanyAvatar = (props: {\n record?: Company;\n size?: 'small' | 'large';\n}) => {\n const { size = 'large' } = props;\n const record = useRecordContext<Company>(props);\n if (!record) return null;\n return (\n <Avatar\n src={record.logo}\n alt={record.name}\n sx={{\n bgcolor: 'aliceblue',\n '& img': { objectFit: 'contain' },\n }}\n imgProps={{ className: size }}\n />\n );\n};\n","import * as React from 'react';\nimport { useState } from 'react';\nimport { Paper, Typography, Box } from '@mui/material';\nimport ContactsIcon from '@mui/icons-material/AccountCircle';\nimport DealIcon from '@mui/icons-material/MonetizationOn';\nimport {\n useCreatePath,\n SelectField,\n useRecordContext,\n Link,\n} from 'react-admin';\n\nimport { sectors } from './sectors';\nimport { CompanyAvatar } from './CompanyAvatar';\nimport { Company } from '../types';\n\nexport const CompanyCard = (props: { record?: Company }) => {\n const [elevation, setElevation] = useState(1);\n const createPath = useCreatePath();\n const record = useRecordContext<Company>(props);\n if (!record) return null;\n\n return (\n <Link\n to={createPath({\n resource: 'companies',\n id: record.id,\n type: 'show',\n })}\n underline=\"none\"\n onMouseEnter={() => setElevation(3)}\n onMouseLeave={() => setElevation(1)}\n >\n <Paper\n sx={{\n height: 200,\n width: 195,\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'space-between',\n padding: '1em',\n }}\n elevation={elevation}\n >\n <Box display=\"flex\" flexDirection=\"column\" alignItems=\"center\">\n <CompanyAvatar />\n <Box textAlign=\"center\" marginTop={1}>\n <Typography variant=\"subtitle2\">\n {record.name}\n </Typography>\n <SelectField\n color=\"textSecondary\"\n source=\"sector\"\n choices={sectors}\n />\n </Box>\n </Box>\n <Box display=\"flex\" justifyContent=\"space-around\" width=\"100%\">\n <Box display=\"flex\" alignItems=\"center\">\n <ContactsIcon color=\"disabled\" sx={{ mr: 1 }} />\n <div>\n <Typography variant=\"subtitle2\" sx={{ mb: -1 }}>\n {record.nb_contacts}\n </Typography>\n <Typography variant=\"caption\" color=\"textSecondary\">\n {record.nb_contacts > 1\n ? 'contacts'\n : 'contact'}\n </Typography>\n </div>\n </Box>\n <Box sx={{ display: 'flex', alignItems: 'center' }}>\n <DealIcon color=\"disabled\" sx={{ mr: 1 }} />\n <div>\n <Typography variant=\"subtitle2\" sx={{ mb: -1 }}>\n {record.nb_deals}\n </Typography>\n <Typography variant=\"caption\" color=\"textSecondary\">\n {record.nb_deals > 1 ? 'deals' : 'deal'}\n </Typography>\n </div>\n </Box>\n </Box>\n </Paper>\n </Link>\n );\n};\n","import * as React from 'react';\nimport { Box, Paper } from '@mui/material';\nimport { RecordContextProvider, useListContext } from 'react-admin';\n\nimport { CompanyCard } from './CompanyCard';\nimport { Company } from '../types';\n\nconst times = (nbChildren: number, fn: (key: number) => any) =>\n Array.from({ length: nbChildren }, (_, key) => fn(key));\n\nconst LoadingGridList = () => (\n <Box display=\"flex\" flexWrap=\"wrap\" width={1008} gap={1}>\n {times(15, key => (\n <Paper\n sx={{\n height: 200,\n width: 194,\n display: 'flex',\n flexDirection: 'column',\n backgroundColor: 'grey[200]',\n }}\n key={key}\n />\n ))}\n </Box>\n);\n\nconst LoadedGridList = () => {\n const { data, error, isPending } = useListContext<Company>();\n\n if (isPending || error) return null;\n\n return (\n <Box display=\"flex\" flexWrap=\"wrap\" width=\"100%\" gap={1}>\n {data.map(record => (\n <RecordContextProvider key={record.id} value={record}>\n <CompanyCard />\n </RecordContextProvider>\n ))}\n </Box>\n );\n};\n\nexport const ImageList = () => {\n const { isPending } = useListContext();\n return isPending ? <LoadingGridList /> : <LoadedGridList />;\n};\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 7V3H2v18h20V7zM6 19H4v-2h2zm0-4H4v-2h2zm0-4H4V9h2zm0-4H4V5h2zm4 12H8v-2h2zm0-4H8v-2h2zm0-4H8V9h2zm0-4H8V5h2zm10 12h-8v-2h2v-2h-2v-2h2v-2h-2V9h8zm-2-8h-2v2h2zm0 4h-2v2h2z\"\n}), 'Business');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M20 8h-3V4H3c-1.1 0-2 .9-2 2v11h2c0 1.66 1.34 3 3 3s3-1.34 3-3h6c0 1.66 1.34 3 3 3s3-1.34 3-3h2v-5zM6 18.5c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5m13.5-9 1.96 2.5H17V9.5zm-1.5 9c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5\"\n}), 'LocalShipping');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M16.5 12c1.38 0 2.49-1.12 2.49-2.5S17.88 7 16.5 7C15.12 7 14 8.12 14 9.5s1.12 2.5 2.5 2.5M9 11c1.66 0 2.99-1.34 2.99-3S10.66 5 9 5C7.34 5 6 6.34 6 8s1.34 3 3 3m7.5 3c-1.83 0-5.5.92-5.5 2.75V19h11v-2.25c0-1.83-3.67-2.75-5.5-2.75M9 13c-2.33 0-7 1.17-7 3.5V19h7v-2.25c0-.85.33-2.34 2.37-3.47C10.5 13.1 9.66 13 9 13\"\n}), 'SupervisorAccount');","export const sizes = [\n { id: 1, name: '1 employee' },\n { id: 10, name: '2-9 employees' },\n { id: 50, name: '10-49 employees' },\n { id: 250, name: '50-249 employees' },\n { id: 500, name: '250 or more employees' },\n];\n","/* eslint-disable import/no-anonymous-default-export */\nimport * as React from 'react';\nimport {\n FilterList,\n FilterLiveSearch,\n FilterListItem,\n useGetIdentity,\n} from 'react-admin';\nimport { Box } from '@mui/material';\nimport BusinessIcon from '@mui/icons-material/Business';\nimport LocalShippingIcon from '@mui/icons-material/LocalShipping';\nimport SupervisorAccountIcon from '@mui/icons-material/SupervisorAccount';\n\nimport { sizes } from './sizes';\nimport { sectors } from './sectors';\n\nexport const CompanyListFilter = () => {\n const { identity } = useGetIdentity();\n return (\n <Box width=\"13em\" minWidth=\"13em\" order={-1} mr={2} mt={5}>\n <FilterLiveSearch hiddenLabel />\n\n <FilterList label=\"Size\" icon={<BusinessIcon />}>\n {sizes.map(size => (\n <FilterListItem\n key={size.id}\n label={size.name}\n value={{ size: size.id }}\n />\n ))}\n </FilterList>\n\n <FilterList label=\"Sector\" icon={<LocalShippingIcon />}>\n {sectors.map(sector => (\n <FilterListItem\n key={sector.id}\n label={sector.name}\n value={{ sector: sector.id }}\n />\n ))}\n </FilterList>\n\n <FilterList\n label=\"Account manager\"\n icon={<SupervisorAccountIcon />}\n >\n <FilterListItem\n label=\"Me\"\n value={{\n sales_id: identity && identity.id,\n }}\n />\n </FilterList>\n </Box>\n );\n};\n","import * as React from 'react';\nimport {\n List,\n TopToolbar,\n ExportButton,\n CreateButton,\n Pagination,\n useGetIdentity,\n} from 'react-admin';\n\nimport { ImageList } from './GridList';\nimport { CompanyListFilter } from './CompanyListFilter';\n\nexport const CompanyList = () => {\n const { identity } = useGetIdentity();\n if (!identity) return null;\n return (\n <List\n actions={<CompanyListActions />}\n aside={<CompanyListFilter />}\n filterDefaultValues={{ sales_id: identity?.id }}\n pagination={<Pagination rowsPerPageOptions={[15, 25, 50, 100]} />}\n perPage={25}\n sort={{ field: 'name', order: 'ASC' }}\n component=\"div\"\n >\n <ImageList />\n </List>\n );\n};\n\nconst CompanyListActions = () => {\n return (\n <TopToolbar>\n <ExportButton />\n <CreateButton\n variant=\"contained\"\n label=\"New Company\"\n sx={{ marginLeft: 2 }}\n />\n </TopToolbar>\n );\n};\n","import * as React from 'react';\n\nimport { ReferenceInput, TextInput, SelectInput, required } from 'react-admin';\nimport { Divider, Stack, Grid } from '@mui/material';\n\nimport { sectors } from './sectors';\nimport { sizes } from './sizes';\n\nexport const CompanyForm = () => (\n <>\n <TextInput source=\"name\" validate={required()} />\n <Stack direction=\"row\">\n <SelectInput\n source=\"sector\"\n choices={sectors}\n sx={{ width: 200 }}\n />\n <SelectInput\n source=\"size\"\n choices={sizes}\n sx={{ ml: 2, width: 200 }}\n />\n </Stack>\n <Divider sx={{ mb: 2, width: '100%' }} />\n\n <TextInput source=\"address\" helperText={false} />\n <Grid container spacing={2}>\n <Grid item xs={12} sm={4}>\n <TextInput source=\"city\" />\n </Grid>\n <Grid item xs={12} sm={4}>\n <TextInput source=\"zipcode\" />\n </Grid>\n <Grid item xs={12} sm={4}>\n <TextInput source=\"stateAbbr\" />\n </Grid>\n </Grid>\n <Divider sx={{ mb: 2, width: '100%' }} />\n\n <TextInput source=\"website\" helperText={false} />\n <TextInput source=\"linkedIn\" helperText={false} />\n <TextInput source=\"logo\" />\n <Divider sx={{ mb: 2, width: '100%' }} />\n\n <Stack direction=\"row\">\n <TextInput\n source=\"phone_number\"\n helperText={false}\n sx={{ width: 200 }}\n />\n <ReferenceInput source=\"sales_id\" reference=\"sales\">\n <SelectInput\n label=\"Account manager\"\n helperText={false}\n optionText={(sales: any) =>\n `${sales.first_name} ${sales.last_name}`\n }\n sx={{ width: 200, ml: 2 }}\n />\n </ReferenceInput>\n </Stack>\n </>\n);\n","import * as React from 'react';\nimport { Create, Form, Toolbar } from 'react-admin';\nimport BusinessIcon from '@mui/icons-material/Business';\nimport { CardContent, Stack, Avatar, Box } from '@mui/material';\n\nimport { CompanyForm } from './CompanyForm';\n\nexport const CompanyCreate = () => (\n <Create actions={false} redirect=\"show\">\n <Form>\n <CardContent>\n <Stack direction=\"row\">\n <Avatar sx={{ mt: 1 }}>\n <BusinessIcon />\n </Avatar>\n <Box ml={2} flex=\"1\" maxWidth={796}>\n <CompanyForm />\n </Box>\n </Stack>\n </CardContent>\n <Toolbar />\n </Form>\n </Create>\n);\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M15 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4m-9-2V7H4v3H1v2h3v3h2v-3h3v-2zm9 4c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4\"\n}), 'PersonAdd');","import * as React from 'react';\nimport { Avatar as MuiAvatar } from '@mui/material';\nimport { useRecordContext } from 'react-admin';\n\nimport { Contact } from '../types';\n\nexport const Avatar = (props: { record?: Contact }) => {\n const record = useRecordContext<Contact>(props);\n if (!record) return null;\n\n return (\n <MuiAvatar src={record.avatar}>\n {record.first_name.charAt(0)}\n {record.last_name.charAt(0)}\n </MuiAvatar>\n );\n};\n","import * as React from 'react';\nimport { Box } from '@mui/material';\n\nconst getColorFromStatus = (status: string) =>\n status === 'cold'\n ? '#7dbde8'\n : status === 'warm'\n ? '#e8cb7d'\n : status === 'hot'\n ? '#e88b7d'\n : status === 'in-contract'\n ? '#a4e87d'\n : '#000';\n\nexport const Status = ({ status }: { status: string }) => (\n <Box\n marginLeft={0.5}\n width={10}\n height={10}\n display=\"inline-block\"\n borderRadius=\"5px\"\n bgcolor={getColorFromStatus(status)}\n component=\"span\"\n />\n);\n","import * as React from 'react';\nimport {\n ReferenceArrayField,\n SingleFieldList,\n ChipField,\n useRecordContext,\n} from 'react-admin';\n\nconst ColoredChipField = (props: any) => {\n const record = useRecordContext();\n if (!record) return null;\n return (\n <ChipField\n record={record}\n {...props}\n style={{ backgroundColor: record.color, border: 0 }}\n component=\"span\"\n />\n );\n};\n\nexport const TagsList = () => (\n <ReferenceArrayField\n sx={{ display: 'inline-block' }}\n resource=\"contacts\"\n source=\"tags\"\n reference=\"tags\"\n >\n <SingleFieldList linkType={false}>\n <ColoredChipField source=\"name\" variant=\"outlined\" size=\"small\" />\n </SingleFieldList>\n </ReferenceArrayField>\n);\n","import * as React from 'react';\nimport { useRecordContext } from 'react-admin';\nimport { Box } from '@mui/material';\n\nimport { Company } from '../types';\n\nconst sizeInPixel = {\n medium: 42,\n small: 20,\n};\n\nexport const LogoField = ({\n size = 'medium',\n}: {\n size?: 'small' | 'medium';\n}) => {\n const record = useRecordContext<Company>();\n if (!record || !record.logo) return null;\n return (\n <Box\n component=\"img\"\n src={record.logo}\n alt={record.name}\n title={record.name}\n width={sizeInPixel[size]}\n height={sizeInPixel[size]}\n sx={{ objectFit: 'contain' }}\n />\n );\n};\n","import * as React from 'react';\nimport {\n TextField,\n DateField,\n FunctionField,\n ReferenceField,\n EditButton,\n ShowButton,\n useRecordContext,\n} from 'react-admin';\nimport { Box, Typography, Divider, Link } from '@mui/material';\n\nimport { Company, Sale } from '../types';\n\ninterface CompanyAsideProps {\n link?: string;\n}\n\nexport const CompanyAside = ({ link = 'edit' }: CompanyAsideProps) => {\n const record = useRecordContext<Company>();\n if (!record) return null;\n return (\n <Box ml={4} width={250} minWidth={250}>\n <Box textAlign=\"center\" mb={2}>\n {link === 'edit' ? (\n <EditButton label=\"Edit Company\" />\n ) : (\n <ShowButton label=\"Show Company\" />\n )}\n </Box>\n\n <Typography variant=\"subtitle2\">Company info</Typography>\n <Divider />\n\n <Box mt={2}>\n <Typography variant=\"body2\">\n {record.website && (\n <>\n Website:{' '}\n <Link href={record.website}>{record.website}</Link>\n </>\n )}\n {record.linkedIn && (\n <>\n <br />\n LinkedIn:{' '}\n <Link href={record.linkedIn}>LinkedIn</Link>\n </>\n )}\n </Typography>\n </Box>\n\n <Box mt={1}>\n <TextField source=\"phone_number\" />{' '}\n <Typography\n variant=\"body2\"\n color=\"textSecondary\"\n component=\"span\"\n >\n Main Address\n </Typography>\n </Box>\n\n <Box mt={1} mb={3}>\n <TextField source=\"address\" />\n <br />\n <TextField source=\"city\" /> <TextField source=\"zipcode\" />{' '}\n <TextField source=\"stateAbbr\" />\n </Box>\n\n <Typography variant=\"subtitle2\">Background</Typography>\n <Divider />\n\n <Box mt={1}>\n <Typography\n variant=\"body2\"\n color=\"textSecondary\"\n component=\"span\"\n >\n Added on\n </Typography>{' '}\n <DateField\n source=\"created_at\"\n options={{ year: 'numeric', month: 'long', day: 'numeric' }}\n color=\"textSecondary\"\n />\n <br />\n <Typography\n component=\"span\"\n variant=\"body2\"\n color=\"textSecondary\"\n >\n Followed by\n </Typography>{' '}\n <ReferenceField source=\"sales_id\" reference=\"sales\">\n <FunctionField<Sale>\n source=\"last_name\"\n render={record =>\n `${record.first_name} ${record.last_name}`\n }\n />\n </ReferenceField>\n </Box>\n </Box>\n );\n};\n","import { Deal } from '../types';\n\nexport const stages = [\n 'opportunity',\n 'proposal-sent',\n 'in-negociation',\n 'won',\n 'lost',\n 'delayed',\n];\n\nexport const stageNames = {\n opportunity: 'Opportunity',\n 'proposal-sent': 'Proposal Sent',\n 'in-negociation': 'In Negociation',\n won: 'Won',\n lost: 'Lost',\n delayed: 'Delayed',\n};\n\nexport const stageChoices = stages.map(type => ({\n id: type,\n /* @ts-ignore */\n name: stageNames[type],\n}));\n\nexport type DealsByStage = Record<Deal['stage'], Deal[]>;\n\nexport const getDealsByStage = (unorderedDeals: Deal[]) => {\n const dealsByStage: Record<Deal['stage'], Deal[]> = unorderedDeals.reduce(\n (acc, deal) => {\n acc[deal.stage].push(deal);\n return acc;\n },\n stages.reduce(\n (obj, stage) => ({ ...obj, [stage]: [] }),\n {} as Record<Deal['stage'], Deal[]>\n )\n );\n // order each column by index\n stages.forEach(stage => {\n dealsByStage[stage] = dealsByStage[stage].sort(\n (recordA: Deal, recordB: Deal) => recordA.index - recordB.index\n );\n });\n return dealsByStage;\n};\n","import * as React from 'react';\nimport { useState, ChangeEvent } from 'react';\nimport {\n ShowBase,\n TextField,\n ReferenceManyField,\n SelectField,\n useShowContext,\n useRecordContext,\n useListContext,\n RecordContextProvider,\n SortButton,\n} from 'react-admin';\nimport {\n Box,\n Button,\n Card,\n CardContent,\n Typography,\n List,\n ListItem,\n ListItemAvatar,\n ListItemText,\n ListItemSecondaryAction,\n Tabs,\n Tab,\n Divider,\n Stack,\n} from '@mui/material';\nimport PersonAddIcon from '@mui/icons-material/PersonAdd';\nimport { Link as RouterLink } from 'react-router-dom';\nimport { formatDistance } from 'date-fns';\n\nimport { Avatar } from '../contacts/Avatar';\nimport { Status } from '../misc/Status';\nimport { TagsList } from '../contacts/TagsList';\nimport { sizes } from './sizes';\nimport { LogoField } from './LogoField';\nimport { CompanyAside } from './CompanyAside';\nimport { Company, Deal, Contact } from '../types';\nimport { stageNames } from '../deals/stages';\n\nexport const CompanyShow = () => (\n <ShowBase>\n <CompanyShowContent />\n </ShowBase>\n);\n\nconst CompanyShowContent = () => {\n const { record, isPending } = useShowContext<Company>();\n const [tabValue, setTabValue] = useState(0);\n const handleTabChange = (event: ChangeEvent<{}>, newValue: number) => {\n setTabValue(newValue);\n };\n if (isPending || !record) return null;\n return (\n <Box mt={2} display=\"flex\">\n <Box flex=\"1\">\n <Card>\n <CardContent>\n <Box display=\"flex\" mb={1}>\n <LogoField />\n <Box ml={2} flex=\"1\">\n <Typography variant=\"h5\">\n {record.name}\n </Typography>\n <Typography variant=\"body2\">\n <TextField source=\"sector\" />\n {record.size && ', '}\n <SelectField\n source=\"size\"\n choices={sizes}\n />\n </Typography>\n </Box>\n </Box>\n <Tabs\n value={tabValue}\n indicatorColor=\"primary\"\n textColor=\"primary\"\n onChange={handleTabChange}\n >\n {record.nb_contacts && (\n <Tab\n label={\n record.nb_contacts === 1\n ? '1 Contact'\n : `${record.nb_contacts} Contacts`\n }\n />\n )}\n {record.nb_deals && (\n <Tab\n label={\n record.nb_deals === 1\n ? '1 deal'\n : `${record.nb_deals} Deals`\n }\n />\n )}\n </Tabs>\n <Divider />\n <TabPanel value={tabValue} index={0}>\n <ReferenceManyField\n reference=\"contacts\"\n target=\"company_id\"\n sort={{ field: 'last_name', order: 'ASC' }}\n >\n <Stack\n direction=\"row\"\n justifyContent=\"flex-end\"\n spacing={2}\n mt={1}\n >\n <SortButton\n fields={[\n 'last_name',\n 'first_name',\n 'last_seen',\n ]}\n />\n <CreateRelatedContactButton />\n </Stack>\n <ContactsIterator />\n </ReferenceManyField>\n </TabPanel>\n <TabPanel value={tabValue} index={1}>\n <ReferenceManyField\n reference=\"deals\"\n target=\"company_id\"\n sort={{ field: 'name', order: 'ASC' }}\n >\n <DealsIterator />\n </ReferenceManyField>\n </TabPanel>\n </CardContent>\n </Card>\n </Box>\n <CompanyAside />\n </Box>\n );\n};\n\ninterface TabPanelProps {\n children?: React.ReactNode;\n index: any;\n value: any;\n}\n\nconst TabPanel = (props: TabPanelProps) => {\n const { children, value, index, ...other } = props;\n\n return (\n <div\n role=\"tabpanel\"\n hidden={value !== index}\n id={`wrapped-tabpanel-${index}`}\n aria-labelledby={`wrapped-tab-${index}`}\n {...other}\n >\n {children}\n </div>\n );\n};\n\nconst ContactsIterator = () => {\n const { data: contacts, error, isPending } = useListContext<Contact>();\n if (isPending || error) return null;\n\n const now = Date.now();\n return (\n <List dense sx={{ pt: 0 }}>\n {contacts.map(contact => (\n <RecordContextProvider key={contact.id} value={contact}>\n <ListItem\n button\n component={RouterLink}\n to={`/contacts/${contact.id}/show`}\n >\n <ListItemAvatar>\n <Avatar />\n </ListItemAvatar>\n <ListItemText\n primary={`${contact.first_name} ${contact.last_name}`}\n secondary={\n <>\n {contact.title}\n {contact.nb_notes\n ? ` - ${contact.nb_notes} note${\n contact.nb_notes > 1 ? 's' : ''\n }`\n : ''}\n {contact.nb_tasks\n ? ` - ${contact.nb_tasks} task${\n contact.nb_tasks > 1 ? 's' : ''\n }`\n : ''}\n    \n <TagsList />\n </>\n }\n />\n <ListItemSecondaryAction>\n <Typography\n variant=\"body2\"\n color=\"textSecondary\"\n component=\"span\"\n >\n last activity{' '}\n {formatDistance(contact.last_seen, now)} ago{' '}\n <Status status={contact.status} />\n </Typography>\n </ListItemSecondaryAction>\n </ListItem>\n </RecordContextProvider>\n ))}\n </List>\n );\n};\n\nconst CreateRelatedContactButton = () => {\n const company = useRecordContext<Company>();\n return (\n <Button\n component={RouterLink}\n to=\"/contacts/create\"\n state={company ? { record: { company_id: company.id } } : undefined}\n color=\"primary\"\n size=\"small\"\n startIcon={<PersonAddIcon />}\n >\n Add contact\n </Button>\n );\n};\n\nconst DealsIterator = () => {\n const { data: deals, error, isPending } = useListContext<Deal>();\n if (isPending || error) return null;\n\n const now = Date.now();\n return (\n <Box>\n <List dense>\n {deals.map(deal => (\n <ListItem\n button\n key={deal.id}\n component={RouterLink}\n to={`/deals/${deal.id}/show`}\n >\n <ListItemText\n primary={deal.name}\n secondary={\n <>\n {/* @ts-ignore */}\n {stageNames[deal.stage]},{' '}\n {deal.amount.toLocaleString('en-US', {\n notation: 'compact',\n style: 'currency',\n currency: 'USD',\n currencyDisplay: 'narrowSymbol',\n minimumSignificantDigits: 3,\n })}\n , {deal.type}\n </>\n }\n />\n <ListItemSecondaryAction>\n <Typography\n variant=\"body2\"\n color=\"textSecondary\"\n component=\"span\"\n >\n last activity{' '}\n {formatDistance(deal.updated_at, now)} ago{' '}\n </Typography>\n </ListItemSecondaryAction>\n </ListItem>\n ))}\n </List>\n </Box>\n );\n};\n","import * as React from 'react';\nimport { Edit, Form, Toolbar } from 'react-admin';\nimport { Box, CardContent, Stack, Avatar } from '@mui/material';\n\nimport { CompanyForm } from './CompanyForm';\n\nimport { CompanyAside } from './CompanyAside';\nimport { LogoField } from './LogoField';\n\nexport const CompanyEdit = () => (\n <Edit aside={<CompanyAside link=\"show\" />} actions={false} redirect=\"show\">\n <Form>\n <CardContent>\n <Stack direction=\"row\">\n <Avatar sx={{ mt: 1 }}>\n <LogoField />\n </Avatar>\n <Box ml={2} flex=\"1\" maxWidth={796}>\n <CompanyForm />\n </Box>\n </Stack>\n </CardContent>\n <Toolbar />\n </Form>\n </Edit>\n);\n","/* eslint-disable import/no-anonymous-default-export */\nimport { CompanyList } from './CompanyList';\nimport { CompanyCreate } from './CompanyCreate';\nimport { CompanyShow } from './CompanyShow';\nimport { CompanyEdit } from './CompanyEdit';\n\nexport default {\n list: CompanyList,\n create: CompanyCreate,\n edit: CompanyEdit,\n show: CompanyShow,\n};\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M13 7h-2v4H7v2h4v4h2v-4h4v-2h-4zm-1-5C6.49 2 2 6.49 2 12s4.49 10 10 10 10-4.49 10-10S17.51 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8\"\n}), 'ControlPoint');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M3 17.25V21h3.75L17.81 9.94l-3.75-3.75zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34a.9959.9959 0 0 0-1.41 0l-1.83 1.83 3.75 3.75z\"\n}), 'Edit');","export const colors = [\n '#eddcd2',\n '#fff1e6',\n '#fde2e4',\n '#fad2e1',\n '#c5dedd',\n '#dbe7e4',\n '#f0efeb',\n '#d6e2e9',\n '#bcd4e6',\n '#99c1de',\n];\n","import * as React from 'react';\nimport { useState, FormEvent } from 'react';\nimport {\n useGetMany,\n useCreate,\n useUpdate,\n useGetList,\n Identifier,\n useRecordContext,\n} from 'react-admin';\nimport {\n Chip,\n Box,\n Button,\n Dialog,\n DialogTitle,\n DialogContent,\n DialogActions,\n TextField,\n MenuItem,\n Menu,\n} from '@mui/material';\nimport ControlPointIcon from '@mui/icons-material/ControlPoint';\nimport EditIcon from '@mui/icons-material/Edit';\n\nimport { colors } from '../tags/colors';\nimport { Contact, Tag } from '../types';\n\nexport const TagsListEdit = () => {\n const record = useRecordContext<Contact>();\n const [open, setOpen] = useState(false);\n const [newTagName, setNewTagName] = useState('');\n const [newTagColor, setNewTagColor] = useState(colors[0]);\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);\n const [disabled, setDisabled] = useState(false);\n\n const { data: allTags, isPending: isPendingAllTags } = useGetList<Tag>(\n 'tags',\n {\n pagination: { page: 1, perPage: 10 },\n sort: { field: 'name', order: 'ASC' },\n }\n );\n const { data: tags, isPending: isPendingRecordTags } = useGetMany<Tag>(\n 'tags',\n { ids: record?.tags },\n { enabled: record && record.tags && record.tags.length > 0 }\n );\n const [update] = useUpdate<Contact>();\n const [create] = useCreate<Tag>();\n\n const unselectedTags =\n allTags &&\n record &&\n allTags.filter(tag => !record.tags.includes(tag.id));\n\n const handleOpen = (event: React.MouseEvent<HTMLDivElement>) => {\n setAnchorEl(event.currentTarget);\n };\n\n const handleClose = () => {\n setAnchorEl(null);\n };\n\n const handleDeleteTag = (id: Identifier) => {\n if (!record) {\n throw new Error('No contact record found');\n }\n const tags = record.tags.filter(tagId => tagId !== id);\n update('contacts', {\n id: record.id,\n data: { tags },\n previousData: record,\n });\n };\n\n const handleAddTag = (id: Identifier) => {\n if (!record) {\n throw new Error('No contact record found');\n }\n const tags = [...record.tags, id];\n update('contacts', {\n id: record.id,\n data: { tags },\n previousData: record,\n });\n setAnchorEl(null);\n };\n\n const handleOpenCreateDialog = () => {\n setOpen(true);\n setAnchorEl(null);\n setDisabled(false);\n };\n\n const handleNewTagNameChange = (\n event: React.ChangeEvent<HTMLInputElement>\n ) => {\n setNewTagName(event.target.value);\n };\n\n const handleCreateTag = (event: FormEvent<HTMLFormElement>) => {\n event.preventDefault();\n if (!record) {\n throw new Error('No contact record found');\n }\n setDisabled(true);\n create(\n 'tags',\n { data: { name: newTagName, color: newTagColor } },\n {\n onSuccess: tag => {\n update(\n 'contacts',\n {\n id: record.id,\n data: { tags: [...record.tags, tag.id] },\n previousData: record,\n },\n {\n onSuccess: () => {\n setNewTagName('');\n setNewTagColor(colors[0]);\n setOpen(false);\n },\n }\n );\n },\n }\n );\n };\n\n if (isPendingRecordTags || isPendingAllTags) return null;\n return (\n <>\n {tags?.map(tag => (\n <Box mt={1} mb={1} key={tag.id}>\n <Chip\n size=\"small\"\n variant=\"outlined\"\n onDelete={() => handleDeleteTag(tag.id)}\n label={tag.name}\n style={{ backgroundColor: tag.color, border: 0 }}\n />\n </Box>\n ))}\n <Box mt={1}>\n <Chip\n icon={<ControlPointIcon />}\n size=\"small\"\n variant=\"outlined\"\n onClick={handleOpen}\n label=\"Add tag\"\n color=\"primary\"\n />\n </Box>\n <Menu\n open={Boolean(anchorEl)}\n onClose={handleClose}\n anchorEl={anchorEl}\n >\n {unselectedTags?.map(tag => (\n <MenuItem key={tag.id} onClick={() => handleAddTag(tag.id)}>\n <Chip\n size=\"small\"\n variant=\"outlined\"\n label={tag.name}\n style={{\n backgroundColor: tag.color,\n border: 0,\n }}\n onClick={() => handleAddTag(tag.id)}\n />\n </MenuItem>\n ))}\n <MenuItem onClick={handleOpenCreateDialog}>\n <Chip\n icon={<EditIcon />}\n size=\"small\"\n variant=\"outlined\"\n onClick={handleOpenCreateDialog}\n color=\"primary\"\n label=\"Create new tag\"\n />\n </MenuItem>\n </Menu>\n <Dialog\n open={open}\n onClose={() => setOpen(false)}\n aria-labelledby=\"form-dialog-title\"\n >\n <form onSubmit={handleCreateTag}>\n <DialogTitle id=\"form-dialog-title\">\n Create a new tag\n </DialogTitle>\n <DialogContent>\n <TextField\n autoFocus\n label=\"Tag name\"\n value={newTagName}\n onChange={handleNewTagNameChange}\n sx={{ mt: 1 }}\n />\n <Box display=\"flex\" flexWrap=\"wrap\" width={230} mt={2}>\n {colors.map(color => (\n <RoundButton\n key={color}\n color={color}\n selected={color === newTagColor}\n handleClick={() => {\n setNewTagColor(color);\n }}\n />\n ))}\n </Box>\n </DialogContent>\n <DialogActions>\n <Button onClick={() => setOpen(false)} color=\"primary\">\n Cancel\n </Button>\n <Button\n type=\"submit\"\n color=\"primary\"\n disabled={disabled}\n >\n Add tag\n </Button>\n </DialogActions>\n </form>\n </Dialog>\n </>\n );\n};\n\nconst RoundButton = ({ color, handleClick, selected }: any) => (\n <Box\n component=\"button\"\n type=\"button\"\n sx={{\n bgcolor: color,\n width: 30,\n height: 30,\n borderRadius: 15,\n border: selected ? '2px solid grey' : 'none',\n display: 'inline-block',\n margin: 1,\n }}\n onClick={handleClick}\n />\n);\n","import * as React from 'react';\nimport { useState } from 'react';\nimport ControlPointIcon from '@mui/icons-material/ControlPoint';\nimport {\n Box,\n Button,\n Chip,\n Dialog,\n DialogTitle,\n DialogContent,\n DialogActions,\n Stack,\n} from '@mui/material';\nimport {\n RecordRepresentation,\n CreateBase,\n Form,\n TextInput,\n DateInput,\n SaveButton,\n SelectInput,\n Toolbar,\n required,\n useRecordContext,\n} from 'react-admin';\n\nconst taskTypes = [\n 'None',\n 'Email',\n 'Demo',\n 'Lunch',\n 'Meeting',\n 'Follow-up',\n 'Thank you',\n 'Ship',\n];\n\nexport const AddTask = () => {\n const contact = useRecordContext();\n const [open, setOpen] = useState(false);\n const handleOpen = () => {\n setOpen(true);\n };\n return (\n <>\n <Box mt={1}>\n <Chip\n icon={<ControlPointIcon />}\n size=\"small\"\n variant=\"outlined\"\n onClick={handleOpen}\n label=\"Add task\"\n color=\"primary\"\n />\n </Box>\n <CreateBase\n resource=\"tasks\"\n record={{\n type: 'None',\n contact_id: contact?.id,\n due_date: new Date().toISOString().slice(0, 10),\n }}\n mutationOptions={{ onSuccess: () => setOpen(false) }}\n >\n <Dialog\n open={open}\n onClose={() => setOpen(false)}\n aria-labelledby=\"form-dialog-title\"\n fullWidth\n disableRestoreFocus\n maxWidth=\"sm\"\n >\n <Form>\n <DialogTitle id=\"form-dialog-title\">\n Create a new task for{' '}\n <RecordRepresentation\n record={contact}\n resource=\"contacts\"\n />\n </DialogTitle>\n <DialogContent>\n <TextInput\n autoFocus\n source=\"text\"\n label=\"Description\"\n validate={required()}\n multiline\n />\n <Stack direction=\"row\" spacing={1} mt={2}>\n <DateInput\n source=\"due_date\"\n validate={required()}\n />\n <SelectInput\n source=\"type\"\n validate={required()}\n choices={taskTypes.map(type => ({\n id: type,\n name: type,\n }))}\n />\n </Stack>\n </DialogContent>\n <DialogActions sx={{ p: 0 }}>\n <Toolbar\n sx={{\n width: '100%',\n justifyContent: 'flex-end',\n gap: 1,\n }}\n >\n <Button onClick={() => setOpen(false)}>\n Cancel\n </Button>\n <SaveButton onClick={() => setOpen(false)} />\n </Toolbar>\n </DialogActions>\n </Form>\n </Dialog>\n </CreateBase>\n </>\n );\n};\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2m0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2m0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2\"\n}), 'MoreVert');","import * as React from 'react';\nimport { useState, MouseEvent } from 'react';\nimport {\n DateField,\n ReferenceField,\n useUpdate,\n useDeleteWithUndoController,\n} from 'react-admin';\nimport {\n Checkbox,\n IconButton,\n ListItem,\n ListItemButton,\n ListItemIcon,\n ListItemText,\n Menu,\n MenuItem,\n Typography,\n} from '@mui/material';\nimport MoreVertIcon from '@mui/icons-material/MoreVert';\n\nexport const Task = ({\n task,\n showContact,\n}: {\n task: any;\n showContact?: boolean;\n}) => {\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);\n const open = Boolean(anchorEl);\n const handleClick = (event: MouseEvent<HTMLButtonElement>) => {\n setAnchorEl(event.currentTarget);\n };\n const handleClose = () => {\n setAnchorEl(null);\n };\n const [update, { isPending: isUpdatePending }] = useUpdate();\n const { handleDelete } = useDeleteWithUndoController({\n record: task,\n redirect: false,\n });\n\n const handleCheck = () => () => {\n update('tasks', {\n id: task.id,\n data: {\n done_date: task.done_date\n ? undefined\n : new Date().toISOString(),\n },\n previousData: task,\n });\n };\n const labelId = `checkbox-list-label-${task.id}`;\n return (\n <ListItem\n secondaryAction={\n <>\n <IconButton\n edge=\"end\"\n aria-label=\"task actions\"\n aria-controls={open ? 'basic-menu' : undefined}\n onClick={handleClick}\n aria-haspopup=\"true\"\n aria-expanded={open ? 'true' : undefined}\n size=\"small\"\n >\n <MoreVertIcon />\n </IconButton>\n <Menu\n id=\"basic-menu\"\n anchorEl={anchorEl}\n open={open}\n onClose={handleClose}\n MenuListProps={{\n 'aria-labelledby': 'basic-button',\n }}\n >\n <MenuItem\n onClick={() => {\n update('tasks', {\n id: task.id,\n data: {\n due_date: new Date(\n Date.now() + 24 * 60 * 60 * 1000\n )\n .toISOString()\n .slice(0, 10),\n },\n });\n handleClose();\n }}\n >\n Postpone to tomorrow\n </MenuItem>\n <MenuItem\n onClick={() => {\n update('tasks', {\n id: task.id,\n data: {\n due_date: new Date(\n Date.now() + 7 * 24 * 60 * 60 * 1000\n )\n .toISOString()\n .slice(0, 10),\n },\n });\n handleClose();\n }}\n >\n Postpone to next week\n </MenuItem>\n <MenuItem onClick={handleDelete}>Delete</MenuItem>\n </Menu>\n </>\n }\n disableGutters\n sx={{ pr: 3 }}\n >\n <ListItemButton\n role={undefined}\n onClick={handleCheck()}\n dense\n disabled={isUpdatePending}\n sx={{\n pl: 0,\n pr: '0!important',\n pt: 0,\n pb: 0,\n alignItems: 'flex-start',\n }}\n >\n <ListItemIcon sx={{ minWidth: 'auto' }}>\n <Checkbox\n edge=\"start\"\n checked={!!task.done_date}\n tabIndex={-1}\n disableRipple\n inputProps={{ 'aria-labelledby': labelId }}\n sx={{ pt: 0.3 }}\n />\n </ListItemIcon>\n <ListItemText\n sx={{\n textDecoration: !!task.done_date\n ? 'line-through'\n : 'none',\n }}\n id={labelId}\n >\n {task.type && task.type !== 'None' && (\n <>\n <strong>{task.type}</strong> \n </>\n )}\n {task.text}\n <Typography\n variant=\"body2\"\n color=\"textSecondary\"\n component=\"div\"\n >\n due <DateField source=\"due_date\" record={task} />\n {showContact && (\n <>\n  (Re:{' '}\n <ReferenceField\n source=\"contact_id\"\n reference=\"contacts\"\n record={task}\n link=\"show\"\n />\n )\n </>\n )}\n </Typography>\n </ListItemText>\n </ListItemButton>\n </ListItem>\n );\n};\n","import * as React from 'react';\nimport { useListContext } from 'react-admin';\nimport { isAfter } from 'date-fns';\nimport { List } from '@mui/material';\n\nimport { Task } from './Task';\n\nexport const TasksIterator = ({ showContact }: { showContact?: boolean }) => {\n const { data, error, isPending } = useListContext();\n if (isPending || error || data.length === 0) return null;\n\n // Keep only tasks that are not done or done less than 5 minutes ago\n const tasks = data.filter(\n task =>\n !task.done_date ||\n isAfter(\n new Date(task.done_date),\n new Date(Date.now() - 5 * 60 * 1000)\n )\n );\n\n return (\n <List dense>\n {tasks.map(task => (\n <Task task={task} showContact={showContact} key={task.id} />\n ))}\n </List>\n );\n};\n","export const genders = [\n { id: 'male', name: 'He/Him' },\n { id: 'female', name: 'She/Her' },\n { id: 'nonbinary', name: 'They/Them' },\n];\n","import * as React from 'react';\nimport {\n TextField,\n EmailField,\n DateField,\n ReferenceManyField,\n EditButton,\n ShowButton,\n ReferenceField,\n SelectField,\n FunctionField,\n useRecordContext,\n} from 'react-admin';\nimport { Box, Typography, Divider } from '@mui/material';\nimport { TagsListEdit } from './TagsListEdit';\nimport { AddTask } from '../tasks/AddTask';\nimport { TasksIterator } from '../tasks/TasksIterator';\n\nimport { Contact, Sale } from '../types';\nimport { genders } from './constants';\n\nexport const ContactAside = ({ link = 'edit' }: { link?: 'edit' | 'show' }) => {\n const record = useRecordContext<Contact>();\n if (!record) return null;\n return (\n <Box ml={4} width={250} minWidth={250}>\n <Box textAlign=\"center\" mb={2}>\n {link === 'edit' ? (\n <EditButton label=\"Edit Contact\" />\n ) : (\n <ShowButton label=\"Show Contact\" />\n )}\n </Box>\n <Typography variant=\"subtitle2\">Personal info</Typography>\n <Divider />\n <EmailField sx={{ mt: 2, display: 'block' }} source=\"email\" />\n {record.phone_number1 && (\n <Box>\n <TextField source=\"phone_number1\" />{' '}\n <Typography\n variant=\"body2\"\n color=\"textSecondary\"\n component=\"span\"\n >\n Work\n </Typography>\n </Box>\n )}\n {record.phone_number2 && (\n <Box>\n <TextField source=\"phone_number2\" />{' '}\n <Typography\n variant=\"body2\"\n color=\"textSecondary\"\n component=\"span\"\n >\n Home\n </Typography>\n </Box>\n )}\n <SelectField source=\"gender\" choices={genders} />\n <Typography variant=\"subtitle2\" mt={2}>\n Background\n </Typography>\n <Divider />\n <Typography variant=\"body2\" mt={2}>\n {record && record.background}\n </Typography>\n <Box mt={1} mb={3}>\n <Typography\n component=\"span\"\n variant=\"body2\"\n color=\"textSecondary\"\n >\n Added on\n </Typography>{' '}\n <DateField\n source=\"first_seen\"\n options={{ year: 'numeric', month: 'long', day: 'numeric' }}\n color=\"textSecondary\"\n />\n <br />\n <Typography\n component=\"span\"\n variant=\"body2\"\n color=\"textSecondary\"\n >\n Last seen on\n </Typography>{' '}\n <DateField\n source=\"last_seen\"\n options={{ year: 'numeric', month: 'long', day: 'numeric' }}\n color=\"textSecondary\"\n />\n <br />\n <Typography\n component=\"span\"\n variant=\"body2\"\n color=\"textSecondary\"\n >\n Followed by\n </Typography>{' '}\n <ReferenceField source=\"sales_id\" reference=\"sales\">\n <FunctionField<Sale>\n source=\"last_name\"\n render={record =>\n `${record.first_name} ${record.last_name}`\n }\n />\n </ReferenceField>\n </Box>\n <Box mb={3}>\n <Typography variant=\"subtitle2\">Tags</Typography>\n <Divider />\n <TagsListEdit />\n </Box>\n <Box>\n <Typography variant=\"subtitle2\">Tasks</Typography>\n <Divider />\n <ReferenceManyField\n target=\"contact_id\"\n reference=\"tasks\"\n sort={{ field: 'due_date', order: 'ASC' }}\n >\n <TasksIterator />\n </ReferenceManyField>\n <AddTask />\n </Box>\n </Box>\n );\n};\n","import * as React from 'react';\nimport { TextField, MenuItem } from '@mui/material';\n\nimport { Status } from '../misc/Status';\n\nexport const StatusSelector = ({ status, setStatus, sx }: any) => (\n <TextField\n select\n value={status}\n onChange={(event: React.ChangeEvent<{ value: unknown }>) => {\n setStatus(event.target.value);\n }}\n variant=\"filled\"\n label={false}\n margin=\"none\"\n size=\"small\"\n sx={sx}\n >\n <MenuItem value=\"cold\">\n Cold <Status status=\"cold\" />\n </MenuItem>\n <MenuItem value=\"warm\">\n Warm <Status status=\"warm\" />\n </MenuItem>\n <MenuItem value=\"hot\">\n Hot <Status status=\"hot\" />\n </MenuItem>\n <MenuItem value=\"in-contract\">\n In Contract <Status status=\"in-contract\" />\n </MenuItem>\n </TextField>\n);\n","import * as React from 'react';\nimport { useState, FormEvent } from 'react';\nimport {\n useRecordContext,\n useListContext,\n useCreate,\n useUpdate,\n useNotify,\n useGetIdentity,\n Identifier,\n useResourceContext,\n} from 'react-admin';\nimport { Box, TextField as TextInput, Button, Stack } from '@mui/material';\n\nimport { StatusSelector } from './StatusSelector';\n\nexport const NewNote = ({\n showStatus,\n reference,\n}: {\n showStatus?: boolean;\n reference: 'contacts' | 'deals';\n}) => {\n const resource = useResourceContext();\n const record = useRecordContext();\n const { refetch } = useListContext();\n const [text, setText] = useState('');\n const [status, setStatus] = useState(record && record.status);\n const [date, setDate] = useState(getCurrentDate());\n const [create, { isPending }] = useCreate();\n const [update] = useUpdate();\n const notify = useNotify();\n const { identity } = useGetIdentity();\n if (!record || !identity) return null;\n\n const handleSubmit = (event: FormEvent<HTMLFormElement>) => {\n event.preventDefault();\n const data: any = {\n [foreignKeyMapping[reference]]: record.id,\n sales_id: identity.id,\n date,\n text,\n };\n if (showStatus) {\n data.status = status;\n }\n create(\n resource,\n { data },\n {\n onSuccess: () => {\n setText('');\n notify('Note added successfully');\n refetch();\n update(reference, {\n id: (record && record.id) as unknown as Identifier,\n data: { last_seen: date, status },\n previousData: record,\n });\n },\n }\n );\n return false;\n };\n return (\n <Box mt={4} mb={1}>\n <form onSubmit={handleSubmit}>\n <TextInput\n label=\"Add a note\"\n variant=\"filled\"\n size=\"small\"\n multiline\n value={text}\n onChange={(event: React.ChangeEvent<HTMLInputElement>) =>\n setText(event.target.value)\n }\n rows={3}\n />\n <Box display=\"flex\" justifyContent=\"space-between\" mt={1}>\n <span>\n {text ? (\n <Stack direction=\"row\">\n {showStatus && (\n <StatusSelector\n status={status}\n setStatus={setStatus}\n sx={{\n marginRight: '1em',\n '& .MuiFilledInput-input': {\n paddingTop: '10px',\n },\n width: 150,\n }}\n />\n )}\n <TextInput\n type=\"datetime-local\"\n variant=\"filled\"\n size=\"small\"\n margin=\"none\"\n value={date}\n onChange={(\n event: React.ChangeEvent<HTMLInputElement>\n ) => {\n setDate(event.target.value);\n }}\n sx={{\n marginRight: '1em',\n '& .MuiFilledInput-input': {\n paddingTop: '10px',\n },\n }}\n />\n </Stack>\n ) : null}\n </span>\n <Button\n type=\"submit\"\n variant=\"contained\"\n color=\"primary\"\n disabled={!text || isPending}\n >\n Add this note\n </Button>\n </Box>\n </form>\n </Box>\n );\n};\n\nconst getCurrentDate = () => {\n const now = new Date();\n now.setMinutes(now.getMinutes() - now.getTimezoneOffset());\n return now.toISOString().slice(0, -1);\n};\n\nconst foreignKeyMapping = {\n contacts: 'contact_id',\n deals: 'deal_id',\n};\n","import * as React from 'react';\nimport { useState, FormEvent, ChangeEvent } from 'react';\nimport {\n TextField,\n ReferenceField,\n DateField,\n useResourceContext,\n useDelete,\n useUpdate,\n useNotify,\n} from 'react-admin';\nimport {\n Box,\n Typography,\n Tooltip,\n IconButton,\n FilledInput,\n Button,\n} from '@mui/material';\nimport EditIcon from '@mui/icons-material/Edit';\nimport TrashIcon from '@mui/icons-material/Delete';\n\nimport { Status } from '../misc/Status';\n\nexport const Note = ({\n showStatus,\n note,\n}: {\n showStatus?: boolean;\n note: any;\n isLast: boolean;\n}) => {\n const [isHover, setHover] = useState(false);\n const [isEditing, setEditing] = useState(false);\n const [noteText, setNoteText] = useState(note.text);\n const resource = useResourceContext();\n const notify = useNotify();\n\n const [update, { isPending }] = useUpdate();\n\n const [deleteNote] = useDelete(\n resource,\n { id: note.id, previousData: note },\n {\n mutationMode: 'undoable',\n onSuccess: () => {\n notify('Note deleted', { type: 'info', undoable: true });\n },\n }\n );\n\n const handleDelete = () => {\n deleteNote();\n };\n\n const handleEnterEditMode = () => {\n setEditing(true);\n };\n\n const handleCancelEdit = () => {\n setEditing(false);\n setNoteText(note.text);\n setHover(false);\n };\n\n const handleTextChange = (event: ChangeEvent<HTMLInputElement>) => {\n setNoteText(event.target.value);\n };\n\n const handleNoteUpdate = (event: FormEvent<HTMLFormElement>) => {\n event.preventDefault();\n update(\n resource,\n { id: note.id, data: { text: noteText }, previousData: note },\n {\n onSuccess: () => {\n setEditing(false);\n setNoteText(note.text);\n setHover(false);\n },\n }\n );\n };\n\n return (\n <Box\n mb={2}\n onMouseEnter={() => setHover(true)}\n onMouseLeave={() => setHover(false)}\n >\n <Box mb={1} color=\"text.secondary\">\n <ReferenceField\n record={note}\n resource=\"contactNotes\"\n source=\"sales_id\"\n reference=\"sales\"\n >\n <TextField source=\"first_name\" variant=\"body1\" />\n </ReferenceField>{' '}\n <Typography component=\"span\" variant=\"body1\">\n added a note on{' '}\n </Typography>\n <DateField\n source=\"date\"\n record={note}\n variant=\"body1\"\n showTime\n locales=\"en\"\n options={{\n dateStyle: 'full',\n timeStyle: 'short',\n }}\n />{' '}\n {showStatus && <Status status={note.status} />}\n </Box>\n {isEditing ? (\n <form onSubmit={handleNoteUpdate}>\n <FilledInput\n value={noteText}\n onChange={handleTextChange}\n fullWidth\n multiline\n sx={{\n paddingTop: '16px',\n paddingLeft: '14px',\n paddingRight: '60px',\n paddingBottom: '14px',\n lineHeight: 1.3,\n }}\n autoFocus\n />\n <Box display=\"flex\" justifyContent=\"flex-end\" mt={1}>\n <Button\n sx={{ mr: 1 }}\n onClick={handleCancelEdit}\n color=\"primary\"\n >\n Cancel\n </Button>\n <Button\n type=\"submit\"\n color=\"primary\"\n variant=\"contained\"\n disabled={isPending}\n >\n Update Note\n </Button>\n </Box>\n </form>\n ) : (\n <Box\n sx={{\n bgcolor: '#edf3f0',\n padding: '0 1em',\n borderRadius: '10px',\n display: 'flex',\n alignItems: 'stretch',\n marginBottom: 1,\n }}\n >\n <Box flex={1}>\n {note.text\n .split('\\n')\n .map((paragraph: string, index: number) => (\n <Box\n component=\"p\"\n fontFamily=\"fontFamily\"\n fontSize=\"body1.fontSize\"\n lineHeight={1.3}\n marginBottom={2.4}\n key={index}\n >\n {paragraph}\n </Box>\n ))}\n </Box>\n <Box\n sx={{\n marginLeft: 2,\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'space-around',\n visibility: isHover ? 'visible' : 'hidden',\n }}\n >\n <Tooltip title=\"Edit note\">\n <IconButton\n size=\"small\"\n onClick={handleEnterEditMode}\n >\n <EditIcon />\n </IconButton>\n </Tooltip>\n <Tooltip title=\"Delete note\">\n <IconButton size=\"small\" onClick={handleDelete}>\n <TrashIcon />\n </IconButton>\n </Tooltip>\n </Box>\n </Box>\n )}\n </Box>\n );\n};\n","import * as React from 'react';\nimport { Box } from '@mui/material';\nimport { useListContext } from 'react-admin';\n\nimport { Note } from './Note';\nimport { NewNote } from './NewNote';\n\nexport const NotesIterator = ({\n showStatus,\n reference,\n}: {\n showStatus?: boolean;\n reference: 'contacts' | 'deals';\n}) => {\n const { data, error, isPending } = useListContext();\n if (isPending || error) return null;\n return (\n <>\n <NewNote showStatus={showStatus} reference={reference} />\n <Box mt=\"0.5em\">\n {data.map((note, index) => (\n <Note\n note={note}\n isLast={index === data.length - 1}\n showStatus={showStatus}\n key={index}\n />\n ))}\n </Box>\n </>\n );\n};\n","import * as React from 'react';\nimport {\n ShowBase,\n TextField,\n ReferenceField,\n ReferenceManyField,\n useShowContext,\n} from 'react-admin';\nimport { Box, Card, CardContent, Typography } from '@mui/material';\n\nimport { Avatar } from './Avatar';\nimport { ContactAside } from './ContactAside';\nimport { LogoField } from '../companies/LogoField';\nimport { NotesIterator } from '../notes';\nimport { Contact } from '../types';\n\nexport const ContactShow = () => (\n <ShowBase>\n <ContactShowContent />\n </ShowBase>\n);\n\nconst ContactShowContent = () => {\n const { record, isPending } = useShowContext<Contact>();\n if (isPending || !record) return null;\n return (\n <Box mt={2} display=\"flex\">\n <Box flex=\"1\">\n <Card>\n <CardContent>\n <Box display=\"flex\">\n <Avatar />\n <Box ml={2} flex=\"1\">\n <Typography variant=\"h5\">\n {record.first_name} {record.last_name}\n </Typography>\n <Typography variant=\"body2\" component=\"div\">\n {record.title} at{' '}\n <ReferenceField\n source=\"company_id\"\n reference=\"companies\"\n link=\"show\"\n >\n <TextField source=\"name\" />\n </ReferenceField>\n </Typography>\n </Box>\n <Box>\n <ReferenceField\n source=\"company_id\"\n reference=\"companies\"\n link=\"show\"\n >\n <LogoField />\n </ReferenceField>\n </Box>\n </Box>\n <ReferenceManyField\n target=\"contact_id\"\n reference=\"contactNotes\"\n sort={{ field: 'date', order: 'DESC' }}\n >\n <NotesIterator showStatus reference=\"contacts\" />\n </ReferenceManyField>\n </CardContent>\n </Card>\n </Box>\n <ContactAside />\n </Box>\n );\n};\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)([/*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2M12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8\"\n}, \"0\"), /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z\"\n}, \"1\")], 'AccessTime');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"m16 6 2.29 2.29-4.88 4.88-4-4L2 16.59 3.41 18l6-6 4 4 6.3-6.29L22 12V6z\"\n}), 'TrendingUp');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"m21.41 11.58-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42M5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7\"\n}), 'LocalOffer');","/* eslint-disable import/no-anonymous-default-export */\nimport * as React from 'react';\nimport {\n FilterList,\n FilterLiveSearch,\n FilterListItem,\n useGetIdentity,\n useGetList,\n} from 'react-admin';\nimport { Box, Chip } from '@mui/material';\nimport AccessTimeIcon from '@mui/icons-material/AccessTime';\nimport TrendingUpIcon from '@mui/icons-material/TrendingUp';\nimport LocalOfferIcon from '@mui/icons-material/LocalOffer';\nimport SupervisorAccountIcon from '@mui/icons-material/SupervisorAccount';\nimport { endOfYesterday, startOfWeek, startOfMonth, subMonths } from 'date-fns';\n\nimport { Status } from '../misc/Status';\n\nexport const ContactListFilter = () => {\n const { identity } = useGetIdentity();\n const { data } = useGetList('tags', {\n pagination: { page: 1, perPage: 10 },\n sort: { field: 'name', order: 'ASC' },\n });\n return (\n <Box width=\"13em\" minWidth=\"13em\" order={-1} mr={2} mt={5}>\n <FilterLiveSearch\n hiddenLabel\n sx={{\n display: 'block',\n '& .MuiFilledInput-root': { width: '100%' },\n }}\n />\n <FilterList label=\"Last seen\" icon={<AccessTimeIcon />}>\n <FilterListItem\n label=\"Today\"\n value={{\n last_seen_gte: endOfYesterday().toISOString(),\n last_seen_lte: undefined,\n }}\n />\n <FilterListItem\n label=\"This week\"\n value={{\n last_seen_gte: startOfWeek(new Date()).toISOString(),\n last_seen_lte: undefined,\n }}\n />\n <FilterListItem\n label=\"Before this week\"\n value={{\n last_seen_gte: undefined,\n last_seen_lte: startOfWeek(new Date()).toISOString(),\n }}\n />\n <FilterListItem\n label=\"Before this month\"\n value={{\n last_seen_gte: undefined,\n last_seen_lte: startOfMonth(new Date()).toISOString(),\n }}\n />\n <FilterListItem\n label=\"Before last month\"\n value={{\n last_seen_gte: undefined,\n last_seen_lte: subMonths(\n startOfMonth(new Date()),\n 1\n ).toISOString(),\n }}\n />\n </FilterList>\n <FilterList label=\"Status\" icon={<TrendingUpIcon />}>\n <FilterListItem\n label={\n <>\n Cold <Status status=\"cold\" />\n </>\n }\n value={{ status: 'cold' }}\n />\n <FilterListItem\n label={\n <>\n Warm <Status status=\"warm\" />\n </>\n }\n value={{ status: 'warm' }}\n />\n <FilterListItem\n label={\n <>\n Hot <Status status=\"hot\" />\n </>\n }\n value={{ status: 'hot' }}\n />\n <FilterListItem\n label={\n <>\n In contract <Status status=\"in-contract\" />\n </>\n }\n value={{ status: 'in-contract' }}\n />\n </FilterList>\n <FilterList label=\"Tags\" icon={<LocalOfferIcon />}>\n {data &&\n data.map(record => (\n <FilterListItem\n key={record.id}\n label={\n <Chip\n label={record?.name}\n size=\"small\"\n style={{\n backgroundColor: record?.color,\n border: 0,\n cursor: 'pointer',\n }}\n />\n }\n value={{ tags: [record.id] }}\n />\n ))}\n </FilterList>\n <FilterList\n label=\"Account manager\"\n icon={<SupervisorAccountIcon />}\n >\n <FilterListItem\n label=\"Me\"\n value={{ sales_id: identity && identity.id }}\n />\n </FilterList>\n </Box>\n );\n};\n","/* eslint-disable import/no-anonymous-default-export */\nimport * as React from 'react';\nimport {\n BulkActionsToolbar,\n BulkDeleteButton,\n CreateButton,\n downloadCSV,\n ExportButton,\n List as RaList,\n Pagination,\n RecordContextProvider,\n ReferenceField,\n SimpleListLoading,\n SortButton,\n TextField,\n TopToolbar,\n useGetIdentity,\n useListContext,\n} from 'react-admin';\nimport type { Exporter } from 'react-admin';\nimport {\n List,\n ListItem,\n ListItemAvatar,\n ListItemIcon,\n ListItemSecondaryAction,\n ListItemText,\n Checkbox,\n Typography,\n} from '@mui/material';\nimport { Link } from 'react-router-dom';\nimport { formatDistance } from 'date-fns';\nimport jsonExport from 'jsonexport/dist';\n\nimport { Avatar } from './Avatar';\nimport { Status } from '../misc/Status';\nimport { TagsList } from './TagsList';\nimport { ContactListFilter } from './ContactListFilter';\nimport { Contact, Company, Sale, Tag } from '../types';\n\nconst ContactListContent = () => {\n const {\n data: contacts,\n error,\n isPending,\n onToggleItem,\n selectedIds,\n } = useListContext<Contact>();\n if (isPending) {\n return <SimpleListLoading hasLeftAvatarOrIcon hasSecondaryText />;\n }\n if (error) {\n return null;\n }\n const now = Date.now();\n\n return (\n <>\n <BulkActionsToolbar>\n <BulkDeleteButton />\n </BulkActionsToolbar>\n <List dense>\n {contacts.map(contact => (\n <RecordContextProvider key={contact.id} value={contact}>\n <ListItem\n button\n component={Link}\n to={`/contacts/${contact.id}/show`}\n >\n <ListItemIcon>\n <Checkbox\n edge=\"start\"\n checked={selectedIds.includes(contact.id)}\n tabIndex={-1}\n disableRipple\n onClick={e => {\n e.stopPropagation();\n onToggleItem(contact.id);\n }}\n />\n </ListItemIcon>\n <ListItemAvatar>\n <Avatar />\n </ListItemAvatar>\n <ListItemText\n primary={`${contact.first_name} ${contact.last_name}`}\n secondary={\n <>\n {contact.title} at{' '}\n <ReferenceField\n source=\"company_id\"\n reference=\"companies\"\n link={false}\n >\n <TextField source=\"name\" />\n </ReferenceField>\n {contact.nb_notes\n ? ` - ${contact.nb_notes} note${\n contact.nb_notes > 1\n ? 's'\n : ''\n }`\n : ''}\n {contact.nb_tasks\n ? ` - ${contact.nb_tasks} task${\n contact.nb_tasks > 1\n ? 's'\n : ''\n }`\n : ''}\n   \n <TagsList />\n </>\n }\n />\n <ListItemSecondaryAction>\n <Typography\n variant=\"body2\"\n color=\"textSecondary\"\n >\n last activity{' '}\n {formatDistance(contact.last_seen, now)} ago{' '}\n <Status status={contact.status} />\n </Typography>\n </ListItemSecondaryAction>\n </ListItem>\n </RecordContextProvider>\n ))}\n </List>\n </>\n );\n};\n\nconst ContactListActions = () => (\n <TopToolbar>\n <SortButton fields={['last_name', 'first_name', 'last_seen']} />\n <ExportButton />\n <CreateButton\n variant=\"contained\"\n label=\"New Contact\"\n sx={{ marginLeft: 2 }}\n />\n </TopToolbar>\n);\n\nconst exporter: Exporter<Contact> = async (records, fetchRelatedRecords) => {\n const companies = await fetchRelatedRecords<Company>(\n records,\n 'company_id',\n 'companies'\n );\n const sales = await fetchRelatedRecords<Sale>(records, 'sales_id', 'sales');\n const tags = await fetchRelatedRecords<Tag>(records, 'tags', 'tags');\n\n const contacts = records.map(contact => ({\n ...contact,\n company: companies[contact.company_id].name,\n sales: `${sales[contact.sales_id].first_name} ${\n sales[contact.sales_id].last_name\n }`,\n tags: contact.tags.map(tagId => tags[tagId].name).join(', '),\n }));\n return jsonExport(contacts, {}, (_err: any, csv: string) => {\n downloadCSV(csv, 'contacts');\n });\n};\n\nexport const ContactList = () => {\n const { identity } = useGetIdentity();\n return identity ? (\n <RaList<Contact>\n actions={<ContactListActions />}\n aside={<ContactListFilter />}\n perPage={25}\n pagination={<Pagination rowsPerPageOptions={[10, 25, 50, 100]} />}\n filterDefaultValues={{ sales_id: identity?.id }}\n sort={{ field: 'last_seen', order: 'DESC' }}\n exporter={exporter}\n >\n <ContactListContent />\n </RaList>\n ) : null;\n};\n","import * as React from 'react';\nimport {\n TextInput,\n ReferenceInput,\n AutocompleteInput,\n BooleanInput,\n SelectInput,\n required,\n email,\n useCreate,\n useGetIdentity,\n useNotify,\n} from 'react-admin';\nimport { Divider, Box, Stack } from '@mui/material';\n\nimport { genders } from './constants';\n\nconst isUrl = (value: string) => {\n if (!value) return;\n try {\n new URL(value);\n } catch (_) {\n return 'Must be a valid URL';\n }\n};\n\nexport const ContactInputs = () => {\n const [create] = useCreate();\n const { identity } = useGetIdentity();\n const notify = useNotify();\n const handleCreateCompany = async (name?: string) => {\n if (!name) return;\n try {\n const newCompany = await create(\n 'companies',\n {\n data: {\n name,\n sales_id: identity?.id,\n created_at: new Date().toISOString(),\n },\n },\n { returnPromise: true }\n );\n return newCompany;\n } catch (error) {\n notify('An error occurred while creating the company', {\n type: 'error',\n });\n throw error;\n }\n };\n return (\n <Box flex=\"1\" mt={-1}>\n <Stack direction=\"row\" width={430} gap={1}>\n <TextInput\n source=\"first_name\"\n validate={required()}\n helperText={false}\n />\n <TextInput\n source=\"last_name\"\n validate={required()}\n helperText={false}\n />\n </Stack>\n <Stack direction=\"row\" width={430} gap={1}>\n <TextInput source=\"title\" helperText={false} />\n <ReferenceInput source=\"company_id\" reference=\"companies\">\n <AutocompleteInput\n optionText=\"name\"\n validate={required()}\n onCreate={handleCreateCompany}\n helperText={false}\n />\n </ReferenceInput>\n </Stack>\n <Divider sx={{ my: 2 }} />\n <Box width={430}>\n <TextInput\n source=\"email\"\n helperText={false}\n validate={email()}\n />\n <Stack direction=\"row\" gap={1}>\n <TextInput source=\"phone_number1\" helperText={false} />\n <TextInput source=\"phone_number2\" helperText={false} />\n </Stack>\n </Box>\n <Divider sx={{ my: 2 }} />\n <Box width={430}>\n <TextInput source=\"background\" multiline helperText={false} />\n <TextInput\n source=\"avatar\"\n label=\"Avatar URL\"\n helperText={false}\n validate={isUrl}\n />\n <Stack direction=\"row\" gap={1} alignItems=\"center\">\n <SelectInput\n source=\"gender\"\n choices={genders}\n helperText={false}\n />\n <BooleanInput\n source=\"has_newsletter\"\n sx={{\n width: '100%',\n label: { justifyContent: 'center' },\n }}\n helperText={false}\n />\n </Stack>\n </Box>\n <Divider sx={{ my: 2 }} />\n <Box width={430}>\n <ReferenceInput\n reference=\"sales\"\n source=\"sales_id\"\n sort={{ field: 'last_name', order: 'ASC' }}\n >\n <SelectInput\n helperText={false}\n label=\"Account manager\"\n sx={{ width: 210 }}\n />\n </ReferenceInput>\n </Box>\n </Box>\n );\n};\n","import * as React from 'react';\nimport { EditBase, Form, Toolbar, useEditContext } from 'react-admin';\nimport { Card, CardContent, Box } from '@mui/material';\n\nimport { Avatar } from './Avatar';\nimport { ContactInputs } from './ContactInputs';\nimport { ContactAside } from './ContactAside';\nimport { Contact } from '../types';\n\nexport const ContactEdit = () => (\n <EditBase redirect=\"show\">\n <ContactEditContent />\n </EditBase>\n);\n\nconst ContactEditContent = () => {\n const { isPending, record } = useEditContext<Contact>();\n if (isPending || !record) return null;\n return (\n <Box mt={2} display=\"flex\">\n <Box flex=\"1\">\n <Form>\n <Card>\n <CardContent>\n <Box>\n <Box display=\"flex\">\n <Box mr={2}>\n <Avatar />\n </Box>\n <ContactInputs />\n </Box>\n </Box>\n </CardContent>\n <Toolbar />\n </Card>\n </Form>\n </Box>\n <ContactAside link=\"show\" />\n </Box>\n );\n};\n","import * as React from 'react';\nimport { CreateBase, Form, Toolbar, useGetIdentity } from 'react-admin';\nimport { Card, CardContent, Box, Avatar } from '@mui/material';\n\nimport { ContactInputs } from './ContactInputs';\nimport { Contact } from '../types';\n\nexport const ContactCreate = () => {\n const { identity } = useGetIdentity();\n return (\n <CreateBase\n redirect=\"show\"\n transform={(data: Contact) => ({\n ...data,\n first_seen: new Date().toISOString(),\n last_seen: new Date().toISOString(),\n tags: [],\n })}\n >\n <Box mt={2} display=\"flex\">\n <Box flex=\"1\">\n <Form defaultValues={{ sales_id: identity?.id }}>\n <Card>\n <CardContent>\n <Box>\n <Box display=\"flex\">\n <Box mr={2}>\n <Avatar />\n </Box>\n <ContactInputs />\n </Box>\n </Box>\n </CardContent>\n <Toolbar />\n </Card>\n </Form>\n </Box>\n </Box>\n </CreateBase>\n );\n};\n","/* eslint-disable import/no-anonymous-default-export */\nimport { ContactShow } from './ContactShow';\nimport { ContactList } from './ContactList';\nimport { ContactEdit } from './ContactEdit';\nimport { ContactCreate } from './ContactCreate';\nimport { Contact } from '../types';\n\nexport default {\n list: ContactList,\n show: ContactShow,\n edit: ContactEdit,\n create: ContactCreate,\n recordRepresentation: (record: Contact) =>\n record?.first_name + ' ' + record?.last_name,\n};\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z\"\n}), 'Home');","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M9.4 16.6 4.8 12l4.6-4.6L8 6l-6 6 6 6zm5.2 0 4.6-4.6-4.6-4.6L16 6l6 6-6 6z\"\n}), 'Code');","import * as React from 'react';\nimport {\n Typography,\n Card,\n CardContent,\n CardActions,\n Button,\n} from '@mui/material';\nimport HomeIcon from '@mui/icons-material/Home';\nimport CodeIcon from '@mui/icons-material/Code';\n\nexport const Welcome = () => (\n <Card\n sx={{\n background: `#c5dedd`,\n color: 'rgba(0, 0, 0, 0.87)',\n padding: '1em',\n marginBottom: '1em',\n marginTop: '2em',\n [`& .MuiCardActions-root`]: {\n p: 2,\n mt: -2,\n mb: -1,\n flexDirection: 'column',\n '& a': {\n mb: 1,\n color: 'rgba(0, 0, 0, 0.87)',\n backgroundColor: 'white',\n marginLeft: '0 !important',\n },\n },\n }}\n >\n <CardContent>\n <Typography variant=\"h5\" gutterBottom>\n CRM demo\n </Typography>\n <Typography gutterBottom>\n This app runs in the browser, and relies on a mock REST API.\n Feel free to explore and modify the data - it's local to your\n computer, and will reset each time you reload.\n </Typography>\n <Typography gutterBottom>\n It was built using react-admin, an open-source framework. The\n code for this demo is also open-source. Reading it is a great\n way to learn react-admin!\n </Typography>\n </CardContent>\n <CardActions>\n <Button\n variant=\"contained\"\n fullWidth\n href=\"https://marmelab.com/react-admin\"\n startIcon={<HomeIcon />}\n >\n React-admin site\n </Button>\n <Button\n variant=\"contained\"\n fullWidth\n href=\"https://github.com/marmelab/react-admin/tree/master/examples/crm\"\n startIcon={<CodeIcon />}\n >\n Source of this demo\n </Button>\n </CardActions>\n </Card>\n);\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M11.8 10.9c-2.27-.59-3-1.2-3-2.15 0-1.09 1.01-1.85 2.7-1.85 1.78 0 2.44.85 2.5 2.1h2.21c-.07-1.72-1.12-3.3-3.21-3.81V3h-3v2.16c-1.94.42-3.5 1.68-3.5 3.61 0 2.31 1.91 3.46 4.7 4.13 2.5.6 3 1.48 3 2.41 0 .69-.49 1.79-2.7 1.79-2.06 0-2.87-.92-2.98-2.1h-2.2c.12 2.19 1.76 3.42 3.68 3.83V21h3v-2.15c1.95-.37 3.5-1.5 3.5-3.55 0-2.84-2.43-3.81-4.7-4.4\"\n}), 'AttachMoney');","let updateQueue = makeQueue();\nconst raf = fn => schedule(fn, updateQueue);\nlet writeQueue = makeQueue();\n\nraf.write = fn => schedule(fn, writeQueue);\n\nlet onStartQueue = makeQueue();\n\nraf.onStart = fn => schedule(fn, onStartQueue);\n\nlet onFrameQueue = makeQueue();\n\nraf.onFrame = fn => schedule(fn, onFrameQueue);\n\nlet onFinishQueue = makeQueue();\n\nraf.onFinish = fn => schedule(fn, onFinishQueue);\n\nlet timeouts = [];\n\nraf.setTimeout = (handler, ms) => {\n let time = raf.now() + ms;\n\n let cancel = () => {\n let i = timeouts.findIndex(t => t.cancel == cancel);\n if (~i) timeouts.splice(i, 1);\n pendingCount -= ~i ? 1 : 0;\n };\n\n let timeout = {\n time,\n handler,\n cancel\n };\n timeouts.splice(findTimeout(time), 0, timeout);\n pendingCount += 1;\n start();\n return timeout;\n};\n\nlet findTimeout = time => ~(~timeouts.findIndex(t => t.time > time) || ~timeouts.length);\n\nraf.cancel = fn => {\n onStartQueue.delete(fn);\n onFrameQueue.delete(fn);\n updateQueue.delete(fn);\n writeQueue.delete(fn);\n onFinishQueue.delete(fn);\n};\n\nraf.sync = fn => {\n sync = true;\n raf.batchedUpdates(fn);\n sync = false;\n};\n\nraf.throttle = fn => {\n let lastArgs;\n\n function queuedFn() {\n try {\n fn(...lastArgs);\n } finally {\n lastArgs = null;\n }\n }\n\n function throttled(...args) {\n lastArgs = args;\n raf.onStart(queuedFn);\n }\n\n throttled.handler = fn;\n\n throttled.cancel = () => {\n onStartQueue.delete(queuedFn);\n lastArgs = null;\n };\n\n return throttled;\n};\n\nlet nativeRaf = typeof window != 'undefined' ? window.requestAnimationFrame : () => {};\n\nraf.use = impl => nativeRaf = impl;\n\nraf.now = typeof performance != 'undefined' ? () => performance.now() : Date.now;\n\nraf.batchedUpdates = fn => fn();\n\nraf.catch = console.error;\nraf.frameLoop = 'always';\n\nraf.advance = () => {\n if (raf.frameLoop !== 'demand') {\n console.warn('Cannot call the manual advancement of rafz whilst frameLoop is not set as demand');\n } else {\n update();\n }\n};\n\nlet ts = -1;\nlet pendingCount = 0;\nlet sync = false;\n\nfunction schedule(fn, queue) {\n if (sync) {\n queue.delete(fn);\n fn(0);\n } else {\n queue.add(fn);\n start();\n }\n}\n\nfunction start() {\n if (ts < 0) {\n ts = 0;\n\n if (raf.frameLoop !== 'demand') {\n nativeRaf(loop);\n }\n }\n}\n\nfunction stop() {\n ts = -1;\n}\n\nfunction loop() {\n if (~ts) {\n nativeRaf(loop);\n raf.batchedUpdates(update);\n }\n}\n\nfunction update() {\n let prevTs = ts;\n ts = raf.now();\n let count = findTimeout(ts);\n\n if (count) {\n eachSafely(timeouts.splice(0, count), t => t.handler());\n pendingCount -= count;\n }\n\n onStartQueue.flush();\n updateQueue.flush(prevTs ? Math.min(64, ts - prevTs) : 16.667);\n onFrameQueue.flush();\n writeQueue.flush();\n onFinishQueue.flush();\n\n if (!pendingCount) {\n stop();\n }\n}\n\nfunction makeQueue() {\n let next = new Set();\n let current = next;\n return {\n add(fn) {\n pendingCount += current == next && !next.has(fn) ? 1 : 0;\n next.add(fn);\n },\n\n delete(fn) {\n pendingCount -= current == next && next.has(fn) ? 1 : 0;\n return next.delete(fn);\n },\n\n flush(arg) {\n if (current.size) {\n next = new Set();\n pendingCount -= current.size;\n eachSafely(current, fn => fn(arg) && next.add(fn));\n pendingCount += next.size;\n current = next;\n }\n }\n\n };\n}\n\nfunction eachSafely(values, each) {\n values.forEach(value => {\n try {\n each(value);\n } catch (e) {\n raf.catch(e);\n }\n });\n}\n\nconst __raf = {\n count() {\n return pendingCount;\n },\n\n isRunning() {\n return ts >= 0;\n },\n\n clear() {\n ts = -1;\n timeouts = [];\n onStartQueue = makeQueue();\n updateQueue = makeQueue();\n onFrameQueue = makeQueue();\n writeQueue = makeQueue();\n onFinishQueue = makeQueue();\n pendingCount = 0;\n }\n\n};\n\nexport { __raf, raf };\n","import { raf } from '@react-spring/rafz';\nexport { raf } from '@react-spring/rafz';\nimport * as React from 'react';\nimport { useRef, useState, useEffect } from 'react';\n\nfunction noop() {}\nconst defineHidden = (obj, key, value) => Object.defineProperty(obj, key, {\n value,\n writable: true,\n configurable: true\n});\nconst is = {\n arr: Array.isArray,\n obj: a => !!a && a.constructor.name === 'Object',\n fun: a => typeof a === 'function',\n str: a => typeof a === 'string',\n num: a => typeof a === 'number',\n und: a => a === undefined\n};\nfunction isEqual(a, b) {\n if (is.arr(a)) {\n if (!is.arr(b) || a.length !== b.length) return false;\n\n for (let i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) return false;\n }\n\n return true;\n }\n\n return a === b;\n}\nconst each = (obj, fn) => obj.forEach(fn);\nfunction eachProp(obj, fn, ctx) {\n if (is.arr(obj)) {\n for (let i = 0; i < obj.length; i++) {\n fn.call(ctx, obj[i], `${i}`);\n }\n\n return;\n }\n\n for (const key in obj) {\n if (obj.hasOwnProperty(key)) {\n fn.call(ctx, obj[key], key);\n }\n }\n}\nconst toArray = a => is.und(a) ? [] : is.arr(a) ? a : [a];\nfunction flush(queue, iterator) {\n if (queue.size) {\n const items = Array.from(queue);\n queue.clear();\n each(items, iterator);\n }\n}\nconst flushCalls = (queue, ...args) => flush(queue, fn => fn(...args));\nconst isSSR = () => typeof window === 'undefined' || !window.navigator || /ServerSideRendering|^Deno\\//.test(window.navigator.userAgent);\n\nlet createStringInterpolator$1;\nlet to;\nlet colors$1 = null;\nlet skipAnimation = false;\nlet willAdvance = noop;\nconst assign = globals => {\n if (globals.to) to = globals.to;\n if (globals.now) raf.now = globals.now;\n if (globals.colors !== undefined) colors$1 = globals.colors;\n if (globals.skipAnimation != null) skipAnimation = globals.skipAnimation;\n if (globals.createStringInterpolator) createStringInterpolator$1 = globals.createStringInterpolator;\n if (globals.requestAnimationFrame) raf.use(globals.requestAnimationFrame);\n if (globals.batchedUpdates) raf.batchedUpdates = globals.batchedUpdates;\n if (globals.willAdvance) willAdvance = globals.willAdvance;\n if (globals.frameLoop) raf.frameLoop = globals.frameLoop;\n};\n\nvar globals = /*#__PURE__*/Object.freeze({\n __proto__: null,\n get createStringInterpolator () { return createStringInterpolator$1; },\n get to () { return to; },\n get colors () { return colors$1; },\n get skipAnimation () { return skipAnimation; },\n get willAdvance () { return willAdvance; },\n assign: assign\n});\n\nconst startQueue = new Set();\nlet currentFrame = [];\nlet prevFrame = [];\nlet priority = 0;\nconst frameLoop = {\n get idle() {\n return !startQueue.size && !currentFrame.length;\n },\n\n start(animation) {\n if (priority > animation.priority) {\n startQueue.add(animation);\n raf.onStart(flushStartQueue);\n } else {\n startSafely(animation);\n raf(advance);\n }\n },\n\n advance,\n\n sort(animation) {\n if (priority) {\n raf.onFrame(() => frameLoop.sort(animation));\n } else {\n const prevIndex = currentFrame.indexOf(animation);\n\n if (~prevIndex) {\n currentFrame.splice(prevIndex, 1);\n startUnsafely(animation);\n }\n }\n },\n\n clear() {\n currentFrame = [];\n startQueue.clear();\n }\n\n};\n\nfunction flushStartQueue() {\n startQueue.forEach(startSafely);\n startQueue.clear();\n raf(advance);\n}\n\nfunction startSafely(animation) {\n if (!currentFrame.includes(animation)) startUnsafely(animation);\n}\n\nfunction startUnsafely(animation) {\n currentFrame.splice(findIndex(currentFrame, other => other.priority > animation.priority), 0, animation);\n}\n\nfunction advance(dt) {\n const nextFrame = prevFrame;\n\n for (let i = 0; i < currentFrame.length; i++) {\n const animation = currentFrame[i];\n priority = animation.priority;\n\n if (!animation.idle) {\n willAdvance(animation);\n animation.advance(dt);\n\n if (!animation.idle) {\n nextFrame.push(animation);\n }\n }\n }\n\n priority = 0;\n prevFrame = currentFrame;\n prevFrame.length = 0;\n currentFrame = nextFrame;\n return currentFrame.length > 0;\n}\n\nfunction findIndex(arr, test) {\n const index = arr.findIndex(test);\n return index < 0 ? arr.length : index;\n}\n\nconst colors = {\n transparent: 0x00000000,\n aliceblue: 0xf0f8ffff,\n antiquewhite: 0xfaebd7ff,\n aqua: 0x00ffffff,\n aquamarine: 0x7fffd4ff,\n azure: 0xf0ffffff,\n beige: 0xf5f5dcff,\n bisque: 0xffe4c4ff,\n black: 0x000000ff,\n blanchedalmond: 0xffebcdff,\n blue: 0x0000ffff,\n blueviolet: 0x8a2be2ff,\n brown: 0xa52a2aff,\n burlywood: 0xdeb887ff,\n burntsienna: 0xea7e5dff,\n cadetblue: 0x5f9ea0ff,\n chartreuse: 0x7fff00ff,\n chocolate: 0xd2691eff,\n coral: 0xff7f50ff,\n cornflowerblue: 0x6495edff,\n cornsilk: 0xfff8dcff,\n crimson: 0xdc143cff,\n cyan: 0x00ffffff,\n darkblue: 0x00008bff,\n darkcyan: 0x008b8bff,\n darkgoldenrod: 0xb8860bff,\n darkgray: 0xa9a9a9ff,\n darkgreen: 0x006400ff,\n darkgrey: 0xa9a9a9ff,\n darkkhaki: 0xbdb76bff,\n darkmagenta: 0x8b008bff,\n darkolivegreen: 0x556b2fff,\n darkorange: 0xff8c00ff,\n darkorchid: 0x9932ccff,\n darkred: 0x8b0000ff,\n darksalmon: 0xe9967aff,\n darkseagreen: 0x8fbc8fff,\n darkslateblue: 0x483d8bff,\n darkslategray: 0x2f4f4fff,\n darkslategrey: 0x2f4f4fff,\n darkturquoise: 0x00ced1ff,\n darkviolet: 0x9400d3ff,\n deeppink: 0xff1493ff,\n deepskyblue: 0x00bfffff,\n dimgray: 0x696969ff,\n dimgrey: 0x696969ff,\n dodgerblue: 0x1e90ffff,\n firebrick: 0xb22222ff,\n floralwhite: 0xfffaf0ff,\n forestgreen: 0x228b22ff,\n fuchsia: 0xff00ffff,\n gainsboro: 0xdcdcdcff,\n ghostwhite: 0xf8f8ffff,\n gold: 0xffd700ff,\n goldenrod: 0xdaa520ff,\n gray: 0x808080ff,\n green: 0x008000ff,\n greenyellow: 0xadff2fff,\n grey: 0x808080ff,\n honeydew: 0xf0fff0ff,\n hotpink: 0xff69b4ff,\n indianred: 0xcd5c5cff,\n indigo: 0x4b0082ff,\n ivory: 0xfffff0ff,\n khaki: 0xf0e68cff,\n lavender: 0xe6e6faff,\n lavenderblush: 0xfff0f5ff,\n lawngreen: 0x7cfc00ff,\n lemonchiffon: 0xfffacdff,\n lightblue: 0xadd8e6ff,\n lightcoral: 0xf08080ff,\n lightcyan: 0xe0ffffff,\n lightgoldenrodyellow: 0xfafad2ff,\n lightgray: 0xd3d3d3ff,\n lightgreen: 0x90ee90ff,\n lightgrey: 0xd3d3d3ff,\n lightpink: 0xffb6c1ff,\n lightsalmon: 0xffa07aff,\n lightseagreen: 0x20b2aaff,\n lightskyblue: 0x87cefaff,\n lightslategray: 0x778899ff,\n lightslategrey: 0x778899ff,\n lightsteelblue: 0xb0c4deff,\n lightyellow: 0xffffe0ff,\n lime: 0x00ff00ff,\n limegreen: 0x32cd32ff,\n linen: 0xfaf0e6ff,\n magenta: 0xff00ffff,\n maroon: 0x800000ff,\n mediumaquamarine: 0x66cdaaff,\n mediumblue: 0x0000cdff,\n mediumorchid: 0xba55d3ff,\n mediumpurple: 0x9370dbff,\n mediumseagreen: 0x3cb371ff,\n mediumslateblue: 0x7b68eeff,\n mediumspringgreen: 0x00fa9aff,\n mediumturquoise: 0x48d1ccff,\n mediumvioletred: 0xc71585ff,\n midnightblue: 0x191970ff,\n mintcream: 0xf5fffaff,\n mistyrose: 0xffe4e1ff,\n moccasin: 0xffe4b5ff,\n navajowhite: 0xffdeadff,\n navy: 0x000080ff,\n oldlace: 0xfdf5e6ff,\n olive: 0x808000ff,\n olivedrab: 0x6b8e23ff,\n orange: 0xffa500ff,\n orangered: 0xff4500ff,\n orchid: 0xda70d6ff,\n palegoldenrod: 0xeee8aaff,\n palegreen: 0x98fb98ff,\n paleturquoise: 0xafeeeeff,\n palevioletred: 0xdb7093ff,\n papayawhip: 0xffefd5ff,\n peachpuff: 0xffdab9ff,\n peru: 0xcd853fff,\n pink: 0xffc0cbff,\n plum: 0xdda0ddff,\n powderblue: 0xb0e0e6ff,\n purple: 0x800080ff,\n rebeccapurple: 0x663399ff,\n red: 0xff0000ff,\n rosybrown: 0xbc8f8fff,\n royalblue: 0x4169e1ff,\n saddlebrown: 0x8b4513ff,\n salmon: 0xfa8072ff,\n sandybrown: 0xf4a460ff,\n seagreen: 0x2e8b57ff,\n seashell: 0xfff5eeff,\n sienna: 0xa0522dff,\n silver: 0xc0c0c0ff,\n skyblue: 0x87ceebff,\n slateblue: 0x6a5acdff,\n slategray: 0x708090ff,\n slategrey: 0x708090ff,\n snow: 0xfffafaff,\n springgreen: 0x00ff7fff,\n steelblue: 0x4682b4ff,\n tan: 0xd2b48cff,\n teal: 0x008080ff,\n thistle: 0xd8bfd8ff,\n tomato: 0xff6347ff,\n turquoise: 0x40e0d0ff,\n violet: 0xee82eeff,\n wheat: 0xf5deb3ff,\n white: 0xffffffff,\n whitesmoke: 0xf5f5f5ff,\n yellow: 0xffff00ff,\n yellowgreen: 0x9acd32ff\n};\n\nconst NUMBER = '[-+]?\\\\d*\\\\.?\\\\d+';\nconst PERCENTAGE = NUMBER + '%';\n\nfunction call(...parts) {\n return '\\\\(\\\\s*(' + parts.join(')\\\\s*,\\\\s*(') + ')\\\\s*\\\\)';\n}\n\nconst rgb = new RegExp('rgb' + call(NUMBER, NUMBER, NUMBER));\nconst rgba = new RegExp('rgba' + call(NUMBER, NUMBER, NUMBER, NUMBER));\nconst hsl = new RegExp('hsl' + call(NUMBER, PERCENTAGE, PERCENTAGE));\nconst hsla = new RegExp('hsla' + call(NUMBER, PERCENTAGE, PERCENTAGE, NUMBER));\nconst hex3 = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/;\nconst hex4 = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/;\nconst hex6 = /^#([0-9a-fA-F]{6})$/;\nconst hex8 = /^#([0-9a-fA-F]{8})$/;\n\nfunction normalizeColor(color) {\n let match;\n\n if (typeof color === 'number') {\n return color >>> 0 === color && color >= 0 && color <= 0xffffffff ? color : null;\n }\n\n if (match = hex6.exec(color)) return parseInt(match[1] + 'ff', 16) >>> 0;\n\n if (colors$1 && colors$1[color] !== undefined) {\n return colors$1[color];\n }\n\n if (match = rgb.exec(color)) {\n return (parse255(match[1]) << 24 | parse255(match[2]) << 16 | parse255(match[3]) << 8 | 0x000000ff) >>> 0;\n }\n\n if (match = rgba.exec(color)) {\n return (parse255(match[1]) << 24 | parse255(match[2]) << 16 | parse255(match[3]) << 8 | parse1(match[4])) >>> 0;\n }\n\n if (match = hex3.exec(color)) {\n return parseInt(match[1] + match[1] + match[2] + match[2] + match[3] + match[3] + 'ff', 16) >>> 0;\n }\n\n if (match = hex8.exec(color)) return parseInt(match[1], 16) >>> 0;\n\n if (match = hex4.exec(color)) {\n return parseInt(match[1] + match[1] + match[2] + match[2] + match[3] + match[3] + match[4] + match[4], 16) >>> 0;\n }\n\n if (match = hsl.exec(color)) {\n return (hslToRgb(parse360(match[1]), parsePercentage(match[2]), parsePercentage(match[3])) | 0x000000ff) >>> 0;\n }\n\n if (match = hsla.exec(color)) {\n return (hslToRgb(parse360(match[1]), parsePercentage(match[2]), parsePercentage(match[3])) | parse1(match[4])) >>> 0;\n }\n\n return null;\n}\n\nfunction hue2rgb(p, q, t) {\n if (t < 0) t += 1;\n if (t > 1) t -= 1;\n if (t < 1 / 6) return p + (q - p) * 6 * t;\n if (t < 1 / 2) return q;\n if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;\n return p;\n}\n\nfunction hslToRgb(h, s, l) {\n const q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n const p = 2 * l - q;\n const r = hue2rgb(p, q, h + 1 / 3);\n const g = hue2rgb(p, q, h);\n const b = hue2rgb(p, q, h - 1 / 3);\n return Math.round(r * 255) << 24 | Math.round(g * 255) << 16 | Math.round(b * 255) << 8;\n}\n\nfunction parse255(str) {\n const int = parseInt(str, 10);\n if (int < 0) return 0;\n if (int > 255) return 255;\n return int;\n}\n\nfunction parse360(str) {\n const int = parseFloat(str);\n return (int % 360 + 360) % 360 / 360;\n}\n\nfunction parse1(str) {\n const num = parseFloat(str);\n if (num < 0) return 0;\n if (num > 1) return 255;\n return Math.round(num * 255);\n}\n\nfunction parsePercentage(str) {\n const int = parseFloat(str);\n if (int < 0) return 0;\n if (int > 100) return 1;\n return int / 100;\n}\n\nfunction colorToRgba(input) {\n let int32Color = normalizeColor(input);\n if (int32Color === null) return input;\n int32Color = int32Color || 0;\n let r = (int32Color & 0xff000000) >>> 24;\n let g = (int32Color & 0x00ff0000) >>> 16;\n let b = (int32Color & 0x0000ff00) >>> 8;\n let a = (int32Color & 0x000000ff) / 255;\n return `rgba(${r}, ${g}, ${b}, ${a})`;\n}\n\nconst createInterpolator = (range, output, extrapolate) => {\n if (is.fun(range)) {\n return range;\n }\n\n if (is.arr(range)) {\n return createInterpolator({\n range,\n output: output,\n extrapolate\n });\n }\n\n if (is.str(range.output[0])) {\n return createStringInterpolator$1(range);\n }\n\n const config = range;\n const outputRange = config.output;\n const inputRange = config.range || [0, 1];\n const extrapolateLeft = config.extrapolateLeft || config.extrapolate || 'extend';\n const extrapolateRight = config.extrapolateRight || config.extrapolate || 'extend';\n\n const easing = config.easing || (t => t);\n\n return input => {\n const range = findRange(input, inputRange);\n return interpolate(input, inputRange[range], inputRange[range + 1], outputRange[range], outputRange[range + 1], easing, extrapolateLeft, extrapolateRight, config.map);\n };\n};\n\nfunction interpolate(input, inputMin, inputMax, outputMin, outputMax, easing, extrapolateLeft, extrapolateRight, map) {\n let result = map ? map(input) : input;\n\n if (result < inputMin) {\n if (extrapolateLeft === 'identity') return result;else if (extrapolateLeft === 'clamp') result = inputMin;\n }\n\n if (result > inputMax) {\n if (extrapolateRight === 'identity') return result;else if (extrapolateRight === 'clamp') result = inputMax;\n }\n\n if (outputMin === outputMax) return outputMin;\n if (inputMin === inputMax) return input <= inputMin ? outputMin : outputMax;\n if (inputMin === -Infinity) result = -result;else if (inputMax === Infinity) result = result - inputMin;else result = (result - inputMin) / (inputMax - inputMin);\n result = easing(result);\n if (outputMin === -Infinity) result = -result;else if (outputMax === Infinity) result = result + outputMin;else result = result * (outputMax - outputMin) + outputMin;\n return result;\n}\n\nfunction findRange(input, inputRange) {\n for (var i = 1; i < inputRange.length - 1; ++i) if (inputRange[i] >= input) break;\n\n return i - 1;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nconst $get = Symbol.for('FluidValue.get');\nconst $observers = Symbol.for('FluidValue.observers');\n\nconst hasFluidValue = arg => Boolean(arg && arg[$get]);\n\nconst getFluidValue = arg => arg && arg[$get] ? arg[$get]() : arg;\n\nconst getFluidObservers = target => target[$observers] || null;\n\nfunction callFluidObserver(observer, event) {\n if (observer.eventObserved) {\n observer.eventObserved(event);\n } else {\n observer(event);\n }\n}\n\nfunction callFluidObservers(target, event) {\n let observers = target[$observers];\n\n if (observers) {\n observers.forEach(observer => {\n callFluidObserver(observer, event);\n });\n }\n}\n\nclass FluidValue {\n constructor(get) {\n this[$get] = void 0;\n this[$observers] = void 0;\n\n if (!get && !(get = this.get)) {\n throw Error('Unknown getter');\n }\n\n setFluidGetter(this, get);\n }\n\n}\n\nconst setFluidGetter = (target, get) => setHidden(target, $get, get);\n\nfunction addFluidObserver(target, observer) {\n if (target[$get]) {\n let observers = target[$observers];\n\n if (!observers) {\n setHidden(target, $observers, observers = new Set());\n }\n\n if (!observers.has(observer)) {\n observers.add(observer);\n\n if (target.observerAdded) {\n target.observerAdded(observers.size, observer);\n }\n }\n }\n\n return observer;\n}\n\nfunction removeFluidObserver(target, observer) {\n let observers = target[$observers];\n\n if (observers && observers.has(observer)) {\n const count = observers.size - 1;\n\n if (count) {\n observers.delete(observer);\n } else {\n target[$observers] = null;\n }\n\n if (target.observerRemoved) {\n target.observerRemoved(count, observer);\n }\n }\n}\n\nconst setHidden = (target, key, value) => Object.defineProperty(target, key, {\n value,\n writable: true,\n configurable: true\n});\n\nconst numberRegex = /[+\\-]?(?:0|[1-9]\\d*)(?:\\.\\d*)?(?:[eE][+\\-]?\\d+)?/g;\nconst colorRegex = /(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\\((-?\\d+%?[,\\s]+){2,3}\\s*[\\d\\.]+%?\\))/gi;\nconst unitRegex = new RegExp(`(${numberRegex.source})(%|[a-z]+)`, 'i');\nconst rgbaRegex = /rgba\\(([0-9\\.-]+), ([0-9\\.-]+), ([0-9\\.-]+), ([0-9\\.-]+)\\)/gi;\nconst cssVariableRegex = /var\\((--[a-zA-Z0-9-_]+),? ?([a-zA-Z0-9 ()%#.,-]+)?\\)/;\n\nconst variableToRgba = input => {\n const [token, fallback] = parseCSSVariable(input);\n\n if (!token || isSSR()) {\n return input;\n }\n\n const value = window.getComputedStyle(document.documentElement).getPropertyValue(token);\n\n if (value) {\n return value.trim();\n } else if (fallback && fallback.startsWith('--')) {\n const _value = window.getComputedStyle(document.documentElement).getPropertyValue(fallback);\n\n if (_value) {\n return _value;\n } else {\n return input;\n }\n } else if (fallback && cssVariableRegex.test(fallback)) {\n return variableToRgba(fallback);\n } else if (fallback) {\n return fallback;\n }\n\n return input;\n};\n\nconst parseCSSVariable = current => {\n const match = cssVariableRegex.exec(current);\n if (!match) return [,];\n const [, token, fallback] = match;\n return [token, fallback];\n};\n\nlet namedColorRegex;\n\nconst rgbaRound = (_, p1, p2, p3, p4) => `rgba(${Math.round(p1)}, ${Math.round(p2)}, ${Math.round(p3)}, ${p4})`;\n\nconst createStringInterpolator = config => {\n if (!namedColorRegex) namedColorRegex = colors$1 ? new RegExp(`(${Object.keys(colors$1).join('|')})(?!\\\\w)`, 'g') : /^\\b$/;\n const output = config.output.map(value => {\n return getFluidValue(value).replace(cssVariableRegex, variableToRgba).replace(colorRegex, colorToRgba).replace(namedColorRegex, colorToRgba);\n });\n const keyframes = output.map(value => value.match(numberRegex).map(Number));\n const outputRanges = keyframes[0].map((_, i) => keyframes.map(values => {\n if (!(i in values)) {\n throw Error('The arity of each \"output\" value must be equal');\n }\n\n return values[i];\n }));\n const interpolators = outputRanges.map(output => createInterpolator(_extends({}, config, {\n output\n })));\n return input => {\n var _output$find;\n\n const missingUnit = !unitRegex.test(output[0]) && ((_output$find = output.find(value => unitRegex.test(value))) == null ? void 0 : _output$find.replace(numberRegex, ''));\n let i = 0;\n return output[0].replace(numberRegex, () => `${interpolators[i++](input)}${missingUnit || ''}`).replace(rgbaRegex, rgbaRound);\n };\n};\n\nconst prefix = 'react-spring: ';\n\nconst once = fn => {\n const func = fn;\n let called = false;\n\n if (typeof func != 'function') {\n throw new TypeError(`${prefix}once requires a function parameter`);\n }\n\n return (...args) => {\n if (!called) {\n func(...args);\n called = true;\n }\n };\n};\n\nconst warnInterpolate = once(console.warn);\nfunction deprecateInterpolate() {\n warnInterpolate(`${prefix}The \"interpolate\" function is deprecated in v9 (use \"to\" instead)`);\n}\nconst warnDirectCall = once(console.warn);\nfunction deprecateDirectCall() {\n warnDirectCall(`${prefix}Directly calling start instead of using the api object is deprecated in v9 (use \".start\" instead), this will be removed in later 0.X.0 versions`);\n}\n\nfunction isAnimatedString(value) {\n return is.str(value) && (value[0] == '#' || /\\d/.test(value) || !isSSR() && cssVariableRegex.test(value) || value in (colors$1 || {}));\n}\n\nconst useLayoutEffect = typeof window !== 'undefined' && window.document && window.document.createElement ? React.useLayoutEffect : React.useEffect;\n\nconst useIsMounted = () => {\n const isMounted = useRef(false);\n useLayoutEffect(() => {\n isMounted.current = true;\n return () => {\n isMounted.current = false;\n };\n }, []);\n return isMounted;\n};\n\nfunction useForceUpdate() {\n const update = useState()[1];\n const isMounted = useIsMounted();\n return () => {\n if (isMounted.current) {\n update(Math.random());\n }\n };\n}\n\nfunction useMemoOne(getResult, inputs) {\n const [initial] = useState(() => ({\n inputs,\n result: getResult()\n }));\n const committed = useRef();\n const prevCache = committed.current;\n let cache = prevCache;\n\n if (cache) {\n const useCache = Boolean(inputs && cache.inputs && areInputsEqual(inputs, cache.inputs));\n\n if (!useCache) {\n cache = {\n inputs,\n result: getResult()\n };\n }\n } else {\n cache = initial;\n }\n\n useEffect(() => {\n committed.current = cache;\n\n if (prevCache == initial) {\n initial.inputs = initial.result = undefined;\n }\n }, [cache]);\n return cache.result;\n}\n\nfunction areInputsEqual(next, prev) {\n if (next.length !== prev.length) {\n return false;\n }\n\n for (let i = 0; i < next.length; i++) {\n if (next[i] !== prev[i]) {\n return false;\n }\n }\n\n return true;\n}\n\nconst useOnce = effect => useEffect(effect, emptyDeps);\nconst emptyDeps = [];\n\nfunction usePrev(value) {\n const prevRef = useRef();\n useEffect(() => {\n prevRef.current = value;\n });\n return prevRef.current;\n}\n\nexport { FluidValue, globals as Globals, addFluidObserver, callFluidObserver, callFluidObservers, colorToRgba, colors, createInterpolator, createStringInterpolator, defineHidden, deprecateDirectCall, deprecateInterpolate, each, eachProp, flush, flushCalls, frameLoop, getFluidObservers, getFluidValue, hasFluidValue, hex3, hex4, hex6, hex8, hsl, hsla, is, isAnimatedString, isEqual, isSSR, noop, removeFluidObserver, rgb, rgba, setFluidGetter, toArray, useForceUpdate, useLayoutEffect, useMemoOne, useOnce, usePrev };\n","import { defineHidden, is, createInterpolator, eachProp, hasFluidValue, getFluidValue, each, isAnimatedString, useForceUpdate, useLayoutEffect, addFluidObserver, removeFluidObserver, raf, useOnce } from '@react-spring/shared';\nimport * as React from 'react';\nimport { forwardRef, useRef, useCallback, useEffect } from 'react';\n\nconst $node = Symbol.for('Animated:node');\nconst isAnimated = value => !!value && value[$node] === value;\nconst getAnimated = owner => owner && owner[$node];\nconst setAnimated = (owner, node) => defineHidden(owner, $node, node);\nconst getPayload = owner => owner && owner[$node] && owner[$node].getPayload();\nclass Animated {\n constructor() {\n this.payload = void 0;\n setAnimated(this, this);\n }\n\n getPayload() {\n return this.payload || [];\n }\n\n}\n\nclass AnimatedValue extends Animated {\n constructor(_value) {\n super();\n this.done = true;\n this.elapsedTime = void 0;\n this.lastPosition = void 0;\n this.lastVelocity = void 0;\n this.v0 = void 0;\n this.durationProgress = 0;\n this._value = _value;\n\n if (is.num(this._value)) {\n this.lastPosition = this._value;\n }\n }\n\n static create(value) {\n return new AnimatedValue(value);\n }\n\n getPayload() {\n return [this];\n }\n\n getValue() {\n return this._value;\n }\n\n setValue(value, step) {\n if (is.num(value)) {\n this.lastPosition = value;\n\n if (step) {\n value = Math.round(value / step) * step;\n\n if (this.done) {\n this.lastPosition = value;\n }\n }\n }\n\n if (this._value === value) {\n return false;\n }\n\n this._value = value;\n return true;\n }\n\n reset() {\n const {\n done\n } = this;\n this.done = false;\n\n if (is.num(this._value)) {\n this.elapsedTime = 0;\n this.durationProgress = 0;\n this.lastPosition = this._value;\n if (done) this.lastVelocity = null;\n this.v0 = null;\n }\n }\n\n}\n\nclass AnimatedString extends AnimatedValue {\n constructor(value) {\n super(0);\n this._string = null;\n this._toString = void 0;\n this._toString = createInterpolator({\n output: [value, value]\n });\n }\n\n static create(value) {\n return new AnimatedString(value);\n }\n\n getValue() {\n let value = this._string;\n return value == null ? this._string = this._toString(this._value) : value;\n }\n\n setValue(value) {\n if (is.str(value)) {\n if (value == this._string) {\n return false;\n }\n\n this._string = value;\n this._value = 1;\n } else if (super.setValue(value)) {\n this._string = null;\n } else {\n return false;\n }\n\n return true;\n }\n\n reset(goal) {\n if (goal) {\n this._toString = createInterpolator({\n output: [this.getValue(), goal]\n });\n }\n\n this._value = 0;\n super.reset();\n }\n\n}\n\nconst TreeContext = {\n dependencies: null\n};\n\nclass AnimatedObject extends Animated {\n constructor(source) {\n super();\n this.source = source;\n this.setValue(source);\n }\n\n getValue(animated) {\n const values = {};\n eachProp(this.source, (source, key) => {\n if (isAnimated(source)) {\n values[key] = source.getValue(animated);\n } else if (hasFluidValue(source)) {\n values[key] = getFluidValue(source);\n } else if (!animated) {\n values[key] = source;\n }\n });\n return values;\n }\n\n setValue(source) {\n this.source = source;\n this.payload = this._makePayload(source);\n }\n\n reset() {\n if (this.payload) {\n each(this.payload, node => node.reset());\n }\n }\n\n _makePayload(source) {\n if (source) {\n const payload = new Set();\n eachProp(source, this._addToPayload, payload);\n return Array.from(payload);\n }\n }\n\n _addToPayload(source) {\n if (TreeContext.dependencies && hasFluidValue(source)) {\n TreeContext.dependencies.add(source);\n }\n\n const payload = getPayload(source);\n\n if (payload) {\n each(payload, node => this.add(node));\n }\n }\n\n}\n\nclass AnimatedArray extends AnimatedObject {\n constructor(source) {\n super(source);\n }\n\n static create(source) {\n return new AnimatedArray(source);\n }\n\n getValue() {\n return this.source.map(node => node.getValue());\n }\n\n setValue(source) {\n const payload = this.getPayload();\n\n if (source.length == payload.length) {\n return payload.map((node, i) => node.setValue(source[i])).some(Boolean);\n }\n\n super.setValue(source.map(makeAnimated));\n return true;\n }\n\n}\n\nfunction makeAnimated(value) {\n const nodeType = isAnimatedString(value) ? AnimatedString : AnimatedValue;\n return nodeType.create(value);\n}\n\nfunction getAnimatedType(value) {\n const parentNode = getAnimated(value);\n return parentNode ? parentNode.constructor : is.arr(value) ? AnimatedArray : isAnimatedString(value) ? AnimatedString : AnimatedValue;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nconst withAnimated = (Component, host) => {\n const hasInstance = !is.fun(Component) || Component.prototype && Component.prototype.isReactComponent;\n return forwardRef((givenProps, givenRef) => {\n const instanceRef = useRef(null);\n const ref = hasInstance && useCallback(value => {\n instanceRef.current = updateRef(givenRef, value);\n }, [givenRef]);\n const [props, deps] = getAnimatedState(givenProps, host);\n const forceUpdate = useForceUpdate();\n\n const callback = () => {\n const instance = instanceRef.current;\n\n if (hasInstance && !instance) {\n return;\n }\n\n const didUpdate = instance ? host.applyAnimatedValues(instance, props.getValue(true)) : false;\n\n if (didUpdate === false) {\n forceUpdate();\n }\n };\n\n const observer = new PropsObserver(callback, deps);\n const observerRef = useRef();\n useLayoutEffect(() => {\n observerRef.current = observer;\n each(deps, dep => addFluidObserver(dep, observer));\n return () => {\n if (observerRef.current) {\n each(observerRef.current.deps, dep => removeFluidObserver(dep, observerRef.current));\n raf.cancel(observerRef.current.update);\n }\n };\n });\n useEffect(callback, []);\n useOnce(() => () => {\n const observer = observerRef.current;\n each(observer.deps, dep => removeFluidObserver(dep, observer));\n });\n const usedProps = host.getComponentProps(props.getValue());\n return React.createElement(Component, _extends({}, usedProps, {\n ref: ref\n }));\n });\n};\n\nclass PropsObserver {\n constructor(update, deps) {\n this.update = update;\n this.deps = deps;\n }\n\n eventObserved(event) {\n if (event.type == 'change') {\n raf.write(this.update);\n }\n }\n\n}\n\nfunction getAnimatedState(props, host) {\n const dependencies = new Set();\n TreeContext.dependencies = dependencies;\n if (props.style) props = _extends({}, props, {\n style: host.createAnimatedStyle(props.style)\n });\n props = new AnimatedObject(props);\n TreeContext.dependencies = null;\n return [props, dependencies];\n}\n\nfunction updateRef(ref, value) {\n if (ref) {\n if (is.fun(ref)) ref(value);else ref.current = value;\n }\n\n return value;\n}\n\nconst cacheKey = Symbol.for('AnimatedComponent');\nconst createHost = (components, {\n applyAnimatedValues: _applyAnimatedValues = () => false,\n createAnimatedStyle: _createAnimatedStyle = style => new AnimatedObject(style),\n getComponentProps: _getComponentProps = props => props\n} = {}) => {\n const hostConfig = {\n applyAnimatedValues: _applyAnimatedValues,\n createAnimatedStyle: _createAnimatedStyle,\n getComponentProps: _getComponentProps\n };\n\n const animated = Component => {\n const displayName = getDisplayName(Component) || 'Anonymous';\n\n if (is.str(Component)) {\n Component = animated[Component] || (animated[Component] = withAnimated(Component, hostConfig));\n } else {\n Component = Component[cacheKey] || (Component[cacheKey] = withAnimated(Component, hostConfig));\n }\n\n Component.displayName = `Animated(${displayName})`;\n return Component;\n };\n\n eachProp(components, (Component, key) => {\n if (is.arr(components)) {\n key = getDisplayName(Component);\n }\n\n animated[key] = animated(Component);\n });\n return {\n animated\n };\n};\n\nconst getDisplayName = arg => is.str(arg) ? arg : arg && is.str(arg.displayName) ? arg.displayName : is.fun(arg) && arg.name || null;\n\nexport { Animated, AnimatedArray, AnimatedObject, AnimatedString, AnimatedValue, createHost, getAnimated, getAnimatedType, getPayload, isAnimated, setAnimated };\n","import { eachProp, is, toArray, isAnimatedString, Globals, getFluidValue, useLayoutEffect, each, raf, flush, FluidValue, deprecateInterpolate, callFluidObservers, frameLoop, hasFluidValue, flushCalls, isEqual, getFluidObservers, addFluidObserver, removeFluidObserver, noop, useMemoOne, deprecateDirectCall, useForceUpdate, usePrev, useOnce, createInterpolator, createStringInterpolator } from '@react-spring/shared';\nexport { Globals, createInterpolator } from '@react-spring/shared';\nimport * as React from 'react';\nimport { useContext, useMemo, useRef, useState } from 'react';\nimport { getAnimated, AnimatedValue, getPayload, AnimatedString, getAnimatedType, setAnimated } from '@react-spring/animated';\nexport * from '@react-spring/types/animated';\nexport * from '@react-spring/types/interpolation';\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction callProp(value, ...args) {\n return is.fun(value) ? value(...args) : value;\n}\nconst matchProp = (value, key) => value === true || !!(key && value && (is.fun(value) ? value(key) : toArray(value).includes(key)));\nconst resolveProp = (prop, key) => is.obj(prop) ? key && prop[key] : prop;\nconst getDefaultProp = (props, key) => props.default === true ? props[key] : props.default ? props.default[key] : undefined;\n\nconst noopTransform = value => value;\n\nconst getDefaultProps = (props, transform = noopTransform) => {\n let keys = DEFAULT_PROPS;\n\n if (props.default && props.default !== true) {\n props = props.default;\n keys = Object.keys(props);\n }\n\n const defaults = {};\n\n for (const key of keys) {\n const value = transform(props[key], key);\n\n if (!is.und(value)) {\n defaults[key] = value;\n }\n }\n\n return defaults;\n};\nconst DEFAULT_PROPS = ['config', 'onProps', 'onStart', 'onChange', 'onPause', 'onResume', 'onRest'];\nconst RESERVED_PROPS = {\n config: 1,\n from: 1,\n to: 1,\n ref: 1,\n loop: 1,\n reset: 1,\n pause: 1,\n cancel: 1,\n reverse: 1,\n immediate: 1,\n default: 1,\n delay: 1,\n onProps: 1,\n onStart: 1,\n onChange: 1,\n onPause: 1,\n onResume: 1,\n onRest: 1,\n onResolve: 1,\n items: 1,\n trail: 1,\n sort: 1,\n expires: 1,\n initial: 1,\n enter: 1,\n update: 1,\n leave: 1,\n children: 1,\n onDestroyed: 1,\n keys: 1,\n callId: 1,\n parentId: 1\n};\n\nfunction getForwardProps(props) {\n const forward = {};\n let count = 0;\n eachProp(props, (value, prop) => {\n if (!RESERVED_PROPS[prop]) {\n forward[prop] = value;\n count++;\n }\n });\n\n if (count) {\n return forward;\n }\n}\n\nfunction inferTo(props) {\n const to = getForwardProps(props);\n\n if (to) {\n const out = {\n to\n };\n eachProp(props, (val, key) => key in to || (out[key] = val));\n return out;\n }\n\n return _extends({}, props);\n}\nfunction computeGoal(value) {\n value = getFluidValue(value);\n return is.arr(value) ? value.map(computeGoal) : isAnimatedString(value) ? Globals.createStringInterpolator({\n range: [0, 1],\n output: [value, value]\n })(1) : value;\n}\nfunction hasProps(props) {\n for (const _ in props) return true;\n\n return false;\n}\nfunction isAsyncTo(to) {\n return is.fun(to) || is.arr(to) && is.obj(to[0]);\n}\nfunction detachRefs(ctrl, ref) {\n var _ctrl$ref;\n\n (_ctrl$ref = ctrl.ref) == null ? void 0 : _ctrl$ref.delete(ctrl);\n ref == null ? void 0 : ref.delete(ctrl);\n}\nfunction replaceRef(ctrl, ref) {\n if (ref && ctrl.ref !== ref) {\n var _ctrl$ref2;\n\n (_ctrl$ref2 = ctrl.ref) == null ? void 0 : _ctrl$ref2.delete(ctrl);\n ref.add(ctrl);\n ctrl.ref = ref;\n }\n}\n\nfunction useChain(refs, timeSteps, timeFrame = 1000) {\n useLayoutEffect(() => {\n if (timeSteps) {\n let prevDelay = 0;\n each(refs, (ref, i) => {\n const controllers = ref.current;\n\n if (controllers.length) {\n let delay = timeFrame * timeSteps[i];\n if (isNaN(delay)) delay = prevDelay;else prevDelay = delay;\n each(controllers, ctrl => {\n each(ctrl.queue, props => {\n const memoizedDelayProp = props.delay;\n\n props.delay = key => delay + callProp(memoizedDelayProp || 0, key);\n });\n });\n ref.start();\n }\n });\n } else {\n let p = Promise.resolve();\n each(refs, ref => {\n const controllers = ref.current;\n\n if (controllers.length) {\n const queues = controllers.map(ctrl => {\n const q = ctrl.queue;\n ctrl.queue = [];\n return q;\n });\n p = p.then(() => {\n each(controllers, (ctrl, i) => each(queues[i] || [], update => ctrl.queue.push(update)));\n return Promise.all(ref.start());\n });\n }\n });\n }\n });\n}\n\nconst config = {\n default: {\n tension: 170,\n friction: 26\n },\n gentle: {\n tension: 120,\n friction: 14\n },\n wobbly: {\n tension: 180,\n friction: 12\n },\n stiff: {\n tension: 210,\n friction: 20\n },\n slow: {\n tension: 280,\n friction: 60\n },\n molasses: {\n tension: 280,\n friction: 120\n }\n};\nconst c1 = 1.70158;\nconst c2 = c1 * 1.525;\nconst c3 = c1 + 1;\nconst c4 = 2 * Math.PI / 3;\nconst c5 = 2 * Math.PI / 4.5;\n\nconst bounceOut = x => {\n const n1 = 7.5625;\n const d1 = 2.75;\n\n if (x < 1 / d1) {\n return n1 * x * x;\n } else if (x < 2 / d1) {\n return n1 * (x -= 1.5 / d1) * x + 0.75;\n } else if (x < 2.5 / d1) {\n return n1 * (x -= 2.25 / d1) * x + 0.9375;\n } else {\n return n1 * (x -= 2.625 / d1) * x + 0.984375;\n }\n};\n\nconst easings = {\n linear: x => x,\n easeInQuad: x => x * x,\n easeOutQuad: x => 1 - (1 - x) * (1 - x),\n easeInOutQuad: x => x < 0.5 ? 2 * x * x : 1 - Math.pow(-2 * x + 2, 2) / 2,\n easeInCubic: x => x * x * x,\n easeOutCubic: x => 1 - Math.pow(1 - x, 3),\n easeInOutCubic: x => x < 0.5 ? 4 * x * x * x : 1 - Math.pow(-2 * x + 2, 3) / 2,\n easeInQuart: x => x * x * x * x,\n easeOutQuart: x => 1 - Math.pow(1 - x, 4),\n easeInOutQuart: x => x < 0.5 ? 8 * x * x * x * x : 1 - Math.pow(-2 * x + 2, 4) / 2,\n easeInQuint: x => x * x * x * x * x,\n easeOutQuint: x => 1 - Math.pow(1 - x, 5),\n easeInOutQuint: x => x < 0.5 ? 16 * x * x * x * x * x : 1 - Math.pow(-2 * x + 2, 5) / 2,\n easeInSine: x => 1 - Math.cos(x * Math.PI / 2),\n easeOutSine: x => Math.sin(x * Math.PI / 2),\n easeInOutSine: x => -(Math.cos(Math.PI * x) - 1) / 2,\n easeInExpo: x => x === 0 ? 0 : Math.pow(2, 10 * x - 10),\n easeOutExpo: x => x === 1 ? 1 : 1 - Math.pow(2, -10 * x),\n easeInOutExpo: x => x === 0 ? 0 : x === 1 ? 1 : x < 0.5 ? Math.pow(2, 20 * x - 10) / 2 : (2 - Math.pow(2, -20 * x + 10)) / 2,\n easeInCirc: x => 1 - Math.sqrt(1 - Math.pow(x, 2)),\n easeOutCirc: x => Math.sqrt(1 - Math.pow(x - 1, 2)),\n easeInOutCirc: x => x < 0.5 ? (1 - Math.sqrt(1 - Math.pow(2 * x, 2))) / 2 : (Math.sqrt(1 - Math.pow(-2 * x + 2, 2)) + 1) / 2,\n easeInBack: x => c3 * x * x * x - c1 * x * x,\n easeOutBack: x => 1 + c3 * Math.pow(x - 1, 3) + c1 * Math.pow(x - 1, 2),\n easeInOutBack: x => x < 0.5 ? Math.pow(2 * x, 2) * ((c2 + 1) * 2 * x - c2) / 2 : (Math.pow(2 * x - 2, 2) * ((c2 + 1) * (x * 2 - 2) + c2) + 2) / 2,\n easeInElastic: x => x === 0 ? 0 : x === 1 ? 1 : -Math.pow(2, 10 * x - 10) * Math.sin((x * 10 - 10.75) * c4),\n easeOutElastic: x => x === 0 ? 0 : x === 1 ? 1 : Math.pow(2, -10 * x) * Math.sin((x * 10 - 0.75) * c4) + 1,\n easeInOutElastic: x => x === 0 ? 0 : x === 1 ? 1 : x < 0.5 ? -(Math.pow(2, 20 * x - 10) * Math.sin((20 * x - 11.125) * c5)) / 2 : Math.pow(2, -20 * x + 10) * Math.sin((20 * x - 11.125) * c5) / 2 + 1,\n easeInBounce: x => 1 - bounceOut(1 - x),\n easeOutBounce: bounceOut,\n easeInOutBounce: x => x < 0.5 ? (1 - bounceOut(1 - 2 * x)) / 2 : (1 + bounceOut(2 * x - 1)) / 2\n};\n\nconst defaults = _extends({}, config.default, {\n mass: 1,\n damping: 1,\n easing: easings.linear,\n clamp: false\n});\n\nclass AnimationConfig {\n constructor() {\n this.tension = void 0;\n this.friction = void 0;\n this.frequency = void 0;\n this.damping = void 0;\n this.mass = void 0;\n this.velocity = 0;\n this.restVelocity = void 0;\n this.precision = void 0;\n this.progress = void 0;\n this.duration = void 0;\n this.easing = void 0;\n this.clamp = void 0;\n this.bounce = void 0;\n this.decay = void 0;\n this.round = void 0;\n Object.assign(this, defaults);\n }\n\n}\nfunction mergeConfig(config, newConfig, defaultConfig) {\n if (defaultConfig) {\n defaultConfig = _extends({}, defaultConfig);\n sanitizeConfig(defaultConfig, newConfig);\n newConfig = _extends({}, defaultConfig, newConfig);\n }\n\n sanitizeConfig(config, newConfig);\n Object.assign(config, newConfig);\n\n for (const key in defaults) {\n if (config[key] == null) {\n config[key] = defaults[key];\n }\n }\n\n let {\n mass,\n frequency,\n damping\n } = config;\n\n if (!is.und(frequency)) {\n if (frequency < 0.01) frequency = 0.01;\n if (damping < 0) damping = 0;\n config.tension = Math.pow(2 * Math.PI / frequency, 2) * mass;\n config.friction = 4 * Math.PI * damping * mass / frequency;\n }\n\n return config;\n}\n\nfunction sanitizeConfig(config, props) {\n if (!is.und(props.decay)) {\n config.duration = undefined;\n } else {\n const isTensionConfig = !is.und(props.tension) || !is.und(props.friction);\n\n if (isTensionConfig || !is.und(props.frequency) || !is.und(props.damping) || !is.und(props.mass)) {\n config.duration = undefined;\n config.decay = undefined;\n }\n\n if (isTensionConfig) {\n config.frequency = undefined;\n }\n }\n}\n\nconst emptyArray = [];\nclass Animation {\n constructor() {\n this.changed = false;\n this.values = emptyArray;\n this.toValues = null;\n this.fromValues = emptyArray;\n this.to = void 0;\n this.from = void 0;\n this.config = new AnimationConfig();\n this.immediate = false;\n }\n\n}\n\nfunction scheduleProps(callId, {\n key,\n props,\n defaultProps,\n state,\n actions\n}) {\n return new Promise((resolve, reject) => {\n var _props$cancel;\n\n let delay;\n let timeout;\n let cancel = matchProp((_props$cancel = props.cancel) != null ? _props$cancel : defaultProps == null ? void 0 : defaultProps.cancel, key);\n\n if (cancel) {\n onStart();\n } else {\n if (!is.und(props.pause)) {\n state.paused = matchProp(props.pause, key);\n }\n\n let pause = defaultProps == null ? void 0 : defaultProps.pause;\n\n if (pause !== true) {\n pause = state.paused || matchProp(pause, key);\n }\n\n delay = callProp(props.delay || 0, key);\n\n if (pause) {\n state.resumeQueue.add(onResume);\n actions.pause();\n } else {\n actions.resume();\n onResume();\n }\n }\n\n function onPause() {\n state.resumeQueue.add(onResume);\n state.timeouts.delete(timeout);\n timeout.cancel();\n delay = timeout.time - raf.now();\n }\n\n function onResume() {\n if (delay > 0 && !Globals.skipAnimation) {\n state.delayed = true;\n timeout = raf.setTimeout(onStart, delay);\n state.pauseQueue.add(onPause);\n state.timeouts.add(timeout);\n } else {\n onStart();\n }\n }\n\n function onStart() {\n if (state.delayed) {\n state.delayed = false;\n }\n\n state.pauseQueue.delete(onPause);\n state.timeouts.delete(timeout);\n\n if (callId <= (state.cancelId || 0)) {\n cancel = true;\n }\n\n try {\n actions.start(_extends({}, props, {\n callId,\n cancel\n }), resolve);\n } catch (err) {\n reject(err);\n }\n }\n });\n}\n\nconst getCombinedResult = (target, results) => results.length == 1 ? results[0] : results.some(result => result.cancelled) ? getCancelledResult(target.get()) : results.every(result => result.noop) ? getNoopResult(target.get()) : getFinishedResult(target.get(), results.every(result => result.finished));\nconst getNoopResult = value => ({\n value,\n noop: true,\n finished: true,\n cancelled: false\n});\nconst getFinishedResult = (value, finished, cancelled = false) => ({\n value,\n finished,\n cancelled\n});\nconst getCancelledResult = value => ({\n value,\n cancelled: true,\n finished: false\n});\n\nfunction runAsync(to, props, state, target) {\n const {\n callId,\n parentId,\n onRest\n } = props;\n const {\n asyncTo: prevTo,\n promise: prevPromise\n } = state;\n\n if (!parentId && to === prevTo && !props.reset) {\n return prevPromise;\n }\n\n return state.promise = (async () => {\n state.asyncId = callId;\n state.asyncTo = to;\n const defaultProps = getDefaultProps(props, (value, key) => key === 'onRest' ? undefined : value);\n let preventBail;\n let bail;\n const bailPromise = new Promise((resolve, reject) => (preventBail = resolve, bail = reject));\n\n const bailIfEnded = bailSignal => {\n const bailResult = callId <= (state.cancelId || 0) && getCancelledResult(target) || callId !== state.asyncId && getFinishedResult(target, false);\n\n if (bailResult) {\n bailSignal.result = bailResult;\n bail(bailSignal);\n throw bailSignal;\n }\n };\n\n const animate = (arg1, arg2) => {\n const bailSignal = new BailSignal();\n const skipAnimationSignal = new SkipAniamtionSignal();\n return (async () => {\n if (Globals.skipAnimation) {\n stopAsync(state);\n skipAnimationSignal.result = getFinishedResult(target, false);\n bail(skipAnimationSignal);\n throw skipAnimationSignal;\n }\n\n bailIfEnded(bailSignal);\n const props = is.obj(arg1) ? _extends({}, arg1) : _extends({}, arg2, {\n to: arg1\n });\n props.parentId = callId;\n eachProp(defaultProps, (value, key) => {\n if (is.und(props[key])) {\n props[key] = value;\n }\n });\n const result = await target.start(props);\n bailIfEnded(bailSignal);\n\n if (state.paused) {\n await new Promise(resume => {\n state.resumeQueue.add(resume);\n });\n }\n\n return result;\n })();\n };\n\n let result;\n\n if (Globals.skipAnimation) {\n stopAsync(state);\n return getFinishedResult(target, false);\n }\n\n try {\n let animating;\n\n if (is.arr(to)) {\n animating = (async queue => {\n for (const props of queue) {\n await animate(props);\n }\n })(to);\n } else {\n animating = Promise.resolve(to(animate, target.stop.bind(target)));\n }\n\n await Promise.all([animating.then(preventBail), bailPromise]);\n result = getFinishedResult(target.get(), true, false);\n } catch (err) {\n if (err instanceof BailSignal) {\n result = err.result;\n } else if (err instanceof SkipAniamtionSignal) {\n result = err.result;\n } else {\n throw err;\n }\n } finally {\n if (callId == state.asyncId) {\n state.asyncId = parentId;\n state.asyncTo = parentId ? prevTo : undefined;\n state.promise = parentId ? prevPromise : undefined;\n }\n }\n\n if (is.fun(onRest)) {\n raf.batchedUpdates(() => {\n onRest(result, target, target.item);\n });\n }\n\n return result;\n })();\n}\nfunction stopAsync(state, cancelId) {\n flush(state.timeouts, t => t.cancel());\n state.pauseQueue.clear();\n state.resumeQueue.clear();\n state.asyncId = state.asyncTo = state.promise = undefined;\n if (cancelId) state.cancelId = cancelId;\n}\nclass BailSignal extends Error {\n constructor() {\n super('An async animation has been interrupted. You see this error because you ' + 'forgot to use `await` or `.catch(...)` on its returned promise.');\n this.result = void 0;\n }\n\n}\nclass SkipAniamtionSignal extends Error {\n constructor() {\n super('SkipAnimationSignal');\n this.result = void 0;\n }\n\n}\n\nconst isFrameValue = value => value instanceof FrameValue;\nlet nextId$1 = 1;\nclass FrameValue extends FluidValue {\n constructor(...args) {\n super(...args);\n this.id = nextId$1++;\n this.key = void 0;\n this._priority = 0;\n }\n\n get priority() {\n return this._priority;\n }\n\n set priority(priority) {\n if (this._priority != priority) {\n this._priority = priority;\n\n this._onPriorityChange(priority);\n }\n }\n\n get() {\n const node = getAnimated(this);\n return node && node.getValue();\n }\n\n to(...args) {\n return Globals.to(this, args);\n }\n\n interpolate(...args) {\n deprecateInterpolate();\n return Globals.to(this, args);\n }\n\n toJSON() {\n return this.get();\n }\n\n observerAdded(count) {\n if (count == 1) this._attach();\n }\n\n observerRemoved(count) {\n if (count == 0) this._detach();\n }\n\n _attach() {}\n\n _detach() {}\n\n _onChange(value, idle = false) {\n callFluidObservers(this, {\n type: 'change',\n parent: this,\n value,\n idle\n });\n }\n\n _onPriorityChange(priority) {\n if (!this.idle) {\n frameLoop.sort(this);\n }\n\n callFluidObservers(this, {\n type: 'priority',\n parent: this,\n priority\n });\n }\n\n}\n\nconst $P = Symbol.for('SpringPhase');\nconst HAS_ANIMATED = 1;\nconst IS_ANIMATING = 2;\nconst IS_PAUSED = 4;\nconst hasAnimated = target => (target[$P] & HAS_ANIMATED) > 0;\nconst isAnimating = target => (target[$P] & IS_ANIMATING) > 0;\nconst isPaused = target => (target[$P] & IS_PAUSED) > 0;\nconst setActiveBit = (target, active) => active ? target[$P] |= IS_ANIMATING | HAS_ANIMATED : target[$P] &= ~IS_ANIMATING;\nconst setPausedBit = (target, paused) => paused ? target[$P] |= IS_PAUSED : target[$P] &= ~IS_PAUSED;\n\nclass SpringValue extends FrameValue {\n constructor(arg1, arg2) {\n super();\n this.key = void 0;\n this.animation = new Animation();\n this.queue = void 0;\n this.defaultProps = {};\n this._state = {\n paused: false,\n delayed: false,\n pauseQueue: new Set(),\n resumeQueue: new Set(),\n timeouts: new Set()\n };\n this._pendingCalls = new Set();\n this._lastCallId = 0;\n this._lastToId = 0;\n this._memoizedDuration = 0;\n\n if (!is.und(arg1) || !is.und(arg2)) {\n const props = is.obj(arg1) ? _extends({}, arg1) : _extends({}, arg2, {\n from: arg1\n });\n\n if (is.und(props.default)) {\n props.default = true;\n }\n\n this.start(props);\n }\n }\n\n get idle() {\n return !(isAnimating(this) || this._state.asyncTo) || isPaused(this);\n }\n\n get goal() {\n return getFluidValue(this.animation.to);\n }\n\n get velocity() {\n const node = getAnimated(this);\n return node instanceof AnimatedValue ? node.lastVelocity || 0 : node.getPayload().map(node => node.lastVelocity || 0);\n }\n\n get hasAnimated() {\n return hasAnimated(this);\n }\n\n get isAnimating() {\n return isAnimating(this);\n }\n\n get isPaused() {\n return isPaused(this);\n }\n\n get isDelayed() {\n return this._state.delayed;\n }\n\n advance(dt) {\n let idle = true;\n let changed = false;\n const anim = this.animation;\n let {\n config,\n toValues\n } = anim;\n const payload = getPayload(anim.to);\n\n if (!payload && hasFluidValue(anim.to)) {\n toValues = toArray(getFluidValue(anim.to));\n }\n\n anim.values.forEach((node, i) => {\n if (node.done) return;\n const to = node.constructor == AnimatedString ? 1 : payload ? payload[i].lastPosition : toValues[i];\n let finished = anim.immediate;\n let position = to;\n\n if (!finished) {\n position = node.lastPosition;\n\n if (config.tension <= 0) {\n node.done = true;\n return;\n }\n\n let elapsed = node.elapsedTime += dt;\n const from = anim.fromValues[i];\n const v0 = node.v0 != null ? node.v0 : node.v0 = is.arr(config.velocity) ? config.velocity[i] : config.velocity;\n let velocity;\n\n if (!is.und(config.duration)) {\n let p = 1;\n\n if (config.duration > 0) {\n if (this._memoizedDuration !== config.duration) {\n this._memoizedDuration = config.duration;\n\n if (node.durationProgress > 0) {\n node.elapsedTime = config.duration * node.durationProgress;\n elapsed = node.elapsedTime += dt;\n }\n }\n\n p = (config.progress || 0) + elapsed / this._memoizedDuration;\n p = p > 1 ? 1 : p < 0 ? 0 : p;\n node.durationProgress = p;\n }\n\n position = from + config.easing(p) * (to - from);\n velocity = (position - node.lastPosition) / dt;\n finished = p == 1;\n } else if (config.decay) {\n const decay = config.decay === true ? 0.998 : config.decay;\n const e = Math.exp(-(1 - decay) * elapsed);\n position = from + v0 / (1 - decay) * (1 - e);\n finished = Math.abs(node.lastPosition - position) < 0.1;\n velocity = v0 * e;\n } else {\n velocity = node.lastVelocity == null ? v0 : node.lastVelocity;\n const precision = config.precision || (from == to ? 0.005 : Math.min(1, Math.abs(to - from) * 0.001));\n const restVelocity = config.restVelocity || precision / 10;\n const bounceFactor = config.clamp ? 0 : config.bounce;\n const canBounce = !is.und(bounceFactor);\n const isGrowing = from == to ? node.v0 > 0 : from < to;\n let isMoving;\n let isBouncing = false;\n const step = 1;\n const numSteps = Math.ceil(dt / step);\n\n for (let n = 0; n < numSteps; ++n) {\n isMoving = Math.abs(velocity) > restVelocity;\n\n if (!isMoving) {\n finished = Math.abs(to - position) <= precision;\n\n if (finished) {\n break;\n }\n }\n\n if (canBounce) {\n isBouncing = position == to || position > to == isGrowing;\n\n if (isBouncing) {\n velocity = -velocity * bounceFactor;\n position = to;\n }\n }\n\n const springForce = -config.tension * 0.000001 * (position - to);\n const dampingForce = -config.friction * 0.001 * velocity;\n const acceleration = (springForce + dampingForce) / config.mass;\n velocity = velocity + acceleration * step;\n position = position + velocity * step;\n }\n }\n\n node.lastVelocity = velocity;\n\n if (Number.isNaN(position)) {\n console.warn(`Got NaN while animating:`, this);\n finished = true;\n }\n }\n\n if (payload && !payload[i].done) {\n finished = false;\n }\n\n if (finished) {\n node.done = true;\n } else {\n idle = false;\n }\n\n if (node.setValue(position, config.round)) {\n changed = true;\n }\n });\n const node = getAnimated(this);\n const currVal = node.getValue();\n\n if (idle) {\n const finalVal = getFluidValue(anim.to);\n\n if ((currVal !== finalVal || changed) && !config.decay) {\n node.setValue(finalVal);\n\n this._onChange(finalVal);\n } else if (changed && config.decay) {\n this._onChange(currVal);\n }\n\n this._stop();\n } else if (changed) {\n this._onChange(currVal);\n }\n }\n\n set(value) {\n raf.batchedUpdates(() => {\n this._stop();\n\n this._focus(value);\n\n this._set(value);\n });\n return this;\n }\n\n pause() {\n this._update({\n pause: true\n });\n }\n\n resume() {\n this._update({\n pause: false\n });\n }\n\n finish() {\n if (isAnimating(this)) {\n const {\n to,\n config\n } = this.animation;\n raf.batchedUpdates(() => {\n this._onStart();\n\n if (!config.decay) {\n this._set(to, false);\n }\n\n this._stop();\n });\n }\n\n return this;\n }\n\n update(props) {\n const queue = this.queue || (this.queue = []);\n queue.push(props);\n return this;\n }\n\n start(to, arg2) {\n let queue;\n\n if (!is.und(to)) {\n queue = [is.obj(to) ? to : _extends({}, arg2, {\n to\n })];\n } else {\n queue = this.queue || [];\n this.queue = [];\n }\n\n return Promise.all(queue.map(props => {\n const up = this._update(props);\n\n return up;\n })).then(results => getCombinedResult(this, results));\n }\n\n stop(cancel) {\n const {\n to\n } = this.animation;\n\n this._focus(this.get());\n\n stopAsync(this._state, cancel && this._lastCallId);\n raf.batchedUpdates(() => this._stop(to, cancel));\n return this;\n }\n\n reset() {\n this._update({\n reset: true\n });\n }\n\n eventObserved(event) {\n if (event.type == 'change') {\n this._start();\n } else if (event.type == 'priority') {\n this.priority = event.priority + 1;\n }\n }\n\n _prepareNode(props) {\n const key = this.key || '';\n let {\n to,\n from\n } = props;\n to = is.obj(to) ? to[key] : to;\n\n if (to == null || isAsyncTo(to)) {\n to = undefined;\n }\n\n from = is.obj(from) ? from[key] : from;\n\n if (from == null) {\n from = undefined;\n }\n\n const range = {\n to,\n from\n };\n\n if (!hasAnimated(this)) {\n if (props.reverse) [to, from] = [from, to];\n from = getFluidValue(from);\n\n if (!is.und(from)) {\n this._set(from);\n } else if (!getAnimated(this)) {\n this._set(to);\n }\n }\n\n return range;\n }\n\n _update(_ref, isLoop) {\n let props = _extends({}, _ref);\n\n const {\n key,\n defaultProps\n } = this;\n if (props.default) Object.assign(defaultProps, getDefaultProps(props, (value, prop) => /^on/.test(prop) ? resolveProp(value, key) : value));\n mergeActiveFn(this, props, 'onProps');\n sendEvent(this, 'onProps', props, this);\n\n const range = this._prepareNode(props);\n\n if (Object.isFrozen(this)) {\n throw Error('Cannot animate a `SpringValue` object that is frozen. ' + 'Did you forget to pass your component to `animated(...)` before animating its props?');\n }\n\n const state = this._state;\n return scheduleProps(++this._lastCallId, {\n key,\n props,\n defaultProps,\n state,\n actions: {\n pause: () => {\n if (!isPaused(this)) {\n setPausedBit(this, true);\n flushCalls(state.pauseQueue);\n sendEvent(this, 'onPause', getFinishedResult(this, checkFinished(this, this.animation.to)), this);\n }\n },\n resume: () => {\n if (isPaused(this)) {\n setPausedBit(this, false);\n\n if (isAnimating(this)) {\n this._resume();\n }\n\n flushCalls(state.resumeQueue);\n sendEvent(this, 'onResume', getFinishedResult(this, checkFinished(this, this.animation.to)), this);\n }\n },\n start: this._merge.bind(this, range)\n }\n }).then(result => {\n if (props.loop && result.finished && !(isLoop && result.noop)) {\n const nextProps = createLoopUpdate(props);\n\n if (nextProps) {\n return this._update(nextProps, true);\n }\n }\n\n return result;\n });\n }\n\n _merge(range, props, resolve) {\n if (props.cancel) {\n this.stop(true);\n return resolve(getCancelledResult(this));\n }\n\n const hasToProp = !is.und(range.to);\n const hasFromProp = !is.und(range.from);\n\n if (hasToProp || hasFromProp) {\n if (props.callId > this._lastToId) {\n this._lastToId = props.callId;\n } else {\n return resolve(getCancelledResult(this));\n }\n }\n\n const {\n key,\n defaultProps,\n animation: anim\n } = this;\n const {\n to: prevTo,\n from: prevFrom\n } = anim;\n let {\n to = prevTo,\n from = prevFrom\n } = range;\n\n if (hasFromProp && !hasToProp && (!props.default || is.und(to))) {\n to = from;\n }\n\n if (props.reverse) [to, from] = [from, to];\n const hasFromChanged = !isEqual(from, prevFrom);\n\n if (hasFromChanged) {\n anim.from = from;\n }\n\n from = getFluidValue(from);\n const hasToChanged = !isEqual(to, prevTo);\n\n if (hasToChanged) {\n this._focus(to);\n }\n\n const hasAsyncTo = isAsyncTo(props.to);\n const {\n config\n } = anim;\n const {\n decay,\n velocity\n } = config;\n\n if (hasToProp || hasFromProp) {\n config.velocity = 0;\n }\n\n if (props.config && !hasAsyncTo) {\n mergeConfig(config, callProp(props.config, key), props.config !== defaultProps.config ? callProp(defaultProps.config, key) : void 0);\n }\n\n let node = getAnimated(this);\n\n if (!node || is.und(to)) {\n return resolve(getFinishedResult(this, true));\n }\n\n const reset = is.und(props.reset) ? hasFromProp && !props.default : !is.und(from) && matchProp(props.reset, key);\n const value = reset ? from : this.get();\n const goal = computeGoal(to);\n const isAnimatable = is.num(goal) || is.arr(goal) || isAnimatedString(goal);\n const immediate = !hasAsyncTo && (!isAnimatable || matchProp(defaultProps.immediate || props.immediate, key));\n\n if (hasToChanged) {\n const nodeType = getAnimatedType(to);\n\n if (nodeType !== node.constructor) {\n if (immediate) {\n node = this._set(goal);\n } else throw Error(`Cannot animate between ${node.constructor.name} and ${nodeType.name}, as the \"to\" prop suggests`);\n }\n }\n\n const goalType = node.constructor;\n let started = hasFluidValue(to);\n let finished = false;\n\n if (!started) {\n const hasValueChanged = reset || !hasAnimated(this) && hasFromChanged;\n\n if (hasToChanged || hasValueChanged) {\n finished = isEqual(computeGoal(value), goal);\n started = !finished;\n }\n\n if (!isEqual(anim.immediate, immediate) && !immediate || !isEqual(config.decay, decay) || !isEqual(config.velocity, velocity)) {\n started = true;\n }\n }\n\n if (finished && isAnimating(this)) {\n if (anim.changed && !reset) {\n started = true;\n } else if (!started) {\n this._stop(prevTo);\n }\n }\n\n if (!hasAsyncTo) {\n if (started || hasFluidValue(prevTo)) {\n anim.values = node.getPayload();\n anim.toValues = hasFluidValue(to) ? null : goalType == AnimatedString ? [1] : toArray(goal);\n }\n\n if (anim.immediate != immediate) {\n anim.immediate = immediate;\n\n if (!immediate && !reset) {\n this._set(prevTo);\n }\n }\n\n if (started) {\n const {\n onRest\n } = anim;\n each(ACTIVE_EVENTS, type => mergeActiveFn(this, props, type));\n const result = getFinishedResult(this, checkFinished(this, prevTo));\n flushCalls(this._pendingCalls, result);\n\n this._pendingCalls.add(resolve);\n\n if (anim.changed) raf.batchedUpdates(() => {\n anim.changed = !reset;\n onRest == null ? void 0 : onRest(result, this);\n\n if (reset) {\n callProp(defaultProps.onRest, result);\n } else {\n anim.onStart == null ? void 0 : anim.onStart(result, this);\n }\n });\n }\n }\n\n if (reset) {\n this._set(value);\n }\n\n if (hasAsyncTo) {\n resolve(runAsync(props.to, props, this._state, this));\n } else if (started) {\n this._start();\n } else if (isAnimating(this) && !hasToChanged) {\n this._pendingCalls.add(resolve);\n } else {\n resolve(getNoopResult(value));\n }\n }\n\n _focus(value) {\n const anim = this.animation;\n\n if (value !== anim.to) {\n if (getFluidObservers(this)) {\n this._detach();\n }\n\n anim.to = value;\n\n if (getFluidObservers(this)) {\n this._attach();\n }\n }\n }\n\n _attach() {\n let priority = 0;\n const {\n to\n } = this.animation;\n\n if (hasFluidValue(to)) {\n addFluidObserver(to, this);\n\n if (isFrameValue(to)) {\n priority = to.priority + 1;\n }\n }\n\n this.priority = priority;\n }\n\n _detach() {\n const {\n to\n } = this.animation;\n\n if (hasFluidValue(to)) {\n removeFluidObserver(to, this);\n }\n }\n\n _set(arg, idle = true) {\n const value = getFluidValue(arg);\n\n if (!is.und(value)) {\n const oldNode = getAnimated(this);\n\n if (!oldNode || !isEqual(value, oldNode.getValue())) {\n const nodeType = getAnimatedType(value);\n\n if (!oldNode || oldNode.constructor != nodeType) {\n setAnimated(this, nodeType.create(value));\n } else {\n oldNode.setValue(value);\n }\n\n if (oldNode) {\n raf.batchedUpdates(() => {\n this._onChange(value, idle);\n });\n }\n }\n }\n\n return getAnimated(this);\n }\n\n _onStart() {\n const anim = this.animation;\n\n if (!anim.changed) {\n anim.changed = true;\n sendEvent(this, 'onStart', getFinishedResult(this, checkFinished(this, anim.to)), this);\n }\n }\n\n _onChange(value, idle) {\n if (!idle) {\n this._onStart();\n\n callProp(this.animation.onChange, value, this);\n }\n\n callProp(this.defaultProps.onChange, value, this);\n\n super._onChange(value, idle);\n }\n\n _start() {\n const anim = this.animation;\n getAnimated(this).reset(getFluidValue(anim.to));\n\n if (!anim.immediate) {\n anim.fromValues = anim.values.map(node => node.lastPosition);\n }\n\n if (!isAnimating(this)) {\n setActiveBit(this, true);\n\n if (!isPaused(this)) {\n this._resume();\n }\n }\n }\n\n _resume() {\n if (Globals.skipAnimation) {\n this.finish();\n } else {\n frameLoop.start(this);\n }\n }\n\n _stop(goal, cancel) {\n if (isAnimating(this)) {\n setActiveBit(this, false);\n const anim = this.animation;\n each(anim.values, node => {\n node.done = true;\n });\n\n if (anim.toValues) {\n anim.onChange = anim.onPause = anim.onResume = undefined;\n }\n\n callFluidObservers(this, {\n type: 'idle',\n parent: this\n });\n const result = cancel ? getCancelledResult(this.get()) : getFinishedResult(this.get(), checkFinished(this, goal != null ? goal : anim.to));\n flushCalls(this._pendingCalls, result);\n\n if (anim.changed) {\n anim.changed = false;\n sendEvent(this, 'onRest', result, this);\n }\n }\n }\n\n}\n\nfunction checkFinished(target, to) {\n const goal = computeGoal(to);\n const value = computeGoal(target.get());\n return isEqual(value, goal);\n}\n\nfunction createLoopUpdate(props, loop = props.loop, to = props.to) {\n let loopRet = callProp(loop);\n\n if (loopRet) {\n const overrides = loopRet !== true && inferTo(loopRet);\n const reverse = (overrides || props).reverse;\n const reset = !overrides || overrides.reset;\n return createUpdate(_extends({}, props, {\n loop,\n default: false,\n pause: undefined,\n to: !reverse || isAsyncTo(to) ? to : undefined,\n from: reset ? props.from : undefined,\n reset\n }, overrides));\n }\n}\nfunction createUpdate(props) {\n const {\n to,\n from\n } = props = inferTo(props);\n const keys = new Set();\n if (is.obj(to)) findDefined(to, keys);\n if (is.obj(from)) findDefined(from, keys);\n props.keys = keys.size ? Array.from(keys) : null;\n return props;\n}\nfunction declareUpdate(props) {\n const update = createUpdate(props);\n\n if (is.und(update.default)) {\n update.default = getDefaultProps(update);\n }\n\n return update;\n}\n\nfunction findDefined(values, keys) {\n eachProp(values, (value, key) => value != null && keys.add(key));\n}\n\nconst ACTIVE_EVENTS = ['onStart', 'onRest', 'onChange', 'onPause', 'onResume'];\n\nfunction mergeActiveFn(target, props, type) {\n target.animation[type] = props[type] !== getDefaultProp(props, type) ? resolveProp(props[type], target.key) : undefined;\n}\n\nfunction sendEvent(target, type, ...args) {\n var _target$animation$typ, _target$animation, _target$defaultProps$, _target$defaultProps;\n\n (_target$animation$typ = (_target$animation = target.animation)[type]) == null ? void 0 : _target$animation$typ.call(_target$animation, ...args);\n (_target$defaultProps$ = (_target$defaultProps = target.defaultProps)[type]) == null ? void 0 : _target$defaultProps$.call(_target$defaultProps, ...args);\n}\n\nconst BATCHED_EVENTS = ['onStart', 'onChange', 'onRest'];\nlet nextId = 1;\nclass Controller {\n constructor(props, flush) {\n this.id = nextId++;\n this.springs = {};\n this.queue = [];\n this.ref = void 0;\n this._flush = void 0;\n this._initialProps = void 0;\n this._lastAsyncId = 0;\n this._active = new Set();\n this._changed = new Set();\n this._started = false;\n this._item = void 0;\n this._state = {\n paused: false,\n pauseQueue: new Set(),\n resumeQueue: new Set(),\n timeouts: new Set()\n };\n this._events = {\n onStart: new Map(),\n onChange: new Map(),\n onRest: new Map()\n };\n this._onFrame = this._onFrame.bind(this);\n\n if (flush) {\n this._flush = flush;\n }\n\n if (props) {\n this.start(_extends({\n default: true\n }, props));\n }\n }\n\n get idle() {\n return !this._state.asyncTo && Object.values(this.springs).every(spring => {\n return spring.idle && !spring.isDelayed && !spring.isPaused;\n });\n }\n\n get item() {\n return this._item;\n }\n\n set item(item) {\n this._item = item;\n }\n\n get() {\n const values = {};\n this.each((spring, key) => values[key] = spring.get());\n return values;\n }\n\n set(values) {\n for (const key in values) {\n const value = values[key];\n\n if (!is.und(value)) {\n this.springs[key].set(value);\n }\n }\n }\n\n update(props) {\n if (props) {\n this.queue.push(createUpdate(props));\n }\n\n return this;\n }\n\n start(props) {\n let {\n queue\n } = this;\n\n if (props) {\n queue = toArray(props).map(createUpdate);\n } else {\n this.queue = [];\n }\n\n if (this._flush) {\n return this._flush(this, queue);\n }\n\n prepareKeys(this, queue);\n return flushUpdateQueue(this, queue);\n }\n\n stop(arg, keys) {\n if (arg !== !!arg) {\n keys = arg;\n }\n\n if (keys) {\n const springs = this.springs;\n each(toArray(keys), key => springs[key].stop(!!arg));\n } else {\n stopAsync(this._state, this._lastAsyncId);\n this.each(spring => spring.stop(!!arg));\n }\n\n return this;\n }\n\n pause(keys) {\n if (is.und(keys)) {\n this.start({\n pause: true\n });\n } else {\n const springs = this.springs;\n each(toArray(keys), key => springs[key].pause());\n }\n\n return this;\n }\n\n resume(keys) {\n if (is.und(keys)) {\n this.start({\n pause: false\n });\n } else {\n const springs = this.springs;\n each(toArray(keys), key => springs[key].resume());\n }\n\n return this;\n }\n\n each(iterator) {\n eachProp(this.springs, iterator);\n }\n\n _onFrame() {\n const {\n onStart,\n onChange,\n onRest\n } = this._events;\n const active = this._active.size > 0;\n const changed = this._changed.size > 0;\n\n if (active && !this._started || changed && !this._started) {\n this._started = true;\n flush(onStart, ([onStart, result]) => {\n result.value = this.get();\n onStart(result, this, this._item);\n });\n }\n\n const idle = !active && this._started;\n const values = changed || idle && onRest.size ? this.get() : null;\n\n if (changed && onChange.size) {\n flush(onChange, ([onChange, result]) => {\n result.value = values;\n onChange(result, this, this._item);\n });\n }\n\n if (idle) {\n this._started = false;\n flush(onRest, ([onRest, result]) => {\n result.value = values;\n onRest(result, this, this._item);\n });\n }\n }\n\n eventObserved(event) {\n if (event.type == 'change') {\n this._changed.add(event.parent);\n\n if (!event.idle) {\n this._active.add(event.parent);\n }\n } else if (event.type == 'idle') {\n this._active.delete(event.parent);\n } else return;\n\n raf.onFrame(this._onFrame);\n }\n\n}\nfunction flushUpdateQueue(ctrl, queue) {\n return Promise.all(queue.map(props => flushUpdate(ctrl, props))).then(results => getCombinedResult(ctrl, results));\n}\nasync function flushUpdate(ctrl, props, isLoop) {\n const {\n keys,\n to,\n from,\n loop,\n onRest,\n onResolve\n } = props;\n const defaults = is.obj(props.default) && props.default;\n\n if (loop) {\n props.loop = false;\n }\n\n if (to === false) props.to = null;\n if (from === false) props.from = null;\n const asyncTo = is.arr(to) || is.fun(to) ? to : undefined;\n\n if (asyncTo) {\n props.to = undefined;\n props.onRest = undefined;\n\n if (defaults) {\n defaults.onRest = undefined;\n }\n } else {\n each(BATCHED_EVENTS, key => {\n const handler = props[key];\n\n if (is.fun(handler)) {\n const queue = ctrl['_events'][key];\n\n props[key] = ({\n finished,\n cancelled\n }) => {\n const result = queue.get(handler);\n\n if (result) {\n if (!finished) result.finished = false;\n if (cancelled) result.cancelled = true;\n } else {\n queue.set(handler, {\n value: null,\n finished: finished || false,\n cancelled: cancelled || false\n });\n }\n };\n\n if (defaults) {\n defaults[key] = props[key];\n }\n }\n });\n }\n\n const state = ctrl['_state'];\n\n if (props.pause === !state.paused) {\n state.paused = props.pause;\n flushCalls(props.pause ? state.pauseQueue : state.resumeQueue);\n } else if (state.paused) {\n props.pause = true;\n }\n\n const promises = (keys || Object.keys(ctrl.springs)).map(key => ctrl.springs[key].start(props));\n const cancel = props.cancel === true || getDefaultProp(props, 'cancel') === true;\n\n if (asyncTo || cancel && state.asyncId) {\n promises.push(scheduleProps(++ctrl['_lastAsyncId'], {\n props,\n state,\n actions: {\n pause: noop,\n resume: noop,\n\n start(props, resolve) {\n if (cancel) {\n stopAsync(state, ctrl['_lastAsyncId']);\n resolve(getCancelledResult(ctrl));\n } else {\n props.onRest = onRest;\n resolve(runAsync(asyncTo, props, state, ctrl));\n }\n }\n\n }\n }));\n }\n\n if (state.paused) {\n await new Promise(resume => {\n state.resumeQueue.add(resume);\n });\n }\n\n const result = getCombinedResult(ctrl, await Promise.all(promises));\n\n if (loop && result.finished && !(isLoop && result.noop)) {\n const nextProps = createLoopUpdate(props, loop, to);\n\n if (nextProps) {\n prepareKeys(ctrl, [nextProps]);\n return flushUpdate(ctrl, nextProps, true);\n }\n }\n\n if (onResolve) {\n raf.batchedUpdates(() => onResolve(result, ctrl, ctrl.item));\n }\n\n return result;\n}\nfunction getSprings(ctrl, props) {\n const springs = _extends({}, ctrl.springs);\n\n if (props) {\n each(toArray(props), props => {\n if (is.und(props.keys)) {\n props = createUpdate(props);\n }\n\n if (!is.obj(props.to)) {\n props = _extends({}, props, {\n to: undefined\n });\n }\n\n prepareSprings(springs, props, key => {\n return createSpring(key);\n });\n });\n }\n\n setSprings(ctrl, springs);\n return springs;\n}\nfunction setSprings(ctrl, springs) {\n eachProp(springs, (spring, key) => {\n if (!ctrl.springs[key]) {\n ctrl.springs[key] = spring;\n addFluidObserver(spring, ctrl);\n }\n });\n}\n\nfunction createSpring(key, observer) {\n const spring = new SpringValue();\n spring.key = key;\n\n if (observer) {\n addFluidObserver(spring, observer);\n }\n\n return spring;\n}\n\nfunction prepareSprings(springs, props, create) {\n if (props.keys) {\n each(props.keys, key => {\n const spring = springs[key] || (springs[key] = create(key));\n spring['_prepareNode'](props);\n });\n }\n}\n\nfunction prepareKeys(ctrl, queue) {\n each(queue, props => {\n prepareSprings(ctrl.springs, props, key => {\n return createSpring(key, ctrl);\n });\n });\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nconst _excluded$3 = [\"children\"];\nconst SpringContext = _ref => {\n let {\n children\n } = _ref,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$3);\n\n const inherited = useContext(ctx);\n const pause = props.pause || !!inherited.pause,\n immediate = props.immediate || !!inherited.immediate;\n props = useMemoOne(() => ({\n pause,\n immediate\n }), [pause, immediate]);\n const {\n Provider\n } = ctx;\n return React.createElement(Provider, {\n value: props\n }, children);\n};\nconst ctx = makeContext(SpringContext, {});\nSpringContext.Provider = ctx.Provider;\nSpringContext.Consumer = ctx.Consumer;\n\nfunction makeContext(target, init) {\n Object.assign(target, React.createContext(init));\n target.Provider._context = target;\n target.Consumer._context = target;\n return target;\n}\n\nconst SpringRef = () => {\n const current = [];\n\n const SpringRef = function SpringRef(props) {\n deprecateDirectCall();\n const results = [];\n each(current, (ctrl, i) => {\n if (is.und(props)) {\n results.push(ctrl.start());\n } else {\n const update = _getProps(props, ctrl, i);\n\n if (update) {\n results.push(ctrl.start(update));\n }\n }\n });\n return results;\n };\n\n SpringRef.current = current;\n\n SpringRef.add = function (ctrl) {\n if (!current.includes(ctrl)) {\n current.push(ctrl);\n }\n };\n\n SpringRef.delete = function (ctrl) {\n const i = current.indexOf(ctrl);\n if (~i) current.splice(i, 1);\n };\n\n SpringRef.pause = function () {\n each(current, ctrl => ctrl.pause(...arguments));\n return this;\n };\n\n SpringRef.resume = function () {\n each(current, ctrl => ctrl.resume(...arguments));\n return this;\n };\n\n SpringRef.set = function (values) {\n each(current, ctrl => ctrl.set(values));\n };\n\n SpringRef.start = function (props) {\n const results = [];\n each(current, (ctrl, i) => {\n if (is.und(props)) {\n results.push(ctrl.start());\n } else {\n const update = this._getProps(props, ctrl, i);\n\n if (update) {\n results.push(ctrl.start(update));\n }\n }\n });\n return results;\n };\n\n SpringRef.stop = function () {\n each(current, ctrl => ctrl.stop(...arguments));\n return this;\n };\n\n SpringRef.update = function (props) {\n each(current, (ctrl, i) => ctrl.update(this._getProps(props, ctrl, i)));\n return this;\n };\n\n const _getProps = function _getProps(arg, ctrl, index) {\n return is.fun(arg) ? arg(index, ctrl) : arg;\n };\n\n SpringRef._getProps = _getProps;\n return SpringRef;\n};\n\nfunction useSprings(length, props, deps) {\n const propsFn = is.fun(props) && props;\n if (propsFn && !deps) deps = [];\n const ref = useMemo(() => propsFn || arguments.length == 3 ? SpringRef() : void 0, []);\n const layoutId = useRef(0);\n const forceUpdate = useForceUpdate();\n const state = useMemo(() => ({\n ctrls: [],\n queue: [],\n\n flush(ctrl, updates) {\n const springs = getSprings(ctrl, updates);\n const canFlushSync = layoutId.current > 0 && !state.queue.length && !Object.keys(springs).some(key => !ctrl.springs[key]);\n return canFlushSync ? flushUpdateQueue(ctrl, updates) : new Promise(resolve => {\n setSprings(ctrl, springs);\n state.queue.push(() => {\n resolve(flushUpdateQueue(ctrl, updates));\n });\n forceUpdate();\n });\n }\n\n }), []);\n const ctrls = useRef([...state.ctrls]);\n const updates = [];\n const prevLength = usePrev(length) || 0;\n useMemo(() => {\n each(ctrls.current.slice(length, prevLength), ctrl => {\n detachRefs(ctrl, ref);\n ctrl.stop(true);\n });\n ctrls.current.length = length;\n declareUpdates(prevLength, length);\n }, [length]);\n useMemo(() => {\n declareUpdates(0, Math.min(prevLength, length));\n }, deps);\n\n function declareUpdates(startIndex, endIndex) {\n for (let i = startIndex; i < endIndex; i++) {\n const ctrl = ctrls.current[i] || (ctrls.current[i] = new Controller(null, state.flush));\n const update = propsFn ? propsFn(i, ctrl) : props[i];\n\n if (update) {\n updates[i] = declareUpdate(update);\n }\n }\n }\n\n const springs = ctrls.current.map((ctrl, i) => getSprings(ctrl, updates[i]));\n const context = useContext(SpringContext);\n const prevContext = usePrev(context);\n const hasContext = context !== prevContext && hasProps(context);\n useLayoutEffect(() => {\n layoutId.current++;\n state.ctrls = ctrls.current;\n const {\n queue\n } = state;\n\n if (queue.length) {\n state.queue = [];\n each(queue, cb => cb());\n }\n\n each(ctrls.current, (ctrl, i) => {\n ref == null ? void 0 : ref.add(ctrl);\n\n if (hasContext) {\n ctrl.start({\n default: context\n });\n }\n\n const update = updates[i];\n\n if (update) {\n replaceRef(ctrl, update.ref);\n\n if (ctrl.ref) {\n ctrl.queue.push(update);\n } else {\n ctrl.start(update);\n }\n }\n });\n });\n useOnce(() => () => {\n each(state.ctrls, ctrl => ctrl.stop(true));\n });\n const values = springs.map(x => _extends({}, x));\n return ref ? [values, ref] : values;\n}\n\nfunction useSpring(props, deps) {\n const isFn = is.fun(props);\n const [[values], ref] = useSprings(1, isFn ? props : [props], isFn ? deps || [] : deps);\n return isFn || arguments.length == 2 ? [values, ref] : values;\n}\n\nconst initSpringRef = () => SpringRef();\n\nconst useSpringRef = () => useState(initSpringRef)[0];\n\nfunction useTrail(length, propsArg, deps) {\n var _passedRef;\n\n const propsFn = is.fun(propsArg) && propsArg;\n if (propsFn && !deps) deps = [];\n let reverse = true;\n let passedRef = undefined;\n const result = useSprings(length, (i, ctrl) => {\n const props = propsFn ? propsFn(i, ctrl) : propsArg;\n passedRef = props.ref;\n reverse = reverse && props.reverse;\n return props;\n }, deps || [{}]);\n const ref = (_passedRef = passedRef) != null ? _passedRef : result[1];\n useLayoutEffect(() => {\n each(ref.current, (ctrl, i) => {\n const parent = ref.current[i + (reverse ? 1 : -1)];\n\n if (parent) {\n ctrl.start({\n to: parent.springs\n });\n } else {\n ctrl.start();\n }\n });\n }, deps);\n\n if (propsFn || arguments.length == 3) {\n ref['_getProps'] = (propsArg, ctrl, i) => {\n const props = is.fun(propsArg) ? propsArg(i, ctrl) : propsArg;\n\n if (props) {\n const parent = ref.current[i + (props.reverse ? 1 : -1)];\n if (parent) props.to = parent.springs;\n return props;\n }\n };\n\n return result;\n }\n\n ref['start'] = propsArg => {\n const results = [];\n each(ref.current, (ctrl, i) => {\n const props = is.fun(propsArg) ? propsArg(i, ctrl) : propsArg;\n const parent = ref.current[i + (reverse ? 1 : -1)];\n\n if (parent) {\n results.push(ctrl.start(_extends({}, props, {\n to: parent.springs\n })));\n } else {\n results.push(ctrl.start(_extends({}, props)));\n }\n });\n return results;\n };\n\n return result[0];\n}\n\nlet TransitionPhase;\n\n(function (TransitionPhase) {\n TransitionPhase[\"MOUNT\"] = \"mount\";\n TransitionPhase[\"ENTER\"] = \"enter\";\n TransitionPhase[\"UPDATE\"] = \"update\";\n TransitionPhase[\"LEAVE\"] = \"leave\";\n})(TransitionPhase || (TransitionPhase = {}));\n\nfunction useTransition(data, props, deps) {\n const propsFn = is.fun(props) && props;\n const {\n reset,\n sort,\n trail = 0,\n expires = true,\n exitBeforeEnter = false,\n onDestroyed,\n ref: propsRef,\n config: propsConfig\n } = propsFn ? propsFn() : props;\n const ref = useMemo(() => propsFn || arguments.length == 3 ? SpringRef() : void 0, []);\n const items = toArray(data);\n const transitions = [];\n const usedTransitions = useRef(null);\n const prevTransitions = reset ? null : usedTransitions.current;\n useLayoutEffect(() => {\n usedTransitions.current = transitions;\n });\n useOnce(() => {\n each(usedTransitions.current, t => {\n var _t$ctrl$ref;\n\n (_t$ctrl$ref = t.ctrl.ref) == null ? void 0 : _t$ctrl$ref.add(t.ctrl);\n const change = changes.get(t);\n\n if (change) {\n t.ctrl.start(change.payload);\n }\n });\n return () => {\n each(usedTransitions.current, t => {\n if (t.expired) {\n clearTimeout(t.expirationId);\n }\n\n detachRefs(t.ctrl, ref);\n t.ctrl.stop(true);\n });\n };\n });\n const keys = getKeys(items, propsFn ? propsFn() : props, prevTransitions);\n const expired = reset && usedTransitions.current || [];\n useLayoutEffect(() => each(expired, ({\n ctrl,\n item,\n key\n }) => {\n detachRefs(ctrl, ref);\n callProp(onDestroyed, item, key);\n }));\n const reused = [];\n if (prevTransitions) each(prevTransitions, (t, i) => {\n if (t.expired) {\n clearTimeout(t.expirationId);\n expired.push(t);\n } else {\n i = reused[i] = keys.indexOf(t.key);\n if (~i) transitions[i] = t;\n }\n });\n each(items, (item, i) => {\n if (!transitions[i]) {\n transitions[i] = {\n key: keys[i],\n item,\n phase: TransitionPhase.MOUNT,\n ctrl: new Controller()\n };\n transitions[i].ctrl.item = item;\n }\n });\n\n if (reused.length) {\n let i = -1;\n const {\n leave\n } = propsFn ? propsFn() : props;\n each(reused, (keyIndex, prevIndex) => {\n const t = prevTransitions[prevIndex];\n\n if (~keyIndex) {\n i = transitions.indexOf(t);\n transitions[i] = _extends({}, t, {\n item: items[keyIndex]\n });\n } else if (leave) {\n transitions.splice(++i, 0, t);\n }\n });\n }\n\n if (is.fun(sort)) {\n transitions.sort((a, b) => sort(a.item, b.item));\n }\n\n let delay = -trail;\n const forceUpdate = useForceUpdate();\n const defaultProps = getDefaultProps(props);\n const changes = new Map();\n const exitingTransitions = useRef(new Map());\n const forceChange = useRef(false);\n each(transitions, (t, i) => {\n const key = t.key;\n const prevPhase = t.phase;\n const p = propsFn ? propsFn() : props;\n let to;\n let phase;\n let propsDelay = callProp(p.delay || 0, key);\n\n if (prevPhase == TransitionPhase.MOUNT) {\n to = p.enter;\n phase = TransitionPhase.ENTER;\n } else {\n const isLeave = keys.indexOf(key) < 0;\n\n if (prevPhase != TransitionPhase.LEAVE) {\n if (isLeave) {\n to = p.leave;\n phase = TransitionPhase.LEAVE;\n } else if (to = p.update) {\n phase = TransitionPhase.UPDATE;\n } else return;\n } else if (!isLeave) {\n to = p.enter;\n phase = TransitionPhase.ENTER;\n } else return;\n }\n\n to = callProp(to, t.item, i);\n to = is.obj(to) ? inferTo(to) : {\n to\n };\n\n if (!to.config) {\n const config = propsConfig || defaultProps.config;\n to.config = callProp(config, t.item, i, phase);\n }\n\n delay += trail;\n\n const payload = _extends({}, defaultProps, {\n delay: propsDelay + delay,\n ref: propsRef,\n immediate: p.immediate,\n reset: false\n }, to);\n\n if (phase == TransitionPhase.ENTER && is.und(payload.from)) {\n const _p = propsFn ? propsFn() : props;\n\n const from = is.und(_p.initial) || prevTransitions ? _p.from : _p.initial;\n payload.from = callProp(from, t.item, i);\n }\n\n const {\n onResolve\n } = payload;\n\n payload.onResolve = result => {\n callProp(onResolve, result);\n const transitions = usedTransitions.current;\n const t = transitions.find(t => t.key === key);\n if (!t) return;\n\n if (result.cancelled && t.phase != TransitionPhase.UPDATE) {\n return;\n }\n\n if (t.ctrl.idle) {\n const idle = transitions.every(t => t.ctrl.idle);\n\n if (t.phase == TransitionPhase.LEAVE) {\n const expiry = callProp(expires, t.item);\n\n if (expiry !== false) {\n const expiryMs = expiry === true ? 0 : expiry;\n t.expired = true;\n\n if (!idle && expiryMs > 0) {\n if (expiryMs <= 0x7fffffff) t.expirationId = setTimeout(forceUpdate, expiryMs);\n return;\n }\n }\n }\n\n if (idle && transitions.some(t => t.expired)) {\n exitingTransitions.current.delete(t);\n\n if (exitBeforeEnter) {\n forceChange.current = true;\n }\n\n forceUpdate();\n }\n }\n };\n\n const springs = getSprings(t.ctrl, payload);\n\n if (phase === TransitionPhase.LEAVE && exitBeforeEnter) {\n exitingTransitions.current.set(t, {\n phase,\n springs,\n payload\n });\n } else {\n changes.set(t, {\n phase,\n springs,\n payload\n });\n }\n });\n const context = useContext(SpringContext);\n const prevContext = usePrev(context);\n const hasContext = context !== prevContext && hasProps(context);\n useLayoutEffect(() => {\n if (hasContext) {\n each(transitions, t => {\n t.ctrl.start({\n default: context\n });\n });\n }\n }, [context]);\n each(changes, (_, t) => {\n if (exitingTransitions.current.size) {\n const ind = transitions.findIndex(state => state.key === t.key);\n transitions.splice(ind, 1);\n }\n });\n useLayoutEffect(() => {\n each(exitingTransitions.current.size ? exitingTransitions.current : changes, ({\n phase,\n payload\n }, t) => {\n const {\n ctrl\n } = t;\n t.phase = phase;\n ref == null ? void 0 : ref.add(ctrl);\n\n if (hasContext && phase == TransitionPhase.ENTER) {\n ctrl.start({\n default: context\n });\n }\n\n if (payload) {\n replaceRef(ctrl, payload.ref);\n\n if (ctrl.ref && !forceChange.current) {\n ctrl.update(payload);\n } else {\n ctrl.start(payload);\n\n if (forceChange.current) {\n forceChange.current = false;\n }\n }\n }\n });\n }, reset ? void 0 : deps);\n\n const renderTransitions = render => React.createElement(React.Fragment, null, transitions.map((t, i) => {\n const {\n springs\n } = changes.get(t) || t.ctrl;\n const elem = render(_extends({}, springs), t.item, t, i);\n return elem && elem.type ? React.createElement(elem.type, _extends({}, elem.props, {\n key: is.str(t.key) || is.num(t.key) ? t.key : t.ctrl.id,\n ref: elem.ref\n })) : elem;\n }));\n\n return ref ? [renderTransitions, ref] : renderTransitions;\n}\nlet nextKey = 1;\n\nfunction getKeys(items, {\n key,\n keys = key\n}, prevTransitions) {\n if (keys === null) {\n const reused = new Set();\n return items.map(item => {\n const t = prevTransitions && prevTransitions.find(t => t.item === item && t.phase !== TransitionPhase.LEAVE && !reused.has(t));\n\n if (t) {\n reused.add(t);\n return t.key;\n }\n\n return nextKey++;\n });\n }\n\n return is.und(keys) ? items : is.fun(keys) ? items.map(keys) : toArray(keys);\n}\n\nconst _excluded$2 = [\"children\"];\nfunction Spring(_ref) {\n let {\n children\n } = _ref,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$2);\n\n return children(useSpring(props));\n}\n\nconst _excluded$1 = [\"items\", \"children\"];\nfunction Trail(_ref) {\n let {\n items,\n children\n } = _ref,\n props = _objectWithoutPropertiesLoose(_ref, _excluded$1);\n\n const trails = useTrail(items.length, props);\n return items.map((item, index) => {\n const result = children(item, index);\n return is.fun(result) ? result(trails[index]) : result;\n });\n}\n\nconst _excluded = [\"items\", \"children\"];\nfunction Transition(_ref) {\n let {\n items,\n children\n } = _ref,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n return useTransition(items, props)(children);\n}\n\nclass Interpolation extends FrameValue {\n constructor(source, args) {\n super();\n this.key = void 0;\n this.idle = true;\n this.calc = void 0;\n this._active = new Set();\n this.source = source;\n this.calc = createInterpolator(...args);\n\n const value = this._get();\n\n const nodeType = getAnimatedType(value);\n setAnimated(this, nodeType.create(value));\n }\n\n advance(_dt) {\n const value = this._get();\n\n const oldValue = this.get();\n\n if (!isEqual(value, oldValue)) {\n getAnimated(this).setValue(value);\n\n this._onChange(value, this.idle);\n }\n\n if (!this.idle && checkIdle(this._active)) {\n becomeIdle(this);\n }\n }\n\n _get() {\n const inputs = is.arr(this.source) ? this.source.map(getFluidValue) : toArray(getFluidValue(this.source));\n return this.calc(...inputs);\n }\n\n _start() {\n if (this.idle && !checkIdle(this._active)) {\n this.idle = false;\n each(getPayload(this), node => {\n node.done = false;\n });\n\n if (Globals.skipAnimation) {\n raf.batchedUpdates(() => this.advance());\n becomeIdle(this);\n } else {\n frameLoop.start(this);\n }\n }\n }\n\n _attach() {\n let priority = 1;\n each(toArray(this.source), source => {\n if (hasFluidValue(source)) {\n addFluidObserver(source, this);\n }\n\n if (isFrameValue(source)) {\n if (!source.idle) {\n this._active.add(source);\n }\n\n priority = Math.max(priority, source.priority + 1);\n }\n });\n this.priority = priority;\n\n this._start();\n }\n\n _detach() {\n each(toArray(this.source), source => {\n if (hasFluidValue(source)) {\n removeFluidObserver(source, this);\n }\n });\n\n this._active.clear();\n\n becomeIdle(this);\n }\n\n eventObserved(event) {\n if (event.type == 'change') {\n if (event.idle) {\n this.advance();\n } else {\n this._active.add(event.parent);\n\n this._start();\n }\n } else if (event.type == 'idle') {\n this._active.delete(event.parent);\n } else if (event.type == 'priority') {\n this.priority = toArray(this.source).reduce((highest, parent) => Math.max(highest, (isFrameValue(parent) ? parent.priority : 0) + 1), 0);\n }\n }\n\n}\n\nfunction isIdle(source) {\n return source.idle !== false;\n}\n\nfunction checkIdle(active) {\n return !active.size || Array.from(active).every(isIdle);\n}\n\nfunction becomeIdle(self) {\n if (!self.idle) {\n self.idle = true;\n each(getPayload(self), node => {\n node.done = true;\n });\n callFluidObservers(self, {\n type: 'idle',\n parent: self\n });\n }\n}\n\nconst to = (source, ...args) => new Interpolation(source, args);\nconst interpolate = (source, ...args) => (deprecateInterpolate(), new Interpolation(source, args));\n\nGlobals.assign({\n createStringInterpolator,\n to: (source, args) => new Interpolation(source, args)\n});\nconst update = frameLoop.advance;\n\nexport { BailSignal, Controller, FrameValue, Interpolation, Spring, SpringContext, SpringRef, SpringValue, Trail, Transition, config, easings, inferTo, interpolate, to, update, useChain, useSpring, useSpringRef, useSprings, useTrail, useTransition };\n","import { Globals } from '@react-spring/core';\nexport * from '@react-spring/core';\nimport { unstable_batchedUpdates } from 'react-dom';\nimport { eachProp, is, toArray, FluidValue, each, getFluidValue, hasFluidValue, addFluidObserver, removeFluidObserver, callFluidObservers, createStringInterpolator, colors } from '@react-spring/shared';\nimport { AnimatedObject, createHost } from '@react-spring/animated';\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nconst _excluded$2 = [\"style\", \"children\", \"scrollTop\", \"scrollLeft\"];\nconst isCustomPropRE = /^--/;\n\nfunction dangerousStyleValue(name, value) {\n if (value == null || typeof value === 'boolean' || value === '') return '';\n if (typeof value === 'number' && value !== 0 && !isCustomPropRE.test(name) && !(isUnitlessNumber.hasOwnProperty(name) && isUnitlessNumber[name])) return value + 'px';\n return ('' + value).trim();\n}\n\nconst attributeCache = {};\nfunction applyAnimatedValues(instance, props) {\n if (!instance.nodeType || !instance.setAttribute) {\n return false;\n }\n\n const isFilterElement = instance.nodeName === 'filter' || instance.parentNode && instance.parentNode.nodeName === 'filter';\n\n const _ref = props,\n {\n style,\n children,\n scrollTop,\n scrollLeft\n } = _ref,\n attributes = _objectWithoutPropertiesLoose(_ref, _excluded$2);\n\n const values = Object.values(attributes);\n const names = Object.keys(attributes).map(name => isFilterElement || instance.hasAttribute(name) ? name : attributeCache[name] || (attributeCache[name] = name.replace(/([A-Z])/g, n => '-' + n.toLowerCase())));\n\n if (children !== void 0) {\n instance.textContent = children;\n }\n\n for (let name in style) {\n if (style.hasOwnProperty(name)) {\n const value = dangerousStyleValue(name, style[name]);\n\n if (isCustomPropRE.test(name)) {\n instance.style.setProperty(name, value);\n } else {\n instance.style[name] = value;\n }\n }\n }\n\n names.forEach((name, i) => {\n instance.setAttribute(name, values[i]);\n });\n\n if (scrollTop !== void 0) {\n instance.scrollTop = scrollTop;\n }\n\n if (scrollLeft !== void 0) {\n instance.scrollLeft = scrollLeft;\n }\n}\nlet isUnitlessNumber = {\n animationIterationCount: true,\n borderImageOutset: true,\n borderImageSlice: true,\n borderImageWidth: true,\n boxFlex: true,\n boxFlexGroup: true,\n boxOrdinalGroup: true,\n columnCount: true,\n columns: true,\n flex: true,\n flexGrow: true,\n flexPositive: true,\n flexShrink: true,\n flexNegative: true,\n flexOrder: true,\n gridRow: true,\n gridRowEnd: true,\n gridRowSpan: true,\n gridRowStart: true,\n gridColumn: true,\n gridColumnEnd: true,\n gridColumnSpan: true,\n gridColumnStart: true,\n fontWeight: true,\n lineClamp: true,\n lineHeight: true,\n opacity: true,\n order: true,\n orphans: true,\n tabSize: true,\n widows: true,\n zIndex: true,\n zoom: true,\n fillOpacity: true,\n floodOpacity: true,\n stopOpacity: true,\n strokeDasharray: true,\n strokeDashoffset: true,\n strokeMiterlimit: true,\n strokeOpacity: true,\n strokeWidth: true\n};\n\nconst prefixKey = (prefix, key) => prefix + key.charAt(0).toUpperCase() + key.substring(1);\n\nconst prefixes = ['Webkit', 'Ms', 'Moz', 'O'];\nisUnitlessNumber = Object.keys(isUnitlessNumber).reduce((acc, prop) => {\n prefixes.forEach(prefix => acc[prefixKey(prefix, prop)] = acc[prop]);\n return acc;\n}, isUnitlessNumber);\n\nconst _excluded$1 = [\"x\", \"y\", \"z\"];\nconst domTransforms = /^(matrix|translate|scale|rotate|skew)/;\nconst pxTransforms = /^(translate)/;\nconst degTransforms = /^(rotate|skew)/;\n\nconst addUnit = (value, unit) => is.num(value) && value !== 0 ? value + unit : value;\n\nconst isValueIdentity = (value, id) => is.arr(value) ? value.every(v => isValueIdentity(v, id)) : is.num(value) ? value === id : parseFloat(value) === id;\n\nclass AnimatedStyle extends AnimatedObject {\n constructor(_ref) {\n let {\n x,\n y,\n z\n } = _ref,\n style = _objectWithoutPropertiesLoose(_ref, _excluded$1);\n\n const inputs = [];\n const transforms = [];\n\n if (x || y || z) {\n inputs.push([x || 0, y || 0, z || 0]);\n transforms.push(xyz => [`translate3d(${xyz.map(v => addUnit(v, 'px')).join(',')})`, isValueIdentity(xyz, 0)]);\n }\n\n eachProp(style, (value, key) => {\n if (key === 'transform') {\n inputs.push([value || '']);\n transforms.push(transform => [transform, transform === '']);\n } else if (domTransforms.test(key)) {\n delete style[key];\n if (is.und(value)) return;\n const unit = pxTransforms.test(key) ? 'px' : degTransforms.test(key) ? 'deg' : '';\n inputs.push(toArray(value));\n transforms.push(key === 'rotate3d' ? ([x, y, z, deg]) => [`rotate3d(${x},${y},${z},${addUnit(deg, unit)})`, isValueIdentity(deg, 0)] : input => [`${key}(${input.map(v => addUnit(v, unit)).join(',')})`, isValueIdentity(input, key.startsWith('scale') ? 1 : 0)]);\n }\n });\n\n if (inputs.length) {\n style.transform = new FluidTransform(inputs, transforms);\n }\n\n super(style);\n }\n\n}\n\nclass FluidTransform extends FluidValue {\n constructor(inputs, transforms) {\n super();\n this._value = null;\n this.inputs = inputs;\n this.transforms = transforms;\n }\n\n get() {\n return this._value || (this._value = this._get());\n }\n\n _get() {\n let transform = '';\n let identity = true;\n each(this.inputs, (input, i) => {\n const arg1 = getFluidValue(input[0]);\n const [t, id] = this.transforms[i](is.arr(arg1) ? arg1 : input.map(getFluidValue));\n transform += ' ' + t;\n identity = identity && id;\n });\n return identity ? 'none' : transform;\n }\n\n observerAdded(count) {\n if (count == 1) each(this.inputs, input => each(input, value => hasFluidValue(value) && addFluidObserver(value, this)));\n }\n\n observerRemoved(count) {\n if (count == 0) each(this.inputs, input => each(input, value => hasFluidValue(value) && removeFluidObserver(value, this)));\n }\n\n eventObserved(event) {\n if (event.type == 'change') {\n this._value = null;\n }\n\n callFluidObservers(this, event);\n }\n\n}\n\nconst primitives = ['a', 'abbr', 'address', 'area', 'article', 'aside', 'audio', 'b', 'base', 'bdi', 'bdo', 'big', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'cite', 'code', 'col', 'colgroup', 'data', 'datalist', 'dd', 'del', 'details', 'dfn', 'dialog', 'div', 'dl', 'dt', 'em', 'embed', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'iframe', 'img', 'input', 'ins', 'kbd', 'keygen', 'label', 'legend', 'li', 'link', 'main', 'map', 'mark', 'menu', 'menuitem', 'meta', 'meter', 'nav', 'noscript', 'object', 'ol', 'optgroup', 'option', 'output', 'p', 'param', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'script', 'section', 'select', 'small', 'source', 'span', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'textarea', 'tfoot', 'th', 'thead', 'time', 'title', 'tr', 'track', 'u', 'ul', 'var', 'video', 'wbr', 'circle', 'clipPath', 'defs', 'ellipse', 'foreignObject', 'g', 'image', 'line', 'linearGradient', 'mask', 'path', 'pattern', 'polygon', 'polyline', 'radialGradient', 'rect', 'stop', 'svg', 'text', 'tspan'];\n\nconst _excluded = [\"scrollTop\", \"scrollLeft\"];\nGlobals.assign({\n batchedUpdates: unstable_batchedUpdates,\n createStringInterpolator,\n colors\n});\nconst host = createHost(primitives, {\n applyAnimatedValues,\n createAnimatedStyle: style => new AnimatedStyle(style),\n getComponentProps: _ref => {\n let props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n return props;\n }\n});\nconst animated = host.animated;\n\nexport { animated as a, animated };\n","import{memo as t,useRef as i,useMemo as o,createContext as n,useState as r,useCallback as e,useContext as l}from\"react\";import{useSpring as a,animated as c}from\"@react-spring/web\";import{useTheme as h,useMotionConfig as s,useMeasure as d,useValueFormatter as u}from\"@nivo/core\";import{jsx as y,jsxs as p,Fragment as f}from\"react/jsx-runtime\";function v(){return v=Object.assign||function(t){for(var i=1;i<arguments.length;i++){var o=arguments[i];for(var n in o)Object.prototype.hasOwnProperty.call(o,n)&&(t[n]=o[n])}return t},v.apply(this,arguments)}var x={pointerEvents:\"none\",position:\"absolute\",zIndex:10,top:0,left:0},m=function(t,i){return\"translate(\"+t+\"px, \"+i+\"px)\"},g=t((function(t){var o,n=t.position,r=t.anchor,e=t.children,l=h(),u=s(),p=u.animate,f=u.config,g=d(),b=g[0],w=g[1],T=i(!1),C=void 0,E=!1,P=w.width>0&&w.height>0,N=Math.round(n[0]),V=Math.round(n[1]);P&&(\"top\"===r?(N-=w.width/2,V-=w.height+14):\"right\"===r?(N+=14,V-=w.height/2):\"bottom\"===r?(N-=w.width/2,V+=14):\"left\"===r?(N-=w.width+14,V-=w.height/2):\"center\"===r&&(N-=w.width/2,V-=w.height/2),C={transform:m(N,V)},T.current||(E=!0),T.current=[N,V]);var j=a({to:C,config:f,immediate:!p||E}),O=v({},x,l.tooltip,{transform:null!=(o=j.transform)?o:m(N,V)});return y(c.div,{ref:b,style:O,children:e})}));g.displayName=\"TooltipWrapper\";var b=t((function(t){var i=t.size,o=void 0===i?12:i,n=t.color,r=t.style;return y(\"span\",{style:v({display:\"block\",width:o,height:o,background:n},void 0===r?{}:r)})})),w=t((function(t){var i,o=t.id,n=t.value,r=t.format,e=t.enableChip,l=void 0!==e&&e,a=t.color,c=t.renderContent,s=h(),d=u(r);if(\"function\"==typeof c)i=c();else{var f=n;void 0!==d&&void 0!==f&&(f=d(f)),i=p(\"div\",{style:s.tooltip.basic,children:[l&&y(b,{color:a,style:s.tooltip.chip}),void 0!==f?p(\"span\",{children:[o,\": \",y(\"strong\",{children:\"\"+f})]}):o]})}return y(\"div\",{style:s.tooltip.container,children:i})})),T={width:\"100%\",borderCollapse:\"collapse\"},C=t((function(t){var i,o=t.title,n=t.rows,r=void 0===n?[]:n,e=t.renderContent,l=h();return r.length?(i=\"function\"==typeof e?e():p(\"div\",{children:[o&&o,y(\"table\",{style:v({},T,l.tooltip.table),children:y(\"tbody\",{children:r.map((function(t,i){return y(\"tr\",{children:t.map((function(t,i){return y(\"td\",{style:l.tooltip.tableCell,children:t},i)}))},i)}))})})]}),y(\"div\",{style:l.tooltip.container,children:i})):null}));C.displayName=\"TableTooltip\";var E=t((function(t){var i=t.x0,n=t.x1,r=t.y0,e=t.y1,l=h(),d=s(),u=d.animate,p=d.config,f=o((function(){return v({},l.crosshair.line,{pointerEvents:\"none\"})}),[l.crosshair.line]),x=a({x1:i,x2:n,y1:r,y2:e,config:p,immediate:!u});return y(c.line,v({},x,{fill:\"none\",style:f}))}));E.displayName=\"CrosshairLine\";var P=t((function(t){var i,o,n=t.width,r=t.height,e=t.type,l=t.x,a=t.y;return\"cross\"===e?(i={x0:l,x1:l,y0:0,y1:r},o={x0:0,x1:n,y0:a,y1:a}):\"top-left\"===e?(i={x0:l,x1:l,y0:0,y1:a},o={x0:0,x1:l,y0:a,y1:a}):\"top\"===e?i={x0:l,x1:l,y0:0,y1:a}:\"top-right\"===e?(i={x0:l,x1:l,y0:0,y1:a},o={x0:l,x1:n,y0:a,y1:a}):\"right\"===e?o={x0:l,x1:n,y0:a,y1:a}:\"bottom-right\"===e?(i={x0:l,x1:l,y0:a,y1:r},o={x0:l,x1:n,y0:a,y1:a}):\"bottom\"===e?i={x0:l,x1:l,y0:a,y1:r}:\"bottom-left\"===e?(i={x0:l,x1:l,y0:a,y1:r},o={x0:0,x1:l,y0:a,y1:a}):\"left\"===e?o={x0:0,x1:l,y0:a,y1:a}:\"x\"===e?i={x0:l,x1:l,y0:0,y1:r}:\"y\"===e&&(o={x0:0,x1:n,y0:a,y1:a}),p(f,{children:[i&&y(E,{x0:i.x0,x1:i.x1,y0:i.y0,y1:i.y1}),o&&y(E,{x0:o.x0,x1:o.x1,y0:o.y0,y1:o.y1})]})}));P.displayName=\"Crosshair\";var N=n({showTooltipAt:function(){},showTooltipFromEvent:function(){},hideTooltip:function(){}}),V={isVisible:!1,position:[null,null],content:null,anchor:null},j=n(V),O=function(t){var i=r(V),n=i[0],l=i[1],a=e((function(t,i,o){var n=i[0],r=i[1];void 0===o&&(o=\"top\"),l({isVisible:!0,position:[n,r],anchor:o,content:t})}),[l]),c=e((function(i,o,n){void 0===n&&(n=\"top\");var r=t.current.getBoundingClientRect(),e=t.current.offsetWidth,a=e===r.width?1:e/r.width,c=(o.clientX-r.left)*a,h=(o.clientY-r.top)*a;\"left\"!==n&&\"right\"!==n||(n=c<r.width/2?\"right\":\"left\"),l({isVisible:!0,position:[c,h],anchor:n,content:i})}),[t,l]),h=e((function(){l(V)}),[l]);return{actions:o((function(){return{showTooltipAt:a,showTooltipFromEvent:c,hideTooltip:h}}),[a,c,h]),state:n}},k=function(){var t=l(N);if(void 0===t)throw new Error(\"useTooltip must be used within a TooltipProvider\");return t},z=function(){var t=l(j);if(void 0===t)throw new Error(\"useTooltipState must be used within a TooltipProvider\");return t},A=function(t){return t.isVisible},F=function(){var t=z();return A(t)?y(g,{position:t.position,anchor:t.anchor,children:t.content}):null},M=function(t){var i=t.container,o=t.children,n=O(i),r=n.actions,e=n.state;return y(N.Provider,{value:r,children:y(j.Provider,{value:e,children:o})})};export{w as BasicTooltip,b as Chip,P as Crosshair,C as TableTooltip,F as Tooltip,N as TooltipActionsContext,M as TooltipProvider,j as TooltipStateContext,g as TooltipWrapper,V as hiddenTooltipState,A as isVisibleTooltipState,k as useTooltip,O as useTooltipHandlers,z as useTooltipState};\n//# sourceMappingURL=nivo-tooltip.es.js.map\n","export default function(constructor, factory, prototype) {\n constructor.prototype = factory.prototype = prototype;\n prototype.constructor = constructor;\n}\n\nexport function extend(parent, definition) {\n var prototype = Object.create(parent.prototype);\n for (var key in definition) prototype[key] = definition[key];\n return prototype;\n}\n","import define, {extend} from \"./define.js\";\n\nexport function Color() {}\n\nexport var darker = 0.7;\nexport var brighter = 1 / darker;\n\nvar reI = \"\\\\s*([+-]?\\\\d+)\\\\s*\",\n reN = \"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",\n reP = \"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",\n reHex = /^#([0-9a-f]{3,8})$/,\n reRgbInteger = new RegExp(\"^rgb\\\\(\" + [reI, reI, reI] + \"\\\\)$\"),\n reRgbPercent = new RegExp(\"^rgb\\\\(\" + [reP, reP, reP] + \"\\\\)$\"),\n reRgbaInteger = new RegExp(\"^rgba\\\\(\" + [reI, reI, reI, reN] + \"\\\\)$\"),\n reRgbaPercent = new RegExp(\"^rgba\\\\(\" + [reP, reP, reP, reN] + \"\\\\)$\"),\n reHslPercent = new RegExp(\"^hsl\\\\(\" + [reN, reP, reP] + \"\\\\)$\"),\n reHslaPercent = new RegExp(\"^hsla\\\\(\" + [reN, reP, reP, reN] + \"\\\\)$\");\n\nvar named = {\n aliceblue: 0xf0f8ff,\n antiquewhite: 0xfaebd7,\n aqua: 0x00ffff,\n aquamarine: 0x7fffd4,\n azure: 0xf0ffff,\n beige: 0xf5f5dc,\n bisque: 0xffe4c4,\n black: 0x000000,\n blanchedalmond: 0xffebcd,\n blue: 0x0000ff,\n blueviolet: 0x8a2be2,\n brown: 0xa52a2a,\n burlywood: 0xdeb887,\n cadetblue: 0x5f9ea0,\n chartreuse: 0x7fff00,\n chocolate: 0xd2691e,\n coral: 0xff7f50,\n cornflowerblue: 0x6495ed,\n cornsilk: 0xfff8dc,\n crimson: 0xdc143c,\n cyan: 0x00ffff,\n darkblue: 0x00008b,\n darkcyan: 0x008b8b,\n darkgoldenrod: 0xb8860b,\n darkgray: 0xa9a9a9,\n darkgreen: 0x006400,\n darkgrey: 0xa9a9a9,\n darkkhaki: 0xbdb76b,\n darkmagenta: 0x8b008b,\n darkolivegreen: 0x556b2f,\n darkorange: 0xff8c00,\n darkorchid: 0x9932cc,\n darkred: 0x8b0000,\n darksalmon: 0xe9967a,\n darkseagreen: 0x8fbc8f,\n darkslateblue: 0x483d8b,\n darkslategray: 0x2f4f4f,\n darkslategrey: 0x2f4f4f,\n darkturquoise: 0x00ced1,\n darkviolet: 0x9400d3,\n deeppink: 0xff1493,\n deepskyblue: 0x00bfff,\n dimgray: 0x696969,\n dimgrey: 0x696969,\n dodgerblue: 0x1e90ff,\n firebrick: 0xb22222,\n floralwhite: 0xfffaf0,\n forestgreen: 0x228b22,\n fuchsia: 0xff00ff,\n gainsboro: 0xdcdcdc,\n ghostwhite: 0xf8f8ff,\n gold: 0xffd700,\n goldenrod: 0xdaa520,\n gray: 0x808080,\n green: 0x008000,\n greenyellow: 0xadff2f,\n grey: 0x808080,\n honeydew: 0xf0fff0,\n hotpink: 0xff69b4,\n indianred: 0xcd5c5c,\n indigo: 0x4b0082,\n ivory: 0xfffff0,\n khaki: 0xf0e68c,\n lavender: 0xe6e6fa,\n lavenderblush: 0xfff0f5,\n lawngreen: 0x7cfc00,\n lemonchiffon: 0xfffacd,\n lightblue: 0xadd8e6,\n lightcoral: 0xf08080,\n lightcyan: 0xe0ffff,\n lightgoldenrodyellow: 0xfafad2,\n lightgray: 0xd3d3d3,\n lightgreen: 0x90ee90,\n lightgrey: 0xd3d3d3,\n lightpink: 0xffb6c1,\n lightsalmon: 0xffa07a,\n lightseagreen: 0x20b2aa,\n lightskyblue: 0x87cefa,\n lightslategray: 0x778899,\n lightslategrey: 0x778899,\n lightsteelblue: 0xb0c4de,\n lightyellow: 0xffffe0,\n lime: 0x00ff00,\n limegreen: 0x32cd32,\n linen: 0xfaf0e6,\n magenta: 0xff00ff,\n maroon: 0x800000,\n mediumaquamarine: 0x66cdaa,\n mediumblue: 0x0000cd,\n mediumorchid: 0xba55d3,\n mediumpurple: 0x9370db,\n mediumseagreen: 0x3cb371,\n mediumslateblue: 0x7b68ee,\n mediumspringgreen: 0x00fa9a,\n mediumturquoise: 0x48d1cc,\n mediumvioletred: 0xc71585,\n midnightblue: 0x191970,\n mintcream: 0xf5fffa,\n mistyrose: 0xffe4e1,\n moccasin: 0xffe4b5,\n navajowhite: 0xffdead,\n navy: 0x000080,\n oldlace: 0xfdf5e6,\n olive: 0x808000,\n olivedrab: 0x6b8e23,\n orange: 0xffa500,\n orangered: 0xff4500,\n orchid: 0xda70d6,\n palegoldenrod: 0xeee8aa,\n palegreen: 0x98fb98,\n paleturquoise: 0xafeeee,\n palevioletred: 0xdb7093,\n papayawhip: 0xffefd5,\n peachpuff: 0xffdab9,\n peru: 0xcd853f,\n pink: 0xffc0cb,\n plum: 0xdda0dd,\n powderblue: 0xb0e0e6,\n purple: 0x800080,\n rebeccapurple: 0x663399,\n red: 0xff0000,\n rosybrown: 0xbc8f8f,\n royalblue: 0x4169e1,\n saddlebrown: 0x8b4513,\n salmon: 0xfa8072,\n sandybrown: 0xf4a460,\n seagreen: 0x2e8b57,\n seashell: 0xfff5ee,\n sienna: 0xa0522d,\n silver: 0xc0c0c0,\n skyblue: 0x87ceeb,\n slateblue: 0x6a5acd,\n slategray: 0x708090,\n slategrey: 0x708090,\n snow: 0xfffafa,\n springgreen: 0x00ff7f,\n steelblue: 0x4682b4,\n tan: 0xd2b48c,\n teal: 0x008080,\n thistle: 0xd8bfd8,\n tomato: 0xff6347,\n turquoise: 0x40e0d0,\n violet: 0xee82ee,\n wheat: 0xf5deb3,\n white: 0xffffff,\n whitesmoke: 0xf5f5f5,\n yellow: 0xffff00,\n yellowgreen: 0x9acd32\n};\n\ndefine(Color, color, {\n copy: function(channels) {\n return Object.assign(new this.constructor, this, channels);\n },\n displayable: function() {\n return this.rgb().displayable();\n },\n hex: color_formatHex, // Deprecated! Use color.formatHex.\n formatHex: color_formatHex,\n formatHsl: color_formatHsl,\n formatRgb: color_formatRgb,\n toString: color_formatRgb\n});\n\nfunction color_formatHex() {\n return this.rgb().formatHex();\n}\n\nfunction color_formatHsl() {\n return hslConvert(this).formatHsl();\n}\n\nfunction color_formatRgb() {\n return this.rgb().formatRgb();\n}\n\nexport default function color(format) {\n var m, l;\n format = (format + \"\").trim().toLowerCase();\n return (m = reHex.exec(format)) ? (l = m[1].length, m = parseInt(m[1], 16), l === 6 ? rgbn(m) // #ff0000\n : l === 3 ? new Rgb((m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), ((m & 0xf) << 4) | (m & 0xf), 1) // #f00\n : l === 8 ? rgba(m >> 24 & 0xff, m >> 16 & 0xff, m >> 8 & 0xff, (m & 0xff) / 0xff) // #ff000000\n : l === 4 ? rgba((m >> 12 & 0xf) | (m >> 8 & 0xf0), (m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), (((m & 0xf) << 4) | (m & 0xf)) / 0xff) // #f000\n : null) // invalid hex\n : (m = reRgbInteger.exec(format)) ? new Rgb(m[1], m[2], m[3], 1) // rgb(255, 0, 0)\n : (m = reRgbPercent.exec(format)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) // rgb(100%, 0%, 0%)\n : (m = reRgbaInteger.exec(format)) ? rgba(m[1], m[2], m[3], m[4]) // rgba(255, 0, 0, 1)\n : (m = reRgbaPercent.exec(format)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) // rgb(100%, 0%, 0%, 1)\n : (m = reHslPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) // hsl(120, 50%, 50%)\n : (m = reHslaPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) // hsla(120, 50%, 50%, 1)\n : named.hasOwnProperty(format) ? rgbn(named[format]) // eslint-disable-line no-prototype-builtins\n : format === \"transparent\" ? new Rgb(NaN, NaN, NaN, 0)\n : null;\n}\n\nfunction rgbn(n) {\n return new Rgb(n >> 16 & 0xff, n >> 8 & 0xff, n & 0xff, 1);\n}\n\nfunction rgba(r, g, b, a) {\n if (a <= 0) r = g = b = NaN;\n return new Rgb(r, g, b, a);\n}\n\nexport function rgbConvert(o) {\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Rgb;\n o = o.rgb();\n return new Rgb(o.r, o.g, o.b, o.opacity);\n}\n\nexport function rgb(r, g, b, opacity) {\n return arguments.length === 1 ? rgbConvert(r) : new Rgb(r, g, b, opacity == null ? 1 : opacity);\n}\n\nexport function Rgb(r, g, b, opacity) {\n this.r = +r;\n this.g = +g;\n this.b = +b;\n this.opacity = +opacity;\n}\n\ndefine(Rgb, rgb, extend(Color, {\n brighter: function(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n darker: function(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n rgb: function() {\n return this;\n },\n displayable: function() {\n return (-0.5 <= this.r && this.r < 255.5)\n && (-0.5 <= this.g && this.g < 255.5)\n && (-0.5 <= this.b && this.b < 255.5)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n hex: rgb_formatHex, // Deprecated! Use color.formatHex.\n formatHex: rgb_formatHex,\n formatRgb: rgb_formatRgb,\n toString: rgb_formatRgb\n}));\n\nfunction rgb_formatHex() {\n return \"#\" + hex(this.r) + hex(this.g) + hex(this.b);\n}\n\nfunction rgb_formatRgb() {\n var a = this.opacity; a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a));\n return (a === 1 ? \"rgb(\" : \"rgba(\")\n + Math.max(0, Math.min(255, Math.round(this.r) || 0)) + \", \"\n + Math.max(0, Math.min(255, Math.round(this.g) || 0)) + \", \"\n + Math.max(0, Math.min(255, Math.round(this.b) || 0))\n + (a === 1 ? \")\" : \", \" + a + \")\");\n}\n\nfunction hex(value) {\n value = Math.max(0, Math.min(255, Math.round(value) || 0));\n return (value < 16 ? \"0\" : \"\") + value.toString(16);\n}\n\nfunction hsla(h, s, l, a) {\n if (a <= 0) h = s = l = NaN;\n else if (l <= 0 || l >= 1) h = s = NaN;\n else if (s <= 0) h = NaN;\n return new Hsl(h, s, l, a);\n}\n\nexport function hslConvert(o) {\n if (o instanceof Hsl) return new Hsl(o.h, o.s, o.l, o.opacity);\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Hsl;\n if (o instanceof Hsl) return o;\n o = o.rgb();\n var r = o.r / 255,\n g = o.g / 255,\n b = o.b / 255,\n min = Math.min(r, g, b),\n max = Math.max(r, g, b),\n h = NaN,\n s = max - min,\n l = (max + min) / 2;\n if (s) {\n if (r === max) h = (g - b) / s + (g < b) * 6;\n else if (g === max) h = (b - r) / s + 2;\n else h = (r - g) / s + 4;\n s /= l < 0.5 ? max + min : 2 - max - min;\n h *= 60;\n } else {\n s = l > 0 && l < 1 ? 0 : h;\n }\n return new Hsl(h, s, l, o.opacity);\n}\n\nexport function hsl(h, s, l, opacity) {\n return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s, l, opacity == null ? 1 : opacity);\n}\n\nfunction Hsl(h, s, l, opacity) {\n this.h = +h;\n this.s = +s;\n this.l = +l;\n this.opacity = +opacity;\n}\n\ndefine(Hsl, hsl, extend(Color, {\n brighter: function(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n darker: function(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n rgb: function() {\n var h = this.h % 360 + (this.h < 0) * 360,\n s = isNaN(h) || isNaN(this.s) ? 0 : this.s,\n l = this.l,\n m2 = l + (l < 0.5 ? l : 1 - l) * s,\n m1 = 2 * l - m2;\n return new Rgb(\n hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2),\n hsl2rgb(h, m1, m2),\n hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2),\n this.opacity\n );\n },\n displayable: function() {\n return (0 <= this.s && this.s <= 1 || isNaN(this.s))\n && (0 <= this.l && this.l <= 1)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n formatHsl: function() {\n var a = this.opacity; a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a));\n return (a === 1 ? \"hsl(\" : \"hsla(\")\n + (this.h || 0) + \", \"\n + (this.s || 0) * 100 + \"%, \"\n + (this.l || 0) * 100 + \"%\"\n + (a === 1 ? \")\" : \", \" + a + \")\");\n }\n}));\n\n/* From FvD 13.37, CSS Color Module Level 3 */\nfunction hsl2rgb(h, m1, m2) {\n return (h < 60 ? m1 + (m2 - m1) * h / 60\n : h < 180 ? m2\n : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60\n : m1) * 255;\n}\n","export const radians = Math.PI / 180;\nexport const degrees = 180 / Math.PI;\n","import define, {extend} from \"./define.js\";\nimport {Color, rgbConvert, Rgb, darker, brighter} from \"./color.js\";\nimport {degrees, radians} from \"./math.js\";\n\nvar A = -0.14861,\n B = +1.78277,\n C = -0.29227,\n D = -0.90649,\n E = +1.97294,\n ED = E * D,\n EB = E * B,\n BC_DA = B * C - D * A;\n\nfunction cubehelixConvert(o) {\n if (o instanceof Cubehelix) return new Cubehelix(o.h, o.s, o.l, o.opacity);\n if (!(o instanceof Rgb)) o = rgbConvert(o);\n var r = o.r / 255,\n g = o.g / 255,\n b = o.b / 255,\n l = (BC_DA * b + ED * r - EB * g) / (BC_DA + ED - EB),\n bl = b - l,\n k = (E * (g - l) - C * bl) / D,\n s = Math.sqrt(k * k + bl * bl) / (E * l * (1 - l)), // NaN if l=0 or l=1\n h = s ? Math.atan2(k, bl) * degrees - 120 : NaN;\n return new Cubehelix(h < 0 ? h + 360 : h, s, l, o.opacity);\n}\n\nexport default function cubehelix(h, s, l, opacity) {\n return arguments.length === 1 ? cubehelixConvert(h) : new Cubehelix(h, s, l, opacity == null ? 1 : opacity);\n}\n\nexport function Cubehelix(h, s, l, opacity) {\n this.h = +h;\n this.s = +s;\n this.l = +l;\n this.opacity = +opacity;\n}\n\ndefine(Cubehelix, cubehelix, extend(Color, {\n brighter: function(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Cubehelix(this.h, this.s, this.l * k, this.opacity);\n },\n darker: function(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Cubehelix(this.h, this.s, this.l * k, this.opacity);\n },\n rgb: function() {\n var h = isNaN(this.h) ? 0 : (this.h + 120) * radians,\n l = +this.l,\n a = isNaN(this.s) ? 0 : this.s * l * (1 - l),\n cosh = Math.cos(h),\n sinh = Math.sin(h);\n return new Rgb(\n 255 * (l + a * (A * cosh + B * sinh)),\n 255 * (l + a * (C * cosh + D * sinh)),\n 255 * (l + a * (E * cosh)),\n this.opacity\n );\n }\n}));\n","export function basis(t1, v0, v1, v2, v3) {\n var t2 = t1 * t1, t3 = t2 * t1;\n return ((1 - 3 * t1 + 3 * t2 - t3) * v0\n + (4 - 6 * t2 + 3 * t3) * v1\n + (1 + 3 * t1 + 3 * t2 - 3 * t3) * v2\n + t3 * v3) / 6;\n}\n\nexport default function(values) {\n var n = values.length - 1;\n return function(t) {\n var i = t <= 0 ? (t = 0) : t >= 1 ? (t = 1, n - 1) : Math.floor(t * n),\n v1 = values[i],\n v2 = values[i + 1],\n v0 = i > 0 ? values[i - 1] : 2 * v1 - v2,\n v3 = i < n - 1 ? values[i + 2] : 2 * v2 - v1;\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}\n","export default x => () => x;\n","import constant from \"./constant.js\";\n\nfunction linear(a, d) {\n return function(t) {\n return a + t * d;\n };\n}\n\nfunction exponential(a, b, y) {\n return a = Math.pow(a, y), b = Math.pow(b, y) - a, y = 1 / y, function(t) {\n return Math.pow(a + t * b, y);\n };\n}\n\nexport function hue(a, b) {\n var d = b - a;\n return d ? linear(a, d > 180 || d < -180 ? d - 360 * Math.round(d / 360) : d) : constant(isNaN(a) ? b : a);\n}\n\nexport function gamma(y) {\n return (y = +y) === 1 ? nogamma : function(a, b) {\n return b - a ? exponential(a, b, y) : constant(isNaN(a) ? b : a);\n };\n}\n\nexport default function nogamma(a, b) {\n var d = b - a;\n return d ? linear(a, d) : constant(isNaN(a) ? b : a);\n}\n","import {rgb as colorRgb} from \"d3-color\";\nimport basis from \"./basis.js\";\nimport basisClosed from \"./basisClosed.js\";\nimport nogamma, {gamma} from \"./color.js\";\n\nexport default (function rgbGamma(y) {\n var color = gamma(y);\n\n function rgb(start, end) {\n var r = color((start = colorRgb(start)).r, (end = colorRgb(end)).r),\n g = color(start.g, end.g),\n b = color(start.b, end.b),\n opacity = nogamma(start.opacity, end.opacity);\n return function(t) {\n start.r = r(t);\n start.g = g(t);\n start.b = b(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n\n rgb.gamma = rgbGamma;\n\n return rgb;\n})(1);\n\nfunction rgbSpline(spline) {\n return function(colors) {\n var n = colors.length,\n r = new Array(n),\n g = new Array(n),\n b = new Array(n),\n i, color;\n for (i = 0; i < n; ++i) {\n color = colorRgb(colors[i]);\n r[i] = color.r || 0;\n g[i] = color.g || 0;\n b[i] = color.b || 0;\n }\n r = spline(r);\n g = spline(g);\n b = spline(b);\n color.opacity = 1;\n return function(t) {\n color.r = r(t);\n color.g = g(t);\n color.b = b(t);\n return color + \"\";\n };\n };\n}\n\nexport var rgbBasis = rgbSpline(basis);\nexport var rgbBasisClosed = rgbSpline(basisClosed);\n","export default function(a, b) {\n if (!b) b = [];\n var n = a ? Math.min(b.length, a.length) : 0,\n c = b.slice(),\n i;\n return function(t) {\n for (i = 0; i < n; ++i) c[i] = a[i] * (1 - t) + b[i] * t;\n return c;\n };\n}\n\nexport function isNumberArray(x) {\n return ArrayBuffer.isView(x) && !(x instanceof DataView);\n}\n","import value from \"./value.js\";\nimport numberArray, {isNumberArray} from \"./numberArray.js\";\n\nexport default function(a, b) {\n return (isNumberArray(b) ? numberArray : genericArray)(a, b);\n}\n\nexport function genericArray(a, b) {\n var nb = b ? b.length : 0,\n na = a ? Math.min(nb, a.length) : 0,\n x = new Array(na),\n c = new Array(nb),\n i;\n\n for (i = 0; i < na; ++i) x[i] = value(a[i], b[i]);\n for (; i < nb; ++i) c[i] = b[i];\n\n return function(t) {\n for (i = 0; i < na; ++i) c[i] = x[i](t);\n return c;\n };\n}\n","export default function(a, b) {\n var d = new Date;\n return a = +a, b = +b, function(t) {\n return d.setTime(a * (1 - t) + b * t), d;\n };\n}\n","export default function(a, b) {\n return a = +a, b = +b, function(t) {\n return a * (1 - t) + b * t;\n };\n}\n","import value from \"./value.js\";\n\nexport default function(a, b) {\n var i = {},\n c = {},\n k;\n\n if (a === null || typeof a !== \"object\") a = {};\n if (b === null || typeof b !== \"object\") b = {};\n\n for (k in b) {\n if (k in a) {\n i[k] = value(a[k], b[k]);\n } else {\n c[k] = b[k];\n }\n }\n\n return function(t) {\n for (k in i) c[k] = i[k](t);\n return c;\n };\n}\n","import number from \"./number.js\";\n\nvar reA = /[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,\n reB = new RegExp(reA.source, \"g\");\n\nfunction zero(b) {\n return function() {\n return b;\n };\n}\n\nfunction one(b) {\n return function(t) {\n return b(t) + \"\";\n };\n}\n\nexport default function(a, b) {\n var bi = reA.lastIndex = reB.lastIndex = 0, // scan index for next number in b\n am, // current match in a\n bm, // current match in b\n bs, // string preceding current number in b, if any\n i = -1, // index in s\n s = [], // string constants and placeholders\n q = []; // number interpolators\n\n // Coerce inputs to strings.\n a = a + \"\", b = b + \"\";\n\n // Interpolate pairs of numbers in a & b.\n while ((am = reA.exec(a))\n && (bm = reB.exec(b))) {\n if ((bs = bm.index) > bi) { // a string precedes the next number in b\n bs = b.slice(bi, bs);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n if ((am = am[0]) === (bm = bm[0])) { // numbers in a & b match\n if (s[i]) s[i] += bm; // coalesce with previous string\n else s[++i] = bm;\n } else { // interpolate non-matching numbers\n s[++i] = null;\n q.push({i: i, x: number(am, bm)});\n }\n bi = reB.lastIndex;\n }\n\n // Add remains of b.\n if (bi < b.length) {\n bs = b.slice(bi);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n\n // Special optimization for only a single match.\n // Otherwise, interpolate each of the numbers and rejoin the string.\n return s.length < 2 ? (q[0]\n ? one(q[0].x)\n : zero(b))\n : (b = q.length, function(t) {\n for (var i = 0, o; i < b; ++i) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n });\n}\n","import {color} from \"d3-color\";\nimport rgb from \"./rgb.js\";\nimport {genericArray} from \"./array.js\";\nimport date from \"./date.js\";\nimport number from \"./number.js\";\nimport object from \"./object.js\";\nimport string from \"./string.js\";\nimport constant from \"./constant.js\";\nimport numberArray, {isNumberArray} from \"./numberArray.js\";\n\nexport default function(a, b) {\n var t = typeof b, c;\n return b == null || t === \"boolean\" ? constant(b)\n : (t === \"number\" ? number\n : t === \"string\" ? ((c = color(b)) ? (b = c, rgb) : string)\n : b instanceof color ? rgb\n : b instanceof Date ? date\n : isNumberArray(b) ? numberArray\n : Array.isArray(b) ? genericArray\n : typeof b.valueOf !== \"function\" && typeof b.toString !== \"function\" || isNaN(b) ? object\n : number)(a, b);\n}\n","export default function(a, b) {\n return a = +a, b = +b, function(t) {\n return Math.round(a * (1 - t) + b * t);\n };\n}\n","import {cubehelix as colorCubehelix} from \"d3-color\";\nimport color, {hue} from \"./color.js\";\n\nfunction cubehelix(hue) {\n return (function cubehelixGamma(y) {\n y = +y;\n\n function cubehelix(start, end) {\n var h = hue((start = colorCubehelix(start)).h, (end = colorCubehelix(end)).h),\n s = color(start.s, end.s),\n l = color(start.l, end.l),\n opacity = color(start.opacity, end.opacity);\n return function(t) {\n start.h = h(t);\n start.s = s(t);\n start.l = l(Math.pow(t, y));\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n\n cubehelix.gamma = cubehelixGamma;\n\n return cubehelix;\n })(1);\n}\n\nexport default cubehelix(hue);\nexport var cubehelixLong = cubehelix(color);\n","var baseGetTag = require('./_baseGetTag'),\n isArray = require('./isArray'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar stringTag = '[object String]';\n\n/**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\nfunction isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n}\n\nmodule.exports = isString;\n","export default function(a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n","import ascending from \"./ascending.js\";\n\nexport default function(f) {\n let delta = f;\n let compare = f;\n\n if (f.length === 1) {\n delta = (d, x) => f(d) - x;\n compare = ascendingComparator(f);\n }\n\n function left(a, x, lo, hi) {\n if (lo == null) lo = 0;\n if (hi == null) hi = a.length;\n while (lo < hi) {\n const mid = (lo + hi) >>> 1;\n if (compare(a[mid], x) < 0) lo = mid + 1;\n else hi = mid;\n }\n return lo;\n }\n\n function right(a, x, lo, hi) {\n if (lo == null) lo = 0;\n if (hi == null) hi = a.length;\n while (lo < hi) {\n const mid = (lo + hi) >>> 1;\n if (compare(a[mid], x) > 0) hi = mid;\n else lo = mid + 1;\n }\n return lo;\n }\n\n function center(a, x, lo, hi) {\n if (lo == null) lo = 0;\n if (hi == null) hi = a.length;\n const i = left(a, x, lo, hi - 1);\n return i > lo && delta(a[i - 1], x) > -delta(a[i], x) ? i - 1 : i;\n }\n\n return {left, center, right};\n}\n\nfunction ascendingComparator(f) {\n return (d, x) => ascending(f(d), x);\n}\n","export default function(x) {\n return x === null ? NaN : +x;\n}\n\nexport function* numbers(values, valueof) {\n if (valueof === undefined) {\n for (let value of values) {\n if (value != null && (value = +value) >= value) {\n yield value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null && (value = +value) >= value) {\n yield value;\n }\n }\n }\n}\n","import ascending from \"./ascending.js\";\nimport bisector from \"./bisector.js\";\nimport number from \"./number.js\";\n\nconst ascendingBisect = bisector(ascending);\nexport const bisectRight = ascendingBisect.right;\nexport const bisectLeft = ascendingBisect.left;\nexport const bisectCenter = bisector(number).center;\nexport default bisectRight;\n","var e10 = Math.sqrt(50),\n e5 = Math.sqrt(10),\n e2 = Math.sqrt(2);\n\nexport default function(start, stop, count) {\n var reverse,\n i = -1,\n n,\n ticks,\n step;\n\n stop = +stop, start = +start, count = +count;\n if (start === stop && count > 0) return [start];\n if (reverse = stop < start) n = start, start = stop, stop = n;\n if ((step = tickIncrement(start, stop, count)) === 0 || !isFinite(step)) return [];\n\n if (step > 0) {\n let r0 = Math.round(start / step), r1 = Math.round(stop / step);\n if (r0 * step < start) ++r0;\n if (r1 * step > stop) --r1;\n ticks = new Array(n = r1 - r0 + 1);\n while (++i < n) ticks[i] = (r0 + i) * step;\n } else {\n step = -step;\n let r0 = Math.round(start * step), r1 = Math.round(stop * step);\n if (r0 / step < start) ++r0;\n if (r1 / step > stop) --r1;\n ticks = new Array(n = r1 - r0 + 1);\n while (++i < n) ticks[i] = (r0 + i) / step;\n }\n\n if (reverse) ticks.reverse();\n\n return ticks;\n}\n\nexport function tickIncrement(start, stop, count) {\n var step = (stop - start) / Math.max(0, count),\n power = Math.floor(Math.log(step) / Math.LN10),\n error = step / Math.pow(10, power);\n return power >= 0\n ? (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1) * Math.pow(10, power)\n : -Math.pow(10, -power) / (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1);\n}\n\nexport function tickStep(start, stop, count) {\n var step0 = Math.abs(stop - start) / Math.max(0, count),\n step1 = Math.pow(10, Math.floor(Math.log(step0) / Math.LN10)),\n error = step0 / step1;\n if (error >= e10) step1 *= 10;\n else if (error >= e5) step1 *= 5;\n else if (error >= e2) step1 *= 2;\n return stop < start ? -step1 : step1;\n}\n","export default function(start, stop, step) {\n start = +start, stop = +stop, step = (n = arguments.length) < 2 ? (stop = start, start = 0, 1) : n < 3 ? 1 : +step;\n\n var i = -1,\n n = Math.max(0, Math.ceil((stop - start) / step)) | 0,\n range = new Array(n);\n\n while (++i < n) {\n range[i] = start + i * step;\n }\n\n return range;\n}\n","export function initRange(domain, range) {\n switch (arguments.length) {\n case 0: break;\n case 1: this.range(domain); break;\n default: this.range(range).domain(domain); break;\n }\n return this;\n}\n\nexport function initInterpolator(domain, interpolator) {\n switch (arguments.length) {\n case 0: break;\n case 1: {\n if (typeof domain === \"function\") this.interpolator(domain);\n else this.range(domain);\n break;\n }\n default: {\n this.domain(domain);\n if (typeof interpolator === \"function\") this.interpolator(interpolator);\n else this.range(interpolator);\n break;\n }\n }\n return this;\n}\n","import {initRange} from \"./init.js\";\n\nexport const implicit = Symbol(\"implicit\");\n\nexport default function ordinal() {\n var index = new Map(),\n domain = [],\n range = [],\n unknown = implicit;\n\n function scale(d) {\n var key = d + \"\", i = index.get(key);\n if (!i) {\n if (unknown !== implicit) return unknown;\n index.set(key, i = domain.push(d));\n }\n return range[(i - 1) % range.length];\n }\n\n scale.domain = function(_) {\n if (!arguments.length) return domain.slice();\n domain = [], index = new Map();\n for (const value of _) {\n const key = value + \"\";\n if (index.has(key)) continue;\n index.set(key, domain.push(value));\n }\n return scale;\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), scale) : range.slice();\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n scale.copy = function() {\n return ordinal(domain, range).unknown(unknown);\n };\n\n initRange.apply(scale, arguments);\n\n return scale;\n}\n","import {range as sequence} from \"d3-array\";\nimport {initRange} from \"./init.js\";\nimport ordinal from \"./ordinal.js\";\n\nexport default function band() {\n var scale = ordinal().unknown(undefined),\n domain = scale.domain,\n ordinalRange = scale.range,\n r0 = 0,\n r1 = 1,\n step,\n bandwidth,\n round = false,\n paddingInner = 0,\n paddingOuter = 0,\n align = 0.5;\n\n delete scale.unknown;\n\n function rescale() {\n var n = domain().length,\n reverse = r1 < r0,\n start = reverse ? r1 : r0,\n stop = reverse ? r0 : r1;\n step = (stop - start) / Math.max(1, n - paddingInner + paddingOuter * 2);\n if (round) step = Math.floor(step);\n start += (stop - start - step * (n - paddingInner)) * align;\n bandwidth = step * (1 - paddingInner);\n if (round) start = Math.round(start), bandwidth = Math.round(bandwidth);\n var values = sequence(n).map(function(i) { return start + step * i; });\n return ordinalRange(reverse ? values.reverse() : values);\n }\n\n scale.domain = function(_) {\n return arguments.length ? (domain(_), rescale()) : domain();\n };\n\n scale.range = function(_) {\n return arguments.length ? ([r0, r1] = _, r0 = +r0, r1 = +r1, rescale()) : [r0, r1];\n };\n\n scale.rangeRound = function(_) {\n return [r0, r1] = _, r0 = +r0, r1 = +r1, round = true, rescale();\n };\n\n scale.bandwidth = function() {\n return bandwidth;\n };\n\n scale.step = function() {\n return step;\n };\n\n scale.round = function(_) {\n return arguments.length ? (round = !!_, rescale()) : round;\n };\n\n scale.padding = function(_) {\n return arguments.length ? (paddingInner = Math.min(1, paddingOuter = +_), rescale()) : paddingInner;\n };\n\n scale.paddingInner = function(_) {\n return arguments.length ? (paddingInner = Math.min(1, _), rescale()) : paddingInner;\n };\n\n scale.paddingOuter = function(_) {\n return arguments.length ? (paddingOuter = +_, rescale()) : paddingOuter;\n };\n\n scale.align = function(_) {\n return arguments.length ? (align = Math.max(0, Math.min(1, _)), rescale()) : align;\n };\n\n scale.copy = function() {\n return band(domain(), [r0, r1])\n .round(round)\n .paddingInner(paddingInner)\n .paddingOuter(paddingOuter)\n .align(align);\n };\n\n return initRange.apply(rescale(), arguments);\n}\n\nfunction pointish(scale) {\n var copy = scale.copy;\n\n scale.padding = scale.paddingOuter;\n delete scale.paddingInner;\n delete scale.paddingOuter;\n\n scale.copy = function() {\n return pointish(copy());\n };\n\n return scale;\n}\n\nexport function point() {\n return pointish(band.apply(null, arguments).paddingInner(1));\n}\n","export default function constants(x) {\n return function() {\n return x;\n };\n}\n","export default function number(x) {\n return +x;\n}\n","import {bisect} from \"d3-array\";\nimport {interpolate as interpolateValue, interpolateNumber, interpolateRound} from \"d3-interpolate\";\nimport constant from \"./constant.js\";\nimport number from \"./number.js\";\n\nvar unit = [0, 1];\n\nexport function identity(x) {\n return x;\n}\n\nfunction normalize(a, b) {\n return (b -= (a = +a))\n ? function(x) { return (x - a) / b; }\n : constant(isNaN(b) ? NaN : 0.5);\n}\n\nfunction clamper(a, b) {\n var t;\n if (a > b) t = a, a = b, b = t;\n return function(x) { return Math.max(a, Math.min(b, x)); };\n}\n\n// normalize(a, b)(x) takes a domain value x in [a,b] and returns the corresponding parameter t in [0,1].\n// interpolate(a, b)(t) takes a parameter t in [0,1] and returns the corresponding range value x in [a,b].\nfunction bimap(domain, range, interpolate) {\n var d0 = domain[0], d1 = domain[1], r0 = range[0], r1 = range[1];\n if (d1 < d0) d0 = normalize(d1, d0), r0 = interpolate(r1, r0);\n else d0 = normalize(d0, d1), r0 = interpolate(r0, r1);\n return function(x) { return r0(d0(x)); };\n}\n\nfunction polymap(domain, range, interpolate) {\n var j = Math.min(domain.length, range.length) - 1,\n d = new Array(j),\n r = new Array(j),\n i = -1;\n\n // Reverse descending domains.\n if (domain[j] < domain[0]) {\n domain = domain.slice().reverse();\n range = range.slice().reverse();\n }\n\n while (++i < j) {\n d[i] = normalize(domain[i], domain[i + 1]);\n r[i] = interpolate(range[i], range[i + 1]);\n }\n\n return function(x) {\n var i = bisect(domain, x, 1, j) - 1;\n return r[i](d[i](x));\n };\n}\n\nexport function copy(source, target) {\n return target\n .domain(source.domain())\n .range(source.range())\n .interpolate(source.interpolate())\n .clamp(source.clamp())\n .unknown(source.unknown());\n}\n\nexport function transformer() {\n var domain = unit,\n range = unit,\n interpolate = interpolateValue,\n transform,\n untransform,\n unknown,\n clamp = identity,\n piecewise,\n output,\n input;\n\n function rescale() {\n var n = Math.min(domain.length, range.length);\n if (clamp !== identity) clamp = clamper(domain[0], domain[n - 1]);\n piecewise = n > 2 ? polymap : bimap;\n output = input = null;\n return scale;\n }\n\n function scale(x) {\n return x == null || isNaN(x = +x) ? unknown : (output || (output = piecewise(domain.map(transform), range, interpolate)))(transform(clamp(x)));\n }\n\n scale.invert = function(y) {\n return clamp(untransform((input || (input = piecewise(range, domain.map(transform), interpolateNumber)))(y)));\n };\n\n scale.domain = function(_) {\n return arguments.length ? (domain = Array.from(_, number), rescale()) : domain.slice();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), rescale()) : range.slice();\n };\n\n scale.rangeRound = function(_) {\n return range = Array.from(_), interpolate = interpolateRound, rescale();\n };\n\n scale.clamp = function(_) {\n return arguments.length ? (clamp = _ ? true : identity, rescale()) : clamp !== identity;\n };\n\n scale.interpolate = function(_) {\n return arguments.length ? (interpolate = _, rescale()) : interpolate;\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n return function(t, u) {\n transform = t, untransform = u;\n return rescale();\n };\n}\n\nexport default function continuous() {\n return transformer()(identity, identity);\n}\n","export default function(x) {\n return Math.abs(x = Math.round(x)) >= 1e21\n ? x.toLocaleString(\"en\").replace(/,/g, \"\")\n : x.toString(10);\n}\n\n// Computes the decimal coefficient and exponent of the specified number x with\n// significant digits p, where x is positive and p is in [1, 21] or undefined.\n// For example, formatDecimalParts(1.23) returns [\"123\", 0].\nexport function formatDecimalParts(x, p) {\n if ((i = (x = p ? x.toExponential(p - 1) : x.toExponential()).indexOf(\"e\")) < 0) return null; // NaN, ±Infinity\n var i, coefficient = x.slice(0, i);\n\n // The string returned by toExponential either has the form \\d\\.\\d+e[-+]\\d+\n // (e.g., 1.2e+3) or the form \\de[-+]\\d+ (e.g., 1e+3).\n return [\n coefficient.length > 1 ? coefficient[0] + coefficient.slice(2) : coefficient,\n +x.slice(i + 1)\n ];\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport default function(x) {\n return x = formatDecimalParts(Math.abs(x)), x ? x[1] : NaN;\n}\n","export default function(grouping, thousands) {\n return function(value, width) {\n var i = value.length,\n t = [],\n j = 0,\n g = grouping[0],\n length = 0;\n\n while (i > 0 && g > 0) {\n if (length + g + 1 > width) g = Math.max(1, width - length);\n t.push(value.substring(i -= g, i + g));\n if ((length += g + 1) > width) break;\n g = grouping[j = (j + 1) % grouping.length];\n }\n\n return t.reverse().join(thousands);\n };\n}\n","export default function(numerals) {\n return function(value) {\n return value.replace(/[0-9]/g, function(i) {\n return numerals[+i];\n });\n };\n}\n","// [[fill]align][sign][symbol][0][width][,][.precision][~][type]\nvar re = /^(?:(.)?([<>=^]))?([+\\-( ])?([$#])?(0)?(\\d+)?(,)?(\\.\\d+)?(~)?([a-z%])?$/i;\n\nexport default function formatSpecifier(specifier) {\n if (!(match = re.exec(specifier))) throw new Error(\"invalid format: \" + specifier);\n var match;\n return new FormatSpecifier({\n fill: match[1],\n align: match[2],\n sign: match[3],\n symbol: match[4],\n zero: match[5],\n width: match[6],\n comma: match[7],\n precision: match[8] && match[8].slice(1),\n trim: match[9],\n type: match[10]\n });\n}\n\nformatSpecifier.prototype = FormatSpecifier.prototype; // instanceof\n\nexport function FormatSpecifier(specifier) {\n this.fill = specifier.fill === undefined ? \" \" : specifier.fill + \"\";\n this.align = specifier.align === undefined ? \">\" : specifier.align + \"\";\n this.sign = specifier.sign === undefined ? \"-\" : specifier.sign + \"\";\n this.symbol = specifier.symbol === undefined ? \"\" : specifier.symbol + \"\";\n this.zero = !!specifier.zero;\n this.width = specifier.width === undefined ? undefined : +specifier.width;\n this.comma = !!specifier.comma;\n this.precision = specifier.precision === undefined ? undefined : +specifier.precision;\n this.trim = !!specifier.trim;\n this.type = specifier.type === undefined ? \"\" : specifier.type + \"\";\n}\n\nFormatSpecifier.prototype.toString = function() {\n return this.fill\n + this.align\n + this.sign\n + this.symbol\n + (this.zero ? \"0\" : \"\")\n + (this.width === undefined ? \"\" : Math.max(1, this.width | 0))\n + (this.comma ? \",\" : \"\")\n + (this.precision === undefined ? \"\" : \".\" + Math.max(0, this.precision | 0))\n + (this.trim ? \"~\" : \"\")\n + this.type;\n};\n","// Trims insignificant zeros, e.g., replaces 1.2000k with 1.2k.\nexport default function(s) {\n out: for (var n = s.length, i = 1, i0 = -1, i1; i < n; ++i) {\n switch (s[i]) {\n case \".\": i0 = i1 = i; break;\n case \"0\": if (i0 === 0) i0 = i; i1 = i; break;\n default: if (!+s[i]) break out; if (i0 > 0) i0 = 0; break;\n }\n }\n return i0 > 0 ? s.slice(0, i0) + s.slice(i1 + 1) : s;\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport var prefixExponent;\n\nexport default function(x, p) {\n var d = formatDecimalParts(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1],\n i = exponent - (prefixExponent = Math.max(-8, Math.min(8, Math.floor(exponent / 3))) * 3) + 1,\n n = coefficient.length;\n return i === n ? coefficient\n : i > n ? coefficient + new Array(i - n + 1).join(\"0\")\n : i > 0 ? coefficient.slice(0, i) + \".\" + coefficient.slice(i)\n : \"0.\" + new Array(1 - i).join(\"0\") + formatDecimalParts(x, Math.max(0, p + i - 1))[0]; // less than 1y!\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport default function(x, p) {\n var d = formatDecimalParts(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1];\n return exponent < 0 ? \"0.\" + new Array(-exponent).join(\"0\") + coefficient\n : coefficient.length > exponent + 1 ? coefficient.slice(0, exponent + 1) + \".\" + coefficient.slice(exponent + 1)\n : coefficient + new Array(exponent - coefficient.length + 2).join(\"0\");\n}\n","import formatDecimal from \"./formatDecimal.js\";\nimport formatPrefixAuto from \"./formatPrefixAuto.js\";\nimport formatRounded from \"./formatRounded.js\";\n\nexport default {\n \"%\": (x, p) => (x * 100).toFixed(p),\n \"b\": (x) => Math.round(x).toString(2),\n \"c\": (x) => x + \"\",\n \"d\": formatDecimal,\n \"e\": (x, p) => x.toExponential(p),\n \"f\": (x, p) => x.toFixed(p),\n \"g\": (x, p) => x.toPrecision(p),\n \"o\": (x) => Math.round(x).toString(8),\n \"p\": (x, p) => formatRounded(x * 100, p),\n \"r\": formatRounded,\n \"s\": formatPrefixAuto,\n \"X\": (x) => Math.round(x).toString(16).toUpperCase(),\n \"x\": (x) => Math.round(x).toString(16)\n};\n","export default function(x) {\n return x;\n}\n","import exponent from \"./exponent.js\";\nimport formatGroup from \"./formatGroup.js\";\nimport formatNumerals from \"./formatNumerals.js\";\nimport formatSpecifier from \"./formatSpecifier.js\";\nimport formatTrim from \"./formatTrim.js\";\nimport formatTypes from \"./formatTypes.js\";\nimport {prefixExponent} from \"./formatPrefixAuto.js\";\nimport identity from \"./identity.js\";\n\nvar map = Array.prototype.map,\n prefixes = [\"y\",\"z\",\"a\",\"f\",\"p\",\"n\",\"µ\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\",\"P\",\"E\",\"Z\",\"Y\"];\n\nexport default function(locale) {\n var group = locale.grouping === undefined || locale.thousands === undefined ? identity : formatGroup(map.call(locale.grouping, Number), locale.thousands + \"\"),\n currencyPrefix = locale.currency === undefined ? \"\" : locale.currency[0] + \"\",\n currencySuffix = locale.currency === undefined ? \"\" : locale.currency[1] + \"\",\n decimal = locale.decimal === undefined ? \".\" : locale.decimal + \"\",\n numerals = locale.numerals === undefined ? identity : formatNumerals(map.call(locale.numerals, String)),\n percent = locale.percent === undefined ? \"%\" : locale.percent + \"\",\n minus = locale.minus === undefined ? \"−\" : locale.minus + \"\",\n nan = locale.nan === undefined ? \"NaN\" : locale.nan + \"\";\n\n function newFormat(specifier) {\n specifier = formatSpecifier(specifier);\n\n var fill = specifier.fill,\n align = specifier.align,\n sign = specifier.sign,\n symbol = specifier.symbol,\n zero = specifier.zero,\n width = specifier.width,\n comma = specifier.comma,\n precision = specifier.precision,\n trim = specifier.trim,\n type = specifier.type;\n\n // The \"n\" type is an alias for \",g\".\n if (type === \"n\") comma = true, type = \"g\";\n\n // The \"\" type, and any invalid type, is an alias for \".12~g\".\n else if (!formatTypes[type]) precision === undefined && (precision = 12), trim = true, type = \"g\";\n\n // If zero fill is specified, padding goes after sign and before digits.\n if (zero || (fill === \"0\" && align === \"=\")) zero = true, fill = \"0\", align = \"=\";\n\n // Compute the prefix and suffix.\n // For SI-prefix, the suffix is lazily computed.\n var prefix = symbol === \"$\" ? currencyPrefix : symbol === \"#\" && /[boxX]/.test(type) ? \"0\" + type.toLowerCase() : \"\",\n suffix = symbol === \"$\" ? currencySuffix : /[%p]/.test(type) ? percent : \"\";\n\n // What format function should we use?\n // Is this an integer type?\n // Can this type generate exponential notation?\n var formatType = formatTypes[type],\n maybeSuffix = /[defgprs%]/.test(type);\n\n // Set the default precision if not specified,\n // or clamp the specified precision to the supported range.\n // For significant precision, it must be in [1, 21].\n // For fixed precision, it must be in [0, 20].\n precision = precision === undefined ? 6\n : /[gprs]/.test(type) ? Math.max(1, Math.min(21, precision))\n : Math.max(0, Math.min(20, precision));\n\n function format(value) {\n var valuePrefix = prefix,\n valueSuffix = suffix,\n i, n, c;\n\n if (type === \"c\") {\n valueSuffix = formatType(value) + valueSuffix;\n value = \"\";\n } else {\n value = +value;\n\n // Determine the sign. -0 is not less than 0, but 1 / -0 is!\n var valueNegative = value < 0 || 1 / value < 0;\n\n // Perform the initial formatting.\n value = isNaN(value) ? nan : formatType(Math.abs(value), precision);\n\n // Trim insignificant zeros.\n if (trim) value = formatTrim(value);\n\n // If a negative value rounds to zero after formatting, and no explicit positive sign is requested, hide the sign.\n if (valueNegative && +value === 0 && sign !== \"+\") valueNegative = false;\n\n // Compute the prefix and suffix.\n valuePrefix = (valueNegative ? (sign === \"(\" ? sign : minus) : sign === \"-\" || sign === \"(\" ? \"\" : sign) + valuePrefix;\n valueSuffix = (type === \"s\" ? prefixes[8 + prefixExponent / 3] : \"\") + valueSuffix + (valueNegative && sign === \"(\" ? \")\" : \"\");\n\n // Break the formatted value into the integer “value” part that can be\n // grouped, and fractional or exponential “suffix” part that is not.\n if (maybeSuffix) {\n i = -1, n = value.length;\n while (++i < n) {\n if (c = value.charCodeAt(i), 48 > c || c > 57) {\n valueSuffix = (c === 46 ? decimal + value.slice(i + 1) : value.slice(i)) + valueSuffix;\n value = value.slice(0, i);\n break;\n }\n }\n }\n }\n\n // If the fill character is not \"0\", grouping is applied before padding.\n if (comma && !zero) value = group(value, Infinity);\n\n // Compute the padding.\n var length = valuePrefix.length + value.length + valueSuffix.length,\n padding = length < width ? new Array(width - length + 1).join(fill) : \"\";\n\n // If the fill character is \"0\", grouping is applied after padding.\n if (comma && zero) value = group(padding + value, padding.length ? width - valueSuffix.length : Infinity), padding = \"\";\n\n // Reconstruct the final output based on the desired alignment.\n switch (align) {\n case \"<\": value = valuePrefix + value + valueSuffix + padding; break;\n case \"=\": value = valuePrefix + padding + value + valueSuffix; break;\n case \"^\": value = padding.slice(0, length = padding.length >> 1) + valuePrefix + value + valueSuffix + padding.slice(length); break;\n default: value = padding + valuePrefix + value + valueSuffix; break;\n }\n\n return numerals(value);\n }\n\n format.toString = function() {\n return specifier + \"\";\n };\n\n return format;\n }\n\n function formatPrefix(specifier, value) {\n var f = newFormat((specifier = formatSpecifier(specifier), specifier.type = \"f\", specifier)),\n e = Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3,\n k = Math.pow(10, -e),\n prefix = prefixes[8 + e / 3];\n return function(value) {\n return f(k * value) + prefix;\n };\n }\n\n return {\n format: newFormat,\n formatPrefix: formatPrefix\n };\n}\n","import formatLocale from \"./locale.js\";\n\nvar locale;\nexport var format;\nexport var formatPrefix;\n\ndefaultLocale({\n thousands: \",\",\n grouping: [3],\n currency: [\"$\", \"\"]\n});\n\nexport default function defaultLocale(definition) {\n locale = formatLocale(definition);\n format = locale.format;\n formatPrefix = locale.formatPrefix;\n return locale;\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step) {\n return Math.max(0, -exponent(Math.abs(step)));\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step, value) {\n return Math.max(0, Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3 - exponent(Math.abs(step)));\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step, max) {\n step = Math.abs(step), max = Math.abs(max) - step;\n return Math.max(0, exponent(max) - exponent(step)) + 1;\n}\n","import {tickStep} from \"d3-array\";\nimport {format, formatPrefix, formatSpecifier, precisionFixed, precisionPrefix, precisionRound} from \"d3-format\";\n\nexport default function tickFormat(start, stop, count, specifier) {\n var step = tickStep(start, stop, count),\n precision;\n specifier = formatSpecifier(specifier == null ? \",f\" : specifier);\n switch (specifier.type) {\n case \"s\": {\n var value = Math.max(Math.abs(start), Math.abs(stop));\n if (specifier.precision == null && !isNaN(precision = precisionPrefix(step, value))) specifier.precision = precision;\n return formatPrefix(specifier, value);\n }\n case \"\":\n case \"e\":\n case \"g\":\n case \"p\":\n case \"r\": {\n if (specifier.precision == null && !isNaN(precision = precisionRound(step, Math.max(Math.abs(start), Math.abs(stop))))) specifier.precision = precision - (specifier.type === \"e\");\n break;\n }\n case \"f\":\n case \"%\": {\n if (specifier.precision == null && !isNaN(precision = precisionFixed(step))) specifier.precision = precision - (specifier.type === \"%\") * 2;\n break;\n }\n }\n return format(specifier);\n}\n","import {ticks, tickIncrement} from \"d3-array\";\nimport continuous, {copy} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\nimport tickFormat from \"./tickFormat.js\";\n\nexport function linearish(scale) {\n var domain = scale.domain;\n\n scale.ticks = function(count) {\n var d = domain();\n return ticks(d[0], d[d.length - 1], count == null ? 10 : count);\n };\n\n scale.tickFormat = function(count, specifier) {\n var d = domain();\n return tickFormat(d[0], d[d.length - 1], count == null ? 10 : count, specifier);\n };\n\n scale.nice = function(count) {\n if (count == null) count = 10;\n\n var d = domain();\n var i0 = 0;\n var i1 = d.length - 1;\n var start = d[i0];\n var stop = d[i1];\n var prestep;\n var step;\n var maxIter = 10;\n\n if (stop < start) {\n step = start, start = stop, stop = step;\n step = i0, i0 = i1, i1 = step;\n }\n \n while (maxIter-- > 0) {\n step = tickIncrement(start, stop, count);\n if (step === prestep) {\n d[i0] = start\n d[i1] = stop\n return domain(d);\n } else if (step > 0) {\n start = Math.floor(start / step) * step;\n stop = Math.ceil(stop / step) * step;\n } else if (step < 0) {\n start = Math.ceil(start * step) / step;\n stop = Math.floor(stop * step) / step;\n } else {\n break;\n }\n prestep = step;\n }\n\n return scale;\n };\n\n return scale;\n}\n\nexport default function linear() {\n var scale = continuous();\n\n scale.copy = function() {\n return copy(scale, linear());\n };\n\n initRange.apply(scale, arguments);\n\n return linearish(scale);\n}\n","export default function nice(domain, interval) {\n domain = domain.slice();\n\n var i0 = 0,\n i1 = domain.length - 1,\n x0 = domain[i0],\n x1 = domain[i1],\n t;\n\n if (x1 < x0) {\n t = i0, i0 = i1, i1 = t;\n t = x0, x0 = x1, x1 = t;\n }\n\n domain[i0] = interval.floor(x0);\n domain[i1] = interval.ceil(x1);\n return domain;\n}\n","import {ticks} from \"d3-array\";\nimport {format} from \"d3-format\";\nimport nice from \"./nice.js\";\nimport {copy, transformer} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\n\nfunction transformLog(x) {\n return Math.log(x);\n}\n\nfunction transformExp(x) {\n return Math.exp(x);\n}\n\nfunction transformLogn(x) {\n return -Math.log(-x);\n}\n\nfunction transformExpn(x) {\n return -Math.exp(-x);\n}\n\nfunction pow10(x) {\n return isFinite(x) ? +(\"1e\" + x) : x < 0 ? 0 : x;\n}\n\nfunction powp(base) {\n return base === 10 ? pow10\n : base === Math.E ? Math.exp\n : function(x) { return Math.pow(base, x); };\n}\n\nfunction logp(base) {\n return base === Math.E ? Math.log\n : base === 10 && Math.log10\n || base === 2 && Math.log2\n || (base = Math.log(base), function(x) { return Math.log(x) / base; });\n}\n\nfunction reflect(f) {\n return function(x) {\n return -f(-x);\n };\n}\n\nexport function loggish(transform) {\n var scale = transform(transformLog, transformExp),\n domain = scale.domain,\n base = 10,\n logs,\n pows;\n\n function rescale() {\n logs = logp(base), pows = powp(base);\n if (domain()[0] < 0) {\n logs = reflect(logs), pows = reflect(pows);\n transform(transformLogn, transformExpn);\n } else {\n transform(transformLog, transformExp);\n }\n return scale;\n }\n\n scale.base = function(_) {\n return arguments.length ? (base = +_, rescale()) : base;\n };\n\n scale.domain = function(_) {\n return arguments.length ? (domain(_), rescale()) : domain();\n };\n\n scale.ticks = function(count) {\n var d = domain(),\n u = d[0],\n v = d[d.length - 1],\n r;\n\n if (r = v < u) i = u, u = v, v = i;\n\n var i = logs(u),\n j = logs(v),\n p,\n k,\n t,\n n = count == null ? 10 : +count,\n z = [];\n\n if (!(base % 1) && j - i < n) {\n i = Math.floor(i), j = Math.ceil(j);\n if (u > 0) for (; i <= j; ++i) {\n for (k = 1, p = pows(i); k < base; ++k) {\n t = p * k;\n if (t < u) continue;\n if (t > v) break;\n z.push(t);\n }\n } else for (; i <= j; ++i) {\n for (k = base - 1, p = pows(i); k >= 1; --k) {\n t = p * k;\n if (t < u) continue;\n if (t > v) break;\n z.push(t);\n }\n }\n if (z.length * 2 < n) z = ticks(u, v, n);\n } else {\n z = ticks(i, j, Math.min(j - i, n)).map(pows);\n }\n\n return r ? z.reverse() : z;\n };\n\n scale.tickFormat = function(count, specifier) {\n if (specifier == null) specifier = base === 10 ? \".0e\" : \",\";\n if (typeof specifier !== \"function\") specifier = format(specifier);\n if (count === Infinity) return specifier;\n if (count == null) count = 10;\n var k = Math.max(1, base * count / scale.ticks().length); // TODO fast estimate?\n return function(d) {\n var i = d / pows(Math.round(logs(d)));\n if (i * base < base - 0.5) i *= base;\n return i <= k ? specifier(d) : \"\";\n };\n };\n\n scale.nice = function() {\n return domain(nice(domain(), {\n floor: function(x) { return pows(Math.floor(logs(x))); },\n ceil: function(x) { return pows(Math.ceil(logs(x))); }\n }));\n };\n\n return scale;\n}\n\nexport default function log() {\n var scale = loggish(transformer()).domain([1, 10]);\n\n scale.copy = function() {\n return copy(scale, log()).base(scale.base());\n };\n\n initRange.apply(scale, arguments);\n\n return scale;\n}\n","import {linearish} from \"./linear.js\";\nimport {copy, transformer} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\n\nfunction transformSymlog(c) {\n return function(x) {\n return Math.sign(x) * Math.log1p(Math.abs(x / c));\n };\n}\n\nfunction transformSymexp(c) {\n return function(x) {\n return Math.sign(x) * Math.expm1(Math.abs(x)) * c;\n };\n}\n\nexport function symlogish(transform) {\n var c = 1, scale = transform(transformSymlog(c), transformSymexp(c));\n\n scale.constant = function(_) {\n return arguments.length ? transform(transformSymlog(c = +_), transformSymexp(c)) : c;\n };\n\n return linearish(scale);\n}\n\nexport default function symlog() {\n var scale = symlogish(transformer());\n\n scale.copy = function() {\n return copy(scale, symlog()).constant(scale.constant());\n };\n\n return initRange.apply(scale, arguments);\n}\n","var t0 = new Date,\n t1 = new Date;\n\nexport default function newInterval(floori, offseti, count, field) {\n\n function interval(date) {\n return floori(date = arguments.length === 0 ? new Date : new Date(+date)), date;\n }\n\n interval.floor = function(date) {\n return floori(date = new Date(+date)), date;\n };\n\n interval.ceil = function(date) {\n return floori(date = new Date(date - 1)), offseti(date, 1), floori(date), date;\n };\n\n interval.round = function(date) {\n var d0 = interval(date),\n d1 = interval.ceil(date);\n return date - d0 < d1 - date ? d0 : d1;\n };\n\n interval.offset = function(date, step) {\n return offseti(date = new Date(+date), step == null ? 1 : Math.floor(step)), date;\n };\n\n interval.range = function(start, stop, step) {\n var range = [], previous;\n start = interval.ceil(start);\n step = step == null ? 1 : Math.floor(step);\n if (!(start < stop) || !(step > 0)) return range; // also handles Invalid Date\n do range.push(previous = new Date(+start)), offseti(start, step), floori(start);\n while (previous < start && start < stop);\n return range;\n };\n\n interval.filter = function(test) {\n return newInterval(function(date) {\n if (date >= date) while (floori(date), !test(date)) date.setTime(date - 1);\n }, function(date, step) {\n if (date >= date) {\n if (step < 0) while (++step <= 0) {\n while (offseti(date, -1), !test(date)) {} // eslint-disable-line no-empty\n } else while (--step >= 0) {\n while (offseti(date, +1), !test(date)) {} // eslint-disable-line no-empty\n }\n }\n });\n };\n\n if (count) {\n interval.count = function(start, end) {\n t0.setTime(+start), t1.setTime(+end);\n floori(t0), floori(t1);\n return Math.floor(count(t0, t1));\n };\n\n interval.every = function(step) {\n step = Math.floor(step);\n return !isFinite(step) || !(step > 0) ? null\n : !(step > 1) ? interval\n : interval.filter(field\n ? function(d) { return field(d) % step === 0; }\n : function(d) { return interval.count(0, d) % step === 0; });\n };\n }\n\n return interval;\n}\n","import interval from \"./interval.js\";\n\nvar millisecond = interval(function() {\n // noop\n}, function(date, step) {\n date.setTime(+date + step);\n}, function(start, end) {\n return end - start;\n});\n\n// An optimized implementation for this simple case.\nmillisecond.every = function(k) {\n k = Math.floor(k);\n if (!isFinite(k) || !(k > 0)) return null;\n if (!(k > 1)) return millisecond;\n return interval(function(date) {\n date.setTime(Math.floor(date / k) * k);\n }, function(date, step) {\n date.setTime(+date + step * k);\n }, function(start, end) {\n return (end - start) / k;\n });\n};\n\nexport default millisecond;\nexport var milliseconds = millisecond.range;\n","export const durationSecond = 1000;\nexport const durationMinute = durationSecond * 60;\nexport const durationHour = durationMinute * 60;\nexport const durationDay = durationHour * 24;\nexport const durationWeek = durationDay * 7;\nexport const durationMonth = durationDay * 30;\nexport const durationYear = durationDay * 365;\n","import interval from \"./interval.js\";\nimport {durationSecond} from \"./duration.js\";\n\nvar second = interval(function(date) {\n date.setTime(date - date.getMilliseconds());\n}, function(date, step) {\n date.setTime(+date + step * durationSecond);\n}, function(start, end) {\n return (end - start) / durationSecond;\n}, function(date) {\n return date.getUTCSeconds();\n});\n\nexport default second;\nexport var seconds = second.range;\n","import interval from \"./interval.js\";\nimport {durationMinute, durationSecond} from \"./duration.js\";\n\nvar minute = interval(function(date) {\n date.setTime(date - date.getMilliseconds() - date.getSeconds() * durationSecond);\n}, function(date, step) {\n date.setTime(+date + step * durationMinute);\n}, function(start, end) {\n return (end - start) / durationMinute;\n}, function(date) {\n return date.getMinutes();\n});\n\nexport default minute;\nexport var minutes = minute.range;\n","import interval from \"./interval.js\";\nimport {durationHour, durationMinute, durationSecond} from \"./duration.js\";\n\nvar hour = interval(function(date) {\n date.setTime(date - date.getMilliseconds() - date.getSeconds() * durationSecond - date.getMinutes() * durationMinute);\n}, function(date, step) {\n date.setTime(+date + step * durationHour);\n}, function(start, end) {\n return (end - start) / durationHour;\n}, function(date) {\n return date.getHours();\n});\n\nexport default hour;\nexport var hours = hour.range;\n","import interval from \"./interval.js\";\nimport {durationDay, durationMinute} from \"./duration.js\";\n\nvar day = interval(\n date => date.setHours(0, 0, 0, 0),\n (date, step) => date.setDate(date.getDate() + step),\n (start, end) => (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationDay,\n date => date.getDate() - 1\n);\n\nexport default day;\nexport var days = day.range;\n","import interval from \"./interval.js\";\nimport {durationMinute, durationWeek} from \"./duration.js\";\n\nfunction weekday(i) {\n return interval(function(date) {\n date.setDate(date.getDate() - (date.getDay() + 7 - i) % 7);\n date.setHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setDate(date.getDate() + step * 7);\n }, function(start, end) {\n return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationWeek;\n });\n}\n\nexport var sunday = weekday(0);\nexport var monday = weekday(1);\nexport var tuesday = weekday(2);\nexport var wednesday = weekday(3);\nexport var thursday = weekday(4);\nexport var friday = weekday(5);\nexport var saturday = weekday(6);\n\nexport var sundays = sunday.range;\nexport var mondays = monday.range;\nexport var tuesdays = tuesday.range;\nexport var wednesdays = wednesday.range;\nexport var thursdays = thursday.range;\nexport var fridays = friday.range;\nexport var saturdays = saturday.range;\n","import interval from \"./interval.js\";\n\nvar month = interval(function(date) {\n date.setDate(1);\n date.setHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setMonth(date.getMonth() + step);\n}, function(start, end) {\n return end.getMonth() - start.getMonth() + (end.getFullYear() - start.getFullYear()) * 12;\n}, function(date) {\n return date.getMonth();\n});\n\nexport default month;\nexport var months = month.range;\n","import interval from \"./interval.js\";\n\nvar year = interval(function(date) {\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setFullYear(date.getFullYear() + step);\n}, function(start, end) {\n return end.getFullYear() - start.getFullYear();\n}, function(date) {\n return date.getFullYear();\n});\n\n// An optimized implementation for this simple case.\nyear.every = function(k) {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : interval(function(date) {\n date.setFullYear(Math.floor(date.getFullYear() / k) * k);\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setFullYear(date.getFullYear() + step * k);\n });\n};\n\nexport default year;\nexport var years = year.range;\n","import interval from \"./interval.js\";\nimport {durationMinute} from \"./duration.js\";\n\nvar utcMinute = interval(function(date) {\n date.setUTCSeconds(0, 0);\n}, function(date, step) {\n date.setTime(+date + step * durationMinute);\n}, function(start, end) {\n return (end - start) / durationMinute;\n}, function(date) {\n return date.getUTCMinutes();\n});\n\nexport default utcMinute;\nexport var utcMinutes = utcMinute.range;\n","import interval from \"./interval.js\";\nimport {durationHour} from \"./duration.js\";\n\nvar utcHour = interval(function(date) {\n date.setUTCMinutes(0, 0, 0);\n}, function(date, step) {\n date.setTime(+date + step * durationHour);\n}, function(start, end) {\n return (end - start) / durationHour;\n}, function(date) {\n return date.getUTCHours();\n});\n\nexport default utcHour;\nexport var utcHours = utcHour.range;\n","import interval from \"./interval.js\";\nimport {durationDay} from \"./duration.js\";\n\nvar utcDay = interval(function(date) {\n date.setUTCHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setUTCDate(date.getUTCDate() + step);\n}, function(start, end) {\n return (end - start) / durationDay;\n}, function(date) {\n return date.getUTCDate() - 1;\n});\n\nexport default utcDay;\nexport var utcDays = utcDay.range;\n","import interval from \"./interval.js\";\nimport {durationWeek} from \"./duration.js\";\n\nfunction utcWeekday(i) {\n return interval(function(date) {\n date.setUTCDate(date.getUTCDate() - (date.getUTCDay() + 7 - i) % 7);\n date.setUTCHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setUTCDate(date.getUTCDate() + step * 7);\n }, function(start, end) {\n return (end - start) / durationWeek;\n });\n}\n\nexport var utcSunday = utcWeekday(0);\nexport var utcMonday = utcWeekday(1);\nexport var utcTuesday = utcWeekday(2);\nexport var utcWednesday = utcWeekday(3);\nexport var utcThursday = utcWeekday(4);\nexport var utcFriday = utcWeekday(5);\nexport var utcSaturday = utcWeekday(6);\n\nexport var utcSundays = utcSunday.range;\nexport var utcMondays = utcMonday.range;\nexport var utcTuesdays = utcTuesday.range;\nexport var utcWednesdays = utcWednesday.range;\nexport var utcThursdays = utcThursday.range;\nexport var utcFridays = utcFriday.range;\nexport var utcSaturdays = utcSaturday.range;\n","import interval from \"./interval.js\";\n\nvar utcMonth = interval(function(date) {\n date.setUTCDate(1);\n date.setUTCHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setUTCMonth(date.getUTCMonth() + step);\n}, function(start, end) {\n return end.getUTCMonth() - start.getUTCMonth() + (end.getUTCFullYear() - start.getUTCFullYear()) * 12;\n}, function(date) {\n return date.getUTCMonth();\n});\n\nexport default utcMonth;\nexport var utcMonths = utcMonth.range;\n","import interval from \"./interval.js\";\n\nvar utcYear = interval(function(date) {\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setUTCFullYear(date.getUTCFullYear() + step);\n}, function(start, end) {\n return end.getUTCFullYear() - start.getUTCFullYear();\n}, function(date) {\n return date.getUTCFullYear();\n});\n\n// An optimized implementation for this simple case.\nutcYear.every = function(k) {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : interval(function(date) {\n date.setUTCFullYear(Math.floor(date.getUTCFullYear() / k) * k);\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setUTCFullYear(date.getUTCFullYear() + step * k);\n });\n};\n\nexport default utcYear;\nexport var utcYears = utcYear.range;\n","import {bisector, tickStep} from \"d3-array\";\nimport {durationDay, durationHour, durationMinute, durationMonth, durationSecond, durationWeek, durationYear} from \"./duration.js\";\nimport millisecond from \"./millisecond.js\";\nimport second from \"./second.js\";\nimport minute from \"./minute.js\";\nimport hour from \"./hour.js\";\nimport day from \"./day.js\";\nimport {sunday as week} from \"./week.js\";\nimport month from \"./month.js\";\nimport year from \"./year.js\";\nimport utcMinute from \"./utcMinute.js\";\nimport utcHour from \"./utcHour.js\";\nimport utcDay from \"./utcDay.js\";\nimport {utcSunday as utcWeek} from \"./utcWeek.js\";\nimport utcMonth from \"./utcMonth.js\";\nimport utcYear from \"./utcYear.js\";\n\nfunction ticker(year, month, week, day, hour, minute) {\n\n const tickIntervals = [\n [second, 1, durationSecond],\n [second, 5, 5 * durationSecond],\n [second, 15, 15 * durationSecond],\n [second, 30, 30 * durationSecond],\n [minute, 1, durationMinute],\n [minute, 5, 5 * durationMinute],\n [minute, 15, 15 * durationMinute],\n [minute, 30, 30 * durationMinute],\n [ hour, 1, durationHour ],\n [ hour, 3, 3 * durationHour ],\n [ hour, 6, 6 * durationHour ],\n [ hour, 12, 12 * durationHour ],\n [ day, 1, durationDay ],\n [ day, 2, 2 * durationDay ],\n [ week, 1, durationWeek ],\n [ month, 1, durationMonth ],\n [ month, 3, 3 * durationMonth ],\n [ year, 1, durationYear ]\n ];\n\n function ticks(start, stop, count) {\n const reverse = stop < start;\n if (reverse) [start, stop] = [stop, start];\n const interval = count && typeof count.range === \"function\" ? count : tickInterval(start, stop, count);\n const ticks = interval ? interval.range(start, +stop + 1) : []; // inclusive stop\n return reverse ? ticks.reverse() : ticks;\n }\n\n function tickInterval(start, stop, count) {\n const target = Math.abs(stop - start) / count;\n const i = bisector(([,, step]) => step).right(tickIntervals, target);\n if (i === tickIntervals.length) return year.every(tickStep(start / durationYear, stop / durationYear, count));\n if (i === 0) return millisecond.every(Math.max(tickStep(start, stop, count), 1));\n const [t, step] = tickIntervals[target / tickIntervals[i - 1][2] < tickIntervals[i][2] / target ? i - 1 : i];\n return t.every(step);\n }\n\n return [ticks, tickInterval];\n}\n\nconst [utcTicks, utcTickInterval] = ticker(utcYear, utcMonth, utcWeek, utcDay, utcHour, utcMinute);\nconst [timeTicks, timeTickInterval] = ticker(year, month, week, day, hour, minute);\n\nexport {utcTicks, utcTickInterval, timeTicks, timeTickInterval};\n","import {\n timeDay,\n timeSunday,\n timeMonday,\n timeThursday,\n timeYear,\n utcDay,\n utcSunday,\n utcMonday,\n utcThursday,\n utcYear\n} from \"d3-time\";\n\nfunction localDate(d) {\n if (0 <= d.y && d.y < 100) {\n var date = new Date(-1, d.m, d.d, d.H, d.M, d.S, d.L);\n date.setFullYear(d.y);\n return date;\n }\n return new Date(d.y, d.m, d.d, d.H, d.M, d.S, d.L);\n}\n\nfunction utcDate(d) {\n if (0 <= d.y && d.y < 100) {\n var date = new Date(Date.UTC(-1, d.m, d.d, d.H, d.M, d.S, d.L));\n date.setUTCFullYear(d.y);\n return date;\n }\n return new Date(Date.UTC(d.y, d.m, d.d, d.H, d.M, d.S, d.L));\n}\n\nfunction newDate(y, m, d) {\n return {y: y, m: m, d: d, H: 0, M: 0, S: 0, L: 0};\n}\n\nexport default function formatLocale(locale) {\n var locale_dateTime = locale.dateTime,\n locale_date = locale.date,\n locale_time = locale.time,\n locale_periods = locale.periods,\n locale_weekdays = locale.days,\n locale_shortWeekdays = locale.shortDays,\n locale_months = locale.months,\n locale_shortMonths = locale.shortMonths;\n\n var periodRe = formatRe(locale_periods),\n periodLookup = formatLookup(locale_periods),\n weekdayRe = formatRe(locale_weekdays),\n weekdayLookup = formatLookup(locale_weekdays),\n shortWeekdayRe = formatRe(locale_shortWeekdays),\n shortWeekdayLookup = formatLookup(locale_shortWeekdays),\n monthRe = formatRe(locale_months),\n monthLookup = formatLookup(locale_months),\n shortMonthRe = formatRe(locale_shortMonths),\n shortMonthLookup = formatLookup(locale_shortMonths);\n\n var formats = {\n \"a\": formatShortWeekday,\n \"A\": formatWeekday,\n \"b\": formatShortMonth,\n \"B\": formatMonth,\n \"c\": null,\n \"d\": formatDayOfMonth,\n \"e\": formatDayOfMonth,\n \"f\": formatMicroseconds,\n \"g\": formatYearISO,\n \"G\": formatFullYearISO,\n \"H\": formatHour24,\n \"I\": formatHour12,\n \"j\": formatDayOfYear,\n \"L\": formatMilliseconds,\n \"m\": formatMonthNumber,\n \"M\": formatMinutes,\n \"p\": formatPeriod,\n \"q\": formatQuarter,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatSeconds,\n \"u\": formatWeekdayNumberMonday,\n \"U\": formatWeekNumberSunday,\n \"V\": formatWeekNumberISO,\n \"w\": formatWeekdayNumberSunday,\n \"W\": formatWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatYear,\n \"Y\": formatFullYear,\n \"Z\": formatZone,\n \"%\": formatLiteralPercent\n };\n\n var utcFormats = {\n \"a\": formatUTCShortWeekday,\n \"A\": formatUTCWeekday,\n \"b\": formatUTCShortMonth,\n \"B\": formatUTCMonth,\n \"c\": null,\n \"d\": formatUTCDayOfMonth,\n \"e\": formatUTCDayOfMonth,\n \"f\": formatUTCMicroseconds,\n \"g\": formatUTCYearISO,\n \"G\": formatUTCFullYearISO,\n \"H\": formatUTCHour24,\n \"I\": formatUTCHour12,\n \"j\": formatUTCDayOfYear,\n \"L\": formatUTCMilliseconds,\n \"m\": formatUTCMonthNumber,\n \"M\": formatUTCMinutes,\n \"p\": formatUTCPeriod,\n \"q\": formatUTCQuarter,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatUTCSeconds,\n \"u\": formatUTCWeekdayNumberMonday,\n \"U\": formatUTCWeekNumberSunday,\n \"V\": formatUTCWeekNumberISO,\n \"w\": formatUTCWeekdayNumberSunday,\n \"W\": formatUTCWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatUTCYear,\n \"Y\": formatUTCFullYear,\n \"Z\": formatUTCZone,\n \"%\": formatLiteralPercent\n };\n\n var parses = {\n \"a\": parseShortWeekday,\n \"A\": parseWeekday,\n \"b\": parseShortMonth,\n \"B\": parseMonth,\n \"c\": parseLocaleDateTime,\n \"d\": parseDayOfMonth,\n \"e\": parseDayOfMonth,\n \"f\": parseMicroseconds,\n \"g\": parseYear,\n \"G\": parseFullYear,\n \"H\": parseHour24,\n \"I\": parseHour24,\n \"j\": parseDayOfYear,\n \"L\": parseMilliseconds,\n \"m\": parseMonthNumber,\n \"M\": parseMinutes,\n \"p\": parsePeriod,\n \"q\": parseQuarter,\n \"Q\": parseUnixTimestamp,\n \"s\": parseUnixTimestampSeconds,\n \"S\": parseSeconds,\n \"u\": parseWeekdayNumberMonday,\n \"U\": parseWeekNumberSunday,\n \"V\": parseWeekNumberISO,\n \"w\": parseWeekdayNumberSunday,\n \"W\": parseWeekNumberMonday,\n \"x\": parseLocaleDate,\n \"X\": parseLocaleTime,\n \"y\": parseYear,\n \"Y\": parseFullYear,\n \"Z\": parseZone,\n \"%\": parseLiteralPercent\n };\n\n // These recursive directive definitions must be deferred.\n formats.x = newFormat(locale_date, formats);\n formats.X = newFormat(locale_time, formats);\n formats.c = newFormat(locale_dateTime, formats);\n utcFormats.x = newFormat(locale_date, utcFormats);\n utcFormats.X = newFormat(locale_time, utcFormats);\n utcFormats.c = newFormat(locale_dateTime, utcFormats);\n\n function newFormat(specifier, formats) {\n return function(date) {\n var string = [],\n i = -1,\n j = 0,\n n = specifier.length,\n c,\n pad,\n format;\n\n if (!(date instanceof Date)) date = new Date(+date);\n\n while (++i < n) {\n if (specifier.charCodeAt(i) === 37) {\n string.push(specifier.slice(j, i));\n if ((pad = pads[c = specifier.charAt(++i)]) != null) c = specifier.charAt(++i);\n else pad = c === \"e\" ? \" \" : \"0\";\n if (format = formats[c]) c = format(date, pad);\n string.push(c);\n j = i + 1;\n }\n }\n\n string.push(specifier.slice(j, i));\n return string.join(\"\");\n };\n }\n\n function newParse(specifier, Z) {\n return function(string) {\n var d = newDate(1900, undefined, 1),\n i = parseSpecifier(d, specifier, string += \"\", 0),\n week, day;\n if (i != string.length) return null;\n\n // If a UNIX timestamp is specified, return it.\n if (\"Q\" in d) return new Date(d.Q);\n if (\"s\" in d) return new Date(d.s * 1000 + (\"L\" in d ? d.L : 0));\n\n // If this is utcParse, never use the local timezone.\n if (Z && !(\"Z\" in d)) d.Z = 0;\n\n // The am-pm flag is 0 for AM, and 1 for PM.\n if (\"p\" in d) d.H = d.H % 12 + d.p * 12;\n\n // If the month was not specified, inherit from the quarter.\n if (d.m === undefined) d.m = \"q\" in d ? d.q : 0;\n\n // Convert day-of-week and week-of-year to day-of-year.\n if (\"V\" in d) {\n if (d.V < 1 || d.V > 53) return null;\n if (!(\"w\" in d)) d.w = 1;\n if (\"Z\" in d) {\n week = utcDate(newDate(d.y, 0, 1)), day = week.getUTCDay();\n week = day > 4 || day === 0 ? utcMonday.ceil(week) : utcMonday(week);\n week = utcDay.offset(week, (d.V - 1) * 7);\n d.y = week.getUTCFullYear();\n d.m = week.getUTCMonth();\n d.d = week.getUTCDate() + (d.w + 6) % 7;\n } else {\n week = localDate(newDate(d.y, 0, 1)), day = week.getDay();\n week = day > 4 || day === 0 ? timeMonday.ceil(week) : timeMonday(week);\n week = timeDay.offset(week, (d.V - 1) * 7);\n d.y = week.getFullYear();\n d.m = week.getMonth();\n d.d = week.getDate() + (d.w + 6) % 7;\n }\n } else if (\"W\" in d || \"U\" in d) {\n if (!(\"w\" in d)) d.w = \"u\" in d ? d.u % 7 : \"W\" in d ? 1 : 0;\n day = \"Z\" in d ? utcDate(newDate(d.y, 0, 1)).getUTCDay() : localDate(newDate(d.y, 0, 1)).getDay();\n d.m = 0;\n d.d = \"W\" in d ? (d.w + 6) % 7 + d.W * 7 - (day + 5) % 7 : d.w + d.U * 7 - (day + 6) % 7;\n }\n\n // If a time zone is specified, all fields are interpreted as UTC and then\n // offset according to the specified time zone.\n if (\"Z\" in d) {\n d.H += d.Z / 100 | 0;\n d.M += d.Z % 100;\n return utcDate(d);\n }\n\n // Otherwise, all fields are in local time.\n return localDate(d);\n };\n }\n\n function parseSpecifier(d, specifier, string, j) {\n var i = 0,\n n = specifier.length,\n m = string.length,\n c,\n parse;\n\n while (i < n) {\n if (j >= m) return -1;\n c = specifier.charCodeAt(i++);\n if (c === 37) {\n c = specifier.charAt(i++);\n parse = parses[c in pads ? specifier.charAt(i++) : c];\n if (!parse || ((j = parse(d, string, j)) < 0)) return -1;\n } else if (c != string.charCodeAt(j++)) {\n return -1;\n }\n }\n\n return j;\n }\n\n function parsePeriod(d, string, i) {\n var n = periodRe.exec(string.slice(i));\n return n ? (d.p = periodLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseShortWeekday(d, string, i) {\n var n = shortWeekdayRe.exec(string.slice(i));\n return n ? (d.w = shortWeekdayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseWeekday(d, string, i) {\n var n = weekdayRe.exec(string.slice(i));\n return n ? (d.w = weekdayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseShortMonth(d, string, i) {\n var n = shortMonthRe.exec(string.slice(i));\n return n ? (d.m = shortMonthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseMonth(d, string, i) {\n var n = monthRe.exec(string.slice(i));\n return n ? (d.m = monthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseLocaleDateTime(d, string, i) {\n return parseSpecifier(d, locale_dateTime, string, i);\n }\n\n function parseLocaleDate(d, string, i) {\n return parseSpecifier(d, locale_date, string, i);\n }\n\n function parseLocaleTime(d, string, i) {\n return parseSpecifier(d, locale_time, string, i);\n }\n\n function formatShortWeekday(d) {\n return locale_shortWeekdays[d.getDay()];\n }\n\n function formatWeekday(d) {\n return locale_weekdays[d.getDay()];\n }\n\n function formatShortMonth(d) {\n return locale_shortMonths[d.getMonth()];\n }\n\n function formatMonth(d) {\n return locale_months[d.getMonth()];\n }\n\n function formatPeriod(d) {\n return locale_periods[+(d.getHours() >= 12)];\n }\n\n function formatQuarter(d) {\n return 1 + ~~(d.getMonth() / 3);\n }\n\n function formatUTCShortWeekday(d) {\n return locale_shortWeekdays[d.getUTCDay()];\n }\n\n function formatUTCWeekday(d) {\n return locale_weekdays[d.getUTCDay()];\n }\n\n function formatUTCShortMonth(d) {\n return locale_shortMonths[d.getUTCMonth()];\n }\n\n function formatUTCMonth(d) {\n return locale_months[d.getUTCMonth()];\n }\n\n function formatUTCPeriod(d) {\n return locale_periods[+(d.getUTCHours() >= 12)];\n }\n\n function formatUTCQuarter(d) {\n return 1 + ~~(d.getUTCMonth() / 3);\n }\n\n return {\n format: function(specifier) {\n var f = newFormat(specifier += \"\", formats);\n f.toString = function() { return specifier; };\n return f;\n },\n parse: function(specifier) {\n var p = newParse(specifier += \"\", false);\n p.toString = function() { return specifier; };\n return p;\n },\n utcFormat: function(specifier) {\n var f = newFormat(specifier += \"\", utcFormats);\n f.toString = function() { return specifier; };\n return f;\n },\n utcParse: function(specifier) {\n var p = newParse(specifier += \"\", true);\n p.toString = function() { return specifier; };\n return p;\n }\n };\n}\n\nvar pads = {\"-\": \"\", \"_\": \" \", \"0\": \"0\"},\n numberRe = /^\\s*\\d+/, // note: ignores next directive\n percentRe = /^%/,\n requoteRe = /[\\\\^$*+?|[\\]().{}]/g;\n\nfunction pad(value, fill, width) {\n var sign = value < 0 ? \"-\" : \"\",\n string = (sign ? -value : value) + \"\",\n length = string.length;\n return sign + (length < width ? new Array(width - length + 1).join(fill) + string : string);\n}\n\nfunction requote(s) {\n return s.replace(requoteRe, \"\\\\$&\");\n}\n\nfunction formatRe(names) {\n return new RegExp(\"^(?:\" + names.map(requote).join(\"|\") + \")\", \"i\");\n}\n\nfunction formatLookup(names) {\n return new Map(names.map((name, i) => [name.toLowerCase(), i]));\n}\n\nfunction parseWeekdayNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.w = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekdayNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.u = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.U = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberISO(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.V = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.W = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseFullYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 4));\n return n ? (d.y = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.y = +n[0] + (+n[0] > 68 ? 1900 : 2000), i + n[0].length) : -1;\n}\n\nfunction parseZone(d, string, i) {\n var n = /^(Z)|([+-]\\d\\d)(?::?(\\d\\d))?/.exec(string.slice(i, i + 6));\n return n ? (d.Z = n[1] ? 0 : -(n[2] + (n[3] || \"00\")), i + n[0].length) : -1;\n}\n\nfunction parseQuarter(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.q = n[0] * 3 - 3, i + n[0].length) : -1;\n}\n\nfunction parseMonthNumber(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.m = n[0] - 1, i + n[0].length) : -1;\n}\n\nfunction parseDayOfMonth(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.d = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseDayOfYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.m = 0, d.d = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseHour24(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.H = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMinutes(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.M = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.S = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMilliseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.L = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMicroseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 6));\n return n ? (d.L = Math.floor(n[0] / 1000), i + n[0].length) : -1;\n}\n\nfunction parseLiteralPercent(d, string, i) {\n var n = percentRe.exec(string.slice(i, i + 1));\n return n ? i + n[0].length : -1;\n}\n\nfunction parseUnixTimestamp(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.Q = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseUnixTimestampSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.s = +n[0], i + n[0].length) : -1;\n}\n\nfunction formatDayOfMonth(d, p) {\n return pad(d.getDate(), p, 2);\n}\n\nfunction formatHour24(d, p) {\n return pad(d.getHours(), p, 2);\n}\n\nfunction formatHour12(d, p) {\n return pad(d.getHours() % 12 || 12, p, 2);\n}\n\nfunction formatDayOfYear(d, p) {\n return pad(1 + timeDay.count(timeYear(d), d), p, 3);\n}\n\nfunction formatMilliseconds(d, p) {\n return pad(d.getMilliseconds(), p, 3);\n}\n\nfunction formatMicroseconds(d, p) {\n return formatMilliseconds(d, p) + \"000\";\n}\n\nfunction formatMonthNumber(d, p) {\n return pad(d.getMonth() + 1, p, 2);\n}\n\nfunction formatMinutes(d, p) {\n return pad(d.getMinutes(), p, 2);\n}\n\nfunction formatSeconds(d, p) {\n return pad(d.getSeconds(), p, 2);\n}\n\nfunction formatWeekdayNumberMonday(d) {\n var day = d.getDay();\n return day === 0 ? 7 : day;\n}\n\nfunction formatWeekNumberSunday(d, p) {\n return pad(timeSunday.count(timeYear(d) - 1, d), p, 2);\n}\n\nfunction dISO(d) {\n var day = d.getDay();\n return (day >= 4 || day === 0) ? timeThursday(d) : timeThursday.ceil(d);\n}\n\nfunction formatWeekNumberISO(d, p) {\n d = dISO(d);\n return pad(timeThursday.count(timeYear(d), d) + (timeYear(d).getDay() === 4), p, 2);\n}\n\nfunction formatWeekdayNumberSunday(d) {\n return d.getDay();\n}\n\nfunction formatWeekNumberMonday(d, p) {\n return pad(timeMonday.count(timeYear(d) - 1, d), p, 2);\n}\n\nfunction formatYear(d, p) {\n return pad(d.getFullYear() % 100, p, 2);\n}\n\nfunction formatYearISO(d, p) {\n d = dISO(d);\n return pad(d.getFullYear() % 100, p, 2);\n}\n\nfunction formatFullYear(d, p) {\n return pad(d.getFullYear() % 10000, p, 4);\n}\n\nfunction formatFullYearISO(d, p) {\n var day = d.getDay();\n d = (day >= 4 || day === 0) ? timeThursday(d) : timeThursday.ceil(d);\n return pad(d.getFullYear() % 10000, p, 4);\n}\n\nfunction formatZone(d) {\n var z = d.getTimezoneOffset();\n return (z > 0 ? \"-\" : (z *= -1, \"+\"))\n + pad(z / 60 | 0, \"0\", 2)\n + pad(z % 60, \"0\", 2);\n}\n\nfunction formatUTCDayOfMonth(d, p) {\n return pad(d.getUTCDate(), p, 2);\n}\n\nfunction formatUTCHour24(d, p) {\n return pad(d.getUTCHours(), p, 2);\n}\n\nfunction formatUTCHour12(d, p) {\n return pad(d.getUTCHours() % 12 || 12, p, 2);\n}\n\nfunction formatUTCDayOfYear(d, p) {\n return pad(1 + utcDay.count(utcYear(d), d), p, 3);\n}\n\nfunction formatUTCMilliseconds(d, p) {\n return pad(d.getUTCMilliseconds(), p, 3);\n}\n\nfunction formatUTCMicroseconds(d, p) {\n return formatUTCMilliseconds(d, p) + \"000\";\n}\n\nfunction formatUTCMonthNumber(d, p) {\n return pad(d.getUTCMonth() + 1, p, 2);\n}\n\nfunction formatUTCMinutes(d, p) {\n return pad(d.getUTCMinutes(), p, 2);\n}\n\nfunction formatUTCSeconds(d, p) {\n return pad(d.getUTCSeconds(), p, 2);\n}\n\nfunction formatUTCWeekdayNumberMonday(d) {\n var dow = d.getUTCDay();\n return dow === 0 ? 7 : dow;\n}\n\nfunction formatUTCWeekNumberSunday(d, p) {\n return pad(utcSunday.count(utcYear(d) - 1, d), p, 2);\n}\n\nfunction UTCdISO(d) {\n var day = d.getUTCDay();\n return (day >= 4 || day === 0) ? utcThursday(d) : utcThursday.ceil(d);\n}\n\nfunction formatUTCWeekNumberISO(d, p) {\n d = UTCdISO(d);\n return pad(utcThursday.count(utcYear(d), d) + (utcYear(d).getUTCDay() === 4), p, 2);\n}\n\nfunction formatUTCWeekdayNumberSunday(d) {\n return d.getUTCDay();\n}\n\nfunction formatUTCWeekNumberMonday(d, p) {\n return pad(utcMonday.count(utcYear(d) - 1, d), p, 2);\n}\n\nfunction formatUTCYear(d, p) {\n return pad(d.getUTCFullYear() % 100, p, 2);\n}\n\nfunction formatUTCYearISO(d, p) {\n d = UTCdISO(d);\n return pad(d.getUTCFullYear() % 100, p, 2);\n}\n\nfunction formatUTCFullYear(d, p) {\n return pad(d.getUTCFullYear() % 10000, p, 4);\n}\n\nfunction formatUTCFullYearISO(d, p) {\n var day = d.getUTCDay();\n d = (day >= 4 || day === 0) ? utcThursday(d) : utcThursday.ceil(d);\n return pad(d.getUTCFullYear() % 10000, p, 4);\n}\n\nfunction formatUTCZone() {\n return \"+0000\";\n}\n\nfunction formatLiteralPercent() {\n return \"%\";\n}\n\nfunction formatUnixTimestamp(d) {\n return +d;\n}\n\nfunction formatUnixTimestampSeconds(d) {\n return Math.floor(+d / 1000);\n}\n","import formatLocale from \"./locale.js\";\n\nvar locale;\nexport var timeFormat;\nexport var timeParse;\nexport var utcFormat;\nexport var utcParse;\n\ndefaultLocale({\n dateTime: \"%x, %X\",\n date: \"%-m/%-d/%Y\",\n time: \"%-I:%M:%S %p\",\n periods: [\"AM\", \"PM\"],\n days: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"],\n shortDays: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n months: [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"],\n shortMonths: [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"]\n});\n\nexport default function defaultLocale(definition) {\n locale = formatLocale(definition);\n timeFormat = locale.format;\n timeParse = locale.parse;\n utcFormat = locale.utcFormat;\n utcParse = locale.utcParse;\n return locale;\n}\n","import {timeYear, timeMonth, timeWeek, timeDay, timeHour, timeMinute, timeSecond, timeTicks, timeTickInterval} from \"d3-time\";\nimport {timeFormat} from \"d3-time-format\";\nimport continuous, {copy} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\nimport nice from \"./nice.js\";\n\nfunction date(t) {\n return new Date(t);\n}\n\nfunction number(t) {\n return t instanceof Date ? +t : +new Date(+t);\n}\n\nexport function calendar(ticks, tickInterval, year, month, week, day, hour, minute, second, format) {\n var scale = continuous(),\n invert = scale.invert,\n domain = scale.domain;\n\n var formatMillisecond = format(\".%L\"),\n formatSecond = format(\":%S\"),\n formatMinute = format(\"%I:%M\"),\n formatHour = format(\"%I %p\"),\n formatDay = format(\"%a %d\"),\n formatWeek = format(\"%b %d\"),\n formatMonth = format(\"%B\"),\n formatYear = format(\"%Y\");\n\n function tickFormat(date) {\n return (second(date) < date ? formatMillisecond\n : minute(date) < date ? formatSecond\n : hour(date) < date ? formatMinute\n : day(date) < date ? formatHour\n : month(date) < date ? (week(date) < date ? formatDay : formatWeek)\n : year(date) < date ? formatMonth\n : formatYear)(date);\n }\n\n scale.invert = function(y) {\n return new Date(invert(y));\n };\n\n scale.domain = function(_) {\n return arguments.length ? domain(Array.from(_, number)) : domain().map(date);\n };\n\n scale.ticks = function(interval) {\n var d = domain();\n return ticks(d[0], d[d.length - 1], interval == null ? 10 : interval);\n };\n\n scale.tickFormat = function(count, specifier) {\n return specifier == null ? tickFormat : format(specifier);\n };\n\n scale.nice = function(interval) {\n var d = domain();\n if (!interval || typeof interval.range !== \"function\") interval = tickInterval(d[0], d[d.length - 1], interval == null ? 10 : interval);\n return interval ? domain(nice(d, interval)) : scale;\n };\n\n scale.copy = function() {\n return copy(scale, calendar(ticks, tickInterval, year, month, week, day, hour, minute, second, format));\n };\n\n return scale;\n}\n\nexport default function time() {\n return initRange.apply(calendar(timeTicks, timeTickInterval, timeYear, timeMonth, timeWeek, timeDay, timeHour, timeMinute, timeSecond, timeFormat).domain([new Date(2000, 0, 1), new Date(2000, 0, 2)]), arguments);\n}\n","import {utcYear, utcMonth, utcWeek, utcDay, utcHour, utcMinute, utcSecond, utcTicks, utcTickInterval} from \"d3-time\";\nimport {utcFormat} from \"d3-time-format\";\nimport {calendar} from \"./time.js\";\nimport {initRange} from \"./init.js\";\n\nexport default function utcTime() {\n return initRange.apply(calendar(utcTicks, utcTickInterval, utcYear, utcMonth, utcWeek, utcDay, utcHour, utcMinute, utcSecond, utcFormat).domain([Date.UTC(2000, 0, 1), Date.UTC(2000, 0, 2)]), arguments);\n}\n","export default function(specifier) {\n var n = specifier.length / 6 | 0, colors = new Array(n), i = 0;\n while (i < n) colors[i] = \"#\" + specifier.slice(i * 6, ++i * 6);\n return colors;\n}\n","import colors from \"../colors.js\";\n\nexport default colors(\"1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf\");\n","import colors from \"../colors.js\";\n\nexport default colors(\"7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17666666\");\n","import colors from \"../colors.js\";\n\nexport default colors(\"1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666\");\n","import colors from \"../colors.js\";\n\nexport default colors(\"a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928\");\n","import colors from \"../colors.js\";\n\nexport default colors(\"fbb4aeb3cde3ccebc5decbe4fed9a6ffffcce5d8bdfddaecf2f2f2\");\n","import colors from \"../colors.js\";\n\nexport default colors(\"b3e2cdfdcdaccbd5e8f4cae4e6f5c9fff2aef1e2cccccccc\");\n","import colors from \"../colors.js\";\n\nexport default colors(\"e41a1c377eb84daf4a984ea3ff7f00ffff33a65628f781bf999999\");\n","import colors from \"../colors.js\";\n\nexport default colors(\"66c2a5fc8d628da0cbe78ac3a6d854ffd92fe5c494b3b3b3\");\n","import colors from \"../colors.js\";\n\nexport default colors(\"8dd3c7ffffb3bebadafb807280b1d3fdb462b3de69fccde5d9d9d9bc80bdccebc5ffed6f\");\n","import {interpolateRgbBasis} from \"d3-interpolate\";\n\nexport default scheme => interpolateRgbBasis(scheme[scheme.length - 1]);\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"d8b365f5f5f55ab4ac\",\n \"a6611adfc27d80cdc1018571\",\n \"a6611adfc27df5f5f580cdc1018571\",\n \"8c510ad8b365f6e8c3c7eae55ab4ac01665e\",\n \"8c510ad8b365f6e8c3f5f5f5c7eae55ab4ac01665e\",\n \"8c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e\",\n \"8c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e\",\n \"5430058c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e003c30\",\n \"5430058c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e003c30\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"af8dc3f7f7f77fbf7b\",\n \"7b3294c2a5cfa6dba0008837\",\n \"7b3294c2a5cff7f7f7a6dba0008837\",\n \"762a83af8dc3e7d4e8d9f0d37fbf7b1b7837\",\n \"762a83af8dc3e7d4e8f7f7f7d9f0d37fbf7b1b7837\",\n \"762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b7837\",\n \"762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b7837\",\n \"40004b762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b783700441b\",\n \"40004b762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b783700441b\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"e9a3c9f7f7f7a1d76a\",\n \"d01c8bf1b6dab8e1864dac26\",\n \"d01c8bf1b6daf7f7f7b8e1864dac26\",\n \"c51b7de9a3c9fde0efe6f5d0a1d76a4d9221\",\n \"c51b7de9a3c9fde0eff7f7f7e6f5d0a1d76a4d9221\",\n \"c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221\",\n \"c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221\",\n \"8e0152c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221276419\",\n \"8e0152c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221276419\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"998ec3f7f7f7f1a340\",\n \"5e3c99b2abd2fdb863e66101\",\n \"5e3c99b2abd2f7f7f7fdb863e66101\",\n \"542788998ec3d8daebfee0b6f1a340b35806\",\n \"542788998ec3d8daebf7f7f7fee0b6f1a340b35806\",\n \"5427888073acb2abd2d8daebfee0b6fdb863e08214b35806\",\n \"5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b35806\",\n \"2d004b5427888073acb2abd2d8daebfee0b6fdb863e08214b358067f3b08\",\n \"2d004b5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b358067f3b08\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"ef8a62f7f7f767a9cf\",\n \"ca0020f4a58292c5de0571b0\",\n \"ca0020f4a582f7f7f792c5de0571b0\",\n \"b2182bef8a62fddbc7d1e5f067a9cf2166ac\",\n \"b2182bef8a62fddbc7f7f7f7d1e5f067a9cf2166ac\",\n \"b2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac\",\n \"b2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac\",\n \"67001fb2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac053061\",\n \"67001fb2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac053061\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"ef8a62ffffff999999\",\n \"ca0020f4a582bababa404040\",\n \"ca0020f4a582ffffffbababa404040\",\n \"b2182bef8a62fddbc7e0e0e09999994d4d4d\",\n \"b2182bef8a62fddbc7ffffffe0e0e09999994d4d4d\",\n \"b2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d\",\n \"b2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d\",\n \"67001fb2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d1a1a1a\",\n \"67001fb2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d1a1a1a\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"fc8d59ffffbf91bfdb\",\n \"d7191cfdae61abd9e92c7bb6\",\n \"d7191cfdae61ffffbfabd9e92c7bb6\",\n \"d73027fc8d59fee090e0f3f891bfdb4575b4\",\n \"d73027fc8d59fee090ffffbfe0f3f891bfdb4575b4\",\n \"d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4\",\n \"d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4\",\n \"a50026d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4313695\",\n \"a50026d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4313695\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"fc8d59ffffbf91cf60\",\n \"d7191cfdae61a6d96a1a9641\",\n \"d7191cfdae61ffffbfa6d96a1a9641\",\n \"d73027fc8d59fee08bd9ef8b91cf601a9850\",\n \"d73027fc8d59fee08bffffbfd9ef8b91cf601a9850\",\n \"d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850\",\n \"d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850\",\n \"a50026d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850006837\",\n \"a50026d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850006837\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"fc8d59ffffbf99d594\",\n \"d7191cfdae61abdda42b83ba\",\n \"d7191cfdae61ffffbfabdda42b83ba\",\n \"d53e4ffc8d59fee08be6f59899d5943288bd\",\n \"d53e4ffc8d59fee08bffffbfe6f59899d5943288bd\",\n \"d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd\",\n \"d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd\",\n \"9e0142d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd5e4fa2\",\n \"9e0142d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd5e4fa2\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"e5f5f999d8c92ca25f\",\n \"edf8fbb2e2e266c2a4238b45\",\n \"edf8fbb2e2e266c2a42ca25f006d2c\",\n \"edf8fbccece699d8c966c2a42ca25f006d2c\",\n \"edf8fbccece699d8c966c2a441ae76238b45005824\",\n \"f7fcfde5f5f9ccece699d8c966c2a441ae76238b45005824\",\n \"f7fcfde5f5f9ccece699d8c966c2a441ae76238b45006d2c00441b\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"e0ecf49ebcda8856a7\",\n \"edf8fbb3cde38c96c688419d\",\n \"edf8fbb3cde38c96c68856a7810f7c\",\n \"edf8fbbfd3e69ebcda8c96c68856a7810f7c\",\n \"edf8fbbfd3e69ebcda8c96c68c6bb188419d6e016b\",\n \"f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d6e016b\",\n \"f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d810f7c4d004b\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"e0f3dba8ddb543a2ca\",\n \"f0f9e8bae4bc7bccc42b8cbe\",\n \"f0f9e8bae4bc7bccc443a2ca0868ac\",\n \"f0f9e8ccebc5a8ddb57bccc443a2ca0868ac\",\n \"f0f9e8ccebc5a8ddb57bccc44eb3d32b8cbe08589e\",\n \"f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe08589e\",\n \"f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe0868ac084081\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"fee8c8fdbb84e34a33\",\n \"fef0d9fdcc8afc8d59d7301f\",\n \"fef0d9fdcc8afc8d59e34a33b30000\",\n \"fef0d9fdd49efdbb84fc8d59e34a33b30000\",\n \"fef0d9fdd49efdbb84fc8d59ef6548d7301f990000\",\n \"fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301f990000\",\n \"fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301fb300007f0000\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"ece2f0a6bddb1c9099\",\n \"f6eff7bdc9e167a9cf02818a\",\n \"f6eff7bdc9e167a9cf1c9099016c59\",\n \"f6eff7d0d1e6a6bddb67a9cf1c9099016c59\",\n \"f6eff7d0d1e6a6bddb67a9cf3690c002818a016450\",\n \"fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016450\",\n \"fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016c59014636\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"ece7f2a6bddb2b8cbe\",\n \"f1eef6bdc9e174a9cf0570b0\",\n \"f1eef6bdc9e174a9cf2b8cbe045a8d\",\n \"f1eef6d0d1e6a6bddb74a9cf2b8cbe045a8d\",\n \"f1eef6d0d1e6a6bddb74a9cf3690c00570b0034e7b\",\n \"fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0034e7b\",\n \"fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0045a8d023858\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"e7e1efc994c7dd1c77\",\n \"f1eef6d7b5d8df65b0ce1256\",\n \"f1eef6d7b5d8df65b0dd1c77980043\",\n \"f1eef6d4b9dac994c7df65b0dd1c77980043\",\n \"f1eef6d4b9dac994c7df65b0e7298ace125691003f\",\n \"f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125691003f\",\n \"f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125698004367001f\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"fde0ddfa9fb5c51b8a\",\n \"feebe2fbb4b9f768a1ae017e\",\n \"feebe2fbb4b9f768a1c51b8a7a0177\",\n \"feebe2fcc5c0fa9fb5f768a1c51b8a7a0177\",\n \"feebe2fcc5c0fa9fb5f768a1dd3497ae017e7a0177\",\n \"fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a0177\",\n \"fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a017749006a\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"edf8b17fcdbb2c7fb8\",\n \"ffffcca1dab441b6c4225ea8\",\n \"ffffcca1dab441b6c42c7fb8253494\",\n \"ffffccc7e9b47fcdbb41b6c42c7fb8253494\",\n \"ffffccc7e9b47fcdbb41b6c41d91c0225ea80c2c84\",\n \"ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea80c2c84\",\n \"ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea8253494081d58\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"f7fcb9addd8e31a354\",\n \"ffffccc2e69978c679238443\",\n \"ffffccc2e69978c67931a354006837\",\n \"ffffccd9f0a3addd8e78c67931a354006837\",\n \"ffffccd9f0a3addd8e78c67941ab5d238443005a32\",\n \"ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443005a32\",\n \"ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443006837004529\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"fff7bcfec44fd95f0e\",\n \"ffffd4fed98efe9929cc4c02\",\n \"ffffd4fed98efe9929d95f0e993404\",\n \"ffffd4fee391fec44ffe9929d95f0e993404\",\n \"ffffd4fee391fec44ffe9929ec7014cc4c028c2d04\",\n \"ffffe5fff7bcfee391fec44ffe9929ec7014cc4c028c2d04\",\n \"ffffe5fff7bcfee391fec44ffe9929ec7014cc4c02993404662506\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"ffeda0feb24cf03b20\",\n \"ffffb2fecc5cfd8d3ce31a1c\",\n \"ffffb2fecc5cfd8d3cf03b20bd0026\",\n \"ffffb2fed976feb24cfd8d3cf03b20bd0026\",\n \"ffffb2fed976feb24cfd8d3cfc4e2ae31a1cb10026\",\n \"ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cb10026\",\n \"ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cbd0026800026\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"deebf79ecae13182bd\",\n \"eff3ffbdd7e76baed62171b5\",\n \"eff3ffbdd7e76baed63182bd08519c\",\n \"eff3ffc6dbef9ecae16baed63182bd08519c\",\n \"eff3ffc6dbef9ecae16baed64292c62171b5084594\",\n \"f7fbffdeebf7c6dbef9ecae16baed64292c62171b5084594\",\n \"f7fbffdeebf7c6dbef9ecae16baed64292c62171b508519c08306b\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"e5f5e0a1d99b31a354\",\n \"edf8e9bae4b374c476238b45\",\n \"edf8e9bae4b374c47631a354006d2c\",\n \"edf8e9c7e9c0a1d99b74c47631a354006d2c\",\n \"edf8e9c7e9c0a1d99b74c47641ab5d238b45005a32\",\n \"f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45005a32\",\n \"f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45006d2c00441b\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"f0f0f0bdbdbd636363\",\n \"f7f7f7cccccc969696525252\",\n \"f7f7f7cccccc969696636363252525\",\n \"f7f7f7d9d9d9bdbdbd969696636363252525\",\n \"f7f7f7d9d9d9bdbdbd969696737373525252252525\",\n \"fffffff0f0f0d9d9d9bdbdbd969696737373525252252525\",\n \"fffffff0f0f0d9d9d9bdbdbd969696737373525252252525000000\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"efedf5bcbddc756bb1\",\n \"f2f0f7cbc9e29e9ac86a51a3\",\n \"f2f0f7cbc9e29e9ac8756bb154278f\",\n \"f2f0f7dadaebbcbddc9e9ac8756bb154278f\",\n \"f2f0f7dadaebbcbddc9e9ac8807dba6a51a34a1486\",\n \"fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a34a1486\",\n \"fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a354278f3f007d\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"fee0d2fc9272de2d26\",\n \"fee5d9fcae91fb6a4acb181d\",\n \"fee5d9fcae91fb6a4ade2d26a50f15\",\n \"fee5d9fcbba1fc9272fb6a4ade2d26a50f15\",\n \"fee5d9fcbba1fc9272fb6a4aef3b2ccb181d99000d\",\n \"fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181d99000d\",\n \"fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181da50f1567000d\"\n).map(colors);\n\nexport default ramp(scheme);\n","import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"fee6cefdae6be6550d\",\n \"feeddefdbe85fd8d3cd94701\",\n \"feeddefdbe85fd8d3ce6550da63603\",\n \"feeddefdd0a2fdae6bfd8d3ce6550da63603\",\n \"feeddefdd0a2fdae6bfd8d3cf16913d948018c2d04\",\n \"fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d948018c2d04\",\n \"fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d94801a636037f2704\"\n).map(colors);\n\nexport default ramp(scheme);\n","export default function(t) {\n t = Math.max(0, Math.min(1, t));\n return \"rgb(\"\n + Math.max(0, Math.min(255, Math.round(-4.54 - t * (35.34 - t * (2381.73 - t * (6402.7 - t * (7024.72 - t * 2710.57))))))) + \", \"\n + Math.max(0, Math.min(255, Math.round(32.49 + t * (170.73 + t * (52.82 - t * (131.46 - t * (176.58 - t * 67.37))))))) + \", \"\n + Math.max(0, Math.min(255, Math.round(81.24 + t * (442.36 - t * (2482.43 - t * (6167.24 - t * (6614.94 - t * 2475.67)))))))\n + \")\";\n}\n","import {cubehelix} from \"d3-color\";\nimport {interpolateCubehelixLong} from \"d3-interpolate\";\n\nexport default interpolateCubehelixLong(cubehelix(300, 0.5, 0.0), cubehelix(-240, 0.5, 1.0));\n","import {cubehelix} from \"d3-color\";\nimport {interpolateCubehelixLong} from \"d3-interpolate\";\n\nexport var warm = interpolateCubehelixLong(cubehelix(-100, 0.75, 0.35), cubehelix(80, 1.50, 0.8));\n\nexport var cool = interpolateCubehelixLong(cubehelix(260, 0.75, 0.35), cubehelix(80, 1.50, 0.8));\n\nvar c = cubehelix();\n\nexport default function(t) {\n if (t < 0 || t > 1) t -= Math.floor(t);\n var ts = Math.abs(t - 0.5);\n c.h = 360 * t - 100;\n c.s = 1.5 - 1.5 * ts;\n c.l = 0.8 - 0.9 * ts;\n return c + \"\";\n}\n","import {rgb} from \"d3-color\";\n\nvar c = rgb(),\n pi_1_3 = Math.PI / 3,\n pi_2_3 = Math.PI * 2 / 3;\n\nexport default function(t) {\n var x;\n t = (0.5 - t) * Math.PI;\n c.r = 255 * (x = Math.sin(t)) * x;\n c.g = 255 * (x = Math.sin(t + pi_1_3)) * x;\n c.b = 255 * (x = Math.sin(t + pi_2_3)) * x;\n return c + \"\";\n}\n","export default function(t) {\n t = Math.max(0, Math.min(1, t));\n return \"rgb(\"\n + Math.max(0, Math.min(255, Math.round(34.61 + t * (1172.33 - t * (10793.56 - t * (33300.12 - t * (38394.49 - t * 14825.05))))))) + \", \"\n + Math.max(0, Math.min(255, Math.round(23.31 + t * (557.33 + t * (1225.33 - t * (3574.96 - t * (1073.77 + t * 707.56))))))) + \", \"\n + Math.max(0, Math.min(255, Math.round(27.2 + t * (3211.1 - t * (15327.97 - t * (27814 - t * (22569.18 - t * 6838.66)))))))\n + \")\";\n}\n","import colors from \"../colors.js\";\n\nfunction ramp(range) {\n var n = range.length;\n return function(t) {\n return range[Math.max(0, Math.min(n - 1, Math.floor(t * n)))];\n };\n}\n\nexport default ramp(colors(\"44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725\"));\n\nexport var magma = ramp(colors(\"00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf\"));\n\nexport var inferno = ramp(colors(\"00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4\"));\n\nexport var plasma = ramp(colors(\"0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921\"));\n","var baseDifference = require('./_baseDifference'),\n baseRest = require('./_baseRest'),\n isArrayLikeObject = require('./isArrayLikeObject');\n\n/**\n * Creates an array excluding all given values using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * **Note:** Unlike `_.pull`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...*} [values] The values to exclude.\n * @returns {Array} Returns the new array of filtered values.\n * @see _.difference, _.xor\n * @example\n *\n * _.without([2, 1, 2, 3], 1, 2);\n * // => [3]\n */\nvar without = baseRest(function(array, values) {\n return isArrayLikeObject(array)\n ? baseDifference(array, values)\n : [];\n});\n\nmodule.exports = without;\n","export default function(x) {\n return function constant() {\n return x;\n };\n}\n","export var abs = Math.abs;\nexport var atan2 = Math.atan2;\nexport var cos = Math.cos;\nexport var max = Math.max;\nexport var min = Math.min;\nexport var sin = Math.sin;\nexport var sqrt = Math.sqrt;\n\nexport var epsilon = 1e-12;\nexport var pi = Math.PI;\nexport var halfPi = pi / 2;\nexport var tau = 2 * pi;\n\nexport function acos(x) {\n return x > 1 ? 0 : x < -1 ? pi : Math.acos(x);\n}\n\nexport function asin(x) {\n return x >= 1 ? halfPi : x <= -1 ? -halfPi : Math.asin(x);\n}\n","function Linear(context) {\n this._context = context;\n}\n\nLinear.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; // proceed\n default: this._context.lineTo(x, y); break;\n }\n }\n};\n\nexport default function(context) {\n return new Linear(context);\n}\n","export var slice = Array.prototype.slice;\n","export default function() {}\n","export function point(that, x, y) {\n that._context.bezierCurveTo(\n (2 * that._x0 + that._x1) / 3,\n (2 * that._y0 + that._y1) / 3,\n (that._x0 + 2 * that._x1) / 3,\n (that._y0 + 2 * that._y1) / 3,\n (that._x0 + 4 * that._x1 + x) / 6,\n (that._y0 + 4 * that._y1 + y) / 6\n );\n}\n\nexport function Basis(context) {\n this._context = context;\n}\n\nBasis.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 =\n this._y0 = this._y1 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 3: point(this, this._x1, this._y1); // proceed\n case 2: this._context.lineTo(this._x1, this._y1); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; this._context.lineTo((5 * this._x0 + this._x1) / 6, (5 * this._y0 + this._y1) / 6); // proceed\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n }\n};\n\nexport default function(context) {\n return new Basis(context);\n}\n","import noop from \"../noop.js\";\nimport {point} from \"./basis.js\";\n\nfunction BasisClosed(context) {\n this._context = context;\n}\n\nBasisClosed.prototype = {\n areaStart: noop,\n areaEnd: noop,\n lineStart: function() {\n this._x0 = this._x1 = this._x2 = this._x3 = this._x4 =\n this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 1: {\n this._context.moveTo(this._x2, this._y2);\n this._context.closePath();\n break;\n }\n case 2: {\n this._context.moveTo((this._x2 + 2 * this._x3) / 3, (this._y2 + 2 * this._y3) / 3);\n this._context.lineTo((this._x3 + 2 * this._x2) / 3, (this._y3 + 2 * this._y2) / 3);\n this._context.closePath();\n break;\n }\n case 3: {\n this.point(this._x2, this._y2);\n this.point(this._x3, this._y3);\n this.point(this._x4, this._y4);\n break;\n }\n }\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._x2 = x, this._y2 = y; break;\n case 1: this._point = 2; this._x3 = x, this._y3 = y; break;\n case 2: this._point = 3; this._x4 = x, this._y4 = y; this._context.moveTo((this._x0 + 4 * this._x1 + x) / 6, (this._y0 + 4 * this._y1 + y) / 6); break;\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n }\n};\n\nexport default function(context) {\n return new BasisClosed(context);\n}\n","import {point} from \"./basis.js\";\n\nfunction BasisOpen(context) {\n this._context = context;\n}\n\nBasisOpen.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 =\n this._y0 = this._y1 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 3)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; var x0 = (this._x0 + 4 * this._x1 + x) / 6, y0 = (this._y0 + 4 * this._y1 + y) / 6; this._line ? this._context.lineTo(x0, y0) : this._context.moveTo(x0, y0); break;\n case 3: this._point = 4; // proceed\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n }\n};\n\nexport default function(context) {\n return new BasisOpen(context);\n}\n","import {Basis} from \"./basis.js\";\n\nfunction Bundle(context, beta) {\n this._basis = new Basis(context);\n this._beta = beta;\n}\n\nBundle.prototype = {\n lineStart: function() {\n this._x = [];\n this._y = [];\n this._basis.lineStart();\n },\n lineEnd: function() {\n var x = this._x,\n y = this._y,\n j = x.length - 1;\n\n if (j > 0) {\n var x0 = x[0],\n y0 = y[0],\n dx = x[j] - x0,\n dy = y[j] - y0,\n i = -1,\n t;\n\n while (++i <= j) {\n t = i / j;\n this._basis.point(\n this._beta * x[i] + (1 - this._beta) * (x0 + t * dx),\n this._beta * y[i] + (1 - this._beta) * (y0 + t * dy)\n );\n }\n }\n\n this._x = this._y = null;\n this._basis.lineEnd();\n },\n point: function(x, y) {\n this._x.push(+x);\n this._y.push(+y);\n }\n};\n\nexport default (function custom(beta) {\n\n function bundle(context) {\n return beta === 1 ? new Basis(context) : new Bundle(context, beta);\n }\n\n bundle.beta = function(beta) {\n return custom(+beta);\n };\n\n return bundle;\n})(0.85);\n","export function point(that, x, y) {\n that._context.bezierCurveTo(\n that._x1 + that._k * (that._x2 - that._x0),\n that._y1 + that._k * (that._y2 - that._y0),\n that._x2 + that._k * (that._x1 - x),\n that._y2 + that._k * (that._y1 - y),\n that._x2,\n that._y2\n );\n}\n\nexport function Cardinal(context, tension) {\n this._context = context;\n this._k = (1 - tension) / 6;\n}\n\nCardinal.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._x2 =\n this._y0 = this._y1 = this._y2 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 2: this._context.lineTo(this._x2, this._y2); break;\n case 3: point(this, this._x1, this._y1); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; this._x1 = x, this._y1 = y; break;\n case 2: this._point = 3; // proceed\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(tension) {\n\n function cardinal(context) {\n return new Cardinal(context, tension);\n }\n\n cardinal.tension = function(tension) {\n return custom(+tension);\n };\n\n return cardinal;\n})(0);\n","import noop from \"../noop.js\";\nimport {point} from \"./cardinal.js\";\n\nexport function CardinalClosed(context, tension) {\n this._context = context;\n this._k = (1 - tension) / 6;\n}\n\nCardinalClosed.prototype = {\n areaStart: noop,\n areaEnd: noop,\n lineStart: function() {\n this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._x5 =\n this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = this._y5 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 1: {\n this._context.moveTo(this._x3, this._y3);\n this._context.closePath();\n break;\n }\n case 2: {\n this._context.lineTo(this._x3, this._y3);\n this._context.closePath();\n break;\n }\n case 3: {\n this.point(this._x3, this._y3);\n this.point(this._x4, this._y4);\n this.point(this._x5, this._y5);\n break;\n }\n }\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._x3 = x, this._y3 = y; break;\n case 1: this._point = 2; this._context.moveTo(this._x4 = x, this._y4 = y); break;\n case 2: this._point = 3; this._x5 = x, this._y5 = y; break;\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(tension) {\n\n function cardinal(context) {\n return new CardinalClosed(context, tension);\n }\n\n cardinal.tension = function(tension) {\n return custom(+tension);\n };\n\n return cardinal;\n})(0);\n","import {point} from \"./cardinal.js\";\n\nexport function CardinalOpen(context, tension) {\n this._context = context;\n this._k = (1 - tension) / 6;\n}\n\nCardinalOpen.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._x2 =\n this._y0 = this._y1 = this._y2 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 3)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; this._line ? this._context.lineTo(this._x2, this._y2) : this._context.moveTo(this._x2, this._y2); break;\n case 3: this._point = 4; // proceed\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(tension) {\n\n function cardinal(context) {\n return new CardinalOpen(context, tension);\n }\n\n cardinal.tension = function(tension) {\n return custom(+tension);\n };\n\n return cardinal;\n})(0);\n","import {epsilon} from \"../math.js\";\nimport {Cardinal} from \"./cardinal.js\";\n\nexport function point(that, x, y) {\n var x1 = that._x1,\n y1 = that._y1,\n x2 = that._x2,\n y2 = that._y2;\n\n if (that._l01_a > epsilon) {\n var a = 2 * that._l01_2a + 3 * that._l01_a * that._l12_a + that._l12_2a,\n n = 3 * that._l01_a * (that._l01_a + that._l12_a);\n x1 = (x1 * a - that._x0 * that._l12_2a + that._x2 * that._l01_2a) / n;\n y1 = (y1 * a - that._y0 * that._l12_2a + that._y2 * that._l01_2a) / n;\n }\n\n if (that._l23_a > epsilon) {\n var b = 2 * that._l23_2a + 3 * that._l23_a * that._l12_a + that._l12_2a,\n m = 3 * that._l23_a * (that._l23_a + that._l12_a);\n x2 = (x2 * b + that._x1 * that._l23_2a - x * that._l12_2a) / m;\n y2 = (y2 * b + that._y1 * that._l23_2a - y * that._l12_2a) / m;\n }\n\n that._context.bezierCurveTo(x1, y1, x2, y2, that._x2, that._y2);\n}\n\nfunction CatmullRom(context, alpha) {\n this._context = context;\n this._alpha = alpha;\n}\n\nCatmullRom.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._x2 =\n this._y0 = this._y1 = this._y2 = NaN;\n this._l01_a = this._l12_a = this._l23_a =\n this._l01_2a = this._l12_2a = this._l23_2a =\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 2: this._context.lineTo(this._x2, this._y2); break;\n case 3: this.point(this._x2, this._y2); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n\n if (this._point) {\n var x23 = this._x2 - x,\n y23 = this._y2 - y;\n this._l23_a = Math.sqrt(this._l23_2a = Math.pow(x23 * x23 + y23 * y23, this._alpha));\n }\n\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; // proceed\n default: point(this, x, y); break;\n }\n\n this._l01_a = this._l12_a, this._l12_a = this._l23_a;\n this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a;\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(alpha) {\n\n function catmullRom(context) {\n return alpha ? new CatmullRom(context, alpha) : new Cardinal(context, 0);\n }\n\n catmullRom.alpha = function(alpha) {\n return custom(+alpha);\n };\n\n return catmullRom;\n})(0.5);\n","import {CardinalClosed} from \"./cardinalClosed.js\";\nimport noop from \"../noop.js\";\nimport {point} from \"./catmullRom.js\";\n\nfunction CatmullRomClosed(context, alpha) {\n this._context = context;\n this._alpha = alpha;\n}\n\nCatmullRomClosed.prototype = {\n areaStart: noop,\n areaEnd: noop,\n lineStart: function() {\n this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._x5 =\n this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = this._y5 = NaN;\n this._l01_a = this._l12_a = this._l23_a =\n this._l01_2a = this._l12_2a = this._l23_2a =\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 1: {\n this._context.moveTo(this._x3, this._y3);\n this._context.closePath();\n break;\n }\n case 2: {\n this._context.lineTo(this._x3, this._y3);\n this._context.closePath();\n break;\n }\n case 3: {\n this.point(this._x3, this._y3);\n this.point(this._x4, this._y4);\n this.point(this._x5, this._y5);\n break;\n }\n }\n },\n point: function(x, y) {\n x = +x, y = +y;\n\n if (this._point) {\n var x23 = this._x2 - x,\n y23 = this._y2 - y;\n this._l23_a = Math.sqrt(this._l23_2a = Math.pow(x23 * x23 + y23 * y23, this._alpha));\n }\n\n switch (this._point) {\n case 0: this._point = 1; this._x3 = x, this._y3 = y; break;\n case 1: this._point = 2; this._context.moveTo(this._x4 = x, this._y4 = y); break;\n case 2: this._point = 3; this._x5 = x, this._y5 = y; break;\n default: point(this, x, y); break;\n }\n\n this._l01_a = this._l12_a, this._l12_a = this._l23_a;\n this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a;\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(alpha) {\n\n function catmullRom(context) {\n return alpha ? new CatmullRomClosed(context, alpha) : new CardinalClosed(context, 0);\n }\n\n catmullRom.alpha = function(alpha) {\n return custom(+alpha);\n };\n\n return catmullRom;\n})(0.5);\n","import {CardinalOpen} from \"./cardinalOpen.js\";\nimport {point} from \"./catmullRom.js\";\n\nfunction CatmullRomOpen(context, alpha) {\n this._context = context;\n this._alpha = alpha;\n}\n\nCatmullRomOpen.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 = this._x2 =\n this._y0 = this._y1 = this._y2 = NaN;\n this._l01_a = this._l12_a = this._l23_a =\n this._l01_2a = this._l12_2a = this._l23_2a =\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 3)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n\n if (this._point) {\n var x23 = this._x2 - x,\n y23 = this._y2 - y;\n this._l23_a = Math.sqrt(this._l23_2a = Math.pow(x23 * x23 + y23 * y23, this._alpha));\n }\n\n switch (this._point) {\n case 0: this._point = 1; break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; this._line ? this._context.lineTo(this._x2, this._y2) : this._context.moveTo(this._x2, this._y2); break;\n case 3: this._point = 4; // proceed\n default: point(this, x, y); break;\n }\n\n this._l01_a = this._l12_a, this._l12_a = this._l23_a;\n this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a;\n this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;\n this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;\n }\n};\n\nexport default (function custom(alpha) {\n\n function catmullRom(context) {\n return alpha ? new CatmullRomOpen(context, alpha) : new CardinalOpen(context, 0);\n }\n\n catmullRom.alpha = function(alpha) {\n return custom(+alpha);\n };\n\n return catmullRom;\n})(0.5);\n","import noop from \"../noop.js\";\n\nfunction LinearClosed(context) {\n this._context = context;\n}\n\nLinearClosed.prototype = {\n areaStart: noop,\n areaEnd: noop,\n lineStart: function() {\n this._point = 0;\n },\n lineEnd: function() {\n if (this._point) this._context.closePath();\n },\n point: function(x, y) {\n x = +x, y = +y;\n if (this._point) this._context.lineTo(x, y);\n else this._point = 1, this._context.moveTo(x, y);\n }\n};\n\nexport default function(context) {\n return new LinearClosed(context);\n}\n","function sign(x) {\n return x < 0 ? -1 : 1;\n}\n\n// Calculate the slopes of the tangents (Hermite-type interpolation) based on\n// the following paper: Steffen, M. 1990. A Simple Method for Monotonic\n// Interpolation in One Dimension. Astronomy and Astrophysics, Vol. 239, NO.\n// NOV(II), P. 443, 1990.\nfunction slope3(that, x2, y2) {\n var h0 = that._x1 - that._x0,\n h1 = x2 - that._x1,\n s0 = (that._y1 - that._y0) / (h0 || h1 < 0 && -0),\n s1 = (y2 - that._y1) / (h1 || h0 < 0 && -0),\n p = (s0 * h1 + s1 * h0) / (h0 + h1);\n return (sign(s0) + sign(s1)) * Math.min(Math.abs(s0), Math.abs(s1), 0.5 * Math.abs(p)) || 0;\n}\n\n// Calculate a one-sided slope.\nfunction slope2(that, t) {\n var h = that._x1 - that._x0;\n return h ? (3 * (that._y1 - that._y0) / h - t) / 2 : t;\n}\n\n// According to https://en.wikipedia.org/wiki/Cubic_Hermite_spline#Representations\n// \"you can express cubic Hermite interpolation in terms of cubic Bézier curves\n// with respect to the four values p0, p0 + m0 / 3, p1 - m1 / 3, p1\".\nfunction point(that, t0, t1) {\n var x0 = that._x0,\n y0 = that._y0,\n x1 = that._x1,\n y1 = that._y1,\n dx = (x1 - x0) / 3;\n that._context.bezierCurveTo(x0 + dx, y0 + dx * t0, x1 - dx, y1 - dx * t1, x1, y1);\n}\n\nfunction MonotoneX(context) {\n this._context = context;\n}\n\nMonotoneX.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 =\n this._y0 = this._y1 =\n this._t0 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 2: this._context.lineTo(this._x1, this._y1); break;\n case 3: point(this, this._t0, slope2(this, this._t0)); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n var t1 = NaN;\n\n x = +x, y = +y;\n if (x === this._x1 && y === this._y1) return; // Ignore coincident points.\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; point(this, slope2(this, t1 = slope3(this, x, y)), t1); break;\n default: point(this, this._t0, t1 = slope3(this, x, y)); break;\n }\n\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n this._t0 = t1;\n }\n}\n\nfunction MonotoneY(context) {\n this._context = new ReflectContext(context);\n}\n\n(MonotoneY.prototype = Object.create(MonotoneX.prototype)).point = function(x, y) {\n MonotoneX.prototype.point.call(this, y, x);\n};\n\nfunction ReflectContext(context) {\n this._context = context;\n}\n\nReflectContext.prototype = {\n moveTo: function(x, y) { this._context.moveTo(y, x); },\n closePath: function() { this._context.closePath(); },\n lineTo: function(x, y) { this._context.lineTo(y, x); },\n bezierCurveTo: function(x1, y1, x2, y2, x, y) { this._context.bezierCurveTo(y1, x1, y2, x2, y, x); }\n};\n\nexport function monotoneX(context) {\n return new MonotoneX(context);\n}\n\nexport function monotoneY(context) {\n return new MonotoneY(context);\n}\n","function Natural(context) {\n this._context = context;\n}\n\nNatural.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x = [];\n this._y = [];\n },\n lineEnd: function() {\n var x = this._x,\n y = this._y,\n n = x.length;\n\n if (n) {\n this._line ? this._context.lineTo(x[0], y[0]) : this._context.moveTo(x[0], y[0]);\n if (n === 2) {\n this._context.lineTo(x[1], y[1]);\n } else {\n var px = controlPoints(x),\n py = controlPoints(y);\n for (var i0 = 0, i1 = 1; i1 < n; ++i0, ++i1) {\n this._context.bezierCurveTo(px[0][i0], py[0][i0], px[1][i0], py[1][i0], x[i1], y[i1]);\n }\n }\n }\n\n if (this._line || (this._line !== 0 && n === 1)) this._context.closePath();\n this._line = 1 - this._line;\n this._x = this._y = null;\n },\n point: function(x, y) {\n this._x.push(+x);\n this._y.push(+y);\n }\n};\n\n// See https://www.particleincell.com/2012/bezier-splines/ for derivation.\nfunction controlPoints(x) {\n var i,\n n = x.length - 1,\n m,\n a = new Array(n),\n b = new Array(n),\n r = new Array(n);\n a[0] = 0, b[0] = 2, r[0] = x[0] + 2 * x[1];\n for (i = 1; i < n - 1; ++i) a[i] = 1, b[i] = 4, r[i] = 4 * x[i] + 2 * x[i + 1];\n a[n - 1] = 2, b[n - 1] = 7, r[n - 1] = 8 * x[n - 1] + x[n];\n for (i = 1; i < n; ++i) m = a[i] / b[i - 1], b[i] -= m, r[i] -= m * r[i - 1];\n a[n - 1] = r[n - 1] / b[n - 1];\n for (i = n - 2; i >= 0; --i) a[i] = (r[i] - a[i + 1]) / b[i];\n b[n - 1] = (x[n] + a[n - 1]) / 2;\n for (i = 0; i < n - 1; ++i) b[i] = 2 * x[i + 1] - a[i + 1];\n return [a, b];\n}\n\nexport default function(context) {\n return new Natural(context);\n}\n","function Step(context, t) {\n this._context = context;\n this._t = t;\n}\n\nStep.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x = this._y = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n if (0 < this._t && this._t < 1 && this._point === 2) this._context.lineTo(this._x, this._y);\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n if (this._line >= 0) this._t = 1 - this._t, this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; // proceed\n default: {\n if (this._t <= 0) {\n this._context.lineTo(this._x, y);\n this._context.lineTo(x, y);\n } else {\n var x1 = this._x * (1 - this._t) + x * this._t;\n this._context.lineTo(x1, this._y);\n this._context.lineTo(x1, y);\n }\n break;\n }\n }\n this._x = x, this._y = y;\n }\n};\n\nexport default function(context) {\n return new Step(context, 0.5);\n}\n\nexport function stepBefore(context) {\n return new Step(context, 0);\n}\n\nexport function stepAfter(context) {\n return new Step(context, 1);\n}\n","export default function(series, order) {\n if (!((n = series.length) > 1)) return;\n for (var i = 1, j, s0, s1 = series[order[0]], n, m = s1.length; i < n; ++i) {\n s0 = s1, s1 = series[order[i]];\n for (j = 0; j < m; ++j) {\n s1[j][1] += s1[j][0] = isNaN(s0[j][1]) ? s0[j][0] : s0[j][1];\n }\n }\n}\n","export default function(series) {\n var n = series.length, o = new Array(n);\n while (--n >= 0) o[n] = n;\n return o;\n}\n","import {slice} from \"./array.js\";\nimport constant from \"./constant.js\";\nimport offsetNone from \"./offset/none.js\";\nimport orderNone from \"./order/none.js\";\n\nfunction stackValue(d, key) {\n return d[key];\n}\n\nexport default function() {\n var keys = constant([]),\n order = orderNone,\n offset = offsetNone,\n value = stackValue;\n\n function stack(data) {\n var kz = keys.apply(this, arguments),\n i,\n m = data.length,\n n = kz.length,\n sz = new Array(n),\n oz;\n\n for (i = 0; i < n; ++i) {\n for (var ki = kz[i], si = sz[i] = new Array(m), j = 0, sij; j < m; ++j) {\n si[j] = sij = [0, +value(data[j], ki, j, data)];\n sij.data = data[j];\n }\n si.key = ki;\n }\n\n for (i = 0, oz = order(sz); i < n; ++i) {\n sz[oz[i]].index = i;\n }\n\n offset(sz, oz);\n return sz;\n }\n\n stack.keys = function(_) {\n return arguments.length ? (keys = typeof _ === \"function\" ? _ : constant(slice.call(_)), stack) : keys;\n };\n\n stack.value = function(_) {\n return arguments.length ? (value = typeof _ === \"function\" ? _ : constant(+_), stack) : value;\n };\n\n stack.order = function(_) {\n return arguments.length ? (order = _ == null ? orderNone : typeof _ === \"function\" ? _ : constant(slice.call(_)), stack) : order;\n };\n\n stack.offset = function(_) {\n return arguments.length ? (offset = _ == null ? offsetNone : _, stack) : offset;\n };\n\n return stack;\n}\n","import none from \"./none.js\";\n\nexport default function(series, order) {\n if (!((n = series.length) > 0)) return;\n for (var i, n, j = 0, m = series[0].length, y; j < m; ++j) {\n for (y = i = 0; i < n; ++i) y += series[i][j][1] || 0;\n if (y) for (i = 0; i < n; ++i) series[i][j][1] /= y;\n }\n none(series, order);\n}\n","export default function(series, order) {\n if (!((n = series.length) > 0)) return;\n for (var i, j = 0, d, dy, yp, yn, n, m = series[order[0]].length; j < m; ++j) {\n for (yp = yn = 0, i = 0; i < n; ++i) {\n if ((dy = (d = series[order[i]][j])[1] - d[0]) > 0) {\n d[0] = yp, d[1] = yp += dy;\n } else if (dy < 0) {\n d[1] = yn, d[0] = yn += dy;\n } else {\n d[0] = 0, d[1] = dy;\n }\n }\n }\n}\n","import none from \"./none.js\";\n\nexport default function(series, order) {\n if (!((n = series.length) > 0)) return;\n for (var j = 0, s0 = series[order[0]], n, m = s0.length; j < m; ++j) {\n for (var i = 0, y = 0; i < n; ++i) y += series[i][j][1] || 0;\n s0[j][1] += s0[j][0] = -y / 2;\n }\n none(series, order);\n}\n","import none from \"./none.js\";\n\nexport default function(series, order) {\n if (!((n = series.length) > 0) || !((m = (s0 = series[order[0]]).length) > 0)) return;\n for (var y = 0, j = 1, s0, m, n; j < m; ++j) {\n for (var i = 0, s1 = 0, s2 = 0; i < n; ++i) {\n var si = series[order[i]],\n sij0 = si[j][1] || 0,\n sij1 = si[j - 1][1] || 0,\n s3 = (sij0 - sij1) / 2;\n for (var k = 0; k < i; ++k) {\n var sk = series[order[k]],\n skj0 = sk[j][1] || 0,\n skj1 = sk[j - 1][1] || 0;\n s3 += skj0 - skj1;\n }\n s1 += sij0, s2 += s3 * sij0;\n }\n s0[j - 1][1] += s0[j - 1][0] = y;\n if (s1) y -= s2 / s1;\n }\n s0[j - 1][1] += s0[j - 1][0] = y;\n none(series, order);\n}\n","import none from \"./none.js\";\n\nexport default function(series) {\n var peaks = series.map(peak);\n return none(series).sort(function(a, b) { return peaks[a] - peaks[b]; });\n}\n\nfunction peak(series) {\n var i = -1, j = 0, n = series.length, vi, vj = -Infinity;\n while (++i < n) if ((vi = +series[i][1]) > vj) vj = vi, j = i;\n return j;\n}\n","import none from \"./none.js\";\n\nexport default function(series) {\n var sums = series.map(sum);\n return none(series).sort(function(a, b) { return sums[a] - sums[b]; });\n}\n\nexport function sum(series) {\n var s = 0, i = -1, n = series.length, v;\n while (++i < n) if (v = +series[i][1]) s += v;\n return s;\n}\n","import ascending from \"./ascending.js\";\n\nexport default function(series) {\n return ascending(series).reverse();\n}\n","import appearance from \"./appearance.js\";\nimport {sum} from \"./ascending.js\";\n\nexport default function(series) {\n var n = series.length,\n i,\n j,\n sums = series.map(sum),\n order = appearance(series),\n top = 0,\n bottom = 0,\n tops = [],\n bottoms = [];\n\n for (i = 0; i < n; ++i) {\n j = order[i];\n if (top < bottom) {\n top += sums[j];\n tops.push(j);\n } else {\n bottom += sums[j];\n bottoms.push(j);\n }\n }\n\n return bottoms.reverse().concat(tops);\n}\n","import none from \"./none.js\";\n\nexport default function(series) {\n return none(series).reverse();\n}\n","export default function(x) {\n return Math.abs(x = Math.round(x)) >= 1e21\n ? x.toLocaleString(\"en\").replace(/,/g, \"\")\n : x.toString(10);\n}\n\n// Computes the decimal coefficient and exponent of the specified number x with\n// significant digits p, where x is positive and p is in [1, 21] or undefined.\n// For example, formatDecimalParts(1.23) returns [\"123\", 0].\nexport function formatDecimalParts(x, p) {\n if ((i = (x = p ? x.toExponential(p - 1) : x.toExponential()).indexOf(\"e\")) < 0) return null; // NaN, ±Infinity\n var i, coefficient = x.slice(0, i);\n\n // The string returned by toExponential either has the form \\d\\.\\d+e[-+]\\d+\n // (e.g., 1.2e+3) or the form \\de[-+]\\d+ (e.g., 1e+3).\n return [\n coefficient.length > 1 ? coefficient[0] + coefficient.slice(2) : coefficient,\n +x.slice(i + 1)\n ];\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport default function(x) {\n return x = formatDecimalParts(Math.abs(x)), x ? x[1] : NaN;\n}\n","export default function(grouping, thousands) {\n return function(value, width) {\n var i = value.length,\n t = [],\n j = 0,\n g = grouping[0],\n length = 0;\n\n while (i > 0 && g > 0) {\n if (length + g + 1 > width) g = Math.max(1, width - length);\n t.push(value.substring(i -= g, i + g));\n if ((length += g + 1) > width) break;\n g = grouping[j = (j + 1) % grouping.length];\n }\n\n return t.reverse().join(thousands);\n };\n}\n","export default function(numerals) {\n return function(value) {\n return value.replace(/[0-9]/g, function(i) {\n return numerals[+i];\n });\n };\n}\n","// [[fill]align][sign][symbol][0][width][,][.precision][~][type]\nvar re = /^(?:(.)?([<>=^]))?([+\\-( ])?([$#])?(0)?(\\d+)?(,)?(\\.\\d+)?(~)?([a-z%])?$/i;\n\nexport default function formatSpecifier(specifier) {\n if (!(match = re.exec(specifier))) throw new Error(\"invalid format: \" + specifier);\n var match;\n return new FormatSpecifier({\n fill: match[1],\n align: match[2],\n sign: match[3],\n symbol: match[4],\n zero: match[5],\n width: match[6],\n comma: match[7],\n precision: match[8] && match[8].slice(1),\n trim: match[9],\n type: match[10]\n });\n}\n\nformatSpecifier.prototype = FormatSpecifier.prototype; // instanceof\n\nexport function FormatSpecifier(specifier) {\n this.fill = specifier.fill === undefined ? \" \" : specifier.fill + \"\";\n this.align = specifier.align === undefined ? \">\" : specifier.align + \"\";\n this.sign = specifier.sign === undefined ? \"-\" : specifier.sign + \"\";\n this.symbol = specifier.symbol === undefined ? \"\" : specifier.symbol + \"\";\n this.zero = !!specifier.zero;\n this.width = specifier.width === undefined ? undefined : +specifier.width;\n this.comma = !!specifier.comma;\n this.precision = specifier.precision === undefined ? undefined : +specifier.precision;\n this.trim = !!specifier.trim;\n this.type = specifier.type === undefined ? \"\" : specifier.type + \"\";\n}\n\nFormatSpecifier.prototype.toString = function() {\n return this.fill\n + this.align\n + this.sign\n + this.symbol\n + (this.zero ? \"0\" : \"\")\n + (this.width === undefined ? \"\" : Math.max(1, this.width | 0))\n + (this.comma ? \",\" : \"\")\n + (this.precision === undefined ? \"\" : \".\" + Math.max(0, this.precision | 0))\n + (this.trim ? \"~\" : \"\")\n + this.type;\n};\n","// Trims insignificant zeros, e.g., replaces 1.2000k with 1.2k.\nexport default function(s) {\n out: for (var n = s.length, i = 1, i0 = -1, i1; i < n; ++i) {\n switch (s[i]) {\n case \".\": i0 = i1 = i; break;\n case \"0\": if (i0 === 0) i0 = i; i1 = i; break;\n default: if (!+s[i]) break out; if (i0 > 0) i0 = 0; break;\n }\n }\n return i0 > 0 ? s.slice(0, i0) + s.slice(i1 + 1) : s;\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport var prefixExponent;\n\nexport default function(x, p) {\n var d = formatDecimalParts(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1],\n i = exponent - (prefixExponent = Math.max(-8, Math.min(8, Math.floor(exponent / 3))) * 3) + 1,\n n = coefficient.length;\n return i === n ? coefficient\n : i > n ? coefficient + new Array(i - n + 1).join(\"0\")\n : i > 0 ? coefficient.slice(0, i) + \".\" + coefficient.slice(i)\n : \"0.\" + new Array(1 - i).join(\"0\") + formatDecimalParts(x, Math.max(0, p + i - 1))[0]; // less than 1y!\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport default function(x, p) {\n var d = formatDecimalParts(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1];\n return exponent < 0 ? \"0.\" + new Array(-exponent).join(\"0\") + coefficient\n : coefficient.length > exponent + 1 ? coefficient.slice(0, exponent + 1) + \".\" + coefficient.slice(exponent + 1)\n : coefficient + new Array(exponent - coefficient.length + 2).join(\"0\");\n}\n","import formatDecimal from \"./formatDecimal.js\";\nimport formatPrefixAuto from \"./formatPrefixAuto.js\";\nimport formatRounded from \"./formatRounded.js\";\n\nexport default {\n \"%\": function(x, p) { return (x * 100).toFixed(p); },\n \"b\": function(x) { return Math.round(x).toString(2); },\n \"c\": function(x) { return x + \"\"; },\n \"d\": formatDecimal,\n \"e\": function(x, p) { return x.toExponential(p); },\n \"f\": function(x, p) { return x.toFixed(p); },\n \"g\": function(x, p) { return x.toPrecision(p); },\n \"o\": function(x) { return Math.round(x).toString(8); },\n \"p\": function(x, p) { return formatRounded(x * 100, p); },\n \"r\": formatRounded,\n \"s\": formatPrefixAuto,\n \"X\": function(x) { return Math.round(x).toString(16).toUpperCase(); },\n \"x\": function(x) { return Math.round(x).toString(16); }\n};\n","export default function(x) {\n return x;\n}\n","import exponent from \"./exponent.js\";\nimport formatGroup from \"./formatGroup.js\";\nimport formatNumerals from \"./formatNumerals.js\";\nimport formatSpecifier from \"./formatSpecifier.js\";\nimport formatTrim from \"./formatTrim.js\";\nimport formatTypes from \"./formatTypes.js\";\nimport {prefixExponent} from \"./formatPrefixAuto.js\";\nimport identity from \"./identity.js\";\n\nvar map = Array.prototype.map,\n prefixes = [\"y\",\"z\",\"a\",\"f\",\"p\",\"n\",\"µ\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\",\"P\",\"E\",\"Z\",\"Y\"];\n\nexport default function(locale) {\n var group = locale.grouping === undefined || locale.thousands === undefined ? identity : formatGroup(map.call(locale.grouping, Number), locale.thousands + \"\"),\n currencyPrefix = locale.currency === undefined ? \"\" : locale.currency[0] + \"\",\n currencySuffix = locale.currency === undefined ? \"\" : locale.currency[1] + \"\",\n decimal = locale.decimal === undefined ? \".\" : locale.decimal + \"\",\n numerals = locale.numerals === undefined ? identity : formatNumerals(map.call(locale.numerals, String)),\n percent = locale.percent === undefined ? \"%\" : locale.percent + \"\",\n minus = locale.minus === undefined ? \"-\" : locale.minus + \"\",\n nan = locale.nan === undefined ? \"NaN\" : locale.nan + \"\";\n\n function newFormat(specifier) {\n specifier = formatSpecifier(specifier);\n\n var fill = specifier.fill,\n align = specifier.align,\n sign = specifier.sign,\n symbol = specifier.symbol,\n zero = specifier.zero,\n width = specifier.width,\n comma = specifier.comma,\n precision = specifier.precision,\n trim = specifier.trim,\n type = specifier.type;\n\n // The \"n\" type is an alias for \",g\".\n if (type === \"n\") comma = true, type = \"g\";\n\n // The \"\" type, and any invalid type, is an alias for \".12~g\".\n else if (!formatTypes[type]) precision === undefined && (precision = 12), trim = true, type = \"g\";\n\n // If zero fill is specified, padding goes after sign and before digits.\n if (zero || (fill === \"0\" && align === \"=\")) zero = true, fill = \"0\", align = \"=\";\n\n // Compute the prefix and suffix.\n // For SI-prefix, the suffix is lazily computed.\n var prefix = symbol === \"$\" ? currencyPrefix : symbol === \"#\" && /[boxX]/.test(type) ? \"0\" + type.toLowerCase() : \"\",\n suffix = symbol === \"$\" ? currencySuffix : /[%p]/.test(type) ? percent : \"\";\n\n // What format function should we use?\n // Is this an integer type?\n // Can this type generate exponential notation?\n var formatType = formatTypes[type],\n maybeSuffix = /[defgprs%]/.test(type);\n\n // Set the default precision if not specified,\n // or clamp the specified precision to the supported range.\n // For significant precision, it must be in [1, 21].\n // For fixed precision, it must be in [0, 20].\n precision = precision === undefined ? 6\n : /[gprs]/.test(type) ? Math.max(1, Math.min(21, precision))\n : Math.max(0, Math.min(20, precision));\n\n function format(value) {\n var valuePrefix = prefix,\n valueSuffix = suffix,\n i, n, c;\n\n if (type === \"c\") {\n valueSuffix = formatType(value) + valueSuffix;\n value = \"\";\n } else {\n value = +value;\n\n // Determine the sign. -0 is not less than 0, but 1 / -0 is!\n var valueNegative = value < 0 || 1 / value < 0;\n\n // Perform the initial formatting.\n value = isNaN(value) ? nan : formatType(Math.abs(value), precision);\n\n // Trim insignificant zeros.\n if (trim) value = formatTrim(value);\n\n // If a negative value rounds to zero after formatting, and no explicit positive sign is requested, hide the sign.\n if (valueNegative && +value === 0 && sign !== \"+\") valueNegative = false;\n\n // Compute the prefix and suffix.\n valuePrefix = (valueNegative ? (sign === \"(\" ? sign : minus) : sign === \"-\" || sign === \"(\" ? \"\" : sign) + valuePrefix;\n valueSuffix = (type === \"s\" ? prefixes[8 + prefixExponent / 3] : \"\") + valueSuffix + (valueNegative && sign === \"(\" ? \")\" : \"\");\n\n // Break the formatted value into the integer “value” part that can be\n // grouped, and fractional or exponential “suffix” part that is not.\n if (maybeSuffix) {\n i = -1, n = value.length;\n while (++i < n) {\n if (c = value.charCodeAt(i), 48 > c || c > 57) {\n valueSuffix = (c === 46 ? decimal + value.slice(i + 1) : value.slice(i)) + valueSuffix;\n value = value.slice(0, i);\n break;\n }\n }\n }\n }\n\n // If the fill character is not \"0\", grouping is applied before padding.\n if (comma && !zero) value = group(value, Infinity);\n\n // Compute the padding.\n var length = valuePrefix.length + value.length + valueSuffix.length,\n padding = length < width ? new Array(width - length + 1).join(fill) : \"\";\n\n // If the fill character is \"0\", grouping is applied after padding.\n if (comma && zero) value = group(padding + value, padding.length ? width - valueSuffix.length : Infinity), padding = \"\";\n\n // Reconstruct the final output based on the desired alignment.\n switch (align) {\n case \"<\": value = valuePrefix + value + valueSuffix + padding; break;\n case \"=\": value = valuePrefix + padding + value + valueSuffix; break;\n case \"^\": value = padding.slice(0, length = padding.length >> 1) + valuePrefix + value + valueSuffix + padding.slice(length); break;\n default: value = padding + valuePrefix + value + valueSuffix; break;\n }\n\n return numerals(value);\n }\n\n format.toString = function() {\n return specifier + \"\";\n };\n\n return format;\n }\n\n function formatPrefix(specifier, value) {\n var f = newFormat((specifier = formatSpecifier(specifier), specifier.type = \"f\", specifier)),\n e = Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3,\n k = Math.pow(10, -e),\n prefix = prefixes[8 + e / 3];\n return function(value) {\n return f(k * value) + prefix;\n };\n }\n\n return {\n format: newFormat,\n formatPrefix: formatPrefix\n };\n}\n","import formatLocale from \"./locale.js\";\n\nvar locale;\nexport var format;\nexport var formatPrefix;\n\ndefaultLocale({\n decimal: \".\",\n thousands: \",\",\n grouping: [3],\n currency: [\"$\", \"\"],\n minus: \"-\"\n});\n\nexport default function defaultLocale(definition) {\n locale = formatLocale(definition);\n format = locale.format;\n formatPrefix = locale.formatPrefix;\n return locale;\n}\n","import{createContext as e,useMemo as r,useContext as t,useRef as i,useEffect as n,useState as o,cloneElement as a,useCallback as s,memo as l,createElement as d,Component as u}from\"react\";import f from\"prop-types\";import{TooltipProvider as c,Tooltip as p,useTooltipHandlers as h,TooltipActionsContext as g,TooltipStateContext as m}from\"@nivo/tooltip\";import b from\"lodash/merge\";import y from\"lodash/get\";import v from\"lodash/set\";import{interpolateString as R}from\"d3-interpolate\";import{config as q,useSpring as k,to as _,animated as w}from\"@react-spring/web\";import x from\"lodash/isString\";import{jsx as O,jsxs as C}from\"react/jsx-runtime\";import W from\"lodash/last\";import S from\"lodash/isArray\";import{scaleQuantize as z,scaleOrdinal as P,scaleSequential as T}from\"d3-scale\";import{schemeBrBG as M,schemePRGn as j,schemePiYG as D,schemePuOr as G,schemeRdBu as B,schemeRdGy as L,schemeRdYlBu as I,schemeRdYlGn as Y,schemeSpectral as A,schemeBlues as F,schemeGreens as E,schemeGreys as U,schemeOranges as X,schemePurples as K,schemeReds as H,schemeBuGn as N,schemeBuPu as V,schemeGnBu as J,schemeOrRd as Q,schemePuBuGn as Z,schemePuBu as $,schemePuRd as ee,schemeRdPu as re,schemeYlGnBu as te,schemeYlGn as ie,schemeYlOrBr as ne,schemeYlOrRd as oe,schemeCategory10 as ae,schemeAccent as se,schemeDark2 as le,schemePaired as de,schemePastel1 as ue,schemePastel2 as fe,schemeSet1 as ce,schemeSet2 as pe,schemeSet3 as he,interpolateBrBG as ge,interpolatePRGn as me,interpolatePiYG as be,interpolatePuOr as ye,interpolateRdBu as ve,interpolateRdGy as Re,interpolateRdYlBu as qe,interpolateRdYlGn as ke,interpolateSpectral as _e,interpolateBlues as we,interpolateGreens as xe,interpolateGreys as Oe,interpolateOranges as Ce,interpolatePurples as We,interpolateReds as Se,interpolateViridis as ze,interpolateInferno as Pe,interpolateMagma as Te,interpolatePlasma as Me,interpolateWarm as je,interpolateCool as De,interpolateCubehelixDefault as Ge,interpolateBuGn as Be,interpolateBuPu as Le,interpolateGnBu as Ie,interpolateOrRd as Ye,interpolatePuBuGn as Ae,interpolatePuBu as Fe,interpolatePuRd as Ee,interpolateRdPu as Ue,interpolateYlGnBu as Xe,interpolateYlGn as Ke,interpolateYlOrBr as He,interpolateYlOrRd as Ne,interpolateRainbow as Ve,interpolateSinebow as Je}from\"d3-scale-chromatic\";import Qe from\"lodash/isFunction\";import Ze from\"lodash/without\";import{curveBasis as $e,curveBasisClosed as er,curveBasisOpen as rr,curveBundle as tr,curveCardinal as ir,curveCardinalClosed as nr,curveCardinalOpen as or,curveCatmullRom as ar,curveCatmullRomClosed as sr,curveCatmullRomOpen as lr,curveLinear as dr,curveLinearClosed as ur,curveMonotoneX as fr,curveMonotoneY as cr,curveNatural as pr,curveStep as hr,curveStepAfter as gr,curveStepBefore as mr,stackOrderAscending as br,stackOrderDescending as yr,stackOrderInsideOut as vr,stackOrderNone as Rr,stackOrderReverse as qr,stackOffsetExpand as kr,stackOffsetDiverging as _r,stackOffsetNone as wr,stackOffsetSilhouette as xr,stackOffsetWiggle as Or}from\"d3-shape\";import{format as Cr}from\"d3-format\";import{timeFormat as Wr}from\"d3-time-format\";import{compose as Sr,defaultProps as zr,setPropTypes as Pr,withPropsOnChange as Tr}from\"@nivo/recompose\";import Mr from\"lodash/isEqual\";import jr from\"lodash/isPlainObject\";import Dr from\"lodash/pick\";function Gr(){return Gr=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i])}return e},Gr.apply(this,arguments)}function Br(e,r){return Br=Object.setPrototypeOf||function(e,r){return e.__proto__=r,e},Br(e,r)}function Lr(e,r){if(null==e)return{};var t,i,n={},o=Object.keys(e);for(i=0;i<o.length;i++)t=o[i],r.indexOf(t)>=0||(n[t]=e[t]);return n}var Ir={fill:f.string,fontSize:f.number,fontFamily:f.string},Yr=f.shape({domain:f.shape({line:f.shape({stroke:f.string.isRequired,strokeWidth:f.number.isRequired,strokeDasharray:f.string}).isRequired}).isRequired,ticks:f.shape({line:f.shape({stroke:f.string.isRequired,strokeWidth:f.number.isRequired,strokeDasharray:f.string}).isRequired,text:f.shape(Gr({},Ir)).isRequired}).isRequired,legend:f.shape({text:f.shape(Gr({},Ir)).isRequired}).isRequired}),Ar=f.shape({line:f.shape({stroke:f.string.isRequired,strokeWidth:f.number.isRequired,strokeDasharray:f.string}).isRequired}),Fr=f.shape({hidden:f.shape({symbol:f.shape({fill:f.string.isRequired,opacity:f.number}).isRequired,text:f.shape(Gr({},Ir,{opacity:f.number})).isRequired}).isRequired,text:f.shape(Gr({},Ir)).isRequired}),Er=f.shape({text:f.shape(Gr({},Ir)).isRequired}),Ur=f.shape({text:f.shape(Gr({},Ir)).isRequired}),Xr=f.shape({text:f.shape(Gr({},Ir)).isRequired}),Kr=f.shape({line:f.shape({stroke:f.string.isRequired,strokeWidth:f.number.isRequired,strokeDasharray:f.string}).isRequired}),Hr=f.shape({text:f.shape(Gr({},Ir,{outlineWidth:f.number.isRequired,outlineColor:f.string.isRequired})).isRequired,link:f.shape({stroke:f.string.isRequired,strokeWidth:f.number.isRequired,outlineWidth:f.number.isRequired,outlineColor:f.string.isRequired}).isRequired,outline:f.shape({stroke:f.string.isRequired,strokeWidth:f.number.isRequired,outlineWidth:f.number.isRequired,outlineColor:f.string.isRequired}).isRequired,symbol:f.shape({fill:f.string.isRequired,outlineWidth:f.number.isRequired,outlineColor:f.string.isRequired}).isRequired}),Nr=f.shape({background:f.string.isRequired,fontFamily:f.string.isRequired,fontSize:f.number.isRequired,textColor:f.string.isRequired,axis:Yr.isRequired,grid:Ar.isRequired,legends:Fr.isRequired,labels:Er.isRequired,dots:Ur.isRequired,markers:Xr,crosshair:Kr.isRequired,annotations:Hr.isRequired}),Vr={background:\"transparent\",fontFamily:\"sans-serif\",fontSize:11,textColor:\"#333333\",axis:{domain:{line:{stroke:\"transparent\",strokeWidth:1}},ticks:{line:{stroke:\"#777777\",strokeWidth:1},text:{}},legend:{text:{fontSize:12}}},grid:{line:{stroke:\"#dddddd\",strokeWidth:1}},legends:{hidden:{symbol:{fill:\"#333333\",opacity:.6},text:{fill:\"#333333\",opacity:.6}},text:{},ticks:{line:{stroke:\"#777777\",strokeWidth:1},text:{fontSize:10}},title:{text:{}}},labels:{text:{}},markers:{lineColor:\"#000000\",lineStrokeWidth:1,text:{}},dots:{text:{}},tooltip:{container:{background:\"white\",color:\"inherit\",fontSize:\"inherit\",borderRadius:\"2px\",boxShadow:\"0 1px 2px rgba(0, 0, 0, 0.25)\",padding:\"5px 9px\"},basic:{whiteSpace:\"pre\",display:\"flex\",alignItems:\"center\"},chip:{marginRight:7},table:{},tableCell:{padding:\"3px 5px\"},tableCellValue:{fontWeight:\"bold\"}},crosshair:{line:{stroke:\"#000000\",strokeWidth:1,strokeOpacity:.75,strokeDasharray:\"6 6\"}},annotations:{text:{fontSize:13,outlineWidth:2,outlineColor:\"#ffffff\",outlineOpacity:1},link:{stroke:\"#000000\",strokeWidth:1,outlineWidth:2,outlineColor:\"#ffffff\",outlineOpacity:1},outline:{fill:\"none\",stroke:\"#000000\",strokeWidth:2,outlineWidth:2,outlineColor:\"#ffffff\",outlineOpacity:1},symbol:{fill:\"#000000\",outlineWidth:2,outlineColor:\"#ffffff\",outlineOpacity:1}}},Jr=[\"axis.ticks.text\",\"axis.legend.text\",\"legends.title.text\",\"legends.text\",\"legends.ticks.text\",\"legends.title.text\",\"labels.text\",\"dots.text\",\"markers.text\",\"annotations.text\"],Qr=function(e,r){var t=b({},e,r);return Jr.forEach((function(e){void 0===y(t,e+\".fontFamily\")&&v(t,e+\".fontFamily\",t.fontFamily),void 0===y(t,e+\".fontSize\")&&v(t,e+\".fontSize\",t.fontSize),void 0===y(t,e+\".fill\")&&v(t,e+\".fill\",t.textColor)})),t},Zr=e(),$r=function(e){var t=e.children,i=e.animate,n=e.stiffness,o=e.damping,a=e.config,s=r((function(){var e=x(a)?q[a]:a;return{animate:i,springConfig:{stiffness:n,damping:o},config:e}}),[i,n,o,a]);return O(Zr.Provider,{value:s,children:t})},et={animate:f.bool,motionStiffness:f.number,motionDamping:f.number,motionConfig:f.oneOfType([f.oneOf(Object.keys(q)),f.shape({mass:f.number,tension:f.number,friction:f.number,clamp:f.bool,precision:f.number,velocity:f.number,duration:f.number,easing:f.func})])};$r.propTypes={children:f.node.isRequired,animate:et.animate,stiffness:et.motionStiffness,damping:et.motionDamping,config:et.motionConfig};var rt={animate:!0,stiffness:90,damping:15,config:\"default\"};$r.defaultProps=rt;var tt=function(){return t(Zr)},it=function(e){var t=tt(),o=t.animate,a=t.config,s=function(e){var r=i();return n((function(){r.current=e}),[e]),r.current}(e),l=r((function(){return R(s,e)}),[s,e]),d=k({from:{value:0},to:{value:1},reset:!0,config:a,immediate:!o}).value;return _(d,l)},nt={nivo:[\"#d76445\",\"#f47560\",\"#e8c1a0\",\"#97e3d5\",\"#61cdbb\",\"#00b0a7\"],BrBG:W(M),PRGn:W(j),PiYG:W(D),PuOr:W(G),RdBu:W(B),RdGy:W(L),RdYlBu:W(I),RdYlGn:W(Y),spectral:W(A),blues:W(F),greens:W(E),greys:W(U),oranges:W(X),purples:W(K),reds:W(H),BuGn:W(N),BuPu:W(V),GnBu:W(J),OrRd:W(Q),PuBuGn:W(Z),PuBu:W($),PuRd:W(ee),RdPu:W(re),YlGnBu:W(te),YlGn:W(ie),YlOrBr:W(ne),YlOrRd:W(oe)},ot=Object.keys(nt),at=function(e){if(Qe(e)){if(!Qe(e.domain))throw new Error(\"Provided colors should be a valid quantize scale providing a 'domain()' function\");return e}if(nt[e])return z().range(nt[e]);if(S(e))return z().range(e);throw new Error(\"Unable to guess quantize color scale from '\"+e+\"',\\nmust be a function or one of:\\n'\"+ot.join(\"', '\")+\"'\")},st={nivo:[\"#e8c1a0\",\"#f47560\",\"#f1e15b\",\"#e8a838\",\"#61cdbb\",\"#97e3d5\"],category10:ae,accent:se,dark2:le,paired:de,pastel1:ue,pastel2:fe,set1:ce,set2:pe,set3:he,brown_blueGreen:W(M),purpleRed_green:W(j),pink_yellowGreen:W(D),purple_orange:W(G),red_blue:W(B),red_grey:W(L),red_yellow_blue:W(I),red_yellow_green:W(Y),spectral:W(A),blues:W(F),greens:W(E),greys:W(U),oranges:W(X),purples:W(K),reds:W(H),blue_green:W(N),blue_purple:W(V),green_blue:W(J),orange_red:W(Q),purple_blue_green:W(Z),purple_blue:W($),purple_red:W(ee),red_purple:W(re),yellow_green_blue:W(te),yellow_green:W(ie),yellow_orange_brown:W(ne),yellow_orange_red:W(oe)},lt=[\"nivo\",\"category10\",\"accent\",\"dark2\",\"paired\",\"pastel1\",\"pastel2\",\"set1\",\"set2\",\"set3\",\"brown_blueGreen\",\"purpleRed_green\",\"pink_yellowGreen\",\"purple_orange\",\"red_blue\",\"red_grey\",\"red_yellow_blue\",\"red_yellow_green\",\"spectral\",\"blues\",\"greens\",\"greys\",\"oranges\",\"purples\",\"reds\",\"blue_green\",\"blue_purple\",\"green_blue\",\"orange_red\",\"purple_blue_green\",\"purple_blue\",\"purple_red\",\"red_purple\",\"yellow_green_blue\",\"yellow_green\",\"yellow_orange_brown\",\"yellow_orange_red\"],dt={brown_blueGreen:ge,purpleRed_green:me,pink_yellowGreen:be,purple_orange:ye,red_blue:ve,red_grey:Re,red_yellow_blue:qe,red_yellow_green:ke,spectral:_e,blues:we,greens:xe,greys:Oe,oranges:Ce,purples:We,reds:Se,viridis:ze,inferno:Pe,magma:Te,plasma:Me,warm:je,cool:De,cubehelixDefault:Ge,blue_green:Be,blue_purple:Le,green_blue:Ie,orange_red:Ye,purple_blue_green:Ae,purple_blue:Fe,purple_red:Ee,red_purple:Ue,yellow_green_blue:Xe,yellow_green:Ke,yellow_orange_brown:He,yellow_orange_red:Ne,rainbow:Ve,sinebow:Je},ut=[\"brown_blueGreen\",\"purpleRed_green\",\"pink_yellowGreen\",\"purple_orange\",\"red_blue\",\"red_grey\",\"red_yellow_blue\",\"red_yellow_green\",\"spectral\",\"blues\",\"greens\",\"greys\",\"oranges\",\"purples\",\"reds\",\"viridis\",\"inferno\",\"magma\",\"plasma\",\"warm\",\"cool\",\"cubehelixDefault\",\"blue_green\",\"blue_purple\",\"green_blue\",\"orange_red\",\"purple_blue_green\",\"purple_blue\",\"purple_red\",\"red_purple\",\"yellow_green_blue\",\"yellow_green\",\"yellow_orange_brown\",\"yellow_orange_red\",\"rainbow\",\"sinebow\"],ft=function(){return P([\"#e8c1a0\",\"#f47560\",\"#f1e15b\",\"#e8a838\",\"#61cdbb\",\"#97e3d5\"])},ct=function(e,r){if(x(e)){var t=st[e];if(void 0!==t){var i=P(t);return i.type=\"ordinal\",i}if(void 0!==r&&0===e.indexOf(\"seq:\")){var n=dt[e.slice(4)];if(void 0!==n){var o=T(n).domain(r.domain());return o.type=\"sequential\",o}}}if(S(e)){var a=P(e);return a.type=\"ordinal\",a}return function(){return e}},pt=f.oneOfType([f.oneOf(ot),f.func,f.arrayOf(f.string)]),ht={basis:$e,basisClosed:er,basisOpen:rr,bundle:tr,cardinal:ir,cardinalClosed:nr,cardinalOpen:or,catmullRom:ar,catmullRomClosed:sr,catmullRomOpen:lr,linear:dr,linearClosed:ur,monotoneX:fr,monotoneY:cr,natural:pr,step:hr,stepAfter:gr,stepBefore:mr},gt=Object.keys(ht),mt=f.oneOf(gt),bt=gt.filter((function(e){return e.endsWith(\"Closed\")})),yt=Ze(gt,\"bundle\",\"basisClosed\",\"basisOpen\",\"cardinalClosed\",\"cardinalOpen\",\"catmullRomClosed\",\"catmullRomOpen\",\"linearClosed\"),vt=Ze(gt,\"bundle\",\"basisClosed\",\"basisOpen\",\"cardinalClosed\",\"cardinalOpen\",\"catmullRomClosed\",\"catmullRomOpen\",\"linearClosed\"),Rt=f.oneOf(vt),qt=function(e){if(!ht[e])throw new TypeError(\"'\"+e+\"', is not a valid curve interpolator identifier.\");return ht[e]},kt={defs:f.arrayOf(f.shape({id:f.string.isRequired})).isRequired,fill:f.arrayOf(f.shape({id:f.string.isRequired,match:f.oneOfType([f.oneOf([\"*\"]),f.object,f.func]).isRequired})).isRequired},_t={ascending:br,descending:yr,insideOut:vr,none:Rr,reverse:qr},wt=Object.keys(_t),xt=f.oneOf(wt),Ot=function(e){return _t[e]},Ct={expand:kr,diverging:_r,none:wr,silhouette:xr,wiggle:Or},Wt=Object.keys(Ct),St=f.oneOf(Wt),zt=function(e){return Ct[e]},Pt=f.shape({top:f.number,right:f.number,bottom:f.number,left:f.number}).isRequired,Tt=[\"normal\",\"multiply\",\"screen\",\"overlay\",\"darken\",\"lighten\",\"color-dodge\",\"color-burn\",\"hard-light\",\"soft-light\",\"difference\",\"exclusion\",\"hue\",\"saturation\",\"color\",\"luminosity\"],Mt=f.oneOf(Tt),jt=function(e){return r((function(){return qt(e)}),[e])},Dt=!0,Gt=90,Bt=15,Lt=ft,It=P(he),Yt={top:0,right:0,bottom:0,left:0},At=function(e,t,i){return void 0===i&&(i={}),r((function(){var r=Gr({},Yt,i);return{margin:r,innerWidth:e-r.left-r.right,innerHeight:t-r.top-r.bottom,outerWidth:e,outerHeight:t}}),[e,t,i.top,i.right,i.bottom,i.left])},Ft=function(){var e=i(null),r=o({left:0,top:0,width:0,height:0}),t=r[0],a=r[1],s=o((function(){return\"undefined\"!=typeof window?new ResizeObserver((function(e){var r=e[0];return a(r.contentRect)})):null}))[0];return n((function(){return e.current&&null!==s&&s.observe(e.current),function(){null!==s&&s.disconnect()}}),[]),[e,t]},Et=function(e){return r((function(){return Qr(Vr,e)}),[e])},Ut=function(e){return\"function\"==typeof e?e:\"string\"==typeof e?0===e.indexOf(\"time:\")?Wr(e.slice(\"5\")):Cr(e):function(e){return\"\"+e}},Xt=function(e){return r((function(){return Ut(e)}),[e])},Kt=e(),Ht={},Nt=function(e){var r=e.theme,t=void 0===r?Ht:r,i=e.children,n=Et(t);return O(Kt.Provider,{value:n,children:i})};Nt.propTypes={children:f.node.isRequired,theme:f.object};var Vt=function(){return t(Kt)},Jt=function(e){var r=e.children,t=e.condition,i=e.wrapper;return t?a(i,{},r):r};Jt.propTypes={children:f.node.isRequired,condition:f.bool.isRequired,wrapper:f.element.isRequired};var Qt={position:\"relative\"},Zt=function(e){var r=e.children,t=e.theme,n=e.renderWrapper,o=void 0===n||n,a=e.isInteractive,s=void 0===a||a,l=e.animate,d=e.motionStiffness,u=e.motionDamping,f=e.motionConfig,h=i(null);return O(Nt,{theme:t,children:O($r,{animate:l,stiffness:d,damping:u,config:f,children:O(c,{container:h,children:C(Jt,{condition:o,wrapper:O(\"div\",{style:Qt,ref:h}),children:[r,s&&O(p,{})]})})})})};Zt.propTypes={children:f.element.isRequired,isInteractive:f.bool,renderWrapper:f.bool,theme:f.object,animate:f.bool,motionStiffness:f.number,motionDamping:f.number,motionConfig:f.string};var $t=function(){},ei={position:\"relative\"},ri=function(e){var t=e.children,n=e.theme,o=e.isInteractive,a=void 0===o||o,l=e.renderWrapper,d=void 0===l||l,u=e.animate,f=e.motionStiffness,c=e.motionDamping,b=e.motionConfig,y=i(null),v=h(y),R=v.actions,q=v.state,k=s((function(e,r){return R.showTooltipFromEvent(e,r)}),[R.showTooltipFromEvent]),_=r((function(){return{showTooltip:a?k:$t,hideTooltip:a?R.hideTooltip:$t}}),[R.hideTooltip,a,k]);return O(Nt,{theme:n,children:O($r,{animate:u,stiffness:f,damping:c,config:b,children:O(g.Provider,{value:R,children:O(m.Provider,{value:q,children:C(Jt,{condition:d,wrapper:O(\"div\",{style:ei,ref:y}),children:[t(_),a&&O(p,{})]})})})})})};ri.propTypes={children:f.func.isRequired,isInteractive:f.bool,renderWrapper:f.bool,theme:f.object.isRequired,animate:f.bool.isRequired,motionStiffness:f.number,motionDamping:f.number,motionConfig:f.string};var ti=function(e){var r=e.children,t=Ft(),i=t[0],n=t[1],o=n.width>0&&n.height>0;return O(\"div\",{ref:i,style:{width:\"100%\",height:\"100%\"},children:o&&r({width:n.width,height:n.height})})};ti.propTypes={children:f.func.isRequired};var ii=[\"id\",\"colors\"],ni=function(e){var r=e.id,t=e.colors,i=Lr(e,ii);return O(\"linearGradient\",Gr({id:r,x1:0,x2:0,y1:0,y2:1},i,{children:t.map((function(e){var r=e.offset,t=e.color,i=e.opacity;return O(\"stop\",{offset:r+\"%\",stopColor:t,stopOpacity:void 0!==i?i:1},r)}))}))};ni.propTypes={id:f.string.isRequired,colors:f.arrayOf(f.shape({offset:f.number.isRequired,color:f.string.isRequired,opacity:f.number})).isRequired,gradientTransform:f.string};var oi=function(e,r,t){return void 0===t&&(t={}),Gr({id:e,type:\"linearGradient\",colors:r},t)},ai={linearGradient:ni},si=l((function(e){var r=e.id,t=e.background,i=e.color,n=e.size,o=e.padding,a=e.stagger,s=n+o,l=n/2,d=o/2;return!0===a&&(s=2*n+2*o),C(\"pattern\",{id:r,width:s,height:s,patternUnits:\"userSpaceOnUse\",children:[O(\"rect\",{width:s,height:s,fill:t}),O(\"circle\",{cx:d+l,cy:d+l,r:l,fill:i}),a&&O(\"circle\",{cx:1.5*o+n+l,cy:1.5*o+n+l,r:l,fill:i})]})}));si.displayName=\"PatternDots\",si.propTypes={id:f.string.isRequired,color:f.string.isRequired,background:f.string.isRequired,size:f.number.isRequired,padding:f.number.isRequired,stagger:f.bool.isRequired},si.defaultProps={color:\"#000000\",background:\"#ffffff\",size:4,padding:4,stagger:!1};var li=function(e,r){return void 0===r&&(r={}),Gr({id:e,type:\"patternDots\"},r)},di=2*Math.PI,ui=function(e){return e*Math.PI/180},fi=function(e){return 180*e/Math.PI},ci=function(e){return e.startAngle+(e.endAngle-e.startAngle)/2},pi=function(e,r){return{x:Math.cos(e)*r,y:Math.sin(e)*r}},hi=function(e){var r=e%360;return r<0&&(r+=360),r},gi=function(e){return e-di*Math.floor((e+Math.PI)/di)},mi=function(e){return e<0?360- -e%360:e%360},bi=function(e,r,t){void 0===t&&(t=360);var i=r;return Math.abs(r-e)>t&&(i=e+(r>e?t:-t)),[e,i]},yi={svg:{align:{left:\"start\",center:\"middle\",right:\"end\",start:\"start\",middle:\"middle\",end:\"end\"},baseline:{top:\"text-before-edge\",center:\"central\",bottom:\"alphabetic\"}},canvas:{align:{left:\"left\",center:\"center\",right:\"right\",start:\"left\",middle:\"center\",end:\"right\"},baseline:{top:\"top\",center:\"middle\",bottom:\"bottom\"}}},vi=function(e,r,t,i){void 0===i&&(i=\"svg\");var n=yi[i],o=pi(r-Math.PI/2,e),a=o.x,s=o.y,l=fi(r),d=n.align.center,u=n.baseline.bottom;return t>0?(d=n.align.right,u=n.baseline.center):t<0&&(d=n.align.left,u=n.baseline.center),0!==t&&l>180&&(l-=180,d=d===n.align.right?n.align.left:n.align.right),{x:a,y:s,rotate:l+=t,align:d,baseline:u}},Ri=l((function(e){var r=e.id,t=e.spacing,i=e.rotation,n=e.background,o=e.color,a=e.lineWidth,s=Math.round(i)%360,l=Math.abs(t);s>180?s-=360:s>90?s-=180:s<-180?s+=360:s<-90&&(s+=180);var d,u=l,f=l;return 0===s?d=\"\\n M 0 0 L \"+u+\" 0\\n M 0 \"+f+\" L \"+u+\" \"+f+\"\\n \":90===s?d=\"\\n M 0 0 L 0 \"+f+\"\\n M \"+u+\" 0 L \"+u+\" \"+f+\"\\n \":(u=Math.abs(l/Math.sin(ui(s))),f=l/Math.sin(ui(90-s)),d=s>0?\"\\n M 0 \"+-f+\" L \"+2*u+\" \"+f+\"\\n M \"+-u+\" \"+-f+\" L \"+u+\" \"+f+\"\\n M \"+-u+\" 0 L \"+u+\" \"+2*f+\"\\n \":\"\\n M \"+-u+\" \"+f+\" L \"+u+\" \"+-f+\"\\n M \"+-u+\" \"+2*f+\" L \"+2*u+\" \"+-f+\"\\n M 0 \"+2*f+\" L \"+2*u+\" 0\\n \"),C(\"pattern\",{id:r,width:u,height:f,patternUnits:\"userSpaceOnUse\",children:[O(\"rect\",{width:u,height:f,fill:n,stroke:\"rgba(255, 0, 0, 0.1)\",strokeWidth:0}),O(\"path\",{d:d,strokeWidth:a,stroke:o,strokeLinecap:\"square\"})]})}));Ri.displayName=\"PatternLines\",Ri.propTypes={id:f.string.isRequired,spacing:f.number.isRequired,rotation:f.number.isRequired,background:f.string.isRequired,color:f.string.isRequired,lineWidth:f.number.isRequired},Ri.defaultProps={spacing:5,rotation:0,color:\"#000000\",background:\"#ffffff\",lineWidth:2};var qi=function(e,r){return void 0===r&&(r={}),Gr({id:e,type:\"patternLines\"},r)},ki=l((function(e){var r=e.id,t=e.background,i=e.color,n=e.size,o=e.padding,a=e.stagger,s=n+o,l=o/2;return!0===a&&(s=2*n+2*o),C(\"pattern\",{id:r,width:s,height:s,patternUnits:\"userSpaceOnUse\",children:[O(\"rect\",{width:s,height:s,fill:t}),O(\"rect\",{x:l,y:l,width:n,height:n,fill:i}),a&&O(\"rect\",{x:1.5*o+n,y:1.5*o+n,width:n,height:n,fill:i})]})}));ki.displayName=\"PatternSquares\",ki.propTypes={id:f.string.isRequired,color:f.string.isRequired,background:f.string.isRequired,size:f.number.isRequired,padding:f.number.isRequired,stagger:f.bool.isRequired},ki.defaultProps={color:\"#000000\",background:\"#ffffff\",size:4,padding:4,stagger:!1};var _i=function(e,r){return void 0===r&&(r={}),Gr({id:e,type:\"patternSquares\"},r)},wi={patternDots:si,patternLines:Ri,patternSquares:ki},xi=[\"type\"],Oi=Gr({},ai,wi),Ci=function(e){var r=e.defs;return!r||r.length<1?null:O(\"defs\",{\"aria-hidden\":!0,children:r.map((function(e){var r=e.type,t=Lr(e,xi);return Oi[r]?d(Oi[r],Gr({key:t.id},t)):null}))})};Ci.propTypes={defs:f.arrayOf(f.shape({type:f.oneOf(Object.keys(Oi)).isRequired,id:f.string.isRequired}))};var Wi=l(Ci),Si=function(e){var r=e.width,t=e.height,i=e.margin,n=e.defs,o=e.children,a=e.role,s=e.ariaLabel,l=e.ariaLabelledBy,d=e.ariaDescribedBy,u=e.isFocusable,f=Vt();return C(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",width:r,height:t,role:a,\"aria-label\":s,\"aria-labelledby\":l,\"aria-describedby\":d,focusable:u,tabIndex:u?0:void 0,children:[O(Wi,{defs:n}),O(\"rect\",{width:r,height:t,fill:f.background}),O(\"g\",{transform:\"translate(\"+i.left+\",\"+i.top+\")\",children:o})]})};Si.propTypes={width:f.number.isRequired,height:f.number.isRequired,margin:f.shape({top:f.number.isRequired,left:f.number.isRequired}).isRequired,defs:f.array,children:f.oneOfType([f.arrayOf(f.node),f.node]).isRequired,role:f.string,isFocusable:f.bool,ariaLabel:f.string,ariaLabelledBy:f.string,ariaDescribedBy:f.string};var zi=function(e){var r=e.size,t=e.color,i=e.borderWidth,n=e.borderColor;return O(\"circle\",{r:r/2,fill:t,stroke:n,strokeWidth:i,style:{pointerEvents:\"none\"}})};zi.propTypes={size:f.number.isRequired,color:f.string.isRequired,borderWidth:f.number.isRequired,borderColor:f.string.isRequired};var Pi=l(zi),Ti=function(e){var r=e.x,t=e.y,i=e.symbol,n=void 0===i?Pi:i,o=e.size,a=e.datum,s=e.color,l=e.borderWidth,u=e.borderColor,f=e.label,c=e.labelTextAnchor,p=void 0===c?\"middle\":c,h=e.labelYOffset,g=void 0===h?-12:h,m=Vt(),b=tt(),y=b.animate,v=b.config,R=k({transform:\"translate(\"+r+\", \"+t+\")\",config:v,immediate:!y});return C(w.g,{transform:R.transform,style:{pointerEvents:\"none\"},children:[d(n,{size:o,color:s,datum:a,borderWidth:l,borderColor:u}),f&&O(\"text\",{textAnchor:p,y:g,style:m.dots.text,children:f})]})};Ti.propTypes={x:f.number.isRequired,y:f.number.isRequired,datum:f.object.isRequired,size:f.number.isRequired,color:f.string.isRequired,borderWidth:f.number.isRequired,borderColor:f.string.isRequired,symbol:f.oneOfType([f.func,f.object]),label:f.oneOfType([f.string,f.number]),labelTextAnchor:f.oneOf([\"start\",\"middle\",\"end\"]),labelYOffset:f.number};var Mi=l(Ti),ji=function(e){var r=e.width,t=e.height,i=e.axis,n=e.scale,o=e.value,a=e.lineStyle,s=e.textStyle,l=e.legend,d=e.legendPosition,u=e.legendOffsetX,f=e.legendOffsetY,c=e.legendOrientation,p=Vt(),h=0,g=0,m=0,b=0;\"y\"===i?(m=n(o),g=r):(h=n(o),b=t);var y=null;if(l){var v=function(e){var r=e.axis,t=e.width,i=e.height,n=e.position,o=e.offsetX,a=e.offsetY,s=e.orientation,l=0,d=0,u=\"vertical\"===s?-90:0,f=\"start\";if(\"x\"===r)switch(n){case\"top-left\":l=-o,d=a,f=\"end\";break;case\"top\":d=-a,f=\"horizontal\"===s?\"middle\":\"start\";break;case\"top-right\":l=o,d=a,f=\"horizontal\"===s?\"start\":\"end\";break;case\"right\":l=o,d=i/2,f=\"horizontal\"===s?\"start\":\"middle\";break;case\"bottom-right\":l=o,d=i-a,f=\"start\";break;case\"bottom\":d=i+a,f=\"horizontal\"===s?\"middle\":\"end\";break;case\"bottom-left\":d=i-a,l=-o,f=\"horizontal\"===s?\"end\":\"start\";break;case\"left\":l=-o,d=i/2,f=\"horizontal\"===s?\"end\":\"middle\"}else switch(n){case\"top-left\":l=o,d=-a,f=\"start\";break;case\"top\":l=t/2,d=-a,f=\"horizontal\"===s?\"middle\":\"start\";break;case\"top-right\":l=t-o,d=-a,f=\"horizontal\"===s?\"end\":\"start\";break;case\"right\":l=t+o,f=\"horizontal\"===s?\"start\":\"middle\";break;case\"bottom-right\":l=t-o,d=a,f=\"end\";break;case\"bottom\":l=t/2,d=a,f=\"horizontal\"===s?\"middle\":\"end\";break;case\"bottom-left\":l=o,d=a,f=\"horizontal\"===s?\"start\":\"end\";break;case\"left\":l=-o,f=\"horizontal\"===s?\"end\":\"middle\"}return{x:l,y:d,rotation:u,textAnchor:f}}({axis:i,width:r,height:t,position:d,offsetX:u,offsetY:f,orientation:c});y=O(\"text\",{transform:\"translate(\"+v.x+\", \"+v.y+\") rotate(\"+v.rotation+\")\",textAnchor:v.textAnchor,dominantBaseline:\"central\",style:s,children:l})}return C(\"g\",{transform:\"translate(\"+h+\", \"+m+\")\",children:[O(\"line\",{x1:0,x2:g,y1:0,y2:b,stroke:p.markers.lineColor,strokeWidth:p.markers.lineStrokeWidth,style:a}),y]})};ji.propTypes={width:f.number.isRequired,height:f.number.isRequired,axis:f.oneOf([\"x\",\"y\"]).isRequired,scale:f.func.isRequired,value:f.oneOfType([f.number,f.string,f.instanceOf(Date)]).isRequired,lineStyle:f.object,textStyle:f.object,legend:f.string,legendPosition:f.oneOf([\"top-left\",\"top\",\"top-right\",\"right\",\"bottom-right\",\"bottom\",\"bottom-left\",\"left\"]),legendOffsetX:f.number.isRequired,legendOffsetY:f.number.isRequired,legendOrientation:f.oneOf([\"horizontal\",\"vertical\"]).isRequired},ji.defaultProps={legendPosition:\"top-right\",legendOffsetX:14,legendOffsetY:14,legendOrientation:\"horizontal\"};var Di=l(ji),Gi=function(e){var r=e.markers,t=e.width,i=e.height,n=e.xScale,o=e.yScale;return r&&0!==r.length?r.map((function(e,r){return O(Di,Gr({},e,{width:t,height:i,scale:\"y\"===e.axis?o:n}),r)})):null};Gi.propTypes={width:f.number.isRequired,height:f.number.isRequired,xScale:f.func.isRequired,yScale:f.func.isRequired,markers:f.arrayOf(f.shape({axis:f.oneOf([\"x\",\"y\"]).isRequired,value:f.oneOfType([f.number,f.string,f.instanceOf(Date)]).isRequired,lineStyle:f.object,textStyle:f.object}))};var Bi=l(Gi),Li=function(){return Sr(zr({margin:Yt}),Pr({width:f.number.isRequired,height:f.number.isRequired,margin:Pt}),Tr((function(e,r){return e.width!==r.width||e.height!==r.height||!Mr(e.margin,r.margin)}),(function(e){var r=Object.assign({},Yt,e.margin);return{margin:r,width:e.width-r.left-r.right,height:e.height-r.top-r.bottom,outerWidth:e.width,outerHeight:e.height}})))},Ii=function(){return Sr(Pr(et),zr({animate:true,motionDamping:15,motionStiffness:90}))},Yi=function(e){var r,t=void 0===e?{}:e,i=t.srcKey,n=void 0===i?\"theme\":i,o=t.destKey,a=void 0===o?\"theme\":o;return Sr(Pr(((r={})[n]=f.object,r)),Tr([n],(function(e){var r;return(r={})[a]=Qr(Vr,e[n]),r})))},Ai=[\"theme\",\"renderWrapper\",\"animate\",\"motionStiffness\",\"motionDamping\",\"motionConfig\"],Fi=function(e){return function(r){var t,i;function n(){return r.apply(this,arguments)||this}return i=r,(t=n).prototype=Object.create(i.prototype),t.prototype.constructor=t,Br(t,i),n.prototype.render=function(){var r=this.props,t=r.theme,i=r.renderWrapper,n=r.animate,o=r.motionStiffness,a=r.motionDamping,s=r.motionConfig,l=Lr(r,Ai);return O(Zt,{theme:t,renderWrapper:i,isInteractive:l.isInteractive,animate:n,motionStiffness:o,motionDamping:a,motionConfig:s,children:O(e,Gr({},l))})},n}(u)},Ei=function(e,r){var t,i=Qe(e)?e:function(r){return y(r,e)};return r&&(t=Qe(r)?r:Cr(r)),t?function(e){return t(i(e))}:i},Ui=function(e){return Qe(e)?e:function(r){return y(r,e)}},Xi=function(e){return r((function(){return Ui(e)}),[e])},Ki=[\"center\",\"top-left\",\"top\",\"top-right\",\"right\",\"bottom-right\",\"bottom\",\"bottom-left\",\"left\"],Hi=function(e,r,t){var i=r.width-e.width,n=r.height-e.height,o=0,a=0;return\"center\"===t&&(o=i/2,a=n/2),\"top\"===t&&(o=i/2),\"top-right\"===t&&(o=i),\"right\"===t&&(o=i,a=n/2),\"bottom-right\"===t&&(o=i,a=n),\"bottom\"===t&&(o=i/2,a=n),\"bottom-left\"===t&&(a=n),\"left\"===t&&(a=n/2),[o,a]},Ni=function(e,r,t,i){var n=t-e,o=i-r;return n*=n,o*=o,Math.sqrt(n+o)},Vi=function(e,r,t,i){var n=Math.atan2(i-r,t-e)-Math.PI/2;return n>0?n:2*Math.PI+n},Ji=function(e,r,t,i,n,o){return e<=n&&n<=e+t&&r<=o&&o<=r+i},Qi=function(e,r){var t=r.clientX,i=r.clientY,n=e.getBoundingClientRect(),o=e.getBBox(),a=o.width===n.width?1:o.width/n.width;return[(t-n.left)*a,(i-n.top)*a]},Zi=Object.keys(ai),$i=Object.keys(wi),en=function(e,r,t){if(\"*\"===e)return!0;if(Qe(e))return e(r);if(jr(e)){var i=t?y(r,t):r;return Mr(Dr(i,Object.keys(e)),e)}return!1},rn=function(e,r,t,i){var n=void 0===i?{}:i,o=n.dataKey,a=n.colorKey,s=void 0===a?\"color\":a,l=n.targetKey,d=void 0===l?\"fill\":l,u=[],f={};return e.length&&r.length&&(u=[].concat(e),r.forEach((function(r){for(var i=function(i){var n=t[i],a=n.id,l=n.match;if(en(l,r,o)){var c=e.find((function(e){return e.id===a}));if(c)if($i.includes(c.type))if(\"inherit\"===c.background||\"inherit\"===c.color){var p=y(r,s),h=c.background,g=c.color,m=a;\"inherit\"===c.background&&(m=m+\".bg.\"+p,h=p),\"inherit\"===c.color&&(m=m+\".fg.\"+p,g=p),v(r,d,\"url(#\"+m+\")\"),f[m]||(u.push(Gr({},c,{id:m,background:h,color:g})),f[m]=1)}else v(r,d,\"url(#\"+a+\")\");else if(Zi.includes(c.type)){if(c.colors.map((function(e){return e.color})).includes(\"inherit\")){var b=y(r,s),R=a,q=Gr({},c,{colors:c.colors.map((function(e,r){return\"inherit\"!==e.color?e:(R=R+\".\"+r+\".\"+b,Gr({},e,{color:\"inherit\"===e.color?b:e.color}))}))});q.id=R,v(r,d,\"url(#\"+R+\")\"),f[R]||(u.push(q),f[R]=1)}else v(r,d,\"url(#\"+a+\")\")}return\"break\"}},n=0;n<t.length;n++){if(\"break\"===i(n))break}}))),u};export{Bi as CartesianMarkers,Di as CartesianMarkersItem,Zt as Container,Wi as Defs,Mi as DotsItem,ri as LegacyContainer,ni as LinearGradient,$r as MotionConfigProvider,si as PatternDots,Ri as PatternLines,ki as PatternSquares,ti as ResponsiveWrapper,Si as SvgWrapper,di as TWO_PI,Nt as ThemeProvider,hi as absoluteAngleDegrees,gi as absoluteAngleRadians,Hi as alignBox,Hr as annotationsPropType,yt as areaCurvePropKeys,Yr as axisThemePropType,rn as bindDefs,Mt as blendModePropType,Tt as blendModes,Ki as boxAlignments,bi as clampArc,bt as closedCurvePropKeys,ut as colorInterpolatorIds,dt as colorInterpolators,lt as colorSchemeIds,Kr as crosshairPropType,qt as curveFromProp,gt as curvePropKeys,ht as curvePropMapping,mt as curvePropType,Dt as defaultAnimate,Lt as defaultCategoricalColors,It as defaultColorRange,Yt as defaultMargin,Bt as defaultMotionDamping,Gt as defaultMotionStiffness,Vr as defaultTheme,kt as defsPropTypes,ui as degreesToRadians,Ur as dotsThemePropType,Qr as extendDefaultTheme,Vi as getAngle,ct as getColorScale,Ni as getDistance,Ei as getLabelGenerator,vi as getPolarLabelProps,Ui as getPropertyAccessor,Qi as getRelativeCursor,Ut as getValueFormatter,ai as gradientTypes,Ar as gridThemePropType,at as guessQuantizeColorScale,Ji as isCursorInRect,en as isMatchingDef,Er as labelsThemePropType,Fr as legendsThemePropType,vt as lineCurvePropKeys,Rt as lineCurvePropType,oi as linearGradientDef,Pt as marginPropType,Xr as markersThemePropType,ci as midAngle,Zr as motionConfigContext,rt as motionDefaultProps,et as motionPropTypes,ft as nivoCategoricalColors,$t as noop,mi as normalizeAngle,li as patternDotsDef,qi as patternLinesDef,_i as patternSquaresDef,wi as patternTypes,pi as positionFromAngle,pt as quantizeColorScalePropType,nt as quantizeColorScales,ot as quantizeColorScalesKeys,fi as radiansToDegrees,zt as stackOffsetFromProp,Wt as stackOffsetPropKeys,Ct as stackOffsetPropMapping,St as stackOffsetPropType,Ot as stackOrderFromProp,wt as stackOrderPropKeys,_t as stackOrderPropMapping,xt as stackOrderPropType,yi as textPropsByEngine,Kt as themeContext,Nr as themePropType,it as useAnimatedPath,jt as useCurveInterpolation,At as useDimensions,Ft as useMeasure,tt as useMotionConfig,Et as usePartialTheme,Xi as usePropertyAccessor,Vt as useTheme,Xt as useValueFormatter,Fi as withContainer,Li as withDimensions,Ii as withMotion,Yi as withTheme};\n//# sourceMappingURL=nivo-core.es.js.map\n","var baseIteratee = require('./_baseIteratee'),\n baseUniq = require('./_baseUniq');\n\n/**\n * This method is like `_.uniq` except that it accepts `iteratee` which is\n * invoked for each element in `array` to generate the criterion by which\n * uniqueness is computed. The order of result values is determined by the\n * order they occur in the array. The iteratee is invoked with one argument:\n * (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.uniqBy([2.1, 1.2, 2.3], Math.floor);\n * // => [2.1, 1.2]\n *\n * // The `_.property` iteratee shorthand.\n * _.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 1 }, { 'x': 2 }]\n */\nfunction uniqBy(array, iteratee) {\n return (array && array.length) ? baseUniq(array, baseIteratee(iteratee, 2)) : [];\n}\n\nmodule.exports = uniqBy;\n","var baseFor = require('./_baseFor'),\n keys = require('./keys');\n\n/**\n * The base implementation of `_.forOwn` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return object && baseFor(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwn;\n","var isArrayLike = require('./isArrayLike');\n\n/**\n * Creates a `baseEach` or `baseEachRight` function.\n *\n * @private\n * @param {Function} eachFunc The function to iterate over a collection.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseEach(eachFunc, fromRight) {\n return function(collection, iteratee) {\n if (collection == null) {\n return collection;\n }\n if (!isArrayLike(collection)) {\n return eachFunc(collection, iteratee);\n }\n var length = collection.length,\n index = fromRight ? length : -1,\n iterable = Object(collection);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (iteratee(iterable[index], index, iterable) === false) {\n break;\n }\n }\n return collection;\n };\n}\n\nmodule.exports = createBaseEach;\n","var baseForOwn = require('./_baseForOwn'),\n createBaseEach = require('./_createBaseEach');\n\n/**\n * The base implementation of `_.forEach` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\nvar baseEach = createBaseEach(baseForOwn);\n\nmodule.exports = baseEach;\n","var baseEach = require('./_baseEach'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * The base implementation of `_.map` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction baseMap(collection, iteratee) {\n var index = -1,\n result = isArrayLike(collection) ? Array(collection.length) : [];\n\n baseEach(collection, function(value, key, collection) {\n result[++index] = iteratee(value, key, collection);\n });\n return result;\n}\n\nmodule.exports = baseMap;\n","/**\n * The base implementation of `_.sortBy` which uses `comparer` to define the\n * sort order of `array` and replaces criteria objects with their corresponding\n * values.\n *\n * @private\n * @param {Array} array The array to sort.\n * @param {Function} comparer The function to define sort order.\n * @returns {Array} Returns `array`.\n */\nfunction baseSortBy(array, comparer) {\n var length = array.length;\n\n array.sort(comparer);\n while (length--) {\n array[length] = array[length].value;\n }\n return array;\n}\n\nmodule.exports = baseSortBy;\n","var isSymbol = require('./isSymbol');\n\n/**\n * Compares values to sort them in ascending order.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {number} Returns the sort order indicator for `value`.\n */\nfunction compareAscending(value, other) {\n if (value !== other) {\n var valIsDefined = value !== undefined,\n valIsNull = value === null,\n valIsReflexive = value === value,\n valIsSymbol = isSymbol(value);\n\n var othIsDefined = other !== undefined,\n othIsNull = other === null,\n othIsReflexive = other === other,\n othIsSymbol = isSymbol(other);\n\n if ((!othIsNull && !othIsSymbol && !valIsSymbol && value > other) ||\n (valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol) ||\n (valIsNull && othIsDefined && othIsReflexive) ||\n (!valIsDefined && othIsReflexive) ||\n !valIsReflexive) {\n return 1;\n }\n if ((!valIsNull && !valIsSymbol && !othIsSymbol && value < other) ||\n (othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol) ||\n (othIsNull && valIsDefined && valIsReflexive) ||\n (!othIsDefined && valIsReflexive) ||\n !othIsReflexive) {\n return -1;\n }\n }\n return 0;\n}\n\nmodule.exports = compareAscending;\n","var compareAscending = require('./_compareAscending');\n\n/**\n * Used by `_.orderBy` to compare multiple properties of a value to another\n * and stable sort them.\n *\n * If `orders` is unspecified, all values are sorted in ascending order. Otherwise,\n * specify an order of \"desc\" for descending or \"asc\" for ascending sort order\n * of corresponding values.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {boolean[]|string[]} orders The order to sort by for each property.\n * @returns {number} Returns the sort order indicator for `object`.\n */\nfunction compareMultiple(object, other, orders) {\n var index = -1,\n objCriteria = object.criteria,\n othCriteria = other.criteria,\n length = objCriteria.length,\n ordersLength = orders.length;\n\n while (++index < length) {\n var result = compareAscending(objCriteria[index], othCriteria[index]);\n if (result) {\n if (index >= ordersLength) {\n return result;\n }\n var order = orders[index];\n return result * (order == 'desc' ? -1 : 1);\n }\n }\n // Fixes an `Array#sort` bug in the JS engine embedded in Adobe applications\n // that causes it, under certain circumstances, to provide the same value for\n // `object` and `other`. See https://github.com/jashkenas/underscore/pull/1247\n // for more details.\n //\n // This also ensures a stable sort in V8 and other engines.\n // See https://bugs.chromium.org/p/v8/issues/detail?id=90 for more details.\n return object.index - other.index;\n}\n\nmodule.exports = compareMultiple;\n","var arrayMap = require('./_arrayMap'),\n baseGet = require('./_baseGet'),\n baseIteratee = require('./_baseIteratee'),\n baseMap = require('./_baseMap'),\n baseSortBy = require('./_baseSortBy'),\n baseUnary = require('./_baseUnary'),\n compareMultiple = require('./_compareMultiple'),\n identity = require('./identity'),\n isArray = require('./isArray');\n\n/**\n * The base implementation of `_.orderBy` without param guards.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by.\n * @param {string[]} orders The sort orders of `iteratees`.\n * @returns {Array} Returns the new sorted array.\n */\nfunction baseOrderBy(collection, iteratees, orders) {\n if (iteratees.length) {\n iteratees = arrayMap(iteratees, function(iteratee) {\n if (isArray(iteratee)) {\n return function(value) {\n return baseGet(value, iteratee.length === 1 ? iteratee[0] : iteratee);\n }\n }\n return iteratee;\n });\n } else {\n iteratees = [identity];\n }\n\n var index = -1;\n iteratees = arrayMap(iteratees, baseUnary(baseIteratee));\n\n var result = baseMap(collection, function(value, key, collection) {\n var criteria = arrayMap(iteratees, function(iteratee) {\n return iteratee(value);\n });\n return { 'criteria': criteria, 'index': ++index, 'value': value };\n });\n\n return baseSortBy(result, function(object, other) {\n return compareMultiple(object, other, orders);\n });\n}\n\nmodule.exports = baseOrderBy;\n","var baseFlatten = require('./_baseFlatten'),\n baseOrderBy = require('./_baseOrderBy'),\n baseRest = require('./_baseRest'),\n isIterateeCall = require('./_isIterateeCall');\n\n/**\n * Creates an array of elements, sorted in ascending order by the results of\n * running each element in a collection thru each iteratee. This method\n * performs a stable sort, that is, it preserves the original sort order of\n * equal elements. The iteratees are invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {...(Function|Function[])} [iteratees=[_.identity]]\n * The iteratees to sort by.\n * @returns {Array} Returns the new sorted array.\n * @example\n *\n * var users = [\n * { 'user': 'fred', 'age': 48 },\n * { 'user': 'barney', 'age': 36 },\n * { 'user': 'fred', 'age': 30 },\n * { 'user': 'barney', 'age': 34 }\n * ];\n *\n * _.sortBy(users, [function(o) { return o.user; }]);\n * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 30]]\n *\n * _.sortBy(users, ['user', 'age']);\n * // => objects for [['barney', 34], ['barney', 36], ['fred', 30], ['fred', 48]]\n */\nvar sortBy = baseRest(function(collection, iteratees) {\n if (collection == null) {\n return [];\n }\n var length = iteratees.length;\n if (length > 1 && isIterateeCall(collection, iteratees[0], iteratees[1])) {\n iteratees = [];\n } else if (length > 2 && isIterateeCall(iteratees[0], iteratees[1], iteratees[2])) {\n iteratees = [iteratees[0]];\n }\n return baseOrderBy(collection, baseFlatten(iteratees, 1), []);\n});\n\nmodule.exports = sortBy;\n","var baseIsDate = require('./_baseIsDate'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsDate = nodeUtil && nodeUtil.isDate;\n\n/**\n * Checks if `value` is classified as a `Date` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a date object, else `false`.\n * @example\n *\n * _.isDate(new Date);\n * // => true\n *\n * _.isDate('Mon April 23 2012');\n * // => false\n */\nvar isDate = nodeIsDate ? baseUnary(nodeIsDate) : baseIsDate;\n\nmodule.exports = isDate;\n","var t0 = new Date,\n t1 = new Date;\n\nexport default function newInterval(floori, offseti, count, field) {\n\n function interval(date) {\n return floori(date = arguments.length === 0 ? new Date : new Date(+date)), date;\n }\n\n interval.floor = function(date) {\n return floori(date = new Date(+date)), date;\n };\n\n interval.ceil = function(date) {\n return floori(date = new Date(date - 1)), offseti(date, 1), floori(date), date;\n };\n\n interval.round = function(date) {\n var d0 = interval(date),\n d1 = interval.ceil(date);\n return date - d0 < d1 - date ? d0 : d1;\n };\n\n interval.offset = function(date, step) {\n return offseti(date = new Date(+date), step == null ? 1 : Math.floor(step)), date;\n };\n\n interval.range = function(start, stop, step) {\n var range = [], previous;\n start = interval.ceil(start);\n step = step == null ? 1 : Math.floor(step);\n if (!(start < stop) || !(step > 0)) return range; // also handles Invalid Date\n do range.push(previous = new Date(+start)), offseti(start, step), floori(start);\n while (previous < start && start < stop);\n return range;\n };\n\n interval.filter = function(test) {\n return newInterval(function(date) {\n if (date >= date) while (floori(date), !test(date)) date.setTime(date - 1);\n }, function(date, step) {\n if (date >= date) {\n if (step < 0) while (++step <= 0) {\n while (offseti(date, -1), !test(date)) {} // eslint-disable-line no-empty\n } else while (--step >= 0) {\n while (offseti(date, +1), !test(date)) {} // eslint-disable-line no-empty\n }\n }\n });\n };\n\n if (count) {\n interval.count = function(start, end) {\n t0.setTime(+start), t1.setTime(+end);\n floori(t0), floori(t1);\n return Math.floor(count(t0, t1));\n };\n\n interval.every = function(step) {\n step = Math.floor(step);\n return !isFinite(step) || !(step > 0) ? null\n : !(step > 1) ? interval\n : interval.filter(field\n ? function(d) { return field(d) % step === 0; }\n : function(d) { return interval.count(0, d) % step === 0; });\n };\n }\n\n return interval;\n}\n","import interval from \"./interval.js\";\n\nvar millisecond = interval(function() {\n // noop\n}, function(date, step) {\n date.setTime(+date + step);\n}, function(start, end) {\n return end - start;\n});\n\n// An optimized implementation for this simple case.\nmillisecond.every = function(k) {\n k = Math.floor(k);\n if (!isFinite(k) || !(k > 0)) return null;\n if (!(k > 1)) return millisecond;\n return interval(function(date) {\n date.setTime(Math.floor(date / k) * k);\n }, function(date, step) {\n date.setTime(+date + step * k);\n }, function(start, end) {\n return (end - start) / k;\n });\n};\n\nexport default millisecond;\nexport var milliseconds = millisecond.range;\n","export var durationSecond = 1e3;\nexport var durationMinute = 6e4;\nexport var durationHour = 36e5;\nexport var durationDay = 864e5;\nexport var durationWeek = 6048e5;\n","import interval from \"./interval.js\";\nimport {durationSecond} from \"./duration.js\";\n\nvar second = interval(function(date) {\n date.setTime(date - date.getMilliseconds());\n}, function(date, step) {\n date.setTime(+date + step * durationSecond);\n}, function(start, end) {\n return (end - start) / durationSecond;\n}, function(date) {\n return date.getUTCSeconds();\n});\n\nexport default second;\nexport var seconds = second.range;\n","import interval from \"./interval.js\";\nimport {durationMinute, durationSecond} from \"./duration.js\";\n\nvar minute = interval(function(date) {\n date.setTime(date - date.getMilliseconds() - date.getSeconds() * durationSecond);\n}, function(date, step) {\n date.setTime(+date + step * durationMinute);\n}, function(start, end) {\n return (end - start) / durationMinute;\n}, function(date) {\n return date.getMinutes();\n});\n\nexport default minute;\nexport var minutes = minute.range;\n","import interval from \"./interval.js\";\nimport {durationHour, durationMinute, durationSecond} from \"./duration.js\";\n\nvar hour = interval(function(date) {\n date.setTime(date - date.getMilliseconds() - date.getSeconds() * durationSecond - date.getMinutes() * durationMinute);\n}, function(date, step) {\n date.setTime(+date + step * durationHour);\n}, function(start, end) {\n return (end - start) / durationHour;\n}, function(date) {\n return date.getHours();\n});\n\nexport default hour;\nexport var hours = hour.range;\n","import interval from \"./interval.js\";\nimport {durationMinute, durationWeek} from \"./duration.js\";\n\nfunction weekday(i) {\n return interval(function(date) {\n date.setDate(date.getDate() - (date.getDay() + 7 - i) % 7);\n date.setHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setDate(date.getDate() + step * 7);\n }, function(start, end) {\n return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationWeek;\n });\n}\n\nexport var sunday = weekday(0);\nexport var monday = weekday(1);\nexport var tuesday = weekday(2);\nexport var wednesday = weekday(3);\nexport var thursday = weekday(4);\nexport var friday = weekday(5);\nexport var saturday = weekday(6);\n\nexport var sundays = sunday.range;\nexport var mondays = monday.range;\nexport var tuesdays = tuesday.range;\nexport var wednesdays = wednesday.range;\nexport var thursdays = thursday.range;\nexport var fridays = friday.range;\nexport var saturdays = saturday.range;\n","import interval from \"./interval.js\";\n\nvar month = interval(function(date) {\n date.setDate(1);\n date.setHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setMonth(date.getMonth() + step);\n}, function(start, end) {\n return end.getMonth() - start.getMonth() + (end.getFullYear() - start.getFullYear()) * 12;\n}, function(date) {\n return date.getMonth();\n});\n\nexport default month;\nexport var months = month.range;\n","import interval from \"./interval.js\";\n\nvar year = interval(function(date) {\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setFullYear(date.getFullYear() + step);\n}, function(start, end) {\n return end.getFullYear() - start.getFullYear();\n}, function(date) {\n return date.getFullYear();\n});\n\n// An optimized implementation for this simple case.\nyear.every = function(k) {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : interval(function(date) {\n date.setFullYear(Math.floor(date.getFullYear() / k) * k);\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setFullYear(date.getFullYear() + step * k);\n });\n};\n\nexport default year;\nexport var years = year.range;\n","import interval from \"./interval.js\";\nimport {durationMinute} from \"./duration.js\";\n\nvar utcMinute = interval(function(date) {\n date.setUTCSeconds(0, 0);\n}, function(date, step) {\n date.setTime(+date + step * durationMinute);\n}, function(start, end) {\n return (end - start) / durationMinute;\n}, function(date) {\n return date.getUTCMinutes();\n});\n\nexport default utcMinute;\nexport var utcMinutes = utcMinute.range;\n","import interval from \"./interval.js\";\nimport {durationHour} from \"./duration.js\";\n\nvar utcHour = interval(function(date) {\n date.setUTCMinutes(0, 0, 0);\n}, function(date, step) {\n date.setTime(+date + step * durationHour);\n}, function(start, end) {\n return (end - start) / durationHour;\n}, function(date) {\n return date.getUTCHours();\n});\n\nexport default utcHour;\nexport var utcHours = utcHour.range;\n","import interval from \"./interval.js\";\nimport {durationWeek} from \"./duration.js\";\n\nfunction utcWeekday(i) {\n return interval(function(date) {\n date.setUTCDate(date.getUTCDate() - (date.getUTCDay() + 7 - i) % 7);\n date.setUTCHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setUTCDate(date.getUTCDate() + step * 7);\n }, function(start, end) {\n return (end - start) / durationWeek;\n });\n}\n\nexport var utcSunday = utcWeekday(0);\nexport var utcMonday = utcWeekday(1);\nexport var utcTuesday = utcWeekday(2);\nexport var utcWednesday = utcWeekday(3);\nexport var utcThursday = utcWeekday(4);\nexport var utcFriday = utcWeekday(5);\nexport var utcSaturday = utcWeekday(6);\n\nexport var utcSundays = utcSunday.range;\nexport var utcMondays = utcMonday.range;\nexport var utcTuesdays = utcTuesday.range;\nexport var utcWednesdays = utcWednesday.range;\nexport var utcThursdays = utcThursday.range;\nexport var utcFridays = utcFriday.range;\nexport var utcSaturdays = utcSaturday.range;\n","import interval from \"./interval.js\";\n\nvar utcMonth = interval(function(date) {\n date.setUTCDate(1);\n date.setUTCHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setUTCMonth(date.getUTCMonth() + step);\n}, function(start, end) {\n return end.getUTCMonth() - start.getUTCMonth() + (end.getUTCFullYear() - start.getUTCFullYear()) * 12;\n}, function(date) {\n return date.getUTCMonth();\n});\n\nexport default utcMonth;\nexport var utcMonths = utcMonth.range;\n","import interval from \"./interval.js\";\n\nvar utcYear = interval(function(date) {\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setUTCFullYear(date.getUTCFullYear() + step);\n}, function(start, end) {\n return end.getUTCFullYear() - start.getUTCFullYear();\n}, function(date) {\n return date.getUTCFullYear();\n});\n\n// An optimized implementation for this simple case.\nutcYear.every = function(k) {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : interval(function(date) {\n date.setUTCFullYear(Math.floor(date.getUTCFullYear() / k) * k);\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setUTCFullYear(date.getUTCFullYear() + step * k);\n });\n};\n\nexport default utcYear;\nexport var utcYears = utcYear.range;\n","import n from\"lodash/uniq\";import t from\"lodash/uniqBy\";import r from\"lodash/sortBy\";import e from\"lodash/last\";import a from\"lodash/isDate\";import{utcParse as i,timeParse as o}from\"d3-time-format\";import{scaleLinear as u,scalePoint as c,scaleBand as f,scaleUtc as d,scaleTime as s,scaleLog as l,scaleSymlog as m}from\"d3-scale\";import{timeInterval as v,timeMillisecond as y,utcMillisecond as p,timeSecond as h,utcSecond as g,timeMinute as x,utcMinute as k,timeHour as T,utcHour as M,timeWeek as w,utcWeek as b,timeSunday as E,utcSunday as S,timeMonday as D,utcMonday as C,timeTuesday as U,utcTuesday as j,timeWednesday as O,utcWednesday as R,timeThursday as H,utcThursday as V,timeFriday as q,utcFriday as A,timeSaturday as B,utcSaturday as F,timeMonth as N,utcMonth as z,timeYear as I,utcYear as P}from\"d3-time\";function $(){return $=Object.assign||function(n){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var e in r)Object.prototype.hasOwnProperty.call(r,e)&&(n[e]=r[e])}return n},$.apply(this,arguments)}var G=[\"millisecond\",\"second\",\"minute\",\"hour\",\"day\",\"month\",\"year\"],J=[function(n){return n.setMilliseconds(0)},function(n){return n.setSeconds(0)},function(n){return n.setMinutes(0)},function(n){return n.setHours(0)},function(n){return n.setDate(1)},function(n){return n.setMonth(0)}],K={millisecond:[],second:J.slice(0,1),minute:J.slice(0,2),hour:J.slice(0,3),day:J.slice(0,4),month:J.slice(0,5),year:J.slice(0,6)},L=function(n){return function(t){return K[n].forEach((function(n){n(t)})),t}},Q=function(n){var t=n.format,r=void 0===t?\"native\":t,e=n.precision,a=void 0===e?\"millisecond\":e,u=n.useUTC,c=void 0===u||u,f=L(a);return function(n){if(void 0===n)return n;if(\"native\"===r||n instanceof Date)return f(n);var t=c?i(r):o(r);return f(t(n))}},W=function(n,t,r,e){var a,i,o,c,f=n.min,d=void 0===f?0:f,s=n.max,l=void 0===s?\"auto\":s,m=n.stacked,v=void 0!==m&&m,y=n.reverse,p=void 0!==y&&y,h=n.clamp,g=void 0!==h&&h,x=n.nice,k=void 0!==x&&x;\"auto\"===d?a=!0===v?null!=(i=t.minStacked)?i:0:t.min:a=d;\"auto\"===l?o=!0===v?null!=(c=t.maxStacked)?c:0:t.max:o=l;var T=u().rangeRound(\"x\"===e?[0,r]:[r,0]).domain(p?[o,a]:[a,o]).clamp(g);return!0===k?T.nice():\"number\"==typeof k&&T.nice(k),X(T,v)},X=function(n,t){void 0===t&&(t=!1);var r=n;return r.type=\"linear\",r.stacked=t,r},Y=function(n,t,r){var e=c().range([0,r]).domain(t.all);return e.type=\"point\",e},Z=function(n){var t=n;return t.type=\"point\",t},_=function(n,t,r,e){var a=n.round,i=void 0===a||a,o=f().range(\"x\"===e?[0,r]:[r,0]).domain(t.all).round(i);return nn(o)},nn=function(n){var t=n;return t.type=\"band\",t},tn=function(n,t,r){var e,a,i=n.format,o=void 0===i?\"native\":i,u=n.precision,c=void 0===u?\"millisecond\":u,f=n.min,l=void 0===f?\"auto\":f,m=n.max,v=void 0===m?\"auto\":m,y=n.useUTC,p=void 0===y||y,h=n.nice,g=void 0!==h&&h,x=Q({format:o,precision:c,useUTC:p});e=\"auto\"===l?x(t.min):\"native\"!==o?x(l):l,a=\"auto\"===v?x(t.max):\"native\"!==o?x(v):v;var k=p?d():s();k.range([0,r]),e&&a&&k.domain([e,a]),!0===g?k.nice():\"object\"!=typeof g&&\"number\"!=typeof g||k.nice(g);var T=k;return T.type=\"time\",T.useUTC=p,T},rn=function(n,t,r,e){var a,i=n.base,o=void 0===i?10:i,u=n.min,c=void 0===u?\"auto\":u,f=n.max,d=void 0===f?\"auto\":f;if(t.all.some((function(n){return 0===n})))throw new Error(\"a log scale domain must not include or cross zero\");var s,m,v=!1;if(t.all.filter((function(n){return null!=n})).forEach((function(n){v||(void 0===a?a=Math.sign(n):Math.sign(n)!==a&&(v=!0))})),v)throw new Error(\"a log scale domain must be strictly-positive or strictly-negative\");s=\"auto\"===c?t.min:c,m=\"auto\"===d?t.max:d;var y=l().domain([s,m]).rangeRound(\"x\"===e?[0,r]:[r,0]).base(o).nice();return y.type=\"log\",y},en=function(n,t,r,e){var a,i,o=n.constant,u=void 0===o?1:o,c=n.min,f=void 0===c?\"auto\":c,d=n.max,s=void 0===d?\"auto\":d,l=n.reverse,v=void 0!==l&&l;a=\"auto\"===f?t.min:f,i=\"auto\"===s?t.max:s;var y=m().constant(u).rangeRound(\"x\"===e?[0,r]:[r,0]).nice();!0===v?y.domain([i,a]):y.domain([a,i]);var p=y;return p.type=\"symlog\",p},an=function(n){return\"x\"===n?\"y\":\"x\"},on=function(n,t){return n===t},un=function(n,t){return n.getTime()===t.getTime()};function cn(n,t,r,e){switch(n.type){case\"linear\":return W(n,t,r,e);case\"point\":return Y(0,t,r);case\"band\":return _(n,t,r,e);case\"time\":return tn(n,t,r);case\"log\":return rn(n,t,r,e);case\"symlog\":return en(n,t,r,e);default:throw new Error(\"invalid scale spec\")}}var fn=function(n,t,r){var e;if(\"stacked\"in r&&r.stacked){var a=n.data[\"x\"===t?\"xStacked\":\"yStacked\"];return null==a?null:r(a)}return null!=(e=r(n.data[t]))?e:null},dn=function(n,t,r,e,a){var i=n.map((function(n){return function(n){return $({},n,{data:n.data.map((function(n){return{data:$({},n)}}))})}(n)})),o=sn(i,t,r);\"stacked\"in t&&!0===t.stacked&&vn(o,i),\"stacked\"in r&&!0===r.stacked&&yn(o,i);var u=cn(t,o.x,e,\"x\"),c=cn(r,o.y,a,\"y\"),f=i.map((function(n){return $({},n,{data:n.data.map((function(n){return $({},n,{position:{x:fn(n,\"x\",u),y:fn(n,\"y\",c)}})}))})}));return $({},o,{series:f,xScale:u,yScale:c})},sn=function(n,t,r){return{x:ln(n,\"x\",t),y:ln(n,\"y\",r)}},ln=function(a,i,o,u){var c=void 0===u?{}:u,f=c.getValue,d=void 0===f?function(n){return n.data[i]}:f,s=c.setValue,l=void 0===s?function(n,t){n.data[i]=t}:s;if(\"linear\"===o.type)a.forEach((function(n){n.data.forEach((function(n){var t=d(n);t&&l(n,parseFloat(String(t)))}))}));else if(\"time\"===o.type&&\"native\"!==o.format){var m=Q(o);a.forEach((function(n){n.data.forEach((function(n){var t=d(n);t&&l(n,m(t))}))}))}var v=[];switch(a.forEach((function(n){n.data.forEach((function(n){v.push(d(n))}))})),o.type){case\"linear\":var y=r(n(v).filter((function(n){return null!==n})),(function(n){return n}));return{all:y,min:Math.min.apply(Math,y),max:Math.max.apply(Math,y)};case\"time\":var p=t(v,(function(n){return n.getTime()})).slice(0).sort((function(n,t){return t.getTime()-n.getTime()})).reverse();return{all:p,min:p[0],max:e(p)};default:var h=n(v);return{all:h,min:h[0],max:e(h)}}},mn=function(n,t,r){var i=an(n),o=[];t[i].all.forEach((function(t){var u=a(t)?un:on,c=[];r.forEach((function(r){var a=r.data.find((function(n){return u(n.data[i],t)})),f=null,d=null;if(void 0!==a){if(null!==(f=a.data[n])){var s=e(c);void 0===s?d=f:null!==s&&(d=s+f)}a.data[\"x\"===n?\"xStacked\":\"yStacked\"]=d}c.push(d),null!==d&&o.push(d)}))})),t[n].minStacked=Math.min.apply(Math,o),t[n].maxStacked=Math.max.apply(Math,o)},vn=function(n,t){return mn(\"x\",n,t)},yn=function(n,t){return mn(\"y\",n,t)},pn=function(n){var t=n.bandwidth();if(0===t)return n;var r=t/2;return n.round()&&(r=Math.round(r)),function(t){var e;return(null!=(e=n(t))?e:0)+r}},hn={millisecond:[y,p],second:[h,g],minute:[x,k],hour:[T,M],day:[v((function(n){return n.setHours(0,0,0,0)}),(function(n,t){return n.setDate(n.getDate()+t)}),(function(n,t){return(t.getTime()-n.getTime())/864e5}),(function(n){return Math.floor(n.getTime()/864e5)})),v((function(n){return n.setUTCHours(0,0,0,0)}),(function(n,t){return n.setUTCDate(n.getUTCDate()+t)}),(function(n,t){return(t.getTime()-n.getTime())/864e5}),(function(n){return Math.floor(n.getTime()/864e5)}))],week:[w,b],sunday:[E,S],monday:[D,C],tuesday:[U,j],wednesday:[O,R],thursday:[H,V],friday:[q,A],saturday:[B,F],month:[N,z],year:[I,P]},gn=Object.keys(hn),xn=new RegExp(\"^every\\\\s*(\\\\d+)?\\\\s*(\"+gn.join(\"|\")+\")s?$\",\"i\"),kn=function(n,t){if(Array.isArray(t))return t;if(\"string\"==typeof t&&\"useUTC\"in n){var r=t.match(xn);if(r){var e=r[1],a=r[2],i=hn[a][n.useUTC?1:0];if(\"day\"===a){var o,u,c=n.domain(),f=c[0],d=c[1],s=new Date(d);return s.setDate(s.getDate()+1),null!=(o=null==(u=i.every(Number(null!=e?e:1)))?void 0:u.range(f,s))?o:[]}if(void 0===e)return n.ticks(i);var l=i.every(Number(e));if(l)return n.ticks(l)}throw new Error(\"Invalid tickValues: \"+t)}if(\"ticks\"in n){if(void 0===t)return n.ticks();if(\"number\"==typeof(m=t)&&isFinite(m)&&Math.floor(m)===m)return n.ticks(t)}var m;return n.domain()};export{nn as castBandScale,X as castLinearScale,Z as castPointScale,pn as centerScale,un as compareDateValues,on as compareValues,cn as computeScale,dn as computeXYScalesForSeries,_ as createBandScale,Q as createDateNormalizer,W as createLinearScale,rn as createLogScale,Y as createPointScale,L as createPrecisionMethod,en as createSymlogScale,tn as createTimeScale,ln as generateSeriesAxis,sn as generateSeriesXY,an as getOtherAxis,kn as getScaleTicks,J as precisionCutOffs,K as precisionCutOffsByType,mn as stackAxis,G as timePrecisions};\n//# sourceMappingURL=nivo-scales.es.js.map\n","import*as t from\"react\";import{memo as e,useMemo as i,createElement as n}from\"react\";import{animated as r,useSpring as a,useTransition as o}from\"@react-spring/web\";import{textPropsByEngine as l,useTheme as s,useMotionConfig as c,degreesToRadians as f}from\"@nivo/core\";import{timeFormat as x}from\"d3-time-format\";import{format as u}from\"d3-format\";import{getScaleTicks as d,centerScale as m}from\"@nivo/scales\";import{jsxs as y,jsx as g,Fragment as k}from\"react/jsx-runtime\";import h from\"prop-types\";function v(){return v=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var i=arguments[e];for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&(t[n]=i[n])}return t},v.apply(this,arguments)}var p=function(t){var e,i=t.axis,n=t.scale,r=t.ticksPosition,a=t.tickValues,o=t.tickSize,s=t.tickPadding,c=t.tickRotation,f=t.engine,x=void 0===f?\"svg\":f,u=d(n,a),y=l[x],g=\"bandwidth\"in n?m(n):n,k={lineX:0,lineY:0},h={textX:0,textY:0},p=\"object\"==typeof document&&\"rtl\"===document.dir,b=y.align.center,P=y.baseline.center;return\"x\"===i?(e=function(t){var e;return{x:null!=(e=g(t))?e:0,y:0}},k.lineY=o*(\"after\"===r?1:-1),h.textY=(o+s)*(\"after\"===r?1:-1),P=\"after\"===r?y.baseline.top:y.baseline.bottom,0===c?b=y.align.center:\"after\"===r&&c<0||\"before\"===r&&c>0?(b=y.align[p?\"left\":\"right\"],P=y.baseline.center):(\"after\"===r&&c>0||\"before\"===r&&c<0)&&(b=y.align[p?\"right\":\"left\"],P=y.baseline.center)):(e=function(t){var e;return{x:0,y:null!=(e=g(t))?e:0}},k.lineX=o*(\"after\"===r?1:-1),h.textX=(o+s)*(\"after\"===r?1:-1),b=\"after\"===r?y.align.left:y.align.right),{ticks:u.map((function(t){return v({key:t instanceof Date?\"\"+t.valueOf():\"\"+t,value:t},e(t),k,h)})),textAlign:b,textBaseline:P}},b=function(t,e){if(void 0===t||\"function\"==typeof t)return t;if(\"time\"===e.type){var i=x(t);return function(t){return i(t instanceof Date?t:new Date(t))}}return u(t)},P=function(t){var e,i=t.width,n=t.height,r=t.scale,a=t.axis,o=t.values,l=(e=o,Array.isArray(e)?o:void 0)||d(r,o),s=\"bandwidth\"in r?m(r):r,c=\"x\"===a?l.map((function(t){var e,i;return{key:t instanceof Date?\"\"+t.valueOf():\"\"+t,x1:null!=(e=s(t))?e:0,x2:null!=(i=s(t))?i:0,y1:0,y2:n}})):l.map((function(t){var e,n;return{key:t instanceof Date?\"\"+t.valueOf():\"\"+t,x1:0,x2:i,y1:null!=(e=s(t))?e:0,y2:null!=(n=s(t))?n:0}}));return c},S=e((function(t){var e,n=t.value,a=t.format,o=t.lineX,l=t.lineY,c=t.onClick,f=t.textBaseline,x=t.textAnchor,u=t.animatedProps,d=s(),m=null!=(e=null==a?void 0:a(n))?e:n,k=i((function(){var t={opacity:u.opacity};return c?{style:v({},t,{cursor:\"pointer\"}),onClick:function(t){return c(t,m)}}:{style:t}}),[u.opacity,c,m]);return y(r.g,v({transform:u.transform},k,{children:[g(\"line\",{x1:0,x2:o,y1:0,y2:l,style:d.axis.ticks.line}),g(r.text,{dominantBaseline:f,textAnchor:x,transform:u.textTransform,style:d.axis.ticks.text,children:m})]}))})),T=e((function(e){var n=e.axis,l=e.scale,f=e.x,x=void 0===f?0:f,u=e.y,d=void 0===u?0:u,m=e.length,k=e.ticksPosition,h=e.tickValues,P=e.tickSize,T=void 0===P?5:P,O=e.tickPadding,w=void 0===O?5:O,A=e.tickRotation,X=void 0===A?0:A,Y=e.format,W=e.renderTick,B=void 0===W?S:W,z=e.legend,V=e.legendPosition,C=void 0===V?\"end\":V,D=e.legendOffset,R=void 0===D?0:D,j=e.onClick,E=e.ariaHidden,q=s(),F=i((function(){return b(Y,l)}),[Y,l]),H=p({axis:n,scale:l,ticksPosition:k,tickValues:h,tickSize:T,tickPadding:w,tickRotation:X}),N=H.ticks,I=H.textAlign,G=H.textBaseline,J=null;if(void 0!==z){var K,L=0,M=0,Q=0;\"y\"===n?(Q=-90,L=R,\"start\"===C?(K=\"start\",M=m):\"middle\"===C?(K=\"middle\",M=m/2):\"end\"===C&&(K=\"end\")):(M=R,\"start\"===C?K=\"start\":\"middle\"===C?(K=\"middle\",L=m/2):\"end\"===C&&(K=\"end\",L=m)),J=g(\"text\",{transform:\"translate(\"+L+\", \"+M+\") rotate(\"+Q+\")\",textAnchor:K,style:v({dominantBaseline:\"central\"},q.axis.legend.text),children:z})}var U=c(),Z=U.animate,$=U.config,_=a({transform:\"translate(\"+x+\",\"+d+\")\",lineX2:\"x\"===n?m:0,lineY2:\"x\"===n?0:m,config:$,immediate:!Z}),tt=o(N,{keys:function(t){return t.key},initial:function(t){return{opacity:1,transform:\"translate(\"+t.x+\",\"+t.y+\")\",textTransform:\"translate(\"+t.textX+\",\"+t.textY+\") rotate(\"+X+\")\"}},from:function(t){return{opacity:0,transform:\"translate(\"+t.x+\",\"+t.y+\")\",textTransform:\"translate(\"+t.textX+\",\"+t.textY+\") rotate(\"+X+\")\"}},enter:function(t){return{opacity:1,transform:\"translate(\"+t.x+\",\"+t.y+\")\",textTransform:\"translate(\"+t.textX+\",\"+t.textY+\") rotate(\"+X+\")\"}},update:function(t){return{opacity:1,transform:\"translate(\"+t.x+\",\"+t.y+\")\",textTransform:\"translate(\"+t.textX+\",\"+t.textY+\") rotate(\"+X+\")\"}},leave:{opacity:0},config:$,immediate:!Z});return y(r.g,{transform:_.transform,\"aria-hidden\":E,children:[tt((function(e,i,n,r){return t.createElement(B,v({tickIndex:r,format:F,rotate:X,textBaseline:G,textAnchor:I,animatedProps:e},i,j?{onClick:j}:{}))})),g(r.line,{style:q.axis.domain.line,x1:0,x2:_.lineX2,y1:0,y2:_.lineY2}),J]})})),O={ticksPosition:h.oneOf([\"before\",\"after\"]),tickValues:h.oneOfType([h.number,h.arrayOf(h.oneOfType([h.number,h.string,h.instanceOf(Date)])),h.string]),tickSize:h.number,tickPadding:h.number,tickRotation:h.number,format:h.oneOfType([h.func,h.string]),renderTick:h.func,legend:h.node,legendPosition:h.oneOf([\"start\",\"middle\",\"end\"]),legendOffset:h.number,ariaHidden:h.bool},w=h.shape(O),A=[\"top\",\"right\",\"bottom\",\"left\"],X=e((function(t){var e=t.xScale,i=t.yScale,n=t.width,r=t.height,a={top:t.top,right:t.right,bottom:t.bottom,left:t.left};return g(k,{children:A.map((function(t){var o=a[t];if(!o)return null;var l=\"top\"===t||\"bottom\"===t;return g(T,v({},o,{axis:l?\"x\":\"y\",x:\"right\"===t?n:0,y:\"bottom\"===t?r:0,scale:l?e:i,length:l?n:r,ticksPosition:\"top\"===t||\"left\"===t?\"before\":\"after\"}),t)}))})})),Y=e((function(t){var e=t.animatedProps,i=s();return g(r.line,v({},e,i.grid.line))})),W=e((function(t){var e=t.lines,i=c(),r=i.animate,a=i.config,l=o(e,{keys:function(t){return t.key},initial:function(t){return{opacity:1,x1:t.x1,x2:t.x2,y1:t.y1,y2:t.y2}},from:function(t){return{opacity:0,x1:t.x1,x2:t.x2,y1:t.y1,y2:t.y2}},enter:function(t){return{opacity:1,x1:t.x1,x2:t.x2,y1:t.y1,y2:t.y2}},update:function(t){return{opacity:1,x1:t.x1,x2:t.x2,y1:t.y1,y2:t.y2}},leave:{opacity:0},config:a,immediate:!r});return g(\"g\",{children:l((function(t,e){return n(Y,v({},e,{key:e.key,animatedProps:t}))}))})})),B=e((function(t){var e=t.width,n=t.height,r=t.xScale,a=t.yScale,o=t.xValues,l=t.yValues,s=i((function(){return!!r&&P({width:e,height:n,scale:r,axis:\"x\",values:o})}),[r,o,e,n]),c=i((function(){return!!a&&P({width:e,height:n,scale:a,axis:\"y\",values:l})}),[n,e,a,l]);return y(k,{children:[s&&g(W,{lines:s}),c&&g(W,{lines:c})]})})),z=function(t,e){var i,n=e.axis,r=e.scale,a=e.x,o=void 0===a?0:a,l=e.y,s=void 0===l?0:l,c=e.length,x=e.ticksPosition,u=e.tickValues,d=e.tickSize,m=void 0===d?5:d,y=e.tickPadding,g=void 0===y?5:y,k=e.tickRotation,h=void 0===k?0:k,v=e.format,b=e.legend,P=e.legendPosition,S=void 0===P?\"end\":P,T=e.legendOffset,O=void 0===T?0:T,w=e.theme,A=p({axis:n,scale:r,ticksPosition:x,tickValues:u,tickSize:m,tickPadding:g,tickRotation:h,engine:\"canvas\"}),X=A.ticks,Y=A.textAlign,W=A.textBaseline;t.save(),t.translate(o,s),t.textAlign=Y,t.textBaseline=W,t.font=(w.axis.ticks.text.fontWeight?w.axis.ticks.text.fontWeight+\" \":\"\")+w.axis.ticks.text.fontSize+\"px \"+w.axis.ticks.text.fontFamily,(null!=(i=w.axis.domain.line.strokeWidth)?i:0)>0&&(t.lineWidth=Number(w.axis.domain.line.strokeWidth),t.lineCap=\"square\",w.axis.domain.line.stroke&&(t.strokeStyle=w.axis.domain.line.stroke),t.beginPath(),t.moveTo(0,0),t.lineTo(\"x\"===n?c:0,\"x\"===n?0:c),t.stroke());var B=\"function\"==typeof v?v:function(t){return\"\"+t};if(X.forEach((function(e){var i;(null!=(i=w.axis.ticks.line.strokeWidth)?i:0)>0&&(t.lineWidth=Number(w.axis.ticks.line.strokeWidth),t.lineCap=\"square\",w.axis.ticks.line.stroke&&(t.strokeStyle=w.axis.ticks.line.stroke),t.beginPath(),t.moveTo(e.x,e.y),t.lineTo(e.x+e.lineX,e.y+e.lineY),t.stroke());var n=B(e.value);t.save(),t.translate(e.x+e.textX,e.y+e.textY),t.rotate(f(h)),w.axis.ticks.text.fill&&(t.fillStyle=w.axis.ticks.text.fill),t.fillText(String(n),0,0),t.restore()})),void 0!==b){var z=0,V=0,C=0,D=\"center\";\"y\"===n?(C=-90,z=O,\"start\"===S?(D=\"start\",V=c):\"middle\"===S?(D=\"center\",V=c/2):\"end\"===S&&(D=\"end\")):(V=O,\"start\"===S?D=\"start\":\"middle\"===S?(D=\"center\",z=c/2):\"end\"===S&&(D=\"end\",z=c)),t.translate(z,V),t.rotate(f(C)),t.font=(w.axis.legend.text.fontWeight?w.axis.legend.text.fontWeight+\" \":\"\")+w.axis.legend.text.fontSize+\"px \"+w.axis.legend.text.fontFamily,w.axis.legend.text.fill&&(t.fillStyle=w.axis.legend.text.fill),t.textAlign=D,t.textBaseline=\"middle\",t.fillText(b,0,0)}t.restore()},V=function(t,e){var i=e.xScale,n=e.yScale,r=e.width,a=e.height,o=e.top,l=e.right,s=e.bottom,c=e.left,f=e.theme,x={top:o,right:l,bottom:s,left:c};A.forEach((function(e){var o=x[e];if(!o)return null;var l=\"top\"===e||\"bottom\"===e,s=\"top\"===e||\"left\"===e?\"before\":\"after\",c=l?i:n,u=b(o.format,c);z(t,v({},o,{axis:l?\"x\":\"y\",x:\"right\"===e?r:0,y:\"bottom\"===e?a:0,scale:c,format:u,length:l?r:a,ticksPosition:s,theme:f}))}))},C=function(t,e){var i=e.width,n=e.height,r=e.scale,a=e.axis,o=e.values;P({width:i,height:n,scale:r,axis:a,values:o}).forEach((function(e){t.beginPath(),t.moveTo(e.x1,e.y1),t.lineTo(e.x2,e.y2),t.stroke()}))};export{X as Axes,T as Axis,S as AxisTick,B as Grid,Y as GridLine,W as GridLines,w as axisPropType,O as axisPropTypes,A as positions,V as renderAxesToCanvas,z as renderAxisToCanvas,C as renderGridLinesToCanvas};\n//# sourceMappingURL=nivo-axes.es.js.map\n","var isPlainObject = require('./isPlainObject');\n\n/**\n * Used by `_.omit` to customize its `_.cloneDeep` use to only clone plain\n * objects.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {string} key The key of the property to inspect.\n * @returns {*} Returns the uncloned value or `undefined` to defer cloning to `_.cloneDeep`.\n */\nfunction customOmitClone(value) {\n return isPlainObject(value) ? undefined : value;\n}\n\nmodule.exports = customOmitClone;\n","var arrayMap = require('./_arrayMap'),\n baseClone = require('./_baseClone'),\n baseUnset = require('./_baseUnset'),\n castPath = require('./_castPath'),\n copyObject = require('./_copyObject'),\n customOmitClone = require('./_customOmitClone'),\n flatRest = require('./_flatRest'),\n getAllKeysIn = require('./_getAllKeysIn');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_FLAT_FLAG = 2,\n CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * The opposite of `_.pick`; this method creates an object composed of the\n * own and inherited enumerable property paths of `object` that are not omitted.\n *\n * **Note:** This method is considerably slower than `_.pick`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The source object.\n * @param {...(string|string[])} [paths] The property paths to omit.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.omit(object, ['a', 'c']);\n * // => { 'b': '2' }\n */\nvar omit = flatRest(function(object, paths) {\n var result = {};\n if (object == null) {\n return result;\n }\n var isDeep = false;\n paths = arrayMap(paths, function(path) {\n path = castPath(path, object);\n isDeep || (isDeep = path.length > 1);\n return path;\n });\n copyObject(object, getAllKeysIn(object), result);\n if (isDeep) {\n result = baseClone(result, CLONE_DEEP_FLAG | CLONE_FLAT_FLAG | CLONE_SYMBOLS_FLAG, customOmitClone);\n }\n var length = paths.length;\n while (length--) {\n baseUnset(result, paths[length]);\n }\n return result;\n});\n\nmodule.exports = omit;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar numberTag = '[object Number]';\n\n/**\n * Checks if `value` is classified as a `Number` primitive or object.\n *\n * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are\n * classified as numbers, use the `_.isFinite` method.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a number, else `false`.\n * @example\n *\n * _.isNumber(3);\n * // => true\n *\n * _.isNumber(Number.MIN_VALUE);\n * // => true\n *\n * _.isNumber(Infinity);\n * // => true\n *\n * _.isNumber('3');\n * // => false\n */\nfunction isNumber(value) {\n return typeof value == 'number' ||\n (isObjectLike(value) && baseGetTag(value) == numberTag);\n}\n\nmodule.exports = isNumber;\n","var baseEach = require('./_baseEach');\n\n/**\n * The base implementation of `_.filter` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction baseFilter(collection, predicate) {\n var result = [];\n baseEach(collection, function(value, index, collection) {\n if (predicate(value, index, collection)) {\n result.push(value);\n }\n });\n return result;\n}\n\nmodule.exports = baseFilter;\n","var arrayFilter = require('./_arrayFilter'),\n baseFilter = require('./_baseFilter'),\n baseIteratee = require('./_baseIteratee'),\n isArray = require('./isArray');\n\n/**\n * Iterates over elements of `collection`, returning an array of all elements\n * `predicate` returns truthy for. The predicate is invoked with three\n * arguments: (value, index|key, collection).\n *\n * **Note:** Unlike `_.remove`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n * @see _.reject\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': true },\n * { 'user': 'fred', 'age': 40, 'active': false }\n * ];\n *\n * _.filter(users, function(o) { return !o.active; });\n * // => objects for ['fred']\n *\n * // The `_.matches` iteratee shorthand.\n * _.filter(users, { 'age': 36, 'active': true });\n * // => objects for ['barney']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.filter(users, ['active', false]);\n * // => objects for ['fred']\n *\n * // The `_.property` iteratee shorthand.\n * _.filter(users, 'active');\n * // => objects for ['barney']\n *\n * // Combining several predicates using `_.overEvery` or `_.overSome`.\n * _.filter(users, _.overSome([{ 'age': 36 }, ['age', 40]]));\n * // => objects for ['fred', 'barney']\n */\nfunction filter(collection, predicate) {\n var func = isArray(collection) ? arrayFilter : baseFilter;\n return func(collection, baseIteratee(predicate, 3));\n}\n\nmodule.exports = filter;\n","import{isValidElement as t,useMemo as n,createElement as i}from\"react\";import o from\"lodash/omit\";import e from\"lodash/isNumber\";import a from\"lodash/filter\";import{absoluteAngleDegrees as r,radiansToDegrees as s,positionFromAngle as l,degreesToRadians as u,useTheme as h,useMotionConfig as d,useAnimatedPath as c}from\"@nivo/core\";import{useSpring as f,animated as y}from\"@react-spring/web\";import{jsxs as x,Fragment as m,jsx as p}from\"react/jsx-runtime\";function g(){return g=Object.assign||function(t){for(var n=1;n<arguments.length;n++){var i=arguments[n];for(var o in i)Object.prototype.hasOwnProperty.call(i,o)&&(t[o]=i[o])}return t},g.apply(this,arguments)}var k={dotSize:4,noteWidth:120,noteTextOffset:8,animate:!0,motionStiffness:90,motionDamping:13},W=function(n){var i=typeof n;return t(n)||\"string\"===i||\"function\"===i||\"object\"===i},v=function(t){var n=typeof t;return\"string\"===n||\"function\"===n},b=function(t){return\"circle\"===t.type},w=function(t){return\"dot\"===t.type},z=function(t){return\"rect\"===t.type},P=function(t){var n=t.data,i=t.annotations,e=t.getPosition,r=t.getDimensions;return i.reduce((function(t,i){var s=i.offset||0;return[].concat(t,a(n,i.match).map((function(t){var n=e(t),a=r(t);return(b(i)||z(i))&&(a.size=a.size+2*s,a.width=a.width+2*s,a.height=a.height+2*s),g({},o(i,[\"match\",\"offset\"]),n,a,{size:i.size||a.size,datum:t})})))}),[])},S=function(t,n,i,o){var e=Math.atan2(o-n,i-t);return r(s(e))},C=function(t){var n,i,o=t.x,a=t.y,r=t.noteX,s=t.noteY,h=t.noteWidth,d=void 0===h?k.noteWidth:h,c=t.noteTextOffset,f=void 0===c?k.noteTextOffset:c;if(e(r))n=o+r;else{if(void 0===r.abs)throw new Error(\"noteX should be either a number or an object containing an 'abs' property\");n=r.abs}if(e(s))i=a+s;else{if(void 0===s.abs)throw new Error(\"noteY should be either a number or an object containing an 'abs' property\");i=s.abs}var y=o,x=a,m=S(o,a,n,i);if(b(t)){var p=l(u(m),t.size/2);y+=p.x,x+=p.y}if(z(t)){var g=Math.round((m+90)/45)%8;0===g&&(x-=t.height/2),1===g&&(y+=t.width/2,x-=t.height/2),2===g&&(y+=t.width/2),3===g&&(y+=t.width/2,x+=t.height/2),4===g&&(x+=t.height/2),5===g&&(y-=t.width/2,x+=t.height/2),6===g&&(y-=t.width/2),7===g&&(y-=t.width/2,x-=t.height/2)}var W=n,v=n;return(m+90)%360>180?(W-=d,v-=d):v+=d,{points:[[y,x],[n,i],[v,i]],text:[W,i-f],angle:m+90}},O=function(t){var i=t.data,o=t.annotations,e=t.getPosition,a=t.getDimensions;return n((function(){return P({data:i,annotations:o,getPosition:e,getDimensions:a})}),[i,o,e,a])},j=function(t){var i=t.annotations;return n((function(){return i.map((function(t){return g({},t,{computed:C(g({},t))})}))}),[i])},M=function(t){return n((function(){return C(t)}),[t])},T=function(t){var n=t.datum,e=t.x,a=t.y,r=t.note,s=h(),l=d(),u=l.animate,c=l.config,k=f({x:e,y:a,config:c,immediate:!u});return\"function\"==typeof r?i(r,{x:e,y:a,datum:n}):x(m,{children:[s.annotations.text.outlineWidth>0&&p(y.text,{x:k.x,y:k.y,style:g({},s.annotations.text,{strokeLinejoin:\"round\",strokeWidth:2*s.annotations.text.outlineWidth,stroke:s.annotations.text.outlineColor}),children:r}),p(y.text,{x:k.x,y:k.y,style:o(s.annotations.text,[\"outlineWidth\",\"outlineColor\"]),children:r})]})},E=function(t){var i=t.points,o=t.isOutline,e=void 0!==o&&o,a=h(),r=n((function(){var t=i[0];return i.slice(1).reduce((function(t,n){return t+\" L\"+n[0]+\",\"+n[1]}),\"M\"+t[0]+\",\"+t[1])}),[i]),s=c(r);if(e&&a.annotations.link.outlineWidth<=0)return null;var l=g({},a.annotations.link);return e&&(l.strokeLinecap=\"square\",l.strokeWidth=a.annotations.link.strokeWidth+2*a.annotations.link.outlineWidth,l.stroke=a.annotations.link.outlineColor,l.opacity=a.annotations.link.outlineOpacity),p(y.path,{fill:\"none\",d:s,style:l})},D=function(t){var n=t.x,i=t.y,o=t.size,e=h(),a=d(),r=a.animate,s=a.config,l=f({x:n,y:i,radius:o/2,config:s,immediate:!r});return x(m,{children:[e.annotations.outline.outlineWidth>0&&p(y.circle,{cx:l.x,cy:l.y,r:l.radius,style:g({},e.annotations.outline,{fill:\"none\",strokeWidth:e.annotations.outline.strokeWidth+2*e.annotations.outline.outlineWidth,stroke:e.annotations.outline.outlineColor,opacity:e.annotations.outline.outlineOpacity})}),p(y.circle,{cx:l.x,cy:l.y,r:l.radius,style:e.annotations.outline})]})},I=function(t){var n=t.x,i=t.y,o=t.size,e=void 0===o?k.dotSize:o,a=h(),r=d(),s=r.animate,l=r.config,u=f({x:n,y:i,radius:e/2,config:l,immediate:!s});return x(m,{children:[a.annotations.outline.outlineWidth>0&&p(y.circle,{cx:u.x,cy:u.y,r:u.radius,style:g({},a.annotations.outline,{fill:\"none\",strokeWidth:2*a.annotations.outline.outlineWidth,stroke:a.annotations.outline.outlineColor,opacity:a.annotations.outline.outlineOpacity})}),p(y.circle,{cx:u.x,cy:u.y,r:u.radius,style:a.annotations.symbol})]})},L=function(t){var n=t.x,i=t.y,o=t.width,e=t.height,a=t.borderRadius,r=void 0===a?6:a,s=h(),l=d(),u=l.animate,c=l.config,k=f({x:n-o/2,y:i-e/2,width:o,height:e,config:c,immediate:!u});return x(m,{children:[s.annotations.outline.outlineWidth>0&&p(y.rect,{x:k.x,y:k.y,rx:r,ry:r,width:k.width,height:k.height,style:g({},s.annotations.outline,{fill:\"none\",strokeWidth:s.annotations.outline.strokeWidth+2*s.annotations.outline.outlineWidth,stroke:s.annotations.outline.outlineColor,opacity:s.annotations.outline.outlineOpacity})}),p(y.rect,{x:k.x,y:k.y,rx:r,ry:r,width:k.width,height:k.height,style:s.annotations.outline})]})},R=function(t){var n=t.datum,i=t.x,o=t.y,e=t.note,a=M(t);if(!W(e))throw new Error(\"note should be a valid react element\");return x(m,{children:[p(E,{points:a.points,isOutline:!0}),b(t)&&p(D,{x:i,y:o,size:t.size}),w(t)&&p(I,{x:i,y:o,size:t.size}),z(t)&&p(L,{x:i,y:o,width:t.width,height:t.height,borderRadius:t.borderRadius}),p(E,{points:a.points}),p(T,{datum:n,x:a.text[0],y:a.text[1],note:e})]})},q=function(t,n){n.forEach((function(n,i){var o=n[0],e=n[1];0===i?t.moveTo(o,e):t.lineTo(o,e)}))},J=function(t,n){var i=n.annotations,o=n.theme;0!==i.length&&(t.save(),i.forEach((function(n){if(!v(n.note))throw new Error(\"note is invalid for canvas implementation\");o.annotations.link.outlineWidth>0&&(t.lineCap=\"square\",t.strokeStyle=o.annotations.link.outlineColor,t.lineWidth=o.annotations.link.strokeWidth+2*o.annotations.link.outlineWidth,t.beginPath(),q(t,n.computed.points),t.stroke(),t.lineCap=\"butt\"),b(n)&&o.annotations.outline.outlineWidth>0&&(t.strokeStyle=o.annotations.outline.outlineColor,t.lineWidth=o.annotations.outline.strokeWidth+2*o.annotations.outline.outlineWidth,t.beginPath(),t.arc(n.x,n.y,n.size/2,0,2*Math.PI),t.stroke()),w(n)&&o.annotations.symbol.outlineWidth>0&&(t.strokeStyle=o.annotations.symbol.outlineColor,t.lineWidth=2*o.annotations.symbol.outlineWidth,t.beginPath(),t.arc(n.x,n.y,n.size/2,0,2*Math.PI),t.stroke()),z(n)&&o.annotations.outline.outlineWidth>0&&(t.strokeStyle=o.annotations.outline.outlineColor,t.lineWidth=o.annotations.outline.strokeWidth+2*o.annotations.outline.outlineWidth,t.beginPath(),t.rect(n.x-n.width/2,n.y-n.height/2,n.width,n.height),t.stroke()),t.strokeStyle=o.annotations.link.stroke,t.lineWidth=o.annotations.link.strokeWidth,t.beginPath(),q(t,n.computed.points),t.stroke(),b(n)&&(t.strokeStyle=o.annotations.outline.stroke,t.lineWidth=o.annotations.outline.strokeWidth,t.beginPath(),t.arc(n.x,n.y,n.size/2,0,2*Math.PI),t.stroke()),w(n)&&(t.fillStyle=o.annotations.symbol.fill,t.beginPath(),t.arc(n.x,n.y,n.size/2,0,2*Math.PI),t.fill()),z(n)&&(t.strokeStyle=o.annotations.outline.stroke,t.lineWidth=o.annotations.outline.strokeWidth,t.beginPath(),t.rect(n.x-n.width/2,n.y-n.height/2,n.width,n.height),t.stroke()),\"function\"==typeof n.note?n.note(t,{datum:n.datum,x:n.computed.text[0],y:n.computed.text[1],theme:o}):(t.font=o.annotations.text.fontSize+\"px \"+o.annotations.text.fontFamily,t.textAlign=\"left\",t.textBaseline=\"alphabetic\",t.fillStyle=o.annotations.text.fill,t.strokeStyle=o.annotations.text.outlineColor,t.lineWidth=2*o.annotations.text.outlineWidth,o.annotations.text.outlineWidth>0&&(t.lineJoin=\"round\",t.strokeText(n.note,n.computed.text[0],n.computed.text[1]),t.lineJoin=\"miter\"),t.fillText(n.note,n.computed.text[0],n.computed.text[1]))})),t.restore())};export{R as Annotation,P as bindAnnotations,C as computeAnnotation,k as defaultProps,S as getLinkAngle,v as isCanvasNote,b as isCircleAnnotation,w as isDotAnnotation,z as isRectAnnotation,W as isSvgNote,J as renderAnnotationsToCanvas,O as useAnnotations,M as useComputedAnnotation,j as useComputedAnnotations};\n//# sourceMappingURL=nivo-annotations.es.js.map\n","import{schemeCategory10 as e,schemeAccent as r,schemeDark2 as n,schemePaired as t,schemePastel1 as o,schemePastel2 as i,schemeSet1 as u,schemeSet2 as a,schemeSet3 as l,schemeBrBG as s,schemePRGn as c,schemePiYG as f,schemePuOr as p,schemeRdBu as d,schemeRdGy as m,schemeRdYlBu as h,schemeRdYlGn as g,schemeSpectral as y,interpolateBrBG as b,interpolatePRGn as v,interpolatePiYG as _,interpolatePuOr as w,interpolateRdBu as O,interpolateRdGy as k,interpolateRdYlBu as z,interpolateRdYlGn as A,interpolateSpectral as j,schemeBlues as E,schemeGreens as x,schemeGreys as I,schemeOranges as q,schemePurples as S,schemeReds as R,schemeBuGn as C,schemeBuPu as G,schemeGnBu as V,schemeOrRd as T,schemePuBuGn as P,schemePuBu as U,schemePuRd as D,schemeRdPu as M,schemeYlGnBu as $,schemeYlGn as B,schemeYlOrBr as F,schemeYlOrRd as H,interpolateBlues as J,interpolateGreens as K,interpolateGreys as L,interpolateOranges as N,interpolatePurples as Q,interpolateReds as W,interpolateTurbo as X,interpolateViridis as Y,interpolateInferno as Z,interpolateMagma as ee,interpolatePlasma as re,interpolateCividis as ne,interpolateWarm as te,interpolateCool as oe,interpolateCubehelixDefault as ie,interpolateBuGn as ue,interpolateBuPu as ae,interpolateGnBu as le,interpolateOrRd as se,interpolatePuBuGn as ce,interpolatePuBu as fe,interpolatePuRd as pe,interpolateRdPu as de,interpolateYlGnBu as me,interpolateYlGn as he,interpolateYlOrBr as ge,interpolateYlOrRd as ye,interpolateRainbow as be,interpolateSinebow as ve}from\"d3-scale-chromatic\";import _e from\"lodash/isPlainObject\";import we from\"lodash/get\";import{useMemo as Oe}from\"react\";import{rgb as ke}from\"d3-color\";import ze from\"prop-types\";import{scaleSequential as Ae,scaleDiverging as je,scaleQuantize as Ee,scaleLinear as xe,scaleOrdinal as Ie}from\"d3-scale\";function qe(){return qe=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var n=arguments[r];for(var t in n)Object.prototype.hasOwnProperty.call(n,t)&&(e[t]=n[t])}return e},qe.apply(this,arguments)}function Se(e,r){(null==r||r>e.length)&&(r=e.length);for(var n=0,t=new Array(r);n<r;n++)t[n]=e[n];return t}function Re(e,r){var n=\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=function(e,r){if(e){if(\"string\"==typeof e)return Se(e,r);var n=Object.prototype.toString.call(e).slice(8,-1);return\"Object\"===n&&e.constructor&&(n=e.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(e):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Se(e,r):void 0}}(e))||r&&e&&\"number\"==typeof e.length){n&&(e=n);var t=0;return function(){return t>=e.length?{done:!0}:{done:!1,value:e[t++]}}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var Ce={nivo:[\"#e8c1a0\",\"#f47560\",\"#f1e15b\",\"#e8a838\",\"#61cdbb\",\"#97e3d5\"],category10:e,accent:r,dark2:n,paired:t,pastel1:o,pastel2:i,set1:u,set2:a,set3:l},Ge=Object.keys(Ce),Ve={brown_blueGreen:s,purpleRed_green:c,pink_yellowGreen:f,purple_orange:p,red_blue:d,red_grey:m,red_yellow_blue:h,red_yellow_green:g,spectral:y},Te=Object.keys(Ve),Pe={brown_blueGreen:b,purpleRed_green:v,pink_yellowGreen:_,purple_orange:w,red_blue:O,red_grey:k,red_yellow_blue:z,red_yellow_green:A,spectral:j},Ue={blues:E,greens:x,greys:I,oranges:q,purples:S,reds:R,blue_green:C,blue_purple:G,green_blue:V,orange_red:T,purple_blue_green:P,purple_blue:U,purple_red:D,red_purple:M,yellow_green_blue:$,yellow_green:B,yellow_orange_brown:F,yellow_orange_red:H},De=Object.keys(Ue),Me={blues:J,greens:K,greys:L,oranges:N,purples:Q,reds:W,turbo:X,viridis:Y,inferno:Z,magma:ee,plasma:re,cividis:ne,warm:te,cool:oe,cubehelixDefault:ie,blue_green:ue,blue_purple:ae,green_blue:le,orange_red:se,purple_blue_green:ce,purple_blue:fe,purple_red:pe,red_purple:de,yellow_green_blue:me,yellow_green:he,yellow_orange_brown:ge,yellow_orange_red:ye},$e=qe({},Ce,Ve,Ue),Be=Object.keys($e),Fe=function(e){return Ge.includes(e)},He=function(e){return Te.includes(e)},Je=function(e){return De.includes(e)},Ke={rainbow:be,sinebow:ve},Le=qe({},Pe,Me,Ke),Ne=Object.keys(Le),Qe=function(e,r){if(\"function\"==typeof e)return e;if(_e(e)){if(function(e){return void 0!==e.theme}(e)){if(void 0===r)throw new Error(\"Unable to use color from theme as no theme was provided\");var n=we(r,e.theme);if(void 0===n)throw new Error(\"Color from theme is undefined at path: '\"+e.theme+\"'\");return function(){return n}}if(function(e){return void 0!==e.from}(e)){var t=function(r){return we(r,e.from)};if(Array.isArray(e.modifiers)){for(var o,i=[],u=function(){var e=o.value,r=e[0],n=e[1];if(\"brighter\"===r)i.push((function(e){return e.brighter(n)}));else if(\"darker\"===r)i.push((function(e){return e.darker(n)}));else{if(\"opacity\"!==r)throw new Error(\"Invalid color modifier: '\"+r+\"', must be one of: 'brighter', 'darker', 'opacity'\");i.push((function(e){return e.opacity=n,e}))}},a=Re(e.modifiers);!(o=a()).done;)u();return 0===i.length?t:function(e){return i.reduce((function(e,r){return r(e)}),ke(t(e))).toString()}}return t}throw new Error(\"Invalid color spec, you should either specify 'theme' or 'from' when using a config object\")}return function(){return e}},We=function(e,r){return Oe((function(){return Qe(e,r)}),[e,r])},Xe=ze.oneOfType([ze.func,ze.arrayOf(ze.string),ze.shape({scheme:ze.oneOf(Be).isRequired,size:ze.number}),ze.shape({datum:ze.string.isRequired}),ze.string]),Ye=ze.oneOfType([ze.string,ze.func,ze.shape({theme:ze.string.isRequired}),ze.shape({from:ze.string.isRequired,modifiers:ze.arrayOf(ze.array)})]),Ze={scheme:\"turbo\"},er=function(e,r){var n=e.minValue,t=e.maxValue,o=void 0!==n?n:r.min,i=void 0!==t?t:r.max,u=Ae().domain([o,i]).clamp(!0);if(\"colors\"in e)u.range(e.colors);else if(\"interpolator\"in e)u.interpolator(e.interpolator);else{var a,l=null!=(a=e.scheme)?a:Ze.scheme;u.interpolator(Le[l])}return u},rr=function(e,r){return Oe((function(){return er(e,r)}),[e,r])},nr={scheme:\"red_yellow_blue\",divergeAt:.5},tr=function(e,r){var n,t=e.minValue,o=e.maxValue,i=void 0!==t?t:r.min,u=void 0!==o?o:r.max,a=[i,i+(u-i)/2,u],l=.5-(null!=(n=e.divergeAt)?n:nr.divergeAt),s=je().domain(a).clamp(!0),c=function(e){return String(e)};if(\"colors\"in e)c=je().domain(a.map((function(e){return e-l*(u-i)}))).range(e.colors).interpolator();else if(\"interpolator\"in e)c=e.interpolator;else{var f,p=null!=(f=e.scheme)?f:nr.scheme;c=Le[p]}return s.interpolator((function(e){return c(e+l)}))},or=function(e,r){return Oe((function(){return tr(e,r)}),[e,r])},ir={scheme:\"turbo\",steps:7},ur=function(e,r){var n=Ee().domain(e.domain||[r.min,r.max]).nice();if(\"colors\"in e)n.range(e.colors);else{var t=e.scheme||ir.scheme,o=void 0===e.steps?ir.steps:e.steps,i=Le[t],u=Array.from({length:o}).map((function(e,r){return i(r*(1/(o-1)))}));n.range(u)}return n},ar=function(e,r){return Oe((function(){return ur(e,r)}),[e,r])},lr=function(e,r){if(function(e){return\"sequential\"===e.type}(e))return er(e,r);if(function(e){return\"diverging\"===e.type}(e))return tr(e,r);if(function(e){return\"quantize\"===e.type}(e))return ur(e,r);throw new Error(\"Invalid continuous color scale config\")},sr=function(e,r){return Oe((function(){return lr(e,r)}),[e,r])},cr=function(e,r){void 0===r&&(r=16);var n=e.domain();if(\"thresholds\"in e){var t=[],o=xe().domain(n).range([0,1]);return e.range().forEach((function(r,n){var i=e.invertExtent(r),u=i[0],a=i[1];t.push({key:n+\".0\",offset:o(u),stopColor:r}),t.push({key:n+\".1\",offset:o(a),stopColor:r})})),t}var i=e.copy();return 2===n.length?i.domain([0,1]):3===n.length&&i.domain([0,.5,1]),i.ticks(r).map((function(e){return{key:\"\"+e,offset:e,stopColor:\"\"+i(e)}}))},fr=function(e,r){if(\"function\"==typeof e)return e;var n=\"function\"==typeof r?r:function(e){return we(e,r)};if(Array.isArray(e)){var t=Ie(e),o=function(e){return t(n(e))};return o.scale=t,o}if(_e(e)){if(function(e){return void 0!==e.datum}(e))return function(r){return we(r,e.datum)};if(function(e){return void 0!==e.scheme}(e)){if(Fe(e.scheme)){var i=Ie($e[e.scheme]),u=function(e){return i(n(e))};return u.scale=i,u}if(He(e.scheme)){if(void 0!==e.size&&(e.size<3||e.size>11))throw new Error(\"Invalid size '\"+e.size+\"' for diverging color scheme '\"+e.scheme+\"', must be between 3~11\");var a=Ie($e[e.scheme][e.size||11]),l=function(e){return a(n(e))};return l.scale=a,l}if(Je(e.scheme)){if(void 0!==e.size&&(e.size<3||e.size>9))throw new Error(\"Invalid size '\"+e.size+\"' for sequential color scheme '\"+e.scheme+\"', must be between 3~9\");var s=Ie($e[e.scheme][e.size||9]),c=function(e){return s(n(e))};return c.scale=s,c}}throw new Error(\"Invalid colors, when using an object, you should either pass a 'datum' or a 'scheme' property\")}return function(){return e}},pr=function(e,r){return Oe((function(){return fr(e,r)}),[e,r])};export{Ge as categoricalColorSchemeIds,Ce as categoricalColorSchemes,Ne as colorInterpolatorIds,Le as colorInterpolators,Be as colorSchemeIds,$e as colorSchemes,cr as computeContinuousColorScaleColorStops,Ke as cyclicalColorInterpolators,Pe as divergingColorInterpolators,nr as divergingColorScaleDefaults,Te as divergingColorSchemeIds,Ve as divergingColorSchemes,lr as getContinuousColorScale,tr as getDivergingColorScale,Qe as getInheritedColorGenerator,fr as getOrdinalColorScale,ur as getQuantizeColorScale,er as getSequentialColorScale,Ye as inheritedColorPropType,Fe as isCategoricalColorScheme,He as isDivergingColorScheme,Je as isSequentialColorScheme,Xe as ordinalColorsPropType,ir as quantizeColorScaleDefaults,Me as sequentialColorInterpolators,Ze as sequentialColorScaleDefaults,De as sequentialColorSchemeIds,Ue as sequentialColorSchemes,sr as useContinuousColorScale,or as useDivergingColorScale,We as useInheritedColor,pr as useOrdinalColorScale,ar as useQuantizeColorScale,rr as useSequentialColorScale};\n//# sourceMappingURL=nivo-colors.es.js.map\n","import{jsx as t,jsxs as e}from\"react/jsx-runtime\";import{scaleLinear as i}from\"d3-scale\";import{getValueFormatter as n,useTheme as o,degreesToRadians as r}from\"@nivo/core\";import{computeContinuousColorScaleColorStops as l}from\"@nivo/colors\";import*as a from\"react\";import{Fragment as c,useState as s,useCallback as d,useMemo as h}from\"react\";import g from\"prop-types\";var m=function(e){var i=e.x,n=e.y,o=e.size,r=e.fill,l=e.opacity,a=void 0===l?1:l,c=e.borderWidth,s=void 0===c?0:c,d=e.borderColor;return t(\"circle\",{r:o/2,cx:i+o/2,cy:n+o/2,fill:r,opacity:a,strokeWidth:s,stroke:void 0===d?\"transparent\":d,style:{pointerEvents:\"none\"}})},f=function(e){var i=e.x,n=e.y,o=e.size,r=e.fill,l=e.opacity,a=void 0===l?1:l,c=e.borderWidth,s=void 0===c?0:c,d=e.borderColor;return t(\"g\",{transform:\"translate(\"+i+\",\"+n+\")\",children:t(\"path\",{d:\"\\n M\"+o/2+\" 0\\n L\"+.8*o+\" \"+o/2+\"\\n L\"+o/2+\" \"+o+\"\\n L\"+.2*o+\" \"+o/2+\"\\n L\"+o/2+\" 0\\n \",fill:r,opacity:a,strokeWidth:s,stroke:void 0===d?\"transparent\":d,style:{pointerEvents:\"none\"}})})},u=function(e){var i=e.x,n=e.y,o=e.size,r=e.fill,l=e.opacity,a=void 0===l?1:l,c=e.borderWidth,s=void 0===c?0:c,d=e.borderColor;return t(\"rect\",{x:i,y:n,fill:r,opacity:a,strokeWidth:s,stroke:void 0===d?\"transparent\":d,width:o,height:o,style:{pointerEvents:\"none\"}})},v=function(e){var i=e.x,n=e.y,o=e.size,r=e.fill,l=e.opacity,a=void 0===l?1:l,c=e.borderWidth,s=void 0===c?0:c,d=e.borderColor;return t(\"g\",{transform:\"translate(\"+i+\",\"+n+\")\",children:t(\"path\",{d:\"\\n M\"+o/2+\" 0\\n L\"+o+\" \"+o+\"\\n L0 \"+o+\"\\n L\"+o/2+\" 0\\n \",fill:r,opacity:a,strokeWidth:s,stroke:void 0===d?\"transparent\":d,style:{pointerEvents:\"none\"}})})};function p(){return p=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var i=arguments[e];for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&(t[n]=i[n])}return t},p.apply(this,arguments)}var y={length:200,thickness:16,direction:\"row\",tickPosition:\"after\",tickSize:4,tickSpacing:3,tickOverlap:!1,tickFormat:function(t){return\"\"+t},titleAlign:\"start\",titleOffset:4},b={top:0,right:0,bottom:0,left:0},k=function(t){var e,i=t.direction,n=t.itemsSpacing,o=t.padding,r=t.itemCount,l=t.itemWidth,a=t.itemHeight;if(\"number\"!=typeof o&&(\"object\"!=typeof(e=o)||Array.isArray(e)||null===e))throw new Error(\"Invalid property padding, must be one of: number, object\");var c=\"number\"==typeof o?{top:o,right:o,bottom:o,left:o}:p({},b,o),s=c.left+c.right,d=c.top+c.bottom,h=l+s,g=a+d,m=(r-1)*n;return\"row\"===i?h=l*r+m+s:\"column\"===i&&(g=a*r+m+d),{width:h,height:g,padding:c}},x=function(t){var e=t.anchor,i=t.translateX,n=t.translateY,o=t.containerWidth,r=t.containerHeight,l=t.width,a=t.height,c=i,s=n;switch(e){case\"top\":c+=(o-l)/2;break;case\"top-right\":c+=o-l;break;case\"right\":c+=o-l,s+=(r-a)/2;break;case\"bottom-right\":c+=o-l,s+=r-a;break;case\"bottom\":c+=(o-l)/2,s+=r-a;break;case\"bottom-left\":s+=r-a;break;case\"left\":s+=(r-a)/2;break;case\"center\":c+=(o-l)/2,s+=(r-a)/2}return{x:c,y:s}},S=function(t){var e,i,n,o,r,l,a=t.direction,c=t.justify,s=t.symbolSize,d=t.symbolSpacing,h=t.width,g=t.height;switch(a){case\"left-to-right\":e=0,i=(g-s)/2,o=g/2,l=\"central\",c?(n=h,r=\"end\"):(n=s+d,r=\"start\");break;case\"right-to-left\":e=h-s,i=(g-s)/2,o=g/2,l=\"central\",c?(n=0,r=\"start\"):(n=h-s-d,r=\"end\");break;case\"top-to-bottom\":e=(h-s)/2,i=0,n=h/2,r=\"middle\",c?(o=g,l=\"alphabetic\"):(o=s+d,l=\"text-before-edge\");break;case\"bottom-to-top\":e=(h-s)/2,i=g-s,n=h/2,r=\"middle\",c?(o=0,l=\"text-before-edge\"):(o=g-s-d,l=\"alphabetic\")}return{symbolX:e,symbolY:i,labelX:n,labelY:o,labelAnchor:r,labelAlignment:l}},A=function(t){var e,o=t.scale,r=t.ticks,a=t.length,c=void 0===a?y.length:a,s=t.thickness,d=void 0===s?y.thickness:s,h=t.direction,g=void 0===h?y.direction:h,m=t.tickPosition,f=void 0===m?y.tickPosition:m,u=t.tickSize,v=void 0===u?y.tickSize:u,p=t.tickSpacing,b=void 0===p?y.tickSpacing:p,k=t.tickOverlap,x=void 0===k?y.tickOverlap:k,S=t.tickFormat,A=void 0===S?y.tickFormat:S,W=t.title,z=t.titleAlign,C=void 0===z?y.titleAlign:z,O=t.titleOffset,B=void 0===O?y.titleOffset:O,w=\"column\"===g?[].concat(o.domain()).reverse():o.domain(),X=i().domain(w);2===w.length?X.range([0,c]):3===w.length&&X.range([0,c/2,c]),e=\"thresholds\"in o?[w[0]].concat(o.thresholds(),[w[1]]):Array.isArray(r)?r:o.ticks(r);var Y,H,E,j,T,L,M=l(o,32),F=n(A),P=[],R=0,q=0;if(\"row\"===g){var V,D,G;Y=c,H=d,q=1;var I;T=0,E=\"start\"===C?0:\"middle\"===C?c/2:c,\"before\"===f?(V=-v,D=x?d:0,G=-v-b,I=\"alphabetic\",j=d+B,L=\"hanging\"):(V=x?0:d,G=(D=d+v)+b,I=\"hanging\",j=-B,L=\"alphabetic\"),e.forEach((function(t){var e=X(t);P.push({x1:e,y1:V,x2:e,y2:D,text:F(t),textX:e,textY:G,textHorizontalAlign:\"middle\",textVerticalAlign:I})}))}else{var N,_,J,K;Y=d,H=c,R=1;T=-90,j=\"start\"===C?c:\"middle\"===C?c/2:0,\"before\"===f?(_=x?d:0,J=(N=-v)-b,K=\"end\",E=d+B,L=\"hanging\"):(N=x?0:d,J=(_=d+v)+b,K=\"start\",E=-B,L=\"alphabetic\"),e.forEach((function(t){var e=X(t);P.push({x1:N,y1:e,x2:_,y2:e,text:F(t),textX:J,textY:e,textHorizontalAlign:K,textVerticalAlign:\"central\"})}))}return{width:Y,height:H,gradientX1:0,gradientY1:R,gradientX2:q,gradientY2:0,colorStops:M,ticks:P,titleText:W,titleX:E,titleY:j,titleRotation:T,titleHorizontalAlign:C,titleVerticalAlign:L}},W=function(i){var n=i.scale,r=i.ticks,l=i.length,a=void 0===l?y.length:l,s=i.thickness,d=void 0===s?y.thickness:s,h=i.direction,g=void 0===h?y.direction:h,m=i.tickPosition,f=void 0===m?y.tickPosition:m,u=i.tickSize,v=void 0===u?y.tickSize:u,b=i.tickSpacing,k=void 0===b?y.tickSpacing:b,x=i.tickOverlap,S=void 0===x?y.tickOverlap:x,W=i.tickFormat,z=void 0===W?y.tickFormat:W,C=i.title,O=i.titleAlign,B=void 0===O?y.titleAlign:O,w=i.titleOffset,X=A({scale:n,ticks:r,length:a,thickness:d,direction:g,tickPosition:f,tickSize:v,tickSpacing:k,tickOverlap:S,tickFormat:z,title:C,titleAlign:B,titleOffset:void 0===w?y.titleOffset:w}),Y=X.width,H=X.height,E=X.gradientX1,j=X.gradientY1,T=X.gradientX2,L=X.gradientY2,M=X.ticks,F=X.colorStops,P=X.titleText,R=X.titleX,q=X.titleY,V=X.titleRotation,D=X.titleVerticalAlign,G=X.titleHorizontalAlign,I=o(),N=\"ContinuousColorsLegendSvgGradient.\"+g+\".\"+F.map((function(t){return t.offset})).join(\"_\");return e(\"g\",{children:[t(\"defs\",{children:t(\"linearGradient\",{id:N,x1:E,y1:j,x2:T,y2:L,children:F.map((function(e){return t(\"stop\",p({},e))}))})}),P&&t(\"text\",{transform:\"translate(\"+R+\", \"+q+\") rotate(\"+V+\")\",textAnchor:G,dominantBaseline:D,style:I.legends.title.text,children:P}),t(\"rect\",{width:Y,height:H,fill:\"url(#\"+N}),M.map((function(i,n){return e(c,{children:[t(\"line\",{x1:i.x1,y1:i.y1,x2:i.x2,y2:i.y2,style:I.legends.ticks.line}),t(\"text\",{x:i.textX,y:i.textY,textAnchor:i.textHorizontalAlign,dominantBaseline:i.textVerticalAlign,style:I.legends.ticks.text,children:i.text})]},n)}))]})},z=[\"containerWidth\",\"containerHeight\",\"anchor\",\"translateX\",\"translateY\",\"length\",\"thickness\",\"direction\"],C=function(e){var i,n,o=e.containerWidth,r=e.containerHeight,l=e.anchor,a=e.translateX,c=void 0===a?0:a,s=e.translateY,d=void 0===s?0:s,h=e.length,g=void 0===h?y.length:h,m=e.thickness,f=void 0===m?y.thickness:m,u=e.direction,v=void 0===u?y.direction:u,b=function(t,e){if(null==t)return{};var i,n,o={},r=Object.keys(t);for(n=0;n<r.length;n++)i=r[n],e.indexOf(i)>=0||(o[i]=t[i]);return o}(e,z);\"row\"===v?(i=g,n=f):(i=f,n=g);var k=x({anchor:l,translateX:c,translateY:d,containerWidth:o,containerHeight:r,width:i,height:n}),S=k.x,A=k.y;return t(\"g\",{transform:\"translate(\"+S+\", \"+A+\")\",children:t(W,p({length:g,thickness:f,direction:v},b))})},O={circle:m,diamond:f,square:u,triangle:v},B=function(i){var n,r,l,c,h,g,m,f,u,v,y,b=i.x,k=i.y,x=i.width,A=i.height,W=i.data,z=i.direction,C=void 0===z?\"left-to-right\":z,B=i.justify,w=void 0!==B&&B,X=i.textColor,Y=i.background,H=void 0===Y?\"transparent\":Y,E=i.opacity,j=void 0===E?1:E,T=i.symbolShape,L=void 0===T?\"square\":T,M=i.symbolSize,F=void 0===M?16:M,P=i.symbolSpacing,R=void 0===P?8:P,q=i.symbolBorderWidth,V=void 0===q?0:q,D=i.symbolBorderColor,G=void 0===D?\"transparent\":D,I=i.onClick,N=i.onMouseEnter,_=i.onMouseLeave,J=i.toggleSerie,K=i.effects,Q=s({}),U=Q[0],Z=Q[1],$=o(),tt=d((function(t){if(K){var e=K.filter((function(t){return\"hover\"===t.on})).reduce((function(t,e){return p({},t,e.style)}),{});Z(e)}null==N||N(W,t)}),[N,W,K]),et=d((function(t){if(K){var e=K.filter((function(t){return\"hover\"!==t.on})).reduce((function(t,e){return p({},t,e.style)}),{});Z(e)}null==_||_(W,t)}),[_,W,K]),it=S({direction:C,justify:w,symbolSize:null!=(n=U.symbolSize)?n:F,symbolSpacing:R,width:x,height:A}),nt=it.symbolX,ot=it.symbolY,rt=it.labelX,lt=it.labelY,at=it.labelAnchor,ct=it.labelAlignment,st=[I,N,_,J].some((function(t){return void 0!==t})),dt=\"function\"==typeof L?L:O[L];return e(\"g\",{transform:\"translate(\"+b+\",\"+k+\")\",style:{opacity:null!=(r=U.itemOpacity)?r:j},children:[t(\"rect\",{width:x,height:A,fill:null!=(l=U.itemBackground)?l:H,style:{cursor:st?\"pointer\":\"auto\"},onClick:function(t){null==I||I(W,t),null==J||J(W.id)},onMouseEnter:tt,onMouseLeave:et}),a.createElement(dt,p({id:W.id,x:nt,y:ot,size:null!=(c=U.symbolSize)?c:F,fill:null!=(h=null!=(g=W.fill)?g:W.color)?h:\"black\",borderWidth:null!=(m=U.symbolBorderWidth)?m:V,borderColor:null!=(f=U.symbolBorderColor)?f:G},W.hidden?$.legends.hidden.symbol:void 0)),t(\"text\",{textAnchor:at,style:p({},$.legends.text,{fill:null!=(u=null!=(v=null!=(y=U.itemTextColor)?y:X)?v:$.legends.text.fill)?u:\"black\",dominantBaseline:ct,pointerEvents:\"none\",userSelect:\"none\"},W.hidden?$.legends.hidden.text:void 0),x:rt,y:lt,children:W.label})]})},w=function(e){var i=e.data,n=e.x,o=e.y,r=e.direction,l=e.padding,a=void 0===l?0:l,c=e.justify,s=e.effects,d=e.itemWidth,h=e.itemHeight,g=e.itemDirection,m=void 0===g?\"left-to-right\":g,f=e.itemsSpacing,u=void 0===f?0:f,v=e.itemTextColor,p=e.itemBackground,y=void 0===p?\"transparent\":p,b=e.itemOpacity,x=void 0===b?1:b,S=e.symbolShape,A=e.symbolSize,W=e.symbolSpacing,z=e.symbolBorderWidth,C=e.symbolBorderColor,O=e.onClick,w=e.onMouseEnter,X=e.onMouseLeave,Y=e.toggleSerie,H=k({itemCount:i.length,itemWidth:d,itemHeight:h,itemsSpacing:u,direction:r,padding:a}).padding,E=\"row\"===r?d+u:0,j=\"column\"===r?h+u:0;return t(\"g\",{transform:\"translate(\"+n+\",\"+o+\")\",children:i.map((function(e,i){return t(B,{data:e,x:i*E+H.left,y:i*j+H.top,width:d,height:h,direction:m,justify:c,effects:s,textColor:v,background:y,opacity:x,symbolShape:S,symbolSize:A,symbolSpacing:W,symbolBorderWidth:z,symbolBorderColor:C,onClick:O,onMouseEnter:w,onMouseLeave:X,toggleSerie:Y},i)}))})},X=function(e){var i=e.data,n=e.containerWidth,o=e.containerHeight,r=e.translateX,l=void 0===r?0:r,a=e.translateY,c=void 0===a?0:a,s=e.anchor,d=e.direction,h=e.padding,g=void 0===h?0:h,m=e.justify,f=e.itemsSpacing,u=void 0===f?0:f,v=e.itemWidth,p=e.itemHeight,y=e.itemDirection,b=e.itemTextColor,S=e.itemBackground,A=e.itemOpacity,W=e.symbolShape,z=e.symbolSize,C=e.symbolSpacing,O=e.symbolBorderWidth,B=e.symbolBorderColor,X=e.onClick,Y=e.onMouseEnter,H=e.onMouseLeave,E=e.toggleSerie,j=e.effects,T=k({itemCount:i.length,itemsSpacing:u,itemWidth:v,itemHeight:p,direction:d,padding:g}),L=T.width,M=T.height,F=x({anchor:s,translateX:l,translateY:c,containerWidth:n,containerHeight:o,width:L,height:M}),P=F.x,R=F.y;return t(w,{data:i,x:P,y:R,direction:d,padding:g,justify:m,effects:j,itemsSpacing:u,itemWidth:v,itemHeight:p,itemDirection:y,itemTextColor:b,itemBackground:S,itemOpacity:A,symbolShape:W,symbolSize:z,symbolSpacing:C,symbolBorderWidth:O,symbolBorderColor:B,onClick:X,onMouseEnter:Y,onMouseLeave:H,toggleSerie:\"boolean\"==typeof E?void 0:E})},Y={start:\"left\",middle:\"center\",end:\"right\"},H=function(t,e){var i=e.data,n=e.containerWidth,o=e.containerHeight,r=e.translateX,l=void 0===r?0:r,a=e.translateY,c=void 0===a?0:a,s=e.anchor,d=e.direction,h=e.padding,g=void 0===h?0:h,m=e.justify,f=void 0!==m&&m,u=e.itemsSpacing,v=void 0===u?0:u,p=e.itemWidth,y=e.itemHeight,b=e.itemDirection,A=void 0===b?\"left-to-right\":b,W=e.itemTextColor,z=e.symbolSize,C=void 0===z?16:z,O=e.symbolSpacing,B=void 0===O?8:O,w=e.theme,X=k({itemCount:i.length,itemWidth:p,itemHeight:y,itemsSpacing:v,direction:d,padding:g}),H=X.width,E=X.height,j=X.padding,T=x({anchor:s,translateX:l,translateY:c,containerWidth:n,containerHeight:o,width:H,height:E}),L=T.x,M=T.y,F=\"row\"===d?p+v:0,P=\"column\"===d?y+v:0;t.save(),t.translate(L,M),t.font=w.legends.text.fontSize+\"px \"+(w.legends.text.fontFamily||\"sans-serif\"),i.forEach((function(e,i){var n,o,r=i*F+j.left,l=i*P+j.top,a=S({direction:A,justify:f,symbolSize:C,symbolSpacing:B,width:p,height:y}),c=a.symbolX,s=a.symbolY,d=a.labelX,h=a.labelY,g=a.labelAnchor,m=a.labelAlignment;t.fillStyle=null!=(n=e.color)?n:\"black\",t.fillRect(r+c,l+s,C,C),t.textAlign=Y[g],\"central\"===m&&(t.textBaseline=\"middle\"),t.fillStyle=null!=(o=null!=W?W:w.legends.text.fill)?o:\"black\",t.fillText(String(e.label),r+d,l+h)})),t.restore()},E=function(t,e){var i=e.containerWidth,n=e.containerHeight,o=e.anchor,l=e.translateX,a=void 0===l?0:l,c=e.translateY,s=void 0===c?0:c,d=e.scale,h=e.length,g=void 0===h?y.length:h,m=e.thickness,f=void 0===m?y.thickness:m,u=e.direction,v=void 0===u?y.direction:u,p=e.ticks,b=e.tickPosition,k=void 0===b?y.tickPosition:b,S=e.tickSize,W=void 0===S?y.tickSize:S,z=e.tickSpacing,C=void 0===z?y.tickSpacing:z,O=e.tickOverlap,B=void 0===O?y.tickOverlap:O,w=e.tickFormat,X=void 0===w?y.tickFormat:w,Y=e.title,H=e.titleAlign,E=void 0===H?y.titleAlign:H,j=e.titleOffset,T=void 0===j?y.titleOffset:j,L=e.theme,M=A({scale:d,ticks:p,length:g,thickness:f,direction:v,tickPosition:k,tickSize:W,tickSpacing:C,tickOverlap:B,tickFormat:X,title:Y,titleAlign:E,titleOffset:T}),F=M.width,P=M.height,R=M.gradientX1,q=M.gradientY1,V=M.gradientX2,D=M.gradientY2,G=M.colorStops,I=M.ticks,N=M.titleText,_=M.titleX,J=M.titleY,K=M.titleRotation,Q=M.titleVerticalAlign,U=M.titleHorizontalAlign,Z=x({anchor:o,translateX:a,translateY:s,containerWidth:i,containerHeight:n,width:F,height:P}),$=Z.x,tt=Z.y,et={font:t.font,textAlign:t.textAlign,textBaseline:t.textBaseline};t.save(),t.translate($,tt);var it=t.createLinearGradient(R*F,q*P,V*F,D*P);G.forEach((function(t){it.addColorStop(t.offset,t.stopColor)})),t.fillStyle=it,t.fillRect(0,0,F,P),t.font=(L.legends.ticks.text.fontWeight?L.legends.ticks.text.fontWeight+\" \":\"\")+L.legends.ticks.text.fontSize+\"px \"+L.legends.ticks.text.fontFamily,I.forEach((function(e){var i;(null!=(i=L.legends.ticks.line.strokeWidth)?i:0)>0&&(t.lineWidth=Number(L.axis.ticks.line.strokeWidth),L.axis.ticks.line.stroke&&(t.strokeStyle=L.axis.ticks.line.stroke),t.lineCap=\"square\",t.beginPath(),t.moveTo(e.x1,e.y1),t.lineTo(e.x2,e.y2),t.stroke()),L.legends.ticks.text.fill&&(t.fillStyle=L.legends.ticks.text.fill),t.textAlign=\"middle\"===e.textHorizontalAlign?\"center\":e.textHorizontalAlign,t.textBaseline=\"central\"===e.textVerticalAlign?\"middle\":e.textVerticalAlign,t.fillText(e.text,e.textX,e.textY)})),N&&(t.save(),t.translate(_,J),t.rotate(r(K)),t.font=(L.legends.title.text.fontWeight?L.legends.title.text.fontWeight+\" \":\"\")+L.legends.title.text.fontSize+\"px \"+L.legends.title.text.fontFamily,L.legends.title.text.fill&&(t.fillStyle=L.legends.title.text.fill),t.textAlign=\"middle\"===U?\"center\":U,t.textBaseline=Q,t.fillText(N,0,0),t.restore()),t.restore(),t.font=et.font,t.textAlign=et.textAlign,t.textBaseline=et.textBaseline},j=function(t){var e=t.scale,i=t.domain,n=t.reverse,o=void 0!==n&&n,r=t.valueFormat,l=void 0===r?function(t){return t}:r,a=t.separator,c=void 0===a?\" - \":a;return h((function(){var t=(null!=i?i:e.range()).map((function(t,i){var n=e.invertExtent(t),o=n[0],r=n[1];return{id:t,index:i,extent:[o,r],label:\"\"+l(o)+c+l(r),value:e(o),color:t}}));return o&&t.reverse(),t}),[i,e,o,c,l])},T={data:g.arrayOf(g.object),anchor:g.oneOf([\"top\",\"top-right\",\"right\",\"bottom-right\",\"bottom\",\"bottom-left\",\"left\",\"top-left\",\"center\"]).isRequired,translateX:g.number,translateY:g.number,direction:g.oneOf([\"row\",\"column\"]).isRequired,itemsSpacing:g.number,itemWidth:g.number.isRequired,itemHeight:g.number.isRequired,itemDirection:g.oneOf([\"left-to-right\",\"right-to-left\",\"top-to-bottom\",\"bottom-to-top\"]),itemTextColor:g.string,itemBackground:g.string,itemOpacity:g.number,symbolShape:g.oneOfType([g.oneOf([\"circle\",\"diamond\",\"square\",\"triangle\"]),g.func]),symbolSize:g.number,symbolSpacing:g.number,symbolBorderWidth:g.number,symbolBorderColor:g.string,onClick:g.func,onMouseEnter:g.func,onMouseLeave:g.func,effects:g.arrayOf(g.shape({on:g.oneOfType([g.oneOf([\"hover\"])]).isRequired,style:g.shape({itemTextColor:g.string,itemBackground:g.string,itemOpacity:g.number,symbolSize:g.number,symbolBorderWidth:g.number,symbolBorderColor:g.string}).isRequired}))};export{C as AnchoredContinuousColorsLegendSvg,X as BoxLegendSvg,W as ContinuousColorsLegendSvg,T as LegendPropShape,w as LegendSvg,B as LegendSvgItem,m as SymbolCircle,f as SymbolDiamond,u as SymbolSquare,v as SymbolTriangle,A as computeContinuousColorsLegend,k as computeDimensions,S as computeItemLayout,x as computePositionFromAnchor,y as continuousColorsLegendDefaults,E as renderContinuousColorLegendToCanvas,H as renderLegendToCanvas,j as useQuantizeColorScaleLegendData};\n//# sourceMappingURL=nivo-legends.es.js.map\n","import{Axes as e,Grid as a,renderGridLinesToCanvas as i,renderAxesToCanvas as t}from\"@nivo/axes\";import{useAnnotations as n,Annotation as r,useComputedAnnotations as l,renderAnnotationsToCanvas as o}from\"@nivo/annotations\";import{jsx as d,Fragment as u,jsxs as c}from\"react/jsx-runtime\";import{BoxLegendSvg as s,renderLegendToCanvas as h}from\"@nivo/legends\";import{useTheme as b,getPropertyAccessor as g,usePropertyAccessor as v,useValueFormatter as f,Container as m,useMotionConfig as p,useDimensions as x,bindDefs as y,CartesianMarkers as S,SvgWrapper as k,getRelativeCursor as L,isCursorInRect as w,ResponsiveWrapper as C}from\"@nivo/core\";import{useMemo as V,createElement as W,useCallback as M,useState as B,Fragment as I,forwardRef as T,useRef as R,useEffect as H}from\"react\";import{animated as P,to as E,useTransition as F}from\"@react-spring/web\";import{useTooltip as X,BasicTooltip as Y}from\"@nivo/tooltip\";import{useOrdinalColorScale as D,useInheritedColor as O}from\"@nivo/colors\";import{computeScale as G}from\"@nivo/scales\";import{stack as A,stackOffsetDiverging as j}from\"d3-shape\";import q from\"lodash/uniqBy\";function z(){return z=Object.assign||function(e){for(var a=1;a<arguments.length;a++){var i=arguments[a];for(var t in i)Object.prototype.hasOwnProperty.call(i,t)&&(e[t]=i[t])}return e},z.apply(this,arguments)}function K(e,a){if(null==e)return{};var i,t,n={},r=Object.keys(e);for(t=0;t<r.length;t++)i=r[t],a.indexOf(i)>=0||(n[i]=e[i]);return n}var N,J=function(e){var a=e.bars,i=e.annotations,t=n({data:a,annotations:i,getPosition:function(e){return{x:e.x+e.width/2,y:e.y+e.height/2}},getDimensions:function(e){var a=e.height,i=e.width;return{width:i,height:a,size:Math.max(i,a)}}});return d(u,{children:t.map((function(e,a){return d(r,z({},e),a)}))})},Q=function(e){var a=e.width,i=e.height,t=e.legends,n=e.toggleSerie;return d(u,{children:t.map((function(e,t){var r,l=e[0],o=e[1];return d(s,z({},l,{containerWidth:a,containerHeight:i,data:null!=(r=l.data)?r:o,toggleSerie:l.toggleSerie&&\"keys\"===l.dataFrom?n:void 0}),t)}))})},U=[\"data\"],Z=function(e){var a,i=e.bar,t=i.data,n=K(i,U),r=e.style,l=r.borderColor,o=r.color,u=r.height,s=r.labelColor,h=r.labelOpacity,g=r.labelX,v=r.labelY,f=r.transform,m=r.width,p=e.borderRadius,x=e.borderWidth,y=e.label,S=e.shouldRenderLabel,k=e.isInteractive,L=e.onClick,w=e.onMouseEnter,C=e.onMouseLeave,B=e.tooltip,I=e.isFocusable,T=e.ariaLabel,R=e.ariaLabelledBy,H=e.ariaDescribedBy,F=b(),Y=X(),D=Y.showTooltipFromEvent,O=Y.showTooltipAt,G=Y.hideTooltip,A=V((function(){return function(){return W(B,z({},n,t))}}),[B,n,t]),j=M((function(e){null==L||L(z({color:n.color},t),e)}),[n,t,L]),q=M((function(e){return D(A(),e)}),[D,A]),N=M((function(e){null==w||w(t,e),D(A(),e)}),[t,w,D,A]),J=M((function(e){null==C||C(t,e),G()}),[t,G,C]),Q=M((function(){O(A(),[n.absX+n.width/2,n.absY])}),[O,A,n]),Z=M((function(){G()}),[G]);return c(P.g,{transform:f,children:[d(P.rect,{width:E(m,(function(e){return Math.max(e,0)})),height:E(u,(function(e){return Math.max(e,0)})),rx:p,ry:p,fill:null!=(a=t.fill)?a:o,strokeWidth:x,stroke:l,focusable:I,tabIndex:I?0:void 0,\"aria-label\":T?T(t):void 0,\"aria-labelledby\":R?R(t):void 0,\"aria-describedby\":H?H(t):void 0,onMouseEnter:k?N:void 0,onMouseMove:k?q:void 0,onMouseLeave:k?J:void 0,onClick:k?j:void 0,onFocus:k&&I?Q:void 0,onBlur:k&&I?Z:void 0}),S&&d(P.text,{x:g,y:v,textAnchor:\"middle\",dominantBaseline:\"central\",fillOpacity:h,style:z({},F.labels.text,{pointerEvents:\"none\",fill:s}),children:y})]})},$=[\"color\",\"label\"],_={indexBy:\"id\",keys:[\"value\"],groupMode:\"stacked\",layout:\"vertical\",reverse:!1,minValue:\"auto\",maxValue:\"auto\",valueScale:{type:\"linear\"},indexScale:{type:\"band\",round:!0},padding:.1,innerPadding:0,axisBottom:{},axisLeft:{},enableGridX:!1,enableGridY:!0,enableLabel:!0,label:\"formattedValue\",labelSkipWidth:0,labelSkipHeight:0,labelTextColor:{from:\"theme\",theme:\"labels.text.fill\"},colorBy:\"id\",colors:{scheme:\"nivo\"},borderRadius:0,borderWidth:0,borderColor:{from:\"color\"},isInteractive:!0,tooltip:function(e){var a=e.color,i=e.label,t=K(e,$);return d(Y,{id:i,value:t.formattedValue,enableChip:!0,color:a})},tooltipLabel:function(e){return e.id+\" - \"+e.indexValue},legends:[],initialHiddenIds:[],annotations:[],markers:[]},ee=z({},_,{layers:[\"grid\",\"axes\",\"bars\",\"markers\",\"legends\",\"annotations\"],barComponent:Z,defs:[],fill:[],animate:!0,motionConfig:\"default\",role:\"img\",isFocusable:!1}),ae=z({},_,{layers:[\"grid\",\"axes\",\"bars\",\"legends\",\"annotations\"],pixelRatio:\"undefined\"!=typeof window&&null!=(N=window.devicePixelRatio)?N:1}),ie=function(e,a,i,t,n,r){return G(t,{all:e.map(a),min:0,max:0},n,r).padding(i)},te=function(e,a){return e.map((function(e){return z({},a.reduce((function(e,a){return e[a]=null,e}),{}),e)}))},ne=function(e){return Object.keys(e).reduce((function(a,i){return e[i]&&(a[i]=e[i]),a}),{})},re=function(e){return[e,Number(e)]},le=[\"layout\",\"minValue\",\"maxValue\",\"reverse\",\"width\",\"height\",\"padding\",\"innerPadding\",\"valueScale\",\"indexScale\",\"hiddenIds\"],oe=function(e,a){return e>a},de=function(e,a){return e<a},ue=function(e,a){return Array.from(\" \".repeat(a-e),(function(a,i){return e+i}))},ce=function(e){return oe(e,0)?0:e},se=function(e,a,i,t){var n=e.data,r=e.formatValue,l=e.getColor,o=e.getIndex,d=e.getTooltipLabel,u=e.innerPadding,c=void 0===u?0:u,s=e.keys,h=e.xScale,b=e.yScale,g=e.margin,v=i?de:oe,f=n.map(ne),m=[];return s.forEach((function(e,i){return ue(0,h.domain().length).forEach((function(u){var s,p,x,y=re(n[u][e]),S=y[0],k=y[1],L=o(n[u]),w=(null!=(s=h(L))?s:0)+a*i+c*i,C=v(p=k,0)?null!=(x=b(p))?x:0:t,V=function(e,a){var i;return v(e,0)?t-a:(null!=(i=b(e))?i:0)-t}(k,C),W={id:e,value:null===S?S:k,formattedValue:r(k),hidden:!1,index:u,indexValue:L,data:f[u]};m.push({key:e+\".\"+W.indexValue,index:m.length,data:W,x:w,y:C,absX:g.left+w,absY:g.top+C,width:a,height:V,color:l(W),label:d(W)})}))})),m},he=function(e,a,i,t){var n=e.data,r=e.formatValue,l=e.getIndex,o=e.getColor,d=e.getTooltipLabel,u=e.keys,c=e.innerPadding,s=void 0===c?0:c,h=e.xScale,b=e.yScale,g=e.margin,v=i?de:oe,f=n.map(ne),m=[];return u.forEach((function(e,i){return ue(0,b.domain().length).forEach((function(u){var c,p,x,y=re(n[u][e]),S=y[0],k=y[1],L=l(n[u]),w=v(p=k,0)?t:null!=(x=h(p))?x:0,C=(null!=(c=b(L))?c:0)+a*i+s*i,V=function(e,a){var i;return v(e,0)?(null!=(i=h(e))?i:0)-t:t-a}(k,w),W={id:e,value:null===S?S:k,formattedValue:r(k),hidden:!1,index:u,indexValue:L,data:f[u]};m.push({key:e+\".\"+W.indexValue,index:m.length,data:W,x:w,y:C,absX:g.left+w,absY:g.top+C,width:V,height:a,color:o(W),label:d(W)})}))})),m},be=function(e){var a,i,t=e.layout,n=e.minValue,r=e.maxValue,l=e.reverse,o=e.width,d=e.height,u=e.padding,c=void 0===u?0:u,s=e.innerPadding,h=void 0===s?0:s,b=e.valueScale,g=e.indexScale,v=e.hiddenIds,f=void 0===v?[]:v,m=K(e,le),p=m.keys.filter((function(e){return!f.includes(e)})),x=te(m.data,p),y=\"vertical\"===t?[\"y\",\"x\",o]:[\"x\",\"y\",d],S=y[0],k=y[1],L=y[2],w=ie(x,m.getIndex,c,g,L,k),C=z({max:r,min:n,reverse:l},b),V=\"auto\"===C.min?ce:function(e){return e},W=x.reduce((function(e,a){return[].concat(e,p.map((function(e){return a[e]})))}),[]).filter(Boolean),M=V(Math.min.apply(Math,W)),B=(i=Math.max.apply(Math,W),isFinite(i)?i:0),I=G(C,{all:W,min:M,max:B},\"x\"===S?o:d,S),T=\"vertical\"===t?[w,I]:[I,w],R=T[0],H=T[1],P=(w.bandwidth()-h*(p.length-1))/p.length,E=[z({},m,{data:x,keys:p,innerPadding:h,xScale:R,yScale:H}),P,C.reverse,null!=(a=I(0))?a:0];return{xScale:R,yScale:H,bars:P>0?\"vertical\"===t?se.apply(void 0,E):he.apply(void 0,E):[]}},ge=[\"data\",\"layout\",\"minValue\",\"maxValue\",\"reverse\",\"width\",\"height\",\"padding\",\"valueScale\",\"indexScale\",\"hiddenIds\"],ve=function e(a){var i;return a.some(Array.isArray)?e((i=[]).concat.apply(i,a)):a},fe=function(e,a,i){var t=e.formatValue,n=e.getColor,r=e.getIndex,l=e.getTooltipLabel,o=e.innerPadding,d=e.stackedData,u=e.xScale,c=e.yScale,s=e.margin,h=[];return d.forEach((function(e){return u.domain().forEach((function(d,b){var g,v,f=e[b],m=null!=(g=u(r(f.data)))?g:0,p=(null!=(v=function(e){return c(e[i?0:1])}(f))?v:0)+.5*o,x=function(e,a){var t;return(null!=(t=c(e[i?1:0]))?t:0)-a}(f,p)-o,y=re(f.data[e.key]),S=y[0],k=y[1],L={id:e.key,value:null===S?S:k,formattedValue:t(k),hidden:!1,index:b,indexValue:d,data:ne(f.data)};h.push({key:e.key+\".\"+d,index:h.length,data:L,x:m,y:p,absX:s.left+m,absY:s.top+p,width:a,height:x,color:n(L),label:l(L)})}))})),h},me=function(e,a,i){var t=e.formatValue,n=e.getColor,r=e.getIndex,l=e.getTooltipLabel,o=e.innerPadding,d=e.stackedData,u=e.xScale,c=e.yScale,s=e.margin,h=[];return d.forEach((function(e){return c.domain().forEach((function(d,b){var g,v,f=e[b],m=null!=(g=c(r(f.data)))?g:0,p=(null!=(v=function(e){return u(e[i?1:0])}(f))?v:0)+.5*o,x=function(e,a){var t;return(null!=(t=u(e[i?0:1]))?t:0)-a}(f,p)-o,y=re(f.data[e.key]),S=y[0],k=y[1],L={id:e.key,value:null===S?S:k,formattedValue:t(k),hidden:!1,index:b,indexValue:d,data:ne(f.data)};h.push({key:e.key+\".\"+d,index:h.length,data:L,x:p,y:m,absX:s.left+p,absY:s.top+m,width:x,height:a,color:n(L),label:l(L)})}))})),h},pe=function(e){var a,i=e.data,t=e.layout,n=e.minValue,r=e.maxValue,l=e.reverse,o=e.width,d=e.height,u=e.padding,c=void 0===u?0:u,s=e.valueScale,h=e.indexScale,b=e.hiddenIds,g=void 0===b?[]:b,v=K(e,ge),f=v.keys.filter((function(e){return!g.includes(e)})),m=A().keys(f).offset(j)(te(i,f)),p=\"vertical\"===t?[\"y\",\"x\",o]:[\"x\",\"y\",d],x=p[0],y=p[1],S=p[2],k=ie(i,v.getIndex,c,h,S,y),L=z({max:r,min:n,reverse:l},s),w=(a=ve(m),\"log\"===s.type?a.filter((function(e){return 0!==e})):a),C=Math.min.apply(Math,w),V=Math.max.apply(Math,w),W=G(L,{all:w,min:C,max:V},\"x\"===x?o:d,x),M=\"vertical\"===t?[k,W]:[W,k],B=M[0],I=M[1],T=v.innerPadding>0?v.innerPadding:0,R=k.bandwidth(),H=[z({},v,{innerPadding:T,stackedData:m,xScale:B,yScale:I}),R,L.reverse];return{xScale:B,yScale:I,bars:R>0?\"vertical\"===t?fe.apply(void 0,H):me.apply(void 0,H):[]}},xe=function(e){var a=e.bars,i=e.direction,t=e.from,n=e.groupMode,r=e.layout,l=e.legendLabel,o=e.reverse,d=g(null!=l?l:\"indexes\"===t?\"indexValue\":\"id\");return\"indexes\"===t?function(e,a,i){var t=q(e.map((function(e){var a,t;return{id:null!=(a=e.data.indexValue)?a:\"\",label:i(e.data),hidden:e.data.hidden,color:null!=(t=e.color)?t:\"#000\"}})),(function(e){return e.id}));return\"horizontal\"===a&&t.reverse(),t}(a,r,d):function(e,a,i,t,n,r){var l=q(e.map((function(e){var a;return{id:e.data.id,label:r(e.data),hidden:e.data.hidden,color:null!=(a=e.color)?a:\"#000\"}})),(function(e){return e.id}));return(\"vertical\"===a&&\"stacked\"===t&&\"column\"===i&&!0!==n||\"horizontal\"===a&&\"stacked\"===t&&!0===n)&&l.reverse(),l}(a,r,i,n,o,d)},ye=function(e){var a=e.indexBy,i=void 0===a?_.indexBy:a,t=e.keys,n=void 0===t?_.keys:t,r=e.label,l=void 0===r?_.label:r,o=e.tooltipLabel,d=void 0===o?_.tooltipLabel:o,u=e.valueFormat,c=e.colors,s=void 0===c?_.colors:c,h=e.colorBy,g=void 0===h?_.colorBy:h,m=e.borderColor,p=void 0===m?_.borderColor:m,x=e.labelTextColor,y=void 0===x?_.labelTextColor:x,S=e.groupMode,k=void 0===S?_.groupMode:S,L=e.layout,w=void 0===L?_.layout:L,C=e.reverse,W=void 0===C?_.reverse:C,I=e.data,T=e.minValue,R=void 0===T?_.minValue:T,H=e.maxValue,P=void 0===H?_.maxValue:H,E=e.margin,F=e.width,X=e.height,Y=e.padding,G=void 0===Y?_.padding:Y,A=e.innerPadding,j=void 0===A?_.innerPadding:A,q=e.valueScale,K=void 0===q?_.valueScale:q,N=e.indexScale,J=void 0===N?_.indexScale:N,Q=e.initialHiddenIds,U=void 0===Q?_.initialHiddenIds:Q,Z=e.enableLabel,$=void 0===Z?_.enableLabel:Z,ee=e.labelSkipWidth,ae=void 0===ee?_.labelSkipWidth:ee,ie=e.labelSkipHeight,te=void 0===ie?_.labelSkipHeight:ie,ne=e.legends,re=void 0===ne?_.legends:ne,le=e.legendLabel,oe=B(null!=U?U:[]),de=oe[0],ue=oe[1],ce=M((function(e){ue((function(a){return a.indexOf(e)>-1?a.filter((function(a){return a!==e})):[].concat(a,[e])}))}),[]),se=v(i),he=v(l),ge=v(d),ve=f(u),fe=b(),me=D(s,g),ye=O(p,fe),Se=O(y,fe),ke=(\"grouped\"===k?be:pe)({layout:w,reverse:W,data:I,getIndex:se,keys:n,minValue:R,maxValue:P,width:F,height:X,getColor:me,padding:G,innerPadding:j,valueScale:K,indexScale:J,hiddenIds:de,formatValue:ve,getTooltipLabel:ge,margin:E}),Le=ke.bars,we=ke.xScale,Ce=ke.yScale,Ve=V((function(){return Le.filter((function(e){return null!==e.data.value})).map((function(e,a){return z({},e,{index:a})}))}),[Le]),We=M((function(e){var a=e.width,i=e.height;return!!$&&(!(ae>0&&a<ae)&&!(te>0&&i<te))}),[$,ae,te]),Me=V((function(){return n.map((function(e){var a=Le.find((function(a){return a.data.id===e}));return z({},a,{data:z({id:e},null==a?void 0:a.data,{hidden:de.includes(e)})})}))}),[de,n,Le]),Be=V((function(){return re.map((function(e){return[e,xe({bars:\"keys\"===e.dataFrom?Me:Le,direction:e.direction,from:e.dataFrom,groupMode:k,layout:w,legendLabel:le,reverse:W})]}))}),[re,Me,Le,k,w,le,W]);return{bars:Le,barsWithValue:Ve,xScale:we,yScale:Ce,getIndex:se,getLabel:he,getTooltipLabel:ge,formatValue:ve,getColor:me,getBorderColor:ye,getLabelColor:Se,shouldRenderBarLabel:We,hiddenIds:de,toggleSerie:ce,legendsWithData:Be}},Se=[\"isInteractive\",\"animate\",\"motionConfig\",\"theme\",\"renderWrapper\"],ke=function(i){var t=i.data,n=i.indexBy,r=i.keys,l=i.margin,o=i.width,u=i.height,c=i.groupMode,s=i.layout,h=i.reverse,b=i.minValue,g=i.maxValue,v=i.valueScale,f=i.indexScale,m=i.padding,L=i.innerPadding,w=i.axisTop,C=i.axisRight,M=i.axisBottom,B=void 0===M?ee.axisBottom:M,T=i.axisLeft,R=void 0===T?ee.axisLeft:T,H=i.enableGridX,P=void 0===H?ee.enableGridX:H,E=i.enableGridY,X=void 0===E?ee.enableGridY:E,Y=i.gridXValues,D=i.gridYValues,O=i.layers,G=void 0===O?ee.layers:O,A=i.barComponent,j=void 0===A?ee.barComponent:A,q=i.enableLabel,K=void 0===q?ee.enableLabel:q,N=i.label,U=i.labelSkipWidth,Z=void 0===U?ee.labelSkipWidth:U,$=i.labelSkipHeight,_=void 0===$?ee.labelSkipHeight:$,ae=i.labelTextColor,ie=i.markers,te=void 0===ie?ee.markers:ie,ne=i.colorBy,re=i.colors,le=i.defs,oe=void 0===le?ee.defs:le,de=i.fill,ue=void 0===de?ee.fill:de,ce=i.borderRadius,se=void 0===ce?ee.borderRadius:ce,he=i.borderWidth,be=void 0===he?ee.borderWidth:he,ge=i.borderColor,ve=i.annotations,fe=void 0===ve?ee.annotations:ve,me=i.legendLabel,pe=i.tooltipLabel,xe=i.valueFormat,Se=i.isInteractive,ke=void 0===Se?ee.isInteractive:Se,Le=i.tooltip,we=void 0===Le?ee.tooltip:Le,Ce=i.onClick,Ve=i.onMouseEnter,We=i.onMouseLeave,Me=i.legends,Be=i.role,Ie=void 0===Be?ee.role:Be,Te=i.ariaLabel,Re=i.ariaLabelledBy,He=i.ariaDescribedBy,Pe=i.isFocusable,Ee=void 0===Pe?ee.isFocusable:Pe,Fe=i.barAriaLabel,Xe=i.barAriaLabelledBy,Ye=i.barAriaDescribedBy,De=i.initialHiddenIds,Oe=p(),Ge=Oe.animate,Ae=Oe.config,je=x(o,u,l),qe=je.outerWidth,ze=je.outerHeight,Ke=je.margin,Ne=je.innerWidth,Je=je.innerHeight,Qe=ye({indexBy:n,label:N,tooltipLabel:pe,valueFormat:xe,colors:re,colorBy:ne,borderColor:ge,labelTextColor:ae,groupMode:c,layout:s,reverse:h,data:t,keys:r,minValue:b,maxValue:g,margin:Ke,width:Ne,height:Je,padding:m,innerPadding:L,valueScale:v,indexScale:f,enableLabel:K,labelSkipWidth:Z,labelSkipHeight:_,legends:Me,legendLabel:me,initialHiddenIds:De}),Ue=Qe.bars,Ze=Qe.barsWithValue,$e=Qe.xScale,_e=Qe.yScale,ea=Qe.getLabel,aa=Qe.getTooltipLabel,ia=Qe.getBorderColor,ta=Qe.getLabelColor,na=Qe.shouldRenderBarLabel,ra=Qe.toggleSerie,la=Qe.legendsWithData,oa=F(Ze,{keys:function(e){return e.key},from:function(e){return z({borderColor:ia(e),color:e.color,height:0,labelColor:ta(e),labelOpacity:0,labelX:e.width/2,labelY:e.height/2,transform:\"translate(\"+e.x+\", \"+(e.y+e.height)+\")\",width:e.width},\"vertical\"===s?{}:{height:e.height,transform:\"translate(\"+e.x+\", \"+e.y+\")\",width:0})},enter:function(e){return{borderColor:ia(e),color:e.color,height:e.height,labelColor:ta(e),labelOpacity:1,labelX:e.width/2,labelY:e.height/2,transform:\"translate(\"+e.x+\", \"+e.y+\")\",width:e.width}},update:function(e){return{borderColor:ia(e),color:e.color,height:e.height,labelColor:ta(e),labelOpacity:1,labelX:e.width/2,labelY:e.height/2,transform:\"translate(\"+e.x+\", \"+e.y+\")\",width:e.width}},leave:function(e){return z({borderColor:ia(e),color:e.color,height:0,labelColor:ta(e),labelOpacity:0,labelX:e.width/2,labelY:0,transform:\"translate(\"+e.x+\", \"+(e.y+e.height)+\")\",width:e.width},\"vertical\"===s?{}:{labelX:0,labelY:e.height/2,height:e.height,transform:\"translate(\"+e.x+\", \"+e.y+\")\",width:0})},config:Ae,immediate:!Ge}),da=V((function(){return{borderRadius:se,borderWidth:be,enableLabel:K,isInteractive:ke,labelSkipWidth:Z,labelSkipHeight:_,onClick:Ce,onMouseEnter:Ve,onMouseLeave:We,getTooltipLabel:aa,tooltip:we,isFocusable:Ee,ariaLabel:Fe,ariaLabelledBy:Xe,ariaDescribedBy:Ye}}),[se,be,K,aa,ke,_,Z,Ce,Ve,We,we,Ee,Fe,Xe,Ye]),ua=y(oe,Ue,ue,{dataKey:\"data\",targetKey:\"data.fill\"}),ca={annotations:null,axes:null,bars:null,grid:null,legends:null,markers:null};G.includes(\"annotations\")&&(ca.annotations=d(J,{bars:Ue,annotations:fe},\"annotations\")),G.includes(\"axes\")&&(ca.axes=d(e,{xScale:$e,yScale:_e,width:Ne,height:Je,top:w,right:C,bottom:B,left:R},\"axes\")),G.includes(\"bars\")&&(ca.bars=d(I,{children:oa((function(e,a){return W(j,z({},da,{bar:a,style:e,shouldRenderLabel:na(a),label:ea(a.data)}))}))},\"bars\")),G.includes(\"grid\")&&(ca.grid=d(a,{width:Ne,height:Je,xScale:P?$e:null,yScale:X?_e:null,xValues:Y,yValues:D},\"grid\")),G.includes(\"legends\")&&(ca.legends=d(Q,{width:Ne,height:Je,legends:la,toggleSerie:ra},\"legends\")),G.includes(\"markers\")&&(ca.markers=d(S,{markers:te,width:Ne,height:Je,xScale:$e,yScale:_e},\"markers\"));var sa=V((function(){return z({},da,{margin:Ke,width:o,height:u,innerWidth:Ne,innerHeight:Je,bars:Ue,legendData:la,enableLabel:K,xScale:$e,yScale:_e,tooltip:we,getTooltipLabel:aa,onClick:Ce,onMouseEnter:Ve,onMouseLeave:We})}),[da,Ke,o,u,Ne,Je,Ue,la,K,$e,_e,we,aa,Ce,Ve,We]);return d(k,{width:qe,height:ze,margin:Ke,defs:ua,role:Ie,ariaLabel:Te,ariaLabelledBy:Re,ariaDescribedBy:He,isFocusable:Ee,children:G.map((function(e,a){var i;return\"function\"==typeof e?d(I,{children:W(e,sa)},a):null!=(i=null==ca?void 0:ca[e])?i:null}))})},Le=function(e){var a=e.isInteractive,i=void 0===a?ee.isInteractive:a,t=e.animate,n=void 0===t?ee.animate:t,r=e.motionConfig,l=void 0===r?ee.motionConfig:r,o=e.theme,u=e.renderWrapper,c=K(e,Se);return d(m,{animate:n,isInteractive:i,motionConfig:l,renderWrapper:u,theme:o,children:d(ke,z({isInteractive:i},c))})},we=[\"isInteractive\",\"renderWrapper\",\"theme\"],Ce=function(e,a,i,t){return e.find((function(e){return w(e.x+a.left,e.y+a.top,e.width,e.height,i,t)}))},Ve=function(e){var a=e.data,r=e.indexBy,u=e.keys,c=e.margin,s=e.width,g=e.height,v=e.groupMode,f=e.layout,m=e.reverse,p=e.minValue,y=e.maxValue,S=e.valueScale,k=e.indexScale,w=e.padding,C=e.innerPadding,B=e.axisTop,I=e.axisRight,T=e.axisBottom,P=void 0===T?ae.axisBottom:T,E=e.axisLeft,F=void 0===E?ae.axisLeft:E,Y=e.enableGridX,D=void 0===Y?ae.enableGridX:Y,O=e.enableGridY,G=void 0===O?ae.enableGridY:O,A=e.gridXValues,j=e.gridYValues,q=e.layers,K=void 0===q?ae.layers:q,N=e.renderBar,J=void 0===N?function(e,a){var i=a.bar,t=i.color,n=i.height,r=i.width,l=i.x,o=i.y,d=a.borderColor,u=a.borderRadius,c=a.borderWidth,s=a.label,h=a.labelColor,b=a.shouldRenderLabel;if(e.fillStyle=t,c>0&&(e.strokeStyle=d,e.lineWidth=c),e.beginPath(),u>0){var g=Math.min(u,n);e.moveTo(l+g,o),e.lineTo(l+r-g,o),e.quadraticCurveTo(l+r,o,l+r,o+g),e.lineTo(l+r,o+n-g),e.quadraticCurveTo(l+r,o+n,l+r-g,o+n),e.lineTo(l+g,o+n),e.quadraticCurveTo(l,o+n,l,o+n-g),e.lineTo(l,o+g),e.quadraticCurveTo(l,o,l+g,o),e.closePath()}else e.rect(l,o,r,n);e.fill(),c>0&&e.stroke(),b&&(e.textBaseline=\"middle\",e.textAlign=\"center\",e.fillStyle=h,e.fillText(s,l+r/2,o+n/2))}:N,Q=e.enableLabel,U=void 0===Q?ae.enableLabel:Q,Z=e.label,$=e.labelSkipWidth,_=void 0===$?ae.labelSkipWidth:$,ee=e.labelSkipHeight,ie=void 0===ee?ae.labelSkipHeight:ee,te=e.labelTextColor,ne=e.colorBy,re=e.colors,le=e.borderRadius,oe=void 0===le?ae.borderRadius:le,de=e.borderWidth,ue=void 0===de?ae.borderWidth:de,ce=e.borderColor,se=e.annotations,he=void 0===se?ae.annotations:se,be=e.legendLabel,ge=e.tooltipLabel,ve=e.valueFormat,fe=e.isInteractive,me=void 0===fe?ae.isInteractive:fe,pe=e.tooltip,xe=void 0===pe?ae.tooltip:pe,Se=e.onClick,ke=e.onMouseEnter,Le=e.onMouseLeave,we=e.legends,Ve=e.pixelRatio,We=void 0===Ve?ae.pixelRatio:Ve,Me=e.canvasRef,Be=R(null),Ie=b(),Te=x(s,g,c),Re=Te.margin,He=Te.innerWidth,Pe=Te.innerHeight,Ee=Te.outerWidth,Fe=Te.outerHeight,Xe=ye({indexBy:r,label:Z,tooltipLabel:ge,valueFormat:ve,colors:re,colorBy:ne,borderColor:ce,labelTextColor:te,groupMode:v,layout:f,reverse:m,data:a,keys:u,minValue:p,maxValue:y,margin:Re,width:He,height:Pe,padding:w,innerPadding:C,valueScale:S,indexScale:k,enableLabel:U,labelSkipWidth:_,labelSkipHeight:ie,legends:we,legendLabel:be}),Ye=Xe.bars,De=Xe.barsWithValue,Oe=Xe.xScale,Ge=Xe.yScale,Ae=Xe.getLabel,je=Xe.getTooltipLabel,qe=Xe.getBorderColor,ze=Xe.getLabelColor,Ke=Xe.shouldRenderBarLabel,Ne=Xe.legendsWithData,Je=X(),Qe=Je.showTooltipFromEvent,Ue=Je.hideTooltip,Ze=l({annotations:n({data:Ye,annotations:he,getPosition:function(e){return{x:e.x,y:e.y}},getDimensions:function(e){var a=e.width,i=e.height;return{width:a,height:i,size:Math.max(a,i)}}})}),$e=V((function(){return{borderRadius:oe,borderWidth:ue,isInteractive:me,isFocusable:!1,labelSkipWidth:_,labelSkipHeight:ie,margin:Re,width:s,height:g,innerWidth:He,innerHeight:Pe,bars:Ye,legendData:Ne,enableLabel:U,xScale:Oe,yScale:Ge,tooltip:xe,getTooltipLabel:je,onClick:Se,onMouseEnter:ke,onMouseLeave:Le}}),[oe,ue,me,_,ie,Re,s,g,He,Pe,Ye,Ne,U,Oe,Ge,xe,je,Se,ke,Le]);H((function(){var e,a=null==(e=Be.current)?void 0:e.getContext(\"2d\");Be.current&&a&&(Be.current.width=Ee*We,Be.current.height=Fe*We,a.scale(We,We),a.fillStyle=Ie.background,a.fillRect(0,0,Ee,Fe),a.translate(Re.left,Re.top),K.forEach((function(e){\"grid\"===e?\"number\"==typeof Ie.grid.line.strokeWidth&&Ie.grid.line.strokeWidth>0&&(a.lineWidth=Ie.grid.line.strokeWidth,a.strokeStyle=Ie.grid.line.stroke,D&&i(a,{width:s,height:g,scale:Oe,axis:\"x\",values:A}),G&&i(a,{width:s,height:g,scale:Ge,axis:\"y\",values:j})):\"axes\"===e?t(a,{xScale:Oe,yScale:Ge,width:He,height:Pe,top:B,right:I,bottom:P,left:F,theme:Ie}):\"bars\"===e?De.forEach((function(e){J(a,{bar:e,borderColor:qe(e),borderRadius:oe,borderWidth:ue,label:Ae(e.data),labelColor:ze(e),shouldRenderLabel:Ke(e)})})):\"legends\"===e?Ne.forEach((function(e){var i=e[0],t=e[1];h(a,z({},i,{data:t,containerWidth:He,containerHeight:Pe,theme:Ie}))})):\"annotations\"===e?o(a,{annotations:Ze,theme:Ie}):\"function\"==typeof e&&e(a,$e)})),a.save())}),[P,F,I,B,De,oe,ue,Ze,D,G,qe,Ae,ze,A,j,v,g,Pe,He,$e,K,f,Ne,Re.left,Re.top,Fe,Ee,We,J,Oe,Ge,m,Ke,Ie,s]);var _e=M((function(e){if(Ye&&Be.current){var a=L(Be.current,e),i=a[0],t=a[1],n=Ce(Ye,Re,i,t);void 0!==n?(Qe(W(xe,z({},n.data,{color:n.color,label:n.label,value:Number(n.data.value)})),e),\"mouseenter\"===e.type&&(null==ke||ke(n.data,e))):Ue()}}),[Ue,Re,ke,Ye,Qe,xe]),ea=M((function(e){if(Ye&&Be.current){Ue();var a=L(Be.current,e),i=a[0],t=a[1],n=Ce(Ye,Re,i,t);n&&(null==Le||Le(n.data,e))}}),[Ue,Re,Le,Ye]),aa=M((function(e){if(Ye&&Be.current){var a=L(Be.current,e),i=a[0],t=a[1],n=Ce(Ye,Re,i,t);void 0!==n&&(null==Se||Se(z({},n.data,{color:n.color}),e))}}),[Re,Se,Ye]);return d(\"canvas\",{ref:function(e){Be.current=e,Me&&\"current\"in Me&&(Me.current=e)},width:Ee*We,height:Fe*We,style:{width:Ee,height:Fe,cursor:me?\"auto\":\"normal\"},onMouseEnter:me?_e:void 0,onMouseMove:me?_e:void 0,onMouseLeave:me?ea:void 0,onClick:me?aa:void 0})},We=T((function(e,a){var i=e.isInteractive,t=e.renderWrapper,n=e.theme,r=K(e,we);return d(m,{isInteractive:i,renderWrapper:t,theme:n,animate:!1,children:d(Ve,z({},r,{canvasRef:a}))})})),Me=function(e){return d(C,{children:function(a){var i=a.width,t=a.height;return d(Le,z({width:i,height:t},e))}})},Be=T((function(e,a){return d(C,{children:function(i){var t=i.width,n=i.height;return d(We,z({width:t,height:n},e,{ref:a}))}})}));export{Le as Bar,We as BarCanvas,Z as BarItem,Me as ResponsiveBar,Be as ResponsiveBarCanvas,ae as canvasDefaultProps,_ as defaultProps,ee as svgDefaultProps};\n//# sourceMappingURL=nivo-bar.es.js.map\n","import * as React from 'react';\nimport { useMemo } from 'react';\nimport { Box } from '@mui/material';\nimport AttachMoneyIcon from '@mui/icons-material/AttachMoney';\nimport { useGetList, Link } from 'react-admin';\nimport { startOfMonth, format } from 'date-fns';\nimport { ResponsiveBar } from '@nivo/bar';\n\nimport { Deal } from '../types';\n\nconst multiplier = {\n opportunity: 0.2,\n 'proposal-sent': 0.5,\n 'in-negociation': 0.8,\n delayed: 0.3,\n};\n\nexport const DealsChart = () => {\n const { data, isPending } = useGetList<Deal>('deals', {\n pagination: { perPage: 100, page: 1 },\n sort: {\n field: 'start_at',\n order: 'ASC',\n },\n });\n\n const months = useMemo(() => {\n if (!data) return [];\n const dealsByMonth = data.reduce((acc, deal) => {\n const month = startOfMonth(\n deal.start_at ?? new Date()\n ).toISOString();\n if (!acc[month]) {\n acc[month] = [];\n }\n acc[month].push(deal);\n return acc;\n }, {} as any);\n\n const amountByMonth = Object.keys(dealsByMonth).map(month => {\n return {\n date: format(month, 'MMM'),\n won: dealsByMonth[month]\n .filter((deal: Deal) => deal.stage === 'won')\n .reduce((acc: number, deal: Deal) => {\n acc += deal.amount;\n return acc;\n }, 0),\n pending: dealsByMonth[month]\n .filter(\n (deal: Deal) => !['won', 'lost'].includes(deal.stage)\n )\n .reduce((acc: number, deal: Deal) => {\n // @ts-ignore\n acc += deal.amount * multiplier[deal.stage];\n return acc;\n }, 0),\n lost: dealsByMonth[month]\n .filter((deal: Deal) => deal.stage === 'lost')\n .reduce((acc: number, deal: Deal) => {\n acc -= deal.amount;\n return acc;\n }, 0),\n };\n });\n\n return amountByMonth;\n }, [data]);\n\n if (isPending) return null; // FIXME return skeleton instead\n\n const range = months.reduce(\n (acc, month) => {\n acc.min = Math.min(acc.min, month.lost);\n acc.max = Math.max(acc.max, month.won + month.pending);\n return acc;\n },\n { min: 0, max: 0 }\n );\n\n return (\n <>\n <Box display=\"flex\" alignItems=\"center\">\n <Box ml={2} mr={2} display=\"flex\">\n <AttachMoneyIcon color=\"disabled\" fontSize=\"large\" />\n </Box>\n <Link\n underline=\"none\"\n variant=\"h5\"\n color=\"textSecondary\"\n to=\"/deals\"\n >\n Upcoming Deal Revenue\n </Link>\n </Box>\n <Box height={500}>\n <ResponsiveBar\n data={months}\n indexBy=\"date\"\n keys={['won', 'pending', 'lost']}\n colors={['#61cdbb', '#97e3d5', '#e25c3b']}\n margin={{ top: 50, right: 50, bottom: 50, left: 0 }}\n padding={0.3}\n valueScale={{\n type: 'linear',\n min: range.min * 1.2,\n max: range.max * 1.2,\n }}\n indexScale={{ type: 'band', round: true }}\n enableGridX={true}\n enableGridY={false}\n enableLabel={false}\n axisTop={{\n tickSize: 0,\n tickPadding: 12,\n }}\n axisBottom={{\n legendPosition: 'middle',\n legendOffset: 50,\n tickSize: 0,\n tickPadding: 12,\n }}\n axisLeft={null}\n axisRight={{\n format: (v: any) => `${Math.abs(v / 1000)}k`,\n tickValues: 8,\n }}\n markers={\n [\n {\n axis: 'y',\n value: 0,\n lineStyle: { strokeOpacity: 0 },\n textStyle: { fill: '#2ebca6' },\n legend: 'Won',\n legendPosition: 'top-left',\n legendOrientation: 'vertical',\n },\n {\n axis: 'y',\n value: 0,\n lineStyle: {\n stroke: '#f47560',\n strokeWidth: 1,\n },\n textStyle: { fill: '#e25c3b' },\n legend: 'Lost',\n legendPosition: 'bottom-left',\n legendOrientation: 'vertical',\n },\n ] as any\n }\n />\n </Box>\n </>\n );\n};\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M20 0H4v2h16zM4 24h16v-2H4zM20 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2m-8 2.75c1.24 0 2.25 1.01 2.25 2.25s-1.01 2.25-2.25 2.25S9.75 10.24 9.75 9 10.76 6.75 12 6.75M17 17H7v-1.5c0-1.67 3.33-2.5 5-2.5s5 .83 5 2.5z\"\n}), 'Contacts');","import * as React from 'react';\nimport { Card, Box } from '@mui/material';\nimport ContactsIcon from '@mui/icons-material/Contacts';\nimport { useGetList, Link, SimpleList, useGetIdentity } from 'react-admin';\nimport { formatDistance } from 'date-fns';\n\nimport { Avatar } from '../contacts/Avatar';\nimport { Contact } from '../types';\n\nexport const HotContacts = () => {\n const { identity } = useGetIdentity();\n const {\n data: contactData,\n total: contactTotal,\n isPending: contactsLoading,\n } = useGetList<Contact>(\n 'contacts',\n {\n pagination: { page: 1, perPage: 10 },\n sort: { field: 'last_seen', order: 'DESC' },\n filter: { status: 'hot', sales_id: identity?.id },\n },\n { enabled: Number.isInteger(identity?.id) }\n );\n return (\n <>\n <Box display=\"flex\" alignItems=\"center\" marginBottom=\"1em\">\n <Box ml={2} mr={2} display=\"flex\">\n <ContactsIcon color=\"disabled\" fontSize=\"large\" />\n </Box>\n <Link\n underline=\"none\"\n variant=\"h5\"\n color=\"textSecondary\"\n to=\"/contacts\"\n >\n Hot contacts\n </Link>\n </Box>\n <Card>\n <SimpleList<Contact>\n linkType=\"show\"\n data={contactData}\n total={contactTotal}\n isPending={contactsLoading}\n primaryText={contact =>\n `${contact.first_name} ${contact.last_name}`\n }\n resource=\"contacts\"\n secondaryText={(contact: Contact) =>\n formatDistance(contact.last_seen, new Date(), {\n addSuffix: true,\n })\n }\n leftAvatar={contact => <Avatar record={contact} />}\n dense\n />\n </Card>\n </>\n );\n};\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"m22 10-6-6H4c-1.1 0-2 .9-2 2v12.01c0 1.1.9 1.99 2 1.99l16-.01c1.1 0 2-.89 2-1.99zm-7-4.5 5.5 5.5H15z\"\n}), 'Note');","import * as React from 'react';\nimport { Card, CardContent, Typography, Box } from '@mui/material';\nimport NoteIcon from '@mui/icons-material/Note';\nimport {\n useGetList,\n useGetIdentity,\n ReferenceField,\n TextField,\n FunctionField,\n} from 'react-admin';\nimport { formatDistance } from 'date-fns';\n\nimport { Contact as ContactType } from '../types';\n\nexport const LatestNotes = () => {\n const { identity } = useGetIdentity();\n const { data: contactNotesData, isPending: contactNotesLoading } =\n useGetList(\n 'contactNotes',\n {\n pagination: { page: 1, perPage: 5 },\n sort: { field: 'date', order: 'DESC' },\n filter: { sales_id: identity?.id },\n },\n { enabled: Number.isInteger(identity?.id) }\n );\n const { data: dealNotesData, isPending: dealNotesLoading } = useGetList(\n 'dealNotes',\n {\n pagination: { page: 1, perPage: 5 },\n sort: { field: 'date', order: 'DESC' },\n filter: { sales_id: identity?.id },\n },\n { enabled: Number.isInteger(identity?.id) }\n );\n if (contactNotesLoading || dealNotesLoading) {\n return null;\n }\n // TypeScript guards\n if (!contactNotesData || !dealNotesData) {\n return null;\n }\n\n const allNotes = ([] as any[])\n .concat(\n contactNotesData.map(note => ({\n ...note,\n type: 'contactNote',\n })),\n dealNotesData.map(note => ({ ...note, type: 'dealNote' }))\n )\n .sort((a, b) => new Date(b.date).valueOf() - new Date(a.date).valueOf())\n .slice(0, 5);\n\n return (\n <div>\n <Box display=\"flex\" alignItems=\"center\" marginBottom=\"1em\">\n <Box ml={2} mr={2} display=\"flex\">\n <NoteIcon color=\"disabled\" fontSize=\"large\" />\n </Box>\n <Typography variant=\"h5\" color=\"textSecondary\">\n My Latest Notes\n </Typography>\n </Box>\n <Card>\n <CardContent>\n {allNotes.map(note => (\n <Box\n id={`${note.type}_${note.id}`}\n key={`${note.type}_${note.id}`}\n sx={{ marginBottom: 2 }}\n >\n <Typography\n variant=\"body2\"\n color=\"textSecondary\"\n component=\"div\"\n >\n on{' '}\n {note.type === 'dealNote' ? (\n <Deal note={note} />\n ) : (\n <Contact note={note} />\n )}\n , added{' '}\n {formatDistance(note.date, new Date(), {\n addSuffix: true,\n })}\n </Typography>\n <div>\n <Typography\n sx={{\n display: '-webkit-box',\n WebkitLineClamp: 3,\n WebkitBoxOrient: 'vertical',\n overflow: 'hidden',\n }}\n >\n {note.text}\n </Typography>\n </div>\n </Box>\n ))}\n </CardContent>\n </Card>\n </div>\n );\n};\n\nconst Deal = ({ note }: any) => (\n <>\n Deal{' '}\n <ReferenceField\n record={note}\n source=\"deal_id\"\n reference=\"deals\"\n link=\"show\"\n >\n <TextField source=\"name\" variant=\"body2\" />\n </ReferenceField>\n </>\n);\n\nconst Contact = ({ note }: any) => (\n <>\n Contact{' '}\n <ReferenceField\n record={note}\n source=\"contact_id\"\n reference=\"contacts\"\n link=\"show\"\n >\n <FunctionField<ContactType>\n variant=\"body2\"\n render={contact => `${contact.first_name} ${contact.last_name}`}\n />\n </ReferenceField>\n </>\n);\n","\"use strict\";\n\"use client\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _default = exports.default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M19 3h-4.18C14.4 1.84 13.3 1 12 1c-1.3 0-2.4.84-2.82 2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2m-7 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1m-2 14-4-4 1.41-1.41L10 14.17l6.59-6.59L18 9z\"\n}), 'AssignmentTurnedIn');","import * as React from 'react';\nimport { Card, Box, Button } from '@mui/material';\nimport AssignmentTurnedInIcon from '@mui/icons-material/AssignmentTurnedIn';\nimport {\n useGetList,\n Link,\n useGetIdentity,\n useList,\n ListContextProvider,\n ResourceContextProvider,\n} from 'react-admin';\nimport { TasksIterator } from '../tasks/TasksIterator';\n\nimport { Contact } from '../types';\n\nexport const TasksList = () => {\n const { identity } = useGetIdentity();\n\n // get all the contacts for this sales\n const { data: contacts, isPending: contactsLoading } = useGetList<Contact>(\n 'contacts',\n {\n pagination: { page: 1, perPage: 500 },\n filter: { sales_id: identity?.id },\n },\n { enabled: !!identity }\n );\n\n // get the first 100 upcoming tasks for these contacts\n const { data: tasks, isPending: tasksLoading } = useGetList(\n 'tasks',\n {\n pagination: { page: 1, perPage: 100 },\n sort: { field: 'due_date', order: 'ASC' },\n filter: {\n done_date: undefined,\n contact_id: contacts?.map(contact => contact.id),\n },\n },\n { enabled: !!contacts }\n );\n\n const isPending = tasksLoading || contactsLoading;\n\n // limit to 10 tasks and provide the list context\n const listContext = useList({\n data: tasks,\n isPending,\n resource: 'tasks',\n perPage: 10,\n });\n return (\n <>\n <Box display=\"flex\" alignItems=\"center\" marginBottom=\"1em\">\n <Box ml={2} mr={2} display=\"flex\">\n <AssignmentTurnedInIcon color=\"disabled\" fontSize=\"large\" />\n </Box>\n <Link\n underline=\"none\"\n variant=\"h5\"\n color=\"textSecondary\"\n to=\"/contacts\"\n >\n Upcoming tasks\n </Link>\n </Box>\n <Card sx={{ px: 2, mb: '2em' }}>\n <ResourceContextProvider value=\"tasks\">\n <ListContextProvider value={listContext}>\n <TasksIterator showContact />\n </ListContextProvider>\n </ResourceContextProvider>\n {!isPending && (\n <Button\n onClick={() =>\n listContext.setPerPage(listContext.perPage + 10)\n }\n fullWidth\n >\n Load more\n </Button>\n )}\n </Card>\n </>\n );\n};\n","import * as React from 'react';\nimport { Grid } from '@mui/material';\n\nimport { Welcome } from './Welcome';\nimport { DealsChart } from './DealsChart';\nimport { HotContacts } from './HotContacts';\nimport { LatestNotes } from './LatestNotes';\n\nimport { TasksList } from './TasksList';\n\nexport const Dashboard = () => (\n <Grid container spacing={2} mt={1}>\n <Grid item xs={12} md={9}>\n <DealsChart />\n </Grid>\n <Grid item xs={12} md={3}>\n <Welcome />\n </Grid>\n <Grid item xs={12} md={6}>\n <LatestNotes />\n </Grid>\n <Grid item xs={12} md={3}>\n <TasksList />\n </Grid>\n <Grid item xs={12} md={3}>\n <HotContacts />\n </Grid>\n </Grid>\n);\n","var Gt = Object.defineProperty;\nvar Kt = (t, e, r) => e in t ? Gt(t, e, { enumerable: !0, configurable: !0, writable: !0, value: r }) : t[e] = r;\nvar p = (t, e, r) => (Kt(t, typeof e != \"symbol\" ? e + \"\" : e, r), r);\nvar B = typeof globalThis < \"u\" ? globalThis : typeof window < \"u\" ? window : typeof global < \"u\" ? global : typeof self < \"u\" ? self : {};\nfunction lt(t) {\n return t && t.__esModule && Object.prototype.hasOwnProperty.call(t, \"default\") ? t.default : t;\n}\nvar Ht = Array.isArray, O = Ht, qt = typeof B == \"object\" && B && B.Object === Object && B, ut = qt, zt = ut, Vt = typeof self == \"object\" && self && self.Object === Object && self, Jt = zt || Vt || Function(\"return this\")(), A = Jt, Qt = A, Wt = Qt.Symbol, R = Wt, Ae = R, ft = Object.prototype, Xt = ft.hasOwnProperty, Yt = ft.toString, M = Ae ? Ae.toStringTag : void 0;\nfunction Zt(t) {\n var e = Xt.call(t, M), r = t[M];\n try {\n t[M] = void 0;\n var a = !0;\n } catch {\n }\n var n = Yt.call(t);\n return a && (e ? t[M] = r : delete t[M]), n;\n}\nvar kt = Zt, er = Object.prototype, tr = er.toString;\nfunction rr(t) {\n return tr.call(t);\n}\nvar ar = rr, we = R, nr = kt, sr = ar, ir = \"[object Null]\", or = \"[object Undefined]\", Te = we ? we.toStringTag : void 0;\nfunction cr(t) {\n return t == null ? t === void 0 ? or : ir : Te && Te in Object(t) ? nr(t) : sr(t);\n}\nvar L = cr;\nfunction lr(t) {\n return t != null && typeof t == \"object\";\n}\nvar C = lr, ur = L, fr = C, dr = \"[object Symbol]\";\nfunction hr(t) {\n return typeof t == \"symbol\" || fr(t) && ur(t) == dr;\n}\nvar oe = hr, gr = O, pr = oe, yr = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/, br = /^\\w*$/;\nfunction vr(t, e) {\n if (gr(t))\n return !1;\n var r = typeof t;\n return r == \"number\" || r == \"symbol\" || r == \"boolean\" || t == null || pr(t) ? !0 : br.test(t) || !yr.test(t) || e != null && t in Object(e);\n}\nvar $r = vr;\nfunction _r(t) {\n var e = typeof t;\n return t != null && (e == \"object\" || e == \"function\");\n}\nvar j = _r, mr = L, Ar = j, wr = \"[object AsyncFunction]\", Tr = \"[object Function]\", Or = \"[object GeneratorFunction]\", Cr = \"[object Proxy]\";\nfunction Sr(t) {\n if (!Ar(t))\n return !1;\n var e = mr(t);\n return e == Tr || e == Or || e == wr || e == Cr;\n}\nvar dt = Sr, jr = A, Er = jr[\"__core-js_shared__\"], Ir = Er, k = Ir, Oe = function() {\n var t = /[^.]+$/.exec(k && k.keys && k.keys.IE_PROTO || \"\");\n return t ? \"Symbol(src)_1.\" + t : \"\";\n}();\nfunction Pr(t) {\n return !!Oe && Oe in t;\n}\nvar xr = Pr, Nr = Function.prototype, Mr = Nr.toString;\nfunction Rr(t) {\n if (t != null) {\n try {\n return Mr.call(t);\n } catch {\n }\n try {\n return t + \"\";\n } catch {\n }\n }\n return \"\";\n}\nvar ht = Rr, Lr = dt, Dr = xr, Fr = j, Br = ht, Ur = /[\\\\^$.*+?()[\\]{}|]/g, Gr = /^\\[object .+?Constructor\\]$/, Kr = Function.prototype, Hr = Object.prototype, qr = Kr.toString, zr = Hr.hasOwnProperty, Vr = RegExp(\n \"^\" + qr.call(zr).replace(Ur, \"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, \"$1.*?\") + \"$\"\n);\nfunction Jr(t) {\n if (!Fr(t) || Dr(t))\n return !1;\n var e = Lr(t) ? Vr : Gr;\n return e.test(Br(t));\n}\nvar Qr = Jr;\nfunction Wr(t, e) {\n return t == null ? void 0 : t[e];\n}\nvar Xr = Wr, Yr = Qr, Zr = Xr;\nfunction kr(t, e) {\n var r = Zr(t, e);\n return Yr(r) ? r : void 0;\n}\nvar S = kr, ea = S, ta = ea(Object, \"create\"), V = ta, Ce = V;\nfunction ra() {\n this.__data__ = Ce ? Ce(null) : {}, this.size = 0;\n}\nvar aa = ra;\nfunction na(t) {\n var e = this.has(t) && delete this.__data__[t];\n return this.size -= e ? 1 : 0, e;\n}\nvar sa = na, ia = V, oa = \"__lodash_hash_undefined__\", ca = Object.prototype, la = ca.hasOwnProperty;\nfunction ua(t) {\n var e = this.__data__;\n if (ia) {\n var r = e[t];\n return r === oa ? void 0 : r;\n }\n return la.call(e, t) ? e[t] : void 0;\n}\nvar fa = ua, da = V, ha = Object.prototype, ga = ha.hasOwnProperty;\nfunction pa(t) {\n var e = this.__data__;\n return da ? e[t] !== void 0 : ga.call(e, t);\n}\nvar ya = pa, ba = V, va = \"__lodash_hash_undefined__\";\nfunction $a(t, e) {\n var r = this.__data__;\n return this.size += this.has(t) ? 0 : 1, r[t] = ba && e === void 0 ? va : e, this;\n}\nvar _a = $a, ma = aa, Aa = sa, wa = fa, Ta = ya, Oa = _a;\nfunction E(t) {\n var e = -1, r = t == null ? 0 : t.length;\n for (this.clear(); ++e < r; ) {\n var a = t[e];\n this.set(a[0], a[1]);\n }\n}\nE.prototype.clear = ma;\nE.prototype.delete = Aa;\nE.prototype.get = wa;\nE.prototype.has = Ta;\nE.prototype.set = Oa;\nvar Ca = E;\nfunction Sa() {\n this.__data__ = [], this.size = 0;\n}\nvar ja = Sa;\nfunction Ea(t, e) {\n return t === e || t !== t && e !== e;\n}\nvar ce = Ea, Ia = ce;\nfunction Pa(t, e) {\n for (var r = t.length; r--; )\n if (Ia(t[r][0], e))\n return r;\n return -1;\n}\nvar J = Pa, xa = J, Na = Array.prototype, Ma = Na.splice;\nfunction Ra(t) {\n var e = this.__data__, r = xa(e, t);\n if (r < 0)\n return !1;\n var a = e.length - 1;\n return r == a ? e.pop() : Ma.call(e, r, 1), --this.size, !0;\n}\nvar La = Ra, Da = J;\nfunction Fa(t) {\n var e = this.__data__, r = Da(e, t);\n return r < 0 ? void 0 : e[r][1];\n}\nvar Ba = Fa, Ua = J;\nfunction Ga(t) {\n return Ua(this.__data__, t) > -1;\n}\nvar Ka = Ga, Ha = J;\nfunction qa(t, e) {\n var r = this.__data__, a = Ha(r, t);\n return a < 0 ? (++this.size, r.push([t, e])) : r[a][1] = e, this;\n}\nvar za = qa, Va = ja, Ja = La, Qa = Ba, Wa = Ka, Xa = za;\nfunction I(t) {\n var e = -1, r = t == null ? 0 : t.length;\n for (this.clear(); ++e < r; ) {\n var a = t[e];\n this.set(a[0], a[1]);\n }\n}\nI.prototype.clear = Va;\nI.prototype.delete = Ja;\nI.prototype.get = Qa;\nI.prototype.has = Wa;\nI.prototype.set = Xa;\nvar Q = I, Ya = S, Za = A, ka = Ya(Za, \"Map\"), le = ka, Se = Ca, en = Q, tn = le;\nfunction rn() {\n this.size = 0, this.__data__ = {\n hash: new Se(),\n map: new (tn || en)(),\n string: new Se()\n };\n}\nvar an = rn;\nfunction nn(t) {\n var e = typeof t;\n return e == \"string\" || e == \"number\" || e == \"symbol\" || e == \"boolean\" ? t !== \"__proto__\" : t === null;\n}\nvar sn = nn, on = sn;\nfunction cn(t, e) {\n var r = t.__data__;\n return on(e) ? r[typeof e == \"string\" ? \"string\" : \"hash\"] : r.map;\n}\nvar W = cn, ln = W;\nfunction un(t) {\n var e = ln(this, t).delete(t);\n return this.size -= e ? 1 : 0, e;\n}\nvar fn = un, dn = W;\nfunction hn(t) {\n return dn(this, t).get(t);\n}\nvar gn = hn, pn = W;\nfunction yn(t) {\n return pn(this, t).has(t);\n}\nvar bn = yn, vn = W;\nfunction $n(t, e) {\n var r = vn(this, t), a = r.size;\n return r.set(t, e), this.size += r.size == a ? 0 : 1, this;\n}\nvar _n = $n, mn = an, An = fn, wn = gn, Tn = bn, On = _n;\nfunction P(t) {\n var e = -1, r = t == null ? 0 : t.length;\n for (this.clear(); ++e < r; ) {\n var a = t[e];\n this.set(a[0], a[1]);\n }\n}\nP.prototype.clear = mn;\nP.prototype.delete = An;\nP.prototype.get = wn;\nP.prototype.has = Tn;\nP.prototype.set = On;\nvar ue = P, gt = ue, Cn = \"Expected a function\";\nfunction fe(t, e) {\n if (typeof t != \"function\" || e != null && typeof e != \"function\")\n throw new TypeError(Cn);\n var r = function() {\n var a = arguments, n = e ? e.apply(this, a) : a[0], s = r.cache;\n if (s.has(n))\n return s.get(n);\n var i = t.apply(this, a);\n return r.cache = s.set(n, i) || s, i;\n };\n return r.cache = new (fe.Cache || gt)(), r;\n}\nfe.Cache = gt;\nvar Sn = fe, jn = Sn, En = 500;\nfunction In(t) {\n var e = jn(t, function(a) {\n return r.size === En && r.clear(), a;\n }), r = e.cache;\n return e;\n}\nvar Pn = In, xn = Pn, Nn = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g, Mn = /\\\\(\\\\)?/g, Rn = xn(function(t) {\n var e = [];\n return t.charCodeAt(0) === 46 && e.push(\"\"), t.replace(Nn, function(r, a, n, s) {\n e.push(n ? s.replace(Mn, \"$1\") : a || r);\n }), e;\n}), Ln = Rn;\nfunction Dn(t, e) {\n for (var r = -1, a = t == null ? 0 : t.length, n = Array(a); ++r < a; )\n n[r] = e(t[r], r, t);\n return n;\n}\nvar Fn = Dn, je = R, Bn = Fn, Un = O, Gn = oe, Kn = 1 / 0, Ee = je ? je.prototype : void 0, Ie = Ee ? Ee.toString : void 0;\nfunction pt(t) {\n if (typeof t == \"string\")\n return t;\n if (Un(t))\n return Bn(t, pt) + \"\";\n if (Gn(t))\n return Ie ? Ie.call(t) : \"\";\n var e = t + \"\";\n return e == \"0\" && 1 / t == -Kn ? \"-0\" : e;\n}\nvar Hn = pt, qn = Hn;\nfunction zn(t) {\n return t == null ? \"\" : qn(t);\n}\nvar Vn = zn, Jn = O, Qn = $r, Wn = Ln, Xn = Vn;\nfunction Yn(t, e) {\n return Jn(t) ? t : Qn(t, e) ? [t] : Wn(Xn(t));\n}\nvar Zn = Yn, kn = oe, es = 1 / 0;\nfunction ts(t) {\n if (typeof t == \"string\" || kn(t))\n return t;\n var e = t + \"\";\n return e == \"0\" && 1 / t == -es ? \"-0\" : e;\n}\nvar rs = ts, as = Zn, ns = rs;\nfunction ss(t, e) {\n e = as(e, t);\n for (var r = 0, a = e.length; t != null && r < a; )\n t = t[ns(e[r++])];\n return r && r == a ? t : void 0;\n}\nvar is = ss, os = is;\nfunction cs(t, e, r) {\n var a = t == null ? void 0 : os(t, e);\n return a === void 0 ? r : a;\n}\nvar ls = cs;\nconst y = /* @__PURE__ */ lt(ls);\nvar us = Q;\nfunction fs() {\n this.__data__ = new us(), this.size = 0;\n}\nvar ds = fs;\nfunction hs(t) {\n var e = this.__data__, r = e.delete(t);\n return this.size = e.size, r;\n}\nvar gs = hs;\nfunction ps(t) {\n return this.__data__.get(t);\n}\nvar ys = ps;\nfunction bs(t) {\n return this.__data__.has(t);\n}\nvar vs = bs, $s = Q, _s = le, ms = ue, As = 200;\nfunction ws(t, e) {\n var r = this.__data__;\n if (r instanceof $s) {\n var a = r.__data__;\n if (!_s || a.length < As - 1)\n return a.push([t, e]), this.size = ++r.size, this;\n r = this.__data__ = new ms(a);\n }\n return r.set(t, e), this.size = r.size, this;\n}\nvar Ts = ws, Os = Q, Cs = ds, Ss = gs, js = ys, Es = vs, Is = Ts;\nfunction x(t) {\n var e = this.__data__ = new Os(t);\n this.size = e.size;\n}\nx.prototype.clear = Cs;\nx.prototype.delete = Ss;\nx.prototype.get = js;\nx.prototype.has = Es;\nx.prototype.set = Is;\nvar de = x;\nfunction Ps(t, e) {\n for (var r = -1, a = t == null ? 0 : t.length; ++r < a && e(t[r], r, t) !== !1; )\n ;\n return t;\n}\nvar xs = Ps, Ns = S, Ms = function() {\n try {\n var t = Ns(Object, \"defineProperty\");\n return t({}, \"\", {}), t;\n } catch {\n }\n}(), Rs = Ms, Pe = Rs;\nfunction Ls(t, e, r) {\n e == \"__proto__\" && Pe ? Pe(t, e, {\n configurable: !0,\n enumerable: !0,\n value: r,\n writable: !0\n }) : t[e] = r;\n}\nvar yt = Ls, Ds = yt, Fs = ce, Bs = Object.prototype, Us = Bs.hasOwnProperty;\nfunction Gs(t, e, r) {\n var a = t[e];\n (!(Us.call(t, e) && Fs(a, r)) || r === void 0 && !(e in t)) && Ds(t, e, r);\n}\nvar bt = Gs, Ks = bt, Hs = yt;\nfunction qs(t, e, r, a) {\n var n = !r;\n r || (r = {});\n for (var s = -1, i = e.length; ++s < i; ) {\n var o = e[s], c = a ? a(r[o], t[o], o, r, t) : void 0;\n c === void 0 && (c = t[o]), n ? Hs(r, o, c) : Ks(r, o, c);\n }\n return r;\n}\nvar X = qs;\nfunction zs(t, e) {\n for (var r = -1, a = Array(t); ++r < t; )\n a[r] = e(r);\n return a;\n}\nvar Vs = zs, Js = L, Qs = C, Ws = \"[object Arguments]\";\nfunction Xs(t) {\n return Qs(t) && Js(t) == Ws;\n}\nvar Ys = Xs, xe = Ys, Zs = C, vt = Object.prototype, ks = vt.hasOwnProperty, ei = vt.propertyIsEnumerable, ti = xe(/* @__PURE__ */ function() {\n return arguments;\n}()) ? xe : function(t) {\n return Zs(t) && ks.call(t, \"callee\") && !ei.call(t, \"callee\");\n}, ri = ti, K = { exports: {} };\nfunction ai() {\n return !1;\n}\nvar ni = ai;\nK.exports;\n(function(t, e) {\n var r = A, a = ni, n = e && !e.nodeType && e, s = n && !0 && t && !t.nodeType && t, i = s && s.exports === n, o = i ? r.Buffer : void 0, c = o ? o.isBuffer : void 0, l = c || a;\n t.exports = l;\n})(K, K.exports);\nvar he = K.exports, si = 9007199254740991, ii = /^(?:0|[1-9]\\d*)$/;\nfunction oi(t, e) {\n var r = typeof t;\n return e = e ?? si, !!e && (r == \"number\" || r != \"symbol\" && ii.test(t)) && t > -1 && t % 1 == 0 && t < e;\n}\nvar ci = oi, li = 9007199254740991;\nfunction ui(t) {\n return typeof t == \"number\" && t > -1 && t % 1 == 0 && t <= li;\n}\nvar $t = ui, fi = L, di = $t, hi = C, gi = \"[object Arguments]\", pi = \"[object Array]\", yi = \"[object Boolean]\", bi = \"[object Date]\", vi = \"[object Error]\", $i = \"[object Function]\", _i = \"[object Map]\", mi = \"[object Number]\", Ai = \"[object Object]\", wi = \"[object RegExp]\", Ti = \"[object Set]\", Oi = \"[object String]\", Ci = \"[object WeakMap]\", Si = \"[object ArrayBuffer]\", ji = \"[object DataView]\", Ei = \"[object Float32Array]\", Ii = \"[object Float64Array]\", Pi = \"[object Int8Array]\", xi = \"[object Int16Array]\", Ni = \"[object Int32Array]\", Mi = \"[object Uint8Array]\", Ri = \"[object Uint8ClampedArray]\", Li = \"[object Uint16Array]\", Di = \"[object Uint32Array]\", g = {};\ng[Ei] = g[Ii] = g[Pi] = g[xi] = g[Ni] = g[Mi] = g[Ri] = g[Li] = g[Di] = !0;\ng[gi] = g[pi] = g[Si] = g[yi] = g[ji] = g[bi] = g[vi] = g[$i] = g[_i] = g[mi] = g[Ai] = g[wi] = g[Ti] = g[Oi] = g[Ci] = !1;\nfunction Fi(t) {\n return hi(t) && di(t.length) && !!g[fi(t)];\n}\nvar Bi = Fi;\nfunction Ui(t) {\n return function(e) {\n return t(e);\n };\n}\nvar ge = Ui, H = { exports: {} };\nH.exports;\n(function(t, e) {\n var r = ut, a = e && !e.nodeType && e, n = a && !0 && t && !t.nodeType && t, s = n && n.exports === a, i = s && r.process, o = function() {\n try {\n var c = n && n.require && n.require(\"util\").types;\n return c || i && i.binding && i.binding(\"util\");\n } catch {\n }\n }();\n t.exports = o;\n})(H, H.exports);\nvar pe = H.exports, Gi = Bi, Ki = ge, Ne = pe, Me = Ne && Ne.isTypedArray, Hi = Me ? Ki(Me) : Gi, _t = Hi, qi = Vs, zi = ri, Vi = O, Ji = he, Qi = ci, Wi = _t, Xi = Object.prototype, Yi = Xi.hasOwnProperty;\nfunction Zi(t, e) {\n var r = Vi(t), a = !r && zi(t), n = !r && !a && Ji(t), s = !r && !a && !n && Wi(t), i = r || a || n || s, o = i ? qi(t.length, String) : [], c = o.length;\n for (var l in t)\n (e || Yi.call(t, l)) && !(i && // Safari 9 has enumerable `arguments.length` in strict mode.\n (l == \"length\" || // Node.js 0.10 has enumerable non-index properties on buffers.\n n && (l == \"offset\" || l == \"parent\") || // PhantomJS 2 has enumerable non-index properties on typed arrays.\n s && (l == \"buffer\" || l == \"byteLength\" || l == \"byteOffset\") || // Skip index properties.\n Qi(l, c))) && o.push(l);\n return o;\n}\nvar mt = Zi, ki = Object.prototype;\nfunction eo(t) {\n var e = t && t.constructor, r = typeof e == \"function\" && e.prototype || ki;\n return t === r;\n}\nvar ye = eo;\nfunction to(t, e) {\n return function(r) {\n return t(e(r));\n };\n}\nvar At = to, ro = At, ao = ro(Object.keys, Object), no = ao, so = ye, io = no, oo = Object.prototype, co = oo.hasOwnProperty;\nfunction lo(t) {\n if (!so(t))\n return io(t);\n var e = [];\n for (var r in Object(t))\n co.call(t, r) && r != \"constructor\" && e.push(r);\n return e;\n}\nvar uo = lo, fo = dt, ho = $t;\nfunction go(t) {\n return t != null && ho(t.length) && !fo(t);\n}\nvar wt = go, po = mt, yo = uo, bo = wt;\nfunction vo(t) {\n return bo(t) ? po(t) : yo(t);\n}\nvar Y = vo, $o = X, _o = Y;\nfunction mo(t, e) {\n return t && $o(e, _o(e), t);\n}\nvar Ao = mo;\nfunction wo(t) {\n var e = [];\n if (t != null)\n for (var r in Object(t))\n e.push(r);\n return e;\n}\nvar To = wo, Oo = j, Co = ye, So = To, jo = Object.prototype, Eo = jo.hasOwnProperty;\nfunction Io(t) {\n if (!Oo(t))\n return So(t);\n var e = Co(t), r = [];\n for (var a in t)\n a == \"constructor\" && (e || !Eo.call(t, a)) || r.push(a);\n return r;\n}\nvar Po = Io, xo = mt, No = Po, Mo = wt;\nfunction Ro(t) {\n return Mo(t) ? xo(t, !0) : No(t);\n}\nvar be = Ro, Lo = X, Do = be;\nfunction Fo(t, e) {\n return t && Lo(e, Do(e), t);\n}\nvar Bo = Fo, q = { exports: {} };\nq.exports;\n(function(t, e) {\n var r = A, a = e && !e.nodeType && e, n = a && !0 && t && !t.nodeType && t, s = n && n.exports === a, i = s ? r.Buffer : void 0, o = i ? i.allocUnsafe : void 0;\n function c(l, u) {\n if (u)\n return l.slice();\n var f = l.length, d = o ? o(f) : new l.constructor(f);\n return l.copy(d), d;\n }\n t.exports = c;\n})(q, q.exports);\nvar Uo = q.exports;\nfunction Go(t, e) {\n var r = -1, a = t.length;\n for (e || (e = Array(a)); ++r < a; )\n e[r] = t[r];\n return e;\n}\nvar Ko = Go;\nfunction Ho(t, e) {\n for (var r = -1, a = t == null ? 0 : t.length, n = 0, s = []; ++r < a; ) {\n var i = t[r];\n e(i, r, t) && (s[n++] = i);\n }\n return s;\n}\nvar qo = Ho;\nfunction zo() {\n return [];\n}\nvar Tt = zo, Vo = qo, Jo = Tt, Qo = Object.prototype, Wo = Qo.propertyIsEnumerable, Re = Object.getOwnPropertySymbols, Xo = Re ? function(t) {\n return t == null ? [] : (t = Object(t), Vo(Re(t), function(e) {\n return Wo.call(t, e);\n }));\n} : Jo, ve = Xo, Yo = X, Zo = ve;\nfunction ko(t, e) {\n return Yo(t, Zo(t), e);\n}\nvar ec = ko;\nfunction tc(t, e) {\n for (var r = -1, a = e.length, n = t.length; ++r < a; )\n t[n + r] = e[r];\n return t;\n}\nvar Ot = tc, rc = At, ac = rc(Object.getPrototypeOf, Object), Ct = ac, nc = Ot, sc = Ct, ic = ve, oc = Tt, cc = Object.getOwnPropertySymbols, lc = cc ? function(t) {\n for (var e = []; t; )\n nc(e, ic(t)), t = sc(t);\n return e;\n} : oc, St = lc, uc = X, fc = St;\nfunction dc(t, e) {\n return uc(t, fc(t), e);\n}\nvar hc = dc, gc = Ot, pc = O;\nfunction yc(t, e, r) {\n var a = e(t);\n return pc(t) ? a : gc(a, r(t));\n}\nvar jt = yc, bc = jt, vc = ve, $c = Y;\nfunction _c(t) {\n return bc(t, $c, vc);\n}\nvar Et = _c, mc = jt, Ac = St, wc = be;\nfunction Tc(t) {\n return mc(t, wc, Ac);\n}\nvar Oc = Tc, Cc = S, Sc = A, jc = Cc(Sc, \"DataView\"), Ec = jc, Ic = S, Pc = A, xc = Ic(Pc, \"Promise\"), Nc = xc, Mc = S, Rc = A, Lc = Mc(Rc, \"Set\"), Dc = Lc, Fc = S, Bc = A, Uc = Fc(Bc, \"WeakMap\"), Gc = Uc, re = Ec, ae = le, ne = Nc, se = Dc, ie = Gc, It = L, N = ht, Le = \"[object Map]\", Kc = \"[object Object]\", De = \"[object Promise]\", Fe = \"[object Set]\", Be = \"[object WeakMap]\", Ue = \"[object DataView]\", Hc = N(re), qc = N(ae), zc = N(ne), Vc = N(se), Jc = N(ie), T = It;\n(re && T(new re(new ArrayBuffer(1))) != Ue || ae && T(new ae()) != Le || ne && T(ne.resolve()) != De || se && T(new se()) != Fe || ie && T(new ie()) != Be) && (T = function(t) {\n var e = It(t), r = e == Kc ? t.constructor : void 0, a = r ? N(r) : \"\";\n if (a)\n switch (a) {\n case Hc:\n return Ue;\n case qc:\n return Le;\n case zc:\n return De;\n case Vc:\n return Fe;\n case Jc:\n return Be;\n }\n return e;\n});\nvar Z = T, Qc = Object.prototype, Wc = Qc.hasOwnProperty;\nfunction Xc(t) {\n var e = t.length, r = new t.constructor(e);\n return e && typeof t[0] == \"string\" && Wc.call(t, \"index\") && (r.index = t.index, r.input = t.input), r;\n}\nvar Yc = Xc, Zc = A, kc = Zc.Uint8Array, Pt = kc, Ge = Pt;\nfunction el(t) {\n var e = new t.constructor(t.byteLength);\n return new Ge(e).set(new Ge(t)), e;\n}\nvar $e = el, tl = $e;\nfunction rl(t, e) {\n var r = e ? tl(t.buffer) : t.buffer;\n return new t.constructor(r, t.byteOffset, t.byteLength);\n}\nvar al = rl, nl = /\\w*$/;\nfunction sl(t) {\n var e = new t.constructor(t.source, nl.exec(t));\n return e.lastIndex = t.lastIndex, e;\n}\nvar il = sl, Ke = R, He = Ke ? Ke.prototype : void 0, qe = He ? He.valueOf : void 0;\nfunction ol(t) {\n return qe ? Object(qe.call(t)) : {};\n}\nvar cl = ol, ll = $e;\nfunction ul(t, e) {\n var r = e ? ll(t.buffer) : t.buffer;\n return new t.constructor(r, t.byteOffset, t.length);\n}\nvar fl = ul, dl = $e, hl = al, gl = il, pl = cl, yl = fl, bl = \"[object Boolean]\", vl = \"[object Date]\", $l = \"[object Map]\", _l = \"[object Number]\", ml = \"[object RegExp]\", Al = \"[object Set]\", wl = \"[object String]\", Tl = \"[object Symbol]\", Ol = \"[object ArrayBuffer]\", Cl = \"[object DataView]\", Sl = \"[object Float32Array]\", jl = \"[object Float64Array]\", El = \"[object Int8Array]\", Il = \"[object Int16Array]\", Pl = \"[object Int32Array]\", xl = \"[object Uint8Array]\", Nl = \"[object Uint8ClampedArray]\", Ml = \"[object Uint16Array]\", Rl = \"[object Uint32Array]\";\nfunction Ll(t, e, r) {\n var a = t.constructor;\n switch (e) {\n case Ol:\n return dl(t);\n case bl:\n case vl:\n return new a(+t);\n case Cl:\n return hl(t, r);\n case Sl:\n case jl:\n case El:\n case Il:\n case Pl:\n case xl:\n case Nl:\n case Ml:\n case Rl:\n return yl(t, r);\n case $l:\n return new a();\n case _l:\n case wl:\n return new a(t);\n case ml:\n return gl(t);\n case Al:\n return new a();\n case Tl:\n return pl(t);\n }\n}\nvar Dl = Ll, Fl = j, ze = Object.create, Bl = /* @__PURE__ */ function() {\n function t() {\n }\n return function(e) {\n if (!Fl(e))\n return {};\n if (ze)\n return ze(e);\n t.prototype = e;\n var r = new t();\n return t.prototype = void 0, r;\n };\n}(), Ul = Bl, Gl = Ul, Kl = Ct, Hl = ye;\nfunction ql(t) {\n return typeof t.constructor == \"function\" && !Hl(t) ? Gl(Kl(t)) : {};\n}\nvar zl = ql, Vl = Z, Jl = C, Ql = \"[object Map]\";\nfunction Wl(t) {\n return Jl(t) && Vl(t) == Ql;\n}\nvar Xl = Wl, Yl = Xl, Zl = ge, Ve = pe, Je = Ve && Ve.isMap, kl = Je ? Zl(Je) : Yl, eu = kl, tu = Z, ru = C, au = \"[object Set]\";\nfunction nu(t) {\n return ru(t) && tu(t) == au;\n}\nvar su = nu, iu = su, ou = ge, Qe = pe, We = Qe && Qe.isSet, cu = We ? ou(We) : iu, lu = cu, uu = de, fu = xs, du = bt, hu = Ao, gu = Bo, pu = Uo, yu = Ko, bu = ec, vu = hc, $u = Et, _u = Oc, mu = Z, Au = Yc, wu = Dl, Tu = zl, Ou = O, Cu = he, Su = eu, ju = j, Eu = lu, Iu = Y, Pu = be, xu = 1, Nu = 2, Mu = 4, xt = \"[object Arguments]\", Ru = \"[object Array]\", Lu = \"[object Boolean]\", Du = \"[object Date]\", Fu = \"[object Error]\", Nt = \"[object Function]\", Bu = \"[object GeneratorFunction]\", Uu = \"[object Map]\", Gu = \"[object Number]\", Mt = \"[object Object]\", Ku = \"[object RegExp]\", Hu = \"[object Set]\", qu = \"[object String]\", zu = \"[object Symbol]\", Vu = \"[object WeakMap]\", Ju = \"[object ArrayBuffer]\", Qu = \"[object DataView]\", Wu = \"[object Float32Array]\", Xu = \"[object Float64Array]\", Yu = \"[object Int8Array]\", Zu = \"[object Int16Array]\", ku = \"[object Int32Array]\", ef = \"[object Uint8Array]\", tf = \"[object Uint8ClampedArray]\", rf = \"[object Uint16Array]\", af = \"[object Uint32Array]\", h = {};\nh[xt] = h[Ru] = h[Ju] = h[Qu] = h[Lu] = h[Du] = h[Wu] = h[Xu] = h[Yu] = h[Zu] = h[ku] = h[Uu] = h[Gu] = h[Mt] = h[Ku] = h[Hu] = h[qu] = h[zu] = h[ef] = h[tf] = h[rf] = h[af] = !0;\nh[Fu] = h[Nt] = h[Vu] = !1;\nfunction G(t, e, r, a, n, s) {\n var i, o = e & xu, c = e & Nu, l = e & Mu;\n if (r && (i = n ? r(t, a, n, s) : r(t)), i !== void 0)\n return i;\n if (!ju(t))\n return t;\n var u = Ou(t);\n if (u) {\n if (i = Au(t), !o)\n return yu(t, i);\n } else {\n var f = mu(t), d = f == Nt || f == Bu;\n if (Cu(t))\n return pu(t, o);\n if (f == Mt || f == xt || d && !n) {\n if (i = c || d ? {} : Tu(t), !o)\n return c ? vu(t, gu(i, t)) : bu(t, hu(i, t));\n } else {\n if (!h[f])\n return n ? t : {};\n i = wu(t, f, o);\n }\n }\n s || (s = new uu());\n var m = s.get(t);\n if (m)\n return m;\n s.set(t, i), Eu(t) ? t.forEach(function(b) {\n i.add(G(b, e, r, b, t, s));\n }) : Su(t) && t.forEach(function(b, v) {\n i.set(v, G(b, e, r, v, t, s));\n });\n var $ = l ? c ? _u : $u : c ? Pu : Iu, _ = u ? void 0 : $(t);\n return fu(_ || t, function(b, v) {\n _ && (v = b, b = t[v]), du(i, v, G(b, e, r, v, t, s));\n }), i;\n}\nvar nf = G, sf = \"__lodash_hash_undefined__\";\nfunction of(t) {\n return this.__data__.set(t, sf), this;\n}\nvar cf = of;\nfunction lf(t) {\n return this.__data__.has(t);\n}\nvar uf = lf, ff = ue, df = cf, hf = uf;\nfunction z(t) {\n var e = -1, r = t == null ? 0 : t.length;\n for (this.__data__ = new ff(); ++e < r; )\n this.add(t[e]);\n}\nz.prototype.add = z.prototype.push = df;\nz.prototype.has = hf;\nvar gf = z;\nfunction pf(t, e) {\n for (var r = -1, a = t == null ? 0 : t.length; ++r < a; )\n if (e(t[r], r, t))\n return !0;\n return !1;\n}\nvar yf = pf;\nfunction bf(t, e) {\n return t.has(e);\n}\nvar vf = bf, $f = gf, _f = yf, mf = vf, Af = 1, wf = 2;\nfunction Tf(t, e, r, a, n, s) {\n var i = r & Af, o = t.length, c = e.length;\n if (o != c && !(i && c > o))\n return !1;\n var l = s.get(t), u = s.get(e);\n if (l && u)\n return l == e && u == t;\n var f = -1, d = !0, m = r & wf ? new $f() : void 0;\n for (s.set(t, e), s.set(e, t); ++f < o; ) {\n var $ = t[f], _ = e[f];\n if (a)\n var b = i ? a(_, $, f, e, t, s) : a($, _, f, t, e, s);\n if (b !== void 0) {\n if (b)\n continue;\n d = !1;\n break;\n }\n if (m) {\n if (!_f(e, function(v, w) {\n if (!mf(m, w) && ($ === v || n($, v, r, a, s)))\n return m.push(w);\n })) {\n d = !1;\n break;\n }\n } else if (!($ === _ || n($, _, r, a, s))) {\n d = !1;\n break;\n }\n }\n return s.delete(t), s.delete(e), d;\n}\nvar Rt = Tf;\nfunction Of(t) {\n var e = -1, r = Array(t.size);\n return t.forEach(function(a, n) {\n r[++e] = [n, a];\n }), r;\n}\nvar Cf = Of;\nfunction Sf(t) {\n var e = -1, r = Array(t.size);\n return t.forEach(function(a) {\n r[++e] = a;\n }), r;\n}\nvar jf = Sf, Xe = R, Ye = Pt, Ef = ce, If = Rt, Pf = Cf, xf = jf, Nf = 1, Mf = 2, Rf = \"[object Boolean]\", Lf = \"[object Date]\", Df = \"[object Error]\", Ff = \"[object Map]\", Bf = \"[object Number]\", Uf = \"[object RegExp]\", Gf = \"[object Set]\", Kf = \"[object String]\", Hf = \"[object Symbol]\", qf = \"[object ArrayBuffer]\", zf = \"[object DataView]\", Ze = Xe ? Xe.prototype : void 0, ee = Ze ? Ze.valueOf : void 0;\nfunction Vf(t, e, r, a, n, s, i) {\n switch (r) {\n case zf:\n if (t.byteLength != e.byteLength || t.byteOffset != e.byteOffset)\n return !1;\n t = t.buffer, e = e.buffer;\n case qf:\n return !(t.byteLength != e.byteLength || !s(new Ye(t), new Ye(e)));\n case Rf:\n case Lf:\n case Bf:\n return Ef(+t, +e);\n case Df:\n return t.name == e.name && t.message == e.message;\n case Uf:\n case Kf:\n return t == e + \"\";\n case Ff:\n var o = Pf;\n case Gf:\n var c = a & Nf;\n if (o || (o = xf), t.size != e.size && !c)\n return !1;\n var l = i.get(t);\n if (l)\n return l == e;\n a |= Mf, i.set(t, e);\n var u = If(o(t), o(e), a, n, s, i);\n return i.delete(t), u;\n case Hf:\n if (ee)\n return ee.call(t) == ee.call(e);\n }\n return !1;\n}\nvar Jf = Vf, ke = Et, Qf = 1, Wf = Object.prototype, Xf = Wf.hasOwnProperty;\nfunction Yf(t, e, r, a, n, s) {\n var i = r & Qf, o = ke(t), c = o.length, l = ke(e), u = l.length;\n if (c != u && !i)\n return !1;\n for (var f = c; f--; ) {\n var d = o[f];\n if (!(i ? d in e : Xf.call(e, d)))\n return !1;\n }\n var m = s.get(t), $ = s.get(e);\n if (m && $)\n return m == e && $ == t;\n var _ = !0;\n s.set(t, e), s.set(e, t);\n for (var b = i; ++f < c; ) {\n d = o[f];\n var v = t[d], w = e[d];\n if (a)\n var me = i ? a(w, v, d, e, t, s) : a(v, w, d, t, e, s);\n if (!(me === void 0 ? v === w || n(v, w, r, a, s) : me)) {\n _ = !1;\n break;\n }\n b || (b = d == \"constructor\");\n }\n if (_ && !b) {\n var D = t.constructor, F = e.constructor;\n D != F && \"constructor\" in t && \"constructor\" in e && !(typeof D == \"function\" && D instanceof D && typeof F == \"function\" && F instanceof F) && (_ = !1);\n }\n return s.delete(t), s.delete(e), _;\n}\nvar Zf = Yf, te = de, kf = Rt, ed = Jf, td = Zf, et = Z, tt = O, rt = he, rd = _t, ad = 1, at = \"[object Arguments]\", nt = \"[object Array]\", U = \"[object Object]\", nd = Object.prototype, st = nd.hasOwnProperty;\nfunction sd(t, e, r, a, n, s) {\n var i = tt(t), o = tt(e), c = i ? nt : et(t), l = o ? nt : et(e);\n c = c == at ? U : c, l = l == at ? U : l;\n var u = c == U, f = l == U, d = c == l;\n if (d && rt(t)) {\n if (!rt(e))\n return !1;\n i = !0, u = !1;\n }\n if (d && !u)\n return s || (s = new te()), i || rd(t) ? kf(t, e, r, a, n, s) : ed(t, e, c, r, a, n, s);\n if (!(r & ad)) {\n var m = u && st.call(t, \"__wrapped__\"), $ = f && st.call(e, \"__wrapped__\");\n if (m || $) {\n var _ = m ? t.value() : t, b = $ ? e.value() : e;\n return s || (s = new te()), n(_, b, r, a, s);\n }\n }\n return d ? (s || (s = new te()), td(t, e, r, a, n, s)) : !1;\n}\nvar id = sd, od = id, it = C;\nfunction Lt(t, e, r, a, n) {\n return t === e ? !0 : t == null || e == null || !it(t) && !it(e) ? t !== t && e !== e : od(t, e, r, a, Lt, n);\n}\nvar cd = Lt, ld = de, ud = cd, fd = 1, dd = 2;\nfunction hd(t, e, r, a) {\n var n = r.length, s = n, i = !a;\n if (t == null)\n return !s;\n for (t = Object(t); n--; ) {\n var o = r[n];\n if (i && o[2] ? o[1] !== t[o[0]] : !(o[0] in t))\n return !1;\n }\n for (; ++n < s; ) {\n o = r[n];\n var c = o[0], l = t[c], u = o[1];\n if (i && o[2]) {\n if (l === void 0 && !(c in t))\n return !1;\n } else {\n var f = new ld();\n if (a)\n var d = a(l, u, c, t, e, f);\n if (!(d === void 0 ? ud(u, l, fd | dd, a, f) : d))\n return !1;\n }\n }\n return !0;\n}\nvar gd = hd, pd = j;\nfunction yd(t) {\n return t === t && !pd(t);\n}\nvar bd = yd, vd = bd, $d = Y;\nfunction _d(t) {\n for (var e = $d(t), r = e.length; r--; ) {\n var a = e[r], n = t[a];\n e[r] = [a, n, vd(n)];\n }\n return e;\n}\nvar md = _d;\nfunction Ad(t, e) {\n return function(r) {\n return r == null ? !1 : r[t] === e && (e !== void 0 || t in Object(r));\n };\n}\nvar wd = Ad, Td = gd, Od = md, Cd = wd;\nfunction Sd(t) {\n var e = Od(t);\n return e.length == 1 && e[0][2] ? Cd(e[0][0], e[0][1]) : function(r) {\n return r === t || Td(r, t, e);\n };\n}\nvar jd = Sd, Ed = nf, Id = jd, Pd = 1;\nfunction xd(t) {\n return Id(Ed(t, Pd));\n}\nvar Nd = xd;\nconst Md = /* @__PURE__ */ lt(Nd);\nclass ot {\n constructor({\n items: e = [],\n identifierName: r = \"id\",\n getNewId: a\n } = {}) {\n p(this, \"sequence\", 0);\n p(this, \"items\", []);\n p(this, \"database\", null);\n p(this, \"name\", null);\n p(this, \"identifierName\", \"id\");\n p(this, \"getNewId\");\n if (!Array.isArray(e))\n throw new Error(\n \"Can't initialize a Collection with anything else than an array of items\"\n );\n this.identifierName = r, this.getNewId = a || this.getNewIdFromSequence, e.map(this.addOne.bind(this));\n }\n /**\n * A Collection may need to access other collections (e.g. for embedding references)\n * This is done through a reference to the parent database.\n */\n setDatabase(e) {\n this.database = e;\n }\n setName(e) {\n this.name = e;\n }\n /**\n * Get a one to many embedder function for a given resource name\n *\n * @example embed posts for an author\n *\n * authorsCollection._oneToManyEmbedder('posts')\n *\n * @returns Function item => item\n */\n _oneToManyEmbedder(e) {\n if (this.name == null)\n throw new Error(\"Can't embed references without a collection name\");\n const a = `${this.name.slice(0, -1)}_id`;\n return (n) => {\n if (this.database == null)\n throw new Error(\"Can't embed references without a database\");\n const s = this.database.collections[e];\n if (!s)\n throw new Error(\n `Can't embed a non-existing collection ${e}`\n );\n return Array.isArray(n[e]) ? n[e] = s.getAll({\n filter: (i) => n[e].indexOf(\n i[s.identifierName]\n ) !== -1\n }) : n[e] = s.getAll({\n filter: (i) => i[a] === n[this.identifierName]\n }), n;\n };\n }\n /**\n * Get a many to one embedder function for a given resource name\n *\n * @example embed author for a post\n *\n * postsCollection._manyToOneEmbedder('author')\n *\n * @returns Function item => item\n */\n _manyToOneEmbedder(e) {\n const r = `${e}s`, a = `${e}_id`;\n return (n) => {\n if (this.database == null)\n throw new Error(\"Can't embed references without a database\");\n const s = this.database.collections[r];\n if (!s)\n throw new Error(\n `Can't embed a non-existing collection ${e}`\n );\n try {\n n[e] = s.getOne(\n n[a]\n );\n } catch {\n }\n return n;\n };\n }\n /**\n * @param String[] An array of resource names, e.g. ['books', 'country']\n * @returns Function item => item\n */\n _itemEmbedder(e) {\n const a = (Array.isArray(e) ? e : [e]).map(\n (n) => n.endsWith(\"s\") ? this._oneToManyEmbedder(n) : this._manyToOneEmbedder(n)\n );\n return (n) => a.reduce(\n (s, i) => i(s),\n n\n );\n }\n getCount(e) {\n return this.getAll(e).length;\n }\n getAll(e) {\n let r = this.items.slice(0);\n return e && (e.filter && (r = Dt(r, e.filter)), e.sort && (r = Fd(r, e.sort)), e.range && (r = Bd(r, e.range)), r = r.map((a) => Object.assign({}, a)), e.embed && this.database && (r = r.map(this._itemEmbedder(e.embed)))), r;\n }\n getIndex(e) {\n return this.items.findIndex(\n // biome-ignore lint/suspicious/noDoubleEquals: we want implicit type coercion\n (r) => r[this.identifierName] == e\n );\n }\n getOne(e, r) {\n const a = this.getIndex(e);\n if (a === -1)\n throw new Error(`No item with identifier ${e}`);\n let n = this.items[a];\n return n = Object.assign({}, n), r != null && r.embed && this.database && (n = this._itemEmbedder(r.embed)(n)), n;\n }\n getNewIdFromSequence() {\n return this.sequence++;\n }\n addOne(e) {\n const r = e[this.identifierName];\n if (r != null) {\n if (this.getIndex(r) !== -1)\n throw new Error(\n `An item with the identifier ${r} already exists`\n );\n typeof r == \"number\" && (this.sequence = Math.max(this.sequence, r) + 1);\n } else\n e[this.identifierName] = this.getNewId();\n return this.items.push(e), Object.assign({}, e);\n }\n updateOne(e, r) {\n const a = this.getIndex(e);\n if (a === -1)\n throw new Error(`No item with identifier ${e}`);\n for (const n in r)\n this.items[a][n] = r[n];\n return Object.assign({}, this.items[a]);\n }\n removeOne(e) {\n const r = this.getIndex(e);\n if (r === -1)\n throw new Error(`No item with identifier ${e}`);\n const a = this.items[r];\n return this.items.splice(r, 1), typeof e == \"number\" && e == this.sequence - 1 && this.sequence--, a;\n }\n}\nconst Rd = (t, e) => t.reduce((r, a) => r && e(a), !0), Ld = (t, e) => t.reduce((r, a) => r || e(a), !1), Dd = (t, e) => t.reduce(\n (r, a, n) => {\n if (r != null)\n return r;\n const s = t.slice(0, n + 1).join(\".\"), i = t.slice(n + 1).join(\".\"), o = y(e, s);\n return Array.isArray(o) && n < t.length - 1 ? [s, i] : void 0;\n },\n void 0\n), ct = (t, e) => {\n if (t.indexOf(\"_q\") !== -1) {\n const r = t.replace(/(_q)$/, \"\"), a = new RegExp(e.toString(), \"i\");\n return (n) => {\n var s;\n return ((s = y(n, r)) == null ? void 0 : s.toString().match(a)) !== null;\n };\n }\n if (t.indexOf(\"_lte\") !== -1) {\n const r = t.replace(/(_lte)$/, \"\");\n return (a) => y(a, r) <= e;\n }\n if (t.indexOf(\"_gte\") !== -1) {\n const r = t.replace(/(_gte)$/, \"\");\n return (a) => y(a, r) >= e;\n }\n if (t.indexOf(\"_lt\") !== -1) {\n const r = t.replace(/(_lt)$/, \"\");\n return (a) => y(a, r) < e;\n }\n if (t.indexOf(\"_gt\") !== -1) {\n const r = t.replace(/(_gt)$/, \"\");\n return (a) => y(a, r) > e;\n }\n if (t.indexOf(\"_neq_any\") !== -1) {\n const r = t.replace(/(_neq_any)$/, \"\"), a = Array.isArray(e) ? e : [e];\n return (n) => a.every((s) => y(n, r) != s);\n }\n if (t.indexOf(\"_neq\") !== -1) {\n const r = t.replace(/(_neq)$/, \"\");\n return (a) => y(a, r) != e;\n }\n if (t.indexOf(\"_eq_any\") !== -1) {\n const r = t.replace(/(_eq_any)$/, \"\"), a = Array.isArray(e) ? e : [e];\n return (n) => a.some((s) => y(n, r) == s);\n }\n if (t.indexOf(\"_eq\") !== -1) {\n const r = t.replace(/(_eq)$/, \"\");\n return (a) => y(a, r) == e;\n }\n if (t.indexOf(\"_inc_any\") !== -1) {\n const r = t.replace(/(_inc_any)$/, \"\"), a = Array.isArray(e) ? e : [e];\n return (n) => a.some((s) => {\n const i = y(n, r);\n return Array.isArray(i) || typeof i == \"string\" ? i.includes(s) : !1;\n });\n }\n if (t.indexOf(\"_inc\") !== -1) {\n const r = t.replace(/(_inc)$/, \"\"), a = Array.isArray(e) ? e : [e];\n return (n) => a.every((s) => {\n const i = y(n, r);\n return Array.isArray(i) || typeof i == \"string\" ? i.includes(s) : !1;\n });\n }\n if (t.indexOf(\"_ninc_any\") !== -1) {\n const r = t.replace(/(_ninc_any)$/, \"\"), a = Array.isArray(e) ? e : [e];\n return (n) => a.every((s) => {\n const i = y(n, r);\n return Array.isArray(i) || typeof i == \"string\" ? !i.includes(s) : !1;\n });\n }\n return Array.isArray(e) ? (r) => Array.isArray(y(r, t)) ? Rd(e, (a) => {\n const n = y(r, t);\n return Array.isArray(n) ? Ld(n, (s) => s == a) : !1;\n }) : e.filter((a) => a == y(r, t)).length > 0 : typeof e == \"object\" ? (r) => Md(e)(y(r, t)) : (r) => {\n const a = y(r, t);\n return Array.isArray(a) && typeof e == \"string\" ? a.indexOf(e) !== -1 : typeof a == \"boolean\" && typeof e == \"string\" ? a === (e === \"true\") : a == e;\n };\n};\nfunction Dt(t, e) {\n if (typeof e == \"function\")\n return t.filter(e);\n if (e instanceof Object) {\n const r = Object.keys(e).map((a) => {\n if (a === \"q\" && typeof e.q == \"string\") {\n const i = new RegExp(e.q, \"i\"), o = (c) => {\n for (const l in c) {\n const u = c[l];\n if (typeof u == \"object\" && o(u) || u && typeof u == \"string\" && u.match && u.match(i) !== null)\n return !0;\n }\n return !1;\n };\n return o;\n }\n const n = a.split(\".\"), s = e[a];\n return n.length > 1 ? (i) => {\n const o = Dd(\n n,\n i\n );\n if (o) {\n const [c, l] = o, u = y(i, c);\n return Array.isArray(u) ? Dt(u, {\n [l]: s\n }).length > 0 : !1;\n }\n return ct(a, s)(i);\n } : ct(a, s);\n });\n return t.filter(\n (a) => r.reduce(\n (n, s) => n && s(a),\n !0\n )\n );\n }\n throw new Error(\"Unsupported filter type\");\n}\nfunction Fd(t, e) {\n if (typeof e == \"function\")\n return t.sort(e);\n if (typeof e == \"string\")\n return t.sort((r, a) => r[e] > a[e] ? 1 : r[e] < a[e] ? -1 : 0);\n if (Array.isArray(e)) {\n const r = e[0], a = e[1].toLowerCase() === \"asc\" ? 1 : -1;\n return t.sort((n, s) => n[r] > s[r] ? a : n[r] < s[r] ? -1 * a : 0);\n }\n throw new Error(\"Unsupported sort type\");\n}\nfunction Bd(t, e) {\n if (Array.isArray(e))\n return t.slice(\n e[0],\n e[1] !== void 0 ? e[1] + 1 : void 0\n );\n throw new Error(\"Unsupported range type\");\n}\nclass Ud {\n constructor(e) {\n p(this, \"obj\", null);\n p(this, \"database\", null);\n p(this, \"name\", null);\n if (!(e instanceof Object))\n throw new Error(\n \"Can't initialize a Single with anything except an object\"\n );\n this.obj = e;\n }\n /**\n * A Single may need to access other collections (e.g. for embedded\n * references) This is done through a reference to the parent database.\n */\n setDatabase(e) {\n this.database = e;\n }\n setName(e) {\n this.name = e;\n }\n // No need to embed Singles, since they are by their nature top-level\n // No need to worry about remote references, (i.e. mysingleton_id=1) since\n // it is by definition a singleton\n _oneToManyEmbedder(e) {\n return (r) => {\n if (this.database == null)\n throw new Error(\"Can't embed references without a database\");\n const a = this.database.collections[e];\n if (!a)\n throw new Error(\n `Can't embed a non-existing collection ${e}`\n );\n return r[e] = a.getAll({\n filter: (n) => r[e].indexOf(\n n[a.identifierName]\n ) !== -1\n }), r;\n };\n }\n _manyToOneEmbedder(e) {\n const r = `${e}s`, a = `${e}_id`;\n return (n) => {\n if (this.database == null)\n throw new Error(\"Can't embed references without a database\");\n const s = this.database.collections[r];\n if (!s)\n throw new Error(\n `Can't embed a non-existing collection ${e}`\n );\n try {\n n[e] = s.getOne(\n n[a]\n );\n } catch {\n }\n return n;\n };\n }\n _itemEmbedder(e) {\n const a = (Array.isArray(e) ? e : [e]).map(\n (n) => n.endsWith(\"s\") ? this._oneToManyEmbedder(n) : this._manyToOneEmbedder(n)\n );\n return (n) => a.reduce(\n (s, i) => i(s),\n n\n );\n }\n getOnly(e) {\n let r = this.obj;\n return e != null && e.embed && this.database && (r = Object.assign({}, r), r = this._itemEmbedder(e.embed)(r)), r;\n }\n updateOnly(e) {\n if (this.obj == null)\n throw new Error(\"Can't update a non-existing object\");\n for (const r in e)\n this.obj[r] = e[r];\n return this.obj;\n }\n}\nclass Gd {\n constructor({\n data: e,\n identifierName: r = \"id\",\n getNewId: a\n } = {}) {\n p(this, \"identifierName\", \"id\");\n p(this, \"collections\", {});\n p(this, \"singles\", {});\n p(this, \"getNewId\");\n this.getNewId = a, this.identifierName = r, e && this.init(e);\n }\n /**\n * Shortcut for adding several collections if identifierName is always the same\n */\n init(e) {\n for (const r in e) {\n const a = e[r];\n Array.isArray(a) ? this.addCollection(\n r,\n new ot({\n items: a,\n identifierName: this.identifierName,\n getNewId: this.getNewId\n })\n ) : this.addSingle(r, new Ud(a));\n }\n }\n addCollection(e, r) {\n this.collections[e] = r, r.setDatabase(this), r.setName(e);\n }\n getCollection(e) {\n return this.collections[e];\n }\n getCollectionNames() {\n return Object.keys(this.collections);\n }\n addSingle(e, r) {\n this.singles[e] = r, r.setDatabase(this), r.setName(e);\n }\n getSingle(e) {\n return this.singles[e];\n }\n getSingleNames() {\n return Object.keys(this.singles);\n }\n /**\n * @param {string} name\n * @param {string} params As decoded from the query string, e.g. { sort: \"name\", filter: {enabled:true}, slice: [10, 20] }\n */\n getCount(e, r) {\n return this.collections[e].getCount(r);\n }\n /**\n * @param {string} name\n * @param {string} params As decoded from the query string, e.g. { sort: \"name\", filter: {enabled:true}, slice: [10, 20] }\n */\n getAll(e, r) {\n return this.collections[e].getAll(r);\n }\n getOne(e, r, a) {\n return this.collections[e].getOne(r, a);\n }\n addOne(e, r) {\n return Object.prototype.hasOwnProperty.call(this.collections, e) || this.addCollection(\n e,\n new ot({\n items: [],\n identifierName: this.identifierName,\n getNewId: this.getNewId\n })\n ), this.collections[e].addOne(r);\n }\n updateOne(e, r, a) {\n return this.collections[e].updateOne(r, a);\n }\n removeOne(e, r) {\n return this.collections[e].removeOne(r);\n }\n getOnly(e, r) {\n return this.singles[e].getOnly();\n }\n updateOnly(e, r) {\n return this.singles[e].updateOnly(r);\n }\n}\nclass _e {\n constructor({\n baseUrl: e = \"\",\n defaultQuery: r = () => ({}),\n database: a,\n middlewares: n,\n ...s\n } = {}) {\n p(this, \"baseUrl\", \"\");\n p(this, \"defaultQuery\", () => ({}));\n p(this, \"middlewares\");\n p(this, \"database\");\n this.baseUrl = e, this.defaultQuery = r, this.middlewares = n || [], a ? this.database = a : this.database = new Gd(s);\n }\n /**\n * @param Function ResourceName => object\n */\n setDefaultQuery(e) {\n this.defaultQuery = e;\n }\n getContext(e) {\n var a, n;\n for (const s of this.database.getSingleNames())\n if ((a = e.url) != null && a.match(\n new RegExp(`^${this.baseUrl}\\\\/(${s})(\\\\/?.*)?$`)\n ))\n return {\n ...e,\n single: s\n };\n const r = (n = e.url) == null ? void 0 : n.match(\n new RegExp(\n `^${this.baseUrl}\\\\/([^\\\\/?]+)(\\\\/(\\\\w+|\\\\d+))?(\\\\?.*)?$`\n )\n );\n if (r) {\n const s = r[1], i = Object.assign(\n {},\n this.defaultQuery(s),\n e.params\n );\n return {\n ...e,\n collection: s,\n params: i\n };\n }\n return e;\n }\n async handle(e) {\n const r = this.getContext(e);\n let a = 0;\n const n = [...this.middlewares], s = (i) => {\n const o = n[a++];\n return o ? o(i, s) : this.handleRequest(i);\n };\n try {\n return await s(r);\n } catch (i) {\n if (i instanceof Error)\n throw i;\n return i;\n }\n }\n handleRequest(e) {\n var s, i;\n for (const o of this.database.getSingleNames())\n if ((s = e.url) != null && s.match(\n new RegExp(`^${this.baseUrl}\\\\/(${o})(\\\\/?.*)?$`)\n )) {\n if (e.method === \"GET\")\n try {\n return {\n status: 200,\n body: this.database.getOnly(o),\n headers: {\n \"Content-Type\": \"application/json\"\n }\n };\n } catch {\n return {\n status: 404,\n headers: {}\n };\n }\n if (e.method === \"PUT\")\n try {\n return e.requestBody == null ? {\n status: 400,\n headers: {}\n } : {\n status: 200,\n body: this.database.updateOnly(\n o,\n e.requestBody\n ),\n headers: {\n \"Content-Type\": \"application/json\"\n }\n };\n } catch {\n return {\n status: 404,\n headers: {}\n };\n }\n if (e.method === \"PATCH\")\n try {\n return e.requestBody == null ? {\n status: 400,\n headers: {}\n } : {\n status: 200,\n body: this.database.updateOnly(\n o,\n e.requestBody\n ),\n headers: {\n \"Content-Type\": \"application/json\"\n }\n };\n } catch {\n return {\n status: 404,\n headers: {}\n };\n }\n }\n const r = (i = e.url) == null ? void 0 : i.match(\n new RegExp(\n `^${this.baseUrl}\\\\/([^\\\\/?]+)(\\\\/(\\\\w+|\\\\d+))?(\\\\?.*)?$`\n )\n );\n if (!r)\n return { status: 404, headers: {} };\n const a = r[1], n = Object.assign(\n {},\n this.defaultQuery(a),\n e.params\n );\n if (r[2]) {\n if (!this.database.getCollection(a))\n return { status: 404, headers: {} };\n const o = r[3];\n if (e.method === \"GET\")\n try {\n return {\n status: 200,\n body: this.database.getOne(a, o, n),\n headers: {\n \"Content-Type\": \"application/json\"\n }\n };\n } catch {\n return {\n status: 404,\n headers: {}\n };\n }\n if (e.method === \"PUT\")\n try {\n return e.requestBody == null ? {\n status: 400,\n headers: {}\n } : {\n status: 200,\n body: this.database.updateOne(\n a,\n o,\n e.requestBody\n ),\n headers: {\n \"Content-Type\": \"application/json\"\n }\n };\n } catch {\n return {\n status: 404,\n headers: {}\n };\n }\n if (e.method === \"PATCH\")\n try {\n return e.requestBody == null ? {\n status: 400,\n headers: {}\n } : {\n status: 200,\n body: this.database.updateOne(\n a,\n o,\n e.requestBody\n ),\n headers: {\n \"Content-Type\": \"application/json\"\n }\n };\n } catch {\n return {\n status: 404,\n headers: {}\n };\n }\n if (e.method === \"DELETE\")\n try {\n return {\n status: 200,\n body: this.database.removeOne(a, o),\n headers: {\n \"Content-Type\": \"application/json\"\n }\n };\n } catch {\n return {\n status: 404,\n headers: {}\n };\n }\n } else {\n if (e.method === \"GET\") {\n if (!this.database.getCollection(a))\n return { status: 404, headers: {} };\n const o = this.database.getCount(\n a,\n n.filter ? { filter: n.filter } : {}\n );\n if (o > 0) {\n const c = this.database.getAll(a, n), l = n.range ? n.range[0] : 0, u = n.range && n.range.length === 2 ? Math.min(\n c.length - 1 + l,\n n.range[1]\n ) : c.length - 1;\n return {\n status: c.length === o ? 200 : 206,\n body: c,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Content-Range\": `items ${l}-${u}/${o}`\n }\n };\n }\n return {\n status: 200,\n body: [],\n headers: {\n \"Content-Type\": \"application/json\",\n \"Content-Range\": \"items */0\"\n }\n };\n }\n if (e.method === \"POST\") {\n if (e.requestBody == null)\n return {\n status: 400,\n headers: {}\n };\n const o = this.database.addOne(\n a,\n e.requestBody\n ), c = `${this.baseUrl}/${a}/${o[this.database.getCollection(a).identifierName]}`;\n return {\n status: 201,\n body: o,\n headers: {\n \"Content-Type\": \"application/json\",\n Location: c\n }\n };\n }\n }\n return {\n status: 404,\n headers: {}\n };\n }\n addMiddleware(e) {\n this.middlewares.push(e);\n }\n addCollection(e, r) {\n this.database.addCollection(e, r);\n }\n getCollection(e) {\n return this.database.getCollection(e);\n }\n getCollectionNames() {\n return this.database.getCollectionNames();\n }\n addSingle(e, r) {\n this.database.addSingle(e, r);\n }\n getSingle(e) {\n return this.database.getSingle(e);\n }\n getSingleNames() {\n return this.database.getSingleNames();\n }\n}\nfunction Ft(t) {\n if (!t)\n return {};\n const e = {};\n return t.split(\"&\").map((a) => {\n if (a.indexOf(\"=\") === -1)\n e[a] = !0;\n else {\n let [n, s] = a.split(\"=\");\n (s.indexOf(\"[\") === 0 || s.indexOf(\"{\") === 0) && (s = JSON.parse(s)), e[n.trim()] = s;\n }\n }), e;\n}\nclass Bt {\n constructor({\n loggingEnabled: e = !1,\n server: r,\n ...a\n } = {}) {\n p(this, \"loggingEnabled\", !1);\n p(this, \"server\");\n this.server = r || new _e(a), this.loggingEnabled = e;\n }\n getHandler() {\n return async (e) => {\n e.readyState = 4;\n const r = this.getNormalizedRequest(e), a = await this.server.handle(r);\n this.respond(a, e);\n };\n }\n getNormalizedRequest(e) {\n const r = typeof e == \"string\" ? new Request(e) : e, a = r.url ? decodeURIComponent(r.url.slice(r.url.indexOf(\"?\") + 1)) : \"\", n = Ft(a);\n let s;\n if (r.requestBody)\n try {\n s = JSON.parse(\n r.requestBody\n );\n } catch {\n }\n return {\n url: r.url,\n headers: new Headers(e.requestHeaders),\n params: n,\n requestBody: s,\n method: r.method\n };\n }\n respond(e, r) {\n const a = {\n status: e.status,\n body: e.body ?? \"\",\n headers: e.headers ?? {}\n };\n Array.isArray(a.headers) ? a.headers.find((n) => n.name.toLowerCase() === \"content-type\") || a.headers.push({\n name: \"Content-Type\",\n value: \"application/json\"\n }) : a.headers[\"Content-Type\"] || (a.headers[\"Content-Type\"] = \"application/json\"), r.readyState = 1, r.respond(\n a.status,\n a.headers,\n JSON.stringify(a.body)\n ), this.log(r, a);\n }\n log(e, r) {\n this.loggingEnabled && (console.group ? (console.groupCollapsed(e.method, e.url, \"(FakeRest)\"), console.group(\"request\"), console.log(e.method, e.url), console.log(\"headers\", e.requestHeaders), console.log(\"body \", e.requestBody), console.groupEnd(), console.group(\"response\", r.status), console.log(\"headers\", r.headers), console.log(\"body \", r.body), console.groupEnd(), console.groupEnd()) : (console.log(\n \"FakeRest request \",\n e.method,\n e.url,\n \"headers\",\n e.requestHeaders,\n \"body\",\n e.requestBody\n ), console.log(\n \"FakeRest response\",\n r.status,\n \"headers\",\n r.headers,\n \"body\",\n r.body\n )));\n }\n toggleLogging() {\n this.loggingEnabled = !this.loggingEnabled;\n }\n}\nconst qd = (t) => new Bt(t).getHandler(), zd = Bt;\nclass Ut {\n constructor({\n loggingEnabled: e = !1,\n server: r,\n ...a\n } = {}) {\n p(this, \"loggingEnabled\", !1);\n p(this, \"server\");\n this.server = r || new _e(a), this.loggingEnabled = e;\n }\n getHandler() {\n return async (r, a) => {\n const n = new Request(r, a), s = await this.getNormalizedRequest(n), i = await this.server.handle(s);\n return this.log(n, i, s), i;\n };\n }\n async getNormalizedRequest(e) {\n const r = typeof e == \"string\" ? new Request(e) : e, a = r.url ? decodeURIComponent(r.url.slice(r.url.indexOf(\"?\") + 1)) : \"\", n = Ft(a), s = await r.text();\n let i;\n try {\n i = JSON.parse(s);\n } catch {\n }\n return {\n url: r.url,\n headers: r.headers,\n params: n,\n requestBody: i,\n method: r.method\n };\n }\n log(e, r, a) {\n this.loggingEnabled && (console.group ? (console.groupCollapsed(\n a.method,\n a.url,\n \"(FakeRest)\"\n ), console.group(\"request\"), console.log(a.method, a.url), console.log(\"headers\", e.headers), console.log(\"body \", e.requestJson), console.groupEnd(), console.group(\"response\", r.status), console.log(\"headers\", r.headers), console.log(\"body \", r.body), console.groupEnd(), console.groupEnd()) : (console.log(\n \"FakeRest request \",\n a.method,\n a.url,\n \"headers\",\n e.headers,\n \"body\",\n e.requestJson\n ), console.log(\n \"FakeRest response\",\n r.status,\n \"headers\",\n r.headers,\n \"body\",\n r.body\n )));\n }\n toggleLogging() {\n this.loggingEnabled = !this.loggingEnabled;\n }\n}\nconst Vd = (t) => new Ut(t).getHandler(), Jd = Ut;\nclass Kd {\n constructor({ server: e, ...r }) {\n p(this, \"server\");\n this.server = e || new _e(r);\n }\n getHandler() {\n return async ({ request: e }) => {\n const r = await this.getNormalizedRequest(e), a = await this.server.handle(r);\n return new Response(JSON.stringify(a.body), {\n status: a.status,\n headers: a.headers\n });\n };\n }\n async getNormalizedRequest(e) {\n const r = new URL(e.url), a = Object.fromEntries(\n Array.from(new URLSearchParams(r.search).entries()).map(\n ([s, i]) => [s, JSON.parse(i)]\n )\n );\n let n;\n try {\n const s = await e.text();\n n = JSON.parse(s);\n } catch {\n }\n return {\n url: e.url,\n headers: e.headers,\n params: a,\n requestBody: n,\n method: e.method\n };\n }\n}\nconst Qd = (t) => new Kd(t).getHandler(), Wd = (t) => (e, r) => new Promise((a) => {\n setTimeout(() => {\n a(r(e));\n }, t);\n});\nexport {\n ot as Collection,\n Gd as Database,\n Ut as FetchMockAdapter,\n Jd as FetchServer,\n Kd as MswAdapter,\n zd as Server,\n _e as SimpleRestServer,\n Ud as Single,\n Bt as SinonAdapter,\n Vd as getFetchMockHandler,\n Qd as getMswHandler,\n qd as getSinonHandler,\n Wd as withDelay\n};\n//# sourceMappingURL=fakerest.min.js.map\n","import { Database } from 'fakerest';\nimport { DataProvider } from 'ra-core';\n\n/* eslint-disable no-console */\nfunction log(type, resource, params, response) {\n if (console.group) {\n // Better logging in Chrome\n console.groupCollapsed(type, resource, JSON.stringify(params));\n console.log(response);\n console.groupEnd();\n } else {\n console.log('FakeRest request ', type, resource, params);\n console.log('FakeRest response', response);\n }\n}\n\nfunction delayed(response: any, delay?: number) {\n // If there is no delay, we return the value right away/\n // This saves a tick in unit tests.\n return delay\n ? new Promise(resolve => {\n setTimeout(() => resolve(response), delay);\n })\n : response;\n}\n\n/**\n * Respond to react-admin data queries using a local JavaScript object\n *\n * Useful for debugging and testing - do not use in production.\n *\n * @example\n *\n * import fakeDataProvider from 'ra-data-fakerest';\n * const dataProvider = fakeDataProvider({\n * posts: [\n * { id: 0, title: 'Hello, world!' },\n * { id: 1, title: 'FooBar' },\n * ],\n * comments: [\n * { id: 0, post_id: 0, author: 'John Doe', body: 'Sensational!' },\n * { id: 1, post_id: 0, author: 'Jane Doe', body: 'I agree' },\n * ],\n * })\n */\nexport default (data, loggingEnabled = false, delay?: number): DataProvider => {\n const database = new Database({ data });\n if (typeof window !== 'undefined') {\n // give way to update data in the console\n (window as any)._database = database;\n }\n\n function getResponse(type, resource, params) {\n switch (type) {\n case 'getList': {\n const { page, perPage } = params.pagination;\n const { field, order } = params.sort;\n const query = {\n sort: [field, order] as [string, 'asc' | 'desc'],\n range: [(page - 1) * perPage, page * perPage - 1] as [\n number,\n number,\n ],\n filter: params.filter,\n };\n return delayed(\n {\n data: database.getAll(resource, query),\n total: database.getCount(resource, {\n filter: params.filter,\n }),\n },\n delay\n );\n }\n case 'getOne':\n return delayed(\n {\n data: database.getOne(resource, params.id, {\n ...params,\n }),\n },\n delay\n );\n case 'getMany':\n return delayed(\n {\n data: params.ids.map(\n id => database.getOne(resource, id),\n { ...params }\n ),\n },\n delay\n );\n case 'getManyReference': {\n const { page, perPage } = params.pagination;\n const { field, order } = params.sort;\n const query = {\n sort: [field, order] as [string, 'asc' | 'desc'],\n range: [(page - 1) * perPage, page * perPage - 1] as [\n number,\n number,\n ],\n filter: { ...params.filter, [params.target]: params.id },\n };\n return delayed(\n {\n data: database.getAll(resource, query),\n total: database.getCount(resource, {\n filter: query.filter,\n }),\n },\n delay\n );\n }\n case 'update':\n return delayed(\n {\n data: database.updateOne(resource, params.id, {\n ...params.data,\n }),\n },\n delay\n );\n case 'updateMany':\n params.ids.forEach(id =>\n database.updateOne(resource, id, {\n ...params.data,\n })\n );\n return delayed({ data: params.ids }, delay);\n case 'create':\n return delayed(\n { data: database.addOne(resource, { ...params.data }) },\n delay\n );\n case 'delete':\n return delayed(\n { data: database.removeOne(resource, params.id) },\n delay\n );\n case 'deleteMany':\n params.ids.forEach(id => database.removeOne(resource, id));\n return delayed({ data: params.ids }, delay);\n default:\n return false;\n }\n }\n\n /**\n * @param {String} type One of the data Provider methods, e.g. 'getList'\n * @param {String} resource Name of the resource to fetch, e.g. 'posts'\n * @param {Object} params The data request params, depending on the type\n * @returns {Promise} The response\n */\n const handle = async (type, resource, params): Promise<any> => {\n const collection = database.getCollection(resource);\n if (!collection && type !== 'create') {\n const error = new UndefinedResourceError(\n `Undefined collection \"${resource}\"`\n );\n error.code = 1; // make that error detectable\n throw error;\n }\n let response;\n try {\n response = await getResponse(type, resource, params);\n } catch (error) {\n console.error(error);\n throw error;\n }\n if (loggingEnabled) {\n const { signal, ...paramsWithoutSignal } = params;\n log(type, resource, paramsWithoutSignal, response);\n }\n return response;\n };\n\n return {\n getList: (resource, params) => handle('getList', resource, params),\n getOne: (resource, params) => handle('getOne', resource, params),\n getMany: (resource, params) => handle('getMany', resource, params),\n getManyReference: (resource, params) =>\n handle('getManyReference', resource, params),\n update: (resource, params) => handle('update', resource, params),\n updateMany: (resource, params) =>\n handle('updateMany', resource, params),\n create: (resource, params) => handle('create', resource, params),\n delete: (resource, params) => handle('delete', resource, params),\n deleteMany: (resource, params) =>\n handle('deleteMany', resource, params),\n };\n};\n\nclass UndefinedResourceError extends Error {\n code: number;\n}\n","/*\n fake.js - generator method for combining faker methods based on string input\n\n*/\n\nfunction Fake (faker) {\n \n /**\n * Generator method for combining faker methods based on string input\n *\n * __Example:__\n *\n * ```\n * console.log(faker.fake('{{name.lastName}}, {{name.firstName}} {{name.suffix}}'));\n * //outputs: \"Marks, Dean Sr.\"\n * ```\n *\n * This will interpolate the format string with the value of methods\n * [name.lastName]{@link faker.name.lastName}, [name.firstName]{@link faker.name.firstName},\n * and [name.suffix]{@link faker.name.suffix}\n *\n * @method faker.fake\n * @param {string} str\n */\n this.fake = function fake (str) {\n // setup default response as empty string\n var res = '';\n\n // if incoming str parameter is not provided, return error message\n if (typeof str !== 'string' || str.length === 0) {\n throw new Error('string parameter is required!');\n }\n\n // find first matching {{ and }}\n var start = str.search('{{');\n var end = str.search('}}');\n\n // if no {{ and }} is found, we are done\n if (start === -1 && end === -1) {\n return str;\n }\n\n // console.log('attempting to parse', str);\n\n // extract method name from between the {{ }} that we found\n // for example: {{name.firstName}}\n var token = str.substr(start + 2, end - start - 2);\n var method = token.replace('}}', '').replace('{{', '');\n\n // console.log('method', method)\n\n // extract method parameters\n var regExp = /\\(([^)]+)\\)/;\n var matches = regExp.exec(method);\n var parameters = '';\n if (matches) {\n method = method.replace(regExp, '');\n parameters = matches[1];\n }\n\n // split the method into module and function\n var parts = method.split('.');\n\n if (typeof faker[parts[0]] === \"undefined\") {\n throw new Error('Invalid module: ' + parts[0]);\n }\n\n if (typeof faker[parts[0]][parts[1]] === \"undefined\") {\n throw new Error('Invalid method: ' + parts[0] + \".\" + parts[1]);\n }\n\n // assign the function from the module.function namespace\n var fn = faker[parts[0]][parts[1]];\n\n // If parameters are populated here, they are always going to be of string type\n // since we might actually be dealing with an object or array,\n // we always attempt to the parse the incoming parameters into JSON\n var params;\n // Note: we experience a small performance hit here due to JSON.parse try / catch\n // If anyone actually needs to optimize this specific code path, please open a support issue on github\n try {\n params = JSON.parse(parameters)\n } catch (err) {\n // since JSON.parse threw an error, assume parameters was actually a string\n params = parameters;\n }\n\n var result;\n if (typeof params === \"string\" && params.length === 0) {\n result = fn.call(this);\n } else {\n result = fn.call(this, params);\n }\n\n // replace the found tag with the returned fake value\n res = str.replace('{{' + token + '}}', result);\n\n // return the response recursively until we are done finding all tags\n return fake(res); \n }\n \n return this;\n \n \n}\n\nmodule['exports'] = Fake;","// the `unique` module\nvar unique = {};\n\n// global results store\n// currently uniqueness is global to entire faker instance\n// this means that faker should currently *never* return duplicate values across all API methods when using `Faker.unique`\n// it's possible in the future that some users may want to scope found per function call instead of faker instance\nvar found = {};\n\n// global exclude list of results\n// defaults to nothing excluded\nvar exclude = [];\n\n// current iteration or retries of unique.exec ( current loop depth )\nvar currentIterations = 0;\n\n// uniqueness compare function\n// default behavior is to check value as key against object hash\nvar defaultCompare = function(obj, key) {\n if (typeof obj[key] === 'undefined') {\n return -1;\n }\n return 0;\n};\n\n// common error handler for messages\nunique.errorMessage = function (now, code, opts) {\n console.error('error', code);\n console.log('found', Object.keys(found).length, 'unique entries before throwing error. \\nretried:', currentIterations, '\\ntotal time:', now - opts.startTime, 'ms');\n throw new Error(code + ' for uniqueness check \\n\\nMay not be able to generate any more unique values with current settings. \\nTry adjusting maxTime or maxRetries parameters for faker.unique()')\n};\n\nunique.exec = function (method, args, opts) {\n //console.log(currentIterations)\n\n var now = new Date().getTime();\n\n opts = opts || {};\n opts.maxTime = opts.maxTime || 3;\n opts.maxRetries = opts.maxRetries || 50;\n opts.exclude = opts.exclude || exclude;\n opts.compare = opts.compare || defaultCompare;\n\n if (typeof opts.currentIterations !== 'number') {\n opts.currentIterations = 0;\n }\n\n if (typeof opts.startTime === 'undefined') {\n opts.startTime = new Date().getTime();\n }\n\n var startTime = opts.startTime;\n\n // support single exclude argument as string\n if (typeof opts.exclude === 'string') {\n opts.exclude = [opts.exclude];\n }\n\n if (opts.currentIterations > 0) {\n // console.log('iterating', currentIterations)\n }\n\n // console.log(now - startTime)\n if (now - startTime >= opts.maxTime) {\n return unique.errorMessage(now, 'Exceeded maxTime:' + opts.maxTime, opts);\n }\n\n if (opts.currentIterations >= opts.maxRetries) {\n return unique.errorMessage(now, 'Exceeded maxRetries:' + opts.maxRetries, opts);\n }\n\n // execute the provided method to find a potential satifised value\n var result = method.apply(this, args);\n\n // if the result has not been previously found, add it to the found array and return the value as it's unique\n if (opts.compare(found, result) === -1 && opts.exclude.indexOf(result) === -1) {\n found[result] = result;\n opts.currentIterations = 0;\n return result;\n } else {\n // console.log('conflict', result);\n opts.currentIterations++;\n return unique.exec(method, args, opts);\n }\n};\n\nmodule.exports = unique;\n","var uniqueExec = require('../vendor/unique');\n/**\n *\n * @namespace faker.unique\n */\nfunction Unique (faker) {\n\n // initialize unique module class variables\n\n // maximum time unique.exec will attempt to run before aborting\n var maxTime = 10;\n\n // maximum retries unique.exec will recurse before abortings ( max loop depth )\n var maxRetries = 10;\n\n // time the script started\n // var startTime = 0;\n\n /**\n * unique\n *\n * @method unique\n */\n this.unique = function unique (method, args, opts) {\n opts = opts || {};\n opts.startTime = new Date().getTime();\n if (typeof opts.maxTime !== 'number') {\n opts.maxTime = maxTime;\n }\n if (typeof opts.maxRetries !== 'number') {\n opts.maxRetries = maxRetries;\n }\n opts.currentIterations = 0;\n return uniqueExec.exec(method, args, opts);\n }\n}\n\nmodule['exports'] = Unique;","// this program is a JavaScript version of Mersenne Twister, with concealment and encapsulation in class,\n// an almost straight conversion from the original program, mt19937ar.c,\n// translated by y. okada on July 17, 2006.\n// and modified a little at july 20, 2006, but there are not any substantial differences.\n// in this program, procedure descriptions and comments of original source code were not removed.\n// lines commented with //c// were originally descriptions of c procedure. and a few following lines are appropriate JavaScript descriptions.\n// lines commented with /* and */ are original comments.\n// lines commented with // are additional comments in this JavaScript version.\n// before using this version, create at least one instance of MersenneTwister19937 class, and initialize the each state, given below in c comments, of all the instances.\n/*\n A C-program for MT19937, with initialization improved 2002/1/26.\n Coded by Takuji Nishimura and Makoto Matsumoto.\n\n Before using, initialize the state by using init_genrand(seed)\n or init_by_array(init_key, key_length).\n\n Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura,\n All rights reserved.\n\n Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions\n are met:\n\n 1. Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n\n 2. Redistributions in binary form must reproduce the above copyright\n notice, this list of conditions and the following disclaimer in the\n documentation and/or other materials provided with the distribution.\n\n 3. The names of its contributors may not be used to endorse or promote\n products derived from this software without specific prior written\n permission.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR\n CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\n PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\n PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\n LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n\n Any feedback is very welcome.\n http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/emt.html\n email: m-mat @ math.sci.hiroshima-u.ac.jp (remove space)\n*/\n\nfunction MersenneTwister19937()\n{\n\t/* constants should be scoped inside the class */\n\tvar N, M, MATRIX_A, UPPER_MASK, LOWER_MASK;\n\t/* Period parameters */\n\t//c//#define N 624\n\t//c//#define M 397\n\t//c//#define MATRIX_A 0x9908b0dfUL /* constant vector a */\n\t//c//#define UPPER_MASK 0x80000000UL /* most significant w-r bits */\n\t//c//#define LOWER_MASK 0x7fffffffUL /* least significant r bits */\n\tN = 624;\n\tM = 397;\n\tMATRIX_A = 0x9908b0df; /* constant vector a */\n\tUPPER_MASK = 0x80000000; /* most significant w-r bits */\n\tLOWER_MASK = 0x7fffffff; /* least significant r bits */\n\t//c//static unsigned long mt[N]; /* the array for the state vector */\n\t//c//static int mti=N+1; /* mti==N+1 means mt[N] is not initialized */\n\tvar mt = new Array(N); /* the array for the state vector */\n\tvar mti = N+1; /* mti==N+1 means mt[N] is not initialized */\n\n\tfunction unsigned32 (n1) // returns a 32-bits unsiged integer from an operand to which applied a bit operator.\n\t{\n\t\treturn n1 < 0 ? (n1 ^ UPPER_MASK) + UPPER_MASK : n1;\n\t}\n\n\tfunction subtraction32 (n1, n2) // emulates lowerflow of a c 32-bits unsiged integer variable, instead of the operator -. these both arguments must be non-negative integers expressible using unsigned 32 bits.\n\t{\n\t\treturn n1 < n2 ? unsigned32((0x100000000 - (n2 - n1)) & 0xffffffff) : n1 - n2;\n\t}\n\n\tfunction addition32 (n1, n2) // emulates overflow of a c 32-bits unsiged integer variable, instead of the operator +. these both arguments must be non-negative integers expressible using unsigned 32 bits.\n\t{\n\t\treturn unsigned32((n1 + n2) & 0xffffffff)\n\t}\n\n\tfunction multiplication32 (n1, n2) // emulates overflow of a c 32-bits unsiged integer variable, instead of the operator *. these both arguments must be non-negative integers expressible using unsigned 32 bits.\n\t{\n\t\tvar sum = 0;\n\t\tfor (var i = 0; i < 32; ++i){\n\t\t\tif ((n1 >>> i) & 0x1){\n\t\t\t\tsum = addition32(sum, unsigned32(n2 << i));\n\t\t\t}\n\t\t}\n\t\treturn sum;\n\t}\n\n\t/* initializes mt[N] with a seed */\n\t//c//void init_genrand(unsigned long s)\n\tthis.init_genrand = function (s)\n\t{\n\t\t//c//mt[0]= s & 0xffffffff;\n\t\tmt[0]= unsigned32(s & 0xffffffff);\n\t\tfor (mti=1; mti<N; mti++) {\n\t\t\tmt[mti] =\n\t\t\t//c//(1812433253 * (mt[mti-1] ^ (mt[mti-1] >> 30)) + mti);\n\t\t\taddition32(multiplication32(1812433253, unsigned32(mt[mti-1] ^ (mt[mti-1] >>> 30))), mti);\n\t\t\t/* See Knuth TAOCP Vol2. 3rd Ed. P.106 for multiplier. */\n\t\t\t/* In the previous versions, MSBs of the seed affect */\n\t\t\t/* only MSBs of the array mt[]. */\n\t\t\t/* 2002/01/09 modified by Makoto Matsumoto */\n\t\t\t//c//mt[mti] &= 0xffffffff;\n\t\t\tmt[mti] = unsigned32(mt[mti] & 0xffffffff);\n\t\t\t/* for >32 bit machines */\n\t\t}\n\t}\n\n\t/* initialize by an array with array-length */\n\t/* init_key is the array for initializing keys */\n\t/* key_length is its length */\n\t/* slight change for C++, 2004/2/26 */\n\t//c//void init_by_array(unsigned long init_key[], int key_length)\n\tthis.init_by_array = function (init_key, key_length)\n\t{\n\t\t//c//int i, j, k;\n\t\tvar i, j, k;\n\t\t//c//init_genrand(19650218);\n\t\tthis.init_genrand(19650218);\n\t\ti=1; j=0;\n\t\tk = (N>key_length ? N : key_length);\n\t\tfor (; k; k--) {\n\t\t\t//c//mt[i] = (mt[i] ^ ((mt[i-1] ^ (mt[i-1] >> 30)) * 1664525))\n\t\t\t//c//\t+ init_key[j] + j; /* non linear */\n\t\t\tmt[i] = addition32(addition32(unsigned32(mt[i] ^ multiplication32(unsigned32(mt[i-1] ^ (mt[i-1] >>> 30)), 1664525)), init_key[j]), j);\n\t\t\tmt[i] =\n\t\t\t//c//mt[i] &= 0xffffffff; /* for WORDSIZE > 32 machines */\n\t\t\tunsigned32(mt[i] & 0xffffffff);\n\t\t\ti++; j++;\n\t\t\tif (i>=N) { mt[0] = mt[N-1]; i=1; }\n\t\t\tif (j>=key_length) j=0;\n\t\t}\n\t\tfor (k=N-1; k; k--) {\n\t\t\t//c//mt[i] = (mt[i] ^ ((mt[i-1] ^ (mt[i-1] >> 30)) * 1566083941))\n\t\t\t//c//- i; /* non linear */\n\t\t\tmt[i] = subtraction32(unsigned32((dbg=mt[i]) ^ multiplication32(unsigned32(mt[i-1] ^ (mt[i-1] >>> 30)), 1566083941)), i);\n\t\t\t//c//mt[i] &= 0xffffffff; /* for WORDSIZE > 32 machines */\n\t\t\tmt[i] = unsigned32(mt[i] & 0xffffffff);\n\t\t\ti++;\n\t\t\tif (i>=N) { mt[0] = mt[N-1]; i=1; }\n\t\t}\n\t\tmt[0] = 0x80000000; /* MSB is 1; assuring non-zero initial array */\n\t}\n\n /* moved outside of genrand_int32() by jwatte 2010-11-17; generate less garbage */\n var mag01 = [0x0, MATRIX_A];\n\n\t/* generates a random number on [0,0xffffffff]-interval */\n\t//c//unsigned long genrand_int32(void)\n\tthis.genrand_int32 = function ()\n\t{\n\t\t//c//unsigned long y;\n\t\t//c//static unsigned long mag01[2]={0x0UL, MATRIX_A};\n\t\tvar y;\n\t\t/* mag01[x] = x * MATRIX_A for x=0,1 */\n\n\t\tif (mti >= N) { /* generate N words at one time */\n\t\t\t//c//int kk;\n\t\t\tvar kk;\n\n\t\t\tif (mti == N+1) /* if init_genrand() has not been called, */\n\t\t\t\t//c//init_genrand(5489); /* a default initial seed is used */\n\t\t\t\tthis.init_genrand(5489); /* a default initial seed is used */\n\n\t\t\tfor (kk=0;kk<N-M;kk++) {\n\t\t\t\t//c//y = (mt[kk]&UPPER_MASK)|(mt[kk+1]&LOWER_MASK);\n\t\t\t\t//c//mt[kk] = mt[kk+M] ^ (y >> 1) ^ mag01[y & 0x1];\n\t\t\t\ty = unsigned32((mt[kk]&UPPER_MASK)|(mt[kk+1]&LOWER_MASK));\n\t\t\t\tmt[kk] = unsigned32(mt[kk+M] ^ (y >>> 1) ^ mag01[y & 0x1]);\n\t\t\t}\n\t\t\tfor (;kk<N-1;kk++) {\n\t\t\t\t//c//y = (mt[kk]&UPPER_MASK)|(mt[kk+1]&LOWER_MASK);\n\t\t\t\t//c//mt[kk] = mt[kk+(M-N)] ^ (y >> 1) ^ mag01[y & 0x1];\n\t\t\t\ty = unsigned32((mt[kk]&UPPER_MASK)|(mt[kk+1]&LOWER_MASK));\n\t\t\t\tmt[kk] = unsigned32(mt[kk+(M-N)] ^ (y >>> 1) ^ mag01[y & 0x1]);\n\t\t\t}\n\t\t\t//c//y = (mt[N-1]&UPPER_MASK)|(mt[0]&LOWER_MASK);\n\t\t\t//c//mt[N-1] = mt[M-1] ^ (y >> 1) ^ mag01[y & 0x1];\n\t\t\ty = unsigned32((mt[N-1]&UPPER_MASK)|(mt[0]&LOWER_MASK));\n\t\t\tmt[N-1] = unsigned32(mt[M-1] ^ (y >>> 1) ^ mag01[y & 0x1]);\n\t\t\tmti = 0;\n\t\t}\n\n\t\ty = mt[mti++];\n\n\t\t/* Tempering */\n\t\t//c//y ^= (y >> 11);\n\t\t//c//y ^= (y << 7) & 0x9d2c5680;\n\t\t//c//y ^= (y << 15) & 0xefc60000;\n\t\t//c//y ^= (y >> 18);\n\t\ty = unsigned32(y ^ (y >>> 11));\n\t\ty = unsigned32(y ^ ((y << 7) & 0x9d2c5680));\n\t\ty = unsigned32(y ^ ((y << 15) & 0xefc60000));\n\t\ty = unsigned32(y ^ (y >>> 18));\n\n\t\treturn y;\n\t}\n\n\t/* generates a random number on [0,0x7fffffff]-interval */\n\t//c//long genrand_int31(void)\n\tthis.genrand_int31 = function ()\n\t{\n\t\t//c//return (genrand_int32()>>1);\n\t\treturn (this.genrand_int32()>>>1);\n\t}\n\n\t/* generates a random number on [0,1]-real-interval */\n\t//c//double genrand_real1(void)\n\tthis.genrand_real1 = function ()\n\t{\n\t\t//c//return genrand_int32()*(1.0/4294967295.0);\n\t\treturn this.genrand_int32()*(1.0/4294967295.0);\n\t\t/* divided by 2^32-1 */\n\t}\n\n\t/* generates a random number on [0,1)-real-interval */\n\t//c//double genrand_real2(void)\n\tthis.genrand_real2 = function ()\n\t{\n\t\t//c//return genrand_int32()*(1.0/4294967296.0);\n\t\treturn this.genrand_int32()*(1.0/4294967296.0);\n\t\t/* divided by 2^32 */\n\t}\n\n\t/* generates a random number on (0,1)-real-interval */\n\t//c//double genrand_real3(void)\n\tthis.genrand_real3 = function ()\n\t{\n\t\t//c//return ((genrand_int32()) + 0.5)*(1.0/4294967296.0);\n\t\treturn ((this.genrand_int32()) + 0.5)*(1.0/4294967296.0);\n\t\t/* divided by 2^32 */\n\t}\n\n\t/* generates a random number on [0,1) with 53-bit resolution*/\n\t//c//double genrand_res53(void)\n\tthis.genrand_res53 = function ()\n\t{\n\t\t//c//unsigned long a=genrand_int32()>>5, b=genrand_int32()>>6;\n\t\tvar a=this.genrand_int32()>>>5, b=this.genrand_int32()>>>6;\n\t\treturn(a*67108864.0+b)*(1.0/9007199254740992.0);\n\t}\n\t/* These real versions are due to Isaku Wada, 2002/01/09 added */\n}\n\n// Exports: Public API\n\n// Export the twister class\nexports.MersenneTwister19937 = MersenneTwister19937;\n\n// Export a simplified function to generate random numbers\nvar gen = new MersenneTwister19937;\ngen.init_genrand((new Date).getTime() % 1000000000);\n\n// Added max, min range functionality, Marak Squires Sept 11 2014\nexports.rand = function(max, min) {\n if (max === undefined)\n {\n min = 0;\n max = 32768;\n }\n return Math.floor(gen.genrand_real2() * (max - min) + min);\n}\nexports.seed = function(S) {\n if (typeof(S) != 'number')\n {\n throw new Error(\"seed(S) must take numeric argument; is \" + typeof(S));\n }\n gen.init_genrand(S);\n}\nexports.seed_array = function(A) {\n if (typeof(A) != 'object')\n {\n throw new Error(\"seed_array(A) must take array of numbers; is \" + typeof(A));\n }\n gen.init_by_array(A, A.length);\n}","var mersenne = require('../vendor/mersenne');\n\n/**\n *\n * @namespace faker.random\n */\nfunction Random (faker, seed) {\n // Use a user provided seed if it is an array or number\n if (Array.isArray(seed) && seed.length) {\n mersenne.seed_array(seed);\n }\n else if(!isNaN(seed)) {\n mersenne.seed(seed);\n }\n\n /**\n * returns a single random number based on a max number or range\n *\n * @method faker.random.number\n * @param {mixed} options {min, max, precision}\n */\n this.number = function (options) {\n\n if (typeof options === \"number\") {\n options = {\n max: options\n };\n }\n\n options = options || {};\n\n if (typeof options.min === \"undefined\") {\n options.min = 0;\n }\n\n if (typeof options.max === \"undefined\") {\n options.max = 99999;\n }\n if (typeof options.precision === \"undefined\") {\n options.precision = 1;\n }\n\n // Make the range inclusive of the max value\n var max = options.max;\n if (max >= 0) {\n max += options.precision;\n }\n\n var randomNumber = Math.floor(\n mersenne.rand(max / options.precision, options.min / options.precision));\n // Workaround problem in Float point arithmetics for e.g. 6681493 / 0.01\n randomNumber = randomNumber / (1 / options.precision);\n\n return randomNumber;\n\n }\n\n /**\n * returns a single random floating-point number based on a max number or range\n *\n * @method faker.random.float\n * @param {mixed} options\n */\n this.float = function (options) {\n if (typeof options === \"number\") {\n options = {\n precision: options\n };\n }\n options = options || {};\n var opts = {};\n for (var p in options) {\n opts[p] = options[p];\n }\n if (typeof opts.precision === 'undefined') {\n opts.precision = 0.01;\n }\n return faker.random.number(opts);\n }\n \n /**\n * takes an array and returns a random element of the array\n *\n * @method faker.random.arrayElement\n * @param {array} array\n */\n this.arrayElement = function (array) {\n array = array || [\"a\", \"b\", \"c\"];\n var r = faker.random.number({ max: array.length - 1 });\n return array[r];\n }\n\n /**\n * takes an array and returns a subset with random elements of the array\n *\n * @method faker.random.arrayElements\n * @param {array} array\n * @param {number} count number of elements to pick\n */\n this.arrayElements = function (array, count) {\n array = array || [\"a\", \"b\", \"c\"];\n\n if (typeof count !== 'number') {\n count = faker.random.number({ min: 1, max: array.length });\n } else if (count > array.length) {\n count = array.length;\n } else if (count < 0) {\n count = 0;\n }\n\n var arrayCopy = array.slice();\n var countToRemove = arrayCopy.length - count;\n for (var i = 0; i < countToRemove; i++) {\n var indexToRemove = faker.random.number({ max: arrayCopy.length - 1 });\n arrayCopy.splice(indexToRemove, 1);\n }\n\n return arrayCopy;\n }\n\n /**\n * takes an object and returns the randomly key or value\n *\n * @method faker.random.objectElement\n * @param {object} object\n * @param {mixed} field\n */\n this.objectElement = function (object, field) {\n object = object || { \"foo\": \"bar\", \"too\": \"car\" };\n var array = Object.keys(object);\n var key = faker.random.arrayElement(array);\n\n return field === \"key\" ? key : object[key];\n }\n\n /**\n * uuid\n *\n * @method faker.random.uuid\n */\n this.uuid = function () {\n var RFC4122_TEMPLATE = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx';\n var replacePlaceholders = function (placeholder) {\n var random = faker.random.number({ min: 0, max: 15 });\n var value = placeholder == 'x' ? random : (random &0x3 | 0x8);\n return value.toString(16);\n };\n return RFC4122_TEMPLATE.replace(/[xy]/g, replacePlaceholders);\n }\n\n /**\n * boolean\n *\n * @method faker.random.boolean\n */\n this.boolean = function () {\n return !!faker.random.number(1)\n }\n\n // TODO: have ability to return specific type of word? As in: noun, adjective, verb, etc\n /**\n * word\n *\n * @method faker.random.word\n * @param {string} type\n */\n this.word = function randomWord (type) {\n\n var wordMethods = [\n 'commerce.department',\n 'commerce.productName',\n 'commerce.productAdjective',\n 'commerce.productMaterial',\n 'commerce.product',\n 'commerce.color',\n\n 'company.catchPhraseAdjective',\n 'company.catchPhraseDescriptor',\n 'company.catchPhraseNoun',\n 'company.bsAdjective',\n 'company.bsBuzz',\n 'company.bsNoun',\n 'address.streetSuffix',\n 'address.county',\n 'address.country',\n 'address.state',\n\n 'finance.accountName',\n 'finance.transactionType',\n 'finance.currencyName',\n\n 'hacker.noun',\n 'hacker.verb',\n 'hacker.adjective',\n 'hacker.ingverb',\n 'hacker.abbreviation',\n\n 'name.jobDescriptor',\n 'name.jobArea',\n 'name.jobType'];\n\n // randomly pick from the many faker methods that can generate words\n var randomWordMethod = faker.random.arrayElement(wordMethods);\n var result = faker.fake('{{' + randomWordMethod + '}}');\n return faker.random.arrayElement(result.split(' '));\n }\n\n /**\n * randomWords\n *\n * @method faker.random.words\n * @param {number} count defaults to a random value between 1 and 3\n */\n this.words = function randomWords (count) {\n var words = [];\n if (typeof count === \"undefined\") {\n count = faker.random.number({min:1, max: 3});\n }\n for (var i = 0; i<count; i++) {\n words.push(faker.random.word());\n }\n return words.join(' ');\n }\n\n /**\n * locale\n *\n * @method faker.random.image\n */\n this.image = function randomImage () {\n return faker.image.image();\n }\n\n /**\n * locale\n *\n * @method faker.random.locale\n */\n this.locale = function randomLocale () {\n return faker.random.arrayElement(Object.keys(faker.locales));\n };\n\n /**\n * alpha. returns lower/upper alpha characters based count and upcase options\n *\n * @method faker.random.alpha\n * @param {mixed} options // defaults to { count: 1, upcase: false }\n */\n this.alpha = function alpha(options) {\n if (typeof options === \"undefined\") {\n options = {\n count: 1\n }\n } else if (typeof options === \"number\") {\n options = {\n count: options,\n }\n } else if (typeof options.count === \"undefined\") {\n options.count = 1\n }\n\n if (typeof options.upcase === \"undefined\") {\n options.upcase = false;\n }\n\n var wholeString = \"\";\n for(var i = 0; i < options.count; i++) {\n wholeString += faker.random.arrayElement([\"a\", \"b\", \"c\", \"d\", \"e\", \"f\", \"g\", \"h\", \"i\", \"j\", \"k\", \"l\", \"m\", \"n\", \"o\", \"p\", \"q\", \"r\", \"s\", \"t\", \"u\", \"v\", \"w\", \"x\", \"y\", \"z\"]);\n }\n\n return options.upcase ? wholeString.toUpperCase() : wholeString;\n };\n\n /**\n * alphaNumeric\n *\n * @method faker.random.alphaNumeric\n * @param {number} count defaults to 1\n */\n this.alphaNumeric = function alphaNumeric(count) {\n if (typeof count === \"undefined\") {\n count = 1;\n }\n\n var wholeString = \"\";\n for(var i = 0; i < count; i++) {\n wholeString += faker.random.arrayElement([\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\", \"g\", \"h\", \"i\", \"j\", \"k\", \"l\", \"m\", \"n\", \"o\", \"p\", \"q\", \"r\", \"s\", \"t\", \"u\", \"v\", \"w\", \"x\", \"y\", \"z\"]);\n }\n\n return wholeString;\n };\n\n /**\n * hexaDecimal\n *\n * @method faker.random.hexaDecimal\n * @param {number} count defaults to 1\n */\n this.hexaDecimal = function hexaDecimal(count) {\n if (typeof count === \"undefined\") {\n count = 1;\n }\n\n var wholeString = \"\";\n for(var i = 0; i < count; i++) {\n wholeString += faker.random.arrayElement([\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\", \"A\", \"B\", \"C\", \"D\", \"E\", \"F\"]);\n }\n\n return \"0x\"+wholeString;\n };\n\n return this;\n\n}\n\nmodule['exports'] = Random;\n","/**\n *\n * @namespace faker.helpers\n */\nvar Helpers = function (faker) {\n\n var self = this;\n\n /**\n * backward-compatibility\n *\n * @method faker.helpers.randomize\n * @param {array} array\n */\n self.randomize = function (array) {\n array = array || [\"a\", \"b\", \"c\"];\n return faker.random.arrayElement(array);\n };\n\n /**\n * slugifies string\n *\n * @method faker.helpers.slugify\n * @param {string} string\n */\n self.slugify = function (string) {\n string = string || \"\";\n return string.replace(/ /g, '-').replace(/[^\\一-龠\\ぁ-ゔ\\ァ-ヴー\\w\\.\\-]+/g, '');\n };\n\n /**\n * parses string for a symbol and replace it with a random number from 1-10\n *\n * @method faker.helpers.replaceSymbolWithNumber\n * @param {string} string\n * @param {string} symbol defaults to `\"#\"`\n */\n self.replaceSymbolWithNumber = function (string, symbol) {\n string = string || \"\";\n // default symbol is '#'\n if (symbol === undefined) {\n symbol = '#';\n }\n\n var str = '';\n for (var i = 0; i < string.length; i++) {\n if (string.charAt(i) == symbol) {\n str += faker.random.number(9);\n } else if (string.charAt(i) == \"!\"){\n str += faker.random.number({min: 2, max: 9});\n } else {\n str += string.charAt(i);\n }\n }\n return str;\n };\n\n /**\n * parses string for symbols (numbers or letters) and replaces them appropriately (# will be replaced with number,\n * ? with letter and * will be replaced with number or letter)\n *\n * @method faker.helpers.replaceSymbols\n * @param {string} string\n */\n self.replaceSymbols = function (string) {\n string = string || \"\";\n var alpha = ['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z']\n var str = '';\n\n for (var i = 0; i < string.length; i++) {\n if (string.charAt(i) == \"#\") {\n str += faker.random.number(9);\n } else if (string.charAt(i) == \"?\") {\n str += faker.random.arrayElement(alpha);\n } else if (string.charAt(i) == \"*\") {\n str += faker.random.boolean() ? faker.random.arrayElement(alpha) : faker.random.number(9);\n } else {\n str += string.charAt(i);\n }\n }\n return str;\n };\n\n /**\n * replace symbols in a credit card schems including Luhn checksum\n *\n * @method faker.helpers.replaceCreditCardSymbols\n * @param {string} string\n * @param {string} symbol\n */\n\n self.replaceCreditCardSymbols = function(string, symbol) {\n\n // default values required for calling method without arguments\n string = string || \"6453-####-####-####-###L\";\n symbol = symbol || \"#\";\n\n // Function calculating the Luhn checksum of a number string\n var getCheckBit = function(number) {\n number.reverse();\n number = number.map(function(num, index){\n if (index%2 === 0) {\n num *= 2;\n if(num>9) {\n num -= 9;\n }\n }\n return num;\n });\n var sum = number.reduce(function(prev,curr){return prev + curr;});\n return sum % 10;\n };\n\n string = faker.helpers.regexpStyleStringParse(string); // replace [4-9] with a random number in range etc...\n string = faker.helpers.replaceSymbolWithNumber(string, symbol); // replace ### with random numbers\n\n var numberList = string.replace(/\\D/g,\"\").split(\"\").map(function(num){return parseInt(num);});\n var checkNum = getCheckBit(numberList);\n return string.replace(\"L\",checkNum);\n };\n\n /** string repeat helper, alternative to String.prototype.repeat.... See PR #382\n *\n * @method faker.helpers.repeatString\n * @param {string} string\n * @param {number} num\n */\n self.repeatString = function(string, num) {\n if(typeof num ===\"undefined\") {\n num = 0;\n }\n var text = \"\";\n for(var i = 0; i < num; i++){\n text += string.toString();\n }\n return text;\n };\n\n /**\n * parse string patterns in a similar way to RegExp\n *\n * e.g. \"#{3}test[1-5]\" -> \"###test4\"\n *\n * @method faker.helpers.regexpStyleStringParse\n * @param {string} string\n */\n self.regexpStyleStringParse = function(string){\n string = string || \"\";\n // Deal with range repeat `{min,max}`\n var RANGE_REP_REG = /(.)\\{(\\d+)\\,(\\d+)\\}/;\n var REP_REG = /(.)\\{(\\d+)\\}/;\n var RANGE_REG = /\\[(\\d+)\\-(\\d+)\\]/;\n var min, max, tmp, repetitions;\n var token = string.match(RANGE_REP_REG);\n while(token !== null){\n min = parseInt(token[2]);\n max = parseInt(token[3]);\n // switch min and max\n if(min>max) {\n tmp = max;\n max = min;\n min = tmp;\n }\n repetitions = faker.random.number({min:min,max:max});\n string = string.slice(0,token.index) + faker.helpers.repeatString(token[1], repetitions) + string.slice(token.index+token[0].length);\n token = string.match(RANGE_REP_REG);\n }\n // Deal with repeat `{num}`\n token = string.match(REP_REG);\n while(token !== null){\n repetitions = parseInt(token[2]);\n string = string.slice(0,token.index)+ faker.helpers.repeatString(token[1], repetitions) + string.slice(token.index+token[0].length);\n token = string.match(REP_REG);\n }\n // Deal with range `[min-max]` (only works with numbers for now)\n //TODO: implement for letters e.g. [0-9a-zA-Z] etc.\n\n token = string.match(RANGE_REG);\n while(token !== null){\n min = parseInt(token[1]); // This time we are not capturing the char before `[]`\n max = parseInt(token[2]);\n // switch min and max\n if(min>max) {\n tmp = max;\n max = min;\n min = tmp;\n }\n string = string.slice(0,token.index) +\n faker.random.number({min:min, max:max}).toString() +\n string.slice(token.index+token[0].length);\n token = string.match(RANGE_REG);\n }\n return string;\n };\n\n /**\n * takes an array and randomizes it in place then returns it\n * \n * uses the modern version of the Fisher–Yates algorithm\n *\n * @method faker.helpers.shuffle\n * @param {array} o\n */\n self.shuffle = function (o) {\n if (typeof o === 'undefined' || o.length === 0) {\n return o || [];\n }\n o = o || [\"a\", \"b\", \"c\"];\n for (var x, j, i = o.length - 1; i > 0; --i) {\n j = faker.random.number(i);\n x = o[i];\n o[i] = o[j];\n o[j] = x;\n }\n return o;\n };\n\n /**\n * mustache\n *\n * @method faker.helpers.mustache\n * @param {string} str\n * @param {object} data\n */\n self.mustache = function (str, data) {\n if (typeof str === 'undefined') {\n return '';\n }\n for(var p in data) {\n var re = new RegExp('{{' + p + '}}', 'g')\n str = str.replace(re, data[p]);\n }\n return str;\n };\n\n /**\n * createCard\n *\n * @method faker.helpers.createCard\n */\n self.createCard = function () {\n return {\n \"name\": faker.name.findName(),\n \"username\": faker.internet.userName(),\n \"email\": faker.internet.email(),\n \"address\": {\n \"streetA\": faker.address.streetName(),\n \"streetB\": faker.address.streetAddress(),\n \"streetC\": faker.address.streetAddress(true),\n \"streetD\": faker.address.secondaryAddress(),\n \"city\": faker.address.city(),\n \"state\": faker.address.state(),\n \"country\": faker.address.country(),\n \"zipcode\": faker.address.zipCode(),\n \"geo\": {\n \"lat\": faker.address.latitude(),\n \"lng\": faker.address.longitude()\n }\n },\n \"phone\": faker.phone.phoneNumber(),\n \"website\": faker.internet.domainName(),\n \"company\": {\n \"name\": faker.company.companyName(),\n \"catchPhrase\": faker.company.catchPhrase(),\n \"bs\": faker.company.bs()\n },\n \"posts\": [\n {\n \"words\": faker.lorem.words(),\n \"sentence\": faker.lorem.sentence(),\n \"sentences\": faker.lorem.sentences(),\n \"paragraph\": faker.lorem.paragraph()\n },\n {\n \"words\": faker.lorem.words(),\n \"sentence\": faker.lorem.sentence(),\n \"sentences\": faker.lorem.sentences(),\n \"paragraph\": faker.lorem.paragraph()\n },\n {\n \"words\": faker.lorem.words(),\n \"sentence\": faker.lorem.sentence(),\n \"sentences\": faker.lorem.sentences(),\n \"paragraph\": faker.lorem.paragraph()\n }\n ],\n \"accountHistory\": [faker.helpers.createTransaction(), faker.helpers.createTransaction(), faker.helpers.createTransaction()]\n };\n };\n\n /**\n * contextualCard\n *\n * @method faker.helpers.contextualCard\n */\n self.contextualCard = function () {\n var name = faker.name.firstName(),\n userName = faker.internet.userName(name);\n return {\n \"name\": name,\n \"username\": userName,\n \"avatar\": faker.internet.avatar(),\n \"email\": faker.internet.email(userName),\n \"dob\": faker.date.past(50, new Date(\"Sat Sep 20 1992 21:35:02 GMT+0200 (CEST)\")),\n \"phone\": faker.phone.phoneNumber(),\n \"address\": {\n \"street\": faker.address.streetName(true),\n \"suite\": faker.address.secondaryAddress(),\n \"city\": faker.address.city(),\n \"zipcode\": faker.address.zipCode(),\n \"geo\": {\n \"lat\": faker.address.latitude(),\n \"lng\": faker.address.longitude()\n }\n },\n \"website\": faker.internet.domainName(),\n \"company\": {\n \"name\": faker.company.companyName(),\n \"catchPhrase\": faker.company.catchPhrase(),\n \"bs\": faker.company.bs()\n }\n };\n };\n\n\n /**\n * userCard\n *\n * @method faker.helpers.userCard\n */\n self.userCard = function () {\n return {\n \"name\": faker.name.findName(),\n \"username\": faker.internet.userName(),\n \"email\": faker.internet.email(),\n \"address\": {\n \"street\": faker.address.streetName(true),\n \"suite\": faker.address.secondaryAddress(),\n \"city\": faker.address.city(),\n \"zipcode\": faker.address.zipCode(),\n \"geo\": {\n \"lat\": faker.address.latitude(),\n \"lng\": faker.address.longitude()\n }\n },\n \"phone\": faker.phone.phoneNumber(),\n \"website\": faker.internet.domainName(),\n \"company\": {\n \"name\": faker.company.companyName(),\n \"catchPhrase\": faker.company.catchPhrase(),\n \"bs\": faker.company.bs()\n }\n };\n };\n\n /**\n * createTransaction\n *\n * @method faker.helpers.createTransaction\n */\n self.createTransaction = function(){\n return {\n \"amount\" : faker.finance.amount(),\n \"date\" : new Date(2012, 1, 2), //TODO: add a ranged date method\n \"business\": faker.company.companyName(),\n \"name\": [faker.finance.accountName(), faker.finance.mask()].join(' '),\n \"type\" : self.randomize(faker.definitions.finance.transaction_type),\n \"account\" : faker.finance.account()\n };\n };\n\n return self;\n\n};\n\n\n/*\nString.prototype.capitalize = function () { //v1.0\n return this.replace(/\\w+/g, function (a) {\n return a.charAt(0).toUpperCase() + a.substr(1).toLowerCase();\n });\n};\n*/\n\nmodule['exports'] = Helpers;\n","/**\n *\n * @namespace faker.name\n */\nfunction Name (faker) {\n\n /**\n * firstName\n *\n * @method firstName\n * @param {mixed} gender\n * @memberof faker.name\n */\n this.firstName = function (gender) {\n if (typeof faker.definitions.name.male_first_name !== \"undefined\" && typeof faker.definitions.name.female_first_name !== \"undefined\") {\n // some locale datasets ( like ru ) have first_name split by gender. since the name.first_name field does not exist in these datasets,\n // we must randomly pick a name from either gender array so faker.name.firstName will return the correct locale data ( and not fallback )\n\n if(typeof gender === 'string') {\n if(gender.toLowerCase() === 'male') {\n gender = 0;\n }\n else if(gender.toLowerCase() === 'female') {\n gender = 1;\n }\n }\n\n if (typeof gender !== 'number') {\n if(typeof faker.definitions.name.first_name === \"undefined\") {\n gender = faker.random.number(1);\n }\n else {\n //Fall back to non-gendered names if they exist and gender wasn't specified\n return faker.random.arrayElement(faker.definitions.name.first_name);\n }\n }\n if (gender === 0) {\n return faker.random.arrayElement(faker.definitions.name.male_first_name)\n } else {\n return faker.random.arrayElement(faker.definitions.name.female_first_name);\n }\n }\n return faker.random.arrayElement(faker.definitions.name.first_name);\n };\n\n /**\n * lastName\n *\n * @method lastName\n * @param {mixed} gender\n * @memberof faker.name\n */\n this.lastName = function (gender) {\n if (typeof faker.definitions.name.male_last_name !== \"undefined\" && typeof faker.definitions.name.female_last_name !== \"undefined\") {\n // some locale datasets ( like ru ) have last_name split by gender. i have no idea how last names can have genders, but also i do not speak russian\n // see above comment of firstName method\n if (typeof gender !== 'number') {\n gender = faker.random.number(1);\n }\n if (gender === 0) {\n return faker.random.arrayElement(faker.locales[faker.locale].name.male_last_name);\n } else {\n return faker.random.arrayElement(faker.locales[faker.locale].name.female_last_name);\n }\n }\n return faker.random.arrayElement(faker.definitions.name.last_name);\n };\n\n /**\n * middleName\n *\n * @method middleName\n * @param {mixed} gender\n * @memberof faker.name\n */\n this.middleName = function (gender) {\n if (typeof faker.definitions.name.male_middle_name !== \"undefined\" && typeof faker.definitions.name.female_middle_name !== \"undefined\") {\n if (typeof gender !== 'number') {\n gender = faker.random.number(1);\n }\n if (gender === 0) {\n return faker.random.arrayElement(faker.locales[faker.locale].name.male_middle_name);\n } else {\n return faker.random.arrayElement(faker.locales[faker.locale].name.female_middle_name);\n }\n }\n return faker.random.arrayElement(faker.definitions.name.middle_name);\n };\n\n /**\n * findName\n *\n * @method findName\n * @param {string} firstName\n * @param {string} lastName\n * @param {mixed} gender\n * @memberof faker.name\n */\n this.findName = function (firstName, lastName, gender) {\n var r = faker.random.number(8);\n var prefix, suffix;\n // in particular locales first and last names split by gender,\n // thus we keep consistency by passing 0 as male and 1 as female\n if (typeof gender !== 'number') {\n gender = faker.random.number(1);\n }\n firstName = firstName || faker.name.firstName(gender);\n lastName = lastName || faker.name.lastName(gender);\n switch (r) {\n case 0:\n prefix = faker.name.prefix(gender);\n if (prefix) {\n return prefix + \" \" + firstName + \" \" + lastName;\n }\n case 1:\n suffix = faker.name.suffix(gender);\n if (suffix) {\n return firstName + \" \" + lastName + \" \" + suffix;\n }\n }\n\n return firstName + \" \" + lastName;\n };\n\n /**\n * jobTitle\n *\n * @method jobTitle\n * @memberof faker.name\n */\n this.jobTitle = function () {\n return faker.name.jobDescriptor() + \" \" +\n faker.name.jobArea() + \" \" +\n faker.name.jobType();\n };\n\n /**\n * gender\n *\n * @method gender\n * @memberof faker.name\n */\n this.gender = function () {\n return faker.random.arrayElement(faker.definitions.name.gender);\n }\n \n /**\n * prefix\n *\n * @method prefix\n * @param {mixed} gender\n * @memberof faker.name\n */\n this.prefix = function (gender) {\n if (typeof faker.definitions.name.male_prefix !== \"undefined\" && typeof faker.definitions.name.female_prefix !== \"undefined\") {\n if (typeof gender !== 'number') {\n gender = faker.random.number(1);\n }\n if (gender === 0) {\n return faker.random.arrayElement(faker.locales[faker.locale].name.male_prefix);\n } else {\n return faker.random.arrayElement(faker.locales[faker.locale].name.female_prefix);\n }\n }\n return faker.random.arrayElement(faker.definitions.name.prefix);\n };\n\n /**\n * suffix\n *\n * @method suffix\n * @memberof faker.name\n */\n this.suffix = function () {\n return faker.random.arrayElement(faker.definitions.name.suffix);\n };\n\n /**\n * title\n *\n * @method title\n * @memberof faker.name\n */\n this.title = function() {\n var descriptor = faker.random.arrayElement(faker.definitions.name.title.descriptor),\n level = faker.random.arrayElement(faker.definitions.name.title.level),\n job = faker.random.arrayElement(faker.definitions.name.title.job);\n\n return descriptor + \" \" + level + \" \" + job;\n };\n\n /**\n * jobDescriptor\n *\n * @method jobDescriptor\n * @memberof faker.name\n */\n this.jobDescriptor = function () {\n return faker.random.arrayElement(faker.definitions.name.title.descriptor);\n };\n\n /**\n * jobArea\n *\n * @method jobArea\n * @memberof faker.name\n */\n this.jobArea = function () {\n return faker.random.arrayElement(faker.definitions.name.title.level);\n };\n\n /**\n * jobType\n *\n * @method jobType\n * @memberof faker.name\n */\n this.jobType = function () {\n return faker.random.arrayElement(faker.definitions.name.title.job);\n };\n\n}\n\nmodule['exports'] = Name;\n","/**\n *\n * @namespace faker.address\n */\nfunction Address (faker) {\n var f = faker.fake,\n Helpers = faker.helpers;\n\n /**\n * Generates random zipcode from format. If format is not specified, the\n * locale's zip format is used.\n *\n * @method faker.address.zipCode\n * @param {String} format\n */\n this.zipCode = function(format) {\n // if zip format is not specified, use the zip format defined for the locale\n if (typeof format === 'undefined') {\n var localeFormat = faker.definitions.address.postcode;\n if (typeof localeFormat === 'string') {\n format = localeFormat;\n } else {\n format = faker.random.arrayElement(localeFormat);\n }\n }\n return Helpers.replaceSymbols(format);\n }\n\n /**\n * Generates random zipcode from state abbreviation. If state abbreviation is\n * not specified, a random zip code is generated according to the locale's zip format.\n * Only works for locales with postcode_by_state definition. If a locale does not\n * have a postcode_by_state definition, a random zip code is generated according\n * to the locale's zip format.\n *\n * @method faker.address.zipCodeByState\n * @param {String} state\n */\n this.zipCodeByState = function (state) {\n var zipRange = faker.definitions.address.postcode_by_state[state];\n if (zipRange) {\n return faker.random.number(zipRange);\n }\n return faker.address.zipCode();\n }\n\n /**\n * Generates a random localized city name. The format string can contain any\n * method provided by faker wrapped in `{{}}`, e.g. `{{name.firstName}}` in\n * order to build the city name.\n *\n * If no format string is provided one of the following is randomly used:\n *\n * * `{{address.cityPrefix}} {{name.firstName}}{{address.citySuffix}}`\n * * `{{address.cityPrefix}} {{name.firstName}}`\n * * `{{name.firstName}}{{address.citySuffix}}`\n * * `{{name.lastName}}{{address.citySuffix}}`\n *\n * @method faker.address.city\n * @param {String} format\n */\n this.city = function (format) {\n var formats = [\n '{{address.cityPrefix}} {{name.firstName}}{{address.citySuffix}}',\n '{{address.cityPrefix}} {{name.firstName}}',\n '{{name.firstName}}{{address.citySuffix}}',\n '{{name.lastName}}{{address.citySuffix}}'\n ];\n\n if (typeof format !== \"number\") {\n format = faker.random.number(formats.length - 1);\n }\n\n return f(formats[format]);\n\n }\n\n /**\n * Return a random localized city prefix\n * @method faker.address.cityPrefix\n */\n this.cityPrefix = function () {\n return faker.random.arrayElement(faker.definitions.address.city_prefix);\n }\n\n /**\n * Return a random localized city suffix\n *\n * @method faker.address.citySuffix\n */\n this.citySuffix = function () {\n return faker.random.arrayElement(faker.definitions.address.city_suffix);\n }\n\n /**\n * Returns a random localized street name\n *\n * @method faker.address.streetName\n */\n this.streetName = function () {\n var result;\n var suffix = faker.address.streetSuffix();\n if (suffix !== \"\") {\n suffix = \" \" + suffix\n }\n\n switch (faker.random.number(1)) {\n case 0:\n result = faker.name.lastName() + suffix;\n break;\n case 1:\n result = faker.name.firstName() + suffix;\n break;\n }\n return result;\n }\n\n //\n // TODO: change all these methods that accept a boolean to instead accept an options hash.\n //\n /**\n * Returns a random localized street address\n *\n * @method faker.address.streetAddress\n * @param {Boolean} useFullAddress\n */\n this.streetAddress = function (useFullAddress) {\n if (useFullAddress === undefined) { useFullAddress = false; }\n var address = \"\";\n switch (faker.random.number(2)) {\n case 0:\n address = Helpers.replaceSymbolWithNumber(\"#####\") + \" \" + faker.address.streetName();\n break;\n case 1:\n address = Helpers.replaceSymbolWithNumber(\"####\") + \" \" + faker.address.streetName();\n break;\n case 2:\n address = Helpers.replaceSymbolWithNumber(\"###\") + \" \" + faker.address.streetName();\n break;\n }\n return useFullAddress ? (address + \" \" + faker.address.secondaryAddress()) : address;\n }\n\n /**\n * streetSuffix\n *\n * @method faker.address.streetSuffix\n */\n this.streetSuffix = function () {\n return faker.random.arrayElement(faker.definitions.address.street_suffix);\n }\n\n /**\n * streetPrefix\n *\n * @method faker.address.streetPrefix\n */\n this.streetPrefix = function () {\n return faker.random.arrayElement(faker.definitions.address.street_prefix);\n }\n\n /**\n * secondaryAddress\n *\n * @method faker.address.secondaryAddress\n */\n this.secondaryAddress = function () {\n return Helpers.replaceSymbolWithNumber(faker.random.arrayElement(\n [\n 'Apt. ###',\n 'Suite ###'\n ]\n ));\n }\n\n /**\n * county\n *\n * @method faker.address.county\n */\n this.county = function () {\n return faker.random.arrayElement(faker.definitions.address.county);\n }\n\n /**\n * country\n *\n * @method faker.address.country\n */\n this.country = function () {\n return faker.random.arrayElement(faker.definitions.address.country);\n }\n\n /**\n * countryCode\n *\n * @method faker.address.countryCode\n * @param {string} alphaCode default alpha-2\n */\n this.countryCode = function (alphaCode) {\n \n if (typeof alphaCode === 'undefined' || alphaCode === 'alpha-2') {\n return faker.random.arrayElement(faker.definitions.address.country_code);\n }\n\n if (alphaCode === 'alpha-3') {\n return faker.random.arrayElement(faker.definitions.address.country_code_alpha_3);\n }\n \n return faker.random.arrayElement(faker.definitions.address.country_code);\n\n }\n\n /**\n * state\n *\n * @method faker.address.state\n * @param {Boolean} useAbbr\n */\n this.state = function (useAbbr) {\n return faker.random.arrayElement(faker.definitions.address.state);\n }\n\n /**\n * stateAbbr\n *\n * @method faker.address.stateAbbr\n */\n this.stateAbbr = function () {\n return faker.random.arrayElement(faker.definitions.address.state_abbr);\n }\n\n /**\n * latitude\n *\n * @method faker.address.latitude\n * @param {Double} max default is 90\n * @param {Double} min default is -90\n * @param {number} precision default is 4\n */\n this.latitude = function (max, min, precision) {\n max = max || 90\n min = min || -90\n precision = precision || 4\n\n return faker.random.number({\n max: max,\n min: min,\n precision: parseFloat((0.0).toPrecision(precision) + '1')\n }).toFixed(precision);\n }\n\n /**\n * longitude\n *\n * @method faker.address.longitude\n * @param {Double} max default is 180\n * @param {Double} min default is -180\n * @param {number} precision default is 4\n */\n this.longitude = function (max, min, precision) {\n max = max || 180\n min = min || -180\n precision = precision || 4\n\n return faker.random.number({\n max: max,\n min: min,\n precision: parseFloat((0.0).toPrecision(precision) + '1')\n }).toFixed(precision);\n }\n\n /**\n * direction\n *\n * @method faker.address.direction\n * @param {Boolean} useAbbr return direction abbreviation. defaults to false\n */\n this.direction = function (useAbbr) {\n if (typeof useAbbr === 'undefined' || useAbbr === false) {\n return faker.random.arrayElement(faker.definitions.address.direction);\n }\n return faker.random.arrayElement(faker.definitions.address.direction_abbr);\n }\n\n this.direction.schema = {\n \"description\": \"Generates a direction. Use optional useAbbr bool to return abbreviation\",\n \"sampleResults\": [\"Northwest\", \"South\", \"SW\", \"E\"]\n };\n\n /**\n * cardinal direction\n *\n * @method faker.address.cardinalDirection\n * @param {Boolean} useAbbr return direction abbreviation. defaults to false\n */\n this.cardinalDirection = function (useAbbr) {\n if (typeof useAbbr === 'undefined' || useAbbr === false) {\n return (\n faker.random.arrayElement(faker.definitions.address.direction.slice(0, 4))\n );\n }\n return (\n faker.random.arrayElement(faker.definitions.address.direction_abbr.slice(0, 4))\n );\n }\n\n this.cardinalDirection.schema = {\n \"description\": \"Generates a cardinal direction. Use optional useAbbr boolean to return abbreviation\",\n \"sampleResults\": [\"North\", \"South\", \"E\", \"W\"]\n };\n\n /**\n * ordinal direction\n *\n * @method faker.address.ordinalDirection\n * @param {Boolean} useAbbr return direction abbreviation. defaults to false\n */\n this.ordinalDirection = function (useAbbr) {\n if (typeof useAbbr === 'undefined' || useAbbr === false) {\n return (\n faker.random.arrayElement(faker.definitions.address.direction.slice(4, 8))\n );\n }\n return (\n faker.random.arrayElement(faker.definitions.address.direction_abbr.slice(4, 8))\n );\n }\n\n this.ordinalDirection.schema = {\n \"description\": \"Generates an ordinal direction. Use optional useAbbr boolean to return abbreviation\",\n \"sampleResults\": [\"Northwest\", \"Southeast\", \"SW\", \"NE\"]\n };\n\n this.nearbyGPSCoordinate = function(coordinate, radius, isMetric) {\n function randomFloat(min, max) {\n return Math.random() * (max-min) + min;\n }\n function degreesToRadians(degrees) {\n return degrees * (Math.PI/180.0);\n }\n function radiansToDegrees(radians) {\n return radians * (180.0/Math.PI);\n }\n function kilometersToMiles(miles) {\n return miles * 0.621371;\n }\n function coordinateWithOffset(coordinate, bearing, distance, isMetric) {\n var R = 6378.137; // Radius of the Earth (http://nssdc.gsfc.nasa.gov/planetary/factsheet/earthfact.html)\n var d = isMetric ? distance : kilometersToMiles(distance); // Distance in km\n\n var lat1 = degreesToRadians(coordinate[0]); //Current lat point converted to radians\n var lon1 = degreesToRadians(coordinate[1]); //Current long point converted to radians\n\n var lat2 = Math.asin(Math.sin(lat1) * Math.cos(d/R) +\n Math.cos(lat1) * Math.sin(d/R) * Math.cos(bearing));\n\n var lon2 = lon1 + Math.atan2(\n Math.sin(bearing) * Math.sin(d/R) * Math.cos(lat1),\n Math.cos(d/R) - Math.sin(lat1) * Math.sin(lat2));\n\n // Keep longitude in range [-180, 180]\n if (lon2 > degreesToRadians(180)) {\n lon2 = lon2 - degreesToRadians(360);\n } else if (lon2 < degreesToRadians(-180)) {\n lon2 = lon2 + degreesToRadians(360);\n }\n\n return [radiansToDegrees(lat2), radiansToDegrees(lon2)];\n }\n\n // If there is no coordinate, the best we can do is return a random GPS coordinate.\n if (coordinate === undefined) {\n return [faker.address.latitude(), faker.address.longitude()]\n }\n radius = radius || 10.0;\n isMetric = isMetric || false;\n\n // TODO: implement either a gaussian/uniform distribution of points in cicular region.\n // Possibly include param to function that allows user to choose between distributions.\n\n // This approach will likely result in a higher density of points near the center.\n var randomCoord = coordinateWithOffset(coordinate, degreesToRadians(Math.random() * 360.0), radius, isMetric);\n return [randomCoord[0].toFixed(4), randomCoord[1].toFixed(4)];\n }\n\n /**\n * Return a random time zone\n * @method faker.address.timeZone\n */\n this.timeZone = function() {\n return faker.random.arrayElement(faker.definitions.address.time_zone);\n }\n\n return this;\n}\n\nmodule.exports = Address;\n","/**\n *\n * @namespace faker.company\n */\nvar Company = function (faker) {\n \n var self = this;\n var f = faker.fake;\n \n /**\n * suffixes\n *\n * @method faker.company.suffixes\n */\n this.suffixes = function () {\n // Don't want the source array exposed to modification, so return a copy\n return faker.definitions.company.suffix.slice(0);\n }\n\n /**\n * companyName\n *\n * @method faker.company.companyName\n * @param {string} format\n */\n this.companyName = function (format) {\n\n var formats = [\n '{{name.lastName}} {{company.companySuffix}}',\n '{{name.lastName}} - {{name.lastName}}',\n '{{name.lastName}}, {{name.lastName}} and {{name.lastName}}'\n ];\n\n if (typeof format !== \"number\") {\n format = faker.random.number(formats.length - 1);\n }\n\n return f(formats[format]);\n }\n\n /**\n * companySuffix\n *\n * @method faker.company.companySuffix\n */\n this.companySuffix = function () {\n return faker.random.arrayElement(faker.company.suffixes());\n }\n\n /**\n * catchPhrase\n *\n * @method faker.company.catchPhrase\n */\n this.catchPhrase = function () {\n return f('{{company.catchPhraseAdjective}} {{company.catchPhraseDescriptor}} {{company.catchPhraseNoun}}')\n }\n\n /**\n * bs\n *\n * @method faker.company.bs\n */\n this.bs = function () {\n return f('{{company.bsBuzz}} {{company.bsAdjective}} {{company.bsNoun}}');\n }\n\n /**\n * catchPhraseAdjective\n *\n * @method faker.company.catchPhraseAdjective\n */\n this.catchPhraseAdjective = function () {\n return faker.random.arrayElement(faker.definitions.company.adjective);\n }\n\n /**\n * catchPhraseDescriptor\n *\n * @method faker.company.catchPhraseDescriptor\n */\n this.catchPhraseDescriptor = function () {\n return faker.random.arrayElement(faker.definitions.company.descriptor);\n }\n\n /**\n * catchPhraseNoun\n *\n * @method faker.company.catchPhraseNoun\n */\n this.catchPhraseNoun = function () {\n return faker.random.arrayElement(faker.definitions.company.noun);\n }\n\n /**\n * bsAdjective\n *\n * @method faker.company.bsAdjective\n */\n this.bsAdjective = function () {\n return faker.random.arrayElement(faker.definitions.company.bs_adjective);\n }\n\n /**\n * bsBuzz\n *\n * @method faker.company.bsBuzz\n */\n this.bsBuzz = function () {\n return faker.random.arrayElement(faker.definitions.company.bs_verb);\n }\n\n /**\n * bsNoun\n *\n * @method faker.company.bsNoun\n */\n this.bsNoun = function () {\n return faker.random.arrayElement(faker.definitions.company.bs_noun);\n }\n \n}\n\nmodule['exports'] = Company;","module[\"exports\"] = {\n alpha: [\n 'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'\n ],\n pattern10: [\n \"01\", \"02\", \"03\", \"04\", \"05\", \"06\", \"07\", \"08\", \"09\"\n ],\n pattern100: [\n \"001\", \"002\", \"003\", \"004\", \"005\", \"006\", \"007\", \"008\", \"009\"\n ],\n toDigitString: function (str) {\n return str.replace(/[A-Z]/gi, function(match) {\n return match.toUpperCase().charCodeAt(0) - 55;\n });\n },\n mod97: function (digitStr) {\n var m = 0;\n for (var i = 0; i < digitStr.length; i++) {\n m = ((m * 10) + (digitStr[i] |0)) % 97;\n }\n return m;\n },\n formats: [\n {\n country: \"AL\",\n total: 28,\n bban: [\n {\n type: \"n\",\n count: 8\n },\n {\n type: \"c\",\n count: 16\n }\n ],\n format: \"ALkk bbbs sssx cccc cccc cccc cccc\"\n },\n {\n country: \"AD\",\n total: 24,\n bban: [\n {\n type: \"n\",\n count: 8\n },\n {\n type: \"c\",\n count: 12\n }\n ],\n format: \"ADkk bbbb ssss cccc cccc cccc\"\n },\n {\n country: \"AT\",\n total: 20,\n bban: [\n {\n type: \"n\",\n count: 5\n },\n {\n type: \"n\",\n count: 11\n }\n ],\n format: \"ATkk bbbb bccc cccc cccc\"\n },\n {\n country: \"AZ\",\n total: 28,\n bban: [\n {\n type: \"c\",\n count: 4\n },\n {\n type: \"n\",\n count: 20\n }\n ],\n format: \"AZkk bbbb cccc cccc cccc cccc cccc\"\n },\n {\n country: \"BH\",\n total: 22,\n bban: [\n {\n type: \"a\",\n count: 4\n },\n {\n type: \"c\",\n count: 14\n }\n ],\n format: \"BHkk bbbb cccc cccc cccc cc\"\n },\n {\n country: \"BE\",\n total: 16,\n bban: [\n {\n type: \"n\",\n count: 3\n },\n {\n type: \"n\",\n count: 9\n }\n ],\n format: \"BEkk bbbc cccc ccxx\"\n },\n {\n country: \"BA\",\n total: 20,\n bban: [\n {\n type: \"n\",\n count: 6\n },\n {\n type: \"n\",\n count: 10\n }\n ],\n format: \"BAkk bbbs sscc cccc ccxx\"\n },\n {\n country: \"BR\",\n total: 29,\n bban: [\n {\n type: \"n\",\n count: 13\n },\n {\n type: \"n\",\n count: 10\n },\n {\n type: \"a\",\n count: 1\n },\n {\n type: \"c\",\n count: 1\n }\n ],\n format: \"BRkk bbbb bbbb ssss sccc cccc ccct n\"\n },\n {\n country: \"BG\",\n total: 22,\n bban: [\n {\n type: \"a\",\n count: 4\n },\n {\n type: \"n\",\n count: 6\n },\n {\n type: \"c\",\n count: 8\n }\n ],\n format: \"BGkk bbbb ssss ddcc cccc cc\"\n },\n {\n country: \"CR\",\n total: 21,\n bban: [\n {\n type: \"n\",\n count: 3\n },\n {\n type: \"n\",\n count: 14\n }\n ],\n format: \"CRkk bbbc cccc cccc cccc c\"\n },\n {\n country: \"HR\",\n total: 21,\n bban: [\n {\n type: \"n\",\n count: 7\n },\n {\n type: \"n\",\n count: 10\n }\n ],\n format: \"HRkk bbbb bbbc cccc cccc c\"\n },\n {\n country: \"CY\",\n total: 28,\n bban: [\n {\n type: \"n\",\n count: 8\n },\n {\n type: \"c\",\n count: 16\n }\n ],\n format: \"CYkk bbbs ssss cccc cccc cccc cccc\"\n },\n {\n country: \"CZ\",\n total: 24,\n bban: [\n {\n type: \"n\",\n count: 10\n },\n {\n type: \"n\",\n count: 10\n }\n ],\n format: \"CZkk bbbb ssss sscc cccc cccc\"\n },\n {\n country: \"DK\",\n total: 18,\n bban: [\n {\n type: \"n\",\n count: 4\n },\n {\n type: \"n\",\n count: 10\n }\n ],\n format: \"DKkk bbbb cccc cccc cc\"\n },\n {\n country: \"DO\",\n total: 28,\n bban: [\n {\n type: \"a\",\n count: 4\n },\n {\n type: \"n\",\n count: 20\n }\n ],\n format: \"DOkk bbbb cccc cccc cccc cccc cccc\"\n },\n {\n country: \"TL\",\n total: 23,\n bban: [\n {\n type: \"n\",\n count: 3\n },\n {\n type: \"n\",\n count: 16\n }\n ],\n format: \"TLkk bbbc cccc cccc cccc cxx\"\n },\n {\n country: \"EE\",\n total: 20,\n bban: [\n {\n type: \"n\",\n count: 4\n },\n {\n type: \"n\",\n count: 12\n }\n ],\n format: \"EEkk bbss cccc cccc cccx\"\n },\n {\n country: \"FO\",\n total: 18,\n bban: [\n {\n type: \"n\",\n count: 4\n },\n {\n type: \"n\",\n count: 10\n }\n ],\n format: \"FOkk bbbb cccc cccc cx\"\n },\n {\n country: \"FI\",\n total: 18,\n bban: [\n {\n type: \"n\",\n count: 6\n },\n {\n type: \"n\",\n count: 8\n }\n ],\n format: \"FIkk bbbb bbcc cccc cx\"\n },\n {\n country: \"FR\",\n total: 27,\n bban: [\n {\n type: \"n\",\n count: 10\n },\n {\n type: \"c\",\n count: 11\n },\n {\n type: \"n\",\n count: 2\n }\n ],\n format: \"FRkk bbbb bggg ggcc cccc cccc cxx\"\n },\n {\n country: \"GE\",\n total: 22,\n bban: [\n {\n type: \"c\",\n count: 2\n },\n {\n type: \"n\",\n count: 16\n }\n ],\n format: \"GEkk bbcc cccc cccc cccc cc\"\n },\n {\n country: \"DE\",\n total: 22,\n bban: [\n {\n type: \"n\",\n count: 8\n },\n {\n type: \"n\",\n count: 10\n }\n ],\n format: \"DEkk bbbb bbbb cccc cccc cc\"\n },\n {\n country: \"GI\",\n total: 23,\n bban: [\n {\n type: \"a\",\n count: 4\n },\n {\n type: \"c\",\n count: 15\n }\n ],\n format: \"GIkk bbbb cccc cccc cccc ccc\"\n },\n {\n country: \"GR\",\n total: 27,\n bban: [\n {\n type: \"n\",\n count: 7\n },\n {\n type: \"c\",\n count: 16\n }\n ],\n format: \"GRkk bbbs sssc cccc cccc cccc ccc\"\n },\n {\n country: \"GL\",\n total: 18,\n bban: [\n {\n type: \"n\",\n count: 4\n },\n {\n type: \"n\",\n count: 10\n }\n ],\n format: \"GLkk bbbb cccc cccc cc\"\n },\n {\n country: \"GT\",\n total: 28,\n bban: [\n {\n type: \"c\",\n count: 4\n },\n {\n type: \"c\",\n count: 4\n },\n {\n type: \"c\",\n count: 16\n }\n ],\n format: \"GTkk bbbb mmtt cccc cccc cccc cccc\"\n },\n {\n country: \"HU\",\n total: 28,\n bban: [\n {\n type: \"n\",\n count: 8\n },\n {\n type: \"n\",\n count: 16\n }\n ],\n format: \"HUkk bbbs sssk cccc cccc cccc cccx\"\n },\n {\n country: \"IS\",\n total: 26,\n bban: [\n {\n type: \"n\",\n count: 6\n },\n {\n type: \"n\",\n count: 16\n }\n ],\n format: \"ISkk bbbb sscc cccc iiii iiii ii\"\n },\n {\n country: \"IE\",\n total: 22,\n bban: [\n {\n type: \"c\",\n count: 4\n },\n {\n type: \"n\",\n count: 6\n },\n {\n type: \"n\",\n count: 8\n }\n ],\n format: \"IEkk aaaa bbbb bbcc cccc cc\"\n },\n {\n country: \"IL\",\n total: 23,\n bban: [\n {\n type: \"n\",\n count: 6\n },\n {\n type: \"n\",\n count: 13\n }\n ],\n format: \"ILkk bbbn nncc cccc cccc ccc\"\n },\n {\n country: \"IT\",\n total: 27,\n bban: [\n {\n type: \"a\",\n count: 1\n },\n {\n type: \"n\",\n count: 10\n },\n {\n type: \"c\",\n count: 12\n }\n ],\n format: \"ITkk xaaa aabb bbbc cccc cccc ccc\"\n },\n {\n country: \"JO\",\n total: 30,\n bban: [\n {\n type: \"a\",\n count: 4\n },\n {\n type: \"n\",\n count: 4\n },\n {\n type: \"n\",\n count: 18\n }\n ],\n format: \"JOkk bbbb nnnn cccc cccc cccc cccc cc\"\n },\n {\n country: \"KZ\",\n total: 20,\n bban: [\n {\n type: \"n\",\n count: 3\n },\n {\n type: \"c\",\n count: 13\n }\n ],\n format: \"KZkk bbbc cccc cccc cccc\"\n },\n {\n country: \"XK\",\n total: 20,\n bban: [\n {\n type: \"n\",\n count: 4\n },\n {\n type: \"n\",\n count: 12\n }\n ],\n format: \"XKkk bbbb cccc cccc cccc\"\n },\n {\n country: \"KW\",\n total: 30,\n bban: [\n {\n type: \"a\",\n count: 4\n },\n {\n type: \"c\",\n count: 22\n }\n ],\n format: \"KWkk bbbb cccc cccc cccc cccc cccc cc\"\n },\n {\n country: \"LV\",\n total: 21,\n bban: [\n {\n type: \"a\",\n count: 4\n },\n {\n type: \"c\",\n count: 13\n }\n ],\n format: \"LVkk bbbb cccc cccc cccc c\"\n },\n {\n country: \"LB\",\n total: 28,\n bban: [\n {\n type: \"n\",\n count: 4\n },\n {\n type: \"c\",\n count: 20\n }\n ],\n format: \"LBkk bbbb cccc cccc cccc cccc cccc\"\n },\n {\n country: \"LI\",\n total: 21,\n bban: [\n {\n type: \"n\",\n count: 5\n },\n {\n type: \"c\",\n count: 12\n }\n ],\n format: \"LIkk bbbb bccc cccc cccc c\"\n },\n {\n country: \"LT\",\n total: 20,\n bban: [\n {\n type: \"n\",\n count: 5\n },\n {\n type: \"n\",\n count: 11\n }\n ],\n format: \"LTkk bbbb bccc cccc cccc\"\n },\n {\n country: \"LU\",\n total: 20,\n bban: [\n {\n type: \"n\",\n count: 3\n },\n {\n type: \"c\",\n count: 13\n }\n ],\n format: \"LUkk bbbc cccc cccc cccc\"\n },\n {\n country: \"MK\",\n total: 19,\n bban: [\n {\n type: \"n\",\n count: 3\n },\n {\n type: \"c\",\n count: 10\n },\n {\n type: \"n\",\n count: 2\n }\n ],\n format: \"MKkk bbbc cccc cccc cxx\"\n },\n {\n country: \"MT\",\n total: 31,\n bban: [\n {\n type: \"a\",\n count: 4\n },\n {\n type: \"n\",\n count: 5\n },\n {\n type: \"c\",\n count: 18\n }\n ],\n format: \"MTkk bbbb ssss sccc cccc cccc cccc ccc\"\n },\n {\n country: \"MR\",\n total: 27,\n bban: [\n {\n type: \"n\",\n count: 10\n },\n {\n type: \"n\",\n count: 13\n }\n ],\n format: \"MRkk bbbb bsss sscc cccc cccc cxx\"\n },\n {\n country: \"MU\",\n total: 30,\n bban: [\n {\n type: \"a\",\n count: 4\n },\n {\n type: \"n\",\n count: 4\n },\n {\n type: \"n\",\n count: 15\n },\n {\n type: \"a\",\n count: 3\n }\n ],\n format: \"MUkk bbbb bbss cccc cccc cccc 000d dd\"\n },\n {\n country: \"MC\",\n total: 27,\n bban: [\n {\n type: \"n\",\n count: 10\n },\n {\n type: \"c\",\n count: 11\n },\n {\n type: \"n\",\n count: 2\n }\n ],\n format: \"MCkk bbbb bsss sscc cccc cccc cxx\"\n },\n {\n country: \"MD\",\n total: 24,\n bban: [\n {\n type: \"c\",\n count: 2\n },\n {\n type: \"c\",\n count: 18\n }\n ],\n format: \"MDkk bbcc cccc cccc cccc cccc\"\n },\n {\n country: \"ME\",\n total: 22,\n bban: [\n {\n type: \"n\",\n count: 3\n },\n {\n type: \"n\",\n count: 15\n }\n ],\n format: \"MEkk bbbc cccc cccc cccc xx\"\n },\n {\n country: \"NL\",\n total: 18,\n bban: [\n {\n type: \"a\",\n count: 4\n },\n {\n type: \"n\",\n count: 10\n }\n ],\n format: \"NLkk bbbb cccc cccc cc\"\n },\n {\n country: \"NO\",\n total: 15,\n bban: [\n {\n type: \"n\",\n count: 4\n },\n {\n type: \"n\",\n count: 7\n }\n ],\n format: \"NOkk bbbb cccc ccx\"\n },\n {\n country: \"PK\",\n total: 24,\n bban: [\n {\n type: \"c\",\n count: 4\n },\n {\n type: \"n\",\n count: 16\n }\n ],\n format: \"PKkk bbbb cccc cccc cccc cccc\"\n },\n {\n country: \"PS\",\n total: 29,\n bban: [\n {\n type: \"c\",\n count: 4\n },\n {\n type: \"n\",\n count: 9\n },\n {\n type: \"n\",\n count: 12\n }\n ],\n format: \"PSkk bbbb xxxx xxxx xccc cccc cccc c\"\n },\n {\n country: \"PL\",\n total: 28,\n bban: [\n {\n type: \"n\",\n count: 8\n },\n {\n type: \"n\",\n count: 16\n }\n ],\n format: \"PLkk bbbs sssx cccc cccc cccc cccc\"\n },\n {\n country: \"PT\",\n total: 25,\n bban: [\n {\n type: \"n\",\n count: 8\n },\n {\n type: \"n\",\n count: 13\n }\n ],\n format: \"PTkk bbbb ssss cccc cccc cccx x\"\n },\n {\n country: \"QA\",\n total: 29,\n bban: [\n {\n type: \"a\",\n count: 4\n },\n {\n type: \"c\",\n count: 21\n }\n ],\n format: \"QAkk bbbb cccc cccc cccc cccc cccc c\"\n },\n {\n country: \"RO\",\n total: 24,\n bban: [\n {\n type: \"a\",\n count: 4\n },\n {\n type: \"c\",\n count: 16\n }\n ],\n format: \"ROkk bbbb cccc cccc cccc cccc\"\n },\n {\n country: \"SM\",\n total: 27,\n bban: [\n {\n type: \"a\",\n count: 1\n },\n {\n type: \"n\",\n count: 10\n },\n {\n type: \"c\",\n count: 12\n }\n ],\n format: \"SMkk xaaa aabb bbbc cccc cccc ccc\"\n },\n {\n country: \"SA\",\n total: 24,\n bban: [\n {\n type: \"n\",\n count: 2\n },\n {\n type: \"c\",\n count: 18\n }\n ],\n format: \"SAkk bbcc cccc cccc cccc cccc\"\n },\n {\n country: \"RS\",\n total: 22,\n bban: [\n {\n type: \"n\",\n count: 3\n },\n {\n type: \"n\",\n count: 15\n }\n ],\n format: \"RSkk bbbc cccc cccc cccc xx\"\n },\n {\n country: \"SK\",\n total: 24,\n bban: [\n {\n type: \"n\",\n count: 10\n },\n {\n type: \"n\",\n count: 10\n }\n ],\n format: \"SKkk bbbb ssss sscc cccc cccc\"\n },\n {\n country: \"SI\",\n total: 19,\n bban: [\n {\n type: \"n\",\n count: 5\n },\n {\n type: \"n\",\n count: 10\n }\n ],\n format: \"SIkk bbss sccc cccc cxx\"\n },\n {\n country: \"ES\",\n total: 24,\n bban: [\n {\n type: \"n\",\n count: 10\n },\n {\n type: \"n\",\n count: 10\n }\n ],\n format: \"ESkk bbbb gggg xxcc cccc cccc\"\n },\n {\n country: \"SE\",\n total: 24,\n bban: [\n {\n type: \"n\",\n count: 3\n },\n {\n type: \"n\",\n count: 17\n }\n ],\n format: \"SEkk bbbc cccc cccc cccc cccc\"\n },\n {\n country: \"CH\",\n total: 21,\n bban: [\n {\n type: \"n\",\n count: 5\n },\n {\n type: \"c\",\n count: 12\n }\n ],\n format: \"CHkk bbbb bccc cccc cccc c\"\n },\n {\n country: \"TN\",\n total: 24,\n bban: [\n {\n type: \"n\",\n count: 5\n },\n {\n type: \"n\",\n count: 15\n }\n ],\n format: \"TNkk bbss sccc cccc cccc cccc\"\n },\n {\n country: \"TR\",\n total: 26,\n bban: [\n {\n type: \"n\",\n count: 5\n },\n {\n type: \"c\",\n count: 1\n },\n {\n type: \"c\",\n count: 16\n }\n ],\n format: \"TRkk bbbb bxcc cccc cccc cccc cc\"\n },\n {\n country: \"AE\",\n total: 23,\n bban: [\n {\n type: \"n\",\n count: 3\n },\n {\n type: \"n\",\n count: 16\n }\n ],\n format: \"AEkk bbbc cccc cccc cccc ccc\"\n },\n {\n country: \"GB\",\n total: 22,\n bban: [\n {\n type: \"a\",\n count: 4\n },\n {\n type: \"n\",\n count: 6\n },\n {\n type: \"n\",\n count: 8\n }\n ],\n format: \"GBkk bbbb ssss sscc cccc cc\"\n },\n {\n country: \"VG\",\n total: 24,\n bban: [\n {\n type: \"c\",\n count: 4\n },\n {\n type: \"n\",\n count: 16\n }\n ],\n format: \"VGkk bbbb cccc cccc cccc cccc\"\n }\n ],\n iso3166: [\n \"AC\", \"AD\", \"AE\", \"AF\", \"AG\", \"AI\", \"AL\", \"AM\", \"AN\", \"AO\", \"AQ\", \"AR\", \"AS\",\n \"AT\", \"AU\", \"AW\", \"AX\", \"AZ\", \"BA\", \"BB\", \"BD\", \"BE\", \"BF\", \"BG\", \"BH\", \"BI\",\n \"BJ\", \"BL\", \"BM\", \"BN\", \"BO\", \"BQ\", \"BR\", \"BS\", \"BT\", \"BU\", \"BV\", \"BW\", \"BY\",\n \"BZ\", \"CA\", \"CC\", \"CD\", \"CE\", \"CF\", \"CG\", \"CH\", \"CI\", \"CK\", \"CL\", \"CM\", \"CN\",\n \"CO\", \"CP\", \"CR\", \"CS\", \"CS\", \"CU\", \"CV\", \"CW\", \"CX\", \"CY\", \"CZ\", \"DD\", \"DE\",\n \"DG\", \"DJ\", \"DK\", \"DM\", \"DO\", \"DZ\", \"EA\", \"EC\", \"EE\", \"EG\", \"EH\", \"ER\", \"ES\",\n \"ET\", \"EU\", \"FI\", \"FJ\", \"FK\", \"FM\", \"FO\", \"FR\", \"FX\", \"GA\", \"GB\", \"GD\", \"GE\",\n \"GF\", \"GG\", \"GH\", \"GI\", \"GL\", \"GM\", \"GN\", \"GP\", \"GQ\", \"GR\", \"GS\", \"GT\", \"GU\",\n \"GW\", \"GY\", \"HK\", \"HM\", \"HN\", \"HR\", \"HT\", \"HU\", \"IC\", \"ID\", \"IE\", \"IL\", \"IM\",\n \"IN\", \"IO\", \"IQ\", \"IR\", \"IS\", \"IT\", \"JE\", \"JM\", \"JO\", \"JP\", \"KE\", \"KG\", \"KH\",\n \"KI\", \"KM\", \"KN\", \"KP\", \"KR\", \"KW\", \"KY\", \"KZ\", \"LA\", \"LB\", \"LC\", \"LI\", \"LK\",\n \"LR\", \"LS\", \"LT\", \"LU\", \"LV\", \"LY\", \"MA\", \"MC\", \"MD\", \"ME\", \"MF\", \"MG\", \"MH\",\n \"MK\", \"ML\", \"MM\", \"MN\", \"MO\", \"MP\", \"MQ\", \"MR\", \"MS\", \"MT\", \"MU\", \"MV\", \"MW\",\n \"MX\", \"MY\", \"MZ\", \"NA\", \"NC\", \"NE\", \"NF\", \"NG\", \"NI\", \"NL\", \"NO\", \"NP\", \"NR\",\n \"NT\", \"NU\", \"NZ\", \"OM\", \"PA\", \"PE\", \"PF\", \"PG\", \"PH\", \"PK\", \"PL\", \"PM\", \"PN\",\n \"PR\", \"PS\", \"PT\", \"PW\", \"PY\", \"QA\", \"RE\", \"RO\", \"RS\", \"RU\", \"RW\", \"SA\", \"SB\",\n \"SC\", \"SD\", \"SE\", \"SG\", \"SH\", \"SI\", \"SJ\", \"SK\", \"SL\", \"SM\", \"SN\", \"SO\", \"SR\",\n \"SS\", \"ST\", \"SU\", \"SV\", \"SX\", \"SY\", \"SZ\", \"TA\", \"TC\", \"TD\", \"TF\", \"TG\", \"TH\",\n \"TJ\", \"TK\", \"TL\", \"TM\", \"TN\", \"TO\", \"TR\", \"TT\", \"TV\", \"TW\", \"TZ\", \"UA\", \"UG\",\n \"UM\", \"US\", \"UY\", \"UZ\", \"VA\", \"VC\", \"VE\", \"VG\", \"VI\", \"VN\", \"VU\", \"WF\", \"WS\",\n \"YE\", \"YT\", \"YU\", \"ZA\", \"ZM\", \"ZR\", \"ZW\"\n ]\n}","/**\n * @namespace faker.finance\n */\nvar Finance = function (faker) {\n var ibanLib = require(\"./iban\");\n var Helpers = faker.helpers,\n self = this;\n\n /**\n * account\n *\n * @method faker.finance.account\n * @param {number} length\n */\n self.account = function (length) {\n\n length = length || 8;\n\n var template = '';\n\n for (var i = 0; i < length; i++) {\n template = template + '#';\n }\n length = null;\n return Helpers.replaceSymbolWithNumber(template);\n };\n\n /**\n * accountName\n *\n * @method faker.finance.accountName\n */\n self.accountName = function () {\n\n return [Helpers.randomize(faker.definitions.finance.account_type), 'Account'].join(' ');\n };\n\n /**\n * routingNumber\n *\n * @method faker.finance.routingNumber\n */\n self.routingNumber = function () {\n\n var routingNumber = Helpers.replaceSymbolWithNumber('########');\n\n // Modules 10 straight summation.\n var sum = 0;\n\n for (var i = 0; i < routingNumber.length; i += 3) {\n sum += Number(routingNumber[i]) * 3;\n sum += Number(routingNumber[i + 1]) * 7;\n sum += Number(routingNumber[i + 2]) || 0;\n }\n\n return routingNumber + (Math.ceil(sum / 10) * 10 - sum);\n }\n\n /**\n * mask\n *\n * @method faker.finance.mask\n * @param {number} length\n * @param {boolean} parens\n * @param {boolean} ellipsis\n */\n self.mask = function (length, parens, ellipsis) {\n\n //set defaults\n length = (length == 0 || !length || typeof length == 'undefined') ? 4 : length;\n parens = (parens === null) ? true : parens;\n ellipsis = (ellipsis === null) ? true : ellipsis;\n\n //create a template for length\n var template = '';\n\n for (var i = 0; i < length; i++) {\n template = template + '#';\n }\n\n //prefix with ellipsis\n template = (ellipsis) ? ['...', template].join('') : template;\n\n template = (parens) ? ['(', template, ')'].join('') : template;\n\n //generate random numbers\n template = Helpers.replaceSymbolWithNumber(template);\n\n return template;\n };\n\n //min and max take in minimum and maximum amounts, dec is the decimal place you want rounded to, symbol is $, €, £, etc\n //NOTE: this returns a string representation of the value, if you want a number use parseFloat and no symbol\n\n /**\n * amount\n *\n * @method faker.finance.amount\n * @param {number} min\n * @param {number} max\n * @param {number} dec\n * @param {string} symbol\n *\n * @return {string}\n */\n self.amount = function (min, max, dec, symbol) {\n\n min = min || 0;\n max = max || 1000;\n dec = dec === undefined ? 2 : dec;\n symbol = symbol || '';\n var randValue = faker.random.number({ max: max, min: min, precision: Math.pow(10, -dec) });\n var stringNumber = symbol + randValue.toFixed(dec);\n\n return symbol + randValue.toFixed(dec);\n };\n\n /**\n * transactionType\n *\n * @method faker.finance.transactionType\n */\n self.transactionType = function () {\n return Helpers.randomize(faker.definitions.finance.transaction_type);\n };\n\n /**\n * currencyCode\n *\n * @method faker.finance.currencyCode\n */\n self.currencyCode = function () {\n return faker.random.objectElement(faker.definitions.finance.currency)['code'];\n };\n\n /**\n * currencyName\n *\n * @method faker.finance.currencyName\n */\n self.currencyName = function () {\n return faker.random.objectElement(faker.definitions.finance.currency, 'key');\n };\n\n /**\n * currencySymbol\n *\n * @method faker.finance.currencySymbol\n */\n self.currencySymbol = function () {\n var symbol;\n\n while (!symbol) {\n symbol = faker.random.objectElement(faker.definitions.finance.currency)['symbol'];\n }\n return symbol;\n };\n\n /**\n * bitcoinAddress\n *\n * @method faker.finance.bitcoinAddress\n */\n self.bitcoinAddress = function () {\n var addressLength = faker.random.number({ min: 25, max: 34 });\n\n var address = faker.random.arrayElement(['1', '3']);\n\n for (var i = 0; i < addressLength - 1; i++)\n address += faker.random.arrayElement('123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ'.split(''));\n\n return address;\n }\n\n/**\n * litecoinAddress\n *\n * @method faker.finance.litecoinAddress\n */\nself.litecoinAddress = function () {\n var addressLength = faker.random.number({ min: 26, max: 33 });\n\n var address = faker.random.arrayElement(['L', 'M', '3']);\n\n for (var i = 0; i < addressLength - 1; i++)\n address += faker.random.arrayElement('123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ'.split(''));\n\n return address;\n}\n\n /**\n * Credit card number\n * @method faker.finance.creditCardNumber\n * @param {string} provider | scheme\n */\n self.creditCardNumber = function(provider){\n provider = provider || \"\";\n var format, formats;\n var localeFormat = faker.definitions.finance.credit_card;\n if (provider in localeFormat) {\n formats = localeFormat[provider]; // there chould be multiple formats\n if (typeof formats === \"string\") {\n format = formats;\n } else {\n format = faker.random.arrayElement(formats);\n }\n } else if (provider.match(/#/)) { // The user chose an optional scheme\n format = provider;\n } else { // Choose a random provider\n if (typeof localeFormat === 'string') {\n format = localeFormat;\n } else if( typeof localeFormat === \"object\") {\n // Credit cards are in a object structure\n formats = faker.random.objectElement(localeFormat, \"value\"); // There chould be multiple formats\n if (typeof formats === \"string\") {\n format = formats;\n } else {\n format = faker.random.arrayElement(formats);\n }\n }\n }\n format = format.replace(/\\//g,\"\")\n return Helpers.replaceCreditCardSymbols(format);\n };\n /**\n * Credit card CVV\n * @method faker.finance.creditCardCVV\n */\n self.creditCardCVV = function() {\n var cvv = \"\";\n for (var i = 0; i < 3; i++) {\n cvv += faker.random.number({max:9}).toString();\n }\n return cvv;\n };\n\n /**\n * ethereumAddress\n *\n * @method faker.finance.ethereumAddress\n */\n self.ethereumAddress = function () {\n var address = faker.random.hexaDecimal(40).toLowerCase();\n\n return address;\n };\n\n /**\n * iban\n *\n * @param {boolean} [formatted=false] - Return a formatted version of the generated IBAN.\n * @param {string} [countryCode] - The country code from which you want to generate an IBAN, if none is provided a random country will be used.\n * @throws Will throw an error if the passed country code is not supported.\n *\n * @method faker.finance.iban\n */\n self.iban = function (formatted, countryCode) {\n var ibanFormat;\n if (countryCode) {\n var findFormat = function(currentFormat) { return currentFormat.country === countryCode; };\n ibanFormat = ibanLib.formats.find(findFormat);\n } else {\n ibanFormat = faker.random.arrayElement(ibanLib.formats);\n }\n\n if (!ibanFormat) {\n throw new Error('Country code ' + countryCode + ' not supported.');\n }\n\n var s = \"\";\n var count = 0;\n for (var b = 0; b < ibanFormat.bban.length; b++) {\n var bban = ibanFormat.bban[b];\n var c = bban.count;\n count += bban.count;\n while (c > 0) {\n if (bban.type == \"a\") {\n s += faker.random.arrayElement(ibanLib.alpha);\n } else if (bban.type == \"c\") {\n if (faker.random.number(100) < 80) {\n s += faker.random.number(9);\n } else {\n s += faker.random.arrayElement(ibanLib.alpha);\n }\n } else {\n if (c >= 3 && faker.random.number(100) < 30) {\n if (faker.random.boolean()) {\n s += faker.random.arrayElement(ibanLib.pattern100);\n c -= 2;\n } else {\n s += faker.random.arrayElement(ibanLib.pattern10);\n c--;\n }\n } else {\n s += faker.random.number(9);\n }\n }\n c--;\n }\n s = s.substring(0, count);\n }\n var checksum = 98 - ibanLib.mod97(ibanLib.toDigitString(s + ibanFormat.country + \"00\"));\n if (checksum < 10) {\n checksum = \"0\" + checksum;\n }\n var iban = ibanFormat.country + checksum + s;\n return formatted ? iban.match(/.{1,4}/g).join(\" \") : iban;\n };\n\n /**\n * bic\n *\n * @method faker.finance.bic\n */\n self.bic = function () {\n var vowels = [\"A\", \"E\", \"I\", \"O\", \"U\"];\n var prob = faker.random.number(100);\n return Helpers.replaceSymbols(\"???\") +\n faker.random.arrayElement(vowels) +\n faker.random.arrayElement(ibanLib.iso3166) +\n Helpers.replaceSymbols(\"?\") + \"1\" +\n (prob < 10 ?\n Helpers.replaceSymbols(\"?\" + faker.random.arrayElement(vowels) + \"?\") :\n prob < 40 ?\n Helpers.replaceSymbols(\"###\") : \"\");\n };\n\n /**\n * description\n *\n * @method faker.finance.transactionDescription\n */\n self.transactionDescription = function() {\n var account = Helpers.createTransaction().account\n var card = faker.finance.mask();\n var currency = faker.finance.currencyCode();\n var amount = Helpers.createTransaction().amount\n var transactionType = Helpers.createTransaction().type\n var company = Helpers.createTransaction().business\n return transactionType + \" transaction at \" + company + \" using card ending with ***\" + card + \" for \" + currency + \" \" + amount + \" in account ***\" + account\n }\n\n};\n\nmodule['exports'] = Finance;\n","/**\n *\n * @namespace lorempixel\n * @memberof faker.image\n */\nvar Lorempixel = function (faker) {\n\n var self = this;\n\n /**\n * image\n *\n * @param {number} width\n * @param {number} height\n * @param {boolean} randomize\n * @method faker.image.lorempixel.image\n */\n self.image = function (width, height, randomize) {\n var categories = [\"abstract\", \"animals\", \"business\", \"cats\", \"city\", \"food\", \"nightlife\", \"fashion\", \"people\", \"nature\", \"sports\", \"technics\", \"transport\"];\n return self[faker.random.arrayElement(categories)](width, height, randomize);\n };\n /**\n * avatar\n *\n * @method faker.image.lorempixel.avatar\n */\n self.avatar = function () {\n return faker.internet.avatar();\n };\n /**\n * imageUrl\n *\n * @param {number} width\n * @param {number} height\n * @param {string} category\n * @param {boolean} randomize\n * @method faker.image.lorempixel.imageUrl\n */\n self.imageUrl = function (width, height, category, randomize) {\n var width = width || 640;\n var height = height || 480;\n\n var url ='https://lorempixel.com/' + width + '/' + height;\n if (typeof category !== 'undefined') {\n url += '/' + category;\n }\n\n if (randomize) {\n url += '?' + faker.random.number()\n }\n\n return url;\n };\n /**\n * abstract\n *\n * @param {number} width\n * @param {number} height\n * @param {boolean} randomize\n * @method faker.image.lorempixel.abstract\n */\n self.abstract = function (width, height, randomize) {\n return faker.image.lorempixel.imageUrl(width, height, 'abstract', randomize);\n };\n /**\n * animals\n *\n * @param {number} width\n * @param {number} height\n * @param {boolean} randomize\n * @method faker.image.lorempixel.animals\n */\n self.animals = function (width, height, randomize) {\n return faker.image.lorempixel.imageUrl(width, height, 'animals', randomize);\n };\n /**\n * business\n *\n * @param {number} width\n * @param {number} height\n * @param {boolean} randomize\n * @method faker.image.lorempixel.business\n */\n self.business = function (width, height, randomize) {\n return faker.image.lorempixel.imageUrl(width, height, 'business', randomize);\n };\n /**\n * cats\n *\n * @param {number} width\n * @param {number} height\n * @param {boolean} randomize\n * @method faker.image.lorempixel.cats\n */\n self.cats = function (width, height, randomize) {\n return faker.image.lorempixel.imageUrl(width, height, 'cats', randomize);\n };\n /**\n * city\n *\n * @param {number} width\n * @param {number} height\n * @param {boolean} randomize\n * @method faker.image.lorempixel.city\n */\n self.city = function (width, height, randomize) {\n return faker.image.lorempixel.imageUrl(width, height, 'city', randomize);\n };\n /**\n * food\n *\n * @param {number} width\n * @param {number} height\n * @param {boolean} randomize\n * @method faker.image.lorempixel.food\n */\n self.food = function (width, height, randomize) {\n return faker.image.lorempixel.imageUrl(width, height, 'food', randomize);\n };\n /**\n * nightlife\n *\n * @param {number} width\n * @param {number} height\n * @param {boolean} randomize\n * @method faker.image.lorempixel.nightlife\n */\n self.nightlife = function (width, height, randomize) {\n return faker.image.lorempixel.imageUrl(width, height, 'nightlife', randomize);\n };\n /**\n * fashion\n *\n * @param {number} width\n * @param {number} height\n * @param {boolean} randomize\n * @method faker.image.lorempixel.fashion\n */\n self.fashion = function (width, height, randomize) {\n return faker.image.lorempixel.imageUrl(width, height, 'fashion', randomize);\n };\n /**\n * people\n *\n * @param {number} width\n * @param {number} height\n * @param {boolean} randomize\n * @method faker.image.lorempixel.people\n */\n self.people = function (width, height, randomize) {\n return faker.image.lorempixel.imageUrl(width, height, 'people', randomize);\n };\n /**\n * nature\n *\n * @param {number} width\n * @param {number} height\n * @param {boolean} randomize\n * @method faker.image.lorempixel.nature\n */\n self.nature = function (width, height, randomize) {\n return faker.image.lorempixel.imageUrl(width, height, 'nature', randomize);\n };\n /**\n * sports\n *\n * @param {number} width\n * @param {number} height\n * @param {boolean} randomize\n * @method faker.image.lorempixel.sports\n */\n self.sports = function (width, height, randomize) {\n return faker.image.lorempixel.imageUrl(width, height, 'sports', randomize);\n };\n /**\n * technics\n *\n * @param {number} width\n * @param {number} height\n * @param {boolean} randomize\n * @method faker.image.lorempixel.technics\n */\n self.technics = function (width, height, randomize) {\n return faker.image.lorempixel.imageUrl(width, height, 'technics', randomize);\n };\n /**\n * transport\n *\n * @param {number} width\n * @param {number} height\n * @param {boolean} randomize\n * @method faker.image.lorempixel.transport\n */\n self.transport = function (width, height, randomize) {\n return faker.image.lorempixel.imageUrl(width, height, 'transport', randomize);\n }\n}\n\nmodule[\"exports\"] = Lorempixel;\n","/**\n *\n * @namespace unsplash\n * @memberof faker.image\n */\nvar Unsplash = function (faker) {\n\n var self = this;\n var categories = [\"food\", \"nature\", \"people\", \"technology\", \"objects\", \"buildings\"];\n\n /**\n * image\n *\n * @param {number} width\n * @param {number} height\n * @param {string} keyword\n * @method faker.image.unsplash.image\n * @description search image from unsplash\n */\n self.image = function (width, height, keyword) {\n return self.imageUrl(width, height, undefined, keyword);\n };\n /**\n * avatar\n *\n * @method faker.image.unsplash.avatar\n */\n self.avatar = function () {\n return faker.internet.avatar();\n };\n /**\n * imageUrl\n *\n * @param {number} width\n * @param {number} height\n * @param {string} category\n * @param {string} keyword\n * @method faker.image.unsplash.imageUrl\n */\n self.imageUrl = function (width, height, category, keyword) {\n var width = width || 640;\n var height = height || 480;\n\n var url ='https://source.unsplash.com';\n\n if (typeof category !== 'undefined') {\n url += '/category/' + category;\n }\n\n url += '/' + width + 'x' + height;\n\n if (typeof keyword !== 'undefined') {\n var keywordFormat = new RegExp('^([A-Za-z0-9].+,[A-Za-z0-9]+)$|^([A-Za-z0-9]+)$');\n if (keywordFormat.test(keyword)) {\n url += '?' + keyword;\n }\n }\n\n return url;\n };\n /**\n * food\n *\n * @param {number} width\n * @param {number} height\n * @param {string} keyword\n * @method faker.image.unsplash.food\n */\n self.food = function (width, height, keyword) {\n return faker.image.unsplash.imageUrl(width, height, 'food', keyword);\n };\n /**\n * people\n *\n * @param {number} width\n * @param {number} height\n * @param {string} keyword\n * @method faker.image.unsplash.people\n */\n self.people = function (width, height, keyword) {\n return faker.image.unsplash.imageUrl(width, height, 'people', keyword);\n };\n /**\n * nature\n *\n * @param {number} width\n * @param {number} height\n * @param {string} keyword\n * @method faker.image.unsplash.nature\n */\n self.nature = function (width, height, keyword) {\n return faker.image.unsplash.imageUrl(width, height, 'nature', keyword);\n };\n /**\n * technology\n *\n * @param {number} width\n * @param {number} height\n * @param {string} keyword\n * @method faker.image.unsplash.technology\n */\n self.technology = function (width, height, keyword) {\n return faker.image.unsplash.imageUrl(width, height, 'technology', keyword);\n };\n /**\n * objects\n *\n * @param {number} width\n * @param {number} height\n * @param {string} keyword\n * @method faker.image.unsplash.objects\n */\n self.objects = function (width, height, keyword) {\n return faker.image.unsplash.imageUrl(width, height, 'objects', keyword);\n };\n /**\n * buildings\n *\n * @param {number} width\n * @param {number} height\n * @param {string} keyword\n * @method faker.image.unsplash.buildings\n */\n self.buildings = function (width, height, keyword) {\n return faker.image.unsplash.imageUrl(width, height, 'buildings', keyword);\n };\n}\n\nmodule[\"exports\"] = Unsplash;\n","/**\n *\n * @namespace lorempicsum\n * @memberof faker.image\n */\nvar LoremPicsum = function (faker) {\n\n var self = this;\n\n /**\n * image\n *\n * @param {number} width\n * @param {number} height\n * @param {boolean} grayscale\n * @param {number} blur 1-10\n * @method faker.image.lorempicsum.image\n * @description search image from unsplash\n */\n self.image = function (width, height, grayscale, blur) {\n return self.imageUrl(width, height, grayscale, blur);\n };\n /**\n * imageGrayscaled\n *\n * @param {number} width\n * @param {number} height\n * @param {boolean} grayscale\n * @method faker.image.lorempicsum.imageGrayscaled\n * @description search grayscale image from unsplash\n */\n self.imageGrayscale = function (width, height, grayscale) {\n return self.imageUrl(width, height, grayscale);\n };\n /**\n * imageBlurred\n *\n * @param {number} width\n * @param {number} height\n * @param {number} blur 1-10\n * @method faker.image.lorempicsum.imageBlurred\n * @description search blurred image from unsplash\n */\n self.imageBlurred = function (width, height, blur) {\n return self.imageUrl(width, height, undefined, blur);\n };\n /**\n * imageRandomSeeded\n *\n * @param {number} width\n * @param {number} height\n * @param {boolean} grayscale\n * @param {number} blur 1-10\n * @param {string} seed\n * @method faker.image.lorempicsum.imageRandomSeeded\n * @description search same random image from unsplash, based on a seed\n */\n self.imageRandomSeeded = function (width, height, grayscale, blur, seed) {\n return self.imageUrl(width, height, grayscale, blur, seed);\n };\n /**\n * avatar\n *\n * @method faker.image.lorempicsum.avatar\n */\n self.avatar = function () {\n return faker.internet.avatar();\n };\n /**\n * imageUrl\n *\n * @param {number} width\n * @param {number} height\n * @param {boolean} grayscale\n * @param {number} blur 1-10\n * @param {string} seed\n * @method faker.image.lorempicsum.imageUrl\n */\n self.imageUrl = function (width, height, grayscale, blur, seed) {\n var width = width || 640;\n var height = height || 480;\n \n var url = 'https://picsum.photos';\n \n if (seed) {\n url += '/seed/' + seed;\n }\n\n url += '/' + width + '/' + height;\n \n if (grayscale && blur) {\n return url + '?grayscale' + '&blur=' + blur;\n }\n\n if (grayscale) {\n return url + '?grayscale';\n }\n\n if (blur) {\n return url + '?blur=' + blur;\n }\n \n return url;\n };\n }\n \n module[\"exports\"] = LoremPicsum;\n ","/**\n *\n * @namespace faker.image\n * @property {object} lorempixel - faker.image.lorempixel\n * @property {object} unsplash - faker.image.unsplash\n * @property {object} unsplash - faker.image.lorempicsum\n * @default Default provider is unsplash image provider\n */\nvar Image = function (faker) {\n\n var self = this;\n var Lorempixel = require('./image_providers/lorempixel');\n var Unsplash = require('./image_providers/unsplash');\n var LoremPicsum = require('./image_providers/lorempicsum');\n\n /**\n * image\n *\n * @param {number} width\n * @param {number} height\n * @param {boolean} randomize\n * @method faker.image.image\n */\n self.image = function (width, height, randomize) {\n var categories = [\"abstract\", \"animals\", \"business\", \"cats\", \"city\", \"food\", \"nightlife\", \"fashion\", \"people\", \"nature\", \"sports\", \"technics\", \"transport\"];\n return self[faker.random.arrayElement(categories)](width, height, randomize);\n };\n /**\n * avatar\n *\n * @method faker.image.avatar\n */\n self.avatar = function () {\n return faker.internet.avatar();\n };\n /**\n * imageUrl\n *\n * @param {number} width\n * @param {number} height\n * @param {string} category\n * @param {boolean} randomize\n * @method faker.image.imageUrl\n */\n self.imageUrl = function (width, height, category, randomize, https) {\n var width = width || 640;\n var height = height || 480;\n var protocol = 'http://';\n if (typeof https !== 'undefined' && https === true) {\n protocol = 'https://';\n }\n var url = protocol + 'placeimg.com/' + width + '/' + height;\n if (typeof category !== 'undefined') {\n url += '/' + category;\n }\n\n if (randomize) {\n url += '?' + faker.random.number()\n }\n\n return url;\n };\n /**\n * abstract\n *\n * @param {number} width\n * @param {number} height\n * @param {boolean} randomize\n * @method faker.image.abstract\n */\n self.abstract = function (width, height, randomize) {\n return faker.image.imageUrl(width, height, 'abstract', randomize);\n };\n /**\n * animals\n *\n * @param {number} width\n * @param {number} height\n * @param {boolean} randomize\n * @method faker.image.animals\n */\n self.animals = function (width, height, randomize) {\n return faker.image.imageUrl(width, height, 'animals', randomize);\n };\n /**\n * business\n *\n * @param {number} width\n * @param {number} height\n * @param {boolean} randomize\n * @method faker.image.business\n */\n self.business = function (width, height, randomize) {\n return faker.image.imageUrl(width, height, 'business', randomize);\n };\n /**\n * cats\n *\n * @param {number} width\n * @param {number} height\n * @param {boolean} randomize\n * @method faker.image.cats\n */\n self.cats = function (width, height, randomize) {\n return faker.image.imageUrl(width, height, 'cats', randomize);\n };\n /**\n * city\n *\n * @param {number} width\n * @param {number} height\n * @param {boolean} randomize\n * @method faker.image.city\n */\n self.city = function (width, height, randomize) {\n return faker.image.imageUrl(width, height, 'city', randomize);\n };\n /**\n * food\n *\n * @param {number} width\n * @param {number} height\n * @param {boolean} randomize\n * @method faker.image.food\n */\n self.food = function (width, height, randomize) {\n return faker.image.imageUrl(width, height, 'food', randomize);\n };\n /**\n * nightlife\n *\n * @param {number} width\n * @param {number} height\n * @param {boolean} randomize\n * @method faker.image.nightlife\n */\n self.nightlife = function (width, height, randomize) {\n return faker.image.imageUrl(width, height, 'nightlife', randomize);\n };\n /**\n * fashion\n *\n * @param {number} width\n * @param {number} height\n * @param {boolean} randomize\n * @method faker.image.fashion\n */\n self.fashion = function (width, height, randomize) {\n return faker.image.imageUrl(width, height, 'fashion', randomize);\n };\n /**\n * people\n *\n * @param {number} width\n * @param {number} height\n * @param {boolean} randomize\n * @method faker.image.people\n */\n self.people = function (width, height, randomize) {\n return faker.image.imageUrl(width, height, 'people', randomize);\n };\n /**\n * nature\n *\n * @param {number} width\n * @param {number} height\n * @param {boolean} randomize\n * @method faker.image.nature\n */\n self.nature = function (width, height, randomize) {\n return faker.image.imageUrl(width, height, 'nature', randomize);\n };\n /**\n * sports\n *\n * @param {number} width\n * @param {number} height\n * @param {boolean} randomize\n * @method faker.image.sports\n */\n self.sports = function (width, height, randomize) {\n return faker.image.imageUrl(width, height, 'sports', randomize);\n };\n /**\n * technics\n *\n * @param {number} width\n * @param {number} height\n * @param {boolean} randomize\n * @method faker.image.technics\n */\n self.technics = function (width, height, randomize) {\n return faker.image.imageUrl(width, height, 'technics', randomize);\n };\n /**\n * transport\n *\n * @param {number} width\n * @param {number} height\n * @param {boolean} randomize\n * @method faker.image.transport\n */\n self.transport = function (width, height, randomize) {\n return faker.image.imageUrl(width, height, 'transport', randomize);\n };\n /**\n * dataUri\n *\n * @param {number} width\n * @param {number} height\n * @param {string} color\n * @method faker.image.dataUri\n */\n self.dataUri = function (width, height, color) {\n color = color || 'grey';\n var svgString = '<svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\" baseProfile=\"full\" width=\"' + width + '\" height=\"' + height + '\"><rect width=\"100%\" height=\"100%\" fill=\"' + color + '\"/><text x=\"' + width / 2 + '\" y=\"' + height / 2 + '\" font-size=\"20\" alignment-baseline=\"middle\" text-anchor=\"middle\" fill=\"white\">' + width + 'x' + height + '</text></svg>';\n var rawPrefix = 'data:image/svg+xml;charset=UTF-8,';\n return rawPrefix + encodeURIComponent(svgString);\n };\n\n self.lorempixel = new Lorempixel(faker);\n self.unsplash = new Unsplash(faker);\n self.lorempicsum = new LoremPicsum(faker);\n\n // Object.assign(self, self.unsplash);\n // How to set default as unsplash? should be image.default?\n}\n\n\nmodule[\"exports\"] = Image;\n","\n/**\n *\n * @namespace faker.lorem\n */\nvar Lorem = function (faker) {\n var self = this;\n var Helpers = faker.helpers;\n\n /**\n * generates a word of a specified length\n *\n * @method faker.lorem.word\n * @param {number} length length of the word that should be returned. Defaults to a random length\n */\n self.word = function (length) {\n var hasRightLength = function(word) { return word.length === length; };\n var properLengthWords;\n if(typeof length === 'undefined') {\n properLengthWords = faker.definitions.lorem.words;\n } else {\n properLengthWords = faker.definitions.lorem.words.filter(hasRightLength);\n }\n return faker.random.arrayElement(properLengthWords);\n };\n\n /**\n * generates a space separated list of words\n *\n * @method faker.lorem.words\n * @param {number} num number of words, defaults to 3\n */\n self.words = function (num) {\n if (typeof num == 'undefined') { num = 3; }\n var words = [];\n for (var i = 0; i < num; i++) {\n words.push(faker.lorem.word());\n }\n return words.join(' ');\n };\n\n /**\n * sentence\n *\n * @method faker.lorem.sentence\n * @param {number} wordCount defaults to a random number between 3 and 10\n * @param {number} range\n */\n self.sentence = function (wordCount, range) {\n if (typeof wordCount == 'undefined') { wordCount = faker.random.number({ min: 3, max: 10 }); }\n // if (typeof range == 'undefined') { range = 7; }\n\n // strange issue with the node_min_test failing for captialize, please fix and add faker.lorem.back\n //return faker.lorem.words(wordCount + Helpers.randomNumber(range)).join(' ').capitalize();\n\n var sentence = faker.lorem.words(wordCount);\n return sentence.charAt(0).toUpperCase() + sentence.slice(1) + '.';\n };\n\n /**\n * slug\n *\n * @method faker.lorem.slug\n * @param {number} wordCount number of words, defaults to 3\n */\n self.slug = function (wordCount) {\n var words = faker.lorem.words(wordCount);\n return Helpers.slugify(words);\n };\n\n /**\n * sentences\n *\n * @method faker.lorem.sentences\n * @param {number} sentenceCount defautls to a random number between 2 and 6\n * @param {string} separator defaults to `' '`\n */\n self.sentences = function (sentenceCount, separator) {\n if (typeof sentenceCount === 'undefined') { sentenceCount = faker.random.number({ min: 2, max: 6 });}\n if (typeof separator == 'undefined') { separator = \" \"; }\n var sentences = [];\n for (sentenceCount; sentenceCount > 0; sentenceCount--) {\n sentences.push(faker.lorem.sentence());\n }\n return sentences.join(separator);\n };\n\n /**\n * paragraph\n *\n * @method faker.lorem.paragraph\n * @param {number} sentenceCount defaults to 3\n */\n self.paragraph = function (sentenceCount) {\n if (typeof sentenceCount == 'undefined') { sentenceCount = 3; }\n return faker.lorem.sentences(sentenceCount + faker.random.number(3));\n };\n\n /**\n * paragraphs\n *\n * @method faker.lorem.paragraphs\n * @param {number} paragraphCount defaults to 3\n * @param {string} separator defaults to `'\\n \\r'`\n */\n self.paragraphs = function (paragraphCount, separator) {\n if (typeof separator === \"undefined\") {\n separator = \"\\n \\r\";\n }\n if (typeof paragraphCount == 'undefined') { paragraphCount = 3; }\n var paragraphs = [];\n for (paragraphCount; paragraphCount > 0; paragraphCount--) {\n paragraphs.push(faker.lorem.paragraph());\n }\n return paragraphs.join(separator);\n }\n\n /**\n * returns random text based on a random lorem method\n *\n * @method faker.lorem.text\n * @param {number} times\n */\n self.text = function loremText (times) {\n var loremMethods = ['lorem.word', 'lorem.words', 'lorem.sentence', 'lorem.sentences', 'lorem.paragraph', 'lorem.paragraphs', 'lorem.lines'];\n var randomLoremMethod = faker.random.arrayElement(loremMethods);\n return faker.fake('{{' + randomLoremMethod + '}}');\n };\n\n /**\n * returns lines of lorem separated by `'\\n'`\n *\n * @method faker.lorem.lines\n * @param {number} lineCount defaults to a random number between 1 and 5\n */\n self.lines = function lines (lineCount) {\n if (typeof lineCount === 'undefined') { lineCount = faker.random.number({ min: 1, max: 5 });}\n return faker.lorem.sentences(lineCount, '\\n')\n };\n\n return self;\n};\n\n\nmodule[\"exports\"] = Lorem;\n","/**\n *\n * @namespace faker.hacker\n */\nvar Hacker = function (faker) {\n var self = this;\n \n /**\n * abbreviation\n *\n * @method faker.hacker.abbreviation\n */\n self.abbreviation = function () {\n return faker.random.arrayElement(faker.definitions.hacker.abbreviation);\n };\n\n /**\n * adjective\n *\n * @method faker.hacker.adjective\n */\n self.adjective = function () {\n return faker.random.arrayElement(faker.definitions.hacker.adjective);\n };\n\n /**\n * noun\n *\n * @method faker.hacker.noun\n */\n self.noun = function () {\n return faker.random.arrayElement(faker.definitions.hacker.noun);\n };\n\n /**\n * verb\n *\n * @method faker.hacker.verb\n */\n self.verb = function () {\n return faker.random.arrayElement(faker.definitions.hacker.verb);\n };\n\n /**\n * ingverb\n *\n * @method faker.hacker.ingverb\n */\n self.ingverb = function () {\n return faker.random.arrayElement(faker.definitions.hacker.ingverb);\n };\n\n /**\n * phrase\n *\n * @method faker.hacker.phrase\n */\n self.phrase = function () {\n\n var data = {\n abbreviation: self.abbreviation,\n adjective: self.adjective,\n ingverb: self.ingverb,\n noun: self.noun,\n verb: self.verb\n };\n\n var phrase = faker.random.arrayElement(faker.definitions.hacker.phrase);\n return faker.helpers.mustache(phrase, data);\n };\n \n return self;\n};\n\nmodule['exports'] = Hacker;","/*\n\nCopyright (c) 2012-2014 Jeffrey Mealo\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated\ndocumentation files (the \"Software\"), to deal in the Software without restriction, including without limitation\nthe rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and\nto permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the\nSoftware.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE\nWARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\nCOPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\nOTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n------------------------------------------------------------------------------------------------------------------------\n\nBased loosely on Luka Pusic's PHP Script: http://360percents.com/posts/php-random-user-agent-generator/\n\nThe license for that script is as follows:\n\n\"THE BEER-WARE LICENSE\" (Revision 42):\n\n<pusic93@gmail.com> wrote this file. As long as you retain this notice you can do whatever you want with this stuff.\nIf we meet some day, and you think this stuff is worth it, you can buy me a beer in return. Luka Pusic\n\n*/\n\nexports.generate = function generate(faker) {\n\n function rnd(a, b) {\n //calling rnd() with no arguments is identical to rnd(0, 100)\n a = a || 0;\n b = b || 100;\n\n if (typeof b === 'number' && typeof a === 'number') {\n\n // 9/2018 - Added faker random to ensure mersenne and seed\n return faker.random.number({ min: a, max: b});\n\n }\n\n if (Object.prototype.toString.call(a) === \"[object Array]\") {\n //returns a random element from array (a), even weighting\n return faker.random.arrayElement(a);\n }\n\n if (a && typeof a === 'object') {\n //returns a random key from the passed object; keys are weighted by the decimal probability in their value\n return (function (obj) {\n var rand = rnd(0, 100) / 100, min = 0, max = 0, key, return_val;\n\n for (key in obj) {\n if (obj.hasOwnProperty(key)) {\n max = obj[key] + min;\n return_val = key;\n if (rand >= min && rand <= max) {\n break;\n }\n min = min + obj[key];\n }\n }\n\n return return_val;\n }(a));\n }\n\n throw new TypeError('Invalid arguments passed to rnd. (' + (b ? a + ', ' + b : a) + ')');\n }\n\n function randomLang() {\n return rnd(['AB', 'AF', 'AN', 'AR', 'AS', 'AZ', 'BE', 'BG', 'BN', 'BO', 'BR', 'BS', 'CA', 'CE', 'CO', 'CS',\n 'CU', 'CY', 'DA', 'DE', 'EL', 'EN', 'EO', 'ES', 'ET', 'EU', 'FA', 'FI', 'FJ', 'FO', 'FR', 'FY',\n 'GA', 'GD', 'GL', 'GV', 'HE', 'HI', 'HR', 'HT', 'HU', 'HY', 'ID', 'IS', 'IT', 'JA', 'JV', 'KA',\n 'KG', 'KO', 'KU', 'KW', 'KY', 'LA', 'LB', 'LI', 'LN', 'LT', 'LV', 'MG', 'MK', 'MN', 'MO', 'MS',\n 'MT', 'MY', 'NB', 'NE', 'NL', 'NN', 'NO', 'OC', 'PL', 'PT', 'RM', 'RO', 'RU', 'SC', 'SE', 'SK',\n 'SL', 'SO', 'SQ', 'SR', 'SV', 'SW', 'TK', 'TR', 'TY', 'UK', 'UR', 'UZ', 'VI', 'VO', 'YI', 'ZH']);\n }\n\n function randomBrowserAndOS() {\n var browser = rnd({\n chrome: .45132810566,\n iexplorer: .27477061836,\n firefox: .19384170608,\n safari: .06186781118,\n opera: .01574236955\n }),\n os = {\n chrome: {win: .89, mac: .09 , lin: .02},\n firefox: {win: .83, mac: .16, lin: .01},\n opera: {win: .91, mac: .03 , lin: .06},\n safari: {win: .04 , mac: .96 },\n iexplorer: ['win']\n };\n\n return [browser, rnd(os[browser])];\n }\n\n function randomProc(arch) {\n var procs = {\n lin:['i686', 'x86_64'],\n mac: {'Intel' : .48, 'PPC': .01, 'U; Intel':.48, 'U; PPC' :.01},\n win:['', 'WOW64', 'Win64; x64']\n };\n return rnd(procs[arch]);\n }\n\n function randomRevision(dots) {\n var return_val = '';\n //generate a random revision\n //dots = 2 returns .x.y where x & y are between 0 and 9\n for (var x = 0; x < dots; x++) {\n return_val += '.' + rnd(0, 9);\n }\n return return_val;\n }\n\n var version_string = {\n net: function () {\n return [rnd(1, 4), rnd(0, 9), rnd(10000, 99999), rnd(0, 9)].join('.');\n },\n nt: function () {\n return rnd(5, 6) + '.' + rnd(0, 3);\n },\n ie: function () {\n return rnd(7, 11);\n },\n trident: function () {\n return rnd(3, 7) + '.' + rnd(0, 1);\n },\n osx: function (delim) {\n return [10, rnd(5, 10), rnd(0, 9)].join(delim || '.');\n },\n chrome: function () {\n return [rnd(13, 39), 0, rnd(800, 899), 0].join('.');\n },\n presto: function () {\n return '2.9.' + rnd(160, 190);\n },\n presto2: function () {\n return rnd(10, 12) + '.00';\n },\n safari: function () {\n return rnd(531, 538) + '.' + rnd(0, 2) + '.' + rnd(0,2);\n }\n };\n\n var browser = {\n firefox: function firefox(arch) {\n //https://developer.mozilla.org/en-US/docs/Gecko_user_agent_string_reference\n var firefox_ver = rnd(5, 15) + randomRevision(2),\n gecko_ver = 'Gecko/20100101 Firefox/' + firefox_ver,\n proc = randomProc(arch),\n os_ver = (arch === 'win') ? '(Windows NT ' + version_string.nt() + ((proc) ? '; ' + proc : '')\n : (arch === 'mac') ? '(Macintosh; ' + proc + ' Mac OS X ' + version_string.osx()\n : '(X11; Linux ' + proc;\n\n return 'Mozilla/5.0 ' + os_ver + '; rv:' + firefox_ver.slice(0, -2) + ') ' + gecko_ver;\n },\n\n iexplorer: function iexplorer() {\n var ver = version_string.ie();\n\n if (ver >= 11) {\n //http://msdn.microsoft.com/en-us/library/ie/hh869301(v=vs.85).aspx\n return 'Mozilla/5.0 (Windows NT 6.' + rnd(1,3) + '; Trident/7.0; ' + rnd(['Touch; ', '']) + 'rv:11.0) like Gecko';\n }\n\n //http://msdn.microsoft.com/en-us/library/ie/ms537503(v=vs.85).aspx\n return 'Mozilla/5.0 (compatible; MSIE ' + ver + '.0; Windows NT ' + version_string.nt() + '; Trident/' +\n version_string.trident() + ((rnd(0, 1) === 1) ? '; .NET CLR ' + version_string.net() : '') + ')';\n },\n\n opera: function opera(arch) {\n //http://www.opera.com/docs/history/\n var presto_ver = ' Presto/' + version_string.presto() + ' Version/' + version_string.presto2() + ')',\n os_ver = (arch === 'win') ? '(Windows NT ' + version_string.nt() + '; U; ' + randomLang() + presto_ver\n : (arch === 'lin') ? '(X11; Linux ' + randomProc(arch) + '; U; ' + randomLang() + presto_ver\n : '(Macintosh; Intel Mac OS X ' + version_string.osx() + ' U; ' + randomLang() + ' Presto/' +\n version_string.presto() + ' Version/' + version_string.presto2() + ')';\n\n return 'Opera/' + rnd(9, 14) + '.' + rnd(0, 99) + ' ' + os_ver;\n },\n\n safari: function safari(arch) {\n var safari = version_string.safari(),\n ver = rnd(4, 7) + '.' + rnd(0,1) + '.' + rnd(0,10),\n os_ver = (arch === 'mac') ? '(Macintosh; ' + randomProc('mac') + ' Mac OS X '+ version_string.osx('_') + ' rv:' + rnd(2, 6) + '.0; '+ randomLang() + ') '\n : '(Windows; U; Windows NT ' + version_string.nt() + ')';\n\n return 'Mozilla/5.0 ' + os_ver + 'AppleWebKit/' + safari + ' (KHTML, like Gecko) Version/' + ver + ' Safari/' + safari;\n },\n\n chrome: function chrome(arch) {\n var safari = version_string.safari(),\n os_ver = (arch === 'mac') ? '(Macintosh; ' + randomProc('mac') + ' Mac OS X ' + version_string.osx('_') + ') '\n : (arch === 'win') ? '(Windows; U; Windows NT ' + version_string.nt() + ')'\n : '(X11; Linux ' + randomProc(arch);\n\n return 'Mozilla/5.0 ' + os_ver + ' AppleWebKit/' + safari + ' (KHTML, like Gecko) Chrome/' + version_string.chrome() + ' Safari/' + safari;\n }\n };\n\n var random = randomBrowserAndOS();\n return browser[random[0]](random[1]);\n};\n","var random_ua = require('../vendor/user-agent');\n\n/**\n *\n * @namespace faker.internet\n */\nvar Internet = function (faker) {\n var self = this;\n /**\n * avatar\n *\n * @method faker.internet.avatar\n */\n self.avatar = function () {\n return faker.random.arrayElement(faker.definitions.internet.avatar_uri);\n };\n\n self.avatar.schema = {\n \"description\": \"Generates a URL for an avatar.\",\n \"sampleResults\": [\"https://s3.amazonaws.com/uifaces/faces/twitter/igorgarybaldi/128.jpg\"]\n };\n\n /**\n * email\n *\n * @method faker.internet.email\n * @param {string} firstName\n * @param {string} lastName\n * @param {string} provider\n */\n self.email = function (firstName, lastName, provider) {\n provider = provider || faker.random.arrayElement(faker.definitions.internet.free_email);\n return faker.helpers.slugify(faker.internet.userName(firstName, lastName)) + \"@\" + provider;\n };\n\n self.email.schema = {\n \"description\": \"Generates a valid email address based on optional input criteria\",\n \"sampleResults\": [\"foo.bar@gmail.com\"],\n \"properties\": {\n \"firstName\": {\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"The first name of the user\"\n },\n \"lastName\": {\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"The last name of the user\"\n },\n \"provider\": {\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"The domain of the user\"\n }\n }\n };\n /**\n * exampleEmail\n *\n * @method faker.internet.exampleEmail\n * @param {string} firstName\n * @param {string} lastName\n */\n self.exampleEmail = function (firstName, lastName) {\n var provider = faker.random.arrayElement(faker.definitions.internet.example_email);\n return self.email(firstName, lastName, provider);\n };\n\n /**\n * userName\n *\n * @method faker.internet.userName\n * @param {string} firstName\n * @param {string} lastName\n */\n self.userName = function (firstName, lastName) {\n var result;\n firstName = firstName || faker.name.firstName();\n lastName = lastName || faker.name.lastName();\n switch (faker.random.number(2)) {\n case 0:\n result = firstName + faker.random.number(99);\n break;\n case 1:\n result = firstName + faker.random.arrayElement([\".\", \"_\"]) + lastName;\n break;\n case 2:\n result = firstName + faker.random.arrayElement([\".\", \"_\"]) + lastName + faker.random.number(99);\n break;\n }\n result = result.toString().replace(/'/g, \"\");\n result = result.replace(/ /g, \"\");\n return result;\n };\n\n self.userName.schema = {\n \"description\": \"Generates a username based on one of several patterns. The pattern is chosen randomly.\",\n \"sampleResults\": [\n \"Kirstin39\",\n \"Kirstin.Smith\",\n \"Kirstin.Smith39\",\n \"KirstinSmith\",\n \"KirstinSmith39\",\n ],\n \"properties\": {\n \"firstName\": {\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"The first name of the user\"\n },\n \"lastName\": {\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"The last name of the user\"\n }\n }\n };\n\n /**\n * protocol\n *\n * @method faker.internet.protocol\n */\n self.protocol = function () {\n var protocols = ['http','https'];\n return faker.random.arrayElement(protocols);\n };\n\n self.protocol.schema = {\n \"description\": \"Randomly generates http or https\",\n \"sampleResults\": [\"https\", \"http\"]\n };\n\n /**\n * method\n *\n * @method faker.internet.httpMethod\n */\n self.httpMethod = function () {\n var httpMethods = ['GET','POST', 'PUT', 'DELETE', 'PATCH'];\n return faker.random.arrayElement(httpMethods);\n };\n\n self.httpMethod.schema = {\n \"description\": \"Randomly generates HTTP Methods (GET, POST, PUT, DELETE, PATCH)\",\n \"sampleResults\": [\"GET\",\"POST\", \"PUT\", \"DELETE\", \"PATCH\"]\n };\n\n /**\n * url\n *\n * @method faker.internet.url\n */\n self.url = function () {\n return faker.internet.protocol() + '://' + faker.internet.domainName();\n };\n\n self.url.schema = {\n \"description\": \"Generates a random URL. The URL could be secure or insecure.\",\n \"sampleResults\": [\n \"http://rashawn.name\",\n \"https://rashawn.name\"\n ]\n };\n\n /**\n * domainName\n *\n * @method faker.internet.domainName\n */\n self.domainName = function () {\n return faker.internet.domainWord() + \".\" + faker.internet.domainSuffix();\n };\n\n self.domainName.schema = {\n \"description\": \"Generates a random domain name.\",\n \"sampleResults\": [\"marvin.org\"]\n };\n\n /**\n * domainSuffix\n *\n * @method faker.internet.domainSuffix\n */\n self.domainSuffix = function () {\n return faker.random.arrayElement(faker.definitions.internet.domain_suffix);\n };\n\n self.domainSuffix.schema = {\n \"description\": \"Generates a random domain suffix.\",\n \"sampleResults\": [\"net\"]\n };\n\n /**\n * domainWord\n *\n * @method faker.internet.domainWord\n */\n self.domainWord = function () {\n return faker.name.firstName().replace(/([\\\\~#&*{}/:<>?|\\\"'])/ig, '').toLowerCase();\n };\n\n self.domainWord.schema = {\n \"description\": \"Generates a random domain word.\",\n \"sampleResults\": [\"alyce\"]\n };\n\n /**\n * ip\n *\n * @method faker.internet.ip\n */\n self.ip = function () {\n var randNum = function () {\n return (faker.random.number(255)).toFixed(0);\n };\n\n var result = [];\n for (var i = 0; i < 4; i++) {\n result[i] = randNum();\n }\n\n return result.join(\".\");\n };\n\n self.ip.schema = {\n \"description\": \"Generates a random IP.\",\n \"sampleResults\": [\"97.238.241.11\"]\n };\n\n /**\n * ipv6\n *\n * @method faker.internet.ipv6\n */\n self.ipv6 = function () {\n var randHash = function () {\n var result = \"\";\n for (var i = 0; i < 4; i++) {\n result += (faker.random.arrayElement([\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\"]));\n }\n return result\n };\n\n var result = [];\n for (var i = 0; i < 8; i++) {\n result[i] = randHash();\n }\n return result.join(\":\");\n };\n\n self.ipv6.schema = {\n \"description\": \"Generates a random IPv6 address.\",\n \"sampleResults\": [\"2001:0db8:6276:b1a7:5213:22f1:25df:c8a0\"]\n };\n\n /**\n * port\n * \n * @method faker.internet.port\n */\n self.port = function() {\n return faker.random.number({ min: 0, max: 65535 });\n };\n\n self.port.schema = {\n \"description\": \"Generates a random port number.\",\n \"sampleResults\": [\"4422\"]\n };\n\n /**\n * userAgent\n *\n * @method faker.internet.userAgent\n */\n self.userAgent = function () {\n return random_ua.generate(faker);\n };\n\n self.userAgent.schema = {\n \"description\": \"Generates a random user agent.\",\n \"sampleResults\": [\"Mozilla/5.0 (Macintosh; U; PPC Mac OS X 10_7_5 rv:6.0; SL) AppleWebKit/532.0.1 (KHTML, like Gecko) Version/7.1.6 Safari/532.0.1\"]\n };\n\n /**\n * color\n *\n * @method faker.internet.color\n * @param {number} baseRed255\n * @param {number} baseGreen255\n * @param {number} baseBlue255\n */\n self.color = function (baseRed255, baseGreen255, baseBlue255) {\n baseRed255 = baseRed255 || 0;\n baseGreen255 = baseGreen255 || 0;\n baseBlue255 = baseBlue255 || 0;\n // based on awesome response : http://stackoverflow.com/questions/43044/algorithm-to-randomly-generate-an-aesthetically-pleasing-color-palette\n var red = Math.floor((faker.random.number(256) + baseRed255) / 2);\n var green = Math.floor((faker.random.number(256) + baseGreen255) / 2);\n var blue = Math.floor((faker.random.number(256) + baseBlue255) / 2);\n var redStr = red.toString(16);\n var greenStr = green.toString(16);\n var blueStr = blue.toString(16);\n return '#' +\n (redStr.length === 1 ? '0' : '') + redStr +\n (greenStr.length === 1 ? '0' : '') + greenStr +\n (blueStr.length === 1 ? '0': '') + blueStr;\n\n };\n\n self.color.schema = {\n \"description\": \"Generates a random hexadecimal color.\",\n \"sampleResults\": [\"#06267f\"],\n \"properties\": {\n \"baseRed255\": {\n \"type\": \"number\",\n \"required\": false,\n \"description\": \"The red value. Valid values are 0 - 255.\"\n },\n \"baseGreen255\": {\n \"type\": \"number\",\n \"required\": false,\n \"description\": \"The green value. Valid values are 0 - 255.\"\n },\n \"baseBlue255\": {\n \"type\": \"number\",\n \"required\": false,\n \"description\": \"The blue value. Valid values are 0 - 255.\"\n }\n }\n };\n\n /**\n * mac\n *\n * @method faker.internet.mac\n * @param {string} sep\n */\n self.mac = function(sep){\n var i, \n mac = \"\",\n validSep = ':';\n\n // if the client passed in a different separator than `:`, \n // we will use it if it is in the list of acceptable separators (dash or no separator)\n if (['-', ''].indexOf(sep) !== -1) {\n validSep = sep;\n } \n\n for (i=0; i < 12; i++) {\n mac+= faker.random.number(15).toString(16);\n if (i%2==1 && i != 11) {\n mac+=validSep;\n }\n }\n return mac;\n };\n\n self.mac.schema = {\n \"description\": \"Generates a random mac address.\",\n \"sampleResults\": [\"78:06:cc:ae:b3:81\"]\n };\n\n /**\n * password\n *\n * @method faker.internet.password\n * @param {number} len\n * @param {boolean} memorable\n * @param {string} pattern\n * @param {string} prefix\n */\n self.password = function (len, memorable, pattern, prefix) {\n len = len || 15;\n if (typeof memorable === \"undefined\") {\n memorable = false;\n }\n /*\n * password-generator ( function )\n * Copyright(c) 2011-2013 Bermi Ferrer <bermi@bermilabs.com>\n * MIT Licensed\n */\n var consonant, letter, vowel;\n letter = /[a-zA-Z]$/;\n vowel = /[aeiouAEIOU]$/;\n consonant = /[bcdfghjklmnpqrstvwxyzBCDFGHJKLMNPQRSTVWXYZ]$/;\n var _password = function (length, memorable, pattern, prefix) {\n var char, n;\n if (length == null) {\n length = 10;\n }\n if (memorable == null) {\n memorable = true;\n }\n if (pattern == null) {\n pattern = /\\w/;\n }\n if (prefix == null) {\n prefix = '';\n }\n if (prefix.length >= length) {\n return prefix;\n }\n if (memorable) {\n if (prefix.match(consonant)) {\n pattern = vowel;\n } else {\n pattern = consonant;\n }\n }\n n = faker.random.number(94) + 33;\n char = String.fromCharCode(n);\n if (memorable) {\n char = char.toLowerCase();\n }\n if (!char.match(pattern)) {\n return _password(length, memorable, pattern, prefix);\n }\n return _password(length, memorable, pattern, \"\" + prefix + char);\n };\n return _password(len, memorable, pattern, prefix);\n }\n\n self.password.schema = {\n \"description\": \"Generates a random password.\",\n \"sampleResults\": [\n \"AM7zl6Mg\",\n \"susejofe\"\n ],\n \"properties\": {\n \"length\": {\n \"type\": \"number\",\n \"required\": false,\n \"description\": \"The number of characters in the password.\"\n },\n \"memorable\": {\n \"type\": \"boolean\",\n \"required\": false,\n \"description\": \"Whether a password should be easy to remember.\"\n },\n \"pattern\": {\n \"type\": \"regex\",\n \"required\": false,\n \"description\": \"A regex to match each character of the password against. This parameter will be negated if the memorable setting is turned on.\"\n },\n \"prefix\": {\n \"type\": \"string\",\n \"required\": false,\n \"description\": \"A value to prepend to the generated password. The prefix counts towards the length of the password.\"\n }\n }\n };\n\n};\n\n\nmodule[\"exports\"] = Internet;\n","/**\n *\n * @namespace faker.database\n */\nvar Database = function (faker) {\n var self = this;\n /**\n * column\n *\n * @method faker.database.column\n */\n self.column = function () {\n return faker.random.arrayElement(faker.definitions.database.column);\n };\n\n self.column.schema = {\n \"description\": \"Generates a column name.\",\n \"sampleResults\": [\"id\", \"title\", \"createdAt\"]\n };\n\n /**\n * type\n *\n * @method faker.database.type\n */\n self.type = function () {\n return faker.random.arrayElement(faker.definitions.database.type);\n };\n\n self.type.schema = {\n \"description\": \"Generates a column type.\",\n \"sampleResults\": [\"byte\", \"int\", \"varchar\", \"timestamp\"]\n };\n\n /**\n * collation\n *\n * @method faker.database.collation\n */\n self.collation = function () {\n return faker.random.arrayElement(faker.definitions.database.collation);\n };\n\n self.collation.schema = {\n \"description\": \"Generates a collation.\",\n \"sampleResults\": [\"utf8_unicode_ci\", \"utf8_bin\"]\n };\n\n /**\n * engine\n *\n * @method faker.database.engine\n */\n self.engine = function () {\n return faker.random.arrayElement(faker.definitions.database.engine);\n };\n\n self.engine.schema = {\n \"description\": \"Generates a storage engine.\",\n \"sampleResults\": [\"MyISAM\", \"InnoDB\"]\n };\n};\n\nmodule[\"exports\"] = Database;\n","/**\n *\n * @namespace faker.phone\n */\nvar Phone = function (faker) {\n var self = this;\n\n /**\n * phoneNumber\n *\n * @method faker.phone.phoneNumber\n * @param {string} format\n * @memberOf faker.phone\n */\n self.phoneNumber = function (format) {\n format = format || faker.phone.phoneFormats();\n return faker.helpers.replaceSymbolWithNumber(format);\n };\n\n // FIXME: this is strange passing in an array index.\n /**\n * phoneNumberFormat\n *\n * @method faker.phone.phoneFormatsArrayIndex\n * @param phoneFormatsArrayIndex\n * @memberOf faker.phone\n */\n self.phoneNumberFormat = function (phoneFormatsArrayIndex) {\n phoneFormatsArrayIndex = phoneFormatsArrayIndex || 0;\n return faker.helpers.replaceSymbolWithNumber(faker.definitions.phone_number.formats[phoneFormatsArrayIndex]);\n };\n\n /**\n * phoneFormats\n *\n * @method faker.phone.phoneFormats\n */\n self.phoneFormats = function () {\n return faker.random.arrayElement(faker.definitions.phone_number.formats);\n };\n \n return self;\n\n};\n\nmodule['exports'] = Phone;\n","/**\n *\n * @namespace faker.date\n */\nvar _Date = function (faker) {\n var self = this;\n /**\n * past\n *\n * @method faker.date.past\n * @param {number} years\n * @param {date} refDate\n */\n self.past = function (years, refDate) {\n var date = new Date();\n if (typeof refDate !== \"undefined\") {\n date = new Date(Date.parse(refDate));\n }\n\n var range = {\n min: 1000,\n max: (years || 1) * 365 * 24 * 3600 * 1000\n };\n\n var past = date.getTime();\n past -= faker.random.number(range); // some time from now to N years ago, in milliseconds\n date.setTime(past);\n\n return date;\n };\n\n /**\n * future\n *\n * @method faker.date.future\n * @param {number} years\n * @param {date} refDate\n */\n self.future = function (years, refDate) {\n var date = new Date();\n if (typeof refDate !== \"undefined\") {\n date = new Date(Date.parse(refDate));\n }\n\n var range = {\n min: 1000,\n max: (years || 1) * 365 * 24 * 3600 * 1000\n };\n\n var future = date.getTime();\n future += faker.random.number(range); // some time from now to N years later, in milliseconds\n date.setTime(future);\n\n return date;\n };\n\n /**\n * between\n *\n * @method faker.date.between\n * @param {date} from\n * @param {date} to\n */\n self.between = function (from, to) {\n var fromMilli = Date.parse(from);\n var dateOffset = faker.random.number(Date.parse(to) - fromMilli);\n\n var newDate = new Date(fromMilli + dateOffset);\n\n return newDate;\n };\n\n /**\n * betweens\n *\n * @method faker.date.between\n * @param {date} from\n * @param {date} to\n */\n self.betweens = function (from, to, num) {\n if (typeof num == 'undefined') { num = 3; }\n var newDates = [];\n var fromMilli = Date.parse(from);\n var dateOffset = (Date.parse(to) - fromMilli) / ( num + 1 );\n var lastDate = from\n for (var i = 0; i < num; i++) {\n fromMilli = Date.parse(lastDate);\n lastDate = new Date(fromMilli + dateOffset)\n newDates.push(lastDate)\n }\n return newDates;\n };\n\n\n /**\n * recent\n *\n * @method faker.date.recent\n * @param {number} days\n * @param {date} refDate\n */\n self.recent = function (days, refDate) {\n var date = new Date();\n if (typeof refDate !== \"undefined\") {\n date = new Date(Date.parse(refDate));\n }\n\n var range = {\n min: 1000,\n max: (days || 1) * 24 * 3600 * 1000\n };\n\n var future = date.getTime();\n future -= faker.random.number(range); // some time from now to N days ago, in milliseconds\n date.setTime(future);\n\n return date;\n };\n\n /**\n * soon\n *\n * @method faker.date.soon\n * @param {number} days\n * @param {date} refDate\n */\n self.soon = function (days, refDate) {\n var date = new Date();\n if (typeof refDate !== \"undefined\") {\n date = new Date(Date.parse(refDate));\n }\n\n var range = {\n min: 1000,\n max: (days || 1) * 24 * 3600 * 1000\n };\n\n var future = date.getTime();\n future += faker.random.number(range); // some time from now to N days later, in milliseconds\n date.setTime(future);\n\n return date;\n };\n\n /**\n * month\n *\n * @method faker.date.month\n * @param {object} options\n */\n self.month = function (options) {\n options = options || {};\n\n var type = 'wide';\n if (options.abbr) {\n type = 'abbr';\n }\n if (options.context && typeof faker.definitions.date.month[type + '_context'] !== 'undefined') {\n type += '_context';\n }\n\n var source = faker.definitions.date.month[type];\n\n return faker.random.arrayElement(source);\n };\n\n /**\n * weekday\n *\n * @param {object} options\n * @method faker.date.weekday\n */\n self.weekday = function (options) {\n options = options || {};\n\n var type = 'wide';\n if (options.abbr) {\n type = 'abbr';\n }\n if (options.context && typeof faker.definitions.date.weekday[type + '_context'] !== 'undefined') {\n type += '_context';\n }\n\n var source = faker.definitions.date.weekday[type];\n\n return faker.random.arrayElement(source);\n };\n\n return self;\n\n};\n\nmodule['exports'] = _Date;\n","/**\n *\n * @namespace faker.time\n */\nvar _Time = function(faker) {\n var self = this;\n\n /**\n * recent\n *\n * @method faker.time.recent\n * @param {string} outputType - 'abbr' || 'wide' || 'unix' (default choice)\n */\n self.recent = function(outputType) {\n if (typeof outputType === \"undefined\") {\n outputType = 'unix';\n }\n\n var date = new Date();\n switch (outputType) {\n case \"abbr\":\n date = date.toLocaleTimeString();\n break;\n case \"wide\":\n date = date.toTimeString();\n break;\n case \"unix\":\n date = date.getTime();\n break;\n }\n return date;\n };\n\n return self;\n};\n\nmodule[\"exports\"] = _Time;\n","/**\n *\n * @namespace faker.commerce\n */\nvar Commerce = function (faker) {\n var self = this;\n\n /**\n * color\n *\n * @method faker.commerce.color\n */\n self.color = function() {\n return faker.random.arrayElement(faker.definitions.commerce.color);\n };\n\n /**\n * department\n *\n * @method faker.commerce.department\n */\n self.department = function() {\n return faker.random.arrayElement(faker.definitions.commerce.department);\n };\n\n /**\n * productName\n *\n * @method faker.commerce.productName\n */\n self.productName = function() {\n return faker.commerce.productAdjective() + \" \" +\n faker.commerce.productMaterial() + \" \" +\n faker.commerce.product();\n };\n\n /**\n * price\n *\n * @method faker.commerce.price\n * @param {number} min\n * @param {number} max\n * @param {number} dec\n * @param {string} symbol\n *\n * @return {string}\n */\n self.price = function(min, max, dec, symbol) {\n min = min || 1;\n max = max || 1000;\n dec = dec === undefined ? 2 : dec;\n symbol = symbol || '';\n\n if (min < 0 || max < 0) {\n return symbol + 0.00;\n }\n\n var randValue = faker.random.number({ max: max, min: min });\n\n return symbol + (Math.round(randValue * Math.pow(10, dec)) / Math.pow(10, dec)).toFixed(dec);\n };\n\n /*\n self.categories = function(num) {\n var categories = [];\n\n do {\n var category = faker.random.arrayElement(faker.definitions.commerce.department);\n if(categories.indexOf(category) === -1) {\n categories.push(category);\n }\n } while(categories.length < num);\n\n return categories;\n };\n\n */\n /*\n self.mergeCategories = function(categories) {\n var separator = faker.definitions.separator || \" &\";\n // TODO: find undefined here\n categories = categories || faker.definitions.commerce.categories;\n var commaSeparated = categories.slice(0, -1).join(', ');\n\n return [commaSeparated, categories[categories.length - 1]].join(separator + \" \");\n };\n */\n\n /**\n * productAdjective\n *\n * @method faker.commerce.productAdjective\n */\n self.productAdjective = function() {\n return faker.random.arrayElement(faker.definitions.commerce.product_name.adjective);\n };\n\n /**\n * productMaterial\n *\n * @method faker.commerce.productMaterial\n */\n self.productMaterial = function() {\n return faker.random.arrayElement(faker.definitions.commerce.product_name.material);\n };\n\n /**\n * product\n *\n * @method faker.commerce.product\n */\n self.product = function() {\n return faker.random.arrayElement(faker.definitions.commerce.product_name.product);\n };\n\n /**\n * productDescription\n *\n * @method faker.commerce.productDescription\n */\n self.productDescription = function() {\n return faker.random.arrayElement(faker.definitions.commerce.product_description);\n };\n\n return self;\n};\n\nmodule['exports'] = Commerce;\n","// generates fake data for many computer systems properties\n\n/**\n *\n * @namespace faker.system\n */\nfunction System (faker) {\n\n /**\n * generates a file name with extension or optional type\n *\n * @method faker.system.fileName\n * @param {string} ext\n * @param {string} type\n */\n this.fileName = function (ext, type) {\n var str = faker.fake(\"{{random.words}}.{{system.fileExt}}\");\n str = str.replace(/ /g, '_');\n str = str.replace(/\\,/g, '_');\n str = str.replace(/\\-/g, '_');\n str = str.replace(/\\\\/g, '_');\n str = str.replace(/\\//g, '_');\n str = str.toLowerCase();\n return str;\n };\n\n /**\n * commonFileName\n *\n * @method faker.system.commonFileName\n * @param {string} ext\n * @param {string} type\n */\n this.commonFileName = function (ext, type) {\n var str = faker.random.words() + \".\" + (ext || faker.system.commonFileExt());\n str = str.replace(/ /g, '_');\n str = str.replace(/\\,/g, '_');\n str = str.replace(/\\-/g, '_');\n str = str.replace(/\\\\/g, '_');\n str = str.replace(/\\//g, '_');\n str = str.toLowerCase();\n return str;\n };\n\n /**\n * mimeType\n *\n * @method faker.system.mimeType\n */\n this.mimeType = function () {\n return faker.random.arrayElement(Object.keys(faker.definitions.system.mimeTypes));\n };\n\n /**\n * returns a commonly used file type\n *\n * @method faker.system.commonFileType\n */\n this.commonFileType = function () {\n var types = ['video', 'audio', 'image', 'text', 'application'];\n return faker.random.arrayElement(types)\n };\n\n /**\n * returns a commonly used file extension based on optional type\n *\n * @method faker.system.commonFileExt\n * @param {string} type\n */\n this.commonFileExt = function (type) {\n var types = [\n 'application/pdf',\n 'audio/mpeg',\n 'audio/wav',\n 'image/png',\n 'image/jpeg',\n 'image/gif',\n 'video/mp4',\n 'video/mpeg',\n 'text/html'\n ];\n return faker.system.fileExt(faker.random.arrayElement(types));\n };\n\n\n /**\n * returns any file type available as mime-type\n *\n * @method faker.system.fileType\n */\n this.fileType = function () {\n var types = [];\n var mimes = faker.definitions.system.mimeTypes;\n Object.keys(mimes).forEach(function(m){\n var parts = m.split('/');\n if (types.indexOf(parts[0]) === -1) {\n types.push(parts[0]);\n }\n });\n return faker.random.arrayElement(types);\n };\n\n /**\n * fileExt\n *\n * @method faker.system.fileExt\n * @param {string} mimeType\n */\n this.fileExt = function (mimeType) {\n var exts = [];\n var mimes = faker.definitions.system.mimeTypes;\n\n // get specific ext by mime-type\n if (typeof mimes[mimeType] === \"object\") {\n return faker.random.arrayElement(mimes[mimeType].extensions);\n }\n\n // reduce mime-types to those with file-extensions\n Object.keys(mimes).forEach(function(m){\n if (mimes[m].extensions instanceof Array) {\n mimes[m].extensions.forEach(function(ext){\n exts.push(ext)\n });\n }\n });\n return faker.random.arrayElement(exts);\n };\n\n /**\n * returns directory path\n *\n * @method faker.system.directoryPath\n */\n this.directoryPath = function () {\n var paths = faker.definitions.system.directoryPaths\n return faker.random.arrayElement(paths);\n };\n\n /**\n * returns file path\n *\n * @method faker.system.filePath\n */\n this.filePath = function () {\n return faker.fake(\"{{system.directoryPath}}/{{system.fileName}}\");\n };\n\n /**\n * semver\n *\n * @method faker.system.semver\n */\n this.semver = function () {\n return [faker.random.number(9),\n faker.random.number(9),\n faker.random.number(9)].join('.');\n }\n\n}\n\nmodule['exports'] = System;\n","/**\n * @namespace faker.git\n */\n\nvar Git = function(faker) {\n var self = this;\n var f = faker.fake;\n\n var hexChars = [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\"];\n\n /**\n * branch\n *\n * @method faker.git.branch\n */\n self.branch = function() {\n var noun = faker.hacker.noun().replace(' ', '-');\n var verb = faker.hacker.verb().replace(' ', '-');\n return noun + '-' + verb;\n }\n\n /**\n * commitEntry\n *\n * @method faker.git.commitEntry\n * @param {object} options\n */\n self.commitEntry = function(options) {\n options = options || {};\n\n var entry = 'commit {{git.commitSha}}\\r\\n';\n\n if (options.merge || (faker.random.number({ min: 0, max: 4 }) === 0)) {\n entry += 'Merge: {{git.shortSha}} {{git.shortSha}}\\r\\n';\n }\n\n entry += 'Author: {{name.firstName}} {{name.lastName}} <{{internet.email}}>\\r\\n';\n entry += 'Date: ' + faker.date.recent().toString() + '\\r\\n';\n entry += '\\r\\n\\xa0\\xa0\\xa0\\xa0{{git.commitMessage}}\\r\\n';\n\n return f(entry);\n };\n\n /**\n * commitMessage\n *\n * @method faker.git.commitMessage\n */\n self.commitMessage = function() {\n var format = '{{hacker.verb}} {{hacker.adjective}} {{hacker.noun}}';\n return f(format);\n };\n\n /**\n * commitSha\n *\n * @method faker.git.commitSha\n */\n self.commitSha = function() {\n var commit = \"\";\n\n for (var i = 0; i < 40; i++) {\n commit += faker.random.arrayElement(hexChars);\n }\n\n return commit;\n };\n\n /**\n * shortSha\n *\n * @method faker.git.shortSha\n */\n self.shortSha = function() {\n var shortSha = \"\";\n\n for (var i = 0; i < 7; i++) {\n shortSha += faker.random.arrayElement(hexChars);\n }\n\n return shortSha;\n };\n\n return self;\n}\n\nmodule['exports'] = Git;\n","/**\n *\n * @namespace faker.vehicle\n */\nvar Vehicle = function (faker) {\n var self = this;\n var fake = faker.fake;\n\n /**\n * vehicle\n *\n * @method faker.vehicle.vehicle\n */\n self.vehicle = function () {\n return fake('{{vehicle.manufacturer}} {{vehicle.model}}');\n };\n\n self.vehicle.schema = {\n \"description\": \"Generates a random vehicle.\",\n \"sampleResults\": [\"BMW Explorer\", \"Ford Camry\", \"Lamborghini Ranchero\"]\n };\n\n /**\n * manufacturer\n *\n * @method faker.vehicle.manufacturer\n */\n self.manufacturer = function () {\n return faker.random.arrayElement(faker.definitions.vehicle.manufacturer);\n };\n\n self.manufacturer.schema = {\n \"description\": \"Generates a manufacturer name.\",\n \"sampleResults\": [\"Ford\", \"Jeep\", \"Tesla\"]\n };\n\n\n /**\n * model\n *\n * @method faker.vehicle.model\n */\n self.model = function () {\n return faker.random.arrayElement(faker.definitions.vehicle.model);\n };\n\n self.model.schema = {\n \"description\": \"Generates a vehicle model.\",\n \"sampleResults\": [\"Explorer\", \"Camry\", \"Ranchero\"]\n };\n\n /**\n * type\n *\n * @method faker.vehicle.type\n */\n self.type = function () {\n return faker.random.arrayElement(faker.definitions.vehicle.type);\n };\n\n self.type.schema = {\n \"description\": \"Generates a vehicle type.\",\n \"sampleResults\": [\"Coupe\", \"Convertable\", \"Sedan\", \"SUV\"]\n };\n\n /**\n * fuel\n *\n * @method faker.vehicle.fuel\n */\n self.fuel = function () {\n return faker.random.arrayElement(faker.definitions.vehicle.fuel);\n };\n\n self.fuel.schema = {\n \"description\": \"Generates a fuel type.\",\n \"sampleResults\": [\"Electric\", \"Gasoline\", \"Diesel\"]\n };\n\n /**\n * vin\n *\n * @method faker.vehicle.vin\n */\n self.vin = function () {\n return (\n faker.random.alphaNumeric(10) +\n faker.random.alpha({ count: 1, upcase: true }) +\n faker.random.alphaNumeric(1) +\n faker.random.number({ min: 10000, max: 100000}) // return five digit #\n ).toUpperCase();\n };\n\n self.vin.schema = {\n \"description\": \"Generates a valid VIN number.\",\n \"sampleResults\": [\"YV1MH682762184654\", \"3C7WRMBJ2EG208836\"]\n };\n\n /**\n * color\n *\n * @method faker.vehicle.color\n */\n self.color = function () {\n return fake('{{commerce.color}}');\n };\n\n self.color.schema = {\n \"description\": \"Generates a color\",\n \"sampleResults\": [\"red\", \"white\", \"black\"]\n };\n\n /**\n * vrm\n *\n * @method faker.vehicle.vrm\n */\n self.vrm = function () {\n return (\n faker.random.alpha({ count: 2, upcase: true }) +\n faker.random.number({ min: 0, max: 9 }) +\n faker.random.number({ min: 0, max: 9 }) +\n faker.random.alpha({ count: 3, upcase: true })\n ).toUpperCase();\n };\n\n self.vrm.schema = {\n \"description\": \"Generates a vehicle vrm\",\n \"sampleResults\": [\"MF56UPA\", \"GL19AAQ\", \"SF20TTA\"]\n };\n};\n\nmodule[\"exports\"] = Vehicle;\n","/**\n *\n * @namespace faker.music\n */\nvar Music = function (faker) {\n var self = this;\n /**\n * genre\n *\n * @method faker.music.genre\n */\n self.genre = function () {\n return faker.random.arrayElement(faker.definitions.music.genre);\n };\n\n self.genre.schema = {\n \"description\": \"Generates a genre.\",\n \"sampleResults\": [\"Rock\", \"Metal\", \"Pop\"]\n };\n};\n\nmodule[\"exports\"] = Music;\n","/*\n\n this index.js file is used for including the faker library as a CommonJS module, instead of a bundle\n\n you can include the faker library into your existing node.js application by requiring the entire /faker directory\n\n var faker = require(./faker);\n var randomName = faker.name.findName();\n\n you can also simply include the \"faker.js\" file which is the auto-generated bundled version of the faker library\n\n var faker = require(./customAppPath/faker);\n var randomName = faker.name.findName();\n\n\n if you plan on modifying the faker library you should be performing your changes in the /lib/ directory\n\n*/\n\n/**\n *\n * @namespace faker\n */\nfunction Faker (opts) {\n\n var self = this;\n\n opts = opts || {};\n\n // assign options\n var locales = self.locales || opts.locales || {};\n var locale = self.locale || opts.locale || \"en\";\n var localeFallback = self.localeFallback || opts.localeFallback || \"en\";\n\n self.locales = locales;\n self.locale = locale;\n self.localeFallback = localeFallback;\n\n self.definitions = {};\n\n var Fake = require('./fake');\n self.fake = new Fake(self).fake;\n\n var Unique = require('./unique');\n self.unique = new Unique(self).unique;\n\n var Random = require('./random');\n self.random = new Random(self);\n\n var Helpers = require('./helpers');\n self.helpers = new Helpers(self);\n\n var Name = require('./name');\n self.name = new Name(self);\n\n var Address = require('./address');\n self.address = new Address(self);\n\n var Company = require('./company');\n self.company = new Company(self);\n\n var Finance = require('./finance');\n self.finance = new Finance(self);\n\n var Image = require('./image');\n self.image = new Image(self);\n\n var Lorem = require('./lorem');\n self.lorem = new Lorem(self);\n\n var Hacker = require('./hacker');\n self.hacker = new Hacker(self);\n\n var Internet = require('./internet');\n self.internet = new Internet(self);\n\n var Database = require('./database');\n self.database = new Database(self);\n\n var Phone = require('./phone_number');\n self.phone = new Phone(self);\n\n var _Date = require('./date');\n self.date = new _Date(self);\n\n var _Time = require('./time');\n self.time = new _Time(self);\n\n var Commerce = require('./commerce');\n self.commerce = new Commerce(self);\n\n var System = require('./system');\n self.system = new System(self);\n\n var Git = require('./git');\n self.git = new Git(self);\n\n var Vehicle = require('./vehicle');\n self.vehicle = new Vehicle(self);\n\n var Music = require('./music');\n self.music = new Music(self);\n\n var _definitions = {\n \"name\": [\"first_name\", \"last_name\", \"prefix\", \"suffix\", \"gender\", \"title\", \"male_prefix\", \"female_prefix\", \"male_first_name\", \"female_first_name\", \"male_middle_name\", \"female_middle_name\", \"male_last_name\", \"female_last_name\"],\n \"address\": [\"city_prefix\", \"city_suffix\", \"street_suffix\", \"county\", \"country\", \"country_code\", \"country_code_alpha_3\", \"state\", \"state_abbr\", \"street_prefix\", \"postcode\", \"postcode_by_state\", \"direction\", \"direction_abbr\", \"time_zone\"],\n \"company\": [\"adjective\", \"noun\", \"descriptor\", \"bs_adjective\", \"bs_noun\", \"bs_verb\", \"suffix\"],\n \"lorem\": [\"words\"],\n \"hacker\": [\"abbreviation\", \"adjective\", \"noun\", \"verb\", \"ingverb\", \"phrase\"],\n \"phone_number\": [\"formats\"],\n \"finance\": [\"account_type\", \"transaction_type\", \"currency\", \"iban\", \"credit_card\"],\n \"internet\": [\"avatar_uri\", \"domain_suffix\", \"free_email\", \"example_email\", \"password\"],\n \"commerce\": [\"color\", \"department\", \"product_name\", \"price\", \"categories\", \"product_description\"],\n \"database\": [\"collation\", \"column\", \"engine\", \"type\"],\n \"system\": [\"mimeTypes\", \"directoryPaths\"],\n \"date\": [\"month\", \"weekday\"],\n \"vehicle\": [\"vehicle\", \"manufacturer\", \"model\", \"type\", \"fuel\", \"vin\", \"color\"],\n \"music\": [\"genre\"],\n \"title\": \"\",\n \"separator\": \"\"\n };\n\n // Create a Getter for all definitions.foo.bar properties\n Object.keys(_definitions).forEach(function(d){\n if (typeof self.definitions[d] === \"undefined\") {\n self.definitions[d] = {};\n }\n\n if (typeof _definitions[d] === \"string\") {\n self.definitions[d] = _definitions[d];\n return;\n }\n\n _definitions[d].forEach(function(p){\n Object.defineProperty(self.definitions[d], p, {\n get: function () {\n if (typeof self.locales[self.locale][d] === \"undefined\" || typeof self.locales[self.locale][d][p] === \"undefined\") {\n // certain localization sets contain less data then others.\n // in the case of a missing definition, use the default localeFallback to substitute the missing set data\n // throw new Error('unknown property ' + d + p)\n return self.locales[localeFallback][d][p];\n } else {\n // return localized data\n return self.locales[self.locale][d][p];\n }\n }\n });\n });\n });\n\n};\n\nFaker.prototype.setLocale = function (locale) {\n this.locale = locale;\n}\n\nFaker.prototype.seed = function(value) {\n var Random = require('./random');\n this.seedValue = value;\n this.random = new Random(this, this.seedValue);\n}\nmodule['exports'] = Faker;\n","module[\"exports\"] = [\n \"com\",\n \"us\",\n \"biz\",\n \"info\",\n \"name\",\n \"net\",\n \"org\"\n];\n","var internet = {};\nmodule['exports'] = internet;\ninternet.domain_suffix = require(\"./domain_suffix\");\n","module[\"exports\"] = [\n \"United States\",\n \"United States of America\",\n \"USA\"\n];\n","module[\"exports\"] = {\n AK:{\n min:99501,\n max:99950\n },\n AL:{\n min:35004,\n max:36925\n },\n AR:{\n min:71601,\n max:72959\n },\n AZ:{\n min:85001,\n max:86556\n },\n CA:{\n min:90001,\n max:96162\n },\n CO:{\n min:80001,\n max:81658\n },\n CT:{\n min:6001,\n max:6389\n },\n DC:{\n min:20001,\n max:20039\n },\n DE:{\n min:19701,\n max:19980\n },\n FL:{\n min:32004,\n max:34997\n },\n GA:{\n min:30001,\n max:31999\n },\n HI:{\n min:96701,\n max:96898\n },\n IA:{\n min:50001,\n max:52809\n },\n ID:{\n min:83201,\n max:83876\n },\n IL:{\n min:60001,\n max:62999\n },\n IN:{\n min:46001,\n max:47997\n },\n KS:{\n min:66002,\n max:67954\n },\n KY:{\n min:40003,\n max:42788\n },\n LA:{\n min:70001,\n max:71232\n },\n MA:{\n min:1001,\n max:2791\n },\n MD:{\n min:20331,\n max:20331\n },\n ME:{\n min:3901,\n max:4992\n },\n MI:{\n min:48001,\n max:49971\n },\n MN:{\n min:55001,\n max:56763\n },\n MO:{\n min:63001,\n max:65899\n },\n MS:{\n min:38601,\n max:39776\n },\n MT:{\n min:59001,\n max:59937\n },\n NC:{\n min:27006,\n max:28909\n },\n ND:{\n min:58001,\n max:58856\n },\n NE:{\n min:68001,\n max:68118\n },\n NH:{\n min:3031,\n max:3897\n },\n NJ:{\n min:7001,\n max:8989\n },\n NM:{\n min:87001,\n max:88441\n },\n NV:{\n min:88901,\n max:89883\n },\n NY:{\n min:6390,\n max:6390\n },\n OH:{\n min:43001,\n max:45999\n },\n OK:{\n min:73001,\n max:73199\n },\n OR:{\n min:97001,\n max:97920\n },\n PA:{\n min:15001,\n max:19640\n },\n PR:{\n min:0,\n max:0\n },\n RI:{\n min:2801,\n max:2940\n },\n SC:{\n min:29001,\n max:29948\n },\n SD:{\n min:57001,\n max:57799\n },\n TN:{\n min:37010,\n max:38589\n },\n TX:{\n min:73301,\n max:73301\n },\n UT:{\n min:84001,\n max:84784\n },\n VA:{\n min:20040,\n max:20041\n },\n VT:{\n min:5001,\n max:5495\n },\n WA:{\n min:98001,\n max:99403\n },\n WI:{\n min:53001,\n max:54990\n },\n WV:{\n min:24701,\n max:26886\n },\n WY:{\n min:82001,\n max:83128\n }\n}\n","var address = {};\nmodule['exports'] = address;\naddress.default_country = require(\"./default_country\");\naddress.postcode_by_state = require(\"./postcode_by_state\");\n","module[\"exports\"] = [\n \"201\",\n \"202\",\n \"203\",\n \"205\",\n \"206\",\n \"207\",\n \"208\",\n \"209\",\n \"210\",\n \"212\",\n \"213\",\n \"214\",\n \"215\",\n \"216\",\n \"217\",\n \"218\",\n \"219\",\n \"224\",\n \"225\",\n \"227\",\n \"228\",\n \"229\",\n \"231\",\n \"234\",\n \"239\",\n \"240\",\n \"248\",\n \"251\",\n \"252\",\n \"253\",\n \"254\",\n \"256\",\n \"260\",\n \"262\",\n \"267\",\n \"269\",\n \"270\",\n \"276\",\n \"281\",\n \"283\",\n \"301\",\n \"302\",\n \"303\",\n \"304\",\n \"305\",\n \"307\",\n \"308\",\n \"309\",\n \"310\",\n \"312\",\n \"313\",\n \"314\",\n \"315\",\n \"316\",\n \"317\",\n \"318\",\n \"319\",\n \"320\",\n \"321\",\n \"323\",\n \"330\",\n \"331\",\n \"334\",\n \"336\",\n \"337\",\n \"339\",\n \"347\",\n \"351\",\n \"352\",\n \"360\",\n \"361\",\n \"386\",\n \"401\",\n \"402\",\n \"404\",\n \"405\",\n \"406\",\n \"407\",\n \"408\",\n \"409\",\n \"410\",\n \"412\",\n \"413\",\n \"414\",\n \"415\",\n \"417\",\n \"419\",\n \"423\",\n \"424\",\n \"425\",\n \"434\",\n \"435\",\n \"440\",\n \"443\",\n \"445\",\n \"464\",\n \"469\",\n \"470\",\n \"475\",\n \"478\",\n \"479\",\n \"480\",\n \"484\",\n \"501\",\n \"502\",\n \"503\",\n \"504\",\n \"505\",\n \"507\",\n \"508\",\n \"509\",\n \"510\",\n \"512\",\n \"513\",\n \"515\",\n \"516\",\n \"517\",\n \"518\",\n \"520\",\n \"530\",\n \"540\",\n \"541\",\n \"551\",\n \"557\",\n \"559\",\n \"561\",\n \"562\",\n \"563\",\n \"564\",\n \"567\",\n \"570\",\n \"571\",\n \"573\",\n \"574\",\n \"580\",\n \"585\",\n \"586\",\n \"601\",\n \"602\",\n \"603\",\n \"605\",\n \"606\",\n \"607\",\n \"608\",\n \"609\",\n \"610\",\n \"612\",\n \"614\",\n \"615\",\n \"616\",\n \"617\",\n \"618\",\n \"619\",\n \"620\",\n \"623\",\n \"626\",\n \"630\",\n \"631\",\n \"636\",\n \"641\",\n \"646\",\n \"650\",\n \"651\",\n \"660\",\n \"661\",\n \"662\",\n \"667\",\n \"678\",\n \"682\",\n \"701\",\n \"702\",\n \"703\",\n \"704\",\n \"706\",\n \"707\",\n \"708\",\n \"712\",\n \"713\",\n \"714\",\n \"715\",\n \"716\",\n \"717\",\n \"718\",\n \"719\",\n \"720\",\n \"724\",\n \"727\",\n \"731\",\n \"732\",\n \"734\",\n \"737\",\n \"740\",\n \"754\",\n \"757\",\n \"760\",\n \"763\",\n \"765\",\n \"770\",\n \"772\",\n \"773\",\n \"774\",\n \"775\",\n \"781\",\n \"785\",\n \"786\",\n \"801\",\n \"802\",\n \"803\",\n \"804\",\n \"805\",\n \"806\",\n \"808\",\n \"810\",\n \"812\",\n \"813\",\n \"814\",\n \"815\",\n \"816\",\n \"817\",\n \"818\",\n \"828\",\n \"830\",\n \"831\",\n \"832\",\n \"835\",\n \"843\",\n \"845\",\n \"847\",\n \"848\",\n \"850\",\n \"856\",\n \"857\",\n \"858\",\n \"859\",\n \"860\",\n \"862\",\n \"863\",\n \"864\",\n \"865\",\n \"870\",\n \"872\",\n \"878\",\n \"901\",\n \"903\",\n \"904\",\n \"906\",\n \"907\",\n \"908\",\n \"909\",\n \"910\",\n \"912\",\n \"913\",\n \"914\",\n \"915\",\n \"916\",\n \"917\",\n \"918\",\n \"919\",\n \"920\",\n \"925\",\n \"928\",\n \"931\",\n \"936\",\n \"937\",\n \"940\",\n \"941\",\n \"947\",\n \"949\",\n \"952\",\n \"954\",\n \"956\",\n \"959\",\n \"970\",\n \"971\",\n \"972\",\n \"973\",\n \"975\",\n \"978\",\n \"979\",\n \"980\",\n \"984\",\n \"985\",\n \"989\"\n];\n","module[\"exports\"] = [\n \"201\",\n \"202\",\n \"203\",\n \"205\",\n \"206\",\n \"207\",\n \"208\",\n \"209\",\n \"210\",\n \"212\",\n \"213\",\n \"214\",\n \"215\",\n \"216\",\n \"217\",\n \"218\",\n \"219\",\n \"224\",\n \"225\",\n \"227\",\n \"228\",\n \"229\",\n \"231\",\n \"234\",\n \"239\",\n \"240\",\n \"248\",\n \"251\",\n \"252\",\n \"253\",\n \"254\",\n \"256\",\n \"260\",\n \"262\",\n \"267\",\n \"269\",\n \"270\",\n \"276\",\n \"281\",\n \"283\",\n \"301\",\n \"302\",\n \"303\",\n \"304\",\n \"305\",\n \"307\",\n \"308\",\n \"309\",\n \"310\",\n \"312\",\n \"313\",\n \"314\",\n \"315\",\n \"316\",\n \"317\",\n \"318\",\n \"319\",\n \"320\",\n \"321\",\n \"323\",\n \"330\",\n \"331\",\n \"334\",\n \"336\",\n \"337\",\n \"339\",\n \"347\",\n \"351\",\n \"352\",\n \"360\",\n \"361\",\n \"386\",\n \"401\",\n \"402\",\n \"404\",\n \"405\",\n \"406\",\n \"407\",\n \"408\",\n \"409\",\n \"410\",\n \"412\",\n \"413\",\n \"414\",\n \"415\",\n \"417\",\n \"419\",\n \"423\",\n \"424\",\n \"425\",\n \"434\",\n \"435\",\n \"440\",\n \"443\",\n \"445\",\n \"464\",\n \"469\",\n \"470\",\n \"475\",\n \"478\",\n \"479\",\n \"480\",\n \"484\",\n \"501\",\n \"502\",\n \"503\",\n \"504\",\n \"505\",\n \"507\",\n \"508\",\n \"509\",\n \"510\",\n \"512\",\n \"513\",\n \"515\",\n \"516\",\n \"517\",\n \"518\",\n \"520\",\n \"530\",\n \"540\",\n \"541\",\n \"551\",\n \"557\",\n \"559\",\n \"561\",\n \"562\",\n \"563\",\n \"564\",\n \"567\",\n \"570\",\n \"571\",\n \"573\",\n \"574\",\n \"580\",\n \"585\",\n \"586\",\n \"601\",\n \"602\",\n \"603\",\n \"605\",\n \"606\",\n \"607\",\n \"608\",\n \"609\",\n \"610\",\n \"612\",\n \"614\",\n \"615\",\n \"616\",\n \"617\",\n \"618\",\n \"619\",\n \"620\",\n \"623\",\n \"626\",\n \"630\",\n \"631\",\n \"636\",\n \"641\",\n \"646\",\n \"650\",\n \"651\",\n \"660\",\n \"661\",\n \"662\",\n \"667\",\n \"678\",\n \"682\",\n \"701\",\n \"702\",\n \"703\",\n \"704\",\n \"706\",\n \"707\",\n \"708\",\n \"712\",\n \"713\",\n \"714\",\n \"715\",\n \"716\",\n \"717\",\n \"718\",\n \"719\",\n \"720\",\n \"724\",\n \"727\",\n \"731\",\n \"732\",\n \"734\",\n \"737\",\n \"740\",\n \"754\",\n \"757\",\n \"760\",\n \"763\",\n \"765\",\n \"770\",\n \"772\",\n \"773\",\n \"774\",\n \"775\",\n \"781\",\n \"785\",\n \"786\",\n \"801\",\n \"802\",\n \"803\",\n \"804\",\n \"805\",\n \"806\",\n \"808\",\n \"810\",\n \"812\",\n \"813\",\n \"814\",\n \"815\",\n \"816\",\n \"817\",\n \"818\",\n \"828\",\n \"830\",\n \"831\",\n \"832\",\n \"835\",\n \"843\",\n \"845\",\n \"847\",\n \"848\",\n \"850\",\n \"856\",\n \"857\",\n \"858\",\n \"859\",\n \"860\",\n \"862\",\n \"863\",\n \"864\",\n \"865\",\n \"870\",\n \"872\",\n \"878\",\n \"901\",\n \"903\",\n \"904\",\n \"906\",\n \"907\",\n \"908\",\n \"909\",\n \"910\",\n \"912\",\n \"913\",\n \"914\",\n \"915\",\n \"916\",\n \"917\",\n \"918\",\n \"919\",\n \"920\",\n \"925\",\n \"928\",\n \"931\",\n \"936\",\n \"937\",\n \"940\",\n \"941\",\n \"947\",\n \"949\",\n \"952\",\n \"954\",\n \"956\",\n \"959\",\n \"970\",\n \"971\",\n \"972\",\n \"973\",\n \"975\",\n \"978\",\n \"979\",\n \"980\",\n \"984\",\n \"985\",\n \"989\"\n];\n","var phone_number = {};\nmodule['exports'] = phone_number;\nphone_number.area_code = require(\"./area_code\");\nphone_number.exchange_code = require(\"./exchange_code\");\n","var en_US = {};\nmodule['exports'] = en_US;\nen_US.title = \"English (United States)\";\nen_US.internet = require(\"./internet\");\nen_US.address = require(\"./address\");\nen_US.phone_number = require(\"./phone_number\");\n","module[\"exports\"] = [\n \"North\",\n \"East\",\n \"West\",\n \"South\",\n \"New\",\n \"Lake\",\n \"Port\"\n];\n","module[\"exports\"] = [\n \"town\",\n \"ton\",\n \"land\",\n \"ville\",\n \"berg\",\n \"burgh\",\n \"borough\",\n \"bury\",\n \"view\",\n \"port\",\n \"mouth\",\n \"stad\",\n \"furt\",\n \"chester\",\n \"mouth\",\n \"fort\",\n \"haven\",\n \"side\",\n \"shire\"\n];\n","module[\"exports\"] = [\n \"Avon\",\n \"Bedfordshire\",\n \"Berkshire\",\n \"Borders\",\n \"Buckinghamshire\",\n \"Cambridgeshire\"\n];\n","module[\"exports\"] = [\n \"Afghanistan\",\n \"Albania\",\n \"Algeria\",\n \"American Samoa\",\n \"Andorra\",\n \"Angola\",\n \"Anguilla\",\n \"Antarctica (the territory South of 60 deg S)\",\n \"Antigua and Barbuda\",\n \"Argentina\",\n \"Armenia\",\n \"Aruba\",\n \"Australia\",\n \"Austria\",\n \"Azerbaijan\",\n \"Bahamas\",\n \"Bahrain\",\n \"Bangladesh\",\n \"Barbados\",\n \"Belarus\",\n \"Belgium\",\n \"Belize\",\n \"Benin\",\n \"Bermuda\",\n \"Bhutan\",\n \"Bolivia\",\n \"Bosnia and Herzegovina\",\n \"Botswana\",\n \"Bouvet Island (Bouvetoya)\",\n \"Brazil\",\n \"British Indian Ocean Territory (Chagos Archipelago)\",\n \"Brunei Darussalam\",\n \"Bulgaria\",\n \"Burkina Faso\",\n \"Burundi\",\n \"Cambodia\",\n \"Cameroon\",\n \"Canada\",\n \"Cape Verde\",\n \"Cayman Islands\",\n \"Central African Republic\",\n \"Chad\",\n \"Chile\",\n \"China\",\n \"Christmas Island\",\n \"Cocos (Keeling) Islands\",\n \"Colombia\",\n \"Comoros\",\n \"Congo\",\n \"Cook Islands\",\n \"Costa Rica\",\n \"Cote d'Ivoire\",\n \"Croatia\",\n \"Cuba\",\n \"Cyprus\",\n \"Czech Republic\",\n \"Denmark\",\n \"Djibouti\",\n \"Dominica\",\n \"Dominican Republic\",\n \"Ecuador\",\n \"Egypt\",\n \"El Salvador\",\n \"Equatorial Guinea\",\n \"Eritrea\",\n \"Estonia\",\n \"Ethiopia\",\n \"Faroe Islands\",\n \"Falkland Islands (Malvinas)\",\n \"Fiji\",\n \"Finland\",\n \"France\",\n \"French Guiana\",\n \"French Polynesia\",\n \"French Southern Territories\",\n \"Gabon\",\n \"Gambia\",\n \"Georgia\",\n \"Germany\",\n \"Ghana\",\n \"Gibraltar\",\n \"Greece\",\n \"Greenland\",\n \"Grenada\",\n \"Guadeloupe\",\n \"Guam\",\n \"Guatemala\",\n \"Guernsey\",\n \"Guinea\",\n \"Guinea-Bissau\",\n \"Guyana\",\n \"Haiti\",\n \"Heard Island and McDonald Islands\",\n \"Holy See (Vatican City State)\",\n \"Honduras\",\n \"Hong Kong\",\n \"Hungary\",\n \"Iceland\",\n \"India\",\n \"Indonesia\",\n \"Iran\",\n \"Iraq\",\n \"Ireland\",\n \"Isle of Man\",\n \"Israel\",\n \"Italy\",\n \"Jamaica\",\n \"Japan\",\n \"Jersey\",\n \"Jordan\",\n \"Kazakhstan\",\n \"Kenya\",\n \"Kiribati\",\n \"Democratic People's Republic of Korea\",\n \"Republic of Korea\",\n \"Kuwait\",\n \"Kyrgyz Republic\",\n \"Lao People's Democratic Republic\",\n \"Latvia\",\n \"Lebanon\",\n \"Lesotho\",\n \"Liberia\",\n \"Libyan Arab Jamahiriya\",\n \"Liechtenstein\",\n \"Lithuania\",\n \"Luxembourg\",\n \"Macao\",\n \"Macedonia\",\n \"Madagascar\",\n \"Malawi\",\n \"Malaysia\",\n \"Maldives\",\n \"Mali\",\n \"Malta\",\n \"Marshall Islands\",\n \"Martinique\",\n \"Mauritania\",\n \"Mauritius\",\n \"Mayotte\",\n \"Mexico\",\n \"Micronesia\",\n \"Moldova\",\n \"Monaco\",\n \"Mongolia\",\n \"Montenegro\",\n \"Montserrat\",\n \"Morocco\",\n \"Mozambique\",\n \"Myanmar\",\n \"Namibia\",\n \"Nauru\",\n \"Nepal\",\n \"Netherlands Antilles\",\n \"Netherlands\",\n \"New Caledonia\",\n \"New Zealand\",\n \"Nicaragua\",\n \"Niger\",\n \"Nigeria\",\n \"Niue\",\n \"Norfolk Island\",\n \"Northern Mariana Islands\",\n \"Norway\",\n \"Oman\",\n \"Pakistan\",\n \"Palau\",\n \"Palestinian Territory\",\n \"Panama\",\n \"Papua New Guinea\",\n \"Paraguay\",\n \"Peru\",\n \"Philippines\",\n \"Pitcairn Islands\",\n \"Poland\",\n \"Portugal\",\n \"Puerto Rico\",\n \"Qatar\",\n \"Reunion\",\n \"Romania\",\n \"Russian Federation\",\n \"Rwanda\",\n \"Saint Barthelemy\",\n \"Saint Helena\",\n \"Saint Kitts and Nevis\",\n \"Saint Lucia\",\n \"Saint Martin\",\n \"Saint Pierre and Miquelon\",\n \"Saint Vincent and the Grenadines\",\n \"Samoa\",\n \"San Marino\",\n \"Sao Tome and Principe\",\n \"Saudi Arabia\",\n \"Senegal\",\n \"Serbia\",\n \"Seychelles\",\n \"Sierra Leone\",\n \"Singapore\",\n \"Slovakia (Slovak Republic)\",\n \"Slovenia\",\n \"Solomon Islands\",\n \"Somalia\",\n \"South Africa\",\n \"South Georgia and the South Sandwich Islands\",\n \"Spain\",\n \"Sri Lanka\",\n \"Sudan\",\n \"Suriname\",\n \"Svalbard & Jan Mayen Islands\",\n \"Swaziland\",\n \"Sweden\",\n \"Switzerland\",\n \"Syrian Arab Republic\",\n \"Taiwan\",\n \"Tajikistan\",\n \"Tanzania\",\n \"Thailand\",\n \"Timor-Leste\",\n \"Togo\",\n \"Tokelau\",\n \"Tonga\",\n \"Trinidad and Tobago\",\n \"Tunisia\",\n \"Turkey\",\n \"Turkmenistan\",\n \"Turks and Caicos Islands\",\n \"Tuvalu\",\n \"Uganda\",\n \"Ukraine\",\n \"United Arab Emirates\",\n \"United Kingdom\",\n \"United States of America\",\n \"United States Minor Outlying Islands\",\n \"Uruguay\",\n \"Uzbekistan\",\n \"Vanuatu\",\n \"Venezuela\",\n \"Vietnam\",\n \"Virgin Islands, British\",\n \"Virgin Islands, U.S.\",\n \"Wallis and Futuna\",\n \"Western Sahara\",\n \"Yemen\",\n \"Zambia\",\n \"Zimbabwe\"\n];\n","module[\"exports\"] = [\n \"AD\",\n \"AE\",\n \"AF\",\n \"AG\",\n \"AI\",\n \"AL\",\n \"AM\",\n \"AO\",\n \"AQ\",\n \"AR\",\n \"AS\",\n \"AT\",\n \"AU\",\n \"AW\",\n \"AX\",\n \"AZ\",\n \"BA\",\n \"BB\",\n \"BD\",\n \"BE\",\n \"BF\",\n \"BG\",\n \"BH\",\n \"BI\",\n \"BJ\",\n \"BL\",\n \"BM\",\n \"BN\",\n \"BO\",\n \"BQ\",\n \"BR\",\n \"BS\",\n \"BT\",\n \"BV\",\n \"BW\",\n \"BY\",\n \"BZ\",\n \"CA\",\n \"CC\",\n \"CD\",\n \"CF\",\n \"CG\",\n \"CH\",\n \"CI\",\n \"CK\",\n \"CL\",\n \"CM\",\n \"CN\",\n \"CO\",\n \"CR\",\n \"CU\",\n \"CV\",\n \"CW\",\n \"CX\",\n \"CY\",\n \"CZ\",\n \"DE\",\n \"DJ\",\n \"DK\",\n \"DM\",\n \"DO\",\n \"DZ\",\n \"EC\",\n \"EE\",\n \"EG\",\n \"EH\",\n \"ER\",\n \"ES\",\n \"ET\",\n \"FI\",\n \"FJ\",\n \"FK\",\n \"FM\",\n \"FO\",\n \"FR\",\n \"GA\",\n \"GB\",\n \"GD\",\n \"GE\",\n \"GF\",\n \"GG\",\n \"GH\",\n \"GI\",\n \"GL\",\n \"GM\",\n \"GN\",\n \"GP\",\n \"GQ\",\n \"GR\",\n \"GS\",\n \"GT\",\n \"GU\",\n \"GW\",\n \"GY\",\n \"HK\",\n \"HM\",\n \"HN\",\n \"HR\",\n \"HT\",\n \"HU\",\n \"ID\",\n \"IE\",\n \"IL\",\n \"IM\",\n \"IN\",\n \"IO\",\n \"IQ\",\n \"IR\",\n \"IS\",\n \"IT\",\n \"JE\",\n \"JM\",\n \"JO\",\n \"JP\",\n \"KE\",\n \"KG\",\n \"KH\",\n \"KI\",\n \"KM\",\n \"KN\",\n \"KP\",\n \"KR\",\n \"KW\",\n \"KY\",\n \"KZ\",\n \"LA\",\n \"LB\",\n \"LC\",\n \"LI\",\n \"LK\",\n \"LR\",\n \"LS\",\n \"LT\",\n \"LU\",\n \"LV\",\n \"LY\",\n \"MA\",\n \"MC\",\n \"MD\",\n \"ME\",\n \"MF\",\n \"MG\",\n \"MH\",\n \"MK\",\n \"ML\",\n \"MM\",\n \"MN\",\n \"MO\",\n \"MP\",\n \"MQ\",\n \"MR\",\n \"MS\",\n \"MT\",\n \"MU\",\n \"MV\",\n \"MW\",\n \"MX\",\n \"MY\",\n \"MZ\",\n \"NA\",\n \"NC\",\n \"NE\",\n \"NF\",\n \"NG\",\n \"NI\",\n \"NL\",\n \"NO\",\n \"NP\",\n \"NR\",\n \"NU\",\n \"NZ\",\n \"OM\",\n \"PA\",\n \"PE\",\n \"PF\",\n \"PG\",\n \"PH\",\n \"PK\",\n \"PL\",\n \"PM\",\n \"PN\",\n \"PR\",\n \"PS\",\n \"PT\",\n \"PW\",\n \"PY\",\n \"QA\",\n \"RE\",\n \"RO\",\n \"RS\",\n \"RU\",\n \"RW\",\n \"SA\",\n \"SB\",\n \"SC\",\n \"SD\",\n \"SE\",\n \"SG\",\n \"SH\",\n \"SI\",\n \"SJ\",\n \"SK\",\n \"SL\",\n \"SM\",\n \"SN\",\n \"SO\",\n \"SR\",\n \"SS\",\n \"ST\",\n \"SV\",\n \"SX\",\n \"SY\",\n \"SZ\",\n \"TC\",\n \"TD\",\n \"TF\",\n \"TG\",\n \"TH\",\n \"TJ\",\n \"TK\",\n \"TL\",\n \"TM\",\n \"TN\",\n \"TO\",\n \"TR\",\n \"TT\",\n \"TV\",\n \"TW\",\n \"TZ\",\n \"UA\",\n \"UG\",\n \"UM\",\n \"US\",\n \"UY\",\n \"UZ\",\n \"VA\",\n \"VC\",\n \"VE\",\n \"VG\",\n \"VI\",\n \"VN\",\n \"VU\",\n \"WF\",\n \"WS\",\n \"YE\",\n \"YT\",\n \"ZA\",\n \"ZM\",\n \"ZW\"\n];\n","module[\"exports\"] = [\n \"BGD\",\n \"BEL\",\n \"BFA\",\n \"BGR\",\n \"BIH\",\n \"BRB\",\n \"WLF\",\n \"BLM\",\n \"BMU\",\n \"BRN\",\n \"BOL\",\n \"BHR\",\n \"BDI\",\n \"BEN\",\n \"BTN\",\n \"JAM\",\n \"BVT\",\n \"BWA\",\n \"WSM\",\n \"BES\",\n \"BRA\",\n \"BHS\",\n \"JEY\",\n \"BLR\",\n \"BLZ\",\n \"RUS\",\n \"RWA\",\n \"SRB\",\n \"TLS\",\n \"REU\",\n \"TKM\",\n \"TJK\",\n \"ROU\",\n \"TKL\",\n \"GNB\",\n \"GUM\",\n \"GTM\",\n \"SGS\",\n \"GRC\",\n \"GNQ\",\n \"GLP\",\n \"JPN\",\n \"GUY\",\n \"GGY\",\n \"GUF\",\n \"GEO\",\n \"GRD\",\n \"GBR\",\n \"GAB\",\n \"SLV\",\n \"GIN\",\n \"GMB\",\n \"GRL\",\n \"GIB\",\n \"GHA\",\n \"OMN\",\n \"TUN\",\n \"JOR\",\n \"HRV\",\n \"HTI\",\n \"HUN\",\n \"HKG\",\n \"HND\",\n \"HMD\",\n \"VEN\",\n \"PRI\",\n \"PSE\",\n \"PLW\",\n \"PRT\",\n \"SJM\",\n \"PRY\",\n \"IRQ\",\n \"PAN\",\n \"PYF\",\n \"PNG\",\n \"PER\",\n \"PAK\",\n \"PHL\",\n \"PCN\",\n \"POL\",\n \"SPM\",\n \"ZMB\",\n \"ESH\",\n \"EST\",\n \"EGY\",\n \"ZAF\",\n \"ECU\",\n \"ITA\",\n \"VNM\",\n \"SLB\",\n \"ETH\",\n \"SOM\",\n \"ZWE\",\n \"SAU\",\n \"ESP\",\n \"ERI\",\n \"MNE\",\n \"MDA\",\n \"MDG\",\n \"MAF\",\n \"MAR\",\n \"MCO\",\n \"UZB\",\n \"MMR\",\n \"MLI\",\n \"MAC\",\n \"MNG\",\n \"MHL\",\n \"MKD\",\n \"MUS\",\n \"MLT\",\n \"MWI\",\n \"MDV\",\n \"MTQ\",\n \"MNP\",\n \"MSR\",\n \"MRT\",\n \"IMN\",\n \"UGA\",\n \"TZA\",\n \"MYS\",\n \"MEX\",\n \"ISR\",\n \"FRA\",\n \"IOT\",\n \"SHN\",\n \"FIN\",\n \"FJI\",\n \"FLK\",\n \"FSM\",\n \"FRO\",\n \"NIC\",\n \"NLD\",\n \"NOR\",\n \"NAM\",\n \"VUT\",\n \"NCL\",\n \"NER\",\n \"NFK\",\n \"NGA\",\n \"NZL\",\n \"NPL\",\n \"NRU\",\n \"NIU\",\n \"COK\",\n \"XKX\",\n \"CIV\",\n \"CHE\",\n \"COL\",\n \"CHN\",\n \"CMR\",\n \"CHL\",\n \"CCK\",\n \"CAN\",\n \"COG\",\n \"CAF\",\n \"COD\",\n \"CZE\",\n \"CYP\",\n \"CXR\",\n \"CRI\",\n \"CUW\",\n \"CPV\",\n \"CUB\",\n \"SWZ\",\n \"SYR\",\n \"SXM\",\n \"KGZ\",\n \"KEN\",\n \"SSD\",\n \"SUR\",\n \"KIR\",\n \"KHM\",\n \"KNA\",\n \"COM\",\n \"STP\",\n \"SVK\",\n \"KOR\",\n \"SVN\",\n \"PRK\",\n \"KWT\",\n \"SEN\",\n \"SMR\",\n \"SLE\",\n \"SYC\",\n \"KAZ\",\n \"CYM\",\n \"SGP\",\n \"SWE\",\n \"SDN\",\n \"DOM\",\n \"DMA\",\n \"DJI\",\n \"DNK\",\n \"VGB\",\n \"DEU\",\n \"YEM\",\n \"DZA\",\n \"USA\",\n \"URY\",\n \"MYT\",\n \"UMI\",\n \"LBN\",\n \"LCA\",\n \"LAO\",\n \"TUV\",\n \"TWN\",\n \"TTO\",\n \"TUR\",\n \"LKA\",\n \"LIE\",\n \"LVA\",\n \"TON\",\n \"LTU\",\n \"LUX\",\n \"LBR\",\n \"LSO\",\n \"THA\",\n \"ATF\",\n \"TGO\",\n \"TCD\",\n \"TCA\",\n \"LBY\",\n \"VAT\",\n \"VCT\",\n \"ARE\",\n \"AND\",\n \"ATG\",\n \"AFG\",\n \"AIA\",\n \"VIR\",\n \"ISL\",\n \"IRN\",\n \"ARM\",\n \"ALB\",\n \"AGO\",\n \"ATA\",\n \"ASM\",\n \"ARG\",\n \"AUS\",\n \"AUT\",\n \"ABW\",\n \"IND\",\n \"ALA\",\n \"AZE\",\n \"IRL\",\n \"IDN\",\n \"UKR\",\n \"QAT\",\n \"MOZ\"\n];","module[\"exports\"] = [\n \"#####\",\n \"####\",\n \"###\"\n];\n","module[\"exports\"] = [\n \"Alley\",\n \"Avenue\",\n \"Branch\",\n \"Bridge\",\n \"Brook\",\n \"Brooks\",\n \"Burg\",\n \"Burgs\",\n \"Bypass\",\n \"Camp\",\n \"Canyon\",\n \"Cape\",\n \"Causeway\",\n \"Center\",\n \"Centers\",\n \"Circle\",\n \"Circles\",\n \"Cliff\",\n \"Cliffs\",\n \"Club\",\n \"Common\",\n \"Corner\",\n \"Corners\",\n \"Course\",\n \"Court\",\n \"Courts\",\n \"Cove\",\n \"Coves\",\n \"Creek\",\n \"Crescent\",\n \"Crest\",\n \"Crossing\",\n \"Crossroad\",\n \"Curve\",\n \"Dale\",\n \"Dam\",\n \"Divide\",\n \"Drive\",\n \"Drive\",\n \"Drives\",\n \"Estate\",\n \"Estates\",\n \"Expressway\",\n \"Extension\",\n \"Extensions\",\n \"Fall\",\n \"Falls\",\n \"Ferry\",\n \"Field\",\n \"Fields\",\n \"Flat\",\n \"Flats\",\n \"Ford\",\n \"Fords\",\n \"Forest\",\n \"Forge\",\n \"Forges\",\n \"Fork\",\n \"Forks\",\n \"Fort\",\n \"Freeway\",\n \"Garden\",\n \"Gardens\",\n \"Gateway\",\n \"Glen\",\n \"Glens\",\n \"Green\",\n \"Greens\",\n \"Grove\",\n \"Groves\",\n \"Harbor\",\n \"Harbors\",\n \"Haven\",\n \"Heights\",\n \"Highway\",\n \"Hill\",\n \"Hills\",\n \"Hollow\",\n \"Inlet\",\n \"Inlet\",\n \"Island\",\n \"Island\",\n \"Islands\",\n \"Islands\",\n \"Isle\",\n \"Isle\",\n \"Junction\",\n \"Junctions\",\n \"Key\",\n \"Keys\",\n \"Knoll\",\n \"Knolls\",\n \"Lake\",\n \"Lakes\",\n \"Land\",\n \"Landing\",\n \"Lane\",\n \"Light\",\n \"Lights\",\n \"Loaf\",\n \"Lock\",\n \"Locks\",\n \"Locks\",\n \"Lodge\",\n \"Lodge\",\n \"Loop\",\n \"Mall\",\n \"Manor\",\n \"Manors\",\n \"Meadow\",\n \"Meadows\",\n \"Mews\",\n \"Mill\",\n \"Mills\",\n \"Mission\",\n \"Mission\",\n \"Motorway\",\n \"Mount\",\n \"Mountain\",\n \"Mountain\",\n \"Mountains\",\n \"Mountains\",\n \"Neck\",\n \"Orchard\",\n \"Oval\",\n \"Overpass\",\n \"Park\",\n \"Parks\",\n \"Parkway\",\n \"Parkways\",\n \"Pass\",\n \"Passage\",\n \"Path\",\n \"Pike\",\n \"Pine\",\n \"Pines\",\n \"Place\",\n \"Plain\",\n \"Plains\",\n \"Plains\",\n \"Plaza\",\n \"Plaza\",\n \"Point\",\n \"Points\",\n \"Port\",\n \"Port\",\n \"Ports\",\n \"Ports\",\n \"Prairie\",\n \"Prairie\",\n \"Radial\",\n \"Ramp\",\n \"Ranch\",\n \"Rapid\",\n \"Rapids\",\n \"Rest\",\n \"Ridge\",\n \"Ridges\",\n \"River\",\n \"Road\",\n \"Road\",\n \"Roads\",\n \"Roads\",\n \"Route\",\n \"Row\",\n \"Rue\",\n \"Run\",\n \"Shoal\",\n \"Shoals\",\n \"Shore\",\n \"Shores\",\n \"Skyway\",\n \"Spring\",\n \"Springs\",\n \"Springs\",\n \"Spur\",\n \"Spurs\",\n \"Square\",\n \"Square\",\n \"Squares\",\n \"Squares\",\n \"Station\",\n \"Station\",\n \"Stravenue\",\n \"Stravenue\",\n \"Stream\",\n \"Stream\",\n \"Street\",\n \"Street\",\n \"Streets\",\n \"Summit\",\n \"Summit\",\n \"Terrace\",\n \"Throughway\",\n \"Trace\",\n \"Track\",\n \"Trafficway\",\n \"Trail\",\n \"Trail\",\n \"Tunnel\",\n \"Tunnel\",\n \"Turnpike\",\n \"Turnpike\",\n \"Underpass\",\n \"Union\",\n \"Unions\",\n \"Valley\",\n \"Valleys\",\n \"Via\",\n \"Viaduct\",\n \"View\",\n \"Views\",\n \"Village\",\n \"Village\",\n \"Villages\",\n \"Ville\",\n \"Vista\",\n \"Vista\",\n \"Walk\",\n \"Walks\",\n \"Wall\",\n \"Way\",\n \"Ways\",\n \"Well\",\n \"Wells\"\n];\n","module[\"exports\"] = [\n \"Apt. ###\",\n \"Suite ###\"\n];\n","module[\"exports\"] = [\n \"#####\",\n \"#####-####\"\n];\n","module[\"exports\"] = [\n \"#####\",\n \"#####-####\"\n];\n","module[\"exports\"] = [\n \"Alabama\",\n \"Alaska\",\n \"Arizona\",\n \"Arkansas\",\n \"California\",\n \"Colorado\",\n \"Connecticut\",\n \"Delaware\",\n \"Florida\",\n \"Georgia\",\n \"Hawaii\",\n \"Idaho\",\n \"Illinois\",\n \"Indiana\",\n \"Iowa\",\n \"Kansas\",\n \"Kentucky\",\n \"Louisiana\",\n \"Maine\",\n \"Maryland\",\n \"Massachusetts\",\n \"Michigan\",\n \"Minnesota\",\n \"Mississippi\",\n \"Missouri\",\n \"Montana\",\n \"Nebraska\",\n \"Nevada\",\n \"New Hampshire\",\n \"New Jersey\",\n \"New Mexico\",\n \"New York\",\n \"North Carolina\",\n \"North Dakota\",\n \"Ohio\",\n \"Oklahoma\",\n \"Oregon\",\n \"Pennsylvania\",\n \"Rhode Island\",\n \"South Carolina\",\n \"South Dakota\",\n \"Tennessee\",\n \"Texas\",\n \"Utah\",\n \"Vermont\",\n \"Virginia\",\n \"Washington\",\n \"West Virginia\",\n \"Wisconsin\",\n \"Wyoming\"\n];\n","module[\"exports\"] = [\n \"AL\",\n \"AK\",\n \"AZ\",\n \"AR\",\n \"CA\",\n \"CO\",\n \"CT\",\n \"DE\",\n \"FL\",\n \"GA\",\n \"HI\",\n \"ID\",\n \"IL\",\n \"IN\",\n \"IA\",\n \"KS\",\n \"KY\",\n \"LA\",\n \"ME\",\n \"MD\",\n \"MA\",\n \"MI\",\n \"MN\",\n \"MS\",\n \"MO\",\n \"MT\",\n \"NE\",\n \"NV\",\n \"NH\",\n \"NJ\",\n \"NM\",\n \"NY\",\n \"NC\",\n \"ND\",\n \"OH\",\n \"OK\",\n \"OR\",\n \"PA\",\n \"RI\",\n \"SC\",\n \"SD\",\n \"TN\",\n \"TX\",\n \"UT\",\n \"VT\",\n \"VA\",\n \"WA\",\n \"WV\",\n \"WI\",\n \"WY\"\n];\n","module[\"exports\"] = [\n \"Pacific/Midway\",\n \"Pacific/Pago_Pago\",\n \"Pacific/Honolulu\",\n \"America/Juneau\",\n \"America/Los_Angeles\",\n \"America/Tijuana\",\n \"America/Denver\",\n \"America/Phoenix\",\n \"America/Chihuahua\",\n \"America/Mazatlan\",\n \"America/Chicago\",\n \"America/Regina\",\n \"America/Mexico_City\",\n \"America/Mexico_City\",\n \"America/Monterrey\",\n \"America/Guatemala\",\n \"America/New_York\",\n \"America/Indiana/Indianapolis\",\n \"America/Bogota\",\n \"America/Lima\",\n \"America/Lima\",\n \"America/Halifax\",\n \"America/Caracas\",\n \"America/La_Paz\",\n \"America/Santiago\",\n \"America/St_Johns\",\n \"America/Sao_Paulo\",\n \"America/Argentina/Buenos_Aires\",\n \"America/Guyana\",\n \"America/Godthab\",\n \"Atlantic/South_Georgia\",\n \"Atlantic/Azores\",\n \"Atlantic/Cape_Verde\",\n \"Europe/Dublin\",\n \"Europe/London\",\n \"Europe/Lisbon\",\n \"Europe/London\",\n \"Africa/Casablanca\",\n \"Africa/Monrovia\",\n \"Etc/UTC\",\n \"Europe/Belgrade\",\n \"Europe/Bratislava\",\n \"Europe/Budapest\",\n \"Europe/Ljubljana\",\n \"Europe/Prague\",\n \"Europe/Sarajevo\",\n \"Europe/Skopje\",\n \"Europe/Warsaw\",\n \"Europe/Zagreb\",\n \"Europe/Brussels\",\n \"Europe/Copenhagen\",\n \"Europe/Madrid\",\n \"Europe/Paris\",\n \"Europe/Amsterdam\",\n \"Europe/Berlin\",\n \"Europe/Berlin\",\n \"Europe/Rome\",\n \"Europe/Stockholm\",\n \"Europe/Vienna\",\n \"Africa/Algiers\",\n \"Europe/Bucharest\",\n \"Africa/Cairo\",\n \"Europe/Helsinki\",\n \"Europe/Kiev\",\n \"Europe/Riga\",\n \"Europe/Sofia\",\n \"Europe/Tallinn\",\n \"Europe/Vilnius\",\n \"Europe/Athens\",\n \"Europe/Istanbul\",\n \"Europe/Minsk\",\n \"Asia/Jerusalem\",\n \"Africa/Harare\",\n \"Africa/Johannesburg\",\n \"Europe/Moscow\",\n \"Europe/Moscow\",\n \"Europe/Moscow\",\n \"Asia/Kuwait\",\n \"Asia/Riyadh\",\n \"Africa/Nairobi\",\n \"Asia/Baghdad\",\n \"Asia/Tehran\",\n \"Asia/Muscat\",\n \"Asia/Muscat\",\n \"Asia/Baku\",\n \"Asia/Tbilisi\",\n \"Asia/Yerevan\",\n \"Asia/Kabul\",\n \"Asia/Yekaterinburg\",\n \"Asia/Karachi\",\n \"Asia/Karachi\",\n \"Asia/Tashkent\",\n \"Asia/Kolkata\",\n \"Asia/Kolkata\",\n \"Asia/Kolkata\",\n \"Asia/Kolkata\",\n \"Asia/Kathmandu\",\n \"Asia/Dhaka\",\n \"Asia/Dhaka\",\n \"Asia/Colombo\",\n \"Asia/Almaty\",\n \"Asia/Novosibirsk\",\n \"Asia/Rangoon\",\n \"Asia/Bangkok\",\n \"Asia/Bangkok\",\n \"Asia/Jakarta\",\n \"Asia/Krasnoyarsk\",\n \"Asia/Shanghai\",\n \"Asia/Chongqing\",\n \"Asia/Hong_Kong\",\n \"Asia/Urumqi\",\n \"Asia/Kuala_Lumpur\",\n \"Asia/Singapore\",\n \"Asia/Taipei\",\n \"Australia/Perth\",\n \"Asia/Irkutsk\",\n \"Asia/Ulaanbaatar\",\n \"Asia/Seoul\",\n \"Asia/Tokyo\",\n \"Asia/Tokyo\",\n \"Asia/Tokyo\",\n \"Asia/Yakutsk\",\n \"Australia/Darwin\",\n \"Australia/Adelaide\",\n \"Australia/Melbourne\",\n \"Australia/Melbourne\",\n \"Australia/Sydney\",\n \"Australia/Brisbane\",\n \"Australia/Hobart\",\n \"Asia/Vladivostok\",\n \"Pacific/Guam\",\n \"Pacific/Port_Moresby\",\n \"Asia/Magadan\",\n \"Asia/Magadan\",\n \"Pacific/Noumea\",\n \"Pacific/Fiji\",\n \"Asia/Kamchatka\",\n \"Pacific/Majuro\",\n \"Pacific/Auckland\",\n \"Pacific/Auckland\",\n \"Pacific/Tongatapu\",\n \"Pacific/Fakaofo\",\n \"Pacific/Apia\"\n];\n","module[\"exports\"] = [\n \"#{city_prefix} #{Name.first_name}#{city_suffix}\",\n \"#{city_prefix} #{Name.first_name}\",\n \"#{Name.first_name}#{city_suffix}\",\n \"#{Name.last_name}#{city_suffix}\"\n];\n","module[\"exports\"] = [\n \"#{Name.first_name} #{street_suffix}\",\n \"#{Name.last_name} #{street_suffix}\"\n];\n","module[\"exports\"] = [\n \"#{building_number} #{street_name}\"\n];\n","module[\"exports\"] = [\n \"United States of America\"\n];\n","module[\"exports\"] = [\n \"North\",\n \"East\",\n \"South\",\n \"West\",\n \"Northeast\",\n \"Northwest\",\n \"Southeast\",\n \"Southwest\"\n];\n","module[\"exports\"] = [\n \"N\",\n \"E\",\n \"S\",\n \"W\",\n \"NE\",\n \"NW\",\n \"SE\",\n \"SW\"\n];\n","var address = {};\nmodule['exports'] = address;\naddress.city_prefix = require(\"./city_prefix\");\naddress.city_suffix = require(\"./city_suffix\");\naddress.county = require(\"./county\");\naddress.country = require(\"./country\");\naddress.country_code = require(\"./country_code\");\naddress.country_code_alpha_3 = require(\"./country_code_alpha_3\");\naddress.building_number = require(\"./building_number\");\naddress.street_suffix = require(\"./street_suffix\");\naddress.secondary_address = require(\"./secondary_address\");\naddress.postcode = require(\"./postcode\");\naddress.postcode_by_state = require(\"./postcode_by_state\");\naddress.state = require(\"./state\");\naddress.state_abbr = require(\"./state_abbr\");\naddress.time_zone = require(\"./time_zone\");\naddress.city = require(\"./city\");\naddress.street_name = require(\"./street_name\");\naddress.street_address = require(\"./street_address\");\naddress.default_country = require(\"./default_country\");\naddress.direction = require(\"./direction\");\naddress.direction_abbr = require(\"./direction_abbr\");\n","module[\"exports\"] = [\n \"Inc\",\n \"and Sons\",\n \"LLC\",\n \"Group\"\n];\n","module[\"exports\"] = [\n \"Adaptive\",\n \"Advanced\",\n \"Ameliorated\",\n \"Assimilated\",\n \"Automated\",\n \"Balanced\",\n \"Business-focused\",\n \"Centralized\",\n \"Cloned\",\n \"Compatible\",\n \"Configurable\",\n \"Cross-group\",\n \"Cross-platform\",\n \"Customer-focused\",\n \"Customizable\",\n \"Decentralized\",\n \"De-engineered\",\n \"Devolved\",\n \"Digitized\",\n \"Distributed\",\n \"Diverse\",\n \"Down-sized\",\n \"Enhanced\",\n \"Enterprise-wide\",\n \"Ergonomic\",\n \"Exclusive\",\n \"Expanded\",\n \"Extended\",\n \"Face to face\",\n \"Focused\",\n \"Front-line\",\n \"Fully-configurable\",\n \"Function-based\",\n \"Fundamental\",\n \"Future-proofed\",\n \"Grass-roots\",\n \"Horizontal\",\n \"Implemented\",\n \"Innovative\",\n \"Integrated\",\n \"Intuitive\",\n \"Inverse\",\n \"Managed\",\n \"Mandatory\",\n \"Monitored\",\n \"Multi-channelled\",\n \"Multi-lateral\",\n \"Multi-layered\",\n \"Multi-tiered\",\n \"Networked\",\n \"Object-based\",\n \"Open-architected\",\n \"Open-source\",\n \"Operative\",\n \"Optimized\",\n \"Optional\",\n \"Organic\",\n \"Organized\",\n \"Persevering\",\n \"Persistent\",\n \"Phased\",\n \"Polarised\",\n \"Pre-emptive\",\n \"Proactive\",\n \"Profit-focused\",\n \"Profound\",\n \"Programmable\",\n \"Progressive\",\n \"Public-key\",\n \"Quality-focused\",\n \"Reactive\",\n \"Realigned\",\n \"Re-contextualized\",\n \"Re-engineered\",\n \"Reduced\",\n \"Reverse-engineered\",\n \"Right-sized\",\n \"Robust\",\n \"Seamless\",\n \"Secured\",\n \"Self-enabling\",\n \"Sharable\",\n \"Stand-alone\",\n \"Streamlined\",\n \"Switchable\",\n \"Synchronised\",\n \"Synergistic\",\n \"Synergized\",\n \"Team-oriented\",\n \"Total\",\n \"Triple-buffered\",\n \"Universal\",\n \"Up-sized\",\n \"Upgradable\",\n \"User-centric\",\n \"User-friendly\",\n \"Versatile\",\n \"Virtual\",\n \"Visionary\",\n \"Vision-oriented\"\n];\n","module[\"exports\"] = [\n \"24 hour\",\n \"24/7\",\n \"3rd generation\",\n \"4th generation\",\n \"5th generation\",\n \"6th generation\",\n \"actuating\",\n \"analyzing\",\n \"asymmetric\",\n \"asynchronous\",\n \"attitude-oriented\",\n \"background\",\n \"bandwidth-monitored\",\n \"bi-directional\",\n \"bifurcated\",\n \"bottom-line\",\n \"clear-thinking\",\n \"client-driven\",\n \"client-server\",\n \"coherent\",\n \"cohesive\",\n \"composite\",\n \"context-sensitive\",\n \"contextually-based\",\n \"content-based\",\n \"dedicated\",\n \"demand-driven\",\n \"didactic\",\n \"directional\",\n \"discrete\",\n \"disintermediate\",\n \"dynamic\",\n \"eco-centric\",\n \"empowering\",\n \"encompassing\",\n \"even-keeled\",\n \"executive\",\n \"explicit\",\n \"exuding\",\n \"fault-tolerant\",\n \"foreground\",\n \"fresh-thinking\",\n \"full-range\",\n \"global\",\n \"grid-enabled\",\n \"heuristic\",\n \"high-level\",\n \"holistic\",\n \"homogeneous\",\n \"human-resource\",\n \"hybrid\",\n \"impactful\",\n \"incremental\",\n \"intangible\",\n \"interactive\",\n \"intermediate\",\n \"leading edge\",\n \"local\",\n \"logistical\",\n \"maximized\",\n \"methodical\",\n \"mission-critical\",\n \"mobile\",\n \"modular\",\n \"motivating\",\n \"multimedia\",\n \"multi-state\",\n \"multi-tasking\",\n \"national\",\n \"needs-based\",\n \"neutral\",\n \"next generation\",\n \"non-volatile\",\n \"object-oriented\",\n \"optimal\",\n \"optimizing\",\n \"radical\",\n \"real-time\",\n \"reciprocal\",\n \"regional\",\n \"responsive\",\n \"scalable\",\n \"secondary\",\n \"solution-oriented\",\n \"stable\",\n \"static\",\n \"systematic\",\n \"systemic\",\n \"system-worthy\",\n \"tangible\",\n \"tertiary\",\n \"transitional\",\n \"uniform\",\n \"upward-trending\",\n \"user-facing\",\n \"value-added\",\n \"web-enabled\",\n \"well-modulated\",\n \"zero administration\",\n \"zero defect\",\n \"zero tolerance\"\n];\n","module[\"exports\"] = [\n \"ability\",\n \"access\",\n \"adapter\",\n \"algorithm\",\n \"alliance\",\n \"analyzer\",\n \"application\",\n \"approach\",\n \"architecture\",\n \"archive\",\n \"artificial intelligence\",\n \"array\",\n \"attitude\",\n \"benchmark\",\n \"budgetary management\",\n \"capability\",\n \"capacity\",\n \"challenge\",\n \"circuit\",\n \"collaboration\",\n \"complexity\",\n \"concept\",\n \"conglomeration\",\n \"contingency\",\n \"core\",\n \"customer loyalty\",\n \"database\",\n \"data-warehouse\",\n \"definition\",\n \"emulation\",\n \"encoding\",\n \"encryption\",\n \"extranet\",\n \"firmware\",\n \"flexibility\",\n \"focus group\",\n \"forecast\",\n \"frame\",\n \"framework\",\n \"function\",\n \"functionalities\",\n \"Graphic Interface\",\n \"groupware\",\n \"Graphical User Interface\",\n \"hardware\",\n \"help-desk\",\n \"hierarchy\",\n \"hub\",\n \"implementation\",\n \"info-mediaries\",\n \"infrastructure\",\n \"initiative\",\n \"installation\",\n \"instruction set\",\n \"interface\",\n \"internet solution\",\n \"intranet\",\n \"knowledge user\",\n \"knowledge base\",\n \"local area network\",\n \"leverage\",\n \"matrices\",\n \"matrix\",\n \"methodology\",\n \"middleware\",\n \"migration\",\n \"model\",\n \"moderator\",\n \"monitoring\",\n \"moratorium\",\n \"neural-net\",\n \"open architecture\",\n \"open system\",\n \"orchestration\",\n \"paradigm\",\n \"parallelism\",\n \"policy\",\n \"portal\",\n \"pricing structure\",\n \"process improvement\",\n \"product\",\n \"productivity\",\n \"project\",\n \"projection\",\n \"protocol\",\n \"secured line\",\n \"service-desk\",\n \"software\",\n \"solution\",\n \"standardization\",\n \"strategy\",\n \"structure\",\n \"success\",\n \"superstructure\",\n \"support\",\n \"synergy\",\n \"system engine\",\n \"task-force\",\n \"throughput\",\n \"time-frame\",\n \"toolset\",\n \"utilisation\",\n \"website\",\n \"workforce\"\n];\n","module[\"exports\"] = [\n \"implement\",\n \"utilize\",\n \"integrate\",\n \"streamline\",\n \"optimize\",\n \"evolve\",\n \"transform\",\n \"embrace\",\n \"enable\",\n \"orchestrate\",\n \"leverage\",\n \"reinvent\",\n \"aggregate\",\n \"architect\",\n \"enhance\",\n \"incentivize\",\n \"morph\",\n \"empower\",\n \"envisioneer\",\n \"monetize\",\n \"harness\",\n \"facilitate\",\n \"seize\",\n \"disintermediate\",\n \"synergize\",\n \"strategize\",\n \"deploy\",\n \"brand\",\n \"grow\",\n \"target\",\n \"syndicate\",\n \"synthesize\",\n \"deliver\",\n \"mesh\",\n \"incubate\",\n \"engage\",\n \"maximize\",\n \"benchmark\",\n \"expedite\",\n \"reintermediate\",\n \"whiteboard\",\n \"visualize\",\n \"repurpose\",\n \"innovate\",\n \"scale\",\n \"unleash\",\n \"drive\",\n \"extend\",\n \"engineer\",\n \"revolutionize\",\n \"generate\",\n \"exploit\",\n \"transition\",\n \"e-enable\",\n \"iterate\",\n \"cultivate\",\n \"matrix\",\n \"productize\",\n \"redefine\",\n \"recontextualize\"\n];\n","module[\"exports\"] = [\n \"clicks-and-mortar\",\n \"value-added\",\n \"vertical\",\n \"proactive\",\n \"robust\",\n \"revolutionary\",\n \"scalable\",\n \"leading-edge\",\n \"innovative\",\n \"intuitive\",\n \"strategic\",\n \"e-business\",\n \"mission-critical\",\n \"sticky\",\n \"one-to-one\",\n \"24/7\",\n \"end-to-end\",\n \"global\",\n \"B2B\",\n \"B2C\",\n \"granular\",\n \"frictionless\",\n \"virtual\",\n \"viral\",\n \"dynamic\",\n \"24/365\",\n \"best-of-breed\",\n \"killer\",\n \"magnetic\",\n \"bleeding-edge\",\n \"web-enabled\",\n \"interactive\",\n \"dot-com\",\n \"sexy\",\n \"back-end\",\n \"real-time\",\n \"efficient\",\n \"front-end\",\n \"distributed\",\n \"seamless\",\n \"extensible\",\n \"turn-key\",\n \"world-class\",\n \"open-source\",\n \"cross-platform\",\n \"cross-media\",\n \"synergistic\",\n \"bricks-and-clicks\",\n \"out-of-the-box\",\n \"enterprise\",\n \"integrated\",\n \"impactful\",\n \"wireless\",\n \"transparent\",\n \"next-generation\",\n \"cutting-edge\",\n \"user-centric\",\n \"visionary\",\n \"customized\",\n \"ubiquitous\",\n \"plug-and-play\",\n \"collaborative\",\n \"compelling\",\n \"holistic\",\n \"rich\"\n];\n","module[\"exports\"] = [\n \"synergies\",\n \"web-readiness\",\n \"paradigms\",\n \"markets\",\n \"partnerships\",\n \"infrastructures\",\n \"platforms\",\n \"initiatives\",\n \"channels\",\n \"eyeballs\",\n \"communities\",\n \"ROI\",\n \"solutions\",\n \"e-tailers\",\n \"e-services\",\n \"action-items\",\n \"portals\",\n \"niches\",\n \"technologies\",\n \"content\",\n \"vortals\",\n \"supply-chains\",\n \"convergence\",\n \"relationships\",\n \"architectures\",\n \"interfaces\",\n \"e-markets\",\n \"e-commerce\",\n \"systems\",\n \"bandwidth\",\n \"infomediaries\",\n \"models\",\n \"mindshare\",\n \"deliverables\",\n \"users\",\n \"schemas\",\n \"networks\",\n \"applications\",\n \"metrics\",\n \"e-business\",\n \"functionalities\",\n \"experiences\",\n \"web services\",\n \"methodologies\",\n \"blockchains\"\n];\n","module[\"exports\"] = [\n \"#{Name.last_name} #{suffix}\",\n \"#{Name.last_name}-#{Name.last_name}\",\n \"#{Name.last_name}, #{Name.last_name} and #{Name.last_name}\"\n];\n","var company = {};\nmodule['exports'] = company;\ncompany.suffix = require(\"./suffix\");\ncompany.adjective = require(\"./adjective\");\ncompany.descriptor = require(\"./descriptor\");\ncompany.noun = require(\"./noun\");\ncompany.bs_verb = require(\"./bs_verb\");\ncompany.bs_adjective = require(\"./bs_adjective\");\ncompany.bs_noun = require(\"./bs_noun\");\ncompany.name = require(\"./name\");\n","module[\"exports\"] = [\n \"gmail.com\",\n \"yahoo.com\",\n \"hotmail.com\"\n];\n","module[\"exports\"] = [\n \"example.org\",\n \"example.com\",\n \"example.net\"\n];\n","module[\"exports\"] = [\n \"com\",\n \"biz\",\n \"info\",\n \"name\",\n \"net\",\n \"org\"\n];\n","module[\"exports\"] = [\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jarjan/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mahdif/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/sprayaga/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ruzinav/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/Skyhartman/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/moscoz/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/kurafire/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/91bilal/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/igorgarybaldi/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/calebogden/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/malykhinv/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/joelhelin/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/kushsolitary/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/coreyweb/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/snowshade/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/areus/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/holdenweb/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/heyimjuani/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/envex/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/unterdreht/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/collegeman/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/peejfancher/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/andyisonline/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ultragex/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/adellecharles/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ateneupopular/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ahmetalpbalkan/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/Stievius/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/kerem/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/osvaldas/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/angelceballos/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/thierrykoblentz/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/peterlandt/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/catarino/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/weglov/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/brandclay/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ahmetsulek/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/nicolasfolliot/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jayrobinson/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/victorerixon/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/kolage/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/michzen/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/markjenkins/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/nicolai_larsen/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/gt/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/noxdzine/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/alagoon/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/idiot/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mizko/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/chadengle/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mutlu82/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/simobenso/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/vocino/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/guiiipontes/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/soyjavi/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/joshaustin/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/tomaslau/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/VinThomas/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ManikRathee/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/langate/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/cemshid/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/leemunroe/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/_shahedk/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/enda/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/BillSKenney/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/divya/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/joshhemsley/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/sindresorhus/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/soffes/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/9lessons/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/linux29/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/Chakintosh/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/anaami/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/joreira/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/shadeed9/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/scottkclark/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jedbridges/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/salleedesign/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/marakasina/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ariil/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/BrianPurkiss/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/michaelmartinho/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/bublienko/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/devankoshal/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ZacharyZorbas/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/timmillwood/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/joshuasortino/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/damenleeturks/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/tomas_janousek/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/herrhaase/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/RussellBishop/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/brajeshwar/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/cbracco/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/bermonpainter/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/abdullindenis/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/isacosta/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/suprb/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/yalozhkin/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/chandlervdw/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/iamgarth/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/_victa/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/commadelimited/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/roybarberuk/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/axel/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/vladarbatov/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ffbel/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/syropian/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ankitind/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/traneblow/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/flashmurphy/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ChrisFarina78/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/baliomega/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/saschamt/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jm_denis/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/anoff/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/kennyadr/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/chatyrko/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/dingyi/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mds/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/terryxlife/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/aaroni/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/kinday/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/prrstn/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/eduardostuart/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/dhilipsiva/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/GavicoInd/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/baires/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/rohixx/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/bigmancho/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/blakesimkins/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/leeiio/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/tjrus/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/uberschizo/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/kylefoundry/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/claudioguglieri/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ripplemdk/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/exentrich/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jakemoore/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/joaoedumedeiros/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/poormini/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/tereshenkov/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/keryilmaz/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/haydn_woods/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/rude/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/llun/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/sgaurav_baghel/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jamiebrittain/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/badlittleduck/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/pifagor/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/agromov/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/benefritz/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/erwanhesry/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/diesellaws/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jeremiaha/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/koridhandy/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/chaensel/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/andrewcohen/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/smaczny/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/gonzalorobaina/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/nandini_m/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/sydlawrence/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/cdharrison/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/tgerken/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/lewisainslie/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/charliecwaite/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/robbschiller/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/flexrs/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mattdetails/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/raquelwilson/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/karsh/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mrmartineau/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/opnsrce/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/hgharrygo/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/maximseshuk/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/uxalex/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/samihah/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/chanpory/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/sharvin/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/josemarques/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jefffis/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/krystalfister/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/lokesh_coder/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/thedamianhdez/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/dpmachado/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/funwatercat/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/timothycd/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ivanfilipovbg/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/picard102/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/marcobarbosa/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/krasnoukhov/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/g3d/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ademilter/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/rickdt/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/operatino/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/bungiwan/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/hugomano/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/logorado/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/dc_user/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/horaciobella/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/SlaapMe/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/teeragit/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/iqonicd/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ilya_pestov/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/andrewarrow/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ssiskind/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/stan/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/HenryHoffman/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/rdsaunders/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/adamsxu/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/curiousoffice/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/themadray/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/michigangraham/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/kohette/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/nickfratter/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/runningskull/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/madysondesigns/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/brenton_clarke/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jennyshen/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/bradenhamm/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/kurtinc/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/amanruzaini/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/coreyhaggard/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/Karimmove/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/aaronalfred/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/wtrsld/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jitachi/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/therealmarvin/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/pmeissner/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ooomz/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/chacky14/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jesseddy/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/shanehudson/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/akmur/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/IsaryAmairani/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/arthurholcombe1/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/boxmodel/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ehsandiary/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/LucasPerdidao/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/shalt0ni/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/swaplord/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/kaelifa/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/plbabin/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/guillemboti/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/arindam_/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/renbyrd/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/thiagovernetti/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jmillspaysbills/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mikemai2awesome/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jervo/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mekal/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/sta1ex/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/robergd/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/felipecsl/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/andrea211087/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/garand/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/dhooyenga/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/abovefunction/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/pcridesagain/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/randomlies/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/BryanHorsey/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/heykenneth/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/dahparra/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/allthingssmitty/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/danvernon/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/beweinreich/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/increase/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/falvarad/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/alxndrustinov/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/souuf/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/orkuncaylar/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/AM_Kn2/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/gearpixels/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/bassamology/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/vimarethomas/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/kosmar/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/SULiik/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mrjamesnoble/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/silvanmuhlemann/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/shaneIxD/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/nacho/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/yigitpinarbasi/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/buzzusborne/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/aaronkwhite/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/rmlewisuk/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/giancarlon/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/nbirckel/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/d_nny_m_cher/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/sdidonato/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/atariboy/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/abotap/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/karalek/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/psdesignuk/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ludwiczakpawel/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/nemanjaivanovic/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/baluli/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ahmadajmi/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/vovkasolovev/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/samgrover/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/derienzo777/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jonathansimmons/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/nelsonjoyce/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/S0ufi4n3/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/xtopherpaul/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/oaktreemedia/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/nateschulte/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/findingjenny/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/namankreative/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/antonyzotov/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/we_social/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/leehambley/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/solid_color/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/abelcabans/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mbilderbach/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/kkusaa/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jordyvdboom/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/carlosgavina/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/pechkinator/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/vc27/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/rdbannon/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/croakx/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/suribbles/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/kerihenare/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/catadeleon/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/gcmorley/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/duivvv/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/saschadroste/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/victorDubugras/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/wintopia/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mattbilotti/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/taylorling/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/megdraws/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/meln1ks/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mahmoudmetwally/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/Silveredge9/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/derekebradley/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/happypeter1983/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/travis_arnold/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/artem_kostenko/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/adobi/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/daykiine/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/alek_djuric/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/scips/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/miguelmendes/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/justinrhee/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/alsobrooks/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/fronx/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mcflydesign/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/santi_urso/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/allfordesign/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/stayuber/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/bertboerland/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/marosholly/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/adamnac/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/cynthiasavard/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/muringa/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/danro/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/hiemil/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jackiesaik/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/iduuck/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/antjanus/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/aroon_sharma/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/dshster/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/thehacker/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/michaelbrooksjr/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ryanmclaughlin/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/clubb3rry/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/taybenlor/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/xripunov/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/myastro/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/adityasutomo/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/digitalmaverick/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/hjartstrorn/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/itolmach/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/vaughanmoffitt/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/abdots/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/isnifer/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/sergeysafonov/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/maz/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/scrapdnb/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/chrismj83/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/vitorleal/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/sokaniwaal/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/zaki3d/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/illyzoren/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mocabyte/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/osmanince/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/djsherman/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/davidhemphill/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/waghner/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/necodymiconer/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/praveen_vijaya/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/fabbrucci/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/travishines/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/kuldarkalvik/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/Elt_n/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/phillapier/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/okseanjay/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/id835559/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/kudretkeskin/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/anjhero/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/scott_riley/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/noufalibrahim/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/h1brd/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/borges_marcos/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/devinhalladay/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ciaranr/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/stefooo/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mikebeecham/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/tonymillion/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/joshuaraichur/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/irae/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/petrangr/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/dmitriychuta/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/charliegann/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/arashmanteghi/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/adhamdannaway/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ainsleywagon/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/svenlen/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/faisalabid/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/beshur/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/carlyson/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/dutchnadia/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/teddyzetterlund/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/samuelkraft/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/aoimedia/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/toddrew/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/codepoet_ru/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/artvavs/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/benoitboucart/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jomarmen/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/kolmarlopez/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/creartinc/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/homka/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/gaborenton/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/robinclediere/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/maximsorokin/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/plasticine/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/j2deme/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/peachananr/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/kapaluccio/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/de_ascanio/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/rikas/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/dawidwu/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/marcoramires/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/angelcreative/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/rpatey/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/popey/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/rehatkathuria/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/the_purplebunny/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/1markiz/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ajaxy_ru/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/brenmurrell/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/dudestein/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/oskarlevinson/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/victorstuber/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/nehfy/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/vicivadeline/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/leandrovaranda/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/scottgallant/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/victor_haydin/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/sawrb/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ryhanhassan/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/amayvs/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/a_brixen/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/karolkrakowiak_/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/herkulano/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/geran7/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/cggaurav/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/chris_witko/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/lososina/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/polarity/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mattlat/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/brandonburke/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/constantx/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/teylorfeliz/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/craigelimeliah/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/rachelreveley/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/reabo101/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/rahmeen/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ky/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/rickyyean/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/j04ntoh/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/spbroma/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/sebashton/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jpenico/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/francis_vega/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/oktayelipek/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/kikillo/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/fabbianz/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/larrygerard/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/BroumiYoussef/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/0therplanet/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mbilalsiddique1/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ionuss/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/grrr_nl/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/liminha/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/rawdiggie/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ryandownie/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/sethlouey/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/pixage/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/arpitnj/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/switmer777/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/josevnclch/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/kanickairaj/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/puzik/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/tbakdesigns/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/besbujupi/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/supjoey/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/lowie/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/linkibol/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/balintorosz/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/imcoding/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/agustincruiz/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/gusoto/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/thomasschrijer/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/superoutman/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/kalmerrautam/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/gabrielizalo/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/gojeanyn/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/davidbaldie/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/_vojto/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/laurengray/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jydesign/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mymyboy/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/nellleo/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/marciotoledo/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ninjad3m0/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/to_soham/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/hasslunsford/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/muridrahhal/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/levisan/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/grahamkennery/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/lepetitogre/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/antongenkin/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/nessoila/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/amandabuzard/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/safrankov/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/cocolero/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/dss49/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/matt3224/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/bluesix/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/quailandquasar/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/AlbertoCococi/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/lepinski/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/sementiy/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mhudobivnik/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/thibaut_re/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/olgary/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/shojberg/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mtolokonnikov/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/bereto/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/naupintos/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/wegotvices/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/xadhix/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/macxim/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/rodnylobos/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/madcampos/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/madebyvadim/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/bartoszdawydzik/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/supervova/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/markretzloff/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/vonachoo/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/darylws/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/stevedesigner/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mylesb/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/herbigt/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/depaulawagner/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/geshan/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/gizmeedevil1991/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/_scottburgess/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/lisovsky/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/davidsasda/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/artd_sign/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/YoungCutlass/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mgonto/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/itstotallyamy/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/victorquinn/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/osmond/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/oksanafrewer/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/zauerkraut/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/iamkeithmason/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/nitinhayaran/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/lmjabreu/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mandalareopens/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/thinkleft/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ponchomendivil/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/juamperro/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/brunodesign1206/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/caseycavanagh/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/luxe/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/dotgridline/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/spedwig/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/madewulf/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mattsapii/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/helderleal/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/chrisstumph/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jayphen/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/nsamoylov/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/chrisvanderkooi/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/justme_timothyg/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/otozk/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/prinzadi/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/gu5taf/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/cyril_gaillard/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/d_kobelyatsky/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/daniloc/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/nwdsha/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/romanbulah/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/skkirilov/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/dvdwinden/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/dannol/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/thekevinjones/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jwalter14/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/timgthomas/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/buddhasource/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/uxpiper/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/thatonetommy/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/diansigitp/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/adrienths/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/klimmka/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/gkaam/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/derekcramer/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jennyyo/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/nerrsoft/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/xalionmalik/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/edhenderson/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/keyuri85/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/roxanejammet/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/kimcool/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/edkf/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/matkins/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/alessandroribe/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jacksonlatka/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/lebronjennan/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/kostaspt/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/karlkanall/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/moynihan/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/danpliego/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/saulihirvi/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/wesleytrankin/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/fjaguero/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/bowbrick/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mashaaaaal/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/yassiryahya/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/dparrelli/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/fotomagin/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/aka_james/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/denisepires/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/iqbalperkasa/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/martinansty/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jarsen/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/r_oy/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/justinrob/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/gabrielrosser/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/malgordon/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/carlfairclough/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/michaelabehsera/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/pierrestoffe/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/enjoythetau/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/loganjlambert/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/rpeezy/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/coreyginnivan/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/michalhron/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/msveet/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/lingeswaran/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/kolsvein/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/peter576/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/reideiredale/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/joeymurdah/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/raphaelnikson/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mvdheuvel/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/maxlinderman/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jimmuirhead/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/begreative/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/frankiefreesbie/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/robturlinckx/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/Talbi_ConSept/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/longlivemyword/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/vanchesz/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/maiklam/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/hermanobrother/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/rez___a/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/gregsqueeb/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/greenbes/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/_ragzor/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/anthonysukow/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/fluidbrush/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/dactrtr/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jehnglynn/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/bergmartin/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/hugocornejo/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/_kkga/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/dzantievm/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/sawalazar/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/sovesove/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jonsgotwood/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/byryan/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/vytautas_a/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mizhgan/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/cicerobr/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/nilshelmersson/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/d33pthought/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/davecraige/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/nckjrvs/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/alexandermayes/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jcubic/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/craigrcoles/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/bagawarman/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/rob_thomas10/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/cofla/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/maikelk/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/rtgibbons/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/russell_baylis/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mhesslow/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/codysanfilippo/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/webtanya/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/madebybrenton/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/dcalonaci/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/perfectflow/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jjsiii/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/saarabpreet/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/kumarrajan12123/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/iamsteffen/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/themikenagle/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ceekaytweet/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/larrybolt/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/conspirator/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/dallasbpeters/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/n3dmax/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/terpimost/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/byrnecore/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/j_drake_/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/calebjoyce/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/russoedu/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/hoangloi/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/tobysaxon/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/gofrasdesign/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/dimaposnyy/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/tjisousa/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/okandungel/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/billyroshan/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/oskamaya/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/motionthinks/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/knilob/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ashocka18/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/marrimo/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/bartjo/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/omnizya/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ernestsemerda/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/andreas_pr/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/edgarchris99/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/thomasgeisen/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/gseguin/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/joannefournier/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/demersdesigns/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/adammarsbar/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/nasirwd/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/n_tassone/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/javorszky/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/themrdave/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/yecidsm/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/nicollerich/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/canapud/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/nicoleglynn/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/judzhin_miles/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/designervzm/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/kianoshp/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/evandrix/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/alterchuca/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/dhrubo/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ma_tiax/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ssbb_me/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/dorphern/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mauriolg/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/bruno_mart/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mactopus/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/the_winslet/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/joemdesign/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/Shriiiiimp/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jacobbennett/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/nfedoroff/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/iamglimy/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/allagringaus/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/aiiaiiaii/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/olaolusoga/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/buryaknick/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/wim1k/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/nicklacke/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/a1chapone/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/steynviljoen/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/strikewan/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ryankirkman/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/andrewabogado/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/doooon/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jagan123/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ariffsetiawan/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/elenadissi/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mwarkentin/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/thierrymeier_/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/r_garcia/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/dmackerman/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/borantula/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/konus/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/spacewood_/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ryuchi311/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/evanshajed/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/tristanlegros/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/shoaib253/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/aislinnkelly/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/okcoker/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/timpetricola/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/sunshinedgirl/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/chadami/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/aleclarsoniv/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/nomidesigns/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/petebernardo/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/scottiedude/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/millinet/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/imsoper/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/imammuht/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/benjamin_knight/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/nepdud/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/joki4/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/lanceguyatt/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/bboy1895/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/amywebbb/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/rweve/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/haruintesettden/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ricburton/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/nelshd/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/batsirai/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/primozcigler/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jffgrdnr/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/8d3k/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/geneseleznev/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/al_li/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/souperphly/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mslarkina/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/2fockus/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/cdavis565/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/xiel/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/turkutuuli/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/uxward/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/lebinoclard/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/gauravjassal/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/davidmerrique/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mdsisto/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/andrewofficer/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/kojourin/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/dnirmal/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/kevka/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mr_shiznit/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/aluisio_azevedo/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/cloudstudio/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/danvierich/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/alexivanichkin/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/fran_mchamy/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/perretmagali/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/betraydan/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/cadikkara/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/matbeedotcom/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jeremyworboys/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/bpartridge/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/michaelkoper/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/silv3rgvn/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/alevizio/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/johnsmithagency/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/lawlbwoy/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/vitor376/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/desastrozo/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/thimo_cz/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jasonmarkjones/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/lhausermann/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/xravil/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/guischmitt/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/vigobronx/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/panghal0/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/miguelkooreman/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/surgeonist/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/christianoliff/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/caspergrl/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/iamkarna/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ipavelek/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/pierre_nel/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/y2graphic/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/sterlingrules/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/elbuscainfo/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/bennyjien/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/stushona/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/estebanuribe/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/embrcecreations/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/danillos/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/elliotlewis/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/charlesrpratt/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/vladyn/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/emmeffess/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/carlosblanco_eu/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/leonfedotov/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/rangafangs/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/chris_frees/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/tgormtx/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/bryan_topham/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jpscribbles/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mighty55/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/carbontwelve/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/isaacfifth/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/iamjdeleon/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/snowwrite/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/barputro/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/drewbyreese/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/sachacorazzi/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/bistrianiosip/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/magoo04/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/pehamondello/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/yayteejay/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/a_harris88/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/algunsanabria/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/zforrester/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ovall/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/carlosjgsousa/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/geobikas/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ah_lice/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/looneydoodle/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/nerdgr8/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ddggccaa/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/zackeeler/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/normanbox/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/el_fuertisimo/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ismail_biltagi/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/juangomezw/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jnmnrd/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/patrickcoombe/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ryanjohnson_me/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/markolschesky/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jeffgolenski/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/kvasnic/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/gauchomatt/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/afusinatto/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/kevinoh/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/okansurreel/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/adamawesomeface/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/emileboudeling/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/arishi_/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/juanmamartinez/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/wikiziner/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/danthms/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mkginfo/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/terrorpixel/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/curiousonaut/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/prheemo/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/michaelcolenso/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/foczzi/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/martip07/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/thaodang17/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/johncafazza/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/robinlayfield/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/franciscoamk/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/abdulhyeuk/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/marklamb/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/edobene/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/andresenfredrik/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mikaeljorhult/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/chrisslowik/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/vinciarts/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/meelford/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/elliotnolten/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/yehudab/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/vijaykarthik/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/bfrohs/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/josep_martins/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/attacks/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/sur4dye/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/tumski/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/instalox/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mangosango/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/paulfarino/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/kazaky999/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/kiwiupover/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/nvkznemo/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/tom_even/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ratbus/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/woodsman001/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/joshmedeski/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/thewillbeard/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/psaikali/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/joe_black/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/aleinadsays/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/marcusgorillius/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/hota_v/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jghyllebert/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/shinze/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/janpalounek/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jeremiespoken/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/her_ruu/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/dansowter/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/felipeapiress/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/magugzbrand2d/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/posterjob/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/nathalie_fs/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/bobbytwoshoes/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/dreizle/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jeremymouton/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/elisabethkjaer/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/notbadart/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mohanrohith/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jlsolerdeltoro/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/itskawsar/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/slowspock/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/zvchkelly/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/wiljanslofstra/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/craighenneberry/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/trubeatto/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/juaumlol/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/samscouto/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/BenouarradeM/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/gipsy_raf/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/netonet_il/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/arkokoley/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/itsajimithing/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/smalonso/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/victordeanda/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/_dwite_/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/richardgarretts/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/gregrwilkinson/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/anatolinicolae/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/lu4sh1i/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/stefanotirloni/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ostirbu/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/darcystonge/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/naitanamoreno/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/michaelcomiskey/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/adhiardana/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/marcomano_/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/davidcazalis/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/falconerie/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/gregkilian/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/bcrad/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/bolzanmarco/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/low_res/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/vlajki/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/petar_prog/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jonkspr/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/akmalfikri/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mfacchinello/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/atanism/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/harry_sistalam/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/murrayswift/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/bobwassermann/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/gavr1l0/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/madshensel/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mr_subtle/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/deviljho_/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/salimianoff/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/joetruesdell/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/twittypork/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/airskylar/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/dnezkumar/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/dgajjar/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/cherif_b/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/salvafc/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/louis_currie/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/deeenright/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/cybind/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/eyronn/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/sweetdelisa/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/cboller1/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/andresdjasso/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/melvindidit/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/andysolomon/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/thaisselenator_/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/lvovenok/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/giuliusa/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/belyaev_rs/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/overcloacked/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/kamal_chaneman/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/incubo82/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/hellofeverrrr/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mhaligowski/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/sunlandictwin/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/bu7921/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/andytlaw/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jeremery/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/finchjke/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/manigm/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/umurgdk/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/scottfeltham/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ganserene/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mutu_krish/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jodytaggart/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ntfblog/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/tanveerrao/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/hfalucas/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/alxleroydeval/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/kucingbelang4/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/bargaorobalo/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/colgruv/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/stalewine/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/kylefrost/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/baumannzone/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/angelcolberg/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/sachingawas/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jjshaw14/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ramanathan_pdy/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/johndezember/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/nilshoenson/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/brandonmorreale/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/nutzumi/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/brandonflatsoda/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/sergeyalmone/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/klefue/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/kirangopal/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/baumann_alex/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/matthewkay_/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jay_wilburn/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/shesgared/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/apriendeau/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/johnriordan/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/wake_gs/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/aleksitappura/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/emsgulam/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/xilantra/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/imomenui/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/sircalebgrove/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/newbrushes/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/hsinyo23/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/m4rio/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/katiemdaly/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/s4f1/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ecommerceil/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/marlinjayakody/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/swooshycueb/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/sangdth/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/coderdiaz/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/bluefx_/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/vivekprvr/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/sasha_shestakov/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/eugeneeweb/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/dgclegg/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/n1ght_coder/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/dixchen/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/blakehawksworth/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/trueblood_33/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/hai_ninh_nguyen/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/marclgonzales/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/yesmeck/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/stephcoue/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/doronmalki/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ruehldesign/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/anasnakawa/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/kijanmaharjan/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/wearesavas/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/stefvdham/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/tweetubhai/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/alecarpentier/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/fiterik/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/antonyryndya/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/d00maz/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/theonlyzeke/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/missaaamy/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/carlosm/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/manekenthe/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/reetajayendra/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jeremyshimko/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/justinrgraham/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/stefanozoffoli/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/overra/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mrebay007/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/shvelo96/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/pyronite/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/thedjpetersen/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/rtyukmaev/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/_williamguerra/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/albertaugustin/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/vikashpathak18/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/kevinjohndayy/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/vj_demien/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/colirpixoil/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/goddardlewis/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/laasli/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jqiuss/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/heycamtaylor/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/nastya_mane/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mastermindesign/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ccinojasso1/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/nyancecom/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/sandywoodruff/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/bighanddesign/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/sbtransparent/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/aviddayentonbay/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/richwild/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/kaysix_dizzy/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/tur8le/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/seyedhossein1/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/privetwagner/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/emmandenn/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/dev_essentials/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jmfsocial/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/_yardenoon/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mateaodviteza/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/weavermedia/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mufaddal_mw/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/hafeeskhan/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ashernatali/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/sulaqo/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/eddiechen/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/josecarlospsh/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/vm_f/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/enricocicconi/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/danmartin70/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/gmourier/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/donjain/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mrxloka/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/_pedropinho/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/eitarafa/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/oscarowusu/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ralph_lam/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/panchajanyag/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/woodydotmx/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/jerrybai1907/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/marshallchen_/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/xamorep/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/aio___/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/chaabane_wail/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/txcx/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/akashsharma39/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/falling_soul/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/sainraja/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mugukamil/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/johannesneu/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/markwienands/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/karthipanraj/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/balakayuriy/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/alan_zhang_/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/layerssss/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/kaspernordkvist/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/mirfanqureshi/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/hanna_smi/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/VMilescu/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/aeon56/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/m_kalibry/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/sreejithexp/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/dicesales/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/dhoot_amit/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/smenov/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/lonesomelemon/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/vladimirdevic/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/joelcipriano/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/haligaliharun/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/buleswapnil/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/serefka/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/ifarafonow/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/vikasvinfotech/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/urrutimeoli/128.jpg\",\n \"https://s3.amazonaws.com/uifaces/faces/twitter/areandacom/128.jpg\"\n];\n","var internet = {};\nmodule['exports'] = internet;\ninternet.free_email = require(\"./free_email\");\ninternet.example_email = require(\"./example_email\");\ninternet.domain_suffix = require(\"./domain_suffix\");\ninternet.avatar_uri = require(\"./avatar_uri\");\n","module[\"exports\"] = [\n \"utf8_unicode_ci\",\n \"utf8_general_ci\",\n \"utf8_bin\",\n \"ascii_bin\",\n \"ascii_general_ci\",\n \"cp1250_bin\",\n \"cp1250_general_ci\"\n];\n","module[\"exports\"] = [\n \"id\",\n \"title\",\n \"name\",\n \"email\",\n \"phone\",\n \"token\",\n \"group\",\n \"category\",\n \"password\",\n \"comment\",\n \"avatar\",\n \"status\",\n \"createdAt\",\n \"updatedAt\"\n];\n","module[\"exports\"] = [\n \"InnoDB\",\n \"MyISAM\",\n \"MEMORY\",\n \"CSV\",\n \"BLACKHOLE\",\n \"ARCHIVE\"\n];\n","module[\"exports\"] = [\n \"int\",\n \"varchar\",\n \"text\",\n \"date\",\n \"datetime\",\n \"tinyint\",\n \"time\",\n \"timestamp\",\n \"smallint\",\n \"mediumint\",\n \"bigint\",\n \"decimal\",\n \"float\",\n \"double\",\n \"real\",\n \"bit\",\n \"boolean\",\n \"serial\",\n \"blob\",\n \"binary\",\n \"enum\",\n \"set\",\n \"geometry\",\n \"point\"\n];\n","var database = {};\nmodule['exports'] = database;\ndatabase.collation = require(\"./collation\");\ndatabase.column = require(\"./column\");\ndatabase.engine = require(\"./engine\");\ndatabase.type = require(\"./type\");","module[\"exports\"] = [\n \"alias\",\n \"consequatur\",\n \"aut\",\n \"perferendis\",\n \"sit\",\n \"voluptatem\",\n \"accusantium\",\n \"doloremque\",\n \"aperiam\",\n \"eaque\",\n \"ipsa\",\n \"quae\",\n \"ab\",\n \"illo\",\n \"inventore\",\n \"veritatis\",\n \"et\",\n \"quasi\",\n \"architecto\",\n \"beatae\",\n \"vitae\",\n \"dicta\",\n \"sunt\",\n \"explicabo\",\n \"aspernatur\",\n \"aut\",\n \"odit\",\n \"aut\",\n \"fugit\",\n \"sed\",\n \"quia\",\n \"consequuntur\",\n \"magni\",\n \"dolores\",\n \"eos\",\n \"qui\",\n \"ratione\",\n \"voluptatem\",\n \"sequi\",\n \"nesciunt\",\n \"neque\",\n \"dolorem\",\n \"ipsum\",\n \"quia\",\n \"dolor\",\n \"sit\",\n \"amet\",\n \"consectetur\",\n \"adipisci\",\n \"velit\",\n \"sed\",\n \"quia\",\n \"non\",\n \"numquam\",\n \"eius\",\n \"modi\",\n \"tempora\",\n \"incidunt\",\n \"ut\",\n \"labore\",\n \"et\",\n \"dolore\",\n \"magnam\",\n \"aliquam\",\n \"quaerat\",\n \"voluptatem\",\n \"ut\",\n \"enim\",\n \"ad\",\n \"minima\",\n \"veniam\",\n \"quis\",\n \"nostrum\",\n \"exercitationem\",\n \"ullam\",\n \"corporis\",\n \"nemo\",\n \"enim\",\n \"ipsam\",\n \"voluptatem\",\n \"quia\",\n \"voluptas\",\n \"sit\",\n \"suscipit\",\n \"laboriosam\",\n \"nisi\",\n \"ut\",\n \"aliquid\",\n \"ex\",\n \"ea\",\n \"commodi\",\n \"consequatur\",\n \"quis\",\n \"autem\",\n \"vel\",\n \"eum\",\n \"iure\",\n \"reprehenderit\",\n \"qui\",\n \"in\",\n \"ea\",\n \"voluptate\",\n \"velit\",\n \"esse\",\n \"quam\",\n \"nihil\",\n \"molestiae\",\n \"et\",\n \"iusto\",\n \"odio\",\n \"dignissimos\",\n \"ducimus\",\n \"qui\",\n \"blanditiis\",\n \"praesentium\",\n \"laudantium\",\n \"totam\",\n \"rem\",\n \"voluptatum\",\n \"deleniti\",\n \"atque\",\n \"corrupti\",\n \"quos\",\n \"dolores\",\n \"et\",\n \"quas\",\n \"molestias\",\n \"excepturi\",\n \"sint\",\n \"occaecati\",\n \"cupiditate\",\n \"non\",\n \"provident\",\n \"sed\",\n \"ut\",\n \"perspiciatis\",\n \"unde\",\n \"omnis\",\n \"iste\",\n \"natus\",\n \"error\",\n \"similique\",\n \"sunt\",\n \"in\",\n \"culpa\",\n \"qui\",\n \"officia\",\n \"deserunt\",\n \"mollitia\",\n \"animi\",\n \"id\",\n \"est\",\n \"laborum\",\n \"et\",\n \"dolorum\",\n \"fuga\",\n \"et\",\n \"harum\",\n \"quidem\",\n \"rerum\",\n \"facilis\",\n \"est\",\n \"et\",\n \"expedita\",\n \"distinctio\",\n \"nam\",\n \"libero\",\n \"tempore\",\n \"cum\",\n \"soluta\",\n \"nobis\",\n \"est\",\n \"eligendi\",\n \"optio\",\n \"cumque\",\n \"nihil\",\n \"impedit\",\n \"quo\",\n \"porro\",\n \"quisquam\",\n \"est\",\n \"qui\",\n \"minus\",\n \"id\",\n \"quod\",\n \"maxime\",\n \"placeat\",\n \"facere\",\n \"possimus\",\n \"omnis\",\n \"voluptas\",\n \"assumenda\",\n \"est\",\n \"omnis\",\n \"dolor\",\n \"repellendus\",\n \"temporibus\",\n \"autem\",\n \"quibusdam\",\n \"et\",\n \"aut\",\n \"consequatur\",\n \"vel\",\n \"illum\",\n \"qui\",\n \"dolorem\",\n \"eum\",\n \"fugiat\",\n \"quo\",\n \"voluptas\",\n \"nulla\",\n \"pariatur\",\n \"at\",\n \"vero\",\n \"eos\",\n \"et\",\n \"accusamus\",\n \"officiis\",\n \"debitis\",\n \"aut\",\n \"rerum\",\n \"necessitatibus\",\n \"saepe\",\n \"eveniet\",\n \"ut\",\n \"et\",\n \"voluptates\",\n \"repudiandae\",\n \"sint\",\n \"et\",\n \"molestiae\",\n \"non\",\n \"recusandae\",\n \"itaque\",\n \"earum\",\n \"rerum\",\n \"hic\",\n \"tenetur\",\n \"a\",\n \"sapiente\",\n \"delectus\",\n \"ut\",\n \"aut\",\n \"reiciendis\",\n \"voluptatibus\",\n \"maiores\",\n \"doloribus\",\n \"asperiores\",\n \"repellat\"\n];\n","module[\"exports\"] = [\n \"abbas\",\n \"abduco\",\n \"abeo\",\n \"abscido\",\n \"absconditus\",\n \"absens\",\n \"absorbeo\",\n \"absque\",\n \"abstergo\",\n \"absum\",\n \"abundans\",\n \"abutor\",\n \"accedo\",\n \"accendo\",\n \"acceptus\",\n \"accipio\",\n \"accommodo\",\n \"accusator\",\n \"acer\",\n \"acerbitas\",\n \"acervus\",\n \"acidus\",\n \"acies\",\n \"acquiro\",\n \"acsi\",\n \"adamo\",\n \"adaugeo\",\n \"addo\",\n \"adduco\",\n \"ademptio\",\n \"adeo\",\n \"adeptio\",\n \"adfectus\",\n \"adfero\",\n \"adficio\",\n \"adflicto\",\n \"adhaero\",\n \"adhuc\",\n \"adicio\",\n \"adimpleo\",\n \"adinventitias\",\n \"adipiscor\",\n \"adiuvo\",\n \"administratio\",\n \"admiratio\",\n \"admitto\",\n \"admoneo\",\n \"admoveo\",\n \"adnuo\",\n \"adopto\",\n \"adsidue\",\n \"adstringo\",\n \"adsuesco\",\n \"adsum\",\n \"adulatio\",\n \"adulescens\",\n \"adultus\",\n \"aduro\",\n \"advenio\",\n \"adversus\",\n \"advoco\",\n \"aedificium\",\n \"aeger\",\n \"aegre\",\n \"aegrotatio\",\n \"aegrus\",\n \"aeneus\",\n \"aequitas\",\n \"aequus\",\n \"aer\",\n \"aestas\",\n \"aestivus\",\n \"aestus\",\n \"aetas\",\n \"aeternus\",\n \"ager\",\n \"aggero\",\n \"aggredior\",\n \"agnitio\",\n \"agnosco\",\n \"ago\",\n \"ait\",\n \"aiunt\",\n \"alienus\",\n \"alii\",\n \"alioqui\",\n \"aliqua\",\n \"alius\",\n \"allatus\",\n \"alo\",\n \"alter\",\n \"altus\",\n \"alveus\",\n \"amaritudo\",\n \"ambitus\",\n \"ambulo\",\n \"amicitia\",\n \"amiculum\",\n \"amissio\",\n \"amita\",\n \"amitto\",\n \"amo\",\n \"amor\",\n \"amoveo\",\n \"amplexus\",\n \"amplitudo\",\n \"amplus\",\n \"ancilla\",\n \"angelus\",\n \"angulus\",\n \"angustus\",\n \"animadverto\",\n \"animi\",\n \"animus\",\n \"annus\",\n \"anser\",\n \"ante\",\n \"antea\",\n \"antepono\",\n \"antiquus\",\n \"aperio\",\n \"aperte\",\n \"apostolus\",\n \"apparatus\",\n \"appello\",\n \"appono\",\n \"appositus\",\n \"approbo\",\n \"apto\",\n \"aptus\",\n \"apud\",\n \"aqua\",\n \"ara\",\n \"aranea\",\n \"arbitro\",\n \"arbor\",\n \"arbustum\",\n \"arca\",\n \"arceo\",\n \"arcesso\",\n \"arcus\",\n \"argentum\",\n \"argumentum\",\n \"arguo\",\n \"arma\",\n \"armarium\",\n \"armo\",\n \"aro\",\n \"ars\",\n \"articulus\",\n \"artificiose\",\n \"arto\",\n \"arx\",\n \"ascisco\",\n \"ascit\",\n \"asper\",\n \"aspicio\",\n \"asporto\",\n \"assentator\",\n \"astrum\",\n \"atavus\",\n \"ater\",\n \"atqui\",\n \"atrocitas\",\n \"atrox\",\n \"attero\",\n \"attollo\",\n \"attonbitus\",\n \"auctor\",\n \"auctus\",\n \"audacia\",\n \"audax\",\n \"audentia\",\n \"audeo\",\n \"audio\",\n \"auditor\",\n \"aufero\",\n \"aureus\",\n \"auris\",\n \"aurum\",\n \"aut\",\n \"autem\",\n \"autus\",\n \"auxilium\",\n \"avaritia\",\n \"avarus\",\n \"aveho\",\n \"averto\",\n \"avoco\",\n \"baiulus\",\n \"balbus\",\n \"barba\",\n \"bardus\",\n \"basium\",\n \"beatus\",\n \"bellicus\",\n \"bellum\",\n \"bene\",\n \"beneficium\",\n \"benevolentia\",\n \"benigne\",\n \"bestia\",\n \"bibo\",\n \"bis\",\n \"blandior\",\n \"bonus\",\n \"bos\",\n \"brevis\",\n \"cado\",\n \"caecus\",\n \"caelestis\",\n \"caelum\",\n \"calamitas\",\n \"calcar\",\n \"calco\",\n \"calculus\",\n \"callide\",\n \"campana\",\n \"candidus\",\n \"canis\",\n \"canonicus\",\n \"canto\",\n \"capillus\",\n \"capio\",\n \"capitulus\",\n \"capto\",\n \"caput\",\n \"carbo\",\n \"carcer\",\n \"careo\",\n \"caries\",\n \"cariosus\",\n \"caritas\",\n \"carmen\",\n \"carpo\",\n \"carus\",\n \"casso\",\n \"caste\",\n \"casus\",\n \"catena\",\n \"caterva\",\n \"cattus\",\n \"cauda\",\n \"causa\",\n \"caute\",\n \"caveo\",\n \"cavus\",\n \"cedo\",\n \"celebrer\",\n \"celer\",\n \"celo\",\n \"cena\",\n \"cenaculum\",\n \"ceno\",\n \"censura\",\n \"centum\",\n \"cerno\",\n \"cernuus\",\n \"certe\",\n \"certo\",\n \"certus\",\n \"cervus\",\n \"cetera\",\n \"charisma\",\n \"chirographum\",\n \"cibo\",\n \"cibus\",\n \"cicuta\",\n \"cilicium\",\n \"cimentarius\",\n \"ciminatio\",\n \"cinis\",\n \"circumvenio\",\n \"cito\",\n \"civis\",\n \"civitas\",\n \"clam\",\n \"clamo\",\n \"claro\",\n \"clarus\",\n \"claudeo\",\n \"claustrum\",\n \"clementia\",\n \"clibanus\",\n \"coadunatio\",\n \"coaegresco\",\n \"coepi\",\n \"coerceo\",\n \"cogito\",\n \"cognatus\",\n \"cognomen\",\n \"cogo\",\n \"cohaero\",\n \"cohibeo\",\n \"cohors\",\n \"colligo\",\n \"colloco\",\n \"collum\",\n \"colo\",\n \"color\",\n \"coma\",\n \"combibo\",\n \"comburo\",\n \"comedo\",\n \"comes\",\n \"cometes\",\n \"comis\",\n \"comitatus\",\n \"commemoro\",\n \"comminor\",\n \"commodo\",\n \"communis\",\n \"comparo\",\n \"compello\",\n \"complectus\",\n \"compono\",\n \"comprehendo\",\n \"comptus\",\n \"conatus\",\n \"concedo\",\n \"concido\",\n \"conculco\",\n \"condico\",\n \"conduco\",\n \"confero\",\n \"confido\",\n \"conforto\",\n \"confugo\",\n \"congregatio\",\n \"conicio\",\n \"coniecto\",\n \"conitor\",\n \"coniuratio\",\n \"conor\",\n \"conqueror\",\n \"conscendo\",\n \"conservo\",\n \"considero\",\n \"conspergo\",\n \"constans\",\n \"consuasor\",\n \"contabesco\",\n \"contego\",\n \"contigo\",\n \"contra\",\n \"conturbo\",\n \"conventus\",\n \"convoco\",\n \"copia\",\n \"copiose\",\n \"cornu\",\n \"corona\",\n \"corpus\",\n \"correptius\",\n \"corrigo\",\n \"corroboro\",\n \"corrumpo\",\n \"coruscus\",\n \"cotidie\",\n \"crapula\",\n \"cras\",\n \"crastinus\",\n \"creator\",\n \"creber\",\n \"crebro\",\n \"credo\",\n \"creo\",\n \"creptio\",\n \"crepusculum\",\n \"cresco\",\n \"creta\",\n \"cribro\",\n \"crinis\",\n \"cruciamentum\",\n \"crudelis\",\n \"cruentus\",\n \"crur\",\n \"crustulum\",\n \"crux\",\n \"cubicularis\",\n \"cubitum\",\n \"cubo\",\n \"cui\",\n \"cuius\",\n \"culpa\",\n \"culpo\",\n \"cultellus\",\n \"cultura\",\n \"cum\",\n \"cunabula\",\n \"cunae\",\n \"cunctatio\",\n \"cupiditas\",\n \"cupio\",\n \"cuppedia\",\n \"cupressus\",\n \"cur\",\n \"cura\",\n \"curatio\",\n \"curia\",\n \"curiositas\",\n \"curis\",\n \"curo\",\n \"curriculum\",\n \"currus\",\n \"cursim\",\n \"curso\",\n \"cursus\",\n \"curto\",\n \"curtus\",\n \"curvo\",\n \"curvus\",\n \"custodia\",\n \"damnatio\",\n \"damno\",\n \"dapifer\",\n \"debeo\",\n \"debilito\",\n \"decens\",\n \"decerno\",\n \"decet\",\n \"decimus\",\n \"decipio\",\n \"decor\",\n \"decretum\",\n \"decumbo\",\n \"dedecor\",\n \"dedico\",\n \"deduco\",\n \"defaeco\",\n \"defendo\",\n \"defero\",\n \"defessus\",\n \"defetiscor\",\n \"deficio\",\n \"defigo\",\n \"defleo\",\n \"defluo\",\n \"defungo\",\n \"degenero\",\n \"degero\",\n \"degusto\",\n \"deinde\",\n \"delectatio\",\n \"delego\",\n \"deleo\",\n \"delibero\",\n \"delicate\",\n \"delinquo\",\n \"deludo\",\n \"demens\",\n \"demergo\",\n \"demitto\",\n \"demo\",\n \"demonstro\",\n \"demoror\",\n \"demulceo\",\n \"demum\",\n \"denego\",\n \"denique\",\n \"dens\",\n \"denuncio\",\n \"denuo\",\n \"deorsum\",\n \"depereo\",\n \"depono\",\n \"depopulo\",\n \"deporto\",\n \"depraedor\",\n \"deprecator\",\n \"deprimo\",\n \"depromo\",\n \"depulso\",\n \"deputo\",\n \"derelinquo\",\n \"derideo\",\n \"deripio\",\n \"desidero\",\n \"desino\",\n \"desipio\",\n \"desolo\",\n \"desparatus\",\n \"despecto\",\n \"despirmatio\",\n \"infit\",\n \"inflammatio\",\n \"paens\",\n \"patior\",\n \"patria\",\n \"patrocinor\",\n \"patruus\",\n \"pauci\",\n \"paulatim\",\n \"pauper\",\n \"pax\",\n \"peccatus\",\n \"pecco\",\n \"pecto\",\n \"pectus\",\n \"pecunia\",\n \"pecus\",\n \"peior\",\n \"pel\",\n \"ocer\",\n \"socius\",\n \"sodalitas\",\n \"sol\",\n \"soleo\",\n \"solio\",\n \"solitudo\",\n \"solium\",\n \"sollers\",\n \"sollicito\",\n \"solum\",\n \"solus\",\n \"solutio\",\n \"solvo\",\n \"somniculosus\",\n \"somnus\",\n \"sonitus\",\n \"sono\",\n \"sophismata\",\n \"sopor\",\n \"sordeo\",\n \"sortitus\",\n \"spargo\",\n \"speciosus\",\n \"spectaculum\",\n \"speculum\",\n \"sperno\",\n \"spero\",\n \"spes\",\n \"spiculum\",\n \"spiritus\",\n \"spoliatio\",\n \"sponte\",\n \"stabilis\",\n \"statim\",\n \"statua\",\n \"stella\",\n \"stillicidium\",\n \"stipes\",\n \"stips\",\n \"sto\",\n \"strenuus\",\n \"strues\",\n \"studio\",\n \"stultus\",\n \"suadeo\",\n \"suasoria\",\n \"sub\",\n \"subito\",\n \"subiungo\",\n \"sublime\",\n \"subnecto\",\n \"subseco\",\n \"substantia\",\n \"subvenio\",\n \"succedo\",\n \"succurro\",\n \"sufficio\",\n \"suffoco\",\n \"suffragium\",\n \"suggero\",\n \"sui\",\n \"sulum\",\n \"sum\",\n \"summa\",\n \"summisse\",\n \"summopere\",\n \"sumo\",\n \"sumptus\",\n \"supellex\",\n \"super\",\n \"suppellex\",\n \"supplanto\",\n \"suppono\",\n \"supra\",\n \"surculus\",\n \"surgo\",\n \"sursum\",\n \"suscipio\",\n \"suspendo\",\n \"sustineo\",\n \"suus\",\n \"synagoga\",\n \"tabella\",\n \"tabernus\",\n \"tabesco\",\n \"tabgo\",\n \"tabula\",\n \"taceo\",\n \"tactus\",\n \"taedium\",\n \"talio\",\n \"talis\",\n \"talus\",\n \"tam\",\n \"tamdiu\",\n \"tamen\",\n \"tametsi\",\n \"tamisium\",\n \"tamquam\",\n \"tandem\",\n \"tantillus\",\n \"tantum\",\n \"tardus\",\n \"tego\",\n \"temeritas\",\n \"temperantia\",\n \"templum\",\n \"temptatio\",\n \"tempus\",\n \"tenax\",\n \"tendo\",\n \"teneo\",\n \"tener\",\n \"tenuis\",\n \"tenus\",\n \"tepesco\",\n \"tepidus\",\n \"ter\",\n \"terebro\",\n \"teres\",\n \"terga\",\n \"tergeo\",\n \"tergiversatio\",\n \"tergo\",\n \"tergum\",\n \"termes\",\n \"terminatio\",\n \"tero\",\n \"terra\",\n \"terreo\",\n \"territo\",\n \"terror\",\n \"tersus\",\n \"tertius\",\n \"testimonium\",\n \"texo\",\n \"textilis\",\n \"textor\",\n \"textus\",\n \"thalassinus\",\n \"theatrum\",\n \"theca\",\n \"thema\",\n \"theologus\",\n \"thermae\",\n \"thesaurus\",\n \"thesis\",\n \"thorax\",\n \"thymbra\",\n \"thymum\",\n \"tibi\",\n \"timidus\",\n \"timor\",\n \"titulus\",\n \"tolero\",\n \"tollo\",\n \"tondeo\",\n \"tonsor\",\n \"torqueo\",\n \"torrens\",\n \"tot\",\n \"totidem\",\n \"toties\",\n \"totus\",\n \"tracto\",\n \"trado\",\n \"traho\",\n \"trans\",\n \"tredecim\",\n \"tremo\",\n \"trepide\",\n \"tres\",\n \"tribuo\",\n \"tricesimus\",\n \"triduana\",\n \"triginta\",\n \"tripudio\",\n \"tristis\",\n \"triumphus\",\n \"trucido\",\n \"truculenter\",\n \"tubineus\",\n \"tui\",\n \"tum\",\n \"tumultus\",\n \"tunc\",\n \"turba\",\n \"turbo\",\n \"turpe\",\n \"turpis\",\n \"tutamen\",\n \"tutis\",\n \"tyrannus\",\n \"uberrime\",\n \"ubi\",\n \"ulciscor\",\n \"ullus\",\n \"ulterius\",\n \"ultio\",\n \"ultra\",\n \"umbra\",\n \"umerus\",\n \"umquam\",\n \"una\",\n \"unde\",\n \"undique\",\n \"universe\",\n \"unus\",\n \"urbanus\",\n \"urbs\",\n \"uredo\",\n \"usitas\",\n \"usque\",\n \"ustilo\",\n \"ustulo\",\n \"usus\",\n \"uter\",\n \"uterque\",\n \"utilis\",\n \"utique\",\n \"utor\",\n \"utpote\",\n \"utrimque\",\n \"utroque\",\n \"utrum\",\n \"uxor\",\n \"vaco\",\n \"vacuus\",\n \"vado\",\n \"vae\",\n \"valde\",\n \"valens\",\n \"valeo\",\n \"valetudo\",\n \"validus\",\n \"vallum\",\n \"vapulus\",\n \"varietas\",\n \"varius\",\n \"vehemens\",\n \"vel\",\n \"velociter\",\n \"velum\",\n \"velut\",\n \"venia\",\n \"venio\",\n \"ventito\",\n \"ventosus\",\n \"ventus\",\n \"venustas\",\n \"ver\",\n \"verbera\",\n \"verbum\",\n \"vere\",\n \"verecundia\",\n \"vereor\",\n \"vergo\",\n \"veritas\",\n \"vero\",\n \"versus\",\n \"verto\",\n \"verumtamen\",\n \"verus\",\n \"vesco\",\n \"vesica\",\n \"vesper\",\n \"vespillo\",\n \"vester\",\n \"vestigium\",\n \"vestrum\",\n \"vetus\",\n \"via\",\n \"vicinus\",\n \"vicissitudo\",\n \"victoria\",\n \"victus\",\n \"videlicet\",\n \"video\",\n \"viduata\",\n \"viduo\",\n \"vigilo\",\n \"vigor\",\n \"vilicus\",\n \"vilis\",\n \"vilitas\",\n \"villa\",\n \"vinco\",\n \"vinculum\",\n \"vindico\",\n \"vinitor\",\n \"vinum\",\n \"vir\",\n \"virga\",\n \"virgo\",\n \"viridis\",\n \"viriliter\",\n \"virtus\",\n \"vis\",\n \"viscus\",\n \"vita\",\n \"vitiosus\",\n \"vitium\",\n \"vito\",\n \"vivo\",\n \"vix\",\n \"vobis\",\n \"vociferor\",\n \"voco\",\n \"volaticus\",\n \"volo\",\n \"volubilis\",\n \"voluntarius\",\n \"volup\",\n \"volutabrum\",\n \"volva\",\n \"vomer\",\n \"vomica\",\n \"vomito\",\n \"vorago\",\n \"vorax\",\n \"voro\",\n \"vos\",\n \"votum\",\n \"voveo\",\n \"vox\",\n \"vulariter\",\n \"vulgaris\",\n \"vulgivagus\",\n \"vulgo\",\n \"vulgus\",\n \"vulnero\",\n \"vulnus\",\n \"vulpes\",\n \"vulticulus\",\n \"vultuosus\",\n \"xiphias\"\n];\n","var lorem = {};\nmodule['exports'] = lorem;\nlorem.words = require(\"./words\");\nlorem.supplemental = require(\"./supplemental\");\n","module[\"exports\"] = [\n\t\"James\",\n\t\"John\",\n\t\"Robert\",\n\t\"Michael\",\n\t\"William\",\n\t\"David\",\n\t\"Richard\",\n\t\"Charles\",\n\t\"Joseph\",\n\t\"Thomas\",\n\t\"Christopher\",\n\t\"Daniel\",\n\t\"Paul\",\n\t\"Mark\",\n\t\"Donald\",\n\t\"George\",\n\t\"Kenneth\",\n\t\"Steven\",\n\t\"Edward\",\n\t\"Brian\",\n\t\"Ronald\",\n\t\"Anthony\",\n\t\"Kevin\",\n\t\"Jason\",\n\t\"Matthew\",\n\t\"Gary\",\n\t\"Timothy\",\n\t\"Jose\",\n\t\"Larry\",\n\t\"Jeffrey\",\n\t\"Frank\",\n\t\"Scott\",\n\t\"Eric\",\n\t\"Stephen\",\n\t\"Andrew\",\n\t\"Raymond\",\n\t\"Gregory\",\n\t\"Joshua\",\n\t\"Jerry\",\n\t\"Dennis\",\n\t\"Walter\",\n\t\"Patrick\",\n\t\"Peter\",\n\t\"Harold\",\n\t\"Douglas\",\n\t\"Henry\",\n\t\"Carl\",\n\t\"Arthur\",\n\t\"Ryan\",\n\t\"Roger\",\n\t\"Joe\",\n\t\"Juan\",\n\t\"Jack\",\n\t\"Albert\",\n\t\"Jonathan\",\n\t\"Justin\",\n\t\"Terry\",\n\t\"Gerald\",\n\t\"Keith\",\n\t\"Samuel\",\n\t\"Willie\",\n\t\"Ralph\",\n\t\"Lawrence\",\n\t\"Nicholas\",\n\t\"Roy\",\n\t\"Benjamin\",\n\t\"Bruce\",\n\t\"Brandon\",\n\t\"Adam\",\n\t\"Harry\",\n\t\"Fred\",\n\t\"Wayne\",\n\t\"Billy\",\n\t\"Steve\",\n\t\"Louis\",\n\t\"Jeremy\",\n\t\"Aaron\",\n\t\"Randy\",\n\t\"Howard\",\n\t\"Eugene\",\n\t\"Carlos\",\n\t\"Russell\",\n\t\"Bobby\",\n\t\"Victor\",\n\t\"Martin\",\n\t\"Ernest\",\n\t\"Phillip\",\n\t\"Todd\",\n\t\"Jesse\",\n\t\"Craig\",\n\t\"Alan\",\n\t\"Shawn\",\n\t\"Clarence\",\n\t\"Sean\",\n\t\"Philip\",\n\t\"Chris\",\n\t\"Johnny\",\n\t\"Earl\",\n\t\"Jimmy\",\n\t\"Antonio\",\n\t\"Danny\",\n\t\"Bryan\",\n\t\"Tony\",\n\t\"Luis\",\n\t\"Mike\",\n\t\"Stanley\",\n\t\"Leonard\",\n\t\"Nathan\",\n\t\"Dale\",\n\t\"Manuel\",\n\t\"Rodney\",\n\t\"Curtis\",\n\t\"Norman\",\n\t\"Allen\",\n\t\"Marvin\",\n\t\"Vincent\",\n\t\"Glenn\",\n\t\"Jeffery\",\n\t\"Travis\",\n\t\"Jeff\",\n\t\"Chad\",\n\t\"Jacob\",\n\t\"Lee\",\n\t\"Melvin\",\n\t\"Alfred\",\n\t\"Kyle\",\n\t\"Francis\",\n\t\"Bradley\",\n\t\"Jesus\",\n\t\"Herbert\",\n\t\"Frederick\",\n\t\"Ray\",\n\t\"Joel\",\n\t\"Edwin\",\n\t\"Don\",\n\t\"Eddie\",\n\t\"Ricky\",\n\t\"Troy\",\n\t\"Randall\",\n\t\"Barry\",\n\t\"Alexander\",\n\t\"Bernard\",\n\t\"Mario\",\n\t\"Leroy\",\n\t\"Francisco\",\n\t\"Marcus\",\n\t\"Micheal\",\n\t\"Theodore\",\n\t\"Clifford\",\n\t\"Miguel\",\n\t\"Oscar\",\n\t\"Jay\",\n\t\"Jim\",\n\t\"Tom\",\n\t\"Calvin\",\n\t\"Alex\",\n\t\"Jon\",\n\t\"Ronnie\",\n\t\"Bill\",\n\t\"Lloyd\",\n\t\"Tommy\",\n\t\"Leon\",\n\t\"Derek\",\n\t\"Warren\",\n\t\"Darrell\",\n\t\"Jerome\",\n\t\"Floyd\",\n\t\"Leo\",\n\t\"Alvin\",\n\t\"Tim\",\n\t\"Wesley\",\n\t\"Gordon\",\n\t\"Dean\",\n\t\"Greg\",\n\t\"Jorge\",\n\t\"Dustin\",\n\t\"Pedro\",\n\t\"Derrick\",\n\t\"Dan\",\n\t\"Lewis\",\n\t\"Zachary\",\n\t\"Corey\",\n\t\"Herman\",\n\t\"Maurice\",\n\t\"Vernon\",\n\t\"Roberto\",\n\t\"Clyde\",\n\t\"Glen\",\n\t\"Hector\",\n\t\"Shane\",\n\t\"Ricardo\",\n\t\"Sam\",\n\t\"Rick\",\n\t\"Lester\",\n\t\"Brent\",\n\t\"Ramon\",\n\t\"Charlie\",\n\t\"Tyler\",\n\t\"Gilbert\",\n\t\"Gene\",\n\t\"Marc\",\n\t\"Reginald\",\n\t\"Ruben\",\n\t\"Brett\",\n\t\"Angel\",\n\t\"Nathaniel\",\n\t\"Rafael\",\n\t\"Leslie\",\n\t\"Edgar\",\n\t\"Milton\",\n\t\"Raul\",\n\t\"Ben\",\n\t\"Chester\",\n\t\"Cecil\",\n\t\"Duane\",\n\t\"Franklin\",\n\t\"Andre\",\n\t\"Elmer\",\n\t\"Brad\",\n\t\"Gabriel\",\n\t\"Ron\",\n\t\"Mitchell\",\n\t\"Roland\",\n\t\"Arnold\",\n\t\"Harvey\",\n\t\"Jared\",\n\t\"Adrian\",\n\t\"Karl\",\n\t\"Cory\",\n\t\"Claude\",\n\t\"Erik\",\n\t\"Darryl\",\n\t\"Jamie\",\n\t\"Neil\",\n\t\"Jessie\",\n\t\"Christian\",\n\t\"Javier\",\n\t\"Fernando\",\n\t\"Clinton\",\n\t\"Ted\",\n\t\"Mathew\",\n\t\"Tyrone\",\n\t\"Darren\",\n\t\"Lonnie\",\n\t\"Lance\",\n\t\"Cody\",\n\t\"Julio\",\n\t\"Kelly\",\n\t\"Kurt\",\n\t\"Allan\",\n\t\"Nelson\",\n\t\"Guy\",\n\t\"Clayton\",\n\t\"Hugh\",\n\t\"Max\",\n\t\"Dwayne\",\n\t\"Dwight\",\n\t\"Armando\",\n\t\"Felix\",\n\t\"Jimmie\",\n\t\"Everett\",\n\t\"Jordan\",\n\t\"Ian\",\n\t\"Wallace\",\n\t\"Ken\",\n\t\"Bob\",\n\t\"Jaime\",\n\t\"Casey\",\n\t\"Alfredo\",\n\t\"Alberto\",\n\t\"Dave\",\n\t\"Ivan\",\n\t\"Johnnie\",\n\t\"Sidney\",\n\t\"Byron\",\n\t\"Julian\",\n\t\"Isaac\",\n\t\"Morris\",\n\t\"Clifton\",\n\t\"Willard\",\n\t\"Daryl\",\n\t\"Ross\",\n\t\"Virgil\",\n\t\"Andy\",\n\t\"Marshall\",\n\t\"Salvador\",\n\t\"Perry\",\n\t\"Kirk\",\n\t\"Sergio\",\n\t\"Marion\",\n\t\"Tracy\",\n\t\"Seth\",\n\t\"Kent\",\n\t\"Terrance\",\n\t\"Rene\",\n\t\"Eduardo\",\n\t\"Terrence\",\n\t\"Enrique\",\n\t\"Freddie\",\n\t\"Wade\",\n\t\"Austin\",\n\t\"Stuart\",\n\t\"Fredrick\",\n\t\"Arturo\",\n\t\"Alejandro\",\n\t\"Jackie\",\n\t\"Joey\",\n\t\"Nick\",\n\t\"Luther\",\n\t\"Wendell\",\n\t\"Jeremiah\",\n\t\"Evan\",\n\t\"Julius\",\n\t\"Dana\",\n\t\"Donnie\",\n\t\"Otis\",\n\t\"Shannon\",\n\t\"Trevor\",\n\t\"Oliver\",\n\t\"Luke\",\n\t\"Homer\",\n\t\"Gerard\",\n\t\"Doug\",\n\t\"Kenny\",\n\t\"Hubert\",\n\t\"Angelo\",\n\t\"Shaun\",\n\t\"Lyle\",\n\t\"Matt\",\n\t\"Lynn\",\n\t\"Alfonso\",\n\t\"Orlando\",\n\t\"Rex\",\n\t\"Carlton\",\n\t\"Ernesto\",\n\t\"Cameron\",\n\t\"Neal\",\n\t\"Pablo\",\n\t\"Lorenzo\",\n\t\"Omar\",\n\t\"Wilbur\",\n\t\"Blake\",\n\t\"Grant\",\n\t\"Horace\",\n\t\"Roderick\",\n\t\"Kerry\",\n\t\"Abraham\",\n\t\"Willis\",\n\t\"Rickey\",\n\t\"Jean\",\n\t\"Ira\",\n\t\"Andres\",\n\t\"Cesar\",\n\t\"Johnathan\",\n\t\"Malcolm\",\n\t\"Rudolph\",\n\t\"Damon\",\n\t\"Kelvin\",\n\t\"Rudy\",\n\t\"Preston\",\n\t\"Alton\",\n\t\"Archie\",\n\t\"Marco\",\n\t\"Wm\",\n\t\"Pete\",\n\t\"Randolph\",\n\t\"Garry\",\n\t\"Geoffrey\",\n\t\"Jonathon\",\n\t\"Felipe\",\n\t\"Bennie\",\n\t\"Gerardo\",\n\t\"Ed\",\n\t\"Dominic\",\n\t\"Robin\",\n\t\"Loren\",\n\t\"Delbert\",\n\t\"Colin\",\n\t\"Guillermo\",\n\t\"Earnest\",\n\t\"Lucas\",\n\t\"Benny\",\n\t\"Noel\",\n\t\"Spencer\",\n\t\"Rodolfo\",\n\t\"Myron\",\n\t\"Edmund\",\n\t\"Garrett\",\n\t\"Salvatore\",\n\t\"Cedric\",\n\t\"Lowell\",\n\t\"Gregg\",\n\t\"Sherman\",\n\t\"Wilson\",\n\t\"Devin\",\n\t\"Sylvester\",\n\t\"Kim\",\n\t\"Roosevelt\",\n\t\"Israel\",\n\t\"Jermaine\",\n\t\"Forrest\",\n\t\"Wilbert\",\n\t\"Leland\",\n\t\"Simon\",\n\t\"Guadalupe\",\n\t\"Clark\",\n\t\"Irving\",\n\t\"Carroll\",\n\t\"Bryant\",\n\t\"Owen\",\n\t\"Rufus\",\n\t\"Woodrow\",\n\t\"Sammy\",\n\t\"Kristopher\",\n\t\"Mack\",\n\t\"Levi\",\n\t\"Marcos\",\n\t\"Gustavo\",\n\t\"Jake\",\n\t\"Lionel\",\n\t\"Marty\",\n\t\"Taylor\",\n\t\"Ellis\",\n\t\"Dallas\",\n\t\"Gilberto\",\n\t\"Clint\",\n\t\"Nicolas\",\n\t\"Laurence\",\n\t\"Ismael\",\n\t\"Orville\",\n\t\"Drew\",\n\t\"Jody\",\n\t\"Ervin\",\n\t\"Dewey\",\n\t\"Al\",\n\t\"Wilfred\",\n\t\"Josh\",\n\t\"Hugo\",\n\t\"Ignacio\",\n\t\"Caleb\",\n\t\"Tomas\",\n\t\"Sheldon\",\n\t\"Erick\",\n\t\"Frankie\",\n\t\"Stewart\",\n\t\"Doyle\",\n\t\"Darrel\",\n\t\"Rogelio\",\n\t\"Terence\",\n\t\"Santiago\",\n\t\"Alonzo\",\n\t\"Elias\",\n\t\"Bert\",\n\t\"Elbert\",\n\t\"Ramiro\",\n\t\"Conrad\",\n\t\"Pat\",\n\t\"Noah\",\n\t\"Grady\",\n\t\"Phil\",\n\t\"Cornelius\",\n\t\"Lamar\",\n\t\"Rolando\",\n\t\"Clay\",\n\t\"Percy\",\n\t\"Dexter\",\n\t\"Bradford\",\n\t\"Merle\",\n\t\"Darin\",\n\t\"Amos\",\n\t\"Terrell\",\n\t\"Moses\",\n\t\"Irvin\",\n\t\"Saul\",\n\t\"Roman\",\n\t\"Darnell\",\n\t\"Randal\",\n\t\"Tommie\",\n\t\"Timmy\",\n\t\"Darrin\",\n\t\"Winston\",\n\t\"Brendan\",\n\t\"Toby\",\n\t\"Van\",\n\t\"Abel\",\n\t\"Dominick\",\n\t\"Boyd\",\n\t\"Courtney\",\n\t\"Jan\",\n\t\"Emilio\",\n\t\"Elijah\",\n\t\"Cary\",\n\t\"Domingo\",\n\t\"Santos\",\n\t\"Aubrey\",\n\t\"Emmett\",\n\t\"Marlon\",\n\t\"Emanuel\",\n\t\"Jerald\",\n\t\"Edmond\"\n\t];","module[\"exports\"] = [\n\t\"Mary\",\n\t\"Patricia\",\n\t\"Linda\",\n\t\"Barbara\",\n\t\"Elizabeth\",\n\t\"Jennifer\",\n\t\"Maria\",\n\t\"Susan\",\n\t\"Margaret\",\n\t\"Dorothy\",\n\t\"Lisa\",\n\t\"Nancy\",\n\t\"Karen\",\n\t\"Betty\",\n\t\"Helen\",\n\t\"Sandra\",\n\t\"Donna\",\n\t\"Carol\",\n\t\"Ruth\",\n\t\"Sharon\",\n\t\"Michelle\",\n\t\"Laura\",\n\t\"Sarah\",\n\t\"Kimberly\",\n\t\"Deborah\",\n\t\"Jessica\",\n\t\"Shirley\",\n\t\"Cynthia\",\n\t\"Angela\",\n\t\"Melissa\",\n\t\"Brenda\",\n\t\"Amy\",\n\t\"Anna\",\n\t\"Rebecca\",\n\t\"Virginia\",\n\t\"Kathleen\",\n\t\"Pamela\",\n\t\"Martha\",\n\t\"Debra\",\n\t\"Amanda\",\n\t\"Stephanie\",\n\t\"Carolyn\",\n\t\"Christine\",\n\t\"Marie\",\n\t\"Janet\",\n\t\"Catherine\",\n\t\"Frances\",\n\t\"Ann\",\n\t\"Joyce\",\n\t\"Diane\",\n\t\"Alice\",\n\t\"Julie\",\n\t\"Heather\",\n\t\"Teresa\",\n\t\"Doris\",\n\t\"Gloria\",\n\t\"Evelyn\",\n\t\"Jean\",\n\t\"Cheryl\",\n\t\"Mildred\",\n\t\"Katherine\",\n\t\"Joan\",\n\t\"Ashley\",\n\t\"Judith\",\n\t\"Rose\",\n\t\"Janice\",\n\t\"Kelly\",\n\t\"Nicole\",\n\t\"Judy\",\n\t\"Christina\",\n\t\"Kathy\",\n\t\"Theresa\",\n\t\"Beverly\",\n\t\"Denise\",\n\t\"Tammy\",\n\t\"Irene\",\n\t\"Jane\",\n\t\"Lori\",\n\t\"Rachel\",\n\t\"Marilyn\",\n\t\"Andrea\",\n\t\"Kathryn\",\n\t\"Louise\",\n\t\"Sara\",\n\t\"Anne\",\n\t\"Jacqueline\",\n\t\"Wanda\",\n\t\"Bonnie\",\n\t\"Julia\",\n\t\"Ruby\",\n\t\"Lois\",\n\t\"Tina\",\n\t\"Phyllis\",\n\t\"Norma\",\n\t\"Paula\",\n\t\"Diana\",\n\t\"Annie\",\n\t\"Lillian\",\n\t\"Emily\",\n\t\"Robin\",\n\t\"Peggy\",\n\t\"Crystal\",\n\t\"Gladys\",\n\t\"Rita\",\n\t\"Dawn\",\n\t\"Connie\",\n\t\"Florence\",\n\t\"Tracy\",\n\t\"Edna\",\n\t\"Tiffany\",\n\t\"Carmen\",\n\t\"Rosa\",\n\t\"Cindy\",\n\t\"Grace\",\n\t\"Wendy\",\n\t\"Victoria\",\n\t\"Edith\",\n\t\"Kim\",\n\t\"Sherry\",\n\t\"Sylvia\",\n\t\"Josephine\",\n\t\"Thelma\",\n\t\"Shannon\",\n\t\"Sheila\",\n\t\"Ethel\",\n\t\"Ellen\",\n\t\"Elaine\",\n\t\"Marjorie\",\n\t\"Carrie\",\n\t\"Charlotte\",\n\t\"Monica\",\n\t\"Esther\",\n\t\"Pauline\",\n\t\"Emma\",\n\t\"Juanita\",\n\t\"Anita\",\n\t\"Rhonda\",\n\t\"Hazel\",\n\t\"Amber\",\n\t\"Eva\",\n\t\"Debbie\",\n\t\"April\",\n\t\"Leslie\",\n\t\"Clara\",\n\t\"Lucille\",\n\t\"Jamie\",\n\t\"Joanne\",\n\t\"Eleanor\",\n\t\"Valerie\",\n\t\"Danielle\",\n\t\"Megan\",\n\t\"Alicia\",\n\t\"Suzanne\",\n\t\"Michele\",\n\t\"Gail\",\n\t\"Bertha\",\n\t\"Darlene\",\n\t\"Veronica\",\n\t\"Jill\",\n\t\"Erin\",\n\t\"Geraldine\",\n\t\"Lauren\",\n\t\"Cathy\",\n\t\"Joann\",\n\t\"Lorraine\",\n\t\"Lynn\",\n\t\"Sally\",\n\t\"Regina\",\n\t\"Erica\",\n\t\"Beatrice\",\n\t\"Dolores\",\n\t\"Bernice\",\n\t\"Audrey\",\n\t\"Yvonne\",\n\t\"Annette\",\n\t\"June\",\n\t\"Samantha\",\n\t\"Marion\",\n\t\"Dana\",\n\t\"Stacy\",\n\t\"Ana\",\n\t\"Renee\",\n\t\"Ida\",\n\t\"Vivian\",\n\t\"Roberta\",\n\t\"Holly\",\n\t\"Brittany\",\n\t\"Melanie\",\n\t\"Loretta\",\n\t\"Yolanda\",\n\t\"Jeanette\",\n\t\"Laurie\",\n\t\"Katie\",\n\t\"Kristen\",\n\t\"Vanessa\",\n\t\"Alma\",\n\t\"Sue\",\n\t\"Elsie\",\n\t\"Beth\",\n\t\"Jeanne\",\n\t\"Vicki\",\n\t\"Carla\",\n\t\"Tara\",\n\t\"Rosemary\",\n\t\"Eileen\",\n\t\"Terri\",\n\t\"Gertrude\",\n\t\"Lucy\",\n\t\"Tonya\",\n\t\"Ella\",\n\t\"Stacey\",\n\t\"Wilma\",\n\t\"Gina\",\n\t\"Kristin\",\n\t\"Jessie\",\n\t\"Natalie\",\n\t\"Agnes\",\n\t\"Vera\",\n\t\"Willie\",\n\t\"Charlene\",\n\t\"Bessie\",\n\t\"Delores\",\n\t\"Melinda\",\n\t\"Pearl\",\n\t\"Arlene\",\n\t\"Maureen\",\n\t\"Colleen\",\n\t\"Allison\",\n\t\"Tamara\",\n\t\"Joy\",\n\t\"Georgia\",\n\t\"Constance\",\n\t\"Lillie\",\n\t\"Claudia\",\n\t\"Jackie\",\n\t\"Marcia\",\n\t\"Tanya\",\n\t\"Nellie\",\n\t\"Minnie\",\n\t\"Marlene\",\n\t\"Heidi\",\n\t\"Glenda\",\n\t\"Lydia\",\n\t\"Viola\",\n\t\"Courtney\",\n\t\"Marian\",\n\t\"Stella\",\n\t\"Caroline\",\n\t\"Dora\",\n\t\"Jo\",\n\t\"Vickie\",\n\t\"Mattie\",\n\t\"Terry\",\n\t\"Maxine\",\n\t\"Irma\",\n\t\"Mabel\",\n\t\"Marsha\",\n\t\"Myrtle\",\n\t\"Lena\",\n\t\"Christy\",\n\t\"Deanna\",\n\t\"Patsy\",\n\t\"Hilda\",\n\t\"Gwendolyn\",\n\t\"Jennie\",\n\t\"Nora\",\n\t\"Margie\",\n\t\"Nina\",\n\t\"Cassandra\",\n\t\"Leah\",\n\t\"Penny\",\n\t\"Kay\",\n\t\"Priscilla\",\n\t\"Naomi\",\n\t\"Carole\",\n\t\"Brandy\",\n\t\"Olga\",\n\t\"Billie\",\n\t\"Dianne\",\n\t\"Tracey\",\n\t\"Leona\",\n\t\"Jenny\",\n\t\"Felicia\",\n\t\"Sonia\",\n\t\"Miriam\",\n\t\"Velma\",\n\t\"Becky\",\n\t\"Bobbie\",\n\t\"Violet\",\n\t\"Kristina\",\n\t\"Toni\",\n\t\"Misty\",\n\t\"Mae\",\n\t\"Shelly\",\n\t\"Daisy\",\n\t\"Ramona\",\n\t\"Sherri\",\n\t\"Erika\",\n\t\"Katrina\",\n\t\"Claire\",\n\t\"Lindsey\",\n\t\"Lindsay\",\n\t\"Geneva\",\n\t\"Guadalupe\",\n\t\"Belinda\",\n\t\"Margarita\",\n\t\"Sheryl\",\n\t\"Cora\",\n\t\"Faye\",\n\t\"Ada\",\n\t\"Natasha\",\n\t\"Sabrina\",\n\t\"Isabel\",\n\t\"Marguerite\",\n\t\"Hattie\",\n\t\"Harriet\",\n\t\"Molly\",\n\t\"Cecilia\",\n\t\"Kristi\",\n\t\"Brandi\",\n\t\"Blanche\",\n\t\"Sandy\",\n\t\"Rosie\",\n\t\"Joanna\",\n\t\"Iris\",\n\t\"Eunice\",\n\t\"Angie\",\n\t\"Inez\",\n\t\"Lynda\",\n\t\"Madeline\",\n\t\"Amelia\",\n\t\"Alberta\",\n\t\"Genevieve\",\n\t\"Monique\",\n\t\"Jodi\",\n\t\"Janie\",\n\t\"Maggie\",\n\t\"Kayla\",\n\t\"Sonya\",\n\t\"Jan\",\n\t\"Lee\",\n\t\"Kristine\",\n\t\"Candace\",\n\t\"Fannie\",\n\t\"Maryann\",\n\t\"Opal\",\n\t\"Alison\",\n\t\"Yvette\",\n\t\"Melody\",\n\t\"Luz\",\n\t\"Susie\",\n\t\"Olivia\",\n\t\"Flora\",\n\t\"Shelley\",\n\t\"Kristy\",\n\t\"Mamie\",\n\t\"Lula\",\n\t\"Lola\",\n\t\"Verna\",\n\t\"Beulah\",\n\t\"Antoinette\",\n\t\"Candice\",\n\t\"Juana\",\n\t\"Jeannette\",\n\t\"Pam\",\n\t\"Kelli\",\n\t\"Hannah\",\n\t\"Whitney\",\n\t\"Bridget\",\n\t\"Karla\",\n\t\"Celia\",\n\t\"Latoya\",\n\t\"Patty\",\n\t\"Shelia\",\n\t\"Gayle\",\n\t\"Della\",\n\t\"Vicky\",\n\t\"Lynne\",\n\t\"Sheri\",\n\t\"Marianne\",\n\t\"Kara\",\n\t\"Jacquelyn\",\n\t\"Erma\",\n\t\"Blanca\",\n\t\"Myra\",\n\t\"Leticia\",\n\t\"Pat\",\n\t\"Krista\",\n\t\"Roxanne\",\n\t\"Angelica\",\n\t\"Johnnie\",\n\t\"Robyn\",\n\t\"Francis\",\n\t\"Adrienne\",\n\t\"Rosalie\",\n\t\"Alexandra\",\n\t\"Brooke\",\n\t\"Bethany\",\n\t\"Sadie\",\n\t\"Bernadette\",\n\t\"Traci\",\n\t\"Jody\",\n\t\"Kendra\",\n\t\"Jasmine\",\n\t\"Nichole\",\n\t\"Rachael\",\n\t\"Chelsea\",\n\t\"Mable\",\n\t\"Ernestine\",\n\t\"Muriel\",\n\t\"Marcella\",\n\t\"Elena\",\n\t\"Krystal\",\n\t\"Angelina\",\n\t\"Nadine\",\n\t\"Kari\",\n\t\"Estelle\",\n\t\"Dianna\",\n\t\"Paulette\",\n\t\"Lora\",\n\t\"Mona\",\n\t\"Doreen\",\n\t\"Rosemarie\",\n\t\"Angel\",\n\t\"Desiree\",\n\t\"Antonia\",\n\t\"Hope\",\n\t\"Ginger\",\n\t\"Janis\",\n\t\"Betsy\",\n\t\"Christie\",\n\t\"Freda\",\n\t\"Mercedes\",\n\t\"Meredith\",\n\t\"Lynette\",\n\t\"Teri\",\n\t\"Cristina\",\n\t\"Eula\",\n\t\"Leigh\",\n\t\"Meghan\",\n\t\"Sophia\",\n\t\"Eloise\",\n\t\"Rochelle\",\n\t\"Gretchen\",\n\t\"Cecelia\",\n\t\"Raquel\",\n\t\"Henrietta\",\n\t\"Alyssa\",\n\t\"Jana\",\n\t\"Kelley\",\n\t\"Gwen\",\n\t\"Kerry\",\n\t\"Jenna\",\n\t\"Tricia\",\n\t\"Laverne\",\n\t\"Olive\",\n\t\"Alexis\",\n\t\"Tasha\",\n\t\"Silvia\",\n\t\"Elvira\",\n\t\"Casey\",\n\t\"Delia\",\n\t\"Sophie\",\n\t\"Kate\",\n\t\"Patti\",\n\t\"Lorena\",\n\t\"Kellie\",\n\t\"Sonja\",\n\t\"Lila\",\n\t\"Lana\",\n\t\"Darla\",\n\t\"May\",\n\t\"Mindy\",\n\t\"Essie\",\n\t\"Mandy\",\n\t\"Lorene\",\n\t\"Elsa\",\n\t\"Josefina\",\n\t\"Jeannie\",\n\t\"Miranda\",\n\t\"Dixie\",\n\t\"Lucia\",\n\t\"Marta\",\n\t\"Faith\",\n\t\"Lela\",\n\t\"Johanna\",\n\t\"Shari\",\n\t\"Camille\",\n\t\"Tami\",\n\t\"Shawna\",\n\t\"Elisa\",\n\t\"Ebony\",\n\t\"Melba\",\n\t\"Ora\",\n\t\"Nettie\",\n\t\"Tabitha\",\n\t\"Ollie\",\n\t\"Jaime\",\n\t\"Winifred\",\n\t\"Kristie\"\n\t];","module[\"exports\"] = [\n \"Aaliyah\",\n \"Aaron\",\n \"Abagail\",\n \"Abbey\",\n \"Abbie\",\n \"Abbigail\",\n \"Abby\",\n \"Abdiel\",\n \"Abdul\",\n \"Abdullah\",\n \"Abe\",\n \"Abel\",\n \"Abelardo\",\n \"Abigail\",\n \"Abigale\",\n \"Abigayle\",\n \"Abner\",\n \"Abraham\",\n \"Ada\",\n \"Adah\",\n \"Adalberto\",\n \"Adaline\",\n \"Adam\",\n \"Adan\",\n \"Addie\",\n \"Addison\",\n \"Adela\",\n \"Adelbert\",\n \"Adele\",\n \"Adelia\",\n \"Adeline\",\n \"Adell\",\n \"Adella\",\n \"Adelle\",\n \"Aditya\",\n \"Adolf\",\n \"Adolfo\",\n \"Adolph\",\n \"Adolphus\",\n \"Adonis\",\n \"Adrain\",\n \"Adrian\",\n \"Adriana\",\n \"Adrianna\",\n \"Adriel\",\n \"Adrien\",\n \"Adrienne\",\n \"Afton\",\n \"Aglae\",\n \"Agnes\",\n \"Agustin\",\n \"Agustina\",\n \"Ahmad\",\n \"Ahmed\",\n \"Aida\",\n \"Aidan\",\n \"Aiden\",\n \"Aileen\",\n \"Aimee\",\n \"Aisha\",\n \"Aiyana\",\n \"Akeem\",\n \"Al\",\n \"Alaina\",\n \"Alan\",\n \"Alana\",\n \"Alanis\",\n \"Alanna\",\n \"Alayna\",\n \"Alba\",\n \"Albert\",\n \"Alberta\",\n \"Albertha\",\n \"Alberto\",\n \"Albin\",\n \"Albina\",\n \"Alda\",\n \"Alden\",\n \"Alec\",\n \"Aleen\",\n \"Alejandra\",\n \"Alejandrin\",\n \"Alek\",\n \"Alena\",\n \"Alene\",\n \"Alessandra\",\n \"Alessandro\",\n \"Alessia\",\n \"Aletha\",\n \"Alex\",\n \"Alexa\",\n \"Alexander\",\n \"Alexandra\",\n \"Alexandre\",\n \"Alexandrea\",\n \"Alexandria\",\n \"Alexandrine\",\n \"Alexandro\",\n \"Alexane\",\n \"Alexanne\",\n \"Alexie\",\n \"Alexis\",\n \"Alexys\",\n \"Alexzander\",\n \"Alf\",\n \"Alfonso\",\n \"Alfonzo\",\n \"Alford\",\n \"Alfred\",\n \"Alfreda\",\n \"Alfredo\",\n \"Ali\",\n \"Alia\",\n \"Alice\",\n \"Alicia\",\n \"Alisa\",\n \"Alisha\",\n \"Alison\",\n \"Alivia\",\n \"Aliya\",\n \"Aliyah\",\n \"Aliza\",\n \"Alize\",\n \"Allan\",\n \"Allen\",\n \"Allene\",\n \"Allie\",\n \"Allison\",\n \"Ally\",\n \"Alphonso\",\n \"Alta\",\n \"Althea\",\n \"Alva\",\n \"Alvah\",\n \"Alvena\",\n \"Alvera\",\n \"Alverta\",\n \"Alvina\",\n \"Alvis\",\n \"Alyce\",\n \"Alycia\",\n \"Alysa\",\n \"Alysha\",\n \"Alyson\",\n \"Alysson\",\n \"Amalia\",\n \"Amanda\",\n \"Amani\",\n \"Amara\",\n \"Amari\",\n \"Amaya\",\n \"Amber\",\n \"Ambrose\",\n \"Amelia\",\n \"Amelie\",\n \"Amely\",\n \"America\",\n \"Americo\",\n \"Amie\",\n \"Amina\",\n \"Amir\",\n \"Amira\",\n \"Amiya\",\n \"Amos\",\n \"Amparo\",\n \"Amy\",\n \"Amya\",\n \"Ana\",\n \"Anabel\",\n \"Anabelle\",\n \"Anahi\",\n \"Anais\",\n \"Anastacio\",\n \"Anastasia\",\n \"Anderson\",\n \"Andre\",\n \"Andreane\",\n \"Andreanne\",\n \"Andres\",\n \"Andrew\",\n \"Andy\",\n \"Angel\",\n \"Angela\",\n \"Angelica\",\n \"Angelina\",\n \"Angeline\",\n \"Angelita\",\n \"Angelo\",\n \"Angie\",\n \"Angus\",\n \"Anibal\",\n \"Anika\",\n \"Anissa\",\n \"Anita\",\n \"Aniya\",\n \"Aniyah\",\n \"Anjali\",\n \"Anna\",\n \"Annabel\",\n \"Annabell\",\n \"Annabelle\",\n \"Annalise\",\n \"Annamae\",\n \"Annamarie\",\n \"Anne\",\n \"Annetta\",\n \"Annette\",\n \"Annie\",\n \"Ansel\",\n \"Ansley\",\n \"Anthony\",\n \"Antoinette\",\n \"Antone\",\n \"Antonetta\",\n \"Antonette\",\n \"Antonia\",\n \"Antonietta\",\n \"Antonina\",\n \"Antonio\",\n \"Antwan\",\n \"Antwon\",\n \"Anya\",\n \"April\",\n \"Ara\",\n \"Araceli\",\n \"Aracely\",\n \"Arch\",\n \"Archibald\",\n \"Ardella\",\n \"Arden\",\n \"Ardith\",\n \"Arely\",\n \"Ari\",\n \"Ariane\",\n \"Arianna\",\n \"Aric\",\n \"Ariel\",\n \"Arielle\",\n \"Arjun\",\n \"Arlene\",\n \"Arlie\",\n \"Arlo\",\n \"Armand\",\n \"Armando\",\n \"Armani\",\n \"Arnaldo\",\n \"Arne\",\n \"Arno\",\n \"Arnold\",\n \"Arnoldo\",\n \"Arnulfo\",\n \"Aron\",\n \"Art\",\n \"Arthur\",\n \"Arturo\",\n \"Arvel\",\n \"Arvid\",\n \"Arvilla\",\n \"Aryanna\",\n \"Asa\",\n \"Asha\",\n \"Ashlee\",\n \"Ashleigh\",\n \"Ashley\",\n \"Ashly\",\n \"Ashlynn\",\n \"Ashton\",\n \"Ashtyn\",\n \"Asia\",\n \"Assunta\",\n \"Astrid\",\n \"Athena\",\n \"Aubree\",\n \"Aubrey\",\n \"Audie\",\n \"Audra\",\n \"Audreanne\",\n \"Audrey\",\n \"August\",\n \"Augusta\",\n \"Augustine\",\n \"Augustus\",\n \"Aurelia\",\n \"Aurelie\",\n \"Aurelio\",\n \"Aurore\",\n \"Austen\",\n \"Austin\",\n \"Austyn\",\n \"Autumn\",\n \"Ava\",\n \"Avery\",\n \"Avis\",\n \"Axel\",\n \"Ayana\",\n \"Ayden\",\n \"Ayla\",\n \"Aylin\",\n \"Baby\",\n \"Bailee\",\n \"Bailey\",\n \"Barbara\",\n \"Barney\",\n \"Baron\",\n \"Barrett\",\n \"Barry\",\n \"Bart\",\n \"Bartholome\",\n \"Barton\",\n \"Baylee\",\n \"Beatrice\",\n \"Beau\",\n \"Beaulah\",\n \"Bell\",\n \"Bella\",\n \"Belle\",\n \"Ben\",\n \"Benedict\",\n \"Benjamin\",\n \"Bennett\",\n \"Bennie\",\n \"Benny\",\n \"Benton\",\n \"Berenice\",\n \"Bernadette\",\n \"Bernadine\",\n \"Bernard\",\n \"Bernardo\",\n \"Berneice\",\n \"Bernhard\",\n \"Bernice\",\n \"Bernie\",\n \"Berniece\",\n \"Bernita\",\n \"Berry\",\n \"Bert\",\n \"Berta\",\n \"Bertha\",\n \"Bertram\",\n \"Bertrand\",\n \"Beryl\",\n \"Bessie\",\n \"Beth\",\n \"Bethany\",\n \"Bethel\",\n \"Betsy\",\n \"Bette\",\n \"Bettie\",\n \"Betty\",\n \"Bettye\",\n \"Beulah\",\n \"Beverly\",\n \"Bianka\",\n \"Bill\",\n \"Billie\",\n \"Billy\",\n \"Birdie\",\n \"Blair\",\n \"Blaise\",\n \"Blake\",\n \"Blanca\",\n \"Blanche\",\n \"Blaze\",\n \"Bo\",\n \"Bobbie\",\n \"Bobby\",\n \"Bonita\",\n \"Bonnie\",\n \"Boris\",\n \"Boyd\",\n \"Brad\",\n \"Braden\",\n \"Bradford\",\n \"Bradley\",\n \"Bradly\",\n \"Brady\",\n \"Braeden\",\n \"Brain\",\n \"Brandi\",\n \"Brando\",\n \"Brandon\",\n \"Brandt\",\n \"Brandy\",\n \"Brandyn\",\n \"Brannon\",\n \"Branson\",\n \"Brant\",\n \"Braulio\",\n \"Braxton\",\n \"Brayan\",\n \"Breana\",\n \"Breanna\",\n \"Breanne\",\n \"Brenda\",\n \"Brendan\",\n \"Brenden\",\n \"Brendon\",\n \"Brenna\",\n \"Brennan\",\n \"Brennon\",\n \"Brent\",\n \"Bret\",\n \"Brett\",\n \"Bria\",\n \"Brian\",\n \"Briana\",\n \"Brianne\",\n \"Brice\",\n \"Bridget\",\n \"Bridgette\",\n \"Bridie\",\n \"Brielle\",\n \"Brigitte\",\n \"Brionna\",\n \"Brisa\",\n \"Britney\",\n \"Brittany\",\n \"Brock\",\n \"Broderick\",\n \"Brody\",\n \"Brook\",\n \"Brooke\",\n \"Brooklyn\",\n \"Brooks\",\n \"Brown\",\n \"Bruce\",\n \"Bryana\",\n \"Bryce\",\n \"Brycen\",\n \"Bryon\",\n \"Buck\",\n \"Bud\",\n \"Buddy\",\n \"Buford\",\n \"Bulah\",\n \"Burdette\",\n \"Burley\",\n \"Burnice\",\n \"Buster\",\n \"Cade\",\n \"Caden\",\n \"Caesar\",\n \"Caitlyn\",\n \"Cale\",\n \"Caleb\",\n \"Caleigh\",\n \"Cali\",\n \"Calista\",\n \"Callie\",\n \"Camden\",\n \"Cameron\",\n \"Camila\",\n \"Camilla\",\n \"Camille\",\n \"Camren\",\n \"Camron\",\n \"Camryn\",\n \"Camylle\",\n \"Candace\",\n \"Candelario\",\n \"Candice\",\n \"Candida\",\n \"Candido\",\n \"Cara\",\n \"Carey\",\n \"Carissa\",\n \"Carlee\",\n \"Carleton\",\n \"Carley\",\n \"Carli\",\n \"Carlie\",\n \"Carlo\",\n \"Carlos\",\n \"Carlotta\",\n \"Carmel\",\n \"Carmela\",\n \"Carmella\",\n \"Carmelo\",\n \"Carmen\",\n \"Carmine\",\n \"Carol\",\n \"Carolanne\",\n \"Carole\",\n \"Carolina\",\n \"Caroline\",\n \"Carolyn\",\n \"Carolyne\",\n \"Carrie\",\n \"Carroll\",\n \"Carson\",\n \"Carter\",\n \"Cary\",\n \"Casandra\",\n \"Casey\",\n \"Casimer\",\n \"Casimir\",\n \"Casper\",\n \"Cassandra\",\n \"Cassandre\",\n \"Cassidy\",\n \"Cassie\",\n \"Catalina\",\n \"Caterina\",\n \"Catharine\",\n \"Catherine\",\n \"Cathrine\",\n \"Cathryn\",\n \"Cathy\",\n \"Cayla\",\n \"Ceasar\",\n \"Cecelia\",\n \"Cecil\",\n \"Cecile\",\n \"Cecilia\",\n \"Cedrick\",\n \"Celestine\",\n \"Celestino\",\n \"Celia\",\n \"Celine\",\n \"Cesar\",\n \"Chad\",\n \"Chadd\",\n \"Chadrick\",\n \"Chaim\",\n \"Chance\",\n \"Chandler\",\n \"Chanel\",\n \"Chanelle\",\n \"Charity\",\n \"Charlene\",\n \"Charles\",\n \"Charley\",\n \"Charlie\",\n \"Charlotte\",\n \"Chase\",\n \"Chasity\",\n \"Chauncey\",\n \"Chaya\",\n \"Chaz\",\n \"Chelsea\",\n \"Chelsey\",\n \"Chelsie\",\n \"Chesley\",\n \"Chester\",\n \"Chet\",\n \"Cheyanne\",\n \"Cheyenne\",\n \"Chloe\",\n \"Chris\",\n \"Christ\",\n \"Christa\",\n \"Christelle\",\n \"Christian\",\n \"Christiana\",\n \"Christina\",\n \"Christine\",\n \"Christop\",\n \"Christophe\",\n \"Christopher\",\n \"Christy\",\n \"Chyna\",\n \"Ciara\",\n \"Cicero\",\n \"Cielo\",\n \"Cierra\",\n \"Cindy\",\n \"Citlalli\",\n \"Clair\",\n \"Claire\",\n \"Clara\",\n \"Clarabelle\",\n \"Clare\",\n \"Clarissa\",\n \"Clark\",\n \"Claud\",\n \"Claude\",\n \"Claudia\",\n \"Claudie\",\n \"Claudine\",\n \"Clay\",\n \"Clemens\",\n \"Clement\",\n \"Clementina\",\n \"Clementine\",\n \"Clemmie\",\n \"Cleo\",\n \"Cleora\",\n \"Cleta\",\n \"Cletus\",\n \"Cleve\",\n \"Cleveland\",\n \"Clifford\",\n \"Clifton\",\n \"Clint\",\n \"Clinton\",\n \"Clotilde\",\n \"Clovis\",\n \"Cloyd\",\n \"Clyde\",\n \"Coby\",\n \"Cody\",\n \"Colby\",\n \"Cole\",\n \"Coleman\",\n \"Colin\",\n \"Colleen\",\n \"Collin\",\n \"Colt\",\n \"Colten\",\n \"Colton\",\n \"Columbus\",\n \"Concepcion\",\n \"Conner\",\n \"Connie\",\n \"Connor\",\n \"Conor\",\n \"Conrad\",\n \"Constance\",\n \"Constantin\",\n \"Consuelo\",\n \"Cooper\",\n \"Cora\",\n \"Coralie\",\n \"Corbin\",\n \"Cordelia\",\n \"Cordell\",\n \"Cordia\",\n \"Cordie\",\n \"Corene\",\n \"Corine\",\n \"Cornelius\",\n \"Cornell\",\n \"Corrine\",\n \"Cortez\",\n \"Cortney\",\n \"Cory\",\n \"Coty\",\n \"Courtney\",\n \"Coy\",\n \"Craig\",\n \"Crawford\",\n \"Creola\",\n \"Cristal\",\n \"Cristian\",\n \"Cristina\",\n \"Cristobal\",\n \"Cristopher\",\n \"Cruz\",\n \"Crystal\",\n \"Crystel\",\n \"Cullen\",\n \"Curt\",\n \"Curtis\",\n \"Cydney\",\n \"Cynthia\",\n \"Cyril\",\n \"Cyrus\",\n \"Dagmar\",\n \"Dahlia\",\n \"Daija\",\n \"Daisha\",\n \"Daisy\",\n \"Dakota\",\n \"Dale\",\n \"Dallas\",\n \"Dallin\",\n \"Dalton\",\n \"Damaris\",\n \"Dameon\",\n \"Damian\",\n \"Damien\",\n \"Damion\",\n \"Damon\",\n \"Dan\",\n \"Dana\",\n \"Dandre\",\n \"Dane\",\n \"D'angelo\",\n \"Dangelo\",\n \"Danial\",\n \"Daniela\",\n \"Daniella\",\n \"Danielle\",\n \"Danika\",\n \"Dannie\",\n \"Danny\",\n \"Dante\",\n \"Danyka\",\n \"Daphne\",\n \"Daphnee\",\n \"Daphney\",\n \"Darby\",\n \"Daren\",\n \"Darian\",\n \"Dariana\",\n \"Darien\",\n \"Dario\",\n \"Darion\",\n \"Darius\",\n \"Darlene\",\n \"Daron\",\n \"Darrel\",\n \"Darrell\",\n \"Darren\",\n \"Darrick\",\n \"Darrin\",\n \"Darrion\",\n \"Darron\",\n \"Darryl\",\n \"Darwin\",\n \"Daryl\",\n \"Dashawn\",\n \"Dasia\",\n \"Dave\",\n \"David\",\n \"Davin\",\n \"Davion\",\n \"Davon\",\n \"Davonte\",\n \"Dawn\",\n \"Dawson\",\n \"Dax\",\n \"Dayana\",\n \"Dayna\",\n \"Dayne\",\n \"Dayton\",\n \"Dean\",\n \"Deangelo\",\n \"Deanna\",\n \"Deborah\",\n \"Declan\",\n \"Dedric\",\n \"Dedrick\",\n \"Dee\",\n \"Deion\",\n \"Deja\",\n \"Dejah\",\n \"Dejon\",\n \"Dejuan\",\n \"Delaney\",\n \"Delbert\",\n \"Delfina\",\n \"Delia\",\n \"Delilah\",\n \"Dell\",\n \"Della\",\n \"Delmer\",\n \"Delores\",\n \"Delpha\",\n \"Delphia\",\n \"Delphine\",\n \"Delta\",\n \"Demarco\",\n \"Demarcus\",\n \"Demario\",\n \"Demetris\",\n \"Demetrius\",\n \"Demond\",\n \"Dena\",\n \"Denis\",\n \"Dennis\",\n \"Deon\",\n \"Deondre\",\n \"Deontae\",\n \"Deonte\",\n \"Dereck\",\n \"Derek\",\n \"Derick\",\n \"Deron\",\n \"Derrick\",\n \"Deshaun\",\n \"Deshawn\",\n \"Desiree\",\n \"Desmond\",\n \"Dessie\",\n \"Destany\",\n \"Destin\",\n \"Destinee\",\n \"Destiney\",\n \"Destini\",\n \"Destiny\",\n \"Devan\",\n \"Devante\",\n \"Deven\",\n \"Devin\",\n \"Devon\",\n \"Devonte\",\n \"Devyn\",\n \"Dewayne\",\n \"Dewitt\",\n \"Dexter\",\n \"Diamond\",\n \"Diana\",\n \"Dianna\",\n \"Diego\",\n \"Dillan\",\n \"Dillon\",\n \"Dimitri\",\n \"Dina\",\n \"Dino\",\n \"Dion\",\n \"Dixie\",\n \"Dock\",\n \"Dolly\",\n \"Dolores\",\n \"Domenic\",\n \"Domenica\",\n \"Domenick\",\n \"Domenico\",\n \"Domingo\",\n \"Dominic\",\n \"Dominique\",\n \"Don\",\n \"Donald\",\n \"Donato\",\n \"Donavon\",\n \"Donna\",\n \"Donnell\",\n \"Donnie\",\n \"Donny\",\n \"Dora\",\n \"Dorcas\",\n \"Dorian\",\n \"Doris\",\n \"Dorothea\",\n \"Dorothy\",\n \"Dorris\",\n \"Dortha\",\n \"Dorthy\",\n \"Doug\",\n \"Douglas\",\n \"Dovie\",\n \"Doyle\",\n \"Drake\",\n \"Drew\",\n \"Duane\",\n \"Dudley\",\n \"Dulce\",\n \"Duncan\",\n \"Durward\",\n \"Dustin\",\n \"Dusty\",\n \"Dwight\",\n \"Dylan\",\n \"Earl\",\n \"Earlene\",\n \"Earline\",\n \"Earnest\",\n \"Earnestine\",\n \"Easter\",\n \"Easton\",\n \"Ebba\",\n \"Ebony\",\n \"Ed\",\n \"Eda\",\n \"Edd\",\n \"Eddie\",\n \"Eden\",\n \"Edgar\",\n \"Edgardo\",\n \"Edison\",\n \"Edmond\",\n \"Edmund\",\n \"Edna\",\n \"Eduardo\",\n \"Edward\",\n \"Edwardo\",\n \"Edwin\",\n \"Edwina\",\n \"Edyth\",\n \"Edythe\",\n \"Effie\",\n \"Efrain\",\n \"Efren\",\n \"Eileen\",\n \"Einar\",\n \"Eino\",\n \"Eladio\",\n \"Elaina\",\n \"Elbert\",\n \"Elda\",\n \"Eldon\",\n \"Eldora\",\n \"Eldred\",\n \"Eldridge\",\n \"Eleanora\",\n \"Eleanore\",\n \"Eleazar\",\n \"Electa\",\n \"Elena\",\n \"Elenor\",\n \"Elenora\",\n \"Eleonore\",\n \"Elfrieda\",\n \"Eli\",\n \"Elian\",\n \"Eliane\",\n \"Elias\",\n \"Eliezer\",\n \"Elijah\",\n \"Elinor\",\n \"Elinore\",\n \"Elisa\",\n \"Elisabeth\",\n \"Elise\",\n \"Eliseo\",\n \"Elisha\",\n \"Elissa\",\n \"Eliza\",\n \"Elizabeth\",\n \"Ella\",\n \"Ellen\",\n \"Ellie\",\n \"Elliot\",\n \"Elliott\",\n \"Ellis\",\n \"Ellsworth\",\n \"Elmer\",\n \"Elmira\",\n \"Elmo\",\n \"Elmore\",\n \"Elna\",\n \"Elnora\",\n \"Elody\",\n \"Eloisa\",\n \"Eloise\",\n \"Elouise\",\n \"Eloy\",\n \"Elroy\",\n \"Elsa\",\n \"Else\",\n \"Elsie\",\n \"Elta\",\n \"Elton\",\n \"Elva\",\n \"Elvera\",\n \"Elvie\",\n \"Elvis\",\n \"Elwin\",\n \"Elwyn\",\n \"Elyse\",\n \"Elyssa\",\n \"Elza\",\n \"Emanuel\",\n \"Emelia\",\n \"Emelie\",\n \"Emely\",\n \"Emerald\",\n \"Emerson\",\n \"Emery\",\n \"Emie\",\n \"Emil\",\n \"Emile\",\n \"Emilia\",\n \"Emiliano\",\n \"Emilie\",\n \"Emilio\",\n \"Emily\",\n \"Emma\",\n \"Emmalee\",\n \"Emmanuel\",\n \"Emmanuelle\",\n \"Emmet\",\n \"Emmett\",\n \"Emmie\",\n \"Emmitt\",\n \"Emmy\",\n \"Emory\",\n \"Ena\",\n \"Enid\",\n \"Enoch\",\n \"Enola\",\n \"Enos\",\n \"Enrico\",\n \"Enrique\",\n \"Ephraim\",\n \"Era\",\n \"Eriberto\",\n \"Eric\",\n \"Erica\",\n \"Erich\",\n \"Erick\",\n \"Ericka\",\n \"Erik\",\n \"Erika\",\n \"Erin\",\n \"Erling\",\n \"Erna\",\n \"Ernest\",\n \"Ernestina\",\n \"Ernestine\",\n \"Ernesto\",\n \"Ernie\",\n \"Ervin\",\n \"Erwin\",\n \"Eryn\",\n \"Esmeralda\",\n \"Esperanza\",\n \"Esta\",\n \"Esteban\",\n \"Estefania\",\n \"Estel\",\n \"Estell\",\n \"Estella\",\n \"Estelle\",\n \"Estevan\",\n \"Esther\",\n \"Estrella\",\n \"Etha\",\n \"Ethan\",\n \"Ethel\",\n \"Ethelyn\",\n \"Ethyl\",\n \"Ettie\",\n \"Eudora\",\n \"Eugene\",\n \"Eugenia\",\n \"Eula\",\n \"Eulah\",\n \"Eulalia\",\n \"Euna\",\n \"Eunice\",\n \"Eusebio\",\n \"Eva\",\n \"Evalyn\",\n \"Evan\",\n \"Evangeline\",\n \"Evans\",\n \"Eve\",\n \"Eveline\",\n \"Evelyn\",\n \"Everardo\",\n \"Everett\",\n \"Everette\",\n \"Evert\",\n \"Evie\",\n \"Ewald\",\n \"Ewell\",\n \"Ezekiel\",\n \"Ezequiel\",\n \"Ezra\",\n \"Fabian\",\n \"Fabiola\",\n \"Fae\",\n \"Fannie\",\n \"Fanny\",\n \"Fatima\",\n \"Faustino\",\n \"Fausto\",\n \"Favian\",\n \"Fay\",\n \"Faye\",\n \"Federico\",\n \"Felicia\",\n \"Felicita\",\n \"Felicity\",\n \"Felipa\",\n \"Felipe\",\n \"Felix\",\n \"Felton\",\n \"Fermin\",\n \"Fern\",\n \"Fernando\",\n \"Ferne\",\n \"Fidel\",\n \"Filiberto\",\n \"Filomena\",\n \"Finn\",\n \"Fiona\",\n \"Flavie\",\n \"Flavio\",\n \"Fleta\",\n \"Fletcher\",\n \"Flo\",\n \"Florence\",\n \"Florencio\",\n \"Florian\",\n \"Florida\",\n \"Florine\",\n \"Flossie\",\n \"Floy\",\n \"Floyd\",\n \"Ford\",\n \"Forest\",\n \"Forrest\",\n \"Foster\",\n \"Frances\",\n \"Francesca\",\n \"Francesco\",\n \"Francis\",\n \"Francisca\",\n \"Francisco\",\n \"Franco\",\n \"Frank\",\n \"Frankie\",\n \"Franz\",\n \"Fred\",\n \"Freda\",\n \"Freddie\",\n \"Freddy\",\n \"Frederic\",\n \"Frederick\",\n \"Frederik\",\n \"Frederique\",\n \"Fredrick\",\n \"Fredy\",\n \"Freeda\",\n \"Freeman\",\n \"Freida\",\n \"Frida\",\n \"Frieda\",\n \"Friedrich\",\n \"Fritz\",\n \"Furman\",\n \"Gabe\",\n \"Gabriel\",\n \"Gabriella\",\n \"Gabrielle\",\n \"Gaetano\",\n \"Gage\",\n \"Gail\",\n \"Gardner\",\n \"Garett\",\n \"Garfield\",\n \"Garland\",\n \"Garnet\",\n \"Garnett\",\n \"Garret\",\n \"Garrett\",\n \"Garrick\",\n \"Garrison\",\n \"Garry\",\n \"Garth\",\n \"Gaston\",\n \"Gavin\",\n \"Gay\",\n \"Gayle\",\n \"Gaylord\",\n \"Gene\",\n \"General\",\n \"Genesis\",\n \"Genevieve\",\n \"Gennaro\",\n \"Genoveva\",\n \"Geo\",\n \"Geoffrey\",\n \"George\",\n \"Georgette\",\n \"Georgiana\",\n \"Georgianna\",\n \"Geovanni\",\n \"Geovanny\",\n \"Geovany\",\n \"Gerald\",\n \"Geraldine\",\n \"Gerard\",\n \"Gerardo\",\n \"Gerda\",\n \"Gerhard\",\n \"Germaine\",\n \"German\",\n \"Gerry\",\n \"Gerson\",\n \"Gertrude\",\n \"Gia\",\n \"Gianni\",\n \"Gideon\",\n \"Gilbert\",\n \"Gilberto\",\n \"Gilda\",\n \"Giles\",\n \"Gillian\",\n \"Gina\",\n \"Gino\",\n \"Giovani\",\n \"Giovanna\",\n \"Giovanni\",\n \"Giovanny\",\n \"Gisselle\",\n \"Giuseppe\",\n \"Gladyce\",\n \"Gladys\",\n \"Glen\",\n \"Glenda\",\n \"Glenna\",\n \"Glennie\",\n \"Gloria\",\n \"Godfrey\",\n \"Golda\",\n \"Golden\",\n \"Gonzalo\",\n \"Gordon\",\n \"Grace\",\n \"Gracie\",\n \"Graciela\",\n \"Grady\",\n \"Graham\",\n \"Grant\",\n \"Granville\",\n \"Grayce\",\n \"Grayson\",\n \"Green\",\n \"Greg\",\n \"Gregg\",\n \"Gregoria\",\n \"Gregorio\",\n \"Gregory\",\n \"Greta\",\n \"Gretchen\",\n \"Greyson\",\n \"Griffin\",\n \"Grover\",\n \"Guadalupe\",\n \"Gudrun\",\n \"Guido\",\n \"Guillermo\",\n \"Guiseppe\",\n \"Gunnar\",\n \"Gunner\",\n \"Gus\",\n \"Gussie\",\n \"Gust\",\n \"Gustave\",\n \"Guy\",\n \"Gwen\",\n \"Gwendolyn\",\n \"Hadley\",\n \"Hailee\",\n \"Hailey\",\n \"Hailie\",\n \"Hal\",\n \"Haleigh\",\n \"Haley\",\n \"Halie\",\n \"Halle\",\n \"Hallie\",\n \"Hank\",\n \"Hanna\",\n \"Hannah\",\n \"Hans\",\n \"Hardy\",\n \"Harley\",\n \"Harmon\",\n \"Harmony\",\n \"Harold\",\n \"Harrison\",\n \"Harry\",\n \"Harvey\",\n \"Haskell\",\n \"Hassan\",\n \"Hassie\",\n \"Hattie\",\n \"Haven\",\n \"Hayden\",\n \"Haylee\",\n \"Hayley\",\n \"Haylie\",\n \"Hazel\",\n \"Hazle\",\n \"Heath\",\n \"Heather\",\n \"Heaven\",\n \"Heber\",\n \"Hector\",\n \"Heidi\",\n \"Helen\",\n \"Helena\",\n \"Helene\",\n \"Helga\",\n \"Hellen\",\n \"Helmer\",\n \"Heloise\",\n \"Henderson\",\n \"Henri\",\n \"Henriette\",\n \"Henry\",\n \"Herbert\",\n \"Herman\",\n \"Hermann\",\n \"Hermina\",\n \"Herminia\",\n \"Herminio\",\n \"Hershel\",\n \"Herta\",\n \"Hertha\",\n \"Hester\",\n \"Hettie\",\n \"Hilario\",\n \"Hilbert\",\n \"Hilda\",\n \"Hildegard\",\n \"Hillard\",\n \"Hillary\",\n \"Hilma\",\n \"Hilton\",\n \"Hipolito\",\n \"Hiram\",\n \"Hobart\",\n \"Holden\",\n \"Hollie\",\n \"Hollis\",\n \"Holly\",\n \"Hope\",\n \"Horace\",\n \"Horacio\",\n \"Hortense\",\n \"Hosea\",\n \"Houston\",\n \"Howard\",\n \"Howell\",\n \"Hoyt\",\n \"Hubert\",\n \"Hudson\",\n \"Hugh\",\n \"Hulda\",\n \"Humberto\",\n \"Hunter\",\n \"Hyman\",\n \"Ian\",\n \"Ibrahim\",\n \"Icie\",\n \"Ida\",\n \"Idell\",\n \"Idella\",\n \"Ignacio\",\n \"Ignatius\",\n \"Ike\",\n \"Ila\",\n \"Ilene\",\n \"Iliana\",\n \"Ima\",\n \"Imani\",\n \"Imelda\",\n \"Immanuel\",\n \"Imogene\",\n \"Ines\",\n \"Irma\",\n \"Irving\",\n \"Irwin\",\n \"Isaac\",\n \"Isabel\",\n \"Isabell\",\n \"Isabella\",\n \"Isabelle\",\n \"Isac\",\n \"Isadore\",\n \"Isai\",\n \"Isaiah\",\n \"Isaias\",\n \"Isidro\",\n \"Ismael\",\n \"Isobel\",\n \"Isom\",\n \"Israel\",\n \"Issac\",\n \"Itzel\",\n \"Iva\",\n \"Ivah\",\n \"Ivory\",\n \"Ivy\",\n \"Izabella\",\n \"Izaiah\",\n \"Jabari\",\n \"Jace\",\n \"Jacey\",\n \"Jacinthe\",\n \"Jacinto\",\n \"Jack\",\n \"Jackeline\",\n \"Jackie\",\n \"Jacklyn\",\n \"Jackson\",\n \"Jacky\",\n \"Jaclyn\",\n \"Jacquelyn\",\n \"Jacques\",\n \"Jacynthe\",\n \"Jada\",\n \"Jade\",\n \"Jaden\",\n \"Jadon\",\n \"Jadyn\",\n \"Jaeden\",\n \"Jaida\",\n \"Jaiden\",\n \"Jailyn\",\n \"Jaime\",\n \"Jairo\",\n \"Jakayla\",\n \"Jake\",\n \"Jakob\",\n \"Jaleel\",\n \"Jalen\",\n \"Jalon\",\n \"Jalyn\",\n \"Jamaal\",\n \"Jamal\",\n \"Jamar\",\n \"Jamarcus\",\n \"Jamel\",\n \"Jameson\",\n \"Jamey\",\n \"Jamie\",\n \"Jamil\",\n \"Jamir\",\n \"Jamison\",\n \"Jammie\",\n \"Jan\",\n \"Jana\",\n \"Janae\",\n \"Jane\",\n \"Janelle\",\n \"Janessa\",\n \"Janet\",\n \"Janice\",\n \"Janick\",\n \"Janie\",\n \"Janis\",\n \"Janiya\",\n \"Jannie\",\n \"Jany\",\n \"Jaquan\",\n \"Jaquelin\",\n \"Jaqueline\",\n \"Jared\",\n \"Jaren\",\n \"Jarod\",\n \"Jaron\",\n \"Jarred\",\n \"Jarrell\",\n \"Jarret\",\n \"Jarrett\",\n \"Jarrod\",\n \"Jarvis\",\n \"Jasen\",\n \"Jasmin\",\n \"Jason\",\n \"Jasper\",\n \"Jaunita\",\n \"Javier\",\n \"Javon\",\n \"Javonte\",\n \"Jay\",\n \"Jayce\",\n \"Jaycee\",\n \"Jayda\",\n \"Jayde\",\n \"Jayden\",\n \"Jaydon\",\n \"Jaylan\",\n \"Jaylen\",\n \"Jaylin\",\n \"Jaylon\",\n \"Jayme\",\n \"Jayne\",\n \"Jayson\",\n \"Jazlyn\",\n \"Jazmin\",\n \"Jazmyn\",\n \"Jazmyne\",\n \"Jean\",\n \"Jeanette\",\n \"Jeanie\",\n \"Jeanne\",\n \"Jed\",\n \"Jedediah\",\n \"Jedidiah\",\n \"Jeff\",\n \"Jefferey\",\n \"Jeffery\",\n \"Jeffrey\",\n \"Jeffry\",\n \"Jena\",\n \"Jenifer\",\n \"Jennie\",\n \"Jennifer\",\n \"Jennings\",\n \"Jennyfer\",\n \"Jensen\",\n \"Jerad\",\n \"Jerald\",\n \"Jeramie\",\n \"Jeramy\",\n \"Jerel\",\n \"Jeremie\",\n \"Jeremy\",\n \"Jermain\",\n \"Jermaine\",\n \"Jermey\",\n \"Jerod\",\n \"Jerome\",\n \"Jeromy\",\n \"Jerrell\",\n \"Jerrod\",\n \"Jerrold\",\n \"Jerry\",\n \"Jess\",\n \"Jesse\",\n \"Jessica\",\n \"Jessie\",\n \"Jessika\",\n \"Jessy\",\n \"Jessyca\",\n \"Jesus\",\n \"Jett\",\n \"Jettie\",\n \"Jevon\",\n \"Jewel\",\n \"Jewell\",\n \"Jillian\",\n \"Jimmie\",\n \"Jimmy\",\n \"Jo\",\n \"Joan\",\n \"Joana\",\n \"Joanie\",\n \"Joanne\",\n \"Joannie\",\n \"Joanny\",\n \"Joany\",\n \"Joaquin\",\n \"Jocelyn\",\n \"Jodie\",\n \"Jody\",\n \"Joe\",\n \"Joel\",\n \"Joelle\",\n \"Joesph\",\n \"Joey\",\n \"Johan\",\n \"Johann\",\n \"Johanna\",\n \"Johathan\",\n \"John\",\n \"Johnathan\",\n \"Johnathon\",\n \"Johnnie\",\n \"Johnny\",\n \"Johnpaul\",\n \"Johnson\",\n \"Jolie\",\n \"Jon\",\n \"Jonas\",\n \"Jonatan\",\n \"Jonathan\",\n \"Jonathon\",\n \"Jordan\",\n \"Jordane\",\n \"Jordi\",\n \"Jordon\",\n \"Jordy\",\n \"Jordyn\",\n \"Jorge\",\n \"Jose\",\n \"Josefa\",\n \"Josefina\",\n \"Joseph\",\n \"Josephine\",\n \"Josh\",\n \"Joshua\",\n \"Joshuah\",\n \"Josiah\",\n \"Josiane\",\n \"Josianne\",\n \"Josie\",\n \"Josue\",\n \"Jovan\",\n \"Jovani\",\n \"Jovanny\",\n \"Jovany\",\n \"Joy\",\n \"Joyce\",\n \"Juana\",\n \"Juanita\",\n \"Judah\",\n \"Judd\",\n \"Jude\",\n \"Judge\",\n \"Judson\",\n \"Judy\",\n \"Jules\",\n \"Julia\",\n \"Julian\",\n \"Juliana\",\n \"Julianne\",\n \"Julie\",\n \"Julien\",\n \"Juliet\",\n \"Julio\",\n \"Julius\",\n \"June\",\n \"Junior\",\n \"Junius\",\n \"Justen\",\n \"Justice\",\n \"Justina\",\n \"Justine\",\n \"Juston\",\n \"Justus\",\n \"Justyn\",\n \"Juvenal\",\n \"Juwan\",\n \"Kacey\",\n \"Kaci\",\n \"Kacie\",\n \"Kade\",\n \"Kaden\",\n \"Kadin\",\n \"Kaela\",\n \"Kaelyn\",\n \"Kaia\",\n \"Kailee\",\n \"Kailey\",\n \"Kailyn\",\n \"Kaitlin\",\n \"Kaitlyn\",\n \"Kale\",\n \"Kaleb\",\n \"Kaleigh\",\n \"Kaley\",\n \"Kali\",\n \"Kallie\",\n \"Kameron\",\n \"Kamille\",\n \"Kamren\",\n \"Kamron\",\n \"Kamryn\",\n \"Kane\",\n \"Kara\",\n \"Kareem\",\n \"Karelle\",\n \"Karen\",\n \"Kari\",\n \"Kariane\",\n \"Karianne\",\n \"Karina\",\n \"Karine\",\n \"Karl\",\n \"Karlee\",\n \"Karley\",\n \"Karli\",\n \"Karlie\",\n \"Karolann\",\n \"Karson\",\n \"Kasandra\",\n \"Kasey\",\n \"Kassandra\",\n \"Katarina\",\n \"Katelin\",\n \"Katelyn\",\n \"Katelynn\",\n \"Katharina\",\n \"Katherine\",\n \"Katheryn\",\n \"Kathleen\",\n \"Kathlyn\",\n \"Kathryn\",\n \"Kathryne\",\n \"Katlyn\",\n \"Katlynn\",\n \"Katrina\",\n \"Katrine\",\n \"Kattie\",\n \"Kavon\",\n \"Kay\",\n \"Kaya\",\n \"Kaycee\",\n \"Kayden\",\n \"Kayla\",\n \"Kaylah\",\n \"Kaylee\",\n \"Kayleigh\",\n \"Kayley\",\n \"Kayli\",\n \"Kaylie\",\n \"Kaylin\",\n \"Keagan\",\n \"Keanu\",\n \"Keara\",\n \"Keaton\",\n \"Keegan\",\n \"Keeley\",\n \"Keely\",\n \"Keenan\",\n \"Keira\",\n \"Keith\",\n \"Kellen\",\n \"Kelley\",\n \"Kelli\",\n \"Kellie\",\n \"Kelly\",\n \"Kelsi\",\n \"Kelsie\",\n \"Kelton\",\n \"Kelvin\",\n \"Ken\",\n \"Kendall\",\n \"Kendra\",\n \"Kendrick\",\n \"Kenna\",\n \"Kennedi\",\n \"Kennedy\",\n \"Kenneth\",\n \"Kennith\",\n \"Kenny\",\n \"Kenton\",\n \"Kenya\",\n \"Kenyatta\",\n \"Kenyon\",\n \"Keon\",\n \"Keshaun\",\n \"Keshawn\",\n \"Keven\",\n \"Kevin\",\n \"Kevon\",\n \"Keyon\",\n \"Keyshawn\",\n \"Khalid\",\n \"Khalil\",\n \"Kian\",\n \"Kiana\",\n \"Kianna\",\n \"Kiara\",\n \"Kiarra\",\n \"Kiel\",\n \"Kiera\",\n \"Kieran\",\n \"Kiley\",\n \"Kim\",\n \"Kimberly\",\n \"King\",\n \"Kip\",\n \"Kira\",\n \"Kirk\",\n \"Kirsten\",\n \"Kirstin\",\n \"Kitty\",\n \"Kobe\",\n \"Koby\",\n \"Kody\",\n \"Kolby\",\n \"Kole\",\n \"Korbin\",\n \"Korey\",\n \"Kory\",\n \"Kraig\",\n \"Kris\",\n \"Krista\",\n \"Kristian\",\n \"Kristin\",\n \"Kristina\",\n \"Kristofer\",\n \"Kristoffer\",\n \"Kristopher\",\n \"Kristy\",\n \"Krystal\",\n \"Krystel\",\n \"Krystina\",\n \"Kurt\",\n \"Kurtis\",\n \"Kyla\",\n \"Kyle\",\n \"Kylee\",\n \"Kyleigh\",\n \"Kyler\",\n \"Kylie\",\n \"Kyra\",\n \"Lacey\",\n \"Lacy\",\n \"Ladarius\",\n \"Lafayette\",\n \"Laila\",\n \"Laisha\",\n \"Lamar\",\n \"Lambert\",\n \"Lamont\",\n \"Lance\",\n \"Landen\",\n \"Lane\",\n \"Laney\",\n \"Larissa\",\n \"Laron\",\n \"Larry\",\n \"Larue\",\n \"Laura\",\n \"Laurel\",\n \"Lauren\",\n \"Laurence\",\n \"Lauretta\",\n \"Lauriane\",\n \"Laurianne\",\n \"Laurie\",\n \"Laurine\",\n \"Laury\",\n \"Lauryn\",\n \"Lavada\",\n \"Lavern\",\n \"Laverna\",\n \"Laverne\",\n \"Lavina\",\n \"Lavinia\",\n \"Lavon\",\n \"Lavonne\",\n \"Lawrence\",\n \"Lawson\",\n \"Layla\",\n \"Layne\",\n \"Lazaro\",\n \"Lea\",\n \"Leann\",\n \"Leanna\",\n \"Leanne\",\n \"Leatha\",\n \"Leda\",\n \"Lee\",\n \"Leif\",\n \"Leila\",\n \"Leilani\",\n \"Lela\",\n \"Lelah\",\n \"Leland\",\n \"Lelia\",\n \"Lempi\",\n \"Lemuel\",\n \"Lenna\",\n \"Lennie\",\n \"Lenny\",\n \"Lenora\",\n \"Lenore\",\n \"Leo\",\n \"Leola\",\n \"Leon\",\n \"Leonard\",\n \"Leonardo\",\n \"Leone\",\n \"Leonel\",\n \"Leonie\",\n \"Leonor\",\n \"Leonora\",\n \"Leopold\",\n \"Leopoldo\",\n \"Leora\",\n \"Lera\",\n \"Lesley\",\n \"Leslie\",\n \"Lesly\",\n \"Lessie\",\n \"Lester\",\n \"Leta\",\n \"Letha\",\n \"Letitia\",\n \"Levi\",\n \"Lew\",\n \"Lewis\",\n \"Lexi\",\n \"Lexie\",\n \"Lexus\",\n \"Lia\",\n \"Liam\",\n \"Liana\",\n \"Libbie\",\n \"Libby\",\n \"Lila\",\n \"Lilian\",\n \"Liliana\",\n \"Liliane\",\n \"Lilla\",\n \"Lillian\",\n \"Lilliana\",\n \"Lillie\",\n \"Lilly\",\n \"Lily\",\n \"Lilyan\",\n \"Lina\",\n \"Lincoln\",\n \"Linda\",\n \"Lindsay\",\n \"Lindsey\",\n \"Linnea\",\n \"Linnie\",\n \"Linwood\",\n \"Lionel\",\n \"Lisa\",\n \"Lisandro\",\n \"Lisette\",\n \"Litzy\",\n \"Liza\",\n \"Lizeth\",\n \"Lizzie\",\n \"Llewellyn\",\n \"Lloyd\",\n \"Logan\",\n \"Lois\",\n \"Lola\",\n \"Lolita\",\n \"Loma\",\n \"Lon\",\n \"London\",\n \"Lonie\",\n \"Lonnie\",\n \"Lonny\",\n \"Lonzo\",\n \"Lora\",\n \"Loraine\",\n \"Loren\",\n \"Lorena\",\n \"Lorenz\",\n \"Lorenza\",\n \"Lorenzo\",\n \"Lori\",\n \"Lorine\",\n \"Lorna\",\n \"Lottie\",\n \"Lou\",\n \"Louie\",\n \"Louisa\",\n \"Lourdes\",\n \"Louvenia\",\n \"Lowell\",\n \"Loy\",\n \"Loyal\",\n \"Loyce\",\n \"Lucas\",\n \"Luciano\",\n \"Lucie\",\n \"Lucienne\",\n \"Lucile\",\n \"Lucinda\",\n \"Lucio\",\n \"Lucious\",\n \"Lucius\",\n \"Lucy\",\n \"Ludie\",\n \"Ludwig\",\n \"Lue\",\n \"Luella\",\n \"Luigi\",\n \"Luis\",\n \"Luisa\",\n \"Lukas\",\n \"Lula\",\n \"Lulu\",\n \"Luna\",\n \"Lupe\",\n \"Lura\",\n \"Lurline\",\n \"Luther\",\n \"Luz\",\n \"Lyda\",\n \"Lydia\",\n \"Lyla\",\n \"Lynn\",\n \"Lyric\",\n \"Lysanne\",\n \"Mabel\",\n \"Mabelle\",\n \"Mable\",\n \"Mac\",\n \"Macey\",\n \"Maci\",\n \"Macie\",\n \"Mack\",\n \"Mackenzie\",\n \"Macy\",\n \"Madaline\",\n \"Madalyn\",\n \"Maddison\",\n \"Madeline\",\n \"Madelyn\",\n \"Madelynn\",\n \"Madge\",\n \"Madie\",\n \"Madilyn\",\n \"Madisen\",\n \"Madison\",\n \"Madisyn\",\n \"Madonna\",\n \"Madyson\",\n \"Mae\",\n \"Maegan\",\n \"Maeve\",\n \"Mafalda\",\n \"Magali\",\n \"Magdalen\",\n \"Magdalena\",\n \"Maggie\",\n \"Magnolia\",\n \"Magnus\",\n \"Maia\",\n \"Maida\",\n \"Maiya\",\n \"Major\",\n \"Makayla\",\n \"Makenna\",\n \"Makenzie\",\n \"Malachi\",\n \"Malcolm\",\n \"Malika\",\n \"Malinda\",\n \"Mallie\",\n \"Mallory\",\n \"Malvina\",\n \"Mandy\",\n \"Manley\",\n \"Manuel\",\n \"Manuela\",\n \"Mara\",\n \"Marc\",\n \"Marcel\",\n \"Marcelina\",\n \"Marcelino\",\n \"Marcella\",\n \"Marcelle\",\n \"Marcellus\",\n \"Marcelo\",\n \"Marcia\",\n \"Marco\",\n \"Marcos\",\n \"Marcus\",\n \"Margaret\",\n \"Margarete\",\n \"Margarett\",\n \"Margaretta\",\n \"Margarette\",\n \"Margarita\",\n \"Marge\",\n \"Margie\",\n \"Margot\",\n \"Margret\",\n \"Marguerite\",\n \"Maria\",\n \"Mariah\",\n \"Mariam\",\n \"Marian\",\n \"Mariana\",\n \"Mariane\",\n \"Marianna\",\n \"Marianne\",\n \"Mariano\",\n \"Maribel\",\n \"Marie\",\n \"Mariela\",\n \"Marielle\",\n \"Marietta\",\n \"Marilie\",\n \"Marilou\",\n \"Marilyne\",\n \"Marina\",\n \"Mario\",\n \"Marion\",\n \"Marisa\",\n \"Marisol\",\n \"Maritza\",\n \"Marjolaine\",\n \"Marjorie\",\n \"Marjory\",\n \"Mark\",\n \"Markus\",\n \"Marlee\",\n \"Marlen\",\n \"Marlene\",\n \"Marley\",\n \"Marlin\",\n \"Marlon\",\n \"Marques\",\n \"Marquis\",\n \"Marquise\",\n \"Marshall\",\n \"Marta\",\n \"Martin\",\n \"Martina\",\n \"Martine\",\n \"Marty\",\n \"Marvin\",\n \"Mary\",\n \"Maryam\",\n \"Maryjane\",\n \"Maryse\",\n \"Mason\",\n \"Mateo\",\n \"Mathew\",\n \"Mathias\",\n \"Mathilde\",\n \"Matilda\",\n \"Matilde\",\n \"Matt\",\n \"Matteo\",\n \"Mattie\",\n \"Maud\",\n \"Maude\",\n \"Maudie\",\n \"Maureen\",\n \"Maurice\",\n \"Mauricio\",\n \"Maurine\",\n \"Maverick\",\n \"Mavis\",\n \"Max\",\n \"Maxie\",\n \"Maxime\",\n \"Maximilian\",\n \"Maximillia\",\n \"Maximillian\",\n \"Maximo\",\n \"Maximus\",\n \"Maxine\",\n \"Maxwell\",\n \"May\",\n \"Maya\",\n \"Maybell\",\n \"Maybelle\",\n \"Maye\",\n \"Maymie\",\n \"Maynard\",\n \"Mayra\",\n \"Mazie\",\n \"Mckayla\",\n \"Mckenna\",\n \"Mckenzie\",\n \"Meagan\",\n \"Meaghan\",\n \"Meda\",\n \"Megane\",\n \"Meggie\",\n \"Meghan\",\n \"Mekhi\",\n \"Melany\",\n \"Melba\",\n \"Melisa\",\n \"Melissa\",\n \"Mellie\",\n \"Melody\",\n \"Melvin\",\n \"Melvina\",\n \"Melyna\",\n \"Melyssa\",\n \"Mercedes\",\n \"Meredith\",\n \"Merl\",\n \"Merle\",\n \"Merlin\",\n \"Merritt\",\n \"Mertie\",\n \"Mervin\",\n \"Meta\",\n \"Mia\",\n \"Micaela\",\n \"Micah\",\n \"Michael\",\n \"Michaela\",\n \"Michale\",\n \"Micheal\",\n \"Michel\",\n \"Michele\",\n \"Michelle\",\n \"Miguel\",\n \"Mikayla\",\n \"Mike\",\n \"Mikel\",\n \"Milan\",\n \"Miles\",\n \"Milford\",\n \"Miller\",\n \"Millie\",\n \"Milo\",\n \"Milton\",\n \"Mina\",\n \"Minerva\",\n \"Minnie\",\n \"Miracle\",\n \"Mireille\",\n \"Mireya\",\n \"Misael\",\n \"Missouri\",\n \"Misty\",\n \"Mitchel\",\n \"Mitchell\",\n \"Mittie\",\n \"Modesta\",\n \"Modesto\",\n \"Mohamed\",\n \"Mohammad\",\n \"Mohammed\",\n \"Moises\",\n \"Mollie\",\n \"Molly\",\n \"Mona\",\n \"Monica\",\n \"Monique\",\n \"Monroe\",\n \"Monserrat\",\n \"Monserrate\",\n \"Montana\",\n \"Monte\",\n \"Monty\",\n \"Morgan\",\n \"Moriah\",\n \"Morris\",\n \"Mortimer\",\n \"Morton\",\n \"Mose\",\n \"Moses\",\n \"Moshe\",\n \"Mossie\",\n \"Mozell\",\n \"Mozelle\",\n \"Muhammad\",\n \"Muriel\",\n \"Murl\",\n \"Murphy\",\n \"Murray\",\n \"Mustafa\",\n \"Mya\",\n \"Myah\",\n \"Mylene\",\n \"Myles\",\n \"Myra\",\n \"Myriam\",\n \"Myrl\",\n \"Myrna\",\n \"Myron\",\n \"Myrtice\",\n \"Myrtie\",\n \"Myrtis\",\n \"Myrtle\",\n \"Nadia\",\n \"Nakia\",\n \"Name\",\n \"Nannie\",\n \"Naomi\",\n \"Naomie\",\n \"Napoleon\",\n \"Narciso\",\n \"Nash\",\n \"Nasir\",\n \"Nat\",\n \"Natalia\",\n \"Natalie\",\n \"Natasha\",\n \"Nathan\",\n \"Nathanael\",\n \"Nathanial\",\n \"Nathaniel\",\n \"Nathen\",\n \"Nayeli\",\n \"Neal\",\n \"Ned\",\n \"Nedra\",\n \"Neha\",\n \"Neil\",\n \"Nelda\",\n \"Nella\",\n \"Nelle\",\n \"Nellie\",\n \"Nels\",\n \"Nelson\",\n \"Neoma\",\n \"Nestor\",\n \"Nettie\",\n \"Neva\",\n \"Newell\",\n \"Newton\",\n \"Nia\",\n \"Nicholas\",\n \"Nicholaus\",\n \"Nichole\",\n \"Nick\",\n \"Nicklaus\",\n \"Nickolas\",\n \"Nico\",\n \"Nicola\",\n \"Nicolas\",\n \"Nicole\",\n \"Nicolette\",\n \"Nigel\",\n \"Nikita\",\n \"Nikki\",\n \"Nikko\",\n \"Niko\",\n \"Nikolas\",\n \"Nils\",\n \"Nina\",\n \"Noah\",\n \"Noble\",\n \"Noe\",\n \"Noel\",\n \"Noelia\",\n \"Noemi\",\n \"Noemie\",\n \"Noemy\",\n \"Nola\",\n \"Nolan\",\n \"Nona\",\n \"Nora\",\n \"Norbert\",\n \"Norberto\",\n \"Norene\",\n \"Norma\",\n \"Norris\",\n \"Norval\",\n \"Norwood\",\n \"Nova\",\n \"Novella\",\n \"Nya\",\n \"Nyah\",\n \"Nyasia\",\n \"Obie\",\n \"Oceane\",\n \"Ocie\",\n \"Octavia\",\n \"Oda\",\n \"Odell\",\n \"Odessa\",\n \"Odie\",\n \"Ofelia\",\n \"Okey\",\n \"Ola\",\n \"Olaf\",\n \"Ole\",\n \"Olen\",\n \"Oleta\",\n \"Olga\",\n \"Olin\",\n \"Oliver\",\n \"Ollie\",\n \"Oma\",\n \"Omari\",\n \"Omer\",\n \"Ona\",\n \"Onie\",\n \"Opal\",\n \"Ophelia\",\n \"Ora\",\n \"Oral\",\n \"Oran\",\n \"Oren\",\n \"Orie\",\n \"Orin\",\n \"Orion\",\n \"Orland\",\n \"Orlando\",\n \"Orlo\",\n \"Orpha\",\n \"Orrin\",\n \"Orval\",\n \"Orville\",\n \"Osbaldo\",\n \"Osborne\",\n \"Oscar\",\n \"Osvaldo\",\n \"Oswald\",\n \"Oswaldo\",\n \"Otha\",\n \"Otho\",\n \"Otilia\",\n \"Otis\",\n \"Ottilie\",\n \"Ottis\",\n \"Otto\",\n \"Ova\",\n \"Owen\",\n \"Ozella\",\n \"Pablo\",\n \"Paige\",\n \"Palma\",\n \"Pamela\",\n \"Pansy\",\n \"Paolo\",\n \"Paris\",\n \"Parker\",\n \"Pascale\",\n \"Pasquale\",\n \"Pat\",\n \"Patience\",\n \"Patricia\",\n \"Patrick\",\n \"Patsy\",\n \"Pattie\",\n \"Paul\",\n \"Paula\",\n \"Pauline\",\n \"Paxton\",\n \"Payton\",\n \"Pearl\",\n \"Pearlie\",\n \"Pearline\",\n \"Pedro\",\n \"Peggie\",\n \"Penelope\",\n \"Percival\",\n \"Percy\",\n \"Perry\",\n \"Pete\",\n \"Peter\",\n \"Petra\",\n \"Peyton\",\n \"Philip\",\n \"Phoebe\",\n \"Phyllis\",\n \"Pierce\",\n \"Pierre\",\n \"Pietro\",\n \"Pink\",\n \"Pinkie\",\n \"Piper\",\n \"Polly\",\n \"Porter\",\n \"Precious\",\n \"Presley\",\n \"Preston\",\n \"Price\",\n \"Prince\",\n \"Princess\",\n \"Priscilla\",\n \"Providenci\",\n \"Prudence\",\n \"Queen\",\n \"Queenie\",\n \"Quentin\",\n \"Quincy\",\n \"Quinn\",\n \"Quinten\",\n \"Quinton\",\n \"Rachael\",\n \"Rachel\",\n \"Rachelle\",\n \"Rae\",\n \"Raegan\",\n \"Rafael\",\n \"Rafaela\",\n \"Raheem\",\n \"Rahsaan\",\n \"Rahul\",\n \"Raina\",\n \"Raleigh\",\n \"Ralph\",\n \"Ramiro\",\n \"Ramon\",\n \"Ramona\",\n \"Randal\",\n \"Randall\",\n \"Randi\",\n \"Randy\",\n \"Ransom\",\n \"Raoul\",\n \"Raphael\",\n \"Raphaelle\",\n \"Raquel\",\n \"Rashad\",\n \"Rashawn\",\n \"Rasheed\",\n \"Raul\",\n \"Raven\",\n \"Ray\",\n \"Raymond\",\n \"Raymundo\",\n \"Reagan\",\n \"Reanna\",\n \"Reba\",\n \"Rebeca\",\n \"Rebecca\",\n \"Rebeka\",\n \"Rebekah\",\n \"Reece\",\n \"Reed\",\n \"Reese\",\n \"Regan\",\n \"Reggie\",\n \"Reginald\",\n \"Reid\",\n \"Reilly\",\n \"Reina\",\n \"Reinhold\",\n \"Remington\",\n \"Rene\",\n \"Renee\",\n \"Ressie\",\n \"Reta\",\n \"Retha\",\n \"Retta\",\n \"Reuben\",\n \"Reva\",\n \"Rex\",\n \"Rey\",\n \"Reyes\",\n \"Reymundo\",\n \"Reyna\",\n \"Reynold\",\n \"Rhea\",\n \"Rhett\",\n \"Rhianna\",\n \"Rhiannon\",\n \"Rhoda\",\n \"Ricardo\",\n \"Richard\",\n \"Richie\",\n \"Richmond\",\n \"Rick\",\n \"Rickey\",\n \"Rickie\",\n \"Ricky\",\n \"Rico\",\n \"Rigoberto\",\n \"Riley\",\n \"Rita\",\n \"River\",\n \"Robb\",\n \"Robbie\",\n \"Robert\",\n \"Roberta\",\n \"Roberto\",\n \"Robin\",\n \"Robyn\",\n \"Rocio\",\n \"Rocky\",\n \"Rod\",\n \"Roderick\",\n \"Rodger\",\n \"Rodolfo\",\n \"Rodrick\",\n \"Rodrigo\",\n \"Roel\",\n \"Rogelio\",\n \"Roger\",\n \"Rogers\",\n \"Rolando\",\n \"Rollin\",\n \"Roma\",\n \"Romaine\",\n \"Roman\",\n \"Ron\",\n \"Ronaldo\",\n \"Ronny\",\n \"Roosevelt\",\n \"Rory\",\n \"Rosa\",\n \"Rosalee\",\n \"Rosalia\",\n \"Rosalind\",\n \"Rosalinda\",\n \"Rosalyn\",\n \"Rosamond\",\n \"Rosanna\",\n \"Rosario\",\n \"Roscoe\",\n \"Rose\",\n \"Rosella\",\n \"Roselyn\",\n \"Rosemarie\",\n \"Rosemary\",\n \"Rosendo\",\n \"Rosetta\",\n \"Rosie\",\n \"Rosina\",\n \"Roslyn\",\n \"Ross\",\n \"Rossie\",\n \"Rowan\",\n \"Rowena\",\n \"Rowland\",\n \"Roxane\",\n \"Roxanne\",\n \"Roy\",\n \"Royal\",\n \"Royce\",\n \"Rozella\",\n \"Ruben\",\n \"Rubie\",\n \"Ruby\",\n \"Rubye\",\n \"Rudolph\",\n \"Rudy\",\n \"Rupert\",\n \"Russ\",\n \"Russel\",\n \"Russell\",\n \"Rusty\",\n \"Ruth\",\n \"Ruthe\",\n \"Ruthie\",\n \"Ryan\",\n \"Ryann\",\n \"Ryder\",\n \"Rylan\",\n \"Rylee\",\n \"Ryleigh\",\n \"Ryley\",\n \"Sabina\",\n \"Sabrina\",\n \"Sabryna\",\n \"Sadie\",\n \"Sadye\",\n \"Sage\",\n \"Saige\",\n \"Sallie\",\n \"Sally\",\n \"Salma\",\n \"Salvador\",\n \"Salvatore\",\n \"Sam\",\n \"Samanta\",\n \"Samantha\",\n \"Samara\",\n \"Samir\",\n \"Sammie\",\n \"Sammy\",\n \"Samson\",\n \"Sandra\",\n \"Sandrine\",\n \"Sandy\",\n \"Sanford\",\n \"Santa\",\n \"Santiago\",\n \"Santina\",\n \"Santino\",\n \"Santos\",\n \"Sarah\",\n \"Sarai\",\n \"Sarina\",\n \"Sasha\",\n \"Saul\",\n \"Savanah\",\n \"Savanna\",\n \"Savannah\",\n \"Savion\",\n \"Scarlett\",\n \"Schuyler\",\n \"Scot\",\n \"Scottie\",\n \"Scotty\",\n \"Seamus\",\n \"Sean\",\n \"Sebastian\",\n \"Sedrick\",\n \"Selena\",\n \"Selina\",\n \"Selmer\",\n \"Serena\",\n \"Serenity\",\n \"Seth\",\n \"Shad\",\n \"Shaina\",\n \"Shakira\",\n \"Shana\",\n \"Shane\",\n \"Shanel\",\n \"Shanelle\",\n \"Shania\",\n \"Shanie\",\n \"Shaniya\",\n \"Shanna\",\n \"Shannon\",\n \"Shanny\",\n \"Shanon\",\n \"Shany\",\n \"Sharon\",\n \"Shaun\",\n \"Shawn\",\n \"Shawna\",\n \"Shaylee\",\n \"Shayna\",\n \"Shayne\",\n \"Shea\",\n \"Sheila\",\n \"Sheldon\",\n \"Shemar\",\n \"Sheridan\",\n \"Sherman\",\n \"Sherwood\",\n \"Shirley\",\n \"Shyann\",\n \"Shyanne\",\n \"Sibyl\",\n \"Sid\",\n \"Sidney\",\n \"Sienna\",\n \"Sierra\",\n \"Sigmund\",\n \"Sigrid\",\n \"Sigurd\",\n \"Silas\",\n \"Sim\",\n \"Simeon\",\n \"Simone\",\n \"Sincere\",\n \"Sister\",\n \"Skye\",\n \"Skyla\",\n \"Skylar\",\n \"Sofia\",\n \"Soledad\",\n \"Solon\",\n \"Sonia\",\n \"Sonny\",\n \"Sonya\",\n \"Sophia\",\n \"Sophie\",\n \"Spencer\",\n \"Stacey\",\n \"Stacy\",\n \"Stan\",\n \"Stanford\",\n \"Stanley\",\n \"Stanton\",\n \"Stefan\",\n \"Stefanie\",\n \"Stella\",\n \"Stephan\",\n \"Stephania\",\n \"Stephanie\",\n \"Stephany\",\n \"Stephen\",\n \"Stephon\",\n \"Sterling\",\n \"Steve\",\n \"Stevie\",\n \"Stewart\",\n \"Stone\",\n \"Stuart\",\n \"Summer\",\n \"Sunny\",\n \"Susan\",\n \"Susana\",\n \"Susanna\",\n \"Susie\",\n \"Suzanne\",\n \"Sven\",\n \"Syble\",\n \"Sydnee\",\n \"Sydney\",\n \"Sydni\",\n \"Sydnie\",\n \"Sylvan\",\n \"Sylvester\",\n \"Sylvia\",\n \"Tabitha\",\n \"Tad\",\n \"Talia\",\n \"Talon\",\n \"Tamara\",\n \"Tamia\",\n \"Tania\",\n \"Tanner\",\n \"Tanya\",\n \"Tara\",\n \"Taryn\",\n \"Tate\",\n \"Tatum\",\n \"Tatyana\",\n \"Taurean\",\n \"Tavares\",\n \"Taya\",\n \"Taylor\",\n \"Teagan\",\n \"Ted\",\n \"Telly\",\n \"Terence\",\n \"Teresa\",\n \"Terrance\",\n \"Terrell\",\n \"Terrence\",\n \"Terrill\",\n \"Terry\",\n \"Tess\",\n \"Tessie\",\n \"Tevin\",\n \"Thad\",\n \"Thaddeus\",\n \"Thalia\",\n \"Thea\",\n \"Thelma\",\n \"Theo\",\n \"Theodora\",\n \"Theodore\",\n \"Theresa\",\n \"Therese\",\n \"Theresia\",\n \"Theron\",\n \"Thomas\",\n \"Thora\",\n \"Thurman\",\n \"Tia\",\n \"Tiana\",\n \"Tianna\",\n \"Tiara\",\n \"Tierra\",\n \"Tiffany\",\n \"Tillman\",\n \"Timmothy\",\n \"Timmy\",\n \"Timothy\",\n \"Tina\",\n \"Tito\",\n \"Titus\",\n \"Tobin\",\n \"Toby\",\n \"Tod\",\n \"Tom\",\n \"Tomas\",\n \"Tomasa\",\n \"Tommie\",\n \"Toney\",\n \"Toni\",\n \"Tony\",\n \"Torey\",\n \"Torrance\",\n \"Torrey\",\n \"Toy\",\n \"Trace\",\n \"Tracey\",\n \"Tracy\",\n \"Travis\",\n \"Travon\",\n \"Tre\",\n \"Tremaine\",\n \"Tremayne\",\n \"Trent\",\n \"Trenton\",\n \"Tressa\",\n \"Tressie\",\n \"Treva\",\n \"Trever\",\n \"Trevion\",\n \"Trevor\",\n \"Trey\",\n \"Trinity\",\n \"Trisha\",\n \"Tristian\",\n \"Tristin\",\n \"Triston\",\n \"Troy\",\n \"Trudie\",\n \"Trycia\",\n \"Trystan\",\n \"Turner\",\n \"Twila\",\n \"Tyler\",\n \"Tyra\",\n \"Tyree\",\n \"Tyreek\",\n \"Tyrel\",\n \"Tyrell\",\n \"Tyrese\",\n \"Tyrique\",\n \"Tyshawn\",\n \"Tyson\",\n \"Ubaldo\",\n \"Ulices\",\n \"Ulises\",\n \"Una\",\n \"Unique\",\n \"Urban\",\n \"Uriah\",\n \"Uriel\",\n \"Ursula\",\n \"Vada\",\n \"Valentin\",\n \"Valentina\",\n \"Valentine\",\n \"Valerie\",\n \"Vallie\",\n \"Van\",\n \"Vance\",\n \"Vanessa\",\n \"Vaughn\",\n \"Veda\",\n \"Velda\",\n \"Vella\",\n \"Velma\",\n \"Velva\",\n \"Vena\",\n \"Verda\",\n \"Verdie\",\n \"Vergie\",\n \"Verla\",\n \"Verlie\",\n \"Vern\",\n \"Verna\",\n \"Verner\",\n \"Vernice\",\n \"Vernie\",\n \"Vernon\",\n \"Verona\",\n \"Veronica\",\n \"Vesta\",\n \"Vicenta\",\n \"Vicente\",\n \"Vickie\",\n \"Vicky\",\n \"Victor\",\n \"Victoria\",\n \"Vida\",\n \"Vidal\",\n \"Vilma\",\n \"Vince\",\n \"Vincent\",\n \"Vincenza\",\n \"Vincenzo\",\n \"Vinnie\",\n \"Viola\",\n \"Violet\",\n \"Violette\",\n \"Virgie\",\n \"Virgil\",\n \"Virginia\",\n \"Virginie\",\n \"Vita\",\n \"Vito\",\n \"Viva\",\n \"Vivian\",\n \"Viviane\",\n \"Vivianne\",\n \"Vivien\",\n \"Vivienne\",\n \"Vladimir\",\n \"Wade\",\n \"Waino\",\n \"Waldo\",\n \"Walker\",\n \"Wallace\",\n \"Walter\",\n \"Walton\",\n \"Wanda\",\n \"Ward\",\n \"Warren\",\n \"Watson\",\n \"Wava\",\n \"Waylon\",\n \"Wayne\",\n \"Webster\",\n \"Weldon\",\n \"Wellington\",\n \"Wendell\",\n \"Wendy\",\n \"Werner\",\n \"Westley\",\n \"Weston\",\n \"Whitney\",\n \"Wilber\",\n \"Wilbert\",\n \"Wilburn\",\n \"Wiley\",\n \"Wilford\",\n \"Wilfred\",\n \"Wilfredo\",\n \"Wilfrid\",\n \"Wilhelm\",\n \"Wilhelmine\",\n \"Will\",\n \"Willa\",\n \"Willard\",\n \"William\",\n \"Willie\",\n \"Willis\",\n \"Willow\",\n \"Willy\",\n \"Wilma\",\n \"Wilmer\",\n \"Wilson\",\n \"Wilton\",\n \"Winfield\",\n \"Winifred\",\n \"Winnifred\",\n \"Winona\",\n \"Winston\",\n \"Woodrow\",\n \"Wyatt\",\n \"Wyman\",\n \"Xander\",\n \"Xavier\",\n \"Xzavier\",\n \"Yadira\",\n \"Yasmeen\",\n \"Yasmin\",\n \"Yasmine\",\n \"Yazmin\",\n \"Yesenia\",\n \"Yessenia\",\n \"Yolanda\",\n \"Yoshiko\",\n \"Yvette\",\n \"Yvonne\",\n \"Zachariah\",\n \"Zachary\",\n \"Zachery\",\n \"Zack\",\n \"Zackary\",\n \"Zackery\",\n \"Zakary\",\n \"Zander\",\n \"Zane\",\n \"Zaria\",\n \"Zechariah\",\n \"Zelda\",\n \"Zella\",\n \"Zelma\",\n \"Zena\",\n \"Zetta\",\n \"Zion\",\n \"Zita\",\n \"Zoe\",\n \"Zoey\",\n \"Zoie\",\n \"Zoila\",\n \"Zola\",\n \"Zora\",\n \"Zula\"\n];\n","module[\"exports\"] = [\n \"Abbott\",\n \"Abernathy\",\n \"Abshire\",\n \"Adams\",\n \"Altenwerth\",\n \"Anderson\",\n \"Ankunding\",\n \"Armstrong\",\n \"Auer\",\n \"Aufderhar\",\n \"Bahringer\",\n \"Bailey\",\n \"Balistreri\",\n \"Barrows\",\n \"Bartell\",\n \"Bartoletti\",\n \"Barton\",\n \"Bashirian\",\n \"Batz\",\n \"Bauch\",\n \"Baumbach\",\n \"Bayer\",\n \"Beahan\",\n \"Beatty\",\n \"Bechtelar\",\n \"Becker\",\n \"Bednar\",\n \"Beer\",\n \"Beier\",\n \"Berge\",\n \"Bergnaum\",\n \"Bergstrom\",\n \"Bernhard\",\n \"Bernier\",\n \"Bins\",\n \"Blanda\",\n \"Blick\",\n \"Block\",\n \"Bode\",\n \"Boehm\",\n \"Bogan\",\n \"Bogisich\",\n \"Borer\",\n \"Bosco\",\n \"Botsford\",\n \"Boyer\",\n \"Boyle\",\n \"Bradtke\",\n \"Brakus\",\n \"Braun\",\n \"Breitenberg\",\n \"Brekke\",\n \"Brown\",\n \"Bruen\",\n \"Buckridge\",\n \"Carroll\",\n \"Carter\",\n \"Cartwright\",\n \"Casper\",\n \"Cassin\",\n \"Champlin\",\n \"Christiansen\",\n \"Cole\",\n \"Collier\",\n \"Collins\",\n \"Conn\",\n \"Connelly\",\n \"Conroy\",\n \"Considine\",\n \"Corkery\",\n \"Cormier\",\n \"Corwin\",\n \"Cremin\",\n \"Crist\",\n \"Crona\",\n \"Cronin\",\n \"Crooks\",\n \"Cruickshank\",\n \"Cummerata\",\n \"Cummings\",\n \"Dach\",\n \"D'Amore\",\n \"Daniel\",\n \"Dare\",\n \"Daugherty\",\n \"Davis\",\n \"Deckow\",\n \"Denesik\",\n \"Dibbert\",\n \"Dickens\",\n \"Dicki\",\n \"Dickinson\",\n \"Dietrich\",\n \"Donnelly\",\n \"Dooley\",\n \"Douglas\",\n \"Doyle\",\n \"DuBuque\",\n \"Durgan\",\n \"Ebert\",\n \"Effertz\",\n \"Emard\",\n \"Emmerich\",\n \"Erdman\",\n \"Ernser\",\n \"Fadel\",\n \"Fahey\",\n \"Farrell\",\n \"Fay\",\n \"Feeney\",\n \"Feest\",\n \"Feil\",\n \"Ferry\",\n \"Fisher\",\n \"Flatley\",\n \"Frami\",\n \"Franecki\",\n \"Friesen\",\n \"Fritsch\",\n \"Funk\",\n \"Gaylord\",\n \"Gerhold\",\n \"Gerlach\",\n \"Gibson\",\n \"Gislason\",\n \"Gleason\",\n \"Gleichner\",\n \"Glover\",\n \"Goldner\",\n \"Goodwin\",\n \"Gorczany\",\n \"Gottlieb\",\n \"Goyette\",\n \"Grady\",\n \"Graham\",\n \"Grant\",\n \"Green\",\n \"Greenfelder\",\n \"Greenholt\",\n \"Grimes\",\n \"Gulgowski\",\n \"Gusikowski\",\n \"Gutkowski\",\n \"Gutmann\",\n \"Haag\",\n \"Hackett\",\n \"Hagenes\",\n \"Hahn\",\n \"Haley\",\n \"Halvorson\",\n \"Hamill\",\n \"Hammes\",\n \"Hand\",\n \"Hane\",\n \"Hansen\",\n \"Harber\",\n \"Harris\",\n \"Hartmann\",\n \"Harvey\",\n \"Hauck\",\n \"Hayes\",\n \"Heaney\",\n \"Heathcote\",\n \"Hegmann\",\n \"Heidenreich\",\n \"Heller\",\n \"Herman\",\n \"Hermann\",\n \"Hermiston\",\n \"Herzog\",\n \"Hessel\",\n \"Hettinger\",\n \"Hickle\",\n \"Hilll\",\n \"Hills\",\n \"Hilpert\",\n \"Hintz\",\n \"Hirthe\",\n \"Hodkiewicz\",\n \"Hoeger\",\n \"Homenick\",\n \"Hoppe\",\n \"Howe\",\n \"Howell\",\n \"Hudson\",\n \"Huel\",\n \"Huels\",\n \"Hyatt\",\n \"Jacobi\",\n \"Jacobs\",\n \"Jacobson\",\n \"Jakubowski\",\n \"Jaskolski\",\n \"Jast\",\n \"Jenkins\",\n \"Jerde\",\n \"Johns\",\n \"Johnson\",\n \"Johnston\",\n \"Jones\",\n \"Kassulke\",\n \"Kautzer\",\n \"Keebler\",\n \"Keeling\",\n \"Kemmer\",\n \"Kerluke\",\n \"Kertzmann\",\n \"Kessler\",\n \"Kiehn\",\n \"Kihn\",\n \"Kilback\",\n \"King\",\n \"Kirlin\",\n \"Klein\",\n \"Kling\",\n \"Klocko\",\n \"Koch\",\n \"Koelpin\",\n \"Koepp\",\n \"Kohler\",\n \"Konopelski\",\n \"Koss\",\n \"Kovacek\",\n \"Kozey\",\n \"Krajcik\",\n \"Kreiger\",\n \"Kris\",\n \"Kshlerin\",\n \"Kub\",\n \"Kuhic\",\n \"Kuhlman\",\n \"Kuhn\",\n \"Kulas\",\n \"Kunde\",\n \"Kunze\",\n \"Kuphal\",\n \"Kutch\",\n \"Kuvalis\",\n \"Labadie\",\n \"Lakin\",\n \"Lang\",\n \"Langosh\",\n \"Langworth\",\n \"Larkin\",\n \"Larson\",\n \"Leannon\",\n \"Lebsack\",\n \"Ledner\",\n \"Leffler\",\n \"Legros\",\n \"Lehner\",\n \"Lemke\",\n \"Lesch\",\n \"Leuschke\",\n \"Lind\",\n \"Lindgren\",\n \"Littel\",\n \"Little\",\n \"Lockman\",\n \"Lowe\",\n \"Lubowitz\",\n \"Lueilwitz\",\n \"Luettgen\",\n \"Lynch\",\n \"Macejkovic\",\n \"MacGyver\",\n \"Maggio\",\n \"Mann\",\n \"Mante\",\n \"Marks\",\n \"Marquardt\",\n \"Marvin\",\n \"Mayer\",\n \"Mayert\",\n \"McClure\",\n \"McCullough\",\n \"McDermott\",\n \"McGlynn\",\n \"McKenzie\",\n \"McLaughlin\",\n \"Medhurst\",\n \"Mertz\",\n \"Metz\",\n \"Miller\",\n \"Mills\",\n \"Mitchell\",\n \"Moen\",\n \"Mohr\",\n \"Monahan\",\n \"Moore\",\n \"Morar\",\n \"Morissette\",\n \"Mosciski\",\n \"Mraz\",\n \"Mueller\",\n \"Muller\",\n \"Murazik\",\n \"Murphy\",\n \"Murray\",\n \"Nader\",\n \"Nicolas\",\n \"Nienow\",\n \"Nikolaus\",\n \"Nitzsche\",\n \"Nolan\",\n \"Oberbrunner\",\n \"O'Connell\",\n \"O'Conner\",\n \"O'Hara\",\n \"O'Keefe\",\n \"O'Kon\",\n \"Okuneva\",\n \"Olson\",\n \"Ondricka\",\n \"O'Reilly\",\n \"Orn\",\n \"Ortiz\",\n \"Osinski\",\n \"Pacocha\",\n \"Padberg\",\n \"Pagac\",\n \"Parisian\",\n \"Parker\",\n \"Paucek\",\n \"Pfannerstill\",\n \"Pfeffer\",\n \"Pollich\",\n \"Pouros\",\n \"Powlowski\",\n \"Predovic\",\n \"Price\",\n \"Prohaska\",\n \"Prosacco\",\n \"Purdy\",\n \"Quigley\",\n \"Quitzon\",\n \"Rath\",\n \"Ratke\",\n \"Rau\",\n \"Raynor\",\n \"Reichel\",\n \"Reichert\",\n \"Reilly\",\n \"Reinger\",\n \"Rempel\",\n \"Renner\",\n \"Reynolds\",\n \"Rice\",\n \"Rippin\",\n \"Ritchie\",\n \"Robel\",\n \"Roberts\",\n \"Rodriguez\",\n \"Rogahn\",\n \"Rohan\",\n \"Rolfson\",\n \"Romaguera\",\n \"Roob\",\n \"Rosenbaum\",\n \"Rowe\",\n \"Ruecker\",\n \"Runolfsdottir\",\n \"Runolfsson\",\n \"Runte\",\n \"Russel\",\n \"Rutherford\",\n \"Ryan\",\n \"Sanford\",\n \"Satterfield\",\n \"Sauer\",\n \"Sawayn\",\n \"Schaden\",\n \"Schaefer\",\n \"Schamberger\",\n \"Schiller\",\n \"Schimmel\",\n \"Schinner\",\n \"Schmeler\",\n \"Schmidt\",\n \"Schmitt\",\n \"Schneider\",\n \"Schoen\",\n \"Schowalter\",\n \"Schroeder\",\n \"Schulist\",\n \"Schultz\",\n \"Schumm\",\n \"Schuppe\",\n \"Schuster\",\n \"Senger\",\n \"Shanahan\",\n \"Shields\",\n \"Simonis\",\n \"Sipes\",\n \"Skiles\",\n \"Smith\",\n \"Smitham\",\n \"Spencer\",\n \"Spinka\",\n \"Sporer\",\n \"Stamm\",\n \"Stanton\",\n \"Stark\",\n \"Stehr\",\n \"Steuber\",\n \"Stiedemann\",\n \"Stokes\",\n \"Stoltenberg\",\n \"Stracke\",\n \"Streich\",\n \"Stroman\",\n \"Strosin\",\n \"Swaniawski\",\n \"Swift\",\n \"Terry\",\n \"Thiel\",\n \"Thompson\",\n \"Tillman\",\n \"Torp\",\n \"Torphy\",\n \"Towne\",\n \"Toy\",\n \"Trantow\",\n \"Tremblay\",\n \"Treutel\",\n \"Tromp\",\n \"Turcotte\",\n \"Turner\",\n \"Ullrich\",\n \"Upton\",\n \"Vandervort\",\n \"Veum\",\n \"Volkman\",\n \"Von\",\n \"VonRueden\",\n \"Waelchi\",\n \"Walker\",\n \"Walsh\",\n \"Walter\",\n \"Ward\",\n \"Waters\",\n \"Watsica\",\n \"Weber\",\n \"Wehner\",\n \"Weimann\",\n \"Weissnat\",\n \"Welch\",\n \"West\",\n \"White\",\n \"Wiegand\",\n \"Wilderman\",\n \"Wilkinson\",\n \"Will\",\n \"Williamson\",\n \"Willms\",\n \"Windler\",\n \"Wintheiser\",\n \"Wisoky\",\n \"Wisozk\",\n \"Witting\",\n \"Wiza\",\n \"Wolf\",\n \"Wolff\",\n \"Wuckert\",\n \"Wunsch\",\n \"Wyman\",\n \"Yost\",\n \"Yundt\",\n \"Zboncak\",\n \"Zemlak\",\n \"Ziemann\",\n \"Zieme\",\n \"Zulauf\"\n];\n","module[\"exports\"] = [\n\"Asexual\",\n\"Female to male trans man\",\n\"Female to male transgender man\",\n\"Female to male transsexual man\",\n\"F2M\",\n\"Gender neutral\",\n\"Hermaphrodite\",\n\"Intersex man\",\n\"Intersex person\",\n\"Intersex woman\",\n\"Male to female trans woman\",\n\"Male to female transgender woman\",\n\"Male to female transsexual woman\",\n\"Man\",\n\"M2F\",\n\"Polygender\",\n\"T* man\",\n\"T* woman\",\n\"Two* person\",\n\"Two-spirit person\",\n\"Woman\",\n\"Agender\",\n\"Androgyne\",\n\"Androgynes\",\n\"Androgynous\",\n\"Bigender\",\n\"Cis\",\n\"Cis Female\",\n\"Cis Male\",\n\"Cis Man\",\n\"Cis Woman\",\n\"Cisgender\",\n\"Cisgender Female\",\n\"Cisgender Male\",\n\"Cisgender Man\",\n\"Cisgender Woman\",\n\"Female to Male\",\n\"FTM\",\n\"Gender Fluid\",\n\"Gender Nonconforming\",\n\"Gender Questioning\",\n\"Gender Variant\",\n\"Genderqueer\",\n\"Intersex\",\n\"Male to Female\",\n\"MTF\",\n\"Neither\",\n\"Neutrois\",\n\"Non-binary\",\n\"Other\",\n\"Pangender\",\n\"Trans\",\n\"Trans Female\",\n\"Trans Male\",\n\"Trans Man\",\n\"Trans Person\",\n\"Trans*Female\",\n\"Trans*Male\",\n\"Trans*Man\",\n\"Trans*Person\",\n\"Trans*Woman\",\n\"Transexual\",\n\"Transexual Female\",\n\"Transexual Male\",\n\"Transexual Man\",\n\"Transexual Person\",\n\"Transexual Woman\",\n\"Transgender Female\",\n\"Transgender Person\",\n\"Transmasculine\",\n\"Two-spirit\"\n];\n","module[\"exports\"] = [\n \"Mr.\",\n \"Mrs.\",\n \"Ms.\",\n \"Miss\",\n \"Dr.\"\n];\n","module[\"exports\"] = [\n \"Jr.\",\n \"Sr.\",\n \"I\",\n \"II\",\n \"III\",\n \"IV\",\n \"V\",\n \"MD\",\n \"DDS\",\n \"PhD\",\n \"DVM\"\n];\n","module[\"exports\"] = {\n \"descriptor\": [\n \"Lead\",\n \"Senior\",\n \"Direct\",\n \"Corporate\",\n \"Dynamic\",\n \"Future\",\n \"Product\",\n \"National\",\n \"Regional\",\n \"District\",\n \"Central\",\n \"Global\",\n \"Customer\",\n \"Investor\",\n \"Dynamic\",\n \"International\",\n \"Legacy\",\n \"Forward\",\n \"Internal\",\n \"Human\",\n \"Chief\",\n \"Principal\"\n ],\n \"level\": [\n \"Solutions\",\n \"Program\",\n \"Brand\",\n \"Security\",\n \"Research\",\n \"Marketing\",\n \"Directives\",\n \"Implementation\",\n \"Integration\",\n \"Functionality\",\n \"Response\",\n \"Paradigm\",\n \"Tactics\",\n \"Identity\",\n \"Markets\",\n \"Group\",\n \"Division\",\n \"Applications\",\n \"Optimization\",\n \"Operations\",\n \"Infrastructure\",\n \"Intranet\",\n \"Communications\",\n \"Web\",\n \"Branding\",\n \"Quality\",\n \"Assurance\",\n \"Mobility\",\n \"Accounts\",\n \"Data\",\n \"Creative\",\n \"Configuration\",\n \"Accountability\",\n \"Interactions\",\n \"Factors\",\n \"Usability\",\n \"Metrics\"\n ],\n \"job\": [\n \"Supervisor\",\n \"Associate\",\n \"Executive\",\n \"Liaison\",\n \"Officer\",\n \"Manager\",\n \"Engineer\",\n \"Specialist\",\n \"Director\",\n \"Coordinator\",\n \"Administrator\",\n \"Architect\",\n \"Analyst\",\n \"Designer\",\n \"Planner\",\n \"Orchestrator\",\n \"Technician\",\n \"Developer\",\n \"Producer\",\n \"Consultant\",\n \"Assistant\",\n \"Facilitator\",\n \"Agent\",\n \"Representative\",\n \"Strategist\"\n ]\n};\n","module[\"exports\"] = [\n \"#{prefix} #{first_name} #{last_name}\",\n \"#{first_name} #{last_name} #{suffix}\",\n \"#{first_name} #{last_name}\",\n \"#{first_name} #{last_name}\",\n \"#{male_first_name} #{last_name}\",\n \"#{female_first_name} #{last_name}\"\n];\n","var name = {};\nmodule['exports'] = name;\nname.male_first_name = require(\"./male_first_name\");\nname.female_first_name = require(\"./female_first_name\");\nname.first_name = require(\"./first_name\");\nname.last_name = require(\"./last_name\");\nname.gender = require(\"./gender\");\nname.prefix = require(\"./prefix\");\nname.suffix = require(\"./suffix\");\nname.title = require(\"./title\");\nname.name = require(\"./name\");","module[\"exports\"] = [\n \"!##-!##-####\",\n \"(!##) !##-####\",\n \"1-!##-!##-####\",\n \"!##.!##.####\",\n \"!##-!##-####\",\n \"(!##) !##-####\",\n \"1-!##-!##-####\",\n \"!##.!##.####\",\n \"!##-!##-#### x###\",\n \"(!##) !##-#### x###\",\n \"1-!##-!##-#### x###\",\n \"!##.!##.#### x###\",\n \"!##-!##-#### x####\",\n \"(!##) !##-#### x####\",\n \"1-!##-!##-#### x####\",\n \"!##.!##.#### x####\",\n \"!##-!##-#### x#####\",\n \"(!##) !##-#### x#####\",\n \"1-!##-!##-#### x#####\",\n \"!##.!##.#### x#####\"\n];\n","var phone_number = {};\nmodule['exports'] = phone_number;\nphone_number.formats = require(\"./formats\");\n","module[\"exports\"] = [\n \"###-###-####\",\n \"(###) ###-####\",\n \"1-###-###-####\",\n \"###.###.####\"\n];\n","var cell_phone = {};\nmodule['exports'] = cell_phone;\ncell_phone.formats = require(\"./formats\");\n","module[\"exports\"] = [\n \"1234-2121-1221-1211\",\n \"1212-1221-1121-1234\",\n \"1211-1221-1234-2201\",\n \"1228-1221-1221-1431\"\n];\n","module[\"exports\"] = [\n \"2011-10-12\",\n \"2012-11-12\",\n \"2015-11-11\",\n \"2013-9-12\"\n];\n","module[\"exports\"] = [\n \"visa\",\n \"mastercard\",\n \"americanexpress\",\n \"discover\"\n];\n","var business = {};\nmodule['exports'] = business;\nbusiness.credit_card_numbers = require(\"./credit_card_numbers\");\nbusiness.credit_card_expiry_dates = require(\"./credit_card_expiry_dates\");\nbusiness.credit_card_types = require(\"./credit_card_types\");\n","module[\"exports\"] = [\n \"red\",\n \"green\",\n \"blue\",\n \"yellow\",\n \"purple\",\n \"mint green\",\n \"teal\",\n \"white\",\n \"black\",\n \"orange\",\n \"pink\",\n \"grey\",\n \"maroon\",\n \"violet\",\n \"turquoise\",\n \"tan\",\n \"sky blue\",\n \"salmon\",\n \"plum\",\n \"orchid\",\n \"olive\",\n \"magenta\",\n \"lime\",\n \"ivory\",\n \"indigo\",\n \"gold\",\n \"fuchsia\",\n \"cyan\",\n \"azure\",\n \"lavender\",\n \"silver\"\n];\n","module[\"exports\"] = [\n \"Books\",\n \"Movies\",\n \"Music\",\n \"Games\",\n \"Electronics\",\n \"Computers\",\n \"Home\",\n \"Garden\",\n \"Tools\",\n \"Grocery\",\n \"Health\",\n \"Beauty\",\n \"Toys\",\n \"Kids\",\n \"Baby\",\n \"Clothing\",\n \"Shoes\",\n \"Jewelery\",\n \"Sports\",\n \"Outdoors\",\n \"Automotive\",\n \"Industrial\"\n];\n","module[\"exports\"] = {\n \"adjective\": [\n \"Small\",\n \"Ergonomic\",\n \"Rustic\",\n \"Intelligent\",\n \"Gorgeous\",\n \"Incredible\",\n \"Fantastic\",\n \"Practical\",\n \"Sleek\",\n \"Awesome\",\n \"Generic\",\n \"Handcrafted\",\n \"Handmade\",\n \"Licensed\",\n \"Refined\",\n \"Unbranded\",\n \"Tasty\"\n ],\n \"material\": [\n \"Steel\",\n \"Wooden\",\n \"Concrete\",\n \"Plastic\",\n \"Cotton\",\n \"Granite\",\n \"Rubber\",\n \"Metal\",\n \"Soft\",\n \"Fresh\",\n \"Frozen\"\n ],\n \"product\": [\n \"Chair\",\n \"Car\",\n \"Computer\",\n \"Keyboard\",\n \"Mouse\",\n \"Bike\",\n \"Ball\",\n \"Gloves\",\n \"Pants\",\n \"Shirt\",\n \"Table\",\n \"Shoes\",\n \"Hat\",\n \"Towels\",\n \"Soap\",\n \"Tuna\",\n \"Chicken\",\n \"Fish\",\n \"Cheese\",\n \"Bacon\",\n \"Pizza\",\n \"Salad\",\n \"Sausages\",\n \"Chips\"\n ]\n};\n","module[\"exports\"] = [\n \"Ergonomic executive chair upholstered in bonded black leather and PVC padded seat and back for all-day comfort and support\",\n \"The automobile layout consists of a front-engine design, with transaxle-type transmissions mounted at the rear of the engine and four wheel drive\",\n \"New ABC 13 9370, 13.3, 5th Gen CoreA5-8250U, 8GB RAM, 256GB SSD, power UHD Graphics, OS 10 Home, OS Office A & J 2016\",\n \"The slim & simple Maple Gaming Keyboard from Dev Byte comes with a sleek body and 7- Color RGB LED Back-lighting for smart functionality\",\n \"The Apollotech B340 is an affordable wireless mouse with reliable connectivity, 12 months battery life and modern design\",\n \"The Nagasaki Lander is the trademarked name of several series of Nagasaki sport bikes, that started with the 1984 ABC800J\",\n \"The Football Is Good For Training And Recreational Purposes\",\n \"Carbonite web goalkeeper gloves are ergonomically designed to give easy fit\",\n \"Boston's most advanced compression wear technology increases muscle oxygenation, stabilizes active muscles\",\n \"New range of formal shirts are designed keeping you in mind. With fits and styling that will make you stand apart\",\n \"The beautiful range of Apple Naturalé that has an exciting mix of natural ingredients. With the Goodness of 100% Natural Ingredients\",\n \"Andy shoes are designed to keeping in mind durability as well as trends, the most stylish range of shoes & sandals\"\n];","var commerce = {};\nmodule['exports'] = commerce;\ncommerce.color = require(\"./color\");\ncommerce.department = require(\"./department\");\ncommerce.product_name = require(\"./product_name\");\ncommerce.product_description = require(\"./product_description\");\n","module[\"exports\"] = [\n \"ants\",\n \"bats\",\n \"bears\",\n \"bees\",\n \"birds\",\n \"buffalo\",\n \"cats\",\n \"chickens\",\n \"cattle\",\n \"dogs\",\n \"dolphins\",\n \"ducks\",\n \"elephants\",\n \"fishes\",\n \"foxes\",\n \"frogs\",\n \"geese\",\n \"goats\",\n \"horses\",\n \"kangaroos\",\n \"lions\",\n \"monkeys\",\n \"owls\",\n \"oxen\",\n \"penguins\",\n \"people\",\n \"pigs\",\n \"rabbits\",\n \"sheep\",\n \"tigers\",\n \"whales\",\n \"wolves\",\n \"zebras\",\n \"banshees\",\n \"crows\",\n \"black cats\",\n \"chimeras\",\n \"ghosts\",\n \"conspirators\",\n \"dragons\",\n \"dwarves\",\n \"elves\",\n \"enchanters\",\n \"exorcists\",\n \"sons\",\n \"foes\",\n \"giants\",\n \"gnomes\",\n \"goblins\",\n \"gooses\",\n \"griffins\",\n \"lycanthropes\",\n \"nemesis\",\n \"ogres\",\n \"oracles\",\n \"prophets\",\n \"sorcerors\",\n \"spiders\",\n \"spirits\",\n \"vampires\",\n \"warlocks\",\n \"vixens\",\n \"werewolves\",\n \"witches\",\n \"worshipers\",\n \"zombies\",\n \"druids\"\n];\n","module[\"exports\"] = [\n \"#{Address.state} #{creature}\"\n];\n","var team = {};\nmodule['exports'] = team;\nteam.creature = require(\"./creature\");\nteam.name = require(\"./name\");\n","module[\"exports\"] = [\n \"TCP\",\n \"HTTP\",\n \"SDD\",\n \"RAM\",\n \"GB\",\n \"CSS\",\n \"SSL\",\n \"AGP\",\n \"SQL\",\n \"FTP\",\n \"PCI\",\n \"AI\",\n \"ADP\",\n \"RSS\",\n \"XML\",\n \"EXE\",\n \"COM\",\n \"HDD\",\n \"THX\",\n \"SMTP\",\n \"SMS\",\n \"USB\",\n \"PNG\",\n \"SAS\",\n \"IB\",\n \"SCSI\",\n \"JSON\",\n \"XSS\",\n \"JBOD\"\n];\n","module[\"exports\"] = [\n \"auxiliary\",\n \"primary\",\n \"back-end\",\n \"digital\",\n \"open-source\",\n \"virtual\",\n \"cross-platform\",\n \"redundant\",\n \"online\",\n \"haptic\",\n \"multi-byte\",\n \"bluetooth\",\n \"wireless\",\n \"1080p\",\n \"neural\",\n \"optical\",\n \"solid state\",\n \"mobile\"\n];\n","module[\"exports\"] = [\n \"driver\",\n \"protocol\",\n \"bandwidth\",\n \"panel\",\n \"microchip\",\n \"program\",\n \"port\",\n \"card\",\n \"array\",\n \"interface\",\n \"system\",\n \"sensor\",\n \"firewall\",\n \"hard drive\",\n \"pixel\",\n \"alarm\",\n \"feed\",\n \"monitor\",\n \"application\",\n \"transmitter\",\n \"bus\",\n \"circuit\",\n \"capacitor\",\n \"matrix\"\n];\n","module[\"exports\"] = [\n \"back up\",\n \"bypass\",\n \"hack\",\n \"override\",\n \"compress\",\n \"copy\",\n \"navigate\",\n \"index\",\n \"connect\",\n \"generate\",\n \"quantify\",\n \"calculate\",\n \"synthesize\",\n \"input\",\n \"transmit\",\n \"program\",\n \"reboot\",\n \"parse\"\n];\n","module[\"exports\"] = [\n \"backing up\",\n \"bypassing\",\n \"hacking\",\n \"overriding\",\n \"compressing\",\n \"copying\",\n \"navigating\",\n \"indexing\",\n \"connecting\",\n \"generating\",\n \"quantifying\",\n \"calculating\",\n \"synthesizing\",\n \"transmitting\",\n \"programming\",\n \"parsing\"\n];\n","module[\"exports\"] = [\r\n \"If we {{verb}} the {{noun}}, we can get to the {{abbreviation}} {{noun}} through the {{adjective}} {{abbreviation}} {{noun}}!\",\r\n \"We need to {{verb}} the {{adjective}} {{abbreviation}} {{noun}}!\",\r\n \"Try to {{verb}} the {{abbreviation}} {{noun}}, maybe it will {{verb}} the {{adjective}} {{noun}}!\",\r\n \"You can't {{verb}} the {{noun}} without {{ingverb}} the {{adjective}} {{abbreviation}} {{noun}}!\",\r\n \"Use the {{adjective}} {{abbreviation}} {{noun}}, then you can {{verb}} the {{adjective}} {{noun}}!\",\r\n \"The {{abbreviation}} {{noun}} is down, {{verb}} the {{adjective}} {{noun}} so we can {{verb}} the {{abbreviation}} {{noun}}!\",\r\n \"{{ingverb}} the {{noun}} won't do anything, we need to {{verb}} the {{adjective}} {{abbreviation}} {{noun}}!\",\r\n \"I'll {{verb}} the {{adjective}} {{abbreviation}} {{noun}}, that should {{noun}} the {{abbreviation}} {{noun}}!\"\r\n];","var hacker = {};\nmodule['exports'] = hacker;\nhacker.abbreviation = require(\"./abbreviation\");\nhacker.adjective = require(\"./adjective\");\nhacker.noun = require(\"./noun\");\nhacker.verb = require(\"./verb\");\nhacker.ingverb = require(\"./ingverb\");\nhacker.phrase = require(\"./phrase\");\n","module[\"exports\"] = [\n \"Redhold\",\n \"Treeflex\",\n \"Trippledex\",\n \"Kanlam\",\n \"Bigtax\",\n \"Daltfresh\",\n \"Toughjoyfax\",\n \"Mat Lam Tam\",\n \"Otcom\",\n \"Tres-Zap\",\n \"Y-Solowarm\",\n \"Tresom\",\n \"Voltsillam\",\n \"Biodex\",\n \"Greenlam\",\n \"Viva\",\n \"Matsoft\",\n \"Temp\",\n \"Zoolab\",\n \"Subin\",\n \"Rank\",\n \"Job\",\n \"Stringtough\",\n \"Tin\",\n \"It\",\n \"Home Ing\",\n \"Zamit\",\n \"Sonsing\",\n \"Konklab\",\n \"Alpha\",\n \"Latlux\",\n \"Voyatouch\",\n \"Alphazap\",\n \"Holdlamis\",\n \"Zaam-Dox\",\n \"Sub-Ex\",\n \"Quo Lux\",\n \"Bamity\",\n \"Ventosanzap\",\n \"Lotstring\",\n \"Hatity\",\n \"Tempsoft\",\n \"Overhold\",\n \"Fixflex\",\n \"Konklux\",\n \"Zontrax\",\n \"Tampflex\",\n \"Span\",\n \"Namfix\",\n \"Transcof\",\n \"Stim\",\n \"Fix San\",\n \"Sonair\",\n \"Stronghold\",\n \"Fintone\",\n \"Y-find\",\n \"Opela\",\n \"Lotlux\",\n \"Ronstring\",\n \"Zathin\",\n \"Duobam\",\n \"Keylex\"\n];\n","module[\"exports\"] = [\n \"0.#.#\",\n \"0.##\",\n \"#.##\",\n \"#.#\",\n \"#.#.#\"\n];\n","module[\"exports\"] = [\n \"#{Name.name}\",\n \"#{Company.name}\"\n];\n","var app = {};\nmodule['exports'] = app;\napp.name = require(\"./name\");\napp.version = require(\"./version\");\napp.author = require(\"./author\");\n","module[\"exports\"] = [\n \"Checking\",\n \"Savings\",\n \"Money Market\",\n \"Investment\",\n \"Home Loan\",\n \"Credit Card\",\n \"Auto Loan\",\n \"Personal Loan\"\n];\n","module[\"exports\"] = [\n \"deposit\",\n \"withdrawal\",\n \"payment\",\n \"invoice\"\n];\n","module[\"exports\"] = {\n \"UAE Dirham\": {\n \"code\": \"AED\",\n \"symbol\": \"\"\n },\n \"Afghani\": {\n \"code\": \"AFN\",\n \"symbol\": \"؋\"\n },\n \"Lek\": {\n \"code\": \"ALL\",\n \"symbol\": \"Lek\"\n },\n \"Armenian Dram\": {\n \"code\": \"AMD\",\n \"symbol\": \"\"\n },\n \"Netherlands Antillian Guilder\": {\n \"code\": \"ANG\",\n \"symbol\": \"ƒ\"\n },\n \"Kwanza\": {\n \"code\": \"AOA\",\n \"symbol\": \"\"\n },\n \"Argentine Peso\": {\n \"code\": \"ARS\",\n \"symbol\": \"$\"\n },\n \"Australian Dollar\": {\n \"code\": \"AUD\",\n \"symbol\": \"$\"\n },\n \"Aruban Guilder\": {\n \"code\": \"AWG\",\n \"symbol\": \"ƒ\"\n },\n \"Azerbaijanian Manat\": {\n \"code\": \"AZN\",\n \"symbol\": \"ман\"\n },\n \"Convertible Marks\": {\n \"code\": \"BAM\",\n \"symbol\": \"KM\"\n },\n \"Barbados Dollar\": {\n \"code\": \"BBD\",\n \"symbol\": \"$\"\n },\n \"Taka\": {\n \"code\": \"BDT\",\n \"symbol\": \"\"\n },\n \"Bulgarian Lev\": {\n \"code\": \"BGN\",\n \"symbol\": \"лв\"\n },\n \"Bahraini Dinar\": {\n \"code\": \"BHD\",\n \"symbol\": \"\"\n },\n \"Burundi Franc\": {\n \"code\": \"BIF\",\n \"symbol\": \"\"\n },\n \"Bermudian Dollar (customarily known as Bermuda Dollar)\": {\n \"code\": \"BMD\",\n \"symbol\": \"$\"\n },\n \"Brunei Dollar\": {\n \"code\": \"BND\",\n \"symbol\": \"$\"\n },\n \"Boliviano boliviano\": {\n \"code\": \"BOB\",\n \"symbol\": \"Bs\"\n },\n \"Brazilian Real\": {\n \"code\": \"BRL\",\n \"symbol\": \"R$\"\n },\n \"Bahamian Dollar\": {\n \"code\": \"BSD\",\n \"symbol\": \"$\"\n },\n \"Pula\": {\n \"code\": \"BWP\",\n \"symbol\": \"P\"\n },\n \"Belarussian Ruble\": {\n \"code\": \"BYR\",\n \"symbol\": \"p.\"\n },\n \"Belize Dollar\": {\n \"code\": \"BZD\",\n \"symbol\": \"BZ$\"\n },\n \"Canadian Dollar\": {\n \"code\": \"CAD\",\n \"symbol\": \"$\"\n },\n \"Congolese Franc\": {\n \"code\": \"CDF\",\n \"symbol\": \"\"\n },\n \"Swiss Franc\": {\n \"code\": \"CHF\",\n \"symbol\": \"CHF\"\n },\n \"Chilean Peso\": {\n \"code\": \"CLP\",\n \"symbol\": \"$\"\n },\n \"Yuan Renminbi\": {\n \"code\": \"CNY\",\n \"symbol\": \"¥\"\n },\n \"Colombian Peso\": {\n \"code\": \"COP\",\n \"symbol\": \"$\"\n },\n \"Costa Rican Colon\": {\n \"code\": \"CRC\",\n \"symbol\": \"₡\"\n },\n \"Cuban Peso\": {\n \"code\": \"CUP\",\n \"symbol\": \"₱\"\n },\n \"Cuban Peso Convertible\": {\n \"code\": \"CUC\",\n \"symbol\": \"$\"\n },\n \"Cape Verde Escudo\": {\n \"code\": \"CVE\",\n \"symbol\": \"\"\n },\n \"Czech Koruna\": {\n \"code\": \"CZK\",\n \"symbol\": \"Kč\"\n },\n \"Djibouti Franc\": {\n \"code\": \"DJF\",\n \"symbol\": \"\"\n },\n \"Danish Krone\": {\n \"code\": \"DKK\",\n \"symbol\": \"kr\"\n },\n \"Dominican Peso\": {\n \"code\": \"DOP\",\n \"symbol\": \"RD$\"\n },\n \"Algerian Dinar\": {\n \"code\": \"DZD\",\n \"symbol\": \"\"\n },\n \"Kroon\": {\n \"code\": \"EEK\",\n \"symbol\": \"\"\n },\n \"Egyptian Pound\": {\n \"code\": \"EGP\",\n \"symbol\": \"£\"\n },\n \"Nakfa\": {\n \"code\": \"ERN\",\n \"symbol\": \"\"\n },\n \"Ethiopian Birr\": {\n \"code\": \"ETB\",\n \"symbol\": \"\"\n },\n \"Euro\": {\n \"code\": \"EUR\",\n \"symbol\": \"€\"\n },\n \"Fiji Dollar\": {\n \"code\": \"FJD\",\n \"symbol\": \"$\"\n },\n \"Falkland Islands Pound\": {\n \"code\": \"FKP\",\n \"symbol\": \"£\"\n },\n \"Pound Sterling\": {\n \"code\": \"GBP\",\n \"symbol\": \"£\"\n },\n \"Lari\": {\n \"code\": \"GEL\",\n \"symbol\": \"\"\n },\n \"Cedi\": {\n \"code\": \"GHS\",\n \"symbol\": \"\"\n },\n \"Gibraltar Pound\": {\n \"code\": \"GIP\",\n \"symbol\": \"£\"\n },\n \"Dalasi\": {\n \"code\": \"GMD\",\n \"symbol\": \"\"\n },\n \"Guinea Franc\": {\n \"code\": \"GNF\",\n \"symbol\": \"\"\n },\n \"Quetzal\": {\n \"code\": \"GTQ\",\n \"symbol\": \"Q\"\n },\n \"Guyana Dollar\": {\n \"code\": \"GYD\",\n \"symbol\": \"$\"\n },\n \"Hong Kong Dollar\": {\n \"code\": \"HKD\",\n \"symbol\": \"$\"\n },\n \"Lempira\": {\n \"code\": \"HNL\",\n \"symbol\": \"L\"\n },\n \"Croatian Kuna\": {\n \"code\": \"HRK\",\n \"symbol\": \"kn\"\n },\n \"Gourde\": {\n \"code\": \"HTG\",\n \"symbol\": \"\"\n },\n \"Forint\": {\n \"code\": \"HUF\",\n \"symbol\": \"Ft\"\n },\n \"Rupiah\": {\n \"code\": \"IDR\",\n \"symbol\": \"Rp\"\n },\n \"New Israeli Sheqel\": {\n \"code\": \"ILS\",\n \"symbol\": \"₪\"\n },\n \"Indian Rupee\": {\n \"code\": \"INR\",\n \"symbol\": \"\"\n },\n \"Bhutanese Ngultrum\": {\n \"code\": \"BTN\",\n \"symbol\": \"Nu\"\n },\n \"Indian Rupee\": {\n \"code\": \"INR\",\n \"symbol\": \"₹\"\n },\n \"Iraqi Dinar\": {\n \"code\": \"IQD\",\n \"symbol\": \"\"\n },\n \"Iranian Rial\": {\n \"code\": \"IRR\",\n \"symbol\": \"﷼\"\n },\n \"Iceland Krona\": {\n \"code\": \"ISK\",\n \"symbol\": \"kr\"\n },\n \"Jamaican Dollar\": {\n \"code\": \"JMD\",\n \"symbol\": \"J$\"\n },\n \"Jordanian Dinar\": {\n \"code\": \"JOD\",\n \"symbol\": \"\"\n },\n \"Yen\": {\n \"code\": \"JPY\",\n \"symbol\": \"¥\"\n },\n \"Kenyan Shilling\": {\n \"code\": \"KES\",\n \"symbol\": \"\"\n },\n \"Som\": {\n \"code\": \"KGS\",\n \"symbol\": \"лв\"\n },\n \"Riel\": {\n \"code\": \"KHR\",\n \"symbol\": \"៛\"\n },\n \"Comoro Franc\": {\n \"code\": \"KMF\",\n \"symbol\": \"\"\n },\n \"North Korean Won\": {\n \"code\": \"KPW\",\n \"symbol\": \"₩\"\n },\n \"Won\": {\n \"code\": \"KRW\",\n \"symbol\": \"₩\"\n },\n \"Kuwaiti Dinar\": {\n \"code\": \"KWD\",\n \"symbol\": \"\"\n },\n \"Cayman Islands Dollar\": {\n \"code\": \"KYD\",\n \"symbol\": \"$\"\n },\n \"Tenge\": {\n \"code\": \"KZT\",\n \"symbol\": \"лв\"\n },\n \"Kip\": {\n \"code\": \"LAK\",\n \"symbol\": \"₭\"\n },\n \"Lebanese Pound\": {\n \"code\": \"LBP\",\n \"symbol\": \"£\"\n },\n \"Sri Lanka Rupee\": {\n \"code\": \"LKR\",\n \"symbol\": \"₨\"\n },\n \"Liberian Dollar\": {\n \"code\": \"LRD\",\n \"symbol\": \"$\"\n },\n \"Lithuanian Litas\": {\n \"code\": \"LTL\",\n \"symbol\": \"Lt\"\n },\n \"Latvian Lats\": {\n \"code\": \"LVL\",\n \"symbol\": \"Ls\"\n },\n \"Libyan Dinar\": {\n \"code\": \"LYD\",\n \"symbol\": \"\"\n },\n \"Moroccan Dirham\": {\n \"code\": \"MAD\",\n \"symbol\": \"\"\n },\n \"Moldovan Leu\": {\n \"code\": \"MDL\",\n \"symbol\": \"\"\n },\n \"Malagasy Ariary\": {\n \"code\": \"MGA\",\n \"symbol\": \"\"\n },\n \"Denar\": {\n \"code\": \"MKD\",\n \"symbol\": \"ден\"\n },\n \"Kyat\": {\n \"code\": \"MMK\",\n \"symbol\": \"\"\n },\n \"Tugrik\": {\n \"code\": \"MNT\",\n \"symbol\": \"₮\"\n },\n \"Pataca\": {\n \"code\": \"MOP\",\n \"symbol\": \"\"\n },\n \"Ouguiya\": {\n \"code\": \"MRO\",\n \"symbol\": \"\"\n },\n \"Mauritius Rupee\": {\n \"code\": \"MUR\",\n \"symbol\": \"₨\"\n },\n \"Rufiyaa\": {\n \"code\": \"MVR\",\n \"symbol\": \"\"\n },\n \"Kwacha\": {\n \"code\": \"MWK\",\n \"symbol\": \"\"\n },\n \"Mexican Peso\": {\n \"code\": \"MXN\",\n \"symbol\": \"$\"\n },\n \"Malaysian Ringgit\": {\n \"code\": \"MYR\",\n \"symbol\": \"RM\"\n },\n \"Metical\": {\n \"code\": \"MZN\",\n \"symbol\": \"MT\"\n },\n \"Naira\": {\n \"code\": \"NGN\",\n \"symbol\": \"₦\"\n },\n \"Cordoba Oro\": {\n \"code\": \"NIO\",\n \"symbol\": \"C$\"\n },\n \"Norwegian Krone\": {\n \"code\": \"NOK\",\n \"symbol\": \"kr\"\n },\n \"Nepalese Rupee\": {\n \"code\": \"NPR\",\n \"symbol\": \"₨\"\n },\n \"New Zealand Dollar\": {\n \"code\": \"NZD\",\n \"symbol\": \"$\"\n },\n \"Rial Omani\": {\n \"code\": \"OMR\",\n \"symbol\": \"﷼\"\n },\n \"Balboa\": {\n \"code\": \"PAB\",\n \"symbol\": \"B/.\"\n },\n \"Nuevo Sol\": {\n \"code\": \"PEN\",\n \"symbol\": \"S/.\"\n },\n \"Kina\": {\n \"code\": \"PGK\",\n \"symbol\": \"\"\n },\n \"Philippine Peso\": {\n \"code\": \"PHP\",\n \"symbol\": \"Php\"\n },\n \"Pakistan Rupee\": {\n \"code\": \"PKR\",\n \"symbol\": \"₨\"\n },\n \"Zloty\": {\n \"code\": \"PLN\",\n \"symbol\": \"zł\"\n },\n \"Guarani\": {\n \"code\": \"PYG\",\n \"symbol\": \"Gs\"\n },\n \"Qatari Rial\": {\n \"code\": \"QAR\",\n \"symbol\": \"﷼\"\n },\n \"New Leu\": {\n \"code\": \"RON\",\n \"symbol\": \"lei\"\n },\n \"Serbian Dinar\": {\n \"code\": \"RSD\",\n \"symbol\": \"Дин.\"\n },\n \"Russian Ruble\": {\n \"code\": \"RUB\",\n \"symbol\": \"руб\"\n },\n \"Rwanda Franc\": {\n \"code\": \"RWF\",\n \"symbol\": \"\"\n },\n \"Saudi Riyal\": {\n \"code\": \"SAR\",\n \"symbol\": \"﷼\"\n },\n \"Solomon Islands Dollar\": {\n \"code\": \"SBD\",\n \"symbol\": \"$\"\n },\n \"Seychelles Rupee\": {\n \"code\": \"SCR\",\n \"symbol\": \"₨\"\n },\n \"Sudanese Pound\": {\n \"code\": \"SDG\",\n \"symbol\": \"\"\n },\n \"Swedish Krona\": {\n \"code\": \"SEK\",\n \"symbol\": \"kr\"\n },\n \"Singapore Dollar\": {\n \"code\": \"SGD\",\n \"symbol\": \"$\"\n },\n \"Saint Helena Pound\": {\n \"code\": \"SHP\",\n \"symbol\": \"£\"\n },\n \"Leone\": {\n \"code\": \"SLL\",\n \"symbol\": \"\"\n },\n \"Somali Shilling\": {\n \"code\": \"SOS\",\n \"symbol\": \"S\"\n },\n \"Surinam Dollar\": {\n \"code\": \"SRD\",\n \"symbol\": \"$\"\n },\n \"Dobra\": {\n \"code\": \"STN\",\n \"symbol\": \"Db\"\n },\n \"El Salvador Colon\": {\n \"code\": \"SVC\",\n \"symbol\": \"₡\"\n },\n \"Syrian Pound\": {\n \"code\": \"SYP\",\n \"symbol\": \"£\"\n },\n \"Lilangeni\": {\n \"code\": \"SZL\",\n \"symbol\": \"\"\n },\n \"Baht\": {\n \"code\": \"THB\",\n \"symbol\": \"฿\"\n },\n \"Somoni\": {\n \"code\": \"TJS\",\n \"symbol\": \"\"\n },\n \"Manat\": {\n \"code\": \"TMT\",\n \"symbol\": \"\"\n },\n \"Tunisian Dinar\": {\n \"code\": \"TND\",\n \"symbol\": \"\"\n },\n \"Pa'anga\": {\n \"code\": \"TOP\",\n \"symbol\": \"\"\n },\n \"Turkish Lira\": {\n \"code\": \"TRY\",\n \"symbol\": \"₺\"\n },\n \"Trinidad and Tobago Dollar\": {\n \"code\": \"TTD\",\n \"symbol\": \"TT$\"\n },\n \"New Taiwan Dollar\": {\n \"code\": \"TWD\",\n \"symbol\": \"NT$\"\n },\n \"Tanzanian Shilling\": {\n \"code\": \"TZS\",\n \"symbol\": \"\"\n },\n \"Hryvnia\": {\n \"code\": \"UAH\",\n \"symbol\": \"₴\"\n },\n \"Uganda Shilling\": {\n \"code\": \"UGX\",\n \"symbol\": \"\"\n },\n \"US Dollar\": {\n \"code\": \"USD\",\n \"symbol\": \"$\"\n },\n \"Peso Uruguayo\": {\n \"code\": \"UYU\",\n \"symbol\": \"$U\"\n },\n \"Uzbekistan Sum\": {\n \"code\": \"UZS\",\n \"symbol\": \"лв\"\n },\n \"Bolivar Fuerte\": {\n \"code\": \"VEF\",\n \"symbol\": \"Bs\"\n },\n \"Dong\": {\n \"code\": \"VND\",\n \"symbol\": \"₫\"\n },\n \"Vatu\": {\n \"code\": \"VUV\",\n \"symbol\": \"\"\n },\n \"Tala\": {\n \"code\": \"WST\",\n \"symbol\": \"\"\n },\n \"CFA Franc BEAC\": {\n \"code\": \"XAF\",\n \"symbol\": \"\"\n },\n \"Silver\": {\n \"code\": \"XAG\",\n \"symbol\": \"\"\n },\n \"Gold\": {\n \"code\": \"XAU\",\n \"symbol\": \"\"\n },\n \"Bond Markets Units European Composite Unit (EURCO)\": {\n \"code\": \"XBA\",\n \"symbol\": \"\"\n },\n \"European Monetary Unit (E.M.U.-6)\": {\n \"code\": \"XBB\",\n \"symbol\": \"\"\n },\n \"European Unit of Account 9(E.U.A.-9)\": {\n \"code\": \"XBC\",\n \"symbol\": \"\"\n },\n \"European Unit of Account 17(E.U.A.-17)\": {\n \"code\": \"XBD\",\n \"symbol\": \"\"\n },\n \"East Caribbean Dollar\": {\n \"code\": \"XCD\",\n \"symbol\": \"$\"\n },\n \"SDR\": {\n \"code\": \"XDR\",\n \"symbol\": \"\"\n },\n \"UIC-Franc\": {\n \"code\": \"XFU\",\n \"symbol\": \"\"\n },\n \"CFA Franc BCEAO\": {\n \"code\": \"XOF\",\n \"symbol\": \"\"\n },\n \"Palladium\": {\n \"code\": \"XPD\",\n \"symbol\": \"\"\n },\n \"CFP Franc\": {\n \"code\": \"XPF\",\n \"symbol\": \"\"\n },\n \"Platinum\": {\n \"code\": \"XPT\",\n \"symbol\": \"\"\n },\n \"Codes specifically reserved for testing purposes\": {\n \"code\": \"XTS\",\n \"symbol\": \"\"\n },\n \"Yemeni Rial\": {\n \"code\": \"YER\",\n \"symbol\": \"﷼\"\n },\n \"Rand\": {\n \"code\": \"ZAR\",\n \"symbol\": \"R\"\n },\n \"Lesotho Loti\": {\n \"code\": \"LSL\",\n \"symbol\": \"\"\n },\n \"Namibia Dollar\": {\n \"code\": \"NAD\",\n \"symbol\": \"N$\"\n },\n \"Zambian Kwacha\": {\n \"code\": \"ZMK\",\n \"symbol\": \"\"\n },\n \"Zimbabwe Dollar\": {\n \"code\": \"ZWL\",\n \"symbol\": \"\"\n }\n};\n","module[\"exports\"] = [\n \"4###########L\",\n \"4###-####-####-###L\"\n];\n","module[\"exports\"] = [\n \"5[1-5]##-####-####-###L\",\n \"6771-89##-####-###L\"\n];\n","module[\"exports\"] = [\n \"6011-####-####-###L\",\n \"65##-####-####-###L\",\n \"64[4-9]#-####-####-###L\",\n \"6011-62##-####-####-###L\",\n \"65##-62##-####-####-###L\",\n \"64[4-9]#-62##-####-####-###L\"\n];\n","module[\"exports\"] = [\n \"34##-######-####L\",\n \"37##-######-####L\"\n];\n","module[\"exports\"] = [\n \"30[0-5]#-######-###L\",\n \"36##-######-###L\",\n \"54##-####-####-###L\"\n];\n","module[\"exports\"] = [\n \"3528-####-####-###L\",\n \"3529-####-####-###L\",\n \"35[3-8]#-####-####-###L\"\n];\n","module[\"exports\"] = [\n \"6759-####-####-###L\",\n \"6759-####-####-####-#L\",\n \"6759-####-####-####-##L\"\n];\n","module[\"exports\"] = [\n \"6767-####-####-###L\",\n \"6767-####-####-####-#L\",\n \"6767-####-####-####-##L\"\n];\n","module[\"exports\"] = [\n \"5018-#{4}-#{4}-#{3}L\",\n \"5020-#{4}-#{4}-#{3}L\",\n \"5038-#{4}-#{4}-#{3}L\",\n \"5893-#{4}-#{4}-#{3}L\",\n \"6304-#{4}-#{4}-#{3}L\",\n \"6759-#{4}-#{4}-#{3}L\",\n \"676[1-3]-####-####-###L\",\n \"5018#{11,15}L\",\n \"5020#{11,15}L\",\n \"5038#{11,15}L\",\n \"5893#{11,15}L\",\n \"6304#{11,15}L\",\n \"6759#{11,15}L\",\n \"676[1-3]#{11,15}L\",\n];\n\n// 5018 xxxx xxxx xxxx xxL\n","module[\"exports\"] = [\n \"6304###########L\",\n \"6706###########L\",\n \"6771###########L\",\n \"6709###########L\",\n \"6304#########{5,6}L\",\n \"6706#########{5,6}L\",\n \"6771#########{5,6}L\",\n \"6709#########{5,6}L\"\n];\n","module[\"exports\"] = [\n \"63[7-9]#-####-####-###L\"\n];\n","var credit_card = {};\nmodule['exports'] = credit_card;\ncredit_card.visa = require(\"./visa\");\ncredit_card.mastercard = require(\"./mastercard\");\ncredit_card.discover = require(\"./discover\");\ncredit_card.american_express = require(\"./american_express\");\ncredit_card.diners_club = require(\"./diners_club\");\ncredit_card.jcb = require(\"./jcb\");\ncredit_card.switch = require(\"./switch\");\ncredit_card.solo = require(\"./solo\");\ncredit_card.maestro = require(\"./maestro\");\ncredit_card.laser = require(\"./laser\");\ncredit_card.instapayment = require(\"./instapayment.js\")\n","var finance = {};\nmodule['exports'] = finance;\nfinance.account_type = require(\"./account_type\");\nfinance.transaction_type = require(\"./transaction_type\");\nfinance.currency = require(\"./currency\");\nfinance.credit_card = require(\"./credit_card\");\n","// Source: http://unicode.org/cldr/trac/browser/tags/release-27/common/main/en.xml#L1799\nmodule[\"exports\"] = {\n wide: [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\"\n ],\n // Property \"wide_context\" is optional, if not set then \"wide\" will be used instead\n // It is used to specify a word in context, which may differ from a stand-alone word\n wide_context: [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\"\n ],\n abbr: [\n \"Jan\",\n \"Feb\",\n \"Mar\",\n \"Apr\",\n \"May\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sep\",\n \"Oct\",\n \"Nov\",\n \"Dec\"\n ],\n // Property \"abbr_context\" is optional, if not set then \"abbr\" will be used instead\n // It is used to specify a word in context, which may differ from a stand-alone word\n abbr_context: [\n \"Jan\",\n \"Feb\",\n \"Mar\",\n \"Apr\",\n \"May\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sep\",\n \"Oct\",\n \"Nov\",\n \"Dec\"\n ]\n};\n","// Source: http://unicode.org/cldr/trac/browser/tags/release-27/common/main/en.xml#L1847\nmodule[\"exports\"] = {\n wide: [\n \"Sunday\",\n \"Monday\",\n \"Tuesday\",\n \"Wednesday\",\n \"Thursday\",\n \"Friday\",\n \"Saturday\"\n ],\n // Property \"wide_context\" is optional, if not set then \"wide\" will be used instead\n // It is used to specify a word in context, which may differ from a stand-alone word\n wide_context: [\n \"Sunday\",\n \"Monday\",\n \"Tuesday\",\n \"Wednesday\",\n \"Thursday\",\n \"Friday\",\n \"Saturday\"\n ],\n abbr: [\n \"Sun\",\n \"Mon\",\n \"Tue\",\n \"Wed\",\n \"Thu\",\n \"Fri\",\n \"Sat\"\n ],\n // Property \"abbr_context\" is optional, if not set then \"abbr\" will be used instead\n // It is used to specify a word in context, which may differ from a stand-alone word\n abbr_context: [\n \"Sun\",\n \"Mon\",\n \"Tue\",\n \"Wed\",\n \"Thu\",\n \"Fri\",\n \"Sat\"\n ]\n};\n","var date = {};\nmodule[\"exports\"] = date;\ndate.month = require(\"./month\");\ndate.weekday = require(\"./weekday\");\n","module['exports'] = [\n \"/Applications\",\n\t\t\"/bin\",\n \"/boot\",\n \"/boot/defaults\",\n \"/dev\",\n \"/etc\",\n \"/etc/defaults\",\n \"/etc/mail\",\n \"/etc/namedb\",\n \"/etc/periodic\",\n \"/etc/ppp\",\n \"/home\",\n \"/home/user\",\n \"/home/user/dir\",\n \"/lib\",\n \"/Library\",\n \"/lost+found\",\n \"/media\",\n \"/mnt\",\n \"/net\",\n \"/Network\",\n \"/opt\",\n \"/opt/bin\",\n \"/opt/include\",\n \"/opt/lib\",\n \"/opt/sbin\",\n \"/opt/share\",\n \"/private\",\n \"/private/tmp\",\n \"/private/var\",\n \"/proc\",\n \"/rescue\",\n \"/root\",\n \"/sbin\",\n \"/selinux\",\n \"/srv\",\n \"/sys\",\n \"/System\",\n \"/tmp\",\n \"/Users\",\n \"/usr\",\n \"/usr/X11R6\",\n \"/usr/bin\",\n \"/usr/include\",\n \"/usr/lib\",\n \"/usr/libdata\",\n \"/usr/libexec\",\n \"/usr/local/bin\",\n \"/usr/local/src\",\n \"/usr/obj\",\n \"/usr/ports\",\n \"/usr/sbin\",\n \"/usr/share\",\n \"/usr/src\",\n \"/var\",\n \"/var/log\",\n \"/var/mail\",\n \"/var/spool\",\n \"/var/tmp\",\n \"/var/yp\"\n];\n","/*\n\nThe MIT License (MIT)\n\nCopyright (c) 2014 Jonathan Ong me@jongleberry.com\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n\nDefinitions from mime-db v1.21.0\nFor updates check: https://github.com/jshttp/mime-db/blob/master/db.json\n\n*/\n\nmodule['exports'] = {\n \"application/1d-interleaved-parityfec\": {\n \"source\": \"iana\"\n },\n \"application/3gpdash-qoe-report+xml\": {\n \"source\": \"iana\"\n },\n \"application/3gpp-ims+xml\": {\n \"source\": \"iana\"\n },\n \"application/a2l\": {\n \"source\": \"iana\"\n },\n \"application/activemessage\": {\n \"source\": \"iana\"\n },\n \"application/alto-costmap+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-costmapfilter+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-directory+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-endpointcost+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-endpointcostparams+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-endpointprop+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-endpointpropparams+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-error+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-networkmap+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-networkmapfilter+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/aml\": {\n \"source\": \"iana\"\n },\n \"application/andrew-inset\": {\n \"source\": \"iana\",\n \"extensions\": [\"ez\"]\n },\n \"application/applefile\": {\n \"source\": \"iana\"\n },\n \"application/applixware\": {\n \"source\": \"apache\",\n \"extensions\": [\"aw\"]\n },\n \"application/atf\": {\n \"source\": \"iana\"\n },\n \"application/atfx\": {\n \"source\": \"iana\"\n },\n \"application/atom+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"atom\"]\n },\n \"application/atomcat+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"atomcat\"]\n },\n \"application/atomdeleted+xml\": {\n \"source\": \"iana\"\n },\n \"application/atomicmail\": {\n \"source\": \"iana\"\n },\n \"application/atomsvc+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"atomsvc\"]\n },\n \"application/atxml\": {\n \"source\": \"iana\"\n },\n \"application/auth-policy+xml\": {\n \"source\": \"iana\"\n },\n \"application/bacnet-xdd+zip\": {\n \"source\": \"iana\"\n },\n \"application/batch-smtp\": {\n \"source\": \"iana\"\n },\n \"application/bdoc\": {\n \"compressible\": false,\n \"extensions\": [\"bdoc\"]\n },\n \"application/beep+xml\": {\n \"source\": \"iana\"\n },\n \"application/calendar+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/calendar+xml\": {\n \"source\": \"iana\"\n },\n \"application/call-completion\": {\n \"source\": \"iana\"\n },\n \"application/cals-1840\": {\n \"source\": \"iana\"\n },\n \"application/cbor\": {\n \"source\": \"iana\"\n },\n \"application/ccmp+xml\": {\n \"source\": \"iana\"\n },\n \"application/ccxml+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"ccxml\"]\n },\n \"application/cdfx+xml\": {\n \"source\": \"iana\"\n },\n \"application/cdmi-capability\": {\n \"source\": \"iana\",\n \"extensions\": [\"cdmia\"]\n },\n \"application/cdmi-container\": {\n \"source\": \"iana\",\n \"extensions\": [\"cdmic\"]\n },\n \"application/cdmi-domain\": {\n \"source\": \"iana\",\n \"extensions\": [\"cdmid\"]\n },\n \"application/cdmi-object\": {\n \"source\": \"iana\",\n \"extensions\": [\"cdmio\"]\n },\n \"application/cdmi-queue\": {\n \"source\": \"iana\",\n \"extensions\": [\"cdmiq\"]\n },\n \"application/cdni\": {\n \"source\": \"iana\"\n },\n \"application/cea\": {\n \"source\": \"iana\"\n },\n \"application/cea-2018+xml\": {\n \"source\": \"iana\"\n },\n \"application/cellml+xml\": {\n \"source\": \"iana\"\n },\n \"application/cfw\": {\n \"source\": \"iana\"\n },\n \"application/cms\": {\n \"source\": \"iana\"\n },\n \"application/cnrp+xml\": {\n \"source\": \"iana\"\n },\n \"application/coap-group+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/commonground\": {\n \"source\": \"iana\"\n },\n \"application/conference-info+xml\": {\n \"source\": \"iana\"\n },\n \"application/cpl+xml\": {\n \"source\": \"iana\"\n },\n \"application/csrattrs\": {\n \"source\": \"iana\"\n },\n \"application/csta+xml\": {\n \"source\": \"iana\"\n },\n \"application/cstadata+xml\": {\n \"source\": \"iana\"\n },\n \"application/csvm+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/cu-seeme\": {\n \"source\": \"apache\",\n \"extensions\": [\"cu\"]\n },\n \"application/cybercash\": {\n \"source\": \"iana\"\n },\n \"application/dart\": {\n \"compressible\": true\n },\n \"application/dash+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"mdp\"]\n },\n \"application/dashdelta\": {\n \"source\": \"iana\"\n },\n \"application/davmount+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"davmount\"]\n },\n \"application/dca-rft\": {\n \"source\": \"iana\"\n },\n \"application/dcd\": {\n \"source\": \"iana\"\n },\n \"application/dec-dx\": {\n \"source\": \"iana\"\n },\n \"application/dialog-info+xml\": {\n \"source\": \"iana\"\n },\n \"application/dicom\": {\n \"source\": \"iana\"\n },\n \"application/dii\": {\n \"source\": \"iana\"\n },\n \"application/dit\": {\n \"source\": \"iana\"\n },\n \"application/dns\": {\n \"source\": \"iana\"\n },\n \"application/docbook+xml\": {\n \"source\": \"apache\",\n \"extensions\": [\"dbk\"]\n },\n \"application/dskpp+xml\": {\n \"source\": \"iana\"\n },\n \"application/dssc+der\": {\n \"source\": \"iana\",\n \"extensions\": [\"dssc\"]\n },\n \"application/dssc+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"xdssc\"]\n },\n \"application/dvcs\": {\n \"source\": \"iana\"\n },\n \"application/ecmascript\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"ecma\"]\n },\n \"application/edi-consent\": {\n \"source\": \"iana\"\n },\n \"application/edi-x12\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/edifact\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/emergencycalldata.comment+xml\": {\n \"source\": \"iana\"\n },\n \"application/emergencycalldata.deviceinfo+xml\": {\n \"source\": \"iana\"\n },\n \"application/emergencycalldata.providerinfo+xml\": {\n \"source\": \"iana\"\n },\n \"application/emergencycalldata.serviceinfo+xml\": {\n \"source\": \"iana\"\n },\n \"application/emergencycalldata.subscriberinfo+xml\": {\n \"source\": \"iana\"\n },\n \"application/emma+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"emma\"]\n },\n \"application/emotionml+xml\": {\n \"source\": \"iana\"\n },\n \"application/encaprtp\": {\n \"source\": \"iana\"\n },\n \"application/epp+xml\": {\n \"source\": \"iana\"\n },\n \"application/epub+zip\": {\n \"source\": \"iana\",\n \"extensions\": [\"epub\"]\n },\n \"application/eshop\": {\n \"source\": \"iana\"\n },\n \"application/exi\": {\n \"source\": \"iana\",\n \"extensions\": [\"exi\"]\n },\n \"application/fastinfoset\": {\n \"source\": \"iana\"\n },\n \"application/fastsoap\": {\n \"source\": \"iana\"\n },\n \"application/fdt+xml\": {\n \"source\": \"iana\"\n },\n \"application/fits\": {\n \"source\": \"iana\"\n },\n \"application/font-sfnt\": {\n \"source\": \"iana\"\n },\n \"application/font-tdpfr\": {\n \"source\": \"iana\",\n \"extensions\": [\"pfr\"]\n },\n \"application/font-woff\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"woff\"]\n },\n \"application/font-woff2\": {\n \"compressible\": false,\n \"extensions\": [\"woff2\"]\n },\n \"application/framework-attributes+xml\": {\n \"source\": \"iana\"\n },\n \"application/gml+xml\": {\n \"source\": \"apache\",\n \"extensions\": [\"gml\"]\n },\n \"application/gpx+xml\": {\n \"source\": \"apache\",\n \"extensions\": [\"gpx\"]\n },\n \"application/gxf\": {\n \"source\": \"apache\",\n \"extensions\": [\"gxf\"]\n },\n \"application/gzip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/h224\": {\n \"source\": \"iana\"\n },\n \"application/held+xml\": {\n \"source\": \"iana\"\n },\n \"application/http\": {\n \"source\": \"iana\"\n },\n \"application/hyperstudio\": {\n \"source\": \"iana\",\n \"extensions\": [\"stk\"]\n },\n \"application/ibe-key-request+xml\": {\n \"source\": \"iana\"\n },\n \"application/ibe-pkg-reply+xml\": {\n \"source\": \"iana\"\n },\n \"application/ibe-pp-data\": {\n \"source\": \"iana\"\n },\n \"application/iges\": {\n \"source\": \"iana\"\n },\n \"application/im-iscomposing+xml\": {\n \"source\": \"iana\"\n },\n \"application/index\": {\n \"source\": \"iana\"\n },\n \"application/index.cmd\": {\n \"source\": \"iana\"\n },\n \"application/index.obj\": {\n \"source\": \"iana\"\n },\n \"application/index.response\": {\n \"source\": \"iana\"\n },\n \"application/index.vnd\": {\n \"source\": \"iana\"\n },\n \"application/inkml+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"ink\",\"inkml\"]\n },\n \"application/iotp\": {\n \"source\": \"iana\"\n },\n \"application/ipfix\": {\n \"source\": \"iana\",\n \"extensions\": [\"ipfix\"]\n },\n \"application/ipp\": {\n \"source\": \"iana\"\n },\n \"application/isup\": {\n \"source\": \"iana\"\n },\n \"application/its+xml\": {\n \"source\": \"iana\"\n },\n \"application/java-archive\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"jar\",\"war\",\"ear\"]\n },\n \"application/java-serialized-object\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"ser\"]\n },\n \"application/java-vm\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"class\"]\n },\n \"application/javascript\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true,\n \"extensions\": [\"js\"]\n },\n \"application/jose\": {\n \"source\": \"iana\"\n },\n \"application/jose+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/jrd+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/json\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true,\n \"extensions\": [\"json\",\"map\"]\n },\n \"application/json-patch+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/json-seq\": {\n \"source\": \"iana\"\n },\n \"application/json5\": {\n \"extensions\": [\"json5\"]\n },\n \"application/jsonml+json\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"jsonml\"]\n },\n \"application/jwk+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/jwk-set+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/jwt\": {\n \"source\": \"iana\"\n },\n \"application/kpml-request+xml\": {\n \"source\": \"iana\"\n },\n \"application/kpml-response+xml\": {\n \"source\": \"iana\"\n },\n \"application/ld+json\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"jsonld\"]\n },\n \"application/link-format\": {\n \"source\": \"iana\"\n },\n \"application/load-control+xml\": {\n \"source\": \"iana\"\n },\n \"application/lost+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"lostxml\"]\n },\n \"application/lostsync+xml\": {\n \"source\": \"iana\"\n },\n \"application/lxf\": {\n \"source\": \"iana\"\n },\n \"application/mac-binhex40\": {\n \"source\": \"iana\",\n \"extensions\": [\"hqx\"]\n },\n \"application/mac-compactpro\": {\n \"source\": \"apache\",\n \"extensions\": [\"cpt\"]\n },\n \"application/macwriteii\": {\n \"source\": \"iana\"\n },\n \"application/mads+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"mads\"]\n },\n \"application/manifest+json\": {\n \"charset\": \"UTF-8\",\n \"compressible\": true,\n \"extensions\": [\"webmanifest\"]\n },\n \"application/marc\": {\n \"source\": \"iana\",\n \"extensions\": [\"mrc\"]\n },\n \"application/marcxml+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"mrcx\"]\n },\n \"application/mathematica\": {\n \"source\": \"iana\",\n \"extensions\": [\"ma\",\"nb\",\"mb\"]\n },\n \"application/mathml+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"mathml\"]\n },\n \"application/mathml-content+xml\": {\n \"source\": \"iana\"\n },\n \"application/mathml-presentation+xml\": {\n \"source\": \"iana\"\n },\n \"application/mbms-associated-procedure-description+xml\": {\n \"source\": \"iana\"\n },\n \"application/mbms-deregister+xml\": {\n \"source\": \"iana\"\n },\n \"application/mbms-envelope+xml\": {\n \"source\": \"iana\"\n },\n \"application/mbms-msk+xml\": {\n \"source\": \"iana\"\n },\n \"application/mbms-msk-response+xml\": {\n \"source\": \"iana\"\n },\n \"application/mbms-protection-description+xml\": {\n \"source\": \"iana\"\n },\n \"application/mbms-reception-report+xml\": {\n \"source\": \"iana\"\n },\n \"application/mbms-register+xml\": {\n \"source\": \"iana\"\n },\n \"application/mbms-register-response+xml\": {\n \"source\": \"iana\"\n },\n \"application/mbms-schedule+xml\": {\n \"source\": \"iana\"\n },\n \"application/mbms-user-service-description+xml\": {\n \"source\": \"iana\"\n },\n \"application/mbox\": {\n \"source\": \"iana\",\n \"extensions\": [\"mbox\"]\n },\n \"application/media-policy-dataset+xml\": {\n \"source\": \"iana\"\n },\n \"application/media_control+xml\": {\n \"source\": \"iana\"\n },\n \"application/mediaservercontrol+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"mscml\"]\n },\n \"application/merge-patch+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/metalink+xml\": {\n \"source\": \"apache\",\n \"extensions\": [\"metalink\"]\n },\n \"application/metalink4+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"meta4\"]\n },\n \"application/mets+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"mets\"]\n },\n \"application/mf4\": {\n \"source\": \"iana\"\n },\n \"application/mikey\": {\n \"source\": \"iana\"\n },\n \"application/mods+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"mods\"]\n },\n \"application/moss-keys\": {\n \"source\": \"iana\"\n },\n \"application/moss-signature\": {\n \"source\": \"iana\"\n },\n \"application/mosskey-data\": {\n \"source\": \"iana\"\n },\n \"application/mosskey-request\": {\n \"source\": \"iana\"\n },\n \"application/mp21\": {\n \"source\": \"iana\",\n \"extensions\": [\"m21\",\"mp21\"]\n },\n \"application/mp4\": {\n \"source\": \"iana\",\n \"extensions\": [\"mp4s\",\"m4p\"]\n },\n \"application/mpeg4-generic\": {\n \"source\": \"iana\"\n },\n \"application/mpeg4-iod\": {\n \"source\": \"iana\"\n },\n \"application/mpeg4-iod-xmt\": {\n \"source\": \"iana\"\n },\n \"application/mrb-consumer+xml\": {\n \"source\": \"iana\"\n },\n \"application/mrb-publish+xml\": {\n \"source\": \"iana\"\n },\n \"application/msc-ivr+xml\": {\n \"source\": \"iana\"\n },\n \"application/msc-mixer+xml\": {\n \"source\": \"iana\"\n },\n \"application/msword\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"doc\",\"dot\"]\n },\n \"application/mxf\": {\n \"source\": \"iana\",\n \"extensions\": [\"mxf\"]\n },\n \"application/nasdata\": {\n \"source\": \"iana\"\n },\n \"application/news-checkgroups\": {\n \"source\": \"iana\"\n },\n \"application/news-groupinfo\": {\n \"source\": \"iana\"\n },\n \"application/news-transmission\": {\n \"source\": \"iana\"\n },\n \"application/nlsml+xml\": {\n \"source\": \"iana\"\n },\n \"application/nss\": {\n \"source\": \"iana\"\n },\n \"application/ocsp-request\": {\n \"source\": \"iana\"\n },\n \"application/ocsp-response\": {\n \"source\": \"iana\"\n },\n \"application/octet-stream\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"bin\",\"dms\",\"lrf\",\"mar\",\"so\",\"dist\",\"distz\",\"pkg\",\"bpk\",\"dump\",\"elc\",\"deploy\",\"exe\",\"dll\",\"deb\",\"dmg\",\"iso\",\"img\",\"msi\",\"msp\",\"msm\",\"buffer\"]\n },\n \"application/oda\": {\n \"source\": \"iana\",\n \"extensions\": [\"oda\"]\n },\n \"application/odx\": {\n \"source\": \"iana\"\n },\n \"application/oebps-package+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"opf\"]\n },\n \"application/ogg\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"ogx\"]\n },\n \"application/omdoc+xml\": {\n \"source\": \"apache\",\n \"extensions\": [\"omdoc\"]\n },\n \"application/onenote\": {\n \"source\": \"apache\",\n \"extensions\": [\"onetoc\",\"onetoc2\",\"onetmp\",\"onepkg\"]\n },\n \"application/oxps\": {\n \"source\": \"iana\",\n \"extensions\": [\"oxps\"]\n },\n \"application/p2p-overlay+xml\": {\n \"source\": \"iana\"\n },\n \"application/parityfec\": {\n \"source\": \"iana\"\n },\n \"application/patch-ops-error+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"xer\"]\n },\n \"application/pdf\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"pdf\"]\n },\n \"application/pdx\": {\n \"source\": \"iana\"\n },\n \"application/pgp-encrypted\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"pgp\"]\n },\n \"application/pgp-keys\": {\n \"source\": \"iana\"\n },\n \"application/pgp-signature\": {\n \"source\": \"iana\",\n \"extensions\": [\"asc\",\"sig\"]\n },\n \"application/pics-rules\": {\n \"source\": \"apache\",\n \"extensions\": [\"prf\"]\n },\n \"application/pidf+xml\": {\n \"source\": \"iana\"\n },\n \"application/pidf-diff+xml\": {\n \"source\": \"iana\"\n },\n \"application/pkcs10\": {\n \"source\": \"iana\",\n \"extensions\": [\"p10\"]\n },\n \"application/pkcs12\": {\n \"source\": \"iana\"\n },\n \"application/pkcs7-mime\": {\n \"source\": \"iana\",\n \"extensions\": [\"p7m\",\"p7c\"]\n },\n \"application/pkcs7-signature\": {\n \"source\": \"iana\",\n \"extensions\": [\"p7s\"]\n },\n \"application/pkcs8\": {\n \"source\": \"iana\",\n \"extensions\": [\"p8\"]\n },\n \"application/pkix-attr-cert\": {\n \"source\": \"iana\",\n \"extensions\": [\"ac\"]\n },\n \"application/pkix-cert\": {\n \"source\": \"iana\",\n \"extensions\": [\"cer\"]\n },\n \"application/pkix-crl\": {\n \"source\": \"iana\",\n \"extensions\": [\"crl\"]\n },\n \"application/pkix-pkipath\": {\n \"source\": \"iana\",\n \"extensions\": [\"pkipath\"]\n },\n \"application/pkixcmp\": {\n \"source\": \"iana\",\n \"extensions\": [\"pki\"]\n },\n \"application/pls+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"pls\"]\n },\n \"application/poc-settings+xml\": {\n \"source\": \"iana\"\n },\n \"application/postscript\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"ai\",\"eps\",\"ps\"]\n },\n \"application/provenance+xml\": {\n \"source\": \"iana\"\n },\n \"application/prs.alvestrand.titrax-sheet\": {\n \"source\": \"iana\"\n },\n \"application/prs.cww\": {\n \"source\": \"iana\",\n \"extensions\": [\"cww\"]\n },\n \"application/prs.hpub+zip\": {\n \"source\": \"iana\"\n },\n \"application/prs.nprend\": {\n \"source\": \"iana\"\n },\n \"application/prs.plucker\": {\n \"source\": \"iana\"\n },\n \"application/prs.rdf-xml-crypt\": {\n \"source\": \"iana\"\n },\n \"application/prs.xsf+xml\": {\n \"source\": \"iana\"\n },\n \"application/pskc+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"pskcxml\"]\n },\n \"application/qsig\": {\n \"source\": \"iana\"\n },\n \"application/raptorfec\": {\n \"source\": \"iana\"\n },\n \"application/rdap+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/rdf+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rdf\"]\n },\n \"application/reginfo+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"rif\"]\n },\n \"application/relax-ng-compact-syntax\": {\n \"source\": \"iana\",\n \"extensions\": [\"rnc\"]\n },\n \"application/remote-printing\": {\n \"source\": \"iana\"\n },\n \"application/reputon+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/resource-lists+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"rl\"]\n },\n \"application/resource-lists-diff+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"rld\"]\n },\n \"application/rfc+xml\": {\n \"source\": \"iana\"\n },\n \"application/riscos\": {\n \"source\": \"iana\"\n },\n \"application/rlmi+xml\": {\n \"source\": \"iana\"\n },\n \"application/rls-services+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"rs\"]\n },\n \"application/rpki-ghostbusters\": {\n \"source\": \"iana\",\n \"extensions\": [\"gbr\"]\n },\n \"application/rpki-manifest\": {\n \"source\": \"iana\",\n \"extensions\": [\"mft\"]\n },\n \"application/rpki-roa\": {\n \"source\": \"iana\",\n \"extensions\": [\"roa\"]\n },\n \"application/rpki-updown\": {\n \"source\": \"iana\"\n },\n \"application/rsd+xml\": {\n \"source\": \"apache\",\n \"extensions\": [\"rsd\"]\n },\n \"application/rss+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"rss\"]\n },\n \"application/rtf\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rtf\"]\n },\n \"application/rtploopback\": {\n \"source\": \"iana\"\n },\n \"application/rtx\": {\n \"source\": \"iana\"\n },\n \"application/samlassertion+xml\": {\n \"source\": \"iana\"\n },\n \"application/samlmetadata+xml\": {\n \"source\": \"iana\"\n },\n \"application/sbml+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"sbml\"]\n },\n \"application/scaip+xml\": {\n \"source\": \"iana\"\n },\n \"application/scim+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/scvp-cv-request\": {\n \"source\": \"iana\",\n \"extensions\": [\"scq\"]\n },\n \"application/scvp-cv-response\": {\n \"source\": \"iana\",\n \"extensions\": [\"scs\"]\n },\n \"application/scvp-vp-request\": {\n \"source\": \"iana\",\n \"extensions\": [\"spq\"]\n },\n \"application/scvp-vp-response\": {\n \"source\": \"iana\",\n \"extensions\": [\"spp\"]\n },\n \"application/sdp\": {\n \"source\": \"iana\",\n \"extensions\": [\"sdp\"]\n },\n \"application/sep+xml\": {\n \"source\": \"iana\"\n },\n \"application/sep-exi\": {\n \"source\": \"iana\"\n },\n \"application/session-info\": {\n \"source\": \"iana\"\n },\n \"application/set-payment\": {\n \"source\": \"iana\"\n },\n \"application/set-payment-initiation\": {\n \"source\": \"iana\",\n \"extensions\": [\"setpay\"]\n },\n \"application/set-registration\": {\n \"source\": \"iana\"\n },\n \"application/set-registration-initiation\": {\n \"source\": \"iana\",\n \"extensions\": [\"setreg\"]\n },\n \"application/sgml\": {\n \"source\": \"iana\"\n },\n \"application/sgml-open-catalog\": {\n \"source\": \"iana\"\n },\n \"application/shf+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"shf\"]\n },\n \"application/sieve\": {\n \"source\": \"iana\"\n },\n \"application/simple-filter+xml\": {\n \"source\": \"iana\"\n },\n \"application/simple-message-summary\": {\n \"source\": \"iana\"\n },\n \"application/simplesymbolcontainer\": {\n \"source\": \"iana\"\n },\n \"application/slate\": {\n \"source\": \"iana\"\n },\n \"application/smil\": {\n \"source\": \"iana\"\n },\n \"application/smil+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"smi\",\"smil\"]\n },\n \"application/smpte336m\": {\n \"source\": \"iana\"\n },\n \"application/soap+fastinfoset\": {\n \"source\": \"iana\"\n },\n \"application/soap+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/sparql-query\": {\n \"source\": \"iana\",\n \"extensions\": [\"rq\"]\n },\n \"application/sparql-results+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"srx\"]\n },\n \"application/spirits-event+xml\": {\n \"source\": \"iana\"\n },\n \"application/sql\": {\n \"source\": \"iana\"\n },\n \"application/srgs\": {\n \"source\": \"iana\",\n \"extensions\": [\"gram\"]\n },\n \"application/srgs+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"grxml\"]\n },\n \"application/sru+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"sru\"]\n },\n \"application/ssdl+xml\": {\n \"source\": \"apache\",\n \"extensions\": [\"ssdl\"]\n },\n \"application/ssml+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"ssml\"]\n },\n \"application/tamp-apex-update\": {\n \"source\": \"iana\"\n },\n \"application/tamp-apex-update-confirm\": {\n \"source\": \"iana\"\n },\n \"application/tamp-community-update\": {\n \"source\": \"iana\"\n },\n \"application/tamp-community-update-confirm\": {\n \"source\": \"iana\"\n },\n \"application/tamp-error\": {\n \"source\": \"iana\"\n },\n \"application/tamp-sequence-adjust\": {\n \"source\": \"iana\"\n },\n \"application/tamp-sequence-adjust-confirm\": {\n \"source\": \"iana\"\n },\n \"application/tamp-status-query\": {\n \"source\": \"iana\"\n },\n \"application/tamp-status-response\": {\n \"source\": \"iana\"\n },\n \"application/tamp-update\": {\n \"source\": \"iana\"\n },\n \"application/tamp-update-confirm\": {\n \"source\": \"iana\"\n },\n \"application/tar\": {\n \"compressible\": true\n },\n \"application/tei+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"tei\",\"teicorpus\"]\n },\n \"application/thraud+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"tfi\"]\n },\n \"application/timestamp-query\": {\n \"source\": \"iana\"\n },\n \"application/timestamp-reply\": {\n \"source\": \"iana\"\n },\n \"application/timestamped-data\": {\n \"source\": \"iana\",\n \"extensions\": [\"tsd\"]\n },\n \"application/ttml+xml\": {\n \"source\": \"iana\"\n },\n \"application/tve-trigger\": {\n \"source\": \"iana\"\n },\n \"application/ulpfec\": {\n \"source\": \"iana\"\n },\n \"application/urc-grpsheet+xml\": {\n \"source\": \"iana\"\n },\n \"application/urc-ressheet+xml\": {\n \"source\": \"iana\"\n },\n \"application/urc-targetdesc+xml\": {\n \"source\": \"iana\"\n },\n \"application/urc-uisocketdesc+xml\": {\n \"source\": \"iana\"\n },\n \"application/vcard+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vcard+xml\": {\n \"source\": \"iana\"\n },\n \"application/vemmi\": {\n \"source\": \"iana\"\n },\n \"application/vividence.scriptfile\": {\n \"source\": \"apache\"\n },\n \"application/vnd.3gpp-prose+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp-prose-pc3ch+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.access-transfer-events+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.bsf+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.mid-call+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.pic-bw-large\": {\n \"source\": \"iana\",\n \"extensions\": [\"plb\"]\n },\n \"application/vnd.3gpp.pic-bw-small\": {\n \"source\": \"iana\",\n \"extensions\": [\"psb\"]\n },\n \"application/vnd.3gpp.pic-bw-var\": {\n \"source\": \"iana\",\n \"extensions\": [\"pvb\"]\n },\n \"application/vnd.3gpp.sms\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.srvcc-ext+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.srvcc-info+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.state-and-event-info+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.ussd+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp2.bcmcsinfo+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp2.sms\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp2.tcap\": {\n \"source\": \"iana\",\n \"extensions\": [\"tcap\"]\n },\n \"application/vnd.3m.post-it-notes\": {\n \"source\": \"iana\",\n \"extensions\": [\"pwn\"]\n },\n \"application/vnd.accpac.simply.aso\": {\n \"source\": \"iana\",\n \"extensions\": [\"aso\"]\n },\n \"application/vnd.accpac.simply.imp\": {\n \"source\": \"iana\",\n \"extensions\": [\"imp\"]\n },\n \"application/vnd.acucobol\": {\n \"source\": \"iana\",\n \"extensions\": [\"acu\"]\n },\n \"application/vnd.acucorp\": {\n \"source\": \"iana\",\n \"extensions\": [\"atc\",\"acutc\"]\n },\n \"application/vnd.adobe.air-application-installer-package+zip\": {\n \"source\": \"apache\",\n \"extensions\": [\"air\"]\n },\n \"application/vnd.adobe.flash.movie\": {\n \"source\": \"iana\"\n },\n \"application/vnd.adobe.formscentral.fcdt\": {\n \"source\": \"iana\",\n \"extensions\": [\"fcdt\"]\n },\n \"application/vnd.adobe.fxp\": {\n \"source\": \"iana\",\n \"extensions\": [\"fxp\",\"fxpl\"]\n },\n \"application/vnd.adobe.partial-upload\": {\n \"source\": \"iana\"\n },\n \"application/vnd.adobe.xdp+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"xdp\"]\n },\n \"application/vnd.adobe.xfdf\": {\n \"source\": \"iana\",\n \"extensions\": [\"xfdf\"]\n },\n \"application/vnd.aether.imp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ah-barcode\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ahead.space\": {\n \"source\": \"iana\",\n \"extensions\": [\"ahead\"]\n },\n \"application/vnd.airzip.filesecure.azf\": {\n \"source\": \"iana\",\n \"extensions\": [\"azf\"]\n },\n \"application/vnd.airzip.filesecure.azs\": {\n \"source\": \"iana\",\n \"extensions\": [\"azs\"]\n },\n \"application/vnd.amazon.ebook\": {\n \"source\": \"apache\",\n \"extensions\": [\"azw\"]\n },\n \"application/vnd.americandynamics.acc\": {\n \"source\": \"iana\",\n \"extensions\": [\"acc\"]\n },\n \"application/vnd.amiga.ami\": {\n \"source\": \"iana\",\n \"extensions\": [\"ami\"]\n },\n \"application/vnd.amundsen.maze+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.android.package-archive\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"apk\"]\n },\n \"application/vnd.anki\": {\n \"source\": \"iana\"\n },\n \"application/vnd.anser-web-certificate-issue-initiation\": {\n \"source\": \"iana\",\n \"extensions\": [\"cii\"]\n },\n \"application/vnd.anser-web-funds-transfer-initiation\": {\n \"source\": \"apache\",\n \"extensions\": [\"fti\"]\n },\n \"application/vnd.antix.game-component\": {\n \"source\": \"iana\",\n \"extensions\": [\"atx\"]\n },\n \"application/vnd.apache.thrift.binary\": {\n \"source\": \"iana\"\n },\n \"application/vnd.apache.thrift.compact\": {\n \"source\": \"iana\"\n },\n \"application/vnd.apache.thrift.json\": {\n \"source\": \"iana\"\n },\n \"application/vnd.api+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.apple.installer+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"mpkg\"]\n },\n \"application/vnd.apple.mpegurl\": {\n \"source\": \"iana\",\n \"extensions\": [\"m3u8\"]\n },\n \"application/vnd.apple.pkpass\": {\n \"compressible\": false,\n \"extensions\": [\"pkpass\"]\n },\n \"application/vnd.arastra.swi\": {\n \"source\": \"iana\"\n },\n \"application/vnd.aristanetworks.swi\": {\n \"source\": \"iana\",\n \"extensions\": [\"swi\"]\n },\n \"application/vnd.artsquare\": {\n \"source\": \"iana\"\n },\n \"application/vnd.astraea-software.iota\": {\n \"source\": \"iana\",\n \"extensions\": [\"iota\"]\n },\n \"application/vnd.audiograph\": {\n \"source\": \"iana\",\n \"extensions\": [\"aep\"]\n },\n \"application/vnd.autopackage\": {\n \"source\": \"iana\"\n },\n \"application/vnd.avistar+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.balsamiq.bmml+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.balsamiq.bmpr\": {\n \"source\": \"iana\"\n },\n \"application/vnd.bekitzur-stech+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.biopax.rdf+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.blueice.multipass\": {\n \"source\": \"iana\",\n \"extensions\": [\"mpm\"]\n },\n \"application/vnd.bluetooth.ep.oob\": {\n \"source\": \"iana\"\n },\n \"application/vnd.bluetooth.le.oob\": {\n \"source\": \"iana\"\n },\n \"application/vnd.bmi\": {\n \"source\": \"iana\",\n \"extensions\": [\"bmi\"]\n },\n \"application/vnd.businessobjects\": {\n \"source\": \"iana\",\n \"extensions\": [\"rep\"]\n },\n \"application/vnd.cab-jscript\": {\n \"source\": \"iana\"\n },\n \"application/vnd.canon-cpdl\": {\n \"source\": \"iana\"\n },\n \"application/vnd.canon-lips\": {\n \"source\": \"iana\"\n },\n \"application/vnd.cendio.thinlinc.clientconf\": {\n \"source\": \"iana\"\n },\n \"application/vnd.century-systems.tcp_stream\": {\n \"source\": \"iana\"\n },\n \"application/vnd.chemdraw+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"cdxml\"]\n },\n \"application/vnd.chipnuts.karaoke-mmd\": {\n \"source\": \"iana\",\n \"extensions\": [\"mmd\"]\n },\n \"application/vnd.cinderella\": {\n \"source\": \"iana\",\n \"extensions\": [\"cdy\"]\n },\n \"application/vnd.cirpack.isdn-ext\": {\n \"source\": \"iana\"\n },\n \"application/vnd.citationstyles.style+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.claymore\": {\n \"source\": \"iana\",\n \"extensions\": [\"cla\"]\n },\n \"application/vnd.cloanto.rp9\": {\n \"source\": \"iana\",\n \"extensions\": [\"rp9\"]\n },\n \"application/vnd.clonk.c4group\": {\n \"source\": \"iana\",\n \"extensions\": [\"c4g\",\"c4d\",\"c4f\",\"c4p\",\"c4u\"]\n },\n \"application/vnd.cluetrust.cartomobile-config\": {\n \"source\": \"iana\",\n \"extensions\": [\"c11amc\"]\n },\n \"application/vnd.cluetrust.cartomobile-config-pkg\": {\n \"source\": \"iana\",\n \"extensions\": [\"c11amz\"]\n },\n \"application/vnd.coffeescript\": {\n \"source\": \"iana\"\n },\n \"application/vnd.collection+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.collection.doc+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.collection.next+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.commerce-battelle\": {\n \"source\": \"iana\"\n },\n \"application/vnd.commonspace\": {\n \"source\": \"iana\",\n \"extensions\": [\"csp\"]\n },\n \"application/vnd.contact.cmsg\": {\n \"source\": \"iana\",\n \"extensions\": [\"cdbcmsg\"]\n },\n \"application/vnd.cosmocaller\": {\n \"source\": \"iana\",\n \"extensions\": [\"cmc\"]\n },\n \"application/vnd.crick.clicker\": {\n \"source\": \"iana\",\n \"extensions\": [\"clkx\"]\n },\n \"application/vnd.crick.clicker.keyboard\": {\n \"source\": \"iana\",\n \"extensions\": [\"clkk\"]\n },\n \"application/vnd.crick.clicker.palette\": {\n \"source\": \"iana\",\n \"extensions\": [\"clkp\"]\n },\n \"application/vnd.crick.clicker.template\": {\n \"source\": \"iana\",\n \"extensions\": [\"clkt\"]\n },\n \"application/vnd.crick.clicker.wordbank\": {\n \"source\": \"iana\",\n \"extensions\": [\"clkw\"]\n },\n \"application/vnd.criticaltools.wbs+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"wbs\"]\n },\n \"application/vnd.ctc-posml\": {\n \"source\": \"iana\",\n \"extensions\": [\"pml\"]\n },\n \"application/vnd.ctct.ws+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.cups-pdf\": {\n \"source\": \"iana\"\n },\n \"application/vnd.cups-postscript\": {\n \"source\": \"iana\"\n },\n \"application/vnd.cups-ppd\": {\n \"source\": \"iana\",\n \"extensions\": [\"ppd\"]\n },\n \"application/vnd.cups-raster\": {\n \"source\": \"iana\"\n },\n \"application/vnd.cups-raw\": {\n \"source\": \"iana\"\n },\n \"application/vnd.curl\": {\n \"source\": \"iana\"\n },\n \"application/vnd.curl.car\": {\n \"source\": \"apache\",\n \"extensions\": [\"car\"]\n },\n \"application/vnd.curl.pcurl\": {\n \"source\": \"apache\",\n \"extensions\": [\"pcurl\"]\n },\n \"application/vnd.cyan.dean.root+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.cybank\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dart\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"dart\"]\n },\n \"application/vnd.data-vision.rdz\": {\n \"source\": \"iana\",\n \"extensions\": [\"rdz\"]\n },\n \"application/vnd.debian.binary-package\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dece.data\": {\n \"source\": \"iana\",\n \"extensions\": [\"uvf\",\"uvvf\",\"uvd\",\"uvvd\"]\n },\n \"application/vnd.dece.ttml+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"uvt\",\"uvvt\"]\n },\n \"application/vnd.dece.unspecified\": {\n \"source\": \"iana\",\n \"extensions\": [\"uvx\",\"uvvx\"]\n },\n \"application/vnd.dece.zip\": {\n \"source\": \"iana\",\n \"extensions\": [\"uvz\",\"uvvz\"]\n },\n \"application/vnd.denovo.fcselayout-link\": {\n \"source\": \"iana\",\n \"extensions\": [\"fe_launch\"]\n },\n \"application/vnd.desmume-movie\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dir-bi.plate-dl-nosuffix\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dm.delegation+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dna\": {\n \"source\": \"iana\",\n \"extensions\": [\"dna\"]\n },\n \"application/vnd.document+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.dolby.mlp\": {\n \"source\": \"apache\",\n \"extensions\": [\"mlp\"]\n },\n \"application/vnd.dolby.mobile.1\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dolby.mobile.2\": {\n \"source\": \"iana\"\n },\n \"application/vnd.doremir.scorecloud-binary-document\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dpgraph\": {\n \"source\": \"iana\",\n \"extensions\": [\"dpg\"]\n },\n \"application/vnd.dreamfactory\": {\n \"source\": \"iana\",\n \"extensions\": [\"dfac\"]\n },\n \"application/vnd.drive+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ds-keypoint\": {\n \"source\": \"apache\",\n \"extensions\": [\"kpxx\"]\n },\n \"application/vnd.dtg.local\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dtg.local.flash\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dtg.local.html\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.ait\": {\n \"source\": \"iana\",\n \"extensions\": [\"ait\"]\n },\n \"application/vnd.dvb.dvbj\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.esgcontainer\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.ipdcdftnotifaccess\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.ipdcesgaccess\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.ipdcesgaccess2\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.ipdcesgpdd\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.ipdcroaming\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.iptv.alfec-base\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.iptv.alfec-enhancement\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.notif-aggregate-root+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.notif-container+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.notif-generic+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.notif-ia-msglist+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.notif-ia-registration-request+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.notif-ia-registration-response+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.notif-init+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.pfr\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.service\": {\n \"source\": \"iana\",\n \"extensions\": [\"svc\"]\n },\n \"application/vnd.dxr\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dynageo\": {\n \"source\": \"iana\",\n \"extensions\": [\"geo\"]\n },\n \"application/vnd.dzr\": {\n \"source\": \"iana\"\n },\n \"application/vnd.easykaraoke.cdgdownload\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ecdis-update\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ecowin.chart\": {\n \"source\": \"iana\",\n \"extensions\": [\"mag\"]\n },\n \"application/vnd.ecowin.filerequest\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ecowin.fileupdate\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ecowin.series\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ecowin.seriesrequest\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ecowin.seriesupdate\": {\n \"source\": \"iana\"\n },\n \"application/vnd.emclient.accessrequest+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.enliven\": {\n \"source\": \"iana\",\n \"extensions\": [\"nml\"]\n },\n \"application/vnd.enphase.envoy\": {\n \"source\": \"iana\"\n },\n \"application/vnd.eprints.data+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.epson.esf\": {\n \"source\": \"iana\",\n \"extensions\": [\"esf\"]\n },\n \"application/vnd.epson.msf\": {\n \"source\": \"iana\",\n \"extensions\": [\"msf\"]\n },\n \"application/vnd.epson.quickanime\": {\n \"source\": \"iana\",\n \"extensions\": [\"qam\"]\n },\n \"application/vnd.epson.salt\": {\n \"source\": \"iana\",\n \"extensions\": [\"slt\"]\n },\n \"application/vnd.epson.ssf\": {\n \"source\": \"iana\",\n \"extensions\": [\"ssf\"]\n },\n \"application/vnd.ericsson.quickcall\": {\n \"source\": \"iana\"\n },\n \"application/vnd.eszigno3+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"es3\",\"et3\"]\n },\n \"application/vnd.etsi.aoc+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.etsi.asic-e+zip\": {\n \"source\": \"iana\"\n },\n \"application/vnd.etsi.asic-s+zip\": {\n \"source\": \"iana\"\n },\n \"application/vnd.etsi.cug+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.etsi.iptvcommand+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.etsi.iptvdiscovery+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.etsi.iptvprofile+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.etsi.iptvsad-bc+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.etsi.iptvsad-cod+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.etsi.iptvsad-npvr+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.etsi.iptvservice+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.etsi.iptvsync+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.etsi.iptvueprofile+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.etsi.mcid+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.etsi.mheg5\": {\n \"source\": \"iana\"\n },\n \"application/vnd.etsi.overload-control-policy-dataset+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.etsi.pstn+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.etsi.sci+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.etsi.simservs+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.etsi.timestamp-token\": {\n \"source\": \"iana\"\n },\n \"application/vnd.etsi.tsl+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.etsi.tsl.der\": {\n \"source\": \"iana\"\n },\n \"application/vnd.eudora.data\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ezpix-album\": {\n \"source\": \"iana\",\n \"extensions\": [\"ez2\"]\n },\n \"application/vnd.ezpix-package\": {\n \"source\": \"iana\",\n \"extensions\": [\"ez3\"]\n },\n \"application/vnd.f-secure.mobile\": {\n \"source\": \"iana\"\n },\n \"application/vnd.fastcopy-disk-image\": {\n \"source\": \"iana\"\n },\n \"application/vnd.fdf\": {\n \"source\": \"iana\",\n \"extensions\": [\"fdf\"]\n },\n \"application/vnd.fdsn.mseed\": {\n \"source\": \"iana\",\n \"extensions\": [\"mseed\"]\n },\n \"application/vnd.fdsn.seed\": {\n \"source\": \"iana\",\n \"extensions\": [\"seed\",\"dataless\"]\n },\n \"application/vnd.ffsns\": {\n \"source\": \"iana\"\n },\n \"application/vnd.filmit.zfc\": {\n \"source\": \"iana\"\n },\n \"application/vnd.fints\": {\n \"source\": \"iana\"\n },\n \"application/vnd.firemonkeys.cloudcell\": {\n \"source\": \"iana\"\n },\n \"application/vnd.flographit\": {\n \"source\": \"iana\",\n \"extensions\": [\"gph\"]\n },\n \"application/vnd.fluxtime.clip\": {\n \"source\": \"iana\",\n \"extensions\": [\"ftc\"]\n },\n \"application/vnd.font-fontforge-sfd\": {\n \"source\": \"iana\"\n },\n \"application/vnd.framemaker\": {\n \"source\": \"iana\",\n \"extensions\": [\"fm\",\"frame\",\"maker\",\"book\"]\n },\n \"application/vnd.frogans.fnc\": {\n \"source\": \"iana\",\n \"extensions\": [\"fnc\"]\n },\n \"application/vnd.frogans.ltf\": {\n \"source\": \"iana\",\n \"extensions\": [\"ltf\"]\n },\n \"application/vnd.fsc.weblaunch\": {\n \"source\": \"iana\",\n \"extensions\": [\"fsc\"]\n },\n \"application/vnd.fujitsu.oasys\": {\n \"source\": \"iana\",\n \"extensions\": [\"oas\"]\n },\n \"application/vnd.fujitsu.oasys2\": {\n \"source\": \"iana\",\n \"extensions\": [\"oa2\"]\n },\n \"application/vnd.fujitsu.oasys3\": {\n \"source\": \"iana\",\n \"extensions\": [\"oa3\"]\n },\n \"application/vnd.fujitsu.oasysgp\": {\n \"source\": \"iana\",\n \"extensions\": [\"fg5\"]\n },\n \"application/vnd.fujitsu.oasysprs\": {\n \"source\": \"iana\",\n \"extensions\": [\"bh2\"]\n },\n \"application/vnd.fujixerox.art-ex\": {\n \"source\": \"iana\"\n },\n \"application/vnd.fujixerox.art4\": {\n \"source\": \"iana\"\n },\n \"application/vnd.fujixerox.ddd\": {\n \"source\": \"iana\",\n \"extensions\": [\"ddd\"]\n },\n \"application/vnd.fujixerox.docuworks\": {\n \"source\": \"iana\",\n \"extensions\": [\"xdw\"]\n },\n \"application/vnd.fujixerox.docuworks.binder\": {\n \"source\": \"iana\",\n \"extensions\": [\"xbd\"]\n },\n \"application/vnd.fujixerox.docuworks.container\": {\n \"source\": \"iana\"\n },\n \"application/vnd.fujixerox.hbpl\": {\n \"source\": \"iana\"\n },\n \"application/vnd.fut-misnet\": {\n \"source\": \"iana\"\n },\n \"application/vnd.fuzzysheet\": {\n \"source\": \"iana\",\n \"extensions\": [\"fzs\"]\n },\n \"application/vnd.genomatix.tuxedo\": {\n \"source\": \"iana\",\n \"extensions\": [\"txd\"]\n },\n \"application/vnd.geo+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.geocube+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.geogebra.file\": {\n \"source\": \"iana\",\n \"extensions\": [\"ggb\"]\n },\n \"application/vnd.geogebra.tool\": {\n \"source\": \"iana\",\n \"extensions\": [\"ggt\"]\n },\n \"application/vnd.geometry-explorer\": {\n \"source\": \"iana\",\n \"extensions\": [\"gex\",\"gre\"]\n },\n \"application/vnd.geonext\": {\n \"source\": \"iana\",\n \"extensions\": [\"gxt\"]\n },\n \"application/vnd.geoplan\": {\n \"source\": \"iana\",\n \"extensions\": [\"g2w\"]\n },\n \"application/vnd.geospace\": {\n \"source\": \"iana\",\n \"extensions\": [\"g3w\"]\n },\n \"application/vnd.gerber\": {\n \"source\": \"iana\"\n },\n \"application/vnd.globalplatform.card-content-mgt\": {\n \"source\": \"iana\"\n },\n \"application/vnd.globalplatform.card-content-mgt-response\": {\n \"source\": \"iana\"\n },\n \"application/vnd.gmx\": {\n \"source\": \"iana\",\n \"extensions\": [\"gmx\"]\n },\n \"application/vnd.google-apps.document\": {\n \"compressible\": false,\n \"extensions\": [\"gdoc\"]\n },\n \"application/vnd.google-apps.presentation\": {\n \"compressible\": false,\n \"extensions\": [\"gslides\"]\n },\n \"application/vnd.google-apps.spreadsheet\": {\n \"compressible\": false,\n \"extensions\": [\"gsheet\"]\n },\n \"application/vnd.google-earth.kml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"kml\"]\n },\n \"application/vnd.google-earth.kmz\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"kmz\"]\n },\n \"application/vnd.gov.sk.e-form+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.gov.sk.e-form+zip\": {\n \"source\": \"iana\"\n },\n \"application/vnd.gov.sk.xmldatacontainer+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.grafeq\": {\n \"source\": \"iana\",\n \"extensions\": [\"gqf\",\"gqs\"]\n },\n \"application/vnd.gridmp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.groove-account\": {\n \"source\": \"iana\",\n \"extensions\": [\"gac\"]\n },\n \"application/vnd.groove-help\": {\n \"source\": \"iana\",\n \"extensions\": [\"ghf\"]\n },\n \"application/vnd.groove-identity-message\": {\n \"source\": \"iana\",\n \"extensions\": [\"gim\"]\n },\n \"application/vnd.groove-injector\": {\n \"source\": \"iana\",\n \"extensions\": [\"grv\"]\n },\n \"application/vnd.groove-tool-message\": {\n \"source\": \"iana\",\n \"extensions\": [\"gtm\"]\n },\n \"application/vnd.groove-tool-template\": {\n \"source\": \"iana\",\n \"extensions\": [\"tpl\"]\n },\n \"application/vnd.groove-vcard\": {\n \"source\": \"iana\",\n \"extensions\": [\"vcg\"]\n },\n \"application/vnd.hal+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.hal+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"hal\"]\n },\n \"application/vnd.handheld-entertainment+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"zmm\"]\n },\n \"application/vnd.hbci\": {\n \"source\": \"iana\",\n \"extensions\": [\"hbci\"]\n },\n \"application/vnd.hcl-bireports\": {\n \"source\": \"iana\"\n },\n \"application/vnd.heroku+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.hhe.lesson-player\": {\n \"source\": \"iana\",\n \"extensions\": [\"les\"]\n },\n \"application/vnd.hp-hpgl\": {\n \"source\": \"iana\",\n \"extensions\": [\"hpgl\"]\n },\n \"application/vnd.hp-hpid\": {\n \"source\": \"iana\",\n \"extensions\": [\"hpid\"]\n },\n \"application/vnd.hp-hps\": {\n \"source\": \"iana\",\n \"extensions\": [\"hps\"]\n },\n \"application/vnd.hp-jlyt\": {\n \"source\": \"iana\",\n \"extensions\": [\"jlt\"]\n },\n \"application/vnd.hp-pcl\": {\n \"source\": \"iana\",\n \"extensions\": [\"pcl\"]\n },\n \"application/vnd.hp-pclxl\": {\n \"source\": \"iana\",\n \"extensions\": [\"pclxl\"]\n },\n \"application/vnd.httphone\": {\n \"source\": \"iana\"\n },\n \"application/vnd.hydrostatix.sof-data\": {\n \"source\": \"iana\",\n \"extensions\": [\"sfd-hdstx\"]\n },\n \"application/vnd.hyperdrive+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.hzn-3d-crossword\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ibm.afplinedata\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ibm.electronic-media\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ibm.minipay\": {\n \"source\": \"iana\",\n \"extensions\": [\"mpy\"]\n },\n \"application/vnd.ibm.modcap\": {\n \"source\": \"iana\",\n \"extensions\": [\"afp\",\"listafp\",\"list3820\"]\n },\n \"application/vnd.ibm.rights-management\": {\n \"source\": \"iana\",\n \"extensions\": [\"irm\"]\n },\n \"application/vnd.ibm.secure-container\": {\n \"source\": \"iana\",\n \"extensions\": [\"sc\"]\n },\n \"application/vnd.iccprofile\": {\n \"source\": \"iana\",\n \"extensions\": [\"icc\",\"icm\"]\n },\n \"application/vnd.ieee.1905\": {\n \"source\": \"iana\"\n },\n \"application/vnd.igloader\": {\n \"source\": \"iana\",\n \"extensions\": [\"igl\"]\n },\n \"application/vnd.immervision-ivp\": {\n \"source\": \"iana\",\n \"extensions\": [\"ivp\"]\n },\n \"application/vnd.immervision-ivu\": {\n \"source\": \"iana\",\n \"extensions\": [\"ivu\"]\n },\n \"application/vnd.ims.imsccv1p1\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ims.imsccv1p2\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ims.imsccv1p3\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ims.lis.v2.result+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ims.lti.v2.toolconsumerprofile+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ims.lti.v2.toolproxy+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ims.lti.v2.toolproxy.id+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ims.lti.v2.toolsettings+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ims.lti.v2.toolsettings.simple+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.informedcontrol.rms+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.informix-visionary\": {\n \"source\": \"iana\"\n },\n \"application/vnd.infotech.project\": {\n \"source\": \"iana\"\n },\n \"application/vnd.infotech.project+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.innopath.wamp.notification\": {\n \"source\": \"iana\"\n },\n \"application/vnd.insors.igm\": {\n \"source\": \"iana\",\n \"extensions\": [\"igm\"]\n },\n \"application/vnd.intercon.formnet\": {\n \"source\": \"iana\",\n \"extensions\": [\"xpw\",\"xpx\"]\n },\n \"application/vnd.intergeo\": {\n \"source\": \"iana\",\n \"extensions\": [\"i2g\"]\n },\n \"application/vnd.intertrust.digibox\": {\n \"source\": \"iana\"\n },\n \"application/vnd.intertrust.nncp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.intu.qbo\": {\n \"source\": \"iana\",\n \"extensions\": [\"qbo\"]\n },\n \"application/vnd.intu.qfx\": {\n \"source\": \"iana\",\n \"extensions\": [\"qfx\"]\n },\n \"application/vnd.iptc.g2.catalogitem+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.iptc.g2.conceptitem+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.iptc.g2.knowledgeitem+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.iptc.g2.newsitem+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.iptc.g2.newsmessage+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.iptc.g2.packageitem+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.iptc.g2.planningitem+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ipunplugged.rcprofile\": {\n \"source\": \"iana\",\n \"extensions\": [\"rcprofile\"]\n },\n \"application/vnd.irepository.package+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"irp\"]\n },\n \"application/vnd.is-xpr\": {\n \"source\": \"iana\",\n \"extensions\": [\"xpr\"]\n },\n \"application/vnd.isac.fcs\": {\n \"source\": \"iana\",\n \"extensions\": [\"fcs\"]\n },\n \"application/vnd.jam\": {\n \"source\": \"iana\",\n \"extensions\": [\"jam\"]\n },\n \"application/vnd.japannet-directory-service\": {\n \"source\": \"iana\"\n },\n \"application/vnd.japannet-jpnstore-wakeup\": {\n \"source\": \"iana\"\n },\n \"application/vnd.japannet-payment-wakeup\": {\n \"source\": \"iana\"\n },\n \"application/vnd.japannet-registration\": {\n \"source\": \"iana\"\n },\n \"application/vnd.japannet-registration-wakeup\": {\n \"source\": \"iana\"\n },\n \"application/vnd.japannet-setstore-wakeup\": {\n \"source\": \"iana\"\n },\n \"application/vnd.japannet-verification\": {\n \"source\": \"iana\"\n },\n \"application/vnd.japannet-verification-wakeup\": {\n \"source\": \"iana\"\n },\n \"application/vnd.jcp.javame.midlet-rms\": {\n \"source\": \"iana\",\n \"extensions\": [\"rms\"]\n },\n \"application/vnd.jisp\": {\n \"source\": \"iana\",\n \"extensions\": [\"jisp\"]\n },\n \"application/vnd.joost.joda-archive\": {\n \"source\": \"iana\",\n \"extensions\": [\"joda\"]\n },\n \"application/vnd.jsk.isdn-ngn\": {\n \"source\": \"iana\"\n },\n \"application/vnd.kahootz\": {\n \"source\": \"iana\",\n \"extensions\": [\"ktz\",\"ktr\"]\n },\n \"application/vnd.kde.karbon\": {\n \"source\": \"iana\",\n \"extensions\": [\"karbon\"]\n },\n \"application/vnd.kde.kchart\": {\n \"source\": \"iana\",\n \"extensions\": [\"chrt\"]\n },\n \"application/vnd.kde.kformula\": {\n \"source\": \"iana\",\n \"extensions\": [\"kfo\"]\n },\n \"application/vnd.kde.kivio\": {\n \"source\": \"iana\",\n \"extensions\": [\"flw\"]\n },\n \"application/vnd.kde.kontour\": {\n \"source\": \"iana\",\n \"extensions\": [\"kon\"]\n },\n \"application/vnd.kde.kpresenter\": {\n \"source\": \"iana\",\n \"extensions\": [\"kpr\",\"kpt\"]\n },\n \"application/vnd.kde.kspread\": {\n \"source\": \"iana\",\n \"extensions\": [\"ksp\"]\n },\n \"application/vnd.kde.kword\": {\n \"source\": \"iana\",\n \"extensions\": [\"kwd\",\"kwt\"]\n },\n \"application/vnd.kenameaapp\": {\n \"source\": \"iana\",\n \"extensions\": [\"htke\"]\n },\n \"application/vnd.kidspiration\": {\n \"source\": \"iana\",\n \"extensions\": [\"kia\"]\n },\n \"application/vnd.kinar\": {\n \"source\": \"iana\",\n \"extensions\": [\"kne\",\"knp\"]\n },\n \"application/vnd.koan\": {\n \"source\": \"iana\",\n \"extensions\": [\"skp\",\"skd\",\"skt\",\"skm\"]\n },\n \"application/vnd.kodak-descriptor\": {\n \"source\": \"iana\",\n \"extensions\": [\"sse\"]\n },\n \"application/vnd.las.las+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"lasxml\"]\n },\n \"application/vnd.liberty-request+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.llamagraphics.life-balance.desktop\": {\n \"source\": \"iana\",\n \"extensions\": [\"lbd\"]\n },\n \"application/vnd.llamagraphics.life-balance.exchange+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"lbe\"]\n },\n \"application/vnd.lotus-1-2-3\": {\n \"source\": \"iana\",\n \"extensions\": [\"123\"]\n },\n \"application/vnd.lotus-approach\": {\n \"source\": \"iana\",\n \"extensions\": [\"apr\"]\n },\n \"application/vnd.lotus-freelance\": {\n \"source\": \"iana\",\n \"extensions\": [\"pre\"]\n },\n \"application/vnd.lotus-notes\": {\n \"source\": \"iana\",\n \"extensions\": [\"nsf\"]\n },\n \"application/vnd.lotus-organizer\": {\n \"source\": \"iana\",\n \"extensions\": [\"org\"]\n },\n \"application/vnd.lotus-screencam\": {\n \"source\": \"iana\",\n \"extensions\": [\"scm\"]\n },\n \"application/vnd.lotus-wordpro\": {\n \"source\": \"iana\",\n \"extensions\": [\"lwp\"]\n },\n \"application/vnd.macports.portpkg\": {\n \"source\": \"iana\",\n \"extensions\": [\"portpkg\"]\n },\n \"application/vnd.mapbox-vector-tile\": {\n \"source\": \"iana\"\n },\n \"application/vnd.marlin.drm.actiontoken+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.marlin.drm.conftoken+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.marlin.drm.license+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.marlin.drm.mdcf\": {\n \"source\": \"iana\"\n },\n \"application/vnd.mason+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.maxmind.maxmind-db\": {\n \"source\": \"iana\"\n },\n \"application/vnd.mcd\": {\n \"source\": \"iana\",\n \"extensions\": [\"mcd\"]\n },\n \"application/vnd.medcalcdata\": {\n \"source\": \"iana\",\n \"extensions\": [\"mc1\"]\n },\n \"application/vnd.mediastation.cdkey\": {\n \"source\": \"iana\",\n \"extensions\": [\"cdkey\"]\n },\n \"application/vnd.meridian-slingshot\": {\n \"source\": \"iana\"\n },\n \"application/vnd.mfer\": {\n \"source\": \"iana\",\n \"extensions\": [\"mwf\"]\n },\n \"application/vnd.mfmp\": {\n \"source\": \"iana\",\n \"extensions\": [\"mfm\"]\n },\n \"application/vnd.micro+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.micrografx.flo\": {\n \"source\": \"iana\",\n \"extensions\": [\"flo\"]\n },\n \"application/vnd.micrografx.igx\": {\n \"source\": \"iana\",\n \"extensions\": [\"igx\"]\n },\n \"application/vnd.microsoft.portable-executable\": {\n \"source\": \"iana\"\n },\n \"application/vnd.miele+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.mif\": {\n \"source\": \"iana\",\n \"extensions\": [\"mif\"]\n },\n \"application/vnd.minisoft-hp3000-save\": {\n \"source\": \"iana\"\n },\n \"application/vnd.mitsubishi.misty-guard.trustweb\": {\n \"source\": \"iana\"\n },\n \"application/vnd.mobius.daf\": {\n \"source\": \"iana\",\n \"extensions\": [\"daf\"]\n },\n \"application/vnd.mobius.dis\": {\n \"source\": \"iana\",\n \"extensions\": [\"dis\"]\n },\n \"application/vnd.mobius.mbk\": {\n \"source\": \"iana\",\n \"extensions\": [\"mbk\"]\n },\n \"application/vnd.mobius.mqy\": {\n \"source\": \"iana\",\n \"extensions\": [\"mqy\"]\n },\n \"application/vnd.mobius.msl\": {\n \"source\": \"iana\",\n \"extensions\": [\"msl\"]\n },\n \"application/vnd.mobius.plc\": {\n \"source\": \"iana\",\n \"extensions\": [\"plc\"]\n },\n \"application/vnd.mobius.txf\": {\n \"source\": \"iana\",\n \"extensions\": [\"txf\"]\n },\n \"application/vnd.mophun.application\": {\n \"source\": \"iana\",\n \"extensions\": [\"mpn\"]\n },\n \"application/vnd.mophun.certificate\": {\n \"source\": \"iana\",\n \"extensions\": [\"mpc\"]\n },\n \"application/vnd.motorola.flexsuite\": {\n \"source\": \"iana\"\n },\n \"application/vnd.motorola.flexsuite.adsi\": {\n \"source\": \"iana\"\n },\n \"application/vnd.motorola.flexsuite.fis\": {\n \"source\": \"iana\"\n },\n \"application/vnd.motorola.flexsuite.gotap\": {\n \"source\": \"iana\"\n },\n \"application/vnd.motorola.flexsuite.kmr\": {\n \"source\": \"iana\"\n },\n \"application/vnd.motorola.flexsuite.ttc\": {\n \"source\": \"iana\"\n },\n \"application/vnd.motorola.flexsuite.wem\": {\n \"source\": \"iana\"\n },\n \"application/vnd.motorola.iprm\": {\n \"source\": \"iana\"\n },\n \"application/vnd.mozilla.xul+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xul\"]\n },\n \"application/vnd.ms-3mfdocument\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-artgalry\": {\n \"source\": \"iana\",\n \"extensions\": [\"cil\"]\n },\n \"application/vnd.ms-asf\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-cab-compressed\": {\n \"source\": \"iana\",\n \"extensions\": [\"cab\"]\n },\n \"application/vnd.ms-color.iccprofile\": {\n \"source\": \"apache\"\n },\n \"application/vnd.ms-excel\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"xls\",\"xlm\",\"xla\",\"xlc\",\"xlt\",\"xlw\"]\n },\n \"application/vnd.ms-excel.addin.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"xlam\"]\n },\n \"application/vnd.ms-excel.sheet.binary.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"xlsb\"]\n },\n \"application/vnd.ms-excel.sheet.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"xlsm\"]\n },\n \"application/vnd.ms-excel.template.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"xltm\"]\n },\n \"application/vnd.ms-fontobject\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"eot\"]\n },\n \"application/vnd.ms-htmlhelp\": {\n \"source\": \"iana\",\n \"extensions\": [\"chm\"]\n },\n \"application/vnd.ms-ims\": {\n \"source\": \"iana\",\n \"extensions\": [\"ims\"]\n },\n \"application/vnd.ms-lrm\": {\n \"source\": \"iana\",\n \"extensions\": [\"lrm\"]\n },\n \"application/vnd.ms-office.activex+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-officetheme\": {\n \"source\": \"iana\",\n \"extensions\": [\"thmx\"]\n },\n \"application/vnd.ms-opentype\": {\n \"source\": \"apache\",\n \"compressible\": true\n },\n \"application/vnd.ms-package.obfuscated-opentype\": {\n \"source\": \"apache\"\n },\n \"application/vnd.ms-pki.seccat\": {\n \"source\": \"apache\",\n \"extensions\": [\"cat\"]\n },\n \"application/vnd.ms-pki.stl\": {\n \"source\": \"apache\",\n \"extensions\": [\"stl\"]\n },\n \"application/vnd.ms-playready.initiator+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-powerpoint\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"ppt\",\"pps\",\"pot\"]\n },\n \"application/vnd.ms-powerpoint.addin.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"ppam\"]\n },\n \"application/vnd.ms-powerpoint.presentation.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"pptm\"]\n },\n \"application/vnd.ms-powerpoint.slide.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"sldm\"]\n },\n \"application/vnd.ms-powerpoint.slideshow.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"ppsm\"]\n },\n \"application/vnd.ms-powerpoint.template.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"potm\"]\n },\n \"application/vnd.ms-printdevicecapabilities+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-printing.printticket+xml\": {\n \"source\": \"apache\"\n },\n \"application/vnd.ms-project\": {\n \"source\": \"iana\",\n \"extensions\": [\"mpp\",\"mpt\"]\n },\n \"application/vnd.ms-tnef\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-windows.devicepairing\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-windows.nwprinting.oob\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-windows.printerpairing\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-windows.wsd.oob\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-wmdrm.lic-chlg-req\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-wmdrm.lic-resp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-wmdrm.meter-chlg-req\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-wmdrm.meter-resp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-word.document.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"docm\"]\n },\n \"application/vnd.ms-word.template.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"dotm\"]\n },\n \"application/vnd.ms-works\": {\n \"source\": \"iana\",\n \"extensions\": [\"wps\",\"wks\",\"wcm\",\"wdb\"]\n },\n \"application/vnd.ms-wpl\": {\n \"source\": \"iana\",\n \"extensions\": [\"wpl\"]\n },\n \"application/vnd.ms-xpsdocument\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"xps\"]\n },\n \"application/vnd.msa-disk-image\": {\n \"source\": \"iana\"\n },\n \"application/vnd.mseq\": {\n \"source\": \"iana\",\n \"extensions\": [\"mseq\"]\n },\n \"application/vnd.msign\": {\n \"source\": \"iana\"\n },\n \"application/vnd.multiad.creator\": {\n \"source\": \"iana\"\n },\n \"application/vnd.multiad.creator.cif\": {\n \"source\": \"iana\"\n },\n \"application/vnd.music-niff\": {\n \"source\": \"iana\"\n },\n \"application/vnd.musician\": {\n \"source\": \"iana\",\n \"extensions\": [\"mus\"]\n },\n \"application/vnd.muvee.style\": {\n \"source\": \"iana\",\n \"extensions\": [\"msty\"]\n },\n \"application/vnd.mynfc\": {\n \"source\": \"iana\",\n \"extensions\": [\"taglet\"]\n },\n \"application/vnd.ncd.control\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ncd.reference\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nervana\": {\n \"source\": \"iana\"\n },\n \"application/vnd.netfpx\": {\n \"source\": \"iana\"\n },\n \"application/vnd.neurolanguage.nlu\": {\n \"source\": \"iana\",\n \"extensions\": [\"nlu\"]\n },\n \"application/vnd.nintendo.nitro.rom\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nintendo.snes.rom\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nitf\": {\n \"source\": \"iana\",\n \"extensions\": [\"ntf\",\"nitf\"]\n },\n \"application/vnd.noblenet-directory\": {\n \"source\": \"iana\",\n \"extensions\": [\"nnd\"]\n },\n \"application/vnd.noblenet-sealer\": {\n \"source\": \"iana\",\n \"extensions\": [\"nns\"]\n },\n \"application/vnd.noblenet-web\": {\n \"source\": \"iana\",\n \"extensions\": [\"nnw\"]\n },\n \"application/vnd.nokia.catalogs\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nokia.conml+wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nokia.conml+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nokia.iptv.config+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nokia.isds-radio-presets\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nokia.landmark+wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nokia.landmark+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nokia.landmarkcollection+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nokia.n-gage.ac+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nokia.n-gage.data\": {\n \"source\": \"iana\",\n \"extensions\": [\"ngdat\"]\n },\n \"application/vnd.nokia.n-gage.symbian.install\": {\n \"source\": \"iana\",\n \"extensions\": [\"n-gage\"]\n },\n \"application/vnd.nokia.ncd\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nokia.pcd+wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nokia.pcd+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nokia.radio-preset\": {\n \"source\": \"iana\",\n \"extensions\": [\"rpst\"]\n },\n \"application/vnd.nokia.radio-presets\": {\n \"source\": \"iana\",\n \"extensions\": [\"rpss\"]\n },\n \"application/vnd.novadigm.edm\": {\n \"source\": \"iana\",\n \"extensions\": [\"edm\"]\n },\n \"application/vnd.novadigm.edx\": {\n \"source\": \"iana\",\n \"extensions\": [\"edx\"]\n },\n \"application/vnd.novadigm.ext\": {\n \"source\": \"iana\",\n \"extensions\": [\"ext\"]\n },\n \"application/vnd.ntt-local.content-share\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ntt-local.file-transfer\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ntt-local.ogw_remote-access\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ntt-local.sip-ta_remote\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ntt-local.sip-ta_tcp_stream\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oasis.opendocument.chart\": {\n \"source\": \"iana\",\n \"extensions\": [\"odc\"]\n },\n \"application/vnd.oasis.opendocument.chart-template\": {\n \"source\": \"iana\",\n \"extensions\": [\"otc\"]\n },\n \"application/vnd.oasis.opendocument.database\": {\n \"source\": \"iana\",\n \"extensions\": [\"odb\"]\n },\n \"application/vnd.oasis.opendocument.formula\": {\n \"source\": \"iana\",\n \"extensions\": [\"odf\"]\n },\n \"application/vnd.oasis.opendocument.formula-template\": {\n \"source\": \"iana\",\n \"extensions\": [\"odft\"]\n },\n \"application/vnd.oasis.opendocument.graphics\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"odg\"]\n },\n \"application/vnd.oasis.opendocument.graphics-template\": {\n \"source\": \"iana\",\n \"extensions\": [\"otg\"]\n },\n \"application/vnd.oasis.opendocument.image\": {\n \"source\": \"iana\",\n \"extensions\": [\"odi\"]\n },\n \"application/vnd.oasis.opendocument.image-template\": {\n \"source\": \"iana\",\n \"extensions\": [\"oti\"]\n },\n \"application/vnd.oasis.opendocument.presentation\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"odp\"]\n },\n \"application/vnd.oasis.opendocument.presentation-template\": {\n \"source\": \"iana\",\n \"extensions\": [\"otp\"]\n },\n \"application/vnd.oasis.opendocument.spreadsheet\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"ods\"]\n },\n \"application/vnd.oasis.opendocument.spreadsheet-template\": {\n \"source\": \"iana\",\n \"extensions\": [\"ots\"]\n },\n \"application/vnd.oasis.opendocument.text\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"odt\"]\n },\n \"application/vnd.oasis.opendocument.text-master\": {\n \"source\": \"iana\",\n \"extensions\": [\"odm\"]\n },\n \"application/vnd.oasis.opendocument.text-template\": {\n \"source\": \"iana\",\n \"extensions\": [\"ott\"]\n },\n \"application/vnd.oasis.opendocument.text-web\": {\n \"source\": \"iana\",\n \"extensions\": [\"oth\"]\n },\n \"application/vnd.obn\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oftn.l10n+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oipf.contentaccessdownload+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oipf.contentaccessstreaming+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oipf.cspg-hexbinary\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oipf.dae.svg+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oipf.dae.xhtml+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oipf.mippvcontrolmessage+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oipf.pae.gem\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oipf.spdiscovery+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oipf.spdlist+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oipf.ueprofile+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oipf.userprofile+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.olpc-sugar\": {\n \"source\": \"iana\",\n \"extensions\": [\"xo\"]\n },\n \"application/vnd.oma-scws-config\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma-scws-http-request\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma-scws-http-response\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.bcast.associated-procedure-parameter+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.bcast.drm-trigger+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.bcast.imd+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.bcast.ltkm\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.bcast.notification+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.bcast.provisioningtrigger\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.bcast.sgboot\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.bcast.sgdd+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.bcast.sgdu\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.bcast.simple-symbol-container\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.bcast.smartcard-trigger+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.bcast.sprov+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.bcast.stkm\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.cab-address-book+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.cab-feature-handler+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.cab-pcc+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.cab-subs-invite+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.cab-user-prefs+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.dcd\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.dcdc\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.dd2+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"dd2\"]\n },\n \"application/vnd.oma.drm.risd+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.group-usage-list+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.pal+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.poc.detailed-progress-report+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.poc.final-report+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.poc.groups+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.poc.invocation-descriptor+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.poc.optimized-progress-report+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.push\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.scidm.messages+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.xcap-directory+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.omads-email+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.omads-file+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.omads-folder+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.omaloc-supl-init\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openblox.game+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openblox.game-binary\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openeye.oeb\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openofficeorg.extension\": {\n \"source\": \"apache\",\n \"extensions\": [\"oxt\"]\n },\n \"application/vnd.openxmlformats-officedocument.custom-properties+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.customxmlproperties+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.drawing+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.drawingml.chart+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.extended-properties+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.presentationml-template\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.comments+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.presentation\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"pptx\"]\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.presprops+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.slide\": {\n \"source\": \"iana\",\n \"extensions\": [\"sldx\"]\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.slide+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.slideshow\": {\n \"source\": \"iana\",\n \"extensions\": [\"ppsx\"]\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.tags+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.template\": {\n \"source\": \"apache\",\n \"extensions\": [\"potx\"]\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.template.main+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml-template\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"xlsx\"]\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.template\": {\n \"source\": \"apache\",\n \"extensions\": [\"xltx\"]\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.theme+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.themeoverride+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.vmldrawing\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml-template\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"docx\"]\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.template\": {\n \"source\": \"apache\",\n \"extensions\": [\"dotx\"]\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-package.core-properties+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-package.relationships+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oracle.resource+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.orange.indata\": {\n \"source\": \"iana\"\n },\n \"application/vnd.osa.netdeploy\": {\n \"source\": \"iana\"\n },\n \"application/vnd.osgeo.mapguide.package\": {\n \"source\": \"iana\",\n \"extensions\": [\"mgp\"]\n },\n \"application/vnd.osgi.bundle\": {\n \"source\": \"iana\"\n },\n \"application/vnd.osgi.dp\": {\n \"source\": \"iana\",\n \"extensions\": [\"dp\"]\n },\n \"application/vnd.osgi.subsystem\": {\n \"source\": \"iana\",\n \"extensions\": [\"esa\"]\n },\n \"application/vnd.otps.ct-kip+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oxli.countgraph\": {\n \"source\": \"iana\"\n },\n \"application/vnd.pagerduty+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.palm\": {\n \"source\": \"iana\",\n \"extensions\": [\"pdb\",\"pqa\",\"oprc\"]\n },\n \"application/vnd.panoply\": {\n \"source\": \"iana\"\n },\n \"application/vnd.paos+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.paos.xml\": {\n \"source\": \"apache\"\n },\n \"application/vnd.pawaafile\": {\n \"source\": \"iana\",\n \"extensions\": [\"paw\"]\n },\n \"application/vnd.pcos\": {\n \"source\": \"iana\"\n },\n \"application/vnd.pg.format\": {\n \"source\": \"iana\",\n \"extensions\": [\"str\"]\n },\n \"application/vnd.pg.osasli\": {\n \"source\": \"iana\",\n \"extensions\": [\"ei6\"]\n },\n \"application/vnd.piaccess.application-licence\": {\n \"source\": \"iana\"\n },\n \"application/vnd.picsel\": {\n \"source\": \"iana\",\n \"extensions\": [\"efif\"]\n },\n \"application/vnd.pmi.widget\": {\n \"source\": \"iana\",\n \"extensions\": [\"wg\"]\n },\n \"application/vnd.poc.group-advertisement+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.pocketlearn\": {\n \"source\": \"iana\",\n \"extensions\": [\"plf\"]\n },\n \"application/vnd.powerbuilder6\": {\n \"source\": \"iana\",\n \"extensions\": [\"pbd\"]\n },\n \"application/vnd.powerbuilder6-s\": {\n \"source\": \"iana\"\n },\n \"application/vnd.powerbuilder7\": {\n \"source\": \"iana\"\n },\n \"application/vnd.powerbuilder7-s\": {\n \"source\": \"iana\"\n },\n \"application/vnd.powerbuilder75\": {\n \"source\": \"iana\"\n },\n \"application/vnd.powerbuilder75-s\": {\n \"source\": \"iana\"\n },\n \"application/vnd.preminet\": {\n \"source\": \"iana\"\n },\n \"application/vnd.previewsystems.box\": {\n \"source\": \"iana\",\n \"extensions\": [\"box\"]\n },\n \"application/vnd.proteus.magazine\": {\n \"source\": \"iana\",\n \"extensions\": [\"mgz\"]\n },\n \"application/vnd.publishare-delta-tree\": {\n \"source\": \"iana\",\n \"extensions\": [\"qps\"]\n },\n \"application/vnd.pvi.ptid1\": {\n \"source\": \"iana\",\n \"extensions\": [\"ptid\"]\n },\n \"application/vnd.pwg-multiplexed\": {\n \"source\": \"iana\"\n },\n \"application/vnd.pwg-xhtml-print+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.qualcomm.brew-app-res\": {\n \"source\": \"iana\"\n },\n \"application/vnd.quark.quarkxpress\": {\n \"source\": \"iana\",\n \"extensions\": [\"qxd\",\"qxt\",\"qwd\",\"qwt\",\"qxl\",\"qxb\"]\n },\n \"application/vnd.quobject-quoxdocument\": {\n \"source\": \"iana\"\n },\n \"application/vnd.radisys.moml+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.radisys.msml+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.radisys.msml-audit+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.radisys.msml-audit-conf+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.radisys.msml-audit-conn+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.radisys.msml-audit-dialog+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.radisys.msml-audit-stream+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.radisys.msml-conf+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.radisys.msml-dialog+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.radisys.msml-dialog-base+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.radisys.msml-dialog-fax-detect+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.radisys.msml-dialog-fax-sendrecv+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.radisys.msml-dialog-group+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.radisys.msml-dialog-speech+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.radisys.msml-dialog-transform+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.rainstor.data\": {\n \"source\": \"iana\"\n },\n \"application/vnd.rapid\": {\n \"source\": \"iana\"\n },\n \"application/vnd.realvnc.bed\": {\n \"source\": \"iana\",\n \"extensions\": [\"bed\"]\n },\n \"application/vnd.recordare.musicxml\": {\n \"source\": \"iana\",\n \"extensions\": [\"mxl\"]\n },\n \"application/vnd.recordare.musicxml+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"musicxml\"]\n },\n \"application/vnd.renlearn.rlprint\": {\n \"source\": \"iana\"\n },\n \"application/vnd.rig.cryptonote\": {\n \"source\": \"iana\",\n \"extensions\": [\"cryptonote\"]\n },\n \"application/vnd.rim.cod\": {\n \"source\": \"apache\",\n \"extensions\": [\"cod\"]\n },\n \"application/vnd.rn-realmedia\": {\n \"source\": \"apache\",\n \"extensions\": [\"rm\"]\n },\n \"application/vnd.rn-realmedia-vbr\": {\n \"source\": \"apache\",\n \"extensions\": [\"rmvb\"]\n },\n \"application/vnd.route66.link66+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"link66\"]\n },\n \"application/vnd.rs-274x\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ruckus.download\": {\n \"source\": \"iana\"\n },\n \"application/vnd.s3sms\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sailingtracker.track\": {\n \"source\": \"iana\",\n \"extensions\": [\"st\"]\n },\n \"application/vnd.sbm.cid\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sbm.mid2\": {\n \"source\": \"iana\"\n },\n \"application/vnd.scribus\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealed.3df\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealed.csf\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealed.doc\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealed.eml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealed.mht\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealed.net\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealed.ppt\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealed.tiff\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealed.xls\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealedmedia.softseal.html\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealedmedia.softseal.pdf\": {\n \"source\": \"iana\"\n },\n \"application/vnd.seemail\": {\n \"source\": \"iana\",\n \"extensions\": [\"see\"]\n },\n \"application/vnd.sema\": {\n \"source\": \"iana\",\n \"extensions\": [\"sema\"]\n },\n \"application/vnd.semd\": {\n \"source\": \"iana\",\n \"extensions\": [\"semd\"]\n },\n \"application/vnd.semf\": {\n \"source\": \"iana\",\n \"extensions\": [\"semf\"]\n },\n \"application/vnd.shana.informed.formdata\": {\n \"source\": \"iana\",\n \"extensions\": [\"ifm\"]\n },\n \"application/vnd.shana.informed.formtemplate\": {\n \"source\": \"iana\",\n \"extensions\": [\"itp\"]\n },\n \"application/vnd.shana.informed.interchange\": {\n \"source\": \"iana\",\n \"extensions\": [\"iif\"]\n },\n \"application/vnd.shana.informed.package\": {\n \"source\": \"iana\",\n \"extensions\": [\"ipk\"]\n },\n \"application/vnd.simtech-mindmapper\": {\n \"source\": \"iana\",\n \"extensions\": [\"twd\",\"twds\"]\n },\n \"application/vnd.siren+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.smaf\": {\n \"source\": \"iana\",\n \"extensions\": [\"mmf\"]\n },\n \"application/vnd.smart.notebook\": {\n \"source\": \"iana\"\n },\n \"application/vnd.smart.teacher\": {\n \"source\": \"iana\",\n \"extensions\": [\"teacher\"]\n },\n \"application/vnd.software602.filler.form+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.software602.filler.form-xml-zip\": {\n \"source\": \"iana\"\n },\n \"application/vnd.solent.sdkm+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"sdkm\",\"sdkd\"]\n },\n \"application/vnd.spotfire.dxp\": {\n \"source\": \"iana\",\n \"extensions\": [\"dxp\"]\n },\n \"application/vnd.spotfire.sfs\": {\n \"source\": \"iana\",\n \"extensions\": [\"sfs\"]\n },\n \"application/vnd.sss-cod\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sss-dtf\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sss-ntf\": {\n \"source\": \"iana\"\n },\n \"application/vnd.stardivision.calc\": {\n \"source\": \"apache\",\n \"extensions\": [\"sdc\"]\n },\n \"application/vnd.stardivision.draw\": {\n \"source\": \"apache\",\n \"extensions\": [\"sda\"]\n },\n \"application/vnd.stardivision.impress\": {\n \"source\": \"apache\",\n \"extensions\": [\"sdd\"]\n },\n \"application/vnd.stardivision.math\": {\n \"source\": \"apache\",\n \"extensions\": [\"smf\"]\n },\n \"application/vnd.stardivision.writer\": {\n \"source\": \"apache\",\n \"extensions\": [\"sdw\",\"vor\"]\n },\n \"application/vnd.stardivision.writer-global\": {\n \"source\": \"apache\",\n \"extensions\": [\"sgl\"]\n },\n \"application/vnd.stepmania.package\": {\n \"source\": \"iana\",\n \"extensions\": [\"smzip\"]\n },\n \"application/vnd.stepmania.stepchart\": {\n \"source\": \"iana\",\n \"extensions\": [\"sm\"]\n },\n \"application/vnd.street-stream\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sun.wadl+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sun.xml.calc\": {\n \"source\": \"apache\",\n \"extensions\": [\"sxc\"]\n },\n \"application/vnd.sun.xml.calc.template\": {\n \"source\": \"apache\",\n \"extensions\": [\"stc\"]\n },\n \"application/vnd.sun.xml.draw\": {\n \"source\": \"apache\",\n \"extensions\": [\"sxd\"]\n },\n \"application/vnd.sun.xml.draw.template\": {\n \"source\": \"apache\",\n \"extensions\": [\"std\"]\n },\n \"application/vnd.sun.xml.impress\": {\n \"source\": \"apache\",\n \"extensions\": [\"sxi\"]\n },\n \"application/vnd.sun.xml.impress.template\": {\n \"source\": \"apache\",\n \"extensions\": [\"sti\"]\n },\n \"application/vnd.sun.xml.math\": {\n \"source\": \"apache\",\n \"extensions\": [\"sxm\"]\n },\n \"application/vnd.sun.xml.writer\": {\n \"source\": \"apache\",\n \"extensions\": [\"sxw\"]\n },\n \"application/vnd.sun.xml.writer.global\": {\n \"source\": \"apache\",\n \"extensions\": [\"sxg\"]\n },\n \"application/vnd.sun.xml.writer.template\": {\n \"source\": \"apache\",\n \"extensions\": [\"stw\"]\n },\n \"application/vnd.sus-calendar\": {\n \"source\": \"iana\",\n \"extensions\": [\"sus\",\"susp\"]\n },\n \"application/vnd.svd\": {\n \"source\": \"iana\",\n \"extensions\": [\"svd\"]\n },\n \"application/vnd.swiftview-ics\": {\n \"source\": \"iana\"\n },\n \"application/vnd.symbian.install\": {\n \"source\": \"apache\",\n \"extensions\": [\"sis\",\"sisx\"]\n },\n \"application/vnd.syncml+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"xsm\"]\n },\n \"application/vnd.syncml.dm+wbxml\": {\n \"source\": \"iana\",\n \"extensions\": [\"bdm\"]\n },\n \"application/vnd.syncml.dm+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"xdm\"]\n },\n \"application/vnd.syncml.dm.notification\": {\n \"source\": \"iana\"\n },\n \"application/vnd.syncml.dmddf+wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.syncml.dmddf+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.syncml.dmtnds+wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.syncml.dmtnds+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.syncml.ds.notification\": {\n \"source\": \"iana\"\n },\n \"application/vnd.tao.intent-module-archive\": {\n \"source\": \"iana\",\n \"extensions\": [\"tao\"]\n },\n \"application/vnd.tcpdump.pcap\": {\n \"source\": \"iana\",\n \"extensions\": [\"pcap\",\"cap\",\"dmp\"]\n },\n \"application/vnd.tmd.mediaflex.api+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.tml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.tmobile-livetv\": {\n \"source\": \"iana\",\n \"extensions\": [\"tmo\"]\n },\n \"application/vnd.trid.tpt\": {\n \"source\": \"iana\",\n \"extensions\": [\"tpt\"]\n },\n \"application/vnd.triscape.mxs\": {\n \"source\": \"iana\",\n \"extensions\": [\"mxs\"]\n },\n \"application/vnd.trueapp\": {\n \"source\": \"iana\",\n \"extensions\": [\"tra\"]\n },\n \"application/vnd.truedoc\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ubisoft.webplayer\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ufdl\": {\n \"source\": \"iana\",\n \"extensions\": [\"ufd\",\"ufdl\"]\n },\n \"application/vnd.uiq.theme\": {\n \"source\": \"iana\",\n \"extensions\": [\"utz\"]\n },\n \"application/vnd.umajin\": {\n \"source\": \"iana\",\n \"extensions\": [\"umj\"]\n },\n \"application/vnd.unity\": {\n \"source\": \"iana\",\n \"extensions\": [\"unityweb\"]\n },\n \"application/vnd.uoml+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"uoml\"]\n },\n \"application/vnd.uplanet.alert\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.alert-wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.bearer-choice\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.bearer-choice-wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.cacheop\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.cacheop-wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.channel\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.channel-wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.list\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.list-wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.listcmd\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.listcmd-wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.signal\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uri-map\": {\n \"source\": \"iana\"\n },\n \"application/vnd.valve.source.material\": {\n \"source\": \"iana\"\n },\n \"application/vnd.vcx\": {\n \"source\": \"iana\",\n \"extensions\": [\"vcx\"]\n },\n \"application/vnd.vd-study\": {\n \"source\": \"iana\"\n },\n \"application/vnd.vectorworks\": {\n \"source\": \"iana\"\n },\n \"application/vnd.verimatrix.vcas\": {\n \"source\": \"iana\"\n },\n \"application/vnd.vidsoft.vidconference\": {\n \"source\": \"iana\"\n },\n \"application/vnd.visio\": {\n \"source\": \"iana\",\n \"extensions\": [\"vsd\",\"vst\",\"vss\",\"vsw\"]\n },\n \"application/vnd.visionary\": {\n \"source\": \"iana\",\n \"extensions\": [\"vis\"]\n },\n \"application/vnd.vividence.scriptfile\": {\n \"source\": \"iana\"\n },\n \"application/vnd.vsf\": {\n \"source\": \"iana\",\n \"extensions\": [\"vsf\"]\n },\n \"application/vnd.wap.sic\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wap.slc\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wap.wbxml\": {\n \"source\": \"iana\",\n \"extensions\": [\"wbxml\"]\n },\n \"application/vnd.wap.wmlc\": {\n \"source\": \"iana\",\n \"extensions\": [\"wmlc\"]\n },\n \"application/vnd.wap.wmlscriptc\": {\n \"source\": \"iana\",\n \"extensions\": [\"wmlsc\"]\n },\n \"application/vnd.webturbo\": {\n \"source\": \"iana\",\n \"extensions\": [\"wtb\"]\n },\n \"application/vnd.wfa.p2p\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wfa.wsc\": {\n \"source\": \"iana\"\n },\n \"application/vnd.windows.devicepairing\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wmc\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wmf.bootstrap\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wolfram.mathematica\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wolfram.mathematica.package\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wolfram.player\": {\n \"source\": \"iana\",\n \"extensions\": [\"nbp\"]\n },\n \"application/vnd.wordperfect\": {\n \"source\": \"iana\",\n \"extensions\": [\"wpd\"]\n },\n \"application/vnd.wqd\": {\n \"source\": \"iana\",\n \"extensions\": [\"wqd\"]\n },\n \"application/vnd.wrq-hp3000-labelled\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wt.stf\": {\n \"source\": \"iana\",\n \"extensions\": [\"stf\"]\n },\n \"application/vnd.wv.csp+wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wv.csp+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wv.ssp+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.xacml+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.xara\": {\n \"source\": \"iana\",\n \"extensions\": [\"xar\"]\n },\n \"application/vnd.xfdl\": {\n \"source\": \"iana\",\n \"extensions\": [\"xfdl\"]\n },\n \"application/vnd.xfdl.webform\": {\n \"source\": \"iana\"\n },\n \"application/vnd.xmi+xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.xmpie.cpkg\": {\n \"source\": \"iana\"\n },\n \"application/vnd.xmpie.dpkg\": {\n \"source\": \"iana\"\n },\n \"application/vnd.xmpie.plan\": {\n \"source\": \"iana\"\n },\n \"application/vnd.xmpie.ppkg\": {\n \"source\": \"iana\"\n },\n \"application/vnd.xmpie.xlim\": {\n \"source\": \"iana\"\n },\n \"application/vnd.yamaha.hv-dic\": {\n \"source\": \"iana\",\n \"extensions\": [\"hvd\"]\n },\n \"application/vnd.yamaha.hv-script\": {\n \"source\": \"iana\",\n \"extensions\": [\"hvs\"]\n },\n \"application/vnd.yamaha.hv-voice\": {\n \"source\": \"iana\",\n \"extensions\": [\"hvp\"]\n },\n \"application/vnd.yamaha.openscoreformat\": {\n \"source\": \"iana\",\n \"extensions\": [\"osf\"]\n },\n \"application/vnd.yamaha.openscoreformat.osfpvg+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"osfpvg\"]\n },\n \"application/vnd.yamaha.remote-setup\": {\n \"source\": \"iana\"\n },\n \"application/vnd.yamaha.smaf-audio\": {\n \"source\": \"iana\",\n \"extensions\": [\"saf\"]\n },\n \"application/vnd.yamaha.smaf-phrase\": {\n \"source\": \"iana\",\n \"extensions\": [\"spf\"]\n },\n \"application/vnd.yamaha.through-ngn\": {\n \"source\": \"iana\"\n },\n \"application/vnd.yamaha.tunnel-udpencap\": {\n \"source\": \"iana\"\n },\n \"application/vnd.yaoweme\": {\n \"source\": \"iana\"\n },\n \"application/vnd.yellowriver-custom-menu\": {\n \"source\": \"iana\",\n \"extensions\": [\"cmp\"]\n },\n \"application/vnd.zul\": {\n \"source\": \"iana\",\n \"extensions\": [\"zir\",\"zirz\"]\n },\n \"application/vnd.zzazz.deck+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"zaz\"]\n },\n \"application/voicexml+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"vxml\"]\n },\n \"application/vq-rtcpxr\": {\n \"source\": \"iana\"\n },\n \"application/watcherinfo+xml\": {\n \"source\": \"iana\"\n },\n \"application/whoispp-query\": {\n \"source\": \"iana\"\n },\n \"application/whoispp-response\": {\n \"source\": \"iana\"\n },\n \"application/widget\": {\n \"source\": \"iana\",\n \"extensions\": [\"wgt\"]\n },\n \"application/winhlp\": {\n \"source\": \"apache\",\n \"extensions\": [\"hlp\"]\n },\n \"application/wita\": {\n \"source\": \"iana\"\n },\n \"application/wordperfect5.1\": {\n \"source\": \"iana\"\n },\n \"application/wsdl+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"wsdl\"]\n },\n \"application/wspolicy+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"wspolicy\"]\n },\n \"application/x-7z-compressed\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"7z\"]\n },\n \"application/x-abiword\": {\n \"source\": \"apache\",\n \"extensions\": [\"abw\"]\n },\n \"application/x-ace-compressed\": {\n \"source\": \"apache\",\n \"extensions\": [\"ace\"]\n },\n \"application/x-amf\": {\n \"source\": \"apache\"\n },\n \"application/x-apple-diskimage\": {\n \"source\": \"apache\",\n \"extensions\": [\"dmg\"]\n },\n \"application/x-authorware-bin\": {\n \"source\": \"apache\",\n \"extensions\": [\"aab\",\"x32\",\"u32\",\"vox\"]\n },\n \"application/x-authorware-map\": {\n \"source\": \"apache\",\n \"extensions\": [\"aam\"]\n },\n \"application/x-authorware-seg\": {\n \"source\": \"apache\",\n \"extensions\": [\"aas\"]\n },\n \"application/x-bcpio\": {\n \"source\": \"apache\",\n \"extensions\": [\"bcpio\"]\n },\n \"application/x-bdoc\": {\n \"compressible\": false,\n \"extensions\": [\"bdoc\"]\n },\n \"application/x-bittorrent\": {\n \"source\": \"apache\",\n \"extensions\": [\"torrent\"]\n },\n \"application/x-blorb\": {\n \"source\": \"apache\",\n \"extensions\": [\"blb\",\"blorb\"]\n },\n \"application/x-bzip\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"bz\"]\n },\n \"application/x-bzip2\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"bz2\",\"boz\"]\n },\n \"application/x-cbr\": {\n \"source\": \"apache\",\n \"extensions\": [\"cbr\",\"cba\",\"cbt\",\"cbz\",\"cb7\"]\n },\n \"application/x-cdlink\": {\n \"source\": \"apache\",\n \"extensions\": [\"vcd\"]\n },\n \"application/x-cfs-compressed\": {\n \"source\": \"apache\",\n \"extensions\": [\"cfs\"]\n },\n \"application/x-chat\": {\n \"source\": \"apache\",\n \"extensions\": [\"chat\"]\n },\n \"application/x-chess-pgn\": {\n \"source\": \"apache\",\n \"extensions\": [\"pgn\"]\n },\n \"application/x-chrome-extension\": {\n \"extensions\": [\"crx\"]\n },\n \"application/x-cocoa\": {\n \"source\": \"nginx\",\n \"extensions\": [\"cco\"]\n },\n \"application/x-compress\": {\n \"source\": \"apache\"\n },\n \"application/x-conference\": {\n \"source\": \"apache\",\n \"extensions\": [\"nsc\"]\n },\n \"application/x-cpio\": {\n \"source\": \"apache\",\n \"extensions\": [\"cpio\"]\n },\n \"application/x-csh\": {\n \"source\": \"apache\",\n \"extensions\": [\"csh\"]\n },\n \"application/x-deb\": {\n \"compressible\": false\n },\n \"application/x-debian-package\": {\n \"source\": \"apache\",\n \"extensions\": [\"deb\",\"udeb\"]\n },\n \"application/x-dgc-compressed\": {\n \"source\": \"apache\",\n \"extensions\": [\"dgc\"]\n },\n \"application/x-director\": {\n \"source\": \"apache\",\n \"extensions\": [\"dir\",\"dcr\",\"dxr\",\"cst\",\"cct\",\"cxt\",\"w3d\",\"fgd\",\"swa\"]\n },\n \"application/x-doom\": {\n \"source\": \"apache\",\n \"extensions\": [\"wad\"]\n },\n \"application/x-dtbncx+xml\": {\n \"source\": \"apache\",\n \"extensions\": [\"ncx\"]\n },\n \"application/x-dtbook+xml\": {\n \"source\": \"apache\",\n \"extensions\": [\"dtb\"]\n },\n \"application/x-dtbresource+xml\": {\n \"source\": \"apache\",\n \"extensions\": [\"res\"]\n },\n \"application/x-dvi\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"dvi\"]\n },\n \"application/x-envoy\": {\n \"source\": \"apache\",\n \"extensions\": [\"evy\"]\n },\n \"application/x-eva\": {\n \"source\": \"apache\",\n \"extensions\": [\"eva\"]\n },\n \"application/x-font-bdf\": {\n \"source\": \"apache\",\n \"extensions\": [\"bdf\"]\n },\n \"application/x-font-dos\": {\n \"source\": \"apache\"\n },\n \"application/x-font-framemaker\": {\n \"source\": \"apache\"\n },\n \"application/x-font-ghostscript\": {\n \"source\": \"apache\",\n \"extensions\": [\"gsf\"]\n },\n \"application/x-font-libgrx\": {\n \"source\": \"apache\"\n },\n \"application/x-font-linux-psf\": {\n \"source\": \"apache\",\n \"extensions\": [\"psf\"]\n },\n \"application/x-font-otf\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"otf\"]\n },\n \"application/x-font-pcf\": {\n \"source\": \"apache\",\n \"extensions\": [\"pcf\"]\n },\n \"application/x-font-snf\": {\n \"source\": \"apache\",\n \"extensions\": [\"snf\"]\n },\n \"application/x-font-speedo\": {\n \"source\": \"apache\"\n },\n \"application/x-font-sunos-news\": {\n \"source\": \"apache\"\n },\n \"application/x-font-ttf\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"ttf\",\"ttc\"]\n },\n \"application/x-font-type1\": {\n \"source\": \"apache\",\n \"extensions\": [\"pfa\",\"pfb\",\"pfm\",\"afm\"]\n },\n \"application/x-font-vfont\": {\n \"source\": \"apache\"\n },\n \"application/x-freearc\": {\n \"source\": \"apache\",\n \"extensions\": [\"arc\"]\n },\n \"application/x-futuresplash\": {\n \"source\": \"apache\",\n \"extensions\": [\"spl\"]\n },\n \"application/x-gca-compressed\": {\n \"source\": \"apache\",\n \"extensions\": [\"gca\"]\n },\n \"application/x-glulx\": {\n \"source\": \"apache\",\n \"extensions\": [\"ulx\"]\n },\n \"application/x-gnumeric\": {\n \"source\": \"apache\",\n \"extensions\": [\"gnumeric\"]\n },\n \"application/x-gramps-xml\": {\n \"source\": \"apache\",\n \"extensions\": [\"gramps\"]\n },\n \"application/x-gtar\": {\n \"source\": \"apache\",\n \"extensions\": [\"gtar\"]\n },\n \"application/x-gzip\": {\n \"source\": \"apache\"\n },\n \"application/x-hdf\": {\n \"source\": \"apache\",\n \"extensions\": [\"hdf\"]\n },\n \"application/x-httpd-php\": {\n \"compressible\": true,\n \"extensions\": [\"php\"]\n },\n \"application/x-install-instructions\": {\n \"source\": \"apache\",\n \"extensions\": [\"install\"]\n },\n \"application/x-iso9660-image\": {\n \"source\": \"apache\",\n \"extensions\": [\"iso\"]\n },\n \"application/x-java-archive-diff\": {\n \"source\": \"nginx\",\n \"extensions\": [\"jardiff\"]\n },\n \"application/x-java-jnlp-file\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"jnlp\"]\n },\n \"application/x-javascript\": {\n \"compressible\": true\n },\n \"application/x-latex\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"latex\"]\n },\n \"application/x-lua-bytecode\": {\n \"extensions\": [\"luac\"]\n },\n \"application/x-lzh-compressed\": {\n \"source\": \"apache\",\n \"extensions\": [\"lzh\",\"lha\"]\n },\n \"application/x-makeself\": {\n \"source\": \"nginx\",\n \"extensions\": [\"run\"]\n },\n \"application/x-mie\": {\n \"source\": \"apache\",\n \"extensions\": [\"mie\"]\n },\n \"application/x-mobipocket-ebook\": {\n \"source\": \"apache\",\n \"extensions\": [\"prc\",\"mobi\"]\n },\n \"application/x-mpegurl\": {\n \"compressible\": false\n },\n \"application/x-ms-application\": {\n \"source\": \"apache\",\n \"extensions\": [\"application\"]\n },\n \"application/x-ms-shortcut\": {\n \"source\": \"apache\",\n \"extensions\": [\"lnk\"]\n },\n \"application/x-ms-wmd\": {\n \"source\": \"apache\",\n \"extensions\": [\"wmd\"]\n },\n \"application/x-ms-wmz\": {\n \"source\": \"apache\",\n \"extensions\": [\"wmz\"]\n },\n \"application/x-ms-xbap\": {\n \"source\": \"apache\",\n \"extensions\": [\"xbap\"]\n },\n \"application/x-msaccess\": {\n \"source\": \"apache\",\n \"extensions\": [\"mdb\"]\n },\n \"application/x-msbinder\": {\n \"source\": \"apache\",\n \"extensions\": [\"obd\"]\n },\n \"application/x-mscardfile\": {\n \"source\": \"apache\",\n \"extensions\": [\"crd\"]\n },\n \"application/x-msclip\": {\n \"source\": \"apache\",\n \"extensions\": [\"clp\"]\n },\n \"application/x-msdos-program\": {\n \"extensions\": [\"exe\"]\n },\n \"application/x-msdownload\": {\n \"source\": \"apache\",\n \"extensions\": [\"exe\",\"dll\",\"com\",\"bat\",\"msi\"]\n },\n \"application/x-msmediaview\": {\n \"source\": \"apache\",\n \"extensions\": [\"mvb\",\"m13\",\"m14\"]\n },\n \"application/x-msmetafile\": {\n \"source\": \"apache\",\n \"extensions\": [\"wmf\",\"wmz\",\"emf\",\"emz\"]\n },\n \"application/x-msmoney\": {\n \"source\": \"apache\",\n \"extensions\": [\"mny\"]\n },\n \"application/x-mspublisher\": {\n \"source\": \"apache\",\n \"extensions\": [\"pub\"]\n },\n \"application/x-msschedule\": {\n \"source\": \"apache\",\n \"extensions\": [\"scd\"]\n },\n \"application/x-msterminal\": {\n \"source\": \"apache\",\n \"extensions\": [\"trm\"]\n },\n \"application/x-mswrite\": {\n \"source\": \"apache\",\n \"extensions\": [\"wri\"]\n },\n \"application/x-netcdf\": {\n \"source\": \"apache\",\n \"extensions\": [\"nc\",\"cdf\"]\n },\n \"application/x-ns-proxy-autoconfig\": {\n \"compressible\": true,\n \"extensions\": [\"pac\"]\n },\n \"application/x-nzb\": {\n \"source\": \"apache\",\n \"extensions\": [\"nzb\"]\n },\n \"application/x-perl\": {\n \"source\": \"nginx\",\n \"extensions\": [\"pl\",\"pm\"]\n },\n \"application/x-pilot\": {\n \"source\": \"nginx\",\n \"extensions\": [\"prc\",\"pdb\"]\n },\n \"application/x-pkcs12\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"p12\",\"pfx\"]\n },\n \"application/x-pkcs7-certificates\": {\n \"source\": \"apache\",\n \"extensions\": [\"p7b\",\"spc\"]\n },\n \"application/x-pkcs7-certreqresp\": {\n \"source\": \"apache\",\n \"extensions\": [\"p7r\"]\n },\n \"application/x-rar-compressed\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"rar\"]\n },\n \"application/x-redhat-package-manager\": {\n \"source\": \"nginx\",\n \"extensions\": [\"rpm\"]\n },\n \"application/x-research-info-systems\": {\n \"source\": \"apache\",\n \"extensions\": [\"ris\"]\n },\n \"application/x-sea\": {\n \"source\": \"nginx\",\n \"extensions\": [\"sea\"]\n },\n \"application/x-sh\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"sh\"]\n },\n \"application/x-shar\": {\n \"source\": \"apache\",\n \"extensions\": [\"shar\"]\n },\n \"application/x-shockwave-flash\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"swf\"]\n },\n \"application/x-silverlight-app\": {\n \"source\": \"apache\",\n \"extensions\": [\"xap\"]\n },\n \"application/x-sql\": {\n \"source\": \"apache\",\n \"extensions\": [\"sql\"]\n },\n \"application/x-stuffit\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"sit\"]\n },\n \"application/x-stuffitx\": {\n \"source\": \"apache\",\n \"extensions\": [\"sitx\"]\n },\n \"application/x-subrip\": {\n \"source\": \"apache\",\n \"extensions\": [\"srt\"]\n },\n \"application/x-sv4cpio\": {\n \"source\": \"apache\",\n \"extensions\": [\"sv4cpio\"]\n },\n \"application/x-sv4crc\": {\n \"source\": \"apache\",\n \"extensions\": [\"sv4crc\"]\n },\n \"application/x-t3vm-image\": {\n \"source\": \"apache\",\n \"extensions\": [\"t3\"]\n },\n \"application/x-tads\": {\n \"source\": \"apache\",\n \"extensions\": [\"gam\"]\n },\n \"application/x-tar\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"tar\"]\n },\n \"application/x-tcl\": {\n \"source\": \"apache\",\n \"extensions\": [\"tcl\",\"tk\"]\n },\n \"application/x-tex\": {\n \"source\": \"apache\",\n \"extensions\": [\"tex\"]\n },\n \"application/x-tex-tfm\": {\n \"source\": \"apache\",\n \"extensions\": [\"tfm\"]\n },\n \"application/x-texinfo\": {\n \"source\": \"apache\",\n \"extensions\": [\"texinfo\",\"texi\"]\n },\n \"application/x-tgif\": {\n \"source\": \"apache\",\n \"extensions\": [\"obj\"]\n },\n \"application/x-ustar\": {\n \"source\": \"apache\",\n \"extensions\": [\"ustar\"]\n },\n \"application/x-wais-source\": {\n \"source\": \"apache\",\n \"extensions\": [\"src\"]\n },\n \"application/x-web-app-manifest+json\": {\n \"compressible\": true,\n \"extensions\": [\"webapp\"]\n },\n \"application/x-www-form-urlencoded\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/x-x509-ca-cert\": {\n \"source\": \"apache\",\n \"extensions\": [\"der\",\"crt\",\"pem\"]\n },\n \"application/x-xfig\": {\n \"source\": \"apache\",\n \"extensions\": [\"fig\"]\n },\n \"application/x-xliff+xml\": {\n \"source\": \"apache\",\n \"extensions\": [\"xlf\"]\n },\n \"application/x-xpinstall\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"xpi\"]\n },\n \"application/x-xz\": {\n \"source\": \"apache\",\n \"extensions\": [\"xz\"]\n },\n \"application/x-zmachine\": {\n \"source\": \"apache\",\n \"extensions\": [\"z1\",\"z2\",\"z3\",\"z4\",\"z5\",\"z6\",\"z7\",\"z8\"]\n },\n \"application/x400-bp\": {\n \"source\": \"iana\"\n },\n \"application/xacml+xml\": {\n \"source\": \"iana\"\n },\n \"application/xaml+xml\": {\n \"source\": \"apache\",\n \"extensions\": [\"xaml\"]\n },\n \"application/xcap-att+xml\": {\n \"source\": \"iana\"\n },\n \"application/xcap-caps+xml\": {\n \"source\": \"iana\"\n },\n \"application/xcap-diff+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"xdf\"]\n },\n \"application/xcap-el+xml\": {\n \"source\": \"iana\"\n },\n \"application/xcap-error+xml\": {\n \"source\": \"iana\"\n },\n \"application/xcap-ns+xml\": {\n \"source\": \"iana\"\n },\n \"application/xcon-conference-info+xml\": {\n \"source\": \"iana\"\n },\n \"application/xcon-conference-info-diff+xml\": {\n \"source\": \"iana\"\n },\n \"application/xenc+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"xenc\"]\n },\n \"application/xhtml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xhtml\",\"xht\"]\n },\n \"application/xhtml-voice+xml\": {\n \"source\": \"apache\"\n },\n \"application/xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xml\",\"xsl\",\"xsd\"]\n },\n \"application/xml-dtd\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"dtd\"]\n },\n \"application/xml-external-parsed-entity\": {\n \"source\": \"iana\"\n },\n \"application/xml-patch+xml\": {\n \"source\": \"iana\"\n },\n \"application/xmpp+xml\": {\n \"source\": \"iana\"\n },\n \"application/xop+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xop\"]\n },\n \"application/xproc+xml\": {\n \"source\": \"apache\",\n \"extensions\": [\"xpl\"]\n },\n \"application/xslt+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"xslt\"]\n },\n \"application/xspf+xml\": {\n \"source\": \"apache\",\n \"extensions\": [\"xspf\"]\n },\n \"application/xv+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"mxml\",\"xhvml\",\"xvml\",\"xvm\"]\n },\n \"application/yang\": {\n \"source\": \"iana\",\n \"extensions\": [\"yang\"]\n },\n \"application/yin+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"yin\"]\n },\n \"application/zip\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"zip\"]\n },\n \"application/zlib\": {\n \"source\": \"iana\"\n },\n \"audio/1d-interleaved-parityfec\": {\n \"source\": \"iana\"\n },\n \"audio/32kadpcm\": {\n \"source\": \"iana\"\n },\n \"audio/3gpp\": {\n \"source\": \"iana\"\n },\n \"audio/3gpp2\": {\n \"source\": \"iana\"\n },\n \"audio/ac3\": {\n \"source\": \"iana\"\n },\n \"audio/adpcm\": {\n \"source\": \"apache\",\n \"extensions\": [\"adp\"]\n },\n \"audio/amr\": {\n \"source\": \"iana\"\n },\n \"audio/amr-wb\": {\n \"source\": \"iana\"\n },\n \"audio/amr-wb+\": {\n \"source\": \"iana\"\n },\n \"audio/aptx\": {\n \"source\": \"iana\"\n },\n \"audio/asc\": {\n \"source\": \"iana\"\n },\n \"audio/atrac-advanced-lossless\": {\n \"source\": \"iana\"\n },\n \"audio/atrac-x\": {\n \"source\": \"iana\"\n },\n \"audio/atrac3\": {\n \"source\": \"iana\"\n },\n \"audio/basic\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"au\",\"snd\"]\n },\n \"audio/bv16\": {\n \"source\": \"iana\"\n },\n \"audio/bv32\": {\n \"source\": \"iana\"\n },\n \"audio/clearmode\": {\n \"source\": \"iana\"\n },\n \"audio/cn\": {\n \"source\": \"iana\"\n },\n \"audio/dat12\": {\n \"source\": \"iana\"\n },\n \"audio/dls\": {\n \"source\": \"iana\"\n },\n \"audio/dsr-es201108\": {\n \"source\": \"iana\"\n },\n \"audio/dsr-es202050\": {\n \"source\": \"iana\"\n },\n \"audio/dsr-es202211\": {\n \"source\": \"iana\"\n },\n \"audio/dsr-es202212\": {\n \"source\": \"iana\"\n },\n \"audio/dv\": {\n \"source\": \"iana\"\n },\n \"audio/dvi4\": {\n \"source\": \"iana\"\n },\n \"audio/eac3\": {\n \"source\": \"iana\"\n },\n \"audio/encaprtp\": {\n \"source\": \"iana\"\n },\n \"audio/evrc\": {\n \"source\": \"iana\"\n },\n \"audio/evrc-qcp\": {\n \"source\": \"iana\"\n },\n \"audio/evrc0\": {\n \"source\": \"iana\"\n },\n \"audio/evrc1\": {\n \"source\": \"iana\"\n },\n \"audio/evrcb\": {\n \"source\": \"iana\"\n },\n \"audio/evrcb0\": {\n \"source\": \"iana\"\n },\n \"audio/evrcb1\": {\n \"source\": \"iana\"\n },\n \"audio/evrcnw\": {\n \"source\": \"iana\"\n },\n \"audio/evrcnw0\": {\n \"source\": \"iana\"\n },\n \"audio/evrcnw1\": {\n \"source\": \"iana\"\n },\n \"audio/evrcwb\": {\n \"source\": \"iana\"\n },\n \"audio/evrcwb0\": {\n \"source\": \"iana\"\n },\n \"audio/evrcwb1\": {\n \"source\": \"iana\"\n },\n \"audio/evs\": {\n \"source\": \"iana\"\n },\n \"audio/fwdred\": {\n \"source\": \"iana\"\n },\n \"audio/g711-0\": {\n \"source\": \"iana\"\n },\n \"audio/g719\": {\n \"source\": \"iana\"\n },\n \"audio/g722\": {\n \"source\": \"iana\"\n },\n \"audio/g7221\": {\n \"source\": \"iana\"\n },\n \"audio/g723\": {\n \"source\": \"iana\"\n },\n \"audio/g726-16\": {\n \"source\": \"iana\"\n },\n \"audio/g726-24\": {\n \"source\": \"iana\"\n },\n \"audio/g726-32\": {\n \"source\": \"iana\"\n },\n \"audio/g726-40\": {\n \"source\": \"iana\"\n },\n \"audio/g728\": {\n \"source\": \"iana\"\n },\n \"audio/g729\": {\n \"source\": \"iana\"\n },\n \"audio/g7291\": {\n \"source\": \"iana\"\n },\n \"audio/g729d\": {\n \"source\": \"iana\"\n },\n \"audio/g729e\": {\n \"source\": \"iana\"\n },\n \"audio/gsm\": {\n \"source\": \"iana\"\n },\n \"audio/gsm-efr\": {\n \"source\": \"iana\"\n },\n \"audio/gsm-hr-08\": {\n \"source\": \"iana\"\n },\n \"audio/ilbc\": {\n \"source\": \"iana\"\n },\n \"audio/ip-mr_v2.5\": {\n \"source\": \"iana\"\n },\n \"audio/isac\": {\n \"source\": \"apache\"\n },\n \"audio/l16\": {\n \"source\": \"iana\"\n },\n \"audio/l20\": {\n \"source\": \"iana\"\n },\n \"audio/l24\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"audio/l8\": {\n \"source\": \"iana\"\n },\n \"audio/lpc\": {\n \"source\": \"iana\"\n },\n \"audio/midi\": {\n \"source\": \"apache\",\n \"extensions\": [\"mid\",\"midi\",\"kar\",\"rmi\"]\n },\n \"audio/mobile-xmf\": {\n \"source\": \"iana\"\n },\n \"audio/mp4\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"mp4a\",\"m4a\"]\n },\n \"audio/mp4a-latm\": {\n \"source\": \"iana\"\n },\n \"audio/mpa\": {\n \"source\": \"iana\"\n },\n \"audio/mpa-robust\": {\n \"source\": \"iana\"\n },\n \"audio/mpeg\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"mpga\",\"mp2\",\"mp2a\",\"mp3\",\"m2a\",\"m3a\"]\n },\n \"audio/mpeg4-generic\": {\n \"source\": \"iana\"\n },\n \"audio/musepack\": {\n \"source\": \"apache\"\n },\n \"audio/ogg\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"oga\",\"ogg\",\"spx\"]\n },\n \"audio/opus\": {\n \"source\": \"iana\"\n },\n \"audio/parityfec\": {\n \"source\": \"iana\"\n },\n \"audio/pcma\": {\n \"source\": \"iana\"\n },\n \"audio/pcma-wb\": {\n \"source\": \"iana\"\n },\n \"audio/pcmu\": {\n \"source\": \"iana\"\n },\n \"audio/pcmu-wb\": {\n \"source\": \"iana\"\n },\n \"audio/prs.sid\": {\n \"source\": \"iana\"\n },\n \"audio/qcelp\": {\n \"source\": \"iana\"\n },\n \"audio/raptorfec\": {\n \"source\": \"iana\"\n },\n \"audio/red\": {\n \"source\": \"iana\"\n },\n \"audio/rtp-enc-aescm128\": {\n \"source\": \"iana\"\n },\n \"audio/rtp-midi\": {\n \"source\": \"iana\"\n },\n \"audio/rtploopback\": {\n \"source\": \"iana\"\n },\n \"audio/rtx\": {\n \"source\": \"iana\"\n },\n \"audio/s3m\": {\n \"source\": \"apache\",\n \"extensions\": [\"s3m\"]\n },\n \"audio/silk\": {\n \"source\": \"apache\",\n \"extensions\": [\"sil\"]\n },\n \"audio/smv\": {\n \"source\": \"iana\"\n },\n \"audio/smv-qcp\": {\n \"source\": \"iana\"\n },\n \"audio/smv0\": {\n \"source\": \"iana\"\n },\n \"audio/sp-midi\": {\n \"source\": \"iana\"\n },\n \"audio/speex\": {\n \"source\": \"iana\"\n },\n \"audio/t140c\": {\n \"source\": \"iana\"\n },\n \"audio/t38\": {\n \"source\": \"iana\"\n },\n \"audio/telephone-event\": {\n \"source\": \"iana\"\n },\n \"audio/tone\": {\n \"source\": \"iana\"\n },\n \"audio/uemclip\": {\n \"source\": \"iana\"\n },\n \"audio/ulpfec\": {\n \"source\": \"iana\"\n },\n \"audio/vdvi\": {\n \"source\": \"iana\"\n },\n \"audio/vmr-wb\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.3gpp.iufp\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.4sb\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.audiokoz\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.celp\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.cisco.nse\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.cmles.radio-events\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.cns.anp1\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.cns.inf1\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dece.audio\": {\n \"source\": \"iana\",\n \"extensions\": [\"uva\",\"uvva\"]\n },\n \"audio/vnd.digital-winds\": {\n \"source\": \"iana\",\n \"extensions\": [\"eol\"]\n },\n \"audio/vnd.dlna.adts\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dolby.heaac.1\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dolby.heaac.2\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dolby.mlp\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dolby.mps\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dolby.pl2\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dolby.pl2x\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dolby.pl2z\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dolby.pulse.1\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dra\": {\n \"source\": \"iana\",\n \"extensions\": [\"dra\"]\n },\n \"audio/vnd.dts\": {\n \"source\": \"iana\",\n \"extensions\": [\"dts\"]\n },\n \"audio/vnd.dts.hd\": {\n \"source\": \"iana\",\n \"extensions\": [\"dtshd\"]\n },\n \"audio/vnd.dvb.file\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.everad.plj\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.hns.audio\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.lucent.voice\": {\n \"source\": \"iana\",\n \"extensions\": [\"lvp\"]\n },\n \"audio/vnd.ms-playready.media.pya\": {\n \"source\": \"iana\",\n \"extensions\": [\"pya\"]\n },\n \"audio/vnd.nokia.mobile-xmf\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.nortel.vbk\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.nuera.ecelp4800\": {\n \"source\": \"iana\",\n \"extensions\": [\"ecelp4800\"]\n },\n \"audio/vnd.nuera.ecelp7470\": {\n \"source\": \"iana\",\n \"extensions\": [\"ecelp7470\"]\n },\n \"audio/vnd.nuera.ecelp9600\": {\n \"source\": \"iana\",\n \"extensions\": [\"ecelp9600\"]\n },\n \"audio/vnd.octel.sbc\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.qcelp\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.rhetorex.32kadpcm\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.rip\": {\n \"source\": \"iana\",\n \"extensions\": [\"rip\"]\n },\n \"audio/vnd.rn-realaudio\": {\n \"compressible\": false\n },\n \"audio/vnd.sealedmedia.softseal.mpeg\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.vmx.cvsd\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.wave\": {\n \"compressible\": false\n },\n \"audio/vorbis\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"audio/vorbis-config\": {\n \"source\": \"iana\"\n },\n \"audio/wav\": {\n \"compressible\": false,\n \"extensions\": [\"wav\"]\n },\n \"audio/wave\": {\n \"compressible\": false,\n \"extensions\": [\"wav\"]\n },\n \"audio/webm\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"weba\"]\n },\n \"audio/x-aac\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"aac\"]\n },\n \"audio/x-aiff\": {\n \"source\": \"apache\",\n \"extensions\": [\"aif\",\"aiff\",\"aifc\"]\n },\n \"audio/x-caf\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"caf\"]\n },\n \"audio/x-flac\": {\n \"source\": \"apache\",\n \"extensions\": [\"flac\"]\n },\n \"audio/x-m4a\": {\n \"source\": \"nginx\",\n \"extensions\": [\"m4a\"]\n },\n \"audio/x-matroska\": {\n \"source\": \"apache\",\n \"extensions\": [\"mka\"]\n },\n \"audio/x-mpegurl\": {\n \"source\": \"apache\",\n \"extensions\": [\"m3u\"]\n },\n \"audio/x-ms-wax\": {\n \"source\": \"apache\",\n \"extensions\": [\"wax\"]\n },\n \"audio/x-ms-wma\": {\n \"source\": \"apache\",\n \"extensions\": [\"wma\"]\n },\n \"audio/x-pn-realaudio\": {\n \"source\": \"apache\",\n \"extensions\": [\"ram\",\"ra\"]\n },\n \"audio/x-pn-realaudio-plugin\": {\n \"source\": \"apache\",\n \"extensions\": [\"rmp\"]\n },\n \"audio/x-realaudio\": {\n \"source\": \"nginx\",\n \"extensions\": [\"ra\"]\n },\n \"audio/x-tta\": {\n \"source\": \"apache\"\n },\n \"audio/x-wav\": {\n \"source\": \"apache\",\n \"extensions\": [\"wav\"]\n },\n \"audio/xm\": {\n \"source\": \"apache\",\n \"extensions\": [\"xm\"]\n },\n \"chemical/x-cdx\": {\n \"source\": \"apache\",\n \"extensions\": [\"cdx\"]\n },\n \"chemical/x-cif\": {\n \"source\": \"apache\",\n \"extensions\": [\"cif\"]\n },\n \"chemical/x-cmdf\": {\n \"source\": \"apache\",\n \"extensions\": [\"cmdf\"]\n },\n \"chemical/x-cml\": {\n \"source\": \"apache\",\n \"extensions\": [\"cml\"]\n },\n \"chemical/x-csml\": {\n \"source\": \"apache\",\n \"extensions\": [\"csml\"]\n },\n \"chemical/x-pdb\": {\n \"source\": \"apache\"\n },\n \"chemical/x-xyz\": {\n \"source\": \"apache\",\n \"extensions\": [\"xyz\"]\n },\n \"font/opentype\": {\n \"compressible\": true,\n \"extensions\": [\"otf\"]\n },\n \"image/bmp\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"bmp\"]\n },\n \"image/cgm\": {\n \"source\": \"iana\",\n \"extensions\": [\"cgm\"]\n },\n \"image/fits\": {\n \"source\": \"iana\"\n },\n \"image/g3fax\": {\n \"source\": \"iana\",\n \"extensions\": [\"g3\"]\n },\n \"image/gif\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"gif\"]\n },\n \"image/ief\": {\n \"source\": \"iana\",\n \"extensions\": [\"ief\"]\n },\n \"image/jp2\": {\n \"source\": \"iana\"\n },\n \"image/jpeg\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"jpeg\",\"jpg\",\"jpe\"]\n },\n \"image/jpm\": {\n \"source\": \"iana\"\n },\n \"image/jpx\": {\n \"source\": \"iana\"\n },\n \"image/ktx\": {\n \"source\": \"iana\",\n \"extensions\": [\"ktx\"]\n },\n \"image/naplps\": {\n \"source\": \"iana\"\n },\n \"image/pjpeg\": {\n \"compressible\": false\n },\n \"image/png\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"png\"]\n },\n \"image/prs.btif\": {\n \"source\": \"iana\",\n \"extensions\": [\"btif\"]\n },\n \"image/prs.pti\": {\n \"source\": \"iana\"\n },\n \"image/pwg-raster\": {\n \"source\": \"iana\"\n },\n \"image/sgi\": {\n \"source\": \"apache\",\n \"extensions\": [\"sgi\"]\n },\n \"image/svg+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"svg\",\"svgz\"]\n },\n \"image/t38\": {\n \"source\": \"iana\"\n },\n \"image/tiff\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"tiff\",\"tif\"]\n },\n \"image/tiff-fx\": {\n \"source\": \"iana\"\n },\n \"image/vnd.adobe.photoshop\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"psd\"]\n },\n \"image/vnd.airzip.accelerator.azv\": {\n \"source\": \"iana\"\n },\n \"image/vnd.cns.inf2\": {\n \"source\": \"iana\"\n },\n \"image/vnd.dece.graphic\": {\n \"source\": \"iana\",\n \"extensions\": [\"uvi\",\"uvvi\",\"uvg\",\"uvvg\"]\n },\n \"image/vnd.djvu\": {\n \"source\": \"iana\",\n \"extensions\": [\"djvu\",\"djv\"]\n },\n \"image/vnd.dvb.subtitle\": {\n \"source\": \"iana\",\n \"extensions\": [\"sub\"]\n },\n \"image/vnd.dwg\": {\n \"source\": \"iana\",\n \"extensions\": [\"dwg\"]\n },\n \"image/vnd.dxf\": {\n \"source\": \"iana\",\n \"extensions\": [\"dxf\"]\n },\n \"image/vnd.fastbidsheet\": {\n \"source\": \"iana\",\n \"extensions\": [\"fbs\"]\n },\n \"image/vnd.fpx\": {\n \"source\": \"iana\",\n \"extensions\": [\"fpx\"]\n },\n \"image/vnd.fst\": {\n \"source\": \"iana\",\n \"extensions\": [\"fst\"]\n },\n \"image/vnd.fujixerox.edmics-mmr\": {\n \"source\": \"iana\",\n \"extensions\": [\"mmr\"]\n },\n \"image/vnd.fujixerox.edmics-rlc\": {\n \"source\": \"iana\",\n \"extensions\": [\"rlc\"]\n },\n \"image/vnd.globalgraphics.pgb\": {\n \"source\": \"iana\"\n },\n \"image/vnd.microsoft.icon\": {\n \"source\": \"iana\"\n },\n \"image/vnd.mix\": {\n \"source\": \"iana\"\n },\n \"image/vnd.mozilla.apng\": {\n \"source\": \"iana\"\n },\n \"image/vnd.ms-modi\": {\n \"source\": \"iana\",\n \"extensions\": [\"mdi\"]\n },\n \"image/vnd.ms-photo\": {\n \"source\": \"apache\",\n \"extensions\": [\"wdp\"]\n },\n \"image/vnd.net-fpx\": {\n \"source\": \"iana\",\n \"extensions\": [\"npx\"]\n },\n \"image/vnd.radiance\": {\n \"source\": \"iana\"\n },\n \"image/vnd.sealed.png\": {\n \"source\": \"iana\"\n },\n \"image/vnd.sealedmedia.softseal.gif\": {\n \"source\": \"iana\"\n },\n \"image/vnd.sealedmedia.softseal.jpg\": {\n \"source\": \"iana\"\n },\n \"image/vnd.svf\": {\n \"source\": \"iana\"\n },\n \"image/vnd.tencent.tap\": {\n \"source\": \"iana\"\n },\n \"image/vnd.valve.source.texture\": {\n \"source\": \"iana\"\n },\n \"image/vnd.wap.wbmp\": {\n \"source\": \"iana\",\n \"extensions\": [\"wbmp\"]\n },\n \"image/vnd.xiff\": {\n \"source\": \"iana\",\n \"extensions\": [\"xif\"]\n },\n \"image/vnd.zbrush.pcx\": {\n \"source\": \"iana\"\n },\n \"image/webp\": {\n \"source\": \"apache\",\n \"extensions\": [\"webp\"]\n },\n \"image/x-3ds\": {\n \"source\": \"apache\",\n \"extensions\": [\"3ds\"]\n },\n \"image/x-cmu-raster\": {\n \"source\": \"apache\",\n \"extensions\": [\"ras\"]\n },\n \"image/x-cmx\": {\n \"source\": \"apache\",\n \"extensions\": [\"cmx\"]\n },\n \"image/x-freehand\": {\n \"source\": \"apache\",\n \"extensions\": [\"fh\",\"fhc\",\"fh4\",\"fh5\",\"fh7\"]\n },\n \"image/x-icon\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"ico\"]\n },\n \"image/x-jng\": {\n \"source\": \"nginx\",\n \"extensions\": [\"jng\"]\n },\n \"image/x-mrsid-image\": {\n \"source\": \"apache\",\n \"extensions\": [\"sid\"]\n },\n \"image/x-ms-bmp\": {\n \"source\": \"nginx\",\n \"compressible\": true,\n \"extensions\": [\"bmp\"]\n },\n \"image/x-pcx\": {\n \"source\": \"apache\",\n \"extensions\": [\"pcx\"]\n },\n \"image/x-pict\": {\n \"source\": \"apache\",\n \"extensions\": [\"pic\",\"pct\"]\n },\n \"image/x-portable-anymap\": {\n \"source\": \"apache\",\n \"extensions\": [\"pnm\"]\n },\n \"image/x-portable-bitmap\": {\n \"source\": \"apache\",\n \"extensions\": [\"pbm\"]\n },\n \"image/x-portable-graymap\": {\n \"source\": \"apache\",\n \"extensions\": [\"pgm\"]\n },\n \"image/x-portable-pixmap\": {\n \"source\": \"apache\",\n \"extensions\": [\"ppm\"]\n },\n \"image/x-rgb\": {\n \"source\": \"apache\",\n \"extensions\": [\"rgb\"]\n },\n \"image/x-tga\": {\n \"source\": \"apache\",\n \"extensions\": [\"tga\"]\n },\n \"image/x-xbitmap\": {\n \"source\": \"apache\",\n \"extensions\": [\"xbm\"]\n },\n \"image/x-xcf\": {\n \"compressible\": false\n },\n \"image/x-xpixmap\": {\n \"source\": \"apache\",\n \"extensions\": [\"xpm\"]\n },\n \"image/x-xwindowdump\": {\n \"source\": \"apache\",\n \"extensions\": [\"xwd\"]\n },\n \"message/cpim\": {\n \"source\": \"iana\"\n },\n \"message/delivery-status\": {\n \"source\": \"iana\"\n },\n \"message/disposition-notification\": {\n \"source\": \"iana\"\n },\n \"message/external-body\": {\n \"source\": \"iana\"\n },\n \"message/feedback-report\": {\n \"source\": \"iana\"\n },\n \"message/global\": {\n \"source\": \"iana\"\n },\n \"message/global-delivery-status\": {\n \"source\": \"iana\"\n },\n \"message/global-disposition-notification\": {\n \"source\": \"iana\"\n },\n \"message/global-headers\": {\n \"source\": \"iana\"\n },\n \"message/http\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"message/imdn+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"message/news\": {\n \"source\": \"iana\"\n },\n \"message/partial\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"message/rfc822\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"eml\",\"mime\"]\n },\n \"message/s-http\": {\n \"source\": \"iana\"\n },\n \"message/sip\": {\n \"source\": \"iana\"\n },\n \"message/sipfrag\": {\n \"source\": \"iana\"\n },\n \"message/tracking-status\": {\n \"source\": \"iana\"\n },\n \"message/vnd.si.simp\": {\n \"source\": \"iana\"\n },\n \"message/vnd.wfa.wsc\": {\n \"source\": \"iana\"\n },\n \"model/iges\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"igs\",\"iges\"]\n },\n \"model/mesh\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"msh\",\"mesh\",\"silo\"]\n },\n \"model/vnd.collada+xml\": {\n \"source\": \"iana\",\n \"extensions\": [\"dae\"]\n },\n \"model/vnd.dwf\": {\n \"source\": \"iana\",\n \"extensions\": [\"dwf\"]\n },\n \"model/vnd.flatland.3dml\": {\n \"source\": \"iana\"\n },\n \"model/vnd.gdl\": {\n \"source\": \"iana\",\n \"extensions\": [\"gdl\"]\n },\n \"model/vnd.gs-gdl\": {\n \"source\": \"apache\"\n },\n \"model/vnd.gs.gdl\": {\n \"source\": \"iana\"\n },\n \"model/vnd.gtw\": {\n \"source\": \"iana\",\n \"extensions\": [\"gtw\"]\n },\n \"model/vnd.moml+xml\": {\n \"source\": \"iana\"\n },\n \"model/vnd.mts\": {\n \"source\": \"iana\",\n \"extensions\": [\"mts\"]\n },\n \"model/vnd.opengex\": {\n \"source\": \"iana\"\n },\n \"model/vnd.parasolid.transmit.binary\": {\n \"source\": \"iana\"\n },\n \"model/vnd.parasolid.transmit.text\": {\n \"source\": \"iana\"\n },\n \"model/vnd.valve.source.compiled-map\": {\n \"source\": \"iana\"\n },\n \"model/vnd.vtu\": {\n \"source\": \"iana\",\n \"extensions\": [\"vtu\"]\n },\n \"model/vrml\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"wrl\",\"vrml\"]\n },\n \"model/x3d+binary\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"x3db\",\"x3dbz\"]\n },\n \"model/x3d+fastinfoset\": {\n \"source\": \"iana\"\n },\n \"model/x3d+vrml\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"x3dv\",\"x3dvz\"]\n },\n \"model/x3d+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"x3d\",\"x3dz\"]\n },\n \"model/x3d-vrml\": {\n \"source\": \"iana\"\n },\n \"multipart/alternative\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"multipart/appledouble\": {\n \"source\": \"iana\"\n },\n \"multipart/byteranges\": {\n \"source\": \"iana\"\n },\n \"multipart/digest\": {\n \"source\": \"iana\"\n },\n \"multipart/encrypted\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"multipart/form-data\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"multipart/header-set\": {\n \"source\": \"iana\"\n },\n \"multipart/mixed\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"multipart/parallel\": {\n \"source\": \"iana\"\n },\n \"multipart/related\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"multipart/report\": {\n \"source\": \"iana\"\n },\n \"multipart/signed\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"multipart/voice-message\": {\n \"source\": \"iana\"\n },\n \"multipart/x-mixed-replace\": {\n \"source\": \"iana\"\n },\n \"text/1d-interleaved-parityfec\": {\n \"source\": \"iana\"\n },\n \"text/cache-manifest\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"appcache\",\"manifest\"]\n },\n \"text/calendar\": {\n \"source\": \"iana\",\n \"extensions\": [\"ics\",\"ifb\"]\n },\n \"text/calender\": {\n \"compressible\": true\n },\n \"text/cmd\": {\n \"compressible\": true\n },\n \"text/coffeescript\": {\n \"extensions\": [\"coffee\",\"litcoffee\"]\n },\n \"text/css\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"css\"]\n },\n \"text/csv\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"csv\"]\n },\n \"text/csv-schema\": {\n \"source\": \"iana\"\n },\n \"text/directory\": {\n \"source\": \"iana\"\n },\n \"text/dns\": {\n \"source\": \"iana\"\n },\n \"text/ecmascript\": {\n \"source\": \"iana\"\n },\n \"text/encaprtp\": {\n \"source\": \"iana\"\n },\n \"text/enriched\": {\n \"source\": \"iana\"\n },\n \"text/fwdred\": {\n \"source\": \"iana\"\n },\n \"text/grammar-ref-list\": {\n \"source\": \"iana\"\n },\n \"text/hjson\": {\n \"extensions\": [\"hjson\"]\n },\n \"text/html\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"html\",\"htm\",\"shtml\"]\n },\n \"text/jade\": {\n \"extensions\": [\"jade\"]\n },\n \"text/javascript\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"text/jcr-cnd\": {\n \"source\": \"iana\"\n },\n \"text/jsx\": {\n \"compressible\": true,\n \"extensions\": [\"jsx\"]\n },\n \"text/less\": {\n \"extensions\": [\"less\"]\n },\n \"text/markdown\": {\n \"source\": \"iana\"\n },\n \"text/mathml\": {\n \"source\": \"nginx\",\n \"extensions\": [\"mml\"]\n },\n \"text/mizar\": {\n \"source\": \"iana\"\n },\n \"text/n3\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"n3\"]\n },\n \"text/parameters\": {\n \"source\": \"iana\"\n },\n \"text/parityfec\": {\n \"source\": \"iana\"\n },\n \"text/plain\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"txt\",\"text\",\"conf\",\"def\",\"list\",\"log\",\"in\",\"ini\"]\n },\n \"text/provenance-notation\": {\n \"source\": \"iana\"\n },\n \"text/prs.fallenstein.rst\": {\n \"source\": \"iana\"\n },\n \"text/prs.lines.tag\": {\n \"source\": \"iana\",\n \"extensions\": [\"dsc\"]\n },\n \"text/raptorfec\": {\n \"source\": \"iana\"\n },\n \"text/red\": {\n \"source\": \"iana\"\n },\n \"text/rfc822-headers\": {\n \"source\": \"iana\"\n },\n \"text/richtext\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rtx\"]\n },\n \"text/rtf\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rtf\"]\n },\n \"text/rtp-enc-aescm128\": {\n \"source\": \"iana\"\n },\n \"text/rtploopback\": {\n \"source\": \"iana\"\n },\n \"text/rtx\": {\n \"source\": \"iana\"\n },\n \"text/sgml\": {\n \"source\": \"iana\",\n \"extensions\": [\"sgml\",\"sgm\"]\n },\n \"text/stylus\": {\n \"extensions\": [\"stylus\",\"styl\"]\n },\n \"text/t140\": {\n \"source\": \"iana\"\n },\n \"text/tab-separated-values\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"tsv\"]\n },\n \"text/troff\": {\n \"source\": \"iana\",\n \"extensions\": [\"t\",\"tr\",\"roff\",\"man\",\"me\",\"ms\"]\n },\n \"text/turtle\": {\n \"source\": \"iana\",\n \"extensions\": [\"ttl\"]\n },\n \"text/ulpfec\": {\n \"source\": \"iana\"\n },\n \"text/uri-list\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"uri\",\"uris\",\"urls\"]\n },\n \"text/vcard\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"vcard\"]\n },\n \"text/vnd.a\": {\n \"source\": \"iana\"\n },\n \"text/vnd.abc\": {\n \"source\": \"iana\"\n },\n \"text/vnd.curl\": {\n \"source\": \"iana\",\n \"extensions\": [\"curl\"]\n },\n \"text/vnd.curl.dcurl\": {\n \"source\": \"apache\",\n \"extensions\": [\"dcurl\"]\n },\n \"text/vnd.curl.mcurl\": {\n \"source\": \"apache\",\n \"extensions\": [\"mcurl\"]\n },\n \"text/vnd.curl.scurl\": {\n \"source\": \"apache\",\n \"extensions\": [\"scurl\"]\n },\n \"text/vnd.debian.copyright\": {\n \"source\": \"iana\"\n },\n \"text/vnd.dmclientscript\": {\n \"source\": \"iana\"\n },\n \"text/vnd.dvb.subtitle\": {\n \"source\": \"iana\",\n \"extensions\": [\"sub\"]\n },\n \"text/vnd.esmertec.theme-descriptor\": {\n \"source\": \"iana\"\n },\n \"text/vnd.fly\": {\n \"source\": \"iana\",\n \"extensions\": [\"fly\"]\n },\n \"text/vnd.fmi.flexstor\": {\n \"source\": \"iana\",\n \"extensions\": [\"flx\"]\n },\n \"text/vnd.graphviz\": {\n \"source\": \"iana\",\n \"extensions\": [\"gv\"]\n },\n \"text/vnd.in3d.3dml\": {\n \"source\": \"iana\",\n \"extensions\": [\"3dml\"]\n },\n \"text/vnd.in3d.spot\": {\n \"source\": \"iana\",\n \"extensions\": [\"spot\"]\n },\n \"text/vnd.iptc.newsml\": {\n \"source\": \"iana\"\n },\n \"text/vnd.iptc.nitf\": {\n \"source\": \"iana\"\n },\n \"text/vnd.latex-z\": {\n \"source\": \"iana\"\n },\n \"text/vnd.motorola.reflex\": {\n \"source\": \"iana\"\n },\n \"text/vnd.ms-mediapackage\": {\n \"source\": \"iana\"\n },\n \"text/vnd.net2phone.commcenter.command\": {\n \"source\": \"iana\"\n },\n \"text/vnd.radisys.msml-basic-layout\": {\n \"source\": \"iana\"\n },\n \"text/vnd.si.uricatalogue\": {\n \"source\": \"iana\"\n },\n \"text/vnd.sun.j2me.app-descriptor\": {\n \"source\": \"iana\",\n \"extensions\": [\"jad\"]\n },\n \"text/vnd.trolltech.linguist\": {\n \"source\": \"iana\"\n },\n \"text/vnd.wap.si\": {\n \"source\": \"iana\"\n },\n \"text/vnd.wap.sl\": {\n \"source\": \"iana\"\n },\n \"text/vnd.wap.wml\": {\n \"source\": \"iana\",\n \"extensions\": [\"wml\"]\n },\n \"text/vnd.wap.wmlscript\": {\n \"source\": \"iana\",\n \"extensions\": [\"wmls\"]\n },\n \"text/vtt\": {\n \"charset\": \"UTF-8\",\n \"compressible\": true,\n \"extensions\": [\"vtt\"]\n },\n \"text/x-asm\": {\n \"source\": \"apache\",\n \"extensions\": [\"s\",\"asm\"]\n },\n \"text/x-c\": {\n \"source\": \"apache\",\n \"extensions\": [\"c\",\"cc\",\"cxx\",\"cpp\",\"h\",\"hh\",\"dic\"]\n },\n \"text/x-component\": {\n \"source\": \"nginx\",\n \"extensions\": [\"htc\"]\n },\n \"text/x-fortran\": {\n \"source\": \"apache\",\n \"extensions\": [\"f\",\"for\",\"f77\",\"f90\"]\n },\n \"text/x-gwt-rpc\": {\n \"compressible\": true\n },\n \"text/x-handlebars-template\": {\n \"extensions\": [\"hbs\"]\n },\n \"text/x-java-source\": {\n \"source\": \"apache\",\n \"extensions\": [\"java\"]\n },\n \"text/x-jquery-tmpl\": {\n \"compressible\": true\n },\n \"text/x-lua\": {\n \"extensions\": [\"lua\"]\n },\n \"text/x-markdown\": {\n \"compressible\": true,\n \"extensions\": [\"markdown\",\"md\",\"mkd\"]\n },\n \"text/x-nfo\": {\n \"source\": \"apache\",\n \"extensions\": [\"nfo\"]\n },\n \"text/x-opml\": {\n \"source\": \"apache\",\n \"extensions\": [\"opml\"]\n },\n \"text/x-pascal\": {\n \"source\": \"apache\",\n \"extensions\": [\"p\",\"pas\"]\n },\n \"text/x-processing\": {\n \"compressible\": true,\n \"extensions\": [\"pde\"]\n },\n \"text/x-sass\": {\n \"extensions\": [\"sass\"]\n },\n \"text/x-scss\": {\n \"extensions\": [\"scss\"]\n },\n \"text/x-setext\": {\n \"source\": \"apache\",\n \"extensions\": [\"etx\"]\n },\n \"text/x-sfv\": {\n \"source\": \"apache\",\n \"extensions\": [\"sfv\"]\n },\n \"text/x-suse-ymp\": {\n \"compressible\": true,\n \"extensions\": [\"ymp\"]\n },\n \"text/x-uuencode\": {\n \"source\": \"apache\",\n \"extensions\": [\"uu\"]\n },\n \"text/x-vcalendar\": {\n \"source\": \"apache\",\n \"extensions\": [\"vcs\"]\n },\n \"text/x-vcard\": {\n \"source\": \"apache\",\n \"extensions\": [\"vcf\"]\n },\n \"text/xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xml\"]\n },\n \"text/xml-external-parsed-entity\": {\n \"source\": \"iana\"\n },\n \"text/yaml\": {\n \"extensions\": [\"yaml\",\"yml\"]\n },\n \"video/1d-interleaved-parityfec\": {\n \"source\": \"apache\"\n },\n \"video/3gpp\": {\n \"source\": \"apache\",\n \"extensions\": [\"3gp\",\"3gpp\"]\n },\n \"video/3gpp-tt\": {\n \"source\": \"apache\"\n },\n \"video/3gpp2\": {\n \"source\": \"apache\",\n \"extensions\": [\"3g2\"]\n },\n \"video/bmpeg\": {\n \"source\": \"apache\"\n },\n \"video/bt656\": {\n \"source\": \"apache\"\n },\n \"video/celb\": {\n \"source\": \"apache\"\n },\n \"video/dv\": {\n \"source\": \"apache\"\n },\n \"video/h261\": {\n \"source\": \"apache\",\n \"extensions\": [\"h261\"]\n },\n \"video/h263\": {\n \"source\": \"apache\",\n \"extensions\": [\"h263\"]\n },\n \"video/h263-1998\": {\n \"source\": \"apache\"\n },\n \"video/h263-2000\": {\n \"source\": \"apache\"\n },\n \"video/h264\": {\n \"source\": \"apache\",\n \"extensions\": [\"h264\"]\n },\n \"video/h264-rcdo\": {\n \"source\": \"apache\"\n },\n \"video/h264-svc\": {\n \"source\": \"apache\"\n },\n \"video/jpeg\": {\n \"source\": \"apache\",\n \"extensions\": [\"jpgv\"]\n },\n \"video/jpeg2000\": {\n \"source\": \"apache\"\n },\n \"video/jpm\": {\n \"source\": \"apache\",\n \"extensions\": [\"jpm\",\"jpgm\"]\n },\n \"video/mj2\": {\n \"source\": \"apache\",\n \"extensions\": [\"mj2\",\"mjp2\"]\n },\n \"video/mp1s\": {\n \"source\": \"apache\"\n },\n \"video/mp2p\": {\n \"source\": \"apache\"\n },\n \"video/mp2t\": {\n \"source\": \"apache\",\n \"extensions\": [\"ts\"]\n },\n \"video/mp4\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"mp4\",\"mp4v\",\"mpg4\"]\n },\n \"video/mp4v-es\": {\n \"source\": \"apache\"\n },\n \"video/mpeg\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"mpeg\",\"mpg\",\"mpe\",\"m1v\",\"m2v\"]\n },\n \"video/mpeg4-generic\": {\n \"source\": \"apache\"\n },\n \"video/mpv\": {\n \"source\": \"apache\"\n },\n \"video/nv\": {\n \"source\": \"apache\"\n },\n \"video/ogg\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"ogv\"]\n },\n \"video/parityfec\": {\n \"source\": \"apache\"\n },\n \"video/pointer\": {\n \"source\": \"apache\"\n },\n \"video/quicktime\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"qt\",\"mov\"]\n },\n \"video/raw\": {\n \"source\": \"apache\"\n },\n \"video/rtp-enc-aescm128\": {\n \"source\": \"apache\"\n },\n \"video/rtx\": {\n \"source\": \"apache\"\n },\n \"video/smpte292m\": {\n \"source\": \"apache\"\n },\n \"video/ulpfec\": {\n \"source\": \"apache\"\n },\n \"video/vc1\": {\n \"source\": \"apache\"\n },\n \"video/vnd.cctv\": {\n \"source\": \"apache\"\n },\n \"video/vnd.dece.hd\": {\n \"source\": \"apache\",\n \"extensions\": [\"uvh\",\"uvvh\"]\n },\n \"video/vnd.dece.mobile\": {\n \"source\": \"apache\",\n \"extensions\": [\"uvm\",\"uvvm\"]\n },\n \"video/vnd.dece.mp4\": {\n \"source\": \"apache\"\n },\n \"video/vnd.dece.pd\": {\n \"source\": \"apache\",\n \"extensions\": [\"uvp\",\"uvvp\"]\n },\n \"video/vnd.dece.sd\": {\n \"source\": \"apache\",\n \"extensions\": [\"uvs\",\"uvvs\"]\n },\n \"video/vnd.dece.video\": {\n \"source\": \"apache\",\n \"extensions\": [\"uvv\",\"uvvv\"]\n },\n \"video/vnd.directv.mpeg\": {\n \"source\": \"apache\"\n },\n \"video/vnd.directv.mpeg-tts\": {\n \"source\": \"apache\"\n },\n \"video/vnd.dlna.mpeg-tts\": {\n \"source\": \"apache\"\n },\n \"video/vnd.dvb.file\": {\n \"source\": \"apache\",\n \"extensions\": [\"dvb\"]\n },\n \"video/vnd.fvt\": {\n \"source\": \"apache\",\n \"extensions\": [\"fvt\"]\n },\n \"video/vnd.hns.video\": {\n \"source\": \"apache\"\n },\n \"video/vnd.iptvforum.1dparityfec-1010\": {\n \"source\": \"apache\"\n },\n \"video/vnd.iptvforum.1dparityfec-2005\": {\n \"source\": \"apache\"\n },\n \"video/vnd.iptvforum.2dparityfec-1010\": {\n \"source\": \"apache\"\n },\n \"video/vnd.iptvforum.2dparityfec-2005\": {\n \"source\": \"apache\"\n },\n \"video/vnd.iptvforum.ttsavc\": {\n \"source\": \"apache\"\n },\n \"video/vnd.iptvforum.ttsmpeg2\": {\n \"source\": \"apache\"\n },\n \"video/vnd.motorola.video\": {\n \"source\": \"apache\"\n },\n \"video/vnd.motorola.videop\": {\n \"source\": \"apache\"\n },\n \"video/vnd.mpegurl\": {\n \"source\": \"apache\",\n \"extensions\": [\"mxu\",\"m4u\"]\n },\n \"video/vnd.ms-playready.media.pyv\": {\n \"source\": \"apache\",\n \"extensions\": [\"pyv\"]\n },\n \"video/vnd.nokia.interleaved-multimedia\": {\n \"source\": \"apache\"\n },\n \"video/vnd.nokia.videovoip\": {\n \"source\": \"apache\"\n },\n \"video/vnd.objectvideo\": {\n \"source\": \"apache\"\n },\n \"video/vnd.sealed.mpeg1\": {\n \"source\": \"apache\"\n },\n \"video/vnd.sealed.mpeg4\": {\n \"source\": \"apache\"\n },\n \"video/vnd.sealed.swf\": {\n \"source\": \"apache\"\n },\n \"video/vnd.sealedmedia.softseal.mov\": {\n \"source\": \"apache\"\n },\n \"video/vnd.uvvu.mp4\": {\n \"source\": \"apache\",\n \"extensions\": [\"uvu\",\"uvvu\"]\n },\n \"video/vnd.vivo\": {\n \"source\": \"apache\",\n \"extensions\": [\"viv\"]\n },\n \"video/webm\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"webm\"]\n },\n \"video/x-f4v\": {\n \"source\": \"apache\",\n \"extensions\": [\"f4v\"]\n },\n \"video/x-fli\": {\n \"source\": \"apache\",\n \"extensions\": [\"fli\"]\n },\n \"video/x-flv\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"flv\"]\n },\n \"video/x-m4v\": {\n \"source\": \"apache\",\n \"extensions\": [\"m4v\"]\n },\n \"video/x-matroska\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"mkv\",\"mk3d\",\"mks\"]\n },\n \"video/x-mng\": {\n \"source\": \"apache\",\n \"extensions\": [\"mng\"]\n },\n \"video/x-ms-asf\": {\n \"source\": \"apache\",\n \"extensions\": [\"asf\",\"asx\"]\n },\n \"video/x-ms-vob\": {\n \"source\": \"apache\",\n \"extensions\": [\"vob\"]\n },\n \"video/x-ms-wm\": {\n \"source\": \"apache\",\n \"extensions\": [\"wm\"]\n },\n \"video/x-ms-wmv\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"wmv\"]\n },\n \"video/x-ms-wmx\": {\n \"source\": \"apache\",\n \"extensions\": [\"wmx\"]\n },\n \"video/x-ms-wvx\": {\n \"source\": \"apache\",\n \"extensions\": [\"wvx\"]\n },\n \"video/x-msvideo\": {\n \"source\": \"apache\",\n \"extensions\": [\"avi\"]\n },\n \"video/x-sgi-movie\": {\n \"source\": \"apache\",\n \"extensions\": [\"movie\"]\n },\n \"video/x-smv\": {\n \"source\": \"apache\",\n \"extensions\": [\"smv\"]\n },\n \"x-conference/x-cooltalk\": {\n \"source\": \"apache\",\n \"extensions\": [\"ice\"]\n },\n \"x-shader/x-fragment\": {\n \"compressible\": true\n },\n \"x-shader/x-vertex\": {\n \"compressible\": true\n }\n}","var system = {};\nmodule['exports'] = system;\nsystem.directoryPaths = require(\"./directoryPaths\");\nsystem.mimeTypes = require(\"./mimeTypes\");\n","module[\"exports\"] = [\n \"Aston Martin\",\n \"Audi\",\n \"Bentley\",\n \"BMW\",\n \"Bugatti\",\n \"Cadillac\",\n \"Chevrolet\",\n \"Chrysler\",\n \"Dodge\",\n \"Ferrari\",\n \"Fiat\",\n \"Ford\",\n \"Honda\",\n \"Hyundai\",\n \"Jaguar\",\n \"Jeep\",\n \"Kia\",\n \"Lamborghini\",\n \"Land Rover\",\n \"Maserati\",\n \"Mazda\",\n \"Mercedes Benz\",\n \"Mini\",\n \"Nissan\",\n \"Polestar\",\n \"Porsche\",\n \"Rolls Royce\",\n \"Smart\",\n \"Tesla\",\n \"Toyota\",\n \"Volkswagen\",\n \"Volvo\"\n];\n","module[\"exports\"] = [\n \"Fiesta\",\n \"Focus\",\n \"Taurus\",\n \"Mustang\",\n \"Explorer\",\n \"Expedition\",\n \"F-150\",\n \"Model T\",\n \"Ranchero\",\n \"Volt\",\n \"Cruze\",\n \"Malibu\",\n \"Impala\",\n \"Camaro\",\n \"Corvette\",\n \"Colorado\",\n \"Silverado\",\n \"El Camino\",\n \"CTS\",\n \"XTS\",\n \"ATS\",\n \"Escalade\",\n \"Alpine\",\n \"Charger\",\n \"LeBaron\",\n \"PT Cruiser\",\n \"Challenger\",\n \"Durango\",\n \"Grand Caravan\",\n \"Wrangler\",\n \"Grand Cherokee\",\n \"Roadster\",\n \"Model S\",\n \"Model 3\",\n \"Camry\",\n \"Prius\",\n \"Land Cruiser\",\n \"Accord\",\n \"Civic\",\n \"Element\",\n \"Sentra\",\n \"Altima\",\n \"A8\",\n \"A4\",\n \"Beetle\",\n \"Jetta\",\n \"Golf\",\n \"911\",\n \"Spyder\",\n \"Countach\",\n \"Mercielago\",\n \"Aventador\",\n \"1\",\n \"2\",\n \"Fortwo\",\n \"V90\",\n \"XC90\",\n \"CX-9\",\n];\n","module[\"exports\"] = [\n \"Cargo Van\",\n \"Convertible\",\n \"Coupe\",\n \"Crew Cab Pickup\",\n \"Extended Cab Pickup\",\n \"Hatchback\",\n \"Minivan\",\n \"Passenger Van\",\n \"SUV\",\n \"Sedan\",\n \"Wagon\"\n];\n","module[\"exports\"] = [\n \"Diesel\",\n \"Electric\",\n \"Gasoline\",\n \"Hybrid\"\n];\n","var vehicle = {};\nmodule[\"exports\"] = vehicle;\nvehicle.manufacturer = require(\"./manufacturer\");\nvehicle.model = require(\"./model\");\nvehicle.type = require(\"./vehicle_type\");\nvehicle.fuel = require(\"./fuel\");\n","module[\"exports\"] = [\n \"Rock\",\n \"Metal\",\n \"Pop\",\n \"Electronic\",\n \"Folk\",\n \"World\",\n \"Country\",\n \"Jazz\",\n \"Funk\",\n \"Soul\",\n \"Hip Hop\",\n \"Classical\",\n \"Latin\",\n \"Reggae\",\n \"Stage And Screen\",\n \"Blues\",\n \"Non Music\",\n \"Rap\"\n];\n","var music = {};\nmodule['exports'] = music;\nmusic.genre = require(\"./genre\");\n","var en = {};\nmodule['exports'] = en;\nen.title = \"English\";\nen.separator = \" & \";\nen.address = require(\"./address\");\nen.company = require(\"./company\");\nen.internet = require(\"./internet\");\nen.database = require(\"./database\");\nen.lorem = require(\"./lorem\");\nen.name = require(\"./name\");\nen.phone_number = require(\"./phone_number\");\nen.cell_phone = require(\"./cell_phone\");\nen.business = require(\"./business\");\nen.commerce = require(\"./commerce\");\nen.team = require(\"./team\");\nen.hacker = require(\"./hacker\");\nen.app = require(\"./app\");\nen.finance = require(\"./finance\");\nen.date = require(\"./date\");\nen.system = require(\"./system\");\nen.vehicle = require(\"./vehicle\");\nen.music = require(\"./music\");\n","var Faker = require('../lib');\nvar faker = new Faker({ locale: 'en_US', localeFallback: 'en' });\nfaker.locales['en_US'] = require('../lib/locales/en_US');\nfaker.locales['en'] = require('../lib/locales/en');\nmodule['exports'] = faker;\n","import { name, internet } from 'faker/locale/en_US';\n\nimport { Db } from './types';\n\nexport const generateSales = (_: Db) => {\n const randomSales = Array.from(Array(10).keys()).map(id => {\n const first_name = name.firstName();\n const last_name = name.lastName();\n const email = internet.email(first_name, last_name);\n\n return {\n id: id + 1,\n first_name,\n last_name,\n email,\n };\n });\n return [\n {\n id: 0,\n first_name: 'Jane',\n last_name: 'Doe',\n email: 'janedoe@atomic.dev',\n },\n ...randomSales,\n ];\n};\n","import { Db } from './types';\n\n// --champagne-pink: #eddcd2ff;\n// --linen: #fff1e6ff;\n// --pale-pink: #fde2e4ff;\n// --mimi-pink: #fad2e1ff;\n// --powder-blue: #c5deddff;\n// --mint-cream: #dbe7e4ff;\n// --isabelline: #f0efebff;\n// --alice-blue: #d6e2e9ff;\n// --beau-blue: #bcd4e6ff;\n// --pale-cerulean: #99c1deff;\n\nconst tags = [\n { id: 0, name: 'football-fan', color: '#eddcd2' },\n { id: 1, name: 'holiday-card', color: '#fff1e6' },\n { id: 2, name: 'influencer', color: '#fde2e4' },\n { id: 3, name: 'manager', color: '#fad2e1' },\n { id: 4, name: 'musician', color: '#c5dedd' },\n { id: 5, name: 'vip', color: '#dbe7e4' },\n];\n\nexport const generateTags = (_: Db) => {\n return [...tags];\n};\n","var Faker = require('../lib');\nvar faker = new Faker({ locale: 'en', localeFallback: 'en' });\nfaker.locales['en'] = require('../lib/locales/en');\nfaker.locales['en'] = require('../lib/locales/en');\nmodule['exports'] = faker;\n","import faker from 'faker/locale/en';\n\nexport const weightedArrayElement = (values: any[], weights: any) =>\n faker.random.arrayElement(\n values.reduce(\n (acc, value, index) =>\n acc.concat(new Array(weights[index]).fill(value)),\n []\n )\n );\n\nexport const weightedBoolean = (likelyhood: number) =>\n faker.random.number(99) < likelyhood;\n\nexport const randomDate = (minDate?: Date, maxDate?: Date) => {\n const minTs =\n minDate instanceof Date\n ? minDate.getTime()\n : Date.now() - 5 * 365 * 24 * 60 * 60 * 1000; // 5 years\n const maxTs = maxDate instanceof Date ? maxDate.getTime() : Date.now();\n const range = maxTs - minTs;\n const randomRange = faker.random.number({ max: range });\n // move it more towards today to account for traffic increase\n const ts = Math.sqrt(randomRange / range) * range;\n return new Date(minTs + ts);\n};\n\nexport const randomFloat = (min: number, max: number) =>\n parseFloat(faker.random.number({ min, max, precision: 0.01 }).toFixed(2));\n","import { company, internet, address, phone, random } from 'faker/locale/en_US';\nimport { randomDate } from './utils';\n\nimport { Db } from './types';\nimport { Company } from '../types';\n\nconst sectors = [\n 'Communication Services',\n 'Consumer Discretionary',\n 'Consumer Staples',\n 'Energy',\n 'Financials',\n 'Health Care',\n 'Industrials',\n 'Information Technology',\n 'Materials',\n 'Real Estate',\n 'Utilities',\n];\n\nconst sizes = [1, 10, 50, 250, 500];\n\nconst regex = /\\W+/;\n\nexport const generateCompanies = (db: Db): Company[] => {\n return Array.from(Array(55).keys()).map(id => {\n const name = company.companyName();\n return {\n id,\n name: name,\n logo: `./logos/${id}.png`,\n sector: random.arrayElement(sectors),\n size: random.arrayElement(sizes) as 1 | 10 | 50 | 250 | 500,\n linkedIn: `https://www.linkedin.com/company/${name\n .toLowerCase()\n .replace(regex, '_')}`,\n website: internet.url(),\n phone_number: phone.phoneNumber(),\n address: address.streetAddress(),\n zipcode: address.zipCode(),\n city: address.city(),\n stateAbbr: address.stateAbbr(),\n nb_contacts: 0,\n nb_deals: 0,\n // at least 1/3rd of companies for Jane Doe\n sales_id:\n random.number(2) === 0 ? 0 : random.arrayElement(db.sales).id,\n created_at: randomDate().toISOString(),\n };\n });\n};\n","import {\n name,\n internet,\n random,\n company as fakerCompany,\n phone,\n lorem,\n} from 'faker/locale/en_US';\n\nimport { randomDate, weightedBoolean } from './utils';\nimport { Db } from './types';\nimport { Contact } from '../types';\n\nconst genders = ['male', 'female', 'nonbinary'];\nconst status = ['cold', 'cold', 'cold', 'warm', 'warm', 'hot', 'in-contract'];\nconst maxContacts = {\n 1: 1,\n 10: 4,\n 50: 12,\n 250: 25,\n 500: 50,\n};\n\nexport const generateContacts = (db: Db): Contact[] => {\n const nbAvailblePictures = 223;\n let numberOfContacts = 0;\n\n return Array.from(Array(500).keys()).map(id => {\n const has_avatar =\n weightedBoolean(25) && numberOfContacts < nbAvailblePictures;\n const gender = random.arrayElement(genders);\n const first_name = name.firstName(gender as any);\n const last_name = name.lastName();\n const email = internet.email(first_name, last_name);\n const avatar = has_avatar\n ? 'https://marmelab.com/posters/avatar-' +\n (223 - numberOfContacts) +\n '.jpeg'\n : undefined;\n const title = fakerCompany.bsAdjective();\n\n if (has_avatar) {\n numberOfContacts++;\n }\n\n // choose company with people left to know\n let company;\n do {\n company = random.arrayElement(db.companies);\n } while (company.nb_contacts >= maxContacts[company.size]);\n company.nb_contacts++;\n\n const first_seen = randomDate(\n new Date(company.created_at)\n ).toISOString();\n const last_seen = first_seen;\n\n return {\n id,\n first_name,\n last_name,\n gender,\n title: title.charAt(0).toUpperCase() + title.substr(1),\n company_id: company.id,\n email,\n phone_number1: phone.phoneNumber(),\n phone_number2: phone.phoneNumber(),\n background: lorem.sentence(),\n acquisition: random.arrayElement(['inbound', 'outbound']),\n avatar,\n first_seen: first_seen,\n last_seen: last_seen,\n has_newsletter: weightedBoolean(30),\n status: random.arrayElement(status),\n tags: random\n .arrayElements(db.tags, random.arrayElement([0, 0, 0, 1, 1, 2]))\n .map(tag => tag.id), // finalize\n sales_id: company.sales_id,\n nb_notes: 0,\n nb_tasks: 0,\n };\n });\n};\n","import { random, lorem } from 'faker/locale/en_US';\n\nimport { Db } from './types';\nimport { ContactNote } from '../types';\nimport { randomDate } from './utils';\n\nconst type = ['Email', 'Call', 'Call', 'Call', 'Call', 'Meeting', 'Reminder'];\nconst status = ['cold', 'cold', 'cold', 'warm', 'warm', 'hot', 'in-contract'];\n\nexport const generateContactNotes = (db: Db): ContactNote[] => {\n return Array.from(Array(1200).keys()).map(id => {\n const contact = random.arrayElement(db.contacts);\n const date = randomDate(new Date(contact.first_seen)).toISOString();\n contact.nb_notes++;\n contact.last_seen = date > contact.last_seen ? date : contact.last_seen;\n return {\n id,\n contact_id: contact.id,\n type: random.arrayElement(type),\n text: lorem.paragraphs(random.number({ min: 1, max: 4 })),\n date,\n sales_id: contact.sales_id,\n status: random.arrayElement(status),\n };\n });\n};\n","import { random, lorem } from 'faker/locale/en_US';\n\nimport { Db } from './types';\nimport { randomDate } from './utils';\n\nexport const type = [\n 'Email',\n 'Email',\n 'Email',\n 'Email',\n 'Email',\n 'Email',\n 'Call',\n 'Call',\n 'Call',\n 'Call',\n 'Call',\n 'Call',\n 'Call',\n 'Call',\n 'Call',\n 'Call',\n 'Call',\n 'Demo',\n 'Lunch',\n 'Meeting',\n 'Follow-up',\n 'Follow-up',\n 'Thank you',\n 'Ship',\n 'None',\n];\n\nexport const generateTasks = (db: Db) => {\n return Array.from(Array(400).keys()).map(id => {\n const contact = random.arrayElement(db.contacts);\n contact.nb_tasks++;\n return {\n id,\n contact_id: contact.id,\n type: random.arrayElement(type),\n text: lorem.sentence(),\n due_date: randomDate(\n random.boolean() ? new Date() : new Date(contact.first_seen),\n new Date(Date.now() + 100 * 24 * 60 * 60 * 1000)\n ).toISOString(),\n done_date: undefined,\n };\n });\n};\n","import { random, lorem } from 'faker/locale/en_US';\nimport { add } from 'date-fns';\n\nimport { Db } from './types';\nimport { Deal } from '../types';\nimport { randomDate } from './utils';\n\nconst type = [\n 'Other',\n 'Copywriting',\n 'Print project',\n 'UI Design',\n 'Website design',\n];\nconst stages = [\n 'opportunity',\n 'proposal-sent',\n 'in-negociation',\n 'won',\n 'lost',\n 'delayed',\n];\n//const tags = [\"new deal\", \"upsell\", \"SAV\"];\n\nexport const generateDeals = (db: Db): Deal[] => {\n const deals = Array.from(Array(50).keys()).map(id => {\n const company = random.arrayElement(db.companies);\n company.nb_deals++;\n const contacts = random.arrayElements(\n db.contacts.filter(contact => contact.company_id === company.id),\n random.number({ min: 1, max: 3 })\n );\n const lowercaseName = lorem.words();\n const created_at = randomDate(\n new Date(company.created_at)\n ).toISOString();\n return {\n id,\n name: lowercaseName[0].toUpperCase() + lowercaseName.slice(1),\n company_id: company.id,\n contact_ids: contacts.map(contact => contact.id),\n type: random.arrayElement(type),\n stage: random.arrayElement(stages),\n description: lorem.paragraphs(random.number({ min: 1, max: 4 })),\n amount: random.number(1000) * 100,\n created_at: created_at,\n updated_at: randomDate(new Date(created_at)).toISOString(),\n start_at: randomDate(\n new Date(),\n add(new Date(), { months: 6 })\n ).toISOString(),\n sales_id: company.sales_id,\n index: 0,\n nb_notes: 0,\n };\n });\n // compute index based on stage\n stages.forEach(stage => {\n deals\n .filter(deal => deal.stage === stage)\n .forEach((deal, index) => {\n deals[deal.id].index = index;\n });\n });\n return deals;\n};\n","import { random, lorem } from 'faker/locale/en_US';\n\nimport { Db } from './types';\nimport { randomDate } from './utils';\n\nconst type = ['Email', 'Call', 'Call', 'Call', 'Call', 'Meeting', 'Reminder'];\n\nexport const generateDealNotes = (db: Db) => {\n return Array.from(Array(300).keys()).map(id => {\n const deal = random.arrayElement(db.deals);\n deal.nb_notes++;\n return {\n id,\n deal_id: deal.id,\n type: random.arrayElement(type),\n text: lorem.paragraphs(random.number({ min: 1, max: 4 })),\n date: randomDate(\n new Date(db.companies[deal.company_id as number].created_at)\n ).toISOString(),\n sales_id: deal.sales_id,\n };\n });\n};\n","import { Db } from './types';\n\nexport const finalize = (db: Db) => {\n // set contact status according to the latest note\n db.contactNotes\n .sort((a, b) => new Date(a.date).valueOf() - new Date(b.date).valueOf())\n .forEach(note => {\n db.contacts[note.contact_id as number].status = note.status;\n });\n};\n","/* eslint-disable import/no-anonymous-default-export */\nimport { generateSales } from './sales';\nimport { generateTags } from './tags';\nimport { generateCompanies } from './companies';\nimport { generateContacts } from './contacts';\nimport { generateContactNotes } from './contactNotes';\nimport { generateTasks } from './tasks';\nimport { generateDeals } from './deals';\nimport { generateDealNotes } from './dealNotes';\nimport { finalize } from './finalize';\nimport { Db } from './types';\n\nexport default (): Db => {\n const db = {} as Db;\n db.sales = generateSales(db);\n db.tags = generateTags(db);\n db.companies = generateCompanies(db);\n db.contacts = generateContacts(db);\n db.contactNotes = generateContactNotes(db);\n db.deals = generateDeals(db);\n db.dealNotes = generateDealNotes(db);\n db.tasks = generateTasks(db);\n finalize(db);\n\n return db;\n};\n","import fakeRestDataProvider from 'ra-data-fakerest';\nimport { withLifecycleCallbacks } from 'react-admin';\n\nimport generateData from './dataGenerator';\n\nconst baseDataProvider = fakeRestDataProvider(generateData(), true, 300);\n\nconst TASK_MARKED_AS_DONE = 'TASK_MARKED_AS_DONE';\nconst TASK_MARKED_AS_UNDONE = 'TASK_MARKED_AS_UNDONE';\nconst TASK_DONE_NOT_CHANGED = 'TASK_DONE_NOT_CHANGED';\nlet taskUpdateType = TASK_DONE_NOT_CHANGED;\n\nexport const dataProvider = withLifecycleCallbacks(baseDataProvider, [\n {\n resource: 'contactNotes',\n afterCreate: async (result, dataProvider) => {\n // update the notes count in the related contact\n const { contact_id } = result.data;\n const { data: contact } = await dataProvider.getOne('contacts', {\n id: contact_id,\n });\n await dataProvider.update('contacts', {\n id: contact_id,\n data: {\n nb_notes: (contact.nb_notes ?? 0) + 1,\n },\n previousData: contact,\n });\n return result;\n },\n afterDelete: async (result, dataProvider) => {\n // update the notes count in the related contact\n const { contact_id } = result.data;\n const { data: contact } = await dataProvider.getOne('contacts', {\n id: contact_id,\n });\n await dataProvider.update('contacts', {\n id: contact_id,\n data: {\n nb_notes: (contact.nb_notes ?? 0) - 1,\n },\n previousData: contact,\n });\n return result;\n },\n },\n {\n resource: 'tasks',\n afterCreate: async (result, dataProvider) => {\n // update the task count in the related contact\n const { contact_id } = result.data;\n const { data: contact } = await dataProvider.getOne('contacts', {\n id: contact_id,\n });\n await dataProvider.update('contacts', {\n id: contact_id,\n data: {\n nb_tasks: (contact.nb_tasks ?? 0) + 1,\n },\n previousData: contact,\n });\n return result;\n },\n beforeUpdate: async params => {\n const { data, previousData } = params;\n if (previousData.done_date !== data.done_date) {\n taskUpdateType = data.done_date\n ? TASK_MARKED_AS_DONE\n : TASK_MARKED_AS_UNDONE;\n } else {\n taskUpdateType = TASK_DONE_NOT_CHANGED;\n }\n return params;\n },\n afterUpdate: async (result, dataProvider) => {\n // update the contact: if the task is done, decrement the nb tasks, otherwise increment it\n const { contact_id } = result.data;\n const { data: contact } = await dataProvider.getOne('contacts', {\n id: contact_id,\n });\n if (taskUpdateType !== TASK_DONE_NOT_CHANGED) {\n await dataProvider.update('contacts', {\n id: contact_id,\n data: {\n nb_tasks:\n taskUpdateType === TASK_MARKED_AS_DONE\n ? (contact.nb_tasks ?? 0) - 1\n : (contact.nb_tasks ?? 0) + 1,\n },\n previousData: contact,\n });\n }\n return result;\n },\n afterDelete: async (result, dataProvider) => {\n // update the task count in the related contact\n const { contact_id } = result.data;\n const { data: contact } = await dataProvider.getOne('contacts', {\n id: contact_id,\n });\n await dataProvider.update('contacts', {\n id: contact_id,\n data: {\n nb_tasks: (contact.nb_tasks ?? 0) - 1,\n },\n previousData: contact,\n });\n return result;\n },\n },\n]);\n","/* eslint-disable import/no-anonymous-default-export */\nimport * as React from 'react';\nconst DealList = React.lazy(() => import('./DealList'));\n\nexport default {\n list: DealList,\n};\n","import {\n Admin,\n ListGuesser,\n Resource,\n defaultTheme,\n localStorageStore,\n} from 'react-admin';\n\nimport Layout from './Layout';\nimport { authProvider } from './authProvider';\nimport companies from './companies';\nimport contacts from './contacts';\nimport { Dashboard } from './dashboard/Dashboard';\nimport { dataProvider } from './dataProvider';\nimport deals from './deals';\n\nconst App = () => (\n <Admin\n dataProvider={dataProvider}\n authProvider={authProvider}\n store={localStorageStore(undefined, 'CRM')}\n layout={Layout}\n dashboard={Dashboard}\n theme={{\n ...defaultTheme,\n palette: {\n background: {\n default: '#fafafb',\n },\n },\n }}\n >\n <Resource name=\"deals\" {...deals} />\n <Resource name=\"contacts\" {...contacts} />\n <Resource name=\"companies\" {...companies} />\n <Resource name=\"contactNotes\" />\n <Resource name=\"dealNotes\" />\n <Resource name=\"tasks\" list={ListGuesser} />\n <Resource\n name=\"sales\"\n list={ListGuesser}\n recordRepresentation={(record: any) =>\n `${record.first_name} ${record.last_name}`\n }\n />\n <Resource name=\"tags\" list={ListGuesser} />\n </Admin>\n);\n\nexport default App;\n","import React from 'react';\nimport { createRoot } from 'react-dom/client';\nimport App from './App';\nimport reportWebVitals from './reportWebVitals';\n\nconst container = document.getElementById('root');\nconst root = createRoot(container!);\n\nroot.render(\n <React.StrictMode>\n <App />\n </React.StrictMode>\n);\n\n// If you want to start measuring performance in your app, pass a function\n// to log results (for example: reportWebVitals(console.log))\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\nreportWebVitals();\n"],"file":"assets/index-Db7Ww11U.js"} \ No newline at end of file diff --git a/assets/web-vitals-OEzE0HkN.js b/assets/web-vitals-OEzE0HkN.js deleted file mode 100644 index 1c9f1de..0000000 --- a/assets/web-vitals-OEzE0HkN.js +++ /dev/null @@ -1,2 +0,0 @@ -var tn=Object.defineProperty;var i=(t,n)=>tn(t,"name",{value:n,configurable:!0});var m,E,V,w,M,W=-1,h=i(function(t){addEventListener("pageshow",function(n){n.persisted&&(W=n.timeStamp,t(n))},!0)},"o"),k=i(function(){return window.performance&&performance.getEntriesByType&&performance.getEntriesByType("navigation")[0]},"c"),P=i(function(){var t=k();return t&&t.activationStart||0},"u"),d=i(function(t,n){var r=k(),a="navigate";return W>=0?a="back-forward-cache":r&&(document.prerendering||P()>0?a="prerender":document.wasDiscarded?a="restore":r.type&&(a=r.type.replace(/_/g,"-"))),{name:t,value:n===void 0?-1:n,rating:"good",delta:0,entries:[],id:"v3-".concat(Date.now(),"-").concat(Math.floor(8999999999999*Math.random())+1e12),navigationType:a}},"f"),T=i(function(t,n,r){try{if(PerformanceObserver.supportedEntryTypes.includes(t)){var a=new PerformanceObserver(function(e){Promise.resolve().then(function(){n(e.getEntries())})});return a.observe(Object.assign({type:t,buffered:!0},r||{})),a}}catch{}},"s"),l=i(function(t,n,r,a){var e,o;return function(u){n.value>=0&&(u||a)&&((o=n.value-(e||0))||e===void 0)&&(e=n.value,n.delta=o,n.rating=function(s,c){return s>c[1]?"poor":s>c[0]?"needs-improvement":"good"}(n.value,r),t(n))}},"d"),B=i(function(t){requestAnimationFrame(function(){return requestAnimationFrame(function(){return t()})})},"l"),b=i(function(t){var n=i(function(r){r.type!=="pagehide"&&document.visibilityState!=="hidden"||t(r)},"n");addEventListener("visibilitychange",n,!0),addEventListener("pagehide",n,!0)},"p"),x=i(function(t){var n=!1;return function(r){n||(t(r),n=!0)}},"v"),g=-1,H=i(function(){return document.visibilityState!=="hidden"||document.prerendering?1/0:0},"h"),S=i(function(t){document.visibilityState==="hidden"&&g>-1&&(g=t.type==="visibilitychange"?t.timeStamp:0,en())},"g"),O=i(function(){addEventListener("visibilitychange",S,!0),addEventListener("prerenderingchange",S,!0)},"y"),en=i(function(){removeEventListener("visibilitychange",S,!0),removeEventListener("prerenderingchange",S,!0)},"T"),N=i(function(){return g<0&&(g=H(),O(),h(function(){setTimeout(function(){g=H(),O()},0)})),{get firstHiddenTime(){return g}}},"E"),C=i(function(t){document.prerendering?addEventListener("prerenderingchange",function(){return t()},!0):t()},"C"),q=[1800,3e3],rn=i(function(t,n){n=n||{},C(function(){var r,a=N(),e=d("FCP"),o=T("paint",function(u){u.forEach(function(s){s.name==="first-contentful-paint"&&(o.disconnect(),s.startTime<a.firstHiddenTime&&(e.value=Math.max(s.startTime-P(),0),e.entries.push(s),r(!0)))})});o&&(r=l(t,e,q,n.reportAllChanges),h(function(u){e=d("FCP"),r=l(t,e,q,n.reportAllChanges),B(function(){e.value=performance.now()-u.timeStamp,r(!0)})}))})},"w"),j=[.1,.25],dn=i(function(t,n){n=n||{},rn(x(function(){var r,a=d("CLS",0),e=0,o=[],u=i(function(c){c.forEach(function(f){if(!f.hadRecentInput){var v=o[0],I=o[o.length-1];e&&f.startTime-I.startTime<1e3&&f.startTime-v.startTime<5e3?(e+=f.value,o.push(f)):(e=f.value,o=[f])}}),e>a.value&&(a.value=e,a.entries=o,r())},"c"),s=T("layout-shift",u);s&&(r=l(t,a,j,n.reportAllChanges),b(function(){u(s.takeRecords()),r(!0)}),h(function(){e=0,a=d("CLS",0),r=l(t,a,j,n.reportAllChanges),B(function(){return r()})}),setTimeout(r,0))}))},"S"),y={passive:!0,capture:!0},an=new Date,_=i(function(t,n){m||(m=n,E=t,V=new Date,Y(removeEventListener),X())},"P"),X=i(function(){if(E>=0&&E<V-an){var t={entryType:"first-input",name:m.type,target:m.target,cancelable:m.cancelable,startTime:m.timeStamp,processingStart:m.timeStamp+E};w.forEach(function(n){n(t)}),w=[]}},"F"),on=i(function(t){if(t.cancelable){var n=(t.timeStamp>1e12?new Date:performance.now())-t.timeStamp;t.type=="pointerdown"?function(r,a){var e=i(function(){_(r,a),u()},"t"),o=i(function(){u()},"i"),u=i(function(){removeEventListener("pointerup",e,y),removeEventListener("pointercancel",o,y)},"r");addEventListener("pointerup",e,y),addEventListener("pointercancel",o,y)}(n,t):_(n,t)}},"M"),Y=i(function(t){["mousedown","keydown","touchstart","pointerdown"].forEach(function(n){return t(n,on,y)})},"k"),z=[100,300],ln=i(function(t,n){n=n||{},C(function(){var r,a=N(),e=d("FID"),o=i(function(c){c.startTime<a.firstHiddenTime&&(e.value=c.processingStart-c.startTime,e.entries.push(c),r(!0))},"l"),u=i(function(c){c.forEach(o)},"m"),s=T("first-input",u);r=l(t,e,z,n.reportAllChanges),s&&b(x(function(){u(s.takeRecords()),s.disconnect()})),s&&h(function(){var c;e=d("FID"),r=l(t,e,z,n.reportAllChanges),w=[],E=-1,m=null,Y(addEventListener),c=o,w.push(c),X()})})},"x"),Z=0,F=1/0,L=0,cn=i(function(t){t.forEach(function(n){n.interactionId&&(F=Math.min(F,n.interactionId),L=Math.max(L,n.interactionId),Z=L?(L-F)/7+1:0)})},"N"),$=i(function(){return M?Z:performance.interactionCount||0},"O"),un=i(function(){"interactionCount"in performance||M||(M=T("event",cn,{type:"event",buffered:!0,durationThreshold:0}))},"q"),G=[200,500],nn=0,J=i(function(){return $()-nn},"z"),p=[],A={},K=i(function(t){var n=p[p.length-1],r=A[t.interactionId];if(r||p.length<10||t.duration>n.latency){if(r)r.entries.push(t),r.latency=Math.max(r.latency,t.duration);else{var a={id:t.interactionId,latency:t.duration,entries:[t]};A[a.id]=a,p.push(a)}p.sort(function(e,o){return o.latency-e.latency}),p.splice(10).forEach(function(e){delete A[e.id]})}},"K"),pn=i(function(t,n){n=n||{},C(function(){var r;un();var a,e=d("INP"),o=i(function(s){s.forEach(function(v){v.interactionId&&K(v),v.entryType==="first-input"&&!p.some(function(I){return I.entries.some(function(R){return v.duration===R.duration&&v.startTime===R.startTime})})&&K(v)});var c,f=(c=Math.min(p.length-1,Math.floor(J()/50)),p[c]);f&&f.latency!==e.value&&(e.value=f.latency,e.entries=f.entries,a())},"a"),u=T("event",o,{durationThreshold:(r=n.durationThreshold)!==null&&r!==void 0?r:40});a=l(t,e,G,n.reportAllChanges),u&&("PerformanceEventTiming"in window&&"interactionId"in PerformanceEventTiming.prototype&&u.observe({type:"first-input",buffered:!0}),b(function(){o(u.takeRecords()),e.value<0&&J()>0&&(e.value=0,e.entries=[]),a(!0)}),h(function(){p=[],nn=$(),e=d("INP"),a=l(t,e,G,n.reportAllChanges)}))})},"Q"),Q=[2500,4e3],D={},vn=i(function(t,n){n=n||{},C(function(){var r,a=N(),e=d("LCP"),o=i(function(c){var f=c[c.length-1];f&&f.startTime<a.firstHiddenTime&&(e.value=Math.max(f.startTime-P(),0),e.entries=[f],r())},"a"),u=T("largest-contentful-paint",o);if(u){r=l(t,e,Q,n.reportAllChanges);var s=x(function(){D[e.id]||(o(u.takeRecords()),u.disconnect(),D[e.id]=!0,r(!0))});["keydown","click"].forEach(function(c){addEventListener(c,function(){return setTimeout(s,0)},!0)}),b(s),h(function(c){e=d("LCP"),r=l(t,e,Q,n.reportAllChanges),B(function(){e.value=performance.now()-c.timeStamp,D[e.id]=!0,r(!0)})})}})},"W"),U=[800,1800],sn=i(function t(n){document.prerendering?C(function(){return t(n)}):document.readyState!=="complete"?addEventListener("load",function(){return t(n)},!0):setTimeout(n,0)},"e"),mn=i(function(t,n){n=n||{};var r=d("TTFB"),a=l(t,r,U,n.reportAllChanges);sn(function(){var e=k();if(e){var o=e.responseStart;if(o<=0||o>performance.now())return;r.value=Math.max(o-P(),0),r.entries=[e],a(!0),h(function(){r=d("TTFB",0),(a=l(t,r,U,n.reportAllChanges))(!0)})}})},"Z");export{j as CLSThresholds,q as FCPThresholds,z as FIDThresholds,G as INPThresholds,Q as LCPThresholds,U as TTFBThresholds,dn as getCLS,rn as getFCP,ln as getFID,pn as getINP,vn as getLCP,mn as getTTFB,dn as onCLS,rn as onFCP,ln as onFID,pn as onINP,vn as onLCP,mn as onTTFB}; -//# sourceMappingURL=web-vitals-OEzE0HkN.js.map diff --git a/assets/web-vitals-OEzE0HkN.js.map b/assets/web-vitals-OEzE0HkN.js.map deleted file mode 100644 index b977930..0000000 --- a/assets/web-vitals-OEzE0HkN.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"web-vitals-OEzE0HkN.js","sources":["../../../../node_modules/web-vitals/dist/web-vitals.js"],"sourcesContent":["var e,n,t,i,r,a=-1,o=function(e){addEventListener(\"pageshow\",(function(n){n.persisted&&(a=n.timeStamp,e(n))}),!0)},c=function(){return window.performance&&performance.getEntriesByType&&performance.getEntriesByType(\"navigation\")[0]},u=function(){var e=c();return e&&e.activationStart||0},f=function(e,n){var t=c(),i=\"navigate\";a>=0?i=\"back-forward-cache\":t&&(document.prerendering||u()>0?i=\"prerender\":document.wasDiscarded?i=\"restore\":t.type&&(i=t.type.replace(/_/g,\"-\")));return{name:e,value:void 0===n?-1:n,rating:\"good\",delta:0,entries:[],id:\"v3-\".concat(Date.now(),\"-\").concat(Math.floor(8999999999999*Math.random())+1e12),navigationType:i}},s=function(e,n,t){try{if(PerformanceObserver.supportedEntryTypes.includes(e)){var i=new PerformanceObserver((function(e){Promise.resolve().then((function(){n(e.getEntries())}))}));return i.observe(Object.assign({type:e,buffered:!0},t||{})),i}}catch(e){}},d=function(e,n,t,i){var r,a;return function(o){n.value>=0&&(o||i)&&((a=n.value-(r||0))||void 0===r)&&(r=n.value,n.delta=a,n.rating=function(e,n){return e>n[1]?\"poor\":e>n[0]?\"needs-improvement\":\"good\"}(n.value,t),e(n))}},l=function(e){requestAnimationFrame((function(){return requestAnimationFrame((function(){return e()}))}))},p=function(e){var n=function(n){\"pagehide\"!==n.type&&\"hidden\"!==document.visibilityState||e(n)};addEventListener(\"visibilitychange\",n,!0),addEventListener(\"pagehide\",n,!0)},v=function(e){var n=!1;return function(t){n||(e(t),n=!0)}},m=-1,h=function(){return\"hidden\"!==document.visibilityState||document.prerendering?1/0:0},g=function(e){\"hidden\"===document.visibilityState&&m>-1&&(m=\"visibilitychange\"===e.type?e.timeStamp:0,T())},y=function(){addEventListener(\"visibilitychange\",g,!0),addEventListener(\"prerenderingchange\",g,!0)},T=function(){removeEventListener(\"visibilitychange\",g,!0),removeEventListener(\"prerenderingchange\",g,!0)},E=function(){return m<0&&(m=h(),y(),o((function(){setTimeout((function(){m=h(),y()}),0)}))),{get firstHiddenTime(){return m}}},C=function(e){document.prerendering?addEventListener(\"prerenderingchange\",(function(){return e()}),!0):e()},L=[1800,3e3],w=function(e,n){n=n||{},C((function(){var t,i=E(),r=f(\"FCP\"),a=s(\"paint\",(function(e){e.forEach((function(e){\"first-contentful-paint\"===e.name&&(a.disconnect(),e.startTime<i.firstHiddenTime&&(r.value=Math.max(e.startTime-u(),0),r.entries.push(e),t(!0)))}))}));a&&(t=d(e,r,L,n.reportAllChanges),o((function(i){r=f(\"FCP\"),t=d(e,r,L,n.reportAllChanges),l((function(){r.value=performance.now()-i.timeStamp,t(!0)}))})))}))},b=[.1,.25],S=function(e,n){n=n||{},w(v((function(){var t,i=f(\"CLS\",0),r=0,a=[],c=function(e){e.forEach((function(e){if(!e.hadRecentInput){var n=a[0],t=a[a.length-1];r&&e.startTime-t.startTime<1e3&&e.startTime-n.startTime<5e3?(r+=e.value,a.push(e)):(r=e.value,a=[e])}})),r>i.value&&(i.value=r,i.entries=a,t())},u=s(\"layout-shift\",c);u&&(t=d(e,i,b,n.reportAllChanges),p((function(){c(u.takeRecords()),t(!0)})),o((function(){r=0,i=f(\"CLS\",0),t=d(e,i,b,n.reportAllChanges),l((function(){return t()}))})),setTimeout(t,0))})))},A={passive:!0,capture:!0},I=new Date,P=function(i,r){e||(e=r,n=i,t=new Date,k(removeEventListener),F())},F=function(){if(n>=0&&n<t-I){var r={entryType:\"first-input\",name:e.type,target:e.target,cancelable:e.cancelable,startTime:e.timeStamp,processingStart:e.timeStamp+n};i.forEach((function(e){e(r)})),i=[]}},M=function(e){if(e.cancelable){var n=(e.timeStamp>1e12?new Date:performance.now())-e.timeStamp;\"pointerdown\"==e.type?function(e,n){var t=function(){P(e,n),r()},i=function(){r()},r=function(){removeEventListener(\"pointerup\",t,A),removeEventListener(\"pointercancel\",i,A)};addEventListener(\"pointerup\",t,A),addEventListener(\"pointercancel\",i,A)}(n,e):P(n,e)}},k=function(e){[\"mousedown\",\"keydown\",\"touchstart\",\"pointerdown\"].forEach((function(n){return e(n,M,A)}))},D=[100,300],x=function(t,r){r=r||{},C((function(){var a,c=E(),u=f(\"FID\"),l=function(e){e.startTime<c.firstHiddenTime&&(u.value=e.processingStart-e.startTime,u.entries.push(e),a(!0))},m=function(e){e.forEach(l)},h=s(\"first-input\",m);a=d(t,u,D,r.reportAllChanges),h&&p(v((function(){m(h.takeRecords()),h.disconnect()}))),h&&o((function(){var o;u=f(\"FID\"),a=d(t,u,D,r.reportAllChanges),i=[],n=-1,e=null,k(addEventListener),o=l,i.push(o),F()}))}))},B=0,R=1/0,H=0,N=function(e){e.forEach((function(e){e.interactionId&&(R=Math.min(R,e.interactionId),H=Math.max(H,e.interactionId),B=H?(H-R)/7+1:0)}))},O=function(){return r?B:performance.interactionCount||0},q=function(){\"interactionCount\"in performance||r||(r=s(\"event\",N,{type:\"event\",buffered:!0,durationThreshold:0}))},j=[200,500],_=0,z=function(){return O()-_},G=[],J={},K=function(e){var n=G[G.length-1],t=J[e.interactionId];if(t||G.length<10||e.duration>n.latency){if(t)t.entries.push(e),t.latency=Math.max(t.latency,e.duration);else{var i={id:e.interactionId,latency:e.duration,entries:[e]};J[i.id]=i,G.push(i)}G.sort((function(e,n){return n.latency-e.latency})),G.splice(10).forEach((function(e){delete J[e.id]}))}},Q=function(e,n){n=n||{},C((function(){var t;q();var i,r=f(\"INP\"),a=function(e){e.forEach((function(e){(e.interactionId&&K(e),\"first-input\"===e.entryType)&&(!G.some((function(n){return n.entries.some((function(n){return e.duration===n.duration&&e.startTime===n.startTime}))}))&&K(e))}));var n,t=(n=Math.min(G.length-1,Math.floor(z()/50)),G[n]);t&&t.latency!==r.value&&(r.value=t.latency,r.entries=t.entries,i())},c=s(\"event\",a,{durationThreshold:null!==(t=n.durationThreshold)&&void 0!==t?t:40});i=d(e,r,j,n.reportAllChanges),c&&(\"PerformanceEventTiming\"in window&&\"interactionId\"in PerformanceEventTiming.prototype&&c.observe({type:\"first-input\",buffered:!0}),p((function(){a(c.takeRecords()),r.value<0&&z()>0&&(r.value=0,r.entries=[]),i(!0)})),o((function(){G=[],_=O(),r=f(\"INP\"),i=d(e,r,j,n.reportAllChanges)})))}))},U=[2500,4e3],V={},W=function(e,n){n=n||{},C((function(){var t,i=E(),r=f(\"LCP\"),a=function(e){var n=e[e.length-1];n&&n.startTime<i.firstHiddenTime&&(r.value=Math.max(n.startTime-u(),0),r.entries=[n],t())},c=s(\"largest-contentful-paint\",a);if(c){t=d(e,r,U,n.reportAllChanges);var m=v((function(){V[r.id]||(a(c.takeRecords()),c.disconnect(),V[r.id]=!0,t(!0))}));[\"keydown\",\"click\"].forEach((function(e){addEventListener(e,(function(){return setTimeout(m,0)}),!0)})),p(m),o((function(i){r=f(\"LCP\"),t=d(e,r,U,n.reportAllChanges),l((function(){r.value=performance.now()-i.timeStamp,V[r.id]=!0,t(!0)}))}))}}))},X=[800,1800],Y=function e(n){document.prerendering?C((function(){return e(n)})):\"complete\"!==document.readyState?addEventListener(\"load\",(function(){return e(n)}),!0):setTimeout(n,0)},Z=function(e,n){n=n||{};var t=f(\"TTFB\"),i=d(e,t,X,n.reportAllChanges);Y((function(){var r=c();if(r){var a=r.responseStart;if(a<=0||a>performance.now())return;t.value=Math.max(a-u(),0),t.entries=[r],i(!0),o((function(){t=f(\"TTFB\",0),(i=d(e,t,X,n.reportAllChanges))(!0)}))}}))};export{b as CLSThresholds,L as FCPThresholds,D as FIDThresholds,j as INPThresholds,U as LCPThresholds,X as TTFBThresholds,S as getCLS,w as getFCP,x as getFID,Q as getINP,W as getLCP,Z as getTTFB,S as onCLS,w as onFCP,x as onFID,Q as onINP,W as onLCP,Z as onTTFB};\n"],"names":["e","n","t","i","r","a","o","__name","c","u","f","s","d","l","p","v","m","h","g","T","y","E","L","w","b","S","A","I","P","k","F","M","D","x","B","R","H","N","O","q","j","_","z","G","J","Q","U","V","W","X","Y","Z"],"mappings":"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","x_google_ignoreList":[0]} \ No newline at end of file diff --git a/index.html b/index.html index e6ef20b..01445c6 100644 --- a/index.html +++ b/index.html @@ -111,7 +111,7 @@ href="https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap" rel="stylesheet" /> - <script type="module" crossorigin src="./assets/index-43HxY5vD.js"></script> + <script type="module" crossorigin src="./assets/index-Db7Ww11U.js"></script> </head> <body>